Article 12617 of alt.sources: Path: nntpd.lkg.dec.com!depot.mro.dec.com!pa.dec.com!crl.dec.com!crl.dec.com!bloom-beacon.mit.edu!news.moneng.mei.com!uwm.edu!cs.utexas.edu!not-for-mail From: nygren@ctr.nawcad.navy.mil Newsgroups: alt.sources Subject: Tscreen+Tstring V1.02 uuzip file: C++ terminal control Date: 9 Jul 1995 13:30:21 -0500 Organization: UTexas Mail-to-News Gateway Lines: 360 Sender: nobody@cs.utexas.edu Message-ID: <9507091833.AA00583@worf.ctr.nawcad.navy.mil> NNTP-Posting-Host: news.cs.utexas.edu Archive-name: Tscreen+Tstring Version: 1.02 Submitted-by: nygren@tecnet1.jcte.jcs.mil (Dan Nygren) Followup-to: comp.terminals These files are example programs for the article entitled "Controlling Terminals Sanely with C++" in the July 1995 issue of "Embedded Systems Programming" magazine. = terminals, string, screen, C++ Manifest -------- tstring.cc, tstring.hpp - A minimal "terminal" string class V1.02 corrects memory leak in + operator tscreen.cc, tscreen.hpp - A terminal screen class touch_sc.cc - A demo program for a FPA570 touch screen ansi.cc - A demo program for an ANSI terminal or a PC with the ANSI.SYS driver mak* - Makefiles for UNIX and Turbo C++ readme - This file Dan Nygren 333 Carrsbrook Dr. Charlottesville, VA 22901 nygren@tecnet1.jcte.jcs.mil nygren@ctr.nawcad.navy.mil ------ begin 777 nygren2.zip M4$L#!!0 ( 1\WAZ) %"^+@P ( O * 5%-#4D5%3BY#0]5:ZV\; MN1'_K #Y!_IILL'EI$B6+.6=P&T=)X=S<7F@-G(%SJU [5(2S[ODEN1:TA7W MOW=FN+N2;,DYIY:!&DBTRR5_G/<,'[V>=[&54G?CN .GTF9*BQ1.N TRF8VD MA7&A8Z^,=O?OW;_7ZWV1UN$;]+O[_==P9*R5L9<)]39V :D4YZ TG ;@UZ_= MU,R:K1HE@,")R228,?BIYE0J6O0?.GOWH9:^G[ MW5]1"/B?ZV8J+7G\3-,Z%A824C@)0J.<3*+&B\"X,V,_$U;"V%C\N("\L+EQ M) Q&F$HKD9Z)%9I$/%,>^?8PEK)["3U&)A@^4>1%$S' F'[U$M#CFGJ1P8&Z26Y:DB:0E+H),:^=QA -H?OQT6C>GPCGI'K0@3T6,P%K. MV5:EB*=@D"5+W)L,.8U1> O&1+!8>*GQ7P=9(Q;UQ$&JSB6\/SF*?CDXBEB\ M1R?'T>!O^(RJO@?C$JC<$3EZ(L=*(QTH!L\:#C^>'$.)V&ZWF//'M_C7(R+I7X/4[INMQI$H4&RL\D0Y ME-V"A)9+B_K-0$!N9B@YHX$'E,-OF:0RK#UJU/$M4'=A5((R^,_]>XVC+#G M?VU22AR]P18K?6$U/":KQ/??@ZR^V_X')]*3;\ GY$[PTT_R0J:PN3L1QBK] M>8K:=#*5,8\1&DP-D#( NT(=$#NEFETY'8=,1OIR^FS0P?_[^_OT,P@_3_;W M 0&^G#[%A\PDTK4Z'-A()R_V1CC^DILR&,=Y"B3:6Y-"/!56Q$B#@Y&,136^ MCM(9*E9IY179/L5VI:D#0X5):&JV/&T\S%2:XK2QF6CUFX27W./J7-T=6NB% M1SD-7^#$S58#=7=%["2!BCUO2BY8NLS+7=GJ"IT;##8ZF_??_O*\?Q;ET9M> M[T/A.!2F*E8>%4%Z"H0?G1PO!0M._KN0FO+"NJ%#^=?K55JNO)84'-2Z5&?M M%KIU+8829B:QQE#WIU$-Y#_<*596Z4]NZN%+Q&U):D09E\6]K8AAC>-B&6 MY< - OKC!V:K6A_&3R;?@/>>'P-8'H#P*G)Y#:H'[\QX7Y1B31PZ,O:V6W) MM'=AMQ2>+I/SNOY*I?'8I*F9A0HSRX1.'%7;Z2)4P[F,QU2N7C"&6+)45IC! M.>K@L 0+.9H!RQ)\.9:*R;C(BE1X=<&YEV&Y4"R1[G1X5W M=^-6FXQ"&YN)=)M99#G939"4 MOI#6;:7JQ3:LZSWHO4YNX$5!C3OSH1D2TFPU/O#BD>VZ7+V3.D*RGWM(3#%* M)5#G#BV2)O@R59-IAS&",<=3H2EIPV2X=4^5UWP."_5IY#+?)A*?8!B MPY]FWJ+"[0>E46*%AZF906JJV%O::"T?V@5JX%^O][,$+25O;IUK'%/N;\ , M1PD-N56U.*LA4\E[-E3H('E^NKH4@F.4FDVDY>5>Z+^*P5JHAJ)N1L*%G0B: M,"N<7Q_$&C$Y3$4Z7E4J([!#068N:LI&(C[G,;K@#48S#K3QBI!V/W@SL%KT MA3'!Z@(.3C$+6J]9ZE#?4@[5D)2W U9INL05#QDKK=RT&H/P9-Q,89&OS\$+ MR'6'?!*UM*,W47O>OK:DNUUB5\0VS-5< MII>%QXWKTJM;H;4! 'ZE)5IL*.-Z5_7,C5.^VKBM"[&JE2%&H9A;%F>TQU6D M8ED(/G^ZC]311DQ [55;Y"^I?? TZ+5LK4;T\.,!O*R&<+!"#:C?C/8BA>:< MF6@@:@\1#J#_O/O\^8NU[L0)!0-H+N[49DJ-;+&.S3GO9>M MLG-ST0O\M*"U8Q.B_'1=J@R,W9W3,3V;$E3E/Q7M'3BPQO4 MISS!4%KAOAHH+D_S]@;3<&5>XO?K">JG^:!N&VR9M1^F#3^+07C#G^,;4K'. MZ^W2C4;Q4]<6T'\:)Z:\:+M%N7C?&_9NL>M*]'ACF@C,AZ_;#<=_M^JB'DY<3JPI)K939E]2RQ!U4;_')@OOH6\;H2E"L+C%S@2#.N M-$)+FA4?;4>?HS82'=QSF[/BS\2VH].H75(8AOXC:D=G4=0NR0POT=G\Q0]T M4/1>AYL$L(\-P0@JFI:TR-3)G9-$L>CLC&@"F@]D19F@T^^S32NPN_7S$-$: M6[P]EIH6 O/Z:5$Y88/&<1E$OXO.Y@A0=]X>""Y%@'K$=8&@-L?&CNK5WN.O MN]UJ+ECQO:^EA?_9]X*Y-$)"N1(+F)+=Y.X.T[PDMJ*RIF^9V__?I7OE#0;YV5O;2XE^M5I M*>XM9YW<^3X("97L)@3Q9:1:V>HX#=76LH,V//2WT&>$Y-GZ-V300MA]I5_1QRUKK(7(C1=0JC!(:X M^GO/Z ^N)K->S^7*0W4MKI3USBUD*.A#]W2LK*Z;W;WUE#3 MNMDD+OG?FK+"_FVOE].V/>U1KQR7\CTTNLL'X;![N<.'&FSV._W6ULW?'6DF MW+JM7]]5]^6HO ZVNE=>"PPW<,O;N5#?L"N]X_7K\!NP&G4_OG+*NYJKF'RS M,=S>-3916M@%5#OW=(N$3PX09N7.2B)3Z>4:B)6"+J?NQC#H;*VQ?CEY>=R& M.BK36@X'<)0EW8K[-W1/./![A5=]F=EP/W2GP^.0]L?+AY-VGD^45 M9VL*3V=68VLR>)L*Y20@WB:0.B325>N*GS58G[SQ:&=AJH0X:Y(4-/L89-Z/W! '\G25>'V!UPL1( M9R(/ODO.=-3A!JH &NQ6#\OU!LK3T:$;M>A$C>LSG"AZ0P<^?'N&Q59?I: K MDN%&KLH(HK307_X).9W=77&,TF!="--:SCI\FM3KD;E7]DU7AQ7!A HZLAB M0Y$:2=GQBNZW[Y"2;"=1G:98'ASS7+[O7$D/!LYR@ZCZ65$_?O#09C7:R-6&0.1L?'/T"\A@E3 B6,^W"V7AAR#&:E MH:\.\#!G0CX'%52_..0*W:C_@3ND#]O/A:QPX9VGMY:(P&DH+0)3">0Z$>D: M7"8L6)VZ%3,(J3:D7$-1FD*3H; !(4.#%,_",.4P@95PF2X=I(C]:^B)4BX-&92:O; ^@,'HI$I*ZC#GZH'!CO<0 7=5':2=XA>2I CZ5 M1% "Q3::R@I842 S(!112@\BT!X$/Y^H+8M"&R?4(L EFI>RH(V5=7R0@I?+69\W=9]W]\'(E4)IE /7)0516G<[ 'S;XG=/9N-,]OQR==.OX2=XYG?[ZVSPZFJJEU"N/135ERL^'O7^OTX0TGDU]2,8)+/Y<;@BK'.V#.Y@%R MO(6L,>I[QNDO"?$!2AMVZ*VJ:M5,FY_0H\-0@Y&O=HB29\PP3FT 9L&M-#P+ M%D%,4NNOJZN%3K7)2\D\0X5V$^HEG,[&\!AZGS,XA//+IT/821[J5HU.WOOT MG]W>*]%'Z!+/^^X5G$DSA>^V.)_I3(/P[BI"U8;1R?D6H*4/C?-Y<'[@^Y'N MK,CT;/S'GY/MC@C%99D@_&1=0CS][.==(;,6C;LFY&Y=X#49>0M]4R9%'(0U M^9O9X>3MEMHO(LE(Y+/<(5TKGD5/*K@Z@1KA]&Q2HU2[7/MT7;6Y_OD+6\[# MBS>O;A;XZ$6=HHREX,_I&]7/%YU\2DY%L^%VGF!S]A:U:^_A1ZZE?7DT? %& MK^S+I_2E$)A:+1CL8_"[X!=1]$I>M$18Z7/&C;:M^M)8;2+=[EPKT[1-F^D3XJ)-(=02C6WUR?42>S;3QAV$SQ9U%*9ZCY'#2]?C?HO"!0J/ MKNE7(FGE3G092XPRL<@B%06K/2BW15'M'AIF]R44:K>C/H#]MCC<]6@]U+[?_OP1\-[+_AX$[ M(UO"O\5T8719[-L.?UE$>(F\='6\;1:;9"JEWX0.G5>;G?!/DA%+YO!Y==\& MZ_#,^!_*DCZW+\O!SJM3^1)=>/,ZXSPAR:<@;9[+;_X#4$L#!!0 ( ,." MR!XA]CW<<00 !@* ' 04Y322Y#0ZU686_;-A#]' /^ _MT\(#-;ATY M3I4I43=$&!8@R 13W?O MWKT[DII,WBQ6\V@V@V-X PGF!GPF/-A2.S :!"QGL)<^@^"W^FT%4L/L>O%N M_CZL4JFPWYM,C&5WXS.TD(LXDQI='2ATB 6/-I=:*!#>DP,F_1X'#JY6%]>K M 2328NSE#L%EIE0);)#XI(23@$PA-GDAE=1;2"D5TZK#9Z:HK-QF'J8O7IS! MIH(+H24JF$6PJ+86-02WTM*C!SS.A50O08=7WWN,-?II]$?LD?ZX*)>JQH4E MTW5.4E7>0.F0"DD@-XE,*])(.G F]7MAL6:D*RA*6QARE"X@D!1(?+96:$]% ML!BF]) B1I^@QU1$@$^D\U9N2H_=% &/UD(Y\V^ 8RBLV(^J&\'< MLQ1MP0/A:#UHY< [3N7 V%JUO%"2U1*6=:NBNK]/Z ?FB]E/'RXN5\"K?N]+ MJ6-5)@C?C'D%'Q;S7\%59,HY M7B;6^6-KPIT3:*C$.?0WY3%30TY7-?_X:O1J^#2T-3)/=*R16HY'S5QR]G- M*CR]JDOI2#R9S!0/-$_<&L4G"0S2G$8OBL674D;B4:O2)!>&=WWD-ZT#F$MLY1;G8X/!\_'T4>[_QP ML.;]R8_@O+!\% D/RL1A;\/=Z_,Q5*^?#T:1R\Q^>&#R"=SIR?CT9!1ME-2W MPPXP_08K5\UFPM'&YD(-'P6*\7L,O,D$#Z_\ -QV??D/\ MC$I:L+>T>!2CUOZ,5Q_#WG_R^7XF#-?M%UN"->AF3>FE1G9Q4!9A&KTIXZP9 MQ\.]$'H&)@V+PIJM%3ELJ@!4H$T-7]/;\#8U2IE]N'0/D^%>MDFG(_A1QK=\ M9Q5*5""U-W!^O)&>;TF$H4SAO4[(UPB#4GR%%; O6WXQ?M_+.3DYMS*OA^#/B#A#]4ZJ\% MO,.XOP1,K$C!S@'%JOY+FKGYY1AKDKG2306=I\Q7OOY1%!Q)O26 MV\)"N\YQU*48L\I-O:.(E7[(=2V3"G"'MB*&!%<6C/&QW_OB;U!+ P04 M" ##@L@>.0]JTXD : 0 " $U!2T553DE84U;P36!625%F7KI>/DPS4,P*;@-<'<*@9)@D2 /"'"NX6B1M M&04%R!8@C$"HA9@"50(V!<(&FP)A DU!U0M3PWONGCO))R@J MY4X@/!B@1?Q 4Y91E J)HM4=GFW7>(BQZPPG=]'*#VZ"I>\ZKG/2Z9Q%,N8J MBPL(]2&+LX()KLY3>$N$XT62_ K04H\W"J8S.V,\KR MA]7X@^N ZV82S<#@CS<1WH!^9=_P9+&9KF[GDZ5OS*X3+O'\#KIKQU>V5DYE M<1T_O UP%/X,UA"]6/NK]540?I]%VVD874WGDW =O)$,#WG&""O0;9E136Y( MAF+W>^PZ"'5[&/>11]!S]PMZU1E#\C^OQILS5<"8B10:3/^"7\$VH3GE">6$ M404MH0T %*(D]UME *U!$4DI;^F%9'Q?Z\_=7C6S_BN)#SLAU= ,UE8.CA^8 MU 7HD8Z;J4WS M1JM;;R)=I],Y05R@0YPC?0H!KJ$!66E^>5&]'N+B_LU,*IHO=IYF:SQACRPI MXPQ=Z^/LMYBTF>M=O6?>**0>\'V>U\.'=UVD1>0'B M43_,@_\G3]+"2)B1D8QG6N:,:P%[L"(WSCR61E4'+4AF8CR2&XB$ID9-RBJ8 MQ5HJMM>"B\3B9P;?4Z4RWD(W\U02DU,J:IST:)MBL;)R1RRDM'ZNM#_L]EH? M@#Y86@<3-+_;:VX\&%[>3=R>FD]_ 5!+ P04 " ##@L@>'"8")44" !U M! !P $U!2T%.4TE]4UUOVC 4?<:2_\">KE1405%@ZDLKMDFC3KI%XZ,J MZ;0'I"DX#O4:G"A.*-/8?]^U'6C:APF%XWOO\)EXSUP>/PI_L1_IH=0_Z_JM&;2EWA M/'F9&S'S"WX$/Q-1")4(Q:70Z %6*("3E$;,!I7FI1"J%5>E5!L;'Z6#_1NK M5D'LQ=AI\72#IMZ^KN^\VFGW8;0;[4=\-.WVFGGWX?/Y^8$2_EZ;EPT:5;=L MN;+1R9-C4=+IG('*81L78,X/)6EQ?37$SXOT;5P]ZF;-[8*20VOP*I$[F=1Q M!K?FZ/DMSQ.?O+_BN^QK_FG@+-\6:*T$ MEJM4;NHR-L?=VCTZ1)4QMN^NCYDTSXO?8"?J7>*37EY?(>S,(SW\?_9*45G$ M3BU*E1DLI#(0;]<."ELLXM*&>FN 9Y;C\<)*)"*U85(W9!D;U')C0.6)T\^L MOJ=K;:N5,?-<<[NGUL(6Q=Z9DK%VN.9.LG1UI4T][/9:5Z^/F=9!PLCO]E[N M&B8.IU&[[_[N'U!+ P04 " ##@L@>K.$9TKH, #O)@ "P %1/54-( M7U-#+D-#[5KM;QLWTO^L /D'[M-406NI6>O-+W%.57&.++=&8\NPE'ZX)EA0 MNUR)S>YRC^3:5HO^[\&HW2[\^F;\8_^ M;-P9CV$?SFC"(1-\*4@"BD/ 4R5X# 3.KT^/7O3T6!ZL0 :"TO3IDZ=/NMTQ MS]:"+5<*^B]?'L%B#6NUDM!4S!DN=!?%=#]A+#X[Y":J7\H&J14 M]3N_!HKJ#]E)6&SYPC45"9.2\10UR24%DH:0\)!%:U K)D'R2-T102'B0D^N M(HR@)7%C4 MDBQFB!81B-NZ8_?W6_T'9Y/SBZO)#/"ET>W.46Y&A *I.<4A+*A!P)@1L9A" MBW4H[)]=SLZFL^'DXHQ9JBI2"F6IH9F?VW=C"(LBE1@M>Q81) M"F.>9#G"MR=A#*=RG09P25*RI*+.JQ3PD)W"'4N)WAJ2%ML!)[!@JCPTP8H( MB<8BRS=::E//2(U=JIKZ0RI*0HTX-*TT'(/Q\^?:Z("@N\MULN Q+M8B]4YI M(&X)B\E"XZ"X1L42L !"NLB73G>#4,H5- LK7KTY]V<7_YS \6$3%GJ#*CW* MN9&>:S]]LF.BWQL<#NLSTZM1;]@P%H5&CT"Q6X('QL2&C&LBN;'@_'S4'U8+ M0OKHDHN9?WDZOIE6ZQ9KB#D)?;/"-RM:;S_;-I(0B)([U[UIGQO5&MUF8Y,;7!D,OM(8)>O?(' M3LXSFH;,'.]SP9/"ZU>%VT/6.3KTP&!-S"$DB3GY49X&-F28P":I0AX8B 15 MN4A!"9+*(GKQS-!B#,(0HD0>F&#!])3>(@VV6ID06*B)IUIZP%Q(,2%*JX"A MVX@7--)?4QLWU3JC"(OEBR._XT<#]WA!\M 71-%A.:2-8&I=O8=$$7_!E*R& MI.+9UI"@"5?4CV)^YP=*Q-5,S ,2[YK0#'PE6)*P=+DYJDT(-@8%_5?.!-4, M:B(7@I+WOF*)5?X/N)Y>SXF&7-S7&3IMWXTR!U+CM?IZYTV?YMN;V"=^TAUMDYCCU MK9R=E'J7!C4+>W"@Q,R^6 UI&A>#"OB)Z$/!DH$7:D2 6 M>G&K/>QVQS'F54Q\U^,]62ME&IE&446M9F-R.;DY?7T&Y]'HY\(I@6GWI M>;UVN]WM3C49((W)GE6H7JP5IKXL5R;G\USAUT4>111S2@/WKE1X@B(!)6** MT]SZGH5#@Q#2T=>A5M S PC 101..7>")1!(->:_4<$AS9,%%1XHP?-%3%$, MO6>JU<>E$_W-UBXTC@&]4?*$JI5-I'>"8SW2^&,+"BV%9R46W[B-V64^V0F MM7JWT8*2T!D]0 _#G"[_!ZQW1G;*J#1Z>=SK#6LS-CC95-H;I=Q%JQI%&:Y& M)_6%9<@:]>O#VV%KM"%M*W1M3M;#U\,9%\(V)VIA;&M%&>NVV&/#/TC^QV(7%SN_<_ZW;C0@SEE M;'YZ,_=8ZB_RR#N?WDQ^GMQX/0\K%Q_+1$]KXJ,O>V&>).N!A^6D+Q51N1P8 M=&ZP6&2I"5PIO5=P9(Z(=*)_=\\/'(^$2DF6]!&H:LA4=)B7+70TW$!*2_O# M/:W5O3*ZVM513)8&FYW)HQ;$7?#<3!X[!@?%8'UQQTSY])X&N:)ZZSIRQ>]V M4@:YD%SX/(I:FU0RIC1K]8]V+E(B=JHOM?&:S)N>GR-B;>K,.JG>].E/2&O\VR3HS_3717:[Z@D<-W.F=-10*RSJ-:'$DXY^ M7V\^@+MD2^6*>'PI.A>+M6&441%QO!LLS6S$XYC?X5M9T_Z]%-IOPPVUQ>VW M,&C#3RQXC]V C,1KO$-P.-G'RUW"0VIH#MJ $0M5JRX=U;40Z:0A/&R#.172 MW.2-']B)HVHB#6'%$RJM21MP?%;D'Z_EX&;C9)HJ\>F3QL9H!\MT5??.RC>[ MWXF)B20N>E>7G$;M&O] TJTZ&/3\$XU\)0Y[3DF&G!$W M=Z3LQ9RGN%L1W%%8D5M-X*[DA0J?H&FP(NG2Q$Z[D]4-ZH&2";^EK4/ON-T) M373T5VRY\E/_CH6TU<2;O]$++T"1YD@%'LZ55LN"_E6S_=BA+R+3IEQ%[U6K M^?:^O_AE-!@>#%\,3U;-6?#_G6[,(!].,7CX>@%+?M+%=&!)KJA M+KH@59[Q%#!CUJE>:*IIKF+3+:D)O\,.QBV)66B'ZVM.])KSF,C58RL^#,#1 M\'C8[\4;]L.1YON:$VR:@38Y(X-"? X%T>J[5[MB=>O>,+K7CQGX;H><_/LBX5;T_R8E<'N-+XC:^EB M9]'])FS5"D];)H*%S;N+'>>VPY$E@0R0)( M,3[9DNVORKCUMDB16 N'NGS8U:CU+]]CXV -3JX[Z7E&5^AD5/L;DT8'COB+"3?JV@?3+X;MAMWM%;9=6 M2[^EHN .SUS+V5":P CFSV51DVUIRO/E"@3GYL>C%8]#.("0+9ER5RVYL5)R MTR.'>RT9U$I;;HDE9'$N8>]M;\_=K@S9MZ"8BNDO#]!X-\+K3_.2,(TC3?.F MAR%;\0S]WN%K0Q:2O5W@OU?6K'[3>S VV#%VL&/L4,OI=JLH9$Y?B(5I@$U, M@=(M>@^6'IFEVOX%"=[+#$_MWMO%'G+)79?<\GBP\MBL=#\;N;TQL#R@?+%# MY9,=8R^;>(TMKNK=[G6N'%KF"&&NKP&I239<=3OGF9C>/_;Z[8XI?]HV2=N= MZ[TK6WYG@MS5SR!Z1L1%R[Z-^D,W_MVH]6"_]_OM(3Q_;@G:19. *4[<A\P+&WW?J_<>R'KFV%/.K?6Y@BB'[&[FELTF,=0LOP7;NS_6N(+]EO MM+!?K_+Z1SUM><\SDN5VJW$_NG\^Z)U@R8P_ M::ZX8+_Q5)$X7B,>IA]1>+K9BJCUE>/R]7;\:>.&V1UK=+L34_ZPA-9*=D&Q M2QW: X3="$^#77D)+C.4"SS7H2!WJ0<:;W<33*TZ*,H0FZ@X-%_7H_7S_L' MO-@VG?WLF&5_XR^QH@[>7099JB8NQV7V/^+R@3]*0%+>N+ MX9>_6=N&R9_*CP&)@SPFBHNB&B?A7Y,;!Y\E-P[ZNW+CT0!3X\%!D1H'_Y=2 MX[CM\^>O;1L8_QZYLB!4ZNYI.;SY_[!O]A[OO_M/=ETM[+GG?\V9(>IHY/ M2'KV]?O^H-WMGD9X-$S?D0F-:,1S8;(2-HBKA(9-2C/LF?_D@K#+Y=N__9O4$L#!!0 ( 'QKZ1Y8/RJ _0$ M &4# & 4D5!1$U%?5)-C],P$#W7DO\ IU%/0-NH'UJA5H"HNJRT2%M5 M2JC@A%QGVICZ(QH[+>'7XR1-.8$/L95Y\][,O%F3+-0%)U887$'F)2':4>8# M*7OB;(_DE;,KF"73.6=I=3 J!,PGAWH%MCX1VD\!I<4P2W[*@/'C$Z,TO'X4 M%K8MX UG3TYK=ZW*27 KD,Z424 RR@KM.>,L*] C')5&#X(0\)?'CC!JF%C[4-X@'8-W[$21*A#!X,&D-6EO23:U[ MW]5ZD5O=O49PE2Q^>!F3!ATPCP*]':T; IYVZX=W4VBQMWS.A/6JR_I'FH7U M-GV^"_?]M(R[36=88U2#2M+O*>2D+AC[,.+\MJ-]$6?L=J5A_+I]_A9I<\@J M.KAF\)P1BMQ@A\X*Y=O5:NSXNY2<+18+V @B?R#GSO!(T>!-(4B[$-!?E-8X MAOT:YO/E=,;9?Y;]'I2!$BNN4N3QNM1=C+-7?P!02P,$% @ ]X'>'N_L MSMI!!@ >>MU/,D30=PA;:06BB8A&=PKH1S\ *+*5KXN=*IET:[_;W]O:.C MW]$Z6L%)@3=P%0V@PZL?/:8:_4GR=^J1 MOEQ22!7UPDN.Q@4GR8W*(0B=06$R.5N!SZ4#9V:>7$:8&4LO5U!6MC0D*%W0 MD*-%\F=NA?8ENEWEC7Z<#'/W'O5YMO;)^>-F[T^OM[ M[_;W.K2"(6A<0IH+>WUR<]8Y.CJW*#PE#'1%F8X;2%8XA];W>,N#(5S^=G'1 M9^G1E/(.4\3$D_)49G)*Q0DQ/' M0? "]=SGE/9M\YS>MVC-_MX_G)(/!)0RKM' (U='%Q63 /WHN>!M?,15IEI+ MH>::*'<0(:G'$94+% L$:TP1ZF\=3XR#%7TI5&FY8MD!N]B)!-;$[4!J;]J5 MM_^%0+TZ@,D6").$_@?MD7V7TB&,M?12*/E61/:\._CGR$&::IY#@86QJX!! M[0-S0 O'ET<_2>@[2&X"$)Y^+@C*T%-5 Q"2I%Y'@>L7HS]?7SP;/Q]?31X_ MN3FC]QU&Y1*9*)EW]8*,?K,'NH==<'*N M(X?'$Y>)&+C[ K=U7$G:_*S7Z!UTOU-9=Z#ZZ_B-KWF]**5"ZV)T(D))@8TF MY^-Q(]UX#KV?WHBB5'@*'%)/#5H+)\?]LWXPOM6%S?NF&;D%9Q()M.%&1V[ M_7_VXY:SFT79O+BC+N_GQ!@YSBJ?HO!KB59XBO)3/_=[S*\BVX( MS5XXK8=#.)CTN5JNQ"U"R@5;@>.FPRLSA>6#K,*5^>HO<4V_$4DG7'C2M M =WV%R?V4:_?A;E<8*RDF:'L+AD^M#8.I-U1,97SBL?=*?HEXH:NQ]!KX#X8 MM,@?] /9OV>'M5%6QK T]A8S$-948;!''HZG"HLP$V],/.TA!!G.)'?>%,F_ M>.-Y<-<'_AB]NAQ?/H<[)7A[:$OIN(SYOM=:HD>5PVP0W*!?%K190BX"0-*" M6>IX_XG#_X:S?_.QR\-]W?"YR(*JMHI;1.A!X5 MFCL*']BLC&]MZZ[UAA9B MI]V6.>HUGQ HTN68\>:8='*?8/4$5JC]*3+\>AY)J^X; 9$>2R.UIP##,!$? M!39@35N$D, O8B'C46NQ1BRXU_))C4&T0-8B-87[&:O3F*)SPJ[XND7O4E.@ M@_KF5UJ^PI%%$B:/P]0V5<@6"J%E62FQ9845]F2""6S.U?7"Q>/\K G6Q8,^ MRG1VK^<+([-^8)OW.\7EIE+9)F@E0?,N\DA= FQJ$/S>)-4ZR&4@GGKJ#SRE MS=1DJY"9@N]\;;T3! L.,A->)'S.W]]8\>E#Q0 B^>Y.^;LC+FUIP=UAWPU8 M J5^\R]02P,$% @ H&[I'EKL?.=C!0 B@T L !44U1224Y'+DA0 M4*U6;6L;1Q#^;(/_0#]-'4ALQ];5+OT0JRXU5E,$C@FU6PHAA-7=G+3QWNYU M7Z2(D/[VSLSJ3O)+2DDCD$Z[-_O,,\_,SFY1Q!"]MM/!K&T/X09]HZTR<"V3 M<&%4"##"6EL=M;,[VSO;1?$'^D #.!Y\=P)'<.&\QS)B!0TVSB_!H+H%;:'V M&FT%-]D#N!:]BL[#CV=13A^\>('F"QAI*Q& Q<#N%I./5H0 MLT1^; 0\:I0VIV#EU<\12XOQ>/">*-!/:9%QXS>$$X1H=I("@B$_C*ETO M(H29>RBZA3;YU9*B#(,S0(_&9>F4YP(6.,Y^@E!2'P ME>9X)RGB71>"1V-E@GL,\!!:[^:ZHMDX4Y%^B.[$S5&@LS[615UF)'8E^"2) MI@#:-9ML!:IM47E.A#*&032&0UG'@8;4MLY'2HS 5:Y,#4$I3LL ;MAY(FX> M&G6+@3#!8^LQ=#:!R:5,,R0=U40;'9?@:L'[5W4',(XL11_PK@HTWNWEP _L M*H#S6;6F-9K54IYU6PXXOT]T;2NL857 [V9MNU44XQH6"#,U1_LLP@31L@#" MIM8&:8:XD-;:EB95E.=(2!47.-Y#&JTF*;[H;@F'TD;0E6/@;KD JZG2N90/ MONA3\$IXA-GCRI@4I/=0Q2PV"FE.77?Y^#\2\&@^7OXV_N5J M=,W_97S.[2UG*#@'A'!SR2DM@<-"D$ _85:-(9 76V:-[9,45 MV5K$B@@[@5%ER;N,S=LT,;IF_;A8_?P;M MY?KKWCP]A'L3^WWJQSGBO-D?4Y=[PYC6)U-!4$O8#3'5]2YY6:%EN0,LT!A^ M=DYZ ^G+Z]D5P #.C4!7NK+/<@$ME(U\X'"/(S:S-$6P2>A0UE80IZ=W(EVE M<=FB!'6_DB7?.$>_E&,D=:? F/1 51T2 ?%& LWSV1^RN 3/93))VD1I3N2! MVS[/1NE@>0GW+J*K,;[!IAUOTX09U*SL-%SV8=(%269@Y4^5MS1LV" *M'!BT<$8LY,]S7Y#2_/ B7;F)64T&/3^(S-RIGR;WIOS^'X+;?3 M2^3T>><:R9D@L"408\SMI:O3K:U\%NQUL/#M&5S]?GFY/V1&YQ/G*=6=/9_B M_)+7T4S9+OMUAQ0H/?:'<.^3+WQP3'GHE',2]P8'QE)Q ^OD\UB6+-'2%TXH ME,] ,JC'F+S-6:3Q)YZE9VY]IVQ1%'#!!>)3&9T/LBE'V(TW2F%O?[@YNE-5 M3^'ZL;>B]P&$Q][)T6;RF[][%_ 1UH7!-?$IQR&;I[LOO.SW\$'7/WOTI^OM MI]E+(K=\V:BIXFOC!.,"[ZH;>[=C;:\9@S]R;KI*>-)FUPX M?TN1*.^2S5NP]6YBL)&;9;ZK9K"^<^>['Q_4Q#&'V64JIV'N=+4_+(K7(6'E MCAZ)/E>1UW,5\?0NP/!1A47Y3_+[!&VEZYWM;_X!4$L! A0 % @ !'S> M'HD 4+XN# @"\ H 0 @ %130U)%14XN0T-02P$" M% 4 " ##@L@>"ZN6; D% 2#@ "P ! " !6# 5%-# M4D5%3BY(4%!02P$"% 4 " ##@L@>(?8]W'$$ 8"@ !P ! M " "($0 04Y322Y#0U!+ 0(4 !0 ( ,."R!XY#VK3B0 !H! ( M $ ( !X6 !-04M%54Y)6%!+ 0(4 !0 ( ,."R!Y<(N@. M!WA[O[,[:008 ',1 * M $ ( -0J !44U1224Y'+D-#4$L! A0 % @ H&[I'EKL M?.=C!0 B@T L 0 @ /3$ %135%))3D