From e287699d3829bb3c3c29aa430174bdc3f79b4f79 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sun, 8 Apr 2018 23:34:51 +0800 Subject: [PATCH] auto commit --- notes/Java 并发.md | 201 +++++++++++++++++++++++++++++++++++++--- notes/设计模式.md | 7 +- pics/CountdownLatch.png | Bin 0 -> 17408 bytes pics/CyclicBarrier.png | Bin 0 -> 20480 bytes pics/Semaphore.png | Bin 0 -> 27648 bytes 5 files changed, 190 insertions(+), 18 deletions(-) create mode 100644 pics/CountdownLatch.png create mode 100644 pics/CyclicBarrier.png create mode 100644 pics/Semaphore.png diff --git a/notes/Java 并发.md b/notes/Java 并发.md index 96d344a7..46f57d84 100644 --- a/notes/Java 并发.md +++ b/notes/Java 并发.md @@ -28,23 +28,30 @@ * [join()](#join) * [wait() notify() notifyAll()](#wait-notify-notifyall) * [await() signal() signalAll()](#await-signal-signalall) +* [七、J.U.C - AQS](#七juc---aqs) + * [CountdownLatch](#countdownlatch) + * [CyclicBarrier](#cyclicbarrier) + * [Semaphore](#semaphore) +* [八、J.U.C - 其它组件](#八juc---其它组件) + * [FutureTask](#futuretask) * [BlockingQueue](#blockingqueue) -* [七、线程不安全示例](#七线程不安全示例) -* [八、Java 内存模型](#八java-内存模型) + * [ForkJoin](#forkjoin) +* [九、线程不安全示例](#九线程不安全示例) +* [十、Java 内存模型](#十java-内存模型) * [主内存与工作内存](#主内存与工作内存) * [内存间交互操作](#内存间交互操作) * [内存模型三大特性](#内存模型三大特性) * [先行发生原则](#先行发生原则) -* [九、线程安全](#九线程安全) +* [十一、线程安全](#十一线程安全) * [线程安全分类](#线程安全分类) * [线程安全的实现方法](#线程安全的实现方法) -* [十、锁优化](#十锁优化) +* [十二、锁优化](#十二锁优化) * [自旋锁与自适应自旋](#自旋锁与自适应自旋) * [锁消除](#锁消除) * [锁粗化](#锁粗化) * [轻量级锁](#轻量级锁) * [偏向锁](#偏向锁) -* [九、多线程开发良好的实践](#九多线程开发良好的实践) +* [十三、多线程开发良好的实践](#十三多线程开发良好的实践) * [参考资料](#参考资料) @@ -683,6 +690,168 @@ public class AwaitSignalExample { } ``` +# 七、J.U.C - AQS + +java.util.concurrent(J.U.C)大大提高了并发性能,AQS 被认为是 J.U.C 的核心。 + +## CountdownLatch + +用来控制一个线程等待多个线程。 + +维护了一个计数器 cnt,每次调用 countDown() 方法会让计数器的值减 1,减到 0 的时候,那些因为调用 await() 方法而在等待的线程就会被唤醒。 + +
`6v{W`1av^9t#+AegK$ifY3bP;p7~v^$Ob*qgBb zo@ckSl`Yt)^4Zd*Lek>%oSD@6VF$4aIAA#RIynDKV#i4h$gk=yE%+EKLa_Stc>OKn z`HUlEH>Q7Q?x`ZV{B1_?GLAZrLvemPEC@A5?kc1^UvAJyLuG}Lf7Rn2wLrg116FdL zL4S2fE73yoQBcK`RpNwwIy1Lj^dYxbECX8lWdG`9H?R3NbF%*aVoDkj&hS<`6%88s zd*wvb)cHiU)-s1+ytt%!c~O>?2!+Bl5*pQ*xb$5bQ@hgZ;S;O!?rERDGbscCY&mPm zu#Gl7CgRa^PGnToHQsE?ukF*T1y*R#;hHh$yhgbq$4;`5b;z%72BJSkcvq4$Ncu>+ zIPFi?t15RN{-gSmRZLmi+~gyvINYxhIsA@8xFtyMc*Oa{pbhr$>-H<`OGuwX9g?X{RD<1BT+N65qlgI#I%%YPb2pAi 7SwGu(w#JYbiyD@W0J3L|_9}LZw3CsgGDBR21Z8?H-UhT4|YFKE9gG z`iS$SPcmh-ciUSG3{7bEk(SEI9dy9}dK~aC0UJ`{DZJvfQUWeBe7EZ!rg~!q?F9Ts zrU<~PaNCvfYWV$VVK;({@7^ryBHj7(%TX~nj7%b=iW37>=0ay!?$87t$*lMuZ`4^i zNoOb1uXdQQ2^%DrY%t*AW-+dN!)5(xKPTcRc97q(BM28aICHD6(mR^=$L8Sfi~wNT z1J2?Mk}hK%%;Z*N4~4mh!?dFJt#vPbhp18-?F(7u^S$c?D^0J~MgM0^z~$qZZ*7R} z@k82P brPDf05e0X#3o3-r}DYhE8!d2t3+?Nx`@I7Y4ZOPLjR7A za|}EKsVxk|JI@J^6vRU+88Ra-d$KWM)rqxrEeiq!4pga1Us4rAr9|w3D(5{r9ERWp zH3WP{BGelBpPC~mtjX+cY+Ap6ZJj;9+>wt6ES?wUbqfVl3iVs`qUrer2IVLR4ZNx? zx-4`UE*%qvr+lN`=^FpV#0pR{``}JmkHS?KYu<>01kA{q=jTHHiHPPDGje>^S``HE z5F%c8^!M)_Zco(fm(d+iMwpz-WyGmS!F&%{U*zq3 zGj!f}2YR#7-4i58=4&=s!ok5^UR=25R!zG2QPR;ct1M{4mWaH%S{P2&F=H$fQZ00J zpaVeB=P%w7IJk@D9(t8v23SOcG0EG5l~6wZ(j*iVg>`jxpjsGvHEUPNdwpqwh@#nT z52PL1pkh8UpynGH6=>2sVft^kyOP#bY|Y9;NXpVDH7H;>Tu5q|D|+7dGEh`DQ?QTI ze1&~RXDyATkaKr+4Ga$cIWWMkuC`cD$okndlG)xuUtA5lMj-ChLJ+6MJnq-+x|AxK zLoctoK-G%a*daNWGh^<9aL+fKY }Mw{ &BNud> 21p|YEz m~u`Bq;WZw+;)R# zsJvZUK|#Sov)Hpbpsc v_;Ns<`dZHOlm2Dy zo%4Cxv5ArmU*BKM-EQZgiO!bF`?c?zN~vnS*~}i&er;UZ3g^R%SP3TAcujWrBmvR^ z#!mtT8C9(n#_QY-OTP751IfZiFffKU$a(>g7M#Is5^*+AwRBQdRRuzKG*Z#Ur6pFm zUJdZ@V0MGPaAKN@=eu^C{eb!OXM0AJ$~{JOQQ`O9rlw@MUWvt_QX_i=Cv9i53jyg> zctSqdNHPOsW2XmGx!6cQ4C}&+B-g7dt9(5--tPAAE`AcVwG|}(sHU!>#YP(Q9oYFS zB9hdCVLZ{soj*F>V6_rK$ZKxOg6(M4)IzL(K5S)_GGk&Ge;@$|)n)&?!C(piu-AF9 z-lk(GW(z4D&TB |MsCUT z{O;H8tnsvEo)0I_(Dn4quC4ee>`~3kR-)J(bCIf#6K~hyZImxmYjf$s3mOVgg-@{O ztIT&IoDycv0Rc~eO$C`F@A4^(T?1j7C+ioA-eHBB$$DC+cYj2r--t%V`esK@Z+P|x zPf7poo#p!y**z=w&gUT&4WFP3EO
90rGJ z3t3T#hr~nMtG4Y&dc#}Ws&a+F^GZaw^X~0y&0cL&K!A^z&FJDT{qD87D7QP7-)!q( z{&4|8qfppFgXm^UB~&t{Q|Cq%WQ;(*0 @WurR@hvC>oDj$7WNY-6s%@+^-KY&aSMJa 1ndbGE`!z~D_Yd|T0hgYpx73p>%gpX!vx^qHUN@kTo}gpNes3#YoJ>VU Ctaq|#Y+bu9Gs6=pp-)OVAw=D>>14$q>~d7~W>`cJSTzE-L)U-L@V z-IJ4(c?cPpnCurSw8scAom5@*-DUXW(ir1b%6{WT+c69M{&f>7;pN5qka5})H2$Mg z$8SdH*zmbZes6zI989g;UnhMn_>ePv0zB$1R&&+ vWz(a7a)GO{b~4 zeSXUsJOlaFfF@}`L3;7zt$6cokO2S)(6wASj81l0uR(YqVYl83B#ep_CWR-Xm8=pl z?-Oo&wJ^|eA0O>Sg`XRjwd8vZd)&b11_jj=H6a2gr&h;KT$87#mSCGh@1xtQ$5@4f zgM(iG+~013R62%^D?^8Y29}9g5g0iImh?(dD5onq9V->z^HyT)!YcC^p2_SB?B80M zc-pO_eg;EPMbm(F%_nGA%EgUuRe=c 5fTK9)YEc(1n4f2hi4bV-y8n=>BXs5lv2^qaQ}Uzk}bcOEe!LL`I*WB)S_Xt zEOkGWt6EY80CRN&uK7v9_n09lL=6oM$Os63=nvn%Rn^u)09G`efNukodQBfSqhU0b z7g6!MeT)V4H`b0PeVO;-&2eMJ^5AN$?!8DxH+)i(jy#f-CoI2WQ@!45jXm45lR#9W zjL={ k{fvy^3<{P5VpLvPGc>i}oQ$C`%?G65e(28{R zoShraz@fnXBEZjAn`iQ+5*Ms<6BEBED=RxX-f*9{DRH+~X>SJV%#Cc1kE%UY2+!Y| zq4B$tJ-;YrR!p^%Z;+*B-u2pMNY)aM%p+Si73WW4(X=r-EsWdVYdA>1L2NpG z0>&@ yi>;%x2 z;ybT`Wd6lf-O*C6sls?t3v{xD9SAzO_)LZtNZo1U24|7A2fV767a+mFezq5s?j7Z9 z-c@|IT4}E0m-~Hxkn<_icwC0-5l!duchBBf>i%dl1hi-X$%3PbNhR|0X(jdT<_nR} zJLS79A@3*M;|?z3TAYX1%G8xAJWp@!J#U%B`4`x=Dc>XJy}Jdri_+7LpY-aCllu~^ zwmcq@x}6UYh~E-j-QDSRJ626SkTh%|qtCgY>m@v$T>SD}@KX0Tz)C(aT-G6WaoK|F zcKTK^Vk6m%w)s$M!1h)kQ6S88AaXg&8O?bu&3>L)U1T9H4UO=+Ii8n-Kj1OkxzzLP zun1A_^6ndqCjEqqJJiMxNf(%XEmj17N2GguSxy0TZP%G2$<>y`19i8&d`}w}-WiWB zB&i;vMRVr3KY~G07p7 4P0OazTsis9U@E(Hbl) zLsq;s5u0!Uzz=56yWhHx4$7?LOYE}N55_;UW-=)VlXeZlSv@SG^9wP(Qt)q&i=j@L z4SNgdIbZho7)@gP7`xAAPjm0B3yN^nlN$B;g*L)Wa9bXC>#^o$UpP$`uRQ$=pIsJy zR-MFWo{p=SmBQxz&+3*&&+y}yJpl0im%`;MlbDR~OkcV92n?`%U^aOSpM2X+hK@wK z=`7mgOp&?>>?qS5uujA>EB$uL+y>)zs@U-^>+$UHL*{r)9^Th?%Kcwr`@Bh8IW0Pw z#9j|Bq6@*^KQ)8wNdMN}jB;ak6UDZ_lomF^wl5xapiN|xl_z(1*S7eK-}y~8ClBv~ zVoG$<8K;qZ;q%O$MbYrecc@cQXfE?gS#9rQ`)WOTlZZXoq2` z^dUxG5M!m>9?fnGeH#1z)<&ym`w$V>Bw+bmT!3mW3W9S8`V4*Z&c|JuqD->aD|S*2 zuBeSJ6)wmBP1|Z-YlAh@zY3q!;&C85lkO1GPVey27+fSe8-ZK- |j $#!*jc}nN6C*CyO3&WfXf9 zjB;!BoEw75J>ZC-`z8Qt(*7oT&vo(eJg=kO!~f83tSmHrI|Lql8wv{mH0RlVtP2k9 z!5~W2YecymZvAjZcs6tKTi)@Xlxh*-@J~d=mw9_fIt%-UibhBJ?KUHdnoJ{Bt#VjQtXaIe^B?Y)qHm4v(GeI2;xKLnNq{ic zwM?JTT`P6zIbH`P+~QSoY6Utn5$!+y+W+Yb{L_la!3RzP$QxN99^S19^Aav?9gh?m zv}sIY6+&523vn_2pZ-8i6AU8@KVgKY>AI>hD^Byim<>Y7a}`Plqs=b;I)?_FbBmc* zRtvR8J;d(3Qy;k!2eH%XhOme^-Q|YQW pwh< z>L733Hc=xn!5RnlD@f%XpAQZD&5vxjWk+>`1BzZ}qDw6lHBBoqT^$W)prQ?M)#;s< zM`5yH0&B{Mcq;_i0kfuHU^oyPp;5mOVK$~Aa1!x(ayT8$f@CXd^rqpV)ZXwaM(X}- zPgbD(i^a#*vlqubVs |DQCk~+@AeOUQ8mnbWp!vky2Ywp7KSU<7y(esFWRkuH$16| zT7PyS&OCoJv#*~@S>#b(N`nn#zkKy`5Q<%Hg3aHO3;o$M`31o#;tPLeeH&!{ Jtj zHu)Tcax!JqwaUvW2>|s8)RYpB5pKfZTuykXudgl=`R?a3UqxAHwtryDgT=~%&{M*# z-6z^ykvTNVsw-9Y|DrKjJ~%Q$3hO^+Y(d9JNeK)1`}@~n4jR`UV ` z`N{3dke7XCZOv=D?>k6PIh@K3>0tOl{pR}o;+td(#_#ByIRF=8??{I?P*w1yAfrad zb8CEx>SP9?z)HCvzbz&q1)b>iVr0nTYzQoi%jjX+!JA*F#qC;kxtQEPRZKC1?S{3W z)>LI-e0ltBqniKie*EdA2QD?ebJ1&i^$;Ut-~0Y|2jVO_#qpQy;kDm~)5kB3d0L&e zhALh4!pV>0#^E?qtCYPs@?7bH2H?J-aq}LS#UTH(0O=7?@PTEyVlkvINXwH)SJBc! z1VG@IMR|0#)(Y4j%~FNtIG?X00U(_Y{j*ueGzJC+`sd$gYj}Wo%&cXQ0C5(jBz3$w z9U~_v4iFO?TaQT@FL{i$*y>_a4t2KPo|;oc!0mjn&IKy;njQ8(l9OYgql2VB{VrcH zmXwYS*#6x1&UoZ>-mYX(+W_OwvnT8EI{b+iXpoFSTLvxM(}MOM=j5f|nzu4&i5E|E z_io-1a3_(#=yAC%hta=woImrEQ|lbm1Y-2A;c7s~5O c3SCp~k3PVa~ z*|l+Vs`6n{)vI1+-Ha2VxRU08pO|%-vN~!Mg>@L@+9Jjq>1!}+3#t~8l^z)dN@iDp z0c<1n$?G?uBINP@o<&X@+Rnv=h}+o`q)K*rzuce%B}!OZtt3Z(VJdhT-@oIa$n&}q zMlI|%nFQHR9D#U_%BF(*%F8tri+8?pQcG#@ W$XHjp{$nIjLjXq#Ly_Gz4noBJu%remqY%Y%6~pTa<-mpShK{9Y*{lS2Dt zQOp4@oSK5qQ+btK;heEBSZB=y<_Adq2_nU}Co_vaFSTf@z7P1SiWI6|OxgU7{i%0p z1N!+RnXjT*1c&%{aga;bf1bLihLrzZ%rvfyNn8z&T$xP>B%y^GHZ-%MI1F*+9@TL~ zd`{eO-v@YKSoEqzB)+9@x91x^zXs8grEecY*s6cx%d-e*U+qu$aDEQ 3#g3W-U;(9$J4?1@2+;#P9`8D ziZKwPuaCxqMeP hz&BVK*tx|%>R@mFs$D+@yb z3jR0WZYimsFBd8d`Ui;)K?8jFJdPr>1K)cTIxH2-7dWZPRT$g(@3&|=uV-4Gej`3T zzh SG z3lKZ&Cp*#U>1&{0me8D!GATF95yB%v@r3EkfoeEdQ_||Ih*kVO;ArI<+-0>Ur=FDU z 4P6b}231-Vo1S=oLeczX!U;5a|#A&`)GRvC3c?`2vCdhgAx;D?@YfuGqs ze{GE((a(lLU==u~d*~!gC|x*nce12(mjNpGPuE%-Z{;*KHA(9cSZUfoX0i4qr%V>y zF=ZPigCnonAD?aTRwEf9$i6eHlg4(x{?F;OzoDJKYa{yO{LP9SC@QrdVEu_ 6nMHu@MDuRp%D=djKgDCN;=%*6{&57~vtX>+u;^!CSFRLlXw_pb%#?&=H4IAv2d&9 zg5A!NG@$4E7S6jc5IwKb2~qlzG?mT?2^3oSrk;rCBf&K+f5^1;bTM)Fi?|vpp-_qY zk&C2#O_6@u6;lvTLkZvy`PuUK;1`vK^_y!Fid_>FtZ;DIB|!q|r-r$1Pk(r(f8#|u zWG{IvqQ%$`)kesw$Rvl4In?y{3IL$+88Y@Qp=@2KXLSLdf=Y61G@ar>CTu0|eAW{D zvR%gNU_2NAs6Sj(Eaum8k2K-=jbefT`tRazN-P&Na(@$l!-}jr HX|8weS6n2*9-x4%O3B Z#4pD9NcablC16px+)s&9IexMb?p!k_koex!?W8 zdiQINY9uk^`ss3dEVXf3mJV%|Cq{93av^FwM@5_4g8R*9;PrWj`@9x`!qWNm>)m&U z!Y{5FPg@I5OaS0CH1w##Qu6ZOlQ}){;A4O6ofuXRzIVXUB`@Ib#M}VKt2!+0XRnP1 zA4%o5Nh3I#;Ohe Io8whX^6t&fUNe=pMigu(HT(b z8ihelV}0+)?Lto=Kt4`WLG^0kdDokQO1!JcR_MQX_t2rMHE;8B*1qV2&UZepbGz22 zw*VcMQ%%5PVLx@i!nM*J3=Kg35arSQDdvG836!#1w)~oJNXKy_H&{OR^p128TBhKK zWMye&cW(tv0XTnRP}lQMv)?cA=?@!;SVLQgq3W!Z#`!tFBv(&ROng?Djl59&1%do& ze8;GF(IOK%zR;zv{|-zcaG PZ<;N=wuA2gu5s{;)z{2nFU@g`Vn8`( z7U|O`JnJvNEPeQYFQ#lNGqE^3aq8ei?43p-ld_U38qYeot?d z03zIesR-@>-b7=AO~NXNrpdlPKo68w4DXUhFF_7DEC;BECIxC~yoX%9ISTm-pQM zmYb1`cX5@{D6Ky4_y!9=^Rp~pt3GdOoiwu`xLR?5BG>=(B@FV*NT{boE0lP??9?f! z{Mu7B PmVNDC2BYl$zZqI6rQC^31!;t%<8VJZ4$TM|xEUE!ih92` S}W`PNme5SbovE^KA=BaXMYM5f^v4%gON94)ztf}*Z2 z<4tTS2S1!C?6|hJrr>_R6iEyS@dAj}M>DA2A5YIx6$uiDAmm<|*(Jw`q={!U)Ms5N zO-E2te>|{DZcEP #PCAdz8Po0a7=_1}_q z)(wjl^|^IbBBHsmWFsnrjpd&ARsLo&CR60^WLurbr6prB6%3CLiM=(bqA^zx(#eyT zHg{!syw%KljY^E(#n9Z?SG&&}tL(<6ndfVXI$U|%QRJ7 IApu&)Gd?<-&ma?^LE$pFVA03z@ zUQnAj8I $zh4jxq@=`i3DUwFhJU*qcCw&<)u#fL;2Gx)AXx4vuQoK zRC=42rzg)TTz*Pir*d@oboE0~vz{mmreLm;`5(oUp*axhX|_q7U*aC4o#pu3-ed*< zGG64~s>>k*`iTKkmXBeA5X7c|#viE_72`BZ8g?|^OLF$t CYh4UnLUV_=v2eU+d@jnn^i3e41!!UP%O$Vy5$H8KUo zScDXnHbTV-YAlF`fr{2su>xG(?FVb2tc!n1&1Utt{yS@<2{K>3rO7-+45&EC5BV!K zxGn;+1|D@bCJf_L2~*{;L0U+Fd2?FT^ejl>=-zH&?CU3IT_zRcmLykF1o9LG)#fUO zL5QFX6*dH!FZn(U9-cBkt!}^Zbh5f!SVkc^4LnPEdOxTtNt$lV;}V{!9IjbQ28@b| zu0q~-9ENnJ>-F1D;xc@ imC8S>hQ`prKtf%HZ21Wx zzqcB)K;u3_Ipt7nnZKmj56Buq6^$v0d_`4KzcR5oS@7)A-xi&OkUz$qfB)herrK{_ ziQ6+&nHHZeh@VU;D)NHuT~AI<9k{y80|UmEBXpv^bY1S5(fo)(e^%1lIfV_BRE|=j zjsK+8Zm}Yu*4j`rR9x >lVIu8$wvIT8C1YRKimIitp)qU@p>HMGg9jTx>OXT+;| z<+ZAt$q^i1T2`T0eY(VAwiO_Rm)U^Ka9Thq#az?f+Ky10T}XQE4@#CxYHKIOf3YGp zwfN-=N~fdmHbapkLPH^Yvhxh-ZQ1_uH~@rOP}b(3Pp|k7LP~stnN-C= NHkKm7Y_QDd1 zaBy%dTXLHKKm qRnxXfs3rSCe(&|g;faUWKVxFL?ZuAS zkkL=(7?RN+noCT?CefC$wybK 4iM^E0t*%K zVsru s>W6 zt(!f{H|-6h0}Cq|i5PO&IyYbE-qxC7ZYSf&we=V6h;ReX77No~3jvc?l_@;i>U`?y z&2(d)e>y-d)k`Ss78=VglBAG@#NI1<*Mlgi5JVq>e$0@sDae1Gu$JX~Hn2CA@N*)4 zvDf^Q3NPw3nH$$38@ovnQVPi)n`rz!engtRoEQ@TD*chdiIL>5R5vM0UEd_wA!-lE zG}!$Op2vNCOJfDdmE8$AOynNm9dJktZLyi84MO cqv}Mx^>WVYpK*C#d8K5QJs!v&*FB#6eFXt*r>G`t{1NEs2 zPtGytpWJ2O*w950eyf)Ec&T#Kfxc>*>h2HTWIqJIotkM36n9tJz6&19A^ELrba15F zN1L)g!S0C>b?Mo0yUvdv=%K-+KbO2v$pWJW?c1;M{j)!|U)?|TJKmE{PT#`c=xkS& z41{bvp^5pG>~)`BXZJ)nG-^Lz!?DNy_kQ}1o%cUBmbjIL$;Y)lb(e3ju+-!!Q76}; zN;NkSa^~Dsw%_8ls$ V+sbM{<)ru-U 4 z?q*$uti!l6{39JZ)kE2`!<3YaFsSPY0PjASFLA=fz2(}oAGh+*LM?h7ndCC5+Js%t z%*Th=C~ni|ybUH>0{fBA&F^g>wXyt4A?Ec (B=z;%vPW^|Cc>Ud+zNYmDrx!h6$B@L-Ieykz zEU>@G?u{nRT=RV0r&|0b{C}9K3)5L7V|hLH>ZPh-(6=WIwiCzorD^;pXAXJHWG?&k zv)1ojAo5C*XhO%Z>@1)^ti%Ui_@Xcuqz8Sr@(YwjD6jL5)>)}L(Z}Evjlc_w!_5Cy z9DRf}o@b1?mOy>O+J(^~u^i}pgpaQ~VO=kEj{?$jIY?v6x-r`0s1VRLg#zjayZYu8 zwel!OBxpt?Ixu*i>e4wCaLsMcc`W!$tzNTa2H?Yp4$%du_^Z>rp)$j&Q_(cu#EU4o z>-WA-j;70UCVVtkt86mhbAZOO29FL@gOAO%XtVCjP%G^{o&Kl#0A-6-cGqXIe;XZK z>3;d`%St15ce{KSP$TOzNP-aRP2rHKA3xU7Vl#z(lb4rQRmDa@+1%XJeVBe9KPW?N z=Vr`R*5TFg0dTQSPh=?Ut8(eZrWv ~Nd>FR6f Q z(Wh1pqgg7N5c~2p0o$$Vt`!b@v2h$i>kZL$xmk17OI(X+qqXUKf47VGo30MG9EQe{ zGMKdOMunxNt?mz(^;RoRC(Ci^>DpRaFWF?Mq$vze@W;&eb4w&V=YnaD`z{3Ob)s}( z&=ySnPYui^#dA+yWA2Uq8S(^k4fwDC5zl8iOeNv?>y$#TB0UG z2n4te&zgDj8mpW)dSo~BdIHoe#Slq81{+VLul4d6)hw;AufM*&ehl^>v;N~&(&23U z7L3Qm<8ptWUM_cgJWURsc3|q#t5>^-XVGafm};9hLGL>}76x)iB%*TL7*9YN``6%V z`1$$4)qvl_WaGtDH7O@(K)~FA(Uc!wQ$$9l;|`Y*IZ%0pVt@ft$B6kj{C&>ZI(DV@ zOv~+=jVjuqvdul`#_6$o$ud}EdvEXV`_Lua2vcdno6ggfAy)l~b1Dkf4iyoE_w;HD z=!Z)2NAL6FX;e2ic`3guN;Y9Vy{)aDKrTF4nQ9j|Hx5!YIA7C!QVK=K{&hzl8^w1( zB&3@dYF4~*kqiKIXKu0df8}D|o=)Vl-`xxhNyb-h#TBB(L?+-}92psbbi}L?Ux}2z z()9g4t~1`KV5f5{_~qO(ZJEmr%738OpAYX-@HZ)6)ET(j+uQiIUkeDndpOh1hT=NL zcfQ{g%!~v=`-@XYztbTCv9umf0WYr2yZprd%k}dZOrmPLaVdE?IDmM|q`$ q=u-t;<(ZJs&9f1Hwt1%Z~^b{Sovfb6O9F|w#V+>ZeM@QAa6uksKVB( z+)83^# s`k}c@gB%w}W @f~nZqcE?E@A8me4|#{oHzRM zCd)aB@;SufeI2&dR?;6!?Fc3X9WM`kfdscbITIQ)AXCX%Hf N+-#{#sK%l Ui z>eyPQs7{nt{{`|@{bvYO{kQRx!su3N5+PvZGvj3NI{=RdE2~J|tP`yjPEAwFlya&W zHi@c;3&R{u$XnYw)6W#hL@=itL$xz6rh!VCfMuL%k~)Y}Po@EJ&Y%rpR3qBqE7c5b z%mkp2LbyP`7nU}KK+R#`a=ZVPH842Ub!$0^g}3Yg0|4UXh#8YgN0h)v?`fJpIOR#> zTG1vnMAyR|D(@r &w~@aVf11#&GY#V9I 9axW#;!GK5644s*LoX%EmW#} z?O+q$T%qHA`qLHm02$S$BC?PUF(604=i>P1TwLt!wd!(a@AlbKQY@&I#K5f{4QGzO zx9BA$S4*t_fp1lNf5SO)+j4llY>$%2inj&nV5 |w?E;$gXQv(2gB@yXl=jQ2ih$&(XC z6;nY0M9aa8x#O`EGdn{L8j`&OpvC*T%b_lL8h`LWWtCy!&YvorAMF6|dY-`fJRe2a z2?I1YW 6DviIlWQMb-sEE-0+$SSLr$W0;xlCP2UERE^n~UA| z4ZhNqK^5h^cR=`_yIKv J?mdv_W5!g}%W}YA ze6LYsg8_2Dxj!8qSN{a4UD8mt7B9+8R}EU`9q}-sItaeo-p#mj|Jq%rnxq_&UHIqE zpN4hNNKcQ!`DWMALPdgPUi^BX?SR%hK*Yr^jdlsuke2Uq&R=^=?{imIl;6hdhE?6; z@PJm%dPgY?P^`a4$uQv)3@r*wZm2KQSUTC&CCQjFu4)NT8$VXTLgN<5X(ePdnM-%5 zJyAP2FGT!G@;pC0gy=HxQhVz9gZkykA$Xs|*}!^?mbI4KVur_$ stk*L|bKMst90ikDjr?IM?)3cgOGZc2~Iz%+}s);<6B^WNE6Gz`L#a9%ncJ3whe zKxaXiE!$3=)2Zr7rG}Y|Le5+xG1N0ez!_a6z;HT#=VqdE*^FAwwgLF|k(Dr h_;cuE!&^oXbWgBTJQ^(uCrlrlae9v@E*}+imoB zN0T%ftY6%|M*p!pDmj4r*$qm^fP=DhN(&s@v4e&b;!EM- z_jJ1qFjI5d_V7rcRY+pFVBrs4C$Y=bzV6e_1x+4_NkXD!pS<_IIVJ}c7O;t+be=GR z41 Xsih(2R_XZg^=DMs7eJS`+4V>T!}v3pMCpm6Vj`6kO!xqlOHNkJOS%h42%hgha%| zB0jMguQu9(5d-2 ?9rA~|GM%!;B;|aQsw{3f3AxPo zErl)}-3Fhg&uLUFVMkA?);n$u(_=kIS4imllZ>2V_D+71{Xn0e{U#134T519sm@gV z29*?R5|57edi#US`jRR2xt&i}o9y@Um$2-?_jCLA?;}t==}=-~VwJ%_I04`Cz`&l7 zlgOuQ0nK>&glS!p`=XXL%B&rR{v!UXsoJ>YuM%S9&~R{lQz|XAP(ZxYD9Xazz<1dV zW~Zm&k+6lBx&wy~nrO)GCHO7jGB^=r4z*cIamC4K=P+hIwT>CMrbm^C&(*55^WG5e zJRc7Vva_>mOeWf&PFomK7(i=Sd(;V1W>GOGuj{wcf8c>UdK!6n-gm1|{_@GypP97E z;+1iI*2--N$BTNy^3q@)uNv3edU9752$^~jZg=LJhDb<5zR*aO9G2?xi!27-UQw@i zyv6^@XItX&;xEet0Lq6jfj7?BvTO^1@-~z@X>2Bjpq?!R0$!Js t1g?Wx>lLDeO%=|33tG9)H~GIo;KPyv3Vd&!uvF3Fj>l%PUy+ky*oKNRKone zW6@MeJ?ktooE`8*@^cTNAI{!hzB*d^qn8iY(~n5X9uXd@5tmouypej#qTJ4~#6!ki zy?0*m%U}TJ90CY65=)?cJ}sS9e6l_HS!h(fDsHjV^**X*eEt#99;fB18<~k6llz-R zWNa*}@o3`W;v%@w$Vo|OH|(Fq4Mf!y3TDpa=<_YLPLRalJ#^^b%0RhnM%m`FBnRbQ zOD6hT)lx@K!O2gFC?r3M>qR3a^DNmlXfZj=O9I3~CG)Xel$Cn7-j+A?&ZTs;4C_$8 zNFh(`zsMbKz 4>z@ zG1nB50*)qK?Q#$VBRc-Q-Rqu4g_6Bxs<5cn<(kQRs{_y&dw$$qUn0KHI{=7fb=Ax8 z451$^9`~9*i~Bh=y-TPkF2FeZoY7puy37BhQ ~hH3C!Di0J@!>8i>5+ZcAWX1Wc4T}VPLq-}8);hd9+L9yo&y;-w4dQ;yAkbl% z4G!+@Ygx~#A2qjNG7jkR&VLnRorVd|%o0p!@|2KVgstI*hXDN3Ogacb)bVe%EPMycPB*yHKKen&vejWcySySNq$Hd7wo607c zQAQ;#9+lHIfj<{)5B^rBUKPJs7E075bYO**d(Jgi) zJYHUspZ@4tW)gN8O}#umvpzaU373_in}(_|@dH~M-_I0>$+!Ox_WDZM{w&>2P5`=A zT9oGTazTxsV>>=voo3lfGxn83Lp)M) I)Bw)(SUfPIyH5E$KI*9&R$|42zUG7Mwjf%sIeb+R4(sTDT zw3m}cl|!LDt_K5({`VD2N;WE3f)?|O>--Idi&yS{L9`$}yd3-4d1L|2+2hjd=0xTE zre?Pk&jL6;=qJMeck(Y2R35_gKk!;GqVT@i%?{+iy2f_?B>y9aRiu)*Bhcw=S7#v5 zZWwoF74erE8L&ee&*p9&9K$o68KQk?<>7{|+&DO@p1l2e8^U2Ps0{dZADSvHS5ypo z#u;#D&I2U<&FJVO+A<4&AW(nX 4hE Gm8H&?d)=poM;8Vp*wX^3TNb*rn*V}k>I{^lU3TSvtFh&da z8CR?h>8RvsSUP3!i|kWl)R&IKQl22dCfNLag2k;nA3>#r@VdxRP+eWERHA%yy0$Vg zaps52FD_*<(_qB(2mIR)hiC*aQfgt>DP-kqLaB4a48d0D%Q$Pls5uR@S~%U+d7#TO z+*!3LFQijybfl)FRBd;6b#QP9M8e0UQ;&^`npzc`Mc`~_xz$`mv4G7STd%hJB1v}B zD?GcaMyqc+Z9m$f!jObbOT2`H+7swXW4))`P)(KX$ep&d!^Op= 4Mp!n!d_BH77&*vq zI}?AR$=2x6eG2PxSXx)D+FO~HBNl$P5RM4wQgS;sN;5NN*NwU7&zT?Td?q3JT{FRd zG@12fp lrZsdV+Boli3Kb%yth1Wq%4U1E zHA4{(o2J%GtOO18`;J{ v(YYMGiCqukcPvZ4rnxQNs$K(?$@KRvqq$n%W64De6QTO|L z1x!>)p)u3K(nN3=>dY_j2%&uFv!NK}#<+Uvl7nrmuN&d+)wgwbf8L+U0bc?+`iGRK zAL$j3qhd44=9pyoN$5mG=wdo2)hK`}J<}IW6+$U4kCDX_8U_w+x%vDVsvk1E=VeaE z-0Wt&@sm>l%1XuN+=mF$kVR9z74T}fBaU~&6P^#Zr;%q3^yX3z+kgIC_v6|;KkQ{- zU|^(h*buN7ONR_%0g_tE*_bXcjql-dSdG5uH>=Z?u|u|KZSbcm1mjBaAYSj;wz&mL zG*k%a2YosoDYK6e6UPixj#oa&Xt3z!ugy@ocztP5WGx$7f4DM(h6V(Oz-JlAvc%Au zFqnk|kHlhz=i1-eLxc)Ft$c5o4-+9}H>GtgEl*%f7=h2DtgKuQCde8aISC>bR$=ET zb4Mm8)-MH^xtOyDGS%F81)f3vV_8WtDn=hYtEP%;g*QIqTLDn`Fb|kov0wY@_7-Y} zdZbYU!f?ec3GhEPP>(zZHw1E?n3THfR69#L7*1^IU<`yKZoUJsN5bjV?$^|ciqZ!P zp}UueaJRrQ9*@&8HXq0V96pLyXC17br*L7%7AKh ~5jZq(FdA5QmhlP$~mZ~31c{eXO&)wfbrk$2qF(<+3GM&$jS%v?re9~P1 zHU(BOYyN5n;dCB4;^cN9*5q^#3+OH8@vcj!--T+zO1AieHp-yQsh_ZPS5Or(Z`DcP zJy!FJVu&y&(zD%C;X?-U{yoz`Kb7J2W!&%9bGJovy)VJG40a1VA;$~JxRQlqraLN1 z$@saj|AcOo*%u)`A59LE^dA%P0ht7N+V|@}vo^f&49+I6V$K3nz0Q8;#9=eTsin?| zh9;ppXBK&-rq}xTT~kgPmFq-*yzMF-7X|>my`{6jbd75MqoxE0B7dAANs|8OAReJ7 zQ2znqUGw6k5U82Q?QSh1@%h))Mn$^A0Si^D``N4JD7HWCs3b|gapd~l7fm%mZV^QI z-)kd hA!ACn~U&lo#U^Mj o#!Yt5hS{Lafn^85ClHO!1=oM*8*!QLblxf!_Yta3;bysD^`yv z=1x{uhuUjpd4A-E9uDRnsVwh-*_U@SFwYc*PZvM&n @r$5&gANb zkg?Pf>OV0FuE`~{xwuaDe<2LG6tXv1s$8%W;JqCYNKGp2LlLP#)U-??q_3v7V$}x< zhhqrC9!2j@%J25$a` unAIG2>(jPSN*Z^uw;7j3kO+K2qt0_J2^(Gam;iKV2y! zgN$sykozF3JDl!o>d@d{_@kK9PrQc?Z)@n4xp1j=`F0nm{qJ6YWulVEL%{p&kNJS7 zyTqrB6@uT;pRYqjwXqCF-?-}UIF?YJA09|*$P%d$eHQvM>k$;X55I}N RPX#oG<$W^=79% zUka ;NPdRnt zDB f=`weF9PG96p!x&5pO1v&he1czJn^$5UPJ&-LJq5IvaW6d*SL(C cHp)teY4dOpz&opr2eGp+u3=8|Y=$i_i9T)YO_hUmn3T zTvJn%Oa}kUUvA+=N;*b3iC$#}K-n5c<$nkj?2RylNDNIVttc~eVs0IPmrpSn3Sz>v zPUf?TICA4D|Ffs1&O+&SQEIfnib=a+4i52O9*-()ZEa6aPiOLFq$DM$4;;ei`wW}& zAb{z#t5F5ggMJ9WAYk4%>1EW=rGLu%zt=1ax zs32NrR6aqZYuS|1s)uaBj@?_IWXtP~Yt|bmcIzUm^=m1mJRXAOp_enSw~&YkXJ==x zlez^YJkH6)(yS6HfJjqyVwEg{R1+)=OOmJ_zOb@ lAZMP9F|9c>Hx+_d$Fs-tqpPdL#(5pR`8q6z6% z*o^ q UqG>Tfz8Da zreu6GZLb~|_1kNWF+1o3;$OMw?Z%-=cuc2 @=(q}yPQ%}cvY6;e!3#`m9K zgqD60*3Z(2K9YbRp&M%7GHIJzcV?Ds?Ss&c#G2}U4h28IybOfla)8fPSXhWf>r2#2 z3Vhw*m^xRCo^)tJ1q4UI&@wR%p#ps87ab=u7Q|_@auCak73UmiKIKAxKjM)KpdIja zRFq6|{W0PrO@`Qs={g|oTEmcLM_J-{clY@C=y|^t2nL ;IJ%IdTnECxRD6kf4-(+e>p5 zcvi|UpmKbzqT8E&T_bfLIq3w6lSbcdc)e}+g*-ewfR(wB@bG%UEU1zeJ_tbN>{F~9 ze@?7L`6PfRtKtKF`wnoF3lN)SLeu6;NlZehc%`?NefmVRk#L;$5r4`4UZt N(c!@V_7ehtKMFbOiJq`VM|1KtjE#Yc!;%vFj z0^FEu&5k5EygVPLHlya%T^&1EhKa* L zr4`4_NY`!{o}_6toy *@~pIaTUr(!^xsX+jy)Go zHC$6~y01<=ob*3`Qn%{;ub4s3<1(U&3trYbWBVtGod(6TX4(5L95niN2l@8j?Zmg0 z-E#qmI0n$rf|WX9wHa&bp1bb{e01n>+1{=o@C9}kIe&&~x7*?EN*&D&TQCKz62c;K z-RK>ja=KaFmTSemkoR*|0hDH!10)@r^eazZ*O&6}h&sm_(-B!kL|GRNx!Ga;R%&xA zG&c+A=phrQ$DJvwT~4u9IR#~P%jyW`3hJ)C-V$_ihhN8UHNpQJrp=^b>)Z{WbJow# zUO(aS1#}++_qlMUgWyths$gIN!BL;m5C@kDbA>?^p&C-zO^?i;#Powr*+0P#G8jf; z|3m#e)SgYa 05ja|*)Mvf4QIBg@n9n(< z3l_SnTFCJmkeEtWyD?8s&6Ll>o2 Xz{)&{ PJj^VqA1XqGtkiIycXpvC?h7>@ zFA*DR0U$XPk;b~$ot2~z193rQ5LDY01Tk&2*g(_#+N5jtOWITKz*nH9OqF}KiLM }+np|zsk^w&~wKUa! z{n}22?c-8w>e0qun+pqJn)#M%bv_x~RfqZQ(xRnas}yozKPsncdfFd+^m`>o$2ah? zaDLkx*tk2R B)t^y^xa8~44e}(DDd_a5kyqu2vt0tAV z%%6LCt<)tpHq3g1`@xGTVsAGShS*wgD8bCa;`R1&_j@2>Z)fLISpS}lcj?Dh5mjWZ zt%oB?ASDwHS^H#1^X^<%-n^LkMRTh&*r&Cb-R5VgsDbw1LXa|c3l2x`?(Qxwx ta$TIB%He!s+m zN4gP@oT(VAjGHARI!Xfm9qG1D6>&I|1p-*;m+n0m(F7O|9LZb5w8D~0xjdg6cOET5 zG4?np$Y0alC(dWl{#`Xspjp>UavsK2U?%IRH|TlQEF+8XbH#p}_hml_1prNmy(EPh zD6vjxaD6g}3_rl?N^o$nwY4>gXy{^tjgG6UtGKv0IGSR&UM-w51>K#lfjt#BM++&^ z`KTnKjZIBt ltqJ_~?JWVj {>J*|U*N zu|HzHYwyc*`N2BYbmd{5{%0+`OyX?ROgyNI7Vd2A$(_OLY7J&hRl)wL!KMMr`%4DL z-i@ uHgZx`;9nQVH~V1qBNoNC_il zX7sLZZZ)bm?4Jp>ux1Rhn~wBNWlpowI6TA<4BzS~N?!KwiBbk^SjeO{npzk^lD+~O zwtLS-QqCCUneW@(#LxIq3F;Vvb7y~=4eha EG-M?GKFo0H1;NAj;c)_gq!@0G;jij@lc8T!{$&2rewh^1Q0SolGJ{0 zJ(kR-U*$5HDTHvgm&Z!1h7 6`gi?ucluH`1gp;1zDK>DCxzWCLrblm1_h5F9QsV0 z2>8=ZSgK?84 y@j>Cqv+MEY&90^!S*(G!YiVk+#4Hc)O)9Ior>B-m)|cx? zqE*n^Rx#awO?Xv-*wwk}Kl`CNUAL)XM9ZOp7AJjUfeKh;0#XW!r>7?klU`MRH3H_L zYHKrh?Tc+RfFSJ!k%A>JYb`Bf>D^Gnj`^9f5!S^sA08PWtW>&-vP!zvIQ;$=*dFl% zDI{asXV(rwklFMSYV#ZpXfMfNDfw2+?z4X|F?CK<;=e< =6=njX7<)HbHVJNmNfC9 zV};86#Ehafap`?f{j{+sT1;wR#_X$)X~?( k)}-fPWQ-g#bQO0#6Xj 5?>d$cJRhgE+D`HX zc5}TX!hg!YNFqLYfK6?tm6(_q1_68X=xD^U9Vnx3)b6%9duxPGM3-2Gm#V-jOn-FC zM{htn<4vaGfT)B*lGR6os9V@ x}E`>{LUl z$a5R*g@w0v+ZImo9*hobqhk05spH6j?!1x23nqG*DM`@vV)3#hLU!@lDrJM&M$4@P z`FGL-UAKq+nY8v?D?t(6p`{mGhG|lvb4}mJTgQsIcw+z87lWOGiIazy*l-kAvHn}j z0kX~p4VT*?Kin&5Vz-K*a=v%r8N8tL!@;dBxz|QC$d2}^Uo3mK)~_R`xvup1%{Pu< zv%lFwk 6_kn-r7~t2w*4x=MPw`=h$Ht;AP0 zDyOUS4?%|u9HV(t9CoJ15=UT75WMyYJnn&&!Q{3we{~=BbC$Vj6yAox&%a4hoC@kR zB-ose7ytG(g4;eKZwd_wM>?T>Xx&~S!2YFWV%`D;1cA*|IL=xXa3xuo2TlZVtPid% z^VcR2MJTSR_q8IszGT#2Zho|fT9Mo*)9bBuylDvdyTeCOX$=)GKIp%jxAL5=*1*@0 zu6`MNWh-8LBi&!)0&AH>&k7@Z|DZuVlRL}?Z z*vPo$c8{mmmnTQ=5Lq4nWIQk${XR4_1YX;II69_rJ5n3VjQm9PD@_*8TC6og`(NMG zVMdcNKahY;cHngv9LSg#F trWflCNxR#qFq7YMdJ28M)vP1#7SB>wVb%J*LgAAC}Q z NpEMPl_W1nzdDv>~DjHgiDir%jcxP{ 9A zCs{i=KXKY#g*lnCC(_d4i-xi>6|t2t*D47*A=^I+cJD$0M%=D-mrviVwjCWE7;x{{ zW0}CsvJAF>f EL5>Y93CFh zY1D_}uno`6IS$8Cfm<3?G<1&9^ctERh(;svEanoqZ?ta&xPP{%nx`9BSdSVblF4l_ zHUt)!90w5FFAOD8GnA(DG4gf}tS~rqmJ%uyOUsq%((*MMN>=C+%4Kv8c3sWq4Xtz+ z7>>R*d2J4QOz+K?GU=BF2pJSY0Z1deNk~|jfwd4on9$>OLrYne`~0_Qw6nf3fxU-c z{uZ~c|16;K$|te@GnEv^1CyMMvkqfDJFE=W4b8uiF9QJW_jAkMN>xZ8)66mC(T-`z zPOT@Z^>(GJj-}^h^o?#ZcQ4VaLYtXMRiql9H~{%dd3C(ZGdsB(Ir(C3`D;#hYLn$a zp??=ab!ba5g#d-YK~x3#^#^45_ekM*&$n;Z3+|!)tAtO^crBMB@@Zd0U)2j^w4aTv zEgcLM9q!r<_?P1fJc@%Tl-VH@M@uUh7TXxJ++18lT=oWEXH@bO<$=dhBffY21Vv!$ zpvU|#ZJ*x}%D7-s6OQ2Ocd;`C5+U}C)nqH(fmc~F3wyav!nntt6%8Yh$dI9IVhwWB z6)6~Ow^hKR5HMXl1NX5x#za#9z#MYhrSkncOFPS6{y`Q+L|PgF= rf4>_6W|mho=@vX#lX~m$H3e ze9M{PxRpc0^YD5!|Gm0~RiP=Xjg@e9P(s6;j%TA}vGeI;ebM%2%@K`4`@_P}B;j~| zfliCvy}{YF2bE(!0M`5p(kqkRI^GQ+)7|o1bmg+iW?0H_yE+6<44rwl >G$^bw!g663rz> E5!}6m**q zR1!dA5^a-!1|Z9&QeIn=dDYCnU50GPCOT5@KKW%J{qWd*ml>NBc(->?(F+^$Z^>RS zTVY?+lI5+l11%IY9!!@d$Fg%tVj!XXxA#l5F!|RX&km>-ozlmNhdMom;Qhv&xfisX z+HbzT?9m?yI2W~V>u;x2bUY|E#42gQft_Vl`F$cqd4~blnTd26<*Rq^vOF`3%}Q~L ze;FbkhIX}sZ#L$ScS}I+>*@>zU(xFKHdH~=0b8?>I_#`(oZwaNWTj!F!^`XG_T+be zn8h#mEc8zjUU;LW`F~70+})f9?=-OZ;uyRtG9mj8-db7C0y~DUS@XsP>UUC?J5v00 zEchJNg4H)aZITm(PRAk!ADGwGJ|4vU&K?}%!{C`ur)7b}&P(u0=D904Dh7p*uRdP- zhAF^~twvY8^F5mVETZ273Fz|NH+Q#P3)2Bgj;;g2zhKrnx-}onZTE>f+@2bA s3W&H;MI!7Sy6 >J#6=JrHU)^6Q&!^3b8WH>qwrHV_YMxw+RmGA z=d%eu%1w;J(-#7rinjVo-54gh)$jr*jVhM|vy5kf4N1YzdtV*PFz%-^te&ZfcV0YC z+B~?Cp6c~`i`gpXPD4Ly1$f@ZzeNp2q4L3uE&qPlS|G7R8cS`Zz6zH82xgBi9c>EZ z2b|v@p-;PY>6~7??_$5ft82PBX$_np{8~ ?mnXSaC+ zQFUQ}g%=eHhxsjkFN2lQjTf(Dq5X;WdiJ_-()x=)>)hK-cy|E05r#8Nm7R=p2exF+ z>vb%zA90RwD&}J~G}Jek9-rFb8)Q?ImGV=%OY2@aVW|$C(P%O$@D#!ZZrRUY0?u6~ z(v1ypUUc7%BZBjSd(sXIx%r);p}akq=6|BY?K;nUC6zZt+j@0dRi^=`C6w;~Gn!`; zhn&kijKU_H-F%r8uoy2aEUaLHSXPu9*gCh6HGc1M`T-88#GFBq@mSyq6K>-YvzIZa zob-vIqgedPNhQA719}aRGe4+Hj1YKrIhf9?OJJ3o&rASk5gw7Cz?(RkRbP?OiL)$N zOv0OKINHo|Z?3+hg99VV%4Mv3<}#=G(R9A2uP`V?0boRHEF&NqJn;Md&+dG@98wgx z{?Jb`iHVJNJCb5zVj=BbgOH`!1{1?uq!fsEOC}jchK67UWv`FD;$-P`eHjX}OW^e) z!uEH6-@w4i;;i%g_vYG*Yaz5|;2!_;=g$v6g=sNa p~aNk&g${#9g!p6R8CILdvS42h+j9K~z+f9NlWIS&Y#HO;$Xd1yg7a z #(n@%`^VvD>%$h=0ha5 zq{*tEgK}Y7{8pT?r2HMxlIC-1UuMF06`CR#uzVaYFU*janW+n2W$F^ZcIKShk4e(= ze_(%>im#YMwqk>gU^}~oaa{o)|AFyLmk06t62WC#$ e4)r!MNZ%4@23 z@86!T(wM$F%`H82I(=zi$HY$J;`gV8A?f!G#h^%#Iru~yb^r4^qwcX z3c)qAJ z@5$)eJISv_{5ZCjSn`e$^S_vsOkG9`r#X(N2D}*aVuJddj+vg;23I$ncW|)Xx!}ME zB(yJa_;%FGqF_(OYiC#c$v}AN*C(A^(|^+HI^(5ZTy34(H+Wj27s7sc+(S$%!4^Qd z@pn;Np4b Pu^NK!`kGrquDs)q2PV!hmw-G6L3 zo;`hA-F9|hzmZipD=EUA)4nNRs;ehx~dDScO7_dQS20p@qqK}~7zghCdnXpP; zsR*Ny`;t*7(y=F~3cY@@Cn^?e#2lm>_RII!y{LW5=W;dRquFnKO6oTCLTIpv8D+1q zi?=;qcN`)(IL)X}+s_XA?!439YtRRZVYdH$Eo9I>GPxi>K%|DJuBM(>QCFCsb?x6> zB5+gf+8V(49LD79_qODqr8k?9q5aY`7S1B}WCzYWG9-PmWvs!mdG;$s0pIyb&A_)x zYxA35jgy^|QAb~|(B9Uh6#qwFGlJ*h+sh+EMq7p0W5e0g&`DOwg7mrmJ0Ou-mR6&2 zJG8bcVTouK>b%^!4EWzuWTgp=8g6M{t$S^LG{L1ZA?zrY;m=CUzd0uVDQ^B(Hh!4n z?>_*55cBuB0RO2s>qX9cM;Dx}I!VlXv*ClJ@n+Okw>`1{X3)1)a~42Yz|e6!JCrkc z(rF++)0ROFVTJsBROd*{b}%n{4=lQWZcxswv~s1R2OAB%|2b=Ast264Qek-HyU?df zCh2LlP#>bSxoEJxkEv?r%5U&GQPtKl6tFolL6}6>rD)ctzSV&B*^uvlJ~`lD<1!fn zOv1M7d8MCT_+jana&~YrUEKX~E3?f<0}B;;*2r=bi-=!$$wQcxv{m`sbX~k78g%x( z)dcbt`8)*Z|EIn`C{Yrbr`ubr`dFRvkh&S(osCPjyjOuJsGum-#P1WG?!sXG$~B=v zx_c&LS$u!B#^E{NR&}zx_Ds`37F(M7G=|}Lg7MD}DUgZ5;|Ae~hC<69c8|cm-Jf*4 zX}xve4@{3Zuzo9Up_1^je17rjc&RsA7}EGYGPW*m@vA%`NSK6}hevUh^4r`eg8vp| znL;s2FuXEzuyZq0H@j^x5uOasOaqU;Yw&2zfq`QF&f&)b9!ioJ(3umO^DMf@QRV C5Bbjf;Sx8D#Py`X z&%z{NCF#v``u|6q=-43^B!SI@`K9DEl{<;#kjwM&y2w_jxHbn%vIKsD)Z_{jn)LX1 zg!a_5%HzeYVU~5ql{eb*+41Dqh9=s-L1DEur?3XUbGHUP0r^UR+r!`u;r)uD?fJ_= zNtnH}POBZ4tCr??K}GrCB-KAeK*)#9$c+DAVjzykxv2jYzqN-Du5f|=+ C$YLu z35yAMKR({pv~FE(yEh8Laff=8v|M+dS`JT%(ehmlgex@AgqHhttX3K((v+M|y9klM zNVy0uiVJHtzLLPY+IyovINE(%jl&sDm{^UC3)s$;(|+>dc^haFnqV(7J;*R1i !3;#C5n#8B0RmXxGKI0 zp>Vg=*mxzh@oc(3S*LeAO+{Z^kd~16FY(C{ x@p;
M~<}GJD`n5SWReUydTo>kbi3$ zd7RKHu4qiW-~E5uIn%c!v@MKtEr(LbOvO?TJSA#_B{<`V<%HJ(%ThX0Hkd=^fI^|= zJX<8r18AD27?~xS0#YYaj%KN;AvvWvqdAmg>h;`nKivDAbN_?($Ngo0dY`q|TEF+5 z_P^7udDR6RWe@OsT&{whitFZ09UJWYU(nNZ5nlR#yQ7dcRCIPU5T5+`FQezHyE9V# zeEnZbV9t{ln{F4QeQ&N39{uS9=5CF2q&~Fi#JiHY=9W8{m2X>HvU&`S(lmmC9N*ky zskf#8tR_bb#@=mA)^je7bfL9tzf4CAp+clm1y2D00jS|gzzMFCw7HA>Kwwc3+P! TgFDQ$UfwV40C_#i4a&QfL@-dOo+I_ GeEo$2a5wAhkac*?d__X~@;YmIY0^OSDQRy-4=0X>XxrgG z)-Lo4qR`;@#P9wYyx#Y;bkH^CbChec_tg~K{g_Z>JKG0HH#!V?hr4$B?z*RDw)anHfsX6Z;vUXRmLaioXG+!WK6poi5ot@OMw!U>hftl>0_-k z8-3!}ji699Vmtr!OW&nbHzfqCqn;6@aBk<3*i@i=Gro{>;u^cx 2pm=H~E6nXoEvIRnv6l W!aQOmt#NM4s%Vdu=6wL1X-)k~XP9J{^j>!5!9b`k?wh_yQ4 z#kD{ik=NHGSL%dMBVd4tkuQ@YM*|W4;e|b212t4RBjFsxxGzSxGNWgJ_bBk2?_dL$ zlC71k(ZA2Av-3MAtPA7OXnYsuR-GtT_{aY&qLi+rj!~|#TeOoo-Y_dB2N?P~e!w(6 z{UV`vYjA+8TLL^42-qsHC!Q1&Q}8&}^~p7OZNn_(GK>GF&{c;ICq27e$ZDTQLPlRL z{h+52^sX$t_k_BN#oTX^2kgRKH=(Y6?Ef5AoL;Qj*@6TpVJ0=Y0kA6$ayA)9zufXL zSeU_VzCUM{lc_4Z3kT7*wcZPRXu&DVEIFz stS-D!$`y7)ZkP`Rh&c7V}XJ3W{@l0ebDMayZ2m06m?<#^M=a9 zw^;c$U1Yey3(CCcm5BG!7tzXJb9(O2b41EnyoAP<;6|4T52Eu1v~*~*wMOQdB%=Pb z^2}0>q|%!vddWsbrV+@~6gPgkl}}a8U-hCn>XVijb>M>Ia&hkcnluteSfeefZaUbS zzeZ<~i`*XbZ#e3bVr}$fYR45pJ`|S^4WYwhlsq`li9Ak}Kzp6ta~&aJUgy(4X `NfAL6xAfx-a{;ve$NsF2&v eBS^Vz;lalIRB`B5o*@G%3X-XQQ!+ ze23hMy|5wr3LPZHE~3MMt}23OzLrn&-)6 tOf9cgpE@YA8O~fe$=qIU zr36*T%BXyDKf!#QPRxMYuOc7%B2W)b${s|55r5H>YE6y~0L3`19ss}zC}4Zw#JcbW z1%pwYuE*Pde*N`rli^j~Sah23657%LA2#^ohy4uMjq!TV1I4>HJa_=`YjC+-edovQ zQFwVX^U~xUgvSTS)v}i{LrDJnq61h4#AWZDU!VO`B`m^$8S8NIA@{;B2FBaYue@1D z+j!cX7Oqu!x3_IlyzxQ>ai2He5d+UBg=%ahk}oTf{xxczRh75n!aHTT0 XXngC8&V~@z=;R15T zTIzdF$h*4<-<=3CVEdhixiHZ- GmgzIYoNAD0ZLhU(k!;GpY?E z-wIFM3$h|wu9q?A`eqR%+ux}1eQb_i@o ^y*utfR#MIkEj3YLfkuVl)xih8|Zvok2R<1dqUMc(HJpmd`zfO5?P_ z&q|y!6D uIsqcQ7;iF)=m)|8&MzmEKv4W|nEv~M1-j*)J zgBOK-*~$7?>X`q8dNP{r`j>aZzuEi54^G@nR6dXSM$8JBN#ExVD=_cz7<}*v6gsNF zO5;JM@^Y)EG_>=<=4&9ka?EUEb;Lt~V@6O&n21jdmO3Y8l+VTY#uN9KI !5yMm5;?gs9(+})X^)ks1ELBa1MX&k*qHMuO4TCL}GN{SN51nPcPH`9yUN_J-Q zQXD>huP={h#fo`+_uFw*T`yW>Dsz!ps(ZgK$N2ZQx1Ef@vBaDkX8HGj)F0$jkFCdt z)z;PqKqHn09-2_If6j7YHK?vRPtLn @40E2* c0=4XU6X2b%JkdgfjlXG&2f#Gy6)NV#~ zb#>sAvvV(__3m&AVDRx{sG)|42qeIW1qat18yib1NQw3iASEMvrpQi7NtyQZ_xD$V z*xlRXz+@yP-R1{_00-A{Pcbz$H6P35b=)1UGaobYcwH3J#(1(w7rfYdHZzY2{qmZ; zf5YE($B&unGDggUkB`rnwU$aED QX7Fq}-QrnN47~m+b;N0hwVs zSC%_GUFWN#IfZd>a31dN?(Xkf+S-&$RPIg6xwb1pK}W4bxoD6}aYsa7f9>bbpFKSy z6W9lzDHHl|zBbK!d3mX{vOZH1RxCgv;Bne4)*nn2X=`Z>(y6aN?o4ZttkhK$0mCCB z=EKQM-VaW=xVWNw1!XzgI94Jq_@wPLQzH?Po*$rjD~2@qlZ~yd+uqk`nN64mP x{>;9WtAoXX}% zLRH@}
-U_u2XBsA@~!_p+V<+VAjC z_AR`2B5yJMakEeAvdKVS;L0U$IzC=TI#jgolQgqBoSR&8NWs~6;WBggNLSZdLgY`h zZ3Ms=Z{w%a4fPa5W%0W#hO*b&(59mwG|>h43&Y0XNF0|UD!63mxSHqc nt^DgO+?R54Gs#{4gw(iWvAt`>ckxWND>SP z_kWaWn{>pi< ByLo{PIq*EEps9?T*_sf1Q?ciUHO*S0-Ont4gtl$AfLO zq+({r43M35hLV&u+iO-)+nA%u)1q$4Jrhp#HpD_Rnw9FqZN1SoAp8bHF?j*F2?EPV z0bkfAN0lLmIThtMkc+~e`2q!`hrI}MR5stWyO2RyK6@2vFfjpzEggm{JGqwNtOd)2 zG7n#s92KU9Q4c0klIWo0Rji42`MFxSu4F93Vx$5}@xZt;Ac30fc#2sQ7P6}ED)73z zJXP`X% G@bVADm!E?U6EtK4?M3F@S$_6XgldWI8&b z%dLrUX3`^;hYLs3-kZ82hXC|6Rp@6=uW!u8HG|;<5fGsPYGHX{2YyOcI0^g9YfGzW z>zgp58s~SauAleLN_2g>Yzw&{%G%lcsbB!$<6_4Z &Nsl+45D~#(VbX;^klB_~$>TP0^ol;xZe_}h7GItVCK8TjzsxUbsuvu{(wpBL zbTcz$pToL0Z&Q$zQdZ6!R)`0*M-`IqFtI&~sNnC==7puk{=f;YX(5K_ZjlrxnX fn}PaCJY_ykzd<9DcrLue*>pDN_`eXM$k*cDPJc2ZK%IX}OUIyAOC4J+mzq+$>M zen*&i6`8hU!0%T7s=0O6 QKm?Ub8WBb^9N@#6M z=d^Ek(nz{6Iuvov-ZSqk&4sz=9+9%&_C9LMbbzR5GGu@f3e^Q)PocvqH*Q3LrU|_% zl3cEF8WJeY%t$kQsetp(ZxL22=*O&Hv2jkgOdN 5US#G#Ys>nsER@N(vcl`rth77^@98!6 z2QhhH0HfcA}b 4BNDwNj{}1hP`uvmpSdOC!9_dj2KXmV;Vi{KQ^-Fi*}v0nLUa6o z(QcIB|ATge?u2$4$Uo-8r0bbCmreIBx(*jfl?eGa!sVyQL5pP^lDzhC?A+&sTc@8(XI1RdKWI8 zuwq$itf#lyXtSi({!zB+vyxv=p=GF*W%uL}wcnu@&FP}AE@~5dD^&f{bsapwGk=|Bca~S zbnBUa<_6?HMa@M{-z3)8vnD9uqohShN=j;WcsQ?hdh6=wa0@y&|FZVS0^P6Bs{uY2 zwRb)-x?l5Gy7I3UpQ(dl%jANMQ2)~u2zuY~107B>7LkA_rsGhg;fD?r5OiAloMpFO zy(;F!=Jz0FXh9QE(aJqo!krQ(tK(v^^Eve4jiUUE_x1kmK#(VRBi~`4>9Mv+Ik#d( zF&?n5GD5zVrgVTN3lyW x gZv6$b1#2ouB7#;_l-!YB)Ud@+Elgy iP!E+9f=+$34cdl^=y>2 zSQ`f>i^1yb?3{q63&Wm9SL08>=XKZaeyQb&qie)VL7qx~C>#2AV3=FX_3TQCJ(BIc zb`A1V2sDQ8y)O<;?n^SiLY|~F1rw8E;Q$p0-JJEARXH!zxC%}X0@07KMRGP2e^fR= z;CpH#V;i(oS&f(pC1@;onsR#8uJo)bzck3RFgTl1jARp1FTxej{Tf evJwgi zP8Gauy&bFqZ89hLqpOXHan|x|;99DjRq^I!1A{Ngy@Drwy$`x2S|jUcS@UamsG;Eb zGP}!N^}?~ApC2xVEgCxd^TiMY0RaKN5)LqqWr@KGD7i(yX0;z zX6l)knAqE&H(1R*JwGStSP%) }z@B?E7B@yNN^VPeg z_7>##6G7AAA2|Kk9a}q A1P| z)j?OL#7IilZQPDH-(6Z*ke8EXc&m#RtMbNeH7o&FX$67TEfI(C^yc 66u?X7}pDtODG!`C>w5 zTg)?ZLrY7Gb1>+sF=R|!VD +?~yp?=1TF14Ax(J1oms$7 88ox)%=J`kZsvNR@9)SGbu@5~wz?A1P0r;^@`0n?iV`j}& z_6SsDjiJ$yLw#dy;wW#^QIYj4jDHM}
#N&^rO-&M!!*4jo7~f&$hUo%=-oF#`) )vOJkCp!DGY))hW$N~xhT z2qJ2wT)X%UI?_I;WVU?fhw%{ L!js<*!#1L&`VeviNqQ?^UfG5 zh_iQW0MO3NairQ3Gx&$3#%2FpoZGBc)|3esZb{Xfn}4V6z(*%6Wae_Z^@+o*e@cn< ze-NynPMf_$_SAwrw6rzkxqj$iv{-~ Xk4%UY9@|NslrV~S$U^1XT#E) zJH08Ns9sDIUym(0VGkefjyHYRw3bH|`>Nq{>wCWD?N*$a@wx%&3&hAI@Wmhi$%&Uu zMX{YWJo_{Q{7#pqZyA!nfPJs~xgmzN(}Ke``p74%gAmQ?WafqS?Gn!&V;)Z>z|YO` zb{n;Ej{CBbzae!nv;OSUsOu4LMbafz9|>s?j;fW?e$MiGWSoxAH~-Zky1RWSbvnwA z ?fdoeB)$HSw9vVv=l;_}-{Y~fikY07h0(YACceJU z>wC4g)#90pD}nTD *)5>lyJS3+KFcJy!J z`nSOz80+%vO2cXq|B~$&c0NWabsi*e3+5a{nW;9Ceu_6fl|)f&ru^<_uiS+^+83Dw z-`o}K|D8drg=OCD_(L3VX%+{w<>ly17j{1&_!ucP@uMWM6TWhkp{efHT7IZ{Uj;Pa z?9Kk=#&$NKwFChL2mG9gyEhAdf}9b~>Ie=69P{NonkbQGu=xEi0#>WURC)dr2B&KF z4s?UBB_CT8c?4q>c_9;KhT>?p4#5BxqsfEo+-YW>hVs+KgclzcEp?6Zyf2{PK?PpP z>q630hj$;l28A4}AZkB_b#y e?CO>FYRsVYg92F3T|iU=X~7+|{RjmoGU6FV zC;;iJPjf$AO8&wW4YXeg@{D=Z!Yh~VC te29zejwHt=S}}(h 3iE9zq3X9>I ztPXFO^_gB@IGso)cu3KpJXDPZ7e6?oGcL#sus39yJ?K`H>9_=ic)W_XAy(Wr9+Zep zIi~Y8Vlq6h9ac`SpTdC5(Z`z;M@Pq_mA2caHJ`NP w3X1JYd-I4a1O!m(f5dsiKNp8`x}MdNip7nPQ%Fjx>zT_t_>8K> zQdEy$8k|Y4sjEj qSNEa6NDyX1_6g5e7vFpjjgr z4*SQ(r_RUIw(ae0_L3-}@1XcH27R-zDKX}Wb7p_se~EsDALe5goNLiqIFB07CzUk< z%R*cB Li5jx1!$jmssO!@L50yq2Zw|$OQc^~GniA&{c z3_15QdU)I}#d&)|=&|ZOx}}gwe%*R=^u1+k^AO@VcFc%#Hg&ss|0JCyg8D~#_2s*) zTaLz8qa9fanYkZt?x`qd=@9a)TkU(6s>|9^o-y(9GolYiK(Dd6xw)}1yKjDA WCN&b5(kCG8GZnM;Yb01${({xEHV06;BDip4nNK%iR%BHUY{` zR;mpHL@aC|@>=%|fM3lLq<5d9{q!G0A+x8T*{o6vk7Jh0U@L4eGY2Y2dhJf}yL1c> z40B%2r&ORdo$nN?2LrQ`LOLh;Iu|n{Up=3DI#N5OxpWWJ8Ze=uq4j^SHBemR%!$=o zQdMY?L)2Bji(I+;a(eKUs>Rt0uxSkL7`)jq^vGjBz0$kM>-S@GlJ%y^()E0jQMob7 zC$9T4;q Z;Tj#=m<{m%i^{+g<7?u~w zSs_p~pIa3M7N79k(zOhIkU(?rd4%bRZfFya#9?ze*5K#w>hykWWLCFvGlu~D9u8Bp zO?;f-0YEzrs=*B#%x_|sbKmwQaMr_I#nj9EXwr$H#=kju2%XvUu$aw-J_ZsDt>nup zs$HcQn_0*LD9c^65|CX?w1>Tzd%hlWdmjBnU~_b9O&TT6Tg9zQ@1-QEFk{i!%4>E# zbunwX#JwwF?I31h-XoE+^v*A7Wtqz}lq|&9jBS#iCrBIsG~?W@4=A;zX^L|6$`Gv2 ztCQVY%jq5WkQ~>VsR00q4-wyz=|l_t+tNaf*SEUcXuS0{^Sq{tnfSGf! T%=a0qlzf!=3>aVwOAUo;U-{xkr#j0 zoyjme@>aGg (P^?h`8eHixAW6z`#h3xsr6C3XaMS%+G^-4TV8e ztJ;)ULx ?&C1|ws`D-Pv;J@GaiG4zkHnj0j{?Q*^W`zOr7 z$@*J?7o{(RbemWi&Q!fI0v0{%)R}OgNa<4sgr`4Q<&PX#6oXm(%M3qr-hRsx$Nfr; zyaEgIx(mi^W*jmP-g6SVcL-2ofWj+IkHgalkMPEskN@UvGe80V;caWB@{j(n#s$|j zzu*{jkn}%r)b4KC`YRA3!18Exi^$%D!F|=_q8)3!XW9n<;otx2OOJF~D#DQ;bGK)E z%!yE>`K#H|*y75jTbD@A)H$*YcO?*iJjS6Yo7{q(KW%IsbRR+*l%K;f@75QMz;?9R z38>Taz(0kq8k=YGc(`2G7XMRud)s&RkEs>CzQY-RFx;A*h_Yv2$p6x}unkLHn3fl^ zle<1P>4HB}3;`6&^5Z-Vv$-kyYSO?@cncU=VT6AV%o2ju)v6&0>z7}y*_<@b`OtSO zatk|Q+p5N*#0DZSY(M{(^hFz2_-5kGR-!C~oB>t3fF@s7*zSa|e=vlqQb+YB+)`}t zx8dxuA^ty-E4e$BzC09OSJgHQTF6DO51w=2583{Zkhz+C?-5(0sQRmGE6?qedT6$0 zA^ckT(nLKuFv@I80|J8u>LqZ^W9l7Rd_}Yc97)>VN-$8r^@n}E6Gs|CH&sD)Lri6p z9x2MY!Q{sBc%yCxqFoRLK_X;(u-OCn7Ln}a(Lvb&Cr?+_W>e6$7ExHTe@vVTfgZ%X zTa@MFareuRf?Ob6p06aL44Rij?FVGuG%{~oANER}ItTEcKEt)t`1Cqd?hQyw28M(n z;;jczCoJp7ui!sKo@W#($=86Bt>Tat$bl1 z!2!4P&EDAxZ5tb#it=)H+vVhx6so*mCJu5o*nXYJ-8TUo!0=!`G;VfzHg`)Im!c~^ zx2UzqeS?6N@etW <8tLZv+<)!5SOD^vL6WVY1Td3^M5G z>FINFa_;Z%Pr}~+MU%==&59S@YC5r>?_*&I=+1`mipLFxA+ozjo6xhLA2kySI}`@r zVUg5G?tBk`E>o-6{KRQ%Yinp|*xTD{! |8SJc|a{2D1RM%w5MR`vp^nsbuvfD4rz~jDVw0tn|YmJwG z*45RmsT>twIU rv7JY|L#`JfZo1FL*(Cp-NPbLkIg&KC6sOTegWS4apIfWEQpM8PvDwiu z9#^)FzRDL@mq5PqKF4SV?JVZ2q@L+O7OQ!tkSQxNy&GMq6gB?MTK+k^(X{7BJ?U$8 z%z|Ti8JT!f2dOZSn?B@WT( MNyH+uCl*~^snE)yL03y+TdhQ7lr#u7ZYL8- z)G%KpMokq!xBo3WZ)H)^1TO{rwiw@TCF4l+&@rzs)#cBI2up^eBKshWxD02;h{Y>3 z;`(K^9!7 GfM-WVjazwsl|{~~!8T_{nD1`UiCx=2`0 zJ_RuT*SMh5CLUeSgMm2F`Dxz_AqgXCW@xH`LiLcULLzi WMakG$3dx7s(~C=6t}3 zlBzNM)?k^dF>Qh=i4g|)S@!QMOi8EuA}PS@^w)G(QIMIeXW6hb9WwY72xLsb`9jGc!bjKh$ z_ ;r_ 6_W4flwz# 5rIwZ|JOWmO;;%U>NJt5n(kPafgdchsKeMdr_*5wt><9lIeyxvW54CQx;FoH zD1kw$O@c-bugQC-kOjNl OX$Vl^3yp5C# I)9u8Tt@kUV zi_ZNE6DlhC7}6^Snclg1z3YITmG2!}3*K}+CrQ#P-sY4#K7`*xL`Ggwk+1LNtt1p$ z?(q{(^a}gLT$g(F7kDbZuXi47Nz=^ZQO=Wi5)edTUHYnbCNO3Gon|6q0%m1Xsz2nd zVVH;yK9~EpPI!y0jzWuz)jxQ|6OdIbq#nuI9vb>mbU4BtgYjKetK&d;MsUx_Ey+Wa z>ZwPyXdQn#YUs`?*kTTx!Lo_U8#PjWF^&B{jw@v7X{->Q#K1yNx6h@YdWMmKJ|fY} zc( E7&c|si9!{%tr<(!Ila`!70=VVz(N^@pEgiaxDED29Cm5_em-g> zvz>TdR?%6KNvYU5<(MQL94#dwyqW5YR8TkXfn$Dxn?VzU=!uUk @8XJh?&0UR2UpIAXj6G|4194%oX&zW9d zm}KFPbLa?el;DrS*1HI9etsjEV2W3^9=Rb`UWj|yGUQ)Y3-{-(@9owr1?}OfzncJi zo`gGe(&f1cRugBwJLJ!86cw0Oz|Y+0NgzB$LVmL>Wd25s8%5)gXQoy{~Khv{yXL z)#6Tml`|14vI;D J%!cnk2luPoV(+o z+Dx!N0u#{98p-Xz4N~El`5L4!4u{ekV3?c>)i5#j3OuRyU^P`}8r*L^gCNKhbrBH% zZ2J9+KHlXD*Mi&DHZh0egpvU@U@2Dmo>b52;9-o0z@(|&jZdg0#&kq1b{j+|cD}xN zf~*tlU{SBo;>}qO=q?1en3aI7hC5VuHd(z6j|SuZsK7u-u7WxAuYx0DNFqu~lPN6b zMn*;#7Z= M4^zZIhm4@k^_h`EG{m7 zygfth`M@?e?W7gE;>TVlM2kT|N-82Qp7p`CGCyDBkSR4a6@L^fm#bc;eb-fKpTlmo z2gLS?imr5eYttrfdXb~BHSnB}hYq14R^Ag|^uf~SJRj^=H9psyRNLZW_S;s>i@cwx z&~75Vo=@YjTTE9CMCsl-H!?N`T_U`<`rz@-EO%R(1^>w2VFnSI ZyMA_ks>*jd8zPh1T`M_0f$PdQLtbzYh;J_2FWJ)%A6;aUGdN`1!Q#M%KLs zGZk Ukq6vgU5Nt*`o m5%fooGP)W!t_UQA>W0YD&yY2m(ObS!>n$fo-~GHW$J^ModXb85$K86&~*KYhBQB zuU3PWpbDP;d BmLQAemTVNek$*K{YBy*CB*<0N)bv`NsL088$M|2%D=KU@ z;z17y#L~9%YO21~VhRxX-3Az5Pnwb^(6_9Z=rbi-EO$mljkD{#C#RyKqM$I}8_gIU z9kq${Q(&)eXfPj1MMp)w1Re3IB6-lWr7JBhJ&~d$1oP5e&4udgRmXT3-ADt^&0M@v zB%gKG^~y&^wgX}zK=f@xU7eLHWngS}Ny)+9p6lUs2?*D9+#4N9VG#!{&|Xkrd@kgt zF!czU9|t$yK(H+}sKmmN6D6mmRq3{|)6vnfusBW?%BrcU;YWul&>kKh>gnnAN8!`Z z(RDcN4Cab{xw^jofTbMY;oBTEwlnJ8LDYOMczQbIO6N+5fi{+~@`-=opJ6`1u?yn+ zA%{l!*O%wHD*aawi6U)=OVkQjT3Vu#%iLYh>4Q##O8qWdE33z^s1lzQmO~)_=1NUZ z)AFBz{Sx=LH7eyJ&{3MhHe3?=v!YU?BQ<3U7Ac0y>v1)nBV2IW`|sY!CxGcc`Aj~A z?CFlbz@az;R6myIvj^y1Ty9(%5lAqD$yAX>#ESn8<+ORg`)t;@tp?Kg8 YBWs-(G++M+$xRnz9NF}p*zM`#3ih9VBG_+COnvZSNQ&S=Rn@@*9O5|K zO^Ovku$)=eo7aaFCf(JA+!AFP<;v15Ik(+h={NQZy{fR?RB7}S@@(kl&+O(G>Eka= zo#yQwfweTUx0P(2==JZVT*pT0-}2I+eik3mMrS$vp@UjVWN{RnHrutz%da7=<6(1| zdMRlKB|FZLgkrc-#4wiOYtv<@A^#5eBT0W_(-PC+;5S@hwDiTnXDs+Xy(tNH^5e|2 zjpOzGZC1DAP5sywqi>Escxk;63AA{JtlHb+o