From 0d00dcecb6e77ec1042612d054e5a417cb3d4fc3 Mon Sep 17 00:00:00 2001 From: ivan-igorevich Date: Wed, 29 Sep 2021 14:11:47 +0300 Subject: [PATCH] finished arrays, wrote strings --- build/main.pdf | Bin 380797 -> 429460 bytes formatting.tex | 6 + main.tex | 534 +--------------------------------------- sections/09-arrays.tex | 378 ++++++++++++++++++++++++++++ sections/10-strings.tex | 251 +++++++++++++++++++ 5 files changed, 639 insertions(+), 530 deletions(-) create mode 100644 sections/09-arrays.tex create mode 100644 sections/10-strings.tex diff --git a/build/main.pdf b/build/main.pdf index 3255077d9ad8dc34f862f863c018111ccce6d20e..fe19033cadd363ea10ab2e435f33b27d6b5d4d25 100644 GIT binary patch delta 210381 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

2?SktYm%#z6O1}r{Jy4G< zyYiar-fwdrhWa(o$7ffpShQf>1K*1ww7U->)mML4F1T)`{-EkQg!asV_Q9(bT)AZZ zoW&=h4#)VfSFT#J^75<3%tL4ZuD6au46~g47_mshKFHR?D5IsE*@Ko63uXz?Flv@1 zjOrAsEFMSKje}mb@I^DHwg(Y>if7r&3thNg9m3Da2p5Y*xcW(U3cWj0v3DU6%Jl1F z?n8fGgo+=*cL=^87bekbkyKb-JjGby-jUL`{1-(VQ3QRAcA)1`9{qwas1sMCIY@Jjc6~bMW5m>bTf{k>F6O8M$?c3jYD^%J$OR# z6Ld3r3txtwfvcawGK!-qxV!ivnt^(XN8o=R2#rBI(Sz88L^z|vQt<=m;cB!Q9Yb%U zBASaHVD~^TJ?H{-Rq+U#hu*|<@x?_SnuxAKH=zg6Bj_h+2;Yv6tJq>6YCsFoDy+s< zT*2H@d;>lw!pI;!`I`zjH&n-JWUf?gw~@|_&R)?gxGi4&x`Aj1)eVh zBi)J~LocA0&|jgqEiIz#lPJ zF@J`hpG3px4EhRJ;LGq$Bu8#x>qdWWE*?TLctRQan20VySDkoPWg4!`;U4@QybZrhPB0fS^OzkfS+zs;jOsn{d9sirS$erXq z@*MdYIYCY`ex{P?U>;`PP=$X~zgK;&UNGV>JYV>GQD00J>xYq+tK~#yFl}U=$GiXz;_=ipCR-)%)!@~18#D|h{9OHaa;vYcM+b0*Wj)A zUi=t-1%HHx@L7V0frQ~xNgBx{GLPIsJ|kxt9V0R0nCqCG%&(dMsMde7b?|wHJ;Z*_ z4XLA=H_q-J`JjLbmlbvtb{89f7dhZOE67|1jR&5a1hc#t^}}ZsT8-8Kjn)Ch9|F$V zi}s`E&}--op#2H-9(rFHFa3N1GjSS?paLc^pDfnEr!@8&n3;CqmOi`$=C<^?9^Znu z;0NHd8-EW!0`z?o{~CY4g+Ii9!e78MA(A5F$OL$z9&$0s!)HEOL~bT`kc05~6?vNg zWk8z0yhr{>{=*22nGu;d)5%=Q+|F!e2AG4)Z{}{3`!RZzc+lTKAKu3-AU`F$hzmC|V^o_|Z-CZW3*-Dg`H-l|UTE=Gn2q^p z7Ive5s%E3V1N~31TY;v3UE~A&40(l20#1GxJw~2GyU-rA1UJFx7NbMxKj?0JlnLU) zz<2A>N%R>y_04Ei>5=gy$GOOAt_5c3D4tP#l_ZLP1*!iCZ$j@e{{h~gji=!>dIJ3k zX8pG~gGE(AJ&3lUV~ia|na9ZnQe<9J z1<^g|6f*_xdL!s3AI?BeSE9?{IfBJM7aoHimZN6Wj2Gg$r~}S)qd@UW82J;Ri{#?G z;x4wAO`>1nDcFvGo(Jva0xIrcwS{45c@X6AJ=BfwKnDto(Q&XVE*!;mz)i#KYIZyO zG<%T!Df>&V7F`EYyBlWlkLWa5jUZkGwD=T#3A{cYq^AnxXB>>88*JDWq?h>#YR4Y5 z5_Dh%=uPJ#)v2mvWuhV;i$G(`wWlt6~U7Rh?2-UvMDSH=v41-Q6i#mlnW(fd%Is=o<*ap{{SY83^_%&4S-< zDMQPp|Er~3YAK&jFFT~*Af7v84wS#sA@v3ahL!SErMz7!8=)Ku z!3Dui*Rqb_0PYKR4s@+vwzadb1G?L%*R@OSOLVC!v`?ppq8>^EPHE*n>}@oXJH7px8K_ju%^#Z$=B8QeN^ zjuaZmd8OV39lm`wwDp3u2i$Vd{p~ZUs(pgFMA&^MzFaUE&o3-FcTOoO&1q@!1?MP# zi|L4@iNFv8!9_tB$s7rushK8An$gxp&Cm?~dNEuzuo!0KvH@*--&Uc89;eq2uu(w@ zZv6rQ2S~%8ef!9Q@)0g7e1T|@^2s??gY%>1fn;)^vXZihx*g^e#@MFR8&XxP2g$?I zN+AdtkPr0$Z5Q;mq=EdQ5S`#V24%E=5Gn&3X3QzogJ_|5Ka$hQ-T~4_&m12;W1mIO zY#2Rr?(#kfIQbx=9*})N6Fc|M3l3}NvX%kt_niojmhf zwbJ?KbLYyX0c-ml#!Jd2;$@Vxz?AdOHKvt0h5=O+{yBxI7Z0j6z?I4o9PAo@5c;}H zX|FC6`u};+VDWQ$m6CmPS$UWPEy-`!$9${)t>GEAGB99Oj7*+6ck5Q&x6XBe2HLu{ zOA2;v?c2Iwu()BN6cnVbM*+{ox328$8=cX?;;}ot16_Ca!b2>>Ex@e=jo&BX+h^>P z@$DDRopV$GPwe)YbM_NV+WW?T_wI|pxj9FJpmdd^0}|iAFi)Jt`x# zK{=~Z4k-0SgBU5tG^58bS~N&X#{}gV{82$~pE>9JDOBX5Hw7#~s87uLSa2AT8jU|l z@JpO}kkQCi#HwCmkWQ_72_v_LV_zc7kMTI91;aZVxst+}){)j}!s*t3sUxi@2W8+vAR%X%HD5yFP_X1xFu>+98$<^A}Z{Z_;92GU>n9mf-LZi)8Wv8 z5#t@$aSY#rBwQ^^L7lrMwlcOMwkLKnb}9x+AQp_tu^u?GJvIWPJ5`Kv9SqUF-NIVU)R*wkcr3QafV@L7D8EH zwRd@8?8Hkt@&8!yCtay<+sI1q^q_+yzU4nZiEr6BKAH6jnrKwNXt%26>!-e#5ZP$d zAp|T|?f8G;w+bnL;D#j3m5H4Ks3L-D@hti72b|cl#JifTu6fe+Ox3Z#v8p%J@2CEq z)>YtU+>IxCXOUj-5^@{aSo0Kqwdyxje-3;cJ`?yV{8f#)TN8`=B9XW$=+}nBe9&(T zOEu8|6G7F%n%YVf4MczswKiXMG^({ls_k|gsjSv$v>FtD6oMr9f&04_m8U*Z%g4ny ziKlpzyRLo^s}6+5&T%D^(eRCjpPM zQC}logVy-g_-{j-eVhHe{7?Bm_5a6jSlN84nTQtAD%ymI5M_A_Z{=;kI#F#SrwjT? zIP3|3`Yqvbb&Ee14(o${b665v{L!$K4*DCy(qQp+xgGg^K`>MmKCjK^^PE&-01f)BB1rg22i50sNZKXYY=K`_6i>CY15t1f2b#VPxD~$xUBUBGRlCUwn5g~ z9hv5USdp%#=gjn6^{Hxdy!s??iMy$J5YGgEHd^f(#8sOpE9F-usZyIJBv&QR*;w@YhMz8)rKgJL_`MC>Aqm{l(1OOY7rN zs*m>;{|D3cKLPpBO+O(6;9hvhy(mELIpEh~G|0GRk9nd~zdf)gKmtyu$6%Z2L9$!S zpcgTwJ^)5A$&c$(0; zq~p&ZlT%0joC892b#!%1?7$M}uUJE-vA&LqgqmY$&Pic<3|~>Dj%U*ICUwuRYw(5J z=g)6%pMMEHy6Vy2zdUQ|CG#gvIr;l*3UAKuP|oxz{0#bwvjIQ15)kMhf~9&_=#Qst@|JVeqIb z+QD5DQI4A5%0$BDa*~#8R-;jWYa}#Y7*EEx)$#Qh{^!@@`WsPaUnh|}dph@Y4s@zI zgFF_&Cv7t$0mFZffQ1`7fRh!P_pee|cdC%@KQmfEqehCRmh7rD7%EU&dCIa%dR~zc z*j8u-3K9Po*Ooc-99M__>&XAUg48(Mv#F6WsWB0cN$-F%`57(qdi)`OWp46vRjcIr zhS6!6+*z1+9w*=MO}VfEZ}_HmcH=i?aFv0tdx{^ip95bTQ2;+9*Dn*6Ss&27V|mB@ zuIF9fJN~~|v}%_+;3O`C)8q8Tg}60ttMKRo8??HNlO}dh90wrh%ek?fYp6n533?ZkJ|sWqII(>bw|I1Nst!>?WHUh2D! zU1M17UhUt>A9fw~zvKN}qn~XuH6X^(pw?RSZtn&Cq~KswzQ9+VSw!%lTag`-2he5wl8+TB{ zS+eY4@wBYBWQog?HNck)7C+u^&Kd@bpFzgbnlY<|+CF0zjT*|{b0!n_=Wzs?1vLo; z<1w>UJtdK`3v2MpASqbOMX zYQG^H94vk%&(mk8$M8RB_lOrlDFD|s(n7rY9VS) zBZP41gFeRw$HNZBu{9mTF>gsQQ$}PE45Y`<2Ws)gXza(B0Q4P;)yP#cG@}xFhH6L< z&Ri?SC&KWk_$go{AWAlm%jtF!PO^p4SoA;=wgdhMIs+7V&>5*L!3|nbWY7LBL=mK_ z6jZ92;s}6$5fVvwJLjE)5Yus_@YwbRe+ik_ZQOV(Sz5TA0)}s(!^wv>{y6L+4~!fp zcR#T6&Jtdj1o+SZGz_9=kD_q#_yLzE6Q)XUj9|$G!*aMMd_1hGfdavQP^-@pKXwKE zLO84q`gySZfADzD2K=JhQ-Oj+;5BF^;PF9RDTg(GyjIi_ZJS$g;h?L>wcW+If`W*H zVvo39+%BrbW4IEz$d3+$sGtaEK-sl|nrj7Oo>r6`^+&KU{23BPfFPv;=&}AhC65$~ z#X(v9mx@wUmtIqB*!(5V_LkI0OG!yB+|qWDGsaFS+`WE9$ny24-zXfFqh-bp zyrM*ZlPREg44`+y=$PEDF|dw9RwizYI_9{Sxm6&?*4e8<6pDB!@cAE!tkXa@WD_dV+N6t$F($Y7B>jIoin@5#B9=3==DBRgI!Aq zVjFynR;v#Kaj_X$1ZXCNBN>Y&qT%%-0HUdXuB#;B%t*e@T%S(n>+91al*K?RwAQC{ z!<5_1_5JVUICzS@>1q+P84?qnjR^;BWJ=mlviya=h@1;+(>}g}3MQSL|4f@4>Zy zLwMqYt)AJGUIfK}hkgepU5?*){_XnO{k4ZpYYcR7nWktYVRQaqwJIbMnqE8RuJ{z zuS215nB&x%U}zAtvetkqg-TNSfpd@{vcnLG0;noWzQNFA#Ks$|#~#IQ#aqs|QooSe zT>;!hVPw=6D}ISGDXqicHI^Kb{#E%bbs)2O>Ne(0fGk}Ksswcqj91w__NY65RuQeT zRi<&=14+`6O5=npmPQ`$H-1P-Cs6%-6jgw7(;Ko$jUnrES?z5&iKz0;LyP~5!cbfg z5Qnmhi5YX*0g*@$G{(rJvgTNQW@!5roj2ev*_&uA%qmRo&EBzf`rVI^<%Nyk)*&57 zuHUh+O)NC@Iz%Q)mXlp0KdRqy^?Gxk&S{01W3Zr8v3JjJlnX;K2rYb(Cm`RgBeKMRc$wsWo6>vwBF@G!`t#T#eI2M4U z(vyng3STr{HkKvX0B|)XBIhP#B$}*utq-h^t*=sDV_WZD>Ayi*8DF2=WV=(^VcY52 z71$Nt9eKj`gYeUTk;AqhM=Tw748TXRx4qF(`6)x=IKW^i)|cFP@L*tS9iwYBU}W%K zXHD10U)ut<>hbvY+WLvJFa5!si+{L$YI|MN?1ha|CL5ENjGJG0tUKe1MoGxo$Go?w zNfo`mJD9%Ze>UFr*XzTc$JS+Me)iAaG53`0&a~nXGaq<=KtlhJul$0;5iRc3J`wmC z`I+=C{uKX_sC61#MJjCYWm zC($Y3tdsZ@CMs-$`3+g^F1PD*GdBO#71OIj-6}nA!loqk0T0xY!%8HusI(4w=46N#pQtK2Z4Vk8r>quS3cub)*XSX@1y=r7+as1C# zJa=m8_3z&OOlR|$sanqI6l=nnnG>5P*UtHe>xQ*|*z?NsckjJtZnk6E;+)%EKlR~_ z{}_|3F41>J zetH*f~! zf}g}0q(|X{Xdp`xFP@Tr1SW;D$|N*@$=L1b_009osb20`?p;>B#XIPI&1EZ2ZJAp}LWG9+TRx4hVkB27Xp^e;sRCtH%AF-6?#x=Un>E$Rq-k{3mljaj z!v8;3eKkU>rd3%$N}@cAV~RrI=+du$)k;lpsj9~0JWg^tN^VjU{%7IW9pkF;KWZ!L z_FOrpwhd>iTRI9~EUE2WcHyNHGIe7y)@XQ_x1upd4t=-V1R5snimfc%gS|V)M5{{r`mML<3Ot1G>?kL%sNuXyAvCHUAGM*&6wO&r-qS}O0?ef}xgZ8K^ zp;c?}8jXJt>-JmNIAjMnqXpoRPL3iu63ZYtSq({jBP3u|WYmN9P>xPn_^=ozVcOEP z4Um%zrpD;5`r;pyJE%9c~9R;slKY zjh$5UKzk*JOK5%wuIh7^uPR%AW3V0zab++hhQK2>2`0itq^LwVy+LQt8Z-tKXLr~f zgmb$*F0YH>2xhPfGhAgdktAHe9A1cGYDj!m=R#b;LJ~6h7h=f}Ux-`|C?zqJ6hBw- zpUZzYqki0vZE6!Kt1YU>N;Ap|qiRg?f=lzu9Lk2TzGwEr?~SbrCEMzMPhPY7mo@E$ zH&nWqyE*BOdTe}ib)CDCBTxKd;EJs?7Uw(qcYXg4M|XYyk=vhpA1@wrM{Uq0?Hl=f z;nczjHNoa z(Y1j*e@QwNj0~0aB|OtZ@Jv4Ru^hRb{D?fuFmc2E4AJRzdW=|quVs(ppo2Jk1V*LP zYkY&a@31B99B>lnAP(=x77b+?y)mO1WFiMmEH;4ZJS}?>D}Y*f-|`mk!_WJ$&l3Qn z_dGbSZvQbn2X9A;M$Y$B?4u|PlmnD<~*->+t4}}_#g@SaTR%01}s5u-0DmK+KJ!k)j zSA6%DOCFpRZG3lLYpb&Wj#mKLa2WjAOjOL6&SBo8T@~gwLiS-x}z!2-fAjYij7``9rvFC80L}pM3 zN6c@bgpeQ!svOL`6FWUAK7a#MMFiYc=g~X~H17vZaT*+f( zec_jd!n4z}n|@PxCtH!L9%s@# zeC^yVe*wbK$lf0UJ$1;4cFC@s5!YkPAQe$-b*u(|jF?JeH0t$(c%Cd!1Bb94VYNnY z#47Y0J`2vUjtH_rgISHih%|zRXr5!V(6Ji#$*#02ry{&cR1uYjN0da!Z7ONeA&SPq ze6=bvmjjRF424z7Rz`Mnby5Z9iRbweZLGN7TyK}mA#am@+hRAj9a?7{)?Fi#+k7?#6az|K3&ti{P z=TrFwNc}48Q87&EIm7UrVXy%hg$2b7Xb)PD3abY3-w#`Y%<~L^hT#JksXT-DL0QLJ zMJutsZ!nTU^4bCXrUpGnIBpsBju=$q=x~ zFo34hAezH@a3&P-lWmL)LdM7-aSWAFhDxg))j9i%?z!-ON@eOX#4yXAJHkMYs8W9AZLh72PI( zM-51Jwvf)uC($wq;MnUNyQ{rd!ssQBo`opLLrK!d7GkeeT!=zONYJQxO;#$4A7D@N*lr@~#!=^hLM9M;O9TUdpt6*R zC{QcQym;un^-`68-1rB6an;YSzVSC}-oy76Ue`2Khf>wu?a7H1>@r{V-6wVhw6;Gy zf7_{bTd-#L5Z?01$W>eAt%X7+dii76c3H6R-PgUV_)*sPs~WwEs}brd&$IcL|cQQb;5 zx*s&|jy!FAIx?s^Y%}cRXxNGD)G~IyvNr5BL|w>`si&DrtQJccu^O^{oKXQ`=a}Cs zr;{j$G6v>CLr-*(;cCOJh>Zg5uX9Br$iTazwP9rUMqQvRIZGXmL@4aA8|!S)1V@-~ zow1fTMsS^qJMT98Iit6KY|*`g43ho!n%eheriaKOxv_r zOPN;duBS{(f#`6OS{KkCr$>^?s7r%ZY_byMvDtLvIXPAiTC!@B(7M?qy!^7V?O$G( za(v@yHO0Ph2-Ty0B6VIFPECP-*$R_6oYa2F zWhv2U3)b|eCoU$1%MM-p*q>h6cI9Io*FSXW?I(_G=(|@_cf+JxIvW;rPyBA-HJ?+u zZQ>>Cn=jA5s9^dW%j|Gy5E`FZ0SDstzbb?85;>u*D6t&oG zM1@P?F{LE|WkV_V#9uah+b*hk@RuuowPMY0Zu(_mIZo(*DqU%JMV&7`J~=V&^TqD_ z{ar!#2QS?A;q|u{3Xi{CxNex-zH-*#?_QK}B*#2a_$w85f*h)8WCuG3{A(v_lzrSL zWZ6VlD&62(GMjkdps)B%cDL(-9i=_Jku&)b#dieU3qGUpzr60yd1Yd5o;t0mY1*{H z3*`bkN6F5A`zrcoM)4!|BKC3=!TzJjQQE5XmA5Rp^R_VMUMLtmT5qFus^>Px9iDC8 zEk4cV=F2T>&1)@N%ujMp86S7P>imUQ$2m}}-7(I$!LiACn|Gt{i0Zk3E*)DYuHjZ2 zS9@=>9^=(bCbK2tM|0`!!yvZFPz?RRY%#IR{fudUxm}Crr_I>xSsBAIOZ2LvxK4p- z;Kylsov0(asc!dax_x<|R2uG8R(_~vquL;w{p>V2#KWhD5e2w(3$u=HVMZK2&S;1^ zqZ+MROE_=L=+H$G=YvG=GDVTr!$xt5Gb$-xU>b(euP{n^YlH4k+bmS5n(UNWB8o*Q z?QJxFHnA7Qt3H2V{cmb>^Im>v!*5rw`ttGL74{za1@3)u+r#tR!L*vayihs#@;$3} z9z9(6?XHzuu3dBak8s!Ei+JAgwn)0ZGNiPO>;9XI(WHCDw!(&V;qRI?2_z zcxN)jCxwJL9S$ZVRgIO6$x9Pk5?d;NkQuChJeIL$&yjVaY)5nXMzN7J{-Dp_dm_neV!WQ`eR?0STFtLc?B*ZWAJV_fbIAm+S4nI`Eh9D9 zwbSu@yaKPs+c1kSLNOsmVuM(aO%~4>8C2sKULyjeghL0#+G=;pAkOY9??w;NrMcvP z86}vbG)2xV-7W$hmqo&76n2-VigPzl>j}U(4T?*p$4Ve^&pT z{^$Ci^G28;MKAV)Vzid#NC|aQK6aZ*agOQ4N#^=dOdg9@lk-q|6Z4`z;s4XdrEBbd zIsNqCF1(=d_(wUb}4BZBKvUiP$O<1ikyGbu((_&KP&`hVRXPbVx9a3yv+Vfy^uZi}`?g3Du%j zGD)^`f{;}Og>0SN+L5`V;a>Ib2BwWJFD;nda5#%^Qa_P;w)IHrmDIbTcT(?vHvBoI zZBTcrCs`*sCpOG+F4f$Rb~ikZ597lcL%kYrXxpWFF!fNa3bpmLEpqg=t#awrj>P-5O%I*vS}rmzSN{zmLIn^%|{4ovf-zRz;IliPrjO>YuA;RP|%) zr`F$C|DF1W>wj4PllouP|Dk?=xL&`q9@metX+oMMnrk&Gq8X!^qFJZeqIp>JgyuEP z?=)Jy#;aMWVQdx+<1)s?B=neAnjX_l>UN@hI!#=1BAMY`qHDfuh3jG0Uf1(3^@py{ zTxVU3%O#tHjEjhBqUWo`s&rMZN>$a7Xy>D1lte#8D6P$D*K42Gs)CSz5u_EgL_3I| zlLfhLLmQFX`r1g_Q+8~prdqD(smK+**qcO6LKA7KV`V9tS;2nJk{VWKd)Pi!#k$8f z&vFgo+D)aX7eJN$r~8vH3n__g-B;8zvgKC5u6uVh0~yQg^|-kLWzS{S!hyr zg}|BC2(6~pR*D{1mH796puy#L5kyTlwN%Y5K1nAqDn9Cug`)acHf9Q#1IQ5625?wv zVVVL+@EHSG7lx!+H6~EDRCHtRTyP*>)t^W3#r;V{7owtNogZx|Eq5sVf6fw=Fn=km zrcT+91%WVgrB?NIWa2Zo_bea84NkdYT&2esn>Z#nYt}b zXl$yMyp->g#UYg!FfI59c!tbdx-`fsI0<&S%@NUA+D(dWWYmF}UT<2(^MW3HLxH+q zYL6vR+D%e|qMFBljLq~UP9{iALQeD~Rwni&1`@{;>V(OJc(({hqS9=U1zaP@LXU7< zI4Q7#yW(5BNkVChNGNX+3IA(1DVtWdla!{3Qqx4aY2y6dq;kxKFhrGEX)CF`kyPi2 zs*G$j5~EmzaN1Zf8dZhk*l%zLkkKUSpe%8*IQAF=0Tj}I1mfSCl5``xQoAy^ zKC(meB>RNsh)Q#dW|NkzSFP8r7uQF3usb81vX9Y=&F5_x#p0mn0I|g44dv*-x=~b! z_pZLP@9DmEZ`?X%b#`}HtxMM9jht@EnEHvejq&lb*(oC<>-taLzUx1?)-*0rJwC(g z^OESuV}-td_0pJ$Ezh2Mr>CW)$EE}B%Yz=XqabdO=Wv$Ew!CeHZJB+EYpqQk)jdgG zA+MX?ByTeB8sD}5i}}i^TW>Ep)3ceS%!=?DW_|cp<~Gx(#*gjVN=?y$HCk&}$u(1@v|9oI`ehhck}L5Zw`iD!4^RLFc9n&1ILl z0eRBlTzG!??_pIqm?*6;)(PdEBqa}6N_ng%Lvz_+Fl9~(Sa65RJ4#A8TPZX+eMGPR1%@F`!(;L7}J0#^m8yfVKq|Q0G z<|QwGyd;m*HMhVVsxzZV)6V2airTrI3tAU8ho=m#J$d=;k*Du^^KVkrE@eVv@E6Cf zxUl^q$L^c=-2D8f*#60*k6b5O>U(!fr9CHbzQzN7Na3VBPflabDn&p| z-wCr|G#D(vkV%23d%Qm@@9*+n(VO!!dqH)7*2QkIBb-p)TXiVO2Bq0rE;sdRa9P@>>;|e zXOBMSY`5Qz-#U2xnn`0bV>y*UaQfq9E7Li$ z<`P$wiA1osW(wJ|urs~=_`K%S_{NZb)@SDJI=-f1@0x|wN1j^fV%`H;szGDX6#Rxf zBP!_mTvc?l_V(1hi9@QR+Wm>c)t^Vc=+NovwGCXB8xx$yYND=aLYokq#cuIV&8EuT z+9y*_w(I5Y$oP;k;SvzjqK??w62`PaK@=Wf_cqy*ZIfg1Oq(1KA+ftMHEpR;dYIC8}|n?$L#=eah2cENaXB5y_n!qG8CDJ_OD_27){$hZ653B~eA#B(WHFRU_6{c%9gr*? zJ&M}kv731_yXUekueV))J9z(!s~$cuuIB51n8k+r3n#U^%>f71_mz-H>=odr`p|o_ zBe22j%<*PqK|aweSOg#EjEEL6;|Ig#=#YbwDw;!N*z5 zIxU?_9~>>AIGITp49bqMvC`#~p?hWDqNPFE#t2HKEjX)F$>nr^swOkw#M_)$ff3H@ zq>h=IPqp1?prl@8pcaFD{H3@h)moMIt2ZTtvb&=Aslw zP9lJN1OyLjp;YUCv)};>=2^rcL1YE+060CUU4?d_e_4fgppFF!iX0ML$+0>#sz~*e zGWrr_Xm%i#$>_@zqPZ*qi3ap|n;s**peOq4Mav$`fQ3n0a+YnDHC zoT|>46#~%!zHd=TAdeeU6z*A~)$hcCr6BE($_x~+>$lf?-H zTP&ii3p8nXD{4huq7{s27l#|0+!4_>NZvUZPDR8DD9E<(xQN&)h53kRl_WWi!x1q) zNZvgn$zyO+L>vQUxl$S*5xXQw9Zofd)L0d0ty`)JEY;~$YShKGj;V;-th#O)^o63R zW(C3-)V-&Fd!YMxx2hY=mx<>^p750(w>-ANEhkf%huzP+Pq-P`y$z7$C!ugIewg?T>arp-?&rb$ewWn&R%HZ&lWG`l&`Lza>(CUfvm93RJ@COY!v#HCbh(8A;cA z{dyzI)x>Z6bjd}8a`kC!BXV2~F-Lj)_^A#CQB*MnM3-CQR zc7$@df^G?be~<&I_5ys*dO2bjCl_>!a$F?B1szuqVR=SF^+FdyswR+&BvBm&{rK@A zeOAlil;Yt`ZsEa=IwyOcJ1uultiCV0!wA*cRXk5+)ywBTk(00N`Y;xy>j7@HDu*umLC^R%eQd0{F z$c9ahS3nYuKmy3ZCJW|_V8b@*oAY9SY9K|@sg)o$a$5s^#skoUl0zp-4*e*3Rdp$c z-jp2rQfR^hBuV+`yDngg;_;aB_6!X0^B7LYj>k^M7<%YHQ%gq40kSAfwEjpY=B}dB zN7s?5ic6Nl282;=qJI82yrqa^IjjIK=pP1g94#=h|r#mQ2n*TDb3u26ZH&j=C4&Jy*Aet}o~>YgT`Y4a+e( zM}QBFD1>Lqu2(%cZorm{G^Ut;5hJxTrq*ioep#i^8`P*ujwLg^3adO)$tPE`38gHj zWCyZiGc=bY70JwT>7+!EBujk~EwZxoutcQND=6|wJ=T}~F(rqtX?_^oFuj|;)3@PZ zyrH?DYR=N+m7@D7=7&ETtwZC^lnH7r#o%<{kPszNF%S$8&Ste+3CG2MygrZ5?PKVh zDsgy9e*inQmH=|8{c-xHN*o6mQvh3a&H(bU&iHvzHpxorii0w&t-x745l8rYTG zdc%5QrF#Rn&9F__;C_v~BI?$wR~lFH>s{N_8;l$HZ7vPn1@G^rFQt^@D3l;Wi!-c* zVwJ;j8tHt-aADoAuUxW!?wz-WJ~>f8(P`3mSEmATqb(NoFfZNo@zz&wdlXl^^g2#X znEI!mU!I>Z$sHa$ABUb^@3)t1>|}5vu7WvC;5cCMm_Dnw8H5r^K_DUj%K9_fzZ`ACK5AK9)xsXj$Ro$)bQ zj}p971pHPhg-iStRH&}Wn#Ab11j)(Ee(GC9JS57OT{1RFL`+53wet1|I zD&aZchGde4_o|hD@Lt8aOX4!JNz%ymvbc?gdzN22vpea`lwOc-7+pbmJ%8u8=Js*b z4b#**qu-OT2eI0aZZ4?DCN;WP4fEu0?w;S7YoFAi;vC`Jf@|Mt&I(>PxP5GP9btPM zJ`WpJ_E?6!9TJSF44%g zP)^fommqOOp$gAd)~r-ToLNQV14b_m1%X1!qiCUjkI*G>J$;e`(1nsiFG>y_(R}~8 zzLLE|NhJ=$jpYg#5ZPyjMDRjlazbKsl*2W^k)$^Y1Oj|6Fj)NK0fViSLkpVkhvrH{ zrQK1)g2}Z&TQ&d<*#NX+ZKF+u&!}rMx)-8^e(`BpXU?T%Ex5>XDMp08n4T=PqIZs_ zU}zwJ>L(ABa(GlQJ<${xA*j72YoQQLfnACY7XNX;DbjrC2#uxpxkI^c&{Z$$F9na} zsrP!`W{T=uI66p+#GKnlDMcMNj&6UE`}pwKTgN3@Y(X5$PrGY&`^tbmAgU5?iD#WuQOV~=Q!@kyLv&ukyD`hDG@O#>N+7m?_XEew9}0Ur~_wFG7y z?!DfuTX)mG@v4!+(~Cx)pON-2avWbYHoOD>Tk3szEq&HpaY$9mJc+{io}(xNqk94n zVdP|lXboONrD38$l{Gx*`+;xJr~12p`fnN%raNyTnt)en1)tKY`cRFFYE0cpNh*0z zfruEEBo=&0_Y$pMr$^y15P(BmW!be1a1`KifcQ87c^n0K9L0AWg?1c;b{s`|9L0AW z#djw-%yT%%o!|)K1debN?CByDH%0*GManoYQpR_YGQOkv{>sv6=s8k`c{G=Q-2n5B zN3a+fh>&z-WrRd*q8-~Sd8%j*K*y#s$}^Qwo~hKCqKB*i_C7b^wCT9%q=_-Pr84Xr zb!n;Jbq+nyztj2iYt)PkfAfwrpb7=^(M?6VFrX~j0$3aMg1OT2P3et|@~k&DDOKi; zim`=T+i$yY`t_CZHhiNs;f?rzE1D@b8;M*FpzOw;i3@Id6kkn2*vQR`TLMktdiMj_SJqp zpBsI%xR=FL$u)%RrERruhtcD|7JiluI#c)`X|t>9!Rs4RSzK4u++29gM}B*& zW=9~pwD1T{-_j_?Ni@neZX5~Ic}@dv`w-^2g}f|Jj{A3s#N!ixT8QPz0B$i}S97$5 zv6yUPOk6{Dm>#Ts9e>!W5!8Z4a0)J!%c)UQ4?|SiJxx zQQ|1+H(1@d2OEzylIj#r`vame?Kg?W79OQ=3$Hc;ySV)x(H%)e#YkgIlh}BS!wS#1 z0GqiaF)T_A>5SNaP#rJm`(cj4zS^E<#eml#Ex(I~cm$QCKbW8TQ8`4*LkMWdJ& zTU0ISl<4P;Si_wwxf>fI66bcQIo+PthIE8CXIh<352evzFvXzGxMP^U4-(j) z-tPYi4xkiSgT|m%(sdy8Ps*OBhtG_FRVcl?kyn;#=vQG)XSTmTx!E+e8aORafvIBW zaq$%0=l~ag8}d{sw^fvKKA`0L4P~#e7x9_*Rsv;(wQuYmpku{7Q82)=4*l}Zw?p>^ZI^8;X#+-o-o?c-@`9-Mya&`F6^=S`{ zccm{2)u)wB3t>nYqWcY_9*#9+ma2&)nd^fp1+tahnHc@8n9<;uu6Cb3LFo`nEJp>eG-2 zL+1L@x^@ygb)Xu3NlLNfN|aYfi56^4HwAt2pTC zMp>smJ^6w;1G2|UYa^64lqmJkDxLF;f7I2N0xOl!ah$iB>lHv#4trLA6I;-9E`F+E z^yeUeRF_BfRkpfKYft_uyZQeA)83mvM|E5Y!&UFS-n-SSdQq$OUU$D<)Get+FWQ$U z5CS2z00IL>7Mo;b7Omjm4RE}K*a>8^*-rjI>`c655{p)B3lj&jICf?xfivTHe@SdZ z66|q2#xNNh&m^e%Z`FGe!p4L1%{l*nzH{8&RduWC)^@Av)~&T)8Q=NFW@%ks$t{I4Z?V-KuBE(ZD|hnJW=3=f6k_dUN-?IR?INzg+Tz!ZnKARqd9Y;9=F5eaeD-v zA&msRA?*=tPI4UJlr)C`?l~ULS8NcPj6|{e zbV$VT>w>}f)+FuFN+nE@7balNAYbnx-TYFOkghH-JWkPZh3J;kr=g+B_X0`Z2C?Vv zTYpY_J6WWfc{PW&-03?{87rP`NzX#!j5yU_%Dj}guD+osF;!gJTbm1%-$0?d^3B9& zO#`=OTYD(9@TLoQ+`1qXe`?#woSL$&TTUSMmYWuaLY<>i9$H5+=>OkWtwD8o-eKg2 zYN@GB3#3|j0IGzA0uw5FL0}@j&zN=;ea>`u(btO}Gd&#A7LlcWr#sD0Ui{_+Fan+k z@u3VDln8KYhw^?4mWpEp*_6x%?RiUEfx2J}Xsm-Fx%F%V-*e-oiRGuh;$(~^d|R#~a^0$dnO>ce&n-d^ zEMi>pLto@dC#miH8NMEjF+X)}oOf^cLVu)n&$_i^9W^65E>pv5*|eFx=f+T!y8~7&fbwayY;0N82Q6bgFylyrSIGp5g44^;_mPj2cy? zjbAMDwr}7%Rgsq73rn_0AlG{vI=M)0b1rxO>}RfDf84lapY$k>Vh=`JTm4K3#!Kam zJQy$8>G6}iF$Q)OwJYyVfn7cQrk>gcv<{)4A4d5X&q*m@cbo+@8_@(oC1?e^kjD!S zK@;_O-98T^Vx!q7p*$_wD|s9eB0Q;7)gb5!#DH1A@aq+@aBBob)ZVQN?28v?tQf6~?l{=Wj+#?T4r&PT$B!;ITvwxuH) z91(Gh!v@hS{?^6XY~)P}#%Of;d_jalq8J3()$I(4K{3Py9YH2o>UKHYZdb_ZjA~R4 zjYdUIBnU3n9So^Nms6v4FtH*KWC|Gx<|+=eL#NBQ=ew7?S*J@Q5-e>Y#wCR?94Bm) zf0+;-GAs`O#DQE3nc*8f;nW|^s?}o9wQn?Er z41oNNF_peK4gN*Tss*{#8@{x0>tJVfMN)69ZISFbZ^O0MFyATI;l#@@&NS=>ZlPX% z?}eZLbj^;|+V-l}6?aA1;la7;P^c=ue|YL^_%EAE10^gpw>D_AUje%MfwC#|(qUwR z@n8-Jf}9()YupbPKB<4w%|+Y`^et|3LB*hR>k6G3rvXOpLT#(&8W+QwxXFuuk*tAK z#(2;hq7R7Z^-`Zz7F zsv0K8E#q;S#7X(Or(0tS*FMKSC{T7QvA?~`}~W9E7Oah~O=0OV;1f9r%2pA-w2 z!x(d%~7?lyxQ%rM&pgVw| zzjgdJ#(2n+Sw?rEyV(8TZca@YvPvic;nFMcj!a{`Gu|6#3F9K24#*_65Qa=np~?+8piFy`(`O}S7B&e@XM8K^ZZsQVzVO)^dt-wk zFx9wbp78Fm8@}4ubpvzn+(nL#hTA@8t!sdmo9VkSZ*gr9gXrLHXuwb2Jb%wExPC+m zg(|PfeWjscP7D6_e`+aA=(_?T?I_T<5uKMB=eUF6bd5V0Nhc`%EP_U;6L7f@6bc11 z40g3b1#gH}q$_A!cDivo@UdioJ~C` zne%z_P6wdq%z)yw09zrRg=}h~R>BoW0Io$0h%XQoL!%;Ne_$p*VRR2-RU*~+kJzglCy;wX7(^jyK*;9gW-eC=&Fddu5f z)RI4VpvOTh1Fp96*b>(Ve{@|d%vq$0ghGoxb7AxHU}OpV)z852*}C(>o(=IiOW1pM zEC%`h#tVB!e>y{Q&DvxJ4335Jt&((#X)MQ+eVJV$O^>PU~<1i*b!tYKa3e>IMN#}3E6dH33GcYIC%wEOwc zb0x+B^G@^UZ1>qXwb5y040aQad$rn5kQ$|YS6bl8$=unCgs@2y4%-a|(q;?>C*m=V zNoEVSkh2Yz;j%KaupY_K_kN3_@iZ!v%GQ>V2Y*#k*?}^~9OPlxmrgjbQ#rLj%qNU_ zX=ha_e~c^fo-=e~8o*(gbrTjQA2bCq6o%(i!tyS?wn**%2?iKz z+NMaOL|(N_KjF;Y5zv48i}{I|Yu8WBd)}DD==U%D`t9An|9yd2YOl#Xv%I#UJGCIc zO0~J|d5%5u;`_P(_`^TtUc*6L@)q9v1BT6&e?RwDF89!iAD{mQ5f58IZql+3BM0)J zAbR5o7>$i-mXLb|0Lz7b=YV^I@Ok%Lg8B~4oxW4Hhu)op0&%UqIsPkJ23XE0}S;V3i6K~XeS{yu5tLf>@q|K3bxj4yY ze^2*vgQQv#{zgCJk7X-kJlC?2QB zddd9k{Fxp?WgvMU?+-QMd*6MxDA~Q^v+Tp$N54@Ke>id5Z6Qsvl_?#rQswT@JoW=N*PHuQBC_M! zwJQlX*A5LHQhXjMe4`&#^ec9%E0iEUS=#Rmi|9WMDg-v&ry|y`J)1ZYlW$}8pBIN2CK3vw4GlsZKC$n@xr7HB^$h@h>mKr7`ukT&d zvp<6}c|f}R=|o!|E+T6&(6@@n8cUu(p4RwWzJ)gS_B>2BQ=|IyxlaPPUZe1_qH!|>ld8G6?puEZ{hSh_Tf--)zm{vf95c`H_o5O zUOgUve^HwohZ?_}Tk_V8gtsYoWPrCVoRKAd!ajvoGLJm9s9>>lO(lp~Fs)nYaHdyi zSDLS}uI}O_O|!PGt7FM;G{4dQw(GY`w2`hVZH2kUl37^YTG^%1n6zy!le;adRaJ^d zw3Dqr?0Qb4T0p35B}XU0f9#^${}y{%D-aD_e+aIv3rSiw#%!@L!BD8h=5W|-4vm)h zOS&RIU>l6&wVG=wA zotLyOkob~x;{sf}054dOG@094xn&)5#Hd)(EkX;3Bvr|l&SkiKe;Ho3tOPX{C%lc& z*XPNjvDaDc*ObNi61BDq={v5$yoB`TW^)VQ%(ui_R4vVw8Lqnt*^t9xvp7OFmCX?h zac&MKRm=-8w<4Dhstx9}No&?{oZistZDoE(PHmCWmqXs$x>}cT-5rBXyPBA$rc-t2 z>X^DZ^J;$e$<^#?f9Rf4Ced-AgX!qtN`;l>E18wS?vezECJYKjxtMNFqWeHM)7`z+ zJ>+KG?h|As0(!0fFxH|~miLB}31IF$px0f#+}A^<5W{Z*VeA_|NSYq5f(ej(w2GyRSFU{geq|z5_>0_RG~~WL)U_g0>M3$~I8|&;ar5fMt*gUx z<}FF4@#*^Fe`Kpz5?xz6cVk0&FXM?8$5YpK#BRzD#d4Fs@P@)t2-kK(&U3>dPXcQe zrA&2yx4c|xu4$Yvt=%~MrM3@Rfq#X#^vZW)ExWfbUb(QQ^{&c$zf@tWUh#fO0TaUe zDsk?`1;u3Z9V73>)67NoXDEbzBc&d~6Zkp&yzxc+e~Ri&{3n(6W!1|XhPQb6G_tnH z9NOYnYjrw9RBdp!_$42G)!tQ*_W24l2@m#o3j7+KmR>KjfT(Y=xDP-o`|Stq3_W-f z14q04qDq3inb;Y$xkOt0fdGD-Onqo94(ia-9(A6)nIr~Wd?kKVZI zhT~5xTk!Q*I4^AV=p$Q~?EOCepk!~`*nywghPSTyfwA%MijA*fF{&@RZS(gipCf0R zm%}&_#=;Y3x4$$^p7Nd$OUYvbZ%H7ir0clFe=zF1U9J`t=TNCQ7pHRjMYlXMn$m93 zDdvgRfXIqR3CGvvrD5<8bzXasg)g+KkuHQadS0h5>_rFAQFI(}h#Yecxh){=#R5g4 z;CKL=1D%21z^=f)fU1jJB!zJ!&=Iw131*Q?IS6F3>VlG~%QR%#ZQ^=O_^9aw*`I@9 ze-+S89T6B-dqx!D;=MX$q>*i8tzPc2(~I?I;yto(A3sCi^PsEs%Kocf<%W@xBN~#A z|Mt)|v1G=Im9}8Uk_r|VFc!0#S2Jq0Aq*6LKuYB0*|qRxrRoeT6_=*> zvDnP=>>$V{Y_OoLw6w)r;P842N(;PYm15a+jh2Zeq9{hHM2~pXi@l^qy<$-0f9DjZ z!+bKLcJj3@pTP6_WUupp^QiN z`dLq%Ql)r!1P5k605-jg#(u)Oe_np@XKArBY^|+dT4pKk45gpE>0@i3tJ=7{G<{1| zNl9u?s%-hjzdrwo+5<)lpgr6UvPcTwBmINM5HVC5SgmDVOFCSTDPZ)$h_9t!hl@i& zOE4jlD~2})_xcWdwR)|##p7~#JT5U<6I=w8y^i-ec;2Vgdt97T?WGa`e^jwo?c+ti zN-P&qSWJj=7T8)wM zKZEJTajzjST^tOfcrc+de~0-n6ONrr;A3=7s)*GIMXXLJVs)Y;t%%iRYH@+w2%w9C zWD-ZW6vz-xF8{l#FW&;{`S2c4H64AS__^GLmGhw4;PUlMv}eA&*TW?VA4eA?dq`KQ zTcG=;lM@KDu$uF6KB3m!)-*K}Rn(Mj2eRc`^9_ao5%~Pj-+dv>BfYxC#~1QGwJ)e? zA%B_z@)Jk47VLRQe zB1aA*a^!3xN6sd4ro~}*I2i1(V}`jd-|5I_*nFo> zw23ZJ5DT@Ue_uo=oS1RiS@KUiK0eQpU#M4!yu@Pliw>L*VOf~oA*l!Yd~0P{ye4OFNamhS<$hiw<=(1FlvT42PyL8#4zab1r;c>i zk+v?iGuK==&s?1PPE!r3k=ljK^7*wanvr9=p-$rHIVn{jT0tgJfe=ClGSaxsE#WY7 z7+hLDe_y8-P?0}I8hU=OZ~zE$oREVIU{-P@FXnX>1;@SE?CtdSdUtvEc~xCx7zCc< z?I_j9=>V1||2tWX)1e?a=`qCZ=D1!CALUMfu%rxNTt~^@Fo4PDgD!2ur83H@p(3mM zGqYEDr>RJH=<-`?5@ogc)nqX?7S-Y35nC>le~jkdD^7-LmoW`1tASqS%Rl&_r70Au zo;UUVm1&T(ap@}T$-TQO6OzwbDff$D4!ra-*^o!ym!c{n<%tENlM}t7rG>{uJg?R} zwFZZacj|lf2lPkv$Mu|^kSA!#!+9|k)_v@ffIpw$`OH?{%2;CsyfY{jbQKI0>@MJX ze+%%@f)nH=L79pL9l|WZ?({4gp6;2U;AI<_cvicc*~PrXgfraoxzUn_oY+v9drz#) ziS;FOs({^Us@F{Y>q;^KncK!ZIkjX>6_BWIJ(F0I3Q_tf@9zVBOw_Kt#SZp7N-w}- ze+l$*p>IBEC#^0|PuQ#vX0v*|P1Ryhe>+L5BQKxydImkaJSRPB&m>zWNqKw%q}l@@ z&vKIKl!+n#C}HB9K|2Z(=E`ufgnh_hnEh z4HKwC$aLCD!8336C_7|igN$w`$V8z}EM2y?gqgb1p7o2JA@(~VTgwf-rFEf(e>Kdb zEraj9w{gkTHN7=hX(!6N;81QGeK&AvZjq{r?tPb`O7xaw(Q09)q;=aIX(Q2mL|O&Y zL!{Mq0PfP>W!&r8>*I7K&Tp552q!acaohWf7!WE(C>hLXbvaH0YI(1pU zP9+q!c=`;q-jICcFEeXQzkKs$#)VrR*6*8~+EiDXti-RTqQxy0e~r;l2ESUHC=TV` z7`r{x*vrKF5@hSEbj{SO>r>@x8NQbsqN(kedVWnkp&L1?kO8`pvj^T)_MLXd9@SaW zgd6HPF)Z>h{VgzuL-Y&{c!cK3TMj|1wLoj&_4-%=E-v)&1?upD*wNVW7#kz+W*v>; z7@<{MA4KE{a+zBWf2nq>##QVUIcABM;M>T1aIu2mesT)+nDc~_b;9iCoy+;+JEw=^ zvql$XPqF7heDCIoJZI#+#96CDWPQDo+PO?B5vk1unuTAEEZyN38}YvuCqhj% zTLOe}s?yg?y|g)@4~6u}P5&;nukO69H>C}Q)TKS2TPg7$e_T_or*ad_W7IbREh}-i zG%qDaLELeQX40>dVlfCnE_u)f=7TB-qb&965+%L@gO=B+k5(V6W>B?M-BmqQy}Me~ z3mkyZJRgWt-I1y&3#LjXU@fJDx}}6v2^6(NnP@DLI*?*gQe!4XgwjN+Gqo#qHpQ7! zjj6Q&?n_-vf2mU`XCVn=^m|DpUJ?nVcZoBWfNpTy&nEnx{$2jFe$MP~^sfbQpZ}s? z?T2{%BwoK?9{PCYl>$!tVZq=Shz9H>(V%LUXmDDdsEqVXosP#T=O%Y62pb10V7yDJ zR<6(KMaL^_P^Lb%PyCNA`3qWt#S(sLPDm*0PlbXRfBalJ7|8Udpp)U38%i>nP+UU{xWAzNGm+HIfhw69Nt9t8kJ$*0=2w2~ds^TmD@2mE@zoFXC$Q5r* zeWdCYf0p>auYAf(uhIbKREG^;eK^!!!_57}jo{bIYjSUV<~I5LF%fv^X1W&@ApgO~ zf)t>#C(&eL*aq~or5mJ7U_&>n2Uy; zyhB|SCQFMTJ$k$_B?=}$Zkl8(q)5V#{gQG4fBramCLMFbVlPPdWFy(en?aH~XJ<)t z6NUb?JrN&16DM!|_QcNs{ok3{6DW9R<^X?u)(L*P@Gh?)O+Pj*iVSFXdq6iEjM_<@A~#V_O~8bn{tZhmT^76JqwXQ5|*XSL*U7sd|mD)00X^gedf@3DV&K5M0 z`Mv3^i4jcWrsF2oMCSJN@5+;Zm)2Vfs2yWtIE~9X@~B)sZ4gHzTv>oj`fZ)EUe4dk;Os@mZcA ztc}FwRh%=I&z>%?oH)+EY_ddOWXM#^?gaVD(hWOZTdMc^N~>~wCQ(v#p|++te_n-O zuZt{v@4sGsd3UMMF-qnMd#0Y4-^7JNT-_q3ZGM9)bYT^(!_4A3X#TpU8?Mk$d)jREpk{?$zpXzhQ@g`8>W?b-U(v!?XDL z$n(X|m1=nbnz-{Ng?KK7crIm; z(bZA*QR2b8{`_#fV5-MjouJnur~S^*ZNkPgbZ>u#d(d~F5xuL5D`qAOOeFZBhDsKz z@^L_IrRPbkmN2u)`R|8*e}4Y#b3Zw&K3H0r6G$7yr#3PxJ6al+t*BkdaKHLYn8M4F$s?w1 zZo7-i?WUUs3Pa)c$%yx8R@ zTV2X4?jSF7>O`ufA{X2ss?5TH+!wc&ZFynn>&FIbqsy=P%#DV8U?9ofsej+p29=|F z=oN;^tq$Rvad7TGth~kFo_Br6+F?9>9znH|sUYVOunYMRe>vpnk&G;ZDntvC7?w#L zW*&f{0dhzVXpwWJD&wz6*XlLby|49o_{U5OF`qqj{!4$|J9V!GX)}PUqxiC% zhBW@%d~}Tk{dMnOPFm26kMdz|R#)Rf)pN+AT7lx4FQ8)PG4!~)8pT0%aeqWVp_4JrxB4=M#}KB&ctxe!z%gmI#) zd?39g=zsBnJl^ns6b_*^5H>z-hjMm8e&>RFJEd4Pxo@LTkI?BcDBCD%A!VNxrj7NX zB@iwQevRN~SK>~fPd}f2KK*?9`SkPY=hM&sXCEr#e=I@)BIi*1o>^mlH7W*qN1*P% zLNV2OWF)fCv>XJgn94#RlTdl+B(kYbk~>xi5kIgSwZB9wK9c5Ev{p|0;#*X%K&X{l zidxwRK@Kv?vIV4PWGj)E`zFW`vRc61ij1mJ!2PByS5Q-tx!8A6h{#&1y=WW)&wHNt3igw)*HZXR->IUXk}v-if7<_8f8ep;w}Rgat^V};>G#v`|E1scpZR)d7 ze{ti&#)XnzdQmz@X1&bK=+CGQ?L%tBAPdaH$c?vqn4cpReKlnn`!?P0CLej;$kO?9 z5w)>&Jw=N?r@$=Qg7zyghoa~~1y&(9`ey}JqY`vMfi>vYII6%}R8G$n5Lk!q!siv( z#5};!dh@QYPTvdhf1_NDXdfIFT*nZWmu-a49oPFVVV9ie=O5q zhGqK8uuOj$mgz6UGW}&(rayu8r0m+iS70c+c7nnNaJOlHufQBiYX6hMMv^yONP!_g zx>5?~k(Q=guD~2B*Y#1D{IRZ0_f-Xkcytd_*iLAudqshPhPsm!c98t&RSFFG(c3AU z5AF_qlLB)nt(VhsQvAINOz^)>e_;>Be^!ABzMPhq)TzOwz)+_Kx$boDof`H~I7aAW_`U)IeGE@fxRl28ngWw}Xj{_GqQ7<){k5~o zrJYqS<1BpREPUgvdNEGd%cCIWC7}hBqbh*9(I(UfW;+^0+dz$>ooI-Pk*2i)^ed+;+X?Ol zDDQS!ij5R^5cG}Ie+Yc!63De6r!}C&utAASEu1us zQogo*B<@d6rAx7If1Ii35!yE7RDEo+m&>{l zTyCT#AEZ6z$|aR4z3wuq_9?CW!)={Vbqw&f(~u;$J7!w091p?V0vP{e9X%=}%gd{T z?oE9{`{1_0v7JMG!o0zep}~=LV*`WR%7msZTZE+p*KZmde-)PYjrNV~=-XJ-b=|hPgIhLE2d?>$pFlioR`iXGLTo~&tUMz`+Xps`42}-=j}=p7z@?~N z%SvfX-5-u(U{qKqjE$_@*td1v$Yx=%|6{W&3~Up|z;F4sfw8`g!m_b-V-VB2Z5tDV zBf=o~j0hVBf46TN8yV;uEt`p;n`q4=>uwy_cD>Nq-#@USPbejUw{7X$3F(Xsj1F!q z5mpRr7=vgQuN&Few{1+AQ=Lk#8r&{yUAI%%KH3NALO%Nk!Drp5Fw{4)bzqF-Vf{{; zqxs7hH-Ya6wG536Zrr|MjO6ylO#>S?%?bv|IEQe4}nv9FjVioTJQd8BU?NV0)Ya8~k^mP%Z; zGzZZENM)>VDx@x#fnEkYiUkzWzYN6?jT@_owV?W0}!~UE- z3i_d|g}DrOx>N&y6AfhS#b9m%a|d7$m+e;#|IrW&DB~KvYRGB47NFx682Haa9Df40 ztJCLl{ONc`75WZ-;*>9iSV5tyg_E%sf^7?=f8GCy!d#Bs1wMq@+hIVFhm5P&(3Qf> zuC>9xsg4IZo@?N0xp`a#SH($OJ=exnUoD1@3G+$&%O%VIKD89V3aeWj~XWCczkyjcu}VgKTuCq#ps|B9yv#jI&L++)3g*p*JRX z6H}`rc58NZN@~(^R%n?7&kDjOHM3nQ>fKIau|j*Nt`p7k871 zpoTy_4(c2zHRRrk5}@{jx(JG+HiEYcf7Cuu2SJ@8xHL9x%G~6Indv?{Q#FImgGzv6 z(ONnyAE&w*X6}ukIzb&EvwKdTMO*m85D7ampXQXEh?h|_8!b*!k8D9<@)?e0?ne>C zg9FYwz0?O~=gw7tiYghHh?OQ!Ht9Kp&Vph%#9M>9Z8f4!`yFf93{&==@4oQf8d_td>v;h8DV8mz9 zZcr>b2s);A2^7IUJ7IT{=>IKiw$gAXv*l?Sn6S8$T}=-5RmjgT*?&Pn#It_@vk1)R z!1RIn3-)oK5n=5%xQzJ+kji=nN!(?_@3c$!FLR zZbJ!Bq$HCQI#Y6glaZZ-Vom~Cc*rA02dFNw|B{7>AiYP~-Q-Xkdz{^afAYb6jJ-XZ z&mTL&en8RAlUN|V2cg9fW5Se|Jl3RRA0#b={WDPf&os67Cc;%o)D&j#MdhFvAnG3h z`XgB$Vc!MlU8tsap=#cRs(BZ3@h*9Ikv#)GX8KJwj;ZdhrBPzLcAnk$3#_4viu0!L21#E<%6)dDJL93bP#n~863~-S$4PXGx|rDtC~gJ12#STetw85M0jpu> zphi&pKph2j3Y3bvt_8(_dpV@A7WDm~7>F?eb_?hdsI{PWgE|Q67^rigH0U^63h9ug zrgG4CgBk~Qk|hgHgKP=pql7HSu>zXXBE+Lz%>7ag-i3DIe_hNjb{Drxwac>0s+BUK zlB9G4(aMMx1+8+eZb-LV$Cm3PU6+ov=mZ@@p3v3Qr0DY#>YCJV+uv^gOFL_;+^^oR zVU9N$VXQg{>MSNprN^-aY!T;QbG_^!yNlh&ay*-08=)<5YYjt&-3FHY_ez(6wHO2g zv)^#gFm5Hkcm%qV+gi|vC?tX2MWG<*$N4?vU;KqSP*gK8wUi^rJzv&{te{%pN$)TB-}Rl+DrvT{Fq92A2(K|esD1n7+v zdYs~zXYAvkpQ6wZ=m%%Q^-_ojeL5`5JOJPOe*rQxH-YO-l7T@^a&XUP)!HVRr?Ue# zevC*XtFab(B4GA_K=lJu{|eQwp}JWz1Wo@PG(8(MJsdPO>6t}H z1m|;9{}a`3kn%*+TcYU~qUj;g^q^=ug8zsD;Nh1F0;V?trq=?drvj$O0;VqqOltzB zeU=Q6`sk%hqS~re`aHQz}p}j+HCAPFjU!CH9v`S*;o*azh?V= zVEiT9Uj)YaY=0Vz_lfZ%{GX_wfoSl5Wc$Ab(c`yKlthdF4TYKSfjOCNZv^b8dapql8uNl|J0VF6iKNMd=PLzi#`B2Ghv(u$G!`ivD+jcO zY%B~$y-c~fY=0b#s%#W!j4QLze{TWhDwG6@N&Wl?i;xWxQ7{|(9w71A{$enSvi_DZ7%Y4K>hAS+g;MWy!__{>RvW`e}@M6vhuc$xlJNe{Gn=E3*7wq)9E#@*hOO zc#?moeLes0?UNw!@^3>I{@#=PNkDzQ0YJ&XzZyHu|E@p4|6>d=BrpHVe^?p+v+z!S zGJ1rcXfNUqLB_`W*Yl6}(-?jbhG1F#k?16YA@sri#r%D-IREwVB+0|y0rK4>4T$K@ z*iQcT@E(3UG=;JDz5Hm*#}7rX<8O$Pgk1bUY$?A93UWP!>Fd9qUl;o_zcxd2d|m8U z{IU!!Lt8&BQELPBSlGXme{X>tfJYqUil*iMq#`g z)QD83c}8=aX1%6cGZ)62h$f`*Yl<`utxapu=4p-OQ4_6N%V`-c(jvw|uENC02BB)<@J08Ex<{ST7+p?A8kNH-OCkb%T zx2kQtc$u(f>%wI~}@uucgfL2S)u0F7CL z8VDM=ubG904}o*@p@s$-sS_U}NYH6IDbi{gY2Iuk_8vTsBF$s(p-A776O2JVAVG;3 zfTr4lVl=^+Y70ek6SPC&FvQd!CMbuJVL&((PEzkBm%O90fA{xg@9z`uNsKS~XToxB zqbN*M2s2T@iU0rj>6`n15C~7y@7T6-eqV6@+Ti>?P;1BU*|EtzzI(kO9NM;ncnITc zcr@ zznrG#1Y^)cZ&~a0ubS($3^mZMQ|ou%=6#w&_z`4?uNpT7=Z>2|5wFsw(k9{sU7C31 zfwNiha^F_#_dbmuQM@eRYz@vuWA6C_&F~wA&)C>@fA|26M@N+|C3}p;=Tm<`7z1dG zegG3-qDHB!;y;GAU;4!3GAJ&)$MeMPL6Ah;t*kkP{+D`%Q>nC16 z^*Vd3RP;pYsZzF5$pJ}f6^0yM`fiVpZYR!hOiN44E&qS&7yzWy(_|Q>9%Ga+@R8kV z&^SaCp9vnn1dPg_+i4Klb@Wmj1`iVb*!C;5Z^iZh1yj-^!jo|y69PCglab^lmmrt~ zEE+g6IUq0~Z(?c+JUlNWG<>_}Ua&OysCk|ZA?!s+bN!i1=AYC0+?1~n(msNaYSH{f7oU0l-DBQI z$PC9kxBRSmv(I>Y^1@z(_TB>L*PMR^9r`E8FlfI9?dVzOEWIf6ujGx;K7;MzEqQwVngBwd zUJLDwh_J8YwMd1us=HKGFiKxx%gjb+5<#UR8b(Kmim>c{l*sQv7q!A=bnt&gQzomK<3K`=ks|udk%XO{dL5$pTVeZLLS)qnK{UhP<~(W`*(U4-Jk2v z=gIr@lErV~GX?%`Rmv%NLSc)}K<}V)(C^Ug&{u{3f;PYiEYSZBVlcwfQ3JXeU5MUA zQ}f?JZwTFwzC|fikIu^H5RZSBp&Y&(-H!<(a8@098_h#&NduE)zd{%#a5?iBz7nP3 zDpSyH$cf&7D<<-KXm2Jy(g0^oL9a5iw5fb~{(HQKeK|h|{Q)lUV;BeE?}Ad=Ru}fWCse4QKYM!Zp7G znlf0#Njw#wjxWd8;2ZHR_(A+f`~?0A1m^>WVXk2R%zl-7FR#zvmEQor>p@e;-9q9FBi&L?hvzC!o_{)EA?x z&`$JcIQMn*7jzK)3#i0kJr;l#K^(!S;>q}Y7{%lGTij0^z`r`Oh-@P7FiGZh_B8g1 z{w+CsZd2~tTt5F;z9;{u{A&t-Yv6ZUfdidr2|7>V*jD(R7tjIp1^NMgLyZG4)-iZI z-0vN5{eAc-h?9So{FeNY`ORgk0lP%NTG6oEE}`(Qg3 zH1L0~Ao<(zX{e6f&s*WuMDh5PXy z^cwjcs=@P^T}Q?K5`vHR;f>4~v=RTzzRZ8VOjx+mvp~&qupTl<$o*g=rh;aM7zw1N z4yi~A!K6;NykSd&(Dy%wn& zR6e#EIQ|)G0%@EN06jp$zdq(HcAx4>T4&y74(HqRq1-H$IrlNT1gJ9xtlM>QpRiH$gf-pqrB<+kDm9L)!Dciw;}frQUgZ|J|1y^g(x zJ)gY{eACZhHCLdU&|T;`@Fov{---hrPX=n94z_0j_=s{;iL!8aO=tvIrLnND4NU`k z+67kfOmr^l2FrUd`Xky19%?+$Vd19RM^{e}x<(&=Oi!>&IV^bmkun^4<_Sm2g(Ky`BQY0jKn>|sa8xAN^ZLk0 zuousmG#%Uh@3I|^yxj!>~{Jad=h?lWRLTb1FmCDxVX?dedW--9%l6@*McBzu3o(|*t34p z^r3r0v}|vOYrwfAHo9x|X!z;tfr#TL2jSPqHSN=T@HOz0L3$_jt_t@zFEWbubS(__ z=prK`XRTh?1*~ze?m?$s9NOf6cFWuI`;mK8aP^ewkx);wC(=H9q<5nYtv>bQ&7vF> zkKdC{ZRGd@VK zP6kB{_7Bv1lF6P#f{KWy6?h6`Y*O0Ubn1d$vLLdA3&IA-huVO)v)hMdfc&8lW$<;q zGMWR8p5>FK7urEI$Fm8^nPhtp>7sk~4D7K_rF)hS>=``0D*}?d1<@eG-lLTU|1F%u zI_j)pJ=pPIcF!y9A3r&NGJevG>A_K}yNa|OKjpYqVSnA=zGAJ%+B%)_kYbH^7-cUA z<>`Y5)5dgT4;zDjwIbAK^lG#ql}Zl|j_%>Q#uUnSeJJ!lp46K^M9)$-$4)B_vu9ZH z`1bJQ+Q$vgxSD|hvl1CUWyb2&`s4PE1`D)$_2@`&^y;qFvwQP@%jZObTx9ij03g!p zC8N3qINF=vah<1U^!4p<6KCOJAgu(A*cidrPTDBrYbVc`zMX?$=h`XLHvzP1?HbYE zo(3!l{)(Ni0tkXMX!J(4rWYHxfC*Kxw89|0S_PGD3`5*H4ei^8k*J+`sVjL3cer6f zf5R!2I--_}oKE%gDd}uz4js}@MM`acI83oxr6r|v<@_#3PSE&H^ z2hc>>@}A*S1JP>qh{M*UZuo(xWUC3e4UQ+cCaiDrJ%Kxr25X)sV*!ij@F~cZYA!b@D7ZBQmP}+3ti+Xi8y(|Nn#`u ziImNYCmWj*v|w-QpAmGsgXAHXAzW4#(I3?|CQ}WKiF5-Uvz|Q6Jj=d?v@q(fjb>FZ zSt0AOUZ(?j*1xaYK^{N`vP(7w`Q7{*{679$Ud8Xg4n)YV&00WOz2t$d<=VwsqJ5g& z39-|6xUF!1ABX$6ez=>%eL%eit^p_tw-GAd#jy(f)@XH56oYC!U#Ys>K^6N}&MgH3 z5u++N^Efb+&b$Cv8uLSv-Z*cQ1qm9FU+D_gT; zw^az-d|qqExZeDpP2sGvi550KWwXtHnH{&yX>x8-yQP)&kJ*IkmwV?0dbsc<@ASZ6C7UXbNkR8LIV#&@Du+U4| zQ4Ce|@F+A%KMR8u{+x@{aDS8erl*w(t%yNI`=&9>II-p1IPtS|)G0GHyd zYpv^lt&H_)@*QBA?*J769S?UVzwYeonp4!|?Ufopp$>?5x z+_9;$GSOlrSD-RvCody2Hi3>H{11r6y|`nGb~pUkE~V)LJr7n?T6E9WPA z$zQe&AKMsrPpfXx!vU@E9S+wx6|T{NwB(9SfyPsxA&UW+{vNC08fRPsTGJ0&bGWY$ z49^5mAE-A_wxZ18&IZcd!+jarbGQ$G6uq8)E6Q6hmK#o*;wz2C#!J2_0U3qbpg1`? zR>milLgAn6mGKl5oD_y#;kJq6qzN*PMoykErew5?N)uc|5|neWNaCdOx#9{uzQ-_m zd`}Fl`<9dZ<87mM0sIK%zeYaz`tx7cDW7)K-HDR8Xp`&?hqI9$7xvZRnRo9)mxclao z3Ou~7ZQ`bf>HfPGXdEWN<+KVW9Z|2l_J%(+$cYutjX(JT_KAg5-WI9@C8EpizufP( ziy5ir>dBK+;oWsA(5TU$KtM0|0$=pbPle(m-uGW&mseDs^ZDlX{=Tjqf zC}WuWm@5hH0CPwB`oTMZ7$_CQ^?`uESE$c)fuaHCu4pMit!XHDjim&e3{Y5A_7dd8P@rV- zg9j>#pg4+xBI`zYhj|@;UbDBMMVALB2BIRvmV>V?f1qyQL!|~61VIrTO?5#`s0gT3 zh5p)_+E~HSY1GVrIF=l|eZj)pZd9cR;nrkuBQ@~P)9 zrT!h|^81(^OY>7L=!iV*GRipyDDq@GEr z2dfsQtRo(mda-+di$5h>qC4>#Kn$2s$<8{YZ%#3WMAqFJ>M(9>NU6mU-#zW>#nEdh zikSemf}$AIJfW|-;jmlmb7kCp)P@u!r6@2f%aZ2Hx#wL-%k?*cB)Ks6UFPufD{1HR zu;HGkz5+D8GZZg!qE;&M!&zXGTBDJQx^AthEp(|PYK^mh=pV4Uz_VIriag`Si?&_5 zXq@l11>uq5q@EYe_Le|Pc+~tEpEpKM^}8*$czIL(Ns3!&oig{D$xFu0y?WQGg%1QT z9A7f`R-4@+3PzhD;`N-_+_EOO=Dgcog2|!X&^ZmvfQ#sDmrk8`<8Nu22jfr38uAtU z8QAVpnNw|lgRUpYP3Va=+Pnf;CLrB0=yjkUM7D1zO!9E?Htf~n*oprrAiVz2aBYI!ifmLASMTIM! z6Z#dy4!;Jl5>%J+p}t;m$JK&RJ0SMNZWEje^}=y~iAbcg;nBF!EQp$OXU;rVBMN3? z>=7A%e;y|I)QG{w>y5AEdLMW&*ZZ;&h-wJqaXEzs>D*DWtT^6M9nrbL8o60IW}TpR zIyjXY#;e!Euwld&0IvkOeGlxw69z_ngpT+C3|SfQapScSq8U(FAzMx2QqiCb4zlc5 z$NSxXdAWS<@vu>Z@xF}5Jn$eM^9qa?&}nX)GG6p|qGA34<4xmg`6`>2i^$#|+&@ND zt>Q}SavKxy1fnNLnMAb9bcXeu=xfe@3Wq(1qS{m<%%Bpz&8)SBgj6DK(W}@PN~fc- zs4W(YM!_~mqF#^9>-Bit9L_kpwnu9qXKUe1U?;$M!YIi;sXo4MQVL)-qj(tG+&S~_$(t@mSp)S-2D@Vu*oK| zfC47}pqQDNv`%#;nR|!4iOaw&RLQRA&|7FfIs_PR8;k!*o<(n2Gyx6KJdN*vKzeiz z_8qeunLb4wLbym^ya)5S_dSvrVQ^Xh2bB>~Z=|%@K{TwDEQ6TTEgR7u&@>ehS?c3Y z0ndIAWhT%I*+W^@dh}tk?4pZcOt0tv&S3N%G9fR-W}CDI_5*`xK4&}jBUi!7D`qQp zd_XugTGuwImKNVltQ&R;{lf2mAIzV|e5pDI%+fjXFrChUMIBRz>UE>>SY3ziY~2O; zBHb$OD&1}PPThlegKitzhF`=l>)yi$@fW%y_(z@7pu>h<{L)s&(1bd4y?7H0szdus zhQZAHd@tU)@o6P+=?C9aq)T^aCmtkBO)-4k-+wv}FiTJFH`vU)sEYo7dwNW?811S@ zoMzEt03-A%-1p}yI&YJ~k8c);KC&bKJ!0~QH>I_u05HBsCHccBp8pqez}KGt*EX+N zXV#j@j{J{+IlkZIGpFepiTw9+q*UcK2h3sN9If9gpfVg+nZglss8L8YssxqFt{*B9&`z^oahjFViVQ*?-S(I%?YUXRb? z_XIqwIxdw+rBXs-)dr*9s55Gf8ly_hNMSxIqoCC-}eC)Jgm;LgKR)X ze7CIQj7AH$OQ$8YM+H3sR;dWyr7fo8HG;>sgS?M;GXE)mq|#}PBC+j+2$4rl@)uc; z=JPzBk2uUdLzW;f#C3lu$PmryG$`Sm;z0WfI2{dQtsf3Qe_W%Y9Ca#u9x!Et7Va1} zCTnq!TCV;@iY*J~zOm^nqFyVqKmL3=g+VUC>SW8OQEP3|>J(Z$2DEq|^eKshg=EK5 z9z#;a0_=o;cz3JbXlo3sz>+lg7rcpQJLuK_$th2?dW_`~^NRS2k`<*7l{{3s)3_y} zGYNV})>xNdOCt$?(iZoZL;#afX)%2%^f~@5^gGxR?Eo!5eyT`H)id}27*_*?!WhD6 zolb9b_u`+nD8IcELSs;T8eV_GH^y2_5Fe)@^5{T+emLGh&Os^sy8+GQjvS_nd6)*s zK+|TR@Byw57YT_9gai%s2BLz?5erK8kV{6^2rpx2z$RlM3Pn-FuDGH=armHa+?{N% z4Gn~}p=`9aiDZ?iL!&PG&!P=et2Ic|Pp+ZP<>)&YecwGL@WiF(J}RnpMviwb*gpH- zze^o|7vw(JF(pLVbpB-rzgc|N#F9l1{kGGk(L1^F2WEb_df4pqmgYYGeL-ITl>a*m zq(Z>_&5P;)P=M{Ks;tcN!=huO<6^CKzd`C{p%rzvvNvaMt9vl}P~CRx4(F@ZS8cC5 zKeGPK`L*@m&U}Wa=WVrxfpvT@@X!mDQmw^*kSyVu3=GAER1q%{{lO9`B?9v|2ZKVY z7vHd1YODfWbHi4lQ5|Wl>BS~lZ*OG0-g?G8EVBcc;3Zc)Wf1GDRBF@LJMi)XD`>`V(l50#SbSAAlx}PN~sU#GZndg6Z^DXQMHzja9{}BQgy#WgN{)G7U?A zWg2N>$`^<)lgYZy?mAT0jUA4Gyh0IV7E%UMF*tN8Erm}5dQxB$V_ka5550>%FS9r~ z&UW|XH@z@>Tc_VGietKOzU#8nZc1^yfp?vD@m=d)n?oL}-a6;@&rUDr1kPnS@2Mr@ z*G{JTgjaXWT-#7>(>b}4#;Lono^qRi5)-~hbqcVm4~5X1vI+cpkoZF?U%=}C!XDh_ z^X+n2>_RW@k_EGQmpvE?%_j_?W`=|UK_LB848y8Iev_Z(oRAru5cn;hm#TsTS)k8h zXL`w1vIVQm^L@SmviLEmgMSA(7lm+#YydsNVwh#^M(|p10YjpL4C$WGf26a2o96ra z8#s!fC<5iaQ81N~ls0_XmEeym&kyf33~VhG<=r@x#Z~+Ot{A8k%~2K4M=-WD-`1CY%*JX%4nY)dc=_QQA0NfJ93)Mxkuo140DawHOCqQoKPnr`!nSC2*q`)= z{L+s65xM|OHfP!4+E#Xdyml%(L#vJfi8lj=!J+&clc2sNXg)^72 zEUUG#Hm$@;+JtqOb-cC1y3l&D^;+vS(Vf<<(GLwD3SXJ52CUL*f@(>$M1!%=yx`o> z#i5H!&dV$*-yGhVc+dEE{XwHJLkj?iUqHZTu|s z=C*sDy#A^`POb&Ld^?|G-UGd~qvacQ40YgYFkcCxRx@Om&S)~tw+oL3)6m^2Awvd84!GGgy zXdq)8vf}}Nv(8-6{}8n&43m38>o5y0HM>Ys6l2|rpI>tGE>16iCH@TJhtHJwA%-gO zN_nL4aQGGU4f@8&x>=t+nLaH!kEjf0*5xtVT&rET;JdVU8E%fROWu>-fbWlQCA;-I zj60IA>t9J)FUAjsNQEs82xpTw;_uD>ZBu!qY)AfoZxDF=xP{l2ltgJ?q9nW{|22x` zzuXiLhbSBpk|nY>(pXxm_BC2nnMSoK(u@BpbETyYPHJR6aW^(QCOU|t7x&4As$e7c zNvcsNR-O=o(20RgCG%gOIj9IKl~YAD%hMH}0B>itejz9$uMI3wnFivAauqn!01r0F zV}~Mttn;|lQ8~J=Q1PpX5mqWauazRVw zf*PhZ>{9w{#%8+<4!6@jJMFX6zT?7#_CYVMWD(W_Wsj5VsvhpT^}`Quo%L{awtmu_ z)o;A9dQRK0FBaW>&%!x3-<;Dde&B&~fAh#AU>B`m7o8v%F;s=y8A(B5c0pk>`zx!BVJIpcRjGK&PVtzfqvBKHr^r7Ohs#vE5w4(ClAhH|neG68 z{(p%oflg^SOKsa)@qESG73@r{DT*YsF>WZ)B_I-nnn{8V6Kjcp2_+Q7&LvT z(P5HyfXySLyhJKTRjnJ7B^DJn?Af#$wq0;&F(;flx0 z!V%VPG8@fA%>$^hayE`tt6~Wq$ViEQ0c0dDh3!#lsjRq+rGclm6gtgNM7R+2Z$)W! zX3%yGF#IjC!|=H#*~0@8U{Z_TB|&|KSg34nMCdME-o<(lef2cvt_8Dfn`Jo(d{*)%%p7Eb=&wT7SvENg+D%9;?8FYR2`qMO zH5f$Edn}RCFo7#X6G|5NxO9s3KP6X=70jHr+To|rZ~vOXj0^R{b@>E?lySJwbeZ2{ z-fRAV+i(7YJ7oTe(>MXBJi57m+=4B=*e&Z|gqDAD&pOy%?2t`{YV%tb2X=fYB6V?` zs2MAh!G)w)A5;sO*y9Gsga(ZznG&m;*j5Y0q|>oB_o-dvT|xDb!M>I&4-0;~(MmDd z9MrG9LxV{e1l z_%Wo#Pj6Ch$Gzk+kZ8E3D4>Z~xO#B}AeNZHF2(5{=<9=jBp!D4i5wIwwZ)95w#=ne z=uKI1(KcXQ^nY`h>m3GO3?Dth=)xjzaFCPmzl|as3$t@$b_+ImUJTaNq>F+i%aa}BOW#maSo7QSkglPka zFSsp^*wU22vEGuh_%nXuXW5h=ceDX6*Jw+6@o?Fixmv5OtTLuT?ka1CORT(~CeP0( zdOyX^QP+2vW`qHMnA3U&AX{^v0?0dy#?J2vns~3o`Ghze;&Gb;#uChXEOBfKT1s#M zdQtlYz>E60PCS4vzzP*($00ohl{#Lt$Sn}XxISu2-+$$Z^QTZ0a!=VQr#$@X#ktp} zq#BzOQ<9BMgiNLKaKofY>5)s;`AerMtx-nnOLxxvUGCI>A?t5I9uT{my$K~y8Qvx* zYj}V|o~Bf7`Xphj`{dN<7^O?Cu2MjpPe;-^uF%Gnx#u=HC<`ZFg4#<-Y}2;mcUFieDDF75xI zTUjTQ`!g+D@OeKfIlPDQT`fxYi!^{jz>jQx^^CdMUKR-7ZNUtPw`|qWz z+fD<28EOX^@}fAZ#AnLSJehbb`DgtLhWGWVHHp>9dxLk!)+L{asV|K#i=CG|KfOl3 z#&%tFO-wtLo5wBFFX5K(ON1p>&A8x%(AensM~-` z8}h_F2~Q?sNhGxwb5BQK%rK*aV`CQtR|Hpom){zEFt|0SO=-OjF^Q1RLA0tQ#y)L% z(9A?i%$32ouT*lxC9U7*uc)kaXo*7`iCK&RW5(EQoM@b7Tx`@Bd+}9rX*z~@jwcp= zEx(7~%kSq8@oL^(9WU`?WlHrBbt_flE-uIfwR+vf6?>gZ(t}1Bz%M0`=L-3!V$$`0 z_#{WcYD80lO>eMD$ymacPUDz9lEx{aG>xJLDUH!Fv`j5VcXxLud}4fLh(FLc3KQN% zMq5LbwKa-C2|-w2Q%F*UFzQw&ptyTqc<`!A+8&(UuS`z8fJ3K%aILV)y2^IFeNA9Z zaCPX0`0CO%38SF|$AhI_2%z@Mx;x`rL!?#f^ig|jaF-&t+lPEkEurmytg2MWmHV`O znI+(NIDCGmHtE;th+j*hk_CXGC1@cQcUj8s$3fsWL1KC*uE*MAIgMk=K;bMXfl|tTe`|t%6M;>QF49kCx$}JyM2amSh#=aZ<=G4P|*q+2gDW4@F}Z3@be3wESp&B`^`0Tugo>jp1X0y z!tI@6bVT&}Nx3(QN-@1|*1`!3mR|Awj1g2TRzExQj#C=j+frjeAEpC8GQf{47G(FV zz+&|>HNzXsNkQ-#!rnkO67hK%of`biW{ba>Zsn9kY*tSr;1z9uZfDYJ^|`CdsDP7- zWH#$7i>GNmi6oMevel|`*nwODqU8R%21k1lXNe5L`N(JV9&2R)tV8$6%J7dS~G63tH`-Nx<-@Mz<70b z1HkVtTC@H_%9j3rgZ1h|+z*}aGz?aX7ENg;lLI>j`{|?-<_D%V_`w|R0GIfIG|RDL ziamHLSwYEubT;Kkw_?MX^Jq{1Ls-c+Qba_uxq#xwa$AmhtK2@?^LlRlEM?C(w49~n ze%Aq?mI9xu(RcF9E)}-uj7g63=|UcVHXQbOs?wJ7KshOYPgYm^(%?vHs3Q?Xdy?mU zqLf0VTq!9{#$vuyI3kJFC>E6v5`ix|k?6G5v2;vADK6EPVp5disc1BUu*8KWTcChY`1&Tgx5dSWe6y*-kZS(5V3Vxgtks+MK4Z`WudM<3#$Sp?v84 z6*l0`6X*4RicF~e?_9X2FyWW;3~<3>@H6*P()V9}JR6Qf3?}`5U;;+V!FOB(zM}z4 za^3a8yMiRcHFFa=W~^~^bef^lI4$~+;i2f$>K#TM8*xS?V>}{7Yoh8JRKFJ0*CSs| zHbYHTm8B9_)|6FNX3Bh7y*3c%(pKzuy1+rDYZ3u}AIF3|4N^@;syQ>8Wv!u@nE?Q} zKn~h$R+5OZI{%qvWobXg$lVl|EZTsUXvM~ri%)PY%3^#@Nz*D8jpDrn#~e(3aV3nB zP(04ibrvjLp+Uo+A-<Dmt+F>zy{`4iRes=U_Z#*rx1jE0Wudr@5|{7 zTc(N_gQlP@XwP^v{w7tGvD{W}Z}v9(Pf@iRWt(gt@15wI=(p=EisTq;l!X_U>c<2y zf8;PH2Cv`e8pJ`A>%eTv^}hdwmA}TVU#!G9E*TUdzdK9WC=ii&`!WUDmQ%Ufpu1e0R%}EjwFYt+HBB zP1UHX)2dlZI9W5gx+OcU;`!!3$$MI~NuIE$VnKL8#VyrOrZ?1l9{wr)Q;oiI1VR-9 zbWR>eXEX9*Z&eUT9rTHbawVM*Os`Fo@-$AT*H)y{p@J6Dr7G^o<$8^w- z5LzVH0f^615KjRjLOu_G_>YR1Jxeh=kqjOR!!0_ja|71%TLm%v;Kf58<~!I4*sYM_ zKZekLf!pZ9(ql_Wf1OhJT~em3`RSs!`_fAa9X=gVP6r+FXoZ}-20-ofwqzQmvV zOw;|?sOX+`9hddW1Xux1mrlzBM}G|*h|h{Ijz1aS9aqKWcxiQ97P6N3n)u%M{`ev2 z>m{Gac3%L`!ekA80~3r{ua_l+g)sVJ*aHC zYrZ~H`0wn7W@j?l?cxr)m31(*m%{u0f|k=wbARDsIl6YQp#T|ZT5;v&g@07K>T>S+ zr0YMs{qFyN*r8kTIllqK*^MJO@*g1p#{Y3)PK4aom3xM}Tk+|y(DI}#E&qa>aQ$Bt ze_vRu^Qzwi$}7-CIVXCl{uFuVcvsJSSbBEbf%_IR+v z!y0%+%*>^N+028^#*zhb0)I$Ynkp$trhG9ys~n=KVl*0-0YGX~+7N#`oi&Fm0$R31J zax7~}O-#*7El#aT?Mtas?lQvo1rI&kD$KGjwyv=rva%K{wuc{kWn$=p$PuZ;&7rl zXUU@eTMPF3Rb_dWVy{0Yi|(fO3D+oM!8(sNo{(YwjCtW0N}+QUXF;5J7Q~4rB;uoT z{$zh1{)|*3ASSf76!T+$Ld@b(6ivvD>vn z)IM%`f_qT-gY|y<1CA$MkBZvUtdks_u65k4)|(yoxb76SqpYLsqa5R0CyO&IGq_U) zZK-RRrN&xouXmkd8OMzhv<9_a>rs2OrIxrgZimQC#H`k8F|kPFgrJm<=^1m3rkjJP z9IZzxbfGP#VG%dGTQ4atyQfRU=w$KWb9Xd3T+9#CCowufDz-ZGUcOoA%^%qeTdp_% z<7UCt?4S#g%{EW7!{zWbyJ(>Um%Z5{(p_KDt*STw-eB7x(Drk5t1E7;bZg?9?ex6D z_OO@K&IBm|>zDq{1Q~x>*M7U|)!eH%`|7H1R!#lpnTKjPuSRb|M*9*%)N{E=awF?)32?X zbY-m0ZJjdtqNcg`QM%JS=`Nsq8r9<8Z%3j0^YSUdP*c+8bTxHk Vg3%<0Rg9~c z;htWxG`KW%QTB%HgNa8g-jLo6ydB(sC%v2gR^lP-su&d*9l9uWO<;BEcY!|y9!tFx zd^vP5Y4Y#P|A=(R@~b>LK9CrGj7NcBA{kPL)2T?H4Am5)f;94H$|%{(D89xfJN>4T{XvU*h$n_r8D4 zJu{ZyAk)^8dmdYy`{C1bH&5DsaB=QcqR)*xUT|K#e8#$L(>>oSz}&ejJEd(=-IO~3 z18fJMU<02p5`82m8mmtBOswjxy3n!0vC_TDbAA1tBlKf~qgx0Si484}jCj|1(D{Q? zt~FPdN0_o|I`_mI=(E?=e5}=Q9b0yPUA#ILYGqhZ z{E#vQRU4b-U+gD-_h?&8u8<;<+_JcIS?QY6b)`?1s!GLC_wK-fA*(wN^ntT3Ji}O+ zml~Lu>gScE>4im}g@wJ&!s|BZnmDXHN_WDXQ(@7PpD53(7Z#)pEEg!QcRKMY_Nq$e z=7KjBoLF`L)z>{xc5>H$nUA%c)_(9$A6-SsTG+GmzWbgUJ*xbUH%~wP?Z9^mvXvBQK-5nV-=9;T_QEavb^twT@ zr#H$8i_Vy(N%gQdP(vp^h*p)Qd33AjsDW5Yj0gb#2&j?Rix+Qy<2c?Amw>7qD}kmdcTNKSWV}a4j0#zH!J4vghcl*(%!!i;n3g%d;=A- z_CqC$qC}A&<{nYjcs@?acYG2h_ctol_`=*OWed?Bnhf%I8Qga{4(~)>Fg=0%kDCIV zmp%&S0bd)w&~re4ebD=5;3x8f`UlUCfuDmq17X$JV+dU1xm&FkT!r|_&e@5*O0?Tu zqE9HKMa(FT)1@e#E=RruuP zA*novr&nTi<|`3K zp@VJeAF=V!oEI-5yOe1MC59Mr-E$}3H&^Ky0F)R2Rl)Zpal7o*AdRaWo$MNy?DE~j z?e+cS`YEY@e*`_^BSu>xN6l5)InHMH8SRd6f_8z4Um_7CaZ;DGS7IfpG$~1mq%WLA z1|>P|TCBnJNzKI?h%QQrM#B)Ff#8rxcaHV>s$4#w=<*p-S*Oe9 zbh@05gcKH~kWDf&k|7)l8I1;luogy~l*(Ogt{&HaAs6eS6H5jskuvsK_T6^I4(-i( zCwA_@S0M-4yE&z-S)niXIDD}4aHq0@w^PxUfoPKcWikUX<*zJN$^2R>=)ZOp84Zy_ zaT%t<#KP)?2(J3IUh?4ix%L*P&1AAUalOlGGFzR$$1BwMiuEoVG+el@u$9>+o!w}( z>k8$6Q3vzo&^F~Q;AQp!;B5){u8@+FU3M37I8|yEz;%h+rj~+6qKguHX~B6?)6t+j z2CqDGCQn}MUhG-yUF^HovBJ4Wwa50kL)XQ1@m)ffm3@O?&cQilhwNls#N+gf0iVC5 z)LBDn92L&dWVEBj*^WCL)1B8kA921+UUGbY2)Ct7Q1DzEhq6A(LK?tchc-I60gy(MtDT+gp$J{ybwU(wwN_cJC-gDz zU;WJ&S6>!TjAtG7Vb3rA#}!|k^FqOz(vASreDqniX>h(J%w&$f$^74OcC-z2Z8@Fm zBUSRPLKY7T)kU(cvT>qgVp&Un-6Z2IM`zijy4l8a9p{$KuDh>nZQaA+UZFSCTix6G zlJHXKrRtYjKR{nsf7{&G`Y-ey{*DW~;IfriXyt|02p5iUq3Wti9ICEv6$HT_sKVdJ z$1LBB5UUNH5xymV{9u^94E4EIfpX(LeH&n9o%6kp-Q+RaasVt3hKwkWEn0=|tVRc!8ER z_u`kfs3+hKEq#}U5q0RE$(XVEeNO%2cKj+*UWihEe4j=?QeHCx^c{E}qPTb;4ZH40QXIzWXJ zX`ni`Vywtp(){YsS??!REp#E$zm<5c@D2vDpZS8#E6=d3N}aXt=wC78&uhRuEJ>+ zTyDHPx7;HNW@Ww}^}oTso{Jz8GHuaxU;~?f$rRpia{QAaxBh&;A`6`XQS5(XP#_6f z3o+_6W;rTBHF%CZ=~2xCfk(?2NfQeUXO~(pbYI|EZo9^PlkHabW19802i#9&wrZX> zZ?tW3Z}-1yK3rkfV-Y7Xa~FS$n_OD9y6o<dz+K{`>xu!g%ru!GG*Qs}__o-R6Sew{+%q-#L zg#Lr46c*RhwemvIK-OYQ+&T%XDEB@t#QsF4_edLXB4J)i`vXc%D&>$Xw3Ad z_TK*J{`ZGnJ8}8)IU9pI&Z#%gy{B#6rX|z_y)gXhu}{rE<-*^bvvcmncip*v_>yfF z?%Gjj*6UpYueZ1p_s;EqN6D7`f#)U;KlS9ZPMbyZt!d!>X`p{zRDz=$X-M*fY~V6V zI1)B_9kgu~Gj>sQ*u!4GhQWrQWb8Eb;<;O;kS-VkOf*+cFkXZhP#0gw0+c6ecOo(c z8H08keZazETWs5BV{BsS%o~S)vV$_=z(6XynZ9xA06?HVfItU|E9U;&t4PN87>mr1 zr!3UrazlCaq>^bRXOwIRKNx)qZ#O*c-xhyf^{VzA_G9e<)t6e{!B*f(RimL5Pc)46 zPs3AHotjR=8Td@qBE$LQQvId=ivz3tI|9#yx5gY`4-aiJa3#I@FE{#s9fdb=bmH!I z%ma^*-G*q6EpkHI6AyVh6esR@zZa`>|JwTT%`XgDp?cqkH{J9h{j#6+zy0Uj56?ZH zJM`xVmDi#)DUG*1@;%ZWQ3pc+kxRIZtzq628q zXcRRG#-Ps_6Nn$0%xW>Yc`w~}@Af%mz9+ib z5=yFcdpM=K)J+!*q zLWH^BLe&&toj(EppOCrm`OLHt^|GByG7LkyS(e`jSlS1UVnj0|SJ@teM%tzZAMHSc_r=2yLS_cz~q>zjAK#r^j5 z6$HL~=kWUDS6zMVn#1^Qc{Fc-=bi0jG&6KxZwAJ)8wuz&X_?ls&CWD1W0`5pBIZTr zMcXUxx2q$f@E&7M*^&r?4I2RfrhBdrxwTLID@H^SGBk#2*20 z#PRM>YDd)|oqUoiZk;?)(PF1cI%fcy-40#}U}3M94+fb2vaQ+Kl*(R>Lk`DT${zCA zM6v-&6<7P&e|H`4eQ(}R+iXU&%Uu7b8{R4%!=}SO#oC$fH}1Uis0Tmr&`V<)O>T?D z+%OY+Uw#Up$HzBp+PUL4d4I#d0gW*S#%311Dn%vzRK-Tcjrto#Y}fDB?@j+OeKf6g zs!baGVY6A(Wb4of3`7F=Btl{xAXNQWk~|p3ZX_Y1e`r@S62AH*37_0?`&BnJ z+FiWbe|FE(l~>_gD7ZBYv{!I)WVS|hhGw3U&>$&S;Y{pR| z4oD*=@T+*{ozTytAB0XsPlrBK9Ibl@zLb=#sdK( zqbBfRAq5c{g+i?n85Bs5a0zCo0KI7p+&Lm7e`wPobZ1PZE-*^0#0kHE1+CVs*{*q9 z!6kd>hW6&7{A#OcE zz-ntnv#j|nFi|y*4Tat&I(5SW37-UI8PnRh^URM*lxdyejUv>5a!upMLC( zn_j)`wpU)c?Y38$!}n5{v48s5nt2JjgZ!ckQ*EE^$9Ug9j7pR4`teWhyz3`Ffw?dP z=E4;)7xK7Is@>)}EifFm=X1sUdDlD%i>4bZqP8MIy7}YZ~J-qJY_NRVLZ zBg%Zaab0IyW<|9Q2%Xu09i5)pe?DPz$H0FM&0luzHMPQ310M|8ksDL7DTJPZ@!(Kc z5DS>>1}P=F8{Cq6ntPFZt^2EPmCazD#RER8)N5ub6r$eYbKh+Te3tzY(~s|Z(x)`& zwFn=?LGs@9{ihjX@be|Bb?z~+K4wY8`--}#wqH}>Ic=2`VROMKDCz!@_jI)6*{2dAA6GHM4kMTC8JL1 zneG;>HlyRt01>WsOBRMW_!fOf4q>zDLxggOQy1k zTyvx~Iy%{!UCu8L>z3GX*w$oY(tJnq7tvp2KZt&iJsmxrRga2}$}W#A&ppaN8dgSf z;V_bcxo!xO`^ePai-I^9BrnyQTZ2>`9B}YpXE+!X!=f*YY8xrcsIM<(>+2h{Vr@2O z(a{GPGg_ljrxh(^e^)C|Q}UKp*EYJRRrK<PbNE~$z&`l)?jg%ZQ6?8Yo3Wb3o@vuu{YB>zYoU;wZNt7sVrnjwN?(RC z=`di@ygEuuf461_Kdsikf*Me3YPr^*_e9-UVMs%mu(yXcK@MX#L!8IZ5a;n6#`n`z zgyWBJPnyma0|6cjO8xl31#}b5DNp4h%vc_&Z&bi zr+AoCF4QGu7uwg@Z?ppvqMt=@N5B?m5lqqQvfpj7e~2yw2qMCQ#cb{{A2PFMx4Rl9 zQq!TI4+}pR4&HGl6#OHBf)yg78n|O*C$=a6H!CtJsl_zXls7h;MwwbnqfL@&oN0o_ z8q+uF_j-5NaBB=&@0FRB_CxQKQF* zBkd+qe-sd`c&ha^>v8KTD~GIRt7K)ZMWfYfGK%(SkRl97G>eQ_42WVdAV!<&<-$gD zBhy&SG&a^}#HOM|3VV)?!{dsrs%F&%Dhn$I82d>vyqE3b|EB^F1J?CDRj{! z7Y|~E(yes{aYB&_Vwc_%l-eKiO?cj%qgHtv5HoWU?Kw^Gg!9lTX ze*;WKzQ8kv>P$mSzGOGVvZ3EDn_cz-KuHMuu&qehn97;?DvagqY5Kd%SF|k*<=2dw z+tf~V!S9>WShu9DNRu5SYHLQ1qs8yiUCT7dE}XGuLa{iZaM7HBebn;*J<{|EJp(_d z={v^F^d}d~nPH-Y&dC)p&S%0n&*Ph>L^Hn<1xWmsQud5}SvW0-*2D)S{w_Mn}y7wKjp(Rwy^D=$k%Vk*8^UYTU< z){LU&D03EyYseL46t|&}SKtAnD!_KFR*P1n6+Fk>*i9A{GevZ_f7EXW zMAuEQ++ozIjN{6~bKnzLF#djx#lIKB<-IbiC=p00M=B(Ri&+o|3r6b}ubesD>U2(}ZtE=(c z@@UyGdwepm>B51JhVk6l*N*$=e}O-oGeiIvykqbf*8*cihn)BVDQ|Uf4&LctU&b%% z-e7*I_?7Ano$_+kG7Hng^l;16%e2c4D=a;>B~Ggm+{uBi z)r5SgSR_9~nfV}c04B;0ezMoh8+qq}!FOTZeRq!`Uk*PvR2naj?kK#<8bC`FUB*NF2iCBeWJYFuohpN>Z{W|uY6Yf z3)L?)Z^wTz;(g_NTD6<4VXsx)%5GzKuu6xIPFi=y?{@qAqC;M(e{|NvXDmx?Vy3(z zVM8)wD%gDm7^}uiNT*GP@SU6r1q)GSEM!t+wWqNL8HIq!FYiy_{O*Qoc05J!D$Mwk zEtHvXK3>8XZzZl~mL>G{g#M_d8;K19CcQpl@K;a7!)K_k6RSz`JR_VQ!dCy>Np%Ky zebSC~*S)@`H1N!Ce{Pj!oxN2|_6L5xb=%RS+wM8aF5EV^bM2A7eWk&tN=kWOE8rFd ziWV)qBtvJN{cssD z%Yb+q0mKy&0eRxJu7Z`I^TyhcPpcu^qId}1DXJpat#Jz*wb-ORu05q?wVn~F5HX0g zJ@|N#I}$t|JQZYv?)nN#xtdEv70m$nLZ^~#;;k*`V-cY*Vlr2EtVcG8lL2%%%GVIX zqX|CU4?UYaf2(I@F8=3ggUKw?$XTqS9Y3OcWy)PHt)lF`P47Nk8o=xij&C};b?Z@b zGB0l)DpUq+L%h+f zjYJD5t<<)fVL1efj1XpCtx0uC#i%^Bh!-NJ@YJx(%sUlUhTSy-x4Wtg;SkkNS@V-x zil+p2#Y!f&G=JGG{9m{XLeE*sJ-5%s8y!|(1&b=rx--l~d>%8FVZQy)gh@BJZCax( zoOO@9fA0`pOVRf$2sQsIRo!A29=&TukH_X#*}|S#kCw8ubF3C8^YjpobA74c9VE__Mk~O(>5o+EWf;Pe@*`S!Y%n*3J>$UdF}0meL?18bvhZ2 zjgUsSWIZmEQDxURqijQcn5%0t8TG6du@-k>^yrW!G)~)(b9-5VY^K5Alzg$KPzV)N zGnzvk0kWl^4S0$priTkjdq^Vdqytt&X?AZCC*2dqsaR!98`8}yPdd6)tL!EQr->=d zf1w@zq?fyfxA!+!ZSXJK39-t?0`nusS_NO!7IluX2T{S>9K<692&`iv>u7Zak<&G1 z^eBG|;4_{=OFq~XM0}ftBGkh^^M)MeRrUYg0-x3To*w)ya>D!_4-n)olSOts56kL!UT13ck>^0mkV;Px)Pg5L z)glY)`}quI5u?#nY75og_Z-6prQ@+k*>)>?olMmdNnd{2O}9-c6zjjXYy5)lpT6|c z2DM%Gx#xC+4>O*cFe>2yQzbElEHEN9ze+#{cd}g2ETje|CQveR|-kw@Q?h$W3ROs?a#mo#* z{*^_i=UC5@r7a$>R;Tl5f=KJt2azmop(5-qT$$q*{%ny|EO(~##bF1OpX!m9^6OU5 zcyT0eFuM%Gf3CiBC*5LyAL$HsA(`F-Kf7>YqhKI@JwlVezK+R|LTY)5f3)LVXvf*? zLKFvBtk-h;98AK2J!+GN!eD(yt=DVRqDdC4>bz6Rg4KA4m`zGP#OeeAA*X}TA)2JwBB+n3u!^wT6KAvATUumuy5+rTvYyp6|{m*AZAgFf=K}Ct$_2^QMM(_WtL_9f3ol{sPuiCRSIHa zsAs2SHz0%AkTI}^Db!$(sI^$-WfXpG5LdB7i8Y>`#Ik26HOC`r7%a0tTU|2$bIK6= z)52gZ$ezylFhYWj=WRCLX2nQbW^{VZ1ua|9YLwvu-;b9|IvZ2SSXwQ+EUe`KUXE;7 zBN-$suDAADw_9Jce{$Am@GclLQ5-7o_XbqxeX8kj5>@G|w6=Vql0(iDMf5#~|uyY}tQ zeau0w-~PDsDfd%}mmM!Tf9W{t{JrCZGp%!Y9cd=*NIP$G-;~(lIOup$@go0@<9GOX z&ObA!9e;LOf8?D-M)T0tB3aX6r&O~lf>A_>ND=lFNo|k37GYOKHbxkt`oKgY+o;}y zSk`;kDJ8q9ViHTVA38MbM;g3~sz9*B!iHuWRe=!8DiAO({r(Kqe-H(?>u#$5FgQ_a zsOUckL;4RwmHvZJrT-w5^&bx5<3Mt+h4FNpuq5$ue<{qN=@_%qIc>ZU@)QJH!JsVY zLxNy1=#{-L?0VjfiC8^`?sQA_Ik%KZXWddX4uL-af!hOt$&z&!r1=S)IEcSP6(2T9 zPR9&J8qu6(NIizsV%Zi8a8f+2bmjN%#mE=pF-nNPdAhF0&BL>HpVQ+D1=6(zbV ziW2Eh-X|B4>rDNj)=yf@C(P6p?BA&>aSpq`t84Y@bIZ;xEbB{DxDNXgYPXs*52G}= zFQj7GID6I(-)dEeA+OUnFWuk2bZ2sCv+w11fA3k`zj-;~Qom0S-vnlS11E6R99_cj z10OK=o;go@0Ol@-c{+~yhIDt(60|bbyk(|^@e)o;P@Ipiu=a*}!}G^IkDoXH)cVuV zkHbH1_+j>k<4kJgLR&@ld}+0gIvlZEXT(?&kcWpdsvyHBhKzn!X+Crj z6$hgJK-CnyDYe;O!ms;ek6ymFQz!;Z2d!>4j!<76L?rLL9nlNc}-x{`Xm222-}NfADv^Aud}q zqVk}!X2iRa#;R+z1a#KcM&g=gA|xzYhjWYtmd!Ea+5*;AOoDMEeU?^Cf^j3ge`ZKQ zFphY{!z2i4{lb{634#XR?Hyw#xOW3Vwjs8b<8l3iFYGb%ga`hDWPn7t1%eO>KG$#p zLCCSJYxhN}7G<9apR+w)8D_TQ8)Cc(X!SpmX|buazjTl;Vx^A)9+NGGZzz2~VuS1N zku_~G_G15HGKtN3OHJ4tJd7cJ`3dqw7)btAB)O>_3^1RYJ)O23m zUAmsz3iGM~KMg1aa#>ws+7NQ)aL&?UkesJ&e-U*W+a%jWaVcJEx!QKMc(d(halhpm z+X3-K@!v!vJjB{ywKUjd%qCzkWQI^0uNc@Ez=3UIARvlfF-){AcJ8gKf2S0pv#f3* zrWsKJOBjDcmxS?|Qo3^f`fdTb3u=VGUHMLeFNN*7`(EZQ0xgs{km z!=eQyFtM?3wISR97pxYH)B%N6Ll7XZmoIocFsB)U07VL^5ruR*Wki9g0cKU;c;FPF zPqR~rvYS~UC{`(sD^4kte+qYF>Hvl0vV)th)pRR*h1pPr0+n}Q5?lO=GDQ9x;@2;W z7FDw5vumr=<`%W=xjBR@e(OGWfSn~34KXW9*SG^7gWW;3E>`22c-rc+E{~b78~ETx zI{K)hI#vOEwi@gj3ZOffC*(l{!)usxB*W>G2(cf+cyglOOIjmge->l4QOi6t_$e|B z{uyZzN9Yn&hMENuwGKLH#@jL`o6T$z9Y)Mp8Np!W4F;n@&ls`8!055jBp@eXzk*J$ z#a&#%q;1vq63(65(bY>F%evN8G3zFm_d?UX6_g@r9`@`7;7&Hp$jCx;hAid)vS_-`b5(_Mc*vs>`{uwVCQo-@3?Qa&;8U5%n=~+* zI;uT9iTPn4NxXzGzPmKQj^cicMxd?x-mtzQGAaPHPX%%g(I;jD#GV2ViLe-{vslfn zNl`ObY6W7hpKVU*dO_K4Y6{AG{&i zQX;-ad`0|sk^R1ieKpbAtc!R_GeW{ILJ%Z@lcI>Ve_1xvM-wod>WUI_+uZNz{lBQbi#c*5&?^qjNhA zV(Nah(s4tWCm?QpI9BPgA!j{uf6B&aloeaVRDptaC$qKD0v#x53~u+-Z2P!IuhZ$x zj=lO4f45t&t#n|`7`!w;kz+LmtJT#wesO6l?LZq(JFv7BI?!g-Ygh&J=4Gu@WH@mU zKhD{hVO(=lf38-|Yqe_h zdT6e4r|ot9TyHOnO>8gAu%5WX9UJnp3=ldqe|g}OPX&*PB-#HkyLMh!+c~4T;PQLIqy2z&I6Y&Rjz~^z?HS=}pX%qC`(5Vnzcx;7 z63u*jNb9tiL(^L0&0YQ_Q9ZGN#JtP?0mhXE+0b~&uVcIn!y2&4GN{#J{al-Ft@dNv zf7^B-iayr#Gav8cFdWeKrMT7q~8vBc6kO4r}n)4s3zd>xi>-Vclh1h zZ%Y?D_4Ysl|Eipza?f8f?{e<)x3o%TwH0$l@)_E-x{oc->EZQ~$&S|Ik5$hxZ^MVY z^k~^5(aEwm*6I&w9P%+UoZ9k>(l1>Be|tc~bpE3Bj@$1DXyH@Bi2!eK;$7v0Jl_VG z+t`Qbw~UhPF^s>8G3HcHBK$h@9Qqgm8QRa3c54wjfX8CRkZYt9)GrdYQhQuoI89c6n&T`=o7HSm zs}!6X>mtbFaVp&o;sbri8F)pNjcS=yKxt#Bp)x7i!vmu`)CP;ipzdIvFQ?#(S*OwH zWSL5g(BNRj*9_x85t=Xi4S{@=e}3NvvM+-B26CfUpRhS)6R*E?+3il3-)1q;yeX$Q znGAZrMS*Fa%^{Y>$gfaRvnXxqoKCIQ>ikNqjVTQ=i_0CbS{Q{=ZL_*j09geqgRE02 z^N8#MQd+0!1s(3yy{0>*V|8v%+4ef!aecCD^#Ik;kab(B@6s6fhc6*A-06@(Zl(C$(zp~hM3)+N)Nm~ow(X&|2>r|&4ZPDio6$KV(DG(pP*eL zD21MTf;S&v&B%%uN*a?Dde6_>-TkatiaXODr_=56+jZVV47;P|n4M=t4q>$}kVr7b zXuvq10{3-NjVBqH?_K3(f3|qB*Q<)ef=oGr|_}{0ze++m1-rWo$t@fG2 z*6{oBZ3=G*mF~Kp+KPlRR`$mLV~oHTJa`)NKZmwl#9E{_lS=E-h80bUHZ(1$^18g? zgd$FMPp;O zyPRKCj_GrGxG<00HHQS9B$zjcj0Ih1dUj{$oZ0?)-HT{`K^iSsun76PYZ5e{O2<>F zMBHCfJA&jN&!ihNnGp^C+FU*#kjCf?~ zZH{qxY%VW_+!3d`woz&0?3Wa0j923eEHU+>Ik9=3SfDjln6xBgY&CWpSrbGZM%IXD z#bQDuZfu+vC=_aH)#~nf^Dbs``LPl=ddB!mirj?_oZY76%n@hE&H3WvBr%#DC%OF) z@XqWwL8H%(e;eK4AgusbXbcx=%sWVYTxx(ij=289*zw7DvN@K~Kd5Iu(huqxeVcD` z+i1bJ#mB7jZS@WO=;|WpY5CgEiC^V*8Vof6}J_X1eC9V@y4yTQRFoKA%F*;3Y zt_;vrEV1E3b2jQwGZwB)@G_QC27B~2W{aa{^puM(U6QcJYjYFho%KtnT|K6~y)Ef5 zUAge8e?VJ%`y0ig6j-#QPP^U zch*A>UxFVb709~NH+YOIa*v@_^tKdf3gDaBe{KB3m_>rYnmrgg*upqRZQ?dr9^f9Z zC zXvU%G0M3IRNpH$}JWMhd8?huBOZMYiB&RwU8`EZsF`hOmmSa% ze_X5Vf;DYzUOnW6)lvys%L!Plow5Z#YDlgtP4+Hx6bp$|l&vbR%jK>SDvrxZb|e+V zLNWE0Sr!|zqp<$O>6c4K0|t|0!*_2v`1JbykBw??ABA^6ecQtaJ?daw!?9c}q|y4c z*4uWx_;1Yo*7tA!=~vSZkKw}HJ!>vme;-bz|9Hjvo&TJUd&b7ys?M1>K5DdS-R^&W zLB_cOLURuTY>wj#pG<|m8)7^T+5DLcyV7=-%VGC>yt0jce_HVSgM!~{lHJH53$~xLsIP!->MuQb1Bt{`YmQF+)?xF`G$`Be{qHf;d(Lj2u90Ufu(+|Z&<>*{m{#~1F$g-p zx%ob3#XI@@YRHvdfq3BVU*+@De+fbY3v7XNlVz5oD9@k%Jxm^qu7W<>&E1K{;IB$4 zEvs#GWixE1ailVzouIrRJ5#CMYI{n_sg2;qp zu}IjTNY=t)w1)^%`$=hCI$c}mPx@T6)Pp^=)amiKoPM7_M9`ohlyr;1e_%-T`?C!V z0gmCJlWk^mK&|A}YNgUfAHfyK~GF19T_2A z8;V54kUthr6P(0|k~o=0NjUv+n8UP)!$Z>;ra2Ui*QCqSJZ&@*N||v7Vpc{MQ>xTf zjnNbc%@?pBI1Ty$GT{!~je9YNJ+tvnonhE=RmZUJ%__~m%YrEPNv0I)&de7 zE*6O`O1X^(F8SzrmpA#9v4tD-xSM&5lmgCM_Q3-5s=#P07`eE`<&Rl3dX}xJ3CH4Ul`0Wu5Q9U4QE3o8 zfFd}iIv9tzf5C9bz!)}~at2S`A(*(5!JHM{wGU9k{3p^t&%oJ2XqvJyz#-TSb2me0 zX|+t#cs9%Y?|0={VTz+Z+@)cL5uZ4`0Vdyc{o|+}?h?SZpZi8n2w& zFwdGyH-_^U*0+@wHx-M&CqrYPhq;de>*d{-y8?;ze-otj#&NT+X8w~RJ1n(dwH)Ae z6xE_EPD&Fr8FywzVph$pj6#`ECN(vVgd^#$QT|2w7yDl_?5FNe6Mv~;?{RO=#`gYxB9|mMdf!RXoh=k?qMD3mnceO& zf0j)q(j)ghIO)kF(_h=S_h;Og&JQ2`&L2Ay zHOT}E$wxoztV!Zj8b6_#e{08vgIevu4c8yk!JJG&zb&BlWykGP#&jk^>il`H!~S67exHR(9XUzAM8lF4|?pT;q_+rY(4&Y+WVI%^_cuNBr&As93on0S3GU8DA( zK&&^4qms^;jd~h*TR_#T#vSTz^@D0wf9)PIYCnFX%CQ|;G}Eigs%2%bxzy&hyiArY z<^BCs&KK@mhb~Q{bkw4%Y=RqJ3o9G3s#nJfz-E_EymeRK_vgS0C=`o*v)Al;eIcZ6 z#bReCK1^p zfYS=615O^!h@{hJqlCJLRV^!!T(XiANiJT=IY_RtlCzTB$V#q3(wQmuA9Chw9m#ns zxq6awlUZ1a?H)N6!*U!=&{)#eH)M~9N9q}!N%pB`z=pKhU@)2eI)_y*;xV7L@VwRH zcR0PW31jz0H{(wF+-|SW?`)`}e}$XtkJU5v$=dq*x>|oj<47oc%AAvOQ*&&Nn6}g8 zbGeaue`7>;40jA*buvgiGx;OYB(ZH5he{Jt@pv-jkE(!>^_v1(oqA+lT~ZLd))@3% zLo^a`Iv7ptICqL;ws70I$2k^pW=`U!a-6`e;x=+yIF2I##(;eOfTh*Ef7yJ@%$kYG zX=9+aCSMb%M;p;=L@fr20;zN`9WVuY1G@qr1-M|KJFq#xB1kg_ohz9>{X#x} zNq0W~$L8i%Jf$_Ce=eV|e}zPI^Rvy(wbLE-zaJ<4x`O@@`@GdL;bm5QMZ1xRej-`6 z2EXV3Ua;TaA5`4LeTQRI2Y|HZ22bt_Ds7BL=K1QO6T-s6`lz41WZOc30$76(H)*xf2OW0poltJkXHyo zNBR*^y9A&+$xh;xCvtXy>;K%@n-3DZcOQ-@7;g< zQ^T#drF-r@q|F?FuRX^-25UeLOOoYU=2~{We!XE6bF=cYkve-tu8tH26LzaRwseo-cWbi#e~N-xtGsX5{Dr;p1+I>$ zJ0k=Q4WQqd@4`7Vp?55HGqGS|$(_y48Xo^qqNpNRa^{ez#Ctw`VAs(%cRcaScV_4F z@8$to(P%cVe`E{JlwRMogZa82+y8L7^rz=aAO96&tejd3RFOg#`Ja3JH+au;c=y`` z=Pujg1Dtz2eL8(;v`GQ%cG;4K!SD{sdHTMdI z`G!>nro+%}*kIUV*baEI(%=CCSitkqD#T>a7PK85eHE`}{i*a@H^suw17?eN-C7to(EhEC<#e6h3T-JtTe{JYo*;4~ zXeHBOe=0W;ElO(gMW;SYmzuNw*a?K&*!rs|ICPU$!uT-yhibZ$>StA9dP-cAprI$saYRW>3L^-YqF&3R6%rMGAj2cMHku-WD$BOByD&G)^e1mMmdUgTcxBxFGQYnW>q#UG|Q$;G} z5Q&rn@;fs{D&-J~ltUPjatK3G4q-^jA^a^VM?t-4PGO#>5NItFCK<7L7M>M~Wh-(G zEtP91zd)`rx`Bu&3X{!+kMvkS+jo5Of2qmL-Sv~C&+XMCjt;8BiAC6hGuFaP&O3kgc^KT3^ ze&fYdN*8`{Pl+P?_>w&@iuzRQ#jmxB8@lUSo26pf*S7B3CTvZm(}Z72;C_+ah_dK~ zrH+V;=1BB!Y$48gb)nzAztfUS<^_z0Yzi=V_`fL<))7 zy;`i5ct=+2&ZR0aYVs#1PYwb0lf*qC6)wQ~n@M*O(7yU)GZj0esm3>1e@9_OC97#g zp{pWSki`n2Dyf1%g$goPqby38KYHAfUwpj1^rX*da6JF+-hDqCL?esEk@%7CJW%>c zy&)J)rf>Lo=R5cnqiN0LtM2K_+Pu2?%P#Jm9IyLM@sbytYJPRW1+6!IW!3Ezo{b`Q zgQ(6?@7}B9I7GEMb>R$*f1GGc3<*A2LpOi}8E+uq^NIq&97z$`yGe!Sq8%&fU2Lb4 zWfe*h8!Ym|k+GUg7OQB`Q$1fn+o{rO)hbaR=WR9t#Q~Pa<2D|-Jsyj?p!f7MZPHk; zHx`RVl}bec3!xCgT4*AJUdf}lEglm*CU1wg+q=tq$a~DI^m>w3f19A{P|Yoqf2-CRvkERnO)TjWnP?&ri;AhVY!jn4Q(p_Gm=1<%K9m8tAC8E@ z0978j(wA}jd>*$LV4AX7K^7v|RT_<8wewc1oy#&!T;65X*j1cqjABH{?*5;wfA%XcrBWWH_Vvpp8IH;$qV!??%x_L~W!ALh=sa%(*trJALmGYXG_nl7 zkK!mzr*RS|JE@=mzFAiGj%27TL5!(nBPc<@c{{0~KvclmD3IlM(fKe8%#3uHc}Wi^cw8da-!ASiGdPXzTih`PSNaUF5*ZVv$wD zX(&&w{U!gd`(57TC9R{T={~{#hb~RfzCoC8yP$n*@PL$j2_42q9lvy)aQuf$S<47D zjN0jPe+o>(Db%zuEj2I&Yi@FC?F3Bj3EHr&pVdhkv(08Pi*~o4sKOa!6`l3m%H=0DP)9FApHDy&Ur_+TQMsPTJe=?8}Cd(wo4oyuu?Ju|)mbDb@ZX!um z3dy8GVJv7P(WpkNb)l34bIuwekWL9wfS6ifCIzPl7Y8>5UkfUNL?z3z-TAnandF@A zT5?+yEe6>yuiw)aZY&L16`}(zs2Js ze_46g=UHNhmb1mfnRE+BHkd7)}FzEM@f7wjNnu%;HC#CU7Bo-G%8?l(Ohim|#rACXz zWE5>YRWR0=932kE?7$9s&Fyfw+#+8~$D%IXnMkLT39+`08bC6d>T!K%V|{%?qgbb6 z#ST~G>5A*r%wtW80e7=ndNzKh~K%!EPA1FOl1>)bsUb^_Vmt~h_ zyGKB)PCH|4L~-beFX-t#rnCAuf9R!s?C+$~4v|PZNM7uu(hgCO`%*X5mvV;}hx*zZ ziLj(!)hbmmD7dgm;BA7|rbJP}-Qnr>^m-oj?D8D)5M#5RI3DiU*!eq_a%!H^joNsehcSFzh&WfK^A^1hlSq-hePZz zV3Q$e=rwFMY%wSdWH~Z;>N-TcS==HrBFT&H+81_|#o()n9DKF8f8~5~@XVKyga4ya za9C~rE+IIN7vcF6i^YE{7BeN!=vD1aGkmF3RA{-dQ7ZK|6pP0wo^u`ZRWg7-yQz1k zJy5fDeCxHEQS;U@zm_o_GJebYx-fp{(te&iSW9us6iz*HHYrH*AyPv3rimVde}$BoNJ%x(xCa5nP41jkCLKka4JgB)!$BxUug3$VVS*Bg0#J*} zR3S!`$2(%(F=lfN$0VC08=fJ*Xtx1eNaey8U>XOh}~DL)=E_Pnnf2 z&zj7ct4cNW>H3F#!iT=Z;!xRH6!`42^Q;ORYCWm+FubY6f3CU*#<$Ua0qDYYL%(Ej zmlV<~0*V?%o@rKG$UNy(Emz>6C+G_XGMmq~adVDCdzyiD&IiO=l{ z$yXr>JIf?tg=D-N0m+EOv`kXYPIQ(@%CJo7>(}jP?dWX&dNndY$q8yq zsM34?t>iuKB3R$*s72NZtXeeeUnmg2;*le(zB28n8j8HHaWuq=INDlOtM>9EEPUX=el}GPkY1w@uUkqDgyb6{g&OMn$1*dBN- zz@Y#sIThdnsU1~+{hTCw?wC*vop3#i}Yg?i1L|6r9 zN_@kFq+mCL$aXBUvM{q75x-BKj5vNW_>Tp3eMU$Kn3LH;HXJ z2I9RCTc|N0ovrAw+3XI{;t$Ej_%d|Uf3E2F(S{%4Dbj7dqEClip@KhLzzCWB8g+r? zv_8Mq9xYhRO03hw3&dH&^Gde-0VI}mW@|Rfj%TN{EZfhzr1}hzaBc(u%LvMP3TZi5 zCL^NYFgrIoPdQn^Np^o8hor*ksYz8p@TZmjAr=*hv*a|fD0I@&*jU-m+fufTe^2-I zHh$SYgXz&ljWKks#$iq+_gB-%vYDWBXlhGHB(RrV@W;}z#M(@zvF)wj-LVb7mdVVS zlgX6c%w(=D{o%LQ?Z9)dd@q$c&^_YFid!nM70<=<9-7xh*G_~Ki2ik(TK=TgsA>A4 z=*0_2{3G4Z{$)`0*Dc&>bsDl7e_CJ0d6Dva1KVIM{A5ry_&Rrb=t|`eb3Z|sm6QL0 zwdf!^0cQ#ShUvn!=v}l0r_llY6ZAfM53W3lo=0z@7qAum9Q_vC@K10aEd>1QE^LDb zSkO$g0sRY_g&ss3f!ccy%4QRb^r#LkMSCDO3++dnf$A^=c0HBsUt~t3fB%D9;K}4~ z3#x@TTn~5r8~O^Gfu2Eo(INO6JB3|kOdPj6XiQixJ!JXA zKD=*b!{#Kti4*T0^M;IK@lt5s{yj+LQ}23+4+;+GBk2`_`xAMqy`s&vHZ0 zpS~Xc8W&v;tnajB272pN>Q}BTUIyJFJ(^HRcsaWn?W`YX!?IywXI=e$v=^tF$Ah5L z!PDaWZNBZwEh_mB!#X3cVyF^~Lj3owyXe(2uuur%k$FPter4;@!adA*BCzJ=k=Bs5 zjX%+8EoWW;F-M&E{&TR))lKO-o8kN%50Lz-`ntAFca($VaiwFp!z8Kj zy)_>Z5ZYL-(MFEXWA|zoR$;wWnOY8Qrw}`*HAQ>ZaSN28~$6#5oOTVMhpn? z$kW#|3p&uG-T2%iIbiI|!yt;Qu4=RG2XIf`{&yIYI^1(zo(>I_PR2aTHBGmXYK?}N zsG_Pvk!pEwNN46&AkuD(==l&4Y}AHoPj2H86ylIUL}tWRB|Z zYYTvp(mb*v(CFqF_TA^G=I2fN#-$it5t8jUf4wC{0EKG|Wi(@{aSQHrtF0JNR%ukS z4r`9i5N>bMHbJ;!4hb@f7F{X1V&(b@Y>C|Wr#=h$qbt=xY@fpTBkYL>$Wp|NZ6bSY zgtW)H391e{==OmetntN)w_>eRgQC8=Um#twBJ{^INFUL3{6Sv|_>Joe#5H;lx;frl zG6`BV*!59H1UvAwjNkWt`YL*#kG^TBv}(znW+Dk1*;AKWf4pmF^n-nVkh$+ANj5+d znhS*woB;ycE1&k$)pLr~un(IvGx}U{p10GlL0uWY|9Bn3Gj+uVQ~1r%F&Uwcq4|$F z0!@lc`Y5-(S`K#WlRPyan2wV3XtOtrv*^7l^TL;bxuYiw+%JuanrMA!NtK;WDo#4Te%VvLD zkb+#D>og}LpU$in{F#!J@`LBrY}fRi5$lZKZKg~4RwZYJ8W`i}gKg48P`jpA~zMiPhA%gULQGZVIy9%)2?az!wvi_UlkyU~8r5?KEXbnf8)Y zkJq*8WvlL-$vp2h`4|sM+HU2;WBvDi&Nz1Q-Wl41=IsOOME16l(tHV#tYF-`5|9>ju-2IpmrU-HIKa} zS+TO|xdMWk=?7UjaKKTx;io8JWm(6s#ckwBtLMzVb%v?$*t5m)-}*r`sWr?rL~X9k zP@4K^iA6z-`O{u8cfW7^_83jI+%yOZq6f|(cHpeh)#a06nq85o0a5SNLi}~-6qz}x zl>YAgGkLc|TU3H+f1Cd983gYMr$QB&5#)UrFIP=fq5=405f5;rYn=YH1I-y-Y{PhD z10o)92qyJU6g#5`q$%m)hc^(YegS72Z%k9lBn{oO<<$=;e*W-j;vJI^96fSTS^BAb zR#0q^yAK^o{d(6Jh26iZUqfe-VXizU6ekS$p*AzDW6(Wc-eKnGc2L^R>at1~x};_< z(j{>a!WMNN##7s)PrDD`q%!6kJHXAPe79Fj9oNyL`EE!Tie=&@5xDStp-m+jy;XfD zc^{-6OqI4FKY31DV7aMLYRc zBvF4N%=YH_k88?9&LC3nS=aYH;E;*{J8))&fgQLtkHM^h1!HbjM#`Hs0JZ;&I^eAf z`>5s$DifL;@~)z2L{IW)>WVk13Bn#nG^3;#>oDF5%`X#_`@h&GaDKS$%_GpAup6fu z>J7{#VqYp|Dy$7I%3eEB050G{_4;))a_6A}BT$us1wkz&m=>ar(^y1c=I~BW@J#o-o5g zv;%8Ftn~UAPp&vm*Vqd-oL>I-W~?gN)EG_M&Tn!ydJt|i04G17x54-KyTafOcDO%T^L+BJL=d-E%$<@?zHgUw}(u~XMIq_J98 z$57DvrcXImdG?v1i?g(|$JxMI-CA)TjJg>v@qQ{$F^)X^z^=7Q%*mP>CLAL8%!)}> zYDR@gPby5WR=Fipx#e1EW>C3xraJUPbtp|$x^X`F2!LHGGTpM3X*ZP7vNhLI%&k{nX3I1;n*_2sL@5_N!Z8p5~Z+#YX;7;n9e4V13 z8&V&6Sh%}pD8!OH$QX80JQ>R8uBeMLd|aPa0e1P!8xi{Ad1uPCcD$8Q$R_OXhcm4aGd82@`TLc9@OcT32?k{nJ&lWqHF zWD;VU429Y+!neFK>B-Z-LV0gAxehcv%g^)kk#My}z+FDwuSs|DH-dVqOMq(HU=X#c zJRT@#G`wQH7Y_>~HMT`MFQYovd;pY9XMzQvY z1CB)Y`F%RC!O#}J6|iO+kti4MNO@lKc+``iTVG2rEkb#~|E2n>>-&Xj({|Ln=g15j z9;YkMBoA_dp{9tZba`2KORYL{iJ5a2DGU80+;esDh_hfx$Oc+WqMW;obRx*My(907 zj5E5*@E%>J!DeWavq4Cm39r>e8d3Hc&3wADfHf{o=?wP-Yl)JanlaSO{m!&4gU3T{ zUI6{I(^i4hlN5r~=CbTGbX(j$vhr768$%?AFoiU~q%3Cm${YE`H}vKSHJ`MX-afJ% zF=4>S2t(bOSmzUx_ar6~!3OAIp$gzQ)VwSUolGK{3+hoN+U=nq5XHzCGrakW>lg1% z;gP_-MC`G^>XogeBbK%&ZQk_9%#t&00UzI0q?Fgg;%kI8H48zb#!QQ^H8I#7Mj6&fzqwXl zIO3jRo{8hgF-XPAe3rx1q6xB{z$+I+1JVIYvLP`b9C)8h;wYODyqb?v)x(nA>illv z(G4+6k_bp<1WI<*=a#6eK*Gk}NOWi!x@ zoMfx0R@;(zDl?H+tEAk+jNJ3uH9^bw6q7&;RFV~{b6Bz|gMuUt$J=@vgQnUxE3Np2 z#GdJho8?0Lvov{;IuQFzTpc~3U(`y$45NsR1RlslHY?ZTE)0;Dp9u@mLOVhDm$QYl zh9HesaJXrPE@7)ki2W1zt@wkU!~4jRUEEVZ&->9o5x}n{6u$?|P)3RM5AE~)9^NPO} zB{zo(n_UWF83{(-*v52j;;9*a${!A=f#bRn^~)aORS%UJw94bg7_gJ$W)7_*&Kp@# z;+=lS!=p#ObDt(y*pafO24%;>2>uP&u{nZ9c`)ZMH^wL02p?ar{d%nZwVj{=N<()}Pza3E^ilY{XWYfxIg}xZbfF2SIq%g@i0JscL6Sj<8FXf;Mb0xKTCF)5ajS5ys zJPC&s)=h8CJ*VnGatUA%s0<})ADemb(+R@!K{<0Q+tuJeJ=F5sfg zx+A&()gge$|&^1a8F|1rc$duJ}o^)_t} zBRu5XG~;i*%wL+$TI6{642Nf1D&8e0*6Z2xqCg?ljZovK22i<>)2;N)IR(Ycl|YvRwITJSF?&!9_SIz zL}c8_bXxg|KqCQrIldUplq-%jUcTY$VS9%cdZE(Ume;qtM3MOm5DCMbKUSR8`S)GN z)dG9%l<%zQ$^^ zmUhGefjn_{<^*m*x7SU}&23_0ap7n5i7v=ir(juPZoTlW_Zl}|hL`zi0I`X$zr)OI zPefoe{>|i^e`vrypq#nO0UEY0EDS$1>IAB+6u@{nI?rBq6<{O^m-8$$rNf<>#Sa+x z>u)>hq1Hz!La`lB*7>S0_ip}qDmJNOll8RzI*Ag)mRyNqX`)1+hMx?%d-ex=yKIli zPkgI}44K4ktv|)jE9!M8kAC^J{ka!@=IJU3?tRF4>ZQ%v1YsQiJ@4vjymRan%yVqY z9|A?OBsm(nRV=(`0GXduLIr1QjvX68stNKqQI*ZV1c|-7^Q@0ny>4OFyoKzh2NSz! zX`2j%a3cZ!c%9grRoIx=6w3Um_m?!g+aIgzU+98Vv5FTm_;N7&wy7QxOHY_a+T=RV z3r8=@2F-sRf;<9CBVR;L-YZu}pbg-7>3qul-1VB&S8RJGRK<4D9E#b zNZUTy(4G{HqM?V8ci{w$R8kQ5u$6tf&ZxnmAeoK&=6WeRW_m~yxO_4%yD(DTP~=-i z=$U4TJ$i^{B|Oy+l(GVcdMY=UOz&BNW4$4nKebFCAir_WpV#752o#5PrZsM~Ra|Xs z>j=}Gt6{NwMQwE&^xN1=mN(qx1fqz>0u)Wy9YKE0EwqTTtHt=Y|riDi>MmDGAy>KZ67 zF9^wL0sW4ju9OMAz@7A!*N`#~tFr1o+>|kUwL6Ue3~St)WmyXX82xF)F}F+`GD?t= zklQugDoLf3w)mu!lR-F77 zEXJe;TtI|YxK?`n61&Lw99N`%f`VDO#Bu4^4{ArloJ-?M!sJ%OBpoz}8p|2Py9YmW z=Rm8L{v94IcwaLI1)7Aw0PixS88j=|v7=>n8n~pfy{1QeA$foQD?2>GtWs(J3bb$H z1wWeA11`32np3f`rmgjwRGa$N+3FeMmMX_=iqFm3#7%zHHTI6apG+Pjrzi+EaA~S3 z9XYTX58<#r{smi|e(}6#UR5!vtyr;d>i{ha<{h z%B%a|V18NSB4Vr(N=@;`%8-AQLG+U3s2+=n^R#RO%~#JOBce)r51!(kdW>{;tD>MV zj(WzpJ>kdfj{>IS_{2}KDQIdb)$&{k!}G8WEY^Wcr}677a`mLjWeW6Q_f&9lm^q=6{(fAn*0Rntbm_pwsM#Xao+^c(H>~72~GN2V6!i z(O~=3vBKL;&SUxM#{dB(8muh8lc;YS8WjgQRT?mltW%&g8f6KHZh_QzV$~qR7%+G3 z_)goz&iSVT=fBblsZ?3~ilyhOIhkXRechnN*&+cH#oNAqa($Dotn+wL1rHWjRWQs{ zvoq=m?pVT*@u3PY6#INHsWU>Nz26{3!I{(Ml4Ej(-2wwm;xD>i+~@r>E&sdQf6%{+ zO<*FN)7^P2J;?5cKBSv8nGjU%52Ukq{332LKbXXf6JwdG8n7ms_QjX8g(LLK>s-Yo z{)7v=(}py-Wbt;J;k>CM$fZc~=_jatemC>EfUtW-9O)0-qwvcgu3!aVtpIXnDuFlp z(WIg=e|OX7?!uUfNq3N|>r-U&2PE%m4O+Qh=c?Xw;XB17yfk+4oT;EqQfXq}bQh0C zEVG?C-YtO?Ki>${i*?nUAhANVx;cl3Xu%nA7jrvVSlQB5t{1pKZ87r*)U?23#L?t= zwZsE8tZQO>j#p0(E(n^KyE$v(>*04&pUNW^m(Zf}RU z{G$J(%Q0}bl$_W-Dm5Syo zBqOq0=sUI5!THt;tvYzE8nl__yD?6Qyt(U!RohY8N-7*lM_mNTOG>-X`se&AL3mT= z5s{=-e6&&0Ij=v9!_%$^%kox)6&+Y7p zr8+8!G=}Dg^uNJOTvYQ1e)>VyyJ1||`}&Uqqe^5GPXb?jgKx%aKv`I3JyK0zt0qjh zeec6&Hlc4DWLd%Ki>2E-O zzGKLKP7##NS_;)Ttj-w~@WN@*^A!ut%GvUNEUwf*DwOwv06=DaKO(UdH@CSEKOaAz zfSDP$paq|qm4yYrpcS8$nT3U!IY7`%T=f6jk%>BhNcDCgUnc7SBHf#H$1m`I%{#t7 zKI+;>Bx8TC*3hF7-v#J4(A;u348Sw#AOy%Z>YnsijB!L84Xl%~EFaTl|FY!o5?M{j z&hMJAw&CYpQMBe&^hlB8@u4u%P)_7mnTtdB8SbgSy4NrJt1|5!JV~lXIMQ!O(vYN{N2*=SQq2)#^ zeQQlSVy{QxV5;&XqP6kE;)uT<6`85DV>mZ)TtXu%|A_T6xxqzUvnz`tdE2nBV?=Eu zX4{DOGNp*A{7HCzBf9s9^D+hARI}e%^S@}dkC`Aa^6jwkG8tYY*6m2}GF2)UiKZ*u zhhZ)9@Gv)&4u1M+LLf;V|_{~pZ#;ty0 zpD$_3F;$5$H7!e)uG11#v06W&-l!>Uw^6@zqtlXP!UMKv?Z(YvBKb1-U>D{Zd{;gqKKCh8^nW5p+H*4J%N z3MSo0YXk8>IWk45U+yBEmUxPO%}-L9jtteN-e-wQZOK}Iu9q04wiGR%u2q*p%KLC_^HzBXOn$Cn}P_NX_A9kn6D6r~bw z@A?(aw=Tg+-HG>uOC6RHibhx3&x`aRWCd7uy+)`KfYer5+_HCB0{q0~7k~dJ*mn;n zMem9}@E`e=0zl_rN8^e<$p;D#CT&m3=6oI!5>j0s3{0)*+C@;zySFCl*rii+xMGj< zo?uSl-(S_+O_`@7U6{$@yc@dl&gkyBzm!-rIZzPJs%L`IN6_WJX=2t){BI!JT?v=o z6y;14>T~Pf%pF7bZ)IKg;>LR^N_43Ek1&r+Lxv-}UWs;}m{B}2in^ThN+pgyxq@ic zsk^>bjy~17v8Nkx!&3o;ha3rx5qbf|l&KB3dL`#?bh&*?0vx}`Q_Wu>iX5HNJhM+E zD;%9lDfTZ@k{q4#JmXIu99^K@VEq)TZcV8I#QGK^ z6CbC>@OC+?X14vh}8)FTbwv9KA&RFst@LT)5+Ki4EI47bXp~$~Myr zac1(eir@d2TZKHgz#6sbsyz11bJ9$3!j?P=Z+ucyZM2%)kM|}ROi+cjDJdErb)-`^ zJp?Zrb8x6Lh?1g24iXZ)BtjTFXzJ$i!hFL><&Jcw^Wu#k^Ipz&#`p3`>`cGf|7&nf z_9l7!m@>vt;>!%uh0#hi>X$Zj5=xCm$$YVH>~t!FLpd)nK}q6!qN^Na(xS(HK(Uo3=qM7Ey>x=AP?bZk$PHy8Kb)o;7Zd?j zoE1qTm~$q-95z$MW3vM&kWAngtB$*%F&;Sf3~;*z$!+W9g=-$&RuoKRAH^Fria=#f z!h#y9ph*oxEaz(ZQzH4{*;%pzG5$!?qki3E>fi~;*4qor5TN)Fzxi>J2^?TDR+)25 zt-7u*GPoLI^sibE@?28mgY6Xnak$pME~`L}^I$%j?Ce z9fCd_%&!b?RN%BSELP-3(kj5rgB(BART|L7?+FTZ4)8r5z-&J|x$b z)mgfy^oX313jIQ`ph)C>D`RqewIIIy?85ZdTeTJgoF)oSrb&L8|WX&u(KIuXl=Mj`GGtUKAW<&f(n4#JO`uGEnlFzjch7CPldkpg6_4 zO|Nd*-f*DB%X^67GYPc(NlgBNxL{NYJXyuL#n(Ne?UQllZYX(~*!MHazpl27L;eol zcxcsA_l<~O0%JLk>MDXKarj*^(>5)@4(htUH3Jhl)!(jpgJ!Zr2Ep?XlV6|mvkh@u zPN}no{#{19F?5#pp>>v`C}s!2co(j;t^l=$NTw|I7;B%!@S}E6AkoEzbLrJ;ex&mA z(Jh#*q<>-p)IClpy4{Ij_Z>u7vrxsLEY?1B8^L!0zoD}E(Ls$84D-;000pE?Q*yZi zrP>}9vHUxYyP~d4u)ysQKDmr;J$d9&H<84RFWBD%S)qloI!GbG)E~5Nw@;Etz>Qn; zd*M$5;iB{}RlZ1v7a^=>Hz63QNNCRd{*DIt*bUE_o^vw``2vOIcit_r*GJ>wnkt(O zx5QGl0}^q0qY2Utz~{cv_PlpVPx!4^(p>m_97o3M5dp58F#p*pQLGyQCgzfwfG2YK zc@KNy!V|qqsg!Sm9~eP9o?ux>v&PPrxuN8p=-6*jL$zC+D!z(QfS6`Wm=PvltZ_+Q z0BX6Zty^ zFSHMXTUCz_gg3re@T4rqmS-IyK^X4^etP6HCpJ)o*)Us>5=9b1iA@<+TR!fNzhwvKyVY>>fl4^ zWtktsv5bkQeym>m0av4D@SR|mvkDB*9goai=*$lJxs6aTg1##}qkDn0KJe(-%K3m@ z?@`_g8o2d5*6@+4T@1MRY{Yw`5%B%);$23`*>xlY{0KNZ-Nay=bCQ8lA#a*OfSi%Q zS4N5mpqX|_jhCSXBz->38Q;G9yUKbzFu>4Xu28P_nQvn;xYWAuQN8Q%56NQSr-1Y^ z^~VFZDlgBE#xhVVQk%09xe>l9eFs+i(+3zR+np%x$bOHHkg-U|5-8Rx34H`&E)2=- zg1_gQdO)VrM=^t%1TH?nKF_{>5H31v{Sp{D(?Dzg-1WvZ%$;&E1l@5V9SFK}3+a7? zQJW~_D!Px1cwBfko8(|8yr*>Wg%=&M<_OhBQe*CC!4mV&luXEec@&Ft3{UUE%fU5Ht z1-VI0x;pp|?Hq{vx-XIma+sg!zi+SGhXl(@Dys`4CG*;gFBXXfityuU@P0atI+S3Z zcO#r0llAlpZ=_SwSjv3?Rf?71`6BUkEml@O3LbOfZ9Ssa>9>sP4;YAguBl)YG<1+1gcy z^X0L{L;VIGVk1VCZi@gih@G793f6JAsU2LX%Ex|YbYq#`t)C;P3z~Ec_7;Wl=KtK- z_*!>n7&Jsj$mg**|3qm|x5Rt+u}`<_i;{w8ALoI^4? zFeHiV2N5Z3-2N8uxUQuPO0~g(t@1qdCiK>nHdmhSvdIS>%WbsiM?J_T^vX69E|pGC zA+1H{y7Iza)rC4RZ-NL;v)5!!lTQZ4I^NVKHl=LsVbYeqXo5fkc59+|5|PG+$E=Zh z{M}z>@qWfCXbi~aUt}RmlsLMe89G-cI@b1WpEf{cNU7)k9dytqkT8XEaNcnW z#?|YMJ=guJWoA6!RqZi!V#dgj=jYRF9+mP-{!Ys8{Z}4a^!9y5;;Tp~yW81cE+t%BA|5va6SJm~^^z`XIb^7a> zsXlckDHHD_8#_)5z*r60gzHQu;*xDDCVKr!9gU@c4?%;HY%Ii81QYh(z86IaJf=E} zH~v^m{IzSd?VS2WoC7D&Ns{|b3`xbFWK-_eh)2gXxVB>|rgvXv8g+|cz$O~EBm1uS zFh8wUG-EA<)cwJ(Vt5^yHR_Zr&wZK(sTA`l_7)DRfJwp#kol`TN0M52AjkBV^_-E_ zjaK!~4VUSH0MhivM@C!gnJkl)!fbs!H}N!;d6^K4&JJu8^_f{JS_$&qP_@3&F^9q7 zrA9$&qEZO^WLQ=sW9gi#c=d>^h2wCf88<6aSe42Aa-mnR{MPk)A?F)v-wkDBRKo}< z*XGgf5x0jo)H7u2T0lmf4(JCIz$GLE=i=&YW^4!Nv3jB15wpgEu=$4J1$rhEF^_Cy zNi)r#s~cb|32m5gHlKIZmDEU)bFlpLQV|yklvEeCRC#|Wr=$xGa~L|AdsK89>-+Do z;mO3|D>CI@Pwjq!rD4(ti7vUP4{@O)_{N~t-5AV_31yJ}$~<~7jbs8RS5 zVq)Z1ms!(~FTOfcWKtAGlL~m383@s5lKsC>aF7qQp+F1{4asn@)_iF37N}yUY5^r7 z2Yl-CA=~M(rFZN7jA))rOu=Hq;;YlOlgCM%eD`>*pM&$PBA)p;4v&|K{ICRouabTg zIw}+G_OXN9urA~spvPs&$q%H@lBh`LA`t0ZR`9Pc_-u{9o68Q<}{lMkj? zw&W2Fq$rhYgvK!;%17oh7=LvN)b8mdBEne#UfI;%yoFVJenjiB3eNO??% zCrCmi-3R&H%pE2e1FaJsKV+1A7EEnl=ZE^1%kPY@eI zeS-b~r>{yx6+sU|g%3l82W>)y2aE3o*x3HR`q7hjAmBynys9b@p62ut_Lm~YT83q5 zI^X9?3u+_0qBJ1!Ug_$>pjFlAIFBH-HG)perYon2ClglFa7&z9l2wNLoKxpeSFvhb zRc?~Dd;!S;7N($Yxb?q2tzHk71P*wi(TkLk=SKEd{+uKongX}?C!eu(Y(4r>LFHXR z-jGXEuEci-rq{B~y+=?vv*fB*C02z)@qeh-OUo;NQVss%I^tt$&;lwdoVh5CID`f!!aFO_F|X>vR=NfZr?Pz5A^FVO}@zLY2xV;oB>vPMaQ__4bxD_#6VtldtP`HvFUtCcwB9}krsNC>_H?9^$vAm$G(NeG+ zqv*+QEq8?QTPifO^2J;XWyt2Voq*DaresOsmw&yF%ua7qV*UB|_LM5DQAt_9=pnPQ z+xvE*`Pw=QrZpc4Mc4{GEMGo#wZ2scMXtDJ5m@$+D;#J2R(kFIvsd_u6E|g|BL9tU z(WyYQ41es@g>#sGcI)ByM5izK553())4*<~_c-l_-f}O&;8bnFj3{KeXnC z#Rn2#+>uax|5A!(4Y|aM#$mObH||q4oE>J2+Mbz-ESnte-_P>Plk~R*DLUEU3Qfvo z8n-Q!HWOnvCW&cD2nqzWjh|d(`9cjI9)l?!)DB3yOgf=mG;ao~H~tCZA|<H% z6+L8l=Mkzm^S~h#=2dZL{1b-$R-%7ia1SJLb41V@>kTtpBrAe(n+yK>craj~%w6|< zqS)YaCxb^Rv6`0EIn{EB+tF~bmtyD~O#lbOq?|jQ{lNq$uHi;to2GSK@NDBtba=Dz zlq#v494xr1x<5PIpk^WKe3E!}uld5kXooDBBi7YaoRX=7@mOuM7_GzJAW0Ci_6@*R zA_7;~wmwO*o10)`d4!L`S^caeyS1YZYh6pW`ns`l+g7dHn-UgA06vR}!tNpdQrOKf zFM}*v_zRv{q`I-2HDz}ZbdE-O%pKmUXSry!5?9R|gfD1~_w2&@t$9~@w)C^RjK#8v8gC8HxdsGQu!8tm8@J(=03x8lQa#Oo% zj7)MJpE%79PV$8pG0$Di4NZ^|VI2;V&e!u(46T$yi0@Mn71rT_uDReq&4=aznjP1h z?9b6`2=7(K18YCL4_5c*PC$+}ab?4GV`xE{P=2f>t!E^F%Xl!-I*p;*&;b~;Otf88 zn246fDBMj1iIG-~T$c%OHfp@%s2v=MyD27W+n~nC_igpN87W*|i%uev4y!$?VMRFP z)2$JL0gENOEQMSbh^%zrO3@HJQNwiSpn3?$;a49|Aodz*q_;*>j~w0nq_8jGa+urv zNk|}@w6ep*6{TQ4Ve_Ef`~dAgiyGoKf8jri>_1D~5C5xaJ}?hzE+ap9X#_=Hsa!X7 zZ^Vjf&eEBarlJkf!Eq^X&}+8d^S!pGD#Y41rgpd9J_*cp0IEG5sfhs1`goJdHQ1i2 zpK*xZdV90T6~ex#pD`>6XKgJhrg|c&`5;a$?2)Tf+>*UwvmS`fjge)Q=$;Q2Pih?q zU#;iwZ(R`|8Zu7E-C(MH^GABv1h7{fA16mR;zKM%GGS$_iB+tZ|Ah^0K-Xk+&n{#gAC z4^oe>LE8pc$ikZ8uZ42SJD;{7n}bY(5EU(Na6v4@&~BlV@Vc952|=^|Cu5*Kne(XK z=}E!wptMlWT&3jx?Eg(3;r3cR66j<<)VRY=iMV%{=YLBu^zF3$C^*= z&kqvkS}3Gxr&&kHB;SJEb$%2Le-W`3*)y2V(SQ2+KfR$Hdn7{H>8krS>9_bSbG^XR zBO|luaLFz_;#7xcpLcxP^Y6j6rnX~Jdv|6I{;$UgrfyWy_UY5kUupAyukU!)sf5LC zb(M0F?rk-AZMWIM!`Q=)?0^|*ex9#ynYz@(hjEOZffpSmi8j7+ZJJC-zHl|SCSi-R zEQ7w=swVm9e&^AuJ*0wYL*v7;*Avk`cV?&O+krd5Cio`Hk!sg`O_k$};ZUhBZ~iS` z#OHLU-M;D0Wnqaro)I7H9FmsTrArSH3;T1$vF8JkfQocleIY(M`;}5wkA8_9!s7tx$jb$5!-2H@OZV z&*?&*nzQ>1X(8s-$d&C+i->%f5%#pzX#Yy@`kU_&+3Y=KM!^{LGEhjM26!fTI^9p> zY2}b9P?5iE(&0`6N>kNXJg$giyIOoCMpM0-8nnvP&8ke&hnTwY+E)xu2bd&)u+}n= z|AoIymDOYTJw-e0;;JUtxS8wzgK_(FPI{kgHb~Pl)pTTtQcNzL^O1Q;C6XHzCQIG9&cl`P-vww z4N)LXkJ4NL`2lxE@*L;HijDF3@JD$FUZ&`8WYZel@h=LLR@-exqna$ZSB7&J^g|HWKu*_ z-%*^PW?q2EP|H?*&Wrb*l#yWrIgBC ze^ZL|a*qzQ%kihAV?8Aig9ih4-oKJnH5=U!Oa^)R2}?7{Xb61~!Dt&xO|;+DZD{Sq zU6|o3wgqaHV2%p7!z)GyuM<36(aQ-PNteaW(dgwt)oeh&>%TX|q*C&S@0QI<_#RG) z0YVj7A{ZfwJi?oiKje>Dq();6J9=3~krY2FVFw9mdJ zDc#SV-r`#+gV78BVd{z{YFG!j1>u@LEn9Iim{#4)FHY%e7|!Y}DIZv1cAX%4WZ5^wLR~sm7)-HLX2I%po5cU1i(Ul-yb5v9&H*2~)qXA`l|Edw1qc$t5qph`6ulx`*l*iCRc zJ-!1>5m}nT#W6fx3Pn8>R6^7BXc0rAyU8@ADX%}l#SopgjAAA6wdg$LB{R>EI|O8I=3@X%~Bg}?S()w$x9_tM{U400WL1i z|DBc#J;hjjZnTc8s$-Kwlt|MXbQlB*)+`)+1~7i^KIk>osGdRg!EXlVpKrdg)-`{M zFeu&CiM+9^i)p#qh{~VKo>zWD3F6?QeYW=Ov)~BBd}gxnj08mlAvec|#-Uvz!-iB4 z)%N#f^c)*O+d!KDB;9ZnR(h(NJFy`cSGPu_91;Rpq)f#>j~h+gko8&@(f8 zk<#iCys`Os2P*x!wMgHwc$o4mC0e5Ld6CEA;`UTIz}9sE3|Oyg4+?5z@ExqbN5=H< zJ1PV4_YWTPHn`t7L}HCpAOIt_oNK*p#scVNZk%~$lCj-96i0Y>e>#=S6ltteY)AV1 zSr$>5W?WJ_3qgrrg+0V!6j2y`C?VPyP9+)&;`gvm?6uQEmSt(vp(7;lQvDT$sz`Ao zB<#EtZa6By!2YyMgludk4H^lCgpBMS>H4Upo(8E64)q-|T{`0@t9s};hhH11H;411 zI1&q+ObU6@s0!m{9*~RdXoL`VvCzfX4-kUc_}zoQ9}91hKXE6pAgz_Gr1uuSN#~5 zks&TPIua1|fy|@_Cw0{v^SNC;jZg%^iPo<_>1gFfQfRFQsOS^2j3eDcm)IZ)ct8lV zGFrO)jq}vph!jSvOC?)y3XJsT;q5d#dz{i?LHaa1I)ze1x zRD&Ww;1^oTrV&lek_oZ0dHg4IE@bo(g8;mHi14xqyl&hQloWnR1jZO|5!o2zv60mg zihSfjf;n6>X^^lF(d;+xRlZtAMn)n#Syq5xwuXU`h;R?3F!Ok(F{LpUw3Z>rG72Gl z-@#OuOet@Gg9Ce2C_Ui^{VJM+s&F%bdR!`j2j#xU?RIV4UIeJZ@C}B1q@D~VB>bN! z9a!FM+_(^esr`buy_FPCIC8jr9s0gl>WkhFJwQb+~#ji z!f=b7$o-Tlh2#ly8 zCB_%|2i5KJ*tcn1T4#QL$St3`*Uv}bX|1i;!LVJY&)&d||_nX0P_w&-5PT51$7{BJbAMoyXL*g}$oI3PU@f(!n9A z1?(36-Q)1Dn7Su1hHXk+;8}iK1f2OrSZUB~Wj>z?2Kjbx^_8L4zMw5}vN(j~wMuEf zTtTh5CPQTlv-^TKL{;PycvJK)SIKxavVvJmuGmHV|6*N=yZuj{4L%aI< z8!Emk^c;2@olv0mKq@40{KYs>t{)khhayz*gQ-t3L{wIIUUiM|QfV#3iCTSau|{8_ zD5(eW6y$dzjq8AKP5Calhh{sm$KEoIK`C1xyn)l|o|xKk;p-3W0qN_q=h|)Z+VL00 z68YV3q>?Q6fTJI80oL6R>c-`@zj~EIQ^?P`RFh9cf`Tr!sx>D=BE?U;o_*zo%5> z&e+BJreQWA{Vgo2HT-tuaiB6Xc3bntZyT{|KoYar8a1$YU))DcRL$_X>?vIT;Szc? zY80Y|!;$OQf8;y<55Q`;lG*+LP4?DecvjLJ6F$N;9tB$=OINgv>{fgcuG^rG^^>i^ z;bYajyqOOT#emfti;<4^1ioX=yT8)?dU3Y3b!b*}JaOu%AN8Z@wgv?NThNk}>s zMHJShY=&wdNII{%uH?_GH%wCc%Kgl6!Cbf5HdF4m&N@^pz(|U!~MVy1GJqXRahZ zR$4)Aq-$dUE=^CC-OpjlHl^)<(e)vkLTKi^kzLIb<&`gP~A}UDPiEn3_E+D}Ie;_CFu95NpSKri#3 z3d8bV6}t%CkYZt4xS>$qeZ`z0q03muZaWqH_r$#gaQ6vb?n@Dw{rYZ2JgQ_L)yWLF zZ@A<3JT=8*Lu}bCoxN24sHT&}sa4Ik5GW|YP?Mhj-AZn+*@Rqe#id#>%9VOU6DQrd_0@IIXDF* zQPs#>!+9e$d)WncH6(@PprY3xWj!kX$H8%13L3$> z1LIJ4Pcr>DC#8?xRpV44_~*H9@LE^p0cOy*+l^v%Hxh4Suk#%Pwp~A7lLmC3!FS)c zO_^c2yJVHjH18M7&a0rD1BQK>w{zavRMwLd{)tXu#}7cO`ZZxUTyE_C z`pHIOZNcEpB%tHjRh8;dqdF$w6I*KF_vRcrlXQ~yTXd~}28WUzuULa15+)(T3r;au z7uZfa+d&^Toe_qyuL$9OftEFMcXW{GGv)4uAPxjywQ1D{88CQz2q8?;_w)MM4OO&l zFs(CuVG{XluWjZkI~YJLXn^BOt*}D(%pIZ689S|5I5AKHVcM^JGFtHjEF>Q{5qgeg zZ`u@?9K+TekS*$Fwi}opbObmD>4vJf&H5qyJcn;Fzx#2@Qkn=;w`E_4gl|UX{0!i% za}nRQf>kf-ST85mIZ%|gMIinpR- z+a?tr34g{d$~lR=f@>rjy0)k+68Sc;=)D^mIM*%SzB%R3wMl^5X|X1F0(5;oY_R+F zAR#ARE!kCBc|Sb5GHzgY+&!KB%sk6n!tp#Qs$?l-2EdTv4Q|+-6f33Nc>>*4hR0c+ z&e`dyg&J_`HSOz+YjUSVrxp;YbMsuQ8KJ&m6iz@X2l7J`BIjMen#M5%V}Y5%*Gx@7G{-DK%kWJd_(5su2*UPO-YcA>19ipP3PR%)3~e?o9P zqw4nQ0QIi6i14&N_>Ty#X`;pG)7#Rsj8GYT>0J1Vzt4G(eP9?5AvjljLK^=@@?#xbaE^EgS{T-_r(ZTF&``HDREdnOuVSk`3(m7o`#}*Z ziv&@>g!|6yzJv$-13ixw?m@ukui5|YL;Ij#! zb0`+h{z7mah59K`FU@PAyY*!B+phF%hNrOsCHSuI0*D6rBNd|Y{%KDd54%>ru=nuS z(}M7q@Jvl^R-H6L6jalH!2(g>>|3A^C}M_;jgf|o&YM^`I&Tnxd0($1*?VqQB3C0+ zeRKV9>_VPWrFX*$1Ab#TGka5)#346Ca1IWRlzebAUDSWf1rfl)!~bA?%15R3Lh)R=^nP^pOS6C*4#)@tZ$u5myp+sBB8SyO0c#2bx}i)G)^+0y!wpseNQFh!bi-1NkYCu_ttqE2$1#hcG=*=+ z$8m_nf1t{TB^VJHVB!!p+8o9^v4TthP%^qu{m_}ya;dl&oy=#<^M!zMm|GQkMCGK| z+9CRCwPHb#8m)(sXFkwumPillav?%Pl8P4}mG@OCr}S7PNr+(uJ0y?+vJ&*?$YE<2 zZ@8@n?0r#sDSq=XdJl0(JhRwN4C2%i zw>p}BixE$yAgzPhJ_&VZu?1nConu&9P<)vTh1gLoY)$P^l|9uMV+@}^!XjMfhJK5j z&pIy~8*f^5OJvxo(ghkdNn23daYwsa`ViH_0LKl|-Y3ZF+CI(qAZED3ec5$;!arkF zr61FLQpgYlL7OY@Pz%A6%i}MwtI~M*hQY84=QXPWFV0m?0?TX|qZ#h6ysml!b4YD$R9HWi0x3uK>J7cvE5;tX&jux3`9Y$kH1!ZAU+Z`}faakj$Cp*7=Z z&qo%P6x>2o5C7~Y9KM2@;y>0OrY}z+9Sz#^>-qU zE0oe#7c|GwKTG+`^GM|%;)Ups_ePVdBMQCS_-pq0iXF`km|fk?z8}u42R1WJ;QrcD z^D(S|Ot(?Y)CC#Wx$6gZ6F!*2;hr;wCCm_w7+-m;=^(N(-AOkxw~E-x;~!gV!Pho+knrzsjl~zp&a1l zh8cL>(H7Vg`qJI>`#J-@`jmkvFYsR#?Vo#fX`4{BMEwX(K=hA*=9cHDu8#|0LNYQX zvezZzucM=_Xd%H4f}p8lp`5#jJ%<(358FEqSxFy)KCW=ea9=hrCk8W@b?2#Re2hC9 z%-uBUZ%&qmdQVf87uzj;i!e-aup(BeWT^cuTV3y4%3lvdU7y$Guj0OM?^mBAH`0RV zCs#~D;ewc0z(E>&Dvi{$-dE=>fOHZtUkxobzf>%cvu-~}kf|u7fDRuf9fc1cMjKh< z_?%(9qPNz=i83l1s;aAm7PTwa(#+)THdfkRc@k^hmbn{}ls&8}i>v)*^2AL2CDZP> z3!RQFyD!sWNhXao&>0>|{TKR2I|-$m@9bUa0od9Nz#YY9pu5F32;Zesg}aUwRP|RJ z3KSzcIfGtXnoQa(nd#H_#tv-sW2&Jd;aSv76P=f?-2GuH=Yw0}Xqz~^I^!9XjDc(o z5%CQB3-S9Z1o_idMjy>hP&*E_^Zvko`2+ASTrwL%r^~JLPv*}4S~k%Yf1klmPLP<2 zTao~n;X}=plEXJ+Y}NB5Hc5}lziQr&62CybGoEkSzmZ8BoZ1-@y}b{? zYF5f}=Kp+tw^80t0|+As?n>@8^`fpU@3@&_m;h3CVH^FNCfhk7T|UjsLtB$ZtI0() zUh}olg|Fq0yAk2qd7WM81$)8xf>k@ck1^nKOX;)53y<0l!&!D8>cy_%E*lWao8T-R zTA0lKGC=3O-O?qKCi4EGV|oT(T@}+Vcz6+bQ6*klnYGtcs*}{@r=BS&(?{bio4Z=s zbhqW*sL@Z98gKN#lv3O;>21EKsNJeLa2;}2#3R26Iz^P*A70un|GJ2&C|KNV620SsId81S3lk}>`!T8u0ks%N>aB%Q*_x8ZPiyC2@LQ!!(rSxYr_K~+bD&!?-vgtN^-|Bkmiz215wLwQ=uUrsmNo2yvjY#AcEONy01s=i;#-~QMfD;`2x+8>6@RM))B7>=*9|Hpel zSk~o7s5!X`?}HzKCuKbIK-JP|}ILuc{j?ApHLL{u{q$}P&F%lX`>pl zH*nz^il5-Lup?MmckSlp!gjjpf5^3SyZ897JTK1JG+L}Ft+*@3=vDJ#?=LT8hCVMY z+BBNAE&bq>WSo-=Sq;gYCTrr4jR>06J37RpNfi&3C}(6=AhVxF*`^c#^!JRch9TUTvnc01#p!I`0 ziHN%T5BVy7&csYmhLkhj7UK#dk(WWqkWB|I8)EjUYn0myFro%0J_Hu){d zyIOvT7hJNYVTt-HRjU?sJMV+g^GGn%Hdxy$GH!JuKtb~O)VlST@*j4g#br|>$nP%Z$=}@A6(=?tHO7n&^GO0U+-gft z+=#we?tDv0GN-LwR&g??MWik9twN8#V~`5%t>q}(Hm*R>WH&e{{*ATr9=~+WHT;)> zpek>EeKN+(P}B94k4^K-Vy?USq~+~1rA^A&+Di((eQcwJnZI((bD zwua-^O{H^ZuRMND%38iJ0BS#Lq-JX?!?jXN90s~ySwCWY5<2cq=7LDqdC$F)OAN&a z0qh}if{$1vluX>)cBDdo>1W`IGUHV#ZH@lY$3PGT!GxgzjD?kWw{}X3QE(@zL&KTr ze`SBM^4HIcSgo_#R)fu9FG`x(O5XjAvTWz@3>htkbq0zcUcer!SNkhxP3hzQ*4$dI z7vtj~I-JsZ{(bb}F_ruO-h6mJh^Ek+LL5mxTQOKrAM^e<@WFOc9j#@kJYs#Xp=!5R z=sX)aHV5dt_Yq={{Htdn-=@hsfwl6>uIti4v)_vh8tx+dV(OyV2`rOdjw137wwEGO zH4uLWz{j7J;uWB7&L0fT5f-%Ex0;LEj4_C*y-41>S2D4-wta|Z>&ut8baEo29zOUL z{>@2{r|zeoV3y93ssy9g?+c6j7_ZR=8*5X~K4mAH=oNQy9fy@{fVf89xkRuP&ng?a znRygSB_DsnrGY3g*94`+{`~O;WE4MQ)kNL_2xHM_OzDjg&BduXI07$`GPM@U#gTEb zaPTUyrd8@xMXP|fKO;!3tczH^Om}Eo(NcDiqSZ}#g3_pGxMKP9k^Q9dW^$tXl1)h% za`k;u^$C9kpVM4R`BU}YgTUpPUm)7n4sUkNXcP9yNw}?E;W?fZ{>MiWTy2>VI53et+Cogtn48>&-3E?!IQMb`T6A@ z{7+})z3)?2GGY23Vc$QKGgeDjM|LOhb-~ zFI5!x;!o#&^n-x#xs8EFT?vF8yCtKdKIB4NV%Ds; zLLed%vyaQOYsQM&iGtzoQJ~)<35AG3($Eg2?jojZ=Sf|(Z&SAS-|W0UM6)Zw4O%A| z%QogVu0PmK_j;OBB9oegs$^d=A}W%ZL=*1^dDX-K58M`~v!BrJ!qht#7e7t4QgGuXYqBr<-Z4`ET`Vtn_n}gW>4ubwv>3bw z+kx(shPTKQCue5_uxAIWm4Mxp3Y_IycSBbFCz8nskayiiBR-M!I>;b_`!_FK(1g8a zU(qG6MgyqrtvX0>-Nh4Pk^bjKZe888{0g_47+#&OswR~^lL*zF> zfS&owaXk`H*@(}>9Ux@gvmdrknr)DS*;ZLEwW$d?2EUZA1;u!BZ=753f(eWjHPRds z%0~v7faNy@jB0|3l&GaX%2B@e2o8I15{?@NdI=G~+TH&&H3-z_SHd&O=eQGr{F4sN zaGd?pI5e$HnwyaIXM^|~k39dWD`k57!vge|BZB}iioX`#_vV;VEx~Qt6qFtGv(t(1 zuOKI*J8IZhUKJ%mysthL#0=qbGO?7a56^&Iy+|Wc)CwPjRg=_qT=n`v^LlY5C4$Ri zCL2-aS4;aq!82)qBv#AvF+Ch^3hSxQRFL%pTD zE_sHeH^|+5!?M~vs3}!8ldo<1j9~bGUoIjRy-IGIZ48X~j_zh@c(2UGU1NZTjVw-4 z)9l9(M`FMw_y=D9vPqmeLLZ{qZUo@tpBRAan!UbA|mh z?||%B+*Op5(J;?&a|q6QV-E-3)UTVCMYz;6|3EA^@$Y0tRx}S=CBa;;TJ@eDgBq5_->Rl3|H^XU>*;M+?vTt!F58Wd3Jz=wb`-=yRux-tL1<**96&42PUq zoM$J@CN#gs#bIJ%lZJI1)8M|yAEXza#MkdE53O--PBvPzK30wLgHEB@^)eC>InaNX zYkdA12VXi(6G`)j?f@_`K1t7>owI+T*qz&?P|*~NNql;1Ok@R?^v}O3spA|kp?Dzo zD3Ly!n)D@jRJJWwQ)Hh_*7mqs%<@SdvCp-`)YT@%O&{cjX34CSXacW z&-&!4*ia?>SB$;Py`1f4d#^CA zSuO77nWqo&l{3n>zjQO+v?^cT2bx*;8Y#T{bg7Z&WEEL|_(eT@feM1??f?6&0|Shm z_1_*S83Y>(8&_gHF+RY~%gOz}Pv-pA9jj$*vip5R?}dZhF1gzyojfLtk_t^kscL0J zU6xcvL77bd(N!}&;obalyg0LOU>^w49ReA5eu+*VMoz%$%tt28aVsi0Lj!G56FN;A zF(VVE6*c2%O2%exIf*sx$pY zbCQd)9g15>b6oC<0{yL=%FMEc6`IyoB`!!!t^QOLmq>-fN;B%$%{ED#6dzCR)1RP- z^$|xF`ohP=fhgUvl$;+zsYW6q#CJU*9m&X*u!>|H` z`s8eS5c=pOEe}y*B}9V231!L1h!n~|cUb=_5EiP&B-K4FkS~M_iPJ!Pbcd=uPS=u} zjpfIlnK&H?^|B{-B?w+`>3f@KMVV{R_aa<6O@pII`krQ%w z@VPv0?s_61=E^Eu>qJ_ZKbqfg^e;zhR6T23-6I7|$)Y9TT9OraGb<9=ZSHKK(;m@UTqOVH` z)96J=$)KWO>awDmXze8?GhnFa8A#|wJj-cLleo>71*Y+nrGLLSdP&W&jhX;i>e(zz zya#p!SUvuXE!+bja@$}948`n-e>13`R@IsPA+!WoA^jH6DlFsba#XRV*$UuvWU6Nq zx65*=Xt|(ntQmwLAM{YwNQ1xW#q8o7oVz8E&j$K1F>&AjJ@A#Wo)Vxirk(VKmk@10 z5xwOXaX3(B2v{&&$dRQV5zbfN z{SHDbz8?Dk;AL^~0PxFgEGplTF75gqR_Z-qJA952Hj5Ef#GF#Zvqi6j71^|99AtKz z=JY#2beKZnqX(7!a%&B_4!qW#q#3#wUj8zW0RpD$xB&k3Qf%EAC5tNoJ4FOP9p|FV zXRi5YKxkoY3?ke<9H&ys@Q$hu3`p#)7>I|4&`8`|!>_s75`a2-Zk4CxwfPwI=jM)5 zOxxiAnt$75^BwFQ`lSGqk~>p%U*>Kv+O{J5ee|7c2;H=oL z-;p%4hb!4d*7d_;2<0?wSP00>m=meUJ)3U|b+H3BxcZ)M!lLB>v#?2y^n_c}DT224 zFgA=C_+Kd{7lhnc7MnyXYIKwd@7EcZ>8rMTaM+0t3O(cWJzM0>G2nv5QHSoMAd z`S&}Gu5fpGg7%`wUo|bX{u%~W2@;!U1~VpTX0F4*jw)|wtB{({P?C97?vRUJ(W+KB zuzYoGR+8#Mp&@@NIkc;FlI!xyA0n4SbWji}^RMS&QGlN3oPd*iOozR@0&S;K1~eRNiUj8ZaoUg2n~<| zUkpzT+~7RzV>I;Vrr>B0VW&z>m^JYf3Wg2f#XYuz5m`;$ANN)_x57I)a3jFkdG6aZMWM`3wWD0ScYC$_n=7TXQK|z^HhYPw;PPV@_49=;;{z1wk0ywZ=M-p~j|@NY zwwOU4GTb5N^Y-?f=6t9k#b18x?p_9X`P?0!L|09ZuA6N!f&zk`%sR;k^3rSezXB(VjFlv| zGng_)2D0?9CEB-j#8$TjwjUriV{B2mhWeqX@7}FZKh}dE4%xh7IDfZSLrspS&Zy&V z4hgo3qHoB$+i$bU-I-yaJ((oKHb<%Hi-z-4hF$ZAixVr$l-A>qFUhO5r8#*ZfdMCl z{0`bx*FSNCAx7BXa1*vrLfBq=bh+U)n1WPDze5I)mc$x3rnN7p2;u)~YN9tmMbnXm zNjOsLQSWa`4y>tfF2g|Z8qoaX*aIg5!IQEjni0E(95&dAqa&`f#|x%zx0*tw5~Fn; z?gfg`+nB#~PUdZpf3@n*H6TKl%s%h+ecR`y@{m zpPrM*&isyCrA}kn+NrGc0u1o!Hp0h`GCzMa5DPvgzd);`=tihX{=9T>axQZ1GK9Ug z>(a$U(&)3nCGvGc5IpBbeBdr~4q3R<k`v0(#@840`VJcfi)0Z;#z3_9|)am z&`klUIq29%^lWksVQKQmw2wYJ9B_jVt52Xd89@&&ad(8tts*1ml{;e00RQM{AU2YAGd}8=z1XOGQwdo}p|}?4fq%Ux+5+OFB@?6S%DQV{5Z9EG3sm$;HfXT8k8<#175^FLC%0LNl;u%$~ZMeaci39Rb=#bJC# zVxl=jrZ)+y#HGLMfG&Z{TGL&c2X4<{C66hDDxcRsXdGbE4e#{%GVFT4?h^h#RJ~(x zXF<0;9CKn$Y}>YNYbLgh6He?*ewo;|oyo)#+qP}J^W69TtM2omyXt)Es@|t}t+jUV z)jfk*bmVLAiD;uo@i96B-rvvMwoVuLuY7HBD4+N|s)73fetANLP8O)bYIUnq*Q}d`{eru}7(X4^1}uuzd#zmep!&t2E7N@U zd3^F_VZY~lVq?S0z7JN4zxP``?xYWk;C1e#Z;NQoDpv0|m@U&`(TFQ#n?@V*uMToE z=TU@o{d#w>w<=ZQ)E|Hnz z(-aWJ&{kLOk56_UO+$;KQzBc#pq(+Hd3@GYLpT0De03A(PEmCHF144u)Wv_vGW7)NOz{xf}JVlvVc0 z&0E*b@Y%8C?}t{ym0b_(_*KsSRirzm3XZC>pOa*Yr;a|>?j>32ObZ^EjsR}1BXQ~T zm7AbMg>jEj(IKMibsbk)xH2TBbb z_IP`~+{yo#5j3kSI&PDuu1wB1dYxzkwkmXvpx42<5x^jYue_>&!J}< zhK}Uutk|8{%v<`A*flvB2JRc3Gok?UmM`aQUP?4xZ{and;*4ifkGFQAj{y4VrqLSR9>QSb zyo>wfk%o=qmiv*|kMFQx-P6W!<{mYhSJU`@P|R_TSER`xe!p7fwe93Hs5<4z?KiHB zA>;g_u4k(&s`XRi37{dM36g9O$!~h=e8zL(Gaw-IesuMMa}wY;W;$r_%M|&5SK8xK z{f`?11SbpVGY^syf}Q6dYbO9$*#7J0QdrtZ;#n)&kIVXCY?A~;E^fCO^xfW2hZ|$# zdaN21XsvE>ZdE9kPgn4gXU!VxceXBxO2hSM-s<_?!*&VkoRxf9176jmgnVTnlp~31Eg;Xd2HH`xYh_AjX}-c3Qj<^b z8e;xsYoPN5p{wz>;HIT|+7aCYhk|KwPNk>LsB}w?Np`e%n52GM<6H$S`Vj zN23x<-O)}Ct}0a5eBA{mw|D#8C^Qjktdz;l1-Ki$CI1qB=aI=gW&YMrFY`$JDRK%m zh?np8;02vbb&JqqBVHedXMeJfWkeWF5Zz>&h+%lHv-fQX%$FzzX3KS_6!K~rjsy1T zs(hm@=oeoi`;A2$ z9B_hr(UV^LTRjto3b+4wxHv*7wsS`y{JW@^ok>k>pwJ8fKM$sCIH}@}Ca&01RTybd zxdnF#QJ_2WK*fD>j!6Q;qYjjiEmCf^iIZ6ra(43WeLDUd`5Mm+Sh@`_rYJ=}3OaT;JXna`qI_?59iGNA-iTB%4V1jz+!-P87 zFkQWP2z}6&Mm&ux!P+Yl1)-BE23>E&BTv{_5Js#R=Ya>KhP^sY8u*05rX;069 za(B_@eNgnCAFuY-Yg{>Jd{eL$5FEeu3%>Q0rhU34-k(oe5BJE?yc=QlYSRDQ`{tS9 zq2AFCyBYaSpn$vnP&4iDup3fX7J)dB{$mEHCV#b1RXhs2^TwiX2M$XDx`v}aXV$u3 zB8f}9<`@FRUaBO7nlu+ZpJU95Y{-m@?kah-?iwVz&tk>3`0>=~?Wu0^Ko5pO+*vbh zpNo3!ly4Qq&!ij=py%26yGs5}44oHRAds<{l&{#n32=6@zQ51FOEkFTs9{A<{;0<_#cx>$9d`KR|ni$`g@zuAY( zFV5a>)~7LcqX!YE+y?uRui5)kluOgPh|#%w{eGeYxBb-fdBWeUL2=@D;ArAid}0OV zTZuh+L6oopaF$vdA8AK<7H+3`8AN1IJ@(f8*H3ZGQZ=>iT=*)!ei7s4uclB30{gU# zMbEfL?`g+de4*g}tZKv300%eQwLASW%FgEO zg7T62P12lmaT`S=j7y964(4Ze+egaR^j|oh<6|8?z_Z+5NJk~bTZSFwvvv0J^exHf zIsIJ7+l2Wd#ZX%*vXDL1^?pgk!55FhG$R}}N^>(+Rny`2nj z6a$G@z@(C(1LXXy_oIWsYDwCzI$W%!`9qgw$wPS1`F+`5C}`=-my>Df$!;+?@YG2FY!E zD8SD&S&w}lWXZ!OgsMPE2$PmrJabnYSZ^Dx*U4ARL~Q%x*=uSp;m8kglK$`H#Lrgq z$Snm+G}4FxgRB(+C(4K1pQi$H7rQhKM}>qI6Y!tz=|ci`ZdrGIqXH+m;oAM0A1L7v z-83b0-V%2OHU-KwxlEFn9&>?n7D6^CG{Biv+cA`;kXvy71TDUxsdJo*8%p9_K?@an z+(BR=QQs|ELaay93+sXGN}M$k!iTAmnJ^Vy-c(tn$BtYznCXoFlJe(u~}j0K5UY`U064Q?v(iM;YNgPRnaJFaQ-{ zpbTO

;p!sCP(t7{sg=kdsXE!h}Btk&D!7cIj8RD1UAgFq#SNJv==F{X@% z;(Bm4&mt(WbZ*ONcHwvPO$dO#7|?G_MnGeo94p%^sD+k9cO}>zo5C<`)WvB3(N|np zUHGp}(?i3<2dy|Rl*u?2SBDz+Cz#q-Bs$8r;KcnG)SG%xWxrVC3REdLgq2G1R+r_s zSOP85q25`navM5KGES%7(fBiDEz4XPS?yf9xb~ew%m;RbI1!L@Wv(ZVAdu%OJ!SPX zOe`q3udjS~2~mI{9~z)ER`p&fLumKOS2h!s@xrUnT8Zzx$Nr1WNVCYk-9?X`X|Sd@|EOXT#Y(gbYR(S`A5)iIqoAp)G-k&II~g>DTo}C9|!^p z?F#qOwq)ER!Az^axkccOW`VDJ#XINd+yb{iC-pz7sEn20$Fa0g5!`7Sr`JMzD46D`ZWj22v&*8;_h(>)|6k<(%X!SDO9zo#VR^$ z=6pxI{Wc>P#)~Sa#iGF3qa)Z7S`UKdbX2 z%1>|xS z?3@JVF0+#C?tQf3(PA^1WUsT%ti+$skB&W`qEQr*O(_y@ACI3sA1{|Z9~?VZ`)fXA z9YD75m8E?1H)is0=kgwEG^!yr&$kNCNy4`v*TtT;L}7vDK|t_^bG|+Ck~gT|_IVwH z^W`>^{|H-1p4Ick^{;C|&Qs97?K@-AkQ8vu8Q}R&UeX-xcu{6Iwm|HayT0_b|sK9BIo<=4rUWn&r1-J&ne{;UvwKMPd z8g~M<)y-xfD*^{08eG%c9tzJPJt@9-0$9F`n|6h2TsI@#KF5|c?>jl_Z}=Y(i7xBI zAVB+J$;D{mjHEkY#F6{Co2v!(UCEDo*)Xuja6A$paH|m}N}r5~4JdfFFYnPP-~GGM z)Sh#<`PA00e*cfG$$ReJ1gHm?F@dC?4=AnsODVRnMB=%zc#sW1yH(s{nA+~%fHu!O zNVpzEYC3BCow;Z3X59PT{8cC)hk5HY988)C_J=UXW9RX0ztP|K2?GYKgbW6_Lh8k&@lr-yy^|Kl8+R^oqFNR5yZ_UYX7Ai z0>{Yd!yQPpFgh407f;9!*_z+c#r6A8M=Avt61TR>;Y;oa_v+W*go0eCjcciV-Yf}J z&f_d7Fc9B1Mfcc$uH*c%v$mV)n!LyEIh`a2o)1#pGs^6Rz)y}=G4HuROe&6`h})o9 zkCR(AGl9~Q&;usnmA{|4Im{8U_f4@y(ZUfmYpnc_Y2WPAP?(wgZ%6q17O-0)g6@EN~AohRJzW=n_*u(=9iVi`UWT*T&`ukx# zf#Xyg%%yVuw7SQ)eXhlk>WJ6zSa$|k+8Q0}N#A^gtlk)DeyLi&dKUQH^L*ajf4Z@K z>yBggsr66Z6hcCo-PmW&`4Rr=ZFFhm+JThYy;kKJfNDH>`4+Qf!T)i8(taz(hyNWjX{ z&8p)c+0%9%aTKcdVjP`aOMdC}`?@}lpWOS#b9rxg@7&b%)_gwJue|{}yS&M$QU0d~ zZ`53~H!@A;o4>kUaewnx(?Li^7eW6A3wZtq7I6Ki%>Pd?U}yQiRsNs9vB}N+By=-ReLv)nGM!FkI$zc7VMKJ?0)v`oKO2@VYa((O`Xa0+SpLeo zs`@vkUg~oaOt4mm)oc$si@zGnxc|736(~H z{RlO$U-6{@n3wMn$hOrUjbCgTr9%k+^624I5DG@S?-lII_qA;FFUJWD@cv~bs2jXI zC>hAJ@?y#>Iu)%;5!%$3sG7Rw<7wK<^~(&ua*>|o$yQyP4m+I}%W+3MRngr1}$RMe>;E+57!pJ43dV=@PU8|iawAF$B5%)fn%`(m~eSS zbtut7=+c}ps>1{7Z!!12ZDoe-BE;$c{>o&fWS&L5z#=?c(F7APu+D;oT!ulV05u=! zYJ!oYfwi&9Qb*1WNAbH9>1Uf-K!)U5+AoC0KEZIgVBu`qq1@qYO;>8X$v53^)GE(x z-lf$1jrmC(6^QKCDY@ILU|X$ufSQFB(-iN3R8H3Uu97M&(t+GS?wiqkUA0tYqa;?< zOamk%kw^M8h7KO#IqMu!r>d?fO%0wVLE$3)A4LVjC+C+b{xI9UG$z62X(1YeQ=iiB zL(2QLi6}XLYQ(btII4c9isE+-{eln&r3|t1xx(F&OplADOQ_g=rB$=V47gc^=h-x0 zAq2Q`lE!HiloKjfj3?)4I~=x7^AuE`XDX#M?UGb^Jm9_kp%xV7sz7IjGDM$_%#|t? zHK+N3r`KJcjAvsrTS+>&(w%T6H>t$r zb2Ce*pv1xuu~6nT(ucOJ47`VwP`%%&X}xOKVoTC+)nSDp;zfuTWT~QA>{wRoWxo0F zeftu8EdAAlDKz}X`a}r)*Eg6w)r~YnXCjEO!XF}QQ@Dp-=pBRV7>~SJZ2PfN&3Lnv z9GPBWvWnFA-!l7X*#in}Wp0`I)YI9-&u$5VmcD*D$?uK=za%MPEe7QBF}~YqRm8D! zVpmj7l7b`5*8eteZr*Q*2wlJ7q2!q5P@}E+aX?!^yGn_VKqIderz>bKTVnmBsi-!Y z^gHK(3I1xCKybBqF9!c%LzL zxYk!HGI)91e{_ki@xsfwn#pdyM=1nqa+t3kZv+D#6aA)%FM$)s?&fg+_#F5Yo1VLP z&-+;+k7w*%|VtA;VeUGOq@+WjVpdgj^EH%)R5Wgj`46$#?VIzYuqplT2M}Q zc7%RTxiK96yCRKqOwg&DTnWB(`0vBUs2p)I-1iMDlpSmwJ&$m(=IQ*foy@pRMmbV< z6CYrG+F+R(o50=fW-0zF*TUB~lUz^{#3SjSwsb$sKm64-q%nEa3+MT~?w=)JXtZp%Q{qweI%k<|lSh+R-Xi_a`E?cyT*3*X?|ficU0 zzQD9FdjDXX8}DNWzSO8ooZwVdrD+tj&7uU#&4AjqJP^=LpJUHUJ#N3*-?aG<+6l2& zoI@|({v&g!<3v`u3ygsKe$I1cP+ zf5E2y3KsY5TF04lxXy%S2XW3C>xu2VO&lNh3*zx5{yWE~OZ&z>^f&-u~(H59Bv0v{ath8?~ni{v}Iz?xA^zss@wYu zu!~nF(V_u1F(LvJC0AC3CQtINR{}_m5kX9I(+r0Y;am-yzRjAovIKp0}Ug z)Ig^e_k;Cz+c9d>Qj?G~UXN|g(_g0d#;2J-RXr8NpRY_ktf}uiqn0U~$3w!a`sjf*RkXYhhnnMt>Qn9Rs`yZ0 zZf>XM(e6YG35n&Y*nM6uw_?wjp*?>FKwDub%b&?{^x7447+}Qx!8>~D-sYRI2%FlT zNX!uLNMejRPy?4tZyV-yY_&=_&G{_2|*tZ(N#F=xEGy58WXEhz2A*zND-l7TjMSoVA=!r7qkO_n2(-Og)+-dS1VO z{(fSPaaX7OU)6y3f8YTx+dp{l?-n2@>wh_fH|fjAQ}Cj7-_rYqLN0rR=FHd>V$t&i zPT4H?{joxRFO?#%vY2v12?i!{kS&XD_p7l;>>b-@;v$$gnkxpMk776{Tv-&nq}ZlM z53S@9ChZ6)F*@0qhB2aDdS~&;!Yx@am-b>NdAD3S&XPs|%75;JUY&;wr}fuyiq0Ee zQ(l$#w7>qOH4N}Li1`h&dn=e>*!Nosure7aC}97)l9#G*y+8reu%i%#W_ukv1rhkG zu6hf8Js-LiqL&E3y!zUiC)3!AxviPxoN9-4V3+%MKzA!Hc(l!`J}iuYV;FVEp!(qt z0dE~{AkWQrfV~c_h=yDz)}D(t(gs2^f+xrq8!u4i*Zi0Xc|TeO=^Qkg6mm0)lMH&K zsDM~)IU=RjxnUtg%~cO>FQHt!jv4O}x_1!bA51e|2?`ywnp(PK2H1)(n%4;O>7HF|3;i_`q5L|JDx#yF zh*~Qv1$>u7%qp8hO@OL}1CK$FLZ{r(OQnq4;_y%r2&6`2>vX{dSB7JwP6y{sLQfA1 zSmDaZzqMUl!VVsJzi7b zR(q0)u8BUm!xal8OsOD49bRY)PVBFscWPq8t)#h|7`a8NXMVRiC1Mkpz+?zQb8NoYpSPFwCjh+9~SNzNb}t*ng$? z9a3nVszy0|ZkPCgk%_5;*rhAyIL|4w(n03^LsaAY$RV7lEERjS!7s*n9MKbFXzC*9 zdFjFhF?~Zkn_~t|2q}u_!W*>6t}w_tObA&x4UcjN${va!k;ooYTU`%M>9Aa?S{|S) zK(0Q*mOF6e624vUwr~9(V8Z|IRvreT8uNR3xt$~qxX&iN<-0T!df^D_9>>7jPZxp` zsNUNf+%u;aN-Y~}_`W<|8B2H{K%{8(_Zv$NsUXUMdis@%6s)@AL7oKOb-ee@H<3w> z>3rk08Fp&#%v%(1I`iK-TLO4jB?7=Qn$Qpiy6XcG^Txk6Nb-q6gjRttG?7ttqUlw( zwjfBqYmA%6lx(?Q-wCEHg@5wow=NDSwOnfP5fP7BI;%DA@pi#igE` zc6~YWxqrCzcWIyKYIqC`kht)!7s!?NSxLN4qfV(%_Yr#;1P8=k+9?H8SEPUe=w6|0 z%g4dDG-0`GWaCUR+_8erC4sbf>nM&i>6eb8*7hp@THfp#xSUCK2FMozs`ei^&HWu` z=cBXWg89Pxu0Cf1)cCM>b#f3|4;I0IRo=CtB zn_l4hh+1A8_EPsBA_kNGDH#a)xZ>&HR=K1QXmAIQ0%$eGR1Q(`%^}&6zJP3llHhgC zk*#(*XORoLnr#Q8`bKpp;dr{mW6(Qtz)ATNxc^Ppi?5HJngQOJX*|H1K8XE2h?!gL zRd8cQ;^B@5Q<*l4oAs{LA=*pC;T6xKWsiq5_Sigp8}@dIj6q+gEq8fLU!Wb&!Beo< zjnm5*nkICFxOu5ryoff-QN?*D(}f_RAQTPdXuGorj9|(%Bpv3)*(C=7<%khsEMiS5 zfK|z@13eN+j>l5j>Nl{A^2B_9AIM9}0_v0f(s7eL*iOy{f%3#ZH5({=m}gIRZ*Drd zk#83Y?pt_2#U&FHbo^D5_9wV+_^|Gl^M<#Od!qMm;gA3`LJ14!!#DV+w?M&WD&Dvy z@|(B7u0}?p>lVYEvuAlTkiZs-U%-~(;6iaSAQE59#)fhPss|c3SNM7HLcs;o^;+EH zI>rhvw%l3HUqWVk1(cXbvnD%&*D~i{4>CF~nV4&sUF`MF-!8H`U$1vhCqa(c%#)J~ z9ntsMl>9b&uRlH- zGvyfF4=VqD1Du5PHxOq=mUdtIuxfwANdvr~7{s^l0b^>;{|{8;PkboV$$J3%`Agx$73 zI)XE70E!)iQ8F*n_ZmrfL2;hSElYMk=3qrv!CFYH9;Y2)dg*c^lv2DF#MH*WE);p- zjJWA%8!igZKe{s{GXE%ly8vzTWh?7XtKu$Lz`7|Y=Ph~*0Yn7^@xlos3!F#c) zz1#g~NSe)xLDi?hAr2CE*?CxX)5a`Rrnj)i9lPU(XBj<=CsWJKU+R$)?U8ny`a7xQ ztYmjX6lFao=fgkt9lt6jikdQODGutnc|F~is8-wk_HJQXlbg9u)yVL6^dVX7lI`bH z0op2-R8i41MvqO(srM$X%jDA;dse#^a{n_MUx&uFu%V(=_=7|xff?FQh|NQ-1q+Q9 z8=nH~k86spKDsS!ea!nm8Q}lSvi#P*+siFT(V(HNq2(5sHPg5^9vd?dcpjn{*<1gL zACL^Sp5yw45vAf|v#XA~aMPEeas(&W06^B9Zz%^#LZ`|=_l?|N!th_o@O%bWUQBSi z26bD!_!EN;6Nwjx5{rEiGanS^g`7Bes;LkTpPkp!#_HZ{1u3((nk}Kbhq|2$40T-y zjjuadjjq={eV6C#&a1sUIO^sWT8ay+{6dqZdHN6zm+Oj!PY0nhE|qf&FoHS;fv5wN z7J@(R6ug7!%C5-P)v<0jJmu+tMH*Fx%?Z(b-bD z;PGq25xt@(#@puAntvuWt}!bFuxk>%y@-YCal=i`IzKncPR`D_@Sp7=xV*1<0W~;X zy6*>7TV@xj?@>qo)QZ%6>A$%sw*S-q;EOl+@p{3+@>nsY;0eQ06aQ{IeQG6a`?I?v z4(_ymBkP30dDSR%VceYFIdSsPh%V#pwxXd3C1gj?QFlGq3=_p1<5h76AV3MAE$@4v0^*;mM8n^_BvO*zVAEpn&X%s574sq&|{*zs_r#vSIGsc1mCZlcG*Gtfnd zayUPgdbT-UFcdK~+XF5w?^e|@e#&bwskTY%C#6Jxv9(2e=l8_0zF^p?r$h%Z zI!3wB{w<;b5SjZGU)ez~|w6ho1}ABCrSsr8*gII|!G) z?+%rK9vMT@iS=Q0SDjCKL)BTV5eJDIRAgJ~Xyo(FI|`;;CN{^$&V%WRS33OlJ^JhI zbO%kbMm8q$V+^GD{mVz!42~L`vsA-P!$*bNRH$3{%FN%QE<}ihW~HNLO5(LN+<#%u zRE^TCPcS$bV6W$mE^SQQNJw@YN_Lk&5ucxqDEtrc<6>b+W`&~w{`ErtUqRR~c{MJB z1@*_JH-fQ)rsh^Jd?Y5RbBasixsB|KEre2(#utcuI!9vx;bn&qsH29%tI4HZs#iD1 zblFx%acwLgbkN{j2vNtXina5?;vi3w#Ja|;*jv>~z31AV%0rELMcC_YLQx5^alB&1 zkoG%p*kvn!t3?pEsWfCzEm_4}E41OuXtnLHw>Bi(;_G_c?{EmW-96bmWZfDKD!rI^ zi8g!{n)9(5)9lPl3f7L&-~3#t;!3{CWZ82CtU;JEK?$S{dJz=P6{*>k#Dp)4 zsu3wFO2c9&)A&rV=LJRnQw39!f2WZel__a71&2QtoV1q<0*qpCbWwMNvj}MQ4>PrS z;eNsOmxzPYtI$8Uv3<6&-7Lqv5p)xg)p6)Cf8AT76*mhR!(R5> zJ#ekCzNF=!aDBPWI?&y80*j6J9=o- zQ-4UmEO`R<*4ekK9T!~zG!Dj58b9)j$Oq)G~gVQgh);!+8qxektgR zsIXrrJn~t{wo`0orFOng+N<0<>;_6w$7lqo91g0kM^Rbw2cr(xv_d|tplmK4QV=(z(oQiDaHTDSKzd4^;D_d7fQ#?b-`jrw6Uv< zOx}ixiKOmr)i{ULE?^$WQvvQUluMs<7GsG!oFog_Ws|u zg+cqLT)>!u?vT$YkmEQ%dU5Qp{a2^aFVM}CPVKzzU{=h^>R(CE+rQP}t~~u1-e6-Csk{u zlDLqL86@QvjzL3HVkLyiR2#CzIJk33gi@p+WTX8Xb)C?aSQW|B>yK)!^?a0&`U*5! zF3?dTwki;RMFCLCE=gVt+Rw88il#Nfwh{v zOFWp_R}r=>&HEU)z+Gs6biXqgN9QTzF7Hm}r5~OQdX_vtH{N4xEvbAQ=b;5hj=J9; z`Pj)X)5xg9{uV^OF?0loSoEFUdqJ!Z-+1syYgqVke#UBeRyi)^pY^)dkNth-AWda5}>HABvj!f^Wasxcdm$!4Ab#QU zS(wUA&!=%Hu6Zc>OmQ{`fc=@HtP`QJ*xh8FI{79W*!gWE1Cd}jpJhb)ZvJ(2;x z&56l#CjFq_4irr&AtKZU+T*59ON-^R35W0^J~x~&mc%Tp2>!h-sIScsRT|o9S))`^ z=^d=xXR5p;vZ@koc4tYpK_TA=7}d2ETz0gkh7A)_-2t z6E@@!e!-SXK`{O_ZG^9E{RGp{j3xem2}Si9oC<=Q6-2ZOi3h-GWaz<@HnC7~xMv`| zgD2qr;7FqR9R&3FRfQ9x3$IQxH)HH;szy2o9m&gU?LxfMv<~W4r<1zz#02-lUnMg3 zx^ideN#?)Jl*fCBMHodtp6cJG8CSFVw{x1mK@j*(T5*LXK=sg_*c&;OOE8lv!i%_Z z2H)m$FJ-l!T>-s=LY&fqQQ#geogRrknkTT-n20J#=1NQtjI1NhT8!fBQQ)$2)-cw( z7EsWiAm0Zp!^v)a#Tg1N1-V$(r>*PWoq{3h=t-g+qzxQoeAA{7xwn$9*~)U_E3jc~ zEdCQ*X55~}1o}-}jD``&V&;oF5_Cp;&o2ctBxm zkaR$t&d+?SAy^oRh)`(=ie6MA%1%iAU=n3fF)(@a-lJiD)*~DxpecDw0R7lAUhiVrDU7mI*!# znkR0N(TC%+r}x=tbXAtYR4>W8u7xkSS!#IsQ*<01n5r{B;cc?+8sL74y+}12X5aw{ zxpE2%v>Y?Jp)_GqbHZ;yJmbUyQSAD7@UzVMQb#yoWJtRHdWPWJZqHn=^S1Bdn!ber3qrp*JClSKtig;Dr3&3N~_9Y zrn!-Wvx#M*lAo2kbHil&-6cEzGVz~WrIM*9ZBVCAV1(kuWb#SAMBHJrctS@5!%j!f za>%N?h4s%^o*N@v;ZJy2ZDo>zfH)Ln|97P*N+7 zb043u#=U@gpr3?xB(MW2aU4dqm+SrnIp5nqwXpdp98 zd+{kvG;yFD3&f0uKC$J2D)t1}ChOIo&Q7N7@3L+9p*4OPI+(HLl8mNE5`8Xi3VtGX zXqYifR-4)67XC2^Y8@R}Q1zt0JR;fPAGU1SJ>^)N=&5=W{g^A^f(Y&vwhp&k`}<~I z3zZ7;a(^b$_cH|0U$%*n1eH}z=LK7~av~&>Pu(ypZMg(Ek$J*WNotU;taY8`C3h7?`JNxtzD8$SR$~ zfA0DG!D7!bBs18$(ptT?zuk%-o%z9qXIU)mNEj9WMULzmR}^5osTi+vgbGKoPHziB z-z+rl{>?V_<*u)xOy>x2&)~rb+7!4%@;9mGH<)+-?Ibd?x5P+i)48_kOf)rBHz0(r zQ*VAeNK&8J-;N)b{($5pA!>{nj;mk#lb~<7cQ*H{!{3 zZ1{sVmu;nLyUX^+TsR=gd&%4Ch__D=*>iE@rFNUq_$@m&b_?urV-L)f_$5C7NUVUk zf!=7zTnK4>-B=vJ33mYv*VNV<-dz2%r^5gHjakvOzRh}MgaXo(_2Qar&8{F)HbU`? zr#BM8${?@HVUzY|{i zzAsV}e{_KfB6<%DC6q0Bqbh&$-WCd}afuNN&aY@X@TPfAZq6dEAqyJUeZ=a37(&V& zZCpVhY9NU_eR-1`8QI-MO7M?rUj=dGP%ZzzuA@jN+U&W2DC^)00oyNf@u9U(#csCe zc{c@++khb;L6vMBN+pYaZTr2~Y9K!CbC1yE>g%-*$=O;Zili4rn`jO6yvT-- zIP=<%_am*-25AMxOfdbakF46S&0;imvawpwqqpvkLnT37e#xHA&m$~3ie|<$`wyWu zB84I{nR&JCxkT2Xb!OqYx>nVUpUv&%m3P=0t~BI8*kEH(D2U)xvUmU;-mgCok>432 zPMf7f!fDXY!V!=)9S_NlcC^I&JSV8$4OlNZ?S=Jm^WVw264O!|MZxlec0bA(U0^C++~b)kfTTTD`^dXIHV}~g1vjd%y+zZ)!zx`p@oB*4J{V~$NXV<( z1_}|#{?h$DciqciI%_6DtF9PhJSMkpv_6Eki|)y;eDg+82oZt_na!#De&&6n#b+h_ zlCz%ujH{ApP&K}_cYD{?Ei=OJI?qoq86gLUIv~vFp?Pk(@il2yV_CK0#dB?l!((vP zncxtj8GYJwV@ztvW{IeoTmc7s6wUd4k>Ly&jxhFzG+d88MEi9Ip9SL*@wqSs?r)-8 zx$z^8`87_1_~46mbQxkr6umB@OC!y}?(-L%Auk*1hqJvb!mLqZq~9&a{ymh}OX}Ml zd+XHSauRx`F4_1D*&cM#KJ=;hsr8ow`6{a!nh-|f=o0PU=HVAys7oraOCra-hQhEB zOPrs2_ddbFBzLa=A8-lM1E&Ib{#%ieE{PzA^A+Uy*O|}jfIR%EKa=~6E5?Zc|(ba=mWob44acz zkLPI7F%?TT+TlrC{fv5;YvLtm=Tx8EgfvwlzQBG0dv5A**B;fQ4_wSV^WPH^%%Mo0 z*y3*U9cz6p>W5%6d>6lP;*g(BNS?Btm(MXP(O|>LX7hIpFG^7M>AGXOQ%h0k;vOVu zYAUJJ0-n=U$FMK6)=B5aW3wzV(Q8iIUYAct&sIE<1Q{kg4+Q!`UP3w#LR7d+f}qqc zgT=#kyc8U6&%?A8SuLj5EP1Z|_o3S$<2Pk-DzaBU1xi=md$=k0K7SSFTOU5uLUZrqZTkFgw zh5l55gt4>vGHCJz2ES)@lC!za|2;Ue4fzt)2$rF(<{P*3^}N%oHVYa=_cSmGF#y-YdY?1P-%lwUMq^RpT?a=yy;dh~U1$5d>o-#>ns zLUztBbZw3JVq)B1ueglc>gPNs-|ot;>pi;ykq$&sjy~URa(Kq zvRPTt7hP| zgVp7s%0t@TWFkCYA3?|5)|NW4qze>1ba zIVIbAq~DE}qFl-Z{Dvx26Euw+Inun!uZ1?yp!UkFepn#?k?$gMUmZk&l*v7uZF<b`d^(G2UPc545zQ1jmD08k?W=cnAkh%3tFJyCeT7%BO2*b zLvuyXOlJ-O46Iph&7w$ub?G|8TDGdZa02#jcTS%*Xj2x;jHO@RcfepbP+td|!k)l# zM?~*$IWWtf6k)Vt?-{HDuS-UYh zd$sBZpuZmhnLD6xFSO78-A=oqpZ-7}3UK32VRG55j_lNNzTnUAtyaqQQnsJWibpnP z^+t!_wDUFdb{_Bdj!D+dw-0F*CCd_wKZc_@k_+y;&nTPkVxg9wEe@dU&AJzQ%Z@37 z2mAIyatTRNA_R%IJZJ;lBjM8*Lwo`ld>+FrhvZcN%0h!f{~DVUB1CXaWSpbq7m)~EB^{VS1O8PBIkxOxG#oTsQvC46o@URNr%_S6{}gbohb1cqwc60 zY`Xe#S%7+k5;wr4ye%!xZa7Vu873=oTUnp}1GM)hZ25 zd?sBle8qZqav|({Ew2dpN@uu2yne_XMSk%P-tQ%Zgz}p&9A(jM@bNSxfFiOt7QD2y z4heg}!~sal$uGv`6vPQ?Nkxx!De^s@ai~-C#BD81h+b^h_V_PL@Awv@l#Lgq9Nrc(03y?=F4o{7<9>G3%RC zKXTIig9pLC*3Br|{WmubzDz>$iJc=3->O34QuU0V=0Mr|nfECms~`ss_uy%5Wy!j{ z8mq>W4POXxsJq-J=LeDu4~t~R;bes~Dc+d1{%dkoZZU1D_jk?orj|}d&6{{T@e^ubXw!U)MzcmvNij>2@lY6&%%Q_N=^#i%Pf1f`m6KAO1OmtXiU~)MJp#QDrf6mE zlF-Yk?^BN4PF%Y7)fPLNIa=wSNZK@W;QjZUjQ>oh{CV!kXLDbVx<*!~a2EUDvRVFn zC#UaSf};X${}^JAZwpg&FulV>kDBT25865f+Ouf2p_C6gu*ijs*hZ2g+CWhg(zr<3MBB(pKN3y}J3_I`;bap7a$=43NMM)9OX; z@i^ke+F;3BRqA4K3PtL9>tBDMcLS*;EknXpou~lj4gT(3e=Zzl3_vmGTPi#ak$3fM z8ouL3XqPWG!TxJ=K3nU+q?C6EHcufG_T)0Og}R7Hh*o6o8oo3dC+aoS2QoQcNt~X4Orj!hL5u0aI9Ne4MW>5PP-qOg zrLYOKD5h;6nNe9DCeG`cgwQ%WAsU}QMuH}py%$`R^~^gI_Vz6P!6*KsS5pkRk#-0X zMugM4h#^B|T6^hY-0r~^O$Ac`FBSRBbvp}zCprN{h!Vzpkkm$g`q8B{W71+E4^_ER zNK#durpWmUsxXlQ?ew0S^zyfy5INbe;Ws)U)l}d8NwC8seO%1NWjnBSm9{i0> zA7B$6_L=`%Cj0*#tFc>fd?5T!XXxMek6E09(?V(h@G#iZpW-8w5V_dl7EJP^)NZVtVEkK%kf_YVpi2SY4(|rjg~*(Ynj#aCocl3)vUL@%t=8 zIBAJ;5UG^d45pjB`55$B%|(ggmgT_sm(N|Bd*CxYF+Ig725MsI2+;BrE{Nz;3wQ5Y zMi@af8LAnbTn@ArRF|xb^eddyvKM3t6o>Y8Lc+Ooj}FIXOzXDEkmX|ae5ibgV<8h8>G}2qBPXR5$2y!h7leSmO*JK zq{L(hBPcjB{uGfZ2+BCdA|0OVXI?TszY-}bu3^dY#GY^jQP=PLe8@z!G?W9!Faj7V zmI5{_z|=sTw>9?Qcn2?nFZuoo9&$n$qWXs!%*49MD!BS076TcTFV3+`c*TitO_e3wzObjn4kf>XVCt%)FvL6YPyD$%fxf5V3 zb5%Hm?rr)(NUuee&7vrAfajY-cl59n1&h39##F9QGGJ~!6coXLoVPYx9F?qJN_G{G z!O^*!hqva9Hji|UU$BSHTj1wW8krJo)`Xuy3i@4;i9+!FZa|m#nvsX9MqbdP7o

4HO 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

LpF9gY)JujV17Z$?E)AlfNL;Q(50zQ{2sDhVmov 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

25fRDe0*W8YZ9VR-a{Fn|Yq{~Wl|5h4a<-ED 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 diff --git a/formatting.tex b/formatting.tex index 3ccc46e..3363ad4 100644 --- a/formatting.tex +++ b/formatting.tex @@ -13,6 +13,12 @@ \usepackage{titlesec} \usepackage{hyperref} \usepackage{tikz} + +\usepackage{ascii} +\usepackage{textcomp} +\usepackage{eurosym} +\usepackage{cclicenses} + \usetikzlibrary{positioning} \usepackage[lmargin=1.5cm,rmargin=2.5cm,tmargin=2.5cm,bmargin=2.5cm,paperheight=240mm,paperwidth=170mm]{geometry} diff --git a/main.tex b/main.tex index e5d37b9..692725d 100644 --- a/main.tex +++ b/main.tex @@ -25,536 +25,10 @@ \import{sections/}{07-functions} % 08 pointers \import{sections/}{08-pointers} - -\section{Массивы} -В этом разделе нас с вами ждут массивы. Много массивов. И ещё пара слов о директивах компилятору, иногда также называемых директивами препроцессора. С них и начнём. -\subsection{Директива \code{\#define}} -Помимо уже хорошо знакомой вам директивы \code{\#include}, частично описанной в разделе \hyperref[text:directive]{\ref{text:directive}}, естественно, существуют и другие. Некоторые из них ограничивают импорт описанных в заголовочном файле функций, некоторые <<\textbf{описывают}>> какие-то константы и даже действия. Вот, директиву \textbf{описать} мы и рассмотрим подробнее. Она не зря называется директивой препроцессора, поскольку даёт указание не процессору во время выполнения программы выделить память, присвоить значения, а непосредственно компилятору: заменить в тексте программы одни слова на другие. Таким образом можно задавать константы проекта, и даже делать сокращённые записи целых действий. Например, написав \code{\#define ARRAY\_LENGTH 50} мы предпишем компилятору, перед запуском трансляции нашего кода заменить все слова \code{ARRAY\_LENGTH} на цифру 50. В такой записи, слово \code{ARRAY\_LENGTH} будет называться \textit{макроконстантой}. -\frm{Обратите внимание, что директива пишется немного не так, как обычный оператор языка, хоть и может находиться в любом месте кода. В конце директивы не ставится точка с запятой. Это важно именно потому что директивы работают с текстом программы, то есть если точка с запятой всё же будет поставлена, текст программы будет всегда содержать вместо макроконстанты число и точку с запятой, что может в корне изменить смысл программы.} -Весьма удобно, но этим можно не ограничиваться, мы можем попросить компилятор заменить вызовы функций и операторы на короткие, удобные нам слова. Важно помнить, что директивы препроцессора работают с текстом программы, поэтому не осуществляют никаких дополнительных проверок. Это сложный и мощный инструмент, который чаще всего используется для решения нетривиальных задач, например, выбор кода, который попадёт в компиляцию в зависимости от операционной системы. Иногда в программах можно встретить описание недостающего, но такого привычного булева типа при помощи директив препроцессора: -\begin{lstlisting}[language=C,style=CCodeStyle] - #define bool int - #define true 1 - #define false 0 -\end{lstlisting} -Но нам пока что достаточно умения создать глобальную именованную константу. Код ниже демонстрирует, что директивы не обязательно группировать именно в начале файла, а можно использовать там, где это удобно и уместно, так мы можем объявить константу с длиной массива в начале файла, а можем прямо внутри функции \code{int main (int argc, char *argv[])}. -\begin{lstlisting}[language=C,style=CCodeStyle] - int main(int argc, char* argv[]) { - #define ARRAY_LENGTH 50 - int a = ARRAY_LENGTH; - printf("a = %d", a); - return 0; - } -\end{lstlisting} - -Результатом работы этой функции будет ожидаемое: -\begin{verbatim} -$ ./program -a = 50 -\end{verbatim} -\subsection{Массивы} -Вступление про директивы препроцессора напрямую не связано с темой массивов, но директива \code{\#define} для объявления размера массива применяется чрезвычайно часто. Рассмотрим природу этого явления чуть позже. -\frm{Массив – это множество данных одного типа, расположенных в памяти подряд.} -Язык С строго типизирован, поэтому невозможно создать массив из разных типов данных. На данном этапе мы рассматриваем только простые типы данных, поэтому и массивы будем рассматривать статические. Статическим массивом называют массив, количество элементов которого заранее известно и не изменяется за время работы программы. Альтернативой статическому массиву является динамический, таких массивов в языке С не существует, но всегда можно самостоятельно описать такую структуру данных, которая будет хранить значения, динамически расширяясь и сужаясь. Также для начала ограничим нашу беседу одномерными массивами, то есть такими, которые можно записать в виде значений через запятую. Статические одномерные массивы принято объявлять двумя способами: -\begin{itemize} -\item простое объявление с указанием размера; -\item объявление, совмещённое с инициализацией -\end{itemize} -Для примера объявим массив, содержащий элементы типа \code{int}, дадим ему идентификатор или имя массива \code{arr} (сокращённо от англ array), укажем максимальное количество элементов которые может вместить в себя массив, например, пять. -\begin{figure}[h!] - \begin{lstlisting}[language=C,style=CCodeStyle] - int arr[5]; - - arr[0] = 10; - arr[1] = 20; - arr[2] = 30; - \end{lstlisting} -\end{figure} -Как уже говорилось массив это множество данных или элементов. К каждому элементу массива можно обратиться по его номеру, который принято называть индексом. Индексация элементов начинается с нуля. Давайте заполним наш массив значениями типа \code{int}. Для этого последовательно обратимся к каждому элементу и присвоим значение. Обратите внимание, что язык С не гарантирует что инициализационное значение элементов массива будет равно нулю, если это не указано явно, поэтому выведя на экран содержимое массива, мы можем гарантировать значения только первых трёх элементов, которые мы указали в коде. Второй способ объявления, совмещённый с инициализацией массива используют, если массив сравнительно небольшой и его значения заранее известны, например: -\begin{lstlisting}[language=C,style=CCodeStyle] - int arr[6] = {1, 1, 2, 3, 5, 8}; -\end{lstlisting} -При этом, если сразу заполняются все элементы, размерность можно не указывать. Итак, мы научились создавать и заполнять значениями массивы. Теперь общее правило объявления массивов в С: при объявлении массива нужно указать его имя, тип элементов, количество элементов, опционально - указать сами эти элементы. Количество элементов есть натуральное число, то есть целое положительное, ноль не может быть количеством элементов. Нельзя задавать переменное количество элементов массива. -\begin{figure}[h!] - \begin{lstlisting}[language=C,style=CCodeStyle] - int nArr[100]; // An array for 100 int's; - float fArr[5]; // An array for 5 float's; - char cArr[2]; // An array for 2 char's; - int varElem; - int nArr[varElem]; // Compile error! Number of elements must be constant; - \end{lstlisting} -\end{figure} -Так мы обязаны создавать массивы только с точно указанным числом элементов. Для языка С это позволено сделать объявлением константы времени исполнения \code{const int elements; int arr[elements]}, но, например, в С++ такая запись вызовет ошибку компиляции, поэтому там необходимо строго указывать размер числовым литералом или объявив его директивой \code{\#define}, что, фактически, одно и тоже. -\frm{В более поздних стандартах С++ появилось ключевое слово \code{constexpr}, позволяющее объявлять константы времени компиляции и отказаться от объявления размеров массива только литералом} -Теперь давайте научимся получать доступ к элементам массива. Нет ничего проще, тем более, что мы это уже делали объявляли массив и для примера его заполняли. Для доступа к конкретному элементу массива нужно указать имя массива и индекс элемента в квадратных скобках. Квадратные скобки - это тоже оператор языка, он называется оператором индексного доступа: -\begin{figure}[h!] - \begin{lstlisting}[language=C,style=CCodeStyle] - int a = arr[0]; - printf("let’s see whats in 0-th element: %d", a); - \end{lstlisting} -\end{figure} -При помощи массивов решают множество задач, таких как поиск, сортировка, составление таблиц соответствия, создание частотных диаграмм. На основе массивов создают более сложные структуры данных. Для короткого минимального примера, давайте напишем программу, которая будет печатать наш массив в консоль. -\begin{figure}[h!] -\begin{lstlisting}[language=C,style=CCodeStyle] -#include - -int main(int argc, char *argv[]) { - int arr[5]; - int i; - printf("Your array is: "); - for (i = 0; i < 5; i++) { - printf("%d ", arr[i]); - } - return 0; -} - -\end{lstlisting} -\end{figure} -Такая несложная программа даст нам следующий результат (Обратите внимание, что при такой инициализации, а точнее её отсутствии, значения внутри массива не гарантируются. В результате запуска программы на компьютере автора первые четыре индекса оказались равными нулю, а пятый принял странное отрицательное целочисленное значение): -\begin{verbatim} -$ ./program -Your array is 0 0 0 0 -497067408 -\end{verbatim} - -Мы научились создавать, инициализировать массивы и обращаться к его элементам. Теперь решим задачу посложнее: напишем программу, которая проверит насколько статистически хорош описанный в стандартной библиотеке (языка С) генератор псевдо-случайных чисел (функция \code{rand();}). Для такой статистической проверки нам понадобится сформировать так называемый \textit{частотный массив}, массив, в котором будет содержаться информация о том, сколько раз то или иное число появилось во множестве значений, полученном при помощи генератора псевдослучайных чисел, частота вхождения значений. Сама генерация псевдослучайных чисел происходит при помощий функции \code{rand();} которая создаёт целое число типа \code{int}. Но, поскольку целое число в таком диапазоне нам не нужно, мы его сократим при помощи оператора получения остатка от деления. -\begin{figure}[h!] -\begin{lstlisting}[language=C,style=CCodeStyle] -#include -#include -#include -#define ARRAY_LENGTH 10 -#define NUMBERS_AMOUNT 1000000 - -int main( int argc, char *argv[]){ - srand(time(NULL)); // initialize PRNG - int frequency[ARRAY_LENGTH] = {0}; - int a; - int i; - for (i = 0; i < NUMBERS_AMOUNT; i++) { - a = rand() % ARRAY_LENGTH; - frequency[a]++; - } - - for (i = 0; i < ARRAY_LENGTH; i++) { - printf("Number %d generated %6d (%5.2f%%) times\n", - i, - frequency[i], - ((float)frequency[i] / NUMBERS_AMOUNT * 100)); - } - return 0; - } -\end{lstlisting} -\end{figure} -Обратите внимание на 14ю строку: для сгенерированного на 13й строке числа \code{0} увеличим значение в 0-й ячейке массива, для числа \code{1} - в 1-й, и т.д. Данная программа наглядно демонстрирует не только работу с массивами, но и то, что генератор псевдослучайных чисел в языке С генерирует статистически верную последовательность случайных чисел. Инициализация генератора псевдослучайных чисел на восьмой строке \code{srand(time(NULL));} происходит значением текущего времени системы, то есть мы гарантируем, что начальное значение генератора будет отличаться от запуска к запуску, а значит наше исследование будет чуть более достоверным. - -\begin{figure}[h!] -\begin{verbatim} -$ ./program -Number 0 generated 99955 (10.00%) times -Number 1 generated 99977 (10.00%) times -Number 2 generated 100156 (10.02%) times -Number 3 generated 99952 (10.00%) times -Number 4 generated 100212 (10.02%) times -Number 5 generated 100713 (10.07%) times -Number 6 generated 99418 ( 9.94%) times -Number 7 generated 99768 ( 9.98%) times -Number 8 generated 99918 ( 9.99%) times -Number 9 generated 99931 ( 9.99%) times -\end{verbatim} -\end{figure} -Запуск программы (даже несколько запусков) показывает, что всех значений получилось около десяти процентов, что говорит о том, что последовательность псевдослучайных чисел статистически верна. - -\subsection{Идентификатор массива} -Это будет непросто, но мы поговорим о том, что из себя представляет идентификатор массива, чем чреват выход за пределы массива, затронем тему арифметики указателей и научимся передавать указатели на массивы в функции. Как упоминалось ранее, массив - это ссылочный тип данных. То есть в идентификаторе хранится адрес, ссылка на первый байт первого элемента массива, дальнейший доступ к элементам осуществляется посредством \textit{смещения относительно этого байта}. Таким образом запись вида \code{array[0]} говорит нам о том, что нужно взять адрес массива и сместить указатель на \code{0} элементов того типа, из которых состоит массив. Отсюда становится ясно, почему \textbf{индексирование массивов начинается с нуля}. - -Давайте попробуем визуализировать положение вещей в массивах. На рисунке со стр. \hyperref[pic:arrays]{\pageref{pic:arrays}} можно увидеть создание массива на первой строке, далее доступ к двум его ячейкам для записи в них значений. -\begin{figure}[h!] - \begin{multicols}{2} - \begin{lstlisting}[language=C,style=CCodeStyle] - int arr[ARRAY_LENGTH]; - arr[0] = 20; - arr[1] = 50; - \end{lstlisting} - \columnbreak - \begin{tikzpicture} - \draw[step=0.5cm,gray,very thin] (0,-0.5) grid (5, 2); - \draw(0, -0.5) -- (5, -0.5) -- (5, 0) -- (0, 0) -- cycle; - \draw(0, 0.5) -- (5, 0.5) -- (5, 1) -- (0, 1) -- cycle; - \draw(0, 1.5) -- (5, 1.5) -- (5, 2) -- (0, 2) -- cycle; - \fill[blue!40!white] (0, 0.5) rectangle (0.5, 1); - \fill[blue!40!white] (0.5, -0.5) rectangle (1, 0); - \end{tikzpicture} - \end{multicols} - \caption{Визуализация создания и индексации массива} - \label{pic:arrays} -\end{figure} -Соответственно, когда мы берем элемент с нулевым смещением, то есть по нулевому индексу, это будет ячейка памяти, находящаяся ровно по адресу массива. Все остальные ячейки мы просто игнорируем. Далее, берем следующий элемент массива. Для этого возьмем смещение в единицу, допустим, это будет число 50. Соответственно смещение будет на одну ячейку типа \code{int}. То есть мы игнорируем нулевой элемент и берем первый. Становится очевидно, что если мы в своём коде напишем такой индекс, который находится за пределами описанного массива - мы просто получим какое-то значение, которое никак не можем прогнозировать. - -Относительно выхода за пределы массива надо сказать, что ни компилятор, ни тем более операционная система никаких проверок не делают, поэтому такие проверки (чаще всего самопроверки на этапе написания кода) полностью ложатся на плечи программиста. Язык С не предоставляет никаких сред виртуализации, никаких подсистем исключений, только выдача случайных данных, которые могут попасться нашей программе. Или запись в ячейки, которые совершенно не гарантированно останутся пустыми. -\frm{В связи с тем, индекс массива - это значение смещения, относительно его начала, и, как следствие, индексы массива всегда отсчитываются с нуля, важно помнить, что при создании массива из, например, десяти элементов десятый индекс будет находиться за пределами массива.} -Надо сказать, что всё-таки б\'{o}льшая часть значений за пределами массива будет равна нулю, но всё равно лишний раз экспериментировать не стоит. -\begin{figure}[h!] - \begin{multicols}{2} - \begin{lstlisting}[language=C,style=CCodeStyle] - arr[11] = 60; - \end{lstlisting} - \columnbreak - \begin{tikzpicture} - \draw[step=0.5cm,gray,very thin] (0,-0.5) grid (6, 0); - \draw(0, -0.5) -- (5, -0.5) -- (5, 0) -- (0, 0) -- cycle; - \fill[red!40!white] (5.5, -0.5) rectangle (6, 0); - \end{tikzpicture} - \end{multicols} - \caption{Выход за пределы массива} - \label{pic:outofbounds} -\end{figure} -Как мы уже знаем, в идентификаторе массива хранится ссылка на первый байт первого элемента массива, т.е. идентификатор является, по сути, указателем. Но существует несколько отличий: указатель - это переменная, к ней применимы, например, операции инкремента и декремента, чего конечно нельзя делать с идентификатором массива. -\frm{Идентификатор массива \textbf{не является} lvalue, Но один элемент массива является lvalue. Так, записи вида \code{arr++;} или \code{arr = 5} будут являться ошибочными, поскольку в них происходит обращение не к конкретному элементу с целью его изменения, а к массиву целиком.} -Обратившись к идентификатору массива мы можем получить доступ к элементам массива не только при помощи записи индекса в квадратных скобках, но и при помощи так называемой арифметики указателей. Мы знаем, что массив - это единая область памяти, и значения в нём располагаются подряд по очереди, значит, отсчитав от указателя на первый индекс нужное количество байт - мы получим указатель на второй индекс. Давайте для примера подсчитаем среднее арифметическое всех чисел в массиве, с использованием арифметики указателей. - -Будем запрашивать значения для расчётов у пользователя. Создадим вспомогательную переменную \code{float result;}, для хранения результата и в цикле будем запрашивать у пользователя числа. Количество введенных цифр должно соответствовать количеству элементов массива, поэтому условием выхода из цикла будет равенство счётчика и последнего индекса массива, то есть, длины массива минус единица. -\frm{Обратите внимание, что в коде мы указали условием выхода из цикла \textbf{строгое неравенство}, то есть со значением \code{i} равным длине массива в тело цикла мы не попадём.} -Помним, что индексация массива начинается с нуля, поэтому длина массива всегда на единицу больше последнего индекса. Выведем в консоль надпись <<введите значение>>, при помощи функции \code{scanf();} считаем его и сразу привычным образом, оператором индексного доступа, положим в массив. -\begin{figure}[h!] - \begin{lstlisting}[language=C,style=CCodeStyle] -int arr[ARRAY_LENGTH]; -int i = 0; -float result = 0; -while (i < ARRAY_LENGTH) { - printf("Enter value %d: ", i); - scanf("%d", arr[i]); - i++; -} - \end{lstlisting} -\end{figure} -Выведем в консоль получившийся массив при помощи цикла \code{for(;;)} и привычной нам функции \code{printf();}. Следом напишем ещё один цикл в котором подсчитаем среднее арифметическое. Для этого к результату будем прибавлять существующий результат и значение массива на которое указывает уже не такая привычная, как квадратные скобки конструкция \code{*(arr + i)}, которую сразу и разберём. -\begin{figure}[h!] - \begin{lstlisting}[language=C,style=CCodeStyle] -printf("Your array is: "); -for (i = 0; i < ARRAY_LENGTH; i++) - printf("%d ", arr[i]); - -printf("\nAnd the average is: "); -for (i = 0; i < ARRAY_LENGTH; i++) - result += *(arr + i); -printf("%f\n", result / ARRAY_LENGTH); - \end{lstlisting} -\end{figure} -Как вы видите, некоторые подсчеты программа выполняет за нас - мы прибавляем к указателю единицу, двойку, тройку и т.д, а программа понимает, что надо взять не следующий по счёту байт, а следующий указатель. Так как в данном примере мы используем массив в котором хранятся значения типа \code{int}, а как вы помните \code{int} в подавляющем большинстве случаев - это четыре байта, то при увеличении указателя на единицу, мы обратимся к области памяти находящейся на четыре байта дальше идентификатора, при увеличении на двойку на восемь байт и так далее. Подсчитать среднее арифметическое не составит труда, этот алгоритм нам знаком со средней школы. Далее при помощи функции \code{printf();} выведем в консоль среднее арифметическое. Запустим, повводим цифры и убедимся что все работает. -\begin{verbatim} -$ ./program -Enter value 0: 1 -Enter value 1: 2 -Enter value 2: 3 -Enter value 3: 4 -Enter value 4: 5 -Enter value 5: 6 -Enter value 6: 7 -Enter value 7: 8 -Enter value 8: 9 -Enter value 9: 10 -Your array is: 1 2 3 4 5 6 7 8 9 10 -And the average is: 5.500000 -\end{verbatim} -Внимательный читатель мог заметить, что мы применяем операцию \textit{разыменования}. Что происходит, когда мы таким образом обращаемся к массиву? Операция разыменования получает доступ к значению, находящемуся по адресу. Адресс массива - это адрес его первого элемента, поэтому конструкция \code{*arr} вернёт значение нулевого элемента массива. А прибавление значений к этому указателю будет смещать его также, как это делает оператор квадратных скобок. - -Как уже упоминалось, идентификатор массива - это не обычный указатель. Обычный указатель хранит в себе адрес какой-то другой переменной, и сам где-то хранится. Указатель на начало массива хранит в себе адрес массива, то есть адрес его нулевого элемента, и сам этот указатель находится в этом самом месте. На первый взгляд сложновато? Но пусть Вас это не сбивает с толку, на деле всё не так жутко. На деле это означает, что при передаче массива (читай идентификатора массива) в функцию в качестве аргумента, мы не должны использовать оператор взятия адреса, поскольку идентификатор массива сам по себе является указателем на собственное начало. Это открывает для нас широкие возможности по написанию функций, работающих с массивами данных. В только что написанной нами программе оформим вывод массива на экран и поиск среднего арифметического в виде функции. Опишем функции \code{printArray()} и \code{average()} в которые передадим указатель на массив и его длину, т.к. в массиве не содержится сведений о его размере. - -Поскольку мы передаём в функцию указатель, то все действия которые описаны в этой функции будут происходить с массивом который мы создали в основной части программы через этот указатель, который мы передали, никакого копирования значений или чего то подобного. Для корректной работы наших функций объявим в них счётчик и изменим названия переменных на названия параметров. -\begin{figure}[h!] - \begin{lstlisting}[language=C,style=CCodeStyle] -void printArray(int* array, int length) { - int i; - for (i = 0; i < length; i++) - printf("%d ", array[i]); -} - -float average(int* array, int length) { - float result = 0; - int i; - for (i = 0; i < length; i++) - result += *(array + i); - return result / length; -} - \end{lstlisting} -\end{figure} - -Так, полный листинг этого примера на стр. \hyperref[code:arrayaverage]{\pageref{code:arrayaverage}}. -\begin{figure}[h!] - \lstinputlisting[language=C,style=CCodeStyle]{../sources/arrayaverage.c} - \label{code:arrayaverage} -\end{figure} -\newpage - -\subsection{Многомерные массивы} -Массив в языке С может иметь сколько угодно измерений. Все массивы, с которыми мы имели дело до этого момента - одномерные, их легко визуализировать в виде простого перечисления элементов, возможно, как строки или как таблицы, состоящей из одной строки. Самые распространённые многомерные массивы - это двумерные и трёхмерные, которые легко себе представить в виде таблицы или куба соответственно. Итак, массив это структура, содержащая элементы. Двумерный массив - это массив из массивов, содержащих элементы. Трёхмерный - это массив из массивов, содержащих массивы, которые содержат элементы. И так далее. В массиве могут находиться любые типы данных, мы, для удобства, будем рассматривать работу массивов с числами. - -Попробуем визуализировать двумерный массив. Создадим двумерный массив в коде, например, 5х5 элементов. Массив 5х5 – это 5 столбцов и 5 строчек. Соответственно, \textit{каждая строчка – это будет у нас младший индекс, а каждый столбец – старший индекс}. Трехмерный массив может быть, например, 3х3х3 – его можно визулизировать как всем известный кубик Рубика то есть, это три стоящих друг за другом таблицы 3х3. Также опишем его в коде ниже. Получается, что мы к таблице (ширине и высоте) добавили третье \textbf{измерение}, поэтому и массив получается \textbf{многомерным}, в данном случае, \textbf{трёхмерным}. Массивы б\'{о}льших размерностей тоже можно встретить в программах, но значительно реже, только лишь потому, что их действительно немного сложнее представить себе. -\begin{figure}[h!] - -\begin{multicols}{2} -\begin{lstlisting}[language=C,style=CCodeStyle] -int twoDimensional[5][5]; -\end{lstlisting} - -\begin{center} -\begin{tabular}{||c|c|c|c|c||} - \hline - \hline - 0,0 & 0,1 & 0,2 & 0,3 & 0,4 \\ - \hline - 1,0 & 1,1 & 1,2 & 1,3 & 1,4 \\ - \hline - 2,0 & 2,1 & 2,2 & 2,3 & 2,4 \\ - \hline - 3,0 & 3,1 & 3,2 & 3,3 & 3,4 \\ - \hline - 4,0 & 4,1 & 4,2 & 4,3 & 4,4 \\ - \hline - \hline -\end{tabular} -\end{center} - \columnbreak -\begin{lstlisting}[language=C,style=CCodeStyle] -int threeDimensional[3][3][3]; -\end{lstlisting} - -\begin{tikzpicture}[every node/.style={minimum size=1cm},on grid] -\begin{scope}[every node/.append style={yslant=-0.5},yslant=-0.5] - \node at (0.5,2.5) {2,0,0}; - \node at (1.5,2.5) {1,0,0}; - \node at (2.5,2.5) {0,0,0}; - \node at (0.5,1.5) {2,1,0}; - \node at (1.5,1.5) {1,1,0}; - \node at (2.5,1.5) {0,1,0}; - \node at (0.5,0.5) {2,2,0}; - \node at (1.5,0.5) {1,2,0}; - \node at (2.5,0.5) {0,2,0}; - \draw (0,0) grid (3,3); -\end{scope} -\begin{scope}[every node/.append style={yslant=0.5},yslant=0.5] - \node at (3.5,-0.5) {0,0,0}; - \node at (4.5,-0.5) {0,0,1}; - \node at (5.5,-0.5) {0,0,2}; - \node at (3.5,-1.5) {0,1,0}; - \node at (4.5,-1.5) {0,1,1}; - \node at (5.5,-1.5) {0,1,2}; - \node at (3.5,-2.5) {0,2,0}; - \node at (4.5,-2.5) {0,2,1}; - \node at (5.5,-2.5) {0,2,2}; - \draw (3,-3) grid (6,0); -\end{scope} -\begin{scope}[every node/.append style={yslant=0.5,xslant=-1},yslant=0.5,xslant=-1] - \node at (3.5,2.5) {2,0,0}; - \node at (3.5,1.5) {1,0,0}; - \node at (3.5,0.5) {0,0,0}; - \node at (4.5,2.5) {2,0,1}; - \node at (4.5,1.5) {1,0,1}; - \node at (4.5,0.5) {0,0,1}; - \node at (5.5,2.5) {2,1,2}; - \node at (5.5,1.5) {1,1,2}; - \node at (5.5,0.5) {0,1,2}; - \draw (3,0) grid (6,3); -\end{scope} -\end{tikzpicture} - -\end{multicols} -\end{figure} - -Как работать с многомерными массивами мы рассмотрим на примере двумерного массива. Поставим для себя задачу - сформировать таблицу Пифагора (раньше такие на тетрадях в клетку печатали на обратной стороне). Таблица подразумевает наличие двух измерений - строк и колонок. Для этого объявим константы rows и cols и присвоим им значения 10, rows – это количество строк, а cols - соответственно столбцов. Создадим двумерный массив, table[rows][cols]. Итак, мы создали массив размером rows, в каждом элементе которого содержится ссылка на массив размером cols - т.е. массив массивов содержащих непосредственные значения. -% Таблица Пифагора представляет собой таблицу, где строки и столбцы озаглавлены множителями, а в ячейках таблицы находится их произведение. Вот это самое произведение мы и будем выводить. -% Заполнение таких массивов значениями ничем не отличается от заполнения одномерных массивов. Заполним нашу матрицу поэлементно: напишем двойной цикл который будет заполнять нашу таблицу. -% Объявим переменные итераторы. И с помощью внешнего цикла фор пройдемся по всем строкам массива, а с помощью вложенного по всем столбцам массива, при этом будем записывать в каждый элемент массива результат умножения. Формула (r + 1) * (c + 1) позволяет исключить 0 из нашей таблицы. Давайте разберем более подробно работу такой конструкции. Внешний цикл при каждой итерации перемещает нас на одну строчку вниз. Вложенный, при каждой итерации, перемещает нас на одно значение вправо. Важно понять, что на одну итерацию внешнего цикла приходится cols итераций вложенного. Т.е. с помощью такой конструкции мы поочередно перебираем все элементы массива. -% Также есть способ заполнять многомерные массивы посредством конструкции в фигурных скобках, этот подход используется когда мы заранее знаем все значения. Например, вот так: -% int arr[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}} - объявляем и инициализируем двумерный массив размером 3х4. - -% Далее напишем такой же двойной цикл, который будет выводить на экран наши двумерные массивы в удобном для нас виде. -% Запустим нашу программу и увидим, что все отлично работает. - - - - - -% void advancedArraysMain() { -% printf(“Multi-dimensional Arrays! \n”); - -% const int rows = 10, cols = 10; -% int table[rows][cols]; - - - - - - - - -% // int arr[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}} - - - -% int r, c; -% for(r = 0; r < rows; r++) { -% for(c = 0; c < cols; c++) -% table[r][c] = (r+1)*(c+1); -% } - - - - - -% for(r = 0; r < rows; r++) { -% for(c = 0; c < cols; c++) -% printf("%3d ", table[r][c]); -% printf("\n"); -% } -% Как уже говорилось, массивы могут содержать данные любых типов, в том числе и указатели. Именно это позволяет массиву хранить другие массивы, строки и прочие ссылочные типы данных. Используя массивы указателей, мы можем создать, например, массив строк. -% Давайте запишем char* stringArray[3] = {"Hello", "C", "World"}; -% Это указатели на строки, такой тип данных является указателем. И мы можем создать из этих указателей массив. Используя массивы указателей, мы можем создать, например, двумерный массив, где каждый элемент не обязан быть того же размера, что и остальные. -% Но строки и сложно-составленные указатели - это темы, которые очень сильно выходят за рамки Основ языка, но это не помешает нам разобраться со строками на следующих уроках - - - - -% char* stringArray[3] = {"Hello", "C", "World"}; -% for(r = 0; r < 3; r++) -% printf("%s ", stringArray[r]); -% На этом уроке мы познакомились с многомерными массивами и узнали о том, что массив может быть не только из примитивов, но и из указателей. До новых встреч на следующих уроках, коллеги. -% СЛАЙД С ИТОГАМИ - -\section{Строки} -% Здравствуйте, уважаемые коллеги. Рад всех приветствовать на очередном видео курса Основы языка С. Получив на предыдущих уроках представление об указателях и массивах, и вскользь упомянув строки, пришла пора изучить их подробнее. - -% Итак, что же такое строка. В повседневной жизни строка это набор или последовательность символов. Так вот в языке Си строка это тоже последовательность символов. А последовательности в языке Си представлены, вы, наверное, уже догадались, массивами и указателями. Никакого примитива Стринг в языке Си нет. Как бы нам этого не хотелось - его нет. Но есть одна хорошая новость, примитива Стринг не существует и в других языках (я имею ввиду, конечно, си-подобные языки, то есть примерно треть вообще всех языков программирования). Раз строка - это массив или указатель - это всегда ссылочный тип данных. -% СЛАЙД ПРО Си-СТРОКИ -% Раз строка - это набор символов, давайте немного вспомним что такое сиволы и как с ними работать. Как вам уже известно, символьная переменная это переменная типа char. В отличие от строки это примитивный числовой тип данных, и к нему применимы все операции допустимые для примитивов, такие как присваивание, +, -, *, / - хотя не все имеют смысл (я например с трудом могу представить ситуацию в которой необходимо умножать или делить коды символов). -% Здесь значением sym является 65 в кодовой таблице ASCII. Т.е. запись sym = 65 и sym = 'A' - абсолютно эквивалентны. Однако для улучшения читаемости кода лучше использовать вариант sym = 'A'. -% СЛАЙД ПРО ТО ЧТО СИМВОЛ ЭТО ЦИФРА. ТАБЛИЦА АСКИИ - - -% Ну что, немного вспомнили, что такое символы, теперь переходим к строкам. Строками мы пользуемся с самого первого занятия: написав в двойных кавычках «Привет Мир», мы использовали строку. Строки иногда называют типом данных, но в языке С строка это массив, массив символов, поэтому и работать с ней можно, как с массивами. Строки в языке С можно описать двумя способами - как указатель и как массив из переменных типа char. Давайте создадим строку в виде массива из char назовем ее string1 и запишем This is a string!" – это строка. Также создадим указатель, назовем его string2 и запишем This is also a string! – это тоже строка. -% У каждого из способов есть свои особенности. Так, например в массиве из переменных типа char мы можем изменять символы. Давайте выведем наши строки в консоль и убедимся, что я не ошибся и их действительно можно так объявлять. Все работает. Теперь давайте изменим какой-нибудь символ в одной из строк. Например, string1[5] = ‘X’; и символ с пятым индексом изменится. - - - - -% int main (int argc, const char* argv[]) { -% char string1[256] = "This is a string!"; -% char* string2 = "This is also a string!"; - - - - -% printf("%s \n", string1); -% printf("%s \n", string2); - -% string1[5] = 'X'; -% printf("%s \n", string1); - - -% Указатель на тип char нам такой возможности не даёт и, получается, представляет собой immutable string – неизменяемую строку. Зато указатели на строки мы можем возвращать из функций. Т.е. мы можем объявить функцию как указатель на char вернуть из нее строку и вывести в консоль. -% И это открывает перед нами широчайшие возможности по работе с текстами. -% char* helloFunction () { -% return "Hello!"; -% } - -% printf("%s \n",* helloFunction ()); - - -% Параллельно с написанием нашей функции, приветствующей мир, давайте изучим некоторые стандартные возможности языка С для работы со строками. Например, специальную функцию, которая призвана выводить строки в консоль puts(); работает она очень похожим на printf() образом, но может выводить только строки, без каких-то других параметров, и добавляет символ конца строки. А также изучим специальную функцию gets() которая призвана считывать строки из консоли и записывать их в переменные. -% Создадим изменяемую строку типа массив из char, назовём её name, передадим эту строку в функцию gets(), и выведем на экран результат, полученный из консоли. Запустим нашу программу, напишем имя и увидим его в консоли. -% char name[255]; -% gets(name); -% puts(name); - - -% Теперь, мы можем поприветствовать пользователя нашей программы как следует, по имени. В нашей существовавшей функции приветствия внесём небольшие изменения. Создадим строку, в которой будем хранить приветственное слово, и в которую будет дописываться имя пользователя. Применим функцию склеивания строк. Поскольку склеивание - ненаучный термин, будем использовать слово конкатенация. И это слово подсказывает нам название функции, которую мы будем использовать : strcat(). Функция принимает на вход два параметра - строку, к которой нужно что-то прибавить, и строку, которую нужно прибавить. Логично предположить, что первая строка должна быть изменяемой (то есть являться массивом символов). Функция прибавит все символы второй строки в первую и вернёт указатель на изменённую строку. Очень удобно. Запустим наш проект, введем имя и убедимся что все сломалось. - - - - -% char* helloFunction(char* name) { -% char welcome[255] = "Hello, "; -% return strcat(welcome, name); -% } - -% int main(int argc, comst char* argv[]) { -% char name[256]; -% gets(name); - -% puts(helloFunction(name)); -% return 0; -% } -% Что же случилось? Мы можем возвращать из функции только фиксированные строки, как в предыдущем примере. То есть, получается, нужно писать кейс, в котором содержатся все возможные имена, и оператором switch перебирать все возможные варианты ввода, иначе мы устраиваем утечку памяти, создавая болтающийся в воздухе указатель? Нет, нас это не устраивает. Что же делать? Какой бы мы ни создали указатель в функции - он перестанет существовать, как только мы выйдем из функции. Выход очень простой - раз указатель не идёт в мэйн, надо чтобы мэйн дал нам указатель. -% Добавим в аргументы функции указатель на выходную строку, и напишем что для начала сложить строки и положить в локальный массив strcat(welcome, name). Добавим в основную функцию массив char result [], который будет хранить результат и передадим в функцию helloFunction char name и char result. Запускаем, и не работает. А все дело в том, что мы не используем библиотечные функции, есть функция strcpy, которая не просто перекладывает указатель в определенную переменную, а копирует строку, теперь все работает. -% char* helloFunction (char* name, char* out) { -% char welcome[255] = “Hello, ”; -% strcat(welcome, name); -% strcpy(out, welcome); -% } -% int main(int argc, comst char* argv[]) { -% char name[256]; -% char result[256]; -% gets(name); -% helloFunction(name, result) -% puts(result); -% return 0; -% } -% Если присмотреться - то все функции работающие со строками, именно так и делают - запрашивают источник данных и конечную точку, куда данные нужно положить. А кто мы такие, чтобы спорить с библиотечными функциями? Обратите внимание на то, что функции strcat() и strcpy() возвращает указатель на получившуюся строку. Мы также возвращаем указатель на строку, и тут встаёт вопрос о вызывающем функцию контексте, нужен ли этот указатель вызывающему. Работа со строками в Си до сих пор является очень и очень актуальной темой на программистских форумах, можете удостовериться. - - -% Давайте рассмотрим ещё пару функций. Например, сравнение строк, функция strcmp, допустим, пусть именно меня программа приветствует как-то иначе. Функция возвращает отрицательные значения, если первая строка меньше второй, положительные, если первая больше второй, и 0 если строки равны. Это функция, которую удобно применять в условиях. И копирование строк, функция strcpy, также принимающую на вход две переменных - куда копировать, и что копировать. -% Если строки будут действительно равны, мы скопируем в строку с именем слово Master!. Скомпилируем, запустим, введем имя и все работает. -% void helloFunction (char* name, char* out) { -% char welcome[255] = “Hello, ”; -% if (strcmp("Ivan", name) == 0) -% strcpy(name, "Master!"); -% strcat(welcome, name); -% strcpy(out, welcome); -% } - - - -% Из всех функций для работы со строками чрезвычайно часто используются atoi(); atof(); переводящие написанные в строке цифры в численные переменные внутри программы. atoi() – переводит в int, atof() – во float. -% Объявим переменную num, предложим пользователю ввести цифру, естественно в виде строки. Будем принимать ее при помощи функции gets, хотя как мы помним, могли бы и scanf() Заведем переменную int number для хранения результата работы функции atoi. Затем давайте умножим результат сам на себя и выведем окончательное число в консоль. Запустим проект и убедимся, что все работает. -% Полный список функций для работы со строками можно посмотреть в заголовочном файле string.h. Описание и механика их работы легко гуглится, документации по языку очень много. - - -% char num[64]; -% puts("Enter a number: "); -% gets(num); -% int number = atoi(num); -% number *= number; -% printf("We powered your number to %d", number); -% И напоследок еще пару слов об обработке символов. Функции для работы с символами содержатся в заголовочном файле stdlib.h. Естественно, наша программа может получить какие-то значения в виде строк. Не всегда же есть возможность использовать scanf(); - например, считывание из графических полей ввода даёт нашей программе значения в виде строк. В языке С есть функции для работы с каждым символом строки, например: -% isalpha() – возвращает истину или ложь если символ является символом из алфавита; -% isdigit() – если символ является цифрой; -% isspace() – является ли символ пробелом; -% isupper(), islower() – находится ли символ в верхнем или нижнем регистре; toupper(), tolower() – переводят символ в верхний или нижний регистр. -% Можем использовать одну из них соответственно нашей задаче, допустим, пользователь может вводить своё имя как с заглавной буквы, так и всеми строчными. Уравняем оба варианта для нашей проверки одной строкой name[0] = tolower(name[0]); а после проверки вернём заглавную букву на место name[0] = toupper(name[0]); и удостоверимся что даже если мы напишем своё имя с маленькой буквы - программа напишет его с большой. Запустим -% СЛАЙД С ФУНКЦИЯМИ STDLIB.H - - - - - - - - - -% void helloFunction (char* name, char* out) { -% char welcome[255] = “Hello, ”; -% name[0] = tolower(name[0]); -% if (strcmp("ivan", name) == 0) -% strcpy(name, "Master!"); -% name[0] = toupper(name[0]); -% strcat(welcome, name); -% strcpy(out, welcome); -% } - - - -% На этом уроке мы познакомились со строками, способами работы с ними и немного улучшили понимание механизма работы программ. Попробовали в деле некоторые функции из стандартной библиотеки. До встречи на следующем уроке. - +% 09 arrays +\import{sections/}{09-arrays} +% 10 strings +\import{sections/}{10-strings} \section{Структуры} % Коллеги, здравствуйте. Рад вас приветствовать на 12м уроке Основы Языка С. На этом занятии мы поговорим о структурах данных в языке С. diff --git a/sections/09-arrays.tex b/sections/09-arrays.tex new file mode 100644 index 0000000..f1a8344 --- /dev/null +++ b/sections/09-arrays.tex @@ -0,0 +1,378 @@ +\section{Массивы} +В этом разделе нас с вами ждут массивы. Много массивов. И ещё пара слов о директивах компилятору, иногда также называемых директивами препроцессора. С них и начнём. +\subsection{Директива \code{\#define}} +Помимо уже хорошо знакомой вам директивы \code{\#include}, частично описанной в разделе \hyperref[text:directive]{\ref{text:directive}}, естественно, существуют и другие. Некоторые из них ограничивают импорт описанных в заголовочном файле функций, некоторые <<\textbf{описывают}>> какие-то константы и даже действия. Вот, директиву \textbf{описать} мы и рассмотрим подробнее. Она не зря называется директивой препроцессора, поскольку даёт указание не процессору во время выполнения программы выделить память, присвоить значения, а непосредственно компилятору: заменить в тексте программы одни слова на другие. Таким образом можно задавать константы проекта, и даже делать сокращённые записи целых действий. Например, написав \code{\#define ARRAY\_LENGTH 50} мы предпишем компилятору, перед запуском трансляции нашего кода заменить все слова \code{ARRAY\_LENGTH} на цифру 50. В такой записи, слово \code{ARRAY\_LENGTH} будет называться \textit{макроконстантой}. +\frm{Обратите внимание, что директива пишется немного не так, как обычный оператор языка, хоть и может находиться в любом месте кода. В конце директивы не ставится точка с запятой. Это важно именно потому что директивы работают с текстом программы, то есть если точка с запятой всё же будет поставлена, текст программы будет всегда содержать вместо макроконстанты число и точку с запятой, что может в корне изменить смысл программы.} +Весьма удобно, но этим можно не ограничиваться, мы можем попросить компилятор заменить вызовы функций и операторы на короткие, удобные нам слова. Важно помнить, что директивы препроцессора работают с текстом программы, поэтому не осуществляют никаких дополнительных проверок. Это сложный и мощный инструмент, который чаще всего используется для решения нетривиальных задач, например, выбор кода, который попадёт в компиляцию в зависимости от операционной системы. Иногда в программах можно встретить описание недостающего, но такого привычного булева типа при помощи директив препроцессора: +\begin{lstlisting}[language=C,style=CCodeStyle] + #define bool int + #define true 1 + #define false 0 +\end{lstlisting} +Но нам пока что достаточно умения создать глобальную именованную константу. Код ниже демонстрирует, что директивы не обязательно группировать именно в начале файла, а можно использовать там, где это удобно и уместно, так мы можем объявить константу с длиной массива в начале файла, а можем прямо внутри функции \code{int main (int argc, char *argv[])}. +\begin{lstlisting}[language=C,style=CCodeStyle] + int main(int argc, char* argv[]) { + #define ARRAY_LENGTH 50 + int a = ARRAY_LENGTH; + printf("a = %d", a); + return 0; + } +\end{lstlisting} + +Результатом работы этой функции будет ожидаемое: +\begin{verbatim} +$ ./program +a = 50 +\end{verbatim} +\subsection{Массивы} +Вступление про директивы препроцессора напрямую не связано с темой массивов, но директива \code{\#define} для объявления размера массива применяется чрезвычайно часто. Рассмотрим природу этого явления чуть позже. +\frm{Массив – это множество данных одного типа, расположенных в памяти подряд.} +Язык С строго типизирован, поэтому невозможно создать массив из разных типов данных. На данном этапе мы рассматриваем только простые типы данных, поэтому и массивы будем рассматривать статические. Статическим массивом называют массив, количество элементов которого заранее известно и не изменяется за время работы программы. Альтернативой статическому массиву является динамический, таких массивов в языке С не существует, но всегда можно самостоятельно описать такую структуру данных, которая будет хранить значения, динамически расширяясь и сужаясь. Также для начала ограничим нашу беседу одномерными массивами, то есть такими, которые можно записать в виде значений через запятую. Статические одномерные массивы принято объявлять двумя способами: +\begin{itemize} +\item простое объявление с указанием размера; +\item объявление, совмещённое с инициализацией +\end{itemize} +Для примера объявим массив, содержащий элементы типа \code{int}, дадим ему идентификатор или имя массива \code{arr} (сокращённо от англ array), укажем максимальное количество элементов которые может вместить в себя массив, например, пять. +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] + int arr[5]; + + arr[0] = 10; + arr[1] = 20; + arr[2] = 30; + \end{lstlisting} +\end{figure} +Как уже говорилось массив это множество данных или элементов. К каждому элементу массива можно обратиться по его номеру, который принято называть индексом. Индексация элементов начинается с нуля. Давайте заполним наш массив значениями типа \code{int}. Для этого последовательно обратимся к каждому элементу и присвоим значение. Обратите внимание, что язык С не гарантирует что инициализационное значение элементов массива будет равно нулю, если это не указано явно, поэтому выведя на экран содержимое массива, мы можем гарантировать значения только первых трёх элементов, которые мы указали в коде. Второй способ объявления, совмещённый с инициализацией массива используют, если массив сравнительно небольшой и его значения заранее известны, например: +\begin{lstlisting}[language=C,style=CCodeStyle] + int arr[6] = {1, 1, 2, 3, 5, 8}; +\end{lstlisting} +При этом, если сразу заполняются все элементы, размерность можно не указывать. Итак, мы научились создавать и заполнять значениями массивы. Теперь общее правило объявления массивов в С: при объявлении массива нужно указать его имя, тип элементов, количество элементов, опционально - указать сами эти элементы. Количество элементов есть натуральное число, то есть целое положительное, ноль не может быть количеством элементов. Нельзя задавать переменное количество элементов массива. +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] + int nArr[100]; // An array for 100 int's; + float fArr[5]; // An array for 5 float's; + char cArr[2]; // An array for 2 char's; + int varElem; + int nArr[varElem]; // Compile error! Number of elements must be constant; + \end{lstlisting} +\end{figure} +Так мы обязаны создавать массивы только с точно указанным числом элементов. Для языка С это позволено сделать объявлением константы времени исполнения \code{const int elements; int arr[elements]}, но, например, в С++ такая запись вызовет ошибку компиляции, поэтому там необходимо строго указывать размер числовым литералом или объявив его директивой \code{\#define}, что, фактически, одно и тоже. +\frm{В более поздних стандартах С++ появилось ключевое слово \code{constexpr}, позволяющее объявлять константы времени компиляции и отказаться от объявления размеров массива только литералом} +Теперь давайте научимся получать доступ к элементам массива. Нет ничего проще, тем более, что мы это уже делали объявляли массив и для примера его заполняли. Для доступа к конкретному элементу массива нужно указать имя массива и индекс элемента в квадратных скобках. Квадратные скобки - это тоже оператор языка, он называется оператором индексного доступа: +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] + int a = arr[0]; + printf("let’s see whats in 0-th element: %d", a); + \end{lstlisting} +\end{figure} +При помощи массивов решают множество задач, таких как поиск, сортировка, составление таблиц соответствия, создание частотных диаграмм. На основе массивов создают более сложные структуры данных. Для короткого минимального примера, давайте напишем программу, которая будет печатать наш массив в консоль. +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +#include + +int main(int argc, char *argv[]) { + int arr[5]; + int i; + printf("Your array is: "); + for (i = 0; i < 5; i++) { + printf("%d ", arr[i]); + } + return 0; +} + +\end{lstlisting} +\end{figure} +Такая несложная программа даст нам следующий результат (Обратите внимание, что при такой инициализации, а точнее её отсутствии, значения внутри массива не гарантируются. В результате запуска программы на компьютере автора первые четыре индекса оказались равными нулю, а пятый принял странное отрицательное целочисленное значение): +\begin{verbatim} +$ ./program +Your array is 0 0 0 0 -497067408 +\end{verbatim} + +Мы научились создавать, инициализировать массивы и обращаться к его элементам. Теперь решим задачу посложнее: напишем программу, которая проверит насколько статистически хорош описанный в стандартной библиотеке (языка С) генератор псевдо-случайных чисел (функция \code{rand();}). Для такой статистической проверки нам понадобится сформировать так называемый \textit{частотный массив}, массив, в котором будет содержаться информация о том, сколько раз то или иное число появилось во множестве значений, полученном при помощи генератора псевдослучайных чисел, частота вхождения значений. Сама генерация псевдослучайных чисел происходит при помощий функции \code{rand();} которая создаёт целое число типа \code{int}. Но, поскольку целое число в таком диапазоне нам не нужно, мы его сократим при помощи оператора получения остатка от деления. +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +#include +#include +#include +#define ARRAY_LENGTH 10 +#define NUMBERS_AMOUNT 1000000 + +int main( int argc, char *argv[]){ + srand(time(NULL)); // initialize PRNG + int frequency[ARRAY_LENGTH] = {0}; + int a; + int i; + for (i = 0; i < NUMBERS_AMOUNT; i++) { + a = rand() % ARRAY_LENGTH; + frequency[a]++; + } + + for (i = 0; i < ARRAY_LENGTH; i++) { + printf("Number %d generated %6d (%5.2f%%) times\n", + i, + frequency[i], + ((float)frequency[i] / NUMBERS_AMOUNT * 100)); + } + return 0; + } +\end{lstlisting} +\end{figure} +Обратите внимание на 14ю строку: для сгенерированного на 13й строке числа \code{0} увеличим значение в 0-й ячейке массива, для числа \code{1} - в 1-й, и т.д. Данная программа наглядно демонстрирует не только работу с массивами, но и то, что генератор псевдослучайных чисел в языке С генерирует статистически верную последовательность случайных чисел. Инициализация генератора псевдослучайных чисел на восьмой строке \code{srand(time(NULL));} происходит значением текущего времени системы, то есть мы гарантируем, что начальное значение генератора будет отличаться от запуска к запуску, а значит наше исследование будет чуть более достоверным. + +\begin{figure}[h!] +\begin{verbatim} +$ ./program +Number 0 generated 99955 (10.00%) times +Number 1 generated 99977 (10.00%) times +Number 2 generated 100156 (10.02%) times +Number 3 generated 99952 (10.00%) times +Number 4 generated 100212 (10.02%) times +Number 5 generated 100713 (10.07%) times +Number 6 generated 99418 ( 9.94%) times +Number 7 generated 99768 ( 9.98%) times +Number 8 generated 99918 ( 9.99%) times +Number 9 generated 99931 ( 9.99%) times +\end{verbatim} +\end{figure} +Запуск программы (даже несколько запусков) показывает, что всех значений получилось около десяти процентов, что говорит о том, что последовательность псевдослучайных чисел статистически верна. + +\subsection{Идентификатор массива} +Это будет непросто, но мы поговорим о том, что из себя представляет идентификатор массива, чем чреват выход за пределы массива, затронем тему арифметики указателей и научимся передавать указатели на массивы в функции. Как упоминалось ранее, массив - это ссылочный тип данных. То есть в идентификаторе хранится адрес, ссылка на первый байт первого элемента массива, дальнейший доступ к элементам осуществляется посредством \textit{смещения относительно этого байта}. Таким образом запись вида \code{array[0]} говорит нам о том, что нужно взять адрес массива и сместить указатель на \code{0} элементов того типа, из которых состоит массив. Отсюда становится ясно, почему \textbf{индексирование массивов начинается с нуля}. + +Давайте попробуем визуализировать положение вещей в массивах. На рисунке со стр. \hyperref[pic:arrays]{\pageref{pic:arrays}} можно увидеть создание массива на первой строке, далее доступ к двум его ячейкам для записи в них значений. +\begin{figure}[h!] + \begin{multicols}{2} + \begin{lstlisting}[language=C,style=CCodeStyle] + int arr[ARRAY_LENGTH]; + arr[0] = 20; + arr[1] = 50; + \end{lstlisting} + \columnbreak + \begin{tikzpicture} + \draw[step=0.5cm,gray,very thin] (0,-0.5) grid (5, 2); + \draw(0, -0.5) -- (5, -0.5) -- (5, 0) -- (0, 0) -- cycle; + \draw(0, 0.5) -- (5, 0.5) -- (5, 1) -- (0, 1) -- cycle; + \draw(0, 1.5) -- (5, 1.5) -- (5, 2) -- (0, 2) -- cycle; + \fill[blue!40!white] (0, 0.5) rectangle (0.5, 1); + \fill[blue!40!white] (0.5, -0.5) rectangle (1, 0); + \end{tikzpicture} + \end{multicols} + \caption{Визуализация создания и индексации массива} + \label{pic:arrays} +\end{figure} +Соответственно, когда мы берем элемент с нулевым смещением, то есть по нулевому индексу, это будет ячейка памяти, находящаяся ровно по адресу массива. Все остальные ячейки мы просто игнорируем. Далее, берем следующий элемент массива. Для этого возьмем смещение в единицу, допустим, это будет число 50. Соответственно смещение будет на одну ячейку типа \code{int}. То есть мы игнорируем нулевой элемент и берем первый. Становится очевидно, что если мы в своём коде напишем такой индекс, который находится за пределами описанного массива - мы просто получим какое-то значение, которое никак не можем прогнозировать. + +Относительно выхода за пределы массива надо сказать, что ни компилятор, ни тем более операционная система никаких проверок не делают, поэтому такие проверки (чаще всего самопроверки на этапе написания кода) полностью ложатся на плечи программиста. Язык С не предоставляет никаких сред виртуализации, никаких подсистем исключений, только выдача случайных данных, которые могут попасться нашей программе. Или запись в ячейки, которые совершенно не гарантированно останутся пустыми. +\frm{В связи с тем, индекс массива - это значение смещения, относительно его начала, и, как следствие, индексы массива всегда отсчитываются с нуля, важно помнить, что при создании массива из, например, десяти элементов десятый индекс будет находиться за пределами массива.} +Надо сказать, что всё-таки б\'{o}льшая часть значений за пределами массива будет равна нулю, но всё равно лишний раз экспериментировать не стоит. +\begin{figure}[h!] + \begin{multicols}{2} + \begin{lstlisting}[language=C,style=CCodeStyle] + arr[11] = 60; + \end{lstlisting} + \columnbreak + \begin{tikzpicture} + \draw[step=0.5cm,gray,very thin] (0,-0.5) grid (6, 0); + \draw(0, -0.5) -- (5, -0.5) -- (5, 0) -- (0, 0) -- cycle; + \fill[red!40!white] (5.5, -0.5) rectangle (6, 0); + \end{tikzpicture} + \end{multicols} + \caption{Выход за пределы массива} + \label{pic:outofbounds} +\end{figure} +Как мы уже знаем, в идентификаторе массива хранится ссылка на первый байт первого элемента массива, т.е. идентификатор является, по сути, указателем. Но существует несколько отличий: указатель - это переменная, к ней применимы, например, операции инкремента и декремента, чего конечно нельзя делать с идентификатором массива. +\frm{Идентификатор массива \textbf{не является} lvalue, Но один элемент массива является lvalue. Так, записи вида \code{arr++;} или \code{arr = 5} будут являться ошибочными, поскольку в них происходит обращение не к конкретному элементу с целью его изменения, а к массиву целиком.} +Обратившись к идентификатору массива мы можем получить доступ к элементам массива не только при помощи записи индекса в квадратных скобках, но и при помощи так называемой арифметики указателей. Мы знаем, что массив - это единая область памяти, и значения в нём располагаются подряд по очереди, значит, отсчитав от указателя на первый индекс нужное количество байт - мы получим указатель на второй индекс. Давайте для примера подсчитаем среднее арифметическое всех чисел в массиве, с использованием арифметики указателей. + +Будем запрашивать значения для расчётов у пользователя. Создадим вспомогательную переменную \code{float result;}, для хранения результата и в цикле будем запрашивать у пользователя числа. Количество введенных цифр должно соответствовать количеству элементов массива, поэтому условием выхода из цикла будет равенство счётчика и последнего индекса массива, то есть, длины массива минус единица. +\frm{Обратите внимание, что в коде мы указали условием выхода из цикла \textbf{строгое неравенство}, то есть со значением \code{i} равным длине массива в тело цикла мы не попадём.} +Помним, что индексация массива начинается с нуля, поэтому длина массива всегда на единицу больше последнего индекса. Выведем в консоль надпись <<введите значение>>, при помощи функции \code{scanf();} считаем его и сразу привычным образом, оператором индексного доступа, положим в массив. +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +int arr[ARRAY_LENGTH]; +int i = 0; +float result = 0; +while (i < ARRAY_LENGTH) { + printf("Enter value %d: ", i); + scanf("%d", arr[i]); + i++; +} + \end{lstlisting} +\end{figure} +Выведем в консоль получившийся массив при помощи цикла \code{for(;;)} и привычной нам функции \code{printf();}. Следом напишем ещё один цикл в котором подсчитаем среднее арифметическое. Для этого к результату будем прибавлять существующий результат и значение массива на которое указывает уже не такая привычная, как квадратные скобки конструкция \code{*(arr + i)}, которую сразу и разберём. +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +printf("Your array is: "); +for (i = 0; i < ARRAY_LENGTH; i++) + printf("%d ", arr[i]); + +printf("\nAnd the average is: "); +for (i = 0; i < ARRAY_LENGTH; i++) + result += *(arr + i); +printf("%f\n", result / ARRAY_LENGTH); + \end{lstlisting} +\end{figure} +Как вы видите, некоторые подсчеты программа выполняет за нас - мы прибавляем к указателю единицу, двойку, тройку и т.д, а программа понимает, что надо взять не следующий по счёту байт, а следующий указатель. Так как в данном примере мы используем массив в котором хранятся значения типа \code{int}, а как вы помните \code{int} в подавляющем большинстве случаев - это четыре байта, то при увеличении указателя на единицу, мы обратимся к области памяти находящейся на четыре байта дальше идентификатора, при увеличении на двойку на восемь байт и так далее. Подсчитать среднее арифметическое не составит труда, этот алгоритм нам знаком со средней школы. Далее при помощи функции \code{printf();} выведем в консоль среднее арифметическое. Запустим, повводим цифры и убедимся что все работает. +\begin{verbatim} +$ ./program +Enter value 0: 1 +Enter value 1: 2 +Enter value 2: 3 +Enter value 3: 4 +Enter value 4: 5 +Enter value 5: 6 +Enter value 6: 7 +Enter value 7: 8 +Enter value 8: 9 +Enter value 9: 10 +Your array is: 1 2 3 4 5 6 7 8 9 10 +And the average is: 5.500000 +\end{verbatim} +Внимательный читатель мог заметить, что мы применяем операцию \textit{разыменования}. Что происходит, когда мы таким образом обращаемся к массиву? Операция разыменования получает доступ к значению, находящемуся по адресу. Адресс массива - это адрес его первого элемента, поэтому конструкция \code{*arr} вернёт значение нулевого элемента массива. А прибавление значений к этому указателю будет смещать его также, как это делает оператор квадратных скобок. + +Как уже упоминалось, идентификатор массива - это не обычный указатель. Обычный указатель хранит в себе адрес какой-то другой переменной, и сам где-то хранится. Указатель на начало массива хранит в себе адрес массива, то есть адрес его нулевого элемента, и сам этот указатель находится в этом самом месте. На первый взгляд сложновато? Но пусть Вас это не сбивает с толку, на деле всё не так жутко. На деле это означает, что при передаче массива (читай идентификатора массива) в функцию в качестве аргумента, мы не должны использовать оператор взятия адреса, поскольку идентификатор массива сам по себе является указателем на собственное начало. Это открывает для нас широкие возможности по написанию функций, работающих с массивами данных. В только что написанной нами программе оформим вывод массива на экран и поиск среднего арифметического в виде функции. Опишем функции \code{printArray()} и \code{average()} в которые передадим указатель на массив и его длину, т.к. в массиве не содержится сведений о его размере. + +Поскольку мы передаём в функцию указатель, то все действия которые описаны в этой функции будут происходить с массивом который мы создали в основной части программы через этот указатель, который мы передали, никакого копирования значений или чего то подобного. Для корректной работы наших функций объявим в них счётчик и изменим названия переменных на названия параметров. +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +void printArray(int* array, int length) { + int i; + for (i = 0; i < length; i++) + printf("%d ", array[i]); +} + +float average(int* array, int length) { + float result = 0; + int i; + for (i = 0; i < length; i++) + result += *(array + i); + return result / length; +} + \end{lstlisting} +\end{figure} + +Так, полный листинг этого примера на стр. \hyperref[code:arrayaverage]{\pageref{code:arrayaverage}}. +\begin{figure}[h!] + \lstinputlisting[language=C,style=CCodeStyle]{../sources/arrayaverage.c} + \label{code:arrayaverage} +\end{figure} +\newpage + +\subsection{Многомерные массивы} +Массив в языке С может иметь сколько угодно измерений. Все массивы, с которыми мы имели дело до этого момента - одномерные, их легко визуализировать в виде простого перечисления элементов, возможно, как строки или как таблицы, состоящей из одной строки. Самые распространённые многомерные массивы - это двумерные и трёхмерные, которые легко себе представить в виде таблицы или куба соответственно. Итак, массив это структура, содержащая элементы. Двумерный массив - это массив из массивов, содержащих элементы. Трёхмерный - это массив из массивов, содержащих массивы, которые содержат элементы. И так далее. В массиве могут находиться любые типы данных, мы, для удобства, будем рассматривать работу массивов с числами. + +Попробуем визуализировать двумерный массив. Создадим двумерный массив в коде, например, 5х5 элементов. Массив 5х5 – это 5 столбцов и 5 строчек. Соответственно, \textit{каждая строчка – это будет у нас младший индекс, а каждый столбец – старший индекс}. Трехмерный массив может быть, например, 3х3х3 – его можно визулизировать как всем известный кубик Рубика то есть, это три стоящих друг за другом таблицы 3х3. Также опишем его в коде ниже. Получается, что мы к таблице (ширине и высоте) добавили третье \textbf{измерение}, поэтому и массив получается \textbf{многомерным}, в данном случае, \textbf{трёхмерным}. Массивы б\'{о}льших размерностей тоже можно встретить в программах, но значительно реже, только лишь потому, что их действительно немного сложнее представить себе. +\begin{figure}[h!] + +\begin{multicols}{2} +\begin{lstlisting}[language=C,style=CCodeStyle] +int twoDimensional[5][5]; +\end{lstlisting} + +\begin{center} +\begin{tabular}{||c|c|c|c|c||} + \hline + \hline + 0,0 & 0,1 & 0,2 & 0,3 & 0,4 \\ + \hline + 1,0 & 1,1 & 1,2 & 1,3 & 1,4 \\ + \hline + 2,0 & 2,1 & 2,2 & 2,3 & 2,4 \\ + \hline + 3,0 & 3,1 & 3,2 & 3,3 & 3,4 \\ + \hline + 4,0 & 4,1 & 4,2 & 4,3 & 4,4 \\ + \hline + \hline +\end{tabular} +\end{center} + \columnbreak +\begin{lstlisting}[language=C,style=CCodeStyle] +int threeDimensional[3][3][3]; +\end{lstlisting} + +\begin{tikzpicture}[every node/.style={minimum size=1cm},on grid] +\begin{scope}[every node/.append style={yslant=-0.5},yslant=-0.5] + \node at (0.5,2.5) {2,0,0}; + \node at (1.5,2.5) {1,0,0}; + \node at (2.5,2.5) {0,0,0}; + \node at (0.5,1.5) {2,1,0}; + \node at (1.5,1.5) {1,1,0}; + \node at (2.5,1.5) {0,1,0}; + \node at (0.5,0.5) {2,2,0}; + \node at (1.5,0.5) {1,2,0}; + \node at (2.5,0.5) {0,2,0}; + \draw (0,0) grid (3,3); +\end{scope} +\begin{scope}[every node/.append style={yslant=0.5},yslant=0.5] + \node at (3.5,-0.5) {0,0,0}; + \node at (4.5,-0.5) {0,0,1}; + \node at (5.5,-0.5) {0,0,2}; + \node at (3.5,-1.5) {0,1,0}; + \node at (4.5,-1.5) {0,1,1}; + \node at (5.5,-1.5) {0,1,2}; + \node at (3.5,-2.5) {0,2,0}; + \node at (4.5,-2.5) {0,2,1}; + \node at (5.5,-2.5) {0,2,2}; + \draw (3,-3) grid (6,0); +\end{scope} +\begin{scope}[every node/.append style={yslant=0.5,xslant=-1},yslant=0.5,xslant=-1] + \node at (3.5,2.5) {2,0,0}; + \node at (3.5,1.5) {1,0,0}; + \node at (3.5,0.5) {0,0,0}; + \node at (4.5,2.5) {2,0,1}; + \node at (4.5,1.5) {1,0,1}; + \node at (4.5,0.5) {0,0,1}; + \node at (5.5,2.5) {2,1,2}; + \node at (5.5,1.5) {1,1,2}; + \node at (5.5,0.5) {0,1,2}; + \draw (3,0) grid (6,3); +\end{scope} +\end{tikzpicture} + +\end{multicols} +\end{figure} + +Как работать с многомерными массивами мы рассмотрим на примере двумерного массива. Поставим для себя задачу: сформировать таблицу Пифагора (раньше такие на тетрадях в клетку печатали на обратной стороне). Таблица подразумевает наличие двух измерений: строк и колонок. Для этого объявим константы rows и cols и присвоим им значения 10, \code{rows} – это количество строк, а \code{cols}, соответственно, столбцов. Создадим двумерный массив, \code{table[rows][cols]}. Таким образом, мы создали массив размером rows, в каждом элементе которого содержится ссылка на массив размером cols, т.е. массив массивов содержащих непосредственные значения. +\frm{Важно помнить, что описанное строение массива является понятийным, и физически в памяти элементы хранятся иначе, но на основе этого понятия можно изучить работу оператора разыменования указателей в чати работы с многомерными массивами, так для получения доступа к значению с индексом \code{cube[1][1][1]} нужно трижды разыменовать \code{cube}:\newline \code{*( *( *(cube + 1) + 1) + 1)}} +Таблица Пифагора представляет собой таблицу, где строки и столбцы озаглавлены множителями, а в ячейках таблицы находится их произведение. Вот это самое произведение мы и будем сначала считать и записывать в массив, а затем выводить на экран. Заполнение многомерных массивов значениями ничем не отличается от заполнения одномерных массивов. Заполним нашу матрицу поэлементно: напишем двойной цикл который будет заполнять таблицу. Объявим переменные-итераторы. И с помощью внешнего цикла \code{for(;;)} пройдемся по всем строкам массива, а с помощью вложенного - по всем столбцам каждой строки массива, при этом будем записывать в каждый элемент (ячейку таблицы) результат умножения. Формула \code{(r + 1) * (c + 1)} позволяет исключить нули из нашей таблицы умножения. +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +const int rows = 10, cols = 10; +int table[rows][cols]; + +int r, c; +for (r = 0; r < rows; r++) { + for (c = 0; c < cols; c++) + table[r][c] = (r + 1) * (c + 1); +} +\end{lstlisting} +\end{figure} +И ещё раз: внешний цикл при каждой итерации перемещает нас на одну строчку вниз. Вложенный, при каждой итерации, перемещает нас на одно значение вправо. Важно понять, что на одну итерацию внешнего цикла приходится \code{cols} итераций вложенного. Т.е. с помощью такой конструкции мы всегда поочередно переберём все элементы массива. + +Сразу отметим, что помимо такого, поэлементного способа, также есть способ заполнять многомерные массивы посредством конструкции в фигурных скобках, этот подход часто используется когда мы заранее знаем все значения и их не очень много. Например, вот так объявляем и инициализируем двумерный массив размером 3х4: +\begin{lstlisting}[language=C,style=CCodeStyle] +int arr[3][4] = { + {0, 1, 2, 3}, + {4, 5, 6, 7}, + {8, 9, 10, 11} +}; +\end{lstlisting} +Как и в случае такой инициализации одномерного массива, указание размерности в квадратных скобках не обязательно. Обратите внимание, что при такой инициализации удобно писать каждую строку массива отдельной строкой в коде, соответвтующим образом расставляя фигурные скобки и запятые, такое оформление кода значительно улучшает его читаемость. Вернёмся к таблице Пифагора и напишем такой же (как и для заполнения) двойной цикл, который будет выводить на экран наши двумерные массивы в удобном для нас виде. +\begin{lstlisting}[language=C,style=CCodeStyle] +for (r = 0; r < rows; r++) { + for (c = 0; c < cols; c++) + printf("%3d ", table[r][c]); + printf("\n"); +} +\end{lstlisting} +Запустив нашу программу с формированием таблицы умножения увидим, что все отлично работает. Полный листинг программы приводить не целесообразно, поскольку это цикл с заполнением и цикл с выводом, полностью привед§нные выше. К тому же, такой код носит исключительно академический характер, и в случае действительной необходимости формирования таблицы Пифагора на экране промежуточное заполнение массива будет излишним, результат умножения целесообразнее сразу выводить на экран. + +Как уже говорилось, все массивы могут содержать данные любых типов, в том числе и указатели. Именно это позволяет массиву хранить другие массивы, строки и прочие ссылочные типы данных. Используя массивы указателей, мы можем создать, например, массив строк. +\begin{lstlisting}[language=C,style=CCodeStyle] +char* stringArray[3] = {"Hello", "C", "World"}; +int r; +for (r = 0; r < 3; r++) + printf("%s ", stringArray[r]); +\end{lstlisting} +Это указатели на строки, а точнее, на строковые литералы. Такой тип данных (строковый литерал) является указателем. И мы можем создать из этих указателей массив. Используя массивы указателей, мы можем создать, например, двумерный массив, где каждый элемент не обязан быть того же размера, что и остальные (но обязан быть того же типа, как мы помним). Но строки и сложно составленные указатели - это темы, которые очень сильно выходят за рамки Основ языка, хотя, конечно, это не помешает нам немного подробнее разобраться со строками в следующем разделе. diff --git a/sections/10-strings.tex b/sections/10-strings.tex new file mode 100644 index 0000000..bf59b5e --- /dev/null +++ b/sections/10-strings.tex @@ -0,0 +1,251 @@ +\section{Строки} +Получив в предыдущих разделах представление об указателях и массивах, и вскользь несколько раз упомянув строки, пришла пора изучить их подробнее. + +Итак, что же такое \textbf{строка}. В повседневной жизни строка \textit{это набор или последовательность символов}. Так вот в языке С строка - это тоже последовательность символов. А последовательности значений, в том числе символьных, в языке С представлены, как вы, уже знаете, массивами и указателями. Никакого примитива \code{string} в языке С нет. Как бы нам этого не хотелось - его нет. Но есть и хорошая новость, примитива \code{string} не существует и в других языках (здесь имеются ввиду, конечно, си-подобные языки, то есть примерно треть вообще всех языков программирования, известных сегодня). Раз строка - это массив или указатель, это всегда ссылочный тип данных. Например, строку можно объявить двумя способами: + +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +// строка +char str[50] = + {'h','e','l','l','o',' ','w','o','r','l','d','\0'}; + +// литерал + char* str = "Hello world"; + \end{lstlisting} +\end{figure} +Раз строка - это набор символов, давайте немного вспомним что такое сиволы и как с ними работать. Как вам уже известно, символьная переменная это переменная типа \code{char}. В отличие от строки это примитивный, числовой, тип данных, и к нему применимы все операции допустимые для примитивов, такие как присваивание, сложение, вычитание, умножение, деление, хотя не все имеют смысл, так автор, например с трудом может представить ситуацию в которой необходимо умножать или делить коды символов, кроме, пожалуй, криптографии. Обратим внимание на следующую запись: +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] + char c0 = 75; + сhar с1 = ‘К’; + \end{lstlisting} +\end{figure} +Здесь значением \code{c0} является \code{75}, что абсолютно эквивалентно значению переменной \code{c1}, равной символу \code{K}. То есть можно сказать, что преобразование чисел в символы и наоборот согласно таблицы, наподобие ASCII, частично приведённой на стр. \hyperref[table:ascii]{\pageref{table:ascii}}, встроена в работу компилятора языка С. Однако для улучшения читаемости кода лучше использовать вариант \code{sym = 'K'}. + +\begin{figure}[h!] + \begin{tabular}{||c|c|c||c|c|c||c|c|c||c|c|c||} + \hline + dec & hex & val & dec & hex & val & dec & hex & val & dec & hex & val \\ + \hline + 000 & 0x00 & (nul) & 032 & 0x20 & \textvisiblespace & 064 & 0x40 & @ & 096 & 0x60 & \textquoteleft \\ + 001 & 0x01 & (soh) & 033 & 0x21 & ! & 065 & 0x41 & A & 097 & 0x61 & a \\ + 002 & 0x02 & (stx) & 034 & 0x22 & " & 066 & 0x42 & B & 098 & 0x62 & b \\ + 003 & 0x03 & (etx) & 035 & 0x23 & \# & 067 & 0x43 & C & 099 & 0x63 & c \\ + 004 & 0x04 & (eot) & 036 & 0x24 & \$ & 068 & 0x44 & D & 100 & 0x64 & d \\ + 005 & 0x05 & (enq) & 037 & 0x25 & \% & 069 & 0x45 & E & 101 & 0x65 & e \\ + 006 & 0x06 & (ack) & 038 & 0x26 & \& & 070 & 0x46 & F & 102 & 0x66 & f \\ + 007 & 0x07 & (bel) & 039 & 0x27 & \textquotesingle & 071 & 0x47 & G & 103 & 0x67 & g \\ + 008 & 0x08 & (bs) & 040 & 0x28 & ( & 072 & 0x48 & H & 104 & 0x68 & h \\ + 009 & 0x09 & (tab) & 041 & 0x29 & ) & 073 & 0x49 & I & 105 & 0x69 & i \\ + 010 & 0x0A & (lf) & 042 & 0x2A & * & 074 & 0x4A & J & 106 & 0x6A & j \\ + 011 & 0x0B & (vt) & 043 & 0x2B & + & 075 & 0x4B & K & 107 & 0x6B & k \\ + 012 & 0x0C & (np) & 044 & 0x2C & \textquoteright & 076 & 0x4C & L & 108 & 0x6C & l \\ + 013 & 0x0D & (cr) & 045 & 0x2D & - & 077 & 0x4D & M & 109 & 0x6D & m \\ + 014 & 0x0E & (so) & 046 & 0x2E & . & 078 & 0x4E & N & 110 & 0x6E & n \\ + 015 & 0x0F & (si) & 047 & 0x2F & / & 079 & 0x4F & O & 111 & 0x6F & o \\ + 016 & 0x10 & (dle) & 048 & 0x30 & 0 & 080 & 0x50 & P & 112 & 0x70 & p \\ + 017 & 0x11 & (dc1) & 049 & 0x31 & 1 & 081 & 0x51 & Q & 113 & 0x71 & q \\ + 018 & 0x12 & (dc2) & 050 & 0x32 & 2 & 082 & 0x52 & R & 114 & 0x72 & r \\ + 019 & 0x13 & (dc3) & 051 & 0x33 & 3 & 083 & 0x53 & S & 115 & 0x73 & s \\ + 020 & 0x14 & (dc4) & 052 & 0x34 & 4 & 084 & 0x54 & T & 116 & 0x74 & t \\ + 021 & 0x15 & (nak) & 053 & 0x35 & 5 & 085 & 0x55 & U & 117 & 0x75 & u \\ + 022 & 0x16 & (syn) & 054 & 0x36 & 6 & 086 & 0x56 & V & 118 & 0x76 & v \\ + 023 & 0x17 & (etb) & 055 & 0x37 & 7 & 087 & 0x57 & W & 119 & 0x77 & w \\ + 024 & 0x18 & (can) & 056 & 0x38 & 8 & 088 & 0x58 & X & 120 & 0x78 & x \\ + 025 & 0x19 & (em) & 057 & 0x39 & 9 & 089 & 0x59 & Y & 121 & 0x79 & y \\ + 026 & 0x1A & (eof) & 058 & 0x3A & : & 090 & 0x5A & Z & 122 & 0x7A & z \\ + 027 & 0x1B & (esc) & 059 & 0x3B & ; & 091 & 0x5B & [ & 123 & 0x7B & \char`\{ \\ + 028 & 0x1C & (fs) & 060 & 0x3C & < & 092 & 0x5C & \char`\\ & 124 & 0x7C & | \\ + 029 & 0x1D & (gs) & 061 & 0x3D & = & 093 & 0x5D & ] & 125 & 0x7D & \char`\} \\ + 030 & 0x1E & (rs) & 062 & 0x3E & > & 094 & 0x5E & \^{} & 126 & 0x7E & \~{} \\ + 031 & 0x1F & (us) & 063 & 0x3F & ? & 095 & 0x5F & \char`\_ & 127 & 0x7F & \DEL \\ + \hline + \end{tabular} + \caption{Фрагмент таблицы ASCII} + \label{table:ascii} +\end{figure} + +Таких таблиц кодировок несколько, а может, даже и несколько десятков. Разные операционные системы и разные приложения используют разные кодировки, например, в русскоязычной версии ОС Windows по-умолчанию используется cp1251, в то время как в командной строке этой же ОС используется cp866. Файлы можно сохранить в Unicode или ANSI. UNIX-подобные ОС, такие как Linux и Mac OS X обычно используют UTF-8 или UTF-16, а более ранние операционные системы и интернет пространства в русскоязычном сегменте использовали KOI8-R. + +Немного вспомнив, что такое символы, переходим к строкам. Строками мы пользуемся с самых первых страниц этого документа: написав в двойных кавычках <<Привет, Мир>>, мы использовали строку, а если точнее, строковый литерал. Строки иногда называют типом данных, но в языке С строка это указатель на последовательно записанный набор символов, поэтому работать с ним можно, как с массивами. Строки в языке С можно описать двумя способами: как указатель и как массив из переменных типа char. +\frm{Объявление строки как указателя на символы в языке С++ полностью заменили на указатель на константный набор символов, чтобы подчеркнуть неизменяемость литерала. То есть, если в языке С считается нормальной запись \code{char* s = "Hello";} то в С++ это можно записать \textbf{только} как \code{const char* s = "Hello";} при этом в обоих языках поведение такого указателя будет обинаковым.} +Давайте создадим строку в виде массива из \code{char} назовем ее \code{string1} и запишем внутрь литерал \code{This is a string!} - это строка. Также создадим указатель, назовем его \code{string2} и запишем в него литерал \code{This is also a string!} – это тоже строка. Выведем наши строки в консоль и убедимся, что автор не ошибся и их действительно можно так объявлять. + +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +char string1[256] = "This is a string!"; +char* string2 = "This is also a string!"; +printf("%s \n", string1); +printf("%s \n", string2); + \end{lstlisting} +\end{figure} + +У каждого из способов есть свои особенности. Так, например в \textit{массиве} из переменных типа \code{char} мы можем изменять символы. Всё работает. Попробовав изменить какой-нибудь символ в \code{string1}, например, пятый, на символ \code{X} можно будет убедиться, что объявленная таким образом строка изменяемая, в отличие от строкового литерала, попытка изменить который приведёт к ошибке во время исполнения программы. Указатель на \code{char} нам не даёт возможности частично менять содержимое внутри строки, и, получается, представляет собой \textbf{immutable string} – неизменяемую строку. + +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +string1[5] = 'X'; +printf("%s\n", string1); + +string2[5] = 'X'; +printf("%s\n", string2); + \end{lstlisting} +\end{figure} + +Обратите внимание, что компилятор не считает такую запись неверной и ошибка проявляет себя только во время исполнения программы. Таким образом, становится очевидно, что программисту недостаточно просто убедиться в том, что его код компилируется, но необходимо и проверить его работу во время исполнения. Часто в этом помогают Unit-тесты. Среди нерадивых программистов бытует мнение, что вообще все тесты должны писать специалисты в тестировании, но на примере выше, когда код компилируется, а программа всё равно не работает должным образом, мы видим, что некоторая более тщательная проверка своей работы должна быть выполнена именно программистом, а тестирование - это лишь инструмент, помогающий автоматизировать такие проверки. +\begin{verbatim} +$ ./program +Hello, world! +Hello, world! +HelloX world! +zsh: bus error ./program +$ +\end{verbatim} + +Но довольно об ограничениях. Указатели на строки не такие уж бесполезные, мы можем, например, возвращать их из функций. То есть, мы можем объявить тип возвращаемого из функции значения как указатель \code{char*}, вернуть из нее строку и, например, вывести в консоль. Это открывает перед нами широчайшие возможности по работе с текстами. + +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] +char* helloFunction() { + return "Hello!"; +} + +int main() { + printf("%s \n",* helloFunction ()); +} + \end{lstlisting} +\end{figure} + +Этот код выведет в консоль ожидаемое приветствие. Параллельно с написанием функции, приветствующей мир, предлагаю изучить некоторые стандартные возможности языка С для работы со строками. Например, специальную функцию, которая призвана выводить строки в консоль: \code{puts();} работает она очень похожим на \code{printf();} образом, но может выводить только строки, без каких-то других параметров, и всегда добавляет символ конца строки. Также изучим специальную функцию \code{gets();} которая призвана считывать строки из консоли и записывать их в переменные. +\frm{Функция \code{gets();} некоторыми компиляторами признана небезопасной, её использование рекомендуется заменить на \code{gets\_s();} В С11 и позднее небезопасная функция была вовсе удалена из стандартной библиотеки языка и перестала поддерживаться всеми производителями компиляторов.} +Создадим изменяемую строку типа \code{char[]}, назовём её \code{name}, передадим эту строку в функцию \code{gets();} и выведем на экран результат, полученный из консоли. Это будет очень полезная заготовка для дальнейшего общения с пользователем. + +\begin{figure}[h!] + \begin{lstlisting}[language=C,style=CCodeStyle] + char name[255]; + gets(name); + puts(name); + \end{lstlisting} +\end{figure} + +Теперь, мы можем поприветствовать пользователя нашей программы как следует, по имени. В нашей существовавшей функции приветствия внесём небольшие изменения. Создадим строку, в которой будем хранить приветственное слово, и в которую будет дописываться имя пользователя. Применим функцию склеивания строк. Поскольку склеивание - ненаучный термин, будем использовать слово \textbf{конкатенация}. И именно это слово подсказывает нам название функции, которую мы будем использовать: \code{strcat();} +\frm{Для использования функции \code{strcat();} необходимо подключить в программу заголовочный файл, содержащий функции, работающие со строками \code{\#include }} +Функция принимает на вход два параметра - строку, \textit{к которой} нужно что-то прибавить, и строку, \textit{которую} нужно прибавить. Логично предположить, что первая строка должна быть изменяемой (то есть являться массивом символов, а не литералом). Функция прибавит все символы второй строки в первую (если в массиве хватит места) и вернёт указатель на изменённую строку. Очень удобно. Запустим наш проект, введем имя и убедимся что всё \textbf{сломалось}. + +\begin{lstlisting}[language=C,style=CCodeStyle] +char* helloFunction(char* name) { + char welcome[255] = "Hello, "; + return strcat(welcome, name); +} + +int main(int argc, const char* argv[]) { + char name[256]; + gets(name); + + puts(helloFunction(name)); + return 0; +} +\end{lstlisting} +Что же случилось? Мы можем возвращать из функции только фиксированные строки, как в предыдущем примере. То есть, получается, нужно писать кейс, в котором содержатся все возможные имена, и оператором вроде \code{switch()} перебирать все возможные варианты ввода, и описывать все возможные приветствия пользователей, иначе мы устраиваем утечку памяти, создавая болтающийся в воздухе указатель, который никак не удалим? Нет, нас это, естественно, не устраивает. Что делать? Какой бы мы ни создали указатель в функции - он перестанет существовать, как только мы выйдем из области видимости этой функции. +\frm{В некоторых случаях может показаться, что никакой проблемы нет, поскольку написанная таким образом программа благополучно поприветствует пользователя, но такое поведение не гарантируется ни одним компилятором и ни одной операционной системой, поскольку возвращаемый таким образом указатель может быть переписан абсолютно любой следующей инструкцией кода. Такое \textit{исчезающее} значение называется \textbf{xvalue}.} +Выход очень простой: раз указатель не идёт в \code{int main (int argc, char *argv[])}, надо чтобы \code{int main (int argc, char *argv[])} дал нам указатель. Добавим в параметры функции указатель на выходную строку, и напишем что для начала сложить строки и положить в локальный массив \code{strcat(welcome, name)}. Добавим в основную функцию массив \code{char result[]}, который будет хранить результат и передадим в функцию \code{helloFunction} аргументы \code{name} и \code{result}. А раз функция больше ничего не возвращает, вполне легально сделать её \code{void}. + +\begin{lstlisting}[language=C,style=CCodeStyle] +void helloFunction(char* name, char* out) { + char welcome[255] = "Hello, "; + strcat(welcome, name); + out = welcome; +} + +int main(int argc, const char* argv[]) { + char name[256]; + char result[256]; + gets(name); + + helloFunction(name, result); + puts(result); + return 0; +} +\end{lstlisting} + +Запускаем, и \textbf{снова не работает}, да ещё и как интересно, смотрите! Предупреждение, ладно, понятно, мы о нём говорили, но дальше, когда мы вводим имя на выходе получается какая-то совсем уж непонятная строчка, совсем не похожая на приветствие. +\begin{verbatim} +$ ./program +warning: this program uses gets(), which is unsafe. +Ivan +??: + +$ +\end{verbatim} +А все дело в том, что строк в языке С за время повествования не появилось, и все манипуляции со строками - это довольно сложные алгоритмы работы с памятью и массивами символов. Поэтому, работая со строками, мы должны использовать библиотечные функции, например, есть функция \code{strcpy()}, которая не просто перекладывает указатель в определенную переменную, а копирует строку. + +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +void helloFunction (char* name, char* out) { + char welcome[255] = “Hello, ”; + strcat(welcome, name); + strcpy(out, welcome); +} +int main(int argc, const char* argv[]) { + char name[256]; + char result[256]; + gets(name); + helloFunction(name, result); + puts(result); + return 0; +} +\end{lstlisting} +\end{figure} +Если присмотреться, то можно заметить, что все функции работающие со строками, именно так и делают - запрашивают источник данных и конечную точку, куда данные нужно положить. А кто мы такие, чтобы спорить со стандартными библиотечными функциями? Обратите внимание на то, что функции \code{strcat();} и \code{strcpy();} возвращают указатель на получившуюся строку. Мы перестали возвращать указатель на получившуюся строку, поскольку никто не гарантирует, что он просуществует достаточно долго, и тут встаёт вопрос о вызывающем функцию контексте, нужен ли этот указатель вызывающему. В случае необходимости, конечно, его можно вернуть. Работа со строками в С до сих пор является очень и очень актуальной темой на программистских форумах, можете удостовериться в этом самостоятельно. + +Раз уж заговорили о стандартной библиотеке, рассмотрим ещё пару-тройку функций. Например, сравнение строк: функция \code{strcmp();} допустим, я хочу, чтобы именно меня программа приветствовала как-то иначе. Функция возвращает отрицательные значения, если первая строка меньше второй, положительные, если первая больше второй, и ноль, если строки равны. Это функция, которую удобно применять в условиях. Если строки будут действительно равны, мы скопируем в строку с именем слово \code{Creator}. + +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +void helloFunction (char* name, char* out) { + char welcome[255] = “Hello, ”; + if (strcmp("Ivan", name) == 0) + strcpy(name, "Creator"); + strcat(welcome, name); + strcpy(out, welcome); +} +\end{lstlisting} +\end{figure} + +Из всех функций для работы со строками чрезвычайно часто используются \code{atoi();} и \code{atof();} переводящие написанные в строке цифры в численные переменные внутри программы. \code{atoi();} переводит в \code{int}, а \code{atof();} во \code{float}, соответственно. Для примера объявим переменную \code{num}, предложим пользователю ввести цифру, естественно в виде строки. Будем принимать ее при помощи небезопасной функции \code{gets();}, хотя как мы помним, могли бы и \code{scanf();} который сразу бы преобразовал строку согласно использованного заполнителя. Заведем переменную \code{int number} для хранения результата работы функции преобразования. Затем, давайте умножим результат сам на себя, чтобы убедиться, что это и правда число, причём именно то, которое мы ввели, и выведем окончательное число в консоль. + +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +char num[64]; +puts("Enter a number: "); +gets(num); +int number = atoi(num); +number *= number; +printf("We powered your number to %d", number); +\end{lstlisting} +\end{figure} +Полный список функций для работы со строками можно посмотреть в заголовочном файле \code{string.h}. Описание и механика их работы легко гуглится, документации по языку очень много. + +В завершение беседы о строках и манипуляциях с ними, скажем ещё пару слов об обработке символов. Функции для работы с символами содержатся в заголовочном файле \code{stdlib.h}. Естественно, наша программа может получить от пользователя какие-то значения в виде строк. Не всегда же есть возможность использовать \code{scanf();} например, считывание из графических полей ввода или потоковый ввод данных из сети даёт нашей программе значения в виде строк. Стандартная библиотека языка С предоставляет нам функции для работы с каждым символом строки, например: +\begin{itemize} +\item \code{isalpha();} – возвращает истину, если символ в аргументе является символом из алфавита; +\item \code{isdigit();} – возвращает истину, если символ в аргументе является цифрой; +\item \code{isspace();} – проверяет, является ли переданный в аргументе символ пробельным; +\item \code{isupper();} \code{islower();} – находится ли переданный в аргументе символ в верхнем или нижнем регистре; +\item \code{toupper();} \code{tolower();} – переводят символ в верхний или нижний регистр, соответственно. +\end{itemize} +Можем использовать одну из них соответственно нашей задаче, допустим, пользователь может вводить своё имя как с заглавной буквы, так и всеми строчными. Уравняем оба варианта для нашей проверки одной строкой \code{name[0] = tolower(name[0]);} а после проверки вернём заглавную букву на место \code{name[0] = toupper(name[0]);} и удостоверимся что даже если мы напишем своё имя с маленькой буквы - программа напишет его с большой. + +\begin{figure}[h!] +\begin{lstlisting}[language=C,style=CCodeStyle] +void helloFunction (char* name, char* out) { + char welcome[255] = “Hello, ”; + name[0] = tolower(name[0]); + if (strcmp("ivan", name) == 0) + strcpy(name, "Creator"); + name[0] = toupper(name[0]); + strcat(welcome, name); + strcpy(out, welcome); +} +\end{lstlisting} +\end{figure}

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