From 8dbd1370dbb83042b475889ce7209e927c32616b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=AB=8B=E5=B8=AE?= <3294713004@qq.com> Date: Thu, 18 Sep 2025 16:30:56 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(board):=20python=5Fpyodide=E4=B8=8B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20`Teachable=20Machine`=20(=E5=BE=85?= =?UTF-8?q?=E5=AE=8C=E5=96=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default_src/python_pyodide/language/en.js | 1 + .../python_pyodide/language/zh-hans.js | 1 + .../python_pyodide/language/zh-hant.js | 1 + .../python_pyodide/others/python-shell.js | 2 + .../python_pyodide/others/statusbar-tool.js | 51 +++++++++++++++++++ .../templates/html/statusbar-tool.html | 27 ++++++++++ 6 files changed, 83 insertions(+) create mode 100644 boards/default_src/python_pyodide/others/statusbar-tool.js create mode 100644 boards/default_src/python_pyodide/templates/html/statusbar-tool.html diff --git a/boards/default_src/python_pyodide/language/en.js b/boards/default_src/python_pyodide/language/en.js index c2be410d..b54514c5 100644 --- a/boards/default_src/python_pyodide/language/en.js +++ b/boards/default_src/python_pyodide/language/en.js @@ -1,5 +1,6 @@ export const EnMsg = { 'PYTHON_PYODIDE_IMAGE': 'Image', + 'PYTHON_PYODIDE_TOOL': 'Teachable Machine', 'PYTHON_PYODIDE_LOADING': 'Python3 kernel loading...', 'PYTHON_PYODIDE_FILE_SYSTEM': 'Local File System', 'PYTHON_PYODIDE_LOAD_FILE_SYSTEM': 'Load Local Folder' diff --git a/boards/default_src/python_pyodide/language/zh-hans.js b/boards/default_src/python_pyodide/language/zh-hans.js index 7d2417e1..60f813b7 100644 --- a/boards/default_src/python_pyodide/language/zh-hans.js +++ b/boards/default_src/python_pyodide/language/zh-hans.js @@ -1,5 +1,6 @@ export const ZhHansMsg = { 'PYTHON_PYODIDE_IMAGE': '图像', + 'PYTHON_PYODIDE_TOOL': 'Teachable Machine', 'PYTHON_PYODIDE_LOADING': 'Python3内核载入中...', 'PYTHON_PYODIDE_FILE_SYSTEM': '本地文件系统', 'PYTHON_PYODIDE_LOAD_FILE_SYSTEM': '载入本地文件夹' diff --git a/boards/default_src/python_pyodide/language/zh-hant.js b/boards/default_src/python_pyodide/language/zh-hant.js index cb13c2e5..918fb4ef 100644 --- a/boards/default_src/python_pyodide/language/zh-hant.js +++ b/boards/default_src/python_pyodide/language/zh-hant.js @@ -1,5 +1,6 @@ export const ZhHantMsg = { 'PYTHON_PYODIDE_IMAGE': '影像', + 'PYTHON_PYODIDE_TOOL': 'Teachable Machine', 'PYTHON_PYODIDE_LOADING': 'Python3核心載入...', 'PYTHON_PYODIDE_FILE_SYSTEM': '本機檔案系統', 'PYTHON_PYODIDE_LOAD_FILE_SYSTEM': '載入本機資料夾' diff --git a/boards/default_src/python_pyodide/others/python-shell.js b/boards/default_src/python_pyodide/others/python-shell.js index 809cd266..9dddb17a 100644 --- a/boards/default_src/python_pyodide/others/python-shell.js +++ b/boards/default_src/python_pyodide/others/python-shell.js @@ -13,6 +13,7 @@ import { import { KernelLoader } from '@basthon/kernel-loader'; import StatusBarImage from './statusbar-image'; import StatusBarFileSystem from './statusbar-filesystem'; +import StatusBarTool from './statusbar-tool'; import LOADER_TEMPLATE from '../templates/html/loader.html'; @@ -55,6 +56,7 @@ export default class PythonShell { this.kernel = kernel; this.statusBarImage = StatusBarImage.init(); this.statusBarFileSystem = StatusBarFileSystem.init(); + this.statusBarTool = StatusBarTool.init(); this.pythonShell = new PythonShell(); this.pyodide = window.pyodide; this.interruptBuffer = new Uint8Array(new ArrayBuffer(1)); diff --git a/boards/default_src/python_pyodide/others/statusbar-tool.js b/boards/default_src/python_pyodide/others/statusbar-tool.js new file mode 100644 index 00000000..cfde24a2 --- /dev/null +++ b/boards/default_src/python_pyodide/others/statusbar-tool.js @@ -0,0 +1,51 @@ +import $ from 'jquery'; +import { Msg } from 'blockly/core'; +import { + PageBase, + HTMLTemplate, + StatusBarsManager, + Workspace +} from 'mixly'; +import '../language/loader'; +import STATUS_BAR_TOOL_TEMPLATE from '../templates/html/statusbar-tool.html'; + + +export default class StatusBarTool extends PageBase { + static { + HTMLTemplate.add( + 'html/statusbar/statusbar-tool.html', + new HTMLTemplate(STATUS_BAR_TOOL_TEMPLATE) + ); + + this.init = function () { + StatusBarsManager.typesRegistry.register(['tool'], StatusBarTool); + const mainWorkspace = Workspace.getMain(); + const statusBarsManager = mainWorkspace.getStatusBarsManager(); + statusBarsManager.add({ + type: 'tool', + id: 'tool', + name: Msg.PYTHON_PYODIDE_TOOL, + title: Msg.PYTHON_PYODIDE_TOOL + }); + statusBarsManager.changeTo('output'); + return statusBarsManager.get('tool'); + } + } + + constructor() { + super(); + const $content = $(HTMLTemplate.get('html/statusbar/statusbar-tool.html').render()); + this.setContent($content); + } + + init() { + super.init(); + this.hideCloseBtn(); + } + + onMounted() { } + + onUnmounted() { } + + resize() { } +} \ No newline at end of file diff --git a/boards/default_src/python_pyodide/templates/html/statusbar-tool.html b/boards/default_src/python_pyodide/templates/html/statusbar-tool.html new file mode 100644 index 00000000..4edf6951 --- /dev/null +++ b/boards/default_src/python_pyodide/templates/html/statusbar-tool.html @@ -0,0 +1,27 @@ + +
O&5Bc-L`mue~QQy8H-l+OQKmw-vw@(_z@VahUFVQCHy8 zSVbuJnjepd|?O@x0kYRPc*~J z{@HBZz8J=`r&&1TWFg+YQIa0IZ9 ^34FB%R3Ya0|(sU@TcdvN%#k~f}>3>T-E{#Z|hL^ z-z)ONtCr?< X4>| zhUa (+Nk6}UNf-}%KbBx8^Ch@-jK*t@{pBg|o&%=lu1qo2Mm$X`;twwz zp!>buq)V_5f0uAJ?a#C+Oy1Lo>3SV{!Db1%bIVdL)aWAB+&t+W+_ea{9AWBv$1;Vy zgBc2DlCW-eKCKZv#j^V7iCad(u-zds&4qu%VBM%6ylYxT#!$`R>Eku{wy*;|_}rR0 zwxSpu7x f{c)0QLcxQhDbQ&h8>?Hguz;BYH*5I= zICatst4>(sxZByx!MEDX4~x|qTO%#O<2Y3;?3T>(S(T4k>RELEW{TOQDu&66HDHrr zKRns>6dOcbM8IS _$8h49MFaAun=mGiN$oiVFD03CXmBzr+QYbJUS zXYDk{uvbcRn^`ihnH|IdTi4MK17}cxg#sSFR|yh#3Q*f`N^$m^ =FkJ6m z3FMCEk|QDnNA=h_@}s?YVTAo#oZNGUP|lyFi(w}Bch_GsXI~1vJth;B%&?hX;|dt> z99}X?>y^pV^2wx#{Wwd*BY^&M?=Ft$vtqhmbcXCd)v!hW70vRKq`Crw@fK@S$aH5@ z{Wd!}q4!<#U%eNG{aBn%SCYab9St!1lOw6K3<1WIR<6~Rn{Y*@+~&MpFoGux7j ?IIq?IqB={jg{yc(OhlHrDA7%JfYt}Grl4!J`GZJT3 zd?iZeI-$*?<>bNcc^vT|p~BV5w-FLZqGmtOp=gbl`3jD)r2db`ICh&XR`m&Dx|iu_ z=Iq?Z$T^-xc$K80{2QaJq@gTwa`kR_X0J9k_mn&gebxpHI;6;%TQ$HaqKsO$@&@{H z*OaPq@#FX3GiKbK$>1IF^CYqrgLu~xX2J6YL--=>8w@@7n%h*h5BzS7C;l#q#jL!! z{OD&Fp=m)Sx~TgMn7lZ}Oj-MtnV37OvGKGBxZx}T?5>5evSlmb+~Gc)5%7r-nX(>6 zNxvYxg=4@TbQyB>nyEdOC#Xk;`IOS-bb9Rz0dA?+Ymhrq3HSHx1*_MZV=Z$r{PoB< zdGytIL7=_`Z>R5Z%o$_g<3{JyXOHctRo-{Eh~nSSe!(T?o@YwT>lZsUek@H!=}JlX z(ZNcV&VVM?XYK}Qzocf t*DeDbR%bUU1hRmx+~q)IqFeL%Xf`)M3{ F9Q_j3&cU 0vN#MrxUfN@wa z7(uhGfL`Z- FmSJnZK OsxvvO6Di-XMX*9 z7H|8Y1DX#P@;203qwiC$WUQwS`FaDtz?k I5){9n&N$r&=reX2=tZ?C zwAmiUloy|5x{S*(3_4|z$9qjYc=;X6{`7qEPn`?;j|sT$2FhrDr5IivDvA{(q)Fy^ z)0XfUBlJpO1!W_)8lEj%s-As47yPhSpv}C)iI2V+D81$~-qLLh^Y0pQ)f3c!=GQpt ziSa9 Y4blXHRbeb%5(ffb@;vCE@46WHF)~ZHG0Sa zaQ^FG%}KB|CSFGAbN*{O&%b%Hls c8OIrh^#>8S7MUB=N2P-JE zM2=nTy&PRoe+9#I{97xcm$e>=(?)0hh{LGief*oQO+5VCTugSrdz?)$(0P#7k-v!Lw&zfrjyceo#}Jg⪻S(o^A8H zC-Cd4O<-^|3b$ 2H Z8$kEk^K7K^VXWb5jG9KVsZKBb~4ecm2N#8Pu4Q3$z9%?ZLCJj2*RL~ zo-R-)ce<{I&*Zq&VvQ-_yP*tt_0-~*Cy$f-Ll%5TmpU9a& z+goU$+leA>T> iT?$R$j{Z1( zrV$e&zVd+VI*w&K&y)ABUII0SL$K@W97@}GiBP(yMD9JN*|yh$A~#LEM(v8Z_}f`0 zzOGp|cr!|)#H@!%{bem&cs9D#`#RSqQbi6Grgc;K?zQ}s5Jhw R0QmD zU)(nFBmg-t@CEZ0KgTB==GzR2H=>P)O34*F|MB{*b#T>^jjfCJc-qtm#^chIPRjIo zDIcu-!oK);KKVC8tJUw99df94Crt#0;j=#y(DleDslJ8@*Y}>o1v(C}=t>FR8}N)e za##^h-?@q0I5lWv#tjf)-iA_j7q=aV>7sq&DhchnCfsDi;54_ngLmn6c;h^KB6Xew zk=E7Rx?g_{f9EARYJZRtQQC$14o`nkDjqX*-@fA3#Nk{-Rb3*O+%#z1`x{*7Qy~Jb z{Gjr8Nn*jSegevG1TP;u(qYe*kT%)M@Nje!`L*LX=bMBXh7Z*6)zP&ag=!m4wx=NJ zwkrtRZw=(U+G$3*R?5NmDlJ(4)GPc z?| dyF9O`EH==%*^Rs6CJdrX$cHHq)aNHW_qE`3H+_>1y4uq zIXwIHIc6(Q(*NDKL^I8H&G@Q2(5x&6Z=31 z+JD%Jdb|57)*dM)YNg`An^PaqykaN*qxvks>!?E-vrc$ZM PraQe{dmXoe31T *s7KkL#l~w$GH3`I9!vz~`x0Pb>rT9Lz93%v z=`~mf3-ZohNzX4m6PqtjOEcf;*)u{Xvow4z-pLE{V&&ghTCcwJV--Uq^@D~Y!<1ni zu95rxifw+#>7=~kEN6`lwN^S{Duw-WaTtB{S_GKSe}gD5VX{3&k`q$6lr{>Mrf)|G z(7T#cA#~Y>7j|DFU5clW+Jq@yx!f3=eK#Rj`fi7A$B)qQA3u_o3pm*1*9%h8P7uc& zw1iD}%fW_<%ly(U9F9xW8ED&mjf_0|#&L$$Jfh(7M=&Xt3?1mDK8>#}7fQt}8^o zfSt&3XDv+nAw`B8hk$6)6c}}HKUp6Y0tc%gxwQ8z?!2A~-p;aXIj(1|_{Y|F3{wUJV(Mzu@&C;}SWV7g^Vm zmp!^Y@5S2TeEG?dyrl`}bC$j8(bze5LF2(bLx!hKzDCV5Glu-HCXFM(LX4j$82Q)( z=bi5C%&R1F8B}>t?# tS z=!|;{`Oe!8dN6aywvRhW^G_w@vN%hQ?oLQnnD(O`Kc?sdH7n??C8x<_CH*% 5>R(s9vTS=(X}ieyzQPNXmFjubIa`@{KbN^e}<6V6bA-Q zZGb(?yvPF0&5(OqhxAiUfKvN;^!&>n%n>{7f-gbCT=zp?n0=og<{Qa0Glwtgb7e#& z3vON2W!jG&W?pYpV7@-Rj`^Ce&E>87%+&m+L&v|fW_G=Lh^qVY@dg-4RGhpC=2y cp<4vu@r( zuT?dP9NsbL#XJQq*C*pwNeO)QfkckiIv+APcn!Ir_5@tgSOXv9eq?oTHTlTK4Ay?x z!(r8W!U5hS{+gZ&O}8$C5@oM}X0kP>?Ak^wv2+yJ9#F*0pg?+3?+yCVJfB`KCyJvq zZqj!OvQdqGD-xa2r1Ndp;$KcHfV}qsyeg3aC&i-SA(dfp#asxdSwz6ts!cFt@DN>5 z^$w))gz@2^V{ll}g?xDkA=Q(wv54J%w9YXazqpePGB*g4zX~#8+t42}QvV}4IoL-O zT@XZ>E{pgJGm3D^kvHgw_-nW|RG7bMwv1Y3zLebIZb-gw8iHGA&Jc+e68z4~>*+y( zQ()9N89u43!|S@$$ugN?oZf29K`Hy`eswXvN1`Yl)fLk$BJIvQ@NrK|+(T1#NN|qz zc;@$J!)Y&8ds5BKY{Qb~7lVJB_I*EQ**xIJ`m{c~#dETuW&O0Ub>(Yp9a@t?7N*Uk z&jnlXC8WpcsfcP66mgIq(vGBe8GWPt4%Q*09z-Wd81X|xQ&F;YFX^WHfNph*B`r#K zv!1QHlgAL($O{y0$s6v7&trbMob%K@Ps1qlXr6>vyN2T{gZy{zZZV|poyxx-Fs<=8 zOpZ}W2{Q^3gz~#CEnrwzSHX?!Gh`ZLjNY}P7|$@-KubiApJqCb+@^Vow3>N_ou@rX zO9LL6dF(2dvh9Sz0j`|QL#gD$MQWr}{&G_Jun6BME)q9qEeA47Ug7E1g~*ci&j)H> z3)k7#;0di<@=gv#&b`b8*I2=1^W+>Tjx&YX8b&~QRSj&dXY-5DC8)L8hHR}C#wO{m zoX7JQ(2V;#=xz&R@_cYP6dx7<0d@;XmTV$v@M#%el4nVW+|Qvuet1WZo3G=9ZjZ7l zapc>W7Wmkd{@%tB@Jph?7k=b;yZf~6b34rW_S}qrH!jO2>R?vu+1=)?AG>~XK9pJV zxgW}jbu~9Zh#()?r(8fCOGeSo_2#?>k}8DvOkT@Pi|gz%!v*k>o&b^OmPHjT5G9nq zma$GMA7VvYv=A4;6fY@Y9mP0!jD5~jn|}O;jdIHhSRogWL)Z5CRPD(kUV>%~dxvQ^ zZ$H$a(1P#O#VQ9@(>F6pB;^-xx~>?vO)G(yJ`#l26sLJZVjvpKvE~&V!eGmDY5Id~ z0P(KRp6FY+h-D5S;&$s2+sqf^fe#MEz1P}Uf8HhHX~Q;RWKIzMcgg^LE-0cBCI{Hc z86x0*)o9CD{7=>*m1HV<-*X;UG==z9kwp3Zu*aj~sXQm?X|~8}cj|^i9Jo+*jTm-p zC3})H0 |3zfNRdm*@6_|dB;RXKwN{KwlpenOlDN?SVYQ62sw!a!fRK4U- z>Q92%Ph74M)l0^RT%klT_=~2FzBM3x3@!1ddk1jRrF0PW 2K$O?h*-hpyoqDHc|vVsC-O`9nVKo zvpK}R<<8(^q6tcpUISv}@{#NAP^+QzT*5PQH%Q)K2_0{9L5^G%Qu>}pDcM0V`Yesg zocauA+{93w(+)~WU6jmu A>b3}EzkI}W$SJ6(hTAuy2 z$Eb2$AMxbdGeW_8Gx0(+1W74G1KETLbmC_>@zCH5Pwv81-a3_wNHPaeR%d2;S*KWF zZJj(g>|en9eKnJ^H)%qm!70E*S|3?7Oo2-!=CCZi3CI+tqIysS3)h?nt7v6v@8oWx zM De@Dy>SN7cXk~}Jz`9D=vT8xww3V`4LjK~&o<%@j!y|4opi8be+=mR7zs*h3(< +#EpROKEw^!(lcPxnhCuh{!4 zTgPQPF||C4m |&2Tq$p-bZDyPX zN^6D4>k69m$WSFUnYn^Jo)ilVWB@TxD~Q5|5nA#_1{ q~&;m2X70_ey2=ORZnurkp%DPaP3gzFnv+cZ>084?}VCz5cWZ+>U z)a`C0UP#-Z)Ky#@bXymn5g%hu@Roo8nI^pINEkZkD?kY@xQL|v9Z~1}b%bZ2E*8*= z;3dlhqfJLMcz34XqYlp#@I0*zzDB-7FB%x20X7n8GW&qnuN)v)T+5DDGh$UMB@(?= zv8>KLtwh=L2xQ?l&Q45|0w)gaU>{ SAYJ zJp?QkoJQ(nIn={|^&qwQCPfe4ph`-=vF|Sx0OMN6D1XfgFx&GIFZ7F|YRrs5(z!^= z#3Y=jm-MEkd>aWxX4%ATK^{-T|2Orc!W b0~=jxh&)M`e^@O8wR^bW62EkyzVaDL|CvjPv~meSQ(>abZj5M&isJprAERD~ z-yz~z&j_K#lF0UV9kKmT8_^%X6S-K4q0b6;k+?`Qdt1FKG5h3Q%PaJ`WwY9A;-SPP zO5$8NSRu6l#A}7~t|&^QjahOy;b{f$@DxQrxlkCn_!T&`Sr91-_<_e>@zBWsERg;( zkC-{$!5d6-0w8ZOFWdeYklj8E)b$n+Kl(e_ljp^0y{-cw?Q1l3bxsy|{PsiZZtth& z+2+ERS$s&`>Vr>k2GU+H!M0D20>ArWDNl7(Xe=L#Mu|qyXlI7Hej*;T#F-kk*9L8R zi@^1fM?~wDOTg!f81= dES1`N^ur<)eJji3 zogI4xqQX_sl$;G@pJkz>@iEo{qu hnahpEKRd^V}uLr7UjfnxV80>24CZ#r9`SyL*QYu=6= ^F8DZQJk z;r Y?>Hytwc_4Em z3^cETl(U5hA+XpGh)zGC4&FB=1{N_X&)w~)HPnxIwyY8p`_sYx)z-+WZ52pYC_^3{ zKd5n$ ?UZa$kX^?+51{oxCh*e81(eFpgP@_aPWh^}pCGSxo z+}2IPtv5soD<1*8a#k7q5)p$wSs|1M%Lq{wYbfL8`dE8yHes*4kk_^CE6+1I7Y+JO zQ2FK(Xr=p6N_d|rxN&v^x}QCd`mJKi4l?g;DK}n&hkwNJ^n91_5(~D|;VUj7`7_br zhN%f^y}t`cO!)IS%Pgt6ydV;)mIF=Y3Tl4*6LiMTn3!~l;#mYKLa$pRaLN5`=$MBi ze5_c6B)24iORIChKt&AbzgFL}`mqr~xa~vv#@mSUi?h&g{0fTUmb1N{zhs|Z*AHyu zOF-1M0OGg7MPhJ=4{`LL9^*SNlXB(@pl4Mn)X$G`Fy1c{YU?p5xzl4Uf!Q*U6Lo`q zz9SheOjt Bd(l9K`94W^%6Z^$4@Q!$ivcm6e zr7Qk)A;oppD9P*qdAa*0c$nu&9F`x()3_9`w;scnzUYE9MOk9nWCL;RV-x OT{79~c~#FN@_Xh5c*7Z#U@t6tBk!5SXm z-ckSppTu~pa;k{(^7-s-f*a7u#TqDmdq4X{)J2}=4i$VXv<5y;Yo%(gu4GSW^#Z6h z*V482BHALupmTj>&`%F7khk3ha2MyH1~&$wULp-X_%DXCJ*vQVK`F82lO%E!_ai>6 z52B4s4} jTLP~(3{@Xgqqq9LT1T57_hdS zs!^RLx*z#~Q}bR>11Fyn76bc$iB~j*q+bAQT*y|fnWT#EC=m)a4XpXynuzn wOpGEvHxT#kIIzOCcT>^kG1%x~525Pa%MS2dfn7@}*1y;dRX99Do&FdH8h4x` zo_(@~rM{QovO#s;%DpwbLicmLpMG8_cWyqh;_MBuP=Spa>`Z{r9D(X?8&jrAk;DVZ z8(?e6Yv7cyl1)1s0IB`S=ttLG%2dn=IN5km&bLL;$s^a%;z)ORAoDW_7`B5ap1Kmo zW81)GyLoJz!rdtStthXFyb6LtqoE4gL$%cjH{&h|pnot8%4t GWGgQ(EH^}H8H*8~6j0I>7!c~J4- z4HT>$WsT^X;6AN86ic?2CEIodbl3i5zh4>-H6_f!a?4D@>~RWlbWbA@Y~+mY@x+mS zw-RyIQ5DrWN+H3X4ysB)kT6>t0k}tciEsW-cx{rFD0O%@G;i()ZW%*Bdvq0w%LqUp z1?1TyXB=3gPO)J7{#5plN;_hlJ`Y~0r4nv~zlpLf?$q#K77{sliLjHFK&PL+C1{f? zgoQ>gMjDx@@Pts4hNe1@+o8z|9<>LDT3x8mb&&|1$|VwdIsuTBqoUm@mb-WXTXbX| zdRkr2?&wXREP~Dv(drIh+ESILuFM9lYeQIN;yskq$!o}gwn5pIqeO&eEBd{$h$uI1 zp{7@r@rqocDbn&hfz4%65mf`TS^sX{MmH+qqXkb=wHzN3FriNNzd$SBCV*Uv5-K!b ziRZgsAB6~ufsUHB&~Ju8KG}bo9h+$mP8VBJm$u(+vHGutUGkuj3OlIB{weMUI-dLB z#ySn^?#os9h1MzFwpbx-#C^z47o7+D?HQ<^T#4>lh=Koxw7|3EVsKKhj4k!2gKfr( z I74$-`8$aOCE`X!HECZUGWic+wINpwqGl6{?W%&>Lz !7z$D W5;%12kJa$W*aSl-S1a%upktsNu|?Qw^^XGtvg zv?X|T W8xDR3^}7duGnG+R`ol)YFjjqrG_ zjO5~vvK!>$DVH=yic`Ll%FL_h+4^e{jt5LYll((UX#tOLJC}-+FQy|7M-a)`-XXeY zhAC~Y1;pvSYRz+^+PretB(|NsH!!|!h+9-45%{TwAeV{JpRUybJ-we)MvN`B7rp^! zJ|+{K#4V)6`3`uly%ug4l_!q%im~!~0zvOnMZ$B}avZ689IYDoN`$-JU{4%!X9)zx zvcpqO5#2%wpu6Y}C339_m`}M9RpalewGS9X=Bzz$o#RvVnH@>ZZB@sF&JS?qr6kth zD#+W%aR;Yw2T{K(WKi!JZICm$6)A>|pw9~vDSI8Mmi*NQ)Ze$Sz@Cjq*iH+t0W;@P zls&l(89Y*e>{Hde!0S>VUM>b4kWj=*T?g3rz&Pk=v4K6kMj&3 c(c9<@ z{O5uq^$-of_00+d*TD=PRDK5ve~0nxsE ibt3{4o~A;dvLSiMn9i6=P4m9dl&6>~kaB+H3K^Y(Ft!un26uWK2x7Rr1~` z$Wm&@U8(c?uCvbsvw+Z5E1s8oC0na380;U)K>t=dQTsUv`*+7uz1oF@q2DIzR7V{3 ztizQO9l1_?kd#NaScuv!e}=e`q)(jk$^mOi&!AnQkBAE;6=?RI3Qlm<1G6>|dBG9z zXjK4e-d*=Ed67wY-m^fLnyT130_MCVUL^E}OIq6A-=c!Gwa{Wxnp%1%gjyVAffP>N zA;vrFC@E7Za=w5zT0Aj;q7KG_)HgcR!Kg{1%h#AKxA7r36wyhXtJKDxE{{Ru<>f@2 zYAM_4=}n?6KATtUoKA$#k6`Bss({|{5<+dkTekMsI-baiR1jVzfb6#A;jt$R04FjA z_1NgMKN>_3E=P{B_Io&>`-eXgi1*rh&4?+S2p;F1P*Wp(P!lDd5C&JQbfP+s1_8yB z--)@+nv_i@MGAAk7*W(Le6<>%koCacSME3dw@ zifoMlWp(qgWOW=dDSRJyQE!P4{w3(s!IwOXxtl=H;V!kilZ*NrE)rC94>h MMI%-8!&9QtpB zhx GNw4I%$7F%3mYlN6!C4*0_s*lQq z<)-J<)-e<6)|5BNSn!o9l4&8b36ivmSPu)mWLnI p;`~GL1XhoP~vzt5k25c+Ie2(om0_eKONBFus(=kgXEv&A&(Tw@b)8e z`s5-`q|+wIHBjIL*-epBni{ZPO`Y@nTq`+TDUOC3Y=PL=LQc%?-%#N2Rs7}?P5CJ5 zq0){6q%e_A7G13%Z6{?o8tWJEb7G#60>)09n#Y3V@Q+30#zr|#$i*AjH7bvDzFLjr zrpzaAS;%vSek|hb5_W{)&K&yIlB?Jtya7%WMsti#*&rzRk@VJc!KLl~MAR31jteUq zY#TpD9MPBKOx4t|&*v$_kDkJu`{XQfAEl6P!hBNhn;E>mUY{dW;R_|l6QN^p1=fi< z%;^x7 Sl(iq3-gXG-WmLm<SA8%fiB_ zYQWrc6@_#k#Bno!P|2oxG9GN9UvE<4@9|85xvTAvoEwAGjQa*SwgI@%>M*RLjzC#q zXSDLK2IijG1+97yB6*!^)coutn%`)I#|GB`aIz0NROP|wMcUYbh=Fc8d(iI`Nqou5 zAGPRrVL!u3kh-i7c2%FC-)n0?VxK2lmaj>RJX6OPUTMIH!1?(72?6YrehAN#K921F zX=U=)a`1{%MUZj53GR)nMRSIxkSef-lPA0Jr(#{w<^DcWe3dpS^iB`o-F6r5V%x#_ zL2X2hmM{I_fH_ieaKo|HBwe&28SPZvg&J~#uvCc%7P%#fuk-cs=lXIu@9hh?>F* {~frKeL(E4E3PBs?|BSPh<3Ct{o0}$01GS+jzA`Gvq#Eh%z9%8u%~^0y^$|L8Lp{1tn2cWK+`*Ri2k?^vo3T^ }RgP{GybD=M z=J4M0Bk)e)JtP)6NEN1B!K=%*;)qxkd~|0asD7gl=bo-dlKFY)rN9!n+`ka+o2@{# zpYu^x-3XK~(x5lrzfJQ^|0CyAE#Osg3H0ERA<`NB1tXS4W3h*C!B|}gaCNSNe$fly zmAfm!AGjC|I`*ORDj)o@a1Z`(%o~=`g;0BaB{bc<7IEK;!tRt6XwwcS{Jke0>L1pl zmyJe%_#>Zz`tfAE>~0KPH@%e|rf&u G3nOW?JqRqz})AJv2lV=z*I z3lC?5U9a`v7mIe()!oly>{|}?)f@1aBV16_=SMDGh@joy=csIU1O3It4n~vFaPRC! zD6m8c&9Tp+xo;8p!Z?ZS+V#-*-^KVlw-fc>$wc+>!gyu>Hyrxbh#Z=(Cl6g=A@`_Z z6ma_!jJ~0QLWDMxhWj4kij0S_TJHg X0EIbdjUR|W?zJ|a9Ixcum+* eo#4vReqGi z%WJC9OTInkT|I=kX5si$Ss>J1QVowA$I}03FkWi;7Cs0pN1jgSadBEPc%O6)Dm{sT zD;_0)z!O~ZW~c^Ko~?n=#cyEb6-!*LbstDo^3a*gg*b6RCB9jufi>;s(BGH^NcngJ z-0u4uzVqLPkKA2Mn~zpPr8HgIU%UxcTvH$wa-wN@%X0iQb_%9X_`?pZRYay-9&L`c zBA=HPc n9-G@l z(f^fvMagXk=$l0jpyGQ!6yoMU56uxYt6c=YO1&Xp=48WP0fFSJtp()GJF29SoF?f! zQHx7Xlt5b3h1~Pu3VHDJWjrrZgS2dFBqtsx;-bAx*!#vDy!7D{RKK?t&!+ZaDc_Cc zUD*WmBFLOmzJZU0C9=qc?^=*tiZQ(_Di${g&!gv$ZJ={1lIfY5T WHDY9Eim`peP z3}+4|;r$W*bWY+R9RF?s9Oqra=8~77Y#c>4xb|be(_FGgQIt%4eGR{CK0qFhyMltA z>5+wkfOhE=!<^qw(P9sMI 57qsL>pdRAgT)&3*vc0ATIgN8vDY0NzU`sk zywkuP!J?e(pAB&4j{v-sx)*NPumA^sT?m__)M+bIO9+=r(UU5M Y>j%DuX@5x+JFpAr-Dm=fuOQqsnFF~gzpzNVHQw=LHN0xS8s7UGheGdp z;darpcu`L#zHwiV{BWQM$|~m3i(+K4bYC1i_M!=m&5y_1VymFTg R>>TJxANZNp(mHIL(e_5EJ2 l9sd%VgiQtxaN+JaxT?w;r_YNA z-Zx+4g;nzO0!0QIQg(#>9Xx1uqa01FPs4+4*05mX0wBC>ElL<~LG6dv!}tDkEO+%7 zIs*jK-O`irMy?n7tt$#2={RGf1|hubh6lXReI2qltcSBB6G%NQ8%k$wLXJP5BAwfR zk+jf49HvacJEydO!=NeoZDk7DP3?dOO2m=jgcDZa^isaB#i7qjRVW}%VKLbXoOtdY z@Y6ew4{LZqt@eL+KU5AKZsijJgF$FAQxQ|GF=*Rf6?oRL0@SXY1=aa>aOJaFB+U8( zGXxI6-+>e!NmIgA8w%-k^Hw A9{`zhHs~vt zkJs$iz->D^;m5&0xbKHLmcN~jci=KOLKwmARZVEfNewUcGa=`q-N}e9E_pFx9EQaN zkY=20WU#yjZyZX(dYY&4=?k6sl(9D%Ihck^L!Da;mOX)AcEqF58#dUbBp#!$w)n*c zbMnp;XF}fZ7X9w1A>NeZ3BUMLD3wgazhC_YHp_KkSiLojH`1XM$G$=JQ-07mL6#oh z6oD-~1M$P_+Aws-doqzQ<2aI)?8qt^$@rR?&pGFoghEqADWsx7 zMN4I`jO@(p5s{tn+~?e8Ly=N;QAS(R-oNMf=kxFVdd|77^SM5s_eJtYmZ6uS(TG0b z51lfup;lysxWdc{PpCQ-wEP?j;!lTbhJ~1h6gD;H{DW-0;6`fZ$5H<>cVt(fOlGw5 zkv3lpPVX&4on=d@lNVEQs$(dAH rx{Y1LFPH^JpAjr0RL5k`_ z>1%a1l*V2LM`^n-;(ZE8^OHKvwY>q)UX8*6k2xCe`i zMJtI6nb^1v1)W7mf~`h52)g6^yY6U_ogxy{dW@fRjbPhmF|@*ghC>&EvGMgNa^d_j z=Jy9vW|M+5!_T#tno%l8E_(%W*TLIhW?eGgEA|)9mn);&-+rO#uhnEXZ#R6K*$(F> ze$g@ur|{tLI^v|_Mm`-iLT``$0Neh!Q!*;Q(d<8)YOHo1k469js4z8Pr9@9`uh~> z<-!=s@9tg-^kd4abWhv$UkD13boyMhgT;$~E^wKvw1s(VnZ*%S9cyE8B;L0y29D`3 zr8Y`x(R ;Q)S523bj zYAfq#6_u8)58H#6P?6Fql*ZC!)OxQNOgGUm_;4Df_ky3 tDJ&*|Zh18SpApKs zq!)ktrA$SAy-$6eEvBCD6<1#zUEVWm2t+>M7pvgQ#|+Ht2VSt@{_`QaiD>#dUop zYQnRY5{?ijPIC{CATLEdINb_!p8B(gQr8d|#>w7h%c4EYH^cT842RhhShY_AMGkwD z>#352=i_CHze10!o#JNhDeYi3jY|-gq87BA`+^d~7Ba!2Qk*kxfLoI;lb4G2xazkf z30Yx7S-J0FnrjS5RP!0M^O`Iwo8qJPnW>=?4{0WF 5bO>p-CD~h!%i`m}K zi@FP%kb%v6=D@nG)JmQhIPfWy($il_o!Op1Rj;c<>ia$t_5LbkVNigMD8!LtwU&$w zYZ>!&u?)JpdLAYPCSdVxwP=^IFxA4Z#n|1v!+iKK4R0 g%Z `Is8~X%7$O{YHklQK`(ySua4uA{}v>HQ2Yrl9>@~ z1h-l eiHiV+hjj}^5s0@ z@(-u@+MB82U&Z*{@nj^jTZjG6dpYysfGrN`xPtn(SCH1#1<1<3g2Zb)Vtcb9pqd^p zE({W-Vuz>T8|8QKOt~-fXW>6!w=e_Dp?tFUy*O*h+U- M7hgyUoAT*#ic*o9UJWf0o~ zLQH>REX}pX9c$S}W80zIm}?@6%tkmdUUhXS?n6EPoVNy5h<+r^hl n+=G+sH2F2eW~0 zGMOS?n=1)EB+jhee2sj~)gw3Ia(J?R6;$WA1g?I6jYXOz5g6J} UenXLyGYx)9(YfG8y gL$ZO{0iBunaBG-h*STa@@M$v zLQu!{1?VFQ13yPC5UCZS-l_n2{@E3B;#(DZ8JEZE^ZSoF8XZkCcS&Q9YqjuY`#NUn z{^O*x8d4_G_sE0sx1?u>AMz+%O6AlZ$183=$Nb|RMF00ArsAJ86{|N(YE0_j{O5M^ zJKKzE(H0~gC*#S>2ZL~QcOI&%v4w8Jdl v%wua+X5eKQ U+ U<6DB=Z5A 3e~8eqgqCfGe0@AbW?+T)cMtosnG}`IcF`HyDy^g;&cC~!7~S`ck=Tjq|1QO zx^opxyd6Sj>lRagc^|_womX(p=tZ(`%`19ytPK^;+fH8}-vytyC)3qlk<|2teMI~8 zqSk$CdbEbLGO !S2OsR=Pc7==nQKVcF{YEV#(t^2T*a2qWZUUG|9ihj20+_t6Ti&+$k+IZ0b(k z4B=y yg$zk z`3%&dB%}B6>0$%I#Ep{mnI$AwVKMV*y#)!cltWTsMd)O9Bx3z1Og *AmT$@JMLkH)i9(4Mvv^9`7+JcdAaeyD zcv53C8VqW{OXt5J`rs`h;Oma`z)>*7^9C=_UrIi#(qoF e-GMeD?S;vKu;6OYg=L zk^9cnj{|mOYrZ@+wB{pBxaz`?RT=cFuOhhM&>ObRYe}@# Tj7L)e FRP$X(*Y z7KNf(_t23C925~dguXWMnqJRJ0MpiDq st#&^`o=j2bX{jD_@!1FXE4Tzr`tQWa zpHtCGV`H??KLbR(Uqh}^R~X^z2nuvH5(lf-Xs_cJFz|L7*W0eZ861`l0hg)M)<5v4 zPzawti^m&+97*AW%_vLH2P^uu;ZM_pMBodC1ONF#+Iv3~t4To#Pjsn^f{ fNt3qT( |F(^+Ua864I}$~B28_|7=SkQz zxfn}3N0ae-55&DWmN7mXO`cr-PFx=GlJl{_RB@#|WB0>>* gYX?GJv3lU{|9fys0dFjq^Q zw6n;oOc(h3bUrF|T!!3vt;iUf#WCTR8F}9v MqWV00!VG^W-GAPo19rO+Rhh;7 zx|fgFC hMF!nsGX0lY2 z8H1hD%=6ZRsEt3EnK{gbh6h$q-Vr=h_jD)buQw$sHW#tFkRGZV{ztYS !P?)0{pSXPJP+ym^@L!1F|>Y=EqN`v(4qnWGop z8YOz$qR_XSb4;`NebggeLhKYw@PkD;=*;Fs>~M4j4{7HTxBE0cRN+nnK0QLej8?Wx zo{)k~b)4T7hnZD7yrBJeQK~oC3mK}(QmUjI+5DbEL0Sr^NTitXe*Z(l=*vV1r;$U< zQnIQ}5=VXKhmwz~$$*d|3QS8R|8`cAZN7zA$V!H(xf~5=jrHO4EOAQl>r%Akvo2|i z$-s*GF{oGK4SIISmEt*1lfFzpWcDqI)ci|84bsWv{H}RY MB}le{C7A}9z;GL z2*xWOTtmLodeHjRJ#1+Fl8E?+k?^X^bmu!=iWRwo3B9QdAAaJ@yJn0?;GhH4To}t7 zJ&S?-=?;K3yh-hfXRuZ;lI^UMMrKTVu)(3@$nlOY`7gPLq%FRTN}s+brYwHufmtMz zqpL-9b7dG0ix=?n#+9VdIhD!keGV6wZ6>W3Rxw+*r=Z}eDYA<3L?;jZ!N2Mslif`* zOuBs(^_jm9z7^>wQC@Pi^Z|M14(A+C9$LU?9I7P8KCi>Y$2^!`!9?iro(sL6oy4qN z8svG{da};-KgR1*9I >I-N@j;P61^rqs$PUeMSMtxeFg56Gjo!#Uh_~~_ZCuV z^4HKSt0}^06`~u{QRG~pC^f488V_)EljuE3 BwLl*Kt#CJs zQ(N*QkaP8ZRA(cIv|_@EP2Od)YF`R*UOorSxA#Hnf;!&N#mNt8KOhq7ki3sqWDdG4 zVHCX7DIPBs#JuXm?gxdTk) MP(w<#f+RJX8^t~h!>xt9t=$33QO9+8oDtKCm#tF7VB0ltXFi-TE4WF_ z^%%n3U5zT1CNU4MnWILbP)yJ4LW5HOaKgE8G+N7PjJRmZA9r9kheFhP`ILF}{bkJG zertNw-^-}=WgW=_#c1`_N)oTX5muNz28(%%aZIHorTy$G+#+xt2H1r$H?9bx9U-Im zLV+e(5cY;n3VK02c2$zmhGWc@KMUY`RWl&5{yJ>lxs|ZXIA=TQ3N7*Q8S(wx#fn8c zn8p4l(P$Nq#fo)xti5+TAvkrI?2=i<$ $X-I$V70Q4246zBc zg r?UP6`L5|YCjq-Kikn7b!3kx7Xlk*+*W)|!no7r8y)(ehK&r|+DM+x_=wX2mJ$ zpFjavA^aaU|DA{i9d#LT+k0f+!z5VR8&07zCnjyAgY-1I(FYFqQeM|~Ba8nQkrwCRDE(_GF$%LK&8}%!(`6B3`-+WBcMB6IKUWe@n=_B+JMkc8&omb4;0-a4 zkx%Y2#&+-<(LR+99V*X|!)8iU!NY81X`GD~cXhGobu`kvDayP-U(o62;#3B=Be|5F zOcY{HP)B{nXrUD+DP?yFYGk8074;{LsR$RM&g$N0bi~5R^JCl$xEP6~&gPK8xjb^k z>@Ssl(Sj-w6{UJgPPFh0>QD{4C8!rEhf%GfA@pp}!6T*J f0yD z&j4<8QMHv;IdO}mO5a0$qT7)L<%B-FilV}QzU1#YzzEA#q1p6pcqmYk%9I=fcgEJ^ zA|YNz$T^fg%^@rpzdpj~DAiL=2kzp)SN9?7Lj+xVMHeY$&VeISW=PV$o+SP_1jTsY z05`N5*)3ZFqck+&o!jx$^H=wAfqn(Kx6Fm9z1IPSZ(Jv}+D{PFiDc&`{3W06ZJ{)W z)X=sX6Y|bThkSV_i!(X>?|geT5giXA*L@c-Q_Ygp$@QW*YyC<}Yu^=WO2m}hy?ccu ze|nBZ?sIyN h$$i- A76l`bS#7L~T2YuY7$?DDW z4Bw7@$htR^oY5~ttJl`HSe}?CFYeo+-i^6b_skPinYtH!z8;QV2RgH^?eQjpS-j|~ z+%FC*!Wtdia)IG-=0>4&rD%WBclgiK7#)pQB?H@y(D8TaWa_F4 uv~N=i<)!v z1MX<}yQhsEtC&f;jx8m@a}ms?G+yT4x)y9-`2*&v?n50d7nx{I=A- )08%nMg3j(+Y)N{V(7otz0` wBFdB)Ybg!Y35@V_+Iu|`- z8bMwaL5n&tj{edN_vLRzlwmx|TSAjF4|JK$*)+*|Ar3Qz)li!2BV@q+64{%6zzk13 zdSt-qZHp7gxM>_Yqcw_Fs&G@1=T-3T*$DJyT!wtOPLn^s?8q~JY3e _eiegvY20lU%FmDxC@I~Z;JzKgjkrHDiu zT2Kau=P;vMMH1DwFlg@%Xc8R^XAh~f{NMT`M>9X-JWj~px1k)Ct`^#1k_&cx(!gic zAA&zG7Nb-D+?j}L;rQi$89-j-GIEsA#_}8Q66^|@n_Mj@d2uwp@|c%Y4#$(WI{}>U z`JI;WKMC^A10sD^gyOH-Orgn}r0lR79yE$4MXu6FApw)*Q#H7$YA5;eh7a|+@iT#O zU(q3nQ0hm-DBi@W?WuqFGm1xi&{Ja_)GlaD$Fz5loe#O0+jgGFsv?6HuqNoKSp)j` z)roR@EPzbjcf*^SNAT70GIY7rh5FZT2ZM@tL0zZg;A}}ab++v#Jbm~zlc89J_o*Kz zsrlxJU+pyr4lJhZP5a1b(Fk$WUrw1w3Nl4%x8Xy+OJqsIVv2R1kNId60=M7mMDxOD zsCN$eNTz53lX&tj@C+KEkD6{r7kZ0`vaB?tW1mQ!?l3`uU%99?+u{)7Qef8dxl?WD zl&G3pFB$PX1FDOeA 7YFFOA$gm-C_6F}WomTdwPist$FG_k{AdUy z-YPI%y|&DjL-N%34Hw~i4ntzA%1-7J^%5Bj+mf7>b>QYzKwXx222ZX@!hf&Dql~>n z_$1#mB gh@lDF&8elH7{kb)57TsOZ#!$e=cy^x(izd=ppe$F%rQZ zX6sIzBhqGp=vc~Q)^P41rysk{)XW_~ rV;gJ+`#UVrlBd#uJw5^6aOPb3t(xS8 zK{gqwI>OvOEP-s!^b^+1Z?tE@Yj( YvAv5Jb3;~Ca#-|BIC|qkxpwVI#X#& z(yw=+?6bc~JSUUlKV68W6}B;Zek)QRH|OA6nwgyWZY~-4D~I0m)I-y~ETSkQhl``~ zk(%Wdq vCj}SzGQ^$$2d^T-hGl}|1FPc!2MfZQLB=h3x zRJ>gP*>hQxd4c4}*iKD|R=zqEY zkZ1W}#%INH=8NAebmQP_6j~cjDHQ%-K6Z+t^z8yfQlSwKHx;8fkuzkByMw$Hd W_+F_GI@mc0CCmbGD}F_u>R017d>-d=F!QE!225ju2fQg8fpRx@ zl3&~1uuw`Ub7EO7K4_2&+KsKr^y7Ny=ah&)EI5n??_|KU`d>k|#1-tF6#+hlKfoDJ z4apGtj~Tl(i1HMFf**wx#q6GEb8i$t)(0x_ W63hxsB#MP9+?QP84%->{F#1J{@-o!}qIx&p=3T8`Q3376H%c=eCWO}(QvN|M< zq*b0_%brL)Lu%oSuN0>?^N_3mCb9k7Dlm5K8tSN)Crie6p`T|P(Iw#w+>+dj*H3UW zm$}68__vS9wAvI&z2{;6vvp-G7mUFCcRygQNHQ7M7{h5Ce&;>=+i0xiI mWXhLbAP(nM(t; z#^yAsX7-TKok?V;-Fx`G*q4bc3uUbPHK^7RKiFM~;rlbCNbc7*v|c`zWC2-@#@>qz zKUE{^=yp`g=6GgKq!7(*+laDWBh;5qBwp!PDIt0nv&~ xXDvfG$ajQF$Ay;j3L&kyex%dSMz5w;74Ty5G)( z)p(1@;;VT7pO>KcvL^B>KSY_PDKKM650UZ9YU PI7> KT8M=9s4%}RdCBq43F0SWkD9kBk#jfu zXxmLg9Gy51?RcC(fwE>=W-t=%_mD(s`BOAEpC~Ca4<<`yGf?SsT{@_0FG!El#$;_F z4*PJi#X>w8FT2}`_DNWAJXgoagQ+Nnlyf+=t0RfTj|6mrb6<7u<|7+ltD#%J4nTvi zsi-_M1HzUWqP~#VqLw=b>sF|eHxkQ9^p_B +;iXR4aPmBXde>=w?YAUD;4^Vrs)fx|HZvK{Mr2>B z4>P73fg1Tt8KJ&VH21v&FF(AR*`XW3wmlkyF7Nz;d7oQSX>u$SzxoO4f6_>HRJ}&d zd%9>8OcT-69n7SQ4;d1$Ac9+>klRBKw5%lnjoj@)x^*$=(otLH&u>h;8@3VN#Fw (b{>LjIC%QrQr4e z+eI2eoz@j_bx1X;(6ojV`*)&}&dcOoxjz20Rsc2%$)H^q7lAGdH<)`XjvCSVjo+=! zBfbhj3|-p|waxC3$rxTLeK;2gZ{l9F)%bm@+=6{;h_Xmq#e+fWrrIZFk&;_$SokFi ztQFF_GS?XmX ;B~vWH*nqg?GvR zw%xl6Ta6q?nGKa{YczZt@rP+4^z*zHzTcw@nw%5p9C|4pD2p|>;9CvdZ5F_PyM6%A zJ_QJzb>R3L7xrFGZ^m|yVYM`z1iC>#L7P2+4L(=t%dZ#1b`^EH@#7ylu2!7&`p8Du zEglI6Yeey}+keboJ6wl-exvlDCWNE9mN;H&65K8N24`{%;M#(_P;BEx%-*&L1?`T9 z^@9&!?N>D%-TRq!H{d({RK*yKB*--{ZS%wL?;64nI$iX-C>E^iNrj`spIQG{4M410 z3Ud)Y5IGk^h9vyWd)#lpC9!YugW7)J7{Y=bQ}!(}#X8`Le+W!%oTQV~{8_KnT7X7$ zGJ6egG_2Zwy-Cr&5xgmHV_QF(ptqm(z(W-cU{&==Jh3y1EMI00e85qNs#Z5kR{4Se z`)u~dy(Z8(SsHsuc7xNhJK!cod+^J_3v9Z&6t^|k!HdFQK!YTqr8IZpV^3~ljf>T^ zin2BIQq_aHhpVyNz9;mqSASZDKZXNEFE;(E#0~Quu?J=C!SHnZYw*Fv20kp8MDdx1 zbg95B%hz!fw+waTdyS{)2CZ{ou;mS2Q+fj~kB??$j&thO@-4L7ZGYDB!})M%*==^l zgcTmU%CJPZ9k7=3Ieb<)gkF}ZjRBWb%gW#fz$ 6Uy$ _z&Q3 zOQ4T`2*9Ozyg;md8n~J9Vu1r91d3lG*>D>ASg(M4%eb0q*P7w*Efx4tY%%TQegnK= zL_xGl0S-vH121#wvIo~B!(Nv{{JU`jzQxJDJQ?ycQ*kPwS7;mHV2-2E-CT|EXot~# zAuHgNZvbdmXbgETTH@R*CG<`8VO*ak3;TE^;lGGZe2^y$Y+1MuSAVE$UV5_$N@jC7 z53-I(&+r9&Bxz0Wq%!Di*BN^Hm?Ha$=MY||z5`pe9)U-k %yJ03A zo@sG`+$AUQ*u8yt`wD*2b1D-rI%|s63;E!!@O0dzz6l?HnFHL7!$F40LgL@Ll9qhp z2WNNP1j&6%u _JpY1Z|z53e9B8KnaKO z E7FR9vqbpsGIF8>A-j+@}qxCUhxZ(%LnItgT^x1gir-@#^Y z1dlhY$4$$I*l=4FU>QfTow{EG$#g^bHAf7l+5Ti>%!4;Si9s%A4_Jj8HbL%+gqDZ# zE9jf5ZveMnJpRw0!$xa+LI07z##&wNP5<`Lg{yWC0%au`7<8ftC|7f_5{7TGuZ7&9 z>o&x)mppf&Zy*E6FU^HjXIp9J)-pPbWdTcGJ)_;8?V~ex{{w$F>Eb&=5@=IK131l_ z1MI%Cn_PO`NF#d@-Dc=Y8-HAkhwmqW)t4>7mBr71`}BTzAyb+TUoQxkOQwVUjxXrm zS8X(TGD+WePNjX`>tU}D1Dwg*&L&V8S1#MicD$nv*ZZf^o$r&)to1_SyK8q@DW7*h zt&Cp!Wb$Ls>uv*l*qi7(8)AU =F{qwX>G5{n+z714c=?=KJJ%gkwhxk n zf`T+7&uy-mki{-Nvk*=sZ3R1S^5Hf6jDU&8F4lGw4?&(j9g$TJ9&WHCR-uFRpFRot zHmizuGM0u5Is@4b9<#Kwlp5>rjqBj_Nh2(FHy9KqO%+Cz41xZ=!kEKq00-WF25-;m zBey~`P_RXt)p9+Ft;Ko)G{nTf$+x>{pPL1^|Drq1|K&DqQkV%gUvHqfe6Qm^rAI81 z=*#l7`wGUS97&8>4!oH;0X}RAq_316A?$CjS$9 dg<)Sg;OM@5g&ht@>4^!-j@ zPbEvjrp>1GtAJjxbgL#7*gOr~Z@<9SoLS{A`<;-Rc!6hfw^@%-5^+)GC!&hJSVuG# zt3`{!!=pvuJZ~#bfgge3QHp+R{FJrRHI!~BD}y)shFBA(5MF+6PRCup10pX((d9q4 z(C;^R14pS |sKmHb&*>e$Sir;GKaPeSC`yK+3;Sunv!gjbS z)q`Hup9EG>ne^$N2pF%RjfBrB IpWT*i^J(l?fJ!(}qjd2eY;*T7clm#pq_+E>;MKWnZW34-EpVK%vA5c;xS5kR6r_ zxs*KN`Gk-3aDO;>VRw~2S{wvMGyY-Ioq5>QznR{iWX1Ap4TfCvZ=rg-FxkKTK8Vgy zXQfGSk%jAbG{4=@3R=%3z$0?Y@yf+V>2KajFi59_WhtdeZ+BhDmLExhtGN%8@4qzZ zW*b+I-`a}S^LhY#GJ?>u& (@jivalMIEY)Ym}K&4M`Y z=5tU_G(nf68dh8(&H8h12Yq#|F1)pC0Q3D;p CQ0 z`juTPasHSWxTo3&HeF8ysZx`;XN4yiuxZBSPfwGh%`t4dU?UiSEm*7+NnqZtiwq)q z*m8F{n}h0<>HBJ#csGmy>Bpk!ug$Zx#tK9>W@mt|OYLSg;&mWD_8g8La)vQ&$AQ5p zAJJ6{h12JKaN(83=$g Xq;M<{_KtxUnoyfcd@04qC)u9bAcQh8K=6B=ntK8UYw1}Qa z?t~TF^oi)%0rToc6%=v0rn%8biG5MXnH?Y!imQy=RTk{t0iRBNftIbC%ug2dvsM1; z!WF&?$$~Liq(%_!SeC)QB4CU7+Iwh^CGMc;ybw9rvlS19{9r$eXat$JUFpZIisa>6 zSFC)}k-oZpFT`!-Eoid=s#9G__U)I%S|`u2s+F< S&R&tc8Y9) 1WbE3;fXxhl^5{)d}ZaTIj@~2G)9=4QvHRN7!7E#m)?OhsFs%%;F{g z;JJBq(! f#;MM z{i(p8HggFFzp9<+{$mI|+pmf*@5%vbi9;}+liTHb?grgIrh#nRQ4nqE3N!rf)3*ys zAPp6X=luq#FqMYwxrFH}KkcxMZ8E#>^b=NVu@m{?na;9U^%dh?lCXKtEnLC>gRY66 z#zndgDnF&-;arnEnlUM7XP-_4yY{sKL51y@FI|>cb&Jq9o@auP-KDT>-*()>FM^ww z>XBV1nqY0DA&%FH1+SUiG*6Tk)YnnOYor&@P2&!DSztGPai|ODq^H29MSir(fmN*j zt=mcM)CQKO+%mX0Y!Z(wG=b}Vlt9opBwV!!TGdX_#{;^6`l~&7ndk (P2Q+`6o|8oe<{l}TUec&;zbNvh`3(uvCZ%ooJ zrpm$G{2|)nv>`nyDoa-BwBy*VN@!o+25f48=zs%U I~bP4MY7_lx~;5dd$ z#qi$2Vs>Q9RV;av8-{%2F!=>1>Gb|X_!iSwG`E-qztxq{)(&f1RCVkj|8D^p%zqI$ z3-5y^ECkLrJ_3g;P7|+R=47kqIQY+FjBe2q#35+~0B>AK3(Q=n*?&*s6gx$D$e*S| zei`BX>-xlM=oa+8{f~aKx*u{=B6$C{SQvNUp|Qu%J9 eOD4lInv6y;vbLQ%)f!~Q*)re ?7BU`XjXvA~w>t%~XyrUwt8Xc}J;w)!5;(oXI0k3K zl(7EKe)gz?I6m}nHJ#Y<-F*6$6>c23LVJ#uLa7JW@Z?Z9E9F=kJ$3#ssB%tV+gy!@ zy%n~2DkqdqYSzFeIe$28xL?@dW*0c7I1ip|)}vLQDC1dAKbYWlk*>Yr1><=3qo`NI z<|0ci!6DMeaxkt1zka5(m6McU@s3E?T{X>$*mVr@arOu<&icd}kG%_&MRM4NaYisU zgf>6iFiVrPA=tmwgTCOr7I!?J1@d0p=)6xCYd*;Y_o_~_a%7x1eb07aSo8z1UR`2s zsFsI*m4E1eIj@25T{jjlGyom 7EsHH#XGWmfg_G!_&M~~x%gNpEn@^!ZKu5kD?P7U1l7l&uhpCU~K zqx49$B-~*pOMhCaPsbX62h8kQP$|<(SLB_<+Rr0FgLM^+i~ocDA5t; xic8D4xH+z(C05nqH-QTY@7FXqqO|}?%F}Gl zRt@ZyNWm(3La+I51@AMfV3d6ZRz|1r|Fa4@zek~UehN@H%!MuM%jx6UPHdrHt!(cQ zj{im?js5<>Dr{RH3S`e}g5V-Zwm!x95beNX9uz_qyo#>gw1XZF5F` hsw0PQ|IHt)G~JI4Lf_K+77NhM_rA~y z+Xm=kUj)(9i$!#<*$_Rsa2@(?9LGYLF1YL*1cPZgV8Oa*5Yh9A_Sol&HFqv&O~^RI z(?aQHOHM_CrRi?i{@WOC*4+buhaSxn-^n7E{=l<4I)Ozags)tW0IrGuu#4hlvlY4S z_)^t9`cs`e-Y&KfCX0B|@b=Jfcb8RImgrS!4L3)er1^7ywi^Z-EsBJ@g-}i`@$d zQC~U63M}e^tBk+U@kb57n;%a=mZ>@3Hc|!o;=))8tq*X`>KeAVLl$ xp&!^uM}E; |XA#EZhH5amu|O z)~RVz6fsf5Qr0VgJ%N+pyu(NOjAQ{Y*%gR?tP|m60h?&cIU{VoTY|&YR3a-T!{HLs zA?W%=7AuE}fy8GStnQb*uzrg*Ae*XLLl>lQq;WhjYYV{0KaIY$L7$_g8H3vk7UF?b zkHM;JDcI9w$>FdBW32 tK9h!j?OH)!#R7EcLIta-aS55w--wT1 zaD!x#Fl*s1Hyr96h27U~$CsW7v!0D~vwAXqvJ)N&;*L|FaG2Br{IX?;K9Ww@M<4fr z3yFHDM@bu>TD~1zd+~x6I6s9iM+RWGqZJ(AbT&qJ9s_|JHXI-bhsQk}!`WS2!EznU z!>J0ExPzCC+tWR8+{M>0^w?KcyWU3}eoFz%rvJndLKn=Ju5$(IF0JtIze}|KbPc;; zeF)uFok~|K-e5hJ=mowbd~A=v7 +s=q&u%gA2Y zNr=iSN@d(LE>fg4ga%DS-y|hbDJxq ;!3hdmFAaqR{S>ENk4TM_k{zK;HgYymgLtZ1ArFbt^Fj zGx+~NN4^Gqw)F-%yL}V9cq{|vSt#(_dkzTe#}jG?p1_~${n2 @j$|TLOpB*S-3Fj>L<6keJc*2RIVAXzKOeTs zJqBZKcgRllDJVzR9^6=?M=q~ELYBX>r_;BK(d>(xVC8pL_$=0wsz )jX z|IicOxvzt)8y=7d8CH+mJ7L3y!|-S8X87*Vaq>lK3c4+1_#avHAKkEFGnu?flD6Dj zO&;5+q7um=vVE5* > 7>K33- z?o2DbaNxHWfosBck{f=j!HZH^o2XCQX_TPaX5*?#p7aV``un*bh?YA~8-hA{hYt1d zuH?0mPNk=0^P){8tZzMphx9;)UJ_U_-V{!2-%Y+>PbX2Q&cGtqxx}lu1CW<51@hav z;R|0mxO?|;Avg~-k3*1QOi*hTR4jz(=mbc%sY~ry%CIil|oHK9@EBxT8bjF zp>s?x^uMeMtew6HTvQFgNwdc!aj=FLe4SDA#f${0TT$MrQdqq~M#!*fBcA>|xP4+1 z;D3HE_@tRbGq$~kF)~MBtv-*2_{-2LDF%-oQwLRl69op5dcdMs2Cgtu0N>0h@fdfQ zcVDmo;>nS;=$tHUY^Z`|Kik2BgDpIqJ`R*$7tR6>>_b+);)LI%M; WB(bGcA@TyRIg^1%pJP>N)uoQwBYSZv_0nqr`2o2)x<#9XeT+!fk$+ zp|bQ=YTcYoZ)BH&S6^D8&Ur2R-x5)Q?JAD^n7o(h2zTyYJY5R2%2t9mt;2BN%6>2* zOOEOWT%h+>?}95oCxd!}D*8327*1Go1e)ug2azehz~pp-&=02r)n>ax8N2odk%Hrp zJQ*ZI`nzDDmjYAih$J2A!(?fOEo~M$rjz{}!ANfvjf{9+=+`?4#N9a9xkew@{FWf$ zAc_7xz5>J^jHl5yif|6Mocul6OT3S$fpKj%u+rBI8NB&gUm#@vRsR_Stw2q w<{YMlC3kHUO?B?Ep%zch*9|;-! zZ5!kn8MGp~lk32$ji2bm`JE_9{J7955Jm2o>IlXgd!oZz?F2E4<#=v=$6!R+A3;Iy zdGb)C0P;jnLMycpvPo5$XJ3{Jw{{0uVb@-$o)XJjRvicI0p+O*Yw=I*0^&PG8V(z5 zqpepQ;PF41 a2k88Z8_Oc}K#CBdqmXHk_vzt^d{6Ou`U*K8V z))UDweFG~K3+Q$<6>M04jmI6I0@P1kq{c;7f+IU)smZox8fo!FAm23=7PL4BoLBN0 z)_X;ibhF{Pqm6Xo_m3pu{&(9@8AFsldYD{MR%@_ g(< z1#eaWt}3-&Bs?4ZaVQ4a$tC2kj~7^9)?^!0eu&h?O(P#acnNw#&yjTsvT%lrBFXqT zmBn^v@I>V78QZo4m?#Z`J;}A;i`r`X@3uZ@JwAuL|EUbG0c$GCE9O~0b729qJ~ile zmcx72yFfv4r>)!O$H1*$o>q^zvhS@q#8fQ~=t^v?S3aHxb}5K99C^APbom$)Ev+{K zo5g8t_oGbUAGC-v!6z_RWC;sB8wEJMnN+v-7ipQ}1|iRr+Di!UYoH8Tk_Uo$*HTfe z$P-@c;+Z`C3OU;ww*~~&pLI#JfjN{bm7;lt<%L_zqM`kNDy-_^b5c?y3J)Ak=P}C! zVm>jR=2yNK95hL%YV#(*28~DLa@S0t=2A*^94Aq~D+`fh^)1la|BN@bH 5&8Jw;@aw5kYRnMO1asBSF}{ F#DMfz+*Dp#DN*SOK}IGo!Let({D-E3moCEfpWU|Y!4|k zo{h#|(*?Q@zY;0Ei{Ql$Jz!|4f##evrpNs|f!bMp@;< a_&6Ey{1(qZ6|Lphi- z`Wwhf>(QwFOX-oK9|DCN5FS|d+4h6%Rl1EY0{zb32NLVdY1Z~LVBYss@a=IH*y$5Z zABS(C!ewP1vpo#1@p{OiEBRF8ZW^%akVoN Q7$*wEP(lo|^;;T>6Q}&xhd3vu2Xz^@w-9JP)`}mIXGddNBTh zusC~ngHX)``n39%?Tnol;Q=A@F8ai6vazO}_Fvddoz?{ibMj}21lh@hJsyB|T@ywW zjskzXnKV{j%+~+RI4TqM(nc^v4*D(^q5aQS3un!jdBY();OB}8fWmS~P4-LLWfTL> z+w_sSjf!y9;feHeqZZxPXF&DbV(9XMJZh3QA3TO;bam #%=~)6P<=KqT+;|2DwolYA4h1nm^>|s +!!s|64Pdg1hR>+`(Mhn1*wh1vK>!8x*1@(_+Q*i8&Jv#21L1OfN z+U^WqME`pr$-oy8nmhaw{PKSdPU sXSZJY@< zUh@KlA0L7BPXEY|ivm4bn*sl>K1(jtPp2~0S3y?%Lb@h<8%vGY4O6!-XfU=r0*Viu z2A|}#$)1LAkSwANA8b@dFLpkqwPz<1E@*dQ&pgO8Ew2Pkt-Fc7TL 5Tb1f%0=H8g=@Dz;QGV3~v@^3XRXm2a9&ze>>(;t<<-GKR<_j zo_1gGsVNc8-5Ns81xl^%IIm7do-2Sx-J>FxwcptMdIMch43 zkHu;7!ql#k6&|mt%AOTKeRV!5{Ja#|T1=wbI-J1a)2m>c-qQNLDjjr3{A>7MUnoIk zAE};W2-xr>L2%mq0I>KWK{XsS*;|9_aC>u#z(YYA<~cfor2TuTyZRa8UBPSE@;#NT zay?}m<~@miHBR9 h++>p~)a{<#gD%ZvoxD;4GE;62qHVrvm(xUVwTs4M}eI z=AHTPhrl6eK(NlYqG6=bhqhcQAzO@W;7{IFo^ZCp+w*-6GjTX`<*vzb-j`E_)TKPC zL0i~UB#bJ7{*ld8OM=nn*kb4)%)F#29EN)wLg2{>!(iQ!X{^L+7u~u*gv~8 WOV|^5 z%9>7@`Vuy@wh3 fyn%`M`!pY0<&aQ&@-6G+MB!BqvqE%cP@Yq zx8r%c&u?WTi~Z@u?c!82V>vvv=@?AdXAi{%QSjKc!!S8_8a=Mx&)Y2Iux$`JA5Y%d z3QMZaQ6ry4V7jY0;6Ke0o~bmuDVIsUH$H`>0bA+I#GCY2Vj$K0iCILoKb&?i4RjkF zqX7pkXp7}P^1fyt^<#0we4Zj)^R$3@WM$Lo;~L4Aq5yC`A&T}%+JkYQKayHWaqt-x z!nFb4$fYbVy4fb51ixNH`M(y@h;FO;D_VnsE3buK%&*7jtJ?+ChwK0%6EvvBohX{o zo&=4Po`CO{Kf#8<1o*?wmAac20@H#ia9>Lk`8SY2=eS4HfhEy&W#%xI&R8St(F2Hz zg&y1%R0+(6e3||CUtn^?CSs(h5BE-oWb% tqIU`~&GjQSQ`SS- z_E1o_dLq! XN#xBV z?jlaC$2b+Zq^*P_3jM@>;&aekbrtIGmZSYuwRH587hIBYS1?Y3*fxo$)3vWkZBIAm z3QTL|d76ge^!vXh)LcOmgq$}8QE&7bbd4U6@-0S09XB<6%;1Q 7~Vk*H``t8Z4yg&PXd7xhjBndA~fndQ^jE zP7-F0gskK@brYdvXb`QrnoD+CoChy <&9lu$FWQ$5_C4G&=PIKq^ozfucP#m7kEg%;+)$z&~#DeCgng+8V zQJ%;uN&}a#BD$X>1h=IyZ}P`{+Xj(nLFKeO-t=Qj!C0L!P2F}wV6DFdgsnYKiUy>J zsOdvNry!e$)dN9QY#p%v3Fv+6a(d8wK7F(54A|PUmOj4!19-fmJekT2-dfj1g7X_r zfW{HVEC2R^EHV;Gt@fzGNwS!(j? Sj? tS)BB5d(866Vr+Xy^NS;2k6dRxVX)n0#b_XW6tJ{*#?gC6*XKMH^4@Uif+C=Kmnl z2hDi5!{6K1u96~-nGNJ`uBFW)yFBV!yGWp@luXj4Pr 3 zUOqlb4rwj{p2yAU=87@m?vX}vB!$kFqp~z+>KtCo=dB<^b32K-X8=V$1yk$ekf;A< zR)ehK1}GX^N|W821@C>wv%kW5lWcbfOz8}PJ3WNCpLA_r{Q4~dQYS&aXrzGUvkpP= z>ZJ{GfpXOBtt@i%>YyHf5{O=w6>Qg57pVBm1}f(XFMMz=`IVy#7p}QMT>mP7uTsfy z%*B$P39F(el}Un}+VNmGWjrL2k?^$g4!Cn+G4H^+WFq#Ifh3|yn!_ZJ*NZB!xZe~y z8vNz`&OSk;gYyXQmH>tn9|AXx9}2{qg}H`(rZ8ggC~u2q2~<2ei$<9}B*FXkLyJ#l zaI`^@h-jaOF?oD)M{5=|4wwpu8u|3x!3^HWGX-?4>m8h=ydGMbXbR_?s&sG1bm)BO zqpkVgF0d!|EBGwYMkJ5FC+<-xbkAE=vQbWy9v14{uFdWu-S0|hjs6~(7(Nd6XcWU$ z6^XR++ixQMH&ZY*IbG0P`L*Huu&`f5*9B!ucm~r9n|V!PX5cIxYN#8RP3+Akz*5~} zGVP)%4Dxe<8K#FpY}-bdXgPzbq=nH5=DoI6uQcG}GlKdHKGihc(17ZCi&NuWlvguq zg*1BO;lf|pB)RIDU{Q}T>~W|Cvbo*FU-S`ij}bb5f9w^6*hLDSABh7Wem$dGmQAGH zx)%uV=^A>?^DMpjuphXMqeQATk?>O=fosz{=%rulYz@xF(v1gwNLI#CGQKGfE{?B7 zo(toE&&(#Mr}F`ZKYL8hHe4lVl7;M9x6Q<@J%Pzu1fr8Am%$?JPv3m k0AzNs>KBK-C32I z{hA`o3(J8XMGsmR*$f^}jRd!Mt%70~Iglc~0h#^BK C_>z zd{d9m<>N`MQe{Yyl`@ dlEORn%>s71m31KG`amR`C^y} zOK$k1JsY#&!E$L ix!-j9cFeD!MHJ*QZ6}k^<@BrvtQ`iozGCREhK8xx&nU z-NbICK5v1sJPArwhw7`!z;BX4F77`L?^zYWi%F-+$O;GW&E1@KKYj~rJ6eH;csUus zX;4L74P+gu7L4=rK$8mWVE;FLs@eXIniNFP%3ayK@0LMuPTB#w>`tHHgYtCx;?oU5 z^!i>>A@&VK2LN~}x6gLyd>0%RzH6S8)Il}|2ZdhI3pDS~ENIkr1vqD&fbNI9=##T@ z%)r= Xhjikv 2`Hsd+u`j;oA&Y8~6p-6cr0H 0s%2%aC=ZW zc-^p+{=OP4F#j|}_upF0JWsy_Wm%%6>F|2c9Ct- 6)B)=&?;1NzM5MpJf)1klGbs z>0mwxGspuUXFI`FT>>(q`oZ?Kq7?i!a)7*lUP%8cx`EpC^;AvRzwW)NigtbLBDJa$ z=>)S}s;Lu0AKS)(y>~hAaBdhBX`V%2pVWezM862!cm5WHe{CQ?KU{~@aSD2WFoWC- zT|fuS9YLy-6zj>9r89S=0M2{5{;%DVNH~F`#}$+ScWXH;4N+uE7nOj}-)Ydd?3dun zWqH`qsR}c{r_zByUos-Ul{T?P_)Io|K6@ENZu*M=O`CM+sXmS_4?Rhm>^sS?8P|!# z0zzl6RcTl@Cxgh%i4?q7H9-@0dXar=dVzywDSTTc14k#xf&P_`>4ub1-rn^s;DDV0 zxTC|TE9q)@YAg??&j?3RPcq?hky$i+UK73BA5YvGkHGG?$@FrIE?qHgCp6sP3LY-i zV~rl;sD&9H;4SwB7Bb_(rE)2lWOsw?eK9PkdXoWE@gQh4!I;5s5_nb#)%-aF7hiB?4w9{Kd-?~uey9*e1)ikCL!xAr_-jzvK9hPo9kY4- z_^v>3g#nY|IQsC~7vgm-o5&r^0YA($$=iV@Xp-$jPguX8R&YO+Iz634%+^L5?##A{ z_| -EC66#)lP=sc&mCn98#Wdl%cU#(G?}w^0zTKD!~GFc;Tt7pBfrI+xH;z`9)7ls z|4zLQKMnWBf7^SwT-`owb*m14mOF(Vlu~eKo)5l$=mIBmJQcYdvBlfCDy*~v;ehfd z_yzX@54x0dt>Kf{al=8Jx~~;$!Bd>)n$OJjj~EujKgXGavizBX61=-p3x7MC!(Z@5 z$a;JJ8Glz>h&Q2msPuRe`;hP*%gh>KVJ1uX#APk>bMWJiyXWJ!A} 4R zDh@Z_igOR`MLpGL@rdOGd?U9Q>sN-OWXYBIs)6vIuILT^qy7#btdzv{eRBK`@mw5x z`ZqosCW$tDorFaK+VGQ5ZFb3O6Yf+i#BJrZ=*=^ARFYiA;^qfq5;dOLo2WJpzPQI# z;!^zAA{x)@5pukzAHvTY^!f37jc`WPMf^v!ovSVdoZF0RsPoGcyxh-{Yw)YW@?qEU z&Yp8<)H@9C+dL0d8J6N|vXE2u&Ie`&HJs+T?O63_0^Tze$X#zej{hv`W)b^eB5~1S z8hEP|`>j>v@5w5{tB-%h=ZDm>TY@cr>|_Skf0u=wGK{zd$ENZ%?#l7UOSfX4_DkHe zaVp<7JpmPOsK+sDhqz<6*P`J-Ic^#67A|^~kJpZ+W4-b3aA6;TFWiH1nMOJu)jfh9 zk0s$9uAN-p-e~U7!bkK9zk`Wy*^OmfE5P!JS?tDXQ+&Nm54SC^XXCb)vl|z~*@Ih? zxw+$V(a(Sm&dA{_v?}pL;Un_+zeY O<`Bx2rJ8{uZ 1pvQJnc!8|p#y2+QzvC2a^wO(i=dPh?3bI|qt4m3x| z$mo|6GH$hmUbwaaU^eE T)r=Oj*nHNf;&P zGjKH(R?R8{L#p@D>;+NqSr;d`AD2o8KR7_w{B}0*_9Cb-T*yKvOy;T{yrd7FS#b_O z1K`3LBjlEU6m!ns#ZDiAn0G%JDNJ05eGF!@Ii<%)-08hs>DWzfmF*_(>nZ0(E!!=u zzJ4NS6zt0G`dia^VGZca(QlmD^_5J){w)=leiZV}#@N@GLNaC9L#7yW4<3=+M(@VH z;oNkUx$d!4N=r`Q1nw9O51fq0k8@@Vd%Nk~_nK_nuWd*}Z4)|a^Ox#&hM sc)kBhPX8z-8L-riJZ7b?o|_ z3#?Vb09On&)93*S{MzCxtLxZ8Z|h2+`o)LX<$ QrScr^7_DcOLQGlRl3ls&l+)sHH1+WjJ&W$-LIJ^Nk5j65}N zcJD84=!Af-_H4(4m(L>KNE=R%r_CPLjiL3C5QU5=;}=Kj@QdqPx&NB~5b+>6Z2eM& z4L`7<;R7=`wQeQ!cBK}VVtfzj+YlHxY>rRQctOY8h2eGeCTx+?c{Il(8;_iO#69!* zg2QFKsF_YH%at|3gPFJ4iNXRwMc!BDXtsgN+i)?`Gqt!uA_hE zPega78}eNqD>q)=zK0F>yvN&Z*FsHqZ}xJc8YcxkIMYv+=tY-5R?xSjij1JZ0wXTJ zGX`(l2C-V559{LHW7~zCOZD}(jXfPY=!?GvUMtN1#X^pae|wzs`R>i_TOh*SHebSR zi9gRGx^A(U$s6g?zlFSN?^GlacZ+j(QRjT0O`^Bf46*(9v~UE`=GMRKMU7#}?Dtp| z_pPD|DMx =#2a~c%o-!k09~fjayP* zqI+q@jdo%q^qZX*d~!^wF-^-1r+&?3X75ikd4(HnrRO_Vaa|N|Iqd-)=FH*VZcRYT z;w~`x{+aB7-Cw3?*TnkwH?Zp75A?azB0T?QFNrj-r88$;hbzifGXwmQPVe 7KRP-YA>yG{$eFKYP77vcWBixKl^ECaIY{cwp~HtXItn{`B-LFSuzc Q+F$Io1HYC9}~uoeS1Q;DfKd0c_q}jFqU2VR>TY?UctZK zk?>MVD}7kLmgRq)iUn3aEbfyzr#-oh-MXI)3u6T+TJt}gxUiU+ofpGN5+~T&!?&Q9 znh2|Li9vP$MxmqLOm WPp?>c> z&Q4T$cQV`MZH-oby+Pk>vw-`Hw$j1HcaWGcH)a(2hP`kKr#94s zRxi5At?3FzYc~7C_rHG&=MF_o_0MXy<6uSOmzs0Pt<#HrxGaTT-if2Jvhz?&z7Veb zl}-1X`l1=Bli6#1VQ(npVwqYvFm|a6H7tC?)J7KK)sE$G&NCNSX5`7aeR|7YJ?^6} zs{gR$ob9M!&mU%NFU^?ph>)yshs^&Y&Tapu&$c)%;nsn9kjZ~yw_D86x$>=8GUymu zdSELG2)T&e0veHFW+MF|_8RB4our!+g7D~#N;+Zt33e@3p94^u|LdR{|8db?+H87B z==pqvrc9cG&&|{a&m~gOh5zJm;Kz1uk4h%%wy>nC1yx*en->yIJcPCyisKQ#wRBxa z3U}veI{dTI0>|wbU=QM_u~i+;?Dkk8d-T~3b_;pKGo0j*W>G16S *U>+BcDu;bia`E9w&1`i3 zQe4M>$`lUi;?WJkDATW)i`*HFOwt`Vos>4Vc26ae^D*E&$_H4>qkcBt;UChQk&S+K zf8&lSt)&Bd-QZ?LS)6p~347CAhhD~SWRgQV@TG4zJzp)2w>*i4>d7%UcAhl1rlXx- zDy$!0HqXUZ?kF@qUyZmglE+zYR5ROep38hUsd3XpeDTBxV_N5~jGP@0qxx|Ph zRuNuF=dfQGaHQ!SE8 FK$FJuv;$?Vj=_w3^5bWUB!gp~`a$6Y7+RKhhI$qZLuzc)+qXZH^3 zrDTL3^fPXSx)D}5rGV?{BnF*aIir`;vGi tXn|Zjx+IH{LtZOQ)3CtOg??!EBuj45 )m3awy%*hi|G1>o{_J7IdoI~u IXD>K{kuI zQ;6dxIO2mV&OoEUMs|IT2u3a&xGgJYGR>??YB_d`o43sq_0@E P2yjbYLt*|S%)|p&@&HziG0sKpOk^iZ^hz&Lat|8`bqpUGmc0kUuI{{OK@)o z=Axt{i`h(} VVSNA?1i2w z&U)0ulyc 5kj%)bJ}jJ2wXxFN=rUdX>;W 7ccL1M&9~4NhXd%+)pf z3^6xOje)&ljcc8)ao?it%r$5yi!w<;@8+( HX~bkS h(YBBw&+<0U3=vO8WXZ1Q~C;-z1u&Y zLM>nLLVFAPaN#p}eSS06XqLh=!-nW-VScZ5))kggtqa(3K3X&Ml1q}5U^3B))K4mx zDvvLv#&SG#>(dMF!Tu_=*(#dt(mO+g3QsVrwlpAGoWLG?s3E^MGtdOH093fqjlN2< zVz1Jr@Qp=}=o)!XF4TP(a?hMtM&3cBSLBO5&t#*{j2&!ldK?R}vqU?$=y7$z#Gw3= zMyQ~41uUpm1M8Qz(X2q>E|HZJdy0l>eD*AXl=xJ9YVlcEHf|#l$kz(29L$*iy63iM z>hC~_o|EY8=eZ~_+>|-BO+-cibzt$;m0bF?a6D0dfXm8BVKZM`WAlHdqC*o7upYmY z%y#%P7bRp7b_IEJAlU_Ks`;>6-sLRSvynMp7S5&BzEF*;uQ6}@C|g!qOwrMJ?n?4u zX0uNeFP@-C>ntmfU$B7rN{+{&&m2+XITg0~g&YEY!kk=&2dnp5P8@Td3+B9y!<46q znxm>15T3Qqg7fHpSr*rl@tOV@a76}^kKliQ&ZBeU!ml8_pDpXbtmUyMJ$LsyS30f~ z^~>ymO__YO{O@CCC6-O!6l*ZACDK^`suZ33Sqj%pt0X >@21~4!)p&zd$shCmml|6^A6pH{iR2>)`TL z&FD~{Hwqq7#7A1SIlrZf+_{@|IA+;37SK2WrC(jhWfBUn{BWiRUM}bS4@aWZEqzRL zG=sgl5GUlk#iMm!FHuLO)7-?)FjV` 74ws7-j9^$O;>NA_2C+H{R8=T%gcYI1G22rc80_9LeF5v1a sPs z2Ww<;U}r5`xal<#YhT1NQ?03$Rx1tboWNziKY|wSOGj4}=d-e08E%7L5u3LrlI>rx z0$ohyaK3{Q)^@9+Pv$Y^wpj+9Yre^bl@_zQ!@?acGYck|x{PHt1UCv7+L85@pEM() z2>VCKp(XB$Y`WD`RKPtz7n ytJ%i-W$f7D2K4Ux3-;SLgMJ8>!ZGC&ILEh|INwK_pZqV86%01x6DJb!f@3ix zZ+{&-uX~m8LaMkD#Y1%c)Iap+wIOD^(hv{NRX_`yL-3ouhmh8=2Hx3Ff<)h*rLBK| za!u21xW*6qtgW_!ndf>SSE0lGQMoe5EN;?ri-+t*>pqkucNjl1VAS=43vYOxJ-+QH zfN|f_QDC$L_x$uEtTMZuPF0lVhUKD>nOP*AoZ^cLi?X>P!;|px-9;>Z=qehHK8a4; z9c1!)hFqb?FkPiLfz6(K6XyAqF@uzeoLIqqb|OO!2`mR$T~`e=oO+(h#3`|Cfhq)F zSD@z~Ub3meSwj1x3bZs%*gsCOf{{K>=&hC$>b$U%JsNib^#;9%JFaOkiA7r2JWzqr z9ZQk^!fYma?kyc~D`s&^2iZ&CC3G_{o-MC)W?Cd2YK5Azy$>|tEaM{hV%u`|?>{Nl z(Nhi%@2q4?GaT6)x4ZO =dw%J&T?P+(^;L) zG4N8_g*`fVh0VP-Kylq}X4WNx-kClpzr=Q9(fky&({(Rh8f%BOqlCUip+hKGVGBx8 z%%o &medH^y(qMa4%- kEnq|WX2?1ANXvgY fo+`{d48GTlgE#_n{_o zV%= C^Y**G%PJfor3p7oYb$aaN z|2p8uF8$ic>g9eh?}^v>LCb&QWm^~U=aov+v(0jiZvr5SR$ReP_bA{`KRLkW^BUn} zi7<4icq4w+?M+n9B(q;**8B&HTi7a +eCF?>h!5sDhwg?qlc;GvHpjbfeQ_#AhJJ|8;BmA9 usxcmgb!hVyCIv$7x-n8%S3!?^*u$7*CsC>Gf6#lmTZ8;gJ3jAiFFbl> z4gEcM2D(qVMb|`l@!#&c!n&JM`H!Ub!zI@^G?Wm4IN`nV#2Y6z^UQqyy5WOJGT#p+ z3E9D&V@7!R;RCLEg9AUuA)1>IGZ9tq{fFk&8t^s3?C{0)W-!aRiyIMhq?a#8VVgJd z{4}u%;6z6)Zr-tjzwoCN|E~4~WIkRD4Bgm)AC6);S{{RKBtsiCVJK&;b&i=_JxM>L zEMv#zBk+w57w(4QIrOJ97Sy!K0iUfSY@gkBX8IbUy*k &29&-)0;6 MA&(7pXN0r`we;VMo<)Bk?Q zFp>RTEJ)m#osMin*@n)IIToLp>X0A% zXC@W@@Ru9(Nq`e36`?i1j?jrAlQ> a+=60@jZtf3G)(X9L5iOvsiyKdq$PP8eX=EJY~3j| %wfM~ zwFkekKlS7BPF@%9_`&0-=#L&st~|uWU4O$aN9<(>|1zj_qJ$al-N;HEPr ^uj6ROQYSO{w6se;O#S^UjQZ|!{A4CH>&a8Uj zYc^}L98EZqz||h?L^E6ykkMp))>ol}^FE5=q?dVURmx>BU?JRF>>6RA&%~Lsi9J&J zG@g^_OGNCWB=#7tA?ijk_`;lM`eLpo);G!q^~EaO;Dt!KAnF5?zhugMn_ko6eMjI1 zoA1aw`Z9eHzZc2J9-^#aW4FCLISI` zi0Az7RG~?dlDHAf;MOasu$dwVxi>q|!nA#8(lvGTWx-GAvPFr@Ui}Uwol9h)na*ed zsfMnJhUn1ZZ|u_Q-Pq(z0UQ*1TkM}agzn3}aogK&F=_r8mg1BMe~nhL{fp$$Qlms} zaB&*^BO$_$ht#rzQ?;?{MKK&=O_AA*Ce$~wm_~R=G0Bi6Xde=~XG(?4 bomRbHp_FlE@ZtgE; zD)2(oGL}qC1ze|{4p 9GaM?6GS?FV)KE;i_Z;@wt;4U#Pf5e7=KcwaV Cvbsq?Vej{=lV8 zZDCTkqFMhrg5w6};)gPdoRw=Eb$MsX#udL3*k3$GF`CKNI?ADe&QrW@^;VRnTMbLR z7jR+n`4p~AK;I^0L#;jkpuJcnnO*t;H8v&E#C6^{>f-<@SZvMA{xGI~_%WyYM-fjI zaugp8kLPx+w?Y<<;xNZQ7Cmqj;Z{b~v7WXnWHo0VcW`|$x~sO5GX(p&-vy%Vd6V!R z?Ji{ZVtX055kM8M1mlynnJ{1GAI$r!OJ3xz=U(kxf}dYDW*0Anu`!9qoQ&`c&E)Ts zR+BcGVe%73j_+f4%5qs= 6p=|t58+5uXg_bWAL(X@@F==VS6}6I> zeq4w4Y(2(JnwpD3Wv8PrLa(XV&M~^7Wdv0qb!PijltYuvS@ 2JFE{$AizossY!^HZ-&ubOy*wRHYsP$$ zDzAh&Z@&+UPacEq@9wi1Hs+k8>N~nmS%NKBiDj^EF|!|2=0+c$B>DQE;8R->&i{!t zYph8Fxl`j|%5)+BL0Z_S91;2j%(LJ^fihccXM#U(i-RTmbJ^1+-ds#f6`ENSNtL1$ zan0Ey+>tvGsA}&duHAN+g>LyvtDi4q<62MQ{IdT$0S0Jbdl4<4m4*~6Q-p8R0=Q&_ zGWYjEJ`%ibU}*0K_SZ^|ZHcgEfl`yX_~umXA|6dvZj<5sl >rqEdDl!r{aOc~du-xihT(o}$n(LOv7ERcL+w^R)%zbrElpnzvuA5Ko z$I79{2t_u-;>dNeB%XYw3odj{=4?}&1z%^m;|~^ZK>ivETayw|vBq`cI;9=ls%_@f zbQht62V0q7_zpBY?m+{jVo36x&pgEkFYpB?Sp@V{xb*jvsQRX5c)5BzP`P>-R|aG; z|BLA;ui-hG{^~7#^S%#_H|-@~ul=H*d=oiEk7MYruOq%S(~?USy4a!XV-zCv;;!cB zqpNp+0spg;VX}S!>oasmJK-s4ksU*)8OPx@lMRsH9vx_z5G=(r04lRkl+KLiK~ zuAmQ*l3d%Ohp5&lo_Pi}QEiVD=2w=FS~IKIy?60+g^wzyYaE7t9crdoo>S|u(g89t z;vZVwSB~EIe?*eKl1Q7YLb2yt&?Jz`F5c-x`5vdhypljxb8