summaryrefslogtreecommitdiffstats
path: root/make_boot_img
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2004-01-09 16:16:52 +0000
committerPascal Rigaux <pixel@mandriva.com>2004-01-09 16:16:52 +0000
commitefef1a85bcc615b2fe812522edea541394a05de1 (patch)
tree0e309c3de5ae35c2b463c7ebdbdb3b2356cd942d /make_boot_img
parent4f2ea6ebbfc6e4c476b6c3770feef2ca16db66af (diff)
downloaddrakx-efef1a85bcc615b2fe812522edea541394a05de1.tar
drakx-efef1a85bcc615b2fe812522edea541394a05de1.tar.gz
drakx-efef1a85bcc615b2fe812522edea541394a05de1.tar.bz2
drakx-efef1a85bcc615b2fe812522edea541394a05de1.tar.xz
drakx-efef1a85bcc615b2fe812522edea541394a05de1.zip
when not enough room on a .img, generate a file explaining the modules, their
size, their usage in pcitable
Diffstat (limited to 'make_boot_img')
-rwxr-xr-xmake_boot_img16
1 files changed, 14 insertions, 2 deletions
diff --git a/make_boot_img b/make_boot_img
index 4df3d2c45..7edbc7e0f 100755
--- a/make_boot_img
+++ b/make_boot_img
@@ -129,7 +129,7 @@ sub initrd {
_ "sudo mv /tmp/pcmcia_config_tmp $mnt/etc/pcmcia/config";
}
my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
- $modz = "kernel/all.modules$I/$ext";
+ my $modz = "kernel/all.modules$I/$ext";
if ($type !~ /blank/) {
_ "$sudo cp -f $modz/${ltype}_modules.mar $mnt/modules/modules$I.mar" ;
_ "$sudo cp -f $modz/modules.dep $mnt/modules/";
@@ -200,7 +200,19 @@ sub boot_img_i386 {
unlink "$mnt/$short_type.rdz";
my $avail = (split ' ', `df $mnt`)[-3];
my $s = int((-s $rdz) / 1024);
- die sprintf("not enough room for $rdz: need %dKB (available %dKB < needed %dKB)\n", $s - $avail, $avail, $s);
+
+ my ($ext) = $img =~ /\.img-(.*)/ or die "bad initrd name ($img)";
+ my $dir = "kernel/all.modules/$ext";
+ my $pcitable = cat_('/usr/share/ldetect-lst/pcitable');
+ my @l = sort { $a <=> $b } map {
+ my ($name) = /(\w+)\.k?o$/ or die "bad file in .mar";
+ my $gz_size = chomp_(`gzip -c $dir/$_ | wc -c`);
+ sprintf "%7d %6d %s\n", $gz_size, listlength($pcitable =~ /"$name"/g), $name;
+ } split(' ', `mdk-stage1/mar/mar -l $dir/${type}_modules.mar`);
+ output('.not-enough-room', "gz size - pcitable - name\n", @l);
+
+ warn sprintf("not enough room for $rdz: need %dKB (available %dKB < needed %dKB)\n", $s - $avail, $avail, $s);
+ die qq(check file ".not-enough-room" to see modules size and pcitable usage\n);
}
my $timeout = 72;
!6Vv\|$;a+v. \QJh\F3fk>!yVNZ sIr=pPIt *j4񩠆 Wux)Ŋ#ɸUʮٻNW;oIHtSݼc1]R) Ecdt0fh7ki7V솬:D=WVE~Ka򅯌ey ~a618FnF3@'6A;@Y\jIw CGew a~c)x{iR\y9ѿF0׫WѲZ١?4'/E j8w=g,S0*oD(7A9@37W)t ]?޶zm̔T]aF` >لk>EJ"HvmX jH\|T aY`4K6>'.[PbIq-'ZxihMA Ph{euVotK,1IeC9w7UV8dN6l.^|*QŊҗMwz7'wS/zUXB^pgb Ќgo6/S&'PRf(s]LUdXt1 `aQV"}(vw# @|k|ϼAS+Bs٤:*ck3ؓK⨔FF0[*^rH~~Jď@cbh3DܰMt (TTX̀Ԋ,l3LBg-P3~lHM޴6Kο[9y#7<$vT"fR>f W[eP=l hL}SG7ىLy2N34t} tD#`z}ޛeHnah2[b-rwE} q M0tS^ryYp,*WYUEN').vY/®yW׸/`1 ?X?j:}tI|~*H?N?γ] 7dyn@ԑ%^5&l3.}2A4:shH &b _}:whA#CJ%vjNOܥ:9u d:]Tgjs}z7<ۨg>:9+>:-S_5g" {?BUl4~Jk 0٩;ȒMEςM0^S0$$SqNvN6x΃޺¯n^SQGNU1Gw=M[(_WzM/.ladc2 x!hHb5zg!|{cI_Q-I&7)Ns;g # BQ@-BPP!{&buIp>:G2VOڗʾlC(geT0k0v<{!HaW0g[l B0"i6}ǡ1|m6\ь"FVIF#kl[Q+ Jݫ3_֘s`pCN򠪅'OxQN!{w2=Y:S/&T4B;oHn;PTB.eH}ȟ[9kRc%/({%HΟ/5#MzM˛Nh1a%1P9, .`r^ v+] |y0HpWv-j{1^}exEO[nMmjcv׎9-qW]-'G&GVRg*qy<6+K #pY3rzc̭7x䢳{[)'dfy!^Aw}`ೀخYЂ:(68@fɜ>=T}FE28pXRm$E4w cƝŒʔlX:~BpAI B TN3#l7TpX"]g=☍#S`P5PfV+*D4uTQuBfƅ0>/(w^ ޮ1B {mmE9+9$e>P)D->u[wBs"5 Vx>j+j6Cfo8k7g]/ާ2/*# 1 }7~x 1LhтG5c VZu_ 9A&Y њm<4֕[6NW pۖf'L`'9|'{*򼌱[7_ TvC @cQۨ"d__R\<ߔlj]˹sccpw'5i63Khia2@ 01흦%خP<@FA/ơA' %}ka#&83EPt!4Q(fJ#30ꨬƽpGP4pX z&7xUf:cĢft|[ϗ#aNhrOǢ_ 2^6^p.2,HRǫtRȶ'`1(W1x&:_ Bs|r1 ܝ'[QP;NU/|Q IBzGqRuL5 LE0G *>6g>o.$P5%!Ҕx#0Pj]%Lc%{"jsqg{bh=6Xrc䦍 en;m,7=z Z8T f?9nY\5la{~-Wԥz걸mjYqRLR; <;>P/PIul` me`=6֎p4sWK,9/}>ˌeʶ}C[ՑSPme4 pb<%*4bd27R i|YSXCs"ak~^}^&N or*b!2#P8Xtc ($IG$O|grKݿYn)܈([N{nt) s |RެxəXn@ޚ#Ԗ,FsԪӵ\J Fw9aXt4qKNgoR* :g'«؋͏gk K+{~] b'y3Zi#+wfZ /usS"CaLBkGZ-6hPG$Z߉z{b8y" ZJl$_]Ɖ+9Ŏ)Cws^~E8}K0A):EUB9H%Ş;a0mi;Sl3B q}3%e[#;E<YcZ̊ V:*lXGm L ?Εy9>X$,.ցEgeOȭEg^99yTzPհV#L}AҌ;l`u{ȰΉtE9n 0veӒ:ZڇuD|I0<1 :CIvjQFWNib1-pG?&oZ%êl0pY}U*͸dMg_:m֕kqCI! mCݗTڔ\5'bJs4@#L t 9i\besY/x00iOgMhgCA'GhbÅ4!yZ\&ѡ+~J7}0M;Dq }'jH8-+U6F}hLI趉r_|,4Vû( /e~J{>K VVK.$m,b2Kdb6E-AǸ=TdA{SW` Z!i(Ò{'((Yo*5a0*WNYFz'Duv,v0~2ƾ,ztc0J 8 LNP ņP`PUl'747N0;9o _[,LJ+ pցg 6oR(WhLA[M bӼ/{A| ]J2([-E b5_įf=d⹇B, ]b)Ȋ:dOvIfv k(?9_tP瓡|Q;vd}qFf19^_/+6F-4q4-GcʣQlUrqߗڂ=“hTqc^,G[ Y)EM1rQͮ }t C y6\ߙ}5B+627G[tL7,4n`c'qIL%N4OB{82>Gd`q8`5W>[; X(kc#=flJ|l3+y3>~f:Œ流 } sM> a*pD <W!uS@tCD>LjJ@W*AsK?eȎ9LJ.ǁLv?r0J+^-p~f ]? > Ԓc[J~E4υa SU|bHKa58j q*gUT_ yęeӜhR1;fIŠW@Y  DYu]>r\(N"qV?$HhX񩋃kEμ&EŅtqX jс<|.0)?yi  &֚ Ɗkmtݸ-WhZD//FI(]gvՇTźܓr -0ni&hf?e_!49r^ At)R`kqUl/U*;LnE0= v6~3`D>tŚg{O4vVvD>%͑.="l@1P\²iEl[|*mD]S"=K\^\&)/kHyTuР xY%uTY1|)`P6QQHNAQdv9j`dʥ_*-\m]>lA#%*D'?0!|Dhy^=lcA0}shh弮D pVJ鸪;gI 7Rʄ[&kddKI(!n$|с/IpF?kLo,E@c]Mrr뜗K*o'v"^q`IUQ >}=i95 {7 . ~*5RxP T -y؏*3&2?_sv]1=+Kʶ=)Cݺq^7_zԐfD S 9s[6Ou0 L+"߮qe baE}.]Z0-?^Hྎ*4[v 8#d$ b(P$Ty[TEOZ)"#bqWs.z }P#?.KO[VR,, `f%p+(ⓦIlĻʽJA2e%'4Q*= lsL :R1-@`Y٤e3Ac1J#@x\q燝Eu8dٰJgnY,q9NwoXzgo!F{Up(ž:+La"E CBͫEmTWg2*`vE|P{\)l7@7RU0`S)4uye֯,Q3$zK)vE8^kviAw݃g;c1{570'Y׺lCnB]Z B^%hPX(F<W0;}~D ]EnQܐ/miS1 !mmuG5AW˶)}1FO-bs回jϨ@u;=.Xivu8>lDc(A^J,_ t#zjf`aWHfKB&ricIEP<}&ͱ@~vaJ:*W+!̰An^Q0Y[guDنF=-85\yq`0b?yNH-{U^%̂*:-[ZdȃUj0F-H%A;Us9N,jEu9 =w!ĉ6<|oc:R8nBg9QTasXN.X N\ŦErd j}zʀcۋSL.B4MQy'9%9t?'{y/jyt hBqyGK "^A/2,ZH-i[:0B٭LB BLYXT{Z܂)3zTӳg.rtMă!v(bG>#"(NeKb1U>h_!̔Ř h`- /ì/S8;OG@EHKylO'X{鸇.[VE%eP|>qL%K Sk~NqњX\,EMCTXrǗNyBS 5/(NG(1U?2\诈oekE-c 嗅 .VJÌZ!TVQyxnP_dz#Pr I> e&< H7&uph@ipaeM%"IƷ[o&r`-ɡj)D-9[ iɦ[IH^xDבk1γP 'lu|W4p :?wܰh Ps7# ᅨZxnoxO7[e@K3<8 {]9r^ ^6ڂ.\h3p3ʄO\>;9,_}LF=Qs5a ZqdXL{UV<1L`IKhսyG<Y$- ck=+i@N-OkzPJאˏy>MG0}4ӂfPf$hhDl+ObZHNB&kE&Ms>*8zv/UzM s&A$G: %;9,IYjUVTn5|K.\"rBp-8F Es~@c'm,O3b6@r뺳+drwL :D'/dJN9rsK/&N B[?^8@tH, 8"X8$ⱘ6՛ 4v_Hb_pLЉUA;Xt!bw'Kv_pKpIUoPTa!E $'_)R!#*J:v_JTFVO}\Y[Vo:,MHfTËGhz#MWbq%Oʌ+Gǀk9SjZƋثaV "Qj_c#‡1YkwayimS%AX ¨ m>E3mOGupҍI PwL-v ȸ۔YS~rrU[% -P:l 37"pA/H4!Zͩy7],>#x5BK8` ,;Ky <Ժz'WSIEkxY֒%-wYtU:(+b:s%vXzO\sra*SviDMNr+3E4:4FS:CjML[ 8JrE9>Ծq Fw*7B#Xr삇mea`!6F=?!_:mRƥ5x8 [KFJxbk;Yz5-k .&+eߪ%>1mbZ 5W<#MR'w-9-ZS "UZ΄] Sl( kXw'wZϐ PWRIW-ݢ'SPyLO0͚!5!~$lM /q(^h}^@mİd,؝jYVx HR7/J_Lkԭp9ZQ;?0 Ķq[fnd -Wb"~ އvWzSʪConLs9Um>rami "ͅ s }~|#jE-c®6(^MB Nȫ6Ё W}8g•'XkM*mg1ʕ?{sܘE?Y]-1[Vv0 uM2dK=!JGFI|MxLNT+O|6Ԕफ़KRD |͏ߕe. 4j}p52EIIC5¥\u׃69̺6ى!yWvGzƒUYK4u _XSgJ\][Àd.GRձzvi*C;q>Z7 ޿i,DsPMVlíݒMa:x~1M(WhgEyV{Ɓi0.4a nMB;-8#Oj-Ԁ7 ͎q inGsԴA!&Q!)E+}9dQBu==GC] +c8D3^,S"%܃Vtdw*B#0\N9W%1Ąh72F4VN( M_1 lWyDZL$ƶ$lAA$ƛgc63o[YO%TCBnޛ^LxW}4O_{pgIozВ5>F*"`lscx:1 f kҴQ^"IX9D.o[ZH` B_3BHQN'htJ]!]*tyH/V{U2׃X1`18d 4[$̯<:j~ U12;E%>u!D{ :m2˘@C%5ʀf'e:ҷq1ml ]'4lP_x!eG ;}oE@aZXrQK^!FlEub05]D&PS\9xbZ4(W*H;A@H[O$%͡&!gSM)J{{ʗ; 4΋v3؟ hATAȌY 4\I7oj<|R=Z攈+Fq-.5ˇ]\uOzEf](\G&wE,ʹ_2ؠ>A\Hohȳ es~0zR>$zԆHo␗v:F2p4Xp~~w?Mzר$$-Ȥ=-dmcuD`i+̏WLl}qjI<]ZZC4!eЂq3kfYNϫZzfxy@NO`V-+ٳq|Jzo9qbY#2`{V^DgKv{Ff3O$LXq H[QpaQUCy]6 0yеIbZ(jrU?I/=0׃\;H'1WM<'ZPH{tmr7@QqpsYv16.D"QB`ۨ6k?˸JY|%a!КQT8^4]ZWWhFs3Z"=qafRY̧'ʭrN!%7#!i]Úɯ*qD~.,vN99&,vk(IM=~8n)sMg/OoKs9^܆4{+~; }/QDŽԓsE=-dqEL\aYp"7Ҩɻ^[11\%*_p|J0ػCն'C|.5)UnbKzQLJ]uMe^x,V0ݰq)cwr3 b,/>,cB,FA$;90 ހ@@DSJ(a(!FcP{ܡ+;Z}֩q1은O'h((|iQfXZ:WO8O4Mξc)h805ۦX@(Mm$hjs0Ȑ*b':䑉e~W v}-C;©1"b4HܐTL@1(^Xbs՟YcӰQ[%k\o0N}Zg1]w(|+[ʑ#ɍ\+I,#j`+?2c!PBEfضy2v^ XRFd&ɭ'L!N+e$~R l'݁9G|DzjyAdx_lR.- 3ڦě)#t#z]+|piiس P b, Зm዆ﲾ!d)3^@> .>t]^Hg5sHl_`kFF&r fGF "$vY^(Zl]璙XiҚSoT=ᾄPǮ'`G' WiK2asգ":SbJ}p ZVYA+>\CT?cJjc1';3 J- p&UBƌWz %HF)$~s9Dҧ8lu-һOL xȧ?3vH܉=( <0mT[o?t$.[0({g3v1V01w]i=fJ n4D*6E)_7q" ZΗϗv N'xLHu]DS%[8]MV\Rꩡt0Vr1LǿIN ):s]MV}r۰G 5ٍ=z$gr\Mij 5gegJF}ۭmoˈmZLtNWM0_v[cV)j{O?A&O}W0 @p.Y8 )`︫ t#1d`tӁ;Lz11(F> w%|B ^͡򿸖Z=X*AVž@_M3(HtM 9T8?k{2_ >g. RngcDM_ć|-Lkh>]Q- #I29}ĕ[up;=GI(}pd0M>_!ŔZ}45!qD2Nb6F=RV!{5L89ΟRt\.]F/E~[S\ 3TZhXfZ3\tmٍn<|UȻFm`v`mvs@<^?A@~r~:rMrl~~sQQ;#D~5q.>h1P.ܜL ؼ]fBxKRGf[q3cMA/&MwN>bM bEy] 巰|:,1j~ ,ecf 7,6ۢ5A`.5}hpiHŻkJoa@[ʸ @&-o'0]Vstֳ`dlVRǹxbE@k22M,=OwE_(]zǮW"qh_5j\2Z Bշ-6u; ].+EdʗF??J8ODZF ImP tkZS1Pa]1]&!5l8) w2Ҏ,5&B*c%T`gI`!aFAVn^oEc= N%Dn dl>H]I %-lcNȳ42`cZD]&bE: ^J0hvix,Crr@ Y!'SNau)D$M 78[C|\M:~3!-" ils~X YUyՍ|_H;j޾m *S漻NjGQ8>[ e%pM X:`*i>R HEpWȦ$t</q-Bd(VIE )l2EjŋT4TsiTWړ[A;_^{;0*©G^mVx[_h]fiLW*kyjepEnt= 8Hiq7Z~`.;8t:DƅrڞT'jqj,h?wOYČ 1K0%N:DH1GE6 7F`İX \/F碙QkZu Gد~@N:A<!jĺpVC/X燝DQ9UAR1x@..ZkS[޸'nb<~n>ސ<3Ç(D×äyKi2d L|):(DC_7 ȺKeXp<Qʟ%X!m\FDE O 4l>6b!b8kx WvGڀ0wTMF߰K\q $ĴZʢHdn<-K*ILt],nbr6hQ+k$XGVtg`ʠy_XɃ|nVo6W [cP&%UߐD_]]D]c "[&4N,o E'L){ۓֹ] H&|R,wrdsL<Qo+p;5@:6 Gn0>5XLTE QXQLJ'p0Hg_auDFLjpyg懳Jn$G3 Z=F ,.]k|Fx p+KP qLW,ґ6|$-1d\=Qxtc$#Du%m7,/S,j~u?Br<3E#3tE+l84|ϱ7%sTM}%!@x-]kK(fic>W<3&cy5IGOKwS ,ѭ2n($?U^sKFpӻ.\ԹՋS@ G{GX먢|E)>#b_r:rr|¯p_)MV(e?#Õ*9x4V\m>/5~AwI#U\ma9U\n>PD;67ض:h亷@D?i]֙#ׂW™} ZVoxHi?+ʗa_Dwڌ9b)%`u]?$SW5_a*|3Iг3RajbpbٺKNT>rC]L`eifH#YE}Ï}Oj4 i^%UcѬtNd3{V jlh 3vt^Ϻ̚?p10ΉY!mzJ:t@Vqj}-ҒM8иNQH$;1ȚQ>:#݊?]hӶ"4_,OrZ Y|33]4f3H|Lr/uޏW:@ 9щN$$kMGwΟd,)DDYkn?Oav^݀T+0\_WBASG~4@Zҁ*B'=OPomWTT eF?}`jJ(1\M_{mŞ9_QVIj&#\ypTLnq>ڴk\oc_ Rȝ2GYlp04JtyaEXTw{2eAgy;rR#bT󠙢pߧ&+VAM領b>,Z lo`wG"͹h}-+C|jY=Z&hόP9f\7 1q#P&~QkK[Ÿ c OYu"$6%CDriY^fA uXd/GitrP# )BRt-g x-{>\9n Fy"G4i+8>HK;TvPpn 40|$Z=`pf[r C єD۸e8kv20vD""l\c=pޱT^m<.jƉЇӜhSH5* 7p;_eeB3ɥJDVj*dџ}}uA>E4(X8:^V{CYL + //oghzA|ϓ D#I  1ZDXNw|lE r/z#P¯ĥ bM6޽Auv@L,V7(Qyxn'Վ)4Ň ǁr4d1K>sfus O {@TОsae #MV(8Bfx~t8zτk D{KiY ug }y$#}lK}H}8bi*RMD+fc 9`v@R{m,"ERLTJ@/ܘMEtL i&$2%7ʯA`pQ+Bw3Ikj7JL A ^g}~yC} L5-8:KQW(['=h(O]M¼J~To'0s޵:,E|w`si8IQ';58akl  t0~Eê3a38zY"U] Le1rBN\*KKn{Aw/*d'Ϡ? D!0,a_vD!f$yy(6(P,KرK #πכpoK|1MtaljXFmc#DE4x0JMwiUВIЦlGx1n>B-d%N v=0iG[CQS S_/Q~ގ5US ̿ɋT@.vv{Cy~~7>3eeaʓ{EQҠf N@O l`1dNQZe+;U96F*R2!UpHQ=9}c8rB[ޫWzJMP` FCt > .q&6, @(Y !?%gʲZ79 3kBz?slF>XJ?uԬm@}?m4W\(% |q[Q˝Z!fk2^ڢB!j?& ֥ۯ5^nQ (0oj-- xaJ{SBeS^>yOZ|`id4Е'dَUĠ2a]B]0:%[Ihj j=z1vŻ@eF&؛)90" k> ]#JX̥,.>>K;ՈLYVJr<'eǤ/tα5x-`UW T[NJuwcIn{h떀C{Q!Ţ%6`lS.Y]x{1{Zyы'+WNQH8~Mm"26hfK?twz/BLˌ_7_W (o%]*dTmvPO /a33MKژFbV5S.@,M¾c< =G⣜o y8K_` %QpxWbOzmΧмrrI#!SF}+4l)H R\-wFWV rʵ'O5&PxlN㦸Ln%+͸eH׹la9*c|OPC"3 ܫA@}0;=G~ߏ Wgb@A KT+pZh}YfP@뼐sY+B 6l,e3{ѩKxRa1,v#sR,aqs PX-t`~y]2ׅ./7]@J*/ƥw+8YZ@EBOϑc}J\.> 0\|2Eo9+Z)[ԭ&p]|갞4vYS_}JbМtnc\*-J*t fw\ܬ/E4C|WѶ,-&ݴ Y"rDE7@럤|RJ+->6NvW-^wKe~);p㺛:H{5cx·ZF:$ᵇ:*F0[ iٵT\n7L }M1EҘo~(ǡJj9I1 S@sA8K][̬EHxyA^AqNTTA4nM1Y)垑:aVp$N_aVA԰I YY#?̺ յf]O;;OS4)Zԙos9wйiS vµJ~-]?]bcL}`Í֢D E"ěk.k$Dyd0:+cc; QnNb?]Ba.N82-|!?~ڒSП샏E|hK qEW#;v,Sя(Ff ?Al6v7386 n7[ a߁) j'A4k,7ނ,#6l"~ˉF9uل6''?a|f\>\ͤz3\FPكAvw*x=̗yƚU"ud_x)əI˯B&ٻT2t^},fGȓ̻/jT gN]YM`\Jn=tc8#%5j}GUk#H6 }ڿtšfea2^:FH e`Vbr0_'|zQ#2#ᓘ/fP`!`czRLk3 $7OmO)g*ܐ홰Vt uK)xo_svZ &='<{'2_VJsa}`A0hls\ r0##ݘK ez! d2"`HI> SqY1.'bz8 |%;𝟢q3֯(j Na݂>Z4h֣E~-|oؠnHV3@ p߶t1^:O[1bF)ӦUZϑN[晹!e]ٮi/[p {{\d!'zKsšEerEXyp=Tc_L$nyj]I YT)!{2x m؎eǪm_S|vbKNu sO:F$=ParPk竀!]`?]Z/ Ty^xwR&h R oL'" d=~`>ot)kńC䯌i%I{M=׷2< ^,X#}cCOuKS}f^wh*?eHvU/].~ NJ#L=1ި1?m3sbl*m_0,2r>,Pe$M^ܖ )DT][VÿV" oVY~g[o3 C qi r)0Luˇ:q;v}hd[qk·RLDjξYNzY aӑ7IcTIzb~v&N20jvg4 ]Rrg? !@3YW~Eޛ[tʻM3hW] !ekDPK!=k惙H `{؜T1 f$8?TE/Fk*034VedX8@(U(``S踬W؜2/b\t,ꝄŽ:cȡUN>OVhVu`YG2S{^6 al|6r&҈uT5!"庒^!1X-ጼ+~~Gqt:_aD^6Qw(0R<҇BoՄ\!V&y-k)R3!S>tis0m׏rZ#]?o^oSa ؾB+H-$`$Ͳha}`]'>yd!qp: >CGYl5->,Q@ kc-yKyQ$ԺBjdzt}0ɛndB(x+Q=vZʍ#joEA3}aϸ\Le{{ Idu:˗g\d >b?e#cE$esb9BՙGh8bO*MNon Q֗<7b?2*u%bV^Z8vzFZ @v.#VnLf@}3G$Y_ѥVAYhlzN|;tcAG&oN*-}&gkѧqn?h=O6}(܎OL.O({N*4^+ !rmN܀JJ rz8]xb09:,gj@7_5 =WTa`)VeL!ȌJaZgepO߹'8z^\#_ /$2r7̀!YN={=C4´84vwP/Qur̿(afv8O28Kl/VHN*, jF";;{o2eL!lBTʍ#"+'+b:[<7Ŝ6drPCk2@N1779:(!_Amw7ۖ\;1<4H\ͫLy5ŴH) @ܖQ+:4 7Y`IcWFX?M|Y+}#+ d G;+̃/+Siǽt9.t0~;x-\Z~B-a Ȱ8&bܪߪP:qi*SOl ,'vN.)SnXnlm-DSQ< A9/MG .qǕ%=p. ^ ȿAW@^,hXHj2v p?MoA$}J%u4h?U^!MB ?@F 4{+}Xe% |xfR86'TVRO[(l_F*991+xſ#eTC,/_ylONcYўys2w5e"s zˁLe- ~<9?h$Dd3Pȶ[L5lpP-RQ[`'ؙiTX PH<30)< {YZ؅ӡJjLv꠮b^yD#.Z@}!/u "HZYY&[MTlɥN[K7qf_JKV΢×_>@?D=k}&9I=̈́]ZhxP}3OᎱH)}kG{aT|B%j:W+C̓p,D2X uRG[4d]Ak8фj` v"Cȑ$}x5+?G8n1iΥ""}$@*)5! u M uoS9sVkpLy"xK%^*S)0$O+!a*vK^u I%QSI0U CiI.tQǧ7#Z97gN7zlS<L ms "ɼ9d bO}' 34LooLHXi<ѷAp| S/o|b9I]LMT7=(: q@3OuT;FS+&x k T s Y4 596q-V xr~PXzc+YQ޴ƿ>lj^Օ]`fp?(u|l8Nf/ 66Dd6bZM,~3|bMfSŞ모?(KwH d ~\9UwزfϾ`܃]>閐."%;Ha8LNs.M7hm*ZŲV;Ҝ-q{6~N@JR"Ow,Lp@zjz#7A+Z|0mB*ߚi%U4&eD)&6/襃U ڛ<#^+`t? yH ´Cip>^4/Fm{(P[ ޺B: 9תJSb|p*RQO~ Jg Bd`K8ZP56TM*5} ë,o$X>7w+78Ȣs&q&/;"ζrsf_u=ѭcƍ)d`E4d3m>}k NE //sS(e!phBڷCIس.oavx5jvNR 0t|ͤȔɰE/L fKC_b)pBX~ΪvA1m{W UkAH+.kdžϒtwӐpcj4c|_g]]ZP\mff#1Z9,Ac O-NLȚA WU d|ivp*YzUv|iJj'֗"KR7f7<7D ],[%lE7Rp;)58F/w ##<8GE!v:-d{bƞ@q Sͅ=_%)Z;mYi{Ж7&.KMTJ{g]F ߼(7co?Y 'Ue\|%#ęgc4ebv4Rݙ*EoX3Abӂ:wP]; 0i6 [^hn0XDv\ĭUӷ-tEj4y øԵ~3p3ȿ[ꢰhU3Pfr/0Bi

֋vOK1 үWt`ijt^펐K|_WoSHp%KcG++.JA46[+u>3"2D&Lސ6i2`ZamY mFIok"FJ {ҽ,F[≿"XyɿncΣ"cvS_\(bfhh*͢ bt}7?e4X?A,H;9/)M/H=grk4 C$\\RKRU^>h*bAM-8;MzND:k`Ɔ4Bր!Ǚ^ێsWS;"/Ued@B6ȮC]%T->YL%vl9W5|[Kjxoi\ܯ̷2&m)36Mn(:!甲E* h/y17pb6D:X3mxxrs01(άK&豿Dž^iBepg&{v<U(uu{0N ;$8P&LМ0lWF\bHuuKDښ>`,oo/Y hTGR&_ aܤP.4< ]rly!0"g6;U|r&c:_Vv7ik=<:;5XW~x- >?#׺FT ׮7}m}{GCd6.|vd7Cy{(Y|կ?駥UFFy'.tL= ,C9@}s>PNo&+:c5|;clY# zy[n9e%$ğ6 q Պ45emm6Y1r!}t27DG6nG1~M[2zTfL* {HYM83* [EStn7'p RtFGۉ{ p9‹8UБJO,fussgYdFjΟWN elm7=6M)WB1|cjl|vd i %|i z 7b:- ^F@66{I$ۻ\urtxw ̳YkӖN?C5Oېպxfٕ&AaS;h/Do;095}Z6 Q3UI9Lf~r?BHA͡*UlvzNR##j*N×`Gĩ4_ՕsŻ6N?=8B!KkIX9WV9#378+=U d'*>PbNe;l?1LO"AFGӴ婃F-b?(dٓ2̶gMgOaٲŤ*'cl/rE|m-9J4Vox(Ai ra8kAcP tR_NQTN oܴY|4gjdvsCv/JH&?ͨ iПrBa$I' lNAYz܂ 7tK+K\_K7Q[L+ՀmTp,$iBԮ𓳲yCćt<;1ڣ~t %brz7lhaaȞ @?ל|tG}i \ ג<{B(F176T}ЫZuvU@Trw.bu13`ncfKN[{gXU;mc}ZtDsR6Srp$I{.D4C}ݬh'[Dt6H]UfE/TtaC*[*j`;!ʍx+7fjtT+0Ĝ$&ݚoNFk>l.F KʗBys?p3OBq(Z56=ex`)q|֩FP2OHé FWa |RIɡln1=}唻~{YIF !e.DxpHPI\)[4S<$,ƅvs!a1ƌCAqRwLA#b잪e^DuMMBycqe.CO]" `]/G~[oS!Ŏs(yȮs'>Gjq5V9_jȳt1ɘ c@-=!a?`Ot 8!)VE .q<~(K1[&qOskIdvWHɨ2"_Kڤfi&O`7 okCVs]x>A{!) ABِvH&=zX?nse%/=]\yq*L p2WǪ$d6J/ϢKDžqWRqJ3h5]D@Ry,Keɚq*5'&[`f!Ҕ: &QS\2-/fd-O,ASsШbanh7Wsar3,MȰ/x@n7~ΗN/4?b Zڀ ț| "Ƀ _&x+@"P#zO!ѵkNL35)d4uG q*5{\%X1ҐxQ_~,ոٶOǖYr.7}zJ%U悩윫%]II-լWjI\S^*YE@ yzYꑜ=`mMM + ?Ϋ17JãCf|?5>uqR!ԛq{ȧpޕ` k[PZp$wmT`%_"(yt?6ݕV #+{OoҍD҉:N}apEgQX jqsDؤ_ەѧ6lׄ\kߢ9DޮD&4uAuHڊ_FUXEZq^Bጸ#?Bȅ*pp 0(y_quj Oo'7_Nꄞ][T16JΆ0>On*A ^Itldz0[捪]hS֨\;!aD(,};fw蕯ڱ/1 SةnfzQDuX(.t,TVvF:;$uVOe]ܥ QSyVGw$4or@@LMC4+œjJۋo ~%غcH: dzRsU<:lG/.gV\7ά:P/GݷrEUfK?@ $Pv +<BozLlkK4 /IrO>PKv?z;Wf hC7 <*JܔKNҞ81b/MzⒻ&Ǜ:!fUK/m0x'Oϵ ?NiңjoY m 7l[եE˛aS\oaeÿ`H1єU^SdUb[ tߎxx<%#C0A3'L}QqjɇE9(|hr|C#; }+1DB'h$ܙI57Me:$SDX[|q\GZ}˶OMsdVdW^AO%vi`9V69'b-M*6=p+YA[]pu-w rHk}*۠u} -zl:ի'h}X4Jwu$`(2ۢ ,|z6Ʊ<4ٜ֧I5rp$wmO%3qA^fVnA4*@ OMbdC#T?A7b{u#cG!>;g+.ӦC(:V1z+!.)!e-lpeFϤʑbZ1Qd](֞񿗟 Z.ÖljH\dz ËKѴ8oSM[)tO&'EVΟ;0+!gc8t4(Z3'Y Q! ȃ_Qӿ4=\,,Be V;\Oega s͜-]7^uı ۳U( 箐ނ9mk!U4G2S}6^vJpvNIf͎j,i[8T0d!`ƺ?8&H lb]ŶJ(9  jv:<V qC.*>I.֐L>;^[belzJ8-d&U⨷q@.AQq;zzH}Wˢ)DJڵȮ8rh\!P"OX2O ,mfRҰnbfAd'],w.A!OTfcggcuG9/" 9փE*uVa_9:2N"E[A2/8zH1-p*O'}omi1Gq`Yws1ZikN>3~[H}|{VH^E몡1u|zb+pǵx' {57$ٙW]mmocȾ*3L _?3uzo3Z/-j%D:L 'f?̳UAo]4q{/'vo2Y5kyK=9O"¯xl4Ry^GuI L&KJ|-쎪@BU>*/#qL8UPԋ׎(imJ'b2k4?:]z% G/|:p#d/AwҽOAUvfōKsu1sSHg7 hɰX?]0s))P~Gu9뎤\u^eyRߪ ~NeVh;cu= zl圻<Z(3C٠6e&}}O/(# !.6p~T-Ѿj;KGuahL'1]u_ piP4/>4 3VypEX7\3\L.N1ȖY[Db~cO/'Bֽ'nv@/9Kֿk'$` g iĹ1EL1]%5 {[eQ@'st+WwysÊ0z6(b5rӦ:e%=|DQSU^ =J7M Zr  0;i娽TnՎUa(Tk$nN-#2tC 6e'ќױt)l`տԼARaix8p_z";G^HQ:5]mz.CIٌipir?O=6yS~oZ@:VM7j wXpq<3ny3K9G%xu6JXNƃ@87)Z3"}(, {Z1WgC jKeu2YE2J,"uYG=E nU8h.K%{tP`1sK2Ȉ)&]$wJ# n65ylT|dl1'rɶS]E*bxx1͚ܖ8CGg wR*C7 =OOPA4OT/-Rs0}c @PۗA߹𛆸Uo\~kaqSgR'PRcJro5o%'cL퇮/~1/RJ U70Mvh@P641 r̀MR^u j#]GU6*:x$=F &THOIj!rìJMѵP4mS$R嘆2`4+@lU`CO.o@Hu3)m M! kI=&xT0S3#SU}/ >*^_'FAW-dr6jછ\dWD/@(낥L |<;:z~KQkSWȏHnx !}{{;go 4,0C{'76|k_i@ Vvh!pJ}[GDZiSqÈu1q8tLU.N"b'F1M>_:322Ӗ4u>U M#L_NDqkWFoElĺ3כ%4.˸mJYI wTaa9%eRCccN~*L4<[,RB.sc=7c#老oBS'Аl"V2$M9NLygtW5|x;c4 )~ i!Nksnv6IWjE[R>[`DRd::P$ۯ”2G,mx@I}cA:fhZhM?i5,g ]0spʶJGhɖ8YE`ƕ4LmbD<6f0fWfvu(cm˱"M=~6PLW_;=E%,/{AroZ/IE>B" ӭ$O t'ɢ{pR }մZjҁR5AlI8%l[uni~ fDC[ =U4ZW?xCK%NkDܖ#v'3f:ڡuBpĶ \YWqX́R|Kte'r7-ˤNt7>\jӇvpIWNnA|3^b8Q?SzZ:^Xn