From c6248bae9542d7067078604a2584fdae27b05fef Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Fri, 6 Jan 2017 18:43:06 -0600 Subject: [PATCH] POC-108 work. Adds unit testing. In the process of converting from scaled integers to using floating point values with a BinaryPayloadBuilder class --- Modbus Map.xlsx | Bin 67446 -> 69924 bytes poc_to_modbus.py | 31 ++++++--- test.py | 161 ++++++++++++++++++++++++++++++----------------- 3 files changed, 125 insertions(+), 67 deletions(-) diff --git a/Modbus Map.xlsx b/Modbus Map.xlsx index 6b20116931317ba94d21428799cb98a29426076b..4818ce1780a4122a61a66234e6a52b1378e81f49 100644 GIT binary patch literal 69924 zcmeFYWm6r|_a%(GI|R4jt_kiA!QI_15`w$CJHg#0xLq8ACb+wW;O^7;%{(>p)PLp^ z%-k2ZtEgMO&)H|Kwb$O=sK`UZ;6T7ZAV5GsP(V29c4NdqLO}e5hk(F_K!DN{2RVMV zaQted?&)OVYQW;*U{78M14Wk)0R{a2|9$>1&cHqM%nf_I=a3Y*ttrFF zJo^05?xx&`k%_6G0}ZPqN*?^SFA3^$!QhzSDIm9qISc#^mY-qTTL|nM9rT){e0!pI zik09w-K-Y=Olod$%9a_~(B1EF#PF!3oCl6WdHFR>LD#Bwb)Wa70_iM#b`fU@s zoz>&pZ(D>@b4q@M@k1gIGx`)Xb^%O;?!L_=ce3R`*N89)8W;2TFwx4Vq>Du2b0fxg4+_4g?j`ei`~+?TmC zfTgE1kX}E(ei;AiwpWA9_g#P(y`GRt_86dHdi-o-_E6cy{|3}{ciy8aBY`r?EPi~M6 zAaBq)hRbGYXHz;2U> zu$;YNtR`H3+_vITng&M1O3ik};-b5qH zKmEW!zB+O#D=?;pm+H1oZkFNkrB#oe#BJkj(Er@jvmd#g_ystp@NqQ+pZe}?Dw{JY7PO@&M2lki-I5#HbUxdBxPo1nmvYUL zV5iA1p|>?~escEc_Rb&lEI|H6fSPl+b;Q!!z1$;8CE({$c}6UXd&;M=;jSFRUy+Z? z!a-tPoig0gZ)VN7far;XThA58X<0_ZB|J<09HiFCs+mIkg!b8Jk;g(u-h=(B3HFrr zhw366LItF{#+*$VhB^4b>8HHtwjN5*;6O0K&^XYJ94 z=Sr$Dn;8xIRZxH2da zizkVGF_3^Z0{W?Cr}^|3wJ&N8^+7|0c%=m@#%Go`Z(GqXVDn^%;KhGN5XxE}8 zd$^I9mATb4fL>tFqj z=O^$|MxzkjG;-75c#m8CwPy^mi#-O#1K)G7wJ84DxK5*>R`tzy z*c~*bX)NKKkfcTQ4`<#MisWX4P(Nl;BGCP0Jl84QaarXLtf+Lmx)EMa>$JwJJigto zY7kFff)O!1Wg%4PZ_12TLc|PW$dlC>R|ud5JA%>|C}8@O&fHH{aCIZ`kLoVJCYQ`Q zlS-Xf;FWrEA%Y6O5|>upI(TtTCRuPiK6_)A2=f$5sR^8ZoTHbsdQE`e!9cYMS(S4! zJ|Uu`x#SBMyG(*!$JcM-YoA<@C9uk-*0*deV*8oQH!-W2Q&PpJ)buc+k!vWefraEp zXZOxeD=6!k#f)0ha$-z13K{mx)w?-HpiWb2ZKUA=(DVOFGV7tR`Fo(Pxn_lcAo!mo zbG5dx`0C2~p9|MNMX%O%aNUu@dh^q`CsTjg>5PK*>g#H=S0$*AOU3{@7Zjv|oD~!+V}CP7EOTS7*|-pSqDu=Zl}GVQ(R6z8K+iN>Lqs?I6tL>wqC@7`byImd52 z#!A>~mikG#jfrOqV+&or<;wlbrT5j-X#Z_#z=BXUj8VeLekJ5hvfm zYR%eP;s{$gpr?N-^cJy48J3_;ztZLK#z1-DBnMhq98{W})FP0R$AFtSem8wR;3&V@ z);Si>Zw-a^WB5ci_EYh}nU|p(LP-5}c|pbseAkz_C2q09Tm?G!jr3ot>z#LA{iN1< z1Hx3`?7bM_)w!}2ISVq`ubAd6@SQx=`#_FC@Y0I?!0zFTM)AVY;@H88kt9mfnQXz6 zrf88FY{6N4Xu7SB*P*5D5zpnV{Sd$}S=;`8DOSXk0eS4gO2%1669-Y+{8xQ_d`bL18{%2C?M0d-jB;uNW$<#% z@T`%r(#O0*vh8!DgLf7r|I?wjGz0w)_y_wF?OYSl^1GB~Cv2?R2e_NRJR zE%I#)mD(_FuE6n2hGShm5|esMaQ$3JjNf7L{d&3HeP<1vrH6wr(QIqyUK=-b$QxSS@wAu@2Ol9{RAchMU*Q+f{5Z)Wxl=>uKnawXQx*mCuW-l} zn-`djkEUN*t}OZ-@6-tyU!@c*cCGAf(%|DhwhB1y74XS(b*8RvX+|l0V`QmzW}H)4 zk3v@Nn4g>8w*SLysXI0A4}Tcs(A({L+vZAdCv==T!rpVx!k^m)zu9E-J7^ zsdy?J$L4oZ=-lI3BJHh0wX9&WvexZH<9w-~PNwQ><5x*Pn9?!xw7%noXY~i2ZC^P; zy+0*sckTP?mVpDh-WPRr4>TM5gZ5dL;2X$eie;m+#stb(oZ~Q7WZdFJ+VzVDTFIuaxjU}OOh9O||`jUIk`-$tP@V(H>>~2k;&qP+? zYLIC71$PDH?-4*sHqAY%DB1bnY&?RGq35W)Jd;ClY>Q=h0)h49OJ$kkdw{cW zY=wAn|1@eWH#4f~iiqPK{!P(j>pTQ4faQO{d(0uQ#agiW!ej*S0nv?t=^G+t-?y|{Jo?-p>Ya@B+XTQNA%j)Q6% zI$LIaCSrgI}{GfwCfsKH@~ACX2q(+sq35L@^ir%kYFi zFtU==04}`*PTeNKrS>AAQjq+46DJZ^JJB&O_eVmli|(NuaK?|h6B#V*n^ zzxcObWy=JS8Zp`Jg6yc=6k3x=!x5{=k3qBU+q5ygdww&zA*H+d5>66Eb|>ze+}!5z^$9BIJ2wqTq~ z?}ENhoVr3DX-d=am0FkZIR*1hd3Q7WUArL^vn2|^4Sj9YvjXUjw_sJR6yjiP9Z0~XP`NuNu_#XG2Py?l+*re7- z{h5P&Fb+d!bscClxTUcv$M*_`RI(f;G=bB7foy12I6QU2+?;xlk>$E6U7Q-o{ z5S5YEcQnn8aF^H1O~4BMSF=>t6{)!nbR?U||3|aL@y{&fr0IcHd2mKH;s1ViS_{@w znCEUV8~C>U(D-RJtFToN?uWv%1oaoHW4`5?^B(a(s#6F+8K!KtQO- z+3HqZ9(6WvD??1=nYKof8U= z8QZ5{tdAx>1(ok3`VH4%0q55ME)o!-dH#4DOf0R(L98QGOwREV&Jkmgw9aR#j*Smf z=gsvSO7+MHvSvhoCNKlH1E*|=l`mq^_3q*WHy&u_D#~Xs?{{57QJC)Y8KEhESJH9GnXik zb(z5l|E<@5`|edfhDW^;cUB^%KUiIWev$bLKg=i`lo{lu?`H%b-ixU|5jRx0VW`>G z>4=@eHj-fur0Kh;Ev1BIZtI)Mn)?4+jzOAPf zLVc98)C+1Mh4qGOhqWOoJKO7y1KwuI-JX1UmJ?H_WgM+fUz0^})tuaZbsgLv z*4j94a8p`CF2o{))og*X{^aYf1^&^bS*R0{l9 zQt_!tY0cz=sO1He>$;5T(pCH$$598p2}ikf-1`ZAW2d~Vm^anjz(Rj3#+gp}$D=q| z$)WFFKam`K3roVy#bMVXYclbAb=qPY5e>^sCRB4(6mya@9AJDrX4jh-9dvfTHb>k~ zdTr=l*q%GqfN@L?-r>$Tyysl5xn~&CJ(*i4PE1!V-6lbv?mGC&_NCZI#!cj{Ix}OI z!lORFEMuva>@~~3+v9Z^H(}Q}ax#BwTK*_$>Xp{_f*rgssPWr|)(kJ^rNoO=0jg$qNDWjgSn_W&06cad&-*=BL@r%=}KPyCG8(x|SsC)t1J_ z-{}T_-8U;g;U{VgeWIo@cJElFj^6w7iq0yGH+|y&_`3b}ck%Yjrpfo^uFJ#O*{{W~ zYkk9kRM^-1?LII4T|iLSd!>%_T=RZ)BarwvKi`JnPE345g)zgUO>uU1#xz+Q0c;3SO$?EG9 znqS3r)BB1enO}#2$%*CdBjFo4S<9+X{hHpWGo+iq7r$yVx6aL%j@-KQ^IpOC9)iC3 zr#yA$*U##YjdioH_qA^{uTkgjR%DvWCy#e;M!fFN(=!McX`Qzt^NY`~@vECXMj#>I zjRB*Pi<}GR?v7`(2EUHbO+?-6!s6O>$MZhAm-FQTI1;qn>p$*KhoIQWvFOXT9)k3l zLG+WdSC?SC>1oGaq0?4$gYNGY!wA~6R2RxNgA54D*+~7ut3mUBhkh`yR#KMuc|4fI z`G=HZ@8Um%-1~2VplhN|5pXEQFQ&!4u}EPAJQ&d51!^gh7cgF$xVgqpFuMfHB`>BI zRQP?r6u*I+7LZ<=n#DjRb0g7bD;^*CQY=TWQVXv+Uea5fz6^Swj1OPST1LDuGVOMltzG}ok@HmH%G-P~ zi?;;hGPm*V`0!zh(cm#sUZ;!bQDNYWa7(%^rC^ zz8m$vM39bEK5y6|UuU&8GSA1nV)+YkNwqzrI}%kr80cO4!B4;L?!SQizZ<>2tQ&2= zzaPK!_Ab{6tqatWE^KyvdOmo0bl<;jx(4Ou`8L^o_Go(FmCwG@EEe?heW>3M9lJi% z%0Sr9bwW5p`Y!z5bbkm>K*Vcw#_Nzt#&+qSo9B)`0h*X}Y4Uz>Xx7_&X?xRf_-%Rk z+743eTXp{R-e)IzDLm~43d3aE$Y%7a)Y|8KXg_kdlIwBg&`+P<2yp*`c3|OJe!jJ* zP=stBbGm2fe82@{S;#uWun5$_l$)&OtTfee)xC&!N4@d0MdqV0m(-{B?BVZSHGDtE z7zf5AvrhIh%K6&wtWfv2ZO(-fuJ`utMG3~*IRzBvPIFpk-xA!3wS|#J(l8cs(54# zmwSroL)c>9?_1ngIZWesYV4zN`U}`q5gdu|#q^w0Fl@yUC?|2DXc@#V-X=l=B1I`C zv^qPp@2kpQdvV|2g5Gwmh&_HJ(mkvQKXu2CryPwPMvNCELey%T{5=eY*zf78&Fh9N z`v{Q!55Kyf(_56XT!T%^b?3gcf)0=lQ?(La1H9=+X`LdlUd<<=Z2q~Aud9lTEEx)$ z&4RI47m3^3l#{nk3hDxD&z$#83NhCgLwBts(|Q^72J5fz)%%O?AmgUJ3B$d{DNb&o}Qw0Kl^syvCYSn=PR$9zlyw{O_SsK)z8`lv+-E#ZCX}4_p1o=cE+#z z&pVlNH{-8g46EXvUkike?;VN!>sm=-ue_Y1wwMfy+YRF*qZYmW4}fc=VQ<%aN4s~c z!8%R%)_9T8MSU>#`7yR{52vRacVG>+&no_5y4J2=|3Lc1qWRX9*UMkj7`U4$tMfJf zA0y6wJzYZ!D^urbWS6lBI{FWO=|k7AvbpDW^Uj;Xb02*-6_d|jTFSm`2(xz?6}N8y zk?(=Xz%_Cs@41#$`J#5DrvJ$ORo#1Wzz;*w`2lA?%f-l0Ik!8|-KPn8>zw zaeu#BhRU&ozurqd=~{{1b(nZY9e^`fw6USY*=@6N!<{!D?0i#kvfRYWR%DZt$7ll1@14KYc7CA@5DKw+;P{ma zS;Fw?;(aPqq@qG@Nx-t_@uX<;MUqG+B(rP#{be0}cIe%KicTuM%YPFf(@tpWn$oo z4EH}Ot1sy7^=-7?sJv1rxKs-zyT~2Fvwk5&S1o6`=_f!}sFjy&z64Wusxv4-j!(Y6 z{+WF`c=ZbZ2$7ryU8IHrAzR#vQNCz^7Bl3MPtysTzg}q8Nn?Z>{Kfs#An#{(PiqJ# z=9uLZj|zeW=m0s7XqiDqxB!BfRbF{FfAqbdkmRBJVyr0lyf!Sj^J|-X?dlA_U!8m3 z5B?0?X(fOc!&z<0h?Op%l*KxoD3?55uS<^Hl1XSqMBJm%&eKdq|3Vu2{k9h^OMp*< zt_@|E?uvpuerMQY=Af_BEy{q<$!Tq!Q3@!AQq^X?8Bht3^{yx{g-E_vt-yhOfrUvJ z?ixm9^*6gq4)NF??bv?9zI*~vfFM&^kJv!;nggUq`(wxgw8A$}?#y%cz76Uq5y6hW zr2gDFh~BA0smt-9-rw&cb_>thFw3HyoBX36@My0})F*EhkK{{s^xsb@kKKg%{mwrk zUgHH_cO-w0%s6RPZ-uCiF7wHP{%+cQlDM8k!=nFFf*c!x7W)D8G3DmCcX=*YIRmZKK!Ex6QM6eXHOiWxy`EXxar&)*9dC z!}&vn$4IMFD@2FhSC4e;EqnV*tDvJ8gJUJ0xU*9?xyz=To!RG`ANk*Ja5!J67xXgf z-5Cs@m`|A@?(s;@YX*@Pp?h#w^K?YM2ebO3KQ_`_0W`FFV7OuCsQ7md+j?uQtr$x? z3KYFF$Yy?^Mk9twMHhu9AW5|RZIz1Op0Vx!rpV?18vyzGd0lmkp&{!*bW2Kmd2+21 zXKy*N__<{2@?n(h>k?eM+DAcd-}#cB*BDtQ88%Cu-6^HY@!`EOE!nJ}c1q*nCs{NY z9u=~$7N`%MzV=4fGyTZix&x8jR~Z?bS+)9kJ$1-`?iKjlSJkUv+MTfa8^ZsVcbQcb z8KZZ;VI!)}u>o;vB7FM3A{3hFLYq~1q?#asNJWR0I4d?vb1ysFHdYK8@8p#EYxZZM zXpcp~CO%BSB1r#uFKsiq;wmArXUhnC}$5Tue${)X4_bMQ_b0<1F_Z>bP ze^=s50e`(z5w3A*ADL`GoyyJwqD4X*o&&pk>@gMb>LxAB9{V~^6uOul*k(!Xs7hBW z`BgsoNVW2AqjkV}(nFtB?4+!&Grnr|7M1u+L3k1IYna-ga_U^{ z8@pxeZu<+)8u99uN3X{r`nCQv)TWk!DjC0lg+S}{?zA_DXRU70g&(8XqD_3u%IPQK z`=6~Ijy6~Na`P|$VdGWm`Gfxgp|VqlHfl)g?KpKMayv6_gvUCq@PrS<3FV}N*tf?* z{MD`U09G$x6J~%!_TzU)LGr_uYqw4eb^z&u)%0)#iLM_1CDqP>V=6}``B5quNMOK# zn|n7XeSBvIK43RP0YiJeIbe>NiD1o!GR7#Jq z=6Mu`wb&nWe$5D1d|#!~IuQbd=znG|U)4jX_Ek#&WUDQHP@+R!{R6Z@v3v>E2*kyE z7dr%nZVp@wJ2~QM8tn?R#EWAx*)W80r$=D{A@ty%Mf4qujYbHnU~JgTEjMJh#N zcS94}yXHX()SykKQ|tJ2y8Bml{w#NsEu#lb(&RJMFN(0V>m{l-4AxU_J$k}^EB;El zsKK+}MPOw|Te%WJ6i}YoFZoc$JsC^o0h~so`)81s5%>zEM92aM<5Y$?(5kQu*UX%m z07D3nnGS&U$H3Ch;d_~sgNu9A)ztzCR{(;jUtBMuJ4qj*=AQRu^I^j}MVXLCzNOK= zGD}#4lF48o9`NJOxbQPBpr;Z}$O9U8q+i%QWgv1x8?=#Skay7Xdhq-uiO2kP(tGYZ zsB163cona$SpG68YrcX}(ehlA>oXlFAw*E9$oe#)V$6VB5XbQ>l()OI9@IXc)cmyO%oT3Xt_bi=2*!mljD%gfIxBR&hbZ&%r<-@c#AwC5Mu(O)h9CVKpf@0?F}efE@A%fpQnO z%a(hW$p>P7Crc53HOEV)wC@F3vah2y|q$4L1#%2Gdaoxqx^CMZdOP3}ff{z8%bQ z?hzh7EDU_VpLBXHa}QIkCeF`!uiw!`9MJBqW@Y$;=^c2o|v>Wx(fK!#u?1;CNQn z@uzoqp$UIimSQ10qxNPyFSxQ^~e1&Es~kaoN-H-UF?)1qMM zp|}~^ein}cJcGfLJYzoUlv?MEP7d^3Zt`7qJ?gM}?yeAY;G{{OJ5V4Np7n;lZi)pP9eNRn$JFl*LA zFlv!#9yD~h+7F1rKryOe!%J-GWH=R;Y9~;tw7aB^r2;uYV5(gMz>h?)Pv~Vb3f}vv zuC7Osp`R&Nq7)|rCmn}Gzdg`rql#rxYv0dQ7@qyY#sFb5Jo(Eqi#lzBg^cA<=`U0a zic+!wGNqSc137E~rR7q_xY)$MHETXNfhfo$a0X*mqeTaqu)Cf6#K%tWO}A!Q)fog> zj4LEW_YBC?2c>bs<8{Xr{*!gKB3E8Y3}j1u^zN&Vt}+jF@*tXp(Cg1 zC-5?%0~e11nh+qHSfO4F71u6N&LYZFb6kp>pEF***;a}M#jE4!;z9_<2=CG&A zVTwKpiVfXR<0HUbG?1cbW(v+3_ajkRe9azrl*#T^D5XW$3v=-HAq|!g(Xl zBUJ^H%z#+;WkI%!z$F`P+C4byhzwtsRp9vq3oi2S z?fD~9@++NaqY|m1ZDvD&M=cVaAMp+^@R*0G;7xP^4I9Y*ks&w4?{nZFCg~I5Jad_h z;Ov04qdJJs``C9Gh_NeLIDGjSgzwTm>w8&xF7k&0TbOQJ4@0Zm>}uv~@APi(F(+b! zE>+$Mp9aIG-wjmEP^g$e{I33{>0t9%1igld_ zv6XD>r?1;UZjqm~^(h$!5Jy67>b6#lHXVf7B6sin55r!I5`93Wg;c;%DA|z;n9B|Y zkMFDtc}R6ALG>i8W<5kC?9d872tpXelz|N2O(##bb^ZFkiYgLkJb2*I?zmp)hOl-T zl++F7J(xool}!H3T7>FR@=j6A#aWBCiU@AgqV>uafLxO=>CYCpY`ZV-4E?z)jHUmv zz;M)|qj%}b<~+U@@^>!4Zz?KMnnM1j)4MuJJ%(e zgU#9xmf)<444M4HJ?lUwlr2wG9;|{0IN8ET=2sgVD+Ojh>5MN8%LISYC5U<3Mc@6D z0O264eN-&zFA~}F{q00>Q@#qUTRi-PdI7mz@gBcO@w$QLau73KK@mc9;nUKvWb33;;3aP7|==`}CAy(y{^s|I`L^;Gf!D7%SN0 zfVGB}!VDpCrEQUIcLJaU3I+D9HgS-5f(nGqh*}DzT~Q;#xu84T3ns>6j(vx)*BuS8 zu3`%DVd4>j$TY$k9mPs$`X7HCUTP$cMa&ZowHdRUmI)G3op})-KH^c4X2xWwa!>OT zvZqE}za$&5spnD#c%;C@QMA&)V~VWpg^NOg*&QQ)lT-8jJXUsnke%7sDdjTlYt`YD8S@3h=ic> zK8nJNBubM=vanVf~yA*W_*${UK?1K{k5Buj z`zNbS>#c{#wz~n80$hT-Bhfg>s+hLqmvq=nfSgHc8@IRS$05@j6FwOq^`TIe7G{x7 zu$eNXR)+u83;X$CyrbeVNr%WP?x+T9s&9RHg>Z3IJ}?ezgf!iNIn@S!_ zjcEjmEN;1vXUbSQP`iDi>~?JpId`O~Xs@=cM#7b3Z{FMBx#M#qBN_r^_zF+8>n=$zofoE{XZJ$!}XaCn34F&Z(Zeqc^-uJp*7K_rkeg z%->TGZYD-6v4vr)%F;fh2ug@WR-&b|bf>9kr3lSry=Z!~EnpEC>SbI(qGb60 z$`VvG*Dk5K$2!1SB!%AqXVsl1B*iU$mc@#z6**(sgsp|aFkpJF?ZG2L*huxy$OW)w zHeklVJisvksevN3&AlA20FD;w&;H!*#0-FY3dj?eKO15qP!93C)W+N9M};(j;M+NM zhBh~eibO2FgHj5oc5H>Pq_(T2y`MYzgKqyouTRLj<-iTbA4`}tAdMKCVbi{20+06@ zS+cTw(!KOd?<$9J^fl@h%>=-veZRxd#)Et?$lFynF4%8~OrzKMfS~Y0p+r?Z!EYYp zL9Yv-rR7Y2{>9T_lnLOa5-Lp z%Kq&u4rzK^O<_aMS~>^9}&O843Z3{bzJvh|a&tXOZt zs_sM7KmW}qlyB7aUhn49b1@{v7f$hTlec2c>f?)?BLGO7Da6sW$LzZ-?URPxUfj7l zeXCcOM9=)}E$`2h0`%?0UWKoHtR)O}{_p3+FRHd{C-3DS!YdyhcJkjpif%>*^Z*Ym zLDO}#LseCUgF|a@uQyk=E|=AMrNqIju1zZcOlN3l5a11el%F`~urT4o9L5hso6609H7PV^NUe=N3sG6Q z+QLa3Nv0-6X;1wHsn9h@R)v)~qUbjRd0`yGVeJOi8eT%M`f8kA1?VdHXbYaz6(e6e z;ggEz1$8n!Agd(W0&T7N4$S$h+g zK_erI<1>@M6h>F5Yr`ils($`7+7n$a7r}}KN1&X<#=ghnMm`*jhph~Ot?Z>R!J3;3 zte@lpf(R%&Xg&%P(AGfBfoGu2H8(W{DjPI1_P<-pKn?-3&~E!6Q-;bKWCayKSuG_- z^rh6lQ?_^{4Mqco0uoaXsB8rg9_)TXJtRnjzn6B09@s&wVKFOwoAd9~~sDYqXl%Vr6XN1*EsRWR{g&zBDZ<*)qm|pk+#nF^L*(UJG6e2i z>OhN8hhxzYBHl-n42XJx<35g!gA)?Qekne$E#pkU94P?i$h4ID*N?eiq_mHj#yU1l zh49Es_jp8t^(PS>(s;aB+Q4kUIu<5Sz8Y9PbwtLvDv$qcX+JwSL{k-xcU;uf1wxkk4mAqeF$w0plgWNFpUYILMeau`y_ z66A9%v@I5QfjO=MVTW}jIXDG4X_!QXWn9rSH;H-r{^&B<7@!$83q)WAR0=JCeODSz zm*fI@{hv*O0Cn9RNX}ppS&7 zRV!5`{KR**68Q(`*YGTL2TD7tMJ#mG1=E(x zAQ}Frn3E~ZrNyZy-4|zyWEMt;G&`6wISYNKUrhw~s;04Jcm`>a8*Lc*8i%P^&;8A?9V7D|>*u;)>)Eca+DZ zd;u1}3pHc;f+Sjm(3Lc_`Wb+cxAe;#U{yshb73#{KMVz_hsb4@W&Qx}P1j#I*&P}{ zscOx6)2|XDn+-hwLEwY{Y$OBa`KQ7soIH_S+J^tJVrIKsD7#_4ZB1Cy`M(VZx-rNk zNrEz=;nc>wXrKDUx8DBB=q50z=v;FpbI-bxP$K!#e*Jo9`_Lz!(kTrL2^Ns??7~=d zPhjKe&)**!-wx)NAFqXh;pYp2{7}VK#!1AVlxYh1GAY?=Pus==-9cJ_5#$gHG3nK< zSQzq_@i^B5YsmE+Ur|0Z5mN_z%<(~#7^DSetH>b}OXfgt4AmE<_-&R`nAO!J92C$Mh8tU<3Nit!6!F~3`jS!GALwb zWyK!~6)RsyC4e(`A0=IEG>G4>t zo`Vm?1Mh);sl-%Nf9m()B~8LuQYsNHqBhgAP5cWf2kmet;GN3;hj+rT_>Xs5#0-ok z>He4^5m!dbUn|Myl1wH*I?7IJV=X{R_3H(|sz}@$e)z?PUt4l7f zEOSrWrfKI=lg|Yt8r|79=n>!A#{P9C>kg(3XsMLFciNo~+$6SaN4(ycB5}nX?K-G- z60={n9>GzUtEM%F*BY!m{U$>%2FeaU%0BnNveW?UuJ(Es*y!|28v|_3<3_w%iT8bT`8J>!?IJl1k-O%l-S54SUIO_i224T)EH?e7u!xJ}}zC+WH`@_%?n* z7+~5(+>r`lbZbgQjCg^)0FW8+AwOetv_v}rOGT7D|A9#bC_U81fjb*PJ+I5agC#`m zd;;YUAzIxjm9k(MpqW*Ls{h?B+XdWTvg?v55<%Q?{8q9Hm@Dd&MX-@l*&5`regmj> za;-K8+D8>3s&cm| zZh&z^2MarFtrTq#V}@g!kj;qArDA)?9-_`13AKT-Q zBe4_~>2OQ2AzCanJj#iF7t{#QID?7ofW~J|^YbP2`v9xwGv)xEw8lcyUYDpw?uwiZiQm%qM_9=o z;k)R4!Y~;G@(&N>|8QTABqFpP-jQEj8)yj+#D$*rO$LD>6q)KkgjMDdkd`B`STCTX zXsTPRH~lk#i2i_%LSw(FR&bG+8wsd?l)wsK9Fi6Bu!J_jlmnE21Oj7t+J^VjR$g3= zIFGw{MEFm@kA@caz;e0}B8LlBAg2txZlv!_p(2ZZ>n2?#Updv$D`+yoJP zJ1r395L*}3;R7$9iCk@^g)6o{F5@Y3o^A(ZZY2(8Ar=IS(}IE#-f~(wW*GNXo$OL0 zmXw*7kar9=Ps{fq@2IQcXy!`>6&nlT)4=@B$;9e|rmca&`NFJ);<=8@+#48^eSdz%uEqRB)S_lq-<8~h8(;MLTn_ws-YBhN;{)-x=gnDUe=hN#iUH8F(ll06N-(M@YqDW`*1fG z*Wd2*jJADlyu$0Ye^C7{i=bj*Nva3J4YFY+4mv>MKqr_zlME53=3zCQJ(*@PpKSR5L&XxK<#&=DaA z3#mYg6tgo--+e+>8X98%&}bLZjQEJ%_aQ`N&S0KOV#2qaD)<^zAR0}l!|x#LCo6n< zcw|~LX+?e*Cl|G;gkaBPH`ees$Bs4c2&u9NMqqP*J8Ctjpp0IH;!}b!4tuv5iA?e@ zCtAQ@F=b(SAS?p5*XZQ16*QzLZ%3PAB8JKaB(yQXUO$^#C;xHA$yah+xKl<)`v>7? z+nl z24N+GPCwZ9og<((O@7Pd;{JrwCwSf(^Cn69#+opuR5WA(bvy-@ua4V2lk`_5m;&g<Bjwt&|bbL0=t* zO=XmpsT5+8b1MF|#6RRph?(Skk9@3GQu-?z7}JOqRM&Ad_l+C> zl&;ki`#mmB+i>s=xhF?QQ?tb`D-w==r)3D>fZ$P_S|1GFY8g$L+l}sNx;zpQ1KPWSxXV~!V$1n9-0ZZyq{=MU7(O~vR;n1a>3r(T zGu@xxa+<+ z?OS<#;?<{~mpQM_6(>-yo2I-jEiUm#bft6-kYJRWw#7Jd49|Iip=m!;4gM;#WGiY{qs&;jKkqCe(5af zL&nizCm=#Gkc@@ z0q4tJYc5?KI}@G!Q^VNV=q*0o#@D{6puM}be$xNG>)9HiM^*7PO^0h%m(JGsKK%8n zYDt2DiQA^;kg=@Vl)AGv>%7g*wuWrgHBoI^HU8VunFHl2467`g4eEoI{uxOjH3E%w zD)-ecGR}WF{^n*4>VBNV*v1tH1C3pEFPT+Vo!xPKY_C2{|8mG-)xpIPzE6+h-iAr) zr$1jS^-#N;ecc&JHaD%$ABo)Cp!UlLisRy7A7oWQu&C2vBzEq4<-4J_t^K^|{TF*#pc5j+$shYtd zuV)ScA3TwP!_@7#`a0)`)(-!*p=b1;`Q6am!4KgYZPh%i>;ED8)Ek#N)XlbK1rK+I z_d1UHi@~*uW#iXvhFR~7^gZeQo{*#M$M+7CuwP}M{{5etYx(E>ce)An8^S!Q!Y_KH zop}90SnwvztU6#CA5P~sPueCOy&rMl&c?Ea%{?D%f40B55yi~)*Zt#3w$;;y$De)- z2M(CZB8QM}J_Ln>v!|McTCGo(4u^w(1Pz3hUIKp_tmT{gtGZ1!AbW@BBmITq2;|2VsbZPS5*Z!L)V*=eZDBiM%zq>eD z8fm6boKNq(JNQe*3}+)rCCIAYTmQ*w)gzUw>KBf!yD$=iyP&hue@D8~?FrT78?`3Q zM9qD7KM8*U7og68<+pv3iNvMxvga@2mj-m@Cr8RvH<~Q@P`|z8^9a-^2gh1qYr9w)DxEu^Zf+r8&!->x4suQeXi@d=%Lvk z^O2E`sw-|_=x$Nb_Lr;=3w+`6`q75)XphfgrK9Ipi8q<<*KfA+NO8QS)$gIOR%uQ6 z$B2lPCMtHHa4PqB)}DtocY5BY-*^f}fF&vJhl0s5E}9O_R#B>Uc888{Ejx6@Dn|a= zz3)KArgU}xssk#8XT8pz(6nnUyA+x7;F*%bXlzPI#!mGh=gWat^#W^BC)@9)Y6RtH zJkui9q-a)zhi6&`t#K`UQ0i=YmEs)!$5y+wPGg%J|8yA)D?O%Z{$?h^#`LQESAodu z$S%HuW7XW5yzs4$Cz_?#tZlTm+RlMBB*zwcWj%>?gJJ-1vv2JKFM8cRP-W6ss#A1 zLBlz>=CTjRPu@)NsCszXbCst2;`i?h7v^1i;?L4<=uPZY_d{m8;w780r!koykaV~T zg%?Q+zf?EnX8JnZR}iFUq+HrBX<;mJUy*#!6(G{tXMd{DSz*X9jutAqgm z&XqMC1<;M4xAC1hZB7f9qtDNNj7vt0BCqFc;PFd8 zy_kxL=#}=YKe=$oz?Pr}dv}&beEjWV1$&Fldbbq6Qq}sOA93?C(^6&Dr0JOpqwJyu zxwmvFd*)B){$Q;$wgFd3`JtO0g}>@qC)MdPFKKm^Qhx@X=cuI}ircEdXB;u3+JzaD zR$nlU2)UrWuIMqNmRO#zD`}8yjvf@A7%Uaxa6pfzpelJ6asQ>qYNw7`fPkxobet1=unlqtB1jF!SQxsoSXIc9e#`2 znp@g?zlr(d^rOJIhgpF!mN^EfZF!IXINnvYdAIn=aij5*aEY?O^@P4WY3fb9vUJ=G zKmF*}S+mD?G4CE-f2H4>WU?3;(R)ePr>gh`vDcCP(sJa==|jkVk0V`0-bh> z{(WMq@cUPa8d7z%PVPn4kAsWN7~3g)XwBVYp-x}%wyS@adT-h+dYArTEA{A^AKg#C z3_kdaquq4nzWUoM_byK-_%$p&KN`AG_KY0-sj=f@HG9f2;n0ynwNkoaM*-?YXye2$ zBh=a6pQ2ZFMA|pF$8E~d|7mU%sT!`%*sy%~I{x{CFS~Z;+lAk59KPZ)k*HkOJ{x@e z%a^*t^8$x2=JRLQO#hj_lk@23mytbo#oJ=E8xkbfYW~V?#GZz;X@-YrVWE1zm5L*wl{3kU8R$T#*a=L*dDOl(Q)0*rsMjH8vEQAsYCVNbjhaa zyWU?k9vz-HLaCL%jq0)A_jdP@A&ubDnTwZmt>1syHCiS)$on~^?Q93qKE3`{L)W2h zLyNHTDhgB9zWzffuSYfY<_rGG!96*@8rpY`&sM%0`qoUcm5SZ6Pe1Ja#>~5?HvQ&$r;T3AK1i>DnBS%h z#|d9Xi9`LDO4H+_W!8P?aWfYp+pwFjt|#(xt-nN`$8C&vt}6bEsUtB7#(l|+B6*$Z zctH;Rw6*hN& zQXYzY@t6Ev9}ZaRovcW(3%iB`jSf~7HzoagI!kf>MX$o2?(5v2Jh>CeW(|EjbL(Nz zlIJDyoJHKkVM54<*q*w4a#X_lnf9AYI8WYgv+X|qzu{|~#s(jJPBYI^e;a#mAs-oq zv(%+dsb=87yMuxqvH8#tL9xf{lDOBRHTH2F@lIX+>cPszBgKblPtz3(g*y&qr}+Mt zVJMZpIaXc#*OA^YmjuQmv46h({Dgg-6L`UDVByP7Gm9e$Jy%flZZN?jB4K^TgU@?P zcaA${#Dhl0S5-Ntu~*vcii1nO*z=QS_fKQDy{OsI`H?ge@u1Pse~;;vj*p}#)2;kp z4eN*b#JIl;@)YgCiuT=~PpleZTaoC=#D?Xd+NGK}nnNRreiidWyz=p$*g_(!kuIQc zyGds)rdls^1^8(BeB8?hzgdtgyiWgkVR4xbY;tKOR4$UZzemIx!0F;J?jSxfK^D|F zJnLP!{MTSGyhM*M5hX$^^&J1aCRB`ye#2g(JpJ~qetJeXZ055Zc@W^gFZo`DEdTy{ zGXXx|aA;^s1%SVQb&(@KQvy9NQ7%SdqeEgM&RsYg8g3PKF(_F6K`sO|4;^qj04N|2 zvpR_U0CEwKz*gj16+lTrA6SX({ryZdyn?}h-9MnP89>+0^7;3Ml=jax|K(HhuEM{ajg)hD#lN4e03ZRYf4{Qe@5|)Vz%I`aN;D-ZgmQ6% zwbf6+u6=GEN`Ie&Z2#<={j;mtYjkap2|QC8Pg4DD3f`9}e+6i%00qc>6tsX9S_+C< z3UVHRL29v5;h*iF%aA_`D-@MhDx*|XSE(T<)M^4N6ciO#C@HR7`S)!Ut|0#hl(bf^ zG1=jytbOz>YGdTuoypgWRZRC)HLpAN9^7Po?ox{CDji+D_4;P!7Mr(hwXwCc-?iJp zdB4j6*Mn|{ypEsn_BnaVH}L16^T8pZVNuaBmt(1M@u^qS(is_`nzfWwCsPZVJZJpE&Hzx``_C&3^*f$@qcZT zBZd60m4I9=A3=uY2Kf-MS`iuGT8df#0g%noc8FN&T_QG`NMOvll@&Vo1QmovSE!oZ zIrMYT7cfNMMU|bQ-hXjj|-&dlF+aV&QcES>ra*gDOdK$foq-$azLd#jXUPsO#q4I zbSMiTh}MGj%WA$Tnd;oEY{y=dbYqc@94IF5l>^QAJ940XGav`9dbJ4VEJHA`1)mGI z0hs^4Hvg~uZWQI+vIU%l9N5TCr%#dIbLU1P_8P4O&f{xK4$K-B)ZI3`-q^8;LJwma zUaxX9jSfxSR+5tYSaI7Hr4>8&s>?>Y<-nMADP7pkmjldhh2_R#InW(^2pJ1G<#GUX zS8*xUSq|KNcT*0e8W3fKy(+fTDmRpC@82k2tz2^c(C^C4%W?ok-gai;OhWexIdEZ& zKDWMy3kHVDfsQfYKfi;LY_$8C&l1_~BXEv8WEThAP%!O!r>dmb{mYfj3iSGD!jIMC zBzQ*+GUn$1`v2wf|C<(|7G@Z7!0FC5IiPIEk|rjhr$^ATR0ki~>Iee73}A*EFw4r( zY^mN59r^(f{=ZR!{YWpi-()SR_|l>8Qmz9afB!FsPGThO!g598`owpFHF#y3HAHHS zz_tf$ST2^vK*#t8iyVn9b^)7jd6+I_!bibheW}5%@pEnuY5V#k=Fv=F-OLzE-Gfc_ zjXh0@BDCIQ=R$c;rOj}+>MUJ&mjn{C9rv^~+)uRYsm-P+kqQY~E+Tp|Yi$$h!SIm! zo{oYl2+z7t^%E6URggy&9Vo46%&04bcB<-aQpW}8_Tsz5TTV^g7+dk>#S%I3jj_Rd zS{(g~Xxf<f3&C_LNxqxm_w ze7|~9wQQ`&q%S%lg1)au($C&&8_tbjeh5AeC02lPz!h3q)F{a@=!m4*G=MCIOqoU; zsQpVCKE&i1ZTxKCZ~TCs9kf8xEBavN_lRIZ)MP5m`>dy_XqG$_N}VHscF~e^d~yE=pi) zs-F&BJl0&6basqTPnt3i7hYNMwY6wd>S>}T^+{KAWJjrV1zepFBU+|=^>NmR#2-$? zKT8$S@>%LOZ-c$yPO!yDmjtJw(rqk#F}fcFp+9oo=9E=Lol%%0HG9yT>3STa@liVr z8n;I@;u14!M8&ol8{5Snsl+g(F<@f{#~eNjq4w4G>mKBD>%wj5hExJi|MH#3M)n>N z-t9vI&nx!Cgj>&&6jNY{SfEbR$vzH6a9cfe+wFaPSb)qJrngj;s~&-YrMNWaYRt{g!RA=b{5|Y z#h_$coSwj}R%0_bQcPU=TD*;`M#k$w7Fjf_8)2hcK`Vxsq&zrQWWxm$s|l@^$Qt3f zMwa0#%el9N!>Mf*52z#}Fg;5r3qFjty3|8!JB}9~V2R2yp_GJa`-O|}>q^)A(ml|T z3h^E7X4wX4Rfu5K>}OCQwa{m$(7b|$j@ST?J*S}7ajQ{n{`_xjo5klq33{5oWbQZV zEi)RJDtkZw(z#8iXnhr53~NCN$MT4*lMp=}ry%+S^*#i1M+Ks~ipNw*o6H!@3X$zB z^dQqUCp<&x)BSVIQ7@at>r6@@byUDq0QJ6@zH;g$ju7 z`4ny|rCow_u9v+9%Uf9LIOocbFB$3dU^$S1-*CmNWgu}I9~&KkIsqwJyNc|=@{Fd_ z3R4(0LI`2dUE-5t4x(EP-kP@Q{|Ipy$eel-2>XafwzU*(=%(3QB%gycN`-R3c(O>1 zPg9eew6TZpAQNxNN2Z01rcKi1*w5oqIxl>^uRK`Hhv zn7OS~3WAa1Nr)5t2kua=62^{$0-4GjSGFHPO_~A~diO&SSE@Bmmu4b($AqJa;2p14 zI&9h_2mV@v;3j9934)u-)8zo@S}F&=nIVWL9d?$b5!K~@km)W5J{>}klRC&)UR7j( zI7j1rIq=7?2m@)V+EC1Ore?Rgv%s4L|R=$e7wbRVw_ePNeO{5X;(K`RcyC1QHk zcByG3I6pt_a{{zTv)M+*rq}s=Kjr)c*5x@INE1zOI|$6H2QO&AuI!NspP{n+vySa0 z#WZJdF2eW)^se7gqf=bZDRk>U_&+eAOmjTvO*H#Y-v9|`J`_WaxR0)uJFvV@`6x@j@XzNmoH-0Nog{s){ z%&z#puhi!m$$0pqKaEfaT^qox{S1vh<@^M>=1}hT-Q&|-Bk%85$QPqw3s$RTtSe}D zQ~9MhVhx4i`!(H`sZRDbc7(q_Bx6HGlnlBC-uwgX*QRT{1s)e~qZq+>qLy?UScuku zzwmjN9ZtJH_NT_!cm(_R&6A&^i#Z0g9liLKQXFOV_^1Q;bwT6iBkE!YeglNfYO=(| z<`2#0N(05jOs*#Flvr(vqCc+hQq#cAk`l#O&52`vCqsvVSi@$Tety3DGLj52?L;Li zS*&wM9AO|qU&CR7gi7!6>)>`dz&nTV7Lt0UO~tIDlt?tD5e5*rXaIYO2hwm(qDuFD zkbr?BJQ*MAFBA`BYyAB_48@(-y@TDmi>oMmO;-xy@@Zs{f4ZA=q9^)xjUQW&s@uUe z__?piH9}nYHbH#NCy@Z*)0Uj^C6IQ&OAcHsMrZh1WZ~i-P*ZvRJ<@$IA@iKady7oT zjdzvD5JN&l5Oche)=V@Rg!%$Fd7mt#G(Z$UgjbE2_yO+b? zJ!|1S$V-gLo*N;y+ck{H@*cruf7QI064vw2JOv7Um#^ZD;8gMF@^+6SvI7H_F=V>7 zhp5rgU0ifi=n>p*N76#v3W*2>XG*t}(gLcVLO~0+B`j4c#jhutq;2Ha{KKRFIwi6U z4(tEo{^Ci}M$A)m^Vl2{9nxRtQRX5tLbu>`!CU3`VE#fzxAdrpvYM(fAhElR7-@Bw z((d3otsW?TsfIk-CV9z;b{Z^Wm5%%NmEKR(fQ~1w2^nr3H3aMKlmIbuU{xYYY6`k$ z4{|iaFe-Bb9hx=2DO7Z7j-)nB&GV$M80W5?;TVJkZ0TmxwqV+Z8!_nCN_Q|=BpI*s ziTAHxaABv(-irR18@6=zOZ5bP=z8Y26?i;t>cfQ!J?y$aei+QIbZ+s@xl`5DI~y@K zV%JNIgx2hO`>y!G$k2zAuMFNczHF$kO%8~Y8~|_v9Xc`(f2OyD3W?K{DtahA2=OUq z599!HIC#D64OZ4B2h?<@3FquL3@=x_`G$i&{Z-gL1T-#Sjp^N;B8+sSEmKCd0j^|s zu;zBch)+_<36ujx>Hy{(^mTbPM++&@^rRg4nz|SDp(#!dIAgEU!Hj;wU&3yM{}-2{ z&PA9bMHFl zb70PgT@lTD9nkP8yedLb=18zA(kcIV;Ab>#gr|*hLG7deIN-lr7v8-uhChQxrP`pZ zRpgo_4JJ!w(>Xi3(QPmNcpRN>oMV)br5|c+@qA#eGHO430wSKMf_~!94ZqZNztP!x z>zzqI+t=e<|GHbFQ;Gr_7E)`~nh3x??~U$NclXI{!o8J{;s|fNyJi{QTX@ zPQ8s(vj63@)7tNYr`#R(o0AXPU-i`Jkm(Rp=wpt$vK3*3e{jWimJ-69#K`(Vd!yn4vC7%$axv$SbjC8@P6-Hrzyqg@i2B8z$d`PLd!t0;FSPH+tdWbrXi5Y-;y5aNaXpB zCSOSqSE3Kdfi&$USE{0zkyF^>ke`jzkt{Yk(PS-*Aj&jhX%P4l=lBRt|LXP>I*=D} z@9jem0QDQ~0K5{)=EZ+)&t|Tc^#+*s%vJh{f~Qv&)7IQ-6?e7Grq{JIY2B1M~g~o2~e$PHWxX-u1ovjA<2<$8v}tl?0O6?DW^8RlC3s2?YG@VR0A#r z>{$LCnQE0vaG@8hxP-ujeFH~|A-`iFjj$H^2WBW$Ol15LMp&Py46{VWIb!u~?U|C3 zNAioMn-P>2!bMS&DxsN@Lb!furV zL#UR~jZl47ZC5U-CM`d^mYz&nMGIZBr6LBytS^U^_N2)avfv5Ua};PMaJjgPIcfyG z%M32Z451`C&p6u9F!h)mXw#Q9DGbsuuqxE?3ZqRxOok@RS}2ERGo?mgr;y(A5-sk} zv!7lE)$_FAddU;!ed#f#Bse>UiAJCZ`dTH&5_T1*S4xN~uS2uamgWK`i2x>y>pO)_H<6x*2hrq)GRpTxM3PMBAQ3>~? ztCsKER0g){?3DG#&(sRh=y5tAJr+(2gy`aqEE+ihBDBZ|uwo$Occ8zC7zBQAxs|vH zrjS9BFp(o$_gKq|Oqgm*eLwvgSQCNG>pD$>+o1hvvt$cz%=fy^w~= zn>C|a4a>+h4jr*>6KFN*QrJ(}R)rD@a|qKKLEv!=AvezRh;wu;+D;ICwI(Ow5Qsc0 zbY`(7J|J7n(j(_3B@m`0V4=jm6@#Jf=^(5lgjNQNE&Fmf*&@OEQvp(MSR^K_CL3$= z=|QAq68ftLK{SvVp8x71^$~q&&nt`;-t;52*(MvUGtq#(W@UTDi_O?LnA6o;uYJxi>_*9Z|E2A|^tT=U#ddZ%N1#cV$3bR5OfTSxYG#3+n4vvwtZGVY zS6ai@bjsrF$!bfVCxoNpJviE?z+#tHaUUf^x`0J@-T$Xh?z}y zKqb|zrv+-1mikZNu?+Y6rx9e&p5S`m2VE5K5|b4kL)UI2SA1v_+kv?+jhGoW{1Wm) z7xg)c2S2s%^qvsxjGm^H(0a4cls zLRYUbBD6Rdaq=FM8!)-jgwimCTQoU~1Ps~QTDrz$-RO>Iz&AOtn%?Y3^MDlFbQ85e z?9{yQ#rz}*o%m9Ha#B8d@H;nYJ=@U+t-S=$d{YIsb9F*ey@s+zj<9cf5%ylAm) z)S!^(`|@Ue^U_0{vyiP}&l4z^b)ymxRd=Nwgv!Eik$S`*PvVQc$ND!KfcUN`VH5bakGkGKr~TXGO==^nsUOluaTS`BtbemmzgZ z5G}d;2L}NBhUI$McB$)fo-`ElX(4F@!Z8r$FbpjjNVmP8!>GXJh;?6UYea0N*Xoom zVW?$$y3nK2{org%7iyR~jW?F@yF`s1d)ks|M)#?c`}K3=K&CB5WA~lCIQAy$ zNKe09W_i8hSoU$Yj4#+VRulG zqV6;O#Y?eQ=lm*^xp{|gsWGc8mp`EDx)qS=xEApIKYl3uAw_~q*U{~Qh0SoD95_5s zqag45m&PY9Hf_%F$hVGT&+8#(#@zFtp;+eSlP7)Q1MUays1n}6QLl+aonAKcw>RhM z_;2BErWw-b`}QXpVWg(MUCV1Rx^$s#68Epnzr$sf!LlrLHWyTTMUwKmQCF!Yl8$Dq z@;E^+rb{QW*Y`r^Jz3Y&P#==Mt)r_KOg3V+Mm^sCY^-k7;yHrccHDc`XS*e0X!uCa z3D)t3-fQ~dIyn!zD3r~pQkcHCFQ{L7@u7sZcK>yF{ZREgGmuub zJ=^eM_`Uu;)WbjRf2)1Ewv8t=3jR-PsqC6@j-)!K|23=010n@<vUlPtI;eT!dU8lyuuHz7W z+SP*RQ^k2cFpmfjsU7kD1L-&qL@QK%S1RsWE!_a27&cgq5SdPY^dES0DzhVTHOOp5 zYlRlA0i^*Bkk2)mburcYWcKj^n?_5!4d@s|i@Z7Q9@q3hK~T;8TSS8?T(jR^ea z_f}sHoCdoX(!l$n4a*Fvi95ZRtSegs`K04qmGd6^oeGO6h8g>NbM996PL=)&H1%$` znbo7lzOtvUYw|*8H~AG)t9hfw@43&UMw<$5WeUj%B;#!5x<6!7cxoNbdbQ;>13$?+bQ+k!XY zSK?51tV(JWFW#TSE++d%R|M_lAfTJBs zGK|S_6{FLH7QFa%MJ(ZD^1UMs7xJFqvmZ`sNeK={tjvwwG1F+C7kn(@D9sJUu)Txj zS%>Zj8A>ai6B-vw) z=wn-dLhFx!hm~R8mkTZwCPZCOnA-x5KK%*J!|0?OQ4W_X?YwvdB|VD!eMRJ$>Qo3| zY|yU}38C7`Q7E0n6}a5H2oBe3Hb&@!3qXPo)UtkT##0@`{Mmdravr-QH>4E6NIb_0|C(R#0g#k#o^NTqmAOFWn8FF)RgbKuM>Umh?(vHR& z2IxXc&wM}nQq9i1I5<~WM~)jBXkHj_U;SqFCEHq__SJJ|3%0CiNTSR8|Fv1frb~|x zMHH3)jI$QM-Rmr#HKvz^HXOIN^NK67hgNf+-)0vFf0K4?J>1?HX4BW2F4t|Jro~2xM(h{rkToPy z_3nGmmkVo0E-Z@D^UszbL9^I~g~~Y0H0EA2q#^t61T)1pwYAkx;RMRrispM0JL`&r zgA(qC-Nl@S)!H1UlOUylP2Ka;6rTCgKK(DnqFI#t-OyNv$HuF`mzDEx%Ng@%9qO&c zeKk$bQ{0D*wodYjHaxF>`n)zP;@poD2@GKFKU5d#M^(i8ci)z zoNMtU-T;XZ()Zt3a_K!&c!b-S;)%|iA_UX55k;t))PfzPyFlgHY}^Tu@JdkCxY2Zty*;kB05N1Ecy2Wl(5 zh=oUclW?YDlvI1RgR9--3US+ueu5drqe!UAo-t>MPk6a!;efssqm;^Qk?jQYbEPKY zk>HjELXBPz$JAY@PH)W*Z2n=-bAc=?XYwjekI8{G7i1d;KTbS+1YB8nSJwHIN)n>l zNy!exG^qtW7$Qp8Jao>}u!65slk}h6+Vj2=(QR*vfF*ZRWLv0XkD6s@&`@XL&q^M907Q*Vm*k*yA|JW^V zb$dYrD;K|>2$k?IBdpfAJ`~(}g%U6@Ghg?dlHr4}1kQ%B?s2>cY<=%7JL!t;(ni^z z^>W}Dx^*@qaXlFGu8K|Nw?~e>#W3et>G&PLksZ3y=g4<3hoJg4teU?xu6H{wSTb_v zNIr)E*2=o|@|wx^T*?id_-T6pYzEkS#-A$sV|=?R^xK_}an zX?Ia+@azHwt`MVFOQT>!Xg3Ir_i3SALvXH-m`{!BAU*q&pp7HmC;N6WY1$I5F&yOu z85ctxF5o~$(-yHG6Af1!=^nvj#yHlXq4CxpEX`h`H&0kGHc)@Yc#CKjHlIlq&8EvV zz_venXt9W2>jGB^jzd0e=t0I2s6MTUE~2Lpo?#erAm}C-%#>EVAqASDkKxih&U9f|Fo(xjCyaL^+QZnL^dA^L+ z!UI)s?fnmlZ%8_XplN4!PR}Rk3NK)NO@Fv-i-)-4w@=R@99iRrOrQGI-*fU7fMLnj zBLnU-jranA%@kb1gF$k^*W`$%*auQixKPYYtH)?2ZWT=4`n$wNR!T#8D^b%;f>9l! zqQ${T?GbA>nB7cQZ*qcyrwT+&e}3t}cAC)x^NNcZ3X2v~9!s_#5<86bpv%eR2=T1` z1m3a{{4~VPx(AXnZ7hS^tf_(Stb=us4>KZ$o1N&;UCYfZkZNBkZy&V>zvKz~p&;qS zt_PtT`#W8#dI0=K#FHTCYV0sHAX5>_fzLM)5Ai!;S+&Rki4q!Oq|Xo_s*TjF*t&xR zo2JTvTgMSk^M7ub|AnO^h<4F`XyXuJJ!Kc+uOP(jS)h@KWpFMRbVbR5?GOHTY5$=j zQO0&q_6XIwtzQ6UQr~?zO$`i4o!0fW+2QB+*U*WNi7|hcct#m&UHESPi|Ma9r&8*G zyJ-2qzjQ$V9Z}$uMF%UBP*apIAq`cxV$`wpkUKsu%r@>bm7bW2t`ycfFDH(s6VSE!{&T3Z=(fm>hNC&ffHJxPZQpwv4=+C`;JP?so9BC79>*A1VlVg& zG{-?EhR=empUDXx z#^Nsk`Zt^_gb^>-BcfHc*dsrgvmLe<1J9PzY6-@$uKRmwEJPMR$q}ySA_SUI$2Hg< zV`)Cn{7rfU3VIE@SmeymPAv!&Pg22fe#erB;u}eoz!mX!tigtiE*_lnd%czN+zUi2Z(Jc@oX@11d8xAe& ziUHGV=vpC@Wm0eA%3=2hcE2i&<-x5B1rTv6ANqnYcz!z`5isv2_6W41S!w}eq-th6 z8%=H%&SWkfqLX3NtH?nbmd`PPJ9!TFJW^8XLD0WrdLX z#yh}zX4&mee4JTCg!1i3u_pTX@~=%15S@oOr;e!{Hr(1$w7D0*fyxk}S|;haQ8e!= z$fAXn5nuq_VJFvA5HS;o8Eo1~@C;RNpeKo^_bB)=%p8$9x z=xZBcNb(AaS<9@E(!A4_oT#%rygpn7-SY4gEnefSl^*QFuXqb8x-S3DIsr$Bndv{S z7HPi^r$tDN>?O}&t2dpmxJvj9AK_uKM$RLtYxk@Txia8Q=V|aaCF7mTb#zMCiovlT zbvKtR!ng)B$JmGDhC7@Rp&*H6h{qtYP_70CBi#>`r${3n6Ox-wh%uVfR8f5n%@xT- z8l3cni9&*&*-W*Br4IWnT!luN8YQCVHdLCS0v7=(6zN(Y-xsyu?rxgxJ+}nNS@b!V zC801#D-vye2dR;=^@#&=;3*Q$b+4r6$|%`B?h3cqGF?UC#eAOL5*&9=)RYHA7kei$+@ zc@oO1&hM}cc7;d4Vevg`xev%psx@He8Y5a-3Qij|@UDe|+kEJnp#?K{#8(0ac%wSK z4-_ZSY4jS#v{PJ#Y+z`%jhnI&t0YAtSZT$vU|};J1yi6RBqxCxF2leAarzxmwg(pR z=M^e*v!-v$IFB5IbXDumZ{3Lu6VN+8)kwJ}&ejj1`p?Uy*P# z2!>LO5R*~BX%zeK5pmNHs*`yv8ANfH0lbx@I~Y>O(SYMXwos?KG}O}a=5VK^ z@`#|hLAkcnpBmL7GXR9sa)6A6H*ZB&F12q1-^@%2Xq%Q?UIQ!7SZ=s!#!UY zN?-}dl5{brhWA6n3~8MB`>&f8KK6`y^Z|!Z`E^;mcT3)B8CA zgR5Ihxt3_=U|a}kw{h3f)`=i+^G|L{2G0h4@XGu{)ZVE|@ zb_LQFv3c05f*SAASTS}5&9YzW4*lVtXa;Qpj0o50WcF}j>rSa_L5J`eoHEcHU=Hb4L3yDp4W_vJxGnoB7(}*sJqs4JuPK+uD`B z_%KvN&j_$RB@Gt&l>!S0qs=1JV0o-T$wCoH(@jje8sGq0v?s7vQPFLj)ypgyz9Ur3 zPG3me1_o4>_`<>a>YqV~Xt&mnT93rpzqYb7xOzBMAwdI)b8`kL(m*i_7|$;VZtcYA zO$d$Mz$i)V^zaje4FwqFH~%P4m6}P|nlz;o-7+i!*&Zzy_j5N0>?e3l6XQ)fUJw4hlH$H*_>6&_htwoBnIMl$mHTs z{habt8+H3;jBb;O*wQMFAUZolWwaKV_Hs6kUq|A5h7RU;N~w5>8+;wCKh+2hWSjNd zCX7XUXz$1Cy&QN&`0u1?$I;WI*s=*b{hOcL1~N(tD7w_e_>(ZVts&^aH)*7JbN-tu zzHO(w-p&VVf9XJf-Ow%Y;O}Wnil&2U2uc0EgitzcQ>+|#`**_He{+bI2Wc-9z(!z+ zOm{$PQ9z$wSt18o9ceZgJ>2nIbtK&;r${j=z4H;dVO>`?O)XGV8SC9^d&lBPztsNm zsfm33oVsfTm+yp)S~dLyueHw#Q5<8TsqStpU#O*!yH+Wcrym}vC#6UZ`rkk_zw;97 z*SZ;|wMgM3L!^A}bTV+(6Wb|9E6KMgK$S zs0P?yBHreY64&RH^WPSAt%kAf9E&E%{GJuN^6~HE3qu3BHI8;pKj$mUzEA6yR=KPB zJv8}VcD(*q#jh-NS}>BxiBYENN_u@rYoccv1f6K~pp4)AEX-GsQw*v1b#=^UdlObC z8hFI2vomLc^$*k|kyH4bc+c~BwU@@~2A&knVK>YB>_|lDog}TJpQosg!mS>VZU>Sv zKIXt|9e95Znoh4?+JAaHpR+2Dmp@)gjVG)d8il{DmpYm^J~~)%A-ACBa?ZmEjXLkd zn9l9t3N2x*8s=1I1X$RPSuZ6(rv8WoNK=P`IEs@U%_L1}(1QtY!FsxgGR{>H!Euqw z#p0Ld1Bd!%5;srkA4sJD-&5 z#r{NoTp6{{wXPt-uO-o;<6jPt&+u2^E12394 z3LW>H0_$FY^wyFV{edhSBrWvW;0J04uYuh`WN1>ITZ=7T4!mm&sS}y?+Jw~ZMZ5IS zB0*Q)4-^6igrtlCuJ+?ZPSm-8^%R7Kv*zq& zw6+MX?K>7<-!hC|<3}YdTuUW!z`C0d0z+E`>Bjm{dFEY)__TX5tl!}W7mL)rNRVCe zb{&UUMvPwVE|E3>tD@54~GTRB7a7i0pi9ff;BmUb0VGWhy0_F6xO9Z<> zZbn4J_LyyCa`sE-1HDrlyc?<-b2n%Zk-8Og7$Dr~gye{Ij*{L$S(9))eC`lvpY8}TgPsCu@&@-=_SBWO~ z5OP>(+k{^JhLo9()`pSvddmH-GP1D|>lCnHFq^?utZ|cV#bzaLn82^%b5@g)88pko zXi)`XW|q`Kbj9EVRF@{Iq__Tr(IOXFRrlPN_0=PyL|~Xl%lg_vI67m0{xetYB(FjV zda5?Osqo^=4|hqp-xX@nY7(m5oxx`UUvc|f`@Ry>rn~#0Tl$<~C-&?*CM@XM1==cpzTpZ`DtL_cYYa7LV!v;Zyc56Hu+hr!9_P%zv zFTRhvRC9gxpG$p8sUcUg5UD&Io|Ik9As~5+FySwcy{Lt*T<+LGJ`$p4Bbv>xy$X;n zVrv4~n$+PV%azg76fw5FoHUGXSsYb{`o6*S!jOR})1YVJGO~0-CFmWX{pl{yD180wnb~GHrp5GFhKws6ogFHe*zg9 zT|R_r@kO##ZT%CPS(@8z=sJi5nQ7B`$JFZuI8zlR%5k&FIdgL4qgif+(eL%~;Zyl_ zmMf=p7PWvlOdIB^4{PmQD1Pnm*buWdV$c2>SY1p~3!vFUx~bb^h{^#{b-1~d<^@L) z7{yR<>#QEU>%#|_^(x--<~znCs`D}a{qE_R?fX@%?%nEE{L0j(H{*yowiF~Y9E#K~3lJcfX3qvNI5V2Pmg;~f(>R;pMKLCKro7*lnIf}qdao_! z=EPt#NLo09(6f-DFgA;Z6%$d^inf3aP{e3)1cYuavKhEn4FxLZ-u)+K0xmLw)~1VTutAaW`(qeYjr4;`uH6i4g}Y zGpAt+-6#yMW(+BVwd%3$v@(D1dxUxTxbly6vC`%EoY27mmFnpJY|29&{7W}`f9`F7sVYn34pWiU_C9n4I#@8lH2PBd>^d>XJA%NP-qG z#AiT&Ab$eWTHb6#!Lesbpxmfnqtp_B^p(kY0i0d1$Med5`b?B@%?RyDP=-6fBC5!V zYRWA9u28D?lEC`>lISoJlu??^ctAs$bNP~}ouzB@QRnO*`MytJ&c_>&a`)rvOs#Vv zXHg7$W7n%c3Q9g@R50TVe|Hxkj>>9!u%Nc&JQSvr^%kw{B-^r%^j7;=?5$H4LzW4)p4|9b)aHUbp;=v$FeQr9nLcg}|CQ+e-GTf&{z?fHPkRBi28C z2GeAmr7<%BT)w-??oHHR8wIAf3Va!E2|Fw&32zcw4$u$)KE`S)BGqTg)X7eofg9=< zV)IeXqG|_ksVnq1d0U@D5ET;FL3A10yf6sPyAFuvfKE}w*#|?OQ`5ZrZ$|2Uinv<4 zr4{=P27$2Fg3(fBLtX5vsi5i1vZFOpsMhpor%Fp~DI5|p?y>OPDF)u89i=)xfxH8s zS3Sv`p86j0D7*ijxskJo?v>Fi(d}K+gWKN-jpb)zd=gq!PuYz+0UqgZozibYo~Rqz zzKWT+va)uTt9JZSKHdQoeKLOf1-4bEXuU4fltqIq&8@qat9c8rZCxLls{APe^B=rN=kSYGL@A%I*6$h5a)7^Jwhm@f+P+{aQ@lP3 z@1sMQ-)8u)Qz*;XTT#oo5>l*A)yJhF9O%5ZPMT{7PQzRg%hT*;DX6kF*3ZLdcc7jS zR&h*p5a?T1MJpxMj<=a+sIChIkp{8 zNN3twgBdN2#`{6ptTF@rq_qG@>@MIpLBjOTg+P+ic;Tgnkvb-<_Q4Ny9f#NEmK5c? z(0=gup~#9>cbzV*gxP`Hy9sIl9_?4ulE|ujE6VyT3q|KW7 zu<55~tldz57;hIeaO?JHAhTB50u;8ZwYiba1s}LtMh;~`Tx?Qv*v5`(P=R2P&$}9s zGWBGy$nHM9;D`4yr$%QDj{p~&Qd2hOpaI0R26yRTM>s1&Fg+cEjWurMzRfYIvHwUfF*v zlBI`dq*HW%{wMjv7Q7X+asJsESvju!V^kXO|#YkrywuuJ_VI# zYxl)JcR`(SGUEIb%yKDvvyzk$3;*y^Q&h2_wo3h$y>c!$Fc>qjPrp>(PF^{8O;18S zkUNwyV{KcOmvGD##wqZov*gBE3L-h&O}0Ow?-W3FWE>K{!ykBiSnJwJRLGVxua>K( zWphl~YY}1dz~&y3rC_PvhIwo_49CH=o-r6yEz}b@&EK4kf4QJ{^6Lk;Jyo(-qCoF0 z(Ihdrm@uvLn252eZ@ zf0j1zm4d*IU1QO89IKd_i1Z6&BPfotP;58S5kq_9`4gh^MZ5vFm>|zJ^5-uY^^&~h zN-JpE{T0xt)-3ze$>>k+ZI1CCLIdX{IeC#6*ug*}OfJ+)xOxigl)-RM4hrim?RA~}+kM<}XL6}(x5u5>*z$b| z^fLy~IG=2$e^U@C=Ug7}MsQ%=ROpw&e*^9zUr|f5a>r(a{&8GgZHW<&NY+lH)wNcm>`GA;Q-+y@*f}k-WO8$fLc6 z^Y*1KKOObC&ulo*^`V2kW=K%&lq2?RgQ@~U_=W-#ba5x@aR2xV*UHp*?B(jw9oQ1q zN=+NG&NJ&H5EhR)Dex3Bu7~7*2R#K1e!O`eko)PqY%_>lk)-ADtT~2gtY+LAu>*#A znZy18Ws_2}c${>x1Pz3C(fSbnx6hupNBq36{7oq4BDbZDE2;I!*SdQ9BMhMOo68q3 zcajN~jP})tpO>SqphjXv7Dp52lZo#}f<5Kq<|8UwO3XSmylj+W6U#OkDsn-p)c&+g zl?{5fR5d#7d7=J@xJbP2zd z@Ux2y=N_|HvH@hWSPk=2#Vc7m=I#SDelKuxuY`Kb?z7uqU=Pf@b30mKDI%&1$NP+> zY#dSoahm(EQtI;P8GW|4A8W>Pf!lIO@lbf{Ppob5mJzm34;xR%)&DvlJcNLb&y51c zyVwbA76s=d*d?B8WF67)XqGXOr)}BQFG+2&V`>B})?3>yUNoH(mKrwPl z#3@FqTG-B*IlH;*6=I)Y)_UjJJ#@XJ620h|J^8Y5y@;-1r0Xr=GXhO^MqzZ~o<;`b zCuch&=gUvLdC!Sox@}B?s60#urLG+;!Yfsw`PYos%LEY>)OhmHZ;0~j&|NN@; zU9C5#*qx*NaS(Rm%%p`KF#b<2F#vzB)c72d9ujwph?@6%rhrXsx=keRaO-b)Ad=WK zbJn5#*<*j?Q8%vZTr<#mIx1_^!#g{?D98>HAft8#rAwf~j{oi9{oXQ;Do@2UaV0qU~beMhwJ?{geCi|#FElhx@Eo5FT=4* z#8~LnOZhza2gkzc*&l9ouDIXj?{W`!_2yRy{ND}{`|mH2Oyu~j5GPaYF)UfIa;~UE zIq8s~rpal!Y@9N#oRIPJF=j0zeZUd4Rk?J{KnDF0(DFa8f&>0k$=ghPO3QRckRaXQ z`4RF;<`3PU+-_snwUa$rn*c?Q+Rha_BKsmi6?7%cbT0Rdn`HjWQqU0|gusI`76FGe z3(O{b@3&bR?|WX@QYW#fF6Wz{cw;d&>#*#D59!yjsA_{AWN<2PE>~}hlq>KH;iqqg z*e;MabF+J{5iONXY3L?`66|}V>|2PM9@4UO7;Kjtm8~5k1J260P>a{#tvSvnjX_ke zU-Etq3;A7b|KZ8(x2$CZ4B3&D3<;X%7{@xv%ULv-)*O4@5B6($DKXe*^jyuqQUTe? z_1>cHc!D*Q%--p0cR253V;>ZG2x4Eog97WdG?dsH=G-Ydt0D3RTdnn5JK~;`T<_W5s<_lNLR(8{K3uqFOBW*1zOb8*|Ak=#r}5>l(>rr2y;tF+u{3b49ptO)fP! z_Wb_(Zqa&AE|I-vSih*qKs{D_*OBk~TjZ?085$iCr z6I!i(2T)1kCBVu?5x8Q^S2kj+mQGs~LO&;wVU35`Tb@Eak2kmCt16?XyzWZljec?3 z;v=fsmAR~92f=5QQ^Rj28X|*oFRE<(Qa$Gq+a?OA8O=g;Y;`28BlzMDoBcB+PV#(5u7jl}eWLz0nj0Kh*sT=A(mY zPoSo>co#zlDRcYp}ffFy3uurc^;TZ2u(kd>9srnjkj| zW7)2*V-<0^76%*tavQft%tmER_Ea9{4B^fA-cH-;7Pf^1uC2gkv#q1IAZ+5>&!D~$ z3ae=Z)@fuB6e%mH%K&v#y62U671xtf9VC4pM1zdeDkcTX8$St4nLosO2K2;RC+%3o zUZL+-Jt@loJYiicd3ndgxLr&lp#{hy_Oy%0rRrPz0i`=@V@RZ6%>H0hS@6-$8iP_8Pu9lCTe&&OX%z$Pm!6>X&wZ5^aAN(;MvA z_(NX3Y>E>5nBIH||{gsh{WDHSb^C>^$@04`gXOFK}g zId!XKl#N9S)mYOJvULNLp~_)zM!Yq$fz_}b^H682_D0!d)Z|>+K`5-j{h2W>V)jS< zuU@U7J~l+RwNLnLn4&EQMY5l?oZC&dV%AB;8#~Dxk$J?F`bQko)kt_H>h%OxJb4&X zWQI)N1)W=9k4v1qQ$$eb8iv6^StWJQRIWBQQ2IUo$wio}Hp(C>y0mSE$D;B$3)pUm zvpV!;G+167;mRr<#fCYnNoeL|i|y+mMmlM!X55@v7yL}b(}iW<;Y3EyxK2)Z+IrNK zzmpqrW8FXQu;1M_7C&ot{KakQ`HN+8N)BpT%Gw3pXkg7pu1^VZQ3Y+;qLu0jZ-1!d zHWG72ry&MR*kv7Zb?*fw8!?a@gyGpfn|M9MoVyRKp?YZ9-W4 zJIU6=c>68}urr0XTnG+p)GX+7zhf*V@bDf;SpAjqV!GZQ(l=^m=NNi(UBx>j@H_a0*Vf;?dUWp}xi>nxxBT2>i}??3!Hd+)yKpfu zTihGLtJl*AT_o!c&Fp3Wo}8Xy8fl##J;w9XL#o?@+u(Z z4s50&E0mJI@7*^16#?DtPU-@VIxXy9^e}ld-1>14^41bjw{Mx_iZEMvNf8ku187dy zo&N>np!eQ=Q7y>SudBZ9M$qZ|&Ml zqc7Md|7_e&S>jSNn(TQHu%b?oqE3SpN=-`WbxN@-{Bkt$AcRZr-_uhJv!CdE!h_)r zs%X=2@6kTR^NJDM?(vNe$YpWLq#?sD7C%ceVF?B47rKw@qt{{n>kq;fp-B);YC9l3)PIgeQ-W(cKaInm8=lr{>NesR^aRG=csNvG`saP)JcKh9j|31~2qr9}_L}6y(`r0dJ$?!JPd>%6 zUC`+6(x=rBMQ*~dVl4+~ov&^M(s~}=eg>uJ1Xv`PY7`3gc;JE zltlr$*kztdk-Lp9eL{KfP7xxspjwR<~&8+ z!$~t6{363)tURyC2{T0jvfrvR*CB3`?X*;Yc@?c8%!}!Dd@<2Lv17$jk=+wXNk&~` zac%SHo)oJ;d%^xWv+^WA)|#hCC{(85O9dHK z%nh_mfC&=s4iik2fnord$sSY-7au?7hvTm96vgT|S$JpIqr9vyYMc>yH!PHyiS`dY zd3)^GJI9-`kqmR=j1j_9P7^hY?Tu7e-_;w!{L3iN%9sXfiRnKgx8VHaX)U1F<+E0n zA>PN}D_rPL_SUvLECSpsRF5XbZg|-$o(~PCks=~bCUG|MEBjtl##|prIRNLQ7HLy# zB>Uc*p#dL+p&{Dr3@=4S13;U+j9IQLt8<^8Nkm}tNfc(24kp0ysGn9~5ugy=D^6Kj{SvKWNjugKNHse3UBs%2)Jx1o{k(q>CG_(}m)>UJ|Aq0>1 zovC^VFcyHPQV}Z3fQ4$R?AGR$e#q76(pUG9>pEJ~cxs*P#>|sU;$*T>D{z_@%`kE% z$1F}@KC7(sErO~)^LW}hx&lDHM|tXD(pKFI(YXQu1bIZ!u)0pvUrog$POSiN#b0+) z*bx`@F|ScFf#sT^dBAp}9p9~0VVQfTT**=yFgj_*7J$n8NEhc6P&4^`gS3?e_c7@K zkWldkO}GdL`H2Bm^jze8kst$kQkJ8j;v9FYa5{t(dhpa(WM4dWIkPxe$sk$8YVz}D z4;TIY$G#OcNe31v#fzCl#n+u!=l_b@Y^(rC$pnP1?`Cb+wq=v;1jnG*MpgRcEYId6 zN`$??t3hsPoav2rE%m?DhB?;493A&Mf9O{)sl(5X(PsckL(v)Q4NbtbbwRvf?+gbMQkF<}wUB||% zX^TUn&&q1aE^vt?YloM&@NKciN!|vAPr+9NT34LRcA5u@-o|jP+khd`0T1r)auepz zzJ4#a&oNc&PccIXx?FCi-T|dTQ#`1lX@Kw?CS=C(&6tX0!*3fP{gdSQVk8Y@4gG3t z;fY#QO`YkiX)xUhy2wzAu-?1vET208SQ($+=QF2xuAXyhwk_pWGSB{ibTKxt4t9Jb z8w0F*J#4biPz&0zWi%VAc9Hwp%9!aLghS{$BoP1r0RSY}(v8|+xu~a>V0l9IHk1ao zpBZ^s4l7!yLU+T5#j9X!jwo4+wHTn+57g=G+AP9uagIEfL?~C@^f(?6m18g*<|m`g zEM_``b=7wI3&!miK$R}#46RoSQFFQq?L1)c2WvOTJ1M&)fp!WxUn%sfFiwA|XffdY zj2izX=>h_NZfja|(MHdL{PeJPW;o4rU+i7_!4r*-J1f!2x;&bBfaUq>kn}_QmOQza zaaSIoZ>RmXDEQX)q-tw#MhM;e_GTx!zAG4jSAC4a(cH#pZC3EYx`qwEq?$K`n=a z5@SoR0%h^AzzkhkN)OKarM8}u>AKP7%7f?xhQpXJleLwR2>NVq*4juQ4PXGzs9#IAl#f89%vYvYs$W0>~CW;^qZOfM_}9-aSguglKp+eYg zQ^%2M$X8bIm499TN<+&ITLWWdZB_tQj7%M?te%_`u$_=|(=B8G8B!lMFHmJo-b!|H zgg+GD4`$+LoSolqm94<9)-W#N-J!aVFYclES~$NMJPi4n`mF%i8DltB!FGqALVJL! zVxa`JB!8Z25J8}^wA+Imv6>ig=^?E=6L%{~ZcA*=CHRS8#T}30GQ`;z`Ur*erJUoK zv#r=~fs2;VO0WuMT|`3F41_A8+^$On8Io=NAg;3tV)JxZQ>3*eY+ZXuU>+k=7X+y? z3IiU)o&e5lg|5-K1zb7NY~*x(a-Ed^;PkzY9X^rYB4!1Qk8-$7UG$`aX{@jXmO-GC z1m}W)M{QV~=<)1eH}m(*{Hb4nOzaoPGv|@W7xYv#t5ZmXmXaB^AwS?*6_QlO^wSzk z`OE18rU5~6{zW=$p|Ji5b1@&lw{Nd&Ra}&6T?ejipLa{asS+(VTd;_{3Ec~ON{M^{ zPDH%NER+uz&t+7%z5Oum%U73XL};*F6ZI>CPL(EF3-8A+34Rwa#m*qt4FDbvkWf=6 zl@Q(lMAC|Tg@gkD&UAADBaKvu1^ji>z%tlDe51VdYHa1j-XeSGLq*xU6aFP8y#Az< zoC^l9P}cUg9AxYPSBj@hya36bC8KUV1Z|r_#Z#HGiAa)`%R3EvwJZHv{>O1jGmn$T z-dMO72`>p_ZHAItv*OpGXCES6Enz+g_hD51bPC8O%ijT=)&usdasp!(q@Wo{&Mb{A z9w8WWPOIiKjSq4UDOra}D|N)a)jCf(1B-->OM%cLItgmk)HAE(Y|Ce`v5d0-X=ozY zh*whKa2aSA?HN731Yq!Z*Nhi=sp#@3(I9h}{TBYFvMY_{ z#nW5$mO-C-*vnq3g+>5a2%D!QGy#)OJRiW!CUVZjl7Ne)!&^2Pw-tDPjDQ21gLCtq zYZ$o{19xZDC2*0SL*Y}0I%^1c(1(=dOUKj5+aX#O$i`q^(1k)_f|FW_@ko6TpA``c zz5X=a6#V;^olv-%(8O34tUAH$Go|l*jG4y1O#{hLPC#>^Oa&HD{!}rf%q80ng<+A5 zuXyD1xjW?bO!!YFSkqOOqJzLe;XF!qhU&PjIW>d@tPNnP(VN7O&6O^v<7nnDeq_7E z*#4s548X#V<4vT|fVtesHZI##-;Ho!={LRX^-PJ@tmHh*_?8RKrQgSK%`1+^@#^{6 z<8&ZDBQ4Mfas(JMZkT2f*M{uUuhe%;5zHt3$IXY?jxa78bUjX)lSJIRA=^`FF)8*+ z8UJn2)D0vbYSk)R1eWX`HWnt|)ZMZ;_LRDenKqSyNFpCGi;u&`AJ5MoWSJ@zW%m%8 zw2zWWCZHbO;?00NCBVP|RF*!Gd^FTcxf@A4tL5WR-$Fkmxpx!m5YVLa7$ZhQ%ZpC7IPBf%Nn zZb(sGSypk;r-R9jM(j!p8@RP#Q@=K-Qrm?f~< z*xJemz(mWhb-=pw%6eKGHyxCSO#?*C2xW=Iu1+`qTw(xSVm9h|4G43U*I&g8G0BDC z9NIO}CblsXfReITfSyai{@?7AW;BJ~2MQRxgwmqv+D0So$Y{&VTuqJ0>(--dZKRna z?+!?pIp zV96rhqpK_ zf+|U3jS`a8gq)&PjR@sr*+}09p=Lfpt7L*xwuij6orTqo{m9HFJ2jUwDgMau2gvpB zy2%?t(SwCe>(zX0a^3Ns&9S8;ln6{`?c4+XI$%sbgA@XOlG{Wymw?3*mIA3wD6S=8 zM!-cc46K2;Evi1sLBvT%z09`n6cd;^u{3#YqElKm))M_TO%wlU26u%O_z;QttWl+x z_WaSq+6;Dh^OTE90K6mXjk%_IX2O3r#U`p z{cJdZJs-5A5jw^~fY340L{@5_$Rl3-%t^j!Oqfq&CdD*lDABP-`zl-pcx$GSI~TPC zIUPa;BUNRJ1=~l~fF%I!q~Xc2(V8~gF{UN*+vqXay$%G0v7CA*=8~iU`P>P$?S?X+ zs3ke#O+7UT>4^50x4f+!@lv$}8*wk{91@y=CvV8OgNC8d13af5K*l^#BowZxlerQ; z+LF^MSQHV`f9C}14RGYK)rv&>dhm!G)U;VeZAPZ{K#KBMTXC61w5g6_w%fIMRE+IX zJh*4qZYEJjwvH0BB?gjH6dry<*B{VSTj#T5o1R^dz_7}7wElh>Z6V6gzW3EqF1eZdsox7) z3E%`9h`d5Eh|7P+XBMEazR<+W4yb&NNu=P>xWw5nt`L9n1%O%aNthJcCBP4fV`^g zxH*4CJtI}w9A=FSgYO*F^2b1^7ei}R$JMVp!BmVM;z~J7;teWC2j+E({M1Hyz*5jP zADC#W5LEl|3XANU6R1Vs;b2yv**Bs5;IfQ$tO@OkfVA9L6%q ze5Cvvh{3C#3kh)Ps`90&Rk20u;%FCyV0 zG~?M9IA*K}SgNV$naFtPjFg{w-@#k#(J6q-g z;Iv@BCzy#HMti-mJl0y>?x%H7YwD!HmbI&@0XbWOx3uYd{>^+kpmGt#lsd%EG+tJ}NFFrSg6f>(|9CDi}_!ioQu19>~EuUpx zZ3;#j!A!rxSLaRP&Roccu1i(sUofW`i`l}y{EzfY-3=EWD!jo7Yzulu{QV(UfavXg&A@PGU^>o(}2 zSF=}vq?rsY1+`=XYV>A3Xrt|5+?*wGDY)Z{n>pyKcH`eT)@5^ftexlK@+OWgDH-Zl z1SJwKku8S>4k9}p2XK~f^>o-`7}&IYam_&BryncoO!aoEl(<<^?9%yo%K+sw z6BoZ{`tD~eX)PN*)E5m6tuKi-{_aw*v;QrR-cQaM-(wGfeuW{UO&k#Ufi0O2F8pUt zp!@&#pZB+?Hvf_&!XZT4_!sMFBNDD7Ua5C#W?0kfqASo9$XCZAua`D26io=rY4ZJb8LuTR}j_q%+>N80@L)M zf+N?WgTJrtI@1}l?x>>M4`bf?*pR3wnm6~42@ZIifDRiMBUv&o#v<3Xq-*G&8m>mz zLa<_n%fDcjYv50Xkfvf%h>aRB=;=}rto`J!guT$3;Ga4tX?8DQlkXlwzk9sW(!G;_ zO^(W?8SCeVshoIvTmbZ!4_*2gS-m?syal9hn?(<-gl>0{aeaL#8PeaGBFyU>C0jRk zvQ1fgs~$s&wEK>Q$@kE0aAU3DWO%Hm&3tWRyOEJ#){FhS-dIT@Liu~3GAVY+NYUCZ zQn-$0!lZnI*g)s^KW=yeovDMkdJEH-K37l8FNyB|oC#|vLoM?-yoEfP;?!deW29&&w>#=+tQLMvfy zg{V@h31UQCfL!~HXdacowrF=F7y)5QVR1}e;y)8h9(i~r-`h`IqOiIabQ`;{ljSsP zj|g>|0?8E%V%uTFB=g>+DZ<#|kVjK$_5%$M4uH;G(y3n^a1FsFkwKL3ksr?uqB^by|X)22d6gSCW&Pr?m<@ z9>36CV1Y)1K7Z^;&9%Una6-DsN?UPgrkAlWx?cQ?!EdPV90(jfB{4*j6apN3B|_H} z3GO0WHC#SHQM5^dtb~#RMO}J});oys5Ry^y-n~rfKNfxfYW$R@CD_(J*NpBZuIP1T z`DvZ^xs85Mj;k9nV?_O8mLtNs#|nmXr_oh-s}2+dLUBV7l@Ob$S`;_SSss-gQ69ry zCq}NGH%|Q-DR>>?>U*NG*Gw{Zx9;GG?LU?N&SCFvHj!dM$IN#>##*~3YzqG|Ou9s|qZi9j{(Rd*pH(&=%XWWDGbBty5zx4!kLv`mk%fe?o2bkCZ zC3YIx1w>`+&w(&CmlP;GHnQr&Z_|M=F*`o#SEt6_$@QO7NX{ApU~y-0=>GN!(Ge)E z1>`;?J4tK3fSqJbvYi^+>;N#ZmU?#8y^+rVZJN|`FG6+S^|D-JE0{@IkLO7bn1Kho z;<|f8+hOb>N&fz49cbiP@;!sD_xe|qr>*JnG|ZbAyanQ;DF@{{eJZi7Www0$63uXe zM>S!#$p*YSg^!#d$LD9Ef&PFFQ342?pE<>S*w+Vy@%jxttmEM&F|aSWj1d`ko3J<9 zI=JY0S$|Aof{bS6Q}X7mV>~V{071Pd&B7nRQ{S0e zl0|-|-Dih`PEY;yB36T(S$!qm$SLXK-J3^vyEkkLI)MF87HL0Vsf;Z>K62qu)WG@% zCMi_+`@84?+nySe^(2rzka_Tr_x&L+=J$V-y5>#mj}PHmhvn;xcLIZak6_MZz!O|2 zPe3UDYkY@S6@Y(}z_lTuBJ_vO6gk_f$a3 zw&_ifKs7EEED^UXLZQX%S7F<#5WWsrh=AF+5h5e&^b|6&Rpf(c)+j~#Q}n62CDtv@o2E4 z5GDpy!Q)a2kG%qZT{XK+wHr>7ORV$+wxW*q^hfsgUiRu3{2FD^=&`Dv@J{`9CiZZ5 zwNHo)1fOS|)%ItTe6?1?5X}{z0uqa z_i(_}D*rlTv1cn>k8`vbg271l>*PCOk+!2@?J;ut!Zjg``h4wYB>Lr z8>P>A$_t2k0R@V8u7B2h7~uhTG*=PHN3%5^2Lq7BdN9!w#xL@cCzt>~6d&pl<>c|+_?z>QF>cFcgrn+J$It@}M& z&nE2RA%S%TE10|_IBIi94A7bW`Qc8i_Lgmz?Ce`6)9^jIV0QTs*_cwBJ}g9lIQICQ z&`rhb+pPpwK@*66%ayb84-h8VR0!$pFcf^P^i zCjK!IDX~^o=Be>P6x4$MO%!O_jOExYv0qj-l}9#)92y6k-iK*bntUlG2Y|4>>%aH;^)Q47M^0TqZba(%OKU10uZ2r1G`U-+Qt+m=0eiHs z{~D)4=?P0?`r=Eg@K^7ooJ(x`xD4Vc#waE79fkJxhf6Fh!)aJiq3 zvxF7aaTlhue-B$hv5Y$j(?Ak|@Z(#j)Sy-x^rW?)64|(v6;4!ekV7x;zIE`|MHC}1 z^%itO&D@o4!-*udXR2uREM+Ln4a!dwZ5M)Qj<2MrH4y4a@k=39OR`@J*$%=Bv~3?} z%O#74f;Sd8cCD%kJ>w7(TJ)i%YwxAchm?%UkneIn`15$TvFE@pHPWWf7zc_6jh&G5 zuOT1*^N#jAaC~0K4_gAqKO73%lu^mrENrR@Wd;V<)@Hpb3Ei{i*|WUv-SZcQ#C7f6 zwR?HwIjeo3kN@wd8~z8dSw~S&`~9_%QovRyr86g7@nO0vFqKB2DAQ*4}!nlBtX5dJ;em|ThZ8eG+gL~JZSGh>#fZQ$4< zyIyKu)yb0ty!zd_@5`jA6$1e!xjPIy*3LZwKfP+|I{?~$>%alhqj1<*^VLFTp>Z$y z{R_sTy2AOpCkT+y_Z>zy4w#<%tTVfz5t<-|y0$B9qZW5;W&x33`V1mukr-gw2666gLJ`527{7?0H?XDvLKzWh@SBPF$&FOPap?^E!6rOY9UY^20@;RG>D-PJkGp2 zdty|uj093%_CvTUZZAY9%SZaCS4cL%P^`CtU4@rKp<1RpVPUKG{VD>tApbJ!n1PHL zs9#*D<=CLWLS`ySMVDezSQqidw~=z-vXht7vLp+u1AG;xvyL%rOQnboUu5Hk5?eFC zh>-3>y}ysHZ}_iUo#W zJtzqoPH?HsV{a8dtLfEsr1=u4%WCcuqSUKIzBe3g@7F= zuLy}E8^Uebq_gU|B)?3h_DpUia)Evv^&oj`e_F_j1Px7UC)*}C+DmYSym0qJB;i1h z`}?A;Ag*wq*pcZ8CX`A6TL2v9(J)}arLTTOw?i*rVXA&PGjDY2T&MfXFPPQ4^J0^9 z6ZNEnemLoaNuo7|f$p3WgUG1rex}nNWVM=#K|V}_kGCxzO4!PZZh%Aciti&KQ<6C@ z*_agxV&2g4)B_<%h%an(bN0ylp+w^=s1Gi;rZB|S;xKF_$#i>vyqX??QR~-(GU71$ z1F&)X)d2K{zX-u;$pR=`XEjz<2p>|(^j?rq#xT^srrGOVon(|nEMkuscPs?mHzy$Z zfPFMQK)n^F9`8n7>hmw3A;yLJH(8$>nzr`(*|@_NH>S~!X9eTNdfl)Y1wof0=kiFd zuneKf^1l|7&N|beP?!q3A@l?k2T<*d3kQb7T%ZMcbqSD)3YUR&5wnU?q^u=u#i4>q zLHv&o9$;7{6x52MW3)6#mLdRxZ&sNyN3~$LmZan7!(sVOxz&^uwxJlg`G~o7>N3K+ zk2LH7cW$+kepu2#wM40O?#4@id7J;|R_TDBOW%8#UBJv05 zqPd5nz4dLNTZhV9Y4at~&isr-A4M5V-PvW^uc;Nl#FnL-;N5L`I z-XXS>W35IK^QEzj)_T<>mwjA$kFE3?l=1CYKy9)>m%D|rJZ7f$x{hzeA^{102FstW7UGyi zrhYA(k-EKH&4&^l!5VYcS^^y&w`8UTA|OnR(xhL=Z!TH~gQaBLHio6H>I+yu5fBD0D*yJ*QE(XD|;V_Ha{A*ZA)t+ zzn#klDSPjOrX-Mr$2xuys_fESDZKlh`O{Es2kQ`2CUZCiOs~WFxM^D)-_6vz%U{XH zq5e>YyegXQ0T#gO;jVq%jyYXa*sLm^{-}Q#Lx}xfLmmFxF%JLzAW8OFq)x7P=|pKd zI|olWepT0_+b}mr#PfDw9ICG2{tg?JxD*``;g-q?H(mJ79}m|1C2T+SL(_5sBtXXX zT$(jl1ol1R{1pm<&Hn2vZp_cE8;%Jtqen~n&tKKLp1^(ou<#$eM^*E``R<>$9+r3P zIIy@^?+M@Y#C6KGTlHU-^xQ)$`5IWUaV-X<@Uyefxq4xbAY^R7efX z$d-5Y_4oVys+>IdQ!nfvzvk$eXCF(ExqWTkUaiYP{PE@MB7bPI5I7+3s~QyK4c<3H ztF#U$KE=JQ;m^=q#KEzrBQ7{@u0DVPiOuI6LKI;eoSkNxSi8%A{(@OY`={MqyFU+z z`1P1S7Gn}nC-L@oA$kjn^_dm(RM6E?yR6XuofP^D!zA^EcW-7DDF(VW`zywm(PIWK zOxXJI_6zR@LEfK>tjZq!{oL8>I~I~I>TbNRQ?Q*wUp;>U&gq%c2G1p(f1k!|x!7d* z__i^pg`<;~tANch-@WGa!f+)~cx=r63m#tGRKkc1= zWors`$2tRJKIxpvQXR$W5;EYIRr6DbVU!EI*W`PQ5p}=O<{gIMp4hlazZDKyQhrjj zyZrIH%MNCygGYX{p)NRPH2-Ihl$Ee5_t$ua4fFmZ!KeXjUFnP7VgGa{i*aMuU*sXf zpVt|vz|jq!Wgy?7$DgH`a9aExomrU>JAY2N#&kTj|9tqkEoLV;jj5^NC{pvb;aBxy z*1m|Oz{vJfYo0W}+vjBChQZ>Qe*&MoAV+!r%xNYs$gU7`hA|-y!7M5I3G?ymcl_78 z`QPud|C?8K#_Kq?p?&ZA-ZLBII1lBf0LEFyS>Z_4&a?A7s?YnnZ3%TdCwDpB@xngm z*P-7ZExxwS@XOmTU%njhH=J*YF~TgwU@$8&Kj#?kuvvn^%=g29sVx``^EB~%)X8%Z zKL*B~i#`*1ej_vX^e-o7&+BTJ>KnJt5jGXFV`^ZjRFMj%d z(bG3N-<3Nle<>3Ta@?|vpFDd`IQ>_@JRC>3fVscSIstPv7zF{wnu?zb=~^GalKaKj{Z4w{EO;T2XjI+MM_K{WO>RXUxk(!T3MC z^O_3-!tVVd70SC#K6hRonjfNI7T6crJ0vIkqjQ_x&qu-{?E8GYGBV3u^o>90W;)8Q zbFi=5enZg9g0{DTC(a%Hr^8>Lt9;={Z1TxJA7&-k&s0imD~>*LnJn`^dT;IDCIJaw zR_aJ0t-Gq%%oFKOS4ao3nSD8fqTiO^`R9)xZ}6V4XV!F`&97b)WD|E$y7(W|J)ge6 z!ehSr)vcJH{kD5;MG>av?ay`vN8D0Bm8}1+p%U2;vi59V*^;>H&(?$&$oLEX{GM1m z-T2gGzr`ML`@J8$Dmz|$zwlf7YkafIE~0+Zgv*1Dvi^T=m2OzzY(u2eFw}Sb#*PJ! zMjpWfxy2n!(k<6Ai~RVzA)5l`uXcGR-*h$RANMzZ*B$wfg-a}YGKUMh@3-2H9L}j+ ztB4DYXvpy$94Hg@M1IfEy6i9i<;0pJB1h%+(ChMA?I^nT{Ke&2-z>u~VsWa1w z_x)JCwCKXl^7QKmul+&Hi#X)FdQt8gw{ttj6X?I$9Pe~k9xV86CgKm~@hyLu<6KfB zLb1%>ugMNP`Ntk?(C6XFxF=ba<9n{d6EnfaK9-v&G%w}p@BVna%ITLt&p+}?Pv>Xt z_deTk$zZ`ZpQi8HjE?@<|9aCHKOtccKO<(#OWoz`HqP32w=<$*nKLY}EfXhXyJvQp z?D_Cc-Q5Z9n&1R?2zEE;eD8bCo9}$j zz5m|l-hQTfyJx0;+uKt!)m>G+bKoqL>}vez?(E5pEufRe_enh~%Az{jv~K%_@A>%s zvtjxj%8wD!lwi^GsWa6h$6+|fch)$waE`1*ly%}VnkpU+S_N_JMb(HrYpGoU>$?b% zjFD~hxNSq7n){klD~O=^ms0%+Z8)TL)@XAx4Zfaa%(d+adXu#8UYUaQC5FOkKy^9i zmro{gUMsxZxDN4?Z*cr8E4@a{+%bgptD|@Cd49e-oZ~H>&P1(EUAwxKVYX%W2=f0R zl-((~XuGcl=zXiED%yE(8Guu3N$=3Aw>qgdyayLB>-jM45wZvm%_9P>nYL2^OhNfX za#kK3{`Le?_|ml+W>5ow$DS{iYw3!VScMTLfoDXkE3%7JeM#>ED)&cCzq2=RJNX>e z-A{osKOA1_dTq79lSyUWAL)jD z$q8>prspSI+FkS!%E9bwY?^CO zS9>du!Jp?W>27wTjx=5yii#7>>#JrZ$mHWM`&2_KpSlmT%HrQ=sEOfFk+BNl#6rCh zG38W5VwUemem#2y5GVP%v;XYq;p%{H&>)I=w7TRI3`oYd`gyYuzb{*QE7%`RS{&$I z65g}K#s)dvfLp(__8^ATHu4tD7{``AIlVqp-3 zVIpm1ic*rR>MKI{mNP@=7;F^d zlKPi@pE_zm!HIiaZNkMwO>1g)Y(5lOFE52xNii~bC%~ux6$~}{7blN$V9F~<8 zOBfa$B;f~um^qbIuYMR0?r|MQ6uINSnVm%RppOE$P&4rBQ&A-=b+(_Xq@(04%V<^^arXi1a zlC`)lrI#hplUo+?Vl8dV*KaGp7QU66I`_|SD9;_x`eb4XUz%%8IC?J6pcRRzp843& z`ZILqyH88H_cPQzdz;_;6zxI#jA{O-LNDqVPX5@_5LbD5_J$v}p?Ont$K7t1SYJD& zPZ=bHNj`OaqCykBGu`}b%SAq=aP0}N1CZ`}K1$Vx+DkQ5+Tgn<62MQZL3YjTbZa%M zP0Jniz?uChA$0>D7`yirWj#Hf2UNJ(s-K&2(Nyv2?S6bs)$_9?=t`0#Gi-}e+?Nbd z%(&Uaz1yuVfQ{W1Kq_PdQ%nTHlk}9;%sJ`A6m^dTT^IEShZ6rFjGtC>_&hU#z{x$f z-9c+qN4w5_mt%B<+1TrXGa4Sr3ADl6<>Kz*>fBHNs#PEDPOKSy{%U_&ok&N9|AzU^ zcn9l4-6wh@^N(eG!I84^+RhQ|$222#LWBc#h14^MHo7xeuiRwl2KPCSEn+QhC2c;h zu#|t9Gt$hRvs>0IG)X@o>Rd>Vaw@Gh%p6dPz9wvUnNjys8eCn;J;7J;TqVhMj%`O- z5^TvVcN&V0AX&wzz!M6}-3)8-HD@SsRc9FC`wSa^6nbRtM15iEkJryX@6eKs;0zps z)}+JElU%b|`0+9MdFft52DN|PkFf}zxg_Vc9~lg`KPqF9b5H;hEwP2RU;%jmUC|JO z_A6B07$cxn5RS44p&$%4jUQ7{-OmRk+K4yqNVJfV^hI^$a9GOgbDm(f^t=c(VgzaI zJUTymVZ3sEMPG}6_J^E73`KbbLccl)6@ni_LlNzrth4y=c{zET-Y`iO{c$5&jx`p( zol*7|EB?nvt<4FLmFS$dfZ%3ysH!SLmXi0AQFtn74&<=k_6b@1kXzBAAb%A^H^R`> zH=^*SmO2Po^6bF7WCFoixywWp-kjzTAqz43Y7}03lAjfWhm}Fz9U)7E9fXXhZC{c8 zY!seM>kHyn3jxk9D`-vtVlOfPX$w|`G>lML5L_qvitLBH1&j9H2}*xzm9&cA7A^C5 z3wDZ=os%6ouQ_+_g)UJ zi(5P=DyF*etNDgkv7zmyx4Q=5esxTVhNeP2L?o@n&BwknL>cZ?_U%QXywcaQBX=VW zQMv;wagbjuVU+xJF2}ma8&aP-l-^gFMm>k z_!?ZvcT(#L*{LA)8`pt|9M^%FPic)9zuBn(U$)hH3$)DEhGo9yQcDKolV$YooeB>+ z2!x__%~WcBR~4_(?A8)}<&zQ%*C{qH1zxhP)?wvN_eV%s zOI2~xQ}BHuhzohNUE6`G~cYost|NWdGCQ4Ca z-cJtNrz5x$#^_IrE`m9xZvo{MUbCwWE$s=BA|=L~nd`cl`S)H|r8aSzjOrU*kkh$c zG-u~{j}Z8yNcXpfAiKl8jpQR&6MT{$y=v|k0q{iO1fErZKUjWECq8FPIc{>{gq${7Zunp8UP&`RiBmu;A}IC6T6oN4 zR>*q%oZj&RfM-tCGSg}0?zepLHdWDvQO1ld2t?T=B=^Gcz7!QcPu0j;6Z8^+TrDo* zg?n}Cbzv!jbsa7p{OixG&YBjxAEX38v(4^oQ6y)nT5hL&vFPSU&-?s19vgq*6PvBvz`VJlh3b58>hx=(MS*2+l3B=@;2` zj~eMm9OHt5ePH*pZ3A>POKfnd9JK`QJ2swb!WwyF-4J_7J+bp-ty-HhD)YI{vxSNt z;J7bw3mV+=hU@}GF$&LV5B;<`1r+Lc6aW?ehKx8bcJs}x-!}~ z<*P{RIgn(>k0rJ&=+6+=$+~vuD4#R-#+|p4uT!VE^c(^FtGrs3CmuH zm{!&oJ(LvjrLh5m8HUOBiDdJfa^cEpVYtE8J67nf@FKY|NGb0$(B&65Y#kxOr@!&A_%+po9YyntCqmb zr#b?1sM)4?YQ*)61V->n3%JV%IycrfUTzQfvR5DEPPQFx5T2jd^KAy5mKmR#pH7)- zSA6RaCe+rj2Zi5>;^ya?>g98%MBwHA6u_FI|Bf9-wR(r3#pB+nd(&w_>TzUgF#fV` z^1K}R$l&R^l60HzKZCHu^F8xK?z@@sF zNzKHjH3`cp=0lu2YFf6jYS$!>zW(Cd)9i6(W^VF(g#42S*hEz4oWp%pqts|i5Ky5} z1)0|QOcS`zHG06smY1LVB^jj{J~;ZdrSPDg&yTO<`zfmQ{^`)WYrRpz81!kJk$3d& z7X6Z)(b%aLskM$3Mld>;g!24V0X)!+1ifX-M#e$v#jx0_ZVa$x8GB_Jgw@mXN~00V zK|PY_^+qP0u7Ue z5Z9<{fYi)LzfVk9hM4fQ08yd!YXKs*eMAv5*Cq83qyX^QSam34fegx3ZFfj}KUOe* z6q%YN4nN1XyIhQg&5#>h%pC9~_e+CtT!efRb)Jj%(M=j>cvq;V z=jSckM`}ZtwUL}?bbe%x4ng7{c!K#O$kb|hf-}HIf_~6Y+P>*8C=eJ54}TW~jKZ@h zDmD?J6*Bl7menPmpfM~;OioTHCdMO%2E&=-WxNd;!#785Dl$T(Z7|)%Pb5u+u5sXzIXJZ+ z#3#{WL=^GJDfXgcx85f7Ad2KsLq&))4TfETxGWhv?;g&o7}Lc}@BNXhp$JCP=m-DtSsks#t{{_>E+fu+604A zX1DOP-W6@t4Y&iH^%_b7s2MwU>p0EQ6m|D@`?_fSqZ`NbEoHOM(jT3pD-)4QQNiyH z(40|IHtCTzc)(!WXlyRa!f(ITYUo24V<%{|WY9C*x$l|cF|9fr?WcPJ3XLT7jA(xt z7yX`=SQ@PrBFjK?q-VJM5;4Fks1P?7qZL0|9A#8CyfrXz6X(!Qa1WD|Lv4 zX^ri4Zbb4KsKryOE?F>AR8Su&Dnpgh&I}4qGg<|=8R{VFdkxuNeutl|a*B=Jt?jZ2CZ%c%GSZJ+I-ziRkQ8$Y`Sj847qo>F< z+&3nP6J^p9^}2LV%ZX376&|@=a2+TQH%?dcIS#LdE8}dAo^1 z(l89;s)?Z~6KBetQ$A@d6IN_nK73p9P&+k^Bp=tM3f*62#zK(vXE0z z{lHp81$J_>N9v2IuA`F%1G^)`k565B*vGlekx!I*{cF~KB^(LGNol|jR;js*(z~13 zrf0PDG-b?SAv@(R&<4xNLJE#4D+gPGs8L!@(a?{ysq|r!;y27Q#`byjrmXc^%4J}L zn&l?TK*fko{Jm4}_mT!;m(sj@%k-@!W32R%iC!vR7UGFu`X4pz8nu?dxv?5TVo572o&kd9@V)PM#VCIEd(1ORL&36*KoLh!aS|Eu!{JX{Yj~$~a_T!?8k&+Trg)i%&iHsm z6?q`;!*mbY7t@d`b6QM!EDb(t58)>IImE=!v|F2J6BkZTx3iOzH%hK9u4Zu3<(Sgt z8T#O>4Ri@;zJo~Re|z=02ojW7GGlS0K}t% zcrImU$R#dCv!6N*ansK)47fBy5#RcPMFzW#OF4qJNW6GNC*B32x@Z_WsVBd{bl%QM zgOAqZu+f^*Q~8y8!v=@GD2LZ2^6h=YKD#XIqEUt1Mnl$wq$r!P#3izC{&N#UpSwCRdnkx87Pu?d$pv)py)JAejX$Xi{I^x`Ih zLmxdMSm1f*5O)3o@lPY)OL?AVKUe@DhyVb<{Bz{%Y;Iy>!t_V}$DsE}W6gHuEmj9f zl`ER_sb&M^63P#(2J1qtga-3f+xE{U%Z9??A>wa1A|O2jAfQ?dIH6n`BiFDNvxB_>WxDq2)hE9F%6HEFNuIVvk& z9>bln$?qV!Gw`+2gD6_;k6O;R$Fe=90Yn(>TXc&y;saX(4de|u8k`K(d3kfAD< z?2heE;4aL*VHZ`Mo_-tLf^Rbim%HF_vg^|0?0ywPdG8t)NPgNtRlY}{Tv|d|M(RS?G2_;H9 zZ4xDjLWVbr;BUzvakN)21iW1AmA=_QclL`@)w+PB@+uU+aB#~=DA;e-3s6xDe5cF( zL7IYsQAPg77-HXMCqzx4 z?Q!cirPAl|Wv7S+8Zn$)Ok{45}gSqzT8k>^{qwbbRAaT3E()E*u2 zEg;uPYXyA-gchSJ6{~8j2@8iT;{=pnS3;qVrB+-MVs zR^4JO^hNBoN|J2?)@DrudXPL}2e8)BWyy30tggg*nX2rVEayp&R;Qo7(uf5 zFpm@i}aUzztBcy1l{D{-!Pa~N-`vL`=UzIGBEw|*OgZZxoH zYNik{U68~!j6wVWBM^usI_^zneTHcojdqXX09aeZJ^27l_`O3D{#8KLkHiw_I6c*7 z%H$8JXBg5Nn*QC!F5VqDe2wYPXq2aWeLPvVdef)gO}@F7 zs8h79F$OtDs!dUxNI>+q|yK}ZKxi>?EkToZ*v6BRB z5_R+x%jrU4J?Y{_Svp9O6~Uq(K5Yb9V)mEQ`7OVttulAiFP?LP>Rf#3RYg>Im*7Af z4f%E|sk?bz{M3nRjt!uSmJTd>y_TeX>mqkkAzt4YRwpPV#hDP49D?xaJ1g%sRKg+X zVN-VE7qYJuD zSFQ&Ag<)4`ObxvgV@TMW;NGNtEX!C7f2Yv+y1kJTyIOx!Nnxx;F-++136u*k8uzn9 zf|FlKx9*7sg-}~nU-Rj-1@z!*8a$PhbPA}?8`HtxTCld-e{oI{cpqyh*h)ssMNSm$ zO%Tj!20hNwD5ScxQ4n67sPjasup_S!z0WGR1ImkZhfsUnQjoviz(2V@!XGH?s>7u- zgm4pRwpLnbdB82hUdlZqkIikh+<&ztb3ssQiNT?cJzd^_+&0~EB6disP+r@IU3;P> z4Np*C!V>t&xQ(t?v3683VVQ#wo?R};^RXe5ye!LYBaP&T&bTJGp!Iwb?fG0V_(h`K zU*z7u3$g#%nio(i-xDPqtv{ufL4sQYA-r8oy%2V`UFJCLlwa1{M&%d8WUisyt9sObJ0bnRf@CIxC^@UD4)S%AcEdQQ!F~P>y5kf0V7}|`>L_Qu%bR5_laz+iVJ9$wmUNEAG>IU zC!Z`igdJ9%Jb;QuM|e{0qgFakY@w+gIJ0Woa2y3#du>=wu!G8%h`|tFIO4Z+2>aj@ z{zaQ;>1mf(m(HMD@Bpf>I(PDxZ(=Efj7APAnAq9qjcPK!j>xd17{cg`&->1#)mBcc z>93y1RR@rAqGG}#Tub6pA7xiJ*x(6i+&wf&!egGwy&8?bW_tPU#?X32EyOhH4aM6L zz5pL86;q&g;==ng;95BM83IHb}mL5 z6HV?_b-6cAt|7*u(+wPL?6&aY6vIc1vMjQ%C)ka)oWZPQGQqzU?MqRiB9ZT2O&AI1 zERyy}+OHY8f}&0J{IvRL?Ktyt9YEFUVVKHWGSqZ4RFK4# zgP#L~4+qwbjM9$;{KCfS^Xrj+9s%uj)#M22DEJU+I!zNPu{>t@x>C%Ki zQs%OfSL=W}3~7L?N|UN3TU1_!u2Dz}Qgt^`R-F**XHq&fg~m8Mj!fG=^F+{~Xdl{l z115u!AD!euWbU17Aj|Hz;&GI@BF9l>%=*_?Un7vhld(ctBH5HljMK+3&q1?_&Uq@h zq>LCgQkIX-i3#Qy{+~6L5Gz`8aI`8)m|><`LJ#~oU}K?Ox=y##gj)O~@xBy*-Eye2|)k?e<1Q(;I`6(dQz zYnPw-d@lCIo{RMm8#ORWcAsd2uxF)w#CyC#jG63*-lI;`2V74k+$+-6ElobPGH4k# zGe68Zn@MuaD%sjHXIym3*K7h0p8#8I$m>$M_T?bHgZh(Z2!D^4M%ZnHG?ObHpuuYx=A&%ziIpOkx@UDvb?lQUh;Hq58g1yZ}vHsTAHp%pT_Q2y54i(6qP zd@;Ep%$lbkXFS^kn`HsYU0977wZ_YY*g0^6sdk593kBp0t#onKzg z1S7}WpFK#r*ls(o9@<`9j@fMeege;HF27aZoT|BBJT5Y#*%V+l1R^HUD)dJR^Jj!IEL`L4DhSOcw8Fv}`ucG4qCIM-1N(3c z4Ut&t*GC%Al(fQ%8Tw{%3{8<(YJ*dkgvPANOdHUgw8EON8zUI{R&fk%k*ceL)fa{6 zt;uj2&?4=E?quOkr+al4w(=E7B0XDNf>!EGT@krXNa%=p>q41)bIiUfH_O)6P~YG&G}C7Wni-LWM+xP}U|Rxl z$dleiaA$ntsmp{={TY)8e4~&U6cL_`5;VKoGpRz!MbEK8YrY0xAx-Q3X+zHA`I*KC zNtUH{$;DN>6b0RiEZFl_UJ^@A?@*PnA$jqZEQ`g*_+c2X4P({3ln(qLBSL&yynL4t zDo$IYs1Ns4g9)V~o4w^6Cy#-XrkAq;d2?ed{qtJas{H_}(nOYAL_N0aVH}}%5JmU> zNCxAk=W1>>RdyugY~Ot!mt*HJDk!h zq}b$BsVbsIh*AWq4wni_p>x^9_X6Lg`ca;nNm3KsV<~E>)AXaPs%$AeC@8(GGF3kq zOd!IgR(cH+(Xr;=LhA$^G#It-ZDL_p-~@_Z6;Gr_LgL_BsflPb_1)L_t#n<`I-PItUd3!) z3SM=;dTt@|I5*`U&y1j*>H01&)_!$+pu3w|JN7V}- zzA{68-UMXg!Zh(E&D&;N4cb3if#X;I$yDGiA|h1@2LL3p0RU)!DoP^*Ya?NE0}I<< zQf8e#YD@S5P4pJx0=4hRsO8>Nf2jy@5(;RU<^>>|Nd|D1m zt;Do68vFjdn7EwTJiR=;KHqWV{ESKx+JEo(a&dir@nm~lc`cbccQRzA@uV8_}-%V=bb~N7o#4t*Ryk{TRY*vT$NiJ;Z5&m@w?$Fb=8wY z!p=DKKF%VDa|X-zUZDhNOmbWTdk>d>ZgIzj1ZVUtiT>KLugZKZP zqMEkdN9~IE;{F>IgZKSTqLC&sYl@z)H~vlv;QBuiLZEPHZ9ceR|Dr;0`F|qZoA_r( zx#MszFg?Ei-w^2--`bP^GUk2U{{bn8&?S{CH$l?jOZU;$D87Nj(J015k1U%Fj}=w@ zAu{%w?&E9oxFjC*`XR|ocrD`s**=Dvc*A~=p}Nw|ilJ88vy#5j*Oen}v{xmwrG}Lw z?X-6#+ogGxBOSDlC0C`Jl|!8p(E8mY+Ja@FLtPR<;NorgC7Gi=hM;=Yh4-dc7=4Ba z9?sZqA)V*TTd}nF*8I&j$YEdQ=H~qty$n|f(9-3sw4e+xC2Xv~#|ps5=C&4b&^0nY zd{nu7Wf41t5z7l;R>6nxQvU=ER}b_p7lI!hwg^9E*J^FP(kn|%a@e+3GHmW& zHdMCI@^doTZV}tGMMrT~p2u^n7Y-a=HK-rwU&OPodk>UOxaH$Bv2U%8bA4u$-3D!O zZk2uIQfEV%2a&UFd5v)a*8win4o;9t&A=%EM^oKki$mmag^YC>T(qNTIyib_m$MTsOsg^+$j9z z)aWRM#Z=EIvV~OhsPnm0m8kC7RH3N289Z*OMxiVkpl&ns_CSxwpy3VO$Fqju>Wv6# zwI7R4qN;SZvTdP1TE|p(YB%|m4^`ULIP~VcRUWXP)QnR$vHLv2aOhbj?&&Yw4Gj4f zL!c0NbCkZVKy47KA9Q_!^-{JM3_Qfw9{*+ui_6xO++6^yFt#TPJjA6vUq3XGuzd8>@gNfCRNo+%VWXKLLQDZXi`uxt@-Pp7q8ZYMQL4o5^E#v++y) zjm8~vnu?VPC||9nbMM2P!zOep<0~TMbeX{Ugl=UVxU8q+rKNHji*kNY8hKhm?fLOs z2Rpcuv79v}Kj11*ha#^<(1St-OVyd=h z5t>2|+(v*A;{ z@nS^MRvais7MaP#2eOC-SzXV;r&NE)8*Ass*s*;2)XoY1cx<8VAVVD%PjnBB5ouoT zx_N^!C)Ggr^F@Gzonosks;$f&63pVmiD8m814iAChRofYcVX__xOjS*@p?x6C*|IM zjz`c3_7IFi{Zj7m5XN>!@{V@)PD}>&_P>-nc=!iFodW=$@&9(pP|~qlVaD<%0ow!G zIUQFRKsiNNX5@iM!IZ~Y9QVsONt9%3sm7f?H8R?*bif-I0hABm^msChH!T#lyu{J2 zYnqMe+dJr4G>N<_2N^4oPDA<<0s?$o z3!9lQ&be`^%knI0$(r2*#YRv#OESp}_!(%{5dBFc2nStFmgl|_NQFG!=LhyT5>?-B z*9prhzGy|jl?Oyth+L2+HS8P8@MmM;jelXzay}6x4jiZ*;!1Dus{HK#j+ji+;o={~OmE&|VXU@(6(mF*QiT^;*md~}DY5;aatpe^WSoR9l(+2OHeP+CJ}qZNRsc{2 zWf$|&D2YOb9S`O6khx@ zs~oz^PMV-OPMhqle1WDYktPa#{_O`%SZYP{fgli6hfEBK^oRI`X;pb`W?!b3ZGPkp zC2e1A<3^2$P2+*3(GOU@VA1{Wv0q~alrf56x%LE4q|pB^`9^k*CjVdb|GM41;uYk2 zNwI=AWFAqGPl+efzQ#33%^nSlVm6w4k=wVTBeDC9KY3cT&ZQN{*pEMP?S*(f7awjz zWvI<#g+;?lc7fdgsOi8T9bDIX6JyV%<^1gUs@1 zCf^2y7##KEu;1qIGb@yp&AjW&U-=di$=LysfzH}Z0Gaa6eid@Ylr#@YF#=+#t+fS8 z+&>oiFQfnxHZ7X)uV~!eCP}rk2)`? zP=6sBq7XCjuFk)B*U_%UAfJZLBS9lE=$vE%8pliPXyEo4Yn*yO@)o}oaQKArDgGb= z%|%q>Eic(C2$SfE4yk+aeEm;Bgn(oKuU-1riY8mlb~F%J6pz5OtY6O9|4drKcDBwY zw$6IW?)D~5I=@6yUg|#qyvLNY;J^TDU|B}`5AJ^Ob6wBT#M+68@mKykqo9%0FE$F)+~jtl%%XJ9U{p7~ocL-+&d?+Cv) z!n{9Z?iReZ>yqhD)Ba!FW8h_8;70r&lga*1eNfpJuDS+p!Unhle#LVBmF}_s5ry@i zP;ymVMoPHBR^bAO-%xFMs4kY~}kpXt%d0N^60f1kG`&UE2r6VN(;NLpd z+5Dr8p{;?1HKV1yiP`Vn^7}fszi`$T{%Fd7TlMxk!tdd&e<4tB|KpGO!|(q)%I~29 zf1$iS{R8Fqz=7WZes|sc1u%2{kIneQk@Gvs@Amq?P$=&H?2dn1?|*0g-Cp(=>&D|h zHsBBI+3zU7+d=+9kpUY{z@qUVR*~Pi|8t=A7cT%n3%+yzEfW7V?E0PiKb6(rxhW9; d#{DnVB`*a7z7c=vHFSUh*vC;01mEL;{{^8^hi3o) literal 67446 zcmeFYbyS?qwU;v(yO`O#7^r$Wm^tgQdf3^%Er5q*$OFJa`~Tnef3OE2$xHIE9N1xJaz5d5APk+~ zpJI$QV6T;>dXP#^j_r$n)FN!0WV3uk|9~9$*}i@ud-TjA#(=@w}9}bCD;EDq0^0WrZ;ex+T zdX2nme~1$3qc4M9v}-tHXrK#bL+bLje z(VLG?#YfWwjsJqG%+>wg#DLWE2v!~eD;%zD(LHI!i2+_jT9fzOZp7gvf_i5^DnDHd zwubviuVx$;#PPE^w=NjG(Y~yj%8Ve4*oZ1LOB zm*8|?mL<v{-i3;!@av~|_@$>C^Q*8}hZo$R&4mM{mYaE5M>#~) zKdbQZGBN8azxCC3-H)r6y}5kLWU7@|mM%OK@FWXd#3wth&=jjZ6I{D*u4f$9-i-d5 z%VO=GkMPKIBZfNRsbs|LLe_^@onI3n%uzMWKAdipLX|cHVK2pocu5oOodoyOlYHdK zvWnR7lSXv%-D(qg*k;45yUpaxR*^!9?rj14;V3Z5Pf?}yGa7xj+y>*;iNu-6hQ6Il zCns@{-~r0sh!VTqsO@(A%Mcp}!DTVQ0RSzC000)W2Qsm`$~yn9=ZX1NZw!$NOkyB0l4|@&-UVqz_;hxgRZ~|SYdYlm zHVkDmpuOC~&YMeW4VFIA)AlgIS_`fx4(&8YTMW%hyAIdhJ1gO3)b z7H5&AL46Uh8*Bvn5g)X>54O${Q|{szul_i!4Uo)bgvp01r?&KM1~zYVy1sri_^2br zUNX+12YG&w5GQapXf@y$TqJyMCC+MhR68^YoMe#6BhT>?lmfEHpB(V&H=|b26sEQb z_F*Ll(~<1?O?_RFFi1rhqGm^NeG+_>bxUZB+XxU_!V~-cjQEQsEO{4psA*;KW3vff z8gY2&LP}NGXDm?VeW2jGpz>d&yyro<0^Y8U;rb_bk~@Jq3~5HS7r)usBHVt2=3>9@ zqrh#EakQKtn;_&qYVDZ}sqkx(PUNS64}|rS11K`qX1vx$20ndB z!1;x57Zd2F(XHJY!u8&%huc}w<7Jp7i3UuX4 zLU&Jxk$P{3*H_4eBC$X>2v$op^>o^0QUDb)p@i~%tMi9V%K0udk`kuAkMnFDstO_}!;l==SA`4FDkeZ?JN<3 zsohdCwBJ>1O2V49HQE-L(hNJ*WU9I)JxUsJC6t2P0;Szs%WA|&mR55#M zKeGcBZd--^j3^kmf4zXz2+3~hOdbA_4etF=gSs_Re&4_MNGVbLmC&#CvXI8SVV5^0 zQ&jHdK0Y&*<}ndO%#1D;ai!y|gLmNCkcp&Ie|06FSVQ#wh-T>?;VIp&*)xN~pEk=) zY3}qIaV49w&pgs0yRK7m_K4jOOf!F`sr&6Mar6`HLoTSBOEm8!h{r)t^sz?4A3aeI z6T zyEP233;~0$OiCw5R-uc+UGnz&9h4M~Y#t9Rz?`S7CaFKU4r;bkZ{Jd=+n$^iZr*P1 z1cqkX!IZk;m4bjNNWbC#{7|_Ok$eXTeT~%{_=IXc`N||>APq6HVBfz*yh*ka zs%~w>;xDj*e{7X>3*U>14S00PHQdmII*`%n2(Fk@6Ye_J2`_bvYv7&LY7TC5J<4SH%XU`yOG-JPjMYc$5FIV|N|CBN*hmLi2Y@qGdxY(;F`ry1tjT)VsQv zr9-Acd_BSQLs!cEget1w#k*o5Iha?oGRT9rq`P2lvV?xmKhKvMJBrVI{S04Q7$h-XEU?_u@?P*ZBvO z;6Kw}cp_Q$Hxeh#JD5?&l5R^n8MBg-lkm<|f9Zlpk^UX=rmpwSkbVb9#KO3^F5a!m&gV5@qZ#rl8 zI*TCpwOIWe6yMqRQuxya`scy>1qce>7$P+{jWu5pDV=C8xKm@f?oQ3NBH*WBy(b5@ zyVa<{wsn@e>WbF7Dft8Ozg;-e%^aGqMezO9J#v-%)V*Y69_x0dhhW3&Znh1SE@j$> z1GQYzVfLw~sB1c!Yrb;El0`bQlHwPCrPsR@f=3XOYElX3*FBQpL=JTS*YBRb9Js zOh$>Dr5D_vuZJ8>c}+E6m1D^ccI0@NRH+rbJiBwgS&Q%_AJ(WX)G;%#6d2*}9ez{i z6x;*N=E>C3dn`+`kC+Ac(WV_|RoH%qr%Vj5#MkQ!Y zGi44jwZd9#e7=PCo0`D*%F!_smcbF+3{rBso~Fi214hsH!$z}d`l*2OK$GLrZO20N z@C2LLJufQxm{ZRJ2Os5do55;dbqa&*+|n7>jo$?Dss zyN=)j+AyW0{^VkD1GCl-Qy)EL`DP(oo%fz)v<_OasDyfoXX|^FG>gK&%-?}))J+VS zEZ-R_4cHy?UCgm!li{rlX@bIIsInY!uOyE|%G120$`I&G6tKF>~ z>+_RUK%(86f>%b}n26g`H&UG|e(kMRG8x;}ThuMn{=4WI=h4~jD`zd4o*ELhvadDt z!!=*+l+xkGNj$!^^Qf_WtsHU&>qG79b}rIX%2~_Pd=|~&zVdYO6S1+Egz^q>W1W)NEux z!Q9JM(`6<|L#g+2oOEkyT5IJxMwXteOQ&9hSggN=Tc~oo12^yOSeD+u1-_b}oord3 zlOvlF+FegvE&9gCeW2H)@zbeGT)P&6qJtlIbj`{ku-;fad4Q2PH?}H_*Foo1^XE=@ zmHMJfJ9e@5i|_CuV`TJarXuzL(I=NpV*_o{0H0(+=>h9lOHY8KI-jW0vbs(NJyXs- zgUcmJk9DO_=)fH4Y|71`EHQQdu_uZPh1-C$7xB< zmu6Mf=Cur~MErD0g5v7Xn^!u+2=ku|JDWRC;>fN(;T+J$w_o z2U$b=pB77;e~YE86g|)q4_??A(y^$+a;T2%jKyY8*h$ydli7t?yyrzTvEgrWpK;X^ zeiSfZu6CVxp7KCNV^-w?LnfX$ z2m-B*vq}bE`_WDIw<>hPko^6wbw|iMfvpMFqI9OWL3E!#JUI{)VBi&Uk+AX-6PhNAtzxYbM>5r?lWnLFps;$D+5YAi&+F&M$_j-0K4>}e z7EaHN#!{$H1>`|)xGnpoSZs}GWq6Te@><`~??>p4SB##RWX8CpMI18vE!TG`&b~Pj z+XZ*Hwj1UW=REl@3jH&vXkZyi1Z^CtPdQKBv({*C0NyeyS+~fCp4&6VC0qQglTYL> z{9#A^#K}0va3Ln$zp#CJ-UM`sN~iPSO@9?ib2MOQJNA2poILIkm6xcZ6-N?@3;y)b zF4xINMNYtg@59}Ebi=;0U(XH-JS0Jnp)CgGV)tr!3dX46<(y<^puM*Y3aI{`m8*|E z4}c4-4)HiW_!gZAYa)Ij&xqVgEQ`lZq1+_osewp~(3c3?S}{6~$nu1MG*hhaBH6|0 zV@(l7tYpfG>l43@0k8gzf8q=XDmfSh&FgRXs{$2&9J-G-@p zt7!b}b*O8+hS#9>n^}x3(MP-2R$6lov3wIcT%E~PGf{0+&G-k6-Xd%jq5GS;k&#>j z(RNgjNXQi171p^o_brQ0boscy-Sdl8``yT;L420xQnzg8MC+rJ`8llff~4{IqVTiX zxT{K+sbW0Y>zs?@*Ww4^cI7U)bl+JZp>f)v3u-ictYU3Ln6_%GO z2YjWX$CW7qU6+_KqC$u)yM z%*i@udmIpNLCmBPJ9=h z8Cx`R_E1o`&8M%%qZ=Fy^y5NS=N7-*_&0+-=$JJxa*Q@92C;`u5RASKe~>iipAycq zU%`*g*%fodEWh9O|CeVIHJcqHDbxUf6h6%VY!e0iXA`Ao2O{N9eDVAJjMQ!56rLTs z!sdmR_?}FBkR~l1gKl93D?B)V-cEdU43Rd*Ua8K>qA5Jbd#t4U7kWepN9b4v~jDjgBSM*x%9DF-;M>Q zUST%Q2nb7eygchX=9=6HkdCiueJ-k zu+w0_T9tD67m>)jsonXz&$NN_e6`7avnw+XE^jEKhet4Gq_VeanleOJ?fvxpUaPfq z*KGGSqAWoJ(ZiyvJV$6jp%puxR!2>mtICQGuZ1n42L>)WdmW%kKT_vEK73^g;XCVh z`!?X!R-LqnehI?(qmj$enWK+(!HTA&Aumtu7|L=v@uiowOv+v3<@HAUV?2;^&n~s; za>3`OjwpD4ChO84qB^e=SMRRX$IBZ&Ks!kC%g1wC7mnxJ;YmMyn#e1-!KG^lBjz56 zFUgDfTOBb+bw73v)+;PvKDo80clb4F`-v8G1~-p97}b7%&4(YP4imJ zP~KfSno6Z#W58h5ULsvncUYQkNM624xmR1}yNaC&AYJ1a%OG6?jzva17J|xUaPHt5 zFg>^9g)TiTg!2WPTgtzghp){}t|~fCttv*Wj8ycls7tVReCi-iB*0gJby}g*3QFxDfF@dAsPhva&*{bONvpq7+I~3PTCO!#CQ&PQ;BbIol=1cAN zeu|99PQ=z9Kl{;y)M}~PmKuayIlOgZykT;^xs?!hbloNY=+#mB%@2vEV~yA(Z>>7l ztOMBR(eYTTtzWt8-tv+ix5|k2b$%>8&a|UB&RjaRoK1D=Ngvfn zg&s^EjrilgJ}9z{ z(TV0VHu>CVEY^ttI2Rva@6RINdwf$Jn~ZU=v~&BINh_ydk^1^c=63f|SQxcj6r?`9 zhN~pPH>{vw;v6G29!wbY31d&$oICW!Aq5x*O6Gg4w|?g}5Tnyu))k9uIR$|CdMt%3 z^C-Kgt*wZ#vifU}vLz`u9%pr#j|vhkDtRDNw(*fpYy}QlXisNjxSMz|f-|hI##7>9 z|80f^nGhdpQ*K`AD!C-={pF1+e$+ z!v@Jww{XzAmoa)1*`N!%IfRpi_hqmsU7ono_LHEto%z<0+4z(m`?lLLG>=1gKb~!U zS$Kq8o187ZFokFEDBtGq?%kj5nSb}p5n5Kw4kvxbjVa+?P{7NWJQzTXZJ_uI2OAyzw_r>T{iUK$K_{QEA5|N116t{XsaZ`Y|Ipp zmKID~1j@|lGS?~QjgxuJ%p-Y#n7wd&FWGJdz&}^t8uzIDRFdMvpE%haEF)S_2oI5TJRe+2lnAJm_&s zN|v>7vDf}CQuq5L$!NloNP~uI!V<}nC95qjEBf08ejA1b|7?}oa^&^pny3ipZ<<00 zt)2~yZP^CAd$}3Oo-?UjN>~q)yEFuq0FtrXl5ln<;H>=UmP%B8KThHTFXqNI){ixs z0Ress9UMSY(H{181$wq`tElK>^V1hG(N*E^7q!0Mop3cY;0Fb64QX=&p!DLO5k{p` zc$9Xgc`cywUzn~7Uxa#N@;jFP}AAL0j?@aO)C@X1d)++z*P|_kVW{z6Y?8{8@ zCcl-nDq0H_u`*OOyoP{DMIG`}j@DO;hH~TpvfU%ys$;GD?xpY3wq+Lc&2kjpR>5c6qIL2s^^x>GTtc^fumFgjQcDGi^iu_DfD=OTau&Q zkf?bPs-ftT%Xc+G#lv92<)I&#x+cDUx_TpQ8O~n!-(FTD?X5L_DyM%oQ?jD@po8?6mr@J`C*9XqT#5mBZp$ zs;>I4(S*W5prRfujO2zD5p@+G!6V3qE0@}0dd))uCT+fRe^i|P+nS`Nk|-*^sPvuE zG?%I#RKWhRP+jfUK156-t}^#YoyK6-=+WM5u?50v_M2K()Yz7F2>BH~N9=|D;Awfm zH9Dm(N=mC#Hfu-4_ENeRhM3W=Nw5QdLwt77%89QK+V~ozJNdwf>NZB^5S|=$o1kl# z&dUd}bQY4c3K-@jWDcfsxfOib6%nAC^c8eHa+}lHYUq9u#E4_&k*WtT>>|uSlK_arG<;ajG!&^05~X8lel4lr+j%V5~f9*kDH{n<{?0TJZ? zMSeQ;D9+`kJwYS{s>~Uxtm*>_R9PqDZcI9i?XF-Dd1Mw@l2*BjMLju8Rrhpy3*=OB z53M1(d&Y3Ww^#~ZyXcLja>i}gkhdaSU>^j)eMLT)%zxF}Iy++s6)7>XX4lXXHFQ_; zBJeHg{zbzYD{VuJdCC4}W!Pb`hy(b0)TgM{sLuz-En60Rg8Z9;Zc0~8I3R~*n>B33 zJ&|6?I$8c_;Fp-8M`G4nKMtVSh>t{~g;6_l-RRE+H~73bM{6jP{yt6HV63U$|DDrQ zp(fCR_=|(-jBWn=P-;4i+b-Io*lu*y(Vq-E3BV0e8#ID2y>qf!_;jTR=;waXI6-F= z%pWlbja2q<^tm3>WkMb!4&cXfu+2XP9A}iiCp~11IyIh#Yf-1Iwo%pYCJr&9YYqnr z1zUA-LQmra(}^8tc~utO;2rE6RA5a`nTGopju%GpT?u_Hhkwy9#Y&fob$9a=c3Ts* za5IhQF0?1bdtsDG!}P0Nd! zx7w@tQ__uG2-KxQq4uoD+I@4`sDU|scV4`-s0T8|B$netk}2ww9#2W%Uv-jchnSj6 zn#jjW!BAa^XSrI(WChdf_LgvHXo-vxlYpADh1WBC0%w?z)Hj>Vv*3~*-k=it8x6+L zM#QEOU(E2cFU5&b^xsHAGuy_J_^#Y-JyKPYW|g*Cr!?OzbXJ4t&NX!Jx7zb4OwHkS zEIMrkVGYk3q@y&FE9z})Rgza-*szdzAKYr>-?fy~)@(9;kcP%@_#uq!;39$4sUR-( zeM~xzUiNX#3349kD)qsyq44_X+00YxJrl+x%L?tHCh746B~MCINu$`^&GtmCbPixp z*_1AH?GsG6QcKGS)4)CXE+B8B%B02$?VV<6#YAX#TTLG;UBX-P?oF8$@xd&(_&%fZ zG&}wEiN+}k=}FuZH_&!T+d+lf=srzOsk$fYct~6RrN}_yxT(3O5paz|h@mu*gMc64 zq{(TXNthVZXE<|u7nXJU@Ra~lfoP9qM379Q~< z_2hg$4WdYxX?9B!#K*R6?&*01(X0cAQg}qk>YXWgX_2Q&hRO!NApo8qzd!F2Ux`<_ zqC)Da0dB_t=*sZS>%p&?QA$^Tz$Ju2KI;P`)MXA8@;jNR=7?Fu@jNLYrZhI>_9ivd z_ItBVcN|-0xVE=t)XsmoESdR^wMC{MQR)e*t2&&_f-8A?T3&8PsgoC&V!}vnVh(Z4 zri4N{k94bF*KFbLhVG8_5jzeeQ4+{h9*Eh+@y0jz93cy<@~io>`@6ZFuJ_;byHLR% zck}*BtpV#x;zx0wyZ0O6rG1+~4_qUjaTH)etdgg{X*jViH6#thI3}NdG5+q-+Xx|# zIu|a&4=b;2{8Vy}a&)D8>gH{vXyK%`dax$s^O}V#idOlB1*9QMGWIPNhT#$Pdq)XF z2COTKieGSeRW?Wr_kg2R~TOv$jU@G$hbIumH%%y&y%wEXe{2wPpYUGptAou{)oVhM2zVvD_}Wq`KD+&_BexuGF2{Wk=LaLgyZ$s5mw zF}0`%PD0VfH*CTFHw0REzCN;hTK?8r3%6Rr`ORO<<(#~;wJd%vcU$+kG-`yK{G}*4 zq(aQvyuiB@_?OdS?^E7L6Ut|!dIbLtg1S_eL zlc~IjEn*mo29^k+i*zWl(aDl_^PObksO#xM`7@wyXDFlwqG!%imL7C==m7nKi$vbI zKMYE38$URSrD!K|l^gHi@PR3Jb+V)WgJWig$7#@PusW|U?as0QaL4hPvO6&%kT2-l zZ<*9435I6$@I@W<;nZ{px)r3y>T>A@NI_z5luZH+>~*rjK3%hWJ`3dbQV}kw&oN`9 zZSI1KA)jy6wUh(9AOUQ9zrQmCh9mm8VnR_D0J44kUW$I9$E{HrCyLq6CNhcRvxL<> ziC5wO#+6T9Br595YiY?W$=!RVS3N(%8EvdPcBVG|h9AT3O2r!CGV9+e+36=-KRq9% zJJ^#X-%5~c3R$|4U$M|Df9(A9sdD;20Lr43%b=TYM@X)f^yT_9l|SDs{v7(lB>sm$ z?_!CKf%1jcJUO{k>>9dYCULqKKroqei~noITOUJGeN;-sS^dojx_3O9Qf>=xqN-SZwF6)r3khDoC?;b;{n3`f!yM? zw~To5RoiakcX#L5k<+<7IW&C7Ha%(8<6K{s?pR7kTB z;tD7SdO#svWn#_y4|D!GRHOV+5Sv&c#8ghpjl3fJ$5&b7a)c2GHwqz)t2S%T)7Vr0 zsj-(D%3RMjPxG+lX}C``o8K196jS;%?%tb+iizld580L zHEHLedFNY$sEqmu!V#uxyMA_i%lLJ=cUDh1w9>RrpM$Pw-Esyr>u_I%77BYn8E3Bf zpBl|-Mc3>(U`1|3T5z?cBbuE4!b(*;unqAbGxD^P6<-O0UIjGZtIG&SoOcx&f#xai zGzDk1Yk*h1e)g%|9=d|@OdnIJdhlKB(4*q81qe!N>1<@zouA;Q1xo+oU!d<-)6fG< zi%!^--YHdg(p_EkP~}WsXyN5cVI#m|2m%ni3cY#@os!<(UlOe9zk`yX`~20PLl+D0 z0D(w7($ZsXj0ZlZGtrO_VK&}UO>90<>6tLr*?LgKi;}Ct&ty-0aF~ zY`BqkN?PN=J}7;Vgh>eDX!&kFjD;S9#b3gt`}S{ySt);8hm@C8Qd=!uG?VuY%6sGN zZZ@hUx1nSG4nRP;iWM}r^4wKP_Gk25$@AssN~h#bK2?hRQvlYZBK2lPo=)ssk`n1q%PeL#y0}L1rddB^s42xh*{Mn?ohFsLVnt&K0sziLyIN6*0uj zcdGP2>aynTzuDi0ng5L!P(uyMl3v#j4hvc_sM$2tCaT)Ogj^PM&HbLkWoG8-b<2dK z%{%7&0%)bC(8PqjdSih{(c}PS$%)cAU$Pn=se-t&#z6f!xmpcF5BlwssiRziHoS(ddtHjbs=`~wV zq9KTpE;anb3FMTHlKN46xt|4z!O!|KHUg+04T6T$?^O^C{!~pV3+ag}u}5|RZS-L@ z-QRuv>^K5PI@Dzg?6fxh#f}DiEg6|G|55$j{af{i-g^2{G$MsNB3`7HKov^7L?c=! z$erA;l6K#9s=td?nHP#btG7WtWqb9pGEc8j-*7ZBeAbs?kWNY$s^T{yEmVaW*ZcNb zxqPUzDt65WEVGZG1*WOX-2j({ntO>e{F>n*3B7{9bC3~4OOI$~IjM=jh5zTbHaW8@ufB^bSQAh$;>E7D?x)Z2Zi zT{*jyJ&A7#V07rvV`=B!%cacNg`R@!{?g*UCH!-yFt-2P{i{j8jCbVF=c@nH)p73x zxHsy#b?HQpJ}ZjAL^yhiMgW4R@im3tZtE-|WlNCiWJ*1v78J@&?2h@iT*Y{)J|rRT zt8okJRQ^ki?(Mozy?vnF>K1zIM!jYCL8o z2)x(i4zS85TdJoE`4dO+=AFyXA&)8Q^x4?Ujo;0j``PGNJ9p`Qoz#AAQeN?6#yKo! z&XiP{rsJs+^;_zo#-QR?CjpWtlwduMkj(dP<0q%M`S>(gC&$b#y1d}bkq)kKi z&21~m2)$OgD&|o(3mDDpq-(?WQr^yj?@r(7pUYeIwZSDE`7G3PQw^A0R_TSVyd9eg z!+01E!~Y>wmd;oK8#h%y<~z~ak77nL%Dow*!_3#BKEDG_<=Vn!k@w*r+os@Q@QW>&HTp+CP-?3YB=J4H!RJp=q|S;x;|O0|IIpg~4lzal5-K?1<%E*g3i;MiQOhx- zCp~?0Q5HiYdExF+H${f`qh{gA_lD^#2XDju*>td-%|{t9k$Zh9JE2j5N=4@5=d8zp z?RT-9g_|U!Z{IS@`e0cw&hNPmm~LR0@PMgDyU^2Zb>94LdKP9EZ;8<2d#!C;e1BRA zR5$Tu7>Ifo3oP7Zny$LzxezWf@-lY|$?%Te2YO#Wx-(VXnRmiXf$ijw4^z0`OeX2M zYKgVT)mq*AG{(G_&d0NIA;zD3i%6_xwCRmK+>o{$hwTiyuMhS{s<}sLhSbx+J9kDE@fc% zC}lwO>Je~%um*lH1d$)wfstfqcm$7H=;d}g!}o4(u@~)nglc1lTB1=s#>0O>C%w6z)y-REMPi5UMz-kxd87Lp{dPe21-y%)ciDJMUvu~n<#Ympuc zsGGhkIo7=~9C|cW=lHfax$uzuZEtlmmY8LWPYto~>5XiLot)*jcuuQ|F0zCMr{vEu zkA@RNTm-REHbjNzke)UAW}!(#ZFWH#fm@1?1wcWOZz#a`Gj=wxL=7EC1Rz#p)IQ2n zN($aRi`%QEooi1=znhKJJ^$RbVxyJ*TfS({*e}qKnoSs^d!ewo$9L({p2;7xo-gKxhaKD9Mkgr3G=eRf@dUv}V12<>JNio=8o$q9MW8*ywFapD-*zmTZCxm zv1cv7or`=ZfQG_4hW~f4!%R_t&8n?$lT}KoIk+)xEeE6~vAe;9a}w;#pEG22Ozhh$ z-%ZkMwhMNDRHcY+7jp&=L4A~`oF*J_{pL6w3b`W&?_DO@kKRpM6%6SkbOBsG-V;g5 zR)0|NK?WER$>W(_pD!bDu~9h%F^AjTeWS({Ao@{+jAx!Ff$mc$p~LZ&VynC@-J zyEiSd+tQTwWg}7M7l&yNAuk(Wm@0glI1H~vR~oq~&++?$+K1LvZ3Vx!0V zR$O3;kkEVDN@12X^6Ecr8)X~Bw-s=jBAt2jH}IVG&%z;Qq#Rf>52yn;9hZ6iK=r42jcxSapTrRN5u)xN!CQ<*W0V=PaN#wiQ%H*LAEgqIO1z9tYY53TR$;~bo$QUgeclJVM+NmJ_wBE z9WeX?TaeT#A^gM$-+ap@!RhrO>c&cUCN5`lwi&?4c7>UL2j670^yVXn4`AlhOJFQv zkRijHbgY*Pu@IG$2(#D7(#`aJ7l4QKU5KD`7t4mmMNw+si-A%Q6*+{g^8$n8ENjw5c>cqS0zzspL8i)MxNK^sbM_bstv9HBbt^Kn)yQ;&gO|C|u+_h9OTn2pYCG>9O3AE!6+ zKsf>8zR!~4(}2^)rfV)MFkpIjNFa74e^dJlLEzxz^!h}F*crPZ?BG6mQ<0H6`x$nE z!nk1lhy0kBalwlAQx!9Tgx%9VAZP44)uAq24Z7^NFuOH4##<6O7E(%oj?va5Tp|ji z{`_l{uznr}c+-##$7|PIx~V`ecftUn{5GkP-4h?6|MO*F-2Q`Sd$ay>WxRbRb93pB zF{?!#mI~1F8t*XDBeSrrzn(qMu;6WFrn%oj8Kh%BPLCzkMc?2N%Xms|eQad+V#BgY zd)yIpHDc`fdU$8lv{<$qJ#sOD@%+*u!@1nQE5l{pz`q>i-yBBvzZ&Zg0^FzoyM z`k#Kwg9^R>+o%9YX*MNz-vEHW|Af$YOhG1!P9O(oHWy1*J7aqzD_d4;2Q!P;`PX#- zw)7XNF8~E?< z9}+^}hdyZ`LDg9s`6m}y*CUX5ANUZ0o8xSUQYmg zik2W3kh3Mo;VqDr9l-ZdN)G<-=+O4hJ?%fY*wf@O3-N#&_=5nHwBx&vey_g)ILLr% zs2&&`04xp+91hHD4}cOn3j~;d+CO5@7Z_MLcmzZwWE501Xoos%04xj~94tH>0>WQ4 zFuu^w0q{5oxKtb;5Z@>nA-!|N;|%=cB8Nihq>+{8a<4t*dWnY-;Z6?&MgGc&n7YwZXU&C?W5vVv2aX%;_89Bar z#~Fx>_wj3fbteinQ289+*l7ZlfQD;>_TsN;|5*0_&aj~WUzYucVgJppCBP?WF#fN# zSLh)BYa>9VUss@E`Sx`YfDQ)@a2z-sfGFVQw3ThcAAQ-wq8mK6v4ZNkJ6;=Uo?%C? zkf>FZq|o3=n<7zXktju$>h5N4PMek}m4~r*_qmnv74We?yyIN1_!V$T3!prY^iX*T zjmPp|&y;%wY)b<~H*n8?Jfl%iyaGCTGG74$-vItyv>OT!1VX~EfFL{GSHM>Wz$+j` zrYrZ)dk^nd0Q@5874S|G<`saP8Y;T4d4BtXQoHu@IS=jyhYi(#yn5s8>5Wy#Q=}Nu z(>r~a?$0M`GV(*F)#qI?~HxqhOCF7uBt(PRAy|36E1V&oVAJb)sM z7{dRz3)1VvzZ}cstS6Uf-h*dLZSG0!0>O{WN9f$W+knXD^F?Lk>G$*Al&^XFepue5 zD;7N@yXBj5q-yn3E_$S&d?gg8PqWL{>+9=yIR_%~LVp8aNIb?mJBWRRd80+}p8Rq* zvBK?KZJuEt)y|9dy5)@5U)G{$laLyFAd|&1vA7)IT7JQE!ed(@?J&vHrUJ z@f2p}$bmPUh2`wJBZ`7~>V&l}7EY`oM+XbGX1L6wP-p6iH*dZq`Zp(U=1&{1irgPv zy`QC6hJ+@?QCok((A0-vn0I%BpS0$TE-*`rtrurg^QG4?3TIteNX42bY+YBhyJh_m zSWb4+3s&z^yX(E`o?CIX59YLAqCuYTf!6hm4lqBUs2Z(%1&E{dQQje}W4#zz!gW2F zUAT7|pxA=ya$_lLQJ;9mPyMI|&yTtmb0dG;xfkl#Xiwe=7?4yX!8hb!n6=E9jJx>b z+srZAQ^zfdoxl9}r7Mn+lkV-5M^U{IR(sJ9?jlO$!MjEGb8`*FBUie5&WC$59)0D&$$swE$bL$f)*Y_@KRUU++aukO*d-4tKY)}!xMB~Jp(cNW+q!BEf_kpO~0Q19# zoTPlcm4k=MK40T0Mm+{Gt&6TlIP4SC2J#+dP=PWBX$)NQ}ZZttG{JY|AZL))9|yOD4&RRmgYuK}J*m`^O)?l!2~e0g zF!Ly1C;uf2_-H&@KZ!Ko4W1j^gxyhn_eko>A-Le}dj%{Y-9+4pZU~$7HTN`AhLyD{ zTrhVfdPsb1nyn+%5tdP`pFFw7P!=rz;>#;DeNAM`Qn3e~s{9ekvJ7{nv*~|~vUTF! z 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 diff --git a/poc_to_modbus.py b/poc_to_modbus.py index a8aff9e..0b0b322 100644 --- a/poc_to_modbus.py +++ b/poc_to_modbus.py @@ -15,6 +15,8 @@ from pymodbus.device import ModbusDeviceIdentification from pymodbus.datastore import ModbusSparseDataBlock from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext from pymodbus.transaction import ModbusRtuFramer, ModbusAsciiFramer +from pymodbus.payload import BinaryPayloadBuilder +from pymodbus.constants import Endian # ---------------------------------------------------------------------------# # import the python libraries we need @@ -33,6 +35,11 @@ log.setLevel(logging.DEBUG) PLC_IP_ADDRESS = '10.20.4.7' +# ---------------------------------------------------------------------------# +# Datatype Mapping +# ---------------------------------------------------------------------------# + + def getTagsFromDB(): client = MongoClient() @@ -126,19 +133,23 @@ class AnalogTagDataBlock(ModbusSparseDataBlock): ''' values = {} self.register_type = register_type - + register_values = {} for t in tag_list: + builder = BinaryPayloadBuilder(endian=Endian.Little) try: - values[t['register_number']] = t['val'] - values[t['register_number'] + 1] = t['scale_type'] - values[t['register_number'] + 2] = t['scale_multiplier'] - values[t['register_number'] + 3] = 0 + if t['tag_type'] == 'SINT': + builder.add_8bit_int(t['val_actual']) + elif t['tag_type'][:3] == 'INT': + builder.add_16bit_int(t['val_actual']) + elif t['tag_type'] == 'REAL': + builder.add_32bit_float(t['val_actual']) + + register_values[t['register_number']] = builder.to_registers except KeyError: - values[t['register_number']] = 911 - values[t['register_number'] + 1] = 2 - values[t['register_number'] + 2] = 0 - values[t['register_number'] + 3] = 0 - values[t['register_number'] + 4] = 123 + register_values[t['register_number']] = [] + print("No value for register #{} - {}".format(t['register_number'], t['tag_name'])) + + # print("Initialized AnalogTagDataBlock for {} with values {}".format(self.register_type, values)) super(AnalogTagDataBlock, self).__init__(values) diff --git a/test.py b/test.py index ebb85dd..a412199 100644 --- a/test.py +++ b/test.py @@ -1,21 +1,15 @@ #!/usr/bin/env python -''' -Pymodbus Synchronous Client Examples --------------------------------------------------------------------------- -The following is an example of how to use the synchronous modbus client -implementation from pymodbus. -It should be noted that the client can also be used with -the guard construct that is available in python 2.5 and up:: - with ModbusClient('127.0.0.1') as client: - result = client.read_coils(1,10) - print result -''' + # ---------------------------------------------------------------------------# # import the various server implementations # ---------------------------------------------------------------------------# from pymodbus.client.sync import ModbusTcpClient as ModbusClient -# from pymodbus.client.sync import ModbusUdpClient as ModbusClient -# from pymodbus.client.sync import ModbusSerialClient as ModbusClient + +# ---------------------------------------------------------------------------# +# import python packages +# ---------------------------------------------------------------------------# +from pymongo import MongoClient +import unittest # ---------------------------------------------------------------------------# # configure the client logging @@ -24,56 +18,109 @@ import logging logging.basicConfig() log = logging.getLogger() log.setLevel(logging.INFO) + # ---------------------------------------------------------------------------# -# choose the client you want +# Modbus Client Setup # ---------------------------------------------------------------------------# -# make sure to start an implementation to hit against. For this -# you can use an existing device, the reference implementation in the tools -# directory, or start a pymodbus server. -# -# If you use the UDP or TCP clients, you can override the framer being used -# to use a custom implementation (say RTU over TCP). By default they use the -# socket framer:: -# -# client = ModbusClient('localhost', port=5020, framer=ModbusRtuFramer) -# -# It should be noted that you can supply an ipv4 or an ipv6 host address for -# both the UDP and TCP clients. -# -# There are also other options that can be set on the client that controls -# how transactions are performed. The current ones are: -# -# * retries - Specify how many retries to allow per transaction (default = 3) -# * retry_on_empty - Is an empty response a retry (default = False) -# * source_address - Specifies the TCP source address to bind to -# -# Here is an example of using these options:: -# -# client = ModbusClient('localhost', retries=3, retry_on_empty=True) +modbus_client = ModbusClient('localhost', port=5020) + # ---------------------------------------------------------------------------# -client = ModbusClient('localhost', port=5020) -# client = ModbusClient(method='ascii', port='/dev/pts/2', timeout=1) -# client = ModbusClient(method='rtu', port='/dev/pts/2', timeout=1) -client.connect() +# Mongo DB Setup +# ---------------------------------------------------------------------------# +mongo_client = MongoClient() +mongo_db = mongo_client.tag_data +mongo_tags = mongo_db.tag_vals + + +# ---------------------------------------------------------------------------# +# close enough function +# ---------------------------------------------------------------------------# +def close_enough(a, b): + ''' + Determines if two values a and b are close enough to eachother to be considered equal + ''' + if abs(a - b) < 0.01: + return True + return False + # ---------------------------------------------------------------------------# # specify slave to query # ---------------------------------------------------------------------------# -# The slave to query is specified in an optional parameter for each -# individual request. This can be done by specifying the `unit` parameter -# which defaults to `0x00` -# ---------------------------------------------------------------------------# -print("HOLDING REGISTERS") -for i in range(0, 21): - rd = client.read_holding_registers(i * 5, 5) - print rd.registers +class TestStringMethods(unittest.TestCase): + def test_holding_registers(self): + modbus_client.connect() + tag_in_db = mongo_tags.find({"register_type": 'hr'}) + for db_tag in tag_in_db: + try: + database_actual_value = float(db_tag['val_actual']) + database_value = db_tag['val'] + if db_tag['scale_type'] == 0: + database_calc_value = float(db_tag['val']) / float(db_tag['scale_multiplier']) + else: + database_calc_value = float(db_tag['val']) * float(db_tag['scale_multiplier']) + except KeyError: + print("No value in DB for {}".format(db_tag['tag_name'])) -print("INPUT REGISTERS") -for i in range(2, 125): - rd = client.read_input_registers(i * 5, 5) - print rd.registers + try: + reg = modbus_client.read_holding_registers(db_tag['register_number'] - 1, 5).registers + # print(reg) + except AttributeError: + print("Could not get register {} for {}".format(db_tag['register_number'], db_tag['tag_name'])) + self.assertTrue(1 == 0) + next() + if reg: + modbus_value = reg[0] + if int(reg[1]) == 0: + modbus_actual_value = float(modbus_value) / float(reg[2]) + elif int(reg[1]) == 1: + modbus_actual_value = float(modbus_value) * float(reg[2]) -# ---------------------------------------------------------------------------# -# close the client -# ---------------------------------------------------------------------------# -client.close() + # print("Modbus Actual: {}".format(modbus_actual_value)) + # print("Database Actual: {}".format(database_actual_value)) + # print("Database Calc: {}".format(database_calc_value)) + # print("Modbus Scaled: {}".format(modbus_value)) + # print("Database Scaled: {}".format(database_value)) + self.assertTrue(modbus_actual_value == database_calc_value) + self.assertTrue(modbus_value == database_value) + modbus_client.close() + + def test_input_registers(self): + modbus_client.connect() + tag_in_db = mongo_tags.find({"register_type": 'ir'}) + for db_tag in tag_in_db: + try: + database_actual_value = float(db_tag['val_actual']) + database_value = db_tag['val'] + if db_tag['scale_type'] == 0: + database_calc_value = float(db_tag['val']) / float(db_tag['scale_multiplier']) + else: + database_calc_value = float(db_tag['val']) * float(db_tag['scale_multiplier']) + except KeyError: + print("No value in DB for {}".format(db_tag['tag_name'])) + + try: + reg = modbus_client.read_input_registers(db_tag['register_number'] - 1, 5).registers + # print(reg) + except AttributeError: + print("Could not get register {} for {}".format(db_tag['register_number'], db_tag['tag_name'])) + continue + if reg: + modbus_value = reg[0] + if int(reg[1]) == 0: + modbus_actual_value = float(modbus_value) / float(reg[2]) + elif int(reg[1]) == 1: + modbus_actual_value = float(modbus_value) * float(reg[2]) + + # print("Modbus Actual: {}".format(modbus_actual_value)) + # print("Database Actual: {}".format(database_actual_value)) + # print("Database Calc: {}".format(database_calc_value)) + # print("Modbus Scaled: {}".format(modbus_value)) + # print("Database Scaled: {}".format(database_value)) + self.assertTrue(modbus_actual_value == database_calc_value) + self.assertTrue(modbus_value == database_value) + modbus_client.close() + + +if __name__ == '__main__': + unittest.main()