*BSD News Article 7974


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!network.ucsd.edu!usc!zaphod.mps.ohio-state.edu!uwm.edu!src.honeywell.com!The-Star.honeywell.com!umn.edu!csus.edu!netcom.com!alm
From: alm@netcom.com (Andrew Moore)
Subject: printer patches (interruptless driver not included!)
Message-ID: <1992Nov21.024828.22913@netcom.com>
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Sat, 21 Nov 1992 02:48:28 GMT
Lines: 189


In article <1992Nov20.035734.2949@ultb.isc.rit.edu> you write:
>I recently installed 386bsd on my pc. I downloaded the binary
>distribution from agate.berkeley.edu. But the printer (LPT1) never
>worked. I found out there was no "/dev/lp". I tried to make one with
>"mknod", but I don't know the major and minor device number. In fact, I
>don't even know if my kernel supports the parallel port. I noticed that
>in the MAKEDEV file, the printer part was left blank. Can any one tell
>me how to make my printer work? I'd appreciate it.

Here are some patches to set up the printer.  Read them carefully, and
you should have no problem.  /dev/lp should be linked to /dev/lpt1 when
you finish.  If you print binary data, you may need the interruptless
driver.  It is a drop-in replacement of lpt.c and you need only change
the minor number of /dev/lpt (to 49, say).  But try this first.
-Andrew Moore <alm@netcom.com>

begin 644 eh.cf.lpt.patches
M2&D@3F%T92P*"DEN8VQU9&5D(&)E;&]W(&%R92!B;W1H($-H<FES($9L871T
M97)S)R!A;F0@17)I8R!(875G)W,@<&%T8VAE<R!T;R!T:&4*97AI<W1I;F<@
M,S@V0E-$(&QP="!D<FEV97(N("!#:')I<R=S('!A=&-H('-O;'9E<R!T:&4@
M<')O8FQE;2!O9B!T:&4*<')I;G1E<B!N;W0@8F5I;F<@9F]U;F0@;VX@8F]O
M="!I9B!I="!T=7)N960@;V9F+B @270@86QS;R!A;&QO=W,@=&AE"G!R:6YT
M97(@=&\@8F4@='5R;F5D(&]F9B!A9G1E<B!B;V]T('=I=&AO=70@:6YC:61E
M;G0N"@I);B!A9&1I=&EO;B!T;R!T:&5S92!P871C:&5S+"!Y;W4@;6EG:'0@
M=V%N="!T;R!M96YT:6]N('1H870@=&AE(&9I;&4*+V5T8R]H;W-T<RYL<&0@
M;75S="!B92!S970@87!P<F]P<FEA=&5L>2!A;F0@=&AA="!T:&4@9FEL90HO
M<WES+VDS.#8O8V]N9B]F:6QE<RYI,S@V('-H;W5L9"!I;F-L=61E('1H92!L
M:6YE.@H*:3,X-B]I<V$O;'!T+F,)"6]P=&EO;F%L(&QP="!D979I8V4M9')I
M=F5R"@I&:6YA;&QY+"!)(&AA9"!T<F]U8FQE('=I=&@@=&AE('-Y<W1E;2!R
M96)O;W1I;F<@=VAE;B!P<FEN=&EN9R!C;VYT<F]L"F-H87)A8W1E<G,N("!4
M:&ES('=A<R!S;VQV960@8GD@<F5C;VUP:6QI;F<@=&AE(&9I;&4*+W5S<B]S
M<F,O=7-R+G-B:6XO;'!R+VQP9"]L<&0N8RX@( H*1V]O9"!L=6-K+B @5&AA
M;FMS(&%G86EN(&9O<B!M86EN=&%I;FEN9R!T:&4@8G5G(&QI<W0N"BU!;F1R
M97<@36]O<F4@/&%L;4!N971C;VTN8V]M/@H*"D9R;VTZ(&-F;&%T=&5R0&YR
M86\N961U("A#:')I<R!&;&%T=&5R<RD*4W5B:F5C=#H@4F4Z(#,X-D)31" P
M+C$@;'!T+F,@+2!A;GEO;F4@9V]T(&ET('1O('=O<@I-97-S86=E+4E$.B \
M,3DY,D%U9S,N,38S-C0W+CDV,CE ;G)A;RYE9'4^"E-E;F1E<CH@;F5W<T!N
M<F%O+F5D=0I297!L>2U4;SH@8V9L871T97) ;G)A;RYE9'4*3W)G86YI>F%T
M:6]N.B!.4D%/"E)E9F5R96YC97,Z(#PQ.3DR2G5L,S$N,C,T-3,X+C$Y-C@Q
M0&-S+G1U+6)E<FQI;BYD93X*1&%T93H@36]N+" S($%U9R Q.3DR(#$V.C,V
M.C0W($=-5 I,:6YE<SH@,3@*"@I796QL+"!))W9E(&9O=6YD('1H92!M86IO
M<B!P<F]B;&5M("A)('1H:6YK*3H@;'!T:6YI="!A<W-U;65S('1H870*=6YU
M<V5D(&)I=',@:6X@=&AE(&-O;G1R;VP@<F5G:7-T97(@<W1A>2!H:6=H(&%F
M=&5R(&)E:6YG('-E="X@($]N('-O;64*;6%C:&EN97,@=&AE>2!G970@<F5S
M970@;&]W+B @5&AE<V4@=&5S=',@;VX@=&AE(&-O;G1R;VP@<F5G:7-T97(*
M<VAO=6QD('!R;V)A8FQY(&)E(')E;6]V960@*'1H870@:7,Z("!E=F5R>71H
M:6YG(&EN('1H92!M86IO<B!I9B!B;&]C:PIA<&%R="!F<F]M(')E='5R;B@Q
M*3LN("!)('1H:6YK('1H870@:70@:7,@861E<75A=&4@=&\@8VAE8VL@=&AA
M= IS=&%T=7,@<&]R="!I<R!R96%D+6]N;'DN"@I;($EN(&$@<V5P87)A=&4@
M8V]R<F5S<&]N9&5N8V4Z(%T*"@I&<F]M.B!#:')I<R!&;&%T=&5R<R \8V9L
M871T97) 86]C+FYR86\N961U/@I4;SH@86QM0&YE=&-O;2YC;VT*4W5B:F5C
M=#H@4F4Z(#,X-D)31" P+C$@;'!T+F,@+2!A;GEO;F4@9V]T(&ET('1O('=O
M<@I3=&%T=7,Z($]2"@I;+BXN70H^(" @("!F;W)G;W0@=&\@861D('1H870@
M22!D;R!H879E('1H92!S86UE('!R;V)L96T@>6]U('-O;'9E9#H@;'!T(&ES
M"CX@(" @(&YO="!F;W5N9"!O;B!B;V]T(&EF('1H92!P<FEN=&5R(&ES(&]F
M9BX@5&AA;FMS+@H*5&AE('-O;'5T:6]N('1O('1H870@:7,@=&\@;&]O:R!I
M;G-I9&4@;'!T+F,N("!!9G1E<B!T:&4@=F%R:6%B;&4*9&5F:6YI=&EO;G,@
M;'!T<')O8F4@=VAE<F4@:70@=W)I=&5S(#!X9F8@=&\@=&AE(&-O;G1R;VP@
M<F5G:7-T97(L"G)E861S('1H92!V86QU92!O9B!T:&4@8V]N=')O;"!R96=I
M<W1E<B!I;G1O('8@86YD('=R:71E<R P># P('1O('1H90IC;VYT<F]L(')E
M9VES=&5R+B @5&AE<F4@:7,@=&AE;B!A(&)I9R!I9B!S=&%T96UE;G0@=&AA
M="!I<R!E>&5C=71E9"!I9@IT:&4@=F%L=64@:6X@=&AE(&-O;G1R;VP@<F5G
M:7-T97(@:7,@<W1I;&P@=BX@($1Y:V4@;W5T(&5V97)Y=&AI;F<*8F5T=V5E
M;B!T:&4@;W!E;FEN9R!B<F%C92!O9B!T:&%T(&EF(&)L;V-K(&%N9"!T:&4@
M<F5T=7)N(#$@:G5S="!B969O<F4*=&AE(&-L;W-I;F<@8G)A8V4N"@I;(%=H
M:6-H($D@=&%K92!T;R!M96%N('1H92!F;VQL;W=I;F<@<&%T8V@@=&\@8F4@
M87!P;&EE9"!A9G1E<B!(875G)W,@"G!A=&-H(&AA<R!B965N(&%P<&QI960Z
M(%T*"@HJ*BH@;'!T+F,N;W)I9PE&<FD@07!R(#$W(#$W.C$X.C4Y(#$Y.3(*
M+2TM(&QP="YC"5-A="!!=6<@,34@,3<Z-# Z,C<@,3DY,@HJ*BHJ*BHJ*BHJ
M*BHJ*BH**BHJ(#$R.2PQ,S0@*BHJ*@HM+2T@,3(Y+#$S-2 M+2TM"B @"78@
M/2!I;F(H:61P+3YI9%]I;V)A<V4K;'!T7W-T871U<RD["B @"6]U=&(H:61P
M+3YI9%]I;V)A<V4K;'!T7W-T871U<RPP*3L*(" ):68@*&EN8BAI9' M/FED
M7VEO8F%S92ML<'1?<W1A='5S*2 ]/2!V*2!["BL@+RH*(" )"6]U=&(H:61P
M+3YI9%]I;V)A<V4K;'!T7V-O;G1R;VPL,'AF9BD["B @"0E$14Q!62@Q,# I
M.PH@( D):68@*&EN8BAI9' M/FED7VEO8F%S92ML<'1?8V]N=')O;"D@(3T@
M,'AF9BD**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B Q,S<L,30R("HJ*BH*+2TM(#$S
M."PQ-#0@+2TM+0H@( D)1$5,05DH,3 P*3L*(" )"6EF("AI;F(H:61P+3YI
M9%]I;V)A<V4K;'!T7V-O;G1R;VPI("$](#!X93 I"B @"0D)<F5T=7)N*# I
M.PHK("HO"B @"0ER971U<FXH,2D["B @"7T*(" )<F5T=7)N*# I.PHM+2TM
M+2TM+2TM+2T@"D5R:6,@2&%U9R=S('!A=&-H97,@9F]L;&]W.@H**$UE<W-A
M9V4@:6YB;W@Z,S0S*0I296-E:79E9#H@9G)O;2!S;'5S=&PN<VQU+F5D=2!B
M>2!A9V%T92YB97)K96QE>2YE9'4@*#4N-C0O,2XS,RD*"6ED($%!,3 S.3$[
M($UO;BP@,C @2G5L(#DR(# U.C P.C,V("TP-S P"E)E8V5I=F5D.B!B>2!S
M;'5S=&PN<VQU+F5D=2 H-"XQ+V5J:"TP-C$W.3(I.PH):60@04$Q-C(U-#L@
M36]N+" R,"!*=6P@.3(@,#<Z,# Z,#D@0T14"D1A=&4Z($UO;BP@,C @2G5L
M(#DR(# W.C P.C Y($-$5 I&<F]M.B!E:FA <VQU<W1L+G-L=2YE9'4@*$5R
M:6,@2BX@2&%U9RD*365S<V%G92U)9#H@/#DR,#<R,#$R,# N04$Q-C(U-$!S
M;'5S=&PN<VQU+F5D=3X*5&\Z(&-G9$!A9V%T92YB97)K96QE>2YE9'4*"@H*
M4W5B:F5C=#H@=6YO9F9I8VEA;"!L<'0@<&%T8VAE<PH*=&AE<V4@<&%T8VAE
M<R!F:7@@=7 @;'!T+F,@86QL;W=I;F<@;VYE('1O(&EN<W1A;&P*82 O9&5V
M+VQP=#$@87,@82!C:&%R86-T97(@9&5V:6-E(&UA:F]R(#$U(&UI;F]R(&1E
M=FEC92 V- II+F4N"FUK;F]D("]D978O;'!T,2!C(#$U(#8T"E1H92!L<'0@
M<&]R="!H87)D=V%R92!I<R!E>'!E8W1E9"!T;R!B92!A=" P>#,W."!A;F0@
M:G5M<&5R960@=&\*:6YT97)R=7!T(#<N("!.3U1%.B!A(&UO;F]C:')O;64@
M861A<'1E<B!W:6QL('5S92!A9&1R97-S(#!X,T)#"F%N9"!M87EB92!I;G1E
M<G)U<'0@-RX@5&AE(&UA>6)E(&EN9&EC871E<R!T:&%T(&D@:VYO=R!C97)T
M86EN"F)O87)D(&1O(&YO="!H86YD;&4@:6YT97)R=7!T<R!P<F]P97)L>2 H
M1$]3(&1O97,@;F]T('5S92!T:&5M*2X**'1H92!$3U,@:61E82!O9B!,4%0Q
M(&ES(&%D9')E<W,@,T)#*2X*"E1H:7,@<&%T8V@@:6YS=&%L;',@;'!T(&%S
M(&-H87)A8W1E<B!M86IO<B!D979I8V4@,34*5&AE(&-O;F8N8R!F:6QE(&ES
M(&EN("]S>7,O:3,X-B]I,S@V+V-O;F8N8PH**BHJ(&-O;F8N8RYD:7-T<@E3
M870@36%Y(#,P(#$X.C0X.C X(#$Y.3(*+2TM(&-O;F8N8PE3870@2G5L(#$X
M(#$Y.C Q.C4R(#$Y.3(**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B Q-C4L,3<P("HJ
M*BH*+2TM(#$V-2PQ-SD@+2TM+0H@("-D969I;F4)8V]M7W1T>0D)3E5,3 H@
M("-E;F1I9@H@( HK("-I;F-L=61E(")L<'0N:"(**R C:68@3DQ05" ^(# *
M*R!I;G0);'!T;W!E;B@I+&QP=&-L;W-E*"DL;'!T=W)I=&4H*2QL<'1I;V-T
M;"@I.PHK("-E;'-E"BL@(V1E9FEN92!L<'1O<&5N"0EE;GAI;PHK("-D969I
M;F4@;'!T8VQO<V4)96YX:6\**R C9&5F:6YE(&QP='=R:71E"65N>&EO"BL@
M(V5N9&EF"BL@"B @:6YT"6QO9V]P96XH*2QL;V=C;&]S92@I+&QO9W)E860H
M*2QL;V=I;V-T;"@I+&QO9W-E;&5C="@I.PH@( H@(&EN= ET='-E;&5C="@I
M+"!S96QT<G5E*"D["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,C$T+#(Q.2 J*BHJ
M"BTM+2 R,C,L,C,T("TM+2T*(" )>R!A<V]P96XL"6%S8VQO<V4L"7)A=W)E
M860L"7)A=W=R:71E+ DO*D0J+PH@( D@(&%S:6]C=&PL"65N;V1E=BP)"6YU
M;&QO<"P)"4Y53$PL"B @"2 @<V5L=')U92P)96YO9&5V+ D)87-S=')A=&5G
M>2!]+ HK( E[(&5N;V1E=BP)96YO9&5V+ D)96YO9&5V+ D)96YO9&5V+ D)
M+RI%*B\**R )("!E;F]D978L"65N;V1E=BP)"6YU;&QO<"P)"4Y53$PL"BL@
M"2 @<V5L=')U92P)96YO9&5V+ D)96YO9&5V('TL"BL@"7L@;'!T;W!E;BP)
M;'!T8VQO<V4L"6YU;&QO<"P)"6QP='=R:71E+ DO*D8J+PHK( D@(&5N;V1E
M=BP);G5L;&]P+ D);G5L;&]P+ D)3E5,3"P**R )("!S96QT<G5E+ EE;F]D
M978L"0EE;F]D978@?2P*("!].PH@(&EN= EN8VAR9&5V(#T@<VEZ96]F("AC
M9&5V<W<I("\@<VEZ96]F("AC9&5V<W=;,%TI.PH@( HM+2TM+2TM+2UE;F0@
M;V8@8V]N9BYC('!A=&-H("TM+2TM+2TM+2TM+2T*5&AE(&1E9FEN:71I;VX@
M;V8@24]?3%!4,2!I<R!I;B O<WES+VDS.#8O:7-A+VES82YH"GEO=2!M87D@
M<F5P;&%C92 B24]?3%!4,2(@=VET:" P>#,W."!O<B!W:&5R979E<B!Y;W5R
M(&AA<F1W87)E(&ES(&%T+@H*5&AI<R!L:6YE(&ES(&%D9&5D('1O("]S>7,O
M:3,X-B]C;VYF+UE/55)?4UE35$5-7TY!344*"F1E=FEC90D);'!T,0EA="!I
M<V$_('!O<G0@(DE/7TQ05#$B('1T>2!I<G$@-R!V96-T;W(@;'!T:6YT<@H*
M"D%P<&QY('1H:7,@<&%T8V@@=&\@+W-Y<R]I,S@V+VES82]L<'0N8PII="!D
M96QE=&5S(&%N(&5X=')A(&-O;6UE;G0@9&5L:6UE=&5R"G)E87)R86YG97,@
M86YD(&%D9',@82!H96%D97(@9FEL90IM97-S97,@=VET:"!T:&4@=6YI="!N
M=6UB97(@<V\@=&AA="!T:&4@9F]R;6%L:7-M(&]F($1/4R!N86UE<PIC86X@
M8F4@:6YF;&EC=&5D(&]N('5N:7@@9F]L:W,*"BHJ*B O=&UP+RQ20U-T,3 P
M,#(U-0E3=6X@2G5L(#$Y(#$Y.C$Q.C4R(#$Y.3(*+2TM("]T;7 O+%)#4W0R
M,# P,C4U"5-U;B!*=6P@,3D@,3DZ,3$Z-3,@,3DY,@HJ*BHJ*BHJ*BHJ*BHJ
M*BH**BHJ(#0V+#4R("HJ*BH*(" @*B!354-(($1!34%'12X*(" @*@H@(" J
M+PHM(" J+PH@( H@("\J"B @("H@1&5V:6-E($1R:79E<B!F;W(@050@<&%R
M86QL96P@<')I;G1E<B!P;W)T"BTM+2 T-BPU,2 M+2TM"BHJ*BHJ*BHJ*BHJ
M*BHJ*@HJ*BH@-3<L-C4@*BHJ*@H@("-I9B!.3%!4(#X@, H@( H@("-I;F-L
M=61E(")P87)A;2YH(@H@("-I;F-L=61E(")U<V5R+F@B"B @(VEN8VQU9&4@
M(F)U9BYH(@HM("-I;F-L=61E(")S>7-T;2YH(@H@("-I;F-L=61E(")K97)N
M96PN:"(*(" C:6YC;'5D92 B:6]C=&PN:"(*(" C:6YC;'5D92 B='1Y+F@B
M"BTM+2 U-BPV-2 M+2TM"B @(VEF($Y,4%0@/B P"B @"B @(VEN8VQU9&4@
M(G!A<F%M+F@B"BL@(VEN8VQU9&4@(G-Y<W1M+F@B"BL@(VEN8VQU9&4@(G!R
M;V,N:"(*(" C:6YC;'5D92 B=7-E<BYH(@H@("-I;F-L=61E(")B=68N:"(*
M(" C:6YC;'5D92 B:V5R;F5L+F@B"B @(VEN8VQU9&4@(FEO8W1L+F@B"B @
M(VEN8VQU9&4@(G1T>2YH(@HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#DP+#DV("HJ
M*BH*(" );'!T<')O8F4L(&QP=&%T=&%C:"P@(FQP="(*("!].PH@( HA("-D
M969I;F4)3%!454Y)5"AS*0DH*"AS*3X^-BDF,'@S*0H@("-D969I;F4)3%!4
M1DQ!1U,H<RD)*"AS*28P>#-F*0H@( H@('-T<G5C="!L<'1?<V]F=&,@>PHM
M+2T@.3 L.38@+2TM+0H@( EL<'1P<F]B92P@;'!T871T86-H+" B;'!T(@H@
M('T["B @"B$@(V1E9FEN90E,4%153DE4*',I"2@H*"AS*3X^-BDF,'@S*2TQ
M*0H@("-D969I;F4)3%!41DQ!1U,H<RD)*"AS*28P>#-F*0H@( H@('-T<G5C
M="!L<'1?<V]F=&,@>PHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#$T-RPQ-3,@*BHJ
M*@H@('L*(" )<W1R=6-T"6QP=%]S;V9T8PDJ<V,["B @"B$@"7-C(#T@;'!T
M7W-C("L@:7-D<"T^:61?=6YI=#L*(" )<V,M/G-C7W!O<G0@/2!I<V1P+3YI
M9%]I;V)A<V4["B @"6]U=&(H<V,M/G-C7W!O<G0K;'!T7V-O;G1R;VPL($Q0
M0U].24Y)5"D["B @"7)E='5R;B H,2D["BTM+2 Q-#<L,34S("TM+2T*("![
M"B @"7-T<G5C= EL<'1?<V]F=&,)*G-C.PH@( HA( ES8R ](&QP=%]S8R K
M(&ES9' M/FED7W5N:70@+2 Q.PH@( ES8RT^<V-?<&]R=" ](&ES9' M/FED
M7VEO8F%S93L*(" );W5T8BAS8RT^<V-?<&]R="ML<'1?8V]N=')O;"P@3%!#
M7TY)3DE4*3L*(" )<F5T=7)N("@Q*3L**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B R
M-#(L,C0X("HJ*BH*(" )("HO"B @"6EF("AS8RT^<V-?>&9E<F-N="D@>PH@
M( D)<&P@/2!S<&QT='DH*3L*(2 )"6QP=&EN='(H<V,@+2!L<'1?<V,I.PH@
M( D)<W!L>"AP;"D["B @"7T@96QS92!["B @"0ES8RT^<V-?<W1A=&4@)CT@
M?D]"55-9.PHM+2T@,C0R+#(T." M+2TM"B @"2 J+PH@( EI9B H<V,M/G-C
M7WAF97)C;G0I('L*(" )"7!L(#T@<W!L='1Y*"D["B$@"0EL<'1I;G1R*"AS
M8R M(&QP=%]S8RDK,2D["B @"0ES<&QX*'!L*3L*(" )?2!E;'-E('L*(" )
M"7-C+3YS8U]S=&%T92 F/2!^3T)54UD["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@
M,CDW+#,P,R J*BHJ"B @"0D):68@*"AS8RT^<V-?<W1A=&4@)B!/0E5362D@
M/3T@,"E["B @;'!R:6YT9B@B7&Y#("5D+B B+"!S8RT^<V-?>&9E<F-N="D[
M"B @"0D)"7!L(#T@<W!L='1Y*"D["B$@"0D)"6QP=&EN='(H<V,@+2!L<'1?
M<V,I.PH@( D)"0DH=F]I9"D@<W!L>"AP;"D["B @"0D)?0H@(&QP<FEN=&8H
M(E<@(BD["BTM+2 R.3<L,S S("TM+2T*(" )"0EI9B H*'-C+3YS8U]S=&%T
M92 F($]"55-9*2 ]/2 P*7L*("!L<')I;G1F*")<;D,@)60N("(L('-C+3YS
M8U]X9F5R8VYT*3L*(" )"0D)<&P@/2!S<&QT='DH*3L*(2 )"0D);'!T:6YT
M<B@H<V,@+2!L<'1?<V,I*S$I.PH@( D)"0DH=F]I9"D@<W!L>"AP;"D["B @
M"0D)?0H@(&QP<FEN=&8H(E<@(BD["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,S$U
M+#,R,2 J*BHJ"B @"B @;'!T:6YT<BAU;FET*0H@('L*(2 )<W1R=6-T(&QP
M=%]S;V9T8R J<V,@/2!L<'1?<V,@*R!U;FET.PH@( EI;G0@<&]R=" ]('-C
M+3YS8U]P;W)T+'-T<SL*(" *(" )+RH@:7,@<')I;G1E<B!O;FQI;F4@86YD
M(')E861Y(&9O<B!O=71P=70@*B\*+2TM(#,Q-2PS,C$@+2TM+0H@( H@(&QP
M=&EN='(H=6YI="D*("!["B$@"7-T<G5C="!L<'1?<V]F=&,@*G-C(#T@;'!T
M7W-C("L@=6YI=" M(#$["B @"6EN="!P;W)T(#T@<V,M/G-C7W!O<G0L<W1S
M.PH@( H@( DO*B!I<R!P<FEN=&5R(&]N;&EN92!A;F0@<F5A9'D@9F]R(&]U
(='!U=" J+PHO
 
end