Subject: 2.11BSD completely lacks ANSI C capability
Index:	 cc, cpp, many others

Description:
	The C preprocessor, C compiler lack ANSI C capability.  Many sources
	in the system use old C constructs that are not compatible/allowed by
	ANSI C. 

Repeat-By:
	Observation.
	
Fix:

	This patch (and a tremendous amount of work) were contributed by
	Anders Magnusson <ragge@ludd.ltu.se>.  I received, at the end of 
	2019, a very large mail item with the subject line "Subject: First 
	big ANSI patch".
	
	In the (lightly edited) words of the person who did all of the 
	work:

=====
ccom:
     Patches to (mostly) c0.
     
     Adds about 3k to text and almost nothing to data One new file: ansi.c.

     Prototype parameter types are stored as first-level only, no dimensions 
     or function pointer parameters.

     Implicit cast of parameters of different types.

      Checks old-style function declarations if preceeded by a prototype (as
      recommended).

      Also supports string concatenation.

cpp:
     New version of cpp that supports ansi-style preprocessing.

     This version comes from pcc, it is quite a large rewrite of the old cpp
     since ANSI require a quite different internal handling (rescanning 
     buffers, argument expansion etc...).

src:
     Many small diffs to fix the source tree to be compilable with an 
     ANSI C compiler, mostly cpp changes.  About 111 files are affected.

     Most notable are changing of concatenation operators from a/**/b to 
     a ## b and the avoidance of stray ' that are illegal in ANSI C.

     The latter causes some complaints of comments in .s files, solved 
     by adding double slashed causing it to become C99 comments which get 
     stripped in the preprocessor.

     I have not dealt with ' when used in the assembly code (as in 
     doprnt.s). These .s files uses cpp -t (traditional) for preprocessing.

     What is NOT in this patch is:

     - updates to man pages.B  Need to modernize the roff macros first.
     - changes to /usr/include.B  That affects lint which I haven't decided 
       how to deal with yet.

=====

	To apply this patch cut where indicated and save to a tmp file such
	as /tmp/460.shar.

	NOTE:  2.11's 'vi' can NOT be used to "cut" / edit because of the
	       size.  You will receive a "Tmp file too large" error.  Cut and
	       save on another system and transfer the shar archive to the 
	       2.11 system.  'vi' can be rebuilt on 2.11 to allow larger 
	       (but NOT unlimited) files and this is being considered for a
	       future patch.

	Then:

cd /tmp
# unpack the shar archive
sh 460.shar

# uudecode (uuencoded because the file is binary data) the CPP tar file
uudecode cpp.tar.Z.uu

# uncompress the CPP tar file
uncompress cpp.tar.Z

# Patch, build and install the C compiler backend
cd /
patch -p0 < /tmp/ccom.patch
cd usr/src/lib/ccom
make
make install

# build and install the C compiler frontend
cd /usr/src/bin
make cc
mv /bin/cc /bin/cc.old
install -m 755 -o root -g wheel -s cc /bin

# Now save the old CPP, unpack thew CPP tar archive, build and install new CPP
cd /
mv usr/src/lib/cpp usr/src/lib/cpp.old
tar xf /tmp/cpp.tar
cd usr/src/lib/cpp
make
mv /lib/cpp /lib/cpp.old
make install

# Patch the sources which have been updated for ANSI processing rules
cd /
patch -p0 < /tmp/src.patch

# Cleanup  if desired.
cd /tmp
rm cpp.tar cpp.tar.Z.uu ccom.patch src.patch

# More cleanup - not necessary but a tidy system is a happy system ;)

The patching process creates an old / backup copy of each file as it is patched

To see the names of by the old/backup files:

find / -name '*~' -print > /tmp/tilde

Review /editing of the names in /tmp/tilde.  There are 112 files patched by
src.patch but more *~ files can be present if previous patches have been
applied without cleanup.

rm `cat /tmp/tilde`

	Eventually the saved files /usr/src/lib/cpp.old and /bin/cc.old can
	also be removed.

	This and previous updates to 2.11BSD are available at the following
	locations:
	
	ftp://ftp.update.uu.se/pub/pdp11/2.11BSD
	https://www.tuhs.org/Archive/Distributions/UCB/2.11BSD/Patches/
	ftp://ftp.2bsd.com/2.11BSD

---------------------------cut here--------------------
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
#	ccom.patch
#	cpp.tar.Z.uu
#	src.patch
# This archive created: Fri Jan 10 16:20:48 2020
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'ccom.patch'
then
	echo shar: "will not over-write existing file 'ccom.patch'"
else
sed 's/^X//' << \SHAR_EOF > 'ccom.patch'
X*** ./usr/src/bin/cc.c.old	Sat Feb 21 09:43:15 1987
X--- ./usr/src/bin/cc.c	Tue Jan  7 13:27:47 2020
X***************
X*** 1,4 ****
X! static	char sccsid[] = "@(#)cc.c 4.13 9/18/85";
X  /*
X   * cc - front end for C compiler
X   */
X--- 1,7 ----
X! #if !defined(lint) && defined(DOSCCS)
X! static	char sccsid[] = "@(#)cc.c 5.0 (2.11BSD) 2020/1/7";
X! #endif
X! 
X  /*
X   * cc - front end for C compiler
X   */
X***************
X*** 184,195 ****
X  			assource = tmp3;
X  		if (pflag)
X  			tmp4 = setsuf(clist[i], 'i');
X! 		av[0] = "cpp"; av[1] = clist[i];
X! 		na = 2;
X! 		if (!exflag)
X! 			av[na++] = tmp4;
X  		for (j = 0; j < np; j++)
X  			av[na++] = plist[j];
X  		av[na++] = 0;
X  		if (callsys(cpp, av)) {
X  			exfail++;
X--- 187,199 ----
X  			assource = tmp3;
X  		if (pflag)
X  			tmp4 = setsuf(clist[i], 'i');
X! 		av[0] = "cpp";
X! 		na = 1;
X  		for (j = 0; j < np; j++)
X  			av[na++] = plist[j];
X+ 		av[na++] = clist[i];
X+ 		if (!exflag)
X+ 			av[na++] = tmp4;
X  		av[na++] = 0;
X  		if (callsys(cpp, av)) {
X  			exfail++;
X*** ./usr/src/lib/ccom/c0.h.old	Sat Feb  5 22:14:22 1994
X--- ./usr/src/lib/ccom/c0.h	Tue Jan  7 13:20:27 2020
X***************
X*** 2,7 ****
X--- 2,10 ----
X   * 	C compiler-- first pass header
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c0.h	2.0 (2.11BSD) 2020/1/7";
X+ #endif
X  #include <stdio.h>
X  
X  /*
X***************
X*** 364,369 ****
X--- 367,376 ----
X  #define	ENUMTAG	22
X  #define	ENUMCON	24
X  
X+ #define	SIGNED	5
X+ #define	CONST	16
X+ #define	VOLATIL	17
X+ 
X  /*
X    keywords
X  */
X***************
X*** 385,390 ****
X--- 392,398 ----
X  /*
X    characters
X  */
X+ #define	ELLIPS	116
X  #define	BSLASH	117
X  #define	SHARP	118
X  #define	INSERT	119
X*** ./usr/src/lib/ccom/c01.c.old	Sat Jul  3 23:33:42 1993
X--- ./usr/src/lib/ccom/c01.c	Tue Jan  7 13:21:55 2020
X***************
X*** 2,9 ****
X--- 2,15 ----
X   * C compiler
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c01.c	2.0 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #include "c0.h"
X  
X+ union tree *protochk();
X+ 
X  /*
X   * Called from tree, this routine takes the top 1, 2, or 3
X   * operands on the expression stack, makes a new node with
X***************
X*** 135,141 ****
X  		}
X  		if ((t1&XTYPE) != FUNC)
X  			error("Call of non-function");
X! 		*cp++ = block(CALL,decref(t1),p1->t.subsp,p1->t.strp,p1,p2);
X  		return;
X  
X  	case STAR:
X--- 141,148 ----
X  		}
X  		if ((t1&XTYPE) != FUNC)
X  			error("Call of non-function");
X! 		p2 = protochk(p1->t.subsp[0], p2);
X! 		*cp++ = block(CALL,decref(t1),p1->t.subsp+1,p1->t.strp,p1,p2);
X  		return;
X  
X  	case STAR:
X***************
X*** 238,243 ****
X--- 245,251 ----
X  		t = t1;
X  		if (op==ASSIGN) {
X  			if (cvn==PTI) {
X+ 				if (t1 != (PTR|VOID) && t2 != (PTR|VOID))
X  				if (t1!=t2 || ((t1&TYPE)==STRUCT && p1->t.strp!=p2->t.strp))
X  					werror("mixed pointer assignment");
X  				cvn = leftc = 0;
X*** ./usr/src/lib/ccom/c02.c.old	Sat Jul  3 23:33:45 1993
X--- ./usr/src/lib/ccom/c02.c	Tue Jan  7 13:22:11 2020
X***************
X*** 1,6 ****
X--- 1,9 ----
X  /*
X   * C compiler
X   */
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c02.c	2.0 (2.11BSD) 2020/1/7";
X+ #endif
X  
X  #include "c0.h"
X  
X***************
X*** 52,57 ****
X--- 55,65 ----
X  				outcode("BS", SYMDEF, sclass==EXTERN?ds->name:"");
X  				cfunc();
X  				return;
X+ 			} else if (peeksym == COMMA || peeksym == SEMI) {
X+ 				/* clear potential named args */
X+ 				blklev++;
X+ 				blkend();
X+ 				paraml = NULL;
X  			}
X  			if (paraml)
X  				error("Inappropriate parameters");
X***************
X*** 687,692 ****
X--- 695,701 ----
X  	register char *st;
X  
X  	pl = STARG;
X+ 	protokrchk(paraml);
X  	while(paraml) {
X  		parame->sparent = NULL;
X  		cs = paraml;
X*** ./usr/src/lib/ccom/c03.c.old	Sat Jul  3 23:33:49 1993
X--- ./usr/src/lib/ccom/c03.c	Tue Jan  7 13:22:29 2020
X***************
X*** 5,10 ****
X--- 5,13 ----
X   * externals.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c03.c	2.0 (2.11BSD) 2020/1/7";
X+ #endif
X  #include "c0.h"
X  
X  /*
X***************
X*** 87,92 ****
X--- 90,100 ----
X  			cval = INT;
X  			goto types;
X  
X+ 		case CONST:
X+ 		case VOLATIL:
X+ 		case SIGNED:
X+ 			continue;
X+ 
X  		case UNION:
X  		case STRUCT:
X  			tptr->hstrp = strdec(ismos, cval);
X***************
X*** 338,344 ****
X  	if (tptr->hsubsp) {
X  		type = tptr->htype;
X  		for (a=0; type&XTYPE;) {
X! 			if ((type&XTYPE)==ARRAY)
X  				dim.dimens[dim.rank++] = tptr->hsubsp[a++];
X  			type >>= TYLEN;
X  		}
X--- 346,352 ----
X  	if (tptr->hsubsp) {
X  		type = tptr->htype;
X  		for (a=0; type&XTYPE;) {
X! 			if ((type&XTYPE)==ARRAY || ((type&XTYPE)==FUNC))
X  				dim.dimens[dim.rank++] = tptr->hsubsp[a++];
X  			type >>= TYLEN;
X  		}
X***************
X*** 384,390 ****
X  		} else
X  			defsym = dsym = pushdecl(dsym);
X  	}
X! 	if (dim.rank == 0)
X  		dsym->hsubsp = NULL;
X  	else {
X  		/*
X--- 392,400 ----
X  		} else
X  			defsym = dsym = pushdecl(dsym);
X  	}
X! 	if ((dsym->htype&XTYPE)==FUNC) {
X! 		declproto(dsym, &dim);	/* for functions check prototype */
X! 	} else if (dim.rank == 0)
X  		dsym->hsubsp = NULL;
X  	else {
X  		/*
X***************
X*** 393,412 ****
X  		 * and .c file both declare a variable.
X  		 */
X  		if (dsym->hsubsp) {
X! 			for (a=0, t1 = dsym->htype;
X! 			    a<dim.rank && (t1&XTYPE)==ARRAY;
X! 			    a++, t1 >>= TYLEN)
X! 				/*
X! 				 * If we haven't seen a declaration for this
X! 				 * dimension yet, take what's been given now.
X! 				 */
X! 				if (!dsym->hsubsp[a])
X! 					dsym->hsubsp[a] = dim.dimens[a];
X! 				else if (dim.dimens[a]
X! 				    && dim.dimens[a] != dsym->hsubsp[a])
X! 					redec();
X! 			if (a<dim.rank || (t1&XTYPE)==ARRAY)
X! 				redec();
X  		} else {
X  			dp = (int *)Dblock(dim.rank*sizeof(dim.rank));
X  			for (a=0; a<dim.rank; a++)
X--- 403,424 ----
X  		 * and .c file both declare a variable.
X  		 */
X  		if (dsym->hsubsp) {
X! 			for (a=0, t1 = dsym->htype; t1&XTYPE; t1 >>= TYLEN) {
X! 				if ((t1 & XTYPE) == PTR)
X! 					continue;
X! 				if ((t1 & XTYPE) == FUNC) {
X! 					/* protocheck() */ ;
X! 				} else { /* (t1 & XTYPE) == ARRAY */
X! 					if (!dsym->hsubsp[a])
X! 						dsym->hsubsp[a] = dim.dimens[a];
X! 					else if (dim.dimens[a]
X! 					    && dim.dimens[a] != dsym->hsubsp[a])
X! 						redec();
X! 				}
X! 				a++;
X! 			}
X! 			if (a != dim.rank)
X! 				error("compiler array botch");
X  		} else {
X  			dp = (int *)Dblock(dim.rank*sizeof(dim.rank));
X  			for (a=0; a<dim.rank; a++)
X***************
X*** 604,618 ****
X  		switch(o=symbol()) {
X  
X  		case LPARN:
X! 			if (blklev==0) {
X! 				blklev++;
X! 				ds = defsym;
X! 				declare(ARG1, &argtype, 0);
X! 				defsym = ds;
X! 				blklev--;
X! 			} else
X! 				if ((o=symbol()) != RPARN)
X! 					goto syntax;
X  			if (type&BIGTYPE) {
X  				typov();
X  				type = 0;
X--- 616,629 ----
X  		switch(o=symbol()) {
X  
X  		case LPARN:
X! 			blklev++;
X! 			ds = defsym;
X! 			dimp->dimens[dimp->rank++] = ansidecl();
X! 			defsym = ds;
X! 			blklev--;
X! 
X! 			if ((o=symbol()) != RPARN)
X! 				goto syntax;
X  			if (type&BIGTYPE) {
X  				typov();
X  				type = 0;
X*** ./usr/src/lib/ccom/c04.c.old	Sat Jul  3 23:33:51 1993
X--- ./usr/src/lib/ccom/c04.c	Tue Jan  7 13:22:45 2020
X***************
X*** 2,7 ****
X--- 2,10 ----
X   * C compiler
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c04.c	2.0 (2.11BSD) 2020/1/7";
X+ #endif
X  #include "c0.h"
X  
X  /*
X***************
X*** 163,168 ****
X--- 166,173 ----
X  
X  	if (p==0 || ((t=p->t.type)&~TYPE) == 0)		/* not a reference */
X  		return(1);
X+ 	if ((t & TYPE) == VOID)
X+ 		t = (t & ~TYPE) | CHAR; /* avoid void pointer errors */
X  	p->t.type = decref(t);
X  	l = length(p);
X  	p->t.type = t;
X*** ./usr/src/lib/ccom/c12.c.old	Sat Jul  3 23:34:19 1993
X--- ./usr/src/lib/ccom/c12.c	Tue Jan  7 13:23:22 2020
X***************
X*** 2,7 ****
X--- 2,11 ----
X   *		C compiler part 2 -- expression optimizer
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c12.c	2.0 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #include "c1.h"
X  #include <sys/param.h>		/* for MAX */
X  
X***************
X*** 264,270 ****
X  
X  	constant:
X  		if (tree->t.tr1->t.op==CON && tree->t.tr2->t.op==CON) {
X! 			const(op, &tree->t.tr1->c.value, tree->t.tr2->c.value, tree->t.type);
X  			return(tree->t.tr1);
X  		}
X  
X--- 268,274 ----
X  
X  	constant:
X  		if (tree->t.tr1->t.op==CON && tree->t.tr2->t.op==CON) {
X! 			Xconst(op, &tree->t.tr1->c.value, tree->t.tr2->c.value, tree->t.type);
X  			return(tree->t.tr1);
X  		}
X  
X***************
X*** 672,678 ****
X  			if (t2[0]->t.op==CON && t2[-1]->t.op==CON) {
X  				acl.nextl--;
X  				t2--;
X! 				const(op, &t2[0]->c.value, t2[1]->c.value, d);
X  				t2[0]->t.type = d;
X  			} else if (t = lconst(op, t2[-1], t2[0])) {
X  				acl.nextl--;
X--- 676,682 ----
X  			if (t2[0]->t.op==CON && t2[-1]->t.op==CON) {
X  				acl.nextl--;
X  				t2--;
X! 				Xconst(op, &t2[0]->c.value, t2[1]->c.value, d);
X  				t2[0]->t.type = d;
X  			} else if (t = lconst(op, t2[-1], t2[0])) {
X  				acl.nextl--;
X***************
X*** 871,877 ****
X  		*np = *(np+1);
X  }
X  
X! const(op, vp, v, type)
X  register int *vp, v;
X  {
X  	switch (op) {
X--- 875,881 ----
X  		*np = *(np+1);
X  }
X  
X! Xconst(op, vp, v, type)
X  register int *vp, v;
X  {
X  	switch (op) {
X***************
X*** 967,973 ****
X  		*vp &= ~ v;
X  		return;
X  	}
X! 	error("C error: const");
X  }
X  
X  union tree *
X--- 971,977 ----
X  		*vp &= ~ v;
X  		return;
X  	}
X! 	error("C error: Xconst");
X  }
X  
X  union tree *
X*** ./usr/src/lib/ccom/c00.c.old	Fri Jan  5 22:12:17 1996
X--- ./usr/src/lib/ccom/c00.c	Tue Jan  7 13:21:32 2020
X***************
X*** 1,7 ****
X  /* C compiler
X   *
X-  *	2.1	(2.11BSD)	1996/01/04
X-  *
X   * Called from cc:
X   *   c0 source temp1 temp2 [ profileflag ]
X   * temp1 gets most of the intermediate code;
X--- 1,5 ----
X***************
X*** 8,13 ****
X--- 6,15 ----
X   * strings are put on temp2, which c1 reads after temp1.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)c00.c	2.2 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #include "c0.h"
X  
X  int	isn	= 1;
X***************
X*** 49,54 ****
X--- 51,61 ----
X  	"typedef",	TYPEDEF,
X  	"enum",		ENUM,
X  	"asm",		ASM,
X+ 
X+ 	/* new keywords */
X+ 	"const",	CONST,
X+ 	"volatile",	VOLATIL,
X+ 	"signed",	SIGNED,
X  	0,		0,
X  };
X  
X***************
X*** 63,69 ****
X  	register unsigned i;
X  	register struct kwtab *ip;
X  	char	buf1[BUFSIZ],
X! 		buf2[BUFSIZ];
X  
X  	if (argc>1 && strcmp(argv[1], "-u")==0) {
X  		argc--;
X--- 70,77 ----
X  	register unsigned i;
X  	register struct kwtab *ip;
X  	char	buf1[BUFSIZ],
X! 		buf2[BUFSIZ],
X! 		buf3[BUFSIZ];
X  
X  	if (argc>1 && strcmp(argv[1], "-u")==0) {
X  		argc--;
X***************
X*** 85,90 ****
X--- 93,99 ----
X  	}
X  	setbuf(stdout,buf2);	/* stdio sbrk problems */
X  	setbuf(sbufp, sbuf);
X+ 	protosetup(buf3);
X  	/*
X  	 * Overlays: allow an extra word on the stack for
X  	 * each stack from to store the overlay number.
X***************
X*** 235,241 ****
X--- 244,252 ----
X  			peekc = getchar();
X  		}
X  		if (peekc != '\n') {
X+ #ifdef notdef
X  			error("Illegal #");
X+ #endif
X  			while (getchar()!='\n' && eof==0)
X  				;
X  		}
X***************
X*** 299,304 ****
X--- 310,324 ----
X  		return(0);
X  
X  	case PERIOD:
X+ 		if ((c = getchar()) == '.') {
X+ 			if ((c = getchar()) == '.')
X+ 				return ELLIPS;
X+ 			error("Too many '.'");
X+ 		} else {
X+ 			ungetc(c, stdin);
X+ 			c = '.';
X+ 		}
X+ 		/* FALLTHROUGH */
X  	case DIGIT:
X  		peekc = c;
X  		return(getnum());
X***************
X*** 458,464 ****
X  		max = 10000;
X  	} else
X  		outcode("B", BDATA);
X! 	while ((c = mapch('"')) >= 0) {
X  		if (nchstr < max) {
X  			nchstr++;
X  			if (nchstr%15 == 0)
X--- 478,484 ----
X  		max = 10000;
X  	} else
X  		outcode("B", BDATA);
X! more:	while ((c = mapch('"')) >= 0) {
X  		if (nchstr < max) {
X  			nchstr++;
X  			if (nchstr%15 == 0)
X***************
X*** 466,471 ****
X--- 486,495 ----
X  			outcode("1N", c & 0377);
X  		}
X  	}
X+ 	if (nextchar() == '"') {
X+ 		peekc = 0;
X+ 		goto more;
X+ 	}
X  	if (nchstr < max) {
X  		nchstr++;
X  		outcode("10");
X***************
X*** 479,487 ****
X  	register int c;
X  
X  	nchstr = 1;
X! 	while ((c = mapch('"')) >= 0) {
X  		nchstr++;
X  	}
X  }
X  
X  /*
X--- 503,515 ----
X  	register int c;
X  
X  	nchstr = 1;
X! more:	while ((c = mapch('"')) >= 0) {
X  		nchstr++;
X  	}
X+ 	if (nextchar() == '"') {
X+ 		peekc = 0;
X+ 		goto more;
X+ 	}
X  }
X  
X  /*
X***************
X*** 615,623 ****
X--- 643,653 ----
X  		}
X  		if (cs->hclass==0 && cs->htype==0)
X  			if(nextchar()=='(') {
X+ 				static int pstore;
X  				/* set function */
X  				cs->hclass = EXTERN;
X  				cs->htype = FUNC;
X+ 				cs->hsubsp = &pstore;	/* no prototype */
X  			} else {
X  				cs->hclass = STATIC;
X  				error("%s undefined; func. %s", cs->name,
X*** ./usr/src/lib/ccom/Makefile.old	Sat Jul  3 23:33:33 1993
X--- ./usr/src/lib/ccom/Makefile	Tue Jan  7 13:08:55 2020
X***************
X*** 6,15 ****
X  LIB=/lib
X  
X  all: c0 c1 cvopt
X! c0: c00.o c01.o c02.o c03.o c04.o c05.o
X! 	${CC} ${LDC0FLAGS} ${CFLAGS} -o c0 c00.o c01.o c02.o c03.o c04.o c05.o
X  
X! c00.o c01.o c02.o c03.o c04.o c05.o: c0.h
X  
X  c1: c10.o c11.o c12.o c13.o table.o
X  	${CC} ${LDC1FLAGS} ${CFLAGS} -o c1 c10.o c11.o c12.o c13.o table.o
X--- 6,16 ----
X  LIB=/lib
X  
X  all: c0 c1 cvopt
X! c0: c00.o c01.o c02.o c03.o c04.o c05.o ansi.o
X! 	${CC} ${LDC0FLAGS} ${CFLAGS} -o c0 c00.o c01.o c02.o c03.o c04.o \
X! 	c05.o ansi.o
X  
X! c00.o c01.o c02.o c03.o c04.o c05.o ansi.o: c0.h
X  
X  c1: c10.o c11.o c12.o c13.o table.o
X  	${CC} ${LDC1FLAGS} ${CFLAGS} -o c1 c10.o c11.o c12.o c13.o table.o
X*** /dev/null	Tue Jan  7 16:13:07 2020
X--- ./usr/src/lib/ccom/ansi.c	Tue Jan  7 13:19:58 2020
X***************
X*** 0 ****
X--- 1,355 ----
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static	char	sccsid[] = "@(#)ansi.c	1.0 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X+ #include "c0.h"
X+ 
X+ #define ANSIDEBUG
X+ 
X+ /* Used in prototype storage */
X+ #define	ELLIPSIS	(PTR|AUTO)	/* impossible type */
X+ #define	PNULL		(PTR|REG)	/* impossible type */
X+ 
X+ #define ISPTR(t)	(((t) & XTYPE) == PTR)
X+ #define ISFTN(t)	(((t) & XTYPE) == FUNC)
X+ #define ISARY(t)	(((t) & XTYPE) == ARRAY)
X+ 
X+ static FILE *protofile;
X+ #define protopos(poff)	fseek(protofile, (long)poff, 0);
X+ #define	protoget()	getw(protofile)
X+ #define	protobase()	ftell(protofile)
X+ #define	pushproto(t)	putw(t, protofile)
X+ 
X+ #define	NCPROT	20 /* max number of args checked */
X+ /*
X+  * Check for (and declare) an ANSI-style function (or prototype).
X+  */
X+ ansidecl()
X+ {
X+ 	static struct nmlist argtype;
X+ 	register int s, pp;
X+ 	struct nmlist nm, nm2;
X+ 	struct tdim dim;
X+ 	int skw, t, i, rv;
X+ 	int prot[NCPROT];
X+ 
X+ 	if ((peeksym = s = symbol()) == RPARN)
X+ 		return 0;
X+ 
X+ 	/* identifier list? */
X+ 	if (s == NAME && csym->hclass != TYPEDEF) {
X+ 		declare(ARG1, &argtype, 0);
X+ 		peeksym = RPARN;
X+ 		return 0;
X+ 	}
X+ 	pp = 0;
X+ 
X+ 	/* special case: x(void); or x(void){ */
X+ 	if (s == KEYW && cval == VOID && nextchar() == ')') {
X+ 		peeksym = -1;
X+ 		fseek(protofile, (long)0, 2);
X+ 		rv = (int)protobase();
X+ 		goto ret;
X+ 	}
X+ 
X+ 	do {
X+ 		skw = ARG;
X+ 		if ((s = symbol()) == ELLIPS)
X+ 			break;
X+ 		peeksym = s;
X+ 
X+ 		memset(&nm, 0, sizeof(nm));
X+ 		memset(&nm2, 0, sizeof(nm2));
X+ 		if (getkeywords(&skw, &nm) == 0)
X+ 			error("prototype error");
X+ 		dim.rank = 0;
X+ 
X+ 		s = getype(&dim, &nm2);
X+ 		t = nm.htype & ~TYPE; /* s = t1, t = type */
X+ 		while (s & XTYPE) {
X+ 			t = t << TYLEN | (s & XTYPE);
X+ 			s >>= TYLEN;
X+ 		}
X+ 		t |= (nm.htype & TYPE);
X+ 		if (ISARY(t))
X+ 			t = t - ARRAY + PTR;
X+ 		if (pp < NCPROT)
X+ 			prot[pp++] = t;
X+ 		/*
X+ 		 * Declaration of functions are only when blklev == 1, 
X+ 		 * otherwise it's a prototype.
X+ 		 * For other declarations, fake an auto variable.
X+ 		 */
X+ 		if (blklev == 1 && defsym) {
X+ 			if (paraml==NULL)
X+ 				paraml = defsym;
X+ 			else
X+ 				parame->sparent = (union str *)defsym;
X+ 			parame = defsym;
X+ 
X+ 			defsym->hclass = skw;
X+ 			defsym->htype = t;
X+ 			if (dim.rank)
X+ 				defsym->hsubsp =
X+ 				    (int *)Dblock(dim.rank * sizeof(int));
X+ 			for (i = 0; i < dim.rank; i++)
X+ 				defsym->hsubsp[i] = dim.dimens[i];
X+ 			defsym->hstrp = nm.hstrp;
X+ 		} else if (defsym) { /* && blklev > 1 */
X+ 			if (defsym->hblklev == blklev)
X+ 				defsym->hclass = AUTO;
X+ 		}
X+ 		s = symbol();
X+ 	} while (s == COMMA);
X+ 
X+ 	fseek(protofile, (long)0, 2);
X+ 	rv = (int)protobase();
X+ 	for (t = 0; t < pp; t++)
X+ 		pushproto(prot[t]);
X+ 
X+ 	if (s == ELLIPS) {
X+ 		pushproto(ELLIPSIS);
X+ 	} else
X+ 		peeksym = s;
X+ 
X+ ret:	pushproto(PNULL);
X+ 
X+ 	/*
X+ 	 * Use the block end cleanup routines to remove unused variables.
X+ 	 */
X+ 	if (blklev > 1) {
X+ 		blkend();
X+ 		blklev++;
X+ 	}
X+ 	return rv;
X+ }
X+ 
X+ protosetup(buf)
X+ 	char *buf;
X+ {
X+ 	static char tbuf[] = "/tmp/proto.XXXXXX";
X+ 
X+ 	mktemp(tbuf);
X+ 	protofile = fopen(tbuf, "w+");
X+ 	setbuf(protofile, buf);
X+ 	unlink(tbuf);
X+ 	pushproto(0); /* not first entry */
X+ }
X+ 
X+ static int prv;
X+ 
X+ /*
X+  * check prototype against arguments.
X+  * return -1 on error, 0 on OK, 1 if ...
X+  */
X+ static union tree *
X+ cktypep(p)
X+ 	register union tree *p;
X+ {
X+ 	register t, u;
X+ 	int e;
X+ 
X+ 	if (prv)
X+ 		return p;
X+ 
X+ 	if ((t = protoget()) == ELLIPSIS) {
X+ 		prv = 1;	/* anything is accepted, check no more */
X+ 		return p;
X+ 	}
X+ 	if (t == (u = p->t.type))
X+ 		return p;	/* same type, correct */
X+ 
X+ 	e = nerror;
X+ 	*cp++ = block(ETYPE, t, 0, 0, 0, 0);
X+ 	*cp++ = p;
X+ 	build(CAST);
X+ 	p = *--cp;
X+ 	if (e == nerror) {
X+ 		if ((t == (PTR|VOID) && ISPTR(u)) ||
X+ 		    (ISPTR(t) && u == (PTR|VOID)))
X+ 			;
X+ 		else if (ISPTR(t) && ISPTR(u))
X+ 			werror("mixed pointer assignment");
X+ 		else if (ISPTR(t) && u == INT &&
X+ 		    p->t.op == CON && p->c.value == 0)
X+ 			;
X+ 		else if (ISPTR(t) || ISPTR(u))
X+ 			werror("illegal combination of pointer and integer");
X+ 	}
X+ 	return p;
X+ }
X+ 
X+ static union tree *
X+ pcheck(p)
X+ 	register union tree *p;
X+ {
X+ 
X+ 	if (p->t.op == COMMA) {
X+ 		p->t.tr1 = pcheck(p->t.tr1);
X+ 		p->t.tr2 = cktypep(p->t.tr2);
X+ 	} else
X+ 		p = cktypep(p);
X+ 	return p;
X+ }
X+ 
X+ union tree *
X+ protochk(poff, p)
X+ 	register union tree *p;
X+ {
X+ 	register i;
X+ 
X+ 	if (poff == 0)
X+ 		return p; /* no prototype */
X+ 	protopos(poff);
X+ 	if (p->t.op == NULLOP) { /* x(); */
X+ 		if (protoget() != PNULL)
X+ 			goto perr;
X+ 		return p;
X+ 	}
X+ 	prv = 0;
X+ 	p = pcheck(p);
X+ 	if (prv >= 0) {
X+ 		if (prv == 0 && (i = protoget()) != PNULL && i != ELLIPSIS)
X+ 			goto perr;
X+ 		return p;
X+ 	}
X+ 
X+ perr:	error("call do not match prototype");
X+ 	return p;
X+ }
X+ 
X+ /*
X+  * Check correctness of a function redeclaration.
X+  */
X+ declproto(sym, dim)
X+ 	struct nmlist *sym;
X+ 	struct tdim *dim;
X+ {
X+ 	register i;
X+ 	int prot[NCPROT];
X+ 
X+ 	if (dim->rank == 0 || dim->dimens[0] == 0)
X+ 		return; /* no new prototype */
X+ 	if (sym->hsubsp == NULL || sym->hsubsp[0] == 0) {
X+ 		/* prototype declared */
X+ 		sym->hsubsp = (int *)Dblock(dim->rank*sizeof(dim->rank));
X+ 		for (i = 0; i < dim->rank; i++)
X+ 			sym->hsubsp[i] = dim->dimens[i];
X+ 		return;
X+ 	}
X+ 	/* compare prototypes.  Only the first 20 */
X+ 	protopos(dim->dimens[0]);
X+ 	i = 0;
X+ 	do {
X+ 		prot[i++] = protoget();
X+ 	} while (i < NCPROT && prot[i-1] != PNULL);
X+ 	protopos(sym->hsubsp[0]);
X+ 	i = 0;
X+ 	do {
X+ 		if (prot[i++] != protoget()) {
X+ 			error("%s redeclared", sym->name);
X+ 			break;
X+ 		}
X+ 	} while (i < NCPROT && prot[i-1] != PNULL);
X+ }
X+ 
X+ /*
X+  * verify that an old-style function matches a previous prototype.
X+  */
X+ protokrchk(l)
X+ 	register struct nmlist *l;
X+ {
X+ 	register i, j;
X+ 	int prot[NCPROT];
X+ 
X+ 	if (l == NULL || funcsym->hsubsp == NULL || funcsym->hsubsp[0] == 0)
X+ 		return; /* no prototype */
X+ 	i = 0;
X+ 	while (l && i < NCPROT) {
X+ 		prot[i] = l->htype;
X+ 		if (ISARY(prot[i]))
X+ 			prot[i] = prot[i] - ARRAY + PTR;
X+ 		i++;
X+ 		l = &l->sparent->P;
X+ 	}
X+ 	if (i < NCPROT)
X+ 		prot[i] = PNULL;
X+ 
X+ 	protopos(funcsym->hsubsp[0]);
X+ 	i = 0;
X+ 	do {
X+ 		if ((j = protoget()) == ELLIPSIS)
X+ 			continue;
X+ 		if (prot[i++] != j) {
X+ 			error("%s prototype error", funcsym->name);
X+ 			break;
X+ 		}
X+ 	} while (i < NCPROT && prot[i-1] != PNULL);
X+ }
X+ 
X+ #ifdef ANSIDEBUG
X+ /*
X+  * output a nice description of the type of t
X+  */
X+ tprint(t)
X+ {
X+ 	char *s;
X+ 	static char * tnames[] = {
X+ 		"int",
X+ 		"char",
X+ 		"float",
X+ 		"double",
X+ 		"struct",
X+ 		"??? 5 ",
X+ 		"long",
X+ 		"unsigned",
X+ 		"uchar",
X+ 		"ulong",
X+ 		"void",
X+ 		"...",
X+ 		"??? 12 ",
X+ 		"??? 13 ",
X+ 		"PNULL",
X+ 		"??? 15 ",
X+ 		};
X+ 
X+ 	for(;; t = decref(t)) {
X+ 		if (ISPTR(t))
X+ 			s = "PTR ";
X+ 		else if (ISFTN(t))
X+ 			s = "FTN ";
X+ 		else if (ISARY(t))
X+ 			s = "ARY ";
X+ 		else {
X+ 			fprintf(stderr, "%s", tnames[t]);
X+ 			return;
X+ 		}
X+ 		fprintf(stderr, "%s", s);
X+ 	}
X+ }
X+ 
X+ prtp(p, t)
X+ 	char *p;
X+ {
X+ 	fprintf(stderr, "%s: ", p);
X+ 	tprint(t);
X+ 	fprintf(stderr, "\n");
X+ }
X+ 
X+ prsp(p, sp)
X+ 	char *p; struct nmlist *sp;
X+ {
X+ 	fprintf(stderr, "%s: nmlist %p\n", p, sp);
X+ 	if (sp == NULL)
X+ 		return;
X+ 	fprintf(stderr, "class %d flags %x type %x offset %d blklev %d name %s\n", sp->hclass, sp->hflag, sp->htype, sp->hoffset, sp->hblklev, sp->name);
X+ }
X+ 
X+ prpr(c, p)
X+ 	char *c;
X+ 	union tree *p;
X+ {
X+ 	fprintf(stderr, "%s %o) op %d type %x tr1 %o tr2 %o\n",
X+ 		c, p, p->t.op, p->t.type, p->t.tr1, p->t.tr2);
X+ }
X+ #endif
X*** ./VERSION.old	Sat Jan  4 07:51:14 2020
X--- ./VERSION	Tue Jan  7 13:55:41 2020
X***************
X*** 1,5 ****
X! Current Patch Level: 459
X! Date: January 4, 2020
X  
X  2.11 BSD
X  ============
X--- 1,5 ----
X! Current Patch Level: 460
X! Date: January 7, 2020
X  
X  2.11 BSD
X  ============
SHAR_EOF
fi
if test -f 'cpp.tar.Z.uu'
then
	echo shar: "will not over-write existing file 'cpp.tar.Z.uu'"
else
sed 's/^X//' << \SHAR_EOF > 'cpp.tar.Z.uu'
Xbegin 644 cpp.tar.Z
XM'YV,=>;(>2%PS`LV:<2\&`,'S@L`$"-*G$BQHL6+&#-JI`BBXXT:-4``Z$@2
XMADB2'4V.1,G29(P9-F#4B&$C!@P8-DC:V&ECY,:?0(,*'4JTJ-&C2),J7<JT
XM:=.``PL>3+BPX8LF8=:4,9.&31FG8(7JI$'C)$J5+<VR!%&#ADN8,FG"N#%C
XM1D>;;F'X#,NWK]^_@`,+'DQX1`*L6KEZ32##!8P$*!K'B"%D"I$4(&3`T/PB
XMQHL;"D8H"`TBC1D0;<*,09/&31D0:,+,`3&G#)PP<L+0>9WD!1$%4XI`,<(D
XMR)$>+=(HL-($RI$I('J`H$FZ#)O:I)D0(6X<>@_2S)U[!T&CNALRID</X?X<
XM^1,0+8@P22*$N1'X25S`)^(D?'L2>_@W11^C,00'"#HD8*`+;X#`T!@,@D#'
XM&UJYP:`""9"`PA!#8*;A>L4]YR$*P0T7(F8M-&B@@PU%^&"$$U8880MLV-&&
XM&05Z%88;"&(H1QOPG::"BPV-UMH<=(3!!AL(L@@'AD<FN21\L[4`Y$<AI0B"
XM'&^\00=\9X!P!QIE6.<D"!H24<045!"1A!0I3"6&`H35:6=@4!$DAT$(*61@
XM51".<2=@8Y6U4DEJI93H733(4--T<,T44PPTV.71#9/M->BFG';JZ:>@*O6"
XM"FN1D`09.K`8*`MV3.<"#IG!0-,+,.!`*ZPTZ3`##CK(D,.689QQQFM%X'$@
XM"6NI\,)H(YB60`AD;-5:&62@@)`;=&!F@@D@1,N5:]42\<04'$Z1@@)(ZI;&
XM&`K&)D<"<XPQQAQID+%%%]&!(`(0*(R0PHOLQN`8")&Y,%EEE\7*F6<WB+!#
XM:&6<EYX"HRH``JE#O`%''G*D<08:7Z(P!F::40I"$.>5(<=L6)WA1D!SO,$C
XM"KD)6P80;-1!!ADNY$P'&B[4EH(+%I,:Q)0=?TS';'*449L<=E!+],5%@R`%
XMM6D@V;$8=="1ALP@[$@&"`&]UAIM;]2QYVMB@R!&:[CE`8(9;_PX!PMBIO$S
XM"'7G_7/:=%3=QAOH<36&NC+CC=MK<*C<AMZ[C0T'EW;42ZV$L7WY\VMT+_G&
XM':V%.8;,Z'DM\QQ5+XY:&73H4+7`5F.M=4)=?^W&;&^<%K/:8[PV>K2H!?1E
XMTTF>O7G88KP1M8,:<^PQR%63Y(:7ZY:!]\]9@X`0DGR?-KK$IM\>]GF8<_Z&
XMYZ"[$29Z\;(11AIMJ#PUJ8W%SCX=6]=^>FD\ONU&W'.K&Y#:(+PMV89+9*A#
XM[\J'/.7YKGE)@][%4#(]K_7N>JR9S?:^E#OF@<]VLVG;\3K'AL^%KEM9&X/[
XMX*<R_I4O>ATAPQO&4(?X80MQ/!+;"_KF)3+)`36Z45D:E#2;R2G/<F,#W=Z.
XM=[_\A6]^5:,"$I(`G2D\P0A4N$(0I%`$$%`1!%"0PA.LD`0U$0$$0L@""*38
XMQ2!408I/D`((P`"&($"'BB<XP<F<<,8@.$&-1<!"&-<$G3A6+0G-F4\1SJA%
XM*4C!CU1(PIKPE@0G#($)57"3$XZ`-R&\$01.>`(50#"?)B2!"HM<XQ/PQD8O
XM)E*2C-SB(YT0R355[8H@:$(1I#`$)$`R"$)(PGRHH$8_GM$(IW0"(4%@A#B>
XM#(Q;C.00JE`<.4*A"E*`PKC:R$40N(E<Q4'D(N?G12>`\CU%L$(1:`F"*?B2
XM"4Q8(Q+:^$8D.%,(79P/,)G0Q6;*T8]J=!,7AT`%2O+Q344@*`L.:<DRKI,*
XM06`"WJ8`A80F(:)X"V01$KG%+.#-F4-X@A."$X4J//2B\21"$)I@G#41K)*7
XMS&0E.8G&-U8ME*,LY2E32855@E&,T^2B+MF)RRE4H3*1I,(;NWB$)SR!"(64
XM8W"D0,8AK&D'I!Q7(>]3A>`L=((JA>A'K2E&9%)A"EB]9U<KN<Q*HM*158!"
XM)$6*&7M>(9V[!,$0W!B</O(1!"+=8Q:B.,\XJA&7^@SF,#T*@BO,DXURK*1>
XM14J%1RJTG95-`D%)>5'%GI*QSNRI%*A0-13`%).:/`(HBW"$^1QAG58%K!Q%
XM.4\I7(&*1<#,%JDXTW(*MK%!..PG<=G*KG;QBH3]HA6QV,@B9%2=YDS"?8)`
XM!#+V%;#W::4VIS`%^@CSL]AM9Q5ZZ<V5MG1^RZ*8"JHVA=0@K0PT7%D:EG>;
XME;60;C]LENZ2M!L;+@V]S&J-"G7V&A$L"`TB&$VZ+,B_+XTA1@]3`!WRT#AO
XMT09_"OP2^?CX,*UE&`3DRT,>IA>M"-OA#?4"01Q*J#$4G#C%*%"!&>K@AA2@
XMX*\J2`'><.R&&."M-5\*`PQ^C*VP^;C!89,!D8,\@Q0\[,5CFP,:S$`'%Z.8
XM#$Y6`)!!(.+ZUL;*]<HRE$%0!F/)X<9G5$&/Q7QE,L=A=&Q`\\76_.0VEZ%N
XM=9.SFF/`YA2706QBTS.=%3#F,N>9QWRNLY\#C>@^CZT,<7"-H!--:#L/J\J-
XM5O2CV;"R23N:S'!@P^/<X&E-D[D-9+!#J2OMY]W\:-6%MH.24+!EC>TXS3V^
XM]9QED.710!E=4ZXRE,^U!PP]F$+Y$K%7\(""+!-(R]A20)=Q\^5A*Z#8"?AK
XMCR,,KV`W^V$)*//D4&""02?`-`3K,8,.U`/IP.!<"0BW'+AT9A&@IW+T`IL8
XMY*8'E;U!!%D^]VE$%B,0A$`ZC70"O.5-;Q2(0`TT7D/8J-Q"<3=M#OEV`\#!
XM33RUS0S(*5#W>;X@:S8\[-D5FV`92EZ'((:->6T(->L8US0C]@[C?=,OF<WL
XMM(P#^-<6]_2U,81?@NU@!YC!=KC??#X4F%O@!#NVQ`\.@A.PX`0+3T#'Y>`&
XM<'>;RM_&$(%0OEZ5L]SE/TC5]TIG.R+^_,H*@#2<A8YM;2L9Q#/@]IT;;FYT
XM$QS95#_!#[".(:VSSN/<EC+8`Q[T<O,:W'Z7NL&E<P(=$#[>*FNX"*;7)+K1
XMF`P;QY#BJ\QXIL>YW$V&_,![W`(?C+SDF"D\ZUU/!I(K*5]N:,SKE82WV6L,
XM]XW1&+BM@YUXSW[W3)*.&V;@`N3W/@:M_[WRF2]\!3P;Z'@^<Z.'GH`5=PD.
XM*/CS><3V_+'&$6]#!D'ZWWUR7\-=_&1@-*[YS'WOM]C0<BC_'E7*1_3[7_W.
XMYG[U$G=X<&CS1VP88G_@!W_Z=P)\8'55YP40N'X!R&ID$'?R-V?TAVT*&'Z1
XM9CT@=F0G8`(3^'_L9WT">(&0)FG;QX$LMH"7IG]%$`4[YESJAWX5"'271G<)
XM^(+AQVEW$X)X<P(\`($GX`,0R$]X\UHY^'Y`R(/=YX.V(6JMH7],,`5X(P58
XM>(,`V'X6&'>A-FI0V(%E@&IVT(`K8(0M4()=B()?6(:I-H92Z&IMT(`J8(0O
XM8(0E,($5F'*DP@3?)R$-LG)*TG*[$393HC$JHQMU@SL\<CQS$`;Q`P*3`U_4
XM$C$+Y!51PP9O-X`=.&8Q-F,UIF<Z!DKSMV1ADWY;%@9'MHIWMXI-QGUVQW%E
XM<`99XVI(5GU$1V-.1VD),"9=\1I_)W'MEHH@P`=\X"`%5XRL>(S)*'G,*`/.
XMJ(S(QHQ-!@)*)WW4N`9>-WIA%V^B2&ZY%W#A5G(H8&M""`*.%W!CIV#\M2X@
XM\&LN4T.T5F1OH&M[AH`)X'OLQF4C1CAEL&[@=GRU5W+)]H_1TGP%J23@YHU]
XM6':D@@3/XS1?4HF]$RUNL$"*F!L3LC(@L`(@5D-"-`82XCAP<QV=J()T2#.U
XM>(LMU((^TI)(TD*UEB]2EWA*M!H$\P9)9VRR\1HGX`>5YY.U474A,)0*\I-5
XMEX:NDY1%>0)KV)1?1WI>-W.O]G2$&&?WF(XG&&]BT#19P6V'4Y1.4`5-@$]2
XMT)1C^1I54)9GN4M2.8]M<([/1XY?^6?<.!I."90H@)13^8WA9F:]2(Z1MXR4
XMEP)8AXV%]Y?DF`!W&9:%1R#Q-BK,%%%,($5B5`5'@`07LRP)X"UA4`=LT#J%
XMEWEY)@)B$`9C0X<G23`E@&4B@#<\Z76/F9<)T([J535:81N(R"0O$S\=0Y)9
XM:8BV`QLJ$Y!5,YQ!-#8L]QI;!RXNI&Y%LRQ`9XY-8XLS^4.U!@=X<YTN^4.(
XMUITRB8L\QFM#!R4#=X[L1GEY.(W21WE[J"W<DGNMAWS1X6X+QX_Y`@/<YG?Z
XM68SO5GC/B564>6]NPV_^QC\G5B.7HRQZ29DT!D`:,QL."G5.)XT`VI/Q-@<Y
XMB08["0<:NI=+67EN`Y:V*:)02:($:7O)!Q\K6G)859M>MY95)Y2I\J*W)QU^
XM@*,F5Z)X.:-*>0)'>:/01WLLFB\AP*-8]9^@9)9H&:,FZG62:7AT@'AB!P)Z
XMZ7?O*5O.M"TA6)\+R08ARJ/Y<F1,ZI9/*J"'QW7@)IE:NI[[9TSJ.)]%:I\9
XMJIC&5Z3:B*:[Y'4#*G99NGHR$'UP^FYXNH]ZVH_\J:95RJ:`BI[I-J@^L*5M
XMZ:2[E)^)FB^5^I92@)-ZHY/JJ:$T&D=Q))7^*:G(EW5D*ATQX'5G:JF=6G@R
XM2I2O84S&))6K"F*H&J:3IWZNFJG2P:>QZI512JLC2J1@>J0KH'R[RJ)0^J/&
XMFJ+(:J0&V0+,FJPPZJ.0B:(/.*WVR0?72JT,J:VV2:,G(('>RJM>$*[(]ZS;
XM:JXDF*Y':@+L&J;N6JY*>87R:I`\P`/UZJSD"FXT.H/[FJ-?*J[)]Z_9^JJ<
XM>J\"JY3*5+`M2J941Y\(NZ3`VJ0-&["/:J'_&:RP&J(<^JD>&JJ':JYW*+$7
XMH[#C.JOQ9JYYJ+(OP+(]ZK(HNH<J6P(TZ["%9ZY%J++*5Z>\R@.ZBJTM6ZPO
XM&Z1("+0':Y\^4+07R[%)6Y3\Q+1DZJ]0VZY2*Z*O9;5">Z0^L+-;2Z-:J+(^
XM$+99:Z];*YE]0&;7\1J42:G"VIF'.K)T`*H:$Z(HJZ)?6P<&J0+_ZK='"ZU3
XM"Y0QV[2U)[A,,K-I^P6*R[.%6W4XB[B.:Y`ZV[B/.[9!^K.4J[BXU[?\BKG9
XM:K/FNK2=:Y!!FZR>^[06.W*92[KY6@3RZKFI:Z2>B[6MF[BCB[1<*[NG:[`K
XMNKJ!N[N$*Z)E^[M,<K;#.[C;>IN`2B!]*K4T&K&4B[K5>WL5VZP+F['""KG/
XMYK'`"K*<*K(=^J%Z&Z0I>[U,`KB-2[S-"[-\:[2+*[:P^Y232Z:7F[L`6[]`
XMR;FY>K7MR[PG6KI\FR=2T2=5X1`+$@.ATA2%LBAH<1:+,AV50A:0$A.2`@,T
XM8`/2Z!$V4`,RH"D-/,(D7,(F?,)+X0)<(`(9<BIJUR(^UBH"$P,W$"LO02LR
XM\`*.,ATYT"LWH"NP$FH1)S?%<BP*H,()AL0)L"_]\B\PG``"8Q(%<S"603*;
XM`0.=\1D.<\0KS,4BH%<0]#PA,S*Q,A<@H`3'V09R,P3Z<367PP--0RU`$,=D
XM$#_H$0;-QSH^X,5>#$8FB7'%.2%D4QMX,SH;@S>#4SAYH#CGL4,_U$2T<XC8
XM,QLQ0V5WH#I%MR-YT,=PH#9P\`9%J40>VC>B##AS4R:E,1L^5`;[!@)GD!O8
XM0BUX8T25$RVKF3D,%`;)$S5];,C.HS0@1CT+)$(91(E_G''!;$%LTQ!_IITY
XM-"6&G`9.0S1(W,>MM%Q9M$5=]$5A-$8.=48B8$=>-`5?+*>MY$9P]$]_%5*T
XM)`7T\49Q!!W?=$E!@$A];)G`Y4B0)$G0<5M29#6LM45GU%/RI%Q7E,W==%HR
XMM4DG`T^N!`6*]!M(G,^S5$M;E4N[U$N_Y%G$M'_,E$R$I!^2%4H@@%?LY$[X
XMC,[VI,X2O<*3U<[O+%K0@4^<M4_]Y$P`U4X5-00HA3<"E5`%54X_?5D@)5(D
XM95*TA%)]K%(L]5I1]5M,W5+][$MG]01X)4=<9%27V5M&($9-D%7<%5[&Y=-!
XM`%&RU<?=;%9;Z%A%`%F^Y4<G0U!)$%BXQ,Z5%027I4RME02O94G'-5MN+5IS
XMU57W+-<BA3>[U5T,_03#=1_.)%GLK$R&;4[^S)G%%1RR!4:[Y$\LY=?89<U3
XM5$4'W5S4W,4N0`1C8P2L+`<M)P=RXRAX4S(S<,1$\"5#``50,!U'_`2HXP)3
XMX*%.L%)%<,1.`"0&0MQC,P246'-<<G,Q(P='_-OME`6A!`7=-07$W0:[?2!&
XMP"1XO5%00`=68`?;S4Q,TD<_E!ICP"6@-!M/T"#!.AM!\$/-"5AC4-[=W2TG
XM\T-FX#YGT-M/P-U,D@3[38FZ@0;XS21I4."*408)WDX%?AL_\^!54.#JS27E
XM/=_\T^#'"!\9_D.`T^#1[:%J0B[N+%=S[00*0`5DDMT*4#L(,6&I_'(7WB"5
XM:',]US=E,S:MO#E'C`4_!`?RHMNC$W/!*`=$DP1?DCVIT1IL(#<[+HC\,V#`
XM0R:J>5_!>#<$>!OD4^/=(BUNH#<@M%#L<SAR,#9%[E]:WC:-(P?X9=RD(^8R
XM<WM%#@==@4/47-Q:-AMWT#%TL!N/J")O$'-/[C<>ZN.^_27)$3-#T`(YD`/H
XMTCAC8!KK@N='#`5/PN(.[@(:WAHBWAJ=_"4<GCT:$SY*DN2G44'+?42VS#<_
XM-$+!"&*2:#:]'05QX.$H$']2IF,N#I9D,!MZ`^QA[C6WQ^%FP"5`DB[C=^;\
XM$^I$H^E'K.$A'HP*`#BA/C>QGCU$U""EWG9L@#>BS#==<^U]#CD1(^7*'G]G
XM7NWCWC6ED>I>LNJU+#67GNEDPC=P$#XAU#1A,QLD]#ESX#HN(`1,T@))$B8M
XM`#IDL#=$T-M*;MXGHP!&T#>R41MM(`9>(0<)KS=HT`(K`NI=DRKX\V<:)C,M
XM@!Y-\V#S]1K7XC07AAM>HSX*$.YA``(CT.\PI^;4_/#Y/00*0`0-HNIECAMH
XM/N@Z?\0\?]X6KAKL[03N#=_M7>#U_03W/01@>8@U[^7>TAIRWC];43<T-T,]
XM=T*:W.Q=HSC`?AIA<,1,\"2GS20CL/6NL?3KW2`:WIQL_R0H#U]>LSRQ,39A
XMP,R+,S;&<^^[LS:H'NWT78@.GCVJ7AL<](CWGN9B0R/3@D'G7O/UW4$Q,.,[
XMOO-?DM]CH^']'2RHTP2$8QIR8^WNKAJC<^8G-"&*/S?^/1L+!8PZ>3A>_W(;
XMU#T.XBZJ@8NE_]_/?N__GCYA,OS[[CMJTS384NAS4`<-43>1(_`$#Q\'#Q\*
XMOS<BX-MRTP1)_/!3\/T_'_3QCN,8-SYR`_)T@#=<PT'M'F3:<XO=0]NW'O=@
XM[N`+5H81LS0!]$-*PB1R?SDUCCN;\^JQT3]UT!4Q#T1UW]M0<.NU\1IB8!V?
XM`P+47`1LD/<*4/81-SUWP"/*'S;\[C'3TS0\@_2ASR3#C?J*S$!EIC?,$RT_
XM=AJ;P^]W<)SJ+R:X$>;J,P>@#_$$KN$2CN!!L#.S+^$(+LC'T_L=M/?'UC$N
XM7QNXL1J7T^,M?MKW+V`Y$RT*L/<J'S7%S^1A(#=B\!I1+L@.-&^60QMY,)-`
XM(F`Y`SQ[?VP=XS27?NNU\1KY#1U.P.WY7IS4G-])H`"I(3=B\!IS(.F4?CD$
XM-)II(',2PD(A1#[90T,$Y#Y]CYPND/2EP>#4G@09F3/`4_,<+@9?S^_H3R_J
XMH_YFW_XXCVYK[P)M3]MP+V`Y`SQ18/?\'>M1<-\NT/8*L/<J[_>J&3:"WS2$
XM+_FO<?B]0\WYK1RI(3=B\!IS(.F4?CD$-)II(',2PD*S(<@"EC/`4QM1DQM,
XMTN!S`/H0WP0*D`2WLQNJZ?M&E$"3KCXOA_ZUD=S,`SP-+IOQS_NW6.VG$2V-
XMDS(9*<W^7C<_GMY9\1J=3^:L\S[7$B:P[A6S\3.Z`6)ELIH-(@9A[]R7,R;G
XM7N==$3H2=N_L#_H0#P4*D`1NP!IO\R7#XAH<69P=U/)`)`=:L3+ZL4;%G#TQ
XM$S]>$S^S438SQB1C$C$*P-IN$.;JPT`WWMPY#N(\$C/Q@SWJPS>;\^JQP2/*
XM_3O(Z0))#^$:+N$('@0[,_L2CN""?#R]WT%SD`<S"21[?VP=X_*U@1NK<3D]
XMWN*G??\"EC/1H@![K_)14_R;GM_8W>U@DQIR(P:O,0>23NF70T"CF08R)R$L
XM%$+DDSTT1$#NT_?(Z0))+R$KGAML-^=,LB)S,&))@@=$`_3)_.7?\AJ(3@2M
XM\@5?$$FZ]`5?``(+==JM\@5?$%9%\`5?``(+==JM\@5?P"9$,`1?\`4@L%!B
XM0]NM\@5?P"9$,`1?H$Y:F.)?\`4*4.-S`/H07^$:7N,*4`4I\RUL`T1U[S9?
XMS^_H3R_JH_YFW_XXCVYK[P)M3]MP_WE;0?<8[@)MKP![K_)^KYIA(_A-0_B2
XM_QJ'WSN@#_%6L!PJDSQ%&2U<(RPGQ/IT0,WY;04*H/MNXYRV0?*74W2O3/(M
XM%"W%PXF7_@8K7LRD[@:%'@:R=N<8;S:G@>AZ;D2O+(EB(AMN4P==\26B3-NM
XM`@4<\@5JXDE'H`!R+\MBPAHZF3U,M!6A.9J73I*@#_'D3019$VIA(#=1(U\R
XM0\U%P`;UON(M[@+Y?48+Y0+YK1QB<\3Y7075GN\@%#;\COZU0?B2_QIU$RVO
XMCLN;(S>!WSBXP3>2_T!MD!KGH0`M[_Y?S^]ES_XS[NMNT_H4]^J3;_1MT_+X
XMKN\*$!O+(P9EPB/QLB/@0LV8+O%9;D!F<)P9>3D]WN*G??\"EC/1H@![K_++
XM(QM';.L@X`(NH!\+A<EIL#)?PF):,39%5_C,/V_]CT(IWY&+7#XY5$0J$^VW
XM[@(N0#0-'H2X[Z&8G`8K\R4LIA5C4W2%S_+TGSL*L/?'UC$N3\M(=*#J?\3Y
XMG035GN]C7CX\4O@L3_\=-`=Y,)-`LO?'UC$N3\M(=*#J?\3YC=W=?CI$XP1>
XM\AH_HQLN+D,N+_3YK_Y3GC/`L_?'UC$NW\J@*9IT@%7H-CU'G-])4.W0[0+Y
XMC=W=OC^J8XM1XP:8SR,R4^C'$U_._R5[?VRNG3=3(@;ZW\RK<3EMPWESD`<S
XM"20-SN==P21B8#Z?1\U3,!M"4`==$?.YQ/2@K`!!<,IW`$1UO_P-IC*5&#G\
XM0R_`@^C%[20*8$2O+(G67_!W?`9(_R5?\`5A501?\`4*4,1B,QN"7/-Q4`=>
XM<CFSHS[S[VIT+C/%$^;JPT#Q=XB%;SX_<L2VGDMM`"0[XX\B!@*WO\H,]#_Q
XM@SNG<3R#@RUHL/P,%(F3*!N8`\JO,2RNP9&7T^,M[@)`WN\J/XFS+8HJGSCC
XM<\N<DP8KXV#`_V`MU$$[,^,U/P>WL4"K@1O!3Y,X<CSUG3U>D?X_LR/3`0.@
XM#P)?\`7(Q$]?\`4*4,1B,QN"7/-Q4`=><CFSHS[S[VIT+C/%$^;JPT"5&/UV
XM+.N3F#L2-OG-W_]HPSN<$XQ$<P5DPB.^?D*'OT#'/N@OO^R$[P:A_F-?(FYB
XM,QNR[P*V?C*WCB3HP2.@#P)?\`7SH4Q?\`4*4,1B,QN"O",-5HLM]#W*/CP'
XMY#3]'_OW7HG1;\?S/_>_*08J4^VG`8EILS;S/_??4SQAKCX,5..@#P)?\`5L
XM0@1#\`5?H`!%+#:S(<C'`V2UV$+?H^R!<]JWWOD+%3\[$ONX?#QU?N0>].:S
XM(?N)#A]9\P;*#?H@\`5?P"9$,`1?H$Y:F.)?\`4*4,1B,QN"?#Q`5HLM]#W*
XM'CBG?>LQ\.@Y("OQM%"M@1Z'$_-A\C.ZX>+?\^:S(?N)#A]9\P:-_N@@`/H@
XM\`5?$$FZ]`5?H`!%+#:S(<@U'P=UX"67,SOJ,_^N1N<R4SQAKCX,Y#636/CF
XM\R-';.NP@08ZT`9MH`,8IP"RX<H1LXB1<Z`OY`)`WN\J/XFS+8HJ+S/47`1L
XM4.\*<#0Q0QNHC.CY'3C=+C/4+-V!=$J85=:$#>TNH.<PKC=R4V;!;NA\,_<=
XM-$+G4T+('X^,'_!Y?\37;_#!HOWUPO!5DCMF`/G\@Y&*7N?!C_1?`@/`H4#.
XM/6-+(C??DC5DPC-(_R4QH``H0V;SQD/RTOST[@(/+P,KWN(ND-_#W>U@<\FS
XM88M1XP:,G$2X$>;JP^?'F<K13^\N4`1L,.+M5`1M=(5/\.,_)!O3`0(+Y0)`
XM[B!%/AT@L%`N`.1`I!73`0(+Y0)`3HE#WOD+Y0)`WN\J/XFS[=L>&MJB-5C0
XM[@)Z3OGD4^0N?^R#SD!UXS&M"074K\M>H5=@;.09?Z#1SB,B,`7ZP<9G_`9H
XM<#LR\\6W[^>`[D+'XSZ'>`,P<`)S4/P/!#QUXS%PLQO^CNP,9`4Y<>/-G>,_
XM%.XQ,XFJR7:GHP#'/N@@8`4UO")MLR/TLA"/3AO2_\ER0`?4C.D*$`3:$^\=
XM=#Q0P"',`SR7S#1E4.Y_?N[[%NT\$LXIXY$M\S(XIW$@0,V8ON+%;$0)]&!3
XMGC/10LFY0P>7S._1LHF*.#8\=`?0V<I#H"31DAL*D`2QS'4XQ'M>E)%$$S\[
XM$ONX?#QU?N0>].:S(?N)#A]9\P;*#?H@\`5?P"9$,`1?H$Y:F.)?\`4*4,1B
XM,QN"?#Q`5HLM]#W*'CBG?>LQ\.@Y("OQM%"M@1Z'$_-A\C.ZX>+?\^:S(?N)
XM#A]9\P:-_N@@`/H@\`5?$$FZ]`5?H`!%+#:S(<@U'P=UX"67,SOJ,_^N1N<R
XM4SQAKCX,Y#636/CF\R-';.NP@08ZT`9MH`,8IP"RX<H1LXB1<Z`OY`)`WN\T
XM)!!ZPB=4\2<+(B@H7!0/?"B*<BB*<BAW40,SL,'2^!(8+!<R4`,Y<2D<+,(H
XMC,(HC,(HC,(2,2HMC"I.X@)CP"JN,@.38<,YT!DY;#(Q4`,Z$`,RH`,@#"PV
XM4]+&@B8)X*"AX2S0DO_5<BW9,J=?_BW4@@+B0BY#8"[H\H[LLAJX`2_R0B_V
XM@B_2P<3^LB`!,S!33!E5K#!8S#!;/`(14SBCX8=@O#$1-,96K,$L4#(F@3+1
XMXI$M\S(X-S,U,RPXHS,\XS-`(S3D=#1,$D'^?W$J$S4\4S15<S60_/[%V39E
XMXT*'/\SDXS\`].9!&.ZDS/&`(SBI;S@XI#C\WN:/\^>70\M(A#FZP4#'?T)K
XMU_6H,T&J$S^D.4&P<S60_/X@Y/N'OT"_\QH$Q#W$\SZ2SS:[_$`;$T&!,T'2
XM(\P@.,GSSST=M'9='T+D,T+G4T+(CT+M\S[`24[U<S60_/X@Y$+^`T!O'CS<
XMP]R$HT"O<3RZ[$#,LS$1%#@3)#W"#(*3//_<TT%KU_4A1#XC=#XEA/PHU#[O
XM`YPNY.,31!(R1$/^A4/C0P:.S#>;D]Y!U#%$).](9.@,!,GO;SM0-$%29-#,
XMI<WC_%/>;$9HI$;G7$_.1$?BC$=Z)*<Y'4B#%-:&-$&(!-&P1-'[/$GE%%.I
XMU4F?A%.<94JH--`^U4J(!-&P1-'[;$L3A$NZQ$N^1$O`]%T=+:=FI4QA[4_/
XM!`71I%G4M$5@A$W;Q4U=-,_AI$M$0$XCC4[0-4HH[=#G7$_WE$^=Q4_,A--_
XMY$T(=5F5--0%Q5`\K2:TA%$Z;5$85=)8`-[5!%IRQ,Y'?5(155Y-[5*F94FH
XM-5.=9%,3A%.<94JH--`^U<U!M5$/%5Y&A52GM%0@T%1/]=135557!=87/=95
XM$U9!,%8_=46GA%:9[4F*W5:TM$M2$%=SI7`@8%=7K5=\E4IR&E@`15A%8%CA
XME5C?14QXP]9N#=F495E!S2;NO%F)]5W$-%:J-%JEI="IM5I[W=>QY4RTM4NW
XM%1RZY<Z*K5J2E=-:)%RC1%SS!`+&]=D3)$4&S5S:_%SKY$7355VX=4;$-4]@
XMI%7>M5CA953D%=6O!6"Y.4&:KE?+?4!BCW-('D7%_#NO43<>`S>[X>_(SD!6
XMD!,WWMPY_D/A'C.3J)IL=SI5<^R##@)64,,&PLB`_R7NPST[0B\+\>BT(?V?
XM+`=T`$43E``M``)K\"W5@AGB)C:S<3SL[S9U8`9FT$(R(\@[(NYT<.U<8P9F
XM(#]%DP`ML'/U=0;-MG-</C8R\QI<8P9F0)/8TB`[TD/R4S3Q=C7Q51O"+LC1
XM+P;JW6S_/S<T9OE:`41U/P?SDP`M0!MU(`;JW6P&%&JJX?+'8XM1PR,U/C_Q
XM=C7Q51O"+LC1GYIR<`;-]O]S0V.6KQ5`5/=S,#\)T`*T40>I*0=GT&P[Q^6_
XM/C<T9OE:`41U/P?S$V]63_*O,3OJ$X3?<SC^CQO_+9[Q51O"+LCBAAMG`&"A
XM(6`Y`SP\,`=Y,`<O,&&-,P<N@`9[W"P9F3/`PP-SD`=S0!#\Y0)HL,?-DI$Y
XM`SP\,`=Y,`<OT.`N@`9['!H"EC/`PP-F,`;/[P)HL,?-DI$Y`SP\0&.WR#-H
XML,?-DI$Y`SP\@"3H\08N@`9[W"P9F3/`PP-(HNYGX`)HL,?-DI$Y`SP\@"1D
XMT"<N@`9[W"P9F3/`PP.SHSXN@`9[W"P9F3/`PP->$S\N@`9['!H"EC/`8V`M
XM@F#,(O=ED`#JI(5L(D<B``74K\M>H5=@;.09[RJ-`0.GC5?Q5#(Y``,S(`,-
XM$V!FD#*G,05?0$4"%1IR_QI3\`54)%`HT`8I`!DH@`)MH"WM]`72U014@!G%
XM.`5?(%T"=2XC$#&%,QI^B$9U8`9FH#*SL>.N<S$)T`([Q^7(S#5F8`8J,QLH
XM(`2A)`4LQ03G<C$)T`(7UC'JXS9U8`9FH#*S@0)1+LA(`O9`5/=S<"Z=Z8[J
XM0I)`IB!I$\OYAT+18BQB\S"4J=R43SX."FV:,_P[D`"4B3^JV?5TWA"T,6))
XM@@>=&1JF86%0P"%?H":>=`30]B5D,/P[D``%RLIU$":3`V2`0Z'+LF#P.&:3
XMT_(B<SI?$A`ZJ0)SD&4+!H]C-CDUAP)M8`<3!J(/@__?4@8)0`1AY%8H@`>8
XMX7=D,/R8,3E`=AIX`#%O&QIR_QI$$$9NA0)X<"XC$#&%$QIR7P8)<$T])03G
XM*`:%C`:8<8YBT'H,@3_WR3=BT'IB,`=Z``(_``)<@"$H$.IO(`;G*`:%C`:E
XMR&=-<HYBT'I<8P9;\`9BT'H,@3\KL`+X(AVKD0+G@B[O2));=HL3]C!;%@3#
XMCS=#,/P9-?QXTP3#CS=DT`3#CS=0,/QXTQS#CS=-T`1$,/P/LQJX<3%-T.!X
XMHP+-T>`/LQJX<3%-@`<-_C!;=LE<%SI!V`1XX!5N@#=SL`:??`=ST&'O2)(!
XMH9-=PS5FL`6W#06>9`1=T&$8]F"E\09<<QIP(`8@0)G2L0=D0P=<8P;_=]M0
XMX$E&\']'YDE4X$GWT;;*`@(=]HXD.6;JK34B<SI?$A`ZJ0)SD&4Z-Q_UT01&
XM@"X8]F#Q.`>WL4`),0="CLBJ,0="_C!;Q@9CL`;JS35FT&$8]F#Q6!MAH@+J
XM;0>U<08/,P(14SBCX8=`Q!#X,^,[$C;S%@:K[SWN0HDH%LL>671(`O9C4^-S
XM0$[J_<G`/AO'$U_._R68")"2`\I=3TYNH-[Y_D.J<_,=I"0E=#B1XS9U8`9F
XMH#*4W"!F@!L`IG/S41]-<!\`J@"K@1L7HP+JG>]R\#!;Y@;JG>]R\#`C$#&%
XMHP!M8`<3=B#J_<ES$&&4*6`Y`SPH3Z'+XF$/-N6S@6T>]F!33J&N@0=T`&X!
XMH9,J@/+@%BUV\`5?$BUV`'G3\P5+/CTG=S$"AO);(`-=$&$+!H\>]F"TD0=M
XMD"1B<#&*44)CT&'O2)(>]F"TD0=MD"1B<#'74D)CT&'O2)(>]F"TD0=MD"1B
XM<#&3$RPE-`8=]HXDZ6$/1AMYT`9)(@87XRTE-`8=]HXDZ6$/1AMYT`9)(@87
XM\V!R4$)C\#!`E@`85B,F!VUTD`#]/0<U8G+01@?AQ@;];0<F!VUT$&[742,F
XM-QI^F$M,WR`UYSZ]XU_SSSUS,&))@@>N,T$MP$P\)`9JP/<&3V&O4>-!6'/N
XMTSO^=6$=HS[+?V%@#_ASL.CDU`+,U#>BJ/(F/V&-`T1U'X1>CAO_'3;\'OUB
XM@"1ZTS674W0^/D$=L1JX$?PME'`!A#Z7T^/WCAMG())%]IMB(#]5TP)K=._U
XM;1W\7V2?#&2S(<C'(P8MZ09AKCZ^#XGX$SI0-$&:CNTKXV#`_V`T*?G..86J
XMP?]%UOO9<SR_*08MU$&X<08BB2T!#T-6L$6J!1]D=AY\SO%NBQ!P0"]!Z!IX
XMX&#N,N.X<0:C0V-?4LKN;AT(`0=S0$X=\01"H`2;U0)\(P9JP/<&3V&O4>,P
XM]!@DT0*GEN]R4U_]3R;T$H1T\P;-!D-%2A(M$)(7WT(=A!O$7S15DW">7QNH
XM4C0)T`(NA"1@/S8UYSZ]XU_SCR2S(<B[,24_HQOC$S9R<`8B661%[C1%DP`M
XMT%ADPB/B)C8G5'/NTSO^-?](,AN"O!M3\C.ZP4"]'S&V#$431`6#>#MJ\QH_
XMHQOC@XB^+C?B)C:78SG80NDM=`<R<P)?<FD[Q^6VG#IG\#XY5-)"P`1/,`1+
XM\/NX\9&EX?^_*08T2<D=>3E[_V"%+@9?S^^:G)S&(C:78SG80NGR,YVCX8>@
XM]`8M4'/NTSO^%3;S%@9YH!]>I/9`5/<S[GGDTS9E=HO"CCG:/F]AL,D3M#D\
XMPGDUYSZ]XU^T$1N)*"]J`V`>]F!N4T(2AVU;%N9D@`<-B6$/1AMYT`9)(@87
XM,P=P<'(=AF$/YC8E)'$J@/$4@@=;P`0RP%)8T`4/@__?4@8)(`1,L`1R)04H
XM@`<I`!DH@`?:0C`;@MN>9`0$D0;]ECLHX&$/YC8EM`8ID`(MP&?G@O_?4@8)
XM(`1,L`2>9`0H@`<I`!DH@`>8\0($<]M0X$E&0!!IT&^Y@P(>]F!N4T)KD`(I
XM<"Y;AO%K4"]P$&$+!H\>]F"E\09<(R2^CAO_C0(>]F"E\09<(R1XXV$/1AMY
XMT`9)(@874\BG\R4!H9,JD&,=]HXDZ6$/5AIOP#5"(FZX<0;UV/X7QMH/5AIO
XMP#5"@C<>]F"E\09<(R1+EF4+!H\>]F"E\09<(R31GYIR<`8HX&$/1AMYT`9)
XM(@87,P?<Z4'<$Q`ZJ0(J@!O_O61+EF4+!H]C%A#!4@9@AF4=]HXD.6:JB1XH
XM+S+N<C'UD@;Y=V&L_6!33J$J<`=WD&4+!H]C9@=2]F?@YV$/5AIOP#5"4LBG
XMXV#N<C%X(VM?L$%9MF#PN&5SL`9I``<``6#PN&5WYJ"80T=.G3%T0*1Y(Z:.
XM&1`JTHA)L4,!P3!TTHQ1Z";AF3)T\L!!46?.&#00YU"T2`>C1A!VWJ0A`Z)-
XMF#%SPMA!D:8CB),K+V;<&',F"#,$Y20=6/!@PH4-'T84PP)$4J<*&3J$R#!H
XMRZ$@2IZ$>'*-F31LRJ`8\\8-P;`F4:IP$Z,J6[<)Q<IU(\.KRXUZ(88A0\9-
XMF#9J`ZM(NE)!3SH*;/;DZ3.,G#-C[**Q#%&%Y3-V4BC8HR#!580<Q["I0U.,
XMQHJFFZ*&NE6%&3$@>H#X2$>K&11"G#R1TB0(DY4)Y)0YDX9@&3D<$YZ$K9RY
XM<^AWWRHV0[>J;;ZP3W+V7%'!B#1FR)1Y2"5)DR1.CI0^G3`C8CMAV("@4W>_
XMC/()H%`4&2GP9E\9;Z071AXHF,!?54Y4P<1Q%8U0AAMDH*>`>>B!P$020EC1
XMA!&E=2A@&SVE00<*3H@(Q1%3I"!:`@D\)\<;<J`@@ATHNJ&B",B9R.,;<%S8
XMH$1SP)$9"!%.F`((/(``PXPURG%CCCNV0>2%"HF1Y!A`PB:DED6ZT:!-."D)
XMH83'02DEE3;BJ..09=9TTY=AFG=AAF9LF,`=:*!5!@@HK(62;KP1N>)G2WYF
XM1U4B!#$$$3J0H4,12>B0A@Y-0#&%#G14H8,5=N"A`Y!/AJ!;"S$\21J-<]RA
XMXEB&NEI:`F.$,<>@)P1Q@@X@O*`""+KNVH88:4'7$QQU)*3""[<F$(09;(1Q
XMQ@HKP$:C&,J%L0:`N.K*ZQ"_!CLL$6^`X,8;"65HDF4TL=4&8AW-`1&T-"8P
XM!+768JMM`MR6X2VXN>X*P@E%E"OL?MTF=(=E/KIQAKVZ@A"G4O=&6P2_UV8;
XM;<`#^QFNP2<0H?"PZIWEQJ!SO($8'8%*G'&^)J(01FY6%712CHI^5M4)/9P@
XM(PBJ,LDFE31ZAO,)!__K)1H"CW0;I".DW-.@)<R1M0A5]7Q953?_`(((7+@A
XM`@C`GAU#V7GF"_*W(A?,:QHGI[::>C-O.P?484A-U=CGN:$::X-R(4+6AK/=
XM-1PM78;<MMW"?:O<!U=1=QT8KI<WP'M'C<+4@&.>,@B(F[UXXV<\#G#D!(M[
XM,!F_1@NHH(2JX'7J(+R:;ZRSHH&"[8Q_9FN^(_/:1-WNPE%M'G:.<2,(5ON8
XM45OV/ALMC60TP3'.,?Q+H_;5GL&]]ZL++#GQ*8=1!QMT`+MP&F>LJQP([$*-
XML?7$EQ\R\7U<?[N_T>J?VU@7-]>=(`FQHQ'E3C"%!-)H,!G*$,^"]S40F*`G
XM8Y#@%L;2`]T<D&EB@\\01(@V$$PA"U,081=4][;6D>QX[AO6$2[T'(P,2CUE
XM4H_@TE`&>YD!1W9:PZ#P]SV.`7"`YG,AKZ!0MR2X(5"N\0@-Y>"2MM#O(6RX
XMFKKJ<*SG5`]?-(*"$3V&Q)!-SH!T<&`"Z+`]W73O8P3D4'HT!X4A#.$+1"B"
XM$*H@'P4:T`IJ),,8G49`"V%(0WXDF1W4:`8XR.$QOR&(>JP$J3H.`02.+(,C
XMWS"&'K8,.G;PXD+<,#8K%$$*4Y@"%:1`-K.Q,(Z)Y!4>U&BBI(RA#2.Y':2:
XMT`0B`"DWNIE2[J['2R(,,H`68X/!:JDS7*)`EV/KU"\[^*9A$J]3Q\Q7'Y*Y
XMS(<P10Z"<R8T1=`$*K"`:R"8P9.H"0,0\($/T0*!/',&SEOFDH)GV&44SED5
XM=0*SFKJCT6-`H!_=4(8.*4A*6LST/W^N``3_N9YXH*.",<#!.W6``[@$ZLW;
XM;2$&7?CG":(@M.LEX(?060L<<-;0'9!%HS^!`[:01C-O5G2EU#P!"4J:/QJQ
XMX8CY:@(>%@J"%>B&#=X3ZEG2@C.+XJQ;;&`#)U&@5$%51:@+5=U)@4@2G(*@
XMJFEQJ0HRZM*,SM2DWC-11HFF&["6@:8)&*M,'^K!IET/I81RJFY:^E*76G2F
XMUB2>7+&%LYN2ST0>!:E(26I!$[Q4I#N%:US-2M>^7D^`^9(KSF#PKVV609EE
XMN%Y)K*665R:Q@"3[@0/3M[[V16NT'T'!XP38O](P"@0MV"OC>D(&V#BJJ+K-
XM"(8`M%2I;N2H;WC#&C):J.SD)2X028$(OO`%(R2!"46@+CJ+X`0JG!(Y672#
XM<7$F5>4R=RW4>^Y85"!=ZG[("=G]PG:[^UW8.-):XT6N>4>"7KS`9;WMA0(5
XMSV"3^7I7"LA)67X)FMSE\M>Y_Y6+=*-7!C(8N+ZE08@<%EQ>!S<WO1&.[G2_
XM,(0G5(&^4M!N5;A[X,:<YR$?"M&(2H,F.^Q*?+KAD4W@<.,SW4E-;X(-CXR[
XM!A34^,8KL1!H:7P3QD%'-WBP252GB@(WH,G)W!/FL.:0!CT@Z#<3[8R,8(.8
XM-NQJ15<N2%5@4!4K-[D@$+%*E[]LJ/&P%SEIEL,68!!2*$O9N"@8`A2@L$<C
XM)'E/&BK-^Z1'OV8Q*R%1,<-S9@8',;@@*CAK5E3L:VDOZ0%G@B9T%8S`:1?T
XMI"2#<F.I0U(DG.V1"H4NSXM'!P<RP"$&,5#TED&"2>50F"9SR,.QWJ!,$-AO
XM4%5FUU%NU(:?C.%)^'N:YT`G@JJM1XO4%<(4B""#+^":NB!8FRMA(^V^?>YO
XMU:8P"+3-;6_'(-QL0TZY_48U=5.WUK>.`;C%W;9YG[O>UUX9)FV-:WB/NS3^
XMIK:U538HS*4!#P8/D[E`@(6*[R9=87@8\_`'P9FD`4LO*(D<7H#!NY4!G1<4
XMG`9/F$(G#&&%8O(F&\/WSRG=*N'H7CBVOZ!*(MSQ"Q$_]"'[Q&2<Z`0%4X)-
XM<3G9`A_@1ZIF>,A1>V+<IC\]05+O-7Z9[O3\8#TWI9GG3PI2]:Y#/>L*YOK5
XMHSZ^HB^EO]J!+GM%\.NVH2DG.TFZGY8^AJ:S.M4@L.Z$GC`$V(2W['_'V7N9
XM0'C[#ACQ(@$\%*00A",POO"E27O??9!XW>31")</#]FYWGD0#&&5H?>3B<!G
XMK<82+7L<&QZN-D/1,8#+1+>-4JNB=3$=M:`)Q,*0NM+5DZ6>_'$U.RX]Y;`S
XMFUW&#GONPL]>(+1UZJ9)QXF6\AT5?6U]=E?:!ZKV:&?0,+,7@H9!3*$4DX)G
XM:VOU8@P?TK!)_KS2/KKH/XQ:2"+W]B/?FVXU?\:',V[U?MZT%CB3%,R'!CDR
XM?FGQ,RY0??^$?4C3>R+P>\%'$^MB,7A`!Q?"96V1-H\S!A_59P?S!B>@+20H
XM`R;(6:516PF`>Y=Q7+K1%X&E&F^P*RC0*@9(*%MB)MP'4E7Q!%]P!5+P!$[`
XM!%G`!T0X!%)0!$%@3E)B`S`@3%%B<_EB@4,0!FYP`M+1,*0S!^@4A##W@B5"
XM$"&!,\V!$2&Q@XT1@]YT6R;@6+;D3-S'9Y#2`J@26-SQ;KK!'3*`,_P'8'?8
XM!;#A6:#%AW2!,]BG+8`HB!#&?B(@`H?H)XNF(FF0'UU61:1$85]4(MX$>_)W
XM*W?P2!ZX@U5Q&TT7%:DH!DUG406!'*KH`U&Q!;,(BW+0@F16!F8&$@WB&DO"
XM9G+F90F"`L`X9@BG$2[`'?J',\#H`CAR!MP!B2`FB3P@+S8A?.%5!CY`B<DX
XM!BZPC1NH:M]H:FZP5#C#*N2FC!*!,[>A=*Y(BW/P:7\8C[@(CZ^(9<$4<X)B
XM+[IA`L"H=+I"!^]B)O+F$,JA%K<1),;GCT8S(;"Q,'O"$9B8']`3<#V4,:7!
XM+'MC?)_3'4?!%VNV)DX"(*O71L$D>[6T!G#P!@&!-)5V:0ZQ!3&)B]AB@B=0
XM-BE(BJ:H%OT1DZR(29:&B\C1/[.F.>WQ'O%1&@(B$P1B(&F`&`E"!@O2('0@
XM`R1)(:5QE2Y`!W;P!;NR$;FU'S'0E5\9EK#!E5[Y!:@FEKK!'V;)EF@)BH2B
XMEE_9EFXB3+ICEW)9!AMA5.%6A8+I@C3"EV&)6^28``+42(_4$9%$!Y,D!Y!B
XM42O5&RVA'P<"+"7`!L!&.IP)%XH3=F*'`E(E,2E@F'Y9%:39%JG#EVTI='Q"
XMERBP,30WAR#P,.#4$Q,#`C[P)K>B''10!^`$40`"G,))2BY86\*B`'%V!3U)
XM+#]!>S?A@=#1&\'7:)#F$)(F!R[`G-8S(`KP:`R!`M71'-1)3UA!&U+!$%51
XMGM<1'=$I&J^"6/:HCWL5CYZFDCXQCRR%G_.H+;Q#![3"$'X7>;)'.<$Q',7!
XM!#H0+01*BUL!95`%:`\:E/SY4*%6:"O`@]&R,`^*B_VYBEOQ4/^Y.17*G[IQ
XMH:8W:+$&1Z<52^M6'$/0H/ER=T<'%/]BG."D@JXC!/!1:#1*(Q8HGF+0-L6S
XM;E4`:Z,6I'!(**R'8REY/4TY$RE0BBKBDUV#GPY1%?.H.A^JCU)"2"^JF&:8
XM`!4ZDU]:$#?95&A0$;4E%"\Q4#["$'-0$7"Z$?21%9@6$73J'5#!!FX@.7>*
XMGK/A&Q"A`,PQG@/%:NVY'.8Y:9$H=V)P4?"9GZ-1&NYYGGFJGA`!%2;I37\:
XMJ"K)$&K($(`*-P)EJH$JB`,275`AHF9PB-PT*+IC(G/J)34G>S%(IS@39?D!
XM:!DZ:JISJPX9K$;P`EQ&C+_!IQ.A+9@%%3AS072Z!2W0`L1JB&8HFY,Z@4=S
XM<U[EJU,V!L;8I6)RIEDWB!(VJ>5:GW"VCR5RHO0(`IZVKDWW/.ZZJ_%8>JQ&
XM'2!QG'KJIAOB&#[A!E&!:KVE`,L99S.4$#>S,G<@K]KY'-V9,9MJJ"J`J"#A
XM&^3IJ.^YJ`9ZJ<G!L9HJ&T]AL=#JKO,A*P**$BCP=\.#H#+:H"_F(2`B(B22
XMJKB!*%`!'#*JFNQW9,O1='/P!6-0?&]0%4*0!=XU!5!P2E-0!$=P:$N&LSB3
XMJ&+`LY*2E55AK+")2/J#J@@J',1A'$%*L`YAL$!ULKNQLPDZMDR@M2LJ:H;V
XM?O`*:BPZ:NHX<4ER$X."5US03D340AG6HS^ZI')$LS)VL_A:M6Q;N$;@L_V'
XM'OUH=3<FM$1KM$BKM$7`M$X+M5(+?E2KL^/IHTY0:'#+M16":'T".2_*6NP3
XMI!:8*%'1-@*DHZ3DJ0J@G!<;9T/0,(-R,]U"!BW0%FS`/,O2+!`;=1+KG=`R
XMJ!6[IY&Q!C<2%1MK'><9J>NE$B";J9/VO+6!NZ5AMF:`MF2DME8+'&*[H%S*
XMI61G)'5&40F%C/A:K^F2F$0P>?!!!84B`FT@O89:.NBD$LAAN_^:NQN2L,,R
XM!$3"/#<3:9-FG5Q8/Y/FP-S)O"QA$(4*O5'1&]3+O=#AO5+1$XUJO=U+LGKZ
XMO5VQO2([:0-E40!ROU*0O_N[P8;:$Z2S4F^`O"6P4CV1%&&H.!Q1%5`AQ&X`
XMJ_)K(B=[?=T:NKN1L=3;M@LJBURE5V$:4V[2$_E8$'XU5U1"I#S!GAP!JQL$
XM!V48LL$YG+BKN]YI>@L,G4FAF_N!<<F[G1-K/2!\J$G!P0Y1O8^*'=4H=TDQ
XMPGU,J"6[IU`AG[*9Q`^9?4PLNWL,Q<:!'#`LPSJ2QS5,JCN<O#=,3S]L.GHJ
XMQ.;*OG(@OV20+KH#!4GZ!$+PQ7^S&+$HJ[/#5+^3%#-%KSZ`B]7*KV=\NPP!
XML"SQ%S#AE)%Q)T?7PFB`R"%+PLKB$Q:5@SAC!<91:$;69#DXP"N\S-(!IM#,
XM!%"P2M/<S"K!K\H<G>.!2[+6(3%FL[+)!F.P!FB":44#SK*G8V_`)PP"M*FC
XM+3R".43VS3:V'(^#SSBC8WW38R9P=T`FS]K"SNY\$YBF&^"LSVW0S_A<E#3F
XM5?ALN45[CF^0NDLFF^#\3VY&E(&59[TZH5.59ZHYTECV4#&@9<-(9^9W9]I2
XM9F?VS4ZV`BRM9E)2%2\=9\DJT_>G`C1]*SL-'8#YTI78I(6"2SB39V.<@RO$
XMK4YR*TZM&U`-SB8(KL!ZMW.K)T-WT6-<$"9X$E5Q93D(0&_Z%2_1JF+WUG#]
XMUL.,$P7!Q^^)O7*AO:]2RB5-S#NQ&$5YFX$BRXM!6$6C=PF`UG.0RP;\RV#Q
XM&'/-&W9]GFU@!ZQ&+(@\L^D\8\D\R'GZS^*C`J`]T/-2T,OA8VFR)-LLS6$@
XMOP0,VAIMM%NPS=TL!3:3`MBJ9*!+P%"]VJ-VVUTPV\91V\"=NF&MQKSKN]"I
XM',K#M_22G<KKQQT1!BDB,S`S*&CR/-8I!BQ3!UZ2$<'I@610QQ1G<2TP?.I2
XM!A46QS_1QAU2!J$D!WD`,W!LPVTQ*!1<Q\W+UGAJPIQZL=FM21U\S35AV2*!
XM2<CLP81\PNLI!N(\R,8,(*2**$[\R.D;R;`1R\AF*$]]$Y+-Q4.C.UX,QCAZ
XM*R;"0;IQ!4$@!4X`D\TRGF",)A\^4Q:=`"/^-XB=ID\6IIC:K\/9RXUM'A1F
XM&B!Q2V(@+K*%*\?B.EC]9G(@Y!B)*VS`?$NN@RF0V$[>5%4>6@H`GE&1D)-=
XMPAA<R"@\$2"+Q`_:>;H!R8R<`.)KL(S-U*_J`_8:I31B!F`^YU$1).;*JD[I
XMJJJ*JJ&Z!J7JX(T]J.#9<1(4YM@QU!XGF2"@X)LJ.-6C`G=P!PE.X)..$Q!Q
XM!["1IT*1,Y]**$+!$Q)4%29`$-:'6^_V3D0S!5^0!-N6!+9-$"Y`$%^@)>HA
XM([_IXV[@4N\3/S@R1/AB(I;^L$5#@7S(50^K&\?N4G?0="O3@=".,]'N`]..
XM4,-TE`]1A/`Q`S(0+<Q$Y2-Q[:>N$!*TZEB8+[;KT:#+481B[O#]3[:.Z^IA
XM!ZYW[3U1ORE*![=.!U^P[S35[F`=FS1BE.@Q.M[N!.!NXMY4A^7>=.?^Z.J.
XM-`2OVZ$%[R@@[_A.3?4.\/>>[TVW[_3N[[@N\-%R\:I+BLUN0=>>[4M=,RV?
XM*^$Z$'-6C)NN$CX]--1$@;=B@6RQ/H7AA<1"&)B$$2BQ-4*<[ADN\1\GB.SW
XMZ$WO`R'?[__^!?<^]21O]2>_+K!Q[-;NR^"YC5-*("H\SG<\%=X!Y)W]GHJQ
XM+&(RL%4!J%TS$W@@X7:OA@TY\F1P]Z4QX5:A$X`J6["AXYL%&V6`!W#P&:A(
XM/W_3CA2NQ[_!YBFP9D'B!EXE$;`*(!I.*+)^!5.0A+^S++PN4)@/0.%[^*71
XM^2@@ZT20!$>0!/H;$9A?^FZ.,Z0T+#_]4+0_5[AU,#"PD[IF>EQ(/^+%/-Q]
XMD44K95O41=!Q;/(*$G>@WJ04`RT@`S%``S=``S@P`S:@_3-CJV[2ZGR@+KP)
XM4=F__=W__3?0YF?`+NERY`>[^H.-;)\?^DPP^K5/)<N"^@D`J+C/CVFQV#[0
XM0ZI!2BC+U+V?J[?R_M:9PW0PZBC`&R)!&7"0*KJA2C$<'U3R_ML]&*.N_RM5
XM-#DI`CSU)Q"CFSHR`MMH_,5++%,6$.1,10@Q:5E$G?DAAF]H^/>J^;<,I@?U
XM))2Q4N>M^1!J!K*8%$LA$5EZ^9FOI0_Q4)I_RTY6^%IJ!M0ZO.R:BX<_<<JA
XM):'$,-0=7N)C.!K)U!#?7$.=`I*;%HOM`\R(&*II?BE@KAMJ^Y*;%HOM`\R(
XM&#B3?^IGKAOZAJQ__Z+?^[;?_QXCF[V?J[?R_M:9PW0PZOJ_4E%R`L'O3N7?
XM^^=_`CG`4PGP_ML]&*.N_[Z?4S/`4W`XN3Z0][K!<B(TZOJ_4H=-)>^_W8-1
XM'CG</G`XN3X@CO5+4+^^D7)`!V3/H7`XN3Z0]WME]_R8%HOM`^+X!G'^Y>K]
XM3,V*<`BIWCS1K#V^R^4A_SI0)5>B(_(/`B.PC7E26]S^59*"!$\0!#YZP+L[
XM+$6`!X>A/&70H''&!!)!1?+]`D9`18AQ!SBR!G/P`E8P$PA"!<G%!F+P!GBP
XMC%2$&'>`(VOP`D@@,),T!R]@!50P!9XT2BZ`!MZYQE,@,`MX%$"$Y_IW!SA"
XMZ'PS24<A*.0M!;X>;L9O%0?127,P!_J](8,*V4BQ@+E^$SGX!7BN?W>`(T6&
XMUQ#!'7;QQ^N5[B";]FRO&`Z)KM%E2PSX8?XU4>S%'=,G-+"A&)2J`G'@'586
XM]PE!5`GX^]PQZ@-!U6U.P"X8OLVF&_FG?DR_D3B3?^K''<BA`BBP4@^55:I?
XM&G$`]?V7%&\'8>:7`E:FFA!F?BD`!PQ)*''`5HLL>RH0!ZI/(P2,%`N8ZS>1
XM@U^`Y_IW!SA29-S19FU0XWBNWB@`!V_H55965/2T4,TUU"E@94]RWF_T)_5?
XM.SCE0=37Q7'.^BJP4D5S`M37Q7&.+1I5&G^?L_+:.>:&?9"2-2]@!%2$&'>`
XM(VLP!R^0-<M(18AQ!SBR!B^`!`(S25HCAFW6!JGH!EPJBV!N9<AA93B3?^IG
XMK@>)Y^K]3,TJFQR)!AYI9:GH!E7!<B*4E17?Z[L<;L7IZSQ>6X84FPB[N\,R
XM!0*S@$<!1%Q($R5'..G=@4<A*.0M!;X>;L9O%0?127,P!_KMV'':$0J`%`L(
XM=^HE%]Q!Q$_1]X+\GCG?Z9D^SHJA''7:X^.<!L3%56F@AGWO4FG@)O^A$(!5
XMJZ!Z_G:/-"V/01J4!MAZYUP%[=6N&R^?^-H>4#6C'`Y9%A[)'55A[A\W-,E^
XM-(%%(QR)!AZI''.0BFX@Q%7Q\HF/4-Y#P&^D3;="6QO"[5\E*4CP!$'@H[H6
XM=L/R!*34!#?Q!%-0%=-O)\RS&:'$WGS=,HCQ$VD1WSFCG6$W+-:I'"W#!J&T
XM;/IW!SA"Z'PS27/0G0DP,[JSG#029T0`/]A)/Y=Q%(*2?H.R^#"3@0S#/-:I
XM,N-]*WFC&)2J`A*$,_FG?I*;%HOM`]'('?]'*"C@5>@:70K8?.\;7>=^`M0W
XM-,E^-(%EXR6H^C5%*$BQ@+E^$SGX!7BN?W>`(T7&'561[O^T>\1#P&]T\+>"
XMY^J-`DPO,B:"%`N8ZS>1@U^`Y_IW!SA29-S!`K<RFG@M8B_`!!)!1?+]`D9`
XM18AQ!SBR!G/P`M/D1A;OZ^%V>]Z$%`N8ZS>1@U^`Y_IW!SA29-S!`K<RFG@M
XM8B\P!7G@'&WP`DP@$50DWR]@!%2$&'>`(VLP!R\P36YD\;X>;I5H2+'9X[O,
XMXVL-S."926U0]L@\I,IA$V<\*$7P!$:0)VL-S&DOL&/`'66?Z6COWQ;+]J`N
XM;"V!&W.!5#T^SHIA:W$O'0_>L3[Q!OL2/A*^+S2G&_L2/K"Q+S1WK[54)#NS
XM00FX!FD`!P'!(D<34HYU1TE`!'IY*[;V5`(306OQ?X12907%8/N%`K96%=;E
XM!$3`\TI<U>SNZXM\>P<(^&;!6U7&!CQOYS1"P(WX@K,:6(#OR)-_X5I)(S=N
XM%X_#^@@(T<>[(D-CFQM1-#G9A2[.P<_T-^[G\'G%5@>CDQ;OZXNL@ICS:&M1
XMX_M"<WNU+^$#(`NS+@\[_<:F$[]+2BB0^(N?.63P`T]B?.DW*/:]I_C"^NT4
XM)89OF_?_3%IJ!EN@XZRR0E2BXXPMF^8:?6QU,(;#-+9IKM''5@?#`SQEQO[:
XMB+)IKEN@XZP24D63DR+`-+9IKEN@XZP24D5S`C[`4V;LKXWX]UIJ!EN@XZRB
XMBSV^RX[ORPC<WH)C0X;A@>KR;BJ+$GR1@5:AW@KQ$-<=Z3W46@I!,:1T$YTT
XM!UR&+'TK*.1-P#=3)'*0C1>2$/$-@J24(/L!-9'>0ZT%Q^DW*$"$?0KQ$.LR
XM[>:IF_KMV"^A&`I0%AZIX'@-$2"IX'@-$7R1Z6COWQ;+]@JN&,KAD(VH>M[$
XM%VRUR+('^/Z&?9"2-2^@].J"E>K"H8HYJ[<"^)9,O2!)@3%'*#?127,@$.\;
XM7:$,`BGV!$M0\;WND/FG?N9ZD'BNWL_4K#V^RY'>0[Z,P"#@1(.#-S=C?"X`
XM`DXT.'B#(Y/4H'%VWD8`1#S@`B[@`KW9D*GX<6^Q*Y8Q%BV0!-#S<7[9&X_4
XM0U5QW:04;,[1;!+DE[WQ2#U$WN=M!$`D`B[@`BYP-@V9BA_W%KMB&6,A`F,@
XMG,K1$6=S[M=-2A7#`R[@`B[0FPVIWUTNS"5'.&6?Z6COWQ;+]@J^'6[@'5;&
XMB&PRZI^C3&Q@!VQ`)00OF\^4LZG!';*UZLJ^,+QA-X1S%+23?H-BWWL*1A8H
XM_R`0.(.C'GDBF^9:@B)%?;*G$`<XC1"-!F8A*`UBKB5H^:FBQ%6=+^]OG<H%
XMG#'?45IJ!M$G4H8C-(%5,U8&]?VG@,WWOJZZ]SX0C=PQ?=6GJW/1;/>:`"!P
XM4J0$T6A@%H+2(.9:@D*\]SX0C=RA.G/1;!Y$?<XZJR`0+=,(T6A@%H+2(.9:
XM@I;?@Q_)5HN,-.]OG<H%G$L]C;J1?^IG`N9:@@>)Y^K]3,TJFTBQ@!\YDJFA
XM07QF^^]OG8Y$!P`"]%RX+@FA,C1Q`EES`NC$'<@AD58B)T_"U^N2$`1L/0J@
XM7,"I`P"#D.K]3,VZD26!!A[)':GH!B.YR"OA2.UCXW)`!V3/H;4%GB5'.%^0
XM[66?Z6COWQ;+]@J^';^N>MY$+7/`!G;`!E1"\++Y3#F;&MPA6ZNN[`O#&W9#
XM.$=!.^DW*/:]IV!D@?(/`H$S..KQ!=F>)Z4QC;J1?^IG`N9:@@>)Y^K]3,TJ
XMFTBQ@!\IQ'OO`W8OQ'OO`QBD$KGZ\U8B)R*0*VZP+@FA,C1Q`EES`BAGKB7X
XMAHY$!V3/H<B=P"ZS^/-#!W>0+LQ=+9WTW`1EGG-0%2VQ!O5-2C<1],SL,L]M
XM+T6NWXX=IQVA`/;$W&Q@9`:.PR)<X)<=,9D^S@-UM.I"7%SE4BXE$VZ`+6W6
XM$X"E.PN#C1>2$'.P!FFP4D14O\TCV3+A!H]#2DT^!I(=,?_G@R)%?:XGX[XH
XM$VZPH:M^`BH@-(%EICUA5!&5+ZPOX[XH$VZ0*AZD`DSCZC+NBS+A!AN:*AY$
XM?30E$VX`5&9JPX`940?O\(1"2CE%?:XGX[X8,1NZZB>@`D(36&[>$T854?G"
XM^C+NBQ&3*AZD`DSCZC+NBQ&SH:GB0=1'4Q$#5&YNPX`940=/BO5/*,_4X6,@
XMV3+A!CQ?5TSCZOQ^,%R01D@C$VX`5*Q?91T^!I(=,3Q?5TSCZJ244UR01D@3
XM,6G;46RE+A;OZ^'6@\^4JRZZ/[7KZSR^UL`,V<WQ66Q0]LA\XL>[(JGB01'H
XM3N6_T8\F6VQU,!%()01,F`3\1FL-S)`]!VN0!G`0$+?4$=^4GB9KYJ^R,!6'
XM!>T]+Q?B+/A"P'.P!FD`!P'!$\UZZ/P='0J@,E1Y&8P>8HLAR.^9]F'P^#[A
XM&14DI\)S]A#N$VE`7%R5!H>O$&YB&)?A4FEP5AH/\<TUU`FEFN:7`F&@I0_Q
XM4)^Q!6DPU>QD\;ZN$+KLK^IXZ/P=S#.A`.J1%@%A9`:^4MR=.F</X<S\X.]9
XMV9==+02Q+FX0$,ZX'`!BHWDGQ2FU`SO`W1VCD@>H?#+NB]R=.A4?6%@>TKJ!
XM+=5"$.OB!@&1H[[NK`Z?5_^DXBR.--S=,3V(`B%P_Z+_;$A3+02Q+FX0$,ZX
XM')6(W,."&1N1^![H%J,T!PT:9SHG<&H1!B[@`B[P))$$-D_2=/)T,W>`(VM`
XM,?9"7=#\!2L.(]2UQCHG<`K9!G10%2[@`B[P))&4BFV0$%4Q`B-`7=#\!2L.
XM(]3U)$T7Z;SX!J$$`D+\$!OX&7-@P>!)866/S(E/G;?K$QC4!AWQX.^9]F%@
XMZ&T_LF-N%<+6$K@Q%QI5&H$Q!BLH?1"!'U1402I@:W'/L)>Q!<6!!2L.(QN*
XMK6U_GBTLQ(V:,EVS+^%3%700]_41>6WV&7'O,+IR%V1FX"O%W6?0DG6J>MY$
XM+7/`!G;`!E1"\'^_+S2G&_L2/EO;1E6\,$D@[/.#C1="D,;V',0NFR$@ZTE`
XM!#"`@"FZ!FD`!P&!=#)")>^_W8,!(+;V5`(306N!')A/7@W&7+:V8BC&D(2"
XM^5;G=5$G>[ZF.8F)B`:C.Y@O[?KG5?FG?K;V.+ZF.?<*@Z6GRDIP>K!A&)>A
XM^@D0!CG;Q)*/O@J*X:6!'U1T&8S()C%'*`@(T<>[(CSO02@@-(%5>D9P8A^R
XM!$6@+0LSOH(S/46<14+4/#<R!U6A'A:ILB@Q$Q>2$6?A17FC?'.P!FD`!P&!
XM=(^#5RBP`SN@JP%**\\66$<J-&KTM?^R0!'(I'*^*U$E6S7G3N6/@"FZ!FD`
XM!P&!=$-3-$+#4\3S_ML]&-Z#'U1T&5#??R,&S5^PXC"B7=XCN/GBNJY%/"82
XM`K*>!$0``VMA^_GR_ML]&!N5`+;FC`XQ$VL!-LUZ/0MC$T)D%<(Y*-<]/\V!
XMWI]Q18&/&.K2C$2D\2I#E9>!`K8&-G_C,^HB/+QIY\1C@42045F4*QYX]%3T
XM,I-F.(@SB55A:UIEJY_Q3\6!!2L.(W!E@5207';B!LR3W1AW&6*H55X<!CBN
XM59^Q!89Q&6MJ4(^1`BA@:[\?!EIJ!EH5H+2"@"FZ!FD`!P&!=#*BJT=Z`BQ0
XM+H)+/`N4`N5R%\)5!V7@/0L4@4RJ\<WQ66P@6S7G3N4_!VN0!G`0$$B7*AZ4
XM`CR5/^^_W8-!/OA!19>!,V&@I0_Q4)]!K=;Z&=B:/\HG-#N9/W<A7'50!M[C
XMNJZ5/^^_W8/A/9BE0`FX!FD`!P&!=*J#64Q-@P>3`CQ51JA*I@J4@&N0!G`0
XM$$@7V-\W*"<N4CHI>PNC<P+W0^E"1++Z?8-RXKD:6)G4!H3_@K.J$-X4`O>_
XM%K;__ML]&*/>LBCIFS2R+S2W5_L2/L`^+$5@&,@R*-AX(01)+&=`W;F/+]^7
XM\?K21N$&[,.R,NN-C1="D`KQ$"W@+-""<,O1D@ZIV#'G^5,`^FMA^\HW!VN0
XM!G`0$+?4$4CWA@NS^$HQ*,Q=+9WTW"V0103!I=Y-$"K2+'#\&5QT(00Y,P]C
XM$E9TKZR_$463DUVHG[?4$4`U!B3(9TUE%R2H6!!]O"N"?.'4$7&^1E4+$B*Q
XM%NXW.9CS:&M!@B#UAJ:ALK2B[;JS0`<3I`O$!6G$I#:Z$TPC-,"^93HQ*,3+
XM//=M%8O?29O#^@@(T<>[(CQ?5TSCZC1X,%R01C3U+W<A7'50!DIT,"-`2]XT
XM!B2H6#DU`D(36#2R,'>1*PE!))L3(`/2?L>[(A0Q<0*3$".P.0F@'FD1$,:X
XM'"T9SM=CHSM18BZG528BZTE`!#"`@"FZ!FD`!P&!=$-CFVH>>"?V(4M0!'#U
XM,"9A18E94WDE4CH)5^^_W8,![,-B`R[PTBXP`RXP`YCT;D2D0&TA7'50!ITE
XM,DRMYB"@RDIP>KJ:``NS@8C!A?5-2@RA!GY)!RV0>-F=+D1$(S:Z$R<P`D+C
XM/8*K32*3``NC'%H22E:Q^)UD+]Q-!]//)2.0@<1R&9MCHSL1^J/VU?FB?'.P
XM!FD`!P&!=!0Q<;/C@7O;24(L[/-#1$P=`K*>!$0``VMA^S3R_ML]&/]B:T\E
XM,!&T%JHC));Q&:X'\<TUU"E@:ZII?BF`'U3D.+D:6#1BHSNAXBRN53:Z$T.0
XM`SFPXE'K/3:Z$Z$_:E]-/()+/`$D[@>8!N[(6XQO:V#S-SZC+L+S)%=(4^^_
XMW8/Q+S:Z$RK.XJICHSN1!JICHSL1^J/VU65T/D<Z!$W074R*6/LRBL1CHSOA
XM?MK75,>[(JISXB)%?;J:`'P=4!K_!OLRBCUEHSOA?B:E?!O]:(1_68)-.PAH
XMFQM1-#G9A5IUXKEJ4N^_W8/A/7<A7'50!ITUJX&E\6^P+Z.8/S:Z$^YW5URU
XM`SN@JPK45,>[(EK%U&^P+Z/84S:Z$^ZG`$?>SCJ0/R<N4BH@-(%%/,JWT8]&
XM^";%U&^P+Z/84UAN=#OA?B;%U#1X,-0G65]+/DQ-@P>C`CS54^^_W3>!JOQS
XM60'DHF8$HQ'2!$)P2L`B[MY$@P<3@31EHSOQ;';15,>[(JJ#5RBP`SN@JUAN
XM=#N1!DU5^3_15,>[(EIUXB+5`DSCZC1X,"L@-(%54X3"$Q8D)3,P`S>0*AZ4
XM,*Z7!FQU,$PD68++/[.J$`>X$45S`A'X)+99*$GBEPRX02'E6'>4!$10\7`E
XMN-JD?6TA7'50!DID0JL$'T?`I"<N4DS`-*Y.@P=3!TSCZC18.4(36#1BHSOA
XM?M>3?$UUO"O"\QZ$`T(36#7JUVNA5;C25,>[(EJ%661:4W49>X%%(S:Z$^Z'
XM3-]'J]>3^-1YNS[1PUI\/0,E!K9W/2<N4G7`-*Y.@Y7#-*Y.@P?#!$(36#7J
XMUVM1^3_15,>[(EK%U#1X,#C`4_ECHSOQ;';15,>[(EJ%6=NB?+9W/3W<KN'F
XM/3:Z$\]F%TUUO"NB5:R_$44C!L\66#655R+%!5S`4_ECHSOQ;';15,>[(EI5
XM(XEXXB*EDY+U_ML]&.1CHSOQ;';15,>[(EJ%631BHSOA?M?3P^W*X]KDHF8$
XMHTF01]W%I+;V5`(306NA.B:BYB"@RDIP>KJ*Y72=([:F52TT<4*D2<9O;%&S
XM.9C%U/A!19?A>A#?7$.=`K:FFN:7`OA!18Z3JX%%(S:Z$RK.XEIEHSOQ,"9A
XM16)S!':TXD=00D.0`SFPXE'K/8*K32*3``MS$GY)Z!VB(A1#2I_!11?B+&#$
XMU#SACKS%^+8&-G_C,^HB/$]RA;J*Y72=([:F58*K3=%BHSNAXBRN.C:Z$VE@
XM6F8$HS#`I.^_W8/Q+[?BNJY5HWZ]%J:U/V1*(P]C$E9TK[C25,>[(C4^!ICS
XM:&N!'`NC'%H22@Q#W>$E/K/C@7O;23.C'FD1$,:X'"T9SGZR+S2W5_L2/L`^
XM+$5@&,@R*-AX(01)+&=`W;D/+6YW=(@M))8A/+=2>M`L!4<PZM\LV=Q]!BVI
XM$O]48BY')>^_W8,![,-B`R[PTBXP`RXP`YCT;M8CF[ZF.;8IN6FQV#Z0]T7#
XM<B*DDMYD3\S-!E4&!U;G=5%7%=Q]!BVI$NY4_K<B=IA?H*U6-(GGZI@O[9_!
XM5NHB/+DS<>N2$&40!W5@D43DYG!@=5['=KK!W6?0DG4J.Q"CFSJ2-9%>81A)
XM$RB027:P$"51O!?)<#2!$2!@.(AS-MM(.@3"-?$T3Y@O[?I'J9C?=,;79G#0
XM=-LX6[,:3\W3D@[)W6?0DG4J3PN#4KRQ'X%B+WO;23.#B.^.^5;G=6RG&]Q]
XM!BU9I^$+!P7::F\9>;"!^=+^&;C_&><\1P]A27BD1WPDFX(D?X'E2)"D(R&@
XM;EF3-FT&!]*N?W#P?W49>?^DRDIP>C#9F&RD(UO`$&K@EW30!4;Z?8-B(FH.
XM`M`L!5$;+8X$23HBW%)P!"5`!EV`3H;A.-XWM33B2)"D(UM0`F30!>AD&(ZC
XM+8\V42B0DR<@--KB2,Q=97!@=5X7=8_C2)"D(UR0DP='(XX$23J2-<`27H1>
XM`C3Q=25`!D",^=*N?Y3JVT9097!@=5X7=94/`K3MS9AO=5X7=?)KE"L/,`BI
XMWC;3K#V^R^4A_SI0)5>B(_(/`CJW,GE26^")FQ%S!G`G'4-M!FU`!U7A`B[@
XM`ID^SOCQ!5GT%GTSZCS1D&RUR%3"F)#$%)$)*5FC`R5@*;<),;J9-BQP*V(G
XMN6FQV#[`C(@AQ'OO`^+X!F^('V#9.(MR46;0!@@E9(P)24P1F:G8!G0`-G"`
XM'/CQ!7MB,W`@BX\FKCG9A>P;F6^(FQ$S,6J](>#9>Q!F?F;0!G10%2[@`BZ0
XMZ>.,'U^016_1-YS?DXT/E%LJE"Y`E#%'*)*;%O:2[$M\4HX$24P1F9"2-3I0
XM`I9B,5:"(VG#`K<B=I*;%HOM`\R(&$*\]SX@CF_PAO@!EHVS*)1J!FV`4$+&
XMF)#$%)&9BFU`!V`#!\B!'U^P)S8#![+X:.*:DUW(OI&)'(FO(F[HRX,*V?=U
XM!K)B)I+NWR9KYJ]"P.TH-IH/H6:P!9I_RSF]`B$%+!O]:(1_Z/P='1:Q!FD`
XM!P'Q3>EILF;^*@J^J)Q?_X32LCAS7V<@*V8B$3Q?5TSCZ@F14UR01E2BR_Y*
XM![Z,P.WM!O&=$%\@8-9B$[+%WB-P7P1V,WB5PW3P:.0]!7DPW1#7',0RY0)#
XM!LS#%E;BE_YNP8@NS/?U_D62(Y+NWR9KYJ^BX(LZZ@.Q!FD`!P'!$Q/!5@>#
XM`DSCZH62$"FZ!FD`!P'!$Q.1*AYD.$QCFPE1-"?`!-5W*^]OG382<W4I4DS`
XM-+;9LCAS7V<@*V8B$4-3-#DI`CR5`.]OG39B7\WR=I)8-B-P7P1V,VW#^BV+
XM,_=U!K)B)A(Q-$63DR(@-(%E(@E!34+`!$N0!$3@3N6?$-0D!$RP!$G`;;IZ
XM7V<@*V8B$:IC(@E!34+`!$N0!-Q&4_=U!K)B)A*A.G<A7'50!L[J\'4I4H;#
XM4PK4%L)5!V70@RTK4ES`!4(36$S=LCAS7V<@*V8B$4-3-#DI`DQCFPE1-#G)
XM!3R5+X]V$BB0DUP@-,YZ*X]V$BU;XXY$!V3/H4P]!VN0!G`0$#PQ$2*5`CQE
XMQL=9'C:B`U5R)3KR!0)F+38A6U:1!],-<1>3)[7%[2!@27BD1WSDV&TMS(Z$
XM+)PD1#EB?G-`Q$]A]J_B2)"D(UE#*,C"24(TRFG#I<A1&GB%`BXU$RYE%+J!
XM+,J%!UL@!$RP!-),I<$M!$RP!,1-I5W@`C[2]UW<F&RD(UDS-E6!+,J%!UL@
XM!$RP!-),I<$M!$RP!,1-I5UPZW`@[?H'!\CA2)"D(_&F+0:,\5#.<#8N!\C"
XM24*4(WC``GD@&H84FPB[NPD,->VL$`\1;&W0$KC1'!PAKT2616]QY+M"$U;$
XM6XE/4/KMV'':$0J0^"U99*`N;"V!&XM!J0H^4%1ZJ8E,$^Q$)03\1MP.`I:$
XM1WK$1[(I2*-((XZ$+)PD1%B2^"VY!NA$I<9M\'B%`BXU$RYE%+J!+,J%!UL@
XM!$RP!-),I<$M!$RP!,1-I5W@`C[2]RKI3<BB7'BP!4+`!$L@S50:W$+`!$M`
XMW%3:!;>.4RD*!Q;OZSQ.IF;LKV]46SJW,C6B^,IUM7/``FQPY8G?DD4V!RS`
XM!J+AV'':$0J`+&L@V:`N;"V!&XM!J0-%I6</X3Z1446RXT+`!$L@S<BR!C,!
XM!]8\S@/U=6O.!$M`W,BR!C,!!V^H5G!0)$^F&TP@`\6!!7!B)7(B`KV1+O*B
XM/(G?/#?2-B:"+,J%!UN04462BU3=YLBB7'BP!1E5)+G8JW\V5:B+<%*U!GBP
XM!1E5)+FX!5C7!;?N54E";E*U!GBP!1E5)+FX!5C7!2[@(WVOA@=KQOZ*+&LP
XM$W/ERX,*V8AQ&0)#&(P.GVP@R!WK$VV`R*4QR=VUOXAQ&0)#&)I)$R5`!D#,
XM!F>-C-P.`I:$1WK$1[(I2#37FZT26(Z$+)PD1%B"&)<A,(2!3FSP?X32!D_B
XM2,C"24*$)8AQ&0)#&.C4!A9M2`9O(@5EYV;LKVT0<X32;.SD3N5?4%A-)02,
XM5'O'52[5!B[5;+J!+,J%!UL@!$RP!-+<!KB]!4+`!$M`W&V`VR[@(WU/)04E
XMKVRP!I*-+,J%!UL@!$RP!-+<!KB]!4+`!$M`W&V`V[=.J6SPAI/<7?N+&)<A
XM,$9ONYI)$^C$!LC([2!@27BD1WPDFX(TBC3B2,C"24*$)8AQ&0)#&.C$!EV[
XMN@2,5(?.W\$\$RPQ[,A29`H^4&P@R.^9]BG\*I/<7?M+$,..+&N@F60`Q&QP
XMQ-Y44'9NQL<9<X2B'[TI`S50`[)WXTC+!$N0!-SV.#<^][S9FS@0V-^7\3;^
XMXE<+QD+`!$N0!$2`'#<^]Q8$4350`RN!W,,R!3K1MX*2?H-B17RS4ANO(BC1
XM0[E2)/%">RJAWX[]$FFO`)C#C.HW()F.]OYML8#OR)-_X5K9]M?[Q^NUK;HA
XMN6FQV#[`C(@!(#?^,X8C-$K'56*EKO+*Q8%E[-N:4X;#-*ZN`MN:4UQP`DSC
XMZBJPK3G%!5S`4S1RXS_#!5P@--IRX]XQJ35^XS]C.$*CR_X*Y,@]+%8@2E:4
XM($<QD&[`1?NQ&0D1O#[$;&Y<$'#,A<"F$QEIWY:VQE<P*&NP+@\+,QBA$$]!
XM,<W/W=#!W2@U*#0?7N)#W_9R(\UR-?KMV&TMS$A1$&[`1=^4GB;[-Y+NWQ;;
XM%?(T&@G0X^.L&`ZI^1!J!BN@^;?L9`_>L<P<4;*Y&"(5@;*W,.O2+O"C(E51
XMROXN3TZ0^`Z#%OJ1_!G"',X"1C?N'7-0RV6*5RBP`SL@>S?N'7-0RPY/*&L1
XMB`:U&!8D)3,P`S?`\QZ4,.Y4_F,0B#G%1+I:2R7(5@?3`DQCFW-0@FQU,"O`
XM4V6$JC1RX]XQ![5\*XC8380RRVQU,!'X)+99*$GBEPRX!8L14HYU1TE`!!6/
XM-()+IC'(KCM^4"DP$+^O^1!J!BN!W,/"&VY<$'`,1!,UG9":7ESH[VO,92A2
XM+=69+F8PD$FAWX[=UL*,%`6Q%&DO$8+\GFF?PJ^BX(KAD)H/H6:P`II_RT[V
XMX!W+S&VJ>C;ECQ[$!$SCZHLA4I;C3N6_&")5!SQEXR]^M6!<V"O`D+7CCQZ$
XM`SQEXR]^M6!<V"N`'!R4$O;UXE<+QH6]`LC!^HO!5O$96,;NCQ[$!5S`4S1R
XMX]XQ![5\*S?N'7-0RV5ZX]XQ![5<(NRZXP>5`@/Q^YH/H6:P$L@]+%.@$RS3
XM$A@"+^T]+Q="D`KQ$#\D.OKMV&TMS&9P2QWQ3>EILG\CZ?YML2G\*@JN&`ZI
XM^1!J!BN@^;?L9`!RX]XQ![4\<2]`:2]^M6!<V"M`$1,W+/B#5RBP`SLP!X`E
XMXB]^M6`,V#TX$-2J6#FE`DQCFXLA4M2'-()+IC'(KCM^4"DP$+^O^1#Z$"Z]
XM$FL-S)#-&R+!Z"$&V)<JF[*>!$0``[,\-`2<!'G473%'*+,L4DS`-*Z^&")E
XM.>Y4_HLA4G4@-(TEFO(T$"4H4EQP`DSCZG-0@B)E.!)(P*H4P_$1<Z0>?2)5
XM!TQCFW-0@B*%`TQCFW.P!2PH4H8C-)'NZR:T2O!Q!#%'ZM$G4EQP`DSCZG,0
XM?2)E.$(3Z;YN0JL$'T<0<Z1>)#NS!8L14HYU1Z\?^U3P)`0<(4T@!*<4<[7C
XMCQX4@:XW$$6R,ULP!R484HYU1Z\?^U0P-`0<(4T@!*<4<[7CCQY$?:XW$"4H
XM4M3G3N4_!R4H4BH@@00\!$W07;KLKXL!&XV-P*8'->W<)1G8:P.5P_4!-58A
XM;&)`;/9RW<I!WDGP$(F_^!@2!LC",L(F!L3F0SDL?,HQ!L)I,%Q($XF_^,)W
XMW6U`WDF`10.)[A>2$6<Q:59TW1SQ:`1EG@IA+XF_^!@2!L@R*`2L(N1=!(KO
XMET^!&]L]*%YV(RU`G3UB0^-MP<YKPL'6!BV!&Q=;7BT9WXR^X/\M$8+\GFF?
XMPJ^2]GC0RGC`]J`N;"V!&XNA43T^SHKAPB7B$VQ@%U5!!W;QZZK'KCO.67K;
XM.`F!YRX3_<SA!A$3VM#"[2!@27BD1WPDFX(D?X'E2)"D(^75DO$-+"=@I(Y$
XM]IH/H6:P`II_RT[V.(X$23J2DP='IH84FZ6!!SG;Q)*/O@J*X?1/.\VEAEIJ
XM!EN@^;?L9"LD>P%**PD1^2+!$UIJ!BN@^;?L9"%^1@8S!$W074QJ!K?4$3SQ
XM-UWQ+W<A7'50!CQJ,!'2!$)P2DR*%`7A!ES$$W_3%?]R%\)5!V7`HP:C2C$<
XM'TR*!^RZXX1YYTFQ%!)1%7C0K-&"!UIJ!EN`!^R:BZJ?+WBE4KVJI;':5S$%
XM6`'%U#<%)6O.!$N0!-RFJQI_4_\D!$RP!$E`!)+U5V1$/,:N5VO.!$N0!-PF
XM67^U`G8Q5^1S%\)5!V7@/9A%(S?N'1:E.IB%*VTA7'50!CQJ,$+`!$N0!)1R
XM1@8C!$RP!$G`;4Q:4%TBQMBB^;?L9-A:4W7Y3T+`!$N0!-Q&4P5%*/K!`U&"
XM`T]2_IH/H6:P!=BB^;?L9-A*,^PJ!T"5``MC!,;!!%2`!$?(1TB0-Y23!'G4
XM74QJ(@E!34F01]U%4P7%X_FRG/D29U3P2.V<!\#2(?1M+\VQ'U!#4`.)[A>2
XM$6?Q'/$T+#9\W1RX^)E#$UE$$&`C?"JB$/;R:_$T+!5S,^,K.--3Q%DD1,US
XM(U5QW:3$D2BA(O$T+$?>SL:_'U##$8]&3P+3;%Q($VF1$&8PD`493\.R&1C"
XM5"I"+!23W@^;W6_0G?D29Z\&+!U"W_:2W<1G+\C"24)$$]=-2O0]!_&T96B0
XMPY^Y+I!V0_?=G?FR.7BU%J2D&YI_RT[V+V(GZTE`!#RAI6:P!9I_RTX&<UV2
XMQ7)P5L3S+S63).358,PU!FZP`IH/H690%=;E!$3`\TKL),,T!TFA`\2#5RC@
XM5Z04)9I_RT[F5VYP5OESXT*LI6:P06Y0QOER%\)5!V706>+N38G?DD66)'-?
XM\8%%(PN#+)PD1#1!1#3R_M8Y!TG16;,:6!J?)`7::D6CRDIP>KJJ0*2D&YI_
XMRTY&/JQ__SRAI6:P!9I_RTZV0I*E^;><TV1$/$BLI6:P!9I_RT[69RD96,3S
XMY>J-`GC0K"9EQOZ:).2#633#KCL^!K]^60K@L&BB`\13,W@`^'/@W6@R$)3:
XM'Q)A^:NN[`$%*P4A^>O7?TDB[?I'J5WA/8AH,`$%*UY57BT9WRB`!V#<%>3S
XMY>J-`GC0%8?U\"N5[$N</^]OG0Z+)MZ#662:+W<A7'50!MKBNJZ5+S=N%[,E
XM,II_RSE-1C#XY>J-`GC0K*4QR=VUO^75DO$=Z;XN)?%FS;O,X\@]+$C`A63`
XM5+_6/,\C1'EP!SA"!CZ4P\)G1<>;$$DA,&U`WE<`-:2D,LT!-33A2`.5P_4!
XM$&C*@#!3APT;$&7PP`GCADP9,B#8I'%3QH4"$"I`)'$#IPX=$`'E"$PS9Z"<
XM-VU`T`D8,2$(,77,F"DCQR)&$%+*T*DCQPV(&"#2F`$QI\Z8,67FS&$!`@:(
XM-RMIWB%9\6+&*6,84H1()@R=,$%+SJ'S1B3$-SX#AH'C`@0()F'&$LWJ$XZ<
XMB71*OO&HDB5,F31MJGBA8*P<HQ_3O/F+4<$:,Q/)H#",F&B>-E_%8)P#)X6"
XM/0H2)*1#TR?>H!05RMD16N09DJ3E$*5S>$SBQ3$QIA'#5,7BWGOI\,881@SK
XM!&/0RJTS9PP:XG+.A)&39TN3(%B"2#DR946,+L=/CV'JLT?3\&X^LF$=6@R;
XM-6G(P`%A/L;QX)K-.ZG"A,EQ(E!(D8035*"`@@@ED*%#&>G1!,)CD:%0PAPI
XM<.&&""S`P`)G+?C@1AAME-%9"L?-,14=SH%@8!UNS)'&&5NA1D<*'/I`1QYP
XME)$""*`A%Y=`1B31WQ-#Z!!:`HO1!P*+9GP8(@HD'BG23CT]99P"H64UAT!,
XM#,@$D48FD,"4//DDQAQJP8'"?OTQA2`9&`8%&1M)=2@116Z\$666/X(08!!'
XM?%GDD7:%<<8;.<JQ)G],1"DFF56>H1-N9J`@A!-/2'%=H^SYN"4(1!1AA*!A
XM:BG0$T(H,005829PD'GNK2$I'9/!P10,CB:PFY)MA#&&2'#\56N'=H3!QALR
XMY9JD>;-2:BFFF@;!Z9'+(J30=&>@$`-3NS'U6T2Y_B52&2CL%JY(8:S1J:D@
XMK"H%J5+J5.9+:):QUJ)M@O!FG,FQ&-L**^R9@$-FA%$0':V^<)6]<J1H1ED@
XMG(#""1@1)N8=:*1!IXI)3''%%$XP@<(82HXQ44>TIJ#RD;H.-3)]YIU@X0F>
XMB2FF&P`?U[**)(<0\\0[]BBF4"I.E)!=,#=5L\TH&S:LAR"*F.O.*)1G'JXL
XM)X"R<Q-'/'49;'SZL&SESEFG#W<R^`8(*YCGQ@X@O!UW"RTL+>;6:$P\\]1C
XML(CRR%-#ZA,,<"L,@A%A:/Q0Q4?V@:68AL^$XG/8UA%B>B4-IH"AB;NAP]`N
XMHU"<DNAV%=T<^#+!%&=,83M='BHGC;7--)VDJ`BE8SN'"`*[JF2LL]9Z:ZZ[
XMFE>4&-@*#X+KU#&U+;@ZBUL&N<4IFQ\(S0I[:::;6J_DT<D_WZV53+$1;DSC
XMEBO&N?:J&YKCH2D<VDU,O('H4W8X^&UP*/<E4%=?65Y#0""2-KPA?P0L0Z\F
XM,I$SN&5^&2%#&D1BFS3D;PYM`<$4OB*'CYSH.:.1@Z_HT$#_120N'UE#&?)P
XMA[)`I&P"A)U%$L`XK7ED,2CX%JX*EQ$L^#!NTW,(&7[`N-`0+8<>R8]^&+4T
XM_"@I>S%Y%O>D);`CUDI)QT+4`6F2P^'@1V5!.Y+AIL`PAT%,8A33W,4RMC$4
XM=.QC(7N9>4S&$8]`:64V.R+)>A"SO64-9RO0F1Z3AL8PVDQZY%K,U`Y%EN5)
XM9R(Z<YR8^E9'6HTA5X8AB[!0P)P4J8!&<.B0DT3DK20Z2I*([*+`QE8TL\W!
XM3D;+$]O<!C>YN8%N2T,9#O'#%)FY@6;A<9D;_L*<Q?GL)TNK75D.="RY_&4F
XM<N#=<03WE"2R!G[RNTE.X,`&7PF$(1#I")I:@+PQK.$IIJGD;-"5DJ@@)'_I
XMJ8.Q$LA-;T*D5[]Z@V!`0`66.*<,YAP(Q#"FDY`$Y2-TL=9"!@BQ/'T$37MA
XM`T2,5;H\@"0,"!3#]'Q"!K14Y29".)8Y2\+*E9`D*`Y)CU#2X*"I&.0EWR2#
XM$$%@AS2`92)S<,\;S`FEY9DA-@IEB(O0LL]^"F0.45M>22`T0)A\I'3+6V<#
XM!4,8RM@F*)1JS/'P.1G:5&8.E\G,9FPEHXC8@0U,<0UL'&35VS!&!>,[C?D^
XM8\3TO&0]K2G#:\;"5J]>53%O_98*BG.<Y+3H(YU\SF"C\SKK8$<[W/$.>.J*
XMT+<]#D`"(I"!WJ2#K?I*!RJA3@E/,"%?QHD-9UU=**$6HA&5Z$0I6E&+7A0C
XMO("R0S?*D2'9%:0A#4I,U6+2**$4/72YSU-<\A*8J'6],Z4I=6Y*4)Q62J=7
XMHBV6>BIN^PK;IS\%:KEW$^&A$J4^[S%K4MJ#5O>TFR[N?@I5JF+5D=SSN_<$
XMCW70.U+Q0(!/8`FK1L4Z5K)T5BTH5FI[T9J6F#`[H`(=*$&=K8,8\`G:K!BD
XMA."+CH5.>U:5$?AZ&<X6:MG@'6YY<3CN.9\9TF<NG3%8LP]6D&?'`%IJAGC#
XMY>LP^]K+IT^Y"U[`;6Z][L4FU>E+NDSI5X/D`+`='Y=@!F,#PHXTAO($10P=
XM&@,<:*,SC"F.8QX#F<AVTZ&_;(',/M`R;;J`QZ%A.<U;9G(@]>LR-)L9S6J6
XM0Q=`<,Q"\HAE>(YSR2QK,VH2KG%4MG*@:9,S.JM(=-?+W>G4I]K6,98ZL>.C
XMTOYL,\,)(7%T.@M?)F+"-L2'#!M#UO*B$Q'8U-#-61;T'.5F.!]BX=5CDE>5
XM#BTF22:`OK"RKTZ49SY!7N]XR<,O\_*08Q(_+\710]_T(-V[`J,WB@A>[Y%>
XM[&#.SA@%%3;6G1QXXPLUV\/,_=ZUHH."$9?XRMY"<;'G*VURM7C;`6KP9B'\
XM[1KKVB?EYK#YG'P<2>I2#%T<WGW>G&>Z=8J:B[DFEL;BE320#"^%60,<[H`Z
XM.[PA/I[ID5KY*AOQ',?+;90C".CXMTS'+&(@X`,?5DY(+M"!9D>:YK]7+G$%
XM9#,C.0G#1*-C.0;E18#A'+5/*G>YCTQ'A'G8IQ'>8)`WW,&$9ZA#?,!F-)*>
XM)"5&,`L_\^"07OVR)';1(E(/HNJTQ<UR&KV+&\Y`U<+XU:VY48$")'T&U(T<
XMJ&W%ZELGLKJ[6P8SHU,!?@V[G.8H=K%]#WE>]PIXPP,V[\7I#5+S1P:=4]Y!
XMXN&6&^;$+::H@2G<+(,=R(,MIH!-(G`HR=70X_1+5^<ZV=E.=[[3*6YOEN]S
XMV#"Z$_`A5AMOM<4_PW%>GX;8*ZE&N16(IJT`V4YM?G'FH>[9=H.>.2E)^]:=
XMR)R"630W+`W\'=HOX>6DN/"/7F-*:H%]L#0"H1#,3T,8PA=")80J',&(+D,&
XM9M!-#N0#R,1I6B-W=%`I(I!\()`@-(4M#Z@@^L)ZT>%Z%Q9[N6(7P/(T`88L
XM9K"!"LB`PE=P"C`"#")!9O`X\D-#&0%53&=T)0%.LU$6`A$5*8$6(&$O;`%!
XM%C,ZYZ5)V*9>5%182H)&Q\%*Y:(DA!,4(,`#<2.!)F`"--=G*7`"<),&38:`
XMRW9F>V8>Q1%K7$8H=&('3-@IR/%\&L=QQ'4D2K@#.V!(H*,BJ6>&FN844\@S
XMA'2%,3=S>Q0S+$`S=O-KQJ4S5/.'$0,T(%"'C99'+H.(-$,SBUB&#L<R)I(&
XMD\,S<HA<3=$J<U@NYH>`>71+<$8;#@<"AA,'1X$&T]%3=V`L:Z`7^2,;:F0S
XM+=-^Z7=L&/40AC@T5E9DO=@'"!$V99`UHB$'MG,@9:!JI-9?;R!-62,&A<@R
XM["($3+`$24`$,N")U7B-V>B)-J1)D)9D4Q...)1Y[%==N5AF,7%FKK2.I2AG
XM;-:+@Z1IUHB-VCB(YHAPZ(A^/F!G[>B/BR:/Y2B-VT6-?7("+W`"X&A%>[1R
XM)V-'+A<Q*D`Q,D=SFJ:0.&>+"3`$8]`&Z2$#X[ARY0@VGR(T3'-#_#@<&EF.
XMR.$W=G1)P1B-TV@S[.)+#)DU_I@48\`&@-2+#SD':X@ZY5B/,3,"DHB2=P,'
XM$J0HY2B,)BD02ID`AH,6;&!11.-0`S%!<N$<TX%.K481N/:)79@&>W9,81B/
XM^KB/(TDQP&2,AD5";E`'93"3MFB0/&:3"<D%(I"3>ODI,G,"?FDS!3,63C,>
XMR[,^O8B7QR4F4'8P#>DR'9.-,``XFR@F?Q$?(],ZBIDU4$F,QGAP(RF3-'F0
XM-N-K:3A'$9DRD?0X"8!R`B$ZMN>%3YB88B@;>?A&8@9I[&@&6Y"6#?<=;98`
XMP!EGE7@W*MF67``#;UE_9G!_4)!_^U<$_?=_GRB`!+B)=H$7#`A\H'5]J^9`
XM$'@"TS4U=I$VO.D#?[$"93F/++.=Z<&`II4KCH."#2$4[\."&8$$X+0QQ2)"
XMIY-`0D=J:M2>2E*<8\B6Z+A#H8&@<G"<1\1\SI>'/1,S5RB'=7B&5*:&&T>4
XM.O.&<2B*5I2A=P@"%+J'DGB1B#@[AU23GPB)BLB(<^:(>IB1%SJ)JG><+UIS
XM?=F'&-E'@GF9A9D7M+&9B3DUG[DE62.:Z$B:-&H@#\ER$KDC&>E'MKB3S>&3
XM`)-D1Q@QK;FC=V@WRG0[_D(3IO8AI'%/OG(2J.%Q64%":`&-:_1ELBD=U$&;
XM4.B@)DJ%NAE':6EF#BI_;&8W@=H".L.D++F<S6E_93`4T:E__.=_CH8"V&DH
XMVCF"!^*=$0B@#B2!XUF>AGB>1I.>Z]F>YHFI?5F"B&:?*IB?5".A%*)?C7A$
XM#EBB>0BKLK,T03F4;0B`>FB%%CES2WA,#GBK&2A[5[,C%[F$4%BL5(BKFA8#
XM;3:F!W(')S%WX;ER>Y$><JJ$:G"&(/"M4)@&<*,&378DNK,%:O"%MJF>N;$"
XMX=E8ZQI,N/B/NLAYW/*.__A^KX(:XY=75+)T5X)->G<3/+D6`B$"7(`:+N(0
XM4C5W&&055?45)$0R'A<?"L"33O-W#L)XB.5X&"$&9,6QLA%XES<4OK$^=)5K
XMGU=R=H53M*&AH0&;*J("(BN'1Q0",(N;?!IF*&"S(R**-.M&/@NTP_EK<-"(
XMR"F.W^*6].F:1P2T-2>8/BJU&=F7F[BS(.`%]6&(42NRA(2U2YJ<3<L%7/"6
XMO08"DZJU>6BU?72VVDFVPV&T7NLR(KL%W\&CDCBV3#NW-XMZ<ML;(MMD7\J6
XM@G6ST9.T,^HX!&L5035`8$$0;E!!:-$"$J%"_+6F^N2X=C`?</!QF*,2:Y."
XM3S$4P-)-2-%TE@L;CELZ),4BE+MT1-=T7H<2J-$_AF$O;;!/(E$44A86B\@<
XM`4$&Y.0KY\1*!B02<Z$54R6Q=E<;>(>RA2%AR69X8(5XFJ$";H!6VGI82P*R
XM*@!Y2U%6(R9ZZB%YNF)7;'`'GK=6)6MY696RO3$&<SM,O6$'5Y*^'Y%\JS.7
XM,I%D,E!8RO&QGH1?0-L;:W&_<-![^09CWD:]K$9:<V!:S48>;"!*4>-:H6%M
XM0GA@1*A@^,LK:RHBPK*]Q&(L(.@HG:LD^-N;QU&K<7/!4!,=UC<?YM&Y)>*_
XM0S%[)\BHCBJ=D6J=1U2I9^`#THJ`\+F`,19AR,-JD"41<L%*$P):Y%G!,8S!
XMK26"'6C"/O"!`T8HJ#J?ARH'.F5.7"0"R!8=IW5*)YB"^!D_>N>"(/"*[R%0
XM<O"*<G`6LTA/J*M`1K>Z<D&SI^LK#01!X5ETF)-!03"[,KAJ`N&,+0`^#;$X
XM1",2<:!U9C%#-32TBM<9"!BUG)$T(%,%1F`$=B.:98NU_1L30\&U/Z$S42DG
XM-1O*FC8$3^`$0V`WL$R,LORSM&P>5Z`=3A!&@.8RG(&W7V@>0Y`#.0!9EPFV
XM8&C#X3D'6Y!\DV6+G-%HSGE_1R"=MMP$4!`$5,`R23H2Q@P'R)PTW3P$SBR*
XM5-E#/U1`6W1"<D$>4+$\,M448[D6!WHZU8PMU_RD:[$%,)#,2F.,_&P>(S/`
XMW^M)*2`","`"BRG-:]&+V3QGK(J?ISF,2GJ7%$W1_@R*,Z("`,,9D[7-C8I_
XMD$J=DOJD1&S$*:"42<R`_`;!#G0$3T`%>"PWV`+%'U'%9C5OMBBJ%($"B+ND
XM8:RJI]G&][F"-BD#2C(L4`V%*TQ$3O&=Z-P",N">3SH&4'U,MHS+>\IG<Z##
XM8WW,>0O6MYS+[MR"-G,317`MD"N[6==T<&,#+A`#,.`",Y#7X'@3(A`$BS@=
XM40-4I.9.@YRZ1M=J8\$"67,3P)O8BR,&%N5.R8&,2?&Y]XFM,9@>CYT1/@54
XMXI:Y^502<=DYBQ,5(D%JK)@_G^T6&L4@CRM$+B`",_36M2@FZXM%($!$.K4&
XM>+`%]]A_1M!N*=`%PGV-4$`%4F#<7>`";A`?>``"H,5K-C-,O+(&)R$L1VV+
XMOK?$:7P&X79AV!IPYU:.'>7.R'$]P]2+ZWV;&LJ1$N00<@T1/,R1V!V$SI)M
XM16B,^1U4[.9NST._Y#$<Z^N2J42_3SG';!2;\RW)9%".W_W`32S>"12P`'X&
XM.!;4PV<SF>0LP]2;\5:0]58UG;G1L:R41U36K*R/&END(COBO1B5QOCAW$U6
XMBF2(OE;.O3R91%"9G1P[*'E$6;0&=:`F^!4D3D`$1SL6-A@K[2;C+#.T/N[+
XM(\*WNS2W%STU'&*HC</1Q9B2?:MYG:$S%VV"ACL<#(HD#"=KYQ$:$U[3%7[A
XM;C<A&UZ^5M*;PY=*^.LH$#>P6/)SH+(V8+'0F&T;.R+)0^43J@86SZ0_0T$6
XM*M0B^T0$7G%3)0%5*V:[[K2:+\'*-)%627$P8,D_?/'H->&X<;U0BWY7.P4?
XMV'I26FDLL;$X(2$0+%)=)4%0/B'I##*#(N&XAO6F#.(5#R%Z#&YQS\$N[E3&
XML.Y`)R7/G%=W)AN_&;MNV2)7J95`+;M.E7&RNC$<).OM?Q6_WR)7Z#L:I5%6
XM1J,:)0*_;Y4G<RL<[PZ]AR=6VHM7^KMR3-$&[4MR#:U86L;`F=5M$!9BH&5T
XMU'%E#QA\YA;4)M:;*S"0Z(;2/[S2U>FKE#J`A@("!GC$0C/3RHCM")$>U`%:
XM!/%2<IJ`Z`F09C#Q;4X;(LB=!Z+4">CL9QQB:VR"&;V",]O@C_:0LX(CZB/Q
XM%+\CQX0K"'B)F0@X?T9E?3($34`@GF@&'YD>E&8E4\.8.L,N^]$$0E`$4E#U
XMAC&7;9#U.<XR7`_UGS(%S#T@1T#VM.$TXY/V+6J:G'B/V;B-;"\0>D\$GI@2
XMV?=F9@8P`QG0AY@T?R\#@RCX*I(2/`"%.*"L5]:;6V#X,:]G7IOY2OO.AR,M
XM3$`%2"`%3^!_2/!J[)*-14#UQ5RCYJ'Z!-+X\2TFPO%$U^;!4Z1@DR3-+@_S
XMMVF(;Z@14Y"-/ZMERCIS*J!EBN^-1%"URF^/S!_`*Z>XEQFUSV\>?^_\-HS]
XMT7^9GF]K^`P1C>3LC/T1N;W[G?^B69VWT(^/C&^,R*&XP0CFH9F<PC&_94[.
XM+",<EL__\<BNUJTKF1_5MC4R\]$"E>^N(8B&GA\$;F!1O3(Y1)3;5K2]6&0_
XM1JXF_O\73*'D3$ZE2]0?SQP3'8P"]Z_U.@[FO=SN2).'7!Q]21,JHT(DEVDX
XM5;`E$$%JSCD;F)$Y%C.*'\%(;"#-AY8USU_Y[OKR`]F+5%ZTQK\C6I;^UK_]
XMB;B1MLA(;*"X22;_64/E16O\.Z)EZ9^S/@[DQN_BR+A,(H`\7-&H1@,GY8C*
XM!FX_1JXF6L842L[DO1TQ,4`Q5,R<Y4CEPT\$Q1^T6I;^5%ZTQK\C6I;^1\1(
XM;#`?;:O\P.KBR+A,(H`\7-&H1@,GY:AEZ3^046U;(S,?+5#Y[AJ".@[FO7PT
XM;[`&"+>]Y;,CMZH0;[`&5<.];;`C4\@R;N$655,MW[:]S?9NXS-PE_G@]:TD
XM\W>EPK08EE_0A-0"P1HWBV'Y!4U(*["10QVX,(>V'DX;'5PUBR'B6D^/+K,8
XM\&V`>&@"C^T6*K(8EK\8MRFHA-0"P?K8;N$6BV'YBW&;@DI(*R"(]3_F,(>V
XMAU3B\HZD8.[.3BX24!XBT6$O,A7E_)4"4GZ7,='!*'#_6J_C:E_BPK'UTW@D
XMCREEG@@%54`%J))P)+GYM]GY:]]KKHK*:NXHBW&;QQGG"A)B%UXFH)4D=O[P
XM>+X8>AXE%J_2TYGQ5$/$'G^`(8^J!X_M*%\0!R%P(HB>BZ'G8TSS"GLA(HCS
XMMZ/SY</&/0^P\Q)Q"@`_%J_2TYGQ=E=Q%OMQ9*``L9+$(@TN*ROR(L`#?S\A
XM!U(^'@\",E`#-=#;^B(#(D#=^M*M$(,"<+,>$5%?;P#<R;T$Q.W<R;T$R]W<
XMYO/<T4T&>)!+J#HA%>CJP)W<2T#<SIW<2[#<S6T^SUTCHY3_"4CSO.,#T`@_
XM%%>Q-/5Q9*``'"@B*-`&=I!;BRCS*WL:<]`I0SL9(CP&P1-G32;D1\+TL44A
XM",@NP2P%3N")LD?:P1-GA-OZDY$TR]S,V[$C(B\"/+#,S;P=/K#RHL'+*Z[.
XM^=?.(B\"/+#.D.4#*R\:O"SR(L`#D"4A$>X#<4(AAKCVDQ3U:PU:(B\"/!#6
XM0^`#TO02+LHNHUS*H"7R(L`#HUS*/B!-+^&BW8B/H!4K28P"^!0\<=9D)/(2
XM+MJ-[@]:L9+$*(!/P1-G.Q+Y((`#,4?:P1-GWN%ABQBS;0,"TK_VCMFH488P
XMBXBJ)3`&<4(A<+/VO9:?\$-Q%4M3'T<&"D#4Y.*Q`;\9Z,O)%++TL/4<OBR'
XMW8B/H!4K2?RS)4TB+^&BW>C^H!4K23P9Z1SY((`#,4<46[#5)$(4LP0"TK_V
XMD]0GP2P%3@!:(B\"/!#,4N`$/B!-+^&B[!+61;*(J,H#83T$/B!-+^&B[#+*
XMI0Q:(B\"/##*I>P#TO02+GJ3,P-:(B\"/!`R/B!-+^&BCREEH-7ZONSQ38$'
XM-Q""2$WS(L`#,(`')8`'/A`GBO<UH#G4J%H"8Q`GBK?U+NIK<]"(C,O4K:H`
XM%TL&"E!E=(">%QOA*[OB&F=U)0&%>KTTP2^4G\MQ'G\>1*%Q5O=*=?.>R6D"
XMP=)+>[-\H!E>=(">TEHB&F=ULO?F\'.Q9*``>(,"XRX>:("^*ZYQ5D<AG_R(
XMSU&EOV0W0OFY'*>T1]2G(N,<PRDX79\>Z'E*8-[+*5*EOS36"TB`N;KT&F=U
XMLO?*\1*P:'Y$P>(">98TP>("9Z('N92<)A`L288&CD+C=R,&+F!FP>(">08P
XM[.H<Y#<RSU&EOS36L'$C8]T$'.]`87HD*'"Q$6ZMF$@NSQ,L+O`7J"<&+I!G
XM*8!Z8N`">3;["@`_%TL&"M`T1>JQ`;\9Z+OB&F=UL3I)Z8&>CF+C432^)A`L
XM4=*X-V%8L^AT;]<&<2>Z`J14)I,&#TMW&D06RHN)8.E.:4+M%&MQ-/5Q9*``
XM9B\#3E/M@27N>N6^967VZ$MQ%1OPG^Z;,;#5_PY4B16ROQ,3_V[8=N7XAZ;Q
XM9E^;+&KV\6?V_:XD\S<P:R,T-@LP49U8*5`UEO.`/^$4\'H"S)DK9H^*]<%K
XMPCBT9N\H1]0&2V.S`'.$+8"%/T^GFF&`?Y%+@8L1=-.9C7L3+F)JW20;C<09
XM(\@43H5.5WE1#5%=#XB8$X)T$[A/UY?IH_Z[.I@FU$ZQ%D=3'T<&"F`'0Z8F
XMXU[M@27N>N6^W=N5K$B+9H`93%$L7^#3R],9*QO\*F`&F`$W9H`96R@T46L&
XMF$%()9"4+&,&F-'Y3!];*F`&F+&)-SG!X&CC450L7Y`\"1SP&)$"4GZ7+LJ)
XM)T`&@WDSEB,#3O,MQ?(%R9/`,M+AF.FBG'@"8S"82YOE3%$L7Y`\"2PC'8Z9
XM+CHPC1IE4V:+U"H"R`,10P8'*Y\`.T[_8I[EO6$&F,'&::YP&YSYE0@_U?Y6
XM"N!</(@"XU[M@34<'KMRK$B+9H`93.$"+N`"Z%LL7^#3R[/`CW-$R[)$_=%$
XMUV-@4I1@`E,L7T!Q'20Z9&4&F*'"0Z8FWV(&F-$Z^9\`Q?(%*2@Z^0^P\Q)Q
XM"@`_%%>Q-/5Q9*``S&$HY'*Q$;ZRU"H"58!4DE)A<#`?6]`"0T`&=+!G6]`"
XM1/"?/1!@>[8%+5`%_[EG6]`"2;`0*[%G6]`"4[`0*]$%T`@_%A\W4)$'.N%S
XM!7L5ER$&5*<2Q;$Q8\'*1<42``06;<43N+XE$'%28+$0M&%Q-A5:TQ,4;9!Z
XM35=Q.L@<)625>>"XE$T:)=%(3JZ\(+@E>5%4+"%^9=$K<.H33BYV)]5N5N<@
XM0D<&O5L2C90Q9Q`2*6`DC8$1"<`B+@(CB^.5LB$&F)@G6[#5<",&F/AV;1!W
XMJ&%"AE'(&)$`+.(B,+(X7BD;=/)36S`#X($D,K$E'['I*8$\G])(=/)3P^C'
XMGHT1"<`B+@(CB^.5LG$79X`&=+`%,P`>2"(36_(1FYX2R/,IC7079X`&'P$V
XM?NS9C-/S@5ZP&=%/)[40M&%Q-A44;9!Z35=Q.GA2R5L&+5`6EIL4)>%.2!4B
XM2N6XQ001I'84MLM*AE%"O3(YS<LX@4<;T\-IIR$&F)@G]5X9M#$]&,$&<K`%
XM6WU-[#$"!&,T("`$24`%F((">)`"8F(@>+`C5.@'*,`$HD(%7]`Q7\`$11`$
XM1L`'`G($2$`%7]`Q7\`$11`$INP9%K^(\A$#,7""!&,T;R$J5/`%'?,%3%`$
XM06`$8@(#>(`#,``#,'""!&,T.)$$1X`$5/`%'?,%3%`$06`$8@(#>$`#,``#
XM,-#&H#D"!&,T;R$J5/`%'?,%3%`$06`$8@(#>(`#,``#,``#,``#,'""!&,T
XM.)$$1X`$5/`%'?,%3%`$06`$8@(#>$`#,``#,``#,``#,,#4K3H"!&,TPO\%
XM3"`J5/`%3%`$05#<>)`"8F(@*(`'.T*%3"`J5/`%'?,%3%`$06#*?):L)T@P
XM1B/\7R`@1X`$5/`%3%`$05#<>)`""6`@*(`'.T*%`G($2$`%7]`Q7\`$11`$
XMILQGR7J"!&,T?O(%0I`$!:)"S/82F)@"8H("*E0=8H")'F^`,[!G/F"`1HV)
XM)@H"-Q`[5!@#)T@P1M,N2%`$0[`$0I`$5#`%8H(#$T>Q%D?N'T$;T[,9E_&Y
XM=,(:%%>Q967VUSL'[$%Q%4ON'T$;T],89T`;TW:Q$;ZR%%>Q967RTS,'[UYQ
XM)!-XM#$]&$$'"_PXM$H;TX.LFR8T="#->-`K53<&*#`$4``%Q)TK)C\]LM<N
XM4``%Q/T"+J('RU@I*D`'^9\`DD1-)D`'6=T")C\]<S!9C7L305!UQ!Y5URM6
XM@4>#3JZ\[F08S<LX%%>QY/Y0895X"C`KUYL9"^V]B;49,K^R%%>Q9=4BES$'
XM[UYQ)!-XUXOOG+'`D^>^Y/Y0895XG-$IM'J]R+II0L,9THP'O5)U8X`"0P`%
XM4$#<N=(BER%[[0(%4$#<+^`B>K",E1+D:$[+)LH96=T"+7(9<S!9H5$CHR3-
XMAE$BJ^7%._SF"5`C9O-]KM3;Z7@V97$&34+=/,/0B841#\T##$1"QN(#$AT:
XM->)VV>=*O9V.9Y,VLE3=.H?AG-%S@DX$:W.]8D!U$6$_1CX?I`86"T$;%F=3
XMH34]^_0$VVM1Z9WR!V$8)=0KD]-`]KR(H`M4B$)"IH94<$KISAMXUXOO"E#D
XM1XX"X^ZQ`8\1*L1L965T-!&"*QMXUXOOG/'OE6?OM#$]&'$'O4$1=]`;W306
XMM-<2;I!D:8`'3"$&F,@49B`&F+@Z^(N)W(('3"$&F)@G`NR]B841:]`;_JZ?
XM[;*M'Y'R!V$8)40G<[<2-:2$YV0>*L1L+6%E35CE*K`&.T*%^I>-<+,&6]H2
XM@+0TU@=;SU$UEG.]%,)I[`(#H&4XLG2]8D!U)9$'.O%J$;ID0W%,JT\%8F\W
XMU`2,1W*]G[LQ"AUXM#$]&)$"LW*]F8$"*@0[.F/VUSL'2DM-767OUXOO-'(9
XMGTLGZ](G,=`J5V<\E_&Y=&+F^(N)X%IK/W0&1_%J:Q\:CREEK7)UQG,9GTLG
XMT8.)LF0>=.(3&3$$2%`$0[`$0I`$5#`%'PHQ*`"'FR@&F*@D0I`$5(`I*'`'
XM98:)>3(U9B`&F/@[F.CQL(*)LF35U.TG7R`$25`@*L1L+X&)7(Z_F*@D9B`&
XMF-C;PO\%`G($2$`%7\`$11`$Q7T'98:)>;(CGN@6;M$Q7\`$HD(%7\`$11`$
XMQ7T'98:)>3(U5V<>=V`G<K`%9B`&F(CX*XZ_F#B(:]]K^1D:M*PB@7>]^)X"
XM[/LXCE\CH[3`H7%.YJ%">=`IAC,$`1%0K'39%/10M%%"-$A-:J2$)C/=LX<1
XM*9&;PT\$/[L&.]*V@F\>*J`N_+6E#[*E$#G=;=,N2%`$0[`$0I`$5#`%2T-^
XM/ROX5S/65:X":T"ER?K)+F-T-#$4Q[3Z5"#V9[U:7KS#R<HRU`2,\8+AG&&"
XM&F]T-#$4Q[3Z5"#V2T--P(B*&2%+AE%"#\,B$S5`Z:V51N<@FF-$TVT>*I`2
XM7H`1QS6TY3+=5'C$8:I?T^T#/E`?298&>-!H<-PNZ$(:0'1U>>*P:D015\<L
XMM#%MCB(&F*@D4/`%0I`$!:)"S`:1>.`H%'$'98:)LJ2:TRVL8H")O8T327`$
XM2$`%7]`Q7\`$11`$1D#=;R$J5/`%'?,%3%`$06#*+UP&=V`G<K`%8H")[-I5
XM]DX;TX,1*3`KUYL9**!"L-,IM&HYUSL'`),T('\D%'$'=B('6Q`"8H")['J]
XMGTLG.D,1=U!FF"A+?*#08H")O?T6HD(%7]`Q7\`$11`$1D#=.)$$1X`$5/`%
XM'?,%3%`$06#*9GX9G[LQ;E,&[!LO&-Y5]GZ]^)X"%'$'=B('6R`&F'C-\/.:
XMSW<9GTLGQ]%-<K%$_9&$$(,"<"B'9B`&F*@D=U!FF)@GT8.)LH3]24`%F(("
XM=U!FF)@GQ&.WF"A+FF8R>""FR+A,(B`&F"A+FF8R>+#R1R0&F"A+!F@R>&`W
XM:R\F<X"_F*@D4/`%0I`$!:)"S/82F)@GN=)-<F$>['LD5V<>=V`G<K`%<X"_
XMF!C01V0&8H"))JHB<X"_F-C;.)$$1X`$5/`%'?,%3%`$06`$U/T6HD(%7]`Q
XM7\`$11`$IFPW:Y\`\$-\97`'=B('6Q`"8H")[,J^&M]-<J%I12:'U_NY&^,V
XM9<"^[P/F"-A-8V$G<K`%<X"_F,BN%,&^1])-8U%FF"A+)F`>?C`9^(N)O8T3
XM27`$2$`%7]`Q7\`$11`$1D#=;R$J5/`%'?,%3%`$06#*:'Y$8H")L@2%)H,'
XM2T,1=U!FF"A+?*#08H")O?T6HD(%7]`Q7\`$11`$1D#=.)$$1X`$5/`%'?,%
XM3%`$06#*.H?A767OUXOO*4`1=V`G<K`%8H")DP4_%PL1>H<'O5)U8R#21*$'
XMZ#ONB841<F`'G6)%<F"'*G*Q$/%)O5)U8S`9>C"1199,R+A,(H`'O5)U-%9-
XM'Z%J(=(&<DI-<F`'/7>Q$*%W>(`N53<&*'"Q$*$"9'4:<Z`'Z#ONB841<F`'
XMG6)%<F"'*G*Q$/%)Z%)U8X`"9#4'>C"1199,R+A,(H`'Z%)U-%9-'Z%J(=(&
XM<DI-<F`'/?=SSDMQ%1OPC2%T9#!<B;49,K^R%%>Q`8\1P_0C[UYQ%V=7+:('
XM_V[8ZBO;QD,;=.(&4,J*M$@C,L\VK_PXM#H'>E";=!**0C-,?6(>>-`K53<&
XM*#`$4``%Q)TK+:('2C($4``%Q(WF(=(&6I8')OXCA2<'Y<,@CF(82C),/_+"
XM<Z`'(-`"YD$GA#9,?=(V+4%HU&08$J<B8H")LJ1I)H,'8HJ,RR0"8H")LJ1I
XM)H,'*W]$8H")LF2`)H,'=K/V8C('^(N)2@(%7R`$25`@*L1L+X&)>9(KW207
XMYL&^1W)UYG$'=B('6S`'^(N)`7U$9B`&F&BB*C('^(N)O8T327`$2$`%7]`Q
XM7\`$11`$1D#=;R$J5/`%'?,%3%`$06#*=K/V"0`_Q%<&=V`GS"$'+S`'#?,"
XM$B$&+Z!E</`"6L86:```````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````;@$"
XM-D`#-``"`.`6;J'/`.`6;J'/`.`6;N$6,4`#-@`#4!T#,V`#,%`#,6`#,"`#
XM-V`#;@$"-W`#-!`#```"````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````"I,`))`$%*AE;($&+&"&,9#7,3`#("`#,!`#.?`",2`#+Q`#
XM-/`3-:`#,#`#.A`#-D!`AB(I(+#J($`"":`Y/6P&"1`"!&,TDG$G,S+6!&,T
XMDD$$3S`%^3<%GD%Q%8L<K"@'"=`<8]"P6\"N(@`$*#`"*:!E;($&"1`#+N`4
XM*"`#>1T#0C`%3`X",@`#,@`#+Q`#+W`#$LW4K>IS!9L10X`H>7`79X`&'^'T
XM,@`#,$`#+"`#,*#7(!`$DRP')=$$AC*72J&#*"!>D@($;%`',N4";.`1:.`"
XM6Y("^Q0$+W479X`&1]>[-#'M5N&X.2%!AK$;'J$82S=`Q80:1+$7#?--3341
XMKV/';3"^'_04LO%!P>&X!J2"%E=Q:&%I`I$HID8':;J()U%3,[427F%"#U-U
XM4X&MAB5!<-HBCCL=CZP31G(3,=`6.2%!AK$;'J$8+5*Z1+$7#2,0R>&P;<`<
XM3Z43G6-"Q3'/R0$'>7`79X`&=."X;A$W4&%Q9<`4)E42/EVZW2M!<-HB2&="
XM#U-U4X&M$I2EB1,BJ7X3,M`6.2%!AK$;'J$8+8(:+S$1KV/'*=$&S/%4(G(2
XM9&`4-\@2Q3'/R0$'>7`79X`&=."X;A$W4&%Q9<`4)E42/EVZW2M!<-HB2&="
XM#U-U4X&M$I2EB1,B+NL_CNL6(-!1?0,0+NL_CNL6;<JXH1.&3IHW;D"$<4/F
XMQ1LY(-[005,&8IN"%=.$83,'!!PY;^RD(5.&#(@[:2:"F%@&!)DT<^C(22.F
XMCD&$+A2`4*%3!0@J2)),`3'EB1$J5X)(*0)"*`@H4IY824*D"!$00K+\1,(T
XM2!6@3Z2```,FR%"A)TZ`".+D*ENM1;!`+3)E:-B>39M`89+$*HBD4J2PI=)W
XM"HNF3H8PJ4(DB9,CAX5\!>'D"140?)LDH>*7RI/#0)DFT<O7+V#!3@C3Q6L4
XM1),B4H8@&1Q$2!*^5+2RO6IDLQ.Z0XV$7?M4*>$A59@H?5I%"I0G4[HN!=%X
XMBN(@HZWFW(F8\A,01:P424UT-A,F6[M^13)<"%.^M9DP%2[V+?4D2X=0.>RX
XM<?[]>#DV!%7C41$$$X=-`441`QYX6%Q%D*94%H<--\033D07114%)G$@=4$T
XM$<01=(&`@H"+-?989%_A5=EEF6W6V6=/187<4J^1U]H450@Q!6%4?,74$4\\
XM081=8D4GQ51#T+4#9M#9900(543'`EY$!&%@A6)!9=1F4SS97I6.`8<89X%5
XM`05A&*8``GM7A`<;"$-X%9U;;8&`X5I.9(%7:&%IU1I\MN%&X5]<A2:68W1B
XM2(5@^B7X:!+Z8>9AH9L=.IQG4E"!UXF)I>C8$905<01?)";&U'"6<27%%4(5
XMX:920HW:G7U)"3I9:Z%1&9V>1OP9U%!%'058$0^*YT134P9!Q%1W`IO>4U$F
XM@6ENTO(H&X@BDKB="B\HH,`(:;@Q!AMUD`0"#S&]](8+:/B0P`L^F?&02V74
XM=,8+'Y5+AQD[A4LNP'P)8443P9)K+KKJ\F!'&V;`Z\.X`KUDAKATY`%'264`
XM7(<;<Z1QAALE@3`&&F%`5,<<)^\@;AEXT%&1&PGXFX!,=;!A!QLNPRRS'#3;
XM;`9'.O.L@,\SUSQ0`F6P,?3./<><M,U-SU%TU#\'O3090X=Q!M93+_TO&UX?
XM%D379QPV!-J'08$VV$`K34<"3;#M4MUDI^V:VWD?UD031+Q]M-1QGYQR`BK4
XMG08;91R6N-N+EP&WUG.39$:YY>I=[KEEV-&TRPK0JY`<9W1D+T1LO/'&&G7`
XM@8*;X(YK>;DM]98G"+C#('O'M(.7VIRXQR"NZ#69849%(*Q<LK\S;\1&'@&/
XMFP;`4R2A11%&?>$8%5]``4(//8`@`PA\\&&IP0CO?CG)=$*QEPP)X*!`QAM;
XMGL#'(8]<\AQH/$0'"&VP`_U<-H*JE4%]O1N"^Y@`OQC08'X:XY@9[@<RD9',
XM)/X"H``U1L"*34]<(Y@=R1*@0"A(Q@@)2``*8K`N'K3O?2E`X`BM<*`U20$%
XM>$B!"G'H)A.8J(0G;$$,4A##$/)NA@<Z(0]WF$,0^,`'+V1@$458!KHM@89,
XM0($8#C,&':+@BV)P$P]<6$(I@F`%)NIB#&5811%A02E'F$("8B`#',S+)TT(
XM`QY`,(*(`"QEI5O)&Q0"P#",`20N($K_<F82,;1$(&^HPQG0$#TCKJ^-0<`"
XM5::@A0388`9W=(T>0<`X-YQ!)6\`V!!RD`,0C$0@!KE<19Y4`Q?(P`4T<`$+
XM8\?&!)C0C7.$02C;4"Z/K`P-8C#D&HIW/(B$3`\MX:4E:9<`(U3!"7Q90A$2
XMH+MICE`_4F#"$X8PQU!^X0L7NB::SEE)*B:@*D80)SGA)SHJFB1VWJPB5$8D
XMSP2`4G3=DX/7+M+.(U:1+]@<9P)H8,XO(+0([,2G.WMS'H76H*$4A>@7"GI)
XM/0E!"?KQ)!M!0$,I'"$!-P@ERCIBAY0!LB.\%!T5*`(">[$A=2@Q)0!7]C]'
XM.M$UF83C4$)FKI:P!'HI:XE-<9JYORAE61(U*)U8"<<$R*`&__3)*EO94H&2
XMCJ.].\(0ZF12J]:`H:([PQC&`(*N`G(E*/O?1:#G4SF4`0YD&T/)4*(2&$1O
XMI(!Q0CE%5Q0D',8-$B%E&<ZP$9.A#")1[>B%$F/54/X("X=-+.,8RP;'I@RL
XM[)N"$ZI@!!1F%3Q4P"P($/N_S3;6<)`5F#N%P(0E4&6AH<3>?E:KV<6^]K&@
XMK2)M;4L$^%U4=..)0F9;Z]O.PO:OHJO"'):7D(L<<I`P@\-"0H:0X":`@<"<
XM`?Q2*+J+[+%<)#GO0`8IAM2-80W(T^X9R@!3V1K4BD)``1M8@`8OLF$%7^SO
XM&'%`Q.'Y)`YU2,-['5N&]YKN7G-X0T`\*]`Q_*R^(QW"%Q3$(&["``8Q(&^]
XM[F6&,,2$90MYG4=21M0S!)=.7X#?AV$P7M&=#@1YR`/C\*!B.JQ.(&G00U,C
XMF\`O7$&T3/`P#!@:2K6<@`4GX`(=GAQE.5"9"VY0"Y'9I^';?C@&P@SE%KX0
XMAA;H(0@MT`(,6I"#+KRXRT00YH=E$&;1C;G,9TZSF[?<$@U'P<,TJ+-/ML`%
XM.7#AT#_8LWTE^X7&'&$SW`2SH$&PA36W^<U?X`H6N$GG25>:S64V`YJ-H.B7
XM$2XA*SL9".:PL9/)80M=`%T^FS*%(V-SB2A@=8/1\&H\N-F'*-"PK9E0X%D+
XMY<A+9**;P`>"*$^9?.;CX??"Y^0I2K561$AVKEO-ZRWX&@0^A+.U.XIM&.!:
XMUZ[V]J]A3!48C)N:0G'T9L[-[5ZO6\/RIL*[1RB4(41!V^CN]K?#_84HK)%X
XM=3`>\D28DH,DA,\)$$)EI""B)`M3=#%9"!E2ULB$-].[0A`1.4.,<1_;M9#7
XMQ=?Z&HX0#.<SXHXY865%9]<PF&3C!*DI2-K@2C?`P28UC9S+9_L5F9_V#C.1
XMF4L*$@9!KIH.9(CD_V(7$SG4P<*N?$/Q0+`'!=R/99140?%<)C>3P4$F.PCE
XM&.H@![L.Q"-O8%YLO9Y!,<Q!#VE'N!F>&<UPE1TD.HC!8<JEO,`?AGYET`$-
XM7-8'EU7]ZO\[R-95,%\?%P\%_DJ!R^P0=Y/\W/*YQAG6)9_PG6A]\&\_F>85
XMP/F1@*!X=BU#Z*T^>JV77@627SW2@/9TVD?>]@"#@QAD[<ZUR^'L<JB9&%K@
XM@S$@OY?FK3D9E,]\N^NAE\RL"/5]4+P5_#*3V"_>]HL'PNF=[V#!VGU"'H]U
XM.[#:D"VA":O'<!CKSK^##/E@Z'C"'8;?)"$WMCD,HU21TW/VTA/APGZ1MS#I
XMPG5>IX`]=RX-J`(D$S-D-P8M]S^I%G9FX`9A$!!YYQ/&YW;_TX%<A#*FM#P`
XM,P)LT#OV\C'WY'<8"#(:"':F1SH=&((FPW8D6%-NL%R>E8(Q2'=OUX(D@UAD
XMET'T=2YND':AM(1A4#^K509W8(3T=7CLU1(V1Q)#6';E<CE&DP`02'H`@WO#
XM1X211P9X0':M=T^;,P<7F(')8X,JD(/20S#6@GX/*'K_XWZ+M1-^^#44DW\7
XMTW@C)2`"`@+=1$5$D075DQ@@(#R#DS6]!WD1R#`[,3U"!SJ$E0=M(`9OT%D$
XMT5Z/-!!R`#W1`X%SX(FCZ(`),(,Q,8>J1H$?>%=D%T#TTU8;D4IF$(<T*(L<
XM&#E)6(2T<X'`A7B*QP+#9$@@L1(1%#T)@#O2>!("!0=S$'@Z:%W-B'11V!'%
XME'US1T'Y<T$4MEJ`I(-]E$JC$TB8!S#'8V(TP3BP$RZ&N']X,05\.(?4M6)R
XM,%TK$7L@T#D;40<%X7#?$A%PX$H=@1`MD4HZT!,)T`*K50>?B#R(9R*CU03N
XM(06'<4U5H)&P$4,[$9$@`$W-B`+NYDH`\Q(BP86O!STF^2X(J``0R!"NF$%O
XM``=D]S$.YXH)D#HZ!90NUE)A*(X65#)"24H(X6)U0)1DUP>KQ7B34XE89Y,Y
XMAE@D07Q2Q1!?0)2KY0)$.5)<V92-Y08N0)9L\#)N0)%<1QD?N9'?(SXU<`,=
XMF9$;>1A,8!@@(`5Z603*52J2(@6C<AA'!@5!T"1JTP2IP1]5L9A>%Q9A839M
XML1N'`4]E0@1XB2P@0"(@4(\O-P7BI#U','%%<&0>)HFJR(IA(`8[D3JKTSHH
XM`(LU.(L>&!!P@'K_`TL580:K!X'M]0;O-4LTF8]DN!-S4`=B8%VS9XFKV`:M
XM2('[U7-T<!AC"'P[@9N]29S6J0)KL#YDL)Q8UYS/Z09LL'IMZ!%P\!)R@`)M
XMN'JLUWDJ1SOLV7GF"9\"F"ZRUYZ;9Y\,2!)?4(%T,)\C49^N9X4"2@;N>9X_
XMQS]@*'NR"8P[T8&UR$5RN($1^H/2Z4IJ>!CGB7OF,@<$ZGER0`<&FD'DN7H9
XME&,[=J`ANH,^9Q.8-Q`H^G8YIEW]F)_TN9^N]WDG$Z-TT**?5W6Q6:%T"*(N
XM8Z$JP#]E$(5#^HO/58?.>1@N,*79Z7M9-WEV1Q%,6IV31Z%."EQ0.IT@,*4N
XM4*666)Q)*A.6EW!-&HM(6G74J9V3EWN.)Z>W5SQK:@;@^7MSBJ%<>GMT^IZN
XM=P<IXP:9TZ;_\Z1F$*5C2J4Z:A(5`1+K^:"*RJAD.J.)6BZ?QZ(NDT&;(P.<
XM*J@F,01CT`8#`:I_6H;8>:1T6#PCX:..%:=6BJ:KAZ32]ZH9I'IU.JO;66(G
XM)A.P*@;T1Y5\>GN86E,F1@=KV0:P>C*R>J;;V:(J@`<U=U/`>:`[<9L9>G?2
XMB@<78:UC`*O<^JC(>F)CD&+Z*:HF,Q`&FJZI:IQAL#-N$*IRL*O0.GG'F9R&
XMM*>KIIJL"9VX^:RUUZ72::8#>WO=B5[\*IZKN1,G2JYPD)YIL)[MN3)R\`)S
XM(`=C\`(M*`8OX'QP\`(^!E]F.08`<+(HF[(JN[(LV[(N^[(P"[/2:`,T0`,@
XM``#3J(@WF[-^A;,Y:P,V@%4V&P,S8`,P4`,Q8+0SD+3!`P,S\&$X&[-2.[54
XM6[56>[58F[5:N[5<V[5>^[5@&[952R\)0`))0`8Z($@DZP+T9P>1J$LY,`/B
XM`V(Y\`)T9+?C$P,WH'A[*P.M)%!G,%_@@0<)20*($RYWF``A8$_ZE7G@YD.,
XM2P30,593$$,99Q!C\(J/)89K%3)D`&MQ*0)`@`(CD`(C*Q!L.T<NX%<H<$LQ
XM$`,^0@1N0F=T9K<O<`,B@'\68V!X,00YF0<S,4G_$YNS^V$TP`*=UDI!P!`5
XMT1%Y-#(K$V%FN18W!0+!BP9TT!%V-5URX#ED\"UX(04E`1,R01,VT9,:IX\]
XMMVJ1I+%::)-B4"XI`SVGTP9S<!A\14GWDK]2AQ=M\`86HV`%B1"'D50>41'$
XM1`<R(Z(A\4HF,1$%`5=*%8I,I5,S^!+_-P=X8<`!00</R1TQD$CB^Q)59[X9
XM[$?LRW9Z93(`W!)MP%/66P8$44PLH1"@Z#DL#`?`*S+8BQ?2R%H*UCAP!1.D
XM1+XH?,$L!S(*89,UO%1OD%,N1L+G$@9I$!!R<)"WM)?C6\(U<<+?*+^G6%,/
XMP7,O'(MV]1$`?'5&15.K&1(M@8$Z?+UTX,.X`\1Z=7AH0,0M&(OJB,0GG+Y-
XM3,%/W%123#95C#PT3!%T[!+`29&P-,`)H7$.`1$201$6@1$SL1$=@<8MN5<I
XM04DU3,+EV\4&V1/"XA3%@A1*(1I#X2534157D173XA5@(19D81:TEA9\@B=P
XM(1=+41=Z(@4!0AI]<16G,1B%P1^APAB#B163\2*6HAF<<16>`1I<D1=[4<Q.
XM%1C(O!K<T1JO$1NSD1JU<1N9LLL@T!M4\!O`3!_$89B=0BG)L1Q0T!S/\2NK
XM?!_6H1S9000'R2B5`1[*<AE38![HT2NTS!YBX1Z6$A_S,1SVX1\,LEO]@1\3
XM?27<@8B-:2`(0A0+TB`=#2$2(@6:(A:3I2$<DAH>@AY9TBTE`BJ*P<PKXLR>
XMPAW0'"/3_!,TXB4W$B$%DBT]\B.;(22;621'$LQ$`1M,XB10`LRM427(@B5:
XM$@1<4B-?0@5A@M22\8AFLCVP(05JPB9.X"9P(B<F;2=^L1MZLBQO(2S80]+2
XM0BCFG!N$F2BNTAV3]2B'N5L_(IB5(M>&4M6<4M,^`=.B\ABE<BI)D"I-@M2M
XM`ANP$AVS(IB/2"J,@BM!H"N7P2O7#-7`<LK$8A2JO!3),A[,LA;/$BM7P=E,
XM<<_5<RV",B7:@@3<,B)%\"V(2R]_\F.&:I)B#!$U/`0><<8@H5=S$&%7_">6
XMK(4G-Q$`>1'%!!+G2S+7")$2Z:O9>Z[SZB:N:8T1X3G`35.:"G15MZ0\-UTI
XM<S)-=6,7<08*!I&:ZU(6UKQP%<%S%<,(-K%::&$.-P??0I(J"C,J9E=TP'9*
XM'&$=G,<Z908[)\$]]WF]9][U/<<C63,=<9PIL9J,\]LX9DAC`+XC^00L`1%F
XM\#'\W7)'+&'_BVK3]<$J0)*:VJ-N0N`&WA%-)U!W0&&&]#,Z)V$./H*P].#D
XM+1/F_=\2N3EHH&)ZG`;P]>"JUL4@<&B1S,3!6XUH8.,GEUT:5Q)&GCSFDN1N
XMLJ`4T1')M&!-!UL[;I&#5,/C_3_E_8$@[A-)\*+_@W-GOA"OUQ+2U^,\5P:?
XMC#SM<A`1`1%-!X[__$>OYW&(K+U+2@:#]S\H4;TTSGO8,R5W0!$)43$E`\B8
XM#@)J0)$)6>9K@!<^YN`?T3D'L3*)KG#)/9(2.5T&<7E(BGPID$A"H.C`/4A[
XMSN`2=A@?8Q"=-5KG<1B3GA"5_M\)<`6=7NDQ7.!`4Q*'`0<YN>K-U.6P#GPH
XM,.LR4>NX<^NL[G1(EQ)&]0:FS!TS51',O<8`B5?PUQ%VKI`Q;',N3I+8C6+;
XM?1)YK&HK14AS\*V=U=T3?A*+TUGV_MV(3.=+1Q!=/C3VKF*7CNX!"=YY,!%-
XM1<1SL`9I$+$E`S-Z=78NH=_\[3D=@0(,7S0B^>)'_N4]%E<17Q$3K^`N9D#Z
XMZ-_E[A.U%,(A/#Y4(%`@0S;_YQ$K15_S/D1T@A#@_3]5,`3+4NI?800M@`/X
XMKF"41,27'L%PL%8S+YW-<U/0$YMHP#ICX`:U#I'2*+[_B\.%9B(?0Z@#41(G
XM'XVXX[MN</3_*#)6/O(GLP9T<`9O+P-N8O9N'.52GDB4408;'S,"93(&'(`D
XM,1":2-_IRX*T\]\SX"94P-M!5@;_7?9E</9OK.*P-/+87:HR.I/2TY\MP2Y0
XMU[$2<_H2V#`E;$JMKS"OG_H\V2ZS?Y\-8P9A3Z*M[_H#"`(B`++P(@+B<KD*
XMUE;P.08"]!)GD.UTJ`+969!LE4'.+P/+ZJ/3C[D9"ELS"/VS*/UU2OW*[WH&
XM%!/.&:K(SU;G.3V6@_X!ZJX$P?WMWX'O3P?I+__D?YX>M'?X'_\Y.IS[;Y_^
XMG_\Y.IS[O_P:WW8/H?[SG_SG";*$"C2'JO_T#Y\PV#'PK_[SG_P*"K@7`?_J
XM/__)S_\MZ/_YGZ/'/__)?YXFGN2YZIXO=TVR@7E;Y%@Z1!/5EW!;T`(M0!/,
XMYWPRX6;A<S+[-]P2T6`_[S54_(MV97S<E1#%1/O!SV=`A07:$RIRDF22I@">
XMNC"=\SD*X*GF8JIB6BY5-Y49=/'2?@=P>/S$V9^9V*!P>/SSG_SG>77S:J+;
XMG_SG.?JF2@>@FGGCS_VY^O5[#ZJYVE^<Z!,(_OEML.*KUFH:X5P2!HH/!A&8
XM,W6+5F38I$(:QF%#P`?"AF3[UF>-MFG!MF$?S0=PQ@?XMMB;P0<:IFG[UF?:
XMHT(:QF%#P`=PQ@=PYFX9ICV;%FP;]M%\`&=\`&<PP`<:IFEK9*$!]VI790-N
XM%CY=1T(;]M%\X&>'`0/*"`/*"`/*J&$<-@3*J&$<-@3*"`/*"`-7PDW**&Q(
XMIHP:ADW*"`/*"`/**&Q(Q@=^=A@PH(PP<"7<I(PPH(PPH(PPH(PPH(PPH(PP
XMH(PP<"7<I(PPH(PPH(PPH(PPH(PPH(PPH(PP<"5>)VQ(IHP:)@/*J&$<-@3*
XM"`/*"`/*"`/*J&$RH(P:QF%#<"7<I(PPH(PPH(P:)@/*"`/*J&$RH(PPH(P:
XMQF%#P`=^=B4DU&B814*-AEDDU&B814*-AEDDU&B814*-AEDDU&B814*-AEE>
XMAV^814*-AEG<I(PPH(P:)@/*J&$RH(P:)@/*J&$<-@1\X&=7XG4PH(Q=AEDD
XMI#V814+:@UDDI#V814+:@UDDI#V814+:<R4DI#W*V&7*V&7*V&7*V&7*V&7*
XMV&7*V&570D+:HXQ=IHQ=IHQ=IHQ=IHQ=IHQ=IHQ==B4DI#W*V&7*V&7*"`/*
XMJ&$<-@1\X&>'`0/*"`/*V&57XG4PH(Q=AEDDI#V814+:@UDDI#V814+:@UDD
XMI#V814+:<R4DI#W*V&7*V&7*V&7*V&7*V&7*V&7*V&570D+:HXQ=IHQ=IHQ=
XMIHQ=IHQ=IHQ=IHQ==B4DI#W*V&7*V&7*"`/*J&$RH(PPH(PPH(PP<"7[ESS_
XM\O30V&7*V&7*V&7*V&7*V&7*V&7*V&7*V&570D+:HXQ=IHQ=IHQ=IHQ=IHQ=
XMIHQ=IHQ==B4DI#W*V&7*V&7*V&7*V&7*V&7*V&7*V&570D+:HXQ=IHQ=IHQ=
XMIHQ=IHQ=IHQ=IHQ==B5>UV7*V&7*V&7*V&7*V&7*V&7*V&7*V&570D+:HXQ=
XMIHQ=IHQ=IHQ=IHQ=IHQ=IHQ==B4DI#W*V&7*V&7*V&7*V&7*V&7*V&7*V&57
XM0D+:HXQ=IHQ=IHQ=IHQ=IHQ=IHQ=IHQ==B5>UV7*V&7*V&7*V&7*V&7*V&7*
XMV&7*V&570D+:HXQ=IHQ=IHQ=IHQ=IHQ=IHQ=IHQ==B4DI#W*V&7*V&7*V&7*
XMV&7*V&7*V&7*V&570D+:HXQ=IHQ=IHQ=IHQ=IHQ=IHQ=IHQ==B5>UV7*V&7*
XMV&7*V&7*V&7*V&7*V&7*V&570D+:HXQ=IHQ=IHQ=IHQ=IHQ=IHQ=IHQ==B4D
XMI#W*V&7*V&7*V&7*V&7*V&7*V&7*V&570D+:HXQ=IHQ=IHQ=IHQ=IHQ=IHQ=
XMIHQ==B7UJ-O<`8:=U3H.WN;47A%XD1`R<U,=T3\Y[H%N`#VP9>/,E:R$[U?,
XMEG$,P7$'Z5?F5^F'$0+AXU?FA^`R#/,LS$A!5[VML^JX/9SD[R\*H*F79Z(Q
XMU'4)8%?N'1.`;J=E2!-QJ8F,,P?,1Q-D9U?N'1,'SUQ^J@=Q"0.@4S,`@P()
XM`44IV74I9'Z8MWS<=W<_11/,YWPR<4:K%4,IE`#%'HE/(CJ0)$E3GQ#@"(UB
XMJ`=Q21/5=W<@<.3+UWS(1W8)$!!MX'QY@'G+QWT)YWTAETD@\.IZ,'C+QWVE
XMAT8TP7S.)Q/4J0>KEP!]("XU`S#M*'3,]X6+,VT@($0QE$+%KH@$9'X%HX<_
XM*1!QJ?W2UXY"QWQ?N#B#MWS<EW#>%W*9%!E9P!D<QI>FT@+?AP6K5T`<<4`_
XM*1!QJ?W2UXY"QWQ?N#B#MWS<EW#>%W*9I#;N$T3?AP6K5T"$2'<`HU\",6T@
XM($0QE$*1^A`H(`)['JGWTET-"@(E,`<B,'@-.@?,]Q!GT(&K5S,`HU\"\5,I
XMV74I1!/,YWPR$9??AP4@\.IXYW7C=W=Q^7U8<$:*U81>UP=>5^R*E1!H='>,
XMQ[O<(;[.'LD@D-_OU0(8^&,F@>;SW>IR#C#@&)!M<'9Y\"3%KHBX/9SD[R\*
XM$`=K]5@LJ@!=EP!VY=XQ`>AV6H8T$9>:R#ASP'PT079VY=XQ<?")B@:@0S)W
XMP)`ZD`!1YY/FAWG+UWS(MRZNM'S<QZT^63,`@P(AT&__IFKA0Q/5EW!;0!/,
XMYWPRL0(KT`4%ED(I5.R.178I)`8UMP9DEP!]X'50>>D%^$6J%CZ:>GGNYB90
XMY&Z@(X9\I6I>[R9=]XHFUA(P\)`I5.R*^"2B4S$HW*!_]8HFUA)5=@(/F4)G
XM(!&#1#)WP)"@\XHFUA)1Q@4G\)`I9'Z8MWS-AWS3YDK+QWW<ZG4II*F7YVYD
XM)X9\I6I>'Y<T47T)MP4TP7S.)Q-=X"9=ET+GZH\G4`<G\)`I=*[^>`)5<`)I
XMZW4I9'XQ2OH_"@)>ET()4.S-=F@G0'8I1!/,YWPRL0(K0'8I='7SJFK,=@)U
XMH!8_``(VF[8$1G8I)`8UMP9D]XHFUA)5=@(/F4+;YWPRL0(K0'8I9'Z8MWS-
XMAWS3YDK+QWW<ZG4II#3"QZ;N1G8BELX'P@1`$155<`2T'3LI=*[^&&59]I`I
XMM'W.)Q,KL`)DET*:R#ASP'Q+R`9NL`(K0'8I)`8UMP9DEP"6$P8YX\%>ET+%
XMWFR'=@)DEP!]X'4)<`82,4@D<P<,"3JO:&(M<0(_<`(/F4*:>GE^3W8U`S"8
XMMWS<EW!;0!/,YWPRX6;,=@(_<`)NTG4I5#,`\T6J%CYYO_>@2A/5EW!;0!/,
XMYWPRL0(QT`5$-&V*&$,IE$+%WFP_<`)DET(T47T)MP4KL`(TP7S.)Q-N%CXM
XMXW4I=`82,4@D<P<,278)T`=>EP#%WFP_<`*@\XHFUA(G\`(G\)`I9'[!AC;0
XM%H&F^C_ETW-5%T,IE`#%WFPO<`)DIS2D3P<KL`)DI[EQ&0=K]5BO0W9*0_IT
XMT`(M0'8U`S!>/VW-]@)J43Z.-6W-I@(GX"9=ET)EEQ#AHXF,,P?,9X5(Z'4I
XM-/JF2@>@JJM>ET+FAP()P6R:R#ASP'Q6B%@QE$(I5.S-UFQDEP!0*?-=ET+C
XMEW!;T`(M0!/,YWPRX6;ATS)>ET+%WFPO<`)DEP!]X'4)<`82,4@D<P<,^91>
XM%ZD/@0+#3TF1^A`BL'H)4.R*^"2B@P58@`71TP>\RQUB3DAH/M\0(>I.Q^8(
XM_^9M,)/K7_YDH``FGN2Y&D-=5S,`$YO3!@)"%$,I5.R@4S,-.@?,1Q/,YWPR
XMT0(MD(0`TXY"QWPTP7S.)Q/KHH@QE$*1^A`H(`)B+NK4CCPE?E,BL'HUTZ!S
XMP'PT47T)MP6:R#ASP'PTP7S.)Q-N%C[@WU]CP'B\RQWBZ^P)4;YG8.6%%+%-
XM]5SW`@.X/9SD[R\*D/=[#ZIVY=XQ<?")VE\*T'5BR%>JYO5NTG6O:&(M<0(]
XM<`)IV^P&WFPC<`(7:&(M<0(H<`)IV^P&WFQ;<`(7:&(M<0(I<`)IV^P&WFQ=
XM<`(7:&(M<0(\<`)IV^P&WFQ[<`(7:&(M<0(^<`)IV^P&WFQ]<`(7:&(M<0(O
XM<`)IV^P&WFR'=@(7:&(M$65ID;;%WFQ><`(7:&(M<0(A<`)IV^P&WFQ\<`(7
XM:&(M<0(M<`)IV^P&WFQ^<`)/Z77%KHB,Q[O]MZ2=E;\LW`8!,1#>F!!-G*RK
XMIMTDT^I4-__)WX8*,/JF2@>@:E?N'1,'GZC]I0!=YW5VY=XQ<?"ME:Q6&)>:
XMR#ASP'Q6B(3BHC2D_S_A$P-)"#!>/VW-]@(GX"9[``*B,P0K@$88V`8!\7:Q
XMDT*77H!?I&KA$P=K]5BOXR8A0&U8=@(QE$()0'84U*.ZZG50*?/FY_73UFPJ
XM<`)NTG4I=&,HL`,[X"9=ET(U`S!?I&KA$P=K]5BOLVSAXVY>ET()(`8UMP9D
XMET+FY_73UFPJ<`)NTG4IE$+F]T6J%CYQL%:/]3K+1FTO<`)NTG4IE$()(`8U
XMMP9DET()`)4&Y'4IE$(FGN2ZZG4I!)4R;WY>/VW-AF4GX"9=ET(IQ*-)'F59
XMMGHIE$*:R#ASP'Q6B%@KL`)DET)]X'4)T`=>!Y4&Y'5,TW8/@0(B,/JF2@<R
XM(`*K5S,`X_73IH@QE$*1^A`H,/R@_W81;(4@4`(F03+@'9`,,0<B<!AD$Q-6
XMN'I*0_K_$SXPP'B\RQTGTV!KP.$\"=YSL!$M@.;S+0<M4)L-F1!M7L`,@1<?
XM`^&E7L-B+NK4CCP"@8$N:6)40@5.CP.X/9S[WWD*<'7S:E?N'1,'_S]BKP!=
XM9Y3Z8Q))Z7SU1W9VY=XQ<?")B@:@4S,`$Z.D_Z,^^:YF&)>:R#ASP'PT07;;
XMYWPRT0(M\"1V5@=54&HI1!/5EW!;T`(M0!/,YWPRX6;4=F@G0'8)4.Q/*2ZO
XMF)#A`P-D=^D%B`)NT`(2"44IV74I9'Y?I&KA$P=K]5BOLVSAXU?E8R(!]VHG
XM<V^9%A?+%CXIV74IE`"$"C2'*@+E0I2NQY/@/0>_)=\\7IME(`*KET*AA`58
XM@`6KMDAL8!([3I!<[^407L.P9>,V6>PZ&SLI1$$]JJL@(#I8@`58$)#J&#LI
XME`!B4'-K0'8)T`=>]XH)&3[.!\(V<$8??P;83Y%>OWH)T`?B4C,`\T7.MRZ*
XMB`=AX%<FX$/.!P(A$#XP@`<R8+,FX$/.!P(A$#XP@`>!]KAF!P(A$#XP@`=&
XM&T-PCSOEDT8)Z0/A`P-X0`8X\&&/:W;K$CXP@`=<8SQ$%$HV@$LN,`.V!(U,
XMTW8/@0(BP)/@/0>_)=\\7IMOO!"LE>?Z2`8BX)XU`S"QF9!0!`-X<`/&8SS&
XMPYM>QS1M]Q`H(`(\"=YS\%ORS>.UV9!`IXX\/U\BX)X)D!#A`P.W&)<P@`<W
XMT(M>=^D%&)L)"45MX"9=ET(FGN0P@`<XX%?1YGS@IHAX,`.\N7HIY'Q.Y`/A
XM8P-DEP`\]T3A@P)NL`)H]`.1"`)IZ_=/Z74FGN1?Q'-C%(ENX@6*B`?'XR;F
XMXWRKUP>\VW]+VEGYR\)M$!`#T1$/GQ`M(-Q$O.-IX#D'.07Q^OEM$!`#X8V9
XM3KA;;A+:^`9S\`,_\`,SV88*0*JF2@>@:E?N'1.`;J=E>'HQ[-XQ<?")VE\*
XMT'5T!S"YM@;2?@<@ZG6OR*[RZ9XU`S!>/VW-]@(GX"9[``*B,P0K@$88V`8!
XM\7:QDT*?IW4H<'J.M7HI%'4^F0"?IW4H<'J.M7HI!)677H!?I&KA$P=K]5BO
XMTT,^I&HA0&U8=@*KET(FGN2ZZG50*?/FY_73UFPJ<`)NTG4I5'5Y^D5(F@(B
XM0"\B<!A:MWHI=&,HL`,[X"9=ET*:&Y=QL%:/]3IDET*?IW4H<'J.M7HI5#,`
XMX_73UFPJ<`)NTG4IE$+F]T6J%CYQL%:/]3K+1FTO<`)NTG4IE$()\'E:AP*G
XMYUBKET(IE`!B4'-K0'8IE`!0:4!>ET(I9.))KJM>ET)0*?/FY_73UFQ8=@)N
XMTG4IE$*:R#ASP'Q6B%@KL`)DET)]X'4)T`=>UP<*T`>\:^X"!=[^Z,;.I%W&
XMO<0F@8%M$!`#83H-SN8(_^9M@-$^(;[.KL27TX__@UANT`+OM\)H/M^M3G7S
XMG_S^H@#U?O4LJ@!=EP!VY=XQ<?")B@:@DP"77H!?I&KA$P=K]5BODP+\46M3
XMX/4%ED)D5^R.Q7B\RQVWFA"P9>,V&1,/$7\)43R)=`6%:L-2)TB#E)2U25^X
XMK0!(J@"N^IVYB@;$OECD"^AV6H9:%T-=EP!VY=XQ<?#_DQ#AHW7,YWQH)RX)
XM$'4^:7XHH'7,YWPR`0(2F1#,YD:;I`4QE$()0*A`<Z@B\$J.+TL0P?&&3P8=
XML54@4$NWE$LQ(`*KET+FAP):QWS.)Q/K$A'+QWW<ZG4II'75EW!;H'7,YWPR
XML0(KX&;ATS)>QS0<<4`IE`"?IW4H<'J.M7H)`)677H#;MFNOIFKA$P=K]5BO
XM<V_:([MDIW75EW!;H'7,YWPRX6;A`P-/(CJNU5FQ0T$]JJM>5^P1L7S<EW`K
XMT(0*T`?B8J$C43Q;X$:;I`4K$`.Q9H_<<:L)`5LV;I,Q\1#QEQ#%DTA74*@V
XM+'6"-$A)69OTA=L*@*0*<*O?F:O]I0!=EP!VY=XQ<?#_DY#A`P.@DP!1YY/F
XMAP()R6QNM$E:$$,IE`"$"C2'*@*OY/BR!!$<;_ADT!%;!0*U=$NY)'C_:.(%
XM:4HBL'HI9'XHD)`NY$:;I`4QE$(U0P;%LP5PX&;ATS)>EP!PL`(K\)11O^';
XMMFNOIFKA$P=K]5BO<V_:([M)2`;%LP5PX&;A`P,[J?*ZZG7%KJ%CIP!]P+O<
XM47G\7KXZ=2]H/M\0(9L+\3_I.P?Q&G__8V(@X-Z>DQ!B`#W?.Y/ORA/U#JQU
XM-ZQVY=XQ`>AV6H9:%T-=EP!VY=XQ`>AV6H8T$9>:R#ASP'PT079VY=XQ<?")
XMB@:@4S,`@P):-VUN>1XQE$):%Y>5A^T2%Q85YYY*4W5Q&0-D]WE:AP*G]WI=
XM1'8WA@([L`-NTG4I9'Z8MWS<=W?3YDK+UWRT[G4II&KA$P=K]5BO0W9,PQ'Q
XM!S`G8AW_IFKA0Q/5EW!;0!/,YWPRT04%ED*:&Y=QL%:/]3IDQS0<<4`IM'W.
XM)Q,KL`)D)X9\I6I>[R9=ET+GZH]1Q@4G\)`IE`"?IW4H<'J.M7HI5#,`@WG+
XMUWS(-VVNM'S<QZU>ET)*(WQLZFYDET*;8ZK_$SXQ0'8I]'E:AP*G!P)QL%:/
XM]3JKET)*0_K_$SXP0'8I-(,&L9:2XW6O:&(M$659]I`IE`"$"C2'*@*_CL#R
XMN\!%_#,;(0*KET)*4W5Q"0-DET(FGN2ZZG4I5.P1<88IU`=>EP"?IW4H<'J.
XMM7HI9'Y>/VVOUT5>ET)B4'-K\)1>]WE:AP*GIXBKEP!:QWS.)Q,MT`+#6'5Q
XM"0-D5^P1<89]P+O<47F$=.IH;-PM-I$52>@V.0?Q&G__8V(@X-Z>DQ!B`#U:
XM=Y#%;CH3&XN(Y08M$+$ML*R.!!&P=9!7T!)K@%@Y#L'_0_'>:..ZV((FL:R.
XM1.AL('UY$.<)$+$ML*R.)`<ZD`#.GQ+PG0")Y/PI`=\)$+$ML*R.!!'.GQ+P
XMG0`1VP++ZD@0\4J.+TMRT`*(E7_N3>$OGD(1VP++ZD@0T1+C"-\)$+$ML*R.
XM!!%,,8[PG0`1VP++ZD@0D9#C"-\)$+$ML*R.!!'>,X[PG0`1VP++ZD@0@=L*
XMX"\*@-W9;U?N'1,'GZAH0.R+1;Z`;J=EJ'4QU'4)8%?N'1,'GZ@R`#HU`S!>
XM/VW-Y@(GX"9[``*BPUH?[]YB&G53YW<)\'E:AP*GYUBKET*J%CYQL%:/]3I/
XMZ74WA@([L`-NTG4I]'E:AP*GYUBKET+F]T6J%CYQL%:/]3K+%C[NYG4I)`8U
XMMP9D5S,`\T4!]VHG<V_:([O3IK,FX$.J%@+4Y@(G$$,IE`!B4'-K0'8U`S!>
XM/VW-5@9J43Z.-6W-5@1J43Z.-6W-!@=J43Z.-6W-!@4GX"9=ET(U`S!?-`;C
XM$SYQL%:/]3K+1FTMH!;E8S+CPVPGL`(GX"9=ET(I]'E:AP*GYUBKET(II&KA
XM,P8R0'8I](H(81!K*3E>ET)]X'4I9.))/@9^3W8)T`=>UP=>5^R.Q7B\RQU3
XMH-T@D-_O]3P.WN9!M^'HK;$P_]OS+I$G,`)JH9X-9A`B;]T@`%]Y<`</008C
XM;WZL55-$LS-O+Y$8V`8!,1`:O!,0B00:M^&Q7SJ'19&.U(]+_,!5'H57+O`J
XM<:YV]=]/0)[0\^Z\SG,1&W2,@^4M8>_DN-R'U3G(LQ#0L[W:3?,C.5-ZK#H)
XM2<0;0:AY8./_@S-%@]NBJ@#UKMTLJ@!=EP!VY=XQ`>AV6H:G9[UVYSARP)KA
XM8P)R8'=DIW[$>J6E)WQD9U?N'1.`;J=E2!-QJ8F,,P?,1Q-DEYK.V;#0.8R)
XMB@9<)`,[28=DH),@Y$Z;9#W;1$?RDP!RL'S<5WKAXZW.<ZV;9#U%L`)#1'9R
XML'S-AWQQ"0-D)P?+QWUW%Y>;9#U%`#H)<`82H>L?`SH)<&,HL`,[X"9=)V(K
XMP<.MI3H)6>K>N6JMIA'.]5@8)F*KMDAL8!+*`P*5!UO\8A//M=S0F``WA@([
XML`-NTG4I5#,`@WG+UWS(MRZNM'S<QZU>ET*:&Y<T47T)MP4TP7S.)Q,KL`*Q
XMYG4I9$!>ET*:&Y=QL%:/]3HN@P?=K0,I5#,`X_7KHHANHFKA`P-/(CI8@`58
XM`(TI9'Y?%'"O=C+WMF$?[28A$#[NYG4IE`!B4'-K0'8IQ*-)KJM>EP!]("XI
XM-`=\I6I>[R9=ET+GZH\P\)`IE``,;O@H(`?+QWT)MWHIE`#%#CHI=*[^&%@/
XMF4+GZH^3-00/F4),TW8/@0(BD$PF\5S:==PE(0*KET()(`8UMP:@DT+GZH\G
XM\`(GD+:BX[MM$!`#@6$II#2D3P<KL`)DET*J%CYQL%:/]3IDET*;8ZITT`(M
XM0'8I9'Y>CSO,=@(OH!;EXUC3UFPJ<`)NTG4IE$+F%VQH,VV*Z"9=ET(I5'8)
XM$3Z:R#ASP'Q6B(1>ET(I-/JF2@>@JJM>ET(I9'XHD!#,IHF,,P?,9X6(%4,I
XM!!`)`B:`4X?.&#0H3H`XD6('B!<J0-1P$8.B"QD@X,P`H>*%`H$)^H`HPV9.
XMF8\@AXQIXX:.#!0FX(AA`>)@0Y0A1Y8L`V(/SH$%#R9\P7#'SS-OZ+P!@8?-
XMFS=PC`KL@U.,G#)AUAA%.2:,R85<W)S0\3"BFS)WV*0Y.X>FF3=R,L(!02;-
XMU3%TTM@I,X>C1X$00=#)RK/K51!OS(!@4\:,TKUQP_K%>0=-&L8@4*0Q<YEO
XM"Q]\Q[!Q`\('"!@I>OXD:!#AB;!%?V[N/.=SZ-$M6D@5.)MQ;1]JS[IYLV+%
XM[I`X60M]+?8F;\Z^/P<O,[SX5L`138:1<Q#$V[AA0(R8+*>.&QT"*W?.C*)[
XM#Q!QQAS<CB)%ZA[O7]-1R(=/330@X+?00BFL%A1"-AVW66;NY5<"0ZJ!M"`*
XM[6'T7GSSR5%?:B'DIP-#/R5@GE!CR."<0"29%*)["XUPPG%4/<<@@`'FYV*!
XM(,$!1UT:GIA`BB>!A)123#D%U7%68:65`EQYQ=,)/XR%TX1IB/'9&'#0(<<*
XM,93V7I6?B3&''CCRYH9,=9B!@HD**J:9E3Z(D>868/J`I99=U+A0E*GY)"&<
XM=VYIG&QNM@?@>P>M0<<9+]4IIQET`IJEH%W85Z9`0R[5U%-1R2:IEB"T\)X,
XM,"9W8$)\(GE55M<ET-57KYTP5EG_;1<&7F7$-<8;;LPQ6$N3R8@"'6:P$<89
XM?1K8FJ$^)I`DJPD$EN&M=.1:$Z^^AM%27VF<,=Q59`0;4(P!!69$$$PP0042
XM4CQ1Q1%(B/OJDUR(,&M@OLJQUAE]=32EFW.L`<<;=\QQJ:LM35??<69X14>^
XMAM(4DQ@^/KMDD["Z,"NMW\G5@AMUM"&&M?X*B\(<<)1QD!Q;E!@@?/*A05\*
XM>9H`PA!?$)'$$4E0<=][J$4HD'*N:=QLID5R6JI`(R+()L9/PC#KO`O%,+63
XM"\EP-:PS;/TD#5(&1/4)-7B]D`UFGW!#VCBDG4/8`4T8\,`%'SQ&PFN5L3!.
XM+#;L*\AM1`S"Q#XBO>F13(J-]0E,P#UV%8XO7@?<"5#YZ988^?`EG&*2*=N9
XMCZ[IXX05ONSHG'4&6JF>K]D+0G\U69@?%[(FF^.I"?YD,8PZ?36ARP*>T/;@
XM-C>XT.3$XP3"\B"<#FGJDW*99_#U0N@G;Y=;IRS$*-0Q1W<JI"!"'3B(T.SN
XM.)$;;43GIKMNN^_&6W("9#061AULT*&#`B-L5K]B4!@"SHA0!"&\ZU_L09G*
XMT,"R@]3L9E](`A%^=IJ#Y4H.<$&!"/SVL*ZXP7Q&&0%UZF(&!**@6'-@@QW8
XM8$$Y8%!#&W38][3EG9*HD`T@Q(D<+O<R&!R'#'-YSZ/20`;![7!TA7(#&UYF
XMI#74`0XH`")-C)`$)TR00^]Q0A7293N3O4$,+UL#9]Q01"7:!P0=`H$6N2@T
XM8:G@BV%*$^M:P!__O)%S<@S>"D`$DH`0+2$$.D[<`"8P@ADL1`BC@\*:Y:PT
XM*25T7Y283!@Y(3C::5*E.4WR^LB\S%CR45NP9*!:$(/IY8>.K^-#B#KYR3F)
XM<E*D-.5"]F@?1/Y1(;'IXZ.NHK<O-DM](@%2&X'R,"U%$0X^4A_ZH`86VNT/
XM>W&$5&Z@AZ>7O89V;6(/BS`DLQYAL9E\Q%12-&6D3@WM5-?,94#0-ZZ/4(4J
XM"H"(`C@"@BDHY3`TW,P+2+*@Z2"&-&C`REPZ!H?MS&%?-"F#'<+`ACJ$H5H@
XM:,.M,-@7;85KGA'I"AN6F(<\%%0.)JF/"S#JD6SE90P@\![X.KJ63JV%#LT[
XM"Q[@(`>CF#0-*'VI`LHP4SDHS`YO(&*!_,33:LF!-"\%@1L>Y;TRD$$J5SE#
XM&GQEK7S5`2_-^Z(<[T@3%>Q0*E;%ZASRT(;!@%$%2I1*4M\PA&(=ZV5M-=89
XMI*)2`*D`B%`M@U2I&I>DCH$F9*")_QISG1V^[`QE>&2:4"`$)SQ!"DU`EW.6
XMFJ:FDB$W4HGK6[]DAO_U\#H=0\$.=M!%E%XH9C,SRN'@@)[*N<FTLVM.55:U
XMI$$RB'5&:R-KOHB"'=+D!$;+)H44N+*6O8R;,WO@`'?6,PJBYBCC3!KBVFE;
XM%"1A"CKC&17:<\;KN>IE'`1<>VARQ.,8KIR[(=?O6$>[.M:$O?;J8@(X"+&_
XM@J"\?.-57D!6AO2B9+W!:UPJWQL\Y,$.M@N!G'R;%L7CHM:;P@T7]6JW/KI,
XMU3#AN@,1>5*_@WKKH7`1E]CTNY8Z]!<EZG73=24(`^[*%X@O6U5=BC@&'RF1
XMB4]Q(A2E"`(J6A&)F;FQ"6RFQ,_0P:,\$1`!C<"$)PQ!OJ[U['MBP#MA4JFS
XMC8'R;L70VYDH=8D_J)I"R'("J35KL(H!6I5WTCPWW3B-:V0"E//6TY=1F5#L
XM^6(8QUA&%G8W1*V$U"NKJ>80Y4NQ:@HT>2DFR$::@9<H\*4@@[F3$&VYR[\U
XMLR#I3-//IJ]W03KG(S&]$$VC&-2F&K5O:^*<&.TPFEMX]24)?1JZNF$YL'$.
XM2\\48SR:02JF!4%'/QI2Y^RR#'K#;P(H:P;+:B\!FCW#R]CJUKE^Y"ITJ,-1
XM:V(4>.JTHXS!`PJ`*E0%^"FJ4S5J3&%Z$)J4B"9TN(YZ,$,A%JE@UW`H#@5Q
XM.6#CZ2><4H'I>ZZ;W9XQ"P1AUF(3A%`$*8"`+`=1ZVL!Q`,0Q$`&."!>9HC+
XMP):A0;E?,%&9@,<1?#\;2%RQ4*T3-P<-MR8S=+`=U6!`%FQKFS17"((4G`#L
XMQ?4`;K^3W4)^GAJ;;[L(4=@-.\<6`J"_5N@G(/I]$WMS-19!Z;3M.:SXX'0&
XM09WK1:?ZMA_[6*PK2>M/,D'72Q<\M8<]V]L.@A7E3@2SL^HC8^/!VH&7'[V_
XMO>I,F,)N@LXZJ1N=-$RX.DJ6OC@?[!WJCO_[MJ4@^/\^O?`0.CP(CJ#X=68=
XM[XO;XS/'1L=GNG9&>BK1I2Z801&L9:%J"1=-RT#3-XR!+W,(,51R!>*XE&`,
XMOQ>!N]'@[J=Y_NR)&UM[3=_1X=3/!5!YF<(9+H7=-/\-SR?C%V#_L@SMR@TP
XMP?>)-#_]AE^':N67@NG'8`<ZU.4,X<]#2\<O=M*D_SK_NU_^3#^A%1.AQ3$G
XM7_B&691A&?3F?RAP;_)W)K4$$B8W*`)Q?<\7?5E4!0MG?C@A@67@`MK'?84F
XM$.1G@=3G7P&A>1'G3A\Q@+IQ;?7W']W&)/)$3T&@5&CA'>NQ%J)1!_5#!B-%
XM3TF@&+W!%WH29_!F&=S2%W004#8(4C`%'3QA42#`4#*6!XB1,F<1+B?C?FN1
XM`CWH+^1&!@I`$'.`!D[8'M@"4W7%$4[H;F>84M]C5V;@!H(%+$2$!S3QA1R!
XM@X?D)V$%4SC84.%2)6F25WNE;GT84SD8+BJ`4X28;M:R5EJ"/RMT'3CU,B8@
XMB+_V$3CU&3(E<&U&&Y3H)DZ(1A7(1M=#.IOH`VL!'=-FA?76AAG"$2FPAB#P
XM!%\@!43P!$[`!%EP1A7W7"CB0JTGAF38&63!>G&Q>Z11`G,@?#;(&">2BG!Q
XM!G%H.F/P&7$8!FV09,]X8M55''^H4"2129&%!1'D!$.0>%90!'*&$\BH06K1
XM!FG0A"'&%M42B+<&B$+(4[?G5$Z50SDA3*=XC:KH!JSX@95#D--8C5]"D-FX
XMC2]CAKV"AF\HBR+``[Y2%V[@`R(@%531/XK!!$D@!%;0!$:@B6X2A`8C-';0
XM!FV`?9N1!YKAA+]A!R:!++O1DN;A%&.P!C-)&Y]ADWK5:II(D$(I;>_1DA(%
XM!S<)$U6",O85CGO!0E+1DCSIDZEXE#<A0F2T&2A)&]:H5@19)8>56%JE)D)0
XM109D!,Z1BM,Q''8FEK;Q/:/A:0GY&1*%!S)FC5>B;9,BEZI(!GA@.H()F'IH
XM.K<V!X#)D-[A!E)!4XJ4-R@0`\Z1%.5Q0R\3B3<$6C+D07N#DIZDF2M$BH)Q
XMF:,).RAT0V7RCN/3$KDBCV[P4$YU+5V9%[S"4#GTE;[!ES[0B6J5C^+(!@0(
XMDB`@DB1IDA^AE#!I!C*9E3?I'#JI1+:'E4;YG(8))Q@4E[2"!=RI5$OQ:,@6
XM+%=&&UVDDD%YDR^CE&'`E'KEE&("!U$)G%-Y(E8YG3\9'3Z@E:UBGJKH:Q&9
XMAN'#GT?Y&7/P!6.PBF_@D?PS0E[I*DX14JFXBI=A;&D":1'*:`H`3S$8$5"@
XM+\`R!MIV%<`R,`=EFZ1!)&]0$*S1C5WH$5\8AG(0F6>A&<!B1N;&@H5859&(
XM56EPEASQ1:&8&4U0;>7I)F0PI')U*8?G$($!ERE*!RLZ/^.)GV^Y%`+2)4.&
XM$IV$`DW0!$10;7H"`P/&GW5(FE.0!5-014\F7WHF1&,H4"@``S0A`LQ(%LP8
XM%LXXI)TA6#2)C;&YC4#&I5``IEDJ$)V4+RL!11+I*[42%P':IS[PD&5`$X:R
XM';+8!(/:&0TH$&(24.L9:5Y&IW.@`WC*IT`9J7]:!CYR!_I2+9-)$XJ&&)=3
XM,16*;*!Z(C%":;[C)B$PJ$DJ-'-C2';I+&_ZJ1,SIV$Q'B40+O5RIR+@C/Q9
XMI::*GY(:C2D)J64J(&>:INAX*8=VEA0"H.(#`C/@C(0S>&[&0B#PK:'3/149
XM/B)0JH,S21Z):GY4$+QUK&#1'"^H`"\*HF=2$#3*;D/%/V@&`@$T0`5T0!!Q
XM>E%$I#3U4FHB`F3V>R>``LN:`O**4J8Q`UT29BA%9@OA;@TQ&5Q)0A_!8#76
XMKS>54RVA`.\G`^*%;GRU;JQVHP[+L?D1!N$4;"C5`@O!LR"P`A;G0Q]A9:_E
XM)0L1!#W;?:&RM`I!M#%@M#]2:6+CM$!;9B_"@G!'&F/0KQMZ,[P"&3"5+_NB
XM5"$S,B`E&$MA'AYVA8O!*]+F%&X@;5!X$"JS!H@!&<5","VJ`"T+`O_:?N_G
XMKN"C@,B$LV[;+7!+MW,KM_=E!W:YN-XRFXX;MW4;N2I'M32K;@!*A>^!N(U8
XMLTDE!V'P5(F3!P28`*8K825'FEJ+<$7[<,*V!:7$.GC@7K5[N\&#!0H19C%@
XM`[2+`Q*7&:VK)\%;)E2X`J,B%?/&$\.5,L5U;R"'!$6`!7]6@I+['G(@N1%Q
XMO$0;L^)U;R<B+0'5DWN;*WU[!^(R(=W[$/=UNB!0<=UK(NXHC##T?=E"AWWQ
XMI(BA&*9;MV4`D*QK!RK7O=;W;#&B@=`71&HD@AB8`,^;&??&.FS@7A4<8!@,
XMNOEA8';$P0EF/99'P2!\`A[\NL&C8!F8!\ZW@10(`E5P?RB1!PJ<@BR,?1NH
XM?77@@9%;O!1RO`*2<;`#Q%-F`ZDQ9,)VP]E'!MO'4/-;03.LQ"[LP#$,P=4'
XMFBC`P!18@1?H<$C,P!WHQ+]8)H&A%$MA+'*`6-X18F_K5#1A$CQA`RY``W-,
XM$>+"FOK[*W[8OP7QO_$KP`")N"^3!RP[&">U;@K@?;QBN':%N`7+NGKEB'T%
XM++#G;J/KN>_JP**;.#Q,M1.B`OE&M-1#.UW4<O/8'0D8RJ6U.#Q+%CS\&CSK
XM$.SD*HLC!K/RREQ@R[+\>8H#*V9PRTX\.[^\R\C7RT\B%JX<S/OZ(B`PRV,C
XM!\"\1+,#S<1\=\:\$/N1S-(,%OM1S;5%R[!B!]%L35P@SMZ\&\IG+]I,SO9R
XMSLP4*^,\.[+BSM><3NL\.]C4S+P,SD^2NZ8GP08(O2<CO1T7;*!<O=>;O0+!
XMP]P7$<$[M!;&*.*ULJOQ;-1U?-;,SZ66-E8#<8NC-1[--6D#-NNW.&43TD^"
XM-BB]$&OSSW"PN@$QP=&[0`WT,@<].!!4<#X#90SMQ!&1<43;'D^KM<T2RDN#
XMT=^<?_BC/X*KS'"P!;'D7^YDKPG`PT\=U5@,RK#;7JN)OQHD!O*KR!_D'(+\
XM'L5A3IH'>X7\4)7XKVBP!DHTL,WC+7"AJCC;N=:"APEH!BFPJ.S631Q!$RXP
XMV,Z!UY,,4_&6.&DVU]_"$V%V!]OA!F=[C/CKP\,"7C($GQNRU<TA-!,2<VU$
XM)71]&&EDOR`QL6>1%GDS$C.E,O=(P!7&N'4]=8R:&(NQVO,#T.M!(9Z(7-Z4
XM26**Q#"51LP13@&17E0]7QH$EZGM3P\U$F3DQTX(D#'"8#&WUH?\HD#B*V4U
XM;D%%!H\\(:FY0D6:&211+*-I&J+)0CBQ&TB;&;DQWFS0(<`8$/)MT2@G$.NM
XMP*#69C!GFNIZ/?<-@0FPWJNKJZ'&FB+$9FOAG6[0`M]7%R;JQ":!%STZUCZ<
XM(C>$'_LMWUW]0AIDQA&E+52XX"8!D!J^0CW0X38TB7CWUG']-/`4N"^*9MQ-
XM!]Y=;N<6R34+H&*`UCRN;GZ%!D&*`B'@?RW6-YD]!AORX:T'UN$"DO\#D#\>
XM8U@Q8\Q2Y$WT1"CPXU-411,TA%O4CO;=XFQP<E9;X`#^;(D2UZB!W6W]W0JP
XM&634&#>>X^!]UT%N+3X.Y#EZV"Z8.!-RY&GZ?X:"V;X"E4V.$JP)Y>)!YU-N
XM;`XL8T24Y5B\Y5#DY3T&YM\49V4RX%*1WVHNB6<.@6W.!G%Z$S-NR'%.1#O5
XME69PYU\8WJ)HYI]NYJO[WL,"X&5BX"M8M2H2$`K.H$!(&L/QX!$^CQ=.X:Y]
XMX0`IWF8>IJO)!NB]S52;XM8.;#".ZC+.)#0NYYLAZ]_]R#Q%4XLDN_M-M&0!
XMZAGJ[:R.4MJM%K%.!]T]ZS@+[2DTF@)2W^>-F>^QWC[LX9[M)OV>WJ5)ZI?B
XMW@SN)O%MYO1]*>PN[`MOWCVU2)>2[@H?[&6>[Z5>K[J^WET4\:-^0P=.U<,N
XM[S'EX!#.*Q*^[$M4X2::0QJ:'6&P%[=]%NNV%#WZ*)-QB#N_58!;\Z.!YX]L
XMV.NZHW[HHW=4EHC&6(X%69)UR8_XH?(6T-KD8!FRV6D4-*>8M-33V=ZELA6S
XMSREV6Q/F7@C6.L9-7\9D7Y+&Z&E.3+P52:RFH`D0:*%T.=.S<I#<M;(*Y_`N
XMYUB2,EYM[SO^YT=?'CRJ]&VZKD(/?LXQ[/C+C,X8:!0*GKV$H:O.UH'OZH,/
XMV4>U+T2OYXCO\XP/1N\Q!X^_-Q(<V:(O`B,`^I)=MY0/J[YV^9#V]IN?W7)N
XM'O\C[CJ.HY*<^%=5MF1E5AQQ)E(?%WV^_#9[@EA,Z"QVZ.]!7YIM*8SNU2+@
XMZ"/@^XU!Y9-^Y96>.PZ+`KSV'IC>Y7#PY3_6Z6->)F<2E`R5&(M-M:>>ZH`O
XMN.!>/]M"[SAN^!]A^CR_]*7(!&"%].MZ_&%P5BA#5^_ZX[_YUT6.Y-3O'4O>
XMY$)3Y=PK_C2&!M::0`Z<_IKN8U=T*8TO1FM11"ACK9[D:UL``WE"W-5S*4@#
XMY>CJ2113%;6:^:W6W[]S*+,37T)S;'K#]AK2;@_,12<RU:*.-%"N[7"-ZI29
XM5UUK%%#^3(TNO_W#_S#%(\V^%S+O[IRO_ZY.4\<B4<"?YX<__$-^':S!/7GL
XMAN`C/LE*4\<B40`IT]0/,UE_1L0-&QK7':91WW]$_BJ+!LX!F0I#F?VJ4P<:
XML/\_[C?*M57GVWL#3R/P/WF3`#HC!5_`9%/`!%;`!`D``S`0`_SS/WF3`#HC
XM!5_`9-PZ!`D``S`@`X#[[L2/57Z2QXV:_-KHC7JM`LWF!GT]Z[_9A'*EF!DJ
XM%V2P!7OO)WL``JX7AU/.IW4^[V5%$SHC!5_`9-PZ!"#0!RSP$7L``JZ'968`
XMK5@V[V5%$SHC!5_`9-PZ!"#0!RSP$7L``JYG!M`Z[V5%$SHC!5_`9-PZ!"#0
XM!RSP$7L``JZ7CSHXP'.8B).J27W``A^Q!R`@`D#BC-OM_S2A,U+P!4PV!4Q@
XM!4P``GW``A^Q!R`@`L3NC,1^XS2A,U+P!4PV!4Q@!4P``GW``A^Q!R`@`LCH
XMC(./C#0AIGW``A^Q!R`@`K*_+\[X^:Y?MS0AIGW``A^Q!R`@`O^3-\[X/WE#
XM$V+:!RSP$7L``JTYY33A_?->5C0AIGW``A^Q!R`@`M/AC--!$V+:!RSP$7L`
XM`B)`4\<B4<Y(4\<B43=.$V+:!RSP$7L``B+`3V;@C/PT[V5%$SHC!5_`9%/`
XM!%;`!"#0!RSP$7L``J['_W0`K?Q?3&5%$V+:!RQ@L%BF&$<@0%\P!$^`J4%`
XM!1^Q!R#@>OFH@V7P!9T(K?FH@V7P!9U($V+:!RRPH+">H2'T/WF3`$X`!5!`
XM!`DPL'U]4'I0!HF!`CH"WO![4'I0!HF!`CI"!EL``Y52((#[[OKOZG,S](8O
XM_*3[H42>.(&A!M[CAZ/-$TG($U=1VXJ1A#SA3R4CT]0/,UE_1EM?WM0?6R+,
XM-+?F&KFF*L6,',@Q\QA%%TM!0^)(&AQ451XD&#)#&O3E02`PP<\MWUT(`FK@
XM/66+%=P!(!T3'JEM87>1%WOQM]_NZBCDF88O_*3[H42NV"$F6J0E--OT8'MS
XM+&&P%JUERB]W<-<S<_^\I.\,&RZ-3KG6)J=:I1:MV_1&_3"3]6<4/`-R8(<R
XM._MQ,,+E;S?R$TMJ0O[V(!I'_3"3]6<4/!]R,$N*$TAS+&&P%NB\.,M7@+M-
XM_3"3]6=$W%P]3+]S*/ALW`'AVZPO+/Z6:R&"-,<2!FMQU,ZRS^E,.6N1+W%9
XM@+M-_3"3]6=$W-4#9:;\<@?G71IMSR&"@RSAB7?61[[-^A)R:RSAB50+$K-<
XMS[#QSP&!-,<2!FLA2#/WSW$SD7&!D"!8?Y.6/E,RD7&!D,ZRSV-#%/^\30_&
XM^M7E;T31;X>2'RI@W//E,"O1$B]!_@&!-,<2!FOA7YW42>_$)/&D`A@%`DA@
XM49@1'K-7>[<W![D7%SS2['O1A>+1/!7%!E.XQK[_MR^J(SPR^H<__$,N6+#*
XM!F0P!'3UKC]^'6_`!F0P!'!5;48!+F^`'M%FEZ2CY(E^_?N6:SU!*V70!EE"
XMA3S2[#8_/RJ+!B<2;=/&!F0P!+NQI"@(;6#Z'F_`!F0P!);-<0WT<3B-,RSF
XM7&6"-$\J%57.O>)/8VAP$Q\1&$.RKF\`D6M0!GEP!W"AB'\16FGP6<WSQ$X`
XM!5!0=\VC;P.?&3^^!3`@2SI"!G32!1RHC66P!3!0,R:@I<R#J&V@J+$8/IJN
XM(V1`)UW`@=JHJM(>VK7.\=(^3*F\(W32!2[0;&[0UV=6ZQPO[2&RI)\FD'B&
XM`CI"!G32!2Y0;7UA,SHC!5_`9%/`!%8@9\.4`*F\(W32!2[0;&[0UY14ZQPO
XM[8BTI#^!X/Z-`CI"!G32!2Y0;7UA,SHC!5_`9-SZ9"$B\L@A$"CDF8437>"2
XMH"B&@@XKW](^\)D1!$2*$W,S]/37M7:/0I[I'$@#+@G*)$_Z3/CN[T"C<4$`
XMIOONY##T>@Q%1!EQ%;5W>W.0>W'!(\V^%[DI(K>&(&C@'',S]*JN`*>5]8'J
XM;T31;X>2'RI@W//E,"O1$B]!_@&!-,<2!FOA7YW42>_$)/&D`A@%`DA@49@1
XM'K-7>[<W![D7%SS2['O1A>+1/!7%!E.XQK[_M^0&````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````````
XJ````````````````````````````````````````````````````````
X`
Xend
SHAR_EOF
fi
if test -f 'src.patch'
then
	echo shar: "will not over-write existing file 'src.patch'"
else
sed 's/^X//' << \SHAR_EOF > 'src.patch'
X*** ./usr/src/bin/csh/Makefile.orig	Sun Dec  1 16:45:34 1996
X--- ./usr/src/bin/csh/Makefile	Tue Jan  7 20:17:28 2020
X***************
X*** 3,9 ****
X  # All rights reserved.  The Berkeley Software License Agreement
X  # specifies the terms and conditions for redistribution.
X  #
X! #	@(#)Makefile	5.3.3 (2.11BSD GTE) 1996/12/1
X  #
X  # C Shell with process control; VM/UNIX VAX Makefile
X  # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
X--- 3,9 ----
X  # All rights reserved.  The Berkeley Software License Agreement
X  # specifies the terms and conditions for redistribution.
X  #
X! #	@(#)Makefile	5.4 (2.11BSD) 2020/1/7
X  #
X  # C Shell with process control; VM/UNIX VAX Makefile
X  # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
X***************
X*** 21,27 ****
X  CTAGS=	/usr/ucb/ctags
X  LIBES=  -lc
X  SCCS=	sccs
X! CPP=	/lib/cpp
X  SED=	sed
X  
X  BASE=	alloc11.o doprnt11.o printf.o sh.char.o sh.dir.o sh.dol.o \
X--- 21,27 ----
X  CTAGS=	/usr/ucb/ctags
X  LIBES=  -lc
X  SCCS=	sccs
X! CPP=	/lib/cpp -t
X  SED=	sed
X  
X  BASE=	alloc11.o doprnt11.o printf.o sh.char.o sh.dir.o sh.dol.o \
X*** ./usr/src/bin/stty/stty.c.orig	Wed May  7 22:53:52 1997
X--- ./usr/src/bin/stty/stty.c	Tue Jan  7 20:18:27 2020
X***************
X*** 9,15 ****
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)stty.c	5.4.3 (2.11BSD GTE) 1997/5/7";
X  #endif
X  
X  /*
X--- 9,15 ----
X  "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X   All rights reserved.\n";
X  
X! static char sccsid[] = "@(#)stty.c	5.5 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 257,264 ****
X  		}
X  		if (eq("dec")){
X  			mode.sg_erase = 0177;
X! 			mode.sg_kill = CTRL(u);
X! 			tc.t_intrc = CTRL(c);
X  			ldisc = NTTYDISC;
X  			lmode &= ~LPRTERA;
X  			lmode |= LCRTBS|LCTLECH|LDECCTQ;
X--- 257,264 ----
X  		}
X  		if (eq("dec")){
X  			mode.sg_erase = 0177;
X! 			mode.sg_kill = CTRL('u');
X! 			tc.t_intrc = CTRL('c');
X  			ldisc = NTTYDISC;
X  			lmode &= ~LPRTERA;
X  			lmode |= LCRTBS|LCTLECH|LDECCTQ;
X*** ./usr/src/bin/tcsh/sh.decls.h.orig	Fri Oct 11 12:40:56 2019
X--- ./usr/src/bin/tcsh/sh.decls.h	Tue Jan  7 20:18:52 2020
X***************
X*** 1,5 ****
X  /*
X!  *      @(#)sh.decls.h 2.0 (2.11BSD) 2019/10/11
X  */
X  /*
X   * sh.decls	 External declarations from sh*.c
X--- 1,5 ----
X  /*
X!  *      @(#)sh.decls.h 2.1 (2.11BSD) 2020/1/7
X  */
X  /*
X   * sh.decls	 External declarations from sh*.c
X***************
X*** 202,208 ****
X  extern	void		  prlex		__P((struct wordent *));
X  extern	int		  readc		__P((bool));
X  extern	void		  settell	__P((void));
X! extern	void		  unreadc	__P((int));
X  
X  
X  /*
X--- 202,208 ----
X  extern	void		  prlex		__P((struct wordent *));
X  extern	int		  readc		__P((bool));
X  extern	void		  settell	__P((void));
X! extern	void		  unreadc	__P((Char));
X  
X  
X  /*
X*** ./usr/src/bin/tcsh/sh.func.c.orig	Wed Aug 21 12:53:49 1991
X--- ./usr/src/bin/tcsh/sh.func.c	Tue Jan  7 20:23:56 2020
X***************
X*** 1,4 ****
X- /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.func.c,v 3.1 1991/07/05 19:07:02 christos Exp $ */
X  /*
X   * sh.func.c: csh builtin functions
X   */
X--- 1,3 ----
X***************
X*** 36,44 ****
X   */
X  #include "config.h"
X  
X! #if !defined(lint) && !defined(pdp11)
X! static char *rcsid() 
X!     { return "$Id: sh.func.c,v 3.1 1991/07/05 19:07:02 christos Exp $"; }
X  #endif
X  
X  #include "sh.h"
X--- 35,42 ----
X   */
X  #include "config.h"
X  
X! #if !defined(lint) && defined(DOSCCS)
X!     static char *sccsid = "@(#)sh.func.c 3.2 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "sh.h"
X***************
X*** 66,72 ****
X  static	int	keyword		__P((Char *));
X  static	void	Unsetenv	__P((Char *));
X  static	void	toend		__P((void));
X! static	void	xecho		__P((int, Char **));
X  
X  struct biltins *
X  isbfunc(t)
X--- 64,70 ----
X  static	int	keyword		__P((Char *));
X  static	void	Unsetenv	__P((Char *));
X  static	void	toend		__P((void));
X! static	void	xecho		__P((Char, Char **));
X  
X  struct biltins *
X  isbfunc(t)
X*** ./usr/src/bin/tcsh/sh.glob.c.orig	Fri Oct 11 13:07:08 2019
X--- ./usr/src/bin/tcsh/sh.glob.c	Tue Jan  7 20:25:04 2020
X***************
X*** 1,6 ****
X- /*
X-  * sh.glob.c: Regular expression expansion
X-  */
X  /*-
X   * Copyright (c) 1980, 1991 The Regents of the University of California.
X   * All rights reserved.
X--- 1,3 ----
X***************
X*** 34,42 ****
X   * SUCH DAMAGE.
X   */
X  #include "config.h"
X! #if !defined(lint) && !defined(pdp11)
X! static char *rcsid() 
X!     { return "$Id: sh.glob.c,v 3.1 2019/10/11 13:06:28 sms Exp $"; }
X  #endif
X  
X  #include "sh.h"
X--- 31,39 ----
X   * SUCH DAMAGE.
X   */
X  #include "config.h"
X! 
X! #if !defined(lint) && defined(DOSCCS)
X!     static char *sccsid = "@(#)sh.glob.c 3.2 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "sh.h"
X***************
X*** 85,91 ****
X  static	Char	**globexpand	__P((Char **));
X  static	int	  globbrace	__P((Char *, Char *, Char ***));
X  static	void	  pword		__P((void));
X! static	void	  psave		__P((int));
X  static	void	  backeval	__P((Char *, bool));
X  
X  static Char *
X--- 82,88 ----
X  static	Char	**globexpand	__P((Char **));
X  static	int	  globbrace	__P((Char *, Char *, Char ***));
X  static	void	  pword		__P((void));
X! static	void	  psave		__P((Char));
X  static	void	  backeval	__P((Char *, bool));
X  
X  static Char *
X*** ./usr/src/bin/tcsh/sh.lex.c.orig	Tue Aug 20 16:19:07 1991
X--- ./usr/src/bin/tcsh/sh.lex.c	Tue Jan  7 20:25:47 2020
X***************
X*** 1,7 ****
X- /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.lex.c,v 3.0 1991/07/04 21:49:28 christos Exp $ */
X- /*
X-  * sh.lex.c: Lexical analysis into tokens
X-  */
X  /*-
X   * Copyright (c) 1980, 1991 The Regents of the University of California.
X   * All rights reserved.
X--- 1,3 ----
X***************
X*** 35,43 ****
X   * SUCH DAMAGE.
X   */
X  #include "config.h"
X! #if !defined(lint) && !defined(pdp11)
X! static char *rcsid() 
X!     { return "$Id: sh.lex.c,v 3.0 1991/07/04 21:49:28 christos Exp $"; }
X  #endif
X  
X  #include "sh.h"
X--- 31,39 ----
X   * SUCH DAMAGE.
X   */
X  #include "config.h"
X! 
X! #if !defined(lint) && defined(DOSCCS)
X!     static char *sccsid = "@(#)sh.lex.c 3.1 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "sh.h"
X***************
X*** 44,53 ****
X  #include "ed.h"
X  
X  /*
X-  * C shell
X-  */
X- 
X- /*
X   * These lexical routines read input and form lists of words.
X   * There is some involved processing here, because of the complications
X   * of input buffering, and especially because of history substitution.
X--- 40,45 ----
X***************
X*** 55,61 ****
X  static	Char		*word		__P((void));
X  static	int	 	 getC1		__P((int));
X  static	void	 	 getdol		__P((void));
X! static	void	 	 getexcl	__P((int));
X  static	struct Hist 	*findev		__P((Char *, bool));
X  static	void	 	 setexclp	__P((Char *));
X  static	int	 	 bgetc		__P((void));
X--- 47,53 ----
X  static	Char		*word		__P((void));
X  static	int	 	 getC1		__P((int));
X  static	void	 	 getdol		__P((void));
X! static	void	 	 getexcl	__P((Char));
X  static	struct Hist 	*findev		__P((Char *, bool));
X  static	void	 	 setexclp	__P((Char *));
X  static	int	 	 bgetc		__P((void));
X*** ./usr/src/bin/tcsh/sh.set.c.orig	Tue Aug 20 14:13:06 1991
X--- ./usr/src/bin/tcsh/sh.set.c	Tue Jan  7 20:26:44 2020
X***************
X*** 1,7 ****
X- /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.set.c,v 3.0 1991/07/04 21:49:28 christos Exp $ */
X- /*
X-  * sh.set.c: Setting and Clearing of variables
X-  */
X  /*-
X   * Copyright (c) 1980, 1991 The Regents of the University of California.
X   * All rights reserved.
X--- 1,3 ----
X***************
X*** 35,43 ****
X   * SUCH DAMAGE.
X   */
X  #include "config.h"
X! #if !defined(lint) && !defined(pdp11)
X! static char *rcsid() 
X!     { return "$Id: sh.set.c,v 3.0 1991/07/04 21:49:28 christos Exp $"; }
X  #endif
X  
X  #include "sh.h"
X--- 31,39 ----
X   * SUCH DAMAGE.
X   */
X  #include "config.h"
X! 
X! #if !defined(lint) && defined(DOSCCS)
X!     static char *sccsid = "@(#)sh.set.c 3.1 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "sh.h"
X***************
X*** 51,66 ****
X  static	void		 asx		__P((Char *, int, Char *));
X  static	struct varent 	*getvx		__P((Char *, int));
X  static	Char		*xset		__P((Char *, Char ***));
X! static	Char		*operate	__P((int, Char *, Char *));
X  static	void	 	 putn1		__P((int));
X  static	struct varent	*madrof		__P((Char *, struct varent *));
X  static	void		 unsetv1	__P((struct varent *));
X  static	void		 exportpath	__P((Char **));
X  static	void		 balance	__P((struct varent *, int, int));
X- 
X- /*
X-  * C Shell
X-  */
X  
X  void
X  doset(v)
X--- 47,58 ----
X  static	void		 asx		__P((Char *, int, Char *));
X  static	struct varent 	*getvx		__P((Char *, int));
X  static	Char		*xset		__P((Char *, Char ***));
X! static	Char		*operate	__P((Char, Char *, Char *));
X  static	void	 	 putn1		__P((int));
X  static	struct varent	*madrof		__P((Char *, struct varent *));
X  static	void		 unsetv1	__P((struct varent *));
X  static	void		 exportpath	__P((Char **));
X  static	void		 balance	__P((struct varent *, int, int));
X  
X  void
X  doset(v)
X*** ./usr/src/bin/tcsh/tc.decls.h.orig	Wed Aug 21 13:18:32 1991
X--- ./usr/src/bin/tcsh/tc.decls.h	Tue Jan  7 20:29:40 2020
X***************
X*** 1,7 ****
X- /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/tc.decls.h,v 3.0 1991/07/04 23:34:26 christos Exp $ */
X  /*
X!  * tc.decls.h: Function declarations from all the tcsh modules
X   */
X  /*-
X   * Copyright (c) 1980, 1991 The Regents of the University of California.
X   * All rights reserved.
X--- 1,7 ----
X  /*
X!  * tw.decls.h: Tenex external declarations
X   */
X+ 
X  /*-
X   * Copyright (c) 1980, 1991 The Regents of the University of California.
X   * All rights reserved.
X***************
X*** 34,39 ****
X--- 34,44 ----
X   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
X   * SUCH DAMAGE.
X   */
X+ 
X+ #if !defined(lint) && defined(DOSCCS)
X+     static char *sccsid = "@(#)tw.decls.h 3.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #ifndef _h_tc_decls
X  #define _h_tc_decls
X  
X***************
X*** 155,161 ****
X--- 160,168 ----
X   * tc.printf.h
X   */
X  extern	void		  xprintf	__P((char *, ...));
X+ #if 0
X  extern	void		  mkprintf	__P((long, ...));
X+ #endif
X  extern	void		  xsprintf	__P((char *, char *, ...));
X  extern	void		  xvprintf	__P((char *, va_list));
X  extern	void		  xvsprintf	__P((char *, char *, va_list));
X*** ./usr/src/games/cribbage/io.c.orig	Mon Jan 18 10:56:05 1993
X--- ./usr/src/games/cribbage/io.c	Tue Jan  7 20:30:34 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)io.c	5.1 (Berkeley) 5/30/85";
X! #endif not lint
X  
X  # include	<curses.h>
X  # include	<ctype.h>
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)io.c	5.2 (2.11BSD) 2020/1/7";
X! #endif
X  
X  # include	<curses.h>
X  # include	<ctype.h>
X***************
X*** 20,34 ****
X  # ifdef CTRL
X  # undef CTRL
X  # endif
X! # define	CTRL(X)			('X' - 'A' + 1)
X  
X! # ifndef	erasechar()
X  #	define	erasechar()	_tty.sg_erase
X! # endif		erasechar()
X  
X! # ifndef	killchar()
X  #	define	killchar()	_tty.sg_kill
X! # endif		killchar()
X  
X  char		linebuf[ LINESIZE ];
X  
X--- 20,34 ----
X  # ifdef CTRL
X  # undef CTRL
X  # endif
X! # define	CTRL(X)			(X - 'A' + 1)
X  
X! # ifndef	erasechar
X  #	define	erasechar()	_tty.sg_erase
X! # endif		/* erasechar() */
X  
X! # ifndef	killchar
X  #	define	killchar()	_tty.sg_kill
X! # endif		/* killchar() */
X  
X  char		linebuf[ LINESIZE ];
X  
X***************
X*** 496,502 ****
X      while (read(0, &c, 1) <= 0)
X  	if (cnt++ > 100)	/* if we are getting infinite EOFs */
X  	    bye();		/* quit the game */
X!     if (c == CTRL(L)) {
X  	wrefresh(curscr);
X  	goto over;
X      }
X--- 496,502 ----
X      while (read(0, &c, 1) <= 0)
X  	if (cnt++ > 100)	/* if we are getting infinite EOFs */
X  	    bye();		/* quit the game */
X!     if (c == CTRL('L')) {
X  	wrefresh(curscr);
X  	goto over;
X      }
X***************
X*** 546,552 ****
X  	else if (sp == linebuf && c == ' ')
X  	    continue;
X  	if (sp >= &linebuf[LINESIZE-1] || !(isprint(c) || c == ' '))
X! 	    putchar(CTRL(G));
X  	else {
X  	    if (islower(c))
X  		c = toupper(c);
X--- 546,552 ----
X  	else if (sp == linebuf && c == ' ')
X  	    continue;
X  	if (sp >= &linebuf[LINESIZE-1] || !(isprint(c) || c == ' '))
X! 	    putchar(CTRL('G'));
X  	else {
X  	    if (islower(c))
X  		c = toupper(c);
X*** ./usr/src/games/hack/hack.mon.c.orig	Mon Oct 14 11:03:51 1985
X--- ./usr/src/games/hack/hack.mon.c	Tue Jan  7 20:32:06 2020
X***************
X*** 1,9 ****
X  /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X- /* hack.mon.c - version 1.0.3 */
X  
X  #include "hack.h"
X  #include "hack.mfndpos.h"
X  #define	NULL	(char *) 0
X  extern struct monst *makemon();
X  extern struct obj *mkobj_at();
X  
X--- 1,14 ----
X  /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X  
X+ #if     !defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)hack.mon.c    1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #include "hack.h"
X  #include "hack.mfndpos.h"
X+ #ifndef NULL
X  #define	NULL	(char *) 0
X+ #endif
X  extern struct monst *makemon();
X  extern struct obj *mkobj_at();
X  
X*** ./usr/src/games/hangman/getguess.c.orig	Fri Jan  7 13:01:31 1983
X--- ./usr/src/games/hangman/getguess.c	Tue Jan  7 20:32:58 2020
X***************
X*** 1,3 ****
X--- 1,7 ----
X+ #if     !defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)getguess.c    1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  # include	"hangman.h"
X  
X  /*
X***************
X*** 23,29 ****
X  			else
X  				break;
X  		}
X! 		else if (ch == CTRL(D))
X  			die();
X  		else
X  			mvprintw(MESGY, MESGX, "Not a valid guess: '%s'",
X--- 27,33 ----
X  			else
X  				break;
X  		}
X! 		else if (ch == CTRL('D'))
X  			die();
X  		else
X  			mvprintw(MESGY, MESGX, "Not a valid guess: '%s'",
X***************
X*** 60,66 ****
X  			if (++cnt > 100)
X  				die();
X  		}
X! 		else if (ch == CTRL(L)) {
X  			wrefresh(curscr);
X  			mvcur(0, 0, curscr->_cury, curscr->_curx);
X  		}
X--- 64,70 ----
X  			if (++cnt > 100)
X  				die();
X  		}
X! 		else if (ch == CTRL('L')) {
X  			wrefresh(curscr);
X  			mvcur(0, 0, curscr->_cury, curscr->_curx);
X  		}
X*** ./usr/src/games/hunt/execute.c.orig	Fri Nov 15 13:49:11 1985
X--- ./usr/src/games/hunt/execute.c	Tue Jan  7 20:43:29 2020
X***************
X*** 8,17 ****
X   *  specifies the terms and conditions for redistribution.
X   */
X  
X  # include	"hunt.h"
X  
X  # undef CTRL
X! # define	CTRL(x)	('x' & 037)
X  
X  # ifdef MONITOR
X  /*
X--- 8,21 ----
X   *  specifies the terms and conditions for redistribution.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)execute.c      1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  # include	"hunt.h"
X  
X  # undef CTRL
X! # define	CTRL(x)	(x & 037)
X  
X  # ifdef MONITOR
X  /*
X***************
X*** 25,31 ****
X  
X  	ch = pp->p_cbuf[pp->p_ncount++];
X  	switch (ch) {
X! 	  case CTRL(L):
X  		sendcom(pp, REDRAW);
X  		break;
X  	  case 'q':
X--- 29,35 ----
X  
X  	ch = pp->p_cbuf[pp->p_ncount++];
X  	switch (ch) {
X! 	  case CTRL('L'):
X  		sendcom(pp, REDRAW);
X  		break;
X  	  case 'q':
X***************
X*** 49,55 ****
X  # ifdef	FLY
X  	if (pp->p_flying >= 0) {
X  		switch (ch) {
X! 		  case CTRL(L):
X  			sendcom(pp, REDRAW);
X  			break;
X  		  case 'q':
X--- 53,59 ----
X  # ifdef	FLY
X  	if (pp->p_flying >= 0) {
X  		switch (ch) {
X! 		  case CTRL('L'):
X  			sendcom(pp, REDRAW);
X  			break;
X  		  case 'q':
X***************
X*** 61,67 ****
X  # endif	FLY
X  
X  	switch (ch) {
X! 	  case CTRL(L):
X  		sendcom(pp, REDRAW);
X  		break;
X  	  case 'h':
X--- 65,71 ----
X  # endif	FLY
X  
X  	switch (ch) {
X! 	  case CTRL('L'):
X  		sendcom(pp, REDRAW);
X  		break;
X  	  case 'h':
X*** ./usr/src/games/hunt/hunt.c.orig	Sat Jan 11 13:47:21 1986
X--- ./usr/src/games/hunt/hunt.c	Tue Jan  7 20:44:01 2020
X***************
X*** 8,13 ****
X--- 8,17 ----
X   *  specifies the terms and conditions for redistribution.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)hunt.c      1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  # include	<errno.h>
X  # include	<curses.h>
X  # include	"hunt.h"
X***************
X*** 598,604 ****
X  			fflush(stdout);
X  			explained = TRUE;
X  		}
X! 		(void) putchar(CTRL(G));
X  		(void) fflush(stdout);
X  	}
X  }
X--- 602,608 ----
X  			fflush(stdout);
X  			explained = TRUE;
X  		}
X! 		(void) putchar(CTRL('G'));
X  		(void) fflush(stdout);
X  	}
X  }
X*** ./usr/src/games/hunt/hunt.h.orig	Sat Jan 11 13:47:22 1986
X--- ./usr/src/games/hunt/hunt.h	Tue Jan  7 20:44:27 2020
X***************
X*** 8,13 ****
X--- 8,17 ----
X   *  specifies the terms and conditions for redistribution.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)hunt.h      1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  # include	<stdio.h>
X  # ifndef OLDIPC
X  # include	<sgtty.h>
X***************
X*** 140,147 ****
X  # define	FALSE	0
X  # endif TRUE
X  # ifndef CTRL
X! # define	CTRL(x)	('x' & 037)
X! # endif CTRL
X  
X  # define	BULSPD		5		/* bullets movement speed */
X  # define	ISHOTS		15
X--- 144,151 ----
X  # define	FALSE	0
X  # endif TRUE
X  # ifndef CTRL
X! # define	CTRL(x)	(x & 037)
X! # endif /* CTRL */
X  
X  # define	BULSPD		5		/* bullets movement speed */
X  # define	ISHOTS		15
X*** ./usr/src/games/hunt/playit.c.orig	Sun Aug 30 18:35:04 1987
X--- ./usr/src/games/hunt/playit.c	Tue Jan  7 20:45:08 2020
X***************
X*** 8,13 ****
X--- 8,17 ----
X   *  specifies the terms and conditions for redistribution.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)playit.c      1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  # include	<curses.h>
X  # include	<ctype.h>
X  # include	<signal.h>
X***************
X*** 16,22 ****
X  # include	<sys/file.h>
X  
X  # undef  CTRL
X! # define CTRL(x)	('x' & 037)
X  
X  int		input();
X  static int	nchar_send;
X--- 20,26 ----
X  # include	<sys/file.h>
X  
X  # undef  CTRL
X! # define CTRL(x)	(x & 037)
X  
X  int		input();
X  static int	nchar_send;
X***************
X*** 121,127 ****
X  			ch = EOF;
X  			goto out;
X  		  case BELL:
X! 			putchar(CTRL(G));
X  			break;
X  		  case READY:
X  			(void) fflush(stdout);
X--- 125,131 ----
X  			ch = EOF;
X  			goto out;
X  		  case BELL:
X! 			putchar(CTRL('G'));
X  			break;
X  		  case READY:
X  			(void) fflush(stdout);
X***************
X*** 232,238 ****
X  		if ((*nsp = map_key[*sp]) == 'q')
X  			intr();
X  # ifdef OTTO
X! 		else if (*nsp == CTRL(O))
X  			Otto_mode = !Otto_mode;
X  # endif OTTO
X  		else
X--- 236,242 ----
X  		if ((*nsp = map_key[*sp]) == 'q')
X  			intr();
X  # ifdef OTTO
X! 		else if (*nsp == CTRL('O'))
X  			Otto_mode = !Otto_mode;
X  # endif OTTO
X  		else
X***************
X*** 279,285 ****
X  		}
X  		else if (ch == 'n')
X  			return TRUE;
X! 		(void) putchar(CTRL(G));
X  		if (!explain) {
X  			put_str("(Y or N) ");
X  			explain = TRUE;
X--- 283,289 ----
X  		}
X  		else if (ch == 'n')
X  			return TRUE;
X! 		(void) putchar(CTRL('G'));
X  		if (!explain) {
X  			put_str("(Y or N) ");
X  			explain = TRUE;
X*** ./usr/src/games/pdp/zork/Makefile.orig	Sat Apr  9 02:35:48 1994
X--- ./usr/src/games/pdp/zork/Makefile	Tue Jan  7 20:46:16 2020
X***************
X*** 1,3 ****
X--- 1,7 ----
X+ #
X+ # @(#)Makefile  1.1 (2.11BSD) 2020/1/7
X+ #
X+ 
X  BINDIR = /usr/games
X  LIBDIR = /usr/games/lib
X  DESTDIR=
X***************
X*** 35,38 ****
X  o.o:	o.s
X  
X  .s.o:
X! 	/lib/cpp -E $< | sed -e 's;^#;/;' | as -o $@
X--- 39,42 ----
X  o.o:	o.s
X  
X  .s.o:
X! 	/lib/cpp -t -E $< | sed -e 's;^#;/;' | as -o $@
X*** ./usr/src/games/phantasia/Makefile.orig	Tue Sep 23 00:50:51 1997
X--- ./usr/src/games/phantasia/Makefile	Tue Jan  7 20:47:07 2020
X***************
X*** 1,7 ****
X! # Makefile for Phantasia 3.2 (1.2 2.11BSD - 1997/9/22)
X! #
X  # MODIFIED TO COMPILE WITHOUT 'XSTR'.
X! #
X  # To create game:
X  #
X  # 1)  Set up a directory where the game and its support files will live.
X--- 1,7 ----
X! # Makefile for Phantasia 3.3 (1.3 2.11BSD - 2020/1/7)
X! 
X  # MODIFIED TO COMPILE WITHOUT 'XSTR'.
X! 
X  # To create game:
X  #
X  # 1)  Set up a directory where the game and its support files will live.
X***************
X*** 44,50 ****
X  # define BSD42 for 4.2bsd
X  # define USG3 for System III, or similar
X  # define USG5 for System V
X! FLAGS = 	-DPATH=\"${DEST} \
X  		-DWIZARD=\"daemon\" \
X  		-DUID=1 \
X  		-DRAND=32768.0 \
X--- 44,50 ----
X  # define BSD42 for 4.2bsd
X  # define USG3 for System III, or similar
X  # define USG5 for System V
X! FLAGS = 	-DPATH=\"${DEST}\" \
X  		-DWIZARD=\"daemon\" \
X  		-DUID=1 \
X  		-DRAND=32768.0 \
X*** ./usr/src/games/phantasia/phant.h.orig	Mon May 19 20:12:35 1986
X--- ./usr/src/games/phantasia/phant.h	Tue Jan  7 20:47:42 2020
X***************
X*** 2,7 ****
X--- 2,11 ----
X   * phant.h	Include file for Phantasia
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)phant.h     1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #include <setjmp.h>
X  #include <curses.h>
X  #include <time.h>
X***************
X*** 132,147 ****
X  	};
X  
X  /* files */
X! #define monsterfile	PATH/monsters"
X! #define peoplefile	PATH/characs"
X! #define gameprog	PATH/phantasia"
X! #define messfile	PATH/mess"
X! #define lastdead	PATH/lastdead"
X! #define helpfile	PATH/phant.help"
X! #define motd		PATH/motd"
X! #define goldfile	PATH/gold"
X! #define voidfile	PATH/void"
X! #define	enemyfile	PATH/enemy"
X  
X  /* library functions and system calls */
X  unsigned sleep();
X--- 136,151 ----
X  	};
X  
X  /* files */
X! #define monsterfile	PATH"/monsters"
X! #define peoplefile	PATH"/characs"
X! #define gameprog	PATH"/phantasia"
X! #define messfile	PATH"/mess"
X! #define lastdead	PATH"/lastdead"
X! #define helpfile	PATH"/phant.help"
X! #define motd		PATH"/motd"
X! #define goldfile	PATH"/gold"
X! #define voidfile	PATH"/void"
X! #define	enemyfile	PATH"/enemy"
X  
X  /* library functions and system calls */
X  unsigned sleep();
X*** ./usr/src/games/phantasia/setfiles.c.orig	Mon May 19 20:12:51 1986
X--- ./usr/src/games/phantasia/setfiles.c	Tue Jan  7 20:48:24 2020
X***************
X*** 8,13 ****
X--- 8,17 ----
X   *		This program tries to check against this.
X   */
X  
X+ #if	!defined(lint) && defined(DOSCCS)
X+ static char sccsid[] = "@(#)setfiles.c      1.1 (2.11BSD) 2020/1/7";
X+ #endif
X+ 
X  #include "phant.h"
X  #include <sys/types.h>
X  #include <sys/stat.h>
X***************
X*** 38,51 ****
X  #endif
X  	umask(077);
X  	/* check where Phantasia lives */
X! 	if (stat(PATH",&fbuf) < 0)
X  		{
X! 		perror(PATH");
X  		exit(1);
X  		/*NOTREACHED*/
X  		}
X  	if (fbuf.st_mode & S_IFDIR == 0)
X! 		Error("%s is not a directory.\n",PATH");
X  	/* try to create data files */
X  	if ((fp = fopen(goldfile,"w")) == NULL)
X  		Error("cannot create %s.\n",goldfile);
X--- 42,55 ----
X  #endif
X  	umask(077);
X  	/* check where Phantasia lives */
X! 	if (stat(PATH,&fbuf) < 0)
X  		{
X! 		perror(PATH);
X  		exit(1);
X  		/*NOTREACHED*/
X  		}
X  	if (fbuf.st_mode & S_IFDIR == 0)
X! 		Error("%s is not a directory.\n",PATH);
X  	/* try to create data files */
X  	if ((fp = fopen(goldfile,"w")) == NULL)
X  		Error("cannot create %s.\n",goldfile);
X*** ./usr/src/games/sail/pl_7.c.orig	Mon Jan 18 10:56:22 1993
X--- ./usr/src/games/sail/pl_7.c	Tue Jan  7 20:49:06 2020
X***************
X*** 4,11 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)pl_7.c	5.1 (Berkeley) 5/29/85";
X  #endif not lint
X  
X  #include "player.h"
X--- 4,11 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)pl_7.c	5.2 (2.11BSD) 2020/1/7";
X  #endif not lint
X  
X  #include "player.h"
X***************
X*** 205,211 ****
X  				*p++ = c;
X  				(void) waddch(scroll_w, c);
X  			} else
X! 				(void) putchar(CTRL(g));
X  		}
X  	}
X  }
X--- 205,211 ----
X  				*p++ = c;
X  				(void) waddch(scroll_w, c);
X  			} else
X! 				(void) putchar(CTRL('g'));
X  		}
X  	}
X  }
X*** ./usr/src/games/snake/move.c.orig	Fri Mar 28 16:41:02 1997
X--- ./usr/src/games/snake/move.c	Tue Jan  7 20:49:48 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)move.c	5.1.1 (2.11BSD) 1997/3/28";
X  #endif
X  
X  /*************************************************************************
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)move.c	5.2 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*************************************************************************
X***************
X*** 403,410 ****
X  		case '\b':
X  			bs();
X  			break;
X! 		case CTRL(g):
X! 			outch(CTRL(g));
X  			break;
X  		default:
X  			if (s[0] < ' ')break;
X--- 403,410 ----
X  		case '\b':
X  			bs();
X  			break;
X! 		case CTRL('g'):
X! 			outch(CTRL('g'));
X  			break;
X  		default:
X  			if (s[0] < ' ')break;
X*** ./usr/src/games/snake/snake.c.orig	Tue Jul 29 21:51:18 1997
X--- ./usr/src/games/snake/snake.c	Tue Jan  7 20:50:13 2020
X***************
X*** 5,15 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! char copyright[] =
X! "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X!  All rights reserved.\n";
X! 
X! static char sccsid[] = "@(#)snake.c	5.1.1 (2.11BSD) 1997/7/29";
X  #endif
X  
X  /*
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)snake.c	5.2 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 232,239 ****
X  		if (!fast) flushi();
X  		lastc = c;
X  		switch (c){
X! 		case CTRL(z):
X! 		case CTRL(c):
X  			suspend();
X  			continue;
X  		case EOT:
X--- 228,235 ----
X  		if (!fast) flushi();
X  		lastc = c;
X  		switch (c){
X! 		case CTRL('z'):
X! 		case CTRL('c'):
X  			suspend();
X  			continue;
X  		case EOT:
X***************
X*** 263,269 ****
X  			putpad(KS);
X  			putpad(TI);
X  			point(&cursor,0,lcnt-1);
X! 		case CTRL(l):
X  			setup();
X  			winnings(cashvalue);
X  			continue;
X--- 259,265 ----
X  			putpad(KS);
X  			putpad(TI);
X  			point(&cursor,0,lcnt-1);
X! 		case CTRL('l'):
X  			setup();
X  			winnings(cashvalue);
X  			continue;
X***************
X*** 338,344 ****
X  						pchar(&you,ME);
X  				}
X  				break;
X! 			case CTRL(p):
X  			case 'e':
X  			case 'k':
X  			case 'i':
X--- 334,340 ----
X  						pchar(&you,ME);
X  				}
X  				break;
X! 			case CTRL('p'):
X  			case 'e':
X  			case 'k':
X  			case 'i':
X***************
X*** 351,357 ****
X  						pchar(&you,ME);
X  				}
X  				break;
X! 			case CTRL(n):
X  			case 'c':
X  			case 'j':
X  			case LF:
X--- 347,353 ----
X  						pchar(&you,ME);
X  				}
X  				break;
X! 			case CTRL('n'):
X  			case 'c':
X  			case 'j':
X  			case LF:
X*** ./usr/src/games/worm.c.orig	Tue Jun 25 15:44:58 1985
X--- ./usr/src/games/worm.c	Tue Jan  7 20:51:37 2020
X***************
X*** 4,19 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! char copyright[] =
X! "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X!  All rights reserved.\n";
X! #endif not lint
X  
X- #ifndef lint
X- static char sccsid[] = "@(#)worm.c	5.2 (Berkeley) 6/25/85";
X- #endif not lint
X- 
X  /*
X   * Worm.  Written by Michael Toy
X   * UCSC
X--- 4,13 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)worm.c	5.3 (2.11BSD) 2020/1/7";
X! #endif
X  
X  /*
X   * Worm.  Written by Michael Toy
X   * UCSC
X***************
X*** 30,36 ****
X  #define RUNLEN 8
X  #define when break;case
X  #define otherwise break;default
X! #define CNTRL(p) ('p'-'A'+1)
X  #ifndef baudrate
X  # define	baudrate()	_tty.sg_ospeed
X  #endif
X--- 24,30 ----
X  #define RUNLEN 8
X  #define when break;case
X  #define otherwise break;default
X! #define CNTRL(p) (p-'A'+1)
X  #ifndef baudrate
X  # define	baudrate()	_tty.sg_ospeed
X  #endif
X***************
X*** 190,198 ****
X  		when 'K': y--; running = RUNLEN/2; ch = tolower(ch);
X  		when 'L': x++; running = RUNLEN; ch = tolower(ch);
X  		when '\f': setup(); return;
X! 		when CNTRL(Z): suspend(); return;
X! 		when CNTRL(C): crash(); return;
X! 		when CNTRL(D): crash(); return;
X  		otherwise: if (! running) alarm(1);
X  			   return;
X  	}
X--- 184,192 ----
X  		when 'K': y--; running = RUNLEN/2; ch = tolower(ch);
X  		when 'L': x++; running = RUNLEN; ch = tolower(ch);
X  		when '\f': setup(); return;
X! 		when CNTRL('Z'): suspend(); return;
X! 		when CNTRL('C'): crash(); return;
X! 		when CNTRL('D'): crash(); return;
X  		otherwise: if (! running) alarm(1);
X  			   return;
X  	}
X*** ./usr/src/lib/libc/pdp/crt/almul.s.orig	Wed Jan 28 09:24:07 1987
X--- ./usr/src/lib/libc/pdp/crt/almul.s	Tue Jan  7 20:52:46 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)almul.s	2.3 (Berkeley) 1/28/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * almul(lhs, rhs)
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)almul.s	2.4 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * almul(lhs, rhs)
X***************
X*** 31,38 ****
X  	mov	12.(sp),r0	/ r0 = loint(rhs)
X  	sxt	r3		/ r3 = sxt(loint(rhs)) - hiint(rhs)
X  	sub	10.(sp),r3
X! 	mul	r0,r1		/ MAGIC = loint(rhs) * hiint(*lhs)'
X! 	mul	r2,r3		/       + loint(*lhs) * hiint(rhs)'
X  	add	r1,r3
X  	mul	r2,r0		/ prod (r0:r1) = loint(lhs)*loint(rhs)
X  	sub	r3,r0		/ hiint(prod) -= MAGIC
X--- 31,38 ----
X  	mov	12.(sp),r0	/ r0 = loint(rhs)
X  	sxt	r3		/ r3 = sxt(loint(rhs)) - hiint(rhs)
X  	sub	10.(sp),r3
X! 	mul	r0,r1		/ MAGIC = loint(rhs) * hiint(*lhs)
X! 	mul	r2,r3		/       + loint(*lhs) * hiint(rhs)
X  	add	r1,r3
X  	mul	r2,r0		/ prod (r0:r1) = loint(lhs)*loint(rhs)
X  	sub	r3,r0		/ hiint(prod) -= MAGIC
X*** ./usr/src/lib/libc/pdp/crt/csv.s.orig	Thu Dec 24 19:13:31 1992
X--- ./usr/src/lib/libc/pdp/crt/csv.s	Tue Jan  7 20:53:14 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if defined(LIBC_SCCS) && !defined(KERNEL) && !defined(SUPERVISOR)
X! 	<@(#)csv.s	2.4 (2.11BSD GTE) 12/24/92\0>
X  	.even
X  #endif
X  
X--- 5,11 ----
X   */
X  
X  #if defined(LIBC_SCCS) && !defined(KERNEL) && !defined(SUPERVISOR)
X! 	<@(#)csv.s	2.5 (2.11BSD) 2020/1/7\0>
X  	.even
X  #endif
X  
X***************
X*** 104,111 ****
X   * branch to ovhndlr which sets the overlay, simulates a csv and transfers to
X   * (r1) (~foo+4).  Thus, the function's call to csv is bypassed.
X   */
X! #define	ovh(x, n)	.globl	ovhndlr/**/x; \
X! 		ovhndlr/**/x: \
X  			mov	$n,r0; \
X  			br	ovhndlr;
X  
X--- 104,111 ----
X   * branch to ovhndlr which sets the overlay, simulates a csv and transfers to
X   * (r1) (~foo+4).  Thus, the function's call to csv is bypassed.
X   */
X! #define	ovh(x, n)	.globl	__CONC(ovhndlr,x); \
X! 		__CONC(ovhndlr,x): \
X  			mov	$n,r0; \
X  			br	ovhndlr;
X  
X***************
X*** 117,123 ****
X  #ifndef KERNEL
X  emt	= 0104000		/ overlays switched by emulator trap
X  				/ overlay number is placed in r0
X! #endif KERNEL
X  
X  /*
X   * ovhndlr(ov::r0, ~foo+4::r1, _foo+8::r5)
X--- 117,123 ----
X  #ifndef KERNEL
X  emt	= 0104000		/ overlays switched by emulator trap
X  				/ overlay number is placed in r0
X! #endif /* KERNEL */
X  
X  /*
X   * ovhndlr(ov::r0, ~foo+4::r1, _foo+8::r5)
X***************
X*** 255,264 ****
X  #ifdef SUPERVISOR
X  	tst	-(r2)		/ skip over overlay slot
X  #else
X! 	mov	-(r2),r4	/ r4 = old __ovno - if non-zero we've started
X! 	bne	2f		/   using overlays so we'll have to make
X! 				/   sure the old overlay is mapped if we're
X! 				/   returning to the overlay area
X  1:
X  #endif
X  	mov	-(r2),r4	/ restore registers, reset stack, pop frame
X--- 255,264 ----
X  #ifdef SUPERVISOR
X  	tst	-(r2)		/ skip over overlay slot
X  #else
X! 	mov	-(r2),r4	// r4 = old __ovno - if non-zero we've started
X! 	bne	2f		//   using overlays so we'll have to make
X! 				//   sure the old overlay is mapped if we're
X! 				//   returning to the overlay area
X  1:
X  #endif
X  	mov	-(r2),r4	/ restore registers, reset stack, pop frame
X***************
X*** 292,302 ****
X  	mov	(sp)+,PS	/ restore PS, unmask interrupts
X  	br	1b
X  #else
X! 	mov	r0,r3		/ (sigh) returning to a different overlay -
X! 	mov	r4,r0		/   have to save r0 because we can't trash
X! 	emt			/   a function result and ask UNIX to switch
X! 	mov	r4,__ovno	/   the old overlay in
X! 	mov	r3,r0		/ note that as with ovhndlr the pair "emt"
X! 	br	1b		/   "mov r4,__ovno" can be interrupted
X  #endif
X  #endif /* !SUPERVISOR */
X--- 292,302 ----
X  	mov	(sp)+,PS	/ restore PS, unmask interrupts
X  	br	1b
X  #else
X! 	mov	r0,r3		// (sigh) returning to a different overlay -
X! 	mov	r4,r0		//   have to save r0 because we can't trash
X! 	emt			//   a function result and ask UNIX to switch
X! 	mov	r4,__ovno	//   the old overlay in
X! 	mov	r3,r0		// note that as with ovhndlr the pair "emt"
X! 	br	1b		//   "mov r4,__ovno" can be interrupted
X  #endif
X  #endif /* !SUPERVISOR */
X*** ./usr/src/lib/libc/pdp/crt/lmul.s.orig	Wed Jan 28 09:24:08 1987
X--- ./usr/src/lib/libc/pdp/crt/lmul.s	Tue Jan  7 20:53:40 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)lmul.s	2.3 (Berkeley) 1/28/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * lmul(lhs, rhs)
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)lmul.s	2.4 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * lmul(lhs, rhs)
X***************
X*** 29,36 ****
X  	mov	12.(sp),r0	/ r0 = loint(rhs)
X  	sxt	r3		/ r3 = sxt(loint(rhs)) - hiint(rhs)
X  	sub	10.(sp),r3
X! 	mul	r0,r1		/ MAGIC = loint(rhs) * hiint(lhs)'
X! 	mul	r2,r3		/       + loint(lhs) * hiint(rhs)'
X  	add	r1,r3
X  	mul	r2,r0		/ prod (r0:r1) = loint(lhs)*loint(rhs)
X  	sub	r3,r0		/ hiint(prod) -= MAGIC
X--- 29,36 ----
X  	mov	12.(sp),r0	/ r0 = loint(rhs)
X  	sxt	r3		/ r3 = sxt(loint(rhs)) - hiint(rhs)
X  	sub	10.(sp),r3
X! 	mul	r0,r1		/ MAGIC = loint(rhs) * hiint(lhs)
X! 	mul	r2,r3		/       + loint(lhs) * hiint(rhs)
X  	add	r1,r3
X  	mul	r2,r0		/ prod (r0:r1) = loint(lhs)*loint(rhs)
X  	sub	r3,r0		/ hiint(prod) -= MAGIC
X*** ./usr/src/lib/libc/pdp/crt/uldiv.s.orig	Sun Jun  6 22:47:00 1993
X--- ./usr/src/lib/libc/pdp/crt/uldiv.s	Tue Jan  7 20:56:08 2020
X***************
X*** 6,11 ****
X--- 6,12 ----
X   *  Version	Date		Modification
X   *	0.0	02Feb91		1. Initial inspiration struck.
X   *	1.0	05Jun93		2. Released into the Public Domain.
X+  *	1.1	07Jan20		3. ANSI style comments to avoid syntax errors
X  */
X  
X  #include "DEFS.h"
X***************
X*** 33,44 ****
X  	.globl uldiv
X  uldiv:
X  ENTRY(uldiv)
X! 	jsr	pc,l2f		/ 2(sp) -> fr0
X! 	jsr	pc,l6f		/ 6(sp) -> fr3
X! 	tstf	fr3		/ check for zero divisor
X! 	cfcc			/   don't want to have an FP fault
X! 	beq	1f		/   in integer arithmetic
X! 	divf	fr3,fr0		/ fr0 /= rhs
X  1:
X  	movfi	fr0,-(sp)
X  	mov	(sp)+,r0	/ return result
X--- 34,45 ----
X  	.globl uldiv
X  uldiv:
X  ENTRY(uldiv)
X! 	jsr	pc,l2f		// 2(sp) -> fr0
X! 	jsr	pc,l6f		// 6(sp) -> fr3
X! 	tstf	fr3		// check for zero divisor
X! 	cfcc			//   don't want to have an FP fault
X! 	beq	1f		//   in integer arithmetic
X! 	divf	fr3,fr0		// fr0 /= rhs
X  1:
X  	movfi	fr0,-(sp)
X  	mov	(sp)+,r0	/ return result
X***************
X*** 163,169 ****
X  	mov	r4,r1		/ quo lo
X  	cmp	(sp)+,(sp)+	/ remove quot adder
X  	br	9b
X! #endif KERNEL
X  
X  /*
X   * u_long ualdiv(lhs, rhs)
X--- 164,170 ----
X  	mov	r4,r1		/ quo lo
X  	cmp	(sp)+,(sp)+	/ remove quot adder
X  	br	9b
X! #endif /* KERNEL */
X  
X  /*
X   * u_long ualdiv(lhs, rhs)
X***************
X*** 176,190 ****
X  	.globl	ualdiv
X  ualdiv:
X  ENTRY(ualdiv)
X! 	mov	r2,-(sp)	/ need a register to point at the lhs
X! 	mov	8.(sp),-(sp)	/ The divide algorithm is long
X! 	mov	8.(sp),-(sp)	/   enough that it just doesn't make sense
X! 	mov	8.(sp),r2	/   to bother repeating it.  We just translate
X! 	mov	2(r2),-(sp)	/   the call for uldiv and let it do the work
X! 	mov	(r2),-(sp)	/   and return its results (also stuffing it
X! 	jsr	pc,uldiv	/   into *lhs)
X! 	add	$8.,sp		/ clean up stack
X! 	mov	r0,(r2)+	/ store high word,
X! 	mov	r1,(r2)		/   and low
X! 	mov	(sp)+,r2	/ restore r2
X! 	rts	pc		/   and return
X--- 177,191 ----
X  	.globl	ualdiv
X  ualdiv:
X  ENTRY(ualdiv)
X! 	mov	r2,-(sp)	// need a register to point at the lhs
X! 	mov	8.(sp),-(sp)	// The divide algorithm is long
X! 	mov	8.(sp),-(sp)	//   enough that it just doesn't make sense
X! 	mov	8.(sp),r2	//   to bother repeating it.  We just translate
X! 	mov	2(r2),-(sp)	//   the call for uldiv and let it do the work
X! 	mov	(r2),-(sp)	//   and return its results (also stuffing it
X! 	jsr	pc,uldiv	//   into *lhs)
X! 	add	$8.,sp		// clean up stack
X! 	mov	r0,(r2)+	// store high word,
X! 	mov	r1,(r2)		//   and low
X! 	mov	(sp)+,r2	// restore r2
X! 	rts	pc		//   and return
X*** ./usr/src/lib/libc/pdp/crt/ulrem.s.orig	Sat Dec 27 19:30:34 2008
X--- ./usr/src/lib/libc/pdp/crt/ulrem.s	Tue Jan  7 20:56:46 2020
X***************
X*** 6,12 ****
X   *  Version	Date		Modification
X   *	0.0	02Feb91		1. Initial inspiration struck.
X   *	1.0	05Jun93		2. Released into the Public Domain.
X!  *      1.1     23Dec08         Revised, corrected KERNEL (no-FPP) code wfjm
X  */
X  
X  #include "DEFS.h"
X--- 6,13 ----
X   *  Version	Date		Modification
X   *	0.0	02Feb91		1. Initial inspiration struck.
X   *	1.0	05Jun93		2. Released into the Public Domain.
X!  *      1.1     23Dec08         3. Revised, corrected KERNEL (no-FPP) code wfjm
X!  *      1.2     07Jan20         4. ANSI style comments to avoid errors
X  */
X  
X  #include "DEFS.h"
X***************
X*** 38,55 ****
X  
X  ulrem:
X  ENTRY(ulrem)
X! 	jsr	pc,l2f		/ 2(sp) -> fr0
X! 	movf	fr0,fr2		/ put in right place (fr2)
X! 	jsr	pc,l6f		/ 6(sp) -> fr3
X! 	tstf	fr3		/ check for division by zero
X! 	cfcc			/   don't want FP trap during
X! 	beq	1f		/   integer arithmetic
X! 	divf	fr3,fr0		/ fr0 = lhs/rhs
X! 	modf	$one,fr0	/ fr0 = integer((lhs/rhs) * 1.0)
X! 	mulf	fr3,fr1		/ fr0 = integer(lhs/rhs) * rhs
X! 	subf	fr1,fr2		/ fr2 = lhs - (integer(*lhs/rhs) * rhs)
X  1:
X! 	movfi	fr2,-(sp)	/ (result)
X  	mov	(sp)+,r0
X  	mov	(sp)+,r1
X  	seti
X--- 39,56 ----
X  
X  ulrem:
X  ENTRY(ulrem)
X! 	jsr	pc,l2f		// 2(sp) -> fr0
X! 	movf	fr0,fr2		// put in right place (fr2)
X! 	jsr	pc,l6f		// 6(sp) -> fr3
X! 	tstf	fr3		// check for division by zero
X! 	cfcc			//   don't want FP trap during
X! 	beq	1f		//   integer arithmetic
X! 	divf	fr3,fr0		// fr0 = lhs/rhs
X! 	modf	$one,fr0	// fr0 = integer((lhs/rhs) * 1.0)
X! 	mulf	fr3,fr1		// fr0 = integer(lhs/rhs) * rhs
X! 	subf	fr1,fr2		// fr2 = lhs - (integer(*lhs/rhs) * rhs)
X  1:
X! 	movfi	fr2,-(sp)	// (result)
X  	mov	(sp)+,r0
X  	mov	(sp)+,r1
X  	seti
X***************
X*** 174,181 ****
X  	mov	(sp)+,r3
X  	mov	(sp)+,r2
X  	rts	pc
X! #endif NEVER
X! #endif KERNEL
X  
X  /*
X   * u_long ualrem(lhs, rhs)
X--- 175,182 ----
X  	mov	(sp)+,r3
X  	mov	(sp)+,r2
X  	rts	pc
X! #endif /* NEVER */
X! #endif /* KERNEL */
X  
X  /*
X   * u_long ualrem(lhs, rhs)
X***************
X*** 188,202 ****
X  	.globl	ualrem
X  ualrem:
X  ENTRY(ualrem)
X! 	mov	r2,-(sp)	/ need a register to point at the lhs
X! 	mov	8.(sp),-(sp)	/ The rem algorithm is long
X! 	mov	8.(sp),-(sp)	/   enough that it just doesn't make sense
X! 	mov	8.(sp),r2	/   to bother repeating it.  We just translate
X! 	mov	2(r2),-(sp)	/   the call for ulrem and let it do the work
X! 	mov	(r2),-(sp)	/   and return its results (also stuffing it
X! 	jsr	pc,ulrem	/   into *lhs)
X! 	add	$8.,sp		/ clean up stack
X! 	mov	r0,(r2)+	/ store high word,
X! 	mov	r1,(r2)		/   and low
X! 	mov	(sp)+,r2	/ restore r2
X! 	rts	pc		/   and return
X--- 189,203 ----
X  	.globl	ualrem
X  ualrem:
X  ENTRY(ualrem)
X! 	mov	r2,-(sp)	// need a register to point at the lhs
X! 	mov	8.(sp),-(sp)	// The rem algorithm is long
X! 	mov	8.(sp),-(sp)	//   enough that it just doesn't make sense
X! 	mov	8.(sp),r2	//   to bother repeating it.  We just translate
X! 	mov	2(r2),-(sp)	//   the call for ulrem and let it do the work
X! 	mov	(r2),-(sp)	//   and return its results (also stuffing it
X! 	jsr	pc,ulrem	//   into *lhs)
X! 	add	$8.,sp		// clean up stack
X! 	mov	r0,(r2)+	// store high word,
X! 	mov	r1,(r2)		//   and low
X! 	mov	(sp)+,r2	// restore r2
X! 	rts	pc		//   and return
X*** ./usr/src/lib/libc/pdp/csu/Makefile.orig	Fri Nov  3 22:50:45 2000
X--- ./usr/src/lib/libc/pdp/csu/Makefile	Tue Jan  7 20:57:35 2020
X***************
X*** 3,9 ****
X  # All rights reserved.  The Berkeley software License Agreement
X  # specifies the terms and conditions for redistribution.
X  #
X! #	@(#)Makefile	5.6.2 (2.11BSD) 2000/10/24
X  #
X  #	crt0	Normal C run time startoff
X  #	mcrt0	C run time start off for profiling, ``prof'' conventions
X--- 3,9 ----
X  # All rights reserved.  The Berkeley software License Agreement
X  # specifies the terms and conditions for redistribution.
X  #
X! #	@(#)Makefile	5.6.3 (2.11BSD) 2020/1/7
X  #
X  #	crt0	Normal C run time startoff
X  #	mcrt0	C run time start off for profiling, ``prof'' conventions
X***************
X*** 21,32 ****
X  	install -c -m 0644 mcrt0.o ${DESTDIR}/lib/mcrt0.o
X  
X  crt0.o:	crt0.s
X! 	/lib/cpp ${DEFS} ${DFLAGS} crt0.s | sed 's;^#;/;' | as -o x.o
X  	ld -x -r -o crt0.o x.o
X  	rm -f x.o
X  
X  moncrt0.o: crt0.s
X! 	/lib/cpp ${DEFS} ${DFLAGS} -DMCRT0 crt0.s | sed 's;^#;/;' | as -o x.o
X  	ld -x -r -o moncrt0.o x.o
X  	rm -f x.o
X  
X--- 21,32 ----
X  	install -c -m 0644 mcrt0.o ${DESTDIR}/lib/mcrt0.o
X  
X  crt0.o:	crt0.s
X! 	/lib/cpp -t ${DEFS} ${DFLAGS} crt0.s | sed 's;^#;/;' | as -o x.o
X  	ld -x -r -o crt0.o x.o
X  	rm -f x.o
X  
X  moncrt0.o: crt0.s
X! 	/lib/cpp -t ${DEFS} ${DFLAGS} -DMCRT0 crt0.s | sed 's;^#;/;' | as -o x.o
X  	ld -x -r -o moncrt0.o x.o
X  	rm -f x.o
X  
X***************
X*** 37,43 ****
X  	cc ${CFLAGS} -S ${DFLAGS} mon.c
X  	ex - mon.s < mon.ex
X  	cat mon.s mcount.s > x.s
X! 	/lib/cpp ${DEFS} ${DFLAGS} x.s | sed 's;^#;/;' > xx.s
X  	as - -o x.o xx.s
X  	ld -x -r -o mon.o x.o
X  	rm -f x.o x.s xx.s mon.s
X--- 37,43 ----
X  	cc ${CFLAGS} -S ${DFLAGS} mon.c
X  	ex - mon.s < mon.ex
X  	cat mon.s mcount.s > x.s
X! 	/lib/cpp -t ${DEFS} ${DFLAGS} x.s | sed 's;^#;/;' > xx.s
X  	as - -o x.o xx.s
X  	ld -x -r -o mon.o x.o
X  	rm -f x.o x.s xx.s mon.s
X*** ./usr/src/lib/libc/pdp/gen/DEFS.h.orig	Thu May  7 02:48:42 1987
X--- ./usr/src/lib/libc/pdp/gen/DEFS.h	Tue Jan  7 20:57:51 2020
X***************
X*** 3,16 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)DEFS.h	1.1 (Berkeley) 1/25/87
X   */
X  
X! #define	ENTRY(x)	.globl _/**/x; \
X! 		_/**/x: \
X! 			PROFCODE(_/**/x);
X  
X! #define	ASENTRY(x)	.globl x; \
X  		x: \
X  			PROFCODE(x);
X  
X--- 3,22 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)DEFS.h	1.2 (2.11BSD) 2020/1/7
X   */
X  
X! #ifdef __STDC__
X! #define __CONC(x,y)		x ## y
X! #else
X! #define __CONC(x,y)		x/**/y
X! #endif
X  
X! #define ENTRY(x)	.globl __CONC(_,x); \
X! 		__CONC(_,x): \
X! 			PROFCODE(__CONC(_,x));
X! 
X! #define ASENTRY(x)	.globl x; \
X  		x: \
X  			PROFCODE(x);
X  
X***************
X*** 21,26 ****
X  			.globl	mcount; \
X  			mov	$1b, r0; \
X  			jsr	pc,mcount;
X! #else !PROF
X  #define	PROFCODE(x)	;
X! #endif PROF
X--- 27,32 ----
X  			.globl	mcount; \
X  			mov	$1b, r0; \
X  			jsr	pc,mcount;
X! #else /* !PROF */
X  #define	PROFCODE(x)	;
X! #endif /* PROF */
X*** ./usr/src/lib/libc/pdp/gen/_setjmp.s.orig	Sun Jan 25 07:03:30 1987
X--- ./usr/src/lib/libc/pdp/gen/_setjmp.s	Tue Jan  7 20:58:14 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)_setjmp.s	1.2 (Berkeley) 1/5/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * val = _setjmp(env)
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)_setjmp.s	1.3 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * val = _setjmp(env)
X***************
X*** 43,55 ****
X  .globl	__ovno
X  
X  ENTRY(_setjmp)
X! 	mov	2(sp),r0		/ r0 = env
X! 	mov	__ovno,(r0)+		/ save caller's current overlay
X! 	mov	r5,(r0)+		/   and frame pointer
X! 	mov	sp,(r0)			/ calculate caller's pre jsr pc,
X! 	add	$2,(r0)+		/   _setjmp sp as (sp + ret addr)
X! 	mov	(sp),(r0)		/ save return pc
X! 	clr	r0			/    and return a zero
X  	rts	pc
X  
X  /*
X--- 43,55 ----
X  .globl	__ovno
X  
X  ENTRY(_setjmp)
X! 	mov	2(sp),r0		// r0 = env
X! 	mov	__ovno,(r0)+		// save caller's current overlay
X! 	mov	r5,(r0)+		//   and frame pointer
X! 	mov	sp,(r0)			// calculate caller's pre jsr pc,
X! 	add	$2,(r0)+		//   _setjmp sp as (sp + ret addr)
X! 	mov	(sp),(r0)		// save return pc
X! 	clr	r0			//    and return a zero
X  	rts	pc
X  
X  /*
X*** ./usr/src/lib/libc/pdp/gen/index.s.orig	Fri Jan 12 02:23:54 1996
X--- ./usr/src/lib/libc/pdp/gen/index.s	Tue Jan  7 20:58:30 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)index.s	1.2 (2.11BSD) 1996/1/12\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * Find the first occurence of c in the string cp.
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)index.s	1.3 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * Find the first occurence of c in the string cp.
X***************
X*** 23,42 ****
X  _strchr = _index ^ .
X  
X  ENTRY(index)
X! 	mov	2(sp),r0	/ r0 = cp
X! 	mov	4(sp),r1	/ r1 = c
X! 	beq	3f		/ check for special case of c == '\0'
X  1:
X! 	cmpb	(r0),r1		/ look for c ...
X  	beq	2f
X! 	tstb	(r0)+		/ but don't pass end of string ...
X  	bne	1b
X! 	clr	r0		/ fell off the end of the string - return 0
X  2:
X! 	rts	pc		/ return pointer
X  3:
X! 	tstb	(r0)+		/ just find end of string
X  	bne	3b
X! 	dec	r0		/ back up to '\0'
X! 	rts	pc		/   and return pointer
X  
X--- 23,42 ----
X  _strchr = _index ^ .
X  
X  ENTRY(index)
X! 	mov	2(sp),r0	// r0 = cp
X! 	mov	4(sp),r1	// r1 = c
X! 	beq	3f		// check for special case of c == '\0'
X  1:
X! 	cmpb	(r0),r1		// look for c ...
X  	beq	2f
X! 	tstb	(r0)+		// but don't pass end of string ...
X  	bne	1b
X! 	clr	r0		// fell off the end of the string - return 0
X  2:
X! 	rts	pc		// return pointer
X  3:
X! 	tstb	(r0)+		// just find end of string
X  	bne	3b
X! 	dec	r0		// back up to '\0'
X! 	rts	pc		//   and return pointer
X  
X*** ./usr/src/lib/libc/pdp/gen/ldexp.s.orig	Sun Jul  3 23:55:50 1988
X--- ./usr/src/lib/libc/pdp/gen/ldexp.s	Tue Jan  7 20:58:51 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)ldexp.s	2.3 (Berkeley) 6/12/88\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * double
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)ldexp.s	2.4 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * double
X***************
X*** 28,35 ****
X  
X  #include "DEFS.h"
X  
X! ERANGE	= 34.			/ can't include <errno.h> because of the
X! .comm	_errno,2		/   comments on each line ... (sigh)
X  
X  .data
X  huge:	077777; 0177777; 0177777; 0177777
X--- 28,35 ----
X  
X  #include "DEFS.h"
X  
X! ERANGE	= 34.			// can't include <errno.h> because of the
X! .comm	_errno,2		//   comments on each line ... (sigh)
X  
X  .data
X  huge:	077777; 0177777; 0177777; 0177777
X*** ./usr/src/lib/libc/pdp/gen/rindex.s.orig	Fri Jan 12 02:26:15 1996
X--- ./usr/src/lib/libc/pdp/gen/rindex.s	Tue Jan  7 21:38:36 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)rindex.s	1.2 (2.11BSD) 1996/1/12\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * Find the last occurence of c in the string cp.
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)rindex.s	1.3 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * Find the last occurence of c in the string cp.
X***************
X*** 23,47 ****
X  _strrchr = _rindex ^ .
X  
X  ENTRY(rindex)
X! 	mov	2(sp),r0	/ r0 = cp
X! 	mov	4(sp),r1	/ r1 = c
X! 	beq	3f		/ check for special case of c == '\0'
X! 	mov	r2,-(sp)	/ need an extra register to keep track of
X! 	clr	r2		/   last occurance of c (not found == 0)
X  1:
X! 	cmpb	(r0),r1		/ look for c ...
X  	beq	2f
X! 	tstb	(r0)+		/ but don't pass end of string ...
X  	bne	1b
X! 	mov	r2,r0		/ fell off the end of the string - return
X! 	mov	(sp)+,r2	/   last occurance of c
X  	rts	pc
X  2:
X! 	mov	r0,r2		/ remember position of c and bounce back into
X! 	inc	r0		/   loop one position further
X  	br	1b
X  3:
X! 	tstb	(r0)+		/ just find end of string
X  	bne	3b
X! 	dec	r0		/ back up to '\0'
X! 	rts	pc		/   and return pointer
X--- 23,47 ----
X  _strrchr = _rindex ^ .
X  
X  ENTRY(rindex)
X! 	mov	2(sp),r0	// r0 = cp
X! 	mov	4(sp),r1	// r1 = c
X! 	beq	3f		// check for special case of c == '\0'
X! 	mov	r2,-(sp)	// need an extra register to keep track of
X! 	clr	r2		//   last occurance of c (not found == 0)
X  1:
X! 	cmpb	(r0),r1		// look for c ...
X  	beq	2f
X! 	tstb	(r0)+		// but don't pass end of string ...
X  	bne	1b
X! 	mov	r2,r0		// fell off the end of the string - return
X! 	mov	(sp)+,r2	//   last occurance of c
X  	rts	pc
X  2:
X! 	mov	r0,r2		// remember position of c and bounce back into
X! 	inc	r0		//   loop one position further
X  	br	1b
X  3:
X! 	tstb	(r0)+		// just find end of string
X  	bne	3b
X! 	dec	r0		// back up to '\0'
X! 	rts	pc		//   and return pointer
X*** ./usr/src/lib/libc/pdp/gen/setjmp.s.orig	Tue Sep  9 22:55:18 1997
X--- ./usr/src/lib/libc/pdp/gen/setjmp.s	Tue Jan  7 21:38:54 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	defined(LIBC_SCCS) && !defined(lint)
X! 	<@(#)setjmp.s	1.5 (2.11BSD GTE) 1997/9/7\0>
X  	.even
X  #endif
X  
X--- 5,11 ----
X   */
X  
X  #if	defined(LIBC_SCCS) && !defined(lint)
X! 	<@(#)setjmp.s	1.6 (2.11BSD) 2020/1/7\0>
X  	.even
X  #endif
X  
X***************
X*** 33,83 ****
X  .globl	__ovno
X  
X  ENTRY(setjmp)
X! 	mov	r2,-(sp)	/ save r2
X! 	mov	4(sp),r2	/ r2 = env
X! 	sub	$6.,sp		/ allocate sizeof(struct sigaltstack)
X! 	mov	sp,r0		/   and get current sigaltstack via
X! 	mov	r0,-(sp)	/   sigaltstack(0, sp) (cant use "mov sp,-(sp)")
X  	clr	-(sp)
X  	jsr	pc,_sigaltstack
X! 	add	$8.,sp		/ toss 0, &oss, ss_sp, ss_size,
X! 	mov	(sp)+,(r2)+	/   save ss_flags of caller
X  
X! 	sub	$4,sp		/ sizeof (sigset_t) - oset
X! 	mov	sp,r0		/ can't use mov sp,-(sp)
X! 	mov	r0,-(sp)	/ 'oset'
X! 	clr	-(sp)		/ 'set'
X! 	mov	$SIG_SETMASK,-(sp)	/ 'how'
X! 	jsr	pc,_sigprocmask	/ sigprocmask(SIG_SETMASK, NULL, &oset)
X! 	add	$6,sp		/ toss how, set, &oset
X! 	mov	(sp)+,(r2)+	/ oset(hi) to env
X! 	mov	(sp)+,(r2)+	/ oset(lo) to env
X  
X! 	mov	sp,(r2)		/ calculate caller's pre jsr pc,setjmp
X! 	add	$4,(r2)+	/   sp as (sp + saved r2 + ret addr)
X! 	mov	r5,(r2)+	/ save caller's frame pointer
X! 	cmp	(r2)+,(r2)+	/   fake r0 & r1
X! 	mov	2(sp),(r2)+	/   return pc,
X! 	mov	$0170000,(r2)+	/   fake (but appropriate) ps, and
X! 	mov	__ovno,(r2)	/   current overlay
X! 	mov	(sp)+,r2	/ restore r2
X! 	clr	r0		/ and return a zero
X  	rts	pc
X  
X! SC_FP	= 8.			/ offset of sc_fp in sigcontext
X! SC_R0	= 12.			/ offset of sc_r0 in sigcontext
X  
X  .globl	rollback, _sigreturn, _longjmperror
X  ENTRY(longjmp)
X! 	mov	2(sp),r1	/ r1 = env
X! 	mov	SC_FP(r1),r0	/ r0 = env->sc_fp
X! 	jsr	pc,rollback	/ attempt stack frame rollback
X! 	mov	4(sp),r0	/ r0 = val
X! 	bne	1f		/ if (val == 0)
X! 	inc	r0		/   r0 = 1
X  1:
X! 	mov	r0,SC_R0(r1)	/ env->sc_r0 = r0 (`return' val)
X! 	mov	2(sp),-(sp)	/ push env
X! 	jsr	pc,_sigreturn	/ perform sigreturn(env)
X! 	jsr	pc,_longjmperror / if sigreturn returns, it's an error
X! 	iot			/ and die if longjmperror returns
X--- 33,83 ----
X  .globl	__ovno
X  
X  ENTRY(setjmp)
X! 	mov	r2,-(sp)	// save r2
X! 	mov	4(sp),r2	// r2 = env
X! 	sub	$6.,sp		// allocate sizeof(struct sigaltstack)
X! 	mov	sp,r0		//   and get current sigaltstack via
X! 	mov	r0,-(sp)	//   sigaltstack(0, sp) (cant use "mov sp,-(sp)")
X  	clr	-(sp)
X  	jsr	pc,_sigaltstack
X! 	add	$8.,sp		// toss 0, &oss, ss_sp, ss_size,
X! 	mov	(sp)+,(r2)+	//   save ss_flags of caller
X  
X! 	sub	$4,sp		// sizeof (sigset_t) - oset
X! 	mov	sp,r0		// can't use mov sp,-(sp)
X! 	mov	r0,-(sp)	// 'oset'
X! 	clr	-(sp)		// 'set'
X! 	mov	$SIG_SETMASK,-(sp)	// 'how'
X! 	jsr	pc,_sigprocmask	// sigprocmask(SIG_SETMASK, NULL, &oset)
X! 	add	$6,sp		// toss how, set, &oset
X! 	mov	(sp)+,(r2)+	// oset(hi) to env
X! 	mov	(sp)+,(r2)+	// oset(lo) to env
X  
X! 	mov	sp,(r2)		// calculate caller's pre jsr pc,setjmp
X! 	add	$4,(r2)+	//   sp as (sp + saved r2 + ret addr)
X! 	mov	r5,(r2)+	// save caller's frame pointer
X! 	cmp	(r2)+,(r2)+	//   fake r0 & r1
X! 	mov	2(sp),(r2)+	//   return pc,
X! 	mov	$0170000,(r2)+	//   fake (but appropriate) ps, and
X! 	mov	__ovno,(r2)	//   current overlay
X! 	mov	(sp)+,r2	// restore r2
X! 	clr	r0		// and return a zero
X  	rts	pc
X  
X! SC_FP	= 8.			// offset of sc_fp in sigcontext
X! SC_R0	= 12.			// offset of sc_r0 in sigcontext
X  
X  .globl	rollback, _sigreturn, _longjmperror
X  ENTRY(longjmp)
X! 	mov	2(sp),r1	// r1 = env
X! 	mov	SC_FP(r1),r0	// r0 = env->sc_fp
X! 	jsr	pc,rollback	// attempt stack frame rollback
X! 	mov	4(sp),r0	// r0 = val
X! 	bne	1f		// if (val == 0)
X! 	inc	r0		//   r0 = 1
X  1:
X! 	mov	r0,SC_R0(r1)	// env->sc_r0 = r0 (`return' val)
X! 	mov	2(sp),-(sp)	// push env
X! 	jsr	pc,_sigreturn	// perform sigreturn(env)
X! 	jsr	pc,_longjmperror // if sigreturn returns, it's an error
X! 	iot			// and die if longjmperror returns
X*** ./usr/src/lib/libc/pdp/gen/strcmp.s.orig	Sun Jan 25 07:03:32 1987
X--- ./usr/src/lib/libc/pdp/gen/strcmp.s	Tue Jan  7 21:39:12 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strcmp.s	1.1 (Berkeley) 1/21/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * Compare string s1 lexicographically to string s2.
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strcmp.s	1.2 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * Compare string s1 lexicographically to string s2.
X***************
X*** 22,38 ****
X  #include "DEFS.h"
X  
X  ENTRY(strcmp)
X! 	mov	2(sp),r0	/ r0 = s1
X! 	mov	4(sp),r1	/ r1 = s2
X  1:
X! 	cmpb	(r0)+,(r1)	/ compare the two strings
X! 	bne	2f		/ stop on first mismatch
X! 	tstb	(r1)+		/ but don't pass end of either string
X  	bne	1b
X! 	clr	r0		/ fell off end of strings with '\0' == '\0`
X! 	rts	pc		/   - success! return zero
X  2:
X! 	movb	-(r0),r0	/ mismatch, return *s1 - *s2 ...
X! 	movb	(r1),r1		/ (no subb instruction ...)
X  	sub	r1,r0
X  	rts	pc
X--- 22,38 ----
X  #include "DEFS.h"
X  
X  ENTRY(strcmp)
X! 	mov	2(sp),r0	// r0 = s1
X! 	mov	4(sp),r1	// r1 = s2
X  1:
X! 	cmpb	(r0)+,(r1)	// compare the two strings
X! 	bne	2f		// stop on first mismatch
X! 	tstb	(r1)+		// but don't pass end of either string
X  	bne	1b
X! 	clr	r0		// fell off end of strings with '\0' == '\0`
X! 	rts	pc		//   - success! return zero
X  2:
X! 	movb	-(r0),r0	// mismatch, return *s1 - *s2 ...
X! 	movb	(r1),r1		// (no subb instruction ...)
X  	sub	r1,r0
X  	rts	pc
X*** ./usr/src/lib/libc/pdp/gen/strcpy.s.orig	Sun Jan 25 07:03:32 1987
X--- ./usr/src/lib/libc/pdp/gen/strcpy.s	Tue Jan  7 21:39:49 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strcpy.s	1.1 (Berkeley) 1/20/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * Copy string s2 over top of s1.
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strcpy.s	1.2 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * Copy string s2 over top of s1.
X***************
X*** 20,29 ****
X  #include "DEFS.h"
X  
X  ENTRY(strcpy)
X! 	mov	2(sp),r0	/ r0 = s1
X! 	mov	4(sp),r1	/ r1 = s2
X  1:
X! 	movb	(r1)+,(r0)+	/ copy s2 over s1
X! 	bne	1b		/ but don't pass end of s2
X! 	mov	2(sp),r0	/ and return s1
X  	rts	pc
X--- 20,29 ----
X  #include "DEFS.h"
X  
X  ENTRY(strcpy)
X! 	mov	2(sp),r0	// r0 = s1
X! 	mov	4(sp),r1	// r1 = s2
X  1:
X! 	movb	(r1)+,(r0)+	// copy s2 over s1
X! 	bne	1b		// but don't pass end of s2
X! 	mov	2(sp),r0	// and return s1
X  	rts	pc
X*** ./usr/src/lib/libc/pdp/gen/strlen.s.orig	Sun Jan 25 07:03:32 1987
X--- ./usr/src/lib/libc/pdp/gen/strlen.s	Tue Jan  7 21:40:12 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strlen.s	1.1 (Berkeley) 1/20/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * Return the length of cp (not counting '\0').
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strlen.s	1.2 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * Return the length of cp (not counting '\0').
X***************
X*** 18,27 ****
X  #include "DEFS.h"
X  
X  ENTRY(strlen)
X! 	mov	2(sp),r0	/ r0 = cp
X  1:
X! 	tstb	(r0)+		/ find end os string
X  	bne	1b
X! 	sub	2(sp),r0	/ length = location('\0')+1 - cp - 1
X  	dec	r0
X  	rts	pc
X--- 18,27 ----
X  #include "DEFS.h"
X  
X  ENTRY(strlen)
X! 	mov	2(sp),r0	// r0 = cp
X  1:
X! 	tstb	(r0)+		// find end os string
X  	bne	1b
X! 	sub	2(sp),r0	// length = location('\0')+1 - cp - 1
X  	dec	r0
X  	rts	pc
X*** ./usr/src/lib/libc/pdp/gen/strncmp.s.orig	Sun Jan 25 07:03:32 1987
X--- ./usr/src/lib/libc/pdp/gen/strncmp.s	Tue Jan  7 21:40:45 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strncmp.s	1.1 (Berkeley) 1/21/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  /*
X   * Compare at most n characters of string
X--- 5,13 ----
X   */
X  
X  #ifdef LIBC_SCCS
X! 	<@(#)strncmp.s	1.2 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* LIBC_SCCS */
X  
X  /*
X   * Compare at most n characters of string
X***************
X*** 24,48 ****
X  #include "DEFS.h"
X  
X  ENTRY(strncmp)
X! 	mov	6(sp),r0	/ r0 = n
X! 	beq	4f		/ (all done if n == 0 - return 0)
X! 	mov	2(sp),r1	/ r1 = s1
X! 	mov	r2,-(sp)	/ need an extra register for s2 ...
X! 	mov	6(sp),r2	/ r2 = s2
X  1:
X! 	cmpb	(r1)+,(r2)	/ compare the two strings
X! 	bne	5f		/ stop on first mismatch
X! 	tstb	(r2)+		/ but don't pass end of either string
X  	beq	2f
X! 	sob	r0,1b		/ and n running out will stop us too ...
X  2:
X! 	clr	r0		/ fell off end of strings while still matching
X  3:
X! 	mov	(sp)+,r2	/ restore r2
X  4:
X! 	rts	pc		/ and return
X  5:
X! 	movb	-(r1),r0	/ mismatch, return *s1 - *s2 ...
X! 	movb	(r2),r1		/ (no subb instruction ...)
X  	sub	r1,r0
X  	br	3b
X--- 24,48 ----
X  #include "DEFS.h"
X  
X  ENTRY(strncmp)
X! 	mov	6(sp),r0	// r0 = n
X! 	beq	4f		// (all done if n == 0 - return 0)
X! 	mov	2(sp),r1	// r1 = s1
X! 	mov	r2,-(sp)	// need an extra register for s2 ...
X! 	mov	6(sp),r2	// r2 = s2
X  1:
X! 	cmpb	(r1)+,(r2)	// compare the two strings
X! 	bne	5f		// stop on first mismatch
X! 	tstb	(r2)+		// but don't pass end of either string
X  	beq	2f
X! 	sob	r0,1b		// and n running out will stop us too ...
X  2:
X! 	clr	r0		// fell off end of strings while still matching
X  3:
X! 	mov	(sp)+,r2	// restore r2
X  4:
X! 	rts	pc		// and return
X  5:
X! 	movb	-(r1),r0	// mismatch, return *s1 - *s2 ...
X! 	movb	(r2),r1		// (no subb instruction ...)
X  	sub	r1,r0
X  	br	3b
X*** ./usr/src/lib/libc/pdp/stdio/Makefile.orig	Sat Apr  9 03:23:12 1994
X--- ./usr/src/lib/libc/pdp/stdio/Makefile	Tue Jan  7 21:41:11 2020
X***************
X*** 3,9 ****
X  # All rights reserved.  The Berkeley software License Agreement
X  # specifies the terms and conditions for redistribution.
X  #
X! #	@(#)Makefile	5.6.1 (2.11BSD GTE) 4/9/94
X  #
X  # SRCS=	doprnt.s ffltpr.s fgetc.s fgets.s fltpr.s fputc.s puts.s gets.s
X  # OBJS=	doprnt.o ffltpr.o fgetc.o fgets.o fltpr.o fputc.o puts.o gets.o
X--- 3,9 ----
X  # All rights reserved.  The Berkeley software License Agreement
X  # specifies the terms and conditions for redistribution.
X  #
X! #	@(#)Makefile	5.6.2 (2.11BSD) 2020/1/7
X  #
X  # SRCS=	doprnt.s ffltpr.s fgetc.s fgets.s fltpr.s fputc.s puts.s gets.s
X  # OBJS=	doprnt.o ffltpr.o fgetc.o fgets.o fltpr.o fputc.o puts.o gets.o
X***************
X*** 13,22 ****
X  TAGSFILE=tags
X  
X  .s.o:
X! 	/lib/cpp -E -DPROF ${DEFS} $< | sed -e 's;^#;/;' | as -V -o $@
X  	-ld -X -r $*.o
X  	mv a.out profiled/$*.o
X! 	/lib/cpp -E ${DEFS} $< | sed -e 's;^#;/;' | as -V -o $@
X  	-ld -x -r $*.o
X  	mv a.out $*.o
X  
X--- 13,22 ----
X  TAGSFILE=tags
X  
X  .s.o:
X! 	/lib/cpp -t -E -DPROF ${DEFS} $< | sed -e 's;^#;/;' | as -V -o $@
X  	-ld -X -r $*.o
X  	mv a.out profiled/$*.o
X! 	/lib/cpp -t -E ${DEFS} $< | sed -e 's;^#;/;' | as -V -o $@
X  	-ld -x -r $*.o
X  	mv a.out $*.o
X  
X*** ./usr/src/lib/libc/pdp/sys/SYS.h.orig	Tue May  9 01:25:11 1995
X--- ./usr/src/lib/libc/pdp/sys/SYS.h	Tue Jan  7 21:41:30 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)SYS.h	1.5 (2.11BSD GTE) 1995/05/08
X   */
X  
X  #include <syscall.h>
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)SYS.h	1.6 (2.11BSD) 2020/1/7
X   */
X  
X  #include <syscall.h>
X***************
X*** 10,20 ****
X  
X  .comm	_errno,2
X  
X! #define	ENTRY(x)	.globl _/**/x; \
X! 		_/**/x: \
X! 			PROFCODE(_/**/x);
X! 
X! #define	ASENTRY(x)	.globl x; \
X  		x: \
X  			PROFCODE(x);
X  
X--- 10,25 ----
X  
X  .comm	_errno,2
X  
X! #ifdef __STDC__
X! #define __CONC(x,y)		x ## y
X! #else
X! #define __CONC(x,y)		x/**/y
X! #endif
X!  
X! #define ENTRY(x)	.globl __CONC(_,x); \
X! 		__CONC(_,x): \
X! 			PROFCODE(__CONC(_,x));
X! #define ASENTRY(x)	.globl x; \
X  		x: \
X  			PROFCODE(x);
X  
X***************
X*** 25,39 ****
X  			.globl	mcount; \
X  			mov	$1b, r0; \
X  			jsr	pc,mcount;
X! #else !PROF
X  #define	PROFCODE(x)	;
X! #endif PROF
X  
X! #define	SYS(s)		sys	SYS_/**/s.
X  
X  #define	SYSCALL(s, r)	ENTRY(s); \
X  			SYS(s); \
X! 			EXIT_/**/r
X  
X  		.globl	x_norm, x_error
X  
X--- 30,44 ----
X  			.globl	mcount; \
X  			mov	$1b, r0; \
X  			jsr	pc,mcount;
X! #else /* !PROF */
X  #define	PROFCODE(x)	;
X! #endif /* PROF */
X  
X! #define	SYS(s)		sys	__CONC(SYS_,s).
X  
X  #define	SYSCALL(s, r)	ENTRY(s); \
X  			SYS(s); \
X! 			__CONC(EXIT_,r)
X  
X  		.globl	x_norm, x_error
X  
X*** ./usr/src/lib/libc/pdp/sys/execl.s.orig	Tue May  9 01:14:03 1995
X--- ./usr/src/lib/libc/pdp/sys/execl.s	Tue Jan  7 21:42:35 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)execl.s	2.6 (2.11BSD GTE) 1995/05/08\0>
X  	.even
X! #endif SYSLIBC_SCCS
X  
X  /*
X   * XXX - this routine can't use SYSCALL!!!
X--- 5,13 ----
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)execl.s	2.7 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif
X  
X  /*
X   * XXX - this routine can't use SYSCALL!!!
X***************
X*** 17,28 ****
X  .globl	_environ
X  
X  ENTRY(execl)
X! 	mov	_environ,-(sp)	/ pass default environment
X! 	mov	sp,r0		/ calculate and pass address of first argv
X! 	add	$6.,r0		/   element (can't use "mov sp,-(sp)")
X  	mov	r0,-(sp)
X! 	mov	6(sp),-(sp)	/ pass the name
X! 	tst	-(sp)		/ simulate return address stack spacing
X! 	SYS(execve)		/   and go for it ...
X! 	add	$8.,sp		/ if we get back it's an error
X  	jmp	x_error
X--- 17,28 ----
X  .globl	_environ
X  
X  ENTRY(execl)
X! 	mov	_environ,-(sp)	// pass default environment
X! 	mov	sp,r0		// calculate and pass address of first argv
X! 	add	$6.,r0		//   element (can't use "mov sp,-(sp)")
X  	mov	r0,-(sp)
X! 	mov	6(sp),-(sp)	// pass the name
X! 	tst	-(sp)		// simulate return address stack spacing
X! 	SYS(execve)		//   and go for it ...
X! 	add	$8.,sp		// if we get back it's an error
X  	jmp	x_error
X*** ./usr/src/lib/libc/pdp/sys/execle.s.orig	Tue May  9 01:14:37 1995
X--- ./usr/src/lib/libc/pdp/sys/execle.s	Tue Jan  7 21:43:11 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)execle.s	2.6 (2.11BSD GTE) 1995/05/08\0>
X  	.even
X! #endif SYSLIBC_SCCS
X  
X  /*
X   * XXX - this routine can't use SYSCALL!!!
X--- 5,13 ----
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)execle.s	2.7 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif
X  
X  /*
X   * XXX - this routine can't use SYSCALL!!!
X***************
X*** 15,30 ****
X  #include "SYS.h"
X  
X  ENTRY(execle)
X! 	tst	-(sp)		/ leave space for environment pointer
X! 	mov	sp,r0		/ calculate address of first argv element
X  	add	$6.,r0
X! 	mov	r0,-(sp)	/ (pass it)
X  1:
X! 	tst	(r0)+		/ found the end of the argv list yet?
X! 	bne	1b		/ nope - keep looping
X! 	mov	(r0),2(sp)	/ yeah, pass the user environment pointer
X! 	mov	6(sp),-(sp)	/ pass the name
X! 	tst	-(sp)		/ simulate return address stack spacing
X! 	SYS(execve)		/   and go for it ...
X! 	add	$8.,sp		/ if we get back it's an error
X  	jmp	x_error
X--- 15,30 ----
X  #include "SYS.h"
X  
X  ENTRY(execle)
X! 	tst	-(sp)		// leave space for environment pointer
X! 	mov	sp,r0		// calculate address of first argv element
X  	add	$6.,r0
X! 	mov	r0,-(sp)	// (pass it)
X  1:
X! 	tst	(r0)+		// found the end of the argv list yet?
X! 	bne	1b		// nope - keep looping
X! 	mov	(r0),2(sp)	// yeah, pass the user environment pointer
X! 	mov	6(sp),-(sp)	// pass the name
X! 	tst	-(sp)		// simulate return address stack spacing
X! 	SYS(execve)		//   and go for it ...
X! 	add	$8.,sp		// if we get back it's an error
X  	jmp	x_error
X*** ./usr/src/lib/libc/pdp/sys/execv.s.orig	Tue May  9 01:15:13 1995
X--- ./usr/src/lib/libc/pdp/sys/execv.s	Tue Jan  7 21:43:32 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)execv.s	2.6 (2.11BSD GTE) 1995/05/08\0>
X  	.even
X! #endif SYSLIBC_SCCS
X  
X  /*
X   * XXX - this routine can't use SYSCALL!!!
X--- 5,13 ----
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)execv.s	2.7 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif
X  
X  /*
X   * XXX - this routine can't use SYSCALL!!!
X***************
X*** 17,26 ****
X  .globl	_environ
X  
X  ENTRY(execv)
X! 	mov	_environ,-(sp)	/ pass default environment,
X! 	mov	6(sp),-(sp)	/   argv list pointer,
X! 	mov	6(sp),-(sp)	/   name
X! 	tst	-(sp)		/ simulate return address stack spacing
X! 	SYS(execve)		/   and go for it ...
X! 	add	$8.,sp		/ if we get back it's an error
X  	jmp	x_error
X--- 17,26 ----
X  .globl	_environ
X  
X  ENTRY(execv)
X! 	mov	_environ,-(sp)	// pass default environment,
X! 	mov	6(sp),-(sp)	//   argv list pointer,
X! 	mov	6(sp),-(sp)	//   name
X! 	tst	-(sp)		// simulate return address stack spacing
X! 	SYS(execve)		//   and go for it ...
X! 	add	$8.,sp		// if we get back it's an error
X  	jmp	x_error
X*** ./usr/src/lib/libc/pdp/sys/sigaction.s.orig	Thu Aug 28 16:09:08 1997
X--- ./usr/src/lib/libc/pdp/sys/sigaction.s	Tue Jan  7 21:48:57 2020
X***************
X*** 5,13 ****
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)sigaction.s	1.0 (2.11BSD) 1997/8/23\0>
X  	.even
X! #endif SYSLIBC_SCCS
X  
X  /*
X   * error = sigaction(sig, vec, ovec)
X--- 5,13 ----
X   */
X  
X  #ifdef SYSLIBC_SCCS
X! _sccsid: <@(#)sigaction.s	1.1 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif /* SYSLIBC_SCCS */
X  
X  /*
X   * error = sigaction(sig, vec, ovec)
X***************
X*** 85,91 ****
X  sigtramp:
X  	jsr	pc,(r0)			/ transfer to signal action routine
X  	mov	sp,r0			/ compute address of sigcontext
X! 	add	$SIG_SC,r0		/   (can't use "mov sp,-(sp)")
X  	mov	r0,-(sp)
X  	jsr	pc,_sigreturn		/   and perform a sigreturn
X  	iot				/ die if the sigreturn fails ...
X--- 85,91 ----
X  sigtramp:
X  	jsr	pc,(r0)			/ transfer to signal action routine
X  	mov	sp,r0			/ compute address of sigcontext
X! 	add	$SIG_SC,r0		//   (can't use "mov sp,-(sp)")
X  	mov	r0,-(sp)
X  	jsr	pc,_sigreturn		/   and perform a sigreturn
X  	iot				/ die if the sigreturn fails ...
X*** ./usr/src/sys/conf/boot/NONEboot.s.orig	Thu Feb 19 20:47:12 1987
X--- ./usr/src/sys/conf/boot/NONEboot.s	Tue Jan  7 21:49:15 2020
X***************
X*** 1,9 ****
X  /*
X!  *	SCCS id	@(#)NONEboot.s	1.2 (Berkeley)	2/19/87
X   */
X! / The intention is for this file to be used if a boot program isn't
X! / available for a particulare drive/controller, or the autoboot
X! / feature isn't desired.
X  
X  halt = 0
X  
X--- 1,9 ----
X  /*
X!  *	SCCS id	@(#)NONEboot.s	1.3 (2.11BSD)	2020/1/7
X   */
X! // The intention is for this file to be used if a boot program isn't
X! // available for a particulare drive/controller, or the autoboot
X! // feature isn't desired.
X  
X  halt = 0
X  
X*** ./usr/src/sys/h/disklabel.h.orig	Wed May  3 23:45:24 1995
X--- ./usr/src/sys/h/disklabel.h	Tue Jan  7 21:49:41 2020
X***************
X*** 30,36 ****
X   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
X   * SUCH DAMAGE.
X   *
X!  *	@(#)disklabel.h	8.1.1 (2.11BSD) 1995/04/13
X   */
X  
X  #ifndef	_SYS_DISKLABEL_H_
X--- 30,36 ----
X   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
X   * SUCH DAMAGE.
X   *
X!  *	@(#)disklabel.h	8.2 (2.11BSD) 2020/1/7
X   */
X  
X  #ifndef	_SYS_DISKLABEL_H_
X***************
X*** 267,286 ****
X   * Disk-specific ioctls.
X   */
X  		/* get and set disklabel; DIOCGPART used internally */
X! #define DIOCGDINFO	_IOR(d, 101, struct disklabel)	/* get */
X! #define DIOCSDINFO	_IOW(d, 102, struct disklabel)	/* set */
X! #define DIOCWDINFO	_IOW(d, 103, struct disklabel)	/* set, update disk */
X! #define DIOCGPART	_IOW(d, 104, struct partinfo)	/* get partition */
X  
X  /* do format operation, read or write */
X! #define DIOCRFORMAT	_IOWR(d, 105, struct format_op)
X! #define DIOCWFORMAT	_IOWR(d, 106, struct format_op)
X  
X! #define DIOCSSTEP	_IOW(d, 107, int)	/* set step rate */
X! #define DIOCSRETRIES	_IOW(d, 108, int)	/* set # of retries */
X! #define DIOCWLABEL	_IOW(d, 109, int)	/* write en/disable label */
X  
X! #define DIOCSBAD	_IOW(d, 110, struct dkbad)	/* set kernel dkbad */
X  
X  #ifndef	KERNEL
X  struct disklabel *getdiskbyname();
X--- 267,286 ----
X   * Disk-specific ioctls.
X   */
X  		/* get and set disklabel; DIOCGPART used internally */
X! #define DIOCGDINFO	_IOR('d', 101, struct disklabel)	/* get */
X! #define DIOCSDINFO	_IOW('d', 102, struct disklabel)	/* set */
X! #define DIOCWDINFO	_IOW('d', 103, struct disklabel)	/* set, update disk */
X! #define DIOCGPART	_IOW('d', 104, struct partinfo)	/* get partition */
X  
X  /* do format operation, read or write */
X! #define DIOCRFORMAT	_IOWR('d', 105, struct format_op)
X! #define DIOCWFORMAT	_IOWR('d', 106, struct format_op)
X  
X! #define DIOCSSTEP	_IOW('d', 107, int)	/* set step rate */
X! #define DIOCSRETRIES	_IOW('d', 108, int)	/* set # of retries */
X! #define DIOCWLABEL	_IOW('d', 109, int)	/* write en/disable label */
X  
X! #define DIOCSBAD	_IOW('d', 110, struct dkbad)	/* set kernel dkbad */
X  
X  #ifndef	KERNEL
X  struct disklabel *getdiskbyname();
X*** ./usr/src/sys/h/ioctl.h.orig	Fri Mar 28 18:04:34 1997
X--- ./usr/src/sys/h/ioctl.h	Tue Jan  7 21:50:32 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ioctl.h	1.4 (2.11BSD GTE) 1997/3/28
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ioctl.h	1.5 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 93,109 ****
X  #define	IOC_INOUT	(IOC_IN|IOC_OUT)
X  /* the 0x20000000 is so we can distinguish new ioctl's from old */
X  #ifdef KERNEL
X! #define	_IO(x,y)	(('x'<<8)|y)
X! #define	_IOR(x,y,t)	(('x'<<8)|y)
X! #define	_IOW(x,y,t)	(('x'<<8)|y)
X  /* this should be _IORW, but stdio got there first */
X! #define	_IOWR(x,y,t)	(('x'<<8)|y)
X  #else
X! #define	_IO(x,y)	(IOC_VOID|('x'<<8)|y)
X! #define	_IOR(x,y,t)	(IOC_OUT|((long)(sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
X! #define	_IOW(x,y,t)	(IOC_IN|((long)(sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
X  /* this should be _IORW, but stdio got there first */
X! #define	_IOWR(x,y,t)	(IOC_INOUT|((long)(sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
X  #endif
X  #endif
X  
X--- 93,109 ----
X  #define	IOC_INOUT	(IOC_IN|IOC_OUT)
X  /* the 0x20000000 is so we can distinguish new ioctl's from old */
X  #ifdef KERNEL
X! #define	_IO(x,y)	((x<<8)|y)
X! #define	_IOR(x,y,t)	((x<<8)|y)
X! #define	_IOW(x,y,t)	((x<<8)|y)
X  /* this should be _IORW, but stdio got there first */
X! #define	_IOWR(x,y,t)	((x<<8)|y)
X  #else
X! #define	_IO(x,y)	(IOC_VOID|(x<<8)|y)
X! #define	_IOR(x,y,t)	(IOC_OUT|((long)(sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
X! #define	_IOW(x,y,t)	(IOC_IN|((long)(sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
X  /* this should be _IORW, but stdio got there first */
X! #define	_IOWR(x,y,t)	(IOC_INOUT|((long)(sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y)
X  #endif
X  #endif
X  
X***************
X*** 110,120 ****
X  /*
X   * tty ioctl commands
X   */
X! #define	TIOCGETD	_IOR(t, 0, int)		/* get line discipline */
X! #define	TIOCSETD	_IOW(t, 1, int)		/* set line discipline */
X! #define	TIOCHPCL	_IO(t, 2)		/* hang up on last close */
X! #define	TIOCMODG	_IOR(t, 3, int)		/* get modem control state */
X! #define	TIOCMODS	_IOW(t, 4, int)		/* set modem control state */
X  #define		TIOCM_LE	0001		/* line enable */
X  #define		TIOCM_DTR	0002		/* data terminal ready */
X  #define		TIOCM_RTS	0004		/* request to send */
X--- 110,120 ----
X  /*
X   * tty ioctl commands
X   */
X! #define	TIOCGETD	_IOR('t', 0, int)	/* get line discipline */
X! #define	TIOCSETD	_IOW('t', 1, int)	/* set line discipline */
X! #define	TIOCHPCL	_IO('t', 2)		/* hang up on last close */
X! #define	TIOCMODG	_IOR('t', 3, int)	/* get modem control state */
X! #define	TIOCMODS	_IOW('t', 4, int)	/* set modem control state */
X  #define		TIOCM_LE	0001		/* line enable */
X  #define		TIOCM_DTR	0002		/* data terminal ready */
X  #define		TIOCM_RTS	0004		/* request to send */
X***************
X*** 126,139 ****
X  #define		TIOCM_RNG	0200		/* ring */
X  #define		TIOCM_RI	TIOCM_RNG
X  #define		TIOCM_DSR	0400		/* data set ready */
X! #define	TIOCGETP	_IOR(t, 8,struct sgttyb)/* get parameters -- gtty */
X! #define	TIOCSETP	_IOW(t, 9,struct sgttyb)/* set parameters -- stty */
X! #define	TIOCSETN	_IOW(t,10,struct sgttyb)/* as above, but no flushtty */
X! #define	TIOCEXCL	_IO(t, 13)		/* set exclusive use of tty */
X! #define	TIOCNXCL	_IO(t, 14)		/* reset exclusive use of tty */
X! #define	TIOCFLUSH	_IOW(t, 16, int)	/* flush buffers */
X! #define	TIOCSETC	_IOW(t,17,struct tchars)/* set special characters */
X! #define	TIOCGETC	_IOR(t,18,struct tchars)/* get special characters */
X  #define		TANDEM		0x00000001	/* send stopc on out q full */
X  #define		CBREAK		0x00000002	/* half-cooked mode */
X  						/* 0x4 (old LCASE) */
X--- 126,139 ----
X  #define		TIOCM_RNG	0200		/* ring */
X  #define		TIOCM_RI	TIOCM_RNG
X  #define		TIOCM_DSR	0400		/* data set ready */
X! #define	TIOCGETP	_IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
X! #define	TIOCSETP	_IOW('t', 9,struct sgttyb)/* set parameters -- stty */
X! #define	TIOCSETN	_IOW('t',10,struct sgttyb)/* as above, but no flushtty */
X! #define	TIOCEXCL	_IO('t', 13)		/* set exclusive use of tty */
X! #define	TIOCNXCL	_IO('t', 14)		/* reset exclusive use of tty */
X! #define	TIOCFLUSH	_IOW('t', 16, int)	/* flush buffers */
X! #define	TIOCSETC	_IOW('t',17,struct tchars)/* set special characters */
X! #define	TIOCGETC	_IOR('t',18,struct tchars)/* get special characters */
X  #define		TANDEM		0x00000001	/* send stopc on out q full */
X  #define		CBREAK		0x00000002	/* half-cooked mode */
X  						/* 0x4 (old LCASE) */
X***************
X*** 168,177 ****
X  #define		DECCTQ		0x40000000	/* only ^Q starts after ^S */
X  #define		NOFLSH		0x80000000	/* no output flush on signal */
X  /* locals, from 127 down */
X! #define	TIOCLBIS	_IOW(t, 127, int)	/* bis local mode bits */
X! #define	TIOCLBIC	_IOW(t, 126, int)	/* bic local mode bits */
X! #define	TIOCLSET	_IOW(t, 125, int)	/* set entire local mode word */
X! #define	TIOCLGET	_IOR(t, 124, int)	/* get local modes */
X  #define		LCRTBS		((int)(CRTBS>>16))
X  #define		LPRTERA		((int)(PRTERA>>16))
X  #define		LCRTERA		((int)(CRTERA>>16))
X--- 168,177 ----
X  #define		DECCTQ		0x40000000	/* only ^Q starts after ^S */
X  #define		NOFLSH		0x80000000	/* no output flush on signal */
X  /* locals, from 127 down */
X! #define	TIOCLBIS	_IOW('t', 127, int)	/* bis local mode bits */
X! #define	TIOCLBIC	_IOW('t', 126, int)	/* bic local mode bits */
X! #define	TIOCLSET	_IOW('t', 125, int)	/* set entire local mode word */
X! #define	TIOCLGET	_IOR('t', 124, int)	/* get local modes */
X  #define		LCRTBS		((int)(CRTBS>>16))
X  #define		LPRTERA		((int)(PRTERA>>16))
X  #define		LCRTERA		((int)(CRTERA>>16))
X***************
X*** 187,204 ****
X  #define		LPENDIN		((int)(PENDIN>>16))
X  #define		LDECCTQ		((int)(DECCTQ>>16))
X  #define		LNOFLSH		((int)(NOFLSH>>16))
X! #define	TIOCSBRK	_IO(t, 123)		/* set break bit */
X! #define	TIOCCBRK	_IO(t, 122)		/* clear break bit */
X! #define	TIOCSDTR	_IO(t, 121)		/* set data terminal ready */
X! #define	TIOCCDTR	_IO(t, 120)		/* clear data terminal ready */
X! #define	TIOCGPGRP	_IOR(t, 119, int)	/* get pgrp of tty */
X! #define	TIOCSPGRP	_IOW(t, 118, int)	/* set pgrp of tty */
X! #define	TIOCSLTC	_IOW(t,117,struct ltchars)/* set local special chars */
X! #define	TIOCGLTC	_IOR(t,116,struct ltchars)/* get local special chars */
X! #define	TIOCOUTQ	_IOR(t, 115, int)	/* output queue size */
X! #define	TIOCSTI		_IOW(t, 114, char)	/* simulate terminal input */
X! #define	TIOCNOTTY	_IO(t, 113)		/* void tty association */
X! #define	TIOCPKT		_IOW(t, 112, int)	/* pty: set/clear packet mode */
X  #define		TIOCPKT_DATA		0x00	/* data packet */
X  #define		TIOCPKT_FLUSHREAD	0x01	/* flush packet */
X  #define		TIOCPKT_FLUSHWRITE	0x02	/* flush packet */
X--- 187,204 ----
X  #define		LPENDIN		((int)(PENDIN>>16))
X  #define		LDECCTQ		((int)(DECCTQ>>16))
X  #define		LNOFLSH		((int)(NOFLSH>>16))
X! #define	TIOCSBRK	_IO('t', 123)		/* set break bit */
X! #define	TIOCCBRK	_IO('t', 122)		/* clear break bit */
X! #define	TIOCSDTR	_IO('t', 121)		/* set data terminal ready */
X! #define	TIOCCDTR	_IO('t', 120)		/* clear data terminal ready */
X! #define	TIOCGPGRP	_IOR('t', 119, int)	/* get pgrp of tty */
X! #define	TIOCSPGRP	_IOW('t', 118, int)	/* set pgrp of tty */
X! #define	TIOCSLTC	_IOW('t',117,struct ltchars)/* set local special chars */
X! #define	TIOCGLTC	_IOR('t',116,struct ltchars)/* get local special chars */
X! #define	TIOCOUTQ	_IOR('t', 115, int)	/* output queue size */
X! #define	TIOCSTI		_IOW('t', 114, char)	/* simulate terminal input */
X! #define	TIOCNOTTY	_IO('t', 113)		/* void tty association */
X! #define	TIOCPKT		_IOW('t', 112, int)	/* pty: set/clear packet mode */
X  #define		TIOCPKT_DATA		0x00	/* data packet */
X  #define		TIOCPKT_FLUSHREAD	0x01	/* flush packet */
X  #define		TIOCPKT_FLUSHWRITE	0x02	/* flush packet */
X***************
X*** 206,222 ****
X  #define		TIOCPKT_START		0x08	/* start output */
X  #define		TIOCPKT_NOSTOP		0x10	/* no more ^S, ^Q */
X  #define		TIOCPKT_DOSTOP		0x20	/* now do ^S ^Q */
X! #define	TIOCSTOP	_IO(t, 111)		/* stop output, like ^S */
X! #define	TIOCSTART	_IO(t, 110)		/* start output, like ^Q */
X! #define	TIOCMSET	_IOW(t, 109, int)	/* set all modem bits */
X! #define	TIOCMBIS	_IOW(t, 108, int)	/* bis modem bits */
X! #define	TIOCMBIC	_IOW(t, 107, int)	/* bic modem bits */
X! #define	TIOCMGET	_IOR(t, 106, int)	/* get all modem bits */
X! #define	TIOCREMOTE	_IOW(t, 105, int)	/* remote input editing */
X! #define	TIOCGWINSZ	_IOR(t, 104, struct winsize)	/* get window size */
X! #define	TIOCSWINSZ	_IOW(t, 103, struct winsize)	/* set window size */
X! #define	TIOCUCNTL	_IOW(t, 102, int)	/* pty: set/clr usr cntl mode */
X! #define		UIOCCMD(n)	_IO(u, n)		/* usr cntl op "n" */
X  
X  #define	OTTYDISC	0		/* old, v7 std tty driver */
X  #define	NETLDISC	1		/* line discip for berk net */
X--- 206,222 ----
X  #define		TIOCPKT_START		0x08	/* start output */
X  #define		TIOCPKT_NOSTOP		0x10	/* no more ^S, ^Q */
X  #define		TIOCPKT_DOSTOP		0x20	/* now do ^S ^Q */
X! #define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
X! #define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
X! #define	TIOCMSET	_IOW('t', 109, int)	/* set all modem bits */
X! #define	TIOCMBIS	_IOW('t', 108, int)	/* bis modem bits */
X! #define	TIOCMBIC	_IOW('t', 107, int)	/* bic modem bits */
X! #define	TIOCMGET	_IOR('t', 106, int)	/* get all modem bits */
X! #define	TIOCREMOTE	_IOW('t', 105, int)	/* remote input editing */
X! #define	TIOCGWINSZ	_IOR('t', 104, struct winsize)	/* get window size */
X! #define	TIOCSWINSZ	_IOW('t', 103, struct winsize)	/* set window size */
X! #define	TIOCUCNTL	_IOW('t', 102, int)	/* pty: set/clr usr cntl mode */
X! #define		UIOCCMD(n)	_IO('u', n)		/* usr cntl op "n" */
X  
X  #define	OTTYDISC	0		/* old, v7 std tty driver */
X  #define	NETLDISC	1		/* line discip for berk net */
X***************
X*** 224,267 ****
X  #define	TABLDISC	3		/* tablet discipline */
X  #define	SLIPDISC	4		/* serial IP discipline */
X  
X! #define	FIOCLEX		_IO(f, 1)		/* set exclusive use on fd */
X! #define	FIONCLEX	_IO(f, 2)		/* remove exclusive use */
X  /* another local */
X  /* should use off_t for FIONREAD but that would require types.h */
X! #define	FIONREAD	_IOR(f, 127, long)	/* get # bytes to read */
X! #define	FIONBIO		_IOW(f, 126, int)	/* set/clear non-blocking i/o */
X! #define	FIOASYNC	_IOW(f, 125, int)	/* set/clear async i/o */
X! #define	FIOSETOWN	_IOW(f, 124, int)	/* set owner */
X! #define	FIOGETOWN	_IOR(f, 123, int)	/* get owner */
X  
X  /* socket i/o controls */
X! #define	SIOCSHIWAT	_IOW(s,  0, int)		/* set high watermark */
X! #define	SIOCGHIWAT	_IOR(s,  1, int)		/* get high watermark */
X! #define	SIOCSLOWAT	_IOW(s,  2, int)		/* set low watermark */
X! #define	SIOCGLOWAT	_IOR(s,  3, int)		/* get low watermark */
X! #define	SIOCATMARK	_IOR(s,  7, int)		/* at oob mark? */
X! #define	SIOCSPGRP	_IOW(s,  8, int)		/* set process group */
X! #define	SIOCGPGRP	_IOR(s,  9, int)		/* get process group */
X  
X! #define	SIOCADDRT	_IOW(r, 10, struct rtentry)	/* add route */
X! #define	SIOCDELRT	_IOW(r, 11, struct rtentry)	/* delete route */
X  
X! #define	SIOCSIFADDR	_IOW(i, 12, struct ifreq)	/* set ifnet address */
X! #define	SIOCGIFADDR	_IOWR(i,13, struct ifreq)	/* get ifnet address */
X! #define	SIOCSIFDSTADDR	_IOW(i, 14, struct ifreq)	/* set p-p address */
X! #define	SIOCGIFDSTADDR	_IOWR(i,15, struct ifreq)	/* get p-p address */
X! #define	SIOCSIFFLAGS	_IOW(i, 16, struct ifreq)	/* set ifnet flags */
X! #define	SIOCGIFFLAGS	_IOWR(i,17, struct ifreq)	/* get ifnet flags */
X! #define	SIOCGIFBRDADDR	_IOWR(i,18, struct ifreq)	/* get broadcast addr */
X! #define	SIOCSIFBRDADDR	_IOW(i,19, struct ifreq)	/* set broadcast addr */
X! #define	SIOCGIFCONF	_IOWR(i,20, struct ifconf)	/* get ifnet list */
X! #define	SIOCGIFNETMASK	_IOWR(i,21, struct ifreq)	/* get net addr mask */
X! #define	SIOCSIFNETMASK	_IOW(i,22, struct ifreq)	/* set net addr mask */
X! #define	SIOCGIFMETRIC	_IOWR(i,23, struct ifreq)	/* get IF metric */
X! #define	SIOCSIFMETRIC	_IOW(i,24, struct ifreq)	/* set IF metric */
X  
X! #define	SIOCSARP	_IOW(i, 30, struct arpreq)	/* set arp entry */
X! #define	SIOCGARP	_IOWR(i,31, struct arpreq)	/* get arp entry */
X! #define	SIOCDARP	_IOW(i, 32, struct arpreq)	/* delete arp entry */
X  
X  #endif
X--- 224,267 ----
X  #define	TABLDISC	3		/* tablet discipline */
X  #define	SLIPDISC	4		/* serial IP discipline */
X  
X! #define	FIOCLEX		_IO('f', 1)		/* set exclusive use on fd */
X! #define	FIONCLEX	_IO('f', 2)		/* remove exclusive use */
X  /* another local */
X  /* should use off_t for FIONREAD but that would require types.h */
X! #define	FIONREAD	_IOR('f', 127, long)	/* get # bytes to read */
X! #define	FIONBIO		_IOW('f', 126, int)	/* set/clear non-blocking i/o */
X! #define	FIOASYNC	_IOW('f', 125, int)	/* set/clear async i/o */
X! #define	FIOSETOWN	_IOW('f', 124, int)	/* set owner */
X! #define	FIOGETOWN	_IOR('f', 123, int)	/* get owner */
X  
X  /* socket i/o controls */
X! #define	SIOCSHIWAT	_IOW('s',  0, int)		/* set high watermark */
X! #define	SIOCGHIWAT	_IOR('s',  1, int)		/* get high watermark */
X! #define	SIOCSLOWAT	_IOW('s',  2, int)		/* set low watermark */
X! #define	SIOCGLOWAT	_IOR('s',  3, int)		/* get low watermark */
X! #define	SIOCATMARK	_IOR('s',  7, int)		/* at oob mark? */
X! #define	SIOCSPGRP	_IOW('s',  8, int)		/* set process group */
X! #define	SIOCGPGRP	_IOR('s',  9, int)		/* get process group */
X  
X! #define	SIOCADDRT	_IOW('r', 10, struct rtentry)	/* add route */
X! #define	SIOCDELRT	_IOW('r', 11, struct rtentry)	/* delete route */
X  
X! #define	SIOCSIFADDR	_IOW('i', 12, struct ifreq)	/* set ifnet address */
X! #define	SIOCGIFADDR	_IOWR('i',13, struct ifreq)	/* get ifnet address */
X! #define	SIOCSIFDSTADDR	_IOW('i', 14, struct ifreq)	/* set p-p address */
X! #define	SIOCGIFDSTADDR	_IOWR('i',15, struct ifreq)	/* get p-p address */
X! #define	SIOCSIFFLAGS	_IOW('i', 16, struct ifreq)	/* set ifnet flags */
X! #define	SIOCGIFFLAGS	_IOWR('i',17, struct ifreq)	/* get ifnet flags */
X! #define	SIOCGIFBRDADDR	_IOWR('i',18, struct ifreq)	/* get broadcast addr */
X! #define	SIOCSIFBRDADDR	_IOW('i',19, struct ifreq)	/* set broadcast addr */
X! #define	SIOCGIFCONF	_IOWR('i',20, struct ifconf)	/* get ifnet list */
X! #define	SIOCGIFNETMASK	_IOWR('i',21, struct ifreq)	/* get net addr mask */
X! #define	SIOCSIFNETMASK	_IOW('i',22, struct ifreq)	/* set net addr mask */
X! #define	SIOCGIFMETRIC	_IOWR('i',23, struct ifreq)	/* get IF metric */
X! #define	SIOCSIFMETRIC	_IOW('i',24, struct ifreq)	/* set IF metric */
X  
X! #define	SIOCSARP	_IOW('i', 30, struct arpreq)	/* set arp entry */
X! #define	SIOCGARP	_IOWR('i',31, struct arpreq)	/* get arp entry */
X! #define	SIOCDARP	_IOW('i', 32, struct arpreq)	/* delete arp entry */
X  
X  #endif
X*** ./usr/src/sys/h/mtio.h.orig	Sat Mar  7 20:11:41 1998
X--- ./usr/src/sys/h/mtio.h	Tue Jan  7 21:50:57 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mtio.h	7.1.2 (2.11BSD) 1998/3/7
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mtio.h	7.2 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 69,78 ****
X  #define	MTF_WRITTEN	0x10		/* Tape has been written */
X  
X  /* mag tape io control commands */
X! #define	MTIOCTOP	_IOW(m, 1, struct mtop)		/* do a mag tape op */
X! #define	MTIOCGET	_IOR(m, 2, struct mtget)	/* get tape status */
X! #define MTIOCIEOT	_IO(m, 3)			/* ignore EOT error */
X! #define MTIOCEEOT	_IO(m, 4)			/* enable EOT error */
X  
X  #ifndef KERNEL
X  #define	DEFTAPE	"/dev/rmt8"
X--- 69,78 ----
X  #define	MTF_WRITTEN	0x10		/* Tape has been written */
X  
X  /* mag tape io control commands */
X! #define	MTIOCTOP	_IOW('m', 1, struct mtop)	/* do a mag tape op */
X! #define	MTIOCGET	_IOR('m', 2, struct mtget)	/* get tape status */
X! #define MTIOCIEOT	_IO('m', 3)			/* ignore EOT error */
X! #define MTIOCEEOT	_IO('m', 4)			/* enable EOT error */
X  
X  #ifndef KERNEL
X  #define	DEFTAPE	"/dev/rmt8"
X*** ./usr/src/sys/h/tablet.h.orig	Sat May 16 13:29:27 1987
X--- ./usr/src/sys/h/tablet.h	Tue Jan  7 21:51:13 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)tablet.h	7.1 (Berkeley) 6/4/86
X   */
X  
X  #ifndef _TABLET_
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)tablet.h	7.2 (2.11BSD) 2020/1/7
X   */
X  
X  #ifndef _TABLET_
X***************
X*** 47,54 ****
X  	char	p_key;		/* calculator input keyboard */
X  };
X  
X! #define BIOSMODE	_IOW(b, 1, int)		/* set mode bit(s) */
X! #define BIOGMODE	_IOR(b, 2, int)		/* get mode bit(s) */
X  #define	TBMODE		0xfff0		/* mode bits: */
X  #define		TBPOINT		0x0010		/* single point */
X  #define		TBRUN		0x0000		/* runs contin. */
X--- 47,54 ----
X  	char	p_key;		/* calculator input keyboard */
X  };
X  
X! #define BIOSMODE	_IOW('b', 1, int)		/* set mode bit(s) */
X! #define BIOGMODE	_IOR('b', 2, int)		/* get mode bit(s) */
X  #define	TBMODE		0xfff0		/* mode bits: */
X  #define		TBPOINT		0x0010		/* single point */
X  #define		TBRUN		0x0000		/* runs contin. */
X***************
X*** 62,67 ****
X  #define		TBPOL		0x0004		/* polhemus 3space */
X  #define		TBHDG		0x0005		/* hdg-1111b, low res */
X  #define		TBHDGHIRES	0x0006		/* hdg-1111b, high res */
X! #define BIOSTYPE	_IOW(b, 3, int)		/* set tablet type */
X! #define BIOGTYPE	_IOR(b, 4, int)		/* get tablet type*/
X  #endif
X--- 62,67 ----
X  #define		TBPOL		0x0004		/* polhemus 3space */
X  #define		TBHDG		0x0005		/* hdg-1111b, low res */
X  #define		TBHDGHIRES	0x0006		/* hdg-1111b, high res */
X! #define BIOSTYPE	_IOW('b', 3, int)		/* set tablet type */
X! #define BIOGTYPE	_IOR('b', 4, int)		/* get tablet type*/
X  #endif
X*** ./usr/src/sys/h/ttychars.h.orig	Mon Apr 21 22:21:57 1997
X--- ./usr/src/sys/h/ttychars.h	Tue Jan  7 21:51:24 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ttychars.h	7.2 (2.11BSD) 1997/4/15
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ttychars.h	7.3 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 29,52 ****
X  	char	tc_lnextc;	/* literal next character */
X  };
X  
X! #define	CTRL(c)	('c'&037)
X  #define	_POSIX_VDISABLE	((unsigned char)'\377')
X  #define	CCEQ(val,c)	(c == val ? val != _POSIX_VDISABLE : 0)
X  
X  /* default special characters */
X  #define	CERASE	0177
X! #define	CKILL	CTRL(u)
X! #define	CINTR	CTRL(c)
X  #define	CQUIT	034		/* FS, ^\ */
X! #define	CSTART	CTRL(q)
X! #define	CSTOP	CTRL(s)
X! #define	CEOF	CTRL(d)
X  #define	CEOT	CEOF
X  #define	CBRK	_POSIX_VDISABLE
X! #define	CSUSP	CTRL(z)
X! #define	CDSUSP	CTRL(y)
X! #define	CRPRNT	CTRL(r)
X! #define	CFLUSH	CTRL(o)
X! #define	CWERASE	CTRL(w)
X! #define	CLNEXT	CTRL(v)
X  #endif /* _TTYCHARS_ */
X--- 29,52 ----
X  	char	tc_lnextc;	/* literal next character */
X  };
X  
X! #define	CTRL(c)	(c&037)
X  #define	_POSIX_VDISABLE	((unsigned char)'\377')
X  #define	CCEQ(val,c)	(c == val ? val != _POSIX_VDISABLE : 0)
X  
X  /* default special characters */
X  #define	CERASE	0177
X! #define	CKILL	CTRL('u')
X! #define	CINTR	CTRL('c')
X  #define	CQUIT	034		/* FS, ^\ */
X! #define	CSTART	CTRL('q')
X! #define	CSTOP	CTRL('s')
X! #define	CEOF	CTRL('d')
X  #define	CEOT	CEOF
X  #define	CBRK	_POSIX_VDISABLE
X! #define	CSUSP	CTRL('z')
X! #define	CDSUSP	CTRL('y')
X! #define	CRPRNT	CTRL('r')
X! #define	CFLUSH	CTRL('o')
X! #define	CWERASE	CTRL('w')
X! #define	CLNEXT	CTRL('v')
X  #endif /* _TTYCHARS_ */
X*** ./usr/src/sys/h/ttydefaults.h.orig	Tue Apr 15 22:54:18 1997
X--- ./usr/src/sys/h/ttydefaults.h	Tue Jan  7 21:51:45 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ttydefaults.h	1.2 (2.11BSD) 1997/4/15
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ttydefaults.h	1.3 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 12,37 ****
X  #ifndef _TTYDEFAULTS_
X  #define	_TTYDEFAULTS_
X  
X! #define CTRL(x)	('x'&037)
X  /*
X   * Control Character Defaults
X   */
X! #define	CEOF		CTRL(d)
X  #define	CEOL		_POSIX_VDISABLE
X! #define	CERASE		CTRL(h)
X! #define	CINTR		CTRL(c)	
X! #define	CKILL		CTRL(u)
X  #define	CMIN		1
X  #define	CQUIT		034	/* FS, ^\ */
X! #define	CSUSP		CTRL(z)
X  #define	CTIME		1
X! #define	CDSUSP		CTRL(y)
X! #define	CSTART		CTRL(q)
X! #define	CSTOP		CTRL(s)
X! #define	CLNEXT		CTRL(v)
X! #define	CFLUSHO 	CTRL(o)
X! #define	CWERASE 	CTRL(w)
X! #define	CREPRINT 	CTRL(r)
X  #define CQUOTE		'\\'
X  #define	CEOT		CEOF
X  
X--- 12,37 ----
X  #ifndef _TTYDEFAULTS_
X  #define	_TTYDEFAULTS_
X  
X! #define CTRL(x)	(x&037)
X  /*
X   * Control Character Defaults
X   */
X! #define	CEOF		CTRL('d')
X  #define	CEOL		_POSIX_VDISABLE
X! #define	CERASE		CTRL('h')
X! #define	CINTR		CTRL('c')	
X! #define	CKILL		CTRL('u')
X  #define	CMIN		1
X  #define	CQUIT		034	/* FS, ^\ */
X! #define	CSUSP		CTRL('z')
X  #define	CTIME		1
X! #define	CDSUSP		CTRL('y')
X! #define	CSTART		CTRL('q')
X! #define	CSTOP		CTRL('s')
X! #define	CLNEXT		CTRL('v')
X! #define	CFLUSHO 	CTRL('o')
X! #define	CWERASE 	CTRL('w')
X! #define	CREPRINT 	CTRL('r')
X  #define CQUOTE		'\\'
X  #define	CEOT		CEOF
X  
X*** ./usr/src/sys/h/vcmd.h.orig	Tue Aug 11 13:28:42 1987
X--- ./usr/src/sys/h/vcmd.h	Tue Jan  7 21:52:03 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)vcmd.h	7.1 (Berkeley) 6/4/86
X   */
X  
X  #ifndef _IOCTL_
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)vcmd.h	7.2 (2.11BSD) 2020/1/7
X   */
X  
X  #ifndef _IOCTL_
X***************
X*** 18,22 ****
X  #define	VPLOT		0200
X  #define	VPRINTPLOT	0400
X  
X! #define	VGETSTATE	_IOR(v, 0, int)
X! #define	VSETSTATE	_IOW(v, 1, int)
X--- 18,22 ----
X  #define	VPLOT		0200
X  #define	VPRINTPLOT	0400
X  
X! #define	VGETSTATE	_IOR('v', 0, int)
X! #define	VSETSTATE	_IOW('v', 1, int)
X*** ./usr/src/sys/netinet/tcp_debug.c.orig	Wed Oct 11 21:47:26 1995
X--- ./usr/src/sys/netinet/tcp_debug.c	Tue Jan  7 21:52:17 2020
X***************
X*** 9,15 ****
X   * software without specific prior written permission. This software
X   * is provided ``as is'' without express or implied warranty.
X   *
X!  *	@(#)tcp_debug.c	7.2.1 (2.11BSD) 1995/10/11
X   */
X  
X  #ifdef	TCPDEBUG
X--- 9,15 ----
X   * software without specific prior written permission. This software
X   * is provided ``as is'' without express or implied warranty.
X   *
X!  *	@(#)tcp_debug.c	7.3 (2.11BSD) 2020/1/7
X   */
X  
X  #ifdef	TCPDEBUG
X***************
X*** 110,116 ****
X  		if (flags) {
X  #ifndef lint
X  			char *cp = "<";
X! #define pf(f) { if (ti->ti_flags&TH_/**/f) { printf("%s%s", cp, "f"); cp = ","; } }
X  			pf(SYN); pf(ACK); pf(FIN); pf(RST); pf(PUSH); pf(URG);
X  #endif
X  			printf(">");
X--- 110,116 ----
X  		if (flags) {
X  #ifndef lint
X  			char *cp = "<";
X! #define pf(f) { if (ti->ti_flags&TH_ ## f) { printf("%s%s", cp, "f"); cp = ","; } }
X  			pf(SYN); pf(ACK); pf(FIN); pf(RST); pf(PUSH); pf(URG);
X  #endif
X  			printf(">");
X*** ./usr/src/sys/netns/spp_debug.c.orig	Thu Apr 28 18:33:54 1988
X--- ./usr/src/sys/netns/spp_debug.c	Tue Jan  7 21:52:44 2020
X***************
X*** 9,15 ****
X   * software without specific prior written permission. This software
X   * is provided ``as is'' without express or implied warranty.
X   *
X!  *      @(#)spp_debug.c	7.4 (Berkeley) 3/12/88
X   */
X  
X  #include "param.h"
X--- 9,15 ----
X   * software without specific prior written permission. This software
X   * is provided ``as is'' without express or implied warranty.
X   *
X!  *      @(#)spp_debug.c	7.5 (2.11BSD) 2020/1/7
X   */
X  
X  #include "param.h"
X***************
X*** 108,114 ****
X  		if (flags) {
X  			char *cp = "<";
X  #ifndef lint
X! #define pf(f) { if (flags&SP_/**/f) { printf("%s%s", cp, "f"); cp = ","; } }
X  			pf(SP); pf(SA); pf(OB); pf(EM);
X  #else
X  			cp = cp;
X--- 108,114 ----
X  		if (flags) {
X  			char *cp = "<";
X  #ifndef lint
X! #define pf(f) { if (flags&SP_ ## f) { printf("%s%s", cp, "f"); cp = ","; } }
X  			pf(SP); pf(SA); pf(OB); pf(EM);
X  #else
X  			cp = cp;
X***************
X*** 116,122 ****
X  			printf(">");
X  		}
X  #ifndef lint
X! #define p2(f)  { printf("%s = %x, ", "f", si->si_/**/f); }
X  		p2(sid);p2(did);p2(dt);p2(pt);
X  #endif
X  		ns_printhost(&si->si_sna);
X--- 116,122 ----
X  			printf(">");
X  		}
X  #ifndef lint
X! #define p2(f)  { printf("%s = %x, ", "f", si->si_ ## f); }
X  		p2(sid);p2(did);p2(dt);p2(pt);
X  #endif
X  		ns_printhost(&si->si_sna);
X***************
X*** 141,147 ****
X  	if (sp == 0)
X  		return;
X  #ifndef lint
X! #define p3(f)  { printf("%s = %x, ", "f", sp->s_/**/f); }
X  	printf("\t"); p3(rack);p3(ralo);p3(smax);p3(flags); printf("\n");
X  #endif
X  #endif
X--- 141,147 ----
X  	if (sp == 0)
X  		return;
X  #ifndef lint
X! #define p3(f)  { printf("%s = %x, ", "f", sp->s_ ## f); }
X  	printf("\t"); p3(rack);p3(ralo);p3(smax);p3(flags); printf("\n");
X  #endif
X  #endif
X*** ./usr/src/sys/pdp/DEFS.h.orig	Sat Dec 26 19:30:48 1992
X--- ./usr/src/sys/pdp/DEFS.h	Tue Jan  7 22:01:59 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)DEFS.h	1.2 (2.11BSD GTE) 12/24/92
X   */
X  
X  #ifndef _DEFS_
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)DEFS.h	1.3 (2.11BSD) 2020/1/7
X   */
X  
X  #ifndef _DEFS_
X***************
X*** 59,69 ****
X  #endif
X  
X  
X! #define	CONST(s, x, v)	DEC_/**/s(x); x=v;
X! #define	INT(s, x, v)	.data; .even; DEC_/**/s(x); x:; v; .text;
X! #define	CHAR(s, x, v)	.data; DEC_/**/s(x); x:; .byte v; .text;
X! #define	STRING(s, x, v)	.data; DEC_/**/s(x); x:; v; .text;
X! #define	SPACE(s, x, n)	.bss;  .even; DEC_/**/s(x); x:; .=.+[n]; .text;
X  
X  #define	DEC_GLOBAL(x)	.globl x;
X  #define	DEC_LOCAL(x)
X--- 59,69 ----
X  #endif
X  
X  
X! #define	CONST(s, x, v)	DEC_ ## s(x); x=v;
X! #define	INT(s, x, v)	.data; .even; DEC_ ## s(x); x:; v; .text;
X! #define	CHAR(s, x, v)	.data; DEC_ ## s(x); x:; .byte v; .text;
X! #define	STRING(s, x, v)	.data; DEC_ ## s(x); x:; v; .text;
X! #define	SPACE(s, x, n)	.bss;  .even; DEC_ ## s(x); x:; .=.+[n]; .text;
X  
X  #define	DEC_GLOBAL(x)	.globl x;
X  #define	DEC_LOCAL(x)
X***************
X*** 72,81 ****
X   * Macros for compatibility with standard library routines that we have
X   * copies of ...
X   */
X! #define	ENTRY(x)	.globl _/**/x; _/**/x:;
X  #define	ASENTRY(x)	.globl x; x:;
X  
X! #define	P_ENTRY(x)	.globl _/**/x; _/**/x:; PROFCODE;
X  #define	P_ASENTRY(x)	.globl x; x:; PROFCODE;
X  
X  /*
X--- 72,81 ----
X   * Macros for compatibility with standard library routines that we have
X   * copies of ...
X   */
X! #define	ENTRY(x)	.globl _ ## x; _ ## x:;
X  #define	ASENTRY(x)	.globl x; x:;
X  
X! #define	P_ENTRY(x)	.globl _ ## x; _ ## x:; PROFCODE;
X  #define	P_ASENTRY(x)	.globl x; x:; PROFCODE;
X  
X  /*
X*** ./usr/src/sys/pdp/mch_copy.s.orig	Sun Jan  9 16:01:39 1994
X--- ./usr/src/sys/pdp/mch_copy.s	Tue Jan  7 22:02:14 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_copy.s	1.3 (2.11BSD GTE) 1/9/94
X   */
X  
X  #include "DEFS.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_copy.s	1.4 (2.11BSD) 2020/1/7
X   */
X  
X  #include "DEFS.h"
X***************
X*** 468,474 ****
X  	tst	16(sp)			/ does the caller want the copy length?
X  	beq	6f
X  	sub	12(sp),r2		/ yes, figure out how much we copied:
X! 	mov	r2,*16(sp)		/ *lencopied = r2 {toaddr'} - toaddr
X  6:
X  	mov	(sp)+,nofault		/ restore error trap
X  	mov	(sp)+,r3		/ restore registers
X--- 468,474 ----
X  	tst	16(sp)			/ does the caller want the copy length?
X  	beq	6f
X  	sub	12(sp),r2		/ yes, figure out how much we copied:
X! 	mov	r2,*16(sp)		// *lencopied = r2 {toaddr'} - toaddr
X  6:
X  	mov	(sp)+,nofault		/ restore error trap
X  	mov	(sp)+,r3		/ restore registers
X*** ./usr/src/sys/pdp/mch_csv.s.orig	Thu Dec 24 19:13:31 1992
X--- ./usr/src/sys/pdp/mch_csv.s	Tue Jan  7 22:03:12 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if defined(LIBC_SCCS) && !defined(KERNEL) && !defined(SUPERVISOR)
X! 	<@(#)csv.s	2.4 (2.11BSD GTE) 12/24/92\0>
X  	.even
X  #endif
X  
X--- 5,11 ----
X   */
X  
X  #if defined(LIBC_SCCS) && !defined(KERNEL) && !defined(SUPERVISOR)
X! 	<@(#)csv.s	2.5 (2.11BSD) 2020/1/7\0>
X  	.even
X  #endif
X  
X***************
X*** 104,111 ****
X   * branch to ovhndlr which sets the overlay, simulates a csv and transfers to
X   * (r1) (~foo+4).  Thus, the function's call to csv is bypassed.
X   */
X! #define	ovh(x, n)	.globl	ovhndlr/**/x; \
X! 		ovhndlr/**/x: \
X  			mov	$n,r0; \
X  			br	ovhndlr;
X  
X--- 104,111 ----
X   * branch to ovhndlr which sets the overlay, simulates a csv and transfers to
X   * (r1) (~foo+4).  Thus, the function's call to csv is bypassed.
X   */
X! #define	ovh(x, n)	.globl	ovhndlr ## x; \
X! 		ovhndlr ## x: \
X  			mov	$n,r0; \
X  			br	ovhndlr;
X  
X***************
X*** 255,264 ****
X  #ifdef SUPERVISOR
X  	tst	-(r2)		/ skip over overlay slot
X  #else
X! 	mov	-(r2),r4	/ r4 = old __ovno - if non-zero we've started
X! 	bne	2f		/   using overlays so we'll have to make
X! 				/   sure the old overlay is mapped if we're
X! 				/   returning to the overlay area
X  1:
X  #endif
X  	mov	-(r2),r4	/ restore registers, reset stack, pop frame
X--- 255,264 ----
X  #ifdef SUPERVISOR
X  	tst	-(r2)		/ skip over overlay slot
X  #else
X! 	mov	-(r2),r4	// r4 = old __ovno - if non-zero we've started
X! 	bne	2f		//   using overlays so we'll have to make
X! 				//   sure the old overlay is mapped if we're
X! 				//   returning to the overlay area
X  1:
X  #endif
X  	mov	-(r2),r4	/ restore registers, reset stack, pop frame
X*** ./usr/src/sys/pdp/mch_dump.s.orig	Thu Dec 24 19:14:48 1992
X--- ./usr/src/sys/pdp/mch_dump.s	Tue Jan  7 22:03:27 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_dump.s	1.3 (2.11BSD GTE) 12/24/92
X   */
X  #include "DEFS.h"
X  #include "../machine/mch_iopage.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_dump.s	1.4 (2.11BSD) 2020/1/7
X   */
X  #include "DEFS.h"
X  #include "../machine/mch_iopage.h"
X***************
X*** 88,94 ****
X  	 * starting at location 4 (physical)
X  	 */
X  	inc	$-1			/ check for first time
X! 	bne	1f			/ if not, don't save registers again
X  	mov	r0,300
X  	mov	$302,r0
X  	mov	r1,(r0)+
X--- 88,94 ----
X  	 * starting at location 4 (physical)
X  	 */
X  	inc	$-1			/ check for first time
X! 	bne	1f			// if not, don't save registers again
X  	mov	r0,300
X  	mov	$302,r0
X  	mov	r1,(r0)+
X*** ./usr/src/sys/pdp/mch_fpsim.s.orig	Fri Oct 11 12:32:49 2019
X--- ./usr/src/sys/pdp/mch_fpsim.s	Tue Jan  7 22:04:13 2020
X***************
X*** 17,23 ****
X   *	RIGHTS, APPROPRIATE COPYRIGHT LEGENDS MAY BE PLACED ON THE
X   *	DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE.
X   *
X!  *	@(#)mch_fpsim.s	1.4 (2.11BSD) 2019/10/11
X   */
X  #include "DEFS.h"
X  
X--- 17,23 ----
X   *	RIGHTS, APPROPRIATE COPYRIGHT LEGENDS MAY BE PLACED ON THE
X   *	DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE.
X   *
X!  *	@(#)mch_fpsim.s	1.5 (2.11BSD) 2020/1/7
X   */
X  #include "DEFS.h"
X  
X***************
X*** 252,258 ****
X  	mov	$SIGILL,r0
X  	br	2b
X  segfault:			/ Segmentation Violation
X! 	mov	uar0,r0		/ Don't update any registers, but
X  	sub	$2,2.(r0)	/ back up the pc to point to the instruction.
X  	mov	$SIGSEGV,r0
X  	br	2b
X--- 252,258 ----
X  	mov	$SIGILL,r0
X  	br	2b
X  segfault:			/ Segmentation Violation
X! 	mov	uar0,r0		// Don't update any registers, but
X  	sub	$2,2.(r0)	/ back up the pc to point to the instruction.
X  	mov	$SIGSEGV,r0
X  	br	2b
X***************
X*** 571,577 ****
X  	mov	PS,-(sp)
X  	SPLHIGH
X  	mov	nofault,-(sp)
X! 	mov	$ferr2,nofault	/stack isn't in I space, so just bomb out.
X  	mfpi	(r1)
X  	mov	(sp)+,r0
X  	br	2f
X--- 571,577 ----
X  	mov	PS,-(sp)
X  	SPLHIGH
X  	mov	nofault,-(sp)
X! 	mov	$ferr2,nofault	//stack isn't in I space, so just bomb out.
X  	mfpi	(r1)
X  	mov	(sp)+,r0
X  	br	2f
X***************
X*** 696,702 ****
X  	rts	pc
X  	/this could be real easy, except that the lousy tstx instruction
X  	/ does the fiuv trap AFTER execution, not before. So, since
X! 	/ normally this instruction doesn't get done until after the rts pc,
X  	/ we explicitly do it here.
X  2:
X  	bit	$2,local(r5)
X--- 696,702 ----
X  	rts	pc
X  	/this could be real easy, except that the lousy tstx instruction
X  	/ does the fiuv trap AFTER execution, not before. So, since
X! 	// normally this instruction doesn't get done until after the rts pc,
X  	/ we explicitly do it here.
X  2:
X  	bit	$2,local(r5)
X***************
X*** 823,829 ****
X  	mov	(r2)+,(r3)+
X  	mov	(r2)+,(r3)+
X  2:
X! 	jmp	ret			/ does not set cc's
X  
X  i.cmpx:
X  	mov	$areg,r4; add	r5,r4
X--- 823,829 ----
X  	mov	(r2)+,(r3)+
X  	mov	(r2)+,(r3)+
X  2:
X! 	jmp	ret			// does not set cc's
X  
X  i.cmpx:
X  	mov	$areg,r4; add	r5,r4
X*** ./usr/src/sys/pdp/mch_start.s.orig	Mon Aug 23 21:16:05 1993
X--- ./usr/src/sys/pdp/mch_start.s	Tue Jan  7 22:04:30 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_start.s	1.4 (2.11BSD GTE) 8/23/93
X   */
X  
X  #include "DEFS.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_start.s	1.5 (2.11BSD) 2020/1/7
X   */
X  
X  #include "DEFS.h"
X***************
X*** 73,79 ****
X  1:
X  	clr	r0			/ r0:r1 = (long)r1
X  	div	$10.,r0			/ r0 = r0:r1 / 10; r1 = r0:r1 % 10
X! 	add	$'0,r1			/ bias by ASCII '0'
X  	movb	r1,-(r2)		/   and stuff into _initflags
X  	mov	r0,r1			/ shift quotient and continue
X  	bne	1b			/   if non-zero
X--- 73,79 ----
X  1:
X  	clr	r0			/ r0:r1 = (long)r1
X  	div	$10.,r0			/ r0 = r0:r1 / 10; r1 = r0:r1 % 10
X! 	add	$060,r1			/ bias by ASCII '0'
X  	movb	r1,-(r2)		/   and stuff into _initflags
X  	mov	r0,r1			/ shift quotient and continue
X  	bne	1b			/   if non-zero
X*** ./usr/src/sys/pdp/mch_trap.s.orig	Sun Jan  9 16:02:02 1994
X--- ./usr/src/sys/pdp/mch_trap.s	Tue Jan  7 22:05:04 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_trap.s	2.2 (2.11BSD GTE) 1/9/94
X   */
X  #include "DEFS.h"
X  #include "../machine/mch_iopage.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_trap.s	2.3 (2.11BSD) 2020/1/7
X   */
X  #include "DEFS.h"
X  #include "../machine/mch_iopage.h"
X***************
X*** 77,89 ****
X  	 * _knetisr to schedule network activity at a later time when the
X  	 * system IPL is low and things are ``less hectic'' ...
X  	 */
X! 	mov	PS,-(sp)		/ set SPL7 so _knetisr doesn't get
X! 	SPL7				/   changed while we're looking at it
X! 	tst	_knetisr		/ if (_knetisr != 0
X  	beq	2f
X! 	bit	$340,20(sp)		/  && interrupted IPL == 0
X! 	bne	2f			/  [shouldn't we check against SPLNET?]
X! 	cmp	sp,$_u			/  && sp > _u (not on interrupt stack))
X  	blos	2f
X  #ifdef UCB_METER
X  	inc	_cnt+V_SOFT		/   increment soft interrupt counter,
X--- 77,89 ----
X  	 * _knetisr to schedule network activity at a later time when the
X  	 * system IPL is low and things are ``less hectic'' ...
X  	 */
X! 	mov	PS,-(sp)		// set SPL7 so _knetisr doesn't get
X! 	SPL7				//   changed while we're looking at it
X! 	tst	_knetisr		// if (_knetisr != 0
X  	beq	2f
X! 	bit	$340,20(sp)		//  && interrupted IPL == 0
X! 	bne	2f			//  [shouldn't we check against SPLNET?]
X! 	cmp	sp,$_u			//  && sp > _u (not on interrupt stack))
X  	blos	2f
X  #ifdef UCB_METER
X  	inc	_cnt+V_SOFT		/   increment soft interrupt counter,
X***************
X*** 104,110 ****
X  	 */
X  	bit	$20000,10(sp)		/ previous mode = user??
X  	beq	4f
X! 	tstb	_runrun			/ yep, is the user's time up?
X  	beq	3f
X  	mov	$T_SWITCHTRAP,(sp)	/ yep, set code to T_SWITCHTRAP
X  	jsr	pc,_trap		/   and give up cpu
X--- 104,110 ----
X  	 */
X  	bit	$20000,10(sp)		/ previous mode = user??
X  	beq	4f
X! 	tstb	_runrun			// yep, is the user's time up?
X  	beq	3f
X  	mov	$T_SWITCHTRAP,(sp)	/ yep, set code to T_SWITCHTRAP
X  	jsr	pc,_trap		/   and give up cpu
X***************
X*** 112,118 ****
X  	/*
X  	 * Trap from user space: toss code and reset user's stack pointer.
X  	 */
X! 	tst	(sp)+			/ toss code, reset user's sp
X  	mtpd	sp			/   and enter common cleanup code
X  	br	5f
X  4:
X--- 112,118 ----
X  	/*
X  	 * Trap from user space: toss code and reset user's stack pointer.
X  	 */
X! 	tst	(sp)+			// toss code, reset user's sp
X  	mtpd	sp			/   and enter common cleanup code
X  	br	5f
X  4:
X***************
X*** 181,187 ****
X  	mov	r0,-(sp)
X  	cmp	-(sp),-(sp)		/ fake __ovno and nps - not needed
X  	mov	r1,-(sp)
X! 	mfpd	sp			/ grab user's sp for argument addresses
X  	tst	-(sp)			/ fake code - not needed
X  	jsr	pc,_syscall		/ call syscall and start cleaning up
X  	tst	(sp)+
X--- 181,187 ----
X  	mov	r0,-(sp)
X  	cmp	-(sp),-(sp)		/ fake __ovno and nps - not needed
X  	mov	r1,-(sp)
X! 	mfpd	sp			// grab user's sp for argument addresses
X  	tst	-(sp)			/ fake code - not needed
X  	jsr	pc,_syscall		/ call syscall and start cleaning up
X  	tst	(sp)+
X***************
X*** 200,213 ****
X   */
X  ASENTRY(emt)
X  	mov	PS,saveps		/ save PS just in case we need to trap
X! 	bit	$20000,PS		/ if the emt isn't from user mode,
X! 	beq	trap2			/   or, the process isn't overlaid,
X! 	tst	_u+U_OVBASE		/   or the requested overlay number
X! 	beq	trap2			/   isn't valid, enter _trap
X  	cmp	r0,$NOVL
X  	bhi	trap2
X! 	mov	r0,-(sp)		/ everything's cool, save r0 and r1
X! 	mov	r1,-(sp)		/   so they don't get trashed
X  	mov	r0,_u+U_CUROV		/ u.u_curov = r0
X  	mov	$RO,-(sp)		/ map the overlay in read only
X  #ifdef UCB_METER
X--- 200,213 ----
X   */
X  ASENTRY(emt)
X  	mov	PS,saveps		/ save PS just in case we need to trap
X! 	bit	$20000,PS		// if the emt isn't from user mode,
X! 	beq	trap2			//   or, the process isn't overlaid,
X! 	tst	_u+U_OVBASE		//   or the requested overlay number
X! 	beq	trap2			//   isn't valid, enter _trap
X  	cmp	r0,$NOVL
X  	bhi	trap2
X! 	mov	r0,-(sp)		// everything's cool, save r0 and r1
X! 	mov	r1,-(sp)		//   so they don't get trashed
X  	mov	r0,_u+U_CUROV		/ u.u_curov = r0
X  	mov	$RO,-(sp)		/ map the overlay in read only
X  #ifdef UCB_METER
X***************
X*** 216,222 ****
X  	add	$1,_u+U_RU+RU_OVLY+2	/ u.u_ru.ru_ovly++
X  	adc	_u+U_RU+RU_OVLY
X  	jsr	pc,_choverlay		/ and get choverlay to bring the overlay in
X! 	tst	(sp)+			/ toss choverlay's paramter,
X  	mov	(sp)+,r1		/   restore r0 and r1,
X  	mov	(sp)+,r0
X  	rtt				/   and return from the trap
X--- 216,222 ----
X  	add	$1,_u+U_RU+RU_OVLY+2	/ u.u_ru.ru_ovly++
X  	adc	_u+U_RU+RU_OVLY
X  	jsr	pc,_choverlay		/ and get choverlay to bring the overlay in
X! 	tst	(sp)+			// toss choverlay's paramter,
X  	mov	(sp)+,r1		/   restore r0 and r1,
X  	mov	(sp)+,r0
X  	rtt				/   and return from the trap
X***************
X*** 231,238 ****
X  ASENTRY(trap)
X  	mov	PS,saveps		/ save PS for call1
X  trap1:
X! 	tst	nofault			/ if someone's already got this trap
X! 	bne	catchfault		/   scoped out, give it to them
X  	/*
X  	 * save current values of memory management registers in case we
X  	 * want to back up the instruction that failed
X--- 231,238 ----
X  ASENTRY(trap)
X  	mov	PS,saveps		/ save PS for call1
X  trap1:
X! 	tst	nofault			// if someone's already got this trap
X! 	bne	catchfault		//   scoped out, give it to them
X  	/*
X  	 * save current values of memory management registers in case we
X  	 * want to back up the instruction that failed
X*** ./usr/src/sys/pdp/mch_xxx.s.orig	Sun Dec  3 19:01:24 2000
X--- ./usr/src/sys/pdp/mch_xxx.s	Tue Jan  7 22:06:33 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_xxx.s	1.6 (2.11BSD) 2000/11/20
X   */
X  #include "DEFS.h"
X  #include "../machine/mch_iopage.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)mch_xxx.s	1.7 (2.11BSD) 2020/1/7
X   */
X  #include "DEFS.h"
X  #include "../machine/mch_iopage.h"
X***************
X*** 27,33 ****
X  ENTRY(delay)
X  	mov	2(sp),r0		/ r0 = hiint(usec)
X  	mov	4(sp),r1		/ r1 = loint(usec)
X! 	ashc	$1,r0			/ sob's ~= 1/2 micro second,
X  	beq	2f			/ oops, got passed a delay of 0L-leave
X  	tst	r1
X  	/*
X--- 27,33 ----
X  ENTRY(delay)
X  	mov	2(sp),r0		/ r0 = hiint(usec)
X  	mov	4(sp),r1		/ r1 = loint(usec)
X! 	ashc	$1,r0			// sob's ~= 1/2 micro second,
X  	beq	2f			/ oops, got passed a delay of 0L-leave
X  	tst	r1
X  	/*
X***************
X*** 144,152 ****
X  ENTRY(resume)
X  	mov	2(sp),r0		/ r0 = u
X  	mov	4(sp),r1		/ r1 = env
X! 	SPL7				/ can't let anything in till we
X! 					/   (at least) get a valid stack ...
X! 	mov	r0,KDSA6		/ map new process' u structure in
X  #ifdef INET
X  	mov	r0,SDSA6		/ map supervisor stack area to same
X  #endif
X--- 144,152 ----
X  ENTRY(resume)
X  	mov	2(sp),r0		/ r0 = u
X  	mov	4(sp),r1		/ r1 = env
X! 	SPL7				// can't let anything in till we
X! 					//   (at least) get a valid stack ...
X! 	mov	r0,KDSA6		// map new process' u structure in
X  #ifdef INET
X  	mov	r0,SDSA6		/ map supervisor stack area to same
X  #endif
X***************
X*** 272,278 ****
X  1:
X  	movb	(r0)+,(r1)+		/ move a byte
X  	beq	3f			/ (done when we cross the null)
X! 	sob	r2,1b			/ and loop as long as there's room
X  2:
X  	mov	$ENOENT,r0		/ ran out of room - indicate failure
X  	br	4f			/   and exit ...
X--- 272,278 ----
X  1:
X  	movb	(r0)+,(r1)+		/ move a byte
X  	beq	3f			/ (done when we cross the null)
X! 	sob	r2,1b			// and loop as long as there's room
X  2:
X  	mov	$ENOENT,r0		/ ran out of room - indicate failure
X  	br	4f			/   and exit ...
X***************
X*** 282,288 ****
X  	tst	10.(sp)			/ does the caller want the copy length?
X  	beq	5f
X  	sub	6.(sp),r1		/ yes, figure out how much we copied:
X! 	mov	r1,*10.(sp)		/ *lencopied = r1 {toaddr'} - toaddr
X  5:
X  	mov	(sp)+,r2		/ restore registers
X  	rts	pc			/   and return
X--- 282,288 ----
X  	tst	10.(sp)			/ does the caller want the copy length?
X  	beq	5f
X  	sub	6.(sp),r1		/ yes, figure out how much we copied:
X! 	mov	r1,*10.(sp)		// *lencopied = r1 {toaddr'} - toaddr
X  5:
X  	mov	(sp)+,r2		/ restore registers
X  	rts	pc			/   and return
X*** ./usr/src/sys/pdp/net_csv.s.orig	Thu Dec 24 19:13:31 1992
X--- ./usr/src/sys/pdp/net_csv.s	Tue Jan  7 22:06:59 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if defined(LIBC_SCCS) && !defined(KERNEL) && !defined(SUPERVISOR)
X! 	<@(#)csv.s	2.4 (2.11BSD GTE) 12/24/92\0>
X  	.even
X  #endif
X  
X--- 5,11 ----
X   */
X  
X  #if defined(LIBC_SCCS) && !defined(KERNEL) && !defined(SUPERVISOR)
X! 	<@(#)csv.s	2.5 (2.11BSD) 2020/1/7\0>
X  	.even
X  #endif
X  
X***************
X*** 104,111 ****
X   * branch to ovhndlr which sets the overlay, simulates a csv and transfers to
X   * (r1) (~foo+4).  Thus, the function's call to csv is bypassed.
X   */
X! #define	ovh(x, n)	.globl	ovhndlr/**/x; \
X! 		ovhndlr/**/x: \
X  			mov	$n,r0; \
X  			br	ovhndlr;
X  
X--- 104,111 ----
X   * branch to ovhndlr which sets the overlay, simulates a csv and transfers to
X   * (r1) (~foo+4).  Thus, the function's call to csv is bypassed.
X   */
X! #define	ovh(x, n)	.globl	ovhndlr ## x; \
X! 		ovhndlr ## x: \
X  			mov	$n,r0; \
X  			br	ovhndlr;
X  
X*** ./usr/src/sys/pdp/net_scb.s.orig	Tue Oct 13 23:03:26 1992
X--- ./usr/src/sys/pdp/net_scb.s	Tue Jan  7 22:08:03 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)net_scb.s	1.2 (2.11BSD GTE) 10/13/92
X   */
X  
X  #include "acc.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)net_scb.s	1.3 (2.11BSD) 2020/1/7
X   */
X  
X  #include "acc.h"
X***************
X*** 20,27 ****
X   * Entry points for interrupt vectors from kernel low-core
X   */
X  
X! #define	HANDLER(handler)	.globl handler, _/**/handler; \
X! 				handler: jsr r0,call; jmp _/**/handler
X  
X  #if NACC > 0
X  	HANDLER(accrint)
X--- 20,27 ----
X   * Entry points for interrupt vectors from kernel low-core
X   */
X  
X! #define	HANDLER(handler)	.globl handler, _ ## handler; \
X! 				handler: jsr r0,call; jmp _ ## handler
X  
X  #if NACC > 0
X  	HANDLER(accrint)
X*** ./usr/src/sys/pdp/net_xxx.s.orig	Thu Jan 12 22:32:37 1995
X--- ./usr/src/sys/pdp/net_xxx.s	Tue Jan  7 22:08:25 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)net_xxx.s	1.3 (2.11BSD GTE) 1/12/95
X   */
X  
X  #include "DEFS.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)net_xxx.s	1.4 (2.11BSD) 2020/1/7
X   */
X  
X  #include "DEFS.h"
X***************
X*** 23,29 ****
X  ENTRY(delay)
X  	mov	2(sp),r0		/ r0 = hiint(usec)
X  	mov	4(sp),r1		/ r1 = loint(usec)
X! 	ashc	$1,r0			/ sob's ~= 1/2 micro second,
X  	beq	2f			/ oops, got passed a delay of 0L-leave
X  	tst	r1
X  	/*
X--- 23,29 ----
X  ENTRY(delay)
X  	mov	2(sp),r0		/ r0 = hiint(usec)
X  	mov	4(sp),r1		/ r1 = loint(usec)
X! 	ashc	$1,r0			// sob's ~= 1/2 micro second,
X  	beq	2f			/ oops, got passed a delay of 0L-leave
X  	tst	r1
X  	/*
X*** ./usr/src/sys/pdp/scb.s.orig	Fri Jan  1 18:19:56 1993
X--- ./usr/src/sys/pdp/scb.s	Tue Jan  7 22:09:38 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)scb.s	1.3 (2.11BSD GTE) 1/1/93
X   */
X  
X  #include "DEFS.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)scb.s	1.4 (2.11BSD) 2020/1/7
X   */
X  
X  #include "DEFS.h"
X***************
X*** 316,323 ****
X  /*
X   * Start of locore interrupt entry thunks.
X   */
X! #define	HANDLER(handler)	.globl _/**/handler; \
X! 				handler: jsr r0,call; jmp _/**/handler
X  
X  	HANDLER(cnrint)			/* KL-11, DL-11 */
X  	HANDLER(cnxint)
X--- 316,323 ----
X  /*
X   * Start of locore interrupt entry thunks.
X   */
X! #define	HANDLER(handler)	.globl _ ## handler; \
X! 				handler: jsr r0,call; jmp _ ## handler
X  
X  	HANDLER(cnrint)			/* KL-11, DL-11 */
X  	HANDLER(cnxint)
X*** ./usr/src/sys/pdp/toy.s.orig	Fri Apr 21 22:24:58 2000
X--- ./usr/src/sys/pdp/toy.s	Tue Jan  7 22:11:16 2020
X***************
X*** 1,5 ****
X! / April 9, 2000 - modified to probe for the TOY clock rather than checking
X! /	the cpu type for 93 or 94.
X  
X  / the notes say that the TOY clock uses 24 hour time, but then later on
X  / mention flags dealing with AM/PM...  So, code is present but disabled
X--- 1,6 ----
X! // January 7, 2020 - ANSI style comments to go with new cpp
X! // April 9, 2000 - modified to probe for the TOY clock rather than checking
X! //	the cpu type for 93 or 94.
X  
X  / the notes say that the TOY clock uses 24 hour time, but then later on
X  / mention flags dealing with AM/PM...  So, code is present but disabled
X***************
X*** 8,15 ****
X  
X  toy24=0
X  
X! / extraneous flag bit possible in the day field.  this "should never
X! / happen", but if it does change the 0 to a 1 below.
X  
X  dayflags=0
X  
X--- 9,16 ----
X  
X  toy24=0
X  
X! // extraneous flag bit possible in the day field.  this "should never
X! // happen", but if it does change the 0 to a 1 below.
X  
X  dayflags=0
X  
X*** ./usr/src/sys/pdpif/if_il.c.orig	Fri Jan  6 23:40:23 1995
X--- ./usr/src/sys/pdpif/if_il.c	Tue Jan  7 22:13:35 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)if_il.c	2.2 (2.11BSD GTE) 1/6/95
X   *
X   *	1/6/95 - sms: start of network data was already computed in sys_net.c,
X   *		it should no longer be done in this driver.  Using 'startnet'
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)if_il.c	2.3 (2.11BSD) 2020/1/7
X   *
X   *	1/6/95 - sms: start of network data was already computed in sys_net.c,
X   *		it should no longer be done in this driver.  Using 'startnet'
X***************
X*** 704,710 ****
X  	register struct il_softc *is = &il_softc[ifp->if_unit];
X  	int s = splimp(), error = 0;
X  
X! /*	printf("\tilioctl new:%X\n", ntohl(IA_SIN(ifa)->sin_addr.s_addr));/**/
X  	switch (cmd) {
X  
X  	case SIOCSIFADDR:
X--- 704,710 ----
X  	register struct il_softc *is = &il_softc[ifp->if_unit];
X  	int s = splimp(), error = 0;
X  
X! /*	printf("\tilioctl new:%X\n", ntohl(IA_SIN(ifa)->sin_addr.s_addr));*/
X  	switch (cmd) {
X  
X  	case SIOCSIFADDR:
X*** ./usr/src/sys/pdpuba/drreg.h.orig	Fri Jan  9 03:56:39 1987
X--- ./usr/src/sys/pdpuba/drreg.h	Tue Jan  7 22:13:57 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)drreg.h	1.1 (2.10BSD Berkeley) 12/1/86
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)drreg.h	1.2 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 61,78 ****
X  /*
X   *	Definitions for ioctl calls for DR11-W interface
X   */
X! #define	DRGTTY		_IOR(d, 1, struct sg2)	/* get dr11 status */
X! #define	DRSTTY		_IOW(d, 2, struct sg2)	/* set flags & function */
X! #define	DRSFUN		_IOW(d, 3, struct sg1)	/* set function */
X! #define	DRSFLAG		_IOW(d, 4, struct sg1)	/* set flags */
X! #define	DRGCSR		_IOR(d, 5, struct sg2)	/* get csr and wcr */
X! #define	DRSSIG		_IOW(d, 6, struct sg1)	/* set sig for ATTN interrupt */
X! #define	DRESET		_IO(d, 7)		/* reset DR11-W interface */
X! #define	DRSTIME		_IOW(d, 8, struct sg1)	/* set timeout */
X! #define	DRCTIME		_IO(d, 9)		/* set timeout inactive */
X! #define	DROUTPUT	_IOW(d, 10, struct sg1)	/* word to output data reg */
X! #define	DRINPUT		_IOR(d, 11, struct sg1)	/* word from input data reg */
X! #define	DRITIME		_IO(d, 12)		/* no set error on timeout */
X  
X  /*
X   *	i_flags definition
X--- 61,78 ----
X  /*
X   *	Definitions for ioctl calls for DR11-W interface
X   */
X! #define	DRGTTY		_IOR('d', 1, struct sg2)	/* get dr11 status */
X! #define	DRSTTY		_IOW('d', 2, struct sg2)	/* set flags & function */
X! #define	DRSFUN		_IOW('d', 3, struct sg1)	/* set function */
X! #define	DRSFLAG		_IOW('d', 4, struct sg1)	/* set flags */
X! #define	DRGCSR		_IOR('d', 5, struct sg2)	/* get csr and wcr */
X! #define	DRSSIG		_IOW('d', 6, struct sg1)	/* set sig for ATTN interrupt */
X! #define	DRESET		_IO('d', 7)		/* reset DR11-W interface */
X! #define	DRSTIME		_IOW('d', 8, struct sg1)	/* set timeout */
X! #define	DRCTIME		_IO('d', 9)		/* set timeout inactive */
X! #define	DROUTPUT	_IOW('d', 10, struct sg1)	/* word to output data reg */
X! #define	DRINPUT		_IOR('d', 11, struct sg1)	/* word from input data reg */
X! #define	DRITIME		_IO('d', 12)		/* no set error on timeout */
X  
X  /*
X   *	i_flags definition
X*** ./usr/src/sys/pdpuba/hk.c.orig	Sat Oct 13 20:20:02 2001
X--- ./usr/src/sys/pdpuba/hk.c	Tue Jan  7 22:14:12 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)hk.c	2.4 (2.11BSD) 2001/8/13
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)hk.c	2.5 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 430,436 ****
X  		disk->dk_flags &= ~DKF_ONLINE;
X  		goto done;
X  		}
X! #ifdef NHK > 1
X  	if (bp->b_cylin == hk_cyl[unit])
X  		goto done;
X  	hkaddr->hkcyl = bp->b_cylin;
X--- 430,436 ----
X  		disk->dk_flags &= ~DKF_ONLINE;
X  		goto done;
X  		}
X! #if NHK > 1
X  	if (bp->b_cylin == hk_cyl[unit])
X  		goto done;
X  	hkaddr->hkcyl = bp->b_cylin;
X***************
X*** 446,452 ****
X  	}
X  #endif
X  	return (didie);
X! #endif NHK > 1
X  
X  done:
X  	if (dp->b_active != 2) {
X--- 446,452 ----
X  	}
X  #endif
X  	return (didie);
X! #endif /* NHK > 1 */
X  
X  done:
X  	if (dp->b_active != 2) {
X***************
X*** 965,968 ****
X  	pi = &disk->dk_parts[dkpart(bp->b_dev)];
X  	return(bp->b_blkno + pi->p_offset);
X  	}
X! #endif NHK > 0
X--- 965,968 ----
X  	pi = &disk->dk_parts[dkpart(bp->b_dev)];
X  	return(bp->b_blkno + pi->p_offset);
X  	}
X! #endif /* NHK > 0 */
X*** ./usr/src/sys/pdpuba/rxreg.h.orig	Tue Nov 21 23:56:29 1995
X--- ./usr/src/sys/pdpuba/rxreg.h	Tue Jan  7 22:14:31 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)rxreg.h	1.2 (2.11BSD GTE) 1995/11/21
X   */
X  
X  struct	rxdevice	{
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)rxreg.h	1.3 (2.11BSD) 2020/1/7
X   */
X  
X  struct	rxdevice	{
X***************
X*** 46,52 ****
X  #define	RX_RDEC		0000016		/* read error code */
X  
X  /* ioctls */
X! #define	RXIOC_FORMAT	_IO(r, 1)	/* format media */
X  
X  #define	RX_BITS	\
X  "\10\20ERR\17INIT\14RX02\13QBUS\12HD\11DD\10XREQ\7IE\6DONE\5UNIT1\1GO"
X--- 46,52 ----
X  #define	RX_RDEC		0000016		/* read error code */
X  
X  /* ioctls */
X! #define	RXIOC_FORMAT	_IO('r', 1)	/* format media */
X  
X  #define	RX_BITS	\
X  "\10\20ERR\17INIT\14RX02\13QBUS\12HD\11DD\10XREQ\7IE\6DONE\5UNIT1\1GO"
X*** ./usr/src/sys/sys/tty.c.orig	Sun May  4 23:10:15 1997
X--- ./usr/src/sys/sys/tty.c	Tue Jan  7 22:14:50 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)tty.c	1.5 (2.11BSD GTE) 1997/5/4
X   */
X  
X  #include "param.h"
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)tty.c	1.6 (2.11BSD) 2020/1/7
X   */
X  
X  #include "param.h"
X***************
X*** 924,930 ****
X  		if (tp->t_rawq.c_cc > TTYHOG) {
X  			if (tp->t_outq.c_cc < TTHIWAT(tp) &&
X  			    tp->t_line == NTTYDISC)
X! 				(void) ttyoutput(CTRL(g), tp);
X  		} else if (putc(c, &tp->t_rawq) == 0) {
X  			ttwakeup(tp);
X  			ttyecho(c, tp);
X--- 924,930 ----
X  		if (tp->t_rawq.c_cc > TTYHOG) {
X  			if (tp->t_outq.c_cc < TTHIWAT(tp) &&
X  			    tp->t_line == NTTYDISC)
X! 				(void) ttyoutput(CTRL('g'), tp);
X  		} else if (putc(c, &tp->t_rawq) == 0) {
X  			ttwakeup(tp);
X  			ttyecho(c, tp);
X***************
X*** 993,999 ****
X  	 */
X  	if (tp->t_rawq.c_cc+tp->t_canq.c_cc >= TTYHOG) {
X  		if (tp->t_line == NTTYDISC)
X! 			(void) ttyoutput(CTRL(g), tp);
X  		goto endcase;
X  	}
X  
X--- 993,999 ----
X  	 */
X  	if (tp->t_rawq.c_cc+tp->t_canq.c_cc >= TTYHOG) {
X  		if (tp->t_line == NTTYDISC)
X! 			(void) ttyoutput(CTRL('g'), tp);
X  		goto endcase;
X  	}
X  
X*** ./usr/src/sys/sys/tty_pty.c.orig	Fri May  2 19:00:27 1997
X--- ./usr/src/sys/sys/tty_pty.c	Tue Jan  7 22:15:05 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)tty_pty.c	1.3 (2.11BSD GTE) 1997/5/2
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)tty_pty.c	1.4 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 549,555 ****
X  		error = ENOTTY;
X  	}
X  	stop = (tp->t_flags & RAW) == 0 &&
X! 	    tp->t_stopc == CTRL(s) && tp->t_startc == CTRL(q);
X  	if (pti->pt_flags & PF_NOSTOP) {
X  		if (stop) {
X  			pti->pt_send &= ~TIOCPKT_NOSTOP;
X--- 549,555 ----
X  		error = ENOTTY;
X  	}
X  	stop = (tp->t_flags & RAW) == 0 &&
X! 	    tp->t_stopc == CTRL('s') && tp->t_startc == CTRL('q');
X  	if (pti->pt_flags & PF_NOSTOP) {
X  		if (stop) {
X  			pti->pt_send &= ~TIOCPKT_NOSTOP;
X*** ./usr/src/sys/sys/uipc_domain.c.orig	Tue Oct 10 01:19:00 1995
X--- ./usr/src/sys/sys/uipc_domain.c	Tue Jan  7 22:15:35 2020
X***************
X*** 9,15 ****
X   * software without specific prior written permission. This software
X   * is provided ``as is'' without express or implied warranty.
X   *
X!  *	@(#)uipc_domain.c	7.2.1 (2.11BSD) 1995/10/09
X   */
X  
X  #include "param.h"
X--- 9,15 ----
X   * software without specific prior written permission. This software
X   * is provided ``as is'' without express or implied warranty.
X   *
X!  *	@(#)uipc_domain.c	7.3 (2.11BSD) 2020/1/7
X   */
X  
X  #include "param.h"
X***************
X*** 22,30 ****
X  #include "errno.h"
X  
X  #define	ADDDOMAIN(x)	{ \
X! 	extern struct domain x/**/domain; \
X! 	x/**/domain.dom_next = domains; \
X! 	domains = &x/**/domain; \
X  }
X  
X  domaininit()
X--- 22,30 ----
X  #include "errno.h"
X  
X  #define	ADDDOMAIN(x)	{ \
X! 	extern struct domain x ## domain; \
X! 	x ## domain.dom_next = domains; \
X! 	domains = &x ## domain; \
X  }
X  
X  domaininit()
X*** ./usr/src/ucb/ex/ex.h.orig	Tue Feb 24 08:10:37 1987
X--- ./usr/src/ucb/ex/ex.h	Tue Jan  7 22:16:04 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ex.h	7.7.1.1 (Berkeley) 8/12/86
X   */
X  
X  #ifdef V6
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)ex.h	7.8 (2.11BSD) 2020/1/7
X   */
X  
X  #ifdef V6
X***************
X*** 157,165 ****
X  #define	QUOTE	0200
X  #define	TRIM	0177
X  #undef CTRL
X! #define	CTRL(c)	('c' & 037)
X! #define	NL	CTRL(j)
X! #define	CR	CTRL(m)
X  #define	DELETE	0177		/* See also ATTN, QUIT in ex_tune.h */
X  #define	ESCAPE	033
X  
X--- 157,165 ----
X  #define	QUOTE	0200
X  #define	TRIM	0177
X  #undef CTRL
X! #define	CTRL(c)	(c & 037)
X! #define	NL	CTRL('j')
X! #define	CR	CTRL('m')
X  #define	DELETE	0177		/* See also ATTN, QUIT in ex_tune.h */
X  #define	ESCAPE	033
X  
X*** ./usr/src/ucb/ex/ex_cmds.c.orig	Tue Nov 19 23:04:23 1996
X--- ./usr/src/ucb/ex/ex_cmds.c	Tue Jan  7 22:16:32 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_cmds.c	7.10.1 (2.11BSD) 1996/11/19";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_cmds.c	7.11 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 131,137 ****
X  		 * the set of available commands here to save work below.
X  		 */
X  		if (inopen) {
X! 			if (c=='\n' || c=='\r' || c==CTRL(d) || c==EOF) {
X  				if (addr2)
X  					dot = addr2;
X  				if (c == EOF)
X--- 131,137 ----
X  		 * the set of available commands here to save work below.
X  		 */
X  		if (inopen) {
X! 			if (c=='\n' || c=='\r' || c==CTRL('d') || c==EOF) {
X  				if (addr2)
X  					dot = addr2;
X  				if (c == EOF)
X***************
X*** 771,777 ****
X  			notempty();
X  			if (addr2 == 0) {
X  				if (UP != NOSTR && c == '\n' && !inglobal)
X! 					c = CTRL(k);
X  				if (inglobal)
X  					addr1 = addr2 = dot;
X  				else {
X--- 771,777 ----
X  			notempty();
X  			if (addr2 == 0) {
X  				if (UP != NOSTR && c == '\n' && !inglobal)
X! 					c = CTRL('k');
X  				if (inglobal)
X  					addr1 = addr2 = dot;
X  				else {
X***************
X*** 785,791 ****
X  			if (seensemi)
X  				addr1 = addr2;
X  			getline(*addr1);
X! 			if (c == CTRL(k)) {
X  				flush1();
X  				destline--;
X  				if (hadpr)
X--- 785,791 ----
X  			if (seensemi)
X  				addr1 = addr2;
X  			getline(*addr1);
X! 			if (c == CTRL('k')) {
X  				flush1();
X  				destline--;
X  				if (hadpr)
X***************
X*** 848,854 ****
X  
X  /* ^D */
X  /* EOF */
X! 		case CTRL(d):
X  		case EOF:
X  			if (exitoneof) {
X  				if (addr2 != 0)
X--- 848,854 ----
X  
X  /* ^D */
X  /* EOF */
X! 		case CTRL('d'):
X  		case EOF:
X  			if (exitoneof) {
X  				if (addr2 != 0)
X*** ./usr/src/ucb/ex/ex_cmds2.c.orig	Sun Sep  8 13:58:20 1991
X--- ./usr/src/ucb/ex/ex_cmds2.c	Tue Jan  7 22:18:18 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_cmds2.c	7.4 (Berkeley) 6/7/85";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_cmds2.c	7.5 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 511,517 ****
X  			 * Gobble ^Q/^S since the tty driver should be eating
X  			 * them (as far as the user can see)
X  			 */
X! 			while (peekkey() == CTRL(Q) || peekkey() == CTRL(S))
X  				ignore(getkey());
X  #endif
X  			if(getkey() == ':') {
X--- 511,517 ----
X  			 * Gobble ^Q/^S since the tty driver should be eating
X  			 * them (as far as the user can see)
X  			 */
X! 			while (peekkey() == CTRL('Q') || peekkey() == CTRL('S'))
X  				ignore(getkey());
X  #endif
X  			if(getkey() == ':') {
X*** ./usr/src/ucb/ex/ex_cmdsub.c.orig	Sun Sep  8 13:58:39 1991
X--- ./usr/src/ucb/ex/ex_cmdsub.c	Tue Jan  7 22:18:39 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_cmdsub.c	7.7 (Berkeley) 6/7/85";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_cmdsub.c	7.8 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 1108,1114 ****
X  	ignore(skipwh());
X  	for (p=lhs; ; ) {
X  		c = getchar();
X! 		if (c == CTRL(v)) {
X  			c = getchar();
X  		} else if (!un && any(c, " \t")) {
X  			/* End of lhs */
X--- 1108,1114 ----
X  	ignore(skipwh());
X  	for (p=lhs; ; ) {
X  		c = getchar();
X! 		if (c == CTRL('v')) {
X  			c = getchar();
X  		} else if (!un && any(c, " \t")) {
X  			/* End of lhs */
X***************
X*** 1131,1137 ****
X  		error("Missing rhs");
X  	for (p=rhs; ; ) {
X  		c = getchar();
X! 		if (c == CTRL(v)) {
X  			c = getchar();
X  		} else if (endcmd(c) && c!='"') {
X  			ungetchar(c);
X--- 1131,1137 ----
X  		error("Missing rhs");
X  	for (p=rhs; ; ) {
X  		c = getchar();
X! 		if (c == CTRL('v')) {
X  			c = getchar();
X  		} else if (endcmd(c) && c!='"') {
X  			ungetchar(c);
X*** ./usr/src/ucb/ex/ex_get.c.orig	Sun Sep  8 13:59:26 1991
X--- ./usr/src/ucb/ex/ex_get.c	Tue Jan  7 22:18:57 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_get.c	7.6 (Berkeley) 6/7/85";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_get.c	7.7 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 30,36 ****
X  
X  	do
X  		c = getcd();
X! 	while (!globp && c == CTRL(d));
X  	return (c);
X  }
X  
X--- 30,36 ----
X  
X  	do
X  		c = getcd();
X! 	while (!globp && c == CTRL('d'));
X  	return (c);
X  }
X  
X***************
X*** 44,50 ****
X  		return (c);
X  	c &= TRIM;
X  	if (!inopen)
X! 		if (!globp && c == CTRL(d))
X  			setlastchar('\n');
X  		else if (junk(c)) {
X  			checkjunk(c);
X--- 44,50 ----
X  		return (c);
X  	c &= TRIM;
X  	if (!inopen)
X! 		if (!globp && c == CTRL('d'))
X  			setlastchar('\n');
X  		else if (junk(c)) {
X  			checkjunk(c);
X***************
X*** 71,77 ****
X  getach()
X  {
X  	register int c;
X! 	static char inline[BUFSIZ];
X  	struct stat statb;
X  
X  	c = peekc;
X--- 71,77 ----
X  getach()
X  {
X  	register int c;
X! 	static char xinline[BUFSIZ];
X  	struct stat statb;
X  
X  	c = peekc;
X***************
X*** 96,120 ****
X  	}
X  	flush();
X  	if (intty) {
X! 		c = read(0, inline, sizeof inline - 4);
X  		if (c < 0)
X  			return (lastc = EOF);
X! 		if (c == 0 || inline[c-1] != '\n')
X! 			inline[c++] = CTRL(d);
X! 		if (inline[c-1] == '\n')
X  			noteinp();
X! 		inline[c] = 0;
X  		for (c--; c >= 0; c--)
X! 			if (inline[c] == 0)
X! 				inline[c] = QUOTE;
X! 		input = inline;
X  		goto top;
X  	}
X! 	c = read(0, inline, sizeof inline - 1);
X  	if(c <= 0)
X  		return(lastc = EOF);
X! 	inline[c] = '\0';
X! 	input = inline;
X  	goto top;
X  }
X  
X--- 96,120 ----
X  	}
X  	flush();
X  	if (intty) {
X! 		c = read(0, xinline, sizeof xinline - 4);
X  		if (c < 0)
X  			return (lastc = EOF);
X! 		if (c == 0 || xinline[c-1] != '\n')
X! 			xinline[c++] = CTRL('d');
X! 		if (xinline[c-1] == '\n')
X  			noteinp();
X! 		xinline[c] = 0;
X  		for (c--; c >= 0; c--)
X! 			if (xinline[c] == 0)
X! 				xinline[c] = QUOTE;
X! 		input = xinline;
X  		goto top;
X  	}
X! 	c = read(0, xinline, sizeof xinline - 1);
X  	if(c <= 0)
X  		return(lastc = EOF);
X! 	xinline[c] = '\0';
X! 	input = xinline;
X  	goto top;
X  }
X  
X***************
X*** 148,154 ****
X  				lastin = lindent(dot + 1);
X  #endif
X  			tab(lastin + offset);
X! 			while ((c = getcd()) == CTRL(d)) {
X  				if (lastin == 0 && isatty(0) == -1) {
X  					holdcm = 0;
X  					return (EOF);
X--- 148,154 ----
X  				lastin = lindent(dot + 1);
X  #endif
X  			tab(lastin + offset);
X! 			while ((c = getcd()) == CTRL('d')) {
X  				if (lastin == 0 && isatty(0) == -1) {
X  					holdcm = 0;
X  					return (EOF);
X***************
X*** 161,167 ****
X  			case '^':
X  			case '0':
X  				ch = getcd();
X! 				if (ch == CTRL(d)) {
X  					if (c == '0')
X  						lastin = 0;
X  					if (!OS) {
X--- 161,167 ----
X  			case '^':
X  			case '0':
X  				ch = getcd();
X! 				if (ch == CTRL('d')) {
X  					if (c == '0')
X  						lastin = 0;
X  					if (!OS) {
X*** ./usr/src/ucb/ex/ex_put.c.orig	Fri Dec  9 22:48:24 1994
X--- ./usr/src/ucb/ex/ex_put.c	Tue Jan  7 22:20:56 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_put.c	7.9.1 (2.11BSD GTE) 12/9/94";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_put.c	7.10 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 432,438 ****
X  plod(cnt)
X  {
X  	register int i, j, k;
X! 	register int soutcol, soutline;
X  
X  	plodcnt = plodflg = cnt;
X  	soutcol = outcol;
X--- 432,438 ----
X  plod(cnt)
X  {
X  	register int i, j, k;
X! 	int soutcol, soutline;
X  
X  	plodcnt = plodflg = cnt;
X  	soutcol = outcol;
X***************
X*** 960,968 ****
X  ttcharoff()
X  {
X  	nttyc.t_quitc = '\377';
X! 	if (nttyc.t_startc != CTRL(q))
X  		nttyc.t_startc = '\377';
X! 	if (nttyc.t_stopc != CTRL(s))
X  		nttyc.t_stopc = '\377';
X  # ifdef TIOCLGET
X  	nlttyc.t_suspc = '\377';	/* ^Z */
X--- 960,968 ----
X  ttcharoff()
X  {
X  	nttyc.t_quitc = '\377';
X! 	if (nttyc.t_startc != CTRL('q'))
X  		nttyc.t_startc = '\377';
X! 	if (nttyc.t_stopc != CTRL('s'))
X  		nttyc.t_stopc = '\377';
X  # ifdef TIOCLGET
X  	nlttyc.t_suspc = '\377';	/* ^Z */
X***************
X*** 983,991 ****
X  	 * their start/stop chars.  As long as they can't we can't get
X  	 * into trouble so we just leave them alone.
X  	 */
X! 	if (tty.c_cc[VSTART] != CTRL(q))
X  		tty.c_cc[VSTART] = '\377';
X! 	if (tty.c_cc[VSTOP] != CTRL(s))
X  		tty.c_cc[VSTOP] = '\377';
X  # endif
X  }
X--- 983,991 ----
X  	 * their start/stop chars.  As long as they can't we can't get
X  	 * into trouble so we just leave them alone.
X  	 */
X! 	if (tty.c_cc[VSTART] != CTRL('q'))
X  		tty.c_cc[VSTART] = '\377';
X! 	if (tty.c_cc[VSTOP] != CTRL('s'))
X  		tty.c_cc[VSTOP] = '\377';
X  # endif
X  }
X*** ./usr/src/ucb/ex/ex_tty.c.orig	Fri Dec  9 22:55:58 1994
X--- ./usr/src/ucb/ex/ex_tty.c	Tue Jan  7 22:21:54 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_tty.c	7.10.1 (2.11BSD GTE) 12/9/94";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_tty.c	7.11 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 110,119 ****
X  		if (ldisc == NTTYDISC) {
X  			sc[0] = olttyc.t_suspc;
X  			sc[1] = 0;
X! 			if (olttyc.t_suspc == CTRL(z)) {
X  				for (i=0; i<=4; i++)
X  					if (arrows[i].cap &&
X! 					    arrows[i].cap[0] == CTRL(z))
X  						addmac(sc, NULL, NULL, arrows);
X  			} else
X  				addmac(sc, "\32", "susp", arrows);
X--- 110,119 ----
X  		if (ldisc == NTTYDISC) {
X  			sc[0] = olttyc.t_suspc;
X  			sc[1] = 0;
X! 			if (olttyc.t_suspc == CTRL('z')) {
X  				for (i=0; i<=4; i++)
X  					if (arrows[i].cap &&
X! 					    arrows[i].cap[0] == CTRL('z'))
X  						addmac(sc, NULL, NULL, arrows);
X  			} else
X  				addmac(sc, "\32", "susp", arrows);
X*** ./usr/src/ucb/ex/ex_vget.c.orig	Fri Dec  9 22:41:56 1994
X--- ./usr/src/ucb/ex/ex_vget.c	Tue Jan  7 22:22:17 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_vget.c	6.8.1 (2.11BSD GTE) 12/9/94";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_vget.c	6.9 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 130,136 ****
X  			Peek2key = 0;
X  			break;
X  		case 'q':	/* f2 -> ^C */
X! 			c = CTRL(c);
X  			Peek2key = 0;
X  			break;
X  		case 'p':	/* f1 -> esc */
X--- 130,136 ----
X  			Peek2key = 0;
X  			break;
X  		case 'q':	/* f2 -> ^C */
X! 			c = CTRL('c');
X  			Peek2key = 0;
X  			break;
X  		case 'p':	/* f1 -> esc */
X***************
X*** 165,172 ****
X  	c = getkey();
X  	switch (c) {
X  
X! 	case CTRL(v):
X! 	case CTRL(q):
X  		c = getkey();
X  		return (c);
X  
X--- 165,172 ----
X  	c = getkey();
X  	switch (c) {
X  
X! 	case CTRL('v'):
X! 	case CTRL('q'):
X  		c = getkey();
X  		return (c);
X  
X***************
X*** 224,236 ****
X  		putchar('\n');
X  	vscrap();
X  	Pline = OP;
X! 	if (Peekkey != ATTN && Peekkey != QUIT && Peekkey != CTRL(h)) {
X  		cursor = sc;
X  		vclreol();
X  		return (0);
X  	}
X  blewit:
X! 	OPeek = Peekkey==CTRL(h) ? 0 : Peekkey; Peekkey = 0;
X  	splitw = 0;
X  	vclean();
X  	vshow(dot, NOLINE);
X--- 224,236 ----
X  		putchar('\n');
X  	vscrap();
X  	Pline = OP;
X! 	if (Peekkey != ATTN && Peekkey != QUIT && Peekkey != CTRL('h')) {
X  		cursor = sc;
X  		vclreol();
X  		return (0);
X  	}
X  blewit:
X! 	OPeek = Peekkey==CTRL('h') ? 0 : Peekkey; Peekkey = 0;
X  	splitw = 0;
X  	vclean();
X  	vshow(dot, NOLINE);
X***************
X*** 354,360 ****
X  	if (VB)
X  		vputp(VB, 0);
X  	else
X! 		vputc(CTRL(g));
X  }
X  
X  /*
X--- 354,360 ----
X  	if (VB)
X  		vputp(VB, 0);
X  	else
X! 		vputc(CTRL('g'));
X  }
X  
X  /*
X*** ./usr/src/ucb/ex/ex_vmain.c.orig	Sun Sep  8 14:03:35 1991
X--- ./usr/src/ucb/ex/ex_vmain.c	Tue Jan  7 22:23:15 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_vmain.c	7.7 (Berkeley) 6/7/85";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_vmain.c	7.8 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 192,200 ****
X  		 *		will probably foul this up, but nobody has
X  		 *		one of them.
X  		 */
X! 		case CTRL(l):
X! 		case CTRL(r):
X! 			if (c == CTRL(l) || (KR && *KR==CTRL(l))) {
X  				vclear();
X  				vdirty(0, vcnt);
X  			}
X--- 192,200 ----
X  		 *		will probably foul this up, but nobody has
X  		 *		one of them.
X  		 */
X! 		case CTRL('l'):
X! 		case CTRL('r'):
X! 			if (c == CTRL('l') || (KR && *KR==CTRL('l'))) {
X  				vclear();
X  				vdirty(0, vcnt);
X  			}
X***************
X*** 300,306 ****
X  		 *		redrawn almost as it was.  In this case
X  		 *		one should simply move the cursor.
X  		 */
X! 		case CTRL(u):
X  			if (hadcnt)
X  				vSCROLL = cnt;
X  			cnt = vSCROLL;
X--- 300,306 ----
X  		 *		redrawn almost as it was.  In this case
X  		 *		one should simply move the cursor.
X  		 */
X! 		case CTRL('u'):
X  			if (hadcnt)
X  				vSCROLL = cnt;
X  			cnt = vSCROLL;
X***************
X*** 316,322 ****
X  		/*
X  		 * ^D		Scroll down.  Like scroll up.
X  		 */
X! 		case CTRL(d):
X  #ifdef TRACE
X  		if (trace)
X  			fprintf(trace, "before vdown in ^D, dot=%d, wdot=%d, dol=%d\n", lineno(dot), lineno(wdot), lineno(dol));
X--- 316,322 ----
X  		/*
X  		 * ^D		Scroll down.  Like scroll up.
X  		 */
X! 		case CTRL('d'):
X  #ifdef TRACE
X  		if (trace)
X  			fprintf(trace, "before vdown in ^D, dot=%d, wdot=%d, dol=%d\n", lineno(dot), lineno(wdot), lineno(dol));
X***************
X*** 345,351 ****
X  		 * ^E		Glitch the screen down (one) line.
X  		 *		Cursor left on same line in file.
X  		 */
X! 		case CTRL(e):
X  			if (state != VISUAL)
X  				continue;
X  			if (!hadcnt)
X--- 345,351 ----
X  		 * ^E		Glitch the screen down (one) line.
X  		 *		Cursor left on same line in file.
X  		 */
X! 		case CTRL('e'):
X  			if (state != VISUAL)
X  				continue;
X  			if (!hadcnt)
X***************
X*** 360,366 ****
X  		/*
X  		 * ^Y		Like ^E but up
X  		 */
X! 		case CTRL(y):
X  			if (state != VISUAL)
X  				continue;
X  			if (!hadcnt)
X--- 360,366 ----
X  		/*
X  		 * ^Y		Like ^E but up
X  		 */
X! 		case CTRL('y'):
X  			if (state != VISUAL)
X  				continue;
X  			if (!hadcnt)
X***************
X*** 409,415 ****
X  		 * ^F		Window forwards, with 2 lines of continuity.
X  		 *		Count repeats.
X  		 */
X! 		case CTRL(f):
X  			vsave();
X  			if (vcnt > 2) {
X  				addr = dot + (vcnt - vcline) - 2 + (cnt-1)*basWLINES;
X--- 409,415 ----
X  		 * ^F		Window forwards, with 2 lines of continuity.
X  		 *		Count repeats.
X  		 */
X! 		case CTRL('f'):
X  			vsave();
X  			if (vcnt > 2) {
X  				addr = dot + (vcnt - vcline) - 2 + (cnt-1)*basWLINES;
X***************
X*** 424,430 ****
X  		 * ^B		Window backwards, with 2 lines of continuity.
X  		 *		Inverse of ^F.
X  		 */
X! 		case CTRL(b):
X  			vsave();
X  			if (one + vcline != dot && vcnt > 2) {
X  				addr = dot - vcline + 2 - (cnt-1)*basWLINES;
X--- 424,430 ----
X  		 * ^B		Window backwards, with 2 lines of continuity.
X  		 *		Inverse of ^F.
X  		 */
X! 		case CTRL('b'):
X  			vsave();
X  			if (one + vcline != dot && vcnt > 2) {
X  				addr = dot - vcline + 2 - (cnt-1)*basWLINES;
X***************
X*** 833,839 ****
X  		 *		Like a :e #, and thus can be used after a
X  		 *		"No Write" diagnostic.
X  		 */
X! 		case CTRL(^):
X  			forbid (hadcnt);
X  			vsave();
X  			ckaw();
X--- 833,839 ----
X  		 *		Like a :e #, and thus can be used after a
X  		 *		"No Write" diagnostic.
X  		 */
X! 		case CTRL('^'):
X  			forbid (hadcnt);
X  			vsave();
X  			ckaw();
X***************
X*** 848,854 ****
X  		 * ^]		Takes word after cursor as tag, and then does
X  		 *		tag command.  Read ``go right to''.
X  		 */
X! 		case CTRL(]):
X  			grabtag();
X  			oglobp = globp;
X  			globp = "tag";
X--- 848,854 ----
X  		 * ^]		Takes word after cursor as tag, and then does
X  		 *		tag command.  Read ``go right to''.
X  		 */
X! 		case CTRL(']'):
X  			grabtag();
X  			oglobp = globp;
X  			globp = "tag";
X***************
X*** 868,874 ****
X  		 *
X  		 * BUG:		Was ^S but doesn't work in cbreak mode
X  		 */
X! 		case CTRL(g):
X  			oglobp = globp;
X  			globp = "file";
X  gogo:
X--- 868,874 ----
X  		 *
X  		 * BUG:		Was ^S but doesn't work in cbreak mode
X  		 */
X! 		case CTRL('g'):
X  			oglobp = globp;
X  			globp = "file";
X  gogo:
X***************
X*** 882,888 ****
X  		 * 	to shell.  Only works with Berkeley/IIASA process
X  		 *	control in kernel.
X  		 */
X! 		case CTRL(z):
X  			forbid(dosusp == 0 || !ldisc);
X  			vsave();
X  			oglobp = globp;
X--- 882,888 ----
X  		 * 	to shell.  Only works with Berkeley/IIASA process
X  		 *	control in kernel.
X  		 */
X! 		case CTRL('z'):
X  			forbid(dosusp == 0 || !ldisc);
X  			vsave();
X  			oglobp = globp;
X*** ./usr/src/ucb/ex/ex_voper.c.orig	Sun Sep  8 14:03:53 1991
X--- ./usr/src/ucb/ex/ex_voper.c	Tue Jan  7 22:24:27 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_voper.c	7.4 (Berkeley) 6/7/85";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_voper.c	7.5 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 390,396 ****
X  	 * ^H		Back a character.
X  	 */
X  	case 'h':
X! 	case CTRL(h):
X  		dir = -1;
X  		/* fall into ... */
X  
X--- 390,396 ----
X  	 * ^H		Back a character.
X  	 */
X  	case 'h':
X! 	case CTRL('h'):
X  		dir = -1;
X  		/* fall into ... */
X  
X***************
X*** 484,490 ****
X  	 *		console of the VAX since it puts console in LSI mode.
X  	 */
X  	case 'k':
X! 	case CTRL(p):
X  		wdot = dot - cnt;
X  		if (vmoving == 0)
X  			vmoving = 1, vmovcol = column(cursor);
X--- 484,490 ----
X  	 *		console of the VAX since it puts console in LSI mode.
X  	 */
X  	case 'k':
X! 	case CTRL('p'):
X  		wdot = dot - cnt;
X  		if (vmoving == 0)
X  			vmoving = 1, vmovcol = column(cursor);
X***************
X*** 531,537 ****
X  	 *
X  	 * LF		Linefeed is a convenient synonym for ^N.
X  	 */
X! 	case CTRL(n):
X  	case 'j':
X  	case NL:
X  		wdot = dot + cnt;
X--- 531,537 ----
X  	 *
X  	 * LF		Linefeed is a convenient synonym for ^N.
X  	 */
X! 	case CTRL('n'):
X  	case 'j':
X  	case NL:
X  		wdot = dot + cnt;
X*** ./usr/src/ucb/ex/ex_vops2.c.orig	Sun Sep  8 14:04:27 1991
X--- ./usr/src/ucb/ex/ex_vops2.c	Tue Jan  7 22:24:51 2020
X***************
X*** 5,11 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_vops2.c	6.8 (Berkeley) 6/7/85";
X  #endif
X  
X  #include "ex.h"
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char *sccsid = "@(#)ex_vops2.c	6.9 (2.11BSD) 2020/1/7";
X  #endif
X  
X  #include "ex.h"
X***************
X*** 488,499 ****
X  			 */
X  #ifndef USG3TTY
X  			if (c == tty.sg_erase)
X! 				c = CTRL(h);
X  			else if (c == tty.sg_kill)
X  				c = -1;
X  #else
X  			if (c == tty.c_cc[VERASE])
X! 				c = CTRL(h);
X  			else if (c == tty.c_cc[VKILL])
X  				c = -1;
X  #endif
X--- 488,499 ----
X  			 */
X  #ifndef USG3TTY
X  			if (c == tty.sg_erase)
X! 				c = CTRL('h');
X  			else if (c == tty.sg_kill)
X  				c = -1;
X  #else
X  			if (c == tty.c_cc[VERASE])
X! 				c = CTRL('h');
X  			else if (c == tty.c_cc[VKILL])
X  				c = -1;
X  #endif
X***************
X*** 521,527 ****
X  			 *		This is hard because stuff has
X  			 *		already been saved for repeat.
X  			 */
X! 			case CTRL(h):
X  bakchar:
X  				cp = gcursor - 1;
X  				if (cp < ogcursor) {
X--- 521,527 ----
X  			 *		This is hard because stuff has
X  			 *		already been saved for repeat.
X  			 */
X! 			case CTRL('h'):
X  bakchar:
X  				cp = gcursor - 1;
X  				if (cp < ogcursor) {
X***************
X*** 542,548 ****
X  			/*
X  			 * ^W		Back up a white/non-white word.
X  			 */
X! 			case CTRL(w):
X  				wdkind = 1;
X  				for (cp = gcursor; cp > ogcursor && isspace(cp[-1]); cp--)
X  					continue;
X--- 542,548 ----
X  			/*
X  			 * ^W		Back up a white/non-white word.
X  			 */
X! 			case CTRL('w'):
X  				wdkind = 1;
X  				for (cp = gcursor; cp > ogcursor && isspace(cp[-1]); cp--)
X  					continue;
X***************
X*** 604,611 ****
X  			 *
X  			 * ^V		Synonym for ^Q
X  			 */
X! 			case CTRL(q):
X! 			case CTRL(v):
X  				x = destcol, y = destline;
X  				putchar('^');
X  				vgoto(y, x);
X--- 604,611 ----
X  			 *
X  			 * ^V		Synonym for ^Q
X  			 */
X! 			case CTRL('q'):
X! 			case CTRL('v'):
X  				x = destcol, y = destline;
X  				putchar('^');
X  				vgoto(y, x);
X***************
X*** 743,750 ****
X  		 *		Unless in repeat where this means these
X  		 *		were superquoted in.
X  		 */
X! 		case CTRL(d):
X! 		case CTRL(t):
X  			if (vglobp)
X  				goto def;
X  			/* fall into ... */
X--- 743,750 ----
X  		 *		Unless in repeat where this means these
X  		 *		were superquoted in.
X  		 */
X! 		case CTRL('d'):
X! 		case CTRL('t'):
X  			if (vglobp)
X  				goto def;
X  			/* fall into ... */
X***************
X*** 752,762 ****
X  		/*
X  		 * ^D|QUOTE	Is a backtab (in a repeated command).
X  		 */
X! 		case CTRL(d) | QUOTE:
X  			*gcursor = 0;
X  			cp = vpastwh(genbuf);
X  			c = whitecnt(genbuf);
X! 			if (ch == CTRL(t)) {
X  				/*
X  				 * ^t just generates new indent replacing
X  				 * current white space rounded up to soft
X--- 752,762 ----
X  		/*
X  		 * ^D|QUOTE	Is a backtab (in a repeated command).
X  		 */
X! 		case CTRL('d') | QUOTE:
X  			*gcursor = 0;
X  			cp = vpastwh(genbuf);
X  			c = whitecnt(genbuf);
X! 			if (ch == CTRL('t')) {
X  				/*
X  				 * ^t just generates new indent replacing
X  				 * current white space rounded up to soft
X*** ./usr/src/ucb/indent/indent.c.orig	Tue Feb 17 00:08:23 1987
X--- ./usr/src/ucb/indent/indent.c	Tue Jan  7 22:25:57 2020
X***************
X*** 4,19 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! char copyright[] =
X! "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X!  All rights reserved.\n";
X! #endif not lint
X  
X- #ifndef lint
X- static char sccsid[] = "@(#)indent.c	5.4 (Berkeley) 9/10/85";
X- #endif not lint
X- 
X  /*-
X    
X  	Copyright (C) 1976
X--- 4,13 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)indent.c	5.5 (2.11BSD) 2020/1/7";
X! #endif
X  
X  /*-
X    
X  	Copyright (C) 1976
X***************
X*** 44,51 ****
X  the following line should be changed, set the variable ps.i_l_follow.
X  
X  */
X! #include "indent_globs.h";
X! #include "indent_codes.h";
X  
X  char       *in_name = "Standard Input";	/* will always point to name of
X  					 * input file */
X--- 38,45 ----
X  the following line should be changed, set the variable ps.i_l_follow.
X  
X  */
X! #include "indent_globs.h"
X! #include "indent_codes.h"
X  
X  char       *in_name = "Standard Input";	/* will always point to name of
X  					 * input file */
X*** ./usr/src/ucb/indent/io.c.orig	Tue Feb 17 00:08:24 1987
X--- ./usr/src/ucb/indent/io.c	Tue Jan  7 22:26:36 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)io.c	5.3 (Berkeley) 9/8/85";
X! #endif not lint
X  
X  /*-
X   *			  Copyright (C) 1976
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)io.c	5.4 (2.11BSD) 2020/1/7";
X! #endif
X  
X  /*-
X   *			  Copyright (C) 1976
X***************
X*** 65,71 ****
X   *	initial coding 	November 1976	D A Willcox of CAC
X   *
X   */
X! #include "indent_globs.h";
X  
X  
X  
X--- 65,71 ----
X   *	initial coding 	November 1976	D A Willcox of CAC
X   *
X   */
X! #include "indent_globs.h"
X  
X  
X  
X***************
X*** 311,317 ****
X   * buffer from temporary buffer 
X   *
X   */
X- int
X  fill_buffer()
X  {				/* this routine reads stuff from the input */
X      int         count;
X--- 311,316 ----
X*** ./usr/src/ucb/indent/lexi.c.orig	Tue Feb 17 00:08:24 1987
X--- ./usr/src/ucb/indent/lexi.c	Tue Jan  7 22:30:14 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)lexi.c	5.4 (Berkeley) 9/10/85";
X! #endif not lint
X  
X  /*-
X   *
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)lexi.c	5.5 (2.11BSD) 2020/1/7";
X! #endif /* not lint */
X  
X  /*-
X   *
X***************
X*** 71,78 ****
X   * the type of token scanned. 
X   */
X  
X! #include "indent_globs.h";
X! #include "indent_codes.h";
X  #include "ctype.h"
X  
X  #define alphanum 1
X--- 71,78 ----
X   * the type of token scanned. 
X   */
X  
X! #include "indent_globs.h"
X! #include "indent_codes.h"
X  #include "ctype.h"
X  
X  #define alphanum 1
X*** ./usr/src/ucb/indent/parse.c.orig	Tue Feb 17 00:08:24 1987
X--- ./usr/src/ucb/indent/parse.c	Tue Jan  7 22:30:49 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)parse.c	5.3 (Berkeley) 9/8/85";
X! #endif not lint
X  
X  /*-
X   *
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)parse.c	5.4 (2.11BSD) 2020/1/7";
X! #endif /* not lint */
X  
X  /*-
X   *
X***************
X*** 53,60 ****
X   *
X   */
X  
X! #include "./indent_globs.h";
X! #include "./indent_codes.h";
X  
X  
X  
X--- 53,60 ----
X   *
X   */
X  
X! #include "./indent_globs.h"
X! #include "./indent_codes.h"
X  
X  
X  
X***************
X*** 188,194 ****
X  	    case_ind = ps.i_l_follow + ps.case_indent;	/* cases should be one
X  							 * level down from
X  							 * switch */
X! 	    ps.i_l_follow + = ps.case_indent + 1;	/* statements should be
X  						 * two levels in */
X  	    ps.search_brace = btype_2;
X  	    break;
X--- 188,194 ----
X  	    case_ind = ps.i_l_follow + ps.case_indent;	/* cases should be one
X  							 * level down from
X  							 * switch */
X! 	    ps.i_l_follow += ps.case_indent + 1;	/* statements should be
X  						 * two levels in */
X  	    ps.search_brace = btype_2;
X  	    break;
X*** ./usr/src/ucb/indent/pr_comment.c.orig	Tue Feb 17 00:08:25 1987
X--- ./usr/src/ucb/indent/pr_comment.c	Tue Jan  7 22:31:18 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)pr_comment.c	5.3 (Berkeley) 9/8/85";
X! #endif not lint
X  
X  /*-
X   *
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)pr_comment.c	5.4 (2.11BSD) 2020/1/7";
X! #endif /* not lint */
X  
X  /*-
X   *
X***************
X*** 49,55 ****
X   * tabs from the beginning of the input line are removed 
X   */
X  
X! #include "indent_globs.h";
X  
X  
X  pr_comment()
X--- 49,55 ----
X   * tabs from the beginning of the input line are removed 
X   */
X  
X! #include "indent_globs.h"
X  
X  
X  pr_comment()
X*** ./usr/src/ucb/more/more.c.orig	Sat Oct 18 18:47:43 1997
X--- ./usr/src/ucb/more/more.c	Tue Jan  7 22:31:41 2020
X***************
X*** 5,15 ****
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! char copyright[] =
X! "@(#) Copyright (c) 1980 Regents of the University of California.\n\
X!  All rights reserved.\n";
X! 
X! static char sccsid[] = "@(#)more.c	5.4.2 (2.11BSD) 1997/10/18";
X  #endif
X  
X  /*
X--- 5,11 ----
X   */
X  
X  #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)more.c	5.5 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 48,54 ****
X  
X  #define TBUFSIZ	1024
X  #define LINSIZ	256
X! #define ctrl(letter)	('letter' & 077)
X  #define RUBOUT	'\177'
X  #define ESC	'\033'
X  #define QUIT	'\034'
X--- 44,50 ----
X  
X  #define TBUFSIZ	1024
X  #define LINSIZ	256
X! #define ctrl(letter)	(letter & 077)
X  #define RUBOUT	'\177'
X  #define ESC	'\033'
X  #define QUIT	'\034'
X***************
X*** 627,633 ****
X      *sptr++ = n % 10 + '0';
X  }
X  
X! static char bell = ctrl(G);
X  
X  /* See whether the last component of the path name "path" is equal to the
X  ** string "string"
X--- 623,629 ----
X      *sptr++ = n % 10 + '0';
X  }
X  
X! static char bell = ctrl('G');
X  
X  /* See whether the last component of the path name "path" is equal to the
X  ** string "string"
X***************
X*** 954,960 ****
X  		done++;
X  	    break;
X  	case 'b':
X! 	case ctrl(B):
X  	    {
X  		register int initline;
X  
X--- 950,956 ----
X  		done++;
X  	    break;
X  	case 'b':
X! 	case ctrl('B'):
X  	    {
X  		register int initline;
X  
X***************
X*** 1000,1006 ****
X  	    else if (comchar == 'z') dlines = nlines;
X  	    ret (nlines);
X  	case 'd':
X! 	case ctrl(D):
X  	    if (nlines != 0) nscroll = nlines;
X  	    ret (nscroll);
X  	case 'q':
X--- 996,1002 ----
X  	    else if (comchar == 'z') dlines = nlines;
X  	    ret (nlines);
X  	case 'd':
X! 	case ctrl('D'):
X  	    if (nlines != 0) nscroll = nlines;
X  	    ret (nscroll);
X  	case 'q':
X*** ./usr/src/ucb/telnet.c.orig	Tue Jan 11 00:32:48 1994
X--- ./usr/src/ucb/telnet.c	Tue Jan  7 22:32:30 2020
X***************
X*** 5,15 ****
X   */
X  
X  #if	defined(DOSCCS) && !defined(lint)
X! char copyright[] =
X! "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X!  All rights reserved.\n";
X! 
X! static char sccsid[] = "@(#)telnet.c	5.16.1 (2.11BSD GTE) 1/1/94";
X  #endif
X  
X  /*
X--- 5,11 ----
X   */
X  
X  #if	defined(DOSCCS) && !defined(lint)
X! static char sccsid[] = "@(#)telnet.c	5.17 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 38,45 ****
X  #include <netdb.h>
X  #include <strings.h>
X  
X- 
X- 
X  #ifndef	FD_SETSIZE
X  /*
X   * The following is defined just in case someone should want to run
X--- 34,39 ----
X***************
X*** 108,115 ****
X  
X  
X  char	*prompt;
X! char	escape = CTRL(]);
X! char	echoc = CTRL(E);
X  
X  int	SYNCHing = 0;		/* we are in TELNET SYNCH mode */
X  int	flushout = 0;		/* flush output */
X--- 102,109 ----
X  
X  
X  char	*prompt;
X! char	escape = CTRL(']');
X! char	echoc = CTRL('E');
X  
X  int	SYNCHing = 0;		/* we are in TELNET SYNCH mode */
X  int	flushout = 0;		/* flush output */
X***************
X*** 1899,1906 ****
X  	}
X      }
X      return 1;
X! #undef	doset(sl)
X! #undef	dotog(tl)
X  }
X  
X  /*
X--- 1893,1900 ----
X  	}
X      }
X      return 1;
X! #undef	doset
X! #undef	dotog
X  }
X  
X  /*
X*** ./usr/src/ucb/tn3270/pdpbsubs.s.orig	Sat Jul 30 21:56:26 1988
X--- ./usr/src/ucb/tn3270/pdpbsubs.s	Tue Jan  7 22:33:51 2020
X***************
X*** 4,16 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifdef LIBC_SCCS
X! 	<@(#)bunequal.s 1.2 (Berkeley) 1/8/87\0>
X  	.even
X! #endif LIBC_SCCS
X  
X  #define	ENTRY(x)	.globl _/**/x; \
X  		_/**/x:
X  
X  /*
X   * This is taken from bcmp.s from 2.10.
X--- 4,21 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(def LIBC_SCCS)
X! 	<@(#)bunequal.s 1.3 (2.11BSD) 2020/1/7\0>
X  	.even
X! #endif
X  
X+ #ifdef __STDC__
X+ #define	ENTRY(x)	.globl _ ## x; \
X+ 		_ ## x:
X+ #else
X  #define	ENTRY(x)	.globl _/**/x; \
X  		_/**/x:
X+ #endif
X  
X  /*
X   * This is taken from bcmp.s from 2.10.
X*** ./usr/src/ucb/tn3270/tn3270.c.orig	Sat Jan  1 04:02:47 1994
X--- ./usr/src/ucb/tn3270/tn3270.c	Tue Jan  7 22:34:26 2020
X***************
X*** 21,27 ****
X  
X  
X  #if	defined(DOSCCS) && !defined(lint)
X! static char sccsid[] = "@(#)tn3270.c	2.8\t1/1/94";
X  #endif
X  
X  /*
X--- 21,27 ----
X  
X  
X  #if	defined(DOSCCS) && !defined(lint)
X! static char sccsid[] = "@(#)tn3270.c	2.9 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 97,103 ****
X  static int	printnet = 0;
X  static FILE	*NetTrace;
X  static char	*prompt;
X! static char	escape = CTRL(]);
X  
X  static char	line[200];
X  static int	margc;
X--- 97,103 ----
X  static int	printnet = 0;
X  static FILE	*NetTrace;
X  static char	*prompt;
X! static char	escape = CTRL(']');
X  
X  static char	line[200];
X  static int	margc;
X*** ./usr/src/ucb/window/char.h.orig	Tue Feb 17 00:10:59 1987
X--- ./usr/src/ucb/window/char.h	Tue Jan  7 22:34:41 2020
X***************
X*** 1,5 ****
X  /*
X!  * @(#)char.h	3.3 4/24/85
X   */
X  
X  /*
X--- 1,5 ----
X  /*
X!  * @(#)char.h	3.4 2020/1/7
X   */
X  
X  /*
X***************
X*** 23,29 ****
X  
X  char *_unctrl[];
X  char _cmap[];
X! #define ctrl(c)		('c' & 0x1f)
X  #define unctrl(c)	(_unctrl[(unsigned char) (c)])
X  #define _C		0x01
X  #define _P		0x02
X--- 23,29 ----
X  
X  char *_unctrl[];
X  char _cmap[];
X! #define ctrl(c)		(c & 0x1f)
X  #define unctrl(c)	(_unctrl[(unsigned char) (c)])
X  #define _C		0x01
X  #define _P		0x02
X*** ./usr/src/ucb/window/cmd.c.orig	Tue Feb 17 00:10:49 1987
X--- ./usr/src/ucb/window/cmd.c	Tue Jan  7 22:35:54 2020
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)cmd.c	3.33 4/24/85";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)cmd.c	3.34 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 27,41 ****
X  					goto foo;
X  				break;
X  			case 'h': case 'j': case 'k': case 'l':
X! 			case ctrl(y):
X! 			case ctrl(e):
X! 			case ctrl(u):
X! 			case ctrl(d):
X! 			case ctrl(b):
X! 			case ctrl(f):
X! 			case ctrl(s):
X! 			case ctrl(q):
X! 			case ctrl([):
X  			foo:
X  				if (selwin == 0) {
X  					error("No window.");
X--- 27,41 ----
X  					goto foo;
X  				break;
X  			case 'h': case 'j': case 'k': case 'l':
X! 			case ctrl('y'):
X! 			case ctrl('e'):
X! 			case ctrl('u'):
X! 			case ctrl('d'):
X! 			case ctrl('b'):
X! 			case ctrl('f'):
X! 			case ctrl('s'):
X! 			case ctrl('q'):
X! 			case ctrl('['):
X  			foo:
X  				if (selwin == 0) {
X  					error("No window.");
X***************
X*** 57,63 ****
X  				if ((w = getwin()) != 0)
X  					setselwin(w);
X  				break;
X! 			case ctrl(^):
X  				if (lastselwin != 0) {
X  					setselwin(lastselwin);
X  					if (checkproc(selwin) >= 0)
X--- 57,63 ----
X  				if ((w = getwin()) != 0)
X  					setselwin(w);
X  				break;
X! 			case ctrl('^'):
X  				if (lastselwin != 0) {
X  					setselwin(lastselwin);
X  					if (checkproc(selwin) >= 0)
X***************
X*** 103,143 ****
X  			case 'l':
X  				(void) wwwrite(selwin, "\033C", 2);
X  				break;
X! 			case ctrl(e):
X  				wwscroll(selwin, 1);
X  				break;
X! 			case ctrl(y):
X  				wwscroll(selwin, -1);
X  				break;
X! 			case ctrl(d):
X  				wwscroll(selwin, selwin->ww_w.nr / 2);
X  				break;
X! 			case ctrl(u):
X  				wwscroll(selwin, - selwin->ww_w.nr / 2);
X  				break;
X! 			case ctrl(f):
X  				wwscroll(selwin, selwin->ww_w.nr);
X  				break;
X! 			case ctrl(b):
X  				wwscroll(selwin, - selwin->ww_w.nr);
X  				break;
X! 			case ctrl(s):
X  				stopwin(selwin);
X  				break;
X! 			case ctrl(q):
X  				startwin(selwin);
X  				break;
X! 			case ctrl(l):
X  				wwredraw();
X  				break;
X  			case '?':
X  				c_help();
X  				break;
X! 			case ctrl([):
X  				if (checkproc(selwin) >= 0)
X  					out = 1;
X  				break;
X! 			case ctrl(z):
X  				wwsuspend();
X  				break;
X  			case 'q':
X--- 103,143 ----
X  			case 'l':
X  				(void) wwwrite(selwin, "\033C", 2);
X  				break;
X! 			case ctrl('e'):
X  				wwscroll(selwin, 1);
X  				break;
X! 			case ctrl('y'):
X  				wwscroll(selwin, -1);
X  				break;
X! 			case ctrl('d'):
X  				wwscroll(selwin, selwin->ww_w.nr / 2);
X  				break;
X! 			case ctrl('u'):
X  				wwscroll(selwin, - selwin->ww_w.nr / 2);
X  				break;
X! 			case ctrl('f'):
X  				wwscroll(selwin, selwin->ww_w.nr);
X  				break;
X! 			case ctrl('b'):
X  				wwscroll(selwin, - selwin->ww_w.nr);
X  				break;
X! 			case ctrl('s'):
X  				stopwin(selwin);
X  				break;
X! 			case ctrl('q'):
X  				startwin(selwin);
X  				break;
X! 			case ctrl('l'):
X  				wwredraw();
X  				break;
X  			case '?':
X  				c_help();
X  				break;
X! 			case ctrl('['):
X  				if (checkproc(selwin) >= 0)
X  					out = 1;
X  				break;
X! 			case ctrl('z'):
X  				wwsuspend();
X  				break;
X  			case 'q':
X***************
X*** 182,188 ****
X  getwin()
X  {
X  	register int c;
X! 	struct ww *w = 0;
X  
X  	if (!terse)
X  		wwputs("Which window? ", cmdwin);
X--- 182,188 ----
X  getwin()
X  {
X  	register int c;
X! 	register struct ww *w = 0;
X  
X  	if (!terse)
X  		wwputs("Which window? ", cmdwin);
X*** ./usr/src/ucb/window/cmd1.c.orig	Tue Feb 17 00:10:49 1987
X--- ./usr/src/ucb/window/cmd1.c	Tue Jan  7 22:37:02 2020
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)cmd1.c	3.29 4/24/85";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)cmd1.c	3.30 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 127,133 ****
X  		case 'K':
X  			*row = minrow;
X  			break;
X! 		case ctrl([):
X  			if (!terse)
X  				wwputs("\nCanceled.  ", cmdwin);
X  			return 3;
X--- 127,133 ----
X  		case 'K':
X  			*row = minrow;
X  			break;
X! 		case ctrl('['):
X  			if (!terse)
X  				wwputs("\nCanceled.  ", cmdwin);
X  			return 3;
X*** ./usr/src/ucb/window/local.h.orig	Sat Jan  1 03:59:22 1994
X--- ./usr/src/ucb/window/local.h	Tue Jan  7 22:37:17 2020
X***************
X*** 1,5 ****
X  /*
X!  * @(#)local.h	3.5 1/1/94
X   */
X  
X  /*
X--- 1,5 ----
X  /*
X!  * @(#)local.h	3.6 2020/1/7
X   */
X  
X  /*
X***************
X*** 13,19 ****
X   */
X  
X  #define RUNCOM		".windowrc"
X! #define ESCAPEC		ctrl(p)
X  #ifdef pdp11
X  #define NLINE		3			/* default text buffer size */
X  #else
X--- 13,19 ----
X   */
X  
X  #define RUNCOM		".windowrc"
X! #define ESCAPEC		ctrl('p')
X  #ifdef pdp11
X  #define NLINE		3			/* default text buffer size */
X  #else
X*** ./usr/src/ucb/window/win.c.orig	Tue Jun 14 11:43:39 1988
X--- ./usr/src/ucb/window/win.c	Tue Jan  7 22:40:54 2020
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)win.c	3.14 4/24/85";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)win.c	3.15 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 277,283 ****
X  	w->ww_unctrl = 0;
X  	wwputs("\033E", w);
X  	w->ww_unctrl = uc;
X! 	return c == ctrl([) ? 2 : 1;
X  }
X  
X  waitnl1(w, prompt)
X--- 277,283 ----
X  	w->ww_unctrl = 0;
X  	wwputs("\033E", w);
X  	w->ww_unctrl = uc;
X! 	return c == ctrl('[') ? 2 : 1;
X  }
X  
X  waitnl1(w, prompt)
X*** ./usr/src/ucb/window/wwgets.c.orig	Tue Feb 17 00:10:49 1987
X--- ./usr/src/ucb/window/wwgets.c	Tue Jan  7 22:41:32 2020
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)wwgets.c	3.9 4/24/85";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)wwgets.c	3.10 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 41,47 ****
X  			break;
X  		} else {
X  			if (p >= buf + n - 1)
X! 				wwputc(ctrl(g), w);
X  			else
X  				wwputs(unctrl(*p++ = c), w);
X  		}
X--- 41,47 ----
X  			break;
X  		} else {
X  			if (p >= buf + n - 1)
X! 				wwputc(ctrl('g'), w);
X  			else
X  				wwputs(unctrl(*p++ = c), w);
X  		}
X*** ./usr/src/ucb/window/wwmisc.c.orig	Tue Feb 17 00:10:48 1987
X--- ./usr/src/ucb/window/wwmisc.c	Tue Jan  7 22:42:03 2020
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)wwmisc.c	3.9 4/24/85";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)wwmisc.c	3.10 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 33,37 ****
X  
X  wwbell()
X  {
X! 	ttputc(ctrl(g));
X  }
X--- 33,37 ----
X  
X  wwbell()
X  {
X! 	ttputc(ctrl('g'));
X  }
X*** ./usr/src/ucb/window/wwwrite.c.orig	Tue Feb 17 00:10:49 1987
X--- ./usr/src/ucb/window/wwwrite.c	Tue Jan  7 22:42:33 2020
X***************
X*** 1,5 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)wwwrite.c	3.23 5/2/86";
X  #endif
X  
X  /*
X--- 1,5 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)wwwrite.c	3.24 (2.11BSD) 2020/1/7";
X  #endif
X  
X  /*
X***************
X*** 148,157 ****
X  			case '\r':
X  				w->ww_cur.c = w->ww_w.l;
X  				break;
X! 			case ctrl(g):
X! 				ttputc(ctrl(g));
X  				break;
X! 			case ctrl([):
X  				w->ww_wstate = 1;
X  				break;
X  			}
X--- 148,157 ----
X  			case '\r':
X  				w->ww_cur.c = w->ww_w.l;
X  				break;
X! 			case ctrl('g'):
X! 				ttputc(ctrl('g'));
X  				break;
X! 			case ctrl('['):
X  				w->ww_wstate = 1;
X  				break;
X  			}
X*** ./usr/src/usr.bin/deroff.c.orig	Mon Feb 16 18:22:26 1987
X--- ./usr/src/usr.bin/deroff.c	Tue Jan  7 22:44:06 2020
X***************
X*** 1,6 ****
X! #ifndef lint
X! static char sccsid[] = "@(#)deroff.c	4.5	(Berkeley)	84/12/18";
X! #endif not lint
X  
X  #include <stdio.h>
X  
X--- 1,6 ----
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)deroff.c	4.6	(2.11BSD)	2020/1/7";
X! #endif
X  
X  #include <stdio.h>
X  
X***************
X*** 288,296 ****
X  }
X  
X  /*ARGSUSED*/
X! textline(str, const)
X  	char	*str;
X! 	int	const;
X  {
X  	if (wordflag) {
X  		msputwords(0);
X--- 288,296 ----
X  }
X  
X  /*ARGSUSED*/
X! textline(str, xconst)
X  	char	*str;
X! 	int	xconst;
X  {
X  	if (wordflag) {
X  		msputwords(0);
X***************
X*** 314,322 ****
X  	}
X  }
X  
X! regline(pfunc, const)
X  	int	(*pfunc)();
X! 	int	const;
X  {
X  	line[0] = c;
X  	lp = line;
X--- 314,322 ----
X  	}
X  }
X  
X! regline(pfunc, xconst)
X  	int	(*pfunc)();
X! 	int	xconst;
X  {
X  	line[0] = c;
X  	lp = line;
X***************
X*** 342,348 ****
X  	*lp = '\0';
X  
X  	if(line[0] != '\0')
X! 		(*pfunc)(line, const);
X  }
X  
X  macro()
X--- 342,348 ----
X  	*lp = '\0';
X  
X  	if(line[0] != '\0')
X! 		(*pfunc)(line, xconst);
X  }
X  
X  macro()
X***************
X*** 659,667 ****
X  /*
X   *	Put out a macro line, using ms and mm conventions.
X   */
X! msputmac(s, const)
X  	register char *s;
X! 	int	const;
X  {
X  	register char *t;
X  	register found;
X--- 659,667 ----
X  /*
X   *	Put out a macro line, using ms and mm conventions.
X   */
X! msputmac(s, xconst)
X  	register char *s;
X! 	int	xconst;
X  {
X  	register char *t;
X  	register found;
X***************
X*** 679,685 ****
X  		for(t = s ; *t!=' ' && *t!='\t' && *t!='\0' ; ++t)
X  			;
X  		if(*s == '\"')s++;
X! 		if(t>s+const && chars[ s[0] ]==LETTER && chars[ s[1] ]==LETTER){
X  			while(s < t)
X  				if(*s == '\"')s++;
X  				else
X--- 679,685 ----
X  		for(t = s ; *t!=' ' && *t!='\t' && *t!='\0' ; ++t)
X  			;
X  		if(*s == '\"')s++;
X! 		if(t>s+xconst && chars[ s[0] ]==LETTER && chars[ s[1] ]==LETTER){
X  			while(s < t)
X  				if(*s == '\"')s++;
X  				else
X***************
X*** 739,747 ****
X  #define SKIPBLANK(cp)	while(*cp == ' ' || *cp == '\t') { cp++; }
X  #define SKIPNONBLANK(cp) while(*cp !=' ' && *cp !='\cp' && *cp !='\0') { cp++; }
X  
X! meputmac(cp, const)
X  	reg	char	*cp;
X! 		int	const;
X  {
X  	reg	char	*np;
X  		int	found;
X--- 739,747 ----
X  #define SKIPBLANK(cp)	while(*cp == ' ' || *cp == '\t') { cp++; }
X  #define SKIPNONBLANK(cp) while(*cp !=' ' && *cp !='\cp' && *cp !='\0') { cp++; }
X  
X! meputmac(cp, xconst)
X  	reg	char	*cp;
X! 		int	xconst;
X  {
X  	reg	char	*np;
X  		int	found;
X***************
X*** 800,809 ****
X  		/*
X  		 *	Determine if the argument merits being printed
X  		 *
X! 		 *	const is the cut off point below which something
X  		 *	is not a word.
X  		 */
X! 		if (   ( (np - cp) > const)
X  		    && (    inquote
X  		         || (chars[cp[0]] == LETTER)) ){
X  			for (cp = cp; cp < np; cp++){
X--- 800,809 ----
X  		/*
X  		 *	Determine if the argument merits being printed
X  		 *
X! 		 *	xconst is the cut off point below which something
X  		 *	is not a word.
X  		 */
X! 		if (   ( (np - cp) > xconst)
X  		    && (    inquote
X  		         || (chars[cp[0]] == LETTER)) ){
X  			for (cp = cp; cp < np; cp++){
X*** ./usr/src/usr.bin/f77/putdmr.c.orig	Wed Jan 30 22:39:39 2002
X--- ./usr/src/usr.bin/f77/putdmr.c	Tue Jan  7 22:49:11 2020
X***************
X*** 1,17 ****
X  /*  INTERMEDIATE CODE GENERATION FOR D. M. RITCHIE C COMPILERS */
X- #if FAMILY != DMR
X- 	WRONG put FILE !!!!
X- #endif
X  
X  #include "defs"
X  #include "string_defs"
X  #include "dmrdefs"
X  
X  
X  extern int ops2[];
X  extern int types2[];
X  
X- 
X  puthead(s, class)
X  char *s;
X  int class;
X--- 1,16 ----
X  /*  INTERMEDIATE CODE GENERATION FOR D. M. RITCHIE C COMPILERS */
X  
X  #include "defs"
X  #include "string_defs"
X  #include "dmrdefs"
X  
X+ #if FAMILY != DMR
X+ 	WRONG put FILE !!!!
X+ #endif
X  
X  extern int ops2[];
X  extern int types2[];
X  
X  puthead(s, class)
X  char *s;
X  int class;
X***************
X*** 22,28 ****
X  	p2op2(P2SETREG, ARGREG-maxregvar);
X  	p2op(P2PROG);	/* .text */
X  /*
X!  * 11/12/92, sms@192.26.147.1 
X   * The optimizer (/lib/c2) works on blocks of code delimited by .globl
X   * statements.  Without the addition below the fortran program ends up
X   * being one huge block which was causing the optimizer to blow up.  Large
X--- 21,28 ----
X  	p2op2(P2SETREG, ARGREG-maxregvar);
X  	p2op(P2PROG);	/* .text */
X  /*
X!  * 2020/1/7 - changes for ANSI cpp
X!  * 11/12/92, sms
X   * The optimizer (/lib/c2) works on blocks of code delimited by .globl
X   * statements.  Without the addition below the fortran program ends up
X   * being one huge block which was causing the optimizer to blow up.  Large
X***************
X*** 44,77 ****
X  	}
X  }
X  
X- 
X- 
X- 
X  putnreg()
X  {
X  p2op2(P2SETREG, ARGREG-nregvar);
X  }
X  
X- 
X- 
X- 
X- 
X- 
X  puteof()
X  {
X  p2op(P2EOF);
X  }
X  
X- 
X- 
X  putstmt()
X  {
X  p2op2(P2EXPR, lineno);
X  }
X  
X- 
X- 
X- 
X  /* put out code for if( ! p) goto l  */
X  putif(p,l)
X  register expptr p;
X--- 44,64 ----
X***************
X*** 93,102 ****
X  	}
X  }
X  
X- 
X- 
X- 
X- 
X  /* put out code for  goto l   */
X  putgoto(label)
X  int label;
X--- 80,85 ----
X***************
X*** 104,110 ****
X  p2op2(P2GOTO, label);
X  }
X  
X- 
X  /* branch to address constant or integer variable */
X  putbranch(p)
X  register struct addrblock *p;
X--- 87,92 ----
X***************
X*** 122,129 ****
X  putstmt();
X  }
X  
X- 
X- 
X  /* put out label  l:     */
X  putlabel(label)
X  int label;
X--- 104,109 ----
X***************
X*** 131,139 ****
X  p2op2(P2LABEL, label);
X  }
X  
X- 
X- 
X- 
X  putexpr(p)
X  expptr p;
X  {
X--- 111,116 ----
X***************
X*** 141,150 ****
X  putstmt();
X  }
X  
X- 
X- 
X- 
X- 
X  prarif(p, neg, zero, pos)
X  expptr p;
X  int neg ,zero, pos;
X--- 118,123 ----
X***************
X*** 157,164 ****
X  p2i(lineno);
X  }
X  
X- 
X- 
X  putcmgo(index, nlab, labs)
X  expptr index;
X  int nlab;
X--- 130,135 ----
X***************
X*** 343,350 ****
X  	}
X  }
X  
X- 
X- 
X  LOCAL putop(p)
X  register expptr p;
X  {
X--- 314,319 ----
X***************
X*** 483,490 ****
X  putstmt();
X  }
X  
X- 
X- 
X  LOCAL putpower(p)
X  expptr p;
X  {
X--- 452,457 ----
X***************
X*** 537,545 ****
X  frexpr(p);
X  }
X  
X- 
X- 
X- 
X  LOCAL struct addrblock *intdouble(p, ncommap)
X  struct addrblock *p;
X  int *ncommap;
X--- 504,509 ----
X***************
X*** 552,561 ****
X  return(t);
X  }
X  
X- 
X- 
X- 
X- 
X  LOCAL putcxeq(p)
X  register struct exprblock *p;
X  {
X--- 516,521 ----
X***************
X*** 577,584 ****
X  return(lp);
X  }
X  
X- 
X- 
X  LOCAL putcxop(p)
X  expptr p;
X  {
X--- 537,542 ----
X***************
X*** 590,597 ****
X  putcomma(ncomma, TYINT, NO);
X  }
X  
X- 
X- 
X  LOCAL struct addrblock *putcx1(p, ncommap)
X  register expptr p;
X  int *ncommap;
X--- 548,553 ----
X***************
X*** 740,748 ****
X  return(resp);
X  }
X  
X- 
X- 
X- 
X  LOCAL putcxcmp(p)
X  register struct exprblock *p;
X  {
X--- 696,701 ----
X***************
X*** 815,823 ****
X  /* NOTREACHED */
X  }
X  
X- 
X- 
X- 
X  LOCAL putchop(p)
X  expptr p;
X  {
X--- 768,773 ----
X***************
X*** 828,836 ****
X  putcomma(ncomma, TYCHAR, YES);
X  }
X  
X- 
X- 
X- 
X  LOCAL putcheq(p)
X  register struct exprblock *p;
X  {
X--- 778,783 ----
X***************
X*** 855,863 ****
X  free(p);
X  }
X  
X- 
X- 
X- 
X  LOCAL putchcmp(p)
X  register struct exprblock *p;
X  {
X--- 802,807 ----
X***************
X*** 880,889 ****
X  	}
X  }
X  
X- 
X- 
X- 
X- 
X  LOCAL putcat(lhs, rhs)
X  register struct addrblock *lhs;
X  register expptr rhs;
X--- 824,829 ----
X***************
X*** 903,912 ****
X  putcomma(ncomma, TYINT, NO);
X  }
X  
X- 
X- 
X- 
X- 
X  LOCAL ncat(p)
X  register expptr p;
X  {
X--- 843,848 ----
X***************
X*** 915,923 ****
X  else	return(1);
X  }
X  
X- 
X- 
X- 
X  LOCAL putct1(q, lp, cp, ip, ncommap)
X  register expptr q;
X  register struct addrblock *lp, *cp;
X--- 851,856 ----
X***************
X*** 1027,1035 ****
X  frexpr(p);
X  }
X  
X- 
X- 
X- 
X  
X  LOCAL struct addrblock *putcall(p)
X  register struct exprblock *p;
X--- 960,965 ----
X***************
X*** 1144,1151 ****
X  return(fval);
X  }
X  
X- 
X- 
X  LOCAL putmnmx(p)
X  register struct exprblock *p;
X  {
X--- 1074,1079 ----
X***************
X*** 1182,1188 ****
X  	else
X  		putx(qp);
X  	}
X- 
X  putcomma(ncomma, type, NO);
X  frtemp(sp);
X  frtemp(tp);
X--- 1110,1115 ----
X***************
X*** 1189,1197 ****
X  frchain( &p0 );
X  }
X  
X- 
X- 
X- 
X  LOCAL putcomma(n, type, indir)
X  int n, type, indir;
X  {
X--- 1116,1121 ----
X***************
X*** 1206,1212 ****
X   *  routines that put bytes on the pass2 input stream
X  */
X  
X- 
X  p2i(k)
X  int k;
X  {
X--- 1130,1135 ----
X***************
X*** 1217,1225 ****
X  fputc(*s, textfile);
X  }
X  
X- 
X- 
X- 
X  p2op(op)
X  int op;
X  {
X--- 1140,1145 ----
X***************
X*** 1227,1235 ****
X  fputc(0376, textfile);   /* MAGIC NUMBER */
X  }
X  
X- 
X- 
X- 
X  p2str(s)
X  register char *s;
X  {
X--- 1147,1152 ----
X***************
X*** 1238,1245 ****
X  		while(*s++);
X  }
X  
X- 
X- 
X  p2op2(op, i)
X  int op, i;
X  {
X--- 1155,1160 ----
X***************
X*** 1247,1254 ****
X  p2i(i);
X  }
X  
X- 
X- 
X  p2reg(k, type)
X  int k;
X  {
X--- 1162,1167 ----
X***************
X*** 1257,1264 ****
X  p2i(k);
X  }
X  
X- 
X- 
X  LOCAL p2li(n)
X  long int n;
X  {
X--- 1170,1175 ----
X***************
X*** 1269,1276 ****
X  	p2i(*p++);
X  }
X  
X- 
X- 
X  LOCAL p2offset(type, offp)
X  int type;
X  register expptr offp;
X--- 1180,1185 ----
X***************
X*** 1300,1303 ****
X  		putx( offp );
X  	p2op2(P2PLUS, type);
X  	}
X- }
X--- 1209,1211 ----
X*** ./usr/src/usr.bin/roff/nroff_term/tabnec-t.c.orig	Thu Apr 24 02:20:32 1986
X--- ./usr/src/usr.bin/roff/nroff_term/tabnec-t.c	Tue Jan  7 22:49:31 2020
X***************
X*** 1,4 ****
X! /*	tabnec-t.c	4.2	85/02/14	*/
X  #define INCH 240
X  /*
X   * NEC Spinwriter 5500 or 7700 12 Pitch
X--- 1,4 ----
X! /*	tabnec-t.c	4.3	2020/1/7 */
X  #define INCH 240
X  /*
X   * NEC Spinwriter 5500 or 7700 12 Pitch
X***************
X*** 233,239 ****
X  "\001+\b_",				/*plus-minus*/
X  "\001U",				/*cup (union)*/
X  "\001\200\140\203\136\245",		/*cap (intersection)*/
X! #ifdef 0
X  "\001\200(\341\206_\345\241_\306\250",		/*subset of*/
X  "\001\341_\345\241_\306\207)\251",		/*superset of*/
X  "\001\200(\341\206_\345\241_\307\241_\341\250",	/*improper subset*/
X--- 233,239 ----
X  "\001+\b_",				/*plus-minus*/
X  "\001U",				/*cup (union)*/
X  "\001\200\140\203\136\245",		/*cap (intersection)*/
X! #if 0
X  "\001\200(\341\206_\345\241_\306\250",		/*subset of*/
X  "\001\341_\345\241_\306\207)\251",		/*superset of*/
X  "\001\200(\341\206_\345\241_\307\241_\341\250",	/*improper subset*/
X*** ./usr/src/usr.bin/tip/cmds.c.orig	Fri Jul 24 01:53:55 1992
X--- ./usr/src/usr.bin/tip/cmds.c	Tue Jan  7 22:50:35 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)cmds.c	5.6 (Berkeley) 12/22/87";
X! #endif not lint
X  
X  #include "tip.h"
X  /*
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)cmds.c	5.7 (2.11BSD) 2020/1/7";
X! #endif
X  
X  #include "tip.h"
X  /*
X***************
X*** 767,773 ****
X  {
X  
X  	unraw();
X! 	kill(c == CTRL(y) ? getpid() : 0, SIGTSTP);
X  	raw();
X  }
X  
X--- 767,773 ----
X  {
X  
X  	unraw();
X! 	kill(c == CTRL('y') ? getpid() : 0, SIGTSTP);
X  	raw();
X  }
X  
X*** ./usr/src/usr.bin/tip/cmdtab.c.orig	Tue Sep 20 17:15:54 1988
X--- ./usr/src/usr.bin/tip/cmdtab.c	Tue Jan  7 22:51:11 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)cmdtab.c	5.4 (Berkeley) 12/22/87";
X! #endif not lint
X  
X  #include "tip.h"
X  
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)cmdtab.c	5.5 (2.11BSD) 2020/1/7";
X! #endif
X  
X  #include "tip.h"
X  
X***************
X*** 27,35 ****
X  #endif
X  	{ 'c',	NORM,	"change directory",		 chdirectory },
X  	{ '.',	NORM,	"exit from tip",		 finish },
X! 	{CTRL(d),NORM,"exit from tip",		 finish },
X! 	{CTRL(y),NORM,"suspend tip (local+remote)",	 suspend },
X! 	{CTRL(z),NORM,"suspend tip (local only)",	 suspend },
X  	{ 's',	NORM,	"set variable",			 variable },
X  	{ '?',	NORM,	"get this summary",		 help },
X  	{ '#',	NORM,	"send break",			 genbrk },
X--- 27,35 ----
X  #endif
X  	{ 'c',	NORM,	"change directory",		 chdirectory },
X  	{ '.',	NORM,	"exit from tip",		 finish },
X! 	{CTRL('d'),NORM,"exit from tip",		 finish },
X! 	{CTRL('y'),NORM,"suspend tip (local+remote)",	 suspend },
X! 	{CTRL('z'),NORM,"suspend tip (local only)",	 suspend },
X  	{ 's',	NORM,	"set variable",			 variable },
X  	{ '?',	NORM,	"get this summary",		 help },
X  	{ '#',	NORM,	"send break",			 genbrk },
X*** ./usr/src/usr.bin/tip/vars.c.orig	Tue Sep 20 17:15:54 1988
X--- ./usr/src/usr.bin/tip/vars.c	Tue Jan  7 22:51:45 2020
X***************
X*** 4,12 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! static char sccsid[] = "@(#)vars.c	5.2 (Berkeley) 12/22/87";
X! #endif not lint
X  
X  #include "tip.h"
X  
X--- 4,12 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)vars.c	5.3 (2.11BSD) 2020/1/7";
X! #endif
X  
X  #include "tip.h"
X  
X***************
X*** 31,37 ****
X  	{ "exceptions",	STRING|INIT|IREMOTE,	(READ|WRITE)<<PUBLIC,
X  	  "ex",		(char *)&EX },
X  	{ "force",	CHAR,			(READ|WRITE)<<PUBLIC,
X! 	  "fo",		(char *)CTRL(p) },
X  	{ "framesize",	NUMBER|IREMOTE|INIT,	(READ|WRITE)<<PUBLIC,
X  	  "fr",		(char *)&FS },
X  	{ "host",	STRING|IREMOTE|INIT,	READ<<PUBLIC,
X--- 31,37 ----
X  	{ "exceptions",	STRING|INIT|IREMOTE,	(READ|WRITE)<<PUBLIC,
X  	  "ex",		(char *)&EX },
X  	{ "force",	CHAR,			(READ|WRITE)<<PUBLIC,
X! 	  "fo",		(char *)CTRL('p') },
X  	{ "framesize",	NUMBER|IREMOTE|INIT,	(READ|WRITE)<<PUBLIC,
X  	  "fr",		(char *)&FS },
X  	{ "host",	STRING|IREMOTE|INIT,	READ<<PUBLIC,
X***************
X*** 45,51 ****
X  	{ "raise",	BOOL,			(READ|WRITE)<<PUBLIC,
X  	  "ra",		(char *)FALSE },
X  	{ "raisechar",	CHAR,			(READ|WRITE)<<PUBLIC,
X! 	  "rc",		(char *)CTRL(a) },
X  	{ "record",	STRING|INIT|IREMOTE,	(READ|WRITE)<<PUBLIC,
X  	  "rec",	(char *)&RE },
X  	{ "remote",	STRING|INIT|IREMOTE,	READ<<PUBLIC,
X--- 45,51 ----
X  	{ "raise",	BOOL,			(READ|WRITE)<<PUBLIC,
X  	  "ra",		(char *)FALSE },
X  	{ "raisechar",	CHAR,			(READ|WRITE)<<PUBLIC,
X! 	  "rc",		(char *)CTRL('a') },
X  	{ "record",	STRING|INIT|IREMOTE,	(READ|WRITE)<<PUBLIC,
X  	  "rec",	(char *)&RE },
X  	{ "remote",	STRING|INIT|IREMOTE,	READ<<PUBLIC,
X*** ./usr/src/usr.lib/libI77/lio.h.orig	Wed Feb 18 03:09:40 1987
X--- ./usr/src/usr.lib/libI77/lio.h	Tue Jan  7 22:52:06 2020
X***************
X*** 3,9 ****
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)lio.h	5.2 (Berkeley) 7/30/85
X   */
X  
X  /*
X--- 3,9 ----
X   * All rights reserved.  The Berkeley software License Agreement
X   * specifies the terms and conditions for redistribution.
X   *
X!  *	@(#)lio.h	5.3 (2.11BSD) 2020/1/7
X   */
X  
X  /*
X***************
X*** 33,40 ****
X  #define	LLOGW	3
X  #define LSTRW	(len+2)
X  #define	LLOW	1.0e-1
X! #define	LHIGH	1.0e+LFD
X! #define LDHIGH	1.0e+LDFD
X  #define	LFD	6
X  #define	LFW	(LFD+4)
X  #define LDFD	14
X--- 33,40 ----
X  #define	LLOGW	3
X  #define LSTRW	(len+2)
X  #define	LLOW	1.0e-1
X! #define	LHIGH	1.0e+6
X! #define LDHIGH	1.0e+14
X  #define	LFD	6
X  #define	LFW	(LFD+4)
X  #define LDFD	14
X*** ./usr/src/usr.sbin/trpt/trpt.c.orig	Sun Jul  3 19:59:25 1988
X--- ./usr/src/usr.sbin/trpt/trpt.c	Tue Jan  7 21:56:25 2020
X***************
X*** 4,19 ****
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #ifndef lint
X! char copyright[] =
X! "@(#) Copyright (c) 1983 Regents of the University of California.\n\
X!  All rights reserved.\n";
X  #endif not lint
X  
X- #ifndef lint
X- static char sccsid[] = "@(#)trpt.c	5.2 (Berkeley) 9/18/85";
X- #endif not lint
X- 
X  #include <sys/param.h>
X  #include <sys/socket.h>
X  #include <sys/socketvar.h>
X--- 4,13 ----
X   * specifies the terms and conditions for redistribution.
X   */
X  
X! #if	!defined(lint) && defined(DOSCCS)
X! static char sccsid[] = "@(#)trpt.c	5.3 (2.11BSD) 2020/1/7";
X  #endif not lint
X  
X  #include <sys/param.h>
X  #include <sys/socket.h>
X  #include <sys/socketvar.h>
X***************
X*** 277,283 ****
X  		flags = ti->ti_flags;
X  		if (flags) {
X  			char *cp = "<";
X! #define pf(f) { if (ti->ti_flags&TH_/**/f) { printf("%s%s", cp, "f"); cp = ","; } }
X  			pf(SYN); pf(ACK); pf(FIN); pf(RST); pf(PUSH); pf(URG);
X  			printf(">");
X  		}
X--- 271,277 ----
X  		flags = ti->ti_flags;
X  		if (flags) {
X  			char *cp = "<";
X! #define pf(f) { if (ti->ti_flags&TH_ ## f) { printf("%s%s", cp, "f"); cp = ","; } }
X  			pf(SYN); pf(ACK); pf(FIN); pf(RST); pf(PUSH); pf(URG);
X  			printf(">");
X  		}
X*** ./usr/src/lib/libc/pdp/sys/Makefile.orig	Sat Jan  4 21:40:01 2020
X--- ./usr/src/lib/libc/pdp/sys/Makefile	Fri Jan 10 16:10:39 2020
X***************
X*** 1,6 ****
X  # Placed in the public domain - 1995/05/06
X  #
X! #	@(#)Makefile	1.9.1 (2.11BSD) 2020/1/4
X  
X  CPP= /lib/cpp
X  LD= /bin/ld
X--- 1,6 ----
X  # Placed in the public domain - 1995/05/06
X  #
X! #	@(#)Makefile	1.9.2 (2.11BSD) 2020/1/10
X  
X  CPP= /lib/cpp
X  LD= /bin/ld
X***************
X*** 54,61 ****
X  
X  OBJS= ${PDPOBJS} ${NORM1} ${NORM2} ${LONG} ${ERROR} ${NOERROR}
X  
X- tags:
X- 
X  .s.o:
X  	/lib/cpp -DPROF ${DEFS} $< | sed -e 's;^#;/;' | as -V -o $@
X  	-ld -X -r $*.o
X--- 54,59 ----
X***************
X*** 127,129 ****
X--- 125,129 ----
X  
X  clean:
X  	rm -f *.o profiled/*.o a.out syslib syslib_p
X+ 
X+ tags:
SHAR_EOF
fi
exit 0
#	End of shell archive
