[comp.binaries.ibm.pc.d] ABE Source

brad@looking.on.ca (Brad Templeton) (02/23/90)

Enough people have requested a copy of ABE (it was posted to comp.sources.misc
in early '89), and it is small enough, that I thought I would post it here.

If it is decided to be a standard decoder, we may make some changes, like
support for an xxencode format etc.  That's not hard to do.

Normally, I would post source in a shar, but as an experiment, I arc'd the
source together into abe.arc and am posting the 3 part ABE2 encoding of
that file.  What use is that?  I used the +d option, and it prepended the
source for the tiny abe2 decoder to the first part.   Take that source
and compile it, then go

	cat part1 part2 part3 | tiny-dabe >abe.arc

Or, if you like:
	
	sort (parts-in-any-order) | tiny-dabe >abe.arc

to demonstrate that even the tiny-dabe can handle postings in a random
order.   Once you have the decoder, you could try the now pointless
experiment of
	dabe +i (parts in any order with other files mixed in)

By the time you read this, abe.tar.Z should also be in uunet!~ftp/ClariNet

Note that this is not posted to comp.binaries.ibm.pc because that's just
starting up again, and this is not a binary!

;ABE ASCII-Binary-Encoding (by Brad Templeton)
;Use 'sort' and/or 'dabe' to decode
--------Tiny DABE (tdABE2) ------

/* Tiny ABE 'Ascii-Binary Encoding' Decoder for ABE2 (4 sets/64, 85 printables)
   'sort' ALL THE INPUT FILES TOGETHER IF THEY'RE NOT IN ORDER.
   Try to get the full version of this program from various archives.
   This program is mainly meant as a temporary version for Unix users.
   DEFINE THE SYMBOL "msdos" on DOS MACHINES.
   By Brad Templeton.  This code is released to the public domain.  No
   warranties are provided or implied. */


#include <stdio.h>
#include <fcntl.h>		/* to get the MSDOS O_BINARY symbol only */

#define OUR_VERSION 1000
#define MAX_LLEN 80		/* max output line len */
#define NSETS 4			/* number of character sets */
#define SFBYTE 31
#define NUM_SAFE 64
#define CSUM_MOD 65536

/* header characters */
#define CODE_HEAD '"'
#define MAIN_HEAD '#'
#define ismapchar(x) ((x>='.'&&x<='9')||(x>='A'&&x<='Z')||(x>='a'&&x<='z'))

long line_num;
long expected_sum = 0;
extern long atol();
int whatbyte[NSETS][NUM_SAFE];	/* array maps printables to bytes */
char linbuf[MAX_LLEN];		/* input line */

main()
{
	int i, c, len;
	int sum;
	int setby, by;
	char ltype;

	line_num = 1;
#ifdef msdos
	setmode( 1, O_BINARY );		/* make stdout binary on DOS */
#endif

	while( fgets( linbuf, MAX_LLEN, stdin ) ){
		if( linbuf[0] >= 'T' && linbuf[0] <= 'Z' ) {
			ltype = linbuf[4] == linbuf[5] ? linbuf[4] : 0;
			len = strlen(linbuf);
			if( linbuf[len-1] == '\n' )
				linbuf[--len] = 0;
			 else
				continue;	/* line too long */
			sum = 0;
			for( i = 4; i < len; i++ )
				sum += linbuf[i];
			/* bad checksum, not a line for us */
			if( (sum % NUM_SAFE) != bconv(linbuf[3]) )
				continue;
			if( ( (long)(bconv(linbuf[0])-SFBYTE)*NUM_SAFE+
					bconv(linbuf[1]))*NUM_SAFE +
					bconv(linbuf[2]) != line_num++ )
				bomb_out("Sequence");
			if( ltype == MAIN_HEAD ) {
				if( linbuf[6] == 'S' ) {
					int ver;
					ver = atoi(linbuf+7);
					if( ver > OUR_VERSION || ver < 1000 )
						bomb_out( "Version number" );
					if(strcmp(linbuf+len-5,",ABE2") != 0 )
						bomb_out("Bad Encoding Style");
					}
				 else
					if( expected_sum != atol(linbuf+7) )
						bomb_out( "Checksum" );
				}
			else if( ltype == CODE_HEAD ) { /* encoding map */
				int line;
				line = bconv(linbuf[6])*32;
				for( i = 0; i < 16; i++ ) {
					setby = bconv(linbuf[7+2+i*3]);
					for( by = 1; by >= 0; by-- ) {
						whatbyte[setby%4][bconv(linbuf[
							7+i*3+by])] = line+i*2
							+by;
						setby /= NSETS;
						}
					}
				}
			else if( !ltype || ismapchar(ltype)) {
				/* decode a line */
				expected_sum = (expected_sum + sum) % CSUM_MOD;
				for( i = 4; i < len; i++ )
				  switch(c = linbuf[i]){
				    case '+':
				    case ',':
				    case '-':
					putchar(whatbyte[1+c-'+']
							[bconv(linbuf[++i])]);
					break;
				    case '"':
				    case '#':
				    case '$':
				    case '%':
				    case '&':
				    case  39: /* single quote ' */
				    case '(':
				    case ')':
				    case '*':
					putchar(whatbyte[1+(c-'"')/3]
							[bconv(linbuf[++i])]);
					putchar(whatbyte[1+(c-'"')%3]
							[bconv(linbuf[++i])]);
					break;
				    case '_':
					/* act like this is the 7th code */
					c = ':'+7;
					/* fall through */
				    case ':':
				    case ';':
				    case '<':
				    case '=':
				    case '>':
				    case '?':
				    case '@':
					putchar(whatbyte[1+(c-':')/3]
							[bconv(linbuf[++i])]);
					putchar(whatbyte[0][
						bconv(linbuf[++i])]);
					putchar(whatbyte[1+(c-':')%3]
							[bconv(linbuf[++i])]);

					break;
				    default:
					putchar(whatbyte[0][bconv(c)]);
					break;
					}
				}
			}
		}

}
bomb_out(err)
char *err;
{
	fprintf( stderr, "Decode aborted - %s error, Line: %3.3s\n",err,linbuf);
	fprintf(stderr, "Try to sort file or get the advanced DABE decoder.\n");
	exit(1);
}
bconv( n )		/* convert character from 64 set into int */
int n;
{
	return n - (n > '9' ? (n > 'Z' ? 'a'-38 : 'A'-12) : '.');
}
--------Cut here to extract tiny decoder------
T./z$$filecount=1
T.0O##S1000,1000,1000,ABE2
T.1C$$blocking=true
T.2b$$uname=abe.arc
T.3j$$startblock=0,0,1000,abe.arc
T.4k$$style=ABE2
T.5t"".0U//6.34.25.Ks2f25q45byD7L.lV.DA/yw.EK.1I2JQ38zC
T.6i""/.9.gB0d73OX2k0/Gr3Fb3./4J1.233453674894wQ519DXe9
T.7N""08A.BC0DE3FG.HI/JKCLM3NO4PQ.RS.TU.VW7XY3ZF4zj0IhC
T.80""1Za.bc/de.fg/hi/jk4lm3no/pq.rs/tu/vw4xy0zP5G587qD
T.9S""2CO.cM.Sk3WA0Ti4Qg9Da8tW9ju.469oa/BHChi2SG95YCZX9
T.A2""3v9/xs4n140M8Wo8Jx8NC9rf9YC/FmDeS5L.8pE93dDef8MwD
T.Bf""4N//Pg8Em88n82h9c.96A93o9mH/d/9TR7LqCtc5UlCNsDTnD
T.CL""5VB3ba9Ip7UK9y05lDDpjDtYDPv4ORCHRDuV9ZxDirDkuDvzD
T.Df$$os=unix
T.EM$$fname=abe.arc
T.F7$$owner=brad
T.Gu$$date=635724516
T.Hp$$perm=33204
T.I8$$size=59381
T.JH"1K;Makef"ile0f608z/00,VDl+CKa+U300"qD%Qq,ylP*JWw#uU&2y"/O%ahwt=2oh
T.Kv,s8A89F;h39#21G,mL.,6Ys:sfN&27r8"SUAX*y5"4c=PYUQ%nM$11+fWd(N84$Dy
T.Lf7"bT&TesoHNO4-PpLA/,mQc"En"nX"fx)0m%YJSk0#04"nI+3kU-FtsS"OK9S:Tme
T.MV%is"SN%aJ=5yQ&QM$y/#nK(Cf"SG"ajm>9tI>DAB=MG1>7dc%TR-gL-tD-CzG*B1i
T.N9#2DI7#mU;e.R&8I#h7$mI(F06%bN"1wh8$40=93D"t2q(ln$Cm(Rb'OEA"3s<6KHn
T.OXT%1L'Yt"b8U"DEi:ltd#KB%0L/#26(.J#or=Cesw:cDdE#30"Gf%lY)CH$/b)Ha)ZQ
T.PF+zuF;MQY%3B-1m(fg*nb%Ap*rZ*ad'MK=xUU*vl_ZaM#Qw-TO@VEK"Uv>qcy(ZM&7Z
T.QqbeTw>YCl#0p?FQ3+u2oL.,206:d6TG-TcgB+XQC7/"8B,G3n,0an:szt/'A8c"TV%Qp
T.R7_sxY%if,6OFEr;yvY-W8c.GKaj+BBI"nE5(BJ"mSA%Aja,NQWK#iD:ObjV,8.b%wU
T.ST+zi.,Kd39<DLIFdfL:2jY"EA"E8$98#KX:LHn"Jfm"Unjs;yidEf0e#d4(J2$0T@6QN
T.Tt(cD"aWf)cI<uzI(K7?tal#hzi&k0#YUi<mFHf(5s(OU%Pg"9Q&9A#IX8D*U2V*i0c
T.Ugy>ns8Xj*sC<49CM$OE&Is"Wxok#aVb%op;Sut&7o'GB@3.O%tj&Zo)0S&Y4&vo_5P9
T.VXHF<1CA(UJ"Kr"ne/K.N#HCt"Hp<Zkf$TJs#ls=gBG%bC&HV<wfmhb&co-GpRIj/"1K
T.WWabe+.10+le0f608,Cw00OV#YS#kUa+b00"q.=W.UL+DHL71D%ph:2mIj"OED+SLS2
T.Xr$D2c#s8"nI-/BH#17a&II;UQE(Ah>7dc>2Q27=EoF#NZ8i>4dQB9.$OBQY4=EI8t&de
T.Ylq:35Dw7&F6+naS2d)GQ<..4#yPr.ugSWH:I/k)J4X+NDPA*m/#E4@5DANu&RU'D5J
T.Zk;m8N$mr<6n/(60)gQ-xEr;nR0$Ee&dy@6VS"hw"lh%di1)VaK7f)T2'iP>4hS?9As
T.ad-5QJo_AHnr"pK&Z2oZ(Ld#gnvsKf"qQ"aszC01%u2#K7e-t8(BL&9DI%gA(K4,16c
T.bi(b1%Lu,3vQp(FM(Gwn&dDsVthQ$RMq(m0;z5at<4.U:nQN(kLK%bu"VKX$Nu>uP8$xs
T.cDm9?jLr&FqY:YkhSG#u3:xULQ:SVEPq=FnsY7_IEK#pI2K.;tL4P<uDR$18'EuULK$oN
T.dV+B2I"oSA=8Gg+SFwz$CA=VPD:1y55"1o.29:Eha"6hza=6aBq1"GWE#TEO=uDv$HA
T.er+HFQ-MA@Z3J+GQG+x/S=IOYKGy%.1q%wF=m2K,khs/Z'Ph$UcRe&E07DPkt=V7i-c
T.fRy2+Kro+U5I_CQ9-Nnb"1W,VlRCPG#Qw+9TL:f1nvy=Fn/$7GT+cUD"yT%SA+5wK(ua
T.g21$c8"jx-SSH:AUXGE&iad#dW$Lh+9ZI%4R-VFI%ka=9G1bJ"uj?JpB9g'5bBhFH#B1
T.hG,JNa&iY5-nIvK*KG"ao"Kgg%1c"XjE?0fxs%WIc-3pf=SAd%upGec+PuM3K;nNs+d
T.iicY%SQ#Af<iz5*RC$vn?kbF$/j"mu+eAu#h9cpGK)UU)r0;jeD<C2q#m2F%la$f1#pl
T.jc'tj)Cp:bnE_SL8H#4Q$/L"1M+p3GHtk;hQj"Cw*rj(Go)9p&JOr;ndJ$DycP2*3w&YF
T.kW+HK9,iLW'yy'wrQ$hfAkEa#z8#a1q1lG2z&7Hap%sj&u9,Adt7"jyz&i8+kcd*b7%0g
T.lD,ZeZ:8fi'O.O-IP)OduG:f.L_VIW%wLzT(5h"Hz&Ng"1Gp"c1tH?cy6bbF&Yd%qG8
T.mR>7iq#QK(aJ#sb*jC%GS?i7DI/-o9c-Md)u0:gq7'Bb:uxU)fVdzD(9Y#92;EAA)Da
T.n7tdnW)Jh'w2;xfNI(d6"Kg"nU&RH#MYa)Ndd$0rx&I6(45)n.0G(Ioc&pkf)Nbu#MU
T.ot?IPEc0Wpe,NuVKdN)9ns&6R'uk$oA"rPQ(JL,XxX(3x"05%junE?G4T#Vjn2b:ldz
T.pgt$Zb%MS'HJ"fGnI$Jh;zU2&QCE=6xI@qcG?DWH4(wPz>UUS1"qTg$gCgY%cl)SJ%Yu
T.qiE'WC"WC%c3N#/YKm#cX%1V%8g)BB'KC)ZgW,6oH>C2KcKD7X*J9&27F-2E)Jc_RuU
T.rP#ID'5TBl'u5"kw$AvnZ#fd_/HTy&PVsG'XB-FImT:T8a"b.,kkSicW2%sw7X"l.TP
T.sC%4d$KEO:bhd'/."XZk#ap(RY?cZc)U4q$l/%Lx?Ie1Xd$VO".g"68H5T"Of"Ya8Vv
T.ta"UA"yW,GLs:KFSK"HJ2$Tnl_oMN:p/4%ip(bS=oglzW'A.m;/ZON<M7CTLJd$Oy*N/
T.uK&Ic"xu'cr"0m$qL%JMZj+S7EN."gfc%CQb#7Y#Er,QAn%27=Tp53VU?arn$IG"BG-O
T.vmu1Y$9b+09M/>pErM"eT%wA?Pgn&ZuI$jM%oh)Av#coo@xIMc?kpF#1q)jd:PE7%Sr
T.w."qy<w7i>6exo)xI1$ypy#ES%Me(cdO#8Lu=HxzFN_ujW$42"dW$nt'iQ"QY(0X"2V
T.xP$JA>EjA>q3U'7f=d6V;Gi0FAW(7Rz$nb-Sh)eY+y5Uq)3Z"SL&bN#G4h*g4#Do&sI
T.yGNy1$Af&KS*0X:n/K#r0,E7v"st>Or6"37<KKg#8G)k2HT*06_yQNS'PE%Th,ICi%bn
T.zC"B0(7fSQ%QEy4@Zjwb:lKHo"RQ&P6(0X"2R>HdN(VxE"CUB"MIs(1coX&PD=toi%FR
T/.P)53-mVUR(F7#2v"fX+lc/X%eB$5y&m4'wJ,RV.#w1'F5#ZIe&3S5:gu7'1n&ShbD,T
T//Eiu&2/_4T1M/D6_fQLW*bX<fUC,bP5m@Mq6FN(Uf@INk(g4=VkDQP#kc_Scb?TAb"D/
T/0x(Dm#97D)uDq>.LN(CoO)ds%Qq)V7,t1M(2q:Aj4-E0XG,6hK"zVW"z08+feZ+mij#z1
T/1w*L0"78,i6k)a2E'99c(KXaC=gzw)xg"VnA'sV>6Tw)200>ggu&WU"pV(BN(GZ7%dy
T/2J;Mes%Ci=uBJ$wh$/1'yO$JI(ad(Tx;1Ts)8B%Dj#T1&N7*jV)Ih-lP(pd-55*3M)/Z
T/3Zl%so%fq"OSs>S1K*UJ(g.#RF$Dr:jWC*I5q*Dk@H9WO=xhw_IZxoc&AlN+kiA'Yg#Qd
T/4w7+M7v0*bN@9rfk<I4D>bd2;iNC(y1)ch(Yk*Je#Hd(h4"EcQ?HQ2R+gYmDM$3XI_UV2
T/5J)II%Ym'Zd(NVB+oOG%G0-..D&44L#AO#.k_4xtH8_ULU"gkKuK,VwX(xe)bt(UZ"Vc
T/6uM$fa$bx"Ml)tm$rB=vj0$.W#Cd)YD*KGdmcL#Rt:8d/M:T/vU8(7h$uj-Ezz&y."92
T/75(pf1&E9%bku:q/1NC4Jj*JU(Nu*UkE'8g'i9"cK'q6*0.:98q*NCw)UZ=Ker&A8(LY
T/80(tU&zS%BC5+0.o.,WcV,4C47?6AJ)f9R*zU&oP$MG(Qu"pxH-jc(DM#yc:946VV$fZ
T/9Jjc"dv$5d/&3i%kf-kT(EnO:IFpQr)Tkn_Fhk$.Arkr,K3N(O9Z2Sy(gf&hE(fbq)PD
T/Az%aF&q8t"DD*mv"dcv,0LC-AM)G.7o$xr$YgZ,6pq;eQRr*tb,y3Qm"5gB_mzH(6q)MC
T/BVc'LU(s.%hz)OJ*VM$KY-5F*Ym&1y(Sh&DZ1*quFJeCp$N8z(fBE#FL$r0;1zu'cc-n
T/CrT9+wxmOB%S7u'QR82"5K=u0v+F/k,RAb(4jAQ+N04%taC$qN<3MA=3Jo(hM*/C7'Pr
T/DdC(Su*Ep?PtWx6<Llj"1O%2q(MP2'RY+N0z%bw#SMB?Eaja<rrE(F2yk%pp"lS'YP)YG
T/EL5z+paN$tUc(iO(e2"it%N/(Whk&Qq(mg(EB$Qf%uMx$lQ<tCl<CQ7%QV+qbf=ejy#xX
T/Fr&Oia-bI(eA'8h+RGf&WN*op>N4t%vM"Tc#5WD0&YbS$Ar+X4p8)fQ&.4%Bd#xu"06
T/G/U&sq=VKpU,XNt-W/FDX,qHf&iE'0P;E9/E+cnt@OgeF%Gy:35y&nk,s69-su1#.1K
T/He(5C;6mm%7NlA(K6:7q9h%DvXfNyq#C5)rB5X:VgyF<72a*P2$87)6L$u0(FQo(KFL
T/IK-ZI(oHB5=APS6MrAX-AcBx=mCX=1PgZ"b23/'YK,Knp/%E9d$LB".fh&GF(OXe:WL0
T/Jm;WLX&T5g;8aLR)e4+vd2-641B"NM4B;Nk5=YXO$QOI#pqcS#h5"5t'GQ:DOV=wPXH
T/Kt<O1HEn8E$1O#Xs"Du+/TE:mkkFWUv9/"hU$06<cIyk&Gq:7R7+t6I"cJ)W10+I8D<GAI
T/LV:/AW-ARh"Ip2?Bue&Bm+wgm(Jw:B/cJ,99x;2P.V=zu0(6T2(Wp"T89$SP-Se*VSX
T/MD'SF$gM%I2;P6k>UfA#8bP#Xg9@dT1&B.U%RS=7w5"cf%dsr"xX;Ma7$GHL+wfI'Ha
T/NX,7nWB=3xE@suL(/9#FYUE7t2%2h'Bm<dw1"A2otybFC_srB:JRJ"h4&DP+BgS'T8&Qg
T/O9#DUu9D"6b"cV$YHQD@AMWDUf_fx9(LT:lJ4I(8a'VC12*wR=7xAc+B4j/K#22)6al
T/PdV#Fx%7.+gFg?yHWf#ktj<aRP"tS@DkrkM"Sc*ZW(aRTeNE"yyVE&2X)/T8"seU%WW
T/QBzigf,qG2wUE%ACh=N61(UR$iE'2g%ACDB+YuJ+ilK>iPFxTs;hl.@LBN>Vji-ZLh:sKf
T/RQ76(wO'wobQa:8WL%El'Q6'/T#BBH,MB/%184;I2y;VDf-HDk"k0;n/9*n/T$.x&FU
T/Sm-Bc_kUj>gX/=p9u$HL2&jU)1J:pJD;ygRO$ija#h3;kIBi"SY@Ogk,VKn3l(zk<I.0
T/Tb=Gux."Ih@BuI"Jihn#wT"2D<hVpa$.aq#Y9&C/&uP:wzD%as*L6(j3Ib#yyT%AWR%wE
T/Ua*i/"jl.F#bT#EX"x8"WyV&9U#Eb=RIrrc&U8"d1;UHh"Ad-W16:9116D-q/hJ;79S
T/VQ$iB"lJ(FS"xu$ip;HZRl6(fWLq:x2U>RrZ>1BM:eHw#Uicg5"eK/;rPCmq$4Oa'im
T/WK"sD=3BS*vB-G8o,Bf3Z)vy&Ct)LC&KA=F9dg"Hd;EOU,zGoa*hL&QcF&BS3O:PS4=U25
T/X.&OP)PH=Bgr-RM9'1J-iuF$WVE0w#Yb#9B'/SH_09/n39#XR#b1,nyL:dKG*mX<rvJ
T/Y3(nuu1sZ)c2%iX"T5_XEQ&6nT$4F+3ik$2D<aW.=w7D;hCO&RF%YT%aS$UP-F5KU@Eqm
T/ZX"v4%u4A*nm(qt_BGe&HSI;hnq%BI&ZIr=49ne.2+cJg+cv0Uv#FH-mgLev&2I&zLq
T/aUG+gjG&74&DVc#JXR3BJ3+Dj3%md1%J/+boy#x2(Bw1&Pt)boBC#GAh&UK)s4'42RC
T/bM&wmU&KSE$QO$dTs%/sv6../9Y4zN4%jV4ZY5,Gm5_7J9+bpL(td#39L+cej1q/8b*a7
T/ct&ORDA,vDA#EJ-k95>KyO,7ED@Pe1=CC1(1P&xX#VWj#Go$hmJt&PX+0//(ze.-lQh
T/ds;4vS&ygK-Wa6*DU&J8<6F6R"0E%vh@hyY;s./%IUB-b2aB-iX*WFV'5J"zGT4UJ.%CP
T/eR3"WU%Jp,4Ld=vDe%0F7>kXs;4ER"9Zm$UW"Re?z0a%Nf_OHs%EZ)jM't3?IZH%.G-K
T/fEqUjeE%Q3$G8)0H"Bn@9Qew.;9Hq3/ROY$f.Y5AiH=4RY%Wr"cZL#PQ*PY(FI,xEw+T
T/gNSXy*iX:Guo)Wnp-8t_ClB=h8W(IW?FDD"Gs)Zq%YU#yJ4&1Y#6lwe"YO&h.M)RJ#xT
T/hE+e//).5d<yEf?vI8#wQ?HB7m#4QRM(XGM#dB<4b0g%h8)UHH)E9_nwD=zDJ@Bg5(8r
T/iS+18Qhqc#Gv(HY$9SIC?yjs/#1L&bzo=yicx#WH-//R?nK3(0o'Q29%zsp8$p8%EB+x
T/jK5lq#qWH,DrYs-D3)2lY=qKDs%Cr<s9J%7xl"5k"db(a0"n2l>LuVN_F2R%yFe$Pgb
T/k1B&7K'.X#xF'/VlT"V7(EAAi"eY%fH&sf%7EJ3(Ek,WRU'WlY>SAk@I4ZU(Sw(3U"eq
T/lK;aFQ+Dhvf8_UgN(Ur#u2'BF#IH'eU?MBCs"j0"0g;./O*sF%rh"r0&NCi#fb(X1AO
T/mr(ch*gYI'42'mPV9"x6P/(g20Sm%zVO(fj%gS9(H9_ob7(Jp)JG%kl-PhS&nb#NA6$5f
T/na4/:WYX2>F2B9&se)Ds$nV2:j1z-Ou2C3&e4O*1a(rE$Jp"24#AE,X12l*EP(KC%/j
T/od>Ib2%R4-Sg(EY-dV)VK'fG%ET_kQe,Uy2'xa%Xa@6U4+t8n-2jcrv-1iv%Jz5A$kf
T/pY0%8D$ud(e3B>5iU*JP_Pzy*deR%RW69V+E.4A.:Xa/Qi%PO(Q/#DRQC)2o-I.v%Ym
T/q/%B7s=WDa)gad%Sd9#/a(Ie$ET#Bz*Ph'8eiy>7BB(yy=SxA"WqU_P5q&OU=cnlf)hu
T/r0#e2'sHCZ&Ut:iOIrZF(n2D#3o&WW,4la&1s:NUrg,dzSUUIM"ip-d8Mu(Mg#PF%3k
T/sM$lO"GO$WDGuB$IBD<bW5JV#3NR#LBCH&tP#tAG*Le(se(hVL>t2l*82t"k9+0kd0G
T/t7'k/B"GBi(oL5#wU,ApzL"g8'8P+nBgJ$TK>n22X/$n.'XL#lj&k4y:L3G*s1#3m;gMp
T/u2_BMw+KEs"Kg#Xb"74&PWh0Bw$iQv"2Jy#z9*5x&7Z"09H#iA+bY8%t0"/i&uDxm$FW
T/v2)P9<WzGT$a6-URKi:UkO&P7.(Hb?P9I"F7N-.b)fI&p9Bl"H0"MOl95#aQ#.8"I4*2V
T/ws)hr:XDn%Qu%UcT%hfU=3bu&Fq%TGu#/H;KKM$Re&xKLtP#Z7"2wR>jOP$R5"tI(QM
T/xA"HdS*Z8$3D"Gpll*I9(qJIi*Pg"5c:VGoY'nBH$J2+bM9#4cmS%qd%ng$Lj#QRd<H9g
T/yD"lFX'q9+M5X(Zr-KO(LS+9Ex"aw_2MN=E1d%ZsK&VC&eJUH3b.W=9J6XK=QT/'3h9
T/zvU(5W%Nx@9gY"Ada(dq@G3Np3.Z3,O.4;M72/"1Se$zh#RE=Zcf%w6p>LAFLy,R2a'S8
T0.Y(gs'BU*E8&2C"M8Z6(iC(sHM62zQe#xzp&CYAO#.ZuC%CL&lW-OI)T5N#WE"9gph)Dm
T0/4$lw*BF+AhJ)Tj*MI)Qz6D3=Mu1a(dIu#5c*w2&.HM%HR)Drw$f8-DaJS8&YX%e7)ua
T00N:re2#Q.w(A."24(vC$ep<Zhy(88a)97>6XW$Ab'LEX%Ll(a6$yl=iLr"JlC#.2%gN
T01r_lHs)pWq&nk"r/4ZX(I1$Hkn>v1Zu'vX;WTL$8dM*iJ$6RVo%p2:2mY%bF'5B&Zn<DrG
T02Z1.g(sn"L2avI(xD)qm"wM"pp*ec#m3&Bl"ZT"5w%SA&CkM-9x(6z2$0T.p&KF)Db(QU
T032$Vc;zy0%08g#Pk-66r$P2H&Tn$w8;eDec%UTO&rT)1Z$23;j55%1U=8mS9=NdC+jb
T04K/#936+D0W$aB*U9%H.<9YC'ij@Ndbl(F.F?OgO'G8*6g'P29*nP)1h%A5'SS"701)1l
T05s;HTT:ykF?aXe>I1m"1Sln>Ydb'Hl=HBA;BJj(OIO-aQ*XU%STS#6E'6N&3j(sS#Cr
T06V$tAPG*2n*Gg2F'28"vP2"Lv:Qih@q0fa1r:Q6NU*LO3'F6i%6e_3Mt)F7-Fg10G2L
T07s%WF*uNek$Gk=Q2f<6lz'ce&ep(fC*cY*4R#6Lr(e6ga-On(MiW'l2,l3P.4+XAVZ"By
T08M#b4U3&7N@Wzw*73q)cM"s7/$19(T.$0M$I.&GNp:sXo*OA._oPB*YN2M/(F4(Jn%Sw
T09v"wQ%Xo#rZ:CO65;cIL1@nkUh+Lv4;W8l:ND6fB%2r)CR(1T&XB$UHNz#Jj@69S&sU
T0Aup-srv&bdJ>Y94q)DXO'X6&rs_WLu'8L@lU2F#3j%fI$4R"U6Y9)jv#X1%jW#Db(LS
T0B7'Am14g=bKf'4e:ov3&ys%Va=x2o.2&Lr+tQe@IBb/,LzUc?/2g&2vK*z0A#h5$oEV
T0CQ'af<Sm9l'9q'89"hMA5?u5oPd=OUfb&ux%Z3<fCw'Ve(coQ(5U28+EUh&Wj.)4Ax&Nl
T0Dw;Dqd/W"o0%8u"Qze,lmS(qo:ABL1Bt)8r"DU)U5$0U-MA(Up=Q/Mj"Fx$5r'JuLfd
T0Ez+3tN(hb$cZoV=kdB:Yi3P(/k,lBN3,OJ3>KNlGvq&m3&Gy,0Oc'9J>OhY#XR"D9#jI
T0Ft<ijE%RD*uE>PKF(mb6"pF"Dx"Qp"jX&Do-V9e#H0$uq&9j-t8n#rQ(xDH-Sf)YU%cw
T0Gx*lL%GL7U.7$/A-v9)R0T#x/-xr5d#6.-o//B+Py7B4T(FWML:Te5_JyBg8p"p8U#SC
T0HJO,QaZ<bmo.,FlX$46#2w%58%j4)kR=jhw:U3W=tSE;8DWE2*aYQ(R0%Q7$8Jq>PD9
T0Ia'b7#8w&Df,E9x'.G3"9bO".O$bF%TA13-eu5<xA8+Ku6+8j6-o//B+Py7B4T(FWM$CG
T0Jn3"Cb)APRC%LC-pGP(Py2*3w#GO#/TV$N7&b2&cc;2YR)VR$7/<37T(DI&c1>Jg5*1l
T0KG&o6'wp@JXO"C.R$eMU'EM$bAl%Tfmej$HD%LU(6C(W5(zy$Z3%Pn;GtJ&NN+FTSwf
T0Lrr"SI%pw-k/)5m"GM&7d'V3L'hCR'Yp>s.f_08Iu#EN<sl7o)EN+q/l@e3.C3Um3$/j
T0MR/F.n+Nj4+fJ3"zp#EN@a3M&eV.C3-RbbA<V2s4+GkJ5hM/#oP-zc-W1b8#FkC+64i
T0NK6+.j6+57nS83+rJ4,/C3)Ld3+qgG<S9ZE>B2E-F28p"p8U#SCO%Qo&bq+n//+576%9P
T0O6/<80T+bp6+4p6;38k"hE"RS'vW'rRD&tL&6A1(XA9_ZEB2?Eb9*E5"2C:3Mn"nFTS
T0PYw;0clFj3:LCA"dq&Qr#SQ%pb//r7AN3S+P33;my5b=PR3).5*Fx=dX5(iH$pE@g/w
T0Qjq&YT;RlV#PnD>zyV0Il$wYJv0"1Kabe".c0+le0f608)P900OV(Vx)Xi"yl00#qB&dp
T0RMK&g0@bi2.x%69%CO-AIwh=GkK:8YVA7g%PT+06Q+S/4,/TC:Kgn"KTVA&UD$I6%0k
T0So7Oa&II+UQd$VGWn'35v#iRv+J4..-4vc$OA+J7FAmAMm"LQ"6l8;SqC2>EI7<lfB(0Y
T0T3F(bK"3o&e4"4i$O4(G2+szC0u$Sb"K4S*h5,Y6Th)GMt>dN9=lBq)G7$cL%G5_gyE
T0UZ%Y4>KA2#0C'0b#Ron4c$a/"OL)Tx"FnR(SZ'Ab)53G?g8C@QZN"XwG(nh$C3$eD%l2
T0Vpa'G8&1R2"Sh%Mg*9.&ys"Z0S7d#FAQ-2B@JK3%ri@rFX*c4"K8a=3v7-9KxK;wa6%0v
T0Wo*TU$G5-.nB"o.)Pu%kt,ctz%Gq"we:yQ8*do?2s/=8ph&sw>I.0(mRJb+4.T:BF1x
T0Xrv8:EV."aU"AK:Lh4G;fH9,qW8dd#vFdtj#68T,L93%lJf_A3n#iD;0UlI)Cy<5G8(2a
T0Y4#H8<JiEO:xFYOm=EDb7&vED.%TUb$N.u(LD"1c_pfSKn(4U=PEo"eU5a-I1@0WQ>FOw
T0ZYT$uk;BAn-2bN$d/Z#so)SZP"D74-nI(OH#gz*7i"H/(Xsb%6d&EGUQ#Bb)Iqa%0YU
T0ad"Ik<Cd6m@4xa%in$uK=Tcc#Yn#nO(P.5/"TN)BH<yAg"vE(NA"Ea%qQ;nx4"6iK"az
T0bl#un&5Q$0Za&ic$uVi%hD/=qdvnd,LTR%Fk&QTQ#20&7U0$ms#fP7+oNu'A7:gvB%Vq
T0cv%9VjM;mrdsc>YuU-02q#Ie%LX@5.n_0WF*7FAd-CePw'VW#X119-qU(xTP#oj-3LS
T0dD"1k$IKF$WB"aT$b6#NS+7mK(M7e"ZQr=DL.(PalGDB_z2DP,1.T$6/FNK#EA-7w@BEW
T0et&g7>1QV%iR(hyF*2Z%LH$RJ;xuui#JB?3OB#kY$IS.)6Pl%kl?ghAL>jaw#bTa%ot
T0fjs,EEq=CNaSa=wD52"1n&i8(XWWlf-8e(BY(SZ#xI+AyVB)EX%qR(Ey)i.>TIY$Ai,F
T0glKx(pE<dbqW#W1>T.6K'lm&wU"vA(S4"sT"hz#n9QIr"K7(SX"Ju"nC:XUX)v0#.l&J8
T0hw&7hI(lC%7EK"Ku%qD7$N1&wR_/E/f'jo"ln)SkmS#IA(XH0&Lv2$au)MM&pS%c9=2oW
T0iA"aQ*jmxU4%Ko)I9u?Lbg'/J&1y-CZ@oXQK,EAq)L5"KoU+RTg=ZfxT.'6PG>ga2&X/
T0jA$9p%iF#A.I#Uv>qIk*pDB:AUq<U4T.%WP,PG9&9J)FF%f/X7$v7"bq&qG"cF?5o3%Gw
T0kX*Kj_RnW=CI6#2z(UEh"d7u"Uh#fs*MW"Jb$OW+f6r-M.(wm-Aa)2j0A-yD./w,e02
T0la1j"/qhP6I@N8Y+dK/L=QZS,B.9s(JX/V%SV+SX89:fRh/#AJZ"krZ9(2Zm?2EbbWb
T0mR?1A4>kZCId3%A8,2a9;uYg"QPj5(9TZ5%zY"TJ-lj*wf?29b(IF%CJ+.kMl+va5sH
T0nl8)r6#P.#wT$fI%oY_A6v'Mw6$6C*14t"qT?3Jf&J61?5/E(Aj+z0/Ev#C5$xx-.W)3u
T0on%f5:e.q#Ly-G.u(aa-lz49mi=gQ1$8w#Ki"UD+zk6"1k&dXP&rk"56&KC)jU:RcL)8m
T0p4twi#nk$8E+b7oA+5fZ=Ct4;K/B3OsSk/"1Rk%43v"TO,OJ/$KOp&Yz"no&5YD=IAP
T0qpJ%cU$eWBd-gP(DX*0J7:4RGu&NQ#FfB&K.D(A2)YlBK+mYcE,NZ2"gL$cr'30*BVA
T0rL(Yq;iv4$sv+hDO@1SU(qn<g40v>3lL#3Z>EtT8#iT'7tN&1Z&qy(TB#1WC"Nf3(BK
T0sQ9?IV5P3k3a+fSEf(rD'uS*UC%UL/)/I-Mg_HK.T*jX'Yk?hKM7N@i722g#Ai#LsX8
T0tX/*FC#FOt(.N&Fqi)BP$eBU%si&Oj>CHC=cSd:c0tb:js6(oe&6/CL"qKPj>24X#yW
T0uZn"/jZ#jc&KM=4Rdb"AL#M5*lo&Wca%J."uZ6@z/n$e79$Nka%4c+yjS'Zbm$5p?c6q
T0va&tb(oY"Q7*Cz"nr*wk(Ok'Jl#uF&5j;rZO'JX"mah&to"0j(.q=kIE;ffr"WY%Ng@wp4
T0w2P-Ca-b/)pk+i6M*Ui)H0&x4&oa-eL(2Z.<H2Q:l.bS"XrN*F8l'Jd(9m$oPV$JpJ,k
T0xdY5%Gi$mx'1F#2N$B2+C9M#WS%JZ&or:beTq"Ts(k07%sG&w5tk?dEBDJ(nO#VN>Qq6
T0ysCC+464$vh#bb(ugx(.rW-ZR)Ve-LD-hy-sY*I7)Sq;6hC#lG$0U)hS(7B?5GE%/z$7D
T0zu$aT%6C"zu:DJX*uJ#/c;xWH+8YA#5l>nZL"be*7Yq'a9sz%KV#BI;q50'C8&cC%2C
T1.d"V4$92+YqS>8eb$aB+3cTg,gwJ#ZVI+tC2&55"0J,LfD7,j4F#8U#tp(lVF'rk(/K
T1/v+IZc+IT.7#bP'04Iy#Iw,Ffe+5QT#qe%if&Xo#nT)wXu,HTjB"ASim1>BdM"qO%Ns
T101)Mx0J@w9G-kql$MfgN'9H$5o&BS*W7#jI%Uy"RO'3z"esT"1x<cSO&dHNd:sBBc*3Q
T11p.'EA(bm'Q/"JM$Hx%tW'eH6;/yW8%40<dA2+E8h*r3&E/)/1"yWREB*2v&l2+wNA"0q
T12x)uM/l(3h'.x(/4g).6'p3*UG(tl(cbk#82j'oF=dAu&Mg'Jc$5Pz=iyK'jp:6fY@IEU
T13q#Wxim*f1#kC$KIK&pX+9YQ%Dtf6KPZ2&wi+F40&fh*iU#MzQ%XuO#Hx>.UelN4"iH
T14/'8D&lg%r9+Fe8(3/$qwU&cY?Pl6i<JIn(4LC$Er#G/"zE"pC'Kr&ME&k9W)Mt@dTo
T15c"cc-6.*MM3-kQ4:aOfZPj/"FOC#lK=lnb#m0;gSu"RH'fE"np$4x)5m;evqU#99'Zv
T16g:0oSl3"6a_kIr)DM'vhv0$0M"kw-y8Y%3Q.e4:r0U;S3Z%8s-Wq(2i<yc2'et&ljX
T17rN@Dwq*d2%8M>VB0"/ps7%Wk#/ZA)lS'fy>zupK%ZN$ojiN3>hqwK,L0M<qns)p4"B7
T18y$XB)Aw"/gF"fE+K/L%SP"SA"jQ(t1(Pz<Kly$ok;ve7rx(3KC_RoJd(Av%30"/J+D
T19bji)MB"np&wH,LcT2/,rM8)YO(wy"M2@JHGz;/Wz<pQK$kO@xYT%Zf&wW#M7U%P9%Nk
T1AO$/b(cH$7/5_Sjp%En(qb"AU*p/+hxB+.3X"Xq:TKT;tY9j$B4t$Ia_rJc&wP%2K4%4I
T1BaAf%ZP49"d/sAjBy$.eL"pi#Fu*dB>yLP$c9m*Pw-KQ.%1u(Sg#v1+e9iW"oR"Bu"M6
T1CB2*TB,kLw,wiR2&OA/(aEH?dLI#Pwp+00998H:EjL#Z.&kU&u7w+42b(Ku;X5wf87#yM
T1DpO>v5wx>H0L&T9"K/:usan(U6$No"c3>W6ze"PsY<BGV(mI#7.qc&EKkvG+iNG%H7"oG
T1EEj/#0MH,OXt5@B29'Eq)N.,w.Y=ynP#Sg>70mw+zEA$zlfh(Nxr)gI9+2R5=mB3&0R
T1Fm"7Ra$SCt&zx&.5"Nyh+Stn<CuPe+X5fjK1jKzh@Ji/>ypw,Kfj'Kd%Ive+yhS%.T-I
T1Gmk(Jqkl>udk%l6O#A2tw+ytPG,jRwH#6w"uY,wWh>.4Zd+Tt5/'/Z=71Tx+B11#W8&K4
T1H4OM>zOw#E.<jO/W)svZ)xBbLUKpp$7a%PYU;c92*mJA:xMrkFv=pts"Cd+xLU(3S;.2R
T1I0"wKq+5.ja)97*eEF'Di%BmB$/e)spE(hsa=fOZG(md-V6a=jL1&Sg*eo;cbb"OXhO
T1Jj&7d$t8;K9t&0s:393k(avD%8n$MSa,OJm%aX6"sBh6-cRI;eOt,1LQ1mk(sCE+a97
T1K7"rk6+4Ju,CEQ"2V)Wt(/d,uVV-HxfkJ5m9Ji:B3LjK,C.41:Y4LZ"mlJ"GF%4bL+p
T1LRXf#PG+/ME$BO)Wz'V8=Uh0&yn-8AY.:Jsr"ruo"0IG(Ry(QK+CEF%W2(B7$NT>8D/
T1M.+x.T'47-pLc@.98@WrQ7<x1oO-7.R(eO:0DI"VJ+c96ia"io&vG;KL4l-LI-ey9$bO
T1Nc#6f16$l6a#o90(4dD"Uk2Z%s2dY4-6M4=h7LTJ4%jV+hA0iP.4)V7i%v4'Oy$7W"GY
T1Oh%Dg2%tt<C2u#BOYL)WB,Vn6m"I.s"Gi."1s76E&EK-PplXuK).d%X9&0X:Tkh9Q$dM
T1P5s/106.7l<X15JjKeT6i+H/K@c5X&IS=CF2&YB6(SIH'.EVXC$T.<YHoK%YX,IiQ(m0
T1Qp<RKG'Ya'z2c'Do-/8*qH%ScJP"eY'wS=wl.m=YX96)Zy/zN4*rx/-rs6)ro/_Q9Y,v
T1Rh2A#P9P"tI)Xl'yXiq/0-iv/+f/2<ZQS:n/P&iZ(7vv,IovyW"Ef#PX8=2rfN+uVwC
T1Sh#3w#Q5U"4D/.&xi#xU%Ig(ZE'ZRt%Zx#UST"IN+7wS-VA5(K6x-WKi+ENis&MK#wR
T1T9&sn<RPVo'Ou%vxIw&VyC,/pNr+XTt/hZl=VCkoc"ieEt0Jn:Vrct#1G>nc6;YBQ#hi
T1UF%JH>4Vg"E.(RE)On;FRc*qd=8aoJ)9G"8k%3BX*Yx*6G9"a8)34@xH7'hOqDet'n/
T1VvZ*GRI#ER2+bZD_W3A@RRA-nW7LG&Qud&Qu"4u"Xz$Q7$vBtC"uf:yMn+h2Q#gJ(5G
T1W78"A6*eX=S2x;zWa'ce%FP%XaK$vW&uK;/3w-jSh,os.$I0$A7%bn"gg&G1;XHV&AJ
T1XlD+6PG&vwv,J/2&0N;rCNU&MQ#fWc68'O0"emw)HX&3J>JmJ"vl&qFK&EK)Yg@gET#Nq
T1YQQP<68Xm(cWfqy;gps%/Z%MZW)J/<Y2F;xLa&b1Z"ja$vHI8%13*Y6K+ig2_Wc4_Wbs
T1Zr+lZu"hk&9f_UtE+z5sf?Ns2*GF-E4l_GAXZ?Qlr%JTXW#tS%rA&kYwo$CF=WAM#5J
T1aO(LG&wR)aQK"zC#OK*X8*UFK@DryUKr.E=KL5(qS-WLXD#Cc"hS:Wia%dX)P7)mlc"Cs
T1bEm4<08X#iLf$6Q0>9hM_/SSu,RIR&oD$La"aG,g2a#YH_THW-.1V"VKy=tQAL&.k%1z
T1cL,JsA"u7t'Nf-3C)Nnq#hnq;a/w#QW_Ct.$vk<XS3$ZfHLK"9U=5f/P(xj>SOxq#On
T1dyJ:STe%kw2-7kCFL_16mO7&PN97#eDO$Cy"aN:.He+abx)2p)FQ#0x9?KPX@d4c7_3h0
T1ewf%PD*3B1P&JK(XQ$gC%9h0S:rl2c&M4&cz'tFE:wSl-wqj*o/:4A7"AS#r5+p97y(c1
T1fjf(xx-wkl$U2&hi@lk8;rEP%xi'nG"2m#YB_ow5:phk#7A>oL1=oLa%JmpZ%Zj$uY(aC
T1gR:idn&Xc'tm"zQ(HiH&y.&L0#TJ*/l&Jxk&.O(3d$u2%hp$jgu"96%Ga%wO=MxF&p.
T1hh#BQef,72i;jEY)Gr".K<xaZt$FG"e.$TF%Fzx#3c'ib#T9$JO%fk-.t)kIP-vlQ*eQ
T1i80%1jN?e3w)eJ(3e#zN#.D)Mx:jA4*NM&x2+uj80/$hE%1r:e7L@wZgN$x.,g4JR1$9m
T1j0_tOs)9P"h15s4v)Ea&9EtP?xFN_3Pxc"IFlw"s8h'RmS-kP*Fd"/S;4Pk+Zeh$im&jG
T1kM&HW(aw,8EV%1uD+RX5n#BaQz0J$Fw%VL(Xj#JJ#8m,mbm&kkN&89#tg'A5&hi_Q51
T1lA=lWY61*NG2+Lwn)TEI'.B"GD%U.-ka*Cp9,BP6"A3#CP'.g'wH-lk(wf,JGA#ib2'9P
T1mN*Ud+7BQ$nkM*kZX$NO#.01#gtu*eU#k9"cj,nZU:gQfk,Ow2y=4cZ&I0-I3F;G86)0B
T1n52#XE#uR;S7sR=K59l@v5da+/kL'nfrY%Mb+V6d_K6L'vAd(KLms/+wYURA'3J&M1b
T1oDN,3b3/?3d5*05uY*Kg6jP-8iw;xui*t6"ka#qX:VoS=LaTooKwSq=RLA'nL:zaH?e0D
T1pu"452$ds:DQR?Hwa+ASc:e44v"jw,mIc"UI3"bS&782%dD"6Yy9(/nj4#Qi(me>XyQ
T1qhEc,Enc5<oXK$zo#qsH+BrJ%qA"2WNEe#/4-D23hCN?HC8>eqjfS%U/xO"Wo_Wwy(6W
T1rI%yOL(Ek;8H8$1P"w8*P9&pi)7i(gjg;187V>Yxkwx,dxP"vioM*ARz"H5%jY_urp#nK
T1sS-kBHj)Bx#jK&N0'Sw$m.3B+P4R,U3p'lwf#gdYh%xSD)1zH'1df$ta%HM<vw.(d1Q
T1tB-o2u,zXr@RalnmR*CV%rr"RQ(nd%dCauBH#GR?PEf&eX=B8D%Xc,BAp3:Ivd.36+2
T1ue0B>z1/"Z2G#dc#uD*p1*Sd&ky(Dt%FV$t/tF&af#HE"M6)Ho#tq"/tsj(Ni+MHk0*sj
T1vg39+7N.(qQ"t.XC-aUc.+P3U.4,hpc>coT#Xq@LmE2%dap$E/#A5"cN*Y3+3loq8*Vc
T1wt#MGr"MT"uv+5nE>Hp.#us&EF"XM#LF"Mt?XRUK<KQ6-JrE%i/#Yz%Ha%ksO&Zy#gS
T1xiWo"puO%uA.P83?CmI&O72iL'h7%pj%ZE*Ia$uLK-I4I(TB"2P+Byg&bU'cA,3Lctj
T1yi/(Sr-cgL*Qd'v1"9Q$Nz-UPF$Ra"Itw2)ud%zC)Un$HU(3n,lxj/)of$H/'aL;rmI
T1zT"7V>qCj3+Nm4;f7f-wI2*/mI%YH)Uc,vOm#sc$hjk-yGQ%6M5*dC*/w'aP)fp"1I+b
T2.XCh)sL%Wy-o7b(C2-MURH$kJEV+07HYk"prZ(Ni:eMe&ng#F6%tShWQ"ry"Xm*wZ#5c
T2/4+UkWjk'ik&dysY(KV$bT'Ijr'yrO+c7c&Kf'5N(A/'IC(Fit-0t)Cm)fl&1q$Hf&YX
T20J*Thd%rT-Io*G8*Ds:qNf8&cY"48$g2K%.1#i5#Aj%Ln#7R%v1:CQa&cvY3>r0Q"RY
T21m:Y4T#kE3&51$h/V(jie-WuSI7)aZ%VhTF:XyH@4/NC*6L?ZPa:N.hM#X/:7xL%29*06
T22b)Mtu>Ocn'KK?330)TX<//8&IP#nOt'sY%ro$VbA<GPY<vpY<SoY@Ln9nA$0d5&qw"bi
T23T(js-7nk$Al-sJ*8c/7@okDeUnQ#PI&Tv#31+P.YB=C8RRjp*Vv&tU:2td@fg/,BJV
T24BW&ihHH)VH(sX=Zp8%.1#w.=G9L=dJMpS>VUhP(AQ(V/(5U*OL<9li%vQ-ag)OR+Ox
T25.m)RVaj5-BsiFC(qMj+jswV,R1V=fQ5(m9'GduR'vT$IjF+ZZS'KV+aPm%L1d)fk-6
T26vyw"pH*YUe8R;21wf'K9;Upz+HunNUrp2.@8VgZ5$PL"IT'hdX&.6"ko5'9u(wo'M/
T271$TY=.Nm"kZt"49&.5+HnK&w8#tV)JT)dAf5E>Gpw)wE$zx%fuS&Vn*iR1#ua*zi#kh
T28wSq-DMX'AZ"2k&.V$TZ<ZTp#k/8&kR+o8rO&Dz(xxLN'.Fw&Xbqa2I(N9.*0E/$Ty/
T29j+vpD-WT)ZQ'xr(CMH"To5?F0r'8u#CF$prV&CrV'gx$Sq2$2Rv-9p/>Bk.Ba-vrP*gZ
T2Az*Ru'7l(ueu2*Df#ElXD:sNVG#36#k/S&Cx*l9=e9e,w/bp/;w.2%ZE-jv_o2gz(ZZ
T2Ba3WR)12YQ%2GH0IB-PX05Xv6z)NX+gb5'JH'a9&HI"iQO(tW"oZ).m(pH#Qw;/2y1t
T2Cqma&nv*7I4.*tgA)te$Dz#lG#Mx9&Bd%3Zi;hKOlEm%CDaCw%yL)KZ4"T0)QG2Y*jv
T2Dk:LHrd3)Rn3,OJ3=KZj&W8=8MqI#kNc3Y9#ew/+up/;wNm>1tZf8'Lz#NW:6VA(V.'8H
T2EA,X.s(fo)Th*Zw)om/%WE<g1Z)HX.s%ho7g=3AZ4z%hR+Gh0)HX.s%ho$Yz4UN)Ro'0L
T2FQR)12YQ%2GH0IB-PX82Xv6z,DHK&zR5@2J4)qUK-31dvc28$gKU01*Yl"lL(O4%1o)Th
T2G0*Zw&/2"Sl-m3Y9#ew/+sp/;wNm%1D&zC%nT?Vq9#AjrR#lRK$pQ'iX_kzN@Pw9Q"Jk
T2H0C9#72"Sl-m3Y9#ew/+lp/;wNm,1DQ#uD*Qk/#gK&1sz+FSe&8Kv_o2gz(ZZ3WR)12
T2I3YQ%2GH0+DD2x+96z'G7'aR#Qy*YNR@5WxX3#oR3(nC).J,n4nN$zM'gv*Cu-z3j&2.
T2JG(.RH9W$PK,441$CN)e/'C.+/XY/$Py/,GN5)Mg)vX"3e#JG/+bYV(8FD:sNVG#36#k/
T2K4S,F76G,Nc3Y9#ew/rp/*0N>XJH(pC;u83)Ibb$qp(WB'u.,h7I$zI4J,2YQ%2GH0I
T2LbB-PX82Xj%3To?v1qY0&CRb#JR(3y=44C$9KU0M:qIk,Nc3Y9#ew/ep/*0N,XeP'h4
T2Muq%b7X>mVab1?8b.,h7G"BL#si%3KT3O'GI4J,2YQ%2GH0IB-PXP5Xv6z$FE".Y7G1
T2NK,G2J+Hky"cFy.&kU3$0wB$l1,2YQ%2GH0IB@PXV2Xv6z-pfeF8V>kD6(w9-KU0M:qIk
T2Oh,Nc38+DaCw;wNm)Kq$Xnu)V3#bm:ikzB"P6%OP$Qd%Nzz;V2N*KQ*pn*Uz>O0i'Gd
T2Ptz$bz&Q6J"RC"WH1*1T$BY"rFC'kWq.Y#Cr*CRz%hR+GH0;ixG?eA9nJV6%/2+sN4n
T2Q6./ZhnT)yu$Ww4'kWq<XGX*Ne>/QK-0sY%kmY2v,0LT'JH(rl'bLh>oJfq#Tv4V,52
T2RgkJ+Hky"cg$UP#ar&yk-Wqz-3q3*Zs"JkC9"kx"TH#XS&mU'kWqY$W0?OGY6%4P)i8
T2SZ&Nk-Wq..&3u"lv:ikz:Y06%T3V$Y6+9f8'Lz#NW:6VA)V3#V1Mw"zUn+S15z+V2g8
T2TY?MpM>uEM)lg?JWP"MC'23'uu$MC<gx7=hP5%aW;oUz%uC#yA?9xDf'w7=hP5&On$Pk
T2UWX)7I$WYxP*0j=wyA)BI$iA&Nb_MEI%Xe#JG/,GYV%6j-HH)o1s05#4W#2O$gHH*oq
T2Vt%BV-qfj,wdMEk06_Vzc(iK-9K-31A&7R;AnoJ'57=hP5&aM"o6$Qtc'7x*9P"RY-z
T2WY4UN(REpP>5eSep%kK'hW%7z)YA)ig)HX.s(fo$I9K,w9x=a5R&Ib;yfA"PO-YEcd@Dzm
T2Xg"vK$oO)HX.s%hoyz,ntZ#ehP#5a%MoY&ML(q3#xO*C9=lXx#/pnY&.k)zY&Fx:7zL
T2YC$b0K-b6xZ2jC0(4o,1bE/N-vE(Sn@06k&DD%ax"2m#Ta%MoY$W0&O.-jxn:v6u#WZ
T2Z1"AN#4j;oYM%LSQa?nQ9"1K(PE%nx#gvtU:7SF&n1p*Mj)v6&ND"pX$mYyI$rj%Nk*KO
T2a4@e04%W2%wp;Y2b*3z)nS6B5+4U2>wjV%3bD6"uW%ZA"N4%jo)z/(Sa_vtl'tK*ykw
T2bN"Gs#WZ+k/V)w5-xAo,hJ1#Hq#A3;bCr&n1+gGM#GC#TK*Aq*Ed@HFR$Qa2#2Rk&ST
T2cX#sk#vo&cX&9/%RH:5D5P%2t'Uz'lv'd8E&ap(sv&lu5<lrO+OSI"Qn)it<pWT$IC1
T2dcG&lY+xtC)x1#FB%Ts%kj#0BO#GS&WNq#WJ%JY'SF%S.-ay(N1_qdw&gJW_QeQ(Q5"u8
T2ekZ"u2$ur)yDq$ju)NX(mH&xl%u9"Zy?eoO$rH4H.+RpXSI'f3#mz%Jk&3K$0wB,hC3
T2fpR)4w$2S#Hx&lu"9Z#ye#S8-PXS(785$q7#4O%7Hky"cpu%TtH(P.?06L)JQ;TeQ"T5
T2gu"u8Z"ui$ur+GH0*Y/<vqs'gZ%KC%2fd'Tl</Rk%Xm5=Jd7lci#uM-d4-C1GW#.m$2S
T2hS#Hx&lu"9Z"y1o:/3R"1s"SuW#.m%AL0)kr:YnC:0Lkh;ROn)eK0$2S#Hx&lu"9Z#ye
T2i/#S8G(PQ$5R-z3j=2MqI"kl"vtH(Ps?o6L)JQ;TeQ"T5+u1va'd8E'.fc3#PX;mwq)9D
T2jP@wDr-CM*ClR)kX;m5Jd+7l9i#uM-d4-C1GW#.m$2S#Hx&lu"9Z"y1o:/3R"1s"SuW
T2kl#.m%AL0)kr:YnC:0Lkh;ROn)eK0$2S#Hx&lu"9Z#ye#S8G(PQ$5R-z3j=2MqI"kl;vDQ
T2luN$2S#Hx&lu#WN-LsC/"vP2,Jo/"2RR,OXS't8(P8*tV$q/$bC;MzP+HkUeTh(6G#cR
T2m/-V8B"gfPU"2R,UsJ5$q7#4O%7Hky"cpu,TIB(P.=06z'rD,3QU"2A6%3mr,2M8+E.
T2np6<wvK*3t:JU7S$bt,AIB)PIM"p0@wBwv*K3(tJF-od(iy)Np'lD,zQU"2A6$mv*wS
T2op?krO+OSI"Qn)it<pWT<I75<ZnT*nd2_NEM-Ly*Wr%eS%lB$ue'34(KQ=WQB$MD"pm
T2pS@CMqI$kk<CE1#/W&Fw$0D+/B9SI'f3#mz%Jk&3KK'D3W;.D.*PD*On?S.Q</3S'IV
T2quM/Jm+e..&38(0/(9FSI'f3#mz%Jk&3K&4i4+X0/#YA/'MQ-dms9g:98rp)3g'j9-V
T2rqM/Jm$ej,Jc3.SI'f3#mz%Jk&3KK'D3W)Tg$2S#Hx&lu"9Z#yeo:/3k%lB$ue"Fg"yT
T2su'6hz$bz%Xq_FVD(3u,wS.N&NM*QN"Rs-ek76$M2/%bq6;0CE$2S#Hx&lu"9Z#ye;dim
T2t3,i4.Y/+Gx0'MQ(NR$sek76#Ml=rzFSI'f3#mz%Jk&3KK'D3W#.m$2S#Hx&lu"9Z$y9
T2uXj:/3k%lB$ue"Fg:yRFSI'f3#mz%Jk-T6K;LPp$QI)VgrW#.m%AL0%..(zz(p3I'f3
T2v7#mz%Jk=rAJ;u44(0N'MQ*dj&cm$2S#Hx&lu"9Z#yeo#/W%kyR&G23j&2.)Pwl(p4&zt
T2wfq#ml3PP3RN3(VW"R.XSI'f3$mq>me.'kC;RROXS&tZ'wP*Ts"1A(Ten3"XD'ck%rY
T2xkB"p3#KY&vc"CZ>PUz)4T"Zb-Rt-Qe)/V'pr$73'kz&YF%x7z$L9)sX_/RO,.S7%4u
T2yr)zY&Fx:7zmZ*sw+24Um3>h8y:DCE"nl#VRk%SZ@DkX06<X89p"Pd8&bO$sx?Ows$Gq
T2z2+S5JC5,2xA-HK3+2C4JC4=4sxU:7Sb(bo$OJ?.iyA$2S;HAJ(YXn#yY3#/o#pU)uf
T3.8>kNaq"jm&vX"tI%Vl:/sLH%pQ*IV*aNp@TO1$AT$eI*TL#w2YQ'2y"J/'MQ(dhXW&V6
T3/K#/8(0/B9SI'f3#mz%Jk&3KK'D3W;.D.*PD*On?S.Q</3S'IVM/Jm+e..&38(0/(9F
T30.SI'f3#mz%Jk&3KA.6&4i4+X0/#YnO_Y6Y7glc_E/M*QN"Rs-ek06#Ml%rGH0$2S#Hx
T31X&lu"9Z#yeo#/W%ky(9FSI'f3#mz%Jk&3KK;LPp$QI)VgrW&t2)56$RO?O0jM6,T65
T32c&O4V=luAi16J.#h3?MrBW%L7&qg&ry#Q2h)mX$qFV;LPK*7ek06$M.#/8)xw+Gh0'MQ
T33w(NR$sek76$M2/%bl*5q,Mc2m&4q#/ZIt-I2NO_Y6Y+0v/+3Y/'MQ(NR$sek76$M2&Yg
T34K+g0S>A6J#.m$2S#Hx&lu"9Z"y1+S5JC5&2p)CqO=DW.%m2(SH&xl%u9"Zy=eo/&Wk
T35v:yRFSI'f3#mz%Jk-T6K;LPp$QI)VgrW#.m$2S#Hx&lu"9Z$y9j:/3k%lB$ue"Fg;yRG
T36v,23p*DO)fn'Xm#Hx&lu"9Z#yeD3+2NQ+W.i_tdm)jc%m2(SH&xl%u9"Zy=eo/&Wk;yRG
T37j,23j&2.)Pwl(p4&ztq#ml3PP3RN3(VW"R.XSI'f3$mq>me.'kC;RROXS&tZ'wP*Ts
T388"1A(Ten3"XD'cj<c4x'HqGN'B4oWz,m/bN/.-I9(Zj2$6s*r/#YKbN/.-I9)ZQp#7J
T39H=L67W*nV%yK+m99=ZKAb'KC5WfJPb)Z5)XHKgN4n./ZH"6TO/1p)oy'nY&Sm#bX&9/
T3AH*2j#MXS'Hz"BM*CAZ9-8z(CRk$2x(.2;RRO=.S6"mk)dh"xw'jx)zl<ZyN;ZeH'qI
T3B.u-PQXSt%7tz?S0C4/+r8H"2E%w."gW%x7z(RC/)TH$Zd%8X%tR=unC/n-Kr2&Za'aF
T3CCw"Rc)e0"RZ$hmSLXCC%Lg"5uD"s.W"Z47$NOt*jWLFYI(R/+z.P6#fW&18)hQ6<7Wn
T3Dh)Vy+F./+W7V(ua'3Q%1z;QcO"BB+50r/FYI<mNXnN"zGH0(Qp&AD"pX#mz%Jr.M6+7
T3EGWF*WHi9/&Jn4nN$zT'TU(7hM'.t-wfJPbh-HH-XKgP/+cP/+cP/+cP/:cvzz;V2N$gC
T3F1"63A'cl,QSZ3Bj4TZl+YXSe$v5%Fu(tM7iAZ3+Ev/*KT3uK3FP3$M./(Lj:3Vn&Nr
T3Gz$8s,XSf%ni-tUm3uK3FP3(Lm-tUm3uK3FZl,jN/(Lj:3Vn&NrkSe2/&q5(tM7iAZ3
T3Hg"OH4<FZC"63A'cl)Ff$us*KT3uK3FZl,jN/*L3S-7kSef-zsN#Xt#Run:C/ST61'rD
T3Io%3H"ZX#Dc#JV"oZ_DkN-sG(Wxb%qtIV>52ELc"rM;GVab1'V87BQXw"cg$UY(cY@PgV
T3Jsb&NAL$sh+zEA%XX'ZO"rd/"Af:cLp&i8I&eS(RPhQ"dzAI$wiL*rN#XS&mUE'.Z#Jq
T3Ki>u56$uq+4MI&jl*ay)Kb_MEI'rl+gGEe=USv&7.+TASep5"ip)Np)dkz"mvF*WH$yq
T3Lb)7YOF'11P*L2#rc'rA*aQPbh-HH@XKWok%z53+Ij3".B#7ym/"5Ck"rk/#tb"6ul&7d
T3M4,4/z+V2g0WfJPbh-HH@XKWT4#ew/>0an-QLw=/J.X7:JICV?cAOz+V2g0W/E&RJ=Z0D
T3NE)XXocp(yF+oogx$Yz4&Fz3%jo$yz)rUs#V4y+OWo>bxQ*FP:44R(Wxb"gU)YFJ+Hk
T3OUy"cgaxpG"0X>fxF,vto,bxE95g0Wp-8/og*KL=SWx>nW0%wL&WMkL_y/J%nz?QrY-7
T3Pvh26+7WF*WHi9/+b0s+K84/1V+Djkkv;z7d/jZ0z;V2N?MkV)tA"FzyIE)lq1-lob2
T3Qb'vY)so@7Wb$5l=Kgl?YqHh1*I7<8Mq"92=OG0r+.M6+7WF*WHi9/+b0s+KJ3;bMn)At
T3RU_p70D/1V1-n/jZ0z+V2g0W'pd>kCL"g5"5CV@Yr.+iab+8McoKgP/dN$zq(FW*OkX
T3S0(Pk&3EsW%W72"Be%/x"W5E%nz,h12'tT)Dy'nY%Spy-s9*ZWc"Qv_N/J;H//"ANF)Tg
T3Ta"uL5F-r4U'C/-Rf(/B<.x6@zGB:dSY(ytO*9vs0h)PVSV)Qv#.nh>jxR%fS'xf)dk
T3Up".iabE$Nj@WL7J2+7J2SP/+uN/+7P5+FP/+uN/&Jn#zr'5q,hC3R?YK6$sq,hC3R-A
T3Vq/(L1,yRN3+IP3+wDi+Im3+DjK,VP3Rp(tMjKuX4+Lj3;EvC,hZ4+E.4*KT3<FZC1:vyP
T3Wl-M4V,ab1+vyW-KrkZ5<ovJ+0.S$bRt"BeS&lw#M6y=AHC#16%pi=azA%JF)jN(Sow
T3XG>zqW:72B#e/#xH'Vr%Pz&d3$Zv(pLgm,0e./#yDLA-hMg0W*epfeF8Gu&TW:72B#e/
T3Y6+xXSq%8zELo-1k/Z+h0C%Lg"55#CO*rl'pG=w/T$PV'r0%W72"Be%/x-KE)R8$zz%ZP
T3ZX-if-lbE/N-vE(Sn-0UV%F4%jo#bw$oxAo&X9'/2%ao#C1q"iR"vY'aa%KoTc*fp>DlF
T3aqP*aY=3yHx3-/UV%F4%jo"6Q_tc7)xW:72B#e/#xA)7N*Vs#Bf,BZE)Arr,vUeTIsI
T3biQq(Yj-h9d"c6"rBy#Kh)W7+Gxy%9G$Kh#n3Lq/"yz'Jb*KH,X.s(fo#Zc:PzGD%W7
T3cm2"Be%/x(Kz'NV'TU)aA"yW"5C$E/)RU,AxG&cbG*7R,t5G+.73a7"K97$FO/"G6d+i
T3dMLLV973a7"K97$FO/w-4LlAL3a7"K/6pp5,EVL&yn)YC#6z&pgz#F4#gB?x1C@ORC4
T3eW$5v&rU:sP5"CE*/Rf(/B<.x6)q6=jtH-595#K.&kn(NE,rt5hI$FB%Lbi;9/z;K5w
T3fh7$8D&L5(qe,VYH6;kXTbx#Ha5+R.Z/#/B(KJ$l5"s.W:/bin*Y6,Zq5O-mn-595f<V/2
T3gf,v4OS+A7rW%W72"Be%/x&wM,Rg5'NK$QB%Lb(nq5,w8S)iU%A.+iab&pVW,2/gP/)l8
T3hn#zF%1X<071f<V/2"Cc%y9*97"TZb7$Nrg#zmU2'NK#Wtn"v.+iab&pVW+hKgP/:uNz
T3i5-595f<V/2"Cc'1Y%AD?2EQ'Vi'i4Jf<V/2"Cc_d5w%W72"Be%/x,7do"/z(7p<yfK
T3jW=4yOW=keTi9/+7P7&N.y(/Q"Z07@1fV/(2H#kh#yA'DL#k7(zF'r2&wW:72B#e/"xg
T3kr)JN(KW&tr+Rsm_DG3+RVOD)Wf#1/r*70?AHJ$S7uq7=lBd%7Z(Yi_AJa$Hj:6BdF"x1
T3lO<IB.m9T%4Fh#9N-U/A72O7"f/g,/vb'CByL1L/A72O7"f/g=/pH79LBO-7UV%F4%jo
T3m."6Q_tc7)xn(NEw-AKrCp*dL)K5_HkQ*0.A&fk'nN#Ert5hI$FB%Lbi;9/z;K5w7$8D
T3n0&L5(qe,VYH6;kXTbx#Ha5+R.Z/#/B(KJ$l5$Ij=4yOW=keT+F./+7vn&N.U%Qa/"/c
T3on2+.Y7*QBw*Ua&AW:72B#e/"xWzeN$z7"pyfGC-595f<V/2"Cc'1yxkJ4,hj3jX&yG
T3p4J4,hj3+WviTP3,GJ4,hj3+EC4+EJ3%B.l=aa6qh&f1*zIGq)7wJ$gdQ'zl%P4(S9m
T3qT%7zO)185'dA#cX.%3309,GYU)1U6%bl6@7HS%DC#c1,OHA"mv".iab&pVW+hKgP/:uNz
T3rCE<sL7"TZb7$Nrg#zCFK'NK#Wtn"v.+iab&pVW+hKgP/4"/z?k1s"9a/"/c2+.Y7'jZ
T3sL$k7>2hjx'Ro'b3p%AZb7$Nrg#z0%Ez(7p"yZ>Y0f>XL.-blg#Un(IC&BK&zI)mR%Oy
T3tp"W5"CR>Ux7/*7n7fm)q6f2#K6)YS%mb-WR5(YJ#Nr<CS4"SZb7$Nrc/h87&G2/m+W
T3ua7eZ)/V+T23#/A+Xtrm;W7S%2u@qDN"2a@RCQ<tWt=4yOW#BT-vEQ/+cP/:cvz@9vz
T3vQ,N5/SP4)qa3R,YKSP4)qa3R,YKh87%GhKm<W7f-KrkZ5<ovJ+0.S$bRt"BeS*V5&wx
T3w3?V2Z#eM+HS2-/SUF"kX-pFE7B%KTASep5"iR%UOX"oi;7xFY-RAm@ROm(NE&HV'Lw
T3xv/B:bWI+RaI*DUj:03L;P3CY3%Pg"vix&GeA@9nPJ%Zk(ub"VM=Uc6%fH-5g0W/k*tg
T3yMA(tG$r7%IW@YxP$Cj=wyA)BIxJ"eJ>G/GYV(8FD".iab#hV&t.8$AB,Ixm#NY,5ye
T3zN?USz-e0F*WH%e4g#NY&Vt>ALw./ZkD'.P*Du%nlfZ)CQ)t4y:OWi+pxE"9z;78lxN
T4.m$z2Ta#It5+Fvc5jT#Qu-z6Z-HH_fxW@Vti+pxEq5g0WBq(dI>mZu*yK9Z-HH)o1'EV
T4/t&VE"wzZ)a2%nS+z.v"zhSU(cg9%Zu*Y7#Tw$8M@HFR"QB%I1"RBX)or06"uW%ZA"N4
T40C%jo"6Q_tc7*xqo%VBo@RCQ$ta@X0.+iab#hV+BoKgP/+cP/7%DQ$v5'V9P/+AR/4://7
T41SP5:Fvz,N5/SP4)qa3R-A/f,74U#PqH.;Ryb"Y5%1Tj*aL(lb5iL,yRN3+IP3$wH4,V
T422P3Rp(tMjK$Kq)Yl"gW%x7z"Lb*0r*AWE'ML%Dp"Xm@Yyv?H0RU(IM+k5f0s<Kjt(eX
T438>b6VrkZ5<ovJ+0.S$bRt"ip@aYW)0S-KfeF8(.fx90h)PVSGu&TW:72B#e/+xXSq%8z
T44bELo-1k/Z+h0C%Lg"55#CO*rl'pG'wd%cn:.Mg-w9-ZL/yRL*fN(S1N-vE(Se)j1%Pm
T459;bcL(QGWN-vE_SoT%W72"Be%/xw"cg"/z(Wxb"gU)YFJ+Hky"cgaxp>7P2$yN+gGE
T46W"CE*/R&UAx'Aa%KoT-s11$HK"1R<BXo-bP(q9#2w"pY$JZw:GS5*goq(q9:2U3*xq
T474o%VBo@RCQ$ta@X0.+iab#hV+BoKgP/+cP/'xrw$G6'V9P/+AR/4://7P7+FP/4"/z
T48C.J4U#PqH.+Ri14U#PqH."RFZ(CiUSi;CUQ:a/v(SZ>PUz'q93SP4"MP4oG3ia*C/"QZ
T49P<0Yn(kTqi<B5RU)Il=A/v;P2Jo/"2RR&OH&VX)M5fJPbh-HH@XKWokV)A/'caa1:By7
T4A282z;V2NX(jc#RF%0.W'bME'Ib/'6JM#GRR?AX7%IW@YxP$Cj=wyA)BIxJ"eJ>G/GY
T4B2V"gK5#4W#2O$gHH_yWF-AM)un+lfZ(C3@ZwG,RtF*WHZ+h0F*WHPH*H0_6/4'td-d
T4CF2h)PVSV)Qv'oW@aWH"OW#rA"Ok$og"/dr82&vr0-xAo,hJ1#Hq"Amnr)OL,VYH6;kXT
T4Dnb'pjx*tw".iab&pVW+hKgP/dN#zd&XV/%TN&HHP-CA(Lt$B.Q$c5w"TZb7$Nrg$zz
T4Et_A25"BY>xwB@9eTZ$Td#ar&yD(Lk%hh%T.+iab&pVW+hKgP/4"/z&F1"X0C(To-4W
T4FdsC+Zb7$Nrg#z0%Ez(7p"yZ%aZb7$Nrg#zc,R4U%gz)zZ$Pi&L5".iab&pVW+hKgP/
T4GH4"/z.+V5J)Mk%W72"Be%/x"W5%bR)IN(KW'tM%k.+iab&pVW+hKgP/+cP/+cP3+7v
T4HHn'NK*UV-V4H.+Ri1'9V-V4H."RFZ*C/"QZ7*On*ES#ZPU&zq-93SP4"MP4oG3Z:T/v
T4I/;P2Jo/"2RR&O.=VWKWfJPbh-HH@XKWTV"Ok8:O1H+gN4n./)kA)aOS'z7c$PRk$Pt
T4J7%Mo$gT"Qm%QI-BO2*V8q'ec&Ef%jz*Qm%BJ?h2.:v7J'.P$FaR*aF-diA3;I7kHj-q
T4KpSNY"WH"3B<BkQ&PveY+l5Q%KC4$5v<NQ6qwc_Vtt&qBfk)Y3"Zos,wkQ"UQ?KqYR(qP
T4LBcopB+tI1P6"IzDz;7TzR(ahM$PRx'sV@T8O#ZK;gL0#wj(xa@vtf(wP$yb/,GN5%Fu
T4MBy?3OvrpyM'h/7#x1'8h5?GZC*GW2+jH3;I7kHj-qS7'BR$6N%FU%Yx*Ds$qf-lsY)xP
T4Nd@Otu.Hi9/-nX7g0W*Ev'1s#lr*ZD#MF#HrP%.CD=llbN?1pM-xhvW+Dj3+CW3)x74
T4Ok1R"oC<K98+FDM:qIk$ld&yM+E69#FO+W5cD'BRy*CjoKA+Z4z%hR".W5I"QnUN)Ro
T4PY%Vv$8T#sM'sJ$Wg+Iyy(M9iq"RBX#hU#WX+R8h&ewj(DP&e3$uP,t/V,ab1=8bb,V
T4Q6l109%34(IYw31Z3i@Eiy+JAV#nN*mg"E8(Ts&Ms(JW?lPk9+QQR(iR:BXh#6t?llM
T4R42*y/'td,wnY*ZSD%07$Z0&O7+Hky"cF@Lb7a_of.)K3;H/BL6Fji*G0r'.7-5g1&HQ
T4Sq*dK%3H/%Fp#Jb>G/9YV%3S/>393Xv4(QB+LX72XJ%k8C,3XL3X0%Y209)0G/)Vy)oy
T4To%wM"9B%Ew%Hs0#3t?llM115&3E+IsS-Ej(DP&e3$uP,t/V,ab1=8bb,Vl109&3EO.
T4UKY#CBL6Fji-Gs/%6w*I1mb1N3i-Ei7+x6f>A/z-b/I'kX(Q/'Na=m6St/?90z.N5,G
T4VXYU*aS+CXL3(Q/'Na=m6St/<Z0z.N5?GZC'zb/I-PlaYV%6w*I18HXv5-Q1c#XI-D6
T4WcB5=hJH:gYk#GV(8P&8l$q7#4F=Wbpu,TIB(P.?06L)UowFH<37S(ojaV-GaQ*rF*00
T4Xy%5f*QGQ(gen#B5"R0-XQ)Q2YQ'2y'D1+KT3+2v6*LU,owFH8f*Co+jaV(rcQ*rF*00
T4Yf%5f@Q527-SH-Dy(TW%Yf$1SM:qIk_kN2V.&kU3$0wB<wZC)3wL#1mQ+KER(Lj=RKE
T4ZK@5JVT>esX(uUt6(u6$rN,owf'wZ#52YQ%2C'Aa,S9g-gLo$4Y$lwQz-7BQ'bMEA:0Jm
T4awnr@Of6&R4@RCQ$ta@X0sN;VGRtV,ab1'V8#If9;eGX#XZ(Or<n6L)l4y+OWf#3/i9
T4bg/IO&Oo;WIJ%nz#I0$c12xJp6B+//z%DP*Vv)z198$bRtf$s9*ze0M:qIk$JP#n6(GM
T4cq%N.#K9&zWSe(kU#hu$Z9(Bf-/H_Iyq&CX+EC/$MMykYOkm>Imy(Ek:S53.(Krp/90
T4dA)zza(HL'0W+mnr@Oy8$WA$HD*3s-Stya)lUy)NX8>w8Z%WJ:don&vX%Njxy>3aQ"gB
T4eX+JSGB&Vwynp)rz_dOy)gl"Bu(eF59"Zw)Do-7WM:qIk"lvO"sR&gf"Ae&kr$HNJ&Xb
T4f3y>RgL>itMm_mSfqy,9uEts/:3.l-IA6$K9I)X99,mB5+FZu"jV=BnBJIAY?FqQ-Dr
T4gv)995J&c3k"2A-Yp_7y39?3Kh%Ng"BJS;W6J$Nx)qF$C/M:6U7;Ate=/H0"o2$ku:b./
T4hjQ_aXs>dgQ*gwD)gN;gL0%TzW"LOS=Ow8"WQ(CT;KWp$rP@1hv"LOS=Ow8#WYK"gB#J0
T4ig:.Wg"BJ"Zj)5S(TZ"b7#zc,B/Z'pK"gB#Jb$lw#n6d"2A;kjZK"gB2"6m:kOs$R8(K7
T4j2+3Qz_7Rd=FLY%KRZ>xAe)pb"73Qz)7d8z'qm:uYHA'JY:XnyX+W5b05&lj%Ka)wk+u
T4k6.2,.FH"LOHy%GPb05$xJH,IS3)/f;AYH%qj&pqD)gN;gL0P=./S"dh#I5+Pb05$xJ
T4lTH,IS3=Ow8"WQ)gX.%3f&IA5,/2p.%JS#DX+EYOO"sR#C26SG6&HFH<6Z5?GNKj(bv
T4mu54/>X.3+4j/+O0B,70Wsp+Pb05$xJH,IS3IE"8W(4v5+a7SX6&HFH>774?GNKj(bv
T4nO+r.6"1r%36j/+O06"3V>A5/2p.%JS#DX"EPtO"sRZ=./2jAC56,7p6Z$Td(dv+Pbp
T4ot%kv>HPc=RSN'sB"gB#JsrD,8Kq(CRR&Ond'tT)Dzq)7a(RQ'yorr,k26<7Wn)Vyi9
T4p8/UZ#3d+96z+V2g0WfJPb)Z5)XHKgN4-HM7?FCVG-BAd-o4n./Zh26<7Wn)Vyi9/(.X
T4qpI8(KE'BV=5/96z+V2g0WfJPb)Z5)XHKgN4-HM7?FCVG-L4z+V2g0WfJPb)Z5)XHKg
T4raN4n737M_VG06z+V2g0WfJPb)Z5)XHKgN4"9G5z85Aj?vNvE_SDF(xX-90c#Xfqw+l
T4sXjw>5QbV=52sN4n./Zh26<7Wn)Vyi9/z7,JdN4t73K@XJ4(XG/1V1-o4n./Zh26<7Wn
T4tf)Vyi9/z7,JeN4tP4#ew&cud#32Q&eRL)8l;tPcQ3BvB$CA4n./Zh26<7Wn)Vyi9/z
T4uy7%JuN4tP4;eGX#XZ*OBw#cw(w1V,52z+V2g0WfJPb)Z5)XHKgN4tm/nN4t83%Av$LP
T4viQ(9o*LU#Gg+m6O7X7$gQ#BOU+RRz+V2g0WfJPb)Z5)XHKgN4tY@jit6&Rg4tN4t.3
T4w5$7th+Rqw+ljw>5QbV)A/d-o4n./Zh26<7Wn)Vyi9/zvI#It5@90Q%KH*JgA-tz85P
T4xBYE&It%9P%36%w/2%yHw#7X$HkB=uzV2g0WfJPb)Z5)XHKgN4%hGx@9N0=GQ5c,n4t
T4y8..0"o3QQ$5V)T4-r/nl@jdWu"A0N4n./Zh26<7Wn)Vyi9/zN7vl'v90#QK9xz85:Nvo
T4zD%mO7;3LR5@2J4-oJU,g4n./Zh26<7Wn)Vyi9/zC$1HOX-9J-ez85z85S8&zC-Kh-B
T5.At*9s3t#lR=5//4n./t"zv6<7Wn)Vyi9/z:V2IY#1y0#6O=D7b7$rJ97;3LR@ZqAXZ
T5/d:NaC2&Ev3(yK'nI9"4A//;bYM(GC/+uN4n./Zh26<7Wn)Vyi9/#evO)fC(9T-.9V(sj
T501$yKy?IMOT(ssh(F8GL%Pd-Y/z+V2gN(qn)NX,C7J)mU(I/<yVFg#4M*R1R0#IOq(OL
T51y<Ugz#SIeq(9f-v4-z4s+f06xNEbC6<8mIJN3AA0)js$Vm>08B%4A"229'7JQ2&Za>OQ/
T52lG"9V#ls"sD#Yz)4I"ifp#Iv4)qy'LZ(SDo(bFp@pqx(pB:iRC*3C(XR-pAo$Co6&r/
T53D$.I$UqEf+uPX=3Wey"bH/,AwD28o(RB6I'K5+XDD2v-Bk0)qy2/@I.A%xr8&HFHx0
T54D6BL6+PyDsP_9Qm?TzS)3f;p6b+J67,b4Y;63hm(IXDD2N"Ruu0+RVU(RB6I'K5#XE
T550_8xn*8P>3Ux<r8V&6X%me#A.SE;fna)ZQ=aPH#lRg(IF*V1;aOp*yd$4R:H8mY2v=0Lm
T56L'38X'c8"RU-qQX$uoR#jM"OL%k/(wPyD20"j1L)gi)9/?v4q)VN0"1Kabe+.h0+le
T57L0f608-G200;hl1<5Mfl-200#qB,2o1)68+MK7Ab+8iR#ScD7+3l8"1PB4#K7$uU"T0
T580>B5EI;3.8vs>BX6E"wJA%60%Cg(bK#A/D3"JX<PZ6.$XMJt"KxFc3:AAesM_Kb8%aQ
T59j@eWJ-cqe).H1:gl4+TP9D"0I(5P?Eaa;gPD:1SG#kB>M.YJb"tJD#Id$dJ%9.a=cD8
T5Aq"RO&3/$Wm)O6a"c.#MJT,ZPs>P3/'VC(yc=2NU>TgS"4gmoi=C5Bo9#I4C.?kyC*UA
T5Bv#oU%6I)6uvz%o5%x1)hx#AE,ilX%eZ"dK%.2#g7#gKMv>R2EF7#uV%4UOg+Tjg1R)50
T5Cs(Gz,QL9#YWDOE%C6+Tc/(gG%1MK3)GTZu)i3M*O3I4l)2G%M1%X7&l0#Fw(P6"Qa,9
T5DVUXU%Sy+qbd*34$17:RUAV=NQB'S8Xk.S;1fpAw"KYs,v4V"E89V#Ku:QDB"SAc76+q
T5E1j7Z,jAp,TQiE"uhaF_Jfe:HLYe+e0GE:xA7SK(b2EZ#j7#pE3"kNCC6$qL)41&Yi#7V
T5FM'LTA$jEa%BjTK"BD7:MDU"dK#2T:VScBL"pQ't8O:Dmgn"SH2'5QR#5ED)x5#HEV+D
T5GbCZM(B3+tNFu+ojQ5I+/OmbGg;a18"1sdD"WL+fmu5<Je1)ZZ"oo%e/'8b"fL&E1:JeS
T5Hp1zI'y8)HM+o4uo'AX#iW+pRA*d9&UdV)yY%8VM#m6AFh:y4k@lE4(8nDL'NFYK%03
T5I1b)lM-gv(B0&nW"hj;GTM?ObZ,qARDL3L+ol1%YKr;T9P+kKcp4&VdU*Pj$QU(IXmE
T5Ju%Gf3/_yfDOII:.vBM-Env&FA*31#nvF&eR%tV=NCD;d9m7H39&mCg,eN4w"wl(Do&.O
T5KyT94=x.T7)DN"s8z2I<rqr"FK"HN;rnmr$8k"oj(nOL$.5)aS(NmN6w>Gpm&/p_kqE
T5LCV>BzAI"iV;9qtfk+8/M*bb3c)SCY"FE,S59_CtmtjQB&87/_C.H#gdOF%Z.%a7=nIc
T5Mw"L6=SIg@1sCV+E8L>EDi1@4/A$W1"96%lX+GHi"Ju)5I%MJqCY5"zl>eAu_TeEA+i
T5N3/f&aAl#XA_VAo%lLHx$74(L5?yWLa<zw0:1.S9i_FkJ#h4zn%7U+ELRJu$aq"5K(sm
T5Ov)WhT1e$a8R'tS%HMf(Ms"1vp+4GE+lzd#OSP(Ua-6oT#NH$pBAKiFIKu)JU#PA*B7
T5Pw=H7L_11El(yb#o5"NI=7q7*pe?VxQ*8oG)e8I"mq"pV%HN#.w)mE%hXO@iDI_1LI>AV5
T5QN@fVA+Yvjj%QS@QJ0"7q;GQT$gL%M.%dA@y38-rBL,ZZ3"FRv%/f#KcKp=ELVs(YL$.x
T5Rm'Tip'RS#Vf%nb(M3*WmE$83)iG,Ns3:3EKZ#VL+0.9sFv/y_1TgI?U72-QoA_yqW?g1p
T5SLp2n(g9V,tP3%Y4330+zvDd5#nBP<Us9QPP=XeJ%Iq'Kb&Co'Dk3+eV.(3O3s<z.U?rY6
T5TtE?pfy$ip,VIaY?gVH9AK*54$C3kM=/WH#lz@2cq%cXGL,E1j"2X;cIj_mcC+fHj<Xva
T5U6+N8P1$QpC5(9P$/yC"Pk"m7vR6x.#A0#8YE'pA"KSa%2q(Sy"hLs3P+LA9z:loD)B5
T5VN;Usd'Q/s"qi&fN(N2&HrKO'BGS4s:BrZ=r9U)8zh#bB%GU*PU*aIl:eJQ:1CT0<Lps
T5Wr'npX4(k4#/C.;1Cl"na(3dDa;fTW'zl>es3*v9j)5J(Qg#wv%qS#8v'O5&MN'PW-N
T5XJD3k;Xjyy$UI:PpV&YSt(4d#ZF%KF&O4%49NO-BeN&gF*5Hk"Aq$k4OI6+fR8%oT:Nt0
T5YH#dy=i8/#v.c_5as"QakG@5dS"dKP4+oZoI-TZgo;GNs:r4iGTY<nLU#/0"8aM_6/7
T5ZN=pJPW(46UN*sO=VK3,N3G'hZ#Nw*vBC'QB(0L>hxJI)b.T&f9(SqP#aJE@4gH%/8-S
T5a2q*W2$f2=CHF"LH$9bB-sI)rV#to'Y3P8Gx/*5MmR#UdP&aO-Z/LcJE)8XY+fUp'SS
T5bb8m/S,UL3+8bv:IVh5S+UR8)Fk"Oc$MxN$.3'vf)sb?sad"kt"f7"mCBDeLYZ.#dJU
T5cC(bcJ*oX&PW*fZ(s5+5ML/)vWs/H;d.K"6y<b6M>dI1"VT-bei%Df#sRK_EkQQ*yU_ch3
T5dKZj<B7S:lV9,gEZ-dM)TX'uE-3/(hv#ck5"VR"UMA>9cW8J4wC8#Kh-dMI"NV=49q;l25
T5eK#Jc$vP#38=TTU"fDE/-7Q.2&ha94=EKon,LC/D"h74$CRc:o7lcK=bAE,j0O:SIJ&Fz
T5fA-Z8HD=LJqZZ3HE.4+0P0"1Kabef:ormat0608)5B00,VDm;.ClTH00"qfc"K0/=PH1
T5gE:6ef-Mu(/O"qQ"Qf/)bD:9j9%CT,9hCCgX=aIwa,E.312;ME9a=8m0%Bg(bK<3rT"eU
T5hu9g"SK7t-Tm(Hs>RdP"ws,cjq;U/ED"80VWq,C23+AO.,Gcp>RWt-24Tm#dEaM"nIo
T5iC"GY(3S$06f'iG%9i*l0$0K;gm0#il%PiI)HB;K1y'V3'Ga23K,Aa8Y%vXf>3Ui+Ed
T5j4T$lZ73&Q1<M5d"Iy%0NI1#Fh<.d5B$Ub%as-9cDiY'Iho#rFF$m2/=WPx$NScY"9H
T5kJ"4t,T.c,XT.&Pm-2E1d,6vQ&g8(4J?93b9R&E2L"dIo;Fad'EhVkQ"nL;9Rm%cA"FY
T5l5"eS#JC&0Di;3hd%WY&g0@4U8q#Zd%oc*Kb'Z1%kA&21&FU's.-w.(sa+WaY+7A5"Ki
T5mP,pD2I"sy%I1z:wiCiZ"SMeKf>JAUUK#cN1=Aef#V1w#KGQ+8ia$E4%vA;jbfD(/Lt
T5nO&20%lJ+wCY/(2b+TJ/s"7hp/"f0=W7AS"fyY6*y9(ZP67&hN'UBP$80:4Gzf"JTK#Qw
T5oYo#Hhnema"XD"Y7+dPb(Ep1'nJ"3ka=nIij;BRD'1CE(Bj(8B$dG"SlY&v8$Q8%Y/+p
T5psns+S0/E."lU/w.t+Ucw.(pU/?z.H;Ucz"fS&v0&VyCZ%4Qsa&L1z*2C3#BKa+J3B=FMk
T5qX:4lQk-E15I)b1Q%ba+YnK>EDC:duD%1LOP<S7.+713&i5:79DV.+4Tlak+wyB"fn*8H
T5rK%hQs%1A:hEu(ZY%MKdjqS'i4&Lv@6Ii"V9C*F0=YxhV(Gb?222.,Ds/V'6TU=8Ku@OKc
T5s.T.%6V"Ri#sS:hjK#aj=8Ro:Eea.c"cm2"7Y+mk0(Kl#1a%oXh&zo;ZEe#uQa:iBe$/P
T5t4&AV&NY#VPs'MB1<Wau,ys/:qYk@xR1(Ok;8.g(E/:/a1-2r(NW'DbOp/<AkY'nF)q/
T5u6'ggl@5rt-EomX,gWc%Pf'rc%UJ;fHV$h/5&Zy?dOi"xB:WUsN@d7MF%eyc;KZcF'gM
T5vTg<OTKRi&cx#53O#aE#9A-BuhW?YsS+RjG%5f;8bYpf"MX'6F'mC.&kz,L9nS)Wj<Z2A
T5wD&vb%Jr"Kv<FHj:Jmj;81j+uYq#VP.(CH*nE"o4$EG%T2%Ov'ns@2Su@3IcYQG&yCA
T5xGI'F5-PG*vY:mib;F9CB)cD.Se;VQph"wM;l1m'gm"ten'Ah;Fxo'I3#BM(ad)9ai,h
T5yZCu"te,Vao=qt1h:6ID&ZS-Bu)7v)jl*gfI"fS'a/"Qw*Scr"1c<XPR>Utov#Im:wTX
T5zE(8V&4m%fU&b09p0A(2ZvC+4oOk#7y&CjzT)Bi"M0@4UG#Jug%4S_w4Un*I6M*.H%A7
T6.O=YjU+SfZ$I.+Jky(m5(Ck"KG-oG0k8%lX)yk8-QjT<lww(x5)AA3%It@0DD@M0i$bP
T6/p%wz&CZ=uT8)Ho@f4Z-PzB%cc2=PjUg+fhB7%4V#S/."9KA.B/+NJcL"LB3sHND8<xBw
T607#AI.ePND,J.3"3xQ,aX.:UsV;hCB)HA:7/Dc)kT5/(uA$/PMil;KTH5*vhO"qfE=PVh
T61k)an#4rQ3g.#nQ0,uNJ;DPka"JcK(gV38%LC;KqGdS(TP%..g:dgMm;VON:hiF%LOk
T62J*2N#cz(oh=895"pi*W1%Cd=mFI'Kb"EU(pZs,qyE&sL"dS?HGk&QK+tx/x4le"1wA
T63lk'gKWV$X0#In%E13:BP8#d0%0l-Cq6B%UVl%uB&aZ;uhKS,WgYF(8S*4E#9B"ttX=LyG
T64HC_BCk6)acj%o0%f9t>ndg#QPZ$OP-ul*JB'c4"aym#N9&fRJk;KBh-lNo&7D"/2;bMd
T65rI:VNHl%1p%/hOw"1zp&0tx%OiB1&Of#OV"Mb+Auu_tDK4-rl8Zg%Tq"uh)yk'UO2%de
T66v"9Y$2abE)J."DM-RZGgC:WFQ#zA(MS'I4(5Gm*nO:Pms:kAu,C/A)q8m)3P*0Y:kfT
T67na'Fpc(AB$/6%Nuh&IC-cmo;MUx@qn8)IEZ(id"Rn#ko"vP-n/(cG&AL%WS"DF"aaI
T68WzmK47#9G-Mo(JM$pVT@Qbl#4Bs#jK"ef_eIT.*Jm"/U)4F%45*MZs4pm&YK)tVJ:qKs
T69Y%CQ%QJe@ggS"Ui1e#rx)gW*kE)fZ,UL4#gk>gBc0_CKy)L0v=aV0?m/G."VD"c8'gL
T6A9A)bE#EP'yfu(00#Icyd"3i".Lz%KCR&0IX*Tob"We$fHZ'HM<nCT)im@1S5&Y2oc=Oq5
T6BjR#0N'o6n&4L8#pZ%id+2Qn=hYWolF"EU(t7(Ajq'LL'A7:DWMA(5l(L0%P.)j7%7i
T6Cxh%Cl#31&M7%NUAtP8;QgW"Bja-Vx-qgYW*8J5"8d:uOL"RY@/jf)wp#QUk-QVZa/'Wm
T6Dc#RP*md(6i<ffHt5x4m$5kBV+Jyr'41k+VMU$ZI$Z5?KL4-hNW$KM,DGb&mH'fk:bF1
T6E9#L2&DJ%F7-Bkv%Pd"MM#BZ+6dS)JHxr-ZYo'oNL"64t,s1W&vE;OMADS"db@vlm)m0
T6FpYQ%HLWSG?Ds9(xu=71e#pNl"l/)qsgQ'Q3%Iq#wv#XA"dO%1.&fD=pbc(ftZRE$C9
T6GC1a:2/4%GH&lf$3ky*hhMU#jr/%iU;TuD%Ydc-blm&89B,S4f"8vK&t5'01@Nlr%wx
T6HT_cOa).9(om"MG;pKC:T4X%l1<.Yc%BY:XZj)UM%xd8+Usv6"n7+hCg-5dJ#k97$nK
T6IV.$YQ)OT,Big)p5)cc>2.4V_ss2$vD%Ja%ZC#VvJsH:vfZj0"rT'1T@sn1B:pUB*7G
T6JC=I8A>ARD&Dw"PT<dZc(2o*Vd+bxZ-86T_I/.xm/#tHoV*5a(oN0=pVx$iz?53I<rFC
T6KM#jh#T/&HY#mm$wb,zJLB&Aw#f8-Sf*Qm?V0IqL%d/-cw3</7O%9W$wZ'9IVO&Hm:VUk
T6LS+GYR)661_XSQC4"GJ2(pE#KuYA-hMu<U74+3jO-y8C6D<PZC1"P/-sqX)Vf-Wa2#zh
T6M2$r4)HX&Bz8&xq9=YHg&b2#v.%Hd(ts-WO*4p'tVN&RY#PR#5G<JVX#hcW"iy)RP#5t
T6Nm$9r*IWf'00(Ts_hMb%xAZ)U48;fp.x_YW/"NY$NC&pk)Dwa-1nS%B4_tWl"tmi_B7X
T6Oh@Rxr#Wr'gpi-Smi(hg%Pb2)ui"VR%uP&Pj*tv)1X+VD0&hss&w3y"2t&tht(le-NC
T6P9@RsB#Pw5-puw2j'sT*.X*Rj(s8(9p)LtN5)n8#gF9z)/w+L10LTM;3xPdPcw"ja2"yH
T6QE#5ReG&jE;0F0%V0O2:W93%3kP&M1h#KU+Gsr.+KUI%0g<XwK#dsX"11&g59+X86&15
T6R4&xHyK,.8q,s8q#P9"b5<YYB7;5Y/"x5T*tK7'FaxbMP(1k2*LHX".9+j.7a"9Ac#0C
T6SC"opQ,On0&/nS"0P?B9xD>Gkd%kY<UD2%TE)o7ZG+a27,WO7%Bu@Gov%ED3&/s0%pO
T6T9"kg:31V66+Pl6"PxE"126g$3q@Jxg(en88xe>0fG0#p5+33X+f4/+ZkI-1Px#/w&hj
T6U9tg@nfjJW;SBpt"1B+84RUOLq"J4VJv:srK(I2"d4:7P4#Gg,zHV?QKS.VUQ+ug71p
T6Vy"AEC5"/u*P5&pQ.vL(1g'O5;t1z)//%Wu2%061"1Cf&7W0-IxZkZZtmz:fH.&jEr)N1
T6W7C%uS/b%.Ti@V/2p-7mR)PF&Bh)8Wtsu%D0&Visq'iM#RGY#xD:Ka0(AKb;g0a-1dw
T6XA-dx.%2R"4t"y7"sW/)ud=abXEl&BB_MXtc#Bt)Hw%tX>WUf>d.ErEy,BC4GCRdC*JB
T6YY#04"gS-ZwO'JL>GIw#Ix?mM1+4g8xj(ETuH&pAVFw@v6knk59R+AbM'i4,VU1%Pk-8
T6ZYD2(vaQ%d3L&pn#o5/'/A:32G<s.QiEf45(pe)70?LJy+xjp9j-le*Iz+/96%HN.j(Ws
T6aj;V6/vLcy"m5;cI.#5B:7Na+okj"lR#rX>00f&uk&xT)Jg'uJ#zb(9x+Bq6x'7E-6f
T6btfFj)fH%iU_SR.5)qy8"Xy?Ura;WyH?uBd&HO$Lao*.6*Qd&Ra#HL"S/)/7k7'HV)/D
T6c9&U0*9VR:wXU/+DCrTsTtF(gJ&Pj+pV2"mv=CLI*QI"5A,GOn(4xBPlD"QC"5K"RGd
T6dCPygaR-8/fO+H2T:a2b"Pz)9o(Pgji(F9'7E#R7%W3c"Kp".IH;zl0O#Sp&Cvwp;p6X
T6e7"b6"3K#U/%cp"w5P6+3Z6Y?v3Oo"0VSW0l2$yB#YN"Cz#1LJ'ch%7mN$h8'E5".H7
T6fE"pB%7y+61k>oOl)EZ/6%OD;41WQ5%Ia0*Ux$3FA"c6<v.P-0q_HcVms-6i1-Xu6>OVC
T6gt>FwPl#N0$A.i#Ofg)QW<nvM:EcD>ILt*hQ#yHI)Bv#cGD+ls.H(Ae7dm6&Ys)Qy:SnM
T6h58%7.:G2bP$Wt(EE"wad&Doz=N9ASF%Oi.a+bWnH,1TQ5/,KNP'3H'F2/5+OQJ"FU8
T6ik?ui5_whtc"H7(YSn"LI+.gy$G04I=VZm"./ry#ps&Iu%jK)SA:PBAnm/g;CDkCn,Q
T6j3FD%fv4-01l*Pl2-8cZ7eQ$Pcw'9i%9P/Xi=bVy)BX'iRyQq2(Ns"OK=MHI%c1@Vsn
T6kH"tD'B8,HBtY(GQ>d60-324,g/AQ2>kjXdj$gO?B57"vl*fK2$8E,sqo>J4BA'ZE$34
T6lw:UPxq'/8-38)jq(1B#gF#apJ%oG#k/cn&fu%ii:B3b7_g0q'Jf#1x*Mi'xUy?NGV&jg
T6mV#GD>yyi%r1$AsBwP+hyV%Rzm;w0B#3Qph_qXUP%iw&XwmL#Eq&zU?uqY-B5)D0$it
T6nHF%xd&nj+9iK_v2M#.q"kQwG&.S'xM:13sv"mi7P"6u2(WGI$dR(Wb98*4D=hb1+9s
T6olCxS;VSK>LXg>.aOMD%PtJ+MVE=/DC8A"o7B'Kj%SC&R8:Cx4$AE:jEa+AG6"yX"6j
T6pg*e8"/D(Fsw)Oc,H8Ov&y4#08;can;DoKwG"njG%Os%Nw'g1#vv"zn<kfcg:6Ni"wi
T6qx7&FYg(fo@3DL*K15#67)NyA)8w,HAu&JW$Gf&xS&JhC$9B+//q&gVqW'.O+w2rJ2)8M
T6rRvr&l7,SF3N:G8B#ZNV#sNxj=NiC%N.#HN%YKp"T80&dJV%Tj*Cd$Gf$u2$xH)0xW'lC
T6sZ/di;ZFN(aw1$vQV?UHE&fu(X0"tx'olE#0Q*Q3M$h7%48qT)ECN3,OJ4h-ZG/V#wo
T6t2@E8o%B6kj-3mlM+K4rrZe)El&k9(UO+MDE#gB"nA)FY&oc$8O*0E'P6.'NQ0"/aR#Mv
T6uZ&Y1>sV0#7Z,Isp&yka5"xi$C/<9lV>7/J)qBH)fG%10#jd"0Zc*eo*2M?WxQJx"eE
T6v/O/;HDY"O8%Y0#K/#t4b*uPv/>Iv7$6w)0pxc*.G*7Q2*yQR<JEWPB(3xq+Csu)qu+4
T6wJ3RJ;FbS?fYxt+KAS&NdX0'7F".31'WKX#3MK'Jh?N/pEFp:6THdw"kIq=EwW<WXi<DRq
T6xiaw$CQ%gZ$uPM_/wE%iM'qUC$25)PLIPP)KSy"Ce*dR)Q9#4Cp#wX+r2p"i9;Z8w$9w
T6yt#h1&FQR*qdJ-BsIS%qX"bs#up2,Es.;A0W;u6ve.m#uh>wW.+E4d"gv)8MA:FzC0#gp
T6zu(WKis:CRT3(q4"lOh"2M"3J"7O(BSYgo-4sp:ozurz;nPd&Wq%81gj+CxmV,fg/%Oa
T7.F(GsjU*lP<ctmq*nR%my?Euk6/'fG-X8q.?D9I.3p#O.%LI+y7hC&xb;x.fc#.q*.1
T7/V$$closeblock=0,26039,27286,2470007321
;ABE encoding end of part 0
-- 
Brad Templeton, ClariNet Communications Corp. -- Waterloo, Ontario 519/884-7473

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (02/24/90)

In article <100765@looking.on.ca> brad@looking.on.ca (Brad Templeton) writes:

| Normally, I would post source in a shar, but as an experiment, I arc'd the
| source together into abe.arc and am posting the 3 part ABE2 encoding of
| that file.  What use is that?  

  Normally I would unpack a shar with "|(cd ~/tmp;unshar)" directly from
the news reader. Now I get to move a bunch of parts to a directory,
extract parts with an editor, compile unpacking programs... then I can
take it apart with arc, to get what would have fit nicely in a little
shar.

  Sometimes people get carried away with cleverness, and this looks like
one. People on the net understand shar format, and have tools they like
to handle it. You have managed to post both source and binary in a
discussion group in one swell foop, and in two unusual formats!
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc
"Getting old is bad, but it beats the hell out of the alternative" -anon

brad@looking.on.ca (Brad Templeton) (02/25/90)

Ok, I admit that from a pure utility standpoint, it wasn't as easy to
unpack as a shar would have been.   But the elegance of posting
an encoder, encoded with itself, was too much to resist!  In fact it
is one of the whole ideas behind the tiny decoder.

Unpacking is not has hard as you say.  Edit out the tiny decoder from
the first part.  A handy trick to do this is to use
	!vi %A
from the RN command line, if you use RN (and not RRN).  This makes it easy to
extract the source into /tmp.   Then either save the three files into
ONE file (not 3, just concatenate them) and feed it through the a.out
you made.

A shar is no easier than this.  You have to save three files, go in to the
three files and hand edit the headers out, then run sh on them.  (I
suspect there are some unshar programs out there that can take a concatenated
multi-part shar -- I don't have one.)
-- 
Brad Templeton, ClariNet Communications Corp. -- Waterloo, Ontario 519/884-7473

roy@comcon.UUCP (Roy M. Silvernail) (02/25/90)

In article <534@sixhub.UUCP>, davidsen@sixhub.UUCP (Wm E. Davidsen Jr) writes:
>   Sometimes people get carried away with cleverness, and this looks like
> one. People on the net understand shar format, and have tools they like
> to handle it. You have managed to post both source and binary in a
> discussion group in one swell foop, and in two unusual formats!

Not to mention... I was able to unpack, etc., the posting on this Unix
account. When I tried to do the same on my PC, however, the fun really
began.

Turbo C compiled the Tiny-DABE with no complaints, but the result just
plain didn't work. The file produced was reported 'not an archive' by
PKXARC and ARCE.

As a side note, DABE is a filter, and filters are wasteful of system
resources on a PC under MS-DOS, since DOS passes once to create a
temporary file, and then hands the tempfile to the next process as
stdin. Writing with the idea of 'filter <infile >outfile' would only
need one pass on the source file.

I transferred the extracted sources to my PC, but I haven't had the
chance to try porting them. The source archive is replete with filenames
that are illegal under DOS, and will need some massaging.

(I thought we were trying to find tools for DOS machines... ABE appears
to be much more oriented toward Unix)

-- 
_R_o_y _M_. _S_i_l_v_e_r_n_a_i_l  | UUCP: uunet!comcon!roy  |  "Every race must arrive at this
#include <opinions.h>;#define opinions MINE  |   point in its history"
SnailMail: P.O. Box 210856, Anchorage,       |   ........Mr. Slippery
Alaska, 99521-0856, U.S.A., Earth, etc.      |  <Ono-Sendai: the right choice!>

brad@looking.on.ca (Brad Templeton) (02/26/90)

There is a DOS executable of DABE that was posted (Not in ABE format) to
the parent of this group.  It would be done again if the format is to
be used in this group.

If the tinydabe didn't work, it it possible you did not define the
"msdos" symbol?  I admit I used MS C, not Turbo C, in compiling DABE
for dos.

It is not intended to act as a filter, either.  You just give it the
input files as arguments.
-- 
Brad Templeton, ClariNet Communications Corp. -- Waterloo, Ontario 519/884-7473

roy@comcon.UUCP (Roy M. Silvernail) (02/27/90)

In article <102691@looking.on.ca>, brad@looking.on.ca (Brad Templeton) writes:
> There is a DOS executable of DABE that was posted (Not in ABE format) to
> the parent of this group.  It would be done again if the format is to
> be used in this group.
> 
I'll look for it, then... I like to have as complete a set of
pack/unpack methods as possible.

> If the tinydabe didn't work, it it possible you did not define the
> "msdos" symbol?  I admit I used MS C, not Turbo C, in compiling DABE
> for dos.
That's entirely possible, and I'll try it. 

> 
> It is not intended to act as a filter, either.  You just give it the
> input files as arguments.

Ok, but the Unix-compiled version of Tiny-DABE worked as a filter.
Perhaps I misunderstood the directions for unpacking. 

| Message-ID: <100765@looking.on.ca>
| Date: 22 Feb 90 22:28:51 GMT
| Organization: Looking Glass Software Limited, Waterloo ON
| [...]
| What use is that?  I used the +d option, and it prepended the
| source for the tiny abe2 decoder to the first part.   Take that source
| and compile it, then go
| 
| 	cat part1 part2 part3 | tiny-dabe >abe.arc
| 
| Or, if you like:
| 	
| 	sort (parts-in-any-order) | tiny-dabe >abe.arc
| 
| to demonstrate that even the tiny-dabe can handle postings in a random
| order.   

Looked like a filter to me. I'll give the define in Turbo C a try.

Thanks for your response, Brad.
-- 
_R_o_y _M_. _S_i_l_v_e_r_n_a_i_l  | UUCP: uunet!comcon!roy  |  "Every race must arrive at this
#include <opinions.h>;#define opinions MINE  |   point in its history"
SnailMail: P.O. Box 210856, Anchorage,       |   ........Mr. Slippery
Alaska, 99521-0856, U.S.A., Earth, etc.      |  <Ono-Sendai: the right choice!>

leif@comcon.UUCP (Leif Sawyer ) (02/27/90)

In article <334@comcon.UUCP>, roy@comcon.UUCP (Roy M. Silvernail) writes:
> In article <102691@looking.on.ca>, brad@looking.on.ca (Brad Templeton) writes:
> > If the tinydabe didn't work, it it possible you did not define the
> > "msdos" symbol?  I admit I used MS C, not Turbo C, in compiling DABE
> > for dos.
> That's entirely possible, and I'll try it. 

Ok, i compiled it with the MSDOS symbol, using Turbo C 2.0.
It compiled fine, no errors, no warnings...

> > It is not intended to act as a filter, either.  You just give it the
> > input files as arguments.
> Ok, but the Unix-compiled version of Tiny-DABE worked as a filter.
> Perhaps I misunderstood the directions for unpacking. 

Haven't yet tried it that way, but from the looks of things, it's a filter
 (Don't have the source on hand..) but the line that changes stdout
to O_BINARY for redirection in to a file...

> > Or, if you like:
> > 	sort (parts-in-any-order) | tiny-dabe >abe.arc
> Looked like a filter to me. I'll give the define in Turbo C a try.

My sort barfed on it. OUT OF MEMORY, which is highly unlikely if it used
main memory (640k), or EXPanded(1.4 Megs)...however, it may be limited to
64k because of some internal limitations..(one of which being an 8088 with 64k 
segments)

Anyhow, i went through and hand sorted them (not too hard, just three files.)
into tabe.abe, then-

type tabe.abe | tinydabe > abe.arc

All went fine and well, until I tried to unarc it. lo and behold, it was as
corrupt as Imelda Marcos..

thanks for the help, brad....
-- 
:- From Leif Sawyer  ----  USnail -= 1568 Primrose/Anch/AK/99508-3062        -:
:- UUCP - uunet!comcon!leif1       "Does the name Pavlov ring a bell? "      -:
:- BitNet - ASLAS@Alaska.BitNet                 #define flame /dev/null      -:
:-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-:

SHARKEY@osu-20.ircc.ohio-state.edu (Scott A. Sharkey) (02/28/90)

I did exactly the same thing as Leif, including using TC 2.0, and combining
all the parts manually (did you leave in the redundant header information?)
and it worked flawlessly for me.  Just FYI.  -Scott

brad@looking.on.ca (Brad Templeton) (02/28/90)

You must define "msdos" not "MSDOS" to get the tiny decoder to work.  When
somebody pointed out that many DOS compilers have the upper case one defined
(in the unix world, the tradition was for symbols like "unix" not "UNIX") and
as such I have changed the define for the tiny decoder to MSDOS.  This will
allow compilation by MS C without change.

Otherwise you have the problem of the default text file mode of most C
compilers.  You can use "wb" as the write mode with no ifdefs, but I fear
that might break some other fopens.

The concept of
	type foo | tiny-dabe >abe.arc
is silly.  It is not meant to be a filter in this manner.  You would use
	tiny-dabe <foo >abe.arc

The only time you use it as a filter is if you want to concatenate or sort
it in one line.  You only do this once, to unpack the real source.  It is
not the normal mode of operation.  You have to concat and hand edit parts
for most other decoders, like uudecode.  I was just indicating the elegance
of using the filter if you desired.  It is not a requirement.  You can
certainly combine the files in one step and feed them as input in the next,
just like the other programs!   This is the tiny decoder -- you want creeping
features?
-- 
Brad Templeton, ClariNet Communications Corp. -- Waterloo, Ontario 519/884-7473