# HG changeset patch # User Ashwin Vishnu <avmo@kth.se> # Date 1517244901 -3600 # Mon Jan 29 17:55:01 2018 +0100 # Node ID 874dcbfdd9d023e8affcc703c5b085b2e3b4b2f3 # Parent 34e27542c0b74eb98da9309505b172019b08a462 Reorganize and extend fluidsim, add abstract, new fig 1 etc (not over yet) diff --git a/bib.bib b/bib.bib --- a/bib.bib +++ b/bib.bib @@ -23,8 +23,8 @@ @article{fluidsim, author = "Ashwin Vishnu Mohanan and Cyrille Bonamy and Pierre Augier", year = "2018", - title = "FluidSim: modular, object-oriented Python package for CFD - simulations", + title = "FluidSim: modular, object-oriented Python package for + high-performance CFD simulations", journal = "J. Open Research Software", volume = "?", pages = "?" diff --git a/fluidsim/Pyfig/fig_simul_obj b/fluidsim/Pyfig/fig_simul_obj new file mode 100644 --- /dev/null +++ b/fluidsim/Pyfig/fig_simul_obj @@ -0,0 +1,99 @@ +digraph { + graph [bgcolor=white fontcolor=black fontsize=14 label="" layout=circo overlap=prism overlap_scaling=3.5 pack=True rankdir=BT] + node [color=black fillcolor=steelblue fontcolor=white fontname=monospace shape=hexagon style=filled] + edge [arrowhead=open color=black fontcolor=white fontname=Courier fontsize=12 style=solid] + sim + { + graph [bgcolor=white fontcolor=black fontsize=14 label="" overlap=prism pack=True rankdir=BT] + node [color=black fillcolor=black fontcolor=white fontname="DejaVu Sans" shape=rect style="rounded, filled"] + edge [arrowhead=open color=black fontcolor=white fontname=Courier fontsize=12 style=solid] + info_solver + params + info + oper + output + state + time_stepping + init_fields + preprocess + sim -> info_solver + sim -> params + sim -> info + sim -> oper + sim -> output + sim -> state + sim -> time_stepping + sim -> init_fields + sim -> preprocess + } + { + graph [bgcolor=white fontcolor=black fontsize=14 label="" overlap=prism pack=True rankdir=BT] + node [color=black fillcolor=black fontcolor=white fontname="DejaVu Sans" shape=rect style="rounded, filled"] + edge [arrowhead=open color=black fontcolor=white fontname=Courier fontsize=12 style=solid] + sim + params + oper + print_stdout + phys_fields + spectra + increments + spatial_means + spect_energy_budg + output -> sim + output -> params + output -> oper + output -> print_stdout + output -> phys_fields + output -> spectra + output -> increments + output -> spatial_means + output -> spect_energy_budg + } + { + graph [bgcolor=white fontcolor=black fontsize=14 label="" overlap=prism pack=True rankdir=BT] + node [color=black fillcolor=beige fontcolor=black fontname="DejaVu Sans" shape=rect style="rounded,filled"] + edge [arrowhead=open color=black fontcolor=white fontname=Courier fontsize=12 style=dashed] + operdealiasing [label=dealiasing] + operfft_as_arg [label=fft_as_arg] + operifft_as_arg [label=ifft_as_arg] + operrandom_arrayK [label=random_arrayK] + operrotfft_from_vecfft [label=rotfft_from_vecfft] + oper -> operdealiasing + oper -> operfft_as_arg + oper -> operifft_as_arg + oper -> operrandom_arrayK + oper -> operrotfft_from_vecfft + statecompute [label=compute] + statestatefft_from_statephys [label=statefft_from_statephys] + statestatephys_from_statefft [label=statephys_from_statefft] + state -> statecompute + state -> statestatefft_from_statephys + state -> statestatephys_from_statefft + time_steppingstart [label=start] + time_stepping -> time_steppingstart + tendencies_nonlinsim [label=tendencies_nonlin] + sim -> tendencies_nonlinsim + animatephys_fields [label=animate] + plotphys_fields [label=plot] + phys_fields -> animatephys_fields + phys_fields -> plotphys_fields + animatespectra [label=animate] + computespectra [label=compute] + plot1dspectra [label=plot1d] + plot2dspectra [label=plot2d] + spectra -> animatespectra + spectra -> computespectra + spectra -> plot1dspectra + spectra -> plot2dspectra + computeincrements [label=compute] + plotincrements [label=plot] + increments -> computeincrements + increments -> plotincrements + plotspatial_means [label=plot] + spatial_means -> plotspatial_means + computespect_energy_budg [label=compute] + plotspect_energy_budg [label=plot] + spect_energy_budg -> computespect_energy_budg + spect_energy_budg -> plotspect_energy_budg + } +} diff --git a/fluidsim/Pyfig/fig_simul_obj.png b/fluidsim/Pyfig/fig_simul_obj.png new file mode 100644 index 0000000000000000000000000000000000000000..ff856aba25d3cf75ec6f408b130a4bf524874117 GIT binary patch literal 179279 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	@?;<5!<Syc=T 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Ŵg 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%0D(nd*xV&vrH{MYM+TFCRq;NaiVoW{n> zu2^Q02Re`S#RShARJ6s0(WTZy2Ss|&?dD9)-Om`46BFGwrm8J1EnmENAsfeH@93EQ zjPd;7*W4Vum;Ilf#J09JZ}J;~(b3VspN@`>0&Y9madB$i-a->0fmjR-Xnr)Yv4Yr% z2f+aW)%7W3<#lUn^iG8WOa1DGrl$GD#gy*-^_pKLE9+BSFX|MRVmmrUJ3CkQrm(&p z-S}@ujpbzvm>qt8elD)Bu&~U`g*M&2mU*fLFhu}rpwvYXWlFpsN~p4PZ4oApaqlEr zzWze(QT{w$$mgKUVTX!`$3<GY;}|SnGVfQTR*31)hSSd#6`%tS$G@6?lurUBtD&yW zb5`AS>EFI^lNzzHXK-XBH!pAb&mT!e9DzR_olhNJy_%{af^T>&wE3r}w|iBNj*Oh` z7j{jY*vZI9iZ)B}*DlP>Md?O1r983<`MTShmsbgBiGe}Q%0i)~J-N3RcaW4lo9gk^ z;bUT5-C6+FsGQu(2f8&j<}On`FDnBBF?Sj{c#!A`HRdspkO*{bY>NH;TVUKc*w|q2 z+>`sH#OQ9Zva;T|e!Z@~-rCw4A9-$m-u+;&bIR>SXXT~I9KIyv<cs#XM7*~8{7mKh zq;e(HXHi<@<PE0vp2x37K56Qf7_*alc$~s~Bqb!|6%?Q%BeUpKeXdkEIzFbPq(l^C z+W-4pU0vP9<xscQnNrBpRcB*L@Wa1{GJvgMeKrC2&RAc9YOZ$a@9yk8UmIt(wq95H z7@C-{S8m@u*HYW)&5DWcN{F|GE`oRee#q8VlDoS$AGuuG1MlrjwkYY$^SGp>)#ZWu z(}VRjo~Mn1hk-!MtzjMv3dwJSgF_=Ck{-#@)BNh{j<<dPUU_VM{Is6Z*B({u@{KOS zRLjZBzXcy2%dAdFNccdnZfw#~=mQ|(-Md+fi;L;$G=hTl#cZwZ?H=y#wCJMrkW*O_ z;^KrvL}c$jXJp*r=2p|zPV)C(I8^U6L9{@Dd4<dOSj}i?m>C@08OV|Xk<ah8W75cf zG(0lm?uvK;`TYL#rx|TM&*J4v_#AP56h9jDM7g$w?ZZudy{~5Xw8*?K&YtV&bhWn+ zEsS^;6<N2o<~(}jbp5*L{CxBZnP%o!^AlG61`gJB2e;#oR6$>AX`?%JbT~6IGFC^5 z$h!!xk=`><Mf45JoK+0_dn))0Y)wOhx3Td;t;=RiY;0|PjoqB+L_+`T8)$gQZu@_S zf99)@y^j{nkV_NN)ziCJ8~@taD3hc7_U+pe-C8qCOJ28~MJkV9fBxX&;vVen2{<l4 z^YlD}@CSEt;!4ZLRsz{X?Q<3t8;jyZs3rN7@{vq%C}v0~=KcW_Gjn%OqH@cCgDog2 zOQ~B!Z-S)g={z5D4z5>5TsJto+NqOZ=PtlnaC39Ek>}w<LVSF;gEdWCA}l|ekdP2i zaib;rvkhMSH-`B5`90j+ye=<N603tE5q;Tz4i6_LBmgjukByxyGw||`Umdp*q@j7D zq7wZYqv<jCZOI%-@*Dm|Z{Nyyb?tom#G<LGZ)7x&f_yYnhY|fQVQ{maoe8ClY|I(7 z2mQMSm^CF0jj{LlWMQ@z=I2lHvOXjwRa#Hx78Z7o@nMR*`zI!Yf`Sf@n9$IqU}2S% zqRPviX3rrZa&vNe(}dG5QqJ9fjsy;(k`v5;?}T}fI?B*sA&zW!c_3-@DLL5_17m;2 zySnytZ?-k~Fq|ehpjA>yDdYS1#r8;jHTBVnacf1n@bs%fF$d9W+s61vZL|shI@XPv zD%s99tb1sxGTgiwd477Rt)=De;jysobslZM^{WZkcy+Xdi*eIOTtZ@hZ_m>UM5(;T zOPYK4B(xiH3JPA>+RjR;>*(l+h=`PRdfVIEL*j0Fe3{*pkwsLN;I^GXJomxf(_<Hh zI1URAu5w<Vm?*cBTFW5C4vdfgSW)5qm=Cm*fb&aR+Y%<`?#Sj;d}Pg9=id|M{uEhR z)<65&+j(M;kix0hn{FZ@wN)2)XHrm7p6U`yh|xzMZcMK(EFdbaAf5+IKc=Ubl#*hg zq51ax`x}w`%QO-;z2%h^Q*(0!>Q-`__a*b%&wmFpRQsecU>kJ*KBCA5L@1(b+`vGF z@KY5PL^40nsroTBRcAF?d;<*^9RtTTAA>YGFfb5Av0kIM*ZIjlIGx{1OVo)=FJ3%I z=5?6JkyW_6TeZzfPe1d+PTSNp$JZALaSH(HYN{8=Qa(yJ4gLIC=Dz>J$LA6ZllN*K zXbVby=TDkn%@PoGrC~@M))Qq(Jhle|e>$S>l5@XgziJV<Rw+hA6#Mh%&(<)K)xUpn zExu5rp|xj-1z}=gDW>o_ZO+uM41EOohp4I7H`(;e&ffm`=%~(hoA&<wr+Ruqw6sPh zsr<I7TApX^QEnquBqWD=%CGo-Dj7^&6%lFsD8dq!dAz+41k5QT(*;9NE7@56L4F$` z8q6ci0}k)2lFu5S0s;ck()6iUW7tW1inJ@~=;*@3!y&9s*Q2?|5#=;sh6hGQE{=B@ z&fNel*Voq@z0d!ytx-@=u-v=1zcR#dVv8nL3Iqr;8uZg}p*lG^IdB;6A;JFszQe1X zo!wKm0g*;p+RVLuoF59;kXrt=euT(-TVD?t|Fyfj8}j&cu`^moVS1hZ?p-lm-4toM zi`{-<Q2gf=K0AvcAT2;n2706><>Z)(iHX@JDgOBU<qM$u`O$XE)Kqfc%Bq^08UO>l zm5Q=5(DChObllt(kOdHqfU}H@jM&S1?1TaW0zyJUfQvBA<gaO+x93}jazpeRFAS=v zA8r7A^~bZJOjcNn@uMSQ-$3YcgEP{pFL?@V`V9}cxe?9DEG!sr-c)Q{FDxi9>rbtJ z^}7p1+s!+V>S6Lg*UZ$p4Y_<B8yh2HR;#M2+T(vzsv;)l9~=AJ!eV)Qp<OZg@wN7a za3bIauT9^6Mnr)=yKi@Rd0(A4woxQ-UsGa?xhKnQ=ddd!)t;V$f)sdlNUSa7bt>_2 z@BZqj%lbsQX*V%7HTCt^Px>K7=`k=c5)*;`>-<9n*rTGNYHDgUH8o$odgWDF=eY9T z-(O5z{7plH(E0i4$;k$osEe~>NNo}#B1$a{WDz{3Sj?cah?^#y@UNcg=saXxW}47! zE8uq#Jy_#Sjf+DR-$2}{V*i)4bs}tGnHkE6TksH0fCRNptHdczs!yIg0a5gpoJTSj z@X4e#l<58Y_dGUJ%ay-jfkEh-nVH2!M~nGf0=kr~_o4BPmq<xUO8)ut2L%O1Y!fpb zE2u@c&UIyFNIfH?|3@DuJ)rvTVkcIu^SU1&W;oZs2F~0urb-V%spRJ7g8OmVoN)pj zxm%nj>@zVwK0Yx~ti#)}V2XOpziDl(bfGVWe~;q*>iRk>Gc%%t>B-5pWOT%iWYEqz zvhl?_)jN=$CY)~QZczXh4IYOI3JQHABNf@%CXBk*PNF&&!^5!yU20#Bb9#7qkSDc( zpv2zv^t5{MLbGv3MqGRmxYEM>ns3updjyUUaoXdPldg`AH*em!dU*I8ZN2VOaj9iu zV;dbD1Pu}q8ah#CNpQ}yF;kxu7S=sH?3AuZkqO}O@ZrNZ0Rj7y?*jsUgH`|})2_71 z@hNdY7J*2*e*OB{*_nW#V0n3Y(3gQ~;1+N13kV2MAvxLEJ-xk<oP5hONGb4>s;a6A z$&W?oZmn1<UQ+pjD%bd8l3!XXFLI5rZSRFGgU$4d%T@LLXa+@)Ujq?0ko>Rgh;jcf zg|NT$%*?W4Vp+Ml^c)=aPfW*plXyT6dxETr@-e0Z0D@3nSP)Y*R#F;x2L`J{8r=44 zp^m93fjf5)Wy)k^WFTQETnByd(UBb-cGuR{nAMBFx3`0^b8~gYuHktSi8!d_;h|sS z7~<@%(YWsK=eMlG6LD4Y_M-xk{udK5(d)?%hr##X_Bv<1Jc~YA9xw({DqBGM=6V$g z8iP)nsx~$oPvRw<LPJ6j2b1#hER>bs!-Adjcwb(ee|vocMx$S5F+h{b?+6e9{~m&T z?;)a)G^~DdN{X1MDC!A~sp;>ZKUE>9bakiiC>-3yLywD#)4!^D^P#5ZB>nW--Zukw zcmqT|q3hSdC`v_8+=-I*Dr=v!^Y-?3bnffyJpR)=*%}uANvnLn?Je4k+gr&n7*1j~ zJ$)sm=!67hpS31e6#gR^`PefRm4(Gc$KPE<C@2A8By6}weEJN+!opxi07Pf29fD$G zV=u__RSSxXZJs`T`r^f3UmFt|rdTFcR%-(TyX|=iK12`3YM)DQxZt|FGn!P_r9Mh+ z?a69~B_Y=>gTd^l{>#_W{bX_wBnNZBW!AHGc&M(bx>l;`?cER<D5;<j0iyO?5FF>= z@bL4emLq`lOMUCrOBjV;zMPaaKA5T}uQBPI|MrdM+O=zC1lQPgu4JSne;`myhV@9L z*QqmnWO{n~>o_q$vWSq7?ZZQ<!hd@sH8eE90F;-N{csD5j~@kQ#m2!YEG$IZ7KfNP zIy!=&V!VG}LQ)bp6U`TMV(VvnBsCyen&7I_lHe7c=ZXd4;^ZwM_WrT5z6}er?R>w# zI<oG$v-n(Amiex7q#+?D7>Mbnrl%qz{M_8zP5x*D102t!UT@<dHXa+OlFwTz>6TYk zf*L|aMRj*`15t>*chKA{Dk0Gd{J_u4i^F$A3=#%WH@fXDIbz4>CGqp;!--tx4X)cp zb_`qG+}v8)+Gwb#05B=SKB;}I3oCm^+r|^unr?h}iLv~1VBmF=!O78PgZ)AqOa`Do zu=~xj-QZw!Ma9U`l38{Re6!y7vF|^$wFOR~;aJ?c^;Fn9=HtgDRrOKnr@deuOUuhC z6NjR&Jt4Vj1}_7ifba2R0iTPhZ{NNR4XKEV8Zp)n|NKcxMwXMCi;9A>0^(uM88hIE z>-IeOW&m_94i21q7-FR4<e(ky3JIlNXe+CzK<-xoNM^hgkWO0rSWs~CtLX*@N2$o+ zki3Zr;#Sh`&W@a%Tm-eSki#E2$$jkQxrGH|W8=H5tmok9nut1yh=?GY<zT{@m|ob} z7`ZkpMLeMi4psOd=y5QZBTGa`_#@)RH}p(IrGC?b!a@*WVeJb`J&C*Er!!nMo;{;s zW@e_Rhn(WBqMDkTN=Qr`8X5|s3cRCN?;b!SZD#hzccaE(2^ZBL109{TE9>hQL<7rv zG&Eah$GaJOLx}oE!NJee)Y^<nVHxxD^Rd?`_KJ2H&B0XyHzBp%x;m&t_^$;xq-bVl zCj18Mm)Is32q$T2X(gr7vNA_IK@)THub)3dG@30Nk_L!oNI!jwsO6i^1JoEF8~cct z*Nsup_T|edKxtI}@md$KmJ~AT)9*SF9?;FrjfL3C%uF)l8R;1BaxT#Bt`#5vvItyM zSZL@ES!5(qV}nVs+oY_due4NoKyApzKS<#+SJ2U!0-b|4AO_SvQlt%<8d3f4J3IE9 zCIc2$*3GGEvCBUM4`IcgsjKT(+UNo-rKj~ZH6b?32n#oo^VnEeS-}`_Y6@*Yz?GKT zySuwTd-e_h57pmLwLd*6Fc4K%R@TeQYvO(nd}`~Q9U-RaXtAz^)D5I?va844C!|g= zDk>@}kPiGV8=fb7E9sF#PWJYlV1*73soizkHTa#^EUc|5mtQNn3J8Jy3Tgr1+xMD! z)(AWk9UTqi2mA>rDil*((_~bNsM_MTLwDm8c^dR8LI|g)KLH*c9d+q^e-GX7opd&+ z_cuX7St+<k?2_q%EU4gFZnwls47`)3)7I9ez+IY~<B0KwfW<&=#^Waw`d6#jziNBv zqayIf!NGx8Kf7o2`8RY68=IN0<~LFOmDJR7>k&8FX=!PJEw8Te+G8mxDOFisFp%le zbb~-$aP>(^Ngf+h)rIOMxb~3^3ZOp07lVO8$HnF5;h}aE25Ad333>&r0A&hSFW?r4 z@p7}?+xYlV*QOca1DKgtfBj+y+so_l2m9U)0)l9eTEOu@;V?qbAYl0d2MuQ@CMIAl z85C2ogHX7TsUp(^J-ERT+S%DHwN_MAfMfz?m`;j~#7_UsY#C7)4;7T1yryR2>(?TH zNkGW}MuCIFb1gyj_4SY^_wL;zBZ@4|Q!V)PX>I3scYR$Qs{LuyT`5qrGvI-3XX-M7 zIy*Z#xVb^Ae{5`QY-qUn!M~;iE<Zni1wa+VIHIukyF~)z5OJml4;~z)LEJ(j4h|~Q zMg`NL;|8_N*_D;xBg0xka)E%(lSD-dcel7126XlPeROoz$B#iY!7xNa!#l?OmwPKi z5X!%Q{|*Za3mSWFWJHS_R15k;%nt|A4EL3T1J9#JIP-d(iJwYJ*qE5KAa&odgXl$c z;C<ccU7}YHOD%>cuC2{~|GwoB)k7hO5gywa3O+|^#0sj$q`FAC3g|t59xF$ml|qTc zUT}5HA^hEk54RZ@K7yVAQLj_ysw68LR(cLX@-{hnVSau<U?6<>&78uxIAT*%Q+xYu z1TXdFd!>M#pjS-w-2XegK3REl{$OH4>(Qe}*RH)DEz#$K7u_Iucu<J<7#K(h3BTt( zO%e<Z4|jBSR*;d=Dm6m6!4MqbF+4nsU?`9eXUB*_-5?1Z9Ju^wdU|>QYfLy3N3i{y z5Owq>CT<UZM)Fm{xjKR83`z`9F)e};qy=a|Vq#+KS)6`I55P*oSlp`r?gaob4Dkv- zB(~Pu*9Q{O13u1wQrPQ_^;A`9Rn=pdEW663KYsvbOLS`w;7!9rW0I1rUcNkAXpb~Z zS(73lBKp0taRD$dB-CK&_2USv^=zY0+PimK5K@DKgP>kOJ41fK6iw9L6`&IKX+R|) zAeeX>M9Iud{%`Los2)EQtiX#)JS2Mbe}_PEX1_4r=1i;u&B4Z20&&V|!jLgGreSTp z?s2#Q<HV`2#NYbUn{-b$E;~2Z*`}HM8KQzXCuhy8-<UUoXn;fy*C$=hPn`JqYaN#Q z<lj^-7)wLs2L%PC&8~NKF)1k-y18iz2~jyat4$OVVwPuQlvY#}S5%}XCCMr)Q%slL zO)oDm%FTVi&)-;979JGjvHOP=geiG>7~M5e!7B+q_dY2Jauuk<;l_;{ii-Vn2|mM9 zQ+1X@xg8xHps6{scPuR|p2165*?n($;D-k}$5*pntvc7z%F4rZ4?9OkL^*eW3u0ES z@81mWa*yBqkzZ8QJ3Wm!{3#%y!|$9xO12^+E7r7?mYF%&9(mVx2AhSM`EnsrID(SD zt*Pm?Gb55D+f}KX?LZGrLU}j0<AUdfkXg+wEf9BPgC7F|B*ewPFZHK^5hoj*>!`Au z^NWsF(bODISES8V&W9BOy$T{JnbQ>W##c}Ti0ZmAF;i9c#^)#d*lX4LV6WcA#AH(n zVc{WzOyuC;D9+1!?D}J*&jyW)3!CWRQ<lHy`H2?^$xX1suu3h|caYruCHRpblbGpl zb&igzOG?ty(S4tsJZ%ZO*`g{1Nt0h#2qqrrfwKVIN+_Zg38>O`HAJ@!@Nv>~%A;AY zQ8E3SrW(AopFA;ul!DC0?g8I$3WB0YyApD7a&pqerc&^Fs({-U#}#E()}n-j1bmO> zy#1{?G5B$ekWNcWB{bZzCzQiz0#xQ!R;f|=Ma9K+My;VqJhquB=)Ou<j~omV{;xas z%z?IS1IOtoSj530Apnn0Wo5at`)g|Wu&}}a@gui7FvPZYcge}fz>4AK5a8lQY;A32 zX3_@QPP8>Q&(F=xZEpGi2f#ZJ5)*S)T+Rr1pFO^F=k?X0dXFYQ6u?We#H9#PK#!Tv zhAnZdl7@z(4Dz>)(+JZ8($Wt5C~u;ntpZ|P?2qbOv|lrLc-66&l!k{#U0+`xAWT%0 zmWOAwrNw`4Qq~dXup%{e2GHBs$Ost)g>1N}sE9Q{wAyjyRu&(HA<zP~kf*e~Jf#eS zva)hhQxhoemTiZz9iO#nH=Ul<Q{gR370vf+$;4Koma*KLn3j<-U1c9Sl{K+4-l$Zl z5DezZ=jWGYsahz85zFz?((<Z`Kb4nn6#jF%y6~7TG0`J#^>|D1gWD`yxBbj$UCC)p z<;(oMyyf-v|3lVWhgH>eVZR#$6)6QIq!gr-Qjipo29bIMq!ds(M3j<7q(nhPx<l9q z64G7LDQvnyLb^N7Sa`kP`L1*L<Gr3&W$(4-9OJ(4-&%9685$n0EGL(+zg?xEu6|EM zqyi`kY7BA~NG9Z+k6KZ0p`S~OiyfU-_7}O7pFJyeDXqx@C=H|;v|FEw2aEAFd5k(b z%dTrWL&L*Qb#+s|eH$--8xkLnykMv5FL2$txVSibd;8%+D{u|c%a;>+Lm&V5pPv-) zB<ms(=2@l7eyuk?5SiPi5ZEY-Qp`Y+wVs9sx#BxlMZlb)B@<)gh9+Y%NarB9U%rqS z7)%}<I5n`h+yp)Rk(pU&IautF&A7mx*)lYQ>9s>HJ0v_N^RTW)-g8EI<9rPHc0pVm z9q1462R;R7SK&D%`~iYN$R{EoNSQRE0$JXj|DBwzS4FqJhWFjm6AQ`;WCM`ww;7$S zt?d?k>P;plApMUqsq}Xv*>9H_wvbJJ{rXB&^cluRa{wZH7)OVZ(Y@{MAcItTl-EQ$ zVqG|Oh0?0PBH3Db%p%B7?5yxx8d_S}AUb4Ytf6ON>y}nlY-A51C|W=B4G6f+&TiS4 zsRf<*^yyRH<{d)dL*!mlr6{P$cw`uskNsq=cbalM$;HORzyn2HUER4(`qh;cNJ}!Y zxF}|9<fhlrHJO(INlph_>EFLEw1#s*K<xjaBRd=brkR?O0;%kDHiX9bIy?K(VI2z^ zsuP^0ue<wQ{qw(=${TEKTH4y?Km^9dK8@2<f`hA7CntxiU%!&^S*V#=S#56!%}z~m zJ7nQ3urKM?;!Jv7aEKFj2sC)}7^UxaM(VHbyw<@az<gc38oEB+82<GuyKeF4LJDh0 zauv=+5TQO?y>04jr1nZcS6W&cV(+RR48na#DjXcknDob0?ggt!N;?XV9^EAIhpJSL z7yZ^FA!aw-KnTVKgYoB&VIdp(-Me?iB_-f7K0+4{t0yy4mE)&YSA&EuqT0?@9PO2y z#*s^BB**xKeg2%|v~6x@w+(@$>nJnL)6)}lODXd14CI>pin|gJJ_E=(lA68P2+rr3 z_kQOw=_oEM)2nieWu`dFBBbW~8XCI2yW85@O6o6lz`^_eX_<X*U*AIoh3KfLmZm1; zD*Ns(qr8OVl`E5weqJ<OOd_fkb$t7FX{jwKIeTk+JFx>B_4w?ft=qer;iU8bE|$Py zz=Q|ViA2rz6B7`$b#w%N{76P-nBm+Ge+9s_4MxvfGL-eS4622LogMt#^mWZ@l$g7l zyu3dI;gS+Tx}ep+e-p>G#SlD1qtV~LBd?JHZ3B1N+jH!5mDt`}pZ4)dJAd9n^@0Jv zkIy1>oWjG0Di^Rk*v>A}iv8NNQdI+#fPNhY3i5n#{qn_;k^Ix5(%jtN?Z^+3T4yO_ zTZe|CnCn>1KP`S`0MZG*1z9M+bk<!p`WTLqoSr`W`}d))t_M{GKG!)oXzA%sA)N>c zmOuu$(fok)+qZAn*hdc^{zQA_M3=l_GH#2|(ANF{)Ak7KY}$x!4kw{ST@MWP^<T}j zg#P*S2ZXo#1>Pm^=N1+~rA~Wm22Q&493TgusQJ(1;B+m#0|taMju&;UMV8ZeYlI(j zLT3N@^X?_@B!H7T^R*`&y2aeLZhcQk@CXRNSN9oL)6;`s7ZXg|bl54jYHqRU<YdZs zF(o6T3^GVT!Eu>h_s$f-b*6i}P{af}L@49)XZ?kLwqN&~**1f<Le}pP;bvOHflKFR zX8tZN_LyDO(;J_ff>~g_Mz_(5)Hnc$v^4GyP60?6zkdD7%w*@{;?jP)DGT9AHg>7# z?WQq1`S9qd;_6j*LkwCK9d_c1Y&R{S>S(x1NKg)NdpcFGpzWQW{x&5kiJl_-V3f<u z+2(wNfQ^K+@boQyR0P$T7K>r5RI{?OG}*&~VF+7VTLI<|4-Y{CfZFHtAG*38{{xBn zBAnOe=H?)Tsl97>x1dq0s~<qjd;cEi+OwT903tjb32-JSr&0*u-;Jy2o12>SPtwnU zj6Kr1w6U>q3GdVNT$<wjp=VYCGM}#X_H23^v|?4aovq&?I6qp57KaJBt&#aTER2(t z^)e}Ga?dR&FR(uNTsTNu?RWAMuZkg2Y7@pM{LIa*nS2FyK};_Ss_g!2V4%3P)Cood zzUyN2aiusz@W)S|zNMr9oJCY6JXcZ(Zz;@Ivl=yTe*feg>WD<(h#FP>7tAP#R+#+q z<?D=$U`Cxy_Lbr|*an?(B0yu|oKL5wr<2De#>U2w7m|gB+CKHB($5_@cYz2=@xOlu z`-F?QpSV1I8Vl?LLi5X?)XZ^am4t$#v$ge&o!w~p+fArBaJRpATGzut*VdXtSSl+k zA>|`WItwhqlam?6#KeZws?rMzM1+M;d(yJJ@#iwq+1z&TkzM+hza{FwwOd{7@v%+9 z$fzW{YIuBHPiueTZ_nK7xWl7ZA+5)622<o2#I&>W@&crs7&t}WEMS`JT!g(P*x1>f zcQXAS0odGEm6x}lZ8ICM(3Wj%Yz&HTkK<rwV9?dnlwlBw<QA9H(RnQOXV|{6$Xe&k z>q|nyVqDMI!4U>Vj#5kZKYjf8)dOX5YKC2{at?*6PIq#4K0ZR883uQuBO}A~_c!hl zz-%cgDS^w-(a~)^3pntb&aOI1+Ld@z+t45*BjYn0?z%bKPVat{2w}OYiW{Jml=;!; zkdVW})hepO`K~xI_Z5)8&Q2~)&Xu{j-I-PjjQ>e}Lxb`1(AB3;3B``ZZ=Qz$ecr2P zZGHVYcSPvz-k8|sJCu*q)%zwazJLEo&hh2wU`PJxQ^3@igHe;thv)IHE+i0PVY#`V zPJ3B*b_CYxbEhelxbL>cS00}nXF@ZnRtXEpG4k-tmOW8;M9=_#uS~C@eypb`;8xxh zE9|d#`n|61^qPqFWv?2Q3-8U%%#L=S94FIjXi)cM_lqC15P(jf7ek?ZCCWHHd`Is2 z4hX;xGjl^vPe_)<_Rh}pTulg~CMG7OoWJfvi(6S)X=zbeaS7WkVDj_xYilJO92|z8 zy}bzIq^_=hbaZs-(xu$oTml`3iy#g-*vJj}<)MO?FJH0?bua(zq3G-5BxO-5cHSNG zCEm8PdrNj{W@9EpuPXJ&GNgYUZS500eBs?$#qDVR-pb0xmC=l!xq~8m*YNSD%gZgS z$JDCa^#CsmaPenXhGtZCgh%q4eB2HzT^pmL$A8s7bvmtFIX*0{I^`^XHTmaHv!n=_ zh}(#=nys;&-HzBPMz_)>D<i|AF;LQLoGJLEVNw?Y*{em3rNdpj-rhmz`|+diSg1N= zxv<Cd^>K3P-tO+C^mHv<-I$P&JQ#K-uDQQ|_ko!F{4O>;`3N?IZfa@iw%@}Ejfv4! zQR({IlSWnIEw8J4v@!}BTNoA=rpdmuIoC;`<8+aPghX6iJo{P2m*8OWSfiVq&j?O8 zzBP8PMttceAvn*-%*S)LJG<&sk8zbt_oB7gTj#%Df+8a)fsPtKQ3up%y&N`nJ+wDa zB*Z)06mTEI<{(|qG~MuNW_nuvKW&n$Gs=l7&tHW2hD@eeXJ@-Ja8+sQ=|u+xg-1s_ zLnjp$8sn3<(N0A{O_#dtFO|Q|YY3!$@$#jqX>pj;!Qo76KV~&fj9!U(7Z*47zsHZK zW@aM!tu-tyQHw;C7f?44`lG>_G*caS+*_OcY1E3mfixhXx3~9ig|3;|UpRe`AqXHU zMS4q(H8nT*_;vuoc&j$TICNrSW0#kfZr#3Z=C)3s2-!zTsiUdsAF*Dk3!@uKkq=Rk zrA#byP<Zd%Xko!ce-sJIV{UeAQD<m8OM4^H#-h)3XM3CYM6*Jh7GSOH$-TXwEXr~9 z4XL`tmzA!+H#RifTwgyqc9>oZAy~JUZ!XzgQGZ%axxQny$eo><oqcR)mhZTZO>n+v z<jCj1NL3Zlp{S@^UR)8};+hH;g6C0d0s2cgC=bTZ&3`;RP|C{6;^N55Pe64UT?9g) z4s50y>H{d!Qc}1l=(ZqzLNrD01x>GmfDCGCX_b_eJgsoD1BU0VLU#09SX|_{98h`o zO!V!BVU*sf?7y1^?QL!7%|S>zl!aT_(1FqSEXaB2^>z-n#qx~(-8LV{=pF@SSGlYw z?N2u<lQPR4?=CMduYz)z%$ZO}KjpU`o1L7DylVvJk2>%5cQwt{j&QMgQhD6%Aiu0+ zpYKUOX;u~s7;uGC!8IZiCN@D6KZ}ltJKKv~>BC7)hIhAH-A~M7g`Z4C7x{fqqF2&J zRre#_mQxiILqkCkezxyGBV;p1vpH&@%2~ixOG_Fms^$otHt-W(etv|9&QUuy1kqQS z^`s^wTzC5VA9(MR>}Tr#{df1yo#ys-qd#mi&!0a>UPMn!U-<K9OIw?vPqW*20sO+w zjy*qr5rjaHj-<d%+L4hF!;K=wQD^7o@uRk_zmGfO#n#7*I%9?Ly=r3a%NM`hEDZ0j zv>MJ#mu>|n`Q;zL9pO1?xc7IMf-}bb^yEiU($A$ONX^cko=<>_yL*x`y`gUF;fL-r zpQaA2Bl`!N$vBcxIpn5m=TJF$HCC#5CY>_H93RZ}^{ab&dTMGABek)y`Iw%32_L^R zUTk%BRk<qfdjt(#P&N=Q2gkR@dTA-CFJHbuY^QWrqJT^h6r}w6^~UyMKZFsgH<;e+ zmiBgJPmda}3rsg}D#Z%b-#jd<<g*ByZw+rB$0#Ys9cA3H9xK<f9xpUAW$*c|wcSp< zpkEOagRT0T%6V7lKl~d6=Qoe`GXSv-j43;Yfm(U*se@d#x0Z!PzAY#UUs|OX`l)yK zyjP@{yZz(Gn_!TYC(Rd#7i3+;Q3B*hSlZz&=2(b#KM_YXJ}s@WySsaMSeSvKwz1Lo z4zXWpX{n{9<<{0#jwbuLuop@#EiJEKzuux06)!Ms{sQUF-Tf5myT{D`2IaMD8tUqJ z`1l!UG~_#O(dw?$N0E>;;27UP2#2(XhldBvG87km6y2Bg^!MO?q}(Igqey7anYq)9 zwXq!WqN=L#;lm^TRa#2Q1Qk|F0+|OMRcUGP$L?!7RcdobTg!Ux_{i(~Ze6@|DZikC z{)A+l`)>E&zkfxX`ApYL?((dvsbN0uy+gfXN2F-U=MgjM#rJ}5W^XbxKPz`!2lkRv z8a>w5(TOfBv^Pe6m>DyofQKDyZ2<$1kG@&9gDinpA0GyfI}x?R$@KQx&2_}`(wB?U zK%MUI?+e>64g561Cl6R&Sa|N@lc*SXf3UG}ZZOXTlATFs-0^0om@3ObJgu-Lvm(i0 z(W;}Srmm}N-S%P$HUCtq;$eRWKTXGfsy6=ddVZhUv)bB(3kvMCv>cS<i9QEwjdpL4 zd)1hlnU%W^e`qXI*XSd^8Y(PE3vx(vB3>lsdYB}AyQ191dbEWx_=NM;t)imw;n8EG z;{$cZ6LsrR^IXUEcW>sf+uLZ4k0fGZh;%fUR8&=~k50XQpip%<&M-2T-swQ*_jq~d z7Z$!W|4B+>U`t<J(oG9lT3YJrQeg-duo~j^;b@5|v>bdrQSBKK5rF`RnZMZS5%O*j z@bsCP86d=zo?BuPRy&W?)e8y=pr=0s1?iPL-tpo&!T`l~#t2R?EVQWcFM_elDF@{j zj?MhBrG%`rv9UB@AZ$)H9?27aUXSs5wfphGRR@Ro`FRUGJSt2)4Ude9f<?*aE=_{- z)3b%iiHUdk_?Y<kaJ_2UqWNzN?r%UM@QDN;ix<%u>F0OM!M8bbOqBGEaabM_n$j!q zK%KTn|CSAmQBo)i4SAen8f<83`9Py@^vjo)J1-hO?)^l)x}N3fX|U{%gF-Ps(bKDP zSRJG0e>o2het4K{HAk(ct7~a!$m_hbgh5Uw?c|7%cVn{d0u>b%At52N<$*+PO-*8P zafB4ZZ)^V`dNEF&!bh5#dmXXDM@Mz84B|S-A{u^vV8M;uU58h%9(?hX9~c@c%)hVv z@R~;QC@562Y>=4i!k4cxj0_A%$>DYm?&;aq^D8HJ?G_B7)stn`U5`h@!iqZMtH`cg zp>rx63nDn)Sy|zNKd`hu<u?1`SG-4G=l<uOi$$Mh)_12p$VbX)(NpU$mzU$S^{T`- z2~asSXKHrec$oYi>x~-*+Y7w_`$g8{#)h=sHTw1|BZK|@4kt%NWx@jFAY&OBx7pYd z$4Mk4Bp}e<BxwdJaLXW2R8!;S;_B?}y&BZWW0E%>WNUBFFd|uBUta*8dG)IIjRjVS zDXgs5S&B5()onUx)~%60;c-16gTD>#RTXnB1NQuixqt5-lYFxvZ+h~{{@iH49y5yx z)OfZ|(YrT+Yv(<f&s>I^d4&9)--GKB5OH1=1D2g9{;s5`SmCs7E+^*)35&7c$oS#I zhd@VLV|>hPY%niWAh48_a{b;u)vc|IfB!~)`63a!v<vX9Chvx~Ex!RA8)?ppOPyCV zo|ax>(9ap<b)kZgz%nz_UMcG4)J*-n_*YcU*$X!^Z?Uk*YH0Mq`3BU(|4zOVVBWu9 zkey8&)VMlYwtKX{iG%GK9i4dE4M}ba*+$v<>C>k&S*=HfFGsJ@(~pmhDfO#^n+MSd zPAx6Pgon$*fkDd9d-_zwW=hJ)$ml?kE9C|Y3k$$AFtgan-gLF+xhgS6DHWAhd(%yV zpDT`MAvBRuJV{A4E-0vQc>R-uQz`nMf~~;n^2!RG$hAT>ERUM%XKX0c?dKg<s%k*Z z<2eSB;0KnLnQ?J+)8`_hqQb(%`}_Lt)-@5Pb`K6B+eAY@3J44L*d=;;dMZZq0ULh} z4-fc2v^e%v>EPf%DMrBNXwODLp;aNA^UkT1r*ga~E)GtNklpv}Y-@-vklF!sC<ng< z(g=QuiBZw8k1fQ*I`5@b<ra{V!u#<&F6x{zGKk)0MIbbMeBaa4Mcj@AxVVVrX|K}K zx<c}wn9xTjpI9sn<j&5{!f|Y!5CjJV+`fO`W#dn?kB^Tj@wab$hu>0D$BJ#dn4*pw zK2guj&h`NoTaQ=5FB=)nTsbx1I0I0VHT@5CbRq}NleOOH$Ea$uvl2RQJVq|9uAz~7 zwoMuk#4V`bJruNsJy`hb*V=i;gwsz<@P>=5k)r41Ox=}u(HN+xpkQHcUW+8Q#We6g zbh{f21JmV;=;@=8z4d8i+gX_XrlzJV%1TdERsSwCK^*GgqjucOsVpc^R9C-hcNrCd zjd(11b^dVDc_tQ?Y~7OA&0m<jy}i*+rO1vH?Cfx!@;5W`aJ00vApSJ)GPg(FyUmCE z^mTRyVYL!22Z@~k4`oG1566i(=V)4*n6NBJiLu<gnUa)rcdAH1POhm*j)iG7#o(q# zjegeCGLSY~_$-V#O8*jaB{D+W)wSYm*N~m1!Mw%AMLZmA(!#7O7vBTJYlAOUxzVbZ zPfSd-wY5P{<-TZSz^lH6=DGS;#O2*X9i2nKf0*u82xZl;C6oCMp=d`-?G#j1a|;W} z?UI5Qp$a=%!8WF+dxnR_x`c`6K)y(*BK0jS8Yj$zP~04QTv({;ln56cGIe+Ns*sQ# zU>|4+z#ZhR?>8F&e|DFL=fEf|6@wl%)z&`8pjF}LqgF?Idpl@vclQP~!AC6{Q*CW+ z=<t7g8you@SDl)hn@0)0Neu{4fLiU!&d<vO2_IRXuKbACfOm3mySVJI74%s30+xqX zHS)sfo*N;}SXfwbad9BMJ8Nq>MMWls_M+cAIy%~;`RD%pdGG5R9UYzgK|E1KBm3F$ z&hl_e%R~4LwL6-A$;mICJ)`rNy0$JFqt`t;`Xez>oH-;QARyAvXKcby3?DxL3MIEM zqz#6=tE;OgO&Nm4!0>QcNlAOeooQLFzz-jO=H=bK^)NUr?75*_;nsqBK+MQBuIy>& z-4*FrT$J${U6%a$^QXADn3s=FNLZL&$kq>Ucpv?&%I!yX_UTl800yIW@7}%l@&MI4 ztK)kA{g;GB`*EMgPft$|4h?PZ>@*pWET`al#>&QKW@-xI=WePSb>P2eKR^LV{eLkj zge3%SS~xj5F)%U)(F#LyF}AW=o}64CeFstZfx7y)vN9fF;g@Zc;tg|#)P}F)6BC!C z`K<~Hh-E%q^A;jPwP9a7LZRBG7OhmFAvV_64TgjkAkp5sbt_)f^%fhOxQ;Be{9ae0 zq--FKr;zy`vMCY}anoa)U-k7NU%qtr^e992&5?FD2TOv9eVqD8tI(3F_1@w7=H~RP zVi1AHX-ePH(jeg%egD2t#Wg)O_2JVe3$wQY^+LP5yF8*S!vjT~89z6$f+>mZ$WVIF zv|CcKSpTkr5z`3ho0#z1FKIFaJ3@@P65ra48XO#4?E9fp?q~yvsx6Y|3Ui_gD>E}Q zfK1TGkA@v|a;f$0?XEjZTKDNXa{`6$+_`h(#tnXcerf6Y{mnTZ<KOW}=|0arK0aPq zSs|vouUTf#VX^H8L%^X^XxSJ@o0OCUUvaoXDrR6{pswEgqEV^Rx&Ql*ikP=?mwtW@ zVL1kXSAO(Jx6(y$fgQz7;dl!d^}v5$Ip9FX)D+pODK~c=$`Qokx6k_eIvW=k9NM4h zY02pKGnQlJk@4|jLPAl&0j0&o5GbIJKg->e$r9$JqoY$+?u2fHBlxBeuJPnaveH&7 z4i3)Jl1~&{T52jeEiLVp;GDOcJ6Tx<il^t)Dk==`k1b=;1Hw6<O1xeYKs_Qtu0Y?# z^du3{-S=ypj@-;gXA=?-I665^y(*UUCGz(5Wn6uIBUlc3TbtWaaehAU(9KNKwun1n zVPWFp;sj&dE}+7=_~eipZEbD2UysIX7nrLnDt>~J{_x=vOfR9qTBpNw!>1zaLh9M5 z|E&cW=e(WqyZdg&j~|lJAJp%^?MA2hDnfjVi>tI-)WF!F^kooDyNm`4t#T7lunb6A z`1?0ECuePE2O4VwW`2wj)8Fq~|9s}p9}qk*KD@=(wze){Wo~Ywj1*TdUzU@X-{1O6 zN*?e{h4rKEK^kDn>&;okg*%nhe3pA_p0t54?(*?9JkN!Q2LuASHh*huAh&j5L57o4 zc6ewkS*fvH)OEquL9D>`??FdLTvF0=7*vcuO8-CP=qSzC^3jm3?k=0Dj+<Io^mKQ( zoc;X#`BQ@Sf>(`xAgwS=%mtkkH{XvR+q%CgczJnIm9K35?IAsT$gRA*oU(jNSvC3? za0>#CX8zzRHNY6?dH^{`?c^(<&iH#48c<tOQolY?JAmO9S&K!4JnkAj#<hE7{CilT zqmv6FN<>OZL+I`Pqoa$Vp}U|5AB8ATZTLQk=TMY?qI;5PXlQ%}hO6&G80^c|8y_Es z5WWrbmJkR>$-N88QfL{OoxKVNtYTtd1>ZMZXypv8`lmUBs@zse>V0f1ZLl2gy?aJ$ z-F53b%Q~Phph?iPCB?;{FFH+zuPrT?{7G5j#M~h=xczAge!DqqXKyb9zwG@q>-+cF znVDD~S(omcSKQn>Vio&`6<%66k9V!bJYwe3Wi_&}FtN7oY@2pR>64s|?&M-m(#Ys& z<0oogq2D>kqexU#?XklA_wL!Xd}TvV>vK~+QdSOn_pTNq`<vIVKkrigEQL0W<S{{B zwj}r(^ZWN5W@h9zprF_`z&n)i9vmP60YPnT?Pp@GeMQ5&f<i(EaE@Hh%8?ruU{~p4 zryDb^U%rr#_+vmShld0BZc4bgxF8pMzkK;mLnDsIglItkm2>u_{gyh=1b|>PzxBcy zP4Ku2k6&j9Hhu9TIU~b)rsb-*xUt~Ko7J(3#Kc4pkjtc`lCj>jOCu#bJUpAtAuJ!W z6`Boy0;4{Dj4Y2xkq@CPKj0oMc>|388r)HeK~+nO$}VQSx4)l)l$4Q)35xMQj21Aj z2X3ha3dR26D&#Iz-)*b0aw^}t`o=~cWm<JLHL2^DVS*9@ldjSb?Lx(sIjr7wGZPgR zWeApI4&h*DkJ#B72)+FT3KV&7wYmAv8bh&X&z@OWSfG<psC;ZB)a5rO4JV<UoSkWD zXtJJFEUd0pxgOeMY);ZLG88m4>}%fP0+XZjazN6r;^FxZ3~1iWc%rVJo{=FeD7e43 zcO8$L=G?h+Y0B~T4i5eO{lxhAUL3qA)PwrF{QM}C#`?CI>h|`w08OCx0vhTt`)L`U zprGKrd!gwFP~^Fvp1_~_zJH%URQqzx(dEDYx*@^^XL6pcWU@WjGE*xUdG*T1rlh0< zlwhRHL0L&DD?gvij$ueaUf!UvCj<-C7G$(y4F<Mal_s6r;)wUXp+V-}y#i$Et(chJ zlP45*G49Rn?I3;Sj_XtTW<AgY{Km${ke>ZNew4ae4LuEBGB#HE^CyYA&!lGVb7@7z z_IJ4W8kw5n*DnubW*BYF{{}AZ?(T+!OH3~+MSB5NeGQ4GU8u#E0oRZn^^97>K;c8f z!djY}69YH7KuheQKV)R!t6&IkfTBXQNl3W<-eeYe9AkfD29(NicZK#lLEW9V8-Jk6 z=!ESp;iDQF8dk^iI@yXW`ZC|HO^82y*aA_>(9m#edmFeQNC=X}AhPUzkHhe8<b&&A zek^zHtV5uHR0kq}mOTEMl9HmHp#j(jNZ|M3LsH--2V`4lpz7)e81aEV$V1@nPIDc! zYFLhrjxhZ#t*sW%pV$6jEJ<&7Lk4_i2BdBYv(#8${|%H{RW<nY=e3O)1!-w%C~rRJ zz4NF94x~>Q8@vDA1coYybNu*`0E`x6Qwf4k2W?GB*>v-QPA(H08yk2i1pfC_QvbWK z2C*lIyMf!x+#D*EOSf1>QgRv^eo4(5X5DHaC-Ln5ue`SQH6`nFC;}|xg>*9S?7(2P zA%j9(eDI+9ce1RAh=^+AeqdjphMAceEp2R04mU<?Kvzu-0|_BIDhhdP9=8mX7qEw< zgv8SF@|6b4R8LPVclXodLu6A1(fjvlm=Cc~0)&gMZUm?Y0fdFpsvvMMoX^1BIXMFb z7m<>E(MUu`7x!kaBax`~<dLExqy*|KS3LQA{QdnQ-a|$Oru5}&KC9Z|V#t3g(Z?YE zDlFJ2ln=7hhFf<jm*d02_9F6}d1z?p{{DV6pOpmd+~M;VFGxv9BqSv#>)g&?CL_!L z`STJHk&J-Ly9H3Oj3?PZ6rjE`(S{LWTzbzQKh87#oix)Lo~M;J?qKKOU_JQrTV^H! zFbm2F5m_H^5jct7zCKQ!!pyX^w3HMnd3ij$m{kiiGoYrSO4q|uyG0d~NwUDez)zpR z#m8l+y`rNJ7kV>5L{n2!VO&k?2zo%bvcRdqi5X=BDXFLmii(nzq-3qf%8})08XAyj zMT8YcQK*loj4?b=cb{IEp@ttiMZCPcvz_sJnwqRPZg>iH5HAlPJH9nFHeRs1OvJ#% z1XM^)M)qFlqKupztDs<{6vO1YBSy=|B4;rB=T8vi!s22|I|ipn@JV@jd2#WYa4tPH znAhIkD;;h)s03uwunFG*V;xMw=g*gc+et}7pp%ey)dy}OOZ$}|ulV^<3fr?Uu*cx~ z)_qG!DR(=*W_S5xN{S(T5QwCv#YN=($Qc<K-@bi=Kn`ae?4ZycR9bp~yhnbt6uC5F z-g^szHMl_{5iUxf7peR48YR%r^XJds7ZF)^EH5i_c61b=r>6(B+kzo<1>hRYGl51& z=e?qV-neli5ik!U&P_?sP+dJS|2r9I1qdIVcl1s^gxSc@Fh<0Ar&H|I@X%NczU<w* zcQG+Bs>w1naWW`@%LI}aP%gJwSdf0q&HW9UH98vm4S=H3Wgkihf;h>wYvx8q-a;KJ za8MB0o<TT1J#hu;!Pp4=2LFSDpuTo3!hnCGy4oW$Qp?TF?d@AZQXp=qwYxk#c_$|) zpz<&VkkU{dJ6)&l*r@9J3kwSaW`KPb78zk-8X#*L8ss7Us+0t?wchw36~V#5Dzb_1 z8mHsM+~Yz*yo4^E_o{&gfZU5*RPE|o12zQcj)E*379I|am#vxmt|Iyvg`&YnVk-Re z{DOkq!9vzsB>o^>fQtX=>Sm^=`wMj_-*?_w0{HMHqSY?7WrJC?0Aqr_Y~yx$XTCI$ z3oWmxsL0Oy?s->#yBn~Em6a8m^p5tcSIA2|7s#L+kVny!cDD=B9v&#Z0rGqEAb((r zJ*kSf+1P@=ewCt~V__u&B55Bfc{4gXs%kQ6D?r1^!SRX8M_J|n#d&aPyD&YO*rg|G zYTyZs;OR+83>bgPTRc2(;Ge-~YH4Yq^H3;LVmL2>p$Rip=&ejQZ45sH0|QJ+et!PT z@k$Y+7BY;D+X^T*NHz>#vdkxmSnnRIkz$+L_jr?&lW4D_Ab@?y5a5vUk&*sFt#W{Y zq2b|NT0h_SL>+^Ef~<g$!iPdb0D~C>385^FP^ju)xtm`C1BuRi{qE_3v7=fL$d^h~ zxqtsY<o1}@*u%p^)kZ3E691dmuTLy5e-gU5CkFrQ3MuL0;-Vz&A9olDm{dPMIZ4TL z3+#;WyO1@27NI+~XWOYUHk9A<^KBtxQW6;d?f!<y1{mT4YUDAyz@EN7$bxq3Q_?UJ zdU|?=W^>64%gZ1cK>-26?kDBR$&3pEb>02_Y2UxM)YU!K)NHD&^AaMe*5{4@6ail! zEw*_vT51Pvq3qyL<l}Qb@)0K|CmoM5!GZvz+P@8(nL}Q@c+uP2tJ-LQ-q?7}#l>~* zoEHdAQU^9F0Smfw;yUENvo}S*0Hgt+A|fKP?CFs09UFW3{Q2wCljGuIfrSgz>@__- zn=lXR>grIWvaz^Fogc2=W_}d$IVR?#P*W9z1_@9eNlC^#cY*@~@a<x*EX>bCZ2^HG zTQWFpu|^+D;-DsI)`BQdG4DP>UV|<MYxt3vctcDq9-<Ezo!IG7&+sty0;{oC<229R zyHU~6su%VtY;4w{+`%zHHZWQ;FOT*hM683#Z13zm%QFUcv__o6BUnF!nhjO$kUIl3 z!pgy+uBtjYH^;@n0R|#XYf|jw<dpg22mBw0l@Wg-{JlOOLTadu2=hIhP>`{|J!#0R z9D;*Ag<6{km3AyFEum)ESy>;%Ud)9-*DJFpbn-^&bAWABcMNRjqpfwz?2&f>ZftA- zuecwrUsw>RLL{p*P9(t3Pd|_4{gMGBSWR|50fFMGDtfyx>yrPAVli570ZB<yV6HH* zPqK8IRYQ(XZbO$q&nbkl%gf14{29N1(!@XNq(<%hYDklI^?GpKawy-dHH-sNXXbYP zkCc=@(2k%{Z)V%XV{u*Llar^x1tT`467VTFVf-V{z%-#_L#H8#Uil_TXRPqt^74-# zKiYHK-JoP3vq6M`F$AIouzX&7jSjU&NGXhkqK1@aV`F1xX=#gWfaGBE1N+6^!NCEv z2T<JU!6KK5i3xOQ`&?%{B+p;<^#F954vr`m%>wh#&!1HuKD@MWef)QKcM{BBLIM;^ z+j(NX+qZ7DwY34`W$BhA{rK@oi0JN3lE1(FNu?NUK(u^`>G}Biecc&Q`r7QLTwJIL zi<lga58w0hdb+x}&vs1opFxuG^z1CMLLOpFvHbJbm`PF)IJB2bBf^#>BydiEay~-% zgsiu2X{f7n=vC^<%KC;xACq(HIs(_RD952QGDt7tASy2Dnf4zl2X9A|V}ZK8y&X;x zd|O^Y;W1DI?Ogb1rK^sD!fhd;q1sw(JMuNsii(P)q$FYcB>^by1@>`@D_0CmOk{78 zz%i(rBz}Sb$HKw_2|FSp0_rL`(2FGU(d_iJWGpsnO%f@fje!#=AOI}n-Q4*2CWeN7 z0Rdpgt)gy6tc;9|w{N$`h`gAn8W|aZ+<9=c|0Y%B!CPR`-@kt|F);;DaLL4a^WD0A zyS=SV)b)UjmbSgQ-3^6eZtU3ALA}B*6oXR%bpa2+Cue76XE&@Dy5v=}G*)p4Eevjl z_VSnnzJ^#=`F4|e;kwwL)z$2TgoNzu@u8s)Likp!tgItd?(Q=!p%`N^%IdXG7!0Pe zQWOJLgq*-n0Taj*aH1k26`!d2$3TyuG11c>r6A91Y7T&nA&F85pE67E&1|M_$z1^f zO1sbWQ`6IoB>u<8$K>SXmXGZ&;^9GZz{SDY+uJj>uqevUPf+@Wta=1-fb*=Yt!*;A z3$*zPNfY`aG_SQW{m4dPGy)Uz^Ybe!Zu=WX<fHeIrys0fbOwJK)%g&j^E~uGLaaxM zA@Jj4#NA96FzN6EsT>><OeE};fG)^NYd9BJ3xpSMA)?0sw@w>>{Nv)rpsMEDqh+sO zMjpWO#rBX~cXV<}>Oi3=IqycgOxEJQcrgtY%45=@TWTvWA%ShjTDrKf0NEe_jO^n_ z<Ryf(CVwogtPrmc3u9(w^#i@R2Ln%xhZvVu?sMD)b}?Sp16w!>=>N`m<n_DP>}aAQ zMO{n5V(WZ~ft3eFM=M^>JluKtf{w_*zyNTGoqTv~%ni;4${u1aOfUc|<~M4Bo!cH8 z6;^WtG-4VQ5h@r&NI^*n3FhDk;a|Qy2Sq<VutTojXjRM62)w$^%$%B=8{E9A;jlVJ zOGfrJKECrq9fvRZ)vGh}^XSY>8d6f87Yzg$n+WO0k3))z9HgXvRXFbgWT`Y_dE_Ar zN%5hFh5@YME4R0{j*gE9D`Ty@l4XNz?d%}6Av?K2zY29U!SB6<$pCEg^z?-Jx#9## zx%}<smyi&kP8AcXhrlYpLjF?U(ddZ#Z(+`Pp>2_s5iq8=pJZh|EhD$1Veanh<FlEP zf-0O4h&l12fr9r0u$no0Xr?pbPI5}h`)>$^OwZ3lbI!vgB@kiDyo7H9Su~!VBvk{G zzjNn~i;D|0Gcz<Ydb%qjCT0X?;Ys$hAIZsYCaSRtBXide69TbO$gA1)|NFlP^3L_^ z37MH6E0jl%WgH!g;n)fb?O(p+%y9oncjZbj<V!lbjvFG8mIOhK$cm6iUu6}4Kfjwy zOrY`0<KO}0L)82)buBF|VKnzQ=ip0`U2!n}5!d{s7FJedKq3l}#NOuDqZDv31R)f# zBsO-m&}w*UYD&{pLh{X<%{UQfU0vOXx4KxA%#xCIFiKA=U8w9n$A<(5`+xW#<bL8} zY6{9^>skLCA0HpUgyZ(@Xe1&LZQkYQkLNK7jE^4&;Z`-l@*uQnX{SPEPA&E%$=xJj z`L~Qdjzgy~2IhgA`}2eAIZjxD+}slr6Wm5EUxBkBL6~}khxZQ+3GwoNWg^;yfw6h> z26;XiCR)WL5noWSq^0E{2geU!xU%BnoL}^preTtv=W04QIGnAI=nSG4OH#r?>3HUn zqPPPJ3;DRXvO(8cT3QbF_tP^nl9hg$E-x=b$-vM_F$9Y=jDSu+J|iP12jNSGV@S@; zwOJV{f$RbO2w8~6TjCBkcd`2^MD~4{FxAGya5NeX%D{H(7JN{xVb!X+l~u*7$#>b= zt7z3^d&tHnopcC`C!+K(fUtScMLr_BcyVoQjgrUsqpz>8m)E%ru}@T<Y0B{+OW=ga zGuO>un4oSRfDn9PQUF6#juG$_!cX{Sx7Y{cFkWnP&hE3p{@!}>hYu}#>(i?vC3T&h zK|(|opXE{%qxsI3O{l6at&0<glsoUPEDh#iVPS!vtgWw$Lr%0u-j?lWGm8WnHnux3 z#-BeUFB|2vx(0pmAW=o*hxRtG%D>w+;9wk}m61_V-~?aQiJIJw_Hw}hgM(G2q;Q}J zz!F(xWgCH7SXk2XOgcB#*Ata~rD*HuKpfGZqDS%8*u=Y>tG+Mb0-BDj1Ic)jk)A$U z;T$e<X0?lpI=Z?vSFhsQksZPSN5FC5e|q!z>(`GTK9s(mX#uf^Nl!+WgZ=u2Y+2*u zV{T@4kDnjrFojt$3dfENm5)5HaM8t8TMgXD$w?@~rCjk14t7mjo8@BPkN&Ku)FMv2 z5W`jV^xXe6T_GkWMsDtDp_bP-Him|VK*%D!XK5%YDQQHUF!l9JTwKI<<Oj9Sb7y8| zfM(!)GrQk6-xLxS78VjxNke(mBLXFPyqnKTM8hTC+uvUVbpYiF)s<V5Qz`y`FHZ&> zajKbowK`VO+SK%b_74T}B~49DZEeVwz39BIexNwy*@~>E8EI)3LXLep$H(3KGPN25 zX%E*X0Rd1s1OvBmQPb6hXz_SaS1^NCnDI}a;Cp3heZvCj#oRXjG(&Mq2aqRrV9%RE z*OOiHE>PlKSXxqps5(7;8(cctw_4Kg!w2NLLy~lWpA<u*=stbr|M!+O95J90S`w>z zY2eQbeN+UEWx#<p=)yll-`v<3$PE0Ro-SxJ^}eWxAERnX>{|!8kdc^(W%pT+8_FIa zD>apwhR9b4pHU_HSk(O_GbIJ5-A(M?%Mk&7{v!BG2Z!CypD%+$ox4DkUsRObfs1;K zyfE<Kot5f1Iz3&h&=R2+Gc&emD<<HV`scZTTfplunx#EGJ<)ewfJO=|T(2^Qk;;W$ zwXvzJtVHK=zx(=CO-m~>IQR<hAz{xz?u*fpk!xpL4PCx=?R#b>!LkC10C_xM9=A~X z_=&M`D)cw}j)6g9L<A+Y!0i87dkWM7MKX#M$>1QsbneJ#$^U`EPVG^DMzCK>5)zUt zS8O0F*x7A2G{|85H9bCm{#;h(41{EB%S%B)0U3jv3z@;EFoUNImoGwF7Ubq4&u|^m z?*FH){XHwo4T$YNU62sI{^xKmy^g4R0dhBA4&-0~@A7bS>zkQHhK8zZXz-bI&;S6Y zR93n{k_QijOn~X_l}4_J5+!`a_Gkbh*;yHN-kep0^aQcsjiWHVy1V-+$a)84hOK#3 zWo2cIjp-^RluMT`@ff!i+bxp2ylYk6+S+n*c0P+NO<apBD}7yE*F%~iLcM7CC{F7u zURqY>usn2?gk<W^AKTfsNY!K+X!Y+fy={0Q3aC9c)3tLR#`-!K2Rl1EU;`XnTxi)G zBV=(55sg6C$OsKN`FT6CH0TCFLBY&>F7F<ysH_bYSa5J4cl;(}h}EGlz23b`7+mGQ zckdpk8DUUk6>_<V9CaBfk82)Qs$$*$mJ6$?eT|K+c)Mwgv6)ZG$w8j@2h*XrdR00W zmpck+JoG#?nCb;8ynmRt*q?p4x0ldStD?zX2yg@g@cQ*@e}8}UbWU9Q<22;WrU%=L zAYu*E>k!q^q*xvV#AR-B1gN@{v@~i;%9|`Ks{^@=qN2~#)vwYisvw*GLEbmKyAQbz zPz`ij`pJ|2QoBW%6Yzg<z>BZmyg^pQUAO?^0nL*HIUH0FfN6DhHZ>uE8|)M&)TBE_ zzOb+mL}D0%v9mLB4bVWlZ4GMg7Axx#aM;1t-^9ekv9U2^Wpj8q1qq1+Eg?$AtKvV@ zM`+P&5=u%P4WFnfIJCb;MG2X8--Kbo^{r!KVG(m&(+9AF&f$Gl;ly;~#uaL63v=@i zLai4C1q6OIHin0Vaq1Rdwj-A*1Hpw;p<vg1aFYZu7zk={e`5w&AOQmeQu*P-hk@<K zJSaCD=pY$jtoGK{#i{xLkVpW<u8!SLkRD}aWx>6gn&i$5WS&V_*m-%V0BqK7H4#g3 zesR%#e*^xI+V1m}15g#<eNh-lIQRAG#^k^{Q*iIGe6t=fYzYa8iK>}k08;;efZ?A; z`274!G*~gXCk^M;ETGc5{$2e8D+d84r=VzTu)_f5EiEteTaOX!K0^gH&dtt>zTLoq z?;^Q;Sx!l5WohXb@?;OL9gR%L*RSOct8u`ok&%%B0SeaETnkc}z7SuAhORBJR(m4P z-&I`~5pmsJ8HHx^=}D>tjc)Ad;Dl6i^CnI}eNv#Lo`!}-k@dLS-dZAv2FUfDOWt># zcPx2$@*bxtC3f6>4Gs!1)Ar39uwlvtc2g-?S?l3K!l+}@0Exs0{<s5_M>FU3HKBEZ zrwIrMpjhQ@ehCU9#{9eY+1Cdkg{-n1?pFoYfLuq2hvzADNuQe%lDdu#kZKMDT#S~C zlC(4vE9*Sug7x)vbY6mik&(KpsyK59P&5dYN}~ZOWED;JFuV9cY;FX6_WWyllEAJf z^U?Hg|2^vmX%^;LBTE+|oom7WwI~bJFt2*@74pQXyu3K=pCU~ioyVsy#a#BFcz7X* zf{j^OS|Xc6HBKiEuI~O@O2(m`-_+5u0<?;rMm>1ZHF2SuIQVScH!*S0ofi#`pyUDq z55j95u2N7?Q&Axo{5Uv}?d_qVV$;*jAnsdPaXdP~)#KsiU0PadYj2l^Z~xqEXl1ob z!S(EGczE9WQhR)<{c==A#W8e?ztmKW;2StyE3!*7pfFGrFHKDcat!LA#$Y;BfxY-9 zDldDiDkv)h!3a67B_t=maCH?S^7Rs0D1))mfXEKIJl8?1gig-VEqVRFwN};qYmP_A z6TByf)&PL`^z`(>a!aeLkjdY;yNfLdG+7ShBxYu2W@jrudln~mGbylcsJNsA0G?jN ziHwd8xpm;UK2>#cfN#f&GClW_5NnSdT38g@Q~%}5z`98iQc~F<I%vMp3b$h?2nI?@ zN)~;Y;vj6X5CcK7ypfxB8)bmOQBhIay1Fj&T{kdVDp6wYq6OtmKL7o1Ex=$WsBTbW z-j<Ajadm5JK>c(1oBugF?m^qB0%-9i)DU}|Qr+ixc=pl_iqsh5M2G=%9kHM_IM@ad zLD19Oepy*BU6I%RwS%34rnMpUg@Zi_QO@!e!2>Wk@_<kN{=i&33+#R{x`V^RfQZp@ zH#=g5DeP!aC{pAih(7nJAjiU3g|mt*;bc#mGJqs>5gQv@%wt*H3l~g`jb)^y9?;^t z{i>;%oNf$iZf-_<b$Nt_h6V&6`{_wb1KIk4v3v~;Rb?dut1#U;hjJl|dx(WflRl0D z^99R89{Wm5Yi(@>CAkjp8y*}ynES#PqRIlhM>-WXwfo-MBperf^n?F#;Vmw%_`61z z76kl&G>c114-OBl2Y*5%$*HJZwqvjdoshao0-wyz!SP85A618|{0$}RWu;mLf#Q+0 zw70Ks8o=S31=jyPS-3Dc387uz-tqnkWa*nEcy^bsO-xS0%t06%&M`Rm5qEBGj^*-2 z;0sVU=zKy#LNsYE^^F^e2M11CT7#dc`5{6k1)i(Ufv_n+7DIjy8%6|lME9qm{QuI* z$LZBoJxxtYDyru5)cUB3A6j`b5)xA|y>Na$etvS0LDkiJA@Zr17+m_tJAkL)RS=lK z_pSm)!Iyvi`W4y;*)?i$QSuGj+2gl?=Z2GHd>&l494Y>N_D*T9<XI1~|FaTFRZUGQ z7B>e40(9YmFXUM+y~>0R3F^Cd?*e{MaOz$pB$STzW|NbX`!h2$I5hNfteh&K-tFXw z%8p^D=HE?C4UMp`Uoj&i<+gvj;e=~7$g11)v&kmdb2!X#U=|>6*a6xj8*@52K^v)% zU6O|8$;eoQGJ^8}J?UGUZKu9-Cl{m_XcVJmIt$0=e!TqzTJPu2y9?}X3`|V*9UV#% z67QfOqxp&LXzU?UeU6Jeng5;ab%7X&vzk~O##s94(@_WkkguT(AS@9tyVQY^7rfn^ z1<_es11o<6UcKBYcDl8(@g0rUEO)#ERTYZ#dqKfH1RE|#C91GOqP%+c!(-ARMeD0o z?zmn%GII1gSr+(&`yL&N2#3(k<G7{}eZ|7e4A~N#lM}M-Y&Ej+E-j4lFMm=MSx-Ih zy2*{rO%RRuLKoZN+x04()B)`=7&4*^+MAr5Zo4Z_b#!z<b)geH&cQhhP(fO!MHW** zfCe9ym&dzsQn|goZIG)8+=^^X*nzFt8FkNMwj;LHI643#LpW47L-3m8{RQ?%hOd6= z$;kM8`9dPx+xaM?tZcZpHVL^0co_xha_P2+$kT@p7ba@F0s{m8EiH(qKB*;sVsBrF zU^3bizR+X^OTd0f6Z`@Y5m*aGX#16o&EVjmw3JlN;EPN0^36cbNF|rr;@OeUJ~uQ} zQ&(p?TaNj9dqEvzGcbZ&u*YChQd0|!+oNi0B>+Tay@VC2eb8yrRM)Pxw6@lnsWQHT z*bU#q$e27_WUU;<i)TlJvoc=g4%Ptz^TwD8&$PCqBkOD>HqwGH?*dL+=zsux;boj; zBp1GW_ilN(NJmRcJdggVyqp{vIXO8QnF=cz^dkiNkr7>>ci(rpq#i%=3ktx9o|ZeR zo{44nx#4cNp6crA+!u}I<>i5NBGB|u*WN-`uth{fAX|g`w>LLWwvA&wxSg7sYCTrY z#>)DD_I(4SmbSJwm|Bo2X=!QIMgt+Rb;y5k&_O{#dikbT76dF;K&3!{;os<#yf%Ue zhBz7vb_^~E9v{|llAE5ga?rPL--?PH3=Ki^SQ<61_!7}N!I*%dHl7fnv>|B&x124R zc;8T5TwGgQ%d8w{sjrXfe0I{>)s<6P>U6ZX-WtXc;O`F^zx{`9$p-SO$JH_9WlTt% z5%8F<e#}-)G?9-U@9*m~HZ<IVwt<9#ypAZ)>yfHzaB8ZtoSff}9~>~#GlT>Lat|M7 z=~az&b^=8YSy)=aH2(z;PEJl%H8GF@CjmDWbv?)jqS4n!ZfdBqV57R|?uTM$5*AAT zmXeh8`u^P<noU*p3QNB#OfVlGpAe9@ELPOS)YQ+SB4mYOt1N$>aeJxLwz;luOm;RG zbh=-7cz<If3lq}}<amfMOS`W~P#&KDUCPPIRt{(ZXbuYU?MaeJMWf}UrHyLe<H7KO zLZYV=@~y`!|F;+hd%(A%!qvgS;rVlhh3mG7KYkp~#k)gYiSh7|+L1FG>FcYgtKT!I zeg91%{O8~+7Y&=g-AsFjc=Hz?vQ<0j>yQ!FH#S0NbLdqb!6YJE`_Nwa784VbkdOeW zRtdPqj=WlwSux7c)Rgk<27CqB&dZ_v=6{QHfn(V~)5^>5KY8*5u(1AlS!t;X%M?50 z%)Z~hfsPS>P%*)>ytwlaiyV~N6b@<vu=N5loh|Z^)b`ApWD$&+p`jre8QFlf?Y#$_ z{QOT86f$7SkxNW@UD5#IU=;Al4;2(3P(WIG23`bX4F~KW6a-ixL+k5>!C;V!b$9Nl z%E&Z~j=D}aeBxHW*mX&E{61D6HheR>sHh*=Q+xEd)*BxO+q3TM8tKx~$ml37C8eLx zMSaN(jUNzAPR?*FkwRR&#-cw9g5}V_K=oXnWLJNGc2-uLfK3tzHZKWJ_ZKFGsp;v~ zmKGo-Xp}I{r<dkbu(T()4q2*6V0f)6+)v#`OYOisp>L4A=4mffAS=w#=<4bRMAkMq zwzc*3GZPb+uU@SWt7AbPruy>b3l!xFa>Et>G3nK-70$b$3mM7DjJ$_;B9fAxYinyu zOV@v-;sFcr5hBtjg`663?f-wp?!MT*;-^oaN=r*=X=x$g0z*Rm^bZZ)0xwNYCM75L z0q58G@#Ba4(Yma@e!{0ugbVDpe^ytkfcr5RH4q1kR>V_~*-xL^|1^gr4icln&O3bb zc>66aO+j9s_P%4+@87wVm2|#!;<Ve*(2r?JNwtlQPqei!*^%`I(h5UjhPv{Fp*0C% zRs_p^K0QgQ1{Pv(Zw~^7<PCD;w6wG*P^LChzo1M>{@smY#Nki%psFckb%G|<E-(+x z%(N62_e7&v7X%*NfT_Q6;|4FUEp!IpBA;*LG<XY)63kjQJ_RScZgJPIUn$AS=iuXI zt#+VAhx1H`$pe;`mZW0+dV0^cMFH`|h@);p+i_D2kV~`RVAq_jKEKPzcuvMrwIDxV zKv2+XywdgTCNpZM==ID)NP&f7T7L2IVuFGtd3il;ZJEeTO&a6Ie-EI9hC=S;fcY63 z(#H4;4E@k40thfNH1v~VAXC$i0CQ@?RtiW8IXO9jXudL5ao7~hSW{C2%8Vwx6M#JY zh=;ci_)ml_;0<9CLhG>dwFpsHCkcsK5WJwXJ9-vf-QE9g68uC;@$kl<rKO{ZnscE0 zFc4;De_^2Z1W-pKDAc3tfG8a?f?yyJf#}8D!026F4z}c#m6abnxX#H*1kOeRPSxHX z8y*f*HE|tE0vj7UoJ&uJ_WczG1_lshIQ)g{>|T$UogE#);K7Gn54OO?0%aJ2A#A>N zbR=ijyi7~0n5Y8M--hf6`U|<jvoshI8d_j8-2jduDNIiYoS?0zSCyX5#>6D8s7Po> z!@RN3dmD}z&OA=k^&04n7CSpT)b_tuWH4HeS01;7-mb5&=T3aN_xjBn4h|0R3V$hv zvbeu(x2{oBySliTo0~s;_;5l_Z;cTWq2bWb5R511vvO7zmbt}6{AHK?Z5SPhO>iVn ztK4WWVURV>^Yin(_wK1{Xq-K7dQL#$*|RZ#d=Su1JVxHL6`4E8)%ey{7R9LdLPV{O z+Y6!I-qLU1mViKmIWGvr1U_QkTwg!#xC&mGK=R^6&XY^mQNu~|%Y8p|U;s8}+aYDY z6I!5#q}kNo{^{e#_d=Jr<5E*+|Gf%G<$?ju*?P=@@$o7MaLDaN8_foK_ahr1x&^~3 zByO@x<-6qt*6MQuOIW(x=lA&U(ovS4YYtwT^lzPiE6Dx*oBypK2b1PRp1QW3M;60C zU<UQ2X&D<66%smtNkDsXBTHrB2VjMmR_MJD{_V-h$@Q(RwvG<YTeq}JZOvd_7NjP0 zAjKQreJhat709H}irUsQ_ja*2Zk4x0B0<$(dMM%|PfskUA{wH(l@&TVI#F{BE5<(p z-&-O#H#bt)A*-xR7@YQvmX1zHvmrw;D6Cggb2FSntl%4F1_o?9a&qL&GYbpm;2}n> zVKs(gssHKeS-*TK>V9(c`Sa(ov9UxwsD_d8apIomgXFcr6dr`2DG+v#w~U}nK}qi4 zzYh)yA4+hs!Lziiti8Q`e}6w)x8$7=e#pl9`sCbPc6z!vEzT<;Xbpfq3>&5S?#d`s z_{_`<+AAjxhJ3+LjFdD4d^I`n+({?Qc}#39E)EXJ@zK!{e5kLZ&9i67wiw#l*XpLQ zkat#p)OB;KEH6Lm%Kp2&yuG<e4RIJm8QKhZfGXruPkv$H_w;msKfjR*X9{p*X@+1N z9Gvos3e^i(`q#z8=)G#xG&GWkY6T!^EcX2%B_%xs`v(4zFDWVMNmY#Iw??ktEwE3x z13aT~L(%B@F5KSox0^V)xb*iOtD77>umFrdsyI8B!ORB-|Gu2<X{Gvc{ZBI(M`&1B zSW*%L&^*Q_LRC*MzM!BWGjr+W_z=(-m7JKEYx+BBVnQDyP6>v=!p!Uw6l7iJLnvnD zhkaTA^AZ(x4G#~`bmzsbq@*Ok=;ja>C~`1v<bkcAXa0@TWo2dkKXhO)g=Ls=Y<)|^ z&Skb#SEIaYKFg)7x`j(IKvM?>1hir>`MJ5lxxWPzUcSuA$yxhp)H;zjb^~VeBb~^> z`g9}O3$^C%;_8aTNHdl%{TK`kWkYi_WMK_ytDWh|$vb>}KE`6kJy6KM9DpU#>rm=y zYCv0*VVAn7?=zqnuUx+TIV^1Fbf9e0k+uKSePWm31zTAQ$(I%qiHp)?M*d$fHAh); zJZxd(U<noa<}IgsQ$f`)rCmOSJ>AlONulqj5q;j#NknJoy7~>Oe)j&&-_!R4ol92w zA3Y!2wHxhc;^gFHV!CJkL`P>Bu+GTHsLJ(lXQ4L(?6Ri0xOr}8dHCSq0K^B({>^L~ z7Ok%Ylo%BI?9yP~)YMc$-h-~wfuSLii|^;>O}oTXdm%u8zCtMibm9r&t6z&7<PsLv z5f{I~!g9fuVP0%xWaPyXe8_0A4dW$mr^B5e(b2>C-`+J5hW*!NeVdb$`IsyxCx^1c z)v*9wTr5zmO;&Qn{}(BX(!k)Lps?_GnFBFr@YZcFFE237TeogOWIi8@`|hN!z8<-; z3^4?bV;JZPv>^Y@Tt|Plo>zy&4~-w%q4DutoSa$d>3A0oRR!3|sVOPtw4byzH~Y)o zoLb)lph!r#-t{|y4ZBo_An7g?F`QzGT^aO&K>6`xoi9E)d&Hd=4SMd!($<n1spAt9 z3E#dkF*3f;*S|i`{&fZD47f8BjYiSpyput0I$i#Qyr|ae5&wNUYg5yv&d$@BR*Ehy zG^OW*J!lO%uj2+f?ekb)BO?W0G!Tf2R)W{tIyiJj^9OCMM|*nS5D}rZ6*9e);P<MT zd)@);+uO%y>Qyl=KDnBj+VzWH;^XOQXk3mDwxKYQSMUR8B=B?>2L=*B`vXkW|N2Eq zN$C+N`5SzdmzNikSmldGqAsoL^DKr&M!gu!y!i><mz9;5>gwu5M1lGFyvD}HT{dV< zZS5#;Z(LH+$F{cl-@o6Q7wA$30XW#(Ll#KQwne(QxPbNmhkAN?#>R>Of{WsaFHfMv z=J|is*W+HeF#Sq^nVA_MKOiiO9DtaK=^Ju8FB67`RZ})tM_s)aGBEt`+`X$$d#?~g zi<&yRH{;3h@UT}0wz$~b#KbG;#MSXCFQU7nF#FTf(+UqCLYRMGlK2urBS<7<OZX2r zH@CGD0o*7alfa-LWjniqtgM$nFhstRmvMp`cXxKKQBp!k^&q-<d`0u2IH~%RCnhE) zve$-u>z`Ygo5SJ8-+%l1aA*1JSF)>DuXbUX=>b-QTEN-Ee*g^33w&Mqe;9k~sHnO( z{96%a=#-8TkPay+r6m<4qy;1-q(hLDK|quc0|Z1m1ZfnI5)crO?(RlFN}At&e16~e zpLe}$y=Og-iv`TgnZ57(x~|W#&prjUr-z5Tk8Er>mJ=v39Iw875ebwj_xa1Wgg&RN ztc=|DQbD0>`htb_BS;AvA8-8G+H&>uWapj5mmu9qf=EQgZvqN|ESq6w#=x*eM@N^! z^JQ06`Hp^dC_I;G=lqmO_=*_4y1e}C$<beVdHHnS+qZ86we4+gLg`%^vUg|Z<LhW` zwVQ8!2kH)Q1BW5BC*$7@))f>LBjf2WVmKo5@*Mn;Luv_a1_-eQc+#09J=oKOl^DDN zS=UHk-|QN-*bs5~*4CCan5+NsJ|Mz{3m0sJ<7LptJIcbeemhH={QL#B>Zm)HkwM$~ zI~m}E+@8d%CzgZag)-~b<|dD64YD;B94acf{x$4O($ckX-Wx+jv!EgkqNT~E2O!TN z3Ul-G<YZ(r)`7_`mJc81>le)c{I|BYCYPL(VI^z-^-D`z8$#`3XA-dlQUB55Ztj;a zy9lu*O3Y7BpFf&Ay9=WMkqF+EpWn&fjr+5VljGyPBO_b8t7S!@zoSo0l+Uid(}x=K z^>w~Qe(nAH_Yd3SAzS5vG1w0aUb+-ADZv0Dv)|L(i!9LSrQ=Fx!d74=jZoy*FO-1* z0WAP<`e&xmMwnho;^L-PRc`L1yLVremHmaDzbHZEQCL={p{fe11C(?DRHrEmz%o7E zeYT0POZNNH^0KD3wuPmo@Ad*A{lezrbA_3A+<HWeH*CzzoWT)`s3bA|Fmw}@p8V+V zXYC2MDJdV?+J+r$2M-Sq`{$C<6Gb)8hK4vRFh6i6QDY^8FTHL6jX*D91wL&gA`MgE zp;SYYJXcUqv2EG#e;%5NO)1$oGNP-a)6>^i-z;i<^w<Z`)!+XV_al)SrwzS>gF{bG z4@8TGNiGfwyr8<|yBzdHqGKA3Ab9QVH$B&lA3S&fiA_bN1)}~*`BVNKBd{Sz`Mo_o zV3gqz5wguGL{W@40e4<RM2wf(k}vU)2wypW{(LAAgPpzo+|<;$#Eaq3Fkm5&Nq_!S z?lQ2!wk>1=Z3Ov%A1sOW&B2W4=lg)sIN4-dI8+;GYe&3$chQ~0M#A^hn1(Kao|ble zP}F&CNC4gd8(XGJCnlrsOh8QR{YT_5(b4Jqw~G@>g4D~y!y|n-L-{g=?GtPl7Z>0Y zh??zjLQ2ZYHoyiTPR{7MJ~%hfJo|rHT1!g{iy>6P{qbWcJ7oDCm>c3>3h-3ziIRiO z&CMWN?v!Tmi#xl!&@Z*Xy6`@JfP*;L+rzijlcWf7j_&;E>gs~3hHmNak3HC@e-|B% zoruCpE+{zLnx~89#{v1~zkXfa(9nBr_5tUvG$A1&j4uEl04PwkJ`ZJ$kn}CC>_UAW zZtmQSjCrW8FJ^UET`4xmjh<3cuHfJ(xw>v`zVPoV|LQn?2+b75Bwa7SOX4wH<97rd zhL49QgL8iQ_+T4G251~?I=Q6l`E;E>d{yQ+J_AjY_}taQ-Q9k;Se%``dGf6E(<jm; zF%mNm4?-d$9DIB=3v+W&#U?Sb7_FaEQ&YgI&~3pD(;-<|L2Ot-b!e39)OREgU;jEu zCr=PDJzQd)nVAX02XWZg*f@FiZp5=^*kCksbC&z!1gR3~8AQb;CCk1Ka6$G#SE~Jv zC@0br<O)oxiwg_Q%*;S8*Fp86o)n-n!D7b8CoL?3VtE2P*<?@{wEkMx`nXbR8aaT3 zy}iA^2X%F<7LZa%NXYK)ZbRp>Ozlfh&DdDcD_72|S4&)V94jw!TU3W(1n<@=!n=da z7SJiEX8!%kOA`3lcbfj&@m@|&4o2)#Z7s6;vAVh%8qWP_j#}LJXs>-_MB?hzdEi!L zU({{62;pnj3hmwvlsV;fe!TT(yTNuR`D}Lo558Xhvm1Vg?z=1f(l?*xpYh)GJJh*# zD<dW4{D5WvR%nCY$)N{4dv|wta>-p$=4h{(AGqx7Su9GC&q6}#C05GBBqcjPh;PHR zB?rlLvHk|3TpzD=uc_hU=6(c2YGjm<m&cnpxsqsD@~~Z1UA@M6x;{?G`nvs4*Te*o z1Zf7EEbQ^)$4Sz$O-+~TB=8PlERI45zd^Kyr#M<Zzhk6&>((tu1NngQL@P&b*jVR7 z8w~XIjVoNCy6r@+T{ClZJnfV|Q&3R&Am)PQPR~V7Ng4C%6$lh>c{z<j^;d_{5XH2O zv5E^4C^JZN&|g4KFr60@gEN!wW>@?Ct?@tkmYuC^VsZ+MmQ1esEIT_Js#59JMIJ*| z7<GlPyBvMHtBVkrtSu}~dXFUCCBE~su*e%3(NSt@69vm%Wo7+rTFdB8!qq!AR^@+k z2xSFH9L$jn&ZxJm3k@Uk=#kHI&s8L>L=BCOE-oxkQc_}wus+t-o<SRsk&{Db$y%p~ zOxF076cs%=Jr<{58|>|6xpJk(aoo<-lph}YLRU*GKgZ4;+2@WaKDAjZCnrZ$Q?sbD zk}h&J!4<3w!WTC;pfaO7Wsa=3Sro)Bad87VIb>+$S;>H_bN(&A(Kj%VZ4OM9-rD<Z z1T^yN*X?o=5)7J%h)6&{0LlsM>QZ9x072(kR&FjGC1q1v8#q6;QY1YtL6xEYK0iPI zhn>r`p$VgtDk{j5IHfzKicw|EU!5i=Mn~~iIb30K#ppYFddO<3$#-TN@j;r-pAY=} znMYsgPW_ihgQq8dCr8Vi8YJ*i&$q?!8UflmJ6~HuQ(Qr#&A_+*+jka(ARdGO+6E5~ zZ%2Hn0Q_sE|D30%lD?8Gxy#N{4NxXiENNDy78hh_h?qpbS(xaFkWaa!@op>V>%afE z9byN(p@*Fx2_=YjKjr630e>UOcX3-uzSI)92Hv#0)B!fGkdPbnmWD=DTpUf+O(h~Y zv9|X1`^A=FF);&S<m@PHtR;nB<jQ(b%&%V`Lgn`b#>S5R_<`nG8_52>b59inX??UT z>SO3d4dNS&0RZ|P9qL`O98|W&Qj(IAR8+C=-%}5z3F2a7)xl40-(K7QGmD7#+oIA^ zOH0e+KTYg@GmDFeVuPr}Qu)3O=J9&+<jw2Xe8%O@dus;ZN)SW4!ZJJ4l%j-%b-cW$ zW+J*2Xy{fK7Ha5rJD=6Ocu`(n-qfV%UAcj!U}`!EZY7(Qd>1%lU|;~aeK7z2_V#wr zmy<c;Z|<DP_VcXI!oqOfDN*r)Yinzenw_7NKCrX1la-at(nzZD++bYdDYf+~G_|tI zc>TI(b+AB|J)TWme3)C8BS`(cCOKh*l>)N>F!-F};UNJPEiIn(S9N&*8jJXMPE`Sc zA;y}U&oqP*CnhF>Wa?&QWPm`O9c|P?N|l8y#knvyr=z9yIxY@Z0+mr%ROAA2wXBSv ziwlC@Lr!k)#rgS9IXU@;UtTa?I)Xy(8yHYg;l*N@JF~GpFx1x<6nmcdm3wb*kBTzJ z_efE4H9W%mmi7^rxY*Feiw8=)*KR3!+=9W#)hn3tT3wc9B?A~58X7`Lpse7D4U5b{ zY#QOG;F!o6LiNHBs;ag&G+aPN#v6?H#fuj(B*{T{Nu;Hv;kS2J2Lq1w2;C{;8(UhQ zY)stjF{_2z?%6Y|1#DrC7F%Dcsgt#rmv?h=I@?MA=6_S}PJ8y(um0YAp=f1U*`oM( zO?UU1()-b4iq)x{0f9Ge7^mr$XQpX!NlP<zTo*`$*acK5la-8yu7nu@&xJ3Xi}$6G zdzNA_n9WURf=d^`9HN7Rf*K&PDxK74T2m81|6Gb{b{hY7IkX`#QoaQEY@+Ik_Wk>L z>FIByqt8o_R+ts(W6L%%Fnx@R<L1j}Bqf#PO*v;~X*oA#X8ka8*kw!m6e}(+?h==| zQt1EI0)U%4rle`*K+b1QJ9^mhfs>zKx?;HxDii_}xD}hrI>q6e*lWQMT3g%N>K-Q3 zgT=zIn$-9{dH68%)hm)EF`duJ$=^puj{v<P&_VT+RM?MxB@C(qA%99FC%eDD4~htd z2`K|a(FKN{Ny_)`y?ghoy+v*k?4?<^#k7cu%!`ZJUtoA<oH>0_@O6Q$YVYuH3k0@r z!~&NtUJMQoClD1Cg&7YM<>TU_Wnj1yA6)@BG4R<S;O%bb?e(j-#VPPEI(>S*e{k@7 zvNiw+Etc=TxtZBHhR_!eiu6IV;VnUc1L=Jp4y6J)G6;h)zJFhng90#0PFD7cnAlKH zk1Oca*RNlbXS)QU0J!z?0gb>1Bm@N!sCCa?9_Z>aHZ%-FD?9v-Epyr?#eVSc;p;a? zlbCL7tSgd74Otq{J}xb<8@agf8rUCu_?;bBsNTK}9JUHbkR<gEc;d4`+QF<>z0>4~ zww8&9=U+Y(o*MJu9u14zEy4e)B>2{?t6n!ul$B-V<=;g(T*4st428!+go}-G+Ed6^ z9sw8`&B^%&v23{H$-8&+iyaJSJ{B{YM~8>KJ;ip9Y70v`jcbezZr`>fiy)xe#bWQS z-+%5t3nmYRH(PTB3<nyRkB_f*_j*%PlX;Q8k&zJ$lDK$9%c;X{LQr|;=yIn?sX~GG zadE_qH&BNK49NXSf$o4>U}&Cp$l(()N!@T;_ytVaC5wK(wzUl-0uy(R;n_@iMMY6z z;oQOkhDeUe)y)l{ABq72tBiG=s)&dP3X`7ExVxu&yb_hQxa9Mgnb}RHa%=0Oike#Z zSVn%nv0kj&2pt_=IQr+owo)wrS%JjN+?>~e;A6`p0fE8cp@+;UOx-nRRIyz@o}Qi$ zwk$lDkV)t&Rco8iSIaO8TYg(#N_>1b50A%APPbH5g)wLtrMRif(!O3_ZMuE2W$$uO zu*{x05=#5giZqSx8)-7#{C3m2<MZ?f4vN;g2S$2>i(#UIE0-e<T`>Yp`)TQ{o>Sig zqbJqeg}*ytAXHYAm-~A%8{WIu|KY=j!otF_u`vt=OVBDPTg}t643rPLz}NTq<4qr# z<`i#ecR<NnuRk;O!T6w*=;AkT-e_xSVcuvQ|7>nnQd4`>n|TMI2)t72>eY;@swx1r zmF4B`QM1}=A5R5^eHPTryhm~lS8fg$H_PmK4BEkg;nF4DJ9l_fQm7IVw&6d1)4kS~ zmXa?XbWaXHY1h=(yKQf4gNe$?@qwhSkL*qk^|iJd(j`<^RgKx&x+ErMT)nys)yq29 z@sl!hPHwX1%j&ApJ)OS&qa;ULP8-m>=>{QD(dMMcXqvw-aELzG+1Nxz)(muO_H=7% z>F!COzx(XjPvF*MSSaP?<Oqp)u#upMnL<1~-s$RC($cL?l#|Z?{w?}P@$^R1Mrzu5 zfASw49eljJ_qDYlXN99t;HBy5mQZ~VH6hHGmbxn`HTPy|jE;;bH@|%G0_v*s<IT#N z8sw8&*;halAt9G~CTN5n+B|v$KS!<^v$WLF)m6WCi8f-Oug|#9?EIx5TL*{smX-s^ z_CGJM4Q+i8cl+_<2XL}tyZ4WV1{OX(6C<P1zCK~!#`(6`wx2&CMjjs@fByV=I!LJ+ z7fN-0ex8$)liZhg=Tk~bT~}9OM#fc0Ch9{ci<d54TKoN5FVAp(X$gfSdU81Bn?8HU zB8L5v0*YV=Y+PJ+!^Kvh-=98xa<&q8ot>I0_uMdXcHTtRl?Vy~$1YhGGSQ6^I64wx z%MJ}ajHExKByrCD^htzm0h*i0_GQ}a*OirT+<J0&cv6H>=Zs5j{FQ%R>^XPe&26?h z%JfI$&HMr<3Q9@^lDU<BqYD>;V31l{T~V0l&wo|>jp}K+&i_28?RrJJ_SM3|06tZu z)1;%igo&JaU3Z#Kz~SrWYI9rLgPsgQMa4(TK8qdmWhFuh`$iIv`<_1Ss;N1B`m}ds zWCevmp?=}wR=j_=D}|nlsjMXbgyS^!Z$2^AT4|8PVe;Y<&Nk@O@87@4&D~aC&kTw$ zBGNxODJ>{ioSKT!5xIh(8xkC0M4)9pBL@#8sUAKC2IRgvp~OruvlHJua;vItT)Xxv z+U0obo~mk2dO9oUg_ziW>pO06AYd*-L&FA~+g0<xe%4l2iBf*veUCLXI^pRc|MkSa ze*OC3;DCmP2I3Ju0Raf!Z4C`3|CyINY@q#fb93pLnI_fV{VgrFGftcgTpS!=NR89Z z(4d8p@np#72R1e+Lc-wA2$>y=)qy;C1^_%r3-pYPA3?>Ak9|EoJ-ZB+g45D0AY?f> z<bC)+pE#-JceryE2j^(yOS~Ap|32|@Z-Bb`#O4DSTgB7**U`}mB<U$BaXVIqhLluP zi}507{puyw+bc^pw-16p-URrqUmJQLaFzd#ocRNIWPk31yu3FCF=lJo{H70!ii_<h z?8SV~;p3Nl`t-om^lY?@+^;%-an`d=%T7-H;|&8NBkn6#>gwtqSXnhTH9ekfBJ9bB zsD_V15fBm8_#SA<AjcGR1Pa5WUx*eEAdOI5U0E@|_P)Yxv8lPavb-Gl%Y3X21`rn) z*I}$YIu1F2)rPveUA$NuoW1}O9-p50fT;tbO-B$A5R86x;O6HK*j^ySpaBuR|I7p@ zCnFz2vm?hMKyP1P-}=~rG($UNMJIcEox69Zrl$kRIU=T)d$VY1X<^C=Olv7gNomfo zZEnDqdw-FGijorf96ghmjxHfM_!e+Qv@&*L@C=VZF)K6k%u0W*sM7>|!-Rv2%YT1U zR!vO}hUG^XxqIbZYX^shzZ>IYV_F|RkTnE^NBkziwsqQ|mb!iSmD8Mo(8EGzlwcK? zhK0q;=g+6I6N0uEPLgo_v*zS>cOwutin2I4P?HQeeg6EXF>zGy_F`^pTLJj>;qjBy z*}SHRk-k1=R#q{)xs>c|6b2m;ahB(L{V~hG`2da6($#%vWp(S&ijs!L7I?tUj*FRD zOHXfb962J;D9V>tBXC(=+}sibEJD)KX15nRNwID1?Mq8bjf>2K6B3ZCoRqVUTW1<y zPFDNGzIr8dxYZWR-|%jf)sP4ufBWxW(d*YE!@{mObochoE-n(IP-wpj@N8MxIzqbZ ztZb)FxFz4e%Ro~=xk8YtsyZ9TwQ+R3E+BB_WNB?_NhUc7mxyTM%cIyYUv?n_Pv<CU zr<Nf%kcXht)!K@O<Yh-l34;Zuoj-r-SGdmaEA_@j(1|ii`FbsOB$APl!R*Z@ojVaA zB8r5hI5lMkZxKQwWN=&*>M7C1r%%7r2b^`!`jKE8lslhd8_A?~%gd+fDL0ra1;i)4 z#y=Taqi(91nQ5GXGyz5ApsK2<sMxW)N}7_=t)eo$veHUk`-583rMz2HWt#KJo`t^Z z9c4MW`kx7y;NV~|3_v}|E4320jEpL4Yo#S5yuFZ}ipMKGVfuCM-D_T_=jY_??&}+? z^mKA}--&9AICE_CTpz3O`jeWM_uHA%%ECe(O;X>`pkkVDRF<EcyV~-Goh1~NnVw!= zSqXwn7^{^&Pul$a&f=yQRR7V*$w?HGv{ZDBk_`rI|J%23n4ln8oIvzBWJ9*kpXn(m zu+=^#NqDSKEQ@YI@?Ypk#Frqdc6N6MI1&^RdJ`KP_53-q%h{5`oZN~CZ9i|7P4{tC zRaC=vm`2C(LH*^+{rYPp<h=o&_uJZXvySCvX0|7*xz|<>J6c)<*6YYCkY$*enemyK zv=}rEjnnQ9Prh-5_|=R)cywc9l8?`kb%!OxgubqB*m0MslIGO8T3nisikS4WGAbIU zXnUv=IC0G{N?@xP^z3Q5r<+@DULGi{gQFuD^zPrkAg1x|ZNGp2R#8!TH1PS#xWvrN zjA5<6A0UjM-_7N7nwrQ0IMAFF(vMPpFVHCdjewHka7|IU>gsAxdcZ8uPS903uu^0l zJ^{hp>@3}x4J!4Py1F_Dx@oQdMTTc&Dcwtwp6i>NoA!V=&dwz6^b*DH%RR_WMTTEg zH8eK5Qshg$v)&~p63V_RFdbEN94obDV2qOX83^dBgVa4EM8C3Px4W~`_=A<miIcy; zdzZ_nmA}*_?R=n&Sb)DAxptIKqh>&NTP$~RadGLFJMGF>Z&u%vmoI<ys<OdoWK?ov zQX~Fmf}RTQri8r3(`v0bIW&ns{p78jnx>Pm?LV_hoSdJKOa`xGYx{emdK5IVJzk{1 zq&nWX?ZJZw3D=R!!z2Put12qQg@oKdHGf{9rK1awc%xuoFuZxD;Z4EW{>aV_89^vn zRaHECOTl0XNl6%CULKyW_QO~ZCeD|5tPWhjA%gh0Hd)K$PN@okiIIt^AT@PnY02wo z&!Nj@2?Ye_?p_)g7+6x`22+qI>1pFsI0<dEwq_5V1Fi=NZ*5Je{Z}{xLs?_v)uY1+ z8yg!zQBg{YIVU?iPL6#FQqrTH<;1YhdN0vG^Y4GXa>bLFUQ9&znNf}Lr{dy)-fbS~ zv$bgAi+5Ur=^4syDY5S#jIXV(jutoCG!YB{f%yDoJUsONv)y^{XR4@xgSWc1-aIX5 zMeE9yz{tpaI?>d_BOC$(U5#U2hKBX=uVqe?k}fk?(aQSO!1UUyVdPXk-iIAY($|YO zB744Ty)cF#07=lg<AcgdJu|W!2ub?4Z-;}6C&WadYXAPMbBjblTU&^iw|#s(QAhPo z>U@?)(sfbM(V?La(g71qO$$eVH~#$j)8NzA+DdWxa&J$Mx3@Rjf!(sci_4#H9;?@= zZv(!Tmy0cl30nawiqWq_vPce+AyF23_zQhUYI<Sel6B!RCoXQ-^XJb&Nwc%F*TyQy z-RTd_9UORBSitky*x9K_NmFuj@g=%-%&n}#!gu~|eRDtco%;Sg84N>6$byn`VQ%g@ zi_&RWcz9*N8R_!RI3WWMcU@QK!aIdlCMN6Y>7&=LAMLG)L)WmdH00lZeET*vQ_|VD zD2U-aJinrtl-4E#1X)=n#Kc~dY8o1X+#O`$METtkD0&jhk3%f&+t|`Fy}bO*DX9Uw zAv_`>VRgAzl8-O+#?3RD3D@~nPCB|5HHj}$lb!_n`uavPNM2t*ch19O_kTofiY-e( zNciUU>$SBt#mBR2qh%Y&g?+kts%mO14m8x%%4%x8y}fi&3v(@Rnj;z9JUwgOm&t7L z`T3n-CQMC}3Jb4MzGPszaN$D3&(o_whU@F=04|rgb#JH7Yw`!q0qelGbaiz}NlBso z-JSP0j*z=5Q}LVZz$|TUQqx=rmP@(IffcyfEBe3~vQ~b6K7dlvKBvy&WWd>Y)sqq+ z0y#M><9#c;t88qJW90&zoVMfNJdn>D%)kO%U0snoMOScL5^e?E)<}{%IX-aP=etw8 zzU~OQ{QY}sVq#(^Cnwd9tWVRwe$~~{5$5HMEdAU&xAT|yZHzAbyZNV`l9KX+LMLvt zG7sPB*!Vd2m7=Gip)Y-@<VezUSAA@4uVT<}7PEUc5iX6Vr-AYDhkJV+1|?n#?c|5H zDtn<Tt8}X?v=2KzT;b&vsH?!qipX4G<INM1l9FmL;^1cD{j<CKrL0WaZGnI`LS03L zl!9VsZ||Xn#VEAJkOu_@eed4A>FH_6TOh&UDxinZ3wKmi58uQz)Yro~72K~>JUol8 z#JX^y{nsxd#v2?wJoGd)!(Cly4vy^PWHW2)tc(m1J6kgweH)wXl9KHZLOQTDr4A9| z6Nm;i;^N}NqoWNHco?wbV#}}>FH|8_@sKq+uMHJ}v?KeqE-XMpb|17SbJlfqAgjv# z{QRt~7okSrgiv_u55H)y)VH>#CZo66d6VyQ^rR}z)sSG&kb$|l@W^j?g(Lc^tipTP zaLs}o26fD?LI&yWk<rmFrKNK6@}b;=dwY-JIbXec<<gm#osF!i{5X(WQqtSj_Q+E5 zjm-hj&BkP{o{rAv>})hIyNJD+nGE1sb93{+z+*3mnTd%B>&}nJJ*hoSgsahHVJ80$ zsGXXc8t0$wZ{1v6K#{@WnU~Nc3Y<Xb9}*LdjEok4(VTc)P{7EgKx}|qdi(ZmFdQL^ zraAVTL2S(<BZj)VF~TLLUS9h@QzS?fa;MHo7n75c#)&$aKnZDTcK@(;G_$h0Oin&K zJ$<nE+Xxy8(uU5L8+*5)s(-b%j*N{N>*<L)ZVV6Ecs!k)nwr}CJ-RVoNku}k*;^rz zEDgH*z`|mCXIY!}qZt*(UoRlwY^=f!kO}1XoCN+YNF18~w#kkN4~KlK?&0YvDK36X zNoixaWD#2GZN(4d(h?@7$=)naVd0p-4mo^P)mB0R|BAiYk2fD5{q6m^m|@j6;4osj zFh4I+b#YHM`u_d<<E)va8yg$^e0*$5Z5F0GCr5v^htR)mot!4iT`V3vn1&DvP<v5= zh|td7ehlgoP}Pj#qAUy0hvVqi--o-a(9VVIz63z8o*NVWy}d@?+&MpNlb{|y-h=vB zT3)UwFQ=fOxVvB`?da$TlAu}gLH<osv*^)J(m~VTC)?d&Z)aBr_oDGHUU9#tS~q#K ziz(;xXX7$Q2FjPnt$!fz$~LFSf~AAx0ByijBc0yp;_gm>LU{quuk>pR?Ox04>FyTy z+4~$Cimbq^sgYU|b8m(DQ&B<ot$8axL>yGdV_3R5+pI-SzRw_d(aWp+@mk@zM9f-^ zzr!Pk6NwdaGy`up_=Lot%k4i^4Gq5?44xjY@^_uj`t>VLNLJ~+pn-t_L>(v|_@Xe9 z`3+1a)E#pDZ_yq1cs*1q6Vy8V1|%Q=#K0gNVng^%LqpJ*ryX*&l>8=8cGVBtX@SkF zeg0~Vti0vc&CbfO3RFL@`6iZs((D?wmDPMS-Ey{`UB?G;F?u3*JZxE@^#yWv^<z8! zc7h@n5)@z+R-(DxSZ%;$Q<I{G2EU*nnN;g-HXvghV#b}#&8Kbj@?8aD(BBdg^)2jd z%-62L8;@EYEa>d$SeTkR#}KMsR8pdJ>(=th%D3|Jxy8lF3O8%Wz{&C_QPI)ec}8U` zE3^s<99PK{re|gtAKB#tD$`d)M`kAO?<~J5Efrp(*a^O_EBj}Ad$cy-Y<;{ER5x6) zS5s--otXqRGBT2vmj_K7D%1w2@`^1<%zddV+v;3OQciBJwyv&8k@+oSV|w~I;sLPi z+js6585)8%aa#7x18r12VSe~fabluWh!(}16d%v;>M8-A(eUQ}o38FfWZNgGrY_DU z)TJOzEiJ6XnW!meF>7mUKpW|QhrUvDCxkO(*91sN`bx50)cOVnyu7?Y7z~GHl|(Q! zaoEe3YU=7zpukH!JCVXe8hU!3U?dcRNUa?24yLRQHbD57wGPbw9?f#bV_a_5n|UYg zYj3xbyfCeUz5VUDH?BR5z$Xk03_1QY8I_ejCx^Qbf{|TRs(nP4#7ftohdzG%2(_EG zH$sQW420K&tOxwJgzl5Qe;-*G4;UP<vqXxVL_`Fypr9ZR&)PzJ0t8E#&}8x}m5+ZL zmfCbrH&_ExaNPIy)|IR8ZHx5__{_3o^OOmL29My@{S2kdmwY!HDu9}fE{I4_g^-YN zbs+DNg9Dg`mW~cKLukzOpM7v+v!Wr8XRoXa7&bZ3fxCA%C#rp*U<q+>LIK+#GK$%f zTt)VP5D|g!U*mW5H8Ak}&@~9{j|TGziKJ>B5^#rDNgC}Qt#<W|v2t@Ky??(yYa+4o zPL9M9T2ewnVsn<ZLO@UuvI8A0Ee6h}qM|}oRTcSUT#{};bM7$|+wt-7=BD#LF*%0q zXLq;2l`AQqKH<8P<d9NRbFi~po16Cx593PUKT}pwsrEa1+z>(-5)wjAzot|}ng{$L z?z_L4e_zR@x|OZ>Dmv%7@UxQAF?rTh$OM0SFD&K0l_QyhFz5VSyaL{Lu3mxQwQEm_ z1Zi+_aSaU(p;KvSXqcIqlV`iiAtfXNp6x963JR8%_%mTgkH+vC4Gj;2OA<<;`oI6% zt#@O2SwK{@dG=58tPF~qdlgwITwjkkM}L2AZf>(wO=YDdKY!Hi2kJ>u$n}|OYJ>Il zWP<mxQnmEgUR787$kt`e%{AA?i@sY&7Pf!7>9coDu&0}6vzH*K?tMZ+0rJ=7SKVxa zG5wvLPEc(|WsY~$)fq*GuL{pQi+unx@5xXDkd?6xMB9Py+JX1b(-UkEsMAYJ2iV)& z8yb#Kzl@gY{WUUj2+Rv;+S=OM($Zo<5C71RkjP|G+XzeCxM3_S`=Fh6dv1=(@*AFl z$H<5T0b!oDmLTH|WoiriYvb><P?!&rp6a)5U5sR7#v!;Q<TO$BZ|$NY9X&k{A0OlF zxf_fdP^1eB$bKdXqE7WrQMOa_^Y^s0$S5flGZ@~JV7~$!xpSxeCDo?Iq|@Dd_XzRu zw)XZyqT)1(R8(4^2+7IGSy<9Q3(bp$Oc@Tqg4i`azT#{Orx9Y5_BVe})IK&gzhhf_ zdU{^)J}Q;6z;w~h*1^&KI6f|}!md9@ATqsK>qS`Da$OJ(q}oD28G&op3X6&|($k$? zTmm};4fXY@g@m>X_TWI$qL>(R|B%g)`JMgE>4ploMR*t`uOT*|mL?Mj3m7=E%2GBv zJR%~Zq@<*}+D}sxnzQSyu(<dV4o;NhkOugELqm}7tdIcp?YnooKxnYA>M1Vol97FU zy(~u(e6*F(()6$(e_dClrEz#zd^TT2%~WVVLdVcBCoOGzcXd#}F;Ip)w9X7lEa|3? zV&JyH>>n>%+hq&}lccK+aT-(wx*tjvM!1(LiinVih>MGBYkNB@J^j0f&=nh30RG== zYj%$wUA%Zv);fhvUS1xW0=cPldwZhDBg!SQt^jC1<ks{nD^R5V#?^}l+lv7CqK;!j zMHV;)7Q!MT3=-}f%*=9Ht|?!3AKtvl>+<KKWi_(`ZcV_3|AC+o-@1!d&-Rn;h5O&! zpI~~kx}7+K(aMh=<))-OFfm~y3cZjR{O!RtY5{>FkntBUUSK-5$e~p{-Q13V9-=Cx z{Ey2W$0gX<GC}4V)}w7_*Vh@z$h7qJQS5t9lU1OYC@3i>%AAt2ve=h+bTaeu?id(6 z`R{(ofwS5ist|`#<U@~7PX4YTD=Zs+{1C3n{qHY+H*Va3L4qtgr;hwhj+&a9ifVLX zqOPTdkBh6mrKRI1Dm1M(d1KP2#_v%<-U&uAEtX$zw5XwOY|MA=@5Ip3HxLO+GqdmG z<DlHD1Ox<c3-_+~KY;Jd{s9CS%)dX2*yZBl-2A+OzJ76uQm0$|>(|9rZIm=LanGJ% zdpWs|R6W^N)YgWul7RfZ5YmYUvQ-0wm3#Lt`%Z0o&Mz(&=ogtUb|gajho7efhlXy9 zd{NWV5@cgjynWl=s}j<>wsvnAIXiMA++`I^^Q@bj8$KQ$%sz<e)J~LeSYl#gY^<K4 zp*INZn*(9xXU`RSqI9rjrz|g!D}8&z&dwei7l(Vu@5}?rg2Lz<8b*%5NMq{E0HY3% zjsmgMG$2&sQ}GE43u7~2V{Bw?Z8`CRy$^Rdm(V(#5F%t>f!+iXVVx+rxD){w5)&i0 z)!J+V>_wwMZAONMP}k_NBNR5OwOBGTGcR4dc+-0)yPzNn{NeH883kih^RzR(9N2`1 zt835Tpi&yA_txusxyaH02Fb^3fR5?B3e4SYZL9DlBO@b{pE_4=vr|#U0;&fb??)ql zT%|;%UIdMX`2{QlXS(X?`4?ifUV#ZGH+N76R>Z*I;Nr>(7YoZavdyk_r}?$_Le?Fx zGDC`siVpg{KamKxn{kTJQod~ecV|dPTid|4)F>zk@kawZwzjs=Gk~F8E=_uO?<OZF z%dnCmd*(VhMWIpA%EF?e8p_J$Pqs7Py}P{hbY~vO^FFvR=qZ2}BE7W8r6P263Gwmq zpdgqIIloP>s_1A<7Z(>t$Mu4N$!FhRL`9Vq6-CFyL`FvP@$w=&@{nLhC{j^SeE%|j zMfIE-=ku7j`1qz~@RR+3vlBfdqaz4t9UUD&u-tn2eaK?i$QpMK4_<>}1(2W#snBH3 zXN~5;&z>3IzaPbT6HfyFo}H7E=~sIi(0)6+l^;yPp_#pa%h2<W?Ceet7LyVsJ(*GU zKYx~c@2<d52S#3!Eqsfy(X+D3C@&Wal#wAxPff)l8z?mY-&%ms2ILX~Wmc&tTM7`+ z+$FwQ0G+^OAq)JBYDt8@5YdY{pPl-N9sEdt_x5dePL3g*`q2?g%ZYJ7Ky7aBBjm0r z8hKELP`l@}Wl6B$&4xf4g>?1E#s(Fkn3b972%rUB9u^h`0-T)Ioft~YL`z54+}IfR z{{7PqEZNe`;$qkC)LY<N=|vh{tT((ik^ChqD@#N~lw8tP3ArjWGjrhI(bUvbU|RbX zaw!}lB9|#B2sFO_`u-iw$q8+%JWXsbFH9VxMdDy*YfDN=$#(MV>K$ftOG^qyM)k{4 zUfu7(=v)3><Q^Ilf<a#0wm;_{Bz;g|sJ|i>rO5sLePqi~dHD<Ol->%gWI{qh;9jOx zUYh#)Vy<->6f28Ny4^PJfZ7oe?ZQpZlDo|~FLtx_@HbA6>H%4Tq^JAnfh?pO9D(ku zYzr5clpuGlfrfVWA`pKcAOG;-L(0pSUEJJ|1?HtNd?T%`c<NGr*iqP+qM|>@)wk6? zIFpKn-abCap8?|H4nTFF;UXi6glQw{%)p?O7(?Vz7JkKP-@i}j^jhv*ofclI?D+UN zSPQhj1yfT;M}Ah8wT+F9nc2D6rK@iM)IcmisP#28h>_Ma(C5+B*Z2CnJ`TAR1pWmO zXKqf8tFv=@MuvcpP*CKB6OAWNp8VTySl8Rz8+0U4#?0Kje%d+RI;Fb0`ritVXG>H( z8E9Jf>H6S?P~s?h#;0f$Ua&c6>$EfEu7v9jg2KXmU0qLK3ck6gt^FoE{MSI9(FH85 ze;u|sJx$8M0P&R2XYlL?6!kqF9kAqofee3qd1=Y(<j@1Mwwv2_Hc|EiWGQ-9R(wJN za73X#&!r$pYFSB<oFL-o&j(&ri-GrBSW*I~j*N#m{5qThIAuD&05t()loE*oxXx@- z1ad>o7cXQk^pMKSH$W`BOi2ln5(v{F94UODprzIG&0`f=-{1N1CWvKXQqpAp{Yv-- zK15q7sneDIT!@ukH$FlrS7ue;?B!fmrog*JTc$y*TtM-%5#l{qHjsPs_wP^rO{6Yj zGAMSGHocC)G-dBIL@2tsx<-yr)6zm`M=7S^Vq@XpG{Z~6TL*3cntu8$-RR1dE1)U> zTu?k$mv~4Ns7k+l86FxUBPW-|N%787N5X6$pvN@cv$>eKxaFA{0DxzTX)1qjri58o zTK<@J&dJFM3=G7>!-M?Gsjn(qn+FCAPb@Be0Qm&i!K^m;8g=-yXFuRAK@?J{-G<r6 z#jbCPpo5?G_w`NbQ=w~o511hdPfa<W9zQ`=)R>G_dUn>=r{?6SDkxyPQ?4kolEE-T zn?xrhNCuqxcDdMSo0=v;FtoH}wOzZpB&HJ{9UU!$7L$}Tt?{Md6S{c<eRC25@aW^? zgM*C?uAJO$(|R!6{No4c-z^1&8#iwbel}oXW4k0ldY^?X?C|gq1_vIHmGozo1e<=j zIr-(wHc)LSmHyS`<tukq51~(JgdRSPlz#*&Lr6d%<##B2qnmFhl$wSHN{bA+>H8DN zQT(8fY|muS&q70)#GI3Jb6>i0Wos&11cRo)On<c>7VL6aimk0ZJ3To94S4tN9kPDo z&~>RRB|AGiKAv{y%Gsiwo!#4a?~wiFE?>SVfqw_tH!SB~E>xEpgUA;c*QZZqyuH6= zXLBs^xMTB?5=Io1l_58587*^yBWp+k@8B#d392{e(<cydB6oU;d-v|mFE2lt`$>xM z?2eneJLG-e<9&f8bg7Jv4ssg}XxU2SLoS}uv@c)o>FJeKS2GM~YCD1^efp#V?L8&G z=8oD^m7Rrl=o%d4=j2S8V_s3>pg^uyympO5-BT(Nv?eA-7f@PVoru1OP*&!%K}kq( z@KsJufHT_Z*;zM8>o_etv#k2HA|1FYi}-@4|UMV7MhkO@JgJ<OUnz;h@nMhqy0B zWWcH1x|LB{`u5uj2e#~Ug&A;|uMVS^oG5RzGchHVIZcLyh9VzB%DA|?dLQq*I5_Yw zp@nCr>ViODM!!1bW@n#E3|@f%!NbmuGoWcHA}qWE@lq|8FOW!%->iUQNA1Fe3*g2u zhkZxd#1V>2;;wUGTFF6O!LMJx&QOc}DCRO#P<x7%coDNiWqZXH2M33rpC4I14~-ZS zq6nk@`0;i4?vhwvPHL*0s_KiC^<P??y1D}|Uf_Z2bjjK<t-Ztew{&;^0X^$8Qo4eY zLz4jN`GFfEKP3t+DJs&udsobP>KxLQgHT!y_Vz#>vi;K4oOt;7YX2>vj))+vI)BsF zXKyW#yG5Ojo(RY3kvcJq)yddPDt>o&cbTmBSR52D5)vxEeWRUFWz8jLR|o%r5E}OK zCE^V``QN^IgRnw80_%g3juds8_-s;rxc_HXDU$wtV(=ja1;x*{wjgy`(=HoG5hBJ` zkz>e6k&DqgLY<Tf#PUTeAD^B`($6aC!nj#?d=U59<N2J1eopo)N!nCNiCs*L+MOi6 z*u3!toEGpHvQJ5J$=#%`uDfFReZm%IW+;683yGM$Iup(%c1%#vePd%}H7!~@Bs#jN zs)|0pRE8)hC<qX=<YD{a-^qY(8!yjG7!EmK-(vu5E^hAW&gxId<@n^}Z{EGT%F7EK zD?&;}W@lq_E)lcNV^Ex)oP5q5j}}MzuZ%RZmmY0yktRnUptnp`GIEm#Fs5%VvzL(5 zcKvKx`!Oj=nw1sXoy3rwnwo>3-|2s!BJ|tX+duQ5AYqdBU)$KgNyIeOMM-tpAa~N@ z<;^J4f>#6(!h)BA#`Re4xoT=Uc@duyNg`bV$V56gKt#l4PkL`iO|Sqq3^up0u;6ur z(Vc!}bGetji*$)1P=<q>`vUUZT6na-fwqLjlPhX!81wN2zko<Vzv>p4I5;^G18vHt zK_c=yITR5Wr-9RL=<H;IL>UwFc;*K#^cAua{X-@3TQI!9NSRrX#E8A=1{~Ve*UYjh zcMlE@lC`@ih>4?+&BsDQ>L;T~6ap0#6o87zDJZZdP=s25+eAb_z5lKB)iDFRk35HS zk!X`ebU%?WLf61ReEIUu|6T0~wW#u;t*wn44i*-n3biQwpt`<+f!Cj0B;JCkQB!;E zuG|BE0Fg%>iYqBKL!7*)tBWC$3;LXw2NS>c`}a$5PS8RWwPM$K^owows2(m34ogeR z@`{Rs!$b9B9suX1C7a8aFJsG&jEp>Nj~7`!XCaev7i@mcCXNUiX}qJu5l{?-4*{ti zH3&@*T*?3;L9ds1gnteW{_V}uKt9TBZ@=2>#P_Yfu@R)nz`$U*yE`Q<t;Bh{J|-rH zUE|}<&d#yd?f;gMy?v_#C9bN9XUk6;VN&B;0d!+auL{jgab3!yi2!C7&TV~t9dwIn z<8JcZY^$~yNS*@MuJsKLW@ThV*!zatr&oi-;8XH^H@lXXmj}}ah7~tug1W|xePRkS z^XBw1j5<)cyNk;~UWvJdMUg%XPF`_w@rMs%=><~PA3j`wDEZXi)Am_n;`rKdNkT#b zvQof?UMY$ZII-Eh2qY^LCcPb6(8$OK;<7tsE2NO?(eJpxcf%A?LqnBhWzR<|vsPz- zFGE^MixhXBl5uq8`}AjMNWX_qMWv;_zCL>Jj)n#kpUYXH3j+f~Pr;2Fj2f(DxY%-L zW@wh#00uHRVHlJ266NNdzkj#?{JF!L@b+yVBrTP8q5u};<_(q`<?u_HJN)FdgkT!l zoRX3WFJG>DcEY=CZ)r(64xW3iVD9hlud1qQVq)UwH~#(mxg`b5x{i(-n`q>*H8nMb zg_}`0H@tV2Alwxd6*bhdqEV^(kYAvH?x?B?3J8E&UHY@N1t<iVJhM67fMD`$7iP9O zO4@5v#>l9$x*DDtjclIP5UQo6HCY?L^yF7tEI)WMq$!n7ieK>}tBo(IkS#%CVpLRA z{_!uef~>;L`uE6}fT4ZNMSSphNEDD1&QAWC`um>(WtEqgmzI?wo3F{f8ZNO0E&=+I z08**;@q~s!qO04D$ONEBAVM4PXQ&CU8zy(}-ZeF?{qp7ATkExI5@(1EnPifZm8GTb zfL?BHLR<2t75_h0E>8EeH~qeybX}hZ*<Mnw;1WpB_MdiL9b;yG{*GV22)Kw1JUsut zedkx@#@;$SY@nv*cINL1$#l9p-9+ipqt!bJ*UuB+%64Jn;^VKbtN@VLX}!1&J^`xB z%gal}Z(?t4jUz$Szq+(ERO2UUOLhi@_TOej-2(%At?#%Snt^u{-oJl^_YNomTXygF zC_4v7`Gba#A3qd&1Rx}uo0~&tKvaas1@x3BB#egB2+=bzBuNKEqLnQy(lRpUUtH!M z8yo9LlpGu%|GmD>hel7WtkBZa-?mFnPoLYUJ!3mLD<7uhH#vrg^6VLQ&jj-K0%Ke^ z7(cJ%%0@&kE*$su_lGIW)c74Ko4!751(!;Qjusg6S5m_HWG6?$ibk9D^{a?_y~1_R zJj+)h-c(anH7vE64yXA{L^LWW$hfof_V1o<*KyL`o`#Ey=+3TQ+TH9gj|P1YcfxiY z-zOyC<KcZRE7Mp>z{jA^A=@5ufG&tbfU<`;$HT(|jfbp1IT<)ti%-QDJ|^~PfQLC+ z%=p=>NO6eN*>2lgTN09zfT+|;UH$!6$-;o1jvJcbL|{G@tDiw6Ar1Q>@@N2!(gH3N z6Wh-XwrpyTdHovGXbx}asJDpGVuOK-eoD#F`I7YWwg2~0z3aa6^UwrXSXeNLFiI38 z$WiWlAh>lV+1qVXnxD^iDJV|T)6v(r3UaP6|4jGjXe9_11oyTUmAUzwe|L8czv;xN zvz-D__VgNErlb4tnrwVzgq58gS?cuc*|YcW-zSJVxdLhup=7%hXlQ96pCIr{B-hrF zBwcIQpVOWo+7PW5kPT5|E_SlUZ}s<YWCxX>2#KV1kX^n!KQ~7Y2Q9L24~5y>+B$tO z3u=x0Sl2Q?Cr6ItnS1{8=gJNazYAg-7)3$sj2s;D3JRRu+}vz!Kh@UOg5qp0TWkbB z4Z3iQE(Y@{DK2Iv3qxTP6cuS{XyW4IUp#*fWdR5Z2MY>DQN;pF1!<d*A&_5#+KKF% z8YyvcV{L5*+I;1>zCH>e!I=wK^^x@A^}l|tO-&^i6c9^LV9VA*Dc21QT<73`T=bGn z&nyc;3t$f}F0TI;<^rTAlWXQ`IxzsJT3XWIYdS8qL2gCi>U!wn0}jJ<T^&v0e;g`r z_rjeoP=@-*$#=~j62;rsuMI0)GxGEEV`2uNz(H^UP_}`bT>i>^hcLj5)cnkIkpO&r ze2|FXXV3hr{s`Uv|5&3IYRz^vDJKW?-a}pe>&}jtrlz;4C~kye<u}LJ*M>F^idMH5 zd+O?B4gJ&!FgEX?PJkZF&1V2|0AY~NMTwcD;EBd-0|I1Z&OxMAH8%F0i``ymw|MxF zu|Huat+-h5)~!a(?I?|Vvp^PLQ9{-o;Nc7t%HFgX_jT}rSYD&1#>U;=c}up}grN-? znaIJ6O8xXHE+%GSeO=0!C!(4P3!i8+=%=F>EiPG)MrzT<WcX;Dx-N2~X2lS<h0V;& zi6D=@LXk(h@Ksx9CtwRUWbouk7FJducB+42CF0HN*HC`=1O(5>FWim~4sQJU>8VOv z?hXHAueB1;A8KmqNG541J4w7?xwNyR&yp2QZ{EBSp#JsK@v4c*1OgOazk+U1%Dy`K zyOGvyqoL8+Vnw%0F@Wstdvp|<rOM>Pk4+B&o};@wad|GNdG^koGWW-i)3cggoD1LV z8tN$N>T=yUZq2+y1jZFg%yfwX2TpTpZqCx)-q^&X#-^JYaA6qu_vX!;p1(&Rb$m)m zIWIx9yS%=R?6V!sqGV`f1fD!TJ`QhYW1?De&j5-JdJu=0k%E#kGCbVg#)gD~Lg((? z!jh8So*r70uE(wsM~8<aqoYaUZkHkyv(nR1czE7EKEM*cN6Uy`Honexw6%RQ^*u07 z$Qp8I8MIFw<{~5{=tX-wJ6cgAm_IKsFL)V0znh|>e?f&I4yp8JvY-U_Oi*G#_it^+ zI^4G^9{)D<_V%`0@spJ;x9QP<EcQX%?Pu?HIdlOeq9rjB>^pDajG<?hm48Z~9bb^Z zkC1$_WhpBg`03MfrRPTG1J;WX;(mvvAt6nGz-sYxoI*mqeSJH6LJ|aY)YM&IDu4bI zefc6HD$4Ev_2jp=HvCg0jcw4&$EOmw(#B?Kv**F@-@iLLIv`H66s&J-Y|PCm#J?q$ zeU+NZ+;jM5_F?XSt3Vj@dWVOX=jTOy^NRlKqf`YjV9;0(SJ!XI;-j|g4tGIYCnsr_ znT_$vvbHw0Hyd1i9gU5L6V>U}KKD(llrJLH7G`c{1|yD-LV-$Qq9k8mrj4j^Ta3)f zS%IE`iI}Q9F}if=5@6}$%_&&{fuezdf#^4iXw=qHcbaK?+Gua@?95DYz}YFp4A7|S zqN0QS{n6eLr&Y){3Xsf5Ns(J`?(XeTUcMZ`^&L>3hnLrLW8zM{NkL7Ge>u1Pm_3Bv z&!0a-Jwu0rpyuZ1v-O*i596Q5QR94076FaJ)*QuTZC>x?RsL#&O!!=c;?X|6QMI?4 zoLqefA)QP!M8#AXRgFZ6ckkcZ*xBL11X);HM@2>H-Mi=E?q210bRF6~s|Yz<$k_M( z{;dr-`*=G7&Nf28f)ayHOiYC8c=K~$a?;e;_(oHh#ai%pOs~4k+vk089}^N*XJ_9e zC7l6C!rO^hyUiX7Sq+GfI4aTJUZ}<M@<^e5Tvc>;JTPH+002D&a^pCNXa8vN8~Vx> zQjovPmpy<N5LjTQ0<gW4F<4+4wMKttYg$o&92-A*!EU9mi#S>zzO4*6lcJ3%E_^!9 zLtbnV+IYD86-pY031I+XO?7p3zyK>NtF(u~AwOmH^!`GgK>lP@T3Q+tL%AgO{hE*v zIqI1U@#@BglZ_4aLHG^@^P}0fYgtT1$(-0Qwy7|-Qo(?*Rd)TZLsvy)x%F~fU0e`- z0aO0(Wx&9hnVEs3Zv>p)SmJS?hM5O#AFF!e=IFS7e6TIsd_E{P)^l#_b?w$nBmR{u zuDmjG15KPX#Kgo)C}ASdLB*qfp;%$Fwb+<9Z>r6Mw@QOk9#a#5*vdgXUqX{$pIj2A zt@b<GGb(cgI>U6xQ9%SzR(_tGoE#RWVrt5?BxVM^_cT%_>n;byS^%3UbZ?rAt1Bi_ zhR>p^6oS~o0;P+KnC@>;c-Xtx*oXjnY}vOz>grN*b64wvaDX51uV4QP0_K0P)mT?| z-ktIqfZ@LjWiQ?&qoT65u=pRMI!shONsAfCB$Stz2ji|C866%DL!+R!3y6}>2L%m< zge*)<oPM%<m5@-9mS&M-7=*U*MxjvOTi7$>va^?v4I$zGKQp(w489K)KDclx=zJok z#_Sq3IXQV3rwtQNMshdAQQP9T%p@qa7@mWElb#Qh)C9cJH{bt1S18^iG`|*ZnV7(c zK?@=u0RiT#sNgQ4-4&FS76FowyDopcaX#_lIY~)L*G`6u5txQ)dj|*EtYkmP-io~g z1DP$I%_R@pU&n;tZ^)5gU-|a!TWV^m<$V*Z!|uQfI6z@#4x_r7n&&0j+_kl}jcR<w z*WSlprzU9n`4c6@Awp<#z<5Jg96-ixvBSZ}<{X11*Mn=+LP8~<;x&VmS!;as^mTMF z&9lMJu!V(nhKC*!Z2Vqb)lh58$vdg<ka9b4wGt4Bo(A8Wln%%T)R<ma@ZIIA{QNmS zDd6kJ39g3^*|23LBr88kYdAS=Xz3WIe&+c*YhY~r0W#jF&z}>8tOrKE#Ix`p?mjZ| z@Th*<C-->oO!3y>py+jxFRd-Spzn4zHhjE!3MA=Y_u59w4p0~<{FWA8HU<?mNpXp^ z@1c$&D_Ja$!ROS}Yge5h^Sp)7FgiL427_$%*75E}V*dR~U1MY9g7&pFdm<vDE|<)E zckjLeKHYDY)t;-rSiUz~ik9mlK0R1uQdErRD$(T70XC-QuP81ilYJE)j#FKI+2X9_ zzborL83@xxpi%#>t-Ef!k)~9(_$yAN3O`s*T+DuT<?#0Zy>4%~<fE$U*@*-xmFZoh zqrKCUspyR8%F6A{%PQ81QopaTu!JECUoT+L$H#6awd&MTO`RL87<3flI3rDee?Oz_ ztNMB>c;$~D^V25CNuw(o3X}~G&u$l_|GPd=a^1*fYwo;2(LwK?0{{_)ot<61*)>f~ zP3VV2&|Pu21^c1GKpFJY4#DvcA3m5h_X(R>THbJ-LoL-hc%R4FmzADgS&^{rpw|+R zxp0j-JR>6`Jp5OZ=<aVLfVO+LZbj6dEyu)QfGv<q9o^hmZ{F9vchA~x<u;mxQHo%7 zg)1-nr||WGY8RH)(NQN$mWc^}K|!*{Mq5I{jhi<f$Gp2IA;~mSvbgk)JByZ1`jx7P z=_K9d%OWhD5<UZ_ii)ZEd}V2Atk<uXmz6oSQ8uryf5c^*tn^e;cqWZOo0#C_<P^hy z06J(?&%nR~Gqe7_J~CSGq6+ca3h}cotAY<7ZWtMrNe5ISjD38391;@ZycM?0&df~4 z!~~jd;pF7hWssQ=71dcEjQ>F7mM%2`Xlqk%FS$F3w=7H2yOd9jt*zeB&@<SSeQ9{% z;o*xNi3zVWkB{Zz6O5n@%l#_F=|*o8glPVE;n<TW6{Og>C=_&qbinEJuU{o-BPdDU zlaskdM>#!~`JVUj<C(5L#8$7}6&g*=D|~z%7R`I@iEU?dD!}uV?Z3js#l?R#Qh7aL z_&)n5iYY6yN|=gjad&mm>q!ORPR*&EhQ?rK=D_pk<+yCt772Cj?SW_%oP$)&u&-~4 zb^DAgu;G-hw)X0mM`!QjXi7>-ib_hvB^=#cid63S-M_nOt2$A7);y8eEdS+{_*}q4 zi#4AZ5@sWX44oG?Z&Y7q-?i;Ntacwa$~H2z;n#dIkf3T?ZQIMN8b<k|n8Ki#)u1@s zDrS-?YjUi@f{ws?Y1{uGO?>-C=fQ`#@PiN57tWzFFLUeuXl(S`KUcea)8W^90mz|~ z#a3!MIy#T60R3qQ6g3q4FR-$*0)Mewxzf$9S4M`-O7_XL*1x;E8^r2&?4{##pD1kN zAlbfqcaN#uLxGhHXbrUCSL{G)nnmz4j<y(Hn?J+NQRE5=*+fLWLrU2?50sj1Jv>U& z(=GR8B`a}1OfRq4xiRz&4$7h~Qyg1=8~Gsq_yazHgk+~2s<BCGW9IUB<zIa*E%P2$ zHHpN!Q^*N2sH<#jWkw9=x_s`$3)@1}WLN+2UGkM__sEw=v3&Pe*4B{gTqyD978Wwo z(|4S8Zpz5Z&+h#mh12%4XADFmD}Q@>z)B%*Gffm7%c0+4@v@Mh^zw~0@7?>|&-B<* za2Sq;h9FZyN(zckxqqD;+IMDV3IKDAMMs5&`$*+(-7+0kdi(Bdn}(fBbzXvliwi@N zlb3hoBx(17cz(|E#}5Uugx?>ks_L1fbF3_PGSc0LrT6w6Q7K!lLqd2@Yr<vFJO;&c z;268RyI##(+!C&H&%?r6;2T8|gcZk-X^?voGu<P;CMv3-s=9)FkW_x3TkPk*ohN~Z z_XQKrZxU&7c5wmi`TSkqoiI|Oz_a@Cob<SQT9uWIj?QSD2JE0`d92fXzEbLa;A#~Q z<x6$z(s7<QEpr)GR`dRP`Oieo;)I&>)krU#!=8A3Rn7l+-(}aXO+I*gYs*{gqbWd4 zSa>*iQlhAn$##*ipV&J&)bjE&vSw_o+-2!Z&lW2&#E%@=gw)(T75KYy{(L}PfN58Z zY|y2~#zqLiyWfnISjlYHhKis>NXf`%EJ}hd+4>)78Q<GYYqS;->96tS%+JekVf@wF zs)!<_P9AC04mjM2+kW8h|3F?oEu^XQ;U}F3&+b}TiRjUEgbo>Q8f#Cv?}Vh2{ckOR zyRe#CZ4|>J$48Iachl0+h8y3XKZm8RqGH<=PLq<7(w+p<6A>A?e(=hl6RZ<vI}GTj z*b0A88#G%ZNeZ0w`_)25H2eRd>n)?Q>b|hwO(RIBAR-|h($Yu>(k0z3sdSeJB2pqE zC80>CfFNB0qJSWsf`l}Zl4st}|2^aVaK_og4+^)Nwbz>Sn!jtag7s+USBKMBSz$pz zf)aD^rruu_2GVGGMlBs30Wq-?h%-`BQeVY=&Tw74>W<FN-`~?kK)jmr+@32jlj36f z_#A;-VP|K*5SDTp)n!Slw;%XHnU%?J8>mBe{<|0VF!Ar-uYD=+$jN`-(U;!NP)Tuh z|L~|g-dqM(?XB}u$<9a;7M5l^DmE@IzvCTtd;Ia&I)LCS5_jz5=$^EV*9*K^_k^MB zR_8`!%E8@U?Ee{F7Vs`JZy}^dmu#J$mH=SAdGjVe|I0n!2M;J>?*;5GV3~y-yfFM| z7X-02m?H<&fy=<3`fZLjJBTPuhM1JJ-5<3-RY!ZfRN(RLheOPbizi+OalGA#IR^*F zK$i5;(GdtdZ%h}|E3XLJEr`U%#y|^;?4%?epX%+ct-#%dSh*<mpCcpRGsR7Hb(vXN zrTPEbS<LI*$_sWH<GDE9R+4TB;-Va$^jCfSxG-z(A}#H+WWWU}>6+uGw-FKJ-%?f1 z&KjX#Txa~L$vxe7ESl;)@~sEb(up4E=v=`UFE1&%V-@kx+uKz}=21(qdwsq6I5#!* z)t3px(q3!16&0uxS0f_c0MbIm9x48Wfe}wdNjZ>iU!I$*YjSq5IYspAm;TmF!(dB` zHdO~Uf?F3&#_H(g1o(_vy}JkQwC>|a0W+<0ZAu=KH*en5dH&H33JPLkV%o6q@)D8- z)K+}``gPsCvCRVAwKO58(GtVGKg0RphQPiw7Zenflw9Tix2(kc61wN|;ym`h{K2_O z9qJ>GXtTG{g8f4Meh||CXfCA1Z;vHam9iiLuR)TDnHd0dX>*gCg=JKYHCOxT_Vks@ z^CK5l4YRBG;_-B#JzZbMdV7>$AS_2X+|1`p$94Gmhwk2;qT)`QI?!<&uUMY=sPFBK zUrFM>yetPIHi2)E(EEO8$HIO^XuMECz93zsoRf!#08gyf^{#w`|CY(lXerL&#+AZy zH%)yoxHcMjcyrBk&5sw$JXXrgngj7U*;!clE!*$hzrR}+MSu`L!bG?HGn5BFO^AzY z!JBRJ-$};rmikf_X{XAWZr{Gm&Ar(fO*U2Q((y$H;thiVb-caHRP8T1Q=%XLn+79} zhloWE+8+|4OR|WIpHA0%h`3HGsi{#!nDWXiD0Iisi38xUva;U4-`g+rGAT*m(R^#Z zMmZ6kW2ef$q9Xch*Cuco9z0lDHWk6bQuz1pDd<mR<mXcEqwa<VAM5Mar{&~)8tT5W z^YEOXiJITNTh<k=>M6z~B-B({+1o0EL)+giPE#tyv`7}KS6)z%{ozBqipb=}d3S$C zeOhMba1I$7g83cXAW9%I?f`N<r<?d_KLG9)3Zu1?Q;eH)OWfMpS~918@af^^e}`oB ze*eDtEmZ)jWo|C|aw~GPB3mENbG$VS<CF75m2Kba4<9~EPfvppcfKx51a$|B(evle zi;7H5f8>z8f6uHKC+M<iC?rH7B$T{$r@YEtx~%4>Xkst3&aiq}I0vKbrl%<)<Cd6~ zR+OLLUGp*_H+KQbn*cxmxFTxPG2(DjseqRe5uI5f7ov9GsDa>{0*-+G7$U$zB(Z92 zY*<J>KrqSQYiIAVkw1@%Bb?Pj5M&;8$ZxJf%)Pkl^;TVY9LZm$qyR&&kg<Hrk`CFK zZ*!Y%?EUsl9ydCsgU$THy3zo3h||lL(EbIZf!@weW<f#J1R8ig3JMBb1_p*4Fm|#W zSfQ;Tlt=_|`v?6W4&ikgdCzcxP_+;@qOsAT&lhUNRaJkXWb>Le_Vg(6^77^n{|SsH zKxTV;dK?}STo?0PeZ{VGawh1?&R$qiQE^ScZUc&8M<jtt3Qrd)hm(^N9bG1T1AHkM zA`)Co%9vY>jNv|wLBwG)xB2<;@bSeT&4<?2)xCZDHtfHvtgH<F9uuSD?*13Xq+)k1 zHZ~TuRju#N%~>rB#0c9X50Sym`SRr+_z3}fbQtt#v__)_Z)-ENKkpRzGK()x4%ShV zf$@33HLR{X_4W4dzZN>WYp!i(mY9@uxvb`>rdIm2i<*dN0Dyjf)6~^L5OuK66C5IP za`M2SpqZH&1qB88skFqz2`MT0g@uM@W^u${A%OPkZ^bzXPF7lXdvA<~HBI6&poe9b zlsH>h5K~cgn@vT_+<f)w)&Ba}+Mp|f!~wy~vtnSJKOFvY`p@qdol?1_?UIG7lrS4x z!8-~S6&27gRE2XC^X<Z;5*Md^_)uya!In`J5*C*9`@69JM@7VKmR`W_TaH|ms+w^o z(FBg5px_-bF)-a^49uLI>zkXK^YhvH`SxyZA>esSzI}3=1Fd>Y@Nv7iw3Oh=6~Jl` zzRoyeTufkw{Nc)x)@b>Ke|sw{-_xU<-XNi`+bElmGePf-y6*U_MLLCYFg&Rl8N#m9 zb#Z!)-kX!zcg24E@PT$7|LzsCUztcyM7w*FSw8i)<;K6gs4R*4(Vx2Zc6Q6_>r+ua zwIr03&F)Lj-@Rj!Eof|<?(XjX`BV3Qr^ak3uwy<lc|6C&!g9Eh6#@*0iHWIn|9)bx z4Q0&8_;}Aniy~v9m6h1UKO$t+H9;9|CkX~7U8GP{^q()zkhn>McZzI|r)SiGX@fUv zL&G1B{oUQGpJ1rI#}4oL>ABMpMfD`Smi|t~Tw7aCZ7t>Yv(I27>mU7U2de_8@T9Gv zsHj~pwj=U2#N!*z5o;802L|Hd;ng}%FfuT-iT<oFEc^qCapwy*;(&2=2V<TU`$<k= zA)iayL32?0Zk)m(AN5s_y=xs&@n@&oEq>)ScHh$m2M1>wM9Pe6Do(91Le1YwhX}dN zI&yQDD#lx#?0k_@WkDSwZ)s_1V){szBl+IDUlb$dB_BR4_ari1TwDNaZd}s=50jS0 z?aYdcv{LQE!;?kJPgegaU+m@$JWhD(!xg^uvoI!0D(LXwV5#YAbI_@*oZLVrexwB6 zKIJ<_qL8y=cQdoCaI8HnOYy(1vdpA%va%AAlJ$C%p*-x3&thVr3Ni5V4opoMtEygI z&+*@1C7FGUh8Q7D+Q?Z<uT5HdJUJEBXRmdx*-G59uU|Q=7o%NWRSvgi`mB=yZTr)N zIB&MDgj{;8kB%er4e#H-D%3I6D>Lz$Z$)dg{$tkQz4>={*HRkXK06mzC*NDCn?gcD zfGIpYTbom#9z1w(a1dTMcTa=_YHe~dotS4qa&j_^G05<49B!y9S|K@dxeKuUc=5~T zY}4a|H3i>p#%FI-m(Ttco42U<_4IVsN<P$AP<UFlm0hUQ9Tl;$v9*J&5+){!q;Ty% zkB!~z6yt2_gAs&rt>DE5-wp`TDV{sK25Jls5xlodP)j+-dukdZb2FjWMl4gxb^1<7 z$R(fkmw7r8BoG_p3^_&}9R|_q8-O!ikHN`OV=??e@@QK+`dM9%^^K>*lK`l)4r676 zFR(FXvhRrXzY*+3oh}m;jQ@v#R`~jzM+ohoC>Ik#G1RVyUth7Kjz+(K|1K_c$9a_> zx$LtpE6eg$)Nz1ubPX15=&Ng(L04hW2g7fvyhcsv{F=N-NofZUFN2N|?>1S@Dj_jF zF_GHM0g(UY%a{K{7NwPFgQZfz->&hs^RTh`c0H#sb>qHuYpE-SYJ08)MBBcc^X46Q zcXzXvU~XPs>EJWpM(bY!0KsZ%YGh<&oSem525aX~7`L{zz%<;&G+`qLov07|_xER^ z&TbqQauKSF7fLB8EG#B2KG*n9<IxTwRf?!@)RUGEEGOG7r<tN;^&ywR8X6k2oMk5U z{KAL7iuHY><ySFqn$n}Xmw}P&Y;4@Q2U;84=9-^IL_|bJQc_X<x4V4LY$V10RsK{} z#zYz#8aDE;&=5%piDRMPFM4f2fF6Si@6;5zV4{b~+=NbT?dZVRHbCYvP;>QX`H-8B zz()b0tgq8HHl0I8xVlQcQqEhTBX{K&_-JYx60pB&Xk+s`SAp)0?CAJ--J@T!MDck{ ziiDfZ5H#0{ij*6C=-*2CRi&jFDXt3(3DHRfj?d0s>@IeX&#I}iB(+(zj&0qDY}y!? zmV(Y(=#2K+o=r_p2l4i)Tmo#M6LrU&)ikRxC;@X3k&v8BF<XfYK6sQx9g5Nzh%0<5 zp0m9H49F!`jeCMZ2fGhRzdz8^^9wkQzb;x@R>m$R6%1yGt_WopAXdM<`BCW-h(@e> z@7_sT+8PM@mP1!{wV<4w94~J<Y9h_itveM*3!|mRPp}Er7XH2nINT5oIuZ1|{Wq@5 z%4O#B0jQlX4!Vqf8zPNNf_tt3#G9YD@bjDaw`V^&87IQWM^3T%g-#zVL#pbB_sp)w z;jdHlr2-E5Io8?^)_uA<JI~HBUh|kvMw9r9`)o;gb1_Rw*3w#GA~>9S&TQQ0By>Sp zM;y=@UXLC*I6H6bsp#!H0)PI<RRCKjD=SM^N=rdu>*hu@_dzU7Hm9?@JD!>keOm@u zl~Bq<=I@)Cnf-U%I@QOI9>C<ex#6!~$&19E^!0HjBqnZoazI5;x=GANuFSeN`txV- zrJ0tQ*<EH*#TU1Y>mDV>#Kc6%voaZ0+1$T-_fYyWW6i{?P1n?P@1I9lT3Xc$ReeQF zF9kn8+sC{5=wTKXw{g2~W18<#6_v#uE~#h*1-+}Sy{EVxeO-dud!aLLAj`v#D`cVb zigPO7YB_Nr_+mh3xacO+>ppzAr=n5}_MutL3q4w%M$kdi(UBuszFnLW5sQA|gCP5a z7}!^L{@Y|`pttwFx;kVdl--TEbIReNp_fTI2m4nc)2E`>P^Y{0{;T%<Gt|#*!v!>U z>z0tiU^W!^uYG+!xmfA|X;oF)rq1tkaw<zoOpJ__RZB4D+{E-_sCIYn6B2Ia<TUIW z#WVA6_vI?w;5Bbn!0r92Ohw+<e(Qz$>aR~#|M0skZjY8s_-;)<*f8E+?ADLG%D1Yy z2z~_aErE?X43mOWPlj~F_`lh?nELu-eJQ+q%~j7@T0#^QuzqW0c39lz7Z8Am(=RuR z_2EK1N#AQDo-babE<F*Ux5>%2R#xG}q?DAiHBS05wluV~#<byo!Jwlyt!ngzj;l;( z+(`KFfrXFn7mx7YvwwXLhbcGbT5Ok;$F|BwIFC=Zl<)h|(|k5IH&;|D5D1F*{qtYr zy?(VH?CfwB>v4NNdc(pj|6^oi%VCimuf8%dzgHd9&ts(>8)>?lsooNNe)5{zxYlLr zi^{*Vv$ONlqmIGvWfuIY&CSh#l9@Ly5TqF(Oh!{sNa%Z(H2rCD#;aGIHvGmJZ}*RP z7kiUfMWoFjJ-|wWp+W0?CnIuSSy@;>AWZ0FYUJ#xva<4BT$kC#vIbU0e(D#%i$BN4 z<Wh9YJ8bxUHpcnDjpO6Tc%vpg9LgvKnW?FLM;(n`W)kgl6Y<1`KEr)}us+rjbV_Ml z@Ts;|n2D*QwKcRD)%c)O@0h}$ZY}5c-u)n?6Z=V4`Ik1S_eH$M*WO+?M@MbV1OWko zKXc|+7<3H`UM42S5`XPG4G$usq@<+b??f0nEpD5&sDJP8FD)q0*43@37EDP==`wP9 zN9kQg#XAeg&}CKmB9`D@oS<!#)`J5k0Rcr76;mUlwcSPgi3z{+lU|K98+M-AcD=U- z-{_?RUnM4H-1(uccewJi5R^LP!sPa&c|=t7TK``Pie!3e)JgSh><3PZFQ*bxj+WNP zs;a8oA3U(#_^kUN`GGF^gk|4X<?e1)TN@iEC!&hli+>6gWpR|W>F{X<Sy|_O2LW#G zgXJ+!CZ>bmy)h*v1Io&HIv-w8QBum{f*{Vc(CeF-2|2&1Or0QpJFC>@%bDJy`9>ql zokVtf&OT9z`TqUKSFY>|(`-L~rx<T%XD54OM1>@}6Ko!8f$7W@3H$zxuv^y};(BdR z+sGy;hs{36LWmL6X3^I(H5e1s-%3n0j)VOH<DX7{2@pyw3lY9~p(Nhg-`_vs=k2nY zUmG&p7(M#qhdeImH~+sCpOk>3{;|>EzX#{B>r5)9O(F21j0{ZgweTia-J(aDgWe@= zqmCn^!OH4!!h%1S0>8Gmb4g#`I^0O+w8YJ!6CWkIQ4&Sm9<HUmMnxa;gpOO!Zs4sN zAe+4i<E>l&j&~_aWR$;RpodjF`ejnqXHw(HAiLU|<m6)RPAko+SNF(tZ29~8I0F`@ zFSzUox-3x-JiVpS(w5VMBt=|H$qdllf9@+qMXLQy6ZOMB$2%bcd3T>+FE8CPZNB~` zRmR`1)cGigJOh<qBhv+19g_}?HCYuEl8lUuE|;G!FV2DGY#PvzyZ3+^<>aP<-$@4^ zhx)t;!iknIDk=FrM^BIV6K-$<4uB~(F*Oy{VP{Ny^XAQXqYcy$Z*SqTHV6lhmAd-+ z?{6g=0x&jjgq&42RaE?5=z2#%@dy4G8tz6BopQ4EFhod5ynY&m!xT~Ldd|ek%D~F{ z>(B7IK`9o#U00VWH~am<0;TxaCNR>Qf9jWJ8uo=9gD%bZyo#J2?~du@AEvx||LWEI z>k@TBe0+Yp3tkz!8`IY$d@EdoFZ!N8-{;hCcXV1`?)NG$EBnRuF(@EA&FJ#gD;)Ed zW=TKy5EqxtG@<5k9Wk*qJ-v6}mb(n|nwuFI7wE06&n-J%Of~-&cAh%4S62_Os2Hq! zygcqzYT6KS?kpoyQRUte5mC_IJ{BBohMSX-5vbUmtje;t{9WL|gKJq*lAk_h1)d%I zg<M{Gnx34}(?}Q`ou7`w=TQr@zJ4{UA36=WoFXT$ZYo$+1MgB<8Ei5CxI`sizcKl{ zIon3}=qL@t{_f((jEsoB6uBwfLeBQ~_O-RO&$EQBBuTydM@McA=DQ#&nd6M;)z8{2 z8Uv09x7m=@tH<OBVh={+;_M$#W=2SDdRiKw%~0bbBO{}`ckfzTGp)3Z6zeA`y$7ZA z2`HIiVp?1r%z2Wpk)@QA5G`+Yd7<p;s_yR(zV`8Bt!vlrM<mqMy@AS{n~N^IucD=8 zd9)SV5k-`kK%B4HV`nGV|CYdtKb3@JY^uQPc<0Z;!q7WKA5qZ>6{TnJr=dZ-+^B|) zh2>&%D#YzJAQPQ<t+Bd#q!RPwq|xcgg`SBC&5ht>0XsUn?@6pje^woy$HaV32QMrA zuOq4?Je+Z3VyTbn=jae4<Ar5Pi}$9wt?kHA-riKxZ()m+C&Z+rxfWwx^;;P)U&_kM zKdY>4uC68@74kgZDf}!p`BswF#hL4wd@c+c+@6zz<GNJf=MNuVn`)VxpY|jo1OyLI zQ^+p<Zp@j3=cA_2s!>-z)Yg6pTs8gqfC&4^;}vyPH$RjPjS~q!sx+7OgZg;w+MiLH z?cBjZO@pXxqMm^Pw_Uk6+#(_=DUz(6ot>(xs^sM4zS3T-Mb%1o@3xJP`|ixQ;WD7s znbHToxO@M8Z)c~xL0z#EK0^fX>&ie@!z>{pNu<q=JgW6r=|4U`hPnyLGp*np8my<M z=jA1&|LfH&a+V|@&ps*lU+qsh^~*BuJeIw85Bos<^XJLv=w8LR40dkrb<M7LdJjfM zS9sKu!5p$ru9DfBJ%)xZ=X}jR+m-L%cfP;>+EeVwxwW-*7_qXdsvT9jKzE$%Kc5?g zANRN-G@Um*`agWo$m*Ghc}9TC#l_WjV{$@GQ*X;>?Wclwm`*+qj8T8O{alxdYe$Bt zw~3DU4QX{^k{q!+s@C*5+E3}|@<&E~ynK1lWG3ElWg`S!tf{F>*^`qKG2EQ+@OE!& z;_6RTE4Fra?ic>yvnonTY#ba#vFKn98>_7y9n&&0P^U1T7S<Qx;^P+=6?r>^;1dwU zzJLFIXlMv%7~BtI1mO*dH)&~KFE~3=D#pr8(=#$k3JZG!EK1w3kG-1c5dRxo;%LZQ zFyg4wtyz-pGbUcWdX@U>y$26QQh3dYWg%%H7Z$tYSGclXz6>Y++TVXe(193b%rYhX z+((KY=zLIZyA|9#{?UH1(XV*4e6BM1oRE%=n>L+qYm4XeXN;)=Z5^FYzLhI84ScBI z!byvgkZ{OCN{)`!3RQ6MmhW`OJ6^kXzO0d)a@k;*5E)6cqT}w)Z)L@(pkOXaR8+v` zF4gJnZ>u50nsndQbq^gq+^jj!$xfJAKtP<~S510)QeB-vK5xA#;HHV<^O%;RqM}Dj z`ZP3axD5S$T6$YYb51$#be&~on`4wr4sNyss9z`~Dn($io`ga_)du8IU&W4z+I+w2 z=?@(&Cx@|}zg)!cy)lkMbmMG0<WfBF_;x(^#!SN)MDF+Ro1hHiY}hohdd9|mDy_a@ z%_f5?cR8>SSMafPbaa(&rp5Z@vkgAwpFe+&k01D+F0#0|NFvK?);O=42bG|LD@M}P z@o;0}@bD0zvYRQeneR6B{_^*8`+=7?Bz#ZyA1+i{|H@Z4eeqn($<lJvh$7@t&S(1z z2yS=LgP0256D~>>^?u?U?`AeO&Le!n*&k<hwTCStdiBDDR+R>xV((^Z8tdxnMK>or ze*Y|t0U1(%`$7h{Qt>E9-PFC|PQcJ@c_{TOW@c9#KF666#$#@lZukK>lH=vc&81Jk zgL-;;;^E^1f_*t^^%plW%Rp@tC4!of^YG!Ht+IC8p9Nac(b0etmh_LkHl4&b&~DxY zkVHgOQh2zzxB!(zLoOOiOE)2TLD#;2`vyb-mO52+d2i+Nn(pDnc>raM0yAl)?i%=L z5x3d>zkf+dNFFX-ZNg4ft*X9m`%n~*VSoSO&?|QQ@NjjDxt7Yuo+ctX0AfWSJ}fL9 zY%kQ;*PGMOTx80QT5*Fy{{CHEY5m>UWIAJWIREl0ci#Z7vxCFWLCwuUioyam^-M>P zrLU!>#!WmXb(U6E4vr^T(ReN<{4EZSMNJ`DhQ=z38QRIo$+5&Vx3jHNI>f{LIj2Uf z7EO20Pko%FpVVH#$LC~Y)791eIeH=f@cYl7;79Y<M@#XqUj3~v5%|;Un<RD$RsM$$ zk!`CxF62C<q@<CNk<iLpw{GDwJbd_2QnCqBcYChI*vJU{yq>P^bc4_K>CrZ~9+*(n z`eodQ4i0b9)0rYrn{*}_({&YrS%l2a&eqh_3{74^oe0n$CC~U6%-0hfA{Js?c6N5u z&Y|WpARVvRb(oo%K?UAQ1x+?0iAvSg)z|Mly7^QVluu1nwbS(yZ7{0MgdN!-p`r2L zoD|~ZEC$0hH95%`@$%)%9-FGd!oteRN~lb-&p4Bn)zoe!DygyvaB{9gu>Nn$CzDg9 z;L}5H4i3lD!%ZT3De~Wy*E8yx{o`&(s>(;4oSzO@8j+GN;N}1$d%On0qott{<;2Fy zoaY*}Di!tEpuYO0KeNpQt-^q-pTsbQXQrg+q%GL@>=-Lz@OQ5sT~isVrj7hCF}>8+ z((0YK^>nhqCOGxKUqjNZlXbjG(Kl<po|k>IyZ%I!{>r5BL>VRR_VX`a?wJK|gNZcO z)SO>l{^D0b#?<Do9m97-ZDMwvGN!BMiw5h}Yy8X%43@Kve&cfBOd=v8u<$86ySl*7 zW8&asfs-H3*T{HCWS?x?_ZkZeiy@-1v61w@tIXWZDYIAl;+Tnn;jWTW&-AoJ&b9t} zZGV4%7y}Jp8~=R=`1;<;z~aKf@1-SUr-|8FDRFVsZtY=VVUHg_hOW-nF3iB%KR6g3 z9=5i!0(1!v4=*#R*VfdufYP0+PY^nb;h%@Jwn0>km7BLfxdWE@m@<r7$HC7}N<pE3 z>oV7Te)ex~X=y1-I>b(6O-)6GDN*SvHWL$*^^aTy4i1i~S{FH73MwjTzrV~pJX=5B zDbh;^LsCmTnh$-Bcl7OAn61N|;I?qX<z=}C50W`KisI;{HQtSAWID!5I$7LSl9fFJ z>1c141vw@qwSuZo#`0q3Bdbl<a{_RlCFO2)zPnik1vt8EE%^6q4Eknf{;iEng@tuP zudaOm2m{B#b8&LG83k7LXv@@MJAspdLD*xNR9c!B3#;Dv(+!A->k<ZTTho7F#CI3F z9h{sxyIaVqsJuKg+D>on^-b2qTwaI|4Y<+AbXC{h&@nMtTlv)T;e+eITVTvdbH5TY zP%dZvnAp8buU~3oQC<g@K^t8YwJyexqC<HqF)=Zlo0~8)L1)L0nV8-!-#XfyI=VPN z?def6H=l!%erG4bRR=h+F<!|eB60-Y6rYmIf*y6ydiBH0G8rab-pkb=OqQ0GR8&;X zUIbKBDXp!o_*6WqX@Z4*A15a#sd&w}*x6I>Jhrm3S_nnMP|p<Wswv#ck&DuO@WB3i zn%C)}3-*(o+*~UsC&>EAwlVBbGi)Fkf122Pd%L?yOVR}Y?_7ZTkjsmnL?+SrmEXTr zvo7{dKQ}g>#nFjNNJx;9kxdlp!eDsE2>!RrZ+Az>;-|Ubfa4v800KiVuY-W2t(xN~ z&4h;!3GVpbejzCbMtx}PNJL{Gi>y^%zF?&v%WcNrV&HAU$qBaC!37K{t#HY|{XZV^ zow3iJ(c&_IgszWisAryR+k{d&X%)7Aa*J}Cu3Mk3FHYf|Ygc|A9j*H2wz{@<hN(|S zq|m_IrmBy|&%Aiwq!SSk5xGi{6`EqAw|)QqaPi9w+}&hxaI)DZI59C1z^c9I!EAGL z!?<F2crCAyU`h+C6&X;DDYtNc)>y7rDZzxJ3p47F^yA${FE1|`IZ%(-gKs@OJ>!#; zU%!5B4*Xa3?}jHGU0s)9Wfz)}3z2}+qUT0&K|#Tr+m_+AwTF-`+p|r^Iy%ES{F&4& zQChmX84`X~b#=#}u?vf+8TfGNXlt*nuloh6eU{VHdtF@2d3eQRYq}nUTwF{H4E)N< zibpb_Qei=X4DJJcee1E=+O;)D=RaehFa3W_==|TleG3^TVBg<a>!XPKG$O*`;X^+^ zKTD^h$3p9W{@l;gM!gd{x9{ugOP3A_HZ!|ne+>iU34C#;?lDFH>X0>{s!x|j$Y39k zgN%lXs_IoDqLh~}7bJQtZUY0f`i(t0SR3h%qeIb3fDP^#VPsod8#Cz@W1%?Noa2)d z|9}9G*t%7Ut?4WIKh``v@W1wPE-l&OT-99KcqN0Y_U5*Cdqic1Vu9|jot=5f0A=`y zjcs0~(8BYWq^Yu}#H3VIlAaDzWv0#7u4Oq?`vbKL2~m{s&~Q9B-v5JvhBliey#h|u zGC;6$V$ulQ{eq+SrqQPwCu8d4h)uy7o8HDaGk4mrebSHU9`Z52sIC3-1cwSA@A=<7 z{H{)U0s=2lk9JB<v(KI{)}Li$s5)(WkQDs)`syMOA3wWh-1n1Ft@FfdZewEEaca{D zO*6B%k&#~#807BcV;CA3$SWv7r;3V-#!~a47o*lFxlZ5l@YsXgdlqx4O5?LRxwN?0 z;cEWh-fS;F#-LtSc`Scp=XA1v>K_zzPAlSil|~R~m5=(W^X+knD<FE~nEIJvOZ`gA z4s3gSd-#G_raDU!L>pMVi<1MV5(!>gqrk@!l9F`Sua7^;;N;|Vad8pN$KW=on1@^B z=H{xhBq=f9Q&h~)%Yz2~SzouevGM$^w)hc#;3GoJprftKckkX66*=zd7Nw6*OhC-d zGzFx1^vprMhGKFrmS#jExeEI0<%7dSsMV{h4gsejZj$fw^Fbi|eSJ+DeRshP<A$1J zd`m{p&NnnPe7vNEoAdMMPq2lDR4ft1sj7s8gm!aoJnZbhCcU5Z+6?{iL=Ov9tNXjR zw;t<9eosE4sJvXj?nP?ZmdtDtp6ycbyL$xdoiq!KjJi6*ZSNF`=<hs|agv*Pm3$g| zLo$Oiel4M@>aWL2S={x9j#gIVR#!9Ye)ntX=v)){@~yM8f-K01?pCN<UiQQ%w=C2z zFMGzu^bJwh#J7@>rF&;*XR}QK&?&co6}Gp_^Yg(E6%G!fc5eFG)3dt1p8x*+*}s)6 zF)=X%Kj-<^&!2-&ig|^)ex?aILAQ8;ZS%&kCK@EAL|uA1Ivzeg-PjH_lmhYjQ;mLm zkjG#gBc48m(c)oY@!nfj1FsnO`d5|96zYUVQ&ZFX_wVcL>qDvScTH$}f|Dic@u8%| zdAjZ~R9YZ%U5;cYRT?uq{L7Cjw6!mz5)w4yv9fb=7;fDffwp#{^}YK2`*&IjAX*3{ z?wEv38TZf8Qsb1A6e?<J18}~Hi6qyrzc{c#AN+K;oE$-CU}wLts`_G`C_Xm!d!=<Z za2qsGM@Of=D52K|XgNDO8_EjP-4Wy0&GY5m@mXD+5>VB()YN8{zpw8Q;^4j}B$zna z`Gpbi=?T~cUZZM<$?Av2dZl6^7ZS1sRaHY{W2p5eP_CpO%_D2at=#G^R|g%r?QUp5 znXR<xB`v`}hejHIa-C@jxm@Uqsl=l2<?YDZv~&kLeW%Ih>gqaf<N;&#(SBf=Ch3q9 ztUl`8p1no*+IJ%UR8_pEr+QfWTPd$!e<&}PcAc(+Y%(@9EH!NyotX(*=!|x88^Drr z!)ek+a3jDU64FaG{?prU@ZMC`&``w9`|zRa@?~PL4SLvZx7o&T-&F7Rzk?LU@)oV4 zjDDv1K$pBSS^D$B<`hv1&p8tdi~rx>!JNfE8ue8*E(;1D&Q1=5VdR)zEs4RDXuP3m ztU^Y%z7`TsSns#TayqBVLUt-RFL4Z>Az~0}Y(-QC#;0)*%1~k&AxGV*6=(y!kmIYU zs3@qjQ@193C1&zeQpRZwm?HY$O2!aZRaX9TexAZ_l17vyhg(>5VX_(mF)`O16cZh7 zNyWy?8y^?9ygP)6;~hKRetz~cIXSPOfSQ&zpg5IMr!XTU0}TWF(USVO`fdgoMOD>r zkp#5&AX98@Z!t4R5a3{C6Fo6wM=)izwTFK9CZ*FucHI<~6yxS5IDMkbOiDmNpz&5h z)Ooz(ZCuq8U_%|9fMH1s=mC0Zsdazxw{QEzKSf65=C*%{ZK*lr8td1U)M)KkM}sEn zYih3c3ZV9^kt!)JUKD#qM?yx{aia>yRmiQVE6g|phTiA=1hpqBTwv6|xdPW(^cp+) zO3(#7ysip^3@UbcaV|>qS36Q=s^d2~1qCop&x5>f7N*@F@$}NfvT%n*>+}>JQyM<2 z&gJjvs4eLIGGuNN<3=ot<4xCl*#CDVSN}LiI4%QZT0h-y64`O|j~h|DySsukrLiL; zXsfi~0kb;{xb)Q3)wQ%pT0WbkrKJJ3ZftIXZyPsCt*g5umdV4&SmiuX^>Fxukgza3 z*p=hwD<F=|zPsqczi77&{BaBo|Je3XR+|&DqTethQc~%=ecQouIbG(@AOwFVZFX1R zpE`d5TugNElSV(&Q~2qI#>aciQlFImBWZ&mK3wc3^6@zW_f=I@g(}~^_WIB#cSJ?c zL4v@Buk>efa&hTuY4HgOd3ktztg3QsE=N(DUWviu)j<Zlr=;}s<)x)ffFTPDR{bU- ztgNVI5(8P%yliX<iHU|y{x#2@;nog`AwksdwUM2o=4L5={=cXl*=|VY{%{C%3ju$$ z`8wx^LmTRn_F(~US@ZEDK*0sX2-a=W%8ClW7iD#ITH$Zh+Xl!ghgjzB?_PZA78g^u zBJoIPOK3er8YL}lU;WEF+ZAX=<JosqRQkrp4S0EZxso0EKm)pkNS#|l(Lmr#W;7dL z{Yiiju<VEgC4|ybNkn*Uh&x@!hm$6Dd3CkUx;rkGRz$n-Csd-ceC>mS17TrdKu6O? zU%r4uK&?qAM<rx0R6y6?-%ny>WR#VYBa!tKll*VXzaL{`DW=Q++Z@0?zY`t^B{~g0 zZd7tuGOZ|@IfeXia9I7ImJSSk_a^aY_jj*azV`JoF*3GybO;Fw64HqYT7P+QxW0cA z>aUtwET_IJ{Ku0}9HNDyqN0iP7B2;#s}t>>p7WIXwKxtn)S&*x6&7Lf@k9XxLl27e z7$N}JIt-t}sJo+1T70J%5D@TD|M{nn9~Vt-)!27-cY7>nLAxB^%343+FfI-!ejXRM zHON)ITwE`9=guQKz&pbl$C2%pOIHhvn~aRwAnaLL@h+xN_Q1<wV`JaDcMmMzwQJYL zDb1j;+fc#7laP?K>7{dVa-N?36KGENK^qi6g*zP>3@;y_fv;a3PmOWSRz1aJ*`%fC zW@k}*qp$vWw_%%z)i#vZcep*bvbZOG|NfOmYqV??u**&^l4dF@#p`Nb-3i>Pia4&1 z9Rou3V)*uaKd-H=LA67jY*}6X6K>Vlw+`J5Ey%E6$y1HGF6r;NyU+#SI5{~Pcq=(P zI%-z!@B=kn;>EQ+r!uZdMw-|!vyH{3T$C|R0UgVwmh0Kb&N^zULhW_P#Ey=4GY$21 z9qj>se@7P<{;6>qV^K?s@R64;HETK<%xTROf8w*X@6sZOgs=5yzEO-{fYJIlWc2?T znkguH<CWHs-p{-|B|<KyfBZ=FXp*|o=eeI(QCm9;cP=sf$fEH!BP~rV;Bcc*CqM3* zzz2_a^mjk4#qE|M`w04UI$E~ERqPJ%G~j=HafbND>(V-+h^#xTG4C1}i~}E#lDg7R zKPu0_mnk0{9~ZQWn5nR2n%rbIgvW;Zie-7V;@LB$7>rMor6cudMx~jqP(-z~w4n6a z_h-Ogehdw9aC0viAx~2H&;CLJqH;u8`S0<Kk&%(;XV0pSe*%npZ_m!`ok~*E&`A03 z7u47j-H<??SNirv6mO5sUwG8lJf_c4zq_PH%|+oSB8rEM`bDP@RcQb{U1Rs1h9h}x zdHGAZos*;ETj>xfn;zm>kqk@JF^vwZd_G46N89Ga6fXZ%t{~yg9g%bj3g+~ZlTUnZ z(hcT-me+`h$i$=!Q-Io+ZqC;8H-cYTnARL`YqJE83WaxBrL6e<`v{eO6Zpo;%Gl(` zOy6NFv`qEwPI@W?6Ah%OdcHH7tf@@;Iay4X5%?ykm?fp9|Aw;b>QIYN^Yd3Av`~iu zaicE3vpz+}#4?k5M^`ELi7M&-Onl1LWNb7CIi;St?s)TO&z@=O=yZrv4)Xo__3M8J z$CMQp3-I%&2|h%<Zf<O9`ZokOCJ}y66BTrM(Ihgv?37Z;SE7#Tf9qHs1Nme>@V2H- zO}ShEh9AT<xCWT)Itj_+`PMLKiI}J;<lLXtRaBUOf`YWTjE(&K+30^T*%VM|W@e0K zxj}|VJb%&nXOoVYn0Ws8?@kpzj%1Ds5&WwJ1S&?KU?{ilu*cp5N$(UM*i=sKzd}I3 z&B0MsQSnB=J`P+ouwWD+U0PC7hqV`a*iA03>B*0Fc6Oz)=NNRTMb~9zaX#dTCpG~0 zyfpPyln>z-5O`ca(_>DKXFJ>I2hXtN_EC`L``jGrygN@Zx^%X0R*;?56)uuftEHd4 zH`9P;lSc{!><NKvcSSgm<Cre1&FO2`iHSFsmby-7??_2WL2=&r_fMcPAt@<c+{e{v zpgH*b1T3NCwfOm@SFe6gCl#S~egVz#v~{@}N}Q|728J`>aQ_2ZHBtdW*&2dM{>{l6 z^ky^qZCuRuBvuVBF0SL*zuoclGcz-b3k!pn+cWIU%<}oesj7BR_BS^+P`kYbpZS*Y zp<dex*iZI-Ri+nRkhY4rGWQNWl=u1b=8N6#T5%sM0K1K?t^R;6(2~#f^#`d$3Fgz! zNSH{;$fnqcX=%kl)^Eh*mopOMrlzK%*Tmu=jbww5agq7loE*#H4{AYwoQR|47p7$s z<2^k+t*ornGsSM*x}}h#Nh}*18#}I|Z(!iN{4G@>hO)4@cpz0E%7dgLkx7w-g@v8H z(7<@WwE1ixH`n_fHu_+PL-k2hKz!O8RaKQ!YC5`^90@!ILC2p3&HHG7Imt*#X+&I2 zrfeaWSybPI1|i}7Iht%SRJ^Dee`bT6SgkEkz%nv3Pse$&!eo>*G{#0omIC_5t<3rO z_>60ve;Em;$}{q%ewzzEbpa&cR%b=+;z%Fj3kj%}F8mn$<l>iDUCo5WfCyx#;KPTl zk>XdzpKh2n`hF~o-dbNjJ>72k#HaCr00W2ccaSh4u?={SO*_<E>f6G?k?h%-@LaDm zGYR^R!e;Tc*^vt&kfU@Fx5F?)ZPdAU0B=EofuCo|W4hW|6rV;#ot~bCoa{%pSv-6G z91kB~Ustyx2EZB%>*?Ogz$eN5y#H~={vVy)-GNol&*9;X85x4Ai`bH=w-!}@6)i3K zV!CJ~#viqzuK)!fLOu->Y|S)`jg5VZ4|;Lt2r&ba;O_43J0ao?*oQ-SJ=D2~?3w%m zWJ$>Brbr_OTJ|1lZZ2xW9Z*MK#Ws6P^tPd)zq^awbfpHSrkTmf2N&n3z=$EoJ7At} zv9O>Pc`}gG($bQVSv#XH)f`P#HMQd6;#5_ZFd2(VgBVI~JUqOY5ahe^Kn~?*O<)Xx zy~~S>*Bvqt&!-6q319|W!!V)<XuqT^^@B@+{Nmu`Y?vi)#ZOeaijTkexZ6N1Q|jT+ z`{QF@gOFS~P-V~!9@EdAD$RKR&Dajjf}e7-W>o^*xwN#@m~ync8~x(N85Hf9F8Jw! z{HTkD-=+t6u6}D&L{RWedOB(eL}B55B_$;jlQXCe0`~pCk0_AA^oYpFGNT&2i^fB3 z8-7D`bLm^Ro*sE^a&mG;5z)WR$|9N|kB4!ru<Wq1wiXw8L5Z}XCTU7Tm!zeq@8z*u zT3W*3f!!tCd^J>WB!N0CJ&iV&pf@Qo@uAuA@$RB|ORx|$NmzLF=TGN%6BL|!*QJB6 zpHf$T`UI3-7aopoj)9YXWO<t!f(e-9_P25o$UorjcZ%^_nx){q!LHfc+sg@$@bITf zxc}~f2>bf=>jE7<Vv5CijJBhrrbf_`MkDU+eD`ixdb%;u&jl@8TU)?%UENn%S>Wj3 z<>cgKWK6>d8*?=V{`(8zKQT4+DN`{Msu&m7i!Lirj;E24vvrR#{<0y&vdpA^z9w@* zf}uB<@;VSCD(&y>tvlR!O02D~uc53Ao{J$-X@<lg3n&nB(AvuCW;}Wj#<gt(Atn!M zh|*J2E6vFXQ)O9STce?+MQy`IOG^a4a+shw;D|6?$>QO|Yd3E6r`%^j_OF3?NBtU; z-xhB+ER^tOQZFGPVaWM`{z{RGlG5~NFDGzHz@oOdsX=7U2+BW!?aj^2MWJnTpy+HR z(khYw75lzCBY*(vU_5fXyy|K}KEB<)6kgPFj0ZtMK@ka&k=VjksB<?(MXxc)GbRE{ zgNoVM*eEM2qjqQ8oDwOi5q7j(p^^08pKp6|1ydHjBP%Pb_)gMyC%eAB9=b6hL36CU zsjA9-w8Rh-{nyT~j$-}t$on0LponFA1n4!7VHG9=X1dxHDbi>`fII+dpCyb~c}AD< zinfuFg8}Kw7tfx-L*AYxVvx_#e51PjoPx8~WomSxz#Z}DqeMcxtSSuvPUg?46d@)B z1d_U}K*v6OU@5_Z(2PjP%A(irgXZ8ucIH)8@o(TJ_1aV#2-3K8J*O~uQabX#)o=kv zaeIYe%KZHP5uSetxxC0U=Os_-&ET_+tgrXe)1z#e#LO=L49Ni>+F0P2$Hfe9Xb?Z` z$l$H|_))}lx*$J4>Zt2iw9L&nX=&J)nBXjTcWba@9<^4HA!qyW?9pVbe+|I9p91wi z_V#WLIu(A>rm3Y>SyO}BxB{}Mv#SgIDH9XZ|EBxL5?kG-hT#PCnXIsslb4sjcMm)E z9<7+CgOU<zts&$Z5W7+FEneQs!%bsIFyOF)0=9^Rm>3lc3kzrG4e&0$EuXjNTK1eQ zPG*||Q0X0X>V52ui|`H&57S-04hfg-ri^H@k&{MO`)s2))q9v79Eeolv8JBhmzre1 zITj9%qU>x72M0D5mPphrKh{PMQ3O*V%0Cadij;~9@QaK^6|`;h!g6$U)UMLt^l01d z-Dn)0xB=JerY6aiwxH8PU_%`pomq@!{c>HfWsZ&<=4t5jV|Vk1<z!{wzklCjL#+?4 zk{mBg=8cG(+1<NnvzK=fq=|xy2UEuWeSUsCjnLPQ4ms#EISMZ?FL2+Il9HFli}9#q z;e~|$tgY2*&Gz?~6&0<4(Ay9ijEX>!<S~`YXXD@?1cY4~0B*j=n5b83l$@0G5qiS; zQj9d3nVA{0xaokIF;OW;v*KT_F2_i3@1L$1Dli(*6TVT{$ZF~QAvKa&={oZn3JDH2 z>H=_*^4+-!|65YBDVAelVF5l5rQiBCHAq?B4+mTZ(&(Ru^Ed<q1W?n#g)eLL_V#-1 zav+H0eLcO=Dbyv-#I!i^(H^1@R61}vGA9b$p@iSx_eDj@a&mI!=Jcm*r%>kH-BGmO z*Vkv><o}eI|2FDs6*q_=W=!fG8X8JVOOuNttf{C7{ceednBsu;W+wjszQ)pcEAg=O zc~;h3^~2%7z`*eEaBy10vY6;$_ukbs80l(hkpy_*sT&#^nl|Dg2+#ih{>c|dOek02 zlTiza1_rXgznh1g=Ru+u7CyAIJ3QXCMh}x=NlM`|{0lg+NXL#Kp7=_6$SSi~<_$8` z^@O;py81<I?7`o^?b_^=F;9sXz9ynPQC3!q(-_YoiJF>P|5PsbD2O(Vu(JV_&+R5J z0%W!LeO?~Dq`%<fg--o)Gt|~l?N9M}cz7r&DHY>yaP#tZvyiqHVIZMWSC>KFu9*m2 zUszmxC`c0!_Lp8d_-4e(!FsphhvsH81A{job5l~N?87LXOh0=@gV@YArg9?CbmsPL zUIej+&IBxacP|z?R+U8nlpQz&;&~jM_A0iViOKbCYBVIfL8ctl!%0aVki07cSybfY zJv}`oW=%%&@|eaY*BM^@e_p?=0l6qDD!NVA?e6~>Zfk3UIP2=N1qjS=TC6qTWM=M! zumjQ4)zN_`G_kbIfpQ5nlb)WQoJ>*6ej7pNm1Jd6e4>-D9&~XgTFb;8;AF&-bOnYx zo43Q`pA3R|KZ;T=WPeplP7b5NRYBn?NT7ZEFvN~|bKw1VKMXEgCU}ySV_&?m(eM5C z?K*TbR6yuy+8Sb6h+*i@E<!6uN5?X=CJuJ?-hkG?>0BxVNdtsQzw_8?Z)6r_a(x^S zWYE+i#taEw8>DQ)Wq{ZR8)axX0nZA-u~&DL3$6d~!OqXmZ>sOS##amj1A~Ml5m*We z^_MSS2p_C0QZ~U|a-oAD1Lj&nveffG60tBd1BfhAQ$YC8Q_thbu>NqUMs4(8t*7<h zwW59m!>O)|iG;po;Nl7dH1*qCKHnRVzKV?@j*D@IAVJis#yALEA)0KjR8n|E@7$@t zk&xrSLRLHeTWwXQ@bBbJbC4H;wB2P%g7$8&tv#2F(8WUrqfoQqgQ1!2;t^Z2H;Ey? zcjC~I!Szam60kor%|YUPyIr8yMMc5Y;%d5g@8*azl2A}Ua_|WXR##Aq2c7IQ$VGZ~ z8zM-yOT`8zBAuL)(%0Jy2Km$KT#GbUIw7)($CBg+84aZ;@a*`$vGH(w`?pq$gpv}$ z6{$rN1Fq4h_+y!w_CAUdf;6QiB@#kHOgvi(T3WqOON3pg1wEF(ZQX%!smAutLykdC z^b{2GJe*{4`JtFPkKb;5hame_07ot7hb`6BM=_M&B||O}a&ma$DOSFvPL_r-L>O@C z$+oY*Qyl1jD;dy^ncmte2f8*Bq>Ui0ttKc+4?6M0dm8RTeg;?-<%5fannm~8oE#s& zpcMgV;%EOenj<&mJMhjQJ4}XJ(%;wDcd#QW<?Gkxv^Q@685iitk$HVI)JhqBC`SN! zyK&(IY~;#XT8WK~60>0l;-C8YvzWgA*wiOCEG!qF$Ei<z?rd7~r#AS|?;a8T-Psxc z<VMf+2?JSmz1>O_8e(W<w6?x(Z);oWBmZX;kh9Tm4~Po!)C~$chbSK&mX=pIm$Z9v zZT8nrgc9?~@tKCAqEpxN1E{6=L`1B_xV|_L2YuQ4c%he2M=L8U+r;sjNhm4%zkUU1 z>lP<QWZc@VDospH-R9!__t~^HG-$UUiEZpI+JCg;o~nDi_?p{zCk_i4OhHW|x#*aj zoSdC)cKh}QDhSXR)o(2%G;Xrq17$qgJD&KXmIBd82Y(C0Fs^l-L2WwIXpM&K+k!Vk zKAoKfl945WO6{*%1_N8`>mQ92>+5n*Y#TuFgModWnE2yxGo;LP9g45%!k_x3FR`m7 zCGj9szTN1^YC7um8y1W-lwJ@}U!0-)%%u14-D43IHGJ^kf46y&IrDRRIwK+?-Nt>} ztTyNKXS<$+=)DzjdI?`*)F*<-uI^xDqxSk@)p*NHjNA11D}S^+*lwS#=`aaM3oS^& z7LS#!wkN?&lJT;*_m!SOA=v6kWcqL26eS`vhuNf!RImMA>H}p~Wl2)cU!=n?XCr@J zUA+&I9Z5tV2k;O&Yd<L{PE*RkvF6r@@rwxiiKUH=K)~TNSjTw)^=zVZ`CJhMp~Xeb z1qe4|M~sA^4fz^b$|@>HuOF}}F~2M;+XAxxZ`5T0*_r}=#88R<qQjj_P<sCqpN_}u zMJR1I61s(eEV^9dvjTGZQf1rsOg{G}t1da-Q{}v^@ybQ$<=bUM$e<_y<W17(B$n6? zapGX$Id&c%;FC5~9MEIJEjAO9lJKuwL2XhM8%q!-14JsHn|-#Bpv3$iJp5i*c$t~` zzq2%7_-Mi-uED)ePQ*w_7kqKrH6kNFFDzI=Z~gC<@?XRu?4v*;rkespczL%$&7gBN z?%!wU=I(l2<H?^|lAFu#{#(h|cnZ)4?BP7c6(oD0=ll1O(Ho&Y<bn5?Nri+)paQ?} zxd}xN7aX;iMQbS9+yAcd4k$K+rAoi%=XangGbTD%TU$FhH2}Pfj~l>EPfq+PW4u=S z={!6<%qDZR3!%tm)`MI+m_B%5dwEfH=2-fFmzBIA%F;J|sHUu(3(~&M2OpzCRdtCg zSE31%iEwdmi-_3YrjEZM*-p9Q<>}e!T}~tDkWgCc@=5**f;56(v*Dj>rj`h~aG$JJ zI6ZPRtRJG78||@iFQ0X%LvB`J+J41BTEY{V6xB2CB+BO8rUsiD7@?`4fR(AvN*aB6 zI(NAfM~KpM#1lciaeN19B<8>G5JBu6L%#kJ!nCX`u+9k|!0JV>&6jT0rQg3rgoN1H zdQwwU_qWR<h&i~pdV6~A;Vvx&-AAp~xPp&QaLp<d#n|QM`F8dzdb+yo92^ElX?=Z{ z;zbojYl?Puaj##0E-CR04Aj1NueSCOF*V&BHNrrU>!?@!K%<VYYHAL^wNx_Wq5KIY zm%&Z2#cmc*)U;AlC)CwB!7HiWBvxW(%<PxJooVn1-WX4`@0SOMzz`80u8xhBDUVxN ze59cfe|mB-wezcXX(<`CTDaA!vOxEjWPmWYsTjS}-oHJ4Lc%RHv|0VK>EJyU3I>pW za*QW;xoabby)ckg4V0-HMlCk>QndsW1i*c2Edk9C{lAmzbw0dcO?=kXm3Oq=&HjHT z*Z)~xuls!AwmvFtV!Cn@)RI)ssV&^lV?}*<gia|>TSt2~z~A+7f7;5<&dRxDz*Y3- z&GDfj2?hpbQ`4oXPwuw1UH`X7G-#nm^758G+7GOHiiODlp;Ai)-kH6NhR8(O+5}z~ z^W540Lsl7ee#%*2FKT&7Nkx^Mn21`E9s_+}Q4E;AG24`QKKRYKXX4}CFJFX7NXA5U z*r8LOJtO8afBE{gEN;y>4R8?ZCDNn$?QJ(p%P?X_(&&x65uh@kA0s1i@fu+LzfIQ< zpByBuG%a+;i<X-;onADdrwb|PBz&y8__#fsA?iK2jfoHkLdS(Z;R8=bCoU`{^;S8r zKTDc^`w>)b0RX!@ZnH%P>pmssEpm#AeP8TeG&IDNZM6y){rvfp+ib({$n|Qp{Mwj? zx_rcQ2&FeQHC`EAKY!|e7V(5O;wa_Gtk~Myv$C*!$j?W;!lKebB!Dcyw9?Sfv|L_@ z&sOd$%QI@-yLV4T#p!tGmt5pk1}IR9n613strmmnB1c)0D*ik3e}?m;yW^f_iFxsH ztd%@{YUuRf?3`$(iT0z*6n(KCHz@_hU0g6&qM~vU1{qy!<j28K8L;Nx;d!E_6M^~c z&k)Ug`}S^*rl+Ui(r=sj0W(%56_w~{EvX>?c%Pe1q)ELTyyf3|dy5MTAL!{BRkZpY ztc@5M8Toc&wU$3sWid30tE#^Kl-U17@Zr~2Sa<KTR_Nk2w6$5Cvnu)@?-Zt`Jx>`^ zK1`gR<|QDA-F#cnH46D^zH>n3i9Bh;B_KFoFIQ7#vA#G<#UZ*7a{sN#z<@XV_(0Fk z&m8-zW|#Q$+1Os24|%q;&F4GYExgz`I03%C&Xd*mwY5pN>yYDHx2do8Uqh{jAtT8N zzBCJye3d|~hzrg#^CMm|hl!qEzabynDkkrWW2F!f4Apz>P<_B>9-jVd*RDB@*7*gL zlTcB0i07IS{VgbCB8~p?<plnKp_B4jTc~vj`}NCSPOii5+nX@J+x?)($VDoyH@2>* z{Y~q0bJvb{_XLg3e-@68f5gUq0=TY``I(K2i<y;`iGgAHw~e%A`?zF)tX|1@h2u#3 z$w_1k)n)W^f0;bIPXT3=#_P-L;846}IIw)(PY+Rhwi8{;z5Kgm>f%Ds*nt*G8!d0t zJU!9Y)<5QRRATrMb#Ptqxqssm^z8WIA(}@!76#Uf1NBwf+Ao`%Tm1Zax^Fyxra6#_ zKl}Nh^{phs!2!YA+IeQihKRGl-k;%>XU}L!NJNNb#l+Ia%Cj=WMrvj}YQ~L@Od)@E z!jX=+yA5E_YrQv(>{lkD2wk513Y6KQ6LtU6ZJ(c>Zfsyc&83KjY&$!b)KtGBqMQ5@ zKtWR~CGsh|u~FO1%)1qNV0My1EDMTKUyoH)HRQs3)XnSdjeoHJ0*b*T#tJ%erVW%; zy_gkpVffMR`<K`j7=kWf1>Y*W?^fL02Uz%{Z0zhVbIo*+a;tsv@&!;e=}PlTrZo)f z&3!sSStO&M`5-dcdGFuX!Sz{8<_4BOm9g>q{5;*o#l^2*zkq>c%J1IX|6a+#MTsv~ zfQHPV`RB<LLxx?aTS-g3=HpO-gP^x}*{a{WclexwlZ%T>P)KN(5GT}3#>6Dtsd%~> zct}rH7JZuyK!|u>IZTgE!ndNL;x@Al>&7)Ke|BkUUhYyfGqZ{-{D_2>wl-7~V8#nh z4i5N7yExweK*7Nf+=+}#D}6|buKsrXf9oMrRVV9*LEBNU^iY)Kk7jMX`17YH_LDH5 zn`gS(+D6*ijy5(C|8E^1th#jCZtlpfJCq8gKhb{OtU}Tm8G4iQCf-6#wygZED~u*x z;n8eb@1mP6n0Kwvp1u)Lj(&=tmK{!F)rMPn6YrS?=D|G~nfK4gld-%Cc>*rqNTfGa zFmlCU9G^>^5(#+p2M+ip*oX9|roscV==gO+4y+QQ4{{O`9(pXR65-*!7sqWyZi6JA zoKSsooyik_#tcq5v&~|Ba&m|c6TxP9rF|1UzFXX#d9u$*ON8DDe=zIc|I^ZSMm4o` z(I7;Sric)Vh^R;}Ql$w}9s(jwKnUd_C{m<_-tt7c8bnH@h7O4$hLT8V3eu&6fb=fC z1u-D-O<dny`El3H+?jLFoOAZxnY%K-#SIPXEKE%`1J3<--2IJuBnQt8<gmd4zW4Q+ zSaFx7&_mj_M4(rkoSlaU2g7&TZAi}{cRqhh`?a!yi;Ii%rKjP7Sd`hZ!vY8-QtHO# zH;EaCOI2=)K=K;~oP%&>8tXq}0I5tOxtk4`fab3uR#s^uW`Fm+0K?LJ9vg$h;UQy$ zI$!!k$Sus~66}ey^XmM(b^z!9ZwG30aWQ}So&btOIyl_tpI_i$B*-Z!aB$wL4UlTU z<MkpYG>z&)DJzq8p{&K(snq|?pI?|LUKoVXzR1g)4VYS2^Pctf|HVhDAb)R9TJo6u z2FOIKK_Mh3At(718<0{h4_)@klTuT^cXYT)5}lzh14|hM9z9AZHVTlJt2~~jb=GZd zjy!iMf%v$KQ(?@fkxmyrMnN7^G+uVA1gIF-&QXx>$YghLvEj&HXI3qM{zc*5+NiAc zJr?O{ahp$Gzt*h8EZjp6$VwAdU(pzQ@{lFXty{O)uiwp4VS+GQ3m0lcrlu}Vs(a10 zyn^TJj<tUM+VI>W@^vYEf4mxT(wjTII*hFI5{N$MGy8S<?c3k-ZmD+FI|kN2To4HM z8_JvG>l)jrr3Q?n^o8{FYxex7m@V*l@132OMz<*M6^D0S?ps=JZfwZ<zh9WFd+tzp z1ww`g?ujy=A04e$P?%FwvyCE*3q-n){VK%aeoIwvj!Qs3=M-bHK^r!CSy`pUO9vR_ zWLcif>q|&WbMw^|Qv5l9ay`Pr(@K><g&XVNE~_LGi;JDn$;rg3D*OX$&}|HJpJ3#D z3k%o<)oYQ-DQZRfJWwdbd#>f2W}xci`q)X(?~ln%F1>vYh8YT0aCp*6=?ja&YA{Fb zonrI5l+;wm>xKtzUH@2(&ZVaVIX}eB_4AC>hLohFVB~m%z3|nm`8Zso6VA6U$T_P< zUb=T+c-ZAh;P&+G_E<J8K)MG8Dwr5Ap?Dt2A&S(7aCp3kynMy`wHrxTcV}nWhhL3v z$3#T)@VE|_O^J(#7QE~9@k!6kxopIM{rj@GwXN;*l$63(U7u*=P8zk$EG=t-<>zLa zWE9{b-I*?;qWYd4nP|&`++5|5Uvh?qey)eWDg0_UE~S2e*IK^=S&QpSN_>ABhuPZt z!?aFA+GXVB0Xg^gwwj)vzQm6l={3e|Xixa;dt_&fxtg0-y?{x%xVa7R(L+wF+|r=F z9cqVv$cBcG?+FPl1vt*lM4l6&Zfn84qA03Fxrv6?`mMtF!Uv*R`5G5E(aBDX^~z@Z zG_qWbxw$G>)~UhxPKoZWqlxix?Lc&0ona6~LXsG`=h{O&&K~<=?blb`X0+r%e0un% zQv#KsewX14;}03{*$1wNy8KEehTWKxxUTQlBf-;{(b`nG>S;C6x=Ias?QfKR|BkfO z&(}>57wZIw{LyO&?=p~1ycd3whWyg&zrIuTQCcw4*umFtba~mC&IRkJsacP&sNnR? zD=G@!b5-^GoTY*;C@4skK&(pN<;OgVd<~*}J-E#l+1NxoG<bjcI0h=cm7JPtZH;<_ zuRP1g7)~kwsDe!YdEj-EQsYk%6%*^qR(sJj)2oJnY}tLTGre5jl@VZJVbR*mH|@2f zl=-Kzk-W8~u@c0=s}Rb`&i)U>Xnhz$Pwz4KfaJjq%{KGf*Q6TThQ&0s8yOl(%kx!v z&oyjJbZ+Ji?Ji|jBhVJ+L)yAXd)u&L(n0rGb@!f*4qN=Jfo2<u@5Ivd4L0ZUNdoe2 zk+litta_#%gNSH{ut>YA--<CTQF~>4o#ZD54S62XNG6Y@rNyPB5NS^-uxaY+cfcg9 z2PP-OH^%#-qa$W#c_k%LiHWVWwEIi}yj-8A8XM=2j|MwB#_H=aFwR>x6^}a)_NF4E zH$r!=2`TOe7#LK99bUm2xY9m6hWc-^R(zBek!on3nQv|7U-aRf7_YUj4;2jk)}3|8 z%n}2t2)1a^<Nn~jjby<3kJ3R&5J>~YV}jQ*VIKYC<L7xpzW4Wk>*y$76`<9ymzI&y zH|p^U*nd#-9ofQ6tgI9#vB!O$+wRUjnrM0KVQl;fGnL8&dowsRw9E>HY(fFZ)JH_* z#j#5)_FyE0gv2By)SO~JpwTLO3Zfhwf-EfNnz8Zm<tSDI-58zHD+7HFQ2IkSJi$@M ze16{Pse8-OAH<W8kP!E^Wl8I(7=A1cr{?u<LQM@*5*B25V2ITAwpI3<H{tspm;9s! zwC(Irt~y~QQ3!Ve0d%URb!3>;ptt0alEMKE@$<97<JGOL)3NW~nGEYSHs$m3W@u{u z;k&q2SXj769x*YQTK)O4u_>W8xS2yvPL`L0jZMz|?K2YT2XV^dqKvkph{(cf*>H7D zO$io@x}*j;V3+Ep&BmzYXEG-dsw*q5^k+}IxwwG5K>nWjRtj$@!Qo!T>7DC#cUM&v zbuGhhdvS0)I(rrdgSFPyHpa&b4NjWB<3v;&;_=SV){}$PD8M<5)Q^_nG0c##$abgb zs3;(WOK`5rN)mX&u~#dK-_*?WzU45Xs;)@P9Dy*<X-=A-e+MVfrDycmlsjdm4ADcO z(5djl()Z#Xc98!9=#U;7q1UhH_YYKDxq>29cja>u{LD;D+WC>=A;+0bbK498K0f79 zQ3<4*x0EP2oG1d6u`>HzI$q!!Ev@|Wa-W({Q`k*F-8$Ra7(A<k<;_eI@m@2kUpP-| zIrQZPIXLK+S0JE@W=bkO=PzECka+q~23KBg9hje%c0-^bFK?%m`(W%(4d|f#=t$^M z`<sM@V`X9ay_O}66wEzS9ZA??vJ)4-%YI%GK!X|4;igJY|A3>eZfj78R4!{Q3Iz<_ z+45RmcukXoZb9*dEa-Qvj}ZY&4c>8j=;cK>5qJF1<5tT6A`Oj3<MB5ptRT~M&rKP> z!p_fb&dkiM)^rXBpz+%b^f4lnliAm=U#)qvvtm9M&%vAY#?;BlX~bPZN9VLaWUJef z4{yyAAfPC-%?2zi72P!}D>v&dMg=NQJ+n18cl<YJDz~0T!ChEjzCDTO3#XbIVT(pz z|0OGLO7ev>0=7mBg$-RNA046_Ybq<{l2bUMTJJIR4G*&&C-S(%;k<kK@87>fqjimq zf0n`nK#;2iZb{4T642<H>1Bt9%-oP`Z5`ADP}KJXf`Ym_rfG)Z_^95Ik&zLoxy8lB z2c7f~IZYAhEU)Zi-+SH7FJG=1p!@s#%ULhIj6<Oe?*18_oLn?CJVm=NBv`mMf*);l zR@#$K?^$wlNn>x^Jg^B4Ui<jbHj9|RBVUWoKbNqz0HglMw>r$%U|LBauxTm}TE6L@ zTEy_YhhTb;N9n@@_>iFLm`H7H-PX~OmoMVu1tS?O_Sx{!AW)xmJ+2sCBl6Qjq)T#> zBkU4WQqmN<{C~*7HSbtk6OsmIdwY>)Q*Ky4o6zHvP~C=5rLJCM<Uo;pghXLs0^Hgf zsvhtD2qcN(eh=16=tbx!|NXc%8`J2sinYiS8uZw;Py=&^87<A&#Khb7nTg~Iij?Fr z#ynzSAw@!>v?+SeeGTXi#FFyYR?Jj=*gzb+b4!9EM*2%$1^`$HBoMtda^@VrU-7H| zva(Y0uFO$(8!SR^q=`npE;hn2@i+Y|Tv=JksL0H6MBJje0<R`1?*`UR)HEs6P480H z*ViY`ikBnwynWL9zW+)mz19RpMBPs`vAO?z_(3(@9+9FRv}2>y#PlU0F;R#?0EHR| zQT_mOTTwwl!j_cXgoV{#)0tFo0=E1YaK^GwBXn_5mQ(6DaA!X5^y%P>_q3emw~LAv zs}atoA+0aDyPR;q(;~ucpq@ylb!==%Ry;OjIYaT@b5#eh*wrQB?d{CYE_H(o+3?EF zNz8Lo@XVQp^)Z;0mDR$`OkP<T+}s?o?_qcMZm7>r+(tvLxzo~{^jChX7JtYCQZzIn zls~`HWQ*^c51pn9Jy|h#ywgV9+3|U!{Nm%W!pYsD9bNuXW`>ck4_&g<kxFuM9gU5H zT~EV}TIC&El1=iX3yY^rO-!sSpWNODwF>A_$=u{q+poAB$W3QspaE^5M0!jdG`GBZ zSHjQ1!QG0AdOCG{A|Rlyph#rqQ~o+J(cI(t)O$OBWJDHJKL&x8mL?+%DqST2n`4w% z%EcTt75-v-e+seopb=}fguM!ixO3M*3=XHiPy1rcMh0;^Haa@kXXgw*MgmUUU~@mi zGEp5`ol$VF?=~_6soqe<&5gXNB9;H0{$94~jqBIn?;1Yx6ciL(SXkKD<X_v^=y%X_ z82*2F6de4lXXEMxdh_S1o3=Jx-Ci4*jsE_45-IrUQ^TuQX=he>Z9zQ;;nq8Ne{;EF zn7Y3gV|+$>x}WcZ=;(tm->PD?sAzUF+7fV(w2X{clRM-)>S-qh1<6rNb%3e-BKwx& zaAD+<%;x?)JECB=VFrO;l`ARH+y77CZa4Q=uARiILPtl>S66wzqUeBKy)+*Hi53=> zDcQfg7n^;lrb+fo4U)uqR^Vq0Gs~Wex@cVjxrqX+K|FKrSwZm`yp?m&TvCpYRiOqN zBo2r*$WimqJ8lsXMM;}a)PhHNYTwUCU0KT!0}_J{3XR^PEvJ9?=g*ayu}I|y4U?<y z$}Ac>Rr$!ffsGe9xItR!>(>R}R}+}un5az>>RDMS&(EvJ+?u#|WmFh=gOPE<nvsEO ztRb~S7M54(={_VgvJxL(YQqW4^M}Eqeq;D0qY?75zm5)f-KO(gi+LECIgX@^Dk^$x zPo_rCrUW1h5m>B?t1IJ#$U$aN(Sb8YqDZBgcW*b4)*w6_kHvCNh=7*=8h;TBz8$HT zbUg*FE-4Xq7wF0}Pdq)1j2h%!`mX^&3IQr5!jw__t+F33J$+@gqMa%<|NHiBtg6ar zsVhSl+yQ}b-KUC4A0MCWY=iuKqn$uiQU!!;;WY2<<|fAUBHTBC8?<6R1)iyrg;xR0 z>OVToeSCB|mL5~}=+|CfhKCb2E`ui0BX_nbp(I%i^#w3*+(Ex5>pHEid3>E|&e3Cf zFtSUS{(i>cvSK|wy}rMWKh0s25}|monBjSWgG14C@>wwN>5|ykd@HN!nHjc{e9%N= z)>!`wFQ7XuEiG9}yCGD7vw{S#^%t%lAAh-h`}SPRt9&36fq|M2rs+MYZ~F7|W13>L zKuLMKAr6^HN!sOiUV8N515<u}{&M#z(DZrIT@4M$1b2>o1%cq<;<CMahz2!3Sw!K1 zF!X4u8UX|J)6vrt`RBJcRin>QJvki-4d3zyBhs^89H~<YUFaygnHdbet2J?R8_QOk zF-Uz6C%6YaoCUf(h{R4q^?npIyw?^jWp76stf;E;8za0DvkabAKg?~Y4%|-1*#E1e zV}9pO8_93=CyJJ8*+qSkpU+@Yc56SX+)j><v|?B(WU~Y))5RDT*&LM%wVNv|D*&cZ z7b$|WyJr;@iJSF@-ED2L8^+WL_zf`Ul9;II52EMP_FO9uj~y2`_uDjXH&+~xJibd2 z`v&l_RluzB@^p1{5&+n9ia+@1&~zG5OA>-=@!_e$3$fU$DtR?EH8C+UDXFsh`ughX zxDD;CZ~$iJmcv|1J_S`(RnMQ(Cbbu+uz_J~?Tz(m{;p_{xw5DKu2n;N9fb@3o<M?` g3oraV(MULgsrY<=qCz66VF%IExu^X>^WTX70k#fc&j0`b diff --git a/fluidsim/Python/easygraph.py b/fluidsim/Python/easygraph.py new file mode 100644 --- /dev/null +++ b/fluidsim/Python/easygraph.py @@ -0,0 +1,105 @@ +import functools +import os +import graphviz as gv +from imageio import imread +import matplotlib.pyplot as plt + + +class Digraph(object): + GraphClass = gv.Digraph + + def __init__(self, path_file=None, label=''): + self.path_file = path_file + if path_file is None: + self.graph = self.GraphClass() + self.render = self.graph.render + else: + filename, ext = os.path.splitext(path_file) + ext = ext.split('.')[-1] + self.graph = self.GraphClass(format=ext) + self.render = functools.partial(self.graph.render, filename=filename) + + # Function aliases + self.add_node = self.graph.node + self.add_edge = self.graph.edge + + self.styles = { + 'graph': { + 'label': label, + 'fontsize': '14', + 'fontcolor': 'black', + 'bgcolor': 'white', + 'rankdir': 'BT', + 'overlap': 'prism', + 'pack': 'True', + }, + 'nodes': { + 'fontname': 'DejaVu Sans', + 'shape': 'rect', + 'fontcolor': 'white', + 'color': 'black', + 'style': 'rounded, filled', + 'fillcolor': 'white', + }, + 'edges': { + 'style': 'solid', + 'color': 'black', + 'arrowhead': 'open', + 'fontname': 'Courier', + 'fontsize': '12', + 'fontcolor': 'white', + } + } + + def __repr__(self): + return self.graph.source + + def add_nodes(self, nodes): + graph = self.graph + for n in nodes: + if isinstance(n, tuple): + graph.node(n[0], **n[1]) + else: + graph.node(n) + + def add_edges(self, edges): + graph = self.graph + for e in edges: + if isinstance(e[0], tuple): + graph.edge(*e[0], **e[1]) + else: + graph.edge(*e) + + def add_graph(self, other): + if isinstance(other, self.__class__): + self.graph.subgraph(other.graph) + elif isinstance(other, gv.Digraph): + self.graph.subgraph(other) + + def apply_styles(self, styles=None): + if styles is None: + styles = self.styles + + graph = self.graph + graph.graph_attr.update( + ('graph' in styles and styles['graph']) or {} + ) + graph.node_attr.update( + ('nodes' in styles and styles['nodes']) or {} + ) + graph.edge_attr.update( + ('edges' in styles and styles['edges']) or {} + ) + return graph + + def show(self): + try: + img = imread(self.path_file) + except: + img = plt.imread(self.path_file) + plt.imshow(img) + plt.show() + + +class Graph(Digraph): + GraphClass = gv.Graph diff --git a/fluidsim/Python/make_fig_simul_obj.py b/fluidsim/Python/make_fig_simul_obj.py new file mode 100755 --- /dev/null +++ b/fluidsim/Python/make_fig_simul_obj.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python +import types +import shutil +from fluidsim.solvers.ns2d.solver import Simul +from easygraph import Digraph +from base import curdir + + +g = Digraph(curdir + '/../Pyfig/fig_simul_obj.png') +g_sim = Digraph() # all objects attached to sim. +g_out = Digraph() # sim.output. +g_doc = Digraph() # first line of __doc__ +g_met = Digraph() # methods + + +def filter_object_dict(obj): + return dict( + [(key, attr) for key, attr in obj.__dict__.items() + if not isinstance(attr, (types.MethodType, str, bool))]) + + +def match(method_name): + exact_match = [ + 'fft_as_arg', 'ifft_as_arg', 'tendencies_nonlin', 'compute', 'plot', + 'dealiasing', 'random_arrayK', 'rotfft_from_vecfft', 'animate', + 'statephys_from_statefft', 'statefft_from_statephys', 'plot1d', + 'plot2d', 'start' + ] + partially_match = [ + ] + + if method_name in exact_match: + return method_name + elif any((name in method_name for name in partially_match)): + return method_name + else: + return None + + +def filter_method_dict(obj): + return dict( + [(key, getattr(obj, key)) for key in dir(obj) + if isinstance(getattr(obj, key), (types.FunctionType, types.MethodType, types.BuiltinMethodType)) and + match(key) is not None]) + + +params = Simul.create_default_params() +with Simul(params) as sim: + sim_dict = filter_object_dict(sim) + output_dict = filter_object_dict(sim.output) + sim_methods = {} + output_methods = {} + for key, attr in sim_dict.items(): + sim_methods[key] = filter_method_dict(attr) + + for key, attr in output_dict.items(): + output_methods[key] = filter_method_dict(attr) + + # Avoid duplicates + del output_methods['oper'] + # print(sim.info) + +shutil.rmtree(sim.output.path_run) + +g.add_node('sim') + +g.styles['graph']['layout'] = 'circo' +g.styles['graph']['overlap'] = 'prism' +g.styles['graph']['overlap_scaling'] = '3.5' + +g.styles['nodes']['fontname'] = 'monospace' +g.styles['nodes']['fillcolor'] = 'steelblue' +g.styles['nodes']['shape'] = 'hexagon' +g.styles['nodes']['style'] = 'filled' +g.apply_styles() + +g_sim.add_nodes(sim_dict.keys()) +g_sim.styles['nodes']['fillcolor'] = 'black' +g_sim.apply_styles() +g_sim.add_edges([('sim', key) for key in sim_dict]) + +g_out.add_nodes(output_dict.keys()) +g_out.styles['nodes']['fillcolor'] = 'black' +g_out.apply_styles() +g_out.add_edges([('output', key) for key in output_dict]) + +g_doc.add_nodes( + [('doc' + key, {'label': str(attr.__doc__).splitlines()[0]}) + for key, attr in sim_dict.items()]) +g_doc.styles['nodes']['fillcolor'] = 'gray' +g_doc.styles['nodes']['fontcolor'] = 'black' +g_doc.styles['edges']['style'] = 'dashed' +g_doc.apply_styles() +g_doc.add_edges([(key, 'doc' + key) for key in sim_dict]) + +for node, node_methods in sim_methods.items(): + g_met.add_nodes([(node + key, {'label': key}) for key in node_methods]) + g_met.add_edges([(node, node + key) for key in node_methods]) + +for node, node_methods in output_methods.items(): + g_met.add_nodes([(key + node, {'label': key}) for key in node_methods]) + g_met.add_edges([(node, key + node) for key in node_methods]) + +g_met.styles['nodes']['fontcolor'] = 'black' +g_met.styles['nodes']['shape'] = 'rect' +g_met.styles['nodes']['style'] = 'bold' +g_met.styles['nodes']['fillcolor'] = 'beige' +g_met.styles['nodes']['style'] = 'rounded,filled' +# g_met.styles['nodes']['style'] = 'radial' +g_met.styles['edges']['style'] = 'dashed' +g_met.apply_styles() + +g.add_graph(g_sim) +g.add_graph(g_out) +g.add_graph(g_met) +# g.add_graph(g_doc) + +print(g) +g.render() +g.show() diff --git a/fluidsim/fluidsim_paper.tex b/fluidsim/fluidsim_paper.tex --- a/fluidsim/fluidsim_paper.tex +++ b/fluidsim/fluidsim_paper.tex @@ -16,13 +16,13 @@ \section*{Title} -FluidSim: modular, object-oriented Python package for CFD simulations +FluidSim: modular, object-oriented Python package for high-performance CFD simulations \section*{Paper Authors} -1. Mohanan, Ashwin Vishnu$^a$ \\ -2. Bonamy, Cyrille$^b$ \\ -3. Augier, Pierre$^b$ +1. MOHANAN, Ashwin Vishnu$^a$ \\ +2. BONAMY, Cyrille$^b$ \\ +3. AUGIER, Pierre$^b$ \smallskip @@ -42,9 +42,20 @@ %described: what problem the software addresses, how it was implemented and %architected, where it is stored, and its reuse potential.} +The Python package \fluidpack{sim} is introduced in this article as an extensible framework for computational fluid mechanics (CFD) solvers. +It is developed as a part of \href{https://fluiddyn.readthedocs.io}{FluidDyn} project, an effort to promote open-source and open-science collaboration within fluid mechanics community and intended for both educational as well as research purposes. +Solvers in \fluidpack{sim} are scalable, high-performance computing (HPC) codes which are powered under the hood by the rich, scientific Python ecosystem and the application programming interfaces (API) provided by \fluidpack{dyn} and \fluidpack{fft} packages. +The present article describes the design aspects of \fluidpack{sim}, viz.\ use of Python as the main language; focus on the ease of use, reuse and maintenance of the code without compromising performance. +The implementation details including optimization methods, modular organization of features and object-oriented approach of using classes to implement solvers are also briefly explained. +Currently, \fluidpack{sim} includes solvers for a variety of physical problems using different numerical methods (including finite-difference methods). +However, this metapaper shall dwell only on the implementation and performance of its pseudo-spectral solvers, in particular the two- and three-dimensional Navier-Stokes solvers. +A quantitative comparison is made by investigating the performance and scalability of \fluidpack{sim} in a couple of state of the art HPC clusters. +The results are also compared with two similar python packages which implements pseudo-spectral CFD solvers. +The source code is hosted at Bitbucket as a Mercurial repository \href{https://bitbucket.org/fluiddyn/fluidsim}{bitbucket.org/fluiddyn/fluidsim} and the documentation generated using Sphinx can be read online at \href{https://fluidsim.readthedocs.io}{fluidsim.readthedocs.io}. + \section*{Keywords} -Python; CFD; MPI; modular; object-oriented; tested; documented; open-source +Python;\ CFD;\ HPC;\ MPI;\ modular;\ object-oriented;\ tested;\ documented;\ open-source \section*{Introduction} @@ -53,16 +64,17 @@ %articles. A short comparison with software which implements similar %functionality should be included in this section. } -\emph{TODO: brief review of development of pseudospectral solvers and similar projects.} +% TODO: brief review of development of pseudospectral solvers and similar projects. -FluidSim is a specialized package of the FluidDyn project for computational fluid mechanics (CFD). +FluidSim is a specialized package of the \href{https://fluiddyn.readthedocs.io}{FluidDyn} project for computational fluid mechanics (CFD). It is a comprehensive solution to address the needs of a fluid mechanics student -and researcher alike - by providing scalable high performance solvers, on-the-fly postprocessing, and plotting functionalities under one umbrella. +and researcher alike --- by providing scalable high performance solvers, on-the-fly postprocessing, and plotting functionalities under one umbrella. In the open-science paradigm, scientists will be both users and developers of the tools at the same time. An advantage of FluidSim is that, most of the users just have to read and write Python code. FluidSim ensures that all critical modules, classes and functions are well documented both as inline comments and as standalone documentation, complete with examples and tutorials. For these reasons FluidSim can become a true collaborative code and with the potential to replace some in-house pseudo-spectral codes written in more conventional languages. +This article is written from a user's perspective, and advanced details of \fluidpack{sim}'s internals can be found in the tutorials and documentation. \subsubsection*{Balance between runtime efficiency and cost of development} In today's world where clusters are moving from petascale to exascale performance, computing power is aplenty. In such a scenario, it becomes apparent that \emph{man-hours are more expensive than computing time}. In other words, the cost of development outweighs the cost of computing time. Therefore, developers should be willing to make small sacrifices in efficiency, to improve development time, code maintainability and clarity in general. @@ -73,7 +85,7 @@ Computationally intensive tasks such as time-stepping and linear algebra operators which are used in every single iteration must be offloaded to compiled extensions Here, Cython and Pythran packages comes in handy. There are some key differences between Cython and Pythran. - Cython is very generic and mature library, and based on Pyrex language - which is Python with some additional syntax. + Cython is very generic and mature library, and based on Pyrex language --- which is Python with some additional syntax. It has the capability to interface between other C or C++ code by generating shared libraries which can be imported by Python. Cython can also generate such libraries from scratch and even has object-oriented syntax if required. Some of the drawbacks of Cython include use of Pyrex which can feel verbose and esoteric to a Python developer. Cython also requires the developer to explicitly write loops using indices, which can seem strange to a NumPy developer. @@ -83,7 +95,7 @@ When Pythran is not being used these functions can work like plain Python functions. Pythran can also recognize NumPy functions and optimizes code while building extensions internally. However, Pythran does not support classes and custom data types as function parameters. - Until very recently Pythran did not support interfacing with foreign C or C++ extensions - a feature which will be available in future Pythran releases. + Until very recently Pythran did not support interfacing with foreign C or C++ extensions --- a feature which will be available in future Pythran releases. The result of using such an approach can be shown by measuring the performance of FluidSim using profiles and benchmarks. @@ -111,28 +123,28 @@ New features were added over the years to the package whenever demanded by research interests, thus making the code very user-centric and function-oriented. This style of code development is often termed as the YAGNI software development philosophy, which emphasizes not to spent a lot of time developing a functionality, because most likely \emph{you aren't gonna need it}. Almost all functionalities in FluidSim are implemented as classes and its methods are designed to be modular and generic. -This means that the user is free to use inheritance to modify certain parts to suit one's needs, and avoiding the risk of breaking a functioning code. +This means that the user is free to use inheritance to modify certain parts to suit one's needs, and avoiding the risk of breaking a functioning cod. \subsubsection*{Package organization} -FluidSim is meant to serve as a framework for numerical solvers using different methods. For the present version of FluidSim there is support for finite difference and pseudo-spectral methods. An example of a finite difference solver is \texttt{fluidsim.solvers.ad1d} which solves the 1D advection equation. There are also solvers which does not rely on most of the base classes, such as \texttt{fluidsim.base.basilisk} which implements a 2D adaptive meshing solver within the sub-package. The collection of solvers using pseudo-spectral methods are more feature-rich in comparison. +FluidSim is meant to serve as a framework for numerical solvers using different methods. For the present version of FluidSim there is support for finite difference and pseudo-spectral methods. An example of a finite difference solver is \codeinline{fluidsim.solvers.ad1d} which solves the 1D advection equation. There are also solvers which does not rely on most of the base classes, such as \codeinline{fluidsim.base.basilisk} which implements a 2D adaptive meshing solver as a sub-package. The collection of solvers using pseudo-spectral methods are more feature-rich in comparison. The code is organized into the following sub-packages: \begin{itemize} - \item \texttt{fluidsim.base}: contains all base classes and a solver for the trivial equation $\partial_t \mathbf{\hat{u}} = 0 $ - \item \texttt{fluidsim.operators}: specialized linear algebra and numerical method operators (for eg., divergence, curl, variable transformations, dealiasing) - \item \texttt{fluidsim.solvers}: solvers and postprocessing modules for problems such as 1D advection, 2D and 3D Navier-Stokes, 2D Boussinesq, one-layer shallow water and F\"oppl-von K\'arm\'an equations. - \item \texttt{fluidsim.util}: utilities to load and modify an existing simulation, to test, and to benchmark a solver. + \item \codeinline{fluidsim.base}: contains all base classes and a solver for the trivial equation $\partial_t \mathbf{\hat{u}} = 0 $ + \item \codeinline{fluidsim.operators}: specialized linear algebra and numerical method operators (for eg., divergence, curl, variable transformations, dealiasing) + \item \codeinline{fluidsim.solvers}: solvers and postprocessing modules for problems such as 1D advection, 2D and 3D Navier-Stokes, 2D Boussinesq, one-layer shallow water and F\"oppl-von K\'arm\'an equations. + \item \codeinline{fluidsim.util}: utilities to load and modify an existing simulation, to test, and to benchmark a solver. \end{itemize} -Subpackages \texttt{base} and \texttt{operators} form the backbone of this package, and are not meant to be used by the user explicitly. +Subpackages \codeinline{base} and \codeinline{operators} form the backbone of this package, and are not meant to be used by the user explicitly. In practice, the user can make an entirely new solver for a new problem using this framework by simply adding a new directory with two files, under: \begin{itemize} - \item \texttt{solver.py} containing a class inherited from any of the child classes of describing the numerical equivalent of the equation to be solved - \item \texttt{state.py} defining all physical variables and its spectral counterparts being solved (for example: $u_x$ and $u_y$) and methods to compute one variable from another. + \item \codeinline{solver.py} containing a class inherited from any of the child classes of describing the numerical equivalent of the equation to be solved + \item \codeinline{state.py} defining all physical variables and its spectral counterparts being solved (for example: $u_x$ and $u_y$) and methods to compute one variable from another. \end{itemize} We now turn our attention to the simulation object which illustrates how to access the code from the user's perspective. @@ -142,50 +154,164 @@ The simulation object is instantiated with necessary parameters just before starting the time stepping. Running a simple 2D Navier-Stokes solver can be launched using a single Python script as follows: -\begin{lstlisting}[frame=single] +\begin{minted}[fontsize=\footnotesize]{python} from fluidsim.solvers.ns2d.solver import Simul params = Simul.create_default_params() # All modifications to parameters go here sim = Simul(params) sim.time_stepping.start() -\end{lstlisting} +\end{minted} -All parameters are stored in an object of the class \texttt{Parameters}, which is derived from the \texttt{ParamsContainer} API of FluidDyn package. -Parameters for all possible modifications to initialization, preprocessing, forcing, time-stepping, and output of the solvers is incorporated into the object \texttt{params} in a hierarchial manner. +All parameters are stored in an object of the class \codeinline{Parameters}, which is derived from the \codeinline{ParamsContainer} API of FluidDyn package. +Parameters for all possible modifications to initialization, preprocessing, forcing, time-stepping, and output of the solvers is incorporated into the object \codeinline{params} in a hierarchial manner. Once initialized, it is nearly impossible to add new parameters to this object and only modifications are permitted. This approach is different from conventional solvers which tend to rely on text-based input files to specify parameters, which is less robust and can cause the simulation to crash due to human errors during runtime. -A similar, but less readable approach to \texttt{ParamsContainer} is adopted by OpenFOAM which relies on \texttt{dictionaries} to customize parameters. -The \texttt{params} object can be printed on the Python or IPython console and explored using tab-completion, and can be loaded from and saved into XML and HDF5 files, thus being very versatile. +A similar, but less readable approach to \codeinline{ParamsContainer} is adopted by OpenFOAM which relies on \codeinline{dictionaries} to customize parameters. +The \codeinline{params} object can be printed on the Python or IPython console and explored using tab-completion, and can be loaded from and saved into XML and HDF5 files, thus being very versatile. + +%TODO: simple code example with modifying parameters + +% \begin{figure}[htp] +% \centering +% \includegraphics[width=\linewidth]{Pyfig/fig_callgraph_inkscape_simple} +% \caption{Simplified callgraph tracing the initialization of a simulation object}\label{fig:callgraph} +% \end{figure} +% +% Fig.~\ref{fig:callgraph} provides some insight into how the base simulation class of all pseudo-spectral solvers are intialized, i.e. \codeinline{fluidsim.base.solvers.SimulBasePseudoSpectral}. +% The script first invokes the \codeinline{create\_default\_params} function which returns a \codeinline{Parameters} object, typically named \codeinline{params} containing all default parameters. +% Any modifications to \codeinline{params} is made after this step, to meet the user's needs. +% The simulation object is then instantiated by passing \codeinline{params} as the only argument, typically named \codeinline{sim}. +% All necessary sub-classes are then initialized by the \codeinline{\_\_init\_\_} function of the simulation class and customized as specified by the parameters. +% The objects of all sub-classes are attached to the simulation object, as indicated with blue labels in Fig.~\ref{fig:callgraph}. +% The sub-classes are responsible for a unique set of functionalities for the solver to work. \begin{figure}[htp] \centering - \includegraphics[width=\linewidth]{Pyfig/fig_callgraph_inkscape_simple} - \caption{Simplified callgraph tracing the initialization of a simulation object} - \label{fig:callgraph} + \includegraphics[width=\linewidth]{Pyfig/fig_simul_obj} + \caption{Anatomy of the simulation object (\codeinline{sim}). + The solid arrows represent how different attributes attached to an object. + The black boxes indicate attributes which are objects of other classes --- a modular organization of functionalities. + % The purpose of these objects are listed in the gray boxes. + The light boxes show some of the useful methods (or functions) of these objects. + }\label{fig:simul} \end{figure} -Fig.~\ref{fig:callgraph} provides some insight into how the base simulation class of all pseudo-spectral solvers are intialized, i.e. \texttt{fluidsim.base.solvers.SimulBasePseudoSpectral}. -The script first invokes the \texttt{create\_default\_params} function which returns a \texttt{Parameters} object, typically named \texttt{params} containing all default parameters. -Any modifications to \texttt{params} is made after this step, to meet the user's needs. -The simulation object is then instantiated by passing \texttt{params} as the only argument, typically named \texttt{sim}. -All necessary sub-classes are then initialized by the \texttt{\_\_init\_\_} function of the simulation class and customized as specified by the parameters. -The objects of all sub-classes are attached to the simulation object, as indicated with blue labels in Fig.~\ref{fig:callgraph}. -The sub-classes are responsible for a unique set of functionalities for the solver to work. -We list them in the order these are initialized: +Fig.~\ref{fig:simul} demonstrates how an user can access different objects and its associated methods through the simulation object. +The purpose of the objects are listed below, with the order in which these are initialized: + +\begin{outline} + \1 \codeinline{sim.params}: A copy of the \codeinline{params} object supplied by the user, which holds all information critical to run the simulation and generating the output. + \1 \codeinline{sim.info\_solver}: Contains all the subclass information, including the module the class belongs to. + \1 \codeinline{sim.info}: A union of the \codeinline{sim.info\_solver} and the \codeinline{sim.params} objects. + \1 \codeinline{sim.oper}: Responsible for generating the grid, and for pseudo-spectral numerical methods such as FFT, IFFT, dealiasing, divergence, curl, random arrays etc. + \1 \codeinline{sim.output}: Takes care of all on-the-fly post-processing outputs and functions to load and plot saved output files. + Different objects are assigned with loading, plotting and sometimes computing: + \2 \codeinline{sim.output.print\_stdout}: the mean energies, time elapsed and time-step of the simulation printed as console output. + \2 \codeinline{sim.output.phys\_fields}: the state variables in the physical plane. + It relies on \codeinline{sim.state} to load or compute the variables into arrays + \2 \codeinline{sim.output.spectra}: energy spectra as line plots summed over wavenumber shells + \2 \codeinline{sim.output.spatial\_means}: mean quantities such as energy, enstrophy, forcing power, dissipation + \2 \codeinline{sim.output.spect\_energy\_budg}: spectral energy budget by calculating the transfer term. + \2 \codeinline{sim.output.increments}: structure functions from physical velocity fields. + \1 \codeinline{sim.state}: Defines the names of the physical variables being solved for and their spectral equivalents, along with all required variable transformations. + Also includes high-level objects, aptly named \codeinline{sim.state.state\_phys} and \codeinline{sim.state.state\_fft} to hold the arrays. + \1 \codeinline{sim.time\_stepping}: Generic numeric time-integration object which dynamically determines the time-step using the CFL criterion for specific solver and advances the state variables using Runge-Kutta method of order 2 or 4 + \1 \codeinline{sim.init\_fields}: Used only once to initialize all state variables with simple kinds flow structures, for example a dipole vortex, base flow with constant value for all gridpoints, grid of vortices, narrow-band noise etc. + \1 \codeinline{sim.forcing}: Initialized only when \codeinline{params.FORCING} is set as \codeinline{True} and it computes the forcing variables, which is added on to right-hand-side of the equations being solved + \1 \codeinline{sim.preprocess}: Adjusts solver parameters such as the magnitude of initialized fields, viscosity value and forcing rates after all other sub-classes are initialized, and just before the time-integration starts +\end{outline} + +Such a modular organization of the solver's features has several advantages. +The most obvious one, will be the ease of maintaining the code base and dealing with merging modifications from other developers. +As opposed to a monolithic solver, modular codes are well separated and leads to less conflicts during merges. +Secondly, with this implementation, it is possible to extend or replace a particular set of features by specifying a new class. +For instance, to calculate + +To decipher the connection between the objects and the source code, it is useful to simply print the \codeinline{sim.info\_solver} object in the Python console. +A truncated example of the output is shown below. + +\begin{minted}[fontsize=\footnotesize]{python} +>>> sim.info_solver +<fluidsim.solvers.ns2d.solver.InfoSolverNS2D object at 0x7f30de82eba8> + +<solver class_name="Simul" module_name="fluidsim.solvers.ns2d.solver" + short_name="NS2D"> + <classes> + <Operators class_name="OperatorsPseudoSpectral2D" + module_name="fluidsim.operators.operators2d"/> + + <State class_name="StateNS2D" keys_computable="[]" + keys_linear_eigenmodes="['rot_fft']" keys_phys_needed="['rot']" + keys_state_fft="['rot_fft']" keys_state_phys="['ux', 'uy', 'rot']" + module_name="fluidsim.solvers.ns2d.state"/> + + <TimeStepping class_name="TimeSteppingPseudoSpectral" + module_name="fluidsim.base.time_stepping.pseudo_spect_cy"/> + + <InitFields class_name="InitFieldsNS2D" + module_name="fluidsim.solvers.ns2d.init_fields"> + <classes> + <noise class_name="InitFieldsNoise" + module_name="fluidsim.solvers.ns2d.init_fields"/> -\begin{itemize} - \item \texttt{sim.info}: Contains all modules and class information regarding path to other subclasses - \item \texttt{sim.oper}: Responsible for generating the grid, and for pseudo-spectral numerical methods such as FFT, IFFT, dealiasing, divergence, curl, pseudo-random array - \item \texttt{sim.output}: Takes care of all on-the-fly postprocessing outputs and functions to load and plot saved output files. - \item \texttt{sim.state}: Defines the names of the physical variables being solved for and their spectral equivalents, along with all required variable transformations - \item \texttt{sim.time\_stepping}: Generic numeric time-integration object which dynamically determines the time-step using the CFL criterion for specific solver and advances the state variables using Runge-Kutta method of order 2 or 4 - \item \texttt{sim.init\_fields}: Used only once to initialize all state variables with simple kinds flow structures, for example a dipole vortex, base flow with constant value for all gridpoints, grid of vortices, narrow-band noise etc. - \item \texttt{sim.forcing}: Initialized only when \texttt{params.FORCING} is set as \texttt{True} and it computes the forcing variables, which is added on to right-hand-side of the equations being solved - \item \texttt{sim.preprocess}: Adjusts solver parameters such as the magnitude of initialized fields, viscosity value and forcing rates after all other sub-classes are initialized, and just before the time-integration starts -\end{itemize} + <jet class_name="InitFieldsJet" + module_name="fluidsim.solvers.ns2d.init_fields"/> + + <!--truncated output--> + + </classes> +</solver> +\end{minted} + +Note that while the \codeinline{ns2d} solver relies on some generic classes, shared with other solvers, such as \codeinline{OperatorsPseudoSpectral2D} and \codeinline{TimeSteppingPseudoSpectral}; for other purposes there are solver specific classes. +The latter is often inherited from the base classes in \codeinline{fluidsim.base} or classes available in other solvers --- this is made possible by the use of an object-oriented approach. +It is particularly advantageous while extending existing features to use \href{https://docs.python.org/3/tutorial/classes.html#inheritance}{class inheritance}. + +A more comprehensive look at how to use \fluidpack{sim} can be found in the \href{https://fluidsim.readthedocs.io/en/latest/tutorials.html}{tutorials}\footnote{See \href{https://fluidsim.readthedocs.io/en/latest/tutorials.html}{https://fluidsim.readthedocs.io/en/latest/tutorials.html}}, both from a user's and a developer's perspective. + +\subsection*{Performance} + +Through profiling, we shed light on what part of the code consumes the lion's share of the computational time and see the impact as number of processes and MPI communications increase. + +\subsubsection*{Micro-benchmarks and Profiling} + +%TODO: Microbenchmarks, compare profiling of spectraldns, dedalus + +Profiling is a dynamic program analysis method which traces various function calls and records the cumulative time consumed and the number of calls for each function. +It is straightforward to perform this analysis with the help of the \codeinline{cProfile} module, available in the Python standard library. +Here, we have analysed both 2D and 3D Navier-Stokes solvers in Beskow, and plotted them in Fig.~\ref{fig:profile2d} and Fig.~\ref{fig:profile3d} respectively. Functions which cumulatively consume less than $2\%$ of the total time are displayed in the \emph{other} category. -\subsection*{Scalability} +\begin{figure}[htp] + \centering + \includegraphics[width=\linewidth]{Pyfig/fig_profile2d} + \caption{Profiling analysis of the 2D Navier-Stokes (\codeinline{fluidsim.solvers.ns2d}) solver using a grid sized $1024\times1024$ + (a) in sequential with \codeinline{fft2d.with\_fftw1d} operator and + (b) with 16 processes with \codeinline{fft2d.with\_fftwmpi2d} operator}\label{fig:profile2d} +\end{figure} + +In Fig.~\ref{fig:profile2d} both sequential and parallel profiles of the 2D Navier-Stokes solver shows that most of the time is spent in inverse and forward FFT calls (\codeinline{ifft\_as\_arg} and \codeinline{fft\_as\_arg}). For the sequential solver, over $97\%$ of the time is spent in compiled C++ extensions, built using Cython and Pythran and all pure Python functions limited in the \emph{other} category. +Cython extensions are responsible for interfacing with FFT operators and also for the time-step algorithm. +Pythran extensions are used to translate most of the linear algebra operations into optimized, statically compiled extensions. +With 16 processes deployed in parallel time spent in compiled extensions falls to around $93\%$, with increased contribution from \codeinline{tendencies\_nonlin}, a Python function which is responsible for computing non-linear tendencies, or in other words the advection term of the 2D Navier-Stokes equation. + +\begin{figure}[htp] + \centering + \includegraphics[width=\linewidth]{Pyfig/fig_profile3d} + \caption{Profiling analysis of the 3D Navier-Stokes (\codeinline{fluidsim.solvers.ns3d}) solver using a grid sized $128\times128\times128$ solved + (a) sequentially using \codeinline{fft3d.with\_fftw3d} operator and + (b) with 2 processes using \codeinline{fft3d.with\_fftwmpi3d} operator in the top row. + In the bottom row are similar results for the same solver using \codeinline{fft3d.with\_fftwmpi3d} operator + (c) with 128 processes on a grid sized $512\times512\times512$, and + (d) with 1024 processes on a grid sized $1024\times1024\times1024$.}\label{fig:profile3d} +\end{figure} + +From Fig.~\ref{fig:profile3d} it can be shown that, for the 3D Navier-Stokes solver for all cases majority of time is attributed to FFT calls (\codeinline{ifft} and \codeinline{fft}). The overall time spent in compiled extensions range from around $70\%$ in sequential mode with $128^3$ grid points to $90\%$ in parallel mode with $1024^3$ grid points. There is also substantial contribution from the Python function \codeinline{vgradv\_from\_v} which is responsible for computing the non-linear term in the solver. + +In future releases of FluidSim, the performance of solvers can potentially improve with the possibility of replacing some of the Python functions mentioned above with equivalent Pythran extensions which can interface with other Cython based functions. + + +\subsubsection*{Scalability} The performance and scalability of the parallelized code in large computing clusters is an important factor, which determines whether a code will be used or not. Scalability can measured by speedup $S$ which is a measure of the time taken to complete $N$ iterations for different number of processes, $n_p$. @@ -194,12 +320,12 @@ \begin{equation*} S(n_p) = \frac -{\mathrm{Time\ elapsed\ for\ } N \mathrm{\ iterations\ with\ }n_{p,min}\mathrm{\ processes}\times S(n_{p,min})} +{\mathrm{Time\ elapsed\ for\ } N \mathrm{\ iterations\ with\ }n_{p,\min}\mathrm{\ processes}\times S(n_{p,\min})} {\mathrm{Time\ elapsed\ for\ } N \mathrm{\ iterations\ with\ } n_p \mathrm{\ processes}} \label{eq:speedup} \end{equation*} -where $n_{p,min}$ is the minimum number of processes employed for a unique test case in a particular hardware and $S(n_{p,min}) = n_{p,min}$ for the fastest result among various FFT methods. For slower methods $S(n_{p,min})$ is set proporionally. +where $n_{p,\min}$ is the minimum number of processes employed for a unique test case in a particular hardware and $S(n_{p,\min}) = n_{p,\min}$ for the fastest result among various FFT methods. For slower methods $S(n_{p,\min})$ is set proporionally. In addition to number of processes, there is another important parameter, which is the size of the problem; in other words, the number of grid points used to discretize the problem at hand. In \emph{strong scaling} analysis, we keep the global discretization fixed and increase the number of processes. @@ -217,30 +343,29 @@ \begin{table}[h] \centering \begin{tabular}{l p{7cm} p{2cm} p{2cm}} - \hline - Cluster & CPU and Software & No. of threads per nodes & Maximum no. of nodes used \\ - \hline - Beskow & Intel Xeon CPU E5-2698 v3, 2.3GHz; SUSE Linux Enterprise Server 11; Linux 3.0.101; CPython 3.6.3; ICC 18.0.0 & 32 & 8 \\ - Triolith & Intel Xeon CPU E5-2660, 2.2GHz; CentOS 6.9; Linux 2.6.32; CPython 3.6.1; GCC 6.2.0 & 16 & 8 \\ - \hline + \toprule + Cluster & CPU and Software & No.\ of threads per nodes & Maximum no.\ of nodes used \\ + \midrule + Beskow & Intel Xeon CPU E5--2698 v3, 2.3GHz; SUSE Linux Enterprise Server 11; Linux 3.0.101; CPython 3.6.3; ICC 18.0.0 & 32 & 8 \\ + Triolith & Intel Xeon CPU E5--2660, 2.2GHz; CentOS 6.9; Linux 2.6.32; CPython 3.6.1; GCC 6.2.0 & 16 & 8 \\ + \bottomrule \end{tabular} - \caption{Specifications of the supercomputing clusters used for benchmarking.} - \label{tab:specs} + \caption{Specifications of the supercomputing clusters used for benchmarking.}\label{tab:specs} \end{table} Benchmarks were conducted in two supercomputing clusters of the Swedish National Infrastructure for Computing (SNIC) namely Beskow (PDC, Stockholm) and Triolith (NSC, Link\"oping). -Relevant details regarding software and hardware which affect performance are summarised in Table ~\ref{tab:specs}. Do note that, no hyperthreading was used while carrying out the benchmarks. +Relevant details regarding software and hardware which affect performance are summarised in Table~\ref{tab:specs}. Do note that, no hyperthreading was used while carrying out the benchmarks. -\subsubsection*{2D benchmarks} \label{sec:bench2d} -The Navier-Stokes 2D solver (\texttt{fluidsim.solvers.ns2d}) with a physical global grid with $1024\times1024$ gridpoints over a box size of $8\times8$ is chosen as the reference test case for strong scaling analysis. +\subsubsection*{2D benchmarks}\label{sec:bench2d} +The Navier-Stokes 2D solver (\codeinline{fluidsim.solvers.ns2d}) with a physical global grid with $1024\times1024$ gridpoints over a box size of $8\times8$ is chosen as the reference test case for strong scaling analysis. The test case includes a time-correlated random forcing term in the wavenumber interval $k=[4,5]$, and a constant time-step, $\Delta t = 1\times10^{-4}$. No file input output is enabled so as to measure the performance accurately. The test case is then executed for 1000 iterations for three or more passes. The median time elapsed recorded is used to analyze speedup and efficiency. -The time elapsed is measured just before and after the \texttt{sim.time\_stepping.start()} function call. -This process is repeated for two different FFTW implementations provided by FluidFFT package, viz. \texttt{fft2d.mpi\_with\_fftw1d} and \texttt{fft2d.mpi\_with\_fftwmpi2d}. +The time elapsed is measured just before and after the \codeinline{sim.time\_stepping.start()} function call. +This process is repeated for two different FFTW implementations provided by FluidFFT package, viz. \codeinline{fft2d.mpi\_with\_fftw1d} and \codeinline{fft2d.mpi\_with\_fftwmpi2d}. In weak scaling analysis, similar parameters as above are used. There are two key differences. @@ -251,8 +376,7 @@ \begin{figure}[htp] \centering \includegraphics[width=\linewidth]{./Pyfig/fig_bench_strong} - \caption{Strong scaling benchmarks of the 2D Navier-Stokes (\texttt{fluidsim.solvers.ns2d}) solver.} - \label{fig:strong2d} + \caption{Strong scaling benchmarks of the 2D Navier-Stokes (\codeinline{fluidsim.solvers.ns2d}) solver.}\label{fig:strong2d} \end{figure} In Fig.~\ref{fig:strong2d} we analyze the strong scaling quantities, speedup $S_{strong}$ and efficiency $E_{strong}$. @@ -270,28 +394,27 @@ \begin{figure}[htp] \centering \includegraphics[width=\linewidth]{Pyfig/fig_bench_weak} - \caption{Weak scaling benchmarks of the 2D Navier-Stokes (\texttt{fluidsim.solvers.ns2d}) solver.} - \label{fig:weak2d} + \caption{Weak scaling benchmarks of the 2D Navier-Stokes (\codeinline{fluidsim.solvers.ns2d}) solver.}\label{fig:weak2d} \end{figure} -In Fig.~\ref{fig:weak2d}, for weak scaling analysis, the ideal speedup is a constant line as the size of problem per process remains unique. It can be a argued that this form of analysis is more of a measure of scalability than performance, i.e. to show that a solver can handle a larger domain. For FluidSim, we observe that the speedup $S_{weak}$ drops, but remains within the same of order of magnitude. +In Fig.~\ref{fig:weak2d}, for weak scaling analysis, the ideal speedup is a constant line as the size of problem per process remains unique. It can be a argued that this form of analysis is more of a measure of scalability than performance, i.e.\ to show that a solver can handle a larger domain. For FluidSim, we observe that the speedup $S_{weak}$ drops, but remains within the same of order of magnitude. In Trolith beyond three nodes (i.e. $n_p > 48$) $S_{weak}$ drops sharply. The weak scaling efficiency $E_{weak}$ is qualitatively similar to its strong scaling counterpart $E_{strong}$. -From all the above results, it may be inferred that superior performance is achieved through the use of \texttt{fft2d.mpi\_with\_fftwmpi2d} as the backend rather than \texttt{fft2d.mpi\_with\_fftw1d}. -The \texttt{fft2d.mpi\_with\_fftw1d} method serves as a fallback option when FFTW cannot be or is not compiled using MPI bindings. +From all the above results, it may be inferred that superior performance is achieved through the use of \codeinline{fft2d.mpi\_with\_fftwmpi2d} as the backend rather than \codeinline{fft2d.mpi\_with\_fftw1d}. +The \codeinline{fft2d.mpi\_with\_fftw1d} method serves as a fallback option when FFTW cannot be or is not compiled using MPI bindings. \subsubsection*{3D benchmarks} For 3D benchmarks the analysis here is limited to strong scaling benchmarks. The reason for not investigating weak scaling benchmarks are described as follows. -Broadly speaking \texttt{fft3d.mpi\_with\_fftw1d} and \texttt{fft3d.mpi\_with\_fftwmpi3d} use -a slab decomposition, i.e. the processes are distributed over one index of a 3D array. -On the other hand, \texttt{fft3d.mpi\_with\_p3dfft} and \texttt{fft3d.mpi\_with\_pfft} use a pencil decomposition approach, wherein processes are spread over two indices of the 3D array. +Broadly speaking \codeinline{fft3d.mpi\_with\_fftw1d} and \codeinline{fft3d.mpi\_with\_fftwmpi3d} use +a slab decomposition, i.e.\ the processes are distributed over one index of a 3D array. +On the other hand, \codeinline{fft3d.mpi\_with\_p3dfft} and \codeinline{fft3d.mpi\_with\_pfft} use a pencil decomposition approach, wherein processes are spread over two indices of the 3D array. There are subtle differences in how the domain is divided thus resulting in different shapes of local array allocated to each process. Moreover, it is impractical to solve large problems of the order of hundreds of millions of grid points using very few processes which always exceed memory limitations of a compute node. Due to these added complexities, instead of weak scaling benchmarks, a series of strong scaling benchmarks is performed with progressively larger global grid sizes as number of processes increase. -Similar to the process described in the previous subsection~\ref{sec:bench2d}, the Navier-Stokes 3D solver (\texttt{fluidsim.solvers.ns3d}) is chosen to perform 3D benchmarks. +Using a similar process as described in the previous Section~\ref{sec:bench2d}, here the Navier-Stokes 3D solver (\codeinline{fluidsim.solvers.ns3d}) is chosen to perform 3D benchmarks. A box size of $2\pi\times2\pi\times2\pi$ is chosen as the reference test case. As demonstrated in Fig.~\ref{fig:strong3d_beskow} and Fig.~\ref{fig:strong3d_triolith} a physical global grid with $128\times128\times128$ grid points is used when up to two compute nodes are allocated; a grid size of $512\times512\times512$ is used when between two and sixteen nodes are allocated; and a grid size of $1024\times1024\times1024$ is used when sixteen or more nodes are allocated. @@ -299,66 +422,26 @@ A constant time-step, $\Delta t = 1\times10^{-4}$ is used. The test case is then executed for 10 iterations for three or more passes. The median time elapsed recorded is used to analyze speedup and efficiency. -The time elapsed is measured just before and after the \texttt{sim.time\_stepping.start()} function call. -This process is repeated for four different FFT implementations provided by the FluidFFT package, viz. \texttt{fft3d.mpi\_with\_fftw1d}, \texttt{fft3d.mpi\_with\_fftwmpi3d}, \texttt{fft3d.mpi\_with\_p3dfft}, and \texttt{fft3d.mpi\_with\_pfft}. +The time elapsed is measured just before and after the \codeinline{sim.time\_stepping.start()} function call. +This process is repeated for four different FFT implementations provided by the FluidFFT package, viz. \codeinline{fft3d.mpi\_with\_fftw1d}, \codeinline{fft3d.mpi\_with\_fftwmpi3d}, \codeinline{fft3d.mpi\_with\_p3dfft}, and \codeinline{fft3d.mpi\_with\_pfft}. \begin{figure}[htp] \centering \includegraphics[width=\linewidth]{./Pyfig/fig_bench_strong3d_beskow} - \caption{Strong scaling benchmarks of the 3D Navier-Stokes (\texttt{fluidsim.solvers.ns3d}) solver in Beskow} - \label{fig:strong3d_beskow} + \caption{Strong scaling benchmarks of the 3D Navier-Stokes (\codeinline{fluidsim.solvers.ns3d}) solver in Beskow}\label{fig:strong3d_beskow} \end{figure} -In Fig.~\ref{fig:strong3d_beskow} the strong scaling speedup and efficiency are plotted from 3D benchmarks in Beskow. We observe a consistent increase in the speedup as number of processes increase. The fastest FFT algorithm turns out to be \texttt{fft3d.mpi\_with\_fftwmpi3d} for this particular set of test cases with cubical discretization. Pencil decomposition based FFT implementations (P3DFFT and PFFT) demonstrate similar, but subpar speedup in comparison with FFTW methods. +In Fig.~\ref{fig:strong3d_beskow} the strong scaling speedup and efficiency are plotted from 3D benchmarks in Beskow. We observe a consistent increase in the speedup as number of processes increase. The fastest FFT algorithm turns out to be \codeinline{fft3d.mpi\_with\_fftwmpi3d} for this particular set of test cases with cubical discretization. Pencil decomposition based FFT implementations (P3DFFT and PFFT) demonstrate similar, but subpar speedup in comparison with FFTW methods. \begin{figure}[htp] \centering \includegraphics[width=\linewidth]{./Pyfig/fig_bench_strong3d_triolith} - \caption{Strong scaling benchmarks of the 3D Navier-Stokes (\texttt{fluidsim.solvers.ns3d}) solver in Triolith} - \label{fig:strong3d_triolith} + \caption{Strong scaling benchmarks of the 3D Navier-Stokes (\codeinline{fluidsim.solvers.ns3d}) solver in Triolith}\label{fig:strong3d_triolith} \end{figure} -In Fig.~\ref{fig:strong3d_triolith} the same analysis as in Fig.~\ref{fig:strong3d_beskow} is done for results from Triolith. Similar trends as before are displayed by all four implementations, in general. However for large problems with $n_p > 2^5$, \texttt{fft3d.mpi\_with\_fftw1d} seem to outperform other methods. +In Fig.~\ref{fig:strong3d_triolith} the same analysis as in Fig.~\ref{fig:strong3d_beskow} is done for results from Triolith. Similar trends as before are displayed by all four implementations, in general. However for large problems with $n_p > 2^5$, \codeinline{fft3d.mpi\_with\_fftw1d} seem to outperform other methods. This maybe attributed to the differences in the compilers and hardware. -We turn our attention to profiling, through which we shed light on what part of the code consumes the lion's share of the computational time and see the impact as number of processes and MPI communications increase. - -\subsection*{Profiling} - -Profiling is a dynamic program analysis method which traces various function calls and records the cumulative time consumed and the number of calls for each function. -It is straightforward to perform this analysis with the help of the \texttt{cProfile} module, available in the Python standard library. -Here, we have analysed both 2D and 3D Navier-Stokes solvers in Beskow, and plotted them in Fig.~\ref{fig:profile2d} and Fig.~\ref{fig:profile3d} respectively. Functions which cumulatively consume less than $2\%$ of the total time are displayed in the \emph{other} category. - -\begin{figure}[htp] - \centering - \includegraphics[width=\linewidth]{Pyfig/fig_profile2d} - \caption{Profiling analysis of the 2D Navier-Stokes (\texttt{fluidsim.solvers.ns2d}) solver using a grid sized $1024\times1024$ - (a) in sequential with \texttt{fft2d.with\_fftw1d} operator and - (b) with 16 processes with \texttt{fft2d.with\_fftwmpi2d} operator} - \label{fig:profile2d} -\end{figure} - -In Fig.~\ref{fig:profile2d} both sequential and parallel profiles of the 2D Navier-Stokes solver shows that most of the time is spent in inverse and forward FFT calls (\texttt{ifft\_as\_arg} and \texttt{fft\_as\_arg}). For the sequential solver, over $97\%$ of the time is spent in compiled C++ extensions, built using Cython and Pythran and all pure Python functions limited in the \emph{other} category. -Cython extensions are responsible for interfacing with FFT operators and also for the time-step algorithm. -Pythran extensions are used to translate most of the linear algebra operations into optimized, statically compiled extensions. -With 16 processes deployed in parallel time spent in compiled extensions falls to around $93\%$, with increased contribution from \texttt{tendencies\_nonlin}, a Python function which is responsible for computing non-linear tendencies, or in other words the advection term of the 2D Navier-Stokes equation. - -\begin{figure}[htp] - \centering - \includegraphics[width=\linewidth]{Pyfig/fig_profile3d} - \caption{Profiling analysis of the 3D Navier-Stokes (\texttt{fluidsim.solvers.ns3d}) solver using a grid sized $128\times128\times128$ solved - (a) sequentially using \texttt{fft3d.with\_fftw3d} operator and - (b) with 2 processes using \texttt{fft3d.with\_fftwmpi3d} operator in the top row. - In the bottom row are similar results for the same solver using \texttt{fft3d.with\_fftwmpi3d} operator - (c) with 128 processes on a grid sized $512\times512\times512$, and - (d) with 1024 processes on a grid sized $1024\times1024\times1024$.} - \label{fig:profile3d} -\end{figure} - -From Fig.~\ref{fig:profile3d} it can be shown that, for the 3D Navier-Stokes solver for all cases majority of time is attributed to FFT calls (\texttt{ifft} and \texttt{fft}). The overall time spent in compiled extensions range from around $70\%$ in sequential mode with $128^3$ grid points to $90\%$ in parallel mode with $1024^3$ grid points. There is also substantial contribution from the Python function \texttt{vgradv\_from\_v} which is responsible for computing the non-linear term in the solver. - -In future releases of FluidSim, the performance of solvers can potentially improve with the possibility of replacing some of the Python functions mentioned above with equivalent Pythran extensions which can interface with other Cython based functions. - \section*{Quality control} %\textcolor{blue}{Detail the level of testing that has been carried out on the @@ -373,7 +456,7 @@ Code coverage is the ratio of the number of lines tested by unittests over the total number of lines in the whole package. For the present version of FluidSim the code coverage is valued at 55\%. -We also try to follow a consistent code style as recomended by PEP (Python enhancement proposals) - 8 and 257. This is also inspected using lint checkers such as \texttt{flake8} and \texttt{pylint} among the developers. +We also try to follow a consistent code style as recomended by PEP (Python enhancement proposals) --- 8 and 257. This is also inspected using lint checkers such as \codeinline{flake8} and \codeinline{pylint} among the developers. All the above quality control techniques are implemented within the continuous testing solutions, Travis CI and Bitbucket Pipelines. Instructions on how to run unittests, coverage and lint tests are included in the documentation. @@ -400,12 +483,12 @@ \begin{itemize} \item Ashwin Vishnu Mohanan (KTH): Development of the shallow water equations -solver, \texttt{fluidsim.solvers.sw1l} testing, code coverage and documentation +solver, \codeinline{fluidsim.solvers.sw1l} testing, code coverage and documentation \item Cyrille Bonamy (LEGI): Extending the sub-package -\texttt{fluidsim.operators.fft} (currently pending deprecation) into a +\codeinline{fluidsim.operators.fft} (currently pending deprecation) into a dedicated package, FluidFFT used by FluidSim solvers \item Miguel Calpe (LEGI): Development of the 2D Boussinesq equation solver, -\texttt{fluidsim.solvers.ns2d.strat} +\codeinline{fluidsim.solvers.ns2d.strat} \item Pierre Augier (LEGI): Creator of FluidSim and FluidDyn project, developer of majority of the modules and solvers, future-proofing with Python 3 compatibility and documentation @@ -478,19 +561,21 @@ \section*{References} -\textcolor{blue}{Please enter references in the Harvard style and include a DOI -where available, citing them in the text with a number in square brackets, -e.g.} +% \textcolor{blue}{Please enter references in the Harvard style and include a DOI +% where available, citing them in the text with a number in square brackets, +% e.g.} +% +% \textcolor{blue}{[1] Piwowar, H A 2011 Who Shares? Who Doesn't? Factors +% Associated with Openly Archiving Raw Research Data. PLoS ONE 6(7): e18657. DOI: +% \\ http://dx.doi.org/10.1371/journal.pone.0018657.} -\textcolor{blue}{[1] Piwowar, H A 2011 Who Shares? Who Doesn't? Factors -Associated with Openly Archiving Raw Research Data. PLoS ONE 6(7): e18657. DOI: -\\ http://dx.doi.org/10.1371/journal.pone.0018657.} +\bibliographystyle{../agsm} +\bibliography{../bib} -\vspace{2cm} \rule{\textwidth}{1pt} -{ \bf Copyright Notice} \\ +{\bf Copyright Notice} \\ Authors who publish with this journal agree to the following terms: \\ Authors retain copyright and grant the journal right of first publication with diff --git a/jors.cls b/jors.cls --- a/jors.cls +++ b/jors.cls @@ -79,6 +79,8 @@ \usepackage{fancyref} \usepackage{minted} +\usepackage{booktabs} +\usepackage{outlines} \usepackage{natbib} \usepackage{har2nat} @@ -109,4 +111,4 @@ \newcommand{\pack}[1]{\codeinline{#1}} -\endinput \ No newline at end of file +\endinput