www.digitalmars.com         C & C++   DMDScript  

c++.dos - Executables for DOS

reply "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> writes:
    Walter, have you considered using WDOSX
(http://michael.tippach.bei.t-online.de/wdosx/) in order to distribute also
executables for DOS?

    I think that there are still some people (lime me) around there that
also uses DOS.
Oct 14 2002
parent reply "Nic Tiger" <nictiger pt.comcor.ru> writes:
Check my message in c++.announce news-group "Re: Using DMC from DOS" from 2
july 2002.

Nic Tiger.

"Javier Gutiérrez" <nikkho NOSPAM hotmail.com> wrote in message
news:aoeemm$6bo$1 digitaldaemon.com...
     Walter, have you considered using WDOSX
 (http://michael.tippach.bei.t-online.de/wdosx/) in order to distribute
also
 executables for DOS?

     I think that there are still some people (lime me) around there that
 also uses DOS.
Oct 14 2002
parent reply "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> writes:
    Sorry, I do not see it.
    Could you repost it, please?


"Nic Tiger" <nictiger pt.comcor.ru> escribió en el mensaje
news:aoejvh$cud$1 digitaldaemon.com...
 Check my message in c++.announce news-group "Re: Using DMC from DOS" from
2
 july 2002.

 Nic Tiger.

 "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> wrote in message
 news:aoeemm$6bo$1 digitaldaemon.com...
     Walter, have you considered using WDOSX
 (http://michael.tippach.bei.t-online.de/wdosx/) in order to distribute
also
 executables for DOS?

     I think that there are still some people (lime me) around there that
 also uses DOS.
Oct 14 2002
parent reply "Nic Tiger" <nictiger pt.comcor.ru> writes:
Hi everybody,

Have you ever wanted to run DMC compiler tools from DOS?

Then this guide is for you.

First, a little of theory:
1) We run some Win32 executables (not all, only console mode with limited
API functions used) from DOS
2) To run them from DOS we use WDOSX 0.96
3) Original WDOSX 0.96 package doesn't work with DMC executables (and also
doesn't work with Win32 exe's produced by DMC), so I patched some of
companion WDLs in order to make it work with DMC.
4) If you have WinXP (what a misfortune! ;-), and are planning ever run
WDOSX stubed executables under it, you should use patch for WDOSX.

ATTENTION. If you are not going to change DOS configuration (I mean
config.sys and autoexec.bat), you should check the requirements at the end
of article. If they don't suit you, you should not waste your time and try
steps described here. If you can change DOS configuration (as for me, I am
not afraid of it), you may look through requirements later, they will help
you to tune your system to optimal performance.

Now, practice:
1) Download WDOSX 0.96 binary archive from
http://michael.tippach.bei.t-online.de/wdosx/
2) If you have WinXP you may also download fix for it from
http://michael.tippach.bei.t-online.de/wdosx/
3) Unzip WDOSX 0.96 into some folder (I suggest D:\wdosx)
4) Unzip the attachment somewhere
5) Copy files KERNEL32.WDL, ADVAPI32.WDL, USER32.WDL to WDOSX/BIN folder and
overwrite existing ones
6) Now its time to find out what kind of DMC you have
    a) if you have Digital Mars CD
        than your bat-file is DM_CD.BAT
    b) if you have free DMC compiler
        than your bat-file is DM_COMP.BAT
7) Look through your bat-file in order to assure it is safe and doesn't
contain "format c:"  ;-)
8) Run your bat-file with following syntax:
        DM_CD.BAT  d:\dm d:\wdosx\bin
    or
        DM_COMP.BAT d:\dm d:\wdosx\bin
    where d:\dm is the root dir of your DMC and d:\wdosx\bin is the BIN dir
of your WDOSX
9) If you have done everything right, you should get BinDOS dir in your DM
dir where new (dos) executables are stored
10) Now go to dm/bindos and edit file "sc.ini"
PATH=%PATH%;"% P%\..\bin"   to PATH=%PATH%;"% P%\..\bindos"
BIN="% P%\..\bin"  to BIN="% P%\..\bindos"
11) Change your PATH in autoexec.bat to point to dm/bindos (not dm/bin which
is for Win32 executables)
12) Look through the following sections regarding requirement and
limitations

Requirements:
1) I've tested WDOSX executables and DMC dos-version under following
circumstance:
    - clean DOS, no himem, no emm386
    - himem
    - himem, emm386
    - himem, emm386 noems
    - himem, emm386 noems novcpi
    - qemm 97
    - Win2000

2) However, don't be fooled, not all environments are good. I found that
only these work really good with DMC compiler:
    - himem
    - himem, emm386 noems novcpi
    - Win2000
    Other environments sometimes make DMC compiler to abort due to XMS
corrupted. I don't think its problem of environment because not all EXEs
behave similarly. The most probable reason is that some of API functions DMC
uses are not implemented well, so they produce these results. I'll try to
look them through more thoroughly.

3) Here is performance table for different environments (lib of sources:
972K + headers: 233K)
    clean DOS, no himem, no emm386            not tested as smartrv.exe
could not be loaded
    himem                                                        14.17 s
    himem, emm386                                         13.35 s, random
crashes
    himem, emm386 noems                              13.19 s, random crashes
    himem, emm386 noems novcpi                   14.55 s
    qemm 97                                                      n/a, but
approx. 30 s, crashes always after 3-5 files compiled
    Win2000                                                      7.07
(using Win32 executables)

Limitations:
1) DOS version could work wrong when using precompiled headers. I'm
investigating problem. Try to avoid using precompiled headers meanwhile.
2) Ctrl-Break and Ctrl-C handling is not implemented for DOS, so
    in SC.EXE, DMC.EXE - you have to press key until all screens are printed
    in LIB.EXE - you cannot interrupt it with Ctrl-C, but can with Ctrl-Z.
    in SCPPN.EXE - compiling is not interruptible
3) Modern SC.EXE and DMC.EXE don't care about command line length, that is
they don't pass response file to SCPPN.EX when command line is too long. So
    a) avoid using big command lines
    b) if using big command lines is inevitable, do the following
        - get SC.EXE version 7.2B4 or maybe from DMC 7.6
        - copy SCPPN.EXE into names: SCPPX.EXE, SCCX.EXE (old SC.EXE will
want these files when used under DOS)

That's all.

If you have any questions or bug report, please feel free to ask.

Sincerely yours,
Nic Tiger.



"Javier Gutiérrez" <nikkho NOSPAM hotmail.com> wrote in message
news:aoelf4$ee0$1 digitaldaemon.com...
     Sorry, I do not see it.
     Could you repost it, please?


 "Nic Tiger" <nictiger pt.comcor.ru> escribió en el mensaje
 news:aoejvh$cud$1 digitaldaemon.com...
 Check my message in c++.announce news-group "Re: Using DMC from DOS"
from
 2
 july 2002.

 Nic Tiger.

 "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> wrote in message
 news:aoeemm$6bo$1 digitaldaemon.com...
     Walter, have you considered using WDOSX
 (http://michael.tippach.bei.t-online.de/wdosx/) in order to distribute
also
 executables for DOS?

     I think that there are still some people (lime me) around there
that
 also uses DOS.
begin 666 DMC_DOS.ZIP M4$L#!!0`` `(`"A<XBPC;*/Z_ (``.T*```)````1$U?0T0N0D%4E59A;]HZ M%/V.Q'^X0ZK>QEJ_-=V^\,2T0B*5E82H`:U/0D(A-F UL2/'*?#O9X<$4DI# MR ? .>?<W'OM<\DO$JPX\,6BV: +:%W=MJ#;A58+EEQR($+,8I%#QDDHT]\B MZ OB2\J6<'4[[5%FCKQF(\+E5<8T%)/'6TVTGJVDV0C42K/FE$V]/E(WRYJW MJ.LZ583AH%<-.X]5N'W_:)F6>XY2A2>1_T(0V9"/"*;=KX[OV56X.;'=<[B" MSU%&O=]G^CAQGBROBJ-"&#62[3]4MMQZKBQG8+MG]M2^=[W_*[/P'JSAL(HP M<4RKDC!RQ^?Z[ITYF4F **,?H9+S,#DF9&ZY.[CECSG<N\68OA#!2'AGH#4. MWX<UICY^]6/Z,9XF1+Q'LV=^1_"4,J:?Z8TGO<&XV5""1*9S*N&&\?4B*1WO MPK,_(7B5*.3+:C:. LP>/VOR#YZOJR .3%U^V?67:"X2[,_/)8+"R)=H"F=? MT*V#U>N*RMZ_)+EB&-35%-.A+K\T+NKOY'Y^U#Z2^X%25W&8,+4[7!HYM?,Z MY93,T3\0>$1F?\YI#!&)($W\)8$%%["S;Q9YC35T")CLK&I\T]=Q&L?DPM G MV)B4ALRTC>;^2YZ8.7*L3Y OVNTVW$M)F*2<Z55^WPV)KPH-N! DD"!77*U" MRD "E$$^6=4OT_YW]XA.+ 3W?OS010C]U[KZY5Y-$=+3M 4W-U]/0Y GK4+; M&SC=M[+BTO)CM*3491"&=P7LWI08;C8Z;]Z7QBN:0"II2.565<9>B9")JJ / M9$."5/KS<%<>%Y (4$%$RK+].LSI 81 OW,I(J:Z-5QLLR8,'$4"7^40AWZ MX(ACNJ $ZS>N?Q*0*R)('D3_NPBZ7$GXW/\"# U 3)=$7.M]-'(.RK\G^M!T M`$>S $<QFOL2D&G/!.=R%OMRA0"M,4\VLSEENQNYT-KX41P>I( [4QSISXRO M&WCT*!=YZ&V3U,^L?+L/?1,X"[?7Q5;IJ\!T>!H2`6E"RIGJ#6#X+U!+`P04 M``(`" `B7.(L"5"+U8$"``!Q! ``"P```$1-7T-/35 N0D%4C51=;]HP%'U' MXC_<14)K6>NMZ?;"1-7R(0VM4#2HMH=(*(EOP&IB1[;#Q[^?G8\2:(OP`^3Z MG'/M>Z[M>PQ7`D04-1LL`J=UXT"W"XX#2Z$%H)2+5):0^RZ4ZV\(]"7ZFO$E MM&Z\'N.#IUFSD=!ZE#-=PQ3ISA*'_X:JV0A-9%D!X]ZL3\QD75-':1(2W.)' M\*P_G4Y.Z6/&7TXE&#_\'I[2/XYZI],'&9>H3BVA0L(X^PC50L3JF)"[=KMW M[>_ \=4UUWM!R3&^=<F&QF_3NIY/UW[*/L8SA?(MFJ_YG<"?C'.[YFS^W!O- MFPTC4#H+F(9K+C:1JM59]>X.PK4FL5B>9E>]O#N3OV_NN8K7;IXKJ-I[+O^ MWW51[MX/`C/4^87(4D P 4SY2X1(2"BLRK-OJ(7V255AB_O-CN.M'),K$]]A M4ZPUU&N3P'\I-S9XF P_01FTVVUXT!JY9H+;J)R?QNB;8D,A)88:]$J8*&8< M%3 .Y2DV7X/QUV*)3BF$Z</\5Y<0\M-IW4];'B'V9#MP??WE?8 *Y53:WFC2 M/915P\J/T9K2EH&<% 44KQ.GS4;GX(V:KYB"3+.8Z9VIC*]1:F4JZ -N,<RT M'\1%>4)2E&"2R(SG_=K?B9&&T+YSADB9M4;(76[":&)(X)L]I+$?&C 1E$4, MJ7WE/BO0*Y18)K$W6;+E2L-%_Q(F+(0Y6Z*\LGUT2PXI_Y_MH>D`31:A2%(2 M^!K(8+R00NA%ZNL5`;*A0FT7`>/%1"D<;OTDC?=2H!V/)O8WYUL#CY::DADY M-,E\YN6/^V!3L! E"![OX"*2B$#%AL?"IT OKZH6VE%I^ /(%.8;H';GMB&< M_ =02P,$% `"`` `C 34+&6G+=Q*`0```! ```P```!!1%9!4$DS,BY71$SM ME3]+PT 8QI_$(+5:#2+X9_$*#H)2I!UTK-2"8*551$$0/,E1`VE:DI[8N7OI MX!?P.S $)^GDTLT/X#>I=Y<([>0D*MZ//,=S#V^.O.^0.[ZLP01 80&C$1 A MIH U?(D!/-N87W^:&68CHS+,]OMGMVY(6D&S'M &:?"P36X8";A/N.^P %RX M?B&?26_LXI=0*P,5P\3;=L_ZS-[1>YPUS%4U&#,)[40DGH[RIAJ!8 KIV.RH M82;9.';\3G*,/.?A!_LN50_*$WW)/J<G:\0G7N>80]MTK'=9EYJL*ZI'H]'\ M-2+Y`QO,8>LE7I;D8J'[.AJLZ.G\+VHDOL^L1)MBOR=T*+1L`RFA1:&,T)7( M7"$NU"7R6C#4?4>=.]IR"_F<XWDX9?62UPS9$>M(7VTQ7]C],5^^5[L3SH+. M.?4XDX%&H]%H-)KOY0-02P,$% `"`` `!WS5+%/%<Y*I.0```' ```P```!+ M15).14PS,BY71$SL?']\4U6:]\E-TE[:E%R 0($*J09%4K% 4:2M)&G+SP+I M#VAI^55H0^D4RJ8W"BZ.J:':Y%)U1IUW=L>==Y RL_/#G7'6"A5_D+38 D,5 MF='101T$=(-!1X6A )6\W^?<FU+0F=U]]_UC/^]G\^%[S^_GGG/N<Y[G.<\Y M94FEBPF,,0,SLUB,L4ZF_NQL//MW?SK&]DML^*2.87T9G;JBOHS''BNKV]1D MV>IIW.BIWFS9[&V2+>MK+1[O%HMW2TVMQU*^:<O,&2E)UCO9?Y.?JY"Q(IV! MO9F9N".>=X(]LCM9)XQCLY&8HF5*&ESJ[/"XP*> __0L*=Z8)E/+&_J3U#8: M&?8,8Y:Q_X$.'F7,I_]_/^[\906%VH=6.T1C3;BVCH6Q=06., =/K-/&; +N MOK8>2(2FU=94R]5J(QH;2P,6?:V>?9JGMJ%Q _;.H]I<K?]:/==_%_[XG]__ M_/Y__OGR(J5VQKQB)TFR+A/;962K[&S7#08\VT4\`K=)>$Y,K-FXV\!^O+#$ MSA!CK#UMO9WU&M/QI):]1JG:SA87EBSM-:8B5E T<T:O,0VQ:>4%13W&=,28 M,BEP PG$E#\=2%UM9_O'K[&S`>6UF2%EYM/N .#O$GZQ,^0]WS,_9G'W.J]8 MF+_;</(4DHR2#"_NA8B*X4>Q-/;N,CO;37U4MN4J+R:&T(^V D13S<;V3.8_ MFZ4,=#(C8WW3'S4.5-F9_V!FYU=0<7T9'E->8>F\<O,3QIO7V5GDSG&,1=X4 M\5A'#].M>%AFXO%,-KTS<+.!M358CRY?OMQ_ULK?%WE_!$8SB[]Z7JY2D#5% MW]-CY#/IRZ,I8O*PIYI-5J;3L7^*'>V :ERNG"T?VJ?.&O2VWVI54JAO_9_W MO^T/U2C+Q8#3H!18T\(G3'GLLUC,:]Q-Y0&GB-S4P5R]8K &G"8\D:4X30%G M*LHM ^4):E[ *2';]#5B:<A-OXY8NO] UEKEP]5=!H9_J&"(+3#8C 5<4L!E M0D[D#^BP4F8UX+V]3HD^>LQIH*K(LX4"`GJ.; ;HQ1+>C9+R%0/*#JM)Z;>% MGJ>O]L6OVI;%;*\IHXFC;*$5Q<H<?Y>A)>8UK%P3G77NIRO7>*.^N7G>C^;[ M#\=L(527S3I;>$$_AD[MY5$YB-V;K!Q:`+K2N3U1P19:LQ9<JW*OR'83985U MVT+=O<83]#WPLX6&UJ#<[HI'>6GL1.>?7_Z7][O!T6E,L5N[.XDONSN),;MI M"NC+'4'[-*:26[Z<DY,T<A*+R583D!IY;R2T5N05/%$9346%WD8T,!%J;8.: M;S=H!8HK5WE":$61_FA)SE'S3HK2]THNL$H_)T;W;L=W5!:9PF>DR62=M95U M2:=J%0'3(,F)_B[QY+GH" 4<DVIM";49I.U+E<> H'U**SW1JODD;_;$40GI M4S;>TA1OF3ZT9:J_D]HPQ9>*P&NTA6P&:Z6^"U.WOPLC)_8+)CE;1?O.P]X+ M-J06=*6S%>7^'=:TF#>%ST$O5D4`S(L\BYJ7'GE6S;-TDI6IH!:^7+I29$W+ M*;):F R(62Y -#KYUE.9P3'!.WV7'1[1=[GR7KVOR^*[0HDKE.BQS)N_<,Y; MWA'1/PR<^ZDW*4Y"3C0_'FHK8+JU:S#Q*\H'U Z-I0[90GA9ZA?N7]L0O/'G MP(YXUT90)]3\=)[_M[IWSOW/?^UU<:;JU.N8KYL60J_30-9:KU,T\L 4T5, M,9Y*I6"0&?BZZ14*D+QN[6"%8D'V.BTNWLPZC =3$GG-S( S*^#,M ><LX%< MP YJYA>-!I>=>25$1$3:[!:OP7\HUFU^EA=T8P0&_R7[A%!3HOF7*93E/Z&C M;JCY32DU&Y4QF9Q%`X; A!"5BFII"E\KMA!5&]Y.":VN(4C,O6U%]LC!)6'B MK)WW'!+RV+SU&+TLY9TRD$3,.TV!$!7C,S SA,<AR-S2%?[[12BAF:$U58<Q MKW5IJ%'/(ITW8L"%%WOMW*+N+Y3H*WD3E247_0L-.FHCBY"9RNJ+ 5&*]V+/ M0XE$V7]_.O,.4PHO]MA%%LWL+1R ULWW#Y"FNC]=69*N7S(0'(%6BG> M6RB MZ+N+R<98X4#T.!JI/3ADHEZ5*X4BWM\2\ Z;&5JKEN#E_0X#O<<[LK_0Q'MT MM=1_?QKRZYFR_&)L1N0R/IRM,#50F*:L3D,'VQY)1</ .*50"CQD0E19GAKX M'LE291QT72F&_$H&*CPD(NOZMU+[[U&!,CZ07,_:"B57S)L:NR.P_'SDW])H MOMJ6#!3']M(KE/O/*V,A6TMB=T2FHA-*HC]D6/NWAY;Z-X>6>MW0)OWGA_:Q MY1N&EOKO#<WT-X:V+&WHT%+9(>EZ7 )_+Q&5X %04OZ1WH"^Y+PC7RWUGN^? MQX<LSU66G%>^0UT/++^(-ZZ^6!K[#0T -CWR\%C>B<(!%QIH_7B$DPL;BM&1 MZ6-IP.>;NR O-B.P_+/(G1.1M?JS7OW FE??N.O0S_1>T6P)62^9;PP=/U57 M6<G8#][+M4(+P_I9^H-W<JT5D^=B)/Z+<[WV3MHA]4WW73)X1NXZ9!9"%PZN MX\U--Z)Y\(^^;N.NP_L+T^VLTRA0S=.[K7_Z:/?I#.N7'V5$=17=!U))V1[O M%'AI8&Q F<'?*^;[OIQT3W378=OQ_7/'HZV>E^9C7JG LVY?'IE&6,*^ 3S9 M>*'7)Z>XPB<D-RRHOHPF0T5?1K?_H*&[GD5WU.NBV^J%J%ROCVZM-T0;ZHW1 MNOJ$:$U]8G1=O1A=53\L6E&?%"VK3XZZZDW1HOJ4Z(+ZX=&">G/47B]%<^M' M1&?7CXQFUX^*9M6G1C/K1T>GU(^)6NO'1BWU:='T^G'1M/KQT=3Z"5&I/CUJ MJK\A*M9/C!KJ)T79Q&F/<$O5M>N0&ZHMO<)KBQM .;X=5H-.GD"!7DYUD57U ML'$!Y%X.?U;(XR8];+!.BV6_0C,T33&\DH;P84BOW_8:;\'H$R$OVO^$2."& MW]$SY3 ]1_^!GK->IV?>;^EYVRD\\?7:>Q'N,G;3<_(!>M[VPCI5<[;_&R+M MB=4\E=8>5;/3V_^L1BSMY]2(M;U?C1AR):\QX '7Y"9Z[_+E+>)CRNHQ\L M(Z2 $1ZS?FD2P O1E$[=</#_L[J^Z56>CSI)Y^1*\FC%T&+">-N_5"E+[>9J MLMR3JU7+_1$C36 O.OEP.AG)XF]=)?5,Y4>PXO&3E?W'_*_:_2<>N.FH^<6N M_6 2"CZVN(2F DA65G2[XI\A$H:5=EWGOC(9>.=*>>^>%7CGU''HGK%\]*./ M+),J7J^C/L5F49_J=;%91#?R.GI71[$Z^AB1ETA!0QMUPNV2%3YL"K[A.VGV M74[RP%!(]'5E]66$PX;;4$EJ.JT9L.&(Y(H<XI:CU1 Y ! %I<HJJU :^0U2 MG>3PZ)O>-+SN^]!ID?E(5:%&27'=#RE-3JI(`/4B._&H^SGEW80\L[[;%7F* MLCHHB^;9+'2'(Z(K4H7<*DVI!D<X=AZ3$SJ$OHSH.<I#)Y0&JWB !$-7'J+= MBBN2`^WW<*JUQ':TQ*P[X8KM/41V]=ZC_/D$?WZ?/Y_BSQ_QYT'^/,*?+_+G M'O[\&7\^PY\=_/DT?Y)33REDMF,Y#Q:!$^01_3SD$V/$DH_^6^Q?GT*&J\/< M)UD?R-7+B9TDMOJDX-CY&,-=OLN3O=,0]UW.]B9&[KD2BT4_]%V>C?B3%'_' M=[D:\430B_9%?D!9/7S8(5NH;V9GK( V76O71G^$31#4 K)$4L*G$F)R<.#D M95=L%JV->A;SFF)>L489X;\<D].4 R4E_+N7N&(E!O]!J5(9":UQBC8H$MM] M&A/?$I*%V GM4S]LI"PD_+3J_:NL!E8)`TML.>8=5K/QT01NIL%J`0OFF*SR MV>*2XGI67!(KYK17*L.BD2XR,CHGT==L-YX%-4^C:U.(:S ?;78A7\0*;Y5R M5,V,M=+>5\XW_W(T52Y1*[F4!;E*D3A%?Z >8W+%WF )553*)O.SO)*-#)XZ M'R-E$GN&ZD<ZAEVU"!=L;R%3;D4I[2HB-5Q1FEOF(WR9OM5N(F%^,>1-L)^Y M!9FN38>H(\UA294K4O'4"T')WCK"X;L\S2M<Z=EYS/OGG1>\:3V.V+26"UZQ M5U=05,2B&;TZ[,E9=)SB&$BQ6"PLKZ:A 7F36B[(">Y>QT!Y064GRP/O]U^* MQ28<[__=3=U5WL4]3A.+O/M%+-9\E 90T ;S-2C:6Y.<ODL937]9Y+LOMLI[ M:65Q4.=H%9S09!>HAAN4^C(J)QQN/DBM^M^X*2QO*57>MH4B^_4TOI7R6E?' MW9%=>%6%^=D4&F+ 0=*BO0^2*J:9P?X 5?#.CKR%1*0&BJKXFEG6J;.\TCL& M=BVUUR;8%:D0:;<VSRMB&G>^#+:L6 /[E#X,G^ GKG"!0.P#UA+YSAYIS24B MC\XQ?H9(.SU0*OEYZ34,,M<%0N)0)E&.*G8X!*1M $G?Y8HL--(H*[RI0VNU M:\06;'^.D[</=D,6<XS4#^_DV"QRE42:P)6T:;MW TO-P1NE2"-R*VA7.[0W M=W\#NTY5L[AWQN6*3%:I2<K1BGM'EK XK9LT6 NV[^4[9;(-RZR2+>1NGK.D MTKM:*<G5(]T\AWSEWJ5*R39**HO23CF5^RQZ;,252?Y> WX5(MA !?7!FY-. MR,/G)' -\_*CGYW\P!:*IBG.-%M86635%UDE\SZ#0REX<(H>'8'AAH6Y3JG+ MU3= X_42";B6F/R _R42:4R^1W_15IBM*\Q6QK8<D^OPYO2711KSOLP[PWTF MY;UP--7M_TKP)KAUAO'1',1UWF1NJB!=$9V*#+W72&63$#5XQ_E[!*5A_!6W MDGEGV]-&['A9^!/)'< <CX*<>PW>G^BO1+];W4U=4IXV$BNU?&+>F8Q)U$= M%--"-.^D'86^T.2*'/ J% /S.$B;\XP?JAE9RN\IJ_DLV9;*1>5('46*79'1 M8+JRNFB9G>GO-Y77G2<-\L'E6 QU5K.6X_#<K)8"JQEF,YT(*#-;+FR?? VQ M(\K%.+%#7\6)K>#4OHM8Y'%0\XK^5U+/+$%?V^0$845YY)8KO%M_E=*WOQK: MK15UNN6 M!"4]*LEVVH6T.M7,]MJ"=;SF5I0I?DY:]X3!B-U,B>6Y9&_8%H> MW !BSY/3Q7^V3OE]Q]S(<SR["-DY87-+`4)W<ZYU2:6Y9;:.>Y-RE<O^C^UR MJGG/&U*GCB ]R)N,(TIUI+>(S!:>9]3(?$6[N5PKL:.YY3/5+' UAV-F9'] M'BW_P;IZ>QW+PLBP[7A/X')T9P_5_ SO3.<OX]T>S0F3EE3>4E['FPP\XP=, M?=/CY%%,O?MY.LQ X;^=I\)O\T+O?>9]BU+]76G(?QWYGGKDN96EN>:]1<,3 M]$>_=7 *C9]*7" I4B[K7RW.R;4V%?CFTEYCOI \7Y*SE/)4\/6MX&O+U5X] M0*W&*^4F99FD?XO&3QG#0,;H[YT2?=YV0?DP`.=*->QO5WWL&B&0$1<"17 U M/4:"P/8J'!>&BJ;$ ,D: $I<L/UW*RML7,KDA"N:C*H'%;ZH,DBM,L&D/]K- M-.>$+U= LMX>[=?<%43TJGSGSBT1!A6(HL0$PPI28_&V$?(PM=)B;W_K>'(H M5$&L<!OL)^ =/;D6(39=D9\CI1&)4[>% L)4W?C3OCE,3J9]>8+3`:GXL?E MZ+I:N0Y/0F[EO8+)$LSP#9"?:(#\1$<L4P]^K?D;:G-N^BT&$1.(8*[GDETR MX7" ^S<RN(,O.4Q]O;ZB_:]5C'>H(Y?*/3K[M57B7<84=.3]M1KJRSKI5(VJ MW!1NC],W#.T(A"5Q2(>3*D&^F9\^*FF=4#7'+9%;.*?+9 6.6WQR&[$`:S*I MKDOL4$/<=1FY3:T6N9I/0\ "6C9X'B G-)^A4;MI04$AN(K->WZ+W9_.V#>] MLLD!AVPZG>#)Q H(]QW<KPU-3X7PLC=WQ>92TY,L)/^I^6.B(_]!>=6\YW<: M!<_'X5.26WDG?O P0NEN[E;;G$(GN_5'KSIO*TH#:?H_!BH,[L VT1W8FC2 M? G?Y&7EU? 9X=PO*TB!2'P*)M/2)UX,")$;5"?#K:JW_CCH>&[8S>VMURD^ MPK\>EN)ZD^J9T['HK8H86&2 >4L*+"+W-HT.3CR[ZK93 S0Z\>U,5[U<,$I2 M?'(VO3CR:\8G="H4YU&W FXJ6Y,Z!=7-3V-8N\8S?(A_W!:R#SJD)=KO8#&0 MFY";KV?3E8/UZ:29IT1NQOJ #Q,<Y+^L\Q]E7C/DA,D&69%39K4BPW\P'0S4 MGJI `9-%I+M&#.H/!5+2J$BP&:E*CI%2G13M+J'-0"JL$(^8\V :A2/]75+S M90;EZOEP/Y7T_[&-UZB$5YR2ZG[!Y ])>43"\RF<["[:C3&_M84,&K; ^Y>* M;LV<[>;^<]]LG;WI,KS%!F[#C.)N;Q(BW$R%?7IA`:9BG>VX[1,,T\K-3IS/ MU"IO(SD%6_=,)J?$<PU*)(IUDLL33B6R?\I3=O8\?:F.N<C)4 Z=&OUPM,/> ME_%PU',CI.7$/"IL^D,/V%4'_BQ'R7M 01[:0OAD1K[66H[+21UW]V4H[]D^ MB7Y133VBWF#M99&D<;;J\TG>+5[LRUEE?C*D?[M'ORJ?.O \?;6 L!.$4.?D M7WKS#=/DS5M[\D7:[9E <^OFF?==(%FM7+$=>YYV&.'7#>8]EPWADX;XYO7D MV>:N+/P"H[!Y,3'O1)!.50WG)M&=!Q%LBG;"9J8N5D5_50VFL85X#Z$ZQ.!( MW\D_^3ZV=]S1E^'.PQ>ZU;PO9-YWW+SOL'G?,71C"ES:F=AX9 42D,H.3 HL M88$Q5S GU7"9=:30W0V5^4K-^R!N.LE+G?/V/>;2CHTHHU251U"ZJ]3=E>AJ M$CM=*N_R3[Q--\<[AT246Q'](0'.?JS5I!ZGL&I%FT??,3_>0="BQ;#&0^,S M^7(E>)> 6K03%!/?;F/-ZHDN*NB/THY"-O0(JYPDA4\) 1%\6WUU?^&, ;-, MJ+^"9KMC7%^&P=&:,,_=FS!GU;QYMF,=\_LRUGBFDOCUS>:*["(:B% RD>>P M(^RXBY86.$>,^_'->T.<(6RD+2+?H3ISHC=&6A/8U:&."$J^5RV^CZL[AO=E M^)$K=.1<%5=$D93/$+*&H62Y'L6N5-;W"!25$$WH%;2FJ6K*I*;2J)K_1HJF MJP7S'&6:W+"HJL&\-]EWV.([4^WN3![==[N[^<M_^1>OR9T<P Z>#B"B+EIM MYKWC?+^U^*+K.L4"OGA&J36(>Z/3^-%']);.86I9NKN_B^%TJ9.8-2I12D2* M7"5TW,:UT L6.E8[K#7YRZC#B[WGE'!5=VGYS,-T,I=S2<Y\ ?H9)SJZ<]V< M5>0LU7?#&#'=:PPD8LN0[_]R_#WO]B0R);R6M '[]_PC%C19,[NS87_J0TUI MS1^3!7[RO#K#?T>FY:$8JG:,[\LH+N&GBL0LG6PIO:=RI6<--H'4N) L$JQ> MY^B KLUA*"YQF?<YQ] CS179 Y,4;/H=AH##%'"D* XQX) "CC1_=3I3G.,# M# NUG.AL=62V-F=A( [PVZ<5)&NI&VH7Z%/S:?%?MC35AT\F-G=9(1>I9QW+ M,.9RS5+YQA[<^'_5 V=T\2YP#B6>]%^T>,SJ["2H9YW MV>-- 5-D3 #/I^B M<I386Q#DAR$G+_0XI^A4ZP("T6D[9CN,+D]T02^X.P78&.A\JCO L+H#Q3>O MK(0T0EX57\ X`,.[R[G5!WEE.]RQ`H+*=)7)HT;^WK6TAI;HU371X2!A%J\S M(62/&S=Q(VMQY!7<H&I*;3FLA.$TLP^M3GT)Z*JH5>IUMEG+82R1#.YCC5M' M5Q<C!&'3,.V%46/XI)3<1<:"2 ']ME_7I^LL+I"/S*!.#2?],J0[6* ! ==/ MY=\`9_>1),\P_T5]DX$&1OQA8$>6ERIG2Y75IL4TNWQS RF^J<3%DX*:3.6] MJESIXI8_,O05T:2K75(^K%H]Q$3DBZG*,R[T<:)LF'I!%GT?^<Q/=EWXXY4N M\[ZNZR5-Y*BZQS)$OH](DX6?/F,JPY&)05\1&&2A_Y*Q*266VC8;"0^ZGCY( M (:0SN*:-RFN?2YU8]I ZW:3.<L?GD_5P$15[,1%59XWNIOAA:-C07D2Q<A& M:)J #H+(7)W**I43XGP:F:CUN)/E\Q>;.VGY^S^X4Q:4\)#QJ3,<^;.Z^1-1 M ;?2J:V^69[')[&<UW&H^M%_5BPK+HD\#C:MJ"21`88R!G2!8H/&78.)U,$$ MIQY-U"A?Y2BUDG=85=RT(^)MF'17<>033,'*2I >]/*F]X:TA2H?4+XXX,(G M>)X.>,_]5![72P8+C>V+`^64+ZKYNDO5W?NM/^ +0J2M7%#G#PNJ-CS?S8YT M<_N>7]W )8CX+0Y1B9\V$P,\+& J.'N44G])!:'S:;"&CLLIL'548T<63IZS M(9NTON7:FJ G<:O('=#GJU6_B%=-&_R2_%"XNZ+2U7R98N:=OWJ?;%FM(ZK" MPUFY9F;3G3^<E2/O`>UJ"8SN!\D)Z$PG^QS7?RQZ>MZH$E_X#F,;^V]N,& 3 ME-0=WX0I E)BN/J%,$[_64DY2#<!X/K:2MY\\G; X3MD.XL[$#:'04Z8$/(, MCX*$34=Q.N%'^[HI3V/+<(>FU]5>]Z#7.)*GDEYGMIHS&]$*-:=NZ!$_YXN. MJ3#,`LFVP\'7W('%0O 0GH; JW F=&3V96 N7W$'\L5 &,^D8 ^>IF!7F\&G M#R$Z/'Z:0.(651T)[H!3"#J,"!*"#EA:3D/0H4< !AT" J2 0X? %-2%3U#I M<&J4:'P1K(4K5O&)(8KF?0Y1.1H^*2*2%-0BIGAD>#AB"![EMP' L-/=1 3B M94(\DA"/Q*NZ#$/?0'T.5B<*IWE_!?->1T+XA-$]3"#Q&JS6H\>A$T+XA+YU MO<ZM.'1'(Z'3QJ2#K<+ 50+4(SL)I/4AZ]Q6IXZBX8B1XH(:3[9.:G7JB=,I M8E3/?8Q6<ZLS08T/LS[0ZDR,D]R_;KFZ?IH_H*LQ^/S8!L"U0 <A8O0S921= MP'DN%D0-WZ7IGA&^2[,]2;Y+!9Y$WR57D_"</IC4*CIQ"49.O-+G_:)UBIUL M4/]%P?^V9A&+O>J-.+N!K"0_[I3YUYF X8ROO.XC9SY ^9E"/**C2:/2+0R^ M-#K)&ZDM6W]$W#\;')4CR"DX^CBFN5L,K/DR9<N6?J=Z;#T66]<DR*8)VM&] M/%+1!82HR;_ H(,W6H1$^I!3ISU# 35S".%DE?"9!XC!)4K(><IGV-E.D;Q; ML&RRZNV167PG+:]5+ ;('3G<WR/:7H,-EW4/+9^L 7-[4#$SLI#.?N903EN1 M3LQ)R<4;FI[MY=>C>]6./2RV;17Y5NB236P:WO_. "UT[A=1H_]CT7:T&F\5 M#7(6- "9ZNDKK7L:,C\U[37202"Y*JX>7$9Z3\%_+VGCL X9EZB.*[I-&]0= MRF>TG\9H-K)O'LT4/IHIZFBLD;^_HHUFRI#1[/]/C$;E7='?E>P[.:"D4+_\ M\$9-C%^O,.# Z5,%=]MRNCSGVXI%?[7A2G1B6\$(N/_YRZ9C. %=+S=CJ!!U M,$,&NSRJ?$"Y3(K*'];#`X*7_G*MTJ7*=%Q$(A'5'>?UN!BJK*CPGQ"QSEPE MW'N+=,F9__45=[Z9OLX/_!3 QLBJ$6DOK#H(M^8J<D)#<P^M&K?M N9 70$' MZXY/N&\Y>47= I40EZ-.QV+M1%'?TTYCJ>[F=NDZ;$%S6S[QIG>L[\N8^,AQ M]T9E8B:;Y(8)W3?=_/2;<&CU27S;C6E'-P3E#;"NH+QJ"^6\:G[BH.^N#$?3 MY9VGY<2 (X83+>8JSM3YWV'*Y^J!E#*PZVVXQ5S^ T(Y/99#X";, WY*;"TP MZQS1+]R]"%-8JQG&[&+EW;Z,MCW676 XX3#,!,WKI ^OK+ARQ*MO==#<+'B! M=%< #=ZG0(48J#!5D^T[!8.)VS?>X?29.Y;T94P]'1"X><[8I>Y+W<4X_QP3 M/B&:]Y\8/C*$IXD_4_A3Y,]AYN^&D\*()(T,"9213.%*[C<AJL4S#^-:I5.R M<]<1E_!8(R32<WU-PX.[V.\J[2RXDQU#0(*?1 ]F[$88`YG!([Y+N^[%CGS7 ML$Y\$US9&_&<SA5QX^,'#U6X<58=G6C>&PZ?$:-CW'D6UG0V>" 8^#ZJ/B>B M\FD<_D"'P$0*+))6JF++?(!?%$O[=F;GN]DC<9C<_[ERZ)F]'^4'PQ\Y Z]\ MY#Q=;=)_5$T]=\K#N3'^4-_HT]76 8^J!^_)T7X-1C.V&*QOIGE?2 GXPVW^ M=4H90O.^T5JRS#K236=,W'-M\ABX<QD6?D",X$87;D&ZN!YHI1O#"[T7L8$! M-?4=_P7:IU(C)Q/)W^_ZZ\0[='UCY(2II_O&1,_W&&M \JK%P[U>D7L3U)W6 M[LJGZ::M8?<*" <5;ZQ(-3OX,?7NQS#ALG'W+ 0!W:#F)$U_F-YD?C+L38[\ M #1O"KTKD$076)]825MC.9'?Q146J+:,-- BD'3*I+K7G\4*CZ;Y\G W93-W M,XX#L5Y!-VBC<%^+Q(<ET;#4EMNIY<1(1B(YA-7F[_+F?\3HAHX[(( "CH+4 M28_-HDENSK3J(*!Q4>Q 6<P[Q149GT!&EXG.8%:3_75_)FDM*LQT1;XR#A;: MZ4S;I;Q[/9DC;GR0!#?TK.#6%\Z LSU:(VY<4$4Z"U?%LLJ*2R//<DKI1.D" MN_XUW[OZFG=(=UPTTO90MB:!)?CKW'J,S[QO!]YA_G6>FI-K-1]8,L.\[P9* MFG_]6_.!U5GZW]H^U_>;]Y6A1^9?JUP%?C*T96]MR]T&Y DV6!.F-E %6!"& MJ2:KNSFLTRF%V<&TX#;!O,](#::&]2%73K]G<K%;2<CYXAZ8;Q-Q^N FIXAP MY;#WS$I]MA5OAX'Q7O2V-GG,E8<OM^T8>T6MWL2K?\JK_UFM;LNVVM3JRH<J MPU;'.9:X::-Y7T*+H?_&?WB>7SK_W']YAO_MF/\B^90AAH>W&()G%DZ-<(UU MGP':R?T\TY7299 J<(84:=>SP:NN/)MOC[L 18+G(><D7E85V:&_RN(%&HM[ M$]N)R:.;E='$Y>WT\.<1"S-YI?^DY#\AY73)RS2>ZC'64 `-?4>IF^Z.N.&C MPC-\1N\.?XQQIZRA^0Z,7D>!_Q1R;EA/43[FJFBBVJHJWMEF<E<RW 8=W^GG M]UE*.T? /K+M.$8VM,X4-H/J-&MU1GYSG?2A=;Z1CHN- Y->>]>UC7E!\]<* M7%"T0WHW\INISL#ZLVD'8";RP1)G"^V+,'08L.U+$0Z:S% C1BH('Y(0*U)C M\:K(63I8YM+*KFD.5H;L'A\^F20GD "'>'%W^L;TW:Y=7[<=\X=&/#^2\]%& M?4*#(7QB^.!N?R)]>_KNS)OF*BG#/0N#-9+Y)5D<,,.,? C -S3Z8'C.H6UO M=I(D0MZ9SV%"G&G^%-JAB.Z,D##!=6-B(/6$]SJ14 9A9.&6VLM\0Y?J_PP5 M>[7K\[=1)=J^DZ-&&>FVA=WZKG!("H>E<)=T-=DEH8^#E.0AE.X'I76 D&W> MMQ)R9EP^K?=,V^_")[&$>5=LY_078-" POV03/<+\\W["DER&%6!4 )[8H\ M#I*K]1'SO +K#%#+1#EV90(.0*>4!L5 G8";JVYXX_VO"(N]GU;A&GY;PRRV MS'NRVJ5R= 46<&2RYKN#/=-L!W5R?_LOC?%\/JA5B4'P>=9M-.]-V&FPDX#< MN'N1H9UJMU.'J& ]-GP[F0M>79 E9 &T%]"&U4AZ2OTK"?=&_]TM!FPM2%ZL M,TP]:/X>+YUZVFUW[Z]A[OZ3[HW]=[08VE=PLRZBX'NY>XT+GJ:[DKV<Z^CG M*G7OYM.PP,UYR[V[3$L1Q_%E;<??WI 0J*KH)LOPZB&%%2+.K4QRYW3?KW<K MW>Y (7,K\P2WLE88DH?T/ /R#,C[MI:']#PT79LP) _Q0F%'BEM!:4XA,_\3 M'7ITE[CW']&?_9D.>Z]DW$?O\+G!R$L-E=SRZN5_#HL/HW!9$X"K*L5-D05B M,*661V!6I:SG,0._+L1%EW=;7*PU]AM)RM&U0'G#.DV"D:S2I) JY'3N'/X" M[SAW#A=G7LF=PX69?)LF!J\3=ZJH4R6E+O(#7%3XL9M_!VB5M_!G/=U\>:WS MG[7C,/8%VDWJZ 32LZ8M&ZZ3^>FZ6CPE^F+S4^G)/0+S;T02=CR>T_ S[58X M]MTO9&#5,WW?='?_?(N.>5/;LO]"IP4#!WZ/-SU_,_FC]H!'<=74?] ."Q]_ M>$%G,.3\)V=13G_3N*_H#P8,H]1'FSQ\H&V'>4#_F?XB'=S^A&KY/]"?VS.P MEBYEE:,EOT0P8-Z+)0R_Q GX1;E[(KF+G_3R/0\:_&+MT.JVT,#UI2+[G]]_ M^$=B.Z;]<-TT!/' \ )X6/[GD2(#5+H!F#R-P#W<$+?`V!*A8C6WVH_M"YM MX^?H6* -X2/ H\!CP'> [P*/:_3.XDJJOAB6%W KD T4`E5 (_!MX$G I\ S MP ' +2 *,-RQ30-N`>X"Z(+OPBUR[4;\$7K-IGLVU=1:UF^WW%?K:62EF[9L M;*BU-,FU6]G2QBT;&K?(F[Q;O-7KD5F[;4/M5GE3XQ;F]-16?VMKXZ8M\B"= MQGMJ/>Z&QGN9P^.IWFY9WXB_<6_B36IK:FO8PH:&VHW5#99-6YIDCW<#IU(J M5V_XUM6&+ ^Z EJU-=?4<FS84-O49+EG4V-#-<]8VFC97+NYT;.=Y:-WGL8& M2S[>LTEF\QH:JV5+3>V61L]FO*IQ:ZVG>DM-//O:<:J9F[;4;JO>(%L\M4W> M!GDP\Y[JADTU:GO^1C5_L*-JLHGW?D-=[89O:3G\K_IY#<8>:WOD.X\_^MWR M F6E%>H?^EN:O.N;MF-B-\^Q.-8W>F2+V].X&8WJT,D&#'IP>J>E)!56Y!>Z MRA8N6[JVI#!_64G!'$M^(WJ?9YD\VV(IJ&W:X-G$JU).=4I2_K*E9845998: M[^:M<]#:4:%5+70.QO('8P5J#/5*%P[F#<:<KGBLU*75RR^E2%-*4D$\4AB/ MS(M'YL<CI8-UYA5IE/)+LK18R0I'G/K"./7"^+ MC1LV>#W\\ULV-]9XP7*3 MJS$9S&)9>KL#3XNSNHDF`=&B39LWR6JT;/O6VMO!)90JJ'57XTM::CV>1H]E M2Z.\R;UI _H1A_S(5+BBK7,,`7_57S3'LGP+9W*YT8*/67.U`QDI21;U5[A) MK .GTZ/6LJF)N-3K!OU-M5MDC24'F\OT7S]H-!IY&RTU2&U#H[>AAKI(_RF$ MFY:+!3Q4W=" $4^NGEQMH9$/]F[AYJW$,F#?1D_-IBU ;VK9Y-U*V;4UZ.35 M_H.;&QONH;Y;EFF5L[9-SK8,):QR('45"S[>T:NORQ_LG'L3.H9&0[])QA!" M])LXP\ZF`[.!/* `P"0+8,N%2ZT,P;+E958<>U6HSDHO0D$+=9(:ZK4T';13 M/:.63HC7U^HE:FE1JS=,"ZDG]R!,UD(#ZM^'T*25TZ$OI7'GG>U B(M![-L5 MJF7B0XB]!OL[A".U4$+! PA'(=V&,%4+1VMTQFATQFITZ%8DU1^GA?0_AFQ% M.$&C1S>E'D4(^<^^ Q!_$,4>1T '_$\AM"#\9YH'26V7H;6_40MOTD*C5F[5 MQC59"V_6PEL0/H.0_JN.9Q'>JK4;IK5+1KB7YD5+IVCIJ:CW$D(;PE<09B)\ M'2']$<G;"&$0L3\AO)T<! AA)O%VT[5V,[1V,[5VV5J[65J[.[1V=+'ESPCI MO]CH1W 7,1 LQ#D($A#F(#0AQ,4F)B'$F2L;C9#^FXWQ"'$QCF4 ).O:AI#^ M0XZ9"'% S'(1YFOT"S3ZA1K]>1K]^1K]!1K]A1K]11K]Q1K](HW^$HW^4HT^ MK 4R#^BZM.]:K,U[B1:6:F&9%B[7PA5:6*Y]#_Z[S89IS)YY)V9[&F9N!LN: M/F-F]JP[[IQ]%S[P[9B4[=MOW[SY]IH:1 :C=75S-F^>T]3$'$N8:PE;TKBE MIGH[*_/6-E%87ENS18V5U7D]/#+/LXF"TFK9Z^$1+V^QJ!J*'6IT7NUZ#X\L MJ?9LJ&..K9Y-#8BC G=++1X-VYG#N]';)+-2".K:S>MK/6S9!KF1PJ70BCRC MH':#&L'O:T($4JT18KB6)/_Z[7)MDX72#9;JK5L;-/ELJ:NMWIJA"13\:)T/ M_E<O$[.F649FW'C36.ODFV=,3QLGC9J4.N;V$;>-SAR4Z7=!H)2(I5*I6"8- M%ZZUZR1AA#!2&"6D"J.%,<)8(4T8-UACHC!)L 9PHW"38)5F"S</*1MIG"; M,$VX7< 2I LSA/^Z?9DCY4IYTMW27,DN.22GE"\52#EBKI GWBW.%>VB0W2* M^6*!F"/D"GG"W<)<P2XX!*>0+Q3 [8O%)>(RL5B<+PJ"7C (1B%!2!1$89B0 M)"0+)B%%6,BM_7*I0BH7*\1RH0*MXC0+Q7EHN4!<*"X2%XM%H+44U%R AUD3 MR\3EX J16JT4*\7CXKOB>^(=XDNBA4V7WI=F2MG2+.E.Z7UVEY0E+6(O2"^R ME]C+[ !;A_7GQ)HKP#J;A[6U`.MIO[2?O2B]P%Z6#D S!L=9*,V3YDL+I(72 M(FFQ5"0MD99*RR275"R52*52F;1<6B%1SU=*E=)Q]BY[C]TAO22%OH'^(JS1 M(JS+I5B++JR_$JRY,JRS%5A;%6PEJV3'I7>E]Z20)(JDANBOKZW\<V*1T9IB MZJ?,_)O?:J!3M1-.:ICR#.3JLXS-WL?8YU 29BB&T<!!"/(5".=!,= 1_A%E M;H0"%,09Q"T(;QJE(AG"_E:$4TG)0.YN0[P?\;4(_X#P=> <*12D%Z/= \ 6 MT-\$Y?0&PGRD)Z#L;KQK-L)2I/<BOW>DBM6 %?FO01FE <YAU+.FJG2W(/]U MQ.<"?X_\?.05C5;Q,3 :Z03424/X!/IY# II%)3/<" (9:0').3_;RB8N4 ] M%$X^,'5(V I\HH'*?P7X;U'S*5Z->!K",;>HH/ACMZJX3PL?U,*[ (.HTPM% M5 ;E5 640\EXH)#V`RGX?*N ?'X*1)$_#XI'A[P12+=!67T$1;4480O:65!_ M`O NRCX`NE#_)6 ?E-TLU'D<\4> '9#&52C_5X25:'<[Z)U'O 98"]P%C$6; M`>3W`SEXQTN `VVLH'\KT(/\K5!R%]"?S^]00U>VBC6SU+*#0^)K$'\?6(FZ M1U#W=\ 9P$-M4%Z1K=;_$GE-=ZJ =A/1_H=H\QS*?H+X^RB?C' _XJ_-5/,O M`3[4W0[\!8JV%>&W 2>!2J1EA*\CO *\";RGU>F&<HXB_%!+$]J .JR=65#0 MOX;2O04*^A[ ?:BR`BCG+8C_*Y3U(N 58#KR!>0_!L5\FY/N%F ^D7\0"OIQ MA,=07T+>CY&>BOA#B'\`Y>Y"&=U8VTIU"U4<*;P:WP=%W HL`(8]#SX"; 9L MP"S `10#ZX!&8#OP.+ '> [H`EX#/ `^`0: %/P=;QHP#9 #S -6`7\'^(%' M 9\#!X _`&>!Q!>PIH'; %Q $5 !; 6: <> IX .X CP-O A<!:X`"3 ;U7' M`#<!LX'Y0"7 !8+ 4\ S0#=P#/ `. ?H\*>_8X%I0"&P&M *^('O`;\!7 (. M`V\"'P'"RY!70#I `_*!,F C<!^ `#\'# %O`!\#EP#Q`&PB8"IP)S /6 [4 M`\W H\ _`<\!/<!;P"G ,I "KT4:<#.0#2P"5 `UP%; [X%6X'' IT '< `X M`KP%? !\`EP`A#!D)S 9F ,L!38`6\/T!Y^ `?P(^!5P`' => _X&. '3%V, MC0.F`+,`>Q?]D1]CZX%&8 <0!/X1V -T`J\"[P+G >$XM+\!F KD`H7 "F C ML UX"' "^"'P-- +O =\`23C[Y/'`[. 1<!:0 :: 7\`? -T`6\"$: ?T+_" MV$A $I )+ #* =6 !_ #NX G !\!3P.O`&\")X%/ :^ )/R5UT1 !F 'RH U MP'; ![0"CP'?!WX$_#/P*V O\#+0"[P.O U\`$2!<\ `8,0! QD8"X39*O9[ M[*#6L%] P4YCWV*OX/).,_L9:\0^: LLA8GL>] )[&#WLQ]#\9FQZTED3[+' MV![6Q=Y ?E;''L3.ZS7FQOZCE^UB;;#WQ?_3WM$&1W55CQ60*CI,;25^3(O3 M0M':>M_NWO?>[ML/-LEB0C?)-ANR*8[")ON2;+-?O'V;#VH+H_T(_4&I50H* M- RV I:6%A1&01D!B14[&5MJM& CU,JHXV30Z2!3/\Z]][V7MTGZPW_JY/UY MYYS[WGGWGGO./5\; -? :RR-A-_"+^%7\&MX&1Z&KV.F)<-^S',,C#X^A7G8 M#9C[_ A,J$ 6.B$#7; 1V!^V;(5'L#M2QDQ"PRQB#'Z",<4"=/^'X'.8O3R M&>$B>!2&82<\AM6Z3?!EV M[8 0S3P_&XNO !? .1CG/P1$XAMG;,_ L_ "^ M#]^%[\$!_$.+PYCY/ 4[X F,.MHQ[F QR'G,UMX+3\(W,,OQ8X8S#YZ'77 0 MB\_78Y[X"; ?GL;\<Q2VX \2/PH_AQ>A!_/%'.1A`GZ'F>'K< KSP%?AIS . M)['L]Q \"/=BAG<+#$$)?^\]"#JD,3 8P,CX=O %? L>Q[S-ASGOM9 ?KL#( MYVZ, SX+9V$WG(.?03]FD0T8(=T)+&]JQO I ?%3%",I%C^MQIB*15:U&$&U M0)]N%/2<UW,'^_/G*(O7L;J&=00="WKZ*JS+14O9<K0YV0BU.M8&:XM&#NM6 M7 _4Y8IEO8'7L+ ER^EQ>-MV;R#)TT#JPS1:C2%:&F(<X8ZK">:NO7!9)>A MZX5:+*U -B%&ZK.&C F',12=3DA9A% _%F'L43=3!C=AGB$FX)#L]Q)&D947 M[:&DGD^7>HL&OEZO=U9Z>*$3P9R.TS.R)B8KN:0N"I."*KXU!:> OEBN1U9, M`&U%1Q0QK),:TUG$"I5\73JG8SIF-!:ZBU&(82'3FA/")11KK-"?-8J%/*Y/ M" XG:W-M*[H^YJ+&67;E?'J*GN3U1YN8LP3>4C%+%3-J(O?.BCG+4%UOVL R MJ6ZP+Q<R?,<YM"IKE$TA`88VZX,NK!7+4!6CBV&Y2KG7XMA80(;6YG(Z>T' M95C%*K=F$RX^W</>0T6PM9#!LXIB5GJ*T^/93H,GN C;LX'/Z&:T+L%N=0DF M<PX5\WD4=1SKP=%I>$K ?!+6:Q:"R771F.+ B4U8I76AEOC<K[FUVWFY8A X M=Y>63Q%M99A!:<RX:&V]J*B9:A+;9429> BY<K;UV7(?DT>RE.X2BZW'NKO. MBJ <FRG+V:GO\'!J&KD];61975(\CLK-ZMBN-7%UL35/,*TFI6P2$Q9;!=I- M[9!UWEA#R>Q&![:7S6%<%(<KN5PB;?8VI_-B(O&TT:.7[2W!\GRF.& SB:?+ M9HR5CSG"#,EFR1%=V"E'>Y M<_&YA>*F\S4V\;HIFY S 6I2:HHD%L:?::ZP M>DI+M]MP^#%7GF6TJ5 IHQF9)J)LN"76)-2.=57$.=?-)&6=Q'R V!7-9 QK M(ZP]:< J#$.3> B:53+#;HUA5DK.\I-F9FH7!%]'B:90OC1Q[%BU^7A=8_U, M8KK0XR;;EN$ZL*JP:-F]UVUZOE0E7F$.8K\XGNWJPVH4MJLXDM?7% MNA6+D M-67=F#;%=CR3K%$+C U&JS"^O/9BKI)WL\-G<L7.=(Z[40OFOJ_+M+!5N30S M+ &C-5J +5".X/3[++")-Q=P!\R*_5:K[N8NE)>#:PHY]B+;2/$$ X1WXR!V MC[!I-L1A_FD&V-P8S'DU%M!381MLXPRWQQI^!ON$GL&:GZ$S*W<3L9V#':T> MW4UK+# /EFO3&7X&F(9 &BH]>#BG,U6$%'YTZI&J8==0?6U=,HYCM5A2C TB MH9TU[CCW-)N P"TUB-=A&&#KOPM)`;+HG[',.+9&+/\1=2-,`QCJ^!/.7DBO MRNVZ?+^ ,UESR!8VVV"'#<ZG/:L/M'2SMZHQ7%H3EEF%9VU"_<RR!;<54]C0 M9*X9A)OA`8M8$R1TO<]];D3AKHIN#"6P/\F4M-"E<W- 'SR=CM/<4-$+74/0 MFLZ6=:<Y!VP3+)91-V+Q9Q0^]58,A;!-YT122,CC[%W.;1HA!:TFDYJEY0QC MRYW"UA0&\(1FT%ILW5IT]*-%)TQQ.]4H5JD='VT:EDT9;NJ4YYY.3!3+6=&; MKG;IR5G]-[>4J2'A1QR^,YSZ+,04(\8*&6O;D^_ .V>G\Y?MT+RMB$>^0W!Y MU.1,CVJ1$JR!+R3CJ"K"0F#BN$RZ_6'2?> CLL9N73M* FPX0Y1+L=M1[62. M90Q3A[?+,MIT(X\-2B<.A[9<61 '`MQB\,Z.V'2NPN&D#;_CQ]<4\E6FU)Y% MMV5;J(5PSA:,7S9Q,VR4VP.DTED3 R;Q:XB6SGO8`[:YM14=&P1^&#E6X<:L MH%K0^$3$P36K.U['_17>!M SL"[7Q4-LO+-S&^^Y,AHTWO$W"06\B:=SXND< MGN?80['O40'D2_;=(60=P"*5ANR[0R X "!A;F+?H_^+/^GYSZ[%XK\L")"5 M9#5I(Y\GO>1+TE[I&O)!\F%R([F%$+*!#)+[R''R8_('\B_BD4)27$I*DU*_ M9\RSV/LA[WG/9<]5SVW>9;ZS]!S]/;U"E\M>^:+_9."5P&3 K<!\[?W:&?^[ M`Q\)U& ?UV[5;M>\FE^+:#&M24MJ=VOKM%XMK_5KF[1A[3%MG_:\]J8V+Z & M5P>' G_2_J9=U18%P\'AX-; ]N!(\*G >T)+0K>%PB$S-!FZ$KHV_$!X=_A( M^,5P3>362# 2B\0C]T2^$#D0.<T:IUC39_^ WC8R1A9)-T W2C=+GY3\N )# M&I"^*'U%VB4]*YV17I4N20/>S=Y3WI>\'_#5X$I>IU?I/'F!LDCYM$*55J5# M,96-RE>5-Y5_*M>IF]2=ZH3Z9_6T?\)_R?\7_U_]__#/#RP)W!18'I ##8%W M:<<#UX4:0MG0UO".\+?#Y\)2I#ER.#(:&8]PN1/^>REH) ;90\Z1BV2!1*2= MTLO2WZ4%GNL]]WH.>2YX MY![Q;O'N\+WINHG]Y)+\O;U;WJ?O60NELYK+RE M=* OJ<O]RP+=_L?]"P+- 8[ NL#[M&/:2>T"_M'2IN##*+/7 A>#?PR&0FM# MG:'[0P^&]H<.A=X(W1RFX9;P]O#\R)+(\LC*R 8V*ZQ!FWCK(GVD1/K)%K*- M'"1'<-^/2Z=10A,HH\O2V](\SWZ/SWN7]SGO;[P7O&][K_$M]<F^>E_<U^%; M[^OV%7SW^CY&E]$[J$KK:1-MIQ5Z'WV(/DJ?H$_2I^D!>HC^D)ZA$FN0LZ8R M-IUVD1'R3;*//(-?/$R.DF/D!#E%1LE9W+=7R# Y3R;(&^0246F0KD2N#70] M[:4E.D WTV&ZC>Z (W0?/4B/TA-TE([1<3I!+]%)U$60%\J+Y1IYJ;Q")K(J MKY0;Y(3<(:^7>^62/"AOEH?E;?(.>43>)Q^4C\HGY%%Y3!Z7)^1+\J1\109E MH;)8J5&6*BL4HJC*2J5!2: VK%=ZE9(RJ&Q6AI5MR YE1-FG'%2.*B>4465, M&5<FE$O*I')%`76ANEBM49>J*U2BJNI*M4%-J!WJ>K57_?\_7N:NN6ONFKOF MKKEK[IJ[YJ[_KNO?4$L#!!0`` `(`(X$U"QQL4T_)0\````P```*````55-% M4C,R+E=$3.U:"7141=J]U?7U2PA)I0-A#]!)^D$ (31TAR5$Z,[*DD ( 4! MD(9T6 PD=CJRB$.4H) 61' 7%007$!40$%$T J*HS*_(*"HJFQH,HR*.N#"^ MJ=>=`$'X/7/^\1S_F=0Y]WWU5=WZ7M6[5>]5G>Z<PEP8`!#"H6G # 22`^WQ MFXD!.TT0G;<VVQ^] V7OCUZ^/'_:]')SF:=TJL<UTSRSHMQKGNPV>RIFF2MF M%;D]YH+ILVR]PT(L??$'2;D90#8SXF#",FHH.X)E:YHS0SLHTK'4%YKJ80X\ M'7_>X'\$_L01$LB4^1]F?=G%R11H4Q\&N4"R(1!JQO_6P4G QM]AW&DCTC,: MC4NIQT5)#G52NC/?V>#X$241VI GAU"3.+W(Y775QW($G WB+L-S7\3+K7]6 MW7_%<R1ZW"6E4^IYD^KC)?Z*E_M'F4=-J2G]?TRU7B.P0W^+[0ZMMP1?NH4J M^[&%AS3I-%2&;Y>E*59/9$K_ZUJE.#VA*877A:6X/)0R[SIC?,UY)F&2SVNQ M^.9;XGS9EH3C8=5*9NUZ`A8'91T[XVH(UY 47NQ3,C-K-]333E^!YH^UZ;=B MZ22?)!4O"<JZ.)8OWT*2$5QM2*V]1 _"G%4U%:<#U<&-JK/]S9E3)WQ].<(A M?L7VQ3Y#:FKMI^<)Y]N/*_3M/KL;T+0*4?F3RQ-4^=.\V08ZHAVM3(;WQ\ID MER>X,GG>;%YI.)):5]>8[M3IA9)N/D]WZO1"G6Z6]$FV`_+N<<WW>3OY'\<O MU4IF"KP1*2Z/DB+ODV!>')25.J2B=DF^)<HENW/%!D[90-XIX< E#<86+DFW MA-;JH]FS-7R_R;( A7N5XAT<^TV:5];<:P"VA&TU[(_>$J)?96%P;=4EA8&G M8<(._<U?.=]"!J]Q1VA YOBGT:1SLCMQOOD6R]()EH1=JUHZ9/G&%-7;HJJF MHN6&I5E:?+K%(KL2Y=HCBROXAKH/=U9+EOY8SB0;EN8Q[W=:T9WGJGE537C5 M*AEZP\F[Y+78QXL7R9)J?=X/,NC%"V1VC._,QJH:KPSSP\2Z:Z57_*2D>8-K MHW1*W>F)=1-\?%'-W)"SA_8&]<BJ,_CXJ.?UKWUMK!S*^+J!N](C': S[LJ7 MQM?RN6!9%5\3ONYM>OD85:<;L>'8-W7M=AV4/3R9K6G:KE#).YDJ<R<[R\O" M/72RC;13TLI'%4VOF#.V9%J/6"MN^6CYX18.G)+ LF6$1)=ZV"72)89)3)<H ME[CA(IRJ;Q?Q+[;3[W>X_G[\7VAG[=7;9D_JT[=??]?D*47NX N^,S4M/2/3 M=N#LF44U>5YC[;=RG&/)NF&/+]T2O+#&-$/)?3G!0 N/A"])MP3F4&<&+*KQ M9L?O\YEXOH4T_XH*F:,LS1]JJ#L](-MB\C3SR>NB?=ZN0XY;ELCL2-U?N-M0 M[#/43H5_W<EFD16G]C*,W6W2IY4)DD/' [>C.J+J0 7?3:C\*:0BN/*7,"_? M$C:D^EM];CKKCLKFX=MK\D;Z6I68'7A.W^ E&[Q!,OJQLW4AOMWQ1KW\G=IQ MA7O"GVW,*QY03_S^8F+W$Y*:%Z"IFG\:4FKAGDD[RY+UB5V\Q)":^DM-Q=G: M>'W>'%BX$Y*H>=L.N$G/>(T+=P?7?>F[B:2S5H_AVJ.I=H>DJ/WD]?^:1G" M3$:=K-L8!\;IUN) OFZ[.!"DVS 'WC9(V]V!=;J?X,"7)&VB`]ODN,NL#AS5 MZWL[D*?7VQTHT&T?!R;JMI_LK4SZ /4=LP$<!",4!"$8S1""Y A%& 3"84($ M6J E(M$*K=$&;=$.[=$!4>B(3N ,,Z(1 UA8H*(+NB(.W= =\4A #R2B)ZSH MA=ZPP8XD]$%?]$-_)&,`4G 5!F(0'' B%6E(1P8RD87!&(*A&(9LY& X1B 7 M(Y&'4<C':(Q!`<9B' HQ'A/P)TS$U9 $%R9C"HK 1C&F8AJF8P:N00EF8A9* M489KX4$YO*C =9B-.9B+>; >\W$#_HP%V&B^$3=A(:K0Q7PS;L%B+$$U?+ 5 M2[$,MV$YVIK;F:/,'<TQYI;F2/,]N!?WX7ZLP -X$ ]A-9 P""Y(&(4B D2P M:"9"1',1*L*$$.'")")$"]%21(I6HK5H(]J*=J*]Z""B1$?127069A$M8D2L ML A5=!%=19SH)KJ+>)$ >HA$T5-812_16]B$722)/J*OZ"?ZBV3Q$0[C8WR" M0<(AG")5I(ETD2$R1988+(:(H6*8R!8Y8K 8(7+%2)$G1HE\,5J,$05BK! G M"L5X<0[_P"_0_NOU-U$$M:"6%$FMJ#6UH;;4CMI3!XJBCM2).I.9HBF&8LE" M*G6AKA1'W: [Q5,"]:!$ZDE6ZD6]R49V2J(^U)?Z47]*I &40E?10!I$MZLK MU)6J0;6H+G6R.D8=K4Y11ZH%ZI_4">IXU:1&JG8U08U2H::H$]6KU4(U7YVN M%JN3U%RU1)VJ3E.+5+<Z3AVKYJFCU&O4&6I;-51=K%:IMZK+U4K504Y*I31* MIPS*I"P:3$-H* VC;,JAX32"&(TDHGP*H (2-)$VH5W,LV ?TSIZ'5:KJ__K M]7\-YW 2QW "1_ 9OL"7J$,MOL97Z,5>P:O8A\^Q%]_A>WR+G_$CK.P]',8/ M6(M#F,BN9D?Q-YS!3SB-=]")=68OX2ELQ"Z\ #5X`L_C OXO8S=JL!X-^C^, M1]!8_^/8 \;ZK\-.;, ;>!.OXZ_8C[_ ?]" _Z-X"Y7JN_ 4!W$`?Y?UVV3_ MW\>'^ ?X!0T/(VM>!*;9<]?Q'8\AK/8 4UX',_B.3R#+4WZ-]*_E 6Q+Y#* MZI#+1K*O,)>]`H7M0W^6S'3]KV(#62$;[]>_B+F9D[V/L//Z$S.R&]B?65O6 MCFW$/!;*KF:_UK\]F\ :]+^>S6>-]3<PSB[5/X*9F&!O(IQE,5W_#JQ!_\EL M%FO0/XVEL\%L$G.Q?/8A1K,R] ]\C"E,U_]CPT>&UPR'#!?T_\!P+1O+QK$F M_1= 8;K^C)U +/L,02R5M61C6 &+9W,O6O\Y['O$L(?1H'] _;^/=0#KSLY MUW(>ZVA^%.O/KW_G)?H3"V5M6>OS^B>R29?H[V$S+M'_!F9D8:P=:\-Z,A<K M9]?H,ZS1^U_7/YNEL<#Z3V=]6%\V *6P3-:"9;!V9GW]1YD;UG\G<^#]W[3^ M&_2OQ(W^]5^%([BYT?N_8?\W4LE3OL,Z.!3]_1^MQ"BQBD59"U7IHG15XI1N M2G<E7DE0>BB)2D_%JO12>BLVQ:XD*8WU_WV^_WV4ODH_I;^2K#B5;4A5TI1T M)4/)5+*4P<H09:CBBAFF9"LYRG!EA)*K#(YI^/XO,#?IWZ!_8/^_")??_]^. M%5B).W G[L+=^/7^WZ5-UJ9H19I;*]:F:M.TZ=H,[1JM1)NIS=)*M3+M6LVC ME6M>K4*[3INMS='F:O.TZ[7YV W:G[4%6J5VHW:3ME"KTA9I-VNW:(NU)5JU MYM-NU99JR[3;M.7:[=H*;:5VAW:G=I=VMW:/=J]VGW:_MDI[0'M0>T [ J,X MAN,X <_P.;Y +4[ZY_ I_ U?X6M\ ]/X%F?P'?Z.[W$6/^!'_(2?T;3_OW#^ M:V]>P3J9NYC-YFCS7H/57(W^YCQV^?/?84-,]'U(-H]BNOYSV&JLP<-8BW5X M!(_B,3R.]=B )[ 13^(I/(U-V(PM> 9;L0W;\2QVX#GLQ/-X`;OP(EY"#?1] M <'_K=F+U_ Z]OGW>^"!W9Z)O8-F_%T<Q&KV'M['(7S W^$=QM.,\T\1T)^S M2_5G/*!_!#N-6*[KOX8UUG\3>\+<I/^5]_^G<+G]OP;]^Z\K_ >,Z]HM/_? M )UX":;8R^__?Y_W_V;^*5;R&KZ6[^';\ I_E-_#U_.MO%/,7KZ-=XMQQ6R& M.Z8HQAP;'7L63>__2_6_G:_ *_D=_$Y^%[^;W\/OY??Q^_DJ_ !_D#_$5_,U M?"U?QQ_AC_+'^.-\/=_,M_!G^%:^C6_GS_(=_#F^DS_/7^"[^(O\)5[#7^9[ M^&[^"G^5[^6O\=?Y[ZW_/KZ1/\F?XF_PI_E;?#]_D_^%W\P7\R6\FM_*E_'; M>$#_#?P)WJ3_OVO]-^S_+[?^_[WG_V_P=OWYOQ?[[?/_+_BD_OROG_\:SO]M MS$WG_ROIGT<&&D6<1A*C?"(:348:0PH54!"-I6 :1\VHD$)H/#6G"11*$TG0 MU11.PRF1AE)WLI*)>E$$95(7LE,D)5$K2B<+V: E-=8_ U3J1VVI0?_^U(X: MZY],[>E2_0=0!TJA*+J*.M) ZD2#J$'_SC2"*M6>Y" S.2F:4BF&TBB6^E!K MZDTM*)L2J'7TDQA&\=27VM! BJ,<ZD%#J!ME45=ZK$E_+,#;QG>,!XSO& \: M_VI\S_B^\9#Q`^.'QH^,AXT?&S\Q?FH\8CQJ/&8\;CQA_,SXN?$+8ZWQI/%+ MXW_2][\I_9%2W$4_(>H_)]JO\)/B<%D^T?'K_+",O.$9V;;>B44E);J?.7U6 M49Z[O+3",\6M_W$LR^T=D9&3EMOTI/_XB48&_L_8NAYQN4"EQ"&),!.0+S%7 MXHT(($;:5R562]PO_5;2]FL!K)1(D% F<4J6-9=UW:5-D':81(G$/%GWL[2S M(X%P><_V$MTD;!(#)7(D)DA,E?!(W"AQF\0:B<T2NR7>DS F\97$.8F /-EG M"57"*A&$2 3#Y/_:Z%\4_;^8A)8(13A:H1F:(PP*C! (046YVU,_ ].FN3S9 MI;/='N>%;&I%<7' '>Z>XPWD\DM'N&=>E+W .>\67' #V=%E90UQ_=E FW1W MN==3.K= ^JRBTMG(F%4Q,W^:Q^TJ"A24ZPMHF'ONY%*7IRA_;IE;]T?-+?>Z M9^:XO9[I4\HQI%R/Z"PIF^8:7C'3+<N<R"YU%8V2U;.F.I'C+B]W376GELZY M.)\A/=FS_%)_XPO90*<:N047W +,+B^38;W%SJ;E\I^13$"5- _W?KUWABW; M-L/FM:VRK;:MLSUNVVC;9-MJVV%[P59C>\7VNNTMV]NV [9#ML.V([83MEK; M*=LWMN]L/]C.V6 G>[ ]U&ZR1]K;VJ/L9KO%'F=/L%OM=GL_>XK=85^9M"II M?5*')%M26M*$I!E)UR<]E;0]Z84D?Q_, ;\*DS74&FF-LEJL"5:[-<6:;LVV MYELG6(NL)=8FH7Z?]$]02P$"% `4``(`" `H7.(L(VRC^OX"``#M" ``"0`` M```````!`" `````````1$U?0T0N0D%44$L!`A0`% `"`` `(ESB+ E0B]6! M` ``<08```L``````````0` ````)0,``$1-7T-/35 N0D%44$L!`A0`% `" M`` `C 34+&6G+=Q*`0```! ```P``````````0` ````SP4``$%$5D%023,R M+E=$3%!+`0(4`!0`` `(``=\U2Q3Q7.2J3D```!P```,````````````( `` M`$,'``!+15).14PS,BY71$Q02P$"% `4``(`" ".!-0L<;%-/R4/````, `` M" `````````!`" ````600``55-%4C,R+E=$3%!+!08`````!0`%`!P!``!C %4 `````` ` end
Oct 15 2002
parent "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> writes:
    Thank you Nic.
    Seems very interesting.

"Nic Tiger" <nictiger pt.comcor.ru> escribió en el mensaje
news:aohs21$kts$1 digitaldaemon.com...
 Hi everybody,

 Have you ever wanted to run DMC compiler tools from DOS?

 Then this guide is for you.

 First, a little of theory:
 1) We run some Win32 executables (not all, only console mode with limited
 API functions used) from DOS
 2) To run them from DOS we use WDOSX 0.96
 3) Original WDOSX 0.96 package doesn't work with DMC executables (and also
 doesn't work with Win32 exe's produced by DMC), so I patched some of
 companion WDLs in order to make it work with DMC.
 4) If you have WinXP (what a misfortune! ;-), and are planning ever run
 WDOSX stubed executables under it, you should use patch for WDOSX.

 ATTENTION. If you are not going to change DOS configuration (I mean
 config.sys and autoexec.bat), you should check the requirements at the end
 of article. If they don't suit you, you should not waste your time and try
 steps described here. If you can change DOS configuration (as for me, I am
 not afraid of it), you may look through requirements later, they will help
 you to tune your system to optimal performance.

 Now, practice:
 1) Download WDOSX 0.96 binary archive from
 http://michael.tippach.bei.t-online.de/wdosx/
 2) If you have WinXP you may also download fix for it from
 http://michael.tippach.bei.t-online.de/wdosx/
 3) Unzip WDOSX 0.96 into some folder (I suggest D:\wdosx)
 4) Unzip the attachment somewhere
 5) Copy files KERNEL32.WDL, ADVAPI32.WDL, USER32.WDL to WDOSX/BIN folder
and
 overwrite existing ones
 6) Now its time to find out what kind of DMC you have
     a) if you have Digital Mars CD
         than your bat-file is DM_CD.BAT
     b) if you have free DMC compiler
         than your bat-file is DM_COMP.BAT
 7) Look through your bat-file in order to assure it is safe and doesn't
 contain "format c:"  ;-)
 8) Run your bat-file with following syntax:
         DM_CD.BAT  d:\dm d:\wdosx\bin
     or
         DM_COMP.BAT d:\dm d:\wdosx\bin
     where d:\dm is the root dir of your DMC and d:\wdosx\bin is the BIN
dir
 of your WDOSX
 9) If you have done everything right, you should get BinDOS dir in your DM
 dir where new (dos) executables are stored
 10) Now go to dm/bindos and edit file "sc.ini"
 PATH=%PATH%;"% P%\..\bin"   to PATH=%PATH%;"% P%\..\bindos"
 BIN="% P%\..\bin"  to BIN="% P%\..\bindos"
 11) Change your PATH in autoexec.bat to point to dm/bindos (not dm/bin
which
 is for Win32 executables)
 12) Look through the following sections regarding requirement and
 limitations

 Requirements:
 1) I've tested WDOSX executables and DMC dos-version under following
 circumstance:
     - clean DOS, no himem, no emm386
     - himem
     - himem, emm386
     - himem, emm386 noems
     - himem, emm386 noems novcpi
     - qemm 97
     - Win2000

 2) However, don't be fooled, not all environments are good. I found that
 only these work really good with DMC compiler:
     - himem
     - himem, emm386 noems novcpi
     - Win2000
     Other environments sometimes make DMC compiler to abort due to XMS
 corrupted. I don't think its problem of environment because not all EXEs
 behave similarly. The most probable reason is that some of API functions
DMC
 uses are not implemented well, so they produce these results. I'll try to
 look them through more thoroughly.

 3) Here is performance table for different environments (lib of sources:
 972K + headers: 233K)
     clean DOS, no himem, no emm386            not tested as smartrv.exe
 could not be loaded
     himem                                                        14.17 s
     himem, emm386                                         13.35 s, random
 crashes
     himem, emm386 noems                              13.19 s, random
crashes
     himem, emm386 noems novcpi                   14.55 s
     qemm 97                                                      n/a, but
 approx. 30 s, crashes always after 3-5 files compiled
     Win2000                                                      7.07
 (using Win32 executables)

 Limitations:
 1) DOS version could work wrong when using precompiled headers. I'm
 investigating problem. Try to avoid using precompiled headers meanwhile.
 2) Ctrl-Break and Ctrl-C handling is not implemented for DOS, so
     in SC.EXE, DMC.EXE - you have to press key until all screens are
printed
     in LIB.EXE - you cannot interrupt it with Ctrl-C, but can with Ctrl-Z.
     in SCPPN.EXE - compiling is not interruptible
 3) Modern SC.EXE and DMC.EXE don't care about command line length, that is
 they don't pass response file to SCPPN.EX when command line is too long.
So
     a) avoid using big command lines
     b) if using big command lines is inevitable, do the following
         - get SC.EXE version 7.2B4 or maybe from DMC 7.6
         - copy SCPPN.EXE into names: SCPPX.EXE, SCCX.EXE (old SC.EXE will
 want these files when used under DOS)

 That's all.

 If you have any questions or bug report, please feel free to ask.

 Sincerely yours,
 Nic Tiger.



 "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> wrote in message
 news:aoelf4$ee0$1 digitaldaemon.com...
     Sorry, I do not see it.
     Could you repost it, please?


 "Nic Tiger" <nictiger pt.comcor.ru> escribió en el mensaje
 news:aoejvh$cud$1 digitaldaemon.com...
 Check my message in c++.announce news-group "Re: Using DMC from DOS"
from
 2
 july 2002.

 Nic Tiger.

 "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> wrote in message
 news:aoeemm$6bo$1 digitaldaemon.com...
     Walter, have you considered using WDOSX
 (http://michael.tippach.bei.t-online.de/wdosx/) in order to
distribute
 also
 executables for DOS?

     I think that there are still some people (lime me) around there
that
 also uses DOS.
Oct 16 2002