home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-08-28 | 53.2 KB | 1,248 lines |
- Article 188 of comp.sources.misc:
- Relay-Version: version B 2.10.3 alpha 5/22/85; site osu-eddie.UUCP
- Path: osu-eddie!cbosgd!clyde!ima!necntc!ncoast!allbery
- From: bl@infovax.UUCP (Bj|rn Larsson)
- Newsgroups: comp.sources.misc
- Subject: PCcurses shar 3
- Message-ID: <4273@ncoast.UUCP>
- Date: 26 Aug 87 22:55:23 GMT
- Date-Received: 27 Aug 87 12:25:07 GMT
- Sender: allbery@ncoast.UUCP
- Lines: 1231
- Approved: allbery@ncoast.UUCP
- X-Archive: comp.sources.misc/8708/pc-curses/4
-
- # This is a shar archive.
- # Remove everything above this line.
- # Run the file through sh, not csh.
- # (type `sh pccurses.sh.3')
- echo extracting - make.uu
- sed 's/^X//' > make.uu << 'FRIDAY_NIGHT'
- Xbegin 444 make.exe
- XM35H! "L @ /T!__](!8 %2L0 L%'@ $
- XM
- XM
- XM
- XM
- XM
- XM
- XM
- XM
- XM
- XM
- XM $ "Q58OL@^P*5U:A'B'K'(M>_/]W!/]W K@V
- XM %"X&@50Z/D;@\0(BU[\BP>)1OP+P'7=N!H%4+@* %#H%AR#Q 2+-B AZ<L
- XM]D0*$'0(_W0"N#\ ZP;_= *X10!0N!H%4.BY&X/$!CDVM!YU#KA* %"X&@50
- XMZ*4;@\0$BT0$ZWFX&@50N#H 4.C)&X/$!(M>_HM_ NL6BUT"_W<"N%< 4+@:
- XM!5#H=AN#Q :+/0O_=>:X&@50N H 4.B9&X/$!(M>_HM'!.L9BU[Z_W<"N%L
- XM4+@:!5#H1AN#Q :+7OJ+!XE&^@O =>"X&@50N H 4.AC&X/$!(M>_HL'B4;^
- XM"\!T ^E]_[@:!5"X"@!0Z$8;@\0$BS0+]G0#Z2[_7E^+Y5W#58OL@^P$5U:+
- XM7@3V1PH!= W_=P*X80!0Z $+@\0$BUX$@$\* 8M_!.L6BW4"ZPO_= +HR_^#
- XMQ *+- OV=?&+/0O_=>:+7@2 9PK^7E^+Y5W#58OL@^P"5HLV("'K"5;HGO^#
- XMQ *+- OV=?->B^5=PU6+[(/L!E=6N'\ 4.@Q (/$ HO8B5[\]D<*!'0=BW\$
- XM"_]T%HMU NL)BUP"@$\*"(LT"_9U\XL]Z^9>7XOE7<-5B^R#[ 975HLV("&_
- XM("'K%/]T O]V!.@O'H/$! O =&V+-(L]"_9UZ+@, %#HWQJ#Q *+\ OV=0JX
- XMB@!0Z"P*@\0"B37'! _W8$Z%0>@\0"0%#HN!J#Q *)1OX+P'4*N)T 4.@$
- XM"H/$ O]V!/]V_N@*'H/$!(M&_HE$ L=$! *\")1 B)1 ;&1 H B\9>7XOE
- XM7<-5B^R#[ 175K@$ %#H:AJ#Q *+\ OV=0JXL !0Z+<)@\0"QP0 (M&!(E$
- XM H-^!@!U!(O&ZQ&+?@;K HL]@ST =?F)-8M&!EY?B^5=PU6+[(/L!E=6N H
- XM4/]V!.CQ'8/$!(E&_@O = J+V,8' .L#_T8$BUX$B@>8B]CVA\,&"'7NBUX$
- XM@#\ =&VX! !0Z.@9@\0"B_ +]G4*N,@ 4.@U"8/$ L<$ #_=@3H7QV#Q )
- XM4.C#&8/$ HE&_@O =0JXW@!0Z \)@\0"_W8$_W;^Z!4=@\0$BT;^B40"@WX&
- XM '4$B\;K$8M^!NL"BSV#/0!U^8DUBT8&7E^+Y5W#58OL@^P(5U;&1OX BUX$
- XMBU\"@#\N=3*#?@8 =2R#?@@ =2:+7@2+=P3K"XL\5N@]&8/$ HOW"_9U\8M>
- XM!,='! @&<*^^GE (M>!(MW!"O_ZPZ#? 0 = 3&1OX!B_Z+- OV=>Z ?OX
- XM=#R#?@@ =#:+7@3V1PH0=2V+7P* /RYU%8-^!@!U#XM>!(M?!(M&"(E'!.F7
- XM (M>!/]W KCT %#HQ@V#Q 2+7@3V1PH$=#6#?@H =06X 0#K BO BUX$B4;X
- XM]D<*$'4%N $ ZP(KP#M&^'00BUX$_W<"N!D!4.B(#8/$!+@& %#HD!B#Q *+
- XM\ OV=0JX.@%0Z-T'@\0"QP0 (M&!HE$ HM&"(E$! O_= 2)->L&BUX$B7<$
- XMBUX$@$\*!(-^"@!T!(!/"A!>7XOE7<-5B^R#[!)6_W8$N+064.B"#8/$! O
- XM= /I0@* /K06"74*N$T!4.@-#8/$ L=&^K06ZP/_1OJ+7OJ*!YB+V/:'PP8(
- XM=>ZX/0!0_W;ZZ D;@\0$B4;V"\!U%(-^]@!U ^F= (M>]O]&]L8' .LJBT;V
- XM.4;Z=.2+V(!__UQUW(OP3HE&^HM>]O]&]HH'B 1&"L!TL^OO_T;VBU[VB@>8
- XMB]CVA\,&"'7NN H 4/]V]NAO&X/$!(E&^@O = 6+V,8' ,=&^K06C4;Z4.BA
- XM#8/$ HOP"_9U"KAD 5#H6PR#Q +_=O96Z,\!@\0$_W8$N+064.BA#(/$! O
- XM=0/I'__I7@&XM!90Z'P#@\0"QT;ZM!:X.@!0_W;ZZ$ :@\0$B4;V"\!U*H-^
- XM]@!U"KAR 5#H!PR#Q *+7O;_1O;&!P"+7O: /SIU,,9&] '_1O;K*XM&]CE&
- XM^G3.B]B ?_]<=<:+\$Z)1OJ+7O;_1O:*!X@$1@K =)WK[\9&] #'1O@ .L9
- XM_W;ZZ+7[@\0"B4;\_W;X4.@^_(/$!(E&^(U&]E#HS@R#Q *)1OH+P'76N+06
- XM4.@M&H/$ HOPN[06B5[VQD ! ,=&_@ _W8$N+0:4.C&"X/$! O =5Z /K0:
- XM"757_W;^N+0:4.@W_(/$!(E&_O]V!+BT&E#HG@N#Q 0+P'38ZS10Z#?[@\0"
- XMB4;\BD;T*N10_W;^_W;X_W;\Z++\@\0(@SZT'@!U#HM>^H _+G0&BT;\H[0>
- XMC4;V4.@S#(/$ HE&^@O =;N+7@3V1P80=1&XM!I0N+064.A@&8/$!.F^_5Z+
- XMY5W#58OL@^P"5HLV'B'K%O]T O]V!.@*&8/$! O =02+QNL(BS0+]G7F*\!>
- XMB^5=PU6+[(/L O]V!.C&_X/$ HE&_@O = >+V(M'!.L#N(8!B^5=PU6+[(/L
- XM!%=6BS8>(>L=_W0"_W8$Z+<8@\0$"\!U"_]T!.AB%8/$ NL&BS0+]G7?"_9U
- XM5;@( %#H6A6#Q *+\ OV=0JXAP%0Z*<$@\0"H1XAB02)-AXAQD0& /]V!.C(
- XM&(/$ D!0Z"P5@\0"B_@+_W4*N)L!4.AY!(/$ O]V!%?H@1B#Q 2)? +_=@;H
- XMFAB#Q ) 4.C^%(/$ HOX"_]U"KBO 5#H2P2#Q +_=@97Z%,8@\0$B7P$B\9>
- XM7XOE7<-5B^R#[ A75HMV!HM>!(L_Z>< @#PD= RLB 5'BUX(_P_IQ "+1@J)
- XM1OI&@#Q[=1=&@#P =$. /'UT/HM>^O]&^HH$B ?KZ8 \*'471H \ '0G@#PI
- XM="*+7OK_1OJ*!(@'Z^F / !U!\8%)$?IDP"+7OK_1OJ*!(@'BU[ZQ@< @#P
- XM= %&_W8*Z&7^@\0"B4;^"\!U$+C# 5#_=@KHH_Z#Q 2)1OZ+7OZ ?P8 = W_
- XM=P*XQ %0Z'L#@\0$BU[^QD<& 8M>!(D__W8*_W8(BU[^_W<$_W8$Z"?_@\0(
- XMBUX$BS^+7O[&1P8 BUX(@S\ ?PJXX@%0Z,T(@\0"@#P = /I$?_&!0"+7@2)
- XM/UY?B^5=PU6+[(/L!(M&!(E&_,=&_O\#4+AV"E#H'!>#Q 2X=@Y0C4;^4+AV
- XM"E"-1OQ0Z,'^B^5=PU6+[(/L"%=6QT;Z "+1@3_3@0] 0!]!;CZ >L)BUX&
- XM@T8& HL'HQPAQP8<(?\!Z< BUX&BQ^ /RUT ^F\ /].!(M>!H-&!@*+-^F;
- XM (H$F"UA #T3 '=C \"3+O^G&@K&!J4" >F $: / !U%HM&!/].! O ?P/H
- XM5 *+7@:#1@8"BS>)-K 4ZV?&!J8" .M7Q@:G @'K4,8&J (!ZTG&!JD" >M"
- XMQ@:J @#K.\8&JP(!ZS3&!JP" >LMZ!$"ZRBZ"14*%0H5"A4*P@D5"A4*ZPD5
- XM"A4*%0H5"N0)%0KY"0X* KR"0<*1H \ '0#Z5S_@WX$ 'X#Z3?_N 0"4/\V
- XML!3HQQ6#Q 0+P'4(QP:R%@H%ZWV#/K 4 '53N 8"4+@( E#HA!Q 2CLA8+
- XMP'49@SZ2!@)T$O\VD@:X$0)0N!H"4.BI 8/$!H,^LA8 =4&X-P)0N#D"4.A/
- XM$8/$!*.R%@O =2RX0@)0N$L"ZQRX7 )0_S:P%.@Q$8/$!*.R%@O =0[_-K 4
- XMN%X"4.AA 8/$!.@U"KAO E"X<0)0Z%_\@\0$ZSBX/0!0BUX&_S?H\A2#Q 2+
- XM\ OV="F*!(A&^,8$ (U$ 5"+7@;_-^@Q_(/$!(I&^(@$@T8& O].!(-^! !U
- XMPO\VLA;H8?F#Q +_-K(6Z+P/@\0"QP8:'P @#ZI @!T ^BP]+AS E#H=O:#
- XMQ *+^/9%"@1T!<8&J (!N'L"4.A?]H/$ HOX]D4*!'0%Q@:G @'H#/:#/K0>
- XM '4*N(,"4.BJ (/$ NC9]8-^! !U62O 4/\VM![H> .#Q 2)1OKK48 ^J0(
- XM=22 /J@" '4=N)8"4(M>!O\WZ$\4@\0$"\!U"KB; E#H31Q (KP%"+7@:#
- XM1@8"_S?HYO6#Q )0Z"\#@\0$"4;ZBT8$_TX$"\!UKX ^K ( = 7_=OKK RO
- XM4.A^#H/$ EY?B^5=PU6+[/\V'"&XK0)0N!H%4.CO#X/$!K@! %#H60Z+Y5W#
- XM58OL_S8<(;CT E"X&@50Z,\/@\0&_W80_W8._W8,_W8*_W8(_W8&_W8$N!H%
- XM4.BP#X/$$+@:!5"X"@!0Z-D/@\0$N $ 4.@,#HOE7<-5B^R#[ +_=@3H/PJ+
- XMY5W#58OL@^P.5U:X^@)0Z'_Z@\0"B]B)7O* /P!T ^F3 8M>!HM'!(E&^@O
- XM=0/I@P&+V/]W KBT%E#H>A.#Q 2XM!90Z#O\@\0"OK06H*@"B$;\H*<"B$;^
- XM@#Q = 6 /"UU$H \0'4&QD;\ >L$QD;^ 4;KY( ^I@( =03&1OP B_[K3( ]
- XM"G4<@'T! '06Q@4@@'[\ '4WN!(%4+@ U#H1 _K)X!^_ !U)/\.% 5X$(H%
- XMBQX2!?\&$@6(!RKDZPZX$@50B@684.BJ"H/$!$> /0!UKX!^_ !U)/\.% 5X
- XM$+ *BQX2!?\&$@6(!RKDZPZX$@50N H 4.AZ"H/$!( ^I@( =0/IHP#_=O)6
- XMZ.+^@\0$B4;T"\!U ^F/ #W__W4/_W;RN ,#4.AY_H/$!.M[_W;T_S8<(;@:
- XM U#H3P^#Q : ?OX = VX$@50N"P#4.B4#NO7_PX4!7@0L J+'A(%_P82!8@'
- XM*N3K#K@2!5"X"@!0Z *@\0$BUX$]D<*"'4A_W<"Z"D4@\0""\!U%(M>!/]W
- XM O\V'"&X. -0Z.X.@\0&_W;TZ%$,@\0"BU[ZBP?I<_Y>7XOE7<-5B^R#[ )6
- XMBUX$BW<$ZPQ6_W8$Z#+^@\0$BS0+]G7P7HOE7<-5B^R#[""-1N!0BUX$_W<"
- XMZ*(/@\0$"\!]*(,^D@8"=!3_-I(&BUX$_W<"N$L#4.B5_8/$!HM>!"O B4<(
- XMB4<&ZP^+7@2+1O:+5OB)1P:)5PB+Y5W#58OL@^P$@#ZF @!T!X ^J ( =1"+
- XM7@3_=P*X9@-0Z#H.@\0$@#ZF @!T)RO 4(M>!/]W NA4$X/$! O ?12+7@3_
- XM=P+_-APAN'<#4.@,#H/$!HOE7<-5B^R#[!!75L=&^ $ QT;Z #&1OP BUX$
- XM]D<* G0%*\#IW &+7@2+1P8+1PAU!U/H(O^#Q * /JH" '0@BUX$BW\$"_]T
- XM"8-]! !U ^F= O_=0G_=@3H 02#Q *+7@3V1PH$=16+1P8+1PAU#?]W KB-
- XM U#HI/R#Q 3'1O0 (M>!(M_! O_=0/IQ0"+=0(+]G1QBT8&0%#_= +H8?^#
- XMQ 2+7 *+1P:+5PB+7@0Y5PA\#G\%.4<&<@> /J4" '0/_W;T_W0"Z'SR@\0$
- XMB4;TBUP"BT;XBU;Z.5<(?Q1\!3E'!G,-BT;XBU;ZZPZ+/>E1_XM< HM'!HM7
- XM"(E&^(E6^HLTZXN /JP" '5!BUX$]D<*$'0X@#ZE @!U$HM&^(M6^CE7"'\F
- XM? 4Y1P9S'_]V]%?_=@3HS@"#Q ;'1O@! ,=&^@ QT;T #^1OR+/>DT_XM>
- XM!(!/"@* /JP" '0UBT<&BU<(B4;PB5;RB\,%!@!0Z%P1@\0"BT;XBU;Z.5;R
- XM?@/IF?Y\"#E&\'(#Z8_^N $ ZVN+7@2+1OB+5OHY5PA\#G\%.4<&<@> /J4"
- XM '0FBUX$]D<*$'4=_W;T*\!04^A" (/$!HM&! 4& %#H !Q +I2/Z#?@8
- XM= /I/_Z ?OP = /I-OZ+7@3_=P+_-APAN*H#4.@+#(/$!ND?_EY?B^5=PU6+
- XM[(/L E=6BW8(@#ZK @!T"?]V!.B,_>F# +C" U"XM!90Z (/@\0$ZS6XM!90
- XMZ!L/@\0""\!T#KC# U"XM!90Z%0.@\0$BUT"_W<"N+064.A$#H/$!(LU5^A.
- XM"X/$ HO^"_]UQ;BT%E"XQ0-0Z+3U@\0$BUX$_W<"N,<#4.BD]8/$!(-^!@!T
- XM#O]V!O]V!.C@^H/$!.L)_W8$Z(W\@\0"7E^+Y5W#58OL_S8<(;C* U"X&@50
- XMZ#X*@\0&_W8*_W8(_W8&_W8$N!H%4.@H"H/$"H,^&A\ =!+_-AH?N,\#4+@:
- XM!5#H#PJ#Q :X&@50N H 4.@X"H/$!+@! %#H:PB+Y5W#58OL@^P(5U;'1OH
- XM /]V!K@ !"M&^E"+1OH#1@10Z%0)@\0&"\!U!K@! .FE /\&&A^X"@!0BT;Z
- XM T8$4.B%#8/$!(OP"_9U"KC= U#H4_^#Q * ?/]<=0[&1/\*B\8K1@2)1OKK
- XMIHMV!+@C %!6Z%,-@\0$B4;\"\!U%8-^_ !T"HM>_,8'"L9' 0"+=@3K+3EV
- XM_'3FBU[\@'__7'7=B\-(B4;XB_.+7OC_1OB+?OS_1OR*!8@'"L!TK^OJ1HH$
- XMF(O8]H?#!@AU\PK =0/I-_\KP%Y?B^5=PU6+[(/L!%=6ZP6+7@3_!XM>!(L?
- XMB@>8B]CVA\,&"'7JBUX$BQ^ /P!U!"O ZS.+7@2+-^L2BD;\F(O8]H?#!@AU
- XM$XM>!/\'BUX$BQ^*!XA&_ K =>"+7@2+/_\'Q@4 B\9>7XOE7<-5B^RX+@!0
- XM_W8$Z#\-B^5=PU6+[(/L%%=6OK06BUX$BW\"5^C:_X/$ HE&[@O =0LKP.EQ
- XM 8H%1X@$1CE^[G?UQ@0 N+064+CL U#HD_.#Q 2+V(M'!(E&]KCN U#H!NZ#
- XMQ *+V(E>\/9'"@1TPHM'!(E&_@O =+B+V(M' ND4 8M>^HM? HM' HE&\E#H
- XM>0R#Q +_=NZ)1NSH;0R#Q (#1NQ /0 $? JX^ -0Z"/X@\0"OK06BW[RB@5'
- XMB 1&"L!U]DZ+?NZ*!4>(!$8*P'7VN+064.B/[8/$ HE&\(O8]D<*!'4#Z:<
- XMOK06BW[V_W;RZ!4,@\0"5XE&[.@+#(/$ @-&[$ ] 1\"K@-!%#HP?>#Q **
- XM!4>(!$8*P'7V3HM^\HH%1X@$1@K =?:XM!90Z#/M@\0"B4;XB]B+1P8+1PAU
- XM!U/HQ/F#Q *+7OB+1P8+1PAT.BO 4%/HH.V#Q 2)1OHKP%"+7O"+7P3_=P3_
- XM=OK_=@3H@NZ#Q B+7OC_=P*X) 10Z%KR@\0$N $ ZQ>+7OJ+!XE&^@O = /I
- XMXOZ+7OZ+!^G+_EY?B^5=PU6+[(/L!K@F!%"X+@10Z"3R@\0$*\!0N#8$4.A_
- XM[8/$!(E&_+A+!%#HC^R#Q *)1OXKP%#_=OQ0_W;^Z _N@\0(N%0$4+A9!%#H
- XMZ?Q 2X7 10N%T$4.C;\8/$!"O 4+AD!%#H-NV#Q 2)1ORX@ 10Z$;L@\0"
- XMB4;^*\!0_W;\4/]V_NC&[8/$"+B)!%"XC 10Z*#Q@\0$N(\$4+B3!%#HDO
- XMQ 0KP%"XF@10Z.WL@\0$B4;\N+ $4.C]ZX/$ HE&_BO 4/]V_%#_=O[H?>V#
- XMQ BXMP10N+P$4.A7\8/$!+B_!%"XP 10Z$GQ@\0$*\!0N,@$4.BD[(/$!(E&
- XM_+C@!%#HM.N#Q *)1OXKP%#_=OQ0_W;^Z#3M@\0(N.D$4.B7ZX/$ HE&_BO
- XM4/]V_N@>[(/$!(E&^KCN!%#H>^N#Q *)1O[_=OI0Z 3L@\0$B4;ZN/,$4.AA
- XMZX/$ HE&_O]V^E#HZNN#Q 2)1OJX^ 10Z$?K@\0"B4;^_W;Z4.C0ZX/$!(E&
- XM^KC]!%#H+>N#Q *)1O[_=OI0Z+;K@\0$B4;ZN %4.@3ZX/$ HE&_BO 4%#_
- XM=OK_=O[HD^R+Y5W#58OL@^P*QT;\=A*X )0_W8$N'824.BA"8/$!NL0BD;V
- XMF(O8]H?#!@AT#_]&_(M>_(H'B$;V"L!UY,=&^ BU[\@#\ =%B+7OC1XXM&
- XM_(F'MAZ+7OR*!XA&]@K ="68B]CVA\,&"'4;_T;\BT;\B4;ZZ]^*1O:8B]CV
- XMA\,&"'0/_T;\BU[\B@>(1O8*P'7DBU[ZQ@< _T;X@W[X,7R@@W[X,7P%N/__
- XMZS>+7OC1X\>'MAX +BV'E#_-K8>*\!0Z,0%@\0&B4;^0'0%BT;^ZQ"#/I(&
- XM G7T_W8$Z < @\0"B^5=PU6+[(/L!%=6Z"8 B_"X+P!0Z"\ @\0"_W8$Z L)
- XM@\0"B_A6Z!T @\0"B\=>7XOE7<-5B^Q75K@ -\TABL(RY%Y?7<-5B^Q75K@!
- XM-XI6!,TA7E]=PU6+[(/L!%=6BW8&]D0&@W0&]D0&0'0*@$P&(+C__^D$ ?9$
- XM!@%U\(!,!@* 9 ;O*\")1 *+^(E^_O9$!@AU$XI$!YB+V-'C ]C1X_:'J@4!
- XM=$"+/"M\!(M$!$")!(I$!YB+V-'C ]C1XXN'K 5(B40""_]^$E?_= 2*1 >8
- XM4.C'(H/$!HE&_HM<!(I&!(@'Z88 ]D0&!'5J@?X2!75#BD0'F%#H512#Q (+
- XMP'51_P;R!\=$!+(4BD0'F(O8T>,#V-'CQH>J!0''!+,4F(O8T>,#V-'CQX>L
- XM!0 "QT0"_P'KIK@ E#HZ@.#Q *)1 0+P'0,@$P&"$")!(I$!^O-@$P&!+\!
- XM %>-1@10BD0'F%#H-B*#Q :)1OXY?OYT ^GW_HI&!"KD7E^+Y5W#M##-(3P"
- XM<PZX! !0Z%T4DK0)S2'-(+^*!(LV @ K]X'^ !!R [X $/J.UX'$+B'[<PLS
- XMP%#H9!2X_TS-(8'D_O\VB28H!C:))B8&B\:Q!-/@2#:C) 8#]XDV @",PRO>
- XM]]NT2LTA-HP>F 86!_R_=@JY,"$KSS/ \ZH6'^@K !8?Z*$=Z( @,^W_-K8&
- XM_S:T!O\VL@;H?.]0Z+T N , 4.CY$[C_ %#HQ@"T,,TAHYH&NP0 N !$S2%R
- XM"O;"@'0%@(^>!D!+>>RX #7-(8D>A@:,!H@A^X "6ZX1G-(18?BPY@">,G
- XMC@:8!B:+-BP Q09B"8S:,]LV_QY>"3;%!F8)C-J[ P V_QY>"18?C@:8!B:+
- XM#BP XS2.P3/_)H ] '0JN0P OGH&\Z9T"[G_?S/ \JYU%^OE!AX''XOWOYX&
- XMK)B1K/[ = %(JN+W%A^^:@F_:@GH70##58OLOK 4O[ 4Z% OFH)OVP)Z$<
- XMZP-5B^R^; F_; GH.0#H;PZY% SV_:'G@8!= 2T/LTA0^+RZ < BT8$M$S-
- XM(8L.8 GC![L" /\>7@D>Q1:&!K@ )<TA'\,[]W,*3T^+#>/V_]'K\L-5B^R#
- XM[!)75HMV!+____9$!H-U ^F /9$!D!U>E;HAP^#Q *+^(I$!YB+V-'C ]C1
- XMXXN'K@6)1NY6Z- (@\0"BD0'F%#H_@V#Q (+P'T%O___ZT.#?NX =#NXQ =0
- XMC4;P4.CM!(/$!+C)!U"-1O!0Z$\$@\0$N H 4(U&]5#_=N[HJAQ :-1O!0
- XMZ+X&@\0"B_CK BO_QD0& (O'7E^+Y5W#58OL@^P$5U:+=@B+?@2#?@8 =00K
- XMP.LZ_TX&="'_3 )X"HL<_P2*!RKDZP=6Z%@'@\0"B4;^0'4-.7X$=-;&!0"+
- XM1@3K#(I&_H@%1SP*=<CK[%Y?B^5=PU6+[(/L E;H]AZ+\ OV= ]6_W8&_W8$
- XMZ"<(@\0&ZP(KP%Z+Y5W#58OL@^P$5U;_=@3H$ F#Q *+\(U&"%#_=@;_=@3H
- XM$1.#Q :+^/]V!%;HD0F#Q 2+QUY?B^5=PU6+[%=6BW8$BWX&_TT"> R+QHL=
- XM_P6(!RKDZPA75NB8^X/$!%Y?B^5=PU6+[(/L!E=6_W8$Z.<#@\0"B_C_=@;H
- XMI B#Q *+\/]V!E>X 0!0_W8$Z&(.@\0(B4;\_W8&5N@C"8/$!#E^_'4)BUX$
- XMBD'_F.L#N/__7E^+Y5W#58OLBUX$@$_^ 8OE7<-5B^Q65[O,!X,_ '4I'@>X
- XM!0#HK IU!3/ F>LD0"3^H\P'H\X'EL<$ 0"#Q@3'1/[^_XDVT@>+3@2,V([
- XMZ$0)7UZ+Y5W#58OL@^P&5U:^$@56Z <(@\0"B_B-1@90_W8$5N@*$H/$!HE&
- XM^E97Z(L(@\0$BT;Z7E^+Y5W#58OL,\#HK0O_-K8&_W8(_W8&_W8$Z,\:B^5=
- XMPU6+[(/L!E=6BD8$*N2)1OJ+?@: ?0$Z=0.#QP* /5QT!8 ]+W4&@'T! '0+
- XM]D;Z$'4%@#T =06X0$#K [@ @(OP]D;Z!70%N !ZP.X@ $+\+@N %#_=@;H
- XMY *#Q 2+^ O_=#&XU@=05^C"'(/$! O =!ZXV0=05^BS'(/$! O = ^XW =0
- XM5^BD'(/$! O =02!SD B\8EP &Q ]/H"_"+QB7 ;$&T^@+\(O&7E^+Y5W#
- XM58OL@^Q,5U:+=@2+?@:XWP=05NCN'(/$! O = S'!I(& @"X___I90&-1L90
- XMN!H 4.AA"8/$!,9&MT['1KHW (EVO(U&\E"-1K90Z$D.@\0$@W[^ '1L@#Q<
- XM= 6 /"]U!H!\ 0!T'H!\ 3IUMH!\ @!T$H!\ P!UJH!\ EQT!H!\ B]UGKA
- XM % KP%#H-PV#Q 2)1L16Z*$*@\0"0'1)_W;$Z)4*@\0"_W;$Z/G]@\0"QD;;
- XM$"O B4;BB4;@B4;<B4;>*\")10*)10J)10B ? $Z=2B*!)B)1K2+V/:'PP8!
- XM=!$%( #K#_]VQ.BY_8/$ NDO_XM&M"UA .L7QD:W&8U&\E"-1K90Z(P-@\0$
- XMBD;R*N2)!8E%#%:*1MN84.@L_H/$!(E%!,=%!@$ BT;@BU;BB44.B540BT;<
- XM)1\ T>!0BT;<L073Z"4_ %"+1MRQ"]/H)1\ 4(M&WB4? %"+1MZQ!=/H)0\
- XM4(M&WK$)T^@E?P!0Z(@9@\0,B44:B54<B446B548B442B544*\!>7XOE7<-5
- XMB^Q65QX'BWX$B]<SP+G___*N3XOWBWX&B]^Y___RKD'WV8O^B_/SI(O"7UZ+
- XMY5W#58OL5XM^!!X'B]\SP+G___*N0??9BD8&B_ORKD\X!70",_^+QU^+Y5W#
- XM58OL5U:+=@2+?@8>!XO?,\"Y___RKD'WV8O[\Z:*1/\SR3I%_W($= 1)2??1
- XMB\%>7XOE7<-5B^Q75AX'BWX&B_<SP+G___*N0??9BWX$B]?SI(O"7E^+Y5W#
- XM58OL5QX'BWX$,\"Y___RKHO!0$#WV%^+Y5W#58OL5U8>!XM^!(MV!HO?BTX(
- XMXPRL"L!T ZKB^#+ \ZJ+PUY?B^5=PU6+[%<>!XM^!#/ N?__\JY!]]E/BD8&
- XM_?*N1S@%= 0SP.L"B\?\7XOE7<-5B^RX# #H)@C_=@3H@_^#Q (%" !0Z.7[
- XM@\0"B4;\"\!U"<<&D@8, .G8 +CB!U#_=@2XY =0_W;\Z##_@\0$4.B9_H/$
- XM!%#HDOZ#Q 2)1OCK _]&^(M>^( _ '7U_T[XBU[X@#\@=/6#1O@"BU[X_T;X
- XMQ@<-BU[XQ@< _W;\Z!#_@\0"2$B)1O0]@ !^",<&D@8' .LTBU[\BD;TB ?'
- XM!I(& "XZ@=0Z.0*@\0"B4;^*\!04(U&]E"-1OI0_S:V!N@K!H/$"D!U"_]V
- XM_.@?^X/$ NLN_W;V_W;\_W;^*\!0Z+4'@\0(B4;T_W;ZZ/_Z@\0"_W;\Z/;Z
- XM@\0"@SZ2!@)U!;C__^L#BT;TB^5=PU6+[(/L K0JS2&+VHE._K0LS2$RY(K&
- XM4(K!4(K%4%"T*LTA.]I8= D\%W4%B].+3OXRY(K"4(K&4(O!+;P'4.CV%H/$
- XM#(-^! !T"(M>!(E7 HD'B^5=PU6+[(M6!+1!S2'I!PA5B^R#[!I75BO_B7[\
- XMN & 4/]V!.B1"X/$!(E&ZHE&]@O ?0:X___IH@"#?@8 =0R-1OA0Z&7_@\0"
- XMZP^+7@:+1P2+5P:)1OB)5OJ-1OA0Z)X*@\0"B_"+1 HM4 E?P"Q"=/@"_B+
- XM1 A )0\ L073X OXBT0&)1\ "_B+1 0E'P"Q"]/@"4;\BT0")3\ L073X E&
- XM_(L$F2O"T?@E'P )1OR+1OR)1NR)?N[&1N@!QD;I5XU&Z%"-1NA0Z*X)@\0$
- XM_W;VZ"8&@\0"*\!>7XOE7<-5B^Q75HMV!/9$!H-T!O9$!D!T!KC__^G" /9$
- XM!@)T!H!,!B#K[H!,!@'V1 8,=2V*1 >8B]C1XP/8T>/VAZH% 74:N "4.AN
- XM^8/$ HE$! O = 2P".L"L 0(1 ;V1 8(=!**1 >8B]C1XP/8T>/'AZP% *#
- XM? 0 =1J*1 >8B\C1X /!T>"+^ 6K!8E$!,>%K 4! (M$!(D$BD0'F(O8T>,#
- XMV-'C_[>L!?]T!)A0Z/X;@\0&B40""\!_%0O = 2P(.L"L! (1 ;'1 ( .E#
- XM__], HL<_P2*!RKD7E^+Y5W#58OL5HMV!/9$!H-T'?9$!@AT%_]T!.BO^(/$
- XM H!D!O<KP(D$B40$B40"7HOE7<-5B^R#[ A75HMV"(M>!HH'F#UA '1$/7(
- XM= H]=P!T,RO Z=@ QT;^ 0#_1@:+7@: /RMU!X!._@C_1@:+1OXE!P ] 0!T
- XM&CT" '0S/00 =#/K$,=&_@( Z]#'1OX$ .O)*__V1OX(= B!SP( @>?^_XM>
- XM!H _='40@<\ 0.L6OP$#Z]^_"0'KVHM>!H _8G4$@<\ @+BD 5!7_W8$Z"4)
- XM@\0&B4;Z"\!] ^ES__9&_@AT!L9$!H#K$/9&_@9T!L9$!@+K!,9$!@'_!O('
- XMBT;ZB\C1X /!T>")1O@JP(M>^(B'J@68B40"QX>N!0 *\")!(E$!(I&^HA$
- XM!XO&7E^+Y5W#58OL5U:+=@3_!O('@?X2!74Y]D0'4SBD0'F(O(T> #P='@
- XMB_CVA:H% 74>QT0$LA3&A:H% <>%K 4 L=$ @ "QP2R%+@! .M.@?X:!70&
- XM@?XJ!75 ]D0&"'4ZBD0'F(O(T> #P='@B_CVA:H% 74E@3X6!;(4=!W'1 2R
- XM%(I$!IBC>!3&A:H% <>%K 4 H!D!OOKIBO 7E^+Y5W#58OL5U:+=@:#?@0
- XM=1.A%@4Y1 1U"U;HL 2#Q (KP.M?@WX$ '19@?X2!748BD0'F%#H^0:#Q (+
- XMP'0)5NB*!(/$ NL;@?X:!70&@?XJ!74O5NAU!(/$ J!X%"0$"$0&BD0'F(O(
- XMT> #P='@B_C&A:H% ,>%K 4 "O B02)1 1>7XOE7</IS "#^>YS^$& X?Z+
- XM=P+\K8O^J %T0D@[P7,5B] #\*VH 70T \(% @"+]XE$_NOFB_YT# /YB4S^
- XM*\%(B07K!0/Y_DS^B\:,VHS1.]%T!2:,'O@'B7\"PR;&!OP' CW^_W0EB_X#
- XM\*VH 73RB_Y(.\%SO8O0 _"MJ %TX@/"!0( B_>)1/[KYHM'" O = 2.V.L4
- XM)OX._ =T$8S8C-<[QW0%)HX>] >+-^N\BW<&,\#H:@ [QG0-) % 0)CH7@!T
- XM#?Y-_N@< '0%EDY.ZYF,V(S1.\%T!":C^ >+!XE' C/ F<-1BT7^J %T RO(
- XM24%!NO]_)CL6^@=V!-'J=?6+P0/&<A4#PG(-]](CPBO&Z P =0CWTM'J=>4S
- XMP%G#4E'H'0!T&%>+_HOP _+'1/[^_XEW!HO6*]=*B57^6%E:PU-0,](>4E)0
- XMN $ 4 8?Z'X4@\0(@_K_'UI;= (+TL-5B^R*9@2+5@:*1@C-(8OE7<-5B^RX
- XM#@#H-@%75H-^! !U!J&V!HE&!(MV!,=&]@ ZQ"#Q@+_=/[H>/B#Q ) 4;V
- XM@SP =>N+1O9 B4;XQT;\$P"+7OR OYX& '4)_T[\@W[\_W_M@W[\ 'P3N/X'
- XM4.A ^(/$ @-&_ 4# %&^(M&^ 4/ %#HEO2#Q *)1OJ+7@:)!PO =2J#?@H
- XM= G_=@KH;?2#Q +'!I( #'!IP&" #_=OKH6/2#Q *X___IB "+1OH%#P D
- XM\(OXBUX(B3^+=@3K&2O 4/\T5^BO]X/$!%#H2?>#Q 1 B_B#Q@*#/ !UXH-^
- XM_ !\2BO 4+@+"%!7Z(GW@\0$4.@C]X/$!(OXBD;\_L"(!4?'1O8 (M>]H"_
- XMG@8 = :*AYX&ZP*P_X@%1_]&]HM&_/]._ O ==[&!0!'Q@4 BT;X7E^+Y5W#
- XM68O<*]AR"CL>& AR!(OC_^$SP.FQ\%8S]KDV #+D_*PRX.+[@/15= >X 0!0
- XMZ)0$7L-5B^R+7@2T/LTA<@7&AYX& .D& 56+[+0YZPQ5B^RT.NL%58OLM#N+
- XM5@3-(>GK;2FR L L%6+[(-^! %T$X-^! !T#<<&D@86 +C___CIS0!65XS8
- XMBUX*L033ZP/#HQH(BT8(HQP(C!X>"!X'BS8<"$:_* BX 2G-(;@!*;\X",TA
- XM508>@#Z:!@-](2Z,%H I+HDF?BF_+@"+-2Z)-H(IBW4"+HDVA"DNC!Z&*;L:
- XM"(-^! !T!K $,\GK C+ ^%"T"\TA6,<&N 8! (M6!K1+S2%0GU"T,,TA/ -8
- XM6WTA+HX6@"DNBR9^*;\N "Z.'H8I+HLVA"F)=0(NBS:"*8DUGI,?QP:X!@
- XM!UU?7G($M$W-(>D( '((,\"+Y5W#<P;H#0"X__^+Y5W#,N3H 0##HIP&"N1U
- XM(X ^F@8#<@T\(G,-/"!R!; %ZP>0/!-V K 3NT@(UYBCD@;#BL3K]U6+[(/L
- XM!%=6BW8$*_^*1 8D SP"=4#V1 8(=1.*1 >8B]C1XP/8T>/VAZH% 70GBP0K
- XM1 2)1OP+P'X;4/]T!(I$!YA0Z&H0@\0&.T;\= > 3 8@O___BT0$B03'1 (
- XM (O'7E^+Y5W#58OL@^P&5U:+=@2+?@J+1@;W9@B)1OJ)1OR#?@8 = :#?@@
- XM=04KP.FS /9%!@AU$XI%!YB+V-'C ]C1X_:'J@4!='6#?OP =0/IA@"+1OPY
- XM10)R&5!6_S7H'12#Q :+1OPI10(!!<=&_ Z]:#?0( =!W_=0)6_S7H_!.#
- XMQ :+10(!!2E&_ /PQT4" #KL_]- G@,B@2+'?\%B <JY.L+5XH$F%#H5^R#
- XMQ 3V108@=2!&_T[\ZXO_=OQ6BD4'F%#HA ^#Q :)1OX]__]T RE&_(M&^BM&
- XM_"O2]W8&7E^+Y5W#58OL@^Q"5U:+=@:+?@0+_W485NC9\(/$ HOX"_]U",<&
- XMD@8, .M4B7X$*\!0C4:^4.A5$8/$!(U&OE#H1?2#Q (% P [QGP*QP:2!B(
- XM*\#K*2O 4%"X&0!0Z'+[@\0&!$&(!4?&!3I'Q@5<1XU&OE!7Z.GS@\0$BT8$
- XM7E^+Y5W#58OL@^P$5U:+-K8&"_9T.(-^! !T,O]V!.CF\X/$ HOXZR"+'( Y
- XM/7465_]V!%/HG!6#Q 8+P'4'BQR-00'K"H/& H,\ '7;*\!>7XOE7<-5B^Q6
- XM5XM^!(L%BUT"BTT$BU4&BW4(BWT*S2%7BWX&B06)70*)302)50:)=0B/10IR
- XM!#/VZPCH=OV^ 0"+!8EU#%]>B^5=PU6+[(M>!(/[%'T1@_L ? SVAYX&0'0%
- XMN $ ZP(SP(OE7<-5B^Q65[,!BTX(BT8$,]*#^0IU 9F+?@;IW!95B^R#[ 96
- XMZ"H5BUX$BP>+5P(K!@()&Q8$"8E&_(E6_HU&_%#H5A"#Q *+\(,^!@D ="56
- XMZ+,5@\0""\!T&H%&_! .@U;^ (U&_%#H+Q"#Q *+\,=$$ $ B\9>B^5=PU6+
- XM[%97N(H$CM@>!XM6!+YV":T[PG000)9T#)<SP+G___*NB_?KZY9?7HOE7<("
- XM %6+[%?_=@3HQO\+P'04DHOZ,\"Y___RKO?12;L" +1 S2%?B^5=P@( 58OL
- XM,O^(/H@(BT8&,NVI" !T K4@B"Z'""4# #T# '4%@78& 0"Z7 BT<AN3<
- XMBU8$M$[-(7,#Z9L BT8&B\@E 4] 5U![@ $?GI%_S&!HD( 9&I )T"XM6
- XM!+@ 0\TAZ9P J0, =%>I (!U4O8&20F =4NP @H&B B+5@2T/<TA<L>3N !$
- XMS2'VPH!U+;G__XO1N )"S2'WV;I<"+0_S2$+P'06@#Y<"!IU#_?9B]&X D+-
- XM(3/)M$#-(;0^S2&*1@8D PH&B B+5@2T/<TA<C?I.P[W1@8 74#Z6O_Q@:)
- XM" "+3@CH?0Z)3@@R[?8&B C_=0?W1@8" '4#@.'^BU8$M#S-(7,#Z5G[]@:(
- XM"/]U!_=&!@( =3*3M#[-(8I&!B0#"@:("(M6!+0]S2%RV/8&B0@!=13W1@@!
- XM '0-@,D!DXM6!+@!0\TAD^G!#56+[+AB >BY^5=6BW8&C8:B_J.(%(M&"*.$
- XM%(M&!*-^%,<&EA0 ,<&E!0 .DY H \)70#Z<@!QP:.% $ *\"CC!2C>A2C
- XMD!2C@A2CAA2C?!2C@!2CFA2CG!3'!HH4( " ? $P=3M&QP:*%# ZS* /"UU
- XM!O\&G!3K)X \*W4,_P:,%,<&?!0 .L6@#P@=0V#/HP4 '4*_P9\%.L$_P::
- XM%$:*!)A0Z#T'@\0""\!UOU:XDA10Z,,&@\0$B_" /"YU$O\&AA1&5KB.%%#H
- XMK :#Q 2+\(H$F#U& '0Y/4X =#P]: !T)SUL '0'/7 ="7K!L<&@A0" (,^
- XM@A0 = : /'!T 4: / !U&^EC <<&@A0! .OCQP:"%! Z]O'!H(4" #KTXH$
- XMF(F&GOX]10!T"CU' '0%/5@ =0G_!GH4@X:>_B"+AI[^+6, /14 =@/IH@ #
- XMP),N_Z=?,8L>A!2+'Z&4%(D'Z<8 _P:0%,<&FA0 +@* %#H%0Q +IKP"X
- XM" #K\?\&@!3'!HX4! #_!GH4_P:&%(,^@A0"= >#/H(4$'4UQP:"% @P:$
- XM% *X$ !0Z-@ @\0"N#H 4.B' X/$ H,NA!0$N! 4.B_ (/$ H,&A!0"ZU6X
- XM$ #KERO 4.C? >N3N $ Z_7_MI[^Z+4"ZX6#/H(4 '0#B\9.B_[K3D,QR3!(
- XM,4@Q2#%1,<DP43%1,5$Q43&W,-PPX3!1,5$Q.S%1,<4P43%1,38Q@SZ6% !T
- XM$X,^E!0 =4F+'GX4]D<&('4ZZSU&ZQR /25T!D> /0!U]8O'*\90B\8>4.B3
- XM X/$!HOW@#P = /IO_V#/I04 '4/BQY^%/9'!B!T!;C__^L#H9047E^+Y5W#
- XM58OLN!@ Z"GW5U:#?@0*= 3_!I 4@SZ"% )T!X,^@A00=1:+'H04BP>+5P*)
- XM1OB)5OJ#!H04!.LI@SZ0% !T$(L>A!2+!XE&^,=&^@ ZPV+'H04BP>9B4;X
- XMB5;Z@P:$% *#/IH4 '0-BT;X"T;Z= 6+1@3K BO HY@4BS:(%(,^D!0 =2J#
- XM?OH ?22#?@0*=1?&!"U&BT;XBU;Z]]B#T@#WVHE&^(E6^L=&]@$ ZP7'1O8
- XM (O]@^\8_W8$5_]V^O]V^.AF$8/$"(,^AA0 ="!7Z,#M@\0"BPZ.%"O(B4[^
- XMZP3&!#!&BT;^_T[^"\!_\HH%B 2#/GH4 '0'/&%\ X L($9'@'W_ '7F@SZ0
- XM% !U%*&,% L&?!1T"X-^]@!U!;@! .L"*\!0Z*8"@\0"7E^+Y5W#58OLN!
- XMZ/3U5U;'!HH4( "#?@0 =!2^ 0"AA!2)1O2,7O:#!H04 NF$ (,^@A00=1:+
- XM'H04BP>+5P*)1O2)5O:#!H04!.L4BQZ$%(L'B4;XB4;TC%[V@P:$% *#/H(4
- XM$'4-BT;T"T;V=12XB@CK"8-^^ !U";B1"(E&](Q>]HM&](M6]HE&_(E6_BOV
- XMZP3_1OQ&Q%[\)H _ '7S@SZ&% !T#(O&.P:.%'8$BS:.%(L^DA0K_H,^G!0
- XM=0=7Z T!@\0"5O]V]O]V].AE 8/$!H,^G!0 = =7Z/( @\0"7E^+Y5W#58OL
- XMN ( Z!#UH804B4;^@SZ&% !U!L<&CA0& /\V>A3_-HX4_W8$_S:(%/]V_NAF
- XM"8/$"H-^!&=T!H-^!$=U&(,^FA0 =1/HX4 '0*_S:(%.A""8/$ H,^FA0
- XM=!/HX4 '4*_S:(%.@J"8/$ H,&A!0(QP:8% H8P4"P9\%'02_W;^Z T)
- XM@\0""\!T!;@! .L"*\!0Z!T!B^5=PU6+[#/ Z''T5H,^EA0 =32+'GX4_T\"
- XM>!&*1@2+'GX4BS?_!X@$*N3K#?\V?A3_=@3H0N.#Q 1 =0;_!I84ZP3_!I04
- XM7HOE7<-5B^RX @#H)_175H,^EA0 =4V+=@0+]GY&ZR^+'GX4_T\">!&@BA2+
- XM'GX4BS__!X@%*N3K#O\V?A3_-HH4Z.WB@\0$0'4$_P:6%(O&3@O ?\J#/I84
- XM '4'BT8$ 0:4%%Y?B^5=PU6+[+@" .C"\U=6BW8(@SZ6% !U4.LYBQY^%/]/
- XM G@4Q%X$)HH'BQY^%(L__P>(!2KDZQ+_-GX4Q%X$)HH'F%#HA>*#Q 1 =03_
- XM!I84_T8$B\9."\!UP(,^EA0 =0>+1@@!!I047E^+Y5W#58OLN H Z%?S5U:+
- XM-H@4*\")1OR)1OB+/I(45NBDZH/$ HE&^BOX*WX$@SZ<% !U&( \+743@SZ*
- XM%#!U#*R84.BD_H/$ O].^H,^BA0P= L+_WX'@SZ<% !T&8-^! !T!O]&^.AA
- XM (,^F!0 = ;_1OSH<P"#/IP4 '4F5^BQ_H/$ H-^! !T"8-^^ !U ^@W (,^
- XMF!0 = F#?OP =0/H1@#_=OJ+QAY0Z.K^@\0&@SZ<% !T#<<&BA0@ %?H<?Z#
- XMQ )>7XOE7<-5B^PSP.B0\H,^C!0 = 6X*P#K [@@ %#H!/Z+Y5W#58OL,\#H
- XM<?*X, !0Z/']@\0"@SZ8%!!U%H,^>A0 = 6X6 #K [AX %#HU/V#Q *+Y5W#
- XM58OLN ( Z#WR5U:+=@: /"IU$8L>A!2*!YB+^(,&A!0"1NLZ*_^ /#!\,X \
- XM.7\N.3Z&%'4+@#PP=0;'!HH4, "LF(O/T>'1X0//T>$#R(/I,(OY@#PP? 6
- XM/#E^XXM>!(D_B\9>7XOE7<-5B^RX @#HTO%6OI@(ZPV*!#A&!'4%N $ ZPA&
- XM@#P =>XKP%Z+Y5W#CP:>"(X>F 86![Z *R8)H ^F@8#<D50C@8L #/ B\CW
- XMT8OX\JXF. 5U^8/' XO(]]%7\JY>@\$"]]E;B\,#P04# "7^_RO@B_P>!A\6
- XM!_.DL""JB\L?OH$ ZPZ+R 0$)/XKX(O\N$,@J_.DB\&JB_06'U"+W(O^K K
- XM="#H-P!T]$Y6_P:R!JSH,@"J"L!T#.@C '7RQD7_ .O:JHOT2TL[\W,(K8<'
- XMB43^Z_*+W(DFM ;_)IX(/ ET CP@PSQ<=0B /")U ZSK&CPB=1:L/ UT$3PB
- XM=0> ?/Y<=01/JNOMK.O:PU6+[+C8 .C%\%=6B_V#[U+_=@K_=@C_=@;_=@3H
- XM/ B#Q B)1OY =2J#/I(& G4CBUX&B@<\7'0:"L!T!H!_ 3IT$+B@"%#HYO.#
- XMQ *+\ OV=0:+1O[IB0"X?P!05HV&+/]0Z.?G@\0&B_#&1JL B_6![M0 =-SK
- XM"8 \.W0)K(@%1X \ '7RQ@4 B_V#[U)7Z)_G@\0"B]B >?]<= NXI0A05^C7
- XMYH/$!/]V!E?HS>:#Q 3_=@K_=@A7_W8$Z)P'@\0(B4;^0'6*@SZ2!@)U@X \
- XM '4#Z7O_B\9&"\!UH^EQ_UY?B^5=PU6+[(/L(%=6BW8$N(!1N@$ 4E"-1 .9
- XM,\(KPKD" -/X,\(KPIE24.@^#HE&Z(E6ZHM>!M'CB[_""(O&F;D$ /?Y"])U
- XM!X-^!@)^ 4>X/ "94E"+1@R94E#H#0ZY$ XKVU-1B\B+1@J+VIE24(E.Y(E>
- XMYNCS#;F 4;L! %-1B\BX;0&+VO?NB]"+1@@#P@/'F5)0B4[@B5[BZ,T- T;@
- XM$U;B T;D$U;FB\B+1@Z+VID#R!/:@<$ IH'3SA(!3N@17NJ+1@@#QXE&^NB$
- XM"*$""8L6! D!1N@15NJ-1%")1O:+1@9(B4;TBT8*B4;P@SX&"0!T%XU&[%#H
- XM# F#Q (+P'0)@6[H$ Z#7NH BT;HBU;J7E^+Y5W#58OL58X>F 8SR8O!B^F+
- XM^4F+-BP "_9T"([&\JY%KG7Z19= )/Z+_='E \46'U>_"0#H1P=?B\^+_0/X
- XMB2ZV!AX'CMXS]DGC$X$\.T-T!8E^ $5%K*H*P'7ZXNV)3@ 6'UV+Y5W#58OL
- XM5U:+=@2+?@8>![=!LUJU((HDB@4*Y'0@"L!T'$9'.N=R!CKC=P("Y3K'<@8Z
- XMPW<" L4ZX'4(Z]@SR3K@= FY !R DE)]]&+P5Y?B^5=PU6+[(/L E:^"@7V
- XM1 :#=14KP(E$ HA$!HE$!(D$QD0'_XO&ZPV+QH/&"#L&(@9UVBO 7HOE7<-5
- XMB^Q75AX'BW8&Z,(&BW8$,\"L.L1T"NC<!CK@=/2+QDA>7XOE7<-5B^R+7@3V
- XMAYX&('0.N )",\F+T<TA<P/I].[VAYX&@'4#Z8$ BTX(BU8&'@<SP/Q75HOP
- XMB_KC9;@*0/*N=3)1B\\KRDGC$,TAG /PG7,$M GK20O ="]&N0( NJ@(M$#-
- XM(7,$M GK- O =!I9B]?KQ5&+SRO*S2&< _"=<P2T">L:"\!U%O:'G@9 = N+
- XM7@: /QIU _CK!/FX !Q9<@*+QEY?Z6GNBTX("\EU!8O!Z5WNBU8&M$#-(7,$
- XMM GKY O =>#VAYX&0'0*B]J /QIU _CKS_FX !SKR56+[%97!H-^" !U.+\H
- XM!HM6!HM&!$AU!^A3 '(GZTB+-G@&2'01._=T#8M$ HE%;H.@!><S"#Q@2!
- XM_G@&<P0+TG4&N/__F>L=B]J#PP_1V[$#T^NT2,TA<NF2B02)5 *)-G@&,\ '
- XM7UZ+Y5W#BTX,B_<Y3 )T#(/&!('^> 9U\OGK/XO: QQR.8O3CL$[]W4&.1XD
- XM!G,F@\,/T=O1Z]'KT>L[]W4) ]FAF 8KV([ M$K-(7(-._=U!(D6) :2AP2+
- XMT<-5B^S&!H<( (M.!NAE (E.!HM6!#+MM#S-(7)4B]B+5@2X $/-(??! 0!U
- XM!#+)ZP*Q$/=&!@! =0[W1@8 @'4*]@9)"8!U X#)@ H.APBX $3-(7,%N 4
- XMZQ: R0&+P_;"@'0#@,E B(^>!H"GG@;]Z?[LH90&]] CP8'A ,"H@'4#@,D!
- XMPU6+[(O>BU8&BW8$M$?-(8OSB^5=P^CN"%6+[(/L!%=6O@H%*__K%/9$!H-T
- XM"U;H^NR#Q ) = %'@\8(.38B!G/FB\=>7XOE7<-5B^R#[ Q75HM>!(%_ LX2
- XM?S1\!H$_ *9S+,<&J!10 ,<&I!0! "O HZX4HZP4HZ84HYX4HZ 4HZ(4QP:J
- XM% ( N)X4Z7<!N( SNN$!4E"+7@3_=P+_-^C3"*.H%+B 4;H! %)0H:@40)DS
- XMPBO"N0( T_@SPBO"B_B94E#H40FY@#.[X0%348M>!/]W O\WB4;TB5;VZ&0)
- XM*T;T&U;VB4;XB5;Z@W[Z 'TH@4;X@#.!5OKA :&H%$"9N00 ]_D+TG4*@4;X
- XM@%OH!3_\.J!3KTH$&J!2R!Z&H%)FY! #W^0O2=1^AJ!29N60 ]_D+TG4-
- XMH:@4F;F0 ??Y"])U!;ZJ".L#OL0(@2ZH%&P'N(!1N@$ 4E#_=OK_=OCH#PBC
- XMK!2X@%&Z 0!24(U&^%#H<@G'!J84 0#K!/\&IA2+'J84T>.AK!0Y 'SO_PZF
- XM%(L>IA31XRL HZ04N! .F5)0_W;Z_W;XZ,8'HZ(4N! .F5)0C4;X4.@K";@\
- XM )E24/]V^O]V^.BG!Z.@%+@\ )E24/]V^O]V^.AD"*.>%+AM ?<NJ!0#!JP4
- XM \<MRF.9N0< ]_F)%JH4QP:N% Z8/^7E^+Y5W#58OL5U8>!XM^!(MV!HO7
- XMBTX(XS4[_G84B\8#P3OX<PP#\0/Y3D_]\Z3\ZQV+QPO&T>AS"HO',\;1Z'+K
- XMI$G1Z?.E<P6*!":(!8O"_%Y?B^5=PU6+[(M>!/:'G@8"= 4SP.E[ZHM."(M6
- XM!K0_S2%S!+0)ZR_VAYX&@'0H5E?\B_*+^HO(XQNT#:PZQ'0=/!IU!X"/G@8"
- XMZP6(!4?BZXO'*\)?7NDYZHOE7<.#^0%T!X \"G3GZ^+VAYX&0'09N !$S2'W
- XMPB =0J-%MX(M#_-(7+/L KK+\8&W@@ C1;>"+0_S2%RO O =!J#?@@!=""Y
- XM__^+T;@!0LTAN0$ @#[>" IT![ -BU8&ZXZ+5@;KC( ^W@@*==GKNE6+[+B*
- XM .AJZ%=6BW8&@WX$ G40_W8*_W8(5NC*!8/$!NGT "O 4(V&>/]0C4;X4(U&
- XM_E#_=@K_=@CHFP.#Q Q =0:X___ISP"X7 !05NC(WX/$!(OX"_]U HO^N"X
- XM4%?H[MZ#Q 0+P'08_W;XC89X_U!6_W8$Z&3H@\0(B4;ZZ8D 5NA/WX/$ @4%
- XM %#HL=N#Q *+^ O_=0O_=O[HE-N#Q +KGKC@"%!65^@#WX/$!%#H;-Z#Q 3'
- XM!I(& #_=OB-AGC_4%?_=@3H$>B#Q B)1OJ#/I(& G4KN.4(4+@N %!7Z#/?
- XM@\0$4.C$WH/$!/]V^(V&>/]05_]V!.C?YX/$"(E&^E?H*]N#Q +_=O[H(MN#
- XMQ *+1OI>7XOE7<.+T ,&* 9R-3D&) 9S)04/ %#1V+$#T^B,V8L>F 8KRP/!
- XMCL.+V+1*S2%8<A D\$BC) :5BRXH!@$6* ;#B\?IVM>_Z@B+W[D0 #/ \ZJL
- XM"L!T%8OXL0/3[P/[L@&*R(#A!]+B"!7KYL-1B_BQ ]/O _NR 8K(@.$'TN)9
- XM,\"$%70!0,-5B^Q75AX'BTX(XR:+V8M^!(OW,\#RKO?9 \N+_HMV!O.FBD3_
- XM,\DZ1?]W!'0$24GWT8O!7E^+Y5W#58OL@^P$5U:X2@E0Z.GI@\0"B_ +]G4#
- XMZ94 @#P =0/IC0"X P!05O\V" GHYMV#Q :X$ Z94E"#Q@-6Z+H!@\0"4E#H
- XMT02C @F)%@0)*_^+WP/>@#\ =!^+WP/>B@>8B]CVA\,&!'4)B]\#WH _+74&
- XM1X/_ WS8B]\#WH _ '05N , 4(O' \90_S8*">B$W8/$!NL'BQX*"<8' (L>
- XM"@F /P!T!;@! .L"*\"C!@E>7XOE7<-5B^R#[ 975HMV!(-\" -\!H-\" E^
- XM!2O Z;H @WP( WX)@WP("7T#Z:@ BWP*@<=L!XM<"-'CBX?&"$")1OZ+QYFY
- XM! #W^0O2=1N+QYFY9 #W^0O2=0R+QYFYD 'W^0O2=0/_1OZ+? J#[T:X;0'W
- XM[XO(C44!B]F9,\(KPKD" -/X,\(KP@-&_@/#!00 F;D' /?YBT;^*\*)1OJ#
- XM? @#=1@Y1 Y_+#E$#G0#Z6C_@WP$ GT#Z5__ZQF+1OHY1 Y\$3E$#G0#Z4W_
- XM@WP$ 7P#Z43_N $ 7E^+Y5W#58OL5E>S .D (M."HM&!(M6!HM^"%<>!_R3
- XM"L!T$X/Y"G4."])Y"K MJO?;@]( ]]J+]Y(ST@O = +W\9/W\9*'TP0P/#EV
- XM @0GJHO""\-UXH@%3ZR&!8A$_T\[]W+U6%]>B^5=P^DD E6+[+@2 .B2Y%=6
- XM*_8Y=@9U!J&V!HE&!H-^!@!T(HM&!HE&\.L2BU[P@T;P O\WZ,S;@\0"0 /P
- XMBU[P@S\ =>;'1O@4 (M>^("_G08 =07_3OAU\8-^^ !T"(M&^ 4. /P@WX.
- XM '00BUX$_S?HCMN#Q (% P #\$:)=O:+-OH'QP;Z!Q BT;V!0\ 4.C:UX/$
- XM HE&_@O =2F+1O8%#P!0Z,;7@\0"B_@+_W49QP:2!@P QP:<!@@ B3;Z![C_
- XM_^E! 8M^_HDV^@>+7@B)?O*)/XM&\@4/ "3PB4;RBUX*B_B)/X-^!@!T+8M&
- XM!HE&\.L=*\!0BU[P_S=7Z-O:@\0$4.AUVH/$!$"+^(-&\ *+7O"#/P!UVX-^
- XM^ !T.RO 4+A."5!7Z+':@\0$4.A+VH/$!(OXBD;XB 5'*_: O)X& '0&BH2>
- XM!NL"L/^(!4=&_T[X=>C&!0!'Q@4 @WX. '0/@\<#BUX$_S=7Z&S:@\0$*_:+
- XM?@Q'BUX$.3=T>CEW G0%Q@4@1T:+1@0% @")1O#K6?]V[NAFVH/$ HE&_ /&
- XM/7T ?AK'!I(&!P#'!IP&"@"+7@C_-^BCUH/$ NG^_@-V_"O 4(M>\/\W5^@+
- XMVH/$!%#HI=F#Q 2+^(-&\ *+7O"#/P!T!<8%($=&BU[PBP>)1NX+P'6;Q@4-
- XMBUX,B\:(!XM&]EY?B^5=P[@" .E2TXL.; GC O_AN/__QP:2!A8 Z<OC58OL
- XM5E>+=@3\,\"9B]JL/"!T^SP)=/<\+9QT!#PK=0&L/#EW'RPP<AO1X]'2B\N+
- XM^M'CT=+1X]'2 ]D3UP/8@]( Z]R3G74']]B#T@#WVE]>B^5=PU6+[%=64S/_
- XMBT8&"\!]$O?7BU8$]]CWVAT (E&!HE6!(M&"@O ?1+WUXM6"/?8]]H= ")
- XM1@J)5@@+P'46BTX(BT8&,]+W\8O8BT8$]_&+T^L\D(O8BTX(BU8&BT8$T>O1
- XMV='JT=@+VW7T]_&+\#/24E#_=@K_=@CH)P [5@9W!W((.T8$=@.#[@$STHO&
- XM"_]T!_?:]]B#V@!;7E^+Y5W"" !5B^Q7BWX&BT8*"_B+7@B+3@1T"_?AB_B+
- XMP_=F!@/XB\/WX0/77XOE7<(( %6+[%-7,_^+1@8+P'T2]]>+5@3WV/?:'0
- XMB48&B58$BT8*"\!]$(M6"/?8]]H= ")1@J)5@@+P'4:BTX(BT8&,]+W\8M&
- XM!/?QB\(ST@O_=47K2I"+V(M."(M6!HM&!-'KT=G1ZM'8"]MU]/?Q,])24/]V
- XM"O]V".A9_SM6!G<'<@L[1@1V!BM&"!M6"BM&!!M6!@O_=0?WVO?8@]H 7UN+
- XMY5W"" !5B^R+7@3_=@C_=@;_=P+_-^A&_XM>!(E7 HD'B^5=P@8)'[( %P"P
- XM0R!,:6)R87)Y("T@*$,I0V]P>7)I9VAT($UI8W)O<V]F="!#;W)P(#$Y.#8?
- XM "5S(#T@)7,* "5S.CH* "5S.@H *$U!24X@3D%-12D* " E<P M"25S"@!C
- XM:7)C=6QA<B!D97!E;F1E;F-Y(&9R;VT@8"5S)P N4%)%0TE/55, &YO(&UE
- XM;6]R>2!F;W(@;F%M90!N;R!M96UO<GD@9F]R(&YA;64 ;F\@;65M;W)Y(&9O
- XM<B!D97!E;F1A;G0 ;F\@;65M;W)Y(&9O<B!C;VUM86YD &YO(&UE;6]R>2!F
- XM;W(@8V]M;6%N9 !C;VUM86YD<R!D969I;F5D('1W:6-E(&9O<B!T87)G970@
- XM)7, :6YC;VYS:7-T96YT(')U;&5S(&9O<B!T87)G970@)7, ;F\@;65M;W)Y
- XM(&9O<B!L:6YE ')U;&5S(&YO="!A;&QO=V5D(&AE<F4 ;F\@;6%C<F\@;F%M
- XM90!N;R!T87)G971S('!R;W9I9&5D !N;R!M96UO<GD@9F]R(&UA8W)O &YO
- XM(&UE;6]R>2!F;W(@;6%C<F\ ;F\@;65M;W)Y(&9O<B!M86-R;P :6YF:6YI
- XM=&5L>2!R96-U<G-I=F4@;6%C<F\@)7, 97AP86YD960@;&EN92!T;V\@;&EN
- XM90 ;6%K90!M86ME "T <@!M86ME9FEL90!M86ME9FEL90!C86YN;W0@;W!E
- XM;B!@)7,G.R!E<G)O<B E,#)X '( ;6%K969I;&4 ;6%K969I;&4 8V%N;F]T
- XM(&]P96X@8"5S)P!R &-A;FYO="!O<&5N(& E<R< ) D "Y324Q%3E0 +DE'
- XM3D]210!N;R!T87)G971S(&1E9FEN960 ;&]V90!.;W0@=V%R(0H $ !
- XM !U<V%G93H@)7,@6RUF(&UA:V5F:6QE72!;+6%I;G!Q<G-T72!;/&UA8W)O
- XM/CT\=F%L/BXN+ET@6W1A<F=E="AS*2XN+ET* "5S.B %-(14Q, %P* &-O
- XM=6QD(&YO="!E>&5C=71E(& E<R< )7,Z(&5R<F]R(&-O9&4@)60 ("AI9VYO
- XM<F5D*0H )7,Z(& E<R<@<F5M;W9E9"X* &-A;FYO="!O<&5N(& E<R<[(&5R
- XM<F]R("5D " @("!T;W5C:"A@)7,G*0H )7,Z(& E<R<@;F]T('1O=6-H960*
- XM &1O(&YO="!K;F]W(&AO=R!T;R!M86ME(& E<R< )7,Z(& E<R<@:7,@=7 @
- XM=&\@9&%T90H " /P! E<SH@ "!N96%R(&QI;F4@)60 ;&EN92!T;V\@
- XM;&]N9P *@ N4U5&1DE815, <W5F9FEX(')U;&4@=&]O(&QO;F< :6UP;&EC
- XM:70@;F%M92!T;V\@;&]N9P \ &5X93)B:6X 15A%,D))3@ D*$5813)"24XI
- XM("0J+F5X92 D0 N97AE+F-O;0!L:6YK $Q. !,1DQ!1U, )"A,3BD@)"HN
- XM;V)J+"1 ("0H3$9,04=3*2 [ "YO8FHN97AE &-C $-# "U/= !#1DQ!1U,
- XM)"A#0RD@)"A#1DQ!1U,I("UC("0\ "YC+F]B:@!M87-M $%3 !!4T9,04=3
- XM "0H05,I("0\+"1 ("0H05-&3$%'4RD[ "YA<VTN;V)J "YC;VT +F5X90 N
- XM;V)J "YA<VT +F, +E-51D9)6$53 !P? <'P$ @$ &
- XM @ (0# @0J!;( > "P 0 @0 L@!T +"B!0 (H$
- XM"@"R $P L"@&.T-?1DE,15])3D9/#@"R !@ L(&!@0$!!0"R " L" ) + H
- XM*"@H* 4 LB 2 +!( 0"R$ \ L(0* + 0$! 0$! 0@8&!@8&!#0"R 10 L! 0
- XM$! 0$(*"@H*"@@P L@(4 + 0$! 0( 4 L@"! +!<5$U0 %P& +( # "P+F$
- XM+F$ +F$ /RH ( !X("]C( !#3TU34$5#&P"R H L" #M#7T9)3$5?24Y&
- XM3P [0U]&24Q%7TE.1D\ ,"( #X!XT$" B-!"T L@ A + 6 @(8#0D,
- XM# P'"/___Q(-$@+_$P"R "X L"AN=6QL*0 H;G5L;"D *RT@(P !0051(
- XM %P T*__\> #L 6@!X )< M0#4 /, $0$P 4X!;0'__QX .@!9 '< E@"T
- XM -, \@ 0 2\!30%L 0 +F-O;0 N97AE7P"R !$ L%!35 !01%0 @' $
- XM^@C^"%-U;DUO;E1U95=E9%1H=49R:5-A= !*86Y&96)-87)!<')-87E*=6Y*
- XM=6Q!=6=397!/8W1.;W9$96, 5%H #M#7T9)3$5?24Y&3V L@ 0 +">
- XM/0 /#Q.35-'/CX! T*97)R;W(@,C P,3H@3G5L;"!P;VEN=&5R(&%S<VEG
- XM;FUE;G0-"@ T*97)R;W(@,C P,#H@4W1A8VL@;W9E<F9L;W<-"@ # T*
- XM97)R;W(@,C P,SH@26YT96=E<B!D:79I9&4@8GD@, T* 0 #0IE<G)O<B R
- XM,# T.B!$3U,@,BXP(&]R(&QA=&5R(')E<75I<F5D#0HD D #0IE<G)O<B R
- XM,# Y.B!.;W0@96YO=6=H('-P86-E(&9O<B!E;G9I<F]N;65N= T* ( #0IE
- XM<G)O<B R,# R.B!&;&]A=&EN9R!P;VEN="!N;W0@;&]A9&5D#0H ____# &R
- XM H L/__________________11D 40$ ")T&,@520HS !1 #A^C! #
- XM!@P CL"+#@8 B_E/B_?]\Z10N#( 4,N,PXS82([8CL"_#P"Y$ "P__.N1XOW
- XMB\-(CL"_#P"Q!(O&]]#3Z'0*C-HKT([:@<[P_XO']]#3Z'0*C,(KT(["@<_P
- XM_ZR*T$ZMB\A&BL(D_CRP=0:L\ZKK!Y \LG5K\Z2*PJ@!=+B^)P$.'XL>! #\
- XM,]*MB\CC$XO" \..P*V+^(/__W01)@$=XO.!^@#P=!:!P@ 0Z]R,P$".P(/O
- XM$"8!'4B.P.OBB\.+/@@ BS8* /P 08" "T0 ([8CL"[ #ZCM:+Y_LN_R^T
- XM0+L" +D6 (S*CMJZ$0'-(;C_3,TA4&%C:V5D(&9I;&4@:7,@8V]R<G5P= 4
- XHRDY<&<)0QE"W+0 '5P
- X
- Xend
- FRIDAY_NIGHT
- echo extracting - move.c
- sed 's/^X//' > move.c << 'FRIDAY_NIGHT'
- X/****************************************************************/
- X/* Wmove() routine of the PCcurses package */
- X/* */
- X/****************************************************************/
- X/* This version of curses is based on ncurses, a curses version */
- X/* originally written by Pavel Curtis at Cornell University. */
- X/* I have made substantial changes to make it run on IBM PC's, */
- X/* and therefore consider myself free to make it public domain. */
- X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
- X/****************************************************************/
- X/* 1.0: Release: 870515 */
- X/****************************************************************/
- X
- X#include <curses.h>
- X#include <curspriv.h>
- X
- X/****************************************************************/
- X/* Wmove() moves the cursor in window 'win' to position (x,y). */
- X/****************************************************************/
- X
- Xint wmove(win,y,x)
- X WINDOW *win;
- X int y;
- X int x;
- X {
- X if ((x < 0)||(x > win->_maxx)||(y < win->_regtop)||(y >win->_regbottom))
- X return(ERR);
- X win->_curx = x;
- X win->_cury = y;
- X return(OK);
- X } /* wmove */
- X
- X/****************************************************************/
- X/* Move() moves the cursor in stdscr to position (x,y). */
- X/****************************************************************/
- X
- Xint move(y,x)
- X int y;
- X int x;
- X {
- X return(wmove(stdscr,y,x));
- X } /* move */
- FRIDAY_NIGHT
- echo extracting - mvcursor.c
- sed 's/^X//' > mvcursor.c << 'FRIDAY_NIGHT'
- X/****************************************************************/
- X/* Mvcur() routine of the PCcurses package */
- X/* */
- X/****************************************************************/
- X/* This version of curses is based on ncurses, a curses version */
- X/* originally written by Pavel Curtis at Cornell University. */
- X/* I have made substantial changes to make it run on IBM PC's, */
- X/* and therefore consider myself free to make it public domain. */
- X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
- X/****************************************************************/
- X/* 1.0: Release: 870515 */
- X/****************************************************************/
- X
- X#include <curses.h>
- X#include <curspriv.h>
- X
- X/****************************************************************/
- X/* Mvcur(oldy,oldx,newy,newx) the display cursor to <newy,newx> */
- X/****************************************************************/
- X
- Xint mvcur(oldy,oldx,newy,newx)
- X int oldy;
- X int oldx;
- X int newy;
- X int newx;
- X {
- X if ((newy >= LINES) || (newx >= COLS) || (newy < 0) || (newx < 0))
- X return(ERR);
- X _cursescursor(0,newy,newx);
- X _cursvar.cursrow = newy;
- X _cursvar.curscol = newx;
- X return(OK);
- X } /* mvcur */
- FRIDAY_NIGHT
- echo extracting - nearcall.inc
- sed 's/^X//' > nearcall.inc << 'FRIDAY_NIGHT'
- X far_call EQU 0
- FRIDAY_NIGHT
- echo extracting - newwin.c
- sed 's/^X//' > newwin.c << 'FRIDAY_NIGHT'
- X/****************************************************************/
- X/* Newwin(), subwin() routines of the PCcurses package */
- X/* */
- X/****************************************************************/
- X/* This version of curses is based on ncurses, a curses version */
- X/* originally written by Pavel Curtis at Cornell University. */
- X/* I have made substantial changes to make it run on IBM PC's, */
- X/* and therefore consider myself free to make it public domain. */
- X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
- X/****************************************************************/
- X/* 1.0: Release: 870515 */
- X/****************************************************************/
- X
- X#include <stdio.h>
- X#include <curses.h>
- X#include <curspriv.h>
- X
- X/****************************************************************/
- X/* Makenew() allocates all data for a new window except the */
- X/* actual lines themselves. */
- X/****************************************************************/
- X
- Xstatic WINDOW *makenew(num_lines, num_columns, begy, begx)
- X int num_lines, num_columns, begy, begx;
- X {
- X int i;
- X WINDOW *win;
- X
- X /* allocate the window structure itself */
- X
- X if ((win = (WINDOW *) malloc(sizeof(WINDOW))) == NULL)
- X return ((WINDOW *) ERR);
- X
- X /* allocate the line pointer array */
- X
- X if ((win->_line = (int **) calloc(num_lines, sizeof (int *))) == NULL)
- X {
- X free(win);
- X return((WINDOW *) ERR);
- X }
- X
- X /* allocate the minchng and maxchng arrays */
- X
- X if ((win->_minchng = (int *) calloc(num_lines, sizeof(int))) == NULL)
- X {
- X free(win);
- X free(win->_line);
- X return((WINDOW *) ERR);
- X }
- X if ((win->_maxchng = (int *) calloc(num_lines, sizeof(int))) == NULL)
- X {
- X free(win);
- X free(win->_line);
- X free(win->_minchng);
- X return((WINDOW *) ERR);
- X }
- X
- X /* initialize window variables */
- X
- X win->_curx = 0;
- X win->_cury = 0;
- X win->_maxy = num_lines - 1;
- X win->_maxx = num_columns - 1;
- X win->_begy = begy;
- X win->_begx = begx;
- X win->_flags = 0;
- X win->_attrs = ATR_NRM;
- X win->_tabsize = 8;
- X win->_clear = (bool) ((num_lines == LINES) && (num_columns == COLS));
- X win->_leave = FALSE;
- X win->_scroll = FALSE;
- X win->_nodelay = FALSE;
- X win->_keypad = FALSE;
- X win->_regtop = 0;
- X win->_regbottom = num_lines - 1;
- X
- X /* init to say window unchanged */
- X
- X for (i = 0; i < num_lines; i++)
- X {
- X win->_minchng[i] = 0;
- X win->_maxchng[i] = num_columns-1;
- X }
- X
- X /* set flags for window properties */
- X
- X if ((begy + num_lines) == LINES)
- X {
- X win->_flags |= _ENDLINE;
- X if ((begx == 0) && (num_columns == COLS) && (begy == 0))
- X win->_flags |= _FULLWIN;
- X } /* if */
- X if (((begy + num_lines) == LINES)
- X &&
- X ((begx + num_columns) == COLS))
- X win->_flags |= _SCROLLWIN;
- X return(win);
- X } /* makenew */
- X
- X/****************************************************************/
- X/* Newwin() creates a new window with size num_lines * num_co- */
- X/* lumns, and origin begx,begy relative to the SCREEN. Special */
- X/* case: if num_lines and/or num_columns is 0, the remainder of */
- X/* the screen is used. */
- X/****************************************************************/
- X
- XWINDOW *newwin(num_lines, num_columns, begy, begx)
- X int num_lines, num_columns, begy, begx;
- X {
- X WINDOW *win;
- X int *ptr;
- X int i, j;
- X
- X if (num_lines == 0)
- X num_lines = LINES - begy;
- X if (num_columns == 0)
- X num_columns = COLS - begx;
- X if ((win = makenew(num_lines, num_columns, begy, begx)) == (WINDOW *) ERR)
- X return((WINDOW *) ERR);
- X for (i = 0; i < num_lines; i++) /* make and clear the lines */
- X {
- X if((win->_line[i] = (int *) calloc(num_columns,sizeof(int))) == NULL)
- X {
- X for (j = 0; j < i; j++) /* if error, free all the data */
- X free(win->_line[j]);
- X free(win->_minchng);
- X free(win->_maxchng);
- X free(win->_line);
- X free(win);
- X return((WINDOW *) ERR);
- X } /* if */
- X else
- X for (ptr = win->_line[i]; ptr < win->_line[i] + num_columns;)
- X *ptr++ = ' ' | ATR_NRM;
- X } /* for */
- X return(win);
- X } /* newwin */
- X
- X/****************************************************************/
- X/* Subwin() creates a sub-window in the 'orig' window, with */
- X/* size num_lines * num_columns, and with origin begx, begy */
- X/* relative to the SCREEN. Special case: if num_lines and/or */
- X/* num_columns is 0, the remainder of the original window is */
- X/* used. The subwindow uses the original window's line buffers */
- X/* to store it's own lines. */
- X/****************************************************************/
- X
- XWINDOW *subwin(orig, num_lines, num_columns, begy, begx)
- X WINDOW *orig;
- X int num_lines, num_columns, begy, begx;
- X {
- X WINDOW *win;
- X int i, j, k;
- X
- X /* make sure window fits inside the original one */
- X
- X if (
- X begy < orig->_begy ||
- X begx < orig->_begx ||
- X (begy + num_lines) > (orig->_begy + orig->_maxy) ||
- X (begx + num_columns) > (orig->_begx + orig->_maxx)
- X )
- X return((WINDOW *) ERR);
- X
- X if (num_lines == 0)
- X num_lines = orig->_maxy - (begy - orig->_begy);
- X if (num_columns == 0)
- X num_columns = orig->_maxx - (begx - orig->_begx);
- X if ((win = makenew(num_lines, num_columns, begy, begx)) == (WINDOW *) ERR)
- X return((WINDOW *) ERR);
- X
- X /* set line pointers the same as in the original window */
- X
- X j = begy - orig->_begy;
- X k = begx - orig->_begx;
- X for (i = 0; i < num_lines; i++)
- X win->_line[i] = (orig->_line[j++]) + k;
- X win->_flags |= _SUBWIN;
- X return(win);
- X } /* subwin */
- FRIDAY_NIGHT
- echo extracting - options.c
- sed 's/^X//' > options.c << 'FRIDAY_NIGHT'
- X/****************************************************************/
- X/* Idlok(), clearok(), leaveok(), scrollok(), nodelay(), key- */
- X/* pad(), meta(), cursoff() and curson() routines of the */
- X/* PCcurses package. */
- X/* */
- X/****************************************************************/
- X/* This version of curses is based on ncurses, a curses version */
- X/* originally written by Pavel Curtis at Cornell University. */
- X/* I have made substantial changes to make it run on IBM PC's, */
- X/* and therefore consider myself free to make it public domain. */
- X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
- X/****************************************************************/
- X/* 1.0: Release: 870515 */
- X/****************************************************************/
- X
- X#include <curses.h>
- X#include <curspriv.h>
- X
- Xstatic bool hasold = FALSE; /* for remembering old cursor type */
- Xstatic int oldmode;
- X
- X/****************************************************************/
- X/* Idlok() is used to set flag for using the terminal insert/ */
- X/* delete line capabilities. This is not relevant for the PC */
- X/* version of curses, and thus nothing is done. */
- X/****************************************************************/
- X
- Xvoid idlok(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X } /* idlok */
- X
- X/****************************************************************/
- X/* Clearok() marks window 'win' to cause screen clearing and */
- X/* redraw the next time a refresh is done. */
- X/****************************************************************/
- X
- Xvoid clearok(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X if (win == curscr)
- X _cursvar.tmpwin->_clear = flag;
- X else
- X win->_clear = flag;
- X } /* clearok */
- X
- X/****************************************************************/
- X/* Leaveok() marks window 'win' to allow the update routines */
- X/* to leave the hardware cursor where it happens to be at the */
- X/* end of update. Usually used in combination with cursoff(). */
- X/****************************************************************/
- X
- Xvoid leaveok(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X win->_leave = flag;
- X } /* leaveok */
- X
- X/****************************************************************/
- X/* Scrollok() marks window 'win' to allow the scrolling region */
- X/* of it to actually scroll. */
- X/****************************************************************/
- X
- Xvoid scrollok(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X win->_scroll = flag;
- X } /* scrollok */
- X
- X/****************************************************************/
- X/* Nodelay() marks the window to make character input non- */
- X/* waiting, i.e. if there is no character to get, -1 will be */
- X/* returned. */
- X/****************************************************************/
- X
- Xvoid nodelay(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X win->_nodelay = flag;
- X } /* nodelay */
- X
- X/****************************************************************/
- X/* Keypad() marks window 'win' to use the special keypad mode. */
- X/****************************************************************/
- X
- Xvoid keypad(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X win->_keypad = flag;
- X } /* keypad */
- X
- X/****************************************************************/
- X/* Meta() allows use of any alternate character set allowed by */
- X/* the terminal. We always allow this on the PC, so this one */
- X/* does nothing. */
- X/****************************************************************/
- X
- Xvoid meta(win, flag)
- X WINDOW *win;
- X bool flag;
- X {
- X } /* meta */
- X
- X/****************************************************************/
- X/* Cursoff() turns off the hardware cursor. */
- X/****************************************************************/
- X
- Xvoid cursoff()
- X {
- X if (!hasold)
- X {
- X oldmode = _cursesgcmode(); /* get old cursor type */
- X hasold = TRUE;
- X }
- X _cursescmode(31,30); /* turn it off */
- X } /* cursoff */
- X
- X/****************************************************************/
- X/* Curson() turns on the hardware cursor. */
- X/****************************************************************/
- X
- Xvoid curson()
- X {
- X if (hasold)
- X {
- X _cursescmode(oldmode >> 8,oldmode);
- X hasold = FALSE;
- X }
- X } /* curson */
- FRIDAY_NIGHT
- echo extracting - overlay.c
- sed 's/^X//' > overlay.c << 'FRIDAY_NIGHT'
- X/****************************************************************/
- X/* Overlay() and overwrite() functions of the PCcurses package */
- X/* */
- X/****************************************************************/
- X/* This version of curses is based on ncurses, a curses version */
- X/* originally written by Pavel Curtis at Cornell University. */
- X/* I have made substantial changes to make it run on IBM PC's, */
- X/* and therefore consider myself free to make it public domain. */
- X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
- X/****************************************************************/
- X/* 1.0: Release: 870515 */
- X/****************************************************************/
- X
- X#include <curses.h>
- X#include <curspriv.h>
- X
- X/****************************************************************/
- X/* Overlay() overwrites 'win1' upon 'win2', with origins alig- */
- X/* ned. Overlay is transparent; blanks from 'win1' are not */
- X/* copied to 'win2'. */
- X/****************************************************************/
- X
- Xvoid overlay(win1, win2)
- X WINDOW *win1, *win2;
- X {
- X int *minchng;
- X int *maxchng;
- X int *w1ptr;
- X int *w2ptr;
- X int attrs;
- X int col;
- X int line;
- X int last_line;
- X int last_col;
- X
- X last_col = min(win1->_maxx, win2->_maxx);
- X last_line = min(win1->_maxy, win2->_maxy);
- X attrs = win2->_attrs & ATR_MSK;
- X minchng = win2->_minchng;
- X maxchng = win2->_maxchng;
- X
- X for(line = 0; line <= last_line; line++)
- X {
- X register short fc, lc;
- X w1ptr = win1->_line[line];
- X w2ptr = win2->_line[line];
- X fc = _NO_CHANGE;
- X for(col = 0; col <= last_col; col++)
- X {
- X if ((*w1ptr & CHR_MSK) != ' ')
- X {
- X *w2ptr = (*w1ptr & CHR_MSK) | attrs;
- X if (fc == _NO_CHANGE)
- X fc = col;
- X lc = col;
- X } /* if */
- X w1ptr++;
- X w2ptr++;
- X } /* for */
- X
- X if (*minchng == _NO_CHANGE)
- X {
- X *minchng = fc;
- X *maxchng = lc;
- X } /* if */
- X else
- X if (fc != _NO_CHANGE)
- X {
- X if (fc < *minchng)
- X *minchng = fc;
- X if (lc > *maxchng)
- X *maxchng = lc;
- X } /* else if */
- X minchng++;
- X maxchng++;
- X } /* for */
- X } /* overlay */
- X
- X/****************************************************************/
- X/* Overwrite() overwrites 'win1' upon 'win2', with origins */
- X/* aligned. Overwrite is non-transparent; blanks from 'win1' */
- X/* are copied to 'win2'. */
- X/****************************************************************/
- X
- Xvoid overwrite(win1, win2)
- X WINDOW *win1, *win2;
- X {
- X int *minchng;
- X int *maxchng;
- X int *w1ptr;
- X int *w2ptr;
- X int attrs;
- X int col;
- X int line;
- X int last_line;
- X int last_col;
- X
- X last_col = min(win1->_maxx, win2->_maxx);
- X last_line = min(win1->_maxy, win2->_maxy);
- X attrs = win2->_attrs & ATR_MSK;
- X minchng = win2->_minchng;
- X maxchng = win2->_maxchng;
- X
- X for(line = 0; line <= last_line; line++)
- X {
- X register short fc, lc;
- X
- X w1ptr = win1->_line[line];
- X w2ptr = win2->_line[line];
- X fc = _NO_CHANGE;
- X
- X for(col = 0; col <= last_col; col++)
- X {
- X if ((*w1ptr & CHR_MSK) != (*w2ptr & CHR_MSK))
- X {
- X *w2ptr = (*w1ptr & CHR_MSK) | attrs;
- X
- X if (fc == _NO_CHANGE)
- X fc = col;
- X lc = col;
- X } /* if */
- X
- X w1ptr++;
- X w2ptr++;
- X } /* for */
- X
- X if (*minchng == _NO_CHANGE)
- X {
- X *minchng = fc;
- X *maxchng = lc;
- X } /* if */
- X else
- X if (fc != _NO_CHANGE)
- X {
- X if (fc < *minchng)
- X *minchng = fc;
- X if (lc > *maxchng)
- X *maxchng = lc;
- X } /* else if */
- X minchng++;
- X maxchng++;
- X } /* for */
- X } /* overwrite */
- FRIDAY_NIGHT
- echo extracting - prntscan.c
- sed 's/^X//' > prntscan.c << 'FRIDAY_NIGHT'
- X/****************************************************************/
- X/* Printw() and scanw() routines of the PCcurses package */
- X/* */
- X/****************************************************************/
- X/* This version of curses is based on ncurses, a curses version */
- X/* originally written by Pavel Curtis at Cornell University. */
- X/* I have made substantial changes to make it run on IBM PC's, */
- X/* and therefore consider myself free to make it public domain. */
- X/* Bjorn Larsson (...mcvax!enea!infovax!bl) */
- X/****************************************************************/
- X/* 1.0: Release: 870515 */
- X/****************************************************************/
- X
- X#include <curses.h>
- X#include <curspriv.h>
- X
- Xstatic int pblen(); /* gets length of bufer */
- X
- X/****************************************************************/
- X/* IMPLEMENTATION NOTE */
- X/* These routines make a local copy of their parameter stack, */
- X/* assuming at most 5 'double' arguments were passed (== 40 */
- X/* bytes == 20 int's == 10 long's == 10-20 pointers {depending */
- X/* on memorymodel}, etc). This means the invokation of the */
- X/* routines themself require at least 80 bytes of stack just */
- X/* for the parameters, and the sprintf() and sscanf() functions */
- X/* will require more. Therefore, this module should be compiled */
- X/* with stack checking on to avoid stack overflow errors. */
- X/****************************************************************/
- X
- Xstatic char printscanbuf[513]; /* buffer used during I/O */
- X
- X/****************************************************************/
- X/* Wprintw(win,fmt,args) does a printf() in window 'win'. */
- X/****************************************************************/
- X
- Xint wprintw(win,fmt,A1,A2,A3,A4,A5)
- X WINDOW *win;
- X char *fmt;
- X double A1,A2,A3,A4,A5;
- X {
- X sprintf(printscanbuf,fmt,A1,A2,A3,A4,A5);
- X if (waddstr(win,printscanbuf) == ERR)
- X return(ERR);
- X return(pblen());
- X } /* wprintw */
- X
- X/****************************************************************/
- X/* Printw(fmt,args) does a printf() in stdscr. */
- X/****************************************************************/
- X
- Xint printw(fmt,A1,A2,A3,A4,A5)
- X char *fmt;
- X double A1,A2,A3,A4,A5;
- X {
- X sprintf(printscanbuf,fmt,A1,A2,A3,A4,A5);
- X if(waddstr(stdscr,printscanbuf) == ERR)
- X return(ERR);
- X return(pblen());
- X } /* printw */
- X
- X/****************************************************************/
- X/* Mvprintw(fmt,args) moves the stdscr cursor to a new posi- */
- X/* tion, then does a printf() in stdscr. */
- X/****************************************************************/
- X
- Xint mvprintw(y,x,fmt,A1,A2,A3,A4,A5)
- X int y;
- X int x;
- X char *fmt;
- X double A1,A2,A3,A4,A5;
- X {
- X if (wmove(stdscr,y,x) == ERR)
- X return(ERR);
- X sprintf(printscanbuf,fmt,A1,A2,A3,A4,A5);
- X if(waddstr(stdscr,printscanbuf) == ERR)
- X return(ERR);
- X return(pblen());
- X } /* mvprintw */
- X
- X/****************************************************************/
- X/* Mvwprintw(win,fmt,args) moves the window 'win's cursor to */
- X/* a new position, then does a printf() in window 'win'. */
- X/****************************************************************/
- X
- Xint mvwprintw(win,y,x,fmt,A1,A2,A3,A4,A5)
- X WINDOW *win;
- X int y;
- X int x;
- X char *fmt;
- X double A1,A2,A3,A4,A5;
- X {
- X if (wmove(win,y,x) == ERR)
- X return(ERR);
- X sprintf(printscanbuf,fmt,A1,A2,A3,A4,A5);
- X if(waddstr(win,printscanbuf) == ERR)
- X return(ERR);
- X return(pblen());
- X } /* mvwprintw */
- X
- X/****************************************************************/
- X/* Wscanw(win,fmt,args) gets a string via window 'win', then */
- X/* scans the string using format 'fmt' to extract the values */
- X/* and put them in the variables pointed to the arguments. */
- X/****************************************************************/
- X
- Xint wscanw(win,fmt,A1,A2,A3,A4,A5)
- X WINDOW *win;
- X char *fmt;
- X double A1,A2,A3,A4,A5; /* really pointers */
- X {
- X wrefresh(win); /* set cursor */
- X if (wgetstr(win,printscanbuf) == ERR) /* get string */
- X return(ERR);
- X return(sscanf(printscanbuf,fmt,A1,A2,A3,A4,A5));
- X } /* wscanw */
- X
- X/****************************************************************/
- X/* Scanw(fmt,args) gets a string via stdscr, then scans the */
- X/* string using format 'fmt' to extract the values and put them */
- X/* in the variables pointed to the arguments. */
- X/****************************************************************/
- X
- Xint scanw(fmt,A1,A2,A3,A4,A5)
- X char *fmt;
- X double A1,A2,A3,A4,A5; /* really pointers */
- X {
- X wrefresh(stdscr); /* set cursor */
- X if (wgetstr(stdscr,printscanbuf) == ERR) /* get string */
- X return(ERR);
- X return(sscanf(printscanbuf,fmt,A1,A2,A3,A4,A5));
- X } /* scanw */
- X
- X/****************************************************************/
- X/* Mvscanw(y,x,fmt,args) moves stdscr's cursor to a new posi- */
- X/* tion, then gets a string via stdscr and scans the string */
- X/* using format 'fmt' to extract the values and put them in the */
- X/* variables pointed to the arguments. */
- X/****************************************************************/
- X
- Xint mvscanw(y,x,fmt,A1,A2,A3,A4,A5)
- X int y;
- X int x;
- X char *fmt;
- X double A1,A2,A3,A4,A5; /* really pointers */
- X {
- X if (wmove(stdscr,y,x) == ERR)
- X return(ERR);
- X wrefresh(stdscr); /* set cursor */
- X if (wgetstr(stdscr,printscanbuf) == ERR) /* get string */
- X return(ERR);
- X return(sscanf(printscanbuf,fmt,A1,A2,A3,A4,A5));
- X } /* mvscanw */
- X
- X/****************************************************************/
- X/* Mvwscanw(win,y,x,fmt,args) moves window 'win's cursor to a */
- X/* new position, then gets a string via 'win' and scans the */
- X/* string using format 'fmt' to extract the values and put them */
- X/* in the variables pointed to the arguments. */
- X/****************************************************************/
- X
- Xint mvwscanw(win,y,x,fmt,A1,A2,A3,A4,A5)
- X WINDOW *win;
- X int y;
- X int x;
- X char *fmt;
- X double A1,A2,A3,A4,A5; /* really pointers */
- X {
- X if (wmove(win,y,x) == ERR)
- X return(ERR);
- X wrefresh(win); /* set cursor */
- X if (wgetstr(win,printscanbuf) == ERR) /* get string */
- X return(ERR);
- X return(sscanf(printscanbuf,fmt,A1,A2,A3,A4,A5));
- X } /* mvwscanw */
- X
- X/****************************************************************/
- X/* Pblen() returns the length of the string in printscanbuf. */
- X/****************************************************************/
- X
- Xstatic int pblen()
- X {
- X char *p = printscanbuf;
- X
- X while(*p++);
- X return(p-printscanbuf-1);
- X } /* plben */
- FRIDAY_NIGHT
- echo pccurses.sh.3 completed!
-
-
-