From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gatech.edu (gatech.edu [130.207.244.244]) by werple.mira.net.au (8.6.12/8.6.9) with SMTP id SAA19744 for ; Tue, 18 Jul 1995 18:35:51 +1000 Received: from math (math.skiles.gatech.edu) by gatech.edu with SMTP id AA09976 (5.65c/Gatech-10.0-IDA for ); Tue, 18 Jul 1995 04:28:22 -0400 Received: by math (5.x/SMI-SVR4) id AA00695; Tue, 18 Jul 1995 04:21:55 -0400 Resent-Date: Tue, 18 Jul 1995 09:22:55 +0100 (BST) Old-Return-Path: From: Zefram Message-Id: <19316.199507180822@stone.dcs.warwick.ac.uk> Subject: vi mode fixes To: zsh-workers@math.gatech.edu (Z Shell workers mailing list) Date: Tue, 18 Jul 1995 09:22:55 +0100 (BST) X-Loop: zefram@dcs.warwick.ac.uk X-Stardate: [-31]5996.74 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-Id: <"N58E5.0.nA.Yys2m"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/230 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu -----BEGIN PGP SIGNED MESSAGE----- Following the recent bug report concerning vi-change, I've conducted a review of ZLE vi functions. The (compressed) patch below makes the following changes: o The aforementioned trivial bug is fixed. o vi ranges now work properly with vi-match-bracket, which was the last movement command known to misbehave. o vi ranges now cope properly if they get two counts (e.g. 2d3d) and then get an overriding count when doing a vi-repeat-change (e.g. 5.). Previously only the first of the two original counts was replaced. o vigetkey() has a section added so that it won't be confused if the character pressed is a sequence prefix and *also* bound to a command as a one-character sequence. This makes, for example, f^[ work. vi-replace-chars is modified to behave correctly when r^[ is pressed, which previously failed because of the vigetkey() problem. o A bug concerning vi-repeat-change and multi-character bindings is fixed. Previously, typing i123^[h. rapidly would cause the h to be repeated as well as the insertion. o The minibuffer function for vi-history-search-{for,back}ward is vastly improved, to allow a couple more command to be used, get the prompt character right, make magic-space work (as a space), and to provide a _ cursor like execute-named-command does. o pound-insert is rewritten to act on *every* line in the buffer, instead of just the first. This makes its effect on multiline commands equivalent to the effect of the ksh pound-insert. (Ksh doesn't do multiline command editing.) o Some of the default vi key bindings are fixed. o About three-quarters of the patch is actually changes to the man page. As well as documenting the above changes as appropriate, I checked all the key binding listings, and separated the two vi mode listings. -zefram begin 600 vimode.diffs.gz M'XL( -!H"S ^U]:7O41K;P9_@593)WO$FF=R\$<@DA"0D!+CB3S N8*W=7 MNS562SV2VL9,N+_]/>?4HBJIU-U>VC:9F>>9X):J3IVMSE:+-C8VV)NT?_]3 MQ#\:S3V.DW6W-WMWO5]W]'GSOZ4 MB_8[K-&%QGOMAFB_8?\/?[-.;\?K;'<8/6#TO_L;[. [MG&???H0A5G>'R5A MGV>>\?:I>)OQ:!C&&4]S\^7WU9A(=!__@T2 <#'O&<]T=! M:C9[)IKQCY,@'B1I/QE/L)G9Y"?1).CW^22/PAA>(K,4L?"W?WW$(ER![+41 MZY)TM]'UNLUF6=*2O&D\X$ "'QSS,P>!=:\=)*Z4250$UI!6!]I!5O'R9U=? M%+&BLB3BY5-9"'+I=#JEV]SQNJW*/'XM^J=\$&:3*+ &?C,;KWW7ZX+L7\7K MXS"*#J?#(;=(_MMLT+_-?OU[K7 ED27A+IW(NMY+(-,IVW;+Z[9W2K)E2N^& M2>I0NY69@]]3G3.>*_%ILK]2+R?)%+U*R>C]1;WF8)&&)8W]+_5R'( Q/4QA M3G"S\U]K92N)M&6[="*OBT277'NMCM=KE>7ZAP)_E.1)/XFFX]@ _GDFQ?^G M*3X-)OT@XZ8R?^,VQY\?$/\5,C;_EXU,U6H".AM&+#0"FROC(#.NZ>UUNGOM M[6H<)-I;;7?V&MM[S79]#+2]T_&V=UM*#F& Z8I_U1EJ=K)TDX6(>' M_Y(49'F0AWV&.+,,5.OM3N,]>\CNW;_W0-(/0%@VR5-XVO18?SSP6,IS^-5X M(&%@BXT$X[8\.(07+WY]_AQ[*P!#MJ816(>1&;OS*1NFG!N/A>@4_E)T%\3_ MXIC+O\Z/O%,8NVUOI]U3PKBCVQLLPO]]EO\B*=,,IR@T0%H4ED17$\6R^JZQ MJG$'S#3F#UD0Y?+7.C'GCHLL>%P\/0G!6GSH3],/QGL3H=-1&'&VABR4E*<< M*,]&:^N(^QW$8 W8"K! 1C!EX.^U]77V-6NP/_Y@].8AQ93QX##EP;&$@K"U M(.1O>D\(?F8\RCB1IR$4(84%^"2$/\?)@!N 32Y_RM/!=+*&_&.;K+G^P!Z] MN>#HU;@6L,#&V-= IMI.BD(+T?>1F:8DZ5T_B?,PGO):#)"#0!*D10:EQ4.4 MQZ*@_CE-QIV^P&-]L;B*+^P\J+PK. M^PALQOP3$[28:6HVK=MS*#$LAE2L:1KC/_@$(0N[AJ:@IV/Y2YH"LM#*_'#@ M(DK*;ZZS;]CJ-ZMLCZW>UU:B0'44W#T M$V."%;CICOV(!VG6!Y\0ZZ[&L]F="].V9SW7MFW/LB!*-@6SSF?P-B4LX19= M+-<85,U9&==ID@[J@)?>2ZW5%J")=B4\C(+X>*U05!\4 M=9WFZIT2)J!,83C@<>YN[0(^H[F#5+2!=:!6W+#$JQDT+,;1PB'LS?01CJZF M5]B[F$^04$V'8&"F)N)>S7/A!O8,*6D3OR,GZIVJ?3?&7;'&A3 ^F$8%*0I1 M=@ZS?RXK;T;Z:&D=D7YGK]O8:[2KD;YH7ZYV-O8@AZF-]+NM'4@RVR*XI*R3 M'G2UB[D3!5D>\1C0SXMI;KKHXS,EQFDL))RM_159+'N^]Z G:*'\N4[& XTQ MF*;1T3 *CM;IB3!"\ CZDMX^M/K1V'>$ 8(Q_4?#:=P7#U&WC %)X\4;*52+ MJV'6=]>1FWO-GH.KU-[B*K 4)#"#JZUVPVMU&BID-U)J(_$0.M#/K$0"&+I! M.@0:N_K5JN0L.:HPQA=K33%/-J2F02/M]850J,

0Z7-ZMH;[K0WC31WJQ% M>U,;L )%P4B:+*6173AO5FV4+7MK5B0GW&%K=O;:.WL-UZR@]M6VS1DK*ZU& MSVNI>CLI'CW0:?J=)!^A'#Z31A>.@(A#0P]O]I"LDS -P-2@Z8#VOO&3.@Y" MC$E\D99)F/^R8#JQ:W8 F5T#NV;7:[6:9>S6:[%;OS!V:_.Q:[4 F6T#NQ:@ MVVZ4L7M?B]W["V/W=CYV';1W/;-N1ZXATV%[QAZI"8#SIG"CI+5)/S.+!I]% MW>3^QL9]06NG#0:J85;B+@Q>.:XUI/01=(>8R6#"NC _.#=M/,S)ZCW?**XO97HI3(_M_SI_@KC/O1=,#9O4_9:&MT#S%<4=4K M+$.A#QQ#R.+17^ 5Q1]'B?$4?M"+,$[YA >YK%-)*&CS\>\T1V^,C&$?UM80 M=CA>)ZX2>0))*9)K0-(3P<$%,7:QN;/K=3O%C,*?1=PC<0'M,3![(-] 5C$= M9A/>+UY3+H/KM_WWB)>$8M0+_CGE M<1\RS ""&^F(B0U(8XOZW/F9G['C,_K3I%S^5#4+^'E\!G\"9G),_Q$@&D.2 MO58\\Q"P<,. QPI$R=I1R[*"N4I [2CELQH5<>ZFYJII :'1O,*(,H8N.>PV MO-VJU9Y1XIN1RADE BD<7TNJ7])T:YBB^NJ2;0$!-:79:(.J2+/CHJC9@@9M M'7G3U)'\CCC\D;T];KW?PDF9F9I:K,,,DNEAQ%D?@N \\U@V[8]8D($58NU! MYQ\>$DX3,YQ$(1\P\ Q%R"NM1%,RBZ;QAIC'S0>V42GFOJ"KW?6:G<+Z+!EM MCTWCB&<9.^6K*6=B]D)R;Y*S9DYL<)(F<2N2.$W;2HFVE;*T+\8:IX3!>#1W MK#7"+!DCZ>-Q$ \RG'-!VA\AL;2"&@_P M7Q8H4P(6(>CG/$46#7@*@-)Q$+%^F/:G8_ Q8$(REH]@O&F:0<<(QV00!] S MU7M+@L/! T;1A4#89,JXX= VI^8W5,/CL=ROFVN^VU&EW3-/^'V6YFPT.? MUK]]N0#.8LX'"EZ>,!F9(+"3(()X,+$!"18(]IH,\-B8!S'R,!\%N81WR@E\ M">X&!4'0= .R^"S,PR2^K!:XI^ N:$7+G()Q@GX&8^U)GKW%V&O]Q/-U73=8V+&L'?F^=%44% S$;]<:L(01B>BE7I T/L;0D M31$8S\$DC=$4:@Z/1L/KD@!7/.YW>AX[6:K' BN]5LBTI.HK#4AVEL12X2Z M_(7+*M@0! "6JB'4MW:U\ Z@EJ ILS(%54TLTJ63$*M>@CK9M%P4:+>Z7KO= M*1<%KAQI$BX$P8?\*(RU 9U-R$SD71+H-!M>IZE#<55NQ12V/Q(I-SVPDERC MN LJT1_Q_C$+TJ,I:;P8WM("BJ\@73#B;.'E.Y#+=]K;]5%UI[D##;2"5"U5 MNS!6@DM%MD=B%A.)2\IU&P]MIVNDP3*0D&E 14L#*R)O-ZS8(\!3 M%:9\* 5]Y2 W-11'QPF=69"*2V)U6S]OIM"R+?&X&.I9"KH2'6 O* MV-4VE:7.D.EY;/!7=2@/=54LUWR7]^Y^R$<186\W* M0DUSK]/9:^P6U6>S=:GZW&WOM3HSEFFZ7K>M9@')*6/3"049Z!C1*(V#"3N% MV0KQ$SND< /RD).0R1U:6,QAAV=J]1SSLZU7K^Z*F&R81%%RBJX3,J> X1$" M#*_ /- 0:/)4=@D,PJ -'H>I L;4N1ZL;?!Q "S#-C"XBO%P=!KRS1OVBPP M\>?^*X#W;O@MY&EJ3XA/.N9C:/IN^(JM36.B!L+6;U%DV)NIM@S7SK"EQTY' M/.6 ._Y"*F09#PLN <21:0A9:S*\BV%U+(8HTL=LR\1%(X+O"86#;]G3-T_\ MM]^M%^@X4;'27R=Q&F9!UF@.+* MS$?)-!>F'Z6$A .Q=) M-JD]Y;$RFIZD_"1,IAGQ48W < 22JU\>YT+P*EQQ"/OP?*CB2H2?Y6<1M]FB M.OG)T$>N"7D^/@='L!>D+L]P.J0\&)RQ(+=; @2CK4<9SGRL15LP3$%\IG"F M3+"+*R#27G\)4QV'PTWSI>FN3("!U!58@#D3\&9LP3*LPL&/;,0.OED8]I5: MB2_27EP0Z8M;CMMI0USA0[?C;>OP0?+20=\B9"RD9SP>V&Q[6L\L:#N73=AF M%H<,&#'_F#OYHI2HC%LAS;_,0^VNP"TN,GHP+D?A"8]%#_@E+:!GEK"5J4:, MT50#& =TMJ:A0B2_+K@*"=]I7*9 GC*K-Y._:4)DTZ781B$U[)KM><8;ZIE7^BU#^A9'\NH>KXX=B1A$[?2]BIR=S!%,;,%4@%DREB@.+S@D/@ED?N6/@ M^/O!]P!NB(!>PS0$HHMEQF&:C%68?)@$J#XBW"4)2H4F;M,B2(J;6U ((2YV M6A.H'@L_.PXG)>+RBV.CUAS9/W#)]9!C8>02:&+HX6+_]Y? 4$4S%T?&Q;/] MJ^)9L=Y\04S3+/?U9"F'^64+0,U=.(S@Z0S3YPQ\*[!PRHJ).SQ' MR*MMSI9,//D@S)-T%1+' 0\HY=0FAFK10]RZ@XZ6N@,BO[U\_=V3'Q^_?B/< M] 3X,.8TB>G871>,UJYR\-=LM)9GOBX*>88ALT#>(I-V!7A=FW&["ER79>:N MG(]+-GBU-N3J3=\B\=]EC.#M,(>NF*[9;'C-=M?(^44]ID18??AI(5S'<$=P MRV>$M+4P\=X.7US"<650JR8L9R))!]Z#4.X;FS>8V.9))J TT@,QTVD7*,$.8-X4!@-; MJUTQ%9@G,^!Z"\-5,S*9D.G@;!"FO$][VV2-]\

4KPKLY M7-OD620SO, TJ@5[]1.J=JA+32TGU"5/LI)C7<)T._\(US7Q;G(*.OU9!_Q9 MMV'X,XNH@A1G3#%W2&(3%IE(^\K,.7@A4@!M/ M\AQB,75/E\D8FM&+(0DJ48MG(;S-F\$2 IO8(7%72)>8(1T9W0X8W6[3,+HW M)N&J\M]N6=\POA>5NG.>=SM>LZ?GN3BKH*/V$@)T;D$069@E'3,3%G>9#*M- M)E1UPLW9@Q=EZ[>8\$A[Y0MCU4$0HU(BA,7)OER$:3>$3Y: M* P[A^,C?[Y8Z-EK _VZKG7S]-\()YR:L0VF8&:V@H]8S+#:6#LTYGA-R MSXH?D/COL4$)3,P7"YU)7'(+369(DQ9N3'#0=BWHE#M MSGB^;F&O9EL8]U/:6!-$COD&D_LU._@]M47Z1I@;O:G$@!$I61#FC1!-O2MV1_QF*4<08*G&-#1#WB+91(Z MJC:-*7;6DU&EZK MURRBCFCHBWUKOKB\RA.KUZ/@1-27LV ,%A"L7C^GTY;D?.60:J$; /&/O#\% M[!:5@W3ZLGZ?.3E?! 8WQOA]@UJ;N]1H#,FW]"Z@W@7# &"0$:8+:Z.3<2ZE M1;?UBF+XR3Q]O?IX"BS$+-R*>?3-PAC=ZBG$RF+>PM-_80P1?CJ=Y"P+CR#X M\%#::B%.6KTLS\]P'!S 8S13Z!:29&)@31UI$ID+&<9&5[\_'OBTH=161=RP M.D<9]YBXE-$7NV3TCD)QS:$O[G?&O:R^ZQ4MG8@K&*1]0,K/I%2(+V2'"V2# MF"73W)=B6SL) ]I!B]ML?9C?TE207<&K 89&:]0[7-7,SR9\(.L\T9D8,,'@ MRF".&A=/?>NQ#3,&H9G3KBD$^(1(.P2V'<5X=&(+M_A85@UW]8"I 51H2>DD M!#:9^WW%7A^]/9@.4EL[DM7^GVE68Q =1A GM$C-XSG&\#IFM8E9,:GO+XK/ M%V2=9UHTBTMAC$D$+?5:!97?RYFDY) CVC+%1:?U5>E6A3X8X8":W<6['E5T M)6(W8S=[7D*+M!S#/'L1[P-ITY:-VS.AICHP),W0*Z=Z%50A+<86I1/H+7,O M9ZY5E)@%'TNZ$[L*OS!OU$BBTXRRLA/JBX6@BGLB0KSK\H2GF;T FB='1Q$' M*PG6!3QS.4-\35PLI1+[U ?4,C_E/&:R+QF6B'\,P7HH#.11<'6F(,PPU;6; MJ-M0$'_ Y\=G;_:?/]M'!)*)LD=XQX.)]'3B+NZ)P. M[MT^UFDL9-7G*)"A MAW)5Q[1N+)Q+U"!92,^_$10O4[IM-9H0/N\6%:S;$#Z_878$_9]8^G*Q]&V. MJL^/V[]S?+T%C\ZG=G;4+.)C%8.SM1S,$-*G9S;NNBO:KV,'9Z!=%V9;'? $ MNJ^WZC@>8QR*-[+[XDIV_$TWR?MB3YU&3^P%I.OEL8V^ )Y"BY526 \/_A/8 MUP7V9FRVG C_]L;ZY\;L"_(C5QWU?QGQ_VW)!&9N!KF"G.!\\*\V._@"\X3J MPM$")SC#_PMV8Q_%5YT7-QX M!B^\BTB@MMM ]&YI"\"-$5V[YKL$\ITZL-WQ6CN[2@O-2C!1M=8 AX@\*?ESN9UEM+=E;S( M^4[V&V&T,&H_BEL$#FCMX3MZ*T8K*NL'/HL>B$U1 MK 5[,/@,\: ^+FV*X=D$'1:I8X)W&8FS/U8<&I"CH"5>Y#=&HS3-=EI>:U=_ M5.,Z]6K1P[67U#!KF!O3-:?77Z+JX][MO8(N6/0:O8LY/8;!3X@/OJ'+ 6-B/#(CRPN)QNRX59^6P!J(9HC MNLAQ!JIM29J&U1 LD0J@P.MHS&E"GEDWIF)D7,+> M,R\N5@QPG;H2S1R6[DDAY4O8-PG^=)10EE$Y#_#&TB43T07@]Y/)&:1*1\!. M/\A(8;5BB(E0.CCV!#K00) X!Q712#KQ<('Z^YCJ(-68BT:FTWR6-AY\*%G* MZ22"%$=:LL7FGS!-)38-+JB [)(:6*=G&DE/#%/5,KI$MM'RVM;IFUMB%6L< MVU5;RB_&9B[;>KH.MO[[V%&'CBW5HKIU>JFV]>:L[++L[655]N8LKRL^;;<; M7GO7/'1E1^%U(?>4OIHPCWFN6/YC;1A?AHF5JAK#Y[BOJ#CZ((:V-.,[4LP9 MZ8IARZKG*/!+;C:\YP0O*JMW?*(JRY9QQ&H_2"1*3GE*7X6;:2U-I^&:IY5K M^(Z2C,ZNYFD09Z!*@NV9Z/[THV&G\M/$N!1C_A3 KQK&Y13TD2BB#Z@LCIN< M#['H-W1DD00!K4@)0NA,7=U=_<.*X7RV^*T"1BVRQK0)+IGC_@-432UU_ 3# M_83#_93(2IAE+?4:E+B,HJ2(9B@#T'YVV-\:&UAS'9O?'9X^MO?MCG6K_;]_]\7Z=T5=KF%AMD]4O;#[/<"<3+D\C!H

$EB+Q&IE]!$5:>IDPTF)#]5G7X M=GO'ZQ1?O;L6AS>_2+84UW?5+F[9SJ[.5<^>5#?O#DNKRY=RC+.KN^=PD;75 MZ&4[2VO@*W:;M]Z!WJ KO0QOENM49\_C2_C8*_6V]==A+,GO;NI43BY*B2U@ M";J]RICR/EBU#8^A6R%!NQI$CGC<@^Q6W],W@_F8(GH?OU2FQ_5=HUA;?O (YZGZ!1I3$O MZ"M\Z+-J.WF#C[B[47PB6+M*M@8VD&Z_T5]:E%Q:1TZBKG.\H,Y2L=HICV31 MHFB)JLDYJ+(659=+E*7(;J*L;:Q"$_ZV3O^Q*2+O:NPSI;VH8:S,FL!9;LV* MSJI#%%87([+2!4W_@RTJ>#Y@KQX#OP(=5 P&]AZXHXTN+A&9+F*>^#"MQ M=AA]<;$5\%Y]QU=7'8AJCR50O5>'JFBWL#\3^_GPDZ0EW7E=1&?V'*O9#NBL M?F_5;-*CN9JC[,:X#0'+EG(Y T,8\:UA"A-P#VX12YF-/;J_,6-X5 "C4!%& M&-WK;_.&CDA2&@ZD\RI@B+[B[O5.HU-\N^[VVL1KL8YUNTO_+';R(O1]*1:S MCK;EVVC#L=A%*3168DNAPQU6<5D?2H9C@WFU+@$ M6XWS_] 3\_/JXIF%@'$0AL:>I# MZ1R$82"@PRN:.94+AI5]RDU,G'L&JB=N MBH7&9V+#P$_BGU]L?9LS,EE&/!HRF:A3$'2;3P]S/(PGU86*XD/;_1;AV&#)A5HAI,V@?T? 2M[[#DBGEG[JQ;H MP"27+KN>5:]3]_SPH5HHO:O/9XC/:,AL6%1WZ,N1W("'K>=HIT7>768.64,* MEB,SK2C[I"#Y#)JLVJD>,Z&4ED*$ZEZ*:>PL1'Z-L'^5[^84(*<31\7W5T)V M>KXZ;S^89+/%?*9N"#_X^\5"B?E3%8?P)\E$DW)6]@!C%0*1T:<[T+$3!VN< M)KG:&$";&7P\M.7)J8B-5$D0CU!L,?8R!NL(+#C.BK-)HJ*@*!5'K0RDRA(\ MJUZ:?G:![01]M9]"^.&[%]]8<)<5P4UITT7=?@-)@U=@,2NZ)&;4;DWYN[4[ MQ*H5UZ%EEG$(N*B)RN\^@Z//N62HL?IT=3<%UG\E@/GNS!8LK?639*IM& #1)T"R>A//VL M[M2D1E@LZ^=3NB)FD,AY^.8-P4269B8'!N%1F/OJ%(_Y476HTJ'@)V2S1$4![P]1"E&K\ MENCY9+(\Z;CF0;?1\+JM76,K+\SO26E#T.,\Y^,)62%\A6:D5&6O[@\J=C8A M6_ (L' ,I3T'BVV;8O:J-QJIS/'%2Q$:T-418.^RD&)1C;.XSD('%A6\?<1; M7BWEQ\&8#_ N&RTC:T>6+RPT>0:\V2:A[YZ*;S=I"XE74_CJLBITE1>[]H=0 M]J_@VA^Z]:J7E4*(G>24$:*J0J]#2,0 $ MK8-IGE";TE45?E5/Z2*3JK)^*BOKP+C>6M_PH^Y1$P%JC?:K8<7UV1\G0 7= M\30)\I':'C=1BPGZ^+"< L F/#,]G )#L ,"MNR$! A"4?PB&O8?X_X:^"\[ MH!/DR@)E(PZ0J%,VPPR1M0#[,(19E%$L5[%@XDQ9M]D$\V=>$'Z-YN^V&L(; MD'3!$OR])($[_5\;%*#3,[\>4,$3#PT-PX^V,BR & /CG+AVA8 %ZA+K(_ #.!]^@<_:-!$=H%O]9/7EC8;%[^I.+7;V@;)M\QO ]PR MR5^'#ER'-I#96Z)*7)U>."U$=\?K]O3W13#P1Y#0^9>G+W[]\.3E+Z^>/]U_ M^JZX68KV%JAE!Z>B\G<[0)0N=M\ 44LCSRG#'LSU8A%\'X,P=7_>Z/R7 MSLFQ)PKK\IUS26G+!R&\Y>!3L4/Y)T8%:O$O>5I!5SU3ZN 1\RM?U]8.TO=?VNMN]XGZ?VRW^ZU*# MVZ 0QMF':U<-IZ78:7N]QHYUQ5@H'-1)B BDF=Y'+Y:"\%9E+(T'_1"2;9#\ M,><37%W O?%25F$JBN=1 H_P*MBU*#SF*M<;):F]F&->6RN8) E!C[@X,6:TII=9Q8(B 1;C0%O((*%;*>J0-PM0E9F447\5%D3_^^RE$ZMB MK5=/]!-5LRYO%3OBN;V%[@=BVU')VO'3_:?_>TINGIP^?MO#%<_QN610[QA%I<#1&P6 MT@J=N+8X/L.) )E>#+*O[ BUF6#.\*_6+\82RQRA\5V$,7M_<310G7=\US/ M7JWKKEQ)77?EBNJZ*Y>HZZZJZ);6]3(5WY5P^]$:\J>U(["T% M5^!EG9\QYP%D"&(1>Z76UP0P(*VVZ]8B8!T%F5@L7)GAHDM+Y2LWX*%ONT]V M1>F]YC;XZ+:*TB$S NL[[>?Z2P.39()G+Y0NHG(F-6H9)<& XQWR>EN!LMR. M! OS("-M^Q^:&^*__ZPK:4A.Z5*&(SD4FSC0E]]EI=SN!29<>3CF&K6$.J7@ MCZ<3SP1E$T_!3*_=\'K%G7FWCE&WC&5.74,6]K:KNF:Q 4_H:P3VR0[GM)DP M8_R?T_ DB) @L2N0>!/&DRG9-5$W$+[=MK\60_5G24JV\."UV"\DWV8S:\$9 M?O[V,.6!C,!*WZA]K",()0%)FO(G'N-'6PXW(@(CV@2D5Y9D5P@I>304'<$- MGB53^LX$A#]HC>!/\D#L)=J,TS#C1A@S"=),F!PIXMI]1>DT]D<\*K:"B;L9 M1S7Z-4NO/*NL*-V4#/SNE89Z-WPF/.@]3]ZGJ)^@X V4"R!;K(PP&=UT3+M< M@B@,Y,DUJD['KOVCH"'&?0F%*MRC/2VTY_@,KP,05 $H^>D5M;.UJ%096Y?+ M(^@PO8 _)OA<"*?X? G=O;?05ET!U5 74,'_+FW)D> 7!CKAY;M@_D*R?T/_ M+6VIU0L5VR2"K _LX/Y&%G+4NY"%VP61366Q6&WW986' K\#3SL-)6QDIL=.OMM+S>KM[M