From 6cb4b7d71b1bfdeb975cf16bba7d8a698d921e25 Mon Sep 17 00:00:00 2001 From: Narendra Singh Rathore <29217-NarendraR@users.noreply.drupalcode.org> Date: Mon, 16 Sep 2024 17:49:20 +0000 Subject: [PATCH] Issue #3472206: Change the project_browser.stage.require and project_browser.activate routes to accept a list of project IDs --- src/Controller/InstallerController.php | 93 +++++++------ src/Routing/ProjectBrowserRoutes.php | 31 ++--- sveltejs/public/build/bundle.js | Bin 427741 -> 310828 bytes sveltejs/public/build/bundle.js.map | Bin 291480 -> 284678 bytes sveltejs/src/Project/AddInstallButton.svelte | 59 ++++++-- .../Functional/InstallerControllerTest.php | 126 ++++++++++++------ .../ProjectBrowserInstallerUiTest.php | 6 +- .../ProjectBrowserUiTest.php | 2 +- 8 files changed, 198 insertions(+), 119 deletions(-) diff --git a/src/Controller/InstallerController.php b/src/Controller/InstallerController.php index e7fb75192..42029ae6f 100644 --- a/src/Controller/InstallerController.php +++ b/src/Controller/InstallerController.php @@ -18,6 +18,7 @@ use Psr\Log\LoggerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\HttpFoundation\Request; /** * Defines a controller to install projects via UI. @@ -330,23 +331,10 @@ class InstallerController extends ControllerBase { /** * Begins requiring by creating a stage. * - * @param \Drupal\project_browser\ProjectBrowser\Project $project - * The project we're about to require. - * * @return \Symfony\Component\HttpFoundation\JsonResponse * Status message. */ - public function begin(Project $project): JsonResponse { - if ($project->source === 'project_browser_test_mock') { - $source = $this->enabledSourceHandler->getCurrentSources()[$project->source] ?? NULL; - if ($source === NULL) { - return new JsonResponse(['message' => "Cannot download $project->id from any available source"], 500); - } - if (!$source->isProjectSafe($project)) { - return new JsonResponse(['message' => "$project->machineName is not safe to add because its security coverage has been revoked"], 500); - } - } - + public function begin(): JsonResponse { $stage_available = $this->installer->isAvailable(); if (!$stage_available) { $requiring_metadata = $this->projectBrowserTempStore->getMetadata('requiring'); @@ -396,7 +384,6 @@ class InstallerController extends ControllerBase { try { $stage_id = $this->installer->create(); - $this->setRequiringState($project->id, 'creating install stage', $stage_id); } catch (\Exception $e) { $this->cancelRequire(); @@ -409,26 +396,48 @@ class InstallerController extends ControllerBase { /** * Performs require operations on the stage. * - * @param \Drupal\project_browser\ProjectBrowser\Project $project - * The project to be required. + * @param \Symfony\Component\HttpFoundation\Request $request + * The request. + * @param string $stage_id + * The stage id of the installer within the request. * * @return \Symfony\Component\HttpFoundation\JsonResponse * Status message. */ - public function require(Project $project): JsonResponse { - $requiring = $this->projectBrowserTempStore->get('requiring'); - if (empty($requiring['project_id']) || $requiring['project_id'] !== $project->id) { - return new JsonResponse([ - 'message' => sprintf('Error: a request to install %s was ignored as an install for a different module is in progress.', $project->id), - ], 500); + public function require(Request $request, string $stage_id): JsonResponse { + if (empty($stage_id)) { + throw new \InvalidArgumentException('The "stage_id" parameter is required.'); + } + $package_names = $package_ids = []; + foreach ($request->toArray() as $project) { + $project = $this->enabledSourceHandler->getStoredProject($project); + if ($project->source === 'project_browser_test_mock') { + $source = $this->enabledSourceHandler->getCurrentSources()[$project->source] ?? NULL; + if ($source === NULL) { + return new JsonResponse(['message' => "Cannot download $project->id from any available source"], 500); + } + if (!$source->isProjectSafe($project)) { + return new JsonResponse(['message' => "$project->machineName is not safe to add because its security coverage has been revoked"], 500); + } + } + $package_names[] = $project->packageName; + $package_ids[] = $project->id; } - $this->setRequiringState(NULL, 'requiring module', NULL); + $requiring = $this->projectBrowserTempStore->get('requiring'); + $current_package_names = implode(', ', $package_names); + if (!empty($requiring['project_id']) && $requiring['project_id'] !== $current_package_names) { + $error_message = sprintf( + 'Error: a request to install %s was ignored as an install for a different project is in progress.', + $current_package_names + ); + return new JsonResponse(['message' => $error_message], 500); + } + $this->setRequiringState(implode(', ', $package_ids), 'requiring module', $stage_id); try { - $this->installer->claim($requiring['stage_id'])->require([ - $project->packageName, - ]); - return $this->successResponse('require', $requiring['stage_id']); + $this->installer->claim($stage_id)->require($package_names); + $this->setRequiringState(NULL, 'requiring module', NULL); + return $this->successResponse('require', $stage_id); } catch (\Exception $e) { $this->cancelRequire(); @@ -499,23 +508,25 @@ class InstallerController extends ControllerBase { /** * Installs an already downloaded module. * - * @param \Drupal\project_browser\ProjectBrowser\Project $project - * The project to activate. + * @param \Symfony\Component\HttpFoundation\Request $request + * The request. * * @return \Symfony\Component\HttpFoundation\JsonResponse * Status message. */ - public function activate(Project $project): JsonResponse { - $this->projectBrowserTempStore->set('installing', $project->id); - - try { - $this->activator->activate($project); - } - catch (\Throwable $e) { - return $this->errorResponse($e, 'project install'); - } - finally { - $this->resetProgress(); + public function activate(Request $request): JsonResponse { + foreach ($request->toArray() as $project) { + $project = $this->enabledSourceHandler->getStoredProject($project); + $this->projectBrowserTempStore->set('installing', $project->id); + try { + $this->activator->activate($project); + } + catch (\Throwable $e) { + return $this->errorResponse($e, 'project install'); + } + finally { + $this->resetProgress(); + } } return new JsonResponse(['status' => 0]); } diff --git a/src/Routing/ProjectBrowserRoutes.php b/src/Routing/ProjectBrowserRoutes.php index e5dc80ba8..77fa57339 100644 --- a/src/Routing/ProjectBrowserRoutes.php +++ b/src/Routing/ProjectBrowserRoutes.php @@ -47,41 +47,31 @@ class ProjectBrowserRoutes implements ContainerInjectionInterface { } $routes = []; $routes['project_browser.stage.begin'] = new Route( - '/admin/modules/project_browser/install-begin/{source}/{id}', + '/admin/modules/project_browser/install-begin', [ '_controller' => InstallerController::class . '::begin', '_title' => 'Create phase', - 'project' => NULL, ], [ '_permission' => 'administer modules', '_custom_access' => InstallerController::class . '::access', - ], - [ - 'parameters' => [ - 'project' => [ - 'project_browser.project' => ['source', 'id'], - ], - ], - ], + ] ); $routes['project_browser.stage.require'] = new Route( - '/admin/modules/project_browser/install-require/{source}/{id}', + '/admin/modules/project_browser/install-require/{stage_id}', [ '_controller' => InstallerController::class . '::require', '_title' => 'Require phase', - 'project' => NULL, ], [ '_permission' => 'administer modules', '_custom_access' => InstallerController::class . '::access', ], [ - 'parameters' => [ - 'project' => [ - 'project_browser.project' => ['source', 'id'], - ], + 'requirements' => [ + '_format' => 'json', ], + 'methods' => ['POST'], ] ); $routes['project_browser.stage.apply'] = new Route( @@ -118,7 +108,7 @@ class ProjectBrowserRoutes implements ContainerInjectionInterface { ], ); $routes['project_browser.activate'] = new Route( - '/admin/modules/project_browser/activate/{source}/{id}', + '/admin/modules/project_browser/activate', [ '_controller' => InstallerController::class . '::activate', '_title' => 'Install module in core', @@ -129,11 +119,10 @@ class ProjectBrowserRoutes implements ContainerInjectionInterface { '_custom_access' => InstallerController::class . '::access', ], [ - 'parameters' => [ - 'project' => [ - 'project_browser.project' => ['source', 'id'], - ], + 'requirements' => [ + '_format' => 'json', ], + 'methods' => ['POST'], ] ); $routes['project_browser.module.install_in_progress'] = new Route( diff --git a/sveltejs/public/build/bundle.js b/sveltejs/public/build/bundle.js index 72b2e9d392a7047b50fb6ce67a8300ce721d3002..76306422361db0e2587351ae8b0d2abc219e1a53 100644 GIT binary patch delta 20895 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 BB-#J~ literal 427741 zcmeFa{dOC-k}vwVX07uMZ6BQ>?QPMP{H+})qsa1(&iEt8vNLxtj~7FUEtxSzYDmhC zM&o&w`z-g#?ytUpLN}Ts{k4;vc<mjryMaQXP$*Ot3Wa}aAD)g5W`pslJ-k*-t`z6R z;IL?48W#WcU&XL<RL*vW<#9QheSfywZ?}encjcrUj(h#-!DMhUYhAfgOv>5mWc1f! zQanJ7gGt$&m0GFYvSRq$=}pf@2Pm{o57P<#Y+b+JD*jTmr{(alGaMiE2$Rm6@pMM* zx9H7~o?2Hr)05#~)^2UKuDrVO8g*KmH*eqFxPLvO)cIxl-E=fK0g4aSThz#)Pi@2! zip^h>o=v|$d(k_3+B+`Wtv6+_&kb~XCnx2ozx`$~?6*Od4_5@o{`laO$Z_Sb|Madm zDNqV61R54?5b&Q0{A-;~%VIj43=U?kzy1@yGC~)l@%V%a79Z00z3FstG-}U!lWPUY zW1tA!_3OpI%%*GjJf4(Xi{2iNCq?^UJOZ`e7K0I23LmKeK)rhV8W;i`e*86jlrf|4 z@~(o(VA?&IjE@J?vi+_%JS{ycT9w}y|NPIz?Chi*9~Scb-~s48-v6aUx2qpJvp40a z;1Wg(kcQB#wBGCYyT%LcQrPcWaX1*3*NWj_g#R9lho{FQ{C(3SmJQv~!kun+`mP+# z%I<MF>!JIx1T_cPo1lIZKt+cU%i=dV9kmZfzFnos;iwJ1;EMcT>t?Y(?2X=bg)V_b zsGL@O#uU@J(;l4;hj}<?x!W5K(fZUkkH-#pVW)TSri~)`x)@W#r#*W!7#(>C#t$-< z{CSa)n)VLM?r1#gmj7|u8@7Abiv0}KUUBI`(JQ_y_5l<B*~G&o{)IW-ZucCcV6Yqq zT_GW${H0&43$3J+!*WI}-aVZR1(j}Zbns@Z%x!hjBF0%=RJ>N8rpKIRU=E@$L<5*B z1BNp(Q5A<h!<*^~+c!b!yqT1T00qp1r>LNglkz#C&IHS0!S%D;2u>)EPiALrFr@EK z%8YNzvniM849n5c><u?`BMT67f6#~2?@nhBPi_A1wPFN`>cJCD`4h1N@wgjze&3m% z?vsSxFPS}BHf}8sg{UxlGa0`xM&<irXEGU2+CR5e&#AQ!tzs~Rc%6a4q^0)*Al@rl z0dlK=NO&{u|E&B&;A9*sLMYU*?sPgGEJnlq-oe{s^2Kg}b9w4k#Ep`bq<$R8IQAmH zPe*8w1T|4G5~7{78mlWzuGQiHD&fAPCFsGoMePe-Z_3;35FU(=PsSrGY~9%L@D9rn zp#^!X1n>hAN_AFOJL6HeUt-xCpLI@7r*GO3SQSDte{G}-(H^?f;ds{WmxqJVfD{5W zJp1)pvAQ}v7@q)*RQS>W#IhbW8eAbS0qg<@C=8W`;dk+6R{nZHJCWoBOvxTwgDTQC z*cWlsat%8ss<*oSn&!^oC@g%0+;@d45K5;G`rDZf2M1;Q%C*Aby#5*sNE=_TT)C1! z*fbJT)hwIDKD_CTj>@Scyc?hXU@|+KKTNMSv<vz1f<T{=7!53d@`N-)zTzlN9VZ5` zK63#URi`7aUG}RjP!%O9HIt5ToR<b!*B`+sS)9%j;!$~Fw&QYgRFdZT%4uBmnf^%; zh*W%k(wn{M9QS@ru~&HuT?g3dL#4+Ah?PGSDF%Ra<FEMh4QfCS9~6Iqj-Bf@RTJc1 z4M;0Yh(@oV@}o`sN{K@CQo_(1rJ(>!E2M?BVA7g46|2Q6x#Chz$^>C?dLoMs&F%dj zbXA&(kX7^?Ij1T-WV#CbUaLuiZe6zc3RS9l=_29;WQ~(VCCmjFRm&3&kuXGR0?;{8 zNh3hDpU{A59=h^Eqzb913CQj)Pmk^)bo(yLQsX?|FF&0~gy{1BZE<tM7bCo+`#R@p z>>gO1wTHlM4(4^hOnchE)qnuT{>xvg2oMt7yfF0IdI~Kv6%|y*;_|UvETi8INQH#u zuLr}^e%T#h)tHQWL$Z)grfvSOM@xD=DW|8y8JOYxLu{&QuSwlRiV*SNl7UMKa%;7f z3TWvCK^C))0ptujX<k~c^n=#xQ|M|aGV^`7R*=S*?MbyCR1jSw1#GXJwYlEXy}U%# zI&XT@_S-A8nqAoI1^PV8_IOGwJ}EF=Hd0NY!*E{{v(<N66)<#*3%iM>?14YoR>WaI z);lH}wBK<*(SGH9;#S}ySy+S7w4BTmSl0?MX*{k9Q%Zkdg1yQ%0kyJZJ~bPYeb~k@ z7^{fVbLXTtfiC!zeoo5c@w-wSAzU_#v1)zYl0XhHL)eouCB1`MshFF&Ssp8?#A#Z| zXo|$bnE3TMl6>y;p`{oSf;`P5nHH7Fp@vnvYP;yzH<)!?I!hK&FnhC}AGSQO7tlqC z;B72wJ!QKJcGHs{DRXtzkeg{0W?WXPiLuvMt)bR%FrAen<)`u;*x_1%#il<j;hq|w zkY1ih3+5ZRZg!~XW3F6I+D#SXI4Cv5Y+)e6am&D|bogY#&5{z(gRE?D)~MgJ5F9;u zh&>oWM<G2_Ku#J^nY>qyzG$ZoM{F~azXel)K{^n+GE|W7&1Msu#rQechp^7bDVhc5 zbCXG)tRs$)TLz^~pc$S+q8!3eNx--UL|3jjuSOyd>#ab%X6hKq*=a!%IUqBw_BLUw zJdIWHD8->Wp3rinPBe7k+56FtSezk3&mP7i(!(yTd9!i1>uBKD<?@U?sS&v<Ul6I{ z*H>7?ph@Qqe`18}IG~bior(z$&@cKI#sme~mT66AXT!4Q2cfdu0DtZrOs6D7K#B^2 zak5d3i`weSGTGdkvK=?A1o)^Hv1afl0)|h(Kntk8>ws0NLtx$h*tX9T9wul+FXcjz z9LuLo6hW+Uu!NMA2~4{7{$SL{n%6y=j89Kg?cm?n3MDT&uginCsd*}F9q6n2m1{n? za5CHl)=Vyk<+5W9*T}#PcOb*tp{!!-P>Ae9Q{j>UbBhvDR6zByp3chlJRmA5w<eR` zS%(ahMDMDQ7K+5M56#4Ux1KZVfNVE_Ydyu%YGzUeDoLZk2uiUI6#q8)<@&|%J2pD{ zS6!Lk6|EK=Z2YoO<nc81e8$DE6$AL*CbJ%Pm3(VXz~|+QoBFb3n$RPSJUe16SW@<P zKtKl%K`G$SgNvyZaHa0HOn0Cm7pm51JH%d4SM&wiLc>#rv^l<(!W~sLE?{t(IZ_q^ zFs)m2Xb|U0S!@;AKt8A&1Jo`0r)32yyLM)i(=rvSR8Dv>eJ=!|ukn|nXYh96sv_4U zEKkxYMq_QTn7$dG4*LZh;#QRBY@Wv44<)f@Bq5Cf(4mMl`j69ca<<0<16O)$QztaU zKdc9-Wn%!lH1<vBTNN&3c;%ImSgKZVpN)@>hGq9)2;Zg6YS}utR>(Ksl`x~JIO&+L zqzo}8#1^xpOoi5K(c!a=9-P9;JMOYR)+Ya+m?;D7fS(upr~CWEk`#)=9&{sedXEmu zVGl3uUGV|G&Odm}gveB)Y9o+3+-_}ilRNa_=S<ll7q|PU=qM7tal_F~Y#jn+#1FE~ zOfJEL(+SycaB-_wU&s(VXC(1zWw4X1rIU_TL7|JGV3xYH{?&ndn6hwG0jFkMb&sd@ z$n<sEguomepU$R(ei@O0-iF-*Y(@Pi+n%1xN~juES^USNC*xC$S?URF=#_4I98(S1 z@(9km3a4ve1aZK_0W7&0CfX!1=7fg=aY5*YMg{FCaEcle&*52Y4xJ|}zcy=oTYh}0 zcedv<eMK|H2>@!JMluxeLrfp(AH>;<XAhqh@F!r~4zVM}bTB&==RonEU+^@XVjNY} z^^H3H1WkoT$~h#=1VJ8Tvy9drK6`SdC`a!GlktcmGrp_U(z!{Lr_Rlr{EluP+(hH9 z;6I_OwyzSl-4Ef<uM*a3nH3mDwr&bq(Ojd-yqB0x9kpqH6ce}XM_wQpafzWPt(mS> zd8-o=VOzb`tO0{&<W%rO+Q5v=BT|}_b<#Z`wzPW0&ZeMzkoT1tf(9H8zG<zz00t=H zv>$1}c<^v=bP5K9;2^$zPw_be>_WeX;)S)Qn4X@H8piB{Dp-3bGje!{-46R5(Kb@g zYCso~=oG8d1Ic?sSwf)xW3z?)^MmOz7YO24q<fUN#t&{{f`EwX3H;VPDTOO4Q*-XL zMBg&8M8q$lxd!$&M)vLuH%o-tx(rDNWWOOWKCP;@DJBKXPzp`gN?;-Dmy>RDfx{to zn&*6nqkBAjSN1KW2`xa)rQjy`Hu;l9?a<O`n@W(*{Zm?JR1Xl24MRB9?_DXM$Z?|n zr79fH&P40#ceInvQz}$NokOVF+~Ew}sYXDMf~YE_tE_01uhaR<7r{#@T>+PV%tHg~ zaWRmK#uGw6tU8eE#8#MO80}4)Q0tvy3sZETecLa2zc1E-Wirz8g*dFIS`xOk7>WjG zL*c+I-{fXO!wiIk=>&c-X*|?6XbQYz&~6H}-XZ+lAAwY-*!h39cYb_f;Aq$&TO2qc z44AKfIw3iNmD9AFLe-ONSUm>^2yTHyqt2l4K;i*FWc*vQOM3$-xskNR@!;r<O$Mi8 zv5f&yC~eD<4WHuC5mw_K0&lROTdxQy6017kQ0LK!!|`x9eotM3bNOUi9G&(i{i1i& z!yX2NFc`oO{X^-!AAQ=|IMd0~kBCi+_aw?;D1lEw3bc#n3>A>0CWw0EZ~(Br)I8`> zz$VFWXbBTq5i0n1itkG<<bZOINcw>EWWj-b-<Bt{pqlb`Ra>S174VGo$>89v1A2O* zdJ)wwdz0Y+v}I(5<so1n9x~QP)I)fej=%!wIrq=eqf@*{`d?Fh#n>g3r#%QqhDlq3 z*hA_UQv%+j0V%5#A(S1q6l}#iqKBm0akv##x-3)XvW-4>Aj}`kMw0uLnTRqY0%!b0 z+lz^`2=y`llr`L(na>$dpS{5D#XD9)2gzJ>ogpeyd>3O&G=ZXtWeV&xI4=Ln)R=-l z+*$*L2YP{8BGhq3*a0<(j93FOJ2<O^amg}hzXV2u@kIJ1>tO|c++<aGPfHZHG3b-W z0C69f?hnVsRZ#9~K|6H<8}o^bBZpF08W=aj$`G!p9?TWdfJ9q07K+MUf9&d$^dUh% zm`p(&=3GC610GXGgi6yt)S$^I%c5iCq!7dotZ-QXi2&c!=C!(ss;e!vAOsG&2zpc% z3a^Z^6)T5o+o!+$C3c(M)4z+%>3R+6X4C+oM7sr@V5XXUz6H0pOI7G!wM$A5W|f4L z)}Q(pC2~zOGtwqtsLguG6AExQt%{1!Ka4QgafJE8ON}`jro4m+LHfckNejdnZlN{C zosxuu^g4zVk8)XB;<hOC5Mjw=^a=1OVkr~IIj3VyDU#@yroCutPx;DZ#{)>rRAa5V zAE_2AiRo<TU<i{zI9PF>U`v(gALxOOKtiW$=U~Lqk|m<s5tfpzS!oR`Ww6~V%qJ~H zgP=N;^gU(J^r=dLEEj$tErO<V1J62~{Jf9S*BG)wDCTTes>X~FS78i<LS>bG>Scvy z2ScpLo*MaySrMMv6KU5NSh*4rSbn65E#P!Hob-;!nZX;cxu9Z{Q5oXML<rjv0Td9a zs}@S7m@utq4HO92;h(9XvbPWsuh!NpG7%pGlJNPuM+B<j2~l3~SW+NprDc5M`K)*a z4@$;haW#c@@?XIntL|h>nq+p3<gXgr87R)XT3z{+SZwkNkkTnP*(`2cOQsSIj=XxE zzB<_?1z<9s(##aKr{IP{#k|J_Ja>RIAzU><h9!f%?<A*N{P61cgBppbkmB<|e{?kN zyuyE^=E50=I1cQ7wfAu<<}G4Q>BLo)A^97{Xz`EEz<&?zVJP67;{84@<}jl&TD2_= zL`L%i8wSduhQ1`Yi5vXjjjR-;t$A#Sb`@;L{ySkpWtc*QF~y$=x~cn_3X0b$qDt>V zMUtMmehTe72VzZQV6$$)0A>!ws5!zltOynEr0?{P%1D4yy$e#psNZj|S4PFYTN_@q z**6)X@Kk{y<2r5}SDpo7U?qUaJTVkJNq!iz!4H#hk|{nLzvVb-`r5IFB%spv1XLEv zUJe^$9L|{8X{3G-#T-luwPfgZ`sG-FYno>UGJ|d6luLLIhFlPO=76h&n0g~6p#g6x z%lNs`>g>%>P~o@v=+c%6b|_*25*ZBBK^1b#!~ref=cm~&G*Y!69i{hI+5vin5vb3j zvh3rS8Jon3-^_QJi6K)b!_i@ExI_{PWI*U|1QL(FnVf)p%1%0~&rLAZ#cVghRuvRh z-u|Y`N1g6gj{fE)*!r~s|7#KozCQh~kOFEX2Lm;du3DdA(9{u9a(xaJn~yqGOWC6e zIJZmT%cM(Nb8Gola?tA~GocKILgWpEe&!@z9U4=pbC45%ZY1L}nS&}Yj%C*Hh9I50 zVPrIPw@!(4!qgqWDW<Vwn2p?A3bDd4b#WE};E)HotmqU-10aW5Zes8xuhJ``8-FoU z@jS7L{F-?qBB<tL0DcX-K55q#tT@P7-sNRLUSF>@Taj(VS-Qk93B``ZROTmc&X$@K zEvlGrGGn`cz&;S2XZ(_w<AgowP8*6kx2Mf!`n)je)K41dOH2?bRom1~j&G=>?Co>g zb#g_{p`uk`0393cVDFA1a|h$o>F^AGJ#y92m|W-X2}hHn$R`ntf$ZrKIQkc6iLGq3 z{xjZm;vY(34sAdBTI^bJBSSLXs+>2KV-GVztQkA%;6<oq8Pld*oz@E=%M_zU#A!SV zFv61_$$x{cCnW3k-uDIwh$Qo(yAP9t&IbS<^!I2XIz2$;fK#66ypSGaj4evBbLi-@ zxyK<n1UD9`QId|9^El@y8PpmGM)a2FG)YHmAi|Bq*W3d0VRf)7O)&po*aRUXE6Yh# zy;93M*>OD@j`tC_1k5=o1eqDI-O|T#X+BUC)XY|}PQTLv;l-vMxff9EWoxQT-0@uz z3kD$cVN*ZoED4Ok#t%;D_wB5(aEGaHaA3VXJ@LeIOEBtMxn^ZbASBjkrxFsWIOSOu zWwBk%M_I<u;hFq<qrU(t5-}4*fG6{1_m40CO^(mmvF@keA~>K?0!!XGLL<0uCh* zULofX!OPWH3sR=X7{l1SI=dnpvc8QX)Nb}8oeOo-L1qjA<dvTz+`KKNKDNQyTB<j= z8m}TcP$r3_#J+=wleB@28>Jb(+IBxNMEopd!e`p#dD4ToxC#V@@vKK|oGC#)8^sC^ zb0<h*gJIsG8Y>e*Z#n@@2}Nkw2Cn^B5gpVj_!Vbgr7R5uvk1y6=cQ371d#rbxVXe6 zJ#))9HPHd0#wr?7V-m5_I#n0>P}5$cprS(IP=T^-BM$K21&XDDhQQFj6fh09_8a<w zU>jLLtPbgQ95RAJ<RA*uCVu3~l=-Nfa6*hN;#1ST{b_qptofR3?fSFf5lvw{+PduW z7Fo?@NbN|W{-8gnOpsxELN7a-PFyux3^HcN8Vydupfa$Iq*4~NLVgumM=K?%G8jin z@wQt^=+W9*d=ZJF(`HPjeoe86Q<cF2yc^OH2w(LFONAgHP$B%Dz8W`HAgD6U0(_Dy z5#Km61W$?v$n~PcQ~?s3%b{?N;h|1q?~(!+p!X$<7qzQ|4e&Y{;!?S>CosLBe+kv; zMWj4Eh3R;S!0TX>H&VM<Gmxkf(3S9JBCZU04QbVS84iz~ElL%xA$T>!n{aga5xN)# z4i67Aiv6heB}ZtTFM*U5WE$GF$;ja65oXbjs4OA*Y}gjxnuMXZ^BM`*knh*3r<_Ve zUB0X5wLy%8rM3*IdRue)9Z6~v9V>fweI)QU%foL>+RBa(FJIJc#|)u3>sLA1%_i7f zW~?DPO5s%LIejJa$FY#wF@d{u<3}I|nGKy@(iD+qM?5_BDuB}rL@i?`k3%B@j%tZ8 z<fHEnhum(m*UfV23j$1lr1k;5?eOsE4gAW+Y$nU69-+sCtPU;}szuRnON<SN!t_s( zQV*6&$tVA59q!RD1ilb~eEd9tio--tL<c@8h98ayQb-MwKzQoX6b5^*Z{d<d1l$dw zQj3k4czJ~;@&RP=Dyn?K;Z1U$(AHV@d+z{oY0#(<uSmWW9O=-^Bb&u~p?h)E1=8C{ zlN4NPD)dEKC8_696)H|TGX+n|@S^>zmEdJ6H(<;~ku69!$`vF0c|Mv3HL9fYp#t{L z5zKZ3DtR)fWIDd|rjAQZO`u}*k8w!|FWOi|-bi8juaL$N8u5>mjJ|XoHmIBF1=Xqd zr2Zz19KbkJqFz1YqM<@{+BA;SqNt}x#;5qJ-l!YeDw`ziA;iw`NID9^JrD;Xwyr`} zYDj_VM5jog7}R9vxNLLLV<;@nmMBIb1ZB}-0(h5BAmfqG%}p!njg%%=M8MO7q+v+_ z?L!Roqo3Q*h<)Q48n+YC<^v70U$tUJxKXtr+tgeO4eO?`V|-a!ZIdZ(G6-b@Al@;E z0e2A}M2>1s5!pt7H$e`Q$=L%>0--8WTWa_S#ah9dfi&b_sv06vk^-t!7PIFpppVW+ z`WP6p5bSs7IHV=1?P@T~H6ll3g95AZ%kbJ#hSd<U4WArVAU?q5<Gm8iC=(*mZrV&! z84PtL=A;9s89k78>x6S<LZ?Tf&`H~+$8<wZIMYAsS%l+BF5l(9v4rgYBTkD{lK46U zInFPG)F5%_Gsw5oKcYBo1S_vaZpRsxskytcd=HL~%l-fh`|vD{Rk0=j=a_Qr4hL^h z26^K+@|iOh!C~05h&~&T!8B(b5ipB3`iO3NmZQ9Z%%&J2?=Ye!{0=}QmgnFO<l+uA zmUf0el;V}SrV}AQ+hVd9H;ILvR#z*+D$W(+5Elg17`SB=L)k{Y@Nh8o++#y78=@1& z^aY)?Bi)F?R0@v9hrM_RJqywONM40ej68#xj#wF#qm4eqKO{2^z@V@3F*^kEBHI<> z^}$cyrJ8xt2T;Z#iYG!O(uYvQclg{YV=O~c8KC3d+ftI1c{zxU{quk(5j^1`cF$7k zEb{ZO)e_+G=Q!eeKqWw^Oic?3G=;VDIaH&?f+3R}8Mgh7P-ND6=~r-GA^91Q{I3ES z{};UV>%}+UV2vyO7roB2Ey>5&XNYvk!b8K0;Xzbwa5S5=CP%bp=e>pz#li~V&zY@} z5eq3r%&Sdff)GDXU*UKOXp3Y+!P;hN9OV3dVd%aiV#9m__&CDEGS-nzW~Wq|ftPZx z!Mn_?fl~;M^gVeciVPqiU^WFDX_i!AePR=C7oW^It%<gWgTwOR41uCaT@!Hi_`xUz z^4|tX)HfO-Z9@HX65v_?>}6#AE1=S@1NyHnc;%*!exT$3?b`5vry-7!BUoJ$SlID- z_4>+{8cFDM)fv0k*zJ`N#<a5Oe8S4!OHy<Cc5u?wF_EMC$>+&<jLuo7M1`V0Rl7v^ zQ`u12nTW|$AuT9*LGqqzI<_X8lI&dCH(;FN+z7(YCTnPr`189khcgpgRANH@95Djz z0TT7oxf7@tkkL4!n~ipo8K$8Ss1SCE&=x(Bq}(Jx5k*3T{^?pqvKoC3vq8gpVa!sl zR}$so+~+p3?gs;Q3B}`Z5m3BP^*ocljgi2AT%jZ@jD5GigfCM)U7qYS{cT!M>Ya~b z+v=;~QzO-fv^iq_2oAW5fbm;f#u{mKfKv&Q8SVHAa^+{{r=LYxo1T;hNOd5JAXGM_ z48b}0xVQ)20vaYlNpu4Nq<#!<zN@~`A*Ni>74{_>r<2Jq7DOsv;>}qf832<6h(=A} zOG-OKjx^qB!f}Br>_|wf2NIMB0~pQLkRX7vajcPhevK{!z<FkbCQ34?H7Rs`G+v|Z z0HlPhAz27=fg#X2ki~#{@>DdfA#crC${?#ie;N0nbZY2rig3zA4I2H|?$HGsgns-$ z=E*o^Z|ZrvvlZ5L5~0RZj%lgJ9IH0vrl8Gq%*wUzsX>|2xfX>M37^+Rs?uN4m1@_o zUKI|xT6|9y7H6elSI-__ClTitP9MFTLTyF{ixCX3cMo{B=<%Yf*BOe`mYUmk+R3Rm ztF}{9ok(@-1ZyWWwQA5Iz3mtj%%!Fb^Q*YrMIxhZv8}c!bJD&_@CXC1rT<{9KpL)p zBje3fR~mf!7l4XMY>yQ-Q4u@em=E3}b=gdjJO?q1&kkdVe99fvK5=z)9KkH8$$%6~ zx@HDRHn~cj<W4t;oVH5a-m9yuVpb_j%`3T3idMc$;ra!uQmsP>8HwGhnM)Ahih3mK zWXQs+h<E}PdnLcB9zILXg3z6JN!A(PiI4)xO7CzIq)g@&&Dp4l>(2{1h7UQ7%wjh? zx9)Xrv<fIZBw+_b#L|Z3ObAgz{w=r$lIa^<X{x0$iVf*_4KwaXOC~8+&|OZv+oGn- z=|<8%aY6|6;02@ac{F6>N+{*fpo7YEIY~k>&3UsJItC#@OIl0NvT}L!WZ~i#xerb> zHBjd{rvhf`)TkoRc+Jc=M|)v7J57T^l{M!{J*O<ap>Sas4ai`n>2BmDPN$#H*^v_@ z44~!QQ&2?M@wh)Y#DRGdVY+^>JAm2cyW&;rpm&1Xs>&AWzE<G7!et*+j->r9(@CJ( zrn((X>I{;pXbGr@;A?4*G?lF1T{CdC?j@qC3Xe+v7-``FHVofZB{^>x$og1>#u642 z8WZ#}R!0dvyD&v?ltpudd;`Y9a4bC@Gy9a2rI9A7rYL(=TqU_kxhOf1_|vgy$OCH8 z-ENM!oT0U1vClNNYJ-VKEM=0p{ob-Hq^{4QsbpYC!AzK?0q&kl)tdvV-3+iR)S;>8 zs6&sGV>d$_n&GePI|T_c4I){Z@gtTdpbkBQa{+c(0K1esn=vHU23C$r=52ZgGDy|= z7ycFz;&mEzI`7|%hvf_WV!6Qp63Pk_$BNB8d5FeBFR)?-i~@OyHR*Ln@uEKhxk7kQ z&qXd^E#W)p+W6r`Aol@=5V`OtM-uQ$SI~`)_%60fRGu^t(gn4Qzio>?wdA-v?omQ8 z0HAyDgf00uj;D0ywsrnLDN5i2c2ux~APLuD(IEi^vTIOo6<B6(kx_?lHk)?zrZ<8? z{~W4&XUF^FAyYfv_(ZrUw(`9rEl>(B!OYD>0SQ|Jh~es!R`K`oDfG@!At_xX@_<sp zKz;!|$ulD;Q&LCRI%6!!f^`*983=2k8cu;0b+MxoQnqR6=nfC0y2iGqT-{N>Z^3Qv z@{J)_gOKjU@>=tXMDJ^ZLd3lE-}F5w#8$snmhdDo4kqus?@dPSpTE(&v%ZBd=%B>? zj+6@qJFMle@G&5Yf-fH_F0Y;&%nz44{`Rcc^Y}|>u!K1!nPaBo;}V&NaK|CpRBPo3 z$3+kL_Q{&PMGN`@=GMdVU4aRPa~;#7*%IS*ZE|{m<Tqi>ukaVs*c1lxj9xPHR6UEN z+1snt)xn7T5?Sh3dFXOWAn@H~lz`|zP6w2OM}S>+{1xd-zvv%Q)=>`0D2*b!nq3H! z>O2u(Tql@~zA`}+J3%c_O!IjbS>T~oG;e7mvNsezmqICVqb8@Rskm?0a|1VxvSWf| z-p*3x4O<uREm6muxdM{Yt&_EH$>E4_9oeLd%pkBJ;&!8B)@}BZ(Vpnf&*94@U(?Un zQb1-TkOx_jV1AC@Pcc$G-cj2>!#ME8b-W#8Tv_}Jd=0&0%d@0g+q@1+SFc)$^F46D zY!CX})A5Ye*AM6+<dpoE(&CV^M~+y0MZgwR-zmE#e7l<SL!A#nqaiG*2cm^Q^blmv z6RMR}nM7~m+brHs2D3VVctu?pw?w0=k&~$TZwe|$&3$ZFO1Kp5Qc|B6r0@CF2OmVk zvhab$X#C(a5;;pFFc*1bJgsT@q@j!xmPL>8&%PKgv>^jc%}>oRoMh$GW;^%MgQm$# zLaK5lCzqqcCRU|dhw2IWfUcE__|a$j$Dn~Zs?$!h%m$?2p+PzeEFfj&ztS`EZQE44 zRGogcm^)wJuZDIn<b>A42qlRd^mXZXEcOZ)-Z>fBTu?9-do5Ns^|nqFf)pjLhfCxN zUC)u+3Ue<l5>an)i%ly+Ne-ggC0qu|{#L7FlLmV|@hV1@eXnp&9HRK=5GLO>YNpzR z4kS2UF9<bU>~9@Z`X)ZbUxDX!A0^Gl%xGXT;8H-D3$7y>7y)A%7TPdJC0403vy?zr z=OwKam71?ph6pW8BrrBUJIn|)Po==o)6R78pIC?xvrr3JpwcY)>0VHXZ6tSx=!W)@ zdU~l?>@qz8)9i-X91EPPMU<y@crL!G^n%Ja_T)wr%TsTf=A!nr9yUTvrTxpQ2ey#W zfoqE_#(HOzw$NXJ6qpOyMoH(DOTpk|KV<IUIJCNuRj$Aa#mV3=iQi~2<-ZET(MgMw z<}mHDQ3N)kSgJ~J031^+P^YgGNxCUw*4<Dk0DGq}Sg^l5vT65C;cn4WGK6(sS4HUz zc8{5dYCFa(f}o>7@vQA!6aA%So@wM;^E;jNnX2otXnd^*0s2UZvqng5DQjXnbCgVS zIee4CNxU}ad^RB=Jx^iN`;>R+jbfAIL_r1vCfD~tyvTrI*Iarp`{wc+?1dRwZ;_Ct zQEHq95M0tkrg9zKhW$g=6VTNKFdA&x>8FlJluI4av@JKS7&hmicDD<&TU9t!*qNg! z?LNH$2O@;|X0KHc<%1NIq<kAG|E{BGZ1v9%ivN}%sX>NlL~-Ku^gbQxh5eg?zj6a! zAwhF`7DFTiYgO?G+Y#2JAcV0=_xtH{4jY}hK{Sc5te9_9nKTO+A?;*nGDK-$b2rQu zT&Y&l^{bbPtDp1V|6qZ(Jw7=@l3*khZXaAJo(v9<Ep3ckw%g+gGOn{d)A=9&BxQdr zCrAlJn?U5Tfd>aMZK!??JIQeE<1b8u>*OGSKUgj^W1AHzYY%5|Xi$n_N=1Ao&`wU# z0({k+m=+)CFU3Y4mhk&b3%Y**=GzgcW$gzXUi`3A>^*z*;@`HO?-aXx#gEUQ{j~dV z=V5VqYY)$ti>;>*3o5kr^2HC&o)-^y_qHEz?LOHnwjMt&Q0w{D(-*rtd&R%)zW6~9 zdA{?vt>>up4D|ppLVvpb_~pahr+?$ByH9?6yo+`mh-Z(ACp*u#e*na-?{^>XzWBQU zBorR)zIeK`x7R6lpB7J_6+1ueJbh8@{Xj@K?7rVA9`9~_|9Gc(1YEbC{=L}yac6sX z>+v-p{(NWq#WjJr`&1tb6x)9GbZ_VXyaYfLEFNw>+4>v$qxJ3a-+tJ7vG)wkJ};i{ z?7e*ag8K33`Libi@bR-fRC!dq+}lA@TQ9b#K4=NF_pTNH_QMX4d``G;;eXpNcAq_^ z(rEd`b39%vp6>kZ@$TPto^J1;qJVtHRbD)Mj?yndZmxB$*m}OZM{PfQ`GP>889)V~ zr|2DlrEy@A0F?mi$DQXO$dfIG|0o?7umVlA&p8#Y7FVwulZPqZ)pJpzK+KR8gRa0r zsHWt#6D$Z5Uj8UGF|<E8M%n*smqWAi2(y4~iFZA?NNEkmu}}OVaH=L?>P#q)DXxjO zyL2ObYXh~>!X?C^!p};T$%mB|v!a)J*uq5l2fBR*H~nl(zGcbQAvYgNcYq9pWgSd! zA`xU%3co5PKEw*{r%K7$m;x2y41rghP!?6J5eMuP3$*HnHc5mZHJ1#pAV2knrw}^b z<jPK>YIh%9?PC7`s`|U}pkLg;`g;BWYiqZM@(1*FzcV^LeldPA!BD~K4!`Le3iz7q zR1wJ|x}<TTA}tn%2pK5xiN2$dul$PkFS|&W+a(_sYOC9D8y?dmV4plv39&E&+PohM z2-ML-ZGXD+AE!NBfi#dG^cJ6dtATCX=<q%mLsc&LcBtI`UvZWMKo8?0PHgL_@D2E~ zsuNZHp{*x4-9nK@V0Jj$pf}=iJ>>iG`<!v<hD+ja<%n*b#U6zD^4VEH#+Ab$WGLsO z+z3Zy_cEz*J_H`%XaJZM*cXM>R^#cl2GXW;6$-*k#tMrJSupAa#9SfPp?FKs(-+i~ zHkcU^JGX@E=|id*wR~5yq7`tt6J(+XwTD9oCz6Qp5OoWf1cy~BfN<tXdyNoJf{C+7 zaI|Cc1jB^Dh(W$B7dQc0<cqqEE=^i2WGuNVAFA9y!iAcED@v$Oc1~LhL-lr;P*M7a z!J>KN5<Qc&)UJ|70FOFCCHaI5&N9Hl!IBRiQ9chn6KD*NBHMbC!E`)A+W#|bM({nd zFe;%+ASpcG`@$^m3fABd@2B$+dj#4j`S7@Zh@=%vsc$)A5LPPkv}7C$!#EDIy#Y<I z+fRAs!ToS2avP*j(F;ghWEO@ejUL1-6@M$`#*jKV*NxGybqQbv5(#Xsj-8dr>ejmA zTj4G1GDQzdpR;p7SuX9R>8aF$Q(uWwEQ?q5<UlY)HZgu;<4dbpV=Zl{F_sf$aX28& zu0%I?8q{uQ2a=hP7J+;~5N&A5dY>EP1WG&BacEg}LaIWV*sP-rMoP9Z5^1P}P`?5z z4460*Y%_utCP5lv=?|<CN0*4r<;Ve08C#60s4z}M=|HlL82i*ERiGxl5R*f3l*<p3 zI5AVIcnalNQF#VfONSDkOLmN&Z0$aMvGbIa#O|{nNtxU$9_YO2PfkyI!@Y7ggG&eJ zi6&#-f!d#7cc`48-*hp?h_*2G(na;;h>KxwXZz)IsPhqQaRESFMu7`aW@kBQ521xW ze)i)NDC`m7Vt8V!wH%I5DBXAt@*b4!2=YQ4acNc#3Tf)V@b6tFD2TfAu)F(kQBrES zdw0;ECS-+IbaskeZ@mRg2)q3Z2FXW*4@5qoP=?+SZfH!P!?^1HwDtJq&fZ7j4^={Z zaS1m(+<CMG1FF0C?B#Q?+Tx_qwW)hDJUtp9lXrqFIP5ubgh1Wv{_D=)7iM3bBi-rv zbaDXyCB+wr<PkD|zqPm1efj(`gu&0N=aOWuL)pD)dy*!@Y<w^tez<<U{_zdYo_<(8 zud;h@_NKFsxa*gbA;srZW*2?Mt%;<p9}a%~@UzF|(MycVlV=ZKKHlm6xCL8}aWV`u zO;xArnC|-O68IGG!>#B4+TDKk_}TOB-u4eWPj&*w9#ewLCv?oV-D<<~Iw<?t$sXb^ z>&>EfFoRF|O6v-km9BZ5BAi9%Vp8n{UBQ;0)LWw?hsPyWtKQ_TtLytIv#9&y<ClNi zB|%gpQl(#li1J1<dOvP$|0_&-Ovk7A^Za5^WRYSvbdP%@{F!*H9_>DUvGaTZbmXY@ zl*~0s>%k<!LRE<ih{rnQu3<XLffx?>XiDV!T<e$Qh$}}2gK`=`?CI`&yeJp(yZf?s z3A?h}vcJV6^P)$l-2dKt_7oh2d%xflXO9y>p&5^SCA+ioxZM)^p?C|r8L+O+QXvC5 zxTWYLK1@CZbjw>pT3{1+nOa&0O`I!}RADWEX%&<pCW;}uj~Nf5lA{6Ec^$jBB3Iki z0<u97>%R64D1}*2L<$5OBLS(}OM-9IvfAV=7C&-2B+#a0NRo;OuVdOslpEZGT%F7n z<1Jwf_6eRKvLDKSum6sg<UY<d)4~5~ok?OB79hNVlS;}bHjr*<-Q%T-uFN)l&FKgA zkG2eL>ncPQxlgL&3CXn!V7EYQ;dAYR5?hNcL*`1i=F?e_A+=|la!q)2=s+~%ogn-Z zmWln-AxtdDMu+?yy1AjCMP^u=t0()|vkaPyP*jH_UfGeM`67U8)oOt2<FyFfYOMfP zhT3Qc8CmCJO5AibhVE{o>&Prj@Pt>jZ7nA(0ctzMngo-<mO23|ne#G|aK~fGtO2j^ zVGadl${c`YIJAP}d=5=0C@mvGR0;UbabsN?q+O_RuA^n1E7M;3+DcVhCvsHv#r-tN z4X-borLZrMqjQ3P5Vv#iUy$PPnecs#d?^5VX2`U}367G^c_3kGkM3*aE5S5wus#I4 z(?@if++&nojDH8Q0+E@VlYG_*4qG>3P269pEr*Rf@4Eu^VR6XnIJn|D!dK7;q<7U8 zUFQO6=?4gptpJ2%kLnctk?6mWD4>y2R@H5N;Zz<$C%T0v39j~<3M|uIZfHJFNz0;6 zhz?f~H(RFODGs6NGKhpq%TV3CP*d2ya19SRbh=LWJ^H*5-3gG=-CN)_Jq&)siiOH3 z)JBF{R;o~eWeCEk%paK`U!ircy~mY4IM|KrtuV7y%3`6fQ^Qt|Z7IvUCW}$WWVf%G z6{xv_^*NhEM2VFHunh5X^_O8R+o9mdV~VaG(tgO{7>6lKb-l{8kO}yRJ}gE<g|Q=B zAWFTK9@G$+X^}eJxHTnIT6P%{r8So!&J?%t;SOX`|Lgp<$DjB32+U$M5r9%7OA%k7 zP7mLpO*V(aGDPtWElLtHb9nY2z)c8eYA-_)%>8Zsx*$nhjYR~KUnmI~*IGqd@42r= zE%$0EYPougQj69|lhoK6Iii@pcZ2eMooM88!fg#@|0jH2jB4WA(JIDCf13>Y$^1%6 z)!8X&S1FWKS%ySO#gC#9FZmR$nxPOD`#p|hT|~hmKvY`kvaZpKQL#`^6@K|qs~IKq zaVa8L%Zn~&;1SvJ!gd)a)hiIqPG+m80e|>Ecz^a21rH=9E$zPX1qZ;IEwt-bi|ORx zIw`Z*Ht0+xv&50^Ui0RpoKz~_$r*UWjZ{qNa+N|mF4w_a);7X+OC{mU>WESbo3m$y z{8s(JJ58f%k5Ka%(G?jF%M2~H`N|5ez^s4|M~qfhRtOw$(^ac|8P9fvNxt5g|FuKs zA-5@=6#Ee_|9}54`b4{as7+^I`EVzIV&D8SC)l`*AH83CzplaKe1t9QX}3!e1^YNl z;To3d-Q^m%Z<eb!)LL6R#1=Y|$>64M0KatosvPFJdY$h1z*z!iKSHSAM>1@z@bGvm zR2btJ9VCvx?IgHlY2(g)SKQ%`&k=tzg1`&iZi3Pr^r<#(Ko}2CXC-jFeicD(e3R#v zzEotxemRh>l7L}&!hJ%=0n0jm2iGE@`?v0fet!^$*UHM!bI!0gkjoFkAr8V3Bln&+ ztas=ltoCI)QK$KY<gn@c@#O8)EJ@mdACHJzNI9Y>i~tg|AgqTi&7Y+zonR6}?&r$M zx|NlH;ITuH6W4@n3Teg$V4BJ8K&)TMxIjE2+4kU?A`U?T;=Vd<aEol1Rk9r{$-iH5 z;<J#Lk6MO9nO_$FjDZil8IFaZNNucXwj{h2C&?0{t{bB@95T!ojxyx1Va{8Udz;!` ztpD8NNAkM(&>fcye9FL;m2vvmcLS*hAoX@u%<v$2br_M@1PQR{y-UVHY!VqngrDt} zK)z0~ONI3H#88)Ip?F>%QF4UI_mD+zAr4GZv*fnPHvnR_)u6-2kyXA@=-wuzl1-?~ zR#jZ?_!Qni5Gr0kRDS73JGUtkyBcYSDZ@!Bu?Qg{dpSI$EOL<Al#`N9%wnD86FGrM zv^;V0b~-tY!w~cbs|V%4(~Rz%yI6tfGGS1<T)f@VbruQ_zqm#zinOS}uW~P15MR*; z{7PX<1!1{4#bn(y<%JWL5Z<p^)uw<{OQ5x|pCWYh`9~~4P{=h#C&I(g4dJ0n|D84z zj)0@=6*@+bzcJ1RQi8AYT3zLo00fVpi8ie(e99x7>izi}rQNq8T5+O;j)$;hJsrIr zjo*(rt!B|$JqMr<EjtyyLID`k8yRTi2ZL8DlC#=}I$<dK)Ow#VM;oH7O2!DdQ~hK^ z%~I27-3%OZB8;v!4|?)ZZsnOU5v^y*nPgxh=U3Y2H7o<@I(7Wf<=B}&0+nd7QbH0h zUZ#0YK{A(<F*p}ySuvV=dRTSvki51bwG}}H&#UUt8@(~JIBHBdQj)SMV>hJ+c!;b4 ziWAS}d}@G|6*+#dI*Q>1)c{#~=^TAXX-BA-?5m~dUB!X3^w2J4pQ`qTZlYJ-<ZCR# z44b<mY)4sc9fAUHFQE?+mP-7US?}m6vQt3LD|v#rU(qgxqRoqm0wW%0t=&cmTk5qw zIlG~z_yyUsiQrBw5tPpZ=iiI{648*@27m?xHbUl+5Q!MN6^M-_7RYdHN+Fh6kzLr; zM?4E$6IfFyy0ulnZPNNi46#k^D)#fW(DiRyK@+#$kTk1~kezcfW?rUC1TXZ6PQJkG z{F?ot(GfZK`yLbR16%Atji_4{bC~NNHxgb*@xeQ!K{<v>^q=K3N%KvMi}oz&0Cq6b z!b4HUHWclXo=(LVIU-@FRRxqxQ#oIvUyN{skZL1bcB-uhZKMq+<1q(o2+vamx-?B9 zn_tmaY)$YLk@S;vO=}KOyec8^i<3gDd?E<iC~P`%wA5OCHNd$C0tTzd5h87yn{8}S z)`AdNZ72(Nw#17XH+{qDK1h;MEIGyiDUF~f;J;9&9(>DUF5nD32x;R`;EF}<)83<Y z$Ubg_k0C6qQUcXEF1M}F3%)6lyG!lTb!gAtk4P|5sw}z#h*dpmSTEE;t5lMoL~Iv@ ztr^lWMC!sv@`#vh2IB!eBUjb#Xg2ITb)S&2=-mM6_QsPA@}3`^!hvRR)RQGa0t-5_ zXq2RVb{M=xv+T!8fLvDfF<8WOffQw%Le_CkTE2Qey&B6FH-Q{(uLN*dDyse3iWI)S zTE9=cNqGtB?2)Wjs!fDK$`Zmb*yU=kZ{h^YH<D}kTXaTZ)UaZUakWF|5FV<LR!;aP zv28&bJTrR2@iAgjhTf@J20s#d$OhEvM&hTFZt)i&jHcA&Ea0%<?DYlQ2l4|}9{r#o zdFjySFc=fevNj{39@K?kFMb|k1-Q#tojg=`Ha2hFyFx5S|Gt4?Ex+*J3Cx@amvQ~Y zY&^Og-eUKX6Td#Vd?UVOmGQylll?WYEM`i#dyFI1gS9@UA1+qLF*(ekHQT524{K{= zQ?JP;Lj;KYrUyte`}V=P7z^j2eVhw^Gk*WWpkK;-z<K5H?L(expel^AOp|f$!gYYV zu7oe>^X!I1B7>>g*RQUou^xhfIudWbR(U3szk}!Lg5q?)&h@Lr<K{SpGqUr`7&oGl z*(+%fSCC!^1RuZeJmhHK&aB<q10@fTFhHVnumI35!C&BfNHN#>%H60tu!(BHpDk`* z>8h*79==lJrL{0;wsd7!=<w<X8ePAtNS#qKO6%6W*RMc~5Hz5#H(r}WLG4`bz6jX_ z6Lp2(@<eBk0bmHhX=krZ1qQ%F)5JswIyQ8;6Z!9)@6CaegO)04;(JKaCgB?4!}72r zU@N8qS7ef)`AM4t#GU9}*gBx+pn1cmNjnF$JJ2?^HNxQ=?Kz-45;w<}<Y@Kq@J!$o z)0IY&3i%spy0Q|fHw9JWg<kM=8g<-e1$Dza`y1s*w>#|ZmqXX(WPd^6Km?VmI9j@X z7rP7ht`)cL-`$8^ZrULsQutW_vNX%HZkIH-X)y;;F0i(C8S|1RIg7=ga7z@N?8^VR zT;jW;^-kWka4NL*X3$5}HYT%9ujcI&?%sXw-tCRMw_JtF1_}vr+W%28-dxb+Iu*X* z30wgfc9a_XzNoNwxKuWYpgV>^yn{i+hRLnFH|~TAUw1cxxGFU5H!FnQW^t>+e*{0F z8?)%9u74z!1K`g-+m3ak&7E^i<{f#QE~#iYONKTfNDq>%#jgw}>`0N{Tyj!Nm#`;? zg_*b1_*WO_sr$onV#59=j*PK)IQ^qn-cUOknES)i34<JuzQ<36b^BvLLDMIdL!td^ zdG-)b3h+(?z|h^WngC0s5Q$W{K*E%)ZFV&6OYshrqi?z^mDLU4wNEt+ACZbatluCP zp$T{PO9xR8JeSi@R#rZnj<T|pmI7r3J_MJD7=AnJlba7Iy?Q5uCrLatXcaVy8r?)Q zBXdG@rELvlrZ>c3^f$7`t^3K=U|iKf(~r|=z&;BrH8deeZHbaV7T)Fb7(l6;c8lpP zu3_E;NEdI%!Du7>);VbhGmy4zVQEK6iKX7VEl{~uAN0+sTLGpAR&6?DD#`)I6`Ukp zDRV$L>(AwE_If=;$Srw4T>s{%H&tBvZ71iQhU3dAICMGkmo;JXC+bEi^H<e}brJ*A z!9-)BZ7S||^7bF8$9UdZRPl;qZetae`_H^_yrP@W>^Et<k(c{4z=ha$4st&(2kuS~ z@RVhm($zCmQ0zaem%&@IIVS^s5555BW4Or5|M!3YchwN-SFoo|CwxF}ZzP|@;-^=i zss|=uKi2LKonG1ja_`ROIwf4;RPAO`v-SEat}m}SHO5SawCa?Kj3Yj`!1N^5F-et! zSjLY|PW3W5k@@tD1IabRd%z#qs;+&T=^+D#!1j=9VYVLp71yu!g9U#7HM5I434-ZA z^KJnKMHj-?Th!=7ZgGxJK*ZQbn!O|#CC<7U634{wpZSHeQP}Q<HlEnF+#O%5YC5t- zEY`9TEzI4O*#>G>AqEM??ZZwY*A>}I9LT>v{?(yWD?8|;qztQ#H=3x7(V!nus6ohC zUe>bMT<O#P7`7k$1?+Cq2X(huL5DD-*69ZB5mX%q=CBRIQEGE(luKZRGH?N{lJ5{w zwR<!fpPo$3WZ0nWyOL9wt2!ch%aFf0)9~J1ilVz#+`fIs+hAs}@_1u((0`D=!ri&v zxMr&`=FxtQL9fkzojGzQehI}S*tGWz@%y(MOm|``oMM;~cR2xT<0efuH3ymFsRZkJ z9Y*x++h4?jz9^henLg51n1g$QP#I*bywFd|{$^ZZmatU>n1&CMDbf6mM<V-K$Eew0 z2Vim|nX2}&Mzk_9WCo=n!}wBwBCP`QqH0YemNtYGB!+VaPSx1a>2<fk=$#Mub6Dht z<L|{J5B4M|cZ*bP8JQrjS;4Nn%gOMd0YE*hiSf)r5E-(`0Entcikg?t4m<z)A_OVC zkV7SHv~&#!%asEb5k&|On6@)t;y3mtb#jQYj*ej?>fGj+Ht-qcL?bq}VGl|alQcZl zC`p^=tWwoH8tnR$wX`BL*huEM<ocMh42l|<_;;!=Ygj;O@N^3drxGo{{>72}GFDcE zf6=n9w@F@9ELj9_(V;WAe+!nGHv)2&8GR2%inGj?GCu-<rLCMVwj-|@pR?Pm6+_^w z@5xti%MFVb350bc^EpTs;4U*@Rr}Je4PHG?A|A+|L~;x|SmW$J-0V2)!@KHUu^e#E zWb}!Y6_fOkGUc1x1)`=G=y`2KOTdR_FK6SoCGH;euMlYi_v*nLMD_P@$)1%|(uR=w z%4k?Ia#@5j-oIf5u%S$_a}gj`gjXTNeBP681(%ELOi*+=@@1Fsj@O*Xsv_NkiZmD< zj)SbOu&ypj^UrnZV1Ssxj@4IAQMd8&rR<$6#$)Eo@QZ4J%1N-8V=RUW$l6NjJZ)pX zb;a^`K|9Ir3KJzdyv3Vr+%_yMWS@`~?U1XL47Lp0qO>)7!A`EOUBP0yP5Zd`-|bts z<H{16F#<MNP4?Mi=<Q1T?u@3}u+U&L-MW1vw{@(;isq1>r>Dl)wR)UJj`$h$Be*~( zIojMMUEp|)=vDkOU5gL#m%VmTG-B}c3yZ69jrxv<h9jMC^4YXoH~%j@oEE5|C)reF zCg;;a8RHp8*?5Z0KC0K@f->IZbW`uR9l`KxK?_15-P7Q2tODVaL`zx4(1Ut?`xJcZ znO#f-J9cS3DC#Hd@R|^j0tRbEPUUrb?|XxpXawDT<fJ=z1JnHwiQ5@ix=R$=|I$as zbmZb#Fik|t^<78|zvfj=DII!8Un=jugpWTi_c?_nguDmUBB(6k4alquA$lvnmN<HL zyu{J7IlI+LHc~O7q2piXY(V{v^<3h?IAKRSE$O$!5hd6B(bAyD(;VH9@Hq6bxjLPo zQ}g!Q^n4YJyEz>Pi)h6V$5ZJ~us4Bz_`MLep>#8HShXU(FUBS9zbsfas><tyFwDbi zq9j(E3MF;PtkaMf>61@7YDY2$9Yx_gFGO?VLz5DAsVphqEm9bC6@9c4%N*p06vu(4 zS-CBt&8ULicztNM_*0-Lb?(rIh@rIZGRpi7HbFJ`H7M@>cqp9!tb)6gya<AUH~iC2 z0ptqoh!=xnq!gV=ls)aBYdo%M#CXw1Ivq-kOesNkWCLgV{n<8oub;v{(rz{SuUl8h z?a#LiXvOU}gJHkJ$!-EE(L`7zR#tA`u$E&NRz$k#NX6~<WiU(Ql{LOk5u|)U0Uh%q zg%Oc}k~R(_jKZa%a_*F0;o6BI9SVJcD@icQbk>2^Z@xn0;}I0hz-2RJ(4I=;X-nQG zbP;bbtA&-(7ByWuTt_uxrrKA^Y(<-Ilsq5DEk?oAP$onQ-toyA1!YM_5KkSrhM6WU z+(`|GtB?#A`GHm))`lsLn65FAj(TQFhm1m?&y6>#v&2|qMc^aP3!g!dI}5_lVlTg> zEbCU<hI$1Z+`<iEFHf#hEE)H4di`LCSUEa$m*kk7*Vo=~1`1L)b-+UBaqMXPo?y3# zF9gZ-<I9sT+(GUcZaP4637oF8jV4?v#rGYIq3hwkcY9qQ$Hj)s>f;=B80@s4LWJ;9 z!P2>+kx7>hp`rp~5An2gYLOhZtQJQeNLcA201HT=k7k{hCv<~E6J3cH2T0od6=(|{ zie%4H){yxm>gIubNeaI}vT9+}@!_EgojQvKMniEhU=S9xlP7~aeKR<uDe6Ab+~1?u ze?c%zoDE{17ufT+cCriM_h-9(UI58Kf?VfeWivr_kwB_Qq`0;bUes+$H9)tuG3pUN zo~^R12L$u0jjYkIj`-dL%cWdd`3&8Uo&!5mBmuyIU6GlB*gR4B8N`V+=?8kbWpF9Q zrn(lfVw30%7&;ESu|=gv*Bi!!Hr2h`>Kcm`5IGH5YlLp-6-&~)_T;vAv-UI+loF;4 zC=FI%^)ap(9E^Iy9a{c2WuY-A>WZyon|Yl)l%v#Sbnhw_KIDeSRa(X!^stM(^S}D9 z{30nrnag|$dJY93Cn=8!0~a<a`_J)C+X$}RaHb!sbV;Y7wsjrG$tme~&}R~2L8YY} zX`~^?Fo9|bYLGM142B&-D1f?%gZL(>FbYwyEX&SL04=10%e>T9f{<Z;o1;F<_xXHz zSi<|hH5@8=>9BD`PM8uI#gJYK`Ai=a?D@gXk*L##H#*!dAs1DwjVDKxgY4I{>&j~Y zM;TFcaEV?9tTTQa+fgY<*KKi2onLV6R8-q+N?9?xc{fN)!L#Q4CnGD<J;SFmLopCf zk^uDJh&Xd3sWsA}Jq<aa9gkvTPz0xNfW7|{rNskA;f)??m#RJ%F>s^8kgTRwzhX}Z zBtdHHnCRb0HE)%q$GO`9AwdzgGhdOw?RlLW=Oui)bKh_Ww5!62y-)_^lsJiq)U&{C z8Hm*I6i%BvCaT8ATrxuPG#3ykPV6Ea=#Q9NY8|ZElO1f{(g|`ufE@qx1rrNBVt2qN z<Q0<MRzvQnzpui<ODRJZ9^RY$r(VwCqE}WfkS$n<5*m{RGP$`?0V+L2!&tz&NnoG^ zPQXW(yq#iEMGzM9u~?X*K52|d;HZ=lr5R?yECN=|q=?WYIobpqQ|@c9FT?6&S$di> zAF060`jBiX1XZ^6RJ<0~`CtWd-OPXUbJ0pfSE51>^IQdw6->o}y*1Hp&*C?;C-alp zvtMBCoviM9B+_1{gtfPNW+#vVDmvMT@pI*nj~1*8cdJp8()MAFK(QhfCd$z^I$#?r z2~P@|Q9c>h_}orlJxdN15_yRHZY2b4VgK4nUP;~68E2p+?n*#}iD2T8M4UAai~LJw zrm_+9KF|i*eFDJ^;%DWuPvIq!oQ70Rc-ptBB((R5loA?3D$^pW(u`ebg|OQ{Ae9%c zY1X)nxT}>*<uzy8Z5H=A5sq?*NtRr4M@m4$c}@|!7)+k9Vb+++OQ;ie&lbw$C8>H8 zC(F|l^i7CvI^np0x~Thdyr`|NcCd5z>b{O(fCfl&p<#Ck_s@nN*OO{V2fwYS2_wkZ zj+HE7Up1$eW6|r9?0Juqz+V?!x8x$Kk4u>I3uGoI%$Wo7vdTDkQQGUAujc%JLfqlT zYVsr|7Z{3q8gv}x=fR<dydBhnvQAX-q)i<<BJLiOqdUpr8#$lvi~2J+gX1Ij2~S-l zwyqu1nR7CS^=d-M@CJ>pU*#wp4S`yJO}@cO@4D-&(mz`gL^<MJb3i!P2{1n{>I5ZW zqSGEx`|^nk!Xe`LZ}jXw$7~i=Ol_rVh+h&~ddRix2eh;qDXs*fB;iikBS0X%hl@vt zaEM2uj`&!lLtfU_a8QA+SGyqeNh+gCx%!Ko+(6*d#w{1`%BBY~!0BYz<(r$^K%|2= zh+^}+0aPz@0*cz@k4P4CeQ*p%2=+1F3{KYAF}F6r@M6xPPcZC4ZvYaV0d$H8_u%6& zRLWwb17$CJ()h3=2524Jz#cG8sNBAj3$&7P11LLbRU63Aawr;NsH#+#64KQs)C`JY zw+`%x{P$z>i5Ss;(mcjZ@KGgzMi>D$>o;)vQ0I2s=lrxR+h}A?2ot^%i-ksgUJBv8 zh66OH=tGs<u^W65!bPAB6YRKc6i$Pf955@ur)^knB@tNm8BB!MQ~>cV_WYC<E{}y( zT3JzG@r5O~h;M@6cZMw7H{9Z2+O^LJE@frxha?%s23=U*@TEiI;7qfiV#AX+(W9#| z_1mo^p|$vyeGXVV%6v*1ix2=NF<U|2ujIqOXw2jB23uT^S^;`Sn(ZMY&<%G2Qu`cR z7P{-=8<id&5LuBaCjkYmrEzAtWCXSVKuk8Td&+?{;0ixYJP=+-*7lrhZvW7JIx%bo zb>P!n0tOy9(u^@l5x|Dfh)+Koe{$jM^>K1dhc5IOy!XyB34?EBo(BK@g6Y|fDys*% z7`ee=Q07B$+=W_RsIpA-9IKD_H}8NENquCNpRX?ljmlU$rzM6%xV6l0&r90pEdE8- zHtcnr7cG0(tZQ^1EG=Bn|8OusX4=PSa<n{n^@pC_N=NC-<vevb`DF6j&eO^Q6VJ9H z`_(Cuhn}rT>MI8<IY2Ab!pbR$uWoI`i$lUR__UQ%+L^O>N&&ki&P66=!e^ZnvcZ;R zBO@b8_nzsn%b~N+%>!77QZbCxyfRFIh@UP?h)zMA*bbAi-shA6G@lli0oAGcQIp=5 zd|NbvYhze51x-$Mg{4$_*X*!CUyU%Ngsa(~8MEv&7-i`)WOyb9kiAsoY2qKBAeC+$ zS93%Cp>D0oTZYHgdv3x?oVn(vLb;kc9wu6o)TjsCi&`|7QM@*k4sX;lq89TRw4}g> zOXx@y($MAd@C!U0_e&U;s$nU^1wMnAHSO?&WRz;^o<Zn*q!RV{4j~vO&biQcm)u0| zA)PsU$BjX#QsYZV(<s7nvNX6*gSZT8Rd}<E))WM2xbk5b;_-FAf#Tc0)O9zH*c-DY z&KRgr4VT`)7ua;Y4eNQ0U%efeDI|*5MUm$9UFsGtMnq&jw@p8MGr!HdaS}p*!cMmB zi(PO-4(Ky?6AS|yHq(%FKZq9+CQ8=k`f%3Bs7Da|oI**)q!}38KE9+w%fB|z!E!P> zT(GO0c&}}Vu6h9NJuV7R*~;Cq2akunlPz8;{n4A2fA~QnZu&}_rgX`Jj9S7@%{zc9 z^Zo%Ffw=Cmx)F$1^*ep&)|?yKD;(%f=gDTV@m010l}ur6TWCjc$SbGLr8qq_Mhh1b z;KU@YC%V;V3V^Hzl!Jw`nd{9u9eKu40J^C}VG?5@SCBIm=q$-8;w=vcBV<y71$n7W ziv-CX2H>N!sGV?a+2wC85X}@(T>g53jX?k=Sh$3(--_0`#mcZZuIjDh^Bh&Ym`}eD zY680vJ1@)B&f37O78&CCl3xhdqzR9*ILUOdX#;rxZ(HyiG;QiCt7i6ge<N2wp%)A8 zPd9hvAGb{{Q;$Z2dF+ocAkvXP#F+TG^hX$)q(8so5h78hD?~21<8PGvalz0Io`7aC zNqFw2-W3JUAJhRXnn%O&J`&H!iYjH<Q%w1@>v15y^~<`r27?qcJ-tNfp6n&j<{|tO zK^{vhAx$+J!t&mDiP9acHg<;+Vpw(Q54B(2_21X+yM_jZVp7fMN^vXqHgD0!1ErR- z`?KIn;S0e)09?cKus7>rBY#@(ePBHEU+1?cT>2{Ra_A}fDn%<%wCRO;s;e<1=!o1x z!;2Z0bhQMG_?+dxrrQWPmy0S9Xdr9|Es-~IO<if;kC37kMhqZz-0;$ATX$?!aG5b* zH5W49rJ%ICm5V#1jBfo85Y&NeHWc%4^RsVYSW9!ZFs#UD+r)^x2JLEN&Q3<EC@Qne z-Iq|+m(|R;Yf^7e`s7(la_42<SBBN=$Sb7ja$up+=yJ@3SO;bHIrg6A<3&7SUd-VB z{q%hnX*gi=C47TkG~~R4^gWnL!7=!;(kVdtD2HOz#(Z1bkxBD$vq*FzsyRMS4w<>4 ziv-&->3AWBG||H)CZX+4Ad=A`1kVN%b$-hiV%@7>h@}f<>@h8u)*Uk!KSs`Dz`T&h zqm%GFe*QDRa0Pq}p@@wagPFU5$uMk)B$QG24agg6!DJK82j%Y_<MnK6S3J}%9;@A@ z;p0k-VlICycMTC|Xb-`4#y&5Qf?V0>=Ihv-5Ef^(VpN=E6uTe{Q7eLI<ti;%@XBzs zT3oVXAe;~dxKTpXC6EjC0(Nq)8hOtoVp8eP>CXIbUGtNhrqY`PBPqmhvMLZQ<@hbS zkxm)HQ&9W@@5b;I<5B>MLBRG@9~T-PAWC7scks3iLjwmfu3r^&@>!d2<Hj?TZ%dgl z4JulJe05rZ1_a_Vny5xt-~{LNj&T!8A5Nnls3nWRRH#Bp<J?3@!YLRSK=8;Sm;z(F zekW!k59`w(YF`&8R3`{SE8m5kTqeUDO^LtrJa7XNv%KjHX^58O$_??7{7sqT3kZ^9 zWxVR`H&Li4^9sX+(n!I(;4A?>O#IRGnjd-j%8DlW%Z>YeB6LM7JwT|^?RHZl^avgK zis&S`?N>lATM5uzsbK9np8=I+Ewd8R$w}JtF`d~@7YB95AYW>-8phf1B4V$Xf}$!c zlJGhP<1KwvS%~qh#~hH$8exZ(B!4vERbAW`RottY1{p!J1UXw>cn$k3KnUe)sxnzF zE7g?vwic@!*C1Qy7Fr(TOh_9S9j($}^W9*}sB{>yg|#}A<rpD1!mMR{i5tPPikoYg zXGOFD=sM5f8~~m*E#^zy2nHM}F&HJIjFPzCv{#_&Uz?<&i!KRAu27o^{@cG3jP$?d zCQ1;ziz#bOQ^l4Fn=Eq>*`WB?Fk@B7f6Cg!?xi?xL0|cN;XC<|9IV@s|9*FuhlL=Y zw>dNZ%Ln<qT_VWGxJwn`AUP!=sA?$)g3(_gkz(jYCe>%C)s&4A2Yswvtb5fYo+Ob! zQvyo%K{rPp38K8FX5xng4=F=SVq+0eqf~imETxS>jAV+4!Jdglawt+PQpAQMle}sa zKa+&01}c#gzk|#gQ;V6P99jRsd>cG6pAf1Pbjz$N>l997v{#Y-v<sls*k{B?gMz$~ za#P7;p%3As50-1gjEv)9MNEua4ABL#REia;Y`hV!5iL!b1%y{)Xq2mN2(TXE8KpTq zD(L{vL=I;_2Dz}QVFog(Z>@yU=b%erSDrN;=;VD4WoF)HlyOW@`%Dw5MhLt#pdU=P zvXQtTnoGb=&8TsdO<$2Hus2C>>}ABy-WU(c(i~$}46~*3P%sP3AwDbthkKnw#A-&P zKY2xm#CV0+{3`{Osh;M>%GgC-eFC2upsZ|^c6FOgrIpWK!IJrNN3LmS2cyAE4`Qkh z4c=?y+k<bYTzy*)UBjzd=$e9BafG8#w)8a-kHXsQZ8A|2-WEP66v&Ou;-;346Eq~h z`|MdTn95-fW}(10(I)FSitg~)0^b~6)gy$%GPxiwS8$0Ku7-s_6A0(wM+d8|uPnOE z<w3(8_IBnVOXa>Gt_;2r)r1EX+ot$9zj}TVgcD?1jX1~Yp$Olc%L}A<E*=%RG%FBz zk1Cs|#t;-d=2*t5fK4%d(tbT#%Wov2&v%CP)M(r<+oRt?V4rk{rpO;<Xt*zbfRRaL z!S8=?((e2L#wQBl-~ZsazWi=ShL#;&b<(g)$%C~wp3D}Ex+F-VzJV^~>Kj;VK9I5o z@8UShyPqSD@;-S;C=?TW5b6N9Fi7&&4HqQ2It2~3C)gUtwQUp^32pzvct}P)ta0Rh z6B|J>pck_n5_$&ou3yDhRZ8x^<_r32F_AZXRb0kM<mL?@0qn!r%mDnD$QgkKoaRJG z-oR%`*`QqrCV2j8K!JI2;ABFCL0|j0XrNpYtRPLY_W-PjbWHFh(3R#l?tb>fN!HYy zm;fu%u<IW_$8=p`ccSUAw<M~GJ0$6rWWuvxED5kQhLc<o_SDRNwJ1vv(YO{vZuaN` zO-m0wkIoIXMDaKqDmNAX8E$FzJ{^10*u}Wjx_URaPeb2>fgZyxFP3wm(r1aR{AJn5 zN-yWc0ptYV(!rDnRq?W1SuDiPV-5c;$4}m^$4}}4`CE&h<fw`Tu9+p}0+-BgUVOQ% zjJ;o#<P90nCWd(Lofg(=z{3{}sicc+iK(I~zmhCO8et+T(Y4~HgzMeCe>1L`A?#B6 z6eA*Yur0JNlpXXbYhnhATFF|xB;l=>y-N6>k{OgdUi*k>NrI=7O5JS#fS5=u_BSc! z^jdN6c8pGpAwL{O7h@tVc68nta+NTGSOoFEyMKm0k^-7!S!6mf!#n1Vp^yCecNg54 zFtrmmr1ktmLl}bu5FY_YP~$?NI0rXy@qvU2CVxJAFd$Te+-<)XsD;5evY;zAq1hOk zyGo<@!V5LZ@`4Z-35n3Et`OYxoS1t(k00X6fMxB_Uv@2a4gVHG;(+6yA#v4oddzJI z;-QIdW<FN2o1Q^su64zX@uAOE>A+U`pFw8j5gab%WYNr=A;|2PobeLEvw|@aEST`- zqs)`ATl>p0L1r}M&I(ERM&AbkC6Q-T1MyDuXQ7xgDc=-u2IYg>gb=Dmn`PQHj@I_= zabY~H0_E0XG07MGxHMZ7Ih4>KgBJ<mPmY3%4#eglIHKGOx^wgcW5E$XZmiC68Q3B2 z1ACMCZadFk{Vr#*Un=*8$wK}QxX<q&a!;RmG*)Q*aFZbYQL`>YK85fF+}%eL>8st? zhbXPUR+w`1+a?8q%SQdStO_(Q<QLL}@wPn|y~1{I(1(@(LOM*_@D=XM#7tV#6cMSF ztKpEpjZnxqJ-<pMB+&(PTo-1ROljyN6_B_``eg%P^tNcV3nCf=_2&lhS*a*<I`+!i zmEbfRz-DNOCN>cj;{o-J!3tBtI&ncTp!f*+_Rfa`<k-bMi{-?o9Q4@j^ujPg-M-Rq zV|M?JWUM_acJ{dZon9jAtUk}0<iQXSi4X&ttosW_9NLg@P)9yAwKCOLC4$r{8vVb> zSdz8$m4fwz!l@*?hWoqsXyAja3yg?Yd_t~rYBd*h7iGZbj=2-PdTz)a?melV<j1R8 z$X)0lV&p;}H;Y?eI7wV2P0(2v3X~I#*cL;up#C&<1&S{#GoP3t&UjqicMXwIR%)TR zsMzEBf{=-j3$UXn)r7T%$El!E6mR8&x3tigz|cT@1eq@lPm0>IZp@8taHRRoMr?(S z@Y))U;d;2%+}`{aqP2A3e)mIS{rJ6(2u&89E4f&c1>;Ou0Gjx#W%pWVX&AD5xx(zg zr;E7iQ7PK;#StlYK1W2#O_Hw5hNP_DyA^H>fzsNW9K6{>)~?Y}J`^S70j~$5$n{0e zD#oQq>C>|J#L1E*L$X{xF2M!V2+=0;CW_b<VCTQ%(SIZ-{O7yWY%-os`RcQWThITs zyZ!9(v*+Et?H_iY>=fS>t+lm&Z}N8SU_2a8)}~ORj}aieS+rVwUkZ2#m?2~$Z07-0 z?96?UE6@OV{XVw1D8b6@yZ2(;NZjYrTdIo8Ru^**t~A46N6UbBs3}{ETyBlxedZRP zA)uLdB5MO!hucFS)f(>;p+fDpnr*@hIw!F>hZ(heE)?6<3`ov;bl-FNE4970?osr& z$60X^0wCNySXxM^cKi0Nn42a9-F(`8FxJ+bfFLUZ7Kthyt2y(xl-zw}1_I+dIC#su zKRi-onyHGkezRc*NT)ltN0!I|F&d9g%r5)%9AtuiFsU3Oyk!+I{HixYb+f@U`J15{ z<#EvOm+?u{olqONQ<Tz1(4|nY(M~4^<s&}4Xz8FhX6nX#fxo(+i?O-s1U$B3lUTy! z!3W&T{AHrE3JCvgiu@^qvA?nuZ6uIxx%Owb{lgviAakA+Pxtclq~Duio$H!H>b@PE zPUs>K_r}&e3Q=t7o%4fo%H{xv|2V4ZEV-Ax!}QMTIukMjd!1mT&!>n9J?r-RxQ=Q} z`7@Vq<o4>#rbafXk>lQAG{gT($<Mu12X3w2YJz=}U?ZndIUJvS4CtG6&@luFuz_dp znt7%7Z41MN8v9$0x4Ki0w^H>lcD6ZR9a*>!C=}`2Vm9fGrURNGUA%2`ZHY-jNHUfp z{vV7JcU5~@27uf(e$fHOd)s>b%`Fr{rguA?tF*rJ8ZJ;_)NNb=H^JSlnY*HpGCo(6 zxvw12dB(k2Z+1Feys9!6-QIga)wztKTk=;jw^?;JR(UjR1@W}F4O(2v5~JQFIt;kA z{bKj0oyULgKH1uR`U3yodDz{3NR8&mQX?pV*nalY&hxp|>LlT&A3yH?wDtJq&R%SB z5t8r*1Cq^UZ(o)rz+6Qxy8x+FBu0ZQ?UL>U;aW|%PMPW&3oCDJ+<L9mR7RQ`goeUZ zXD2E~By7IXm4j-^J|4U)pJTIlJW`;D8w>7ja)|;F;Olf6*iIC_Y=LFx>JF>67aZ_t zI0K`CajcEvNL^Lzaqsugbo*ScMcAx$iFQN>qama-E{UI<A`^!3q7pTv|C@GBPN#3$ zGR5g5A_$DSx-UyT#1>C{UmK#J1jjO+)$yo(nFz${ACD{!TlR<L#Ks5-(2Ng0#y-P3 zPK!mb&hYFsY|<o}ztZr9<v8AGbtAbhj#F)7PvW2qTVk40P30PrgBg(Zv?eXX^J+qs zvYH!dO<G&$)kNrr)x4S3Bw|!+f(it%fkvtu`2zYXB_#Ex3PO2XVwPCIq0o(G(o3c5 zNYWRZtw>@@Ye%(Le)Nzq+~{#DfiWXVJFn*LSo3yT^G>Fwy6;20hnpsy)zywgiP$uA zX-<g~VgJ=4Tse{zHXmY9rjFi8gs#*z!*F9AW;ITV+_`xp8ivuTMq#Yi^@b2sa5|h# z;T$*}C3dnmLZxzO=`Qvk$bi4MaqDiTPs%2_)-pXZyExXGZ)J;w!)7DnotW4j<p3^V zeMjz5y|=!RLmFKK{p$4Lfgk}@{4!nR2TC;>9>{r+L?ZJGd*iFD(U+L4RPwjZ8CqZy zQKxZ5=<fY{4X9&48c<h?V|+y+PaG$nU?2dXgeKR)E$}ql*|>c#4Dn}jGe}EwoD5O` z|BXkU*u`LT8R|p$**QjfMw&y7H>}HNe}c)2h(t^;3d^~zJgh`;FAB@0zxA*ZQN9Q) z4BpJg<|pCH_y{t%rh3U|@S4t-FxD%sM3_r}L0$js;+^{khD*mV3VMeNp@5#c0C`Wf zMBwM4)?wX_o%XPjC14R)pyKRKgvB1JZf;GG!KijueF9isd{)yi=axB7x3B{t?vAC( z3uc%psPMJL$yT{W)fmA=rsBqrg3XV_4+O1l<93o45vzB!E(fEiaA9eQG>ieM_ysj% zT4wPA&2$MiRJ#>72zueVk*3aE3=xBTBS;)CQs&;-no#qI?t>wF8a{hc9Rm#=8f0yU z_VR|d?+?1~%xrv#mNp*X?>~6!8kC3xm;95MetEZ$=MX<_AW$=`v)=jgtOL2QH0zM| zT4kMza|<L4tdnZ;O*~vh#D;P`vW`boudxUm-bl@5S%>i8|D`?}-=ELHI*U5{JY)Di zCK-nVsW-j?$3SBHfryiMj<6w<smd`Gm!;>J)Pif`m?|R1F&mL%+~OVaRGHXF&1E@; z@R-jr)csEuHVe9Nn;0fJ;Sd<+=2u`C=ut~E44K|lhN(EBJ;S7idlSP{5iy3j85kzj zrRK6sLeFJchA^4WGDLt+Wf{&I5Oj;2qY+-M^z~2UgWmq>5Y}Wl<tRaTDGp}ay;*rQ zo}57=xpn7OvNA{SI1pZND*z+6@NNLgvM<D~`7kKqYeIA0Il@sgpLnP%>+p9CW7ZTE zhrXX}OXfMR=yIv^raEP6YTQa%K2DeTo?PZ1aRAJzR8TP^I7;hYL92p<Od~M1w=@!M zG%9Y5GbW5Kw_F|8ZwiOdyy0eT(CNg{E?P{tTWBwUeACHQ+Qn~wb0zATegULg0)tW= zR)<^F)j`$ZIV(MR7psE1vU%eLcj{q`I^(U#OU}}qE0B{em}tM%>9_sj6W#;OM7&1+ zAhP`5v7h9}+%p4=_zW}LUY;4qVO(W~b&Xm0Yn|Ovr*UM4+kqLDSf7(l*s$MjU<X39 zfgNNcC2qrLVEhy{=;m#m5k$UZxy@~P@zp1`6=ZNaS`zT)ZIs1ji21V?Cqa9I2?FGP z)t$6^emv_nQ{Tx7uE?q3Xuudrd(d5{o3_J`c}=eN!y&f6!fsew%&1(e9QqSQbew?^ zfexM6aT^0hv`{N}dT_5p*!n~m#bn$bLX{c1o)g{FU33MW@Y(6aVpy8=MdwLP7e!+y zCt30Zoc)n6K+Z?wAzt}%8$Z=W@GlRbP`fFbf_4ieUBnVtG}1RM@2MTPU9J^Ezfk=G zPutkhpZzp7`ny&WS53sQp+ug_9!8$bzJzn~I{JW}-IFGdZ+|}?BPemS$jDrnY^KsB z*V@HnL-;Q}I7vKRm>r)U!3P(zqoH3dl8psiNFO-H7fN;vnhGUb0ZoMxAHOfO)MYCk zx5WSLA^JjzW7`+9W^+F4KnwL&g<uDYbEK1bx#Zl79-}uQw7Q==MxPC1Tr}qJ6M`CV zZPIE(L5)>^dK%<7Kdv!&qD{(?Sd?A4t`9X-p`<M53w1*viY?Ms9h07dJ|6KtaSZsd z&r-2D+`|%gch@bP#-cB7ylxv18+d!x*p0-P<|q!F!%JQ&to4mgi{wzHEAnJSB#L-L zGF~^gL?m=|qsAJ5@z<N+Xw<c$x>tF@0<!2<jp$?6oGAntRHu#ES5Y7A$;#II{W+Bf zYt6?neDTF}$wohIk(fIJQVqQ>91T-B&=3E_h+^VJi~f>Qk|fF!a&loY_VJ=}<3<#f z*euS*7cV6<Z40I@GuheVgk%t#LU<VyE|dtzztOH+``q+XmZ+Ns9ooLs<6B)e>nA(* zv`@vB#7v(R7L?k$VkZj>2IV8)EcSM`Uq0V`@%QetA7AV~d%9OG^#Z{ln>b@riE#}> zK-+e`(NXz>M8#3$;dq4BDW<jmh~>S>*Y(%dtDqyTqyc`$li*JI`7sf74RV-C?FB@f z0@mkG7RB7gr$}Re0_5`x$QlX0l8juY-A@yfO|nl1CSD)-Rm2~J!{XxaBSce}giD`; zx#{F!Wmj}5@n`#qCZM7=$Q1wD;_nHa=8$;$LZafE#2&|??>yaly1jFO<f{d=2dXb6 z`b@^GK;%t_<Jr^;^%Xv<w^_V00SQ5`VvN6ZsYW;6PlV4<q6dA<-`;*XL|il-ZNRIW zcQ*O;&AXf7Q*1d~>lH%M+Q_H#9g=$DtR*bV|0>!7_PgTFEq)aQH?B7hC`KVpT{^%) z7j&uMYzbB-7Wq@oM~(kuv~HeGrcA5iZB!<cS=^B88qy@gful3VAy|SpHWFvO(?1L> z7DpaN0xy0|<olrH7bYyR6<}?;>R#bb(5x@8e=cc}3l?<`{kE1g2>ivDw8dAMAXArL z$?k8i!-vIu8Jy7>*;zZY$s*1zP&0Q|1b<Vt_2%8zwVNVbH7?qP8(FG<isC9l*Bw&e z7cTOe&b!TUjHRu(h6xs<=eY`EtZBiZ^V(Gq;i$M3tOfLQ6yE;$S3N#Hrww!(O)#KH z0HFADZOL3czkYSlH-g@I{o!W^*2i`$R*){`Do)^U+{6KLIxcW`{eC<v5LT5X^mQbn zEO9Ce@jPwwm1tX4mx&9z)e<4KS)9C!itw6fW{@BR7FKK?8PCae5f?CE?XCzI8d3$s zG`U=Bkjajf9j$TOZlt)?>dOU(&u@j)cq+>nam3Z-5UIJSDCEwSGu*U59*jb?c^*^l zMQA}A_^h5^p_AxgISD8ePKP06Pi=496#4Y=0`Atm=(0$|(U#KGEs*OsqNzWWv(a>X z^#V=(;SLUtKKt>>&eIncXzEIxcqBFu{VQwg7iipn>gjY^j8(<ox<4jp6ug&Sk`h5@ zA||slCjh;7JW+uE)YB2nmRJgLBjiul)0bGKY=5!~ai3eI@;j6ZFEK%&F0H2DzPpH; z{-=^I7k=1LQ&u{1Cni6Gl3rUaKUzt@P1nAWl79ErXFr0e6!=p~FNaQZhmyX?@VPar zZXy1$mGqqOYf{lwHhsKsyL+33+xh>bP@`&e|0CW5qgyRCS<;yZ{-9c@vm%BmY1);# zrVi6|I4JGbM)I{+Hx*AuoF|II@(=`guJ(vt$B9j36i_pKWBoO9e;7_?o8Jt<Yv${d z^;?^UMib*WwgjCyo0W8bUapO(AoKjDLUYbUC~o&(zskXS9f5J4wy+UNeKoT<xD3AH zhNF_~3#+)=%BO5P22NBZ7bD!wE4pw7GXv1);1u@iuVP~!WmSNi;&m%yE;9wAeG?A7 zgzXF-=l#!eRKO-WK<s?)yu&t47~H-EXL%k4=2&#>Q&@IkY!@JjXL_JTgBidlJ@9_| z$~Z;OiA|=@@2SsBhp%J<EZ6dv*??9YzE%W|UrcgKA$<?)o%2>LyOISMOB)3DZ|Itd z32Q0U7R;m;ir4(i`SfX_d`)L+D4$9UnS*-nDZh3Hv&&B1*vd<5wB+H`IY}?(+^Q<; z)yG7=NGlKkA;poraoY#-Vu4#jB|oePk7;ssXmIrktej~g)z)gQ*Q-*V8QP<$7xh~L z))L^#p1^%<Sg#}F%l#YcF*-Ud@SnCPV2uTP!xRWwRz5y)?8yY~&Jk@t9QKgJi1aQ> zDch~25<>uLxKEH$Yv@Ce&VMG8os>8g+x62eC*AU1j^C@q`Dht?^M;eLm)b!L*2U)h z6pf)`H3*PXB&K;8L)p5l%_d{aDqt#WH3Q=XBG=Bg{k}!+^Ad66*tzJJebqaEbAlJ_ zq=NTrWc2<jg15VF#xU&OKSeJV<8!4uAF>L@0L*yxQUuY9X}7TG{i6t?kCMc}x>gEW zj>XkM&D#x^+_BRWDTA1MWW&=v&-_P}^;yOTqm$DlX*WH0XM@?Wv^W(u%1IsNvfYy* zGK9Vv5Bp_^WC<mj)088-zQYJl*^4b^J~?@CSq1QO^x;s(_>Qun!t$0QdU8F7PGN-U zWK#9Y<s2SI%X+GSd=hwtbnmq-KolWyBLg-Zr~Y_-oyOX0>-6k&bsBsB8PD#k`5=O> z&o8P47SQznwLE)2p7b><ZldbXa@k*r&6?3-PV%4mg+pt0QC`^OT%%8ZHp}IO1-~V& zB^Q@mm~%Bb9_iZ(mI_l928y`KFQ4o;-qB$tLo^i)=Ncv8>~^bTlcYw~ie}ub-$9ld z*fzKB-FGP%0zypBoY5uop^I(xW69h}VPf)2c_ev|oSu!nv1ZIb6X<RnYY4Gq!Sca1 zy_~`LT))bloa*daf8BAiCfYVNn66ZS?A}$QrIv;-cdyJDR3pQvcg%Jw(bN;cTd7($ zj^kZUgnIi1GWV$TamjSSxXq)uHh}%_+p*n1sU>L3kW`DZmHOE(>+x+M1hV}*xUy%1 zbX06d-oAg&CEg6IMdE7?;rG+qdi?lG%{aVh1Jm^OjT`Quyl(~xdFpv?0Y9d<RhiqR zZ9NecAy+Ra?ybM3>Bw{Ta8M3mCQv<o7hmSs2B;G@6CAK7Z%chLSNe&<p`W*riWob) zx9;A`i6g=w*H6X_Ow1Q+H0JS@+Oa8wdSY;H-MtZ;3SOO|%X9!4J2-BS#t4j#J6tQZ zOY`KW;A!X0S$_hj0dC(Mo)uW^-cFH|x0t;ti*Qo6cu%`?<Kq*!nEE(WH^Z$+`2Mq0 z?d=aW|NPH-{cxmmK=9MtPC|;{bYiUs;v%NLl>#)9PMXBeGQ=!q=X{^dt4s{uR2Rd- z@-2QxhLEnvdd`#4R`J)QnZ=5(Pt+o|ty~@n5??{l`<T?p(I4oECk;V*X3-GR`s`UA zjYLT}ZcE|xysav<Sm`7k?&6l~D=Uh8YlA5cE^#cY((*F@#f(MhG;8nj-_&Keeh+r* zTqtkLv(poXBG(4nDtzO0r(f<PmpbkRpd*`moPb8ZZXoH{#%+uaZ-zw6m><L2i`wmv z-;cOu;6T4C?#}i54R>b+xUXYev%9^@CmjySslr5DCNley4IMIwC3$>;!oqRWLU?C9 z@wS2R{8GA(6IU@FgP}u;HmXpOYi&!OvNXXRy$tqs#fhW8rEB$%7in#Cd*Z-h_#2vN z>QyohRXcBeBT1|D(NZWSWTVsy-Vh<U6HVuVM?>DW8_TEaB2%jBS4j+3obz+=y^Z4E zTheu(RXt1$OB?5fT9QmM^r|6E7a`e@ri)+_@h-NZJ->KNl9WoJtG}Zh%)t|&Yjzx$ zPtU-dTWsczYeG$lL`FWN1=Dv!?UVm~_8iPYnjoP+XJ~;juhVQyD%x^fY5k*fW@VfB zv|s_63Gqm}KhHu#A0?!pF^Px7=S1>_60OA-Qdb+Mbb|TH<aE^S4Tm^JIz1Ur%h2?f zh*6FX(3}G~DCNP~8p0F8n`MFxg8LOGz-G{}OZZ)J&b1sKQo12duOWGdpvdxFc|lZ> zZ#26-<-Ccu-Q{12fhE34{~neOU6SLo{rb<8;jj9<jr$KvT;-a+cNZ-B4{6jwrWxyD zcRCwS%63}*5o3qDvU0Cm#t>n2y3^DB>A_^MUj}OCDiUegLZI{MbOzjTXy3-CTn(_M zRteW}Ssle&=?GNy*FxBZT1^PSqPNk!7zaPbbibHfX2!QgFNBS+&`cxvkP;2(V!X7M ze()om{M&`F%tC9T-v(iusc|vV#Q8)-{8<PsDc^_({0LA<a1YXjoJ6H;iYWs2xG*AC zp?MTH;6q`Atmq<$xjD|5x#tB@b2XZA6I!{V7vq*rTF+BJwE5#gST|R1?gCM_xn8C} zB-hU&WGEaQSvdF)ik*L;HY5SU2d>78gG$&agQ!-!wZ}7_?h~ZvYsIS&H!Z<i=Y^Qt z1%Z+axD}Fow`7F)Di**F1qeOV6ous^q;!<xSh{BAHau$N)_+hS*PA}zJ{0;Cs4JbT zCBkJibh%6LkO>Qr?aBB(yfJ{!xkR4r|AHL!9hTiw`gX-Kb+U63(wzTd$Bq7WW@B0J z+E?)N@%Vi?+3rno;b4a^4u5voCcx>ZE5*0SsA@ZH-y*TR*i_O3t_QT%)-$L}5s{%U zh$6{&2^cS7J8`k%4*7dvlSOGAtC9nYOE7!G)1VD~z$)l*6fXggJXdSb8NQj^Tu;XR z(_vXW#csm2LO0&pQ#e=3*+HjuMPPi$^@aLNvg!$?uS9!^G{Lywx=ZnPQpe;MM@nP& zl8XksNk=4)@%YfgL$TH=B2NGacNGWy2RVsxjVY-LvenX7xofi3OHW*QfEF=<=%pzO zEA;RQIJ4$%rn=F9#~W878ff0+bgUx`y$xsXc!U{cBPP>G0^GgKBF=wj_b;4X(*gGk zA~i=)$e|$qXW9RWSOV3;n`b9<@$fXgsdYuFG5JE3|GoF@Y3HOj!OY-9zk47q?hEc< zI`3i@wSPX@@2s9jbdV+?3>~|C5^xwcvdby`{iW#}Xz%0q)a@QryMUWC4W_1Hln0~{ zFn+C#aAx_&m}cI-ib%fpw6OMabpl(gB%KGBHFW-3!33MKS~WO4t9C0Wh-MUr1OMaE z6S^g`otm=s(Qn%w-SNygM0)1LdB8mfqZUsG7@7Q1b753N>j0vfna}D+G1Qx$jSgZ8 zZgb+cIoLD~v#}!Wf?(#jrGz+dkDlHAUQ(LO(!mhL1Fzr$_M^e5H{^wCv*0#@>seSN zJhJo-Pf?<VS0`Y5EWOk;Cd5&heAtC7`qh8s7fF#l%tT*;o<jkwR<y1&a6zo>KgT<j z(t%4>Y!RkQ#VGwch%WsGskN|~=!0QLgLofG3@`hD$rT;x%u`eVAd;N`lCZKBj=~=k z$6GQGm<5DlTd<}c*l>s2w!%oPWNT`}RMnR13CS^iFNA1Mtcwmq^3j6gSK@ragwp=k z+WHZr)yB?1+$_?oodS9nVHY|U8mXx(LHn^H!j#p-l3-7n0?dqcq0N|lDVDDVxNZhX ziJg^q<#2owrApw<nyhfOYTrVws&sIbs-Hrg-`W)GB{@O;R1*(fm2K*bRxQC3#<6{1 ztU3H-6Fazts>z`L0m9SHU}98LL*|kAWNa$_)<zUgG<Q$cmmE<O17Xw-a9O~Fq^mpR zT2oh91dCllnyGt)OlSe$<XzyNu#AQ`{qeym&1G6HcZMbX{QhjW-)?E}Pz%NpitsI& ziPC!g>Qx@R;%c$Q2Xm*zNjV|sF2xzVDMtmL13@+;4f>|rqRZK|n4Ut>M^M7$NsJ4> zY@q%HI$rO%I2Xm}L*eAcZr=(4kKKm_6n%<hkdZ>0t|%{%r_+vAs6urz%tOrpbtNwX zYSQWgh*qou?mFYDs<kX=&xKyl;$7EvVTm}T=+PkV_Sw9(#j46P0u=VVDX<*}b`KiG zDcwQi-Vtmo8~Ej7s1CaT)xG;jsMbl#`Akcn=55YG)ZRiBn1$0Jjh)Dfro6;LyRWdf zpOt0-eswVqYyL`2BwL-JxrsXP9^P>Z&I#8JylT}XKW2H0wHx{ol`?t~^Su><48-Np zT}RGx1T0M9*JcM0&F#q!&P%rO*6SFg8eaPE6p7&PK-nt=yd(JAnc}P$>r6P-OuO!_ z)zy}MlV|cF!S1GBAxNw9zBd`QfBt5V1=hC`oWuv8G&bpU^mc@Bih|GsuyeHWp%pUf zMe`s?OWA^#|7!e*lbeYY#L&&&45s4v`K!z~y_`rSsW6KdreSncXOzJKQa<JbaAACW z8_WqJUP*N3Lq4sY=|S%VUaata1$KcPnp1r{vd4-O{)S<7pDJ`+SUlbvfl(EoPH1T# z>;VBBE>D`iGSBjN<QAE}863`9$b#EC!4*rb*A<&m^RWki1Ny1e4K>a<fHrw^sg0mP zK`GQQ^6_2B$?745q^<y}DG8p4*$LK}B1r`JE&q|{0{n3X4(_M8v6-9VGTyl_0r5rW zYjWlhT@veD$RTpPom}j9ExqTj@@UNql@i!p3SG}Z-+r-+WO9G+vUR?-`*i1FclTih z?zJMGXhRz^1p+?_<CFKPOaCDi#I7V!2T))v`wm=~<%}T`k0Zjpt(<kJrtENQHgDO~ ziSuOtbRQD1gIl+TZJM}{x|q+jxhVy;QG+QTDbX)nio~ic;yh2$#LS3Mn21*T3Vyha zJlKLYsT)DtO>2(_@5<-p5gcXKO}3U*HaA0G$F36dtOLo<DHs_R8jaQ*SXJ+?cHf!8 zDO6n{=0Mc+r=%1ZFsWpK!jff_hn&MLXeAu0;*JqE4LMY@n*nCiMYq4bQAd|OK4ODm zOY*X$FaJjOO4zI5A5`C^y-(eU_Ew<UlPpVnV19d(#Q)e!nby<Fqj$a9r<`obf6LXT z$zi4asubSgyKTJLyEwt^%~oDA==zs&=2^vzuh2eK{de|0m2uj{qnD2#cb`0a`10{i z_s6XlKUm>f%zgMUIX&qO?a4e@_Uuh%dsmyK_Cbcqo_KcIL!4LkM%de)i2Cf|_b+G~ z+Oxn8i=Dl$yHV|nSzqxvy-Xy&-%HF-dmoeodm$Le`eN_0Yh(CWVckSOsus$zByWO* zf<&S!1EPf6a}7n)nczVSmqgXhq{(1J+jK#g{3*|&5>LORJeO4~uzkAPgx7942=8q9 z=LMGDUa(p@&7cB~D%$!Y_*7<DidC{&*Y!^ayaLAB2x}OjZY&1d<}yJh{=1y4kmoAW zay)9)p@IDW?7iE1TSt;Ec#XGMW^tO7$^^xe4lLVMw#wb@Zri0P+uax18W<u#5hV~{ z0iaZBZuK|sFt>9(54N9V{)mi-jLek_Cz7(Ht^TSlVy#@6k&%&c%81DDsf{6umQ*Tx zDt$EatdtGqOheJDJ1d)*KE44qu<AzEp+j_l{>p9P`1~47uFksy8np9-(HBfaZI@Yc z`Z#nJEh~Etdqw|FwDRJ^c&SMMmsYN(S?iblQWW7pATZv^WD@n3voEWk*lw<{Nl;E< zTKxo9JjG7Pf$*REuT(>4%VBbPg0oRMKX(a5(@S{j?6KMbt-)w8+ZN(P&Jh%D{SnUH z<L?-6XiaJv;Pz(PJ?(c!xZ|b&_sb~NTe_86t=dMwO)d7d7@^12-u?KDmluy7#7B`L z@cbw~51R?k;v?Nr$JM@0&;oc{bnI+RpY9-Rc*pMc!iJU)R43u2mW{9sWC9@3Wn#;L z1Oc1miLTKx`ygzDS@#76P2d)?u(TEj+N$9^7AnZ1Oa-PWLB)$G7uJ9YvfE>GGY}LC zhQk>%V;2i4_c9QC5|A%+;!YPIN}t3P=iMUB9uAAIAji*VO%_&gI7RD@p)i-wMx#pz zQQn~U3$SANc!OK0Mlf40Yb^yml7%J*9pO+Pj;b8!*pMa64MOXB_FyLN5LiETOVjzW zY8ilvuH)(nFWX6Xge_J*@1vV;k1~FMFeC+@PR8f#CN~0vJc9;}U}2zO*q>^0Ao=Mz zJ8-Lea)QU>3C@}640x*=PpYjirp#)Ng;*+UwEI;=zFOjBfY;V2cOk4WCF;*+G#<V4 z`OxYFk>Hj@q`7RZHsZFQ?%fxjZD-5`xqO+q=033LGsktaUjh90gdoEVKI~P9tmK1U z3O9`pdp&}3@j<VJOyR>`2i54@N)*`heu+EVryn8)oPDr+w?c7@U1$Sjwf@Uw&}#>g zjezP=pQ;4(s^@RSVyIpnv=1M)?^Sohv9p}UP!-BkXoMT(o;HI17#c$+cAk%Cv+;Sj zz%ksEOZp^dxsux*cfnA^*0DVKCuDoS8cYZ9=~HwI^s$Gy+;MK778DNYn)I0WMAG-* zS)serF$@nngVZw1*9Oq_czy7sXl4T8CY|tH4~c2F0Zi_8Z9ES9r#Fm8*W>l^cm}06 zLE^Ph=z3fSJhq>9cdPCDN5^zG<#B&F?U$=P(wh#~q}x2Kl})=GiqS?f;+Mk?y8&ut z&Ll5XnuZOU&;TN^5x~zevb%SG$9WxU5A9R21TNj$_&Ja%<~@Chv`%gw@U1=bb(&Pr z0j@E+FIBtWL$Cz#isU0eID-#kla6PDr5RvmEMT-NF+WdyX%r3<a2&pMNin=q0&08X zau}^EiB^qZ(uHdASDUlVWsF#@;Bx2+zNEOuKvW_NRv~fM>COh#3_|gW>7V=4m$UJO z%=Yk^cKSzPVm5y9V%YzWLI1TP<5`*}qK$C?Pc<^OTts{ZRTqhpa%th`^_$U!>7%Nq zx*Snp#aF(enZXPJcSi*woD|ZfCWnu1{6Z5N#tOaY<j95Kk?%YJE&sfIzD?h!^+(jA zgwNt~GC^z_7Q)xaFu%<zr7`@d9-17|_60dK>a{2;l4L^W$f`(0+Wx(x`#uYy)e6T! zVY57^#34lt>K}MW%q5gPN8z)ucYOo!asSi6Q9{G6bHivg4fp7eyeV<A-eF18AwNNf zH!f8@$hWX0@Bp$_>zKdvA~jjw2yR4@gDMEN5=(&Z^F@COmf#_8<{WV@k>)j50%7Iq z1!7L1^C#z45UjL<wt0~n=6CAeLt6H1|8qr=?Abfw37$l)4A&f974adFL-8`on=DU| z&~C+PFLC4ryLIJ41xpT=B>o$3xc(KKm%})<oJ(Y)rRS<1h(J}cG`H$J@9{Ul<V)u{ zZYoymwT4oy0eWxFWGgd}sw4Iu>?G``=tCC!iH8sKkUhmp&B5`(qlSx#wQL1~4ZAgU z2IZ;*DWuO#y04om9YQMs+nc?S>xlz&>nI5r(Q66#>C}WoNaB@~k~pGdDS7kPe(^Xa zCfN-PNicYY_(~XR|N8R}-veMnjnR;@#g!x--R8*RDwz3T#C$ie^&YA{#h<m>NXa@t zur<R8rmG-=&5Xuli^#!l_dl<{9RY;x$2>anCia#m;nLnJ*5JP%_Qd*oYL5+t-+{jj z$6X5BESn1oTw!;~cO73mIW-Ne1xSo8yZSzi1WTO`t%pdG4NiZyq}ShcVlCL215!eH zMxDJ|yD`c}xXx`+o=k62RvK`A`nP^V(5j<ePkN$cCCV|q=@b_IUEK^6x5o0jw!Z7u z+QAk?o1cT9)nwqzR|5bm^SiY>9rXH6Le8s$E;~E84my<jj<S`=b#$LALfoU~dgm#p z2(mVMLDUKX<0yC#sGSUweTeqncTn$ek>enKfu6~0psYU(6x~SkA*6N*g!W+up*?q& z44GSHbA}9*_(c&yU4#zf0q3e1@TuTL-)(k*26k}73t*r>*+Z}GsTVuUUwhzQ@hUKF zBgc>(<!FS+5&JQ{=9zR_l(G&?TCBBu&+gz57xBC!D__CJRN3{KWdh5GO4<nV;EwiX z1=KuiB4J>t2)Hi2P8#j>&*{^q&M1jrTiF^kx90ttP)hXp&L=TySN;$X_)SpnaM31+ zUld8qJL2cV7+NM!x{otB-J7L1ga0PNy1ptwq-iYRPGx@vAD(E>Gb-dby}&IGE|rE@ zD;}GJ5Wl_ZPn_1jX4dN((7?8{?^O0@I`A473CJZ4X+KSu2iU^n%0@lPNWVNNOr2nN z3vs7%Ka#J_pTM(s?oaY|4!ds<eADUVm`SWA`B1%!bYC)xYVYmekCm>YFB40El!{n9 z+zmo`hYtJ67~wM;BGm2PJ2<$n{J@o;r&TWwF{g8UV4cG|3J~}9Vc*IwiFVCLRjE7O zS65+&!oL@H*!lLXJAr_6PF>k=%D+(&bTsWFsuB5})_4Z|<>qanSy-sNVOm2Q3&Zq< zrBL{?Z5iQ?8}xizh_cC-TpMJC>ftI$=Exg(vIE7Y<ENtnNn9S>&&zhWclp`FhHmGt z1>6{hVn38)2!1g47{e`Iev!FgK`VLXpR)b|1;dsvWApZ$RgOrKx9*X*q12Z_E^m7n zrJ&*xZ{IIpd;!+7=E_SD9P#lRImNH};9ZNLgva?Cn<TG$oj;^fG+o!YWp905Z79F4 z_V5E(*8;2y*EN3Aw63njYU@hwTS{Ucj4!8RU9j;9PSB)>|3RsvsR1c6ocENOD;f81 z{v2VwC72wW0Xqqu&tu;g-bOO0^HM;qRf|whpO%2b@i?R${)dxomqQM|5<x9~2W*ji zG59#gT2b6OIqTyN)>t81Hl}rouVepB7&UW}p}|S0e&R8@VwY~<6^$_fVPhpqtd@a~ z%q6xfucbR5Y|SR!(R4s%?%+PLD>|?wj<M;yO$7U!J)8grvomq+aYWM1Uflk%vJK^# zojv>jm|X$Zh0HE~)5Ppti`AH2&76vqmc6?DwRIYrUtRb316bc8v<p|*f7P_cNt@+X zIj}~5cxB$R!3ZwxP|wnBXIgV%nd%}lE}U``Q=4kO{<NKm;RWrK4@K6L_G1*jpdW{& zT1%N3_;gXFU-{^MDI7phMQ2M5BsWQFI2Q}lU@0_E!{zXBy>k(w7Q=yeV3i^TAh?>Y zO_;^1gmYSvRUN5=dNbPcKCFhZ7wbm;!UgKxQ0@Iw4ZSzc%w26oeY#aiJy)fEZ{z&e z^6Sn@=SX(IWd}tTUSUsG38-+~CM0HUo*|VOn($J$I9L>uupm;*;mkrFVkivi9=k|2 z_jHp=?@^6Wd4@Q6F6SdR66jkLmC`@0Ah%(naASftrlKtzT2I<-lCHf67l;iGcB9pc zlzeF>*REym;^9#jivwR#(0q$F<ksg~v^VgNL>J*NB4_*)C~)hUf)b8en(LkiQ04pt zQ(=ygR=Z{?6WS4K(CFUW2H(+9-rQC(Xsxj$3cpWZ1_MFh?LNo362`a^vw<US3e~-T z99N-y!xT<vBu;Lbe?X>O_~!d?m{j$;v+lwI;OBqmLL2?5`uR{paM1lfFZ+`>|3M|G zQTD*D<T(HP@Q3b&x0MpALe+ok4O0uPskq_x*7o^ewDWq<o1GyY7`JI&{NqlHn2nK7 z$k}@wGzTp}AM<$8&rej`=2*-%t8LSwMKy(te((Y&PilpH?XBOivKDU*$AISv`ooYN z9;D)bxck&(Oz;3dJhcW2xVchtD=patZ@0m!O+(MZ4WjcKU{Kn|an)g}^0sO+Fue1A zI@BwDU;rq?#)B}`u({G&bNK4%mJk=!vm+q&Uxtr<#0@~dXb}20L^|cA@7|BHca9rf zqxM}84hsuiDf*HE7Rge90ZSv`+iE<8jce;g5;@?%xuZyI+6ygMy^FAP&HZHL=sQcP zl7VvT-`piUE3uuMW_*}}$z;^r9ZGfu@;7`X#LaLC1vYnr1G3P@!4n>&ut*&CoRTMd zn4Yw9eaRE;%;HX!a2C|*`iYB7D0BMfq)@N0b$v<8?Acn*x3yj5srn=>5+Y=%FR5Gq zH!r?Eh%2X0XbJT1fJgmhqCg*b)}+szUZjsqtI`Lis05xBrG?^j$!bNPHYKFz_J_PF zjilym%S;JTK4zcl&SXPQuKEh<`kYSdf>rzVM4fi+NPAAtI3#op9V2m1(|&D#%;^>7 zn5>!W)1GOM#-50I%9JPr<2Fh#>2BR@hqN5PmHOQS3}k#!sAfzSv86+F)IL&tOlMB@ zscg>nmCiLfo|^_DUWPH!+h7x^U8jRY1erU!X#`I#PW^Mn7>$2)-(N?Y08k?r-=nCn ztv@DOpwtN_z8-kFQ#*ejtw75&I(C;%>9L~Gi3F29m7y}(Q5O%XNN_Z*%-u**A4E81 z3@?zpw6O)&FFh*snaK`&5b~?^CtIaqAe^|6p(tw@YCbuo@iq%Tg$k=$bqLCfIwLFy zF}g)yNvB1f;&zbL@FkoGdB@165L~jU#8hxx#X?PS*?g@g!u4?#%RGgpjD?$`9JUKj zZm=Yi!@PNRma5AX{6;cg2c!BC;2vVL{F-%{BF-dcbFW<6D7IsEeL)q2e3Bx8<tj0` zY1ge3xJ~nNOs@MFWR<WXl#mK+4HJL*pbR9nxE1iYV-Fa+ViZ1D^lAjT+~Rt98;_Lt zw&;><zQv`M=FbM&Iz<SF3R1sOy(MBAAO3>yEEZN4`7l<4S@y@VBw;Ea!Ma4&`{6H) zo6ASAG9-0A{59cOd<3fz^u`Z=J!Bpq?20(!MhjL!&QIu)%=OAu(E-N>m#fP9*^uJ} zJ6)9o95Z5G)DrWC13C1d<1v3Py=L|B^M(>U-44}g>F@&8>hs7;jkDwBb7Kt$4V|9T zO`m<utfS#6y?H#vS#2;bf<dub*_`13IJ2yn;UKEUt*(F5buYN?3Uco#ON>qp#opL| zW{!=R<bkZUjWd-0L=l6H-yy?;DjU15V#<k2)988x0Ek~nahh~G$Vh%!ZC+ti{P8nV z9LYCAM#SDT++KCDO{;sS{kJh9_qM97JGfL<(CRWm2%e;VPJO8`;_h8)^Sztg;WMfi z67IKd2X}QFr-*-|QWq31$Sw?=I9*lo+14>SN-=~~>Uls3O#oRXB4NM=)5oFsjm#Yt zY;k=LVTkVTNs|nM5DnPerkM|>J6&AQ_6o%y09w5(2b-@Lgiqnh=x^dW=L4L|;KbtL zLl>rDi#Qy(RZQvFE#m<Do0pOP@XLs+m30|AxG=l8kja#IJRuJ1Y-g?6Q7<|@y22g@ zVGj;te2v9|eN+iQ^-LW?gJp-XRg7(Oae>m}>_p+$jy~cWPzR;qszZl7jh_jxa-LCk z$$(jb5U9LWf5g2KQF85cCdj0Uy3qFn#6)uhMfy*Kq$OjaV;`fYj>33m-Bc^1oPQF% zy}E-@xec~(hhi8)iWBW2eMxMH8K6gl>%(!Zee!3gJdO(rrH`(|_B`5ca|Tp*r&H!G zu5?^PrMf{Vv>NeQRxiYup&V6WY4-1hS>$pq)DU_1Oto>!3z+@l$$Kt&AZy37P6T)| z@AM6c6W<AuN`Y(7pTT^|uy__GGU*&9N{|C8N2ny*N|-Cr%kuJ~iF7=V-y@RA!~#=( z_AHYAI-<f)$cUdM1=BpJKOJr{?raVj?hgD=3GR5fbp(?pO_|WS?dmzhL7abNq)Cvg za_*Q-tx-G5^lzffPE^I;MVMt!l}TZQ*kCF{2$R<{cXl?f==s}UgAN%#;5+y7Pw2P* zgtwGg8+Ls1Vue`F>qk4P5d^hVV;xOJ5A)H50}_Ho^zAE@Rs1u|itY?aLlax_&>V+A zbioK0-oPjDmdg)~jZ<0*%@>7864F@zLtjr(uNVKwiLWz<uCQH2+h5R(v~@Ju+G^}+ zHhuz}piOhMrHMMUB4xU<FXN(UScvcpJk=;*JbKI}4a23|SPxEZ>-Pwr$VD8M(W}Qc z#Vm5HA+3n;>(Dw}3y$W-#>bPvi@~Tn<h48w*CQs!ZO6&*$tyXDi#M(i6Qh_Od_#-h z*53ky9mCp*TL=#evjyP=@FLKxSoCMz!7#h_lm#d$a1kA?1Ow2$2wPlHkG{s=+CBeZ z(3JpH`%|$La8(E^G#Uh~sJkkZ#y^Oj=#M}(^p_C_{V)P}PooQgA9khGPwjBm$8z`T z2COAoIS36K=&LFcG=<dB!q^&HSOuLN*_QS(x<mw95%bNlaWKWKS?sE9&uqE5$GCjW zJtEl1nz<hBS=J-dKyz;zyXSkNPtsn5fSS8O427{K4dXGS22+eD80oLMF9e-fGY6JE zOF@f7+}tB9erx7>v}f9*@d71)1(AhCiKE;o$`*a1vPyq@=Ah5gI6@;6eQm334`{LU zN5HuLGKA>^o3B35Ef82?JlNOiFBt@AP|k^-`m_&3BM32awl;H6_8#m5+OxMD!j?rp z87(P|-VViU?}=mx+n^Y;q@w7zh*)}2k66N^#)u`uppRKHEc$39_WU6DNRa{SnZ)36 zbzo17PLHcYduV(F0Z*z$frZMS%H?h{a7od>TG-MHw!<8RwMZGm)%>G09saBLHc}=| zWbs+roY}k&kupZAANrcaiG28LLR!WLzaBh^4}L8Ilm5^bLuT>8uZ9W84}C%6L_YX6 zG5zF2Uz0eI4|Gk6@iFl1QM|!=0Wv+<?;0SJc2tXyfdSs>cTdhx!aH2gbQB6<(cvu| z0_LR?AJN%h*z4eA3j^T4lHsAAffIfEbdTb_;enaXo({xR&~m`mD42TUxib%H4i9dW z*t-dc_V29-5nXw4aCCeR7@+d}<cEArkvY{@)xB^qVlYdTk(Magd{m1v8g=~@7;I8F z-*-~*JGhMfTP>hWp+L#iV6y|??9l%>@;~moA9BFxp3I3iVpD*IWeVZ##m6GMcO_*+ z4)5&>Tr>%FB=`dq61_afLBqEHT#3cH<v^w>_xlvI5-gEZ+&_#eCbNp-mhSxl|9p`E zA*HA3#qYmF*)DU7^HAC)h>r+0)Yy)1n5LQu%|lCDKp|EqGlL~1<){Yn?p-1dK?Slg z=&X~E%`>{_9BuA1WjN$3%}`0<yq~YWtd8g?HSgwd^C0ggg3SFqzr-DlBMqCnr#o=r z>gY_fwLzcDuFNv)(y%I<N89<D;1RgY=WgXo>k(KJ<*49{kNnSB>7cmqQw&`$y_dE@ zN3P6Xbou#}r{c}|iv1o7_JuxXZXr~Gu(HBJ?uYq#tSdcGf#<w;qO0(1ao2mogmgaz z9IX~J2&M%nENBovT|^)AF#nn#<PF+XyZ<ps7QV&p*UhV1Xx$Iv-X*RiuP*wN5L}0V zKG`6x)~r-&J8(!pc6dUAiyx!a$Ul@dG!km7<!GU^2Z~AR4k{A>Y^Czu3$7>B<%LwS zKa=ifO_ja1Iar<jnSOZ)j95AJCGoHv7UtmK$PXHhFxYpiFz!ci_fv51FZdEs7uv}| z@?{M6V6T3)fwe}o$HwUL-0o_0beI$sXCjp_z~1N8Asp^-AU`VBEe}NHA{{rt=0%(8 zbecw+%_i*Av#$redBD}0kGkg+wb?Wq@-^eGJ`y-|Tr2Dax8QyW=J0Af=v5#snlkQ9 z>>-%;1h@S?@1DHehL#V`xO+FiB^Tp%a9G_N_9xQKLy$V!Z-+J}_p*B>b!Hq(Nl3)8 z7Ld4i@2C_jn%r5JV36i8*&&}CHb4E{>4YDDo9_7EO>0R#D-2YDo?tk*|3JB^3kC+~ z%9b(k8e2>r&X1$Z622s>Z{bCp)i;zkfsUUTmBd0rHDD%4z2s%?z8bt>P2UgigK`-J zou`K79>jWY7D9CH?oDN#E-&S6I#Q{CI}bA_E|lN%_HhV~!J+)Rp`tp!6Pmgu4t*{( z+kBO%(0$Nbt#xTD&6(eR^Sk`EK;>Ntr!U=h>SAw+qGxUs(Pr0v628AoKZk(z#-%`M z;3yIEskqx9{8SQ|Q0g)7$6fj0`$;53sUNX*AZS9wu%d%HnIF3RRGYS1E{a(>-$p1z ziv7EYpISXHlrdh=QRp+{$d4MLq76JVm@q($>sv2CngfBOC6xsSM~m-%5=<IRkNKt{ z09<H)ARWL|zZNUok%ogxx2idaQR|+I+{}nR20s}xHQexwj$Ac#*uqHp+cpYOt4l<$ zUyAc9RIsk~0Mad6uhy?aSOEaO^IFuh5`ay7)0Op))k|7o37j#$gfd;5QoFb9S2=Qz zw54dKK!9Hp)mN4N<JYvOV<fvNNS{}cZXba0T<Mpsbp%2>T**EocaaU@nN{)vv=pkY z-Xju;cXQ?B7AHg+3beFj1~5U2Wz3<}dJJof9M=CWtU07+L<l1wk<t{l++Bh1WAj8K zUltJU`5sED=dvzBDL^(NZ`Bg~gbw~+P=OmJ@9cd-l;8OcW%cJ1137P+XaTbP4~;89 z7ViR&k6($sY$X)Odx~Sy1C#@3*trsd$FcLF#dY4xcB}OcAQOzG$cS_+o~TfANN=$Z zztoAbhf9UyqQu>fA$IRJc(Q<jg~G(mdwEf!45sE+#E6RpN!eeO?`kI|U|IXgCmfut z?)d^F+y805ITNT6oaeU~E0SI8hvuUK%%QUeW+rA*wiLS)_uIUlgfTeHu|X6yasl@I zkea~bf=Vv?Zc)XH90Zqpo;s1S*i<Rp<xF@fxE4Q{;~Ml7;CCdLeKVUN=TpumGJm3H z6RGnhZt#6&6HdpT%Zd{Tr0ih7flUyQbJ#>lfR-GbO$bU7b4)fJtRho0R^-c{0evYU z>ullgSXsW3TQ6U(=%ZEs?B<YespSAM0A*1L^=`Ax<NgUM8~2t2gZGDMF@%u$5|*Z) z5W<oYHXz1a95;DAvm%Q!fK@;?dW~~7lCukk7-XfV951dw6q0Fs1;v^Ex#^lAV&w}N zbcmSm?Abq7$HCl&w+W@>x4#*~N!1-KgP(=`)J>Qu$BjlJ&@_}Hh7wYXZ6k`3G&Uoa z>t8t!$5k9ouev7CJ^USzK4rf^P>x>2=AMx!KA`+E1znlM!Q&e>4ZLtzuxjm`7<3u7 z#EIe?MQ=ia-qz%D)FCG^MX(~z+j_l?WI+Xg^HC{TaDZwPvUBY+hUO!CYYTfTd=-^^ z39n`<4zwtQNI?Kc2gg+U^LMoHYE9yXO8K)K3J~dAeG4YTNEZz@sZc#Vn1$*g*oS(w zE-rb5Ewq{WRKKq_HvAXLwbnV=3**zSANKixej_|_K4>fcA)whhOD)89XCBA{Enfmf z>Vo4~!X&<wsq5Fa@sm@U@QL&8L%^WAF3O`uz0kJ#_1xY%)Ev*ZHnBU%lTrht@%Tci z@cJAljAgjKjXjl;W@%qh3)?MmXD!$V_QlHk>tWbm;F#p)2;mduZKeFcToY<I(jMYN z96CX|mu?dlok;_|p`0FCJWSvTu@ll*`mgCUC*;?;TOX*D=CKY9HPPbAQNebL3a^Yu zlsR}hm`rC|&y+gI11x!mvE2?mqsDYd_qsdjCGF{e(~8SzILH1o2x#;i`_+tud#cCS z=HNob7y{`E<P(<nk@3apwl~M4Z91Rphn!A!ZpWXQUwRK0#VZ4{KFD)%O_b@ShY1#L z3TxVV9dWrKvQzD?kIKCzQQ6rO9>2F2k+}{x7rVkP=GnFtxkvS^HRIm6N{e{AMGA=R z(cB5<Q|QD<Yz6+yDg^=!&o9O!3JZ&H;@qp@*6G3}(uhmU*>z*jP|liqj{2iNF0pwv zm66F$Ny3W7smRg#6ga+mYx0fM!RQs^b5z>TI7z90+2+^yUdqno8{ayOpSE#zl*gw6 z5!XBeb5C2W45ocK2Ta{*25CBdf;%{~Z3eN|z|45|(hdRzrN1g{O6xCvm(ASzv6<U~ z-lXwp<0m@|Imajy=1gv9^}sB&kCGi#`)C1Ou59|*uuH>A2A6%cEU<}{U`St9B~l}& z%p4l*tN2(fuu!kbmcBKo*P_*S8~T>lSxVYg(TX`L>O^a+SPu?U6^jlh7HC)+WU6Wo z=}J^9G04Sr#MGP;gu_7=D7f*z{_p=!tsNITla%*iWkrI9d;rnTPJcKYTucX3XU@c+ zF{)js(Kp~zQwXBD@i#Q4hTl9uj1d_kkM6}VBO~<{1Ytp_(J+}*v!0jTM9gK)72)@U zEB|w=G!Cj+n#PMnxi*PEymw5_TMgBRxg3s;D$qIyV-rJ*PZ6a{5BLmf!A>}kaBII4 zj5~@%nrBHsl&z%|Bf{``f8sS^%XA@|AWTnHNU5)XFE0`qbzN2}=tF{CKYIp@6uSC7 z{JE+CTfXx$U&gO2Q>t)H;1gPkKM@=hMoE*5m+irv+Dcw653)i0)~*z>Ewr>Dw5;;J zuPAiY0N3G)&3gCktKIKfH(o~Pj0e7Oh}t&OFWa^SSV3HF517_i*FrxRE<q|bJfZdR zqAE`Bbj_Q$&2`3V)O<^OR3$MT<$2SBz+5;h+nm5+Eg=8N+}(NI%^7_UExr?GLe7&+ ziPzOOMb5VIt?2N6qrE$Ae92L7O|32+AKa>L06Ds}Zg3rGzP1YS;E{9m3m+m!fB3Vk zB}8wk<nnke!BqdC*p+kzb53g8g5g`*{-)L}Bb8UlNm6Y``O7*ojX09dC!RqiflB(i z6HtR$^F74zkjl3FDr$9k-19sTJ~HWgdE^YRno{0cV4g4QHX<A?wRWn%F4edp`OFTV z$XT5r>B^KQi#=E^d_wj~7DthUbT!3Mz>qQy55R=^&|kG!C0!NJNghQJ306FrF}Nk6 zxFw;`kq|<me+rGF`XG{OW<QR55U|-hHxHYJ%%Tb3s|HzcfCao3jZuui&3hVR5wWvi z^Q`RK(q$-(a6QSHE}M>nWAx~Bifja1Dn9mhw|*xiWMJNgp!K4tBxoCs^%h9IwWaAJ zIW`9(NhgJ&$+@xg_cB(u#<F>N`oF#Z=}|Zc-#<EtnMi91%DUY9IQ&nbniA<3eXI)! zbbZn<cyE`bdkqTobWh*1o%Ft(Y>$xD?HyC|4z>|fxAeI-^&4GCdaPa7e6Ddii$jp5 z4!S!BYV04x(^*@H8#wA7c9#zhSOtgFZxaqR<epB{4xg#&XB=c{C)v_R+=q(9!-&Ln zEQ)3?S#qdl^7YdZcU3`=UZ8F*YpaA6GvdFe{uyYTH-E%UJRsGq?0yo000f1&#yTwR zIo`9vxiQG*y*e?cT{~yix^edqiD+}Tv+jKE+B$4=>o$IvP2M`P{bMZQRvd20o~?P@ zJ{_7bd)_zacpFJ?(IPPlAfqNe_J&FfZhXHE&7lr0uh7j^yVla?@)BPfOSO5*6_~t| zmYI5j^W<Q#+1Z!wSSm4As26ktC4CyKTAyr^&0~&d?xVUWE%Aye4&Vf8iXJN*;p<mo z?BAH{uzYb@(2DDXb8Egn9g1YomFkXAGE#o6NVpN_o>BZK*WM@Bp3`RkcXRDUu~QO; z7Bgoe&Vu&s$tpqlCiLt+tJ4+kvmz~%S%s5;R*pfQAsHl;iJZ>HlRn29QZ*}t!PD3D z=a#CXHo4C9^7-^+GI-uMV6^e)xKB#*OTNONgOT>X4S$)94M`@=tg;nJ=bN~HOA1LL zjO7{^a0QlX$k)k*aC}#!SFa8TH!u;hLK8!oCea16ZPD#qdeDg)k2?r&+X2dUaNo@i zjv7Mc1pL4=R4{zY7`&kD2e-CY)d`nHZF)=dz=zpYTw$^S{~;P0ZB(jodP5;@=$|>E z!fNV}%~WXhJvmma5t);PMn94V%Nl9Ca-rdqN&nSgd^z2cn4-5S8p1pRrbF@$1%5vj z@px4Ypv&(8gG`?EXJw{Uc)1Up%gg=4{N(}4n#s$9`}xa5L?X(|!-tieC|Et908-&5 zELm^LIpKw)KWL5U->?$z?L}9z&8~6NmF+I6{*o45a+}O^4Qb1`-kzNerplW*fQ2?- zn|ulOiM>u(5tdR2MBk_TGzA4jlpgfu>_B!PG7JiQBQONb*$J1?MWyZe<@4vmekk=v z(;@bWIi8}<DqRbhgJ(D+5YnDId$-v4{w?->aEpB(UbAn#SBe}|AOpQw2-O>vKav%< zrTe(~LNBoI$lUe5F?phk%;5mS2%39(fXj85$s0Ir{+;&1T%@@Z2o!1&r^MI!rCkUE zYVJgDVk0iAQwkqxN46srkJq`L><Iwo+x66=PBUOtML4_)<NSTtC;BwKuS}LeUos~3 z2lcOihk5BQVIKOE8a}2q(FewU0%S4HPVunhJ!PNhs!Ug5rx@DjUrA=o9GTj)8l}>H z)@_b5(HkT;{?<R4Z6y0ZcYkR;^>YLjhEHt_5fA#&X8ZC2H=ENgOyx^}fy4j>CdO2? zK%G&GhW{N^R--WCGb4yb*5|jO%-A$B#1GxsS^K0v7;bYn)o$$P4&`$xlp6bEdpEo9 zEZZ?Ogpz%_No*77YlFr=h&r=A%{EuEC5x(pewa#aeafTqMX)M^o8O>*gz%F3R~@@` ztnkk6A1k~&3|&GSB+rQ`8hkIdD^GjV*R%yE&0sW`v6f`|4x*(-xW#dF(%*!RAxC-9 zq%GXirgDoeXA6?&xPlC#iPF_<RakUf%2q`-XE)Q{?3HSwbDAM7^$e!EXf4w4Yja{V zU6$2>s1_NlaW*4J`@(h;T}}#&v4MrnBQ%Nob762*|MP$HS)24pyLI<2lc}7rN&?6w zsy?40-@8Zt<IlF8Wan<~xQ$D|pukHTr}N1C{^E(1Ew1a=NC*V6T!1B^W9mq4hnQid z5lzBxP-0UT(P`DQGt@}tY?yB+lkp@S^}W3|PPorD8vqf3D^7;AIj~jWaQFt->Q=L} zK1f?qp>2oY&R!J5pYodl!YW=MK7V$GD~V4|@OV5y-2uv0-l}jv#?}|pSAA6KITlK( ztkLdQTedQ4WzdQ+!F=%R5oYn>uLiNR4}LLt5+D9r1c~y&uZB$HLtPK2tf2DJ$@Bu5 zyvKtVBRGkx9&Qm~>8C<;429zJDwtL*O+zM=I7D{u-sRTS-RhqQqu#W73bnVpb27eo zga4eL<Kly7Dxr{g+oMYpi0xjysnp>CrFQlPH+B=NK5t8JyAFo_s0&BRV|?>XxNs-a zs;df2|L4JZpAzapTV}%3JPCY~&-yX>-wH5p-DxBG>su;11|?b>XMI%+cmSe}iF`|b zobPe_R)2&#Zd-hRFZ$o^*S@PNAo^z(MVNVzbk+Ig6w;f-6LO<jnHY?!E~MA1fCK^` z{}&cQ8%;3zemfkOwoisA4K|%^Z{ZvDONWna!0`xj@C&*h24VGG=p2x97>2}R2(+j1 zs_EJIa@ecRy07}UB7Pbio`lu}63ihi6JX+{MK|4<e#|qu81#Fxh5|?ce=xe>i-T+$ z?Z034CvSd2Wvmk%PHb-}gfxwO&>y-l`wVgDg|{954mJanCHgw~id({8NZo6;i(*FK z&BEv?BlOqq2r>dn@FV&^F_*MC%G1%^5#tHaJ-B#2M)jaJIehy+W6<r;S>Oag!PM`< zmT7lKBlr(Mgz_7!1yTl@7-&MMb;}o7B+~%KAM>?Zpo<MCHT}T_%vHwv>%nkXy&6m} zQ6=sTt-)(X31I^3h;*uce?;`!uprVIsHrzT;p@ZNLB0M~YL%5}N<PY}2;>vXDN(;- z!-%#E?H%5efNe(#Ib}%KZ>F<1(4EH@-4kLGUshXtTPc<U{zI6+*S)`WPp~Cz3f)r_ zSi}u2*p$*?HVp9FpF;ne?ZCrCTxN$3GN@WqzdG;!1HZ7jdpml)%QRV>Ib0{u0DAvx z|9p%+McYjvs2Hef54#JSA=@mKwrWrK!<=;A;=KRfJ*_SoMj^vTX)gY)f2pk>wjs3B z$6@PEpNuaqFMfcw3-yQ?D(nq%h9s;jd_)XlNispx_Fx2V_^&_z@I5|~PT|I6elbOQ z0@P_*)34fL;khywP6y9Xm}oG9C0gxY{NoScO}!q}a{O-Z9|0Ho?;on?;|Xrufqi=M zj|zqrO5jy*zt|0Z8g0}>Mnt6eJOF7xTZ*9ZMSsMYA(Q}Hf*=^hjp#Wy9M0Zc^v9=F z{EV*)+EPKcg{lGZ9R$^}`>AUfP=3LSGwyYVfJ63IZ_pi%Uu?^8n#xZrKO4-3u-FyZ z{4*HN^p>|>pDL+sT@FC!)XUZ}PNTw%cAkd|b#{2nEjc%%4_^;@vokb2x`zeW@*P6z z#9MGoo1<^4$WAf_PX;y-ST^3B0;LBd7Y-Gp?1+yxaXMUP*2NXj=>qQFt)`Qc-6vrf z{WnPKZ@N>Q9<dn*oP$2$o9k82-&8+^XRi+0hY#ELs=K>E_=Hv9dL$=UfpE#^f{r&t zaOrZ_+!g&=Fk4Ur!Zi3I4v8doPozGmdm<G<<%w+3{%QAeIP1{4cn6u@7sKFu+`aod zJ}MXQ#lf>S{1()*@oUUh+${7V!Wau3!&yX^Dd1M0%_$^|=Iig{78Q!0k#*q-g&B5+ zIPx0ukuA=#ai9!p+z@)`bOIyjgr*xff90N0GiHXhywI{-d(Xtp=KCdO6A)8)H1ojX zg>(rFjm5~NmGlS@p%8DohkD8*b8+=_)$|Wb!PQL(rT|duB<>W!tZf)Xb%g=Y9GXff z5gMMDUqK2FxMjG5fYP`qN%AEmQin?L4A4n`D$pC?G&NnD?6R>is8rxN`Mf#`Q3-o0 zX^<?cp16-H9I>9DrI@fHL9&c|F5wX$Jyb2k^11~%H@y4JK#8}$t1wQxdpR4QLIIoJ z5vu@Z2!1JVD<l{APUhdP<ZeRJkCfnaG1319n=R4titA^fu2OMLI=WCQMnlHHVA|2w z<QW|fPF@OcL8;0+*tqGVHtv`jz7apQ-cuV7_R*=)75?UUGY4Anw@n44Y=6fp%D%{; zo_EAS3aJ<<8bmiOe-6u)G9dg#5#&GSszTHtjz(T#zv3QC`MdT7d5E_^(-aZ-m*b&N zWS@uLW87+m!=u2>pF?zQ+eA}ZbGS-q&_sZ5K$CR+6u7s0s{p%4th`W7>JHDKb2=HH zcbNavRf(A-u+l(SR#tPuWWqVlG(lekwkT0}FcB;se%f3Sy2#gT(cOky%onlFP|Z41 zgeY};oq&Jk{y}(wKy0{WgqSt<>+OZwK2Zi?&OgK=p$MaXi!CLBI+E~Briyqft|f>l z$?COkq};jvx^fcvl7n48=(L=A5g4xFv%t?ifaMJI$Yv5K`AiHtapc;1OruOg;}=SY zX5XNi<xA87R#wXjgi?Cx*sK5BM5o4pP&q`WfTkD(YFsd=LF4nmtOFJAV%nj*R$2EG zQRDSENB!7>FcaY>>f=_`seG&_?l|SlI@FcCnc&i(+keCUMKTuPG0+&(Euo98XBaZ< z%rGX4IzSCEX)ecBE3_!aFIsc}_z}L_+$7n<IPx86h{BgBio;5%{Bs4xSl-=14B0<U zhL^p52fmB`WYisoet<6PGx83<Oxrluy#~@1>mf{oF(4rtaomI~$g8G^a=?)<?c`<J zo5+v_{UJ0-8m1`30WS+9?bA#G#d=eKl7L6XW>`D@pcctvQ}oM45?@@uNgPRn^ktA> z08@`j1h*8YqJba03JF0Nc4Y&|W=&%o^4;<qggD?#A`b_^qiOdP#SUQu_x}#RD0pgE zTyiVL^}Ur4h8!hPq0WL{ijfR~rHj~Cw}&Y(&`iQSoI+kW7SBQW>b*VcXR=%3pnr)O z5i5m;1;^66KJO=eNVY}hdiuK8`;J0!hQlCGR`)znv_FT9Am}Chfm>fG^#8?h{JcAq z#DE}a*-P~t?-DOn0}Se<f@^wv@95|lcjkNnFAF*5qVU7Sc!j>a646FeMJ=XkyE`QP z_zgPm_aN~3d4+(8+29o%PSO$7Abz3srKDAF{CYGTcYE53EH!HhRK7(!@xu4Myn6EW z<A4A9U%u`9@b!=Q=dbNPMY2rAd!w0~d86*D?f_@A!~WaqE8a|Mt17SXD&FRP%^x?r zXSc1urty;%BUe@PKi2Cx%8F|OLm|fjSmPs5Yk3FmaJp?K?0ZrwX1??Y?hY7<`p@t7 z3^*huhBY(WyUk8t>5mZ3Ua}cd@<Zo=R95p%&F+Dy=sam#@uIS|)gsvN*1T5q+xe_! zRJkL3Dp1EytwuC`<1dWY!>paN0qDzj*Y!8GhtC4l<2d9#6^n*aaCHB$;H_GvtX<t1 zG=tnWM-XEbUXXgT08!r1U9TM)xO>~p>rrq>kewc!1g27p6VNI&WR%I4q^=QP>|!g1 zWtdONt=3{%CKJ9^zqEmx;m9Csn|zI-OgvDipqYl1&nHsz9vQ_mrS#9f1o-xgZfb}v z$x_CxO_A<vBSX{GZ;kp4@yjOv2ZxT{JC@|~M{*Nmveb%}K8_wXqiK3KVHTz=tz;UK zA!F)@<t%>W?B6B~IuWcJ`8D1{mWvCEp6%5{g%D!!Dv*!PacVoo2?N)fVpGDDsGj6< zch22MERU&1H-RWz|KT(B62L1Mj;}%0xlCM5aK;{C1%Ynp*ig?KaGjE<+$qf=Wik1T zj)dqlU|#d(oZo0s^`mtpm4HR=1G(}hpf;`!MceCY#_gzJe@tf@wL5xpRNQzu@`B?W zIxB7p%ST?OpiwT`P>83go8UvhX3BPj>O8rW5eI>t<wLeRbrzdy|K3q@J$LiS(iO(W z?jW(uN1_!NyJ!jVu&36ER0V39Rh>F-(&JlzCT@&dcLA?Edg5(0X0xmaFVyeJkzXp~ zbE`hwUP(|J|1#la(%PP^CC;F;hQyE_97_m_Lw?A7AMTAfRiPn@sS`{~=TjwDs#z&l zy2aC+Z}*<eMhenzOnwjRDWf5>V?o0|izzy%C54&%gez+<r;VL??g37~L|SMZ1X{5^ zK)^w0fIOz&u+Iq_=&U<^GdihQcK@}H8(?8{c&8)G_wP<&nuHeB_=HuC9vomWA{AQ* zEetSCIkvX?<-2M$##_WXP7r5yF`mpqKwGPY{wPFEP4rzR7{nJMju643*tRd=lAnga z&Q>iKO$QVln4U%5QqU_;qdEb&Gm7NI$ui=CDQ2;I(MMV|z#I4|Qp6#jBPjU4G?ElI zI$~Dn1bEp(h?nqK(#$2|D#H`3hOH^0AVx2?oCy^=NSZ3UR!@a;@6fdSx(m3H4><DC zAM?l;v&kDfzoA+G)JGicDdUvCuL3xX1H{Q9@^%W^19t!Ir@#EzrnQ9A5`r1XVjEon zL05w*ysL;dMYvKQA<7|^@K^Nut9FVOh%uZ{Oe!Lgb&)j9DGc>x7>Nho#>a7uTKEOT z29P2`PP#L?fSJ554u=BQTMK8VRsalv!vmzs5Uk)d&k=cWmI6!&;+eH|`2yAR01{*e zDDbnb@pL#U$4^^sp(Tz4v)FM-mzwfc2oW?)PaH)}t}_a(CeA^a<*{T2=uO7~&_RDh z{4=6OD<GNZ5xa-XvtjoQZGmoePBCYS+yMMifsryGQ7g?3iAOl@>s(HTWa(y4$ll%Z zG@Hg#;yUzSzqt5n^NMF8SbJN2(XGxV{nIZu_=Owc?LU#|lhnE|yS?+lXcyDCMC#LS zi2B<=XEn?I7Y4BsZd!p0qHM(-1X*^!`eOIut6w9LAf~Gy>3$ht(+-ptEb0=MH@=D| zp{;gXqXtz|Z%M4<uip}7R<F+nL+rHRY^8PHyb>KFI0oMSsuZgN$82wxxgaxTDiWq{ ztPo@zP!^V+A_Q451qN*fW6cF>Xi3h2;H!$vGB`j5z(7$%7FguXt8c#k>D$gPfBpV# zx@t1Hj>K&4>ae?U-h<v-TcOaYpeM?aDsZ;bK5cOf8JPi5>1SE{_V}ga08UIH_8psj zIMj|6#mfi?QImruZUm+DK>Qv8hsEAwY+}T811$mSY*6FKg2#jthxrHA_HR?jorDc$ zBSi4C7x*f6VX%Ui3x`}0J7yXXva_MuKq#pkUxE?9HGd_ON+m8lYD(nVoH7^TgQsI_ zc@<}q5Fi5kq``M#@j%}pz@y=Vgko8pu!gE2%c{8z^$W66fU}dA6k85ikAEi2P(|+w z>=b;cx}4IkeN2Y?v_H{3#?wYh(Vu|#?s;|fe2fg*?&z)VbbViu<fLsBL}%Eja8*Kc zfs_?W!3;ylJ(xOpz3MosUD%Gcy{s*s1g%oZ9C!-zw`GYs;<oH%Sucl*C;bTo%K4Nf z&;-Yl;K)<Be<;ti3!zA2riPVQgDw)t1Nwdl=&PYdoLE<Y@_aDufAMNO=zSHI1emL; zAII22v&#uw>~Mq7%xC?Rv(bQZ8Qx$4<U1hhq<aZAPD#>HuHtXza5}7Ty;jEddgH&! zl-$u|O05Y2B`i-gl;?c}{tGq!vLgSJCEnpa8kk^Vn7^7zov^|T5)itqC;N9l^RKms zlsUEni}F0O^pWkL`V}mpgVIOszkz{~>ZvfPc8&c^#8e^k0OusMomg3+-Gx=0_Gu51 z`iMvo7zE?X3G_y6NGRTPRfX@3bD*Iq4JH*xvO?m_#TZ|;tN%PhE)hIy;Y$wF0gI+C zNUx%l8GbuZbAk;DA$Hwo2n3XskVX4x)<?p9tm1|D%L_hTcp3z!zuD58wy;i@9J2cB zwYmT^Lm)PVzFw~%@m#19(`q3a!!KB4?$T(y1IYpth)N0Uz?PhK|MB^YOQf#tfE(=$ zM%D{yyU2KiFu>yWFF+;AH+g-W4B|zdHzLz6`ra9i#}_t$EIM_rn+A&>=saj3o*tf3 zJMs?1?^!4DpJ#h+UAP1=uS*+X$#8s*nSexFZyqKHpO9E_4m_4sf%x?l$JE%7vO`D) zY+lu|@b(ywJ$P?_g>mEXxDreat5aZEe#mr)R9(Y{6%~O0ve^PTB$i2@a3UT4Mby9v zEJEfNU@Wj!Vg3^rBCbU|#AKjwGvC>3*vaG?BbL*Hbe|zvRqS#;Pk)URTKE<S=>w#O zaeqM-@V)2=qz)htnFdwPshtO5hsmT8tf+4xP?+vCP82R1E>XEqkq!e<gvFnu+bP$% z(h(DxsY;ji9`Gyl!h)SOAbmhH6HQ1w2Efd#{u?!e3mC=<DGrDjsfS;_i`bwYsJ)YB z%2M34AfQXlkSC%sfoep-j})S$V(KrZ@ePT79!|R#;65kI4xR-D%w<OhQi(c;41=yr zdkfwqA_%B}L0wUjq0DATL$W5UIe9L~KQKmfow3(yWF`uA;FR@xj{=A$)k(G-F4+}x zFFp`j_)gXD+M7rv@m16`<1_Dm+zR8Hc=*e6qPO<T{+p?W62=5~JoUar=CA*qP6<hz zz5YM`a=MMScgRtJf7?iuMH(}918#<3PsQfumb?qU>A(=)3*mm9y-@S!*DrEMaJ}*k z>an~Wk<J0^pz6)$6~=qJ^{diRjNJ?Pr_}?mP6Kag9v&x7bT!gv?)XzCp@f|1t7`A4 za0;$;iaUk5YIX8*)EY^UXw~@LT8OMrMeIf$AButyaI4hR+*iUnWVp6`miAR6#O6-R zR-^WwcT^n4QFZe;4XiR7D0Y>O<Tgq35U6hz+c|W{hiRvtqUIE%L#&B!={ok0wQF-i zDG4>jCJS3J|Cnl}>K@YH*`dEZ4*WPAzff4azK|u;pF$t{Ghfi`dBnfIh{)3?e%AUd z<T2|nXC&#PY@6!iY*PlDM3$g9tc7c18f0K(1wCbQbJjA-d$)}8nXcfc?Ko8q70Dq* zP9%ysxPHI3BZ&}UHYC_?qe7&(ZJx@`7P3-OFKwIUc7^tE^IMsOt*IBJ)`>0@>Kx{> z{iag^1W$9z9m1~2a{=fmG|vT)u3Ca~s(Pr81Z&6Dp*@mTrl%bvDO#J$yGZ%R)qQ&z z>7J@7>L-3>QM^JPM=o|7NeTJdSP;Qd)fGdCLLJbcf=PH6IOH{}D+(?xl9_$qd3{A` z#Eb-gUrc?zY^HB+ETL}}DlO^|F^XAre&+SNcZEg-P!#GXQz!>i8r>$KIz%I&G83a* zf%vElao+kiL9dOqXby3Q$t3R2okVQ@4rbv7Yn(>p1p<FV{m|I%HUW2|c!=3lS7N7J zBUvWr(ywP5<-FznO*YcmEUebI#FT!!Y@@)3X?0}(e<Z7;v-wz7CueaV$uiZZ^^vVt zWab~&g1LEpEGrhJ*hjKdZbBc+8hLByBUz<nN+0$*IU{~IEt>az2(<ooh)SnZ6wP0+ zWFD1dOOlbx-EN2@-OgfiBmSh8bw$~9aw0=9Vkl!5^rB#su9n_PeF4zM6jm~ADfxBx zu0)E83XeipcD&V?%X;yA2St?`iBZ*VbsO?nyPv~<!1uu2-?z>!&*5XrPQp1~e}eST z{wurkH6+I_&YrC!rYU*0o{&V2y;z4St|!uc(ri_#Js4ky9Mk&1$jBKX#zCDsD23#I zE}NIaK=pr<q)|<U+dTPg@=#9RWgbe#eM)I4>eC8G6r9ANWzN|;CT4>gwN~l17Bel* z791tx0JNTc68cZiSixVOZb_H#=Uspq;;wOQt7kL|j!G39&Bu2*n~AHS=YsM?_vzB7 zYf@P^b{XBV3h<JLN;eGnJ3NOF$Pqc<w1VK;&zAqDJ^Q?|P)=daJw~WRTGI&%j(sJG z+b{Ezp=33Odf>Irq0SiajyGA1xf*i@!u#uY)5$E<l^4(Gw{yF>O_8a}Pr}*yPaLrS z-KdAaYPus}J&pNMt})N;eWBv~yr?*%7z|S!YtDJ08UI_WW&o&~p!<`AmJOzmqgU0I z{6;}>1n)N0=Xm=o%5Rm5(?odoJ#Yu^hZR%cwn32k`U6%z6wv-w<*u)1gix)VCMzW9 zh_SlxoZ`=1t_R9AVzg8ehB`e|#;2+Od4+mr`}i>LaCU%)Vi$$%lb>NEiD|UgWEw$i zqxd5V8KTbR#tL<Q@EsTWd4#Ju5O;=hKS!?WN@9H>0w)e3?#fPp5HZQJJ?GhC=s?Fp zR02kR^uX}=zmqLSp-iKbGvs}$buEPyT#;)RTbC3bZl7<HIfpKqYF}qnk<fDHSM&n+ zFZ9?vlz!-+<_1_LS5>K1=seofrMCyR!mS16ZdbH58*r6x=TGIK--q(hv?>iHx`mN| zzrj^7uQb(73(BRcS%thLrQD>pc*2_zu$#I$4#>}uG$B`qW8cQ`ZnF4@7u&a9Yh=m6 zIJ#ccjaX#+W?VS&;$2=S4^bw^d#H%6jvxajXccD7-bAr5^ZPviZTvpZ-=*KDtV28Z zPg2?0RMExdNaDt6boCU=eK-xa;0h8}1Ncz9g0g@~v3frpLuJg~zJEwjG}k{Qji9Eg ze@LE~tS5f&aopS;)RVXtuE+Q=?G$b!s(!{nJTm&7G}b>WUk%VM=x*XQOIORxJe2XS zM$_L`bY@AXb0z_`OBy+x$deQy5m9rxTOP~C3~349QKW7W$FgETJQc|+dC#5{{R6*& z6YY83iH1kD=vZA*3X63_k66`rQ#$*n)RD59Yb}T~=US6L)vwQ`2+450-c8^_3U&}! z3;~r!a|8M8Ht-^m)EVhI@v3p_nRQ--H@3TNkljep5ZA0KImul%{;<5g-d}I1P{q<k z&$I1NnAmUU6b+k;Rw}OOT%Yxawpeaj3%%D%&+WHcFVZ{Zm?3jwf6W(th5WE3UDwoE zV5{scdkC(Y#CjCERDU(nbWwG9{}|@z)iKqM3VT0~|DZP=j^)@qC_1w1-r>-^L*?Lb zBMMSiU6a9Sc<UaOe9GFa!zWItHIIpDy<2;?zlr=xIg+x6hnxGN0BC^=8IildtFT{e zn&DPr5Aq&OvsUz*bet@)uWc3X$r+Kq<ivfekuNobB;iQ?`;yEc?8qdU-OzeRs>W1$ zTF{aXcJzTBSP^*ty)CHpv*85*_8R7S$K`G)4$)fwoIY*p5~2Ur%2uhlHIt4ky22a? z_eSG{2n`DR9fL2qma!@9=OOvCVGw|(?jP8#zOGjC^{UsC>$Jg_``=AC_Ksbh)tnU( ze{Zw9SH{80Q7W~pM)b2Zc~v=9$H78JR;ajuB7>JxAvLA4rkUti>eyX{LUqdq$9K~R ztWA}ma)9%8TMFA~89<ze?hDT-Y=*AL0uFk7Nj@H4JN96;UQEW97ai!8lQG{mDGD=+ zIm{+q6w;szAnCQy_Vj6Ks<`qM)*Jo@`R_7qsfLCQ+wdVsg3buyBw8{0f<8yR5Y$PG z0FvCH=em{gCv%{t)k$Wnus9Af2hDN$!x*3G=SiP7!R0!2tyW}SG;13yVJyH#zTmE9 z1F?7v`o$iMY^|}PX2$!m!|6`G+Y3M_!fK1GRX~hnZ^hB9!^cT1;6p24W;kzz+jJ?L zPiF<{S6JszJgz&8xY9LJ%S^Y!O*o*vZdY<a(|a@ht@?GQHCh8`O@VJk)*;#oi}=7> zRP!a}^YG#E{-Zk;e`NYtuFvglKCG#oqAvx*z>brJd69Gy0#jU-+tYT47e8bs-kjSX zq&K?%Ay?cq1{FvB<}@zc)?&$^TX*6YaAGZY#lznFd&NVxBJ=NgSV5m^xJDrx4#&^9 z)wn-%YL>{U1q^3d#V07NWolaHI)z9sIKQ0Vjn;Djk=Dsf={m5T7)mXEP}mXs_YNO= z`M6*(`4EFGdxJuT`s5mg?44r9c-pN<neq%h1>X80=e0n%o}6mDRUuo8cXhRbO1Tc$ zcS*7gPEBk$xgr9=Uac-s?z21NchE&YlhtVBl5{Gk)}0OLD!RGC<|7m}KaL>{ZTfm2 zp0jGX)*V#_JZ7U%ERQI{*D=yXhSRvo4L}(&`psEq4xhvWRgKF~ro424co4DI#E{_p z+%CV<{_D$elc6W&u{}9_;??8HyXMs^aq5MPc6}y(|Kah$!6LH&Zr++%K&iW(!D-zN zsCk=Q6O~kjN1YIP>E4)K!5b{FM(x1-2+*QxuIi&rcx8kwMysoHT~{@G<cqHAs1(X( zgHlNObpb_W`Z#wFxo+%Dc;%aZ_E}v8H5YaJoGb6|{$FRa*~Rpa$NyvZf9&oW`*1y* zFWa2oVjbqLY(a8u(ExPai7gn|F&Bw02U_c&b4+d5%GPh86FbPrbp)eAl=zMGp^zIu z>YrcC-b5dO>B}pKMD29W+~F>6vX=^pq1vH9d22S-J9924dndK1nkf)Prb>=iZ)z!` z=3&0<46L~i8{NV;<Q0yfmL^3fJf2HHX~e!31+m#Btev{8H3t>0L*f->=k97<x`CJ9 z)1omshwVw+fF;ka!qhIWrT6Q))oOI>T6gE>_m!R24n>lG9QSashBlLT#%Diya3|w8 zE^If}!&Z#Vp+Wdt>jA%fo)I7WyN0#Pd=YNLMQdY0;aT3078PoJ9qj1v_&%5#8PfT= z_Ns^8^G)s!4)JS>ToeCwnwa9H@JN=$y;)mrJJ`g5a9wTNyLOBLE3ZYxEiY||Gyn|( zxKYI^sLz5V#inDObM}jCwLF9Uq%@I5XSrNA>zICLN|REJY5^p(n|AAxC-Uo_vwzZ- zK50uZVU%@!(w4%#eAhciP;AcO{vU+41g&CuZRsYJo%L0&2M5P=WVci(W~c7_5;qTS zmz#}8&vCmzN&g9KyVeu}-JOKT3kv2Of}h~}k(YD?P6ziAxcKPV>ZjRofmP<;psRj3 z_vRSqkenr;awayR+kD>9aYe+XcTJnkWiYMamT5T1jw8L>Gwe97I{rZlSIFxT^@PNG zgD0^@MA}1}Ndx_4v=J@+v{zYjOJWMA*N6+bQYf@Wd>vY>3)2fhjSGS&vo}!JXaA_; z3}S#<4dCR=y54tvop0d?Bo6CI>|LFHtUUVlgiGTgb%f(xoq2d4d`VC=MLs1=dVOAh z{}J<gGOvX!7x>c`7|}Rhs2R~+Cje@+@7{GgbYFFcQ!CtKvzc#BW?-`}72$-Sf%hQB ziRxxrp_Xn;k!m%aZbvHid)e4X%L=5Rz~lzu9OYL$@|k7IN{K|h_sr;`p`YNvr$R2U zqq?J)4$fq}Nq<O<M!2*76qyPAiEro&VFI|2N`kP{`zZ6WhXlm?4<E$Z9P5a^!g&J5 z$&KM9gd@I6Yncd{0(aL6X-^`%;zFuSBl!ZEq5`QXz=GT=MP1eVyJflM;rvW7loX_h zWVT1SD+w9WZF1YmlTr*?Bup=<6Phc~c%))+md5OZPtx^z(v^wQ>Q;DvbvI&t2@!0K zZ`GX*iB*!j<+!j_#3jz3=>Yoe`oj6a;qe}>d;j7|NC*CgEh@UNjg(^hKh|=;yb75X zb|u_4!cQNM&vDCoZ~A0>ae47Ws8XuoHg`<Tz4O+(s;aMe$L2B6zC=mE;+x$ILL1Df zR`2FN28e7{Ku`qr_tggS{%FJ&`3h(1O6DJW08c+CP02UhZyp2JS5K-!-;KrNW{1{U zA)sJ3nBkJ_9MD7My6YUba}hQ!kEXaX;%;%RHO#hFpbh9Wu}|1=f|6^nh5iIDu0JZp zmiIS1#KZ7`%sqZ!tda)t<<eHD$mV4A1C&YI!)e8X{ry85<c4JR3_3tAtP3K2h8UM6 znuYo14YO)tu!Eb6h2dq?NAgNycv(QevLW87XwSr?5ipBL`&AT=k(_JAqmW^!-_}>^ z`o)fX3AbjU;48H?x1zO*Fa`!<iqK7@prkymBofGGFlO$8g?|e+ZE&m{nfzeycn?8s zb)m8Z>xVg1v+icbN^87dvP%k_`C7cxI9V7uQiVGGR&axrm`9Cw81us3z1fQHvk3fc zlQh<DC8BO5ll4jO=-~>EWgKnSXbl<DSg=`lI1HAI(+@5$dI+o^z32?XT@|HQ!bF8E z`@K1B;srUbQRay-Ehz^}Vdy-kl(5l@yt>Ek-9=xB)qVe&d@4Yw53zaVe2Oc8(DbRm z@?c$9A}Uu0rv9x!^RNLL(j05Z#mwl&U-RS2Oy}jz#mjf7Rs1ExA3alE<L`fQ9Y(<A zi^FHx1}9Nh53%4I(_f7Ty$Xu|RrrMN2T91j!xPf$yD_nPKN-P<!SWRr&<>uhGHTul z51&7@p69_)z|k6j#9llk@u}fI10_c)zNVw6uX{b=55e53ojm2=g~d>ESd_#f9HDbU zJgj^264xbPPS3W3@kTGV^ZrryPgojC0Ol`qPIE`)$y(#&t5_N^Z=-wqMn;aSHfQMA z$d4Vi$~v}L&5N2Nx#&bSonQrJBX=w213?>q7ipvUu$ga>ZSy>#Q<fc@39<W49W0j% z#5z8mkX8Q##w8ucMWrDS@z*$pXSfS@yf9D>q5LdY5y;;d&lF{oVR))Tq#w3wAEo}? zR-HMY;0pT}ebn0tiU`9PJBPlGg1W+sP(%Uq?3@n41B@jIGbjwqZaLlI2n9~uz;Sx{ z7ER}wzr}<TSFw$oH^fA|XM4`f3t!qooAQNm2^R+|;iAy<YDkH6R>VqtEo4|A1c4zo zT^TXSr-qsMR8Vuc4r*dA0ILx<`R)oQ(D_qk3`TOs^ls8co{#F;?X90buQ~Yj9OQN1 zcMisHaQX~;t7IQGoj)hG+%-(XBRhW<9=YIv8G+C>vrxY5c=s{x05m7Fyw{ue+?&jz zvyQNLNE!S-u<)7=h+5F&Pz&kn=hN}<awa*;NQ-bGK`xwVL99>)U^=?qx>$fh?$RN< zL%Mi!hT{R@A4x#d0tjwIaWeGzEo{uAHN(7ezjRIc%1}}4$=J{}bT5OoS?Pk!m0wC& zsOXU^b=d@(yVv8;RIJ+Emh}^dmCHs|&JBz=22sf;N->9b^a^p^C)!C{$PAq|(3z<- z85lvVWDm7lBMh7JO-dCRw6o_as3uO*gs2SAxnC|=y_G9Rtqd;}VOtO2n-*RMdP!={ z$zF=iPh1u=Ma8){TpuG8YRINm>iSlXg&}83;;?)yd{mcW>x;z0N5|NU>Yx89t$$rz ziTe5071{mrs>$`<?`_?AyV$W`aO=}~%XPf;^gS3x(*Y*EZqs?><MC(~;>9=q*Z=$f z=+Q8Yi`i^q7ykG|NnD}Z<?^)CPG<n-=T1fQZ@QB~cjs)->-9$zazxgPZ|#GP2p)Ha zd5Cx;T)lgL@8SJAn_5BY6hufEDLZsD7I@<)3^ZJvLePnB?c8j&BZiwN^tCpfInzZK zvCB}pHAS;GcvV*(Yvlo46U}09k4)uc^)yItZDvVq*g1LShE0@(6$q_4Y8u(Y7)ZKl zHg($jvUP`P+Tge3qKTdm^4gTDFC;~c>Is4i9MATFs_t4=SVK3|$01m&;Tnjlm15v! z6O1dW&`$rHlTqSY*;3qM5eASGMl=?QpN>5#xJiWu<8WwOW{R!{7?to3<Nit1Y(?-q zKCpPoL!A60l;Y^o{!wHO>cjrXFBWG^Wc=6asLmk{q<HbCHxl+)zl)qsu1duZKp{=U zFEow{2$u+?9nDtR9qQnu4ch$qrz#VQr^dp=x=$VNm_tOWQgQj*PgN#fmN%7X_O}y~ zs|#j~Pqz<N&^x$ICtKN;n>WJsj4wVrDTda9HN^=j0CNb@m-f94Ln>-fB{Rwj@|nhF z@l^I?mB=R3;h=EOz}x$q-FJDVoWI-xCzqUD@_F_2nXU-&_C@!{iNOmZ^dv%G${Tjn z;Puwm6b|rWOSpf~@tQA|3vy*lCH(B{1-*zF*$!p>I75Dm?5bCN?bv;o94eH)gy5P& z0O8ZXFL&?W<v*&s)nh8yKE)MF{i-*9J)+6%@+u97V!~GA)2gcgA#Sr*@flP<eDuqA zZRtvT{PX1m^G8E?TR9jAJ~mw7R7E0~qEN*}zdP&qhHol5YVY@|*|_4`@eE0rwRVW{ zi{K%cdcxWhMTDUTOyQUBDvT81>mk~CcBcKk=+j@?C6IK2fNN?j(iM;lM(yh71k&k@ zB2%9CX+8qy>$Cod`;;!U$LZw>^>~VEX_ylVT4H^GB1AriPI{LBU`$xy`#y4{{Rzc; zy64r^^YM7t?~dLA7!>mdinRZ#`cEDiM)K!?=*1vFp-ZI`qEKr>gi?Wi{wJxScJ*X3 zJ|9f`Ur-RsSAnyD3aaX_{n_ONOEyIa-K@Ht_InuSaz+n$@#&*VCc(=Yu+p8r8J*~4 zc6l_pP9+BAfSkD*ZrqSb=`Koc9|$|;ax%nQ+)Dn<*FSyR`Q@+QzwP$U2cz9^f%$Y- zCf0dA8NY`AS7{aZ$55ol3lRErcT>GE?LqJDuS)c-U4gIV$p2sZvp~l}29D+(8n>pl zIcP;E{l8xhCX8fSbDe%8uDhc*9@Rf%eg5sIzx=3U0cMmxonl=taMH}nHygmIJL{fb z(B@;38_cTLUD`ObO#PmYsZ$EbQ*NR7PVg)1qFCaMPfPQ<i@s0$vy-!JAYXYRv{t}0 ztNu0}lcOlKO1^E=D_8qUDXeO@`4zT3W`U4QoYedol)QbXjiiU4@eJWK@NtAd26J}E zc*0G8V!xUV941DC$!EBf=s)|_%YOd?N&y0O2u~<kSRtW;Hu9`LL7w8YI_ti|w(Gvc zp1l|%gdY^l%t_Xk$tCs}7|?WFz3yYXkFZ%sV`Q!KLUU8v!TneL$(!nEXYU?NTi~cC z>)+ypi8%C^6>=wH-@JRfMmoHMr^FfiAf)r|8|-Opv|fM6e_|U)e$@iyR=>(l_k{jy zg=@Dj#u$_K`>O%mv`jrGW7r!fde0XzwZKNWBi)1FcVE!vHl#7h@#i`RfHVY3Uk@M( z0%`(x>CWP`gyNp}8RG8q@r0s019d7!0wbgGzN{=wgXTmVLBXkBkvkBTm#cH|KVmvW zH!6~7*D0$D+u-k)*dUM_;QSF9T2@?FKRzMONjPC94^DJB>;<N&kjdyNwech|G;mKd z<$Z@vNH$l(ZwO`dQ5d;`Gdzwia%wnWz~n=sL7GizCg9;{#gqlDWX#C_<-6D+sOwe# z4Xr6g1>J!?2T`aqBUC5?d-x037!yT-<ewADp1-NOvAf>j6e*qL%>{d(C?-f})jlfZ z{-r2E3{LVu6%tBpa3PQ!SBD)pK$LHP8|fYL5muaZ_PB4;hDbw^hN?ZKgI&;ZsZ5~t z$9ncsP_>S$KXF5-c30Jw{C%uF2Ts!F7Pu2rduzUJfs{82m(!Mk59+4)u7^3HF7kK6 zW45(fOJrQibCr#Xcxhy7ff>T=45MKgzZ*Rf+Q5Lx=eh=bRT#y|e5UIcf#$9LU7!|y zD?7eBBi|B{Ngs0Uc^_moy*xb~oD7IGhz&6Hqk&D0Hmhzw0En|7=xm^}vB)FPH!r?O zw06ZKV<4h^%q8jQj5Bz!fk2%Y1b%&ng?HBAWgqGjSnnmSgPRQBkm5C%PDyt<LwB#o zqb+R36fpSFNa}|UNtn?`!!d%qCT$WD@UZn?j3<NtqE1Mina!wfDnW0XQpG41z)cmv zZz%ErF0`Q$aetcS1iWX1m``;AeJ$u*N+JwvGG&bFG~U7J)%Ya=$>6A3tozYuz(z)- z>yI=ph=+y+IoO6}rb=6pcCKdd3dIBWe|b$r1T`5|Vz<H`L6Q+DM*C*!X(ldDPsAru zvc!<uPcMg&z>&Qioz$3`vVG-XL?C^r>A<Qg%}_kSy85FN$X>{C;<UsjAsWsz%u;8s znYRNlkj1EfN~#PrTo@Y@?sR}2*hYXVPP+jsVF-6}Q6RGwL^EDj8oX#)fOzCSnLZKt zSs+wAi|bC%0d8jRZgE@Ov9S*w^1Gg6IRJ+OLdp!4?N2l|mhl!o>g4(`#<G}Uuq&Y9 zifB@-L$U?^qIv?|sSDfahwcdfFlpl#rk~FQB7--oDy@Uj$?#GYj=)^AL7;XKR#@-y z^9Ndf0l2&tEMl!tBo>|)?KPPi0F@LPlAQh1?&WX>y<j>8jJ~S`Np)e85_SL*gt_%y zl)GCAB8}%GzE(^X+F?6i(!Gii;X!1oj`@F7NZ!OAMC9#NY(uO6m|25qk!G@mFRQ`% zdA~=R3bDLXJj7%t{cev`fx&6oRqO<m87$`Ri!OR3yMPolsE<Ki0Lg+lfyZi!^C&QP z>asscyUUb`pxkO4305CkFNevBok829)%x?~@}fIzD=6Dr&B$Y&LJ<_?6mtuGq&V{` z1V$jl78Wf<Yz>b5blpw0)e?7173|0APvKvfTBKTt;s9c|ow}vREIj3wUr{{SlJB>U z=>t*>+nm3deuQR$*&b(to1Z4&nHMt*w*~DL+?w1xzL`bubF0FBUx<??G$b=;^(i1I zpCE$eDhFH!P=r+v1PM@OZPV)ayn&QqxjFCcAKlZBZ71gb&hh965(V4oWrf&ZtYyGp z822t=H-K!<2fZDW=@26HTlE%ZHMA`*h~JTH3g#DlMgjqP6jK4UPllxQv(iCIG`sYI z91447dNCM{Xvac2AiWia3-LOMd{7pJ4u2+#<l@2`Q4q(2ac@Ao7z)rB$|PV9ni>>~ z89V?a6lMR>01>?4*y7Etez&k`o_ziI-@pEsZ#zGH{UiSQYrJsQZJp?liAKAk+GI~q zKVMG<upoy0kURs0<LQ==`xb(p13Z6u&gB0R1`2$+czrRw(}vmfZ5NINJoOh#(!T!e zztdjZke~g3{N<F|vQC13+f!7F>u*CnMUX$47+ag0Tco2<fBc(#w@6qeFySZ*7qb8Q zg?I4QuVDu_dpUw{leX*yy1YVfZ?}F`dW*%%RWqn(H;5{u87+Cnpu7g6AhP3ysfl=s zMv)CHm~0+akp5lpqxO4E<LB+>0&-xbC9L0-A^NkpiWh<u8_tCZ=iM@g_(2X-AWcFR zx>~=ShSD#JO!bGS2qL5#zQ3%5gmbDjx+fW-WR5?aat3M@*kd=EYGZTAM?L9Yz>(MQ z(2nohd@P1oSe}X%^@Zy1Y`g2@??XJa{<LBv`k<lah`xq3EffK59>pQ`xpb?6&ieRC zUiKt=5zLV9kYWo93^k2~jR~&wr)-_<=M$37`Yh-j`b)ky+RdIv`q3AW?*$0repeD0 zjEI%lTHG!vu##grgUw_W`Gq4Z!IqL$(ih`wtGUCvek>E!R4DEs?K(&HobC&3#Q~mo zR2(L*-JEestfD?p>`F&6M>7c{U1Erq4cg4K{u>GERPig(h<*;{5k9psgrkcq{OQ^x zpQB4@S)Rw)>5E9@`h;~Buoq3n&vQ{5+vQ`c&{_0B1S<c6cy>Sqv<K1xMN2#xLfx&r z@U9SY3ZM40`sr1FIP0S@QMefH&;3_wT(KCKT%LfXY>zJ}cxoDzoarUBD|;LU3%1-g z*_$vh!xxkZ0^IOPw1w!!GjVuhyQlpQ4Eqj_db&e$EDBnV;cJN;q&2U!i9wI(RwXC+ z_hd@AMvov85^2r4FMjOOamj|qhn=>!6mV@nK>e3mL?oZ(OA7~NkepH}7kh;U2JI?( z!fVWrv+!jgl3@4^tIZX(qpf2JagxSz57)myQzM7nDQ*Ysu}cZwrXU@7BXd`9JUJvd z^=)H;`i4k)ki`XdC_1OED(gH()2SjW8xWFC7Yv$$jypTUp&_3ud^?$de6o>`t0z2X z9Q_1;Qn1DmX^F9+tFvQ?EC^deqasXy2=@fP8L%n9XU{mYrxS?rWEw6_+#=7`))!MI z?qk6;tOjYc`_-1sNDV2{P6U^^*17U@s4trhj`iN%T->JLy<1HuC%Zs3G2Pwo&dH|} zFjBpM3lHu(tTT+RzyhjQ2kpa$?R(YT-LSSw%)Erh75~%OtKNdHUku03aq1W7I<(`E z$_IG2(KP6WsAe$Mw(lPvlSg8?(%PkJJA?BVva2XO1HU>$xLR-!2@`7fu6VM(JAc81 zCL8GJ8TJ&MdR%aT(IGDmp4}0C8IBgw8;)0~+-TgAbWXL+W8v|=KU9P23pZ?g*dM)^ zozY`5!Q)OK$fPf@;K2)AA}>$C84c>EgJ-#93s~iQx(N>9H7CdBRTZY>c3le{qOHZz z;-^tL?!WHOIutfLfP1|^B`^X61f32Z(y%R7mfM7dMGgS;0cbXRkB;tHb8|3UFBO2t z$s$p$>t*x5=FJaS0i)_n5uVfSb%Jrv3lWG0Axdk}Omxl|wAU{d24qD1hGjR6YMv1M z2Fv!+2|y+tm3mHy#rSxt>RSp*qZTF)Egmi1v-W<K=rr2-hhgVap=Ff5J;zDrfAxDm zjV~u)&9aMvh%sY53-;f9P)kS9Fh9FzD4@-Hs71zixO`VJwtx3-4J=C|1(mQbMIP)u zd)B7i(Z;D5Pas5(4T#agbt1ZH20oDfKsXm071tZD+9Cj&2ixB~(7{r0A{A`rDF(#k z#5e2$sj-C`(5TeP%<(jQg4XpeBp)Fx&RYCUdQVaTvc)F`cypIE-t3Kx#wC{JX`}|$ z@yKLWeBQW3;Ve?n7o`*VG{b^5T$)$&fLr_Cwq5W^9_Xdlog3p^wE&CtlB{p+eBHZc z>?%I{!xmzBb}eZ704}E6d{AQQ#e~genDN@2{{9|c{l1irS14uxIrvG#quAYdr{Td9 z1|@Ir;lqc@(_`krCk;<j@a0(sZfYr}D7-rjubjKxq~H1dy7sO=+CRRJGbKirDPXw{ z1hu55#Bt!OC>+5SaN8e-ImJb*bDvd>(dih%{z{gGay9kOkOhW-Sj33y!`T?Isp%uQ zz8}+7*}-L?4KLsp!x5u7edKq543~z>ATa6ColJ~=<PG49r>><1|H_;28P;+2Nc-e~ z^<!M{5XLaI9}xn*a7IW-pvvVOB#sOT3MT$`gp=_%Fl|>?ToI#-`sV{+5*t1Yx{h8} zU%I*$hC}Mpahr`2FWyZOUyr}kA*dCv^#H_swi&8GZh$$nLBl6p*aR=bNmzX(cO9_m z+Tp|4Ed|S!NISCEf<}n2+)gP2xrK)SM_#8xhFAEnE+=VE{>CV^U-rp+sD#ADv-QW# zP!%hjWx5rDyHouk52p%-dB>yp`Gl~DFuc<-+{ZB=+omo4$cV}7^JhPPks<;WmsLTc za^^L(MBqOLC`}=IroL2NteY_JRk6l3z6VR|fx@)cX8MOmtm+kw`ln2Cb1dcg=04fW zHCa*D4dHYQRj>u$EFs`u<CBlt8{X1M-D5)iI0~3`xFCSS`ZjpqXcvA)KqB)a9CeWY zsf{PW3uo}7i*-3UibZO%5cG|-cytPf5dQ91_ompz!Xlw<cZizqxRau>0b^3Sb690~ z<&;nSBKL7e5*;|Xu6zbQkEdS6!=s>c9^8xO<PFIL9>?~th;3$vpUL`rLs$p^)8Vv& z5!YM^s9~{;nTPtv|11t<ne5>+loNn296_7@pE&oH42GV4R&CuDEr<Ze@J!K}$Ix$| z!mbpLIsMF~H9cd=rBS4t`-dcufN#HJITDHev`Z44U(jqXG>~sxr&|ytm`?0Jk^$3+ z$ps<2dZ^f~NCj}yrKQ64xcb_{1Qiug_vz}GRpyYySr!qAPF<4`RPe_MgLpl|?p@x{ z>cqv3ZW@o9Uv;A^u#PmK;j!gS9MEsaTqzPNTtkyx-VpZ{ec@}HuwS_om{BAvI`){( z-VFQO+I~D7Pl%Nxpx+IMD1}%AB{WqYe1zgTDDt%T;8DE8<%W207|58g1g6$+ma+NR zxHrHJb;()1)gL5Y=dFM3ZWsjPXG>%-USHKD{KUCuX5USygUKE#?R;)vdo`Z+ly;#t zgIp3=0etvNju%)p4%<$cJ{|fT-49!u>|`#!Q{K?tjIQlxFjKdk=V)+DWUBuydn$}m z6k!ODp0%N)Aqaa5rtwt;y$GQq8`axSC&WN3y!QzsVFk(f2vv#$AG!aiaNX1O?0X)^ z*of*NtW<x{y4>{+trZUlj?yyniG4r+P`ga>)~6$VefI3u54@eS{2ORVp8u41CA~Ku z=vZZqyIG@^8Rg;e5iZ)6|N8=DUtJ-~KZ|GC25w>y%bhYa&HR=N_$fyE6hQ;?WS$K_ zZ?l>ZpT{3@xWfE#|A93(UE(JBBTK;O5nEQ3nm0eFtDhoh#FwA#tP-b?CdLOGvsi0~ zTSu!fl>GR`!fqecnSmU~FC9TcJ**r*Bk?^=p)oNqrYTm1B9=r6RF?uNdZiGFdME@> z+NqH0DFtcQJCMdf@~vb4Y4859!vY)x&14@o#Hy@ZdlDf{8yZo3_NGU{ohX`tVA|K? z3Cd1ERf6<#0ku@og2HQ|1-SZ6zlKjKB`uta{VIXn(UM$?V`-F0Ja{o>E-)*cnAD2Q zD+&c$wG$nKq=~`Ri%V*k<!~445Cz!%{e~!f=YKA5_JuPal$eVL!9sxI2`irur<*a# zia?EaEO-<4VdM!VHfHhH#(#{F*^^Z`QmEWve90eQ(ov-PIB8E)SgPPEY(FjDgiXT- zG*U?k1+4JtTP}n|nT7#JWEtoO?eR<NxuvnVT#LzCqy?6Q`#1=c+2n!XTaT?M0woNg zmI58cYPPm~Wz)4xh)3_TCLaenHy7gz3p(YnZgIyt9(jesVI+?N=SarDf72FWVQR<D zXs5mYv3e?h;s9vao#71i81(>?g>5d`7y3_>UG$9=|L0%6|Gx9XU;g~d_uqD&eEsvk zzTIW#7>br%{?~sE`#Tqd{t5m|g{aQPLnP%R?)`<;Ckx$DBF{gI9*tg+_wwaeN`S5Y zt9H18j816qHi1E)w|(fUoIT;Z28tCYZX1B&8gIa3V8GqU7!@9dA#=I9%jAl>a9WlQ z<^K_U@RlO?^;N~W%>j*k!ov~V+ClA0I4sgH@gROi_Xlv52NXLRS6fdaijY8Z8k0-3 zd+q8^vMH{v02w$jc|`)OIF_Zu9{u??SR-8O?(0!C=Hz86iy@xS2+CCYPKw!OmJU$A ztpjqsA4}Y%r`!QN5(Lcb%|#!h&}2D(+0tY*zyFW)PQEDAB=VTJqdm*aKygC&;b7}+ z^=s%Trv7O5nkBi?@jQ;yDbpvCRg%sMQ$TvfEG0QW{<%UC0C@)|RR14b0R#ofP}O17 z9fp3vLu`yY(J&{@w<UXybAo)cG@lmtlj}aEoo&6f<*5lC?vok8f*uh-ru@S9$IrAk z+ct`_1sS^eUe~p8!b2Yk-1?J;)gLu3r7zN?*JPt>6VEF2Sw^T$^ia!qH7sABE*y&I zu0NCEots+wQg17*J5iGo{w<}2YWHC4O?xLyL-hsWZcl|j6liNXVp^Acl&S=9{V4<; zpc1JmS_QMFiiP`ckjsf{LBtr23S=pl(;*W1oW^gCEASr1D5BkNIm?q#WZLRd>79>Q z7ZzHGJYGu1-B^03tgf6pJSeAkN+V{xfo7vJ%K%w*j*TyPs`auQg}hGf)tPm|!9;<k zyiT`xE(Te)ihHU0kbDX^Qt~NBIYyu}9h&S`0lc0TN?rXnd6WSggatvB!@w#t;4)J- zh2Jc(RVVR*uLZM=4|^rT6h6pxAWw}*pDefdF}zJw`4K66D<>H9>EV5-z)9k8t;Y=! z)n-kTJGze&NVqEvdhtJIn}@+CN#R=%F2-<zwRdth81^Wf76akGQvXPGQhWOpcSVK> zFr?(Fm8zdUJ*1Zdc`SU;J`Il*KREQ>yKg~}Vw{BfS#fH)r9vT4d7I^OBJZ=mQq5QL zpImC>Dg9tPG0kBDyLa<3L;|6}0ICp}b&mF2Wj0_L7jj>o!@sc|`%>)L2z>aT-L6zf zn~ps+rcHB`&>a?n)(nhv)(@cYb1Zig1;qY|4irjR84=>#2l~AdDL+54`jSeeTPV-v zki@2Z*eWH4JMbH)*lM{}m}KH8R$$%zZ<mNk*w84p4cz_)ZGaN{cM!oLo3GO$;*T;t z#uD+zd=1>Ni(=Ch9u&#Yf8e8p=%cVZ=}@2JG>;zaD?a1-()Et6XcTh>-#Ajwx2ga1 zs-obbz`fzBW;gkd`B>c;Ngljd*hMb!UzT^(O@{!BrS~1$($*V9S`5TE0I^Dig18mt z(4lMz<7D`Jxvk{}=BU(^pdI1>Y5I=*@5)y77)kgl+P2<evt@-=)9(Rdi6dB_Mx@kR z`f0My>TgQ~Ls!hpF$MmzKY8beN)T>{d5Ct+Xve2Hw615@PP!xhL&A>fNrzBK6gng5 z<xeP@a?~!}{RDa`DFG1Jf8fmIOPt{u9F~S}0mYm=H*rRxhc=t{OJ@|t#MYaYy=FbG za@Ij{Z~I5bdrQ|jDO^74gBFF&zY$@*|BR7Q-DJ#aV^FFQ*7aCD^fKf0VLw^NH^+iW ziBi1PB0uLK@!bY~#yfv+W5>Aa4y#o7NXd15sy_%+Pw7Bx?tn=5Sl7)(rZBRA0@Lh; zv+K6Up?_Vyo!twp5PWg>?wnN>p+a(UhHFBY>iCD%nGW{BYWm>p9>xvf+X9C%z}9R} z-)(#zH7g_ZYwjTU(6TL5Iys-gA)7Tb0B(4v={kh1roR@fN^P%UTDqc!NrU+M(rgw> z7KQW~lUpLfINN9DQjh|r+=>_@dR|(P?XSF-*50;z50CFdXZszA`I;FTEJGYq=`9a$ zU|Z4AaCz@W1tyr~rVG;E8xH(NR3*~3f33_+u<J8roK6waay+okmCwvEafRhH#URn* zs3NKszL=iSNHu|5TBycGld6XhfejR=q6AJ~DUU<jdI#5zK^l@JU}o!Z5ZRGMA|=`| z$$w-dpfI$;=<LtoU<vyZw?Le`QD);8FOay-R_iu*&|tUHcRM@q;!L`nXjkXx16;>J zb*jg>pW_s_C25caH25SUoklUE6^SkQ--DaaEu>L01{+a&&QncoPM7jR-#YQXjuBd? zl~rm2F<pHu6@gN0I!jGA=c;D=yP;Xp`l1iw`a*6vh`Uz#%5C3n>iK+0rqO#7NZ}9y z*)-d0iW=)_6+6u2N`7GZu;w$x-LXzGDGtFD#eX|Ttdv~2bDFDF4_hVEc171!skn}I zifMShkDrbulibvq-7)!-hylx-#g_|tzUw;sj^gKbR&Y1+XvVq`D-Wgc@Su>AxN>al z`y3ft4|`=i)P+lN*-BTjo8H`{>6gM{tL@vOaZ~*usZ-*+QvVgbkWg9p1!G{jDq<yv zpnd^LZ`wiXvWvZ+IK{>dTEe22B*7cm1iV6$x%2cf08HwD)Hwf51sgZH@<2~sFcj&i z7ZD@y-KgnfK_U-JLgJ>QjE&=4!0p3#8F2g9&SRRRZgWRSV{k32#IZ*ZQ~qgtdck+O z5TgtmiU>9P&a58Yb3v}CGW|1}qwD;Br>);tf8xvGFevUY47Wb=1Ke6v9)W{-!p5rs zdT}{D+eSn&RGp~C<8X$nu_vHV%nf&<N?ZUpz1Ic+Ki$d)c|Whsi3?bd&RP1>9F3Q> z5K|5Z@?nIu@O6y9PPbsvGzbs^Hpd^3Dlus7{FSYV(wPF(6u?>QoI+V);YDn?&@b(* z7BKl+&ytX;@r1V&uBg$6ImRUdK{i2%_;bhuGT-qP4lt%`T68JwFQ3Tm-{la|Vn)JJ zp?*Oii6U})p?*0+V#G!1N{77lQo(-_19cu#hybjO5fypW07RTn5M186IR*>Sd=8R& zNZ)%B5LcTJAFM`QHH-0EG^^h(P?5x>Fo-ND>q&?Y`3|yk$*3&qD@a;4!;T;flAx@5 zkF}_*oITWQx8eE$TzMt(oqeE5VGl|~M{Y+r-AP;d(ooqOq;}N42m^Ka+DLsFHhP%j zYDYeyH(<p4so_c7HuICmNsKI8o(ttheqU|pi4Sztt9ee;VD~PWY(I~`JAWbU<lq@9 z)YC&_FV9e%a&|_&{rT&^{(I-~U%vm#UpqfN{?~7R__q3EwY9U;>rP(ooKVT2ohfc* zKksiLK?|i%XfR5e+CXZ_b;`<Vz!EJh|82*1zrqzfz)Do|@6OKV)$U!soPIQu3G6+4 zo4!sa_qL)hxYzzvzSw{E*6tg0&T9-0PX?$2-em&C=miV993Jt7DnOaXnfneK1~+6N zG9I^NJUWVTQZWiEP)ymS(&1atE~ku>o#!)OEXo`!)&UbW<`N!w8ee)s+(pBbbR3%% z1V5C;hYybI1M@O`<lY!XMedMs4t;F`La3u>H75)oa#jB%GzpsCqi}`~m2X^$URB$O zVDPdLjny0GT!a<z%!m<T4LCdjhm)*B-uDkyC>?l<Tqi0IwfQ!1!NqeHe#cah@-04Z zPamzq%H{xD;F7BWT3|{HZQ=Q{AO~hu1X_3BMl(<J;FFF6-=3bj-L~^BKxY7`YON;p zO@zmpbFEm}@%Ei-58kD7&8eUz?^@98nls8t-@IZ50y(+0RdBn77Q$=L2pN5dM170D z#0lUuPh^5o>T{n$-V5!#vPm16RW&qKwn$gfULtW?f44|igZA|tHyiIv`#9u9F@c@w z*`Pnf?b?`HyfPhow2;I6lYCSCIG*8BAf@pZ?~FqGpK(2*n09oj_X+vn!j*88y&e){ zE9>;<e)qh+bw_Pw?fr6!>yGM^fZK+n)A{vM(96<RzfgxuK>rgG_>sj9NJp3F&v8XK z(!Zw&B%o(qBtT%<=>A2SU;%R48r|7|Yn|k45Z^5Y`(x{B3BYS;S1{m!g|hwzcS%)P zi79T}q&bCkaPWr}Fb930`GRkhXbziXONg2N6ncF>y`*k$*IgJl?Iva9%yo@Yi@5FE z^wan_ds-E*&AlKDFLDy~tICtKFI|}CzF<{EZlit46Ya}rLcOU?u36c{xrwQJx@Iie zi^=5$ZfTXz2_^cs%u0U>VEU6<GW!$S1;F7i1$0TbFZCle2*6-2a3O6{Qh~w<(c(j0 zwRh-h=A~2OG|CF-<Ao~up4|rh4RX$rGG6m8m7LEsHBL4cl0=HRP4KwdcV`Z_ajCGw z(Q2OPpuNe?svUrl6P6}6*YWDc{_4H;yz(p-dRymD<+pRUhV`M<5bFBy7epuW5v++w zoezIabRr+@nvj`2_gG@RBZ)(Z_R^7r^j15LsO2&8y<?yA9Ut%nn?oV!(3U=kQRXFy zKddK-Ypl2?H3lnDF+lg;KH?JSloN9iOr!Q-irjTJxq@53;#RVNrp{3<QjzM$haorx zRC**E(LJ5Hza?T=)h_n|=8Bp`bR#?2Yjj#<HMUx4c0mRziyj1S28$KN&{eN%k@|&e z*ri&elV0J^EXKWlrG5K#cQQf(;go!Mb6#t}<X0#}R}Y%(gajd-U0BW4&UXl-K!u&| z&~JCPBTHi56uN|s@I@$ZZ*I2L38R{Lt5pi7Ck0RA!WIQz5&%ma6*w4^IQZ~6JMa-o zd5B{PDn0z*;KoZ2hk<hUI9Fu{d7od5M^rVyp$j@2PpvUPKD>6vEe&Wpmn$#Qj)c;& zmj1dOqu3^Ye3o9qp^9_pad~nz9`ml^A8j)PS0@iE(UpzykEIofNzZR@Jpj^JA8Oo9 z#@loQ{m>zf2td|V6L*BSVV~iKIJkY_EJ1-hPiKBxg5z_S_SFI^LB&@C3BeNukle6n zu*SITFjRPqJg=VyKua09kmha|cVcYTu)}USEL2%x=cp7GT1@PoFGkJcS|ve%FDN-Y zeh7N=(%B0p;a(=JoHSY>y6c&%Q`~uv+AKjnt|h6cgG5x(11AS~gf^w8KBm$*Ba%cY zVOfjre4P4w)#F@sd#?u5@#IZ)F-Bx5%Gtg}=~Q7Rsf?k4CEW@_<_Q142N%r#z5PQY zEu-w~CBE{UYB^WdIk@_I6`GrZrg^+Li7<V0uieD4jS>Iy$)HE;Q|bCUBkHXoGwMGE z&=xrr?_VZ^-WCZ$-5&C9hkgE?*?86+a$d~N-hy3nSg3t~uyvt2QX+|~>87FIn&Dpv zT9%My4*nhvrxpC(S3<s9;T@uv3!=RMJ#O;+p5#XVCoapoEr%a(IXp&<4c5S+Yp=hf zF;%~x@zd{S%-p{vOt{yyxkDy;h^#T1jbSH2xR+`Nbs#dK(+`IT0lFL|m4kdCpwNNp zlJ_YR1iO6S)dGrx0r)1ZH5m&dj%Hn04ih(-gu8H0I_ObQVE6a;Zk)C7IJy4n!aMjq zp}?W`f-ZRAr15~8sH}RHWGY0s*w&}E7)i3C8G{^z2sQFU$vi7$QDfzEXuj3DA*#oz zd7%4R_CDOk8SxnwuCLDk{f7A4I6gN%3?{U+8gg_qTybr#d_UZgc=P(oL4gx<lINaX z4Z@lL@nC+=9xCvl0z*{|O4vABzR&gK4(j#f#90*QNiHKLM)B>m)=}YZxn^9lU?e*l zE*V)tCA%?*n{NP7gd#Doo)no(X|5i)KGXfY%FjcI4LdV5R1#aB;$eC(P4sBX&N9^_ z@SAad8^zp;bnOOanZy_mg}zX$%wwTeQSCO0xdBG?rRt6YN@_!=9*w-z+j%Hgro0Qm z&=Z(LKaP8dA51994<SMZV?~M#Yw<zXdQ(pT&3jQ5x1f|1i{zBicB_IJGHGeSd=0_4 zzA%2|3g@UTq{5F%=E&b=BPi~(P2QKb)1uj95*P8F&L*PhPm7;*&yzw|;%=}mCf(N- zg1>uLAd}#EoNMIe<gQgFi*(~TrVHTrZ}HQa0$gGX9VEqQcryMQe&D~N;#>Jw<lMTs z5NcS0-4UwV?7%FX%x)q_A_UxSxM?JI5bzRxEDvCOv5)2cp{r??v}c^SFA)8}Up&~m zAK9Fx6a@RFY#fH;9u9zO0xo>6R@!}7X=EB6J#wYA^sHzFZKI$7gn{OmX`um-<tAA( z(>%`dmyEagG5>52MzB!-_2(bH2VL3Lk-dg6@4OFRLQLnq%85gxA!uW>LuEVuB+a|H zi^)nO|6IcqTnzN}Z8XBYVeU3$foGB>SwQcNf5$pA_m}0&_U)>U;|JmHS2DzM_t^KS z#e6gFvHi{c+6ges;(f>S@za+#6e*M)2vZ}Uh2_3aWCq&lHH++P+j9~lIw*jur}vOx z77jwa)34?>D~T18NHaf=>zz}pm%0^Vz&6+sX=_W`I5BU!&|9G1p@P{se%{b8&2h2l zWP2U6kJijfFZ_0Vl~$+u?HUKr)EjnYB0*_sn+J)tD`&FiwyRq+0-ZgL8`al1_<q%| zz6;L7shfn!6`GB61kz7Wdg#m5Foz%V96{fd>!;)tp6u*|Oh<CK54&%EfaWf`%Kozm zS|a|!z$%d*AZm~#(xd$-krHPmq+?n5b$O0E;<TLZ(A51zy@Qmn8YS+-;2=G?_aOQz zlQ9v>TOL!XG6c;p;~_;?HdP$(<A3`P?-yz&T~GL8ei&$u@C^+J^>J0^h5%60ye_+w zrlCJywzKvUP5hEZNlY)`k(~R|WoIrp30_5df2Mum8igpyQ`$YG0~4BkvK!dHTYGu~ zd&H~>n6u07&A5co045!JyF5Q3+Tbg}<dk&;O~rl{U4**Z-HB0Ic+`B(yu?jjXJmDm z8|YI+LBxgl0Ni!7**Qef<Of~4{i1$^`4I)Tp#++z9{Ny82`mN-+>nB1O2n!P;=|~v z|4gXe!U(9SZvIR|3+ROPUfE+{c-Y&lM+TDE8jnKSq0{d&y~?+OD5d~FlIi2oH(Z^e z5CJG~mQGHW4+mUFX{sqc9(Et&V{FTGxD|w6F0A|@5GJ_&ra!AoK;`$>j5P~r@k4e_ z&fsL=#KJ2?9k8w(%I8J7A}bR3Zs}uH&9T7s(;4g3f7zzmQrrHC0#ZlrP4ZYjqF>Tm z58GN};OoV0)w!n!;a%UTfoj*whhANelda7_A065?S~;)uu_x+pRsM-U;rZP26YngA zEq~&jf$@Igo%JZ(EacTQt|giF$HY5V;GEZBVQaBXvwcK&(&U7~Ju1mv3}k>hosoSq z?ssmVx>vdT(7W``4qU^o`+L4=$VCh0Iu5&?K`&T<uG4PkY|=liJw7||_O@%EcpouC z@Ayo;>`~tm&*$@T?@fDpd4AqStZa60Mm;r+=<#u4#bO;y_;|nR<HNL_?`wAC-p%wH z3-;hX@NXWv9~i0;Gml)m;h+H^Gc3%X%c^w0=RPJ6$avb<2!r733swhTSzI?aRO4;Q z#kD1~qdgqI80#TRtHmjE<k@vTL~60a!>!@qwUrSADV8;y18+P8AdurP@mlUZivZ^( z2#a$JjXIG`6f-8M7dfgqszl0blSjC23b;fx(x`-Kn3Wl9Ot+l+h8)SoIcDL(g%M>h z`9lMV6fQxa;lTwM$SGauU$sH%ZO&__ESARAV7S7#2lMA{XFr9(SDU+@{S;uJWXSE$ z3M1I;;a`~ZT4&F$2EGp@UwU;g6b7f_kaPOJ7UD%USAMaM*I>@oH(+_IoU<_d@cNCJ z!mVPA0x@sk#u5qf+Z`L65#iXovjg|4>)&+Ui-o5$D<1L?2>B;9FH7V&4Ra^z%X=Yd z;%AZ0-6t90RzzhZ_mayeW<*$dzy3=E<ms1t>6dhg^t><k<CpvCmk$<vc@V!mNWXlz z;LF4K<zf2eqXl0c#V?PNFPC-WqyL&POitKXI$rmHZ660i_}_!0M{!>mgk2nT4SFc` z7gaTaip!f8n1^!4bDZWQGoVA2;YqOy^(|3~RQQlP%AgTg@?((yzrA<eZtF<a1b=g$ z0%oZfAzP#flDe^dDOpyXRv)>nmgHKimr4r;MM%UE2(SQ9GMh*J1oIH{cV1&2Wu9cd zxMt+uxpCpeR(a~IIu@~a?##%@$hc=@KHI_Qeb_@8NTeY$P)St;SU4i}{lgcJyFWjF z`l)w#JQ&>;;XA#3FhQlM{%xu@T2lfChsA=U1lL3^S{|Wx{@ea!(tOeZjV*|`3tZAc z-OgSKpGUi4y17bQU2RdHqcX%#E)Y<qK@Geez=l&^5ANPCtOa&^jHc4hs5Dj~B=tF? zM|yAp_+(gva2F{^bPjFz?h?UQe3~iRRS=JHKqUi_9$XAWtgC^zbBDLggK#Zb7MqKU z3<xv*yb2*@cuX@8`N?uHih3$*ghHDiXkgPFus;gaZf}<t?}1J#5%WM+dss0bsB`CT zjM~m-6Fy=?SA6*<&kd0r9RUx^As|Z}pkaK8K*)$s-`g%6m;Zwoyd^ZuiS*NJkjk7m zKPybqXikKm`e}&o>kuL4SPT9ir4)ylgh#BZ7bq?z1%SmiX9R%sX7fhFd;?w5uZE;L zGtO%8&H}vEP*c*h7-;||FK7@tW28mCmL{l33*$tkDO0!jx+7q!aTs9*vsCPv^TA!~ zN{UHmYuUa+>S=^4Q^}U?EA7b)u1rZ=wyz+^B3zl;wy-Z=mLRWVPnjB5x*4(>Lo^zq zPQFlIO3dO=X9_qU<*xNd%pz4W7`%DUeESW~ZNKlrlYNLBWpzE=eGT?T#Z2>m(r#JP z!O(N8oZ)34+~d%c5>vldOe{BM2o^|0@5@Crv#++)4}`A^Qi&8<R}Ix(qd;cX1tyxI z*6@BkxjF<=5J%naLS;Lyv1_ZuX@l^ipHZbsi+AmrI>{ZoAQfjZl9LY2b*+PKz-dt7 z_hoE_B0fniuNWjvI9!<QL^@FPHcP%!_T*AVMdJht=F4i6C}gBnj0s+d%Cm|&c@YDn zIHfs8P1CfN%tTB6d!A4FS>z%$cRmPx30cp4dIe^Z+eDW5mp`qbdUZ>wh-jKj&P=jV zOUM=mo-~wYxOnFDhJdesjTAq+7g{PwfT5?K?j}#{9AdB`=cUkb)u&#T7d5B4kCwWW zRG9SJW)3VZ=5U1#2IS|armcMbw6gN68=y@q54F;5s46U_l_#<;h}u-ME)EnG9;lk< zhM{!F=Jr<QX3yB9afL%iYa#lKI!~sILOKT3oQ`a2uGE?qtqNWEH=v5Dr#lOB&^c3Y zocZ3W<)*w<1q^@g3Ubt@6O;;MBmUk^#-}G;u0S=VD>{940UK0)%Etp7{6Cby{N~%@ zLSXWw_&dp?szc}(cK|_iOam%5bM>OQV=oi*i6j$oksZGFCFxXYY4MU%sH(c;m8eo& z^xUzWh#}cKvtZE7UCwL@woILdyJ88<Y;mf1PpXr~pfBK%2~-hr4NhIyD?6*>nxY?7 zTvsA#5!bmZKH+*NZJl87&Bb*#1;h1D1Fi|oxwtM!C86<)1@|I)Bi>=Q7Vy4X#k=o( zwt168Oi<pkTw(~(ywe8W2^YZ1ypzH^)y1uZDC6Sh(UK<aSp~$FZa0xYu+!&~KsNDJ zxhKIfpL^2uGorZw_q@7@ZK9h<Q1D%(7tS>ImL;gfVlvj%w07icPx`}h0+>RFRU)c{ znj;bAfwN@+F(TS?BBF&0pt`D15W*P_S0y7t$$T;*1YDYoR<Jqp5Q1r*`O}K#d6B?E zB)sUtz`lyQXEttHkX+U!4i}W^$l~BwOJpuw@VAO&<d7D$<g1g)*(`lC-?^sEjKI{& zo0;PEmCfw=8>W~A!1IDFL5&SceH9Gb%6G7p$=ABVM$YiJ>P99w=5J)0{BO3AE1@sm z#+7H;CJz3`x#6(5k$l?{o_*8iqr@#ME9|b}t2`8<j@(pRyLK8Rr=Dc1$BdN)9~o(d zcvjx4H3)%~a)S_-DK`k=6l2}Fr`@r*a`oYrP(}9Q>bT0R%tQfUs<A~GTd_qMU9m+G zUzf`uCpGD?c*b!!NOP*6(P8|~Ymo4nT1A~Ki@$}c%B;*AiDj8hO^vdMSyQ7d6xP%z zi*YqI%EDK%Q3@7iOTt&`AlH|i70Mgr-z%-1n-bbf=Ro~rswdBTMG$|o$}vt)r{`J# zqc?rz(aXJ6x9n0t`eQJ%VsFk+Irnz@Lx1{yHa<~=(6gY@gr_&&j^E(cy2Hmq+`~Mw z+Z(J?+z*UIqITW}SGwg7HVp5Mgzoh8VESe<IOsdj`6mRs*0lRJn?@UYTLmVFJ8kUA zSTvt=Je>~5Gu#!y|Df6VC+c_lW{m5&>bEDRNzqsBjb~Cs1f_cU`&+G7Ufx0aSF5DZ zmAp@8aG{BKvFG0kdHjzbdoy^yrsfPg?jH_%|KqejIs01=7cx$f>2G*E{>Sjg-br+@ z#no>^|M%X232D8B1ElSZHqy#AKMoG*p2yD4_V&rIH#Z!U$q^?27q0YEG|*LkX~v)R zZGM-y$xnk1F_sN<=AKQ2d1YhBiI3X$sM9af{1l6J#;Y6i4L?b;;V(7Pw~ghD%&xAZ zGqb!e(Cx`IQUytX4O_D2oBiO!)<&rtgUv=|K@r!yxjU$=i8exy>7jL6o63Ug0u@R- z!jL+&ClA9Ja(niKD!bT^M}DZno;*wU&e)?0dr~=4-H+DVayIREwT7oXmuocbmv2ye zFfcZ44+4+2M-^gH!3J!~Uq%p1-eve16NXTm<7m!}ixpmH_fq<&MrzWdBY94bFuJ^1 zpk9BL_ZU`bPM-*Vg@&Qm@YMSCO+mX?=R=|Xb>i`K<<EMy^~?uRT73H)_K1AyV^k>S z#+FnF2V^;W6Bwrb;ajq4l263(3tunF`Xx_DCWtDi^p6Y-cv5w9HI3s~k35C^%h5rW zjafsrchUMT@FlMD^07a8)FWN7g<Fp)o5{5o^YQv(=>1x+6yAlLC@gHl?zP8`6?@<S z+k-5dN&t8*YMbJZ6VUAjt>58hOeAHi2PP@TrJFGoYkWCoV&2e1T1oY|#yc@x`Cc2J zP_2=vA$V<o5`?uGuxhXC9pE!%4jMeGdUVG#HizobYw{X1B~jecfk>L-H&VSQ_bkwS z-FL?!p3~7`|1C}+9MZ=BBA4OZ6;eZN<MW8)VV|qIwAa6WCIYRl_rSIVZJdCEpkL~x z<+?#SsF3Z*<~VB=z_gmo1+Nmu&~*fpjXQ&u?!&~G#2vAj4KuSNoSWd<GLI*d@g(5p zv%Q?uCc*a5#b!d<AQ&}JF+6MG25-8c+>J4a4ir^|35n~hhy5wtxqf^yzy*5m<nHf{ z-kUdgJf6Ukq9n|X)_Bs|_<H)GKb-aVm6}`L==Qf8z9w-k(whBqFGrZiKjn(hCed}d z{bdWans2}C9l(<0<!rs{qqZy*;=|U#S?h&7`>?yUcYkZU_2q5mQo_ynR04$_`RdEi z#kw*x_fXXCyX3;5@PR_OUi`kx2jRZUt&`#DyTRy*o$vN4?XNo9^=40d2YpL52`xLZ zCEpYDygxl1&R~2qUkOcjV$;EtEQ}90NzTm{U%Gj3pVE=2I_qI?)_XXa^v>+m>$l&u zb{15K*{fAu9rfa+M98C3NXQAH9<lI*ln_4m&d^dDu4BujjMcpTr30mTZz!jF+&e+u z6)mVfyX&41eD^tDps`cGKtri7&HAb?(7-wXfqsq_Kb;S*L4(O&;wQaSsV|lMX)UTZ zE6803N*+|||Eq5h4RdKW_v!&-zTspdhD8Kr0?mMqCeC^Xv<Cx}9%+$=oRz#Tn`;xT zn~JKUFDhcYIi#J1o@-YDJ>&g}l4S?e<XWo1<!2_T9XH<G#07BU(IFMHz_Gz92$jQI zdQ=J?!abB%rHJ<)YyzeIFd9}S#E}RM)6I_)I?^(cQT0b0eK6fT8czoQi!O*7MvO%m zxMN|A7#~$$VR+!sUkVy{G-ZV<aFEWZ>CPuAtmGSyGv_=MzsC|@2Ziy$lWMp#ksA2N z;6wLdFgk?(pxomAYdXjmfFa9n>0=~9itqbphvSbUK1nhj{k#0q{_kA-DH1kv!?vRd zB*WJ^Cj4_$fapX2W$!?&dvf2}ez?^VcMqW6c@R3Q-r(Zh>Gb9^U?in1&4baFnM`6l z*LR;wk<EsI+4+)6s84^7`&<CyRov&o6k3V@o3j8YPn+WpaAONoelc1JrjvNBg)3=+ z7hderz%z1;{;sh-i-z9VE5-JTHD31?sd?^sSS9R7_rl)a+wV|TDQS?Ve9l)IQBtw4 zHliwp-(D#y{gqx$PTg1Udu<mkd=-XCau;{H-VB$z+DU8bD2i*`1AB@qB+fRE28W0J zc<p3%a#}t!VSJyp0SM%K;eh)UNn;tQB96W9tG@;Iy6?3xVkfFun%s*-d0`U2b1&Rp z<noa15L{M2>mTz;g7$f9Yio;sl6zjPu>BVOc7u>TXGti-r+BM%ldeBHZ<)=AKo@JL zY!;GB848|SeyQ8mr}7R<0<3Ty1`$TEylVB2XWJ4WWV0&(p>m&W*GdJqtfbv6mW4Z* zgpsoPakJepifbU0s=xbs3)i_F_hwMfC%qv|yf}G-0_DM48=cmKjbRG%>b;)w0Q!6l z$gKWbtPLj^=#s6_Mf`xhj<u?Iu@U$Z?l~V$n;L;@K-291+Vs9qi%+{}d$;ykR;_Ls z+u8OCFQL((VGeErxN0kTh|Y^m7ji#I=F)G2vQgl9n)F0<EZqJwYo}w~drb$U)C;1| z9$?|D7bOl;MXrJ03tpoEEKh>1#HFd^USOsCq%d$jDQuYRVvvJL)?d7pmv8>4wx5wd zN(NA(4+E5HLy<OPOPDGMWT&f&wVyIcb1+GU=Y7h}gw?lm=U%e<QXv&V37Ot!Cv1Y( zaO4)aHx1T$z-7H1Ti~{<U?)ijrOnnvtluGlgZ;aRd~pI*3Vju(z~k8lt&C@nWrOi} zHR4Q5Q=g0N>(s412|X6J8)mS*L4mu?&Rp2pv7rbu9<e%<?ypeS1P;`rz!SR=<j=5P zGT4^6*>vo{h04Rb^FqANnoKTVgN)#n5d8^=y8UGVAyh_>)-)lz+)*}z&6PXN_XC&f zPkZ7nc|qt*<b%86(3CH_s862O%kG$N7wc^vAN~<gnax1IzAPfN8%G0%za$o<N7Fy= z$dx~xdk+!{Tt&Q`Ge`!isGqR_jWiINNpuh@xEMJ#l)mxTAq~Iq^}%F*=jCEH-g(H* zEp$E$e!K>zecZOba>Ft7CYaz;ujYBB&X#sX*#IC`scMpm;=G25{z^ExOequGh0%q^ zMn0v<>@4X7YZP!sw!ge~W<ir$;GTkxaEG)L*FiaR-+ys2f}|FkMxz>Ot=a~5w|$x> zyb2ViqY4!Ei=enRjkPuj_>E0h#v~$vlvrz61a@U5HR9YpP3K0dM`JklLarf%3#R?x z&PP{WGsBw|NBi7cXBtZwwrNi!?^NNOSw1rXr{TOR(Ox{aZTcmFurvwEt|}@jOb&D2 z6M+<@UO|zGlXB7H`+0fYDUtW3=UP#cYICi;Ph0ZIp=<at=i^d3+SSafqNT+tRbDl( zTvFiXubFk&q$6I<j9fd6bMc24S(B3Pc{Q*`Z8CxzpD%`(@^m=b<hz5vPiPL^T>|d7 zxS2-h!(KqATX|0|hQd`s((PB*39k+!QC=>h@?SX&j*|<i$#%xs_1`PL>$f6~O`<}C zC35{;qY2SzSaPt^dv~4sF`@S7=oED@R|#SykJqG+RHLpZh}Lh8v&HL*eWMyK2QibP zRLof!_DAn#M=i>zDR|*D9%5=9MD29eGR4ajxHsX(Mp4E>=2{b##k0f}=%Fq3k56W2 zi4J`W{GsZ%mYr(HZA)LM+Ny;NhYIFu)n6TP%h!D*jdT&EL~%gv4UG6aDczOoQKprz zqSQMb+Q+H)NJyDVZ$Rmu*gEM=a5C?&xP}<<3f&d@E-}38)A$8)Ul5$O9*xH*mPU<Z z!|~@Ttls7l9J7bvq-<{O7DLk3Llqk;fjsS+a^fgcgVmmO$$EU=e@CTEC*KdpT)@<r z0y7DlT`5PrczK;C+d9K^zV1&h#6m517v&A)v<IDV<Wy_=qv7~x3WzBZq0&hfpPc6m zNi0bI)r1yzsQO$Ar#QVejn0Z9ojr?ywBZd*<AWt$%h}DBlxbEtxG9Xj`P8MnH+lec z!uKD4zz+LCsiZ$~22O(LJf(4>{j1l7v!2ups?zuD81=)Ph~+;XAqB7B>LC>!N$I^0 zgLgeTgwQ(Z&p!71$kV1oIFx&*d~N*ADYN2Ta2e{!Q0;!=QkUwQbA&M3U+CnoNk~1z zzyQIe?33C02c1TJ!NI)o<l%7G-gre3i*Lw}yZ)MpM%^I@HMZI;xq+r_%4PhT=a-Tj zzxpc8fW<3~hP)s;ruq=+00Wo?{q_c)a?lTvM{;k&;~zd-!&?R%gAANSxXNk306{;F zaa;Uk@a|})020IRZz0j_5m+gAz59TUXH=fu3!^cBHsb3oq}i9?yw%zy*QvRMO5=n+ z(+nurGkvxOn4i3Dee7>cKrtXF&_sW9c&mk?zBBv}Kas{ivDt_V#$Y2oh=5gO$Kld= zv@8Z>QC`f!MCxUepl%t0hyAxRpLuBt3^NWV(`x86Fe?XxkmZy3x|J7l^cUIWTAPG6 z6R5WIAq|TV@yfoPvud&aM*az(26ZlAxH3CSm`LHIv}ZDWo~NT<Vv_YELO2!jeuUIZ zJsx!996RLG#xJH?q*G8bZDLHc_mG7_tlzICvrG+L81vfA&)1N~)gdykJH~2TZ1GmB zPmDS%Gikh>`Nku@NE3n~rho7^eA<j@#<c=xu_2=sLYAdk+CZA>irdhJ!-L+N_tRG< z_~3;+9Zio0Z)Y5mJUN{nZM<&7gos5jL53<8FcJOIi8qs*bcEU)8}_->n}Dsm%+7o+ zI02qWF*`Y$jR>#4H)H5nuh{Zu283hG#$Iq_yC_plrAiuvQc8YC+LqIrJ23Vj;mDr2 zgtP}q{ixEHO<>8>(mwc{W4_BGkp&*fHYJBSU1pRJ7AAdMTNz@b*L-fcavIigV^~kn z*^{&m_GJEA*A|j?sC}9-1$!8Ft}OLy*;~q~<&5l0u)W{mfGiF|YlJ8HKS~E=9g#R9 zd(CHJ2@`IPEOj7Oj2+#n#HTY}L`N_k{NOvOAHt-Ozx`}aV5T`#nE%of`TY)H(t;?t z>v6vyy@<@phyLg&A5J0na4fD%MRBYEIhc^dn_1$wkWxrhYxeaaU3aOE5V(?q-2|2> z4D~*d^w<BD%9n6-n{<fOW9$j9Um+sx>VXUF>b|NcKWniwrB}83;>4i7oDAWd1QfTw z{1X=d(xBVk>n%k=<JSbbxHjoS_$&g(tYhqc3h3Yd5;BJh5^3+dNZM<{2)38(FM)S; zcVz?w_Xq^AVgT7)Ie#>#WSnqP;BYoCBBI$%Y3e<$^*zPSc_X6GcqxtJZ8e`{96drs zB0Ij@Iw3!H!z~j^M6jb|>w%gcWU=8jDdr)&_J9gpDAPt3LWTenoz>@EC*1HMk#P7~ zAm;GaE-wj>zGGU4=G<lWfk?pkxXarCuG;FxxEVg&=MN(b%5ar{Ep9L#thCSAJeb~$ zb86a*2^f=lz*sOgiNWE4b#;|RC?i$WN=YuD&6UeIE;(3MaL;GGin})sRAEjfx9_$3 zaEs?2-0$fs(pCF#_g3-YR%=hGG^)6AtF4f~UwyQcW4HQIvws(vjyI~U!70sfw%sDG zQ|$4}l<51>Rhi)I-B3!}c%6^Mp2`OAEb8GY{s=DoqI&vN3L!lG*qi=1K80>_i0MRn z=TC(1rZ>VL;0EhYkvTBigyBlQ-pvtIn@v3FBQCNzJ?i09t2A}(1<AC3?SC`?+6;CQ z41f)T=m~4)_KXB=W*Wj;m;##P?0L9&qiW=<%%FBSV#BJNs~T(Mv-|l38ZfyRQS7nB zD)7|UpQs|rbbkB?)wijwz5``~6Ya=XDloguvejB!!@I12UX`566qbM}y!X!CSwSe; z0<PJ&@7UgWV=khALI1cJbJST4cR<|>kW<7PRbM$l@wwJ;+%qqy;P7|>^6-8h(k_NG zbUFuFrtvswPWt4heaImpM_HmxQdxiq(o-V#Qhp<0N&4`wV?*6+CPr=e@rd_bJ9nLB zYk{CrwmmiHU8z)E6Z!XR<;ge<`iEN=8UZP|b$N$=o-W<QATQzA1(TLyZ=f;S-x6Pp zEQJ<+L(tIdPK4V^Sg>~?!6V;Y+>2^`bKGCZ)73@^7!=!LwbA<WU2d>1a7ikOnYLDA zI7&zizc>2FF#Kr*ZI2Q;+7o3D_A_Vm_OwKl_O8ZQ1*$}$HrXZJmshi3*ueQ>;Xzm! z{IV^@>l^la?K8t+{<%HPx=HBGdzs4>lyXrO%_O<ei+Epkh351KZ>~0qFuKfSrQd0f z=4+b;Eb+4{)|gPByAl>-tl4;O0-iCGS|?@?bEibCDJq5rIgPuHBDPV<TvCcQjlq1% zwsnMoL|*T_K!g1y2XA76zk{0>2hVHnsFItPH{<n}JxsW8D`qK2uUJG%6p7=gP&{W> z-6!mcOIAK)ET}7t3UVR7Uo9(`xE6<_qL+gdsZjMW&9yH43WX1)<8;u>EKGH}!4V+j zH`kFJ#{6vE**wwqLRa?OsgNoFH_Go&QIMEN?$CZFRUW@b5)DcvE$P%|QWnkoy!F!o zm5JQff4gu|gOuM5#|OBZT6vK)<@0=WOB+|cD-OJ{{$002CEPAs|8DPIC_<;A(W}|K z+T-$g1AVS+)L+YEMWQSB<muwnWK5MD@Hego&b>OEbK!x})ZTs2*{5p0e<FBVw60XM z0skVyk<R<K+W7mXY*2?^*=)+L2BMLx(1qR!e7oQxYyItDGPS!5=r=eC5rCqLo~SWt zf=C-+;c?c^s_J@f!x~<nAlz~8LQ_sO&}Fjw@Ia<t%G&l`n@+bz-wN^F{t}b22KQcD zU+zp>Bi)8P2U3Q!#*2kQt5E@9V8113&@XuMNXx{*ErViyrZazlsaKMh*A(II7i;TO zs4TR_G+n`3W65A$#RW)C(#su$<vwef!gB1gTLY4^DJCHK`UeX<s0Hu-ipMi$p%hsm zgjTwPo&sDHKg&pns%uw1UwD1-o@z$W%1AF|7r1p!8w`YZhsp|7`_<oA{tA8SW^n?R z%ZV$W`|>*#U!@~l2aEJ}?f&r9#*A*lMCYry#b@AwD5gg~ar%>!l$q8Yxd`A)Q77fB zMCIvfAzLuhYmB#9O3h`mpCi*<;YiDpeBM=6@Nr>cNdr|`!fa1wXvzV}k)3<{plPdr z{cn@OVe33?rBAJMa>D_+_=`3H{vqew6Ou9b`v(1ZG5BBoPc6uVeQNP7k6)EJF?J#1 zJrg$xJLDgIWjm4N48Q7hhvV`4Q{3Ld;sy7(xD^%J)Q-TojADDrTe4yY9Y%L7?QG!f z)dL&WBLqA)nBXbh>?2j$^jo7W;Z&p;K!Tt{^h0i+GAGFU#RpT-b9fl-Sb}c+M70bO z&pH4`mDMe!3ddej%5bF~D&fGj9Kc&uX-xHsok69r>2l_?%v3=t6bR&RZN=Cli!YFQ zNL!PskW!WjSCRpco{KsHWyEU^+PLQEEKBeO!nu%EoyN3;-wT(H)!7Q|VOA9#z}fl= zqPuZ*1$&K)TPt?EOsKwawkVs@RfvD=ih5;+nvhLw=N4<UBye}`JD-4DX25i#0M)$9 zYP%Qh@{Klk1EY2If=P3}<h@*MyINm?-~hO$8lcPmAzKuc3XoL8!Z$tY!e}Z?oWAZS z+h+b#=rB9-1WSH0#tEN8$S;wCOh@i^Nw5*C;a?p+5LDtuwkLtP#(U>w+D`iyRB2Ql zZ!Z3<q%dbggqsd=RcV?jS5q~4k8p|&wLrC9oE&iRy&FKK3l&#^^>Rwo#X-(t#QEX6 zE){Ug8@_l9Eu%T7uj^35ay_J^h*7xR)hW+kxDG|hM_E~E+uKbAPE(FBI|C^b^KW$Z zomY4)I|2OUU+2bdtzf>DssXE_G$T^$9#LRl6(u-U;H@8>9v}24f8qLwI0mSd63gx3 zgIu~$<7~%EnAOUpYuU*{NyQygjV_`htXy}Gi|a`pJ%u(=t+@<V5cmZdJVPL5iDSSs zaO`E8A^clu=FGWZt}iFAGrH*P+$W-N%Hi@F{_BeA2;@Z3e4=%>$p~3CR(&BZZ%oFz zU(H->7RrCkX_d-+T?d1U`?|#5ilvx$S7RubU|c)<9lqOxIDX1}C*P$rt}?$$qDH)~ zt`?F-<C7K|SGgYFu(p_3r82U+FhdYPkwfpyHTA_Fa+vMR6p^)>Dn5=e&C4(yA`$B_ zoZyb9+U>P!W0=GhSQicBHromX?o<KnYM2Wojh}5=Wr3U&ppoX2J2$m1ln1zingpm& zD>Bm+$k2aWzwr3j*IE}dQ_(B<bRHHXz)}gVX@b_n(sjrxD*7r+(#8r@TU7lB)}#?e z@0|6ZxbXR22S<#Yqr?&Ey>qmn@a-+btNg>2b+|j*`()cvjd~5<ml>a-s-ULf@K#`T zIQu;tkL-XlGr!|^)t_BlXH_ri99zvg&FU8=niO;|J4{StDil(z?gS;UaW!^*Kxk`B zf9Z?Z$Kd!~^=BFGypDD=+~n3Qz+JDr4ZD|0Z#Tg`r{J~B=OW4{R*@LHTp!+E$IldD zUsH6(2J$Gh0lKzh1N;teS+_;?j;wAp7n2tKRhQeh;99Y8v<ylvQwOvJN7kSM2bG?# z!9g{r1&%#gz66ICA*A`m`wdWBi#+nf-dVRRKx__xcni#I9+17#pHPM2>5N|mbP!Ma zf;PeFWZ3Qh0~aN<ssAlJf}azAB}xNm>+7&v+SSX6$(Ff2pc|5>w`mLn)PZp*rB#s8 zDXPNdy*5v<H-zDdAw!FJcaoq%;_J6syLX}acj(fF?fds*X;`}zLNK!caa2LLipxz7 zodhVfCoj#sPHX@{eD!Vlq|=C8EmAj;m&MyI>@A?U61f8(eMJFrs#_uK#s?DrU{>Lo zrdOImsPesh|H#EcnBff<7|~L>=-&~3hY-${n(u6f!UsNmtPfhGGR+0J%4GTu+-W&7 z?KqisRwPp%15+6mX_er1S`A$XN;I<4SuUnk^y#R(cVB6>a|e-GUr<M#P|gDE6=`+Y z%dThBjuNR7=Wirc8n8&JB{49cR7Jx0%nGDRgB3^u_qWM457;MjNVU>`fm9>D?-IU= zR6CvG{ceykWl9aZJ{y8R@a4RNZNc@*xA*QQ*5eL^%Q-%HsEV&57VGBs%4z~B;chy1 zaDPZUml)>!7SXN`Rj{3rMT<VXXAow|j&A@jxC6q+PV2Oj=75LwoF(MOA-o5!`E6{N z1)C};(IO)Dj_WKzzOSq)E;$1S?~mAb;*<57-Q^23c6J&rku!f6tgl+PMD$#DfT=sH zK+x@|jkiN5df9`W|C3HLA};Ho>kKiSc(T+EM5GLY3wyOv6bkTl?vnMdC@RUXP(}8l z@+~e_g(H%9D>A6kSc#TWID;)PiY8eiOJ#O(>;liaQt`SxR0-!rMjUWnd_PyG5Jnp3 zUBNk#Y!T<Bv91B<H2#&z3ALxwwphi?FPrXQereWeH)bKIwaMwIi$lvuqGIObA6$oh zpA6)Zbzk;(7L4zUTk<>iDHW4BR5k78sNXx}6XmrK3(y#iVAOs=9<AHN*)>+vesA*T zD87x>F*>UJ%&hr1h^NEIKr|-!DCKKXb&-0qW^&L{jwU&1`7UPT+bAsIynjLFB@MN8 zV?1h8(L1Rz74)6wu-CNH&V$z=mV^kII}CE9j{??nd4uzhgp!xY!6nGjFYRUfwE;Hi zzl9It=qauorFxa)5w)*9v>9!`mi|8(2-346=>-ppS{n?_K0*)#guq6pEMo3ys+MKo zRjz#9>AY@B2evunmtaZ$W)zJ_FL)e7&>kU(2_^erJR#%p_LpdmKdo`PhB`Lx9e#j< z)j#~p0Qb{R^s|TAL+jvPc{J8pAK}RByYb}A#?2mD2Y0*!^7XJUj-&R#X^EtCYH0E~ zUz**iUz)9{;Aw)CHDxPhqK}<&u`IKC{uEhzyQTZk+}A9tenA%#rR2No20SBZ`n4=& z*{#JCWpXrCojA4cjn;}ikc+6=1M#qC`0zIKZz=T33YxP+R?U`*o_kxdwX!>m^eU4( z!3!RHaJ7QKXEnGtMeQgS?t-9Ay&y0wMb+rShi-N4;Ro4u+nv3V4NW+#3<D1tGD*5! zl0w+$MvZ*xEO|QQLmy`M!L8O^9%j2?7#No8k|ohvr>^I8jHcf44(cAjU-jVLz0|J@ zkW1T)7^!MBvT_nKeu=Cp4ebNkHr{|FucKjD?M4=F*^bI4o{U164~vpaSbD(&ko|h) zbj}x)gP3w0B#IBlssIvA-3H3%J^^#y=YnjiWo<NJd9-{>o&|`i3RJWBWh%}HhBHS3 zVdJyTf;<B%uj(VG^%AIr8kU4h8k5=rj^Cjq2G$^?q5>5!Fs+7ROFvaUY+Hgd6@Z|o za-tybB~VPw`b!xb&{sUx3Q7yA9WJ4Z)=?5@i}1BL>oVc)x4UJ%D3{Zwl87-+(o>V; z^lK@#2p?N^GVM^hY)o|)_&*BQRY}gO_YEZ0(w-@y!TOAyRX&Xs$Y`t_=&kau4gutl ziT62Ovu^B-h_za~4hm6RjGXtFEdW%QD87nY#9ZCd@J8r8iudri%=_FWWkk^gy#s&P z4${Eq1d1W1>O@vE=`WaEtJ4cvr$~?$o|p8t+F_x*xpAR6A1n|7ixX<Yh?Ew)3WU^t zB@i<whU+F*;xh@}V#~r#C+=ucY3I+e7<2Jj??`5wy0R9;D`G}5SeGZ_I%VYq8pzW7 zyAJn_yGTmjo5o~ZcDY>KW%FRK(PeWmMj8cb>``4x1S6gQknIL_NU=q~aQ101;%H%b zSn;u>HnflFWUPNw_qP};T%%J}<f!1|Rc1-MPXl@Pl#I&_>Z!TbiIeZ5Q?Us|@jcMs z!9_D30c3q(pzOF&U;3ENgVj1n53LjMc9X*wv}u9TWlh=$XW~{)*y(0KEO9Vzgc#-+ zIKjSofU-LjkMBI_q`O#s6)tVyEVggb9NBibR%JYmwWR86q)Z2BeGAyP$c00}FVe@Y z8KnVqlDbQ*DLasxG+B@na*vC>@-~rf>-)snUIIrC=+?k<GV#^CN|_tSPo!CsyjLwq zS045ng`*?5bWYco!&_a47z%8E6+t9|<l=&8=k7l8p}$U*M5KbsH|y==!D#d2;Ba<? zk~cfs+b6%?T<0^k>M~q>%(f=I^kDWoq(saSSW;|(8kxkBClolFBeGIpk>pbPrQAN& zbI=pT)K34@MhFC(^jf10OD*VMef=Q3CWgU>kkc1_7MTSjH6WRz-`)@3q6nCj)I9gm z)@1qjV~pIYHw4N^gRQM04nVNM(N70{@$139J!o!*n}6`hcT`BAg=+O0ZXjzez_&&! zQ4ti^m6}JmQb6>yR1uc^B-M2S<g4^4jiS};P*Fq*D_NV=B#+1F`%mB@^5;cVj+&!8 z?5J2`Au%cgcm?TSbvK4FuCgKr1g!ZlJgTO(s=|mSpuq|*QhS5Ah;?zP`WuN)kfcv6 z$~)HvEbLQb(js=}Xc5X>Vp)$2WZtc$mS{uj&#MH8>nPVs0@vBOlWLG;ojRWq%_Mw6 z-QNeeM$C1shZ@6mN8s>*JW#~=-Me9*>gZrO&5f6P_rxe9uOrH;vET5~`1oWzLQMld zXnpSvZt@a;7W6JIsG?iU>-m9`;yCv1eJVR-5L#`Xe1cMGl4wSH<m1b&Pp)w#S94g( ztU5~UufChERQpQA6u0p8t6wXRdpZ5fJORn+5O7~|2V94e6=lXMT2_;m^!LC2y`(77 z<4jk&kbYLp<*<THg@YK!RArls#x*NesSP#;c><EoH%G1FPWM}-S^A{bVByy_nq_6T zi6~M+pggF0nbaB_4Ga(Gwtj`6l70VOYj69(-Kvt~d?U$e0-mn-_?<<0TAs)T>b&QV zbmd1?)krw_jWmrkpb2sk8W0plCp8He#huD|kzo*dCQ0?rTu!bo8zJvH+dI1#5{vbT zfvT9ymywF;YY~d+x1p&{mscqh(|B<&T)RkIdDyF#hzWq-N+2egQWA$QtDV*R@kD<D zol!PRGHn_Qeu>RP+k{PLkRooGMKwu2@I%I{>^m2Hes%KhD%WmM|3M6*7JC1~V0=1# zR(bC6=h)aa+xT#bjJ8J;T$qWodDZ9fH;(RbLfWIF{+svx!<Q4>HW}X^j}K3WeM?)D z?6>${uq)4FHs%fFuwd}~5#9aUKYT35_F^xC>0hXL=2O&7i;s;v#b@f%3z+f5H@Rn; zKEj10^v_b4kVt#GUlV=_vVyJ8Hu5u=Nn+uvmyK8(xmBX=YlFf4@1-E{))=ederseG zrR0OfusBHo7XN!GSiE&JEOZx(H(Lx#q(p!de=Y@4{Gb`A9i(90h)tIROaWRNkY)gO zp~x`+iw7?4IRH|6ycA%i59a_%BwhMsG2kU;0KiL+mjb->;T*t`gLb3z$zs4WF2!qp zI(gGquC)}Xl^&Y*=`P(Pk+oe6oN`KlrGG62kbl((3Ic1!g_i&#<IMz1_Fy@XvQOqL zByK6ak@vqCz#t+3UHG*WXrcWaxQNS!mWzQR*+Cw2KxBU|1&%dth6P!xuACR(pji4j zq=nkB{12L)f1(~mY5v5Y!DDe^LO2O5^5wTTo{2w2OPq(xt~^vN+Ru4QuF&NI=2Blu zC9=KmjYbHszv*)eX&huW*%9F<$qvAlRV<Y)Q+w<dNVR?PU4|oVgcK41<hG;9M{%(A z7B#-x<C7WAGf?nB{@S954USE7)0<l}d>8;dSJxl+m!VVCM{x|km`zaYb!&QhFnu!_ z9Q36Ie!R#gQz#%Nl5-JIVo^@}W}761l;)BQH?-UMH#mkj%*=y=__mMxA`i)nx%AlJ z2w9&EW6P?(3Yyj}IFOS@ilgSZD{OZ3OrN#=$Y`Q4y49<l^{^3sEwxEP`&)u0LTZN0 zUD8EDJIALXv;t6^1?|}|sii=QA2h+V!&^7>Tmy>MR+BJjVSQ0^mN;)!)7QL&O0zlj zRNU4^Ik&(3lBu`#WsB5pc7V6&icH<)TjR;Q*28B{wzQQs{_{z1(mQUQO9{LGL{Utx zaNH$UW^G!nmq&fMiA<W+I#E089IWSfFztW+VLUkeR@|llsMUIWd@?(uXa&8+y&t_< z3mO08;fMZ|E;$2b;tcML?>XDDdEDmV*Lu^l(VLbVV#FcZ3|;cQ=d?q{IoD~%BIH+l z$p#PvKBH;dnXjLpKYhW`0C}36keYtP<0XIJaBw_8&XF_n^oCdyUeG`BA!#Le>;{3% z3<;^AXZ@SpJBfj$xoLW{0LB%BH>4Tybx)GEeUTDdslT#Tg;Tu67g{=W?$D}V4*F9J zU+kp;5>;z(8}f(#aC|~Vq+iT>v(qUZa5Z(N{&pFdLYFYvs852eali!t9`|qoV}C@4 z!U_P^-Yx@R_^1G2cq;=g0C3s|V;s!R9^rDm2{vhl!0O9oz_V|<I14ub<x*vM={n-k zTG_B=DCKUHEiMpTG)8VJL@heGOy%!vD+nz|GDjxpM{tX7MsxrD#ZQ0T5+*fxd)6+G zQHM=-KI+_nC;W2b{QHM59(S?nKOIg^PkO^m@WxFrr(e%*<G*yl#&<W)Gk|7eQ3u*L zKmDRyStG<?W9YN@u{Xd?A${D3*~TaUAZ%+i*&4qOb0zi1Kcct)F~xb%^buX7`LIP5 z1X|;_;FkSX??Z1eq$@$82oW=xLf})uati=6yBDsE*oC$EM(?PR^`KG17#Y)q2^MuS zT}Bo{(>8zTIOQBllfP}4=c@Nnt5=D|z1|}D(^piak{vlx+lcODvAAvKb*ObS8_#;f z=lv<Jk;jpx)HY0oc-^yykN*APzdi2$`0%gz=lNE`7#K|LEp)8$#Oj^5{_{Uu)z3fn zCL;(!YZ5Px(uF^!dS0V<{Rvi*VpyUcZ~chJ*p+cLxe{M>fDD2_8*6I~Em4~IF{ds^ z6_g@X4hUUP+WzI|5z`6i1GmMFNEEijxSqB?40=pWKR<ymI`4n_<ra*M*%<|#HW;3b zbXJ#oCh=sc|0z&ioK6*AX=B$X<ZYLo60{H8C41aEYaR4kgX#1X^#Ac_fU=qWw{Njq zeWqA3n{0iCI_%sz>TEUOYsVFwNo9K`k^ZaK2~o?^Ik}a55BTSf<!mH4ACgMLo__nl z+E<h$5q{76@R~!?9`+BzHDq+p?9uom^e=yFT!eM8!DuiW^oFADG5L%~!!zK!Kf*1< zbcT`qzpWlt1gGPMgZ`oM9acFS<*qS)vdgwJp;eQB%}uLPC~FyZQFRp*s-PFt2E{gh z_~_-6zde5XKfy$v{PiXN|M3sqCqJZ*4D0nvhwJ@UAw~C(e)`+v=a=X*C_1W|0OY4n zyMKH5^ykMf%8(j?tOfrEYmr4Vsu~e=XCv-%CY~$=K(gosG&nr;hzxclHXYw}ZFYgG z?sgZiP-lLlF39l7Te~@{C7N+d>daDysFp!&>=5FGuMy^ZkxAPj)dI&`5AmFdlk5~D zK-2GMGh*Ej`R3u5y#t`WqBi{S_%9ECe)_We;-{aVKY9$zVP%8BPEw536cAITLx_|| zKR<u|_^;N*i|)Ta{+}<l;EU-0`qSHX>Hry$p!ZE2aC9azg@k~&;ss1;f?ekKWY#}! z7vc*<YK_g!+xr*ZlWyrQ^-T;6HGhezS0N*_qk@mLFSJUzm5#&YXp#Janq;0}`F|p| zA{(c5aF+2Sn1m9Dqtz9wFfLD^<$zb!!59}A>oXzddqG+<WNgDZ{6au%uY+jJ8vhRR z<qh9^vjvq)!(88=JvnS^i<`*p&;V=zle-D<@o$udN3bj*1k0Q2Mf~1_X~cUn?<>IC zV6{AZ>JzX`C8uY%o8#G)HjJ>*EP*D|mOc0k7$=R^r_5<LFEG<LAlQc}Wb?}_t_cKn zv_Jf2o!Ud0kYL(Zt<I<Q*T4AatSW?l(~zn}rFR%I{g|RgldalXdR#@GFDNqsU{WRq zGjaxXnNLzUX6mbLUsq6+PUi%n=>xb+Y^}M&iZHgSB~`3vBEITA<Q1}s6zu#!!U?20 zls3l#NVK4jG)i0rtrU%6sgZ$Y?8k9@X`tXXse(eTl={&0)Q6=XSK%98yDa>9-I&@; zsykgYsia<DxvS0*Fd^EiMhLYA>Encrg~OCopKO>~g9{B)(15a0s_zSfTy{ZTaz-$D z?i1%BEfo(~vL~<k&D;T9@Tfb2;Vh0mdT<@;U)fc|hLeGw!{)711ywJ2WLd~t6>ec% zP*^mqHNJ<E<1raB`A6RP1S&dws&InxH=)S7D?5<F&qcjLg)&#htPCd?i%@|koo&^G z!G;I}`{bK-^0=<Q-ndD3ps>9P2)=Fc7Ji7rsRI-c>_gE(`ihtPggg^%6iC$J$Vj0` z$q`gR_<`tB1RFwI=%m2(=X9I9f6?imU;gyNPtxtE-#<)l6tIx~A?}NX+5CdNs&KR% z_hBdPCx}E>NlS&Xf6UTo{)URV2dBf{<SYqzG|K!Q#x$e;1<Efyj@}e3W6|B(@M*$i zb^H=*M<=Dn81ohCQ5N4Bz1Q>?k=D?<@uB~Xo-%5+`y^tU1Tx!^>D$4m^_M44Up{{R zB5mT@uvu&#-DbZry!H@LT5aW1vOQcIL`ea+#MYCi+}&S97a$-%3%q%YSDHMd8-9`b zh7J1N;!mw94k@KGR7H5SWx{!tOh~3$o*5%5{lr{e{Pg@~_ortspZxUK7d4comX1+1 z%+TkLJ-A5G!^%NiXAMLhic11gJIrx5mrxLzk>RUgK<Px_SYJBqP7PomKf*Cio>x+| z;KX2`$P^({)GUGL$=t4BR<M&N{f#L(Ox~R$(u9x#g}wUZDOB8}JNck>gb(@%w7<jc z)#B%*F>oU!F!d3kGHjg*f2<Kv8GbM|vo}-wwD*$aw3!4e|GCrzB!4o18=^EI#--YT zt=?O>d0IU)&~S02XrXNPBhm@4H4oMLQjL9C<61pIAUQYud3PtzSF($h=UdJJz5*6{ zBe~}V_CJT?5s8FI=#QqSKotWmC<9pVKp=cQ94ZFLi4J$6b$6&U5++W|MH~s&<p^f^ zYZ5j<!?btoE`>GwzP&+Ka_IXdTG~qrXR+6!k2+(JBQR%oI@_&dKr?`vGaennbqyB^ z1qnF#Ihcl?ro+LzqZy3h;h6o&Xfa|yaMm^UfkG7roQ?t19GpUXWO)@jGH}{Ax2kwT zz?G)fJ0J>vL(-l}4BK9wLmu<;hu)MB>We^z8ZHX}z_Z?atOBkdK#B-u$l|ajMJx{b zz;Ecu;C4?Tan_fE<33d-v36@YnZW(*)2ZEk_GejbjS94&YP9|=0;3CU;a2N~h;uB% zpUpUcl5y@st*vcH7aMf7dGYSH;GA{V4wyDlhp2jqVaV{v8zex`ySNm)&z}DLZ%=Yw znSlA^#SzKpo;m{wS);&>*hTH<0^Cd=kKluw_9=3QE$22Z5dCB{>Q8<czj-tqym|i; z>KPDis8GxfViSB$dXp-XjUx^FJ&@9zq5jevPL~)<9Vhv;uy_9(oP0x2*8wt@wd}M{ z3nej;P5{b$H<tJKlgQihID|ve6QE>*eaD{dgFXnwcDBwOA(O{sVLjz4;QdK^;{=IS zh$8nvFgZm6rbpuu{8Gm<mbMekhR5h-z!DvRk%9>MZct)5wD)yM(VN4^#lXQfupKPm z=j*D?iEDmQTCKE}oU6d5a+YWAq*L%%SYf7=hoD2i<xhblI<{yA2_0G#U;w&U4O47- z2^LUmAR17D!}Wg!GEF*(SkQJ)rCIPURUB#?+Hg}kOe~k?pLLSvojq1}s_Wk-^8}2K z2%M8!*^B7D(qszS#T#%r$pj_*+3jc?8|cJZCyNFy=oo|JrTO1^*X{{M+nW^Zz`tAI z^SF5io*oqbU?uOyjSYP#zbV}hck>Xe<6(b`0#@x`>^^c$=lhl^O^#n5a=KRQbo73N zP#;BcPFfo`&N0@f4RXTCo^r7jm;%?@JAk_yREYx(Fkq3a=3GHvAo4yO()OFavSifn zNHd)t4c^W+;Pc!#Ih`JDyl&_F1k61%X+cH$xk5yT^g=2=vPLUk80aYgnJ;5jJRjYI z4SnmtXMI=g_{u#h<B@s@`deyG3MLG7Mi4?h*|2<P`U(Scnx9W>*@2Pt*&n{815*&x zghwXDI9;N?NW|EZ)~w>wsJa-nGjI%AF4_SGp6_%U{!Q;>28D~WSBU4!f_s{j#(7L~ z#T-I=_Du3B2n+V;1&?dLo_TE(e<GjQPneWb`@15u?Qv%G*+WtI{8QIF?fpDsE(98^ zIVs!rH_3ndJ9pFDQ^Bp|j@UEN56D7R-d?i(?Hvu_c9^!$98lJf;Np~JZS*6Z!~Gwp z{mGfNP!rgGHUvBM^AM}lCwZh%AJzhC)_W;DX74Qf#(r1tl(Og1%Cu*>K4niUDHHZs zQZnq9sgw4bqMG(MQHA}jW}N+`W?bvt9uTJa(3m|SSp`07KdV|{+F#ZpxgG6E$aS?x zrpsVsIKgSW$(l&d?vS#_1dshK)E~lO_9DiE@@FXklAh;#l~jTlJ_zl?ju?+}e|Tyo zOxJ!V->5yQ8IkrP6ZQ6xLr>{P$k6qNwJn#ldv8<PX;~s?(R1UU&toIGH_AV$aHdM6 z&zlvPP%ZN`CQHlKOe&o*@xh2P+nk3t$r7UXjZBJg_}_&OR}D5v&eDfAPyR(FgHxW2 zNgVpXWDSQ1ae9oi+VWoXVUl}W`Xn3O_h<fb20|sh&EW7)b6|8o&*?8q$g$q^v%D{3 z26<=pG@F{(lG)r6>&U;)Cbzs?7hEUqGpEz4;$)LdALsK_&Xo7455p|=Nnw)C#qut) znbtMM&~=3w8hEbD5UJ`cNa<duo@qm@XS9B<f~~Y^>~pAN@~MxZc7uI%W9#$;w3Rd^ z>s4S-m2RtEF9+xBVH;TMn*TXUiR$?X;ey#y1JA8IQ)e|>|CP=)QJM3csO9)Bv9}d@ zmq@}IRF=XXr+9!rscB<1&K4zeoWH_el9K<FqD^pSH=`JWGLxhDu-g$#z<4EdPYtCv zxD0UGQl(ohN7&^^Y)8yX61aTB{m}nlB*%8n<diZ!^i0(>k>m9A1pW~@U=`RmJOFKq z)7{duSNJ0xmPffG__1gGZaUo$Yp?gV-yMx-a_1=Jpe71LB{*EA!)2atwO(!FOzUQc zvMY7D=@KQ1An<i<>oO6#%m%K<iBAYOOZXOgV}aFuxLW|E_JfM{@BRumFUrZ}Nb+I= zYdTT?Vt_hywaIX)0_`(NTupA#dTiiPG&Hz|ED_bLg|C#&b;`8Sfwsi7LoRZt`aulC zY9Nz^rX~Eg<yKG+5)niDqGkqihcR<Gb1bYcbS#iNs{iW=cqDvN)EQ2ByREp9D#2RP zkuDOYrKfhm**H7GX69V!$CQ5Eu0gO*6pPD^-jJ$}`;#dcK}VSe$W<l(I3H&subHo^ zlNy{La2DcItoL9@zBaN#>BK&g<soiSK#`o98!fnsH@=>73gf<F9{y}?bo<*hEps`L z<sGI|ag|(PPSl}K2@b;FZbE@U-2SqKTTX93p__Xj^(N#xru$Giv-4da4r6Ruj$_Ck zYkk<=+PlBCZP6Z~U?{Nt8+2O@-I!YJYh8CPT!!sCclJrR(JkMq$7%Mi(2skkbdy=p zZQL-wQ>))8*AVJ{qH}k+K{EW(bky)fZ(j>f@I`ls7|@XR;H%qT;x|*DZn3@B?Tuj{ zey*F!S>>Jvd_?jPpQK$%;fFQ@fyXE#GH88G@M!NkNqYR%H+0j*x$+BYqJ4o`58jRF z_GNy;_ay7*uLi{a#FM8RjD`{fWD}4_aSpr1Iq0WLO(PqoaVB|>I+^hBRt|1qN<vS3 zH3XqnG4uv$l{kLPZgioFz)kc%a5Pt?vb`=tCdRY|gvR&y8D3%^cIjp!PDz;(@&)gN z7(;pGejsimRDY{=2Zqfq1XSnlUMh0UI$P*fKyn1k>DyX*_t18sg?H|3KX7O~IJ80$ zO$g)uWX1whe4GYMy^40Y?Z%+NjD2)AALPYW?{qe1mluU1Q6+wqax-=Dxb+vh6BE_1 zt?5?8!q5q!?CMp%v<XovNbvH_t9KgiN7WsI_?Zrf-a`-zVKs%yF}Uo7JM*XngFx7I zr%*z1x1s3#yorUcK!KUZRzlRTGKe8x{xv31A4=bc(d0=34@d(#7A}9EgN&GHB;h{> z_I%YnFk>s?_Srnu?t3JZ6HyprU`An@Sy0TP%qUfnD&BzEESFpvT&1!UiMqRc7ZP>9 zo1mLe0>VGLq$^A!-$3&vcD9-RCF(L!N0+GY!im;-uze?O^~GE(wasqx6IAPc5s;vF zA?HZc-MfF~*WuYv)eG@HV^Qa~f#3Zj2s_)AN%$<GA{7N|wn168%9E<JtB?3c7k4*y zmKJu+lIcRiuA-hNH&5MU%P$PdZgn1z6{;#688@?di?cfY!fTWAbQ3C^BN94r&xo>a za)~rqlIBk0anT7K-)2kLBidBV`vg7%Q#kxgJzc0!9nlmKR6!r%{2w*pKNO_S>(qe# za&S7~R&ySF^NrfxUEH!XIP9;R^6Vtbxe{<_z*R*Gt*No#tnw$@oqCThnc{Wunh~P< zhIMrjBMhsGLEQqw&tPGZ_sSP5-3_~)UEeob>K<LjRxH7qM9ZvnjcyzoHn&01$%ZC7 zjSVBY>4+BxT4sH9!kjAK@Ii*7!Qo+l#6}D1+f3nodN}07K&614*X_XmGEvAQyUB;R z5~4Ysy-va8`y*9bF4&}uh^my1tB7JDwu;+w!(;VUry$e0w|O_$GCiT_1zmBK-y~P- zCEP?9;mN3q?>(&cq?`-;BbuVVvzsi?R~#3Lw>{FZjr%&9))Br~TqWJmxV`$lkhDLW zIVpRlV0XjZ@3L8z@9y|qkrbE3tUws(U?M0D)i{IHefe%kg0gZsr14VWYrNuCG#ZV` z8c^VAP)0gm_K?^+Eis8E`^w_a_`1Fv4ZWEpfa^2wi(hb0)`af7h!=g)&{Fj}`_frI z;r0TA5nPaA**dEe2JzhrVYo!8kwwmV6Ipc1dwDKlWHT_r=xmh<gP^Psh5+Xq@ha<u z^GZcIb?v3XR~a#L$@u&)?*sxHP4c+1g>8Mdu|BC${SFSEM`{pz$yjaZ#R5;Jz+8n3 z$pe)|o!SFWt}P3<fJ*02R&f@&{_G*sofYbfU%FE0lNkO%!aLU+g=ys>2huJPp4FOD zS*=XoM8aB|3yHFJN=h*{;kI%}`6gGC@LF<8zxYB2Lt#%UG}A_8iPBxaz`t9);mqoX z*^-B|Ol$}8S&$wk0%aO{{jW1r^pXmf=BH++-}+MjY5f@|TdDq`oG<!BkvV%MWe+7( zN16Oui%YCdJN?x9v(-L42l;W$lKs}f82Q`15u)D|hsQw?sj4XS$^{W$B8n+MvZZ0Y zWoM~^c?<jij+pnWLT&nk4r(pvAe>mhD&4+AjFcAuZw$9X6s|&abhD+&18e)C5!OjR zl`(h@IEaBLnLc0JDA+Ftv(bhdI=_?~Y;N8FmL@1XWjzhj1dv<a^p#<jlg{l#B;s<~ zi>-ils#sURjgt5$1^t<xzVM$nxBg>{`<^#i8#f&+8xVML0JV2h8{BcdG6{+zU`x*3 zf+j9Xi2l7{;T&7VNDeWcAqrA{`Kd^HLSPbf*KRTbgbz?Ql~bP^$co~o6&rwboEjJ& zRNbrQ`F^_1Jb!wdH^L@;gAnvPCk_Uk$-Y3;dQe5HuFcvTFL=wV^GDZeA6Wn+ltJ67 zHj~J%v`Tp!Lht!W4kCL`Pjr&Y>Ky*g=R-0keu?8Dw%ZYZ>*53=4qwqpGGWW-iqI?_ z51w07VsSQyc+6J?4s)~hUn);c$omc|jLgR?Rva5@!os0EMGwwv%+3-5!}$?XJbb}1 zL2FYuO`&4ZyD|HqHbEP8!8wZR1~GQTD{McMhuhCQ$DNnKUgaXzo(8F6k8Gb;_k)4G zWah9!HYb6TQdJirjg1<d0|PzH=_$~jrKa*HHPq8`+A3dD+GjPLQfBDLrJ2}|m6yam zyj&t+#v*=)JV1nw)KE<7bukZ6P{&DtSV?6%5XM)X^p_#THTR`*{=_a&(30%9@|-_G zg}b%6j$AF_Pa5$)VLftAwqG{ox|k>>`)TjV`)LN3t_)}TNu!XMQ%{M@hyHxC{B$Y{ zQ~Vaqhh&SG4M<x2oiqG?<XR<ki0DG;eUOoy+*j*nUAL!Ou#}!cB`Z)p8r3d-ol(vn zoF7Q>ftuh>N)`1-gCTCiosn6H|LVzD<K3vHA#Y#Zr7H=j3#5#x^{C9&+sI>0)}-8v zy*vB3ZI;svu_Y+Oe@o8hghJ995)pFt8B}~(-Mw1c;fVrK3sRj9!yCo|6A_@l{iQ<T zJGl-H6(II&Gw|U6X<~grCQ3JP<-vC9)X+pg@KbiXvVG?IX(=T!_0X8z5V`}#X>lZb zJ3VigmpS!Ki)|2E3au<UgNZ)Rm3Pk1?mIzC4=bG{7PNM<Mb!03Zw%ma-Zdrv5%BkJ zJVBZI{f$tud#xBMI;EoEKGf-u#!?X18u2JNZ$#wUT0+?rsLaAnh883jS^(;VGvDAV z(D0K`>?R$<=mxso<f4lK8CeH|L;6}zlVa|%-Qi)^igLCw7)6|rbAc2?WOj7!bV62# zcX>Ko7AS1cIF?O{J4m%6QO)(>Y&i(&O9c_|5r}v9Qkg?{TwX2<5@@K!o9eleGiaJi zG$V+;*_Bhzahv+j<5Vh(Q^Am?coHPh3`GcR+p&Jl&p6s4Znp2wbjzI4l`zaT!LN41 zS3=Mi=4yyEEX~-^mi>ll8_GT$V4rGwb>cU3wxFtHE-LW(GTbW+%ecySazsgOm!GtK zFp4b_-c>GOP8Q<wg}|e{Zva?lxZY#zs`6pRUTWPU!cr%nloCsS8N~{sC51h}HV?_6 z88Ny%2orh^?X){$yQDBMQP~g%NsYWOAEh`+7$mEZs>A}hqjxt^Sc(3W9O+89x7_N~ z3qB&VwGa31_>ASXh-ncHztzR57GUY_Eu96lijL&g(JFBbKJT%+-=QG%pJ<Vdt28M; zRN>L;Ae7azL_amPY&g(e#(LSd5EQ5jIpm@UoT>74_cfykeyVlouN=XUPvVc5d^G1E ziF}@vN2;!5ezRZ=slHlHXGda40Y)QJ+dLOhpN7ONU8xxkf_&zL8`jWgiYgm$t*juq zMlc+#pb>21lG@`iY?k&yJ&Az7gPfNRrIz0B+;cdtNW#-7E|fJQ9nw4KbxcO6z9LRw z?1&h~(uWxoPjZkU_uNROQ%s(UW9dIW?Mt0rKoT2SR3>+lycaV|Un`+Y>Oj&0lFaW= z;+zo%mnCZZuLU~_&Id{frZX<WO5yIaZ+(uww3p}S!-4l2j(ub?ZaZv}BF`#U-1j`s zx%B;##|{!}Dsf<X>r7PKp9mMX?_8KYdS|P0WF&vyCx#4SHq&@8g}r_Z_u2quvC53s z<;!l3@oFy=xrrRqBE7_0qsi>4oU*IJ*I-tZg!xQV&nM{5BTe;GOu4aUJ;Ch=Ate)) z3`Yogt*Z$owcue_*-l>5u%KjNW`<V&2?wNBPsqFow^pssvkTe*H8Gha(R(p#@^Ut_ zlYtzaJ%cyQE(qo9gy9fWg0NmRs9iM7HDIfF9lael2?n=K@8Wb_2MlCqHyk-|=COk1 z$0D4Gd^|#-zld6}CoYX$mlA~p#TkI93X?)JOrY9oaUS4kJU%f3y~=E)1~R(#oTSyq z&A7HN^RhC+RPf>kD(T^31eXnf<Y<`FD%ld(Ay5*_EeVw3DYk{Y-8tZ@QsZ7-YUuiQ zPwA?&F5l3`s={Vxfe6{T(YdS;nRQ&huatqKlJm#C8B}V8FS%R`0N<=x0a5Xv?f57) z?_z5T)pm;71ShC=g$kooZGb8~=+$GW;8?XUc7k-gS|P|Q;7j{2`Il^-=rd-&ub4ba zJwcN0K>3h&y5{NK^@+E8Cf@GeOAZI;d;e78EtpLZezP>4waS~FgxJL*(G6=oR$Vl0 z$SP}pVVxn0QnYBe0IRbNs=V6vUz8hMtpB_U6R8<K@EO|(K4)Lte+l^Hv;P0RfQLX_ zTEwp=h+QbGD(~;#EnA7GEZ#p{Am2Nem+x0AAE}i0X|(?SWgrgwbX`GvJqpNWf~vT4 zk}e>|m45vmE+ynlYgT(yx#BB9`RZt?97J`E?2f0F-7VcZ8N*R}_8S?I55S1Yh}_+N zkRqJUi2tditO>d1!({(5BL8JXu9b_SEH7i`Gye<Al+O0u{k@9o(QL8-9YV2-w&%;2 zf^@;rqhMTdUv{QCJg*3qteN^Av!t#$-bYPfrBmLGW~NNZJdVzA7M<n3i0csZkC7hy z46e1BUoo3_*|X?254xHk?vbi-n;$2n=TE}0S*VA*kysC?0L4DQj_+K3p${IW>UpdB z{<7&)q@;HGcQKn?$}o|Y%!ac=q*$%Sqo;|W=*S!G3!`QG+EUEX%R>57`bVrM_7qN( zRy)65TcrZUjV;RszIJ!yMMl1yENRX!0L?j?J#`@YEi+KP;dS~LS1>@9=i(O<6uz^R zZ5e$OxPCA2b|i;q(WhnIc;C~-Lby1H%j3d_x4>^V+YMu474POh<6B<D@Orive&Ev> zACp^x<WNRvHM<jj98JQHS!LkpTRe&b&F;sq9)uqNAwyCp0yOL7?_&S>FoP?;n{{^G zWm;fOv%w6;L)9_biD;X3BKR?IIP2W;zH9E-@6T{@uikS6bk@1+-xpv*F~g(rq?{Vk ziRhkn?gcc?IuXObO$2|^`#5jNgYn_nmSodaa8goLqKa}s)nqt+H?|NHDiF)LRH}56 zML<;m;rgX_<JCi-k(L$Yhg`k$doB@Khup%@C1na_piP0IQ)f$-z@ah_g%y@bhD=&Z zK`T@VlC<xz&K8Z4@;XUI!?D6wM#d0&sqB!%%?llp=eYo^j!=lMlzO+2N}>PVa{nCj zXKzlaKXc&}`r9k_XYexHGey48weoRGs=0`^ONDnmtEm@MP7(s~9sRDnuH=oc|G)p| z|NZ~`UzP^ekoq*66C9WkdNB^}^m0Lse3K7%BOLf0z`!s1$Y+qhEo<v#Eqz97Q5c-) zf7$Nic5N8tPGOWIIu`0<97V-{MsqJfMOgGN@<|`jMEu>+UclDTUS-K}hPcN4e?Sm- zFq~!%rP=)g7^ITfPR?oxy$Q=Vdr<fi0MpiYAoB^tezQUqS--dqw2qnhDb<J33OYMk zIxpn$f=`jAZJ+K|J|)B#)`OO{VLC_IS{?0#^?-!OcN#`hVV@`;(z`HNV@e7{dg@H2 zd+dxTNrzI|9pBz73>C2nUxT4!uY!^iZD2(+GR#-lEn;92H67OTnqP9`c>*poe&q|X zeyLV8B|2_z-w&<rutYD~+Ojh@A@kk`{5u@f_6V0G;V=cZgk7igsdsoh7~K|8H@$s8 zH)r(y8o){=YjmMd!99xqJ=lwJI|B-Mz`J$U7D^{m1kT2TCi1zCgHs$-<8x;(d1BWx zTpdjerafSa+V1X_fI7mfW{@=BYm@cOh`e|LhPn{2_K<!Gk3?rTcqG!X983V9G!K?1 zHZ_eVy~ucXK>-+VXZy}>fe6qN@0-W7WVY~WoR)m96GKOg!@Ur8bqYdDOuTuZDaxlD z^df7|mP$U?g{A2LgPomJv@T)rXzqOGFA_eLAv)Va5WBngBk>rOp3Iwx==M!ZgHLS; z!Po9yEao2ZwSelTZzh8i%8!df8HB(WeJ%&IkgQ~Fm++lArFJNgfnU4#LUq7|XbgeV zT+J(b+#6(|Rp<ua8X_<ZaIw3)mx}Rb!(hFehKX~p41lkcUN97f=xjeoY|vHxKX{Qt zaNVklGUQ0$Ey;_px#3qG9da%;-Zf-a(3`Nu3n_^+Z1w7}g=U~2EK;>$fKM9WzkziX zJ*@0m#i03twY(?1o`q`@YA-QNNW`lS6IE9p4HUI#w8%OVVre?JT1S&2*5&0aZiMQW zXcDlWPXpWNsBw;XIZHc$Qw>dJ$<$M>nux~prbm56?wbLLmjE(I(x@n98Y>S4Ry%Jf zyq@7$k6MRvj=<o~bl9akYk(}%YM1E@#5?OWt_9u#3ym}YrgT*PmLwQ7-!$WVjqxEg z-#Kqnrf4-EDm!(Xmh6OjY$Q1zFP)Uh=qA&88D(faZ!x*EK!mla0cBxs^b0pz<949` z_VUN4P{G~F<>YX|_({FyX^5a$>;nU?5IM20=0{A((dEFi10%#otc$d|0#)Qb)@Eto zN*~kRUsS08oz(q74qp6Hpo~up5CCg_Gur6&{_02Y)EO3!wniRtt(9amZyTMGHD<D) zj%<bH&8-)jO(6B3A650|SOnTLj&?hSC%mqJ&+H6M6B5B_&uv}OBx_YyW0P2vHhCTM zj@D+A-U#`~P&~URVrP>8mkw+-JL?O>A9Z$1uwdfqg0gP9nd>sHPPLrta$s1$TJ*Il zOXe<OHt%<cJ)d+@vt}}$lKaNd7U00!3?D$rtx7qwKyI}%v3&Ww_xt9kkK>(bKs`;k zkT%RWTF;b^^bmI&-I3<Q`fk{%mgkL4E<q^RMk^Bvd5EfnQt?7ZQpw#}aI_XFwhD-m z%8t|rW>SfeYDm;i)i<JWRZ<~9=93D|KjRQrLn_HFA1NTtE33!gq_KNVqye=!B0O!* zLLmcNEpiZ6Nuv@_h@_FbE1O883WyKpq><}53DQr(>>6>nDs2!X^J#++a9P?|I-}hJ zuA0(rKTAr)R*JvYv(+&zkKQI-hp@IZC>CE;Q0!+Blxn!O4iKyI$?a>rjvy+?U*oY^ z{HbXVQ5Kr@m*nu?HSHnzYgXPv<cY5AA&;D?*olD0FhkQ0s)AuVXis)f)eM-sfieWH zx`7Cg`5TC4{~K)}w_fC!d-_?V+DgP8L_5bEf>^TX^;I7CPy=O7>QpXVqkRw~e6@_L z{4*nuK)U4y!D22q2xfD+L9i|tn2zIc87S*vZ7OIr4BI)3z`7r0y)8Ry`rsni;(_e? zoy0q<pjc#YVT&@t;wVLoU01eRxCoV)FU21UC36DM&8@Iof>Wb@VwY(<;iujpE>CJl z0~)<%ezR~-K;|ULJYG$WGEY`hqs&9q)F|`Gghtnq(w7qEN@t2Z$<UMYycmT)S>>#d zr|ZF&JcHX9S3$3Ecfk#+ZTDYA5>uUs8xl*iGGu?@>i_!QD~C;SF@3*HU*1Boc>J?r zgy56wPEQXgzH-oaV5I$x8<K8?QqNfxYbZYq3*?SA@%n|8aZ3;aj?&|$;3|CxU>e|r z=q%!>05{?D(sx7r=!HX@FNQF;)k+sb$eKI#AS#4=9#R3i_TVt_bgC!Ai!Qlz?FN*U z9s@7028Xypv4}OJ8@`M%j-bRs|DXqi6__}@x#pi(EyXPg!=v58FuYQ-`3uIQAIGOS zgq2q~SMTEJ4YCoZ==E^?hKql0p={k_Ikxrv*^|TeMj?c_aWk}<et-6|_m1v5Xm9k0 z7FFXdm9vz9kELy)^xIcoCH$}HTdM4awRnhtCSRA`-jK=}AdL-N`_vn~cZxUVF_lJ^ zX%))qEBS1A+0xIctbU^Zda>lz>FE7v{BcD2izls(8|Ux)XP-7a*P=T0tOOL+)vA)w zMHDsix0hSk2exoli2Vjt7WQ)U@j4I^gBym=xmD|J&w4lJd^Q^Q(nvPyf~xgO%ck!> z3>lyH><Ou2*^fth@1Z>`?O=PyTT&_bS*j3ZuPX<*?XjiB*l(S;{mkp;S69JW@#gm* zB_IW^wBm-eC2Qti@sbf4{6^L84WBg%rdw}9Ej(;)vRak%aVk+O?XBOT7(EP7HLsJt zR4PWV6TJRn^a&fThb>i!UQYGt#z+)+)s^TK4_-{AScyK;G5$W8!ahD%&=??Gh_v;w zHyO3pzfSY5b5>Y7Ac+&i!f=R~I)a`jTYe)YmzeIXVhz&K63Ij1#d;a~Fz#ntgI*`w zW?eO*aK*`xm_R8EVDa}aK>zUMWXa0&OfFP8boc%~h3xhzQYCBc+M@1UdL!3O*2)R> zKK2GPdDj)~MRhOIiYtdJ=+OYx$RJaVSgFp4(ycb$XMdDEoQ>c2NBN_p-V|obn<F?V zxT>RmPPsccR<v*2Mt=)v-rW)PrnAC{`BDBF$^iAN@A+5Wfazo(30pd-l%Cyhy}EVl z)@ym@@?0+U>4L;?4M`uK)Zw^ysM~t)bvx>?hm+Hj-f(j~dAEt?zn<Y1H4adJH#q#} z#<}}opV;TSuRr~Aldc1LJ9ec-)IJ6%;y1W)WLja*uGJS0pZ1SWW@jNun?~8<eq(B{ zJKR<{)?dhiszXrEi3$K5x2=R6KNNxk%<_k+RPfgl%$&u9m!kF8N7}+&bSTa6*YTlQ z#`<CEwu!iLq~~-(AEWzaZ<}4QVyG12=|->*5XyUVgv+1ajv-W2@loAz*W?8C<xl8c zF!{y4!;)pROLefn`UW0+=MF&g7~YPSQFWpOs`78s&fM_iyW{2wTC)P<qFtK@uSPKm zjs!i*b|>GSPlMkx!vj@iPI-D$d1gY{Y?do2tm<sO<j^7^;2M+rvU2I+?^p3`u?)J) zGKgxWexc0o$%5)PHBqGBNhW?g!|7s(<2iXVLTf68%7;^N4JNsB;vu+J()V(TbU8Mc z&ze9%&CjeVrh*#1=1wjbVX)P_&3vi|J2uqcT(F;U)xkAaJ1HQd7BpD^<YJ~%i4x?< ziEA)t=*#hqx|cl%0!fqZ@;A0{9UI*|_@!-LEO)tE+@2TS?H$_eUrS#8x7d^e><iR( zd?s3tZo<}EXilw-t=suy)owTbYx*u(8vadsRA~PciWpUqv;p*Yq2+mt!XO{|FM9_t zsfm45RpX!}W(=v3O~jo9-6{U8@3Z(81Rj5)mK*)7D4ka!2Evp|1j4U<>60M%=Uh~u z$f^=+Z+D+^$M(sJFnhR6BFWCkC?pt2YCln>ZKM_A0z=*WY%pmsv+!t+!9}F1%9CyO zE=wVCb-z-H<nNG%rH_)W*X@{!CB$rv$yZMIX9?-~hM3}r;~O&tc`96dmJ-3U8*#{K z<|fVKUvZn!RIQ@U>zk-|Hane+{PyZK{cS}OOqWw(P(vI*Yk<Q9tIYx}?a%3}rtauc zE^FoZYi`Z!Ylvy&0FE)icr?gttY~R@=9w-xK&qH%7f}^#q&ag(wn~%2P_X2zLxr+# z#x0QF%igC%d%`Xm*X8Fe1GF@)qKQ&7+E$|)A#=(BYPFk2U?*J(s%Xm?hUTFhR~psr zx_SoSs)<0;S0&&Oty_>D)bJf}o!KW#Wn?-Xhdnh16}F8yX&ASG81^DYSL`wjy!>Wn zP8zc)v%Ohg8i%Qx<7OQh3qzklBMsT)c@mq=8@ti|)GZeL7w`qCn9z5|?NTnfGl?tB zkkV1pa0_<%%38Y3t2DyplyU2M4h=Tg>0ks&Pmi}*S(nvCxDFjYX%!_Ujo!LylXSGA z(&Ft_R)M6-;8Kp`Zet~Swf%yAqco&XaubPI&%f;Th0e!lDO}}-&lh7!qq*oIU6~VH zXz0tah|k4dk2-m2w>P-v_Tv7$_%7e8))Ez^y=?3_3*4z0JI9>jMCk>ky)J52YNH!H z8S<;tv)XyRd_Aj+=;>-Jc^aH%O3~cno^YY%!gqyeN!6K`Q1dxD@)C3r0dqWQSHl!m z9`>pkLIU8ocHVV&O01yhzT0cs!WU)=yASs7!H38H$2Xi&a1%bYGE>N6u{FNnEJNaM zCFa1obM%IQJ4iqkW2RJzLU}n+JIt84$X+MA&p=FdjxsC2UaQ^*;I70%FOK_J8s*~C zQ5x{|h^AVO#d9;N#jH;Eh@>vEFyL~glI23eveKhy**IeMV{xj^FQXB&(2@za%xRz8 zTua|x&|XWE&^a_=ZdD(^LSvsKZaj&-lvS^$%{9fI|EbN(;`S{^em@I~GUL)E*`f_x zXe7I`Q5<;Nm2Jyy*E;8l7H7S6`%=H_n(sI`+)c)a(CYGObXb*7<@dFRe;u-@D_yCw z=p$TMSG-EA(V>a+y>{Jj)lsinHT3a+bIox13n=#L+w4MHwi46mTCQ(R*=zEk+m56Z z!QUd{Rfu<8F4`3x_nyE+vil1Uc7^=CYYB8QvK5hrL<n{JbB?1kv|8RXE;`)BRBF-1 zE~rHRp~}`NvCmnY&m#_3uNh@@RStBx%i}5qi4Ezp(n5M5;Hz;c%p2iy0>XNpx6+@n zc4!>Eq!_v%%w>nGhW=y~1<<95optrYrFz<i&TS4xc3{-)Ow#afc*c%$LTe=_8~NBd zC-mSfoj3L4bUu^9!B%fgqjM%W9SMtov{Bk2jSrfv9&sfAFMU)LDgLE1qQZ!ABQJ_4 zQHn<O>?CfTKN{hT;ube)-~Rh;u3-FkD`EV1tzrE4+wHBdZr-*nCf%y@{mCIZwjsW= zzg~4-w~&pLY)AR#-0m}{^Qr<(kn*Y>;Z@kUgdZIWFDS{xJwN(be9w5Pn^79{re~u! zDL0GyZl6v<wSsJwaLhCx-R7zpGZV%iXI{77_JL3C%X~<%@LO#(*&4rh!dv6Jri{|s z$filNkbdZc|Co+PZ9ne3RyzzE3C#b-RJAWHtrtnm0nf)rRKJQYLbA8^5OgzI7`^_1 zX5nb3x+>NS@^_#2kH;T?wZRCr(RxEhZ+`;KqcxxdMwH{T71af8_Y~`dW^<0-YD3(R zK`qnST6T)aVA4riimdOg2}9<`84PBj(E1@+Piy*|&c<TH*N<*3eJIwBNG>>6`YcPn zv;!_b`muC-Lg<Fm)qXmi+JovrP~{f(T1n{1p*_e?hSEBR-nF&0)t|xx>>+((e`jlN z4--cg5=^<=hMFZ$k1B8*a}WG#BM`O9sx5uun~7-GkJ&Z%l`#?POEFOFOVBb0x&m9M z^ebIh@1Kn25yaY(E*e=Uwm}6n*E8tP1-)QJNWpu%rEMT~do!vI0nksTZ~(}sK8B_d zDu;Qc$f__f|LK2#fSAjuh|qm4=UuU1e*1&2Zcv({R5;|CC=WN6p!hUI3zwT-fAOJ@ zvJB7r@4zYhlSg(=0G9w5QX!i3@W6hHu7Ne;UYkkff&JDxrtR9+GACMDlhZXL$XL{h zKiAO7r*C>dr(|7V1dYPBTHyLGapmlvlp;4ZjRQKt<o)SMYcSPR&U8Diw(MH6zx-=T z0!mEI`XVG+dQf3Mm1OwGX@7F|f-_9VllDe+)Qy{hj~2<jlj%Mx*UAIOxY8Hq0;2wO mlLW%;+ka|_p86vmgX{eK{OLCbr=vrho&Ap~)TERD<NpJ%)ogJ9 diff --git a/sveltejs/public/build/bundle.js.map b/sveltejs/public/build/bundle.js.map index c73c1212d862fbebbe51c2a4f74655ab390e8e39..2d4455202ac800c22b3269f314ac24d13fe82381 100644 GIT binary patch delta 7193 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 delta 9400 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 G?f(mELO_H7 diff --git a/sveltejs/src/Project/AddInstallButton.svelte b/sveltejs/src/Project/AddInstallButton.svelte index b18c5a444..e51092ea8 100644 --- a/sveltejs/src/Project/AddInstallButton.svelte +++ b/sveltejs/src/Project/AddInstallButton.svelte @@ -59,8 +59,16 @@ */ async function activateProject() { loading = true; - const url = `${BASE_URL}admin/modules/project_browser/activate/${project.id}`; - const installResponse = await fetch(url); + const url = `${BASE_URL}admin/modules/project_browser/activate`; + + const installResponse = await fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify([project.id]), + }); + if (!installResponse.ok) { handleError(installResponse); loading = false; @@ -97,33 +105,62 @@ */ async function doRequests() { loading = true; - const beginInstallUrl = `${BASE_URL}admin/modules/project_browser/install-begin/${project.id}`; + + const beginInstallUrl = `${BASE_URL}admin/modules/project_browser/install-begin`; const beginInstallResponse = await fetch(beginInstallUrl); + if (!beginInstallResponse.ok) { await handleError(beginInstallResponse); } else { - await beginInstallResponse.json(); + const beginInstallData = await beginInstallResponse.json(); + const stageId = beginInstallData.stage_id; // The process of adding a module is separated into four stages, each // with their own endpoint. When one stage completes, the next one is // requested. const installSteps = [ - `${BASE_URL}admin/modules/project_browser/install-require/${project.id}`, - `${BASE_URL}admin/modules/project_browser/install-apply`, - `${BASE_URL}admin/modules/project_browser/install-post_apply`, - `${BASE_URL}admin/modules/project_browser/install-destroy`, + { + url: `${BASE_URL}admin/modules/project_browser/install-require/${stageId}`, + method: 'POST', + }, + { + url: `${BASE_URL}admin/modules/project_browser/install-apply`, + method: 'GET', + }, + { + url: `${BASE_URL}admin/modules/project_browser/install-post_apply`, + method: 'GET', + }, + { + url: `${BASE_URL}admin/modules/project_browser/install-destroy`, + method: 'GET', + }, ]; // eslint-disable-next-line no-restricted-syntax,guard-for-in - for (const step in installSteps) { + for (const step of installSteps) { + const options = { + method: step.method, + }; + + // Additional options need to be added when the request method is POST. + // This is specifically required for the `install-require` step. + if (step.method === 'POST') { + options.headers = { + 'Content-Type': 'application/json', + }; + + // Set the request body to include the project(s) id as an array. + options.body = JSON.stringify([project.id]); + } // eslint-disable-next-line no-await-in-loop - const stepResponse = await fetch(installSteps[step]); + const stepResponse = await fetch(step.url, options); if (!stepResponse.ok) { // eslint-disable-next-line no-await-in-loop const errorMessage = await stepResponse.text(); // eslint-disable-next-line no-console console.warn( - `failed request to ${installSteps[step]}: ${errorMessage}`, + `failed request to ${step.url}: ${errorMessage}`, stepResponse, ); // eslint-disable-next-line no-await-in-loop diff --git a/tests/src/Functional/InstallerControllerTest.php b/tests/src/Functional/InstallerControllerTest.php index b012fbd4c..9aacacb06 100644 --- a/tests/src/Functional/InstallerControllerTest.php +++ b/tests/src/Functional/InstallerControllerTest.php @@ -3,6 +3,7 @@ namespace Drupal\Tests\project_browser\Functional; use Drupal\Component\Serialization\Json; +use Drupal\Core\Url; use Drupal\package_manager\Event\PostApplyEvent; use Drupal\package_manager\Event\PostCreateEvent; use Drupal\package_manager\Event\PostRequireEvent; @@ -14,8 +15,11 @@ use Drupal\package_manager_test_validation\EventSubscriber\TestSubscriber; use Drupal\project_browser\ComposerInstaller\Installer; use Drupal\project_browser\EnabledSourceHandler; use Drupal\project_browser_test\Datetime\TestTime; +use Drupal\Tests\ApiRequestTrait; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\project_browser\Traits\PackageManagerFixtureUtilityTrait; +use GuzzleHttp\RequestOptions; +use Psr\Http\Message\ResponseInterface; // cspell:ignore crashmore @@ -29,6 +33,7 @@ use Drupal\Tests\project_browser\Traits\PackageManagerFixtureUtilityTrait; class InstallerControllerTest extends BrowserTestBase { use PackageManagerFixtureUtilityTrait; + use ApiRequestTrait; /** * The shared tempstore object. @@ -192,7 +197,7 @@ class InstallerControllerTest extends BrowserTestBase { */ public function testUiInstallUnavailableIfDisabled() { $this->config('project_browser.admin_settings')->set('allow_ui_install', FALSE)->save(); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(403); $this->assertSession()->pageTextContains('Access denied'); } @@ -204,9 +209,13 @@ class InstallerControllerTest extends BrowserTestBase { */ public function testInstallSecurityRevokedModule() { $this->assertProjectBrowserTempStatus(NULL, NULL); - $content = $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/security_revoked_module'); - $this->assertSession()->statusCodeEquals(500); - $this->assertSame('{"message":"security_revoked_module is not safe to add because its security coverage has been revoked"}', $content); + $contents = $this->drupalGet('admin/modules/project_browser/install-begin'); + $this->stageId = Json::decode($contents)['stage_id']; + $response = $this->getPostResponse('project_browser.stage.require', 'project_browser_test_mock/security_revoked_module', [ + 'stage_id' => $this->stageId, + ]); + $this->assertSame(500, (int) $response->getStatusCode()); + $this->assertSame('{"message":"security_revoked_module is not safe to add because its security coverage has been revoked"}', (string) $response->getBody()); } /** @@ -219,11 +228,13 @@ class InstallerControllerTest extends BrowserTestBase { // Though core is not available as a choice in project browser, it works // well for the purposes of this test as it's definitely already added // via composer. - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/core'); - $this->stageId = $this->sharedTempStore->get('package_manager_stage')->get('lock')[0]; - $content = $this->drupalGet("/admin/modules/project_browser/install-require/project_browser_test_mock/core"); - $this->assertSession()->statusCodeEquals(500); - $this->assertSame('{"message":"StageEventException: The following package is already installed: drupal\/core\n","phase":"require"}', $content); + $contents = $this->drupalGet('admin/modules/project_browser/install-begin'); + $this->stageId = Json::decode($contents)['stage_id']; + $response = $this->getPostResponse('project_browser.stage.require', 'project_browser_test_mock/core', [ + 'stage_id' => $this->stageId, + ]); + $this->assertSame(500, (int) $response->getStatusCode()); + $this->assertSame('{"message":"StageEventException: The following package is already installed: drupal\/core\n","phase":"require"}', (string) $response->getBody()); } /** @@ -233,12 +244,10 @@ class InstallerControllerTest extends BrowserTestBase { */ private function doStart() { $this->assertProjectBrowserTempStatus(NULL, NULL); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->stageId = $this->sharedTempStore->get('package_manager_stage')->get('lock')[0]; $this->assertSession()->statusCodeEquals(200); $expected_output = sprintf('{"phase":"create","status":0,"stage_id":"%s"}', $this->stageId); - $this->assertSame($expected_output, $this->getSession()->getPage()->getContent()); - $this->assertInstallInProgress('project_browser_test_mock/awesome_module', 'creating install stage'); } /** @@ -247,8 +256,10 @@ class InstallerControllerTest extends BrowserTestBase { * @covers ::require */ private function doRequire() { - $this->drupalGet("/admin/modules/project_browser/install-require/project_browser_test_mock/awesome_module"); - $expected_output = sprintf('{"phase":"require","status":0,"stage_id":"%s"}', $this->stageId); + $response = $this->getPostResponse('project_browser.stage.require', 'project_browser_test_mock/awesome_module', [ + 'stage_id' => $this->stageId, + ]); + $expected_output = sprintf('{"phase":"create","status":0,"stage_id":"%s"}', $this->stageId); $this->assertSame($expected_output, $this->getSession()->getPage()->getContent()); $this->assertInstallInProgress('project_browser_test_mock/awesome_module', 'requiring module'); } @@ -309,7 +320,7 @@ class InstallerControllerTest extends BrowserTestBase { $message = t('This is a PreCreate error.'); $result = ValidationResult::createError([$message]); TestSubscriber::setTestResult([$result], PreCreateEvent::class); - $contents = $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $contents = $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(500); $this->assertSame('{"message":"StageEventException: This is a PreCreate error.\n","phase":"create"}', $contents); } @@ -322,7 +333,7 @@ class InstallerControllerTest extends BrowserTestBase { public function testPreCreateException() { $error = new \Exception('PreCreate did not go well.'); TestSubscriber::setException($error, PreCreateEvent::class); - $contents = $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $contents = $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(500); $this->assertSame('{"message":"StageEventException: PreCreate did not go well.","phase":"create"}', $contents); } @@ -335,7 +346,7 @@ class InstallerControllerTest extends BrowserTestBase { public function testPostCreateException() { $error = new \Exception('PostCreate did not go well.'); TestSubscriber::setException($error, PostCreateEvent::class); - $contents = $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $contents = $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(500); $this->assertSame('{"message":"StageEventException: PostCreate did not go well.","phase":"create"}', $contents); } @@ -350,9 +361,11 @@ class InstallerControllerTest extends BrowserTestBase { $result = ValidationResult::createError([$message]); $this->doStart(); TestSubscriber::setTestResult([$result], PreRequireEvent::class); - $contents = $this->drupalGet("/admin/modules/project_browser/install-require/project_browser_test_mock/awesome_module"); - $this->assertSession()->statusCodeEquals(500); - $this->assertSame('{"message":"StageEventException: This is a PreRequire error.\n","phase":"require"}', $contents); + $response = $this->getPostResponse('project_browser.stage.require', 'project_browser_test_mock/awesome_module', [ + 'stage_id' => $this->stageId, + ]); + $this->assertSame(500, (int) $response->getStatusCode()); + $this->assertSame('{"message":"StageEventException: This is a PreRequire error.\n","phase":"require"}', (string) $response->getBody()); } /** @@ -364,9 +377,11 @@ class InstallerControllerTest extends BrowserTestBase { $error = new \Exception('PreRequire did not go well.'); TestSubscriber::setException($error, PreRequireEvent::class); $this->doStart(); - $contents = $this->drupalGet("/admin/modules/project_browser/install-require/project_browser_test_mock/awesome_module"); - $this->assertSession()->statusCodeEquals(500); - $this->assertSame('{"message":"StageEventException: PreRequire did not go well.","phase":"require"}', $contents); + $response = $this->getPostResponse('project_browser.stage.require', 'project_browser_test_mock/awesome_module', [ + 'stage_id' => $this->stageId, + ]); + $this->assertSame(500, (int) $response->getStatusCode()); + $this->assertSame('{"message":"StageEventException: PreRequire did not go well.","phase":"require"}', (string) $response->getBody()); } /** @@ -378,9 +393,11 @@ class InstallerControllerTest extends BrowserTestBase { $error = new \Exception('PostRequire did not go well.'); TestSubscriber::setException($error, PostRequireEvent::class); $this->doStart(); - $contents = $this->drupalGet("/admin/modules/project_browser/install-require/project_browser_test_mock/awesome_module"); - $this->assertSession()->statusCodeEquals(500); - $this->assertSame('{"message":"StageEventException: PostRequire did not go well.","phase":"require"}', $contents); + $response = $this->getPostResponse('project_browser.stage.require', 'project_browser_test_mock/awesome_module', [ + 'stage_id' => $this->stageId, + ]); + $this->assertSame(500, (int) $response->getStatusCode()); + $this->assertSame('{"message":"StageEventException: PostRequire did not go well.","phase":"require"}', (string) $response->getBody()); } /** @@ -437,39 +454,35 @@ class InstallerControllerTest extends BrowserTestBase { */ public function testInstallUnlockMessage() { $this->doStart(); + $this->doRequire(); // Check for mid install unlock offer message. - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertMatchesRegularExpression('/{"message":"The install staging area was locked less than 1 minutes ago. This is recent enough that a legitimate installation may be in progress. Consider waiting before unlocking the installation staging area.","unlock_url":".*admin..modules..project_browser..install..unlock\?token=[a-zA-Z0-9_-]*"}/', $this->getSession()->getPage()->getContent()); - $this->assertInstallInProgress('project_browser_test_mock/awesome_module', 'creating install stage'); + $this->assertInstallInProgress('project_browser_test_mock/awesome_module', 'requiring module'); $this->assertFalse($this->installer->isAvailable()); $this->assertFalse($this->installer->isApplying()); TestTime::setFakeTimeByOffset("+800 seconds"); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertFalse($this->installer->isAvailable()); $this->assertFalse($this->installer->isApplying()); $this->assertMatchesRegularExpression('/{"message":"The install staging area was locked 13 minutes ago.","unlock_url":".*admin..modules..project_browser..install..unlock\?token=[a-zA-Z0-9_-]*"}/', $this->getSession()->getPage()->getContent()); - $this->doRequire(); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); - $this->assertSession()->statusCodeEquals(418); - $this->assertFalse($this->installer->isAvailable()); - $this->assertFalse($this->installer->isApplying()); $this->doApply(); TestTime::setFakeTimeByOffset('+800 seconds'); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertFalse($this->installer->isAvailable()); $this->assertTrue($this->installer->isApplying()); $this->assertMatchesRegularExpression('/{"message":"The install staging area was locked 13 minutes ago. It should not be unlocked as the changes from staging are being applied to the site.","unlock_url":""}/', $this->getSession()->getPage()->getContent()); TestTime::setFakeTimeByOffset("+55 minutes"); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertMatchesRegularExpression('/{"message":"The install staging area was locked 55 minutes ago. It should not be unlocked as the changes from staging are being applied to the site.","unlock_url":""}/', $this->getSession()->getPage()->getContent()); // Unlocking the stage becomes possible after 1 hour regardless of source. TestTime::setFakeTimeByOffset("+75 minutes"); - $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/awesome_module'); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertMatchesRegularExpression('/{"message":"The install staging area was locked 1 hours, 15 minutes ago.","unlock_url":".*admin..modules..project_browser..install..unlock\?token=[a-zA-Z0-9_-]*"}/', $this->getSession()->getPage()->getContent()); } @@ -485,12 +498,12 @@ class InstallerControllerTest extends BrowserTestBase { $this->doStart(); // Try beginning another install while one is in progress, but not yet in // the applying stage. - $content = $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/metatag'); + $content = $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertFalse($this->installer->isAvailable()); $this->assertFalse($this->installer->isApplying()); $json = Json::decode($content); - $this->assertSame('The install staging area was locked less than 1 minutes ago. This is recent enough that a legitimate installation may be in progress. Consider waiting before unlocking the installation staging area.', $json['message']); + $this->assertSame('An install staging area claimed by Project Browser exists but has expired. You may unlock the stage and try the install again.', $json['message']); $path = explode('?', $json['unlock_url'])[0]; $token = explode('=', $json['unlock_url'])[1]; $unlock_content = $this->drupalGet($path, ['query' => ['token' => $token]]); @@ -509,7 +522,7 @@ class InstallerControllerTest extends BrowserTestBase { public function testCanBreakStageWithMissingProjectBrowserLock() { $this->doStart(); $this->sharedTempStore->get('project_browser')->delete('requiring'); - $content = $this->drupalGet('admin/modules/project_browser/install-begin/project_browser_test_mock/metatag'); + $content = $this->drupalGet('admin/modules/project_browser/install-begin'); $this->assertSession()->statusCodeEquals(418); $this->assertFalse($this->installer->isAvailable()); $this->assertFalse($this->installer->isApplying()); @@ -537,8 +550,10 @@ class InstallerControllerTest extends BrowserTestBase { $assert_session->checkboxNotChecked('edit-modules-views-enable'); $assert_session->checkboxNotChecked('edit-modules-views-ui-enable'); - $content = $this->drupalGet('admin/modules/project_browser/activate/drupal_core/views_ui'); - $this->assertSame('{"status":0}', $content); + $response = $this->getPostResponse('project_browser.activate', 'drupal_core/views_ui'); + $this->assertSame(200, (int) $response->getStatusCode()); + $this->assertSame('{"status":0}', (string) $response->getBody()); + $this->rebuildContainer(); $this->drupalGet('admin/modules'); $assert_session->checkboxChecked('edit-modules-views-enable'); @@ -609,4 +624,31 @@ class InstallerControllerTest extends BrowserTestBase { $this->assertSame($expected_installing, $project_browser_installing); } + /** + * Sends a POST request to the specified route with the provided project ID. + * + * @param string $route_name + * The route to which the POST request is sent. + * @param string|string[] $project_id + * The project ID(s) to include in the POST request body. + * @param array $route_parameters + * (optional) An associative array of route parameters, such as 'stage_id', + * that will be included in the URL. + * + * @return \Psr\Http\Message\ResponseInterface + * The response. + */ + private function getPostResponse(string $route_name, string|array $project_id, array $route_parameters = []): ResponseInterface { + $post_url = Url::fromRoute($route_name, $route_parameters); + + $request_options = [ + RequestOptions::HEADERS => [ + 'Content-Type' => 'application/json', + ], + ]; + $request_options[RequestOptions::BODY] = Json::encode((array) $project_id); + + return $this->makeApiRequest('POST', $post_url, $request_options); + } + } diff --git a/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php b/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php index 5aaa5141a..d89852a96 100644 --- a/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php +++ b/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php @@ -193,7 +193,7 @@ class ProjectBrowserInstallerUiTest extends WebDriverTestBase { $project_id = $this->chooseProjectToInstall(); // Start install begin. - $this->drupalGet('admin/modules/project_browser/install-begin/' . $project_id); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->sharedTempStore->get('project_browser')->delete('requiring'); $this->drupalGet('admin/modules/browse'); $this->svelteInitHelper('text', 'Cream cheese on a bagel'); @@ -232,7 +232,7 @@ class ProjectBrowserInstallerUiTest extends WebDriverTestBase { $project_id = $this->chooseProjectToInstall(['cream_cheese']); // Start install begin. - $this->drupalGet('admin/modules/project_browser/install-begin/' . $project_id); + $this->drupalGet('admin/modules/project_browser/install-begin'); $this->drupalGet('admin/modules/browse'); $this->svelteInitHelper('text', 'Cream cheese on a bagel'); // Try beginning another install while one is in progress, but not yet in @@ -240,7 +240,7 @@ class ProjectBrowserInstallerUiTest extends WebDriverTestBase { $cream_cheese_module_selector = '#project-browser .pb-layout__main ul > li:nth-child(1)'; $cream_cheese_button = $page->find('css', "$cream_cheese_module_selector button.project__action_button"); $cream_cheese_button->click(); - $this->assertTrue($assert_session->waitForText('The install staging area was locked less than 1 minutes ago. This is recent enough that a legitimate installation may be in progress. Consider waiting before unlocking the installation staging area.')); + $this->assertTrue($assert_session->waitForText('An install staging area claimed by Project Browser exists but has expired. You may unlock the stage and try the install again.')); // Click Unlock Install Stage link. $this->clickWithWait('#ui-id-1 > p > a'); $this->svelteInitHelper('text', 'Cream cheese on a bagel'); diff --git a/tests/src/FunctionalJavascript/ProjectBrowserUiTest.php b/tests/src/FunctionalJavascript/ProjectBrowserUiTest.php index c6dc1d717..d89112453 100644 --- a/tests/src/FunctionalJavascript/ProjectBrowserUiTest.php +++ b/tests/src/FunctionalJavascript/ProjectBrowserUiTest.php @@ -132,7 +132,7 @@ class ProjectBrowserUiTest extends WebDriverTestBase { $this->drupalGet('admin/modules/browse'); $this->svelteInitHelper('css', '.pb-filter__multi-dropdown'); // Open category drop-down. - $this->clickWithWait('.pb-filter__multi-dropdown', 'E-commerce'); + $this->clickWithWait('.pb-filter__multi-dropdown', 'E-commerce', TRUE); // Click 'E-commerce' checkbox. $this->clickWithWait('#104'); -- GitLab