From 9bce36b821d7b76da40d8f24ed94fdd2257dc66b Mon Sep 17 00:00:00 2001 From: Savi Dahegaonkar <124272050+SaviDahegaonkar@users.noreply.github.com> Date: Wed, 18 Dec 2024 20:48:25 +0530 Subject: [PATCH] [Term Entry] Plotly Graph Objects: .Histogram2dContour() * New file has been added. * Update user-input.md * Update user-input.md * The entry has been added successfully. * Minor changes --------- --- .../histogram2dContour/histogram2dContour.md | 64 ++++++++++++++++++ media/histogram2dcontour-example.png | Bin 0 -> 30235 bytes 2 files changed, 64 insertions(+) create mode 100644 content/plotly/concepts/graph-objects/terms/histogram2dContour/histogram2dContour.md create mode 100644 media/histogram2dcontour-example.png diff --git a/content/plotly/concepts/graph-objects/terms/histogram2dContour/histogram2dContour.md b/content/plotly/concepts/graph-objects/terms/histogram2dContour/histogram2dContour.md new file mode 100644 index 00000000000..1205fe0c484 --- /dev/null +++ b/content/plotly/concepts/graph-objects/terms/histogram2dContour/histogram2dContour.md @@ -0,0 +1,64 @@ +--- +Title: '.Histogram2dContour()' +Description: 'Creates 2D histograms with contours for visualizing density distributions in data.' +Subjects: + - 'Data Science' + - 'Data Visualization' +Tags: + - 'Data' + - 'Data Structures' + - 'Plotly' +CatalogContent: + - 'learn-python-3' + - 'paths/data-science' +--- + +The **`.Histogram2dContour()`** method in Plotly's `graph_objects` module creates a 2D histogram with contour lines to visualize the joint distribution of two variables. It uses a grid where color intensity represents the count or aggregated values within each cell, while the contour lines indicate regions of equal density. This method helps visualize relationships and density in bivariate data, helping to uncover patterns and trends. + +## Syntax + +```pseudo +plotly.graph_objects.Histogram2dContour(x=None, y=None, nbinsx=None, nbinsy=None, colorscale=None, contours=None, ...) +``` + +- `x`: Input data for the x-axis. +- `y`: Input data for the y-axis. +- `nbinsx` (Optional): The number of bins (intervals) used to divide the x-axis range. If not specified (`None`), Plotly automatically calculates an appropriate number of bins based on the data. +- `nbinsy` (Optional): The number of bins (intervals) used to divide the y-axis range on the data. +- `colorscale` (Optional): Defines the color scale for heatmap. +- `contours` (Optional): Configuration for contour lines (e.g., `levels`, `start`, `end`, `size`). + +> **Note**: To personalize the scatter plot on polar axes, there are more possible options than those mentioned above, as indicated by the ellipsis in the syntax (...). + +## Example + +The following example showcases the use of the `.Histogram2dContour()`: + +```py +import plotly.graph_objects as go + +# Sample data +x = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] +y = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] + +# Create the histogram with contours +fig = go.Figure( + go.Histogram2dContour( + x=x, + y=y, + nbinsx=5, + nbinsy=5, + colorscale='Viridis', + contours=dict(start=0, end=4, size=1) + ) +) + +# Show the figure +fig.show() +``` + +The example demonstrates how to use `.Histogram2dContour()` to create a two-dimensional histogram that includes contour lines which are used to visualize the joint distribution between two variables. + +The above code generates the following output: + +![Histogram2dContour in Plotly](https://raw.githubusercontent.com/Codecademy/docs/main/media/histogram2dcontour-example.png) diff --git a/media/histogram2dcontour-example.png b/media/histogram2dcontour-example.png new file mode 100644 index 0000000000000000000000000000000000000000..ed21540c92736284f30471b58799600319f69d94 GIT binary patch literal 30235 zcmeFZbz79(_dYBQL&MM=${--!-G~B1NOwyM(p^JIDJ4h?qS7@W9RkuQ-AH#y*K>_` ze7wJJ;rabB2gk&<_g-tSIM=z?CJL&mhzp_w-Me=W_py?k#=U#U;lK+Q6CLC{h#4U$glEaX0 zp+U&toO@^xDI^e1O;9IPX!LlfP4k}*gKO`}GLRwv{`#+9$}&v+_3OXhmVsSy{}|%n zl>5)GgIHT_K=pWt!T9T{y$$oMUv3$asS`bkXC39|DSK! z!VOXWSw1jBqksROUz>ss-pZ7s{4+N&FHENN-=zR=jagSH{}vvxzQtXO|9q_(Gz4~~ z`9nOe|0AvPf0f}(=k}*E(vbZM6Sn^pFZaLF>ii#NT&4Y~j8^a>Z@3}GAL8NsA89rI ztBjfM|0tvIUN-BB$RFaFLjEgl@_&^vFR}KgGPuyrpE67!{lBgM%iRCp*8gD%|Ih3H zP{#k?ydG2*9N%C};1r5GOJqyIG5Q{4SCqHsn74;vmxaEy_ux8L2nSB(R7STaMgE#u z`nBP1AkOjK7JoJ6nxuQRzI!z#ZuKXT_xdQe=~NO%Awvgk7=c%Ge# z32w3!ii8zvvn{fOFkXu!s7$c>t_wBJp(cI!1n1#f_l+ssx)Vy7FZc`)Oy!%+P^mLL z<=;sJpTHCXHlV}_HxIxG$3L_ucTZB6o6?jP)(sV;R;1^Sld?n&mcn`6$5FJ9d8A*0 z+EgCfdkRXoBaNmF3n4F~_lQU>L1dSW3}9j8{Ia=ebh1n00q|0EQgzVSFs3)*Q&k3n zCrso|TUU=T?arDTjVIK5+4HNtiL+#I6TcwKN1xnwilO{AMoer#FhU+cIBqa<5xG@T zPA++A2S+!7k{TnJB7CR}a|^GwQR7=~U42mR;KQU4GH&LjlwvvujL%(Fh=fo64p>E+ zIPh8+hRGa9n~oIZQroqY#L}lpgq8C={G}1OsP(H_EL$(A)&q+{MW&cE*aUR?%g^E6 zZwMhmW(wJv-Pr@dWVl;$LE-NCu#gX7A%@{k)Cp7v=$Yf&mMOA0j6vbJV8PP1k`zJ? z7(t3<8%d|@@7>u*K}^pqyJQr=8L+x7BqkbVa?}4||9U3X#GfiV@KA04`f{_1<*+8T zIS6_%F2LGxaQdRHNA`{TXg*R;{xN364}V`xT?g;8(l2@I&`CWxH+$l5A+K`4dvo6= zd44Nt=Sfhmi^)@bvB+G4Ruli@ne#1^Yj>*6n3mhVeXQ`c{Q)}4?&G0%@_J>}C_i;Y zf>WD+2`fglf6A40Tb~)iLhrU_h^Mw|;qK2q18F^cIC>J};`mu9DIfEomM0Yxm?JnC z3)qJdUhv+Ff&*h?UgqYb>3UHe>`adWF6R{}<~COz&&nYaG*8o<%|YptyEwM{s+gGQ zedbT<=LMn8b>hsH)DIBjlw!XW1=kA1yEnyOJs;-xaF>j5zafXUEK}}9gtfo&XF=n zaD{ASTz|**GF6p%px>#^T+w#VqZX92!e~qW!J+lt_*g}CgxBZ><(6Aio`Jc*dxW5U z&%Sdf>CYyt4wNcI&0?;u6eAzsL_Sz^III`0uyP!*YpRavKbau>=AFRh$)@RGGJRqg!mGhJ?f@tYB zBt&y2^++awW;)h00eS;vcEXz{dzlr640b6-gtJkE$LleIt!Ep06zw7hvJ}E*dNBt# zOnW_3=V29JqF=g$oxbs=sU8#~kfg&SV4VWNh?s?f8~!ONoU%mvt#GidtFa3+J6(0q z#j~WjzB0zdW2T3P@=4M|7(;4Eph-2ravTN`!l4s^_+{lEXatG*Qy-2HhcKDekD*qw ztwT+WrM{%YbdK~&e0P4^TOSCJN(C2?%EUz0>?_1Vu(+LdhgMLkx^dTt*?)X9pF8A}dNxtHe_&%hp!b(*s30WQ+6Ijw??yov!H z5DMPmMS~0rA|9~&{Xn?P9K=HOwW94B=FiRLkS5D|V$@3ewPzg}4hIN{52#1qsu!8Y6o==oGfv0ZA|tjqmE^QRrKHCVLxhPCjw3`zaD=mI#r&un?=0 z$#oG;QuOBu`L&{_^!iCT3p<@P(y={cYTKDH>jjhf0ab5DBdL%F2&W1$(+)3SaWoL{ zcr5z3q821Vm60fubO))A^*}RtZp_n^y~Mm)1Vnb1*H$166qRog&x9eKai<1h&-1ui zpld`(vMdr$otl4Lp`pb9h015 zM+V)eOVMYs)!B_|U?Ys?!vuY_Bh_?7nU@~F0NumoHYfld zpy$HLJ@{JYN8_B?0CT>cicz}X(9nS@o4c5IQ@0&{Rt@zWs}Lx)*qU?;;i!6t+(gz> z+88r^r1Jjr^Yiyo`)WPBzhOvj&=1*M3e1+1OdT%qL~F>-l8A`Q56_5pSUu~>QxalD z3BSctU8Udv?9oqXJH|H*?Qb8vR`{~;Vf_M8)4x<{{g!)B)_mbOt83WN9k>^I9$M!A zCb!)Fb72hb91Vy}V|xm&gIXPVd9oOH0xo2?80>NkJ=2ElZj!Y3GPyk{a!jW!Panq5cqk)MV2#-mcM22XldOTCe%bz_fBT z`25z8(Z>5pab1a&{>AtIgwL9k$eEfX8HNy~Lk>3b9A5a{-kIcZ zxUu_uCp=((KvaJ1S$o;-SCf{qL}M|X9x@e??9XRfX}KkDF2 zY2_3H!yLmw8KX$eYI*Px2Mp7<$leFgvvGh&3lyZ{VYQtY(HCV^6tV-nQIYDyPu z{(^Yxr)YwkRHX#+bx`~om}Hr_};Ey=ngm9I~IiZen5Dy*Uz1G0u`LKWcRjG!0L<$dv=Xw%~pwi>SG>i z=dn3f5+b%6gU}Qr7CEhEk4P^rmz^z&u186xZ0sL`n$TWp6I%}fS*?#-Bsu}rZy3jmP>0FdJY`puM#{iMvXCZ0eHDAS#n%GHlI*g_4eq4wX5Q02l_gWX9jK9sLLLDuq{t1UFA)eRD2RQ?w*elokB~XGVMz!* zOMH`%PaMKg`3`xI#FpX$a%jccQv+Kz`h40E8zOMntYmsI5R1O@Dh@ zwj7VYM)@;faZ|{#U*cxhNJa&95+IQ4(#on28Tt8A3y73jL;>1A@;ziT>0X+8e7$8O zaYH-Sa=8XS9BVn>K5g;6+MdrxK=Sh_^f7J$ccwXs4j=FWi zGaB1hX@!lZMA%ZQh z6=Zfe|{w2rK4c z?@~g)Sj6MtJ;b&P^MECo!6_#oiMyZKKc_yZ&ei*PE%h=spRY=G>$F@`dHp)yxpJag z5T(huKk5X0&^gSE_bOBo;MFQ$ngYRkY2!+F1uJae3 zw3$b;jrNzHnejp^zPRAGwltNqIh0iOK zJ%oNezGa{kj{s_Sz%oh@5U`~*qJ3uW8!7;XfVYbt=W(- z2ak~JMTlZi8(%wnp${c$m|`L#%7aV>49grdmP-zZ`LP}Bq*>eY~en;+N6hVg8iA%0Ny@lZ#1 zY&n`u;%WyYFuIJ9ScJ>G)Vn1Y-NMXeYDR>LzgYu8X4@Ci*wB!kD9fM~N|?%^MjH+w zdsD#VEY?C7v0H65kt_Cw?=5Le^RNFTWr(jDyfHE+2T_-(Hvwk_YC_c|{jW zl(}Ni7joQtbcJ25uQIxQe{@?!e}Gb70j0z`-@m+X_qlVyiU-Ex@wWq?l9t?;4Di|c z-Ur2B5^Q5zIbINZm->Sy^$;b+DWH^Vc0!Odey$at`T;ms;iVT5E99GAa~h*iONX&> z$%^{NPs7{ZS_Po3;U&;F7e%I^A>592v}@Yd1p2Wpu21ec#rYpef?P?Y)lkjUh}ukv zBupkN-|2gNq`^yWq>9o8J#u1no~k$Rh8!RYg^H6lK#evZp(RG|qKZLG^Ag_@~84cx3_RDyt2D#kZOB9-o5)xC!aay=NyWve&8O46MH6v>4 zxYt@j75Vsi&ykQ=)(xCV=zUyoO+VvkfhXaZUnE?C98dK7avPYu5ur$Gz;-V51iaqR@K|ot7abqaSUtqJ83j5`coPDgd8aACFQN0CtT8QLg+Li%BB1C7A6NN78hyRK zsE3e3^1-FDw4yk|5_18kF_IksUeZ!$ca(8-$|Xb=(3Yt2^V2sIN_6lb~W+{@@loz2vEDOX8&mfKBqbVaYNWv@0l<$j> zy&Y&PdD{H((I!G@dY=?H+9u;BHQx7%qYmLrhOrdm6mQ4o!M0B1>vY`6v4#vzDRkY} zeXe@V@(2_FV>R6lXDR$MFnzst01_6h>(^nxE})n?gilpuRR{D>Q?eGda2>rrj|HWe zNH^EVYU>Bv1bo?s!{lF36(HNKm$s&UWTFtpX<10mcGrTJ$rv;Td8sSRDn;XEoB+W$ z72$|di2BNb4j8}r;&GGA;&>nHQJuH1ceKF_W@)^1%ETx6qDv5;1;%`b+riLa`)b8$ zs@T@2=q*t)`fce~opBwjmGh+BFtb*ii16emN?@x_9D4~e;hvgqH%(J0!ds6J2q+E| z4rlEzD+K4%ny4N=(Ab5i)^pb`%4}NH*T+6BtV9(@_rh0U?qFq*- zE&M7(2hXwPKEyY2Su3#&@jNp6)8OZPv(p zmuSlsx}YQz;x{VVEX4?KM?Y&S$~_%N>+A*njABa3BtD)}ao>K}Yd=9aArq;L6Ooe1 z?$KX?(2iyw;DmyFxd%>#>FV+fP#9@xYj%1Fb%q?Ib5{g4Rik@#z#6yV!XARwcaSN9 zWRiMDvQsB3{;0^X1!?&wQPO@YroW5@FF90TWDQTe-ht^v%57;qBTxR$O$8q?*D#cwGLTCMfic9C1UJLs8>eW zbH1E4tjIwM45cNa!kXYlVshpej2MNh~Z1 zD3QK1?@Mz2NT#k@PvEtJI(r*rb;(~82ha)jW!bXt!Ii(NU~qrRSkUM|Uy)NWqaLPg zO0h4tAJnb)SVKw+h`Ub{fIJir;D>&$DJCS>IKwE0kg1*@+(q$3fwv9W3oTtrJ(_!Z3TjjsX#eS%cZSa&@ z^!a1N<~>L7B|soMu$T1R7=db}Lm$LRKc@X@b8;`uxn!QbDQ@@&U6{_2n@#4U3WfT} zt&DYo&vK4#W5d)ICE7t>0w_v$Gf&r#WnRy24ttBC!Hf|J4Z-9A{5$CK?J7q;8m=BV z34J#IIpm`^YG_COp>zJT4wV~RxoltB*Uauerc>Gf=>?GX^vVGEgP*;WU5snZu+#cW z?Gn2lXG2&;Q;bl@(!nFsxN9ju6&U6Xnw`Iu0om|$_Wm}U^N@sZnE|rN1ZC`~!pOex z*c#}HC%o!$Gt#D+U!(NFs(}y6vZ5wFowUcMJEj`n>bh^r5+kQB4Xy0nJy9V zO}GXBHVNqPzVzyvj^MncEG_kO?VvVY%A>Xnv469`3pgSP3GhwMfTuib zfyulNZr$L^ixO6p@T@Ct#yYF|u!K9aF0gLwW>d4^%uiX=>`&XwLG$q(%d1iPv-@H0 z&Bu-UQ*74KIlrs7vM^Z#6*|!w7GNK_Z4q@WOh&pzwfDGGY_tf^#D{1kv7>hKjg#au z8+g2&S1;J_=g1B9pam-0)>|5_1+jP`1;Y3#i>vg8h~jO%qHVIJDURAQ>dX7S;RbD+ z7Q$$>4*^VCD}?|jz^qz!kRYWbCWbv81gd8! zb#iU>9@#BY-Wq?hcd_@ED|-D&%z<^UBv!jVKSH>KPA#zA3@QfK%`p^G=t!kSSG(0?lg1#IU}u z;~7m=)|Me)DlMZxK@@6{Gv7<(4-E+koW!({)?WmKy=T=G1qH#IU8DO zF23&rYrf+t+PaF?)sY7lAACLV1R5oSwVTlWmnijP43xZW2(f0IpS;(2PPMg#hRVaw z{7~KN{=zN#P(Ebw9>Vn=BjP6DdcU^i>n{qDiUlLIHG;+5W=XS0W;h<@2(8Q7?zwO( zO7_)mTSQt=Ei3)l}Lgty&CHWl-QQFRJvPFKDM|dpJ_zVTa?c z=sco-FOXQ&xtQ2UN@_C!p?`p=OS=E|wTbwn!V#(YD102oi`XkM2S8=d1LwwtfufH9KgCJ^`ix#(t@VCA zdtv_`)btLyg8;;7sMlF`b4vHKfK0NRE&R%aa!&YrWBgsO{rbW0^F^*8-@pOrB#jMQ zwFci2#Oq0sqCX~3GZAIO`mAEtOZ(L_tRBV`eF!-iROujtcYBCxr%eR>%2gkQHow4~ zr)i?W3(d8ZRGk@fTRHCQ;cSkvosXAeLVEoA%d`YlzLX^D7aGvr#J*o1-CV$e@NJpe zZO7H^-0n;l+x865_k;45w6#&$_O|g?!BEZJ8G^Z_^V`kvEG6XumBnJjq=y+zuB5ta5KW;b?#ntn_lW zD+haY2f2FnIP!TwC)HzEhqM~z&_W`DFYR=`9-_%?F~BIhy9o3*)ok>irp?N1bfe48J-AmS@Q}NV)~=0bOI>p1up@y-sJrkX|VDHg&;w!+W41MUZr2&#-(;o8{u^676d^alJPC^7oqi5}K1G$u?CUTMD@8 z2BC#o&f>m8u02FU@iqFm;Ob|V+uI3U#4bas?b+oEPw)i{@UHfp#Ix-qWLu_XdT}Cx z4TczJHd)}lH`+q%VTqK?5^gf!Bd|xB>ftR}NR)wKMQUlk>0Z=XsA? zbS|27&<9@L3f|rL0-D*6Dj&X3hM{v5T%UD*Hx5ClED~WRV zi_cIZ;BFlBI_|^ey#z{2?N{>ce+=e8JnRKs1_@i+ir+m%prUy zdjU&h*ZkS6I}7Pw+zMxOuq3bAS@s&2Eap{jf2Q71o7@~ZFODo%`CWP4J2p?&OwTYU zGt|GDl4Ye06%)air?`f@0{AjIoZnUfeL#*N>*D#jqC!c#!01iUM~aP!Qih`X=^^UN z8$ttbas}+IL4L3{CsS@XA@9yv|ND~Gsi`=$ca$Jen2;%wGu=LtP2ust?v5|eB9`2a zQYwIv`gXzKkmP=$drq3y?Zt;gF2i` zTAU{Gb<~|ow(~?oMIJv#9L52n%%owYxr90q*v!M_ia7+sTlG)2qe?k?tuEDO5<)9L zuSN}{&aUVTJdgRRQWUGAHm6}Q8)c}N1imoOIc^b^ zJD?{4*Vt$DG~u2el()<#suZJ_qi{iJgCAO=GWfAK9&LQnX%3%>hlU_${+Eg{FKGoi zb0O+ceahNn;Cy*N2%#W=|6kxr&EWh17Nb;-4mR~cSGFSsDiRYRE)&&nIs(vBokbD8 z=vHRIF4|F%5{HspkHd$IC*(v&Vq&zuj@+ZRT0k*dTM;5B4P&2jX3LTu5FhddIGOg) z`ngi`zcGQu1qaeV4ETdb?5+P(Ys;xq%l$d(JsBooSbk@hwsZ;|C0pC8?qt?_I#g1%AX~Kod5ysbG3jK z%sakqRb&qgKP^?s%)~xrpREv_TUGsE0K(qV5@bd`oFF@*6P%ckOYMWYeqm^YA#-0c&BdBR{$mKAHH{hK*_E?4B zUk#mcB1|Zr{YV+DZG-}{*^zP%b1E$lo4X{MRV*YFc}f0g-&AmGzNN@5ZZwq)+VB#W z`#Jcbw^^GEM{wWag4@6^^Op_Yv$tU=fM}g18 zY~x>t55$Lzz<<~8sgq;XeDCKV z1KmfNED@OQ(LrlRZasxZVMR!^Lu;THZSbhBC&s||>HXn(OkZ!3c^MRCUcCE!)=_F4 zdmoO!WI0C24mnlO;N84#lDLCsb04Msa}@GdWm?hbiTsHzrdT6{$DO(&F&_m#VyzE# zsuvX9jO?elPWW!oIHD=z1_M4j>aJBgK4NGnpYv0ClotjSa*PqjKXF}SSt<{c<414l zT-U~^fED|x0+@d4?{fN=h4((17Hep+hEqg`?H0LVY1XgYGlnS zKh}b?zQtynBKwDSR8+Q)${1`Rkzamb_T{H6_*Pmv6*jvfHNT3J;|I}oECp#NoTvhH zkpRoT2DG0YWVa&|JC;N310Gp1yi>hS;QbhGWtm}b8{19r?rpfBT^ZbpBY3hvb=0+? z$gw!Tz7h-V1!NxFURmROl3_Bfo;uW#`k7ums*Po8duG@uT|~g`_lbflf;~mlCKldz zXgqr~;GgI}-E3xb!ix_yA3DNKlt12YJWx?#NT7wwz+tucWBsI*pQ&t%9T>NirSW1J z!ITxniWPNZ&93A<+KB+-o+2 zIl5zwzEo)~@<2(urzL6IH(>+E0-m&~on1Y)87kY-;{2NA=aPXCjPIDJ=1t<8NCuoF z0y9I@=x(^3pSfWjC?eDKul}Lb5ml?Mgf5a>cE{8Am_sXkub1QTYI!{~o2H5xbc~<3 z)a;1+VYWR#u9t0oA<~1zla9M#EoG=5Dys9``2|zoGQisla(?}ZK3Z^$xvH-;Y7X>K zN`F6`^#=p`>G)TSdVW+s9on~baVv=**gZ3#9HsOuj`_(cgzqvVSc-K~93y>4ij&lh zOd={O(E`$HEv+c=>urHTWZ=VE$R zYtQKN_~xXVj|RIV5Zh+waYVTS(>M!sEn#+cqytoawxv#td)XmGZ!2fvsn{1JMSW!S z>-U-Mu zj$^`TCEm%flQ?3R_oXuAvPM3P%B)l7M~d$$^oMq$i3EncJCk}$$5)q)y5wHKCJX+x zNq8X;_9rnN+X7cm^O%lPcHUq3&l*~hSQX&ieX}_D`Z{H2oy()w&$qt04t=3E&e9gI zEvH7}MVe0P3_O|1o0G_$mm1Gwf6&a3sfm&oh&1f~Mw=3jghNa9%s58ztM^u-`XwtB z`3rLQmlO`pxxJXi{dmVKgT!}qIkIJM+Ml6n(SPjkSci`v=UmJ(9`%tCjQJ^z68rsV zim=Z$Q2~x~9wUx)5FAy->?JbLmXxW5X3-r8Kmd0^jM5EZ2Oa0UtRp6`9da=RVsZe>9 zd0E5}lKZhivkq@8TmGOz@q#BhJjLK-jS*SLP3eBIr|5-%<|8*61XiyhFjp}at{y(} zHq`;pqjl83W_t?OedTO^)c?WZc;{J@aaT$JZq4Dn_V{-pop2S7ii1zsPa@g*32;^P z^CZu6*Ww#>$k+o zNrXW<%*eE*&eH!xvKIACX#M^;vBVJsPiSi9q@oKPi?_)L{f=Iodyl!~9P1bx2f2QX zw49aLE}ANaJF}%uIM+I}DW;DEQy#6r5tv&W`G0b9meWp#9i0R1SG%5~1J|y7+IwOT z-$;k4id)}(E8oP_uX*@z;flf9LT$zg6*v~CpW6n|8DlOQ1s;Z2C?F&8-&D;;x9b(Q zRxGGi!TqV&CHD+oq3&#FiVa$?qJ+Z?_hi%Z7W@vcTOkX+%S8#0?{BFf&W~n&))I8^ zFnCgdad!UImnWp&Q(KT>qz4I zrT28!yS_%(B5UV)pS5xVnPR6Fwhi&%P0f5@xPOT$c28K4ca4kZ_tuR=8%N0;lHG0> zac}B*2%L6v!m?IhCFySSDlL9`|MW2QRX_LY7}|;sCxbdBlYa72ir5V!&Gaz>f*{(n z5lEb_FO#VpQf7J`rPj84Iu!u@Tn`WW5Z6JbHXXq3K`zDLfO57i$W16|5wYhntH=+J zZ0~v&#z(K6vXqKU18)nt0T9jJ(5AE^qL1dUXdsL{vxj>=D1oF$;n|tfZwe82N1hjI zu^idP;xK9m>&%-u@+FBD0mo1c*E+S9q!9FB5Tt-d9_R(eBg&B1|EA7*H&l=UZNVGX zSFc3ZIp$Y0>DtalSe8Jrcf9JP)Q>mECb&l4MJ#X{lzYzYYZSZ=t@S02-Q|$O4vBRSBHI0 z7z>H%HXdJTJ5>X1^3YW1WF1}swNy3r&l0OP#F-_EC1f_jM6Yb|nDdqu=qf8X9Wl8+ zG3hD`So^Viceh+hb~=KLpBr?H29OH&&v7;5{o7xJHdWkkV&1hMyLdOoQO)FFX!)#n zE7_Q1_I2D$waJ*#glA^Bth&o#OF&fS^(A_yE&u6eIy-2f!OZsG8qK8l^27oZglt*k zhT0#Sld9ms?SA=YkYZF#!Mypg57U{yoaAa_1+HtQ{)ve4-GMl@>WjdhnPX_lN-l}E z`jmdC#xF(p|IgUe0TU4Ep8)-8K>koyYj@p|q;@MXyz-wjn@Nqfg;J$!eH#$k8=ad|`vM=Z7}Z zNEY2Gj(?WU4r^};qrJTX+CaA%spe>!SrxXY+-2LkVC|LRbG#SNy_O$}Ei=8|1f7K!-Q zEwNXf+hij~aYCuwZHa2VPAxuYj9>a|d`4;g4R8;jNg~-|T2NmF-2XYkeq!n2MkM$K z+A5g3pJfVQ)zv{Z;JQYG31s$L(fN*ZbJ)Vowav72q7Km5LjO6F3CjCvlAO)ri0~=^ z#k-}dBFmSo1b?t2m3qn>mO%a#6q}bsSJgh4OcWK><&3~{=_QJ2#uR0~4GMf&CulN1r2Hsg|0?b1UDy!W{LqqEAvQ9=2d#BYe%(c@ zAq}BCd z=%!}2Ygdp6wfxnEjGM(a{^3RY)yOl?+C_g0EQ@bHXnKzhjIq)H^2CE|M8gd(@p&S$ zbvGzg6OjvX{w5Edk#7PcB8^(MU;Q1EtOYZ-{T?%B1=Tt(zL?asvHaHtW`MR15 z!Df3VX-YKZXzR%&w9I<+^vclth&4T^MFBiN5JJQsT5HeQ}OE9p10ZZ^aSpmUUKL!_>aZq0+)yrm{XN_ z1Z7|e+Wby&sw@Cg6KKh!o?BV zIby=IGo@OjWQ1QnnK645Qx!W{NFlF&#{*rE@KxzSyan@~p*_OB3-1OZ&HTrfo0=M% zY>}~(&*8wSWZ*DRE+OeT`39e+KD8Dn&$!c@i7zlf=~*eu_u>m%-0_2_S3eW2$)u^9 zuZxOWp)fef$n-A{@;-s~mF3jA(=6p-RG1S4u-Xb&nqh{Y1vtSo-T-b_^bHEZ>~WpJ zwoD8@JXe=n?x=cx67axL_*g`YP6Rie#}Gc6;X_dqc#VV?i`Tu5cUDFE&g0d^S|yMU zOC1Oi(HLCSPtZUEiod=Hr0kh2z3U1LSo9uP#~#QAE+*BNp2g-u6OwYF1PQCPWV-l{ z46c_p1ejfpk||DjIa5Vu71s}vvICnl2J{;^I;0MrTVm>eMbI<|SJtrPv^4RaiH}x3 zDROkCH=oyc>O>E)ub;_vIa;{By3M;?aj*}(x|=_1w5Fe(9h|=yb%Kimr(qDF>iI2{ zVf-VD(PT0aN3$?Ns8ayMz%fQ~%XNKzdGpn~d z*7VluX;wsqKA85~%*-2!oD-*rcEy%o-6#~@;bqt3SA#R#Qnpz@cY@0o#0iw1lReV0 zcl*vOjC{p&v8B)luA-h;$%>koPgSOTO3$|ZE*kDaq86DBE_M!6wv3mT_UWEV^>NA? zG=v0A%N6I*53jG|Wm1BCz5CAh-daP%Ccm_3e*G!c!HNGKNuX7lxK#=%Ua*CF&X2W?YjA>;)KIZ*!A=l z0*1D{E_c3_E+_y+@ihuirU2S8z;-wnAe6WQ%j6Oo#OF_BmQA=9k8;Wc40>~#B;9ti zrJYI$BrP=VoqTyAbG1gQa*^!Q=KN1D0C1(u3Zw*H&5Dp^fwc#eq5!Acj=)PQWk%mr zTCc5hO08p;w*Oexqx}bHyXXBA%xn>>4^EQRWtV3rik~E4&@>a57ya)~ZRx*c$p( z1*T;Yq7!x12-^t|;idj$ptCr~%BY^O^yb=#h6rdvX8AX2?Xp36Ks`ed30eN%n?uQ^ zhB6QQ%r3?zxb-unxRR)Y=+!n+k$9=Cb>`(=KEM*~^6U+!05DsE_b=-;qeE}MljFU{ z_46CkDNW}+AEy8c^N*K!N$Zk4K~*u?-~B#Xj`GKtCImwb-*AABKKF3klE2^&@?vAa z0mwy#|CNVVAO~;wQs6barS~YX7Uc$*!w>V=WMf z65bJjx?U1kQ1k3#&Ut1kcZLtlnPTR7;#6_j+JngkHs_9}tgp8G{yFo!VA{xCRl+}% zRsO!%;#Yt7;-QG!ep5hy{}&(H0T%o=I{4m9L#zYdn9h8s!=+xpmr}Zzkaekw@~F9O z$@U`3@Q}e$WuSKFp#MW{rrecLQB~PteXF(m^z6gOU;FWw0{2+!LK(1stu+}Hv2(P! z2ass8Qq8T^zGD=92@TFnh6g9BywW+liv$79%r(wHGxI+cKr^yn9$T95RSXcn{V~iE zvrGp3@JCF}!wT5@_On78N7|LH>*SLrW6i)^*)0QxH%JfMSkKQY{DBNR`S4!~u-+fd zsZ*Ql_`GG6xB6W2ZAB#m`0_RX-RHGb4vIAECVelphH>T~Jeh8ak#;!1an$ zp!60yFM~tQ06!3hNMc<;YW&@Qq3dK4T(E)uAp1OfNAzCINuvg*`Is9`;)g(MQ}NHc zPWhLY4Qa2{j&YZR2awgS>4W>H8(cUX8K3zd*zg0HdK~{x<&*1mPrl8L=q4@)6gGZr zR}%EhF!(4J|D?(0vSEG6fWyph<>|uE0I`N?3o@EJ$>rE_8f5Nn*Amu#qdb2n^r!Oq ztD`30+SJ`wN&QexgJY1I>$lQjR)f))PPjOhlP`b~6sIkZ*{J#*`=hud=x`Z#PMt02%%N zkTb_@v?9INY-^Nr(vv`7m??k_um3w^xY)NJsHM%VL8>wtI3#)p0YYIb;sUxu@G7{xOzIniF_1az zS3kzCC}zg5#*re^DldvL$YN%OH2uwO#Lhmga#Mn$g+I!`fKgblMCYoW6R*XadTT*Z zvdQMthvuJg8^2#R493uD9B!oE)_vaHg;!vkT$J32P9U+-!$o9LuHe{ zD{P?MiLFGMm&YZZIY<{%<9wXuNMD|&)QT8@BTd_GDMI}J3hd)b7x7(``){q&O^^^jCg^-nuF8@>5UcC93s?Ibw! zptUb?+VT+}R>Nnb>8X_%z&;1oed0T7!~7-N6xRo1ce7(Jc)=dYKQ3aq!6Jci!tG6H zN4Gq`n6O^Gr<=MmrIiM*$nkB798L4^S&%8oFQwCl23mq24c)+T?8df>tZRq$=TSY5 zBEM)v%GuPNsKu|}t_EIe=nVZ=hBKCOVzzcSuPiG1{rDKgDY+btZ%ih-3f~OE&d$ZI zBk*X7)|0=Y@s+a6l=el+;V}?IQWw#XiW?$Ykivm~-oh=}?9UF+IyP9v^1PUIzBrX) zd&R*o_+$~+z7oF~%ip(ab$0+Y|I*dLvCE*cH8OH+!OD6{8`?M5Fz~J6yIBT5;_S)n z-(c>U)#_tO)|MYH9VK?XtGgcij>$DTD7_)d!40>$n=afrPjI`gDfoPbEa8_b18KG! zXs)#z=olA3``-|StsW4Jeig<gh^te`oAU);zenNX`j;iVnp4(E$Ap=w$FhUs-ePP|Nv;^XVrh zt-y_UN1dbHWxRXd8&D8m>;n%=l7T2xg)Ulq=e<5Ukgl{8Td5h#JL!#n);bjUDFyW} zwJHsT)e<-I5yc$Ho6xBFHy}a z+KdyII-#adnj(*?@t5Aj>k;Mq-BQcgyT4zay{dYH1=P)Q+c(`j;JuE0pbYT4h`*(~ zrn}qJIrz$XM|QopF4+Mz>$og4fa|iQx>9AmJ7aoQxWiWW9FC=*gLZUs#){4K{IN^B z;~BY}cG+Ge*E}PaY>wMp!B}$jJ{9fEl|Zl-m%!Q%cu|(fTCUg6w^9R9HWSGut}-}* zJXj*Et$7dl#{~{bviC`(9Fmq2p5#daSAk$B(^jZi7xc5zzJB;$)F0(t_8O$&WQ7fN z@5k)dXaEhbL_X*HykLn=8Tc%<2M{8Yp5+EtZb2 zBYZ*=+|L$aNH0zVNvW+^H3AZljqgj?ynw;=e2aO1nmpv))^3!;yvSdeO`>zCQTg1y zqjSqqB#l{j?!`oCEZ#%r&xiR{BXej4zivLEu_~LO zgqwvY+hn4|#?(F-a0j<8z>w%<%`kMul8}*+ zVP^E4+dX|GUgnP>70<(Dn2uQDd&JJ*!XKeEOCb%^NI+L_ z;kQ4AFd~99DEIU|;{(%$Z2ontLMm0?hF6tjvfoH*cSIevu#j4~bNVNbU#drfs>D{$ zAZ5 z#7L4qW`PZTMEBxJxO}=*i3*y4+q$~=TNxMYI%Ey^7f82H^yZb(fx_`LBK2S16TFcU z2`l zJtQSpt#mZ*%w#Y`@r4~~C~aJnD|TWH%tUpt zclIC>v|SpTo5ffrnakyrnxh5-C?Oo-*QUOFOKjc|E|;6Km>Amc6e+sGwqVy&&{C&?O(@nW6A63!?#fOcEP;J3^J9-HZ(K zNhPdJB@Br-AYCB1)5JnNyk^Be*8A8OyChM-n6B_F822zQu5)(hYPd~*z`zrqQXtnP zIsTK-(Ef@Kl*Gc!bKZY84VRU9TmJB^ix}B^yaD_wcbuT{q#whl;9b&~J3lJ}nJqg% zT2r^To(qyk%ZmPR+B=^D+HjS6FA7zBz`M>s1M3K3mll;`J>-q4GMhNW#qv5V#+PWo zs-~3OF<1}d{C$6&$43Fv&$w z8Lv}jNhNnPKy`*Lnmqsm1>!i+_mycU>>Q}5SPJ7jWsCk*+xmTd54TNj-b=UZ+=iR2 za=9iSD%QNwH^H6If0p2VKh3A@z`}R@qU$j4l3BP!0M0aPMgW$nGpim|+nRMFUODYy z6C{cQa9O{1DBlR}5^RK{G)vJ<!T{GFcS)!kG~7&_wyLxXE(Dn6SKOae ze43luJY(uhbxB`%nJCUr*idNoCi@dc;LgetF==6aOTR=BfK211{*%j$B?M@J`lkPe zv9Rrnn*4iKd2Zp~^X%S%4j+8W#k>Hs$1!~qoK<0>2Qh^oI?;EG&_jU#&@zVC0K)3zm%g=N16Z8 zSdX>90Pr%(xG*r$U&WhL{O@NYHZ!oHiy#%5KypWZeWwnv#0!U!H|OhGOLhFJ~AQcd#i{+jH8xdla6-9TEF9 zqJjTeeBXElwPeN6T{~)ooy1dQeeJ0x{W2>N=ocNS$HV1J6E!Le?@!V*nFQ66Y1R=e z9-!;}cyH2<;p2)8s9Sb}5_TwI<+(dvH_)Fs4X*J-9M)%6dIkQxeSG@-_wF`JrtN?f zdTaNzIfx=nGu_=X<;0@KWqET9DqJ~Q^?@r^RyZ$R-6Ar!!Z8gWTF686GGkzS8|A4d zW+8+KZ`+bSP1VRq864nh9sf)OP{x%2NvR;$MI|TqOxjLB=^@AwS?i|KH%7Z`8y66y z@}*@6B)bPzmaO)}tYokZB?cq#Ay47nHBRR!Mo>oZiiou9yb)hi#_{m?ur^Q0EXFA+ zSo!1okCd-KbcyuZUJ1kde|V9RZ>+p1ENmak4L|tFIt!gCks?;zscY)gu=Dss+Vq{P zJ$I8EvrAriTq`kYGYOQA(hhP3e~g5ms46)+PgvNsd~Vt^vAbP_wk~r!l)_D?I8<&C znjpM7QJ9{N^&B@^^M1@NEVPKJNMb#tVLW*rbp;*h@O$_iD?u@0uwwl`R{0@9-F-EC_e59tC zTGa4qy54GO`5OzPG_iorC~@z_;@ex+BeFB=hmZAmIh(i7f~yyd&ZvX2#l`R(}E5G2w_YX*q&hMpuaZf7}2kN^> z6lD)~ynb&cR^$YoxvPh5#-Uj~)>G{%c$x#&%SxhJP2^{5%5v%-ezS=RGKiM3JnX`w zNWOVXCQSZM)ym|7xGT6bq7L6RH25VKIU};3VBXMq>kK38og2wYI6A&a@6?(P1u14x zN2NJSNW!Pc4L<61Q;dT^dGwEnrvGNmE&qhw_?P^%Fw-HjR_cJTL-r zE&>8)vx_H&fprk+B-3}ZOY7mpAr%5{pIuzueB(-bNYs) zF2$a%JlMGD=ac=`tO=c)yX&_fhkG@(guEIi4^Q26R^s-+0dKMpB2Cx^;&fcM>de14 zP6ighqqg=2yFs!YrzE0oc-pc-FD0{CQ9sykZlr*1|3GN{l7_y0`?q+%MtoiQq3GDW zrMa-cjc94hB<+vRsr2$PvBpV@J}nKdEYq z@8G4u0M=0>t*xsL9#QSJ(ITqK?SW+!A|RZ) z4K9uMc;)k$n*6*?C0A?kwEG?$SJ63Dc_%7S`M0v{;O6ox-zFL5kB45N0oZ&^!!&{m z3)oEw+?rUbcAvDCKIvz-suaKQ-i#~^{Xjf;3e1gpNI+=J2` zqg?MFPCHfIUg7RC__bw#*Oe_2vu+O7Mxh3S}P^i4>QZpBA;Id11s_mISB-ga5U?aV8VQbTqh!ocEz(4{e zJ7MuXY2>557$0>pegVJ6n>L*(abPqwcn}j<<91EEkQ&(7ysuwf_`HX9n%zmOFs+XY zd#DbZuD%1?dcB|qF>S+9rbqiW=_7}&flt1Np7X^4^IeHi2jgS7UHf=X~olq3Q*Fyd0QQP#unrKO&o+l&tv!AljBeDT=WgdrV zlVy5Tpfy5EAwo*q`jDXvnHIWbw^eDY10@T*z7(l%nm(mer^GywF3))=5!Yo?C^HZA0lEtUo!jf&oQ2V2iTl~l0qN7X@x;ghe z_8&fk^{-#aVZZei zA1sZUXX{)@+5oUj2AYNXHjSZ)G7t&5Z2tB__V`N{Rmgz8IZVS$H_ceqorm-_VlQ>j zn~lW=p61!Zg$Q9WT5xq=^S!G}YOsk<>fFM+b80XcD-cS}l+6}?&h5PE*z{QRjvmuW zRBL5tX;46&huS-Kp@944&YJd8Zqe{SVyJcZGhi^s-$=oW@HIu!{6Vz6i)BXI zTgUMQoin0+S!|-zEoY{v(!g+?lGwPjR@s3~yu;SRPk@>+-vITT0WL5o7T5(ANHV19%bK<{0NY>*d3bWV=55Y zIXB>YCGnTOYa>0jALs|B{nmT5_Ax|88xd?Tx<^I`~jLcC@{z&mG-vKpP^V-z_$S-pv>mR_&M;F3nN=pue6(&`_?x(_H-fL)q)e znNY!0)T;Jvnq&dd|GD!o&z{1ynIQeI1F(AbUNYOth!#*wD{^4un202WFR_8yuH{`jWZwY61TWqmAfNWWiuJ6u*TTx-dp z@@$vBdL%e=E-D-eq6YOuxdZBc?3&l#AMHj+d7t`4eTK^&n82y5)#wk{$jW+?U?<(M ze_u0s8U*#qCit}BZ9+IL$aC?O84y<|_2osAY%_7Zql|}TD{y21y+w@u(>|Og&z1JuhWc$EK=N|*9Ekb?#rc>C)5AXuS!N~ zjgF^Bi=zL4#_g^MsXFfSRof#-Z4OU)tfnP%x1p6+ze}1(_bJ^~=5~0pw&)1RF9-k_ zvOsE(=?k$GDgD(#Mdm2eA3&X;CurHrQ?Iz%Y*EH%lPG>1m8D(NH|FTQaF(1#11mSE zr&tAS?9ynWJ}Y1H4gEXF2@3k+yEprc!RF7}J-^*|$K;&c^BqAWYK}uYbK}C~tDv0! z*#=~hD9_(|#DD7?1bv(A{2SBt#7mX*Q(arQ%z8vp-b-J_(C!C{{+%WdSSP=*(ImgW zWR`Nf_+Mrj$e5238wh3>Q#|CXBxK8Y&<6Xm^XvCA?wAHVw-_-25lQa05AQPY?BMkIclF(uc=kn%zrlPAw|oI&=|sX+14jKRRXDP1$A&3;_B@0Jl!G@lLA$Q%0%1 zWd$)b(iYVua7p8Y@3~00JvZ7q)%KN|2G#(!sxcg>Ux%+slp8_5sYfOH1_dd_jcMB3 zA5pFucSZn#MXsUe?j<|zZ~D4|RdJL);tGRaCE?O`E-IHUZb{oXw{$yc{<12bFt})I z)BLgV+d`9*yFBduElt*x6_qe~i^q&?A#zpt`PuZ<8!f>o2Vdnefki=E*uB!_K#JO2 z1jcVf7&+VV5v11j(zd6tnBzMi*XWXqV3fxWCEK8XycsNOF6v1)i3saZ%O4!r2h?c+ zh@JnqT0os%n+gxW8fhZk&<48^t!2frACmc7;cYRRfs%(mCs9cKvDjVlTy(H9q`tDl z|DbDaqw+yy)FzNy8UY7DUXl)*k-Gh>eADbn*}(v6UgsN6=>+Zbj#|znxrQ4Zy`O~* z+Msoh_i~iZy$kM%4So*vFb9&pi6X$E{quAoNnew&D(cL|&G3GUQQ+hR!bQ@hn&oDG zT>JxQtwTcRHYELZeethh@wh(IK{>l81kICR1iu_`=-(w1!4rZUe|-~hddR~(VGhh< z1e~|aDPVoiw!-Im%LX;bX`-kUY^q?G>!5nP?zu=kI?aI+j z%+R%3t;9bT-1iryni`{dgbo4QS_44i-{884zl$QppsGw~x2<=rJzi*MzWBv!lBhk{ zm=o}zP_^cc^L=hzc+tEYrtleF@QYbDwPtAr%xS3ofhB=EMCY|q>+wF~7n8}*?0~Ef z@^!0U$^a;3>5Q=>(X(5~Yo->p6pzo1R@ z-AZ6g-&<|(!c`)Hbo5f@cadf^(&Wuje7H^Ya-Ynhvfh%ReaC`@g4W-3fSImYk+)ujKLuQpvKEX`cfcK6$ZDd;6Y!L~nu zph1`e0I_1y)b|>%yT8fCk8L;mjb2kyAmj%XPbnWE-I1Tp&esyBZi4LDx1VWZBhyb- z=`V1tK4BTzdpZ?yZQBT77TTO!c!Un5v2ZJso9SbJKxC^?$w9=`kzb)`>HLk|?-;)T z{m%Ig@X=_Y`$?B}aK5w5{*u1J>|uJKMrTxO;RO!>GmEYfnN@?a1GzV43=q9--^;!9 z?TMlnu3h>Rzn9O0&&1=hGQW%TC{)Jl+Xw0{EFjsF?XgFe$@f@KPe#s1l(#IqhJy>NYv%kxClP+lpfn$kF8Ty(M}qx z0tj!6Sgi&3=8?J=&x_{c^JswG3ECoH`t6nFcGdv?k<>w ztu|Vyb^YGkUjssMB$~yAJa*Gn`e-MTBPB=Q|gyoQy7l9auv$K7+H~t`RTe zWP9$sNX2;O2BBc{VV07hXJNkEX*ll`Bgj|t6%+GkeY)A*3}6L~A;eI}^845E@CcJ{ z{P5pRo=6=!N>@%P$|r_IQYK353q@*#(-e4>)%zpfwux{#*%746w2?BU)CD?x4Ps(torX@g8PH(Lc=>qzCJ-&jc4B{vJ!t21)zrE1k2Yo?OnBXQ@o@yO9lNiej&HtKe*CK92;TKlP*~bvCC*%01wUGrFo=| z(7No!HrT-hbRKqQ&(9mli|$E{-U>CRVPTIkP9DTeh*tZ$%Aq`Ez?F>G0dyb3ektS} z+^AzV1pAsl`EGGoJNETvBp=b@UDGdHznhfYBGIxwe3U>~cm?p`|N6@fu9&^MHDboY zd6Kt2xBBmwDOaO^FnrP`jDS{KYn;n}CzW1>D;1LgG>{TtsQ-=Q0TB%2IwM>>b?K!>_g zr3(iv)$lae(p`YqTOxf44~Z$8u~X{%31`l}r*IwZ7w@ixaR|^oOm5tcII#vXa+6mF z@B`q-{L+nF;^j7qXV<~1-`<-{thh)a8ow?t|g zJGfx06-ez5um$0}Tz_0=q_tt^Qn_ApKQS>-|9FKof-@B4KYBg?crCT8saDOFQ9<*(iWKLMTHBkGEBm@x4k^Q5lhXl zolIf!uME1YY~mU{^eU>|d#~RBZQM!%5+%*Q!+1zY&cf>F-+^|%;a6!HP$ghn;sj61 zr}<0OQl6?K?RDl!GW)(+Yvp638*jQht!pntE6B?9XU&4xm@lRzFOFCc-p>lQbck*n zAPF&Ki%~P~$ISB(#e*UiIY3S``cEA+01_bYviTEFsb; z;P{5>+g%Jfd6BaVQ%1l2wu?%xb!jC9Gl7` zTz%(ndY*Wg2i#bly57w*Vx)!6O9Lr)_};goZH&979Dg@1Sth$hC*gK|jJ+TgdeeoS zX7t#?&`RiHp8*o+PdbE<5n$%|R8O>3l|UHsKWHL879qTI=Fq+`{0BTF0u7RmICbY- z6+fdu2^<)|rpOzTUVxrV0A-AS4eAR1UHtmj8ig%QTGHa4iq~i&A`21T+MNLpa*YMK z)6#YQUTNj#*0t4#oII3X-SJpFPY9F$V*2GGRQy8;5s%;ap(|uaz8FissE=>HH4`Qe zdo>31>-#CWY-XwcB-+nwq!m0U>ZGnzTp0)I996j-|G9lULPK_NBkuk}A2$o{&mnp( z7Z>Ai)9gf{1SR7p-Tu~9AG+?|<3qTpjCdHr)Dlj*0$E%$%sA@8+LWrDrsFT=P?WYc za*d00M?*>dCi$9!q=wSJVlvVTxI46ojrY>y#(F8cv|9ioqgZ={gZ`_ z)z6(vrpM8JTc$}$xi55bjdf~tPPaZ6EoA8wa%V(!o34CrU5;y=`P4eEtv^y0;y1i- zoEhKxiwKAsKm|oe7JwgD@CYe^AAMpaRyckhc?F;N!a#`Yrf2}!yFD_3c~sH(OcAL5#{&SzkOev8Wqv>?o8!CmnbLI1U3aq0cY;9>7{ z>@zZo15s3XTL)44--T0s(qk53CtJhkl33h^KF;u`&Rf|JY7Yd4O^?-wvA)~O3gP@7 zIf~NwqFD0RBGeWfCs;)Eb|2L5O4-C)@HpEG$6X`^4uG%z`yrB;J#YO6W*|9G_sGs+ zfYd|7WN`G#o;!n9L1#Tz3=0a+KMeFbrs!j56Mio0;s0L#aix`jw06I?&Wr4|$eDpo zS?c*l>3PB(c~~HN(z6)aRwlLYeX^(>T-vxb)zTvAJuyuTRp+IL(e* zWl}Jw7T~ed3K4>;x7B18(}AN{g1=NP3Y3>1IPJk@v8avGGx5C)+&TSTTz*S-ne>i$ zFAb8j#ZgoqChZ{qDl}fd_np+)R|p&yLs0qn$%hnbkbpU3?Qi}#_RLq}HuhwADg3Pm zeYj6BY#iUsu(rDoQurHpFb@)@Na69yGcCj{P;MV8#aq2OEP_o*4fD-ZpGDFwe zDc~qiJAoM7jB;mP>%Q={%!~5>OpWt-r z{Wm~NPv+EKg_;RWr-H}LXC#ng|J4BMGV;mG^qkrj=JZylr%v@K#Ed5*PC;Yd0;MP> zoU!e6I(R&c<&fqPWHjqW(3!xSk}3g6xkiB}@+11Y#N)C`rd}GSVq9GFuB2@c3n0$% zojq4-TLIqLPW0_@38dT4I`SMkXSY3PoC;7>pM~4l);o-vZ;K#-G^Ya>jGeJTwt6pl zwuT~~`fxm*TYJpyFy)Z@2Dl@MP2oCHf6&