summaryrefslogtreecommitdiffstats
path: root/rescue/bin/restore_ms_boot
blob: 1f8cc2907b9e852833900e9e18749a3d268dd92f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/perl
#
# Guillaume Cottenceau, Pixel
#
# Copyright 2002-2005 Mandriva
#
# This software may be freely redistributed under the terms of the GNU
# public license.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

use lib qw(/usr/lib/libDrakX);
use common;
use bootloader;
use fs;
use fs::proc_partitions;
use partition_table::raw;


my @choices = map {
    my $type = partition_table::raw::typeOfMBR($_->{dev});
    if_($type && member($type, bootloader::main_method_choices()) , [ $_->{dev}, $type ]);
} fs::proc_partitions::read_raw();

my $choice;

if (!@choices) {
    print "No known Linux bootloader has been found, nothing to do.\n";
} elsif (@choices == 1) {
    print "I've found a Linux bootloader only on <$choices[0][0]>.\n\n";
    $choice = $choices[0];
} else {
    print "I've found the following Linux bootloaders:\n",
      (map_index { "\t" . $::i . ": <$_->[1]> \ton <$_->[0]>\n" } @choices),
      "\n",
      "Which disk/partition do you want to overwrite with the Windows bootloader?\n",
      "\t<enter the number or press 'n' and Enter to cancel> ";
    if (<STDIN> =~ /^(\d+)$/i && $1 >= 1) {
	$choice = $choices[$1 - 1];
    }
}

if ($choice) {
    print "I'm going to overwrite bootloader on <$choice->[0]> with
Windows bootloader.

Ok? <press Enter to continue, 'n' and Enter to cancel> ";
    <STDIN> =~ /^n/i and exit 0;
    
    system('dd', 'if=/usr/lib/extipl/aldebaran.bin', "of=/dev/$choice->[0]") == 0 
      or print "\tFailed!\n";
}

#-------------------------------------------------
#- $Log$
#- Revision 1.5  2005/06/13 04:33:50  prigaux
#- move functions using /proc/partitions out of fsedit to fs::proc_partitions
#-
#- Revision 1.4  2005/05/19 08:59:54  prigaux
#- rewrite using DrakX modules
#-
#- Revision 1.3  2005/04/19 12:49:39  prigaux
#- update copyright
#-
#- Revision 1.2  2004/07/20 02:42:12  prigaux
#- MandrakeSoft -> Mandrakesoft
#-
#- Revision 1.1  2002/02/27 13:31:30  gc
#- add "restore Windows Boot Loader" to rescue
#-
#-
y=؍uun\"sC$Y, ә6':ftR%fu>T!4!;'Aj)ɶɫEmazO<Ɩ Ђgȗ559+UP "I^2~D+x{͘Iҽv3 q)VO.CR;a8a=E#ܫ*-, l]f&uz{zmBng򳨺gw}Aùգ%Tfc}tU8KANFūoF- N6l}3vgX'E9%BBIUt6@{uK;!KX`an3T<)o-I.!#ً ETb5aD{*~") ԡ+p$;qˤEy1kz4mqP9it"HƇk>|+>L6\35?4i2Z7b L&zX+QXe DzVfY^b TU՗ O(P(VJ2bh6=ޞJ*Pc#oC%zJ8hJ*'YV=-8iݖL&r6j,LZdӯč|djFe^N2Wh$c3&i+irY_67Mύ=LnՄ4ҺgM: iɡ!0=N/|ڷ)vjG2{4h0UXI",)AW#Rf|F*꣼H]"TVr-_3{KG[pxPMHitLپLT *Yx3=^]AU2`LN)$ 'ǭaxnçls0@e1rcρBɼcTF d~J=6=($K?*ܩʚBZ +[[)e(c`AmXg+`qrӢ(=% <<".XRS%URG7!YR;-+jˡUśvHu\߳(V|La0q:/sF*5Cdzqqknڻs!ER9@= ȳ־P?U E~efaz ʧ4)&d?5tc+UA/?KOEdݭlg&R7Z(|<e0axeӬ*WR _%E)lֳ(ejK;q3fSʤH5B+W?/@zȒ2W'pħ H-gwidiWi@_cZ )iUbVߋqB#Є d:Wp:HviH~__B&u]K<Xf i&h% H okKna?nҠGý9,T],|Yetmhk/`>|}yKP%T yǘ k<9|)fJdȆŠ$ F;SQ'ǛͶyM72LǴG[B_ 0M~hsgY1xfstD33Jsq[ l 5|qB,dC"F(8u)[m qHh%K+g-S9J ?{iR}V߻ePeQa%q&zclvmfy`!i!MCi}v., ;Բ/eH>J) Y@½Fpm7͗^3#+\|J6 3P⛧(u>x<Y8+Z>i7Q [ˍL G:-?A^Uo;{XR Ix<}_2}~G*g'R$RP[)7h&yE$RaeC7ոƐm J; eQ%"gy#{ +!B͛nU]rmH-ki*bwq% xbg" ;B➿["Q7[(| "p#BAP*Gnùos\g9_Cn3094CsZ݃#Fnk#bA{&}LKo{(D=~meÕ:]^(է^C~~눪δUy[=^um=Xa2Uby\Fϔinv)A R@ǹږIK"2;Xf9lt!1' 9DoȀ7r2Y@LԨ!@t ɨ[aQS4_M^A~a:W "O!$E"i*1Wuw/)Gӊwf B .w`E5wGdBfczPE7 Y3;ηZJ']c'jFCIvFg!W' *m2arwXPDu@p/QUr,v>rA}`.\i\_$1j/!feחXYJ>C*G16"^Que.AT>$[U3 4͇Pa}s%:HUF{;}idxR2Jc^Yp9 ̰%gp}[ŷ=Te(<;1Fr.|ϯ*P sbIޏ`!VGmGhv82eG<1߹۸ 9mz1S){'K`dSy[b'A"tld0AEskjh:`\CW(S͐g"w(.z t  lGֶI~ HʭL/Uɲ0xNʰX\M'9@c \sowWDyByS(*p#ݩvAhn.vޣY,Wu6ZZH)=m9+Oϔ=$A~C"irN# òGMxUی""e}\j,YFc] ˯TߥO}ȑɁx)Bw1GS 8cػN@Utc$\Y[_Xf>z^(iA};{i%٥ ga unqqXs&*xFPO+a͖8iPqP +UwJE*|ON˿ 8+eTK# I"{k~ Nu2r5jLvwmtf,زw$+ɱ%^#F8#?IyE b35- ~MԠ)1*,iQ?Z8@:9Prƒ 'xMގOpʃKR4<LFTJ:cӬP{=B^TZlI!IeR[Z4 Liz@Xp}TxcuWL«N<ӕD3>:uUDEuf ~ ՚4z ^@OA (:/J{p#Fkj?ʾHGTbDmvM;=I/⣚^7N 5l-6E!:^TSmW:h]P*%`K'&&K&~BLC .= D-o:qXyW ('<ƨ ŪuBg[:EJds}QI\14!9w=Uj]t3h2t4`-,Ahs%]'&2(}j4UOф Vwnd0MӚvP(g\孈b Zg1 J|Mu/d+kd9|Uߨ潰5O!Zp\-vUkb$C60l,0:򗍹SyK-2g`Ь򝅟Exkw1gH]AXW-CxTTp=~|M(Q Fh&="Ĝ}4Bfj.$ 銮Ћg&dxLҔH'e3xr9 \Cׇz?/yR iub`1z+Ϟ0": րy $aГ;2VWT~"B8igAjeG{SG]cPnriQ.KMJ5;Q2Lpxˊk]ST0 <0kڒ_JC[kX`PRTT\\ް*;r8e"E]N2m,."j*3ßľ/(> n R0l{jM% ti)-TU&w:Gu"baMcI QyevrǠ xd\qU y_}nd")ȴ/~҉<7 xh g XoD=6ͩw^ <\o\49ɩ50dM3?>|,0'6U;HK^\&r|*0!ί贈T{ 9& .?\VQnmp;%9;'¼uO4xz_nT-LWT))"&SX(QLjPR5@8F`eO!W _P,㶍oO+̊h,;=Hq*H?ƔQ hpEivЎ)3uu`́P$|p〸pAm y1c@QQD>C-?ϟO.> U|͜\9P=sep.Њ9 A `yqbџω${U{0{p}8Ѵ p8*+x1N޾>yӶſ;xnn} eAu̔]+Zy]ZrɱEhW1-҉KUS-/A*S9%p?ÿJe`/ rƜHooжm =ΡnjQ\j>/cR,UpkanrO/$G̞Hk hM>{}K%`<UZE7y7y #+.No8,4۞PF2*@z⯵ Oyu Z3cjR,o(:f#=Fh1Ӈf|0Sf=Wԙg̷8!b#ÚOh<ߢD3) 7}:HNFoQpUʅ*ZR:˚fuJ`Љ)UXA\14f]m@N\aX+iZliVB55HxG}cSƥɋ-efU YՌ: 7 BL0&mfsf0)MzzfE| 4̂v׶3Dybq/=;g^!ނ#sj[~I1oAx]=}31n KņuS~T@Od*~v a[I7!Tgb&}.f?C~aB&QޅV^Lq3^6a*3g51$A{lSz*'}SԅeJ*Kq(ݿCñ]'`wDABF_xUEnJPn`\M8D8E7$9 I nC'^.|Rze &ikB:v^ ")Z;5ׄR\_Mq`7r[4!3^KE{ӆZ<7r/^^U12&$\h炔,6re n9]lkA$yoS~8x7#2K6\{Ŕ*s#k.7xw`tKYf qY1&r*GLBRvo}yڊׅ.FOK-7BN 0JN1QP;foڣBw I/2NA6;Vn$2k:C cd3F2^YS9{V3GEÏO ҩָƑH]oFZw4/R̖q/%hsl`CI<o.kce*4wҠt?`uy3RC`X׼#tD3SDiExmB +ddȖk,AT  &gMHqj`ߌ W& jJ mx`%Ws+:yĶEW^CcZpk'\2imYvUt/]B~`|Ty#aj41/ڿ@PU .'Bmr| BT//Nq8#"T[ܒ2lϊXH?)3oD5PPޤp_bšRC6Lڧ- y! $;odv ' ?i7Wc`iZSYތHAyAt~_H͑^+7oZeXY5K ޼#/?C{ ok9U@Hv[EH<.R0{Ƣ,1Fh+x1DRkz0J"v#Uo4r$\R8fP|?rx9rCwᳲ؍DG1 /3ZM]S=P/c:\o6T&7tȫvћh#u7jX31|id/zD̷ѩQ` 1I^Dc U4*9Ap'pB 0dl sxoT[|N 0Cg(ӑM|r8!8 |;?(T_ Zڒў 9-hU5Q*4a45M]SS` !Vnj{>,\!Ic_tU6HͿ.{N&9wo)-"LDё '9| /X^ "% 5f Mw7?)f,S Wk-LN+fM59$l&ǎ|*Tg*{PWG hN&ڦkt!kY&^7q Hxq8$ۛ UrH_ѮPc-zlQpVV-sYG4kʜzZHZD]UsR S" /zݳnc1p[k(]a@YٮxaA?KѲFM{W0~Z&.?C~P φh$ 9/ ŗR]̮tmRK: +Xgh6.}뤼[0)85itk2 ss 9*M棼%Z<9Zh!QE8vz r >NЕ KZ="&k_2}'ZͪNÕS}f$B0R^Yũ^OЕQyAgĪPZ3*ׅp#-uȿL3иGӊ6<` ̘_"V oӓaLRr(hL1eb5bO=|MZi{KI :>Mͦf~ gFxz?˂BfahHlAF14zVF9ѨKaPۅwX45?:Rp7P|2%s/'[FܸNdNXjBɦxQVSO jrJA"^ޏ]ArKJɀč6[#5IUt])w6n7>څ mI>;,eШ/꛷ k !kRPbc{CZS1 ŪF%xl&lD9gqkz?9MrأqmPoNtY3" vTd)—{4.ð]@3Ȩ  (Ā@# Q+;yF> 21GZ߻DR) $2y;d)Y1cMx>^f2헸w+T+6tfW ,͖%? he̦[=DXC;(!;8}gBڻuaqW:ȉl>F^Gx/ sKih@]S p%;#Z4v=>KƕZu\7vͭ ,tH!Gʳh-bÎ`:x+Afދ68ߘLCTgf6XpeR]`qca' 4 NLOzw ?0x47uRL/,ib?%qya#"EXnp_\3/96Dr0P )?T1ludՄw= @a`3y:9ը &*j!:'4?暔2HRK46NP%IX tL6x9qLQǙT3RN"nZK2D9đ_u aR?&Jԩ1?Z~J~}an|_jNaV3My~ /"dOpػIf2ѻZ`٣1=4`Am\j+J#Ri=fkޓf/@Jvgi]@ Bp$'4%NTzPAX1a[ 2K˷0s:eTx~cg?7W;D=R-C0/Y@ޘb t.V;İ uXSTxnW@ʽ}GKa괱HkiOR5Hpƒ_v6<ڷ:MC "# 3hħR3bf!M4>0q̑PV0]E>'L;N\*!5Jװa_" =}'G1C}v\O Xސ#hj0!'WUS7 jRW 7*ؓE#i0EMR IL[uf9BtՐD2b-KwNӲ"J!Z7i*jOhV\PzA79XVjao8HQ/X4+x,+lpXjvu! (mhA8ps@DA{n<Ϭcv@o/cEZ; mU59`I('PKqgo1aȐ_@}wnRR)NjB81{uގU=Bboip]Mg zh(I>p@F* C(̐;怞^^H4iA{o>ݛHE7rA bG#"~<| &m1HA n+ f3OeC6RF)pOC+S T}?\h!D1%wO4ێ^R#5/|N(s=he?<  Rb?"vZ& )ρsPsRvU&酸?a ) r

%%SA[c)oYʶ#(,(L{UFtIi3qdrfrI}V 1{gCeϑ!A'tLf-}w(ƾ?E&ji=x[S&I%1179Ɋ~j}( o~{"C4Wƕy5qSBڋ 2 t~վ% ]@YPl%U(G=FO;Pdsqۡ…ikg2sRbXEaIVGx.O`V}tթcz}MkpSa۲2DB ܬT^  sQ](lz"&q /6!VdJO4ob"MN$[14I§;odX` tnJ4  Sl!`\m NW|h:uf)J0\34#QUǃchj^`$imZ2Y3ϐ,0, +Sج#yuy& s2Rcu@5UKϼ+Θ֠()u,GPq(N=uV6H!Y ֬B_z'L d7wo[4?ԯMp1W/m5T[yѵbA.֓i4?2i^Bkl:gc?Y$ _< a|l)>C߬/\'#z!j.]9[DVPW9Jd\5aKϓCd:xqo.EM>%GANVL>L`Yt@X+Z覶{YMs<&b?4\GMUu[LmWlajq Zq Mķ/v7 `G.bɬְ`@6i\`Po^N]R&N\B[*{i܈k3(PKlA:9Z1}P*E'wU;FVƗ'-!w6KCŔB8:J# u1q]NYB*LU?Kl/s 66j,Jb#h6i* lv@Yc)Ma횓ۻfPvae8Iс*.=ZmmE zz mDFPsO{zR(0Yc@O( KLkj8O݉xYtӣq3Ńhvgfy{8!,jT'P6E#zh/t௱Z},jyi(-؛Z~+J5 a0¾'-&.zRZ$I,Z _Ӹa2?Տ\n])vS% ur:hxn=Ƅ甎$(S@SWJI7hwEiL sfxI6$٬iKN?n3eI`NuI(҅x޻Pi%AfvVŗBNϛWJp ]Uou][Tvӛ{&qZ1/{C1$h*gAk|'N*vB'+5u_3v1sSe heIU`gN0jDa내N&_^p\< x\y! `%؋XxPc&01:'4iZKCۃ =ȄU=Uejs]HPVN?鴙~`N WҚ>8#)Zw.HIYem1?Vf ibXz݀]c sCKA ZAx9`F ^V4ٓ!Œ"ƞ X .Jq,^{[Ӑ^O9rN"j[g f9iRbMJsI UlF|mp($UZftvCDq2ט <mC |eq_(&?nj bBaAvΑj>O{@x E=y'$ &f3RTvq;y6DJH {|iuV^bAɬk1پR%V<7ĤP䎤,%.uE-v!|ݦw>B1*o;~^{=_Y xcJv"ȉqlI`޾+ח1JbxlykNgasBt/kSoL !}\Wt'] h7~MmU&y{,k6lR*;vH;Z]zsLm]~'u c_% {9KK-{N,La \0cqB\T=RCL=}š%2$6'G))6(`"诊SNwaC ]Q&5w"\FM56X0/ )jT#8^*f*ա\e'' mFMnr6(N}4&- KDO~޺eiBl.zED2?[fݓ0] p+*F*7'-;;̷V閍־ <e53gV ux7wwx O^ZzizY ?| @0h>G(gW9v.W&NWS_CџPW0SrK e7RvbeOP9#:V Y< -~L3Tǵ(V 0t,rbV! k|m17Us8ʙDS纄WZ{+Uĭg^N]oJ&W 5kC{m0aFF4V"*^sn>!R0߉Ӥ@M ƮʗZI7] pt3D+W\n;uP 4fw QbWe5IJp i_.1BD8^*ptM(ߕ.GerRzgF&Pz?E<`pYK;i˫?3G%_jNFJ&qUk78ڛmㄏ?7;MAYZע}r?^yQ 4q.Է+ -ЁU& RVim[V?..hEt꿖 !wx (w_GLcpvDpeTĵ>j4-s*p>Dlj!7|-]EF{}cAq?No5Jw$N P̎kE )io46{x_[`mNbdڼ^αP7 W ^3IQ@zw{R`{mGIv n V ș>z߃@y\]et;-7 -*Op"@kz"tjcLwrD"ry6/] $"OTps(O젝( aΟBY(o*H.vHFdvi6Znр~HCai&~J ;޷ܻ.6N>e˄v>̫ ;j~+6b VVS1 i:N^Uǡ걔}A$8k.P;J|A@|o6w!!oRonk3T׆2Fj*:JҋzS$ 2۱nbrZms~>,$ A3(@a7-(Y2Oo9ڕzهr &TT8!(N dNWJfTQ]Ŵ36 nU,O$xPMŨ-Lm/={}QQԳO#C >V`#Mm2Crϣ}~Bpm=a}m9T}>WT_+>u0rZ~t H$~cW{|| 'QXTA{-91x@k"g+#vWj5"o2j{eXp>kL#KAN'2Ώpר2kqʛl{!!>m(х;Rn˄^ (dARh#" C,d&SAyoQv]5o'W;pj;#6$l;y'fa=o$:y b~ҷѬ=0s47Qa9X:'|[["fiSG;GVp mT1OY:#:/-A)'-$GGƮ-`fd֝XV7ơ ϛzٹnjhC@K=RyH9Q_(&}S,I)M\ĂIHNмPƓP.a>m_ΊSv΅c`Bɢ[dpOi~7>._,^ik咢t5m%c0pүm=v\QPa߀?+ʾaV(;m% ,wAbtؙ<&eZ?nNqԸÉ?>rˆQgL(dQ܂8ezHFZ"NGu,[GNNu-Z6Wq+\U„e|o-Ox?4}T}f#ʹ* PN$˼3Gܷ$H+ {w.I ۴kbXj/zŏ[L'_RHJFXgS5h)ct+9:m6U o*K KUYu3M_!W:OAnz4(#2ukg&[Q%}BOifKWW$ZRy*nӃ0 {IIb}nO:bG c"'Sxomŗ0i^ۘ3r bպn 2a1Qn;R9G꟥~qRK1Wtz,%kiat,)pGГHՓ=o[ro9e(_Sbr:v aqc+ooyﭧppJůzXio{z( V-絺=5+,src36k=w'lQ^B +nCF6pFB,وL1M@J͉JDF On~iiFD$wZٜ2;mQfmSg.'mE 4*vyۋ4jZ2_bwU1Y盭T(}-_kŐǹz'PF:yFu궮n ĕGz:Cud1OxLa# *̺vD(@AK7N@4Hv"SLU_N$CH+ź+fFu㠫\e2U]phwFzy@! }b-|Κ>M_{>Oϐꑨo)ɡ/ׁ|'Y.'r|IbvZ?6;;q|2f@LY`1ƽ 78Y?ܲrPDD tF>Xz흛K_v'bM$YM%_q Bjߑk`m0~JXz,Nu5ٹj,Jvd_2Θj͑ $~* h٢<bȤ ~G4G@*UVoKD7ݟvW+[38_˒bFfny1Fו)Np9eGdI,B8vNp|##PMtd/Q<gW>_q|\){|Lig֝RE@H+2dg7R'a̛4hڢ0&@^cQ<7+=_sd 5P_*7:pp=bY>)Wk)o<3p\ OOO}gj這F]SbTZI>#FVIn(z㛴= v=O] `^Nt*\Z0?s[@ꠜn<-KDio[V@ѩ0|x}XjGEױ,dD=.nrX^B:K,I=H [m&#]L5^3c+(lYQDU6:sd&g?3ڻwl9*nL۠YpZ+C*R.?̞ldEجn$}Jג3uziL Q<nej ?@g^TK_r䗤͟%Wį=_cI5s0]h-/S};s+?2,.J7[LkHUWe%n\fw>^;߳B=X*yZR[u'!,2X#3\ }i%U'L3ʊ,e U]i<"MK}U=\8#GohW&^F_D8b7yl!EIˎwZކs[븺z4o :*$Đ8j7 "D&B0I"dѹT fg?@7bW 4(uA~Jx RZ^C?<*73X|pvL||m=SAv?JZZҕulz-hđ "%`#S#Az`zP|¬gJ o|]{S'WLMv`0R;D SW5{g vkU3[B\;Ӆ7 6bƹx6f7#m\;[b'B"I@ٚ^Kd|éHH@2 Rِಢ,epyəhzT}")Y)>Lj02DF`Nu[S̗s|ĭoBٌ?(VfA?_6-[oT4Lr@P@*lz,Z! > ίa~sҩ"!Xu EjPs4>c۪-ޘE-sL 2z7<{٥X`W}ZaMl,~ْUרMxX;'%XӓԵRj7=[D WklTUjN_`E;@lݔҁ2,.>l$q*~1[}QӵwɰVǴq䔷[J;YL5GL;;SUNlQ7nfhUXhD7T>? h1!h7G~:m1 GObD㵛n(LjJGtNjHzRU\>yʻ!,`]FkLQ57w-4o{۝6;Boxe?<0myX;Aݘm?:Hs ZV={ |hy>ZyH4lAn`JR}#^9mDzZXNbWk#${zZR/6;u٥nQs<\Ö|a:fJ9jqfj_Xh 9lԠ[M$Y'x:1B!=$\sTr|m=O ytjfdϻKJe<~.μtkv E v1Kg,]| U}U^zI33_7j~|jh.bZ) c9q\]Q'; 23:`Kt|caB$Jj h#1:'\rd {)sGwgm|H:A<iŜ ^ޘDLp ?xv '[G|ÁM -[Ȅޔ@f^;F[ӸH_ѯK[Ej635A 7F뽈Kvp ̅IP0FrZgԱdDOQހ`1rSFP_P)0>ݚHˣ-9ȁϨGKDwq:HYlޜ|Ȝ&$GԜ#h2L~tmZDUlv!1 O&%͟,g$aI9oL]AͧS+!cx&R?o: E r[My)m u4rTm> UD sGr:NZ-,>0e"jw8'oM7Q՞c@|厊uQVcs7Nt=a)[Ov_UM#L!)+WF,7f6߄_7%`C/]g8d{^!۳~Z?i=\[#7;|xwwҭAWvN\ΩJ50v*̴2'=lʅ.^OL?e Dx>ĹZnK*A"o_SYВdw5m+_V-|? M~_+} ,Lc;wj_GnD0^K9֎o&v "ӡYAc,&{nϾVbH3_ (ފy'9]`0ݮ2parlmFBѡ2,o۫4BlbIl 7VVf& &KJԕl"5D{2H.|YRGK2axY}ޔ<QrKfot' y1mW&@KAa7x^Bd4RAgv{9@VHM3̓v.g 4vdz*=n]yg+9yvHl*-sldeԢ&/3يZ[j }|š31;?@Ve¶"sպ*vlr) y [X%qV$5ziZqщlfq(;Uo&:rJ,WNn_|BԥY+;%␲6WqvgjJpφƷ."CgUTL5Ҽ w^RPNExPܛ@Ȏx I:= IsE{@@M|,"Xq|WBuF%}1 }&e3z" L͓JOp_0"W[Ż9zm~/]6 >2ǀ\nۼHgǀeIʆ>7*5h=i }Z ־~ Fnos$oWV+&F䔁30CO AL 'q;[_Bj Oq Fh:n nQSƥ|+-Daū=yZ4-BO nW eqPCju*ZqI)25,nȜVb%x+\#L&0(`=¶.psQewZ- i<@5? 4uGlXw%o8ޱP3:G õ,1%JDN|qcChM T.JHGSR*CPWnVk Q+KݙT)iEB> כEBl֝CҀEוҢ>9,}lFjktf.!ǘPW ]GWUۀ> ʰ3# W4Լ58YZu)rOn{b/ r}ǷNPz 0zS t583?P`k8VFyR ,zL G)NdCO XPǪoE3XOpRjLgda6+ 1e{^}&'{M4`@=dAkLZHVna-jӃe$[:ϱ캠^Z5*^{pO+W桟P^h?h28zpBA:TR;C+x xvq0zXT#۵ 'c͋b| @G(r cMɼNsx ›L 8X8D #G4:e,aed| b"nφěL=楛oR~._ _ 7,{HlTc#>3q@:nMrR8S67,rָ{SxKYETD /f2 2ɸ-׻rkؒ ;'l˺@`xu߀A0}jh՚[L)L?ؚ}y\{p[NjRM,Q_LOk>C=}U"0:WST{%u]j|YF!5}/LBA Vx`g@5tzN\i ^̋xbĨbxbsԼ8qlG=ͫlnXfqV5p8Q >W2yjYx=Df z3sQ q <ijÂNk#2a- ǗW$,(lωG/d ( ok`#n6iIxQގ=ܚ{m)| f״PL,꠿g92mu0Ac @6Mn'X:#6LTf֡3 vj0XV}((?88xh ]_ƒ=Yޓ.dn|/$02+fT e_3y}.te`1,2:NnN]]kkIi!p#y1(CT"'7#\Pɖx] {b4j'{J^ G31`Re/yh K ihFu!wk``:B7G& BǶGg6ygS:gً}̊{S428djBB{C~mK/eWPEy85m?A2ϲ˛d#YT)sZbrvزnr)pGu'XXX3n`.}G(nW>{$OQxBё2vBnjdžDϻσDer!n`]FRC\"ЍF6:!PĪIh`kl}*Am/ݷ1|:~)D)T,kZS1U}t364iǞʂ\E aDJk|[$*߇Ʊ/ͩ`sQ/c,/H:VΜN/KŁ^% lwa/}sV(f{jdi; S+,fMW8^1! W,Dv"J;Ѓl)0] &5~*eh 47=$ %\w̢ڐZ>ޥDxbk׃! H>"ࡒǜ \AwO=⫫j9l';\q_CӈVjɑ!E(TND:CeP.i64SVwF҇|b3mZ[1*t.R!W9Rlh]MEme ZP=8` X45%m {tL:b͑O1>±pt{R>r>%{F coAt\L%c qL9"L539:ٚV;VT‰oذ+dypp|Bl*Crdǻ֕FqgI N9ERv! @jnnsmCJhxTS(+8xR]] AGvQEa&XXLaNf1;Dl@b~G驄9&`1;\t(,%/)\zÙECo-fAy8V_iDENh1Q U?R. 3ear 6`2J|Vi5Yt>[4$pU"eu~Jj) ׌;"e+$$V*93mn`G?5G",؉#kȖzY7hOȼ.ni (5"ִČJ )}j)e׆|͈[fB JCxvF?7zj!`"諑Hvv!&;+$!5\t9搸9g ͐ ˺9:̮ jy2|W$s'pE1R;DAP!ݍk'AZ:ڎg4YI; 8Lc+E6Vn^.E, $i_Fm'֮JnBp/S~Q= _jj"{HiX{)K׺ ")_LACyNl!T1 G<^ d8*ĚF+7bb.i㴙/cVx .#6%r*UQ"D/t.t?@+ݝp=l )vp˄=o!;iHڏΉԭcRƱ:2. Q!P'JkʉPPS/Cp:,O_jA6W['-Ki[w,Ը{YɫN/1FR!'`{7d{&62.XRNފvB Qb06K­%E*-4^A0Y#W mǷ>v>qO=E\yu!=F@;Kt-lCKF&x4CpLUUǘ/U Dgө..õX Ý KE2#+-a Ay&RW_rWTri";3{ b5ڟ7VcaJ Zk5echSf'=vx*wAפ#cHtĢv=FimY)YKq"!jslg+v;58B3 uL2C1Vj̓ͧX&ov Ѝ)O#zO/ߏQWD2 ]?ۍ,m;[]M6EV,F>y΁E͏w;W3uft<tm'p@( شظ%HЄ-f"A(;hK ;fh4 ǐvWܫ5SM CYmw ϟq;0i꾏g%Oa,d v96z UB% ,rѷW1 k&H3y7!5 6JKFATj|`:R υI^=ӷէ:N~5Xbj::m&=Ї: r{ե M0 29И;l7Q;>! ;6he«.n4S4Y[NlӠl҆tsz͑+[;:`8ڥy\ *(M1wyc 5&>k5kD]?l9Q`\Oƞ5jBpSq!XZO+G|u A@ٚg]raS "L, jY()FUX> -eؼt_\3?w$;0t-:#}.- PL^;N5 F%p[JZ+EQh)O3r_ Q9S@:彚|bMͲp\Ҹ99r[uv\;*n -:1U@K\1O.V*ұ 앚VgӨuJJJxF2K|~)ykgv!w0{ykp_; >yR:_DlmD6|RkϰRJjCOp[{?al#On&b*p4Ԉ+"v]'G"H"\Ћ(iSMa*#9mn5i8Φt*L~_Bpķrqt.NMk W|̍ u/-~5,p49a*Q4z6ʭ8-Q+FNYni$WͧsR6G.K.~g?y#&먴ёz,mQY;H VTX1S`BBScըr<,V?UENa,+:PI-Q'Tƈ MeG eOٔ Dd@ r(80eҧg+d]$Yidb4 tS#&,7WG/E⫌[\H2Xj?m|%ZaMZR÷~]Cu K>Ac=+!:H=ZX6P`yޛ="\FXd$YfЋ11&J iX"V{}B:J]"xDbpeTlGAFǿe.rӬZ7HBP#K] P@Q3Ok_Vog8ێ "WtRv=cP99aP^STJT (uύИ?iXD>9A-]-sa\]]= Rz6a- SpzJW qxQ/0L@ua'Ni+z_K7bLp kJ𖓅V{;\[jKDzD bUH_CƿIze:#mf$ 9`L"P`4XA)͆;1^E by'mD?3p ȺwRAN_Tn6BuYGڪSUǙi 0ǎ;ߒlT&ź dH!M]]~J0wVLlx>KU~DhΨXt:5ԉCmg‰yP9Ǥ z6Ky}UV64L~6_r`V?9F3 nNϗZF}΋_%h_/r榁,c-g55yt~`*EՄBrC1&RatbU_pРPO&NSk`Y,<$ n|{x#^u( ̜F뻬YH/e`֚!\ڔ?$@vNA^D1/M⭷o!zYO'n TO&dyeTDo4 ǔUsL8F$P.Ar  ZRlѵF_xM [W2yyYE/5l rksNǑ7FWW!рHR}.bNZAByƜ=1Z~؝w-V Poj/囎M-](fTV`o}&% d)S_IY>MxXKdpRlwm u[kۛYҊc(Cirr:.?j@zc}c_죁 sk5~$f 8>ҿZغh6|eGYLV&6}; ;'>4m߰yPV1$Ivַ2l ^)m ( &1ES%4)2xPAf _qSFp?j" )K:Nii{?Njgj=K=J>n_Vm݇E?7N[I%I\0.eTvТ|IiqeF@нD?qWiz\*H߆W!Ŷ [OK0ʥ}Z5<2l|?.XڜhGtzC\H7}'a$v ", :*Z#<~8ߜcV&MZkc (@  }2+t"M $m|_j9A.YlT0d==AأWm7/3"`HUyhN?.ow3GwjH'1!oNPP wo_Q*rFPW!DCjPG? %LL #X {Ïk_oaai=Au\԰nE_Э01 z=sщToנ$nxNw0AetnŬMT-CWR]\E6lT\ _iufBSB+@\@PL&?!2moC@Gjtwrְ64 JB`>74Rj% >0Z\= .A޲ϐ񸴜e>< uJ8 Z7""#=gkv}evֈqwuP=:Tl6Ƿ\W mH/ 6єg]YF/b^; dqE@/̒F5sG" &)ɹX5`LZ-}#<u'ڙl[cl2u>o_|Z6~}4*^)UOZDkbd2r(=h'}(JJk*͛ҠzBRFo_N6"js}N%XkE8KmUHM@ hp7^<#gf:vg sX;,@1;{^&J>STf =`}%LvF)xИۨT4u)&e^1EY7S3< vs;3iSx ᆣPW|j ZH(H4fĖᧃ{ybUT]M+GrOO``· Ţ0#y)ԙpWr&-OkdVh½%#nHoB2Nr :F p{l@YzwQƁø =9Eϫ*vu|u܀~Z$drikC1x7,81lԫW7?;߯gCNSIZ# A8F9Fk\ qdsOkKFVκ%\wD vAkO19V,U?aUU,\uT٦[ EUlь 1B-W&VrCn0/׮$.Y DZԜ WܟU~ތägȪנ<0XDV[%=1/p-:[>oz,߰nm_!]hs/I%8*]@;oЋ "-.J".MNEV qdgﱦd_L^ 0K]\\߉o!@e" DΉulu8Gw(jKIHCgB L W/{RǕ:-хGJ얛 >,:d$4UD0U^hi]'obi$dz/(uvk@3> ´R˰/𵶙֒D&͒sGts3x^FH$^^lBZ ̵Vp &;uxWn%m{%I\t %2^M6)ƓUyFb\RkG8/Cw7ɬ ԑGgza\'#*3d4],(jD"/HYH< 8:nS &C~ܕzT@~\FbD=]g z2DA_ 3ca*pWfXWt<﫻h>ثaYԳ)57yd@w"_w8S q 81PQ\Vd9#a"ՋX7Z3C8_~#rT1ZgJ##(yT'7DG;2,ݑ71ڃf |(2³5o8m^5_F&k-"{ -` E?p eYxb+8;&b#VJyHRNVcC޴0. xMf!Ҋ/ԟXCE{ fЖb@}(Ep!ֽ֩׍"'fpD9xzGh%요6Gx %YWQo3B~LM`!< ` H#:ަV_5K1JZl+ފ}U~Q˔{b8Ǽ Rq\Z,0l JeI!"vg">}+~[Ak}bSA YqJֹ]$ӽWmMotVu sѻS%#GH3e}N&B EuB*B(6tV7^'[2 ZLo=6pFEAAHͭc 4 ҇EÍ=SGAyNJG*2Soփ9`>BEMy䷇5sd7+viU{X股5ӑ9Ozac}8HCPh0*^=?k a_%BMW\h2K)~IU(䛦y]9y!rxQ^M 1EW&΋niZ i \(_qb8IG2 l:Ń=(d8OW} _80Xeb_<")AqPveV5O%w)vaJD6my|TP/ tɗ#d|z0ˏrc>U:#rqyo!ˡ.Hg^I>4T[ڌ'b`x\~%[1:Z!sSaHັmRQ]yTN_kpDQW<2~q;~]%xٗ; Xed$G܍/OڧP~ 3H2ƮÓky(qvBމe7m)yFsÞ_{g[/Z71%.ПIЈ:KI<,ltE=\ )dZ?h`ܵJRӰeNN99钑^%5fr_*!ශWSV5}X+F &IÆ)dq<#à %{ǣ5U?ݓ_y/Цc`>tiiL-w6wyhK^[m0[JԧTٞ+Y׉Aږ9]6'BJzPaֶƁRߵ\EZ?OQȔiR*F}A "M-Ddm ~J@P#MN9k9`yܾ0[;YP5W0mL!GJтGeոEZ5E zrGׄ{XϑrJPDhfc)pqQ觙#an@ |e}LgV`ho\N CiBg>|;on< & {quzs=٤Hʳ l]?T^N-ᤱzZȦKәXFN#G9GFKiתz'?#"2A~a`zqH5iN#]mg隠u0FޞM,|+4cV2:GZD lqH.*ܫBJ؂/>69-y~c8J^|K'0K@&n!T0S{p2l=@ F : {lT]I @G@!*77 r F1)5Xk5% 1 v+>~lR'Vb? N`YTB$2Tsǫ*C7 "w-A%ւD_}' P"d]%*FLb_0CRw7cIqvN RJƘX-킔`U8F/'MWT: Zby!T wqHz/0q̯P',2@4Y;sۜ;3;8HTlcAH.SĄ&4cK_~[xtƼa[qVf_IBKM炘v5<4m=gJ/v?{2UI+A4*دPf09ׇPg{zqftɖSQ%v{@Y1uXهBm~-ogeƽu)i`iVذj<QpAXN iga!FBg`KHl#(cQ5.Fdu*.*-c*$YI|8Y+ !CwnOwX"r.)ZFܨgP=Q2[F w ]>1[ڸ- -?~xd9->RS.vNzfɍ@,Pyq* =, LU-밹_ IjkA<ccko`~2ȠijQ@`|.Pr&lRbcĢOJJv𹯚G\KMv De4i"1DfdŤ 2HJ͡#1ty]{TTaviVk'7\k#\gxnN):*F=zDA8%k4UŁ yOl34iD0#^aڤ-U뚲mA.qe6WmafHfVVrϖ#qi ŀ@#t @(;5M:jSc!}l)l'yB: W_aԪGiE<UPdzVh++T w8a"Va8|P=AfZK_STOhdve,/M~$J02f9N $96!*,4k+4*4nmo#J{)3ܗQ.ǎ+VEG7Cp_KǺoQy.Qh~2xR{>SLU%fuJ1Lj`$W~:c_lq/GM9 ?@ q{d$Z!P;LfѼ4<hN»$5'Dм5-NF8xㆯL 윽1Tեꭇ辠mym#I8YQʾ&%`$:UEP6Xfސ㝯 W0]H>ԄB6`QGD'Ċy U%Rv=g0`+pIɕN63 @؜sj˦+V+- ^ cR t0d10ct^y4R]<fE19@0xI&H8 0Ģ`IЛgX.qa^$XY]Kȡ ?(x?RǹPkMiJ]/F=' 6:!‘VƨE)=2?FKiRӜ<$1V~^J8%+U(ݪ}@z? .&駑Y{_obq.X UOχmߒ73o4ERP^2m )ŋ$]53Xi潗xe kRTg>Qf*MH%~HՁza_|&Y$+ xJ͒Dd%W