www.digitalmars.com         C & C++   DMDScript  

c++ - coff2omf bug - C2OTEST.zip

reply r.scudder rcn.com writes:
Walter...

I believe that a bug exists in coff2omf that causes it to skip certain .obj
files when it is processing a .lib file.  I can not tell you exactly why it
refuses to process the .obj files but I do know the following things:

1) The skipping has nothing to do with the contents of the .obj.  
The coff2omf will process one file then skip an almost identical file.

2) Of the files I have tested, the only difference between a file processed by
coff2omf and one that is skipped is the length of the file name.  (I do not know
if the filename length has anything to do with the problem.  I am only stating
what I observed.)

I have examined this issue using a .lib file that is impacted by this bug
(uuid32.lib) by doing the following in a batch file:

1) extract each .obj file to a subdirectory (there are well over 1,000 files).

2) run coff2omf on each obj file, one at a time, capturing the output to a text
file.  Only 13 files are processed. Here is the redirected output:

COFF2OMF: Converting 'c:\psdk\bin\wrk\vcguids.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid0.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid1.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid2.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid3.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid4.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid5.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid6.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid7.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid8.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid9.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\go7.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids.obj'

NOTE: I observed that of the files that were NOT processed by coff2omf, all had
filenames that were atleast one character greater in length than the longest
filename in the list of files that WERE processed. IOW - any file with a name
length greater than 15 characters was skipped.   

[I am attaching my batch file in case you or anyone else would like to check my
findings.]

3) I used DUMPBIN to examin the contents of similar .obj files where one file
was processed by coff2omf and the other file skipped.

Here is an example of two very similar .obj files extracted from uuid32.lib and
opened using DUMPBIN to display the symbols.  (BTW, no functions are exported
from uuid32.lib) 

---[DUMPBIN guids_guid0.obj OUTPUT START]---------------- String Table Size =
0x1A bytes

COFF SYMBOL TABLE
000 00000000 DEBUG  notype       Filename     | .file
guids_guid0.c
002 00000000 SECT1  notype       Static       | .debug$S
Section length   91, #relocs    2, #linenums    0, checksum        0
004 00000000 SECT2  notype       Static       | .rdata
Section length   10, #relocs    0, #linenums    0, checksum        0
006 00000000 SECT2  notype       External     | _CLSID_StdURLMoniker
007 00000000 SECT3  notype       Static       | .debug$T
Section length   94, #relocs    0, #linenums    0, checksum        0
---[DUMPBIN OUTPUT END]----------------------------------

And here is the output from DUMPBIN /SYMBOLS uuid.lib showing symbols in
guids_guid10.obj, one of the files coff2omf skipped over.

---[DUMPBIN guids_guid10.obj OUTPUT START]--------------- String Table Size =
0x24 bytes

COFF SYMBOL TABLE
000 00000000 DEBUG  notype       Filename     | .file
guids_guid10.c
002 00000000 SECT1  notype       Static       | .debug$S
Section length   90, #relocs    2, #linenums    0, checksum        0
004 00000000 SECT2  notype       Static       | .rdata
Section length   10, #relocs    0, #linenums    0, checksum        0
006 00000000 SECT2  notype       External     | _IID_IAsyncMoniker
007 00000000 SECT3  notype       Static       | .debug$T
Section length   94, #relocs    0, #linenums    0, checksum        0
---[DUMPBIN OUTPUT END]----------------------------------

As you can see the skipped file is almost exactly the same as the processed
file.  I don't think there is any question that this is a correctable
programming error. 

I know that you have fixed uuid32.lib, and I appreciate that you have given time
to the Win32 programming community, but that fix was really a treating of the
symptom.  I'd like to see the problem fixed at the root.  I realize that you
have many other important issues to devote precious time to, so even if you
would add this to the to-do list I would be grateful.

Thank you,
Roger Scudder



begin 0644 C2OTEST.zip

M(T=R[.\TXW?`50>-%I%9_WB0/8E+[M*D?2-;D:8]T&P-TXV> =C=F`> A\-O
M_WI([G05RC,](IV773*\O*LR\ =D1485_L\W7__Y]>;UM]]^^<6G__?JM__9
MW-CQLC]?-O^\V5S>'<Z;-[O+S;O-W>%^O_GY<'^_V7^\G'8WE\WN^?\?[YXU
M^\WQS?_NG__+)\UY<W<Z/FR>G ZWK^X/;S:_F\[_N1PWN\WYZ<W=\?YV?]H\
M[A[VMYO_^>M_O-ILOKO\]C>>31\WIZ?'S<WQ[LZ.#W>;X^-FOWL^C^<_!2Q_
M/;O=X^WFM+\]G#Z


M_??WFU<_?C[R3Z^_?[UY//XVDL^B?PB>A^O'QZ?GD?I5<+[L3I<OO_C+?_SQ
MN[]^&LDOO_CJ]__T?+(OI_$OW_SM^[_^V]???_6GY__R_!]>71[>__T//]Z\
M??[7OQ_^_NE__O#J>8!_NX!_>1ZTKWX^_52(Q[VWQ'NK>+^<&/;^'&_Q_GQP






M/A'FD\!\(LPG ?E$F$\"\XDPGP3F$V$^"<PGPGP2F$^$^20PGPCS26`^$^:S



MS/<"\SUAOA>8[PGSO<!\3YCO!>9[PGPO,-\3YGN!^9XPWPO,#X3Y06!^(,P/

M`V%^$) ?"?.CP/Q(F!\%YD?"_" P/Q+F1X'YD3`_"LR/A/E18'XDS(\"\R-A


M?=['W?._K:Q?O'$\[HWZUG&\P1N,"8XW>(//*AQO\`:?53C>X`T^JW"\P1M\


MQO$6[W6O,XZW>*][G7&\Q7O=ZXSC+=[K7F<<;_%>]SKC>(OWNM<9QUN\U[W.

M?/#YAN6QA/G \PW+8PGSP><;EL<2YH//-RR/)<P'GV]8'DN8#S[?L#R6,&\"
M\^A^!\9;O`GS26`^$>:3P'PBS">!^4283P+SB3"?!.8383X)S"?"?!*83X3Y

MS&>!^4R8SP+SF3"?!>8S83X+S&?"?!:81_5!&&_Q)LQW`O,=8;X3F.\(\YW`

MS/<"\SUAOA>8[PGSO<!\3YCO!>9[PGPO,-\3YGN!^9XPWPO,]X3Y7F"^)\SW



M^>A[6Q;'$N:C[VU9'$N8C[ZW97$L83[ZWI;%L83YZ'M;%L<2YJ/O;5D<2YB/
MOK=E<2QA/OK>EL6QA/GH>UL6QQ+FH^]MF1\+>[= O,&;,!]];\OB6,)\]+TM
MBV,)\]'WMBR.)<Q'W]NR.)8P'WUOR^)8PGSTO2V+8PGST?>V+(XES$??V[(X

M[ W[-6$\[ W[-6'<Z7V_1S>G+]XPWN"-OAM O,4;U'U O,4;U'U O,4;U'U 
MO,4;U'U O,4;U'U O,4;U'IAO,4;U'IAO,4;U'IAO,4;U'IAO,4;U'IAO,$;
MK=E O,6;,!_MUUP<2YB/]FO.CT5K31AO\$9K31AO\$9K31AO\$9K31AO\$9K




MWEO%^_<3*WK_%F_SWA+OK>!MQ-L$[T2\D^"=B7<6O#OBW0G>/?'N!>^!>`^"

M(\R;P+P1YDU W CS)C!OA'D3F$^$^20PGPCS26`^$>:3P'PBS">!^4283P+S

MYC-A/ O,9\)\%IC/A/DL,)\)\UE /A/FL\!\)LQG ?E,F,\"\YDPGP7F.\)\

M>]=5O,D;KY%7\29O_%V\BC=Y8^97\29OS.4JWN2-N5S%F[PQEZMXDS?F<A7W
M>=^\VST^O%V]6?2S-XZW>(,?=H;Q%F_PP\XPWN(-?M 9QIW>QX>;W7IW]<4;
MQAN\T0N88;S!&[V`&<8;O-$+F&'<YWU[>%AO\<R\<3SLO27>6\';B+<)WHEX
M)\$[$^\L>'?$NQ.\>^+=Q[W/[_<?R\SC>(,W8!['&[P!\SC>X`V8QW&G]_'F


M7C=3XWB+][J9&L=;O-?-U#C
M$N:#S=3+8PGSP9??+H\ES`=??KL\EC`??/GM\EC"?/#EM\MC"?/!E]\NCR7,
M!U]^NSR6,!]\^>WR6,)\\.6WBV/!F W'&[S!F W'&[S!F W'&[S!F W'&[S!
MPP(XWN`-'A;`\09O\+``CON\/QUR7I5/7KQQ/.J])=Y;Q1O6?7`\[HT>H,#Q



M"/,F,&^$>1.8-\*\"<P;8=X$YHTP;P+S1I W 7DCS)O`O!'F36`>[E_B>-R;
M,)\$YA-A/ G,)\)\$IA/A/DD,)\(\TE /A'FD\!\(LPG ?E$F$\"\XDPGP3F
M$V$^"<S#O (<CWL3YK/`?";,9X'Y3)C/`O.9,)\%YC-A/ O,9\)\%IC/A/DL


M ?F>,-\+S/>$^5Y OB?,]P+S/6&^%YCO"?.]P'Q/F.\%YGO"?"\PWQ/F>X'Y

M/PC,#X3Y06
MS(^$^5% ?B3,CP+S(V%^%) ?"?.CP/Q(F!\%YB?"_"0P/Q'F)X'YB3`_"<Q/

M1][S>-B;]/B9T.-GI,?/A!X_(SU^)O3X&>GQ,Z''STB/GPD]?D9Z_$SH\3/2
MXV="CY^1'C\3>OR,]/B9T.-GI,?/A!X_(SU^)O3X&>GQ,Z''STB/GPD]?D9Z
M_$SH\3/2XV="CY^1'C\3>OR,]/B9T.-GI,?/A!X_(SU^)O3X&>GQ,Z''STB/
MGPD]?D9Z_$SH\3/2XV="CY^1'C\3>OR,]/B9T.-GI,?/A!X_(_U5)O17&>GC
M,*&/P\A^L0G[Q4;VI4S8ES)2_S:A_FVDSF9"G<W(_;P)]_/S*8B\Y_&P-[EO
M2,)]0R+KDR2L3Q+Y'$S"YV`BS">!^4283P+SB3"?!.8383X)S"?"?!*83X3Y

M\UE /A/FL\!\)LQG ?E,F,\"\QUAOA.8[PCSG<!\1YCO!.8[PGPG,-\1YCN!



M#X3Y06
M^5% ?B3,CP+S(V%^%) ?"?.CP/Q(F!\%YD?"_" P/Q'F)X'YB3`_"<Q/A/E)

MN_O#XT_K'U'X[(WC<6^TAX[C<6^TAX[C<6_4-X/C<6_4-X/C<6_4-X/C<6_4
M-X/C3N_+X6YWLR_^C V.MWBOWV&,XRW>ZW<8X[C?^[1[N+[HA?<ZWN2]^LTM
M'&_R7OWF%H[[O`\/;Y\NA_OB/,'Q%N_U/,'Q%N_U/,'Q%N_UNZYQO,5[_:YK



M\T:8-X%Y(\R;P#RZE
MCWNC9Q!PW.E]?G=Y>'>^_F7.%V\8;_)>W4OA>)/WZEX*QYN\5[]?C.--WJO?
M+\;Q)N_5[Q?C>)/WZO>+<;S)>_7[Q3 >\%[=%E]YK^(-WNA['L9;O-?W\SC>

MY+WZS7(<;_)>_68YCK=XK^ML.-[D39C?"LQO"?-; ?DM87XK,+\ES&\%YK>$
M^:W`_)8POQ68WQ+FMP+S6\+\5F!^2YC?"LQO"?-; ?EU_1O'F[P)\R8P;X1Y



M3)C/`O.9,)\%YC-A/ O,9\)\%IA?]W' >),W8;X3F.\(\YW`?$>8[P3F.\)\


MYGN!^8$P/PC,#X3Y06



M,X_Z[6&\Q9OT^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ
M,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^
M1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/
M2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9
MZ?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C
M/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>D
MQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST
M^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>
M/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C
M9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\
M3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?
M"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$S
MH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF
M]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,](79D)?&'HG(XRW>)/^DR3TGR2RSYV$


M,)\%YC-A/ O,9\)\%IC/A/DL,(_>80SC+=Z$^4Y OB/,=P+S'6&^$YCO"/.=




M/Q+F1X'YD3`_"LR/A/E18'XDS(\"\R-A?A28'PGSH\`\^ETL&&_Q)LQ/`O,3



M6?#NB


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
M5L=IH:Q.Y(6R.I$7RNI$7BBK$_E9>7/TCM*+LCI*'W[=Q#S7
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

MLQ<ER]B+DN7K1<FR]:)DN7I1UC/U'#OO
MS9FP/I S87TL9T(RE"_"^HR?">O3?2:LS_7C^\ON](LO-W-I/3OO]Z=WA\J3
M9`OMZ>VY]G#Z0GJ\J?PB=%%*3G8NK4^FA;0^G1;2^H0Z[T\?GN4?7!=V?O?T
MK(D)Z]<_%_HM_9[U(9TKZR,Z5Y(!G2GKB,Z5=4;GRCJD<V6=TKFRCNE,Z1Y.
MTHTP5[J32?H0YDIW,LDV[%SI3B;9_IDKW<DD9>>YTIU,]R"1>NQ<Z4XFJ<7.
ME?[S=">35&'G2G<R20EVKG0GDY1?9TKWI9/2ZUSI3B8IN\Z5[F22DNM<Z4XF
M*;?.E>YDDE+K7.E.ION"2)%UKG0GDQ18YTIW,DEQ=:[T7[L[F:2L.E>ZDTE*
MJC.E^S1).76N=">3E%+G2G<R21EUKG0GDY10YTIW,DGY=*YT)]/]QTGA=*9T

ML-1&SH&PM;O;'V_*O]Y\Y?MP?(Q+Z97-I!';B"\=L9FV/F)+;?WS:*FM?R(M


M2VW$MT[$4EN?-DMM?=[\O']S\V[O'.`K<?WJKL3UR[L2UZ_O2ARZP#H:5^(Z
M'%?B.AY7XCH 5^(Z(K=OWKX_'=^[$KC4UO.WU-;3M]36L[?4UI.WU-9SM]36
M4[?4UC.WU-83M]36\_:<Y`\_>['[K*3,?592X#XK*6V?E12US\IZKMX>ZV/^
MR>&,%-]\_>?7F\N[_>;-[G+S;O-N=][<'!_>W^\O^]M7FU^AV<P.N#N>-J?]
M^>G^<G[UY1=_>OW]Z\W^\?;++[YZ/-X?WOQN]_']Z7+9GR^;?][\\,-W?WSU
MG]_]^^;Q^.G I\?;S>%Q<_-T.NT?+YO;PVE_<SF>?GGV^NI7G_\/4$L!`A0`
M%````` `SH:!-/ST]K8K+0``168"``L``````````0` `````````$,R3U1%
<4U0N0D%44$L%! `````!``$`.0```%0M````````
`
end
Apr 01 2006
parent reply r.scudder rcn.com writes:
Jan has informed me that I need to bring this to Walter Oney, not Walter Bright.
-Roger

In article <e0mua6$11f8$1 digitaldaemon.com>, r.scudder rcn.com says...
Walter...

I believe that a bug exists in coff2omf that causes it to skip certain .obj
files when it is processing a .lib file.  I can not tell you exactly why it
refuses to process the .obj files but I do know the following things:

1) The skipping has nothing to do with the contents of the .obj.  
The coff2omf will process one file then skip an almost identical file.

2) Of the files I have tested, the only difference between a file processed by
coff2omf and one that is skipped is the length of the file name.  (I do not know
if the filename length has anything to do with the problem.  I am only stating
what I observed.)

I have examined this issue using a .lib file that is impacted by this bug
(uuid32.lib) by doing the following in a batch file:

1) extract each .obj file to a subdirectory (there are well over 1,000 files).

2) run coff2omf on each obj file, one at a time, capturing the output to a text
file.  Only 13 files are processed. Here is the redirected output:

COFF2OMF: Converting 'c:\psdk\bin\wrk\vcguids.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid0.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid1.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid2.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid3.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid4.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid5.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid6.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid7.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid8.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids_guid9.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\go7.obj'
COFF2OMF: Converting 'c:\psdk\bin\wrk\guids.obj'

NOTE: I observed that of the files that were NOT processed by coff2omf, all had
filenames that were atleast one character greater in length than the longest
filename in the list of files that WERE processed. IOW - any file with a name
length greater than 15 characters was skipped.   

[I am attaching my batch file in case you or anyone else would like to check my
findings.]

3) I used DUMPBIN to examin the contents of similar .obj files where one file
was processed by coff2omf and the other file skipped.

Here is an example of two very similar .obj files extracted from uuid32.lib and
opened using DUMPBIN to display the symbols.  (BTW, no functions are exported
from uuid32.lib) 

---[DUMPBIN guids_guid0.obj OUTPUT START]---------------- String Table Size =
0x1A bytes

COFF SYMBOL TABLE
000 00000000 DEBUG  notype       Filename     | .file
guids_guid0.c
002 00000000 SECT1  notype       Static       | .debug$S
Section length   91, #relocs    2, #linenums    0, checksum        0
004 00000000 SECT2  notype       Static       | .rdata
Section length   10, #relocs    0, #linenums    0, checksum        0
006 00000000 SECT2  notype       External     | _CLSID_StdURLMoniker
007 00000000 SECT3  notype       Static       | .debug$T
Section length   94, #relocs    0, #linenums    0, checksum        0
---[DUMPBIN OUTPUT END]----------------------------------

And here is the output from DUMPBIN /SYMBOLS uuid.lib showing symbols in
guids_guid10.obj, one of the files coff2omf skipped over.

---[DUMPBIN guids_guid10.obj OUTPUT START]--------------- String Table Size =
0x24 bytes

COFF SYMBOL TABLE
000 00000000 DEBUG  notype       Filename     | .file
guids_guid10.c
002 00000000 SECT1  notype       Static       | .debug$S
Section length   90, #relocs    2, #linenums    0, checksum        0
004 00000000 SECT2  notype       Static       | .rdata
Section length   10, #relocs    0, #linenums    0, checksum        0
006 00000000 SECT2  notype       External     | _IID_IAsyncMoniker
007 00000000 SECT3  notype       Static       | .debug$T
Section length   94, #relocs    0, #linenums    0, checksum        0
---[DUMPBIN OUTPUT END]----------------------------------

As you can see the skipped file is almost exactly the same as the processed
file.  I don't think there is any question that this is a correctable
programming error. 

I know that you have fixed uuid32.lib, and I appreciate that you have given time
to the Win32 programming community, but that fix was really a treating of the
symptom.  I'd like to see the problem fixed at the root.  I realize that you
have many other important issues to devote precious time to, so even if you
would add this to the to-do list I would be grateful.

Thank you,
Roger Scudder



begin 0644 C2OTEST.zip

M(T=R[.\TXW?`50>-%I%9_WB0/8E+[M*D?2-;D:8]T&P-TXV> =C=F`> A\-O
M_WI([G05RC,](IV773*\O*LR\ =D1485_L\W7__Y]>;UM]]^^<6G__?JM__9
MW-CQLC]?-O^\V5S>'<Z;-[O+S;O-W>%^O_GY<'^_V7^\G'8WE\WN^?\?[YXU
M^\WQS?_NG__+)\UY<W<Z/FR>G ZWK^X/;S:_F\[_N1PWN\WYZ<W=\?YV?]H\
M[A[VMYO_^>M_O-ILOKO\]C>>31\WIZ?'S<WQ[LZ.#W>;X^-FOWL^C^<_!2Q_
M/;O=X^WFM+\]G#Z


M_??WFU<_?C[R3Z^_?[UY//XVDL^B?PB>A^O'QZ?GD?I5<+[L3I<OO_C+?_SQ
MN[]^&LDOO_CJ]__T?+(OI_$OW_SM^[_^V]???_6GY__R_!]>71[>__T//]Z\
M??[7OQ_^_NE__O#J>8!_NX!_>1ZTKWX^_52(Q[VWQ'NK>+^<&/;^'&_Q_GQP






M/A'FD\!\(LPG ?E$F$\"\XDPGP3F$V$^"<PGPGP2F$^$^20PGPCS26`^$^:S



MS/<"\SUAOA>8[PGSO<!\3YCO!>9[PGPO,-\3YGN!^9XPWPO,#X3Y06!^(,P/

M`V%^$) ?"?.CP/Q(F!\%YD?"_" P/Q+F1X'YD3`_"LR/A/E18'XDS(\"\R-A


M?=['W?._K:Q?O'$\[HWZUG&\P1N,"8XW>(//*AQO\`:?53C>X`T^JW"\P1M\


MQO$6[W6O,XZW>*][G7&\Q7O=ZXSC+=[K7F<<;_%>]SKC>(OWNM<9QUN\U[W.

M?/#YAN6QA/G \PW+8PGSP><;EL<2YH//-RR/)<P'GV]8'DN8#S[?L#R6,&\"
M\^A^!\9;O`GS26`^$>:3P'PBS">!^4283P+SB3"?!.8383X)S"?"?!*83X3Y

MS&>!^4R8SP+SF3"?!>8S83X+S&?"?!:81_5!&&_Q)LQW`O,=8;X3F.\(\YW`

MS/<"\SUAOA>8[PGSO<!\3YCO!>9[PGPO,-\3YGN!^9XPWPO,]X3Y7F"^)\SW



M^>A[6Q;'$N:C[VU9'$N8C[ZW97$L83[ZWI;%L83YZ'M;%L<2YJ/O;5D<2YB/
MOK=E<2QA/OK>EL6QA/GH>UL6QQ+FH^]MF1\+>[= O,&;,!]];\OB6,)\]+TM
MBV,)\]'WMBR.)<Q'W]NR.)8P'WUOR^)8PGSTO2V+8PGST?>V+(XES$??V[(X

M[ W[-6$\[ W[-6'<Z7V_1S>G+]XPWN"-OAM O,4;U'U O,4;U'U O,4;U'U 
MO,4;U'U O,4;U'U O,4;U'IAO,4;U'IAO,4;U'IAO,4;U'IAO,4;U'IAO,$;
MK=E O,6;,!_MUUP<2YB/]FO.CT5K31AO\$9K31AO\$9K31AO\$9K31AO\$9K




MWEO%^_<3*WK_%F_SWA+OK>!MQ-L$[T2\D^"=B7<6O#OBW0G>/?'N!>^!>`^"

M(\R;P+P1YDU W CS)C!OA'D3F$^$^20PGPCS26`^$>:3P'PBS">!^4283P+S

MYC-A/ O,9\)\%IC/A/DL,)\)\UE /A/FL\!\)LQG ?E,F,\"\YDPGP7F.\)\

M>]=5O,D;KY%7\29O_%V\BC=Y8^97\29OS.4JWN2-N5S%F[PQEZMXDS?F<A7W
M>=^\VST^O%V]6?2S-XZW>(,?=H;Q%F_PP\XPWN(-?M 9QIW>QX>;W7IW]<4;
MQAN\T0N88;S!&[V`&<8;O-$+F&'<YWU[>%AO\<R\<3SLO27>6\';B+<)WHEX
M)\$[$^\L>'?$NQ.\>^+=Q[W/[_<?R\SC>(,W8!['&[P!\SC>X`V8QW&G]_'F


M7C=3XWB+][J9&L=;O-?-U#C
M$N:#S=3+8PGSP9??+H\ES`=??KL\EC`??/GM\EC"?/#EM\MC"?/!E]\NCR7,
M!U]^NSR6,!]\^>WR6,)\\.6WBV/!F W'&[S!F W'&[S!F W'&[S!F W'&[S!
MPP(XWN`-'A;`\09O\+``CON\/QUR7I5/7KQQ/.J])=Y;Q1O6?7`\[HT>H,#Q



M"/,F,&^$>1.8-\*\"<P;8=X$YHTP;P+S1I W 7DCS)O`O!'F36`>[E_B>-R;
M,)\$YA-A/ G,)\)\$IA/A/DD,)\(\TE /A'FD\!\(LPG ?E$F$\"\XDPGP3F
M$V$^"<S#O (<CWL3YK/`?";,9X'Y3)C/`O.9,)\%YC-A/ O,9\)\%IC/A/DL


M ?F>,-\+S/>$^5Y OB?,]P+S/6&^%YCO"?.]P'Q/F.\%YGO"?"\PWQ/F>X'Y

M/PC,#X3Y06
MS(^$^5% ?B3,CP+S(V%^%) ?"?.CP/Q(F!\%YB?"_"0P/Q'F)X'YB3`_"<Q/

M1][S>-B;]/B9T.-GI,?/A!X_(SU^)O3X&>GQ,Z''STB/GPD]?D9Z_$SH\3/2
MXV="CY^1'C\3>OR,]/B9T.-GI,?/A!X_(SU^)O3X&>GQ,Z''STB/GPD]?D9Z
M_$SH\3/2XV="CY^1'C\3>OR,]/B9T.-GI,?/A!X_(SU^)O3X&>GQ,Z''STB/
MGPD]?D9Z_$SH\3/2XV="CY^1'C\3>OR,]/B9T.-GI,?/A!X_(_U5)O17&>GC
M,*&/P\A^L0G[Q4;VI4S8ES)2_S:A_FVDSF9"G<W(_;P)]_/S*8B\Y_&P-[EO
M2,)]0R+KDR2L3Q+Y'$S"YV`BS">!^4283P+SB3"?!.8383X)S"?"?!*83X3Y

M\UE /A/FL\!\)LQG ?E,F,\"\QUAOA.8[PCSG<!\1YCO!.8[PGPG,-\1YCN!



M#X3Y06
M^5% ?B3,CP+S(V%^%) ?"?.CP/Q(F!\%YD?"_" P/Q'F)X'YB3`_"<Q/A/E)

MN_O#XT_K'U'X[(WC<6^TAX[C<6^TAX[C<6_4-X/C<6_4-X/C<6_4-X/C<6_4
M-X/C3N_+X6YWLR_^C V.MWBOWV&,XRW>ZW<8X[C?^[1[N+[HA?<ZWN2]^LTM
M'&_R7OWF%H[[O`\/;Y\NA_OB/,'Q%N_U/,'Q%N_U/,'Q%N_UNZYQO,5[_:YK



M\T:8-X%Y(\R;P#RZE
MCWNC9Q!PW.E]?G=Y>'>^_F7.%V\8;_)>W4OA>)/WZEX*QYN\5[]?C.--WJO?
M+\;Q)N_5[Q?C>)/WZO>+<;S)>_7[Q3 >\%[=%E]YK^(-WNA['L9;O-?W\SC>

MY+WZS7(<;_)>_68YCK=XK^ML.-[D39C?"LQO"?-; ?DM87XK,+\ES&\%YK>$
M^:W`_)8POQ68WQ+FMP+S6\+\5F!^2YC?"LQO"?-; ?EU_1O'F[P)\R8P;X1Y



M3)C/`O.9,)\%YC-A/ O,9\)\%IA?]W' >),W8;X3F.\(\YW`?$>8[P3F.\)\


MYGN!^8$P/PC,#X3Y06



M,X_Z[6&\Q9OT^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ
M,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^
M1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/
M2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9
MZ?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C
M/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>D
MQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST
M^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>
M/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,]+C
M9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?"3U^1GK\
M3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$SH<?/2(^?
M"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF]/ 9Z?$S
MH<?/2(^?"3U^1GK\3.CQ,]+C9T*/GY$>/Q-Z_(ST^)G0XV>DQ\^$'C\C/7XF
M]/ 9Z?$SH<?/2(^?"3U^1GK\3.CQ,](79D)?&'HG(XRW>)/^DR3TGR2RSYV$


M,)\%YC-A/ O,9\)\%IC/A/DL,(_>80SC+=Z$^4Y OB/,=P+S'6&^$YCO"/.=




M/Q+F1X'YD3`_"LR/A/E18'XDS(\"\R-A?A28'PGSH\`\^ETL&&_Q)LQ/`O,3



M6?#NB


M>Z-U+(['O=$Z%L?CWF =B^-Q;[2.Q?&X-UK'XGC<&ZUC<3SNC=:Q.![W1K_5

M8-X(\R8P;X1Y$Y WPKP)S!MAW 3FC3!O`O/P_A+'X]Z$^20PGPCS26`^$>:3



M ?F.,-\)S'>$^4Y OB/,=P+S<)\$Q^/>A/E>8+XGS/<"\SUAOA>8[PGSO<!\
M3YCO!>9[PGPO,-\3YGN!^9XPWPO,]X3Y7F"^)\SW`O-P_Q+'X]Z$^4% 'NZ-
MXGC8&^Z-XKC3^_#P_G9WV17W=V"\R7OUG 4<;_)>O6<!QYW>3V_.#V]/Q7U7
M'&_Q7O</XGB+][I_$,=]WD^G^^I>-(ZW>*_'!,=;O-=C N,MWNN>2AQWYG)W

M$,1;O-=]O3C>XKWNZ\7Q%N]U7R^.MWBO^WIQO,5[W=>+XRW>Z[Y>'&_P!GTS
M.-[B39 /_ ;4\EC"?/"W9I;'$N:#OVFQ/)8P'WQW_O)8PGSP'=W+8PGSP7<!


MN,_[P^E\OMFM%L&?O7&\Q7M]WCC>XKW^WL'Q%N_U]PZ.MWBOOW=PW.?]\_[-
MS;M]>7[C>)/WJL:!XTW>JQH'CC=YK]XEB>--WJMW2>)XD_?J_;$XWN2]>G\L
MCC=YK]X?B^--WJOWQ^)XD_?J_;$X[O.^??/V_>GXOO 9B^,MWNO/6!QO\5Y_
MQN)XB_?Z,Q;'6[S7G[$XWN*]7MOC>(OW>FV/XRW>Z[4]CK=XK^_G<;S%>WT_
MC^-NYC_\O"H/+I '\; WVAO%\; WVAO%\; WVAO%\; WVAO%\; WVAO%\9+W
MV^-\4Z[PSV?OW]5%L^?_<F9V+V;_4'_YQ==_W#S_ER^_^.;K/[_>G)X>'P^/
M;S=?O_[V6WO]EV\W[^_WN_-^\_/N<'GUZM677]P<[^[L^'"WN?EDL9BV_WI\
MNKQ_NKRZ?+P4=+]-P7^="2OG6O+XP\JDJ`Q(UZ=6E)I?FOS2[)=V?FGOEPY^
MZ>B73FZI/P.!*1!Q]>=UZ\_KUI_7K3^O6W]>M_Z\;OUYW?KSZA]6\^?5_'FU
MP`GX\VK^O)H_K^;/J_GS:OZ\^ ?`?_W^R_=?O?_B_=?NGM+N">6?T/[Y[)_.
M_MGLG\S^N>R?ROZ9[)_(YDZF>Y"2.YG)G<SD3F;RGZ<[F<F=S.1.9G(G,[F3
MF=S)=%]Z=B<SNY.9W<G,[F1F_Q6YDYG=R<SN9&9W,K,[F>X+ZMS)[-S)[-S)
M[-S)[-S)[/S7[DYFYTYFYTYFYTZF^S1[=S)[=S)[=S)[=S)[=S)[=S)[_RBY
MD]F[D]F[D^G^XX,[F8,[F8,[F8,[F8,[F8,[F8,[F8-_/-W)'-S)=%N.[F2.
M[F2.[F2.[F2.[F2.[F2.[F2.[F2._I%W)],O="=S<B=S<B=S<B=S<B=S<B=S
M<B=S<B=S<B=SJN;H[G!_V2^;X0O*X^YP>Q\55G.Y$/HM_9[5^;%05N?'0EF=
M'PME=7XLE-7YL5!6Y\=<Z;YT]Y6[+]Q]W>[+=E]U%8JYL,K$<\ [U>?*^KQ<
M*`.F`==ZSA?2>M87TGK>%])ZYA?2>NX7TGKV%])Z_A=2_PSP#VN]_K:4^O-:
MK\`MI?Z\UFMP2ZD_K_4JW%+JSVN]#K>4^O/J'ZMZ*6XI]>>U7HQ;2 /GZL]K
MO1ZWE/KS6J_(+:7^O-9K< NI?P#J5;FEU)_7>EUN*?7GM5Z96TK]>:W7YI92
M?U[KU;FEU)]7_U75"W1+J3^O]1+=4NK/:[U(MY0&1L"?UWJ=;BGUY[5>J5M(
M_:=:K]4MI?Z\UJMU2ZD_K_5ZW5+JSVN]8K>4^O-:K]DMI?Z\^O]^O6RWE/KS

M5]9IFBOKDWFNK&=]KG1GW3V<Y`9DKG0GD]Q^S)7N9)*;C[G2G4QRZS%7NI-)
M;CSF2G<RW8-$[CKF2G<RR3W'7.D_3W<RR0W'7.E.)KG=F"O=R20W&S.E^]+)
MK<9,Z1XC]Q"Y1\ ]0/7QN=][O[#FROH<7B #I '7.AH+:9V-A;0^0Q;2>N87
MTGKN%])Z]A?2>OX74O\,\`\K^?9:2/UY]>?*GRI_IOR)\N?)GZ9JELZ'NX>+
M!].YL#KN<V$U[>?+\;3_Z/OC"VGUSS\]_O3X\Z/'=*&L>EY./^VN?NW&H_1[
M5L=IH:Q.Y(6R.I$7RNI$7BBK$_E9>7/TCM*+LCI*'W[=Q#S7
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

MLQ<ER]B+DN7K1<FR]:)DN7I1UC/U'#OO
MS9FP/I S87TL9T(RE"_"^HR?">O3?2:LS_7C^\ON](LO-W-I/3OO]Z=WA\J3
M9`OMZ>VY]G#Z0GJ\J?PB=%%*3G8NK4^FA;0^G1;2^H0Z[T\?GN4?7!=V?O?T
MK(D)Z]<_%_HM_9[U(9TKZR,Z5Y(!G2GKB,Z5=4;GRCJD<V6=TKFRCNE,Z1Y.
MTHTP5[J32?H0YDIW,LDV[%SI3B;9_IDKW<DD9>>YTIU,]R"1>NQ<Z4XFJ<7.
ME?[S=">35&'G2G<R20EVKG0GDY1?9TKWI9/2ZUSI3B8IN\Z5[F22DNM<Z4XF
M*;?.E>YDDE+K7.E.ION"2)%UKG0GDQ18YTIW,DEQ=:[T7[L[F:2L.E>ZDTE*
MJC.E^S1).76N=">3E%+G2G<R21EUKG0GDY10YTIW,DGY=*YT)]/]QTGA=*9T

ML-1&SH&PM;O;'V_*O]Y\Y?MP?(Q+Z97-I!';B"\=L9FV/F)+;?WS:*FM?R(M


M2VW$MT[$4EN?-DMM?=[\O']S\V[O'.`K<?WJKL3UR[L2UZ_O2ARZP#H:5^(Z
M'%?B.AY7XCH 5^(Z(K=OWKX_'=^[$KC4UO.WU-;3M]36L[?4UI.WU-9SM]36
M4[?4UC.WU-83M]36\_:<Y`\_>['[K*3,?592X#XK*6V?E12US\IZKMX>ZV/^
MR>&,%-]\_>?7F\N[_>;-[G+S;O-N=][<'!_>W^\O^]M7FU^AV<P.N#N>-J?]
M^>G^<G[UY1=_>OW]Z\W^\?;++[YZ/-X?WOQN]_']Z7+9GR^;?][\\,-W?WSU
MG]_]^^;Q^.G I\?;S>%Q<_-T.NT?+YO;PVE_<SF>?GGV^NI7G_\/4$L!`A0`
M%````` `SH:!-/ST]K8K+0``168"``L``````````0` `````````$,R3U1%
<4U0N0D%44$L%! `````!``$`.0```%0M````````
`
end
Apr 01 2006
parent reply azsd <azsd qq.com> writes:
I think that Walter use an char[10] local var as filename with out
path near the fullname[260(MAXPATH+x?)] with path, and then caused
an null char missed between these two strings when filename more
than 15bytes.


[aaaabbbbccccddddc:\xxxxxx\aaaabbbbccccdddd] overflowed.

only when the last d is an null char then it works or crash in
ntdll.dll
Feb 05 2007
parent reply azsd <azsd qq.com> writes:
I modified an excutable to expand filename to 255 bytes based on
1.00.195 version some hours ago.
I have tested it with minilzo_icl91_coff.obj witch longer than
15bytes and it works.

I was noticed other bugs fixed by Walter in this posts

hxxp://www.digitalmars.com/d/archives/c++/windows/32-bits/85.html

how can I get that fixed version newer then 8.40 cd's one?

thx.
banxian
begin 644 coff2omf_mod.7z
M-WJ\KR<<``+`05"*:F4```````"-`````````+M\ C(`)I:.<``7]^P%N^KT
M_Y0!+T3O?.;U"1E$`BG_4\W6T13^GF&< A7V"7JL:[3M5!">)LIQS\5'*\CK
M(D7^0?JS68]R!`F`;SIL7L54!=RH)Q$*7)^/4;F\9?`GV7K(.*)O"R):'?LF
M%LLW'G$U.ZK8?N(%QB+37Y&)43'2OBKVPN&>9K. "4OPK2GATFB"'5)'4-_[
M&[1CM6?J1I!J6]H8Q35!:1SUL&(DB(.$&;O3*+ X!'+5Q$O,LK7N7%5AI3CB

MWKOBL_3[X\G+KS85AE])01O<Z9NRXAL0.ZZO9ZY 0^9C4AV=*/'("+1*4OFL
M\.'?K_\3,)?I"2WR_UR,GJ2NL9U7ZMO?B0I\`9B G[$A$3]/;9%RF55\RF:V
M+$\+W-HG_$<L*HE!Q5U);D!)RG:Q::F<BIE3PU>NPIH8QG9-P)_Z$$_[`<%%
MX.6;CYNN3YJOO2`%,+UYN0:!R,&>I8X.\&(>ZA==&JB9530*AFME$'U]4YD)
M/*`4])H*[#Z >4->L7THDXI2NR`14:"O;67E50R0(O6>6LV`S_;][DP[VJR;
M9!\<^<]0S8O2&U%X%XI=1Y7<>,6V4AI88QF]M5DD:3:;8P:(-&[.7L_V"])`
M'\4'58;6XG4)>\H-ETNT'BS*J8(J5&[\ EEUQSZO=.8'I7,UAFKP_ZE=[;RE
M LF_=/!K_SZ )B_P.$/N;4Q/2(A->_D["T:HVTAS<+`!BWTS\^X&"_?NA+&F
M+SW]J*-B(E8>BXC0]PQC&RQ^:AAHRLVH,&]*:DAGC+GOKZ$%L5#C+4F3KJ4_
M0KJDD)&$O".JN7Q`M_U+(5!UP8:H8/"^RMYE%HUL!R\J&;+![I5GU6P[?3] 
ME0U(:S;\1(]:$N"KAV1J.22PQ_E(TSK!_'O"^X K,+T0D?H]M=PQ:(M]P3F`


M06W\Q$)YB?']>6+H9I,9`JZ-S"JBVE"RX)D*8`8I`"MMP0G`I_1&Y\?58/>V
MTW<*8VC]U"Z&*&S<#N(3?[.3"'!_,38C/J?=\&4&D'S^'<V:DP?TF%%F7*5=
M_ULF?..*"0A^V#BO97.)'P :8L*$\>/:,=\64=;?FY^)WX,YMX&]02*G%/,4
M\9WLF`A1&!35":5%_+S:D$!P^H;#G"]F%&M`#KI5C*5);51>N-?: >M1RAM,
MJ,MDGRK"*RKPJW8N.2\;;XUN R?;OG=:J]?]X\U!!<2ZW]XQU >K-2?J__'%
MNSYUT>02W$J5*6.E&KNIEO^31C5ITV^<5"T\,"<T:DG+DX]U1/\TNO*,.O(Y
M#N


MVYG8!5*PNTQI<2> 5`LF<E=LQ7COLJ_5M._"94/:^^!AW`Z'UCC_=+J69^V:
M%DM6AI2F7J7V./&7UR96N]2=RK`R'<;OMG-QD3[T9SI3.QA$__PK^+T^^`MM
M*YWC#Z!T!YOA8H =8&_T[:%%,!==!FD-Y(IT27X*NA(8.R;:$<%+*V&9!U0N

M^_,N]MCE0<WH$;6"CD=V#G;_0'W+BMJ2PU4H)+_<6X_!]($]];,G08+66FP>



M]'8(?=G[>$X^'7[:\.(+K?!%LR-BS $/"W2V_T%PB$&!'?86_0$I*G\6Y5-G
M,75]<HD \HJ^*T."3+7SW)1N=[G0 3WK#VEOX6I.E-H/<0G2D&'6A'8CB,<A
MBV2O_%:%8]9%5E6^%.M2\:VD3(6'"_&V`8?51CU3H2=OSA-[Y4=L$YL4$4;<

M;;?4DE=\L*6CCI`U9KT;.2 W2I7AU(8F3 T?!3L91XE(?_Q(P6$WTJYK':F5


M.EEY+[.B^81]%0NE;TGQ>("P9_[#TGL.U
M1&')AFY'TZ1*"X<)DS%QJ"_%6V'`(B8!3<5&%BP^'NUC)8N;T]=[;]QIGB_%
MINMDD?5&9.--OZ)E!>:4JOO:H\IQD+Z"")YZIP*'`512F/ '"P)?GA9WM4P`
MU``M9W+UZXSH)OMWT:J2^0&E"!2E1'O)/E&[;V!3;ODBJK+\\S Q>%>U0/[<
MJ88#H9DV

M;O4GI\TP<E__FQI[W*")NIE]'+%1"=^^H1H5]9/ROF!5)4\"D[Q&#Y\\%+!>

M8V^_4)6:N6WN9. (4'*MTA92H5/U1`?VD=]!P!KU?QQK^'!E=:W^]&Y<=G)1

MMJ+Z`9O`/T7RGU5'J(-4T_9(-ES7UJ\04)>T_:)2GUE6ZG7<>";8E6ZZC+H1
M6E6&.SK<V_PL7U)L7A'T+$]].8AKH],[8M4\N I43!T3>KY'S7953=[68!EV

MMXY8:XL]IZ5Z-JTNQTW30"R:-Q?8%;OS;2D#U$!?.`%C1?B,'J4<W%[0N*W\
MY%F,K1`M14?H7 6P[4S\4);)NO.Z`.G+X6R! -S=24/ PVGJM!^3!R913(2D
M,M+;$J9.P_Y8VA,)K'[1Q.K$'91-W>LSH8>JZO9GC'TUD[94VO2P;/7(+&V.
M4?:LA#W(8*K3GEJA,5SN*,*.T>FZA^VVV(0C\O\ED<<44S^Y(R!]H,<XGDY6
M.15#I1)=3R Z4L%*"M`3JI.]2 _DJ"!L*VLT9?$]):Y/#Y2HDH2"IIO5XE5'
MVEFW=0%SM]4.,!ME>VA45>-9XAUW U#E ,V+:9; 9;:$ECZPC1\EOCKVG-6C

MX6BI=?12#JN7UA:%T+OX0F[)[9]O$C#UBTCT1NKDS%'L'2,NUG^;086$EI!_
M^_ 'HS/?`U/E4'_,*/8G%'%7<=B38) =;%>9A=[35R(%QWK[4<X*QNW6.5C?

MLG$.YW)A2GKJ:_?86KH%DA9R.I:%H(RWV:LU$& -+.6HMC:,P65H.56 H$$F
MR3++)ME1**XFMFQ,XXO 7*T/3/;?(Y<]MHB^FVFS,O3RC]BD1!.'7"MR^6=?
M_KH.P8L8S9J)FHX2J=?OWFP"JANXRUA\\+L;9*B[7:;]N^EZ6H =XRDJ95U?
MS4>?.G;M:]C^)C)?JZ.'FHCAO 1[J=?6FU:L?XD(` \#H) $ AF4;/$XM-JQ

M+X=3=>S0283^!0/F/`(82=!L?,0=:'5X_$I*/BJKXOH*J;] ^*%QP"%<1L.3
M9)O;-GK=;`-R9PW?L!KM&>FMTS+5KXXWL`=GQ6U4Z66V,(P3\Y7QOV;&[9-4
M.F`J#X_0`4/#C
MT,R2LMACY1S8$2A?TL*[K<D=P.R:.)DO$0]EHV8U#WAI+8ZM9V6>(*OH7FY0
M>?1'1T,(,PM$QE'DY'MSOC!2T`R2,FQT6-I^_G558D/EJIJMZI-O_,O&ESVY
M&3GG2$,9A34.V?Y/C7:+8,QAFVJ8HZL1;<S6R*-_K<+PJ[``5F /P5 $AW$/

MRX0R*90HI).-(^(>: O#JYNSX$-J4VG&P26FB`$/IT;>M89XLRGJHP!*QP21
M^!;_A3#DHTC
M&;`M1!HDD%UR30E*B<?'='!ZEDVOHHJ[Y;JBK52;Z* 7TKXW*CC*K^'W($-3
MIRE%]K47N],%JP](WD&<[O4*Q:,PL?V "Q'NH(9PEHJ?P]E=_3ZA%\$9X]CP
MI`O!OICV?DLWAD^/"&SAK:MOE7/H[%YZD2B/('`6;(MLQK-O CU 1O/EW,G1
M7W.[M_V<L+KPOB.Y6B`84CMIV"T9B8"9(2"_5%\CX.6I94VWZL<Q[1?;=VP3
MA=O+7?F3,CXW3\$8P<>)!Q:BE>S2!,:4I%MO6HZ=!;`%%M*!+;\3:,3CO3P=

MY\,.<2`F0BU?SFZTHH6/F/0N<RNX+JR*=`99O2GZ=AU3&C\Z<P4:P1B%$CSX

MEWPZ<&LWCX4MUM?YPO+,NQFV:DO0AP+BIE9?[T1U="`T`FP(4]OK0JZBF5+7
M`?>[NIZF^\])(\-2<!+;:-=BR.T'YX2/>`'T\ `MP.!C3<^CI+"H).^D]$LG



M!,MKQ?'^FI8VP)=:>^][*E:P705TF`P^4D:ZFL:^WT+SRP(X//E2GW8^ZOB^


M.>JN>YN,U]#E

M]EC[:;J<)"%,$-IIL*C+^-,6>[!5^,'D2,IU(J;V>U\> J0K=_1BV4"T[25P
MT'4="M[58%NW&[?D1Q"$.CL)/,.\)`)C2C>=PYD)6S+XP2P& IKO RQ4KV0>
MTS"0C5+U\%N<XN/"2H%I)ZYA.[' ]?Q9*<XI01+LAJ\8*"*(KK`W$NE*\BJ-


MHN#US

MUW[X&PE%( !7K?-A-M$'JP^?:?*)44T9`Z\[R<;^C2Q#L3!MJLZ9V/*WW:&R
MYKHILH5*PLW M5-_^B5HVQ*VAO5D&^YTT[O`XT9+7`RT\L0`J"$`F.'/+T!E
M)LLMLM6_UC8KXUN&%.5*G6'_;XZ<-47?D9>(97/D[E:LU8EW%26HF0Q"A!N1
M`!2ZJ*99W-6YIL<JU?LWE2-1SIOA)3Y/]'1U 7]TO?T)E>`T'3J!R*A5PBFS
M&])^:52C+7P=GU8_+U"Q_SKZ0S])%.KO 5%TI.KZ_!-"MD&\>IV.[`+'Y&:%
M64 (V5,K)`*^TGM!MNG9G?5<UI4YK\J[=S"YO2B:J1WSLVIIA0/6<<<%5I:W
M*)66^'EZ<,8XU6C[D^<%"_-EXIB_YM`Y?&L[#C;EH"=ZNJRZEOR1!?%HTC>B

MLD?%'[ZM*$;OZF:N(::)ICH'KU%U2]G%VO1>'_R>6]>^TL)0W<X5Q4[S&1I-
M03X;E=_R?DK*70PCTEG++7M97/#L^B +\Q[4#VPU*PVY#K%H IW%!ZL-5N$`
M1`B"/FG=Z2."TKVL004B9YCJ2!0L-K^B):WM5O!';?6^.JWF/^:E=? _ D^ 
MA*[9Z.9<8"(T_B\,>E\?,1T*?;..U< F%NIV'R?YWCB%<^2RZ&I^5>BF5_<'

M5)=0#K7PU_9EM1;< =S8)(RD]73GCL' "`?7V`4_9F+2AEKZ)/0CK[_F>.D>
M1'N_.SW]$>%L3H5B.686,<1.<,6M`8 423!*Q+]]W^*%'(9OQ/( ?]Y$[0N'
MMYR"_Z<-(>G2ENK6U$/R+^+^>C5GRB<AN0N[<!0\\1 P&CJ._\PX]`=O"PF-
M9 CKYFW_D*N_D!F12Q==,7H#A<53P!;;TDQ%I/!\G%V`?U12;S6HD;7E6O;&

M&#F11-RHCRK$I:)$H^=.H&YHBSU^T_QP%BXM5K45C.";9++"W.V]CC]&J2BS

M682S7+>-#A


MW?;.'6+BEIYU*6Q*=*"C:HI7I:9.+$/3E:N?IHXZ>_.Y*C>G-C(_-Y[_O'8A
M,]JSO)AT:(1E82BR'C\-ALH+I(-D_AO^Z*\8L`$7T2" ]%BOY8$F96*HM>J=
MJ+FRVIB/,(4W_8Y7)HYZ[??$: VAQQ);`^_ON/;,",L0!EJO?=\6LY_[^DX<
MJ,"Y$RV^6DYU2^C\:BT_#CJ_+0WN>W'?URRY'4JM?U*S%53O[-_;J.=R"WT1

MW*A\ &H^D /?F&*!>O\H U^UZW271(7:;6W6Y"H:?GP?/`-XUGNV.H1:BGC9
ME2]3)H*]^1,E.CGL?]2:A=(;=H<1  -W B0/`L;;! BX6 +SZG/P"?9P61'<
M*?02S9AE]:QX,-/_$W3P5A"O'F=V55CY*%";8+ETWMQE"(;_L<.J-OD!6R3-
M)(X&C7?PW9UT,E7 Z(ZT&1!BX8G-W<9-^/AG6ZH?^!B2`/J'<Y^9G_52'+/N
M[_&._483X]"_!5YQM_5_O_ 3I&PCR!:,Z:9`!""31J"!G*JP'R)S0U83Z<M1
M_`(^:C_JL&SP2;ZF0/)=]0U*MAO,%ZYG4Q74`(<8_TI<7S;$==ZS 1256"^L


M&S0Y%%Z^XFBX;EEAD>,KN.*>=P9ZK69_A$1D,C.9"Q(F1?(M;&*S=+60F>I]
M+ZL<.R?['^">Y8C^QDO+"WIU+[\7NV4/T$^G?RW/ :'.Z`F9+-5C=C`BU3C6

M'0TZQ[4J)^(1%R/KT$N+`5V0)?*9IFFT!3-/?R`PG87DU>*:4,M-1YCYF^*)
M=#GE, NE2\NZ>,<VG*= $<04Z`H*+:R`282FB(!'J2&*2BC^!3OT;DA3 C 8

MB W9"VD\4E.RAJHO['0_]ZAS]PB[0(9LQ)"9!%;#L5\Q>YR"BYF#FGA8URA?


M-IG6][2%^OC9&MGU<DRWN'\^/Q%E3,NBWC$6-W;B#Z3
M6QX)%;53C'57_. /+<OL+0M'=!%NVW%Y>O#N<3($3X+IE5M8-G7<Q9K4.+GJ

M="HS.7I! +HT/"_"+&:4>J<WR?`7K(CY`QJ;QE NKSR"\B^_!NG6FUH7\1_&


MK(UD_!"8JA;5`4C LSR=38?3_^5+9...HL-7>\090I/P+Y/"*01!/OO,>[)Z
M08=I-`>YG8^>W11I9X>;35]W\!V:1_( MTL$XCPH0I`&FW`I(/ZK`;!Z]"X9
M!SBW*6W']88QN!#E"P#V0P8-FU2^FDQN!1G;W1^1LLT;]?$Q&JL>3-68JSH5

M:WJCWNO>2ARIA3 \W7U5](N*O$<1=%TO:IP_=`?`C<F'M25;-9)X>9A5I-8L
MV.;J6]\RR=I,)^ZIYWSO6$"TODM!>`\?VK.A8`MD"OSE>K5._7*VK_IY#MU$
MN<X6]A50$B28\^Q!&!)$-[%:(?6]EH,UZ6+))T_<RA.,%R*>X\5`B,(G.JO2

M:,0U6GG(!5?_>)4W$HU$WKXWPU%&O"M]:B_9G807&\JCD359+IV0`4](*6M<
MLH^CN*/F$_I?=U=ZW8;.EGJ*47<M>`R-E[`G?T('S(,>7E,O%N;'><%8`?`>


M+8,P.BP8`HO7N=09O?U%;9>.&H &NFM8A[^A3'M(L3_PASCS879&;$-YYMF7

MS =Y(E[Z7<9E`0=I>0U0\OT.W<I=>GJF"NQP-B\B`5]*J6,CGTQ>OG&*C/DZ


ME(?:.(J5/YX6ABTO-#J
M=FI!H"%[IA4'&GY+-?B15V'G GZ'<WFZ>(.B63.D?5&XTI6B$+JL5+ND</H_
MXHO:$)G.I+Q_(XR>DS[ESVN' !X5]+5V"`_=NPB#H>&1+!G<Q? EI%F[E2XY
M)R4V"UG\N(KCW/QX\W";F/>B'EX9".4<\I)"]+)E&O,LFOTRZTGD&'(_UPV9
M165SV-7HY[]\DRDD^[/=T;^I>DHJA :Q#H



MH']**=[$F5;BA<_8C]F=]*RIF_8A`;&/(<_..'+0AIY([U/WIVRUN;?,+V4\
MTFR1=FJX_F,02?A\_9/`&$VA!-I/"!IN08(YNX8`:\S;!RG3/5-[`DKNGMK&
ML^T?9TCQ7>9$,VI`?'==4S?>=A90O/`;$J_`IN/2  44$9EV7TFO+1N?)59_
M=%2HO08?7MC1*<;-I 31&8SJK(<""__DU!(K"96T$P%/6^ Y5$>HQ5%OIP>\

M-8WVV.)OTUTX!<RZ^ AKZHHI9%0W 6*YFT6'SS^D+<JF6+J=%$&TINY2"+OF
MBGF[>,LXZJBZCK"8AAI+Q;WKJ HAZKPAURJV&CD63D3Z(!'WR"3[S$_;[(=3
MW/4.&1,K87*>I\7M`"#QY0"26SU%?D7D832W_IY'KEM788DAXFW 5",4^6,F
M:BS5X8'E+AC6!QX(6#S;?G;I?JG+!CP)D_JC'-H>5O1[$395)BB<<W]'<"ZP
ME1Y0OK$NLF0<(_AJ?4Z,LDZWK`:<AZA#D
M!8)MZ#Y60\)C*7Z,W/.P,D05P_0<WP=W<_!-*<7S^$W4V<`\9$A1VC_9^PF/
MC.;P+O%'7Q;H215D]PXLDK`)0FZF"59'R-65A1ALN/-73)%EU$Q#V2<Z5:^^
M\6]->T$07B?S8 2\UI?W"?2K1[(6)[#J
M/+E]8GQ09GGL`-2],7S=G[YR ?Y;+\%^-C9MOBF;J/+Y,!5SS((<-&O2.L\;
MA^!*RK42["^A(-(&FX=>AZVGJZ`VUK=]%(4`GJ1I86*H-*XV*8<_B+Z.-S[S

M'+9+'FE%XH+(Q!/:-'=H_?O*6EU2MM]YG7D)V20L:N)FORC)P1%9SY9)1Y'9
MLOQFT`RC1XT(($ZN"D=DTAB5W!HG%/;+;7I.N946(-9#O?7D?7 "X/-XX$ ]
M,B/=7E?2$U-'HQT"O4QX&X?LK8BD/QO-HZ> `>V4B0MA8(?N%V;GP%PUL-AW

M[(8VXX6BOXN R&#B
M7$9WE6$:S7.GF'>?=1;D=9OPXS06\^HF+W1_/9Q.R$XE95JK?H]-'.$E,E3 

MK5=82G3KDC+;A`->+R;(]MA3SZ=/;%UZ5P'310Y-,8173B2F"W'E%S'9^N=V
MT,N2"V-O<TP`/JVT\/>(/R8-#M84DQ\I2O[\!OJ;-M%.X+&*^ZW3HF>Q#B7=
MH2=UC_:ZZKE1XSG;J:L+%8U38LH-F!ZGO%%^5*^I*BDIO93HO?/VLP`3<>M<
M [5`;%6<W/ZQ(JS\VCIM_J4ZX%^TB `E(S#P^I)N[JR4&0PN3DRG^W\SL'+X
M?M2K[59H2([%;/5D[&0U9L3!IB_M(5,7NL 9FPW`+QH8IN=Q$6\]*MD4--P(
MI>AU^&=.E131.N:IQ.QT]:;V5]P<OIQ/)$=\DC_Y(TW(6`4"3]4=(<J1T`0M
M[<R)\FMP>W7[R>P4K%-G*03[>MP(JR^_`T_!1QX9AG8>+$J6%77\JN]HB_=C
M]'-W(CTOF31X6P$I40_::Z.Y4"AN( E7+&/RMLD9OV<O"JKQ\LRR BW0QN*T
M7&;/WXK0I,0 #D&V+953Q)>J.Z5C$P[UIR^LU2_5+L9\0 /S"GF+07Y3]`E:
M3PJV8LZX.0+U["/>G#HOD
MY6Q[!2X"P  ^Z:'8PYJ^$L#Y-2FH2\3L4 4>?[HEN(OC+"[45:XB;OU ,=N 


M;TW>T:VK+,Q!-5#B3;+5SNV!YT#O!-`HO<%WAS9.KATO])+00I91&.PBL)5Q
M,64U PUQT'LH;H(_[LMIM_65DO^)06<AT7=&O3K-9.VSX>NGJ>'!,$DJ)Y6D
MC_U_N*V5AAN99TB?C`[JW8TP\:-[PJVO"19N&6W9M"QKJMQ0^TB\ FT/\U^ 
M]H5C>#D:.,= O^X=V>RS1,BS>01& =YL,DZ8-M42C(U#WJ>HIST-(0=592/Z
MB:9$&HWOQ`/)AS'0Y?+"(N)EBFF0M7YC]W%G2XD!/_SSRU-U:H^R$CVJ6`XK


MN 4JK'7?Z.7HNGTX#BR3H


M;^K%6R&`0M/WZ*_W4G]::=+(<A(J_J4S_$L_/:A>=PGHC:A'<-\TMW*B F.8

MNLD,\NE"+1DC#K
MF=[1FCX1+K`3#S#B'"0U>$AAC(27SH3K0I)(.E_%2[H- ISDZ\V;K+O&EN_)
M`3UT]/G("V=6<J,\+Z\IN86-9(E)QPEZL6[M+$QZK^W\3'J7R +/K='+.DE[
MLXDTXPQAB$\*`MBVO;[]-EG+ORL^HH84V 9N!4\CS]I?],,>W'W/S)9!3-E^
M+0S'*)61X730$`QI\M\Y_R7;IR0>E6UB/SSQ'3PIV^I 36Q0OEB `JL=22XK
M<\COM`P0F728NIJW:JX1[SSYE<SZ=EIAXGPTI<+BY*-4:&NA'_OS5"'+P:_Y
M]_:L>:T03YYP"!$/O`W0EDA+/T\9Z?,(CM QOPRDTA``C'5Z\ E%\DPO\6V\
M]=>,!]7%GW0E!1N!%>"4H8+BC!`R^H:(%L_.DL%2:%S,5=[U5%]$`S.=KE#C


M'G]?7&FX[YG%$413N1HN^\,+%! \YUVCT>E9=UX=>XC'H4C$&RZ';[V^GI3D


MID6!11`13PU\+%X2]L,Z_]QT4*M:;CNJ%[J%4;0I>B!(QQ>ZM87AW4K_-?;L

M08\!+,Y=T=:FIC;,\7T[84$,`V\F)_E%<D/+J7B7E/M-&#DG>V5?*KFBVL;S
MF90\:U&H-#GY?0`)^G4/**+ 'FF3*=.\">7[0]\!)(K-TQ;-> B=WY4*7=C8
M/5]DY](I9AY ,!3=K#SF0,7`DT:JP<^4>2!-X*BXFJ+)PMG4>T$]2W83&\9N
MLF +`MBD(6S0,!9V.I5B'0*B]O0 ;B#S
M+ ":N_$&B=0&2I3^&P,7$D.H?O;/&]&EUTLVN;\EX^^;&`P-_>T^=ZE]M-'$


MV5I')(!#L14L3-L4
M>`3.=+4"\?+O:LJ6DLQ!LN([PT,T1E9%,/1H_1]F0,>`2YFA3DRD8;DB#J&W
MPO*A],`T[^0"EZU0S.D*SG3S&0(RQ98!O\7?*NQAIS:NLKE-3!7N.2+YL%SW
M_N.Q:*I6E$7ZL`P`<-0U?H?AOG5%P:?D^?S`ASTW(D,KA93=2]"DYF+H,)FZ
MO*Q/ MNQ/<46FS:LYOM']QCNX'Y_0FVN%_>CJJ%XN=:E<2P**1 I&>8U!"?S
MP=6]EVF'U$B,%>0G\0Z5/'2\M'B/O6SQCS^820*!N<7B]4=G,*^.IM9]:J[9
M M*Y$UB6>=0(`Y4`N`;7(H DG[^,*=I9$-LH+WTASM`'.Q\[Z-CJG([1+0YD

MZ/K(W+!^P7;!LTUN6#U%UL?.K*".T?/%V$K7WR)*=FH8?G`V\L-OG8_\*4Y5

M14VG"8AY>X3>`\=6AH<;S(;2U_N9U76R;9;P-+0E,\7!>XMSD3]F8 *RH,D*
MB\HR<L0HQTPCUEKTT+ ]_;A0&&NKLS R(];R VU`\]H!YE-]XQ*=GH+HA\[<
MH((K,]>/Z=\/G3B:<'5!7&)CE8'FE ,SX=.B>%;\ G&.M(SE#UDO5]M)86R 
MA`L4%J$QVGC4I/*\P734]9&2S:V+ND6=P8<*&*Q3)//2;JSTR' +*\^,$AA$
M/* SW*SW/^(.GMG0^]?I(.8N&2[4545W<G&5Q(O,&\K7YOQPO*+U;>O3&8KD
M^/UX^P`>_GVZ8]QY:9J9GY5^F!,9JA[7VU2G&4E[PNA*[>+<*=B23``%5;88
MC?#F
MKL_)=#U_XELK^A3VEA;1_1-'EI\IZ3^>'(PNL"8#J]4;L)&3TIZXW=8>WC[?
M<UZZ[6K9Q7%=NICS?H+!C:1YKZ %$))W:)6)<64^P]U"DZ;XGZ0O!:],?M 6

M+94L,I>G"S^=[C3F)50G8P:B<6`7YAV%P7 Z-?\MRC*<,-V571O](W2Y'E\7
M]K9YX:_L'X-72=OBK]("Y%TJ,UZ-4-=DF]=N%K[_?$LW0IVSA2Y3](BN.]2K
M7F-(%G#N;U0LH+>)/O"LK(H!FTK- N6AZH>_MV!TJ[-?'M?K`KQT"NCP<5RX

MG)%9I3,!DW9JM$E^FNVJ(#Q:R&(%N!:).H>;9D5S2YS7GPTU(T+-,[IQTGCV
MX 6OJ`%4]HXXPQ,RK'D6^D,\A5?MG0C*5E=IX.<M<V% HQ/1CW3<QF"Y*SQU

M\\2AMP6AO^7N4/>4G*0[TTO^,]64$]W1?"7",QRPG3^HHN,2!28[HG\'`$I6
MRNQC30ONJ!9)8VY$AKZ&EXCHR^V?M)Q!`/A]^]FK-`WUV=N$-3H7H=8N%(>)
MU*GP9J?\ YOALI_SNH(%>*<:I'X683A9,!V48`FU6+\FP<--, ,_<&;YCF8A
MK3WS11)Z-T7?1AC")#N(TFM?C'KEF.V3:< UQ69#D[T75P$`NHDRPTJAJY(L

ME5<M3]4TCB:+9P'$GS^9=3"<"^C6J`7B[OJ[[7%N<QGH )I+0F!WQ1GN49Y\
M"AR/_TU*9UDHC\O`=GSD P(HS`'");01?$*'#O
M3JSHN>;%9KC9K:,(NV)E(+9 MZI"M+*!$<]/;%`<IH%RI9\IV687 ::M$I[F

MUFG,W+7Y:1_'K'8(DFBX'GUK(K9CYM/JR`";150P;XC5 `U8S!.O)OHB)K F
MYZ_ 66RS]2WI;0E4433^;-:IV/YA:=((?QE`AV)D:P1+_WG;2DBJ32''9:*,
M(+H8IK\#O


MWERZ537YX\?'-EOOF7\&2:N4%R%+V)N'7JB.%*:G=D7:$2E";:%I?MI8A^O7
M!'0*$V#ZE
MFN_<-#ADDE U$XD^WT(CX6=.21U!T.K6GG7?%BY*AKP\ES+4THZ,'#O>M_DU



M["2-*EE-=W9QC+ UV;8[HNT" '56P=]%VD!04QAUBWD$--*2J7(=?M60!EI0
M/H*=G"]FX:*%\[`<Q16P/XTK<HI2D/L5OE0&!*N[F3)EI[9$2+%9>.3"-2],
M/)>8GJ%%(P4E.:^],W^SB(7-A;]'(OR,&GJ.MM":"D_7"Q([5%32[0\\*HC^
MMMK&\N3;,=8C)8,7M?(!/H^P]#N5CFK6P2ZZJTBF+*J?U==+NJN/\G?J,C9^
M/99T(78 AZ7D<01&H`YQ1YKMF-)3W_^^N)OD!V!?;)6%<H+.4V IR<G]QH.(
MXE&A.(?6)&O**\OZ[8$T1)\4I0"ZSP^SV2-,08Z_B'0YHJB9-+0`<] _'&F,
MS>!2>K;X=NL_,?'F(I10K/B."LMI%5= =(;"QZQ1^**6[4)O94]+?_<SZ[J\

M&W!4ZU*A:1W-,IZZ=IP-YNM]TT:DJ/0OMVIAX8K37";M:8K(G37J7H*IL\V 
M(J$)73^JD`XG&<3QSOI49Y"P_V]CSTS;B;(J(_[RU2,]6"'`/?%23,.?`*%4
M\?0-5-O.-;TF1Y5Y/9ZD6=850=N#B'E#MM DI8ZY5 ?&$V?'RL>J<%0>G(!2
M.]EW>L%6,<469QC?8`&:O][,%_']=HM4/M*]"#V:,/IJV&KY]WV*_<QW`2/W
MXW*/ST(LKS;R/B2&0R0#ZJJ2D
MEI38#F1( 3HOFI<68&NBO[KR=O4]_3[,P$>E;M[HQ.Q6CZ,PHE'QG1.LH$,<

MZ"N.%$\K=1BX=&B.02 P1-0.1WSB$188*Q#BI+9%F5CROC#O0N/(87;5_OYE
MAS*_ _]VV/UT%/4J]%S2ILR2J2_^,B#G<K\8Q1N4D<+?%C%I%&3?.ONL$-`I
MP3-HLGN";`4B&&A"][T%T)>SM3)Z(>#ESC,)WJ`H)#YLP:9Q8HWZ+KXCT>WH
M<E&1C)7O8;O7'(IKQ^)6E4?`V>2<]N3=O4<DTC?+N\-'ZH66CSS)HB1J37MF

MQ%N0YCX$?EUEBV+MR$"S'8-TT/P.$8+_!'_$:?X.G*4LH 1F5:V+Z=&]'( Y
M$OOB7'[TF4C.#U?=`<!4DS2^*CWV$EFR8[#V$`^S^8.(:KN4M7CUMP_);EJ`

MP!V>4VXY,^!77,.H\LSM[HS<P=RQS'2_70&TQ8WJT_3E*EU<E7"-RI>YO74A
M,RA/"=.T9U((`` +(.M:S!G_;`2T.VCMO4+3H4!G_8:F3,/!VCGSD"C"0UOI
M]6JN9M55-A:$3?6%OXW1=:GU7\CFD_"B;(X*"O \6&YE%NVX3[A[[504/ZJ5

M7"B>FYPJ. 5DM)V``;KS0EAWD:`TV`Y$#TSKT3U



M?2,W=+^ ],F:P&4(,P[<:0:?G_O8#N0]P/][]QOW]2\(D[IS,CG]]](HN/2U

MG_$UV`#RC*RH=J7T72%.'`U[63M*-4 6LGL'(UTNK\X)8-\+H<[*MM>OW09P

MALUUYI!Q6O(D6T&*KAES\Z[P96[W_H,C)?Y7LQ]0>-.VWVH&"^=',Z;HQRO-
MB'`YJ?B7LV`)9W*WH`QT`S\1"'(CC9`,(>.WTC4<>]!T];R5:48XD:./Y0S&
M&)^/,S<.G0:U:)(N6?+ALC43AUQ/F'9<TT$VQWG.?J*ZPUB("2>)?8ASO2"*
M<W,_N]>DJ/0VP0-E2O"7R/Q F*T4 3EKJC?G\G>U!`O5E #G+9W:W:GV7"6E


M$ZG;*U6+/+#OO

M!;6ZHL>6K"-/5*4FMB\XF(_C92<VQ+8%>Y]!BT=>W%U9]A)LRO6/\K4_XTUE
M<AD))G-R:EE2R35))_W%4MI=.AJ[79G?L):9<:/>K&UK[['80.B??AE"*7DX
M^_,*)'.B(SP``R+*>_K?0.\T?-"4/;G69HI2U52E1_T%)^';1!>,R;SQ.'=%
MM3!K".S(QKLF363C8W-1]2?IFD`I%$)U&SN&1=B&=,34#V)B:86^ F5RI3PF
M[USF%7KU[E7R^I1XA4H>C>!GN+IG"<J<,QF\HA3O?9>GJM(_DF_"VC"?K]43
ME_$5+&`'F=?[R`\R J'EIT+/$,$J5`R?Q:J<-(7/&1*=F_/2K>3Y1,7M70J;
M0*D-^1OC5IW,^&;,V&%$"V3D8<:B=LAJ]3/(R./CBSTN<"/B 1BD$Q8$4>ZP

MS'Z BRUQ-7I:(G",7.[4WXK&X>13^(7M!!%`_2='5$TAN:L/>F4!J!7X:R.\
M#XHR
M\E<*?3+\5T3[<7[4`#N
MW?91-D?S#Z:PT('23B,< A1(;8++81I1'WC_2`/\2UO2!B`\1<M%$F\G\S0"
MK`6^%0I+=SZ`*\J%?^) )."N`S3HSQPF5O%4G^$OE1"UA2(NDHVI'"<"70=;

M%DEJI ]P)0U]D.R9T=L4)RZ;:#I J/]:8?9T7T<U0Z0)U?V+RBJ2NGWFV5I,
MB)$\;C( N((C9MBTF'.2;\' %IR7'7A3H<EE&XLU11M'`&8#I+LX)V6?GE/^


MO1(R.L'IU?PI0$>/)[_/)UU&U*O4FQ5(US\1.<5OH_XUI<6[_B.^I7FM`\6E

MWV.D7#M(BH]MA($L0E6W-9G^XI8.ONV7Y81=I;:BRB2WMY&0\FMWYJ%%4W21
M)NCLA_J!:81],(>_:A4DD;<D8L B!N(+ MT<\(GS6*63;[L"*X,RU>")]N1&


M_( U[K7?VQ'GX5JO:^CJ74RK^E]DW[!\7<&;Q=()?$&C_';!<8D./P;`"9E;
M9X/NY"XS 1KJ\[H`(7^=B_.]C%S-ISQ B*!-5/,G7\S3!YKO]=[?OZ""$,_V


M.XX9]H]38FIB&`V/#C-P,=LK/[$RVTY;'8N*(-[,LPKC<V3!1Z!I/_;'-292

MG1)9>??9NL4[[>],\*YMO):3D"*X.!//($:`J)TIVYHB5BGP\Y!G')?K.OLN

M I-0E-/L8D!XO[`H=K]#I

MR""T(N&M-!T<02HPO)6$(0`'!%F,A<4#X?JUZ"%<%Z%!1TYG$>*A+`ZC"1^D
MX:?]%,R.G4:[-J=674Y[A)I],&):7`U9%/#W;2Y+J/GA(\TO.X8^,O3L4(]4


M5FQ?IA*D:&R/VHY'&O3J7(P?[+-Y`GJ\42Z$P5Q42LF;+_]Q$Z1I4M1B; KX
M;_B7K2RH46UH.>-6!SYG^W(EWPN"T^EP-%E1_/R'F6V4^,8FSQ7QX$!+BX7K
MT618N/!];PRK3W'D""0-=&U96LD?1I0H0J$;R4'C,_[I`<&]JFLPP$,S'1L 
M<,C$$%7&!\UU">&SOE&-ZMWCREQX4`B`,RNQE+60_KNCYX;7'OK8`IX78:*P

M;[NM:SIX`; ZRBZ9& .''6$F2WY_1&T2T\4=H\`U^D5ZWLR.BD*AK RA7Z5+
MVH&F8.$ ^K9`_T5? ]ED,BN!;O0,:<':A+2L!I SA9\BJ^8&6LL .1U3^->C

MZ6SI)TW-1.\HIT]W7:4 +[!T-HMN"7-HZI3.3:Y`JZ'B8+82HX5+<4GLZ\`&
MS%YO2#W#S7>]<4;OWQ<432J491EV< 9_.J_0S"=78ZBZ0'C)*_LQCCO[JGR8

M;ANL_]Y`9F?%,X+2Y7<3L6`KP`Z.-9K)`_^)5_0=="D(>;JD=C KC5K5W&3A
M\(#FXDZK
M]%D[TYBN.X45_IU%)-ZK_S+/J-YY4N2WZ5KQV7IA9>'=_\QR/^JKB=#IK=E1

M_7PY5_8":-*3IT*FZ7V,%Z:0KATZ$EK`Q"/6I$210[O+C J+0G!W\GFJ\NGC
MO3!\?_M+K)+A74O1P,7%%`]83G[#M[%GANQDM"1+YZL^EE82:."GR/A&.F- 
M2V0?Y76+^(GZ44. F9.U%)F.G<H$;,^R;HKRV2"HNWK8&G'I<'=]Z9&K39.;

M4F1.NXZ.R]NDUF9<*$S2S&X!&5$]!VE%/;)SG[GR1B,*9U=HF,)N`GJO=_D1
M[3#G+P `9%:IM,W4ES6YJW?18C[_\E ZFHR <B=39HHBR>LEV=110ELE'%-&
M'`!Z7*AE!HWRZ34_1+Q<W`F(QB=CG_9=GQK^_/EF*;OD4?.BM3TAS\K=+XJ\

MP0IK5FE:",)>4:Q5F/$CX106LE.`CPTW,3A40,4O4H, 4WY[X)F?`T+5:(.K
M`[\&K' B3%W7B:7B)ZXKGE7-.A189BJ^_Y'LN\E&JHV\>A\*A1/(UX4N)5[-

MONS.]2AC/4GMB43 =_'4NGPRUX2]&9G5CV9T,MV&N8KJ.!CRNU\P%\` FPFT

M8^\?<^+&60ZN".#E?N*/QW;9<?73LRA'[>\%CJ63>/F\7_B80T=A_GO?S"$/



M2)<*%XEV%/Z+.TQU(MUFU)9'1GU?03Q1(!&'MQ'.K+VR[OH#B/N"A+QDBD/W
M&R4N+7EZ,K?8A]-LC')<"S/T]0:."AP,?D>.(7GV5>408RIV?+J%]4$W$WJ+
MA.'V'^9J\YVYK_"Z;T3<\1HU )HL#D:8N_>M6M2YH[<"^-WE^=HD"5OZ]C0X
MX[K+)C;8+P=T][:%HAV^023>"NDD1#JF*)%W41EEH2W)K!(KJJB_:2XC&DLJ
M,++N5%F]!'OC$:T]H*.GW1.4_:$ZWU*->4N"1OH-"_E=>>QV2?&2U1EHICDJ
MG&DR$'-BMP\*^*-'#OY%JROMEFPEJ'8#C2(AK\9)\DPRJ8)_-Y;`%1&54B/<


M,<%X(PI" C9=I^`F6_9/K'P?Z?9MH]D5\T[ >\<`W583*)6;,],PG9SF< &M

MO"-S#MO9

M(*FH/0P!S*0LRJ34O5"-4":6-E%/S*F*_]#JD
M5P)ZSKG90*Z5]% L-S07+[=7Q375,+S]VK$FXU(Z,;!P\4.SDJYZ;+DTB1R*
M!_L]:A6H+33L&/>A"LF?MRCTC28R,^"?Z7%W!B7`ZDN'&/EN39<9`]&PP+O!
MPVKU/.2<5VO:-G/$#SKOAFN%KYANB74SD\:U09&LJ?]UJ1AF.J<S4HR,=' 0


M-Q>'<%6*8^L2I8!8\GRAVNNZLM"Q/*CY5.?WV'GBZS:WK*,UJ%[P-U28K+XE

M&U?.+>D?]=2NW3$[V: )I\NA;^$PI+-+H`DPB*<8^03D%! H;$+L*8TL;\JC

M/$Y;=%6&.5Q5%G"[*2K4N[#YRU3B


MM%MR;&O-JCH8:YQ!2S$Z_;4H(9P9](/^Q32('_4/BD`CLH%=>OQF>P?<#T7
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


ME8IZXO5=B:J\/$:D=_=#B5
M=\6/(:::M;VZ;'4RE^DGN?:.[Y#A3"I,!M3"&$L%[Z!>7S%N7'$1;%^HTR3D

M*8C63;*F]Z7:<Y'Z97OI$</,]GW8$27MW "NO4U,IV`$4HHT>4U7G1$DOWX]
M^P-8UY4/ATP6_8NJ'.RWO<6";=[%N5QU-CY4WPEY7X#KX/HY^/"]Y*[]OTC3




MD$T];#QH-HDC9
MR3M+2*G$$"<3\#PS
M).M0^S3(0,E[]?55;WH5C?QI-KZ/;[G()X8(IY"L(SGK;+LH\U'45J`],<] 
M`;8YPF!:?S5Z\&G<UY++D$">/F$<_.$>/%VELF\)!`\'JC-0V84TD"B+DF:F

MQB 5RET7X,3A*+$20QR.#BA7$0&L8JRQ4_H >09Z8.X9%>U:M218 C`F '_-
M1.4XXH+-&3I;:X`6'$*M.)S4E)L/('D"H-?_R.?1IC<J+[8>\.+!_5,J,0+W
M_;'3NGH=6IF5R[>CK)\/MSVSHS?9/[%->%G=^;.PB;8#R]VO*FQA%Z?J4$;=

M526P>^7<!M(,(G44AA-*+5*C;4\Y><Z"R 9V=7KWCI.B4`.7%=<M>I.RCQUP
M< *AM]R7F/`ZY!5N*#S5N3EY->*Z_VZ42]BG#T<>EQ3C)<'7$E&BDACEL!2H
MY_,'70[D"Q)1FF^MA=[/:33C/W6WE1 <BL?D4Y]>8L0ZZ8_[0 !4P2$/[*NW
M,(2UF^L(/7-)%*<9,FD&3EV4OFD!\CY`^HPT-%5\-W_M&K6Y'R$ 6QN,Q)FV
MJX(501SY]X=&H)8-'8"ZNE83N0[:5 5DU:/8<$:+CNS*"'YY4:Y!NV^)N!$"
M;0*O2IG72P;(%?K<`V``EQ?;I6;A&:WH^LA&" F1U5U8.=D&OO8B]9M"6?$=

MOTU*;5`R $'P60-L00V<R;D!I7[2LBW,^2 E;2BRH&2'Z5_0F-^`,=GI=M)(


MA6%%:9N=E%LA^_;^8_S7<(D5-U*JQ*[R>S$>M>9G-8X$2B(RU9&DHWD22^-I
MX;'D5]->KRD_']%VJ&M_85%,%/J`&(GR.E56U<!P5Z>>MC9;Z.!=+J"-/HQH

M[O3IF%!(IVNH+;!<JBKYP7YH^GZY<Q6/,=B!VQQF(*;=G4YO[&9S'H1*=\V4

MEZA\TKCZ^VK2I";`\6ZB5=9H6U6<7JMPQZ3S[5KW8$C/JH=JN;Q>H_.*P=]P



MYS%(7)0C2O`%U0%.!SLT)T^R5[9")KCP7%N;F3KD3>]W!G=%F(2T42:O19KN

MZ<"++N'-I[0EB&6$]%_)04(^I*-#NT65?FX??-1Q1<I+0T.6+YEH1HBU80<S
M1:RFX_9V.V_Q0_2%`^)RQ+:STRY.U=$/;\8]H]:X5$*391D`J>M7[7+6D39I

MWEF2R]R?A=[0#V

M"F=:I+::1V8265(YG' Q4$+JW#R<\$0HQHVM2[=2,HW`5((8 XK#OPKD.IA%

MG;2^_U5FF+H#NI[S_[7-!W&K,[2*UR89!WPNUN0%WRR?H9IWF P!TB[NQ\\$

M62:5:&FYR?7$CH)4````___$]Z?8C(?]"/; ($,.#Y`UL$_3.$,>'G^;1C8?
MYN4/\"/>=]O=[_ND9R0+2#B$NWA!XHN=S5 %:F.#X?A9]:[<Z' Z& !_G%N?
MLY-2G&Z,0Q02LP```&%`'`'>ZW9`.<HZ9'C^27E5/(I_F4=5>(]-BN_.^(5&

MA6"3&67[JZ`DRXXHRXZ=ML"S37\RFI6>."GD3YLM^8W7`%!,=>V`6X38FV*(



MO(U69WMSGJV'PD0Q.I& QB*>!/0 M/R&JHE/"7J B+Q9H:7M,:8E8T1RH>WY
M/W9JG,K!\[5FSP]*+_6IIJ3X\K_7#EA3A$V#HYU

M-;+J3,`NQTUGB(_$,&_D!/F35_=3.=$!_I3XG(Z.EYM5DK V[L5D>:)RX9?)
M)%YV"LBAE"1E.Q"NRKB/Q2LX^;._093E]57\<.II4"J1;9BVX3X3ALNM$X0-

MEM"B7W!_]4,33UOF3T846%.YZD`T#BHOY9
M,Q0#ZUO:N'(LR]NG'E`MY Q-(/97?"JY[,;GW%=%I9VO.R>P FP(8WN.9R)`
M,8NO-XR]I6- FZBPCZA*DYUL[<_H T0YAZ?2H(OJ7EBDH?\U:&\3979F&S8O
MAT-QKW;:LD?GRX?VE *JGXC 0KQ-.RN,[B!V)^:8*TT\2I$=% 1>`=*;*4D/
M_T;,G "!S.L>_; ]^[3)22JSZ5O0YEBF-N(]D), 9-.W)]*\:QAK13!<[V0!
M'<*\Z+&&'<='[-; Z"<N%=/G;ZNGRMP*L- RHQM4_I+YY<E SVMI>,[2U9V7
M!,8``&`6L[^67GK>4$+F&M)A^4R-LJ'5D*EJ"AOK9V/+389S%_WAU*D952]0
M*1LNXT.[V\"DAGPVC9DV-J9EV()X';SG*[/G^XC>W:K;<B'=:`O[LGL,KW;.

MN-2VM&>!6UG[TA;`08OJW\"<;?V"EW39.(< C69>%FZ][XPWDU1\M0P MJ`*
MS02.TG:L,RA+O,1B>UB1R-&N"`/G-1!9&;-HHMSFK+,:1SN9"6;P>S\_AD+`
M]B#J D\Z[R*MN+$(4/7+VK$C-*,B9DS.5LDF- W],S70U.^<D.+5G3ZP$1 L
M6][2N#I
M`/]FJ)D)FZ+TZD&V"A_9$)+0'YY"8N;T\#O2;Q">/LL76WQ'*DEURW6Z$V/V
MC=Z7,,:QT]RNN[3'3`$!++<)8;N,J*#I
M,<L8&9BP],A8M#W6D-QYF`7/ESVM[H\A#G!G;$X!!`8`!`G`0F!7 R&!L``'


C`&8`+ !E`' `90```!0*`0"JEOBO7DG'`14&`0` (```````
`
end
begin 644 minilzo_icl91_coff.7z
M-WJ\KR<<``+:*37L:1$```````!N`````````'+KT]D`) `_WPS/C[9T^A:2
MQE.(=S9(-L82)1'I W%P'-I)_>J6WMP2(<DF*NYA".'S'S='MYO%IH-XPF?_
M>X7M 2MIQICW3\ ,[O])X(K+++PO'C\RW9I<R)*!6W\Z$>.P1K3<)%\>"*QK

M$HU(&IJU40[/Q(Y);]G 9;*7N&[=7E4)-A=N5,2SD[<<"J(!QMK))F(.79 D
M\Q?08\[T>1GZN'(!!5L0F6"$MOXI\3(2KFM!TI.'%`TW`'";2XG"-`&_^W;/



MNV,)LIK?EM];QP&)_$E49BW P1''D^-F1`_" O::/ 697QJ0UJ4NJ,G(FEB7
MB3,O)=WYM02U^1 'S,T)LKV(3?3JF1"DC!1Z(%3:PUP?7VB52_1 $\,BG!.J
M)XD4V97-P E/#H3R+ DN%-)\7 OLT0'`5:KV3W 6<(F>U"K3IM_7EUX!PV%%




M6MNF(VHMN8;26*4:HG66U*!)V,$PZPV9?ET/!X+7>X78RWU1!A)$NS:>RUQX

M;G=]WQ),!U-+7J.TF5!;?Z?SOIN$>O!B57&NO/::`7LG5\0#GLYU><AQ!LJJ
MA.J00$% \ORW*RT&<UH3DS+MB'=QV-#C^\ "MB(N%+9,+7T[R2XKI-*_E97+

M-KN+5S!5._^[)WX0722PM_2BYP-%[87IB)^#V=0&`W?51JE-4E'C(]MKL:^:

M?]2B?)TPC7I137.Q((JSB78\U&,GN; "T,G0HY%]78#R)8=?I;[="_YT8^=X
MSXVIYJJ:[NVGH^O_>C 2\HNAX<?A+M=E!RBD_BL4<OKAJ?"EPP=I>[S7XE)R
M[E)1,A+%#NP6YH\36%H?6*-H:8QJ2?3R;7W<"NH#SY
MJ;-#O
MI:UT&/N=?`?K#HIO4


M,-S]DCH>+"=4*H(*;V-+1DWQ_4.=S-,USQWY2=,%B'-6^A7SY<U5\Z?[C9V:

MR"G9IGR9871_")U%]J$,0YK6>BT;36ZBT=E3HJ6H%,Q%[7P+G"6D923K]ZJ^

M7ZXF4>PIIP2A$1LR\<UJN>:69+`6O?NL;=PZCKRN1U$Z1BDB/0I-3;75-'Z=
MHB;CZ*]K3B:5BTJ>O5'[1_TY!5/]5L!R8XZGHSR_!DU+VL 9B'2)U881-9XD
MOVH'8_+D[0"XRI:=4IIJ=NZ.W-T3HO >=Q06(9,YDU'WES`J>V)T-*J'\]=T
MI,R/0%NO`3[=*-Z*M^D4/ZD;*R6%Z,6I= KP";T\J_%KN+.TLLD`G']FK06E
M$E7]M$LGY\RN2H='L,1/*8(8BV,0`Q:O8>VSQC?_8&[2P400YC)XDM%*1XVY
MM%4A6SQBGB]I*JL(^72=B_O/;^ ],W"NFLJ*AGWD0-Y_+(-9PZYS;\D^Q.11

MT7I1:^;3T&LO^X*#VXMD
MYCGPB[JQB-)4:!>6Z-9:#V\0G_Y4;H&`,G9A4"DZVZ+=7-](\2]L"*PMZ;KG
M'C<.%],B\Z[#X4GV;G?:^8'A<;N-C1KX<.DT)S4MP,"ZO*]%M)NLP65E^VZ:

M;9"&D]QQ%.U''&-P$LQE7I!C]>W811QN8EEL2NF`F[OHG7X+CLHV-$DCF%Q 


MO;T?RF* A_=\R<$'.,<?:>>WF(G^N_4>15XQR/+FA-N2[R$PCM$Q/7E.L;E=
M*3O1'^BMS7OJ&&3U!$\^&Q]J\KA,EL T3,=2%\:9"2$0H=T[9?K2]2AMO'P$
MF%6P1X-+O1RV:,AI/6%P#XBN5&RN.DV'L1C'4^%?)%0G?SH,;O^[R1,9EEKH

M"2 ^%19A%5.S_(DL6(GX5E2Q;I<--HSZA>;" )9X;D?$%EW\"724Q#S],K^O



M4<4]*>QJW"NRC:(Z(IS>"ZTB'$_F'(O+C;XZCKO3<\%*;XB:GQ ^NT(_%WVD
MHD%:*T *23OW(>[+GASML"^RC1M%'QGMRF8F\$DC'_L WW:?0\5M2VH#X+VC

M^)V7C)C,ZBNE81"LQ`R^,?[K]`62-J4F<?;07&2.P,'`I:<?9Y)4)`LZU&M]
MO:#D+I'^D05(!#F$PL3NDZ<FI\',K.D($P>B2T:RU.7)0TUDD5E9K#PK!>D_





M"!H:NVGL/2[G#RJ
MM.(:U1;3X?O R3`]8*EZT2AJ$=I$D=.X^#O9[W2GU!& 'XG.RV^$X':5B=F;
MHVZK\X8=245BY5N%Y!5U\/R>?.;T8Q9BVH*+86:[;39R_DU07:'T.Y(A3.)5
M;L$5O&+^'LPPP"!YJ8Z?I9=DNF7BV*9#P356&6FOR[`TAQZ4<SSV>0$-VM!A
M[TXQO&J4!*93X+3Y'BVE/NYWABSG^= P3M*[\M!S6"M'I>A?82J*;+-XBP+Q

MJHEY`DN:!H(%FV6UW\>/;$FS!.:;0K' <R ?LCM-&MNHEQ+&0BK$C'W4&PDC



M"HQO+K`<5M'% _C*F1;%.4!LZ4_#SS74KQS.?%(DU2L!]6]S?M!F6!LMXUN(
M/+U0",:^^5&1I*I3G+W<DN-U=^QWY^4'_+6KTZZF X[L;PG?55S6 0+1\<&.



MR9X#Z-NB8RIL

M&^ J^&PQ=G4]CA'&KZ95L!.,"[9_%DHL[9DPP-N,<+TQB7FUW);(-A"CC8,Y
M7 RC] X4#ZCD2_J4%%QBU7MA5\^BZZA(^I.1M``9=[Y/6G=J:(1X>J+]TCTX
M\SVI2G6:V>J$IQRG1QMEQK,Z[+D_%.TL&(E*ST,]S65SX`&]*!J81:;+6+?P


MI0?OAF*H[<E(\G,!X'91W PL]6G "'F,T 1OLEG6P;='+8`QVH\C .*.E"%N
M(I!0&.)6VR,^\+B!1+%K4E`K<FS?6&4,PJOD!=Y!U^[+W<?5IKYF_ (9[5)9

MK=XSV`\M"__H%/_/:5(</Z6#O
MHX?^`'`4->A;PI$$,H3L/WWPL'U-?=!4Y^R!4^(XLJF_=IEB`=`)+#J
MF=QOCR%'0(5\]AR0+"G9+.6-(<]N-[L+/=P-RYPNQ57\^6-<*)_8 HZ(TZ\R

M5[9E^SPANF7V9I'8 \ ` EM2%H_)SM$\ V[- 21M:^RH?X?$A009-&V",S9O
MN5>V-]!+$_&D`-TQ =.B0?FS^(GI-0 ^K>'[Q_YQ]& /^_->;\$U\(GPFJ!.

MYR5#UI4DFDA
MIL(TW]:[\4<4(/N^XA"XMWK%8=A22]84!$<]L%_("HL(``$$! `!"9%I``<+
M`0`!(P,!`05=```!``RHA0`(" '.WTQ-```%`1$O`&T`:0!N`&D`;`!Z`&\`

)! $`("``````
`
end
Feb 05 2007
parent azsd <azsd qq.com> writes:
I was forget to fix retn codes in the middle of subroutine.

you can using hex editor to modify $AE38 from "81C4 18040000"
to "81C4 08050000".

fixed exe attached.

sorry for the mistake I made in the early morning.
begin 644 coff2omf_mod.7z
M-WJ\KR<<``)IN48_0F8```````!F`````````/MLY]D`)I:.<``7]^P%N^KT
M_Y0!+T3O?.;U"1E$`BG_4\W6T13^GF&< A7V"7JL:[3M5!">)LIQS\5'*\CK
M(D7^0?JS68]R!`F`;SIL7L54!=RH)Q$*7)^/4;F\9?`GV7K(.*)O"R):'?LF
M%LLW'G$U.ZK8?N(%QB+37Y&)43'2OBKVPN&>9K. "4OPK2GATFB"'*2/\&22
MAS40Y=_0Q$2G84(H0(,U:[L39"[(!C%;Z$F\UBYC>:]Z?]?)2KLN4BO\VC/8

M=NI8OZ#EI

M"NV?)HS3QJB>O!A99QG">?/,S/2F:&X8?F[B#X-]'O8`\=6E$--!0+ C109L
MTOBD+NJ%9&RL-DMY'9BF8B7/BJ(-^)\+'./-`=$MRIU?V$%R_37KES_/Q!L,
M$M*1W< ,2&5C)*0CJW"C.:V4H\ D[H^^3,MHN!:$U+&T_-/8/L)SSS+IZ.FE
MR77\9+V>BT5M$,10YN!:T%I1IT`,^=AVE1%7`AY'2P=!E1/#G5?Y.E$V)E/*
M[1FR;*/S*]5!.QP1LPB"7J1RE97?V=-W1HG.E#QSC/QF;9YM7\YX&5_ ^I_'
MH><V/C#A; YQ U;(4TZ_)%>*W!LYJNNX=Z*]?XY;,AN4,``:.3.&FRCD$4?>
M5OVR[95-25WYJJE_0MWL:.MN*RRV ^3[!Q.1COF(/>R843T-J98=M_[,4B!"
M\HNS58YK799N-"_*[\%Z!-Z?^7"MU&6,Z+7)1)%V!D#M'4XRZJCO_:A/CKD)
M><"3Q[.G%S_$*Q=FZM$?FNOJPX:HH.%,-8=+:8%9X^4HSRGTB4?TQ?'\Z4N8
ME:%)1])/935X0[6WDG!I*DXFOYG!R2',_L>$J0937GZ3*2".?SP/30$!\T_:

MY'N,"6?>=F\TX';B_S$CX"Q*$F;._]B;(B&HGH6EY9,03KIOWEVT 8G.=KI 
MLZ(-IP6CV8#V4N3K0A4O[)AX_*Q\OU]?H!]T80D.8MB1ZZ]+!<GS]A(DHVUH

MOC$<&:&6I4:AI[>,K=WG8\T[F$P_TH,I:M4Z_VLK,AI7/XS)-QXH28\NNCJ"

MA=<-J4DGX"GV>^V)VR?N%M*=8>I;<9'XB<^.J`-$/1>!(Y^`FUNIFGJ8SZ)=
M&HH,)YEB,F'VETP%*7!QY^JP29S0!9^,]1"^_F#YD%;$S?=?9)5;M<A"G0O<



MY:-0)T7,9Z'RELVX2YQPF`O\;TW&&HZ/EZ[!?]'3G7,I8VAS:SP):_4 *"9Y
M1^>C]'G>92X$/.`\`SC05P#DVM_TT0+1R+]AMQ]!_5^'7P>`P0K,D^;D6,_E
M(^Z!AHA6*4ZUN.L,W5$;YEV$2PL;!)9+]$J]CEO?BL.MZUXB42FLY3%!F[3-
M#X_M`XX:I7+F5A:0IBW/<*T9I`<1[;>&7DR`>AAK."C9KT++&?!I<TI(`C)P
M<BTE S5(.LA?^PT:,]M*C;G4(V1S>8)D)U/=!&9<S8&YW3_/8313IH=%W-7M
MM&<3[!]$PN:Z&+^-4L9=;^$`0;H7 4WKF <C>/+?VJXWC,Q<)=W,45EUXKT2
MR=!Q9C6BNIYP6V39$QL-U9G?1DD#E`Y1.![J4`<8S]$AK/7E89!!SJ*'OUB8


M%)Z5%V=)8 H(E,S;P !,%(E,_? _0:3ZNDYI$V 0 5AC#RD[XX(\7<.Y$V$Q


MJQA'6!>//18Z=1<8Q=>M`C?O!(D)$FYFB??/=\%99&U_F,'`K#B<VW7BS)JR



M;-68!2`T$KL+5:7)G6<HESG(5!`E$Z :Q2Q2!=+4Y?07,S2UV9\L,XS0\O_T



MA`CG[OW+,W^&(1OY?;DBC AL&O[CCBRP["%2'TY\MQHL&I\%VNT91BJO8 ;[

MF*786MBHC2N4AI57CS)=?=+<"Q=%4K6JNZSO78W>=RRG%B,R=O-<?5"G! K'

M=6K<.S0;53Q+T\WB,*1"[[[?#IB\:RRO[7M4G.R'2<E=/GN]R7H40FQZ:X$H

MDX=TQ:`*]'J-;*K+2V3X:SA(NNQIR=UDRZ8_RXFB7AM`NZ0K*J!) O:HWZ"]

M/Q>"C9H/$G$&8FT;P'2X.+D?IM73U*-=/.N2DL; 5>C76&%0CZHWRXA:_)MK

M*G]9"*M=)=KM51`6ZDSBGJ_6K#BF
MYT4*B')5QX%/>WDS!0J\^I0W ^';:ARU!+YR>^56NZZ5HG13+QII<[V)&7>W
M*[P )-4=?_#W5


M0;V']R9<BE F$8GS >!6N+) ]OO=&=%("'[!"M+#RZJ*2;,:%N)XL[I+=J[U


MI:T"XTB2L3ID7E)K!':3RBTMU 2^598XR*_F .[]LPTJIT!]A T9;4R4O! (
M_V.J;R!(F%M"5$]VT3='G7%GQY5U&99_(`:^;$?I#IX1!`L;))6OV,JX:BK<
MAAA;F2SP0< UMC6D;TJY\0)WT=)+EB-UEU]T60-#WB

M-/#MI9N^<W0$(_[5` 2I9_C38E+GRQ`!\$-%NWES,O"?O87,NUYEL&9._NL:



M4,TP3Y6;CN%DY%\-NOK,X`MI&]TX_-]X5+NI,28`Q?W4%8IF&PNNJ\LR:(5%
MO%T=P9Q5612,O*BY3JA=C';"IY(!X_,!, TGGO_2AOY9N_.`/&C=,V;CK4KA
M<,)<,2A6*;PI`_>RN2\,+^^SV/V?"+W>=X(,4[H7`0ZF=Y]KL2C#L)=2<'"[



M(T)L((</9CS,BK? KXI;ZK)=](5,0`ZT7*?&63(>!V"'J]<-Y+-ME&A?XFNR
M=!S!GL[9:`C\%KX[K1Y9+8F$[+ T^3/X25"L\1(X-RX4I)+:("Q5^:>(Q:6/

M/UU*:JBG7AW!_%*;8Z)7I2G!)!.HH!X7]X</[Y=T9:=(;S9ZL]P2*97?`#O1


M(,B)TTB& ]8/UO3M&,S/[8F&%WH*0B\Z(,)Y7[9[>S"7]?-=,CURQV(_KD2=

MTOEP%&L^9Y *-H1Q9*RT<29H 3Y%\?[3X=$8!Z0RH-Y1LB1RDIAH",$08,"B

MG3WK-TWW3<^W]I'J;PBNF:R8))K&9ZW,.R-BL%YSQ*:<>^Y/UC02S9"ZTU9Z
MN(D.F0II;G7\-^_6OQ."(E%2-R<9F*R=]3US[4<9L4!HX]Y.T*_ZZI-K^]]7
M9U<^00L.(\-6?+*U=2/*'P%V)?;7(BYH<.EX7VX3="JN<,]%M]?HH:K'ZUD`

MPAUEIMNH /?^`N0' -%) EYX+]5KLRP_H2P9<OC3*<S6"\"D=*E]:4D8))T_

MB5.HY/Z D+<BW05P6J` `7^[!VT?B7?(X<JIHQT(Y:).WZA3 J\B]QJZI0:%

MDV?/?D*V%5]'&D^6')]!O(BYDSWOURVIY 4? Y)0S1I:FLAJHZ&&!UNM!M+&
M'* 4=4+K>NO:#H
MW_; KA1AR>=1(A+O516^;#AWIPY0);CTH.I4IB(=DBH!3LSMAJWQX4BZ5 V4

M#GXY
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
M5[Z[2M!F10\U)MR1:E'[MC4`R9C"CE=AGHQL,M#CJ
M/$``4VZ`FQX!RJ+\'H"^X5RU`/+49KO_X./YF$CYN9VI?-4M^A1/ A#J4U=E
M!HMZP!.&*]EZ2F9`\VQYE(->$CFN1VE+3N%7VR'^EI1BW0)JO6L 2S]E16V;
MH8`&"'V9P3_#VJ

M`*`%N_XS%CH/\R&TL=V7>62F 7WI2[N8-$X92):N473$AH)FO+PED-#JZ
M4(K*A:KS/0)8U0 $9&Q%EX"V)`]4`S!.?[]I1I<LH7>3FD_,<9;[?_0L[C&J
MPLZC-U_&_D)W Q<(0[O%.P"4OEI]1?85_[?=/-AJ<,1&LZLAM)]<W#SJ[,;U


M.71-8U/XQP&QV-8TWQURLP>)R_>I)5X1LG3U2]6=3,^PLL[ +`Q'^FNOY''W
M;*OA1B)\ANJ:V+YH 'H?`O<(XB:DD88 9G*QFQLG7$B+JUXY^'%E(R3G.MX)

M+R2;K!`URJU437)NDVREQUV8'4O'!YZ>[*%"%"L[FTF(-0&QW3_GVZ5FC=/?


M`',:;%J_);3O;1]=2/IOQ;)HR>!+T2;#EWUR
M?"S6F\Q0P*>M308/2`?[]\L!+S4+_UVEO:N2S,Z:E)ZJ_,6A4XZ>;YBQ:/N?
MFQ]7?KLI22,U6V?;^]3++H#F$O9"0'ZX?3(B%9F6OF[6!VB_ <:S_(E3MLDQ
MS%;=81`N-39^$AJ`2I=^6$(X(N(D$`M(SS!Y^*+LLC%[/W?W&%?ZWA.VI&\B
MM/#B-


MG>DK_.BCS9!+<>7/\<5L3'-IG.YQ"M:E)_SI:T6;[U9P#O'$UJM<![,M/-9\

M<2W4N!:^PC]W68$$Y!42'?0990PR8/8WRAR']T(.'01K?I3U++N[7A&WXH'=
MC&Q[`JZ&Z6>5E]Y_/]M#NR\B[M/MK&W$$>K(  C(M$6XJ1 C=M:UT0N$]_8 

MH2^,RHKJ<'C'=%6`/XBDG$\JYO6AYO3,F1RHHT)B\A*4PIS<<=HX0.%6SSSR
MT)1J)F6$P2E4UB;>A+ ]"3^"^B9#M
M_&:%P^N(F?"&M8$&7"N(4#Y6\\A6$08<BGN\U`E=V^ _#XP\?;#N;&[/(S C
M)4FL^BLE':VW8;N$2_`,MC*;5OQ"5N\Q0=WX7I\?QFW<R^U\J[SP\H41,"U!
M]\$83NSMT:1&9FPKAC6!6>?0$(B!!29%Z7R:=7\TRZ8GN2Z&K>=X)Q_!V ]M
M10GAH(4= +*2 \&ME6`ZM(A?7?7AXCI57T]]O[ML$D3 ]02LEX[,QS']WK6M
M<6H4L!X8G7-?2"6Z!A*(=4P$]*3N;`2_J6 0=0X2EJ^R)Z+(` >4_77LY47E
MK4-?T/<G'94HE;.IJ8/DGM'S!-C:UE O3%]!P4_[C(>ZRX(V0%`CL(5:JHF/
M`"^ZB$:2BI,,K9S,F/E846%-PE&\H2[^2\_3NREV?<GY.Z8F^F=<Z$SKT54Q
MR1 >/WKGLL0!;U8=Z>"6BK _E/JGTH-  &87O''(RB_)A0K90U)G_DK$$25O



M HCN(.L #Z8E6PR

MBXSJ/6QE"^MLWZ:0<3J/`-1:B&W%A *BY(^:&!T+DFU+^&USQ?94,QYI'&%2




MNQ<KN-XJ-[K^->&QV:Y4-M3<.>"HJH7\)$C\H[&A^G_=9=(VN/<YP4Z:VBL:
MWSM Z9S^J!U]M7GASV]&SS/`Y?TT%RD"HXSXP/_"ME]E"15:CAS[=.H!K,%K
M>D]OV0\C_? ;O'J-*[ *YOK,+>*`J4>*P7E[8F.L*N,Q=2H=MD]]J&XWONXN
M6D)JZ'!++'%`ML,.^/=0 ?)%'SA;.[TSS >NIU4Z_?9C.UZ]KFA"_I>(.[R[
M([_Q&'%[-VM_I+^P2$U")-!#B*%I5PH #C1XHC['2?:3"LXT^:?JPF>!8J.U
M"B7"M2ILV.T4PSVFP_[H6B,G9"R"*FKIH:3QM<2  .F :N+) )(*?;\MERW 

M%4+>DC?H-I ,&+:HDY0=9B6 X3IUPBJ-R+GYJ08NP,AJ0JF2#FY93P]:AILV
MH;7ZNU /)`Y0>-!P`#E9)-4&'!7--):([#G O_1BJ);O?)H8 6QIWL^^PA>A
M_T<$TWEE>+<`8\&2W'SW;F- BDW"ED*P=BTV^*+2\'T_>7(_D^$:Y%T5&+%7

M2'<90#QGRX.-;J?^>XYE<$BA_'R`:]R)*P8*%"" A_6R26OH.H]/D$JD\14_
M'V+8`=.:]:C_^RS1C+0(#GFLZ%;"8`=#SQF$4YP356HJ.HM5]<F*"ML_0RJ%
M4T&"/$UW .$W7UFD*%4&:4BM-[84X3198:KB"/O\*#O



M>V$T(V_K)X)$R,^8,+G]/].[_E0'51KQ4*_6],F?GZYJ>$98#NV<`+:NJYBT
MDRNVZH*S!+7C^LNA0ULZV<GQQ![P/&E$?W.`EAP;%Y1.C^HQ73F,V3VS*\,G
M\]U'Q*B&""(]P.>*8O\=IL$'3/2$8S]O_/.&":0_X-6SK-28]81\'OG2\[&X

MY>1E??R5U0IJM[Z$CTH(6C)*K$5]CM +FWFLC,S,P;8F64BGLT$ 1L.J*XH^
MTQKHW:LW#ZRTZ;<!1O)ISZ+S&4D:QOJ_+%Y7/\2=UJ2, F6XMT4-F0C `ULY
M(-%A`+..?9VK$6C$A]R466D,'.[_?%VK"=E)DLS_T>QM^^F=."C7<P-Q-Z\R
M%F&I/.C[ U>"6?#F]H_D2C3O99SQ6)=[L 2A94`D\SLA=8[3YPWS'A/BQ6V"
M5V& AP*(7Z&X;P3VUH>'QLW8[+C`A`5\.+L_/0W`OKX=1X[\HQ H0=8[1W'/

M><3"9&!]X2KTBYV3E!M%:]" FK!^XK16#XA,(^I9/*[]>4D>,%1X/29,]SVQ
MR7 NUG9G2"Z5E\A5]7^?9H-MQLMIBP% UNY<&(27HE36K_=)4:2&'\^^&GJM
MI[$,88\8K8]GOAD$=G`58K'+;^%%$!C)/^;:>T.00?+7^ER=:%>2\--E(351
MQEC]='BZW_D'&KZ&:<R0*1]IY& ^P-YJ&>1SI\.]`7&:0$SEA^XW0-(BMEH)
MY=`JE<,I";(T):9A:H_Q]\0%%: X7 Q%"_0B4":=)^B>0"6[]2QB&3P4%YEA
M6EL^0+LED21IM=3*A-&"3M>9<:S9Z2_"?CGJ K[I, R[BG)I6->G^4OME%8<
M1HL4%,05>H `F"I9%J81XKI56`$XOR2ACO]T1BQN&E HN_/<%:Q0(1VB:+YL

MV_O7(B\[PK3,QJT!D<;N=L>U8)>%9*?`WQ0<ZN(!.U\=#KM"Y>E<.[2,&X-!
M]\.2CUN\?G*=O$!5.;]U9::PW"B$!' 53%3NKJ,$ T3-H>)I =MX$7Y:M:1V

M3,0]S `&=*:HL`*0KP0'$-]9=CFX6P9),8/U?!=:9R5N?N+!G\T]R2VX)C(3
MJJJ'(KR.& ^ )64C\CI_FKN[;^`QP(562:,]R7W=BGHX%\*W?AZ*$F_L+58_
M3_"Q45+>PNQYL?R6A=/#RP
MB!D,,D/B_7<Z('KKR!\E%M B$T$(*6'UG2:#X05H?X_3X*S10PB+6QC6!-2Y


M&$+UF93^H\\.+ 4+5TX42HL3RD1Z:IYU?QI=L3^SH!&H!Y?>Y6I^9?L'5T`)

M0\D8NNNA3NP%EAXIZ3T.O7HQY_=:V4;,!ML$>E[-"'YJH9,14V:0-)]DQQO*
MVN<7R>&`8!RQ'HT',<)N4T>ZT KVSFLWH_L__-!PD-[:B9Z&E&MG."]$R!]J


MO$%..G/)G;R_\L8B<4D[NJ_O_)`S*5CLP V-<K=KI2P\V7,IE7+8(H.Z)U;B

M2*_!,?(VPA=KFJ87(Y1J4&MA14OOF+5!&PJ&XD$;$'/.&U1+%DH93Y>`5/K*



M CT'KAA8=&T`A`OHIJJ\B%K?.5"^;(;O1+*RH<7(M6JZNYWR1E`N\3X+VSWX

MR%YWPMBK"95QGLI!^K=+?O7Y4J_VT%*><EVXS'`;6?S30Z:(ON5V!L_[<S3]

MZ0]1OD*(<8> \6#LR($Q$1)%X/5P6_R3S)T0>8QUH(G.(VF&T+(-QGM'UX3]
MJ%5Y3.$YX$X*T+78-"Y== 1Q5E$Y]GD*B8KT:-1W ,HS;H;._6*I'LQ=#P>4


M[-2;!K4>U^.C_?8)6[L:UQRW=049YC"'UVZ'?)Z+::"&BOO'.5/W_]&R5^QO


MAQCK>'.=*7$4=+&+B$Q6`50T>L$C[JP3#C??(_GJG#M
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
ME_!+#R`Y"^))0L=G'E#I

MS[W?L]I>PV\%P./V`IBK-A!!88=C``Q[95+*21QP!`<UA>\]4-V2;_J9K^G-
MV.C:Z]XLK]2.THHP<=E>$L]D2(.MV3S]XKE?P$GUR?Q<[3/H,2O=56;,7)N)

M8.,6 W=<?^H"I6.F?=FGNU\P:X?I+_=KZ&W_FWM[0 4-5U;%W/:QDU-\QH1 

M*S?GZ3;GHIH^EVNVT6A6[A5\&:JMHW"*6WYP]^]AL$J+=]TMW,[%V8JB?A?J

MC]`!]1 \^,NWCMN!M?Y&_L1LL!\VDZ[9<P^?FQXB7XTT&J2(J>GC,]MN2M.*
M+64HMQPN;)1TU7KU]F($V8"Z^]S3U4JUO<.LZ*QO8*%M,^H-$,HEGKA0`;54

M8A;4/\CS#H5_26K-5TT*#HQVR
MCXS;7_Q<I1V? #TO%%^C]M[4>*EXZ %Z"N>^[<`O%#L*"9D5:;+?X O?.].5






M![G;"4?NP"*2 (FF-21DKJ > 2^2<&AG$-+/&FI/;84T'C`EL?+[R]+-O6D<


M/NR3ZL>"=T.R,QLWU*^P?B1=D`-.`^REP`8P+]*49I(0]?7[3_O34P>[PN-1


MCFVX!,->%F!OA)0PA$_:,,./_QDS`(9<M4>::S)VR^O&] ZFHCG9S-2"6+V!

MZZ&-B0^/VP!LATTB-)2LNL6!$BGU[U95!3,%F$Q8Z7CU&(EJ=3+C]AHHBH_4
MZ2DV=U#BB
M]G1I[C)])TWCHZ+PMDV+7BKM!4J]2I_7Q!R$G(A$;Z$JN>N\:C740)5*J7DU
M[.>E*J\;NO^QXYT"7RU7H8)_I8 U!KS.<<U`G60TF/>XBWSH>Z[;)'LV)CP1
M*`J(A2DV1Q'6?>E D%W404TEG0=,PTTQ&5WWE<$*V775R*-![;\?P>3(; 7]
M$L)6"H2 74B<)6.=>\4^)1?I'RJ)7L3%E^E4):[:P1 ZX-4=^S\>8K+GO:05
MMI<RS-'" XB"]S"O][,4 `<$9F1M>9!P;P&YI7'Q]]7J U_)49X+/TSH(GUU
MTMI5%NE'SIL^;A_ >L[/._QRR^/68\<8\7PQY?SRE;35PKS.I8^ $`<X#PO\
M`V)WNS3A"H([/4*\:WUDS[+OKF*CQ18)E5;XO:<M+D<KE[$[#EB8!BZ-5]"Q

M'V-D9X>2[%9:%6%3HO7VE((*3RK1Q LK\ `?L/3L8T;MOP^)P(V;X2_05G W
MQ#BN,$B 6JEQFO=R__+(GZW-RI'DSK<<[_-1PA>A)LY!\_L-SX3`]SI*W?%T
M>^$&-VZQML3H'IZ#B3O9[)D%&OIXM%-G-PH'TFQ3SN`'URV.W+.V [L46Q*`


METYHA=&HJ3DAF"J$2V_^,VL>(O0EEY4B4-LLVQOGUN5#J]\;DC>").),%J6*
M9%Z424?RK8U^P9J7Q!?;F&Y+4-=XHRS"\ [C3-U8TW&[:G+22?<3AX9<;MU^
M&[E&N[ QY+3>XCJ???E;+:R]*A0)%H>-OD\S\_O(5=:75%.7<!]` ;.PQCQ_
M?=W$'UBN<M:T\LA !>T)(5#H-+]?]SASF<6J\*8DW!KZ)726-B0D)K$A1?3G






M$*N9:YJ!WU)07_L-EG+M5R 88_Z)/O*/SVRNFY<B+RR.L/_:JF2D!3`I0!/A

MIH* NR[81BZV&IVNA`,9G[M/Y"&O=RM\19<%9*XBPX/YQ%%N:\UW\%<78A\?
M/2JN[S%AAIH8KUU+--V4(8K3$C/[A'0GZ&H5EE\.8?[VMZ^ZW,XF%Z:FY*.M


MP,#J


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
MRM?^,=XF'/UVX`39%I#I
ML2T.X\=SKVN4B]+RX:W][9/_;9[B,>F,M.S5.JR>+Q+U9XD3!$J'VP($63FT
MH=!AM#U659>(>O- N-3S-Q]9/3[D,\]D*"9FW*T".Y!D(M%GI_2^<Y"&,'_A

MF36 69H!:/N)S]=-"#PI%-^][Y9D\OE</CD)Z>1/95.Q EEY6AO>'5;Y"8:3
MS8)L< :MG]98>SDF<93?A&W?I&/^(79NX"E6RWST&=EO\`:7,+$'6[W?!SI=
M%Z..BEKXLI$TM["<Y$`OPPCAX>+R\HN5ES< W._I4V.5K-9\BEBK?S<`Q229
M98L-"/X7'D!Q`B!JU4 U1IIVU#O'U1XNPDX)5";7X30*"**7 ]VML7Y;OB68
M.>QNH-1SGSE_A)0+S&^!EF:A_J5'\SKCJS".>/[G1OLDJ56M>V_+QN+H?#V,
MJKG/F4Q6-<G,,?%S_:G*7"JMA>^^7Y]2\-!8EA0[ZNF*+W>-_0KM8(Y3ZN=-

M9*_L0NBCG0SA7&Q^\82->W3<M>>A&=/D+NO(\\'8L:B7JLC 6QIHWL_=%&,E

M*3+J!9BA=`?39?N%'> $L(<M.V/LEPERD:&,^) "' `Q^CO,6P 6D %]UH4N

M5GIB)SQ^*]$/#I$." M>C5\]$0#Y>R1BBXI:)Y3>N-_4&1M!E3T93 <L8_'.

M'"T2IC2D:G48U/^0_4[ZJ/0J1>LUN"W"C>_<8C%__%A4>N&5^GS:6N;R(<ZS
MM6RS\^O2I8V?2*EI)*]GH04AUF;Z+"&F_&/571G1XZ27)8!<3`<FA1Y.:.>+

M\3P/;G &6_Q4D`%JPT^P80(%%BU1+?Q>943%.W[E.I-$-,N/T",:WEI)S*I0
M_QGFAP*71 L1+ZWR.. 6--"(CW)G ZFAN?%7D?Q=XW+2=&FV)ZIQB2JD!2-G
M:L"08*$`.N_Y,IOS$N16*'>C<+;(3?E38[;(XYA'_\8MK\P=1>_'BAO+3ER0
MS(7II) `U7=SG#LD7

M]60$MR!+IQG,`''/\C'J P"]&FPL^>`8S:,?OYL2^ZE_-,Z\6RZ>+Z,QK"\,

M;+]4::W#Q
M_H?E\F["Q+)^;2L$EGRKO;YQ(A-J/\'TO:%3B'DU/4D[[%K.91W0B'T\(_$S
M+;"=]'U!I%(<D"',(9C_'006JS?#Q
M-^)PKDDCX:>_B,1BQ++7XZ,/N.T[P1AYZ?.OV1B3,`.]<%R<&32T7Y`F4Z%M
MH8.S"AT4\,,Q2G7G2;BIO=\X"_VZ7^EG_+MDW5C.W^^'7K0X=1IPIP >]`&8


MBZKWSH'*IL[W6:P>JZ>RJ`*>S^2[$,Z<%*$ G>]AC1T&,:6<A]&TBTPG/6EG

MBBOXGQTQ74XID00PH#R'C E!EL#D,U3GB&'!H+>5:K;&NDE))! R:_0X/N`-
MCW9[_9D0%/G7DU8"^861G_6J&WC/E%2$2PA.<)) -*6R_Y/6L'9+-$93;XR;

MCVA>N=$DPYWT4]#C
MQDWNQ"U3K C^)!A1LJR/[ZJZHD02N[BV_:MA\.(W5&TB=6E\==^CB/$5(V<B
MY;O!7J>KZ&_-(;D9+\B<Q<>/ IV`XEY^+0D/4/I-R"+1 231D`6?=X%ZZWW;
MMZ=6C:6+*MX&TX +I'"DU;V:6:^>V\W'\)NED,4%,77A7]M6?*8^?"NQ FV8




MBE26<67$&U0"V_/:"*\+?9W)U4Q#L/B)[1N4;4IXZ^/=OOGV8:%80)G^XT4>
MGTDE'SP0E4:-`763L5<Z<>: 3ZHM,Y?R&1(,GRGOPWL^CR)Q-Y-)QBHZLZ-[


MR.5GY* X,MRXCE/$[ %$A/EB?F:G/+;RVRC1#GV/O1#FK)WV8`9VWA,!_,P=
M7SI:$MJY`Y?03 D57HZZQK'PO7V9:UMFP,N.RQ)"EIA,]IPL,Z-1IQF:K0TY
M%&WD>'O^ Q_1O=59<XXM037#S
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

M_WQ6C/1V&)`S`<2",E#GVOE
MP&OJW[WYNBIZA7<S$G6"'N0X U.:O:\(38?GDZ,I_/7&2D3NJL`^?6^LM1A&




MLR\]:2P6U_DSF77;N,>T;KB1C17_EZ:C-#XN3:H[H91`4'C/ZGX%`!WE&X::
MM\XP8'Z1*BSW8ZYXG(V] %.WU?\W_&[V$1 PX$O5>'#PH,JFMED4MAX/Q(F$
MH??^D2HL)JZ2 F?])'MWW(*'V3N492"BA:)+<0OZ7$<;Z`&?"3$A)VONW699


 + !E`' `90```!0*`0!J ;:,R$G'`14&`0` ````````
`
end
Feb 06 2007