billr@saab.CNA.TEK.COM (Bill Randle) (02/24/90)
Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 9, Issue 4
Archive-name: NetHack3/Patch7d
Patch-To: NetHack3: Volume 7, Issue 56-93
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 4 (of 30)."
# Contents: patch7.22
# Wrapped by billr@saab on Wed Feb 21 10:04:25 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patch7.22' -a "${1}" != "-c" ; then
echo shar: Renaming existing file \"'patch7.22'\" to \"'patch7.22.orig'\"
mv -f 'patch7.22' 'patch7.22.orig'
fi
echo shar: Extracting \"'patch7.22'\" \(56824 characters\)
sed "s/^X//" >'patch7.22' <<'END_OF_FILE'
X*** src/Old/topten.c Mon Feb 19 19:03:06 1990
X--- src/topten.c Mon Feb 5 18:28:48 1990
X***************
X*** 1,9 ****
X! /* SCCS Id: @(#)topten.c 3.0 89/11/15
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X /* block some unused #defines to avoid overloading some cpp's */
X- #define MONATTK_H
X #include "hack.h"
X
X #ifndef MACOS
X--- 1,10 ----
X! /* SCCS Id: @(#)topten.c 3.0 89/12/31
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X+ #define MONATTK_H /* comment line for pre-compiled headers */
X+ #define MONFLAG_H /* comment line for pre-compiled headers */
X /* block some unused #defines to avoid overloading some cpp's */
X #include "hack.h"
X
X #ifndef MACOS
X***************
X*** 12,20 ****
X--- 13,28 ----
X extern short macflags;
X extern WindowPtr HackWindow;
X #endif
X+
X #ifdef NO_FILE_LINKS
X #include <fcntl.h> /* Ralf Brown */
X #endif
X+ #include <ctype.h>
X+
X+ #ifdef LATTICE
X+ static void FDECL(lattice_mung_line,(char*));
X+ static void FDECL(lattice_unmung_line,(char*));
X+ #endif
X
X #define newttentry() (struct toptenentry *) alloc(sizeof(struct toptenentry))
X #define NAMSZ 10
X***************
X*** 22,27 ****
X--- 30,36 ----
X #define PERSMAX 3 /* entries per name/uid per char. allowed */
X #define POINTSMIN 1 /* must be > 0 */
X #define ENTRYMAX 100 /* must be >= 10 */
X+
X #ifndef MSDOS
X #define PERS_IS_UID /* delete for PERSMAX per name; now per uid */
X #endif
X***************
X*** 37,48 ****
X char date[7]; /* yymmdd */
X } *tt_head;
X
X! static char *FDECL(itoa, (int)), *FDECL(ordin, (int));
X static void outheader();
X static int FDECL(outentry, (int,struct toptenentry *,int));
X
X void
X! topten(){
X int uid = getuid();
X int rank, rank0 = -1, rank1 = 0;
X int occ_cnt = PERSMAX;
X--- 46,67 ----
X char date[7]; /* yymmdd */
X } *tt_head;
X
X! static char *FDECL(itoa, (int));
X! static const char *FDECL(ordin, (int));
X static void outheader();
X static int FDECL(outentry, (int,struct toptenentry *,int));
X
X+ /* must fit with end.c */
X+ static const char *killed_by_prefix[] = {
X+ "killed by ", "choked on ", "poisoned by ", "", "drowned in ",
X+ "", "crushed to death by ", "petrified by ", "",
X+ "", "",
X+ "", "", "" };
X+
X void
X! topten(how)
X! int how;
X! {
X int uid = getuid();
X int rank, rank0 = -1, rank1 = 0;
X int occ_cnt = PERSMAX;
X***************
X*** 57,63 ****
X char *reclock = "record_lock;1";
X char recfile[] = RECORD;
X #else
X! char *recfile = RECORD;
X #endif
X #if defined(UNIX) || defined(VMS)
X int sleepct = 100;
X--- 76,82 ----
X char *reclock = "record_lock;1";
X char recfile[] = RECORD;
X #else
X! const char *recfile = RECORD;
X #endif
X #if defined(UNIX) || defined(VMS)
X int sleepct = 100;
X***************
X*** 99,106 ****
X t0->uid = uid;
X (void) strncpy(t0->name, plname, NAMSZ);
X (t0->name)[NAMSZ] = 0;
X! (void) strncpy(t0->death, killer, DTHSZ);
X! (t0->death)[DTHSZ] = 0;
X Strcpy(t0->date, getdate());
X
X #ifdef LOGFILE /* used for debugging (who dies of what, where) */
X--- 118,138 ----
X t0->uid = uid;
X (void) strncpy(t0->name, plname, NAMSZ);
X (t0->name)[NAMSZ] = 0;
X! (t0->death)[0] = 0;
X! switch (killer_format) {
X! default: impossible("bad killer format?");
X! case KILLED_BY_AN:
X! Strcat(t0->death, killed_by_prefix[how]),
X! (void) strncat(t0->death, an(killer), DTHSZ);
X! break;
X! case KILLED_BY:
X! Strcat(t0->death, killed_by_prefix[how]),
X! (void) strncat(t0->death, killer, DTHSZ);
X! break;
X! case NO_KILLER_PREFIX:
X! (void) strncat(t0->death, killer, DTHSZ);
X! break;
X! }
X Strcpy(t0->date, getdate());
X
X #ifdef LOGFILE /* used for debugging (who dies of what, where) */
X***************
X*** 195,203 ****
X if (!(rfile = fopen(recfile,"r"))) {
X short i;
X
X! rfile = openFile(recfile);
X
X- t = (term_info *)GetWRefCon(HackWindow);
X for (i = 0;i < t->maxRow; i++) {
X MoveTo(Screen_Border,
X t->ascent + (i * t->height) + Screen_Border);
X--- 227,234 ----
X if (!(rfile = fopen(recfile,"r"))) {
X short i;
X
X! rfile = openFile(recfile,"r");
X
X for (i = 0;i < t->maxRow; i++) {
X MoveTo(Screen_Border,
X t->ascent + (i * t->height) + Screen_Border);
X***************
X*** 226,251 ****
X tprev = 0;
X /* rank0: -1 undefined, 0 not_on_list, n n_th on list */
X for(rank = 1; ; ) {
X! #ifdef OLD_TOS
X! char k1[2],k2[2];
X! if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
X #else
X if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif
X t1->date, &t1->uid,
X &t1->level, &t1->maxlvl,
X &t1->hp, &t1->maxhp, &t1->points,
X- #ifdef OLD_TOS
X- k1, k2,
X- #else
X &t1->plchar, &t1->sex,
X! #endif
X t1->name, t1->death) != 11 || t1->points < POINTSMIN)
X t1->points = 0;
X!
X! #ifdef OLD_TOS
X! t1->plchar=k1[0];
X! t1->sex=k2[0];
X #endif
X if(rank0 < 0 && t1->points < t0->points) {
X rank0 = rank++;
X--- 257,279 ----
X tprev = 0;
X /* rank0: -1 undefined, 0 not_on_list, n n_th on list */
X for(rank = 1; ; ) {
X! #ifdef LATTICE
X! if(fscanf(rfile,"%6s %d %d %d %d %d %ld%*c%c%c %s %s",
X #else
X if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif /* LATTICE */
X t1->date, &t1->uid,
X &t1->level, &t1->maxlvl,
X &t1->hp, &t1->maxhp, &t1->points,
X &t1->plchar, &t1->sex,
X! #ifdef LATTICE /* return value is broken also, sigh */
X! t1->name, t1->death) <1 || t1->points < POINTSMIN)
X! #else
X t1->name, t1->death) != 11 || t1->points < POINTSMIN)
X+ #endif
X t1->points = 0;
X! #ifdef LATTICE
X! lattice_unmung_line(t1->death);
X #endif
X if(rank0 < 0 && t1->points < t0->points) {
X rank0 = rank++;
X***************
X*** 314,324 ****
X--- 342,360 ----
X if(!done_stopprint) outheader();
X t1 = tt_head;
X for(rank = 1; t1->points != 0; rank++, t1 = t1->tt_next) {
X+ #ifdef LATTICE
X+ lattice_mung_line(t1->death);
X+ if(flg) (void) fprintf(rfile,"%6s %d %d %d %d %d %ld %c%c %s %s\n",
X+ #else
X if(flg) (void) fprintf(rfile,"%6s %d %d %d %d %d %ld %c%c %s,%s\n",
X+ #endif
X t1->date, t1->uid,
X t1->level, t1->maxlvl,
X t1->hp, t1->maxhp, t1->points,
X t1->plchar, t1->sex, t1->name, t1->death);
X+ #ifdef LATTICE
X+ lattice_unmung_line(t1->death);
X+ #endif
X if(done_stopprint) continue;
X if(rank > flags.end_top &&
X (rank < rank0-flags.end_around || rank > rank0+flags.end_around)
X***************
X*** 385,399 ****
X register struct toptenentry *t1;
X register int rank, so;
X {
X! register boolean quit = FALSE, iskilled = FALSE, starv = FALSE,
X! isstoned = FALSE;
X! char linebuf[BUFSZ];
X! linebuf[0] = 0;
X if(rank) Sprintf(eos(linebuf), " %2d", rank);
X! else Strcat(linebuf, " ");
X! Sprintf(eos(linebuf), " %7ld %.10s", t1->points, t1->name);
X Sprintf(eos(linebuf), "-%c ", t1->plchar);
X if(!strncmp("escaped", t1->death, 7)) {
X if(!strcmp(" (with the Amulet)", t1->death+7))
X Strcat(linebuf, "escaped the dungeon with the Amulet");
X else
X--- 421,437 ----
X register struct toptenentry *t1;
X register int rank, so;
X {
X! register boolean second_line = TRUE;
X! char linebuf[BUFSZ], linebuf2[BUFSZ];
X!
X! linebuf[0] = linebuf2[0] = 0;
X if(rank) Sprintf(eos(linebuf), " %2d", rank);
X! else Strcat(linebuf, " ");
X!
X! Sprintf(eos(linebuf), " %10ld %.10s", t1->points, t1->name);
X Sprintf(eos(linebuf), "-%c ", t1->plchar);
X if(!strncmp("escaped", t1->death, 7)) {
X+ second_line = FALSE;
X if(!strcmp(" (with the Amulet)", t1->death+7))
X Strcat(linebuf, "escaped the dungeon with the Amulet");
X else
X***************
X*** 404,450 ****
X Strcat(linebuf, "ascended to demigod");
X if (t1->sex == 'F') Strcat(linebuf, "dess");
X Strcat(linebuf, "-hood");
X #endif
X } else {
X if(!strncmp(t1->death,"quit",4)) {
X- quit = TRUE;
X Strcat(linebuf, "quit");
X! } else if(!strcmp(t1->death,"choked")) {
X! Sprintf(eos(linebuf), "choked on %s food",
X! (t1->sex == 'F') ? "her" : "his");
X } else if(!strncmp(t1->death,"starv",5)) {
X Strcat(linebuf, "starved to death");
X! starv = TRUE;
X! } else if(!strcmp(t1->death,"poisoned")) {
X Strcat(linebuf, "was poisoned");
X! } else if(!strcmp(t1->death,"crushed")) {
X Strcat(linebuf, "was crushed to death");
X! } else if(!strncmp(t1->death, "turned to stone by ",19)) {
X! Strcat(linebuf, "was petrified");
X! isstoned = TRUE;
X! } else {
X! Strcat(linebuf, "was killed");
X! iskilled = TRUE;
X! }
X #ifdef ENDLEVEL
X if (t1->level == ENDLEVEL)
X Strcat(linebuf, " in the endgame");
X else
X #endif
X! Sprintf(eos(linebuf), " on%s level %d",
X! (iskilled || isstoned || starv) ? "" : " dungeon", t1->level);
X if(t1->maxlvl != t1->level)
X Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
X! if(quit && t1->death[4]) Strcat(linebuf, t1->death + 4);
X }
X- if(iskilled) Sprintf(eos(linebuf), " by %s",
X- (!strncmp(t1->death, "trick", 5) || !strncmp(t1->death, "the ", 4)
X- || !strncmp(t1->death, "Mr. ", 4) || !strncmp(t1->death, "Ms. ", 4)
X- || !strcmp(t1->death, "contaminated water")
X- || (!strncmp(eos(t1->death)-4,"tion",4) && *(eos(t1->death)-5)!='o')
X- ) ? t1->death : an(t1->death));
X- if (isstoned) Sprintf(eos(linebuf), " by %s", an(t1->death + 19));
X Strcat(linebuf, ".");
X if(t1->maxhp) {
X register char *bp = eos(linebuf);
X char hpbuf[10];
X--- 442,480 ----
X Strcat(linebuf, "ascended to demigod");
X if (t1->sex == 'F') Strcat(linebuf, "dess");
X Strcat(linebuf, "-hood");
X+ second_line = FALSE;
X #endif
X } else {
X if(!strncmp(t1->death,"quit",4)) {
X Strcat(linebuf, "quit");
X! second_line = FALSE;
X } else if(!strncmp(t1->death,"starv",5)) {
X Strcat(linebuf, "starved to death");
X! second_line = FALSE;
X! } else if(!strncmp(t1->death,"choked",6)) {
X! Sprintf(eos(linebuf), "choked on h%s food",
X! (t1->sex == 'F') ? "er" : "is");
X! } else if(!strncmp(t1->death,"poisoned",8)) {
X Strcat(linebuf, "was poisoned");
X! } else if(!strncmp(t1->death,"crushed",7)) {
X Strcat(linebuf, "was crushed to death");
X! } else if(!strncmp(t1->death, "petrified by ",13)) {
X! Strcat(linebuf, "turned to stone");
X! } else Strcat(linebuf, "died");
X #ifdef ENDLEVEL
X if (t1->level == ENDLEVEL)
X Strcat(linebuf, " in the endgame");
X else
X #endif
X! Sprintf(eos(linebuf), " on dungeon level %d", t1->level);
X if(t1->maxlvl != t1->level)
X Sprintf(eos(linebuf), " [max %d]", t1->maxlvl);
X! /* kuldge for "quit while already on Charon's boat" */
X! if(!strncmp(t1->death, "quit ", 5))
X! Strcat(linebuf, t1->death + 4);
X }
X Strcat(linebuf, ".");
X+
X if(t1->maxhp) {
X register char *bp = eos(linebuf);
X char hpbuf[10];
X***************
X*** 468,491 ****
X else Sprintf(eos(bp), " [%d]", t1->maxhp);
X }
X }
X! if(so == 0) (void) puts(linebuf);
X! else if(so > 0) {
X register char *bp = eos(linebuf);
X if(so >= COLNO) so = COLNO-1;
X while(bp < linebuf + so) *bp++ = ' ';
X *bp = 0;
X standoutbeg();
X! #ifdef MACOS
X! puts(linebuf);
X! #else
X! (void) fputs(linebuf,stdout);
X! #endif
X standoutend();
X! #ifndef MACOS
X! (void) putchar('\n');
X! #endif
X }
X! return(strlen(linebuf));
X }
X
X static char *
X--- 498,531 ----
X else Sprintf(eos(bp), " [%d]", t1->maxhp);
X }
X }
X!
X! /* Line 2 now contains the killer name */
X!
X! /* Quit, starved, ascended, and escaped contain no second line */
X! if (second_line) {
X! Strcpy(linebuf2, t1->death);
X! *linebuf2 = toupper(*linebuf2);
X! Strcat(linebuf2, ".");
X! }
X!
X! if(so == 0) {
X! (void) puts(linebuf);
X! if (second_line)
X! (void) Printf(" %s\n", linebuf2);
X! } else if(so > 0) {
X register char *bp = eos(linebuf);
X if(so >= COLNO) so = COLNO-1;
X while(bp < linebuf + so) *bp++ = ' ';
X *bp = 0;
X standoutbeg();
X! (void) puts(linebuf);
X! if(second_line)
X! (void) Printf(" %s", linebuf2);
X standoutend();
X! if(second_line)
X! (void) putchar('\n');
X }
X! return(strlen(linebuf)+strlen(linebuf2));
X }
X
X static char *
X***************
X*** 499,505 ****
X return(buf);
X }
X
X! static char *
X ordin(n)
X int n; {
X register int dd = n%10;
X--- 539,545 ----
X return(buf);
X }
X
X! static const char *
X ordin(n)
X int n; {
X register int dd = n%10;
X***************
X*** 512,525 ****
X (dd==1) ? "st" : (dd==2) ? "nd" : "rd");
X }
X
X- char *
X- eos(s)
X- register char *s;
X- {
X- while(*s) s++;
X- return(s);
X- }
X-
X /*
X * Called with args from main if argc >= 0. In this case, list scores as
X * requested. Otherwise, find scores for the current player (and list them
X--- 552,557 ----
X***************
X*** 530,540 ****
X int argc;
X char **argv;
X {
X! char **players;
X int playerct;
X int rank;
X register struct toptenentry *t1, *t2;
X! char *recfile = RECORD;
X FILE *rfile;
X register int flg = 0, i;
X #ifdef nonsense
X--- 562,572 ----
X int argc;
X char **argv;
X {
X! const char **players;
X int playerct;
X int rank;
X register struct toptenentry *t1, *t2;
X! const char *recfile = RECORD;
X FILE *rfile;
X register int flg = 0, i;
X #ifdef nonsense
X***************
X*** 546,556 ****
X #ifdef PERS_IS_UID
X int uid = -1;
X #else
X! char *player0;
X #endif
X #ifdef MACOS
X if(!(rfile = fopen(recfile,"r")))
X! rfile = openFile(recfile);
X if (!rfile) {
X #else
X if(!(rfile = fopen(recfile,"r"))){
X--- 578,588 ----
X #ifdef PERS_IS_UID
X int uid = -1;
X #else
X! const char *player0;
X #endif
X #ifdef MACOS
X if(!(rfile = fopen(recfile,"r")))
X! rfile = openFile(recfile,"r");
X if (!rfile) {
X #else
X if(!(rfile = fopen(recfile,"r"))){
X***************
X*** 581,612 ****
X #endif
X } else {
X playerct = --argc;
X! players = ++argv;
X }
X if(outflg) (void) putchar('\n');
X
X t1 = tt_head = newttentry();
X for(rank = 1; ; rank++) {
X! #ifdef OLD_TOS
X! char k1[2], k2[2];
X! if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
X #else
X if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif
X t1->date, &t1->uid,
X &t1->level, &t1->maxlvl,
X &t1->hp, &t1->maxhp, &t1->points,
X- #ifdef OLD_TOS
X- k1, k2,
X- #else
X &t1->plchar, &t1->sex,
X! #endif
X t1->name, t1->death) != 11)
X t1->points = 0;
X if(t1->points == 0) break;
X! #ifdef OLD_TOS
X! t1->plchar=k1[0];
X! t1->sex=k2[0];
X #endif
X #ifdef PERS_IS_UID
X if(!playerct && t1->uid == uid)
X--- 613,642 ----
X #endif
X } else {
X playerct = --argc;
X! players = (const char **)++argv;
X }
X if(outflg) (void) putchar('\n');
X
X t1 = tt_head = newttentry();
X for(rank = 1; ; rank++) {
X! #ifdef LATTICE
X! if(fscanf(rfile, "%6s %d %d %d %d %d %ld%*c%c%c %s %s",
X #else
X if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X! #endif /* LATTICE */
X t1->date, &t1->uid,
X &t1->level, &t1->maxlvl,
X &t1->hp, &t1->maxhp, &t1->points,
X &t1->plchar, &t1->sex,
X! #ifdef LATTICE
X! t1->name, t1->death)<1)
X! #else
X t1->name, t1->death) != 11)
X+ #endif
X t1->points = 0;
X if(t1->points == 0) break;
X! #ifdef LATTICE
X! lattice_unmung_line(t1->death);
X #endif
X #ifdef PERS_IS_UID
X if(!playerct && t1->uid == uid)
X***************
X*** 655,661 ****
X--- 685,693 ----
X players[i][1] == t1->plchar &&
X players[i][2] == 0) ||
X (digit(players[i][0]) && rank <= atoi(players[i]))){
X+ #ifdef PERS_IS_UID
X outwithit:
X+ #endif
X if(outflg)
X (void) outentry(rank, t1, 0);
X #ifdef nonsense
X***************
X*** 721,727 ****
X int rank;
X register int i;
X register struct toptenentry *tt;
X! char *recfile = RECORD;
X FILE *rfile;
X
X if (!otmp) return((struct obj *) 0);
X--- 753,759 ----
X int rank;
X register int i;
X register struct toptenentry *tt;
X! const char *recfile = RECORD;
X FILE *rfile;
X
X if (!otmp) return((struct obj *) 0);
X***************
X*** 728,734 ****
X
X #ifdef MACOS
X if(!(rfile = fopen(recfile,"r")))
X! rfile = openFile(recfile);
X if (!rfile) {
X #else
X if(!(rfile = fopen(recfile,"r"))){
X--- 760,766 ----
X
X #ifdef MACOS
X if(!(rfile = fopen(recfile,"r")))
X! rfile = openFile(recfile, "r");
X if (!rfile) {
X #else
X if(!(rfile = fopen(recfile,"r"))){
X***************
X*** 740,748 ****
X rank = rnd(10);
X pickentry:
X for(i = rank; i; i--) {
X! #ifdef OLD_TOS
X! char k1[2], k2[2];
X! if(fscanf(rfile, "%6s %d %d %d %d %d %ld %1s%1s %s %s]",
X #else
X if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X #endif
X--- 772,779 ----
X rank = rnd(10);
X pickentry:
X for(i = rank; i; i--) {
X! #ifdef LATTICE
X! if(fscanf(rfile, "%6s %d %d %d %d %d %ld%*c%c%c %s %s",
X #else
X if(fscanf(rfile, "%6s %d %d %d %d %d %ld %c%c %[^,],%[^\n]",
X #endif
X***************
X*** 749,768 ****
X tt->date, &tt->uid,
X &tt->level, &tt->maxlvl,
X &tt->hp, &tt->maxhp, &tt->points,
X- #ifdef OLD_TOS
X- k1, k2,
X- #else
X &tt->plchar, &tt->sex,
X! #endif
X tt->name, tt->death) != 11)
X tt->points = 0;
X if(tt->points == 0) break;
X! #ifdef OLD_TOS
X! tt->plchar=k1[0];
X! tt->sex=k2[0];
X #endif
X }
X- (void) fclose(rfile);
X
X if(tt->points == 0) {
X if(rank > 1) {
X--- 780,797 ----
X tt->date, &tt->uid,
X &tt->level, &tt->maxlvl,
X &tt->hp, &tt->maxhp, &tt->points,
X &tt->plchar, &tt->sex,
X! #ifdef LATTICE
X! tt->name, tt->death) <1)
X! #else
X tt->name, tt->death) != 11)
X+ #endif
X tt->points = 0;
X if(tt->points == 0) break;
X! #ifdef LATTICE
X! lattice_unmung_line(tt->death);
X #endif
X }
X
X if(tt->points == 0) {
X if(rank > 1) {
X***************
X*** 770,776 ****
X goto pickentry;
X }
X free((genericptr_t) tt);
X! return((struct obj *) 0);
X } else {
X otmp->corpsenm = classmon(tt->plchar, (tt->sex == 'F'));
X otmp->owt = weight(otmp);
X--- 799,805 ----
X goto pickentry;
X }
X free((genericptr_t) tt);
X! otmp = (struct obj *) 0;
X } else {
X otmp->corpsenm = classmon(tt->plchar, (tt->sex == 'F'));
X otmp->owt = weight(otmp);
X***************
X*** 779,784 ****
X fobj = otmp;
X level.objects[otmp->ox][otmp->oy] = otmp;
X free((genericptr_t) tt);
X- return otmp;
X }
X }
X--- 808,830 ----
X fobj = otmp;
X level.objects[otmp->ox][otmp->oy] = otmp;
X free((genericptr_t) tt);
X }
X+
X+ (void) fclose(rfile);
X+ return otmp;
X }
X+
X+ #ifdef LATTICE
X+ /* Lattice scanf isn't up to reading the scorefile. What */
X+ /* follows deals with that; I admit it's ugly. (KL) */
X+ static void lattice_mung_line(p)
X+ char *p;
X+ {
X+ while(p=strchr(p,' '))*p='|';
X+ }
X+ static void lattice_unmung_line(p)
X+ char *p;
X+ {
X+ while(p=strchr(p,'|'))*p=' ';
X+ }
X+ #endif
X*** /dev/null Tue Feb 20 01:25:09 1990
X--- mac/NH3.rsrc.hqx Mon Feb 19 18:11:28 1990
X***************
X*** 0
X
X--- 1,311 -----
X+ (This file must be converted with BinHex 4.0)
X+ :#%j)-bjbFh*M!!!!!!!!!!!!)!!!!!!!!!!jaZRe!!!!!!%!!!!ddJ!!-p)!!!6
X+ d"!46DfP`!!!!!!#$!!`!P3%PL!K6BACP)'&c1J!!!!!)6NJc,R*cFQ-c!J!!!!!
X+ !!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!#L"M0f!!!!!!!!1FB!!!!!!-S!$`$H!'S%#&0KGQ8J3@aX!!!!!!$+!0!!hJ%
X+ U"!C$B@jMC@`!!!!!!,B!F`$)!-S%"d0[ERCPFR5!!!!!!!$+!(-!hJ$+"!Y$Efj
X+ fCA*d)%&XE!!!!!"b!!%!!!!!!&8!%J"T!$m%!Np,!!!!!!!%!%J!C`%$L&&6Eh*
X+ b!!!#6!*-!#!!H3!Z!C-4!D!!JU!!MJ%!#J!J!(%#d!*!Q!!N!!!!#!!1!5J!!!!
X+ )!!i")J!J!(N!,J'6!!%K$rKq!!"r2i!!!H!!IJ!m!"lq!!B"i!!!2`2`qJ!#!H!
X+ !)J8i'!!!(!lq!!EJ!1F!j`!rr3!)i!!!$`2!!!!Fr!!"i!!P"6`B!"`F$[i!"Z!
X+ !ii$R!(Iq!!Y`i!!!$iI!!!!F!!Iq!!(J!#3&2KJ!("`1rJ!'i!!$JF1!F2i!"R$
X+ J!!!2Km$p!!!(rJ!"i!!N"6mB!"`F$[i!"Z!!!i($J($q!!C`i!!!$iI!r3!!"ri
X+ !!H!!*5-h'$ir(!i(JI$[J!F"`i(mIMh!r2m(`!h0`2!q22q2aq(mr`!P)c1BGa`
X+ IrKc$R1B!2J($J($R(m"`pilJ$Fh$Q(1FHmF1FjchJ#8M-pMMR"`1(1FFl!!(!F1
X+ !FF1H!($MR(!0cF1Fijaaaa`l$11!*5-af11F(!i!j`$i!!1"`i"a`j`!F11FF!c
X+ j`"cJ((((($[!ii!P)c$irj`F$JIR!2J!!i($J(($R!"`ijr`$2R!r1!FFFFF1IM
X+ MJ#8M-2MJ("`1(1F!r!!$JF1!FF1F!($MR!!-qF1Fi"aaaa`i211!*5-`H1'F(!i
X+ ij`cZ!F1!j`"a`j`!F11F-!aaaacKR(((($X-ii!P)c!iFjfF$MRMR1F"aacR!($
X+ R(!"fiij`$(((2(1FFFGZFjcMJ#8Mr"Jr$hmrRr(jrm$q($`!q(iq!$hhaq!rGr2
X+ q2cllimIMqII!S!#2S!#$r`!!!#FQ6Q9d5'&MDb"@CA*cD@pZ)$-Z-'NJCQpb)(4
X+ SC5"0B@0TER4[FfJ!!!"-!'F!!!!!!!!!!2rrrrX%4@4TG!99EQ4[)!"D!!!",3!
X+ !!!!%3h9d)!"B!!!&3fp`H5!!3`!!"P"KFh4P)!"@!!!&3faPBA)!!!!!!!!!!+S
X+ !D!!!!!!!!!!!rrrrr`P*ERCPER4[FRN-4'mJD@jfC@jdEh*j!!!!!!K3BANJBQP
X+ XE!!!!!!,4(*[F#"[BQTPBh3!!!!!&%4bEh!JFf9fCA*KE#"[BQTPBh4c!!!!!!j
X+ 3D@0V)(9`)'pLDQ9MG!!!!!!09'pRCfaP)("TBfYeF!!!!!!25@4PER4TCRNJEf*
X+ UC@0d!!!!!!a1B@eP)'e[ER0dCA)!!!!!!!!!!*-!D3!!!!!!!!!!rrrrr`C"Bh4
X+ TEfi33A"`E(N[GA0P)'pLDQ9MG!!!!!!+4@&d)'pLDQ9MG!!!!!!-8A9KCQBJF'p
X+ dD@pZ!!!!!""5C@&N)(0MFQpXE#pLEfpV!!!!!"*8D(*[GbpcD'p[G#"hC@&`Efi
X+ !!!!!#&TKF#"hB@jN!!!!!!T$BA0d)(0`C@aX!!!!!!!!!!$"!'S!!!!!!!!!!2r
X+ rrrm%8(*PF!aAD@9XC#"hC@&`Efi!!!!!#e"eG#"[EL"bD@jR!!!!!!Y5C@e[GQ8
X+ JFQPZC`!!!!!-8Q9YEhCP)'&bE@pb!!!!!!TAC@&b)'&bE@pb!!!!!!j$GA*bC@j
X+ d)(GPBA"[EJ!!!!!03h9bFQ9ZG#"KFQe[FJ!!!!!03h9bFQ9ZG#"bD@jRF`!!!!!
X+ 13h9bFQ9ZG#"KEA9XCA3!!!!!$80eFR*PER3JG'p[E(-!!!!!!!!!!*J!D`!!!!!
X+ !!!!!rrrrr`40EhCP#8p`C@iJC'p[FJ!!!!!+3fa[Ff8JC'p[FJ!!!!!*5fPMDb"
X+ NEfpb!!!!!!C6C@&bBfJ!!!!!$%G[)(9`)(0dB@PbF`!!!!!14fmJC'phEL"cG'&
X+ TFR-!!!!!#&4PE'9`Eh*d!!!!!!4AB@Pd!!!!!!p&EQGbBACP)'ePFh0KCf8!!!!
X+ !!!!!!1S!E!!!!!!!!!!!rrrrr`K&H(4PEQ4PC!4$D'&d!!!!!!T%DA!JEf*UC@0
X+ d!!!!!""'Eh*MC5"MD'9cG#"XEf0V!!!!!!4+G@e`!!!!!!K-Efpd)'*[H!!!!!!
X+ 69A0P)'e[ER0dCA)JB@*TE'PdH3!!!!!,6Q&YC5"[BQTPBh3!!!!!$dpQCQ9b)(0
X+ KBh*TCQPMC3!!!!!%8(*KH3!!!!!)8R9L)'aKEA!!!!!!#&0TG#"NEhGZ!!!!!!Y
X+ 8GA*Z)(9ZC'9KC!!!!!!09@jdFQ&`)'pLDQ9MG!!!!!!*9fP`C5"QB@0P!!!!!!!
X+ !!!'+!-J!JJ!!8Q9KE'aj)(&eDA3J2`!!!!4!!!-!!!$Frri!!!3m!!-!!!$drrm
X+ !!!!!!!-!!!$qrrm!!!!!!!-!!!%+rrm!!!!!!!-!!!&-rrm!!!3i!!-!!!(@rrd
X+ !!!!!!!-!!!*Drrd!!!!!!!-!!!+Hrri!!!-%!!-!!!6#rrm!!!3d!!-!!!6Drri
X+ !!!4!!!-!!!6brri!!!3`!!-!!!8'rri!!!-%!!-!!!@Drri!!!-%!!-!!!DJrrl
X+ rrrrm!!-!!!EXrri!!!3X!!-!!!G`rri!!!3X!!-!!!I3rri!!!3X!!-!!!Jdrri
X+ !!!3S!!-!!!K!rri!!!3S!!-!!!Kbrri!!&PPF`!!!!QHrri!!!3m!!!!!!0brri
X+ !!!FN!!!!!!0i6Qm!!!FB!!!!!!1'rri!!!FN!!!!!!13!2rq!!!('!!!!!!$Q[r
X+ q!!!(*!!!!!!$T2rq!!!($!!!!!!$V[rq!!!!$!!!!!!$Z[rq!!!(-!!!!!!$d[r
X+ q!!!(*!!!!!!$h!!"!!)!!!'+!2!!C!!!4'mJH@pe)(GKER3JG'mJD'&fC5"jEh9
X+ b)("[Ff9cFfP[ER-JD@4PER4TCQPPC#!r!!!CF!!!!!!!!#@i!!!!!!!!)i)!!!!
X+ !!!!V#J!!!!!!!!Zi!!!!!!!!!8`!!!!!!!!"8MXH!$BJY!Tq!#MdXPBL!di!+25
X+ b9L)I8J!Sp,*@)J!!!!!!!!!!)p!!!!!!!!!CC!!!!!!!!!*X!!!!!!!!!83!!!!
X+ !!!!KXJ!!!!!!!"pQ!!!!!!!!(QB!!!!!!!!HM!!!!!!!!#2S!!!!!!!!(CS!!!!
X+ !!!!2BJ!!!!!2(J&@!#MdXPBL"F`!+25b9L)('!!Sp,)!)LH`!#MdXPPPF`!!+25
X+ b9L)3"J!!!!!!!!rS!!!!!!!!"TJ!!!!!6Qm!qJ!!!!!!!!XU!!!!!!!!!*i!!!!
X+ !!!!!!!!!!!"4G@Pd!!!!!!!!)Ni!!!!!!!!@QJ!!!!!!!!Z'!!!!!!!!%$`!!!!
X+ !!!!HJ!!!!!!!!",X!!!!!!!!'Y)!!!!!!!%!!`!!!3!!!!!!I`!2i&+!1VKHJ&9
X+ 83)$rUPk"!0C5JR`U8S5S&Rq*m"S!%!#5!$rKBJ"9FN)!UUR#!Ip9`J-"VX)%I&6
X+ ##%3SJJJ!-!B2rq!+#4%J$!S!S#J-lQ!3#N5JS!Nj)%!+JU+!$%4K!!UUUJ!)!$`
X+ !$UVS!!S!X!!2rq!!!!!!!2q!$q$r`$rirm"rr2r!rrlr`Irrrm2rrrr(rrrrcrr
X+ rrprrrrrrrrm!Irrr!2rrr`(rrrm$rrrr"rrrr`rrrrmIrrrr(rrrrarrrrmIrrr
X+ q(rrrr"rrrrJIrrr`(rrri"rrrm!Irrq!(rrr!"rrrJ!Irr`!(rri!"rrm!!Irq!
X+ !!!!"!)!!!!&!!!!#)!!!""!!!!J)!!!)"!!!#!)!!(J#!!$)!J!"5!2rrNJ#!!*
X+ )!J!#5!)2mNJ##"*)!JJ55!))%NJ##"*)!JK55!))%NJ##"*)!JJ55!))%NJ$rrj
X+ )!J!"5!)!!-J#!!"i"!!!#!J!!!J3!!!))!!!"%!!!!+!!!!"rrrrrrrrrrrrrrr
X+ rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr`2rrrmlrrrr1r
X+ rrra2rrrplrrrrUrrrrc[rrrmlrrrr+rrrrb[rrrm$rrrrrrrrrrrrrrrrrrrrrr
X+ rrrrrrrrrrrrrrrrrrrrrrrrrrrm!!!%!!!!!!!!!!!!!!!!!!!&!!"rpArJ3!8!
X+ )&reIk"3"3#J!!!!S(!(!+#)!)#JL!D!S*J1J+#)#S#JL)L)S2J(!+!!!!#J8!!!
X+ S&!!!+"3!!#J8!!!S&###+"3!!#J8!!!S&!!!+"3!!#JArrrS%!!!#"rrrrJ!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!(rrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrr
X+ qIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrr
X+ qIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrq!!!!!!!!!3!!!!!
X+ !#!!!)"`!!(!)!!!J2J!!q(m!!I`8!!"32J!!q#IrrkJU!!$)-U48Q#DUP+JUkTM
X+ )-Uk8Q#DU8UJU!!$)-X6NQ#DU5UJUUNV)-Uj1Q#E+5UJU!!$)-rrrQ$i!!2J8!!"
X+ 3I`!"r$i!!2J)!!!J(!!!F!J!!#!!!!!!!!!!!!J!!#!F!!"`2J!!q$i!!2Kr!!(
X+ mri!$rRm!!IarrrrmIrrrr(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(rrrrarrrr
X+ mIrrrr(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(m!!IcrJ!2qI`!"r$i!!2Jq!!$
X+ i(!!!F!J!!#!!!!!!!!!!!Mm!!!!!#8pf!")3!&-!83!!!!KTF'4%,%![3`!!!!G
X+ KCA&bG(TD!!!!#RG38P4A+9XpA#J!!!!*Ef-%Fc`q&#j&!!!!"J!!!!!!!!!!!!j
X+ MC'CUE'eZEh"bFh4eG`!!!#3JZXh*ZmLmcXV,ZFbca&`[X1lZlrU`2$jH)Rel)ea
X+ I2$iM)`!!!!!q,Q`!!!"S!'S!!!"`Dfd!!!"TBQTZD'pXH3"VG3!!iq6QkZcYcZr
X+ bmr6epiffa-E#YIDrU+HJk,F!!'KXDQX!!!!2!!!!!J!!J!!'6@pZB@0[!!!!"d&
X+ 38%`!!!!!!!!(8d&@43!"!!!!!!GB8%a5!!)!!!!!"da&9N`!!`!!!!!(3Np143!
X+ %!!!!#BL3!!!!!!$q!!B!!2rh!!B!#`1l!!N!!J!!!$m!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$B!!!!!!!!&%%!!!!
X+ !!#P!!!!`!!!D!!!#'%!&DeL*3!@J+83JJ%!%P8"3&!&#&!!9!"3JMm$rm!(i!!!
X+ !Fi!J!!!!!!!J!!!1B!!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!F!"3L!)B"!%#J+)!"!))J!!!B!"")K0X!!!#+)!!&IL
X+ *3!@J+83JJ%!%P8"3&!&#&!!9!"3JMm$rm!d)!!!!*%"3![2!!!3J!`!*N!!!e6R
X+ X6#!!"FZF,l[ZF!!1Flc[Iqk2$'%BZmlc[aM'-ImD!J3!%"JK--!!!!!#!!!!!+Q
X+ Zq45K*!T3V9c[JHT4&%8k)*4m3N3PSZa!!NNJ"@YBL8!&S#P%))"!"*9!8"3"3K3
X+ !&3!8))r!rr!6!$i!0R4F3!Am)")D)!5!#5$ehpDbNUN!"MaLD%!aL##4M'-B`K'
X+ +$+'maM'-54M&83d0!33!%#!J%%!!!!!#!!!!!+V4q!!!'!!!!#-B!S!!!!"'*)+
X+ L3!!!-c)!!US!!"AiL8!&S#P%))"!"*9!8"3"3K3!&3!8))r!rr!M!")!#DaL)$h
X+ m2j%U*!bi18#9K9,8)A%!#QK#VhJaM9p"l'-)`K#+$5&DaM'-#4M%N45)!(qFph2
X+ p-ReRHICraM@-IUJ38jlh[FjcNQ-B1SjcSaM',ZILjmk0Uc*!!99J"@YBq8(p[qP
X+ m))"!"29rhrIrIjAi&IJ9q)r!rrGP"mMmL+rLlF[m)(c))(0m+Ik9MlP))Dr2LUL
X+ 0)-41L)!LVrd)qp2k$L%Cap(cL4M%LL5)!)aM'+4M0'ZBaMQ#4M9843339'-BaM'
X+ -8Rrr9p'-BaM'0B%m50'1CZb2rKPTN!!9ripq)D%2arrrrrqA%!!3!!"q"rmRrLI
X+ rrrriT3+&&)LXBaV,r,q4+$q)I%!1PB89Y5%K!"-T!r$%NAKI424M#-)4LSdK'-B
X+ 4L%NBe)4%5!#-B4qNBcaV'-B`FNBe*%LS%(IM'-BIrp*M'(k4M'-BaM5(j%M4M')
X+ "#!3KmNeV@2P,rEhi2%!#3!6eprphrhq"q8(p&IK2rr`)S`+*&)KdBah6r#!5'#"
X+ `Id!1P3"@XK)"!")U)LM%N3JJJ)4M'-)4LSbK'-B4M%N9E85%5!#FB4JNBc*V'-B
X+ `#Ne99&#S%53R1Fi3K"*M'&+4M'FiaM@*,NR4R'2r'!4!FNJ9q)P+*D8!!%!#3!5
X+ 8&!&8!8!!)8!P&#"2rr`)S`+6&)JN94"6r$q!##5!1)!!PB!k63`!%'(2h#FiMR8
X+ !"(4mlhi1Mh4r',S1LiML4L6q12a[R[HMic&V&hR`mE5+LrkS$L2DeVA[Hp*M(pl
X+ ZFjVAZFla*%E1E')!i!"`DC9V@)P+*D8!!%!#3!58&!&8!8!!)8!P&#"2rr`(E3+
X+ qjdKcYZ!pr#"rq5!!!)!!p3!3!!!!%#!!!!!!!!%!!!!!!!!!!!!!!!!"!!!!!!!
X+ !)!!!!!!!3#!!!%!J!!!!!%"`!R!!!!#!!!!!!!!!!!!!J!3!"N!!!!!!!!!!!!!
X+ 9q)P+*D8!!%!#3!58&!&8!8!!)8!P&#"2rr`!)!!!"!!!!!!Krq!!#5!!!!!!!!!
X+ !!!!!)!!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J-!!!%!J!!!!!i!
X+ !"!!!!!%!!!!!!!!!!!!(!!!!!B!!!!!!!!!!!!9V@)P+*D8!!%!#3!58&!&8!8!
X+ !)8!P&#"2rr`!!!!!"!!!!!"!!!!!#-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!%!"!!*!!i!%`!B!"S!(3!J!#8!+J!X!$%!-J!f!$X!23"#!%F!6!"4!&B!@`"
X+ J!'8!CJ"S!'X!F!"c!(J!I3##!)F!M!#4!*B!Q`#J!+8!U!#Y!,)!Y`#m!-%!aJ$
X+ ,!0!!e3$D!0m!j!$T!1i!m`$i!2d!r`%$!38"#!%1!4!"&3%D!4m"*!%T!5d"-J%
X+ h!6J"1`&!!8)"4`&-!9%"9J&E!@!"C3&T!@i"F`&i!Ad"JJ'(!BS"L`'1!C-"N`'
X+ B!Cd"SJ'R!D`"X3'f!EX"`!(&!FS"c3(3!G)"e`(F!H%"jJ(V!I!"p3(k!Im#"!)
X+ *!Ji#%`)B!Kd#)J)R!L`#-3)c!MJ#23*#!NF#5`*2!P3#@3*H!Q3#DJ*V!R!#G3*
X+ k!Rm#K!+&!SN#M3+5!TF#Q`+J!U-#U!+Y!V)#YJ+k!Vd#``,*!X`#dJ,B!YX#h`,
X+ M!ZF#l3,c![F#r3-$!`N$$`-9!aX$(`-L!b8$+3-[!c8$13-m!d)$5!0,!di$9!0
X+ D!em$C30U!fm$G30k!i!$K31+!im$P!1C!jm$T31V!l%$YJ1j!l`$[`2$!mJ$c32
X+ 4!pB$e`2F!q!$j!2R!qd!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'"JB#"J%'!!B!"J!'!!B#"J%
X+ '!JB!"J!'!3B!"J)'!3B!"J)'!!B!"J!'!!B!"J!'!!B!"J)'!3B""J!'!3B!"J!
X+ '!!B!"J!'!!B!"J!'!!B!"J%'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J)'!3B#"J%'!!B""J!'!!B!"J!'!!B""J!'!!B#"J!'!!B""J!'!!B!"J!
X+ '!!B!"J!'!3B!"J!'!!B!"J!'!!B#"J)'!3B!"J!!!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J%'!3B""J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!JB!"J!'!!B!"J%'!3B!"J!'!!B!"J!'!`B!"J!'!!B!"J!'!`B!"J!'!!B!"J!
X+ '!!B#"J!'!!B!"J!'!!B$"J!'!!B$"J!'!!B$"J)'!JB#"J!'!!B#"J!'!!B!"J!
X+ '!!B!"J)'!`B$"J)'!!B!"J!'!`B!"J!'!!B$"J!'!!B!"J!'!!B!"J!'!!B!"J!
X+ '!!B!"J!'!!B!"J!'!!B!"J!'!3B""J-'!!B!"J!'!3B!"J)'!!B!"J!'!3B!"[r
X+ r!!!,hT!!!!!!!2m!"`!!rrd!"`!2"18!$!!$!!!!3J!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J!!!!
X+ !!!!!!!!!!!!'J!!!!!!!9DY@)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rr
X+ i!!!!!!!!!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"84!!!!!!!T3!!!-!!!,!!!
X+ !))!!!&Aq)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rri!!!!!!!!!!!!!m!
X+ !!#!!!!TJ!!!3!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!F(!!!!!!!!!
X+ !!!!!!!!!!!!!(!!!!!!'!!!!!%5!!!!!!!!!!!!3!!!!!!!!))!!9DY@)P!"D!T
X+ 4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rri!!!!!!!i!"J!p#!!!#!!!!f3!!$915a
X+ 5)!!#jFiAcIFi!!(!1mlhrZM`aK',[1mlmBaM(mJ5!)%!"!B)6!!!!!!!!!!!!#T
X+ VJ#)!L3%!J+Fli(X!JL!1L!dI%%L%f,h%!#++!!"9rL*3!@J+83J3!J!)LP!&!&!
X+ "338!!+3!#JJ3rJ2rq!li2J!!%FiJ!I`J!#!J!`!j)(hIeV*5U!!$(M%d%"M%##)
X+ J4M'-)4LJbKZ-BaM%NBaM%-J9!%%!"!J)6$!!!!!!J!!!!#Ud9%8S53+85eM'!+5
X+ 844&4L"#SN!#4#@M'*!!NNJ"9UeBL8!&S#P%)%!)!#)T3"3"3!8%&!!#N!!S)%2i
X+ $rrJ45#)!'j)a)!Am)!4-)!5!+8p%e9,5BA%!"43K9#!Ba"!3,dBaM#%)S0)9c'-
X+ B`*'-Ba$%')!"!!3)#!33!!!!!)!!!!!U"%!!!!B!!!!)aJ#J!!!!%BN4q*!!!!!
X+ -aL!!##!!!&Aq)P!"D!T4#"!#!!L+8!8!8!&""3!!T!!+#"$q!rrlF8!3!#3k-4!
X+ &r$mLNL3%J#Rr4)8ae#&a!!8d*THm*dDRb&$(d)`K#+$L%DaM'-#4M&844"!!(qF
X+ ph2p-RhRHICh4M@-IUJ3Ljlh[FjcNQ-B1SjcSaM',N!")ZI1MDXBN!"C+@P@V9Mj
X+ 3IfrkA`J3!J!)qPrprprrIq8rJ+Ii#Rm3rJ2rr**(b2a%4M&i(IdJ)9)J5cJJ$d5
X+ 2Q)JKVm!*9%(iBNM'`!5@rM#2[6qJ`K'FI4miNBa)SN)3!#-BaLNBc4V'-BjLNBe
X+ 9%8N%)aM'-BaM&*M(eIaM'-BaMARr%M4MQEh%rqQDT3"9rq2IL'K$mIrrrrrrLm)
X+ !!%!!!"r!Ira(riMrrrrrr**#K54%4r'1kr`rqM!rX(`J$d5&&93K)3q*P)%3BNL
X+ m*mL@aM#-)4LJiK'-B4L%NBa84%)3!#-B4qNBcKV'-BaFNBe*%LS%)rM'-BIrp*r
X+ q&k4M'-BaM4")%M4M')!)J%%V3Y@V9Mj5rfpq$a!!)J!)qRlrqprrIq!rP!Ip#Rm
X+ )rrrm!h&#L54%4M'0Dr`J*"%J5(iJ$d3!&E+K!3!4&3%3BNL%%"!AaM#-)4LSdK'
X+ -B4L%NBeL5%%3!#-B4JNBc4V'-B`#NBe*&#S%)`M'-B3K"*M'&+4M'-BaM4**%M4
X+ M'2r`J%*r3S"9rL*5L@P!!"!!)J!)LJ+!#P!"3!!%&!"&#JJ)rrrm!"&#N54%4LU
X+ 1kr`r)2%NX(fJ$d5!9V%5!""4&K%8BNL+L##3!%BaM#%BU-S4M'%Ba*&@iNK"%!!
X+ R'-BT'-bDaM'-)T0994JU"'FCcR1-B45BaK@NBaR1-Be55j*dCaL!%3!%#U99UeB
X+ L8SPT3!!3!#)!#)S#J!T3!8!!""3!43S)#2rrr!!43U-Na$SUL#[m)!F3`!!iB!"
X+ %J$T1NJ!3B1IZ%ja(-S!!MdI1pq$SpdIaLk$SZ)iNBNr!N!"r'qFpb2M-@XAHI"a
X+ Y)U,rUJ1DjV@YFjlNQ-IZZjcQYHjc[%N4XjXBJ!i!$`TD!&Aq)P+*D8!!%!!L!!L
X+ +!S!+8!&!!!38!%8+#!Mrrr`!&N+qad)4fh!Grq$i%!!!!#!!I3!3!!`!%#!!!!!
X+ !!!#!!!!!!!!!!!!!!!!!3!!!!!!!F2!!!!!!!"!)!!!3#!!!!!!3(!%!!!!!)!!
X+ !!!!!!!!!!#!"!!%3!!!!!!!!!!!!9DY@)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8
X+ +#!Mrrr`!%!!!"!!3!!!4q!!!%!!!!!!!!!!!!!!!)!!!!!!!!!%!!!!!!!!!!!!
X+ !!!!!)!!!!!!!!!!!!!!!!4!)!!!3#!!!!!%3!!%!!!!!)!!!!!!!!!!!!#!!!!(
X+ J!!!!!!!!!!!!!&Aq)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8+#!Mrrr`!!!!!"!!
X+ i!!!3!!!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!1!`!!!!!!!!!!$J!!)!!!!!3!!!!!!!!!!!!F!!!!!!!!!!!!!!!!!!9DY
X+ @)P+*D8!!%!!L!!L+!S!+8!&!!!38!%8+#!Mrrr`!!!!!!!!!!!!!!!!!%!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!"!!*!!i!%`!C!"S!(3!J!#8!+J!X!$%
X+ !-J!h!$`!2J"$!%J!63"5!&F!A!"K!'B!C`"T!'d!FJ"f!(X!J3#'!)X!N!!!P3#
X+ D!*m!T!#T!+`!X3#f!,X!`!$&!-S!c`$8!0N!hJ$M!1J!l3$b!2F!r!%"!33"#3%
X+ -!4%"'!%D!4m"*!%T!5i"-`%h!6`"33&#!88"5J&-!9%"9J&E!@!"C3&U!@m"F`&
X+ i!Ad"JJ'(!B`"N3'8!C8"Q!'G!Cd"SJ'R!D`"X3'f!EX"`!(&!FS"c`(8!GF"fJ(
X+ F!H%"jJ(V!I!"p3(k!Im#"!)*!Ji#%`)B!Kd#)J)R!L`#-3)f!MX#23*#!NF#6!*
X+ 4!PB#@`*J!Q8#DJ*`!RB#G`*m!S%#L!+2!TB#P`+E!Tm#T!+T!Ud#XJ+e!VS#[`,
X+ %!XJ#c!,3!YF#hJ,L!ZN#m!,d![N#rJ-$!`S$%3-@!ad$*!-V!c)$130!!d8$530
X+ 0!e)$@30J!f3$D!0[!hB$HJ0q!i8$L`13!!19!jS$R`1P!kS$X31f!lX$`!2&!mS
X+ $c`29!pX$i!2P!qJ$k`2[!r-$q!2p"!%%"J3("!`%%!38""J%'!3I!!F!"`!(!!F
X+ !"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F!"`!(!!F
X+ !"`!(!!F!"`!(!`F#"`%(!3F""`!(!`F#"`)(!3F""`)(!3F$"`%(!3F#"`%(!3F
X+ ""`%(!3F""`%(!3F$"`)(!3F""`)(!3F!"`%(!3F""`%(!3F""`%(!3F#"`%(!3F
X+ ""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`%(!3F#"`%(!JF""`!(!`F""`%(!3F
X+ ""`%(!JF""`%(!`F""`%(!JF""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`%(!JF
X+ $"`)(!3F!!!%(!3F""`%(!3F""`%(!3F""`%(!3F#"`)(!JF""`%(!3F""`%(!3F
X+ ""`%(!3F""`%(!3F""`%(!3F""`%(!3F""`-(!3F""`%(!3F""`%(!3F""`%(!3F
X+ ""`-(!3F""`!(!!F!"`-(!!F!"`!(!!F!"`!(!JF!"`!(!!F!"`!(!`F!"`!(!`F
X+ !"`!(!`F#"`)(!JF!"`!(!JF!"`!(!!F!"`!(!!F#"`-(!`F#"`!(!!F!"`-(!!F
X+ !"`!(!`F!"`%(!3F""`%(!3F""`%(!!F""`%(!3F""`%(!3F""`%(!3F""`)(!JF
X+ $"`!(!3F""`%(!3F$"`%(!!F!"`%(!!%!"rrr!!!!!!!!!%*J!!#A!!!!!!!!!!!
X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!%!#3!!5iN
X+ !$!!!5i`!!!!9!$m!#J%(!@J!!3!!!!!!!!!!!)%!!!!!4!!!!3!$J!I!$q!Im!1
X+ !!i!$J!1!!i!$J!1!!i!!!!!!!3!$J!I!$q!Im$ri2rJ(`!I!"m!(`!I!"m!(`!I
X+ !!!!!!3!(!!!!4!!!I`"q!(`!IJ"r!'q!4m!$i!(`!2!!B!!!!!!!!!!!ri$rJ2m
X+ !rJ$r!2q!rm$[i-I`!rJ"q!$`!'!!!!!!!!!!!3!"!!!!4!!!!2i!IJ!q!(i!rJ(
X+ f!q)(`!q!$`!'!!!!!!!!!!!!!Im"r`$r!(m!r`(r!rm(p`rM(m!IJ!m!"J!!!!!
X+ !!!!!!3!1!!!!4!!!!!!!!!!J!$!!1$rm2rirr!!i!$!!)!!!!!!!!!!!!!!!!!"
X+ J!(!!H(rmIrjrrhrqIr`!H!"`!'!!!!!!!!!!"`!1!!!!4!!!!!!!!!!!"J!2!!q
X+ !"m!$iJ(f!2i!IJ!q!(i!rJ!!!!!!!!!!"J!2!"q!(m!2i`Ih!rm"r`$r!(m!r`(
X+ r!Im!$J!1!!!!4!!!!!!$J!1!!i!$J!1!!i!$J!1!(r!2i!I!!i!"!!!!!!!(`!I
X+ !"m!(`!I!"m!(`!I!2rJrq"r`$q!(`!1!!3!!$J!(!!!!4!!!!!!!!!!!!'!!m!(
X+ `!q"(`'q!I`"q!(`!IJ"r!!!!!!!!!!!!!'!!m!(i!rM(m1rJrm$rJ2m!rJ$r!2q
X+ !ri!!$J!"!!!!4!!!!!!!!!3!$!!F!$riIrJrq"`!$!!%!!!!!!!!!!!!!!!!!!B
X+ !$J!H!$rmIrcrr(rm2r`H!!i!"J!!!!!!!!!!"`!"!!!!"d&9@%`!"3!!!!%!!!!
X+ !!(JIm$c)j!iQV`)"kS3%%-,S$!NZ%")''"'"'"!Q33!))!!!@#$J$LJKm"m))rJ
X+ rL$2i2jJam4mB%111%"#$J"!)48%J")eQ3!)*))!(M@2!$FI(B"MJ$M"af$FF3hI
X+ GK&CG904N9qa-2&98H!![k!!!%"!!!!rJ!!!!!!"m(r"qr2rqIrrrrrrrrrrrrrr
X+ rrrrrrrrrrrrr2rrrq(rrrrarrrrmIrrrr(rrrrarrrrmIrrrr(rrrr`rrrri2rr
X+ rq"rrrr!Irrr`$rrri!rrrr!Irrri2rrrr2rrrrlrrrrqrrrrr[lrr[jqrrlq2(r
X+ mH!!rq!!!(r!!!!rJ!!!!!3!3!!!!F!%!3,!(!2!`1`pJFFB83"S'-1!CANiJH3b
X+ I)*S-T*!!$VfN8!iC4Q!m'F)!4hP!)!Ba`*!!$l-K4*2bS4"Kh4#SNZV34&Ke1+L
X+ Q+SL#e9*i+$UR#%#Rb2!!e*!!%J!kNH3F$dRfF!$m[,B!!TN@!!*)'!!"3"!!!A!
X+ m!!2SC(J"J%$i"i$`q$q2q2RrRr$rrcrJrrprm2rrrr$rrrr`rrrrq2rrrrMrrqr
X+ `rrrRm2rrir$rrq(mrrrcr[rrmrcrrrRmrrrir[rrrIlrrrhrrrrmr[rrr1Mrrrp
X+ !rrrr([rrrrirrrrq$rrrr`$rrrm!"rqq!!2m2!!(r(i!"rcq!!!!P`"Q!!!!!!!
X+ !!!$rrrkr"%CTE'8-8f9d)'p`G'P[ER2*!!!!!!j@CA*cD@pZ)'jeE@*PFJ!!!!!
X+ 05@jfCA*d)&0MFQ9PEJ!!!!!08Q9NFQ&h)(0MFQ9PEJ!!!!!68Q9`C@&d)'aKFh3
X+ JE@9cFf&RC3!!!!!",3!!!!!*8f&fC5"RB@eP!!!!!!%Y!!!!!!44G@Pd!!!!!!!
X+ !!!%!J)!!!0'!!!#UJ!!!e)!!!+5!!!$BJ!!!URrrr0P!!!DS!!!'dNbG4U%!!!E
X+ 859f'T!!!"Y*0bfDK!!!'e%!!"U30[qE43$$QT!-[CY*!,@DJ#M0Qm8!mjPJ0-kB
X+ N3$rQ'J!!"JY!!!B%P99@!fUUUJ)Irri"i!!!!!!!!!!!!!#!J!!!mB!!!2Z!!!$
X+ rJ!!!ri!!!2q!!!$rrrrmrrrrr[rrrrlrrrrqrrrrr[rrrrlrrrrqrrrrr[rrrrl
X+ rrrrqrrrrr[rrrrlrrrrqrrrrr[rrrrlrrrrqIrrrrMrrrriIrrrq$rrrrJIrrri
X+ $rrrq!rrrrJ(J!!!!!!!!!!!!!!!!!%aZD$-`!!!!!8P$6L-!"J!!!)!!!3#"!!)
X+ !JJ!$!)-!"!#%!!8!K3!'!)C'8N9'!!B!!!#!!!%!J3!#!))!!`#$!!3!K!!&!)8
X+ !"J#'!!!!"e4&@&3!"J!!!!!F!"`!'J&@!IJ!!3!!!!!!!!!"!))(6h"dD@pZF`!
X+ !!"`!)J!N!6B"C!!"!2m!!!!!!!!!J`GKFfYZB@eP!!!$ZJ!M!!!!!!%G!@!"-3'
X+ `"!P8C@e`Eh*KFRRq!!!!!!%G!#%"-3"a"!46BACP!!!!!!%G!-J"-3%B"!C$B@j
X+ MC@`!!!!!!'-!%3"c!)%&$%9iF'a[FQ8JE@pNC3!!!!!!B`##!(-!bJ8'4Q9YB@a
X+ P!!!!!!"M!-`!F`(-"5&%DA0`E'&j)%jPGh-JBA3J3Q9RD@jZD@jR)'pQ)%GKE@8
X+ -!!!!!!#-!!J!R!#)"3p'DAKPC#"*ERCPER4[FRP!!!!!!!#F!!J!V!#J"4&%DA0
X+ `E'&j)(4[E@*cG'pZC3J!!!!!!+`!#!#m!)JZSEhFJG'PYCAN!!!!!!,`!#!$
X+ -!*J&%&CPFQ*[Ff8JE@9cFf&RCA-!!!!!!-`!#!$F!*J&%90TE'9ZG#!SEQmJBQ9
X+ PF(-T%!!!!!!!h!!)!1`!Z!896A9XG'PQD@jNCA)J3A9dEbekEfpY9J!!!!!!l!!
X+ )!2`!J!8-5@jfCA*cC5"8CAKd!!!!!!#-!,J!R!%-"3P6Eh*d)&"KBfZB!!!!!!#
X+ F!,J!V!$i"39$Efa[FJJ!!!!!!+`!Z!#m!B`&(&"TBfYeF#"[BQTPBh4c)'&eG'p
X+ YBA4TBf&XE(N!!!!!!,`!Z!$-!6!&$d0[EQCTFQdJB@0dD@pZFdJ!!!!!!-`!Z!$
X+ F!4%ZKCQ8JF'9dFjJ!!!!!!0`!Z!$X!6%&$9*PFh3JEfiJFh"KBf9d!!!!!!!
X+ C!*J!+3'F%!4-DA0K!!!!!!!b!*J!3J'F%!9'FQPdHT`!!!!!!%X!Q!"E!C`3"9*
X+ [GQ9bc!!!!!!""!#J!43"T"!%8'9KFJ!!!!!!M!&T!*`"`4!+)LPE*6mV)5mS+J!
X+ !!!!!l!#i!2`"&SJ28f0[FQ8JE'PcG$SJG'p`$`!!!!!!l!%D!2`",K!"-aB!!!!
X+ !!1`"9J$m!@S3!6)@!!!!!!!&!+S!&3%dL"01CA4)B@0V)$-Z-#"2F(4TEfjc!!!
X+ !!!!!'3![!#N!M)J-8'aKH@9b)%jKE@8k!!!!!!!a!#m!33"rL!P$BA3J6Q&YC6V
X+ X!!!!!!"+!#m!@J#(L!P%EfFJ6Q&YC6ST!!!!!!"h!!S!L3%BL#C8D'9cC5"[F(4
X+ TEfjc)(4KDf8JC@CQC@0d)'PYE@9ND@&dC@aj1J!!!!!!l!%b!2`"8SJ$B@jNF!!
X+ !!!!!M!%)!*`"C)J0)#dJF'&MDfpbC'9b1QN!!!!!!33!4!%8!*H)#dCbG@Pd)%j
X+ KE@8k5`!!!!!!l!&[!2`"[iJ+BA*[G@jN)'eP,J!!!Mi!&J!!!!!!k!$L!2`"(J3
X+ #6dX!!!!!!!8!#!!C!'X)$&GSEb"KFQ8JH@pe2`!!!!!!(3!+!#d"1"!+4'&bE@&
X+ bB@jdD!!!!!!!0J!)!%B!i!JI9fKKG#"VD@jN)'pQ)'0SBA*KBh4PFL"KFQ8JH@p
X+ e2f8!!!!!!%J!#!"B!(-'$%&bBfKPEfa[CfPcG!!!!!!!A!!)!'`!F`B*3Q&bBQ&
X+ bD@&Z!!!!!!!!G!!)!)3!F`B)3f&fC5eYB@i!!!!!!)`!#!#F!(-'!d9XCS-!!!!
X+ !!%J!H!"B!-X'"NKPB@aPFJ!!!!!!A!"i!'`!bJB'5fjTCfKd!!!!!!"d!(J!K!$
X+ 0"JC3FQPPFh3!!!!!!)`!H!#F!-d'"9*[Ch9P!!!!!!!!5!$B!&J",3B(8f&YGA*
X+ KDA%!!!!!!&`!f!"`!5d'"e4[GA*TFh3!!!!!!!"d!0J!K!%Y"JK@B@aVHA*TC3!
X+ !!!!!M!$B!*`",3B'9fPkBA*N!!!!!!#N!!J!Y!$!"K4-CA3JG'KP)'GKE@8JBfK
X+ [Eh0P)!!!!!!!c!#3!!$F!8J&%d4PBR9R)#KA59T"8N3T)%e[C'@#!!!!!!$-!!J
X+ !h!"i"3a&H("XEh*P)'e[C'8!!!!!!+3!f!#d!5!&"NCPE@&XC3!!!!!!hJ!)!1i
X+ !d!8B4'PcF'aKH5"ZCAGc)'*PCQpbC5"RB@eP!!!!!!$`!!J"!!#3!!835R9cG#"
X+ cD'ph)(0MEh*PF`!!!!!![!!)!-d!8`J)6h"dD@pZFcS!!!!9!!!!!!%%!AF!!3!
X+ !!!!!!!!!m'!!!!!!l!!+!!!!!!#r!4i!d3&Z"!42F'9Z!!!!!!!!!MX!8!*0"!C
X+ )D@4NC@i!!!!!!0S"(`$X!@m%"N0KEQ0PE!!!!!!!*`%D!$S"Fi!!!!!!!!"%!5!
X+ !9J&`"!9&DQ9MG&m!!!!!!&d")!"[!A!%"84bDACPi!!!!!!!3`!-!28"&`!!!!!
X+ !!!!$!'d!&3#G!!!!!!!!!*B"'`#A!A1!!!!!!!!!!!)8!'8#G)J!!!!!!!!#!$!
X+ !*J&'#$03E'9KFf8JE'pMBA4PAM!JCQPXC9ia)&ib$@pb)("bCA0c)%0KEQ0PE#"
X+ dEb"KBQpbG#lA!!!"D!!(!!!!!!#E!$`!V`"i"!*25`!!!!!!Q`#i!+m"%J3*6@p
X+ bC5"*EQC[ZJ!!!!!!#J!F!"S"0N!#!'3!!!!!!%N!E3"E!1%)'&0PC5"XD@0PER0
X+ P)'C[FL"NCA4KD@ac,J!!!!!!)`!h!$-")3JY3fp`HA*TCfKd)$%j1$8X)$%j1$B
X+ X)$%j1$FX)$%j1$JX)$%j1$NX)$%j16!Z1J!!!!!!-`!P!%8"3`Jf3RNJ8h4TBfK
X+ dD@jR)%eKG'KPE@&dDA0MD#"$C@jdFR9Y)'&ZC#"0D@YP)&0dCA"SC@jcEfiZ!!!
X+ !!!"G!$)!E`%P#$0#G@FJFQ9`Eh*dFb!Y)'9YB@PX)'jPG'KKBfXYBR9RFd"XD@j
X+ M,Q0TFbjeF'9ZELjPC(8Z!!!!!!"d!#-!K!%fL$K#FQpeCfKd)(4[)(P[G5"LH5"
X+ +EfKZERNX)%T[EL`J3@jNH5`J5f9fD@iX)%eTDf8JB@jN)&4[E3!!!&X!@`#8!,i
X+ !Z3%I%3'J&0kK&0i!+!!$k(`!!qJJ!*3![J#j!4m!"3!"!!!!!`!B!"J`'!!-!!!
X+ !!!"e)&m"!!S!P!#q!,N"(`F!"3!&#`!B!"K!!*3![J#j!4rr!!!"!!!!00)!!$2
X+ 5!!!%p!!`ca!)&J!!!"`$2J!-8%P$9!!"!'TZD$-`!!!!JNe&6P8!"J#168&XG!!
X+ "!1**3diM!!B!qNK%9%%!#J&14P*&4J!'!G*'6dj8!!)#*NC26N3!!!*+4%a24`!
X+ $!PC%594-!!-#KN098P-!"`+f3Nj%6!!!!aB!C2rr!!!!!!!!!!!6M[rr!!!cF`!
X+ aG&J!!2rr!!!#8!!!!!!!CJ!!!!!Sa!!!!!!!C`!&!!!#H`!!!!!!D!!+!!!#b`!
X+ !!!!!D3!8!!!$H3!!!!!!DJ!E!!!%%!!!!!!!D`!J!!!%e3!!!!!!E!!P!!!&F3!
X+ !!!!!J!!h!!!'A`!!!!!!J3!m!!!(l3!!!!!!J3"#)!!*H`!!!!!!JJ"0)!!+I`!
X+ !!!!!J`"D)!!,J`!!!!!!K3&l)!!-K`!!!!!!K!&M)!!Q[!!!!!!!J!&[)!!R`!!
X+ !!!!!KJ'+!!!TA`!!!!!!b3"Q!!!0L`!!!!!!bJ"a!!!0N3!!!!!!c!"l!!!0RJ!
X+ !!!!!c3#+!!!0UJ!!!!!!cJ#A!!!0Y3!!!!!!c`#T!!!0``!!!!!!b`#h!!!0d!!
X+ !!!!!d!$"!!!0fJ!!!!!!CJ$6!!!0l!!!!!!!C`$F!!!1&!!!!!!!C2rr!!!19J!
X+ !!!!!J!$M!!!1D3!!!!!!J3$[!!!1G!!!!!!!JJ$q!!!1I`!!!!!!J`%,!!!1LJ!
X+ !!!!!K!%E!!!1P3!!!!!!K3&8!!!QX3!!!!!!KJ'8!!!UX`!!!!",LIrr)!!1S!!
X+ !!!",M2rr!!!B,!!!!!",!!%Q!!!N$J!!!!!!P`%Y"!!N%J!!!!!!J3%f!!!N@!!
X+ !!!!!JJ'H!!!U[J!!!!!!J`'Z!!!UhJ!aG&$`B2rr!!!`rJ!!!!!!JIrr!!!b"`!
X+ !!!!!J[rr!!!UrJ!!!!!!J`'Q!!!Z[!!!!!$`B2rr!!!a&`!!!!!!C2rr!!!NF3!
X+ !!!!!Drrr!!!NZ3!!!!!!CIrr!!!P!3!!!!!!C[rr!!!P53!!!!!!Crrr!!!PN3!
X+ !!!!!D2rr!!!Pf3!!!!!!DIrr!!!Q)3!!!!!!D[rr!!!QD3!!!!!!J!&%!!!UB`!
X+ !!!!%4QPXC34&C'Pd#8PZGQ9ZG'pbH3C"Bh4TEfi%8(*PF!40EhCP%89iG'9ZC'9
X+ N)%0[E@eKEQ4c"&P1+#N&@8j4+#N+8f&fC@3J4f&YC3a&H("XEh*P)%GKE@8,8f&
X+ fC@3J6'9fC@`+3A"`E'8JE@9ZG3P'D@aP)'ePER815@jfC@jdEh*j)'ePER8-3@0
X+ dD@pZFb"YC@je%9"bCA"KFQ&dD@pZFb"YC@je$8e[GQ9YC@jd)'ePER8*4@4TG#"
X+ YC@je%89iG'9ZC'9N)%0[E@eKEQ4c#'GbBA"SD@0c"QYPH@eKF!Y"F("XD@0KG'P
X+ [EJj6BACP)%0SBA)J4QPXC3a&H("XEh*P)'CTE'826'9fC@`J9'9YF#"'D@aP#N*
X+ [EQ9c)%CTE'8'HR3YD@*Y#%KKBfY'Efjd$8&LEh9d)%jPG%KKBfX26Q9d5'&MDb"
X+ QEh)J6@&M$N&eH'PXD@&bH5"'D@aP#d*[EQ9c)%aPGQ9X#d&`F'aTBf&dD@pZ$N&
X+ eH'PXD@&bH5"'D@aP#94&@&3JCQPXC3P849K8)'CTE'8(6h"dD@pZF`GKFfYZB@e
X+ P"f&cDfjKE@9&6!:
X*** /dev/null Tue Feb 20 01:29:52 1990
X--- auxil/MacHelp Tue Feb 6 16:33:54 1990
X***************
X*** 0
X
X--- 1,35 -----
X+ y k u 7 8 9 UP
X+ \|/ \|/ |
X+ h-.-l 4-.-6 LEFT<- ->RIGHT
X+ /|\ /|\ |
X+ b j n 1 2 3 DOWN
X+ numberpad cursor keys
X+ Move commands:
X+ yuhjklbn: go one step in specified direction
X+ YUHJKLBN: go in specified direction until you
X+ hit a wall or run into something
X+ g<dir>: run in direction <dir> until something
X+ interesting is seen
X+ G<dir>,
X+ [SHIFT]<dir>: same, except a branching corridor isn't considered
X+ interesting
X+ m<dir>: move without picking up objects
X+
X+ If the window title shows "[MOVE]", the number keys move your character,
X+ otherwise they act as a numeric keypad.
X+ The 'g', 'G', '[SHIFT]' and 'm' modifiers may also be used with the
X+ numberpad and the cursor keys.
X+ The mouse cursor shows which direction you will try to move if you
X+ press the mouse button when the mouse is in the Nethack window. You may
X+ use the 'g', 'G', '[SHIFT]' and 'm' modifiers with the mouse button too.
X+ The '5' key on the numberpad invokes the "open door" command.
X+ The '0' key on the numberpad invokes the "do inventory" command.
X+
X+ For pre-ADB keyboards (Mac+ keyboards and earlier), use the Command key
X+ for the Control key and the "`" (backquote) key for the escape key.
X+
X+ Press the clear key (on the numberpad) to switch between movement mode
X+ and numeric keypad mode.
X+
X+ The option key is the meta-key. For option-n, press option-shift-n and
X+ for option-u, press option-shift-u.
X*** Old/Files Sun Nov 19 20:58:09 1989
X--- ./Files Mon Feb 19 14:07:54 1990
X***************
X*** 5,12
X
X
X (files in top directory)
X! Files Install.dos Install.unix Makefile.top Porting
X! README
X
X
X amiga:
X
X--- 5,12 -----
X
X
X (files in top directory)
X! Files Install.ami Install.dos Install.mac Install.unix
X! Install.vms Makefile.top Porting README
X
X amiga:
X (files for Amiga version)
X***************
X*** 8,14
X Files Install.dos Install.unix Makefile.top Porting
X README
X
X-
X amiga:
X (files for Amiga version)
X Install.ami Makefile.ami NetHack.cnf ami.lnk amidos.c
X
X--- 8,13 -----
X Files Install.ami Install.dos Install.mac Install.unix
X Install.vms Makefile.top Porting README
X
X amiga:
X (files for Amiga version)
X Makefile.ami NHScore.uu NHinfo.uu NetHack.cnf NewGame.uu
X***************
X*** 11,19
X
X amiga:
X (files for Amiga version)
X! Install.ami Makefile.ami NetHack.cnf ami.lnk amidos.c
X! amifont.uu amifont8.uu amimenu.c amitcap.c amitty.c
X! amiunix.c amiwind.c fcntl.h signal.h stdio.h
X
X
X auxil:
X
X--- 10,19 -----
X
X amiga:
X (files for Amiga version)
X! Makefile.ami NHScore.uu NHinfo.uu NetHack.cnf NewGame.uu
X! ami.lnk amidos.c amifont.uu amifont8.uu amimenu.c
X! amitcap.c amitty.c amiunix.c amiwbench.c amiwind.c
X! compact.lat dflticon.uu
X
X auxil:
X (files for all versions)
X***************
X*** 15,21
X amifont.uu amifont8.uu amimenu.c amitcap.c amitty.c
X amiunix.c amiwind.c fcntl.h signal.h stdio.h
X
X-
X auxil:
X (files for all versions)
X Guidebook.mn castle.des cmdhelp data.base endgame.des
X
X--- 15,20 -----
X amitcap.c amitty.c amiunix.c amiwbench.c amiwind.c
X compact.lat dflticon.uu
X
X auxil:
X (files for all versions)
X Guidebook.mn castle.des cmdhelp data.base endgame.des
X***************
X*** 23,28
X oracles rumors.fal rumors.tru tower.des
X (files for UNIX versions)
X Makefile.auxil lev_comp.6 nethack.6 nethack.sh
X
X
X others:
X
X--- 22,29 -----
X oracles rumors.fal rumors.tru tower.des
X (files for UNIX versions)
X Makefile.auxil lev_comp.6 nethack.6 nethack.sh
X+ (file for Macintosh version)
X+ MacHelp
X
X include:
X (files for all versions)
X***************
X*** 24,29
X (files for UNIX versions)
X Makefile.auxil lev_comp.6 nethack.6 nethack.sh
X
X
X others:
X (files for MSDOS version)
X
X--- 25,44 -----
X (file for Macintosh version)
X MacHelp
X
X+ include:
X+ (files for all versions)
X+ MacAlert.h amiconf.h artifact.h attrib.h color.h
X+ config.h coord.h decl.h def_os2.h edog.h
X+ epri.h eshk.h extern.h flag.h func_tab.h
X+ global.h gold.h hack.h lev.h macconf.h
X+ mfndpos.h mkroom.h monattk.h mondata.h monflag.h
X+ monst.h monsym.h msdos.h obj.h objclass.h
X+ patchlevel.h pcconf.h permonst.h prop.h rm.h
X+ sp_lev.h spell.h system.h termcap.h tosconf.h
X+ tradstdc.h trampoli.h trap.h unixconf.h vault.h
X+ vmsconf.h wseg.h you.h youprop.h
X+ (file for special level compiler (STRONGHOLD option))
X+ lev_comp.h
X
X mac:
X (files for Macintosh version)
X***************
X*** 25,30
X Makefile.auxil lev_comp.6 nethack.6 nethack.sh
X
X
X others:
X (files for MSDOS version)
X Make.ini Makefile.msc Makefile.os2 Makefile.ovl Makefile.pc
X
X--- 40,50 -----
X (file for special level compiler (STRONGHOLD option))
X lev_comp.h
X
X+ mac:
X+ (files for Macintosh version)
X+ MD.rsrc.hqx MacAlert.c NH3.proj.hqx NH3.rsrc.hqx Segments.mac
X+ mac.c macfile.c macinit.c
X+
X others:
X (files for MSDOS version)
X Makefile.lib Makefile.msc Makefile.os2 Makefile.ovl Makefile.pc
X***************
X*** 27,35
X
X others:
X (files for MSDOS version)
X! Make.ini Makefile.msc Makefile.os2 Makefile.ovl Makefile.pc
X! Makefile.tcc Maketcc.ini NetHack.cnf ovlmgr.asm ovlmgr.doc
X! ovlmgr.uu termcap termcap.uu trampoli.c
X (files for MSDOS, Amiga, and Atari versions)
X pcmain.c pctty.c pcunix.c
X (file for MSDOS and new Atari versions)
X
X--- 47,55 -----
X
X others:
X (files for MSDOS version)
X! Makefile.lib Makefile.msc Makefile.os2 Makefile.ovl Makefile.pc
X! Makefile.tcc NetHack.cnf ovlmgr.asm ovlmgr.doc ovlmgr.uu
X! termcap termcap.uu trampoli.c
X (files for MSDOS, Amiga, and Atari versions)
X lev_lex.c pcmain.c pctty.c pcunix.c
X (file for MSDOS and Atari versions)
X***************
X*** 31,38
X Makefile.tcc Maketcc.ini NetHack.cnf ovlmgr.asm ovlmgr.doc
X ovlmgr.uu termcap termcap.uu trampoli.c
X (files for MSDOS, Amiga, and Atari versions)
X! pcmain.c pctty.c pcunix.c
X! (file for MSDOS and new Atari versions)
X msdos.c
X (files for new Atari version)
X Makefile.st atari.cnf atarifnt.uue
X
X--- 51,58 -----
X Makefile.tcc NetHack.cnf ovlmgr.asm ovlmgr.doc ovlmgr.uu
X termcap termcap.uu trampoli.c
X (files for MSDOS, Amiga, and Atari versions)
X! lev_lex.c pcmain.c pctty.c pcunix.c
X! (file for MSDOS and Atari versions)
X msdos.c
X (files for Atari version)
X Makefile.st atari.cnf atarifnt.uue
X***************
X*** 34,40
X pcmain.c pctty.c pcunix.c
X (file for MSDOS and new Atari versions)
X msdos.c
X! (files for new Atari version)
X Makefile.st atari.cnf atarifnt.uue
X (file for old Atari version)
X oldtos.c
X
X--- 54,60 -----
X lev_lex.c pcmain.c pctty.c pcunix.c
X (file for MSDOS and Atari versions)
X msdos.c
X! (files for Atari version)
X Makefile.st atari.cnf atarifnt.uue
X (Berkeley random number file, which may be included in any version)
X random.c
X***************
X*** 36,43
X msdos.c
X (files for new Atari version)
X Makefile.st atari.cnf atarifnt.uue
X- (file for old Atari version)
X- oldtos.c
X (Berkeley random number file, which may be included in any version)
X random.c
X
X
X--- 56,61 -----
X msdos.c
X (files for Atari version)
X Makefile.st atari.cnf atarifnt.uue
X (Berkeley random number file, which may be included in any version)
X random.c
X
X***************
X*** 41,62
X (Berkeley random number file, which may be included in any version)
X random.c
X
X-
X- include:
X- (files for all versions)
X- amiconf.h artifact.h attrib.h color.h config.h
X- coord.h decl.h def_os2.h edog.h epri.h
X- eshk.h extern.h flag.h func_tab.h global.h
X- gold.h hack.h lev.h macconf.h mfndpos.h
X- mkroom.h monattk.h mondata.h monflag.h monst.h
X- monsym.h msdos.h obj.h objclass.h patchlevel.h
X- pcconf.h permonst.h prop.h rm.h sp_lev.h
X- spell.h system.h termcap.h tosconf.h tradstdc.h
X- trampoli.h trap.h trapname.h unixconf.h vault.h
X- vmsconf.h wseg.h you.h youprop.h
X- (file for special level compiler (STRONGHOLD option))
X- lev_comp.h
X-
X src:
X (files for all versions)
X allmain.c alloc.c apply.c artifact.c attrib.c
X
X--- 59,64 -----
X (Berkeley random number file, which may be included in any version)
X random.c
X
X src:
X (files for all versions)
X allmain.c alloc.c apply.c artifact.c attrib.c
X***************
X*** 84,90
X
X vms:
X (files for VMS version)
X! Install.vms spec_lev.com vmsbuild.com vmsmain.c vmsmisc.c
X vmstty.c vmsunix.c
X (GNU termcap files that support VMS version)
X vmstermcap.c vmstparam.c
X
X--- 86,92 -----
X
X vms:
X (files for VMS version)
X! Install.com spec_lev.com vmsbuild.com vmsmain.c vmsmisc.c
X vmstty.c vmsunix.c
X (GNU termcap files that support VMS version)
X vmstermcap.c vmstparam.c
X***************
X*** 88,95
X vmstty.c vmsunix.c
X (GNU termcap files that support VMS version)
X vmstermcap.c vmstparam.c
X-
X- mac:
X- (files for Macintosh version)
X- Install.mac Makedefs.rma Nethack.rma Segments.mac hackfont.hqx
X- mac.c macfile.c macinit.c makedefs.r nethack.r
X
X--- 90,92 -----
X vmstty.c vmsunix.c
X (GNU termcap files that support VMS version)
X vmstermcap.c vmstparam.c
X*** Old/mac/Segments.mac Sun Nov 19 21:01:33 1989
X--- mac/Segments.mac Mon Jan 29 23:49:38 1990
X***************
X*** 20,26
X cmd.c
X getline.c
X mac.c
X- macfile.c
X MacTraps
X pcmain.c
X prisym.c
X
X--- 20,25 -----
X cmd.c
X getline.c
X mac.c
X MacTraps
X pcunix.c
X random.c
X***************
X*** 22,29
X mac.c
X macfile.c
X MacTraps
X! pcmain.c
X! prisym.c
X random.c
X rnd.c
X termcap.c
X
X--- 21,27 -----
X getline.c
X mac.c
X MacTraps
X! pcunix.c
X random.c
X rnd.c
X termcap.c
X***************
X*** 27,32
X random.c
X rnd.c
X termcap.c
X
X ===== Seg 2 =====
X apply.c
X
X--- 25,31 -----
X random.c
X rnd.c
X termcap.c
X+ topl.c
X
X ===== Seg 2 =====
X mkobj.c
X***************
X*** 29,37
X termcap.c
X
X ===== Seg 2 =====
X! apply.c
X! attrib.c
X! do.c
X
X ===== Seg 3 =====
X dog.c
X
X--- 28,40 -----
X topl.c
X
X ===== Seg 2 =====
X! mkobj.c
X! mkroom.c
X! mon.c
X! mondata.c
X! monmove.c
X! track.c
X! were.c
X
X ===== Seg 3 =====
X engrave.c
X***************
X*** 34,44
X do.c
X
X ===== Seg 3 =====
X! dog.c
X! dogmove.c
X! dokick.c
X! dothrow.c
X! do_name.c
X hack.c
X
X ===== Seg 4 =====
X
X--- 37,43 -----
X were.c
X
X ===== Seg 3 =====
X! engrave.c
X hack.c
X invent.c
X mthrowu.c
X***************
X*** 40,45
X dothrow.c
X do_name.c
X hack.c
X
X ===== Seg 4 =====
X do_wear.c
X
X--- 39,46 -----
X ===== Seg 3 =====
X engrave.c
X hack.c
X+ invent.c
X+ mthrowu.c
X
X ===== Seg 4 =====
X dbridge.c
X***************
X*** 42,49
X hack.c
X
X ===== Seg 4 =====
X! do_wear.c
X! eat.c
X shk.c
X shknam.c
X
X
X--- 43,55 -----
X mthrowu.c
X
X ===== Seg 4 =====
X! dbridge.c
X! dog.c
X! dogmove.c
X! pri.c
X! priest.c
X!
X! ===== Seg 5 =====
X shk.c
X shknam.c
X trap.c
X***************
X*** 46,51
X eat.c
X shk.c
X shknam.c
X
X ===== Seg 5 =====
X engrave.c
X
X--- 52,58 -----
X ===== Seg 5 =====
X shk.c
X shknam.c
X+ trap.c
X
X ===== Seg 6 =====
X stdio [LIB]
X***************
X*** 47,60
X shk.c
X shknam.c
X
X- ===== Seg 5 =====
X- engrave.c
X- exper.c
X- extralev.c
X- fountain.c
X- invent.c
X- vault.c
X-
X ===== Seg 6 =====
X lock.c
X makemon.c
X
X--- 54,59 -----
X shknam.c
X trap.c
X
X ===== Seg 6 =====
X stdio [LIB]
X storage [LIB]
X***************
X*** 56,65
X vault.c
X
X ===== Seg 6 =====
X! lock.c
X! makemon.c
X! mcastu.c
X! mhitm.c
X
X ===== Seg 7 =====
X mhitu.c
X
X--- 55,65 -----
X trap.c
X
X ===== Seg 6 =====
X! stdio [LIB]
X! storage [LIB]
X! strings [LIB]
X! Math [LIB]
X! unix [LIB]
X
X ===== Seg 7 =====
X makemon.c
X***************
X*** 62,69
X mhitm.c
X
X ===== Seg 7 =====
X! mhitu.c
X! uhitm.c
X
X ===== Seg 8 =====
X mklev.c
X
X--- 62,71 -----
X unix [LIB]
X
X ===== Seg 7 =====
X! makemon.c
X! mkmaze.c
X! prisym.c
X! read.c
X
X ===== Seg 8 =====
X artifact.c
X***************
X*** 66,75
X uhitm.c
X
X ===== Seg 8 =====
X! mklev.c
X! mkobj.c
X! mkroom.c
X! mon.c
X
X ===== Seg 9 =====
X mondata.c
X
X--- 68,79 -----
X read.c
X
X ===== Seg 8 =====
X! artifact.c
X! attrib.c
X! search.c
X! sounds.c
X! timeout.c
X! wizard.c
X
X ===== Seg 9 =====
X mhitu.c
X***************
X*** 72,82
X mon.c
X
X ===== Seg 9 =====
X! mondata.c
X! monmove.c
X! mthrowu.c
X! music.c
X! objnam.c
X
X ===== Seg 10 =====
X pager.c
X
X--- 76,82 -----
X wizard.c
X
X ===== Seg 9 =====
X! mhitu.c
X
X ===== Seg 10 =====
X do_name.c
X***************
X*** 79,85
X objnam.c
X
X ===== Seg 10 =====
X! pager.c
X pickup.c
X polyself.c
X potion.c
X
X--- 79,85 -----
X mhitu.c
X
X ===== Seg 10 =====
X! do_name.c
X pickup.c
X weapon.c
X
X***************
X*** 81,88
X ===== Seg 10 =====
X pager.c
X pickup.c
X! polyself.c
X! potion.c
X
X ===== Seg 11 =====
X pray.c
X
X--- 81,87 -----
X ===== Seg 10 =====
X do_name.c
X pickup.c
X! weapon.c
X
X ===== Seg 11 =====
X mcastu.c
X***************
X*** 85,93
X potion.c
X
X ===== Seg 11 =====
X! pray.c
X! pri.c
X! priest.c
X
X ===== Seg 12 =====
X read.c
X
X--- 84,92 -----
X weapon.c
X
X ===== Seg 11 =====
X! mcastu.c
X! mhitm.c
X! polyself.c
X
X ===== Seg 12 =====
X lock.c
X***************
X*** 90,103
X priest.c
X
X ===== Seg 12 =====
X! read.c
X! restore.c
X! rumors.c
X! save.c
X! search.c
X! sit.c
X! sounds.c
X! spell.c
X
X ===== Seg 13 =====
X sp_lev.c
X
X--- 89,96 -----
X polyself.c
X
X ===== Seg 12 =====
X! lock.c
X! vault.c
X
X ===== Seg 13 =====
X decl.c
X***************
X*** 100,128
X spell.c
X
X ===== Seg 13 =====
X- sp_lev.c
X- steal.c
X- timeout.c
X- topl.c
X- track.c
X- trap.c
X- weapon.c
X- were.c
X- wield.c
X-
X- ===== Seg 14 =====
X- Math [LIB]
X- unix [LIB]
X- worn.c
X- write.c
X- zap.c
X-
X- ===== Seg 15 =====
X- stdio [LIB]
X- storage [LIB]
X- strings [LIB]
X-
X- ===== Seg 16 =====
X decl.c
X macinit.c
X monst.c
X
X--- 93,98 -----
X vault.c
X
X ===== Seg 13 =====
X decl.c
X macfile.c
X macinit.c
X***************
X*** 124,129
X
X ===== Seg 16 =====
X decl.c
X macinit.c
X monst.c
X objects.c
X
X--- 94,100 -----
X
X ===== Seg 13 =====
X decl.c
X+ macfile.c
X macinit.c
X monst.c
X objects.c
X***************
X*** 129,134
X objects.c
X options.c
X o_init.c
X u_init.c
X version.c
X
X
X--- 100,107 -----
X objects.c
X options.c
X o_init.c
X+ pcmain.c
X+ pctty.c
X u_init.c
X version.c
X
X***************
X*** 132,137
X u_init.c
X version.c
X
X ===== Seg 17 =====
X end.c
X pctty.c
X
X--- 105,125 -----
X u_init.c
X version.c
X
X+ ===== Seg 14 =====
X+ apply.c
X+ exper.c
X+
X+ ===== Seg 15 =====
X+ dothrow.c
X+ sit.c
X+ wield.c
X+ worn.c
X+ write.c
X+
X+ ===== Seg 16 =====
X+ pager.c
X+ rumors.c
X+
X ===== Seg 17 =====
X demon.c
X do.c
X***************
X*** 133,138
X version.c
X
X ===== Seg 17 =====
X end.c
X pctty.c
X pcunix.c
X
X--- 121,132 -----
X rumors.c
X
X ===== Seg 17 =====
X+ demon.c
X+ do.c
X+ steal.c
X+ worm.c
X+
X+ ===== Seg 18 =====
X end.c
X rip.c
X topten.c
X***************
X*** 134,141
X
X ===== Seg 17 =====
X end.c
X- pctty.c
X- pcunix.c
X rip.c
X topten.c
X
X
X--- 128,133 -----
X
X ===== Seg 18 =====
X end.c
X rip.c
X topten.c
X
X***************
X*** 139,146
X rip.c
X topten.c
X
X! ===== Seg 18 =====
X! artifact.c
X bones.c
X dbridge.c
X demon.c
X
X--- 131,156 -----
X rip.c
X topten.c
X
X! ===== Seg 19 =====
X! fountain.c
X! potion.c
X!
X! ===== Seg 20 =====
X! pray.c
X!
X! ===== Seg 21 =====
X! sp_lev.c
X!
X! ===== Seg 22 =====
X! mklev.c
X! restore.c
X! save.c
X!
X! ===== Seg 23 =====
X! music.c
X! spell.c
X!
X! ===== Seg 24 =====
X bones.c
X MacAlert.c
X
X***************
X*** 142,149
X ===== Seg 18 =====
X artifact.c
X bones.c
X! dbridge.c
X! demon.c
X! mkmaze.c
X! wizard.c
X! worm.c
X
X--- 152,176 -----
X
X ===== Seg 24 =====
X bones.c
X! MacAlert.c
X!
X! ===== Seg 25 =====
X! do_wear.c
X!
X! ===== Seg 26 =====
X! extralev.c
X!
X! ===== Seg 27 =====
X! dokick.c
X!
X! ===== Seg 28 =====
X! zap.c
X!
X! ===== Seg 29 =====
X! eat.c
X!
X! ===== Seg 30 =====
X! uhitm.c
X!
X! ===== Seg 31 =====
X! objnam.c
X
END_OF_FILE
if test 56824 -ne `wc -c <'patch7.22'`; then
echo shar: \"'patch7.22'\" unpacked with wrong size!
fi
# end of 'patch7.22'
echo shar: End of archive 4 \(of 30\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 30 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0