oOJx!T%DcAL0HSst${mxzch%DPv}d|%e(Jkz8Ov?7K*BvX9?A$Y9Of(j{mjpm(zP5D&LjKw-M6yu8EV9EsBqz4 zhUp(yF#rJYebpekFU@`~{IA@-oUPs6o%#G+U1Ifh-O~iX!CAF;&o45l)P5&&>bzxl z`1q*=TH_P=iB2rcuqt6UMq~W;$^~b$K$BFvFX;A9&0dp@XJ7^Nm>|zOEOMH*feJ%g zx%d2Wca|?gs7KB5n-C0-kolGnZwaolxAcgH*^)@1nT568FbcnXTb!BuQFg8qo73_y zHp=SU*}OwFgGZruC4f;w_19A^%;YcVUg3F*D=DstKed9O^|8!ev5-JZhK~$8oF+ #7c=5M D{=K&%Uft*Gy85T?%NqO9BGLJRA}cA a_&a#ZOokWe#T=H&cmc{M;9 (1JmU{SirGM`mz4YL7`G zD2h0P4gVlsET#94-!DmI_tSJZLex7$tTk1vgPR(gv3X)aLM`}IE34c(SftT1 %$qK$Sjs{Q@r7lkI@Z}K6@W%MN@ 1jIVo;EJL}GH9-&eZtmTss){-%?STf9SUMMP@Dvx;Db!@RrH&zAr9 zWB#7#66A{q05t0%ok`hfr{j+5P&4S^ihLxYk6!c}%%Veft;tSA`058_2`L0_x8u1p z_td(OM~df<;g88;x38+}vjrpD0h*T!nbI`1>+VZ}b)Tw*4~BI| zeC87-lC;YauY>jmEoU>%3*%lMO;^9hHHl$&y_i1hll=HCFVKZxc%V+QPQ{~eFF 7#w;$@`GI4a(y?^OFS|1%oj zR~C#hW+PHwaucML y6#8z&5A1}_j)3!Z`5y{?QsM~#7SBP4WCB80gKsXaSx?07 z-c(NqGM{xXw159`h5w-#b8KO5w~3X;R`V_AXP&?&Bq~p`;K72DGVxYp+_t(*HhpeP zWz0~HGHmEO{N(ULaeiwWe#}0qj$>u0I^{u$3nO#|@HUz-3tA_B*qx k<@3O#hcy>2p!_%3bD4m7g)8L+zRw=S^h60YGig4mN&*JHWYKM&^gr4&o)%b za0;@DcoE`}ZLWs4TcaegQwe6avKR-4_-Asn{YQ5fX4M=2b)P9{EkN4D0vQHjg&T%O zns~XoPkp(Rkx~mdU8cIZ{6i&e)YwXduNT-PJx5p1Iv&~uRU^J-ftn ltkXUWNsSg#FU;sPQ3S2d%-*=T Mcvy?PzLxjIJJltma zQR9;Y(Kip3Tfu^u;)?w`yj?01m6=m25iD7;59PIJso#w_+l*v%3I@FCV@iCeC?7D8 zr#_pi&Qc|eWUnlzzES4w6L>yD!tX5yYlXIvosw0w+0PA$SmvqdNMw_|d<5@nKtOw6 zUFwRX$0{O_GBv}1Cn4Dohgu{CeW$IPhZ>Yf9HY%sNn(-Wy)qEGzVtLaAPkSyAqTO} zPpRzqK5NkE-)+HQ4&6(2+_^DjK?$zbwiI3!f zOo2bbbVtG%j7b;^9C0?8Q4!na0D%c&aq??5Qf{`lSlpEq@2XzHh4k=_v!U{B{90TE z&E8P*Ev|z5mZPYUX^Cv3xRwNm%Pv%}mj;=ECr|o| Pz!bv887OZ@AP6tB?gV~_)`V^cb;GcJJ>yLi4!qc}jU6e6m? ziA >>>iYxYrjTLRKxDCD$RfKKkWXjzLoL(z@=o(@nSvt zTayo(lE33YYYjy-h8eR+Dq@xh&hE1e%1pH`uo!!~XIEPryc2M0S~c3kTd`s0Mp@c} z!I?vmT8{sbTSJ}ChV5hbcJN!C)D?BD0hSxQI1;UQ6%&={cq#AKgA$=P9JY5_)~}+d zDxwprXhMFjVQhxYpt|;E5sA@nS~EtI>_;-qrTo)2f2!)wg-XxqHmZT8;Pq#R7vVGf z!NC`Q+!Y0JuoYDnJBd&PSYCX$H@2rch0GY8j32`-f4m#?Kk1`nvb{Z1!+{Qc0JXg& zD@=Xd7-W1A%t=7-g9{Rz0MSzaVdF4bm5N?Qv5*MgHNY?Sd# 8;&T zg09DUF6@)zzgxCkohqj@zzO)dq!*j$lg00*Ecr(kaj|j}7$70)uxTsu!g{~U ;vdn|`Bi{qH0YYpFXO>bI;16j_L7h*##;ZTnv3Fw= zb12iBt~2N2eWn1*>+9w0=RrPVI%5DMF_i#?AyJW$+%cwdn3@k*;0%lcVPLgJzXK0n zSq1Er_5k__6)raWEG0cZrFOdTsI}{n%I}QIY*OsP&9tI%h>OTq8}IVv8IXxZjY`+Z4@vVHYckTgk1& zn3I;Fp%L5wEK^GT`pt%-HJZKM 5^x-&U_Y zHYK%w@{jNQr+<}xYm)+An|XkTyFthK3e6m{G; QMW(tt$}c*cN?VoChZ!i|wt zg7%+1(fx?>1_%I<-j67M4+eng9`}(xte!wdCgcXI2vCIy$-t%pY$rn6v9Z(rw}%A) z2>wRgpMQe{$&f{C;ux36pKMQn%(zGz2!!tcPeK1xvydQ7A?E*kvC;{V0s&e7D*gxZ C0J3WU delta 4890 zcmY*dWmFX0)*ebiVHmn|hHgpel hZsU&s39dKq>(Nqq(fR78AOJZF6qnb z`>l1qyMH`u?X%Cb&-ruq+0V|?gsIo0pkc*Q7Y2(VGSTRuld3&@B#{SL$Peos8q)%q zA4X;Dj0iAUV|*FKmclfsk{z4p4i$qqkUf>VI|{t8W!Swm@^V~k#Nwfal z_ek*Kg;xfYt=go-Kl){Je_AYg$0M`#ORQPKmi5qIl6;NKAbe$ZrJ`VO4PYX=JO-8e zVTLUxG!R2{@1AQbmAJ&v%Hfx~{IXsX3ATrqTRRope9q2%VIcYv_pQnD%0=PF;orUx zK<({Ys{J0OYR_UBi@o{HfxsZryDEL%(}hy^E{s6~uuox>^K(?~myQ=>AkJg! 6W&ZPg1gNvqdp%5q$aHoG+RRnVlE;gJ8Zh^X!LcNVOK3L?!=2QDL0x5i}l zc{PlU1(c$v$d&~`Q&RsM96Q~b#-=<*+g?MT lZJ@dd>)%Cn z(Uw6Gy^fXpmiO;4SXZ1Kps|$=qVt(&uaV+ExGqBu+S}?iQp4t$tQA2&agrf+d|k2x z+pvB@Eq)d;D~LH4GGvZE2KSKUV0mlKdCyo}-09lECdwIvlBL;5QS=}o<1cJrXy9VU z=VKhf3dU0o>ljud_L}`uII+&hCeQK@8gQv0f+k>>3m5Dkce5Xn8m%9sngw XS)_uM7ee(Q` %nKoA1}NO}waPyi4I zEL2c QV_Jk^5o9pLl3r{ifFJ6`yGKjkTnRD<{x%~E; zaw&b335;H?G&k*TSzMO&=R$2AEvEQvlT92g^%BT(fP9JnYkbvSOMm>QreBZ5>0Ac5 zeIyp*#ee^?7ymea L94=-9{nF=ii%ME%RxE60T3nrv!XL&yUSDLA@HMR6a&gh`o`J z@s!M%pUIo8KNJMs$iOm;Q>KlX% @mp|XARoy9O(nHFy{TOr(; zV5xVQundE;`<3E&EQ=A!$Bg9%PVFMRMl4gXBsy$=!S@-*xe8BCN?*w7^O}?bF`w^q zG34H)O?~m4qPFJy1n#qT?(>JwYsPKHW>AkbrQuCgu`^bslIpzo7>RWC6u1<)(9$&% zo%M&JMTiLi03S-3pEIwoo2Qeto0}7lpNlhGPseSMkMM0?!@cDtElpG;8k2qzVU=zf z$MDv Z4CXkHFs+pFo6l9AxM{rZE?BRA(}WLwm1qs2J M%C^IO z{JnWTN0wnp!s I|l_CkrxB1Q8Y@;?kHQ=bC z(I^!`Puo bM=KpYZ!0L9>35`x;c`Z4HBA1xgAtLU#ktbnPeik@UEW7) z#zg&jPNL4_CU}M|!VkxWig@kd7dQqz#W6f$`y*rIyUTF5AQtQsvoN#eil&;&R%T}( z`Ho9Pyt&gbL{nK0|66v-kIKF;23cZ)9r;FlPN8bMP&2-zYBSFCoqJH;o;~>lg61HQ z=zvb-vxe4wPr$_)WM9p~wP2=B8ru4Ur}Ou0-e=B1X?%#!hEHo7{Sac`!Quw}e}6I{ zC5-nO-b1C;La35}se5_-cU_tU7aF~$LN#9}B?1gqdKVhq*ZMrl5${MK&|H=NTGQh- z=OXytx0Ac9&CH{?_BVS)2kgx`mRnchAIn|R4f-g(ZmPvaoy(COuUuvf>?jt)tM@K3 zO3HGd$)7Fmr*}3yeWE3~*`M?ahF3%JBx^^9g6<`EYGe*`i5sx_*2V$Qd3uxY7UfPw zlNLD;YU3LPD?La(^=viSfiCUK*wIv&sP?1Iy{%c`LffqI7rPuoCfOl7@8M+7R4+bWD^@a zNrr4GE-f}D*{IMuu~WFeT?2`CS=+zu)^&JmOYX^TrOpXb`N5;LFu;qm{K-7atw?MX zs`O%~J>&Y@r=*;+&T*ZOB#OSiC7VFML~q&x_3GdIPmnsUOLShuaD~!efp7C+AwJOp z?E*E|1Wx=?_o!G0Ak?vfS)4+S)e07=Qa#B-)cE@|z}U04*S6*!yJ%*(s7iB+t*?6Z zFu%;ikn)Zz){l8Q6%`c!jnEi7)O+}~4!T`OT&2x9_tY~q7VqvCfZ`;zv^4UR{hQSp zuHzwyfWsl?3CD=AR-%%5v$_M`l>Nz2n7jyfYNVZUBZtR+0klo#{VN?226Q;;C+4NV zzVDn {fLod}bw(}h>+gsZ<_?R!9aGxf3rt!_CnVl3A>6pIxf15P&Q5W{cq{dDzO2>0V z_FyQtmBl0>fJ}Rq>aU}8d_T@Nt-_-21iZ aOd2wT48m7YQRu+qP7!E{l9#Q$U8qX?p&Fo?A0TxiC7= z-n1OUfU%yvl+r14A&v6neUrk|{WMLfqW5+tf@(=tb6m1%-t{E@E|?g$N%6t+zHR%Z zd6)v3#5IS+>b9ScgcQNSD^Tz>PrZGblfB|6fxJy2-X{4Fn|1CE-9!;sG}B8Qkn9*C zQ;g#L;DP66BS>ex9t2u%0O@=whnqt&D|T?{3YD26lTVXXo;o?Oyz8A(fB&V){*=6x zW+Y5ep=}HB>eBnFxS<5+R&vSy!=;2!!4z6*=`X((d|iQ#X|>@b6{xUS_US}5#yn8Y zuxP0NktdF?d7->vz&!3B4F-X29yBFIAMU|2lIuV7;*BBVsL`=}c4? !I;af%`x6 z4=lr)F{HhoG5% ^BCcI&OonH Fcsuz&ZG~Otm38jSPLR7!8>4$K?<_QFcG-{9-;Cz}cql@T}@|V!Q`C$!7O!cKuzs zSMNMt%y)-R7efu_hnZLFT8gnRa@S_*U}{9SYnu-c_WB(Y!T6L*SXy6|Bt`lI7>_)} z VMokQ8d_;Y@>3KsaaB0c}i=!095B9Ns54Df; zx^}(1t`*cB5QF@Pm)02iE-zSA?n%|w92mKQyx^gi$h+Cm;fne$s@aoEmgm{?XIhJA ztg|J^@9y~4m-pkg%Gu9TFYKL$Z$r}ep8n?+T!|#;nt%&;%e+CszCMI>0`zue-PZvD zyrY^<`X0A6kI}C8UQ d$7G@?1%(MgCZeAoRDO|xWT&H*d$9wp9sAG5>EjL{TMWKs zNz|6J%sTt%%41S$MbXhA?9p-SH(I>o^ekW|7E37x#>}7~hvR|gzpguJk $Z0 r}ey9|I!l zK}k-kNt|C*lV9M2>JRHmjK1PIFk6%Pd{CJ$`Wt?H%>!}PZHFe;poy$%XHETPJHqRQ z%}^hYabgPV#VqJox(hSeYp~nvJ)9anC{#SCafauBarae8C5iJ0PloFlucrG+QN};3 z%+^gzea?R`(n`wi`7fhNd;K^Q|H+>G@s&_py(r}pMn{|GIGz8`(e;6k!wH=#^gaN- z=g_JZAGd2pyGi}aBh&S-6ci c7+_bTOrK8wwW~AyW?UiV1 zl~QqIvjP87Rl8(`&g{q@y}a$<=bh?Y$Bo@~VD&Pa(7gDrW!=Y2qbRyBLOjuN@RZK4 zpM(s&y1%n7rpvgT=TYfUu^db--O@iaj!78g^?P*EnCMyz2p(o>^cGr#8?ylVGA*Kz zIr;y_OwYj2sQ-69@}M;y3=P2WfcuC9um?6K{a^Wk@L(oG&_bxtIq4B%5GC|g0z@c; zh4sHZDFA@~5B0(RW$O|D<-PIpceZ _Z69s1UahVRTs>gb)h^>#xc|yksFo ZmjfYuSj_SMJ4- =1.1.3", "langchain-openai>=1.1.1", "loguru>=0.7.3", + "nicegui>=3.4.0", "openpyxl>=3.1.5", "pandas>=2.3.3", "pandas-stubs==2.3.3.251201", "pillow>=12.0.0", "pyinstaller>=6.17.0", "python-pptx>=1.0.2", + "pywebview>=6.1", "pywin32>=311", "rich>=14.2.0", "tomli>=2.3.0", diff --git a/script/setup.py b/script/setup.py index d1e14cf..9efa16d 100644 --- a/script/setup.py +++ b/script/setup.py @@ -4,6 +4,8 @@ import subprocess import sys import shutil +MAIN_FILE = "main_nicegui.py" + def copy_resources(): """ @@ -33,6 +35,7 @@ def copy_resources(): ("data", "data"), # 复制 data 文件夹 到 dist/data ("templates", "templates"), # 复制 templates 文件夹 到 dist/templates ("public", "public"), # 复制 public 文件夹 到 dist/public + ('ui/assets', 'ui/assets'), # 复制 ui/assets 文件夹 到 dist/ui/assets ] for src_name, dest_name in resources_to_copy: @@ -79,7 +82,7 @@ def build_exe(): "--windowed", # 调试阶段建议先注释掉,确认无误后再开启 "--name=尚城幼儿园幼儿学期发展报告", "--icon=../public/icon.ico", - "../main.pyw" + "../" + MAIN_FILE ] # 添加资源参数 @@ -106,4 +109,4 @@ def build_exe(): if __name__ == "__main__": - build_exe() \ No newline at end of file + build_exe() diff --git a/script/setup_nicegui.py b/script/setup_nicegui.py new file mode 100644 index 0000000..2116399 --- /dev/null +++ b/script/setup_nicegui.py @@ -0,0 +1,100 @@ +import os +import subprocess +import sys +import shutil +import platform + +MAIN_FILE = "main_nicegui.py" + +def copy_resources(): + """ + 将资源文件从项目根目录复制到 dist 文件夹中, + 以便用户可以直接在 exe 旁边修改这些文件。 + """ + current_dir = os.path.dirname(os.path.abspath(__file__)) + project_root = os.path.dirname(current_dir) + dist_dir = os.path.join(current_dir, "dist") + + print(f"\n--- 正在复制外部资源到 {dist_dir} ---") + + if not os.path.exists(dist_dir): + print("错误: dist 文件夹不存在,请先运行打包。") + return + + # 这里的列表是【给用户看/改的】,不用把 ui/assets 放这里,除非你希望用户改CSS + resources_to_copy = [ + ("config.toml", ""), + ("fonts", "fonts"), + ("data", "data"), + ("templates", "templates"), + ("public", "public"), + # ui/assets 通常不需要用户改,所以这里可以不复制到外部,只打在包里即可 + # 但如果你希望用户能自定义 logo,也可以复制出来 + ] + + for src_name, dest_name in resources_to_copy: + src_path = os.path.join(project_root, src_name) + dest_path = os.path.join(dist_dir, dest_name) + + try: + if os.path.isfile(src_path): + shutil.copy2(src_path, dest_path) + print(f"✅ 已复制文件: {src_name}") + elif os.path.isdir(src_path): + shutil.copytree(src_path, dest_path, dirs_exist_ok=True) + print(f"✅ 已复制目录: {src_name}") + else: + print(f"⚠️ 警告: 源文件不存在,跳过: {src_path}") + except Exception as e: + print(f"❌ 复制失败 {src_name}: {e}") + +def build_exe(): + """使用 PyInstaller 打包""" + + # 1. 确定当前系统的分隔符 (Windows用';', Linux/Mac用':') + sep = ';' if platform.system() == "Windows" else ':' + + # 2. 定义内部资源 (打入 exe 肚子里的) + # 格式: "源路径{sep}目标路径" + resource_paths = [ + f"../config.toml{sep}.", # 默认配置 + f"../fonts{sep}fonts", # 字体 (程序可能需要内部路径) + f"../templates{sep}templates", # 模板 + f"../ui/assets{sep}ui/assets", # <--- 关键修复:添加 UI 静态资源 + # public 和 data 如果体积太大且只在运行时读取,可以不打入包内,只保留外部复制 + ] + + try: + command = [ + sys.executable, "-m", "PyInstaller", + "--onefile", + "--windowed", # 建议:先注释掉这行,打包出来先看黑框有没有报错,没问题了再开启 + "--name=尚城幼儿园幼儿学期发展报告", + "--clean", # 清理缓存,避免旧文件干扰 + "--distpath=./dist", # 明确输出目录 + "--workpath=./build", + "--icon=../public/icon.ico", # 确保你真有这个图标,否则会报错 + "../" + MAIN_FILE + ] + + # 添加 --add-data 参数 + for res in resource_paths: + command.append(f"--add-data={res}") + + # 添加 hidden-import (NiceGUI 常见缺失) + command.extend(["--hidden-import=nicegui", "--hidden-import=uvicorn"]) + + print("--- 开始打包 (PyInstaller) ---") + subprocess.run(command, check=True, cwd=os.path.dirname(os.path.abspath(__file__))) + print("\n--- PyInstaller 打包完成!---") + + copy_resources() + print(f"\n🎉 全部完成!请查看 'dist' 文件夹。") + + except subprocess.CalledProcessError as e: + print(f"\n❌ 打包失败: {e}") + except Exception as e: + print(f"\n❌ 发生错误: {e}") + +if __name__ == "__main__": + build_exe() \ No newline at end of file diff --git a/ui/assets/icon.ico b/ui/assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..203c5c4a86f2b1c20383bb6fddcc56d610fa3b99 GIT binary patch literal 75238 zcmV)zK#{)y00962000000096X0MI1?02TlM0EtjeM-2)Z3IG5A4M|8uQUCw}00001 z00;&E003NasAd2FfB;EEK~#9!?7eq<9oKp1{e8}q+tE9~-bs<7B#P>?Y+1J4Ew?zf z<0PBj?X*ocn@ybEY|8E?o9w -Z)Ny zz(4O;119=y0AnDTivD9?*?*~T{W87>xGVwuP$NU~x_oV00U9X7nPv(@wup#;QGj67 zI^YiA>e|i#D}dXLu!q2Z&OjB6!5E#6X~R|3+O9Sb0v;mMm-?nJ<9mq962K2Nx+rY7 zYA?|UNYX$zNE6TubO2327qAw%0_ZvKBvZg4;2_Wkj02-!Mu9Ab0b@)Sk9V2lwSdbKzz;QYym+jY>AazD#5jvPSihoMey6$KT$_rUjDa}OJGP0I@`V_FBaupQ z0}ud#fae8Ln9R{PG|pci@8gk b2`)#p^dYmABm(q_11&H8}^+F*-<)tV1lW#jbF~z42|KXzWK}e9^f(q z_@PD`zud)_zTVEhePi5yYmffmU9TVe)Hn4ZO=fz!l;~-#t2SqnzOpUN#Y{dzWZ@s0 zjPb4QjYIc7+w`@EcclJmV9eTa<5kVo9XlsjxhBI{{{axIcACo!;I)9uD!>ml3b=I@ z{Cu7(uDh1!4@|QA*o$ml+tvTT<14@5x<~svnkpY}sjqB_Ibr;z&J=`V4)&%`9XwO_ z&-Xsj^)Dv3zW3T29^(1^MOLk8;rM|*?DQIf!qH28)0go*#AONKhaB1)A=7gc{l`kY z=gt)CmS_0Zy*Fd_{c&YwYkqRmvdQN9l($iY^h=#b31M4<|Inrtg)jZzf7)?)^9>fM zgyH7RHcvcNCDEM3n||?9-|l66k8#-z_!>d`x{m>{=kM;NK3OHuE=u$wkpBdH5NMd$ zSJy0qQRwgNDKzjX@ZW<_p0F*A2zY_8`2AOsAH4rk-{NI_A8=U(c#UBA(EkRY`1~TY zu~EtbV;X>^MD9SUzG8IBHiyo{LeDcS@AA~r&Ojw&8W9vx+(4^i`If;7jRD6pmx=#1 zjLQt*H3E^J2cWS1+W=Tpoe-;88#+r>+de&%WY@8D;rYYKQ-@Bg?WIz=ylRo&v}K)a zy8a5UX>Ctd>XKfoZJ9Q(l0g37F`UczA;Dz^@EU ?T{*EecE*4dcb_8adT7>HSg(%nxiZu{m7i>`U%kbV0Vi^s3Oe(gwocXP38 zaa*aOP`2~tvWEDY$K^Nt8o_V>_B8+;J+TQ9h`V83wrF2ptk`dx$XPEOKAm{>JAd|Q zaN~x_l_I1ROap3kIx)WN!|xwo(lvHXb0+u3WXwBUmn=UVgsN|5dOZA{2QKyPUB>qb zml?oo1g`sQ0JN-0L{5E!Wgu?Ap3FJL$*+GY!04?8c{^}MFoPgh0E0NeSJJP0KXuJh zDNBW5!YYV2bMC3$uUzWeyNvG>E;E4F3?kFMF;c7i6Jh_o>u5;%G^MKvjruU~L4>ah z<}}C$ffATMPhHp7H~hqMe*d4k`0SUTKJVO@r^#y-muA8GH wvETf1(IRb!|
a+r}MZv(Q3926bwm=XWydL=I7)rHF{z^e#hAhVyqmxR_dU`Wl~ z#~3nUNQ>`@g@L!-kf2%>0#ip|>Ok3GYLdOsLL@ybdIguy0B &^p@xGG3jyECIZV@Z@7I5E0GPBy74$)7EZi zXbe#bJWrUM5RM%Y&Ym{h`UV9zcJrCPJI CP8`I+A-PKOx+NW{P zL^}LezSsan3;5WmueTo01S?jG-n2PKGU+qWALGbDE8O{f)gK$Fn7-3>+`0cDzWuee zSRc bI w77;jp)aBR_rFU&Fg;N7#eBsj_*p6bLFXAO4p#KOaTUR1R;|_G- zb&P YZt{KuBU$BzS0C`5X^F$UxJkDWYu#r}Z-`_QhPr7M!LqOAi<>p=G}X&OB7 z55HbfZ~x^Z0Oa0LLTiO6@Z1JMQ&pD4)*HA@n6E;-0$c^$AcQZ363;0W5vGy=lm8h= zmjPeB`|UT342-v*-2SAK-| T*mhvml?qK5+aBWvAhb}aS2osOP3WW zOT<_}V9+7THl|udjKSD8V}G?0XKR(;`iFprcQ(?JDRR|YZ!GRT;e2;->vXcGdFr>< zEt+20-RhaHW^cvf*3!?%U2|Q2+oC6pVZTy(0 KaJTitUZIs&%RjvrcE zLoNS7Yk9Y2nMNf>qVNC=-~j`OJOt)z7_-fGV--V)4)nW#UjuGm;05;~{8=p$@Rxx1 z%>8H0V0Rk$H1IbD@}UaE3a!;3?*KkP qSS!d4L_G-v*p1;C5i_Wbn3UsD4xGyp!1ocCC4lcC404Y6F%F{M z4*UYq1Xn;2$-o994RBE!8=XtWcA)|&->*0#)@SSB`e4LSEK1}q1D z2BaM!AA03oU^O6e9m2+i#~2wI#Ry7qv6A6kz|Ft|j)Z&BRy!ge!0;PH?! tOMkIz{iQC4hJ}m@Ks~@E6apqW#746 zlHmJ{%WlB$3j~8S16zr7YKN!*YaLNY?p94`x#BQh-BzQ*sIh0=#4<3l8u&5bP9j2o zDY!s8(29tK$W=t*f7`qf33$F@cp}EPpKs+~p6KArXj}?qYnBPj@z%wNT8Z5f7?map zLTV@KBJ@%uDZnP+!yq>+rQ$QYM=_2HqpCB-2v-pGDqK=~J`hDD-i)wPi?WT(368pq z?+Y$V0N+DQ6z5dfG-B1oaczZd&0(`%NUZ7;d+rqSp+C+s{9TLoH34;r3cW-1G`#ak zMju?I8dIKQ+s09^EQlrpbbx9k3d~t|{thCB)58fK-qjr5^K^S~b~G0L#2thBb(^NS z?aC=;jD2&i)(YGK@+g=(BI1A91;ZHdLvgbOQN@Z#I%!yb=NYo52OSF2!-}@?7{ghd zm`yxxM^VqUV xrtTM%x;yZR?j7 zQHr@7AOTzhTnkd+6?hYrf T>&*5|)E3+Y+$rb6w`2 zwio4!PUN-~A+4zZTftynacEfa$kC7&`!#FY6pnqF1AISmnE`wc@tvb_LT%`%vpF+d z^r!UV(%LqvTe?e$v|XZiI>~{Nz^|%YrtcAbbt-PPO`jxbTa?x<%8vi}Propd-_||& z^udnl*KZn{tWSB>mio%esQ@!*A_^T|$$9U!T(x*|ZxfI2Y2I_JKlOQI*t@8uS~)!& z|HjT^nf7!d`0kP#lqyOf2M_aSw zRu4#v)-+BJDgT=Ho*Mq-$)2vekG6z+CgOT+(}c2>aB##4clMdm$>FJTemrjujmEIm zWd`v5#AOEXJ%o`sm?{NX0hKRLj8?CId~!fmY#*q;QJGw#r%l pjAA5{FGBQDlg` z7%zSQ1`1_W>>smxC-Zji-Jcj*oS(FQ0px8&c?>RK@ S*Lo9yxR?61zNT@R0lW @g&2zzLRre(KMDGbnY#qVittVaul$ LjDbpQK^QEy2{3``nq4c*8fIY3b=~uCBU%UCydc1%y#S5+O3uHS#iZ zB{DJ!`I4IK9d?c^?ewz^Y5gW` odZ@G4q^@|Js1Ka9eeDuYZhxVRs ze#CWC`}}Ys+p_vsY3#n9zJ32V?>bGtdr$58N28m~SX5Dcf*DNx*?TYb)cK*nWd^Vi zTo-zJXng-)V1UJS&Gb8wrCw%~WC0VH=ywQBx4(( TI^)9-k`4ZcZiwnIoDngt&qD?DVhgJ2DmH zo6mKW_nfNx=E 5Ow!@vKLNlPiNF^2Ai_BRINZpiAMy!9LJ&DZ_vU4wlU zPYx*2*=+}0KJf9q)OTz{Yfa|2?kDC{XF`K8nAyz4*?ZQ4HX5Y_qoL_Pex1q00r=xT zzSOhnRgKGTzy;9w@h{W({=X#9f-Q>v+!U|hx)`mEXt0dIG6qpei`lRoAn`N5&B0F| zqwii}?5hEpq@lUaTkP8Uot82;yn?V?7g*!@)|&3-Vqu~XJ35|? DVEh&p4wOc(9`?sM~|LO z@(R5V^9GPBDl?r|XGW*&lPkOZE~4b3=9f84S&Fr;ZQfa*46k)vi#x9MsBVujc+U`y zU61Wl35nvQYLUViBN&4+U};bx1| maiyOriLtnP-9tw zax6k^c*Eu#9V-huTU33+lg?+074_^y&h}q{=V2aXpFt@^4xU$$G@SNfzA0po=j#i~Vd> ai~_qFJM{`_}1yKfmQ-}5e3ubTkAfU-0P4@7ZI5mROp@E?HpOB7sH1|CA>A3|fE zRw8 m32_*5bmdT+U=*G(phFMD}lO)?g&tWSE+k4`5JP8HnSlkp%Gvui~+ zU*-hHfMaXBA+1+7rv0~qIb%=*ijd;AMI8L()3tgbQ4axa6e1?p)$HGj;aYg*#6J@} zlrJf!^XlZtq%hduV5SA@$SOu;)w C`u$I@GiG_)tSNUvXcFe%+ysY`Xob z!OU1Lc5rk$o(%%ISloUz=7qm*2Hp*Fofw@q2u7lo0M&|LGhYaTwlJ&!-cJ-v^vY2) zIF3zQ!Fbj>(vS(Wj>9@4rg>45=ZuT8Z!BgW-Q75Fs5kMg$)Wi6FFdi1!)MbpCnpJJ zY7o|*tqBA0ecKqF#F+Uil`%;ZhK;6Lb|;SP!<34c^2;*YA9-As02V;;fzJV;vtxAr z)uT**;ZISGt=L`5A`gL5m~sg{Jweca+<2!B;B+h@5QoQq{XuU0*eT*0{)A%1Vfhtj ztHaaDecEvM(}%h{8q(g1t5=P^+$wH|S~hQ9Ho5(Q=NFwGoJ{tw?#Z>LOyDeZToit* z@O(uw7Gj-?8?b>@z J(i}mG$z3~T*_PLL3+;DoVceo8fqXfSA z+uK;2T*SsddzAXdLUfP4hfM0W_Zn5-Y*b?lGm%R=J88m^KI5I-M`hoA_)Bj=V)08o zm0tC@%m5ZZFw_fxE)Ju=_*KG#2Rv!)EJ{I)X-I*xFq7jt>_6fABPRoIc)y7k#wm=P zVaF$%*!|CIuq?xsKYf;L><`HHHcrP^`}aS0r0c3ht%b&prgGDw*1}7M_!=$C8#C2a zOWO+v`$khoixqoqUD9`~^Q4DJ1Q#Z9F1wC3vSDeCMJ;7qSI@ZdT;NS0hcRIvq6TM< zRSJwTNsukT`>2Hwi`2@J6>Oe6kfx{2W9{NHwwh1>Ld1MLU(D#VeY#Lq{WokVw}e_| z5}+1@QjjZI961~J9^IAMKQy7fRvAhjJFR>Q1Mi~mTOTLzA@GI37b^evL4Njc>UeNx zjMC^Ht@o|*Ra1vAJrzvcf=U%L-0ufx50`?8(*Zy*coO9%xr~>_Wffon7&HdWZ+)$R zcX}VTq)$5)>pRxzfiu>w9f7^;d19wd4W|nEZC7>%{SSV^RWJVKwEOJeHrPgMr9&+` z2s!n&9-jO!UuMe 7j`Rm{EU7-(}Wv*y+-h8qSall!wp zH&^x51?qzVEK6ey;lVR?h5MfC3Xb-tqX4CIyR`ss1$l!I+Q>}*KmlYO(dxeju&EXP zoXFXHYkPx!VozN$TePY%X8}KiM5}+kZ299^>p*KmSZ=Nhmm9-MUeeNOINtB_#EYqc z!)M%o861;6E7qT>{NYFY$v^iodfxILbg0qBNEjIF$XVrn{GG-4lmB%hw)=k&bUONQ zays|CbMR1w=eHU5?yt(g_-?6$kD|#pE&mCOHwfmk9pL3~`3Wrm nmyeZE1kNg<80eCT@!7$E*~ww@0y|FyROMznTR`YEPCoz%aSWCTb5e3v{;VB zLM_^|Oz;PP^@#q}AOBnP`0k~{zEPP(ELhgwP;P0duP~b_cp +saRy5RE BYu0K^2OV0=c>{#1FZ7Q(`CUg7U)!>}Qdqsn zyCu|eBNt%+O2Ocm&69gmQ};cSeq?0I{-@G#!%(WBZ2taZr!3DSl|6Q((->KAv}`q6 zULR_Ciw=2vxuV`&HT7@2ZPmzC>)R%qGj=J==7VR775hs@5}!9=^|_|Sw|Uj#2#Ll` zgq0$pH^^mN96vHDz+W@dJ`>($;P0*nqo7(xw2Z1Kl62L#L8l_!aboB(e(ts;{hfQw z{r~C7@n8Mq_4jY;noQRx!%Q-!x45q9QetLu)-^&%RH>&RB4eUBsubH#{OgiuZQC6E z>%afT^fBkZKHS}$U-IbQp2c0wg=ABvdQsz^HuR+9!Ig_!iu;Eq6MakD3+qfh7s$0* z3yD}*e)BaW+y3E!We sv_G~6VL&7!0Ws7Hv2U`KBV(ME{bfm+@? zJ=7E{f2A{>`iDRL(yG(Y6vo>}&Gf+2lyr!zeL`K} C8R79|p&CvTxk)A6s8E9_Y(L>3L zq5wYoGaYtET}$%ytH YWgd1M5e(~h%Z&*8QH>Bnz;LO4pX|`>>;f`wt5>M>y?9G>)Nk33YYoX*IgHxaK z Kj<9a ze$f8bom&epeC`j1*GvyP?= Erif3`omQk*qJW=eon#VrF|8%r#()jb^c}ADQWYQT)i*0Ia-++S5<*N|!Je5?Pr% z!d*uZiA-rBA)#`jkGNzUP4-Q@35q_AOW#kZr8JmL9D4Rt%h_$GoBhdB%};&t%L z8iXyk9!E}H)NKl$+X($Hk`Umo7QsQ>I(Mth;Um=xeDVe#tj+{)>q+nXyn!{w^A zV5c1uRq<(m_sxT0Fw}kD;j`&afBS{@1K)bSO;6_BnPU{t0kWK^>{lC*5&=IDwjHeF z{%uX8&mOG1cVgQ4 |TV|+~LV``mNMF$94lxQgxs)*6Zk9hyG9~lOq6E+fe zN$vBnJPRzl4a-?+U9-B?7^4IM9Z3QzsA3a}D_Vw&F)<%~fgm(Ard3$=%+qJ5QeQea zT>tEIr&>(WvoGd@pT`&^vc_-lwe|6LU4QB)f9}qMllyy{zq8|5+r;2R3QI0J5t|ck zxTP-PjZPQczFgV47_+c|WT9x=|MyS6U7X5051tuG{C{^p+12~Zfu?XG=gznXg_<}G zkr%D%DGv6g`0`_I`JG4WzBWGXe&+9f>-4FcH|C5sQb#Sra4wWUxhjljt?998``F?( zf0YumbfJOG6bjjK*a@CH;6B%o(R;q|hm%)VefbmM4ZOm@qfjdj47IbXuj|yYv6im~ zq4lrRg~XHz4Zqj oD@-amIn~2 )-CG)G-%}AWaoZGIUO)1{>j_Z2gzje*X_9ymt9opC1 zT+LV9ixGBGgsV5Nm^4#)cX%ov%kmO&L cZc-mkLXoDrf3W@aK>k+vZkzs*l#;~; dKq1Upsoi*i9rk zEZekfs^i|F%+zGw9r8m}Z>jlyK8Xl51;*`Y^w_YZz=^@ku WGL%E`MwJphT(-k?4F&0Qdz?qdDYV@MDP$;SF z@RZZ{x~odI>#*7w8qXiUrQpnv#kPa) W33d@fC>qFBi9^AV^?>XC{ z9UI!}OV&;62IY;L&$4#WG?ryro6^-ceDwCCpZv@tYa5y~l|@V2^UZAyW#*UW1E9X8 zzPiq_b>Cz@cDhiu*Vd=}S$d30eT!`jEyhU7xGtajojol2aI+~^)u3a^Cto;H?~YBo zKk?X$O%iuCN;G~TYIw@69P3MLpUm5TT_{_7>g$Yu@(bJW0te78Mp{Lg YLP^+r()GT(Gk#!scks|n8@;z$iglqzMyG5Z-&4P8xFIZ7Q+iQbpx%4qS*vM%nUoV1LK!b4dFt4b>Vbjw?+#99zL?L(cO={bN))d0 zI6eN`-1DZ-^5T@AEe7UHN8Eb1qh!4;++?C04Ts1^5?DgX5=z<_+*$e8U|T}p2O^Kb zqOYF5)YJ9{hSw|uIQzlK7~NI}FOJ5@7|lDE)Zv&A-$=q$(ynA)xaw?dd0>n;Ue(8Q zfjRutnX&26w9*<=k&)1V<2d})g8{jU({EYopLU&XX{%2KZ>viNjjOwIh#1y%PT}d^ zV_s-)fA09=(aAz$ sd*-A?Ml)0D^5Pb7gl+X<%e3-Zznphv`IMd4a`b-lcCW$(fNPW7(L5T6lEN65es$ zNwU55w5^&lwxv(zOZI0EoKC9)y{T)A4lBllp@^CSdDIy5X|2t3jcKV)<_%wes+pZf z>R8fIG3Bb#_36-bH+wAatkBjFkWPjaN{U=jjX1U$sY~f=M5tdVWqI#OhwTU5qess= z-~QTv9nYr|W<8kJvm-7KY^&E_ezY|=noS?62C?1imQ=mBTr+g#EgOb!O2-1%Xv0Jy z#fxV;yeE$?-9MI3{$sWrd!enh7&^8P22eE?zkAI;QVa|`CcSK AfeV{w)ItKnMpun*thbBiV^^664^NYE6*h4Hb8R%%O;N6BTI%eeT(yo* z6r6wF+1r+KZFyTm+IKq|D sJnDu3t4ga%iaK?|2T6zeQyR{qjk4}Rsh|M`Y{8`IT|YZpzgTGf@6m=i_;KefU)23D-<%4N=sq$XZC z+B~u6R72Z=GYuR*n_*x)L9S?5yg-$-L3g*r`CngOP21`mmC_`ZmB2}K?hmTt|I@FI zZ>kpimg>;k=q6gf?IwE;D=U6tviFPCh9&PMlQ8`D-z~+l4M8Y~P_ZptO2tFk8$Gk4 zt0LE|E>f2atND@|U9+g_TZ#?LVW1M(QyH1GcxGQb`{bU)V=KCYhgWn5S1Cnnwy4y$ z1Bu|iXHrK7$JG~$RdfF@-_<|z+wbdri>>s{VPNdggXxmX?%sC3dvMu_!Kw5o^A-1* z=2W%dX+c8Gdz(-3hn+9-%@K!YSJ>QO2g}p;WP__FY{4_;0^_A6aJz`K0RJ*jR`**% zzea*O%i#S8wjq1XGJum0M=hy`%QhKXBYv2)M6R OEL z(r>$Z>Bzv7fBdD-Ex+sTuU3{nG&VGuEFbD?dQW>}*$$Oi^qw0}nfLwrd!ISdSi1L- z-95ippYrM!wG?J`Za-8^7u}RWc=2S@$gbl}r~Oc+%T+ZUgq*@~$YAzh%!>w2_l^04 zfo8n#5p2hyxi!VeiKk;IS<=vuzH{Z$rgzznl^mbQJu^7?+*dGW5L&CH>D}5Zd8C`y zVN4Qjq$Fa#6ohiH;#r#~bMY&VoOM?}x;xeF+Iq6R(I5DupBk?8kJ sl=te8 zt2C%UD|Vgg;JITxCl3y^e$@}<8`+WMwA-D>QHJ4z|DD_3xSHpug|~LN{7%rx|8j D`(bSEZxSvSH1I~=5*nXsqrw+86!HGn*cO-eJ z>Z{KSCS?qJ4dxiej2lB)YoiM}#~ANv0zb=d{OSkzoBwmSJ2K=iw_@(QmM(6)>z11~ zT={|b-V#rz;ynE5i*NhZLpwJdKGJtf)egSmmA$ sh=*WlfU=LcB`d646k2b %r>U4;kEy{Ed>PMyr?SCDA@^Ha*WK9stj{~n4!3wqFP=7N|9$q}UySL-M zV%7Ql^hkW7eNh3&7OH;8nfI^7)SOrz!hg4hR(qPC06tn<;Za2H${FMX!*Dq?XG@{! zD~0Y@RWGZArrj9h+Dd}+7lihu?>J}plv>wjLKHTp*2r >xq6OSjyEVLnK36EML1Fn+wuHuR #vEhBRmF+(aSyNZh6VJNuUW zPD9%7*&LgYOe(NNWP>RA`M%+X@lXBFJD-1IPxF4;HZORATA42=O|IlHvbT%D$>bps zKL5o2uFhh`SzqxK5AEvKNBZmYg|dAx)N;lceNb!tL^N4Vpp;`UK1Tb5{v^gbN!; 4fA_E5PAvAux=iAO*KS#L%{$+^wec-)x`xh)7Va(7Ufip2}ZTnqZsxWBZAS1-eLEuvm<85 zfm5#g@C&K-+pa3wn^sgf)aw)u^}6>S?{lC2AHR3J{M{GgjZJmhv^Q#r+2%+xre84T zv5~1~dfJ0fehPS_5>sCd6$6uL?%%nxyzflweM3{}uQb+qr_=E~p05Z4gDn={9rb37 zlK !OGM7 zv;JO72y3->&I+6w%d|5#GR75udz?^N6rC~+4Rr*5fMvUc8g9Qz4?TZ4@y(;d_M-0| zT>KH&rE|-QF_djm2(K5#>9=j%Kh@RHmFsLO4mq~=PYl-UqXP}*1Gk)@a;7m~OjRFw zYJbO;ZHL<$JzpiJ3(gL0_@==;X0+*@%4JJU_4QF?pMjt{L4N8mCM@FTj)1+`@*S(& za_w8|>yz(Uy|U}(cf9r5raSMr+FG-!8^^JzRs*yNNT(CL>GsWBv3^P7mYX(gyyu(S zSM1q)`c0!_+57ML@~#K9HYcjnCn{cDJ;vC?l1(^n27y4E5KQQ6BhMMk@rvfUWBtxM z2FB}NfA2G?7Ol;WVp;AbFQ?LpkVkjL%(^9kZrJ4M<=w$#CaK4!pY5pw-U-|#QJ69# z(@DO)dr9@h(`}EO8LRtpek{2=;rb{6Wf_v`IHThe{N<5z#Xi=ywaBMWm5v$sCouOL z5Z~b5)a+gr7+!y4i`!EQjOT0qb)u?2{o+7zZ>la97IRf?if^U&r}nb+KP-Y(Q30c_ zci3p7v5i7w5Cb~O-4=r}MV&C1sI*)2+IKT? htMZ4~MLUb}s2ZVM{vzr0FM=qv(ZuW+JB~oEZ1>w1 zpL*d$XL~~`czazkXu4v_Bmx-`-mkHSu3s~B)DNwdQ-!$IJDM5UajY$yj{7vP88zB4 zGMSHkMT9|PC>mqFZ475Cp7G+YMN4BNmGT(n>@iGOCJaM1Z&<>vy;F{rTGb(nHzX6W zcdlC5al;#4x3T@*@3>B_Thl`(9mn%RjvO1|TaO&1RH}0G4J+At^%8ozoB81TZjl?V zTbugMBQM_c?T25y;>EqE-=5ExzZux}w*z0FH048OrPkwDrU1cm)41_^R2cZhVreju zNZcpFGleoY70cFUgE@pT2jVT_pXgWYJnU2}RT*BhIPiK}!_JK>{40V`>IHt*z*40Q zgOdrKJ>2d+{9@0Zk?Ht9OcfJ5+PZT(lhRD*1WQ3FUm<_u|B!2Jnw Hc9#5)rg7Q zjuu3uPSmx ew+G&zB}L_*^G2 zs*NdIDta+~>pGmtX9*L_36o19y^<;}D$H_YyTfoLWZQ)2x5N~ErEukeZ1Bj*Lh$up zS)Dnyzi3R-aZJ*&Owv*&X)Amcqag;9ix-nNkj)n;P3)vJv6D>mb!dd~$t l{~i{WW}P^f}KhDST-4DvCOi#zU HF>@cvic {9Ul}Etv?-1s!Ps^2k+JM5$93M7NymS4-I|`C zeE(fHT>VQw`{ug$z57O4x}*))u^ApM@bF`Y`TI{l%e@cm<@uex96B;cE?=RkDMe#L ziq@7ouH3kkYpz-m@9Az{RQ19eN@edlKhSN)Zt_B7a$%|LFJ0ARCdVfUygWMeNF*~T zB_<5RlEIuXhHXZ3L>o%we4MeI&x;3K5! r2gjl}p@Wj4$ zbI-Gjj~pMY|G(2k_mTQ|Hm_BJFbHuhg;K)M!9NF}r7n(bfo(yPS_F2Ugsn`%u}$2z z%wPY-KXY_sVxl#ZoE$2LnW3^iHBt#5`G*^u&;04Z94Sk16;u~}h-%A5v=Owp7$bzC z!E!9b7_`9^k?TbGT@l$TB4=GoozgYcpd!%Fw3htDkxNY;|4;a#VgTuuwNc_ujrxty zEW*1)_+=4nLC#vX A!s+6XtNN!w?*?kC;FOZ)zu5#TK)Vm3isT5iZ z^(k$p3TmKGO;tl (j;rvbTB+Hsr(?Uv*S%yIkx>1O^vDFxMIWN4}I`` zH*frvpT9HnuD5Sht5 2}y$AX^ba)Vq zp}8qdU0s5X_69axu|#gXZcVJGyJe9vY%P_%n>{aBDUM^Nrt*c*4=X?U 8^xJrvW<%g~#`_@|~US zC$=AM`LZ8aUz{FVI~C7NU{j&1tC8WeK3*BT{4)U5$C980v``N7XbkD3;n?6LPe1d! z{P|bk# DUSc}L=?WN89?XKx07jD zO+4(TX~or%a~W#cdmvFi`8$9+f%PJUT2oOXbt0@6(Q7ebhnUc7PHZgrVHr%wl%HX! zU>FYS8TXQm`)PYBsFOU6zMp8T?tS{dvT9iy4?nbn=MI#Z%Ed^uEN5&?n08tzB|9;d zk=b#Y={>}oug4g{aa;neh`GvSOR)hzbgG4lyP`hjwRSX>l;ddGf2M_RKEERO w5951NlnZAl=X>$W{ZuA)5LV)X>m;Toi%T5Weq$`={9;>M z{jXiWb=BKH{A0JQ{N oHUM)+Pv=WcI 8fXE=qn^CQb%3VMfq8j zH(n>&e-q02BgFbBqV58DFT%TltBB$pd|&{~ZnUY05-dE74jCwQP;ZaXV3!zYBb1I^ zYVvtScvVL}ysP&6zIPa!PW>dA>RA%GC&)M6B|#X9 2uPo&$#lrcUgC z)HlX(^5i4D>x2KBGkp_Os{w)`^g=Q#*Ha!jO?Birl4zuT`MaVrR7OQ&q-!x hBIsLnD-rT#m?AvO`@%HlG(=E@Is`j6htM-nV6I6x|{U!0{Eg*tYif?@BmwEFY zpAbnUW43Lzim*{BxjB=L-?XT^Y2B8qmp8uQb?fb`uUtlFXCpD!#u!7f=yTx62#-8| zoJXHJ>F>s-8zvCg6(Y9; 3~&1e%G-0tXNG^Z3&T_4XG|6po)9IW;|9d?5(+6Iz=WwKfA`p<2Wo(@U SwSlAIpg|-g__T5MvBhrU$<;fs?35Bub-hZBFoOKfQt9{rwLkatpW{)theb&MaS? zS$* *T&=S^&M?>>(;OBZn=KzO6P{Ht7O%Rb~5QWN=4Ouv$+Zf zkBsv0 qrI&j+g2E3s8oFV1}50K`!vsNI~MHOe ``Q0C3$F2dA$sVSsj%~1Q_ro#Q`A{<9HhW?0VLx>K zW^~}HryD!=8^1D!U!6kK{Loybz_AsJd+PY||MzCDxc1{UX>hfuOv-L+j%OBir53GQ zRloV>Yuj#Jxg@jo <_STan`NG k5_yTOB83P^O)hw4B+35p4D#!Y5_Vr zbd_?pAnK kWu>5#^~bP)bK5x{{U3(A^T`{&%qQHxJtfe;?d72n&n^JplND#%R-R zJJugB>TY`9Z~W4m8h-LaHv{N_!Kw10qk|*+5B429cz9sn@l&JwM#pl;3x{=Y`W@ zsH;J-8WJ9i;)l))g!h6y#GI>Gdi5VrDhIY@$x`6mK-L)ZY(6(}yg0B;tEBDNww)3s ztq4n%$a>pSo6_mnhR*he#cNl0G+e!Tsk7y(WwLU4JB XS(PBQCTd5A{jF*?ew{NbqPo1Ie5Il zffHq>vH_N5)7)IoHJg|5hS#m<#_LwFcu^Dan2m@KhMIh#!r8tF_Ut>u&ON=s!NdK9 zvwf3;* 2n0-zpu|UpUD-oIF`lW^faa1(4{7ySA z zhBu&Mzh#{I8;zYw8WoR>eE_gPPrv8GXfXa^@uvQx_|uPJXNuTy!l@U~ zmg~*t%KfE^Kj?WuHVpNY)}{z(A`g &3di3^X*}k)%r=B~*{zD^7 zPL Xc4@#B%PXMs95|Zg z;E6K1g27-@SC?Yt@(ymjX%)BJxRN!i+GuJ>V%yR44?|6<>@hNu<>-lF_8;umhmQ>g zy=TS?qhtB;Lb1|Utp=xpK%dseoHd3~kerAr7-Nc{gIajqjGtH4qOV0nVwNS1j;-qA zajPSfa(Y^t;!C>QlgpPc$t+&8yuNky@=T_yE#@fEs!*uV(&SK=61KlM!5{ta!+Ou5 z+;h3S|3?Uq#hr7eug12O*iynE7{mgu72yv--pmCyGJ}MrP^x2-;!o|Cu>2s}|E|&D ziJ0y9z7A0clYwSxYU)yx&nv>KI}X6h0#VJrv*T0V($-)*V*iQwQ*SYL`VJjyTVtHY z407IWhysZ %Qg%9BpGhTSnN%{CXl+Ty+uQ1$MLkVw$)aZI>1w3Ct&X}( z0@t-sweT~o4aJhj;81~mhsM~pv!56D4bwlErBw0&O(rF*TpVN5Y8%&qQ~ib~cEk9z zBGl)I{T%V1+cpTriemRso09`^RxPe$!}>O^+F0b^u`GvAl^CC_^5VWe4jvulo(B%G zaYGk3T)UJln|oNgxRJU{j7&OCCLL$R@;2^x!v<9>R^9ROLes#|RMXl1$yI0jCSE@@ zk_|@2a+O@JTq&2mV!lwB_WaPp7%f5o_+U^XPA2Wzbs1M>(vI6$A8TlBP9(eA6Upw5 zWUQ+_VYRo!R71uVr8MIcMYiu6;?ZaN2||ybdhb$hxT*;;L9GRvBBF0NSBe=F6+)wM zYzRUc1m1x$8$nx9u#W+8YF;H1VDyXP=RPSx;W2{jKtt;d-dJ%ICx4j2l3!q|=|<{y z{^X^moL7ujH3M)8lK@B+mi27H=*qMzoqERD>D_4WYq)Jci_t%Z& `tcHj|m8nXQp6Vnqon FDh4j3dJh 9P7qB#=9N3m3la7;4$4SH; z5^)DNX5-ivO3AF4YmCA7HTj~?;BbLMM<>|1XNdiW#^@W!kuOxxT4P&=_Ev|r%VMlq z<|1egoTzg2bjZZC5Sm)lM2*nrMo`R()aUTM%|1Q5-w#u)HVDm22ABys65W{v7)b zXBisv7#N&paJaxz&-KySUeCHU?Oc0R51Tf$vt&^{4fQc%u0>-*6ko7%MLWhA34%~O zFL28h->p=tb;V+ZY_@>!`xqSnnuzG4dIhP3MJ8pFhzoHSVy@s=kqTa|`b qiV935vWTjrW8>hP*n#CQln?b#}YSQ2@X&MoXJn8F|gI&Ldn>K5Z)jjpC8 ztWKh qcCYOFo%7eqC*PG&*Cvj4Z5Njem_%$+vUn3W9fx`Hu zCZAV?S2Y9hQc-~!lQQ)6?_+6miZIq h}eVBP$~!H ziyq_SWqSK^962$?k>eAb?44$GtVpTs5r!H|K_>0c(-C9+swC}AifrCv*TEvk&Q!@4 z4Z61C&lUCOGJ^TPneA>q18szSQP_73j-M5lbfsChypg-!X2|Bs96CPDsk23 Sc dLz;!qB=nxK~!~KU1(ViK*jTwh;juhl}yB~WHN?` zP%e99vn7HsWJycFveq)$QkIG?F*%gy;WMLr=h5S&QfXS6>*#2&r@O13&h|RmTT`^R zrpRPm99v;qg6k?QB?O_S>S@AI Wrjve3=S6=8Ywb5R%9w$p;Yz>f)I>G zDM+Ury4sVhT9#&UR~#LBoaoK+!k#=sqg5&%QDXx+kN8C{ApUuOpSL|%MKB1Z3LH5V za ZsVrwVPw3>(GywD^ykSHLI#Hm431RT@!}Y T-)H-8lwX|&&Tt8!Z4sv^cWj2F+5gcWUR=*aFM~`B4ZOJ z@`W-csFIF(G-pE64L0=&mt5XwXxdOJ`4meP!k|hr7SfPWVk=cASeeknQKG7|lT6n( zjR`?|jhIi1(IG)WhxJz)D}O*R{wXnGpRuwx7!^B sNC_}awaPX{;ZTob!6zFbGVpN8FHN)g+f&PIh zw(p7~Du(04h$rH+V!dq(F-M^k_@T!0Lc&0!b+ldeLV_?vYh5c|9}#@q71~?kbhX7< z+?}SaEd@q1IGp9NXZtzRU!YJ7qSbx@qQBVhd1}B*FoJUuLA2oqFgzA8GM;D0zAPQB zij_-~TzhpFw_GnwOqS^zEYd$*WpX;CR0$X!D=|FgvHx%mQBf?vZG-DbtuCR)vB9wo z+JtysP-6fgfgez*`uM(&);^Z_Bpi>1WR LWhxDJrh$dU164(ln@O0qEEh1 zCGac6oPbPHP?k!Hm?VfT!Yl)j(aFd(kiwX(38kwiM0=nbuu8ocyUw7TNy73MMOPjZ z#5PD(@KCdz;(vJYL%{$ho?Zk%Q>q!37kK`gWj^#fqiCZJ0B13J8WT)n*J}yOR9c&& zBJ!vZ< ?YJNSG7%ZjH28vaoT!67$Kq_9KxxP$$ z( ; z*`cxC!L}`O#gM+iX?E}HXLzhcvFO*zS4m_fKacn$<~B#~Ux@f+A%dU#e>le^m{k=p zhA<2$dR0#3E1WzzNX!jsZd5GpinF9U$rURTD9a{afU!x<=%isP2gS0XT+sxfp;*%B zP-D!@CqxLbB*0S9?}Y2o+~|=>RLR7vB-{X_4Y`udcrL}+$ry#IO{gs#3$(GY?TE=# zsv(t1l`yEHh`J?5Hh@SMnya4a*2db4G0@sLd#@T3HA>V~Fac9fO%)n%N*>o(oSihr z9B<&ucL!X1g+*Pun~(nC1l#s` *U8VK7WpCaFBXnzd{8aN=>7 zYu=U}otW@O6S;tDTN{KWjB-#)@Vv;Q)IT)_4|Z{8&Uw=vkqQt5Mnse=O4+XKh;7%5 zL$%V>GYu`m5CW|Lg*J+OMNy~ qZ7j>i*D)%7 z3?nvRp_D~Drf8^Bh>94HF$yn$ToL;E173L1XKd0ZUkvemgPt|$MFbu(tqY0#l@h-! zNc_A6@kdg!F&;)&(P0&%D|pokxom~gr>a;gAem4!Hzw$6Ptn 8#ANVLk=-`vcy#Yyw{o(h%cQut#fKJ*7u zWS{K74=uj%Cs7Hy_B;A7HQD@|@Tz72shWGw7!5|_gf1p|%nrR|YI1_g3->mA_kA}s zzw;LriY1>^!UYkuZ|Hw1Kde}QA=KiCvNB59$+~o0C6g{%8>*g+3HdeP)J8YLddt zDr<~T^%b74n8+)R4=5}Jj-zp%3W=DIj6*!85V335wGd@Ro(QF=dWup-D0_nMgC9oc zjp_lac|=c*=;vAX=dAd05dweZ#6R~K&JjP62TW@Z6IL<0_L XBwNa}fA9EeBgPm6*UFY83AW+UL>VMBfGZ&Y z!{1#*#~b@DHR-%!yeb$#|95(3d(F!n4qeDqXk6ps4*{YGoFHMewK53QYCn{1&8h5Q zJhPPl?@y!I^wyu-`HHS5=fr(m3294N$@==FN+)B4p{7u%P%2e1+MrYvg*GE@3v&oh zYOyM{ZDWK$D?(3E^%eP&%uz4YY$l^%Ky sx|i=v&_mM7!6h5;Q1kivSDI+X3TS$mV$X| z%XuCPE@XNaFtM5I)rxwC+Tc}ve7}lg33VxhV~eXS$pCQ?vae*GoEb08Zs&@vgc_>8 z*m2kNq~dzL5?&mdwoff;_VJB{*5G?^_JKtRkk5>f$+sd1CsJp*?e#xcx_TveRWJZ$ ztB3)JATvvYfrjpSs>8)-ZWsfobs#?xXiJr<_5p0opM2>WUO3v#^&5tmdTNmQ{dpoZ z-8wMu?>P)Wi6SOSIf=MSEM^k~A-Q~+VyTJ}O%&)BO|Y5CI-mIG65@<>FlWVP4)NEv zFPz-xh(KiScQWtTh%wA1{`pL4zU%KIjA3@HGkkU~A#ow`8;vo3MC{=V(VzdB37DCC zjk#l+vw}0 Gh+-Cw2r(0K@j3t22l_Mpv}3Je%=Z;^Y IOl*O;FuRRJRh93AIfk4we;Cp$UtsZBwyJ z$p*=1TA6O>CZB1&@S1a0X2cR??y6iH7GT$GMxhpJCE;d?O6Hwoj)*=h9h}b~ IW{erdPgMOXd>w>h`p%>5fv6Z^gStAALHYysNCn7PD1_xkE0b_ccam@eX> zcxl_kxiK3eBcQ=1W}BKFCm`^>S~Or7?OA)*vuc?r>KDKJ95K}LB5LjerBJpK5nCxr z**um7u47!K=mZ)JTyNmbSk^jiWJdZ-1Dk>CEbZ7}6N<;;To;eO3KIk`IRh|+v+p!o zW!Z?xI}o{%pkP~$gVCx7 ykS`UF}Cv}y^otPeFkfi_liPsfbC z(!!9$;M6|XV&n} 7;S9b&OExA;<%+Xc9!D!|CY?PwIBK`bm4 z#z3wiY8ib9r8@j-Y0! O2h$i=I}jG=lu2~lhI;PC@ZE5R((@l za7%k*&=Pa>XIpPMa%SYai_zM|fL54|0$KuGkKz7!vT&wUNUsEL0vbTp3o=F2x`15r zTotKT3oa=GXqg&ew5bOWFrgsQMpWc;eYA&MW7)AhqBen9QaelmjYRd@T+vk>;A|4) zH$!c8=1TFyU;6TwgEMdZMM5oD>cZOXA~P$!c9mH5uIo7UbqNv)heDyq#6$tl3rHwa zliX`7#@tE1fQ~;`l~`C6n8Oe_|2sMFTnpO=F3J@6_YnVF(Lbz-_;alNv-*DYJMyj1 zJ>P|l>%!|_XyCh0bvXYX7C!IAB!d|*fHqL|LcD5Jp(h=8iMd8umP&`3q?!@7IG1}2 zFf<-9fZ-{dgQw%cO&g1?Ep^_9l&i!1_GMo|^huBy(9SsqkOo$OtS%Q*Ib*n5WVYqp z7BDXw#LMK)Lb?Zdb;Su>QWfB6;%&8QB#4MDuvB1~KtiBLgxicU-5^UrHO%VVC 1>g}4~f|ZB{dabW)i=Ij(@(f?|jktLPB3azh6j)mzVi|A*p}`2n}AE_;v8o zV!!s7sfRyz{1>P;Gm_9n#&%KH-UY $q zl{&|)6-u2`5qBMnv+G!#Q-cmi``oPOo8gK_14jR<*81mT3050p#29R2BF9wi(_{=Q zjbRw>pp7B!M9x1yoUhZ**YW3y_vhIK=DGIH1@*{+L@>wle-XmE@cWk&k7tN~ z26Kss^N2t4_0JReYhwQ_6R6eAf7zUa3%+}4_vA&r9daQPS=a?wbJL2#wIia;m!Md& zP?kj^ZsXbtrBoawHdlL4b1eUl>`ViZ(f6@OTPwG2%1yM^t72nXFR_*R8DoekTOO}g zMA_C%W+?!!F|-@QZ8at!MD56zf;3AQ^lK%r${68G>jn&LAdN@?qTbAHoa-{{0?R|q zZK9=3SxS@`LM==eotWpVch{%A7RL@Ym{6QTC03otCr%ydYZ(3fqbtD}p1u38dCw GVAa2X(70ef z=KVZ3>n{}hb;>lUCT5BKNe`Y zb}Va~=1gF_wwdWC>4qUojFCkcx@r&I2I?`?YY`iRcS&jOBDkasK*Yk59NH*EBn~VB zk~9A|MjA?0b&F-JR5C7>ax@|$F_*eTEWF*dMWHMe29_C~PGtutQ>Pw$zH4&25aZ^J zll;%Gug7)IJ$F-k*~vzm(nJ8@h*AmHvBhzs>^*H}3VcS;Mrz|b-w1dyJHXsk?;?c0 zAo0&<5VFwfxIkY2e8#}M34P&e$+^F4+s4#Z{&233KXUV(`|cvXelF(jn>(iSt^4Xc z;-8}~yv! ;Q7(uz^IXrhmJkTcxrI4bj5OlP=wkMNV+DWq zrOuJMWO(F?W#ublwsCCBv^zGf%?+Wk1Z$?=n;%FrS5%vluIaHYld16+i%5!XCz1v( zGl27Po;%7WvhL6E+ZjiRUg7%&-?5bAM3XudH-cabQ4&qXx5E>Ib!Ym=QYWU4{d9J> z`zh*E0os7?&$*t8UT|r`%!H06l(HI=N!LmxT`Z;WszDS6Jj( IeORNxN~PJ7N+Y`S}cW?NgBcs!axW^@O+i_e6=>|gf8=Q4P2r& z<<>$H=BojhlmQG+$0=28HY}TFcrt-&Yg}6+YNlcz#O% 0} zmiM1-*m?MDUGG=^@5jR*|J65Qt{9H4QEMdyAnKe5><0p 2$xV9!4)1(tV>9|j0 zrb;U25wio5ai98hKq_vqENXK&i6MpO3&o0%EkL0ZWkpu1LN*_gD~6QHA^BoJwW{$0 zQ%ifkn7i*~A_ZB9_*sCNEwFtas-95sZBQ=pxJ^1KIJQa~qcW91NI2j)iFwClx*|2_ z{%s9ZJYn!eQ@*pw+r9r(qPMv&Xv-wDGow8y1z3h45RAccES(TJm+*~&&_LA}sd@_A zGINEqR}C&H1Net;ujQFT?Y#K)FS6~qC1!DJQ7>)JlZb`0J=ra#F+qsdQsd}z^jl?^ z%*WYtqG9M@Z`~75>}?($%f`6zj#C`(OD}N6IZh7)plwkSb6s0pH>$c@u6X40CBW3` z&&g~c(0sA>eCz&v31B`$xG+d(VPF5nEBPo =>eAF!v*ILSkrKLSi5>eC<&2Y)Vy&d=bW` zLIy@E^bHp28_3f?lxJkDKrUCMQVr3y`UNj-@n4wH&7+!&Nd$BDooVA;C_|xaVZ Jg%i#n(vbGC?FEdk zGbf!%_K%2F&aFaGJvrYG5ezXqvH|#EM3^!!p8rBsfCX0c3w{0bBmXWI=wm5GB5u=A z=g`{h(%fLt(rA%RfS{@Rn(?WS$!X2RG)(58Sb;FCF$W{q7WA}wy!qM*u3SDzCSHnM zc{-{jj5weyL}{=LNUbpT>|+r`33k+*8 |?pc#T=aF%rW_j6ge7JjHaj%D~Vh z$4`!O@W=>9j!$r=KhIRw!}m=sWcECUu#mfN0Y)IRKhDjM=#@t5plb`3K&fmflobY- zSj-_2S6G&c8&q7Q6>@Q_e8q!XZk}T0#v2$McczOK_0a0>%GC*1cU-foG)v?nQ1OL) zNtvXpWo{jbP>U&5RB2$`&VKjBl)q(l1=lvb+Hgr3K&fhB_J5GiKDds)u}s;u&Dj;5 zxnd#~5VQ5HC>4aNgs}x>yNI?R60i23uH&hFO^2U9((sL3(Hh!#({Gs@H{`hI>6U2H zo(Gwc0L0V?Q!|qUbiR%z5_O)fgbF{j&Jq4aeEoBSV&)V2eEt3cG5x&nVy;bBN0O^H zG_Yk;J?mE_Xm1u$@sOAkV5=y+RR>k7RgY51V{+Q(^gzhoW3cP6MemSJu4s`f**v q-0bv-ul?C R*`PQnXMlVYM=ObIP_|Tu;L9t?Ue6Y?R&&5xzU6h?n#KL7A4P^pdD~=(K?Krl? zoXCw6hQgi`DIVF?bo`N>jSmcsyH6BP*LlI}Y3_fn8OMgf{eO1B_2yIsBn&ko$`MhH z<5(zbb}5-P02(3*z|1BBEo9(Zs9490dT^nyf1V+5&c}6a7I$a3{g!U-xTT$SE0ffx z3<^KWx7S`20AVD`R<(q (V)!yji*x=em#a-?Ao~XIvf3~Qq2YX`!NBW!zV;%^k z;dQh%guL2tNf|(M%CPN78|A9a$l(=!dGpc3JC9EvuS X` Au0;OtH>BpG)2C%tCzJ|Iu zH(l4w2j9JlYp-k~lQOf``KZ6p%Uh3>Kq3aqyM30l6}fRkj;Hs=`PU~KIeIqE;DpQl z+gccz2>98zcx+mhBN;dRprTWhK+IJv>Ppbv*22wKr#NyV$9JEd;<4uooE-}A{Dld9 zA^-pRUIk+yG!_~)M}4#+H{h%nKq(O{V~l#KC+dxUhq~@NIe0vV)=(@1(_II4AMgK4 zxhnM)Pwslp&Dq4Vjw+6$>`W$RdsQ1KB822i7H3B7sqIJNyG{=~ 2&+boAsdVzo?+m$Wb(KWi{JSNAf5XtC_n?G^I*YAWCRx8iaog4y_dj0X>0MO@ z$ILu; FcpBU A<3xY+lpuO`V?pdkg*Wt(*TB`!F(kD!PpqT))a zL^A2(x)wnYQYcm^7Asg1b&xW10)b=!Uw>1*@Dpz}y!$r8vL3-Gg(#~Qgc9d<*TpDS z9QsEUFCO;T_F{>>M~X~Lhjg?h`NC9(8&0VbYy%qF5GE2}2<(r0YVj zT$LRY+WN$!yVHZCQ}V9C>2T@WUYDe$tqp7X48xN?#|NF>=MKjo8yd6s5 uW z^R1Il9cX%Nd`f*vYk6kv(rV#TcPFtOp*|5}La2{<3?2L*7roZJdeAcwc_Pf1hGwb( z`F=1{N_sZUbY27>QGt+TOt^BD;q}*OmUOBGt_O}18tQBs8se;9-N@T+w>Waj=V-4- zYfFZkxAxH5mco1=mSKZnS%&pXi+uQv6-1}_`r`=-C7Igb)(zpM@KMjP zrnfaI-hQjaif)^)d?( T(ez9`&vq{6;!;Ce92JtEi&;KnRJNb z_%RWa6cKkOitnXRh 17`pyzurpCk4G>(iqm~J zj%Da+o#Nx4eG^wM`#rt=NZa!*b(KdwUtL)!+o_#L()|Zc#lCdpZ0ZZ?SmkhIz1GLh zx|l?OuG+K4ouPw&@zNJRj{(R$T|R=TiQKk|7)GeoY&o!bu05kjCE%*n0UgZ-+lo9B z=VNA~31BIqrP1N0Eg5du68YI}*F9GZ_4@{4-I5A#z20YVw92D9730%BkMDw|or>;u zuxx(tlE9pYWK7ii?~0Z1D<9Cb)EmC_tk64jehkITIOj_Rk)&oJDk=(6tZK?t@Iwcs zTx>f)sZb%tq82XjvZj^ZCopYqBoQdY7Lsm2rDBLDj7}uf$k<@zGkZ_OPjvRAfBJA= z;+ aA`$?A1DJj z{f(uw1sDv1+p`!f@DqkVz5WQl{=lvH#vxyJ$Ge-0XN{paI-QV2EV#Q|<+Gpu^#_j} z9qiz(Th6d?=>(a&GP!J`*8LWmZhh(N&$xf07$8)n28dGXLN_21c>qEa`IqNL0-Bos zo=F;(cWaXIe;egQE=B>ha1zq@8peQa8Ln7X;q5ng96TB4Y$f1mui=G*!VQ~*C0*Zd zCiKe2X<5+SYWV4Q_|&IE?s?qh=vimZQ(8DyK-YQ$AP$Zdc?JwtE!H7c)BY?XtLmJX zf|tSRyARj4G>&7DPK1n1+Uz@(;8*{4S>@!xhaOwf^XnBqwA+#`t6q0ww;J7YBLkoK z&$s! t2eXEBhAzyk( zac0<=WxVr=f95b%^8#2k<1Nv9t0e=8gflT8wRE6YcCTSL6FZ_Xo?*Od6L&S&t|_V$ zUpdUK!Y9Lf9z50yW|u*>I<}HTLg7^{RDQp;sNGIN+A$a(sN~~GKV2yy0+w~@GlYMj z48RdXC^M_Dpv1HrBkuy<1lS1sPwz2b%`~V QN|G@VsEw0X2WMi5P*= zf@2Gf8K_TbEKAK+k$$zpL>VcxG-z(v=<&j#7!z4xWKuYKMtI#8u$@=WJs1ORjUjK^ z>f?Eu&wQ(%$($2)NSY1Ef^+Yuwmst!Fj0+3O_UKBi-*{D*-|1gV qH zf=8iH#`gmfwwWK7Kc{53K@oEetqq#Gw5fRuc-0Wk#b6A?UBl`{nzklG?=WNw!r76i z3ve>=>beDOpu08T_ALc^hb -6(7W6 Ui)Rq@?JH?BJMP;aU0xML- L!5F|l7o|$d+4ky{o^(R }ygM zcmCRXKKhFXcx+!g@F#rwk?rOUSB|i SO5CsdDiQd0%E7gjC1E^fEZb6Dh|{Pf zvdHJkHhWGqaG `FZL9I8P%s7~9OeB*G>1qjxIngSjO|7?|2aXG_`|2VlIG3mrcMZw7!M34TQRGTc zC<(fzCcK)snbtzw)vRAq=9W!a#-<(4jMylP`EkcY(Uuw;*NLobrE*BAVh|N0k%)|V zO2kEoMfQM~*TMhur@H_MG<;`A9iRB (5BIm;$q8`t3o2ER{eOf zti-iK$Eq!{gA+DK`W$oL_LTYV^C@oFT*k2sefLkyUTe`iazF6r`+a8sQme9}3n6#^ z<~C&cue0@vLGFC(`}z8Fi~EPC6GK-no7P*`Oscx1kF9hpm9jfUEXQ?lIvWdJrHb9) zg|1~;!erj%nFFofvj {mX5G9~`y(QZ0!AGlx~*-DP4gmdnT zS}xEWd2${s6~&ipb6!q<&DY#iXIRn^U|CTgf#dzc(|aur_bQh57~XuNVZ{=N#a>nP zH22NSsx^A16V|Lx{nZ5lQi+gTH%)WkbdsUTIH6Ya)c~X>u{p$|QZWR9!4D%tpi*Hi zA0S%t=h+cf{u-S4KNnng>e(e+_lpURe(flAZ`eR-xU>4DM=Rs2x)USsydm4Qeo4hn z#x#B?F~<$M8 07#NE!EIX_YT{e?tQLD4^7n}N||iYDfbSi_U20VL!(pi(-qI+yZip08*cv< zwmtYIxJV>m%yO8~`v8o=77@o%N^DEjTr=m&ft?F3nJM}ag%TU1h`G?(7}C`opp;^| zpm^XJhktp*VQgB+q%@u%@`1M)RxXKFk5?0-O13j8!?g~^F6UI4SDENyOqBk;va7_E z%kv!TOL2BINmR_IR_2c=V$;_Swk1)nz9 SFTf$KKhc!p#9 zx4@bK@)MirT;3NP>yI5A7 ahtz1=4i1k<6gPaEPH>ZsFJBdRfV~RvAk`* z`lxHhb1In3TltBc^+?~ieNW*3|LnbYm|WRe=l?n9hRW4BsDolFhmj`d96in^7#j=* z2Ur#`EWs?lh23RY*g(d>;(&7=dyMVLd88SQa?agSw>qb)u6)xuzdvqul3Js&L8I}Q z_j&5+>Polj-t)fajo+`x!sqDzY%}??yzI<8mp%ybs_vN!NJ&KMWcN@_>&b5{p6I&f zY*t+Vv2Qh{odelobfXZuAr=YlTiV9;?XBgyf}2p^d8H}y^uESt`o_|uwuRK1VXei} zH3{cn;ro9POpd1GBhR##zx|)Tqeot9uO9S#4 j3R3dS`jl0k+5w;CgLVi3S8I6 zalIK@@VSF1b3r(gaYbvrPeV @2yFl3|e5 z;9czZUrKr1vJi%x8OLn`?gyq$?dp8u=wE+(c Ce2!!ld6g1`8s7t~MPd~)?bfBo_xkQ3kE*|z;x-gbfm-E}N$ zDKh#@$IPN=zBA-%7e>e$Guy4F *~j25rr B=BdJS6Qys)2 zZ%oLl`9A=bwH8^~UgVWy^^_g+yd>b -)Zb{P~alUCVdA@Qudr8g)Lwq#up1N^P+$>krG0 zy7}~oRoQ sD(0QX2qYyaZ2&>Y3ItIpW!$zU ziMWX&1;tW@LZO1z3d=BN2Z4}P&oQh5G}rlbG (&RXTj5c33=#>GbV^{^ z;UW~5+s~W67C@;YIM`z`mNoGMNmH$2Wv3z*mDA @ZP4QZF9EyZy3d&H_%3Z{SH z+{PfNI6nEJj}{j3c$9d|!nBN-=lkinZAc)nZ9&X27c>BW^qIDq#;s@erPZf@`}C%^ zM)#ea&F+Rz{KnAdKL5KtXTSSOgMQn8xWoP0Kjrpcxz5-gkEnGG_4cW?%Z%rL=7wCS zWpcIF^a!ZK_uI7)?*rZn^zsHsw_JJ;V2**V+5jcO<8DOoQ4p?e1>gVr?>t{o(RTi8 zYuD7h*Hs3kWL#^*T-2y@W!DRqH;)ptwC(xECJ?^|+^4j7Za5R4c 3vDZ(L| z=@! t1EHfbTMcf)HW(NroPxq^qrBo@;|qXwp-qe`ok5D29d-4h;-v4x>}cAtzBsL*>I zJb6o{==A0TB^GJTulh<@lcm__H!iE3Vt9=DwCzPqKNqtptzV|cJL4tGFX*?TMVp4Q z)?BN#SO jBBWlQyM_q^(J_VR^uc_5gAD2SYC^(^!y=X@|wlMP51H zi04lyXu~p~7nqoaL`s3 =%y)UrqR1N!1r`6KtvbV0YprS^A z5Zs9tCPF$BJ-eRixaM76Fg0RUzneBCI@WlDDjokH>k#I9fp-AOK+Cd5Eb3~@f57#O z8xEhXb$1+Z+VzM3=Pl~Wn-3GUrrUzUVGb1(F@%W<0< J|sc8YPH7=8(eCW0#)^7-spJ% z4W!~8i|WfnEQKE!RqYRxfL>q`GmNl|8z_9w53N3amGq>9@}1DDli<1_%!PmS>0z5= z`xdcw^AH?QF)(JA5)n1kQYVBEx)t~UP%4Za`BZbqB2Vie5C}ZCv|0uJ(yH>K6?IBe zD?n<6&X=TjcFgks` zMeFa=(LDdeDkn#&;9^GOXdzL)Z)s(jLOV13a8;V88JR_|o$UpvP5RU(!v>%?V#a)~ zOs8EO51!p^@b#w+4)=s}zbiX^?z+0d6 DX z08Tk{aX$UT5-OhLcz?2zjH%JZO_fT-QW&A~#ewTV{6 B>+qG}*_|zw<%>$gD{{qb zO~Px9*uJa|TqFpGf{I=xAGH%r7AUFQ$##Tz3m6;E{cIsLUSN=`L^9c8^zeznx?Ccr zIPh!lU@9{|v7=Qv%s^_0M1?4qy_nP@7PSK+wt?1~V#%RYs(@e?4^YfbpGhf5#sZ=d zb?NkFE)L*y>fyE0N{iXIxt^wXQ1QJNG!H)~>Fy5+GZ!@|-f?q*x7}EzqlxMa{iR+7 z|CXmmV4I3`!Xp{;kTPWRJs(Uo%=H98fYt$q2(U~aLpYZ5i!mv*8R&>Bw2KZFuEeEH z&5_ FZKJL8}p44k}Hu?8s(!_h(ECXiPlbp8C58WLG}%J!y8(V<)^+P&ksO%=;LfN3bw z^ X`9osB;cjJE|0wEvhzqlz7+nBuJ(Yp-CX8< zcjswq@DSphGTM)d2#plF$^vvQL|FADLg2YR#bO!Xb1@A~ETS r@}Ax*61 z!q}j>YLnMk*2MJ$lX;`8l*nj}gT|f>8AU6K`vR{#Dg<#I_^2SHNt;d*3jwYt7|R-^ z?jh^g?o*M8Kly4sfBSo<__cqmy= AAa%S!afgw~-F(7J~hQc(%7U6Q)p;B=|17Ju3->8lYOnU;F zh^4X2i;t21AR>jJQ1aP*V3N;# u(D4iujAhJ{=QCb*L^)!SlybWENJ68p47^HN2vO@f4zA A=^m_ERheTyyg_{^q+~oEeGd%Z~Z{n$E&qiD=Na zx;;N I$PIeSlN&fQf*mo1zIlvT(s<<0g1Oz$#t*~R`%M1-lT6Ws;A`MtAj-!lNIKvus= zsqE3y>#=R8M}0b=y+zR0Bv{lasISpPZJ)q*$xc-mo2W1}T47+sVQ|c6DzEVTuq0;N zg7zlCeb)!P 1?M!$i&6MtZ-Rw_)Xu}w9{3kc6+pbexnFr=j7`4kEjJkKQ& zH;BayY)e`|9D%8PA*zevg7V0YFo~@cJo0Rvx4N@Zh(}d96;oOYEvhcQA)p5BrvuLs zp5x-X!7PWM2>BuU$IZe^N22?BM~q`yKU)&fn@Q9tir&;^JDsna0jNtEoEb@wFPl{Q zw|J-Jo_)_9Y~EHA_m?!J-L{65Gt