Initial
This commit is contained in:
983
uudecode/16888.new
Normal file
983
uudecode/16888.new
Normal file
@@ -0,0 +1,983 @@
|
||||
Path: iad-spool.news.verio.net!iad-artgen.news.verio.net!nuq-peer.news.verio.net!news.verio.net!logbridge.uoregon.edu!su-news-hub1.bbnplanet.com!washdc3-snh1.gtei.net!news.gtei.net!dfiatx1-snr1.gtei.net.POSTED!not-for-mail
|
||||
From: Virgil@Home.com (Virgil)
|
||||
Subject: ** Jenes ** 1st Time Post - jenes01.jpg(1/1) 41511 bytes
|
||||
Organization: What Me Organized?
|
||||
Reply-To: Comments Welcome
|
||||
Newsgroups: alt.binaries.nospam.denim
|
||||
Post-Count: 000017
|
||||
Lines: 932
|
||||
Message-ID: <XrKq3.644$te2.24714@dfiatx1-snr1.gtei.net>
|
||||
X-Trace: 9/mo+5aPextSzx+/aETev+b+3gyi/jlFFjAQFVhGS1Jlq3uQ/UB17C8mpuulYmB+qWgA+VxGAEHX!3dohhEwwcLDrcvw39UT6cMeOkt/pjXhYbEfPVaOAMcTp/h3N/y+kKKk9SobJ1as24qB9sO8=
|
||||
X-Complaints-To: abuse@gte.net
|
||||
X-Abuse-Info: Please be sure to forward a copy of ALL headers
|
||||
X-Abuse-Info: Otherwise we will be unable to process your complaint properly
|
||||
NNTP-Posting-Date: Fri, 06 Aug 1999 23:44:55 GMT
|
||||
Distribution: world
|
||||
Date: Fri, 06 Aug 1999 23:44:55 GMT
|
||||
Xref: iad-artgen.news.verio.net alt.binaries.nospam.denim:16887
|
||||
***** Comments Welcome *****
|
||||
BEGIN --- CUT HERE --- Cut Here --- cut here --- jenes01.jpg
|
||||
begin 644 jenes01.jpg
|
||||
M_]C_X``02D9)1@`!`0$`R`#(``#_VP!#``4#!`0$`P4$!`0%!04&!PP(!P<'
|
||||
M!P\+"PD,$0\2$A$/$1$3%AP7$Q0:%1$1&"$8&AT='Q\?$Q<B)"(>)!P>'Q[_
|
||||
MVP!#`04%!0<&!PX("`X>%!$4'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>
|
||||
M'AX>'AX>'AX>'AX>'AX>'AX>'AX>'A[_P``1"`'@`H`#`2(``A$!`Q$!_\0`
|
||||
M'````@,!`0$!`````````````@,!!`4`!@<(_\0`11```@$#`P,"!`4!!08%
|
||||
M`P0#
|
||||
`0(#``01!1(A(C%!$S(&0E%A%"-2<8%B!W*1H;$5)#.2P?!#@J+1X1:R
|
||||
M\25CPM)D<[/_Q``:`0`#`0$!`0```````````````0(#!`4&_\0`*Q$``@("
|
||||
M`@$$`@$%`0$!``````$"$0,A$C$B!!,R05%A0@44(U)Q,V(5_]H`#`,!``(1
|
||||
M`Q$`/P#\^[O=_71*W7MI;=53O*LU<LIT=D8_ZGU[^R"_CFLI=.D;$R\K_A_\
|
||||
M5[JTE2TE,#].WCFO@GP9JSZ5K$=R#M&>K^[7V379C=6<&J6S?E2$K)CQWQ_I
|
||||
M7I>GR<M'C^MQ5*T;AE2Z,T8/4<?SBDZ?(,-%,?3=>.KL?VK,T>?\P*QZAYKT
|
||||
M!%NTRI(BNI'<=Q7;&5G&\=+8B.!&N`)DD"\D,.V:N3F.2W-JX.!R"/K4[4MX
|
||||
M&C4F6''S=Q2EM9%B#F4/D\C-68M7IE=(.AX.Z2<5T\1M](GCER`(V"_X5=M8
|
||||
M9%N#EHSM`W"D_&,J'2KB495E5V&.W8T28W'6CX3NS=3M_P#Y$G__`$:K"MUM
|
||||
M26XGD;;[I7_^YJ?'MSS7B^IE_D/<]'CXX2Y".%J[$%8[3VJI;O[E\5>1.RUR
|
||||
MO<CMC*BW:HVQ?N*NIWV^:K6^WM5M!U*PJ'^#5C%'2&/?D4U3@$#W4*#+GZT2
|
||||
MKB1'_FE,M+9)`*9\4[WI_A0$*KD>*)%;MXS2;'Q=C`,)^SYJU`6WJ*4G?A:;
|
||||
M'G:&`[TI1MCO\#TV\'R#5F$EF)`X[54`;.?!.:MQG:&V]P,T4"6QTZE@0/I7
|
||||
M1>UD\DYID;9P1R#2TR)LM@'M5,ENG0R'F#9]S5A<&"3'@9_FDCB1D\=Z<N4F
|
||||
M*>&&*D)/09ZE<9[JN/W%,=N@X[@9I41",01VQ_A1R,/MR-AH8?98"EH@5]W.
|
||||
M139,9C;Y2<4JW<JV1V/'^569`J6BEOU<?M2LAW=%=S^0Q^C<_P"-/C4@EOU&
|
||||
MNEB$@GC7C=V_UKHY";13CJS2-%H?>QJC1LIY=>0:4@/X7CN&%6+G\Q(9".0<
|
||||
M']JB/`+<=)[53%==E@Y=$E'[4F($QK$O<<4=KQ!Z3'I!�JQ2<28X'/\T-A
|
||||
M6QBYRX'[5*'$+)\W<5RJSS,ZD=1W8^U'+@E6(P3D4,))/3)97(23ZG;1'(B)
|
||||
M/@T()V!2>0V:9#AXBI^M'9+BT]CK?!<H<X;S7;&`;GS0[C&J"FPD+G/.2"<U
|
||||
M3%T#R0Z#SP:.2/`9#[?K0-F.5L#.:8A+*H)Y!I?R!;)4@@9]H/-<&W.I/':@
|
||||
M;.7"G@FIBY1E8]7BFQ._L.Y4"7OQFEEBS8^M,FQN"MXJ`H`5_OQ2:V6FEV+8
|
||||
MD$K]ZE/:V.Y&/\:B09
|
||||
+,#\U3&"N/.[M]Z131RDQRGCJ/%!,05`4Y.>:*4.)A
|
||||
MCZ\U"@Y(`'DT-AQ`,Q64@CAJ-FW2*W\4,D6X!VQQBI1<*6SP#2>RFJV1*`)S
|
||||
M$3PHSFD-D#'DTQE]1_5)\]JD*6((&1V%#_`-'*N4'TJ)P>W@44<V&*X[\#]Z
|
||||
M`!]I+@;B>*+%T3M"'&1SSBH=UW+Z?(\4Q8P`Q;W=J&!`BDD#@<4,.Q4K%2<=
|
||||
MP:A5W#+GD=@*F53D>2>?WJ45L`MPPI=`WHYH@4.3U%NU)D.T'ZC_`%JU*!@-
|
||||
MCMQ5<LI9L]Z;9*;$Q-E^:,+DLU$X56!XYYXH0PP5'8U(VK$R`ES]"<T$J@.`
|
||||
M#R<`U:*KM)/;Q2)1$K'/?OFDMLT!C_+4@=\8%`RG!_>F94C*CD5QX!"G)/UJ
|
||||
MF0VA"KC<U+D3=DGL#5EPN>32Y@OR]J0]=%=VQ)@=J&0C&?F\TXIT$G&?-)*'
|
||||
M//:F#1(C[_6A."Q!\4<A`9N?-*/N.*+&R&.WO5>4EI"U66`QU4F08)`_:DPV
|
||||
MGL_)BM[JYAS4>QZEN]=LO]3A_P#./B%`-K;*^M?V?:JM[I$FEW+GTY$9/V/U
|
||||
MKY+[69*]?\`WBQ7VPG:-U;XW)2,,R]Q4?3;>)K6;T)2"02$D'9Q6KITSBX*2
|
||||
M#(''\5A&:25O0"[XO<C^17I-*@7UPQ.9../K7H6>7/'?9=DD*+A@=M%;SHY$
|
||||
M)C.Y>Q'8U-^F"T7.T`$&G:<D31J5#F3=G^:W3.1P2+,$84LW2&/)S6+\8A1H
|
||||
MESZGL])_]#6[*I^4K@^&[_>L+X\:./X7O9"K,ZPOTCYAM/\`G2^P3XH^'0MN
|
||||
M+LWN]1NK_P`S5:3W?U57A7;G=U;F:K,"]5>-ZF/+(?1>FE6,NV_?]ZT+<<[?
|
||||
M-4[=1E:T(!^>5^M8LW5-ENW3L3YJWC]'>E)[2OD-3,]/.ZH<36[=#X@U-`SC
|
||||
M/F@'3CZ&G)G)0\X[&H>V:)<3I$!&::$R=PKD"[2#X.#3`0LJ@^W.#^U3Q&B(
|
||||
M^"QJU"I"G/UI<2'!+=Q4EMI4?3C--F=-/0U0>4SRIIP!4E?(.*5\RL/-/#`D
|
||||
M?4<&DRMO1<B*"/8/<,$?M029WNN._(KH@!C]S3I@.'\"FR&Z9`*D1N/F4`TQ
|
||||
MCG)\BJ\F5B`4XQVJQ*R],@'!X_QJ:&.P$E5CR""/\J5,I",G?:0:&5\*1GE3
|
||||
MG^,4Z/JER>S<4QN-[#MV/I\^#5^?\S3G!P63''UJ@XVI(@[C'^%7EP67;["<
|
||||
M4B7HDL=ZD#&0/],5!``9/!.14WJF,MM.0K8_<5R@,I)[E3BF^RKLN,%9(MIZ
|
||||
M7C!_GS59'//]+9IENI$2#.2HV\_2E\9F!X.[(_:DR5WL?&Q<28`&3G%=<9V'
|
||||
M';N,4M245"".LTV8,I96'M`XILJ]C
|
||||
8\QO&,\^F*9(H8*P(Y-)7#R(,CD<5(.
|
||||
M!&IXW-2>P980KZ3Y'6IQ4(AR6#8\TM.9&7(R6H!(<X<\CZ4^@>RV05&USV\T
|
||||
MWTRQVJ1R<4F`B5'R>1Q7;BLA`/.<@T&=6RPI;U26';BAC#)(G.1F@$I61@3G
|
||||
M-,/**0>:;&[L)^S;>V<UR]P2.:%5/J'G@FG1#<K;^#2*42O,6:3<<Y%-4'8`
|
||||
M?%!(Q];CR.*<@S"[*<Y[4]@]"&(VD^.^*)^54@XQV/TKF3@KCJ`J"=N%/8"I
|
||||
ML??0+$@@D\BB48#\X/:H?J0L1WH&&)`2>&Q0T.PR^4(/85"ACD#D?2@96]-F
|
||||
M\'-3$[*A/DFAE]:`N.F1D!_PIL>XA>P4=L4GW,23R*=N"QA1X/\`E12$[!"[
|
||||
M26P-^<BNSE@&/;_6N9P68CQXKF=`1@@FCLG_`*%@CD]Z`N.1Y!%=ZN03@$@8
|
||||
MI9(=\@<^:&"',<'?QM![4&20237$@C:/%`&);GMG%#'QM;.><EFX&W_YJO*F
|
||||
MXL<XS17,L:3-$H[MBBP/48#V^/\`"DQTT`%RY(\"A0#>5/CS1$LC;5[46T`8
|
||||
M\X%'8K!GXRHY`I#H6)\XSBK#`YR,8I<JGG;]?\JA]@"V%)51Q0OC)QWKF)7)
|
||||
M-`YP2!WJAL6PX!/)%$^-K<?M4&ID(*'';FCI@T*/"?OP:5(6+*@[#/-.F()`
|
||||
M`XI;8[#S05=="@N6R3P*X]\BC)&?`Y[4`'&?'FFT*5LY^I6Q_%)9,OR:=)WX
|
||||
MI3<'!_FD-*]GY.=>INNAHF_JI;,FYOTUZ''E\CS<DO$@]FK5^'FD_P!H1[&V
|
||||
MG=62TJ)3K6X:*93&VUE:K49F4<_^Q]X^#A;S*8)G`E8>:TXC<6=SL"DO"X()
|
||||
M\BO!_!NH">6*8ORWFOH<\C>JKN,L>Q\$5VXG9Y_J;NT7[F9KF,-&1VP<U>LX
|
||||
M_3"R*QR.>*RHF1DPJX8H#_A6AITA>-2/:?\`2NBZ.=I(T4Z^H!3GZ]Q7E_[1
|
||||
M%*_"FHAMP/X>3M[L;3VKT\31HI&.#7G/C_;+\-7Z[^?0<X/NQM/:K.:?EH^+
|
||||
MKU"K,8ZNFJT72IS^IJMP=Z\3/_Z2/H_3;QFA$FT5>MPWNW=54XE_*V^:OVPV
|
||||
MC;]*R9U<*=ER-.S585`5X_FD1%@G%6+?I/5W-)C2V-[9XX!IL84A7%``=Y4<
|
||||
MTU!M@&&X!Q6;T:O0_8H)8=J-E!0%OK2QR?VJP<>FOUS2;_!3V$F2&YYKF7,8
|
||||
M'G%&A`E(`[U,0+#8PZNYI-!>SHPN0#VIL2Y9CY;C^:Y8^<_2FHN"#]\4RN0W
|
||||
MY=B]P:>3F,+]:JD8GX['_6K<6&`QW%#5,1%DET;G:?\J,,1;X[XY_BI?I
|
||||
M<=N:A616P>PX_@T-#M4"Q+*2!^_[5;@.U0/(8$4J
|
||||
-AZGIG`SP#3-VT!L>2*3
|
||||
MT7RT.#JTXSV((-/B8!U7(P6'\55)0,#LXJTGI-*.1AE'^-3$5KZ+%[CT@WC`
|
||||
M%+5]J#)[4Z+$EN8_(JI*R"-<@]R#5O9*TR]"Z_B8BQZ6R*ZX1-[$$8'_`+4M
|
||||
M&B9(3@@Y&:=+M,\A`[]JB@O>ROSZ`?/`/%6V<O*2PRSKG^:JJ`%$?C.*>Q,9
|
||||
M5@1E2*3+JPT&&CW<$-@XIDL9,6X<L#D4HMU2?J!J%E/4N?VH8?L([C*0#U=Z
|
||||
MY1F3FA;?M]4?>HC)$N[.2?%`[3+L.PR!%."<9HFQZBCZFJT;@39INX&0<>>*
|
||||
MIHRO8Z=%#@KVIX`"@^#WI#/G'U_Z4U00P`[4K*?5!J3O<,?;R*.-LOCZC-5[
|
||||
MC_C'![FF]4<W[BJ[%LZ8`3;1W'`_:B!*V[&/Z<4J=@920>H446X1/@YX[4GV
|
||||
M/;)5BTC'//:A?!<Y-#$WYA!QR:'<&F8-Q@TF--H:_"`9X^U#.V57`R*!R-PP
|
||||
M>#4`XD"D\;J&"ELB0L(<$\?2ISG!'%=.F\%@>>V*4I(B;)'%#*;"0,6;:,X_
|
||||
MUHR1MRQ`8FHYCBRIY:H="<LV,9I-#NM!##)^4.IAYH$6)%96Y8$\TT$;NG@4
|
||||
M@KL"L3D,V?\`.@+^AL(4HW;(H21AO3`SSS]Z%D.1M/2*&)MLC)QC)IL?&PTX
|
||||
M!R>:),'`&!@G.:!F!8D8)^E!@KP3]:EA1$D(+[CW!J$SO8?0\41D`"EN^,_S
|
||||
M7!2HW'@_2@IS^F$8L$9/;BE-DD@>.U,$A*@$=1J'&`"O<YI&3V`[!(^3D]Z`
|
||||
M2]R1V%<R[SDFA7!!!^AIL=41(P9R3C`H``5)'?-<5P<?3BISM3&.32*H!AD<
|
||||
M=Q0%>2#VKG)3E<$FI<Y)!//:GV5)4+(RH;SWH`KDM]!30V$(QS0.QR<>:`%A
|
||||
M1O)[\T!SSCL:,=\]A0E@.`.U'8G^P&)!/U-+F#@Y^M,SEJ$]63XS0'Z/R)<2
|
||||
MOZC;:1,[U:O(W4-A/;5;=O1M]>J>!/R_D+??U=="K/O]],V([]-<\7_+6R?$
|
||||
M)PYGJ?@N_:.^$1ERK<U]T^&[Z#4M-$,H'K1<#/?N:_-FFR2Q7:M'[EKZ_P#!
|
||||
MFH2^I',`RL5ZQ]:(3J9,L,?:7$]IJMPNG7:^J=L3G&?I6G8-^?B-P4SCCM61
|
||||
M\06ZZKIRNGM8#CR&K+^%M6F@N9;&YXD1L#-=DGJSB4>3K[/H8(],G;WYY_Z5
|
||||
MYOXW$,/P_=,23&L3C)]XZ36W:2"0D,YP1Q63\<6ZO\-WL;Y;=`XX^FT]ZI-,
|
||||
MQG<3XQ%[6S^IJM0U0@9O3;JW?F-_]U7[)NG:U>1G^1[V#4;1I0[=W/:K\0W-
|
||||
MM'>J2%3CIJY`ZE]W:L&=$96RV@ZCU5<105##]55%R9.GM5N!FQS
|
||||
VJ.-,U[Z+
|
||||
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
|
||||
MIRQP#WQ1."
|
||||
#S4]":%R`Y//%`H')(YHW*[0#WJ#V-59?2%G)8X'&:2P)QCMWJ
|
||||
MPPG;K;;[2>*.PU]GYZNY[=HWA5E5?U5YK557UY$5MU:QLYI3Z*+ZCM\M(
|
||||
MN]+>'<95P_\`57N-<3Y?E_L>?^;V5$BT^39ZC=%+D9*S.K@5/_$K:^%]=N]$
|
||||
MODFMI`82W5'^I:R)8^IJ''YG:G,YN,[/NV@ZM;ZQ&KPNIE;'"UJ^FKM)#-!N
|
||||
MC((P17P+2]6O],N$GLIBK1M@@M7J(O[0M:#Y98V;=CO6V/)79&3&UY(^N?!F
|
||||
MLQZ/K,FA:@KK9R$O"Y^4G<:^A:I86=W:+$WYB,2%D'RGFOSQ=_&5[?VJ&:VM
|
||||
M_6!9U8#FOJ']G'QA;7VFQV=Q.OXR,`E&;AJI9X<C*>.3VS4O+:;3CZ-R-\;=
|
||||
MCX(S7S?XGTI-.U,O`O\`NTG*?I7CM7V^]6VU6T],E5E0\*W^-?-?CBRF%A)$
|
||||
MP.Z+E`>_:M,N-36BO3YG&9XJW/YISVJXGN#;JSTW*[_WJNVS;^G]5>/+QD?0
|
||||
M5$N1/U\]]M7;5BJD_2J/INI+.M6;4Y8*&[M6<A<S1CEZMO@C%/A)5]N[BJ<7
|
||||
M`W>>0M6(3EM_8TF6H_9J6Y3T\>1DBFPDI(_Z6JK:L'Y\BK/R8\<8I/79;WV6
|
||||
MH2&S36RP'`R``:1""'"8X/-683TL?-)[8)4K.C;;=Y`[<G/FIVHFY#PDG'[&
|
||||
MI<<%E'4*8`C$Y]O>DP4;`&54(1SW!HF/Y(9/WQ]/M1$$Y'BA0@Y!XS_K2&Z8
|
||||
M<*XW*.S=0S5J(_DLHP0.5S516ZL^<\4^T.9R#[#S5,>F!<A)1ZBYY'(JOLWK
|
||||
MGR*T$BP[QG<C:1'@`4GHGME:`9#1'M353);ZK1!=EP0HR!_I0JQ`;ZFE0
|
||||
M7?9Q'@\9Y!JU`QV[-_8T@`-'G(X-,7/I@C@]A2"_IFI"^ZW9#VJC<G;.I(X'
|
||||
M?]J=:-B383P?_:HO5QEO-4U9DE3*\Q_,)7SVHY%)174\$9I))=4)]PXINXAB
|
||||
MN.D#BH9M_P`"R0,9J#)E#$>Y-*1B9N>U"<Y))Z@3_A10/6Q[MGCC@XKI-RMP
|
||||
M<\4DXZFSSFG,<.5-)FCV<K,`#QFK:L!DC&,53"\XSFG9`7'UHH;T68RNP'.#
|
||||
M35+K<!@>.":K9&T`=R:(N?4)R>P&*4B6OLO1N?6/&0?K3;=P9I01WYJLDQ_%
|
||||
MJ,#`IMI(HWY^IJJ,_H1=F,^H0><US2%H%..PP?\`&EW/I^DSCON-0DNVW8?6
|
||||
MDRDE5CHOS`K#@$=C4A]DC$GGD4B&1\J1V`KF!+]\G-`VDQQ:1I0/!.2:2\WY
|
||||
MC#'%<DS(7W?M0@9'/N-#97&AJD[6(HCP1D\>:0'[X[?6N9B2:.@NRTS!@3CC
|
||||
MS02MGI^7.:6LF(\-]*YY#
|
||||
N/'T-#%3LZ12QRN!Y-''V/TQ7,RDD`\4"L5=D\"
|
||||
ME93T$VX2$_2BR2Q![U#-^9]C4.>IF\^*.A-G;QL(/?.:`D@Y':NX(Y\4&\ID
|
||||
M#G..]#*6V-!RG/>I('&WOW-*5NI@>Q[5S,5)7//FD#6PLC!W'BID16C8@XYI
|
||||
M:G<.KL:ECA"!VHZ85:T,R,=^:A\!2/YH`P'N[XH"Y8GZ]J&P89(R2.U#(<FH
|
||||
M)`!!^M`2._TH&J06>.<<]J$Y[9H<]0HG]M&P:H8N-P..*"4Y8@=J$/DD>*AF
|
||||
MP3GP:&K)XT"S`Y&.:6Y.#@_:B?G.*0Y)&1P,]J*'=C"W2<]J62!79`!\YKF(
|
||||
M9?O2D)I(_.4]]-;2^I%$P9?F6JUQ=2732"5F8M^JO4:U#;>F!&R*&^:L=[-?
|
||||
M4=8O3?;\PKW>1\TL?*1@W]DP@]5?=5"*S:ZF6-?<U>FDM9(Y?3VMEEJD]B1,
|
||||
MS6_3(K=--HS;GS_^3%O+*6&1E/NJN$ZZW=474))V:YBCRO3^75&6!&5GV=53
|
||||
M+H[8PY>10VI]:%]B.U-EBVNU5Q_Q.N.N<LW=+FW6S)\RUI6$\MO>)<P3-%(&
|
||||
MZ2*\WITGIS_WZVWZ>I?;3E&2D9+_`"?(^S?#'Q'>?@H9Y7]10O6?G/%>PCN-
|
||||
M-U9?]ZA8%T/)'-?`='UJXT\[E+,B]6VO=:'\7P7,XA;*.5KMQ9;5''FQJ,]&
|
||||
M]K/P=!-<LUE(`'/`%>9U30-7THEIH7*!^ZK7L;/7H4D&7`^F:U)M7AO;-HGD
|
||||
MAE]0$Y/)[&KGAA,VAZR4='@M&NK:[<VETV'Y`/WJ\^B74:,\.)-GZ?-6+CX6
|
||||
MLYI9+F&1T:3)!3MR<U#+<:6X_P!Z=H\>37-+TRLZ?[F]Q,\EPI!7$@?L?WI\
|
||||
M1?8<#FM:W33[Y5<X$@[X\BJVHVYM+CI_X4GL-<N7T[6T=>+U";I]A6_;]QFK
|
||||
MT;8BR>P-4K=D"]2]JLQMF0>4(%<TD=*5LOK^9%C.#V%-D!4J0<9[_O5:)L97
|
||||
MZ59A<.I1NPI,'(9&01O)Y[49!5\CD=C2(@=S`]O^M/RQ7CO04Z?8Q<`-M.14
|
||||
M2IN7<O<8(HD`#`$8#4:C=NP<,O.*&P$/@N,<`XY^]/A;:Y;SGM2BHVD;>*-3
|
||||
MO8.!U>:3LE.NBVQR05/<Y%*NDSU`<&B/5$<'!/;]ZB)BT1$G?%#"MB8^-TG?
|
||||
M!P:4<>J0.U-!*2$=P?\`.E1CW`_4U)5ULG'=/\***3*[?(YI8)!)^93FB;`;
|
||||
M/@T,KL?$2TFQ3U5>;$D'/.#S65&2)@0=IS5^V;8WIDY7S0C.>BO,K)V[XS_-
|
||||
M09.D'R:N74?!(\'_`"K/+8.`,]Z)JF-=!!]L^['2<T+XW')H2"6(J`_0=XH*
|
||||
M;^P@.3SQ3MX)ZB=W:D`J3WJ7(5BW<`]Z
|
||||
`VF6H2%8G(^E$DD>X[F[&JRLA)`[
|
||||
MFB#?E-E,D\TJ&RTO6V5/`-&9#ER,9-5D;;D@\$\BF%@8VQ[@:!K1:5\R!NQI
|
||||
MT;':Y`^N*KP-&4;U`=X&!BG%L(2#@D441RWL6PP-K=\T"MB*1L9!X&:4[NP&
|
||||
M#DCR?-<S?D$'MFFT.30Z&1=J9[8KM_))/8$U7!!`(R/-<22%4XR<BI:-%3#:
|
||||
M4M&`0`2>:<Q(8D$8`JOW8><5.\!&W=R:&-C4;<JYP"?`HCMRX8U75L2Y7L!Q
|
||||
M4E^J@+L8YR3SQ0B0YV-2WD(.<>:)'&TY`W4AR33&ANIMN.],`81LYY\?S517
|
||||
MVMM/D]Z:)"`%R<458MCE<MDD8..*#>6`SQFE&0A\CQS1,X8#CM2["4:8Q9,+
|
||||
MU>W-<CJS%@`1BD'#]&>`>:)!M!"D8%,=*QSD;-WWP*@'<>>^:`ON<CQXH68A
|
||||
MAMH:"F-8C;@>*$,0<$\4`.>*G/=`.`:&%ULF<@`D4$@PI`./O09.[[4;D%6H
|
||||
M'T2SJ010K)A6!%*&2"3Q4J>>:!I(ECD*X[GG!J>=O!R<>:@@=_K41R<;NU22
|
||||
MV["SM!SY-"S`YYH9&+`8[4#G"X/?O0T#=O8UCY%5FSC&3]*/?TC/?P*!NP([
|
||||
M4Q_>B#_G4'VG[5P[G)J2>G/B@IJWL_/$DJ74<D7J,S+NZ5JGID\T4FQ&;;N]
|
||||
MM68[&,7/^[3;:G3;-4NY59NE?TUZTCYN./R+MI=>O=,SR1X3Y?FIMZL4K)=V
|
||||
M4D.\MU1-^JJDBV,4WIRQR*[;NM?;5JRTU;RY2))1%M^>E'D5DQ<M(G48UBEZ
|
||||
MU99F7K!K&O(8VC9555D7JKT>OH4S(W7M]S5C01)>78A]1=S5O'9CE4E+C&1Y
|
||||
MZ>/JV,G55*<IN9*]7JFGQ+*Y1MS*W57FKZ%HY&W(VVDHQ!SE$J[MO76W82>I
|
||||
M%M;W5B>UF_35BQF$,Z_IK*?B=D(QD;S(RM[:.`S6\JR)W7YJL6DJR1KN^:M)
|
||||
M+97CXZJJ,3/)",NRQ9:VLJIZ_2PKUMA+;W&G*]JZ@A<=/>O"7.E,X]2)>JNL
|
||||
M[S4=+=L*WI?,*Z5D:[.2>*$I:/J&@7+A;BQ>;$Q;=%O/WSBFRR0S0.FI)MF_
|
||||
MI[>:\7;:[;7*1RHQ2\"GDU[73T750@<JC2D*V?%;1DI'-313B$<2$Q'@_2K\
|
||||
M#;XQ'+B8#MYJ)M&FL+^6S?J(?(^A'VH[-X;97RG"DTY8[[-7EIVA\FG1SQE;
|
||||
M4.9,YQ5)7=,!D*,,<5JVDJB]6\@D*L$(*_O4301ZA(AQZ<C1_P#P*Y,OI4^C
|
||||
MKP^MI^14C<[FYY^M.B<;CGS2+FWDMIW1O:OF@5B#M:O/RXFNSTL<U-VF:JN"
|
||||
M`/!HX&(G*'D+6:)V&&\&G6TVYF)/)K)P->D:I*-C)X-
|
||||
$RE#ZBG/UJM&P(YIT
|
||||
M;GL>U)Z$F,DQZ0D'GG%=``'#?+4!@"!CI%0V0S;3TTFP6NAN=LQ'RT+,4:NS
|
||||
MN0Y\T,O(!\CO^U2QJT%*,_8^*4<<_6FJ,XR>0>*5..I2O>FRM@-QN;S4G&W%
|
||||
M<X)+''?-#&00=W<C-#+I]#R$_#AOFHM^QL'O2HQE2I[BC/4"_'!Q3)<;-!6+
|
||||
MH&(X[50NDVS9'8TRVF(5@SCN2*;<)O7([53V0VXE`Y9\]BM"W4I![49.)B`.
|
||||
M32MW!^E921:::(R,GG%<K8DP?;WI1<#@CGZU+OMW)_G0#?Y+"LA;(\=Z9O.Q
|
||||
M1^]5&8;LKW-$LO2%..#_`)4=!T7%<+(W&1GBFJP5,GYC5-7ZC]*;Z@]/&/.:
|
||||
M;T.Z+HD!4Y&&:I>3)5<_S5,R[GW<8-'O!4<]Z!6GL8""2`<8J"_^[G/;O2(V
|
||||
M&7![FA:3$3C.<50:'RN,+M.!4QOF<@XP,\U68@H#GFB1@-Y\&I[+XEE^,E3Q
|
||||
M0H49AN["D!\J0#WJ2=O!Y)I-;*33T6%P%;GALT`8AB3YI6\$@>!1[@P)[&AB
|
||||
M6NAK$$C';/-+9MK8'UH?4P2/-<6QDCG/FI*=D,=QSFFY/J;">`*KJ#G`H]S9
|
||||
M)/>@NT6"0#V[T);!Q2B[8)[@]J@O2#^0X,=Q!Q]ZF-L/C^*KLV7+"C5\DT-6
|
||||
M)J]E@$9X[U'SD]A2V8+N/D5S29[_`,4,E)AD]?!KBQ!/VI7<YJ2QR`.1]:!I
|
||||
MI#"W(J<@HV2!2CRQ/`&:%F&\_2JZ&W8;'!(SFN##=]@:23C(J5(+$^*30MH:
|
||||
M[\X^E`2N#0#WU#>[/BDMA(9NR30$C]ZECE:!AC-%C21!^_>I)SQVI9;DX[U.
|
||||
M>2**L;M=!$CD_>HW'!%+RP-=N[_6E0FS\S+,RR,RLRLU-ANY(]T>YMK?-36T
|
||||
M^+<VUJB&U59MK=2-\U>W[<3YSW)1-)=226`QO"K*WEO=3'OV@1)"NW;^FJ\2
|
||||
M1JW7M55_55F]-O=V@C9560]+;:.-$2R2[*VI:Q)J4*PQ'T\=/]ZALX6@E]3_
|
||||
M`,5:H7EIZ#[HVHK:[GW;6ZJTEXG-P\]&C=7*]3,K*[-65<R+,VW;MJW)!)<D
|
||||
MMNZ:3+8;2R+(K-N^:ANRM>X8EU%MEV?+59_?6E>VLJR,[5GR1;7?=6.6,F=\
|
||||
M<L9>)L:+>8'I2/7J+";'S=-?/T_*??\`6O0Z/?APL;-U5/+B#E+B>WBD4H62
|
||||
ML?6[A@^U(V8-5FTF]M78XXW&UT5@U=496<LXI/9E_"YLX[QIKQ<*/U5]#^&9
|
||||
M8]7GN+.RN$CN<$H-WGP!7@M7M5>.0Q1JK;NG%3\*ZNND:Q%=L2CI("333X%9
|
||||
M%&71]GTF[&IR1Q:F\=KJ$+&$^H<!]HQQ_A2K[1KR&2[1HPT;9]%U['
|
||||
BJ.K_#
|
||||
MT?QQI,.KZ'J7HZFF&6,/@DX\U<T_5=2-F;6]BEBEBX*2C!_BNQ.T<7%J1E0/
|
||||
M+;7:QW(PP3+X[$5MV[(%5P,LJ<8^E96ISAG9O2;<`!R/%1INIIZX0@C=QSXJ
|
||||
M>B=]GI)K6*YLS<LR[1W!^]9DMG83W"6YF]"1_86.`35ZVNHYHMH`V$YV^*7,
|
||||
MUK>2^G)"H,<FX,!R*B>.,NS?%F<=&7-H^JF81VXCE"N0X'/'-;%E\.QF9$N+
|
||||
MQ(W;');`S6AH@%M-ZSRL<+M`S[OWINH2B6V$D:VYV<C/?%9+TL#?^_R)TS(O
|
||||
M-.O["Y,3IZJ]U91D$$G%#&_`#C#8S@UZ"SU"Z?2_4EAW!)=N2.<#M67JD5OJ
|
||||
M%I'J-BX!B4C:.['_`+%89O1)[1TX_76ZD5?+?0/11C(QG@4LV>KB%Y5MV,0)
|
||||
MYQXI<,[`=0PV,XKS<F&4>SN652Z+I&8]@[T`(Y!^E+2;G@]ZD$#)^M9-&JD$
|
||||
M"1^XJ2`0<'FN9DR#XSB@8C=D55%ZO1+8)/.!0(`!G')HSADSQNJ&7I'@`TF.
|
||||
M3V0.@CG)HNY9AVI9`P1SNS0N)(QC/?FD2V_H)1ECU8SS5B&8^B`<U1+/[QV%
|
||||
M<97#$D@"G7X)==%B\')D4\]^*H.S`D;N]61/QAA5*\P.=W:JJR.NR6;+$'@B
|
||||
MEL^0<^*J37/G//:JKWAWMSQ0XT5RHU/4P1GOVHC)NA.#U8[_`'K(_%`R;2U&
|
||||
M+Q4&,T<2E)-[-:.XX[U8$X4,<YK":[!=\'D\T45UP0:)1+<D;R3@,.QHS+G"
|
||||
MJ<<UB+<;RR@X-/CN-V,'`^M)JA)V:7X@-G^:YG)@R!@YR:H+*H0J<<>:=)+B
|
||||
M,"I:+M+LMD[@H\BN#'9C/<U4:5=O#<UPGRV-U)H+WHMJQ)`(Q1-+F0\]A5<2
|
||||
M%<!B#_[4@NV23WI-#;MEX2$$_6F[T))!XJBKY(4]S3`V"5\4,=UHL%L]^YKL
|
||||
MD<>*0K99B>]&SGV^:713'*W+8-0Q!XS25;;V[DU)9>])H.QI8JQ`/2.U1VQ]
|
||||
M!4'MGQ0M(`-H[4#<V^AA&2<-S1D@'@\8I:/U$@4.<@_6ACD];'%LYJ0<'DYI
|
||||
M6>K!KOGP?%(?)=%DL$`P.#Q4%@,_>E%CV\5!X/-!G2^B9I#O`P<&NS7$T,G!
|
||||
M^]-Z"+=DGZ9YJ=RX/WI>X@DGL*$L"QHLJ^0T-AL^*YCAL?>E`@@YH)92,D?6
|
||||
MDP<+8\L-Q'WH7<C/TH&?DGS0[LJ0?IB@?Z"QSD'S4,Q'[T);`/U-`[D&ALI6
|
||||
M,9AM^]`6`)ZJ%CXI3MUD4"I,^'0<.LC+N6M'4)8)+7?#';JF[LON6O.17TT`
|
||||
M]"3Y:7=WWXI-L,?IU[DE9\A',E+Q/5:;;!H3>JL$H3Y']M!J%W^*'7:6\,O4
|
||||
M?R
|
||||
QA:=H^GSQ?#IN$W^JY8,K>VLZ\A:TE]-IED*_1JF+*S2_)DZP65UZNFIT!
|
||||
M;'_:R?[0:7\-GKV]]M6;J#UU7U-M4)8&CN&6-6K5QY$8\GF>XM]`T8(9UN+C
|
||||
MT_D7?W_O5/\`L_3_`,,BJB^H3U,?I7E%U?66@_"-'$L2;MK*>JJ5S/?-)O-S
|
||||
M-%_3NZ:RX2*E7S@CU5SHD=XLK6+QOU?\+S7E?B#0[FTD82HP/Z:?;7VI:<[3
|
||||
M0."9%V[OFKT>FZI;ZAI7J:C/;)..ZS-U&CR.CN/E\CYK<*ZML:BCD:&X1U>M
|
||||
M[XEMK1;D/"R@_P!->?E1.I%J91+C*.3Q/5:-J6^+:?<M>CMY\ITM7S2UG:&1
|
||||
M6C;:U>MTJ_9XE-5%\2L^*,SUJ!2ZL=K!N:1J>C6\\32JOS4JRF7:%W<5JVTO
|
||||
MY;*W:NE4SC=P,:P'Q-HMREUH=Z8P.Z;\5](TK^T#5C:`:YI-I-<#/YD:;F/[
|
||||
MFO+=)S]!3+=B.G=R.*U2_!E.2FO'LV==^.19EI9]*W1GYD3P:P=`UM=3!F"[
|
||||
M'+@JK?IJ_-&MS9/$^&'C->9T?2[JSU=]G_"!7O3F]:,L6*G4YGT?19XXQO><
|
||||
M#+G@GZUJP[?5N`""2^4-?+KW6A;:B;<*W'UKV&G7VVW_`!,C'&_'VQ0I;HIQ
|
||||
MM6CU]G=QR&2T9U6>$AA]U-584MYM0-W%<,(U3!1CT9JE+/"LINX(S)N`P5^A
|
||||
MJ[;K;O&T1VJ\C]OO6I@Y;V>B_P!IQ0VL<$$EJ[J,LI^;Q2+&]AC1A':1*@RY
|
||||
M4+QGS7FELY4)::+TY48C@>,U?T^Y@LB(]09HUN.F.4]LY[4VJ-)3<E:/1:?J
|
||||
MMQJ<4L"PF.*+(X&,\UDWV@2WETK6LX"8._!YHXDF0DVTCF,X)]/Z'ZU?76/]
|
||||
MF!8DM>7R2[#M42QJ6C3'EEC=V94_P_J,19@``#@9I5[8S6^6]2-\$\*>:TKN
|
||||
M\;4[=/2NI=VXL"IZ:2=.T^8QW,=_()V;:5+].:YI>CQOI'5_?Y+Z,664K(R.
|
||||
M-I!(P:K65\MSJRZ?"ZO,U>QU2PBE>WL[J&,2/[94'<8[DU&GZ+I&C7Z1VD"S
|
||||
M7)B)]9AG+9[9KG?H4GV=+_J"K]GG6CN8RVZ)CSQ@5#2X(1SQ7J]4>WT^*>&V
|
||||
M7UKR;+!7Y"_:L*^FMDAFAGMB;V,@%%'.<43]`I;1'_ZGTT44=6<@.,CFN,L;
|
||||
M-P<@]JBSOM&FU![5[*_$R=L)5VYT6U>3:LLML!@`N<`>.:YI^CFNCHQ^M4S/
|
||||
M=U&4X\TF5TP02"0:N:E\-:O;,TEJZW<#<QF+J[UFSZ-\0Q()&TRY<;L<)4OT
|
||||
M\UJC7^XQ_;`GF?TVS[AVI$T^9#N/>H-EK#;F:SF&W&X;>W-4I&E5"T\)C/\`
|
||||
M4*GVIQ+62$F%/
|
||||
$KG(!R:I7=E,&7TVV\U9:8^J$#KO/85%R-0##,;[<9R1Q3X
|
||||
MB<MF?+;7*SR`R``4EUNPH;*L=U:#1>ID338;^]3FT^$1DB1P"?-'&A2;,8FZ
|
||||
MC;>6R#7?BI489K:]/3(E&Z0LYX4"J9BM)YP(6WE6Y`I\;$YM:$1:K&K[7;!%
|
||||
M6/\`:D"`C>/K5JP^'[[5KH16.CS@*V#,\?3P/K6Y;_V+7]R'DU?4XX3)\L+8
|
||||
M[5LO2RET3[J3[HPHK]'RF[@U<_%AF';ZUVN?V?II*220:C(=K8"N_)\#%>(N
|
||||
MM3UBQG,;:1>O"K=+A.]3/T<UT7#.LDCW;RJS$YPQ\5SR$-BO'6/Q3I[R;)IE
|
||||
MBEW;=K>ZMJ+48IE$L+JP^M<\X2CV=/,W6G.>.<5"2@KMW=ZS([KG@T])D\=J
|
||||
MR:*QLT5D.<Y[4P2$9SW)K/AD`Z2<TP3`G'GBH9IIO1HE\N#]*XOC)!\U423(
|
||||
M(R*@R^/O1T79:$F>OS1(QQD_6J7K<$TQ&;<0".#2:'V7W;''BNE(P.W%5-X+
|
||||
M\YIAYC*YY-#1%T-8D$8[&B9^!GM5??U`;@34DY-05=ED-N<$=LT1;'>J:2E6
|
||||
MQX%,63).:;&[+!.#[J[<N*0&[OQC)KLY)\4A4^Q[MC+5+-TY\U6=^>W%<6;R
|
||||
MU4T)NNAY8?:@8KRXI3-@U#,,XJ:&MC`W430EP?%0S9YI);$A&,"@T5CBW)H2
|
||||
M_!`\4MWP/OVI;2,,K]:&Q=CPV=S5!D7G/[U69R&'TH7EYI67QMCG?&<-2Y).
|
||||
MO=FD%\9P>*!Y5!;[4$R9\H^(]`D5FO+>&1L]6U:=H'PPY8MJD4T8]J\5]`N[
|
||||
MB/8MJ\:1G&2Q%9=QK-M^)]4RB01]D+=Z]N4G+Q/EN,,<K14UHW6F6H2U*2P*
|
||||
MO4OZ:Q+(Z3JBW*M',MV6RFSM6A?W5OJ%NZP^LDJ\LOANJO,)=W&BWCR6L4;"
|
||||
M3]5%5T)QCED6IK>1G:*.&3?\JTEU6!?SHV5_T_-3]+^*(XGDGU:!B[+T^@OS
|
||||
M5/\`]26A>4&U261PRYE7J5OU5I<CCDL6/)Q3$1QR;6D:%HT9O<U#<F%NF3:U
|
||||
M+U#4);M6CG98XE;I"5GI8,(UDCNBR[MO4U'(WR0DI5$W(+%YH/52!V3]6WIJ
|
||||
MAK6ENWIL]L!(/Z:TOAZ_FTV;T[J9F@?N&]M>JLI[/6+::^=%,$?"%*'*49%Y
|
||||
M,5JN1\SEL)Y&9<^VLRXA=96>OIFN:/'#&)+97=CNX7Y:\;K=E)%)ZICVQM^J
|
||||
MFGR.6"EBE9YUHNNKND7/IMZ3/PS4%U%\FRJ;;U;9\U8Y8\3TH2E*1ZJSOY()
|
||||
M/2F_YJ]+87\<FWJW5Y*Q*W46)$ZJM+;7%M)ZUM)N_I:IC.2-)8HL]M#<979T
|
||||
MX-6`6)X6O'V>K,'99U:-E;YJ
|
||||
]'9WL;@;9/=7;#(<63'&!I6TNQ0/!-6)9$"%
|
||||
MQTU11F<;^G8*:LBN=WN^U:IT<\TF]%76]'%W<&_MOK5G1%U&"1[:[])[7.!M
|
||||
MJW!.P8P\@X_BG1=))+<4ZMFGN<51JRZFMO:BVLT&2G2?`KSFG7.HSW4\8N']
|
||||
M6&4%CGO\U:$4J'(*C^*1('M;\:A9)O.S$R'L15,PCCY]GN]$U*ZNK./\0L4\
|
||||
MF,.%Y?(XJG\77Z_@%CGTRXC@MI?4_,3!_BLW3WM;R&WGMKF2SDW]>#@_S5C6
|
||||
M;[5=1N8K"V0W<+)^;(W.!1RIDSQRR3I:-&RN5TX+>6UX0LO>.4\'[`5L:+KF
|
||||
MH7NHR1ZC86IB4'G;Q@UA0V1_`A9[.25XAP<9Y%.AU25H@TD8MX\;<$8;/WII
|
||||
MV7)*#HT9M5U9+]8+'185LPQVL(^XS5S7GM9G-B+7\/.HW%D&`*S9_B*&QL4=
|
||||
MO5+CL!V`JS;:Q^/87"6DDXG]Q49(\5;:,I.0RRGN%@M[6&4W-VV4#$Y"_P#>
|
||||
M*K-JETNJ[8ES);RA3]/O6AJ]R]I\/R7&AV(-V658UV\CD9/^&:\U=M#:WLVZ
|
||||
M<Q&Z(<`GG/TI-&:R)RH]C.]G/<BXG+"X!!`7_K3%>RNM=U#47@7,:8!Q[F`K
|
||||
MST5_:H_JO)N=HL?L:;8:A$(=L3APQY^]*D7R;8W2K&>74SJ4P2*21BVWL.<X
|
||||
M%7].BFO'>&\].1R#G/:DV^HQS2PQ3=!?(C([9`.,TN'44MYG]>)XI%.-P&%/
|
||||
M'_S2:1LLDF5(]3N+?6+BUMY76%25`!XR"1Q6II>O732H'EE*1MSN/>JXELXB
|
||||
M]SZ2DD9!(\TJ2070CEBB6-9FP,#`)HXWLERBM?9MZA(EY,?2RC,O5M['-9NH
|
||||
MZ+'J]M`91#$T669NP('UJK#$U]?-8B6XM[L9"\X!(JIIFHZEI?Q#<V-P%N(G
|
||||
M`5$;GC&*;@OP5BRY8R#E^&M+N-\P<;%'Y;I\QQXK6CDL(].47EM";?/I[L<\
|
||||
M5;_`+^/MYH5/X6%.85_5SXJIJ^G7HLX(C:MZ*@NXQSNJ?;C^#:?J)WV*O8?A
|
||||
MX6R7,=C&)'&(\IP3_P#BL[\);1(+N:R]7/NC1<[>:L2QFWME]:)BBMN52.15
|
||||
M/3K^8*U[&6W3D'T9.P_BCVX_@SCERW?(+4='T"=6FND6W)'2J<$?]BK&CZ/H
|
||||
MVEHM[##%*.>&&33M5%J8%_%Q%YI$W$*.Q/:GVMG%/9ED]1,@A0>V>U+VXWI%
|
||||
M/-/[8Z#XDU$A+;3]-*H>K;&G-4-3USXLN+G;:Z/=`'AC(GC[47PX=1M;NY_$
|
||||
MR*DGIMZ3*>,BG6>M:L;6W@>24R/+RQ/89JG%F#<^5R=F:[7ZRE[O3IY95(.V
|
||||
M2/(^O%3-K\QDQ)\.QNA(4!H>P->EN]9EL&D
|
||||
>95N)F'"]RH^]!;?$%AZ+_BH(
|
||||
M?7;&WCCZ5--&O)1^+9X/4K?X1OY?3U+X<$-U*<B2WAP/O7C=8^$(+>XQH=S<
|
||||
MJN0-CMVK[/#J5I<E7FL;9(XR<,%[BJ<B:18!;MK5[AW8GI&0*B6-2[+QY7C=
|
||||
MMMGR/_8GQ-:.'NH0(CR..K%3'-J,:==C/GM[*^NADU1/60AE/M4]Q]J*22TM
|
||||
MIU$EG$\JG`3;YK*7I,;.Y_U"CY0+IXE_/1X3GL_!IT5RO'.&KW6O:-9ZS/+=
|
||||
MNL4)7DJ.,'/:L34O[.KB.`2V&J02,03M9^>U<V3T-='7C]?%F(MP=YP3FGB=
|
||||
M3Y\U1O=)U?3I7%PJRA3C*]JI)=%.J52A^AK@R>GG%[1W1SPGTST"39)SC%,2
|
||||
M<9_:L2.[W`\\TX3Y.[=631LV;+2@GZ&C68>ISVK'2YZSD\BFQ3%NHG@BI;"4
|
||||
MMTS5,B[F*]\DT0?G/T-9@GP3D^::)CSSG%*BJ-%F5AP12@ZX8Y.1599U92OD
|
||||
MU+2@$X[T,6FZ+B2;N#4[WY^E4EER3]*F2XR#4M#>BXSX!YYH6D)Q582XYJ/5
|
||||
MZ._:@4JO18,A89Q7&0GGS5<R[20*@S9:@;C6RRTN$..]+DDR-U(:2E/-A20W
|
||||
MWHDAK9;,O6,]C0/+]*IF;COVH))USWJ:*:HM22DDTF20<9:J<]RN#U53N;Y-
|
||||
MN[>M$D.!I2W')4=C59[G[_O6/<:FO.SJ\54>]G=SL1L=5-1"459YR/4;^X?=
|
||||
M)<NY;ZM4NZJWM9F9OEJI"UE`&W3==;GPM:QZBC7C.`BKN7/S5[W+B?'8\'/L
|
||||
ML?"L5RVJ*X@/I#G\Q>/;6Q\36-M?6SM);VT31]*^DN`6^6K%M);I:EP_4O&!
|
||||
M7/<2G327MP1MW^WFL>7*5G7)N$>*/(7?PE)^%_%K,-XW;46O+W]O+:W+V]Q&
|
||||
MPE'N->_M=:CU"&41,(KF+_PG\K]J\_\`%44MY<,\D>V8-Q6B^5,Y\C<URQH\
|
||||
MVW'S5Q=\^]DJP+"1F;II,]M)'UMUTU$SRW*7&(V>>27<K]2K6M\):K+I]YZ&
|
||||
M[_=GZ2C5D10LR-M5MU,6VN=K2-M_I:JD:0^9]/:>*:22X651&.-A;FLW6-+C
|
||||
MN=/"@JT@6O&6=SJ=D"R2>NK>[U*UX?B.)I8XWW1CI61FK#C*)M)1,VW^'M6E
|
||||
M!DG,!1F88Q5;XCTD6,,8`5NK;N6OH+2V122:UG$UHGM96KQGQA<B34;*TBD5
|
||||
MT)W-MJI>9$\GL*C/GM+FVV20JVW:K5K:9+#,^UVV-)YK8C2-K=&,:^Q>EO[M
|
||||
M9(M%AO'7;PW4M:+%4;1<O4IRIEAM/:9RK1[G7_U56V36K[DW*J_+6G"MW&Z-
|
||||
M`VXI^JKL+Q2@?BX-C?/N6M."8N7*6S-M=3*#TYFZMO:M>T
|
||||
O(I5$B,N6^6J5]
|
||||
MI\+O'+'&K1GR/TT%U\,;8Q=:;=S`>[:6^:JJ2,9\?XFO^+(<$KS5Q)\G.[^*
|
||||
M\LIU:UGEWJLL7]/+5<CU"42HLUI/$&7=U+BMO^F,\4D>B0H7X95)I_K+&^Q/
|
||||
M-8MO=03H-DZ;^?FJQ'*P[MNQYIVF2^4=$WFG7=U?HRS_`(<'])Q6_H^H:AI2
|
||||
MX4PME"#^U9<MUZH51U;*`SC&#FFXJ3L<<DH](UY?B?79=0_"PK#'&3PWBM.W
|
||||
MUAVM,7]O#(8B2Q`[UYOUXA`NT9)/>F0S+)#*F_`.2OW%"0Y*35_8KXB^*K![
|
||||
MR.QLXFDN7X*^%KWFD:B-'LH],MT_-DC)F<_*,GM7Q.[)L]=DN/3Z@2RM_P`U
|
||||
M?:;!+?6M$>XC.V]$1&T=SW[54VN2,\<'Q<I,'3=?M-3>ZMM-U&&.[MW(*2/C
|
||||
M.*H:[HFM:D#-'&KR?^"RC(^E>+GT:!=1?T=UO>LYWE.&S7H=);5H+5[>+4[T
|
||||
MR1_*6\U5J+.>2D]0B64TR]^&OAJ^_&RI>ZM<Q'TD!RL>3Y_BO'?V6Z^]MJ`M
|
||||
M=7>4H.SO_P"6O26XUFYUM;:997@)(>63OCGS6YK_`,#7%O=NME8QS01("&1,
|
||||
ML>,T2::XE0QNU*?T7;;6/A>ZFBM6U%!=%BT2!^KM5X:A;_AG-R@<CPW;[5\[
|
||||
M?X>M5U-I[>U=+J+`,A7J!KSVA?$>J6FJW&E7]M>7:ROL1U7)`;YJ&J*ESK1]
|
||||
M?BNXS;7$K1^H2<QHOC)[4VPEDO/]D6Y3TO0O$=\<9&>0:RU"Z5I<6H&*?,D8
|
||||
M*JX[_P#>:PKSXVU*&_28:8\5O'("S;<<4[OHPW"5R/?ZW*X^*;F\M=JB&7,8
|
||||
M_CFK$\EE-?\`^V8K4RS,.RC@&O,?!GQC\.:_K;Q0I<_CD0L4D&%8\UZ31[RQ
|
||||
MNT-I&QM7=3T-P12M&T9<_P`EX:E?LKMZEC:B10?S.&S]J??07UTT>-2B&%W.
|
||||
M`_>LV^CFFM0HAMKLQ8VNHR3^]>,B^*=7?6Y]+U;0[NW24;(+B*/"@8QR?YHE
|
||||
M^BGDC%4]L](U[-BZ5BDY1B`>X&*P8H]2;5;4Q*OX=,M)^]7+J*\L?AV2/3U$
|
||||
MT\A]QY[G-1(UU8I!="6/.\>HC']A2-8MC6NYFN6DG3)8'OV%7;;5;BS],O$'
|
||||
MB;/&/O63\0ZA!8+)=.#*B9_+C\UC3:YJ^H)8ZC9V9BTZ9\'>.KO@_P"E+[)<
|
||||
ME>T>RN;B:XC)4+&W?![TJ,NRG#$,&[U2TS4;N\NVMH[0E8P2TS#C]LU;M?Q0
|
||||
M66:YLY]F2>E>*J[)E-15%FPL1<37;I.\TR=1YSY[5H7NFZ+%8"<$F>7*+N[*
|
||||
MU>5T'XBL8/C^?3H3+#.UMN:.;@$AC6W>0+<V]U8(TH]8[T8]U(H9+E]Q(
|
||||
T#1
|
||||
M)"LC7=QNC1]IYXVUG0K;0:RVF->R9<XCW/Q@UZ?3.FWDL!RUO`JY/SD=R?YK
|
||||
M+MY]#G5;P63_`(\`\2)[32=&G;VA;:9=V)9[9R64@#'8CZT]=2$,JRO;QR7#
|
||||
M@@$C//:HM9+PS'U$E_#8W!SV^PJ;O5K6T]#U[(.`3U(O8^:5H;DXLP$U<-<W
|
||||
M-HPB-P)B9$%:-G`9'(83QJ!G>/:!2G.BZA\2JEK:-#<K$7=@N-Y.>]7+J/7[
|
||||
M)YECA6:V$76@&6P!GB@F7E^C(^)(KJUAN+M4>>W!)XYK)M[2VU.S$S6T98G`
|
||||
M"CDY->DM]6L+[2S;L9;-9.@_B>!FJEE8OI.H1.$+6P5E#+VSX-3*FS7%.45=
|
||||
MT>:U7X77\7*UN[QJ%)0-QY-8LNE:L)%BM8FFDD(`5!DU[:[&H?[1,C@20%CM
|
||||
M/\FM73$G@O&EM8QZI7"M],_2N>?I\<NT=L/6Y$?,KRUU:PGD2>TE+)PS`=B,
|
||||
MTB.^5U&&Q^]?9;9&A,\6HVZ3"Z/46&2,_2L?XB^&-+U;5H1:VT=J@7&U1@<#
|
||||
MFN:?H(_1UX_ZDOY=GSPW2'/--CN,'O7JK+^S>QO["66WOW$D1*LI?G([UDZY
|
||||
M_9Y\1Z4@D@D2YC"[@`,DC%<<O1S1W8_78I?902YP>.]&9SZAZJPKY[JPE5+N
|
||||
M%XY6\$4H:HNT,W26^M83PR1O"<);1Z(S=1(;GOBB>X`'[5YX:G&`7WKM_54O
|
||||
MJ:'A75@:QE$TLWA.V*YKG![\5A/J:G*T*Z@?:$[4G$;-XW65XJ#<KWW<5Y];
|
||||
MR<@X7[YH7:\=ACI%5Q!NS<>[&WOS5:;4(D#99<>:S!;74BJTDC*5^E-337<G
|
||||
M.YMU-I#4T_H;)J7?'5^U5Y-0FD;H7;5V+3D3/3Q5F&P7Z4E0ISHQ#^.EV9;;
|
||||
MN]U&FGRNQ5V:MX6J\MMIR0+CV\TFH\A7LP18*C;MOS58%FH4]/\`%:X@SGIH
|
||||
MQ"/YIM,/TCQ+R?"M@LC/^%N69N%7J:LO4OB+2`AM],MYX8_;P*\F%3W^DF[]
|
||||
M2TT+E>EJ]A+_`&/DY\^-0-.UUW4K2!X8/1E!^:0]5#>W^L7<FX3742__`+;=
|
||||
M+5G6L>^<+\N[W5[HFU30(+1'BDDQG>O>E_(TA4\?&1XNVDFL[A7;<[K[F^:O
|
||||
M;6(M==TI9H3Z=X%ZU?PVZO,7=BEQ*S;MLGNJ(I]2TTNUF(CN]S&JR1E*16+C
|
||||
M&/'^)HRQ>B?3FV[_`.FD>E&_N7I6LJ[O'E=I)V9';]568?6G*-ZRM&WMVU7(
|
||||
MRC@Y2\#01(U#*R_W:4Z;XF5/EIEM&R[8WW87YFJU;:?)>)*T5S#%Z8WX<]1_
|
||||
M:KE+0YQE&6S+N-J1MZG]VHN+.*2W_P"%NZ:L7=N)HS"S<U6F_&11^G&R[:D7
|
||||
M?3,]A
|
||||
<6P:..YFAB;J]-6Z6JK8%IOB&(L^X!JU[J\RB0RVQ95]S;:RM#=1\2)
|
||||
M&/\`AI)\U$^)%+)-1D>]:+U8@H9EH+B+=*C_`*?=3XRQ(5=HH;EU8E=O)YZ:
|
||||
MUC\2ING5!VW!.SO6I;&*Y!2=%;=S64CK[NU68IE24;.U4;/+71<;2`R$P3NF
|
||||
M6[;N`*E;/5;./;&R31$C@<M2H[A\E=YZLUHP79VR*'P<<?O32,9S9D7D5Y(9
|
||||
M'2WD1B<]NFF:;J8*1?[0MQ(&QTNO5BMF*[<.OJ,'4\TB\2VDN/5V)L7H7'UK
|
||||
M1JV1CEPE;,34OP2SL;>)4^RTNP_!W<TT1GG1L;!U>:V88;%)"TRKO+4NWT_3
|
||||
MYC'(KK&V0#]>YS3:#+4Y;$31W5G.&WH\6T<BEPZM%-<".2(*[-C=MZ:U[+2_
|
||||
M6A:W#N^<_P`55?X2DWD12,W?M^U3;+C%/Q.:8(0ZPNT0;!V#Q2XM4L!=,H?"
|
||||
MIQL/NJS;Z7J4<'Y<R(<A7$AX.:I:SI(_-C+VQN%+IOC\X7N::LRG%0>Y&7\2
|
||||
M7%K).'BD0MN\5ZGX%UF2UD@E63LV2-U>&70;UP\HA=U"Y8A:]5H_P]J"P)+%
|
||||
M)&NQLX/>H=MFT(Q<;?1J?VO6\UJD/QSH]PH4[%N(2W2Q\$#]VJ_\$_&6BWLE
|
||||
MU./0&HN,E']N:L7=A:ZI\,QZ%K`9(I-H1HNP*8;G[=->*^(/[&-5TY6OOAW5
|
||||
MT8C'N;+97O6C3DC",'">GXGVVSU)+W3%D2VM"91MD:,<J>*._O\`4!!'<:=.
|
||||
M8YXER8Y3A6`KX_\`V4:UJ^A:N^@_$Z20*['T9I.%8C_\5]EU=HX[>3,)99.`
|
||||
MZ#M553IF4I.3Y/H&PCAGF;4/1A%S(H]:-ATYQXJA>6<.G7<-[%I=HSNP]0^G
|
||||
M]*T;031PP3)$K](#`#D\?ZUH&XMKF-]-DC(RO1,!R#]S^]4XT$LS^CRWQ##>
|
||||
M:AJ]M=2`"Q:/**OM7[5YS5?AV\U&[EM8YMELR\DGMQ7J]0N_]GSMI-Y'+E0/
|
||||
M3E'L)S_\5H_A8&M_Q<&]E(ZL?7Z4G12E>VCY.G]FMQIUQ'=Z5K?IW'J#.).1
|
||||
MWKZ1I44BQI+=0Q//#E3(@]PSYIIM+&2U%R(IHY.6.!WJO:QRVI>.)W*9[,:5
|
||||
M(VEF>3546;\7UO;>G8Q-"9"""!@5?M_Q4FS=%',K+C+C)'[5FMK][;2%9(HW
|
||||
MB0;>H5QU26>,K'FW#<CP1QXJGLYFGCZ[*C3RVGQ(\,\4JVSC!3'"D9KT,$]M
|
||||
M*\D-Q96SQ<=6WG'VK%O=1_&0K):^DUW$=K>K\W[U4T[XSLYIVM+JT*-&_I;D
|
||||
M'<U+VRMQ5_9Z'5=+TJXL6NH+<E5;#H1SCZBLB%=/ETQ;1(+@)%U1ICMDYK7B
|
||||
MG7T3+;/EG7A6/%!;
|
||||
R6Z3DSQL$X3<OW-/BK)<FT3IEJZ1*\4.V!CM`QRWW-*U
|
||||
M5KQ]4@DB%Q'(Y&VW/"G`Y.*O6MC/%.BW-U)'ZI/I]72!X_FK%JD<[/$TDC:I
|
||||
M8$N`QY*]Q5.D1+DT>4O/AVQU:XEUIH'AU.V=A+M&'`SXK:NM.6UMK:ZT^X:>
|
||||
MVE)#NYRRFML2"2*/58(`K/E;J/'?GG(H$M+6TEEV/_\`IES@X/9&[<?S4RHT
|
||||
MC-UL\U=6EZ;E9+:ZV2\\$^ZM32;>>Y22"2&U6X`RK8Y;BK:6R)<7-G*NXL2U
|
||||
MO*OT/;FDWL7Y3S64X2]MR-R9[C_L5+I&JRV_$I:C-?6"1QLT#HF5>(?J'T%4
|
||||
M[RTF.I6<3)^7-&\@^GBB^+'G>ZM+VQL+FX>4X81+D9QR:*U]0:];V\\^^6&)
|
||||
ME5<]BV"0:&*2;=LK6^F^G(]R6,5Y&[(,=F`K<DEGV+<B\M@SJ=PW<\Y%>FL[
|
||||
M.U-LN^T]1P,AMN3G%.CTS3U&1IRGC`#)0J&FKV?/M3T72;VQD1YT,P.=N>QK
|
||||
M$M]*^*-/E0VJM?V6"RF0;AC&:^PKI]D&=ETN'<W<E//:AN;RPLH%CN)X+>,#
|
||||
M"H#C(I2HVN#^K9\A36H+B8VDD7I7,1ZTQCFME[\1JC+!@^"@K0U[1[/7M4-O
|
||||
MI^ES6LA)S=^GA6[\YKR&IZ-\1_!^I(\MP+_3Y>,D[BF#YK.3:+6'W%XNCTND
|
||||
MW,NHZ_%;7A00-GTV'?[4<]T;76%22$NJ$C"CG'UK%T?5H=3O0]FFV>U?NO8X
|
||||
M_P#S5GXK^)K?2-0BU.");CU!L9`,D<`$TG-+9SR@UX_9ZJRN-%NK:Y:P38WJ
|
||||
M;9@O<-YS5AK3UX?3:\*;1M&6YQ7E?AOXF^'Y8Y9(?3@:X8NX/&2:WKFZT^50
|
||||
M([N+U/=[JER4AJ+AV96KZ%IZ!I9;:&Z9?:TBY/%>3UF'X?M;1KF]TR&*0>U-
|
||||
MF,_6O1:W\7:-H\/69;JZ'`5.4R#YKYGK=[>:]?&YNUV+XC'85ADRQ@=>#GD=
|
||||
M='G=>V:CJ4WI6T<%JK'8L8QQFHM[!5QT<+6U':HOR\U:CAQC`X/?->7DR\I'
|
||||
MMXH3C';,1-/4GE<8JVEDF/9WK76#DY`IBV^3],5DS=-&6+%?:%7&:<EJF.16
|
||||
MD+?H*_6F);@#)[TN1:KLSEMAQ@=C3A#@]A]*NA`#VHPB`GBE-B[932WZJ8D>
|
||||
M#@+5TKSPO>EJI[D<_2AH:3$"`8.:GT,YSVJQ&A(S3MO?Z$U,EL.BEZ8SMHO2
|
||||
M&3Q5@1Y<T0CQDFBPL^#1Z:J.T;-N:JUU%$MSZ4B[5W;:<VK9?\N`_P!YJIW4
|
||||
MTD\QF?;N#;J]V1\NLCCY1/31?#-C'#'<K/.R.K;N?FJ[;:*\ND2:A;W$*;#T
|
||||
MQN>3TUYNPOYLF.6XEQ\J;NFMR+6
|
||||
+B*Q_"I%`T9]SXZJ-Q,WD7/<2LT3;MQI1
|
||||
M2/?U;E']5')/N;<N[;4H(RZM-(K)[JUZ,)2\K*<L5IZ^Z7:VUO;6[!J^BPZ=
|
||||
M#+^&MP=N[8B]2U8U2;1K/2@T#V$D[KN"_.&KP]U^?>LUM;,S,S;5C6L'Y;.Z
|
||||
M$N,3W-MJ&BZLAD.RTCC;@/TLX^E:T&GP0::LYB0B7V-YVYKYVFB:O*BO^$>-
|
||||
M-R[6D%>O^#);^&XEL+Z42+;H2@F;C^*S<K'%<GOLR]7B#79DB;:*IPOU;2M>
|
||||
MNO=+CN)/5D4(7\)VJ=.M+>PFN)&MXYHY.QD'L/VK9RN)#A&$MGD6A=H_4:VE
|
||||
M5-S+N9:\M92)#\0,?I)7N]7^(Y8=62!(+?T$^5AQ7A=4N8)=>EF@5%1FW&DS
|
||||
MFFN612B>^MRS*LGBF.C;RRU2TR7U;9"K=.W=5]-^_P!O%:8C:<MD*&V[C1K_
|
||||
M`,-&\KQ1`\]N*?"D<B!F;C=715&.1MG08W%6[[>FBP[`L."M<D<6]\LV5]E:
|
||||
M)BA$.[.6X[?O3H;WT58$E+$#/%6X8F=#[<8S4V[LT<?J(8PR[R?YJQ"C!`Y7
|
||||
M:H&1_C3:)<KZ,C4K2^9'E5>.W\U@Q67Q"D@V`L[-G_\`K7T*[V-&).<_F':/
|
||||
MVI$4<T-Q%G:7_*(_PJFDQ.3Y4S&TC4]8TP%9K?>[\<#_`!K7M_C)8.\"I(5)
|
||||
MVN*O64$:VL,[%'D9YU<']>*SI]&LI[*)YUQ<?A0`W^M+@GT7)Q3T6]/^)M-F
|
||||
MDB35856(X=C&/Y%,UGX!T[7$FU3X+^(`M[N+R0339!;RI6L#5?AADCDDM9@?
|
||||
M3,8*9\'M7F[A-6TC59)+6[N+6;U5]0(<"I\ET0\$9.ZV?1?A2QUZQ6.QU:VA
|
||||
MBB12D\D@QN8?2O175[9:?:2BUM?58`AN,GL>17C?@OX]W(^G_%#"=68KZIY(
|
||||
M/[U[G4[*`Q-<64RRPGVE3GCD<T1DFQY'*,:9&C7-K<E%,2RJ4SC&2,BG2WLE
|
||||
MO,R0)NC/@^*S(WLK$Q0V\\<=Y(G*D]J9:?B#<NC2Q-&.-RFM]]&,7??17UG3
|
||||
M;769!%?)CGIE'O0_:G6,^L:+<Q:=<B>[LG7\J5N>WU-0_P"-:[AMP!("[;W3
|
||||
ML,9_]J]).[V^GI))'ZT8;(4\G'FI8YI1E;)M-8=HUMXO1VGRO<$5*WDGJF+T
|
||||
MF`[[\4B/3]/N9)+_`$Z9((Y.X8XP35QTLCIDUPDLLKY],!#GJI62ZNZ#GO[:
|
||||
M:$>K`L[QGNPS0Z9<-:F::PEBE@9LF*4YP/L/\:R;2"Z>214!A8]_4X^IIYL[
|
||||
M6TE>)9F:?'93QFAHI-UIZ/31-HU];A9GDMI"2/HOWQ5.Z^')I(I&TO4K:61Q
|
||||
MA-[^:PI(IKFV,3Y!`[CZU1@2^MK*&SN)YHF5O^
|
||||
,AQSGZTFF.$XK[V;=M\$?$
|
||||
MEU!)%JES:+-S@Q'C'BF:C\)ZR(HHEO+$2``#)Y/_`&*RK>QN4GBO9OB>]$:R
|
||||
M<(T_?OQ6?KD6ISZVDUM>W_HQN9%);W*.*+8Y3FG;BC<L?A<V$]SJNLR,EO;@
|
||||
M$A.SG_LU2U"?2]4CBGL+*&*T.94D"89OWJ]\):NE_P##9MKVZ-T7FEAGC<Y9
|
||||
M<=JSH]-6QLGT]<B"`E8ROD9)I)VPFWQLC07N#I=V5R2DWY9/TS7L]*MK=X8X
|
||||
M;V,@7*'!Q[2.W^=>=M(I8;8)'%M@)')'S5Z1;9M[V<]R02I$3@^>XQ5-T0G:
|
||||
MT'.D<LJZ1=RA9UZH'SR1G@4B*YDFMI-2CM]FIP+B=<<N!G_H*HZEK>GV^G-'
|
||||
M?211:G8H"LC?-X[UY_4_[3](34$;2X9)IY$VSX7*CC%1/)&/8E&37BK/7.W3
|
||||
M!K,,A%C.H2>+/M/[5F7NJZ+IOXW3I[WU('S+;[GR0Q&<?XU\WUCXAU_4["[B
|
||||
MAD6VM'E+*J'![^*Q[.RGN+R-KF=YO3'3ZAR:YI^JBGH[8>AR9-OH]Q/_`&A2
|
||||
MR/!;6UI(WX9O39P/=]Z8O]H7X*:>X;2Q+-)P3Z><UBZ99QPAW(Y;A!0WEKF[
|
||||
M$1(^N:Y7ZJ=G9'^GPZ/9:/\`VMP1W<>G'1)C*YRK)#T@4>H_$OP[JVM65S96
|
||||
M=Q:W+-NE;9@`@@'->4L(H[8LR8,F._TI@>+TRY&%!Y/DTGZN8/\`IR;^3/IT
|
||||
M>I:3>7J:/IVKR"Z:/WB3HR?'^5->XLVN;EX=;E"6^&E5Y.>%\?X5\K40))ZE
|
||||
MHZPR]]Z<$&AD<AGF61L-Q*?U#[U7]VRO[%(^C:A<VB6AUF]^(Y8[!\>GZ4W)
|
||||
M/<_Y&NGU'X0L3#9:A<MJ#R$OZI.X(.3W_:OE&H7$/X,V,IWVXZA$>P-8^JW%
|
||||
M]+&D-JJ`.-KO]J/[I_Q0_P"S4N]'U_4O[6=#M#)96=M.8HCL$NWI(%9T7]J/
|
||||
MPQ/;W%M<:=>W#+R-T8(;.>U?*K;2IC:B.>3<#[A6K';PQJ%1!@=C2?JIF/\`
|
||||
M8U_)EO4]2>ZU&6?3(AI\#L2%CZ6Y)-4"YV8ED:0C)RU%)G=QVI+1$Y![=JPR
|
||||
M9I2>SLAZ==O96F`*LD:[/TD4<379)474V3GG-6?0Z]V*?';XR`*R]R2Z-'Z>
|
||||
M$W;156%V8.YWGODU92%<$GO5N.`9VXI_H`'@`FHG)LW]N,'2*2P\\I1HG5C%
|
||||
M7"N!DC%&D0QQW-9,V2*OI$OM`XIR0X<U8"``4T1,"*&"?TRNL>._>B5!N&>U
|
||||
M/*$YQW!HPF`?K2"]E<J!D``FAV^2*MF)>_DU#1C/':D_V:70E$Y-<T8QGZTU
|
||||
M58/_`#1[">_\5(6[$"/OQQS1&/(^U.'`/34D<G[58I-B0J!B<
|
||||
?M4,/`I[QYK
|
||||
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
|
||||
MM8K2.[G@
|
||||
@1=JI&>FH_",S,Z.OI_U4$T3*VZ/VM^FAQ!I2A16+7#*K-(S-O\`
|
||||
M=\U9^J,_JC<]:3)M9=W36=J?6WK'V-529BO3<5Q/0?#$F;<UZR.7\GJKQWPO
|
||||
M)E75?<*]A#M>;<WL5O;48SNG+1=@4YX7<*OP[<#/O_Z56A*H"V[!HA&=XDW=
|
||||
MZZD8N?U1:GD4,>EOZ:?:J]Q)N=@B')7-)]-GZ"<D\TU'9^J-?&"/YJ_^$_#L
|
||||
MO/'`T"1Q2`RD(,_O16)R88V<`AT'_2JT`1+/>BX9<`?XXI]K"YCDQCU7'1G]
|
||||
MZ=_03[&1P%K4*QX7*IGOE'KL0P3237$>8#(ZX_OI1R\W0!D011/)_I4R%+R.
|
||||
M&-U9%,L1)/@<U5F;I;9Y75OBZUM[>6VBAPS(B_ML?_XKTWP[\0Z?K4[J`1(L
|
||||
MHEYK)N_A.PO;HDH5D2>12#].2*P)/AS5+91>:9.80MJTK#.-QS2G;=HM1A-=
|
||||
M[/HU_IT-Y=*R."JR.1M^IKQVI?".JQ7L26,D30]7N]PHK)?B734EO)9U;TUC
|
||||
M8H3WWU:?XU9M26U:W:.17VRX7VEJ+;[0U>'K9[+X'M)AH7^S[B5&N;7(P#XK
|
||||
MUN@Z/(^H175S*Z6L!"A0>9"?]:\II<R6]Y%<1G\RX0%_Y%>TN-7;\#MMPNX#
|
||||
M"Y\'GFDE](C,WD?)FOJ4^FQ63VRI'NSDH.^?ZOO7EFBGN=5@MK8%D''\UF6B
|
||||
MRV\MR9+B2229V<LY^OC]JU],EDM]35[4^I(3T_OBK2KLR;GV@/PMO%\6WF'W
|
||||
MO;Q`3L>Q?/(K1O=1N(Y3J5O-$L*XW1`_]*H0Z=;+^/AO9WBO)9O4E8G!Y.:H
|
||||
MWMK)J3VUK8YCM",22GYL<C!IU9)>76+C6!,)5].TC/\`S_\`9I5\@O+N.Y7/
|
||||
MHH,JA[5%Y$+>%8XBBVPZ=OS<"IL45TMDN)&2)V`)!YQNI"E&D`QA$INIG#*!
|
||||
MD+'XYYK0A-@]G+=SSSVT4F2"#CM]:5<Z5<O.X@1(+-F:,,W#!<]Z<EL\L2W,
|
||||
MBQ/I(RKH>X':F]%\EDV-M1.)8KZ5_P`5I(&2YY(_[S6E>SVMI"]G?NOX"0EH
|
||||
MICX./!KSFH:W;Z=.+?1RLUB5*M$W*CGZ5XW7I=1U-8;=[N001=QGCM7+E]1&
|
||||
M!TXO3SGT>D^)?C2U"'3K2$-+!)T7,8\`_6O):J;_`%!S?SW<X=R`L>>XQCFF
|
||||
M6-EZ(]0QY7N`?-.W/(K$H`03VKS<GJY3/3A_3XQ=R9GQ6Y@/H1+R>>*N:?9[
|
||||
M;=[@IP'INEF`">XF?MQDU;GO`Z-'''A">0!7*\GY.]8JTC)DPLS)X'(%;6FV
|
||||
MWX:'U67JD\5D&+?(3G#Y\^*OV]U-+,$<](I.17%](1)MAN'!7`[C_P!JJ33-
|
||||
MZJAL8#U8OX9I6:3/2#2
|
||||
A:R32=0VX.:G_`*7'6BWJ%S*RJD:=`K/MK12)';);
|
||||
ML!6O=P[4;+KN!\=J4B];[!D#-6B9IHSW_*5[=4(P,<_6@>WDFW?(,5=C4M.S
|
||||
MGGG/-.E0DX4<>:JR3,CLHHAD9)[T]X$VER!]:MQQ9.UOU4R2'&X>*'(:CLIV
|
||||
MT3.S#'&:LO&J<9[T<86-3GN>34O$9%RQP!S46:I`E3S4E1D_:FJHVU#+@D#S
|
||||
MQ4\P2_(H<D8^M,5>JF>G]%YHXUZ2?K2;*K8`7I(J3'S]J:$)>B`XQBABK=`;
|
||||
M!D@BI4!FW>#364EL_P`U(3;QC@4A;`53_A1+G!^E$JG)IB+ABI[4FPE&F"%Y
|
||||
M&*['4*:B8/WKE7@F@?1`7<23^]=LP2/%,0;3@UTF=Y`[5!6VQ1!VDCO4!7#9
|
||||
M/;FFLO20.^*8HX):@?0,:X_:BVG)J>#3`..?%5^B7V*VD8)H67_$T]N<\=Z@
|
||||
MJ.:5%W0HKACYP:DY[^*,+Q@?M18RO'WI$RVQ#*,'%1LY!\T_9@Y\43#!_:J!
|
||||
ML_)FW<VYO;_30*.OI?\`YJM/%)N7;'(R_P!-:5E;1^FJO&N[^JO<XGR_J?\`
|
||||
M++R,^WA:4?U-^FG2:9=L66-UW?\`[E:C);PQLS;56@FU.WC5_2CDF;;XIQ@5
|
||||
M++!=(R;FSNUEPL?J.WRQU"Z;<]+,456_55Z.]O9'9H(O3:BMK>[E*M=2JP_I
|
||||
MHE$REDEDEX@+8)ZBLS-M7]-/:U7;N6-6;Y=M6@(XV;JZ57YJD[O3]1%;I]NV
|
||||
MGP)Y\I>1AW5J\,*JN[J]VZJ3*GN;=7HKN%9X-DGO_IK#O8V@N&C^7^JDURD*
|
||||
M#X>,2))6>)EW,O\`=HK65HRNY]T:]6VD*OJ2;-VVF30M%<;6I=E\8\N1?>XL
|
||||
M%*2*K2.K-N5O;65K]XMWM$<,<,:_+&M6_2LXF_-;=_\`ZZR]2F20LT:[5JE)
|
||||
M`E.,B]\,2;;AUKV]EVW;J^>Z+,R7FZO>Z8RLHW5CC^1V9%&79JQ!7D57W8-6
|
||||
M_39E2(?XU45UW!?&ZM!&:1C%&W5MXKM1RO<A\:B*.3+[F^M=93VXN(T?H(<;
|
||||
M\^3F@DQ$""P8M[JYXUVAPF7/?/[UHC.=MCKN=+=`Y[8&T?>K5C<)<K;29"-Q
|
||||
M'_)-9^JJDUL.V#@D_M2?@VX0K$D@!9)$/7^]#=,7'5F[J`2&66U]/,J>HSG]
|
||||
MZMW=NDMH]PN01/$B*/.!FBUST1JMPH0^H;;<<^12)KMTNWEB4;!.&2/[;*K_
|
||||
M`(83WV`C2*XO)E.&>4X'D]J:MNQTUBQV2?@P`A\$F@N9V-LES(N&BMR2/&31
|
||||
M7HN)Y9Y$'M@CCY^YI]A%<2S=V<CQW44K(XQ`F?.!7E/B?1;6TOYKF.0EGN5S
|
||||
MGO[?->RNC&MY=1O)L!]+G[^*I?$%C;
|
||||
:E9W44$B^O'>ID>>0<4VK5%MRB[,O0
|
||||
M&O(+BWN'8RVY)7)\$"O87*WC,DUDQ/I@Y3P:\MHUY<:%%-;W]L;B#\4X`49*
|
||||
M5[KX;UC1-4O0+&55?MM8_P"M9*X]E3<9(/29+.YC'X]&5P,%0.:.\UJQL;>:
|
||||
MXTZ+?)&-ZMCZ<BK.I+$VHB%XUMY]N03P&7_L51U^RMH;2"6!=H:3\U!V`/\`
|
||||
MTK?3.:4G^2W*A^(&T[X@O@UM,\6'A7@.<=R/YH-6N)(XI[73%C]:(A4"^Q6Q
|
||||
M_P#-:%UUJ!'A4BMT"`?L*JS*FDBUU!@CVES*/5(\,>!G_"H-)?H2T<4.FB?4
|
||||
MV:6\((V0\BBLDM[I5*+.P1@V/H>^*3>O:-J\MY=W*B)\M#'&>,^16;+?SW+"
|
||||
M2S+6ZN1D+QGBLLF:,.V..&6343>U+XDM+:!C,LTLJ8!0<@\UF76N6-S+,&CO
|
||||
M8;9TR8H^!V^E8]K:R];R,79I"Q+?3)J["F';(SN%>=E]:V]'IXOZ3<?-DR6F
|
||||
MER(([4S1;LMF3BJLMHBS+;@@D\G'TJTP#3A,#@4Q$VS,[#J(P,UQ9,W/OL]/
|
||||
M#Z;VE10O<1*L:C+#Q5(#T(6D?G.>*U98T:8R-W-+E@'IB,J":QL[>*JC+L[=
|
||||
M9[,)MPK\G]ZNB'T[E@<83Q3X4]/"`>>U=.NX$KR3WH;!?@S77==.X'G-/6&,
|
||||
MSJV<"K8AP%Z!DFI%JQD9R!L`IMCE)(5=)B,!<;>[YHC$0V\8`/%$Z[W^B@^:
|
||||
M%Y,LP\CBFM&,G]HKRJ6E=3C:#BN"8)VY'[4[!`P>V:Y@?4)'[U7V-JW968"%
|
||||
MC]#_`*U,8R>5(/TISH)&!8#!-<1EFQW/UJ'^A-<A1RTS;1V^M,V\#)Y%$0`0
|
||||
M0/WKF!W&B1;1#*!G.-Q\42*&SGL*B,;\$BG[,S;OEJ1NQ>"Q"@<5.W))Q1D8
|
||||
M(1?VJ67&4!X-#%)JP%4L>&[>:<BX&?`KE554_:B^GTH&J0+^<=Q4IV&!WHMN
|
||||
MX\=\TY%';%*10!4@`G&:D*Q.X_6C"[BP8?M1*OU[TA4V0T8`)%<OU(IC#/`%
|
||||
M0!S^U-L;3^R,9DHE7MQS7,#GCO1+G;M/>H%0)'(%%(O(^E%MX.:+!*\TV)6F
|
||||
M*`R3Q3BHQD]J@+P31')(!H+8&S!)`[U)'('^--/)^U1M.3CN#0R>@,9;'G-<
|
||||
M5.TTS:220.:D@<Y[4#Y:%'O@5PX/[T3`ACQ7,IP30Q=D,#SCM7$'))'FC7./
|
||||
MO4,.K!'%,EN]'YPLXE_2RK12!=S^WBNMVN9;@1065RY;<,!:LG0M6EF,UP\%
|
||||
MI%[I%DX:O?9\QQER,^9;?\(WJJS/N]ORU5TU`[L\<6U*N3P,C.JR+(*SY!-;
|
||||
M+^4S+NHKD8O'+%.S6'HH`RLNUOU55N+NW)9MZK_2E
|
||||
9,TES,^U5956K5FD<<?
|
||||
M6JLM*;^C2,HN6SIKIVD_)ADGCHHCJ,J[1(L:?I^:K=I:WMPS"VM7C3]>WIID
|
||||
M^D:K#(QD,.SMO^7=2DPQP2R<C*DNW@D]%FW;6W;JH:A=?B;CU,[:LW+>G,ZO
|
||||
MZ;/N]RUF7.QI-^]=M*1L\<9$I)_S5TDLLC;FZJ*RV27:Q*ONIVN))8WOX3;M
|
||||
M([4<2(0C_(JM%+LZNFD7B]/OHFDE9MN_II$Z^ZE(VG'C(ZS?;.M?0M)??"K+
|
||||
M7S=>EZ]O\+R[H8XV;-9J7&14HR/5VJL9!GVCFM6.,;]R'&\$5D6$R"01N?M6
|
||||
MF)?_`!?D7A:[4SG?%%J-8MH;;OX&33)W220K&O)/8>*K1PRQ1HL;9C/NS3[;
|
||||
MTHBSK[C_`)UK_P`,I?IA1K#(O6./4QL/V-87PNLIUQX=N8UD`_SK1UV\.G67
|
||||
MYF&EW[^CW<\UJ?V8Z5Z:W.N:F"MI&S28^9B.P_RI2_!./R=,U_C>6"#4P(^'
|
||||
MCLPK9\DK7AK>\U>607$$1EV.GJJ![5VUN:W97&L:E/>22R)-)*[(O@)S@?X5
|
||||
MYV&_U;09/Q6U)(9`NX?4?-3;:*7":\CW-E/;:A9E(@KNG$@/BMF]TV5;8RQR
|
||||
MQ?G>`?IP*\M\$ZL;R66\&D3PJ['?F/I->N-J$CD>&=Y(0V_!/*\<BDF$WND;
|
||||
M%CI?PUIFG_[0U&22[GN2"T><A<#BIO=*TC4X9+BWB>U]1@V5&.1VS7F[>>S@
|
||||
M@,;7#&4OPLA_TK?TG4Q=:9+`@4;UYSW[^*:DR)QO[*6M?"%U9V*W4,@N87N/
|
||||
M5D(Y/([&O&VWP_(DL4MJ+BUFEF=LIQ7U?0WG>);<3;E8G",>#5C5+:6Q>+%O
|
||||
M$R%NY':K4A*"7?1\TT#XI=_6^'OBTK'<(66UO!\R#MS_`!_G7I;IB=(@N,_B
|
||||
M58F&7;R/.#_@*K_%OPCH^O6)2=3'<;\Q/'[5\\TFP^'?BG3OA.+2[(I/<1NJ
|
||||
MLS\[@"<G_.FX_:!QC)UT;UG+$;*S>4MLD@7J'G%)U)ECMWL)B'L[F$O$?HX[
|
||||
M4RT2\M)]-TRYTZ<VY0$R;>%-=\30*+>Z,:,4M)2$QX&W-3/41PKG1@6]M$$(
|
||||
MEZG7.,^"35J*-0`N`"!XJ8`""[<&CQAOO7S^:3<CZ+#!16D#&%$9'GM4E3^'
|
||||
M"<#'G^:/:1O([$YJ0AVX<\FL&=55T+$>V8N,<BNVCEF?D>*<T>6+9P!4/$`6
|
||||
MR.12[+3HJE-S"0'C%"\1:0X/)JZ%Z=BH`!Q7>DB'U,Y-#')E!(I%;G.?K1P0
|
||||
MX8@>T#O5ME/`/TH0"6!Q@"DV33LK,DGJ\?Q3`-T9!;O]*>XY!X!I$KJBF-1R
|
||||
M3WIV#7Y*\ZJSMMR*`HBHQQU'N:-E(FV;QGR:[(8,O@'!IV2XOM`!
|
||||
"QYX`YJ9
|
||||
MU"X'@TP$-GZT,Y5IL#V@4F-IB",*_P!?%"@_,!QQYI_0H)/)J.2['QYICJ@&
|
||||
MR7(XQ0R(^[CFC;)=0!R:(*57J[D4F6T!$I``':G."K8!R<5$2[0?K1(.232"
|
||||
MR%QSGO4X).?%20<$D<5.3D+XH;)239#@@<=Z:5Z@*YEXSWIFW+BD-JM`JN#Z
|
||||
MG\4SZ?7S4$$@XH\8'-)[&]$A?VS4J!NPW:NC.&(/>I(+9QWJ1/LGC.[=Q4A>
|
||||
M:E5X[<T7()JJ*;H@KAL5`'-$>34CAC]10^Q((#I`/;-05V_M3#C)^GBIP"N/
|
||||
M.<4F#$`';R.>]'GJSBF#AB#4`#&!WIW0G3.&,GC@UP_ZU(8`XH\<Y/:@33[!
|
||||
M`X[<FNV\_:F$<8(K@._TI,;;%$`G'TJ2,@_2B[8XYHU7CO5T0Y4P=HV$C%"5
|
||||
M)'/UJRL8V$'O0[1DBD2?'()%55-BJB7'?Z'%5/B*VO[^W8R,GICVGYB:ZSN5
|
||||
M@TE)YQZ0"YR>[YK+N]?:1&V.JA6^;VUZ\3PI/^/V*7X3O&TWU;C4+>)F9N%?
|
||||
MY:R;K1KN,)#;W$5RI^C;FKKS68VW17=T"%9E;TFK/C^+5M4>'3[<'+>]UP:?
|
||||
M+R!7'QDC:B^'[N1XUDN;>.&7R37+IV@Z9<2&\OFF";A[MRUX^^UK4;CI>4HN
|
||||
M[IVM6?)-+(/S&=JIIR"<(1/H6H_%UE:6KP6H)BW=/ZJ\]JOQ7<7430HK+'EC
|
||||
MCY=U>?V;O_-0R!]M17$SR16,F61F9GWTMMVZI>H*DN#FKD7F\?C$L64C0W(E
|
||||
M_2U;/QHDC_A-1*],H",W]6ZL!=ZM_57M?AU8M>TIM$N2H('06^ORT\<N)G-1
|
||||
M:H\4W:A=^NG7EK-97LUG=C%S$[(3]0K;:KLI&^M,F.M&;RUY"&7K=Z]%\+W"
|
||||
MB?TF?IK$F&Y:=IC.MVNWW5A*)T8<G+Q/IML8G4-Y'-;%I!++_P`/K3;VKQUB
|
||||
MUY&B,D;2+_36KINLZK;D.FDWNT?T?+6Z<B9N,7<CTMK++',J7*8!SD'P*N7L
|
||||
M*KM,2]+C(/TI^@ZQHNMIZ.HI^%NP<`=F_FM"[TZXLVV$>K#P`PY%;QV89$>`
|
||||
MUTM+K2-.S>AM';_EKW4.I+<Z+'8VP"1A?:GD_6O.?&5BR:5)>:?$T\F<&)>6
|
||||
M)S5SX+MY%03SL<*H&/N31)45&CKA[RXEF2TG6.[C(#(YYX&*3INE_B#'::KO
|
||||
M4'M_[5ZZ6PMK:;\?)"GK3#=OQ61!JVGMK"1R21R@$%2.>:<M#2@UM&Y;&33"
|
||||
MENB`V^S&X=AQ5R)T96A62+=*"-RGCSWI<;B6*1<#TP2,?;Q_E4PVEN621F$2
|
||||
M.?;VQ327T0YZV8^I0WBQ_FVL#3+VE`X'\UI6UQ'#`T\(QD9X^GD5K:A#*D)M
|
||||
M
|
||||
HXUN(64%BO.*R9ECCE:)``,<*?VJ^-F3G]&[\,SPNR^O.T<Y;=%SVKT.L78>
|
||||
MU6V,JRW)8'*G(Q]J\')+%'"KN0K`X#4W0]0E?46MY^+B(\'PV.V*AJF4XINC
|
||||
MT5O(0DD+KT$EE)^]5[C4=4M8DABE82ALQ$'W#.#2YM0$3`X&$SN!\?6AU0M%
|
||||
M$DF>LC="6["JNS/C79KV'Q/JT*@:G:+M+XCWKSBK<>O_``_K+WNGL%AD;(9E
|
||||
MX!)'?_.O(S7MY<N1=ODKC:1V%4K6VBANF>-._.:XO49UCTCT,/IYS>](T)XP
|
||||
MMS/$A)4.P!^V37!AV^:FY!^F30L@."!W/>O'G+D[/:QQXJAH`*;B?-<J[G9A
|
||||
MSYJ5&U=YYHL%5RO`K)VC=M2T,"J$X&6/%!<*Q.X#`)HHG)Y':N=F88!X':G8
|
||||
MDJ%9V9XJ)0?3_J\4QL`%1WH!R"3]<4FB[L#82!(7[T)!#'JSQVIKC;D?Q0J"
|
||||
M7(':J!BV+F0E@-V.!5-LD`#DYYI\TKF1F!P`,4EN`<=Z&$=LKD]8!Y8GQ]*)
|
||||
M?(`Y)HHTPV2O(JQ;H`VUAU<T=E:*ZH44N>YHF&,N1C-6+@+C:.X-(G#.>_`Q
|
||||
M0_T3(!@,`8[5+C"D'BC;'J$XS]!0MVZO%)A]@CN/K4N'+G'8<5(&7!_BN)PQ
|
||||
MQ0QM'+DX"KYI_IH`#FE+D'@4Z-2<9[4A);!<?E@>#4JHP..:)L;S4@=1&.]`
|
||||
MN2O1,`'&_L:9@*S$?6E/GQV!IW#<#O0%I]A1CN#VJ'4,0<]J(DCMVKI,<?4U
|
||||
M`-V0!UDXHD\X\T97I..]3A1A0/YJZ"[T@6X8_2H!+$_6I*Y7/WHE7:!]<U(Z
|
||||
M_`2C"]N:G:">WUJ&Y+#/&<U/4H`SVID\K[(4'.,<YIJ@;B?!-0,+YYHQ@\GC
|
||||
MFF4_V0R<9\UPCP.:8"-W[5V#@_\`?F@E6+V@&B\8(XJ7\C]Z,*"AH':N@&R5
|
||||
M)HE!'!K@,G9VS1J-P)-"%+NA3J=QKESQBF-D$Y%=C:3Q38Y))$MO8\5P7D4?
|
||||
M.3X%1\Q^U(C1^,[C7-6O4$<TSE(^E0&Z359IKINGU6V4$4F%]E%O=Z]SCQ/G
|
||||
M,+C/SL68V^E$%05TA<+4#P:9?N\ICH4MVZ):M2:;/Z:R0KZD;?IK/=>O?FK>
|
||||
ME:G<VUPL*;I5W?\`#6ER8<><_$Y(\MM;W)37L+EX]T:LR_TUZ.SMI=0=7?2Y
|
||||
M4;I[)7J='MM+ME_.AD61F[;>FFN+"4^/R^1\JEM[N*/U9K:2*/\`4RU%E$+J
|
||||
MX6"-^IFK[2UCI]Q;NIB22!UP-_BLB_\`@[0;U1<6;S6\PY4QG`K10@/WW''O
|
||||
MY'S75-+O=/Q^(AD$3+N+?+MJ=)OI+*X26%@I'57URP^$;@VGX:\O([BWV8_-
|
||||
M/7MVUC:]_9G
|
||||
=3;KG2IH4;GH8\<53Q\B<22?*;,;5=.3XIL/]I6"J-2BV[U'S
|
||||
MK]/[U>&=F$K)(C)(ORM7N=/^'?C30;I9E7<@]P1:T]2^%E^(!)??A6L[Q@P9
|
||||
M<82J<&E3,,J<)W#H^;Q^F[U:L8(XK@,>KJ^6MR\^!M?AN)#`L;1[ND$5H6WP
|
||||
M+K`MHI'*QS@;<-Q6?MY/P="2^47$V?AAK:>)!$K+)_57LUN=0MY8DM(K%TR-
|
||||
MRR=Z\Y\)_#UW;3YNE9@&^3Y:^G6L5I^&=VLD9=ON"?F`TUC:^1+GCQR[L\K=
|
||||
M:7INJS-/<V4MI?`\20IA2:L067Q5H3LLQ6_TE%(XZI>V:W98+K#216\DT.<@
|
||||
M*,D#-(-Q<W-H!#<,DD?)3/!/WK=I'-+,W/6RLWX9`+RV"E/FC/@^?]:KW2);
|
||||
MWN80!'*0V!VS]*=J$AO$GME$-E?1^WY8I3_[\&E6CJ9HDNR!C`)/^M+_`*#M
|
||||
M;-7\;;_AT6\`*KN45XG3OANQAU*74;F29(U)(1>^!_\`BO275KZ][<P02+*/
|
||||
M=&!SYH+%K>:W-M/M6]BXFB;OGO550G+RV.T2^COOR((9HE?.#+P3^U;MO:F.
|
||||
MP-O<0M(&X63'(K)MIEL9(Y#`K*IQR.5_:MA?B2*WD>*:(%-G!(X'[5/0G'B@
|
||||
MH]/U*WDDFL;D;"?9*?%`FGQ7]V9F8QS]B/'-6)=?M[67U3$'!';'84CXFU&.
|
||||
MYLH[FS"1HYSZD?&#XS0YJQ/&VMF5KT<5E#-)>#8L>54/V)![UFZ=JL4^C66J
|
||||
M;/2F9LP%N,G)&*V)$M=<TF;3M=G5/4(6*96['(/?^*\_!I,D-IIVDWTD>+*\
|
||||
M+;XSPZYSD4I33+ACE>SU(?,LDL\62P&X?8U9N8A=:7!8S2D209P^?<N3C_6L
|
||||
MIG,>I"193(DOY??C%,U-Y(KV6UW_`)D).2.V/M2Y)%M7H=-&B3,%8LN3@_R:
|
||||
MZ``,3].:!,[>>],A#D[5')KQ/4RO)H^@]/'QV-A;!P1SX-6,<MCV^!]J44!V
|
||||
M$\8IHY7_`!KG9LU^`D!SCN!1<L^![:D'`(\U)(5"!C=2?9=5V0HVE@,!!Q4\
|
||||
M`,%[$Y%`_.1V'-2.>W`[4BDK!()?`\^:G`6/)//TJ7Z00.<>:Z11C>7&,X`H
|
||||
M97V"_4=^1R>U=*OI%U!R>V:Z)-S@L,`&HN7!=M@Z>^::);W14E&(B6[YH`.L
|
||||
M9[4R<[SO/`/BB0;CN\]\5+-&JZ(V=)?'')IB#"JQ]Q&:492Y>-<<U8"C8Q8]
|
||||
MA5(S?Z*C\EB/)J$!+C%&N&."N%SS0`$<C[TQ.^@)#EN.]0N"02>*(*""?-#L
|
||||
MS$.V:1::Z9+<=EY%01W^O%2PP2/-'&-S&J!M6<&PW%&7QCGB@8#:2.]$Z@)D
|
||||
M_;%9V)Z9/_B<_P`TU/>V>^
|
||||
<T"D$@GR:8JC=N!XH8M7HY4X/--C`4D^30L,*2
|
||||
M.U2O`SSP<T"2H,#G<>10J-Q/TS1#)7@\=ZY#SQ]:8WH-.DD42=R#XJ3[LCMW
|
||||
MJ2<.2!Q4LE,AL`$?2H;.>?N:EADD>#3-N6Y\4,I.GL7MY^U$PZS]^*&0X!&>
|
||||
M*-.]/L*L(J"1G@9YJ5[G/U-2PY/;`KCC#'[YIL'2[#"9=L>*+<"<>:@-D>`2
|
||||
M*D*.XY/BE0F[!;NP\9XHE)*8SCO72@$G%0!@$=Q2`8@XR>_>C7@GZ4L$\@^>
|
||||
M*D9RQ/>K[):#8CU"#SS7-RV,8!J#Y[9HCACQV\4G13!'M(QSG_K7(`34$D$U
|
||||
M,9Y-,%^3\3,HXJ6&Q:[J;=L%<RM7M3/G>&*!TGMKO>VQ:G:_5NH.O=1S"9M:
|
||||
M=!H<;^MJ4L[!1[8OTUMQ?&6F:=`T&CZ%92LK<O<1==>,;?U?JJ=OWI28O;X9
|
||||
M+C(WS\9:RUVT^(HM[;MB'*K6G;?',DET$O;6,)[=RBO&LO4U<RINJ+94J<N1
|
||||
M]3T7XCTX.(Q(K*>X->I"P&&.Y@=-AYP/%?!4WJ[.K[6J_9ZSJMJ56*\E*K\K
|
||||
MMTU<<CC+9CD7CH^YAGEA)[#MFCA-P2,2$5\PTSX_NX%1+F(,JLNZO:Z;\9Z;
|
||||
M=G+A$E_3XK=9U]F'";V]H]*EU+M*2[G..U<K0SR#(*+GG%5;2^LI6]8NP3-6
|
||||
M4].20^C[?K6R:^B&^6C:M7TGT@KQOO!.2>V*1J-O;7"%!ZF2.2.^?M6:I>WN
|
||||
M#AQ(O8`U>CNY#PD!+$%N!338GCX],9;_``JS1!_QTT",,Y=\9HK7X0DLKY+C
|
||||
M_P"H9I%SDQ^KTXQYJ7O;IK<"=90H/&[Q2RXM[5YU,TTQ'`'('-$FV)<5]&W/
|
||||
M))'&BP2E%&!E#W`^M+]+3[O'J@02$;ORN,_O65%=SD)&0"OM/[TZ&]LK*\$T
|
||||
MSJ^UNWVHZ-E%/:*>MZ9:2-AIRT8?>C9Y'-5K^V@>S0AP2QQFO0RMH][$S2*\
|
||||
M88#&WL16=*L#2&.V,8A3E6D[?S3;79C'OC3//3*=,O!J,$K[\`-'GQVXK:O;
|
||||
M+2]9#7=M<?AM19?>3@'CS7E_B/5+0F>W1UDN4.U67MN!/_M6%%?7RS(PE.T+
|
||||
MBL,F>,3HCAE.5(]6]U<1:A-I]\Z%XW)WCL16C:W$,DPW`2*AW8->"OWN[FX:
|
||||
MY:5O4?CW?+5[1KB\@EW[@X#=C^FL/[J"9UKT>5GT+\-9WBO/N,((VG=PM>9^
|
||||
M'H]5TJZ:PO)H+K3NPYR:G6-0N+^U6VR(EP,^GQS541R!"HF<]\<UG/U<&7'T
|
||||
MN2/[/47UK:7F@-`"P(??E>XP16-<0S2Q[3(Q(!P:JZ=^*M78>L[J[<@FM:-L
|
||||
MC]S6&7U7/HZ<7I6OD9.COJ%I*MK(QDBW]
|
||||
+GN.*]7.Z3W!N'`W$8-9J",DDX^
|
||||
MN:L;AR/K6#]1)*C?^UQM]%X'+=L`T]2B$$'J-4TE)'/>FHXR3QFL&WV=?!?1
|
||||
M:4Y]W`S30P#;\<<@"JI?<N?O3+=U*99L\X%)CXEH'ISY-05R^<T)ZG5,@5SL
|
||||
M`O?@5+&FF$P[;NQ[T()8L<X`\4`8[R<\4S`S_K0402<LF>:EEQM/>H.`"PY)
|
||||
MIT:Y<+D<GO5-63='-N2(YP#5&5\`J.]7+UAZCH#D`G&*SL^YF\5+T.+06,ID
|
||||
MGD"I0L<MX`Q0Y+#T^V:E2X##Y:&7>PXT5&8CO]:*?)1L=LT2$;B<<UQ.Y@@Q
|
||||
MFJ1+>P(R-@!';FEO[L]EP14IC:YSR/%0RDYSVILG[%J"&`\GO7$D*`%'<TR0
|
||||
M!6;ZD5RK@$>12'\A;(?>>:E-BID>379/(\5##EQ\HH902]EQW\TR8;D)'<&E
|
||||
M`#;G-&2>1Y-0)K\G(```?%,`Z@`>]*(()YYS5A``P)--[&V@B=H(\"H!(&/I
|
||||
M4R#G'BB0@Y!'/:AHFU0*DEB`U''PQH0`L@/@T>!G-#)>V%N()7/:F#M]\FE-
|
||||
MC(/FF;L*".^<TAI)=$H<+@\XH@3OQ_B:`."2H')KE;DGZ4"IL(CD>:YL!CAN
|
||||
M312'D;?!!I9(W$_7D512NQZ^<U).W/TI8/.1R.U$2.K/;Z4#E%O88YS]:8Q(
|
||||
M0XQFE,V<CLQS7!N#GM1=$589R1FN#8/U':H9L$XJ"02,<4%/8WP"/-23N8#Z
|
||||
M4O=P!X%3NY)%%V*Z8P<+EJYF`&*%B"",\8I9()P*78?98)!^G/-!GP/%0G#?
|
||||
MMQ0MG=GQ5L+/Q>C;**23IH'V4'_\:]<^=GBA\1BYW5S>YJZE/\U5P"$.,!K>
|
||||
MYZ)OFH%^:NZ^JID:QQ2B2?=U5S)7;>NFK\WZJKB8<//R`5.&H`G7W--^:IY_
|
||||
M13%/"N8I%PU'$S1MOC?:U%LJ-@3<]*48CA*4-1-G2OB'4;/I]5I$5NS5ZK1?
|
||||
MCH"[07BLL;GK*>W;7S]:C`H::Z":3THGWFRU+2M05I+74((ROB5\$G%:X$\'
|
||||
M7;:KIWJOC9ND^M?G19)5]KLM,6]O5DW?BYMR_P!54IS78IXH8^S]'E]3</;S
|
||||
M2VDX(!RASBF;/1@]47,*+C!R?\J^*?"OQG?:3<AKB1Y8MN"';=Q7TRRU?1]7
|
||||
ML3<6TJF0ODQ,?.?`K2.1-[%FC&,;HU[HR-;H3^3$2<2]LGZYH%;2+F)YK%7D
|
||||
MDE8;=_M`\T%X9H[>!+GF+&50_3ZU&GM:V-N98U0YSA!V'@8K;DCE<>2\6'=S
|
||||
M/;1&>?E0Y")'VVUX76OB:]U6(QP0/9VBY`!7:Y7;YKW]O;)/E[AN",X'850O
|
||||
M=$LKR!XHU`;!Y%3).2T7!<9W(^>`KN+;N?K3XG7U65NV
|
||||
ZH^(M/N-)O6CD7=&
|
||||
MS'8?M52*?<3]:\GU&-Q/>P3BUHUPZ]C5RUD7:5'<>ZLE)-P_JJU!+M[=VKD9
|
||||
MU1BC8R2/O3XY!CV^:SX9&;"^:LHWYA7P.:79LJ^S1AP6R3Q5E=VUAOJE&W5]
|
||||
MJM1$9()[TFR:2Z+D.-I\@TZ,YW9\52BEVN5\"F(Q#$9Z:&06BY#X'FG`X/[F
|
||||
MJ?J$O]Q3HW!;><TFC4O1'(Q38V"A=H\]JJEMJYHHI"5#BAAR+Y<;E)QGO1`Y
|
||||
M'/\`G516(9E/<\4]7`;#>*'7V)Z#4]7/M%$6SD;N]5Y).H@#@DT2+DDDT%==
|
||||
MCD("@D]A5B$-L8D@$`XI"@%0,#&<T<N0F1P!0B9-?0@OU9^HS5>0CTC]:.8G
|
||||
M>2,<<4M@0J!L<DFIDQI4<<\MXQ33OV!1W-*SF/'&*,9$H)JBG8XX!8`]0&!4
|
||||
MR#&V0=\XHHE!=F.,YXH+A\,(_H2?YIU^3%M-T"P5`SD@]50S'!SV-0>/4WC@
|
||||
M-VH7R<D]J;+JCH''=N1G_*B`)D8^*5&%YQV[BCW'U`G85+'_`,(W9;"]C4#_
|
||||
M`(;)0Q<?Q1``YS_%`MWLZ/W%/K7!NN@)(?([&C&/4SXS0/E^0]P,N/K1R'IX
|
||||
M[BD\+-D]Z/=UD=\T,>BSN4@#ZBI`Y..]5E/`.>,TX'#C!J69_8R4C@BA4L<8
|
||||
M[<UQQC)[>:CE7//%!783GG-$N2!2U?DYQ1!MI;Z4=CJABDC(_P`Z+<.V/WH5
|
||||
M8$X/:H;[=Z0.VQX.4+CN:'YBI\<8I(<@%O&:(N2V?O54)VAR<-MW<`TQL'M^
|
||||
M]5P^6^]%ZG5]JEE-L<IY8\4+G`-+WD`_6H#<$FG0[H+);&/%$6P@^M#N4'.3
|
||||
MWI;L#@CS3$W;+&[*@?05.<,!FJ^3N[]Z,MYSU"DT*[8]>D8J.QX_:E[\C(KF
|
||||
M?"Y%-A0TMSNSQ1,V1@D55]7_``J5<M@E:-#VD?C9^S43>]JYJ@]VKVY2B?.Y
|
||||
M?+R)7^JNQ]Z[Y:+:?M4F4I@J>]<M$:Y.]5R'*?GY!K[6J7H?U5-'B5.,I!GO
|
||||
M0'M4M[OZ:D^UZ)'/\ID?*U'_`'J';[J)_FI2.B/D<V%J'[BCVNS421LU5(F4
|
||||
M1;5)Q34MVS3%M]RU4HCJ,BKWJWINH75DWK6\C*5HUABJPJ1K\OS42@)2_C(V
|
||||
MK/XTU<F-;QGF"1J#\W%;MO\`&-H)B3%*8Q[1BO%*R;NE5I5W.T;;5]M"M&.?
|
||||
M#7Q9]%7X]D"E(K9P.W4M7--^-8D`WPE7D8[^GVU\K%W/NV;JDW<RMMW-1[C'
|
||||
M#!*43[#/K_PYJ-@R:CA6PV">X/FOGFH26MDZM%<1N)%Z<-7F99I&7J9FI4FY
|
||||
MFJ)3<H[-\,7BEMGLK:\4^UJO0SKOKP]K<SQ-N+-MK6M-15F]VVO.G`]
|
||||
7'EC(
|
||||
M]E;7'7NW5HPR*0?J:\I:7B[O=6K;7>&W`]ZQ2-Y9#TD<H!`XJPDC%R?'BL2*
|
||||
M;>Z<_-5Y93C<#AADT-#C+ET:8/)-'NR?W-4DF79M\T?K<_L:1IQ?T7Q(!G/<
|
||||
M#%-MGY&?K6:)</WSFK08KEO`IL+-&27#;-V<TQ"%.WD`'M65"[EPY[YJYZI9
|
||||
MCGN:AHI:Z-#<3)G^34;]TF_P3258`#GDTQ",G/BDP;V6%Y/^E-4\GZ'BJX;\
|
||||
MS(-'"P]0#Y<TP?D:"!"XQV%1?-D@`X&>U=:DM*#CCO5:Z?,YP>.:=4C&[8F3
|
||||
M+!CGSQ^U*D)+KSP#FBW9%`>XJ*-F&"N`!]:;&WYH?N*2N-V!1QG*J!0I%V68
|
||||
MVRS?0&IE90^6`W&H`VX'&2<T%P<3MY[UHV84FR&<LCY').:&;C</%0I+`L.U
|
||||
M<YSDGS4=ERT0G$:Y&,BA'#@DU)?C'@=J`\`#[TV2PR<%L^:C)W5SD;BP[`T)
|
||||
M.)&%+LNZ"8A<`^.*D<?XFH8Y3/UJ#NVGZ4^R9O8QP",^:$>XD5P;*9J,]6,\
|
||||
M5+&-WCTMOD<@T2\*>>359^'..U&7Z?VJA/;+*N>Q/!%3N.>5I((Q]QVI@;.X
|
||||
MXJ6%4$W).,?O4%N,']J`'Q4/VX/%!5VQT3D$YHV?DXJL6...:EFRN?-#&]#@
|
||||
MW)^AHP<$Y[4C<,`9\T8//?(H#H9D!L^:D\_O2F;&0/XJ5<%3SS2;'2#SW-<7
|
||||
M/(%`YX.#2@<]^],3=C]QYR>#4@Y)'^%!X^U0I%%BL<&.[[5#[QV[4HOR&_R^
|
||||
M]&7XQ]*78/QZ#5N#X-<SX&#VI)<9XJ/5!4@]J8DZ&,3N+?2FJP_C/(JIZR@8
|
||||
M)'-*>Z4-P>:!W9^3OFV5-<W#FN!`->U(^9Q<80\B&ZJ+Y]^*`'FC;O1)1D&/
|
||||
M,IDM\U+/NHJ-MG50=&51GXQ`"_M3=O5WH7]S5(Y1JLSEX_XQE1MZ:[]/ZJG%
|
||||
M(B7*/B2JK1]/WH%/-#(7V\4Y$RG'B/&W93(O=2!3E[-5?(M1XQ+'RUR^:!6&
|
||||
MRC_FE)R,93)7W,U3CYZ'/3_=H]O_`"U1KRCD(ZOFI<R;@W]-6*%D]RK0R90*
|
||||
M.W;1/[:;)'U?U4H]JC(C;QD=MZ6:N'S*U3\S*M,559OZ:QD:17&0AE]U+7>O
|
||||
MMJ[M5EVT/I_+4FKCQD=;W<D3;L=-:]CJFX;2VVLKTU].H]%%;IZ:B48FT='L
|
||||
M;+4E/3NK7M[Q2H;=S\U?.XWFC;W=-7[?4IHF*LU<SA+D;<^,J/??B5,@PWWJ
|
||||
MT).@-GO7B(=9&_EJW++48Y4"^I[JEJC99+9Z2V(,I)[;>FFR7'<`UDQW.S#`
|
||||
M\5SW*F<L.,]ZELNU9N6TN8P?O5S>"#AN36%!<$*`#QWJW%-T`@]J&F%FPC=/
|
||||
M)YH
|
||||
T<F,,3W-9JSG><4]91MW9X'BIJAIN]FD)0%8^15B,\D8K-CEQM_SJ[$V9
|
||||
MEY^U)E&M$^Q,_:J$[C+G[TYGQ&!FJ,\G20.^:&1$:6&T'Z#%"'`49^M+=ND?
|
||||
M2NE\_3.:3*=#"V925(Q3(V()((XJNO&<^:E3AV6G079>5@1G/S?Y5UP,N>1V
|
||||
MI`?I%3,V1G/.>:JK$U3M$QL`V/%03RP\9XI1;$A^E=(YR3_-3LF<K82$%N>Q
|
||||
MH<EE(/BACD((!'?-2#T'ZBDT*W83L<%^,\FN;:&WTLL"?Z<<5Q/2#G-,MV]C
|
||||
M0V1_-2QYQX[BD!L`BB$@P?L,4[%ML=\F*&@]0<BH]3.#4C=(8#]:X'+G]\TL
|
||||
MOT`C'!K@V-WW/%+H/L>Q.#C@BF"3"FJP?/!J2W4?WI]E2OL?WDX\U,F`<9I(
|
||||
M;`/TJ=S%L&D+]C02K%*D]^*4[=SY\T>_.3C!-'(;H)NQ^HJ6;@TLG(..]"YZ
|
||||
MC@\4>0#6<URMAJ26Z=OD5!/-'('9;W-@L/YH&/.?&>U)]0YQNX-<9/-#0TTN
|
||||
MQWJ8!%0)!S27<"DO.J].:*!T^BX[`DG-<TH.0*SI+M`#U?>J<VI(J=Z+!W=&
|
||||
ML\^`3FJL]ZJY`/%>>O=8"L</YK%N]<`PH//S&I[&XGK9=45<Y>LJ\UP(>'YK
|
||||
MRMQ?W$[%5#4'X:XF;<S-2:D:248=GRW+R/7.F3WHF&/91M[FKZ&SY#^VO_U%
|
||||
M;,HU$QZZ[8/M3-B;J1MAQ^U\2-O5LKMKT6T+4$]#4Y1">64/D3MZJY/8*YAM
|
||||
MHAVI$1RRY''O78J:GLE$AY>,O(%N0U%CI:A7IJ2<-08>'RD-[48YI:\M_3NK
|
||||
MD7'%5(WA\O\`Y#YW4X.6?I%+^;^FFJO6U3S,<N#R\9!K[:8OMW4`HU;:S4_C
|
||||
M(TA$/]-<WS+7'GVU/_B-57(.4E+B)D%5Y%ZFJU)[F6E2+\M2S3'XR\A2[5E_
|
||||
MNT:_IV]50R^ZCV^VL9&WCR"HF7JZ:%?ZJ:OM-)CCY2(V[=OZJG;[FIBJK4?3
|
||||
MU5!M+Q%,J[EKI(^G^JFLO-"WN;^F@,D>0ADQU-3+:XFA?<&Z5HF7BAD3J:B4
|
||||
M>08^49&S;ZZ4BV/5^TU.&9^&Y_JKR4B[=U+S)')N5MK5E+$CJ>91/H=M?+PR
|
||||
M]N*T[:YW8KYQ8ZL\;;9O;7H=/U16(ZJQ<.,BEEY(]FDZ8'/FG^IR0#FO.07R
|
||||
M[=NZK<=WWP>-N*AK9HFST$$V4`/?-7;:?$N3VKSL=TNT'=S5VVNQCD\U#0-N
|
||||
MSTCRCT0]59'R&QX-53=*UOC/%09D.=I[^ZFU8EIE]SD9&,XHB0R@^"*H)/T>
|
||||
M[[4PS?EC'CM16BGLL[LY/;O0MDR9!YI"W"X(/FN,X!X[BI:+;HLASM(SS3\C
|
||||
M)![&L_UN"15F-L
|
||||
Q<GGL:<2'*B&.UFS7-)B->>!P:&Y?$@SVI#/E2GWIO0,L!
|
||||
MB",^.U-)`5Y,\=S5(3%FIPD!&`<JPQ4T509(P!VJ$)VNGGQ0R')QY-*#D+N'
|
||||
M?/\`E0-[^QB.&/![TW(SD8^]50VU^,=Z,L!-C/#450V&S8+`^*,NBMCP>U5=
|
||||
MY/?N,BA,HV]^12:V)Q+2G!(IC-D$_2J7J'U,@T9?"N,^>*8.'VRT&R*DMW^]
|
||||
M5@PW'!I@?/'TJ:*<ET.$AR5_PKC(1)BE;AV'BAD;`)\TR'999SS3$<#D=ZI!
|
||||
MP>:X2`$^,&DT5UV7MX"4MGPV?%5S.`6&:1+<`KC/-)H%(M^H?K7&3/&>163+
|
||||
M>X)YJM-J2H20:=&CC9M27&&[\TN6[`!&>!7G;G6(Q\W-9=YK9&>:=F?MR/67
|
||||
M&IH,@O5"YU5`"=]>-N=9+$]557N;F=N@-AJFV;J!Z:^ULC*HU9%UJTTC;4W-
|
||||
M5>WL)YEZV;-:UII!#!BM6H-D\DC)5+J=O<=M7;;2G<]:UOVVG*A"[>U:,=I@
|
||||
M@8IOBC*4G(P[33%4#*UI0V2(<;>:U([5OIYJTMIR1]Z3G8VK/S&_MJ6[U/\`
|
||||
M>KG/3_37N2B?+\_]B6]^RI;YJ%L[FHF[5,C:$_$[YJA>5%%)_P"JHC]VVJD8
|
||||
MY?.?$YAU-4N#Q4?)4O\`_;2(EA@2H]U3@UW]==\U*S26+B$!U4+>[IJ:%J9&
|
||||
M7C&/B2?9_53%]K5#=JD;OMMI_(A?,</=1J_]%)1^NC5NJI-?D/W=5&O=J2K=
|
||||
M+?JIBM[JJ42QN[J;;7-U?WJ$>YJ@E=O]55XDRCQ"DZFZ:61_Z:)1U;:ECRU%
|
||||
MA_\`4A+>]J+YFJ1[ZFLY&V*7N'/YIH;J:E#W42]JSG$WXV/5FV[J/I9FI4?B
|
||||
MCC_]7S5G*)4N4QJ]3;O-24W'=4+TM1HW"T<>)K\05C'S5*HNVF5#>TU/$8IH
|
||||
MEW>V@:V7;_55HKU4++5<3.4N93>T1J!H9T9FC;JJ_M]U<P]U!7'C*Q=KJ5Q$
|
||||
MR[NI:U;?53M.UN*S/P^ZN6S]W4U8N$6:^ZS=BU0;QU<-5^UU-<[2U>82VVLW
|
||||
M4V*<L3+U*U9O%9?N4>TAU1?PX&ZG6FI*X*$UXKU)%Z0S4M+NYA9MK?W:3QR*
|
||||
M4MGT6*Z5NK/'-.2X_*'/`KP4&NM'L5U9A6I:ZU&X*%JS<&;*5'JO6#%E/>I,
|
||||
MF?/)K$BOHW?=OJPEVN3UTFRI23-J.4;L9IL-P06!QQ6-%=+N&6YIXG02'J[U
|
||||
M,V2ZHU99M\6<<TAI,L6\&J:7`+&/=U4,DW1LSVIN(67/5PQIT4OBLZ.;<>:%
|
||||
MIR&8_3FE85]FNTJ>IG[FEO("A`\50$V["YJ7F4IN^OBA]CHMHP()SQ1LVX#'
|
||||
M>J*S$`@^:-)E&0:;5%5988D+W
|
||||
H6X8\<&E/+R%\43R=(P>:&[)<PRQ[?2A9B%
|
||||
MSGM26E\GO4,XR.JE8.5%R-^G>?!Y_:FEP,-GO6?ZRI\U`]SP<GL:+8WW9HM-
|
||||
MR>>:B6;IW!NU9)N]K\M2YK]0#AN*+%*5FLUP`-PJO/=_UUB76I*H(#<5FW.J
|
||||
MGG!I2D7Q3V>BFU#&2#S5.?5EW'KKRUWJ1.5W5G3WTC;EW4/DS51B>GO-6!;A
|
||||
MN:S+G5B1[JR,W4K;0K5=M=(GD(W^:(XY2!RBA4]]-(=J[FW-1QVUW<-_36]9
|
||||
M:,H/MYK:L]-C48V5HDD8^\SSECHA/O5NJMJUTB-%!V\5NQ67&WR"UY[<4
|
||||
M.=:)W+LS+?3E5N$K0AL^GM6E':X\59CAQV%92DPX[,V*TVXXJ]#;+GM5Q(.1
|
||||
MQ5F.(`9`J7(OB5$M%_33A;8&,<U<5!FG)%R&P":ENQTS\>-LI7R-4K[ZAOF_
|
||||
MJKZ$^<G#C\3G7W/1#YDH7]S5W7OH,Y>4O$,]VJ&V5QZ-SM4/3D.7E,EF'54L
|
||||
M.EJX^[?FN;^FH^1?M0C\CA[FIE"ONJ:)1"7E(ZN;&:[-3\U,)0@3CKKLCW5W
|
||||
MS5+_`#4_D3+%&(1^9Z%/;4>XM1_.U'R,I?(:/_53%W=34O\`\3IIHZF_IJOY
|
||||
M#^/B$OBBV]6[]-":F+]/RTI"Y<9!D&@8=-'YW?+4-_55=ADQQY'%:YEZ^FNV
|
||||
MU)7KJ#20"^*GYJ[#-MVTPKA:<HEQR1_B<N[<VVG(HW?^:@C'YFZFJ*SXFWO<
|
||||
M0E]U&O2U+^:B5NJCB3+E*7)#-VVB9O:WS4*GW5V[J'Z:GB5*4@W[5#+_`,U"
|
||||
MS;F6A4[O[M*1I'QVQE<H8M4HO335W;JPXF[E'LA%55:F_/0MWJ&?J.:J40E*
|
||||
M(TLM"S=34!/-1\Q6JXF?+D$QZJ"3VBI9?:U=CI/ZJF42N4HBI(]R\4MMP;<M
|
||||
M6=O3_>J-G?=4RCR%RDA,5]<0+[MU7;?63MVO5-XO=NI4D2LS;?EJ)XHLU]^M
|
||||
MR/10ZLK*.KFKJ:BK=7J<"O&+$WAFIJFX5MRLU2\)I[T9'M6U#$A<-[FICWNX
|
||||
M;]U>,:YN5Z:<E].B=;<UFXRCV7')%Z/6Q7ZMT[J>]WDY\FO&+J;8W=633X=5
|
||||
M#-ULU2-R^CV*W*E^^T44ERJDM_E7F(M3CS[N*L#4$*GJI5Y#<G=&^;G@]7TJ
|
||||
M3<<[\KS7GOQHVGJXH_QP]NZE)!LWUN5/!:B2Y7RW/->?EN]I+!N5I;7_`&YH
|
||||
M2HIR3/027*Y/5P>*2]XJOMW5@OJ"Y;)X6J\VHY8]5+L7(WY+_9E<\U6GU`9]
|
||||
MW`KS=QJ&&]U4Y=1'5U5;\2FSTTVHD@J6YJE-J9ZNJO/27TC,U0JW$[;0K"EQ
|
||||
MY$N1H3ZD#T[JK>O-*VU=U6K+1I9=K2*S-7H-
|
||||
,T$#J*\5:QT6LB9YNVL+J=NK
|
||||
MYJV;/0@6ZUW"O56NE1Q_)VK3ALD4>W]J&TC*7.4CS]GI"JG*<]JUK?3T4XQS
|
||||
M6O#9\X':KL%FJOV[U,IFB2,R#3SX%7HK)5.<5K16_2#BG>@`>W%9MV+BV9J6
|
||||
MWVYJS':X(P.*OQ0=0X\U92`<\5#DF73*"0?:K4-N3XJZD"\\<5:6(9P!@=JE
|
||||
MR+*"V_&0..]-,/V[U=6$D8`XIGICG(I-@HV9ZP'C(Y'%/@A/`/UJT(?/@^:-
|
||||
M(3Q4-&B1^'_U/0MOHRO_`"T+>YGKZ/XGR\8>Y(+;[OU4?<4'3MW5Q[42D5[?
|
||||
M+Q!DY6I&[<V:XKN4[:)NIJHY\7^QS&HE4%JE1[Z(D5`3\_\`T!7BN!]U0/FH
|
||||
M@.*TE(C%S^,25.375&,4SW-43-(<_P"1%%^K=0GW,:('W.WMICE./Q)4;4Q1
|
||||
MYZNJA8FBIR*AQE+82_-1!NNH5MJ;J[=MZ*IR,<\1N[*[J)>BE,^%_NT7==U*
|
||||
M00E_K\AN[Y?%#^JN+4*KU57$O)+R'9J6]S-0JG5_2M-55W-1QL%R_D<JLNYJ
|
||||
M,KU5PKFV[Z;0Y1_U.YZ6HF/2W]5=G:V[Y:[-8E1C'_8)O=7,U<VW;0/)MHD;
|
||||
M1E^1@*JO%#OI32+N7;38U_563-8\?L-5W86FQT*KM6BZ>JB42Y2C+LGY?M1+
|
||||
MNW=34/<5PY;JHC$)>4M#&;J_NU+%2VZ@]IJ5XZ6IF4_$)=W-&!\OF@'^5%\I
|
||||
MJ)&T5&PNG.VH;W?>H[+MHJ"G?V1QM_JH1YHLX]M0>YJ>(.5G,M`4IK-U?:N;
|
||||
M;02_('8N[;\M2R+U43=JC=U=5*4>0HRX2I@.%W4N2-6IC-U=50_MIFK492*[
|
||||
MHJTJ1.JK3>[J6A;"FIXE2_16>-E5MK4OUIHFZ6;;5IEW=-*E'=:)1C((RE+:
|
||||
M!;49%]U=_M0JVYMU+FB7U*K30;I&6IX1%[LR])JQ9>EJ7)JG5[JSI(6ZFI;6
|
||||
M\K-67MERRK[+\FH;E;JI4EXS,VUNFE0Z?<2>U6K5L_A^5VW2%JKV2%GY&4TL
|
||||
M\S=.YFJY;:==3%<JU>KT[X=1<9CVUZ"ST94\4G&*-'<CR=CH)+;F6O0V6AQI
|
||||
M[EKT4%@JJ5"<UH168)[=Z',I8Z[,JSTU$?"CM6G;V)P!CD5IV]H!XJY#!SVK
|
||||
M&4F:5LS(;/(!QYJVEF/TUH+``#Q]Z>D//:LY2-(POLHQVV!5J&'JSBKB6P.<
|
||||
MTR.%@<8J')OHUX<61%&`@&*GT01CQ5I(#@XIJQ#.32;'7VRHL1!)QP:LQP\U
|
||||
M:$`(SCZ4R.#`_:ID@TQ:PC8<8SFB6+#''MR3S5H1GZ40B8G..*5@*$>,GZ\T
|
||||
MJ7()'FM!8>_UYH'@RQ)'\T,:T4$WLN/!-7HEW#C^:,6X![<
|
||||
T^.(("!VI.)3=
|
||||
MH_!+>Y*[9N:F,O7U5%?1\CY:491(;Q7-L]]<W37/_P#=2*E$[JWU'SYHC1-W
|
||||
MIR".#E+B!M]VZH841HOFIV$\'*0-=74>WJI2,H?,$+PU$_FBV^[::Y1U;&]M
|
||||
M5R*(3NU&14;,;OZ:)E*TA2AR!`Z:,>ZN[+4'_P!5!/\`YG,>FB1>JB`'LJ2.
|
||||
MMJ<S+A+Y$-LZE^9J9\W]-=MZZ9MZMM5Y&T`5[407IV_-1*O4RM3%]W]52$H\
|
||||
MI<CD6B^7^]1+MVUWR]55&0N)%%4?-NQ4,U2Y%>WQ^03>UJYO:U!(RK'2I'9M
|
||||
MRTWY![?(-Y?=0+U2?:A5=S4]`NVIE$T\8$QHO%.V]OZJ%>E6HVZ7_IJ9%1S<
|
||||
M@MVYJ[=N6AW;6:N^7II2-.-=C-S5![5S;=WWHEI$^Y+E426ZO_+1^XT/M_O4
|
||||
M66ZOTT2D;<)2[)SU;:GIYH"W4:Y>6:LWXDR#;]-=\S5'5D_JJ?KMHD7T$OMJ
|
||||
M![BWFN[&H;S06$S>[^]7/W6AW=6:C=U-^JIXF,9#&*U#'/?O0*W4W]5<S=1J
|
||||
MN)5\D=NZVH6:H9MK4+MU=-3(J$1C_?W4MNU!NZJ[/RM4\@N49!,W/52SM;=F
|
||||
MB;=EMM''#([;=M8OY&\8QXB"O_-4+`S,W3\U:UOI['W+6I;:42HRM-NNQ>W>
|
||||
MCSL&GN[>VM2ST8%QN6O0VNG*K'HK4@M%4]N!3>3\`L+?9AVNC*J^VM2VL%W[
|
||||
MMHQNZ?VK6CM>X`YJ[#;(#P.`*RE,VCA]LH06FP<CS6A;VBYY[BKD=OQVJY!!
|
||||
ME@,5E*2-.%%2.W';%6HX3GA:M10<]JMQP]0/BI<C1195ABQW%7(XA@?6C2(=
|
||||
MC3A"?EYXK-R_`W%+0M(@6_FK,<.!VYYID4!#U;B0`8QVJ6QJ(A80#@48C!4'
|
||||
M'/\`TJTT>`2!S4HH/9>*5E)-"%C\T](@=P(\596($'(^E,6+GMP*HD5'`<_;
|
||||
M/^5/$7V[&G*!G@4PX!I#94]+#'-6$C&3]*)E')/:I7BI<@KD=M&>U24Y(Q3`
|
||||
M*E1U&J;'5,4R8YQQ4''`^]-89!'B@(Y-3V-;/QK<:#&S,VVLZ[T)PW2M?19!
|
||||
M:8W&1/=29H;+S*F.:]19I'DO!ND?+[C2[A%;"U6DM9U]RM7TNXBTO)9KJ'_F
|
||||
MJE=6FF[>J:+_`)JUCG7V83],^6CY\X?]%"QYKV$]CI39Q<0?\U49].L3VNXO
|
||||
M^:MO<C(4\>3$>>VM4LONJ]<VL:2=,RLO]-5MO5_YJU.6,IQ\A2+U>RI'NIC>
|
||||
MYJG:NYJ<C2/EY2!56]]2R]5&W3[:GYNJE()8I<>0*=_Z6HD[M7;?DHB:<HG-
|
||||
M+_'\B-H9O;[:EEZJ+VAJ)NU,/D"B]5$5J6_57+MW=7MHX\I%_P`#E6F*NU
|
||||
OZ
|
||||
MJ*->K^JC\TY2_`U$A5ZJ['3]Z-?=4?W?=2^RLD8R.;W5.[JVM4-[FH9/=T^Z
|
||||
MID$8\?(EFV[J!FZ=OS4N1LLU1U9ZJ)!'E+Y'2-N:I"MN_O5*K\OS4R/NWZJ(
|
||||
MQ_`1\0HQU4:]-<J[2U,%6S2/D11>ZH;=U-4K^E:B02CQ.7S^JB^>N^>N/S5$
|
||||
M]EQC42?ZJ[YJY?%<WZ:/D8_$/R?[U$??0'=NHMS?,M*1O&7T3[O=7+_ZFKFW
|
||||
M'VT6<-]Z1I/C(ZN;MTUPH)&;Y5J91\B9^/0?5N9:'/S4+,V:$](I\>)7+\C&
|
||||
M9=U0SMNW4IF:H+-^FID7XRT,D9:!C2I&;;4$MU+6<AU*(R1\[JYFJ`NX]358
|
||||
M@AC/OD6H-:N(A0S=*U:@M)';V\UI6UE%N#;Q6G;06N.F5,U,FE*B.$I(R;?3
|
||||
M6\K6O9Z:I^7FM.VMHNPY-7[1(<]+CZU+D;^V4(=/P!A>:T(;503@5>6-/:"*
|
||||
ML6R19]XSFLW(U4&BI%:_:K<5KSCP:NQ0)]15F%8\]QBI<BU'97BM<D''/:K*
|
||||
M6O';BKR1H!QC%/1(^<N,5#E0]LJ1P<D8X-7(H..*L+"G)!%6K>.('W+4.9?`
|
||||
MK1P=Q5@6YYQY-6UB3/<<TY%3CD9I<BTBDEOCC'/UJU';C`.*M+`@&01CQ341
|
||||
M<<,,4KV*2L3'`.>.:<(`#V_>GA0&)%'P?VI78*-%?TLCGO38H0!@CD4>WJQ1
|
||||
M+D9S[J5EU>D04VG@=N:E<`X^],RN,>:@A2Q^M-[%QK3(3&ZG!1S0(@!X^M,4
|
||||
M#'&*BPE%',M"%`.!32`<C/&:X@`GD4-V)*@1P#19RQJ0HY&17`#/<=Z*H4ML
|
||||
5XXH2H^E-P.>V2:A^<XQR:3&DD?_9`
|
||||
end
|
||||
END --- CUT HERE --- Cut Here --- cut here --- jenes01.jpg
|
||||
1294
uudecode/49544.new
Normal file
1294
uudecode/49544.new
Normal file
File diff suppressed because it is too large
Load Diff
322
uudecode/BASE64.BAK
Normal file
322
uudecode/BASE64.BAK
Normal file
@@ -0,0 +1,322 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=base64 - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to base64 - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "base64 - Win32 Release" && "$(CFG)" != "base64 - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Base64.mak" CFG="base64 - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "base64 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "base64 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "base64 - Win32 Debug"
|
||||
RSC=rc.exe
|
||||
MTL=mktyplib.exe
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "$(OUTDIR)\Base64.dll"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\base64.obj"
|
||||
-@erase "$(OUTDIR)\Base64.dll"
|
||||
-@erase "$(OUTDIR)\Base64.exp"
|
||||
-@erase "$(OUTDIR)\Base64.lib"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Base64.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Base64.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
|
||||
odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
|
||||
/pdb:"$(OUTDIR)/Base64.pdb" /machine:I386 /out:"$(OUTDIR)/Base64.dll"\
|
||||
/implib:"$(OUTDIR)/Base64.lib"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\base64.obj" \
|
||||
"..\Exe\mscommon.lib"
|
||||
|
||||
"$(OUTDIR)\Base64.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "$(OUTDIR)\Base64.exe"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\base64.obj"
|
||||
-@erase "$(OUTDIR)\Base64.exe"
|
||||
-@erase "$(OUTDIR)\Base64.map"
|
||||
-@erase ".\cfile.obj"
|
||||
-@erase ".\Decode64.obj"
|
||||
-@erase ".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h"\
|
||||
/Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Base64.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none\
|
||||
/map:"$(INTDIR)/Base64.map" /debug /machine:I386 /out:"$(OUTDIR)/Base64.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\base64.obj" \
|
||||
"..\Exe\mscommon.lib" \
|
||||
".\cfile.obj" \
|
||||
".\Decode64.obj" \
|
||||
".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)\Base64.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "base64 - Win32 Release"
|
||||
# Name "base64 - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\base64.cpp
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
DEP_CPP_BASE6=\
|
||||
{$(INCLUDE)}"\.\Cfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\base64.obj" : $(SOURCE) $(DEP_CPP_BASE6) "$(INTDIR)"
|
||||
$(CPP) /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Base64.pch" /YX /Fo"$(INTDIR)/" /c $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# PROP Exclude_From_Build 0
|
||||
DEP_CPP_BASE6=\
|
||||
{$(INCLUDE)}"\.\Cfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
# ADD CPP /Zp1 /FA
|
||||
|
||||
"$(INTDIR)\base64.obj" : $(SOURCE) $(DEP_CPP_BASE6) "$(INTDIR)"
|
||||
$(CPP) /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /FA /Fa"$(INTDIR)/" /Fp"c:\work\exe\msvc42.pch"\
|
||||
/YX"windows.h" /Fo"$(INTDIR)/" /c $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\Work\Exe\mscommon.lib
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
44
uudecode/BASE64.PLG
Normal file
44
uudecode/BASE64.PLG
Normal file
@@ -0,0 +1,44 @@
|
||||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1>Build Log</h1>
|
||||
<h3>
|
||||
--------------------Configuration: base64 - Win32 Debug--------------------
|
||||
</h3>
|
||||
<h3>Command Lines</h3>
|
||||
Creating temporary file "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP72.bat" with contents
|
||||
[
|
||||
@echo off
|
||||
/parts/ddk/bin/ml /c /Zi /coff masm\Uudecode.asm
|
||||
]
|
||||
Creating command line "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP72.bat"
|
||||
Creating temporary file "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP73.bat" with contents
|
||||
[
|
||||
@echo off
|
||||
/parts/ddk/bin/ml /c /Zi /coff masm\Decode64.asm
|
||||
]
|
||||
Creating command line "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP73.bat"
|
||||
Creating temporary file "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP74.bat" with contents
|
||||
[
|
||||
@echo off
|
||||
/parts/ddk/bin/ml /c /Zi /coff masm\cfile.asm
|
||||
]
|
||||
Creating command line "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP74.bat"
|
||||
Creating temporary file "C:\DOCUME~1\sean\LOCALS~1\Temp\RSP75.tmp" with contents
|
||||
[
|
||||
/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /FA /Fa".\msvcobj/" /Fp"\work\exe\msvc42.pch" /YX"windows.h" /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /c
|
||||
"D:\work\uudecode\base64.cpp"
|
||||
]
|
||||
Creating command line "cl.exe @C:\DOCUME~1\sean\LOCALS~1\Temp\RSP75.tmp"
|
||||
Performing Custom Build Step on .\masm\Uudecode.asm
|
||||
The system cannot find the path specified.
|
||||
Error executing c:\winnt\system32\cmd.exe.
|
||||
<h3>Output Window</h3>
|
||||
|
||||
|
||||
|
||||
<h3>Results</h3>
|
||||
base64.exe - 1 error(s), 0 warning(s)
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
40
uudecode/Base64.cpp
Normal file
40
uudecode/Base64.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#include <common/windows.hpp>
|
||||
#include <uudecode/cfile.hpp>
|
||||
#include <common/windows.hpp>
|
||||
#include <common/finddata.hpp>
|
||||
#include <common/console.hpp>
|
||||
|
||||
extern "C"
|
||||
{
|
||||
WORD decodeBase64(const char *szPathFileName,char *szPathOutputFileName);
|
||||
}
|
||||
|
||||
int PASCAL WinMain(HINSTANCE /*hInstance*/,HINSTANCE /*hPrevInstance*/,LPSTR lpszCmdLine,int /*nCmdShow*/)
|
||||
{
|
||||
FindData findFile;
|
||||
Console winConsole;
|
||||
String strPathOutputFile;
|
||||
|
||||
if(!lpszCmdLine||!*lpszCmdLine)
|
||||
{
|
||||
winConsole.writeLine("BASE64 Version 1.0 Copyright (c) 1997 Diversified Software Solutions.");
|
||||
winConsole.writeLine("The only faster base64 decoder is in firmware!");
|
||||
winConsole.writeLine("mail comments/suggestions to sean@vastnet.net.");
|
||||
winConsole.writeLine("Syntax: BASE64 [fileflags]");
|
||||
winConsole.writeLine("Example: BASE64 *.txt");
|
||||
winConsole.read();
|
||||
return FALSE;
|
||||
}
|
||||
strPathOutputFile.reserve(256);
|
||||
if(findFile.findFirst(lpszCmdLine))
|
||||
{
|
||||
winConsole.writeLine(findFile.fileName());
|
||||
decodeBase64(findFile.fileName(),(LPSTR)strPathOutputFile);
|
||||
while(findFile.findNext())
|
||||
{
|
||||
winConsole.writeLine(findFile.fileName());
|
||||
decodeBase64(findFile.fileName(),(LPSTR)strPathOutputFile);
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
322
uudecode/Base64.mak
Normal file
322
uudecode/Base64.mak
Normal file
@@ -0,0 +1,322 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=base64 - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to base64 - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "base64 - Win32 Release" && "$(CFG)" != "base64 - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Base64.mak" CFG="base64 - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "base64 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "base64 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "base64 - Win32 Debug"
|
||||
RSC=rc.exe
|
||||
MTL=mktyplib.exe
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "$(OUTDIR)\Base64.dll"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\base64.obj"
|
||||
-@erase "$(OUTDIR)\Base64.dll"
|
||||
-@erase "$(OUTDIR)\Base64.exp"
|
||||
-@erase "$(OUTDIR)\Base64.lib"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Base64.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Base64.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
|
||||
odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
|
||||
/pdb:"$(OUTDIR)/Base64.pdb" /machine:I386 /out:"$(OUTDIR)/Base64.dll"\
|
||||
/implib:"$(OUTDIR)/Base64.lib"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\base64.obj" \
|
||||
"..\Exe\mscommon.lib"
|
||||
|
||||
"$(OUTDIR)\Base64.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "$(OUTDIR)\Base64.exe"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\base64.obj"
|
||||
-@erase "$(OUTDIR)\Base64.exe"
|
||||
-@erase "$(OUTDIR)\Base64.map"
|
||||
-@erase ".\cfile.obj"
|
||||
-@erase ".\Decode64.obj"
|
||||
-@erase ".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h"\
|
||||
/Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Base64.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none\
|
||||
/map:"$(INTDIR)/Base64.map" /debug /machine:I386 /out:"$(OUTDIR)/Base64.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\base64.obj" \
|
||||
"..\Exe\mscommon.lib" \
|
||||
".\cfile.obj" \
|
||||
".\Decode64.obj" \
|
||||
".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)\Base64.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "base64 - Win32 Release"
|
||||
# Name "base64 - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\base64.cpp
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
DEP_CPP_BASE6=\
|
||||
{$(INCLUDE)}"\.\Cfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\base64.obj" : $(SOURCE) $(DEP_CPP_BASE6) "$(INTDIR)"
|
||||
$(CPP) /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Base64.pch" /YX /Fo"$(INTDIR)/" /c $(SOURCE)
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# PROP Exclude_From_Build 0
|
||||
DEP_CPP_BASE6=\
|
||||
{$(INCLUDE)}"\.\Cfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
# ADD CPP /Zp1 /FA
|
||||
|
||||
"$(INTDIR)\base64.obj" : $(SOURCE) $(DEP_CPP_BASE6) "$(INTDIR)"
|
||||
$(CPP) /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /FA /Fa"$(INTDIR)/" /Fp"c:\work\exe\msvc42.pch"\
|
||||
/YX"windows.h" /Fo"$(INTDIR)/" /c $(SOURCE)
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\Work\Exe\mscommon.lib
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
111
uudecode/CFILE.ASM
Normal file
111
uudecode/CFILE.ASM
Normal file
@@ -0,0 +1,111 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: CFILE.ASM DATE: APRIL 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT LAT MODEL
|
||||
; FUNCTION : BUFFERED FILE FUNCTIONS
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
.DATA
|
||||
crlf DB 0Dh,0Ah,00h
|
||||
.CODE
|
||||
_FileOpen proc near ; int FileOpen(char *pathFileName,FileInfo *pFileInfo,int access,int share,int open,int attributes)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index
|
||||
CREATEFILE [ebp+08h],[ebp+10h],[ebp+14h],[ebp+18h],[ebp+1Ch] ; call create file
|
||||
mov esi,[ebp+0Ch] ; move FileInfo ptr to esi
|
||||
mov [FileInfo ptr [esi]].FileInfo@@mhFileHandle,eax ; store handle
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore previous frame
|
||||
retn ; return near to caller
|
||||
_FileOpen endp
|
||||
|
||||
_FileClose proc near ; int CloseFile(FileInfo *pFileInfo);
|
||||
push ebp ; save prior frame
|
||||
mov ebp,esp ; create new stack frame
|
||||
push esi ; save source index register
|
||||
mov esi,[ebp+08h]
|
||||
cmp [FileInfo ptr [esi]].FileInfo@@mhFileHandle,INVALID_HANDLE ; check for valid handle
|
||||
je @@FileCloseEnd ; handle is not valid
|
||||
CLOSEHANDLE [FileInfo ptr[esi]].FileInfo@@mhFileHandle ; close handle
|
||||
mov [FileInfo ptr[esi]].FileInfo@@mhFileHandle,INVALID_HANDLE ; set handle to invalid state
|
||||
@@FileCloseEnd: ; end sync address
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_FileClose endp
|
||||
|
||||
_FileRead proc near ; FileRead(FileInfo *pFileInfo,BYTE *ptrByte);
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new stack frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,[ebp+08h] ; move pFileInfo to esi register
|
||||
mov edi,[ebp+0Ch] ; move ptrByte to destination index register
|
||||
FREAD esi,edi ; perform read from disk, or cache
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_FileRead endp
|
||||
|
||||
_FileWrite proc near
|
||||
push ebp ; save previous stack frame
|
||||
mov ebp,esp ; create new stack frame
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_FileWrite endp
|
||||
|
||||
_FileReadLine proc near ; int FileReadLine(FileInfo *pFileInfo,char *strLine)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,[ebp+08h] ; move (pFileInfo *) to source index register
|
||||
mov edi,[ebp+0Ch] ; move strLine to destination index register
|
||||
FREADLINE esi,edi ; perform getLine
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_FileReadLine endp
|
||||
|
||||
_FileWriteLine proc near ; int FileWrite(FileInfo *pFileInfo,char *strLine,int length);
|
||||
push ebp ; save previous stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,[ebp+08h] ; move pFileInfo to source index register
|
||||
mov edi,[ebp+0Ch] ; move strLine to destination index register
|
||||
FWRITELINE esi,edi ; write string to file
|
||||
lea edi,crlf ; get crlf address to edi register
|
||||
FWRITELINE esi,edi ; write string to file
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_FileWriteLine endp
|
||||
|
||||
_FileFlush proc near
|
||||
push ebp ; save previous stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
mov esi,[ebp+08h] ; move pFileInfo to source index register
|
||||
FFLUSH esi ; flush cache
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_FileFlush endp
|
||||
|
||||
public _FileOpen
|
||||
public _FileClose
|
||||
public _FileRead
|
||||
public _FileWrite
|
||||
public _FileReadLine
|
||||
public _FileWriteLine
|
||||
public _FileFlush
|
||||
END
|
||||
32
uudecode/CFILE.HPP
Normal file
32
uudecode/CFILE.HPP
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef _UUDECODE_CFILE_HPP_
|
||||
#define _UUDECODE_CFILE_HPP_
|
||||
|
||||
class FileInfo
|
||||
{
|
||||
public:
|
||||
FileInfo(void);
|
||||
~FileInfo();
|
||||
enum {MaxLength=0x800};
|
||||
HANDLE mhFileHandle;
|
||||
BYTE mszBuffer[MaxLength];
|
||||
DWORD mBufferIndex;
|
||||
BYTE *mpBufferPointer;
|
||||
};
|
||||
|
||||
FileInfo::FileInfo(void)
|
||||
{
|
||||
mhFileHandle=(HANDLE)-1;
|
||||
mBufferIndex=0;
|
||||
mpBufferPointer=0;
|
||||
}
|
||||
|
||||
FileInfo::~FileInfo()
|
||||
{
|
||||
}
|
||||
|
||||
extern "C"
|
||||
{
|
||||
int FileOpen(char *pathFileName,FileInfo *pFileInfo,int access,int share,int open,int attributes);
|
||||
void FileClose(FileInfo *pFileInfo);
|
||||
}
|
||||
#endif
|
||||
BIN
uudecode/Cfile.obj
Normal file
BIN
uudecode/Cfile.obj
Normal file
Binary file not shown.
920
uudecode/D3.TXT
Normal file
920
uudecode/D3.TXT
Normal file
@@ -0,0 +1,920 @@
|
||||
begin 644 d3.jpg
|
||||
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
|
||||
MA*I`WR<@5FWC9&(8$$=&"M+>.+Z.MB]7U$(J,J9>MQ*&-Y`KDE?EVV:B0
|
||||
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
|
||||
M=JA+9Q0H-4)U9^=%`QZU,0]K&^_:FQG8+B6(D&D[XKCL`I/\`W56UR5.`
|
||||
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
|
||||
MI/EHMW,%&D#<\J7*KX*G6ZD`UZY\#D.I[TKQ?C`L+-HXK[11+NQ)ZXS0[
|
||||
M^_3A7#WN9`"=055+!<D[`9K))/Q"XXNTT<<#7DN&8C?P1\@"D#?;?GCK1XL=
|
||||
M_)]",DZ^*[#6'#VFX[:^&Y>2W9YKJ4D?,2<`XVSC;GM6_C.%JNX)PV+A]IX2
|
||||
M.[N0`7=LDX[9Y#TJR5<`#M2LT]\N.@\<-D:9+`U;4:-O6AE:\K9Z_6D],)\C
|
||||
MJG."*F5S08VZYYTPIV]*:A$N`93[4$P@GG3A%0""J:*4Z%?!&14A$!O36#7-
|
||||
M(-3:B][$IH0Z'UJFE@*LV!A@*T97?:E+BV67?K0M#L>2N&4,"%&7<\Z<F7,>
|
||||
M1S&]=2U;Q=]M\T:9<+[4-CF^1I`'@U;4I,NY^]-6HS;+_P#44"<=:@N#Y*"<
|
||||
ME;M!TYFKNU?R#;-4DQS?X!W4`_G5M:G]F"*8^B3[&KGA]G?[W$2LV,!N1^]4
|
||||
M-W\+S`$VLBOV##2<?UK2(?\`JC`[\ZN,F@L6HR8OQ?!\]N;&ZL\_BK5QGJ>M
|
||||
M*!63Y&!YC!KZA@,"#@@TI/P3AMUDO;`$]4\M-CE^S=#U1?\`R1_@^?PV_AQ,
|
||||
M[F)N7E)S1U"')T#0._\`BM6_PIPXY(DF'IG_`!4XOASAT!R4>0_\FVJ.:8Q^
|
||||
MH86KY_@R7#^&37DN0NF$$DOCI6SX+$(HV55V#X`]*G*J1)H10H'(`5+AV!#(
|
||||
M=7-LXZ>]5&3E(YFNU4LT>>BT'(D#`!VSZ4.92R+N"/7>B1Y(Z`'Z[U,Q9)0]
|
||||
MP#C>GT<NS`?%_P#Y88>8SDGU%4<=LZKJ!V]ZU?QE:LKVDN/*"5.W4XJHMX5,
|
||||
M?(T,I-(]%Z>TL"H0"D<^5-QDHNGYNE,>#CF:]I`\I'UI3=FS<F!R9#DC&:#/
|
||||
M%D:@*=TJOUJ+KJ7;)[5%P4I`N%\5FX3<%D9M'8&M;9_&L-ZJ);V=U/+U"(:Q
|
||||
M4T>Q.-ZY:WUUPZ;7!*4.<D<P?I6K'D=&'5:#'F>]+G^#Z1%Q*]G\QX9=*.@*
|
||||
M@?S(H[W5[X#!+9T<@X#$#\\U5<%^,+6ZA6&\80S]-7RD^AJ]\2-NFH\ZTIVN
|
||||
M&<#-CEBEME"OY,VO&./6$CK>6!N(\[&`ZL?2F8_C2U5U2:VG1F."-.X]QSK0
|
||||
M*(WWP*Z;:%GU,@+=_P!?6HHR\,CSX)?GC_AU_N4=Q\;<)BCD*&661=@H0C)'
|
||||
MJ:RMY\><5F=A:K%;J3@!5R<>YKZ*>%V4C:WMXRQ).=(SFJV]^#N#WN6$'@2'
|
||||
MDT9QO[54H9'Y-&EU&@QOYXW_`)\GS*ZXK?WY_P#>7T\H)^4L0/M2;,J*5C..
|
||||
M]77'?A>ZX(Q=QXUMG`E7E['M6>:,..F:SM.^3U.!X9P4L55^A)9XXX3'<*&0
|
||||
ML#@<SWH4JQ,6EAB98P/*&;<^M=%N%<D)RHH<:2IY=:NZZ&>W;LOK#BD/^VK:
|
||||
M\0A+S[&*7(P1TW'+%`CA5)A^'O8DRVXSEE]"O6J&.>6VG5AY@IV/<>E&M1%X
|
||||
MS2.2`-QCF35-&?V=MN/D8N"#Q0P>!""3COG_`)9JO?3%<*,`E6PW8UJ;KAME
|
||||
M>6BW<K"(B/\`<(QC&V=JRLWA^,XB!$8)T^U7$F'*IJEX'_$1.#R&&4(TDH5H
|
||||
MM6^,'?'UH<=A)<V_XA\1ILD2J-W/I_>N<+X7-Q&\C@C7S.<*3^N5?0^'_"0A
|
||||
M>*XNY/%FA^11\HQRQ1QBV^#/J]9CTJY?+_DJ.%?",9X>D]U*Y8#!B`Y>E)_&
|
||||
M\RB.PMHQA5U'2O0<JW4LH2>:$[%B'7Z\Z^5?%'$TN^/2QJX*0_LQ@]N='.*C
|
||||
M'@\W'49=1EW9'T)1%B#D8'YUZAQW*X^8UZLC3.@FJ-MQ1S%<QR?PN,^V<?UI
|
||||
M29&6_654;?R,>F#O_2G..+B!FP3@9VHD+,]NLA'S*"WEVK3F_(S>G-[&Q`./
|
||||
M'=`XSJP0.^*(553YESWJNN8WL^-9B;RR(#@]#GGO3DE_:1/B4AI!@\]JS2B^
|
||||
MD=93^-L5:^6Z26.)OVB/R?(R/2JI$FBOP\K#0I.V.=,SWZ:W%N@CU');<L<F
|
||||
M@1BYN7*Q1O(2<Y"YHHQ:32Z!6/C]"T_$Q2*1&N%QC>A",YR=J=X?P298,R:D
|
||||
MD))P.6*[<6OX=@0Q96Y'K2^%PAV/9^*8*R@:2X,487)7.^VWUJ5Q`L7$TCD9
|
||||
M714+-CW]:6>X,%Q&Z`%D(;`ZTY<03WMS)-;P,J.`%+[>7%4UY)EM/O@4XFPA
|
||||
MM2JII:)-:]^9ZUE+B-N-\15(B?,=R>G>M=<V0\!A/*7;&DZ>0QO0?AOA6E9+
|
||||
MK(!?.E1T%,C-8X-F)Q4N/!G^/\.98H;6%3(P\JJJ_*.M7?`.`<2L[02'B&2`
|
||||
M,PD%E'US3MM&;GB%V=&"%TG*[DU?\(A7\*N2HRO>@GFEM407CBI;BIMY5GXM
|
||||
M"A/F3)8>PK3HD5W.NM<!%K)<-0I\97<+#*QIA3CF#5W\2W5UPJSBGL+=9I"P
|
||||
M32S:<#O^5*:>])?H1R25HNYY$BB+;*H'M@5E;_X@X?;*T\]RH7.D!3DGT`K*
|
||||
MW)^*_B%V@N"EK;@?*#I5OL<FB<.^!V'A37TD3.A&8E7*L!GYCMFG^UC7,Y?P
|
||||
M9EDG_@C_`")3<1F^(^.BWC,A\7*VZ2'RQ@CYR._6OH/!.!1\)L1`OG8DL[=?
|
||||
MYDTOPO@5KPW!MX$5P-W`RWW-7499/:E9LJE\8]#,>)Q^4G;/"-HFRHV-,*-0
|
||||
MS7-6OG]:(@.:SI#&R.G8]ZCCS4QIR*]X7:K:`4B,>QWZ4PC?:@,FCD.521ZM
|
||||
M<`M6-#>NF@H_K1-0Q1)BFJ)=*X:YFN9VVJ%4<(ZFAM]ZFS9S0FQUJAD0!'<4
|
||||
MI<G"M[4VY"CZ4@Q\:X"#ODTMCX?8_"--NH[4M<'?L>U-@XC^F:0N6TACT%1D
|
||||
MAV9:]6:+BGXF/)7`5E[^U7UA<+)&&!R#M26C7G/4T6"%H6U1C8].AHW*T$XE
|
||||
MZA[?2CKRQ2=M('4$4T#MWVV_7ZY4*%M!5-3%#!W.]3Y40MGB:`S^M$=L?WI1
|
||||
MVP35-A11"X;8U*V7"*H90QVW/+^U+RDOI`WSTH\6,!AYB>PW%.PKMB<\ND/1
|
||||
M%N6H*1MD^E-(YRH1LL>^U**S^*23ASN>X-%0:G`92/4'&:?1FL%Q*W%_P^2V
|
||||
ME&8\[,#R;O60?AU[9DYB=T!_\B+J!]ZVT4+W#$*V5'[P-'>.2--*(=AC-,CA
|
||||
MWJV.PZZ6G^*Y1\_U.=A'(6[:#4X^'<2G7*6CA?XGPO\`.ML'<'D0.YJ:AB<'
|
||||
M)]Z):6*[9H?J\_\`#%'SZ2RXBL[0F',BC455@3U]:765HY2LBLK`[AA@BM'\
|
||||
M0>-PSBEKQ#!\!U\.0CH<\Z8ON'1<6MED5E$P'DD[C'7T-"\"Y2-6/U&24994
|
||||
MMLO*\&7<:U!%+R0YVZ=#3+K):S/#.I1QS'?U]:\V"NPWK-RF=:+35HJG7`()
|
||||
M`K6?#''G#)87CY&,1.3N?2LS<!2`HYF@'Q$&%)W.0#W]*?"5`:C3QSX]LC[)
|
||||
M%I*Y%,A2O4[5E?A/BDM[9:)]IHL*Q/[W8UJ%=E&XY?K^E;(-/D\=GQ2Q3<)>
|
||||
M`BY`ZU/)ZU!6!]Z)CMM3#.Q:],7X&?Q]X=!U@\B.M?#"0KDKRR<=<"OI/QK\
|
||||
M0);6<G#86U33#2^/W5K,"-+7X65"L9N+AP!J`)P3_:LN62;/3^CPE@Q;Y+\F
|
||||
MJ7_Z4*-J4#\C0V.DYY@T2ZM7M)Q&SJ6QG8Y':N2Q3Q:Q)'LATDKN,]LTJCOJ
|
||||
M<7Y.&,,NI=\_K]>]+O`"#CRL.HVS1HP[`!$9AC/*@LS/L!Z5:LMM'A=7!B,3
|
||||
M,=('>G>&<#ON*,?PMO)(H.DLHV!QU-,6W`KNYM$DM;*>635EGT^4#TKZMP+A
|
||||
MB<(X/%;`>?&J4\\L>=,A#<<?7^HQTT?A3DW_`,Z*CX;^&SP:(SW#!KDKC;<*
|
||||
M.U:)?,O;!WKTAY]=C4(F_9G.V#BM48J*I'DL^>>>;R3?)\Y_U#^,/]EO#86L
|
||||
M#-=F(,LN0`@.=_4U\=_%7+N68,6;?)WSO6K_`-0;EKSXSO2,E8M,8QZ#-9Q(
|
||||
M';]UOM0VNS1CQ2KAG8[BZY*I%>IF.WDP?V3Y[XKU`W']#;''*NSZ_P`33Q(6
|
||||
M`&=JI(&D+*LTCNJXSN2!Z8K07)#C3G?M5?:QO^U94.K4<D`G3R%+SKE`>FY%
|
||||
M&,D+\343P6]V(S'%YD&1Z[?RJBD3QI&D)YMM_*M#Q*"=[-HV8@*-85L#EOR]
|
||||
MJIK>/%@7SC"G<=]Z6CHM_P!N@<"B/$NE6//##F*U-M<120),B@(1G&,;]OO6
|
||||
M5C'[-?-D8VR.57/!9#J>'G@:P#R![TJ?V:LD%L31=EGT88@9W;&W_P"H]*`T
|
||||
M:W",K,#J)\PJ4F2<L>A._0=_K0Y)D@3+NJ9V&=\?:E",:KE`[2W_``@=G"%L
|
||||
MGS$?*.E#/$`Q,:ZI)%Y*@U$^_:C1V,=T!(QEG+']\Z5/KI%2EB6.)@H$<9.%
|
||||
M"C2?M5TBI2W2Y[*.[:Z:"3)$`88*_,QW[<A1_AJ7PS+$6)TL1YCTYU"^#JP1
|
||||
MD&3G.>0I&S9XN)DQ_)+C(Y;@8S1R6Z#1&JY^R[MV$7%K@*-M0V]*=X078R*%
|
||||
MSAR?IF@<)2/\9<-.WG8_ETJTMT%M<.Z``,<UEF^01=[<#BB3*N&.,YZTWQ:W
|
||||
M:[L&3&67=<>E2<J\@=@`0=S3RIJ4.3FJ3=V+;JC&6DVQ!R.F.U6\,JG!&.=)
|
||||
M<:X<UI>>-'LDG,#D#7K34`-\T4OM!JFN"[C(YU[.,=?I08FVQOO154OOW_7]
|
||||
M:472#Q;\J83EDC[T"-=O:BYP:M<"I<C"<^?6BKCZTD&;D#4UD<^M$I"W`;*9
|
||||
M!_*EGC9#RKHE8$_]5,3!MC[5&TP4G$&LFW.B!AC.JAO'G=-C2[LR;D-0W0:B
|
||||
MI#;.`N?L*\'&#N*K7N]'2A_[@#L-_:IN"]LM3)0'E`&3L*K_`,7(WRICWJ'G
|
||||
MD(+MD=NE2V6H40XEQ-;6`LHUMD``>IQ4N%*S+XC[NQW-5M_'XEU;P#?<N?I_
|
||||
MW5[9II0#'*H^AG41J0C'Z_7_`'53Q";PX&P"2S`#W)JSGV4[]*RG&+X+Q*UA
|
||||
M#@`."2>G:I&.Z1>"&YE@L>E<T>'ECZU/3B+;MDFH*-+@?KK_`&JB,9*,G[6/
|
||||
M<XW7O3$<RRKY2-MB#S%!C;]TU&2$ZM:-A^X'.H+8[XE3$H&QJL%S(@Q(-)[]
|
||||
M*E^(&<ZN6W.IR@:3'7?8[TF\F]#DN.>_T%*2W07)SL#5I6R^D6-JH>8ECL.E
|
||||
M-R0*F&1<+UTYV/K6:LOB"R1M#S88GM6GL>(6TR#3*CCD1GI76AC2@HG(R9&Y
|
||||
MN7@)X:-+OKTZ<\]_6FD@C=_#PVDYR"QQ[5Y[=QIDA;*>FY%-10^$B^W.@CB=
|
||||
MTRWD5#$:+$@P!C;E7F(ZG/H*B26Y-GM4,S9P#C'I6I<<&?L(L08<ORKPB4#;
|
||||
MG7%BE8>:9@.PVH@MA^\SM[YJRA*^LH+^RDM;C!1QOZ5BOP/&^".T<:&ZM5)P
|
||||
M.N/YBOHHB5,Z0*[X8(P1D4,L:ER:<&K>%.+2E%^&?+[RZ@XFH#R"*=?W9A@J
|
||||
M>V:3?AE^J^549#^\IR#7TV;AMK,Q\2&-QGDR`_TI8\!L2"$@\(_Q0,8_Y4IX
|
||||
M6^S=B]1CB58[2^GRO\NF?-8N"\0E)\-4=NVK>B_['Q61PGX,Y)YY%;B6QNK)
|
||||
M\VS^/@_+(,.?_P!AL?K]ZE!QZQ>V\1G5"I*N&."#V-#[<?)H_P"IZEJXI-?H
|
||||
MA3@/`Y^$PFXN)"TDF`0NX45J8\%`<Y&,BL[-\6<+2-U%P#D?NC/VJCD^.7BU
|
||||
MI9P*1WDZ>V],4X05(Q_T>KU4W)QY?WP;N>2*",O(X3&^<UE.*?&L4`>&T7Q6
|
||||
MW'B`["L=>\:ON)G_`-U*S*>079?M2(9.>,_;'\Z5/,WT=;2^BPA\L[M_069C
|
||||
M=2R33OJ=SDFBM<QSH(9XP6"^1QWH"R*/E`]JDV"-U^](.RX1=?H!C:14?!49
|
||||
M72<G):EY-,1TJ`6(R<';/K5A9\$XEQ)C^#MI)$&VKD!]3M5Q9_`G%VG030K&
|
||||
MN=RS@BF*+\"<FIP8FU.:3_U,];6M[?%8X8Y'!VPH..>:V7PY\%2_BEN;^,Q1
|
||||
MIN(VQDGM6VX3PZ#A=@EK"H&D98XW8]Z>)K1##YD><U?K<YW#"J7WY(:51"$4
|
||||
M`=,#%#?F<=Z(309#M]<5H."A>0Y#'E@$$_2EA*%M)'.W.F3YED]3BLYQ[B2<
|
||||
M+X#>73L`$#*H/5N0JFZ0R*W.CY5<2BYXC<3L<F61F.V_,T6/3C8U41\1C.Y.
|
||||
MYIE+^+&PYU@E%G<QRCT6BX[DUZDUOT/3\Z]2MC-"G$^B3#9CW'/KZ5&U:5M4
|
||||
M:.$&<X4$MOZ4Q*G^*4LO#%^RE3E$YX[[_P!*W9>CB:1O=P,75LGARM*)"QC*
|
||||
MZG.W+:LO8%_!DB)!0'!U;\Q6IO6A:%Q(R%3G9C@'8UC(7\.=27/AYP0#@>AI
|
||||
M%'<P7/&SQ#H3&VQ4XR?RJYX#&'GE8GRH@U'Z_P"*X>'F[@$ENF6QG)/S>F>]
|
||||
M.6*I8V_AN=3.<R%>GI]*"70]Y5+'M78_(=(,C?+_`#/I5?*IG4LY4@].F*E<
|
||||
M7?COI4:%390:4=&0:HV.ICNIY'UI=`8^%;#P7;1!@'/D&0IW)Z;G^M,1/*Z9
|
||||
MGTM<XU(I[57*4D.7=@P.PQYAZ4S$H4Y1LGJ5JZ`R-72`R,TCLI8NP));IG^U
|
||||
M(7;_`(0ZBFZ[@J0=Z=FG6+)3`(V.:J+V8,'D(8(!DG.<"CC&^P)S?2+*RO$N
|
||||
M,3(<,!YAUS6@MY_%CWYCG^OO7S/A,\L-RUPC,R2'D>J\A6WL;H>5E8E2,>](
|
||||
MSXMO*`QSM<EXCY!)'MZ&G[276F@GE55%)D@]#S%-1ET/D.&-9D^0I1L:XC;K
|
||||
M<6C*1OS'H>]9N+RUL-.J'ETK,74)MYSD;-DBCD#B?@8M\L:L84VVJLMF!&QJ
|
||||
MVA;R@TOR%)\$]'E]*Z(\;;X[FI!AG;ZU-1UHJ%6R(BZ=*EHQTWHZC&P&:Z1_
|
||||
M>BH7O%L=.5>T4734*H),$R&H$XV:C:_2HR+K3(^E4U]!)_8J\43\P#[T/\.F
|
||||
M3IP!Z5&5M!))VKJRJ5.XP>U`-K@EX2K07(&<41GUC`.U+3R!(7;.,`[U$0KK
|
||||
M=O'XE/(=POD'T_[J]@&!G;&:H."KKC+MC+DM]ZT$7R5<NPI?B@=U)HC+'H,U
|
||||
MA[-UON.&67</+I52=B*TO'[KP>&RG.Y\H^NU9[X;A5[Z'6K*-R&[D=*=B50<
|
||||
MC7IX[<<ILV3*%3;D-J6<8'M^OZ&G9<8I1P`>7Y?KT_7)",B#)S!HZC.?O]*7
|
||||
MCV7VP:*S^&NOMG(JT+D+7,\4>5?`/7)%)NF`3&^.XK-\5XR$XBVO.$YCN<YJ
|
||||
MM_\`44F&`/,[9VK3'!)JQ;R)&CGOWSH8A>W\N=1DR]LRX9V?RX'.J6WXBER1
|
||||
MJ.S#?/YFM-PA!*^VY7`QC.>M-6/:T!.?QL<X=PJ"SC'@P*]PXW9ESI'U'.FT
|
||||
M^'K/RXMPN<DLK%235C8IE@C)I.>>,]MJ>AP90FX['&,FFILPL%!:?A0([.:3
|
||||
M4/F8DD?GTIQ+_P##^68@?\@/+]J]H(1E4Z<G?`ZUP`(AP`&.VKJ?K1J30#2?
|
||||
M8W^SF3Q(R-^>.E1U%,$'8]*41)T)958J>9=AOZT03`^5_P"G]*=&28IQH=!V
|
||||
MRN_<48$$'H*2CD"N5;=3RHNHQ'_A16#0P1CVKF3O71N,@YKGJ,;40)`C)SMN
|
||||
M*\,@CO71R/<&N,0BLV>6^:@14_$-XW#N%SW2'SJN$/9CL*^0J&D)=G))R36X
|
||||
M^..,HULMBK>=G#L!T`_S6(4^'$"=RVZBLF5W(];Z-A>/3[WVW_H<*;>6H^(%
|
||||
MV9/L*+&QVP=SON:;M.'77$9-%M`TK>@V%+_0ZKDHJY.D(HT3'9,GMBBJBL<:
|
||||
M-ZV5C\"-E3?7"HI_<BZ^F:UG#N`\*X>,V]JAD`^>3S-^=,CAE+]#E9_6M/BX
|
||||
MA\G^G1\[X9\,<5XD08;?PXB?_))Y1_>MCPOX$LK8K)>R&YD`&5Y*/IUK4[C<
|
||||
M?:I*X-.C@BN^3AZGUG49N(O:OT_W!11)`@BBC14')5``Q4U;'L.8-3<:@#GV
|
||||
MH1(V/7E]:<<KE]GGV&JN9##(^M=+9!%!U89ATYBK(=+;>]`=@0#G]ZI.P_K2
|
||||
M\K'\/GJ3M4+2/1'4S$]S7RO_`%6O)?!M^&1$^>0RMOC(&P_/-?5+;:-F[U\7
|
||||
M^-''$_B>?$@T0*(QMVW/YF@E*E8_!CWSHPPLKG&<+C_[4>.VG_B`'H:MUX<#
|
||||
MRF7'M1EX;I_^0?:D/.=2&G2^RK2.48R0>X%>JV/#<_\`R\O2O4'N)^1WM(^L
|
||||
MO%JVQ[>M9KB,DOXQXXY&4(=.5/,?2MP\!SR(]#60OK>6WNY&FC(>1BRL!S&]
|
||||
M.SITC!Z7**R/=]%>L3?A9'DU8"L0,G.<<Z):65K?\/C%N&:4C)&WE/K3/C0Q
|
||||
MJ[/ENC'23]*))Q6VLX$6W4`D;+&N`*S)'6S9YQ_$L+:%.%VA$9+RXV!.<'L!
|
||||
M54P\[2*1K)RRYV/O2T5]>3.9)2$0<RW(>E1G<8+QD@`Y9B1O]^=1IMBL?Q;O
|
||||
MMAE,=UC7S7<#JIJ$UT(`4?2V!G"G?ZTC+<-,^(MF'.0;$TS:\+N60,I4=2H'
|
||||
M+Z\^511^QDFX\O@"L=Q<7`G<B/3N!1+>SDBE:</(=6^GD#]*NN'\+GG?*H\A
|
||||
M5>07/M3LW#)_!"""7Q<8P$]?:BI^$)]V*=-F?MDDN!*TI!5<``577L&FVN0!
|
||||
M^Y6YM_AGB!MP1&J`Y.&?!S]*A_Z5\1F%Y(N#SC7/F^M6H2OH7_4XE?)\XX9;
|
||||
M9LXV`Z?UJS@:2V.P\AZ8ZUH.)<'M[%E6UB\-!S49YU6-!M[>E*RMJ5,+%..2
|
||||
M-H?LKD-MT(VJVB8]]ZS$3&"0[>4_E5Y;7&M`":QSC3M#$_#-':OXD>#S',4I
|
||||
MQ2R%S;LO(\U/8U&SN`@.K84\A\9#DY-1.T*:<96?/;;X@CM.+OPVZ5X94.`S
|
||||
M?*>W7K6LCNAHSJZ5\N^)N(3?^HKVZC+6A0M"20&8D`KC?D"":[P;X@NX9OPX
|
||||
M:2:VWTLZXP-\8P>W2M<])<%*(G'J4Y[9'U.WNU=N>,58Q-D<ZPO".*>*@;5V
|
||||
MVQ6IM;O4!OSK%3BZ9KG&^47"L">=2-!B?(HHY8HTS*U3(L`!FEIF.,;CUIH@
|
||||
MXI65"VXH9=!P$WN!$X+!F13Y@IW(ZTS-#;M9M/:WDA.G*J3S],&E)82P.#M2
|
||||
M<<5Q;,3"P*]48;9]*,>X*5-,A=07CK_YLL1U`VJO4<4MLJR+(O/*'I5X
|
||||
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
|
||||
M4'H>E14@#]?KO4]6!OS//-+HY]GB1[?K]?:A-NVU3+#-65!ZG?>IT51S0
|
||||
M-ML^O2O$9SBI+Z5T;'G0]A+@'X>!T]:]H[5(L`#7B<YZFHD6!91N*&T>>E,`
|
||||
M;[UTA0I)(`'.HD0JKF...,O(P50,DG;%5=E\46]E=A`"T)."<<O456\;XJU]
|
||||
M</%&Y$"G8'J:I7P1Y0Q/<]ZUXL=<LZ>/T^,H?W?)]=LN)"X3,;JT9&K(.WH:
|
||||
ML+:XW/,`"OCUAQ&\X7)F!BJ,=T;Y3]*W'!?B6WO%(/DEP`8V/Y@]:<FT<C5>
|
||||
MG3PW*/*-@LI<$-C.<;'G0'90=1)!U#GSQFEH[J.5,JP4Y^9=JY<R!;.:9FV7
|
||||
M2%Z$G/*F1=G-:HM@S(00<BC[2+WJNAN`\><['M1TD*\CD=JT(S-'9`8FS^Z:
|
||||
MZZ^*-:'#CM1,K(,T##0OJYK5D06%Q*-+;,.8HL@.G8?XI=D\0>)&<..W6IPW
|
||||
M`/D<88?G5IE->430;=P:$!IE(Z,*F_[(Y_=/Y5YV4^;/+>K(C/\`Q-QL<$X>
|
||||
M'T>))(VA`=A[U\MXGQ:YXC,9+B1BH8Z5R2%K8_ZBF9I+;"-^'1&)<<M9(Y_2
|
||||
MOGF8_%02A_"_>T'?UK+/F5'J_2L&.&%9:N1XL67(R0,9/05T'(_K49[A!%)'
|
||||
M`#'$Q!(9LL2,XWQ_*E5NFTC3&7]]JE'56;_RX&COFAMD$$^U!UW,F-(\/OCG
|
||||
M4UBE8CQ')`Z5*HIY4^$@D3$R%M]MJ<29EP,TNL>D``;41%R<'?:AE3!Y'HKE
|
||||
MPO+(/:F5N,@;TK&O/>H."KMII-)@T/'#@_HTNT"YR!4HGT@YY8ZU"2Y5FV>H
|
||||
MK\$J@PTA>6]>\554CE2,UVB`Y;%5DW&((\YD7[T2QN0$I1CS)T7IND16WSFO
|
||||
M5DI./0G(U$>RUZFK`Q#UF!?XD?HQ@AR&S]*@8XC_`-TVT(.W>A^#&.U;:/%V
|
||||
M+&%>P^@KHB`R<4;2J[`^X-1.W/GM^OO5%V#Y`_;]?KO4&P>='`U'(`Q7/!8]
|
||||
M,>U6019-MLT>PN6MI<,?*34S`0#G'M2TB8-0AJ(I%D4#5M49(]\C8U46%X1^
|
||||
MS<X(ZU=(P=.XH2NA=25.DTRKY'44*2/J!4%;&S;&H6^1OOOO46!/N>]11L^7
|
||||
M]&I=/UZ_Y_7.`B\B9Y[CI57/"8G)5/+[\JNR,GWH$D892"`1VJ!1E15KB0;$
|
||||
MYZU5<1X/%<!GC`27GJZ-5S+!H;4F<]JCD2*<@>U"XJ2IC(R<7<3`7%M);RF.
|
||||
M1<,/L:];SE&`S6NXAPR.[A(("N.3=JQL\,EM.T3C2P.,?UK!GP;?V.GI]0IK
|
||||
M]2^MIPPJRADU`?TK-VDI&!G%6T,N,;^U8.F:VK1;9!&<U$@'G08YL\]J*&ZB
|
||||
MBL531%DS[4E<6X89Y=<BK`]1UH;J&&_*I046+65[(C"&7S$<CWJV"VUVFF1%
|
||||
M8'^(527$.=P"&!R,=*>M!)+`)4WQ\V.>:Z.FS.2VR[,&IPJ+W1Z/2\!,1,G#
|
||||
MI7B8;Z<Y4TC.99@8KVT$KC]Z/RN/7'6KV*XD79@<>M'>.VO4T2H">G]Q6EQ3
|
||||
M,ZFT[9\LXEQ63AU\T"6TKH`,,_E.3TQ_6JV[XK/<J48B)<;X;)/UKZ;Q'@4[
|
||||
MQ%8BEU$#GPYADCV-?-[W@4MI?2EU\",OLK@^4<L48NZ.[H-3@?Y]H1A@>4
|
||||
MA]);.`%)P36WX39FSL51MF.21G84MP[AT-M&I.'<;ZNE6XW';M6/)/=P:-5J
|
||||
M?<^,>B,JK)"R'DPQ63BF_P!IXJ"P.E2%;U'*M=IJGXUPTW$1EB4EU&"!S(H(
|
||||
M-)T_(.DR1C)PETR[CGRH8';&1CKVJ0E)]ZRO!^+B%1;7;$`?(YY#T-:16&G*
|
||||
ME6'IN*"47%TP,V"6.6UAU;)U$<N0-%7)'TI:)M\=*91A_:A7(EJ@BC&:\!C.
|
||||
M^*Z.0%<SL*($@5R>]$"CZ5X#D!RZU)1G>K)9'P]7/-9OXDXLD$;6,+%IF'[0
|
||||
MC]T5:\;XHO";#6N#,_E0?U/M6%\/Q?VLK&5I`Q(4\CZFF0AY9T-#I]_]V?2Z
|
||||
M%)/`U+YF4#GMN=N=#P\;(2`<8*^HJ1C5I7R&`!`P#DYJ+1L(2S$[?+CD/2M1
|
||||
MVJ.R/K8G2<#H!L*A'<O#,DD3%&7!7'/-$:<PP^$-))7!(]Z#!$7\QY5:Z`DE
|
||||
M5,V?#OB:WN(U2[_938QK78,>]6MQ();.("3Q#XNH>HQ6)M[7R^(PY\LT[:7L
|
||||
MMC.C'5)&I^0GE[4,9K<<#5>GQ=O%_!N;>[5!I*D;=#M3L=Y$QP'QGH:JK._M
|
||||
M[Z+Q(G#8^8'8CZ4R51]B!CO6Q/Z//R@XNI+DN8Y@=\\^U,:L^WM6:2>2S<(Q
|
||||
M)C)V/.K6*Y!',`'E1)@.(UO`VH;IU':BN(ID4Y^HZ4IX^-C^=`>Y%N203X9Y
|
||||
M_P#$U95#1G:+]G)N.C=Z2FO3;-@ME._;TJNXAQ>*WC8R,`@ZY_E62XA\4S3Y
|
||||
MCM$"J=B[C<^PH)32->GT>3._@N#2\6XC"UNZSLOA,,-JQ@YKY3<1%IY4CE!B
|
||||
MU85AGE5G(9;DZYG9SW)SBH"`+G;E27DY/0Z31_T\6MUW_!7Q66PYGWIE;3`W
|
||||
MIM4QZ472>1Y4MY&;%2$A`,4=(D/)11F4?6N#;(-#N;+0-DV[T-04Z'%&!YY[
|
||||
M4(N=6E$U$\MLYJ(/QR$#;]C0WN$B!4[N>0ZT4<*XI/CP8#OMDL-J[P[X7OGX
|
||||
MY##=QR+$'#M*#D$#M1QQWV9IZG%%-[EP0?AW$W>-983`)-U,AQMWJGNI3%*\
|
||||
M<<JOI)76`<>];S_4&\6TA@6(8DG4J&WV7K]:^>I&K+1M;71S,>NRY5?17RP-
|
||||
M<-E[F5OI@"@KPTD>5\^W_=7(MU/_`'1%MP1M5^\T+]N,G<N2F'"20?VH'_ZU
|
||||
MZKL0'H?7&?UW->J>\_L)8<7T?H#P)-O,=^6]0\%\X._K3Y!"YZ@U%O,-_H:V
|
||||
M'F[%O`DQY`"3T+4+$@8!T"_6G,%>1^]<)##!&?2H2P:,H/+IN:D3O0VC./(W
|
||||
MWJ&IU."OUJ%G9%)]J3D0_2G3*I&XQ07*=Q4(A$C20RFK2QO.A.,\QVI&1<\O
|
||||
MRH.2CZEYCM4+[-2I#CW_`%_6AL@)`(YTE8W@E3!.#U%6!\PWY4-`]``3$3S*
|
||||
MC;?F**KY!(-<9=(R>5"88.I,@]Q4"[&3N-AFAD[8Q44DR#JQ[YHI`9=AMVJ`
|
||||
M@716&])RPLK:TY]?6GF&`>5"9=B<U9:8C\XQR)[[U5\6X2M]`2"!,HRK=_0U
|
||||
M<2*02.G7O0=:GYJ&24E3#C)Q=Q/G^'MY6212KKLP/2K&"?/,BKSBO"8KZ/7'
|
||||
MA;A1L?XAV-992\$QCD!5U.".5<O4X'!WX.QILZR*O)=QRG3SR*:2>JJ*4$>E
|
||||
M'632:R&AHM%<,!WJ>*1BEWYD>U.QN&'\ZM`-4"D3(-0L&,5_X08J)!@8/4;T
|
||||
MR<"D+@-'(LRY!0ALTS'+9-2!E'?%Q9?&)LG4WV%<$9TEABBE;G3DA'![[5`M
|
||||
M*@SX+#O@YKL'(5DXKATV;=<5ZYMK2_A*31HZD;JPS2[3LI\T<@W_`(:AX[DY
|
||||
M$3>AJMR+4>;*JXX$UDA-J6DA`SH)R5]NXI!6P^"#D=.5:(R7#C"C3[U5S\*,
|
||||
MMR)#.XD_A0<ZR9,*ES$V8L[CQ,"ISR-<8@@[_:O2VKQC``(SC<4N5D`.%V'K
|
||||
M65X)KP:8YH/R57$N$1SEI(@%<\QC8G^AJLAN+WA[Z`S8Z*W]*T,WC(A9D8*/
|
||||
M0XJM-Q%=,8E*2-RTY`-1*:X:.CAUBV[9_*).W^((RP6XC9#UQ5K#Q2UDSIG4
|
||||
M^A.]4\G"B4+F&2,`D>9<C/7>EFX<PR8QDC^$[53QQ_88H:7+^$J-E'<*P\L@
|
||||
M.3S7>IA\BL.AGA;YF3&V.5-IQN>V&=7BKGD:K8_`$]!-?@[-@K`G;?M^OM79
|
||||
M[B.UM9+B7`C0?>J*P^([6X<1RDPL>6IMF[TG\4<2,LBV,3KI`#,1U.^/M5Q@
|
||||
M[IB,>EG+*L<E7^Q3W-X_%.(/-*V/-GN`,]*5EG>4&*W(2$'!?EDTU;QQ?@YR
|
||||
M[I@J47.QJM3QD`C\+)?Y=2\CZ4Z*7\'H(**^*\#T%MX,/XF16;?)//D>=*:$
|
||||
M`=Y<MN<+D@`YJ6J9(TB.'`8B-LG8XW^E!NEG24QSMDC\J))WV%%.^6`2,R.%
|
||||
M7F:M+:TUR+&-AS-0LK?">(1S_E5]9VWAQ:C\S;GTH,F2NA.?+M7`%H!@;8`I
|
||||
M26(]N=6[QXZ4M)$,4B,C%&14QO-:S"2"1D<=5-7MC\2`_L[P>&W+Q`-B/7M5
|
||||
M=)#MR]\TK)!SQFM./+0&;3XLZ^:Y^S;B:.XB&EPZD;$'(H,=U):/I8$I6*AF
|
||||
MN+*0M#*R=QT/T-6]O\1(X\.]CTGD)$&1]1S%:8Y4SC9O3,F/F'R1KX[R.9<H
|
||||
MU5G%>,1</MV>8Y8@A4_B]*J[FX@BM'O$F&A1G5&?FK&7-_-?W'C3R%FY`'D!
|
||||
MZ4<I/P#H]#[T[EPD-7=[/Q"4O*3I')1R6N(E!C8`4RC[=Q6:3/2Q@H1J*X)J
|
||||
M/3>NZ`:\66HAB3RVH"'AY<]1[5T[G/Y5+3L,_0UQB-)JK)1$MBH-)@5!VI[A
|
||||
M'")N+3X.8[93YY-.WL/6CC&RISACBYS=)"]C97/$K@16Z_\`V8C9:VG#?AN"
|
||||
MSC5SEG/S/WJ[L+"SL;5888BB`<QOD^IIP%&C*JP/IR-:X8DNSS6L]1GF^,>(
|
||||
M_P#LK(X(X0VA1Y<$?0[T=H=4BR#?'<<JYCSMMG(Q4URH#9V`S1I'.;9\[_U(
|
||||
MD+7=A$<`JK$@<^U9&`$@<S]*OO\`4J4GXAME4X(@R=^[&LU;O)U<YI.17R=#
|
||||
M2_BBR2(]1_.B*N%]._Z^E`1Y.9<9]J.LDG5_RK,[-\2>D[[5ZNK(_8'Z?YKU
|
||||
M#;#I'WA;I#S4@]B*()HSCO0FMP>OWJ/@D9P<BNL>5X&1I89#5[2:65,GG@U/
|
||||
M1*O)C4(2*/W./3&:$T,G1B?>B"21=CBN^/MN#4+%&@?D5^HH;1.-\`^W.GO'
|
||||
M3OCWJ+:3N/RJ$ME:2ZC;S#L10V8]5^U6+`-UH+P@[#GVJ%IB:2,C!U.*O+.\
|
||||
M2X0`C#CIWJFDB93E=QWJ*ED8,I(J%&I4Y.1^OU^NM0,88<\@TC97XE&ASAA5
|
||||
MBOF]:$H5:,H<@Y]:ZKD$C8>U,:0?KU_7Z_J-HE;<#ZU`K)@ACON>HJ)7?_%!
|
||||
M4.AP&V[$[4PK%N8YGE4*`N@;I2DD9!Y58$%M^N,T)TVWWJR)E4ZZ?057<3X9
|
||||
M'?KJ&%G')\<_>KJ6/!Y$TLP(/(#TH9135,9&3B[1B98;FR?PYT9?7H:['=$8
|
||||
MK:/&KH5D0,O4,,BEQPJP9\BUCSU'+^1K%/1)OXLW0UU+Y(S*W@SO^1JQM[K4
|
||||
M0<C;TY5<-PRR9,?AXL>B[_>D)>!(KYMYRB_PL,XI4M'-=<C8ZR$N^#QO%7YA
|
||||
M@5".0WTW@Q+D$^8]`/6CP\"B8@SS,Y_A7:K6&TCM4TV\85>P[T6/2/N8$]7%
|
||||
M?@/*V%`&,8KS218R3@^E"C0%23N.U3\)#D8&];^3GG/$CY!<^XKA.0<@8_.I
|
||||
M-A.GTH9!?KCO4+!.KS9"'2!S-!6-H\J$'/J.?UIW6D,>D;'K4/$C8$9QZU7!
|
||||
M:;*]HUD\LBX)V)[;TF]@`7RNVK>GKN\MT;&M<XTC?/6DS=F165-1..9&W.AM
|
||||
M!JP7@_L)54@8W&:KY[>"Z4B>"-]QEG7.?8\Z;:1E.._\6V:2O;B18V;R$XV!
|
||||
M?`H7)4%%23M"D5I;QF2""YN[:0+Y-$I*GI\IVI::PXJA"V\]O.$_C32S>F1M
|
||||
M2KQ7\KB2$@2AM08\JN+9[R&$"22V8D>8`G^=+<4Q\<TXNWS_`,_DKXWN6&F[
|
||||
MLS&1U'G4UQN'V,ZX\,(2=BFV*<N.(&.-WE0.PR/(P(Q5)/QI)92D.9)!T`.0
|
||||
M/6D2P_\`B:<6LG'KC_,E)\+)-.+G\6041@`4VW%4=K')'<QHS!ARU-MGO5S'
|
||||
MQBYDM)DELYAY2OB*,K50[9*@J0<`8(QFJCOZD=ST_)[FZ3?/_/\`^%H85`D6
|
||||
M0:DCC)!(P%ST]]Z0N[AA>J>8B4*!GKBN122N1#J.DMDY&1GU/I3EE;HO$!)(
|
||||
MF%T:AJP<^OI0_CRS>JA;D2X=!F"XO[D80(51>6_M5;&C3W/FR23D^U%NY_(4
|
||||
M\Y4MG=MJGPY-(+'KR]J+I-AI-)R?DM[2`22@9V',U;Z,;@4K8)HAU$;DT[SK
|
||||
M'+EG,RRN0'1MRJ#1\J9P*\5H:%V5SQY&?SI:2#TQ5MX>:"T1QN,YHE(-2*5X
|
||||
M,#<4K)!UJ]>'F,4H\(P=L4V,QL9E!+;Y1E&=)Z#D<4DULRYP*OW@WY&EVA4'
|
||||
M)7<\S6B.4:J951K)RQO3`)!Q^OU_>K!;?5N`*B;?&05J/(F7P+H?K15YU[1I
|
||||
MY5+IM[U39*.Y&,4)VVVJ988IGA?";GC%P4B7$2?^20\E']ZD8V^`9SCCBY3=
|
||||
M)$.&<&N^*EGAB+1(?.Q//T]ZW_#[:YM[=(H[2-(UV`5MA3/"N'2</B2*%0(U
|
||||
MVT]_6K<@Y#(,'&Z]#6['CVH\IK==+42_^JZ$0LC;-Y?3:O$*A&1L>M-2#4N<
|
||||
M8']:7;Y6]-Q3##=BL@`8[XWY]JZS:!O^53(R-^1%")R&ST%4^"(^3_ZAJS?$
|
||||
MD1V_\('UR:H8%V&]:;_4!`W$[>0C?S+G[5F5V3:L\G9U=-C^*8RN0HYU(,=]
|
||||
M_>E`[`\Q]JZ)G'5<4O::Z8WK;<9^E>I7QWYX%>JMK(?I(2$KDK@&NC(W.QH8
|
||||
MF&=P0?;-$#!MP:Z)YD[@,!D;CD:YEH_^0KQ8#8UX'?.?:H0FKJXKIC0]!]ZC
|
||||
MI#^;DU>U-&PU;J?6H0X]LISL10&M"/E/VIS5MMO7,`<]S5$*UHW'S;^]1"LI
|
||||
MY_K]?KM9LH.V-Z`8@3L:LEB6<M@CG^OU]*@8>>*::,YSV[4&9P`1GWW_`,5"
|
||||
MQ#)C<@-N.1JVL[_.$?>JENM0#JI^;ZU"=FN5E<`\^^:\01OGZU16G$&C8+(<
|
||||
MKWJYBF5P#G.>1_7M544=(4YU#-#,14Y0@TQC4-CC(J&64[FJ+3!"4J1E<;U[
|
||||
M4"!THF59<,.=#,)7Y3]#O5E$'&H'&X]*`8BWRXH^&!W7([U(*#TQZBH6(E2I
|
||||
MY5P9Y?XIYDR-C0C`<'?)J%V+_KG42-L`?449E('R_6N`>E0@$*>>?:C1G"G!
|
||||
MV%<T@'E4T`!QTYU5!6%0@+C[U[4<[<J\-P0:CS].E0B.`:F+&ND`#&"!UVVH
|
||||
MB8`&:5OK@0PD@^8[`"A+$KBY.HHG.AJJ(!XIU`_NYH]M:Z%\67!=M]^GI0I8
|
||||
M&+[?E2W8Z-=`GN(8C^QM(R>F%WH37%W-S=8D_A0`G'O34<"#YU.]2-L0NI1E
|
||||
M:&F6FA"2T\>/`)!7KVI5.!CQ/$<ZFZ<ZOH4(4D`#`WJ$FIV\APQYCIFI1>[Z
|
||||
M*A[*-`=6!WR*5DM(SG`VZ$"KEK24`L[$$<Q0/PK3MIW"CJ:A+,\_#?Q,OAQ\
|
||||
MSZ\AU-67#N$PP6[(D:F,MJ9M!RWKT^@IUK80N-(8DMH72,[FG1$"$4G('7=C
|
||||
MC^5(F^:&QZL0DM(&&HQ@Y'ER%Y>M4U]\-V]PI8>5LDX&V3Z=JT;`%CZ'8XQ7
|
||||
M4V+874"-B3BEIC8S<>4SYS/PV2RE_8^)(6&XT$`>Q-)-*RR_M49)"NG<=*^F
|
||||
MRP)(A\7"L5QAE&359>\"AE0B=))<CRLYQI^U0Z>#U.4>,BO_`-GSF<ZI6.G'
|
||||
MY58VBYT1C8G`IWB/P\8`S1:N>,'K2%N6@N0)%*X&1G:I+F/!UXZO'FA\&:2-
|
||||
M_+@<L8%%63?>JM+@$<\>],++ZUD<3)M+'5L*ZK;<]Z263.V?:C+)]:#D%Q&1
|
||||
M\N]<*Y!SRH:R;"B*V:M,&@31`^]+/!L:?/*HE!4+3HIY8/2@&#;:K9X<TLT>
|
||||
M,X_.C4AT9"*(1S&U2>$8+"CE,<]MJB_RT5AIE=*N.5+$X)R:9N'QG.::X)P2
|
||||
M;C,Y8EH[9#YY,;GT'K_*GXXN7"+R9H8H.<W20#A/";CC5X(HO)$-Y)#R7V[G
|
||||
MTKZ/PVQBX9`EM%'IC'[W5CW)[T.VX9'9Q".T&F-?W3OD]ZM8&$BA9`.U;\>-
|
||||
M0_<\KK==/4OCB/U_N%3E7-\8/TVQ7#&T?R'([=*[J##&=Z<<\BP#9&/>E7&A
|
||||
M\9R"#@T8N<D=JY(`T>_3<'UJBT)2'0=^5`?<L!MRIB3.EAV[THQ\VVQZB@D&
|
||||
MC!_%"A[V,MOYF.XVZ56K;PZ?E'VJQ^*&Q>P#KES2,1.@GG7-RVF=S2_]M`VL
|
||||
M8&YPK^O^Z$>&V_2$8IS?./USKRC!QVI2G)>352$O]IML`A3]#7J>%>J_<E]D
|
||||
MH^R@,>38/;E4UC_C;GT!Q760'J<CD:AI=>6XKN'D4&$48_S4A&NXSB@!CL"^
|
||||
M/<44#K@?2J+)@:3L=JD<D8/+M0](R-OO720HV]ZA"`)5F&1CF!Z5-7!7(-!U
|
||||
M:NF=Z\-3>8$`_P`ZA`Q'K^5>`VQT_E44;4=)V-$(WWJ$%YAA#C-5;@G)SRJX
|
||||
MF7*$U5284G;D3RJ$0JRY..A[USP_-U-&*D#?:O=]/(GEWJ%@&\IZX]*8M[MX
|
||||
M#Y6..HZ4-EP=]SZ]*&00<Y]:A#1VUZDZ_,`>N::.<D@Y]#^O>LHKE&U(<&K.
|
||||
MUXH4PLGMD?K]9JJ*HM6().1CWVKNXVQ]?O7$>.=01@BO>$5Y$G^M0ATJ=\#^
|
||||
MM0\,<^1J2MC9MZG@`<\_K_O[U1`6GN*X5SFB^9>N2/U^OUCFWH??]?K/I5D!
|
||||
M%,US0"*-M]#7@HQWJ%@#&/M40H&>_P#2F"OZQ0B,U1:!YQMC>O#GSH@T=6%<
|
||||
MQ_""=^NU0NSH<*#D`8',U4JPO+UYV_\`#$<)ZG_%*<;XC=-=0<*L0HGN7T&8
|
||||
MC(C'4^^*T%KPZ"SMXX%4L$`&H[_6A[9:J(L/,W.H*C9(_A.-QG:K$A%'R*!]
|
||||
MJ$\.1XL7;EW%1HN,UT*&,';3]QO4DC(.-\&F%`?!&1W[_6O:`1S&:JD78%HM
|
||||
M'F%#"!<$+O3BKJ&,U`)I)!ZU*)N("+6HU\O6O&W0+E-L<QBB$XV%3525-2B-
|
||||
ME#X7_N0I#.'9C@';;I^=.A5Q@#5A=M&V*`P\.25M3,=1.D'8XV_K304A07)&
|
||||
MI3@(>?O6.2^3-*?"$BF-\'`^_P"=<D1A&JNP"C&!C8T<@#'3-=F9Y8U\4Z%P
|
||||
M`N/YT'@98L'4,"KG`'F/I0R02<DX/?IZ464`DL""0,*,'#;&@Z,]^N!BA829
|
||||
M#3C+&(DXR-\8]:JYN'I<:G,>MMR20"<?6KV=D<@I^Z!ELT&0NT@&=S\W?WY4
|
||||
M3^BD_)D[G@J!LP>+&QWW!T_X^](-;7D#:3&7]8_,*W&A79@HW)Y#.]+/8(RG
|
||||
M2V`IVT-L/ISH7%,V8];DCWR8Y+G!P0,\M^M'2?(SJJYN^#++E2H+9VQ@K]\Y
|
||||
MJIFX1)`WEEVW!U#8?:EO&;<>MQ2[X"+-W-&6;'4&JJ03VK:)E*L.74&I+<`[
|
||||
M_F*6\9J525HN5EVY_6IA@PJI2XR?F!II+@`<\&@VM`.(X?;-`=-_6NK*-MZ[
|
||||
MK%0BX$YAI&W3UI`S!4;)V[?KZ4W>3HJD$Y!ZT'@W!YN,3^(P9+16\SC][T%.
|
||||
MQ8W/A!2RPQ0WS=(YPG@LW&KDN28[1#YWQNQ["M]:6L=M"D$"!8E&`J[`"O6]
|
||||
MO'!`D,$82)!A4&P`IJ-<XQ76QXU!4>8UFMGJ9V^O"#1#``-3:(9U+LW\Z\@V
|
||||
MQ4P-N_6F&(@DA`(88-=QOMO7F35V]*'DJ<5"$)!YB1RJ.>AY5-R#RZT)A@YY
|
||||
M;51:!3;@D?6D!_Y,]\_:GG(8-GK_`#I$@ZM/;.]!(9$^??%0_P#R=NHY!2?S
|
||||
MI.`94'-=^*KAEX\$0`A8_7N30+>[8@9C!`]:Y^5-]';TSJ"'<'!!/.O:=SG>
|
||||
MH"Y3;*-]#4A<1$;ZP?;]>M9Z9K);UZH^-"3\Y^V*]54R6C[9K4\CO4<]M_0<
|
||||
MZ!&S."5.1UU41?,V-P>6U=\\CT=+*-B#CU%=5T.=+BB(=65&9,<^OYU[P5E!
|
||||
M)B4+UQTJB62R<9SG-1<C?)QMUH6AHBQ!)`Z=Z\D;!]3MDYY#D#4(>C`9P`/R
|
||||
MHQ`4`8WKVE@V"-_2H99FP!EL<JA"1&1Z=NU1U,N_,?F*D@)&>G*O%3HU?NYQ
|
||||
MFH0\S*82<[8YU7:<OG/7]?K]!IXVW"?-C.#RH6AA*R,N&Q\OIO4+0)DU1D#F
|
||||
M:6(9#@C!!JR\-\Y"^4#)KW@^(HV!!Y5"65S#4`1L.U1T9Y;TQ);%#J4[=#_6
|
||||
MN:)%178<MP3[U9!1DTC/(UP'?#;'O30B,A`4$[=*A-;LCZ<'/2J+.Q320'*'
|
||||
M*G[5;VW$(YO*Q`;L:IF2:`#4I`['E4U4.P4KI=AE1T-0HT6`_(Y-<7*^HYY_
|
||||
M7TJJAGN+<Z<ZUZC.#5A;W<<^V<'J#L:JB#(W&YQ42,<L>]=&#OGG_G]?2O9Y
|
||||
MY^N/U[U1#FWT[UT`D_K]?KWKW-MN=1'+Z?T_7V]*A#I!Q^OU_P!4)QD[CUHQ
|
||||
MYL/7-#.,_3]?KUJ$1#2`.PJ,S8`0'<['THI8$G&YY9_7TH87+,WTJ%V55I:+
|
||||
M)\1Z\;0)D>A.15_*P2,L1RI6SC"O<S=6;'V%#N9?V6@<R<5$1G$+W,N"?*.9
|
||||
MIU?*-(Z<A2\*+&@4;[9.]'&QW&V:A&0DC'S(-_YT/3OGH:8!)'Z_7Z^XRN,@
|
||||
M<NE51$R`&]<=2-^O6I8)KK#*^U5028'`U<N7*C9P,5#H#7%YG/M4HCY*N!7,
|
||||
MTH)&TITY'<4TB@:`LF#C=R-J'I*SLA'D()(['H<T<,&R205!S@\ZR2529H3X
|
||||
M%R@&^3Z]ZC))JB"L<(@Y]Z+*KA\D8U#8=OSJ"NJ12I@;\MMA2_T&IVK!2`MI
|
||||
M(8NH&`>7.EM!4E6QGD>M,C5@0AM1UYT]Q0W4$Y!W9L%>U"PHLG+"@MTGCD*`
|
||||
M*,X&=^]+%B59B6++@<^8]:("2IB#`*S`DGIO7I(9H,ABQR>0Y&K[Z(N.&`TB
|
||||
M/<8.3L<Y&/:B+C&=R<=<>45X*YRS,-!."<=MJE$BLN!MN<EN1]:HNP4B*0VI
|
||||
M=@.J[&EIK.)4.&!_YY(QWVJQ\CY)7`&,`'.*&Q"J&(&GF"#U[XJRDRCGM'&@
|
||||
MR8(=1@8Z>U5T_";:9CH98Y""6TG&/3M6IO62>8$<@,;=:3>U20%%"EL>;4.W
|
||||
M:K:38<,DX<Q=&/DX9+&-22C!8KN.1IU."\2,6N,PR`C8:]_SI^>#4TA"X7.^
|
||||
M^<<ZL[&4_AU\G3F33,>*$^&,GK\\%PS+26W$(<Z[*88ZJN?Y5%8K^Y;1%:SY
|
||||
M[LA&/?-;8N37@W/)H_Z.%]D_ZMDK\49VQ^%58B7B,GB,-Q"AV^IZUI$C6-%C
|
||||
M10J*,*H&`!7@V*F-]@*TPA&"I'.SZC)F=S810<Y`'U_7Z_F9#MOTH2D#&Q)[
|
||||
M\J*KX.#^=$)#JPQ7=6?7UH(;/+:I:\;$?:K1`C9^]089R#7@RD[&N%@.6_O4
|
||||
M(18$$9H+;@&C$ZL9H3C"U1$+2'!/>E7^9CONM,S[^XJNN)5C21WV"J232YNA
|
||||
ML59\O^(7\;XCN3T7`_*AQ94=/O2,EV;F\EN&'_D<MMVHR70P!YOI6.29W<*V
|
||||
MQ0\LF`.8]:[JWY&E!<H1N<_2BK.A&S"E.(],8U`UZ@B13UP:]547N/L%]<,]
|
||||
MLD<<RJQSR.?-C.:!PZ]6'BUM;QW!D&AO$U#3@=-NF]?,)>-74J-'((G4\PRY
|
||||
MH<7&)[0`6\4$8;8Z4_S75OR>39]1X3<RMP^_3QLJ+V8',A4Z0YY&N</XLUU9
|
||||
MWMV\J1V,=R3"[2%=2!0"V>HR":^8IQJY_#R+X<.ELDKHV.1D]:[_`+O.5_#F
|
||||
M*`PXSH*;;'WJ64?3H>*-?\`@#&6%)2\I82:3''K)4$G?ECZ596%RO$.#17(9
|
||||
MD$BK*NH@8QOO]MZ^0S<1>Z54N(()$3=59,@8^M/)QFY""/1%H`P%P<<O>HI$
|
||||
M2-_)\0__`(VZXVAS&7>&!"?_`"9*JIQURW+T:B2W+\$X)%<RS&6Y6`18SDR2
|
||||
M,0%V]S]LU\Z;B+R11HT,)7H-)VW]Z,>)RJ@'AQ8!!`()Q^=2R4;Z6ZE6_L.$
|
||||
M13-XCO\`BIB#DJ@P2#VRW(?\31[F[`XC'P:.1OVJR3ROG.A.F_?4=O\`ZU\]
|
||||
M'$IA,UQH3Q2-.K?./O4AQ2<N9"L9<C!;?.-_6KLA]!X7=RW_`!6ZOC+IAB/X
|
||||
M6),[%DSK/KOD9["@R+%:7T\;W$K3SP2.H:8L%`*\@>7/;ZUA!>-B+]G'A6#`
|
||||
M8.`3G)YU")HXI99([:%7?`8@'S`]]ZED-PT-U'P&T:S9GOYH57Q#)A$&/F(S
|
||||
MC^^PHL=N>'\$BC@DDNKQ$*)KG.-6?F8Y[U\]N!!<Z9)K6"1D0*I92<#;;GZT
|
||||
M.2UMI(X4:VB**<(N-ESC.*ED/HT?#;JVL>%P+<O/-'=F2ZD=]VRK$_3)%2X[
|
||||
M$UPMMX%O+<?LG#&.?PPIR,9W&:^<HD)@CMVMXS#JU!#G`.XR-_2F&B@F2*.2
|
||||
MWB9(LB,$'R[]-ZED-]-X]KP>=+=TCNFA&@EM6DX.#GWH/#K6'ADL+SWT\MPZ
|
||||
M':6<OEL;[$[5D$NGASX85=0"G&=P!L.=+QQ0P3&:&%(Y?XTR#4LLU20&RX'=
|
||||
M<1O^(R-<R*Q`\4E0V=@J\NV*,U_?+Q.W6*-3(UK&QRV-!.Q/*L:8HA<?B?"0
|
||||
MS:OG(WSFGUNYVD>7Q&$@3!;)R1GD?2H0T?!KF47_`!,2REPLXP2?_P"M?RK0
|
||||
M:%EP5;#=#7S07EQ;EVBE9"YU-@XR>],IQ2^C^6YD_P#]&I99]%COIK=BDVZ=
|
||||
M&%623I*H96`KYJO$+N2,:KB0YQ^\:%;\5ODE"+<R`$`YSO4*/J.1W^M>U:LY
|
||||
M[?K^E?/%XOQ`IO=2[?\`*BCBE^<-^+ESCO5$-_G\_I^N=0=R`,#<]/ZUA6XK
|
||||
M?G'_`+N7?UQ7/]UOQO\`BI,YQSJ60W">08)R>N>M3!"@MV&:PG^[7Y)'XIP`
|
||||
M!R^M2;C/$-('XIR#@'E5-EFZ9O#M1G'+?^=5P8S3(.F<FLGQ'CO$?"T_B#@G
|
||||
M'(<LT"VXQ?*V1.=R1R'2J3+71]%4#?`_/]>E=)RW8]JP[<<XDI"BY.">PV]J
|
||||
MXO'N)*<"XV/_`!%7:*-V.7T_M_BN,,M@'/K6&C^(>).,&<8(S\HH@X_Q'=1,
|
||||
MH`'\`_76I91LL8YUU<8K&?[_`,1SCQ5&/^`KJ_$/$-(/B)O@_(*EA(UP'I7.
|
||||
MN/KRK'_^H>(#?6GRY^05+_U!?C]]/_\`-59#1W4?[4;Z01C/ON*A'DJA(RH7
|
||||
M&QWS69N..WKQX+1\OX/6A1<?O@-C&/WOEZUFRKY6/A+XFL*G3LK:EW.>@J.Z
|
||||
MOK['._6LR_Q%Q#S99#J;!\O,5!OB"^4D?LN?\/K2?V&*7AFHG6/QA)&=*@`D
|
||||
MJ-QWH>C*-)\Z:L8.Q-4=GQR[D5T=86`(.2F_7^U+)QJZ<29$>PR`%_S5UY(I
|
||||
M>#1%3K(((ZX(R*[XA\-D;+`#*GJ.U9Y^/7B*$`BQ)@ME23R]ZXG&[MH@Q$>2
|
||||
MNKY3_>JIH*T^S1QVKS1YR`&YG/\`*HZ3&[(X`&>>-S_W6>3C][&-2>&"3OY3
|
||||
MO^=3'Q#>R2JS"'R\O)4I$W,OF@DC`#YPPSN,YKH>)+?4R+XA)*KG>J5_B.^9
|
||||
MC'B(`YW"G/\`.A?[I.'"A8\$$\C_`'JZKHB=KDLBF`.9&-AZUU0C+^U4(0`?
|
||||
M#'[V/7%5@XA-(N2$!!R"`?[UTWTOX;Q=*:V4[[[?G0I!-D;E`2[*#I+=>]<M
|
||||
M4(C!R=QN1M0[J\D$2@!`%!Q@>U5W#N)W$\6'";=ASK3AX;$97:1>:I1^^<=B
|
||||
M*Z+AU.ZCZ'%5K7<I?'E^WZ[5X7#Y/+\ZTF?DM5NTSOJ'N*8BNHB-G'L35-'.
|
||||
MS\POT%&0@@G2-O\`-2R%\DT9',?>C@H1C(K-M)H)PB[>]%\5U!TLRX[$^O\`
|
||||
M:K(:#1@>4?:N'5_`2/I5"M_<Q\I20.]'7B=R0,E?M[_VJ[*HM3KYA?SKFH_O
|
||||
M*:72ZE(W(/THBS,P&<;D#E[U"!&(W&<5%B"34=9.Y`W';T_S4NA(`'E)V[_H
|
||||
M518K.-)Y5DOBN[-OP>X5#AI1X8(['G6NNU`&U?,_C:>1KNWB)\@#-CN<XI&9
|
||||
M\4:M-'=(RB6^!Y22:((7!S@=]QBIQ'(&:*&.GGT-9K9V8MT+F/?!!KJD]<Y%
|
||||
M,`Y"D@;GMWS_`&J7,#(&^,_E_>JW!)L$73'/>O472I3.!G&>7M7JJRTV?__9
|
||||
`
|
||||
end
|
||||
920
uudecode/D3.UUE
Normal file
920
uudecode/D3.UUE
Normal file
@@ -0,0 +1,920 @@
|
||||
begin 644 c:\work\uudecode\d3.jpg
|
||||
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
|
||||
MA*I`WR<@5FWC9&(8$$=&"M+>.+Z.MB]7U$(J,J9>MQ*&-Y`KDE?EVV:B0
|
||||
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
|
||||
M=JA+9Q0H-4)U9^=%`QZU,0]K&^_:FQG8+B6(D&D[XKCL`I/\`W56UR5.`
|
||||
M*+%-K8`GWIJH4T.1H<ZFYG8#L*F6T#5D^AJ)D`QW[4,'4=^9H@2,HS(6SS[5
|
||||
M'Y<].^:,5S@`5X+MD[5"R"MTKK/@9R,4.6=8EP-VZ8I!W:0^8[=A5675C,DT
|
||||
M4F4+:@<@J`<&J26W>R<KHUP'<`[,*LT:0;1D8]JC,6<88YQW']JI\A1XX*S*
|
||||
M%/(S.O,!AN/K0T3PI2S;*VV>E6#0QLF,:2=LBAJK)D$`D?8U5!6+O!%,,G#*
|
||||
M>=?,_C#X3(NQ):$"&3)3.P1NH/8>M?5554WT;'Z4&\LHKJV8%<-S4[5&O*&8
|
||||
MLK@VO#/SO/PF\M[AH7B\Z\RC!E/L0:5\,J2K#<'KTK[7=?#=IQ"WE`013C)#
|
||||
M(H&]?)>)V<D%Y+J0@!L$^HZ5%)W3-7MXGCW8[M=W^I7J*/'_`"J(6B(AZ5&R
|
||||
MHH<ASN*>BZ9/*J^/()Q]Z861D[5GDK-$719(3C8C(KU("<[9->I>UC5(TCW$
|
||||
ML,;#&6&X!'.G(>*:X%+1J#@Y[?:O0B/"0.2TIW`7]W/2AWD<=I&6(U]%.,Y_
|
||||
MQ69M/BC2W3(7=X)X_)&ZL.JBJZ+B%Y#)@N<=,CI5I#<!4TN8\\\'8_0_WH$Q
|
||||
MM[@,B2A7.V2`*D:7#0+?T$3BUO(F)A&,C<@8S5=Q`$J)HW#COG<BNW?"G@&<
|
||||
MALC).,?ESJO#B%M#+Y3MMM@TR$5=Q!D_L:CG"Q)$ISDCGWSFB7:"2X"#=O7;
|
||||
M'6EH(@LRZP"IVSGD<]*=4J;EBP'/!'>B=)\`+GL];<*,V-*LR]6/*GQP^",C
|
||||
MQ'QG8=S3L<LGX&1D&,;*3R^U9M09&(=F92<\SO[4,;G?($I-<%[KL8`/XAWY
|
||||
MXJ?XZ!US$VH=ASJL2W,C*JH5QS);)-7EEPN(JNM=\;U4E"/8*4F4C1S"Y\2W
|
||||
M#%'^=*;-M<ZL+G0<$CU_S6LM^%)T&PY;4T+!$;4$WY<JKW;\$]NC/6O!HW4N
|
||||
M^=1'/N*M4X7$B$!=2\ZNXK-<DGEMC:C-"H&"-J5)R84:1F&L55N7Y4LUM&"2
|
||||
M!GN".E:>2*,Y(44C<1#!V`I:;0SAF$XE`MM,9`F2!L,<Z>X%EI,OU(^E>XLN
|
||||
M)B`5'0AC0K0Z498WU.VVH;XK2I<)@;+31J7XRL)$4"^+(-B<^53_`%J(O>(3
|
||||
M\YB@[)M2?#;1=`VJ]AMARQ@=J#)J)M\,D--C@NK8@OXG&3/+[ZS14FOHQM/)
|
||||
M[$YJU_"+7&M`>7\Z4LDUY+VXWX*Z+B<\4C--&DNKYBV=_J*8@XQ'#,)$1HU;
|
||||
MYT.X/M4FM@1C`I>2Q',4<=3)=@2T^.1J(+Z"Y4&*92W8&IO))&"Z^=1S7J/:
|
||||
ML8;9XSE68&F(N(WMN`"QD"[8;^]:X:M/LQST4E^+-9!>)/G0V#_">=&8.4W4
|
||||
MGMC>LG_N4<DJS:6BE!!..1J^M>+P3`!F'?G6B&6,N$S+/%./:+&P#!Y",XSC
|
||||
M?H:L`<')SCOTJK28-(ICE5@1C#`&FTN&'E9-/8C>FIB6ARO5!'!7;\JEJ'>B
|
||||
M`.T&;Y?K4RV:#.W4=ZA:7(`G<@5F_B&\BLXB20TI^4<ZOY9-"'&[8-?-?B"Y
|
||||
M$_%G35J*;DDTG++;$Z6AP>[E2?17*,DLV,D[D^M-Q#.-J#&O+E^C348VSBN5
|
||||
M)GI1J$;4X@Q2T-,K2A,@P.17"=LFN*VU<>K$I<BLY`6J2>YQ-IWYU9WDFGK6
|
||||
M>7,U[Z`4S'&[;.EIH*FV6J_M%(/Y4G<)MGM3L>R<Z#.N<^M2+IAQ?(S\,\3;
|
||||
MA_$M)(\*7RG/('I7TJV=)`S.X5L9P!O7QP^5OY&OHWP_Q7_<+"'7I#1@*YQ6
|
||||
MB+HX_JNFY65?YFD5SLY&M>6=Z\F)"7R$QRQ0\,[^'&Q<<ZZ2ITC3I(YDG<4V
|
||||
MSA4=7)!<J6'*H`L-6,`=A_3M1=R?#60N*@Y5P%``Z'5L:NR$&@AN`AQH/,$;
|
||||
M&DY`;-"_S(#C4OOU[4V1AL@Y`[U*0"322/+^\,#!HXS:*<4+VTS3>8@DT[$&
|
||||
M926Q@D@=*4\7\)(04!!Y%>0]*@UW+*,`8%:8R35B)1=T//.D8.])S7A.=/*@
|
||||
MZ0=FRQ/<T1(U_@QO5V520OEBWRDD\\U(+I`+["G!&%V`J1B5U(*Y!YU*+L4U
|
||||
MIC8@CT%"+*,C/KZURYX>5)9"1[&JYS)$2&;/N<4+=!)(=:1<?,![TN\BC))!
|
||||
M!W-+F3.Y`/3!H;%5.Z"IN+H8-T5!53M]<5`<0FA).$9.H`I77@DKL#T_[J45
|
||||
MPA&AU`)].=59=!%GC:X,B%=+\QV-8CX@X+<V][=74<`FL[ABS#3D=]^WN*UU
|
||||
MS:#>2!CGF1@X-#M;_*Z).8V(-!+GAFO39GB;:5I]H^.WEFL>J6WU-&I&I2-T
|
||||
MWQ]?>D6DTG=2#ZUM_C+\/-Q<>#H!\,:]`'S9)^]9[\)#/A9%W_,5%)>3J8]"
|
||||
M\L-\.+\,J!<`'8?G71.S'8>VU,W7#O#0F,\MP<<Z5BA+'YC[47QJS-EPSPRV
|
||||
MS)AFSS/WQ7J;BMH>N3VR:]2W.)2C9KHHKB)6=4`!YN=LU$V]R[#7(2,]5.11
|
||||
M9KVY"#+(5'+I1+8M,I99CJZH&_H:Y]OLUN7/)&.(*N)51O?!_G74@MXCXBPE
|
||||
M2/4"O2$N2H0(PVRHI*2T$D;,=,G7(;!^U1+]0;#37UR@*PV@(8G+'+?G55<R
|
||||
MLP)=#G.ZD8S1C>W5L3I4E!S..='MR+]=4Z!,;L5)`44Q+;S13YX0F$!M$P,$
|
||||
M`@?<8%<MMY$9\G41D9SDYQ3DQBMV"@%0P\BL=V..9H?`X@LR--OH)*KW)Y45
|
||||
M_%L'SP:"5M<26H0A<>8`8SGI5%<K%'<K#')\OEQC.^:>O5N)8V6-L.QP6%5U
|
||||
M]'%:>$8SJ*8RY/,T.)`3X+VTB!"YV`ZCK5]:(JX(%4-E(&T`$;@;U>V['`W^
|
||||
MM)R<,;%<%U;$`;?:FCC&V,4A!NM-H<\JJ+`DAE2*BY\NU>!R<9KS8`))`4;Y
|
||||
M.V!1M"EPQ5EZ4M<+@9&U<6\-[.T=LP$2?-)C.3Z4*8.K8$SL#S#;C[TIJF/7
|
||||
M)DOB:$J4GTG<X.*6X.IDSY?*/OGUK3<2M%N;4QD4A8VB00J$&,Y)-,<_[=%P
|
||||
MCRV6]@N$VYFK:+F*1M%P!MMBGXP2:S^2Y/@:&!73C%14\CFNC-&((,F>=19`
|
||||
M?:BYJ.V_6H6F+M%GI2SP#&PZ4^%`72,]L\ZY@-RWH:^@U(JFMM63B@F$@Y7(
|
||||
MJV:/((%0,6<Y&:B;07#[$8Y[B+&ER<=Z?@X]<P##KJ4=.M!\#N#BAFW!)7(_
|
||||
M7_=-AJ9Q\B9:;',O[3XBMI&TME&ZZMJNHKF*==2N&]C7S]X,YS]J&EQ>6;:H
|
||||
M9#MT)_E6W%K(OB1CRZ%KF)]'UTM<2G.!SYUFN&?$XED$%UY)#RSSJQ;B4$Q+
|
||||
M:QC?K6O<FN#'[3B^27$+A+>T>1FY`Y/TKY+)=>)?R3="Q^U:;XIXP/`DMTDP
|
||||
M6.-.:Q88A@W?>LV7G@]+Z/@^$IOSP:.`94'.<[BG5%4MA<A,*Q!0]>U7<9P!
|
||||
MC>N?--,W9(N+#1^E,"A)M[40<Z6A#)@]:@[X3-2.U*SOM4*C&V5E_*$4Y-5U
|
||||
MD-1+G]XYKW%I\8C!YG'TJ5ILHK2E4#I050HLAL,]:A)@BO`Y']_K7)"`-Z4`
|
||||
MER5T@`<]*M_AKB0L>)&.1B(9AI;K@]*J7W<FH%<'(]Z>@LN)9<;@_)]BB8^#
|
||||
MJC;+`9.#1`P1"'C!+;YS68^&>+&[M@CN!(@`;?\`.M*L@+@R`DYSD;9IB9X[
|
||||
M-BECFXR\$U(2,,DWF["N$C25<'7G(+&O,4UZ]6<\](Q@U$MJYYQUWYT5BDK.
|
||||
MN-#>8AACH>=19\@:<8SD#^U"=E`!!RW6AC7*2J<MLMG^5'&+DZ1&TER>>9)9
|
||||
MM`!\IW--`;8W&:[%:+$H&-Z,J#&_2M4(J*HSRE;L"J*-SFI``<@<40@$U[2*
|
||||
M,$@'`W(H@F3I4/#',US0.8'UJ%4@I*,.9-+SV:2@]SZ5+!'?%260C_-0A27/
|
||||
M#9(O,B9`[;[4L$RO;T*Y-:<,KC!.1TQL*!+:1ODHH!]!0[0U/[,\;=FSIR>^
|
||||
MP%!>U+#H!GW-7C1/&_($>U1>#4#E!]JK:7N*:-Y8,*WF3UH<]A;7>9(G"2'F
|
||||
M.AJV:T7JN/I4?PJ\P-^]1QXIA1E3M'R+B]K);<:N8).C%LCJ#OFJYP%N&5CN
|
||||
M!6H^+X"GQ!*1R,:G'<?H5GRMJ4EEE+%RN$QWK-TZ/9::3>*&3]$*321*I5SG
|
||||
M/,<S53,!%-E20K<MJLI8G68`H0>>"*'Q*'Q;,2#F-\T<:)K,7O8FUVN4+)<H
|
||||
MN-]A7JKE)[_6O47M(X*DS<MPZ[\/5&X;3U!P:'%_N"98'45Z,,D#K5EP:[_%
|
||||
M<-AF)U/C#'JQ%62Q0.?&`"L1N:Y\I.+IH?&5E2UV)U4F/3(1\W0T+QHS(2]J
|
||||
M7;J1_7%-RVD3RX210K')3!S4Y+(B'3J(51@EC@GTH4T&^BBO+Y))?"T#"G&D
|
||||
M#'\J)/=FWMTAMRJG&IFZY-0OH8HQHB4'!W(Y`_UJO-G=&0EE<J>W:GQC%H"V
|
||||
M>0F:]A\1M67SWR:M89EBG+JV`&(&/2J:!Q#Q")M)Y]3GO5BA#`YV"KDGEO5S
|
||||
M1(,T$@Q9BXTZ0WF'H*SW%63_`&^*33K9I<`=!6@GF,O`%Y;#=R<`#^M9PW"/
|
||||
MPN>-AE5;*D\\TO"G=@Y.J+J*4*(G!\HPM:&TGD?&B(:<;%CC-9GA6FYC"!AO
|
||||
MAJL.(#B-K;$VN-9P%;GCO4E!.5!)TK-">+"T?3<0,H/[R^8&K*VXA;W*:X9-
|
||||
M0_E6'M.`2WA1[SB4TK.I8CQ-.D_?85?Q\)6TE9+:XE:(+\[M^MO>KGA48VF)
|
||||
MAE<Y--&D\34,CWJFXY=3S0K:VJEY&.,`X!]Z8X3=O(ACE^<;;5TVZRGV8G/,
|
||||
MTFZ?(W:C-1\*XMJ6&:_-N0V&5!C2/;K5OPFUO!&1=R"0JQTN002/O5O':X4Z
|
||||
MGV(Z[FC^$$3H*9EFI<15"L47"]TK*RYC&O2.1VI;\.L<@3.<#F#3=R?VB^AS
|
||||
M653XC:SXR+7B413QF_92(#IY\J0H.2=&K>H]FN@'.F8^>U+JH!VIA#C`%)79
|
||||
M4AE6ZUV@!R!M46D.,`YH[%;24DP&1D?4T`W:*P4NH/3-1>%9-V4'IN*6FLK3
|
||||
M0?$1,>HH+&**+..0.-CG;J:)]:R\/$5LKEH5#20_Q*-6FKRTOK:Y7,4BMCF!
|
||||
MS%&N"I0KH:`&.>V*EI!'(5'4N,Y&*&954<\5.$!39,IMWJ'A@\O:H-=H#NR_
|
||||
M6NBYC<8U+R[U3H)*0-D\]!GAU$[;TX"#O7-(?)Y$4-!J5%!<V8?IG&<'K]ZI
|
||||
M[BYN^'2:B6>%5/(9(K631CGC([4C/:I-&0PS3L6>4"Y8H9%R?/VXFO$KEYES
|
||||
MC5NQ]^E.+%XP9!EL'((Z5/B/#!8W1:,`1R;8'('G48&92,:E88Z8P.];)34E
|
||||
M:.MHL?MX5%>`<;-"Y##D=ZN+.^*#!.5/WJO`MY"?%F978Y#D<Z'AX3E6#)GY
|
||||
MEY&ER2EV;)1C-4S712!QJ3&*8!^M9:VOBC##8]#5O#Q)&P)/*:S2QN)AR:>4
|
||||
M7P6).!24[9)^U&\8.OD.?8TI.PTD[?:@78O''DS?$SF8,>0-'M90`,&AW4R&
|
||||
M=2H#A6R1SS5W<?#+F+\3PYM2,`PA)W'L:V_X4F:IYH8FEDXL527(ZBHO+J!I
|
||||
M(L\+E'5D93@J1C!HB-JW)^E!LKD:DNT%4:F]*[)&`/2NH0`:F1D<Z&^26#L[
|
||||
MR2PNEGC)]1T(KZ3PSB,-_9I)&V=LC?EZ5\SDCR3M^5/<#XL_";P%BW@L1G'[
|
||||
MI[TR+.;ZAI/>AOC^2_U/J)R!'H"ZN60>=09B#@H#@YQWI.VO;>Z@$L5P#J.V
|
||||
M^<"C1D2R%/$)(.338JW2/-M;>PJ+^(<[>4GETI^.)$`"@#M48HE1<"C=,5MC
|
||||
M':J,<Y6R..E<SM7:\>M$"0QMVSS-<`!&Y-3`^E>U8;"C+=A4(1PH^E<^8^09
|
||||
M]>6*((]LN?ITKIZX&.PJR@6D9WW]!L*X1GF-O2B;@]Z\<$5"`"A!J8)Q@U)A
|
||||
MBHY&>8Q4+//$)!N-^]+^&PV!ID>ASGO4&&!GEBH4@#*=/,FA,@(!Z&F@1G<[
|
||||
M$<ZK;_BO#^',L=U<Q0EOE#'&?I5-I#(1E)U%6?/?]08"G&+>53@RP@>^"?[U
|
||||
MFIH[<V@B`/BM@Y(VK2_&_$[#BZVIL;E9GAUZ\`\NE9F.0S11:U`"#0K+SK)/
|
||||
MNT>S]/4OZ:*DJH7EC,<:RLY;)"@L#L0*%(H%K*A.V*NS9B^X1.T>SQMJT9WR
|
||||
M._TJ@E)6#3S)-2+LTQFJDOHI([9VD900-SS]Z]3:Z86*N=\YKU,<I>#SDHN+
|
||||
M:-!\/326R75@X.I6$B9Z#DW]#5S;W824QR(2&V!JK>.:#C:RPKDC4'Y;IR-6
|
||||
M,2+GQ6(POKBD9H)LTZ)K)B>[L;"0L6+S:<=LBHB&%?/&&E&<#!S4I(A+&&QT
|
||||
MR#WJ@O5:&0&3."=E)S690;=!2@T6G$8O#LRXA5>@`WI18?Q5C%([#4H*MZXY
|
||||
M5%N*BYA6W(T(HP-N=/I;L;-8XHRK-DD9(./6KYBJ8O@REU:3._BQ@C2QQGEM
|
||||
M5P+)?P<31'4DBE<GH2-A3D@M[;AX@+J)&+`GYB/\UZT'A<,\P(&L%0>8WHY9
|
||||
M&T4HJPMDHN.!Q(YPP^;T/*J_B-@J6P2,`Y.<@\ZM?P_A1.J'9SK`]N8KBPZX
|
||||
M0,$>8[&EJ5.T3CIF9X---8WJH^=!(P1[[U](MVCN80#N,5D;ZQCEA5T(CE`!
|
||||
M7U]*M."W_D57."NU'D>_Y(J"I;33P6(!SG;V%,M`5A(`PO7N:Y;2@J.QJ=W<
|
||||
M@P.JMYB-CZTJ^.RFN2ML&47\@!R.M6)D6*X(<X6J?A.E;AU9EUYSC/.K>[,>
|
||||
MM=.6+=.U"T'7-,LD:-1S'WH=PRTF<:`O(C8'M0B[E2"<U>_@!8^;L7F):;T!
|
||||
MJFX_P1>)</9%\DR>:-QS##^]76D*06/,TP8PR8QRYF@3E%VADDFJ92_"_$FX
|
||||
MAPD)/('N[<F.48(P1G%7XV&*^>\(NTM?CCB$4,JJLDNEHV4Y<YW(/IN=ZWR2
|
||||
M%B1U%3/#;*UYY%XI;H_MP$!&]27.-C4!SZT:/GUS2D&SK*2#2,]IXI\W*K/G
|
||||
M_>N-&",437T#&=%*UFD8PJTG-9@[@$,.1`(-7SQ;D8V/2E7A'I570U2LI@ET
|
||||
MFRW<H]SFI^#=N?/=.3VP!5H;?).!RJ:P@C>IN+;*C\(J?/*Y)ZEL?TJ)MQSB
|
||||
MG<>Y!_7^:L;JW\O+;OUJHE#1MY5.:).PE;186]W/;(1*3*J[ZL;U8VETLUNI
|
||||
MSYB.1Y[U56SZQI//&Q[T>(".?;8-]LT+!<;'Y6!&1@BDY-MR/7E^N]-LAQ2T
|
||||
MJX!H47`H>.G-IJ_>!&]4>KR@ECI)\K@9Q6FFTM*$?#*3RZ&@W'`&CU2V'F4G
|
||||
M>$[X]JU8YI*F=#3YX1^$G11OF11&P5CR63T_E0?#49C+;^AR/2F&7PY>3PMR
|
||||
M9<?TZ4J%*R%5&<G`W'Z[4^)T8]<$BH.=.,[9&:G&9BQ5,DJ.5$BGTQE95;1C
|
||||
M=L?K:NW+1`J8BQ).^V,"JOP7=NF1$\P&2C>X%0>2:3F#BC_C;A%RESD?PL0=
|
||||
MJY'<H4P(`7YEF/(U.?HI7W0LT!"'J>6`*WWP]+XW"("=]`TGTP?SK$22+I8)
|
||||
MD$[D^OI6O^%0!P=5<;EB>>Y!J-G+]65X4W]CW$^#VW$T(D4>(!A9!LP_O6+O
|
||||
M^&77"I-$ZDQGY9`-C7TC&H@@^]!O(4>U9)$5D.Q5AL15(Y6EUN3`Z[1\W1P:
|
||||
M85QC^E$XUPP<.99HFQ%(<:6/+[U7QS$[@U3B>@Q989H[HCQ`P?6ARQ!AMM4$
|
||||
M=CUVIA1Y<ALT'0;X/6'%)^'$J@!R=M72M_P*YUQAW8%FW-?.Y8M0V'T%.\'X
|
||||
MQ+PR54D):`_4BM.'(D^3C>H:#W5OQ=_7V?64.<'IBIU6<,OX;R`,D@8>AJQ8
|
||||
MZ=R=JW)V>7E%Q=,E7"0!OBHF0#E]Z!XV3D+GWJ611L.-3^B]^IHBX4'3M2K/
|
||||
M+GOZ5(2N`,I]C4LCBQC.`,5W8$]?K0Q(".QKQ.YP15@4$(ZG8>U!8Y.PKI8*
|
||||
MI)8#',YQBJJ]^(N$6.?'OHM0_=0ZC^51M+L.&*<W4599<ZCC()Q6+OOCY%0M
|
||||
M96Y*'822G`/785GKKXLXG=QY>[,,;;:8-B*4\T5T=+#Z1J<G+5?N?3+J]MK"
|
||||
M+Q;JXCA0?O2,!FD%^+N"21OCB$1T#/(C/MWKY:RB?$EU++,<@!FRP/U-+7,,
|
||||
M#X,,A&>65Y^E![[O@Z./T/'53DV_TZ-G\0_&\$MBT'#'D\5R/VN,$;YVK#W%
|
||||
MS/Q6X>XNI6EGV!.-Z6"R*V3H(7F#UJ<%QX%UXGA@+S"$G&0=O>@;;Y.QIM)B
|
||||
MTT:QQ_W!.C1%D.H,,Y5AR/(T=I\6ELJZ5*@Y(V))/6KBW>/B%O<-=6^KP82?
|
||||
M$4X.<U57$?#60/`LZL,!E=@=_2A3OL8IW*FN@4/$WMH[E(SO,V_8<]ZK\%B`
|
||||
M=Q3*VYD+,JD(.9/2KJ+AUMPGAMMQ2^621I?-%`HYD?K-&OT,^?+CP1<I>?\`
|
||||
M4^>\1$T7$IHG#`HV,8Y5ZKGB4%YQ;BL]\+81"5LA-6<#85ZGK)%*FSSCQRFW
|
||||
M)OLUO%8V@O1,@)TMN!U'(U80P1&U8!"\978!22<\N5,<1B5KAD_B0XP/6A6L
|
||||
MC0N55PP50>H(S_D5FS=C_3F]K(+!/:6X*KXD17IOBJ7B4/XQ2ZY#`[KG\\UJ
|
||||
M=3-:##J9,$-I;&?I5%,C)=`JK#.Q'0BDQ>UV=&7S7)7VEH\*KE=39R21DK5L
|
||||
M;KP[=A<2D1@?^-"!J]#UIBYC\/A^4&EF))/I6?8%WQN2=\;["J267Y,S;"<*
|
||||
MB>Y$NG`!.FK*^4"!8/ER`3CI59:Q3^,LNDX4X4'I5HNA`6D7Q)#S[4N?Y<!*
|
||||
M%]'H2]S8,A/_`+A!Y'/?I0.&<1_$%DGB\.1>9Z'H:9\4NNJ-,,/RJLO$:-_$
|
||||
M3(D<]-A4C&[13QR["\4:161(%U`#!'3%!LYV2?$@TDGGZ^M'C@=F7++AU!4M
|
||||
MM[C-5_%W%O$8S^S<9.-N?<4R'/Q%M;>3;6-P^C2>=,WMP8(2[`Z1UWK!_#_Q
|
||||
M2,+#?'0V=*RG96]#ZUNA>1W%H0<,IY^HI<\;A+E%QG&7*$K247N);:-I,9W4
|
||||
MC/\`.KF*UNUU.Z"!5P6>=P,5G[*V2RXPEQ#Y"6(QCGG_`*JXO@]Q<H'<E),E
|
||||
MM_RJ_BI4ACA.Z5?Z@([N>\XEX<$X-JOS2:,%CD\O3UZU<N`B`"D^'VOAZG`P
|
||||
MI/EHMW,%&D#<\J7*KX*G6ZD`UZY\#D.I[TKQ?C`L+-HXK[11+NQ)ZXS0[
|
||||
M^_3A7#WN9`"=055+!<D[`9K))/Q"XXNTT<<#7DN&8C?P1\@"D#?;?GCK1XL=
|
||||
M_)]",DZ^*[#6'#VFX[:^&Y>2W9YKJ4D?,2<`XVSC;GM6_C.%JNX)PV+A]IX2
|
||||
M.[N0`7=LDX[9Y#TJR5<`#M2LT]\N.@\<-D:9+`U;4:-O6AE:\K9Z_6D],)\C
|
||||
MJG."*F5S08VZYYTPIV]*:A$N`93[4$P@GG3A%0""J:*4Z%?!&14A$!O36#7-
|
||||
M(-3:B][$IH0Z'UJFE@*LV!A@*T97?:E+BV67?K0M#L>2N&4,"%&7<\Z<F7,>
|
||||
M1S&]=2U;Q=]M\T:9<+[4-CF^1I`'@U;4I,NY^]-6HS;+_P#44"<=:@N#Y*"<
|
||||
ME;M!TYFKNU?R#;-4DQS?X!W4`_G5M:G]F"*8^B3[&KGA]G?[W$2LV,!N1^]4
|
||||
M-W\+S`$VLBOV##2<?UK2(?\`JC`[\ZN,F@L6HR8OQ?!\]N;&ZL\_BK5QGJ>M
|
||||
M*!63Y&!YC!KZA@,"#@@TI/P3AMUDO;`$]4\M-CE^S=#U1?\`R1_@^?PV_AQ,
|
||||
M[F)N7E)S1U"')T#0._\`BM6_PIPXY(DF'IG_`!4XOASAT!R4>0_\FVJ.:8Q^
|
||||
MH86KY_@R7#^&37DN0NF$$DOCI6SX+$(HV55V#X`]*G*J1)H10H'(`5+AV!#(
|
||||
M=7-LXZ>]5&3E(YFNU4LT>>BT'(D#`!VSZ4.92R+N"/7>B1Y(Z`'Z[U,Q9)0]
|
||||
MP#C>GT<NS`?%_P#Y88>8SDGU%4<=LZKJ!V]ZU?QE:LKVDN/*"5.W4XJHMX5,
|
||||
M?(T,I-(]%Z>TL"H0"D<^5-QDHNGYNE,>#CF:]I`\I'UI3=FS<F!R9#DC&:#/
|
||||
M%D:@*=TJOUJ+KJ7;)[5%P4I`N%\5FX3<%D9M'8&M;9_&L-ZJ);V=U/+U"(:Q
|
||||
M4T>Q.-ZY:WUUPZ;7!*4.<D<P?I6K'D=&'5:#'F>]+G^#Z1%Q*]G\QX9=*.@*
|
||||
M@?S(H[W5[X#!+9T<@X#$#\\U5<%^,+6ZA6&\80S]-7RD^AJ]\2-NFH\ZTIVN
|
||||
M&<#-CEBEME"OY,VO&./6$CK>6!N(\[&`ZL?2F8_C2U5U2:VG1F."-.X]QSK0
|
||||
M*(WWP*Z;:%GU,@+=_P!?6HHR\,CSX)?GC_AU_N4=Q\;<)BCD*&661=@H0C)'
|
||||
MJ:RMY\><5F=A:K%;J3@!5R<>YKZ*>%V4C:WMXRQ).=(SFJV]^#N#WN6$'@2'
|
||||
MDT9QO[54H9'Y-&EU&@QOYXW_`)\GS*ZXK?WY_P#>7T\H)^4L0/M2;,J*5C..
|
||||
M]77'?A>ZX(Q=QXUMG`E7E['M6>:,..F:SM.^3U.!X9P4L55^A)9XXX3'<*&0
|
||||
ML#@<SWH4JQ,6EAB98P/*&;<^M=%N%<D)RHH<:2IY=:NZZ&>W;LOK#BD/^VK:
|
||||
M\0A+S[&*7(P1TW'+%`CA5)A^'O8DRVXSEE]"O6J&.>6VG5AY@IV/<>E&M1%X
|
||||
MS2.2`-QCF35-&?V=MN/D8N"#Q0P>!""3COG_`)9JO?3%<*,`E6PW8UJ;KAME
|
||||
M>6BW<K"(B/\`<(QC&V=JRLWA^,XB!$8)T^U7$F'*IJEX'_$1.#R&&4(TDH5H
|
||||
MM6^,'?'UH<=A)<V_XA\1ILD2J-W/I_>N<+X7-Q&\C@C7S.<*3^N5?0^'_"0A
|
||||
M>*XNY/%FA^11\HQRQ1QBV^#/J]9CTJY?+_DJ.%?",9X>D]U*Y8#!B`Y>E)_&
|
||||
M\RB.PMHQA5U'2O0<JW4LH2>:$[%B'7Z\Z^5?%'$TN^/2QJX*0_LQ@]N='.*C
|
||||
M'@\W'49=1EW9'T)1%B#D8'YUZAQW*X^8UZLC3.@FJ-MQ1S%<QR?PN,^V<?UI
|
||||
M29&6_654;?R,>F#O_2G..+B!FP3@9VHD+,]NLA'S*"WEVK3F_(S>G-[&Q`./
|
||||
M'=`XSJP0.^*(553YESWJNN8WL^-9B;RR(#@]#GGO3DE_:1/B4AI!@\]JS2B^
|
||||
MD=93^-L5:^6Z26.)OVB/R?(R/2JI$FBOP\K#0I.V.=,SWZ:W%N@CU');<L<F
|
||||
M@1BYN7*Q1O(2<Y"YHHQ:32Z!6/C]"T_$Q2*1&N%QC>A",YR=J=X?P298,R:D
|
||||
MD))P.6*[<6OX=@0Q96Y'K2^%PAV/9^*8*R@:2X,487)7.^VWUJ5Q`L7$TCD9
|
||||
M714+-CW]:6>X,%Q&Z`%D(;`ZTY<03WMS)-;P,J.`%+[>7%4UY)EM/O@4XFPA
|
||||
MM2JII:)-:]^9ZUE+B-N-\15(B?,=R>G>M=<V0\!A/*7;&DZ>0QO0?AOA6E9+
|
||||
MK(!?.E1T%,C-8X-F)Q4N/!G^/\.98H;6%3(P\JJJ_*.M7?`.`<2L[02'B&2`
|
||||
M,PD%E'US3MM&;GB%V=&"%TG*[DU?\(A7\*N2HRO>@GFEM407CBI;BIMY5GXM
|
||||
M"A/F3)8>PK3HD5W.NM<!%K)<-0I\97<+#*QIA3CF#5W\2W5UPJSBGL+=9I"P
|
||||
M32S:<#O^5*:>])?H1R25HNYY$BB+;*H'M@5E;_X@X?;*T\]RH7.D!3DGT`K*
|
||||
MW)^*_B%V@N"EK;@?*#I5OL<FB<.^!V'A37TD3.A&8E7*L!GYCMFG^UC7,Y?P
|
||||
M9EDG_@C_`")3<1F^(^.BWC,A\7*VZ2'RQ@CYR._6OH/!.!1\)L1`OG8DL[=?
|
||||
MYDTOPO@5KPW!MX$5P-W`RWW-7499/:E9LJE\8]#,>)Q^4G;/"-HFRHV-,*-0
|
||||
MS7-6OG]:(@.:SI#&R.G8]ZCCS4QIR*]X7:K:`4B,>QWZ4PC?:@,FCD.521ZM
|
||||
M<`M6-#>NF@H_K1-0Q1)BFJ)=*X:YFN9VVJ%4<(ZFAM]ZFS9S0FQUJAD0!'<4
|
||||
MI<G"M[4VY"CZ4@Q\:X"#ODTMCX?8_"--NH[4M<'?L>U-@XC^F:0N6TACT%1D
|
||||
MAV9:]6:+BGXF/)7`5E[^U7UA<+)&&!R#M26C7G/4T6"%H6U1C8].AHW*T$XE
|
||||
MZA[?2CKRQ2=M('4$4T#MWVV_7ZY4*%M!5-3%#!W.]3Y40MGB:`S^M$=L?WI1
|
||||
MVP35-A11"X;8U*V7"*H90QVW/+^U+RDOI`WSTH\6,!AYB>PW%.PKMB<\ND/1
|
||||
M%N6H*1MD^E-(YRH1LL>^U**S^*23ASN>X-%0:G`92/4'&:?1FL%Q*W%_P^2V
|
||||
ME&8\[,#R;O60?AU[9DYB=T!_\B+J!]ZVT4+W#$*V5'[P-'>.2--*(=AC-,CA
|
||||
MWJV.PZZ6G^*Y1\_U.=A'(6[:#4X^'<2G7*6CA?XGPO\`.ML'<'D0.YJ:AB<'
|
||||
M)]Z):6*[9H?J\_\`#%'SZ2RXBL[0F',BC455@3U]:765HY2LBLK`[AA@BM'\
|
||||
M0>-PSBEKQ#!\!U\.0CH<\Z8ON'1<6MED5E$P'DD[C'7T-"\"Y2-6/U&24994
|
||||
MMLO*\&7<:U!%+R0YVZ=#3+K):S/#.I1QS'?U]:\V"NPWK-RF=:+35HJG7`()
|
||||
M`K6?#''G#)87CY&,1.3N?2LS<!2`HYF@'Q$&%)W.0#W]*?"5`:C3QSX]LC[)
|
||||
M%I*Y%,A2O4[5E?A/BDM[9:)]IHL*Q/[W8UJ%=E&XY?K^E;(-/D\=GQ2Q3<)>
|
||||
M`BY`ZU/)ZU!6!]Z)CMM3#.Q:],7X&?Q]X=!U@\B.M?#"0KDKRR<=<"OI/QK\
|
||||
M0);6<G#86U33#2^/W5K,"-+7X65"L9N+AP!J`)P3_:LN62;/3^CPE@Q;Y+\F
|
||||
MJ7_Z4*-J4#\C0V.DYY@T2ZM7M)Q&SJ6QG8Y':N2Q3Q:Q)'LATDKN,]LTJCOJ
|
||||
M<7Y.&,,NI=\_K]>]+O`"#CRL.HVS1HP[`!$9AC/*@LS/L!Z5:LMM'A=7!B,3
|
||||
M,=('>G>&<#ON*,?PMO)(H.DLHV!QU-,6W`KNYM$DM;*>635EGT^4#TKZMP+A
|
||||
MB<(X/%;`>?&J4\\L>=,A#<<?7^HQTT?A3DW_`,Z*CX;^&SP:(SW#!KDKC;<*
|
||||
M.U:)?,O;!WKTAY]=C4(F_9G.V#BM48J*I'DL^>>>;R3?)\Y_U#^,/]EO#86L
|
||||
M#-=F(,LN0`@.=_4U\=_%7+N68,6;?)WSO6K_`-0;EKSXSO2,E8M,8QZ#-9Q(
|
||||
M';]UOM0VNS1CQ2KAG8[BZY*I%>IF.WDP?V3Y[XKU`W']#;''*NSZ_P`33Q(6
|
||||
M`&=JI(&D+*LTCNJXSN2!Z8K07)#C3G?M5?:QO^U94.K4<D`G3R%+SKE`>FY%
|
||||
M&,D+\343P6]V(S'%YD&1Z[?RJBD3QI&D)YMM_*M#Q*"=[-HV8@*-85L#EOR]
|
||||
MJIK>/%@7SC"G<=]Z6CHM_P!N@<"B/$NE6//##F*U-M<120),B@(1G&,;]OO6
|
||||
M5C'[-?-D8VR.57/!9#J>'G@:P#R![TJ?V:LD%L31=EGT88@9W;&W_P"H]*`T
|
||||
M:W",K,#J)\PJ4F2<L>A._0=_K0Y)D@3+NJ9V&=\?:E",:KE`[2W_``@=G"%L
|
||||
MGS$?*.E#/$`Q,:ZI)%Y*@U$^_:C1V,=T!(QEG+']\Z5/KI%2EB6.)@H$<9.%
|
||||
M"C2?M5TBI2W2Y[*.[:Z:"3)$`88*_,QW[<A1_AJ7PS+$6)TL1YCTYU"^#JP1
|
||||
MD&3G.>0I&S9XN)DQ_)+C(Y;@8S1R6Z#1&JY^R[MV$7%K@*-M0V]*=X078R*%
|
||||
MSAR?IF@<)2/\9<-.WG8_ETJTMT%M<.Z``,<UEF^01=[<#BB3*N&.,YZTWQ:W
|
||||
M:[L&3&67=<>E2<J\@=@`0=S3RIJ4.3FJ3=V+;JC&6DVQ!R.F.U6\,JG!&.=)
|
||||
M<:X<UI>>-'LDG,#D#7K34`-\T4OM!JFN"[C(YU[.,=?I08FVQOO154OOW_7]
|
||||
M:472#Q;\J83EDC[T"-=O:BYP:M<"I<C"<^?6BKCZTD&;D#4UD<^M$I"W`;*9
|
||||
M!_*EGC9#RKHE8$_]5,3!MC[5&TP4G$&LFW.B!AC.JAO'G=-C2[LR;D-0W0:B
|
||||
MI#;.`N?L*\'&#N*K7N]'2A_[@#L-_:IN"]LM3)0'E`&3L*K_`,7(WRICWJ'G
|
||||
MD(+MD=NE2V6H40XEQ-;6`LHUMD``>IQ4N%*S+XC[NQW-5M_'XEU;P#?<N?I_
|
||||
MW5[9II0#'*H^AG41J0C'Z_7_`'53Q";PX&P"2S`#W)JSGV4[]*RG&+X+Q*UA
|
||||
M#@`."2>G:I&.Z1>"&YE@L>E<T>'ECZU/3B+;MDFH*-+@?KK_`&JB,9*,G[6/
|
||||
M<XW7O3$<RRKY2-MB#S%!C;]TU&2$ZM:-A^X'.H+8[XE3$H&QJL%S(@Q(-)[]
|
||||
M*E^(&<ZN6W.IR@:3'7?8[TF\F]#DN.>_T%*2W07)SL#5I6R^D6-JH>8ECL.E
|
||||
M-R0*F&1<+UTYV/K6:LOB"R1M#S88GM6GL>(6TR#3*CCD1GI76AC2@HG(R9&Y
|
||||
MN7@)X:-+OKTZ<\]_6FD@C=_#PVDYR"QQ[5Y[=QIDA;*>FY%-10^$B^W.@CB=
|
||||
MTRWD5#$:+$@P!C;E7F(ZG/H*B26Y-GM4,S9P#C'I6I<<&?L(L08<ORKPB4#;
|
||||
MG7%BE8>:9@.PVH@MA^\SM[YJRA*^LH+^RDM;C!1QOZ5BOP/&^".T<:&ZM5)P
|
||||
M.N/YBOHHB5,Z0*[X8(P1D4,L:ER:<&K>%.+2E%^&?+[RZ@XFH#R"*=?W9A@J
|
||||
M>V:3?AE^J^549#^\IR#7TV;AMK,Q\2&-QGDR`_TI8\!L2"$@\(_Q0,8_Y4IX
|
||||
M6^S=B]1CB58[2^GRO\NF?-8N"\0E)\-4=NVK>B_['Q61PGX,Y)YY%;B6QNK)
|
||||
M\VS^/@_+(,.?_P!AL?K]ZE!QZQ>V\1G5"I*N&."#V-#[<?)H_P"IZEJXI-?H
|
||||
MA3@/`Y^$PFXN)"TDF`0NX45J8\%`<Y&,BL[-\6<+2-U%P#D?NC/VJCD^.7BU
|
||||
MI9P*1WDZ>V],4X05(Q_T>KU4W)QY?WP;N>2*",O(X3&^<UE.*?&L4`>&T7Q6
|
||||
MW'B`["L=>\:ON)G_`-U*S*>079?M2(9.>,_;'\Z5/,WT=;2^BPA\L[M_069C
|
||||
M=2R33OJ=SDFBM<QSH(9XP6"^1QWH"R*/E`]JDV"-U^](.RX1=?H!C:14?!49
|
||||
M72<G):EY-,1TJ`6(R<';/K5A9\$XEQ)C^#MI)$&VKD!]3M5Q9_`G%VG030K&
|
||||
MN=RS@BF*+\"<FIP8FU.:3_U,];6M[?%8X8Y'!VPH..>:V7PY\%2_BEN;^,Q1
|
||||
MIN(VQDGM6VX3PZ#A=@EK"H&D98XW8]Z>)K1##YD><U?K<YW#"J7WY(:51"$4
|
||||
M`=,#%#?F<=Z(309#M]<5H."A>0Y#'E@$$_2EA*%M)'.W.F3YED]3BLYQ[B2<
|
||||
M+X#>73L`$#*H/5N0JFZ0R*W.CY5<2BYXC<3L<F61F.V_,T6/3C8U41\1C.Y.
|
||||
MYIE+^+&PYU@E%G<QRCT6BX[DUZDUOT/3\Z]2MC-"G$^B3#9CW'/KZ5&U:5M4
|
||||
M:.$&<X4$MOZ4Q*G^*4LO#%^RE3E$YX[[_P!*W9>CB:1O=P,75LGARM*)"QC*
|
||||
MZG.W+:LO8%_!DB)!0'!U;\Q6IO6A:%Q(R%3G9C@'8UC(7\.=27/AYP0#@>AI
|
||||
M%'<P7/&SQ#H3&VQ4XR?RJYX#&'GE8GRH@U'Z_P"*X>'F[@$ENF6QG)/S>F>]
|
||||
M.6*I8V_AN=3.<R%>GI]*"70]Y5+'M78_(=(,C?+_`#/I5?*IG4LY4@].F*E<
|
||||
M7?COI4:%390:4=&0:HV.ICNIY'UI=`8^%;#P7;1!@'/D&0IW)Z;G^M,1/*Z9
|
||||
MGTM<XU(I[57*4D.7=@P.PQYAZ4S$H4Y1LGJ5JZ`R-72`R,TCLI8NP));IG^U
|
||||
M(7;_`(0ZBFZ[@J0=Z=FG6+)3`(V.:J+V8,'D(8(!DG.<"CC&^P)S?2+*RO$N
|
||||
M,3(<,!YAUS6@MY_%CWYCG^OO7S/A,\L-RUPC,R2'D>J\A6WL;H>5E8E2,>](
|
||||
MSXMO*`QSM<EXCY!)'MZ&G[276F@GE55%)D@]#S%-1ET/D.&-9D^0I1L:XC;K
|
||||
M<6C*1OS'H>]9N+RUL-.J'ETK,74)MYSD;-DBCD#B?@8M\L:L84VVJLMF!&QJ
|
||||
MVA;R@TOR%)\$]'E]*Z(\;;X[FI!AG;ZU-1UHJ%6R(BZ=*EHQTWHZC&P&:Z1_
|
||||
M>BH7O%L=.5>T4734*H),$R&H$XV:C:_2HR+K3(^E4U]!)_8J\43\P#[T/\.F
|
||||
M3IP!Z5&5M!))VKJRJ5.XP>U`-K@EX2K07(&<41GUC`.U+3R!(7;.,`[U$0KK
|
||||
M=O'XE/(=POD'T_[J]@&!G;&:H."KKC+MC+DM]ZT$7R5<NPI?B@=U)HC+'H,U
|
||||
MA[-UON.&67</+I52=B*TO'[KP>&RG.Y\H^NU9[X;A5[Z'6K*-R&[D=*=B50<
|
||||
MC7IX[<<ILV3*%3;D-J6<8'M^OZ&G9<8I1P`>7Y?KT_7)",B#)S!HZC.?O]*7
|
||||
MCV7VP:*S^&NOMG(JT+D+7,\4>5?`/7)%)NF`3&^.XK-\5XR$XBVO.$YCN<YJ
|
||||
MM_\`44F&`/,[9VK3'!)JQ;R)&CGOWSH8A>W\N=1DR]LRX9V?RX'.J6WXBER1
|
||||
MJ.S#?/YFM-PA!*^VY7`QC.>M-6/:T!.?QL<X=PJ"SC'@P*]PXW9ESI'U'.FT
|
||||
M^'K/RXMPN<DLK%235C8IE@C)I.>>,]MJ>AP90FX['&,FFILPL%!:?A0([.:3
|
||||
M4/F8DD?GTIQ+_P##^68@?\@/+]J]H(1E4Z<G?`ZUP`(AP`&.VKJ?K1J30#2?
|
||||
M8W^SF3Q(R-^>.E1U%,$'8]*41)T)958J>9=AOZT03`^5_P"G]*=&28IQH=!V
|
||||
MRN_<48$$'H*2CD"N5;=3RHNHQ'_A16#0P1CVKF3O71N,@YKGJ,;40)`C)SMN
|
||||
M*\,@CO71R/<&N,0BLV>6^:@14_$-XW#N%SW2'SJN$/9CL*^0J&D)=G))R36X
|
||||
M^..,HULMBK>=G#L!T`_S6(4^'$"=RVZBLF5W(];Z-A>/3[WVW_H<*;>6H^(%
|
||||
MV9/L*+&QVP=SON:;M.'77$9-%M`TK>@V%+_0ZKDHJY.D(HT3'9,GMBBJBL<:
|
||||
M-ZV5C\"-E3?7"HI_<BZ^F:UG#N`\*X>,V]JAD`^>3S-^=,CAE+]#E9_6M/BX
|
||||
MA\G^G1\[X9\,<5XD08;?PXB?_))Y1_>MCPOX$LK8K)>R&YD`&5Y*/IUK4[C<
|
||||
M?:I*X-.C@BN^3AZGUG49N(O:OT_W!11)`@BBC14')5``Q4U;'L.8-3<:@#GV
|
||||
MH1(V/7E]:<<KE]GGV&JN9##(^M=+9!%!U89ATYBK(=+;>]`=@0#G]ZI.P_K2
|
||||
M\K'\/GJ3M4+2/1'4S$]S7RO_`%6O)?!M^&1$^>0RMOC(&P_/-?5+;:-F[U\7
|
||||
M^-''$_B>?$@T0*(QMVW/YF@E*E8_!CWSHPPLKG&<+C_[4>.VG_B`'H:MUX<#
|
||||
MRF7'M1EX;I_^0?:D/.=2&G2^RK2.48R0>X%>JV/#<_\`R\O2O4'N)^1WM(^L
|
||||
MO%JVQ[>M9KB,DOXQXXY&4(=.5/,?2MP\!SR(]#60OK>6WNY&FC(>1BRL!S&]
|
||||
M.SITC!Z7**R/=]%>L3?A9'DU8"L0,G.<<Z):65K?\/C%N&:4C)&WE/K3/C0Q
|
||||
MJ[/ENC'23]*))Q6VLX$6W4`D;+&N`*S)'6S9YQ_$L+:%.%VA$9+RXV!.<'L!
|
||||
M54P\[2*1K)RRYV/O2T5]>3.9)2$0<RW(>E1G<8+QD@`Y9B1O]^=1IMBL?Q;O
|
||||
MMAE,=UC7S7<#JIJ$UT(`4?2V!G"G?ZTC+<-,^(MF'.0;$TS:\+N60,I4=2H'
|
||||
M+Z\^511^QDFX\O@"L=Q<7`G<B/3N!1+>SDBE:</(=6^GD#]*NN'\+GG?*H\A
|
||||
M5>07/M3LW#)_!"""7Q<8P$]?:BI^$)]V*=-F?MDDN!*TI!5<``577L&FVN0!
|
||||
M^Y6YM_AGB!MP1&J`Y.&?!S]*A_Z5\1F%Y(N#SC7/F^M6H2OH7_4XE?)\XX9;
|
||||
M9LXV`Z?UJS@:2V.P\AZ8ZUH.)<'M[%E6UB\-!S49YU6-!M[>E*RMJ5,+%..2
|
||||
M-H?LKD-MT(VJVB8]]ZS$3&"0[>4_E5Y;7&M`":QSC3M#$_#-':OXD>#S',4I
|
||||
MQ2R%S;LO(\U/8U&SN`@.K84\A\9#DY-1.T*:<96?/;;X@CM.+OPVZ5X94.`S
|
||||
M?*>W7K6LCNAHSJZ5\N^)N(3?^HKVZC+6A0M"20&8D`KC?D"":[P;X@NX9OPX
|
||||
M:2:VWTLZXP-\8P>W2M<])<%*(G'J4Y[9'U.WNU=N>,58Q-D<ZPO".*>*@;5V
|
||||
MVQ6IM;O4!OSK%3BZ9KG&^47"L">=2-!B?(HHY8HTS*U3(L`!FEIF.,;CUIH@
|
||||
MXI65"VXH9=!P$WN!$X+!F13Y@IW(ZTS-#;M9M/:WDA.G*J3S],&E)82P.#M2
|
||||
M<<5Q;,3"P*]48;9]*,>X*5-,A=07CK_YLL1U`VJO4<4MLJR+(O/*'I5X
|
||||
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
|
||||
M4'H>E14@#]?KO4]6!OS//-+HY]GB1[?K]?:A-NVU3+#-65!ZG?>IT51S0
|
||||
M-ML^O2O$9SBI+Z5T;'G0]A+@'X>!T]:]H[5(L`#7B<YZFHD6!91N*&T>>E,`
|
||||
M;[UTA0I)(`'.HD0JKF...,O(P50,DG;%5=E\46]E=A`"T)."<<O456\;XJU]
|
||||
M</%&Y$"G8'J:I7P1Y0Q/<]ZUXL=<LZ>/T^,H?W?)]=LN)"X3,;JT9&K(.WH:
|
||||
ML+:XW/,`"OCUAQ&\X7)F!BJ,=T;Y3]*W'!?B6WO%(/DEP`8V/Y@]:<FT<C5>
|
||||
MG3PW*/*-@LI<$-C.<;'G0'90=1)!U#GSQFEH[J.5,JP4Y^9=JY<R!;.:9FV7
|
||||
M2%Z$G/*F1=G-:HM@S(00<BC[2+WJNAN`\><['M1TD*\CD=JT(S-'9`8FS^Z:
|
||||
MZZ^*-:'#CM1,K(,T##0OJYK5D06%Q*-+;,.8HL@.G8?XI=D\0>)&<..W6IPW
|
||||
M`/D<88?G5IE->430;=P:$!IE(Z,*F_[(Y_=/Y5YV4^;/+>K(C/\`Q-QL<$X>
|
||||
M'T>))(VA`=A[U\MXGQ:YXC,9+B1BH8Z5R2%K8_ZBF9I+;"-^'1&)<<M9(Y_2
|
||||
MOGF8_%02A_"_>T'?UK+/F5'J_2L&.&%9:N1XL67(R0,9/05T'(_K49[A!%)'
|
||||
M`#'$Q!(9LL2,XWQ_*E5NFTC3&7]]JE'56;_RX&COFAMD$$^U!UW,F-(\/OCG
|
||||
M4UBE8CQ')`Z5*HIY4^$@D3$R%M]MJ<29EP,TNL>D``;41%R<'?:AE3!Y'HKE
|
||||
MPO+(/:F5N,@;TK&O/>H."KMII-)@T/'#@_HTNT"YR!4HGT@YY8ZU"2Y5FV>H
|
||||
MK\$J@PTA>6]>\554CE2,UVB`Y;%5DW&((\YD7[T2QN0$I1CS)T7IND16WSFO
|
||||
M5DI./0G(U$>RUZFK`Q#UF!?XD?HQ@AR&S]*@8XC_`-TVT(.W>A^#&.U;:/%V
|
||||
M+&%>P^@KHB`R<4;2J[`^X-1.W/GM^OO5%V#Y`_;]?KO4&P>='`U'(`Q7/!8]
|
||||
M,>U6019-MLT>PN6MI<,?*34S`0#G'M2TB8-0AJ(I%D4#5M49(]\C8U46%X1^
|
||||
MS<X(ZU=(P=.XH2NA=25.DTRKY'44*2/J!4%;&S;&H6^1OOOO46!/N>]11L^7
|
||||
M]&I=/UZ_Y_7.`B\B9Y[CI57/"8G)5/+[\JNR,GWH$D892"`1VJ!1E15KB0;$
|
||||
MYZU5<1X/%<!GC`27GJZ-5S+!H;4F<]JCD2*<@>U"XJ2IC(R<7<3`7%M);RF.
|
||||
M1<,/L:];SE&`S6NXAPR.[A(("N.3=JQL\,EM.T3C2P.,?UK!GP;?V.GI]0IK
|
||||
M]2^MIPPJRADU`?TK-VDI&!G%6T,N,;^U8.F:VK1;9!&<U$@'G08YL\]J*&ZB
|
||||
MBL531%DS[4E<6X89Y=<BK`]1UH;J&&_*I046+65[(C"&7S$<CWJV"VUVFF1%
|
||||
M8'^(527$.=P"&!R,=*>M!)+`)4WQ\V.>:Z.FS.2VR[,&IPJ+W1Z/2\!,1,G#
|
||||
MI7B8;Z<Y4TC.99@8KVT$KC]Z/RN/7'6KV*XD79@<>M'>.VO4T2H">G]Q6EQ3
|
||||
M,ZFT[9\LXEQ63AU\T"6TKH`,,_E.3TQ_6JV[XK/<J48B)<;X;)/UKZ;Q'@4[
|
||||
MQ%8BEU$#GPYADCV-?-[W@4MI?2EU\",OLK@^4<L48NZ.[H-3@?Y]H1A@>4
|
||||
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
|
||||
`
|
||||
end
|
||||
52
uudecode/DECODE.HPP
Normal file
52
uudecode/DECODE.HPP
Normal file
@@ -0,0 +1,52 @@
|
||||
#ifndef _UUDECODE_DECODE_HPP_
|
||||
#define _UUDECODE_DECODE_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
extern "C"
|
||||
{
|
||||
WORD _cdecl uudecode(const char *szPathFileName,char *szPathOutputFileName);
|
||||
WORD _cdecl decodeBase64(const char *szPathFileName,char *szPathOutputFileName);
|
||||
}
|
||||
|
||||
class GenDecode
|
||||
{
|
||||
public:
|
||||
static bool decode(const String &pathFileName,String &pathOutputFileName);
|
||||
static bool decode(const String &pathFileName);
|
||||
private:
|
||||
GenDecode(void);
|
||||
virtual ~GenDecode();
|
||||
};
|
||||
|
||||
inline
|
||||
GenDecode::GenDecode(void)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
GenDecode::~GenDecode()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
bool GenDecode::decode(const String &pathFileName)
|
||||
{
|
||||
String strPathOutputFileName;
|
||||
strPathOutputFileName.reserve(256);
|
||||
return decode(pathFileName,strPathOutputFileName);
|
||||
}
|
||||
|
||||
inline
|
||||
bool GenDecode::decode(const String &pathFileName,String &pathOutputFileName)
|
||||
{
|
||||
String strPathOutputFileName;
|
||||
|
||||
strPathOutputFileName.reserve(256);
|
||||
if(!uudecode((LPSTR)pathFileName,(LPSTR)strPathOutputFileName))
|
||||
if(!decodeBase64((LPSTR)pathFileName,strPathOutputFileName))return false;
|
||||
pathOutputFileName=strPathOutputFileName;
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
418
uudecode/DECODE64.HLD
Normal file
418
uudecode/DECODE64.HLD
Normal file
@@ -0,0 +1,418 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: BASE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
|
||||
HANDLE STRUC
|
||||
PHANDLE TYPEDEF FAR PTR HANDLE
|
||||
HANDLE@@mHandle DD <0>
|
||||
HANDLE ENDS
|
||||
|
||||
INVALID_HANDLE equ 0FFFFFFFFh
|
||||
|
||||
STRSTR MACRO szStringOne,szStringTwo
|
||||
push offset szStringTwo ; save string one
|
||||
push offset szStringOne ; save string two
|
||||
call _strstr ; call standard library strstr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCHR MACRO szString,charByte
|
||||
push charByte ; save charByte
|
||||
push offset szString ; save string
|
||||
call _strchr ; call standard library strchr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRLEN MACRO szData
|
||||
push edi ; save destination index register
|
||||
push ecx ; save ecx register
|
||||
mov edi,offset szData ; get string to destination index register
|
||||
mov ecx,0FFFFh ; move 65535 to ecx register
|
||||
xor eax,eax ; clear eax register
|
||||
repnz scasb ; scan string
|
||||
mov eax,0FFFFh ; move 65535 to eax
|
||||
sub eax,ecx ; subtract number of bytes scanned
|
||||
dec eax ; decrement result
|
||||
pop ecx ; restore ecx register
|
||||
pop edi ; restore destination index register
|
||||
ENDM
|
||||
|
||||
MEMCPY MACRO szDstData,szSrcData,lengthCopy
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szSrcData ; move source data to source index register
|
||||
mov edi,offset szDstData ; move destination data to destination index register
|
||||
mov ecx,lengthCopy ; move number of bytes to copy to ecx register
|
||||
rep movsb ; copy data
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
STRCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRCMPnotEqual,@@STRCMPequal,@@STRCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save destination index register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare lengths
|
||||
jne @@STRCMPnotEqual ; if lengths differ, strings are not equal
|
||||
@@STRCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string two
|
||||
cmp al,byte ptr[edi] ; compare with byte from string one
|
||||
jne @@STRCMPnotEqual ; if bytes differ then we're done
|
||||
loop @@STRCMPloop ; iterate through string length
|
||||
@@STRCMPequal: ; equality control
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRCMPexit ; we're done
|
||||
@@STRCMPnotEqual: ; inequality control
|
||||
xor eax,eax ; set return code
|
||||
@@STRCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
|
||||
STRNCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRNCMPloop,@@STRNCMPequal,@@STRNCMPnotEqual,@@STRNCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save edi register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare the lengths
|
||||
jle @@STRNCMPloop ; string one is less equal to string two
|
||||
mov ecx,eax ; string two is less, so use it's length
|
||||
@@STRNCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string one
|
||||
cmp al,byte ptr[edi] ; compare with byte from string two
|
||||
jne @@STRNCMPnotEqual ; if byte are unequal, strings are unequal
|
||||
inc edi ; increment along string two
|
||||
inc esi ; increment along string one
|
||||
loop @@STRNCMPloop ; keep going
|
||||
@@STRNCMPequal: ; string equal sync address
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRNCMPexit ; we're done
|
||||
@@STRNCMPnotEqual: ; string unequal sync address
|
||||
xor eax,eax ; set return code
|
||||
@@STRNCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
|
||||
CREATEFILE MACRO pathFileName,access,share,open,attribute
|
||||
push 0000h ; save handle to template (null)
|
||||
push attribute ; save attributes
|
||||
push open ; save creation flags
|
||||
push 0000h ; save security attributes
|
||||
push share ; save share mode
|
||||
push access ; save acess mode
|
||||
push pathFileName ; save path file name
|
||||
call dword ptr __imp__CreateFileA@28 ; call create
|
||||
ENDM
|
||||
|
||||
READFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesRead on stack
|
||||
mov eax,esp ; move bytesRead address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save pointer to bytesRead
|
||||
push sizeBuffer ; save length of buffer
|
||||
push offset szBuffer ; save address of read buffer
|
||||
push hFileHandle ; save file handle
|
||||
call dword ptr __imp__ReadFile@20 ; call read
|
||||
mov eax,[esp] ; move bytesRead value to eax
|
||||
add esp,04h ; remove bytesRead variable from stack
|
||||
ENDM
|
||||
|
||||
WRITEFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesWritten variable on stack
|
||||
mov eax,esp ; move bytesWritten address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save bytesWritten address
|
||||
push sizeBuffer ; save write length
|
||||
push offset szBuffer ; save address of write buffer
|
||||
push hFileHandle ; save file handle
|
||||
call dword ptr __imp__WriteFile@20 ; call write
|
||||
mov eax,[esp] ; move number of bytes written to eax
|
||||
add esp,04h ; remove bytesWritten variable from stack
|
||||
ENDM
|
||||
|
||||
CLOSEHANDLE MACRO handle
|
||||
push handle ; save file handle
|
||||
call dword ptr __imp__CloseHandle@4 ; call close
|
||||
ENDM
|
||||
|
||||
FREAD MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FREADreadError,@@FREADsimpleRead,@@FREADdone
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,00h ; is buffer index zero
|
||||
jne @@FREADsimpleRead ; if not then just grab next byte
|
||||
READFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; otherwise we fill the read buffer
|
||||
cmp eax,0000h ; did we read any data ?
|
||||
je @@FREADreadError ; if not then we're done
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,eax ; move number of bytes read to buffer index
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
jmp @@FREADsimpleRead ; grab next byte
|
||||
@@FREADreadError: ; read error sync address
|
||||
xor eax,eax ; set return code
|
||||
jmp @@FREADdone ; we're done
|
||||
@@FREADsimpleRead: ; simple read sync address
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov al,byte ptr[eax] ; move byte value to al
|
||||
mov byte ptr[ptrByte],al ; move byte value to user buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment along lpBufferPointer
|
||||
dec sFileInfo.FileInfo@@mBufferIndex ; decrement the buffer index
|
||||
mov eax,01h ; set the return code
|
||||
@@FREADdone: ; done reading sync
|
||||
ENDM
|
||||
|
||||
FWRITE MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; other wise
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEsimpleWrite: ; simple write sync address
|
||||
cmp sFileInfo.FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
jne @@FWRITEuseBuffer ; if not then just use it
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEuseBuffer: ; use buffer sync address
|
||||
mov cl,byte ptr[ptrByte] ; move byte to write to cl
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov byte ptr[eax],cl ; move byte into buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
inc sFileInfo.FileInfo@@mBufferIndex ; increment buffer index
|
||||
mov eax,01h ; set return code
|
||||
ENDM
|
||||
|
||||
FFLUSH MACRO sFileInfo
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,sFileInfo.FileInfo@@mBufferIndex ; write buffer to disk
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
ENDM
|
||||
|
||||
FGETS MACRO sFileInfo,szBuffer
|
||||
LOCAL @@FGETScont,@@FGETexit,@@FGETsetError,@@FGETScrlf
|
||||
push esi ; save source index register
|
||||
mov esi,offset szBuffer ; move address of buffer into esi
|
||||
@@FGETScont: ; loop control
|
||||
FREAD sFileInfo,esi ; read a byte
|
||||
cmp eax,0000h ; was our read successful?
|
||||
je @@FGETexit ; if not we're done
|
||||
cmp byte ptr[esi],0Dh ; is the byte a carriage return?
|
||||
je @@FGETScrlf ; if yes then jump to handler
|
||||
inc esi ; increment along esi
|
||||
jmp @@FGETScont ; keep reading
|
||||
@@FGETScrlf: ; carriage return control
|
||||
mov byte ptr[esi],00h ; move null into line data
|
||||
sub esp,04h ; create temp var on stack
|
||||
mov esi,esp ; esi points to temp var
|
||||
FREAD sFileInfo,esi ; read line-feed into temp var
|
||||
add esp,04h ; restore stack
|
||||
@@FGETexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
FileInfo STRUC
|
||||
MaxLength equ 800h
|
||||
FileInfo@@mhFileHandle HANDLE <0>
|
||||
FileInfo@@mszBuffer DB MaxLength DUP(0)
|
||||
FileInfo@@mBufferIndex DD (0)
|
||||
FileInfo@@mlpBufferPointer DD (0)
|
||||
FileInfo ENDS
|
||||
|
||||
.DATA
|
||||
inputFile FileInfo <<0>>
|
||||
outputFile FileInfo <<0>>
|
||||
lineData DB 400h DUP(0)
|
||||
szDefaultOutputPathFileName DB 'IMAGE.JPG',00h
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szFileNameLiteral DB 'filename=',00h
|
||||
szOutBytes DB 04h DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
szBase64ID DB '/9j/',00h
|
||||
szBase64Vector DB 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',00h
|
||||
num DD ?
|
||||
lineLength DD ?
|
||||
itemIndex DD ?
|
||||
numIndex DD ?
|
||||
valueItem DD ?
|
||||
.CODE
|
||||
_decodeBase64 proc near ; WORD decodeBase64(const char *szPathFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
push [ebp+8] ; save pathFileName
|
||||
pop szInputPathFileName ; restore into inputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file na null
|
||||
je @@error ; if so then we've got an error
|
||||
CREATEFILE szInputPathFileName,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
mov inputFile.FileInfo@@mhFileHandle,eax ; store the handle
|
||||
cmp inputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; do we have a valid handle ?
|
||||
je @@error ; if the handle is invalid then we've got an error
|
||||
STRLEN szDefaultOutputPathFileName ; get the length of the default file name
|
||||
MEMCPY szOutputPathFileName,szDefaultOutputPathFileName,eax ; set output file name to default
|
||||
@@search: ; search sync address
|
||||
FGETS inputFile,lineData ; get input line
|
||||
cmp eax,0000h ; did we read anything
|
||||
je @@end ; if not we're done
|
||||
STRSTR lineData,szFileNameLiteral ; look for "filename=" literal
|
||||
cmp eax,0000h ; did we find it
|
||||
jne @@nameFile ; if so then extract the filename
|
||||
STRNCMP szBase64ID,lineData ; compare line to base64 identifier
|
||||
cmp eax,0001h ; if we've got it then we start decoding
|
||||
je @@beginDecode ; jump to decode handler
|
||||
jmp @@search ; keep going
|
||||
@@nameFile: ; nameFile sync address
|
||||
push eax ; save address of filename literal
|
||||
push offset szOutputPathFileName ; save address of filename buffer
|
||||
call _nameFile ; extract the file name
|
||||
add esp,08h ; reset stack frame
|
||||
jmp @@search ; keep going
|
||||
@@beginDecode: ; begin decode sync address
|
||||
CREATEFILE offset szOutputPathFileName,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
mov outputFile.FileInfo@@mhFileHandle,eax ; save handle
|
||||
@@continueDecode: ; continue decode sync address
|
||||
STRLEN lineData ; get length of lineData
|
||||
dec eax ; decrement line length
|
||||
mov lineLength,eax ; move line length into lineLength
|
||||
mov itemIndex,0000h ; set itemIndex to zero
|
||||
@@itemLoop: ; itemLoop sync address
|
||||
mov valueItem,0000h ; set valueItem to zero
|
||||
mov esi,offset lineData ; move ptr lineData to esi register
|
||||
add esi,itemIndex ; add itemIndex to address
|
||||
cmp byte ptr[esi+02h],'=' ; is pChar[2] equal to '='?
|
||||
je @@assignOne ; if so then num=1
|
||||
cmp byte ptr[esi+03h],'=' ; else if pChar[3]='='
|
||||
je @@assignTwo ; then num=2
|
||||
mov num,0003h ; otherwise num=3
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignOne: ; assignment sync address
|
||||
mov num,0001h ; assign 1 to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignTwo: ; assignment sync address
|
||||
mov num,0002h ; assign two to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignContinue: ; end assignment sync address
|
||||
mov numIndex,0000h ; set numIndex to zero
|
||||
@@numLoop: ; numIndex loop sync address
|
||||
xor eax,eax ; clear out eax
|
||||
mov edi,numIndex ; move numIndex into destination index
|
||||
mov al,byte ptr[esi+edi] ; get the byte at pChar[numIndex]
|
||||
STRCHR szBase64Vector,eax ; ::strchar(szBase64Vector,pChar[numIndex])
|
||||
cmp eax,0000h ; did we find the token
|
||||
je @@end ; if not then we've got an error
|
||||
mov edi,eax ; move address of found token to edi (pTok)
|
||||
sub edi,offset szBase64Vector ; perform (pTok-szBase64Vector) result to edi
|
||||
mov eax,0003h ; move 3 into eax
|
||||
sub eax,numIndex ; perform (3-numIndex) result to eax
|
||||
mov edx,0006h ; move 6 into edx
|
||||
imul eax,edx ; perform (3-numIndex)*6 result to eax
|
||||
mov cl,al ; move shift value into cl register
|
||||
shl edi,cl ; perform (pTok-smszVec)<<((3-numIndex)*6) result to edi
|
||||
add valueItem,edi ; valueItem+=(pTok-smszVec)<<((3-numIndex)*6)
|
||||
inc numIndex ; increment numIndex
|
||||
mov eax,numIndex ; move numIndex into eax register
|
||||
cmp eax,num ; compare numIndex to num
|
||||
jle @@numLoop ; loop through <= operation
|
||||
mov numIndex,0002h ; set numIndex to 2
|
||||
@@nextNumLoop: ; next numLoop sync address
|
||||
mov esi,offset szOutBytes ; move szOutBytes address into esi
|
||||
mov edi,numIndex ; move numIndex into edi
|
||||
mov eax,valueItem ; move valueItem into eax register
|
||||
and eax,000000FFh ; apply bit mask
|
||||
mov byte ptr[esi+edi],al ; set byte in szOutBytes
|
||||
shr valueItem,08h ; shift valueItem right 8 bytes
|
||||
dec numIndex ; decrement numIndex
|
||||
cmp numIndex,0000h ; compare numIndex to zero
|
||||
jge @@nextNumLoop ; if >=0 keep going
|
||||
mov esi,offset szOutBytes ; move szOutBytes to esi
|
||||
xor edi,edi ; clear edi
|
||||
@@writeLoop: ; writeLoop sync address
|
||||
FWRITE outputFile,byte ptr[esi+edi] ; write out the byte
|
||||
inc edi ; increment edi
|
||||
cmp edi,num ; compare edi to num
|
||||
jl @@writeLoop ; if it's less then keep going
|
||||
add itemIndex,0004h ; increment itemIndex by four
|
||||
mov eax,itemIndex ; move itemIndex to eax
|
||||
cmp eax,lineLength ; compare itemIndex to lineLength
|
||||
jl @@itemLoop ; if it's less that keep going
|
||||
FGETS inputFile,lineData ; get another line
|
||||
cmp eax,0000h ; did we get a line?
|
||||
je @@end ; if not then we're done
|
||||
jmp @@continueDecode ; otherwise keep going
|
||||
@@end: ; end sync address
|
||||
FFLUSH outputFile ; flush the output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
CLOSEHANDLE inputFile.FileInfo@@mhFileHandle ; close input file
|
||||
@@error: ; error sync address
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_decodeBase64 endp
|
||||
_nameFile proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov edi,[ebp+8] ; move dest string to destination index register
|
||||
mov esi,[ebp+0Ch] ; move source string to source index register
|
||||
@@NAMEFILEquoteLoop: ; first quote loop control
|
||||
mov al,byte ptr[esi] ; move byte into al
|
||||
cmp al,00h ; is it null?
|
||||
je @@NAMEFILEerror ; if it's null then we've got an error
|
||||
cmp al,'"' ; is it the first quote ?
|
||||
je @@NAMEFILEreadFile ; if so then get the filename
|
||||
inc esi ; increment along esi
|
||||
jmp @@NAMEFILEquoteLoop ; keep going
|
||||
@@NAMEFILEreadFile: ; read file name sync address
|
||||
inc esi ; skip past the first quote
|
||||
mov al,byte ptr[esi] ; read from file name
|
||||
cmp al,'"' ; is the byte the closing quote?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
cmp al,00h ; is the byte a null byte?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
mov byte ptr[edi],al ; store the byte in destination
|
||||
inc edi ; increment along destination
|
||||
jmp @@NAMEFILEreadFile ; keep going
|
||||
@@NAMEFILEreadEnd: ; read end sync address
|
||||
mov byte ptr[edi],00h ; null terminate the string
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@NAMEFILEend ; we're done
|
||||
@@NAMEFILEerror: ; error sync address
|
||||
xor eax,eax ; set error return
|
||||
@@NAMEFILEend: ; end proc sync address
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_nameFile endp
|
||||
public _decodeBase64
|
||||
extrn __imp__WriteFile@20:near
|
||||
extrn __imp__CloseHandle@4:near
|
||||
extrn __imp__CreateFileA@28:near
|
||||
extrn __imp__GetLastError@0:near
|
||||
extrn __imp__ReadFile@20:near
|
||||
extrn __imp__WriteFile@20:near
|
||||
extrn _strstr:near
|
||||
extrn _strchr:near
|
||||
END
|
||||
59
uudecode/DEVIOCTL.INC
Normal file
59
uudecode/DEVIOCTL.INC
Normal file
@@ -0,0 +1,59 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DEVIOCTL.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE RELATED CONSTANTS
|
||||
;*************************************************************************************
|
||||
FILE_SHARE_READ equ 00000001h
|
||||
FILE_SHARE_WRITE equ 00000002h
|
||||
FILE_SHARE_DELETE equ 00000004h
|
||||
FILE_ATTRIBUTE_READONLY equ 00000001h
|
||||
FILE_ATTRIBUTE_HIDDEN equ 00000002h
|
||||
FILE_ATTRIBUTE_SYSTEM equ 00000004h
|
||||
FILE_ATTRIBUTE_DIRECTORY equ 00000010h
|
||||
FILE_ATTRIBUTE_ARCHIVE equ 00000020h
|
||||
FILE_ATTRIBUTE_NORMAL equ 00000080h
|
||||
FILE_ATTRIBUTE_TEMPORARY equ 00000100h
|
||||
FILE_ATTRIBUTE_COMPRESSED equ 00000800h
|
||||
FILE_ATTRIBUTE_OFFLINE equ 00001000h
|
||||
CREATE_NEW equ 00000001h
|
||||
CREATE_ALWAYS equ 00000002h
|
||||
OPEN_EXISTING equ 00000003h
|
||||
OPEN_ALWAYS equ 00000004h
|
||||
TRUNCATE_EXISTING equ 00000005h
|
||||
DELETE equ 00010000h
|
||||
READ_CONTROL equ 00020000h
|
||||
WRITE_DAC equ 00040000h
|
||||
WRITE_OWNER equ 00080000h
|
||||
SYNCHRONIZE equ 00100000h
|
||||
STANDARD_RIGHTS_REQUIRED equ 000F0000h
|
||||
STANDARD_RIGHTS_READ equ READ_CONTROL
|
||||
STANDARD_RIGHTS_WRITE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_EXECUTE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_ALL equ 001F0000h
|
||||
SPECIFIC_RIGHTS_ALL equ 0000FFFFh
|
||||
FILE_READ_DATA equ 0001h
|
||||
FILE_LIST_DIRECTORY equ 0001h
|
||||
FILE_WRITE_DATA equ 0002h
|
||||
FILE_ADD_FILE equ 0002h
|
||||
FILE_APPEND_DATA equ 0004h
|
||||
FILE_ADD_SUBDIRECTORY equ 0004h
|
||||
FILE_CREATE_PIPE_INSTANCE equ 0004h
|
||||
FILE_READ_EA equ 0008h
|
||||
FILE_WRITE_EA equ 0010h
|
||||
FILE_EXECUTE equ 0020h
|
||||
FILE_TRAVERSE equ 0020h
|
||||
FILE_DELETE_CHILD equ 0040h
|
||||
FILE_READ_ATTRIBUTES equ 0080h
|
||||
FILE_WRITE_ATTRIBUTES equ 0100h
|
||||
FILE_ALL_ACCESS equ STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or 1FFh
|
||||
FILE_GENERIC_READ equ STANDARD_RIGHTS_READ or FILE_READ_DATA or FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE
|
||||
FILE_GENERIC_WRITE equ STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE
|
||||
FILE_GENERIC_EXECUTE equ STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or FILE_EXECUTE or SYNCHRONIZE
|
||||
GENERIC_READ equ 80000000h
|
||||
GENERIC_WRITE equ 40000000h
|
||||
GENERIC_EXECUTE equ 20000000h
|
||||
GENERIC_ALL equ 10000000h
|
||||
|
||||
|
||||
|
||||
0
uudecode/Decode.cpp
Normal file
0
uudecode/Decode.cpp
Normal file
BIN
uudecode/Decode64.obj
Normal file
BIN
uudecode/Decode64.obj
Normal file
Binary file not shown.
27
uudecode/FILEINFO.HPP
Normal file
27
uudecode/FILEINFO.HPP
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef _UUDECODE_FILEINFO_HPP_
|
||||
#define _UUDECODE_FILEINFO_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
class FileInfo
|
||||
{
|
||||
public:
|
||||
FileInfo(void);
|
||||
~FileInfo(); // cannot be virtual
|
||||
enum{MaxLength=0x800};
|
||||
BYTE mBuffer[MaxLength];
|
||||
HANDLE mhFileHandle;
|
||||
DWORD mBufferIndex;
|
||||
DWORD mlpBufferPointer;
|
||||
};
|
||||
|
||||
FileInfo::FileInfo(void)
|
||||
: mhFileHandle(INVALID_HANDLE_VALUE), mBufferIndex(0), mlpBufferPointer(0)
|
||||
{
|
||||
}
|
||||
|
||||
FileInfo::~FileInfo()
|
||||
{
|
||||
}
|
||||
#endif
|
||||
243
uudecode/FILEIO.MAK
Normal file
243
uudecode/FILEIO.MAK
Normal file
@@ -0,0 +1,243 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=fileio - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to fileio - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "fileio - Win32 Release" && "$(CFG)" != "fileio - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Fileio.mak" CFG="fileio - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "fileio - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "fileio - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "fileio - Win32 Debug"
|
||||
RSC=rc.exe
|
||||
MTL=mktyplib.exe
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "fileio - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "$(OUTDIR)\Fileio.exe"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\main.obj"
|
||||
-@erase "$(OUTDIR)\Fileio.exe"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Fileio.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Fileio.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
|
||||
odbccp32.lib /nologo /subsystem:windows /incremental:no\
|
||||
/pdb:"$(OUTDIR)/Fileio.pdb" /machine:I386 /out:"$(OUTDIR)/Fileio.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\main.obj" \
|
||||
"..\exe\mscommon.lib"
|
||||
|
||||
"$(OUTDIR)\Fileio.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "fileio - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "$(OUTDIR)\Fileio.exe"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\main.obj"
|
||||
-@erase "$(INTDIR)\vc40.idb"
|
||||
-@erase "$(INTDIR)\vc40.pdb"
|
||||
-@erase "$(OUTDIR)\Fileio.exe"
|
||||
-@erase "$(OUTDIR)\Fileio.ilk"
|
||||
-@erase "$(OUTDIR)\Fileio.pdb"
|
||||
-@erase ".\cfile.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "__FLAT__" /YX /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\
|
||||
/D "STRICT" /D "__FLAT__" /Fp"$(INTDIR)/Fileio.pch" /YX /Fo"$(INTDIR)/"\
|
||||
/Fd"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Fileio.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /debug /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /incremental:yes\
|
||||
/pdb:"$(OUTDIR)/Fileio.pdb" /debug /machine:I386 /out:"$(OUTDIR)/Fileio.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\main.obj" \
|
||||
"..\exe\mscommon.lib" \
|
||||
".\cfile.obj"
|
||||
|
||||
"$(OUTDIR)\Fileio.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "fileio - Win32 Release"
|
||||
# Name "fileio - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "fileio - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "fileio - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\main.cpp
|
||||
DEP_CPP_MAIN_=\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)"
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "fileio - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "fileio - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\work\exe\mscommon.lib
|
||||
|
||||
!IF "$(CFG)" == "fileio - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "fileio - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
BIN
uudecode/FILEIO.MDP
Normal file
BIN
uudecode/FILEIO.MDP
Normal file
Binary file not shown.
154
uudecode/MAIN.CPP
Normal file
154
uudecode/MAIN.CPP
Normal file
@@ -0,0 +1,154 @@
|
||||
#include <common/windows.hpp>
|
||||
#include <common/string.hpp>
|
||||
#include <common/openfile.hpp>
|
||||
#include <stdio.h>
|
||||
|
||||
class FileInfo;
|
||||
|
||||
extern "C"
|
||||
{
|
||||
int FileOpen(char *pPathFileName,FileInfo *pFileInfo,int access,int share,int open,int attributes);
|
||||
int FileClose(FileInfo *pFileInfo);
|
||||
int FileRead(FileInfo *pFileInfo,BYTE *ptrByte);
|
||||
int FileReadLine(FileInfo *pFileInfo,BYTE *ptrByte);
|
||||
int FileWriteLine(FileInfo *pFileInfo,BYTE *ptrByte);
|
||||
int FileFlush(FileInfo *pFileInfo);
|
||||
}
|
||||
|
||||
class FileInfo
|
||||
{
|
||||
public:
|
||||
FileInfo(void);
|
||||
~FileInfo(); // cannot be virtual
|
||||
enum{MaxLength=0x800};
|
||||
BYTE mBuffer[MaxLength];
|
||||
HANDLE mhFileHandle;
|
||||
DWORD mBufferIndex;
|
||||
DWORD mlpBufferPointer;
|
||||
};
|
||||
|
||||
inline
|
||||
FileInfo::FileInfo(void)
|
||||
: mhFileHandle(INVALID_HANDLE_VALUE), mBufferIndex(0), mlpBufferPointer(0)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
FileInfo::~FileInfo()
|
||||
{
|
||||
}
|
||||
|
||||
class FileIO
|
||||
{
|
||||
public:
|
||||
enum Open{CreateNew=CREATE_NEW,CreateAlways=CREATE_ALWAYS,OpenExisting=OPEN_EXISTING,
|
||||
OpenAlways=OPEN_ALWAYS,TruncateExisting=TRUNCATE_EXISTING};
|
||||
enum Share{FileShareRead=FILE_SHARE_READ,FileShareWrite=FILE_SHARE_WRITE,FileShareDelete=FILE_SHARE_DELETE};
|
||||
enum Access{GenericRead=GENERIC_READ,GenericWrite=GENERIC_WRITE,
|
||||
GenericExecute=GENERIC_EXECUTE,GenericAll=GENERIC_ALL};
|
||||
enum Attributes{ReadOnly=FILE_ATTRIBUTE_READONLY,Hidden=FILE_ATTRIBUTE_HIDDEN,
|
||||
System=FILE_ATTRIBUTE_SYSTEM,Directory=FILE_ATTRIBUTE_DIRECTORY,
|
||||
Archive=FILE_ATTRIBUTE_ARCHIVE,Normal=FILE_ATTRIBUTE_NORMAL,
|
||||
Temporary=FILE_ATTRIBUTE_TEMPORARY,Compressed=FILE_ATTRIBUTE_COMPRESSED,
|
||||
Offline=FILE_ATTRIBUTE_OFFLINE};
|
||||
int openFile(char *pPathFileName,Access access,Share share,Open open,Attributes attributes);
|
||||
int closeFile(void);
|
||||
int readFile(BYTE *ptrByte);
|
||||
int readLine(BYTE *strLine);
|
||||
int writeFile(BYTE *strByte);
|
||||
int flushFile(void);
|
||||
BOOL isOkay(void)const;
|
||||
private:
|
||||
FileInfo mFileInfo;
|
||||
};
|
||||
|
||||
inline
|
||||
int FileIO::openFile(char *pPathFileName,Access access,Share share,Open open,Attributes attributes)
|
||||
{
|
||||
closeFile();
|
||||
return !(INVALID_HANDLE_VALUE==(HANDLE)::FileOpen(pPathFileName,&mFileInfo,access,share,open,attributes));
|
||||
}
|
||||
|
||||
inline
|
||||
int FileIO::closeFile(void)
|
||||
{
|
||||
flushFile();
|
||||
return ::FileClose(&mFileInfo);
|
||||
}
|
||||
|
||||
inline
|
||||
int FileIO::readFile(BYTE *ptrByte)
|
||||
{
|
||||
return ::FileRead(&mFileInfo,ptrByte);
|
||||
}
|
||||
|
||||
inline
|
||||
int FileIO::readLine(BYTE *strLine)
|
||||
{
|
||||
return ::FileReadLine(&mFileInfo,strLine);
|
||||
}
|
||||
|
||||
inline
|
||||
int FileIO::writeFile(BYTE *strByte)
|
||||
{
|
||||
return ::FileWriteLine(&mFileInfo,strByte);
|
||||
}
|
||||
|
||||
inline
|
||||
int FileIO::flushFile(void)
|
||||
{
|
||||
return ::FileFlush(&mFileInfo);
|
||||
}
|
||||
|
||||
inline
|
||||
BOOL FileIO::isOkay(void)const
|
||||
{
|
||||
return INVALID_HANDLE_VALUE==mFileInfo.mhFileHandle;
|
||||
}
|
||||
|
||||
int PASCAL WinMain(HINSTANCE /*hInstance*/,HINSTANCE /*hPrevInstance*/,LPSTR lpszCmdLine,int /*nCmdShow*/)
|
||||
{
|
||||
FileIO openFile;
|
||||
BYTE ptrByte;
|
||||
DWORD byteCount;
|
||||
DWORD elapsedTime;
|
||||
String strMessage;
|
||||
char lineString;
|
||||
|
||||
// if(!openFile.openFile(String(lpszCmdLine),
|
||||
// FileIO::Access(int(FileIO::GenericRead)|int(FileIO::GenericWrite)),
|
||||
// FileIO::FileShareRead,
|
||||
// FileIO::OpenExisting,
|
||||
// FileIO::Normal))return FALSE;
|
||||
|
||||
//#if 0
|
||||
if(!openFile.openFile("c:\\smk.lst",
|
||||
FileIO::Access(int(FileIO::GenericRead)|int(FileIO::GenericWrite)),
|
||||
FileIO::FileShareWrite,
|
||||
FileIO::CreateAlways,
|
||||
FileIO::Normal))return FALSE;
|
||||
elapsedTime=::GetTickCount();
|
||||
for(int lineIndex=0;lineIndex<500000;lineIndex++)openFile.writeFile((BYTE*)"hello there");
|
||||
elapsedTime=::GetTickCount()-elapsedTime;
|
||||
elapsedTime/=1000L;
|
||||
::sprintf(strMessage,"%ld bytes read int %ld seconds\n",byteCount,elapsedTime);
|
||||
::MessageBox(::GetFocus(),strMessage,(LPSTR)"FileIO",MB_OK);
|
||||
openFile.closeFile();
|
||||
//#endif
|
||||
|
||||
#if 0
|
||||
FileHandle logFile;
|
||||
logFile.open("c:\\smk.lst",FileHandle::ReadWrite,FileHandle::ShareReadWrite,FileHandle::Overwrite);
|
||||
if(!logFile.isOkay())return FALSE;
|
||||
elapsedTime=::GetTickCount();
|
||||
for(int lineIndex=0;lineIndex<500000;lineIndex++)logFile.writeLine("hello there");
|
||||
logFile.flush();
|
||||
logFile.close();
|
||||
elapsedTime=::GetTickCount()-elapsedTime;
|
||||
elapsedTime/=1000L;
|
||||
::sprintf(strMessage,"%ld bytes read int %ld seconds\n",byteCount,elapsedTime);
|
||||
::MessageBox(::GetFocus(),strMessage,(LPSTR)"FileIO",MB_OK);
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
83
uudecode/MASM/CFILE.ASM
Normal file
83
uudecode/MASM/CFILE.ASM
Normal file
@@ -0,0 +1,83 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: CFILE.ASM DATE: APRIL 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT LAT MODEL
|
||||
; FUNCTION : BUFFERED FILE FUNCTIONS
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
.CODE
|
||||
|
||||
_FileOpen proc near ; int FileOpen(char *pathFileName,FileInfo *pFileInfo,int access,int share,int open,int attributes)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index
|
||||
CREATEFILE [ebp+08h],[ebp+10h],[ebp+14h],[ebp+18h],[ebp+1Ch] ; call create file
|
||||
mov esi,[ebp+0Ch] ; move FileInfo ptr to esi
|
||||
mov [FileInfo ptr [esi]].FileInfo@@mhFileHandle,eax ; store handle
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore previous frame
|
||||
retn ; return near to caller
|
||||
_FileOpen endp
|
||||
|
||||
_FileClose proc near
|
||||
push ebp ; save prior frame
|
||||
mov esp,esp ; create new stack frame
|
||||
push esi ; save source index register
|
||||
mov esi,[ebp+0Ch] ; move FileInfo ptr to esi
|
||||
cmp [FileInfo ptr [esi]].FileInfo@@mhFileHandle,INVALID_HANDLE ; check for valid handle
|
||||
je @@FileCloseEnd ; handle is not valid
|
||||
CLOSEHANDLE [FileInfo ptr [esi]].FileInfo@@mhFileHandle ; close handle
|
||||
mov [FileInfo ptr [esi]].FileInfo@@mhFileHandle,INVALID_HANDLE ; set handle to invalid state
|
||||
@@FileCloseEnd: ; end sync address
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_FileClose endp
|
||||
|
||||
;FCLOSE MACRO sFileInfo
|
||||
; LOCAL @@FCLOSEend
|
||||
; cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
; je @@FCLOSEend
|
||||
; CLOSEHANDLE sFileInfo.FileInfo@@mhFileHandle
|
||||
; mov sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
;@@FCLOSEend:
|
||||
;ENDM
|
||||
|
||||
_FileRead proc near
|
||||
push ebp
|
||||
mov esp,esp
|
||||
pop ebp
|
||||
retn
|
||||
_FileRead endp
|
||||
_FileReadLine proc near
|
||||
push ebp
|
||||
mov esp,esp
|
||||
pop ebp
|
||||
retn
|
||||
_FileReadLine endp
|
||||
|
||||
_FileWrite proc near
|
||||
push ebp
|
||||
mov esp,esp
|
||||
pop ebp
|
||||
retn
|
||||
_FileWrite endp
|
||||
|
||||
_FileFlush proc near
|
||||
push ebp
|
||||
mov esp,esp
|
||||
pop ebp
|
||||
retn
|
||||
_FileFlush endp
|
||||
|
||||
public _FileOpen
|
||||
public _FileClose
|
||||
public _FileRead
|
||||
public _FileReadLine
|
||||
public _FileWrite
|
||||
public _FileFlush
|
||||
END
|
||||
228
uudecode/MASM/DECODE.MAK
Normal file
228
uudecode/MASM/DECODE.MAK
Normal file
@@ -0,0 +1,228 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=decode - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to decode - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "decode - Win32 Release" && "$(CFG)" != "decode - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "decode.mak" CFG="decode - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "decode - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "decode - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "decode - Win32 Debug"
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL :
|
||||
|
||||
CLEAN :
|
||||
-@erase
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/decode.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/decode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/decode.lib"
|
||||
LIB32_OBJS= \
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "..\..\exe\msuudc.lib"
|
||||
|
||||
CLEAN :
|
||||
-@erase "..\..\exe\msuudc.lib"
|
||||
-@erase ".\cfile.obj"
|
||||
-@erase ".\Decode64.obj"
|
||||
-@erase ".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /YX"windows.h" /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /Fp"$(INTDIR)/decode.pch" /YX"windows.h" /Fo"$(INTDIR)/"\
|
||||
/c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/decode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\exe\msuudc.lib"
|
||||
LIB32_FLAGS=/nologo /out:"..\..\exe\msuudc.lib"
|
||||
LIB32_OBJS= \
|
||||
".\cfile.obj" \
|
||||
".\Decode64.obj" \
|
||||
".\Uudecode.obj"
|
||||
|
||||
"..\..\exe\msuudc.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "decode - Win32 Release"
|
||||
# Name "decode - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
233
uudecode/MASM/DECODE64.ASM
Normal file
233
uudecode/MASM/DECODE64.ASM
Normal file
@@ -0,0 +1,233 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DECODE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
lineData DB 400h DUP(0)
|
||||
szDefaultOutputPathFileName DB 'IMAGE.JPG',00h
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szFileNameLiteral DB 'filename=',00h
|
||||
szOutBytes DB 04h DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
szBase64ID DB '/9j/',00h
|
||||
szExtension DB '.JPG',00H
|
||||
szBase64Vector DB 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',00h
|
||||
szBase64End DB '---',00h
|
||||
num DD ?
|
||||
lineLength DD ?
|
||||
itemIndex DD ?
|
||||
itemCount DD ?
|
||||
numIndex DD ?
|
||||
valueItem DD ?
|
||||
.CODE
|
||||
_decodeBase64 proc near ; WORD decodeBase64(const char *szPathFileName,char *szPathDecodeFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov itemCount,0000h ; initialize decoded counter to zero
|
||||
push dword ptr[ebp+8] ; save pathFileName
|
||||
pop szInputPathFileName ; restore into inputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file na null
|
||||
je @@error ; if so then we've got an error
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp inputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; do we have a valid handle ?
|
||||
je @@error ; if the handle is invalid then we've got an error
|
||||
call _outputName ; get output file name
|
||||
STRCPY [ebp+0Ch],offset szOutputPathFileName ; copy szOutputPathFileName to supplied buffer
|
||||
@@search: ; search sync address
|
||||
FGETS inputFile,lineData ; get input line
|
||||
cmp eax,0000h ; did we read anything
|
||||
je @@end ; if not we're done
|
||||
STRSTR lineData,szFileNameLiteral ; look for "filename=" literal
|
||||
cmp eax,0000h ; did we find it
|
||||
jne @@nameFile ; if so then extract the filename
|
||||
STRNCMP szBase64ID,lineData ; compare line to base64 identifier
|
||||
cmp eax,0001h ; if we've got it then we start decoding
|
||||
je @@beginDecode ; jump to decode handler
|
||||
jmp @@search ; keep going
|
||||
@@nameFile: ; nameFile sync address
|
||||
push eax ; save address of filename literal
|
||||
push offset szOutputPathFileName ; save address of filename buffer
|
||||
call _nameFile ; extract the file name
|
||||
add esp,08h ; reset stack frame
|
||||
jmp @@search ; keep going
|
||||
@@beginDecode: ; begin decode sync address
|
||||
FOPEN offset szOutputPathFileName,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
@@continueDecode: ; continue decode sync address
|
||||
STRLEN lineData ; get length of lineData
|
||||
dec eax ; decrement line length
|
||||
mov lineLength,eax ; move line length into lineLength
|
||||
mov itemIndex,0000h ; set itemIndex to zero
|
||||
@@itemLoop: ; itemLoop sync address
|
||||
mov valueItem,0000h ; set valueItem to zero
|
||||
mov esi,offset lineData ; move ptr lineData to esi register
|
||||
add esi,itemIndex ; add itemIndex to address
|
||||
cmp byte ptr[esi+02h],'=' ; is pChar[2] equal to '='?
|
||||
je @@assignOne ; if so then num=1
|
||||
cmp byte ptr[esi+03h],'=' ; else if pChar[3]='='
|
||||
je @@assignTwo ; then num=2
|
||||
mov num,0003h ; otherwise num=3
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignOne: ; assignment sync address
|
||||
mov num,0001h ; assign 1 to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignTwo: ; assignment sync address
|
||||
mov num,0002h ; assign two to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignContinue: ; end assignment sync address
|
||||
mov numIndex,0000h ; set numIndex to zero
|
||||
@@numLoop: ; numIndex loop sync address
|
||||
xor eax,eax ; clear out eax
|
||||
mov edi,numIndex ; move numIndex into destination index
|
||||
mov al,byte ptr[esi+edi] ; get the byte at pChar[numIndex]
|
||||
STRCHR szBase64Vector,eax ; ::strchar(szBase64Vector,pChar[numIndex])
|
||||
cmp eax,0000h ; did we find the token
|
||||
je @@end ; if not then we've got an error
|
||||
mov edi,eax ; move address of found token to edi (pTok)
|
||||
sub edi,offset szBase64Vector ; perform (pTok-szBase64Vector) result to edi
|
||||
mov eax,0003h ; move 3 into eax
|
||||
sub eax,numIndex ; perform (3-numIndex) result to eax
|
||||
mov edx,0006h ; move 6 into edx
|
||||
imul eax,edx ; perform (3-numIndex)*6 result to eax
|
||||
mov cl,al ; move shift value into cl register
|
||||
shl edi,cl ; perform (pTok-smszVec)<<((3-numIndex)*6) result to edi
|
||||
add valueItem,edi ; valueItem+=(pTok-smszVec)<<((3-numIndex)*6)
|
||||
inc numIndex ; increment numIndex
|
||||
mov eax,numIndex ; move numIndex into eax register
|
||||
cmp eax,num ; compare numIndex to num
|
||||
jle @@numLoop ; loop through <= operation
|
||||
mov numIndex,0002h ; set numIndex to 2
|
||||
@@nextNumLoop: ; next numLoop sync address
|
||||
mov esi,offset szOutBytes ; move szOutBytes address into esi
|
||||
mov edi,numIndex ; move numIndex into edi
|
||||
mov eax,valueItem ; move valueItem into eax register
|
||||
and eax,000000FFh ; apply bit mask
|
||||
mov byte ptr[esi+edi],al ; set byte in szOutBytes
|
||||
shr valueItem,08h ; shift valueItem right 8 bytes
|
||||
dec numIndex ; decrement numIndex
|
||||
cmp numIndex,0000h ; compare numIndex to zero
|
||||
jge @@nextNumLoop ; if >=0 keep going
|
||||
mov esi,offset szOutBytes ; move szOutBytes to esi
|
||||
xor edi,edi ; clear edi
|
||||
@@writeLoop: ; writeLoop sync address
|
||||
FWRITE outputFile,byte ptr[esi+edi] ; write out the byte
|
||||
inc edi ; increment edi
|
||||
cmp edi,num ; compare edi to num
|
||||
jl @@writeLoop ; if it's less then keep going
|
||||
add itemIndex,0004h ; increment itemIndex by four
|
||||
mov eax,itemIndex ; move itemIndex to eax
|
||||
cmp eax,lineLength ; compare itemIndex to lineLength
|
||||
jl @@itemLoop ; if it's less that keep going
|
||||
FGETS inputFile,lineData ; get another line
|
||||
cmp eax,0000h ; did we get a line?
|
||||
je @@end ; if not then we're done
|
||||
STRNCMP lineData,szBase64End ; look for trailer signature
|
||||
cmp eax,0001h ; if we found it then another image may follow
|
||||
je @@prepNewImage ; flush and close current output file
|
||||
jmp @@continueDecode ; otherwise keep going
|
||||
@@prepNewImage: ; prepNewImage sync address
|
||||
inc itemCount ; increment decoded counter
|
||||
FFLUSH outputFile ; flush output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
mov outputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; invalidate the handle
|
||||
jmp @@search ; try to decode another image
|
||||
@@end: ; end sync address
|
||||
cmp outputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; is this a valid handle
|
||||
je @@closePrimary ; is handle is invalid, just close the input file
|
||||
FFLUSH outputFile ; flush the output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
@@closePrimary: ; close primary sync address
|
||||
CLOSEHANDLE inputFile.FileInfo@@mhFileHandle ; close input file
|
||||
@@error: ; error sync address
|
||||
mov eax,itemCount ; move decoded count to eax register
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_decodeBase64 endp
|
||||
_nameFile proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov edi,[ebp+8] ; move dest string to destination index register
|
||||
mov esi,[ebp+0Ch] ; move source string to source index register
|
||||
@@NAMEFILEquoteLoop: ; first quote loop control
|
||||
mov al,byte ptr[esi] ; move byte into al
|
||||
cmp al,00h ; is it null?
|
||||
je @@NAMEFILEerror ; if it's null then we've got an error
|
||||
cmp al,'"' ; is it the first quote ?
|
||||
je @@NAMEFILEreadFile ; if so then get the filename
|
||||
inc esi ; increment along esi
|
||||
jmp @@NAMEFILEquoteLoop ; keep going
|
||||
@@NAMEFILEreadFile: ; read file name sync address
|
||||
inc esi ; skip past the first quote
|
||||
mov al,byte ptr[esi] ; read from file name
|
||||
cmp al,'"' ; is the byte the closing quote?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
cmp al,00h ; is the byte a null byte?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
mov byte ptr[edi],al ; store the byte in destination
|
||||
inc edi ; increment along destination
|
||||
jmp @@NAMEFILEreadFile ; keep going
|
||||
@@NAMEFILEreadEnd: ; read end sync address
|
||||
mov byte ptr[edi],00h ; null terminate the string
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@NAMEFILEend ; we're done
|
||||
@@NAMEFILEerror: ; error sync address
|
||||
xor eax,eax ; set error return
|
||||
@@NAMEFILEend: ; end proc sync address
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_nameFile endp
|
||||
_outputName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,szInputPathFileName ; set esi to input name address
|
||||
mov edi,offset szOutputPathFileName ; set edi to output name address
|
||||
xor ecx,ecx ; clear ecx for indexing
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,[esi+ecx] ; get byte from source to al
|
||||
cmp al,00h ; is this a null byte
|
||||
je @@copyDone ; if so then we're done copying
|
||||
mov byte ptr[edi],al ; store the byte into destination
|
||||
inc edi ; increment destination
|
||||
inc ecx ; increment source index
|
||||
jmp @@copyLoop ; loop through the string
|
||||
@@copyDone: ; copy done sync address
|
||||
mov byte ptr[edi],00h ; set null terminator
|
||||
ifdef TASM
|
||||
STRCHR szOutputPathFileName,'.' ; look for extension marker
|
||||
else
|
||||
STRCHR offset szOutputPathFileName,'.' ; look for extension marker
|
||||
endif
|
||||
cmp eax,0000h ; did we find it?
|
||||
je @@nameError ; if not then we set output name to default
|
||||
mov byte ptr[eax],0000h ; otherwise terminate the string
|
||||
STRCAT szOutputPathFileName,szExtension ; cat the string with ".jpg"
|
||||
jmp @@outputDone ; we're done
|
||||
@@nameError: ; nameError sync address
|
||||
STRLEN szDefaultOutputPathFileName ; get the length of the default file name
|
||||
MEMCPY offset szOutputPathFileName,offset szDefaultOutputPathFileName,eax ; set output file name to default
|
||||
@@outputDone: ; outputDone sync address
|
||||
pop edi ; restore destination index
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_outputName endp
|
||||
public _decodeBase64
|
||||
END
|
||||
59
uudecode/MASM/DEVIOCTL.INC
Normal file
59
uudecode/MASM/DEVIOCTL.INC
Normal file
@@ -0,0 +1,59 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DEVIOCTL.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE RELATED CONSTANTS
|
||||
;*************************************************************************************
|
||||
FILE_SHARE_READ equ 00000001h
|
||||
FILE_SHARE_WRITE equ 00000002h
|
||||
FILE_SHARE_DELETE equ 00000004h
|
||||
FILE_ATTRIBUTE_READONLY equ 00000001h
|
||||
FILE_ATTRIBUTE_HIDDEN equ 00000002h
|
||||
FILE_ATTRIBUTE_SYSTEM equ 00000004h
|
||||
FILE_ATTRIBUTE_DIRECTORY equ 00000010h
|
||||
FILE_ATTRIBUTE_ARCHIVE equ 00000020h
|
||||
FILE_ATTRIBUTE_NORMAL equ 00000080h
|
||||
FILE_ATTRIBUTE_TEMPORARY equ 00000100h
|
||||
FILE_ATTRIBUTE_COMPRESSED equ 00000800h
|
||||
FILE_ATTRIBUTE_OFFLINE equ 00001000h
|
||||
CREATE_NEW equ 00000001h
|
||||
CREATE_ALWAYS equ 00000002h
|
||||
OPEN_EXISTING equ 00000003h
|
||||
OPEN_ALWAYS equ 00000004h
|
||||
TRUNCATE_EXISTING equ 00000005h
|
||||
DELETE equ 00010000h
|
||||
READ_CONTROL equ 00020000h
|
||||
WRITE_DAC equ 00040000h
|
||||
WRITE_OWNER equ 00080000h
|
||||
SYNCHRONIZE equ 00100000h
|
||||
STANDARD_RIGHTS_REQUIRED equ 000F0000h
|
||||
STANDARD_RIGHTS_READ equ READ_CONTROL
|
||||
STANDARD_RIGHTS_WRITE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_EXECUTE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_ALL equ 001F0000h
|
||||
SPECIFIC_RIGHTS_ALL equ 0000FFFFh
|
||||
FILE_READ_DATA equ 0001h
|
||||
FILE_LIST_DIRECTORY equ 0001h
|
||||
FILE_WRITE_DATA equ 0002h
|
||||
FILE_ADD_FILE equ 0002h
|
||||
FILE_APPEND_DATA equ 0004h
|
||||
FILE_ADD_SUBDIRECTORY equ 0004h
|
||||
FILE_CREATE_PIPE_INSTANCE equ 0004h
|
||||
FILE_READ_EA equ 0008h
|
||||
FILE_WRITE_EA equ 0010h
|
||||
FILE_EXECUTE equ 0020h
|
||||
FILE_TRAVERSE equ 0020h
|
||||
FILE_DELETE_CHILD equ 0040h
|
||||
FILE_READ_ATTRIBUTES equ 0080h
|
||||
FILE_WRITE_ATTRIBUTES equ 0100h
|
||||
FILE_ALL_ACCESS equ STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or 1FFh
|
||||
FILE_GENERIC_READ equ STANDARD_RIGHTS_READ or FILE_READ_DATA or FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE
|
||||
FILE_GENERIC_WRITE equ STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE
|
||||
FILE_GENERIC_EXECUTE equ STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or FILE_EXECUTE or SYNCHRONIZE
|
||||
GENERIC_READ equ 80000000h
|
||||
GENERIC_WRITE equ 40000000h
|
||||
GENERIC_EXECUTE equ 20000000h
|
||||
GENERIC_ALL equ 10000000h
|
||||
|
||||
|
||||
|
||||
228
uudecode/MASM/Decode.bak
Normal file
228
uudecode/MASM/Decode.bak
Normal file
@@ -0,0 +1,228 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=decode - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to decode - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "decode - Win32 Release" && "$(CFG)" != "decode - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "decode.mak" CFG="decode - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "decode - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "decode - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "decode - Win32 Debug"
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL :
|
||||
|
||||
CLEAN :
|
||||
-@erase
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/decode.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/decode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/decode.lib"
|
||||
LIB32_OBJS= \
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "..\..\exe\msuudc.lib"
|
||||
|
||||
CLEAN :
|
||||
-@erase "..\..\exe\msuudc.lib"
|
||||
-@erase ".\cfile.obj"
|
||||
-@erase ".\Decode64.obj"
|
||||
-@erase ".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /YX"windows.h" /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /Fp"$(INTDIR)/decode.pch" /YX"windows.h" /Fo"$(INTDIR)/"\
|
||||
/c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/decode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\exe\msuudc.lib"
|
||||
LIB32_FLAGS=/nologo /out:"..\..\exe\msuudc.lib"
|
||||
LIB32_OBJS= \
|
||||
".\cfile.obj" \
|
||||
".\Decode64.obj" \
|
||||
".\Uudecode.obj"
|
||||
|
||||
"..\..\exe\msuudc.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "decode - Win32 Release"
|
||||
# Name "decode - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
150
uudecode/MASM/Decode.dsp
Normal file
150
uudecode/MASM/Decode.dsp
Normal file
@@ -0,0 +1,150 @@
|
||||
# Microsoft Developer Studio Project File - Name="decode" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 5.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=decode - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Decode.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Decode.mak" CFG="decode - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "decode - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "decode - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\msvcobj"
|
||||
# PROP Intermediate_Dir ".\msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /YX"windows.h" /FD /c
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\exe\msuudc.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "decode - Win32 Release"
|
||||
# Name "decode - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "decode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "decode - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff $(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
29
uudecode/MASM/Decode.dsw
Normal file
29
uudecode/MASM/Decode.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 5.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "decode"=.\Decode.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
BIN
uudecode/MASM/Decode.mdp
Normal file
BIN
uudecode/MASM/Decode.mdp
Normal file
Binary file not shown.
166
uudecode/MASM/Openfile.inc
Normal file
166
uudecode/MASM/Openfile.inc
Normal file
@@ -0,0 +1,166 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: OPENFILE.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE HANDLING MACROS
|
||||
;*************************************************************************************
|
||||
HANDLE STRUC
|
||||
PHANDLE TYPEDEF FAR PTR HANDLE
|
||||
HANDLE@@mHandle DD ?
|
||||
HANDLE ENDS
|
||||
|
||||
INVALID_HANDLE equ 0FFFFFFFFh
|
||||
|
||||
CREATEFILE MACRO pathFileName,access,share,open,attribute
|
||||
push 0000h ; save handle to template (null)
|
||||
push attribute ; save attributes
|
||||
push open ; save creation flags
|
||||
push 0000h ; save security attributes
|
||||
push share ; save share mode
|
||||
push access ; save acess mode
|
||||
push pathFileName ; save pathFileName
|
||||
call dword ptr __imp__CreateFileA@28 ; call create
|
||||
ENDM
|
||||
|
||||
READFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesRead on stack
|
||||
mov eax,esp ; move bytesRead address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save pointer to bytesRead
|
||||
push sizeBuffer ; save length of buffer
|
||||
push offset szBuffer ; save address of read buffer
|
||||
push hFileHandle ; save file handle
|
||||
call dword ptr __imp__ReadFile@20 ; call read
|
||||
mov eax,[esp] ; move bytesRead value to eax
|
||||
add esp,04h ; remove bytesRead variable from stack
|
||||
ENDM
|
||||
|
||||
WRITEFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesWritten variable on stack
|
||||
mov eax,esp ; move bytesWritten address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save bytesWritten address
|
||||
push sizeBuffer ; save write length
|
||||
push offset szBuffer ; save address of write buffer
|
||||
push hFileHandle ; save file handle
|
||||
call dword ptr __imp__WriteFile@20 ; call write
|
||||
mov eax,[esp] ; move number of bytes written to eax
|
||||
add esp,04h ; remove bytesWritten variable from stack
|
||||
ENDM
|
||||
|
||||
CLOSEHANDLE MACRO handle
|
||||
push handle ; save file handle
|
||||
call dword ptr __imp__CloseHandle@4 ; call close
|
||||
ENDM
|
||||
|
||||
FOPEN MACRO pathFileName,sFileInfo,access,share,open,attribute
|
||||
CREATEFILE pathFileName,access,share,open,attribute
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,eax
|
||||
ENDM
|
||||
|
||||
FCLOSE MACRO sFileInfo
|
||||
LOCAL @@FCLOSEend
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FCLOSEend
|
||||
CLOSEHANDLE sFileInfo.FileInfo@@mhFileHandle
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
@@FCLOSEend:
|
||||
ENDM
|
||||
|
||||
FREAD MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FREADreadError,@@FREADsimpleRead,@@FREADdone
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,00h ; is buffer index zero
|
||||
jne @@FREADsimpleRead ; if not then just grab next byte
|
||||
READFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; otherwise we fill the read buffer
|
||||
cmp eax,0000h ; did we read any data ?
|
||||
je @@FREADreadError ; if not then we're done
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,eax ; move number of bytes read to buffer index
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
jmp @@FREADsimpleRead ; grab next byte
|
||||
@@FREADreadError: ; read error sync address
|
||||
xor eax,eax ; set return code
|
||||
jmp @@FREADdone ; we're done
|
||||
@@FREADsimpleRead: ; simple read sync address
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov al,byte ptr[eax] ; move byte value to al
|
||||
mov byte ptr[ptrByte],al ; move byte value to user buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment along lpBufferPointer
|
||||
dec sFileInfo.FileInfo@@mBufferIndex ; decrement the buffer index
|
||||
mov eax,01h ; set the return code
|
||||
@@FREADdone: ; done reading sync
|
||||
ENDM
|
||||
|
||||
FWRITE MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; other wise
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEsimpleWrite: ; simple write sync address
|
||||
cmp sFileInfo.FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
jne @@FWRITEuseBuffer ; if not then just use it
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEuseBuffer: ; use buffer sync address
|
||||
mov cl,byte ptr[ptrByte] ; move byte to write to cl
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov byte ptr[eax],cl ; move byte into buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
inc sFileInfo.FileInfo@@mBufferIndex ; increment buffer index
|
||||
mov eax,01h ; set return code
|
||||
ENDM
|
||||
|
||||
FFLUSH MACRO sFileInfo
|
||||
LOCAL @@FFLUSHexit
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FFLUSHexit
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,sFileInfo.FileInfo@@mBufferIndex ; write buffer to disk
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FFLUSHexit:
|
||||
ENDM
|
||||
|
||||
FGETS MACRO sFileInfo,szBuffer
|
||||
LOCAL @@FGETScont,@@FGETexit,@@FGETsetError,@@FGETScrlf,@@FGETlf
|
||||
push esi ; save source index register
|
||||
mov esi,offset szBuffer ; move address of buffer into esi
|
||||
@@FGETScont: ; loop control
|
||||
FREAD sFileInfo,esi ; read a byte
|
||||
cmp eax,0000h ; was our read successful?
|
||||
je @@FGETexit ; if not we're done
|
||||
cmp byte ptr[esi],0Dh ; is the byte a carriage return?
|
||||
je @@FGETScrlf ; if yes then jump to handler
|
||||
cmp byte ptr[esi],0Ah ; is the byte a lone linefeed ?
|
||||
je @@FGETlf ; if so then handle it
|
||||
inc esi ; increment along esi
|
||||
jmp @@FGETScont ; keep reading
|
||||
@@FGETlf: ; handle the linefeed
|
||||
jmp @@FGETexit ; we're done here
|
||||
@@FGETScrlf: ; carriage return control
|
||||
mov byte ptr[esi],00h ; move null into line data
|
||||
sub esp,04h ; create temp var on stack
|
||||
mov esi,esp ; esi points to temp var
|
||||
FREAD sFileInfo,esi ; read line-feed into temp var
|
||||
add esp,04h ; restore stack
|
||||
@@FGETexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
FileInfo STRUC
|
||||
MaxLength equ 800h
|
||||
FileInfo@@mhFileHandle HANDLE <INVALID_HANDLE>
|
||||
FileInfo@@mszBuffer DB MaxLength DUP(0)
|
||||
FileInfo@@mBufferIndex DD (0)
|
||||
FileInfo@@mlpBufferPointer DD (0)
|
||||
FileInfo ENDS
|
||||
|
||||
extrn __imp__WriteFile@20:near
|
||||
extrn __imp__CloseHandle@4:near
|
||||
extrn __imp__CreateFileA@28:near
|
||||
extrn __imp__GetLastError@0:near
|
||||
extrn __imp__ReadFile@20:near
|
||||
|
||||
122
uudecode/MASM/STRING.INC
Normal file
122
uudecode/MASM/STRING.INC
Normal file
@@ -0,0 +1,122 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: STRING.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : STRING RELATED MACROS
|
||||
;*************************************************************************************
|
||||
STRSTR MACRO szStringOne,szStringTwo
|
||||
push offset szStringTwo ; save string one
|
||||
push offset szStringOne ; save string two
|
||||
call _strstr ; call standard library strstr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCHR MACRO szString,charByte
|
||||
push charByte ; save charByte
|
||||
push offset szString ; save string
|
||||
call _strchr ; call standard library strchr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCAT MACRO szDstString,szSrcString
|
||||
push offset szSrcString ; save source string
|
||||
push offset szDstString ; save destination string
|
||||
call _strcat ; call standard library strcat
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRLEN MACRO szData
|
||||
push edi ; save destination index register
|
||||
push ecx ; save ecx register
|
||||
mov edi,offset szData ; get string to destination index register
|
||||
mov ecx,0FFFFh ; move 65535 to ecx register
|
||||
xor eax,eax ; clear eax register
|
||||
repnz scasb ; scan string
|
||||
mov eax,0FFFFh ; move 65535 to eax
|
||||
sub eax,ecx ; subtract number of bytes scanned
|
||||
dec eax ; decrement result
|
||||
pop ecx ; restore ecx register
|
||||
pop edi ; restore destination index register
|
||||
ENDM
|
||||
|
||||
MEMCPY MACRO szDstData,szSrcData,lengthCopy
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,szSrcData ; move source data to source index register
|
||||
mov edi,szDstData ; move destination data to destination index register
|
||||
mov ecx,lengthCopy ; move number of bytes to copy to ecx register
|
||||
rep movsb ; copy data
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
STRCPY MACRO szDstData,szSrcData
|
||||
STRLEN szSrcData ; get length of source string to eax
|
||||
MEMCPY szDstData,szSrcData,eax ; copy source into destination
|
||||
push esi ; save source index register
|
||||
mov esi,szDstData ; move destination string into esi
|
||||
mov byte ptr[esi+eax],00h ; null terminate the string
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
STRCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRCMPnotEqual,@@STRCMPequal,@@STRCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save destination index register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare lengths
|
||||
jne @@STRCMPnotEqual ; if lengths differ, strings are not equal
|
||||
@@STRCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string two
|
||||
cmp al,byte ptr[edi] ; compare with byte from string one
|
||||
jne @@STRCMPnotEqual ; if bytes differ then we're done
|
||||
loop @@STRCMPloop ; iterate through string length
|
||||
@@STRCMPequal: ; equality control
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRCMPexit ; we're done
|
||||
@@STRCMPnotEqual: ; inequality control
|
||||
xor eax,eax ; set return code
|
||||
@@STRCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
|
||||
STRNCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRNCMPloop,@@STRNCMPequal,@@STRNCMPnotEqual,@@STRNCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save edi register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare the lengths
|
||||
jle @@STRNCMPloop ; string one is less equal to string two
|
||||
mov ecx,eax ; string two is less, so use it's length
|
||||
@@STRNCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string one
|
||||
cmp al,byte ptr[edi] ; compare with byte from string two
|
||||
jne @@STRNCMPnotEqual ; if byte are unequal, strings are unequal
|
||||
inc edi ; increment along string two
|
||||
inc esi ; increment along string one
|
||||
loop @@STRNCMPloop ; keep going
|
||||
@@STRNCMPequal: ; string equal sync address
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRNCMPexit ; we're done
|
||||
@@STRNCMPnotEqual: ; string unequal sync address
|
||||
xor eax,eax ; set return code
|
||||
@@STRNCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
extrn _strstr:near
|
||||
extrn _strchr:near
|
||||
extrn _strcat:near
|
||||
270
uudecode/MASM/UUENCODE.ASM
Normal file
270
uudecode/MASM/UUENCODE.ASM
Normal file
@@ -0,0 +1,270 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: UUENCODE.ASM DATE: OCTOBER 9,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT LAT MODEL
|
||||
; FUNCTION : UUENCODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
|
||||
DECODEBYTE MACRO index,offset
|
||||
mov al,byte ptr [index+offset] ; get byte at index register + offset
|
||||
sub al,' ' ; subtract space
|
||||
and al,3Fh ; and with 3Fh
|
||||
ENDM
|
||||
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
status DD (0)
|
||||
szInputPathFileName DD ?
|
||||
|
||||
; szBeginLine DB 'begin ',0000h
|
||||
; szEndLine DB 'end',0000h
|
||||
; szLineData DB 400h DUP(0)
|
||||
; numItem DB (0)
|
||||
; charByte DB (0)
|
||||
; szOutputPathFileName DB 0FFh DUP(0)
|
||||
.CODE
|
||||
_uuencode proc near ; void uuencode(char *szInputPathFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new stack frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
push dword ptr[ebp+08h] ; save inputPathFileName
|
||||
pop szInputPathFileName ; restore into szInputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file name null
|
||||
je @@errorExit ; if so then we're done
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE
|
||||
je @@errorExit
|
||||
|
||||
call _getUUEFileName
|
||||
|
||||
|
||||
@@errorExit: ; error exit sync address
|
||||
mov eax,status ; set return code
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous frame
|
||||
retn ; return near to caller
|
||||
_uuencode endp
|
||||
|
||||
|
||||
_getUUEFileName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
mov esi,szInputPathFileName ; move input file name to esi
|
||||
; STRCHR szInputPathFileName,'.'
|
||||
push '.'
|
||||
push szInputPathFileName
|
||||
call _strchr
|
||||
add esp,08h
|
||||
|
||||
|
||||
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_getUUEFileName endp
|
||||
|
||||
|
||||
if 0
|
||||
_getOutputFileName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szLineData ; move input line address into source index
|
||||
mov edi,offset szOutputPathFileName ; move output file name buffer into destination index
|
||||
xor ecx,ecx ; clear ecx register for counting
|
||||
@@munchLoop: ; munch loop sync address
|
||||
mov al,byte ptr[esi] ; get byte from input line
|
||||
inc esi ; increment esi along input line
|
||||
cmp al,' ' ; did we read a space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
inc ecx ; increment space counter
|
||||
cmp ecx,0002h ; is this the second space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,byte ptr[esi] ; get source byte into al register
|
||||
mov byte ptr[edi],al ; copy byte into destination
|
||||
inc esi ; increment along source line
|
||||
inc edi ; increment along destination
|
||||
cmp al,0000h ; compare input byte to zero
|
||||
jne @@copyLoop ; if it's not null then keep going
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_getOutputFileName endp
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if 0
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
push dword ptr[ebp+08h] ; save inputPathFileName
|
||||
pop szInputPathFileName ; restore into szInputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file name null
|
||||
je @@errorExit ; if so then we're done
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE
|
||||
je @@errorExit
|
||||
|
||||
@@munchLoop:
|
||||
FGETS inputFile,szLineData ; read a line
|
||||
cmp eax,0000h ; did the read succeed ?
|
||||
je @@endRead ; if not then we're done
|
||||
STRNCMP szBeginLine,szLineData ; compare line to signature
|
||||
cmp eax,0001h ; did we find the signature
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
call _getOutputFileName ; get output file name
|
||||
FOPEN offset szOutputPathFileName,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE ; was there a problem creating the output file
|
||||
je @@endRead ; if so then we're done
|
||||
@@readLoop: ; read loop sync address
|
||||
mov esi,offset szLineData ; assign input line address to esi
|
||||
FGETS inputFile,szLineData ; read an input line
|
||||
cmp eax,0000h ; check for read error
|
||||
je @@endDecode ; if there was an error, then we're done
|
||||
xor eax,eax ; clear eax register
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov numItem,al ; move the decoded item into numItem
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@endDecode ; if it's less than or equal, we're done
|
||||
inc esi ; increment line pointer
|
||||
@@decodeLoop: ; decode loop sync address
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@readLoop ; if it's less than or equal, get another line
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemFGE3 ; handle (numItem>=3)
|
||||
cmp numItem,0001h ; compare numItem to 1
|
||||
jge @@handleItemGE1 ; handle (numItem>=1)
|
||||
@@GE1Ret: ; return sync address
|
||||
cmp numItem,0002h ; compare numItem to 2
|
||||
jge @@handleItemGE2 ; handle (numItem>=2)
|
||||
@@GE2Ret: ; return sync address
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemGE3 ; handle (numItem>=3)
|
||||
@@GE3Ret: ; return sync address
|
||||
add esi,0004h ; increment line pointer
|
||||
sub numItem,0003h ; subtract 3 from numItem
|
||||
jmp @@decodeLoop ; keep going
|
||||
@@handleItemFGE3: ; return sunc address
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,01h ; decode the byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
jmp @@GE3Ret ; jump back
|
||||
@@handleItemGE1: ; (numItem>=1) sync address
|
||||
DECODEBYTE esi,00h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; mov shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or the result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE1Ret ; return
|
||||
@@handleItemGE2: ; (numItem>=2) sync address
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE2Ret ; return
|
||||
@@handleItemGE3: ; (numItem>=3) sync address
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE3Ret ; return
|
||||
@@endDecode: ; end decode sync address
|
||||
FGETS inputFile,szLineData ; get final line from input file s/b 'end'
|
||||
STRNCMP szLineData,szEndLine ; compare last line to endLine
|
||||
cmp eax,0000h ; check return
|
||||
je @@setError ; if it's not equal to 'end' we've got an error
|
||||
mov status,0001h ; set success
|
||||
jmp @@endRead ; skip over next instruction(s)
|
||||
@@setError: ; setError sync address
|
||||
mov status,0000h ; set failure
|
||||
@@endRead: ; end read sync address
|
||||
FCLOSE inputFile ; close input file
|
||||
FFLUSH outputFile ; flush output file
|
||||
FCLOSE outputFile ; close output file
|
||||
@@errorExit: ; error exit sync address
|
||||
mov eax,status ; set return code
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_uudecode endp
|
||||
_getOutputFileName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szLineData ; move input line address into source index
|
||||
mov edi,offset szOutputPathFileName ; move output file name buffer into destination index
|
||||
xor ecx,ecx ; clear ecx register for counting
|
||||
@@munchLoop: ; munch loop sync address
|
||||
mov al,byte ptr[esi] ; get byte from input line
|
||||
inc esi ; increment esi along input line
|
||||
cmp al,' ' ; did we read a space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
inc ecx ; increment space counter
|
||||
cmp ecx,0002h ; is this the second space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,byte ptr[esi] ; get source byte into al register
|
||||
mov byte ptr[edi],al ; copy byte into destination
|
||||
inc esi ; increment along source line
|
||||
inc edi ; increment along destination
|
||||
cmp al,0000h ; compare input byte to zero
|
||||
jne @@copyLoop ; if it's not null then keep going
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_getOutputFileName endp
|
||||
public _uudecode
|
||||
endif
|
||||
public _uuencode
|
||||
END
|
||||
190
uudecode/MASM/Uudecode.asm
Normal file
190
uudecode/MASM/Uudecode.asm
Normal file
@@ -0,0 +1,190 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DECODE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT LAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
|
||||
DECODEBYTE MACRO index,offset
|
||||
mov al,byte ptr [index+offset] ; get byte at index register + offset
|
||||
sub al,' ' ; subtract space
|
||||
and al,3Fh ; and with 3Fh
|
||||
ENDM
|
||||
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
szBeginLine DB 'begin ',0000h
|
||||
szEndLine DB 'end',0000h
|
||||
szLineData DB 400h DUP(0)
|
||||
numItem DB (0)
|
||||
charByte DB (0)
|
||||
status DD (0)
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
.CODE
|
||||
_uudecode proc near ; void uudecode(char *szInputPathFileName,char *szPathDecodedFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
push dword ptr[ebp+08h] ; save inputPathFileName
|
||||
pop szInputPathFileName ; restore into szInputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file name null
|
||||
je @@errorExit ; if so then we're done
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE
|
||||
je @@errorExit
|
||||
@@munchLoop:
|
||||
FGETS inputFile,szLineData ; read a line
|
||||
cmp eax,0000h ; did the read succeed ?
|
||||
je @@endRead ; if not then we're done
|
||||
STRNCMP szBeginLine,szLineData ; compare line to signature
|
||||
cmp eax,0001h ; did we find the signature
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
call _getOutputFileName ; get output file name
|
||||
STRCPY [ebp+0Ch],offset szOutputPathFileName ; copy szOutputPathFileName to supplied buffer
|
||||
FOPEN offset szOutputPathFileName,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE ; was there a problem creating the output file
|
||||
je @@endRead ; if so then we're done
|
||||
@@readLoop: ; read loop sync address
|
||||
mov esi,offset szLineData ; assign input line address to esi
|
||||
FGETS inputFile,szLineData ; read an input line
|
||||
cmp eax,0000h ; check for read error
|
||||
je @@endDecode ; if there was an error, then we're done
|
||||
xor eax,eax ; clear eax register
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov numItem,al ; move the decoded item into numItem
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@endDecode ; if it's less than or equal, we're done
|
||||
inc esi ; increment line pointer
|
||||
@@decodeLoop: ; decode loop sync address
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@readLoop ; if it's less than or equal, get another line
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemFGE3 ; handle (numItem>=3)
|
||||
cmp numItem,0001h ; compare numItem to 1
|
||||
jge @@handleItemGE1 ; handle (numItem>=1)
|
||||
@@GE1Ret: ; return sync address
|
||||
cmp numItem,0002h ; compare numItem to 2
|
||||
jge @@handleItemGE2 ; handle (numItem>=2)
|
||||
@@GE2Ret: ; return sync address
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemGE3 ; handle (numItem>=3)
|
||||
@@GE3Ret: ; return sync address
|
||||
add esi,0004h ; increment line pointer
|
||||
sub numItem,0003h ; subtract 3 from numItem
|
||||
jmp @@decodeLoop ; keep going
|
||||
@@handleItemFGE3: ; return sunc address
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,01h ; decode the byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
jmp @@GE3Ret ; jump back
|
||||
@@handleItemGE1: ; (numItem>=1) sync address
|
||||
DECODEBYTE esi,00h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; mov shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or the result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE1Ret ; return
|
||||
@@handleItemGE2: ; (numItem>=2) sync address
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE2Ret ; return
|
||||
@@handleItemGE3: ; (numItem>=3) sync address
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE3Ret ; return
|
||||
@@endDecode: ; end decode sync address
|
||||
FGETS inputFile,szLineData ; get final line from input file s/b 'end'
|
||||
STRNCMP szLineData,szEndLine ; compare last line to endLine
|
||||
cmp eax,0000h ; check return
|
||||
je @@setError ; if it's not equal to 'end' we've got an error
|
||||
mov status,0001h ; set success
|
||||
jmp @@endRead ; skip over next instruction(s)
|
||||
@@setError: ; setError sync address
|
||||
mov status,0000h ; set failure
|
||||
@@endRead: ; end read sync address
|
||||
FCLOSE inputFile ; close input file
|
||||
FFLUSH outputFile ; flush output file
|
||||
FCLOSE outputFile ; close output file
|
||||
@@errorExit: ; error exit sync address
|
||||
mov eax,status ; set return code
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_uudecode endp
|
||||
_getOutputFileName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szLineData ; move input line address into source index
|
||||
mov edi,offset szOutputPathFileName ; move output file name buffer into destination index
|
||||
xor ecx,ecx ; clear ecx register for counting
|
||||
@@munchLoop: ; munch loop sync address
|
||||
mov al,byte ptr[esi] ; get byte from input line
|
||||
inc esi ; increment esi along input line
|
||||
cmp al,' ' ; did we read a space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
inc ecx ; increment space counter
|
||||
cmp ecx,0002h ; is this the second space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,byte ptr[esi] ; get source byte into al register
|
||||
mov byte ptr[edi],al ; copy byte into destination
|
||||
inc esi ; increment along source line
|
||||
inc edi ; increment along destination
|
||||
cmp al,0000h ; compare input byte to zero
|
||||
jne @@copyLoop ; if it's not null then keep going
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_getOutputFileName endp
|
||||
public _uudecode
|
||||
END
|
||||
779
uudecode/N54.NEW
Normal file
779
uudecode/N54.NEW
Normal file
@@ -0,0 +1,779 @@
|
||||
Path: news01.li.net!nntp3.cerf.net!nntp2.cerf.net!news.idt.net!newshub.northeast.verio.net!news.new-york.net!uunet!ffx.uu.net!in3.uu.net!news.uunet.ca!news.netsurf.net!east1.newsfeed.sprint-canada.net!HME1-2.newsfeed.sprint.ca!newscontent-02.sprint.ca.POSTED!yahoo.com
|
||||
From: shakubu@yahoo.com
|
||||
Newsgroups: alt.binaries.multimedia.erotica.lesbians,alt.binaries.multimedia.erotica.tickling,alt.binaries.nospam.multimedia.erotica,alt.binaries.nospam.pictures.celebrities,alt.binaries.nospam.teenfem.nonude,alt.binaries.nude,alt.binaries.nude.celebrites,alt.binaries.nude.celebrities,alt.binaries.nude.celebrities.female,alt.binaries.nude.celebrity,alt.binaries.nude.celebrity.female,alt.binaries.nudecelebrities,alt.binaries.nudism.celebrities,alt.binaries.photos.nude-art,alt.binaries.picitures.erotica.amateur
|
||||
Subject: POSH Spice Nude jpg attached
|
||||
Message-ID: <13059911.1552@yahoo.com>
|
||||
Organization: NCCentral
|
||||
Reply-To: oga@kissalive.com
|
||||
Lines: 764
|
||||
Date: Thursday, 13 May 1999 11:15:52 -0600
|
||||
NNTP-Posting-Host: 209.148.197.129
|
||||
X-Complaints-To: abuse@sprint.ca
|
||||
X-Trace: newscontent-02.sprint.ca 926615632 209.148.197.129 (Thu, 13 May 1999 13:13:52 EDT)
|
||||
NNTP-Posting-Date: Thu, 13 May 1999 13:13:52 EDT
|
||||
Xref: news01.li.net alt.binaries.multimedia.erotica.lesbians:243637 alt.binaries.multimedia.erotica.tickling:282321 alt.binaries.nospam.multimedia.erotica:158413 alt.binaries.nospam.teenfem.nonude:93698 alt.binaries.nude:118499 alt.binaries.nude.celebrities:1172996 alt.binaries.nude.celebrities.female:866893 alt.binaries.photos.nude-art:90212
|
||||
|
||||
Hey, check out the pic below, and the rest of Nude Celebrity Central!
|
||||
at http://ncc.websx.com
|
||||
|
||||
At NCC ( http://ncc.websx.com ) we now have over 100 celebrities in our easy to navigate archive.. click the celebrities name and up will come a bunch of thumbnail pics of her, and they're still ALL FREE! no bullshit like all those other sites that claim to be "free" but require a credit card to get in.
|
||||
|
||||
A few of the celebrities we have are Alicia Silverstone, Liv Tyler, Reese Witherspoon (she's the one in the new movie cruel intentions) Christina Applegate, Christina Ricci, Jennifer Aniston, Ashley Judd, Joey Lauren Adams, Drew Barrymore, Cameron Diaz, AQUA singer Lene Nystorm, ALL the spice girls except sporty.. could find her, Sandra Bullock, Alanis Morrisette, Denise Richards, Claudia Schiffer, Celine Dion, Kate Winslet, Amy Jo Johnston (the PINK power ranger) and tonnes more... you must be 18 or over to enter
|
||||
|
||||
http://ncc.websx.com ALL CELEBRITIES! ALL FREE!
|
||||
picture below of Victoria Adams-Posh spice (NOTE: pics are better quality on website, i have lowered the file sizes on these for posting purposes)
|
||||
|
||||
|
||||
|
||||
begin 644 posh.jpg
|
||||
M_]C_X 02D9)1@ ! @$ E@"6 #_[0X:4&AO=&]S:&]P(#,N, X0DE- ^T
|
||||
M ! E@ $ 0"6 0 !.$))300- $ >#A"24T#\P
|
||||
M " .$))300* ! X0DE-)Q H 0
|
||||
M ".$))30/U !( "]F9@ ! &QF9@ & ! "]F9@ ! *&9F@ &
|
||||
M ! #( ! %H & ! #4 ! "T & !.$))
|
||||
M30/X !P #_____________________________ ^@ ________
|
||||
M_____________________P/H /____________________________\#
|
||||
MZ #_____________________________ ^@ #A"24T$" $
|
||||
M $ ) "0 X0DE-!!0 0 ".$))300, R*
|
||||
M 0 #D !P K 2T QN !@ ?_8_^ $$I&248 0(! $@ 2
|
||||
M__X )D9I;&4@=W)I='1E;B!B>2!!9&]B92!0:&]T;W-H;W"H(#4N,/_N Y!
|
||||
M9&]B90!D@ '_VP"$ P(" @)" P)"0P1"PH+$14/# P/%1@3$Q43$Q@1
|
||||
M# P,# P,$0P,# P,# P,# P,# P,# P,# P,# P,# P,# P!#0L+#0X-$ X.
|
||||
M$!0.#@X4% X.#@X4$0P,# P,$1$,# P,# P1# P,# P,# P,# P,# P,# P,
|
||||
M# P,# P,# P,#/_ !$( ' .0,!(@ "$0$#$0'_W0 $ 3_Q $_ !!0$!
|
||||
M 0$! 0 # $"! 4&!P@)"@L! $% 0$! 0$! $ @,$
|
||||
M!08'" D*"Q 00! P($ @4'!@@% PPS 0 "$0,$(1(Q!4%181,B<8$R!A21
|
||||
MH;%"(R054L%B,S1R@M%#!R624_#A\6-S-1:BLH,F1)-49$7"HW0V%])5XF7R
|
||||
MLX3#TW7C\T8GE*2%M)7$U.3TI;7%U>7U5F9VAI:FML;6YO8W1U=G=X>7I[?'
|
||||
MU^?W$0 " @$"! 0#! 4&!P<&!34! (1 R$Q$@1!46%Q(A,%,H&1%*&Q0B/!
|
||||
M4M'P,R1BX7*"DD-3%6-S-/$E!A:BLH,')C7"TD235*,79$55-G1EXO*SA,/3
|
||||
M=>/S1I2DA;25Q-3D]*6UQ=7E]59F=H:6IK;&UN;V)S='5V=WAY>GM\?_V@ ,
|
||||
M P$ A$#$0 _ ,G[4Z@6_:&VBNV0S:YS)+#MWV:[GO9_-W?^E$$Y%3ZV /DU
|
||||
MAK6^J(/M)<'?HCM?]+_"?I%'JM&37GV5$/>UA/IDP[VR3_@RZMOTOHU_055]
|
||||
M;0T.W:GD1$%01C&O-?$:6M82\[B92-3FMW3H.1W'?<[^2E7+MT-)</!:#:V^
|
||||
MA2YS9+F@/<?S6ZN[?NIVG4TEIX[7>H&L$OG0<2#X?G*Q;>X AQ+Q[6.<UVA#
|
||||
M1)9K.YNQ2=M>7PPN>Z2VQP ;S]+U7Q])SU&ZEQK;Z8/K.@/CAS@?<[=K_P!<
|
||||
MWHF/4@W2"TWPUY#8 F0)D?P3^J_Q_!,*W!\$[N>VO]H"5+8?/_-*5=5/_]!C
|
||||
M:TY#ZKCMM+!9561_@SN/H,]M;?5H_/J5:SIV'G:L/N @N9V_K?FJZ*G;@YSP
|
||||
M14(]&QVTML'MR7#:U[[/\_9_(K5G%<TLW-86[M3I.G]DN5 3K^QLX2)XP-^'
|
||||
M1YW-Z:.F]/?>YY=:7-8QX!!;).[V_NNK:K]#*6UX_J6LIJ/I-L<XRW;M/Z;9
|
||||
M#?\ "-_T=K_\)8MEGIW6-J,%CHG<)&AGAWYR+E]$Z<=]EN#C.9;[WO ?62Z.
|
||||
M376[;ZFOYK43/B'[49,1) %!Y2O92XL#WEH<Z'O;O=M]SVY#V-;]%NWU/5=_
|
||||
MWQZ8--U;[*S !APU%F[3W6?3_0V/=[%U+:.E9+S+75BPR]U9 <Z(]ENYKG.K
|
||||
MW,^@J/4OJQ=37;E=+R'65EA+JV#;:8CVM92/3N_/]OIUI\<TP>(&CH.[%*&0
|
||||
M//-8XOLJ.Y]IT#&#=NUASF(?JM_T#?N=_P"26SAN&3C/_:!JQ:;ZQZ< TG4;
|
||||
M6EC[6_G.K98@_L[-_P!+;_VU3_Y)'W)<5UKY^#'QZO\ _]%[&7VM!N)EHBK<
|
||||
M[<=A]S73M8[:_P#-99^E8Q5K=^WTA8[TYD-!($JTW"ZIB8P'4:;*K)VL=:X.
|
||||
M+B!N^DTN]K?H^_\ 2(+',V SSIQ.O[JH6;(WUZ-W%$>W&NS:P!8Z+'O)?606
|
||||
MQS(_.<M5F43;-KG./\I9-;FM8(! CP5S%8;X+2#\-4@"R2 IAF5MKR!:WZ%
|
||||
MG('B/_)(V)EOK,U.\XGP6D.DNMH=M(WQ[?B.%@V/?C4G8 =D.L+CN@%WT&U>
|
||||
MSWO_ '_4_P"VDI1U'BPG)$#76C7VMS(Z>W-LMS,-PISWAIVO<[TBYA]MC6#]
|
||||
M'OV_SGL_2?\ !_GQ]/J7_<5W^8[_ ,FJ^%U'$R;/2KNK&4UH>ZIC][8(WM=7
|
||||
M:0SU/8/4V_X-BU/M.3YIU2['^Q9P8KX[']K_ /_2U,RC'KZ032YKO>VZLML]
|
||||
M1KFG]%994XOW_I?IO9Z?YG^D6(RVMEE;'D,:2722NCZR:']*N?C/J::HM<T5
|
||||
MM!=7:6ESV&&.9ZWJUW^NS_O[USW3\(=6<:J_;=4-WO)#2T&3+H=_65&,KN1/
|
||||
MGQ?-'PDW\5#'U&MZ_P"-Z?ZB;,S*0YE33JX$GX!5L;J1Q+2TGTP[Z+G?1^!=
|
||||
M^8I4='ZA?U3(H :VV@^F\V2UH@^UHT<YWJ?SGT4;(^JG67"6MJM _-98)_S;
|
||||
M16G"BNL#J-72Z=]8<N6LL+1[M"':.GAH"AU>A_V_%ZA7L%;=XNKM#G,+C[6N
|
||||
M8VHBSUOTGYG^#]54>E=$R<7)#\BAU'IZ@.; <X\;'?1]JW<C .14P6 D,)>P
|
||||
M#0N.US=@_P Y-G*@?TJ[=O)9.,#I5 [TTJ/JPVVEK@_'K<2VRJMV.-K"!L]2
|
||||
MKT,ACFMR*]GVFISW^I_P:T?V/E?Z=G_;9_\ 2Z!T+J?VC$K8>6--;+B-'/
|
||||
MKV2/\SZ2U_L^5_H[/O\ _,EG>[SG'5#AXJ^7T?W.+][_ %?\ZL]J/'L-N*KT
|
||||
MX'__T][-#K\/+Q2+:[&4/:YI:2QYJ)L+=76>_P"E9N9]-8'U>S+:'Y-;+!4X
|
||||
M5FRIY/M#VC\__@[&^RQ;F5T_#SK'6-==CY+ZQ58UT$,VF:K!ML&RUC?T6YO^
|
||||
M#V>HJ^/T#"Z=?]I=DFTZ@AX8*S.D.:?_ ":S85PB0O77R;PX>#@X>"Q\M\1^
|
||||
MDF%.93D]9=D8MH-5E-3=S7%PWM;ML;N<&[]C_9O6AF9>17L=OF=-I[PL\/8[
|
||||
MZPY'IUMJK 8 RH0R0ULD ?O*UU)O\V3H&[I,B?S?S9W._LHD@ T5$:Q![==4
|
||||
M]/47V#:X1Y%6:V5;C;4T5VN@>H.1'&W=.U9-):T[IW><J]5D "6^Z.83;$M)
|
||||
M $=BME$C9!?C.Z;BV&@EC3D?:#'&ZR19MW3L:]^W]&JG[5ZS_IF?YA_\DM;(
|
||||
M/VS#MI $O:0QQ,#?]*K=8[V-;ZC6;EA_\W_K%_W6_P"WJTWVI^X)<?ZH;1_K
|
||||
M2]<H<7^TC[J+C54./]FS_]2;\BUN;DO>XUE]CG&! !_JMA5LZVRW;4ZPO8?T
|
||||
MD>?T0K75&!N9>!J'0X:1RUI5;'QG9;W8Q8#9>T55'3<'$AK/3<[VL>J)%Y)#
|
||||
M^M*OM=$2 QQE_5BG^KX<,JSD " /@5?ZE]6LKKM]#CD#&QZ X>H1O?O<?=Z5
|
||||
M<L^BUK?ST/HF!?C6W"QKV^GM:"[61M;8T[A+?=6]CULOMOJ98QH(=57%@.FU
|
||||
M[WEGN,[4[%#U&^C#FF11B=2RZ;TGH_1<0M8'9+V#W9.20]_]AL>G4W_BV*OE
|
||||
M=<8S&N>QKWFEQ#JZR&1KM;W:UC'[7_\ 6T&R^Q[/>-HY+3,Z .<YS?I;&M]V
|
||||
MY9F=CN9877M:<;)!/O=M!#/T3@YNCMS7N=]/Z:', \/HL<)$]-.*I?)_6X_[
|
||||
MWZ# 9$<9N]'6JZA>X!_ID5,YK8(U!VNVURW]'_:]56OVI5Y?<5D8W7^D8SR
|
||||
MW[34#MVN:22"/[(VJ7[:Z-_W(K_Z?_D5#]RC0/N9.(0,*XI</J]7%_C138NN
|
||||
M$5=W3__5YJCZ[975.H5UY3<3 KL&U^06VN:P-!.YS/6W.W?11\#K6:,MMU65
|
||||
MTL/QCZP<77?X-SW.=6RWTO4V>CZGI;_TOZ)<0K73NG/ZA:^IEU-!8T/G(L%;
|
||||
M3+ZZMK'N]N]OJ^K_ ,578F>W"[K7=?[LZX;TJGNJ_KWU7"HOQ,?(Z5:P/(W
|
||||
M91+Q<Y[7NKG^<:W?O>UWO]Z%G_7/J^;92ZS.Z9CV$N;Z]'K$MV56[&W,LEOH
|
||||
M6[_1?[+?I^^JQ8.!@Y?2KZI;TZZRWT[J+<BP. $GTCH]C&-LV_X53<[(;<39
|
||||
MC=)L]"@M:QUC=D>LYT5O;D-]7(8ZWT_YQ_ZI^E]_\\G"(&RTR)=1OUDS\U_4
|
||||
MJ/VA@8-;;@:*+18YKRZ[[3->26>I^K6M]7U+&?I?]'Z3U1MZP_/R*K;\S"9;
|
||||
MD![[;-EH#'%IO95>XG?[;#]G_1M?71_@O4^@AYV-=<RUE='1F?:16 ['N:'5
|
||||
M;G4$^GZN1N9L?9Z5]EOJ,]/[1_@:_4KQLKI5V+C#)?=CV,+PS;5<RQ\D.<'>
|
||||
MG6YS]GL^E_Y-*@KB/=OYW5+L=U</Q<C>V9H-A#0"1M?ZGI^YWTE6_;V3_HJ_
|
||||
M^E_Y)9B27"%<1?_9.$))300& ' 0 0 ! 0#_X@Q824-#7U!23T9)
|
||||
M3$4 0$ Q(3&EN;P(0 !M;G1R4D="(%A96B 'S@ " D !@ Q !A8W-P
|
||||
M35-&5 !)14,@<U)'0@ ]M8 0 #3+4A0("
|
||||
M
|
||||
M !%C<')T !4 #-D97-C !A &QW='!T !\ !1B:W!T "
|
||||
M! !1R6%E: "& !1G6%E: "+ !1B6%E: "0 !1D;6YD
|
||||
M "5 '!D;61D "Q (AV=65D #3 (9V:65W #U "1L
|
||||
M=6UI #^ !1M96%S $# "1T96-H $, QR5%)# $/
|
||||
M" QG5%)# $/ " QB5%)# $/ " QT97AT $-O<'ER:6=H=" H
|
||||
M8RD@,3DY."!(97=L971T+5!A8VMA<F0@0V]M<&%N>0 9&5S8P 2
|
||||
M<U)'0B!)14,V,3DV-BTR+C$ !)S4D="($E%0S8Q.38V+3(N
|
||||
M,0
|
||||
M 6%E:( /-1 $ !%LQ865H@
|
||||
M %A96B !OH@ ./4 .06%E:( &*9 "WA0 &-I865H@
|
||||
M )* ^$ "VSV1E<V, %DE%0R!H='1P.B\O=W=W+FEE
|
||||
M8RYC: %DE%0R!H='1P.B\O=W=W+FEE8RYC:
|
||||
M !D97-C
|
||||
M "Y)14,@-C$Y-C8M,BXQ($1E9F%U;'0@4D="(&-O;&]U<B!S<&%C92 M
|
||||
M('-21T( "Y)14,@-C$Y-C8M,BXQ($1E9F%U;'0@4D="(&-O
|
||||
M;&]U<B!S<&%C92 M('-21T( 9&5S8P
|
||||
M L4F5F97)E;F-E(%9I97=I;F<@0V]N9&ET:6]N(&EN($E%0S8Q.38V
|
||||
M+3(N,0 +%)E9F5R96YC92!6:65W:6YG($-O;F1I=&EO;B!I
|
||||
M;B!)14,V,3DV-BTR+C$ '9I97<
|
||||
M !.D_@ 47RX $,\4 /MS $$PL UR> 5A96B $P)5@!0
|
||||
M 5Q_G;65A<P ! H\ "<VEG
|
||||
M( !#4E0@8W5R=@ 0 !0 * \ % 9 !X (P H "T ,@ W
|
||||
M #L 0 !% $H 3P!4 %D 7@!C &@ ;0!R '< ? "! (8 BP"0 )4 F@"? *0
|
||||
MJ0"N +( MP"\ ,$ Q@#+ - U0#; . Y0#K / ]@#[ 0$!!P$- 1,!&0$?
|
||||
M 24!*P$R 3@!/@%% 4P!4@%9 6 !9P%N 74!? &# 8L!D@&: :$!J0&Q ;D!
|
||||
MP0') =$!V0'A >D!\@'Z @,"# (4 AT")@(O C@"00)+ E0"70)G G$">@*$
|
||||
M HX"F *B JP"M@+! LL"U0+@ NL"]0, PL#%@,A RT#. -# T\#6@-F W(#
|
||||
M?@.* Y8#H@.N [H#QP/3 ^ #[ /Y! 8$$P0@!"T$.P1(!%4$8P1Q!'X$C 2:
|
||||
M!*@$M@3$!-,$X03P!/X%#04<!2L%.@5)!5@%9P5W!88%E@6F!;4%Q075!>4%
|
||||
M]@8&!A8&)P8W!D@&609J!GL&C :=!J\&P ;1!N,&]0<'!QD'*P<]!T\'80=T
|
||||
M!X8'F0>L![\'T@?E!_@("P@?"#((1@A:"&X(@@B6"*H(O@C2".<(^PD0"24)
|
||||
M.@E/"60)>0F/":0)N@G/">4)^PH1"B<*/0I4"FH*@0J8"JX*Q0K<"O,+"PLB
|
||||
M"SD+40MI"X +F NP"\@+X0OY#!(,*@Q##%P,=0R.#*<,P S9#/,-#0TF#4 -
|
||||
M6@UT#8X-J0W##=X-^ X3#BX.20YD#G\.FPZV#M(.[@\)#R4/00]>#WH/E@^S
|
||||
M#\\/[! )$"800Q!A$'X0FQ"Y$-<0]1$3$3$13Q%M$8P1JA')$>@2!Q(F$D42
|
||||
M9!*$$J,2PQ+C$P,3(Q-#$V,3@Q.D$\43Y10&%"<4211J%(L4K13.%/ 5$A4T
|
||||
M%585>!6;%;T5X!8#%B86219L%H\6LA;6%OH7'1=!%V47B1>N%](7]Q@;&$ 8
|
||||
M91B*&*\8U1CZ&2 911EK&9$9MQG=&@0:*AI1&G<:GAK%&NP;%!L[&V,;BANR
|
||||
M&]H< APJ'%(<>QRC',P<]1T>'4<=<!V9'<,=[!X6'D >:AZ4'KX>Z1\3'SX?
|
||||
M:1^4'[\?ZB 5($$@;""8(,0@\"$<(4@A=2&A(<XA^R(G(E4B@B*O(MTC"B,X
|
||||
M(V8CE"/"(_ D'R1-)'PDJR3:)0DE."5H)9<EQR7W)B<F5R:')K<FZ"<8)TDG
|
||||
M>B>K)]PH#2@_*'$HHBC4*08I."EK*9TIT"H"*C4J:"J;*L\K BLV*VDKG2O1
|
||||
M+ 4L.2QN+*(LURT,+4$M=BVK+>$N%BY,+H(NMR[N+R0O6B^1+\<O_C U,&PP
|
||||
MI##;,1(Q2C&",;HQ\C(J,F,RFS+4,PTS1C-_,[@S\30K-&4TGC38-1,U336'
|
||||
M-<(U_38W-G(VKC;I-R0W8#><-]<X%#A0.(PXR#D%.4(Y?SF\.?DZ-CIT.K(Z
|
||||
M[SLM.VL[JCOH/"<\93RD/.,](CUA/:$]X#X@/F ^H#[@/R$_83^B/^) (T!D
|
||||
M0*9 YT$I06I!K$'N0C!"<D*U0O=#.D-]0\!$ T1'1(I$SD42155%FD7>1B)&
|
||||
M9T:K1O!'-4=[1\!(!4A+2)%(UTD=26-)J4GP2C=*?4K$2PQ+4TN:2^),*DQR
|
||||
M3+I- DU*39--W$XE3FY.MT\ 3TE/DT_=4"=0<5"[40914%&;4>92,5)\4L=3
|
||||
M$U-?4ZI3]E1"5(]4VU4H5755PE8/5EQ6J5;W5T17DE?@6"]8?5C+61I9:5FX
|
||||
M6@=:5EJF6O5;15N56^5<-5R&7-9=)UUX7<E>&EYL7KU?#U]A7[-@!6!78*I@
|
||||
M_&%/8:)A]6))8IQB\&-#8Y=CZV1 9)1DZ64]99)EYV8]9I)FZ&<]9Y-GZ6@_
|
||||
M:)9H[&E#:9II\6I(:I]J]VM/:Z=K_VQ7;*]M"&U@;;EN$FYK;L1O'F]X;]%P
|
||||
M*W"&<.!Q.G&5<?!R2W*F<P%S77.X=!1T<'3,=2AUA77A=CYVFW;X=U9WLW@1
|
||||
M>&YXS'DJ>8EYYWI&>J5[!'MC>\)\(7R!?.%]07VA?@%^8G["?R-_A'_E@$>
|
||||
MJ($*@6N!S8(P@I*"](-7@[J$'82 A..%1X6KA@Z&<H;7ASN'GX@$B&F(SHDS
|
||||
MB9F)_HIDBLJ+,(N6B_R,8XS*C3&-F(W_CF:.SH\VCYZ0!I!ND-:1/Y&HDA&2
|
||||
M>I+CDTV3MI0@E(J4])5?E<F6-):?EPJ7=9?@F$R8N)DDF9"9_)IHFM6;0INO
|
||||
MG!R<B9SWG62=TIY GJZ?'9^+G_J@::#8H4>AMJ(FHI:C!J-VH^:D5J3'I3BE
|
||||
MJ:8:IHNF_:=NI^"H4JC$J3>IJ:H<JH^K JMUJ^FL7*S0K42MN*XMKJ&O%J^+
|
||||
ML "P=;#JL6"QUK)+LL*S.+.NM"6TG+43M8JV ;9YMO"W:+?@N%FXT;E*N<*Z
|
||||
M.[JUNRZ[I[PAO)N]%;V/O@J^A+[_OWJ_]<!PP.S!9\'CPE_"V\-8P]3$4<3.
|
||||
MQ4O%R,9&QL/'0<>_R#W(O,DZR;G*.,JWRS;+MLPUS+7--<VUSC;.ML\WS[C0
|
||||
M.="ZT3S1OM(_TL'31-/&U$G4R]5.U='65=;8UUS7X-ADV.C9;-GQVG;:^]N
|
||||
MW 7<BMT0W9;>'-ZBWRG?K^ VX+WA1.',XE/BV^-CX^OD<^3\Y83F#>:6YQ_G
|
||||
MJ>@RZ+SI1NG0ZEOJY>MPZ_OLANT1[9SN*.ZT[T#OS/!8\.7Q<O'_\HSS&?.G
|
||||
M]#3TPO50]=[V;?;[]XKX&?BH^3CYQ_I7^N?[=_P'_)C]*?VZ_DO^W/]M____
|
||||
M_@ F1FEL92!W<FET=&5N(&)Y($%D;V)E(%!H;W1O<VAO<*@@-2XP_^X #D%D
|
||||
M;V)E &0 ?_; (0 !@0$! 4$!@4%!@D&!08)"P@&!@@+# H*"PH*#! ,
|
||||
M# P,# P0# P,# P,# P,# P,# P,# P,# P,# P,# P,# $'!P<-# T8$! 8
|
||||
M% X.#A04#@X.#A01# P,# P1$0P,# P,#!$,# P,# P,# P,# P,# P,# P,
|
||||
M# P,# P,# P,_\ $0@!A #' P$1 (1 0,1 ?_= 0 &?_$ +< (" P$!
|
||||
M 0% P8 @<!" $ @,! 0$ (! P0%!@<0
|
||||
M (! @0$ @<$!P8$! 0' $" Q$$ "$2!3%!$P91(F%Q@3)"% >14B,5H;'!
|
||||
M8G(S%M'A@J)#%_#QDB2R4V,TPM(U".)S@T1D)B<1 (" 00! @0#!0@" P$
|
||||
M !$0(#(3$2!$%1(F$R$P5Q0E*!8G*"%/"1DJ*RPB,5TC.AL08D_]H # ,!
|
||||
M (1 Q$ /P"N+)=[I;T:8&X5B6$CCS DY+J\QT^&.,H3>FA62]O[S=;7(TC*
|
||||
MLRO2.-I)"J#Q\OO,3BO-CY? L:31/O6][ET'ANK0P6+T;H1A5$F=:AU!<9X;
|
||||
M"N/RO<5)%?W'<9'GZ%RDD4!TM#%,S2,E%R*LU&H?NXTTJGJAH']^VV76S1?)
|
||||
M3]7<^FE;9558RJFA% 0:C_-@5%#;8*11/'?75B5T1Q4.DVY6CAA\8KYEKPU8
|
||||
M6K5&,F#VEI<PJZW%0A4 *0#0C/+EB+M.('!I;BJMH!0D9@BE:^KABRM6MQH%
|
||||
MES<L6 -1R.7ASQ<D20$ F@J<Z'V8:"#&92,ZDCC@0&XT#.A#'Q\,0P/=7IX<
|
||||
M1ADB3 &9J#+$$0>*C:R.-,\0P)D!K0+0C*M:8@@/LV@A>.>%F>Y%=<;H JFH
|
||||
MTE6KYOLPEE.XK&-M>74,T,T1TW0;5H=:BK5J:'PQ2]=Q0G?+B^DN!)>#_NQ3
|
||||
MIQJOX3I0GQTU]&+-7N%=-C6'<]OM2TMU;RRET AA6BKE7WF-.'HPJQI[^ %5
|
||||
M[+\^](X%BC4DUI^)2G,_%BWE RT%+Q,A>I(8>ZV5#3T'#C'NM2N9.LTIX >G
|
||||
MGB4@,!.KCG7E_?B&B0A2JQL-0#MEHH>'KPK1!__0I'<;7@G62X?5H 2-J %?
|
||||
M$9 >PXYN#(KU(HC;;(H[F/5$X25,U=ZC45XT^'5[<5WY)P1;0MDF^[?>['"F
|
||||
MXIKO+65%<* &D4'RU-2,5TQ:PM":T$-]$VZ;G(;F5$@A "H:9*."UY8WO'I"
|
||||
MT+ZXT>CM^)HW-K<A92I*JO,-\-?##5Q^H<00[CN=NK)/*5EB5H<UJ=+94J:G
|
||||
M_P"+"?22>V@W!"II+[H"(NSJ3FO(<^)Q/TUOY '=F#%0Q!- 1P].>(9,$!!>
|
||||
ME?+0YTIA@1JT9.0H.-!X^O#$&"%:#5FPX4\?;B&X%DW:WFS#<>=1EB&R41K&
|
||||
MP H"4X%O[,2F2C;SKGD,Z4PQ+-FCET.XH-+ &F?$?W8B16$6QL-)%R)%<+6(
|
||||
MQTH6_>KGB$M=2#:T8F55":CJJ <AEGD*XKO4AAL]X;AW-U;_ (E?(%KQ/ <>
|
||||
M Q6ZM;/05? F9F"*$4I32=!=FS!YZN'^'$TK.A)+<;I92H!>+H5 %C*4-?\
|
||||
MBM3A[875_ CB#[9N5M%<27%U(0T%!;A10D\,B010<<\3"DGB W<T;N9-74>2
|
||||
MI9J**%C6E/VX;4E 3L"%51I"\#7,XD8\_$!SS!Y\\$$&!Y":\!G4>-.&) __
|
||||
MT:+</&UT9KA6EF4+Y#ED!D6 'IQS5'&%H)+@UDLMQVZ1)[I2L%T2T2J:Z=0Y
|
||||
MJ/1AFU=2O VCT\@AN9$+G463@C<R >6+J42U+JU@C:_8KI'N\-()_3BP:3:"
|
||||
M]F1P2[!0>1S^W$2,AI-NMK<@!8AJ10 YX>D^NN!C2#RWEJWE#G1&!11P'H\<
|
||||
M0WH0Q49M4I9ADU,L00>21L:4'HRQ(&CJR$$"C5R KB&R":-6R+!02:!B13$6
|
||||
M(#+0(9 )9!I8Z=8]X?MQ5;74$1[E"D/2"N9)!GK04\M>&'IL"!"8PE7'G)KK
|
||||
M%>>? XME0#-KAB'I""58 L "> Y_;A*LA'L<O38YAJ\B,SZ<\7+0: Y;5ZI*
|
||||
MM<SR/ 9XF^%NLHAU&EM9VT+EYAHJ3I9\@:#+CZ3C##;@K%=[=/+?55JF<J0
|
||||
MY\M*Y:2/=Q:M-7X&2/-TLI;"7I2N)NJ WD(9<\J@XT2FO4$Y @8%)ZZM(J\$
|
||||
MU<?LQ0B22YBL78SVB-''6IB8U"TRRKQQ*(_$$>E?+4>O(TPQ*-J@H:'5PRS/
|
||||
M' @//-32:8))/__22-<[:=_W'\[#[=+!_P"UM OE91Y=&D\Z>;'*S8N55Q]H
|
||||
MFL::BON/>;6]N4BC),$8U%673)&!\->%",6]?&ZUU+*4*Y/)U7R-5!.D5S Y
|
||||
M>C&DM2@TTHH_8/UX$P,,E !PX98DE&HE>M 0 .9\,*2F8LAYGB3G@8&S#S @
|
||||
MT)SKB))/?-IH#F>/@*\\1($A(IFW$>'#+/QQ)#-X:HZCD"#3B/7@G2" _<K*
|
||||
MXE2.Z _#*@DA=/Z *8O5*\4T3!K:#\,H1J!S.9 -</55:V)4 \6WI=W2QI(L
|
||||
M"%PI,E645R)_5C-:L;(AN [<]M2SF%FTJ2LH6ABSRI346I[N*'5IRRI6\@$^
|
||||
MWSI*T#(7<@Z%IJIX'4,:L=FUM);663VJWZ1Z61J)F>&H>K&A*T0R=8#KF[%U
|
||||
M9)<SS-)=,QC>.H]U0*&G(G%.*T2GL5)0*HVN4F'44'[K, :4X4P:O1C-$T\/
|
||||
M5?JSN(@M$X44>(7EBE>V4D*W!%2,2HTC!]#:B@YKSS]6(K5 @5Y%5VT+2,UT
|
||||
MI6M/:,-&HT$$A9O <L 08HRRIZ37VX ):95%/'/A@ __].H;G:[C:;E*-RB
|
||||
MUQQ&L$A+.2/#4WF-#]_S8P8G6SW_ (B:-,K5Q.9+B20Y-(Q))Y8TLL1H)$\*
|
||||
MGQQ Q(LIU5Y<M0!RP C'A8BK*M!2NDYU]1Q 21]-J5"$ \L^. $>'S +Z\L*
|
||||
MQCT#.M.'IK7$ 2QI^)I()9N"^GEB )7A*>61=)'VCT8: D\01@>4$T.8IE7!
|
||||
M!$EAV\3/ ]O(,G4>45J,LA[<;>E[DZC8X\GCV5I:.CA<\C[U:^PXNOBK34=U
|
||||
M2-YQ;W4P2VB&E*ZJ EG?B"?1ECE9.PYCU*K6Y;(A>*U$D=PX;KGRF,&A%,C7
|
||||
MD1BEMM05HRR-Q\W(- D% .I6F8&?_3C;7/;'24M!DVEH>RO&I<]0,Z@F72-(
|
||||
M_3C1A['.O)Z,:KT%27$3W$8F0&/B "1J!SJQ&,E[1JA4QQN=M:26\<ELA@9@
|
||||
M-(\S+X$ BO#%S[%+4GR1(GW%0(W'R[I6A1VX'P/MQ0VIT(0K=9D4E*T8T-#4
|
||||
M<,SB43)#U&5S7/T\,,2;ZS(OHR'HSSPL 30J34M[HI4X )*PZN)"<O2.> @_
|
||||
M_]15WY?;;?L$M'GD9*_A@'I <,R0#7'-Z^FPE$UN<[92*FI/K]>-9H-0Q %.
|
||||
M?,X"0FU>(25= Z#D<OU8ADIC$66WS*"',4AS#5J,LZ9X5MHLA \T<*$!921S
|
||||
MX9Y^O!)#2 I-(.533A7/$BD1F<,<A2F7.F()1/;RS(VH5)K7+(^&!$,DGG=J
|
||||
M KY_B/B/## R./69!F0#P->> A,N<$DDMO;=*=5E:)44$@$NHTE6)IBJ:UIR
|
||||
M]W,1Z/06;J-+!G)+!NG+&00H(-:<<QXXFN2]]+,:EV$;<;5TJ0BSQU_$C)52
|
||||
M!EJ!_=Q5DM:K@261W];&1BT!DCE"LO4J:ALZI2@IZ<;,&#E179*JO)JF^6T5
|
||||
MLZBV4%\V)%,_"HSIB^N-*L-Z?I'3]2*XOJI!<Q)I9&*Y :--/=/VXJMB^G5M
|
||||
M?*P@'MMNNGF65H:H:Z2Q"BK'*E3XXR\N3TU%+!9;U=;?8O;6]Q+ )24$&A=7
|
||||
MI8$$Z17TXA.U&Y*KUD3W*S3;7<&2>42!]>EZL"%X>A>.(K>62E#$T44;2"XF
|
||||
MMV>T#4=%8K4<E!S.+%8>3>Y2VDDU6T,@C(/X9;53T5.?#%TIO0FL^040N?,@
|
||||
M(3.F6?VX6=8)DFME+5<YE*4%>&6'I4"0"(YAZ"N8KQ&)X(#_U6F\2_F3/80V
|
||||
M$-M!<>=F+:U\HSS4ZL_^G' MV,>-3509Z[R<YW?MHP7#11C5H<KD,L="F=.J
|
||||
M9U*XG9)D:=KD1%G(#<:CQIB?K(M768-/LK1@!0<N!(IB:Y1'B(JF- )%!4BI
|
||||
M*Y'PXUQ/*61Q@$D*!F(!]9PVQ6T#U.K@*\O3@(/-+5%/7G@9!+!5)%+-E7,4
|
||||
MJ*8$2AK:6-M,.I,Y4\4C4 D@?>/+$SZDP0FR$<IU'1IKY3^P#$/8B"QNFUW0
|
||||
M1OED $6C0*J>IPU$\*9:L9*7:</8HG4R>Q%_:VUU;*-25$O4J0:&I<*3X>6N
|
||||
M)61)N"4VF#217B6UO;H?P6CJ4 (K'JS-.5<:,&#ZCUT9*4@/1N)PTT[.EO"M
|
||||
M*&A;T*.' <\=:F)<87RHL6TL]O>WF-K!>6PD^6E;0';2RZJ9CDP^S$/ GM(S
|
||||
M2F">Y>/;HEMXB9WR>0%3I' "H(Q7FS4573_$3>RV1/=S2W%L+A(%CD JP/E$
|
||||
M@J 56G%J\L<KJMUOIL4*9,51)<&#IY!*N#0T/ACO0FX:-,)N 2XVXRSLBR*A
|
||||
MTTH#E3GSQBR=5NT5@I=#>.QLK41Q-"6G!U-(6IER J/3C%EK>FEE!4TY%EZ
|
||||
M);:5DA(D*N6#YT .0%,74LQZL@$,KLH---=6@^RM,"<:L8WM(HUE93J6H/*@
|
||||
M\*U.+<;J_()GOY>A /63)B"=513AA_IJ-T+R/__68;E?6&V77R"2P]846.>=
|
||||
MB)J5]U*>7_J&.'?"JIMKD456@ITQS7$DU0Y9C2F8.?CPQ+\0>@ZZ]B)#!5<U
|
||||
MI095X8*MME[20-/9!FR'^+%R<E%EY%U]LZR0.$ K7*O+QPZ94ZRBKW&SW* L
|
||||
MJTK4E:<ABU74%%L;%SQRJ<U(Y9^&&3*X:,5&,E!4CF#@9 59V<]W<B&(9DY'
|
||||
MD*^K"6NJEN/$[,8W@FV.2*FB;K E2:TJ,F!](P8K\U(V;']-P"V=R]UN$19$
|
||||
M*R,-0IE0>W$Y7"DH;T+AN4CPZI-MLHXX3%'#JC(9E7FS YU=OB.,&-<DIW,G
|
||||
MDE6?<Y+$.O2!BS<*@ZH0UU-X:*^7$Z58S:V I!;[7LS33JIOIR4@:I#*IS%3
|
||||
M6E/1B_&V[2V,D5JWNTN;\R;A*1*NE4=5JI(X IPQT,%JK=Z(OJX0RN!J,$^I
|
||||
M2R-2:ARR.61\<;;VFG-/0FS&RPV&X7 #QF+5'4J*GW?,H9SY<UQYZ]K2F_)4
|
||||
MG!!->RWSS6ULHC6HT%C4T7@%'#5EEC1CR1=./W?X07J#6UI:W5*V\ZS9J\JD
|
||||
M@&@]/O8[E%6VGDOK#([UFL8S')'JC/\ +E%0P/IJ,/=\%MH)?31B^WWLF0E8
|
||||
MRQ 4$9>O%*S\O!"T--PFD!BE$719CF.(+'G2F*<M4FFEQ(,CNJW,;A-%1[H
|
||||
MH-1!KSQDSNK<^$+N'7%PD"RZ@)$(#:2U:FOF H#P)RKC.[)M-$ R;9)\M\TT
|
||||
M+1VA5G1F--2"N8]&&>36"/@?_]<3N'<+6>=VCVJ:ZOUE!D>54#4!J6115AJQ
|
||||
MR56L-VMJU\OR%54_4GV]TOB]Q$C1JQSB8:2AX$$<L47<0D=SKQP08;:0FJC3
|
||||
MS!XC!69-4(B>%D-21G4D\/U8OJRA_$T:WD<\*BHKG7#>1/P!I+&)Z$@U&7HQ
|
||||
M$>24+[_MR">(Z5J1F&X4/#$5O ML<B2'M>87"HS9 YGT'EBQY)*_HPQ[#MQL
|
||||
M)XX88&25EU*5H2?8<9W6=6:J1&@H^H459;%#Y9#&7<5I0DBN0]6-763XZF;N
|
||||
MO5?@*NWZPW\$I%8T8,R>(!S%?$X;.IK!C2.A2;KM/S:-:J8VNXPJ6T9U+*&-
|
||||
M#J)(HRM_TXP.B59F#/EB8 MRVR[465Q=*(5>?HQ62TKH%15F)\U=.2T]W%DS
|
||||
M1M;5\B)I.!KL&TM/--87-H.@RF,AD(!SJ!3@&SKJ][&%WM*AZDVM\2J[QVOV
|
||||
M_'+<P0WZI-9B03VY&L@KF"K4\RZ2,="F3*KJMEH64MI)HU];7B2LENRO+ HM
|
||||
MVRR:$ %" !Q QL[U]:P_:A[I,DVTJRM!;(+FZF72EN=6I2.?+,#'/MHT_!7J
|
||||
M:+MX1^F\I^>)SCR62.A.>DDYK34N)>5U<M#RD:;W:[K/<1(EP)Y[9=#-&YU:
|
||||
MCF*4QIIV793M^DCGJ"6$MZZF*:,SI(P#F6H9>1(U>G&['VVG%O=4=9#W=I$C
|
||||
M4Q+320 0!0J0:',#&KL]BO"*^0;U 9BUN6K)J (9U + $#DS#TXIP-)3+(JP
|
||||
MJ.PCNI8I8%!2>+S$FI.D@L:#W2,9.S=3*0/<GNW4R,J $&-0&:HRH0QU4^&O
|
||||
M/&3';06 :\)CAMXFA5+>0T22K$./=S]7JQ8G)$ZG_] K9WEL-MD?>(TAME7.
|
||||
M>,.THXCQ-9/NX\[BRJV25[M?SE+3>Q1[+N<[?OTLL>L[:'*'K$F;03D7K34P
|
||||
M]6.AEQI_*;,&5U<%YBW&TOHI4@E"R(.(S(KF"!C(Y3.O6R@1F6*WN ;RZ=@7
|
||||
M(%?(M?#RXMLK"R@T]P;<LXMK(":<YG220HX9G@,'"P<ZS""K=Y9> ]?HIGAD
|
||||
M) 8D3Z3KH*\!PSKA&M2358524GIZ@.8PNVX0$Q]'YHS:%#!0I<\0H\,-"'K_
|
||||
M /!ROO:YFN.Y)ZDK$BTA%*>514?IQMHU&AASR[:DG8MVXW1H3 +CJQFD6D.?
|
||||
M+F0 W,C%/:3B4S.]B[W6WK)L0O5L$MODYE>U1'575 :L'49@GF<4TK*:MY1C
|
||||
M=M=R+N9MLW/:#?BXT7+.DJ",EI$T^70:%0,R3JQDZ][5?%ZEC30VV3Z@&VV=
|
||||
M+>XLI;Z]TG2K.A+I6BEB_'P."M$FW8AUUE%!WTI/?WM_M5I);0&0%[=Q31J
|
||||
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
|
||||
MU&E-09*YZE8:<<?'BWE%"KJ@FW@=T1BH#-F: >).6*'?63T=4E5(]GMV8$Z
|
||||
M3GQYX>K3!@ZVY H5H >/H\<-6K>XK-)8Z+4<LB,,] K('TVU!JD9Y#A^G%9,
|
||||
M&KA72HXG+$#U-X%8N0H.61] !]>%:18.-LAGN9"I%%'O-F13^TX.006 Q6G2
|
||||
M"%?**>4"@PK6@+0)BZ*1@1\!AXT$-U>-,SGGYJBM,1R80%6\R-0KRKGB6]17
|
||||
M4/$J$ DFOW1BU24L$N@6J!736@.)0)E6W2 1WC,5IJH5]->.(OZC(CMV X>
|
||||
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
|
||||
M,K'<]9TN=(ID?2,)),%CL9QH&K,^E=D/+5U !I0"E?3B:[F>PUMY"U"33
|
||||
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
|
||||
MQ:VF@MY;9IR8R5;YAT>@)X+I5<"O1IJJXLVXNB\!4F;4 "!7@6 Q*9:]S6-
|
||||
M"%8BH8 ^7ABV@EA3!>B&X- 6//3A]"I0/;3>%<*%R<>4K3$;#K4._,2M"QJ*
|
||||
M\CE0XAC0A!W)NQCCTH_F9J+XUK3$I2+DM"(+24B)$#4( # #F<(WX"-"<'4@
|
||||
M!)(-!XFM.=,,F+ !<PH 2<S3WN1!Y'$H)%L5W=V4I>+^7GJ3E3 ZR"OQ'=GO
|
||||
MMC<>42=.6@JC<<5NK1?7(F&-!&[ZT;02 ,Z\<5\H+> 5;1NK5=Q3F3G@GT&=
|
||||
M4-8]WM8M$$3:YG8 1K3B?'%M;-*3+>J+79JHIGYJ?I]F(MJ96QA :5;PR&*W
|
||||
MZ$615I]KBVZ^O-PN[D3VSR%[;;@E*.174[G/G[BXI[>15K'YK&:N!6OL+(.X
|
||||
M+HW5W=W#))(\9BB&9Z6JFG*GEKA^G552?Y:S_C.K1UM547MXWYW_ 'N)=>V=
|
||||
MEL8+5)G'5N)0"Q< A2>2KPQYCN]_)R=:^U?YA>UV;7?I4L2W4,4@AT%:^Y4>
|
||||
M4_PXY],=LB;KJ8'=)ZA2O4#VUQGECGM*YGE[N'61KR0T?__7NY^GNZV>[V^Y
|
||||
M[5?0026Y!H(S5_O L&/E/ACA8LN6J:M6S-5[TMN/^Y=BO)Y5O+.,RM, +F*(
|
||||
M ^8#WZ'QPV?%*Y);G5^V]VJ7&[^7Y;%*[EVS<;2PZMU;20QEPH9QD32N*,>-
|
||||
MIMPSI9NSCR5BK5F4V2:/7F13ERQ=*1C)(*.&0#S%30>O%M7X%ML5^WMK?1<?
|
||||
M,2F&3C'EJKZ*XL\Z[%2KH>[="PN 2Q:IS)PMF-5,;3S-'4UU'E_9EB)+DBM[
|
||||
ME(MYN,$6KRJ=3^L<,/72IGRZW2'%LH<*$'EIG^SEQQ4W):D$%%5%*FK#@#EE
|
||||
MB4R >2B\1PXZN8/JPU7# 5W=6)%:*:T/B3BQ,1@#VJUJ::L\\ B1)!\S"X"R
|
||||
MR!1Q )X>C"62+.36S&ENUPV32LP'Q&N7IXX50-R;+%V[:"6]C(I^&-9-.8X8
|
||||
M2Q%M#H%J2J 5!P<O#,[0;"S'C2O+GBM@RL=[2.ABS\LM<^&8Y5QSNSC]_(MQ
|
||||
MN$RO-+.>VF</IB>:2@"!7U( =>>H4;'15>&)?%FK[=%K7?I4OW9M\9MEM).
|
||||
MIKD9 KM6H)6JUQY+[GB5<MD8[IK0M;HCHO4HY!!]O_(XYE,CIJF4M2>%!$P
|
||||
MR7X1X5Q?2JR)M*+HJ;XN/!O+-T40$:C(P0 >GG[,51([<'__T.O,D=2"JMGY
|
||||
MB0#0X\)S:<#HU5$CD=7:MM.I2Y5*JPK4*RT^)#C=T.ZZ7BSY*P3QU1R3N*'N
|
||||
M+;-\N]NW*ZDNK>/2]LSL2K*Q)5A_AQZ#MPH:^5G7ZM^7X"=IEZFDCS<0?#P\
|
||||
M,\8*FQAEL"&4G, \,^/@<3R@B-"/<=F?698AJBEHQ7P/,9^G%A6M""*U6!2Q
|
||||
M;S*,CQ Q#9<D@+=+OIQ5(KG0^D^H8A*61:T(2V,<HE>252&D.?@%Y8LM;P4T
|
||||
MIK+'$$E,B0/5A(+$B628L.(J:>7F?;B((8/,Y8589<]7HPR$D$E0&0L.&=*G
|
||||
MT?IQ<A60]((!G0GF>9PK1)-'&IX!J5.1\<2PE!D,#"C%:T]TUSH,1Q!,NO:=
|
||||
MB8[1IY%/5F/D'/2/[\50F_P(L_!9H$(' 'PSPK7H5L)C8D>[E4TX80AB[NG;
|
||||
M3>[4P05FA/4B'$Y<?;3%&6LH:C%F];3#+V;:6X;ILA!1UI4:LVX>..-U?N=W
|
||||
MF:LIH68DZ-\7'(E[7NA!M\4<I >,D-04S)\/;A.^UER.Q7Q<:ELG[AL[-HHI
|
||||
MM;,U-16A"@\"<8J?:,F2KNM$/CZ]KUE>!T[I)$QX@CCC'CFES)=: IDU2J2:
|
||||
MB.(L#Z6RQ/%)M>MRN9_94__1ZW=[C863AYH?^WD77#=+*=#*<QDP]['FNSU,
|
||||
M-6G%_P#$;NIU?K5</5!\*VTZ"1*E95#QT>-JCU54XR-87K-Z_P"$6W6AQ/\
|
||||
M]E*^K2(MAMX,+!T+@32*H#* "%# FM,=FEU;#&KB#3TL;JVIDY'?2!&J*@#C
|
||||
M3[<)4WV>IEEN,JR&LA.?EKZN>):(5B]]LZ+I1#<*'5^.=?L.&=X4B9&TM!W+
|
||||
M]/H!<EC=Q",YQJW4)SX5HHQ3_6X)U=9_M\#"^Y9*"B]Z;+)MFY?+2%)$"AX7
|
||||
M1652".5<_$8T/-6^M7H:L5U:LE?M+9[J=+:VC9IFR4#+/G_#BIV1=5%[VCZ9
|
||||
MM/&IO+P1N_%(EU>DU8X67;T07R),<?[36'!;^57 K5HT/ZB,.J6]2K^I7H"2
|
||||
M?2:X92(=PB:O#J1N*_83@29+S4?J S_2#?0 89K:8UK0%E_6,.I] ^I037W8
|
||||
MG<MB"9+!G"C-X:.N7#W:TQ/,:M4]FF*C:="54E4QMF=+ K^O"\T.Z,9;/MPO
|
||||
M;M8E-(_>E>AR4'T\\3SD2(1?84C2,1QC2J !0 .' #"JR6B*FF&015 )RRX8
|
||||
MB1'N$);T/Z<N&6$LO 23I$P% "0<5@]1!WO/%M^T0NRMT%F +*M0I8<Z<,<;
|
||||
M_K7]5WKLT"R\=RC2[_T(X19RCIROKD-*D*G$"OKQLZ_43M[T:,2612A]%N#W
|
||||
MEM'<R#4[JO3.?NKPK7&[DE[5LCK]?"EC21T&TW2%]K@G:E942B+R)R-*>G'D
|
||||
M7UK6SQ52TV>=[*XR@EGB643 !K=UT,X^%AXCTX2_5S)JMJVK?E[=/F*)2<_
|
||||
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
|
||||
M79;T5G2=*V5:5?NK;_:<)W&$1NZT KP'ABN4;V B1=0)XCGRPPA?>P]P,=R
|
||||
M+=LDF'#/WAPPEO4JS*4.>^(YX5BOK)P+ZS998ER#4!&H"O'QP43U6R_W'!3?
|
||||
MU6HGD6BTOYMS[3N-U6-HTN;:0SPL"I64(0Y4'X&]X8R]CKNV2N2JE-_\G_D:
|
||||
M^OI>'ZG'[($7 89$-E]N-!V*E]V.,-#7GS P8Y\E68?0PJN9%2,^//CBYHRN
|
||||
MQDY+KII5>5>."SA!417MG*68H=('(>'LQ4MR]6!H[F2$T8@D>GEA6P:D*CW$
|
||||
MFE*9'B3G7!(EJC&*]<\&'\-*X96@K=0A9=>;>&7[<-)#05"^D9'TBF7[<"M\
|
||||
M2(#$EIR_YX%!$F^H$Y#U8-!6126PE%& ->>)T'K:!=<;<RG6@J.:X5T+:W-M
|
||||
MOU)(#I"N<R<OU<\<'[EDOUO^?&O='"W_ )$WHKJ&57<E>'=I8U49.Q!RJ=69
|
||||
M!QEQ_<\M\*4Z_FL6UP5W$XB:??EE04Z2L["N60K]IQ;A["QXVGO=</\ $7-:
|
||||
M'__5Z#W9LLEA>=6VC+6DQZB4!(1Z9KEP'ACS?;Q0^2VL>N^V]I9*^Y^^OM_B
|
||||
MJ5UV<? PIST$$XYTJ3KIKU+;V]>-N6V2;1* 9D4R6>LYFF10^NN.CU;5O5T?
|
||||
MYCA]_']+(LJ_G..[O')'>3Q,"K([*RGBN? XN>-U</<2SG422E@<Z"AX\JCT
|
||||
M'#;B,L?;EWHGBE7)E()/(4IB&A;+0O._]S&SN2((K6*41JWS+P=:8Z@#4%CI
|
||||
MR]6&5N*455[/]08>ECM3G>]J_NU*Q#]1-T+W<!N9KV.]B:VF6X8)0M6C1HM-
|
||||
M.G_-B^F:ZUO_ )?D*\O4PZ/#X^;]X562^;,9CP\<9&BPN>P2!4HI-3B$M1,B
|
||||
M++$00IIBVLF6Q+(HH0?TG"VAD(K>Z7JBZ:%#P/F]9'#%-G!HK720$QNV?&N=
|
||||
M,22>I%+04&1Q ,+@DI4$&GCA4V+9#*W=B!ED.'LQ-;%5D%QRE>=">7@3B;$0
|
||||
M%PR5(SS/$X%J0T%(<J</#V?HP\H2 F+S<,JC,5PU;$,W:W)][(G#$I@$UOT)
|
||||
M$DH,CF>6?'&3MX%DQNC\HM5M"G]V1M;[ZSK2A57!KE7T8\CU*)4=)Y<;<3=1
|
||||
MS5"6V(6[:352J2'+(>Z3C7>GMCXU&9__UNK?-[F89K)+EX9)U/RMR&)*2CW0
|
||||
M2?@<^4UQY;[1]QM:W#*_X1J65;)[HY;9_4?ZG#N#\BFE07FMHRLL:E@4X\=(
|
||||
M_P V.SVJK'7D]?V'1HZ-PU5+^8=[QW?]4=IMVNWM[>Y2 :I9!%&K*/$"M?LQ
|
||||
MDP9L>2T.L/\ MS5IQ]K5OX;6*)N.\2;M*^YR)IFNB9)-- -=:-04\<-G7NU
|
||||
M+L3FHHE]XU!HN>9K_P #%:'0VV"0B2( &H/+A2N))>QT:;L_;NX!$9FO#,T:
|
||||
M%HH40+D* B1SGP\,0\B5E^I_N\C/F[%JXU6*V4_J [[Z0[596,VXK\]%+91M
|
||||
M,HFZ5'*U/F*<L::6=O:U;_ 9,?8=K).L?M*EMLOXN:BAXXQRX.D7791$JJ E
|
||||
M:^@XBI5<L*'.NDCT^C%S>AG9(S$IF#0\?3BMR]Q=BH;B4&Z7#!<Z_LQ7D:DV
|
||||
MU^5&L<P% 0<LB1^W DA62K,IIY308C5$1Y)$DJ0*$5X$^.$2" ^V)IFF61&)
|
||||
M6XED'QD,<P>!KZ\-+96$(YT@4('V8EV00%HX.="3]E:>-,2G C"8V\PI6F>?
|
||||
M/#+<AA,<A(H%J*9YYXL29&QK+$CA:FF=:$8+)/<E,IO?MLB_*W*DA]+(]: &
|
||||
MA^WUXX/<PTKD]J:Y^[]TU]9O5>"I')D .1!%/\)'+&>N.4_@7MP?_]?L$FWJ
|
||||
MP++<0@'W=6M:>TC'@J=&'RIDQS/MU+[8+[05_N_LI]TO[3?MKGCCW>UHMQ-%
|
||||
M(J9C))*MEJ^$X]6LM[XTEQM:IKZGT8=,_)?I(]TVGZFB/7;W)-%"D2+;R9T
|
||||
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
|
||||
ME=/]1>C###&!$!&%4 * *<!C55):&&[; ;FZ2&-F8G4#DM:DGT4Q5GS*BC\
|
||||
M]OE1761;U.J0]P2H)ITU8@GT&G[,<?-RQW:4Y71>_7^W#_4/6T[D=RB>:2)(
|
||||
MXW045R.&.13[A@M?EG3C\N/&6WQWB*BN".5Y#(TVNK'1)R('''I>W]SKCP<L
|
||||
M=?IU.=7KV=XMJPF3>(%4K%I?IY23N=,8;PKGJ_PX\+E^X9+W5DWSD[%,"588
|
||||
M!)O%DR,[3QQ1T +".714GAJ QZ3[?\ <?N&)3DQVRU,.7!ANX3AD=EN.QS3
|
||||
M)9L'NV"U>:!V9!_$%TLOM&$[?_Z#O<'=KZ..S_F+L?0QKQR_B'\*[:MLX@5/
|
||||
MEBIZI'O:*9U-=6/)9?NG9R95>UVW2RM7^4VK!5*$C__3D[IEK/#4C)30\:G&
|
||||
M?[MLCI_:=F*[8Y@\0>/LYXXV-HZS0V@D$B%&.=<Z4X^W F(T;FVC(RKXC$V)
|
||||
M4D%S;(H9R-) _5GB$#DK\J-+(6H*$Y>.?V8N@1L\Z6EAPJ,O7Z<"T(@'NBP8
|
||||
M >84SH*YUPEK PO9%_'!())X4XY82P,Z3M+$0J1]G/$T1GR#&0G2 !0CX<-9
|
||||
M:E0'NAE_+;I8$!F>,HG( MY<7=1<KBVLD]2D[1]+[_<F_%E*@DDA%)I7][&M
|
||||
M8/B)?MKPB];']%>T+5TFW"$WLBYB.1CH/\0%,2\2*'VK/8Z#!;VMI#'#!&L,
|
||||
M$8"QQH JJ!R51AE5+8H=O+)DO%!\O#TG#<1.1'+= T)H !F3B4B':1!>W<8D
|
||||
M^<FE"A05C4\,^%,<G_L,5FZT5LF2?;I_;VD7HXEZ5%6V;I\W=37+/558Q0CD
|
||||
M%\:'QQA__07_ *?#7#50\GORD]6KM9V-KS=;=K@6COH0?SGK2E17'!^U]56O
|
||||
M5W]O,T]J:T37DI>[_4';[F=[#; RVJ-HFE04'2CJ6->6K/'I.[]MMELZT^3$
|
||||
MO;7]5OU6(PVX*;:VL,+'>H[2RBNYE"SS*'M8"-71BX*%7_S&KYSCRG]':^3C
|
||||
M39/WW_>_\3>VO)DDNZW$D5R)@94?64JP6G(:>?[V6/6TIG^A]/ZEMC&L6)6G
|
||||
MB,OSO;1,D^XP?)WH\HW"$ '_ !FE&7^+'E^Q]M[-$Z_^RALK9/1>Y#&6^A01
|
||||
MSRN(]8K'N$/\IJ<!(*T%?^&QPUCM,?F_3^<;=?#_ #'_U#NZ-NTQV\M1Q*_M
|
||||
M&*ON:]BMZ&_[5;5H0A&4>4 URIGQQPVM(.V3LY12:Y_VXE.!8,BO'+:=5#SK
|
||||
MS]&)8027MWILM-:O)E4T]N"DMD-B16S\AX?9BSSH5DJ!@0)"!6N?]V%8<40R
|
||||
MQ=0^5:C(9<L5MC-!VU1-\U&=.9SI@:8CW.B;=&W36O/B,%3/89:6R!% :>.
|
||||
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
|
||||
M?]0-)Z2A9!]7NR#M6XV$^[V+/N$YE>=;R &JG)3R\OCBW K*KE>1,K4J'L>
|
||||
M=Q_53L7=VMF7>-OA^6CZ0K>POJ X'X:8O;?H5II%([Y^I'9)V%=HDFM=UANI
|
||||
MTG>6VNT66 Q@@-&1K6IU>82+I;_-BV/9^T5/4K.T=_[=(=F[0V1RFVS;U;7U
|
||||
MRT\R33SSF1%0!8PJ1HH'N)J9W\S-BO4LT.B_4_ZB;!V3]9=QW4V/4W^.QBBL
|
||||
MYI;D);_C0@=62(H78HM4_#DTM_%@>XM=5N<YMOJYM'^WFZ=I7*"2YW6\;<)]
|
||||
MU%U&M+@R))E%H/DK&*_B:L+K$0-I,R,>YOK/VMW1MEA)OFU6]SW+80?+IN:W
|
||||
MFB%UY-+"HJ]&\^CJ:=?[ODP/7P%87DRP^L':EQV39]K]RV,.Z)MCE]KNXKP6
|
||||
M[QJ:^5R QTBNDZ?>7^'5A=8AHG293%^V_47M"#8=]L+S;]ONK[=2ILKWJ1K\
|
||||
MH!\,8(+ +Q72R_OZ\+K#T&;4[E;??-HJ +VWI_\ FI_;A55^@SNO4P[]LQ-!
|
||||
M?0TI05E6GZ\-Q?H0[(FM]]V!6EZE] ?(=%)5'GRISP*KE!R4 $FY;.SL!>V^
|
||||
M?Q&5/U@X>&5IHT&Y[2"2;V#Q%)5I^O!#"4;'=MK"BE[ #SI*E/UXF&1R/__2
|
||||
M^5, &8 +[](NTME[GO>XK?=(6E_+=BOMTL],IB'S%HJF-7.0Z;:O/[O\:X '
|
||||
MG<OT9ZVX;=;=ME;>ZD[='<&[VUW.&MH@G\WY:[T]*>,(5?RO(J>9.LV "N2_
|
||||
M2/ND023V\EG>PZ+V:SDM9Q*EW!MBJUW-;,!IDCBU\]/49)%CU,F ":'Z+]YW
|
||||
M%K'/;"VGZVWV.ZP1)*=;V^Y7'RMN &51U.MY75F73@ L'9WT1E_KCMW;>YIH
|
||||
M+C:=YOK_ &QULIG$HGVY'$XU-&JKTY0@K\?P^7 KVGZ+;G<[REI>[C:6]A/
|
||||
MLMUO]K?1.\R26ULK@J-*5UB1-,E5]S4Z=3RZ@!%VGV,N^[%W1O#[C#:P=MVD
|
||||
M=P582$S--.L* 41J+F?WM6CR^\R 'G<'TV[HV';9[^_BC"6<EK#N$*/JDMI;
|
||||
MV#YFW29:<7B^Z7T/^&^E\ 'FX_3O?+#9]LW>66W>PW>S>^L9HG=PXCE6%H/<
|
||||
M_P#<"5PG3_S8 '$/T.[YEW>VVI4MA=7%^VTR5E\D-^ML+OY>5@IHYA.3)KCU
|
||||
MJZ:_+@ K7<7:&Z[#9;1>WK1-!O=LUW9&)BQZ:2-$P<$+I8.C8 +_ -V_2:7;
|
||||
MWL-U[5NX[2*#9MHW7<Q+<NL]L=R 1[@$+E;I*RAM+-)&OFTZ, %.[][:[KV+
|
||||
M<[BR[FO?F+^QG-IH>:29C^&LVN,N,X2LB>;][ !G9O9"]P[1W+NDE]%9P]NV
|
||||
M(O&20.6E9Y5B11H5J+5O,?X/WF0 N'U$^B5W9;MJ[31;G;W?:;061GZETEWN
|
||||
MMLLD88$*-$DFM4\WE^+R^; !1^Y>Q=Z[=O;.VW$Q!;XR+!<(S-'JAG:WE!\H
|
||||
MD'3D0_!YTTO'K5EP 7+O#Z6;)VW;6SSW7S#R[G:;;*MO)('&BT1KX@RPA*_,
|
||||
M2KT_NI][S:0"O?4/L_:]C^J6Y]J;=*T.WVMZEG!/<DNRJVD:Y"BY^]J.E, %
|
||||
MP[U^C%@.X-[VWM>6WLK'M.>WL][W3=+W1&QO6I!*VN)%BTFJ3:6==7N8 *K%
|
||||
M]&.^YH[$P6L<TVXM:"W@1_.8[]G6VE)("=*7I,]0_P"''H>545\ %?[F[4W7
|
||||
MMRXMHK_0RWD/S-K+&25>/6T1R8(ZE9(W72ZK_P!++@ 38 ,P ?_3^5, &8 +
|
||||
M'V5WO?=I3;I+9VEO='=MOGVJY%SU*"WN@!+HZ;QT<@9,=6G ^'UJ[F$:VXM
|
||||
M+(6$.R3]N6=D$ET0V=SIZKJW4ZC3OH7SR.Z_N8 -H^J?<FU[#;[1;K"PLK>
|
||||
M_L]ONW5C+!!N@ ND2C!#JH2C.K-'K?3\.D <[5]:MR&WV6R[GM]F^VBRLMFO
|
||||
MKQ4G-T=OLKOYF,*%GC3J)5AD$U_%][ XW_ZQ[#!W%M?=7;U@_\ 4&UWMU+!
|
||||
M'=7=W>636]RCABT<P@DCF:237^$VEO\ 49L %<M?K+OMM-MC)MUB8MLVBZV%
|
||||
M(&$Y66SN]9?J'JZNH#(VEHV3 !7^W>\K_8]IW_:H;>"XL^XK5;2\68/5!'*)
|
||||
MHY(BC)1T=?BU)]Y< #'N7ZI=R=P[7=6%ZL*G<9;2XW6YC#"2ZEL;?Y:!GJQ5
|
||||
M:1^9Q&JZY//@ S>.[6A[+VGM3;-R>]L+>X_-G+PF%[>[EB1)+=26;7&DBN^I
|
||||
M?(_E?WO= &Z_7GO)-XM-UCBM$N(-T_/+I-#E+F^^7%L7D&ORJ80WDBT>:1V^
|
||||
M[I *[WAWU>]SVNT6L]C:V-OLD$EK91VHE_E22M-1S+)*696=O-@ <3?5;=]W
|
||||
MA&U[AT=OL[ZRL-CW'<;>)Y)EVRQ=2JK&TFEG\NN2FEI=.CR>; H[_[MN^Y-
|
||||
MUM6FNOG8=JLX-LM+PH8FFBMETK*ZFK:W_>\_NZL _;/>5_L&W[YM\%O!<VN
|
||||
M_P!G\C>).'JJB194>,HR$.CH..I?O+@ M5]]=^Z[EYYHK.RM+J:YVN\%Q"LV
|
||||
MI)MF01VI4/*ZT*C\4,K:_P!W !5^Y>\)-\[F;N!=NM-MN'G^:E@LA*L;3L_4
|
||||
M>3SR22+K?X4=53_3TX #-^^IO=&_36K[K,;F&UO)K\6S23&)Y9Y>J=0,A\J?
|
||||
MRX].G1'@ #[I[SO>Y.\;GNJ]M8(KV[G6YGMX>H(2ZTX!G=PK:?\ S, #C??J
|
||||
MYON\Q]VI<V5G'_64UK<;D8Q,#&]FVJ/H:I&T@M[_ %.I@ V_WA[C$O;-ZEK9
|
||||
MKO7:L<-O8;OHD,\EM;$]*"92_19%4E"RQI*T?EUX *SW-OL>^;O/N,>WVVUK
|
||||
M.S2-:68DZ0=V+.1U7E?S,>&O2ONII7 JP 9@ __U/E3 !F #, &8 ,P 9@
|
||||
MS !F "Q=H=G7'<2[M<=<6NW[)9MN&XW&@R,L0D2,!(P1K8M(/B7RZFP /%^E
|
||||
M0.S7F\G?K)=K6]O+#:[YCTX;N2R@ZY8-(4,:SC3% -+NTK>ZJ>? !;N[_I%M
|
||||
MU]<VFY6,UKV_LT.T; ;^>3RQ_.[K$297U,H2,:6DF>OE_P!.-\ $5]]+-IWC
|
||||
MLKM)]KD@LM_EV;=MQN=*,\=Z=MN7!K*&THW00])M&F3X]/O8 *-VW]/+W?>T
|
||||
M=Y[DMKE6BV74;NSB7JSI&(C(LTB!E98'=>CU5630_P#,THNK !94^@N[_F4.
|
||||
MVR;E$ETE_M.V[H!&S"WEWJ'JV[*=0ZRQ_P N;W//[FM< &UC]!KR[W'8[$;S
|
||||
M#&V^/O444C0MIB?8W99-=&]V;02K#W/NX %#?3/:OR-M_3N6 ['+,]G8W[VT
|
||||
M\:RWD-E\W+"ZMYX@&(MHY-+=67S:>GYL G>WTUN>TK2/Y_<K9]T'RWS6UJR
|
||||
MB9%N[87*.@U%I(XP>E*^A-,ONZT\^ "F8 ,P 9@ S !F #, &8 ,P ?_U?E3
|
||||
M !F #, &8 ,P 9@ S !F !UVKWAW!VM?37NRW(@DN8)+2ZCDCCFAF@E%'BEB
|
||||
ME5XY$:G!EP $0=_]TP[%?;$MS&VU7\YNY;9[>!UCN"N@RV^I";9S'Y*P=/R8
|
||||
M &'^[O?A6XC>^BE@NK*VVV>VDM;9X6M[*ORH,31F/J05_"FT]5?OX D^HO>
|
||||
M";5#M:7Y6UM[6>PMR$C$D=M=/KN(EDT]33.Q_$\VIO=]W5@ !VONK>]JL9K.
|
||||
MPF6".=9XWD5$ZNBZC$,Z"6G4T21J%9-6G_%@ 8O]3.]F^4/YFZRV<]I=1S*J
|
||||
M"1Y]O3IVDDKA=4K6\?DCZFK >_UF^H37UE?"_A2XVYKUK$I:6BK$=RK\WI4
|
||||
M1!?QM3:M0_AP )ML[X[EVWMV][<MKE#LU_*)YK.:&&95F5=(EB,JNT,NCR]2
|
||||
M(HVG !G</>_<G<-I96V[W*7(L(DMX)C#$L[11 K&LLR*LLW34Z4ZKOIP (<
|
||||
M&8 ,P 9@ S !F #, &8 /__6^5, &8 ,P 9@ S !TG_[?[:RN>_WAO8EGM6V
|
||||
MO<S)&Z+(/)9R,"%?RZE90R_O8 +)9?2KLVRDWJ>87>X6R]DQ=S;=%(\<;Q37
|
||||
M05-#E497:,OJC;3_ (6P >CZ6=E7VV["JK>6CGLVZ[FO;B.2-VFF@E<F.C1Y
|
||||
M9+H!KY4T>75J9@"L]U_3C8=GCN'M'W2\-YM.U;MLHCA21(3N3 -#N$JZ1&1[
|
||||
ML#HJ]5]'EP -I]HVL7DVU,J+#+>;;V;;3Q(@>L3I+N=PA8$=3KZ0'][1<:?=
|
||||
MP ,[K_[?]DFWRPV[:=QNV$FZ;WMETLZQ&20[+&908 E!JGITU5]7F\_[F "N
|
||||
M6/TY[.G[>N^Z9+W<EV&"\M-NDC2!&N[:>XM&FD>5,NI#'<A+>/3T^MJ9O)IT
|
||||
ML "]A_3?;-[V[>SO;WFV;EM-M;;M' ZK"LVU-*JW<Z]5"Q:*%NK%I\LN !S<
|
||||
M?13;5^H6Y=JP;@\L>W6%YO$<P9':XLXX%GM$30ITS3JVJ3ROH3S+&WQ #OMO
|
||||
MM+LJ_P"P[G:%FGO-MON[=JLK+=(HEBNT6^LS4?C)J*1N_F72BS]/6FC7@ K.
|
||||
M[_2GM_:-B?=GW.3=(MNW([?OT=DT:3VZB\DMUD6&12SQ3Q1K);SJSQO+KA;W
|
||||
M=> !7]2OIFW;/<S;1LZ76XV2VJ[DFY%=4;V,S?ASG0@Z<<8(CG=_+UM> "Q;
|
||||
MC]%]@LNZMQ[:?<+P;AL-I>7^Y,\:+%<V]K8I=QO:/R,\C/'H;J:8DZW_ *>
|
||||
M#R+Z.]N0MO%Q?7]V]G8[/M&]VT=OTA-IW5HU:"4L"NN/J^5Q\/GZ?FTX _J
|
||||
ME])MC[2V6]OMNOKJYFV_N";89UN%C"N$MDN4E31FI"OTWU>][_D]W !RS !F
|
||||
M #, &8 ,P ?_U_E3 !F #, &8 ,P ..U?ZM_,V_I;YW\SZ,NO\NZO6Z&G\6O
|
||||
M2\_3T?S/AT^]@ <__P"M?.K_ /6OG?RHZ?\ W/4_)Z9TY_)4_P#T< %U^CO]
|
||||
M:5W'\P^=_+OZ4WC\C^:ZW2^5\OS'R5?+JU>[H_#U^_@ I$?^ZGS>X]/\W^8_
|
||||
M['\UT]>M-:?E_7IEIZG2^4U^7W.E@ 51_P!7];;NE\[U_G)?RO3U-?SVM.KT
|
||||
M:>;YC7T=>G\35T_W< #RY_WE^:LOF?S[YK\QD_+]?S74_,_]7I5\WS?_ )NG
|
||||
M\7[^ #2/_=[YWN'I_G?SG3__ +1I^9U]/E\Y3X>.GJ?X< "W<?Z\ZP_,?S+K
|
||||
M?ED>GK];5^5:1TJ:O_V>G3H_TL &NT?US_5%I^4?F/\ 5%(_DOENM\[IZ(Z>
|
||||
MC3^+IZ&G3\/1_<P ,+7_ '5^8O/EOSCK_-M\]I^8U?.Z?C__ ).GW?\ 5^Y@
|
||||
M $M?]P/E-O\ E?S'Y;7'^6]/JTU=1^CTJ?\ J]7I:?\ 5ZFCSZL !\W^[OY=
|
||||
M^-^>?EWY=-[WS/1_*]:]?CY?D^IHZG^CKP :7_\ NQ\QLGS_ .<_,?+G\@Z_
|
||||
MS&KY;0:_+Z_]+IUU:/)TO_3P 1VW^Y_S.\?+?F_S&F#\]Z?7KHJ/E_F:?!73
|
||||
MT.IY/=Z> #.Y_P#='Y"X_J?\X^0^=_[K\Q^8Z7S_ $Q_,ZOE^9Z5/>_%Z?[N
|
||||
/ "IX ,P 9@ S !F #__9
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
http://ncc.websx.com for more free pics of this, and many other celebrities
|
||||
178
uudecode/Openfile.inc
Normal file
178
uudecode/Openfile.inc
Normal file
@@ -0,0 +1,178 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: OPENFILE.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE HANDLING MACROS
|
||||
;*************************************************************************************
|
||||
|
||||
HANDLE STRUC
|
||||
PHANDLE TYPEDEF FAR PTR HANDLE
|
||||
HANDLE@@mHandle DD ?
|
||||
HANDLE ENDS
|
||||
|
||||
INVALID_HANDLE equ 0FFFFFFFFh
|
||||
|
||||
CREATEFILE MACRO pathFileName,access,share,open,attribute
|
||||
push 0000h ; save handle to template (null)
|
||||
push attribute ; save attributes
|
||||
push open ; save creation flags
|
||||
push 0000h ; save security attributes
|
||||
push share ; save share mode
|
||||
push access ; save acess mode
|
||||
push pathFileName ; save pathFileName
|
||||
call dword ptr __imp__CreateFileA@28 ; call create
|
||||
ENDM
|
||||
|
||||
READFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesRead on stack
|
||||
mov eax,esp ; move bytesRead address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save pointer to bytesRead
|
||||
push sizeBuffer ; save length of buffer
|
||||
push szBuffer ; save address of read buffer
|
||||
push hFileHandle ; save file handle
|
||||
call dword ptr __imp__ReadFile@20 ; call read
|
||||
mov eax,[esp] ; move bytesRead value to eax
|
||||
add esp,04h ; remove bytesRead variable from stack
|
||||
ENDM
|
||||
|
||||
WRITEFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesWritten variable on stack
|
||||
mov eax,esp ; move bytesWritten address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save bytesWritten address
|
||||
push sizeBuffer ; save write length
|
||||
push szBuffer ; save address of write buffer
|
||||
push hFileHandle ; save file handle
|
||||
call dword ptr __imp__WriteFile@20 ; call write
|
||||
mov eax,[esp] ; move number of bytes written to eax
|
||||
add esp,04h ; remove bytesWritten variable from stack
|
||||
ENDM
|
||||
|
||||
CLOSEHANDLE MACRO handle
|
||||
push handle ; save file handle
|
||||
call dword ptr __imp__CloseHandle@4 ; call close
|
||||
ENDM
|
||||
|
||||
FOPEN MACRO pathFileName,sFileInfo,access,share,open,attribute
|
||||
CREATEFILE pathFileName,access,share,open,attribute
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,eax
|
||||
ENDM
|
||||
|
||||
FCLOSE MACRO sFileInfo
|
||||
LOCAL @@FCLOSEend
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FCLOSEend
|
||||
CLOSEHANDLE sFileInfo.FileInfo@@mhFileHandle
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
@@FCLOSEend:
|
||||
ENDM
|
||||
|
||||
FREAD MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FREADreadError,@@FREADsimpleRead,@@FREADdone
|
||||
cmp [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex,00h ; is buffer index zero
|
||||
jne @@FREADsimpleRead ; if not then just grab next byte
|
||||
READFILE [FileInfo ptr[sFileInfo]].FileInfo@@mhFileHandle,sFileInfo,MaxLength ; otherwise we fill the read buffer
|
||||
cmp eax,0000h ; did we read any data ?
|
||||
je @@FREADreadError ; if not then we're done
|
||||
mov [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex,eax ; move number of bytes read to buffer index
|
||||
lea eax,[FileInfo ptr[sFileInfo]].FileInfo@@mszBuffer ; load buffer address into eax register
|
||||
mov [FileInfo ptr [sFileInfo]].FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
jmp @@FREADsimpleRead ; grab next byte
|
||||
@@FREADreadError: ; read error sync address
|
||||
xor eax,eax ; set return code
|
||||
jmp @@FREADdone ; we're done
|
||||
@@FREADsimpleRead: ; simple read sync address
|
||||
mov eax,[FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov al,byte ptr[eax] ; move byte value to al
|
||||
mov byte ptr[ptrByte],al ; move byte value to user buffer
|
||||
inc [FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer ; increment along lpBufferPointer
|
||||
dec [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex ; decrement the buffer index
|
||||
mov eax,01h ; set the return code
|
||||
@@FREADdone: ; done reading sync
|
||||
ENDM
|
||||
|
||||
FWRITE MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
push ebx ; macro uses ebx, must preserve it
|
||||
cmp [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
lea ebx,[FileInfo ptr[sFileInfo]].FileInfo@@mszBuffer
|
||||
WRITEFILE [FileInfo ptr[sFileInfo]].FileInfo@@mhFileHandle,ebx,MaxLength
|
||||
mov [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
lea eax,[FileInfo ptr[sFileInfo]].FileInfo@@mszBuffer
|
||||
mov [FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEsimpleWrite: ; simple write sync address
|
||||
cmp [FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
jne @@FWRITEuseBuffer ; if not then just use it
|
||||
lea eax,[FileInfo ptr[sFileInfo]].FileInfo@@mszBuffer
|
||||
mov [FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEuseBuffer: ; use buffer sync address
|
||||
mov cl,byte ptr[ptrByte] ; move byte to write to cl
|
||||
mov eax,[FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov byte ptr[eax],cl ; move byte into buffer
|
||||
inc [FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
inc [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex ; increment buffer index
|
||||
pop ebx ; restore ebx register
|
||||
mov eax,01h ; set return code
|
||||
ENDM
|
||||
|
||||
FREADLINE MACRO sFileInfo,szBuffer
|
||||
LOCAL @@FGETScont,@@FGETexit,@@FGETsetError,@@FGETScrlf
|
||||
push edi ; save source index register
|
||||
mov edi,szBuffer ; move address of buffer into esi
|
||||
@@FGETScont: ; loop control
|
||||
FREAD sFileInfo,edi ; read a byte
|
||||
cmp eax,0000h ; was our read successful?
|
||||
je @@FGETexit ; if not we're done
|
||||
cmp byte ptr[edi],0Dh ; is the byte a carriage return?
|
||||
je @@FGETScrlf ; if yes then jump to handler
|
||||
inc edi ; increment along esi
|
||||
jmp @@FGETScont ; keep reading
|
||||
@@FGETScrlf: ; carriage return control
|
||||
mov byte ptr[edi],00h ; move null into line data
|
||||
sub esp,04h ; create temp var on stack
|
||||
mov edi,esp ; esi points to temp var
|
||||
FREAD sFileInfo,edi ; read line-feed into temp var
|
||||
add esp,04h ; restore stack
|
||||
@@FGETexit: ; exit sync address
|
||||
pop edi ; restore source index register
|
||||
ENDM
|
||||
|
||||
FWRITELINE MACRO sFileInfo,szBuffer
|
||||
LOCAL @@FWRITELINEcont,@@FWRITELINEend
|
||||
@@FWRITELINEcont:
|
||||
cmp byte ptr[szBuffer],00h
|
||||
je @@FWRITELINEend
|
||||
FWRITE sFileInfo,szBuffer
|
||||
inc szBuffer
|
||||
jmp @@FWRITELINEcont
|
||||
@@FWRITELINEend:
|
||||
ENDM
|
||||
|
||||
FFLUSH MACRO sFileInfo
|
||||
LOCAL @@FFLUSHexit
|
||||
cmp [FileInfo ptr[sFileInfo]].FileInfo@@mhFileHandle,INVALID_HANDLE ; valid handle?
|
||||
je @@FFLUSHexit ; can't flush invalid file
|
||||
push ebx ; save ebx register
|
||||
lea ebx,[FileInfo ptr[sFileInfo]].FileInfo@@mszBuffer ; load buffer address into ebx register
|
||||
WRITEFILE [FileInfo ptr[sFileInfo]].FileInfo@@mhFileHandle,ebx,[FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex ; write buffer to disk
|
||||
mov [FileInfo ptr[sFileInfo]].FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov [FileInfo ptr[sFileInfo]].FileInfo@@mlpBufferPointer,ebx ; move address of buffer to lpBufferPointer
|
||||
pop ebx ; restore ebx register
|
||||
@@FFLUSHexit:
|
||||
ENDM
|
||||
|
||||
FileInfo STRUC
|
||||
MaxLength equ 800h
|
||||
FileInfo@@mszBuffer DB MaxLength DUP(0) ; this field must appear first
|
||||
FileInfo@@mhFileHandle HANDLE <INVALID_HANDLE>
|
||||
FileInfo@@mBufferIndex DD (0)
|
||||
FileInfo@@mlpBufferPointer DD (0)
|
||||
FileInfo ENDS
|
||||
extrn __imp__WriteFile@20:near
|
||||
extrn __imp__CloseHandle@4:near
|
||||
extrn __imp__CreateFileA@28:near
|
||||
extrn __imp__GetLastError@0:near
|
||||
extrn __imp__ReadFile@20:near
|
||||
|
||||
BIN
uudecode/Release/Uulib.lib
Normal file
BIN
uudecode/Release/Uulib.lib
Normal file
Binary file not shown.
163
uudecode/SCRAPS.TXT
Normal file
163
uudecode/SCRAPS.TXT
Normal file
@@ -0,0 +1,163 @@
|
||||
|
||||
#if 0
|
||||
BOOL UUEncode::encode(const String &srcPathFileName,const String &dstPathFileName)
|
||||
{
|
||||
int ch(0);
|
||||
char readBuff[45];
|
||||
int readCount;
|
||||
int byteCount;
|
||||
char *ptrBuff;
|
||||
String outLine;
|
||||
BYTE chByte;
|
||||
|
||||
if(srcPathFileName.isNull()||dstPathFileName.isNull())return FALSE;
|
||||
FileHandle readFile(srcPathFileName,FileHandle::Read,FileHandle::ShareRead);
|
||||
if(!readFile.isOkay())return FALSE;
|
||||
FileHandle writeFile(dstPathFileName,FileHandle::Write,FileHandle::ShareRead,FileHandle::Overwrite);
|
||||
if(!writeFile.isOkay())return FALSE;
|
||||
FileMap readMap(readFile);
|
||||
PureViewOfFile readView(readMap);
|
||||
::sprintf(outLine,"begin %d %s",644,srcPathFileName);
|
||||
writeFile.writeLine(outLine);
|
||||
while(readCount=readView.read(readBuff,45))
|
||||
{
|
||||
ch=chEncode(readCount);
|
||||
chByte=ch;
|
||||
writeFile.write(chByte);
|
||||
for(ptrBuff=readBuff,byteCount=readCount;byteCount>0;byteCount-=3,ptrBuff+=3)
|
||||
{
|
||||
ch=*ptrBuff>>2;
|
||||
ch=chEncode(ch);
|
||||
chByte=ch;
|
||||
writeFile.write(chByte);
|
||||
ch=(*ptrBuff<<4)&0x30|(ptrBuff[1]>>4)&0x0F;
|
||||
ch=chEncode(ch);
|
||||
chByte=ch;
|
||||
writeFile.write(chByte);
|
||||
ch=(ptrBuff[1]<<2)&0x3C|(ptrBuff[2]>>6)&0x03;
|
||||
ch=chEncode(ch);
|
||||
chByte=ch;
|
||||
writeFile.write(chByte);
|
||||
ch=ptrBuff[2]&0x3F;
|
||||
ch=chEncode(ch);
|
||||
chByte=ch;
|
||||
writeFile.write(chByte);
|
||||
}
|
||||
writeFile.write((BYTE)'\n');
|
||||
if(readCount!=45)break;
|
||||
}
|
||||
ch=('\0'?('\0'&0x3F)+' ':'`');
|
||||
writeFile.write((BYTE)ch);
|
||||
writeFile.write((BYTE)'\n');
|
||||
::sprintf(outLine,"end");
|
||||
writeFile.writeLine(outLine);
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
FILE_SHARE_READ equ 00000001h
|
||||
FILE_SHARE_WRITE equ 00000002h
|
||||
FILE_SHARE_DELETE equ 00000004h
|
||||
FILE_ATTRIBUTE_READONLY equ 00000001h
|
||||
FILE_ATTRIBUTE_HIDDEN equ 00000002h
|
||||
FILE_ATTRIBUTE_SYSTEM equ 00000004h
|
||||
FILE_ATTRIBUTE_DIRECTORY equ 00000010h
|
||||
FILE_ATTRIBUTE_ARCHIVE equ 00000020h
|
||||
FILE_ATTRIBUTE_NORMAL equ 00000080h
|
||||
FILE_ATTRIBUTE_TEMPORARY equ 00000100h
|
||||
FILE_ATTRIBUTE_COMPRESSED equ 00000800h
|
||||
FILE_ATTRIBUTE_OFFLINE equ 00001000h
|
||||
CREATE_NEW equ 00000001h
|
||||
CREATE_ALWAYS equ 00000002h
|
||||
OPEN_EXISTING equ 00000003h
|
||||
OPEN_ALWAYS equ 00000004h
|
||||
TRUNCATE_EXISTING equ 00000005h
|
||||
DELETE equ 00010000h
|
||||
READ_CONTROL equ 00020000h
|
||||
WRITE_DAC equ 00040000h
|
||||
WRITE_OWNER equ 00080000h
|
||||
SYNCHRONIZE equ 00100000h
|
||||
STANDARD_RIGHTS_REQUIRED equ 000F0000h
|
||||
STANDARD_RIGHTS_READ equ READ_CONTROL
|
||||
STANDARD_RIGHTS_WRITE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_EXECUTE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_ALL equ 001F0000h
|
||||
SPECIFIC_RIGHTS_ALL equ 0000FFFFh
|
||||
FILE_READ_DATA equ 0001h
|
||||
FILE_LIST_DIRECTORY equ 0001h
|
||||
FILE_WRITE_DATA equ 0002h
|
||||
FILE_ADD_FILE equ 0002h
|
||||
FILE_APPEND_DATA equ 0004h
|
||||
FILE_ADD_SUBDIRECTORY equ 0004h
|
||||
FILE_CREATE_PIPE_INSTANCE equ 0004h
|
||||
FILE_READ_EA equ 0008h
|
||||
FILE_WRITE_EA equ 0010h
|
||||
FILE_EXECUTE equ 0020h
|
||||
FILE_TRAVERSE equ 0020h
|
||||
FILE_DELETE_CHILD equ 0040h
|
||||
FILE_READ_ATTRIBUTES equ 0080h
|
||||
FILE_WRITE_ATTRIBUTES equ 0100h
|
||||
FILE_ALL_ACCESS equ STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or 1FFh
|
||||
FILE_GENERIC_READ equ STANDARD_RIGHTS_READ or FILE_READ_DATA or FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE
|
||||
FILE_GENERIC_WRITE equ STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE
|
||||
FILE_GENERIC_EXECUTE equ STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or FILE_EXECUTE or SYNCHRONIZE
|
||||
GENERIC_READ equ 80000000h
|
||||
GENERIC_WRITE equ 40000000h
|
||||
GENERIC_EXECUTE equ 20000000h
|
||||
GENERIC_ALL equ 10000000h
|
||||
#endif
|
||||
|
||||
FileReadData=0x0001,FileListDirectory=0x0001,FileWriteData=0x0002,
|
||||
FileAddFile=0x0002,FileAppendData=0x0004,FileAddSubDir=0x0004,
|
||||
FileCreatePipeInstance=0x0004,FileReadEA=0x0008,FileWriteEA=0x0010,
|
||||
FileExecute=0x0020,FileTraverse=0x0020,FileDeleteChild=0x0040,
|
||||
FileReadAttributes=0x0080,FileWriteAttributes=0x0100,
|
||||
FileAllAccess=StandardRightsRequired|Synchronize|0x1FF,
|
||||
FileGenericRead=StandardRightsRead|FileReadData|FileReadAttributes|FileReadEA|Synchronize,
|
||||
|
||||
enum Rights{ReadControl=0x00020000,WriteDAC=0x00040000,WriteOwner=0x00080000,Synchronize=0x00100000};
|
||||
enum Standard{StandardRightsRequired=0x000F0000,StandardRightsRead=ReadControl,
|
||||
StandardRightsWrite=ReadControl,StandardRightsExecute=ReadControl,
|
||||
StandardRightsAll=0x001F0000,SpecificRightsAll=0x0000FFFF};
|
||||
;FWRITE MACRO sFileInfo,ptrByte
|
||||
; LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
; cmp sFileInfo.FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
; jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
; WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; other wise
|
||||
; mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
; mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
; mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
;@@FWRITEsimpleWrite: ; simple write sync address
|
||||
; cmp sFileInfo.FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
; jne @@FWRITEuseBuffer ; if not then just use it
|
||||
; mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
; mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
;@@FWRITEuseBuffer: ; use buffer sync address
|
||||
; mov cl,byte ptr[ptrByte] ; move byte to write to cl
|
||||
; mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
; mov byte ptr[eax],cl ; move byte into buffer
|
||||
; inc sFileInfo.FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
; inc sFileInfo.FileInfo@@mBufferIndex ; increment buffer index
|
||||
; mov eax,01h ; set return code
|
||||
;ENDM
|
||||
|
||||
|
||||
|
||||
// char strLine[128];
|
||||
// while(openFile.readLine((BYTE*)strLine));
|
||||
// openFile.writeFile((BYTE*)"I wonder what line this is?\n");
|
||||
// openFile.flushFile();
|
||||
//#if 0
|
||||
// byteCount=0;
|
||||
// DWORD elapsedTime(::GetTickCount());
|
||||
// while(openFile.readFile(&ptrByte))++byteCount;
|
||||
// elapsedTime=::GetTickCount()-elapsedTime;
|
||||
// elapsedTime/=1000L;
|
||||
// ::sprintf(strMessage,"%ld bytes read int %ld seconds\n",byteCount,elapsedTime);
|
||||
// ::MessageBox(::GetFocus(),strMessage,(LPSTR)"FileIO",MB_OK);
|
||||
//#endif
|
||||
// openFile.closeFile();
|
||||
113
uudecode/STRING.INC
Normal file
113
uudecode/STRING.INC
Normal file
@@ -0,0 +1,113 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: STRING.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : STRING RELATED MACROS
|
||||
;*************************************************************************************
|
||||
STRSTR MACRO szStringOne,szStringTwo
|
||||
push offset szStringTwo ; save string one
|
||||
push offset szStringOne ; save string two
|
||||
call _strstr ; call standard library strstr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCHR MACRO szString,charByte
|
||||
push charByte ; save charByte
|
||||
push offset szString ; save string
|
||||
call _strchr ; call standard library strchr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCAT MACRO szDstString,szSrcString
|
||||
push offset szSrcString ; save source string
|
||||
push offset szDstString ; save destination string
|
||||
call _strcat ; call standard library strcat
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRLEN MACRO szData
|
||||
push edi ; save destination index register
|
||||
push ecx ; save ecx register
|
||||
mov edi,offset szData ; get string to destination index register
|
||||
mov ecx,0FFFFh ; move 65535 to ecx register
|
||||
xor eax,eax ; clear eax register
|
||||
repnz scasb ; scan string
|
||||
mov eax,0FFFFh ; move 65535 to eax
|
||||
sub eax,ecx ; subtract number of bytes scanned
|
||||
dec eax ; decrement result
|
||||
pop ecx ; restore ecx register
|
||||
pop edi ; restore destination index register
|
||||
ENDM
|
||||
|
||||
MEMCPY MACRO szDstData,szSrcData,lengthCopy
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szSrcData ; move source data to source index register
|
||||
mov edi,offset szDstData ; move destination data to destination index register
|
||||
mov ecx,lengthCopy ; move number of bytes to copy to ecx register
|
||||
rep movsb ; copy data
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
STRCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRCMPnotEqual,@@STRCMPequal,@@STRCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save destination index register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare lengths
|
||||
jne @@STRCMPnotEqual ; if lengths differ, strings are not equal
|
||||
@@STRCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string two
|
||||
cmp al,byte ptr[edi] ; compare with byte from string one
|
||||
jne @@STRCMPnotEqual ; if bytes differ then we're done
|
||||
loop @@STRCMPloop ; iterate through string length
|
||||
@@STRCMPequal: ; equality control
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRCMPexit ; we're done
|
||||
@@STRCMPnotEqual: ; inequality control
|
||||
xor eax,eax ; set return code
|
||||
@@STRCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
|
||||
STRNCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRNCMPloop,@@STRNCMPequal,@@STRNCMPnotEqual,@@STRNCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save edi register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare the lengths
|
||||
jle @@STRNCMPloop ; string one is less equal to string two
|
||||
mov ecx,eax ; string two is less, so use it's length
|
||||
@@STRNCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string one
|
||||
cmp al,byte ptr[edi] ; compare with byte from string two
|
||||
jne @@STRNCMPnotEqual ; if byte are unequal, strings are unequal
|
||||
inc edi ; increment along string two
|
||||
inc esi ; increment along string one
|
||||
loop @@STRNCMPloop ; keep going
|
||||
@@STRNCMPequal: ; string equal sync address
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRNCMPexit ; we're done
|
||||
@@STRNCMPnotEqual: ; string unequal sync address
|
||||
xor eax,eax ; set return code
|
||||
@@STRNCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
extrn _strstr:near
|
||||
extrn _strchr:near
|
||||
extrn _strcat:near
|
||||
230
uudecode/TASM/DECODE64.ASM
Normal file
230
uudecode/TASM/DECODE64.ASM
Normal file
@@ -0,0 +1,230 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DECODE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
lineData DB 400h DUP(0)
|
||||
szDefaultOutputPathFileName DB 'IMAGE.JPG',00h
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szFileNameLiteral DB 'filename=',00h
|
||||
szOutBytes DB 04h DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
szBase64ID DB '/9j/',00h
|
||||
szExtension DB '.JPG',00H
|
||||
szBase64Vector DB 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',00h
|
||||
szBase64End DB '---',00h
|
||||
num DD ?
|
||||
lineLength DD ?
|
||||
itemIndex DD ?
|
||||
itemCount DD ?
|
||||
numIndex DD ?
|
||||
valueItem DD ?
|
||||
.CODE
|
||||
_decodeBase64 proc near ; WORD decodeBase64(const char *szPathFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov itemCount,0000h ; initialize decoded counter to zero
|
||||
push dword ptr[ebp+8] ; save pathFileName
|
||||
pop szInputPathFileName ; restore into inputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file na null
|
||||
je @@error ; if so then we've got an error
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp inputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; do we have a valid handle ?
|
||||
je @@error ; if the handle is invalid then we've got an error
|
||||
call _outputName ; get output file name
|
||||
@@search: ; search sync address
|
||||
FGETS inputFile,lineData ; get input line
|
||||
cmp eax,0000h ; did we read anything
|
||||
je @@end ; if not we're done
|
||||
STRSTR lineData,szFileNameLiteral ; look for "filename=" literal
|
||||
cmp eax,0000h ; did we find it
|
||||
jne @@nameFile ; if so then extract the filename
|
||||
STRNCMP szBase64ID,lineData ; compare line to base64 identifier
|
||||
cmp eax,0001h ; if we've got it then we start decoding
|
||||
je @@beginDecode ; jump to decode handler
|
||||
jmp @@search ; keep going
|
||||
@@nameFile: ; nameFile sync address
|
||||
push eax ; save address of filename literal
|
||||
push offset szOutputPathFileName ; save address of filename buffer
|
||||
call _nameFile ; extract the file name
|
||||
add esp,08h ; reset stack frame
|
||||
jmp @@search ; keep going
|
||||
@@beginDecode: ; begin decode sync address
|
||||
mov esi,offset szOutputPathFileName
|
||||
FOPEN esi,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
; FOPEN szOutputPathFileName,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
@@continueDecode: ; continue decode sync address
|
||||
STRLEN lineData ; get length of lineData
|
||||
dec eax ; decrement line length
|
||||
mov lineLength,eax ; move line length into lineLength
|
||||
mov itemIndex,0000h ; set itemIndex to zero
|
||||
@@itemLoop: ; itemLoop sync address
|
||||
mov valueItem,0000h ; set valueItem to zero
|
||||
mov esi,offset lineData ; move ptr lineData to esi register
|
||||
add esi,itemIndex ; add itemIndex to address
|
||||
cmp byte ptr[esi+02h],'=' ; is pChar[2] equal to '='?
|
||||
je @@assignOne ; if so then num=1
|
||||
cmp byte ptr[esi+03h],'=' ; else if pChar[3]='='
|
||||
je @@assignTwo ; then num=2
|
||||
mov num,0003h ; otherwise num=3
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignOne: ; assignment sync address
|
||||
mov num,0001h ; assign 1 to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignTwo: ; assignment sync address
|
||||
mov num,0002h ; assign two to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignContinue: ; end assignment sync address
|
||||
mov numIndex,0000h ; set numIndex to zero
|
||||
@@numLoop: ; numIndex loop sync address
|
||||
xor eax,eax ; clear out eax
|
||||
mov edi,numIndex ; move numIndex into destination index
|
||||
mov al,byte ptr[esi+edi] ; get the byte at pChar[numIndex]
|
||||
STRCHR szBase64Vector,eax ; ::strchar(szBase64Vector,pChar[numIndex])
|
||||
cmp eax,0000h ; did we find the token
|
||||
je @@end ; if not then we've got an error
|
||||
mov edi,eax ; move address of found token to edi (pTok)
|
||||
sub edi,offset szBase64Vector ; perform (pTok-szBase64Vector) result to edi
|
||||
mov eax,0003h ; move 3 into eax
|
||||
sub eax,numIndex ; perform (3-numIndex) result to eax
|
||||
mov edx,0006h ; move 6 into edx
|
||||
imul eax,edx ; perform (3-numIndex)*6 result to eax
|
||||
mov cl,al ; move shift value into cl register
|
||||
shl edi,cl ; perform (pTok-smszVec)<<((3-numIndex)*6) result to edi
|
||||
add valueItem,edi ; valueItem+=(pTok-smszVec)<<((3-numIndex)*6)
|
||||
inc numIndex ; increment numIndex
|
||||
mov eax,numIndex ; move numIndex into eax register
|
||||
cmp eax,num ; compare numIndex to num
|
||||
jle @@numLoop ; loop through <= operation
|
||||
mov numIndex,0002h ; set numIndex to 2
|
||||
@@nextNumLoop: ; next numLoop sync address
|
||||
mov esi,offset szOutBytes ; move szOutBytes address into esi
|
||||
mov edi,numIndex ; move numIndex into edi
|
||||
mov eax,valueItem ; move valueItem into eax register
|
||||
and eax,000000FFh ; apply bit mask
|
||||
mov byte ptr[esi+edi],al ; set byte in szOutBytes
|
||||
shr valueItem,08h ; shift valueItem right 8 bytes
|
||||
dec numIndex ; decrement numIndex
|
||||
cmp numIndex,0000h ; compare numIndex to zero
|
||||
jge @@nextNumLoop ; if >=0 keep going
|
||||
mov esi,offset szOutBytes ; move szOutBytes to esi
|
||||
xor edi,edi ; clear edi
|
||||
@@writeLoop: ; writeLoop sync address
|
||||
FWRITE outputFile,byte ptr[esi+edi] ; write out the byte
|
||||
inc edi ; increment edi
|
||||
cmp edi,num ; compare edi to num
|
||||
jl @@writeLoop ; if it's less then keep going
|
||||
add itemIndex,0004h ; increment itemIndex by four
|
||||
mov eax,itemIndex ; move itemIndex to eax
|
||||
cmp eax,lineLength ; compare itemIndex to lineLength
|
||||
jl @@itemLoop ; if it's less that keep going
|
||||
FGETS inputFile,lineData ; get another line
|
||||
cmp eax,0000h ; did we get a line?
|
||||
je @@end ; if not then we're done
|
||||
STRNCMP lineData,szBase64End ; look for trailer signature
|
||||
cmp eax,0001h ; if we found it then another image may follow
|
||||
je @@prepNewImage ; flush and close current output file
|
||||
jmp @@continueDecode ; otherwise keep going
|
||||
@@prepNewImage: ; prepNewImage sync address
|
||||
inc itemCount ; increment decoded counter
|
||||
FFLUSH outputFile ; flush output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
mov outputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; invalidate the handle
|
||||
jmp @@search ; try to decode another image
|
||||
@@end: ; end sync address
|
||||
cmp outputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; is this a valid handle
|
||||
je @@closePrimary ; is handle is invalid, just close the input file
|
||||
FFLUSH outputFile ; flush the output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
@@closePrimary: ; close primary sync address
|
||||
CLOSEHANDLE inputFile.FileInfo@@mhFileHandle ; close input file
|
||||
@@error: ; error sync address
|
||||
mov eax,itemCount ; move decoded count to eax register
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_decodeBase64 endp
|
||||
_nameFile proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov edi,[ebp+8] ; move dest string to destination index register
|
||||
mov esi,[ebp+0Ch] ; move source string to source index register
|
||||
@@NAMEFILEquoteLoop: ; first quote loop control
|
||||
mov al,byte ptr[esi] ; move byte into al
|
||||
cmp al,00h ; is it null?
|
||||
je @@NAMEFILEerror ; if it's null then we've got an error
|
||||
cmp al,'"' ; is it the first quote ?
|
||||
je @@NAMEFILEreadFile ; if so then get the filename
|
||||
inc esi ; increment along esi
|
||||
jmp @@NAMEFILEquoteLoop ; keep going
|
||||
@@NAMEFILEreadFile: ; read file name sync address
|
||||
inc esi ; skip past the first quote
|
||||
mov al,byte ptr[esi] ; read from file name
|
||||
cmp al,'"' ; is the byte the closing quote?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
cmp al,00h ; is the byte a null byte?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
mov byte ptr[edi],al ; store the byte in destination
|
||||
inc edi ; increment along destination
|
||||
jmp @@NAMEFILEreadFile ; keep going
|
||||
@@NAMEFILEreadEnd: ; read end sync address
|
||||
mov byte ptr[edi],00h ; null terminate the string
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@NAMEFILEend ; we're done
|
||||
@@NAMEFILEerror: ; error sync address
|
||||
xor eax,eax ; set error return
|
||||
@@NAMEFILEend: ; end proc sync address
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_nameFile endp
|
||||
_outputName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,szInputPathFileName ; set esi to input name address
|
||||
mov edi,offset szOutputPathFileName ; set edi to output name address
|
||||
xor ecx,ecx ; clear ecx for indexing
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,[esi+ecx] ; get byte from source to al
|
||||
cmp al,00h ; is this a null byte
|
||||
je @@copyDone ; if so then we're done copying
|
||||
mov byte ptr[edi],al ; store the byte into destination
|
||||
inc edi ; increment destination
|
||||
inc ecx ; increment source index
|
||||
jmp @@copyLoop ; loop through the string
|
||||
@@copyDone: ; copy done sync address
|
||||
mov byte ptr[edi],00h ; set null terminator
|
||||
STRCHR szOutputPathFileName,'.' ; look for extension marker
|
||||
cmp eax,0000h ; did we find it?
|
||||
je @@nameError ; if not then we set output name to default
|
||||
mov byte ptr[eax],0000h ; otherwise terminate the string
|
||||
STRCAT szOutputPathFileName,szExtension ; cat the string with ".jpg"
|
||||
jmp @@outputDone ; we're done
|
||||
@@nameError: ; nameError sync address
|
||||
STRLEN szDefaultOutputPathFileName ; get the length of the default file name
|
||||
MEMCPY szOutputPathFileName,szDefaultOutputPathFileName,eax ; set output file name to default
|
||||
@@outputDone: ; outputDone sync address
|
||||
pop edi ; restore destination index
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_outputName endp
|
||||
public _decodeBase64
|
||||
END
|
||||
230
uudecode/TASM/DECODE64.BAK
Normal file
230
uudecode/TASM/DECODE64.BAK
Normal file
@@ -0,0 +1,230 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DECODE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
lineData DB 400h DUP(0)
|
||||
szDefaultOutputPathFileName DB 'IMAGE.JPG',00h
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szFileNameLiteral DB 'filename=',00h
|
||||
szOutBytes DB 04h DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
szBase64ID DB '/9j/',00h
|
||||
szExtension DB '.JPG',00H
|
||||
szBase64Vector DB 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',00h
|
||||
szBase64End DB '---',00h
|
||||
num DD ?
|
||||
lineLength DD ?
|
||||
itemIndex DD ?
|
||||
itemCount DD ?
|
||||
numIndex DD ?
|
||||
valueItem DD ?
|
||||
.CODE
|
||||
_decodeBase64 proc near ; WORD decodeBase64(const char *szPathFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov itemCount,0000h ; initialize decoded counter to zero
|
||||
push dword ptr[ebp+8] ; save pathFileName
|
||||
pop szInputPathFileName ; restore into inputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file na null
|
||||
je @@error ; if so then we've got an error
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp inputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; do we have a valid handle ?
|
||||
je @@error ; if the handle is invalid then we've got an error
|
||||
call _outputName ; get output file name
|
||||
@@search: ; search sync address
|
||||
FGETS inputFile,lineData ; get input line
|
||||
cmp eax,0000h ; did we read anything
|
||||
je @@end ; if not we're done
|
||||
STRSTR lineData,szFileNameLiteral ; look for "filename=" literal
|
||||
cmp eax,0000h ; did we find it
|
||||
jne @@nameFile ; if so then extract the filename
|
||||
STRNCMP szBase64ID,lineData ; compare line to base64 identifier
|
||||
cmp eax,0001h ; if we've got it then we start decoding
|
||||
je @@beginDecode ; jump to decode handler
|
||||
jmp @@search ; keep going
|
||||
@@nameFile: ; nameFile sync address
|
||||
push eax ; save address of filename literal
|
||||
push offset szOutputPathFileName ; save address of filename buffer
|
||||
call _nameFile ; extract the file name
|
||||
add esp,08h ; reset stack frame
|
||||
jmp @@search ; keep going
|
||||
@@beginDecode: ; begin decode sync address
|
||||
mov esi,offset szOutputPathFileName
|
||||
FOPEN esi,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
; FOPEN szOutputPathFileName,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
@@continueDecode: ; continue decode sync address
|
||||
STRLEN lineData ; get length of lineData
|
||||
dec eax ; decrement line length
|
||||
mov lineLength,eax ; move line length into lineLength
|
||||
mov itemIndex,0000h ; set itemIndex to zero
|
||||
@@itemLoop: ; itemLoop sync address
|
||||
mov valueItem,0000h ; set valueItem to zero
|
||||
mov esi,offset lineData ; move ptr lineData to esi register
|
||||
add esi,itemIndex ; add itemIndex to address
|
||||
cmp byte ptr[esi+02h],'=' ; is pChar[2] equal to '='?
|
||||
je @@assignOne ; if so then num=1
|
||||
cmp byte ptr[esi+03h],'=' ; else if pChar[3]='='
|
||||
je @@assignTwo ; then num=2
|
||||
mov num,0003h ; otherwise num=3
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignOne: ; assignment sync address
|
||||
mov num,0001h ; assign 1 to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignTwo: ; assignment sync address
|
||||
mov num,0002h ; assign two to num
|
||||
jmp @@assignContinue ; continue
|
||||
@@assignContinue: ; end assignment sync address
|
||||
mov numIndex,0000h ; set numIndex to zero
|
||||
@@numLoop: ; numIndex loop sync address
|
||||
xor eax,eax ; clear out eax
|
||||
mov edi,numIndex ; move numIndex into destination index
|
||||
mov al,byte ptr[esi+edi] ; get the byte at pChar[numIndex]
|
||||
STRCHR szBase64Vector,eax ; ::strchar(szBase64Vector,pChar[numIndex])
|
||||
cmp eax,0000h ; did we find the token
|
||||
je @@end ; if not then we've got an error
|
||||
mov edi,eax ; move address of found token to edi (pTok)
|
||||
sub edi,offset szBase64Vector ; perform (pTok-szBase64Vector) result to edi
|
||||
mov eax,0003h ; move 3 into eax
|
||||
sub eax,numIndex ; perform (3-numIndex) result to eax
|
||||
mov edx,0006h ; move 6 into edx
|
||||
imul eax,edx ; perform (3-numIndex)*6 result to eax
|
||||
mov cl,al ; move shift value into cl register
|
||||
shl edi,cl ; perform (pTok-smszVec)<<((3-numIndex)*6) result to edi
|
||||
add valueItem,edi ; valueItem+=(pTok-smszVec)<<((3-numIndex)*6)
|
||||
inc numIndex ; increment numIndex
|
||||
mov eax,numIndex ; move numIndex into eax register
|
||||
cmp eax,num ; compare numIndex to num
|
||||
jle @@numLoop ; loop through <= operation
|
||||
mov numIndex,0002h ; set numIndex to 2
|
||||
@@nextNumLoop: ; next numLoop sync address
|
||||
mov esi,offset szOutBytes ; move szOutBytes address into esi
|
||||
mov edi,numIndex ; move numIndex into edi
|
||||
mov eax,valueItem ; move valueItem into eax register
|
||||
and eax,000000FFh ; apply bit mask
|
||||
mov byte ptr[esi+edi],al ; set byte in szOutBytes
|
||||
shr valueItem,08h ; shift valueItem right 8 bytes
|
||||
dec numIndex ; decrement numIndex
|
||||
cmp numIndex,0000h ; compare numIndex to zero
|
||||
jge @@nextNumLoop ; if >=0 keep going
|
||||
mov esi,offset szOutBytes ; move szOutBytes to esi
|
||||
xor edi,edi ; clear edi
|
||||
@@writeLoop: ; writeLoop sync address
|
||||
FWRITE outputFile,byte ptr[esi+edi] ; write out the byte
|
||||
inc edi ; increment edi
|
||||
cmp edi,num ; compare edi to num
|
||||
jl @@writeLoop ; if it's less then keep going
|
||||
add itemIndex,0004h ; increment itemIndex by four
|
||||
mov eax,itemIndex ; move itemIndex to eax
|
||||
cmp eax,lineLength ; compare itemIndex to lineLength
|
||||
jl @@itemLoop ; if it's less that keep going
|
||||
FGETS inputFile,lineData ; get another line
|
||||
cmp eax,0000h ; did we get a line?
|
||||
je @@end ; if not then we're done
|
||||
STRNCMP lineData,szBase64End ; look for trailer signature
|
||||
cmp eax,0001h ; if we found it then another image may follow
|
||||
je @@prepNewImage ; flush and close current output file
|
||||
jmp @@continueDecode ; otherwise keep going
|
||||
@@prepNewImage: ; prepNewImage sync address
|
||||
inc itemCount ; increment decoded counter
|
||||
FFLUSH outputFile ; flush output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
mov outputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; invalidate the handle
|
||||
jmp @@search ; try to decode another image
|
||||
@@end: ; end sync address
|
||||
cmp outputFile.FileInfo@@mhFileHandle,INVALID_HANDLE ; is this a valid handle
|
||||
je @@closePrimary ; is handle is invalid, just close the input file
|
||||
FFLUSH outputFile ; flush the output file
|
||||
CLOSEHANDLE outputFile.FileInfo@@mhFileHandle ; close output file
|
||||
@@closePrimary: ; close primary sync address
|
||||
CLOSEHANDLE inputFile.FileInfo@@mhFileHandle ; close input file
|
||||
@@error: ; error sync address
|
||||
mov eax,itemCount ; move decoded count to eax register
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_decodeBase64 endp
|
||||
_nameFile proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov edi,[ebp+8] ; move dest string to destination index register
|
||||
mov esi,[ebp+0Ch] ; move source string to source index register
|
||||
@@NAMEFILEquoteLoop: ; first quote loop control
|
||||
mov al,byte ptr[esi] ; move byte into al
|
||||
cmp al,00h ; is it null?
|
||||
je @@NAMEFILEerror ; if it's null then we've got an error
|
||||
cmp al,'"' ; is it the first quote ?
|
||||
je @@NAMEFILEreadFile ; if so then get the filename
|
||||
inc esi ; increment along esi
|
||||
jmp @@NAMEFILEquoteLoop ; keep going
|
||||
@@NAMEFILEreadFile: ; read file name sync address
|
||||
inc esi ; skip past the first quote
|
||||
mov al,byte ptr[esi] ; read from file name
|
||||
cmp al,'"' ; is the byte the closing quote?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
cmp al,00h ; is the byte a null byte?
|
||||
je @@NAMEFILEreadEnd ; if so then we're done
|
||||
mov byte ptr[edi],al ; store the byte in destination
|
||||
inc edi ; increment along destination
|
||||
jmp @@NAMEFILEreadFile ; keep going
|
||||
@@NAMEFILEreadEnd: ; read end sync address
|
||||
mov byte ptr[edi],00h ; null terminate the string
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@NAMEFILEend ; we're done
|
||||
@@NAMEFILEerror: ; error sync address
|
||||
xor eax,eax ; set error return
|
||||
@@NAMEFILEend: ; end proc sync address
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore prior stack frame
|
||||
retn ; return near to caller
|
||||
_nameFile endp
|
||||
_outputName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,szInputPathFileName ; set esi to input name address
|
||||
mov edi,offset szOutputPathFileName ; set edi to output name address
|
||||
xor ecx,ecx ; clear ecx for indexing
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,[esi+ecx] ; get byte from source to al
|
||||
cmp al,00h ; is this a null byte
|
||||
je @@copyDone ; if so then we're done copying
|
||||
mov byte ptr[edi],al ; store the byte into destination
|
||||
inc edi ; increment destination
|
||||
inc ecx ; increment source index
|
||||
jmp @@copyLoop ; loop through the string
|
||||
@@copyDone: ; copy done sync address
|
||||
mov byte ptr[edi],00h ; set null terminator
|
||||
STRCHR szOutputPathFileName,'.' ; look for extension marker
|
||||
cmp eax,0000h ; did we find it?
|
||||
je @@nameError ; if not then we set output name to default
|
||||
mov byte ptr[eax],0000h ; otherwise terminate the string
|
||||
STRCAT szOutputPathFileName,szExtension ; cat the string with ".jpg"
|
||||
jmp @@outputDone ; we're done
|
||||
@@nameError: ; nameError sync address
|
||||
STRLEN szDefaultOutputPathFileName ; get the length of the default file name
|
||||
MEMCPY szOutputPathFileName,szDefaultOutputPathFileName,eax ; set output file name to default
|
||||
@@outputDone: ; outputDone sync address
|
||||
pop edi ; restore destination index
|
||||
pop esi ; restore source index
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_outputName endp
|
||||
public _decodeBase64
|
||||
END
|
||||
59
uudecode/TASM/DEVIOCTL.INC
Normal file
59
uudecode/TASM/DEVIOCTL.INC
Normal file
@@ -0,0 +1,59 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DEVIOCTL.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE RELATED CONSTANTS
|
||||
;*************************************************************************************
|
||||
FILE_SHARE_READ equ 00000001h
|
||||
FILE_SHARE_WRITE equ 00000002h
|
||||
FILE_SHARE_DELETE equ 00000004h
|
||||
FILE_ATTRIBUTE_READONLY equ 00000001h
|
||||
FILE_ATTRIBUTE_HIDDEN equ 00000002h
|
||||
FILE_ATTRIBUTE_SYSTEM equ 00000004h
|
||||
FILE_ATTRIBUTE_DIRECTORY equ 00000010h
|
||||
FILE_ATTRIBUTE_ARCHIVE equ 00000020h
|
||||
FILE_ATTRIBUTE_NORMAL equ 00000080h
|
||||
FILE_ATTRIBUTE_TEMPORARY equ 00000100h
|
||||
FILE_ATTRIBUTE_COMPRESSED equ 00000800h
|
||||
FILE_ATTRIBUTE_OFFLINE equ 00001000h
|
||||
CREATE_NEW equ 00000001h
|
||||
CREATE_ALWAYS equ 00000002h
|
||||
OPEN_EXISTING equ 00000003h
|
||||
OPEN_ALWAYS equ 00000004h
|
||||
TRUNCATE_EXISTING equ 00000005h
|
||||
DELETE equ 00010000h
|
||||
READ_CONTROL equ 00020000h
|
||||
WRITE_DAC equ 00040000h
|
||||
WRITE_OWNER equ 00080000h
|
||||
SYNCHRONIZE equ 00100000h
|
||||
STANDARD_RIGHTS_REQUIRED equ 000F0000h
|
||||
STANDARD_RIGHTS_READ equ READ_CONTROL
|
||||
STANDARD_RIGHTS_WRITE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_EXECUTE equ READ_CONTROL
|
||||
STANDARD_RIGHTS_ALL equ 001F0000h
|
||||
SPECIFIC_RIGHTS_ALL equ 0000FFFFh
|
||||
FILE_READ_DATA equ 0001h
|
||||
FILE_LIST_DIRECTORY equ 0001h
|
||||
FILE_WRITE_DATA equ 0002h
|
||||
FILE_ADD_FILE equ 0002h
|
||||
FILE_APPEND_DATA equ 0004h
|
||||
FILE_ADD_SUBDIRECTORY equ 0004h
|
||||
FILE_CREATE_PIPE_INSTANCE equ 0004h
|
||||
FILE_READ_EA equ 0008h
|
||||
FILE_WRITE_EA equ 0010h
|
||||
FILE_EXECUTE equ 0020h
|
||||
FILE_TRAVERSE equ 0020h
|
||||
FILE_DELETE_CHILD equ 0040h
|
||||
FILE_READ_ATTRIBUTES equ 0080h
|
||||
FILE_WRITE_ATTRIBUTES equ 0100h
|
||||
FILE_ALL_ACCESS equ STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or 1FFh
|
||||
FILE_GENERIC_READ equ STANDARD_RIGHTS_READ or FILE_READ_DATA or FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE
|
||||
FILE_GENERIC_WRITE equ STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE
|
||||
FILE_GENERIC_EXECUTE equ STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or FILE_EXECUTE or SYNCHRONIZE
|
||||
GENERIC_READ equ 80000000h
|
||||
GENERIC_WRITE equ 40000000h
|
||||
GENERIC_EXECUTE equ 20000000h
|
||||
GENERIC_ALL equ 10000000h
|
||||
|
||||
|
||||
|
||||
162
uudecode/TASM/OPENFILE.BAK
Normal file
162
uudecode/TASM/OPENFILE.BAK
Normal file
@@ -0,0 +1,162 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: OPENFILE.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE HANDLING MACROS
|
||||
;*************************************************************************************
|
||||
HANDLE STRUC
|
||||
PHANDLE TYPEDEF FAR PTR HANDLE
|
||||
HANDLE@@mHandle DD ?
|
||||
HANDLE ENDS
|
||||
|
||||
INVALID_HANDLE equ 0FFFFFFFFh
|
||||
|
||||
CREATEFILE MACRO pathFileName,access,share,open,attribute
|
||||
push 0000h ; save handle to template (null)
|
||||
push attribute ; save attributes
|
||||
push open ; save creation flags
|
||||
push 0000h ; save security attributes
|
||||
push share ; save share mode
|
||||
push access ; save acess mode
|
||||
push pathFileName ; save pathFileName
|
||||
call CreateFileA ; call create
|
||||
ENDM
|
||||
|
||||
READFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesRead on stack
|
||||
mov eax,esp ; move bytesRead address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save pointer to bytesRead
|
||||
push sizeBuffer ; save length of buffer
|
||||
push offset szBuffer ; save address of read buffer
|
||||
push hFileHandle ; save file handle
|
||||
call ReadFile ; call read
|
||||
mov eax,[esp] ; move bytesRead value to eax
|
||||
add esp,04h ; remove bytesRead variable from stack
|
||||
ENDM
|
||||
|
||||
WRITEFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesWritten variable on stack
|
||||
mov eax,esp ; move bytesWritten address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save bytesWritten address
|
||||
push sizeBuffer ; save write length
|
||||
push offset szBuffer ; save address of write buffer
|
||||
push hFileHandle ; save file handle
|
||||
call WriteFile ; call write
|
||||
mov eax,[esp] ; move number of bytes written to eax
|
||||
add esp,04h ; remove bytesWritten variable from stack
|
||||
ENDM
|
||||
|
||||
CLOSEHANDLE MACRO handle
|
||||
push handle ; save file handle
|
||||
call CloseHandle ; call close
|
||||
ENDM
|
||||
|
||||
FOPEN MACRO pathFileName,sFileInfo,access,share,open,attribute
|
||||
CREATEFILE pathFileName,access,share,open,attribute
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,eax
|
||||
ENDM
|
||||
|
||||
FCLOSE MACRO sFileInfo
|
||||
LOCAL @@FCLOSEend
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FCLOSEend
|
||||
CLOSEHANDLE sFileInfo.FileInfo@@mhFileHandle
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
@@FCLOSEend:
|
||||
ENDM
|
||||
|
||||
FREAD MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FREADreadError,@@FREADsimpleRead,@@FREADdone
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,00h ; is buffer index zero
|
||||
jne @@FREADsimpleRead ; if not then just grab next byte
|
||||
READFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; otherwise we fill the read buffer
|
||||
cmp eax,0000h ; did we read any data ?
|
||||
je @@FREADreadError ; if not then we're done
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,eax ; move number of bytes read to buffer index
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
jmp @@FREADsimpleRead ; grab next byte
|
||||
@@FREADreadError: ; read error sync address
|
||||
xor eax,eax ; set return code
|
||||
jmp @@FREADdone ; we're done
|
||||
@@FREADsimpleRead: ; simple read sync address
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov al,byte ptr[eax] ; move byte value to al
|
||||
mov byte ptr[ptrByte],al ; move byte value to user buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment along lpBufferPointer
|
||||
dec sFileInfo.FileInfo@@mBufferIndex ; decrement the buffer index
|
||||
mov eax,01h ; set the return code
|
||||
@@FREADdone: ; done reading sync
|
||||
ENDM
|
||||
|
||||
FWRITE MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; other wise
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEsimpleWrite: ; simple write sync address
|
||||
cmp sFileInfo.FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
jne @@FWRITEuseBuffer ; if not then just use it
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEuseBuffer: ; use buffer sync address
|
||||
mov cl,byte ptr[ptrByte] ; move byte to write to cl
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov byte ptr[eax],cl ; move byte into buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
inc sFileInfo.FileInfo@@mBufferIndex ; increment buffer index
|
||||
mov eax,01h ; set return code
|
||||
ENDM
|
||||
|
||||
FFLUSH MACRO sFileInfo
|
||||
LOCAL @@FFLUSHexit
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FFLUSHexit
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,sFileInfo.FileInfo@@mBufferIndex ; write buffer to disk
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FFLUSHexit:
|
||||
ENDM
|
||||
|
||||
FGETS MACRO sFileInfo,szBuffer
|
||||
LOCAL @@FGETScont,@@FGETexit,@@FGETsetError,@@FGETScrlf
|
||||
push esi ; save source index register
|
||||
mov esi,offset szBuffer ; move address of buffer into esi
|
||||
@@FGETScont: ; loop control
|
||||
FREAD sFileInfo,esi ; read a byte
|
||||
cmp eax,0000h ; was our read successful?
|
||||
je @@FGETexit ; if not we're done
|
||||
cmp byte ptr[esi],0Dh ; is the byte a carriage return?
|
||||
je @@FGETScrlf ; if yes then jump to handler
|
||||
inc esi ; increment along esi
|
||||
jmp @@FGETScont ; keep reading
|
||||
@@FGETScrlf: ; carriage return control
|
||||
mov byte ptr[esi],00h ; move null into line data
|
||||
sub esp,04h ; create temp var on stack
|
||||
mov esi,esp ; esi points to temp var
|
||||
FREAD sFileInfo,esi ; read line-feed into temp var
|
||||
add esp,04h ; restore stack
|
||||
@@FGETexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
FileInfo STRUC
|
||||
MaxLength equ 800h
|
||||
FileInfo@@mhFileHandle HANDLE <INVALID_HANDLE>
|
||||
FileInfo@@mszBuffer DB MaxLength DUP(0)
|
||||
FileInfo@@mBufferIndex DD (0)
|
||||
FileInfo@@mlpBufferPointer DD (0)
|
||||
FileInfo ENDS
|
||||
|
||||
extrn WriteFile:near
|
||||
extrn CloseHandle:near
|
||||
extrn CreateFileA:near
|
||||
extrn GetLastError:near
|
||||
extrn ReadFile:near
|
||||
|
||||
162
uudecode/TASM/OPENFILE.INC
Normal file
162
uudecode/TASM/OPENFILE.INC
Normal file
@@ -0,0 +1,162 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: OPENFILE.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : FILE HANDLING MACROS
|
||||
;*************************************************************************************
|
||||
HANDLE STRUC
|
||||
PHANDLE TYPEDEF FAR PTR HANDLE
|
||||
HANDLE@@mHandle DD ?
|
||||
HANDLE ENDS
|
||||
|
||||
INVALID_HANDLE equ 0FFFFFFFFh
|
||||
|
||||
CREATEFILE MACRO pathFileName,access,share,open,attribute
|
||||
push 0000h ; save handle to template (null)
|
||||
push attribute ; save attributes
|
||||
push open ; save creation flags
|
||||
push 0000h ; save security attributes
|
||||
push share ; save share mode
|
||||
push access ; save acess mode
|
||||
push pathFileName ; save pathFileName
|
||||
call CreateFileA ; call create
|
||||
ENDM
|
||||
|
||||
READFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesRead on stack
|
||||
mov eax,esp ; move bytesRead address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save pointer to bytesRead
|
||||
push sizeBuffer ; save length of buffer
|
||||
push offset szBuffer ; save address of read buffer
|
||||
push hFileHandle ; save file handle
|
||||
call ReadFile ; call read
|
||||
mov eax,[esp] ; move bytesRead value to eax
|
||||
add esp,04h ; remove bytesRead variable from stack
|
||||
ENDM
|
||||
|
||||
WRITEFILE MACRO hFileHandle,szBuffer,sizeBuffer
|
||||
sub esp,04h ; create bytesWritten variable on stack
|
||||
mov eax,esp ; move bytesWritten address to eax
|
||||
push 0000h ; save overlapped structure address
|
||||
push eax ; save bytesWritten address
|
||||
push sizeBuffer ; save write length
|
||||
push offset szBuffer ; save address of write buffer
|
||||
push hFileHandle ; save file handle
|
||||
call WriteFile ; call write
|
||||
mov eax,[esp] ; move number of bytes written to eax
|
||||
add esp,04h ; remove bytesWritten variable from stack
|
||||
ENDM
|
||||
|
||||
CLOSEHANDLE MACRO handle
|
||||
push handle ; save file handle
|
||||
call CloseHandle ; call close
|
||||
ENDM
|
||||
|
||||
FOPEN MACRO pathFileName,sFileInfo,access,share,open,attribute
|
||||
CREATEFILE pathFileName,access,share,open,attribute
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,eax
|
||||
ENDM
|
||||
|
||||
FCLOSE MACRO sFileInfo
|
||||
LOCAL @@FCLOSEend
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FCLOSEend
|
||||
CLOSEHANDLE sFileInfo.FileInfo@@mhFileHandle
|
||||
mov sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
@@FCLOSEend:
|
||||
ENDM
|
||||
|
||||
FREAD MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FREADreadError,@@FREADsimpleRead,@@FREADdone
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,00h ; is buffer index zero
|
||||
jne @@FREADsimpleRead ; if not then just grab next byte
|
||||
READFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; otherwise we fill the read buffer
|
||||
cmp eax,0000h ; did we read any data ?
|
||||
je @@FREADreadError ; if not then we're done
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,eax ; move number of bytes read to buffer index
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
jmp @@FREADsimpleRead ; grab next byte
|
||||
@@FREADreadError: ; read error sync address
|
||||
xor eax,eax ; set return code
|
||||
jmp @@FREADdone ; we're done
|
||||
@@FREADsimpleRead: ; simple read sync address
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov al,byte ptr[eax] ; move byte value to al
|
||||
mov byte ptr[ptrByte],al ; move byte value to user buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment along lpBufferPointer
|
||||
dec sFileInfo.FileInfo@@mBufferIndex ; decrement the buffer index
|
||||
mov eax,01h ; set the return code
|
||||
@@FREADdone: ; done reading sync
|
||||
ENDM
|
||||
|
||||
FWRITE MACRO sFileInfo,ptrByte
|
||||
LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
cmp sFileInfo.FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,MaxLength ; other wise
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEsimpleWrite: ; simple write sync address
|
||||
cmp sFileInfo.FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
jne @@FWRITEuseBuffer ; if not then just use it
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEuseBuffer: ; use buffer sync address
|
||||
mov cl,byte ptr[ptrByte] ; move byte to write to cl
|
||||
mov eax,sFileInfo.FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov byte ptr[eax],cl ; move byte into buffer
|
||||
inc sFileInfo.FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
inc sFileInfo.FileInfo@@mBufferIndex ; increment buffer index
|
||||
mov eax,01h ; set return code
|
||||
ENDM
|
||||
|
||||
FFLUSH MACRO sFileInfo
|
||||
LOCAL @@FFLUSHexit
|
||||
cmp sFileInfo.FileInfo@@mhFileHandle,INVALID_HANDLE
|
||||
je @@FFLUSHexit
|
||||
WRITEFILE sFileInfo.FileInfo@@mhFileHandle,sFileInfo.FileInfo@@mszBuffer,sFileInfo.FileInfo@@mBufferIndex ; write buffer to disk
|
||||
mov sFileInfo.FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
mov eax,offset sFileInfo.FileInfo@@mszBuffer ; move address of buffer to eax
|
||||
mov sFileInfo.FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FFLUSHexit:
|
||||
ENDM
|
||||
|
||||
FGETS MACRO sFileInfo,szBuffer
|
||||
LOCAL @@FGETScont,@@FGETexit,@@FGETsetError,@@FGETScrlf
|
||||
push esi ; save source index register
|
||||
mov esi,offset szBuffer ; move address of buffer into esi
|
||||
@@FGETScont: ; loop control
|
||||
FREAD sFileInfo,esi ; read a byte
|
||||
cmp eax,0000h ; was our read successful?
|
||||
je @@FGETexit ; if not we're done
|
||||
cmp byte ptr[esi],0Dh ; is the byte a carriage return?
|
||||
je @@FGETScrlf ; if yes then jump to handler
|
||||
inc esi ; increment along esi
|
||||
jmp @@FGETScont ; keep reading
|
||||
@@FGETScrlf: ; carriage return control
|
||||
mov byte ptr[esi],00h ; move null into line data
|
||||
sub esp,04h ; create temp var on stack
|
||||
mov esi,esp ; esi points to temp var
|
||||
FREAD sFileInfo,esi ; read line-feed into temp var
|
||||
add esp,04h ; restore stack
|
||||
@@FGETexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
FileInfo STRUC
|
||||
MaxLength equ 800h
|
||||
FileInfo@@mhFileHandle HANDLE <INVALID_HANDLE>
|
||||
FileInfo@@mszBuffer DB MaxLength DUP(0)
|
||||
FileInfo@@mBufferIndex DD (0)
|
||||
FileInfo@@mlpBufferPointer DD (0)
|
||||
FileInfo ENDS
|
||||
|
||||
extrn WriteFile:near
|
||||
extrn CloseHandle:near
|
||||
extrn CreateFileA:near
|
||||
extrn GetLastError:near
|
||||
extrn ReadFile:near
|
||||
|
||||
113
uudecode/TASM/STRING.INC
Normal file
113
uudecode/TASM/STRING.INC
Normal file
@@ -0,0 +1,113 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: STRING.INC DATE: FEBRUARY 2, 1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT FLAT MODEL
|
||||
; FUNCTION : STRING RELATED MACROS
|
||||
;*************************************************************************************
|
||||
STRSTR MACRO szStringOne,szStringTwo
|
||||
push offset szStringTwo ; save string one
|
||||
push offset szStringOne ; save string two
|
||||
call _strstr ; call standard library strstr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCHR MACRO szString,charByte
|
||||
push charByte ; save charByte
|
||||
push offset szString ; save string
|
||||
call _strchr ; call standard library strchr
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRCAT MACRO szDstString,szSrcString
|
||||
push offset szSrcString ; save source string
|
||||
push offset szDstString ; save destination string
|
||||
call _strcat ; call standard library strcat
|
||||
add esp,08h ; reset stack frame
|
||||
ENDM
|
||||
|
||||
STRLEN MACRO szData
|
||||
push edi ; save destination index register
|
||||
push ecx ; save ecx register
|
||||
mov edi,offset szData ; get string to destination index register
|
||||
mov ecx,0FFFFh ; move 65535 to ecx register
|
||||
xor eax,eax ; clear eax register
|
||||
repnz scasb ; scan string
|
||||
mov eax,0FFFFh ; move 65535 to eax
|
||||
sub eax,ecx ; subtract number of bytes scanned
|
||||
dec eax ; decrement result
|
||||
pop ecx ; restore ecx register
|
||||
pop edi ; restore destination index register
|
||||
ENDM
|
||||
|
||||
MEMCPY MACRO szDstData,szSrcData,lengthCopy
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szSrcData ; move source data to source index register
|
||||
mov edi,offset szDstData ; move destination data to destination index register
|
||||
mov ecx,lengthCopy ; move number of bytes to copy to ecx register
|
||||
rep movsb ; copy data
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
ENDM
|
||||
|
||||
STRCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRCMPnotEqual,@@STRCMPequal,@@STRCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save destination index register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare lengths
|
||||
jne @@STRCMPnotEqual ; if lengths differ, strings are not equal
|
||||
@@STRCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string two
|
||||
cmp al,byte ptr[edi] ; compare with byte from string one
|
||||
jne @@STRCMPnotEqual ; if bytes differ then we're done
|
||||
loop @@STRCMPloop ; iterate through string length
|
||||
@@STRCMPequal: ; equality control
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRCMPexit ; we're done
|
||||
@@STRCMPnotEqual: ; inequality control
|
||||
xor eax,eax ; set return code
|
||||
@@STRCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
|
||||
STRNCMP MACRO szStringOne,szStringTwo
|
||||
LOCAL @@STRNCMPloop,@@STRNCMPequal,@@STRNCMPnotEqual,@@STRNCMPexit
|
||||
push ecx ; save ecx register
|
||||
push edi ; save edi register
|
||||
push esi ; save source index register
|
||||
mov edi,offset szStringOne ; move string one to destination index register
|
||||
mov esi,offset szStringTwo ; move string two to source index register
|
||||
STRLEN szStringOne ; get length of string one
|
||||
mov ecx,eax ; save length to ecx register
|
||||
STRLEN szStringTwo ; get length of string two
|
||||
cmp ecx,eax ; compare the lengths
|
||||
jle @@STRNCMPloop ; string one is less equal to string two
|
||||
mov ecx,eax ; string two is less, so use it's length
|
||||
@@STRNCMPloop: ; loop control
|
||||
mov al,byte ptr[esi] ; get byte from string one
|
||||
cmp al,byte ptr[edi] ; compare with byte from string two
|
||||
jne @@STRNCMPnotEqual ; if byte are unequal, strings are unequal
|
||||
inc edi ; increment along string two
|
||||
inc esi ; increment along string one
|
||||
loop @@STRNCMPloop ; keep going
|
||||
@@STRNCMPequal: ; string equal sync address
|
||||
mov eax,0001h ; set return code
|
||||
jmp @@STRNCMPexit ; we're done
|
||||
@@STRNCMPnotEqual: ; string unequal sync address
|
||||
xor eax,eax ; set return code
|
||||
@@STRNCMPexit: ; exit sync address
|
||||
pop esi ; restore source index register
|
||||
pop edi ; restore destination index register
|
||||
pop ecx ; restore ecx register
|
||||
ENDM
|
||||
extrn _strstr:near
|
||||
extrn _strchr:near
|
||||
extrn _strcat:near
|
||||
191
uudecode/TASM/UUDECODE.ASM
Normal file
191
uudecode/TASM/UUDECODE.ASM
Normal file
@@ -0,0 +1,191 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DECODE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT LAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
LOCALS
|
||||
|
||||
DECODEBYTE MACRO index,offset
|
||||
mov al,byte ptr [index+offset] ; get byte at index register + offset
|
||||
sub al,' ' ; subtract space
|
||||
and al,3Fh ; and with 3Fh
|
||||
ENDM
|
||||
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
szBeginLine DB 'begin ',0000h
|
||||
szEndLine DB 'end',0000h
|
||||
szLineData DB 400h DUP(0)
|
||||
numItem DB (0)
|
||||
charByte DB (0)
|
||||
status DD (0)
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
.CODE
|
||||
_uudecode proc near ; void uudecode(char *szInputPathFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
push dword ptr[ebp+08h] ; save inputPathFileName
|
||||
pop szInputPathFileName ; restore into szInputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file name null
|
||||
je @@errorExit ; if so then we're done
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE
|
||||
je @@errorExit
|
||||
@@munchLoop:
|
||||
FGETS inputFile,szLineData ; read a line
|
||||
cmp eax,0000h ; did the read succeed ?
|
||||
je @@endRead ; if not then we're done
|
||||
STRNCMP szBeginLine,szLineData ; compare line to signature
|
||||
cmp eax,0001h ; did we find the signature
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
call _getOutputFileName ; get output file name
|
||||
mov esi,offset szOutputPathFileName
|
||||
FOPEN esi,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE ; was there a problem creating the output file
|
||||
je @@endRead ; if so then we're done
|
||||
@@readLoop: ; read loop sync address
|
||||
mov esi,offset szLineData ; assign input line address to esi
|
||||
FGETS inputFile,szLineData ; read an input line
|
||||
cmp eax,0000h ; check for read error
|
||||
je @@endDecode ; if there was an error, then we're done
|
||||
xor eax,eax ; clear eax register
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov numItem,al ; move the decoded item into numItem
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@endDecode ; if it's less than or equal, we're done
|
||||
inc esi ; increment line pointer
|
||||
@@decodeLoop: ; decode loop sync address
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@readLoop ; if it's less than or equal, get another line
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemFGE3 ; handle (numItem>=3)
|
||||
cmp numItem,0001h ; compare numItem to 1
|
||||
jge @@handleItemGE1 ; handle (numItem>=1)
|
||||
@@GE1Ret: ; return sync address
|
||||
cmp numItem,0002h ; compare numItem to 2
|
||||
jge @@handleItemGE2 ; handle (numItem>=2)
|
||||
@@GE2Ret: ; return sync address
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemGE3 ; handle (numItem>=3)
|
||||
@@GE3Ret: ; return sync address
|
||||
add esi,0004h ; increment line pointer
|
||||
sub numItem,0003h ; subtract 3 from numItem
|
||||
jmp @@decodeLoop ; keep going
|
||||
@@handleItemFGE3: ; return sunc address
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,01h ; decode the byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
jmp @@GE3Ret ; jump back
|
||||
@@handleItemGE1: ; (numItem>=1) sync address
|
||||
DECODEBYTE esi,00h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; mov shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or the result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE1Ret ; return
|
||||
@@handleItemGE2: ; (numItem>=2) sync address
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE2Ret ; return
|
||||
@@handleItemGE3: ; (numItem>=3) sync address
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE3Ret ; return
|
||||
@@endDecode: ; end decode sync address
|
||||
FGETS inputFile,szLineData ; get final line from input file s/b 'end'
|
||||
STRNCMP szLineData,szEndLine ; compare last line to endLine
|
||||
cmp eax,0000h ; check return
|
||||
je @@setError ; if it's not equal to 'end' we've got an error
|
||||
mov status,0001h ; set success
|
||||
jmp @@endRead ; skip over next instruction(s)
|
||||
@@setError: ; setError sync address
|
||||
mov status,0000h ; set failure
|
||||
@@endRead: ; end read sync address
|
||||
FCLOSE inputFile ; close input file
|
||||
FFLUSH outputFile ; flush output file
|
||||
FCLOSE outputFile ; close output file
|
||||
@@errorExit: ; error exit sync address
|
||||
mov eax,status ; set return code
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_uudecode endp
|
||||
_getOutputFileName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szLineData ; move input line address into source index
|
||||
mov edi,offset szOutputPathFileName ; move output file name buffer into destination index
|
||||
xor ecx,ecx ; clear ecx register for counting
|
||||
@@munchLoop: ; munch loop sync address
|
||||
mov al,byte ptr[esi] ; get byte from input line
|
||||
inc esi ; increment esi along input line
|
||||
cmp al,' ' ; did we read a space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
inc ecx ; increment space counter
|
||||
cmp ecx,0002h ; is this the second space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,byte ptr[esi] ; get source byte into al register
|
||||
mov byte ptr[edi],al ; copy byte into destination
|
||||
inc esi ; increment along source line
|
||||
inc edi ; increment along destination
|
||||
cmp al,0000h ; compare input byte to zero
|
||||
jne @@copyLoop ; if it's not null then keep going
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_getOutputFileName endp
|
||||
public _uudecode
|
||||
END
|
||||
191
uudecode/TASM/UUDECODE.BAK
Normal file
191
uudecode/TASM/UUDECODE.BAK
Normal file
@@ -0,0 +1,191 @@
|
||||
;*************************************************************************************
|
||||
; MODULE: DECODE64.ASM DATE: JANUARY 27,1997
|
||||
; AUTHOR: SEAN M. KESSLER
|
||||
; TARGET: 32 BIT LAT MODEL
|
||||
; FUNCTION : BASE64 DECODER
|
||||
;*************************************************************************************
|
||||
.386
|
||||
.MODEL FLAT
|
||||
INCLUDE devioctl.inc
|
||||
INCLUDE string.inc
|
||||
INCLUDE openfile.inc
|
||||
LOCALS
|
||||
|
||||
DECODEBYTE MACRO index,offset
|
||||
mov al,byte ptr [index+offset] ; get byte at index register + offset
|
||||
sub al,' ' ; subtract space
|
||||
and al,3Fh ; and with 3Fh
|
||||
ENDM
|
||||
|
||||
.DATA
|
||||
inputFile FileInfo <>
|
||||
outputFile FileInfo <>
|
||||
szBeginLine DB 'begin ',0000h
|
||||
szEndLine DB 'end',0000h
|
||||
szLineData DB 400h DUP(0)
|
||||
numItem DB (0)
|
||||
charByte DB (0)
|
||||
status DD (0)
|
||||
szOutputPathFileName DB 0FFh DUP(0)
|
||||
szInputPathFileName DD ?
|
||||
.CODE
|
||||
_uudecode proc near ; void uudecode(char *szInputPathFileName)
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
push dword ptr[ebp+08h] ; save inputPathFileName
|
||||
pop szInputPathFileName ; restore into szInputPathFileName
|
||||
cmp szInputPathFileName,0000h ; is the file name null
|
||||
je @@errorExit ; if so then we're done
|
||||
FOPEN szInputPathFileName,inputFile,GENERIC_READ,FILE_SHARE_READ,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE
|
||||
je @@errorExit
|
||||
@@munchLoop:
|
||||
FGETS inputFile,szLineData ; read a line
|
||||
cmp eax,0000h ; did the read succeed ?
|
||||
je @@endRead ; if not then we're done
|
||||
STRNCMP szBeginLine,szLineData ; compare line to signature
|
||||
cmp eax,0001h ; did we find the signature
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
call _getOutputFileName ; get output file name
|
||||
mov esi,offset szOutputPathFileName
|
||||
FOPEN esi,outputFile,GENERIC_WRITE,FILE_SHARE_READ,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL
|
||||
cmp eax,INVALID_HANDLE ; was there a problem creating the output file
|
||||
je @@endRead ; if so then we're done
|
||||
@@readLoop: ; read loop sync address
|
||||
mov esi,offset szLineData ; assign input line address to esi
|
||||
FGETS inputFile,szLineData ; read an input line
|
||||
cmp eax,0000h ; check for read error
|
||||
je @@endDecode ; if there was an error, then we're done
|
||||
xor eax,eax ; clear eax register
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov numItem,al ; move the decoded item into numItem
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@endDecode ; if it's less than or equal, we're done
|
||||
inc esi ; increment line pointer
|
||||
@@decodeLoop: ; decode loop sync address
|
||||
cmp numItem,0000h ; compare numItem to zero
|
||||
jle @@readLoop ; if it's less than or equal, get another line
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemFGE3 ; handle (numItem>=3)
|
||||
cmp numItem,0001h ; compare numItem to 1
|
||||
jge @@handleItemGE1 ; handle (numItem>=1)
|
||||
@@GE1Ret: ; return sync address
|
||||
cmp numItem,0002h ; compare numItem to 2
|
||||
jge @@handleItemGE2 ; handle (numItem>=2)
|
||||
@@GE2Ret: ; return sync address
|
||||
cmp numItem,0003h ; compare numItem to 3
|
||||
jge @@handleItemGE3 ; handle (numItem>=3)
|
||||
@@GE3Ret: ; return sync address
|
||||
add esi,0004h ; increment line pointer
|
||||
sub numItem,0003h ; subtract 3 from numItem
|
||||
jmp @@decodeLoop ; keep going
|
||||
@@handleItemFGE3: ; return sunc address
|
||||
DECODEBYTE esi,00h ; decode the byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,01h ; decode the byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr al,cl ; perform right shift
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save value into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with saved value
|
||||
FWRITE outputFile,charByte ; write out the char
|
||||
jmp @@GE3Ret ; jump back
|
||||
@@handleItemGE1: ; (numItem>=1) sync address
|
||||
DECODEBYTE esi,00h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; mov shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or the result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE1Ret ; return
|
||||
@@handleItemGE2: ; (numItem>=2) sync address
|
||||
DECODEBYTE esi,01h ; decode byte
|
||||
mov cl,04h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,02h ; move shift value into cl register
|
||||
shr ax,cl ; perform right shift
|
||||
or charByte,al ; or result into charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE2Ret ; return
|
||||
@@handleItemGE3: ; (numItem>=3) sync address
|
||||
DECODEBYTE esi,02h ; decode byte
|
||||
mov cl,06h ; move shift value into cl register
|
||||
shl ax,cl ; perform left shift
|
||||
mov charByte,al ; save result into charByte
|
||||
DECODEBYTE esi,03h ; decode byte
|
||||
or charByte,al ; or result with charByte
|
||||
FWRITE outputFile,charByte ; write out the byte
|
||||
jmp @@GE3Ret ; return
|
||||
@@endDecode: ; end decode sync address
|
||||
FGETS inputFile,szLineData ; get final line from input file s/b 'end'
|
||||
STRNCMP szLineData,szEndLine ; compare last line to endLine
|
||||
cmp eax,0000h ; check return
|
||||
je @@setError ; if it's not equal to 'end' we've got an error
|
||||
mov status,0001h ; set success
|
||||
jmp @@endRead ; skip over next instruction(s)
|
||||
@@setError: ; setError sync address
|
||||
mov status,0000h ; set failure
|
||||
@@endRead: ; end read sync address
|
||||
FCLOSE inputFile ; close input file
|
||||
FFLUSH outputFile ; flush output file
|
||||
FCLOSE outputFile ; close output file
|
||||
@@errorExit: ; error exit sync address
|
||||
mov eax,status ; set return code
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore previous stack frame
|
||||
retn ; return near to caller
|
||||
_uudecode endp
|
||||
_getOutputFileName proc near
|
||||
push ebp ; save stack frame
|
||||
mov ebp,esp ; create new frame
|
||||
push esi ; save source index register
|
||||
push edi ; save destination index register
|
||||
mov esi,offset szLineData ; move input line address into source index
|
||||
mov edi,offset szOutputPathFileName ; move output file name buffer into destination index
|
||||
xor ecx,ecx ; clear ecx register for counting
|
||||
@@munchLoop: ; munch loop sync address
|
||||
mov al,byte ptr[esi] ; get byte from input line
|
||||
inc esi ; increment esi along input line
|
||||
cmp al,' ' ; did we read a space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
inc ecx ; increment space counter
|
||||
cmp ecx,0002h ; is this the second space
|
||||
jne @@munchLoop ; if not then keep reading
|
||||
@@copyLoop: ; copy loop sync address
|
||||
mov al,byte ptr[esi] ; get source byte into al register
|
||||
mov byte ptr[edi],al ; copy byte into destination
|
||||
inc esi ; increment along source line
|
||||
inc edi ; increment along destination
|
||||
cmp al,0000h ; compare input byte to zero
|
||||
jne @@copyLoop ; if it's not null then keep going
|
||||
pop edi ; restore destination index register
|
||||
pop esi ; restore source index register
|
||||
pop ebp ; restore stack frame
|
||||
retn ; return near to caller
|
||||
_getOutputFileName endp
|
||||
public _uudecode
|
||||
END
|
||||
BIN
uudecode/TASM/UUDECODE.DSW
Normal file
BIN
uudecode/TASM/UUDECODE.DSW
Normal file
Binary file not shown.
BIN
uudecode/TASM/UUDECODE.IDE
Normal file
BIN
uudecode/TASM/UUDECODE.IDE
Normal file
Binary file not shown.
313
uudecode/UUDECODE.BAK
Normal file
313
uudecode/UUDECODE.BAK
Normal file
@@ -0,0 +1,313 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=uudecode - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to uudecode - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "uudecode - Win32 Release" && "$(CFG)" !=\
|
||||
"uudecode - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Uudecode.mak" CFG="uudecode - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uudecode - Win32 Release" (based on\
|
||||
"Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "uudecode - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "uudecode - Win32 Debug"
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
MTL=mktyplib.exe
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "$(OUTDIR)\Uudecode.dll"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\decode.obj"
|
||||
-@erase "$(INTDIR)\uuencode.obj"
|
||||
-@erase "$(OUTDIR)\Uudecode.dll"
|
||||
-@erase "$(OUTDIR)\Uudecode.exp"
|
||||
-@erase "$(OUTDIR)\Uudecode.lib"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Uudecode.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Uudecode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
|
||||
odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
|
||||
/pdb:"$(OUTDIR)/Uudecode.pdb" /machine:I386 /out:"$(OUTDIR)/Uudecode.dll"\
|
||||
/implib:"$(OUTDIR)/Uudecode.lib"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\decode.obj" \
|
||||
"$(INTDIR)\uuencode.obj" \
|
||||
"..\Exe\mscommon.lib" \
|
||||
"..\Exe\uulib.lib"
|
||||
|
||||
"$(OUTDIR)\Uudecode.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "$(OUTDIR)\Uudecode.exe"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\decode.obj"
|
||||
-@erase "$(INTDIR)\uuencode.obj"
|
||||
-@erase "$(OUTDIR)\Uudecode.exe"
|
||||
-@erase "$(OUTDIR)\Uudecode.map"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h"\
|
||||
/Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Uudecode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none\
|
||||
/map:"$(INTDIR)/Uudecode.map" /debug /machine:I386\
|
||||
/out:"$(OUTDIR)/Uudecode.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\decode.obj" \
|
||||
"$(INTDIR)\uuencode.obj" \
|
||||
"..\Exe\mscommon.lib" \
|
||||
"..\Exe\uulib.lib"
|
||||
|
||||
"$(OUTDIR)\Uudecode.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "uudecode - Win32 Release"
|
||||
# Name "uudecode - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\Work\Exe\mscommon.lib
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\decode.cpp
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
DEP_CPP_DECOD=\
|
||||
{$(INCLUDE)}"\.\Decode.hpp"\
|
||||
{$(INCLUDE)}"\.\Uuencode.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.tpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\except.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\decode.obj" : $(SOURCE) $(DEP_CPP_DECOD) "$(INTDIR)"
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
DEP_CPP_DECOD=\
|
||||
{$(INCLUDE)}"\.\Decode.hpp"\
|
||||
{$(INCLUDE)}"\.\Uuencode.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.tpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\except.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\decode.obj" : $(SOURCE) $(DEP_CPP_DECOD) "$(INTDIR)"
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\uuencode.cpp
|
||||
DEP_CPP_UUENC=\
|
||||
{$(INCLUDE)}"\.\Uuencode.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.tpp"\
|
||||
{$(INCLUDE)}"\Common\Diskinfo.hpp"\
|
||||
{$(INCLUDE)}"\Common\except.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filemap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Fixup.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Profile.hpp"\
|
||||
{$(INCLUDE)}"\Common\Puredwrd.hpp"\
|
||||
{$(INCLUDE)}"\Common\Pvector.hpp"\
|
||||
{$(INCLUDE)}"\Common\Pvector.tpp"\
|
||||
{$(INCLUDE)}"\Common\Pview.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Types.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\uuencode.obj" : $(SOURCE) $(DEP_CPP_UUENC) "$(INTDIR)"
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\Work\Exe\uulib.lib
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
107
uudecode/UUDECODE.CPP
Normal file
107
uudecode/UUDECODE.CPP
Normal file
@@ -0,0 +1,107 @@
|
||||
|
||||
|
||||
|
||||
static int decode()
|
||||
{
|
||||
extern int errno;
|
||||
struct passwd *pw;
|
||||
register int n;
|
||||
register char ch, *p;
|
||||
int mode, n1;
|
||||
char buf[MAXPATHLEN];
|
||||
|
||||
/* search for header line */
|
||||
do{
|
||||
if(!fgets(buf,sizeof(buf),stdin))
|
||||
{
|
||||
(void)fprintf(stderr,"uudecode: %s: no \"begin\" line\n", filename);
|
||||
return(1);
|
||||
}
|
||||
}while(strncmp(buf,"begin ",6));
|
||||
|
||||
(void)sscanf(buf,"begin %o %s",&mode,buf);
|
||||
/* handle ~user/file format */
|
||||
if(buf[0]=='~')
|
||||
{
|
||||
if(!(p=index(buf,'/')))
|
||||
{
|
||||
(void)fprintf(stderr, "uudecode: %s: illegal ~user.\n",filename);
|
||||
return(1);
|
||||
}
|
||||
*p++=NULL;
|
||||
if(!(pw=getpwnam(buf+1)))
|
||||
{
|
||||
(void)fprintf(stderr,"uudecode: %s: no user %s.\n",filename,buf);
|
||||
return(1);
|
||||
}
|
||||
n=strlen(pw->pw_dir);
|
||||
n1=strlen(p);
|
||||
if(n+n1+2>MAXPATHLEN)
|
||||
{
|
||||
(void)fprintf(stderr, "uudecode: %s: path too long.\n",filename);
|
||||
return(1);
|
||||
}
|
||||
bcopy(p,buf+n+1,n1+1);
|
||||
bcopy(pw->pw_dir,buf,n);
|
||||
buf[n]='/';
|
||||
}
|
||||
/* create output file, set mode */
|
||||
if(!freopen(buf,"w",stdout)||fchmod(fileno(stdout),mode&0666))
|
||||
{
|
||||
(void)fprintf(stderr,"uudecode: %s: %s: %s\n", buf,filename,strerror(errno));
|
||||
return(1);
|
||||
}
|
||||
// for each input line
|
||||
for(;;)
|
||||
{
|
||||
if(!fgets(p=buf,sizeof(buf),stdin))
|
||||
{
|
||||
(void)fprintf(stderr,"uudecode: %s: short file.\n",filename);
|
||||
return(1);
|
||||
}
|
||||
#define DEC(c) (((c) - ' ') & 077) /* single character decode */
|
||||
// '`n' is used to avoid writing out all the characters at the end of the file.
|
||||
if((n=DEC(*p))<=0)break;
|
||||
for(++p;n>0;p+=4,n-=3)
|
||||
if(n>=3)
|
||||
{
|
||||
ch=DEC(p[0])<<2|DEC(p[1])>>4;
|
||||
putchar(ch);
|
||||
ch=DEC(p[1])<<4|DEC(p[2])>>2;
|
||||
putchar(ch);
|
||||
ch=DEC(p[2])<<6|DEC(p[3]);
|
||||
putchar(ch);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(n>=1)
|
||||
{
|
||||
ch=DEC(p[0])<<2|DEC(p[1])>>4;
|
||||
putchar(ch);
|
||||
}
|
||||
if(n>=2)
|
||||
{
|
||||
ch=DEC(p[1])<<4|DEC(p[2])>>2;
|
||||
putchar(ch);
|
||||
}
|
||||
if(n>=3)
|
||||
{
|
||||
ch=DEC(p[2])<<6|DEC(p[3]);
|
||||
putchar(ch);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!fgets(buf,sizeof(buf),stdin)||strcmp(buf,"end\n"))
|
||||
{
|
||||
(void)fprintf(stderr, "uudecode: %s: no \"end\" line.\n",filename);
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
static void
|
||||
usage()
|
||||
{
|
||||
(void)fprintf(stderr, "usage: uudecode [file ...]\n");
|
||||
exit(1);
|
||||
}
|
||||
125
uudecode/UUDECODE.DSP
Normal file
125
uudecode/UUDECODE.DSP
Normal file
@@ -0,0 +1,125 @@
|
||||
# Microsoft Developer Studio Project File - Name="uudecode" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 5.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=uudecode - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "uudecode.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "uudecode.mak" CFG="uudecode - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uudecode - Win32 Release" (based on\
|
||||
"Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "uudecode - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\msvcobj"
|
||||
# PROP Intermediate_Dir ".\msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "uudecode - Win32 Release"
|
||||
# Name "uudecode - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\decode.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\Exe\mscommon.lib
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\uuencode.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\Exe\uulib.lib
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Decode.hpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Uuencode.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
29
uudecode/UUDECODE.DSW
Normal file
29
uudecode/UUDECODE.DSW
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 5.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "uudecode"=.\uudecode.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
32
uudecode/UUDECODE.PLG
Normal file
32
uudecode/UUDECODE.PLG
Normal file
@@ -0,0 +1,32 @@
|
||||
--------------------Configuration: uudecode - Win32 Debug--------------------
|
||||
Begining build with project "C:\WORK\UUDECODE\uudecode.dsp", at root.
|
||||
Active configuration is Win32 (x86) Dynamic-Link Library (based on Win32 (x86) Dynamic-Link Library)
|
||||
|
||||
Project's tools are:
|
||||
"32-bit C/C++ Compiler for 80x86" with flags "/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /c "
|
||||
"OLE Type Library Maker" with flags "/nologo /D "_DEBUG" /mktyplib203 /win32 "
|
||||
"Win32 Resource Compiler" with flags "/l 0x409 /d "_DEBUG" "
|
||||
"Browser Database Maker" with flags "/nologo /o".\msvcobj/uudecode.bsc" "
|
||||
"COFF Linker for 80x86" with flags "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map:".\msvcobj/uudecode.map" /debug /machine:I386 /out:".\msvcobj/uudecode.exe" "
|
||||
"Custom Build" with flags ""
|
||||
"<Component 0xa>" with flags ""
|
||||
|
||||
Creating temp file "C:\WINDOWS\TEMP\RSP71F5.TMP" with contents </nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /c
|
||||
"C:\WORK\UUDECODE\decode.cpp"
|
||||
"C:\WORK\UUDECODE\uuencode.cpp"
|
||||
>
|
||||
Creating command line "cl.exe @C:\WINDOWS\TEMP\RSP71F5.TMP"
|
||||
Creating temp file "C:\WINDOWS\TEMP\RSP71F6.TMP" with contents <kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map:".\msvcobj/uudecode.map" /debug /machine:I386 /out:".\msvcobj/uudecode.exe"
|
||||
.\msvcobj\decode.obj
|
||||
.\msvcobj\uuencode.obj
|
||||
..\Exe\mscommon.lib
|
||||
..\Exe\uulib.lib>
|
||||
Creating command line "link.exe @C:\WINDOWS\TEMP\RSP71F6.TMP"
|
||||
Compiling...
|
||||
decode.cpp
|
||||
uuencode.cpp
|
||||
Linking...
|
||||
|
||||
|
||||
|
||||
uudecode.exe - 0 error(s), 0 warning(s)
|
||||
BIN
uudecode/UUDECODE.ZIP
Normal file
BIN
uudecode/UUDECODE.ZIP
Normal file
Binary file not shown.
53
uudecode/UUENCODE.CPP
Normal file
53
uudecode/UUENCODE.CPP
Normal file
@@ -0,0 +1,53 @@
|
||||
#include <uudecode/uuencode.hpp>
|
||||
#include <common/openfile.hpp>
|
||||
#include <common/pview.hpp>
|
||||
#include <common/filemap.hpp>
|
||||
#include <common/profile.hpp>
|
||||
|
||||
BOOL UUEncode::encode(String srcPathFileName,Block<String> &lineStrings,BOOL initBlock)
|
||||
{
|
||||
Profile iniProfile;
|
||||
char readBuff[45];
|
||||
int readCount;
|
||||
int byteCount;
|
||||
char *ptrBuff;
|
||||
String outLine;
|
||||
int ch;
|
||||
|
||||
if(initBlock)lineStrings.remove();
|
||||
if(srcPathFileName.isNull())return FALSE;
|
||||
FileHandle readFile(srcPathFileName,FileHandle::Read,FileHandle::ShareRead);
|
||||
if(!readFile.isOkay())return FALSE;
|
||||
FileMap readMap(readFile);
|
||||
PureViewOfFile readView(readMap);
|
||||
iniProfile.makeFileName(srcPathFileName);
|
||||
::sprintf(outLine,"begin %d %s\n",644,srcPathFileName);
|
||||
lineStrings.insert(&outLine);
|
||||
while(readCount=readView.read(readBuff,sizeof(readBuff)))
|
||||
{
|
||||
String lineString;
|
||||
lineString+=(char)chEncode(readCount);
|
||||
for(ptrBuff=readBuff,byteCount=readCount;byteCount>0;byteCount-=3,ptrBuff+=3)
|
||||
{
|
||||
ch=*ptrBuff>>2;
|
||||
lineString+=(char)chEncode(ch);
|
||||
ch=(*ptrBuff<<4)&0x30|(ptrBuff[1]>>4)&0x0F;
|
||||
lineString+=(char)chEncode(ch);
|
||||
ch=(ptrBuff[1]<<2)&0x3C|(ptrBuff[2]>>6)&0x03;
|
||||
lineString+=(char)chEncode(ch);
|
||||
ch=ptrBuff[2]&0x3F;
|
||||
lineString+=(char)chEncode(ch);
|
||||
}
|
||||
lineString+='\n';
|
||||
lineStrings.insert(&lineString);
|
||||
if(readCount!=45)break;
|
||||
}
|
||||
ch=('\0'?('\0'&0x3F)+' ':'`');
|
||||
String lastLine;
|
||||
lastLine+=(char)ch;
|
||||
lastLine+='\n';
|
||||
lineStrings.insert(&lastLine);
|
||||
lineStrings.insert(&String("end"));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
36
uudecode/UUENCODE.HPP
Normal file
36
uudecode/UUENCODE.HPP
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef _UUTOOL_UUENCODE_HPP_
|
||||
#define _UUTOOL_UUENCODE_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
class Block;
|
||||
class String;
|
||||
|
||||
class UUEncode
|
||||
{
|
||||
public:
|
||||
UUEncode(void);
|
||||
virtual ~UUEncode();
|
||||
BOOL encode(String srcPathFileName,Block<String> &lineStrings,BOOL initBlock=TRUE);
|
||||
private:
|
||||
BYTE chEncode(int ch)const;
|
||||
};
|
||||
|
||||
inline
|
||||
UUEncode::UUEncode(void)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
UUEncode::~UUEncode()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE UUEncode::chEncode(int ch)const
|
||||
{
|
||||
return (ch?(ch&0x3F)+' ':'`');
|
||||
}
|
||||
#endif
|
||||
BIN
uudecode/UUENCODE.TXT
Normal file
BIN
uudecode/UUENCODE.TXT
Normal file
Binary file not shown.
226
uudecode/UULIB.BAK
Normal file
226
uudecode/UULIB.BAK
Normal file
@@ -0,0 +1,226 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=uulib - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to uulib - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "uulib - Win32 Release" && "$(CFG)" != "uulib - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "uulib.mak" CFG="uulib - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uulib - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "uulib - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL :
|
||||
|
||||
CLEAN :
|
||||
-@erase
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/uulib.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/uulib.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/uulib.lib"
|
||||
LIB32_OBJS= \
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "..\exe\uulib.lib"
|
||||
|
||||
CLEAN :
|
||||
-@erase "..\exe\uulib.lib"
|
||||
-@erase ".\Cfile.obj"
|
||||
-@erase ".\Decode64.obj"
|
||||
-@erase ".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /W1 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "__FLAT__" /YX /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /W1 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\
|
||||
/D "STRICT" /D "__FLAT__" /Fp"$(INTDIR)/uulib.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/uulib.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\exe\uulib.lib"
|
||||
LIB32_FLAGS=/nologo /out:"..\exe\uulib.lib"
|
||||
LIB32_OBJS= \
|
||||
".\Cfile.obj" \
|
||||
".\Decode64.obj" \
|
||||
".\Uudecode.obj"
|
||||
|
||||
"..\exe\uulib.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "uulib - Win32 Release"
|
||||
# Name "uulib - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Cfile.asm
|
||||
InputName=Cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
29
uudecode/UULIB.DSW
Normal file
29
uudecode/UULIB.DSW
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 5.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "uulib"=.\uulib.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
28
uudecode/UULIB.PLG
Normal file
28
uudecode/UULIB.PLG
Normal file
@@ -0,0 +1,28 @@
|
||||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1>Build Log</h1>
|
||||
<h3>
|
||||
--------------------Configuration: uulib - Win32 Debug--------------------
|
||||
</h3>
|
||||
<h3>Command Lines</h3>
|
||||
Creating temporary file "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP1D2.bat" with contents
|
||||
[
|
||||
@echo off
|
||||
c:\masm32\bin\ml /c /Zi /coff masm\Uudecode.asm
|
||||
]
|
||||
Creating command line "C:\DOCUME~1\TERNET~1\LOCALS~1\Temp\RSP1D2.bat"
|
||||
<h3>Output Window</h3>
|
||||
Performing Custom Build Step on .\Masm\Uudecode.asm
|
||||
Microsoft (R) Macro Assembler Version 6.14.8444
|
||||
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
|
||||
|
||||
Assembling: masm\Uudecode.asm
|
||||
|
||||
|
||||
|
||||
<h3>Results</h3>
|
||||
Uudecode.obj - 0 error(s), 0 warning(s)
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
313
uudecode/Uudecode.mak
Normal file
313
uudecode/Uudecode.mak
Normal file
@@ -0,0 +1,313 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=uudecode - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to uudecode - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "uudecode - Win32 Release" && "$(CFG)" !=\
|
||||
"uudecode - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Uudecode.mak" CFG="uudecode - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uudecode - Win32 Release" (based on\
|
||||
"Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "uudecode - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
# PROP Target_Last_Scanned "uudecode - Win32 Debug"
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
MTL=mktyplib.exe
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL : "$(OUTDIR)\Uudecode.dll"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\decode.obj"
|
||||
-@erase "$(INTDIR)\uuencode.obj"
|
||||
-@erase "$(OUTDIR)\Uudecode.dll"
|
||||
-@erase "$(OUTDIR)\Uudecode.exp"
|
||||
-@erase "$(OUTDIR)\Uudecode.lib"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/Uudecode.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Uudecode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
|
||||
odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
|
||||
/pdb:"$(OUTDIR)/Uudecode.pdb" /machine:I386 /out:"$(OUTDIR)/Uudecode.dll"\
|
||||
/implib:"$(OUTDIR)/Uudecode.lib"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\decode.obj" \
|
||||
"$(INTDIR)\uuencode.obj" \
|
||||
"..\Exe\mscommon.lib" \
|
||||
"..\Exe\uulib.lib"
|
||||
|
||||
"$(OUTDIR)\Uudecode.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "$(OUTDIR)\Uudecode.exe"
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\decode.obj"
|
||||
-@erase "$(INTDIR)\uuencode.obj"
|
||||
-@erase "$(OUTDIR)\Uudecode.exe"
|
||||
-@erase "$(OUTDIR)\Uudecode.map"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
|
||||
"__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h"\
|
||||
/Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /win32
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/Uudecode.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
|
||||
advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none\
|
||||
/map:"$(INTDIR)/Uudecode.map" /debug /machine:I386\
|
||||
/out:"$(OUTDIR)/Uudecode.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\decode.obj" \
|
||||
"$(INTDIR)\uuencode.obj" \
|
||||
"..\Exe\mscommon.lib" \
|
||||
"..\Exe\uulib.lib"
|
||||
|
||||
"$(OUTDIR)\Uudecode.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "uudecode - Win32 Release"
|
||||
# Name "uudecode - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\Work\Exe\mscommon.lib
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\decode.cpp
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
DEP_CPP_DECOD=\
|
||||
{$(INCLUDE)}"\.\Decode.hpp"\
|
||||
{$(INCLUDE)}"\.\Uuencode.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.tpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\except.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\decode.obj" : $(SOURCE) $(DEP_CPP_DECOD) "$(INTDIR)"
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
DEP_CPP_DECOD=\
|
||||
{$(INCLUDE)}"\.\Decode.hpp"\
|
||||
{$(INCLUDE)}"\.\Uuencode.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.tpp"\
|
||||
{$(INCLUDE)}"\Common\Console.hpp"\
|
||||
{$(INCLUDE)}"\Common\Coord.hpp"\
|
||||
{$(INCLUDE)}"\Common\except.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Scrnbuff.hpp"\
|
||||
{$(INCLUDE)}"\Common\Smrect.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\decode.obj" : $(SOURCE) $(DEP_CPP_DECOD) "$(INTDIR)"
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\uuencode.cpp
|
||||
DEP_CPP_UUENC=\
|
||||
{$(INCLUDE)}"\.\Uuencode.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.hpp"\
|
||||
{$(INCLUDE)}"\Common\Block.tpp"\
|
||||
{$(INCLUDE)}"\Common\Diskinfo.hpp"\
|
||||
{$(INCLUDE)}"\Common\except.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filemap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Filetime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Finddata.hpp"\
|
||||
{$(INCLUDE)}"\Common\Fixup.hpp"\
|
||||
{$(INCLUDE)}"\Common\Openfile.hpp"\
|
||||
{$(INCLUDE)}"\Common\overlap.hpp"\
|
||||
{$(INCLUDE)}"\Common\Profile.hpp"\
|
||||
{$(INCLUDE)}"\Common\Puredwrd.hpp"\
|
||||
{$(INCLUDE)}"\Common\Pvector.hpp"\
|
||||
{$(INCLUDE)}"\Common\Pvector.tpp"\
|
||||
{$(INCLUDE)}"\Common\Pview.hpp"\
|
||||
{$(INCLUDE)}"\Common\Stdlib.hpp"\
|
||||
{$(INCLUDE)}"\Common\String.hpp"\
|
||||
{$(INCLUDE)}"\Common\Systime.hpp"\
|
||||
{$(INCLUDE)}"\Common\Types.hpp"\
|
||||
{$(INCLUDE)}"\Common\Windows.hpp"\
|
||||
|
||||
|
||||
"$(INTDIR)\uuencode.obj" : $(SOURCE) $(DEP_CPP_UUENC) "$(INTDIR)"
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=\Work\Exe\uulib.lib
|
||||
|
||||
!IF "$(CFG)" == "uudecode - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uudecode - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
BIN
uudecode/Uudecode.obj
Normal file
BIN
uudecode/Uudecode.obj
Normal file
Binary file not shown.
150
uudecode/Uulib.001
Normal file
150
uudecode/Uulib.001
Normal file
@@ -0,0 +1,150 @@
|
||||
# Microsoft Developer Studio Project File - Name="uulib" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 5.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=uulib - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "uulib.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "uulib.mak" CFG="uulib - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uulib - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "uulib - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\msvcobj"
|
||||
# PROP Intermediate_Dir ".\msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "__FLAT__" /YX /FD /c
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\exe\uulib.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "uulib - Win32 Release"
|
||||
# Name "uulib - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Cfile.asm
|
||||
InputName=Cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
c:\parts\ddk\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
c:\parts\ddk\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
c:\parts\ddk\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
187
uudecode/Uulib.dsp
Normal file
187
uudecode/Uulib.dsp
Normal file
@@ -0,0 +1,187 @@
|
||||
# Microsoft Developer Studio Project File - Name="uulib" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=uulib - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Uulib.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Uulib.mak" CFG="uulib - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uulib - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "uulib - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\msvcobj"
|
||||
# PROP Intermediate_Dir ".\msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Gz /MTd /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "__FLAT__" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\exe\uulib.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "uulib - Win32 Release"
|
||||
# Name "uulib - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Cfile.asm
|
||||
InputName=Cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
\parts\ddk\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Cfile.asm
|
||||
InputName=Cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
c:\masm32\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Decode.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
\parts\ddk\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
c:\masm32\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
\parts\ddk\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
c:\masm32\bin\ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
226
uudecode/Uulib.mak
Normal file
226
uudecode/Uulib.mak
Normal file
@@ -0,0 +1,226 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=uulib - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to uulib - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "uulib - Win32 Release" && "$(CFG)" != "uulib - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE on this makefile
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "uulib.mak" CFG="uulib - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "uulib - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "uulib - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
################################################################################
|
||||
# Begin Project
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
|
||||
ALL :
|
||||
|
||||
CLEAN :
|
||||
-@erase
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
|
||||
/Fp"$(INTDIR)/uulib.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\Release/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/uulib.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/uulib.lib"
|
||||
LIB32_OBJS= \
|
||||
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "msvcobj"
|
||||
# PROP Intermediate_Dir "msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
OUTDIR=.\msvcobj
|
||||
INTDIR=.\msvcobj
|
||||
|
||||
ALL : "..\exe\uulib.lib"
|
||||
|
||||
CLEAN :
|
||||
-@erase "..\exe\uulib.lib"
|
||||
-@erase ".\Cfile.obj"
|
||||
-@erase ".\Decode64.obj"
|
||||
-@erase ".\Uudecode.obj"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /W1 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "__FLAT__" /YX /c
|
||||
CPP_PROJ=/nologo /Zp1 /MTd /W1 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\
|
||||
/D "STRICT" /D "__FLAT__" /Fp"$(INTDIR)/uulib.pch" /YX /Fo"$(INTDIR)/" /c
|
||||
CPP_OBJS=.\msvcobj/
|
||||
CPP_SBRS=.\.
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)/uulib.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\exe\uulib.lib"
|
||||
LIB32_FLAGS=/nologo /out:"..\exe\uulib.lib"
|
||||
LIB32_OBJS= \
|
||||
".\Cfile.obj" \
|
||||
".\Decode64.obj" \
|
||||
".\Uudecode.obj"
|
||||
|
||||
"..\exe\uulib.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_OBJS)}.obj:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.c{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cpp{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
.cxx{$(CPP_SBRS)}.sbr:
|
||||
$(CPP) $(CPP_PROJ) $<
|
||||
|
||||
################################################################################
|
||||
# Begin Target
|
||||
|
||||
# Name "uulib - Win32 Release"
|
||||
# Name "uulib - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Masm\Cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "uulib - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "uulib - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\Masm\Cfile.asm
|
||||
InputName=Cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
################################################################################
|
||||
181
uudecode/base64.001
Normal file
181
uudecode/base64.001
Normal file
@@ -0,0 +1,181 @@
|
||||
# Microsoft Developer Studio Project File - Name="base64" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 5.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=base64 - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "base64.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "base64.mak" CFG="base64 - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "base64 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "base64 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\msvcobj"
|
||||
# PROP Intermediate_Dir ".\msvcobj"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX"windows.h" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "base64 - Win32 Release"
|
||||
# Name "base64 - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\base64.cpp
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# ADD CPP /Zp1 /FA
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\Exe\mscommon.lib
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Cfile.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
179
uudecode/base64.dsp
Normal file
179
uudecode/base64.dsp
Normal file
@@ -0,0 +1,179 @@
|
||||
# Microsoft Developer Studio Project File - Name="base64" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=base64 - Win32 Release
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "base64.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "base64.mak" CFG="base64 - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "base64 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "base64 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir ".\Release"
|
||||
# PROP BASE Intermediate_Dir ".\Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir ".\Debug"
|
||||
# PROP BASE Intermediate_Dir ".\Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ".\msvcobj"
|
||||
# PROP Intermediate_Dir ".\msvcobj"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
|
||||
# ADD CPP /nologo /Zp1 /MTd /Z7 /O2 /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"\work\exe\msvc42.pch" /YX"windows.h" /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /pdb:none /map /debug /machine:I386
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "base64 - Win32 Release"
|
||||
# Name "base64 - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\base64.cpp
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# ADD CPP /Zp1 /FA
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\cfile.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\cfile.asm
|
||||
InputName=cfile
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
/parts/ddk/bin/ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Decode64.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Decode64.asm
|
||||
InputName=Decode64
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
/parts/ddk/bin/ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\masm\Uudecode.asm
|
||||
|
||||
!IF "$(CFG)" == "base64 - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "base64 - Win32 Debug"
|
||||
|
||||
# Begin Custom Build
|
||||
InputPath=.\masm\Uudecode.asm
|
||||
InputName=Uudecode
|
||||
|
||||
"$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
/parts/ddk/bin/ml /c /Zi /coff masm\$(InputName).asm
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Cfile.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
44
uudecode/base64.dsw
Normal file
44
uudecode/base64.dsw
Normal file
@@ -0,0 +1,44 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "base64"=.\base64.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name common
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "common"=..\COMMON\common.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
BIN
uudecode/base64.mdp
Normal file
BIN
uudecode/base64.mdp
Normal file
Binary file not shown.
BIN
uudecode/base64.ncb
Normal file
BIN
uudecode/base64.ncb
Normal file
Binary file not shown.
BIN
uudecode/base64.opt
Normal file
BIN
uudecode/base64.opt
Normal file
Binary file not shown.
37
uudecode/decomain.cpp
Normal file
37
uudecode/decomain.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#include <common/windows.hpp>
|
||||
#include <common/finddata.hpp>
|
||||
#include <common/console.hpp>
|
||||
#include <common/string.hpp>
|
||||
#include <common/block.hpp>
|
||||
#include <common/openfile.hpp>
|
||||
#include <uudecode/decode.hpp>
|
||||
#include <uudecode/uuencode.hpp>
|
||||
|
||||
int PASCAL WinMain(HINSTANCE /*hInstance*/,HINSTANCE /*hPrevInstance*/,LPSTR lpszCmdLine,int /*nCmdShow*/)
|
||||
{
|
||||
FindData findFile;
|
||||
Console winConsole;
|
||||
String strPathOutputFileName;
|
||||
|
||||
if(!lpszCmdLine||!*lpszCmdLine)
|
||||
{
|
||||
winConsole.writeLine("UUDECODE Version 1.0 Copyright (c) 1997 Diversified Software Solutions.");
|
||||
winConsole.writeLine("mail comments/suggestions to europa@li.net.");
|
||||
winConsole.writeLine("Syntax: UUDECODE [fileflags]");
|
||||
winConsole.writeLine("Example: UUDECODE *.txt");
|
||||
winConsole.read();
|
||||
return FALSE;
|
||||
}
|
||||
strPathOutputFileName.reserve(256);
|
||||
if(findFile.findFirst(lpszCmdLine))
|
||||
{
|
||||
winConsole.writeLine(findFile.fileName());
|
||||
if(!uudecode(findFile.fileName(),(LPSTR)strPathOutputFileName))winConsole.writeLine("unable to decode file.");
|
||||
while(findFile.findNext())
|
||||
{
|
||||
winConsole.writeLine(findFile.fileName());
|
||||
if(!uudecode(findFile.fileName(),(LPSTR)strPathOutputFileName))winConsole.writeLine("unable to decode file.");
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
3713
uudecode/smk
Normal file
3713
uudecode/smk
Normal file
File diff suppressed because it is too large
Load Diff
BIN
uudecode/uudecode.mdp
Normal file
BIN
uudecode/uudecode.mdp
Normal file
Binary file not shown.
BIN
uudecode/uulib.mdp
Normal file
BIN
uudecode/uulib.mdp
Normal file
Binary file not shown.
BIN
uudecode/uulib.opt
Normal file
BIN
uudecode/uulib.opt
Normal file
Binary file not shown.
Reference in New Issue
Block a user