From d4344411f5e9d08ddbae9ba5e56881f319de0c2c Mon Sep 17 00:00:00 2001
From: "Fletcher T. Penney" parser.y
has the source for this, and it is processed by the
-lemon parser generator to create the actual
-code.
I chose to do this because hand-crafting the block parser would be complex. The end result would likely be difficult to read and understand, which would @@ -396,6 +395,36 @@ Otherwise, it was hard to see how to really create very good unit tests for the development of MMD. So there is really not much unit testing built into the code or used during the development.
+MMD v6 has no external dependencies when compiling, aside from the standard +libraries for C development.
+ +MMD can be compiled without any other tools beside the build system (cmake).
+ +If you want to edit the block parser, you need to modify the parser.y
file
+and process that using lemon in order to update the parser.c
file. The
+lemon parser source is actually included in MMD and needs to be compiled to be
+used.
If you want to update the lexer or scanner utility functions, then you can
+modify lexer.re
or scanners.re
. These need to be processed using re2c,
+which has to be installed separately.
MMD v6 makes use of several other projects to improve performance and ease of +use:
+ +uthash – provides support for hashes to quickly locate specific “objects” +based on text keys. These are used for matching footnotes, links, images and +the like when created with the reference syntax. Much faster than searching +through each one sequentially.
miniz – provides zip archive support to enable creation of EPUB 3 files, +which are zip files with a specific file structure inside them.
argtable3 – provides more advanced command-line argument processing in a +more cross-platform approach than that used by MMD v5.
ywIn*@#4K@7B9~NInk7a8#ebjio?~%ve65)4wJ(M-H3WYhT;NO6BJ8 z9fH08Tsx^~!l&zf;K9JiXhN(!sd0r0=Tl_B;np5#b77=GmjfK z`1jXHY7TzGy*b{QT`-l4(ij{NDtZ7yc{TTN(16nKJEm$xn#UDIv!FF*le^RuMy<&; zf)?( GzlQo*3zF2WSWJOmw+ z53WSE?ZQYNwR`a6xb|$l-52}1uHJWOP7(*ycq4;-TmB&U#XtE+?3MtS=3CM-gjD~b zeJU!P7l LUk=fr``!Tf9iQ(DWiCwi+|7V4bPz-vtt_ zyP0=jO$x`2DRf08^|(eY=$_}J#Sat*G7l8PU(cmVAM$U;1$#RyA1Ic;)Bf+Q8?2*C zhOh_y2povAUNLWl5%mjwyz#7EJ3BF7#u0hJEgRsz8l4&dU=dY@;Yb6}tcK}ATJ8Kh zorRB#+_XsdjoBTPYnYk$cZ!bz!EFR|{0NnjD_jlBVJK=CN7cHl?973CCa@V&j<0N^ z-svOawTdjgf^-d}9O`D0kiOBPBv0!pSOkA{J7~-*|0J_F@P3z3>=&I9R0~kCfqL;x z>WA3XV5@`&u01e3Y#=Wu6IGErI8pqre26{K7HlteNQk4qgGtvp(`9J{owOxhM3@}7 zv;^_HW^X+IA|iSIb;f;9KBtkhW2fUUU;bY9P$C7~bCtcM>rbfrD^&~AXyt$^X2zlp zfjwW%QJ=nGerPL5mVv7c6$y1T)xPi0Evl;?9-E{ gK8X;JVS|*5_A@?P3x;{Z+>2^Q<)!Hd zr^8e()Rw?1k6BT0J-=7CJ-pctc+-ZELWZu{u)J`Qo?YkH%0_)g`1#q}H~T$z VQf(VyFoxtX~AzzbAjg6x$6YY-Ix$<1KLX|gc4W51dWX~gw!?d3>B zVAT!kY+TY%LLL_NkZXNf5R cXNky>{eG6(q2UT6-_9fllP6mO2z zx`o7615$Bc{hlgmMz5igDv{L}R{K4_`zZT4+IA`kWBsx==_H=@*JUxwc(+w~At7e@ z#MZCchP~@T^t|lbVVT86W=hzCfx)~K3GC}UF@l8w;&CoDljYn~o{u^bo+#R5sL%lt zg? mmuE%^C9I9ZotJ&vlf4hZAH!zt9W` zwh#VYktdWNN_El}IWv=6y{EjUYU;o27)2Dhq%VSRif&SDnoLr1NFfkY$- o88h^+E@dSY69?-UU6~Xk8$wYem0YnO@9AnA H$!H8M3C;U6eCyd97Sphedl6BuSbj>Vm0hhC KiYLr9&U&FY@o6`qLpBf0%;BCHr%|`$8U~RWyGAAwGf6 z&tpgQsh`5cNQtTnHsZ_QezayzkGN2$%-c|Tqqjv*-%1~k^~ZOZjGP$$nII)kpZGH} zaeO67w0SezX)6*3bKb$j634fQj)L94M~2Y}1K^l&0B>)pGmYYc^ ~ybc%$F=jI1D@5 zl__jNSrczfjJk$fwCZmZ`b+ZUEzQ+=u|@=*pG>r;rm^ILp-!Kl=WnoM!+87p8uG|O zAJc~Kb2CrRaUG3Msv6@XyBcNQF~kKO8d-Ry+oFUX)y;F08cYJ^*hiRLBhI%8X=X1n zlB80P&pmjWOYc9rS=`dx*|pa1yYlli!Vm|D8s?etm@j|Zgj}>f8d1t7HT;LeAvn1j zJY4<|{#$!$(20fr0>R1GU|xrb48g_r&jlvNhv4F9NL^{ifZ*b4P(QKOgW%#x>6QYg z#OLJrKMMT^^8Xi-v2k&O;!o&+DmOE)qK#yCdyTWR)n 4gAU%9zop+9dgY_D0F|mh^KwAeN z57NQnxF{2;5)7C;`@XkFfkF+VB&tWK3Q2=W(#wNs7FZgA9{2;gcXA4tLY6^6t7~%g z1WQj705ARcuCg#c|2}b(g4jFzo->*wE0dds9Qb!8EGi XUX0={?b zH C z2LZ-`RmY^tW_n)^dvsq2UnOo~-Pys`c_A_te`kJ-TUbM|!T|j1I{2-hWA9;;)8J2@ z_|vhXgbjd(DC~DuHjeMC&Fs!@ZxXj*uQkVS70SK9$yV?5^!UFqm5rXRj{=xnP(efz z9V8LQL{6r(65x^n?y!URsf$fVsHO+Tu^@6bJniv0sQ)h^Bxp-U0ut{faFAwtgbbd6 zbrEz#1)Wt3Ku#i9`DfZV(x)fIC#mckKymdM(fKLh{Ap0|=@#+X^7y=6Hk4IWxrbc& z^#cXs?KTE{6yn3jJW%>`XtS5VdjDe^`mN)T2Lz~>*_$5NTkKq2UWpw2u%G;(6`z^v z{rG2PsuCSpnpVQOv9rUb5@^4tEp2;n5t?DbGUUbp{|`(+v%kq7P5&MzfS#F&>EAF_ zbD)u>&0oW3{|97ZWBl*s|B>nM;u%F`#iTW*X#eZG`nR9rAN`$F-R(>O|3Aq$Ia}lZ zIQ+#TENtrr@T6zvWCGB$GO_=;c7HA&Hyg9}f0OZVBIbXc Y{fFT%*vQ$z;g7a|-}^sJ|MUF!x|^7|nHa&X zEZQ3J23e$}r#e+*We<*vYV~$AgAWGV{i;(f$n&eT?ea|t+u| rr96v# FIwhBj4Ss8 31o?w4V-G{2Gx*#U-^oqtZ+00dz!MTHIujYiU&R# z^~r)rn@r%oe#e)E)G%A28>VtKM6WIsNNPo$0X-7qjb3?uI (FKbX@^x>jQD6_$H4BP3KpfNjRe?nGE~rWEa9PXwZ 8=fL La)acWdE?>1;jH-j*@%t&*{4odmBYi77`1K-n)_HsB zZn^TB*qJFT`lo{n@(TzgXi1KZP|xfqvg-D(i^@Y1`1(1tYxK?owT5qq4S#)Q4r>jh zWJkp~*}WpfVcY$TRDfnQ4SU-Oo7ojVZIy0B&QD|ETUss|mv7RFBYxR%og+oB16`ay zqv=^ku(X>A4n^1Itd#5N(jO(HhhHtsFFEn x#CK;k#gYL4Y;L#CTO%;1*u-7 z>eDwRnwzFO;UbyX3i)b?kAGFxQqWlB?fOTQhGE<8Adv>i^&=VEe0X1K@0McyZtW&% zRNwuO`AW8PG<9<;>>~2Z(6@gAA+A#(+0f5}$mT{`a60|>{_y^D(uOu=8IdY#+FZi3 z`%{Ur|9PLc2szWCowB10$F8@u4u!=u?;9dSkn_g^C_J8kdq&x3M^&>9C zu5 VgW8jzOua*mmUcL4U=g%!<*JKk&Xu>wt;C2;Q9R-#^eN^%+XGMl8{q1%!EG_1IUA z=0L1?h({wfQb>$)3WW{*WUvXOre{X}rJ6$Em6{%=5yQJ#%$8sMAoim_%m}(JJ1Piv z0+qR^lte7644X&!mZJ);aIcEWQL&oS&|tKZ%$9|UCQBtb5`WBkv-n4+I?1*|5^7v) zT$6O`@YHHDE&KU!(W%D48&n7I+nGtAOb)5!2>PB8d$irA=ispRkB_eoH5Nv%gE&11 zns{3LDj&ZUGk sz~z-46NQiQN+KKYoO{g7M_ z=}Zg6K*&Jk_S3=;kp`2?Qc=@Dx5 _e9#@e*ZYjvHx;_bzcVd2mX;eIS_jdKKMVbZ0{3Ib7+ZMc{7fo2_4dsLV})m{XS} z%d`!8zcBh@C5EWDJ*VTf5@*+PPN_|%R2F|gOy{k-oZ~G=za|)EOL2?JZrfNY2BQKv zL<`GMRev`o8vpy;%B^9GS372Ex6-UKQ$LNetXb`r@Jc!cPyM?iN!9?azmRpEO2L_c zXYKL5@(*y-eY&_Jc2fyP(*^vu1&-#PAAa7(_k%DH7NC0~wZbUroGHPZjMvYlTeaci ziak2}#cbf%&(O4c0P;s_p5|^!=6!$Z%U52@Uw +u dIcV_6r?W6=JA;vb|-fE|jKzU@m$_m6OZ6wANaMwu_od$2hlJ4psGh ziUHS@kIMF(J7@zgQ+i*JUmsFWs=vKT4j$f-q&osbF8jPP<;pXbfBmu>E!M!Nu-bZ( zH>cRIu@lc=b(>QH6IWRzH5EkQJ1R^XNPqtwy{#Qzk=~lC`feU>R}>5ywD|kM>U%vO zY>o@-?x }U!`g^iUc-%rNC1)QnCC0Qv z=MQSxG=?8iZS8$*U9;3oxom}4Ds6}D*1|;(RM|Y3e4));;Q9l4o6Y{0%BX03*-Jxh z!)Dt1&NAlvqZ3$ynqP|NpUsc;Hh-<6EOV0VUsqTRHR&N^ziD6V+z3N0UusUMExPBZ zBTa}vuW^WGBCkxJg!`pbU96?V7e)cot-br!Ud1IvpVhYJ;?s9ZR-?3*KU?f_W2^<* zqf+uSoUjFj_G~k&9RY@4qYmVJ5mSmAAIr_0tOxj;HJA-^iTYzo`i#yTy?^9ZJjFu? z@Ja&=V>~|gvJjk?@F$CXG&_mcxR3K;B#J5*&ihgHVpy?q98Bh8c}K=8E`VX=>`h`Y z{hzc=?}Oh>EJWQ{WxshEwD`=VD>{}clGC~&OutV_7S^nYC7D2R=Yyz|%dycW@P|^Q zg2*(1NnUJ=xr<>ki_4E0(0^{@2-s5cf{#(JAv}Fq48ktSF_l0hMWfJuTD+mRv ^^D`@WeJ*$8r-Lg)^C(a zgW8ud3xzT?-Os3kREw?#8YKg5DUvjtFSDxzeG;u{)(zxkW6d4B)_>xPKS|;y#K9uw zoIOa|Vm=M+G<{Jd&^awm;E2h8pQ|eX5D2(sJY9`DL1DM*OjL*`+-*A=g~(3CwJjK6 zeBn^^AD8(yAn@{o1cgE1ld|g9Cw7{ry{Ow{XbwdxrNcUnpGD9`4(6Sc%!He-6^?tO z_DP$&j5hIbZ$&3BSbxVy#zD1HLE{z-MiB1P{PNffInQ-DCzjRa8*7AE01`GuXR415isFMA)8o7BToO8QwQy2Y5=T5E zY_HMx<1r8ETA`R1hvKeMrz0So?xm%_n*&8b6Ck)V*n`U)VSlx=Qzu&1!ys1m0?`__ z{?RL}7?`|RC#M?Qc^ztQk7ZB2*r41#Jat-OA=3$`ZYI1(848e``5DczZHE@g7nVxI zQ%Rf%-1W!ob==pOiWk v;-J0Ysc>IB*PHEN(+uxQ2{V?+jwmJLj zq}qj;UJLTFUVmu~XXsrxgZU?uIx?X`b|z1HDnq&mUfNC}zNqxv1oJt+PG!On;u9dS ziD-bB2su00KgL#JpL|KYl_S<4eU|<~2i`m@ZqIXBC~0Rm M5LDHJ=sfQ# z?I(F%n=iLrVz2ulosnHf4fmXxu~Y1J@+tWnPG%Fqm)z5ESGT@-$@q0)!eS=YJJZgq z2pg+guVvgEaY861A1yGdGD${&I{GFbg1nt)hMI8XgElBQWTKyNdS=*Q`Io_srJ5*X ziI9q4w13W(@a*tK0j2FpLSo;Na4bm>zk;y}tt}|t%@ymN2FwSy(;q@~hou%iW?gp5 zyq(Sp$Ce9!$3$< d<~9sat__kljh zPJbuWswA&7zuAkd`zv&BCM_OZ6@ojj{H@ym=W0DFm@|1ul)@}Wk5{XXh(id+6j0Gd z%w<68;@+pe5#IJ3^t6HhNg1py;vMF3>$#9aG*?z ksLhn%xmt{;P>Im=C;8~RX&rKm#p-hLJ`J8UWDhYs{~EmVWP)gWw&hjgi5ZGWcV z<{8$5Y;hWDbezUu;o!e}I52O|2qseq_k0n*qlIGA0$U> ?z{8)ezzt7SL7{G|E`AQ(|y`c$4}4-1JG4Ic@ReG?#YVBW0)5Pilx z>{~;hY_Ei3C@8nS%S};RsC7%JRewql!EzE|b($YoBgcti%diu$G5MIR S&e zx!L7itZkjD9cd*I35KrdJ2coS#xU*Ua?f`$EWkJm7x(g#-`lcu$=y;mef5R(2nJAg z_Q2D0!o7WbzjInovkJFTH&DIQ@{r)aj9=fp>w*YE#04!RGh=t2j!|z3g@2-LaNumK zgS6l{_Tf(R)*4&;IQLfg^;*aeS+fJ4lZWc6bUc92$;U(BNLF*U&@I0p6QurCn)96k z_ Iq5Yvk1#B8wmY+c zBe9*$OC6GDO+qh`QAyQKsZd^7D_=Z691j%AGT#!Xt4$)$J?JFGOrj%%D_j=HMlelN z5O3r|c8ys|?aDH*V{e0ze=BzT^Oo+Mu0|^~jsapj13}MFJiLQIU4Nn&gi9!`tel8c zAi^MTq7f^i-@w2Y6R0u+%{+FTNX0~$wV{AUBI!is@{^rn21gAyl6w3jiF JIJS(9VZPIHq$2& ztAL3~SQLjhQv2Y-XmaJY5NemCCh-v0nfMp(3UiPo*F_qfA^Q1401|LvoZqiDP!w}J z1M6W~RGIa-lyeg9vHx7C_VJp({(Irm`k9EtnHF&4kk-Y0eSaOZ4{EHO56UQ)W`1xP z#t!qXC8b3VM`on)SSwdj@#IXbBs$U0qO>C)H{%$9(4AH{XjId7b_#EVXl5BE7qyE; zqIEGFyeNwvw8WM+4iyW#9V7`SfU|)n{;Xr95~@@AJ^E~}Uxo_N9m-72fTx7P^M=%I z FJn5!z TYAN% z{m3(yLqgxJeO8_|ud}PViY3!baebmv*7*L^^ad^1R-|ouwf%Hr!)|ZkV6$#{5du=s zwAiffiD$ELMn`NzujpBZmf5F>ZboqxIms}6Vfr!RLx1G~{{vEF_?KtXCfqkQRYj?9 zxxygBA=d|O1H;J<_PW!uW+uRE;2Ic2InQvW0psdR-qxvrpsewEM*y#bfi3kRAPOX4 z05n((!SZ25Sal`q+hi&mKbk?RCx;K^DePXD<5X%2`rPyim2ZhR#Lu0m=A923+3uE2 zC5>`x?tegpKz?GekCe3p96Sfj3Wpb6c8kR%&8*XCDqtY#TWZ=Rrb{1k0qf?dHRLFM zBn*T91 4M_IHT4;PEc49YI41MB(S 6nUbYmm;4~`5c}1J?Tie0-sZS zDC` H5k #gHPqaTBfafe+i7!h+Rh){#u>A`O_ydOXyC$llowXr_vsM zV+arPh1qsp18Q#A^q1>_7RNP*iSmp{4P_jk?*XEsn2LV7THj8L&9#WgU7es3-j+pU zD@TR1XZKqEcrqnK+7%;66l#i64u7pnRd4LIPXZhJ2y z$^Lm0fR>li4zKSQ7?d5edL-g;6gXP`=mmJOw-7H1YWdx-hP!n?W+#}Hs=H87?PfHK zz9SYKf4=YVroFBQ^bNm?s@L%W&rwdJgi$BS8p)PW=c@DGnzhdhAHA=Py?-U9kA-wW z+l2`Poka{?SAr-#Sfoox1~@st+x8ho#MV3^&oO~Q9@CfXH5{1nRv3#)B`&(E?T3;^ z!+pVhvrhfU+0$SIWgycP7&AF16LjhJyHqJiuJF7oj2$huXnTahK953Lk8}OO;s(OK z#ryiKm%8>9=}ApWYvQC8G=DxnpRGf@u=GT&)E&gH;!c(944+EU(>uX120RO0*%D{( z3`3P907ZSEQn)EBy5$2e`SHGc^u+YB9nj0_cGSjuL}$28yx+XDL~*(f?KK(C%dV$i z$uF`c9)HqrtZ{+jG>shI)Y_ko);>sDGKw o>26)N zwcQe&g$z}!Ji9{=T0d(2jXfRISN~sU#1=NvLW6v2lmZfZsM11wsy-FLVVq(Hgxj@8 zHteRjsRE&8{x~tnyni)iMsXcr_GJ-bX}i%4JrQjCSr<8`E1=Bz=oumV8+n(e#pas| zVRZToGh)Kz%~(daJLq~U=`0taX^1;xLe@(+93Z4z&;weYHQ+Kazn%Q}D*P#S&gNom z8f`kMr+5Wxdt2jMCEtCLCL5hz9e6V74O;?~b`S)GXMSIA;D1=t)`P#s n|$~{ UeV{ z <(0xiJkIM2$+@ ++jV-T%HybX-8lAPG3dH=5cW%S{!{|pu zS44M&p!m94k1E8Nr7C_~CAQ}8=+Gvt(}7X1Fn*Y?I_A%?EwMKjRca$9qVy#BI65VF zM!EPXBcs1a6$=PntmE8T+ddeieU}s?(z2ycEq~8N!TpuqGCV;omtrKV0_Qw2e=y&- zsEeD+chT&*Zq}abLT2{dk*`I4#In@|k6d _t<70eGW)DF=qTl&Xh2(L zN?G@4lPw<&q$bVs-;=u4A@WB%0` Vfei(&pQG{iaV!&27hN|ho& zN?+`YNj%xRCqONAL=G4+OzP^5F#rurx_<%OWT$!ahhp{8n<*c0riRWjY4G8XuNz#V z13?HmRrzU?Bk4<*8HX_xsC7|EG|b6XYuB#ql~nlEq3b_M?j*|fmIj3ti*Kf%cx$ N&0X5=8wtB?9t#q^XO{^KchO%8ewk)WdpbK$<9)l1ZTYt7A zw&BICGZObp@}}2BJh-d!fmXhm=6V&4brzL0NhZ6HUQtZTH|ss}+kxnFD11_h2gBqd zbHr;)cUh@9*J4)}a|$D_1Cu5&ie&dllR~7e{+jAnj@l|67=3D7lOYr7wOv{3lI)B^ zLuSrr7@{j?#=oNr?l2FOb^CFu34f?Ala|4_mB#^19$y0`5bD`}=*Tb)ZpwpAHP|gcO8tOk%En1=qxH)GuwS)Uk_0 zy3hM~21kLB8XuM0{TTHq)57T%9FiPwHRy m`_;t^0| xapzi z#Y^(Tvv?L0LUIHV=2+y8H_&9n@k=~Ffc^HHL2ADZii#=a7UpX*(NtI=)`x9|PCxCC zN?2IePLS#9b&}=49K2S}@E306pCoBHrz*Z9Z@X^&iQwRDRZxWEZGWxL81hXVlik#i z=4TIsB02Iq0%6{@0fd@-!BfB8oLethh%%`t`LK)?M3?DCMhD>=FyencJF%ih&41P` z52$Fh*sr(8a BBGszM4NlQpceX(qiFvv{s`4t|h{$SusVp~` zGca#zPeKNAMen9SOwkS6%dRjT<9w|Vz h!t5KkVl9i65S6UekMFXf!2yiIIF7b$(>X_dG7|3=1%Fkf+WtbPCq9J DBE|% 3a>FnD&%~+qNI+ zR;>@b(6W5Z#D94B SaPOQaxGI;&*VJ%)JE%H4mPaXTr6If7|WaD$!yQ>d5Fj zB?J`@XOJaBNmbE5q41&+a_V^8e9br`#A7>RQ^Hr%q<-(J6hf+iH}$T^ydY?C^SM@# zr=1LEv}ri$Z&i`O&%B47TO@wOP~h}9vIq3a>l}=;?tdyZ)JbV%BisaAY>y4zb$>4w zVQUOniG3{3XwX9>sge^-Mts^#Sg{JtRT14H<;Yd<$h9VmOesu+G?~n$h#CvvnQs5Q zhtF{xS*~d@l9?y@&a#k9m$)9vG8B{Ha7dDT6!7TEYTKe2$U@`M{9MObem}lwMAI@% zAdkR_c7F%E(v|Na=vA6u@ blJbI@N2YV)5vBfH- zyY7dc4NGzM>p+s!xN{QLA^fMJ?LO6^J+dB3=MA*5M~v$pQ)bP2%vZ(;XUSq%r8d!T zs)?-TC2BJIrQS*3y`AjYT}$u5?P$b|T-|5nYkw@Ldkq)%746ZpV&0Z)2f4fTH|7i@ zLUdF0vFbzytxsdO8sJkIhM_RbFU9>h O4){oLDcy!u)&s*DtZc1uAD5Bi% zH2lbAkJ2UvE9WiIh1xMnovnN)(;Z^I(MnnUmiv7btc#pFycy_)c<3@X8_d*q9k!`^ z34bd_pYb#IW3&f{@Ipo1aD^87?ld>HegY-|UztBZe9{ZyS!K)rne@ydtlC4V6j0+g zu3*EE<+y+zfmFaBUcP*OQbr1@Hz8_(45O~x3W??BP+*;pa_xn8_Q*4EzTKY5s(cUy zpIE+aSjEc13zoaa^RV@K&=Hlmmy|H3a-dWaV&i5 z?h(Uyv+?_^kosRVI2loxb7QBccEFJXpQIB6H=erU-)9imuVaQz0-aC8^f|;~bxNU~ zkH53eTby+G;2AWcFQXO|E_^S|kBJ82%t)@f2wo-*WyJayB~HxwuT?mvJp?Ud1Aq37 zpdHf|8_((yp(qP0gX`)d%wYLC6JTP95#lM+80;*6b`_W4Mv(VfwDtGu@>zb}+&aM< zj!|YxO{KOgssbY6&TbE93@mIKa-AQWZciBdU $FShmF{C>G~Y594dFFpdc2Mum_3-1C~7 zwU6D-g0T6y{h#%^bV_db6cqZ9XH{&&^a~ihIMGLH>?@8&$=!?~2NU;56Mu1@Y_f#I zrfo`B>_~*@T*2gS-922f5J?mkHrnqYC4K1Ud5;5hP&Eb{5|ix6#p_h`G)t>sGSglz zaH7y8z^<6G$*v>OLLCie(rH3>zX=fnc8>`2oq+;8rQ|{B4#eS!h7doqg=1RKj;&{_ zmWfCh=;l9D*55=S9aUu~t$#IcEe{*r{3t eAyKur} DYK`0JO1uDEu z2bInq(5hO{ha+_0Q5@b--o0ffEhi$406${PvuWcQ86Ks@xlPjq a4Z-qf yWpE$AUJB#|)+(U?$ZX4zed4%7P(aDO|GpSI7eShuJlZlK=4gB_^INzom zs^Y%ov$S=iVr^(>XIFSyc^pF^zITr@u{~<&+vqyuGwd`vNwjTy97YX G|;d#UGu``ZVN+S`uOXO zza8)iOYe$LVh*9Fi66^dftJma00XHEI(`fU2=QDvbbn~y8HFq+YuW9BfK67TE70C? zRKxt@g;t8pD$WOs_AW{Bv_555Lv68z$w_)JD^jmy&gGG`DG cZn!S9a#* zuv1qnPp~ky+ErU?eQ9@%bIZ&=`_xj0*g_0Xy=ZFV|4a>`9>VP$X0<#I{4&q3^`K)+ z&yS*f!hhaJbR7Ia4bPoZiFrtA=tAqO&x{e$a*=H+mY{sHSf5w)lW4N?Y;*K+W2zfu z=L0$JwwXj(h`Vf1x;7@t<%{Tv*y4m5@|LadDB%%vjU2sr*3Ii@UA47c%A}nnKUo9a zFWM~`!VryH^Coq*PQ85Az3V4o)9r+VR^SGVV1NI79c#){_H887@>l5QJ16sq_Tsom z=g!ZySohcmiU6fMo$Ww;x=B^5VGx4^`S(j!0HRpTZScLlq%E7(O?UQeu2YHp!V#N! z+_E$j3Vi!ByunS8*#e@RTaCz$xkvD0prayuYkO)=xY>d f2|F2Bx=OhCY;AWM6)v9Q(h9MP(8adBQ AbV|0EM*GO z=*y$PZOFLRoII!-Etx*{@Fl}7<8mJL!<`5wxS#}IST|T0)uzxs0Z&YwKg6let;#$@ zH|Nc3KcbB_csda!$8&( JvqQ&3s~U(OOj1| &uSVs{| zXk%tsADiPy+ddRO({bc2kkI?!?Bu&dYWuIXg1=zl@#5~A1FU~mGL27Cq*w0-LU3mC zh-aoXKq6mJifA%iP_gXFoqWlBE~R2QWde^pS|fb-8MA=sK#zlDpQB~9+<%i?^^`LT zNu fG|a{1;5Pb_5(@ty#oVnD*H3LVURl3cp^@e-WrYo*a7%j*%PTec7+lcLhzPH| zVYt)xm@l!X`mT=$pOg^ kH-#ou!oIwXw$H7yDSxy%r04REW{4FKMf_lPeU`YsGUdsfhe-k*N^%Cln2kQikaS z2MlkslY~B2 n$@R;wiPNS`gsYeZijA+S@veEaaS{oK1mE@P4v6mb8@Xu-+c=tp8iT+zIY|= z7|hFJhssjNCu?=kkDJUNHm3GNY6eb_0x0Enm`UKu?h4b!yZrdlv4$a(jOjWe2X*?S zy|Fkvpi3E|Z^J`wG=CI`ZEM;NH>^ACkGCZc#-B9~`{Bpl^#F%4vVRBl%TJtl90b1( z*f>9zEQ)xRCsb$1ndvg@@GaL+U!9d{%js~t+RBuVa~M2;=7(OjWL6oPRXAk -Hif2u~@N^(?5 zLmqT&wt1@&Y()^?JGz2~!w~34m*3q 4z%JvE~w %6m{B%6alD)h(Bl9=> z_PwCtdPBWJsxuF0+VGKkUM;qHjt_hA{H~=};B#?(X^T)^`ZMDmCN?EgS}kzgsk89m z6|&c^!O8h{;$I8!W;qEYDy7R@`XVr<;AXgLyJpepW`8|XzAt5&47%u`dqTh GKRdSV95_k1@ofr=i>0* zs0$oX?Rzq;{tzU7i;rBh%pWO>zK@FV#;Q zBt6n?Ov-E2;X^IKsKa}q%$x+h>nhDf87rasSAVkByCWyHQQU<+;aY<@t<5`@#PzX2 zbi5&ipUND1kl;8kcRG8F=$ORu%I 3q!y z r}(nHMXU|^;u7P|_u)hu zc!r!utU4K<{`#Acs Tq0R7;bXX|z#!t??)5qJW_k4cp#EC5!yP7}R)uqJhG_pOpTADr@bLKehN z-op@k`%kM&AyPSV?bD=j#l4)HeUVr~>aajw#U>grg|97jH(3EHP&~57gf>(5kAL7Y zXBnlqcu>DY0#SW~ilS>Sq?dZ#stf~DaoyxJM8qq}t>qQ!NXY7UZKfHXxY)<#c-7&n zf=9*iSmU&~n8 hWzD;*Wr(V_r!frm5 lgwvPld5FM?Q-fLtAfQlwlCP zTKtBjDE8j@)5%Rc4?I>sZ#`&!zbI2&U{ZZ*3z%D9_%-!H;>L7^>cLGe?fhY$FyX?k zOZ7%U7`Fyg_a_Ew2SU}&k$+wcKejYv48afQc%-2`ug*JtGgu8WnSra0`SIq)7@2z4 zV5! 1xSEqdRnTuayo9rOXX1^9ZB4tBQ^BAQA8;8o_?QP3$vrpn2JdQj7Tr7_ zr!a7d9N9Q*Yn^uJgO=Cx;eKjVZ6|MbO!vCKm#5$ctQWGYN4u*_9)HN XzPJh@wioGxmk}eqxb3&ok69%T%Kdnrn#=<;BA$^ zn=-g@`1LN9zSsyZ aRDvy8>XI%+;f{Ife`lb|sK6IB zs$X${rk^tG=SqH?qvVECRE`=sDdI1_WK(nW>x%Y+U KZMFhI_Ui*pWAvA9CN(QXi+g^Q~;YM zUh$Saol&5{8v{w?h<+`lXKvrAC#bRgs N=ycT90xVM)td>(1G;23K@S-?(t(2^L`$(#w_ z;gb9Hd4D=1*cd43x{yIM$tGazE}QI|?Xd+i)tx;S2m}}e97=0ozw3 (n?CdQWj33s1+X6DNC0RLkPuHQ9l@+5hfMt^Q3LkL~PWGe(I&+|S0Ug&$bb+|$+ zisUOzSW+?HyuE}3_TS14U1%-`TgZ5e!ZtlIo?1Dtbt zM1Ov$*T=VpyHRU?PjlvgJqx2lNxPe1sDsjk@(9nGO9%=W2P)YG@JGohSdi+H@MBZ0 zUo%BMbO!pUt>CK$>E$*{BPqao2^+Be_M#hcXDM4oE+DjypAWaR=?hEuf7beC`0+F{ zP~0NKFMR#R0NIlkZV0}g!ZB)*c?dS@#D7m|CAtuqEFLs?ZCBetZH_~~>Y@Q#^NoB` z^rA7~xCWnYriR`7W11{s^~mZrGJ#CAppg!@n6 4lIrs{DdnMQE$i%_^(wbA+1%*3wKHyBDDitky?pip+R20v zIy9?Af!qX*$NB6Lk`Xh(rP0Fo+xm2v$*Qk;J^+G*p@n@ykdO0EQg*RlN-(+7lIH$Z z?CG~Jt0@+JvS10B1G3$5oxW@kUVr?v ll3m#Axih78S`{do zU2=$cpQO0%JI4At4;#tkXdfQCVj|W%d)k>{%R=dH{zR L4VhG>%c~Id%wM9Q6@^&7--vSib zazGi3=C#~&k?%w5RxPAejN)UVo-;B&(t4DS^^Pr|`di};?zE1+3lV%35Q8*EVY0!o zspJ@E4s?3s^o6M33;f97P=A~%aYDYBg^3ki|7xZK&l?uc6PqVo@kerp?l~jmHQ1Ql zE2f|GLm%I)+!+SS%L_4!HrkwN0gF)}? BPaK? z!IoN@-=py5&MC9|P=D8kF?fopGnB1+Ur tl_ zUBk6WW4Zhc5?q;zw)Al>?c-GbRmETEyl)n!qdFv+W1JZ$gpx(;foz?$LihmtVsy+F zH*{_zz6{1PM9AaF)+1midH{WAXe{$4xbAXIG_BRp@v(J1fd2@oVDVDP&m)HXS)VS$ zdEgeUj`GHyb~ tzWCYg_n#@hb|}lVNfb0yj6egpmP+0Rc9b36lXQC^R)TH90LXG$$}HCn*Xq zO>bmGVRU66C`39kFflhUGch$WG&MFgIhR @(N z5HTqVK0XR%Ze(v_Y6>zmGLyeK8yYk@3NJ=!a&vSbG%+{|FHB`_XLM*FGBq(XlW`Cz zf2~>Da@#l(eb-muG2WC11V9kL*3?w_nmA*}P8{d5sXWLsZEGWojwofE`T9K#kQ7K! za=epDIV2iD BnK6;11}~NgnJFf9!i3f-UL+GX$?$@P zlw?68)ilO3>6{x#l`*BHVOB6@oMu)sf90gWM9I>`Se6- <3%!n91_2-qbYD0C>`Q5sJN1cK=_10;jkQUr-{ z8Qchr%WOIj7-xW8V4Rg$lS0Sv3~fg%Ws+qgp%(!2!DT?4dW!~RkR<^)%N(2|e >->MV5r0M?V%^8DoQ8g*AMR zeA27Acv8Eb^VpAHr x=(;SfnKS{E(en>@w06!jb-JoGY(2hi43IRK)e=|;EJ+O-9 z%i!}PX`m4hx=wWvQx#*J=&qQE6Q6KnH;Snih4&e)YOVVzF-iB)&4CMkUm341Lp zFD5B{yT;%*3ha(VNP?+FNYARTZqr;pj(k6&CE_cEa8cz#5~-R-8I~0nG)`9Q(puD} zews^j{7 6fr zPRmf=wxG_V`EW8G?M!bbIV>=o&-1(YfI8qGt68ZMaB@4Go#%7*e~jPE^5Hz6@kw5m zTLH)67_)JFKu2!}fBf-NalJZt_36dI^LP2jv*Bbiyc!qB+vj`z0SZ*;Z7Q!KkyJa> zGQ!lFc7!sDFl)z`)Y0MKSVrem9Nmy#@tpfEem(x4^Xp9>)WlKm z@;$!K5BLjy!e8@Ke$L t` z=&mEd-SAs}`{Vu=v@W$*%kF+S%ctIpe+xeDu}E>n? (w6ammqm1OcL@=WZ%EVY^-Sc{y8gz$EsA-5bvf|^ z>qZ#sTT6Q|hT?oT4oK^*(Aof0qp=D2-))6F=^WcTK6v$?qqagQm5 JyzQ=nzL zK&yXTpxY8Tihsnh6vhy0Sk|9)h3CG>!y+%|V-V`;ZAc|1S9t6>><*@*;%Yp-L1^Ra z>m1o0 ub=*03zq?Z@K;)@RmC#Z5Q1;Xr*28+M0=;THh*Qk=a|#6W|vxzGe>EQcNk^t zo6k|59k27{Zb$jl(T->M8sD_Ts(l}J`Iptb0WmHv=e|ish;?^Z=G3!#gKcdk|7!}8 z2|paq$~kElr}%&$59 ZEfv24+S+f2uC(k*LT!vpxCmMD zE0AqC4Z5V+jikv)_G$Vnpgs0A(Z!c+ Ayq$v?`(LJmpGk@1$~$f(4J8}r{4wo z*?*3&a1w-S!2EA2-r|7t4 QB_H!GOzq65fKONWMBm)g#e9MTs;u(GstQ2qVs&~d$4N7DjAMt@ z;@V;L-mGKFDg~U)^6#uudc)MDo?2I&{;A4yZ+HU Zvhm^|$;L~AA{R3af}H4u($Lex&dsFw_sRYiGoikQwl}0p!`Z otQ`5QPp&vs?Z^wX9CU%94_$g$f)>nZ%ZiENN^3kMyUI z4z6a^W>h~g5>mVXZI~DWZ2%E7L;7z4Ao(j98A$!%uC@ZG!Ltqy?UO9_PTQmgSmq=8 zHv5;)R@X#y%C3 KjJ~9)EgT<5n;(JAq539nZ80mF*e zO-9^7g(7u59aJy0?CBs_neOQzEm+ahL7K2Do2QGfJ7;4+ zKxcZEA_%ev8zE3?)lQ0QG8x%PcuH?VEVsHd8obrTF{>`0)#X%HB}P^Xmtqx%^e5{L zN7Tv&uDzRTc6A-is%xrAs;5}H2RFku6 !CK=3UmX}KL%D5VYxjouKq+np;cmRV zX4lu<=(gbVElqP_yU9 XW@3NKS>dSxIoH#rI~S0Gz4ATuB_T?#K!Z*O!UGB-9LFd$M2FG+4@Zy+)^Hy|(| zQVK6gL?Bx{HbOZuLpVh-I5sgdLO4P&GeSW@LNGx#IW|EuHZnmuJ|H|cLOC%*I7Kly zHZd|nI6^QpLP0@7FhMpsHbF8rGC?^$4qXZ_Ol59obZ8(pHaH-YaS$kf9h6INPEizw z*J^v(YSGrU)TQoPx7NK?N>Qa$wTiYbMNA|}M8wE|zaR$hKuk>i1c?|K`3)x0#B2`? zO!%I6@?`CG&e?mP{XXYJMEt9Z&>e6W+^eCAjJ`KPwX25GO_iVy^w8T(RSz1#IK53& z6=(!E>20KH0?ka{MsEXu!zG}FUMIaShOJ;JJ+Hf-;WDtC-XOho44I{Br{^`8py~iC z=*`kw%Wx%F1y+MKz&CqlFX_E_lYS$=>K3pSYy;cDUa$}JW<;A0X9w8HYV4)3gThWL z7BAkUx4Ro~IK}&$2Xo*S7Y4wdjOKn%x}W )00w=*KFbqzEGhhUq1*6~sxCo}fb#M)w&*=Q=NiTuRU<_OV6W}VC1T%mr zs;P|bML%`}_@z06>NY^V>LHlR=xOkMm{{4w1#llc;J}bjNGPlmnhCjNxll?Ro$N-< z;(<}-la)dwVXRPpR931b HC?#AIG6)5P0zv_izDQrBFVYvmi=@?)G2QJ+ z@k;n2+z`QQC}V!WSCK)aui=b^@9trQ&_^Q~kG{Ew7R9H3fflMM@c5H2po;K7V;Rq8 z+(Q~6gT^ynd~pv;gciafO#!?TUI|Nt2b#!u`PxrliEya+_kaRI0a*c5DUtd9iF3n< zQkU_z*~9vb55HYCWPJVOs>=A$>Z&ngvDZ~o#@}DAnlo=qx C1fAQrq*#&+#Aa$+NkaznTFa3pO@4FbX9l HMNdWw!rAH@ delta 32950 zcmZs>V{qU-yuV%Bwzqb-wr$(C-Cu3nwymvgY>lnmZM(JG=RW7f|Gar#C6mcaW-^&8 zSMvEzO+cNsL81Oo5|dzHVPuE bgh~nn%ASOZ*&+pl1_R2Hgo@tcfZ_%N z#>|!CEQ{XqjB^JK%97$Fi_!8$0u2Mk%K6_gMhiZTB{Vq8PqzP=uE$LYn-a`SgTxNU zBxmkm>1IX3%EHN<;*3HKtmx=EZcShYtTkkgmkNcup3Jx#)9=ZzS_eWQ9?&<|nPNoG zOxf5iCZ6$}H{5tiMd3?(P)}mp5%CQdA Li=!gFySvm)1O3Wz}(6|^*KL(WIn!A;UxVCriSsL7QAT-Bk(1ZR+Z@X?)a z8pl@9@xp}6FF`nVTz`@J!wM%Pg?yQf8xM2W>98@66H{f4A_yyKrlID8AhCxA@QwNC z_I0%W8S&!RgmQ+Q_J&ModqJh3PzwEwI0fhUKnPk7qUQ?Q r;UWBVrtV!5rjz~|6~F+&2b7|g{TDNm*rO(+)?3gsn+4%Lh<_5h`oTp4cc zfL@dXQ-U9?G6E_lE3gHMdM(B*8eT+I8HiA8JAls&h4u^r_!W|1GpDh;40bxXfa1_K zLbx}B bllG>~{< >osZ`7TCRw;(94h|N+{Clic8~wH4Nr1srW38`n*(D+XwO8n6I9GGIQ8|*g zzT>S6 sStM&9VJQs@#F!rb`#@sQiv~dTu0M7#<|-?DtvaFbCww2_i=uR&Qu?+iG!Ej2gyp zj!vW7Ady{GYEV%JN&VGkyQ8F9h3#U|N@g {-)B+G*N>YVfY-Y&6-azxfBr>sR-@Ac7QLDLAfrGhZoLv|k4SWsnr z2_`xoj2O5zQbE`Z-d}lP s@#vw-=EvRswJ2h!{^3x8XnMs-f97>T^ zL{zAetU_jV;;>OipSs=eTSYlroUvL3tMKwQZ0ripprWjy#x?L@Z`634w*eHM>?ADT zfzp2Fv$;M W$kKC$;MKNfAJE?bxmwOY!@yEWlq6`BJ5gVWW^s Gihn++vsEfH^TzC-+_=pxKO@6ygEnI3qYz_ z=pc8;L;5#Kr+*$#kG{K34}hGR(#6d)Wy*}vki=<2Mkr=MQ$fbDT+Rgud LlE! zdPdy~J|xX*7<7So_=*^S!=jdC-GsRig~(k)idwxLy$$efPA 3NcRe|H0#b%~n8L(x6B4jwxBuLdh2%vY4H%4f1}t#`1X(nxhO6PpV} z3^Lp+oGJ4ubf^u|D=xH1^EKE^H5*O>xc*;j|4j5|7bf*~`fI(2+r$eQshG1iHeLi7 zwqlZIcpI%*lBGY|RsIPqU5PsNy8cSgN@Zd~1;_gcOGFxh=C%MR*nio#e9MH_cdF~? zh1sU$Pc~uCNlN?HW6uerVe}Yq!FTpR0_nnQ8v$H$kgZV9QrcHreJ@|yad#3LC7q5M zt}*l{*xFYCy^W(JHz-=5CDeRq?NWF|a0N-Az-hq!$%#b4E`nr=#ZmSy2KEoiGiaRi zu>QY4P>rm_DUpG@v7lj7w$68}giJAhw|w{Xh5>B@NpdqVyb}x$SPz*k$agpbYIEw7 zb|b@(LxLiuuiN0su{fjVfO(_lnAL$h6VGRa^4NomW8J=V !{|_ulG3P3;krz5w4v7198!P&>QZxEmVWfX!Fv4i#n; w?i2VE~En%CwJuc!P8&I626D2b{yN^2yy~QntT(#Bz4s9 z>aB8uILMXhbY6W`=1nyZf>Q55=~xhNha*kNG~%%z@i=V=X_$b}ON2MDb!x>Yl^QU% z; uyQNcrp7tnlect1@<%{zv_#_eq1IYX_{koyoD5q5eah1^-{eW{H=$ pM_`Upq;(ZhHvlB^l+~CHeR5;;5f>%W)b~8UGV595b zVU5Q&bt4!=Xf$VFH5rbEW2Of-6-929_UL9dg61KkpN%9?Mn!m1THBVOcjR+t>J$=Q zsNO$ZQV_Y0_Rd&$kO6idEt|7A)*-X&Qa=`ztGj>6JNprqADgJ-SbY{Z^S8g%{(J~| zJ>gVmvAYHa+L|$s11W`q@Pq3)KhtQJ5+R7~{3Euc92B`Z-#VzKwh)6lG)-fh?!ME6 zR^b>Q5{C^KG#SqhE?Q)X@tp&yKkz6ox!WxbKzR!qz@hYa5*nWBa8*QULSf6Grn~CT9EW6v+XdY8Ih&tbosJfb4+< zx`Y7v{t2a(S%V2oJW~f^>t6DYL-KPsv$f(*8Y4qblB_xqu;*(k7mrQ5YxrT=5SgGt z%fJ8-{3DBRm1ltm!@>>8ZOBvl{+7XoC74N*kTPRLkb`7jU0W5!3p(aQM>-wB-mwQt z1wFmr`(Lwbg21H`OO!GcKDfUgifIiFj>`aP9H p0}R~kp!#k2rd_yPNxdk zrKImoQm ML`kb7djQZo-j- 1*47Lf&sb~|zM zOSo45dNYhFFpx-EIhQv_=2x(?h=5ypL#xdH>CTn&ICF5y38m(tw@JD(7(W+J$chHa zQivn69Xl6$6KZubE$ SHag&gOE3L2NOY6= zvrbuFe)-Gu*$P*t+5OznZr0#eol#~-As)EvLXU6aXa=`0W{`jHKmOA)g(x?Gq(@-e zdM*uRibHqVKx1)QJ>|whTRxR)jsEaX?ZCsz(!EY@!(~@tQY{R#fw?7UAoslsxJpTz z@>|Wa(Aap8Z|cs@L1vnpHE}9#` aV0ITKuQP3_>+>=$)({3BUCCw6Pm!0iwx7}Mf{hkd8zeH?E3l Qiez9POaDF3^X_PXTO0o(< e2=Qgo{M;U1596%_Z3 zz+1d>{3nk(k6mk@NfZz9d1j1KDwRr?V|{1WK=`!mE~WRt59%e~9ZBVGJqMs0ksKq` z0xvq)>8AR@2|r7mgcV@J+{BYC)X1@>h$J)_`O}|-R?cW%*lxKm7h8Owqmx-gG4Z%L z!!CAba=~fce`eAzeeS@x7_YRsQ>(2D8{q1KQ3>Mmecfiqj&f#(YrQ?J4J-m z%Oko>%spvSF<<;w&D^v7eFfY_^clV%8P65^l2K(fsN|2DC>16P$m`W41GOuN@q&JU zdr9rPkGt;;dO;+*6VBYh%+<}s+}QqqdX6SGa4ekv^J{?)&dT*)``@p`toD|}78i>D zyyi N=v*ZIarU~t^4o8&*z%uE ;Op*DX_0HeY4k3CQNc9v>>CAMS zh=-X>9?v(9CvWq)Jxt7Ue?xP>`mtn9XlpOzrpWY_GT$P)Fc5nKA{y=IA*%1O%2wjS ztt@seZxRYtj0Mp5#Vo#RYMF~i8lRoiY|SLx bzE%C4`;=;+*I{u1|BP+qVf1Vl~;xqQ@-uAl~UxZ{`=uO$h6fBj#C5As1bu}J8g zMYIY;yg1NP9S#Bj$sgt;$aH>|TU-ecUi^mcQS>rj1#?q$TOKZNJjISk#L|wDBGI_o zkUqC-M=Wyfh$eh-DJwtBOjQ<>9gkD*d8SvZYC{dxE$lGV3%VpRA%4ChYIe9+5oWO{ zc=s~=p@T #~5*q->5e>+6Wy6O72ZEw+ISb!k=t-Ui`+M97DK2{m0y5$lop zkb{Kb)i{JEt`8s^vuWP^YtdU8M$x8zdI;9mIJ>8H9t|u|>?R1u5*gGjP?sdsWk2mH zZplvhv3l~a-C1BD`*=mmcnLAP+l9;7+gbK5Eyg-{c7UVY;xEpT3x3w%nY_a9T;``C zw}5`?0tT5PAhH}?1oxUdoaY8|pKFu=xk_LQ&@bb4C>%Ul5YlSGmO c8@lIZ; zx}#va8%wU${%7CcnzTf>)qy;hFgK^B;`#mq<2{{F!UrE?9Xu<6=1pE=^~l<~4` zd@OI^PNcNo6^cG&zfwQ(jNq8;iTY mz+VQmNzSU`dy#YcA3_Uo 7Ah+FnYiI(As0})T`XRa&8#(?baWjx)y>1=C7NUsV z0?|79xGln@zbok0Za~CLT;at;-M2ncd?4uzRoXy!HstUyJsaA(yS|iKoORL`ty{DF z7qq~5^dJc?$4|@-+G!`URaOqK8wTGwg`u5!AgcaXa%if2R|{SHX9mUerX{Izul*2` zgn798;?!xkh*qhnm^&Gr$8bd^+=LFLWg)aoOwpgIP2V+-W=lA5rq-c rs#BbjTDd%(Fq87qZ|3ARwV)-9ng0XU> z>>JSnTDy*094G EKWI(M1`Es6B`yNF9%+PwK|2 xTY{P9 zK}UssB=X%V^PFG9Mn_H? J5wA$3PakJPWuR9eDQi$3X}6a+PSt=yJua% zj*fo&ldwdxRadg4j;gmU8hZ5`iA(Unr~lJ%R)amq{Jk}+1FitX{sg>)5i>&A@xD~n z7i?f>i%utes|I8rXB6c@OfG-#*UQOW7%xQ1KvvffPcDCDN4J`y1bnFv4TDT>iA*n0 z_XpLf& Im;)vhnrbZ3YQUM6$_6OF_8r&b3}_@S*4MvEve)}xaCev7%5cBM7Pgbl5il2 zXNZjD9zY(O{cE2ij=e5DCaRk(;+PCTSi}onpe{W~0J2l1int_5@NOegmVX|l;7ynw zu8c?dfAhS1^OFT)D{#OO8V)(_kdxh_F>|m5i;@`-fcTRrC0k|2e#2fcF)}e+Fg44$ zm#5)#N0!nd-oc@zi^kI!Gp#I8?Lt4lU5ZNo8uTd}G!$|<%Dh_n%D}7WsD1~6hNEk) zo5v(85)It3*roB;1_|yX7;Oi15@Y_^!rkiuXfkN=*l&n)r+3ubAY7g}9+RR=!F*W! zd1w3?+~#u4)<>EAvqg3+bS3V`P<<)+zq!}MwY$)r&4Zd?o=~{5xpsv)pGId{P|1lA z*OH;^rn{3twg;GY4`vQ+{8Ryp#1ehK8;A)Sch(LJRNan0FJCUzm?8Ii35#KmRM;pj z)J6n@wY-oQyokv %33o_R*$n1&qY_APdx#?xA$pnXX-yx2v+=g z-_QSOJZv5gk1&hJM{!uky GeR-#K<(+(zai|`!yYNj;XyU3pn+9_wbjhpt$s~mu+d)jUnLnS*_^6?It z#|J=dQgTXdk|GL8!KD_QeY39$87K-Ce*cMSmFzWm?HFB=F2^xl$-Sc{U!HhTB@C~& zpwN~={JnXz%y#j_g+fuwD65ml>iUIR^!vjQ-akSEUxZag|F6yTT!Y$Yq@s?=XEYY` zaYR+P#n~~I5i_tsF~JWHY2x#;v*Ybg*PSMkk_5Dn7oXO$H|VCz(;SC-WWJ?l)jfKs zde~Rfs21-D^ua^2X!XG-i&Dt-tOTTpRcF8Kz1n3*_avO>7?=nNFGxrqUQ6_SteSOi zOnymvVqQUwi;xFBeysy+yzlTeN>2&@M@9Jm=aF3O|Lc(~-2a7R|9RxG)_>_12S&hr z!#`aLBMmW`^tx-B44%scd>v%!1ti4(xM&=OA;y#O`KH`6kz71-nN1D;B$CA8{cy{B znz)-JsFU!qc)YlAaArmnRBp2m za!1Vm{?W1YoYBB!&}E7Peu{2TB-W^su!?&~FbSH;<@r_-S_X8Q_8?Ab5r LiYFzW8)Q5W_7KS96=_5AW}pK0 z#Mz7xUoB+r)r+v_3-k6K*8>f-$YFt15H2&Lo}aPkHvAOm64wUfj$_eSj>)S|7xDvY zCoX$o%=NE%Zm;&YWJ`o{e|d|L%lSJ4{|@;iyK9fDKmq~tjti#c7m$KxWeMg{URZ9kpHN5s6c z8Itu5_yA~o{SXZc9r%;@o6>}L0aStdq zPGg?BHXfZOUBku8q}+ctmKJ%LKd7-5)GIm}*ww!2w (D#=?nsc8aPOE!3%h zxCoG#+Vee4{Bjo6HcD^LE+lL%=kTFPMJ~agOK=r|-F5RiSG=$G!~b38=t3y}XQ*SK zYzTlTS73~xmOX)5D%Y%eKRRxLYae~^9n7RLcGaHfaJYE8#-BST##9*`(GMcNe=b|a zgg`!jn3t#4yf_pdvQlqqNMHy9E0Zd;w5a_AJwbM;obt>f5x0 OC;dW*-^(BI8ml~b(nP&s8w67Y5+$L(A#6V+t+RCn4sF4Tq-}%9N*N{T*cK< zcIcoA1T1_OZyZlKUc~g1rIv>})Qz;L&P>ILytVHKn76vg+_sr&WlBio=gejsm_B}J zC0Y`!b`#n2;x7Hpk`Q^Oz3X_kSF2hX4|M*5w_6@LdUoKtE2RkYq7S^84ybu~dXyf5 zHzQ6PZ)i1%Y8Xz#p16)fpw#z4#iEvfJ}%kES!(@K*eNN=pzrl1=<)9}AoxW5Lkpk& ze_Z=Nto={E56;5&AKm_=+8-@l*WCZ8_S~??@UIaE;;+ctQN82&y0v99+pOH5EGuDK zIy#7u&^2kQZ+;P}+VzE6+i|-s>^~@yyWBjQ-m7)T+SrnUO!4va6-8;ClNfS!qf>A~ ze|?;dX30o=Y?HKs^)9w3zF+AK&XfU0uH0kI_WdFo8qNCC94Ypsz*d}H6&q}El|K{J zk_B3ozEu13SSAjTF~%*WipJo0u53!j$-x4;0-kgQJy#H87|%D_a-A@Lm^JtU5gK#} zJ&+w5e9vs9-4ANC`K}uYj|05s=ZHnUka-sLdjlSCn^}P)9rL%Myp`7BwCPxB=o^u3 zwwdkzka JS-7_S*UC=2EpR zFw^EW@>GJ8kcTzUFfl%me4;{xM}KUh=4Q0I;d8bR%6aKtDlFDlDvy3Y2>6r=0m~P( z^|&F!7G1Fa?RTvN_lM%?kq8+f(OP0qu!t1_s qZ=Gp?UG88Cct0>EZJ5_aFUI#ke_oXkB_k=FEqtrg&lVDf@{qNT4o5c-c%( z`!y79bZ|}&+Juq5iA3$ Oac#eou?{@Y~ljVdflG^n!;#irS9n*_}gF5!xD zUyj=~75fD++Mc7EarQy1ao2CBBVd6HP^Z??T*&fy8j=o-+ev_}x9FLOU~V0%^VYsG z`Ajcrop9aP+=v|5t@2Gx;ah`yY}8Nn`pn7`{Tf0Y8+r64?<>}MPGe&*?p}3PqGlr9 zd~45V=nZ+$s0z^Lj?(uNt2zjS`?KR>UfnsRIf4kJCLaEv%mjS)Z8Ht?dwQ8;Urp;) zx)4vV(nyflCW 2Xo12GH8ze$~^v%4=j@bLL(t)tB>aLHVXZ-;ooSPnz zCY2AAN^Lv6pAH{iUOc=6v0oB267-?5kwJi}Sla>z*P*9BE`0xwycBQ?5n_=-ewXm9 ze`*SeRzyEt=^aBZg<_93vtUwwyoqH?Z{j}*HZ% Qh-_+_@MjMgK$v1_ z=}+j3gsawdDOtMC%&50n2(lbP3nJL29HZo|s3kV1F55jf8JCJQQWe=71kbu1gVO*i z)L?YJk2k{9cgZ^MXkZzUjeVRv&K5