From f27c4774ca8d4ee25d60355f6ceef3bfa5fd8083 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sat, 23 Nov 2013 10:57:16 +0100 Subject: [PATCH] Update Migen tuto --- migen-tutorial.pdf | Bin 154314 -> 154300 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/migen-tutorial.pdf b/migen-tutorial.pdf index 7c99e565e6e10ae0e185f5f7513017fb890cb80a..78ba06b5fc4436430cf4af3e57feb5f3e871a38e 100644 GIT binary patch delta 11774 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 M0u_~{k`%)K0J*~Fv;Y7A delta 11826 zcmai)LwF?&(4~``bZpzU)iFAD$F^m65oXcf8JHJNB>VYBrXvG-Tcv(K7+hmgGjpFAF`flP*dRr zQbGLm87Nu}wn6>FQ~s!w61Y{{anTe=ZtS(S3nQ&~t2;~PsJA>RpTK|lhs?(sRs@bS zRSdE@(>!3LR0A#CuV%_Y2bKeqqhx4Sc=|}>6&8io^SYt3Xf7g8o&%~>3%+gXR16^a z7LQ}ooPG*W5Y7w6n_p7-m&S-z-l2%=gJPYvNot8n&+6jZgm+N0A9=X+fQkAjrUz1S zl$jT%c#)wQ?c9)aH4wovoxde{xwuMa({3rbgqV}**(oPxtV=$~>)_CdC>J*NeEIT` zQYDtdS`0{C{Dzp6V7cBbkuqlGX#$F6Rpox?=t`Cnc=BGIG#AtP3^>2;^?uR{WN;pA zY8kq(aa&#XGuaN*#0qcs>3*CC7cd;jZoJ})fy}Vmawyx-0frM=qUks+;YsrYhC}#L zdPPGjG&7YrJ0KJZ!ad#wug;W>)nZx}S;FZcr>3-Wrs0$z<0q-`tOHP#+=a+h+rz9g ziB=Z^8;yHp3{qLA;-_GK0!?4-RHPDOsx8w(`>XuDe<^6xw^yZitkZT&oF(+}V+fW? zc-As#4VoVA0rRWW1aP}L-v<)jN@~T0+;x(p>VGDkcU`v%s12p6%CZkc+a?qR1bD;3 zoE#9=RfEXpt;Cjm*+}rsE-Hkfl&llf+H1E-J6F-sh`JgkH!9rYTh3xb#qSy@CErYO zOfj0A{;`aMVRZb_>84!D>>`hvyrEi?Vab_2k%keF1gcJ%K%M^^U!N?rR}_g2OB_qc1&hH8uV@X&U?FPgJvAENNl z8@J4qv_Mni*t-+d1+>6{E1T$lYx{qEoIW|f-Y(7G1sz)PPECHn-qyb>JRKZX5~+o_ zsHGHW0aNPXHR`oJz({v%I?!SyoN21w>23autmIEjS&3C4K5o4ojuiC%m01X7IG_K= z5M&3v*pdqMCOM$nV_Qq`zA;1+rs6mw7VhC>NjB#R;i}|m@E{d{#gRphwxbcpI)VC& zf?`N*?Nd0XJqd#YbgdUFFn$r6O1MC;f`@I!1AOd7-o7ogw$1^*YOxPAlD??6%I%Mk zXTlvw9%L6YWtAG_&euqCYT9PM^F%9({%Tm#E306AsS-gyn&a4}#DD52M##CF*~8tF zVguB5p!<0F{yBf{BiA2g*hguN(9%{}{R;Wws-q@ov~SJs8tLW{3cq&OX6+c8`ME53 z1^kI)Al!MrK$}bR^v!undIwQ_w+@bRDmMQ4;kL$Uz*-fZsZTie2l*&1qh5OXKP^}0 z2+OzW9X6em`01fb_&W$2vn)=F@t~yJJG=)l%X_+~IP0#CL?X8*UuW7MT-fg3!E5=V znxw>@Ru~SIuF|1Ku%_v)!?3!EpR!&A4Q>eh1>U(F65mI;y9hA(g%ezEF53ksAasgQ zZPmudSEKSty#gKRcj=t3h*S?exLOwX$(66t1Oh{|-7d3plYj(dKFe?-WV`Bg;wXo> z{4OIObbM*A4gBxe@aiOL%}>y6tGNB(n+sKP+tcayPmX%tyO-_bQAAu`=YV@LOWf#&#*jq#jjlQ@7 zAL(;&6=qW$4e=-ok_4JqRMcXSNW%67+d%(XNfiiD0Ll7Is9%|>C%-iTKOWVG^llmYa&VY^?LTN z9v+Psy(tgqE~;Q7vVjI9d+nPrl)a7}f7)`>FUG*)76)3MSzM z%jPnA)~B(>%gijWm38xCd<5cd^Q`18v&HkWxzWz|mC?yOeCKa+WG@iM0U~9GfdzNg zOGt3Ym3I+V7id-7y-R!MzIDa{C=4EeG6S61c$vr^A~7a?0f}wxtq~i!U}|MxlnBv~fnT`*DaP4K0B~$5-|!sVbtTWf@yq>Myl^ zi37JZbspJ*2-DMc+LiJ>~Ud~p1{E9@jpQ=?!W+Ug2zbl7$) zR~OWcF3O&*W65d+Z=YalJtOo=PP-O*+)EpbTFK<;J>Xini0OxywOsLyyNaI6({)U& z#!hc#^W*0Z&GK5QWAYUo==^WXkRMx98udGKliRu$LjTla%LF+K<$eaqQAC%#D1HWo+$b8~ z=Hi9HzJ0H-PG~le03#@Pi!y z>9>D|3wAJiHLMc83tYq*eyofgL}M3(2#SW*v3k`y_}Fq4Pt1<1gys{`o`bQ(TuHDu zzo;JfqBn3GXZo3MF?79S(ir3SUTJA4BYRclrZ61r(S*oDtT2b@spvUr6X^1YLSK95 z##S*{Z2}R@fZiA`+9tQ?eR_G_8pZ>e3G<1H#_VtMisBsDr7hISf5x`|TcqQ`dJ~-p zvA;5}#A#N}`k_wJoOX%}7cV)b1iIi0xAm9{ina_d6a(_mky#C&O^oRj`ccn)hciQv z-cZJ!-z*avcQP2AazW9A@^%MeS%yBHlzrt7NaaabPnv1? z-albg)cX3FA5fnf(!g$}OI5(yd5uf9mBMy#n(f^d?{MMY3h_76e&1K_q)9ICi6%aB zr&H?=yzeNIqe9-GN}D+G1Nzg11KOmaI1raxsn|~r`AB}@VVAucHjAb9+~r%BzsWKz zxb$742qRt=&f3P`;GgihQptf7=;?}3;8@_C|C575)eYkRav=b(%VFjOc!X;wnh1aT z;jGm5UPWQiMlP|v9(k%HMy`|rS69-4J?W$*JB+5;Ma2UL zGc2)$VU`Oc453h8M7^m5qu`V?=X716n^y|hgobdKOh%)1+^gI)>f;qM&lP34HBV=C zx>U)Ft`#b#a2e^uGEG#Famzp}n`S>bmHHCnl2;mpS(LGq5zmh$F*vCUme{}#3+6j# zN`X}wQPOHs&0xQ9(=hNUD`xHsD`$d-p8~S`cRs_n&OwJm){yUw92J8NI#`)}u*U?( z%#J8U)PIScnayAB{af=I3!UNl6W~gSIK_5%3QL!O2mxY#J%yl@Qpxj)uX6_MI{X3k z<-n855<&dUC++Qa#jWR!CwWm4tr0?}k84$PVs6B7>=(V8$^2BcTF@yj>ailo~VFG8}~uajSp>|F^+^I1STFNLT1Nb;A90QD7g3hhawsfJJv$8lQu#Gy&guhd1|N+ zlywTVZ}9QmOJb+=AWyu~6mnXkb7AN-2zA<78Gx8zf~eyYm72E|31cOJNY}u&DY9t& z-bdU!d1U`AwlyBrG)!FFw@8&e1M2hf=K~6fr`Zx^5Mdup(&g%$(|Zoqx1bb?oVX81 zgqIuCUKXs)S6}v#t>VI~KflM`537FMKgbN%sj8{(fhs$YDUDgAq=7|)x z$tG?nE%@qDVESz_=t#$HQ%S)6#pt4#vj!qxI2XCTJ)eC>vm%CxrKgIFLMPg8Yg25f zTOVI<0_2x}3(EL>D|ff`1uCfWhF2b}8&aBP=J+;PVut3zs0pop0lt7o;``h$;OCM% z+ja5*7S;twN%vNs_b_BD;rHnKv6XIac4(%2n@t+(tGQ;$*Q=_PPbX%`v9jpu;wy_Y zbq`GjM=`T5q$B~kqF$gYnzoCz0*A*$9HPqHXrEsE@I#?=d0JE#QV&vdMoxWUmR|$O z7U;^qDfk!Pt2JV>}oDa~`#og78T_a!AF|8aM zzYp^j-zvdEYYa_)1{z9$$Z_z&GUfhf;QH}5M8HplTwnBFvO#4~ID2luCQiiA!zkwg z<(Uyss@wq$E#1?Ypmd^h29LnR3orL0+|ynVZ*rdQx1!loAe@l4g3DAox}Rlbh?RS5 z^Y^Il@E!3Uk_+&;yTT>#AvxZ(3yT5bN)6Pv0_h$a+Nx0W{mblAh`61sg!2X&?n}C< z3;7}!cQ~-}DDYf}Xux?XH1TaCbTx=>X$q6o7yF|$uz z-gUuu;=8tqD?83lM5!q?=iVb zD-nqGVb+4C}uNWBekqWC=`X)t^eme|whC_{?|#b9dgozC5qq zyZUB5I{%6n3Z~1G@mAzj{$=09gYJf34NatfmdcADB3*F9K|^ zSCmL_?WiblDV(4%T9gDhO-NEc<}_@63RKH&u2q4x&AI{HU6jZhL>tP0EWy z;Gh%-)|U+h53TS#cr+3PsT|@rcLr4BS8ySUxG-i7cwU8OLK_;FW4=AjAkJf`tQ3#HUf8Y9I&&3{_DyMDMGA1bC%MiUJn*LKk~Mfo6o$(oTdG`l>_4F^B^sj0w;w zj@%XmZX7bF?)6`h4&g}(fA@d__{A~r@GY)`pPq)vU?4ZNK8jE@UmPf78@73P@S*`1 z5gZyrH#hx(`7PYA@#UcV^8m}8uU5$-D?~DsK^TXXMADq+Ov@eW`Ny9a0)eu3#NH`? zmk8RBrOMSb9Slz_Fp*ld@7{r!@D&FRRwZWm+Woilj2>nUh6VARl!mTipGo;;{=oot z>}Sq8F)F8Wb&Nb~9qUHBhJbBMon~z?N8YgJXe?X(Ou8sP*ckFVsm*;ziyz4Ig_M~dY^MT zr=u4VQtNqhbr|x9uvVlZR}W-P^l~d+cXmqOD@Tsds?-j{GmW64wZCfP`N`K3eI_^; z)z^|~AuJb?|JSyZn#(sk`8ER}Gx+&0{+n?98b{dSV?*AQK4!Z3KDAhs%iYL}^wFQW z%FM>xV?7y%ZBB&!glr(q^T>%p-rMnIcV?W}moNI~m4hG@ZVOjle%@tKwJUmAGb+Nk zT8Td5!r(GPXx4_Ft(T()VwSkt?edaOMX&xLC>F_qp+7Zu$l04#(z0*Wervxu{J@C! zJn8aj>RMs?i$-;EBvYs+AM%hmLwHBaIJ`<`dfusc`t7cq5e*muYQ?FqBS16Vw)f~2 z5u>{UJ+-Q zjPJfpFk+a6?Bd}`ZnzhivA^?n>+sv#g@lWkknNcna5tDtx-ycW>!1Aa@3gn+z$+U$ zZ4+O3d@5E(1pxV~*_>c=E$G?3W*vSwDW?cb_l011nVo35Yq9ajsFhvxI#39Fp4H>y zlW-5N*keZuXwU?2n0qY@F&x}$BD$zMXYYJWkJ8Qfmql*>T)n!ZSiST5Rp83=Z->#P z_cz1wZU;!t{WgMM9ktqHlAF1%>f}=2l07uGHNap0nh_|wDVKAV?p10ppwiseoF*vK zYdn#r6Gzwek?9ZteRpw{eQd$GmZ7J@M62{VShe1xXhTnpJ3*?JF3Pd0;%m3U+B)lc zgpT2CT)lW)jQzwoPFwY8IyNEXD}SSX;nGS5?N;4Xu}zWJRB3#N1ZF|Uk|$7}%M^h$ zcfYZ@$pkb$&rW9gq*G_O&rOuymCl?yOENT*0^Y`D0xFkCX4iy2NU3j<^(HYyZZS3 zEOIeVd3f`Wkg7OeNr9Jb+Ol9=5^L3HmmKtiDNx6RcdIXNKGEfLHXpxTA)*T3Cwnm@ z=T~eA{AcuKejW@SC5=H~&aEr2y~y+M2e2CKbkgQs)>RsNPhosaAupghyL%H-D+?uS zWawv^ifM~%-j|_)gw`*n^IXnV;;<&WN3uela0Xl9t@QYj*~?(0abFN2YEoP#d{3Ig zs9x6h(Dl-flCis^uBS;_O4YZF&k`t;M`g?+SYUsamt@t)SWK4g^Ko}Z>zJ+)9kBZh zlxs*u<1#p-d57m_u6sA|QBalq>b1(Zcv*{5s)U~UOupx8^gKfiW7GCSqnWNjSMT_s zhZ)<{Yl(T7B{-Eby*G*g_5BqWB7Tp7_b!RL7r<@mlmZY)hmdy!h2ICMg+?52u5#Xo zG{3yIs#Tqv@X}urM|7|%$^p{~f&A%VY%w9aAi%Ok?>Q%m3tFu?d>?Hhas$XLce_(ht=s{;TDzN^5Vx|*MMhejab=X6XDyC*UJ(B<9HoX8xzPNU#> zOO{&M>-D6%I$Pb;k)+_C&id+BGHj@&h^KmDtt%_rXeu0vzEzZq=%t=vU|T*K@lu)W zE=376Hz6f0vZGSke8`Wgb9T;dn}Mhgy2HOYP^%BV2!t;d1Br%4N069a*Av;j(5Vz{F{Y_aH-Fg9dbWqU$FG%@xjUB4 zI`aqNB5Hy>95MPo`5+_YI%Q=L;nyrd@px7oCE2isQ%^3%@CGr|RLbR&07ad=Zb8$F za1tw7NNXT&RB~WBZ_{M`PhIIcvmTZ6644d7JFVaoW49~sQ05d^;2vgL;Mi*^ z{+=hGoUqJp!+90GfL+y!l&rOYSAcyO;CI+IXeSBL(0>2gvZ=4nW2T$)Xk|sqFkD|N znx5k|S`-?7IPt~-+_&d>OVI2oR!aST92R6&GFcrZ2Rp5lYYMuPb|J6h*o`$>0}1F! zEmgbY+VO>LRl@yhBi|Q#Gr-?PAFUIt7BRPQ;dg{qH*`D7k&aZFZ%ffmc4RibPDXY$ zM>fm1Qv24lHSaBe(5~J$)u?Dq|AfNIJ65v4Ua4nUfgTSA(l|XUdsq;N9b+j9Yn&l9 zXKF<4yy+^DD2$&2x5^_7$o>S1jkYKpi`%zy$Lkh*jc!8tBQt*d2)gQ1<5;P|Eg*>k)%wbZp$mw z8;1v;YqfiToA4ehIU1;X#Kg5cbIGr~%=>O==KEJ&^qRGv9#b^a^w$N1!lTWT+4=Df z8n;aCKrhYXiA_DXX3wm_%iDo=c(D~?Erk(R(bfo$3sMg0kN~dR;vJG7)0q3Gf6Fw7sY%F(RdEYML4@^wkmFHHuS>9F#q96jj z1mAZVw#aGYKPO0PsF}?CV|OBS6cpr9%njdNktv7h(aGtDGuhfBBa>=XkgH~l;~R7m zgbr8?y;z*npJ&cV;#Eyh+SiZR#<$_Z3C3BOTf~Z5ILrINvfGozhxP7UK?dbkro=>s z2jXzRoR7A#3|1>HHei47HTg%G4xkj{RFye3le$j&j6|=YIo%6=`TU)6d+$Ii#=URu zajJ6|ramV;CwZQqz6>IF{L;`Ru5I%N6o!u!lHLwGweC}Jy+szZ5s8_f~ebD31OEJJw=O9H?zF~(xd-_+2Q6Ze}sY{$E_Z~Td znWOf{>xIo^8LPg8+;2u!hTJFZ5W?!fN7*CND_!DvQq$XDBwX}Q$*=SB#NBfL>-}aR zq)u}|O3~(xSHZ7I>+M7)SKbOWX8_RvU3s<}_;)v#UWqRe+`>Y*k~&afIJ} z>#xO}s1Et5asJ9tf=Z8#iAat5jN39Gu#cI8#p&_L?~(u1>bag%a)cGe4|GWjg}mym z>E{A_pp=H2{@jXl#Cg?2m-H6fVwLoidO^iEDqf!4~}xl#OPh9OMxx&=>L8 z!8<7?^zK#cQKD(ySyQ|BWoWs018+X+((3MqB`tz&0V^l7^{;H__3lnozqW58fU{rd z=%?Q;9drB5zQ(YHTq-9U*0>W;_+0pI^j_ni@v7)*{2@hEPW+`RBYvyEL6YGI)tqrY zu(c~uNha|UXv@mIV?4vNo+-C zT0}NB!6;l!zA!j4>`$wS(?Hm*%2MtZs`RH=7jfmY?t08qty=#jtS&xqrBmNn!g8|n z&d4Uf;h&#D!f;Y;oq~7KWbjN#)8-kX+vR)5BW*CMVA~zUH$3+hJX2PO18)54Uky87 z1}aQX=LKqM1~;t9Skf%=R5Q2juHD@XZ)NWsBLX!WrYjHS)X9wH8bfzw4%8T% zTr;bK?mw5Q#?`z(&m*f_yxwa>n^gpn*CDe3p*Yxk2BS>W7H}L}DuU551tzU9IJPm9 zJeBu;&)dkd6KkPjeDH(VP_m*KN&)~z+w`l;FA+lJXUr4fY~@xUMTPR%6~xcYjfkk` z@(q%~GB>Ta`y4c!-bm2Re+QeZDCBllT$UDilh*VI;(onDE!^J-`Zfhb3jl9}6b8O2 z?*0uoD;r0JveEv5tpuLsg$~|JiL_%ktlxw^G+onxZfrs4c zsmaiK>P4r;pEbz2l~G%$%I2IAVg@BI(C0|RlmZ>bzHfBgDD_+IE8ZTZgF5cyKeYS) za>MF?kl2FTU*zuSr>exf01rv4aZHv7^Xwis8ELhE{LKR(HY2(_e&xK5fU{oA!@Pas zFe|BTlV+<$2El-$y_EOmWp_|TJd~mrZ%gX9?2f8U+`H5*4GQ_pi5Gv;NiDtX_tI>G z4oaG*%0ks-xFXLj?&=w7naYYY9}p{wX7X|ewj!ywG{DRRhKI#Q(?(YHl!qwWe;Fn zX{GA}UGZpe!4A%u;Gex*q3{)Fe8rLVO~u$p2df)zYIk!MbzjaU_+cxAi*2r(z+QJs z`I|A5xq8|n)Pl!J##;KV8n>^%Z?7Oz1>Of+y*$yI(8d%aaywNScu@s7dpbw~K*hqs z&C1Kl$;!gPL(jrS&B8)W3&$+)U@C6pYDPjM&d0{W%Km>L>BNcvIUEi~RwfP>CRTP5 zn%`!cByv{nW+eZiZ0W&@05Wiv^fE<&DER+*@wwF2arn!F<^Np2yU!FA;1LCg0zY%j zDUoN}D#>+4IS^^Yl&rO*OxrBGKYu1rNuk|Y;8^$5WPsDcsNZ>=86PgL2x1wMh7(G< zSwdrq7@!s_nGdlkas?oY!z*-9LUqB4#I!=vp-p*{k*-jP<0PG>Na0MD1o6TgD?v*z z0Vy_(+-VsSSu%~$sKR}!B18Q7jKrOKvh#utGlMKNfBg-i`JpOW98@<+S7cZPnWmaX zlSUyfreTCQ5KLzmsV?q99uY=IX@*=Kvpm8QkcWdK9wT}am9fN@loZ0AkwzhEQzTuK zK^jJZSJOrz9S{fkhofqow-Lb#b;LPL4mdz)9xz&yQ1kre7VrPzl#c#JihnH7WiWH* ztF9pq7`71bPSZFv7W_kB@K-J8pqT7D9r+*$RUDeW^j{V9@G%S0iOZJ%`}8z_!1~1b zY6wyQYbc`9crbfG@3Hyxntj6l?QlL@8?sxt7+u^r>-^h&9On!#G@DZd{JcepqhhIvQ^#pYW2Uy!1YogNB#3mT z_+v|$2&xczQ8I@)kRXZu2o_eOfOeCR<>W%x`V?#rKqsw73|Uy~XbLaIaf>^(BBN1{ z2>@$I_>i99#3W!t6A}HYB<*Znpp5n>8e3U;uCqjCIU)^*z8K>*6dk6($ti2wA1Nc3 z5{LgI*P1RB%+J|N|ADG&1MfWw|i4XLp{Bx2zpc?dyxUl6S)v!QXo^x z7stu@C=`^iDntlsx!G5mM9zo5=?b7J%zb0>&4 z*~ClW#&7dD+-_y#Z!k@*K8*hx6wLTjkB4wH0p+CapaI91ZpRHmy*EsE?Ln; zk44Q%a#-Hl2V>4-{$7YX*ItXj!(scXtA+C^5ZR@eC4;e(xQX*wqfo8alMF9?Njl#z$qE;6QjZMyBF~vaK@`QVU zX4O)hjO|~z>cj5;)iE6lYVc2&%{jApx;VMtSbraUFwYbiCB@Pg`NsFj3Otj1?#PO) z<+$hyivixs@QeXjmN-rMTZBiWFKtv~lSHFt4R-P6EYr%lK>4V>>~+s1F~r|FtFI4= zb3z9n(=?R4a?aV)ti+$tz4~%gUZ0BbhDrlGsUucbCQzT}yO&P=-)Aiu`pi|y&h9-P zY4O}gA`-l=0XF8ukLs(UYGztYtQzU;+wFRnk-ukx3&F1kaQ z{YP#(h-N!1CBx1tGrJyq(7XsUfRCH2Pl1klZ?1y zFDUp$9q;%3E3W+cApb&x(-4Kbsv=ds;%4Kt#dTwEAfj;eZA@BANYqd7@M{XBD0(jv zLwV)6lPy!_c^~h7nsZ-Qf!iOetEs*_ytS68itxz2ll_BdYPZ7G(&}3aSu5@L{N-+} zxP#ZvNlYikTmY0|=e$LSho620LMJ<~Jr|bLeo^j7Z`6|4iuji~76rNfytsDr3S^+X zkYa*3APhg=f~5`&YW284+Zn2Fwznq(F{6Zrpa>rg0frpZBuX__}i9C1nCckuq64Gd`ydP&7|a1`P{q^P;gU7yBMO;p?HLh5{`_%M?xStNx;@# zs!>P!G}xYG1OeM^+q&EluhSu<@no$o-}v3=+tbnW>uhm-G#nvlx`Jl#%{j}iaTBM7 z;GRD4+L&<4?OD#K@lf3sJvd6VUb;PW8v@&RXa3m+`~@B6h%97p19b_pNT=8WU6>jl z*tVDMPTnWHrVAzKc|*85bevXj+UAWB`|_}OTvzQ8nPZeQ;x~)ik>wDZ zOclEbZS)c~vABCqvCz?E?6yxF5Uw~-f3jHPWa?OWkKILsl-S)nXB#VQ5Z;bhK6Tw} z#7k#x!cyAN2{PjPh~6%B6wMTF!YWw==7lBFeTX1t>ZQPn3vRjvu0Pw12exMg*=5WU8}y zjz}fh@K-;)if^<5xmn2Wt%^KrY>TkgTc@xL&UxfWAY+eK^wr+H?~i?U+FaIpIbw&H zSCf=n1fVd&E&JlYz>UwQD2BCij%o)|svA`zaR)IQWnu@kawcm9maZ6P;;0|6ml}Yr z%)}V~$kGZm=bO7BK%85G7yj!6+^q-GN$!krqU|1`)CXIQTda(pYRK&{4h7{8gc7^a zeN;6MJdZ!&$69eszZ-{?2fTv~m-fFp>}>+8QTyaOieIe9H=U<87XpXAr*`e*XOhDL zzwV9iIjzh_{Gpao_w$JH)I*rQp+=Ci*x}6VOD(WfdUhlVfX2<6{Ry19vj*p;mbYDeemt{nmCn_wi-&?1ILVX=q=XsYt=rjF1 z_Cv3W?_g(e*-Xk`SAZ3p7@?XRhl_I)oDK`4{r}a;#ns5!)zjI`9FCQforjwfj*?PB I@fY0x0