From c409e45c3d06f037936ad1ba7727248bc87a4a27 Mon Sep 17 00:00:00 2001 From: noah Date: Wed, 5 Apr 2023 17:55:59 -0500 Subject: [PATCH] Applicability of Exploits --- Schrick-Noah_MPI-Tasking.aux | 38 ++++++++-------- Schrick-Noah_MPI-Tasking.log | 81 +++++++++++++++++++---------------- Schrick-Noah_MPI-Tasking.pdf | Bin 994781 -> 1004746 bytes Schrick-Noah_MPI-Tasking.tex | 26 ++++++++++- 4 files changed, 89 insertions(+), 56 deletions(-) diff --git a/Schrick-Noah_MPI-Tasking.aux b/Schrick-Noah_MPI-Tasking.aux index 09bbb3e..3dd38a8 100644 --- a/Schrick-Noah_MPI-Tasking.aux +++ b/Schrick-Noah_MPI-Tasking.aux @@ -85,22 +85,16 @@ \newlabel{table:tasking-gen-perf}{{II}{5}{Task Descriptions and Performance Notes}{table.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-A}}Number of Exploits}{5}{subsection.6.1}\protected@file@percent } \@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-B}}Applicability of Exploits}{5}{subsection.6.2}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-C}}Database Load}{5}{subsection.6.3}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-D}}Testing Platform}{5}{subsection.6.4}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {VII}Results}{5}{section.7}\protected@file@percent } -\newlabel{sec:Tasking-Results}{{VII}{5}{Results}{section.7}{}} -\bibdata{Bibliography} -\bibcite{9678822}{1} \@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Example of a Not Applicable Exploit for the MPI Tasking Testing}}{6}{figure.6}\protected@file@percent } \newlabel{fig:NA-exp}{{6}{6}{Example of a Not Applicable Exploit for the MPI Tasking Testing}{figure.6}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}}{6}{figure.7}\protected@file@percent } -\newlabel{fig:Spd-Eff-Task}{{7}{6}{Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}{figure.7}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces MPI Tasking Approach Runtime Results}}{6}{figure.8}\protected@file@percent } -\newlabel{fig:Tasking-RT}{{8}{6}{MPI Tasking Approach Runtime Results}{figure.8}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Results for the MPI Tasking Approach in Terms of Speedup}}{6}{figure.9}\protected@file@percent } -\newlabel{fig:Tasking-Spd}{{9}{6}{Results for the MPI Tasking Approach in Terms of Speedup}{figure.9}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Results for the MPI Tasking Approach in Terms of Efficiency}}{6}{figure.10}\protected@file@percent } -\newlabel{fig:Tasking-Eff}{{10}{6}{Results for the MPI Tasking Approach in Terms of Efficiency}{figure.10}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Example of an Artificially Applicable Exploit for the MPI Tasking Testing}}{6}{figure.7}\protected@file@percent } +\newlabel{fig:Appl-exp}{{7}{6}{Example of an Artificially Applicable Exploit for the MPI Tasking Testing}{figure.7}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-C}}Database Load}{6}{subsection.6.3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-D}}Testing Platform}{6}{subsection.6.4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {VII}Results}{6}{section.7}\protected@file@percent } +\newlabel{sec:Tasking-Results}{{VII}{6}{Results}{section.7}{}} +\bibdata{Bibliography} +\bibcite{9678822}{1} \bibcite{7993827}{2} \bibcite{8652334}{3} \bibcite{baloyi_guidelines_2019}{4} @@ -108,6 +102,17 @@ \bibcite{j_hale_compliance_nodate}{6} \bibcite{ou_scalable_2006}{7} \bibcite{CPSIOT}{8} +\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}}{7}{figure.8}\protected@file@percent } +\newlabel{fig:Spd-Eff-Task}{{8}{7}{Speedup and Efficiency of the MPI Tasking Approach for a Varying Number of Compute Nodes with an Increasing Problem Size}{figure.8}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces MPI Tasking Approach Runtime Results}}{7}{figure.9}\protected@file@percent } +\newlabel{fig:Tasking-RT}{{9}{7}{MPI Tasking Approach Runtime Results}{figure.9}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Results for the MPI Tasking Approach in Terms of Speedup}}{7}{figure.10}\protected@file@percent } +\newlabel{fig:Tasking-Spd}{{10}{7}{Results for the MPI Tasking Approach in Terms of Speedup}{figure.10}{}} +\@writefile{toc}{\contentsline {section}{\numberline {VIII}Analysis}{7}{section.8}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {IX}Conclusion}{7}{section.9}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{References}{7}{section*.1}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Results for the MPI Tasking Approach in Terms of Efficiency}}{7}{figure.11}\protected@file@percent } +\newlabel{fig:Tasking-Eff}{{11}{7}{Results for the MPI Tasking Approach in Terms of Efficiency}{figure.11}{}} \bibcite{ming_jo}{9} \bibcite{cook_rage_2018}{10} \bibcite{pacheco_introduction_2011}{11} @@ -126,7 +131,4 @@ \bibcite{9150145}{24} \bibcite{7087377}{25} \bibstyle{ieeetr} -\@writefile{toc}{\contentsline {section}{\numberline {VIII}Analysis}{7}{section.8}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {IX}Conclusion}{7}{section.9}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{References}{7}{section*.1}\protected@file@percent } -\gdef \@abspage@last{7} +\gdef \@abspage@last{8} diff --git a/Schrick-Noah_MPI-Tasking.log b/Schrick-Noah_MPI-Tasking.log index 1066e89..9f99fa8 100644 --- a/Schrick-Noah_MPI-Tasking.log +++ b/Schrick-Noah_MPI-Tasking.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 4 APR 2023 18:48 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=pdflatex 2023.4.3) 5 APR 2023 17:54 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -600,67 +600,72 @@ Underfull \hbox (badness 1389) in paragraph at lines 210--211 LaTeX Warning: No positions in optional float specifier. Default added (so using `tbp') on input line 212. +<./images/NA.png, id=210, 369.38pt x 118.4425pt> +File: ./images/NA.png Graphic file (type png) + +Package pdftex.def Info: ./images/NA.png used on input line 236. +(pdftex.def) Requested size: 184.68954pt x 59.2211pt. +[5] +<./images/Applicable_E.png, id=221, 360.34625pt x 104.39pt> +File: ./images/Applicable_E.png Graphic file (type png) + +Package pdftex.def Info: ./images/Applicable_E.png used on input line 260. +(pdftex.def) Requested size: 180.17268pt x 52.19485pt. -Underfull \hbox (badness 7451) in paragraph at lines 246--247 +Underfull \hbox (badness 7451) in paragraph at lines 277--278 \OT1/ptm/m/n/10 All nodes are connected with a 10Gbps Infiniband [] -LaTeX Warning: Reference `sec:test-platform' on page 5 undefined on input line -249. +LaTeX Warning: Reference `sec:test-platform' on page 6 undefined on input line +280. -[5] +[6 <./images/NA.png> <./images/Applicable_E.png>] -LaTeX Warning: Reference `sec:FW' on page 6 undefined on input line 253. +LaTeX Warning: Reference `sec:FW' on page 7 undefined on input line 284. -Underfull \hbox (badness 3713) in paragraph at lines 253--254 +Underfull \hbox (badness 3713) in paragraph at lines 284--285 []\OT1/ptm/m/n/10 In terms of efficiency, 2 compute nodes offer the [] -<./images/NA.png, id=223, 369.38pt x 118.4425pt> -File: ./images/NA.png Graphic file (type png) - -Package pdftex.def Info: ./images/NA.png used on input line 259. -(pdftex.def) Requested size: 184.68954pt x 59.2211pt. -<./images/Speedup-Esize-Tasking.png, id=224, 620.208pt x 321.93pt> +<./images/Speedup-Esize-Tasking.png, id=237, 620.208pt x 321.93pt> File: ./images/Speedup-Esize-Tasking.png Graphic file (type png) Package pdftex.def Info: ./images/Speedup-Esize-Tasking.png used on input line - 267. + 292. (pdftex.def) Requested size: 252.0pt x 130.80338pt. -<./images/Eff-Esize-Tasking.png, id=225, 620.208pt x 322.149pt> +<./images/Eff-Esize-Tasking.png, id=238, 620.208pt x 322.149pt> File: ./images/Eff-Esize-Tasking.png Graphic file (type png) -Package pdftex.def Info: ./images/Eff-Esize-Tasking.png used on input line 268 +Package pdftex.def Info: ./images/Eff-Esize-Tasking.png used on input line 293 . (pdftex.def) Requested size: 252.0pt x 130.89236pt. -<./images/Tasking_RT.png, id=226, 860.46469pt x 257.96375pt> +<./images/Tasking_RT.png, id=239, 860.46469pt x 257.96375pt> File: ./images/Tasking_RT.png Graphic file (type png) -Package pdftex.def Info: ./images/Tasking_RT.png used on input line 275. +Package pdftex.def Info: ./images/Tasking_RT.png used on input line 300. (pdftex.def) Requested size: 252.0pt x 75.54756pt. -<./images/Tasking_Spd.png, id=227, 860.46469pt x 276.53313pt> +<./images/Tasking_Spd.png, id=240, 860.46469pt x 276.53313pt> File: ./images/Tasking_Spd.png Graphic file (type png) -Package pdftex.def Info: ./images/Tasking_Spd.png used on input line 282. +Package pdftex.def Info: ./images/Tasking_Spd.png used on input line 307. (pdftex.def) Requested size: 252.0pt x 80.98582pt. -<./images/Tasking_Eff.png, id=228, 860.46469pt x 276.53313pt> +<./images/Tasking_Eff.png, id=241, 860.46469pt x 276.53313pt> File: ./images/Tasking_Eff.png Graphic file (type png) -Package pdftex.def Info: ./images/Tasking_Eff.png used on input line 289. +Package pdftex.def Info: ./images/Tasking_Eff.png used on input line 314. (pdftex.def) Requested size: 252.0pt x 80.98582pt. (./Schrick-Noah_MPI-Tasking.bbl Underfull \vbox (badness 10000) has occurred while \output is active [] - [6 <./images/NA.png> <./images/Speedup-Esize-Tasking.png> <./images/Eff-Esize- -Tasking.png> <./images/Tasking_RT.png> <./images/Tasking_Spd.png> <./images/Tas -king_Eff.png>] + Underfull \hbox (badness 1442) in paragraph at lines 21--26 \OT1/ptm/m/n/8 A Focus on Cyberphysical Systems and Internet of Things,'' in [] - +[7 <./images/Speedup-Esize-Tasking.png> <./images/Eff-Esize-Tasking.png> <./ima +ges/Tasking_RT.png> <./images/Tasking_Spd.png> <./images/Tasking_Eff.png>] Underfull \hbox (badness 1527) in paragraph at lines 56--58 []\OT1/ptm/m/n/8 P. Pacheco, \OT1/ptm/m/it/8 An Introduction to Parallel Progra mming\OT1/ptm/m/n/8 . Morgan @@ -698,7 +703,9 @@ Before submitting the final camera ready copy, remember to: uses only Type 1 fonts and that every step in the generation process uses the appropriate paper size. -[7] (./Schrick-Noah_MPI-Tasking.aux) +[8 + +] (./Schrick-Noah_MPI-Tasking.aux) LaTeX Warning: There were undefined references. @@ -707,13 +714,13 @@ d. (rerunfilecheck) Checksum: CB4364753E2594613B2E0BA2E8950C88;3186. ) Here is how much of TeX's memory you used: - 12229 strings out of 476025 - 194395 string characters out of 5796533 - 1875388 words of memory out of 5000000 - 32435 multiletter control sequences out of 15000+600000 + 12240 strings out of 476025 + 194660 string characters out of 5796533 + 1874388 words of memory out of 5000000 + 32443 multiletter control sequences out of 15000+600000 552034 words of font info for 106 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 75i,14n,76p,2022b,598s stack positions out of 5000i,500n,10000p,200000b,80000s + 75i,14n,76p,2022b,591s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on Schrick-Noah_MPI-Tasking.pdf (7 pages, 994781 bytes). +Output written on Schrick-Noah_MPI-Tasking.pdf (8 pages, 1004746 bytes). PDF statistics: - 303 PDF objects out of 1000 (max. 8388607) - 255 compressed objects within 3 object streams - 69 named destinations out of 1000 (max. 500000) - 248 words of extra memory for PDF output out of 10000 (max. 10000000) + 314 PDF objects out of 1000 (max. 8388607) + 263 compressed objects within 3 object streams + 71 named destinations out of 1000 (max. 500000) + 253 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/Schrick-Noah_MPI-Tasking.pdf b/Schrick-Noah_MPI-Tasking.pdf index 812cc3efd7e289c19e95b1e899d6e73d82a48998..3cdf207a66fbaa9a80f002bb58e504e1eb89572a 100644 GIT binary patch delta 48660 zcmZ^~b97`~^eq~vW1Ah@w(WG#u~V^)>e#l8j@2F8cE`4D^sD~vy}$Ryd*l6c#;8+u zHrAeN&bjv4wXr5J_EYdjFnBOTFk}-Hvm6dPDGRBCi8Z`{06epTxxJ+;fRvMqlQrpv zoCa7epzpEPQh)V=<=;NX%aukdf-c~9?1WC8<<6Z&;Io$7cmc^c%jH0!M)^~5!w`6c zfGI03*EARP1yKZ%#V{Q_6rP!wxi9Lewr})qs}@tBAHgjlR201w=O=3b=jfox$7wS# z1V%9Rc(!xro-X|U$@6z7tcHT%rghQ7pv|Jk*}h07WBSRqSBn38?T#jCY`G zFdedSxoh-|y?y`pP5%tT6CSAddrvLRmx_0X-d}6CXce%y&gTmq3*Sy9I8|ihb3(q- zA)xm!%)Y%ivGJJ~l1jQGUUz0ydZse-QN4?AIPMI0`0dV3zl0)m+oyVI5gLsp+}+Kw z$0#qLAOA=_AXI=0qQT1Gd~0>)6T{|O| z&QW9_6&@45!}XJ@D^z(h`zT45VMe3I-n?YYFTQuAy*@a9XBbx8NNVb|Ijx|NvJh^M z&1p@WGj`47qx=KIr8L!3L!mB;=np%~yfR%ok5-`qTfk--?eJSs{hP_b`}rGCPXKeq zl2zkZ)Ctl1 zW9x4ye1A~y1e?x8GSHX*+i-is%GWb&inD(pnk`Xw!>W1RCrgHWR!=MAX&X2b8C>Zo zOs+g!&VmhbR6|rMe`6$qmUYHnoO8-IEz@~}{K;S7$lhf19jt4gVwU*sBn+v1W_WVut4 z4X>Q+R}!R9c9h>G7f6u^EE+oQ`R&Xng-aD~bqkqHEg@)nR)TzezTE0_l5>i|NyQtfV~Og9|{+nd+J3k%!ER;5+`n_k@XdRe_4#_;Qf2&QLK544C!s*_USSk-ukY zDr21*3gA3a>0e$Y{Zoi>2(}06j3XcM0k>pJC$}%(l=_s?-sIj2Q7);c*mAat1K}H) z2{DP$%n5GFA5=SK6=I>FPUsvuWa#D_a3vysQ|1)oCR3gRe!tNkyhtOK@LzkMw+!=* zXG_8x*K|VLbWAnCo;$I)Gk9vs{TDBP=!?ALCrDT11hAQmc#68I;CPWAL1$kEbtY>I z0gwLvDdj7S9m$z1{N)mjhR09rL6_wp(hwW>rk7Oq=qhCkF)z~85J6k$h23f|kRSfV zTTjHr2}sdO9#`E1@lbSsYWk`1Uz2n-CFG+SR7EB?QQxJ3=x82EN=4=@qcpvxNf5wG%(1vVv_oO-T6GJ|TVxzSX$yPUPZ=qffR&udg{K`dF?dT5T3(=^+9MYSIk z#GyUwmvD5{ChyMg5hJe81}5p7%Pm%?!&HVY(1W}6@GS@g+OBS)-Yz!;5AWNMOylm2 zV|lv%z&tHTqeR7N!ZTRb+bVRG)!&z))lYtJ^uP0j{cs8V4~fBUkr>Df1)zhWAgBcx zTO+SU)T)lQ4z0L?%m>Zd1pZJViiqT}wmMlrDU1ymKtLfH6^<6t)*CudmAY7JphNpq zZp6Hyvr|vWgaKznY{%_i3$UuR>3aZd^@}7hz@*n>1^Ud}GvZCSl zRlJ#B*jguodcwIoVVXCrn$+9*-EL?>QUlGmxI;(pm%c2CW+hC^)Y3S^66q9cN&4X~q^=5&j9*SOZTo&UsGW$?y zzzIScCV<)9#G?7;L5;M!14&*>Vy&hgpk2>in=IkES375_ zYVC3$X9roQpjr%!o^N>r*)77Lx>dgOf=d!I^Ow6gw$LxzsL}!c5Q)Efg^2CwQ0oUrMS8bL|7;@bld=PNOLC%xM&|VR`4zfdVd=?Ed!mZz4a$ zEC$rS_~>``nZglB?Y#htOJ*fWZ9D4L1{*KnwR{b00OLz_<^=_9N8&{Tyv5&8o%)38 zUTX|o`mc(<`l@{khr|!->t;A3A`Lzm-`&zZ6g@;#?_#Rl#$oG=W-Q-x-*ArDl|rbI-keCuQ5}N)QF-y2tF**m!y`0ku*(|Tp@3GJ5@RtJ z0)9N}34Ky_i!fC#qWZ2wR!we1#;>bFs$4a3;)#8>?PZrcqc5f^68g-icnss8FCFt3 zRUQjr*BC@raUEIoBnBggngFay#5pU*Mu?40kgfI$=yHw!i_&1oHF^ws+FSasO z$AZlZMkVI#`|VFBvg>B~19QS)~AT#NU7~$*c>WKbHen-A=ZC16KKn&ogwW*hwKEK-b`3g%c$7|~rzV2HgJ9mhpNfFA!Tt)?FP*F9A3qx2Vzy8v$_RdVF z!B8`r_db#pv1=AILL#$FrL1lF6E*m|S1>PzlxjC9A|qJOSquu;jqdfbn@3Z?QQrwZ zbM)CXB5A-KG$Ic{&hWX9(CwPv2*8#YTRroEX3;Dd&MlPl+u`MseK^ z@R?1-tud1hJ|f$4ZK5=x#KF}LEd^6*5`PNM9CQ1mkz6HAxdVRVfyeQ6ioyukBw^1d zJVQDNB1lU7BvSzPfi)?lA&#~N&09jDxt}8vAGU$?t>ketrCD-xdfVgd}v{TkEBe4P%v< zYtBX`X>D1g93f=<1;RVf7F&Pkj#A|{eELulx`u?9Vs%Ki+uxs8E4~NJ_2K#F>k2Um z@gBb!Y&-y{eFc}sgI|@e`h21Eg^R;fE*RGA5Rs-DzKP8=IS(N^HB>4&iF_o~_40A# zjZ%_Xv`l%jSQRxC!@6SwS}*x$2J@5rP`&!~-8UlQ-L=33v+t-C_W<)-IVqkAja6nm z%U&z>vAzKZ`^1HoZ}ktQuG|m8^&U9$HDk@T0g(;BS<1ECwGa31<80GQn03r$w4wXg zV=|50Ywl8VHP?4rUvwkL%JT>lvj8M6-YDGOLsTAl0;2drmwW{~RNZ8m@Qj$$_^ul6 zOS(egt%nheuEbnAB}?t#0Lgq^KAi!H>}QJ6o}NRLsb$&qS&T=7sQQx#^t8TB)SoWr z03%_bNYujS6}L|WKjfGKw0q!yy}+m#8~ngi+J)=rT*Ui%ujUGsB3sFqO13Z< zz4K}Ok3r&8z=}j}miSZR|P3LpA@n`2dqLq8}JE0(~@Ks#Yq~O^P z7EcI%z;gP!5T$J!p`Ugq3WP~A& z$GLrGd7ZEgVs;g7(HGQZ9)fk+GC3sW72F?V!OBAZat9*JM%zBTB>f1SRZrA+NJ|Gb zBQAtPX+~>U#Mh-(K-Fo#_DSz8~*g08h;XkrhOv6CCyC^J2u5=K*I{^j5`vT z@39wWeuHy*YI=C$3~GZF4{Y_oL|yQFEoxVJB{t!4;VBc|CT3;ghm!3fM}Vb$pUXEW zrYyqY*VFF4pV*al@<)qW36ty9(}Z`oso6&6)$6<>E_sDNX7oQ%f95#d zDAKY%;jRO*or`m~7hej0uBDC#^F_Gk<;{YzSHz+-)~#%m%=vg?MufP1PqBGlA9A@K z8&2-YK-#9+kYt89Cd2d8)6`dIZbs-T3JHBAd8+oThYr^b9fe~oiz$Ay*FSJg zjZ40$nxq}>Gh@gH7q2}bgZjY+6zB^ziQIrD;BH8VSdOtA^tu`4r@kxk*4$nEHfq>Y znviYKye`F$BXBckgUlC354?#b?!tJu!jvCtzSCd0*eqT6{Z0&p6Ix5mjMul+qJsM{ zAb(I1pUm%Jh2)#?t@X3S4w|jmdo$^GJwMxUcGiruKixS(W0?1^U4D9OU?J)i)0J)) zrafL=@%)01SI_}#(?@+LiXreePNyOV)kfiV`@krpA&`USLR~gg(;gt4by75m^dN<&7!)7b%v&y^Om(LbQ8YqiZ>%;V%t;4 z-`#X|307m0bqldh39~>6oD8K$c?iV7HD$r838Sd!Q`T?zN=D3@0P$I^64 zoInw#oyKcIorPfGQGG+|D*B2v>6>M|VGvZ3BjUN}-RU)U(^a3duWye(P@kJ?w0f#^ONZx7G9lbDn7qfxNSZU11hvbE0@IL(stiIoz;{;mX1 zQrWiIq_|%G zyhDfgy^Gclp9DK;Gy;=4@d2|zI57|!@m!Rb5c*!IXFbM#hT>7ad82NRV{CqTC+28q zc|rJe7hBU(;Ju*)1OkZDQv(aFd6)oE8dzD+_9>cIC=)hT7ZuV6U-7hEHk z)6>Px$Pu__m-a%_S%DLe^$+DkBOA)#MA;L+4lxuHaBLRA&8h;IktUd@`QFF z^-5BfZ29!d7>vu#n9OkzS}3`p@!6_wg5NCIa{%i=O|)@tT-Hiq9C@z|RlC~8eVF1a zPj4A9{gTGK}4_R`5yk+O;O;FVPDbn_3-Ft z$*^J2U^S&@1M4II`bQ~LxqaW_x*aI`0=>9q4`g~8%1Kw$<~}eTl^tfrz)tcfP>g?W z(Z9Yes2p(kYEJYu{{Wc$1!MHPg2gChvtugTBO&`#T7|Ylz(uu;*q|~Vo_0hT2|di= zd(V#N>vBCRULju3e92*A@JM+O7+&R?-^s&0V`k2|53bpWD}@759##7{r~5)5deu?R zW}vV4Wv(?|vbsr&7tW&gi>Gy-GFn*B51;+5IBGnXSMxU_|2LbPwT%+v7dEkHr6+v~ zc_DF*u^gD-AYTs37r^|xn(bE)2%XYZMLWogAt67qj~S0NxDhnGp~1wa80d&(V~F-? zT7pj~D#Ef~#$`fe1Mo+#CO`iQ44g%OjtKhS7zH`7(Bj8oa*SAX_TB5zP}>sBhJp>^8m%CcY+$OQbABHj?=$p$8Ouus|9FiuO2B7cUzVIOPiAs2 z(-Q8yB@?y&N=i_6j9QHRJi13~;H%pC%Kza~R1I`%c>r`w=NkCk^1@9^}nA$S>29~*c|L+LgvyJLl|^Onjec-CDkbOs8MMCt!_ zb4BUSj?*X@IjWE<5u|xN?!CX8I zsv8h>Y0S{au}_5KMM4s@KdNz78$ zyafCbU|`Rq;A1f`K}Y;h9M!e_Fy>uH1PoM3+NGuBFCQYS98GT|PzLvYWa2(`B12)idTm_=~C$b1n%*c;=T4k-ZreP-Nbu~42 z4U*zgcPc;zRm}$jTqzA)sS2}5f=N6uW6Ts?qL09YIVWL$f>Ugmh)kM_b0G5fQSV{5 z3_2|-wsFOTmBrvg6Dc-|l`yG@d-|~Rsps*$3};QLQGpOuF@*^a4LJUR_-_x%PE{0o z?&iG{J=$(b5ru4p)$P6^234hCZ2^^~L{hn&qVGgmFdQ0xz9ddJK#*Q7u0w8f0(G7f z`Q{~Ns%$FNCFv^dY@-OH>4EX^2pNfta_*c-Xr{ZQLp`h)8*xM0JLuxDm*_lD=Yins zMWc7<o_Ww+Dt--B zjmMJX8#p}F7#W&d@r`E>vnFSy>>2Vn>d1!?gbZGgL1bHEk5AHdp%{;LvEHjBgX_I1 zmxfv$*x(&BW&ZjlZ2$=V762V)PFFWx8|l#@^X1!Y9WpB(N%uJo3ta5D5uHfzEGN`g z0Svka&ylCff~#yZ!(})&{oV%ttHn*&0CsPwM=jD0|L-07^vPva8$=@If>gmtosOE< zGSr*7AF=7Kb#!Z0G%LU;_0`-FOL5Y*eSxho>f5IragyMOG#H?TvFV;&^z)tY`@G>f zoGb~Mp|E}j&fGlNJr}J9Khvg~#CFGLuNyMiZ9WZGozw9P)xbVr5a@4_YBnqtgQDCx z12?Cz7OnJ&$i!eOXSCf3zrAj}an{ppV9kXgZH{W|Sy^VCM`Cpl089Ni`qH}%_k)hA zN^(_KAMoOz$OF9M&0$M(!jzn7hqu%3=;(QRSj3k0UjU{DOzXGqC1{GoG?hS!-XJ2L zQ8aJB(YL^~*ePuo9$(p2UV!R=~buP@!e| znmgNEisel<#y5%l_))g$dVans@O6csF~{`k&piLzPZyvuciN^spJzM4gS-0oO*zx3 zAi^xf&e4Q4{#8c&uF${AeAyQxNrB>Hky4jM{WDbNa{b8oMF&vkU!YNs8r3oreB^0{ zXDu$@_)RdPeh1SWnA=9Cw&I0^n@SJetodxdF_R2@-8Mgp9MR)--}F8^?+_&0p4@Y` zoo1+F4cY*L`(i~8FwG74OM**9E)y76qb-gK(L@VgX~ufk3lcTSU%|MTTF^M>Ag8Nh z9#66VCMvK*p>%6;UyLZ^STS|4sz87pH|(N!%1#E14dbK43?ISO`yv>mu~)43_+u-s zRoS;6Q(fXnZzZju0Sq~cEqpSFIqL-~P^o2Flu3aWcY3XgWE2E9h372F*5d+-9KOeY zatRv*`)Eh150VsuL&TULfuZG<*#m}t(JV`Of9`@_j+Set08har^IGT_f z2otiWx!_U_U3ux)Om-_%j7PY%Ji5!XtBvcz9Si5gN*Xy=`PDfrQe{ZhwN@@2=er|K zjv#>pkE^q0%geLTWva~TJ@d(t@@gtUP=_*XYUhXN+calA*yG{#2{P-Ex$H94q$q1N zSi4VXr`CPlr{7{rr*-ii^kjJ9Rq#$JNJFckWdz8mG&W!e)f7@h-ChRVOOsJeZ;N%yWI3|EH_-D|#11@@|QB)}$!URtEk<{05O~ARtQV!7GRK)-hS8Sz zuW3UgtD7ZX5`fe_q#0o3kS%zjGZ8=+w@j?{_4SBem1;eRElD3g@88O+2F~eVlg2!w zzA5^uSsWo!Ne+nmurLO6~*pyyJxkD|2UT4_5q1-+^xaTOa%iEzD(H-_tYC#)!Ie*g4vA*Pua${@=UD3=q*RM@a2I# zt>PwpeqnUZ8IjL#%AOhN1NtQ#@~x|);cIv}pzQwk0inddZ4LK{_T>67{g-c~Q(1(W z?1gi>kCWNO5cCTdkpL&m)iK4G$F<|n?EBqk!uCj(f|GPwtwu`b&@L%AxePzX@8WJpvL_y*+rie=re|H)ip={&z~B12gFL_V^0Pvirh9J&=45Hma>h;E)q-pcXyVUhmCqGW@wypg zTr6C&N*vlB&q4-CdfmOAOYnnOa&gSWhx|wl)zF4Wg?w#B{z9r$@`k9q%QCCYm++$@ zrDS()Gcz`pVhh2p`x>@uS2xjr(BdWM-QUgf`#yLV*APeNNF#XIuX@Yq#$lEev+77a z1;;{Gsfrr}g(e9lVDvts@6owS#p6ndF`-=hyhu;eFs6n*C#9gJA0_>TgI=rwaZ$XX z$YY(vV}?kgZ^5lym&;O3)9*=bis%~?VP~JawC;6*=wy=+v_W4N=$A_vq^eY#eyd;~ z6q}Clsr55?-qkyNj3WV$P6x204)61Jfu(0Ie7o;Dgoseiz-^bbs4#U^0lD%5Q(k7b z+f%Vx-17$7PwupKaI-pG*MuYsu%oeLsdto6a~l7{QHzH#|Bg@Sd4R|)g~O$G5~fso z<|qLq#5K1n{aB&fB^qaQKUL}vz*OKjra#1X{)s&TZpzKi2o0=yNm+kdZI1Lq5q>O} zDF2)ju8DYX0#0gVCVb6i-DMLGuxZlQRpi4*IY=VVX9$)!a`JRB2zuIk%3yo=S}nZ7 zCuMXtG+=>eubIHZFLY$Ct7(qHII4Z;xaJV!)=97r&Tbi-JRd70(Es{ z6nT&1#B6W;JTMl_`Kjd#(LUyRtPjT#2|`nfS;yW10`N#sb+8D3+*+crMmaZrFGyW3 z#_uS9)ez|$2gUN9xyzKh&V|;W_<);33$j<5F!wPO{Y!<3?>&wYWg-be3_9(sMfc7M zGq$|-o4w`5J%&wCs_@Gevtxg5uQ`ro&(LPXB&RUNnd@82Rd}m1o(NeF z9kY&F$b$U2n_#*XyDo)8dR0zwT2=ed9()IIYBuk`%yZcbMz)V5 za<*4ubPyVXoJw|g1deh3(aQ}cie1S(6as#Wa9f?d^5zecc4FO%Sy6`y#V`S!Dn^+6 z(cUz*1RlmTg+yza9%*CPbmKxfnXCQZ2nXx6DWD{@Nt$V=H(S~hO?RSDs`@N)<^a-q zy-LYwu1o95^-Z)?d=NLOk>vP>iZBF+{S<|`*7K%kA-!{@z%s0!Zu1WSZ+g{VS!@ED-7jp*tb3zjMqez=fjS+)->sc~8%}JRc`bNJ_r@wv1 zTLL+Vn?pT`M!-@i12J_r<0%UjYt2tmF&=4@kpMAXe%303CrX9_M=xFcwKHP=t1Xo} zHHb{TGqTg99FbOW^#z#;@ac>grJjF8%w5RZd)dEm+n;UM->!^3*f!bx3?2Noa>!_a z7?w4@G!*E^*K!keNFKS9h_>&tqZ0A)ISV|zrfTBLX-i~>VR>LR4C8(sXq*C`!uvgm ze2LU*T3Qre>vbP_W2H~4(YvJg>chnAP$e5V4zV%2QBvcyE6JB?$DXXQam>Lu$>N8I z^F4`@_6UCUH*lnSz0;z=U^2*PT{EE&sPgGFP4c{My1(F0a}-ozWIm>zR`UXT@Zk!^ zR*n*WgfU`&iGzj0{T8J=khsCmW%(!CBo@YQhgmnVMx#}=g+MRF;j(LQ=VY-P41fJA z?thyJ5Uea|qLgr~&4SiYRJh=*|9wE_f)h9xpsd7XPK~|{ ztT)kO0d#5IivtVG$z!E@9Yip~3g{`f^o8iTJ z>s{y5W@A`v1Cu{oMn=YPEYZBPg_qY$m){$URse=3KJeoq4JqmJ#I*l;I)@(z9i5Gr z_vgWW7PkYFcAb%#8Pq(M2uIc4FbU9iCj{qQkAqmiGd?Tp?Bb%+ai=db5l9}Usk{~ z@i1gc3JRmPK;EzTPgh%IFC>_l5_ba3%vYBi?dL`k5(BeE(kr|nAt6neYD_a{$H&KW zb82HaBqVv+*@W(06es1Un@v_2oL!zbCaWF7-uK}|z_Jga_OSe}GN+eY^R&MWE=Ni) z&}yp|mX-vFFhC&C8fa}DNrW@_liQzZ0gD3D(C-23t-h*?ft6MD<>IRQuhK=iZtB1& zs4qtk4{qKsKl~zLD5p*rE3M>EP*5C}>x|F-RG&Ym&})@nce$RZ`T2b$Qp!t7OQ#f* zhZLLxOLLybQs`wJ_hr*kQhvE#tm-z~KiuC3hlORW-|TIES=6wa`IBEzU~FPi*xa19 z`uBF6`M~KkCU1Oun>5Gk@%;NE`Oo3IY2n)U$Fe+sGUypx>L6sbpk{|H3*kAjFfOmaSqL9L|nV4^$A<97N@K_R-inHxcflT(AZtme78l4JQX80x!x_HyozR!aP2 zQjP$ttDXoU7qr6<^ z!~NUWg@uJW-O}h70`3~nasmLytG{f}(9kqAG_WN>!%ECF^nV%LU5ts11-7-d{cdU! z0AUf^CK3M^z;SPZpgTMz#MtU0>&O z6elef_Qt3?ypt^-addQa$gq|>v%E0U!u=}xbWEdB`n~e?`%qYWj~*IQr^=kwyX*Zq zS>)Z%L1ju!JG<&s_VMv?MR*o4QhX&Ed@vD?Y!wbYPYFp$V*_wtI1Cu*4j33J5*V0- zDK_ihr^#@9{||d#Y9EK*o^dEF|bf@#m!sf%Y zFmr|V^{f>nGF46MUsAr|A0C~>Sb}nS3mb-;gZ z3_mYh2f;@#8TeeJXc>HERsGElmOsamnXwrUpwZwHH-R^kEHTb4UTDBd2_3+c(JJZ1 zLVB1)$FCn|SwFM&d^OF{pkH-pHt^zb{85 z;V?e{J>3xh8#Vu+V>B>40{*{%1_=f>n{ESAK43jC*SR}&b|sq|;5{%jq?SiPNojSG zm(lF7(E=7ebYA$;u17?yHqzH8_K+sH@*CK4VX8-pkIamZeBOvgM6@w8bG@IKwk9M2 zSqMIx-X0tpn#<>QI!ejh><0qu-U$l_M{;iN<;4XN28OzdO1|&0&S$+{Q1ABDm7#$F z5X5nmdD(3fUd!rqK|w+1O#uPmtBIBEtM8^eiJlUUli?B<;S)fKnU~WuwJjHxE0UN9n^8zm%|(ii(QFq@;r+O>`6>P6A#+IZ?t(Ty~m)x2$PNZ|COeskKWKwX}7+}}loB&Dv$C?XxA84~lHjjF zPXHc>mDEXgGSOsL>k9zkuhPz)_-oB3dJ=~~Niqy-RUia4CX$XO4bso5n3xzwCMHca z5I6rQ1tkltqA*_#1%f&1q=@nw&v4oUVLr#|-2g6XK z?MlP_y=#(Gi-km?yDdHb;RkuQ!NtWH5l+It*~u>C^{hyUPkw&9UF>gqs;SKd03l&5 zmPf9yS*pA3?Cc)5?zmbvsV50fmBT|DBcyC>=r2g^*IQWo-SG(s_V)HJy4UR7I+Zh9 z=kidIEHPrr%gcZK0K)(p`SgdtN?w*PA&}yOfl>|(>_6t_fji6_o3ZKJvn>?_-I)~` zg9JIf@FDfP+8G*90+oRSN%2vUK)-j9u?bhPbi)9CcH z!_DsC!NI{ftz=P;o}`&~|90kF_$p4u97vq2zc&tzk4Gux^I*-+nD>$MZAE%YP_ZLE zi-8Se$K>aejx~VHX^mcMLve91(e&6@Az`cAnI>p`JUySgfPQbwP6@4%0CP}l|23&% z>*eKTYHE7Vba{EHV;?L>hje%MFhqU=8xG^>Ijizc0ty8rBxKBA?rAFr2g_j;5}^*0 zLHNf^n;J4%wacR2#K+cBj)}Cr*N3xn9>$yBSV)~WBX8hfVK^~G(s2z-Ao9=Qb|BVR zr8?vVQY&R^w>W^uGB5F>jf&i(0$loL1WD{7vL7jCoPL;>UJ00ajI>vejkpeLah zmzReVZM8ViQlMM9QGC>$kguto6(DGsqUHW7qA09Ol&6m`<-U=v`@If}-{hTFe zznEXFgZB5$K!H|^W7PdkLtDEPEbZEbbtCf%UI5N3Y>w8QrKEiaHx zH$hfsbaa##|1ZV`Y&(%*_|Sx8|E4edy;8;ZXkk9SHjs7c5Vd3tM4uKLs zG>~|Mh;MUqla-Yf8X9^mtmlA)oI66A?Wb!7bbXlx3@q%56$mFyDVoY~cX2=EchO>^ zUi}t*yzZVUZ^9K~Bn~C-n}K6{U?6z@X`pdb%%)h97fi~_%S%r`zPwZlSX^4tokj5; z)-oHT$P4=;XumyC*vt7BE#ura9PVq)4ojT!tsnU|zOAJS-bY_0 z`U?T+S$}0F+yM$!dm?MFzZHs0OXU(TcL$>m>Bm8aT|zW7{dz{uSe1j~W?6z`Xn6Q1 zse^-qu-_}k#dfj~+SmX31pez3dosDaqlpGz4}<#UVQ!g7z|%3bu)yR0bQL7}_MHxS z<*cxf%)X=`{U1UA6526x%+Yb33~Fj>$;~X>YX#sX?&X{@qDo3ib5#02IgS;vX19l! zD^thE<&~8-^7069p3>5=CF$O% ztrq-EPE#Wz$7g3no!6sD)QpEjIUW8V-uO2)HB3Rh`Qb3!{$2vMwL0qR;wc^2v#1%+ zZtm{hAc%W;d(R;x8D^Y^Fb;{28|vw0KQ?3&bW;$=6c%)q-GE9Yvd{L$AHQ*g5>~O28Je{kQOSX#Iu}MfHrFvnL5>r0A@^7 zQdH;{AAbrUC|%um+f$O0UAKDz@VM9n1QgCJbak_G28!ZA((=wd09Wq~vT>+DB(&=4 z>Tek!b~FvW;Nao{;bcu#V9W1m<7RL8XPtn{A!7BoR*jyM&TQR(ParX=s;YvF0G0nB zGV1j5@^brCm%Ov+8X-EW`%DOIXA#=}lr#T_$o^F~|D%aupfc$HmPl5RvjPKC25p(J zlS2RRLdaJ6f0sl5&*#CwRGvxTM#=`2e)>qQum*UmRHBo z0q0zArOl0$2S)a(-)p}|qc}Z)Emk@i!BJa>a zK#Vw{3ag!pXn!#W7QO}sGrB&qek;$D!x1b+^XYJ^o-*Rgmf!0hNruB12m*q5%%Y%rs4{F5gmUaST%qy+%kEyRqwB#zNR<# z%mBXQj?t4l0&Gzj5W&*D@nXEx!h3PXez^@FI&5f!%-9N}xXUG+25~K&N-0Za_xN000l4) zqiV4IAFYcj`6qMqX}ZTSMXr_Y1*iNq`x;A*Z*mTqZD+H{Kxd3C4fKk#)S0T8bjbwu zs3JJ>-?SrZIe742mh(HSGE!W=O5y4moC(E{sX&Dq_kB_}?^uw8TDlO|h6{=S-wY`~bGI;^_3xE!b)zD^m-O%5;l z(2QFVt~TkCW0`zJ5#52w3xrT$GgxacZPN~J?CF0pb+uUBbq%Kdrt!>R10u*FRi)=Q zH58T7h*vi`c-DhLp4^GO!5V3YN134QdM!94wHqI4G!FwrA~3)Akrt>F(;*`jEPMv_`DZl+aOJaxwMQiM8kv^Z^~Pf+Ayj@jRP>m#v>nc*hH z_x|1|jVyz6s7mbyODDUeS$XHCM?)}$d(_^HIRYgL&<_G{HbJK&;ET@FTcg!9p+?hf zdN`GY$vUiBzbv$IhXrdweTR`$<=f4Y%2ca{P6+>s?zMMM99)!GzOT34;Rrb<2KBV< zk2^AG+6MExnV+L8A&qxMeUJZZNe3K33{v`u;%Fr;)B3tyim1({7FYw1MTPKQA8_QWn6!~3?Cu#hYjapux? zB^{CSNPi`}=`bYp3kI0^5=Z|PXL{CPbdXXyF?VKt*Up*E$2$epxH;mG<11^r@oL#&6|D8^U_;?#rDkG~SFviqyG zbaF&mwVdz4-hNvlPL>HMmZ(rZ%=BP52jB@m6p0_`Nzsj}p*7zf(Y;_%sC(*&l^B2$ zI}lejl}GBobT`7^olJjtU1trLknX*=!YLnPt?UU6I<#iC$tR zz8cOj{*~Q__{55pyjR}>i=CeggsL$;ABqsDzg_??Bk<&DgB|-EX>HD9UIE%%zC(Wk z$)*AU2B8Vr+K3E&S}UI>LP`_aEp$M{i3uEzetP_rlQ{Cu?!u@Xe0MG^raaild#gWS z+4M-S-#^>{-li-{SE%3O^*bl7{S`agY& z&^b>{wDeanT_F$YPX&EpaB9Zx;)%+D*C$yp+1l8euywr3ZblW`O4(>j4vztd7e0td>d|h%w;& zUu=C-a3*2bZEQOeJDJ!{Cbn&JV*8D4+qP{@Y}>Y-lk&>^o?;PSBL8G0ePu{9e5WFs<92u+om^!(; zv$a+KxA`&F``u0oD@{Z3?Y$%j9ss*v^~_yq9~J0f9xeJMOw6JgG45>j44+_8bwX!~ zXccW#_67J%i zzy1&`gq&aNQ+KLW5*5=;^8>m(T*2gj51AOV<>q37!h|wBAybE#H5R?Tq{p}U?!Wpi#c^KDrPjXI~sB?3^vRv-cUC$5ke zKIIBl3aJyu-1n}Q!CBKgD{L*fn{?Mr+y-^cY+iN13K`z+LJ`mTc6VI@`FTSj;fj~R zA^Y{6nM){pxP55s1^?dU|GFt<9;yMNcNp0aD2gfaqU{A0+XMAZKq+fE0nhltp)m71 zFG2Eb)g?rDhy9cExCdw>0)s43#px#AL4rzI7HZ3H>5X>BH3z+Ax^^ryoXI35esMF5 z*Fft-)Kv+4`f9@!I1{yRbR_`_hkkGi+Dr$jvC2Q02=)GQt6IPGKoD{<@e>QGiuhN( zjDuXXNm1ZB*A;0uuyOcHcK#`Nl+m`8V3B@mXNNxJ2)xSZp|fTr9Lyj zdAZOBstJpzrPwHPX1q936Y90y7KarV*1o3|=PKBi^EnwFd_VZ5AT8Alzkg{-k&{F`=)GeMu%l8KJWP-ld%w6Sp66{|^gLiDDjrk{P44W)EWFX^SZ0bo zy3WKiHHN{x6jJ)ls{X3lt4$}K=S$Abch9%vN#4)onqY1gC_n} zKLbvZdDOTy88V#rIH3cn>Bi8b)$-1H>&+`CD=>^pVoqB5x%(t4NX|7h>KocHp}+=@ zU!aTNgc;y;@DZ)1ky5i94>TX$nuN&KwS=KfMsTxY(552EfLFajMVY?8qF>#INa_s-CCnunn# z2^pf}Z`Nt9vI2kIVpi9{oD(-E9MB;Hn%LlvCPcv4y-s9&aQ;9d-?UZmFL@yCN6n`uJE z@-+bZ;J_dEgT-llgeX340NB)$co}T&&}O9KE<@nW?Qh+!`0tF>x)oHKOFmjnf-Yr> z9P;N}O z!~=U+bbSnsozoFijjubziqrMaY{cYSSPgU|k18+xyo_)Ea*%uz(i#i z6Cgz&0p9wZ9CyWET`e~N&}jcR-v7x(+5a#0fgz>h0Rkxn>i~i(;PGW}OpNK?vnzZqd`y5^?(j+2cyU-5Kx+4key!&6zc%^MlO{2jkllSi_@%xY{`j81Es-;mh=9`|1rHX?3`H;DU;j zAH%_#MzvvaOGnJk3fUu@jNe^x)HyD8`xUK%#yNkwkI00J{LBte>)auh&@K^??XMA$;KdxW>?)i0V*L0##aQA-5JAJz zRp!wuc2~3s@oT=fTvn)t10QRC$B8VWN3)tifHyyJe0cAkx##dL;)lu<;d(v|4Ha7n zbV~KaLnO1R*)Rp%vR}pAb0W7?NhjNF+vW~h=nOmi4`5g*BIi6o47Nv_IderYThfKB zt#&6;O=B%P^Sqn3Y&Q6bVArHH9*Tf)>2DfjEC&i_T30mwf{%)*xV2}hb)Knfa%zf2 zand*IlE$=Ygu!%5<&^-&_Xn@$H#&t0+( z;*~0a1E==Xz5s(3aP`Orcb{u}bCqnBmGinHWAUPT4dOz!VkmUVdkmgg*4l)JkX+JtjYYkCo%Rt*siXeBl4)o^M`@ z?OHQeFi!;Z2fF~hj#gqlVzJx=-gXVsC1gTu9yo{n{e6^yO*BL~T^3V9&zbE97tn5et>G zMI@ULH#X$ONZ7zphrC823c*|;Qf4v!zBM`~cYv+>3`M$@3b>}5WvZpKmXBHLDB_?i zz_J&z@t5iRM7%Kq!B2_{M)0*Hm5mdbo!IsW=T__;c1#73IZ;1m#-LtddkCuLD#>7l zo^A)|zVyCmhL6M`;P&YWflE$-HT^)G{qR6t&)vT3TGcl_Gzoy{^9{rypC#3;*82P;s!7~(RhD1?*{rNX!SjB z357Ypw;nF#5a3z;JrOOfID=lrCQGr%A{3;RMA8yXaER@7%QVHc_5#&)z@nna^K*YY zF2-iGIY0!0>;!#?_7HsEX8`d=i1C}GAYf{v<&-T8tm~bm$HKCypa}^Zf0-Ah(gq!S zkLo0lu1&zr;j|BxCA6oKuZfTa{f_}m*vs$-9_vF|^Tf|TP^A@1@8AXZj=r^8H zOo;br@otNA&@nK^%;7NZ!VvC#1uX)fG$38Q>Q91mNoCtk;yBTj*XzS~pemiW84=SkFDe zGQoWi+f0RJ&LA3Kl$CEyw1`{6Vj44g{G(N^+UPM<5$%r6UWKGa7~)tYr6Zlw;cjo0 ze+Jv1DbdHZL>T_FQf9Tx=vxKoHE4twMbK362Yvji`@laTj)!U&?}F7i71Slb4R(ap zAy=zwfw zl)TQTd=k1Czgo2H87iO8f#56qmNqe z8^NH`rqC^cttPZiuf@!M5IEdSxWU=a5)ON`9W(nf)-jAC(;Pe@83gmQL+pHRVCf3& zGe&6nsE`3+Cs7=vPYnjxO@kNukPzFZJ^o1}klezT(qUJun!!BUu!Tt`;vtrb9a#+a zM2hlmA|8NbA{={#4i1ho)h~u%8Z_+*J1CL?RWMykghhWWPSKnuj9so)a;sOJhXq&RwVdUd=n0S%W zKtd#RH$jJ?i4ZFPbHcm{P9QL!q6?Wmqnw#Z%)hQLA{W&)*f=smzb1v1Zb(mm8L{i< zJ2U6UfzW{T&lX}6N;Y1npydlWBKx`n)ZBoeTkoEdzhCeuBP!*o8ic%OAE6yr-H{%M zeo8=YsC~tFDA)v0)h_Qw9BQ9t>~spu19l%E^Xngf)wxsB*8sCw*}*>rXW=a@!f`3h@)8@`yF&XPnZ18le{Lejf40rF3Hk?+v(H#h3M1~YKQeUViaT*Uu zAp#2lw3ZD(sQ0^GLb7tX-L4+*Q(^Tn@HRhdzr&+Y0$RxBO$ct+IFtylc3mi60Aa{H zyQ#wor-$&fDtYKvaI12L`SLMCR3?dD=%!lYL={e&DW~<4cPMf}AWTOSG(rPb-)W*q z=rQv*(biqMyE-OJSM2GndHHvAi)WQ#-N@^jp2a&La;8nO2+A-4eZw~63iuz!M&{vF z_0aWv3KQL{q02;A7=vc(X6R4#g!B3f9L)QpWD;Z zb07tPcI!`o;^pqiMsI4S@urw1Q4t^~NAUIGdt(oY(n}f?ytjA{YOrC>pyloMwTU;8 zhssC%L5bU`F}n!FBM~~wf+NlEb?WXEUn|KEqyL+vvBbhe^!cajn=1(YMZXOfbJ8zqW?ac={}xM2s7dlT0pNFGTHK=cVfM94ZjbJs9P-I3JurZV$&J zVkoR!Rg$^$3h+bipl_y6Z6?aF!SVIIf%0jOigg+l(!0Q)vS3|xgy!OY(b*L1(YxH%w9F|G&&}Sd?AIN`7Ruk{o~dk&x{7Y=ipPYmtj_T_n>cbt z4bsL~0qxFbkz61x$X}H!XCB|&A_rM_g%AF4FWlgOp6I*7Gb^t91@!|T9#5a4Q=w|4 zcq%$Vv6?~t?A@FVkR%wSZb{8T8hrtzF@a>B23Zq|CuqhMC6m@XnkTD&epye8FGqWK zrfcbJX9IpuLCSrn;ma-0#N=y4q-UN$kAmL5NZ+J_H)!gC@;7FI`uoWM#Mn7bejl-6 zVsHuJu}RCU)sNZYLl%F)DmURL?^d3BehXO{b=ImWzN-+m^CMaU%(v2 zKQ07|V=UnkZgRZMBIg&)tB&bEJ@?qTt8$aSQoo~%f@gkRr0qh>;jc2)P&WOuBhs02 zCn*(Qmf$Pt4e|nMI%xQ-0|MRcDPaPF?6ye~!F-`hZr}NknuX~P#cPS8`)iX`{I4P{ z2}{}2!lT^3;DbB{sGcc`F386rU=1#Fmyg_*$G4$Y%sLP-gc3N}P6S zTHE5bAb3b9&)kCQv_Q#T7Uy$lPU^Sm$2jE3ctIj2fSyqoiwYm zg!C`t#=SXkr*O<%Xoqmj3in_vN!7H6UaUHwu`u?Pm;`Q)r9)o^RHC?cq}a-5-5!jn zsHrTOEE3Hnf14*DAM*g^k`no93j-(ung`%9<(t)exhM8f(q|2$C`D^WV03ng75h^C zrRWKh(F&=PN21h;3fvBUQ|*hPsUf@od!D3)3giruMuKCi>DHRgSfU(-zzo+ZSSzje z$pW$SkxyWTlhg+MBa1^3-mL|{A`}OjfkgFkp}t-ObI#NytdJjptIsYWLe7$5tmZwLs?g+&6bpRO^%0z`xAsN^OHIU&(|78D%6GAhq> zL8&@}Ji@zFNbL}dtAdb3hG_u5TA&0RJd9cifhSTjlUX349OSEdmnv{B<@fPNkt)_b zR{RXa4MNlcim_optXJ3)tQ8IXS4g&Ep)2V`_yUylZZ||+t$ApN8%SX%4r}2<;m+zK_i0|qpxt5e38@d=g+}SR@9`zn=0z9b>jjC-c z*_uiFNJ|p$-)o**^ z2AKiW6;22@P?U2$pRXH&vp7;+AAj^={FggaC-n^|FYh*9?+$=p|K!_a!?Ee7&HX#8 z0tErPn5l6|L(wvpc2!L8+R@${Ok524eK3Y&)2D-bdz+;|1AN!ohlk6Z(|d;nTQZWM z<0C`*GDS)%tZLK1r(4_S9rniIRkOx9dTJhhoJjCf_2o;?&}@q)`%7aGhWwzS)fSl+ zA+cMxGu5<4OAbKuncx7VqND#s&AN0!s_!h)c`7*esC8z*K8`ul7xHhA5rxu1Ik6SR z%LonZZF0uFvhLXtxB44Rw0PjSzI*kgzrf7mM5qO5r6tDtKd?Zf4DIZH!9e~z(tlcw z-GO*s+;4YyXhHWWo4XH8^l_yz>bw=?SE4}Yp%`({7%BjPM3la|cqCv6IbN|)M7u75 z`tA2B$b00Z3v_Nw?`LZsBeA|#qoz>820$Y_sn@-8b~$$Wg{{k|)pC59ww1Uum<84n zRW0FY&0t!DbSwh%aG;QI5+kA3v@2bt<2)=-xSUKSld=9e5s;@YJV-q}_!s)zEh1y4 z%*nd`i+=z$@Da8CPWkOzF?b&gL@o=l$$nb8w=-9wh|jZcxYv(2ILlr9kgdzS1a?w6 z*R4e{A)KuiER)=xKHk&6e@Hs;-W8CKTk2NEy!qltsu=5+1Uxg~r$WZ{ zCsu}8M2lPpe!pUQmNn?^fZJw_k=X{(&(r$;`O*LiG?28{z9pmsL1Jhs6S~kdD=6u$ z1#AKwur~_%C5VjBK^soa`ntpYG+KEwj+2BO{8)fjO=Lzi$fY?lS)LEn)l%J>yIM1h zUmJN!W$W71yW4$LG%>mwR&u9cV5AdAINb4jpLQdg64x>Pp8f69Uo=zvgiJS*P0EnA zlNJCqvO)5k5jgb(-J$UT#{A{3{grPb21|dv2`7U2A|Wo<(&?Q z6``GxF&((0&DHV6iq(xvy-3P5kmQ{3BRl{w&{hm(MGLRMc5v{xpbk5bxk6Zes>XT~ ztB|T_%T$Bzwe=_=&i0-ncY~;diU|5foLF+2k}E!%yFPukkdO zlTb&S5ObqUuu&*wZic1QLF0v0BW^r`7OlGJUud)G?rV%)-1y{k2l7w<6F&!o=@1io%E{n3A zSHwAs<9Pg7h5U=gC!agba*^pBhp3&y`U}$;Z-K>JmJa28+o;p8b9BRJ%H#^CqtGrPukiBOAP%?+#@2T#PaH<$J*d(VW&wePtR3*~2qr8IH= zBW+jkOl9^k^64LXZpHj~!}Rj{_!Z5^=>cl?$0LCpz~^a?UaUs93oQiln1Y}t(j~Nn zcH1k^_!3!05;y!4S3}94uZ_!ODeZTx7)6er)fC@X@H&bescpMiOdz73Zcb)S7GK+o zTX!E6#Fp+4vl$OZ^lEc@j*#$feUvO_^Lhz$+ckope*kUUdu;Fa9nk&{_56PVFOL5N zUM)X?*BDNURVxBUi|#1ABpwJm^M6ltAHj#=qzr;1qPA#)AXMR`(8B#}f8iszFr+M_ zBBG`MT7R^nOJxy?@ltNE5mD(F2^ra#8UB~g$3)1;$-=_&zlT3E_W!#jWMW|AWKG$P z1El~|wir2?>a>vKuDe{VG+VDv;r&pGN(|RaSJ2l*htNy%CA&SgTI6!@kI%p6y?rhi zpVC{&tJ{uNGW>-#q67vvX3;25Pj-fT`$r~V_g1HQPbI#yEE< zDF?NE$!(UR5%$P!{^rsEz4s2*n-% zo(iO$nkgC1?AnOl15 zXshscQoqvBu_0l_fMD-?4v(&6zw_>a+CM4;7QQFoCbvnYC-CqtI)RV=zydhPMZ{Wq zh=3QqU1^xVp5s2Y|J(v#`@U%(zIx)`^*G=3=x)Eyy}xQ^;;&p>!pWZikUQJl5I3%) zsT@FGSJ=KhJ2@goW_x$v_l$Kd&G%pY?w@LZX?J?&Klyz}Thl(QBSHfX^(<4d)4pjN zU6LA~K+>tTI?^TITBj30zz8;SAYinZ)okwXGme<;B-`M(j6;;p=pRe^^FD6Xu_5+sz4@Z$SAMfalwt>4lyF z1;I4>=sPkxJtHjOb=%@S#~-j@dPPSEkoZ~#dC__VWPY_rodo27%c)|l1Msl)ZK_-|oP#HbtH3epVNzu_!DNXzED@A=^5#U_*1mN-vm%JxK zN%fiersBOPMU7v{ zKs*L%IxW*Fk6)>oK=}NcSVUs8-4v~4b(U(&%v6pXvK;TrHDcMv*<72ApXO$h@YE!5M)p?ZDmA@bensXT7Ec1vy(0o73-S=WQ!jte^%Wyx#UQ zxoFl2SD0B@V*Xg9Q70s8tUTHzOA09=M=Xv2R#Bq5ze|$2L zunQ!lgT|iDLTDOGBItE%i98j5)(KD^>w_Vu#DJ(R0i5f8323reV_91lEl2RqZ`brq zpJPmpT*mD3Nbi$Ofb(qE8sRB=Kv|%fNE3^?4XqH{EeBge z+;}fX4b3)~`%s0))j~?K=&D?%0F}HAMwhfM~quu`CEB;SbeL0a$h|#N`VO*J=c$SL|U0d2=fx2ZJ!v zD{sL0o>;Z|$SN38R(hiIe+^yr9$6mjm_!ZvAW`gj=d_woahMB1Qo9u?TKe~YIM?#1 zlkO6#Lxv%~3C-@Tw|TXGf%+VWy-bh150v{qLT#E1(fwj9EXwqw5z_Fs5v{a@2r=Np z2mEt%#JID*?A2K*avs0W&`Hai!Mo+RigGBzWM1y0Es^Shykm8qoV85jNAZ8p7ccL% zPi%7NGv$|gK>ZMx`3<6-(~8}6UiW8k%!U7VVeHsx{1a7NMNYYw_5x0Vg}s-lg{AeA zUjlxjL(QE5~cNZA-^DR1aCVJ3vzBs2O?6cWwuxgYQAlQU)x*Vh}(#RRO5z)-x>U-&Bt0Sw*Ie}#WN>d{aUiA8bw$tc%VNC7_$ z%@>V{mJ+WwWck7DagKzc0+7o0cUvc&1#N8}B=LGUfWYO6_%VV6(Ai7QV-Rc|O>=7}CUSZxJzNpmZk>%LuYlml&fb zIrg$#y#KZHo3(lsO@jT&!*RweGFS6!bd!SOac)>j>F9KpDImx=#I|kw@Ha&#$>7h8 zSu6Hxok@ChR(siB&e}EA>;zcF!)mgWP|cT!Zw8HDah}~u4dX9>UX$hd3a`cGD7c@G zf^>j;A?3Qi|2+tpE^kHak~~k9jD|THsj0uY(FdLrs0Lk1ldy#ar#-4~nbu*^)#Rdd>`PlH<&mm%R z4$qm9r(v=2?j+r@`K(6i(Yk`C4oIFi1fY*{d7=#Mhcl`;s+#kMu3@-F)mMi-kpcx+yKBuG{#zL?uZ1v>>3N)T(wNcy0Q8WWN+ZRKnM9WLi6oOf)U}K_n38M|K08xX}vA z01UZ|u7DP`FZ6&;_nDMP&(ICg=_zL;?2$!sRN0&Tj$2=^?NzQ$lHe2RK(T#`7~C$W z6XIX(TNAgCN0ax&sm`wjqy%e7!^7+q+z+#i{17lUL15dqw1Hb8B*QkO8yd5VGgEA5kR9Qt- zqyPvXv>1#1n2+nI_M?5v`7~yufy}pgVk6>>saAFod1z{Y8gSowqfiEI!)ycFB|`a+ zRDuEUJ)CWYh(&u8 zVC1g6jn?aT1|Q{?gG`4)r#M+>2N~3|*a6h6U(A}LcAmFs4fsOY#s}MVc!`{~voB-u zj=;-1N3Fmy<4wu{u`9jt3445f%_pb8jvQyvbl(V*ER?LT-|2IrBCpzsoKHV_5;F6 z{pQ3PY64|VmznVsQr9B53R!3=h$~w#0Bjsw}u77uzH9&^DKKd6&xq#qrGA za35Xpw!f3+QiQfzXk5CoP-HC~nu8Rb3cUO}^k{ zh>k6~dbNax1YXV{?6flz;I*TM>hJKn7QByuVok}hW1~g@%rsLP1k-?e#rCPalh21OMO!0ytFqn z{1fWA3T~BcQ;16l$3yRirA3vd=j_H*^-fGVI!=&+ad9zju>Ri1HF$;7F&e{9m_$zW zmsqyg?)T44*Ji_zy!ADi{rUcqXth5w3bJ^>rvo#lQ5u$%7QM{fAL6{U?b{>LQt;}Q zH)uO-sn8qRS!$;{j0Q<_34|%H!o{bKT1+1@3O-pP^m3ctv%wT}u-Qe-XZurO1Uc{8 z^M+Ua1{7rnZNiq%NPxw+Sr0IkfbprWre|7rY)|q3v6HImlc=0@00`wHWq)9nSHu`Y z*$h^|Mp;2LNJWVv11D3M^fRax8?Xp}CU8oX3BP8x0+keo;%;Ds3GPJr-L>Qn*q;dn zGbtze6vHKl-wMMMT}6Z=B)~N8nJ7j4d5XJhn^mef)+qkrxNxKy^KiIOKk!4S@Xu@G z!njHi05h;J&{trB1JVqYbEXu)OO{Y*M^xPJ?7O8%pyn4PTS4F7N#+&EIas<9tnMl- zObhL$^C07=(C|_|w*60KzF7kIIP`iy**+2x$yGl3ovem?s9nf2ARnCZ5~~#yuXwI# zJDf!dv%ohr_qo+nscY8*^enHqaY)m}0ik0ttx%BuUf+V|fXNUmE2&-b*HoOl`f8T; zYKnA5n?4HhP{FVX|1SSAYQMNx;ccPjgZbV$39EBbcyz8cf|r14?5B>6+b8s_T^4-y zI&U#zIW(l60H4Q^<_{8Rf@%T2>V8RB=N4A}kS`guW;@*uE*h$UAzbn0@$Y=^{(S`3 z?Z_1@Ei>(N0B+)5o zTJaq)st;aOPpS)NLvByMJy-Mvc0b(I$0Yt*9gPzY0b*$w*w-Awlo=ljjz(JkOh+1o zloV80(i^LWSK39+D?0S|n121X zQi6CRdv4JGyldb`5~d$C*TP)G*>PoJBjC>n|AMq!KJK9RZbmiF_{vRQ=(f$=VP#ufRnwRx5xYj10H0Z^5Z-N$DSJK$3DdrU%UT2Q+aKDG1=eMxCe z_U=L7RNwwc*e&G1_)Tl&oKub`3?vYK53PTeU#q3C&?zjW^qDbi^spE1kx>{bf29bo z5d2Uph*qTwr9zRD-T(I(V2f4zQFJTDK$Pfy4Z$FOxl(|8AyIE)pOCsb-o7%7Zkqw~)}AB%-8!xMceNkiipyHLvL zFjCiU@Cq#E2Hbh?q$J&;alO%eglWZrv@Jc}K(3ji#@|95N;(Blm^&f1C##?u4yrU+S75_3>hdB3~;^vkwBoJ0I1Hyy;qIY7751|=uj z%5##joCIMBOk95RFCms%w|4LD&|k?DrriV`!EjaBR3e-Rd0hh$dffYTcDg3XGyzdV ze)H>f?O?rD?{w(+EmMRKUTk(jf6X8nnlMRrl=#q9F6#FHatK!vZskAPf1V?s+3p%_#BQ2CqPa>t7J363hz%Bzl`ru?*S5brb) zV1hz^mp2m_^U=nfGVi^5vTyxQp6Ruxo%u_;7#LU_6d}{IcH2tC@p$iC>I7TKV#Pc7 z7B;5xBfYl4M4@3oLC`cO=1gC_?p^~4H{3+u>a}uAm#6aV)ziSR9^g+)MheGv9#=Q! z3BScuUF}j~^+R%+fO2o9U;Xe~6EhpDix%4zNITDf0J7?J2VVCY@z8_3Fhn5Bj4LNuYiy2X}hJNg^u8 zXH19HgFE4I@~;weg;JkZF&$qbx(Ls-;`D#xH4os6Q_YdQ9#`p(7+ zoT|W_g8Fy#GyqzL>8}!wztWf{sIt&!TF11&<}Idq<(OtF1*Y+fj?Vo|5eJA|+pFqX zqv>P?T#fkWg9>?Rx+Ah8tgV5@k0^C!{AozC{}MOLVeZ=EP7Efj<-mQka1FgbR`e|Q zBt^;V*LXuGzTJLzgS6bz(qm^!Cd(5|H-Wg96QN%rAB2iONTsrYG5NyL`WgvP4s%W`Bo{nk^M{Zc`Zw)CAZh zMzcY;xv2U=gg*A7=L;lb+7>3&mf*(}Quu$JlK`68mdA!9$W!sff}dGK(Qw6Ur6|sX z3&$6<`hAxI8=*9vQ}*yPtj96SJ`}(Ujx^g7!}6EYwW%8j8tNdA_GI&P-=rqB?eI@u z&N+FT)~cEZe`AQE{BvKn-+iyfsv1Xir2MPa*|fI&2If&=7o;2YNRa^--CR`8 zx#obi6$7W{;N|>K*)NLMo0KNb;PN(s21)c<=%dwJQqt2 zf*KANr8Pi!UK+78A8h9LaBj)>5}6&b8Bl;OBNw)VMOj*hI?$E7NL|p?eiC>oT^xed z+OWs7&H>n1bT5AC0Z6qNJL8+$z>j7Q{S3t@Jdo7bA*{0?k<${wz^XUGyl@uF!5uK0yL@IO28sq(b z@>T(ER0)FOvSaLGsZBd+u_299*9b^ikTGz5Rg-N>?dq(BY_eWX_$6ZkYTW1nwgOfi z!4bO!3Lc%!vM$Vw?G?|cs8J(4Xa$umRK3I2C9|(`vt!n0jGfHu6&*>j@>{}xT7Z;o zoW2WxOLFg4vbuLUHLivzWF=tzJy|=O@XhmhNaYrxTO8xaH9uCON8g+QRTTis3!qtn z<9(1?7JWHmoiEk=Ln~kuQ6VRjBvF~y?HwErO_O$eF0sUXloGmM({D%_BsZa*&zad4 zrpkUF9H@Zz&(oX+Lu#6=eg`6~UPzjSfH>6CiB<8zJk>x2lV-Y{CROi>%Kj-zt9DPN z7^~((bstY3V|j?fC}Nn+;R+CZH>t%0#iD1f-X0>8h9^cgq21EdMn4awL)=ecAFnK; zJU$#+H7Dite9WW?%zxxkj7pPH1)4s!48skMIR}BZG0Fs>)AeR7LN3*?c~)UgbiLAL zJ;;1teI?%Vq>IUfhllWR`YRn5(J#h5KoL7LRqgBkBc$^lw4y%Ja09>sOjF-6qpz)s zC#zEd!#LfeU(4{Ugw7C%J$$2y=Gd6A`^4nv+p(+W>4#2Vj91){IaIt>X+73+>RnnG zDXpZpHxs{>uhcwTg`noEsd|{>{5sl>k>8)?88cM%`G5nVvb6Hbpw2b1aSh)9MJ9bO zf6u$n5|^}qbS_lPCjbagro}`kX-l;>UR}NHbhj~Z^sqCr=h`yh2-QPxo+$p0onN#wKoMUly|SO>5hY>R4OP1hdb z{GX|LrZHmFJ|!6J3OHxM)Ub~ehJs&>;jV-T{QmeF;?GvokN|K&-o^{=udJhPUKz{+ ztl?c>-kWYMcgXQwfAFnTN8M+*>IO2DXnOuSzDP0>f}%?C*I!pG)|P+8H~#`u*kgNs zCbDJ$&rQQVArDpf!1=A@i1SRzFfnYohl6+jjeCYx-o@drkXN9bzt9zC6d!VUa?P5f ztd<9IWz`k^(OQ9IzbQEBQoOoFjaeYno+gY=B6PHvtjH=z=Hj-*es2mNBHN-qhW^fN zocIf?f!Z+tS%k9JTj0Ag-~Th%q z;;7EVAjx=>DK)pOUP}@zOra%8)vqO7U~;xKzaXWQ4jS+#YaJdj`EuW$ROoh=ebe#! za%zj%^t2>A?0~!O4Od;a7G_==ypSUuvadpO`VqB^2*z{HCnw>&AT!T7c>+?C$A_O< z>ysiUz|t+{o%Y0J`so%$ri`5l{q<{;xf1zgx4R7YV`Q~?umqhSN$%Kb#4|C)IGo~F zC0BiN#uWfgW{?RiYTaW<9k3%!{#=&fr=1g!oL{>2NOzf6=ZhMaot-?u%E=(~U0cEK zL6rxi+G{`kWdJu`Gz*iK{Kn_<0zYc>X``A)6B4mlZ23f|YI(Gf~E&d_^XNFUz*b@=RJz_g9M!CVeRFa-^~dCK;-hRQqenWW6NuoFDluf@9XW4PyW)KBp7Z@h2e&?WGpo5` ziWxGSQneD+F46vUhZD@#EF*{&I!}FG!yKT6-Imy(ILVAJ&VR)Cqu5|a+vfPr!B{^Y zMpnTBEXeIQM~ifMoSW?JJ*spQg0gDQb!5Psz~$nJKL>y4U~{1m={QZo*pzAeGOTT^ za$Iw78yPTvof%xc>QU!(B`S8_;-wl>IqOV0ZqNNJRH@4R;FvV+Ni8WxYCqu?Zy&%; z(2XOg+V57uT#9rThUs@fM5?=-hj*{j%A>>T`V!gI=g_Na@`Zu1q>vo@y@$DvJOcQAk92Y8MOR@6zI;~Cn%=#nY*a&ri zJ<;R zN*9&iRXFv_m}puOW}jz@EAjboIy(FxX6RDpO*DF!7 zHObQpYV2`!4jtog#AG34WaCal+7%Nagpj@g+wAeW!>LE(OgtZg_+SZ0kIX|wkymd{ zWOiqRv=6iCm4m|z;Q&{}L8}!xwlIKmm{JrUe$D&Ntiud5$?jJd?3adqW`i#$di3Xl z>u?%XG(h{}q*~hU3Oh?K4h?WS&jRZH+g-()6vDfLPz{-xG1-8tBoBwv?}P0`9GHEf zPBbTTltAdUYXG0NM^S_n4{FUmf?p_@k3gB~tW=cdXUfe%h!@=XHF7OZbqP$1SO+1q zLM!RQ{djqo{)X6HS7pE1?B1xFY0=6r$=^}eu0@%8c0O%GjIR$AJLsXVGPu z9+Mq$6irY@!Rmykr5G5O=uT6u`Uslgwme%L6Y+vb{1{3rv8l)-x8H#%XZ;Yecg-9i z4~LWl(k^W(q{=~!AR54Q0r=4zGLMob%FOqYJ_Z;in@5;p#nuM}T}83h39KpBUjhe5 z@po9|A6#b$&$0pes^~(1i%DgQ%&=$EeA*i>GjXHe&Um1tQT2if+^iYUY|hgBb`!c# zvmZZ~b%dZa@0NE-Hhqyc_Aa@w{dII!tZQmw(djMG8zrtWyE~|E1aO@blz=zv@864loYt@BAsZT@<^FJWa#;6CT+GrX!l%j`{y;;o7$!yEF#S9= z9xz*YJ6%Eok|Vml>d^R2cp?E(q#ITUm$ zKx>tas7!Yd$5elZrl5OhYz=t$I)#0sfRi;x>HwB+H@p`W8Pj?qk7n@Tpo&;_$jJNH z3{~^Z1_5n2d0@!>lx>x=bFFJP&j)+hitIsQXE2Y@L^gP0Qo+dmAuZC*?zy`eK27Sn`l+he<`WkKI(=H56#iN(L?hwXLE z^V(s^U-%rj&H;)C9wHN=QyjmyTQrYipZclw$nB9@fT!WC{r_!r{XOsX zFfa3eL=r7lAa1J-@=IZ?Y@_<)|2kX;Wkc6RZP)$zN&o;&9Bi{wida1+nRV`%I9oBC zqW~8~?<^?-5aBVA!bwx|;RT*m_*@sknXo}3jk}ijG!aAWLtdJ#GltUkc39yvY*^FZ zz*PzekS^eBK_nsFu#yM2qm!^#9VC?Kj{jmHSAZKo{&TOGh&{caE+&VW2TnSD?l0*p zr%SGiuM4mY6DA>P8ySw+$8-*3(&>rF{PX~>u!shxR>PA{#46#V%nUIZBKn-Ba^7>{g)=;Geb6WpgFHJY*y7=>u zddGG`ai1aPd2`KYQ8{5FCaqJs&ro=rDHZhf#eN9GkQ#EuDj(v>C0jYY* zes&$_;`;ACBc|u2D~7JHzE~3Gy%pYuvIl(?7GDk&?hO_v38yBSk68i0PyOD$;vyfS z%MEbDAJ{UE#q<7c92RKCzJ17r?|n2fTr6Hdim@t&G-#v8jGu8l5j}yMI!=mxa*ZKy zacwo_kyg+qb8gicwqI-;D1}WLc)ZvCdmNa zvREryYv*JgEZu~=g`VNh4-c5pkhXZ8Sp@h{w%Yn0N)n93X?FzA_*bOqfR^L#eXb1S z)ka(ojr?niiMB^0R}zik16_pD{vb$*etLj?KyihtwA#|6&C&w-){k-kTTU>Hc@;$@ ziS4$?#TUMvQ&HrroV1D7q(pVn6c`sO`@4=pQ5qCiS0a!0xq&vuhXQCl zI99%zS3fLlDnJ{hc_EW?`0i+oy{pV^%QL+EfXev>qfEJlt}i7Ri#hbijdfeGfrVls zXq$iJyms|_Z6^qX>}y$u^>jgI1NCSqoB2MM)i3)6ve^vL)&c-hh0a8>ix zM45jboU<6b>od^ZFL7{oGgwxI)D3D`Eg0VF?F0$5KsN|l(~viYPc#vrN?Dcht2&Q< zwI!otu$0|y2wkBmuy2^+JCSp?KnvVO_1H5WbwSze;3`~3*_4US^neG^gaeH6*}Ozy zU$<%_pwhmi!8Aq@skx1IpTg}S2OPG|`(mSadDFSZVxS;tBNQ5j$vK{eH@nb&4kw(e zIrKpbbugri>F>>WyXj*nh33|5fWRD-@fiPqD{RE>R1(XEL4&+40{L8Ge*f$d|9t32 z7`4d<%Hp+>W<6PS?U=DQ*#N59CwGzK3#~>iDWr)_%j8G9R9^z zCyg!&j#zFv&uwSgK}j;F+r01%8rXrYAG z&Cj(1#;^drYU6c@Q(TswmFg7h3tb!14bTq?DLLKg&7E5dXpvX_R|6V-@h{25*{6Yh zs|lUMRZR!+Uv>tbV=qScdn^~0I;yB3L(sb|Qypa2XjajRXn?(J$c$1M$V(P(r8Qlh z9Z1hD={?Wl1)*#(Q60zvGV zP?ow5@uml#kQwsQh`7)7!cfgt9j5o0=v+|cPVr*$kY7FJ!!-<)409>!iRj}?Ty0+9 z%QJuE9)`;fPvg>AKrDCvjCEp^Ih`sB&t4LW{ASJ;x1E^>Aue+_JBA;Actx3k0>5(IVwXWYJA7r@{>i(k6#vBc~Uezygrbw&#-|Q(*OueV41kdt2GuEPmU^*Pxd(QU~rpQNh z@QkT8WOo-Jeq)2Z-21IUv+fuuwaf!n66PX~!DKbhYO8mN4fJR|9cnqEaBa0_L_N?7$$(*< zA=elf@u`@z##x3YT%=0XgZh$|9CqZdNa)+j)H`g1B)R01KgJhieUf$2^tX}ODigHb zCNxf;2f7RQjfKa&xE@!POaEF9XJNdprNZho<4M&;2E;3@r_5FvaH>%3M$k%u!lrBe z#d*i>7P+o8W?drx3}qfUgI8efJ^+Yr@XV-`E!${G7&G7u;|nN zZB~nvX`go5r5h-}Cdnm)`)Su zSDEb|!$ZiwTuYe<(BGx!PlDC;Q)7}nuAwRK$V9xyC)gw^K!T^umebTQM!oF$<0eui z-e2t@k}5NYHrI=3C(PZzjRKYprk$MKVVl{v2M?{f1$Ll7@$6uzXNDxIyV@UkVfCxE zlg~6_tUeSpBRn>XvvX9HtGWNd$L5UPg8qB#`y6GH)w`Fm2Rc;15nSlojO&!qNVA3v z@?vf~g(SzNv%6P!9he?7MZiZQJxJCt!*X}M4^xItaIqm@9R1n* zv0*)XKr;%4&Ht*i6zp&G*yfK}1zy>t<|)ab;)D9^ds*q5DjLp5X~0nUry~R+W~SO_ z=B`Wu0eV@jJjHP-s{=SrK^|`1Kske99ax zpC@rpjO;Oq$Q*nOWmx>*U}<~Q@jU5I3ArwS6M1;w8W%|)dwqDJ!GUD z&gCWzuAiZ(N#s`*m`6i14bcVyax|SUlsrP}gDcRT#3}o5v;i>0As1}d+FNiNn|QIF zTc4vre77tU#+F6UW?q(@?U5Setyfr-MXd#q(b1(^BD| z)jppu@Cyi$-9yAjM<(?l8cG-xgYYveaTxDB$NKPxP(d+^qC|8ytn>N_bAEoN#4y8q z*+dj|Ws`A|7J#6>)PwgLj(P&>{*Q>7M0|V}aj{idyeomZh-)4XTclw}5lww0E9L6n z{Bw%JeFeGvMsfrdlQKx>+X?z-bgLy^yRQzgVaPdhb8qELFWHL~z$!xRk7&JrqX4Zs z?+u8yOb}bDE{gdWV4CgldeRw*E#*U-aS0B`AU^%BQUFB`f^ps5?|Dz#8IHvMyJ{v+ zBv0=preOQj)u_3suujt1dg9<0?da$_Q|IVt{>b8Z*b2dtnZ0w*X+Gbh0#QX4N<(i! z*S#anbEm(RyczgWppUNR*Ny4r578C746Oz>gVKCbR%a8HU}}SRkOtIEWzMg)H!3Pr zh!JRzf`H0wk9sh-Rl%Zl?l3dEtTg>Z8p2m`St7kzTT|y9?4n;x{Sx^`6M5XkF#K2M z7TBD{hx>NXSeuGC#IOFYWFU%!>7|(C zVrgL-Zqb(JC+NigeaPi{Xl{Xk*A8EFo3nX{Apja<2Oz@e*c!#pIt%;}Rz9AKz86}y zyMfR9y8ujWHN4&OCMj^&u1NA$vFvAEaU#rj7L$%E$ z4%`Rt9eA1FYBP2~1+P_hPl13Fy!ExDAbQGpkqxRos$0aF=1JG1_*Z!@1LI}i&V7e) zEk&a{Op6K}k;HtE?++=|B$Sb9pK>RvXljl>&GAm`*>r^Z7+C@5cC27!Zlq(Pz#T(h-tVPutafU1<^R$M`!ApXxwMN8h~fPkppf9rycqk zz)XdgGSzWDk^Uk*vBHQ;; zm)HSiz3tMHA*d8d1RB&kJGu5pIt>2l_4(71lRB+e~P;g<^7 zh$jp9u6EBXdv6o5l&>^tYEfCBz%FWX1HZJD+)7XOuXtlQTi>o$Jiun+#r$y&aGlPJ z{8M8dr{%_+`f9`S?fAx)=~Ev@_?FQ0nY4mlPy3aO8k~X!R?LgR#3;)!aZn#SWEh#P z170FjGO9ga5gH@6{vHL-L+TqZ?&QUmMUg}#_DBiKwNcw|c`G=HZTo4ll=aENQ-xkq?rUlP-0kM)}VTvgT2mmLWWS&c!)QGmg)!fQVs4Vy`yB3c-H90l?? z%XfypQYu=jK7iIBGN`eI%D%JKQixG{_-cBt<$+RZu0Il)2hd*Ef4AFW1i@|f?w5=@ zqvV}Nn17vJs1e7ENK+Jo^6VlcuaBSlH{#;AyFF@=B~ zsLPGN@lVTX@{zzDh*V!4Ek_85@cN6Yni_dszcLI`SVtXOHv4QsYbN5e=sI_xhp2Cv zc0sBTyGC8S0B(6z_YlfUnI{FAR`O)<$uKyc#Iz(le;I6TX1VP*Hl>s_4HZ&hjQ?&2 zRBsRZnA49i1xs^$H12+*D*q~Js@{=~cTDhRg!+Y>&+xG1FI=;jxG1R`Vt3u*AqII` z%q-~8DZuTIYvv~sn=bp5(rEn-JR-s2vNpIZSw)JDSbe2=DQ)+O+U4$W2ytU*&u8DM)@q`mj<{m|7a)W zpSwfFbpWQo<=}X}If$lCtzS!-5#c4G?Wg>p%3Tfc3({5#Og+tNfxXvDQss8>l=6MD z1KJ=oW;pV=YO5yntWgf{uQU1Us1c0hP9E@`tlJBt-iyCA6rm(hHLkROu8PYIYlLut z#1}i?ik|-TyJFK%qmwi_sY+qHB4v@K3K!52E&@J(CvT%-BEhhq5$}AtTd_;kO(gS( zDN~%&B)TUfCMgW(eTj04MbpvgJjgu0UQ520B?2DJq9xX>bz&Teag5JDc;D&>ivG zvgY?cLj>>S>|DVin!z;l-r^1gZ^ySxqJ-(!hI%mTXu5`@2aMtI^Q@fsSZbFmsdNh} zZ63Jwo2n#+HFeU&-@1lcKMi&S*YveOa;ihr6TYa1M+g0&|y=1=#nfuSEE>!!!Y4k5gqvF zD3!m^PQaaaY}8ajsznI3F_c9dXsxSGQ3rlZ)B3~NIi17rmgYD6yujwyS|XmR&=J*m zrYf}U3gnFW9_G5q?04Ts6HBa962Nb|iTM#OcoEJ=;Umi1TVb29_zYSKg+3vn4EzfT zv5c$3XR0TI520C93?LlZ1 zB9}p>)eZrI>)3s1VN#Ef-Ia42ldA`Jb;;7yg-2w=wBFB zMKlMtnJCKGMnT3#iAqYAEj+}^iS||-od3t#tX6!SE1DJDL83;Gqkc*Dkp!Ytk%|;s zVVnrxg?R)OEeyh3p6Rx$FhQ^_dwkf@Rsfst01~N1tx(RqDDH0wTT;YdpaAAfo^Zl= z?hhz`-HYtjyv?&t3c&n>xhNeFl|&1hf0UG*Gw}T}s}ver`7P`!?7LgVf>5kosPgah z&P8WU>si+KXbK`Fz6k0j-!>~8^jV5t!Vz-0qqo~i2w^`@_mZ54%t8UVJZ2+;-k_{5r^8wc)9lc}FpEh+p$7PJAM$Pee(z(g>4<-D zq;dt=&yO{svw$v_*s{)7(c2<6qhJ7UE0#caILeaUD}|z0e0e?-bX&rs9>%1}G?i+0 z#;hK>U0x*qIOh(P;Oq#p*Z#p1(qX|n@-!fc=RN6lK(^Nkiric6Yd@bjT?W2}KKRsn z***3f+dr#5L63yjB1_IsuN*dZ_8>l1?9Z%HwxDx74d8;lm#q^(`FLAKFE{TN+DjKY z7boIO^@K66Hx}z(A37(|0?bp3Ks_pjSC`j7;#jSO0>Q3;lF2!#jD1?c*X4{wR8O$D z<98N(J3C$s->q^Uz&nZQ=FZf=I0g3)Oak_AFD{X#A8rLY37Ndj9I2vt{hd+)QRvO9SaVS^+gVtX zy<(}2rwkQWrHHJtM^liu2Q|spnNB&RLPJl@1}ufXuAwmST%&HAaU=3=Fg*t1+FGb_ zU8z3(!jgWqA>ar}>+jwk=n7jGnDK#l`Zt3x0-)zEY^ni0GTX0r7uKBUQ9vfmCt1f4 z!P=F5ViFQnf(JkKQ|gh!A0xni(|*Pe-0sVSod*VNa@4?TYy)CUlCPPpf_aln$Tot_ zsuYb^L{JNvCU;oWyHO@lM?0~25v(LkI!qa*pM}a7x;3ZO&}&TlJz-;qE61m<-L{8Q z1kkssKl7ts#Z4w7PR*HAuL|HcVm8HQIJBLbFS)uhKG<)74E9_MGn8F>ZG)p&OyFE} zAXpylLPK44Rd*}-hl`1M6+TD{D8>#t{G&u9${eExANTf(Vrd4-$Bkl82Q}Ra3sX z!j+c@NOvG5COPa-EEj(s|D65{QmnIdBCY z=9RV9ODPOHS_0c*FJ`Oo=ZHo%5VesDurS$Hg2kjx@V^U-lsA#TB5_^v^mJ6(;d8R zvp`mOYVKyqt2|z?%R5X;)&T`w}g?{Rvo}{86hGkEb zZ-1rGADN#Rug7iX{nFnK(8$MG;lWyOMm^h+IdX6bR`|>B3qyid83s}2p#+6G@Xy;| z?_A10Y2ESde07TBl+iks_)U-V6^uN4zFrJgSM>0=-4es6w*PqZJkG~p(5RQaMdUBX z!~OxM(}!Av<%SAKrW1fPhK7ZA2^f(?LjodqZwIGyX&u~tzm7)lAfo;J{=5wPqYRti zqKORWcljcXfM@Ipp%WN45z8Z3z}^oy@(T|XGhfa&WX*}dYZIYIP#esz|5q`32cPRN zN7Evdzw*H0NZ&icn~WZZ#l>`gir4-qzevxafST1J3JRNR5<&se{Fm7L-)BR2J`#C! zFz?_x+-~FVOt(--ralntcn5XVWU8yBaF#|2CrR3TK?B4&QZO+$T$iyPE4VB}r40*1Ur2f-s`DWlgceruUiTWt?lON?XP#QIzc_6n%kzC=xA;9@6_ zY*=#Us>XnJssaPdOO5sBAgFNqOX;%l_s+5S^wh(Iw({QUXd=p^Qu!yae{`?(Hp{nd?i zyUP@Ve!85HtWkcW+sIxM+*c=T{NaAsiRMbhlMevmOwOy4&v|6}#ASgRPC5t#rd50j z*ts8BeZiwre$Uhf5ph`vd$Sb1`6P?@R_&b97Lus8!$F_J$2one?JQFiZ}BxVXUo?= zd!*R(^?n7M?d%!HGNzi{d?OA>eQC;14%w1g59h*CM6VM=CrTwO(&hAE>_tGvc3J@d2)(nyeXY1o@SC;@)I9#tNwteeC>ugI%K*_D1M(wzu|G!|=9=_55uLQro~$W- ze0wdF_Xt&cvC_{c(0i67@tr6=Xu(&|d#*};|DvM|YI_peLeBJ48&Vw=cqks#<|+Z# zyo|H63K~vhVz;7#XBmlzAZnGUgtM$w%#vD?TD2}W-edLR@hY+5KFHpD8c~HtvtRAn zX+RYI!fA2+dNG0OsBjit=7C`$f3!=j>>qdB*Y3sI2d8zX2Tpkdc1V)FYsKLUOsc8U zP($5HJb~x@j&Y;=st}B#$hSC2^Bw>qToEDY!@5AyT~7Ih0T%si8qXa}tbsNJCe{H% zbW0?Kq_mC&>>j}qieIk&WGRlS*T*XsrSKXT$#m??3YxE;-b4Z*X<+=^_4we4RgdG?#MFYX7&1rhzAMZAKyjGuSy!X2JUn^vAV3~__5T1fztBgE zsn<5_LgM`e4%onj?9Ds6mu zzG=Tnxn}8h02L za1O=$Gx^0XVG6D?#&otuqrBsg8MBanihDcE{mV#aJm;a87&1tf?wf~|thwGacTk_n zRelNd9YAz^gW8}F+Va?sV|I@b-cK%w6h3;N!J#;xj*M+iOtE1|dBuPRFr`|SsEKa2 z4ort%g_ZqLxk$VP+cRwU7U%V=F-Q4h9Lkr8c7w85YE0w$)Ndq@Lst-^aHHTTkM7fh zHBNK@?e2w1c$Aksuqx_Lp=+|vW*r+b*Q&l?+}hRHsyT^)# zrr0H3!CW;*0mc(1cx=GE1H=8OA+Y#G-T1lws&%Vt9ese7#5W!YB=b9)wVAKHdT8-< zx}8cC{$Ham9%WlyWJ05%hP>)OuaQ|#^TK!cchKYvYdUrCJ&^V&n)uf%A_q%FnhZ6W zFFis1cdUC48xh6#P&4Gs2FA_8wkyuZa)UIgEwpme5ymRWbS1}C^} zKA6OX<7;N*LKQG8&L(KX%WUN>DlJFAFVkY?Hqyy{Je!0y*j;$yf?qdOd~>OISfNf? z)QGwfN%Zb4R#W!vL@W~7Fe_g1eX>j=u7_kQq5KbJWTg>=dK(L-QrNLGZyFk z+Ee0@SpL+!BJoWNX`GP^>|E?DgZHhjP51*#Qkvim$p;#XqxX&rz4$x(yJiD*2mU1% zIuRoWnL&W8J62X8k7_708&OA5rYqQvrC+hO@@_*=g-SYhEOT=rd*P zN@W0VEZUdnlTql;O~a1Y-p;ce25&p+f~vR;T;O1n#Ou{6#+2w5BMTM0pB$mAwlW^- z(|(WfLM?f^r{z;Jt4=JHn8!?1Clqy8j#(C?7n>U)2>nor8Nv@0E19t6ECQJSL-kQJEP<_blS7B?>}}zb$t$;@=^`|KSaC{ufpdy)C#MA%q{4nUk%p2Lurk6oiw# zZ4?}l85Ec^0U5Oo4jPg8XN@a0tAGMIqm0>cAG2?V*O9X()NXi2n!0r#F7R}gcu0U#>BzKnwCI>NbrBd zW+KFFV8%2hVnkdVb`}^0aVuvRS0Xl+|KSx9F>^5ew++X}VXGbG^TuEx?pn{3s#nag zK`^uT{({0Pt0#&?(RNeaMyHmnOwRukp+Z7Z%Kg$fkf>37=zz=Ow}>`l3XWJfb>uH{ z$3NjL@EQ?hr;ag7v{;2sAy5e*{EDKS4H&WE7%)oELz=SjKGn^5$k3o{7KRDoVhurv za7>ei0D?+n6KNvh0g~|Fh-gd|10WoLj-ls=SWXi_ten&+#Qihqh7kO`C&(bVx~M^9FX!p8K$YSB^rU1^!>B0GG$Hwa z%M3TMpn>3$hzCfq!2I#9;6A_%P4_7Wk0qU1;`j*F>4&E zRF&k7buesXy;|B3B3EMKtwqYhr9EZ?YD?>?3DlUdmnun&n_qVZ148I!YLQl;zaF`_ zcFa+nXqb0`K`tV9-z_m~Wl(nNLdE{)idfxJzZ5B0c$CzY>Fs_lkHo{>+1Ja4*ugi6?__PBWz=0W2LGJv;XSft({k}m^Y9b(00CW z3QF8|z!||d0+hr0oh41zeLUP&*z{$a#9G}fUIv{P2}nECnLOIpfc7gxyY1W$qQ|^} z(P&3VVk>z5AndY_pZEKkR&UonGRoE~^*kw9g+;2ZKDd(KFngUGLx=@#lCjvrLC2eQ zQD-t9EF%%POXLHN@Zj_X-9Kh;U*!YAU|+^J6xBCs%rgj{eM(As`VMXGFW%hknoH9l z)mIRvXM_glkj;miNhI@(I_DTTJz$y{-vYLs<_=;nth1u0^6hZs?))*pKJ_@28gc{y zi`5ohPgCYb3UkcJY`Cj97{z9!DA1D??N*K`1%23B@$i<|p$GBy@@VOKje)zHVcNE- zNZ)dM8TL`CD!!SB-)epH_a!+7fk|7T_n&_tebq82bo`@~ikucNc#)@dodDn6Bg7Zd z-ci8OcQF5irwUFsTFJ!HA*{T#;uX8XsDbSHrqAaFn`e9@b)HkJE`=I6cb8TNH>&~1 z1W2V*=HOn=z>?UCOz_3W_Ub8hC_z?-d>6sC;@{0%$Nuoh{5qd?{Qm@KUy+$1+@u~qZH29GMenV$gtW}?xpso+7 zenJ9xbzT?UWaK{7n^oY;AR!~SeD>QZgbypNnDalTA*)`Uw7RyfLY2JHQbqfLoWH+Z zeZ1Om+GY1TNt79`00y9&HXHsO>^la4v?UGqy{F4hdIgr3#}>U%`}BciP_`Pk zW}~?aUEmFNg}Y)RKLc-st{*P=@j3%|4>~$PA$z-A4=fR5^9k@)!it{4miVsRf$!*v z{(v@ez!PyIJOhoqgZ{Mob$OcB1%((04x&mv-JN~jU2!|O0|rKVu0r>_trOi!vwolM zqPX5&oMEE81-s}&y5PAnO#!hysu!CI1ZP~ud97jBM76aEmm_jK9Yp2@$~=d?7muDvGm}SV5n^#J8gxZX33-Y9U9n9VWqTJH={S%Ivw2%64g6 zhY$R-fq5TSEso~#or(#|mi((YizAj?tGMM^7DJUl0kWzzrH4G?%7lWfNTulNVp~I! z25ZEujVo%C1B@%h zt1uHU0K;_aW5I()bx9061>i?mjhC_%j4YZg?TS)cQBF*|k}~Hp-QEY0jjV^3goznhbWQkzEg<$~+Q?mrS#b3>;k9 z0o5wDTrP;=KHAa1x7UNsilL`WQj1yV-mUfo(gLq}4kysjE{P=**0%QQ8)Q^5ITZgs zFsNRtN3*tjbvhizsj=J13>pv3tx~o80f6`#8KnIIS#4QU#dP|vyl}RkD-nth7xO?C z#1(28_CLH+4)#rOi93xdzT;F~EU$Xjyr{>u^#Z}C66j=>^ z1tv_WmuIKP{1f)mu9>kan#*?jEBV574K*TR;2nGG$>?TZ;X|{9AI<#Js8Bb>fQnVv z20y`78lTKr_Kw$`LJe+KF@*v(kL~c5k-!;tFuv>;BhNTcpW+M3>ECDrwDZN5!yrlZ z6a?u+I>{mNfwXp$-RvW)qFv#Hr~VIH5Q;k37oiQm2i@Ni)>$;w$R6QhRgSUoNcV>R zRkU^hYciS~t$_ZyO67h;);!ep1VG5>EdL&CkN%hgSu2>y)U*U^cH$)pJ~8$zl|!>t3WEx}jw5glHL0Bn7rSeSN> zmIgRE?c=r1z#O@@*jWruthYpTbXtH)?5^nna>g`KGk6Ii^FBnI$aE)f@Dh)Fd!J+_ zovRK?7i~1v{#nL=*v2EE6$b$|PxUrfbq-;54}tfolnd(1s?7zlR>QVFrwWKmy>;)R zyeyDxENo9=ujFJ$sLYs3K@Xm|y5P(;_Fbv9lI(;hB3_oVjp6<0P%qyxmtOWNku=ES zEtR{zZxYiC7&CiQ7guL9BfI~M9E`1DSeRJT?x_%o;hEUH=ayv>MMnAp;YsS#0a znV5+fiIia&r0mTdenx)?-T#$|66x@=h;j%sGqQ5BaEh}qvN8%Yvj}rCvWYNrvI=vG ziV2JG|Lo%bH|1wNSu=YJS4$!ePR6u+YD7AKn$iz-aogkIHNb=Z@FA3j^ zngnE$T1Hluc6o48)FeDK0=}T3UsKyM!ks>2cyLykM&}dM*7m`7$v5M5riaBMgKL)S znZc3X@u%ty!Df3)2}ec{h+;mo!I%il#!^mGiwL*6h|PFpfT=!kH6R6u%MkS%Pn{kx zem{?;&1a7yYN=&u;iN)DNQYa4&<2E7II=Lij}d6x?AxsU<28>|4_6QN!OIq;5w04g z1EpMuT#!FX4TfokX{O$mc7&-xfv2el0$8GF`WZ`Al$I@wqpSyMR(S%qVfUhU1J(_Q=hj;InVf*!v>Hh_Xm)0Qy?ScO6wmQ0=hT41;D4_S7H zgHl!`GxY5zTN?eUG60&z%EgY~Ql|yF-o3bDC9_k0&;s@;=aEIPdUfO>Z&k9r#bE&= zb~bf^?7%3->LG72N7{pWr$P^<*K40l|8-l+*nU9De#e5+%LC&&j%uFbV9M9!+_)q# z1!7go8cmA#w(Z;FrN*xjq?G*iZCuw|Lt_9(6B4(d;Fr9v6##e#q&f6P@}K3z*G|fD zTpn+BLelaw4*(dzpFz`WouU;eN=G;oDV6MHs{U(Xs9j47rRT+1y;Za?HxoTg)vsl4 z?aYBOW%t37=kHnP^#aEg6XzvU;}uh@31D4C4dklef4|lKT@)YQs}?MfAwyAR_9PF# pf>*>F0TI&b%K!IUb#XOvcJ*{NGlyYfWMtuB*sivomp~+>ufN+xYZ7 zw>X+_-Y^1smbp1%kOKnykbQGU<@-9M{Y*VO&RRc&WLxL(qE?etRBsvv9w22>iOH*1 zu~4xCv5oqfz!A#k0Sl`eJ(@O`Z#SB_`G4gK%xPrQJ<`XVj}IU1Sb$HL1FIXqHopVP zNpgBx7*|~bEYvW~vx4rguAYAbf1t)2rBl28MJrjcPONFbd;5K#c969L(#5^YA2)VJ zw9_S`WQ~ZhHmVQckGGgQlu`AA*9^1#c2R0{<$5HL^m>*a0n@!ViR z8SyR)6LQ`SS3aIPV+i(9EQ|T(gR{O>#)=ge9y=WY=`Cb?RmPg;ow<5ZOF(HW%S4sx zU%lhxM~EvKR|4{VPn56aolhP>kp_nf55UB)#b&D+lNQTjui_q96e^Hnuild_0Cz60 zi}}GH7E(c2>XnUOWvUGr>k@!m%Z+M9uUhbMz4i*_0j)2yh+J}1coEn1(6z(qM!f^% zn%_ERwpAK!qCd)QLdG7e#s^Hr%#3H+jTt6B{=80Vu?G za$J*OJB~k@5JZK++W;64@SG9lxd)Wa3ttu03P3g-VguQP*@P~4dU*gP9Jr&~NXiBt z`d!S6anGg^d zjpJXsr-;y9@=OTp_B){~-zztm$2?$GkQWvEGacm%Ij!O11^lZYo`{_x+P*#Dhdi8Z zIqHeP!Rj1ufKF7FEuN}S(h=sHG%9jH8d$O9l36P4+zOv3Tnggj1iGYQlh+tA|KiS~ zgPEZB>Tj2<%&fbVg|j-4TIWW+`C+qxY0vI!F?d{cG5wBDdsj&$Izl>ClTv&-+(#J1 zfUN}fYZe;jybPj^NF%%f&%|7k98mhL?2ZD<@3MkGvmKs;EVAjc8*4p&8-j%e1Ek~m z$41{%O<#d3`tzpt2f=YhTKfPEcq7Rm!kV3-ugRC**r{cT<+D21dW=So2)|RDtA@Ow z)zpgs!tr#KCEHT|HcNi*-bh61si!M|F@y45VPcm`hZu=9f}fbloLCN+=r{jESNbH| z=9e7snTa(sgSVQ$>l=#aMw5ZtnO|0|XR2Q>WQV=V~p7ex<9OrYgMecin`4R2I5r=?Ehm%2snt zfE6NbJ1*0B*ZSYfIBEaeav+BMn>q4wNk`BdSL^g<$p<%60iDc4|H$=xm^En+!9>|m zkei+8^N-9lBQ#{XaBWeLC(7fvMCmbo{u3Du#Y0kMC^;DXSg*D*TWlPaEDX4IL4%Fc z(uGMv_P?PPs+sI9addOOO?ziB52`Gp$(i9sFL2 zy+(qf9<>E4gWHUVgI286=eU+^(orC}wpxsf#&0XrA?09An%oZE7~T>7RteoO5DmA+ z9@$lLpSA;rIh!sj-No82!e)djbIo>)UFuTn{vg`9^(T^Zxok?WBrNB*c#6oK&*FB; zK-?}baV)VIUC7NnSRg{ehiHBjfAJixXD<+Bb&G@UAw83q#iiy%DOL-OJeqzwVPTtR98&HQp2C z(Rc)%0CC@$fFN4 z;H>Qfqps|PgZP@N3y-vGL(bZ~L_A@|L2=Ojwu*D!f`i+%>WbAx)y}*`SB}%h@4{~= zfr&QD7yxTCbm+WTaFcYvc{iSGDHTtST{{c}VHqiCDen@^ItZ7He;|*@GU5Yz`-esk zW@M`de0?7-ayOhGPP2_29UaRstey$Dqt%{W5d85nYX)_T_l|5d=yEuyCPJ!0BIE_w z)3gdFFEOQt5^x;Y`mB;-Zmhw~i=|Hu5a`%o<$ytA3R528VMUXmAk4|D%Gd3Oq~CLz z934!xDS<~ytsPovJ|U4pY&~qXhGTS6+16cDm()Al*y|h4Rw>@nAcH=?Nno=!Rj5Mg zHk(tJ*Ncgj#urD*OyF(SyuG%Ht+&if7g{+8ywCZuOJf|=lg>gw;zbE4fqgmRmw)RW??FO6i=k?~i1Sa3@N%ZZFK^w-&-Qv!RlJ7rtfb089!K2t9Cx zTNLi!{u7RHC;@Ls1UI8_dxknz5;D1imsidJ(4_|ucn zB_gt7rAYrneM%HW>(l!?IomS@jPu5Bjijp(<)qdjjxT&rSipgi5AR-h4zW8{ge6jAnmSYA866ODkmr(e3l9He#pvoN$NO3@$}i`vQ!V#fR5m z`ty1n4~Cb`O1=un;s%weAgwtfo>nB6kj;@uO(C5Or~A5AzLkwO2#zn%$<30gqPOYQ zht^B2(w6g-9WPRac~H9{JiH7}I`uAf^Jrv&Bp0UTaBGaDcRoxh#fFOiIgafcCEz<~Y#e3aRXJo?$BPvhi-&p!Zv{%-d;qx#NGy zunop|1+lKf_93X0zm<(ui7bACwmb`tT~-L4g}n{tzfk{(VG2V97nsGV1!s^1v#v$}$Bj ze<+k?NHfR{Q%WQ92s@t-U4!3V?pvf=M32w*xkJ5yT6O>}=ul8@Tn})yHfyf68A{)v zGsg$eFHu-^X7ggmhbjYrt@SOLJdpnB*>*!!Q$Vy<(c-l=325m=DrpZSc`!OEL@e>^ zP*{VbU$mExT=@QjgAKUP4`Ae^xU=xQ*8z}M3xa*#vdj3DZa4K@i-qlIo9>&DV~Yn4 z;$}GN(OBv@0$P|s+F%R(zEh{73`Pe%U4+6pZM1F@PIc>N%$4`~VjYJxSosd-n!n4_ zZT-Ap!aUTEfc9*FS91q4&f0CVjCrL)SxY*pbnvnk;zHea5SXH~-+}Yf);hR&(;}ji z#V2H~aH=CJ^8+HUrB%GQg)=_h^SAA}>Q`PStY@%%uIPYL5~oc}u0I*K1Pc6Fbv!(c z{U8djwgt=-r}Eq*)7)Kdfu{nJphcGuBsL>0dVbT|K!(0GCMgHb5%hgX`C~c$v7QI% zEjNM;Sa%z{g2E***1zQDIz}x6a%C^KbZGDo)%B;Zee(OqX$#artnh=%Z#f1Ki}EbD zoz)rktorh=$(XqRYKnQ!NDMm<=P-%>VN*!9=5i)qcYCBAX$z=&l++iJ#c)}I#$o$N za}tB30uNBzsms^(8=XmGr~|*e6nZlfdtEsUEhI5^<<&o7?JSO8yN@_FyZ56y3``ff z_1mSlupC3+F|5MbV3y#9H+4V?cPh)FCLohuuh9k&VU4%+m zU_PQIARE?_iNc7*4|z&0tf1UPR7`1~gq&CX6Le<=-q@;*pJWQjS-^eN-ku?Imwh5- z5%z+U?ZG|#!51<84;ZT2<=bJ^ApC>_?VZa~aD53r>jr18NSC(6+VbAlB0T@pCnB+3 z&c%3pROSPf!st*>EZ5GFt);=E0hmG?&~N2VXZN83^Y;u6lwpR@OI$DDnXx0OFKyS2 z_t2ib--(qrJyo@X_Q{e7VMF}(rB`oDehT6i;&I)OLMZLu{QTULtjH(bUPplKjnCI4QFX!i1z zE(`sw3x`BX@zvmsDXDX~wwF5p%pIg7Uj4ItaCH50?+w8IN$Ajn+AF_;L{PdO0S=8I zp1Uq0>~4R4en}Lw-LRv%1VW|(1!G>z?2dV}Yaq@|e`yAE057)t?Ik!B(-s@MI*mUz zZ%-Z!IhqpMen=~FJTvs(<;nkodr22U?oRLYcJ&WGl4PBkQz&kte@f%P?GfG!6U7$& zEPD@BFd4k&jcfG0{I=C_?~P&+m8LjK8Brk8UhHE1Ts2rg;^|QiO!M=CcZU=;?o7B0a`I_p`i?gX?l6@7|5^(7FG5 zkeH(aw(VK=-<>Ft~OVG$^=gXC|@+F2_SSPV;k!=E5X8 zw&DBC|87op^Q_!$h|*$(XhkuJp{y^xUvADl`i?O-Atp|Oa6uvqd3)L)N=ts20n2e9 z8!b;p$?2Dhgq-|pDTRAD3c|;HoAo{tN56ZRPf(B;wj{sFUfcXq-sEMJd3e#AwxblW zDJbt)+K4^;6dTe6&i>9dDOu zCkVj)GTJH5lxi~6?x2;-S4(cUkGNY|FU@pDO*lrTW&ym?4JW|%L7BP~e6PZ88Fzms z$&Irxa`!Bf7;0;%I$(Ub0cKmfyM3R2aNQIhGVY|o(BWB`{~w*3K`#Tw4(!vGO*raA z?SE;wRfg(j_falZh}kKnya4H0zhd)1?%}R9@7BfEzCUN?PcbZbua?Sso=hQtfbk>J z7RRje@l!7?nR}qv{Jf@UzD7>qblk<bE?Z*da%rzhf&(O+15} z8z%e|s_u?CYgOyb--|7;upw3-HQE3DTgBdyzIbg{VPD3Y32wjXw!p%-hm@+xs%5P& zs2`2E;Gx<4K`OwY+(jp)c0i9Z{>D%^$&jgwT%KJBkyymons)oV1>}OOzAM`p7v6)l zw?mTGMPzaOyM{!DD|^p|9XHg>hdw3dy~VfC%3h~4+xM2o{RYVlV}62MU`|e$iUDmy zK030kFvoTii}2CsB#z$I(A^gD?n4|?MP&|sAkS1;qrhX@#(8adF|s~;)w845@;B3N zqa5$dIEhK2bi1u?0%)o(s#L64fsIF{O>TY*H`dZ|hwzQR_|csYUDVglR)--(8SZ-* zTCs#cXzqJBc(c~;J0P#t$oaHd_<#z{l!tQ=Ok+Y{d{TL!z}}CQQ3hJ&c24~|iiKK2 zExlGGv+&6rGqpC+MZRWSQNpYnu_;X!T3hRaPxC6On3Boo<6=J#F6Ba;RnFvoM zg27@%1=rP8U70jdASUaU1DW$S^^xr@Xb$Rxy(tn1Q1tn#OAowy+Dexg?8kiol2AT6 zdsPV;3q&Y*W4$%guVt|VDdFx;fjo972wVpfpEJ7byk&=Se&3qq_LY8EYQ5j z6ZfZBXV!>dqx5DBgHEN$`o9SvP%v}Fv0y6Bha=@w2B0gAZ%2FhId`Z`+Zk`o@@x0B zy3rl-9L;~w1-8w*kN`%5y=I!@nT>L2=#d;9ryxVm=ud9i zSdCZ*fd^o@A6@33<5M-(0J0O~SIJV64Y-o1+v6}-Qi-(7*4Vi7qyoaTDXu%-7F_P% zTpSB3I>%8D7O%YigHpWX9r3222apv`V){`d9<#<{0X9f(9`EUGUSCY$$ZF|LUuxyG z!NNf^uwyVoL(q}=bAvvq+%)Ib&qQo0=Bhc2K$fbwu)ZJ-YjwbhpGRvmw@+G`)bW|J z^D^mVv1HaoC>O>qkGAGARY;2&g_@f@Ctl9@dW3qb*h~g2EpO0(MiV&Dt%$xgnffQP zxYR*Tb3{CrQP9qmwkX)39cC0nP3~y_ZBNNv zmQWN6OmP{5)o~`q&sABv*w-F{#&Q9sjt2M7L24h+Vk0Ocx%1gC*EV3IrmUqj?vQo3 zdr7F1U%=Q3a`;v1B_maDkNsjxtb^7D9+2!+qZ53?{A$e06^-<@Zt!|jNiBy6W^aw= zL+L_GWtzDXA?BA6VJLe&l!ZjB_P7cgV2$X@=->A`ho4^)%B{&%!;-~F`Rlin&NmYP^Hk`X@0+eVsO{1SZ0FYU zO&UhOMXc$l-6JEoh-H&SqWmpap0-LVW-zc}B;lg1ust2UCVouD4V{AX%KibJApRrP zXlWRgTLz;33{~2^q8T)4=uV5Ei2*~I9)2lgqLQ|;_Kzo1rxR*q6I1N@qRsZ41Up)8 zKS77JJ=#4MMWMeoW`*Fd#&|yhFm5F1m8L_fC`p%aDhQ8(c(AOsO9xbr3d#N=q?YsX zfmKtWSO+b;Rx+*a{pe(fP2 zQcGo_zt*?s-Ujz~3+Bre`_r%ghuC5`S_a$(b4z%UNo_?-?Ye`W{!0hCX_q zn*qTr)awvdtOcEim75e)T*$?s^zm?y?qUEW1Px1hshQvK@AXJ9+j<5`Vb%30tLK2q z5bSe&#(vGY+`H_pewKQ@5Zk%epl%jG(pC*_+f>&-Jx#@umJ!tyIH=ya;I5f%>u&7s zVTpc3W|rG^)WfQZ!xia8l*ds5TG^cEw4n`PWJ*4h;^VIC8k122v0pHZ;=)hswVqr_ zBw}`d17i)d%`Cc6KLd{XfV3;r>c&0ha%9U1QYC>Ihb2o#D4!%|0xw;da91Z{A z08REw=3jPGXvSY;IT9HMyqG`k&Y&-H4TrNpYSZw~ZU5?AS~G=N!}S$?C}mo1Rx`!i zt66yITbwwf{$-)bN~TcOA`|~h-PWl_Q(GWGM)BpbL7wIc%(wdr8`{2bMubg~tJ9sG zn@&Yq;o@$=NxO$^^R5c^oatkvt<_aM3m~{=(Y@-z1A{RstnFk%LG9H<(;+G!qgejz zjx&`B8L`A_EoJ@WHU>YX)HL#`f6OQwG>h2m`na%V?bEVs8G0m=>V2JF5LHC-OdR4( zrL+aK91^nu1y`Nz>M~QK=EtHd7+P9shQ(&nD~DMPy?6ZbuP#qZW{fIhmN^TeQ-oCU zB&Bgbn*&L#Q``~S3rXD9d5rS3p>tE*2ch7CXoSZ)JP~lrqrPH9rBM{8V4rD@tpt4% z-z?K|$eb&uuX0j#D;E>uxw`8O6+fc`Qs`D~QpBvKGSBYFi_xxD*tjC(8e z_ZsvOzNOpJ%(YMqJ{fgl8f>r0{N=4te@k6ROc*O4XUN2q{M7vU*HF6KKpyx5GC`Y# z{=d^ZP?n4$V=(3pdS?hqY*4n01OjNG3_3(;>Wo2K1jr0z6EJ8nR<4Mf8i@Z4vg4)( z>cc1_jsRMuQZ=cR$i&hM4U1K0?y=B-UxcWfOY%WTvMG$L$ zme=zup%}xyrm?J84#hKRR@Y)KUcAM02N(|Q%ZFso%R~Nd-XI+Q%9rEn2*FprY5}Jh zkl06&-p!rFF>E-x z($%S7F#{9*5eNd6>pE7PaNg@PyW`MjG0ka6Mg*q3p$pcy4~uotCVPdo+Q9wy4b3k- z&R{#ToJ}zA-}$YsvWRUDFc=(}N&XA%?{R0(@}S04Kf~s0;gTkBz*LY-GF8pCOSDEv z30!kdJJsgSv%;IWZen|!YJ|~gRB|v1n`Rw!vXg9jJo$LJ>EiFm?DXkH^MD$et@J-f zjsWtq%C}NJ@hupsX)#Wvb5S!T;}2-p-1$B6L!Cx1-8B6LHxVbCLdIZPc>`i)^=QeQac(z;$XL?f;Dk1Y@mN0Y zP9f7T!+d+G=axOKHR`giMl#iGk)L2pjYqLV&N3z*Z+PnNyN^Ay`N#xTnF!S)_JBA0 zs;|0th|KQZ-zOtGAcbm?Baxed!8!<3M7@K;Lf%1~X~r>rzP9_61;NQnm@2Oe?)2h_a<&$ehwofjXfy68aF(m$1i*VC?SY-G>MCr7$!=!UMpvk4&5idcL{d=>(MZ2hn~;oy zdijo?63e%!bV?W0Fg)Mrn#~~b6m`PXBzLgqnM!fmwwB`#D`UalZg}mi(6-8@Ku_Spa-0R9eQfC zOXzt;Pn=#c(ak^GANfVD>Hsq2qFiBgzKkG`bq@nC)f-cz#Y3;ck#UR8s7&8y1X@4l z(IKt8RWJn>noj731rk_UG!9*x&geX1BTg%^@Q^W4x?V@QXqKh0>J?=h1{sslEYnUR zUyxA81W1;_^)~r8f}7rAj|6;5;iw|Yp{@FmvxsWcD@h4} zpuw-p*;1S-ig(AdV)o8X)6^MxI%QRP?jC_nI_S`;w%(XS>UR-M_vFMn&j^@IjX%xkj!{)VTYHayu>&@b-Y{7rk(h1pZYpUVgvan=-txW=pM{% z#-Ro+34$G%{jFPu984QkwZSa%^5{3nmKrj32Ru`HC0}`my!tonOk1m8gOw<_`jr+0 zZ2Eo)!oY8Fk&o+U@+KQ;3(1Zx=MhOF2@L4zjMM&Scy_>(+rX+=N<-mLmRRReX-vN5slA{rR zs}MubIsn@hK!VAtlK*vd&zTYa0bIwfXs`J&B1pKGruhm_AHmZVNRQ#{aQG4`=8RbK$}4#=~E##tB%)>QyYE!8v-OGn*3 z-lyzn8p3nT?&Ol6cVoG1t$$*alsx3bi}~7F1Q2BPi!^&}EWp8q)(~CQ`*TO}Wxc;^ zr%#6;X;soL>k&#(8)-F6Sp@r`YCe{Wlqsib&$e@#a53QryBGqK{7e;&eCZc~kL1z> zG3I1R47_0h8l92^?Ia~RR#{Gm45d1+Nx#RlvXFe6Gh41GIuh_E4A+)ix917Y+aO?n z-D*BsvSFL{^anFpO^@#456u*D-)8g)&pMyqY~mt9d{`)3GLq&2xA+iG|* zcLwk~h?;pjc&-@ju7v%-1E$l&={-+;htA=Bh`;ZIrtFio*Z-T(@?mJeNkV+G3 z6nOTkO=YUx7_NnBHn5NnN>f*tFuR2<=Y5CEDL=(-#JCd5UbpfXk$xnZckz=f-56Ze zTs)dLvG+r!8u4Ddn|epBCDW3(ajppDU|Nlr-VieCo2}rd#qCVrrL<;F3P~d>HzsJW z&OpGp?zAc_lU^LeP7@u;L9`%iQfmdg0e|$`ccvBiT)x>0D?z~#)FAu8bwa?uq8xKK zv!d~561v-;cOdVi6JzYVNa$Q-;9k z&e?f-s9R3K8ftE(n-W4GPk$lj48t#N2DU{mi7({?_Fz5=E<^9NrGAKebJRvf?zNRZ zY34#ltUwOyq=0gzQyw0kEE(&v4rHJ(saal=$`~0>)C_^g%aG+q6opU+Bhu>nx^Ec=z@SUv=PwQPt z(Q5>?N@80I@asJ6wtmeU)iG>J0u!dbXv`c0>hRb;KO;GJ5zT=J^dr)R9zWe?{$>AR zuVDFNt9aRp1e>j6*<{n5DcPYDm|XJ(Mns;#06}s%c;;g-Iqn4 z|F8)i-dxbQ1S`xqb!@XWItu`$2%$i1N-7G zK84KaPX(`#&}kcrQs1Xz5}pfdylE`yhWon9{43RyM^5_czl zJ2T&TYEbr|erdCfl5nb_*Xq5JLfCL~9nAQmdPrBzXTBdTy ze9pwWrbLz0G(1p1CRqGz+eEt}4DwMqPt~3QFnuvJQLL(z#W1JA`(UeAuHlLm81n)d zZSKuwh4nd}N~1+iSMbQ}n8&K`H`ZN~%UBSK;d7&^Q*Psxf4^s@|xGVIk%WODu45~oU} z$G7ZeB`E_S>}C3nKyGu5X;p$mHR?NAZVnF?&J<IHj+!O3(?AAX~`@6^Z+M-=W)JAC!&%q6C9NRa(@hGR<(cTQr;kj&eB3SQ?>v3RloV5HDV&-qvM!u zK41%|e!=l&jn*_VDG<6f>z)fW77r%YiZo2nyRCN2eu3}RHRD`aTg*w9Fr#Axxk*Lz z5V$Cpj;7{D_X=9?tBj{|IE#<2XRufNVICrbIG@QAOvf^n5lCq`2DiF?SHs?tjn3}J zea~=x^g$N1Gy3O18MDFnd2@b8-;%ow!U+|K?mC_|7HV{8Pkzd$HdFWs?x;l1TTf+? zxm6-sX(0NqN5hP;`oxOKYq@>g7xHf4KYdIQ50jwmLGiqXwDPE5Wpu8G!Pxkb<@!I6 zHTmz)Vf$G^P_rg!-5?m9Z9~Y?g@|Y`ijLC`MR%1_dpc0hbCaBFoz1vsotwk_Eh7-1 z@|GmDJm?F?)GWF$~KBssq=biBA+Qt`+!tgET(Sh<&HX=I^RQ*L8k zrXd>$6ubE)ziG11tyl4Jy5C3)#E=!MS$7|~-@hDri$sKeSzh~Y;*++rRNDz;gZ~*{ z14k0yIz0Tha>#jMii(w-kr$7UknbceTgKMh>T7z~|rt#w99mGg--pMH=It-SWge;*O;c@ag;D z_g({v+Ot#~-&%{`1flhbu#kX`gQ5S|44|$M;k~h!3jd2}>KevPHuBk>Rj2oTb^DKl zIm-4Tn4?fgPo*DD#-FOkpr{hM^R#`9Zhq*{nhgefRqtdp!dSONl|LP%OcFf}d z=&CEz<+ltJJLAHDeya`=3e*OMGr1q$)6-ihu?3DAA*^!!V!w_uosK)c;W2F?_tC#_V*7&0=|~w%Z zBjZ08sRMEou?G)~o%?^FUmbs*5M>BJIWmTx5HUJ9(2=6>{&R@Yk+3?}7?3LQz&O}D zf@F{)nEpcpW&Vpu=!;ZA0LHwt= zoDx{uVXmaF-$4=G)6?SY`Co%Y!dvg`@pbZq9}4N|LC;0e3+dtA?%nh3R$S}a0d_AW zsJERaT28W_R%WZ2RpZK;V8&YrSxZ85QgB#k1O&27?#}M0?<^T?Bq=6I6Ih)fz0#hE z6c#5tfo69H;S-R_?*x8=5EMcRp;;jr0WF~$@9yr1l|aex^Lq7#H2ye%=+L_p@IXP0 z|D=AJf-yaO6J`(O*Avk~gFNjKA{XYBr0_2eT{DjUw3R@iz&N!)fzb(j2nB{lSLf$8 zBLr$lXu}hMyMc6PZi1@q%v}kcf`}(_FAiZyK{vX&fv$gjfG~NwHG+JpX45_x0_m7F z1E~jp!&)J|UqU^yK=XW+m_TrW>R$=h*8_h*i8KS#VyZ&6_5hvSU_wZz9{(_Z$ZjQu3-^_SS(zxq3oBG9x<}$3{;DI80!A zfg0rum>xo!YXeNcrk{&>;2+pm!)i`jELH?*uI2;Swu3FbeAAJH>Vw>QlYtDh{K?g8mc9WI`AZ*aOmU^)!lbi4yl z6wK=9M$6*+hV*S9=<;p|!wMokC>S$7zk2d>W@>}{-?9X~zcg(L_6JtJ1OunKvcBzOGDChF+Gu5I|IkBp z$%OOE>VfB7A zKndu+Z6Sdd@0#CqGRwHx)yW7yIglTWqQ3`1_RBA>A2~aIDkY|t4uOF0AXF^RN3d6x zCg+F$B6)9o?+y&W-ZiHuG=KfatNy%xKbXB58kOSD z63~C+5Fm1@LdOiOJPShpRLwPDGHbCBX{QYtMUfTu_G7xeNO(U0d4PyF_3a0De z*$z%BNH&CeUni0r&YQ+%kBJGk!S@AcEopxX$n5iX?T1h#{1d{9 z22^!Buob;ojnff5qetQa`5X%wuvTr@Rma1APOXzK5ZVBg{a2d$a<`Rfr+tP`rcq$B z?^|0eYXJ+FkClWPd3QB7H5^-tj>ejOFY%-=>ryeZU1Nzj{F&9xJ>z#rG#XN#NuDJa zZBjpn>}Ic{yiqiU{}o9FuWhek&`QV7e~n#)1DN*#L#3fMPQ_m8F1(vwC0I)4DpBAB zqHz@g8f}1cvqSH_s_Nya#3*E{_*+4ik9jRbHIE1s$1Et?1B6yuD{l2BWMFs{6# zE3Q5zU7o6tk**-f8M$0Ns{j(6y=BTo(%xcwWz55fOQz$Ap_@4ETCMB&6I-_fJP@$F zcV;g`I=uXTaoG(~vP}9L2%3KRx)GUP5i4ks((hY6Mmx{wqH>qbke7$s$+t8uEu}d5 zrZu4a{U!fwU&96`BEF_${pes7^Nh9sI5>qTJ^xbo`mD!nZ@3mE0UW-nt4ybEopyfX zaLwR|?25;OFteupGHRt%89Hs@{=}j#y{Yh>s3(_FdyyEkVsrKkU`~Lmc$;gxW>+2W zdT4}p6*lI&Un)%$K@MYa*s~&rBFcx><3Ex9gPMFiEWsQoSclRCE7HuKI(k@8BbC~J z1vEA_{6HxUW18B4^iS8Ji@^h%t9{7fgY77chkj|T7PNmI#(`J@skOrP(Z~rwqAk2)1X7X8shsXvs`E>M)l(G*GA^#+qZoJVjfTsHU}p! z3DkHy15E!N(@*`og7SDD;T)a&ikEC!>T4@8Kznb=#UiD`!oC<+CtynXw)>#a0ft5U zYb{u1TI7+Ij{G;7iGpWch0fB5vhUmK3+B?|TFYNU^vectO-dOz2WObxVoO?uBlLrm zL?tR-hBHwhtN0dy_;YP500qy zAG!zAz9B9F6OZ2Ub6V@a|K*tC#B$3pdO2(Z4KD;Q-~m?=MNOc+uJ_&6U%D^{PaLKy z1KZXE-UFd0Y7IuW6|zYZvMFbQy*R8Dmq<%6$Ef^Zu-eex9GII4SS&zGSfAkJNboP3 zC-I|-C1XscCl#U={h4=98kUysWe5iUYNGEXVZ`x8vl~9FT_kg5NT4rY7{Q9`T6?mg zhcU1Ip)wQI)@#s+k_dy|W@GN4@T(Dv7prqwZvUt{RP_|ZQ+uOGM-j0!+m&f1G4ng& zReScdxWPIpIu_;8u{}`j1Js_q*!DU>K>O4%CUiis$SvUs=0=xyvv&Bf@DWg{CcI;U z6E>Heh!ESmL{A*?fNixpHkhstC78&Zw&`Xk0g91taP&3n6rlguJTMT%Vs0Vq_$Wkc zGNVc@0&!qU!zt^8_-jN_KmBFOD}%6?@fah(!h$<)e~k?4Iz2P#bH8+`O9siZugyI>1j8kYs1-oPIWneK`=*mBzDg1yq3 z58BlisM9x74^AC6)lyfU!kqt>3KOG4sS_O&8E?QvZnjriA(>juUhv{?vaE(S2U~*i zM2tgvWBV8>z@M=DHb+639*Nk%Vs9S!+_O}R+=1}dsZ{e_} zOGy?+*Ca10l134WQ0g0CACjYcR4UFL`h{cecr_%J;Q_xLj4tlEtLu9klECtBP*@$g zwCRp0wyn6FHgMj|N(_3Z%w0ioHiPWTCgK;}dNk{68?VWP2pyfluUyP`uHcZbnlpcx zlc89)=WHZDRGqY1_dDet8%LQmcL1QOXtS{T4Qpni@V8p8bGs+M@xwp9c>8o3%9l;! zf*-K$fj|MDsAiwy7buJ9`9@@=GBkMfX>M;K870dLF(Ph!Wv&@Qf~i7wzGu|DGx<%t za{cngKYmM0=k0<|1b|S*UxS~uPU)h9wxsFN z?dqE05h0W=NtURk?bunlA&FhNBkG&y5c?tjU%-j<*sJa28yrTv@hZ%|eeIZ=ohWtB zJWBMxUvQJH_%PRgoUF1G(EQsBaGw%h(Frng8Fqy_kOr__xsEAq_}nB zSXY&=jRTlTBy+tpEH|y1RKn^d6Z$&r$d?E5&Y5eCH^^aBV|FPK+EY*_?%pZZ35ZCp zy}+E6TP17lM)dSghd3rwBsf3&&)ElL*WHKcg8uLVo1u}6+x~^@4p&`$g_CSah)mT4 zz&TYQ!=_uB-FWe?Acwh#?3;{cN<5YbNTc6-xB+Qa$+m}>3dsPFrxZyw@lT!`=B~`Q zz=gAi6ZVg|lZb|L)x5|V$L_{fc?Es46R>%mK1kD8)q&%Nr-eoVDrzN#D zs@69t_x}PpK*qlS_ic?VIRmaHIXOtJhA}&|AN8A!-jSFPqtKJSL88hN|CT5%I2%)v z9ECHz!v0f8?21#p`#{O64i;IP<@y*hob{QY($alZd$4#4=xi5_s`^&YHCdHBN57p8 zayjRJs;3Z+Igg@f&YCsj__L%JsadUZ6|mRUq|q;~0hcZ}CE5nrFMN4sPRu|`z3N9l zOvjCSxJ;USs@Yo9Ohq%t)2u3Vq9ER#vqkiA_+koC&KiR|7DzP3{6Tc*%H}d*hGbR+ zh4@7o_!`Rj9TDfoBzSsXq(rLGWD-a>+Za+f!0 zfb7388gbD=f|j>fmnUd_7@&}xABBnAp~dS?Zz|xVIbBaWhRANa)%F!iXQpz+6C=r( z-Jc^KuG7Dav6qLjNjkz_a${%+7TNSK$e?Ny6tmocwr7V7vwps7DrnRAf@7q~Y)FZJ z9K~XOvoaIkW!u+pLeEe%Q&M`3>!YJ{Y9rkTeVc=>_|9J~52`zFHn*8X?pk(367aQH zHF;ltgxVNA75f!1X;gB2#t#nuOssT2qRJ=AEXTj~SyYNwV1-giJ2Q(sdxuYMDaiam zddy%J^|GE?=1jSpG)dEo_UCd4_q`r}kI7#=LgV8O-SAl|#%aDh|8A$nFv+udI}rc& zjL7xt?Km@9*y27{E6&A$_*=A$F((~vYvf5IAL7Ll<97Bp4!vjuOFO9wc2SYy5@zir z{TZasisB;C-m8Ww&ND}<)AK)vxyFdxzv4Z!U(bb_B`YF3zTvL<7C9l4S}uiuI%?_M zh0*g9xr{U@@x+<%2V5o$jhYERN7unYh&n-deYGxQKaUtf@7-DKVuM$CZ%Z3CvUSgY zfeI_)>W^%_u|smp|E0h?)MvOAv04yesw$3kP#=Jgjb+~`{p&V!6~&C1mTRSW;|eG^ zG>QYgZ#r`lQHV?xWcT3bKA}>7;fg8Yl7S#$g{1vQ19nF7jgCr1l@lBeD)31*XH#Q2 z53(>DK#j_rJR0QZMp|k*jz#Kh&GlUarNKceA`evG3@_LT(`4uJjmT14=&pK$X(k+> zkF8vv>zr!8$RZ~O$91^B$Kl($kdx3DlE2z8(cKzcN#%HyQ{aMqC31j&?9*Bk9;^vk z;aBg-;c^^%1}KkscNQ?8K%7*}xXEbxfYy`k%yrLUrh%_=6>~k4v3eDE9wJnhWhI!U z{iND0c8J`OKfl^+`E;22H6b6}7ma|QTsOq+iyy?i z53FDZ8`NNgJMRiN1ixUH1K7oW5F+evHzb%W6=e5N-W539@MIJ=lUh?h5M*u43@ zSb^&mFFc$dRXRR@gxz)xP0z3w?U2rHUhDYNLBm9jGx=U2IR?|2=R-@c!O2~^4m4p( zKZvt<{GLe9vvX^~Yts3RHqcgS!>ch#qJxj1+0&pP2Gyl9VO~!|l5>MsEm$k&kGZpsO}ETm-Sw_ znGy!;mYs(t-q3op)R(TSm17PVGC1SZF6$}p@FJvO6tnsGeO>m@d|nS^%TUkf4-;~& zq$ILY(mPmx=3x~J4=%4sPZ53dew0MJ3`zs*$eOSyUpJ0B3AFQ2jp`usR7q02l?e8# zqn#ieym%GX@sn-VjJ{1Dy5nb~vEh?m(UhFIoZvMSPPsLO6fghlY^rn8ZSYf6hCeo-%YUmP883QrQB{~?estKI zoU!Qk^5hc3K%+Jld^HPq8Kk4r>;QYe87PFW-U+W4~$ zD|h?Df~aS-b+9Z6_wI2ta4_Ek;dz8aPqbZs2G`uLU5}3ax}Xv^^RmD|B$p(QRtD&L zfr{8u)6a#X7nkxfs}I%ELSug1bk7xB$AZ6NsUC8+2zC#2NMv~9-H_+g!p!>RICBQ) z)OtIm+qifAxacE2`N&~yz1MfSF;4VIb#Y~HOsDy!j5rv;B$kU(K+q`J9Xn+CJ`4w)G&Z=9p3v&at zl=8e8LHezjQjEhp+?daR&szy3(Vs32MmWXB#-@I(Z<*DJ`#3*mBx+gJkFLZM8Ykts z*Yv0+X;;l^JIH=Yce2A;*`|XGlStchI!1$of0|C;QI;s1p}k*XPK2%CY*1@|GI;S{ zGw!7bYeiG|mcno!jw169M>j|adWB;5cl1*cVlbH9YHJxuQ4D#M4kanKmpzF5I4GD8 zh9|P19#r5@7ihRc#EhL`5I8E$t!LH80yLPV6L2+q53LQuK8$yLNqe3b!&&#@*gk(* zB$W2c8}(elleeBGv$%txC#&LrzE)bphq$qf(p35|O9D^@=+#6(6ni3m@t5chCH`HBV zy$P)QX}BTPC`rFvfW#G)e4N(C%vK><_?t_Sm`o8b;X6`Y6#Sg-dg`A?ku)jj$x+)R z?M-20F0`to=nq3fFAp$-?~)f*7`S)pyjc&{-r?8SO1I9u^@VNupICop)vA%XQRl}h zRl{=A!`54PfNuO5Iho0SiFKRCO*}@Ddsx1VM%SPkZ;sgXf;N6jt!ZOzQD$>z*<*^Q zmM@d!%d*(*jv76%EH9cmmZ|$EhDSlr(K`jy{w%=+Ep6|}WL&g&+YADgE~MJD#Ix8x zdb7A=$bZ;KVt=Sk)eDAaiR5yZNHjQo0ZSmdZ%gQT&Jf3RMXdKZBQsVmpvwmZl_iHIQ?CoY4+2 zKUFR(*YP4X+D4!8)OeYOZ~A_lByew-yc)4K?Q}{9JtAn3sDW7;_@2H=RvgLb!)zfU zzD(TTF{|W%yc6?G_U0@i-uq{F#;rTO=#$F;3We0~AXO&Ntso>NT<{s0pGZf0WOqPo z%|T`_yegD=3~2$=4rc%@H`0ur@S>;bn<5AB@b@zbTymb&E}4JR?-SxYd;C_~?%%TL z>u#H>eUAQBxLl@*)55zPH(9pvq+btYsnmj=kE0-eDiMdwZaNIjNr9u*CD4H{JJ0fK zXgp>puI1o@8SNvq%$ck6gVl#C?$<54CBb?=okpLQCdHD1cd1>t6(f>wPT(gD5U#LP@RiTCz{wc$%W(N%um11$p|7&qOL=yF0y9X& z)<^ul;G7>~Q|5V{Elf3X@F=|0Env?2(>6#6MeYS!o-L(0jp^U!IkU}JF1K4wtLPPf zl@2!WHJI4+(LH5)wlrfr**`kQjWKT-mTjiYiIMEI-ttK?`?}Z4{ z2enYx9fuAY`NYXoyX>(%rY-WUJl~_ee>%Gk46Z#gLozZ@ebIv+RIWh&S)w#I08QESLLPntDNJUZ_-882DkZWF84!B=ee4+2_%v)rh_}v7_)?mlt-{Jl;ej;n~ zE*e%<+@DMFjt4T*NXNW?NY>C%%J-$IZ4u!N!difn=--^o9E1?-I8=G2X}S7cQKLv( zN%MIQMcfqsmBICmru=(H(@+#w2sADRp?G)%Zzjuil6BzIQhbu2Z2829#-sV!tjcbf zabrS5zeaYLs4XY#CHfe1*de#7EL`%1&2QU=VZRh4$*UjhGnKG^kDv+JF_i#2iuELC zNb=u1UAAU5(ES(wB_!s@ZeTSgeCxoJe&zYIgLwg~bBFsT^@?HN?M`#cd9U@kFN$7* z1RQJ4Jln@1U){YAkl7Q%;-Ao)Dh;u-8NWo%6y|PE26{C3#^2Q7!SuKut}ZK1?lec+ zoc{P>wTuOvl>PC4o*jmwqIl}4OE%mnV+iEBN z!bAb%SCjr8T=MQTic=($C*W48MdSI)@CuJ=we-XFga4#1pK4C2NVFKsjSv8L6zHdwz|89V? zLVkagDrHR%vFQx`X~y%}|3#gaErIT$hae_YeD0J{>i|8r^Nba@6_d8Ae8>o&|j&kHb$-0yA_UtBtM)3NBRnVCwjoJG$ z;BdP{)%_19fa9q5Da6%RLdDUq;ihlQ&R~%=I}te8CTTHW@l3gPt2?@C>J>QWzxzep zM-`fXV)L65V+cU{x;;Lk+oS2x!B24{L6La0c477H^>JEEe|TN?e@nZF(52r_w>MmR zPc6uLlRxS7^ue=;6WkI?x`wt9tAnkDL+AblFRM*@f7n<3>QYFg3-*gbMEcLdGVAd~ zXh%%bX%x1RTNS5_Tm!nXiArP&-ImuD-oGnYMBzkPxi#brjxKN4kCkzTi5PlN!n{&{ zwW6jCtnYrS?C1QVVTJ!9=mRsMs@D8U`4PKY1E22*wUY2cz5!+?r-3JT@Gxf0eXUX_ zVN~3C$c-n!u~}__yZb9few_EM2tl^ct5HyJ_Yxp88@wO3bmI^vn*Q||W0eO9Dyo!E zxG1doa89D3Ro$>tzbp9_-XRBudPrY?q#UQ)O)Z7aJiiLH-3jfNL$MB85QJs;{j;iU zGxUaWVPc}72G&3~{I~uvi+J55PQPAGVFq7((}Jtg$OeP}ma-=z``)dmPO2H$cVC7Z zr1@MFWjeeRbdc63U9|*9rdU-R{Sm)puyH*8`Ib>;>+vylB6r)e0@>x5)fYjT1a%+*Z>F~j*pNl~Ko6gP&shhD?6sFh zwgVBz>L4T@qG+e7z9-MOJ$K-562)rq+o}3fG-jpm2*@9?bYamn-A@jVMhd3XSO&?4 z3Zn}-V#I9a9EGGjoTFD@n9(B+K1GM(rVOufn@LT?EE?dX#~bE`SA{-VfT23LtoKzCQ3ha`MVl9vyf(y2&D1iJd zHNDEy(_=DwVVSE1TfhA=o{Ic1*6$YQ+_S!CW!e7LVyds$ydc8#T#}!mm=SzCI8I8( z@&0L?Yr@Lg zabjCH4oq0U1v1QKhjN~fAzuAlINfZ*8>o@X`#`=3{^D^_{Vk^_+ZcY(AS=e;3mj#2 zk%OFn>6Ir5cp8ql^HTHE(oztn?(;zcDZ8uK9#N@8>oU=PxX-AhnSkHQHYF zOO|5cZ3C;#^rwa`*WsY6)O*zr0?ALE#o+H)2YHgO={?`BLcNpe&E16_#agiz-=NK} zV1Up!UTb7-$#Jq9al@iYS3XMH{*VVbuVX+swMz3Ud4qy~5Z2nPVnJJTq?^s7X2DD2 z@{CRe(jmn7*jrN#@$ach+sR23`F@}CeC>z^+M}@M4OZqfXJkx0PpFx|scs9g^0uGP zW#4*>x%%grg)IiOuaPagyw-GavpG|IX&@!_BrbaAjH>R=PvIEq!tHyHgcUkEY;`Sn zrT(OIIj3lUr{S!|Cu5a#`G7+->eWMsD1w#vQ66Kp&Ff06p~^GtP>3&sksIfJH$DZJ zHGYmwg@Aa=my%||#X<|f*tOw;FLduPak%@_VUra}Y<0NLDoHj_%&*W@-9e3vq-h?7 zz)eJdYU?UCzrI{o89_MVlmmlePnl4QcpOvZ z4CLOY=kb}vW2JCT1xvneR4_bZ^D950*W#VwOv=GmIDA#sz{y#4-4<)ct)RNqPdy@O z)CGCY(J)m-RSOk~GDE26exEZa8dJ=)Q*VR;mR0WjGrF=9wqW-JWqG->)y)iO20)`~ zKUnsE;@l+qeUzZVOi-RR6)8XS4_y1>Vd!pcIiM!fX7U3&nU}15VR1}X(xi?Lwlc+}KxqV&JxTN;cM< zRk{Cn+iR#^X7E~3*TP^ta=iB+ApBX$gbkWmjVTEA?6*KigLA@C)iOYs9h!u&uE z#_VlGNn(>$DT=!eor=m%g*;eg85e9uGdD&?!p{nJNN_clVGbh32r}*WXFqMUYo`if zh@&~Z+<-M0%M}KsVQx1?&FS#Q`)Q7iBVFu&KS%}c$36w}l(Yh}l90_}A9*RhwcdVv3Y(wLi9Mwqj@)YgUIAHG)e1Q50M z)n}S@p?yqCkexJxX;E=9x{2*tbUow_EN(-)PNx=9^MCviyiy4+{=prxi&pk~9wuPl z*0X7x`}Ho4CKLm-$VF^C)A`y;a7ZA3)4mfgd*5BMT)?~?@evN{A3Z=POvV)KA0PK; zLrNDToTR|yU8!wtuKg33l;Ck@s&FC~)6rXesK&H&!3^%P5HPXN2YN@g;tg1xFTBQ(kqjh#I+Rsk2{6lvgk-Fh+N6J6 z%y!4@+gbL(G9uI+D2H&et9GPuYU+$j3+@jxK+C&gplxw|XKrf2Oarp5VB|7=2)$B* zNn3V=aebhjnKAd^9QtVNv(n^$E46PN$L=kx{JwQ~H^BhRZ9rxU?-@-EX^IgMz5U_l z^d@d?ByJ7&Md{{!lbBG^YrHiXu_?RXqsxsfN%6jhPK7`NWO(=6(wh+nN2>P-L#MZ5 zA1$ke4Vkw;Ly0CmAxjuxTAp_sV`0MNA|iCz8qhPq9o^R`l0Z6%spm+4N}j;G{AzWN zmUvE3;*peKGS3h)IfaWNzR93Ex62yunVyauNy7VKEuY+k=Py^QQ4AOY#yK9C!8uV| zfa3wjF)KBz5Ugx>*1a87P_J)g#}^5H#t@vq{Bs*sNlNBe4f2 zedPIKJ^lM4IgYaW_h(!d-XLH3Q4?mU6(WZSY-1sHHt9mlkF<5b8XU)-sA{tQ`a+vZ z6LgaclMpfsbg7njPNp%%Y2kRJdCMn?V_%Xe{T>G2;PHuUnNsL~9CMSgG%9hZ)##k$ zlvv8?665?z>C?5$(Uz^opI2c6=LH*yB-i)pV{86xDxh%!)mT0dR?w{Y5o^w5c*<`8 zl!ql3TZ9DFdRz0DVP;eG=#^Pg5B_A2PW>@YTI)EJH(^jv1UB0!5m8 zqO2{sk-4fwAN@Ihe+Bmf)A}j=tEh{Ae?YI%od4jJ2d)o6VUvUJLh_d1eFRWyi)yge zbyp&)oJ{ht*tlQ;`u+0O8ud9dNu*9?5Ub2mgSisj82Ott8 zIsI0VnA-?tg>ltQ;xWGQnB;#wA+~Cy1UhUhB#!rB^4GKkEVT*kgeYG+d^wiZw9L2uCcX$J)RS*Mm%@D@V!6zqUP4+NOEiwt6Urogic!}QR^FP zm%&xXU#F9^_ys;u(q?spNGO+5tpLBrHYab%RJcojg`YWv^l@5i3G}Vv*Db!-$_i*I zh)WN^O5i0BSmnYavTo??{7iCyQ$K!~V64r@nNTd21uOBJUzLP^tm{&wmQWmRCJF4Tf`O>AsKU#-C6#GJAQ1eVg2=j~`*B?i7q-Ius zI_1qR3L!S}dQBO#pSKj&w)YZFJ1C7S1_nE4v~F#5olgg^?BVBFxfBmzo$1Jqj}g7) zdF(a?%-65|xPouL@^Uvq77=@o7d8RSk7{Za0g$_bZu>9@Ay!8py?Tq4Ambajc6@ff zeBqJPkq~8*)y{*x^>KDY%;?{!`523T=arx?WOx=H%ySxzAIYqqNsvz5hd1+eudrM- zgcy0rnG)O2N`|z|uB^g?8v6mjBj*k`7UyN86~9&6f>x4lcfu91qd_7&+w-Drm;n-0 z^-`S)>7{e_7^f<%DCS+I*L^CY^AWS3wMxVAbio~-kp2w3_LY^p@N3dB0EcCNtzCBJ-L2L)7C2{DOx~swU&Q&m%N*oZc@X4^pm&|_DW35p^i$fIgEtB`0L$V`& zV?%k}-^uD>b@i(E&ol6g#W)ovHfq#q7yvWeAm4%JEE)#SLg}q&PjDf|r)G-9&vHED zRB6N147*m}?^h!>K#Rb+QcHAy&`L>2(KYcr2xjY9=;s?n^Xz`0yb^ni`Ti%g9P{le zdhG1$pVaFZ*19j^dZbtE6NqA8KSck;+9ll&#dJ8mh33o2+cpf#laWmO$+Wrzqm%42 z+E#&n3aS%kt*msIolSgI@-j~h6Bm$|zwLh?I!NC*sksU;WZT0T~+iw`Qi5Hhw9OQL~2ZSpPyAZ9N zE}9z3)8*VwisPIs1+DaJ4OQqANT>t7vW?KO!(Y|^5YPqyJiSUYgh)%VdGTbV zk=m>>YAS%uIkq-fttH@p8oHlSknk}Vn)VZc7%uo@X4Pw)<*9}Wn&}BPPTiXGlXAUX zyOgrK^tua`V7SiuEZL4~>!x(?tM-a#nwagP%*RodYLDEKqVI9xE>%;)SWcnE8`!ap zxJs{`*Zr4bMu@A?wR?6VGWFblG+<1UosGLEiS=eyvS>cw6OJ%{s$I|G00qISKsKkz zwr8Fjh))eUhZ)k4yPSIh00cZ;b_v`Jx&CJ0X$F73u6pxQCKsD&!yJbl41i+u+|c!H zE*>tsH1n{uyGbi=szv=1I;iI+loR&qWTmXhol2+};6Ci8#6dRWIZo;N)cLL#p+1p0 zQm=4iPVRWtlvxaaUo(4~(j;t2sACVyq)gbASq?^7GkrDMsxNY$#+z4|bSDIk?#lOi z8cA`)%YebFI-0^;C^BMz8rf;Skv~PZO8vc-w+eo~`JxZeg z%>Km~LP<6yOZFJM)xdO5pf05O( z06&R}zdVF^MNl4AuV&`g%AB}gmi{P{-bGt4Bv2oJkt~)hL+%}}y+yR}GF? zD!6%D3eGy%S^3OCj@lQ-bVCt9-AY5oF8t_Yge-8k`~$6LhWm3z0?A9Sek**`@B2~? zS0Jq%{ntPXtyNtr31#5H>u7`dw{m2|2y9L(OlrI>KTprM?(E?(vfvmI>X1gom%7t@ z<2|u|f;&qRV!Lp;chN=m3k-1d3dN}#*aIAduBz-6UW~HAaJ77StU5y;C;CNlE*cjl zoauyTj~Z8!{u-z4;KMNe>8GcT)8u*v7$a#|;-d}cO`YkI|l!p`Ej z7*W+SHGj-S!FeP|{CnX=EF=>g_;fXF_(1n^lM15&JC zQ_Y7QprLFjEmWnfZDVCpp0I7m7vz6`Phm4-B*0diSETy?ny%K{{H|QhfJ{LDJ;d-+ zJa%Z11RtuK6<-gvNYwWSNen6fW25HW5WIuv985;8GMx|rDA!T%AyvGC> z0#}!LPHlDWr3ShqcQ88vOYA7@Eqrd^(_8s8M{7=>PVO4 zkVB0m<0+Sg5iTCbD9Z_h+H+omf>`+6UK&qX_GwGyWPbmOMwyqae3v}=J2)dFl z?$1qVdCYIS>CY;9ZPiqNc}${k`ypXFuIinwAN(}O zU-0ZKF>@xZ6z0TGx9W;D?kR_x&1%Nz{jbUfB;qAr|#_`a^#} zQJjMF;s*Lw7WlsN%L3>{xH2<`r*0htjyb0U-+KFSVqh{O)1~HNPEor*hrB<>74k1r zks*{*Gap5)yDmU}n5J^g?|jsS+Vz<2_$am~9hygH=H|>ZBP)u*FdY7-QxyPC2sk~H zGycm)~l=)D3d3bt23beFEzUh#Ko9Gk%uP zZpco=E&{OCn21Gl!CF4)Dn_Z^FXArC>P`h_A+&-B|kt{?^)sj{si`xZZuVGs|08AC|jRRc^On|hhd2&B7? z&?%WB;~0IcoSt{v<-Eou=*Dj1;CHLCi7W}K z+#PKGWLrC+);{mMioPr8Dc}Y115?%?B}*@HZE10}sT=`POxpXKlqOD_1Y^E(Yy0Sz z093{ZEAJnFhs#Q=ZxCC;(Xk$psttY#p{J4rC5)50hG$wt)C3`gE9%dpXRD&(QgEn6 zC$34#0iD0mZ3wens^w-;U<{}@{6?(-xNtY4@wg)6c!`o{RE@NLCgXUK)k#jG)r+DY z{0F*C3A{>mOuF$)moABj&^Nb5-_i0lDchP!29czH=X`*@y$@E*eCrVRBSyO6DUupc z3~JeNBhC@6$fPCN4HGXqZz>F+4V?-UTj5<@vat5hk=|!oT^ZKsXf@OusUDph=ViPU z)>%2iF1P5S_MDd@WZzIlaTRMO z1^=iTu>t)hHm5d6k(^WBp$7}UO3f(^>g#p>plc`MV!&8>znJcsk8`pP?sq($h@c@# zr^7#@ii254rEQR()#y9p{Z=BPnNcH5X*V$*(b@hhOSB&3wco07s3hJ_#XJ#pck2a!V_!RZk z!|MkxRBJaV47odhi5^xt3r+WM_*r&{H?ww9495QYybnjYN`lk%FRKvnK#W><)Kel$ zDZb#{%|Z0xpp|c!MI|=sE$T8!<8w*47+Oj)GyRZ^uT5js0Y9|q=5RnyBx5|~3`~aN z-bB(9G44J)a{M;6V9JmxD8lfnU>qP~tE$yAXUK(fpr5;f5b)NW7b%4Ys&>hLlZOP1 z7GU^&S-ls7ub6D}S6*`oKoq8tA=f25p78Edp;C`_!ju_(OO^4!d1`oH_s~Z8H9CZG z!(+-Am3SvlWR}Zae1b32joXb*Q00AZs@1MvrJu`ejuvWLAw3iQ)DWkZ)l7o=G%S{! zu$D}Kb&;9lmPM`sg36$NEE%|evnTxVz;=wmjJ&C5_}g<3Rqak|mLNvd)E_Pur+Dqe z`5O6GPk~U3_C7|FBG>F#zqtGMjzYRTsU@QcDk7h-S`00JtG(Ry`jzn8193U84ab)m z)fze)FM^W`(!oVl6$NT?X_b6OxBy5ZP!2kBcf&>58N(HK>n0J7^%qEgM=C1bIhDAb zAHs{?e4pUd%4sds%!bG&wS9uA(%ay7k8I>kA;2Fw>_NX z`5;3V$aDU7ZM!yiq*h&Ty5!Gld^v%imO2A3(&nz*^qZZraZB2N;|HDI(+~VByw`c5 z>C5|lFxt|!cBUF$Xk3ao56#c$i8XAd{#70&k1y$*afA0L3~aF@8!}wZ^wMD{UOM4a zFbzEID(w|~PiL`G-|a-28;8IC`9a9^nlnU0+K?XDkvR#~^9maa&V1RQDz<~Dd9=Oz ziv?eJ5{T42#}(~=Kp1Uz{S$U@6v^cJbGaj+tQ+h*j|<;Z9)uZ&eZX@?qyk;e$&Wk6 zN6tUE(R0lPNg8Y;dam$g{N{nu&KNAgGi8S8h!oa)aa-g8GIBY%BbyJvbGRBrio%Lh zZ8{Mt?{8DjJnYRLls49!za@J6>JmgR#O8(~em6^>F;;DV^WmK5+ft&#nqkc(dKM2} z7fO#u7Um6MGkMe-QyyNVf>C85f0NJZNoiFPM(Yz6JLP;Hduh^Es9|ifNo}@6SiT`S zuc~i*xZTP*Oc#miKr$QBMA*liC=d$bI%Y6ax^9yVuS9XBb0X$^O>1Z}GgWw&<8CXa zpn$!dby)&`t=eax+97K@DOVvWq<_o5b|+JATuN0xYaGqD_$qXfSyXf=(U_7IDJpOUEH=T z=Y1#O?f&xHk}8ewbGrle+Pr|-cq7^V-1OAHdW@KVP%3Y_Mngt+{N7&k6~gWD&ygiJ zDh@u-fA*6JZa8|6RT{c-9P|5Jz@Y=(};@SAE|fKWG_ibXNYslQU9S| zKFT~lZ7WI`IHD&Dl3?Y+>8xD}ZU$NGwuF=}IRTzN-xKfVg8HmS)1&7ceonN1;|ctB z=gPW&5TF45f$pofRHf1R1#2DCLNu_cL4P{9aD2Ko>N;B%!E!NBIQX3KNHTKZ3Lw34 ziD(3|Nmsn8`c*9eYye@M?x8%>W|ppdoAIjtP(h!F1q6$}u^rn$(u;LDeWRz|x$_hWA&~o6k*RRVagBW0>l(zE0ly8 z!*_|BXPtHsIIdI)%jz#?m~JEdz_L~;oiO2L)D*0y^`1)nfmL8~C?KI`((h=Z>d?7& z`*#Xx!`mZj??Fvg#;IxXBqK(`C6s@l?n*3i^;?>S0f^HPO!Hy&EgFde_Sj#zN?m+^ z^8j2{_Oa|m0{1reYU?IT-8hkUWsePiGV_k+9bIvvK9!VpJh&mM3_Xfx(umk|>K*uU zUmXs^P4-8(LSQXmI$bR{S*y^ZptNt$@Cvl5Qs5S{TfIiocvZUXz3$KB*#r+!f2KhR z4pdpfI$AEUy+&O-T!rmVV0ueHj?|%l^HIJ)i9y(zsILd5Z=)ZUeHnwSAkA47M`3B6 zuwGi9|4YYht|=MS{>le9?7))-dwe?ZEbAeF8-AEKQ~m^F`@+LrKYN)pHE>9BSlaEX zI=H?#q+`uzGKPI52kw9X1&v5pNG4M29l>MR1TO<^@C z<1}Fk2x)f(zxC}0Z7+bY6rL|bw?Vfb>GIBoG-r%BUBN-X`8?2@&H8=Vmz0I$#wKt% zqnDAsC5PJF`{J=ZN7UeX(izf!5+DP#5SwAjYz zH<7uYA? z8R4qW>qLQLD24Y+&q=)PHSO`Z@2ffywU{AUk1;+AD3H$J_ozgdHDu|67#V%8F_!Y$&e+n)w`?BndHw;Fu<={;I|HQya*uA( z;mZU%TDb5C52Z?fe_oqEsxdUpI|{aMh*a@_3ioe(=<71LI}3zi^z=FJtD@TjBucsU-O`UGmB@3ylMSk`#Hh zJu+$M)`!6g9iv-CQOmI@$uXB+ceea+@M7a0aR{OzG!slk`X)mpW?fo`k$-tRnvjle zr5?c1lD-~VJSBXEDbsBokqtELqoHTN2>FPe&Dc3lkJX9N3*aJ&-pz76+S`V%4PThV zE-Pt&{k5ooK6S0Z9R@n!0_8q1pfG)eDf=2Lue3?aVHN^M8OII^0!J=K!;oenaq-)dClKwOX4bKnV#I0 zxOd3e`Gj-7sNy5O!K&^2@_~P-M?6A)zrjp@XY89@j7=;5*QV@+v-iz$1-tQR(gAAr zI|5tH$TNOt2E;1A%?x|$^s&a8(@<1Ae^=|Y?7W2p3GV$z%!}3PLh*q1$ixa+uPz8L z7?3V7**4Xco#9jxAMV_6mR$h_R%+{#Z}z0AtTHN4-f*Z+O?6}>1v9gNE`yb9`eOut zE{9z887Mk}x>x&Dy#!%DW(eR{4n?OE=C8fxh>4VKSadhRC6klEW%vd?m@4 z-Tvjh%!se)xtgLp`)b}&j6=*4rmi)~nL6P7BN;L`g6Q~) zo5B>9qAf6fL3xd<3TVLjKR5ws)uZA9tl2T}vcCRZp;- zA|~>*LCl=@XWC|(W&Qy}hp?;G=>V8RMU}aTKn7#n0>oS{qOp&^$$*KEiaybwsBN3Bp3IAutrbET}NY-U!AV@ymV@A^!zdFI;*hl z!Bqe)4E=0{3RIH4w#;dAt3z(adQ}D8Ytd4Fo6NZFz2M+RXPXvHJxMBmp!GDg74`se zyP#cI5MWr)^k<~k28*dDXi#6Lerc?^PvA{Mam`(NVoQvH#qWH?)iO9EL=Ln`z5!f& zGe=}lg+CbEOa2L_+yiZJ=b$^Yl*8&;V(Qgc$Wpu@2;?QBbH?Qw0O)zr+z_umt1?j_ zQA63sxvLm`P0>y=2KP>XaN7qlEQ`0p#aPwwOT~%Oqfb_d)2obK@Nv8(W?wo)A=?7+ z%8+A6NVtstd3i4?;O@NC3Z??$JVasm(aJ&$Cgyr z=)eaeD{yxLd&#TqIjYLG4f={p`sck@1XfI->-+qP7I=fWNnd(@l#REscsNXFi^5p~ zH)dh$-4+YVN}S2?4bq*%jbHotMd5_Z1(X%+%dl7f1Vhc^tOpicc~h@MO2`ws0gEQcD}$`GMrom@Mp z<+~?VV7i>GOboU=O9P-T3G)f}R*(YFWVN>0)76s_ggDRND+pM{bfoceF}L8|57VFx zD9CC6b#++c%lKib4rE!~#2BiV@ks&`m%#N67Pp+}4uw9KE6@!#12{M`lkp=cf4y2; zQ`<-refO`J$KBdObH7!kwu(SVNPw`wmyo6MU_gL(jZJKmP4?IC>Cpwr*hVC-udt9t zI-2Rr>7JgkWl&5o8F6UCq>nfPQ=TcMa9c9v9McjX!L-E(M`T6-A3QV0GKFg!LQe+6 zJoOPQ3ohX7m=r<*fS#n*=+5H8ZJlLM6wtfIVQB=Gl5Xj4mXyv#Lb^d%SW-etWLdhA z?oJ5_K~hTTS{jxRSx{*K0T+pj_ujc5{&VMidCvQs`1H=aGw00vgOz*1af$7ICSqpv zzZQ=?1-&5R%l*P4Z>3GAs*Vp~sZ0ypChAJ28SIV?z#2>OuBa+vZ4vMI^^=2KK{N(W z^fsa+aL%`)*mx4FzRbCw*8?&9h%Ok%E~!dTq>MFALXdv|hh@joeB$I>0Ra z9190IzS5ZAgw$}&>RjXab?8gX685hH89R1Xpe|Id1VBEbaLLT)k&JjM7_*7vL|HpO z1e?k{p*aI{gYv)(hB9Lm9OxDQY(89WN!gB;TxKbk>$?AUPZ&4|`< zG7U<#D0?^O_eqN8 zb^|3el0FgQ!$}&uEe87>fL_W4Cow%87lIs4TBMt2uct}V&~`aeg=DHbKhxflTuq=( zWEQ&%4iSZfmjZQ z>)>27@g{8wWUN=#j+-OnH!`{UC%Kaf9JQs4jvUmj#_igwKAE{^dumAC-Coiw0Pk-9 zWlsu|`1Mk>7c~9t z)y{l|_Li{F6NjvW_g0LmX#Ja>Et);QDY|EWo>?P$?$ zY?yPQ^-VrJjQo|V-IKPQN&V@7*wjq6l}_Pm^G>&%_9n^?bUgDsg*=s}5wonjev^s0 zxOFBD69r+a#nRtQU$m*mjCyJQF#mN%@bd8wB_*F_;`+jIqhA~SIa{JaZ>lR0(^ykP zux3%7t%j1iim*F}Le`o;r*31UhEvY?wO&P;tW1W={Apaqwr*gYnh&Btl@k83nqXxC z?C8=X;dD^9FaUCUZeKJeFPWNRHnqP@4ogp5Nh^G``%xtcOj?oiohb9k%0C0qS0CAVY}A<$5>a4r;&XPd4PgO9l3fRCp>(xVHXb?Bz2yx0IO z(X8NDWO5E@%Wki0rZZ;CJghMmgYBXy?8=3sT#&wY-TR-S>GDFJr-r_^tLv5-uv$?`K>RG|^pZvfB0nyLmxY?{htO^F)Ud5lwkP z>LLzI)WkVUV$Gwk5}F95pEX8nqu$~@Igge6(RFdawlBI&9KV|$z9ws52~$GuEj1ET zL6HHU=~C5JiEH2bQ)fygG!2%p9aQBh5oqOG7dGWoLRIQ0sH7uxnXp$plR8v%c#OgoDTP=ocJ&rWSXZhM-i$pcm<}I8$yw(5OKd!ejm84 z|B>aYh-~&n*=yAajY#~Bs6X)^>)s&APW%wEer8CqMw0cEoNKu`>?4f%&MyBPKRIbO zfjWo5ISKiMVM;SsQ;?c0-}^;iywL2vIKeZE3(Zsj*8uIw)%p(j-M;#HqdGEXdF+j2|5**O1#Oi* zVjPj7=_;G5G!c-dMDH#QJc=h zuQs@Hu$UVywosu^3wvVlJkDYsnda2pLiNd12Qt6RDd7I+a`)$)u->{NKQe@B(HgwCgTB}SlgYGCqG)D(UTV>Ka-v=qZb z$aGzxLVR4+;Z%;RlR@%c=v#uN>o@3@WjU($T*?ubUuRPlnj-h{~P?DjdC! zJzF=bGiekl3aBWn+pyl?<2KxU;ts!GH`7C`w-@ROaYl5n1{zLA;oVxw1znu({ymcF z^Ef&=(T3xFzJpz41}h~zqK2>UfBiIuw=Cs?nmW=6ya8Ex>##(ucA=KIb{AJtHVSgNDj>(7=GRd8e=MK6$h|bCiE7H$A!3qh3kM zup0C+Bif@9^YRlegyslFN{S8g&chwrPK_o4Ydv~4vfhodI7ZOkFD?Bw4|08=F6_K4 z64F3l+!FTI=%1=dWL|nyHn{T&Y>@Y2uOUEc3s1Uwwq-e-HqQb=fM2AyPLztCYG2=^ zz+hX4SBwXzKxLAH^+gPWLbC^x9aXs zZVz=vgG3SFH5M!h`c4C(Bn&nKUA!lz^QCMm>4eM^q~?cPb#o0VA=mCHp+Seu%)iqc zo$K#0e$)Pa`rkD-KuSDY5d@@c2XO(<0oi?mBoyrmyg*hgfRtpry#P=QD;uUwLXjOJ z4(x7s5CP&n7@&4Hao{{wHva1e!&L#O)t(0eHUR)2;p~SU6z#UMz(0WO;hcw~9$fT; zA^P7&_Jbjmov#3-Y41}4HUj{{qS-#GKsb)L2uK{1{YMqZ^uLl`4OoCFmMw@Nrl*sT zAQV!E`uO^>h)at6U)y0(Vd?*Yc@>&Nz1Gwz?%vxDq#RjROvsPn!~>EG=bZ((y#KP1 zxqP_9wlBI)?Wx4HhoWPkTqj z{?_ksd@QDL218WF1ex28lHYai&Vf7&1xCh zFkrcqrWr(tt8f~f<*I|~vpMuSC1-w~ z=%1%g&NC)WF_(8vJZy5=toiv`wCqBhzE2fC#tl!Oa)@IFTJv72v+~x%G&oW|0<3%4#(4jAGBTBgP#pVX%26 zi!QH^s!iGpA7z`=>HfsT{Qo&!R#&_*yt=$Ht;>bO{a9;@!vO(dxbFcxU)W z42y@8$0k{sm!+55PMTmz72HWWA;b}@R@K^g2-EFd_w&f*Ad{rgz}Kd$8kBQnLAe>Y z8YP;=Ha0~)x4VCCZWxI*Om4qq%(HD61;LX@#Lnqq$5pEA7ZxkaJIgsAtfJuPj193)s3e*#H;Sitf`Y?cA1_c&MB z>OH&b;p`0Ci}$4^%Z<-wyyOGF8jp=f1PNmr0mXbF6^>8Cq)F~SGrW=S?L_YWLGpi8 z>6x{Q7N+(*9DMu~kgdRc{I~oHHQ$W)zIfY3IHuzmW^g#^ItIfQqj%`lrmA8{MTI=V zU&Jr6|5|sbG?Z6dCAK2a=D`gjioB5cxEQ0Nd^^eA(73JuQy>jLe)RBOBDGetI24hY z#1%R6-N&-QE=7R;dw5lWCIeIZp$Zn~A^-CgkbQo=Mhakq=9SsnkHK}6`P6Q+ z_Cz4|3r}H==n^N5-u1m5g!gCpz42tP)gSpVu@S>S3pGE=N3Z(lb}fT3Vw1fFNID)U zZDo5oJEx&iR-K-5s%OcXf<2zDI(n!F#dIu$=}X@pFn!dt`Vo4CsPb@pN_9}*B&?fGzb`!)?tLVfCeb^0=a;5un^;#-6N)=>k$f{R-Z0r{ zK%*fSuV^K--C*X%Bu2SxJsYhbGWf&zRxZ~Jn!L^FLiIA$p1Koug z#%f>mxMarr^}Y!K>-&-nsp{n<`(z%c8J}?+#l)N0vcfQ;JY>W!bKn+qFNV7JuF_;& zj()tz`(ew4QxK-lGh7gb^(Fa%VEejVl+kFzd_yp?$t%m-u{0 z8pJqt=Hv65w-Gr!yj>DOnrE=M+?jbOVR~1c+m2I>j(g*~;j+ z;Qr3asv;rEWz5CN!=SDes_&+%%zM4uH?+yuujfbHCL56zYqEj}JW;d)24f(E5gb zOKZi7Bn7F_I$%^U)YGJIZ>?Bo-|d{SB6l8K_sMNYVW&%})(E9Cio3*Bh0ReVZ%dbw zPWVhZ!Ql4v`<|@cU+ZD%ab(MBlWdOAWRQZ`jtaC$VcW_R?C)4d`tx|@FR=QDuMnY= zr=zc*kCVN}Kjr1%N+>4$k8Mf;GjxIw3Tb&dIt8*=3bTj_i(3;4J%-huJ>>>A#sOi=~{JiiEI;hy+Lpq$DjZDK4q1EUl`p zCJGW!lNOay0f{NF{69 zs;0hiUJ0;TrS+p+Cv|dW8CLZ;tQQ|=wu?=Qiu0F5(!B_(|AQsIl(*t)uUs0pc_MB* zjo!GLmc8Pik$z};FpcvpJmibL?rYikcn%f}F&6ErlfZsqOMXWvR;L_GXs~>HWXcA#b!i&(Jt@Ta`*KQSU zrRW&x_ipuR<+Z}9wtx>q?J#5O7hNv%-W1fg;wFv4Ii{0ZNv0H_*;RBFDe5Nh$BEjm zSb3FhL!K&bswj0O*`JDT${*?=N?b^Mx<&jhMJX7PJ1_Gc-tV%cQiHJ);O_`bVf^TR zVH(VGJE8*Y>VD`;+ya~*{h%BSX<;B_sIxU`hP^lu%k7FXt8L_3{VMa9b|6O&xeY;M zr0F2vw^!s~I8+!5LJ-Vkg%R|U%nIrxE= zekxcFMRuqcUY!*yA%G<;3L&j1k>SdX=J}5SWoZep`xfAR%SL7Mt#&c~R(}m>S>@q9 zWqXvdyHGQV;<`(++SCd(bH^)H&66!uEjr1a_`-{-At1>4^*|(_ zMdSIqS`L7DKi6iG!=|oQF#nc*WNuq8Xfvg^j5hW#qcvzFJ4*Yx5ed9*-D1D|TbizV z(2<_j=T*pF%_YF3QX@cqkv-VL1My#kWXBnEn&7ct-hKe;pAHt4m&&le(`cMxQCt%t9;Yy8tE}ZGB#NZfU^*BlWMe7$@`FV65+$y(WyQTRRM*a8|ol&CEkJ74+M8Dyz1~PirHp6aOPsvm1?o U#Kh9lVp39)gd7}ddg_G#1uxWX1poj5 diff --git a/Schrick-Noah_MPI-Tasking.tex b/Schrick-Noah_MPI-Tasking.tex index 6c4d561..d5e7e57 100644 --- a/Schrick-Noah_MPI-Tasking.tex +++ b/Schrick-Noah_MPI-Tasking.tex @@ -229,7 +229,7 @@ In order to capture a comprehensive image of the tasking approach's impact on pe \end{table} \subsection{Number of Exploits} -Task 1 loops through the number of exploits and checks each exploit against the list of assets to see if an exploit is applicable at the current state. As the number of exploits grows, the time taken for Task 1 will increase accordingly. The exploit list used by Task 1 does not need to be applicable to the current asset or state, or even to any asset or any state. Regardless of if the exploit is applicable or not, Task 1 still loops through the entirety of the exploit list to check if any exploit may be applicable. Therefore, to prevent state-space explosion but still gather valid results, each exploit list in the tests contained a set of exploits that could be applicable, and all remaining exploits were not applicable. The not applicable exploits were created in a fashion similar to that seen in Figure \ref{fig:NA-exp}. By creating a multitude of not applicable exploits, the exploit list is able to be artificially increased, which ensures that the resulting graph maintains the same number of states, edges, and identical properties. For the experimental setup, the original exploit list begins with a size of 6, and artificially doubles in size until a final set of graphs is generated using an exploit size of 49,152 exploits. +Task 1 loops through the number of exploits and checks each exploit against the list of assets to see if an exploit is applicable at the current state. As the number of exploits grows, the time taken for Task 1 will increase accordingly. The exploit list used by Task 1 does not need to be applicable to the current asset or state, or even to any asset or any state. Regardless of if the exploit is applicable or not, Task 1 still loops through the entirety of the exploit list to check if any exploit may be applicable. Therefore, to prevent state-space explosion but still gather valid results, each exploit list in the tests contained a set of exploits that could be applicable, and all remaining exploits were not applicable. The not applicable exploits were created in a fashion similar to that seen in Figure \ref{fig:NA-exp}. By creating a multitude of not applicable exploits, the exploit list is able to be artificially increased, which ensures that the resulting graph maintains the same number of states, edges, and identical properties. For the experimental setup, the original exploit list begins with a size of 6, and artificially doubles in size until a final set of graphs is generated using an exploit size of 49,152 exploits. A Python script was used to generate the exploit lists. \begin{figure}[htp] \centering @@ -240,6 +240,28 @@ Task 1 loops through the number of exploits and checks each exploit against the \end{figure} \subsection{Applicability of Exploits} +When the number of exploits is artificially increased, the runtime for the overall generation process also increases. However, solely increasing the number of exploits adds a strain on only Task 1; Tasks 0, 2, 3, 4, and 5 are not adequately stress-tested through the number of exploits alone. As a result, additional parameters will need to be altered to capture a thorough image of the tasking performance. + +One parameter that can be carefully altered without affecting the resulting graph is the applicability of exploits. As the number of exploits applicable to any state grows, the runtime for Task 2 similarly increases since it must process all applicable exploits and generate new states and edges from the current state. In order for an exploit to be applicable and to not change the resulting graph, the exploit needs to have a precondition that is universally true, with a postcondition that has no effect. For the automobile example, an alteration to the ``not applicable" exploit seen in Figure \ref{fig:NA-exp} can be performed. The new, artificially applicable exploit can be seen in Figure \ref{fig:Appl-exp}. These artificial exploits will be applicable for any asset at any state in the test network, since no car in this example will ever posses a quality that allows it to fly. Likewise, though the exploit will be processed, the postcondition updates the car quality to match the quality it already contains (``flying$\_$car=false" is instantiated in the input network model). The update keyword in the postcondition still triggers the update function, even if no change is actually made. By updating the car quality in this manner, it is ensured that no change to the resulting graph is made, while still gathering accurate timing data and not skipping any functions called in Task 2. + +In RAGE, when an applicable exploit is processed, a new state is always created. The new state is hashed, and its hash is compared to the known hashes. If the hash already exists, the state is discarded and program flow continues. If the hash had not been seen, then the state is added to the instance and frontier. Due to this behavior, it is ensured that the approach for the artificially applicable exploits can capture realistic performance data. In the case of the artificially applicable exploit, the new state is still created and hashed, timing data is captured, and the new state is then discarded along with its edges. + +The applicability of exploits was tested by using percentages of overall exploits, excluding the 6 base exploits. The artificial exploits were generated with a Python script based on the example seen in Figure \ref{fig:Appl-exp}. As an illustration, in the case were there are 12 total exploits, the applicability of exploits tests the performance when a percentage of the total exploits were applicable, following the example shown below: +\begin{itemize} + \item{0\% (floor(0.00 * (12-6 base exploits)) = 0 exploits)} + \item{25\% (floor(0.25 * (12-6 base exploits)) = 1 exploit)} + \item{50\% (floor(0.50 * (12-6 base exploits)) = 3 exploits)} + \item{75\% (floor(0.75 * (12-6 base exploits)) = 4 exploits)} + \item{100\% (floor(1.00 * (12-6 base exploits)) = 6 exploits)} +\end{itemize} + +\begin{figure}[htp] + \centering + \includegraphics[scale=0.5]{"./images/Applicable_E.png"} + \vspace{.2truein} \centerline{} + \caption{Example of an Artificially Applicable Exploit for the MPI Tasking Testing} + \label{fig:Appl-exp} +\end{figure} \subsection{Database Load} @@ -254,6 +276,8 @@ All data was collected on a 13 node cluster, with 12 nodes serving as dedicated \end{itemize} All nodes are connected with a 10Gbps Infiniband interconnect. +\subsection{Testing Process} + \section{Results} \label{sec:Tasking-Results} A series of tests were conducted on the platform described at the beginning of Section \ref{sec:test-platform}, and results were collected in regards to the effect of the MPI Tasking approach on increasing sizes of exploit lists for a varying number of nodes. The exploit list initially began with 6 items, and each test scaled the number of exploits by a factor of 2. The final test was with an exploit list with 49,512 entries. If all of the items in these exploit lists were applicable, the runtime would be too great for feasible testing due to the state space explosion. To prevent state-space explosion but still gather valid results, each exploit list in the tests contained 6 exploits that could be applicable, and all remaining exploits were not applicable. The not applicable exploits were created in a fashion similar to that seen in Figure \ref{fig:NA-exp}. By creating a multitude of not applicable exploits, testing can safely be conducted by ensuring state space explosion would not occur while still observing the effectiveness of the tasking approach.