From 989358de6ef68e75c6dd964c939e29d03192012f Mon Sep 17 00:00:00 2001
From: "Fletcher T. Penney" Second Attempt
recursive lists. After a lot of searching, and tons more reading, I
ultimately decided to use a parser generator to handle the task of group lines
into blocks. 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 @@
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