From: Andrew G. T. <ta...@ib...> - 2001-06-12 18:15:41
|
> Hi Andrew, > > I tried building it on my W2K machine this morning, I had to make a small > change to the source before it would compile: > > -------- > diff -r int80.new/src/DebugServiceHooks.cpp > int80.andrew/src/DebugServiceHooks.cpp > 137c137 > < for ( char cpu=0; cpu < *KeNumberProcessors; ++cpu ) > --- > > for ( char cpu=0; cpu<KeNumberProcessors; ++cpu ) > 160c160 > < KeSetAffinityThread( pThread, (1<<*KeNumberProcessors)-1 ); > --- > > KeSetAffinityThread( pThread, (1<<KeNumberProcessors)-1 ); > -------- Hmm.. I agree - it was original source. > > Then I had a little trouble enabling the driver. I tracked it down to the > IOCTL parameters. The original driver used METHOD_BUFFERED, but your > driver uses METHOD_NEITHER. I'm not sure what the difference is though, > but the 80.exe test program works fine when I recompile it using > METHOD_NEITHER. Do you know that this bit mean in IoCtls ? METHOD_BUFFERED if the driver transfers small amounts of data for the request METHOD_IN_DIRECT if the underlying device driver will read a large amount of data for the request using DMA or PIO and must transfer the data quickly METHOD_OUT_DIRECT if the underlying device driver will write a large amount of data to the device for the request using DMA or PIO and must transfer the data quickly METHOD_NEITHER if the driver can be sent such a request only while it is running in the context of the thread that originates the I/O control request What is the best ? I don't transfer anything except errcode for command. > LINE seems to run normally with the new driver. However, when I remove > the driver then try to run LINE again I get a BSOD. I guess it isn't > cleaning up after itself properly. Yea. You are right.... > Here's a little more information that might help: > 0) Reboot machine > 1) Run LINE (without the driver loaded) > 2) Load the driver using 'install.bat' > 3) Unload the driver using 'remove.bat' > 4) Run LINE. > > This works fine. > > But: > 0) Reboot machine > 1) Run LINE (without the driver loaded) > 2) Load the driver using 'install.bat' > 3) Run LINE using driver > 3) Unload the driver using 'remove.bat' > 4) Run LINE. > > and I get a BSOD everytime. (DRIVER_IRQL_NOT_LESS_OR_EQUAL) > Try this new version. I make valid cleanup code. > I also noticed that on the top of all the driver source files, there is > the copyright notice '1999 Jose Flores' but there is no indication of what > license (if any) the source has been released under? I think there is no any restriction. It's listed as code sample for article. http://www.wdj.com/articles/2000/0002/0002a/0002a.htm Note about 64K pages - we heed own pagefault handler to support SEG_FAULT signal ? ============================= Andrew G. Tereschenko ICQ: 220220 begin 666 src.zip M4$L#!!0``@`(`-6+R2J3X(IUCP$``#\$```/`"0`1&)G5')A<$-O;6UO;BYH M"@`@```````!`!@``)7TPO#PP $`"#QZN?+ `4 .8]:4,;\!K9'?;]HP$,?? MD?@?3IVT@80@C!=XZ$/FN"5;$E=)6FD2D@7A:#R!7=EN@?^^)OQLR[H]<%$L MZ^[R^=[EV^E<7R3JM4X'JB.8/.9Z_$348J%DN]SDJGQW,!C 3V40;N9*HSD4 MJH,H:<="&ICB3$AAA9*F!7;]A"[A;F@+*"HD3)0MP2JP)<+M?0A?8:K%"^H# M;/]>:K-Z[8N823<'\.#';9[Z=YRP.&8)+[FK51/CV=KFN>@?_FO$X .!%!AD M<.'==_L%.7^@:1:R!*#AK;J>YS4WQCUKC=*",\ XTV")WS2"NS2&XK&$R=HB M"%.95:_!)^%8B_$?I?>D-D1J^>;[A9"[<KMY.ME-&%$>T(>04#YD[%>8Y #> MR@WH]7N>=]H:,I)'5=-1>),A+*"-,YR6X_1[W1;$-!^R@"<TS(<T;6TU_>0W M]PFA6=9\+W&?G(K\6^+[_T@<19)\3TG\F&Y%HJO1*, 74>!H% GYO,K6IAC/ MYRE.A<;"*GUUXB;+/A J@#);AOD$XC HIV)6K[T"4$L#!!0``@`(`)B&R2IH M$J!LIP```%T!```,`"0`1&)G5')A<$1B9RYH"@`@```````!`!@``+B+=^OP MP $`"#QZN?+ `<#S7-:4,;\!?8]!#H(P$$7W)-QA`IMR!7$CEE2B"X6Z(YEH M'$@3;+3@^6-;))(8_+.9_L[K_,:JT3=J`)%+Y'EV%KA##(/8FDK3C^_*,@[A MF?"GSR271Z/TP.#>MY" $[^VHQ?93IK+8P51DMJ+.@Q@61/F7YKI/Y5^M]7: MKIEGVU157DHLRM.!0>?3C1:#/0D:MB]C2 ^%>78L@;4;\3AU/2W_<1S1-]7, M@TV>;=Y02P,$% `"``@`9H[)*DR*#1?.`0``@P4```X`) !$8F=4<F%P4')O M8W,N: H`( ```````0`8``"P%Z#S\, !``@\>KGRP %@>E[6E#&_`;546VO; M,!1^GL'_X9#"R$9PV&/8!9PX:;JVL;$5QIZ,+\>QJ",926X7QO[[)-EIL]%' M5T*W[QQ_Y^@[PO/YUU&:Z\SG8*<@/Q"1M9'@A?1J`UGXTV*Q@.]<(FP:+E ^ M&^RDO157IQ8EO(<2*\JHHIQ)Z"26D)^ JQK%F1LD[T2!<.1EAXV$9QXSQKJ/ MZUS1BNE<($V#Y36)_2B-XG"5I-LTU4:;);YN-!U_*10,)JO);T/%BJ8K$;XP M598/7OWM$GNB)HX%_US@D^&Z>O'JR2N&%3\>.;,VT\>LY3O3X+)=PQV$L 1? MK\FX0K]QZA'$.G-BQT]]6H^=__"2-X(?(<"\.R0H'FF!6\X?I%>T;>_B.CN2 M$)_L=?@;1I4I88MB^N&SL2W#\,[@4F5-\S_+U'7.MS%^D!NPQ_JO7UZ;ZSQR M6KI.0"S)`86),P3I34M!V2'@3^S?#-ZH#'O80:#%7^G=O19_I\NPU@A HG=[ MV.@^;CTNQ0A^A''@.K>8H/(K^V,YD5I@5O::1K=D&Z_]8&9/UANRP>\^D[W( M9WU>B'7&E"G8$3^Z<1W9:D55-86BS@1\S+NJ0C&#@NMJ#EC%Q3%3,_ \;Z"[ M0E;2RG7^`E!+`P04``(`" `EI\PJ,MVL@3H'```X$@``%0`D`$1E8G5G4V5R M=FEC94AO;VMS+F-P< H`( ```````0`8``"?!!II\\ !``@\>KGRP %@>E[6 ME#&_`;58_T_;R!+_&23^AWE4:IUK&J"]=VJ;HB>3&$A)$PN;*ZBJHHV]27PX M7FMW#<G=Z__^9G9MQP%ZTDD\2]CQSL[,9[[MC#DX.'Z6:V_WX #,K3^=AY+E MG2C/Z=VL'7WX\ $^"\7A-!62JYI@;H-EGO(ES[0"EJ:@%QPB$7/0`A9"W)I% M,8-1^$I!GT^+.2@N[Y*(*]S+-!*,F"6[Q94"E>#FNX0!RR#)-+R-.P"U-OI[ M+I-?)%F4%HATOS3:ER)2G<5^DY3$VJP\I^*#@QVZH'F=P1#&< (N/H/G5+:W MV_\ZONRCBIB<'UC?_\XC+20<P^'J_6&7`% D,\VE+'(-=Y:,T8AANC8AVML] M&8^'M'/ZE9]C8)%T#*?N,/"ZQ.Q*#O?<A!PI:ZX[G?M$+T"))<=;D9((?Q1. M!OT00*0Q/8]A=#4<=G=*`&.9S).,I4 TGFFYAAG"H)0RX.=<5LE#NB3/4Q;Q MIHU+MCHI9C,N@^1/CN+?_ONW7XX.W_[:M0J^L!48BIB!*"3P.]0"4\,!#I^V M-I*FM9@N/+S(W$@7"/0%29JN-3?)+R*FT7C"S*<;45FQ]-"8A*LG11$H;NF0 M9,;:)JZ]W8O 'XPFPW'OPO),TR?E6,-A**);]'2E/$^RF*\>,U@>7R04="I6 M4[B%E*39\%1@*AC_MQ(8P!?P80@>/CT800@N_@U@#*/GK811&(1N>!7L[0ZR M1%/)YUPZ&/2_]G:M0ZHGT(:$I90K&Q] :GS;W'K!-SL#]#5YWX&7TQ1:75)) M>R37A<S ZIX$5[V>%P1(_6%]:@ZW4\DY%+G)2FV!(9_"UZ@Z<.]$$N_MGL@D MF_?%??88OK<B*;X0J6/KJ]4%2]DNMU+SBURR^9+9Q)UHOM+.ON^>>?OM?M@O MRXV4H *D<;1@O[=O8< DYE&J<AXY&;OE,=7-%D\#E=),)Q%4^=B\U%I%J/V< M97'*I:]E6:8^DVS)4:6"G"DZA,K\+(N_<NR$J:7]]1?UB#IXO06/;DT9!C=! MSQT.)\/!R+OV>I-S=]0?>I=V9[3,#0S.5FTX['MN_\3S3A>6^'GD@0W>+.61 MGI18*RU?QK\;<C_X^,B*-G@GUW;;X-(+^\2SM_M T$>[P;\*SDWLW.N&`2JA MI@J*98E>0T3F;*O%[>TG==MMO2_^9MMA:9"U!S(Q6=CME<(:P\GU0_-PJ5V& MS@\OX9L7^*_??Z].#\E93$U"IB@0O($/,RF6%/&'>!^):!.V2H[BVG!CE$N# MH(0(CP"Y3P!Z??3VNQ$T)T'!8QC!U<F&^]>_AT;"2G0H\5XFFD/&[XW<GW.Z MU]]-V#='J^E-QBR1H64Y=8K:5R4V*R\791Y.5W;!WO^HTG.5Z&;(-@'\^("? ME?QYH1;T?//N/?SD0H!$/3X&;S0.;@(2W%2T$;VS)3J17,?VYX_R'*G/L'"1 M*)@7:V"F.:9K2#(T-$V5*5XS#8ILT\[K7F['C8X1<FD.2P7AY94'R8SZ?"TN M3F)@V5HODFS>MK,';<F$[M33(8S&H??18I&BT$G&P4F36PX"%<NRQ2(QELD= MERW G\B":R:;%9MQ"V1<2+A?""K#8JK62O-EU1\1"E_E"%H!`X5@<%,D,BUQ MMWQ3+I X"AB*<J:%AHAEL&!W'):%3A,J;Y-;4CD1QJO5ZFQC5@M1I#$Y2_*9 MD-P($AFJGJ(R= >/R;U)C/Y!QZB<Z6A1<YL"($>?70W:(&39RXT00LI7FO+1 MG*G&M%<*[H6\I5' .H)&\+YQ$<TN:R/D*DL%BSO6U78@I%9J8MQO3)<T'CHV M2:K+#(]3(M3Y%\JB_DJHHHFODB_%';?<FRY238YY$NL3IOBFEU7ETFC>;IDC M)"X6_]FF)S-PFC/L<0FK57:2#>ZR;Y<S;GG5N6].@-"72:8=</9)!JK<;YG& M_\0T`4K+(D*)W'2FA4AC@H@/&G=5!<ZI>K4UL$6 =NK^[91^:(&W<LN!TS3\ MD<A\-N<QO;3A@H^*Y91+^J+A2@FI?E')GUS,G)*]POACYR'6&O-0T+&"H9#F M$RZO1<%+6\H_J^-M262K`]&"28CRXOBP2X]/CP%VX?5KI#3"4 ?"OPC/+SVW M#WEH<_,8#3SCNF>KT2XZE4EF* NX=F>SA-IG2:Z8VW#TZ9-1U&VHJ-!:TU&V M/2-JHU\I\TTRI<QC<2QQ\2G>1G:B#.2@%\=JJC?9!&SFW /N;T]]JGWOH$T. MI5QSSFKO[9I!>@?CV@O:4+VBZLGIT#VK!IZ)?^D%WBB$_S[:T?>'D\-W3Q#< MX5?W)CB<V,I\3 ]O?&\2W 3OWO\V. LWNE_:;/U&@8;OZ.=-V5 G217_!U:C M)[?$=6$SZ?W83$QUU@8F=+P\Q3!LK$P#C%UT:\Z7(J,NM)W3VW+^6<+]?;8Y M1Y^>R/;6FZ-&`C;PCP30H4,G@P&<B?M.IV/^AR*IT=&QMLW4_!S_5_W2W;BI M/,:HH5:C__\`4$L#!!0``@`(`"&IS"JWFZ4RO@D``,XC```/`"0`96YT<GEP M;VEN=',N8W!P"@`@```````!`!@``#-GPFKSP $`"#QZN?+ `:"'8=:4,;\! MM5G_;]K($O^YD?(_3'-Z+4B4M'=]3VJCM") 6O>(C< T.CU5:+&7L(W9]=M= MAW)5_O>W7VS\!9/0*W74`O;,[,QG9F=FQ\='O\4<W2P1K!"GA-XT("0"S2(, M;^'U[R]?P>M_OWH-KU_^YV7S^.CT]/P@EY8$YK\^E7P=,T*E: =QK.^9^Z_> MO'D#GYC <!DQCL7F@?FORZA$A I 401R@4%(1$/$0\!*'K'R`'^+<2!Q"+,U MN'X;.I%@$*2L1D[&3BB1!$7D;R0)H_ ,@@@CFL2*.L0P9QQ"3NXPAT9"FQ%# MH0*JO5'GD+C\1F@0)6K1D][LQN<H'G(6B/;BY/A(__W<0IK_B;FNH -=&($' MXY\7>E#50%T^_ 5#Z$-/_;L\E(9I_/1&SN?^:#KV.WX?B(!$V !A"8>N]OHD MAGE"`Q,(DD&()>9+0C&L%DC"BO%;(X=(H!B'0M/,,(2,XC9TA FG-%@"MHPC MQ2X4\7-1#;(5MG)HP/$24VF)A$12"0)G#H@"YIQQ8$&0< %AP@F]`:4$HFN0 M9&D%=--0#1G.]X-6$Q(:,LUA%<?/[ZR:H(B5TE+?-3NE;<$Y/I+K&(=X#I@F MRQ)0QT??CX^T9\ROJ>,ZOM,9M&!S*3VN,; 5!<J 8Z'0#/2FS7D^=L87D\O+ M_JA5XM%**:59@/1&U4[ =QJ,63*?8UX1T.M_=KK]<:LJ0"%HV)'RUAT)E"*S MKSB0%>Z!X_Y95;G,+=;+&8M(`!&AMT7N*T]9[(T<]T.9FV-8,':KF!6,S/H> MSY*;&^5]@;G6Y?CH_NRP>_<##,"#"^BHSX/LC=*64)>)P3-CXQCC\HX)B0@2 M(70`HQF[PX<S[%(9-8)K9=8(>DH+O?F[RD3]NP,^..JY>QB#\3>).863[LGQ MD>MKPR9*;L_L6E.0&M;YC@O#U'KOXE._ZX.E\4QXM7*BB>MTO5Y?861B9(1O MB%!BAD@N-(DE;)X=)E5N0V=#\E)!- #MP;$"SC,9%$R.GQCX7/5[?,C%-SGU MBMUA839OL,#X[[6-(%BB8*$3YV9O4 6\?699"8W4\W(`*H\HJK$F:C0W>0=. M3Z=(+/6WB 6W.FMF@HP/J'*H?H!#)\NG#6@,!Y[[H?G,:F/AU]0<RT2YWX;Y M\=%]J3[L:TO,\1UAB7C<GF%*6;5I;Y-Z^.=,4@K$B*=6I;7)5JV$ZF8&AVWP M%T1 @*B^&Z HPB',.5OJ4K-:8&Y+#642OB9"&@`L+W"62*)K'W3H&N9(HLB6 M+0$K$D5&F*)7TF=XSE)!(B:<1+HVA6Q%5[IQTZ66L65:B^X8">'X**UMZ7;4 MUP/[,2?*,:YLS(22:T+_^-U%2SR6NIR>&3I+W/.'ZI9&^20KJA:*IT]/H%E M6ZR(#!;02&.C:>]^SQ4(D,!;I>-M_MPZ6'%'44_7B[&M%1\9NVW 96<P[IO5 M:L2E=:PB2_<U6+<:QC.Z>EGO&8?;DDB5R1ID9+\1:D@-&N:.B%&@O%B6.Y*1 M0XF<4*(;88M8`YYMP]B"GC>>VOH\=3M79?V-N<QJ.$YK[$ I62NJ@/.V[6D' ML&W^):$*S+6RUL!0,)Q5@J.H3,^0-$IA].*=O6M_/:B-;6AJE.'8=%E:"\E1 M'&->;8JRZT*;W&,KZENZQL[UTJ:KLIJ-P/,R307Z&<?H-KUG,L.]30Z_I@S9 MRP4?H&\^1O 7P! \4X+\0Y>@S8J;=/<1T3!2B.MCFTX^SF@XO?HT[0Z\<=\2 M935?\?3\;L0$;N1EVA1]&\AIDHE[7JOP4,F#V.%QH;*;?)-E]>P3/NE4F1T" MS';3K)3QI0[5,KD6^.*=PW212$3;?J1^G8RGXTFWVQ^/SS(U6#<5.\+_2["0 M#<W?`L>;NM[4<;NC_E7?]:%I&$HE8EO@?:%4%+%+<4NQZ'JN/_(&\&R#YZAO MRIL].I0@[1$1(QDL#H&J2?J?/:>G(XS0.)$7YFBP\?LYN)-!%O(;2I;(+=(2 M9>_:&U5E#C"],1W;.;RLDA4%9G0YV<;\!RYA?5JZ-@YV/7_J7 T'QF_]7N;H MH?*HHNC^.1UXW8[O>.X3#=)8HN!6,3OL`Y;=A'-,979[H,]2A%$3$ED`U$2G MXK2-C#X"VH[ CD*4F:?6VO04!HB&]G0:&<-S4?9;C5?.8:/FBW=#Q-%2'Z-% MVZ96';Y4<A:U_76,_W!R_A3.&N^=IUMD(C OT=;X;]_5G2IKS?*IS'U%>ENL MJ<S:;>[0N<X&9AZ@@PEJ_)1M)I@A/:I0E$OTE7&8!]2,I[*:G;%DS4E!WRO- M<)D.-9HI_7>HE)G2OGX+VW7F@814+C5YTJD*+R<3O<B32N>U@[#QK[!YTMK7 MK]FWKL*GN=6**%!S5!6>CM?U!U5[MU'<?\&RJ.^5WSDF>MWI1\_3[=R3+2 V M3T^V3<@N,H?&[D[2'TWZNG&MY_U>?]NDL_P(MF/A^UVL]>2[PJ>>.FM8'L1M MXCZ,G'W^C[%+N_!_`%[EO+<;P$-"M9\K0CQ'223?UM.?GL+[]W"MCWL0DM"> MV@*VQ/8P\?[]?@KO*&7[:'Z_(YODM^LM^$'-?U#CQY/VSFZ[D-#3>:&9P*Z( M7(!SZ@&W[5L;8(0#IH_!]F6&5H_-;<^HR)#)W&UXN%>T?(7LJZL'H\\ES!@3 M$F).&"=R#:L%IFD_J ]<@M `6\PD8[<0$2DC;";,[9]O.'.M[M-&Q/[I3LUT MBQ,S2-B<\1\>NF54NCF$NI.[E:;,JA[:LUE"29QY?E]4*WL=IDOK5.";QHD^ M5)TT?_VD...@N6...?34D.[:4%3P'<-0%Q9G7[L.R79!KL`1#8U>@$F ME\)%0J+PJ4F_4-^ .MG[$ PW$9NA2%0:F1U'VX<$Z0U3?'50E&7VB*8M'K4W MA>"IZV>IMF&IE>JP-=DISHA8$H5Z=Y%\_8C0Y)LY\X-8S\1:2+RLE*#=<9A1 ME#=.X=Q>7YH+*6;C(_U>R+S62-]);$U",F!V3WB*<=("A4[=="?'E=GUTHE* M3<JOV1"EZV4+=A2E:Y,U%=")P/D['CW$I_I%1(VL+?UK:"Z=03^S27<*CNO_ MF%HNRU\[ISH%"\11(#$G0I) U*VJVXI6G3@S@77&YK7?MR!*A((KE5MG83$1 MU#RO!L?N&-\KQ(-J,/UT4#\:UJ5&IF;7C[',9FQAULS/:2"JI]/R;*]T%/IO MZ<CS11\<\^'%V?[L>K+T!2R[&2?MSUL^YWQY7 /[RU8Y0VV_GM5BE.: RIM- M,]W1KOPP<8IH/981]I[Y;F6%\M!W=^N<[=VME727_Z1N9S\B+"__>@/4Q/\/ MAW\)R5^7VHNA7\-W7].H*%/^#U!+`P04``(`" "]J,PJI9*/^M4&```I%0`` M!0`D`$E$5"Y("@`@```````!`!@```>[5&KSP $`"#QZN?+ `:"'8=:4,;\! MK5C[;]K(%O[9D?(_G-656IS+$AYI;@M+*Q)(PM8+7.RTBG0E:X+'8=2)Q^L9 M0J(H__N=EVV@A&RC0"#VF?.=US>/@_?W#@^[;_)2ED!_D4C4YNI*WS4^??H$ M?S*.X8RR#/-B0'^=L@B#8'"+DD6ZH$A@&"8"9]DB%=#'?):15+ ,`G1-,0>6 MP/W'8T@S-L.<LXP7EO+/6R7S+Q(G$8XA'/:#\"*4`GE'$EP*S/M-R_?LZR_H MP2E,80P^O*7/(BVG/_1[)]X@'(X"W_DZG/[7@S#L$T8CDOU-P[ #_]O?>RZ\ MKWB*",=#J5F!B^'Y1>@-O@V\*KQ;LP'N3BLAXK?.(Z0+/H\CYTG+7E:?4:+N MC/KSVF6F@U&9J/.HK:0LC:/2RLY,/;;$F<YT+3>W8V;#IE<I&05PR3$',<<0 M,TK9DB0W<(?H0@ICE@$1[SFTFK]?$P$Q10(XIG@F[/1>84F:"D]]IU*__^BN M"2^-M'&R+NYK:;.U+CW3TE;=-1'K&,\HNC'!#/N!"N)&!C$3A"5J>"4"-?O/ MO-YY>-$;];W!-)Q,!_Y@%#@RIGJ]#H<'0(H%/$=)1'$&:88Y3@0<'#YO9S0. MK"E=N?I]_5ES<8;Q5EO]B1=*T.:KM"45H MU"=Y_!MW8@FZNH1L[T$W'D84X M6M-O[M!O;?%VO(9N;4?WO.^]*[\>GO4\?Z!\YAE^^;*U,KE^,+W4ZHTU]6)M M%/K!U600^E>^8F3Z;=!O6!>.Q"@RLSL<K3CZ&=C\>!SXOHZL86!2`E($Z X1 MJK;SG7BO'VAPTX IFR$*47D@B!<M2'\G_I4VTEJ/X'K!'UZ"GIX;_T<E5$9 MX48=4;NP0<__:K$?#%8@_N-EG/0PM+CCTF<Y^?^)@< :^$]I0&0H?1F;T]Q4 MZ(\;-*,;1)*=\%9)]B<#;OT2V;G[EK+0>XW[G.F3=?<O,MTJF3XMH?^,Z3SJ M(X7NOR;JG/!!Z?H7"&^5A)^5!M8(+_9W7V2+F= ;/)JIWDD=07J;OR;"'C/B M(<6JY5DDA"7%U@&/^WO.]_&T#TMU2'3D'3?&'LMCTKD\O>A-83'S!9K].$T? MVA^48B&>VK*T6YTMH$ Z;A]UU@_P8K1'E^B!U]N-;=!^2MO-;0,3<^1HE/,D MOY[RA*IP,,FOI?S-NBEIR%&OU=T\@"N8P #Z\G,&_MNV;KHQ2#-T<XL@E66O MZ-:I"I/I0!WB;LFH)6P4J.9U?R]GU%EZ;!SSCN,<'H+'EO"=91&P6'<J0W_Z MGLN;F&-1Z/NV,>DHA-'(>Y5"1[<2QJ:^+ 8N2.'L@A2^UOVHMRJ<FH_F/P1S MPF'.V \.2$]+&"0B>U"_&E)&$J$N$"1X:8W4I$,5G0"*T9WMNV:++%,=2)HQ M8?H:&;@0)+F15K7*@X&A#->@%T5$Z2!*'ZI !&18+++$MG"J0S.NE&LI,DA& M(Y5,WJ74)/M,.8$9NTTI%I@^Z"A70C# 6/=>"X[!QZ+BPC6F;%DKZR"U[AB) MX$+6H *3;^-A7QF2Q:S:NW1,(WG;'5UZ'KA[SJ/CJ-6WVM,K*PZ)H9(KPV]= MR/4=YZ RZ2N6W'RTZU0,87_\T3AVX=]@Y@IT]J2ZN7:<+BA,Q03CRC''LEP, M52K&K%7Y_%D9TZVRL]J(JS7Z:]2CS;+JC3/?-XOJP65"R0]LIWZ[K6OH5B5K MTC*^3RF9$2$M2)X,NPK]GA?PDJPJ7#,Q!\E]K@84WV$*[X#<%G:61.KH*6$- MS-0/W'R-0(HXQ]$6;A7SEDRF>-4;;@ZSMWJ>5&TJ<*"8&D9"D^Z"MOBXR?J^ MI=VP+K5+UM7D<S3 L6._?[8<2_+LSK QG"]_I5!L!1LZYI>$TC ;P<9P,3WL M=J">R8&[.*Z2FE!U;\\E6WN3,ICPMGS\Q 5DR_'?//L<5E*<Z0]-*MY-7. M0A()5VH\4^,R>*V9U_*G^/-1_^<\5L&F=K">3SZ85^ZG))3 ;%5PH&9XY\6\ M?C&MVJZL:CN3JNW(J?:*E,P!FV\69KOHG;=A^/X6%@F?LPR#F.OE2CC(OSM$ M201Z0:ZBI;V3\=B#(?^F%"JNU$BXR$MB?5? ;H<NO'LGK_-,NUW]D]P%MPCL MR:Y0U6>8J\[F,<W2U5/Z=8^15AXV#.$OF( '`_E_`",(H"<_0QC+Z]>9+AN+ M)<H2DMQ4(")<]_%M.*JW/H"K3JY E8;%,23,'I'FL4:.6GG <([50PZU=>I] M_!IQK+O1C</9/-8S*))0U??:(CIA&",N=&LNC4G)B;11<74[HY\'J4<Y\ AP MR^X`H_LJA)/3*7R57S7E$IX<24Y._;8,<8P65!09V@X+)Q&)]_X/4$L#!!0` M`@`(`,!K"2&BWX6_X@````L!```(`"0`34%+149)3$4*`" ```````$`& `` MA,&WW86[`0`(/'JY\L !0 YCUI0QOP%3YN525G#Q5_#S#U%P=?$,40CQ\ Q6 M<//T<5545%10<$W)+%'0BRG.+RU*3BW64\A,4ZC,+U4H3\PK42C)5TA,25%( M5,A++5> J `9EI:9DPJ2*\G(+%9(SL\MR,]+S2O14U (`0F 97-3BU)S*A4R M\U(RBU*32XHARE,5BE(3<Q1R$[-3P<I AI5D))8H`+459R06I:8H)%4J).;D M@-6F%&66I18A+"A6R$\#2X0#C<TO+U;P"U%P<?$&&L++Q<NEZ.GG[!/JXJJ@ MHN$7XNOH[>KJ%Z89`[(*9)->2FH:+Q<`4$L#!!0``@`(`*.2R2H_+&B_#P$` M`%X!```'`"0`4T]54D-%4PH`( ```````0`8``!=9LWW\, !``@\>KGRP ' M\US6E#&_`46046O",!2%GRWT/_3!!WVH,C;&$/H0<Z\:S-*2I)5!(6BM4N;: MH*W@OU^JCCTEW.^<W'.BB5RB%N03(]@=]7EK?>\Q2XA>17'7VJ[]&^FOQ,DD MRU#ZGN\Q07D*J*+A:$X4`I/CO*J+'JDXE=01K-OSS395W5XFA;5![GL#*'?= M497G:U64JZ;YOI/!H+?Y'C6 "R:<-814,!H#!B$H+1G5[@*QT:AT<%__^O%N M-D0*)I:&8X8\FF[>>L*96*,T"TZ6[IV?K9T-1_^EQOEP1).T/P#6\Y1Q0)&- M\V?_B=,'O:FJ#\WL5-7E)0CW?>;V9LM9<0VF=;,O#]ONU)ZJW2/V,_P*Z1K! M$*Z-^XWHY1=02P$"&0`4``(`" #5B\DJD^"*=8\!```_! ``#P`````````` M`" `````````1&)G5')A<$-O;6UO;BYH4$L!`AD`% `"``@`F(;)*F@2H&RG M````70$```P````````````@````X $``$1B9U1R87!$8F<N:%!+`0(9`!0` M`@`(`&:.R2I,B@T7S@$``(,%```.````````````( ```-4"``!$8F=4<F%P M4')O8W,N:%!+`0(9`!0``@`(`"6GS"HRW:R!.@<``#@2```5```````````` M( ```/,$``!$96)U9U-E<G9I8V5(;V]K<RYC<'!02P$"&0`4``(`" `AJ<PJ MMYNE,KX)``#.(P``#P```````````" ```"$# ``96YT<GEP;VEN=',N8W!P M4$L!`AD`% `"``@`O:C,*J62C_K5!@``*14```4````````````@````DQ8` M`$E$5"Y(4$L!`AD`% `"``@`P&L)(:+?A;_B````"P$```@````````````@ M````KQT``$U!2T5&24Q%4$L!`AD`% `"``@`HY+)*C\L:+\/`0``7@$```<` M```````````@````VQX``%-/55)#15-02P4&``````@`" #1`0``,R ````` ` end |