Annotation of researchv10no/cmd/worm/scsi/scsi.cpio, revision 1.1

1.1     ! root        1: 0707070035050375121006660011710000040000010653710464714144700000700000003143README    This is a simple extensible shell (scsish) for poking at scsi
        !             2: devices, particularly the simpler kinds commonly called toasters.
        !             3: it is supposed to be self-documenting in use; try the help command.
        !             4: my use of the moran-dronek /dev/scsi library is still imperfect;
        !             5: there is still some some debugging showing.
        !             6: 
        !             7:        To compile, you first need mk. you then have to pick a system type
        !             8: to set some flags; currently we support research and sgi.
        !             9: yours may differ, particularly as no one else has our ansi C compiler for the sgi.
        !            10: the only problem i would expect is the normal header file crap you get
        !            11: mixing ansi and non-ansi files. i recommend setting NPROC=1 while debugging hdr files.
        !            12: if you change (header) files, try putting them in the directory inc
        !            13: (then others may benefit). To support a new system (say sgi-gcc), just create
        !            14: a new file sgi-gcc.mk and so on. you may be missing some devices in
        !            15: your /dev/scsi; the script scsi/gendev may help (but check the major/minor
        !            16: numbers and permissions).
        !            17: 
        !            18:        As for modifying/extending scsish, it has been designed to be not too hard.
        !            19: Adding a new device means adding a new set of rules (like the other rules)
        !            20: to mkfile and creating a new directory (say exabyte) and at least two files in it
        !            21: (dev.c and fns.h). The wren directory is a small example you can clone.
        !            22: Adding new functions to any device means updating a file list in mkfile,
        !            23: updating dev.c and fns.h in the device directory. The argument syntax
        !            24: scheme is arguably pokey, but liveable. at some future point we should probably
        !            25: switch over to osterhout's tcl.
        !            26: 
        !            27:        as always, i invite you send extensions/fixes etc back to
        !            28: [email protected]
        !            29: 0707070035050375111006660011710000040000010653730457563432000000500000000565TODO      |       COPY drive NUMBER NUMBER drive NUMBER {/*:COPY sdrive sstart nblocks ddrive dstart:: */
        !            30:                        s_copy($2, $3, $4, $5, $6);
        !            31:                }
        !            32:        |       READ drive NUMBER  {
        !            33:                        struct scsi_ret output;
        !            34:                        s_read($2, $3, 1, &output);
        !            35:                        scsiodump(output.data, 1024);
        !            36:                }
        !            37:        |       WRITE drive NUMBER { s_write($2, $3, 1); }
        !            38:        |       WRITE drive NUMBER NUMBER { s_write($2, $3, $4); } /*:WRITE drive start n:: */
        !            39: 0707070035050406411006660011710000040000010511250474377127600001300000002245allocate.c#define _POSIX_SOURCE
        !            40: #include       <stddef.h>
        !            41: #include       <stdlib.h>
        !            42: #include       <unistd.h>
        !            43: #include       <stdio.h>
        !            44: #include       <string.h>
        !            45: #include       <errno.h>
        !            46: #include       <time.h>
        !            47: #include       "jukeface.h"
        !            48: #include       "jukebox.h"
        !            49: 
        !            50: allocate(Jukebox *j, char *vol_id, char *buf)
        !            51: {
        !            52:        int drive, sh;
        !            53:        char nbuf[512];
        !            54:        
        !            55:        if(j_rdshelves(j, buf)) /* read in shelf names */
        !            56:                return(-1);
        !            57:        if(j_shstatus(j, buf))  /* get the jukebox status */
        !            58:                return(-1);
        !            59:        sh = j_shelfof(j, vol_id);
        !            60:        if(sh >= 0){
        !            61:                sprintf(buf, "there is an existing '%s' on shelf %d", vol_id, sh);
        !            62:                return(-1);
        !            63:        }
        !            64:        sh = j_shelfof(j, UNALLOCATED);
        !            65:        if(sh < 0){
        !            66:                sprintf(buf, "no unallocated disks");
        !            67:                return(-1);
        !            68:        }
        !            69:        printf("using unallocated disk from shelf %d\n", sh);
        !            70:        drive = j->nluns-1;
        !            71:        if(j_sh_to_dr(sh, SIDEB, drive, buf) < 0)
        !            72:                return(-1);
        !            73:        sprintf(nbuf, "%sb", vol_id);
        !            74:        if(j_wvolid(drive, nbuf, buf))
        !            75:                return(-1);
        !            76:        j_wrshelf = 1;
        !            77:        j->names[sh] = strdup(vol_id);
        !            78:        j->shelves[sh] = 1;
        !            79:        if(j_dr_to_sh(drive, sh, SIDEB, buf) < 0)
        !            80:                return(-1);
        !            81:        if(j_sh_to_dr(sh, SIDEA, drive, buf) < 0)
        !            82:                return(-1);
        !            83:        sprintf(nbuf, "%sa", vol_id);
        !            84:        if(j_wvolid(drive, nbuf, buf))
        !            85:                return(-1);
        !            86:        if(j_dr_to_sh(drive, sh, SIDEA, buf) < 0)
        !            87:                return(-1);
        !            88:        return(0);
        !            89: }
        !            90: 0707070035050550721006660011710000040000011772350474343203100000600000000761arg.h/*
        !            91:  * argument processing
        !            92:  */
        !            93: #define        ARGBEGIN        for((argv0? 0: (argv0=*argv)),argv++,argc--;\
        !            94:                            argv[0] && argv[0][0]=='-' && argv[0][1];\
        !            95:                            argc--, argv++) {\
        !            96:                                char *_args, *_argt, _argc;\
        !            97:                                _args = &argv[0][1];\
        !            98:                                if(_args[0]=='-' && _args[1]==0){\
        !            99:                                        argc--; argv++; break;\
        !           100:                                }\
        !           101:                                while(*_args) switch(_argc=*_args++)
        !           102: #define        ARGEND          }
        !           103: #define        ARGF()          (_argt=_args, _args="",\
        !           104:                                (*_argt? _argt: argv[1]? (argc--, *++argv): 0))
        !           105: #define        ARGC()          _argc
        !           106: extern char *argv0;
        !           107: 0707070035050554471006660011710000040000010651520467171415300000400000000120c.ctypedef int (*fn)(struct x *);
        !           108: extern int fn1(struct x *);
        !           109: extern fn *fp = fn1;
        !           110: 0707070035050421771006660011710000040000010011270477113511400000700000011124cold.c#define     _POSIX_SOURCE
        !           111: #include       <stddef.h>
        !           112: #include       <stdlib.h>
        !           113: #include       <unistd.h>
        !           114: #include       <stdio.h>
        !           115: #include       <string.h>
        !           116: #include       <ctype.h>
        !           117: #include       "jukeface.h"
        !           118: #include       "jukebox.h"
        !           119: #include       "tcl.h"
        !           120: #include       "generic/fns.h"
        !           121: 
        !           122: static sort(char *buf);
        !           123: 
        !           124: j_cold(Jukebox *j, char *type, char *err)
        !           125: {
        !           126:        int side;
        !           127:        int drive, sh, nsh;
        !           128:        int n;
        !           129:        char vol_id[512];
        !           130:        char *didit;
        !           131: 
        !           132:        if(j_drstatus(j, err))
        !           133:                return(-1);
        !           134: printf("drstatus done\n");
        !           135:        if(j_shstatus(j, err))
        !           136:                return(-1);
        !           137: printf("shstatus done\n");
        !           138:        /* first clear out nonexistent labels */
        !           139:        n = 0;
        !           140:        didit = (char *)malloc(j->nshelves*sizeof(char));
        !           141:        for(sh = 0; sh < j->nshelves; sh++){
        !           142:                if(j->shelves[sh]){
        !           143:                        n++;
        !           144:                        j->names[sh] = "there";
        !           145:                } else
        !           146:                        j->names[sh] = 0;
        !           147:                didit[sh] = 0;
        !           148:        }
        !           149:        printf("%d disks in shelves.\n", n);
        !           150:        /* second, clear the drives */
        !           151:        for(sh = 0; sh < j->nshelves; sh++)
        !           152:                if(j->shelves[sh] == 0)
        !           153:                        break;
        !           154:        for(drive = 0; drive < j->nluns; drive++){
        !           155:                if(!j->luns[drive].occupied)
        !           156:                        continue;               /* no disk in drive */
        !           157: printf("clearing drive %d:\n", drive);
        !           158:                if(j->luns[drive].shelf < 0){
        !           159:                        if(j_dr_to_sh(drive, sh, SIDEA, err))
        !           160:                                return(-1);
        !           161:                        for(sh++; sh < j->nshelves; sh++)
        !           162:                                if(j->shelves[sh] == 0)
        !           163:                                        break;
        !           164:                        n++;
        !           165:                } else
        !           166:                        if(j_dr_to_sh(drive, -1, SIDEA, err))
        !           167:                                return(-1);
        !           168:        }
        !           169:        if(isdigit(*type)){     /* just do one shelf */
        !           170:                sh = atol(type);
        !           171:                printf("single shelf %d reload\n", sh);
        !           172:                if(j_rdshelves(j, err))
        !           173:                        return(-1);
        !           174:                if(getvol(sh, drive, vol_id, &side)){
        !           175:                        strcpy(err, vol_id);
        !           176:                        return(-1);
        !           177:                }
        !           178:                printf("%s@%d -> %d\n", vol_id, sh, sh);
        !           179:                if(j_dr_to_sh(drive, -1, side, err) < 0)
        !           180:                        return(-1);
        !           181:                j->names[sh] = strdup(vol_id);
        !           182:                j->shelves[sh] = 1;
        !           183:                j_wrshelf = 1;
        !           184:                return(0);
        !           185:        }
        !           186:        printf("reloading %d disks.\n", n);
        !           187:        side = SIDEA;
        !           188:        drive = j->nluns-1;
        !           189:        j_wrshelf = 1;
        !           190:        for(sh = 0; sh < j->nshelves; sh++){
        !           191:                if(didit[sh])
        !           192:                        continue;
        !           193:                j->names[sh] = 0;
        !           194:                if(j->shelves[sh]){
        !           195:                        printf("%d: ", sh); fflush(stdout);
        !           196:                        if(getvol(sh, drive, vol_id, &side)){
        !           197:                                strcpy(err, vol_id);
        !           198:                                return(-1);
        !           199:                        }
        !           200:                        j->shelves[sh] = 0;
        !           201:                        switch(*type)
        !           202:                        {
        !           203:                        case 'c':
        !           204:                                for(nsh = 0; j->shelves[nsh]; nsh++)
        !           205:                                        ;
        !           206:                                break;
        !           207:                        case 's':
        !           208:                        case 'r':
        !           209:                                while(j->shelves[nsh = nrand(j->nshelves)])
        !           210:                                        ;
        !           211:                                break;
        !           212:                        case 'u':
        !           213:                        default:
        !           214:                                nsh = sh;
        !           215:                                break;
        !           216:                        }
        !           217:                        printf("%s@%d -> %d\n", vol_id, sh, nsh);
        !           218:                        if(j_dr_to_sh(drive, nsh, side, err) < 0)
        !           219:                                return(-1);
        !           220:                        j->names[nsh] = strdup(vol_id);
        !           221:                        j->shelves[nsh] = 1;
        !           222:                        didit[nsh] = 1;
        !           223:                        sleep(5);
        !           224:                }
        !           225:        }
        !           226:        printf("process any new disks.\n");
        !           227:        if(j_warm(j, err))
        !           228:                return(-1);
        !           229: /*     if(type == 's')
        !           230:                return(sort(err));
        !           231: */
        !           232:        return(0);
        !           233: } 
        !           234: 
        !           235: getvol(int sh, int drive, char *vol_id, int *side)
        !           236: {
        !           237:        int i;
        !           238:        char buf[512];
        !           239: 
        !           240:        if(j_sh_to_dr(sh, SIDEA, drive, vol_id) < 0)
        !           241:                return(-1);
        !           242:        if((i = j_rvolid(drive, buf)) < 0)
        !           243:                goto softerr;
        !           244:        if(i == 0)
        !           245:                *side = SIDEA;
        !           246:        else {
        !           247:                *side = SIDEB;
        !           248:                if(j_dr_to_sh(drive, sh, SIDEA, vol_id) < 0)
        !           249:                        return(-1);
        !           250:                if(j_sh_to_dr(sh, SIDEB, drive, vol_id) < 0)
        !           251:                        return(-1);
        !           252:                if((i = j_rvolid(drive, buf)) < 0)
        !           253:                        goto softerr;
        !           254:        }
        !           255:        if(i > 0)
        !           256:                strcpy(vol_id, UNALLOCATED);
        !           257:        else {
        !           258:                strcpy(vol_id, buf);
        !           259:                i = strlen(vol_id)-1;
        !           260:                if(i < 0){
        !           261:                        sprintf(buf, "apparently good superblock but null vol_id");
        !           262:                        goto softerr;
        !           263:                } else if(vol_id[i] == 'a')
        !           264:                        vol_id[i] = 0;
        !           265:                else if(vol_id[i] == 'b'){
        !           266:                        vol_id[i] = 0;
        !           267:                        *side = !*side;
        !           268:                } else {
        !           269:                        sprintf(buf, "vol_id '%s' must end in a or b", vol_id);
        !           270:                        strcpy(vol_id, buf);
        !           271:                        return(-1);
        !           272:                }
        !           273:        }
        !           274:        return(0);
        !           275: softerr:
        !           276:        *side = SIDEA;
        !           277:        fprintf(stderr, "error in reading shelf %d: %s; proceeding\n", sh, buf);
        !           278:        sprintf(vol_id, "DISK_ERROR%d", sh);
        !           279:        j_reset();
        !           280:        return(0);
        !           281: }
        !           282: #ifdef CRAP
        !           283: static int index[j->nshelves];
        !           284: static
        !           285: cmp(int *a, int *b)
        !           286: {
        !           287:        char *sa = j->shelves[*a], *sb = j->shelves[*b];
        !           288: 
        !           289:        if((sa == 0) && (sb == 0)) return(0);
        !           290:        if(sa == 0) return(-1);
        !           291:        if(sb == 0) return(1);
        !           292:        return(strcmp(sa, sb));
        !           293: }
        !           294: 
        !           295: static char *disk[8];
        !           296: 
        !           297: static
        !           298: sd(int a, int b, char *err)
        !           299: {
        !           300:        disk[b] = j->shelves[a];
        !           301:        return(j->shelves_to_drive(a, SIDEB, b, err));
        !           302: }
        !           303: static
        !           304: ds(int a, int b, char *err)
        !           305: {
        !           306:        j->shelves[b] = disk[a];
        !           307:        return(j_drive_to_shelf(a, b, SIDEB, err));
        !           308: }
        !           309: 
        !           310: static
        !           311: sort(char *errbuf)
        !           312: {
        !           313:        int i, j, org;
        !           314: 
        !           315:        for(i = 0; i < j->nshelves; i++)
        !           316:                index[i] = i;
        !           317:        qsort(index, j->nshelves, sizeof index[0], cmp);
        !           318:        for(i = 0; i < j->nshelves; i++){
        !           319:                if(index[i] < 0) continue;
        !           320:                if(sd(org = i, NLUN-1, errbuf) < 0)
        !           321:                        return(-1);
        !           322:                j = index[i];
        !           323:                index[i] = -1;
        !           324:                while(j != org){
        !           325:                        if(sd(j, NLUN-2, errbuf) < 0)
        !           326:                                return(-1);
        !           327:                        if(ds(NLUN-2, i, errbuf) < 0)
        !           328:                                return(-1);
        !           329:                        i = j;
        !           330:                        if(index[i] < 0)
        !           331:                                break;
        !           332:                        j = index[i];
        !           333:                        index[i] = -1;
        !           334:                }
        !           335:                if(ds(NLUN-1, i, errbuf) < 0)
        !           336:                        return(-1);
        !           337:        }
        !           338:        return(0);
        !           339: }
        !           340: #endif
        !           341: 0707070035050554431006660011710000040000010134650474362344500000500000106000core����������������L����������{���������d8À��
�����&�l�+0u���]�&�&yy������������������������������������������������������������������x��Y��0��������������Y&�6������H��0��0���&&&&�@
        !           342: &&�$40�jukebox%'�'t64��&6`�* 6  6������@@����_andrew���,�������&��҃��,�������&��& �����H�&�:�,���h���&�����&r,��:*���+%'�'�'�'���҃�r&"3���&��/ ������    E�X /�������C�� �������D�9 �/(����.,����
~��&���&���(�/t��X���z����.�.�������5��@��.�9&E����/������l�&�����@��&@��(x��`����&�@��&@��������:&yY�6Yt6 ��?�������&(������}�&��� .��������&�����%�/������4 �Y���������
        !           343: ���,%���������&���}x}}}f}P};}}}�!�!�!�!�!�!�!�!�!k!^!N!H!8!-!!&J,R./r1:567N9&&<!&<!&<!&<!&8&8&8&8&��������k&��������&�<�<�<y<a<W<=<+<<    <�;�;�;�;�;�;�;�;�;s;c;T;C;/;;
;�:�:�:�:�:�:�:�:u:k:U:?:&::�9�9/tmp/tn000000000000�=&� @lT�TfS�B�S�T�T�T�S�H�S�S�DTBT�c�u�u,u>��u�u�u�uhuiJu�u.}�u,u��5&|        &<1&<1&0Q&4Q&         (((((                  H����������������&&&&&&&&&&&&&&&&&&&&������ /bin/shsh-c*}�@ B�CzEG@�HPtJ$L���M �nO(kQ��R�C@hT��V�*�W ��cY�_�1[���\���.^^kv:@
        !           344: `#lj�a�x��bXc&���zex�n2���fh
        !           345: ?�WSh��Ρ�[���u��+��p�%��ľ�MO�E��9��.�N������:���z����@�+9!&=1&41&0Q&0Q&}   &,0�������c&��/�����qOf���c�d��
�����c22�/L��8���S����������  ��������
        !           346: &�c�c ���p��xA��������������/�������9,�������9�&� ������<��6 ��������null pointer dereferenced @gen/strtol.c:22
        !           347:  ������� 0Q&.������Ç41&41&& �����q�&�/,����؊
        !           348:  ���`��h&w���w��B��/������/��&U��H�&������������������-��q�����������������jukebox-wCDEST=dk!nj/astro/bowell!mesgdcon!CDPATH=:/usr/ucds/src:/usr/src/cmd:/usr/andrewCSOURCE=source=dk!nj/astro/r70 user=andrew line=nj/astro/3.23/8.7.FHISTORY=/tmp/histagh857HOME=/usr/andrewPATH=:/usr/andrew/bin:/bin:/usr/bin:/usr/jerq/bin:/usr/ape/apebinPS1=bowell=; PS2=      TERM=dumbm.0707070035050377371006440011710000040000010647110464677201700001000000027722dslib.c/*
        !           349: || dslib.c - library routines for /dev/scsi
        !           350: ||
        !           351: || Copyright 1988, 1989, by
        !           352: ||   Gene Dronek (Vulcan Laboratory) and
        !           353: ||   Rich Morin  (Canta Forda Computer Laboratory).
        !           354: || All rights reserved.
        !           355: */
        !           356: #ident "dslib.c: $Revision: 1.4 $"
        !           357: 
        !           358: #include <stdio.h>
        !           359: #include <sys/types.h>
        !           360: 
        !           361: #include "dslib.h"
        !           362: #ifdef aux
        !           363: #include <sys/vio.h>
        !           364: #include <sys/scsireq.h>
        !           365: #endif aux
        !           366: 
        !           367: int dsdebug=0;
        !           368: long dsreqflags;       /* flag bits always set by filldsreq */
        !           369: 
        !           370: #define min(i,j)  ( (i) < (j) ? (i) : (j) )
        !           371: 
        !           372: 
        !           373: /*
        !           374: || Startup/shutdown -----------------------------------------------
        !           375: */
        !           376: 
        !           377: static struct context *dsc[FDSIZ];
        !           378: 
        !           379: 
        !           380: /*
        !           381: || dsopen - open device, set up structures
        !           382: */
        !           383: 
        !           384: struct dsreq *
        !           385: dsopen(opath, oflags)
        !           386:   char *opath;
        !           387:   int   oflags;
        !           388: {
        !           389:     
        !           390:   struct dsreq *dsp;
        !           391:   struct context *cp;
        !           392:   int fd;
        !           393:   DSDBG(fprintf(stderr,"dsopen(%s,%x) ", opath, oflags));
        !           394: 
        !           395:   fd = open(opath, oflags);
        !           396:   if (fd < 0)                                          
        !           397:     return NULL;                       /* can't open   */
        !           398:   if (dsc[fd] != NULL)                 /* already in use */
        !           399:     ds_zot("dsopen: fd already in use");
        !           400: 
        !           401:   cp = (struct context *) calloc(1, sizeof(struct context));
        !           402:   if (cp == NULL)                                    /* can't allocate */
        !           403:     ds_zot("dsopen: can't allocate space");
        !           404:   dsc[fd] = cp;
        !           405:   cp->dsc_fd = fd;
        !           406:   dsp = &(cp->dsc_dsreq);
        !           407: 
        !           408:   dsp->ds_flags =      0;
        !           409:   dsp->ds_time =       10 * 1000;      /* 10 second default timeout */
        !           410:   dsp->ds_private =    (ulong) cp;     /* pointer back to context */
        !           411:   dsp->ds_cmdbuf =     cp->dsc_cmd;
        !           412:   dsp->ds_cmdlen =     sizeof cp->dsc_cmd;
        !           413:   dsp->ds_databuf =    0;
        !           414:   dsp->ds_datalen =    0;
        !           415:   dsp->ds_sensebuf =   cp->dsc_sense;
        !           416:   dsp->ds_senselen =   sizeof cp->dsc_sense;
        !           417:   DSDBG(fprintf(stderr,"=>cp %x, dsp %x\n", cp, dsp));
        !           418:   return dsp;
        !           419: }
        !           420: 
        !           421: 
        !           422: /*
        !           423: || dsclose - close device, release context struct.
        !           424: */
        !           425: 
        !           426: dsclose(dsp)
        !           427:   struct dsreq *dsp;
        !           428: {
        !           429:   int fd;
        !           430:   struct context *cp;
        !           431: 
        !           432:   if (dsp == NULL)
        !           433:     ds_zot("dsclose: dsp is NULL");
        !           434: 
        !           435:   cp = (struct context *)dsp->ds_private;
        !           436:   fd = getfd(dsp);
        !           437:   if ( cp == NULL )
        !           438:     ds_zot("dsclose: private is NULL");
        !           439: 
        !           440:   cfree(cp);
        !           441:   dsc[fd] = (struct context *)NULL;
        !           442:   return;
        !           443: }
        !           444: 
        !           445: 
        !           446: /*
        !           447: || Generic SCSI CCS Command functions ------------------------------------
        !           448: ||
        !           449: || dsp         dsreq pointer
        !           450: || data                data buffer pointer
        !           451: || datalen     data buffer length
        !           452: || lba         logical block address
        !           453: || vu          vendor unique bits
        !           454: */
        !           455: 
        !           456: /*
        !           457: || testunitready00 - issue group 0 "Test Unit Ready" command (0x00)
        !           458: */
        !           459: 
        !           460: testunitready00(dsp)
        !           461:   struct dsreq *dsp;
        !           462: {
        !           463:   fillg0cmd(dsp, CMDBUF(dsp), G0_TEST, 0, 0, 0, 0, 0);
        !           464:   filldsreq(dsp, 0, 0, DSRQ_READ|DSRQ_SENSE);
        !           465:   return(doscsireq(getfd(dsp), dsp));
        !           466: }
        !           467: 
        !           468: 
        !           469: /*
        !           470: || requestsense03 - issue group 0 "Request Sense" command (0x03)
        !           471: */
        !           472: 
        !           473: requestsense03(dsp, data, datalen, vu)
        !           474:   struct dsreq *dsp;
        !           475:   caddr_t data;
        !           476:   long datalen;
        !           477:   char vu;
        !           478: {
        !           479:   fillg0cmd(dsp, CMDBUF(dsp), G0_REQU, 0, 0, 0, B1(datalen), B1(vu<<6));
        !           480:   filldsreq(dsp, data, datalen, DSRQ_READ);
        !           481:   return(doscsireq(getfd(dsp), dsp));
        !           482: }
        !           483: 
        !           484: 
        !           485: /*
        !           486: || write0a - issue group 0 "Write" command (0x0a)
        !           487: */
        !           488: 
        !           489: write0a(dsp, data, datalen, lba, vu)
        !           490:   struct dsreq *dsp;
        !           491:   caddr_t data;
        !           492:   long datalen, lba;
        !           493:   char vu;
        !           494: {
        !           495:   fillg0cmd(dsp, CMDBUF(dsp), G0_WRIT, B3(lba), B1(datalen), B1(vu<<6));
        !           496:   filldsreq(dsp, data, datalen, DSRQ_READ);
        !           497:   return(doscsireq(getfd(dsp), dsp));
        !           498: }
        !           499: 
        !           500: 
        !           501: /*
        !           502: || inquiry12 - issue group 0 "Inquiry" command (0x12)
        !           503: */
        !           504: 
        !           505: inquiry12(dsp, data, datalen, vu)
        !           506:   struct dsreq *dsp;
        !           507:   caddr_t data;
        !           508:   long datalen;
        !           509:   char vu;
        !           510: {
        !           511:   fillg0cmd(dsp, CMDBUF(dsp), G0_INQU, 0, 0, 0, B1(datalen), B1(vu<<6));
        !           512:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
        !           513:   return(doscsireq(getfd(dsp), dsp));
        !           514: }
        !           515: 
        !           516: 
        !           517: /*
        !           518: || modeselect15 - issue group 0 "Mode Select" command (0x15)
        !           519: ||
        !           520: || save                0 - don't save saveable pages
        !           521: ||             1 - save saveable pages
        !           522: */
        !           523: 
        !           524: modeselect15(dsp, data, datalen, save, vu)
        !           525:   struct dsreq *dsp;
        !           526:   caddr_t data;
        !           527:   long datalen;
        !           528:   char save, vu;
        !           529: {
        !           530:   fillg0cmd(dsp, CMDBUF(dsp), G0_MSEL, save&1, 0, 0, B1(datalen), B1(vu<<6));
        !           531:   filldsreq(dsp, data, datalen, DSRQ_WRITE|DSRQ_SENSE);
        !           532:   return(doscsireq(getfd(dsp), dsp));
        !           533: }
        !           534: 
        !           535: 
        !           536: /*
        !           537: || modesense1a - issue group 0 "Mode Sense" command (0x1a)
        !           538: ||
        !           539: || pagectrl    0 - current values
        !           540: ||             1 - changeable values
        !           541: ||             2 - default values
        !           542: ||             3 - saved values
        !           543: ||
        !           544: || pagecode    0   - vendor unique
        !           545: ||             1   - error recovery
        !           546: ||             2   - disconnect/reconnect
        !           547: ||             3   - direct access dev. fmt.
        !           548: ||             4   - rigid disk geometry
        !           549: ||             5   - flexible disk
        !           550: ||             6-9 - see specific dev. types
        !           551: ||             0a  - implemented options
        !           552: ||             0b  - medium types supported
        !           553: ||             3f  - return all pages
        !           554: */
        !           555: 
        !           556: modesense1a(dsp, data, datalen, pagectrl, pagecode, vu)
        !           557:   struct dsreq *dsp;
        !           558:   caddr_t data;
        !           559:   long datalen;
        !           560:   char pagectrl, pagecode, vu;
        !           561: {
        !           562:   fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN, 0x10,
        !           563:     ((pagectrl&3)<<6) | (pagecode&0x3F),
        !           564:     0, B1(datalen), B1(vu<<6));
        !           565:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
        !           566:   return(doscsireq(getfd(dsp), dsp));
        !           567: }
        !           568: 
        !           569: 
        !           570: /*
        !           571: || senddiagnostic1d - issue group 0 "Send Diagnostic" command (0x1d)
        !           572: ||
        !           573: || self                0 - run test, hold results
        !           574: ||             1 - run test, return status
        !           575: ||
        !           576: || dofl                0 - device online
        !           577: ||             1 - device offline
        !           578: ||
        !           579: || uofl                0 - unit online
        !           580: ||             1 - unit offline
        !           581: */
        !           582: 
        !           583: senddiagnostic1d(dsp, data, datalen, self, dofl, uofl, vu)
        !           584:   struct dsreq *dsp;
        !           585:   caddr_t data;
        !           586:   long datalen;
        !           587:   char self, dofl, uofl, vu;
        !           588: {
        !           589:   fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN,
        !           590:     (self&1)<<2 | (dofl&1)<<1 | (uofl&1),
        !           591:     0, B2(datalen), B1(vu<<6));
        !           592:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
        !           593:   return(doscsireq(getfd(dsp), dsp));
        !           594: }
        !           595: 
        !           596: 
        !           597: /*
        !           598: || readcapacity25 - issue group 1 "Read Capacity" command (0x25)
        !           599: ||
        !           600: || pmi         0 - return last logical block, entire unit
        !           601: ||             1 - return last logical block, current track
        !           602: */
        !           603: 
        !           604: readcapacity25(dsp, data, datalen, lba, pmi, vu)
        !           605:   struct dsreq *dsp;
        !           606:   caddr_t data;
        !           607:   long datalen, lba;
        !           608:   char pmi, vu;
        !           609: {
        !           610:   fillg1cmd(dsp, CMDBUF(dsp), G1_RCAP, 0, B4(lba), 0, 0, pmi&1, B1(vu<<6));
        !           611:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
        !           612:     /* |DSRQ_CTRL2 */ );
        !           613:   /* dsp->ds_time = 100;       /* often takes a while */
        !           614:   return(doscsireq(getfd(dsp), dsp));
        !           615: }
        !           616: 
        !           617: 
        !           618: /*
        !           619: || readextended28 - issue group 1 "Read Extended" command (0x28)
        !           620: */
        !           621: 
        !           622: readextended28(dsp, data, datalen, lba, vu)
        !           623:   struct dsreq *dsp;
        !           624:   caddr_t data;
        !           625:   long datalen, lba;
        !           626:   char vu;
        !           627: {
        !           628:   fillg1cmd(dsp, CMDBUF(dsp), G1_READ, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
        !           629:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
        !           630:     /* |DSRQ_CTRL2 */ );
        !           631:   /* dsp->ds_time = 100;       /* often takes a while */
        !           632:   return(doscsireq(getfd(dsp), dsp));
        !           633: }
        !           634: 
        !           635: 
        !           636: /*
        !           637: || writeextended2a - issue group 1 "Write Extended" command (0x2a)
        !           638: */
        !           639: 
        !           640: writeextended2a(dsp, data, datalen, lba, vu)
        !           641:   struct dsreq *dsp;
        !           642:   caddr_t data;
        !           643:   long datalen, lba;
        !           644:   char vu;
        !           645: {
        !           646:   fillg1cmd(dsp, CMDBUF(dsp), G1_WRIT, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
        !           647:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
        !           648:     /* |DSRQ_CTRL2 */ );
        !           649:   /* dsp->ds_time = 100;       /* often takes a while */
        !           650:   return(doscsireq(getfd(dsp), dsp));
        !           651: }
        !           652: 
        !           653: 
        !           654: /*
        !           655: || Support functions ----------------------------------------------------
        !           656: */
        !           657: 
        !           658: /*
        !           659: || fillg0cmd - Fill a Group 0 command buffer
        !           660: */
        !           661: 
        !           662: fillg0cmd(dsp, cmd, b0,b1,b2,b3,b4,b5)
        !           663:   struct dsreq *dsp;
        !           664:   uchar_t *cmd, b0,b1,b2,b3,b4,b5;
        !           665: {
        !           666:   uchar_t *c = cmd;
        !           667:   DSDBG(fprintf(stderr,"fillg0cmd(%x,%x, %02x %02x %02x %02x %02x %02x)\n",
        !           668:                dsp, cmd, b0,b1,b2,b3,b4,b5));
        !           669:   *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
        !           670:        
        !           671:   CMDBUF(dsp) = (caddr_t) cmd;
        !           672:   CMDLEN(dsp) = 6;
        !           673: }
        !           674: 
        !           675: 
        !           676: /*
        !           677: || fillg1cmd - Fill a Group 1 command buffer
        !           678: */
        !           679: 
        !           680: fillg1cmd(dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9)
        !           681:   struct dsreq *dsp;
        !           682:   uchar_t *cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
        !           683: {
        !           684:   uchar_t *c = cmd;
        !           685:   DSDBG(fprintf(stderr,
        !           686:     "fillg1cmd(%x,%x, %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x)\n",
        !           687:                dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9));
        !           688: 
        !           689:   *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
        !           690:   *c++ = b6, *c++ = b7, *c++ = b8, *c++ = b9;
        !           691:        
        !           692:   CMDBUF(dsp) = (caddr_t) cmd;
        !           693:   CMDLEN(dsp) = 10;
        !           694: }
        !           695: 
        !           696: 
        !           697: /*
        !           698: || filldsreq - Fill a dsreq structure
        !           699: */
        !           700: 
        !           701: filldsreq(dsp,data,datalen,flags)
        !           702:   struct dsreq         *dsp;
        !           703:   uchar_t              *data;
        !           704: {
        !           705:   DSDBG(fprintf(stderr,"filldsreq(%x,%x,%d,%x) cmdlen %d\n",
        !           706:                dsp,data,datalen,flags,CMDLEN(dsp)));
        !           707:   dsp->ds_flags        = flags | dsreqflags |
        !           708:          (((dsdebug&1) ? DSRQ_TRACE : 0) |
        !           709:          ((dsdebug&2) ? DSRQ_PRINT : 0));
        !           710:   dsp->ds_time = 10 * 1000;    /* default to 10 seconds */
        !           711:   dsp->ds_link = 0;
        !           712:   dsp->ds_synch        = 0;
        !           713:   dsp->ds_ret          = 0;
        !           714: 
        !           715:   DATABUF(dsp)         = (caddr_t) data;
        !           716:   DATALEN(dsp) = datalen;
        !           717: }
        !           718: 
        !           719: 
        !           720: /*
        !           721: || bprint - print array of bytes, in hex.
        !           722: */
        !           723: 
        !           724: #define hex(x) "0123456789ABCDEF" [ (x) & 0xF ]
        !           725: 
        !           726: bprint(s,n,nperline,space)
        !           727:        char *s;
        !           728: {
        !           729:        int   i, x;
        !           730:        char  *sp = (space) ? " ": "";
        !           731: 
        !           732:        for(i=0;i<n;i++)  {
        !           733:                x = s[i];
        !           734:                fprintf(stderr,((i%4==3)?"%c%c%s%s":"%c%c%s"),
        !           735:                        hex(x>>4), hex(x), sp, sp);
        !           736:                if ( i%nperline == (nperline - 1) )
        !           737:                        fprintf(stderr,"\n");
        !           738:        }
        !           739:        if ( space )
        !           740:                fprintf(stderr,"\n");
        !           741: }
        !           742: 
        !           743: 
        !           744: /*
        !           745: || doscsireq - issue scsi command, return status or -1 error.
        !           746: */
        !           747: 
        !           748: doscsireq( fd, dsp)
        !           749:   int  fd;             /* ioctl file descriptor */
        !           750:   struct dsreq *dsp;   /* devscsi request packet */
        !           751: {
        !           752:   int  cc;
        !           753:   int  retries = 4;
        !           754:   uchar_t      sbyte;
        !           755: 
        !           756:   DSDBG(fprintf(stderr,"doscsireq(%d,%x) %x ---- %s\n",fd,dsp,
        !           757:     (CMDBUF(dsp))[0],
        !           758:     ds_vtostr( (CMDBUF(dsp))[0], cmdnametab)));
        !           759: 
        !           760:   /*
        !           761:    *  loop, issuing command
        !           762:    *    until done, or further retry pointless
        !           763:    */
        !           764: 
        !           765:   while ( --retries > 0 )  {
        !           766: 
        !           767:    caddr_t sp;
        !           768: 
        !           769:     sp =  SENSEBUF(dsp);
        !           770:     DSDBG(fprintf(stderr,"cmdbuf   =  ");
        !           771:                bprint(CMDBUF(dsp),CMDLEN(dsp),16,1));
        !           772:     if ( (dsp->ds_flags & DSRQ_WRITE) )
        !           773:       DSDBG(bprint( DATABUF(dsp), min(50,DATALEN(dsp)),16,1 ));
        !           774:        
        !           775: DSDBG(fprintf(stderr,"databuf datalen %x %d\n",DATABUF(dsp), DATALEN(dsp)));
        !           776:     cc = ioctl( fd, DS_ENTER, dsp);
        !           777:     if ( cc < 0)  {
        !           778:       ds_panic(dsp, "cannot ioctl fd %d\n",fd);
        !           779:     }
        !           780:        
        !           781:        DSDBG(fprintf(stderr,"cmdlen after ioctl=%d\n",CMDLEN(dsp)));
        !           782:     DSDBG(fprintf(stderr,"ioctl=%d ret=%x %s",
        !           783:       cc, RET(dsp), 
        !           784:       RET(dsp) ? ds_vtostr(RET(dsp),dsrtnametab) : ""));
        !           785:     DSDBG(if (SENSESENT(dsp)) fprintf(stderr," sensesent=%d",
        !           786:       SENSESENT(dsp)));
        !           787: 
        !           788:     DSDBG(fprintf(stderr,
        !           789:       " cmdsent=%d datasent=%d sbyte=%x %s\n",
        !           790:       CMDSENT(dsp), DATASENT(dsp), STATUS(dsp),
        !           791:       ds_vtostr(STATUS(dsp), cmdstatustab)));
        !           792:     DSDBG(if ( FLAGS(dsp) & DSRQ_READ )
        !           793:       bprint( DATABUF(dsp), min(16*16,DATASENT(dsp)), 16,1));
        !           794: 
        !           795: #ifdef aux
        !           796:   /*
        !           797:    *  check for AUX bus-error 
        !           798:    *  we retry with poll-dma
        !           799:    */
        !           800:     if ( RET(dsp) == DSRT_AGAIN )  {
        !           801:       int n = SDC_RDPOLL|SDC_WRPOLL;
        !           802:       DSDBG(fprintf(stderr,"setting rd/wr-poll"));
        !           803:       cc = ioctl( fd, DS_SET, n);      /* set bits */
        !           804:       if ( cc != 0 )
        !           805:         return -1;
        !           806:     }
        !           807: #endif aux
        !           808: 
        !           809:     if ( RET(dsp) == DSRT_NOSEL )
        !           810:       continue;                /* retry noselect 3X */
        !           811: 
        !           812:     /* decode sense data returned */
        !           813:     if ( SENSESENT(dsp) )  {
        !           814:       DSDBG(
        !           815:         fprintf(stderr, "sense key %x - %s\n",
        !           816:           SENSEKEY(sp),
        !           817:           ds_vtostr( SENSEKEY(sp), sensekeytab));
        !           818:         bprint( SENSEBUF(dsp),
        !           819:           min(100, SENSESENT(dsp)),
        !           820:           16,1);
        !           821:       );
        !           822:     }
        !           823:     DSDBG(fprintf(stderr, "sbyte %x\n", STATUS(dsp)));
        !           824: 
        !           825:     /* decode scsi command status byte */
        !           826:     sbyte = STATUS(dsp);
        !           827:     switch (sbyte)  {
        !           828:       case 0x08:               /*  BUSY */
        !           829:       case 0x18:               /*  RESERV CONFLICT */
        !           830:        sleep(2);
        !           831:        continue;
        !           832:       case 0x00:               /*  GOOD */
        !           833:       case 0x02:               /*  CHECK CONDITION */
        !           834:       case 0x10:               /*  INTERM/GOOD */
        !           835:       default:
        !           836:        return sbyte;
        !           837:     }
        !           838:   }
        !           839:   return -1;   /* fail retry limit */
        !           840: }
        !           841: 
        !           842: 
        !           843: /*
        !           844: || opttovar - lookup option in table, return var addr (NULL if fail)
        !           845: */
        !           846: 
        !           847: int *
        !           848: opttovar( ostr, table)
        !           849:   char *ostr;
        !           850:   struct opttab{
        !           851:     char *opt;
        !           852:     int  *var;
        !           853:   } *table;
        !           854: {
        !           855:   register struct opttab *tp;
        !           856: 
        !           857:   for (tp=table; (tp->var); tp++)
        !           858:     if ( strncmp( ostr, tp->opt, 3) == 0 )
        !           859:       break;
        !           860: 
        !           861:   if ( !tp->var )
        !           862:     fprintf(stderr,"unknown option %s", ostr);
        !           863:        
        !           864:   return (tp->var);
        !           865: }
        !           866: 
        !           867: 
        !           868: /*
        !           869: || ds_vtostr - lookup value in table to return string pointer
        !           870: */
        !           871: 
        !           872: char *
        !           873: ds_vtostr( v, table)
        !           874:   long v;
        !           875:   struct vtab *table;
        !           876: {
        !           877:   register struct vtab *tp;
        !           878: 
        !           879:   for (tp=table; (tp->string); tp++)
        !           880:     if ( v == tp->val )
        !           881:       break;
        !           882:        
        !           883:   return (tp->string) ? tp->string : "";
        !           884: }
        !           885: 
        !           886: 
        !           887: /*
        !           888: || ds_panic - yelp, leave...
        !           889: */
        !           890: 
        !           891: ds_panic( fmt, v)
        !           892:   char *fmt;
        !           893:   int v;
        !           894: {
        !           895:   extern errno;
        !           896: 
        !           897:   fprintf(stderr,fmt,v);
        !           898:   fprintf(stderr,"\nerrno = %d\n",errno);
        !           899:   exit(1);
        !           900: }
        !           901: 
        !           902: 
        !           903: /*
        !           904: || ds_zot - go away, with a message.
        !           905: */
        !           906: 
        !           907: ds_zot(message)
        !           908:   char *message;
        !           909: {
        !           910:   fprintf(stderr, "%s\n", message);
        !           911:   exit(1);
        !           912: }
        !           913: 0707070035050555621006660011710000040000010000000467375467200000600000000000file40707070035050374700407770011710000040000020653770503442322500001000000000000generic0707070035050374561006660011710000040000010651460503441562300001600000002274generic/dev.c#include       <stdio.h>
        !           914: #include       "../scsi.h"
        !           915: #include       "../scsish.h"
        !           916: #include       "../tcl.h"
        !           917: #include       "fns.h"
        !           918: 
        !           919: static int gen_id(ClientData, Tcl_Interp *it, int argc, char **argv);
        !           920: 
        !           921: static Function fns[] = {
        !           922:        { "capacity", "capacity [lun=0 ...]", "L?", gen_capacity },
        !           923:        { "dev", "dev [type] # dev ? for list", "S?", gen_dev },
        !           924:        { "display", "display", "", gen_display },
        !           925:        { "help", "help [cmd]", "S?", gen_help },
        !           926:        { "id", "id [target=0]", "L?", gen_id },
        !           927:        { "inq", "inq [lun=0]", "L?", gen_inq },
        !           928:        { "read", "read lun start [count [file]]", "LII?", gen_read },
        !           929:        { "readt", "readt count [lun=0]", "IL?", gen_readt },
        !           930:        { "reset", "reset", "", gen_reset },
        !           931:        { "scsi", "scsi bytes... # 6 or 10", "I?I?I?I?I?I?I?I?I?I?", gen_scsi },
        !           932:        { "sense", "sense [lun=0]", "L?", gen_sense },
        !           933:        { "start", "start [lun=0]", "L?", gen_start },
        !           934:        { "stop", "stop [lun=0]", "L?", gen_stop },
        !           935:        { "testunit", "testunit [lun=0", "L?", gen_tur },
        !           936:        { 0 }
        !           937: };
        !           938: 
        !           939: Device genericdev = {
        !           940:        "scsi", "generic scsi",
        !           941:        gen_extsense,
        !           942:        fns
        !           943: };
        !           944: 
        !           945: static int
        !           946: gen_id(ClientData err, Tcl_Interp *it, int argc, char **argv)
        !           947: {
        !           948: #pragma ref it
        !           949: #pragma ref err
        !           950: 
        !           951:        if(argc <= 1)
        !           952:                printf("current SCSI id = %d\n", s_id);
        !           953:        else
        !           954:                scsi_target(atoi(argv[1]));
        !           955:        return(TCL_OK);
        !           956: }
        !           957: 0707070035050374541006660011710000040000010134220467251443300001600000002304generic/inq.c#include     <stdio.h>
        !           958: #include       "../scsi.h"
        !           959: #include       "../scsish.h"
        !           960: #include       "../tcl.h"
        !           961: #include       "fns.h"
        !           962: 
        !           963: char *gen_rmb[2] = { "nonremovable", "removable" };
        !           964: char *gen_devtype[256] = {
        !           965:        "direct access",
        !           966:        "sequential access",
        !           967:        "printer",
        !           968:        "processor",
        !           969:        "worm",
        !           970:        "cd-rom"
        !           971: };
        !           972: 
        !           973: int
        !           974: gen_inq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !           975: {
        !           976:        struct scsi_cmd cmd;
        !           977:        struct scsi_return ret;
        !           978:        int i;
        !           979:        int args[8], na;
        !           980: 
        !           981: #pragma ref it
        !           982: 
        !           983:        na = 0;
        !           984:        if(argc == 1)
        !           985:                args[na++] = 0;
        !           986:        else if((argc == 2) && (atoi(argv[1]) < 0)){
        !           987:                for(i = 0; i < 8; i++)
        !           988:                        args[na++] = i;
        !           989:        } else {
        !           990:                for(i = 1; i < argc; i++)
        !           991:                        args[na++] = atoi(argv[i]);
        !           992:        }
        !           993:        for(i = 0; i < na; i++){
        !           994:                set6(cmd, 0x12, args[i]<<5, 0, 0, 36, 0);
        !           995:                if(s_io(0, &cmd, 0, &ret, -36, cd->err))
        !           996:                        ERR_RETURN
        !           997:                printf("inq(%d,%d): %s %s;", s_id, args[i],
        !           998:                        gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]]);
        !           999:                if(ret.data[4] >= 16){
        !          1000:                        char buf[256];
        !          1001: 
        !          1002:                        fixedstr(&ret.data[8], 8, buf);
        !          1003:                        printf(" %s", buf);
        !          1004:                        if(ret.data[4] >= 32){
        !          1005:                                fixedstr(&ret.data[16], 16, buf);
        !          1006:                                printf("/%s", buf);
        !          1007:                                if(ret.data[4] >= 36){
        !          1008:                                        fixedstr(&ret.data[32], 4, buf);
        !          1009:                                        printf(" rev=%s", buf);
        !          1010:                                }
        !          1011:                        }
        !          1012:                }
        !          1013:                printf(" [%d bytes]\n", ret.data[4]);
        !          1014:        }
        !          1015:        return(TCL_OK);
        !          1016: }
        !          1017: 0707070035050374531006660011710000040000010307730467643721700002000000003064generic/sense.c#include   <stdio.h>
        !          1018: #include       "../scsi.h"
        !          1019: #include       "../scsish.h"
        !          1020: #include       "../tcl.h"
        !          1021: #include       "fns.h"
        !          1022: 
        !          1023: char *argv0;           /* not a good place, is it */
        !          1024: 
        !          1025: int
        !          1026: gen_sense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1027: {
        !          1028:        struct scsi_cmd cmd;
        !          1029:        struct scsi_return ret;
        !          1030:        int i, unit;
        !          1031: 
        !          1032: #pragma ref it
        !          1033: 
        !          1034:        if(argc <= 1)
        !          1035:                argv[i = 0] = "0";
        !          1036:        else
        !          1037:                i = 1;
        !          1038:        for(; i < argc; i++){
        !          1039:                unit = atoi(argv[i]);
        !          1040:                set6(cmd, 0x03, unit<<5, 0, 0, 4, 0);
        !          1041:                if(s_io(0, &cmd, 0, &ret, 4, cd->err))
        !          1042:                        ERR_RETURN;
        !          1043:                printf("sense(%d,%d): ", s_id, unit);
        !          1044:                if((ret.data[0]&0x7F) == 0)
        !          1045:                        printf("no error\n");
        !          1046:                else {
        !          1047:                        printf("error class=0x%x, code=0x%x, sense=0x%x",
        !          1048:                                (ret.data[0]>>4)&7, ret.data[0]&0xF, ret.data[2]&0xF);
        !          1049:                        if(ret.data[0]&0x80)
        !          1050:                                printf(", addr=0x%x", ret.data[3]+256L*ret.data[2]+256L*256*ret.data[1]);
        !          1051:                        printf("\n");
        !          1052:                }
        !          1053:        }
        !          1054:        return(TCL_OK);
        !          1055: }
        !          1056: 
        !          1057: static char *exstab[16] =
        !          1058: {
        !          1059:        "no sense",
        !          1060:        "recovered error",
        !          1061:        "not ready",
        !          1062:        "medium error",
        !          1063:        "hardware error",
        !          1064:        "illegal request",
        !          1065:        "unit attention",
        !          1066:        "data protect",
        !          1067:        "blank check",
        !          1068:        "vendor specific (#9)",
        !          1069:        "copy aborted",
        !          1070:        "aborted command",
        !          1071:        "equal",
        !          1072:        "volume overflow",
        !          1073:        "miscompare",
        !          1074:        "reserved (#f)",
        !          1075: };
        !          1076: 
        !          1077: void
        !          1078: gen_extsense(uchar *data, char *dest, int ndata)
        !          1079: {
        !          1080:        int class;
        !          1081: 
        !          1082: #pragma ref ndata
        !          1083: 
        !          1084:        class = (data[0]>>4)&7;
        !          1085:        if(class == 7){
        !          1086:                if(data[0]&0x80)
        !          1087:                        sprintf(dest, "extended sense: %s info=#%2.2x#%2.2x#%2.2x#%2.2x", exstab[data[2]&0xF], data[3], data[4], data[5], data[6]);
        !          1088:                else
        !          1089:                        sprintf(dest, "extended sense: %s", exstab[data[2]&0xF]);
        !          1090:        } else {
        !          1091:                sprintf(dest, "sense: class=#%x, code=#%x", class, data[0]&0xF);
        !          1092:        }
        !          1093: }
        !          1094: 0707070035050374521006660011710000040000010653520467172164700002000000000741generic/start.c#include   <stdio.h>
        !          1095: #include       "../scsi.h"
        !          1096: #include       "../scsish.h"
        !          1097: #include       "../tcl.h"
        !          1098: #include       "fns.h"
        !          1099: 
        !          1100: int
        !          1101: gen_start(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1102: {
        !          1103:        struct scsi_cmd cmd;
        !          1104:        struct scsi_return ret;
        !          1105:        int i, unit;
        !          1106: 
        !          1107: #pragma ref ncargs
        !          1108: #pragma ref cargs
        !          1109: 
        !          1110:        if(argc <= 1)
        !          1111:                argv[i = 0] = "0";
        !          1112:        else
        !          1113:                i = 1;
        !          1114:        for(; i < argc; i++){
        !          1115:                unit = atoi(argv[i]);
        !          1116:                set6(cmd, 0x1B, unit<<5, 0, 0, 1, 0);
        !          1117:                if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          1118:                        ERR_RETURN
        !          1119:        }
        !          1120:        return(0);
        !          1121: }
        !          1122: 0707070035050374511006660011710000040000010653430467172160000001700000000677generic/stop.c#include    <stdio.h>
        !          1123: #include       "../scsi.h"
        !          1124: #include       "../scsish.h"
        !          1125: #include       "../tcl.h"
        !          1126: #include       "fns.h"
        !          1127: 
        !          1128: int
        !          1129: gen_stop(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1130: {
        !          1131:        struct scsi_cmd cmd;
        !          1132:        struct scsi_return ret;
        !          1133:        int i, unit;
        !          1134: 
        !          1135:        if(argc <= 1)
        !          1136:                argv[i = 0] = "0";
        !          1137:        else
        !          1138:                i = 1;
        !          1139:        for(; i < argc; i++){
        !          1140:                unit = atoi(argv[i]);
        !          1141:                set6(cmd, 0x1B, unit<<5, 0, 0, 0, 0);
        !          1142:                if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          1143:                        ERR_RETURN
        !          1144:        }
        !          1145:        return(TCL_OK);
        !          1146: }
        !          1147: 0707070035050374501006660011710000040000010653310467172077200002300000001202generic/capacity.c#include        <stdio.h>
        !          1148: #include       "../scsi.h"
        !          1149: #include       "../scsish.h"
        !          1150: #include       "../tcl.h"
        !          1151: #include       "fns.h"
        !          1152: 
        !          1153: int
        !          1154: gen_capacity(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1155: {
        !          1156:        struct scsi_cmd cmd;
        !          1157:        struct scsi_return ret;
        !          1158:        int i, unit;
        !          1159:        unsigned long ns, ss;
        !          1160: 
        !          1161:        if(argc <= 1)
        !          1162:                argv[i = 0] = "0";
        !          1163:        else
        !          1164:                i = 1;
        !          1165:        for(; i < argc; i++){
        !          1166:                unit = atoi(argv[i]);
        !          1167:                set10(cmd, 0x25, unit<<5, 0, 0, 0, 0, 0, 0, 0, 0);
        !          1168:                if(s_io(0, &cmd, 0, &ret, 8, cd->err))
        !          1169:                        ERR_RETURN
        !          1170:                ns = longat(&ret.data[0]);
        !          1171:                ss = longat(&ret.data[4]);
        !          1172:                printf("capacity(%d,%d): %ld blocks of %ld bytes (#%xx#%x)\n",
        !          1173:                        s_id, unit, ns, ss, ns, ss);
        !          1174:        }
        !          1175:        return(TCL_OK);
        !          1176: }
        !          1177: 0707070035050374471006660011710000040000010653370467172123400002200000002343generic/display.c#include <stdio.h>
        !          1178: #include       "../scsi.h"
        !          1179: #include       "../scsish.h"
        !          1180: #include       "../tcl.h"
        !          1181: #include       "fns.h"
        !          1182: 
        !          1183: extern char *gen_rmb[2];
        !          1184: extern char *gen_devtype[256];
        !          1185: 
        !          1186: int
        !          1187: gen_display(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1188: {
        !          1189:        struct scsi_cmd cmd;
        !          1190:        struct scsi_return ret;
        !          1191:        int n, i, old_id;
        !          1192:        int retv = TCL_OK;
        !          1193:        char rev[100], vendor[100], product[100];
        !          1194: 
        !          1195: #pragma ref argc
        !          1196: #pragma ref argv
        !          1197: 
        !          1198:        old_id = s_id;
        !          1199:        for(s_id = 0; s_id < 8; s_id++){
        !          1200:                printf("target %d:\n");
        !          1201:                set6(cmd, 0x00, 0, 0, 0, 0, 0);
        !          1202:                if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          1203:                        continue;
        !          1204:        printf("responded to test unit ready\n");
        !          1205:        continue;
        !          1206:                for(i = 0; i < 8; i++){
        !          1207:                        set6(cmd, 0x12, i<<5, 0, 0, 36, 0);
        !          1208:                        if(s_io(0, &cmd, 0, &ret, -36, cd->err)){
        !          1209:                                it->result = cd->err;
        !          1210:                                retv = TCL_ERROR;
        !          1211:                                break;
        !          1212:                        }
        !          1213:                        if(ret.nread >= 16)
        !          1214:                                fixedstr(&ret.data[8], 8, vendor);
        !          1215:                        else
        !          1216:                                sprintf(vendor, "??");
        !          1217:                        if(ret.nread >= 32)
        !          1218:                                fixedstr(&ret.data[16], 16, product);
        !          1219:                        else
        !          1220:                                sprintf(product, "??");
        !          1221:                        if(ret.nread >= 16)
        !          1222:                                fixedstr(&ret.data[32], 4, rev);
        !          1223:                        else
        !          1224:                                sprintf(vendor, "??");
        !          1225:                        printf("\tlun(%d): %s %s, %s/%s rev=%s\n", i,
        !          1226:                                gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]],
        !          1227:                                vendor, product, rev);
        !          1228:                }
        !          1229:        }
        !          1230:        s_id = old_id;
        !          1231:        return(retv);
        !          1232: }
        !          1233: 0707070035050374461006660011710000040000010653670467172175000002000000000750generic/reset.c#include   <stdio.h>
        !          1234: #include       "../scsi.h"
        !          1235: #include       "../scsish.h"
        !          1236: #include       "../tcl.h"
        !          1237: #include       "fns.h"
        !          1238: #include       <scsi.h>
        !          1239: 
        !          1240: int
        !          1241: gen_reset(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1242: {
        !          1243:        struct scsi_cmd cmd;
        !          1244:        struct scsi_return ret;
        !          1245: 
        !          1246: #pragma ref argc
        !          1247: #pragma ref argv
        !          1248: #pragma ref it
        !          1249: 
        !          1250:        set6(cmd, 0, 0, 0, 0, 0, 0);
        !          1251:        cmd.bus_id = s_id;
        !          1252:        cmd.flags |= SCSI_RESET | SCSI_BRESET;
        !          1253:        /* should probably test for some kind of error... */
        !          1254:        ss_io(0, &cmd, 0, &ret, 0, cd->err);
        !          1255:        return(TCL_OK);
        !          1256: }
        !          1257: 0707070035050374451006660011710000040000010654010467172207000001600000001024generic/tur.c#include     <stdio.h>
        !          1258: #include       "../scsi.h"
        !          1259: #include       "../scsish.h"
        !          1260: #include       "../tcl.h"
        !          1261: #include       "fns.h"
        !          1262: 
        !          1263: int
        !          1264: gen_tur(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1265: {
        !          1266:        struct scsi_cmd cmd;
        !          1267:        struct scsi_return ret;
        !          1268:        int i, unit;
        !          1269: 
        !          1270: #pragma ref ncargs
        !          1271: #pragma ref cargs
        !          1272: 
        !          1273:        if(argc <= 1)
        !          1274:                argv[i = 0] = "0";
        !          1275:        else
        !          1276:                i = 1;
        !          1277:        for(; i < argc; i++){
        !          1278:                unit = atoi(argv[i]);
        !          1279:                set6(cmd, 0x00, unit<<5, 0, 0, 0, 0);
        !          1280:                if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          1281:                        ERR_RETURN
        !          1282:                printf("(%d,%d): good status\n", s_id, unit);
        !          1283:        }
        !          1284:        return(TCL_OK);
        !          1285: }
        !          1286: 0707070035050374441006660011710000040000010654030467172243200001700000001140generic/scsi.c#include    <stdio.h>
        !          1287: #include       "../scsi.h"
        !          1288: #include       "../scsish.h"
        !          1289: #include       "../tcl.h"
        !          1290: #include       "fns.h"
        !          1291: 
        !          1292: #define        A(n)    atoi(argv[n])
        !          1293: 
        !          1294: int
        !          1295: gen_scsi(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1296: {
        !          1297:        struct scsi_cmd cmd;
        !          1298:        struct scsi_return ret;
        !          1299:        int n;
        !          1300: 
        !          1301:        switch(argc)
        !          1302:        {
        !          1303:        case 7:
        !          1304:                set6(cmd, A(1), A(2), A(3), A(4), A(5), A(6));
        !          1305:                break;
        !          1306:        case 10:
        !          1307:                set10(cmd, A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8), A(9), A(10));
        !          1308:                break;
        !          1309:        default:
        !          1310:                sprintf(cd->err, "number of bytes (%d) must be 6 or 10\n", argc-1);
        !          1311:                return(TCL_ERROR);
        !          1312:        }
        !          1313:        if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          1314:                ERR_RETURN
        !          1315:        return(TCL_OK);
        !          1316: }
        !          1317: 0707070035050370561006660011710000040000010651540503441566700001600000001473generic/fns.hextern int gen_inq(ClientData , Tcl_Interp *, int , char **);
        !          1318: extern int gen_dev(ClientData , Tcl_Interp *, int , char **);
        !          1319: extern int gen_sense(ClientData , Tcl_Interp *, int , char **);
        !          1320: extern int gen_help(ClientData , Tcl_Interp *, int , char **);
        !          1321: extern int gen_start(ClientData , Tcl_Interp *, int , char **);
        !          1322: extern int gen_stop(ClientData , Tcl_Interp *, int , char **);
        !          1323: extern int gen_capacity(ClientData , Tcl_Interp *, int , char **);
        !          1324: extern int gen_display(ClientData , Tcl_Interp *, int , char **);
        !          1325: extern int gen_reset(ClientData , Tcl_Interp *, int , char **);
        !          1326: extern int gen_tur(ClientData , Tcl_Interp *, int , char **);
        !          1327: extern int gen_scsi(ClientData , Tcl_Interp *, int , char **);
        !          1328: extern int gen_readt(ClientData , Tcl_Interp *, int , char **);
        !          1329: extern int gen_read(ClientData , Tcl_Interp *, int , char **);
        !          1330: 0707070035050370551006660011710000040000010136000467251661100002000000002051generic/readt.c#include   <stdio.h>
        !          1331: #include       "../scsi.h"
        !          1332: #include       "../scsish.h"
        !          1333: #include       "../tcl.h"
        !          1334: #include       "fns.h"
        !          1335: 
        !          1336: int
        !          1337: gen_readt(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1338: {
        !          1339:        struct scsi_cmd cmd;
        !          1340:        struct scsi_return ret;
        !          1341:        int unit, i;
        !          1342:        unsigned long ns, ss;
        !          1343:        long bs, addr;
        !          1344:        long t1, t2;
        !          1345:        int count;
        !          1346: 
        !          1347:        if(argc < 2)
        !          1348:                USAGE_RETURN
        !          1349:        count = atol(argv[1]);
        !          1350:        unit = (argc >= 3)? atoi(argv[2]):0;
        !          1351:        set10(cmd, 0x25, unit<<5, 0, 0, 0, 0, 0, 0, 0, 0);
        !          1352:        if(s_io(0, &cmd, 0, &ret, 8, cd->err))
        !          1353:                ERR_RETURN
        !          1354:        ns = longat(&ret.data[0]);
        !          1355:        ss = longat(&ret.data[4]);
        !          1356:        bs = ss? sizeof(ret.data)/ss : 1;
        !          1357:        time(&t1);
        !          1358:        srand(t1);
        !          1359:        addr = nrand(ns-count)-1;
        !          1360:        printf("read(%d,%d): %d blocks @%d (bs=%dB, %d sectors),", s_id, unit, count, addr, bs*ss, bs);
        !          1361:        fflush(stdout);
        !          1362:        time(&t1);
        !          1363:        for(i = count; i > 0; i -= bs){
        !          1364:                set10(cmd, 0x28, unit<<5, addr>>24, addr>>16, addr>>8, addr,
        !          1365:                        0, 0, bs*0, 0);
        !          1366:                if(s_io(0, &cmd, 0, &ret, bs*ss, cd->err))
        !          1367:                        ERR_RETURN
        !          1368:                addr += bs;
        !          1369:        }
        !          1370:        time(&t2);
        !          1371:        printf(" t=%ds (%.0fKB/s)\n", t2-t1, (count*(float)ss/1024.)/((t1 == t2)? 1:t2-t1));
        !          1372:        return(0);
        !          1373: }
        !          1374: 0707070035050554411006640011710000040000010654100467172476100001500000300000generic/core��������������!���������
���|�0&�������d8À����&������&�l�
        !          1375: @
        !          1376: -0u|��½&�&yy����������������������������������������������������������������0&�x��-��������0��1�� �� �&�<���0&�H��0��0����&&&&�@}&�$�qrcc��&J&�
        !          1377: 
        !          1378: ���&���J�izk
        !          1379:   eL`�J�i
        !          1380:   e������@@����_andrew���,��������|�  ��r�&/�������Q��
        !          1381: �|�    �  �����-\�|�     �|� ���/�/l��H��:{� x��P��-\��L����|� ��/������Q�& ������   E�Ti /�������C�� �������D�2k �/$����.(����
~��&@�
�&@�
�(�/p��T���z����Nq�.�������5�����Nq�2k&E@�
��/�������&�&8R
        !          1382: ���&���(t��\��@�&����&���Թ�ؙ��22&
        !          1383: :&y�3�<�<J&�
        !          1384: r��?���������&(���|���&�0&�.��������&�0&�
        !          1385: ��/����� �@x�?x����&8R�s�����)�D�����.MM}QM)M,^^PX,kPXBl,kBl�Y�Y�_�h�h�_�k�k�_0Z�_^^0�o@�o��o0&�o@&�oP&�o`&�op&�o�&�o�&�o�&�o�&�o�&o�&�o�&�o�&|ozowo uo0�o%ro %po0%mo@%jo

&

        !          1386:                
        !          1387: 
        !          1388: 
        !          1389: `&�&0&�&0&@&�&@&%0%�&0�&p&P& 0�&�&�&M }M MQ     %   )  , ./ 123456789:M<=>?@ QMMMMMMQMMMQMQMQM[]^M|} &&&&&���������������@�� @
        !          1390: @
        !          1391: ��(�4�&����
�������������������������������������������~�|�z�x�u�r�o�l�i�f�c�`�]�Z�X�V�T�R�P�N�J�C�?�:�4�/�&��������������������������������������@�M }M }�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&d&|d&yd&vd&sd&pd&md&jd&gd&dd&ad&^d&[d&Xd&Ud&Rd&Od&Ld&Id&Fd&Cd&@d&=d&:d&7d&4d&1d&.d&+d&(d&%d&"d&d&d&d&d&d&d&
d&
        !          1392: d&d&d&&d&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&|c&xc&tc&pc&lc&hc&dc&`c&\c&Xc&Tc&Pc&Lc&Hc&Dc&@c&<c&8c&4c&0c&,c&(c&���{���P8=��ktA-QC]w���Sn���A����*Qx+^aw}0���eo��$12"�\�-Z�n8�Z��c^H�f&I&u�tA��a��j:��K<��W&�XhN��d ���?\qcLN�*OH��SY"�y=lSuI�P�y~MH�x�@V;Zg#WpCQ`,�����U�DQ��  :�#���a�����aT�kH�5        ��`#���)���CAm�_�eNP[���i]��T$.KD_nbX�xm0hX��M�)X%��5�`�Ejj|���e6T`�3��4�,�uh�{�n�Pv�I���bqh�,��D��`t#<�i�O�ot�qM�am�]`Ʉ̡��[�K{��t{�^%��3�i�BtԇoJ6�is�W���Y��70j>�C�p��K;]XJ��X�/*��Y�͋"�8-q�0K\��4�9�g�_���p���;�bT��M}�Ζj���1���p}z`��}����(����1&��P����ܢ���������������@�L�X�خ��O�į���ȸ��Pİ4��Q�X����z��Ա8{0�8��{�D�������<�ܳl��~��`LT����LT���đd��p��?�:D;�;<�<���<p�0�`=Mĥ�=$�8>(��>?:|?l:d�p�xR|�������Է��P�X���x�R�(�(J�&E�&A�&<�&6�&2�&.�&*�&&�&"�&�&�&�&�&�&�&�&��&��&�&�&�&�&�&ݱ&ر&Ա&ϱ&˱&DZ&ı&��&��&��&��&��&��&��&_�&Y�&Q�&I�&n|b|B|3||
        !          1393: ||�{�{�{�{�{�{v{g{[{N{?{4{+{{{�z�z�z�z�z�z�zlzXzEz2zzzz    zz�y�y�y��y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y}yyyuypycyVyHy9y-y$yyyy�x�x�x�x�x�x�x�x�x�x�x�x�x�x�yx{xvxrxmxixdx`x[xWxRxNxLxJxHxFxDx@x<x8x4x0x,x(x$x xxxx
xx�yLxJxHxFxDxxx�y�d&�d&�d&�d&�d&�d&�*8�8�8��h���������)����������&����&&@��-.&�;�>D;[-�=<=�>�<X?& ;�:�;>d<@�*�-��H:����`@�@A\A,R& R# 1 "readt.c"
        !          1394: # 1 "/usr/ape/include/stdio.h"
        !          1395: 
        !          1396: 
        !          1397: 
        !          1398:  
        !          1399: 
        !          1400: 
        !          1401: # 1 "/usr/ape/include/stdarg.h"
        !          1402: 
        !          1403: 
        !          1404: 
        !          1405: typedef char *va_list;
        !          1406: 
        !          1407: 
        !          1408: 
        !          1409: 
        !          1410: 
        !          1411: 
        !          1412: 
        !          1413: 
        !          1414: # 7 "/usr/ape/include/stdio.h"
        !          1415: 
        !          1416: # 1 "/usr/ape/include/stddef.h"
        !          1417: 
        !          1418: 
        !          1419: 
        !          1420: 
        !          1421: 
        !          1422: 
        !          1423: typedef long ptrdiff_t;
        !          1424: 
        !          1425: 
        !          1426: typedef unsigned size_t;
        !          1427: 
        !          1428: 
        !          1429: 
        !          1430: typedef char wchar_t;
        !          1431: 
        !          1432: 
        !          1433: 
        !          1434: # 8 "/usr/ape/include/stdio.h"
        !          1435: 
        !          1436:  
        !          1437: 
        !          1438: 
        !          1439: 
        !          1440: 
        !          1441: 
        !          1442: 
        !          1443: 
        !          1444: 
        !          1445: 
        !          1446: 
        !          1447: 
        !          1448: 
        !          1449: 
        !          1450: 
        !          1451: 
        !          1452: 
        !          1453: 
        !          1454: 
        !          1455: 
        !          1456: typedef struct{
        !          1457:        int fd;          
        !          1458:        char flags;      
        !          1459:        char state;      
        !          1460:        char *buf;       
        !          1461:        char *rp;        
        !          1462:        char *wp;        
        !          1463:        char *lp;        
        !          1464:        size_t bufl;     
        !          1465:        char unbuf[1];   
        !          1466: }FILE;
        !          1467: typedef long fpos_t;
        !          1468: 
        !          1469: 
        !          1470: 
        !          1471:  
        !          1472: 
        !          1473: 
        !          1474: 
        !          1475: 
        !          1476: 
        !          1477: 
        !          1478: 
        !          1479: 
        !          1480: 
        !          1481: 
        !          1482: 
        !          1483: 
        !          1484: 
        !          1485: 
        !          1486: 
        !          1487: 
        !          1488: 
        !          1489: 
        !          1490: 
        !          1491: 
        !          1492: extern int remove(const char *);
        !          1493: extern int rename(const char *, const char *);
        !          1494: extern FILE *tmpfile(void);
        !          1495: extern char *tmpnam(char *);
        !          1496: extern int fclose(FILE *);
        !          1497: extern int fflush(FILE *);
        !          1498: extern FILE *fopen(const char *, const char *);
        !          1499: extern FILE *freopen(const char *, const char *, FILE *);
        !          1500: extern void setbuf(FILE *, char *);
        !          1501: extern int setvbuf(FILE *, char *, int, size_t);
        !          1502: extern int fprintf(FILE *, const char *, ...);
        !          1503: extern int fscanf(FILE *, const char *, ...);
        !          1504: extern int printf(const char *, ...);
        !          1505: extern int scanf(const char *, ...);
        !          1506: extern int sprintf(char *, const char *, ...);
        !          1507: extern int sscanf(const char *, const char *, ...);
        !          1508: extern int vfprintf(FILE *, const char *, va_list);
        !          1509: extern int vprintf(const char *, va_list);
        !          1510: extern int vsprintf(char *, const char *, va_list);
        !          1511: extern int vfscanf(FILE *, const char *, va_list);
        !          1512: extern int fgetc(FILE *);
        !          1513: extern char *fgets(char *, int, FILE *);
        !          1514: extern int fputc(int, FILE *);
        !          1515: extern int fputs(const char *, FILE *);
        !          1516: extern int getc(FILE *);
        !          1517: 
        !          1518: extern int _IO_getc(FILE *f);
        !          1519: extern int getchar(void);
        !          1520: 
        !          1521: extern char *gets(char *);
        !          1522: extern int putc(int, FILE *);
        !          1523: 
        !          1524: extern int _IO_putc(int, FILE *);
        !          1525: extern int putchar(int);
        !          1526: 
        !          1527: extern int puts(const char *);
        !          1528: extern int ungetc(int, FILE *);
        !          1529: extern size_t fread(void *, size_t, size_t, FILE *);
        !          1530: extern size_t fwrite(const void *, size_t, size_t, FILE *);
        !          1531: extern int fgetpos(FILE *, fpos_t *);
        !          1532: extern int fseek(FILE *, long int, int);
        !          1533: extern int fsetpos(FILE *, const fpos_t *);
        !          1534: extern long int ftell(FILE *);
        !          1535: extern void rewind(FILE *);
        !          1536: extern void clearerr(FILE *);
        !          1537: extern int feof(FILE *);
        !          1538: extern int ferror(FILE *);
        !          1539: extern void perror(const char *);
        !          1540: extern FILE _IO_stream[90              ];
        !          1541: extern FILE *sopenr(const char *);
        !          1542: extern FILE *sopenw(void);
        !          1543: extern char *sclose(FILE *);
        !          1544: extern char *rdline(FILE *, char **);
        !          1545: 
        !          1546: 
        !          1547: 
        !          1548: 
        !          1549: 
        !          1550: 
        !          1551: 
        !          1552: # 1 "readt.c"
        !          1553: 
        !          1554: # 1 "../scsi.h"
        !          1555: typedef unsigned char uchar;
        !          1556: 
        !          1557: struct scsi_cmd
        !          1558: {
        !          1559:        unsigned long id;
        !          1560:        uchar bus_id;            
        !          1561:        uchar flags;
        !          1562:        uchar cmd[10];           
        !          1563:        uchar data[4096];        
        !          1564: };
        !          1565: 
        !          1566: struct scsi_return
        !          1567: {
        !          1568:        unsigned long id;
        !          1569:        uchar scsi_stat;         
        !          1570:        uchar scsi_msg;          
        !          1571:        uchar flags;
        !          1572:        uchar type;              
        !          1573:        unsigned short reg1;     
        !          1574:        unsigned short reg2;     
        !          1575:        unsigned char sense[22];
        !          1576:        char pad[2];
        !          1577:        uchar data[4096];        
        !          1578:        uchar nread;             
        !          1579: };
        !          1580: 
        !          1581: 
        !          1582: 
        !          1583: 
        !          1584: 
        !          1585: 
        !          1586: 
        !          1587: 
        !          1588: 
        !          1589: extern s_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
        !          1590: extern ss_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
        !          1591: extern int s_ignua;     
        !          1592: extern void (*ss_extsense)(uchar *, char *, int);
        !          1593: extern int s_start(int, char *);
        !          1594: extern int s_stop(int, char *);
        !          1595: extern int s_eject(int, char *);
        !          1596: extern int s_id;
        !          1597: extern unsigned long longat(uchar *);
        !          1598: # 2 "readt.c"
        !          1599: 
        !          1600: # 1 "../scsish.h"
        !          1601: struct ClientData
        !          1602: {
        !          1603:        char err[256];
        !          1604: };
        !          1605: typedef struct ClientData *ClientData;
        !          1606: 
        !          1607: 
        !          1608: 
        !          1609: 
        !          1610: struct Tcl_Interp;
        !          1611: typedef int (*Functionfn)(ClientData, struct Tcl_Interp *, int, char **);
        !          1612: 
        !          1613: typedef struct
        !          1614: {
        !          1615:        char *name;
        !          1616:        char *help;
        !          1617:        char *param;
        !          1618:        Functionfn fn;
        !          1619: } Function;
        !          1620: 
        !          1621: typedef struct
        !          1622: {
        !          1623:        char *name;
        !          1624:        char *verbose;
        !          1625:        void (*extsense)(uchar *, char *, int);
        !          1626:        Function *fns;
        !          1627: } Device;
        !          1628: extern void setdevice(Device *);
        !          1629: 
        !          1630: extern void scsi_target(int);
        !          1631: extern void fixedstr(uchar *src, int len, char *dest);
        !          1632: extern void gen_extsense(uchar *, char *, int);
        !          1633: extern int shelfside(char *arg, char *err);
        !          1634: extern void xd(uchar *base, int, FILE *fp);
        !          1635: # 3 "readt.c"
        !          1636: 
        !          1637: # 1 "fns.h"
        !          1638: extern int gen_inq(ClientData , Tcl_Interp *, int , char **);
        !          1639: extern int gen_dev(ClientData , Tcl_Interp *, int , char **);
        !          1640: extern int gen_sense(ClientData , Tcl_Interp *, int , char **);
        !          1641: extern int gen_help(ClientData , Tcl_Interp *, int , char **);
        !          1642: extern 
        !          1643: �;&���������.text
        !          1644: Ltext:.stabs "readt.c",0x64,0,0,Ltext
        !          1645: .stabs "rcc",0xf0,0,17665,652716528
        !          1646: missing parameter name to function `gen_inq'
        !          1647: d�4�t����|�,>Q��`��0���̦�L0��N��`��>h����Mԝ�`��TL}8��M�)L�ԁ<@���M��H�(�H@HN`�D~T=,����N�?�����0����hM�:HOx������Ƚ�;X���T@��(�(����K�{hN�8;,|p��Q��؄��L� �д���=���<�N����؟$����d�������H��M��p?`:$PP�d���Խ�zH�����(���$���<��?L.:�)R�;&�;�;�;�;|?�?��`�������ij�����lOh�ܧȜ��Բ �PDXBHFHFHFHFHF<IDG4K4K4K4K4K4K&�*�Q�Q�Q(z�)chardoublefloatintlong doublelong intshortsigned charunsigned charunsigned long intunsigned short intunsigned intvoidchar[]T*readt.c/usr/ape/include/stdio.h/usr/ape/include/stdarg.h-1va_list/usr/ape/include/stddef.hptrdiff_tsize_twchar_tfdflagsstatebufrpwplpbuflunbufFILEfpos_tremoverenametmpfiletmpnamfclosefflushfopenfreopensetbufsetvbuffprintf...fscanfprintfscanfsprintfsscanfvfprintfvprintfvsprintfvfscanffgetcfgetsfputcfputsgetc_IO_getcfgetchargetsputc_IO_putcputcharputsungetcfreadfwritefgetposfseekfsetposftellrewindclearerrfeofferrorperror_IO_streamsopenrsopenwscloserdline../scsi.hucharscsi_cmdidbus_idcmddatascsi_returnscsi_statscsi_msgtypereg1reg2sensepadnreads_ioss_ios_ignuass_extsenses_starts_stops_ejects_idlongat../scsish.hClientDataerrTcl_InterpFunctionfnnamehelpparamfnFunctionverboseextsensefnsDevicesetdevicescsi_targetfixedstrsrclendestgen_extsenseshelfsideargxdbasefpfns.hgen_inq�)H:&&:�)�)�::l:H:** ;l:&�:�:
        !          1648: *
        !          1649: *�;�:D; ;**�;D;�;�;**d<�;<�;#*#*�<<�<d<)*)*<=�<&&�<�<5*
�<5*�=�<&&`=<=C*C*>`=�=�=U*U*�>�=8>>h*h*�>8>�>�>u*u*X?�>?�>z*z*?�*�*|?X?�?�*�*�*�*�d&�@�d&�@&`@�d&HA&&�@�d&�A&A�d&�A\A�d&DB�A�A�d&�B0BB�d&�B&&XB�d&@C&&�B�B�d&�C&CC�d&�C&TCTC�d&<D&�C�C�d&�D& �C�C�d&�D&PD�d&8E&�D�D�d&�E�D�D�d&�ELELE�d&4F�E�E�d&�F �E�E�d&�F&�HF�d&0G&�F�F�d&�G&
        !          1650: �F�F�d&�G&&@DG�d&,H&&��G�G�d&�H&&&�G�G�d&�H&&        @H@H�d&(I&&
        !          1651: �H�H�d&|I&&�H�H�d&�I&@<I�d&$J&��I�I�d&xJ&&�I�I�d&�J&    8J8J�d& K&
        !          1652: �J�J�d&tK&�J�J�*H:�?�*S�K�*
�*�*       �*Sd<�*
�K�*�*S�>�*
        !          1653: L�*�*SH:�*
`L�*�d&&PM�*tM�?   MX?�*�*�;�M&+&+H:�M++H:�M
+
+�K�M++�KN++�K4N++�KTN++�>�N+&&H:|?�K+tN%+%+SPM�*&'�L*+*+Sd<�*
(�N1+&&H:tNTO�?ClO�*A�;�O1+1+J�O�*AO8+ClO�*BpPClO�* B�;0P�O8+8+J�P�*B�O?+CX?�*CPM�?\QQ?+?+JtQ�*C�PG+%z�T$z&�8Rx� �4R�|�x�x��Y؉u�T�t�x�C�K�*D�K4zG+G+Jtz�*D�QN+C\Q�*E�;�z�PN+N+J {�*E�zU+C\Q�*F�;�{ {U+U+J�{�*F8{\+ClO�*Gx|ClO�*!G\Q8|tQ\+\+J�|�*G�{b+ClO�*Hd}ClO�*#H�}C\Q�*1H\Q$}�|b+b+J�}�*H�|j+C\Q�*I�~C�K�*IX?P~@j+j+J�~�*I�}q+C\Q�*J|C�K�*J�C�;�*#J�C�>�*(J�;<�{q+q+J<��*J�~y+C\Q�*K�ClO�*K4��+�+X?�*)K�;��<�y+y+Jt��*KT��+C\Q�*L �ClO�*L`��+X?�*(L�;��t��+�+J���*L���+ClO�*ML��+X?�* M�;����+�+J���*M���+ClO�*N8��+X?�*N�;�����+�+Jx��*N���+C�K�*O$�ClO�*Od��+X?�*)O�;�x��+�+J���*O���+ClO�*PP�ClO�* P���+X?�*.P�;����+�+JІ�*P���+C\Q�*Q|�ClO�*Q��C�K�**Q�;<�І�+�+J���*Q��+ClO�*R��C�K�*!R�;h����+�+J��*R�O��+\�C�K�*S��ClO�*SԉC�K�**S�;T���+�+J��*S��+C\Q�*T��ClO�*T�C�K�*)T�;����+�+J@��*T�K,��+C\Q�*U�;��@��+�+J��*UX��+(NC�K�*V��C�;�*V،C\Q�* V�KX�tz�+�+J��*V��+C�;�*WčC\Q�*W�;����+�+J��*W0��+ClO�*X��C\Q�*X�;p���+�+J���*X�|��+C\Q�*Y�;\����+�+J���*Y�}��+�+&�+C\Q�*[�;����+�+JT��*[���+CX?�*\�;��T��+�+J��*\l��+C�K�*^�Kl���+�+J���*^��+C�;�*_X�C\Q�*_�;���+�+J���*_đ,C�;�*aD�C\Q�*a�;���,,J���*a��
,C�;�*b�;���
,
,J0��*b��,ClO�*d�;��0�,,Jܔ�*dH�,C�;�*e��C\Q�*e�;H�ܔ,,Jȕ�*e��!,C@�*ft�C�>�*f��C�>�*$f��C\Q�*,f�>4�!,!,J4��*f���',X?�~���?C���*g�C�>�*#gP�C�>�*+g��C\Q�*3g�>З4�',',JИ�*gL�.,C\Q�*h��d<�?C|��*h�;<�ȕ.,.,Jԙ�*h�6,C\Q�*i��Cd<�*i��C�;�*#i�;@�ԙ6,6,J��*i�<,C\Q�*jܛd<|����?Cě�*j�;l��<,<,J��*j�D,0@C\Q�*kd<����D,D,JȜ�*k4�J,C\Q�*lX?4���J,J,Jt��*l���Q,C\Q�*mX?��t�Q,Q,J ��*m��Z,C\Q�*n�;���Z,Z,J̞�*n8�_,C\Q�*o�;8�̞_,_,Jx��*o�f,ClO�*pX?� �f,f,J$��*p��m,
        !          1654: @PMM\Qm,m,J���*q<�x,ClO�*r\Q���}x,x,J<��*r��,CX?�*s\Q��<�,,J��*s��T��,������C\Q�*t�K�����,�,JĢ�*t��,C\Q�*u���K�?ĢCp��*u�K0�p��,�,Jȣ�*uH�ܢ�,    �,�,S�=�,&��,�,&ܤ�,�M ��PM�,�,> ��,�,�=4�&+�=l��,&
        !          1655: �=|?�,T����,&�=|?T��,���,�,&��,
$���    (ĥܤ�,>D��, �,�=d��,�,�=x�&+�=���,�,�=���,�,�>ئ�,�,�>
        !          1656: ��,&�=|?���,��H��,&H:|?TO�,0�"\��,��$|��,�,�=$�,C�;�,#��ܤ�?�Cܧ�,#4�C�;�,$#����?x�Ct��,)#̨C�;�,?#�C�K�,D#�;��t��,�,JL��,#@�-�C�;�,
$��Cܧ�,$8�C�;�,%$x�Ct��,*$��C�;�,@$��C�K�,E$�;��L�--J8��,$d�        -     - -J�;�,%P�-�K�=�?��C���,&P�C�K�,$&��C�;�,,&X?�$�Ь�?��--J��,&��-C�;�,'��C�K�,'�;T�8�--Jԭ�,'�%-C�;�,(��C�K�,(�;@�ԭ%-%-J���,(�N�,-C�;�,)l�C�K�,)�;,���,-,-J���,)خ4-4-4-J�;�,*į9-H�C���,+>l�ȣ9-9-J���,+,��@-L-
        !          1657: L-&l�@-��ĥ        &&$��W-&&H:|?0�W-��l��?ИL-S��@-İ[-
        !          1658: [-p�@-
        !          1659: $�  (�l�f-
        !          1660: C��@-�p��?CԲ@-&,�C�;@-;l�Cp�@-@�;�������?ěf-Sij@-<�Աq-�L�d&&x�@-��(�    0�p�r-r-�K��w-4�w-�Kܴ|-|-�K���-�-ij�-�-Sx�@-��ܳ�-$��d&&��@-е0� p�x�r-�K��-�-�K��-C��@-P�C�K@-��C�;@-#X?�Ьж�?��-�8��-x��?�- ��-�-S��@-��-     ���?C��@-X?ķж�-�-J�@-X��-4�C�;@-X?p���-�-J��@-��-|<�-�-C��@-t��-�-C�;@-!���-�-C�K@-*X?(����-�-J�@-ȸ�-C��@- ��C�K@-" �C�;@-* X?l���-�-J,�@- ��-     �-�-C�K@-!�W-C�K@- !�;�����-�-J$�@-!LD��-�-�-C��@-"ܼC�;@-"(��-�-C\Q@-!"X?��,��-�-Jh�@-"�<��-��.C���-& �[-C�;�- &�;�$�C&��@-����,/x��`��e�(������;����&������&���&(������;�1&/D�� ����w(@����;���&����>�&��,&��(1&/��������(������+�&..������xj&�s��|�,�������.��(�/������D���&8R�s��C����,H�� ��%@&`��/���x���2&�s�;`�J.`��-&�-&�-&J.,�������KO�$(��������s(������/s&�����������������     ��B��I��l�������������������d��~�����������=������������������������������$��2��?��:��D������������������������������R��Z��d��������������������������������������/usr/lib/rcc-g2-/tmp/lcc15535.sAS=asBUILTINS=%.o:       %.c
        !          1661:        $CC $CFLAGS -c $stem.c
        !          1662: %.o:   %.s
        !          1663:        $AS -o $stem.o $stem.s
        !          1664: %.o:   %.f
        !          1665:        $FC $FFLAGS -c $stem.f
        !          1666: %.o:   %.y
        !          1667:        $YACC $YFLAGS $stem.y && $CC $CFLAGS -c y.tab.c && mv y.tab.o $stem.o; rm y.tab.c
        !          1668: %.o:   %.l
        !          1669:        $LEX $LFLAGS -t $stem.l > /tmp/$$.c && $CC $CFLAGS -c /tmp/$$.c && mv /tmp/$$.o $stem.o; rm /tmp/$$.c
        !          1670: CC=pccCDEST=dk!nj/astro/bowell!mesgdcon!CDPATH=:/usr/ucds/src:/usr/src/cmd:/usr/andrewCFLAGS=-gCSOURCE=source=dk!nj/astro/r70 user=andrew line=nj/astro/astro4.9/5.7.FENVIRON=FC=f77FFLAGS=GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start ge_reset ge_tur ge_scsi ge_readtHISTORY=/tmp/histagh13261HOME=/usr/andrewIO=h_ioJL=juke.aJLIB=juke.a(allocate.o) juke.a(cold.o) juke.a(getstatus.o) juke.a(ioshelves.o) juke.a(iodr_sh.o) juke.a(lib.o) juke.a(load.o) juke.a(nlun.o) juke.a(warm.o)JSRC=allocate.c cold.c getstatus.c ioshelves.c iodr_sh.c lib.c load.c nlun.c warm.cLDFLAGS=LEX=lexLFLAGS=MKARGS=pootMKFLAGS=NPROC=2NREP=1PATH=:/usr/andrew/bin:/bin:/usr/bin:/usr/jerq/bin:/usr/ape/apebinPS1=bowell=; PS2=      RANLIB=ranlibSHL=scsish.aSHLIB=scsish.a(ge_dev.o) scsish.a(ge_inq.o) scsish.a(ge_capacity.o) scsish.a(ge_display.o) scsish.a(ge_stop.o) scsish.a(ge_start.o) scsish.a(ge_reset.o) scsish.a(ge_tur.o) scsish.a(ge_scsi.o) scsish.a(ge_readt.o) scsish.a(wr_dev.o) scsish.a(wr_inq.o)SL=scsi.aSLIB=scsi.a(s_h_io.o) scsi.a(ge_sense.o) scsi.a(s_volid.o) scsi.a(s_pperror.o) scsi.a(s_fixedstr.o) scsi.a(s_longat.o) scsi.a(s_xd.o)SYS=researchTERM=dumbTL=tcl.aTLIB=tcl.a(tclAssem.o) tcl.a(tclBasic.o) tcl.a(tclCmdAH.o) tcl.a(tclCmdIZ.o) tcl.a(tclExpr.o) tcl.a(tclGlob.o) tcl.a(tclHistory.o) tcl.a(tclProc.o) tcl.a(tclUtil.o)WREN=wr_dev wr_inqX=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory tclProc tclUtilYACC=yaccYFLAGS=alltarget=ge_readt.onewprereq=generic/readt.c generic/fns.h scsish.h scsi.hnproc=0pid=15529prereq=generic/readt.c generic/fns.h scsish.h scsi.hstem=readtstem0=stem1=stem2=stem3=stem4=stem5=stem6=stem7=stem8=stem9=target=ge_readt.o0707070035050651231006660011710000040000010543230503442706400001700000002320generic/read.c#include        <stdio.h>
        !          1671: #include       "../scsi.h"
        !          1672: #include       "../scsish.h"
        !          1673: #include       "../tcl.h"
        !          1674: #include       "fns.h"
        !          1675: 
        !          1676: int
        !          1677: gen_read(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          1678: {
        !          1679:        struct scsi_cmd cmd;
        !          1680:        struct scsi_return ret;
        !          1681:        int unit, i;
        !          1682:        unsigned long ns, ss;
        !          1683:        long bs, addr, n;
        !          1684:        long t1, t2;
        !          1685:        int count;
        !          1686:        char *file;
        !          1687:        FILE *fp;
        !          1688: 
        !          1689:        if(argc < 2)
        !          1690:                USAGE_RETURN
        !          1691:        unit = atoi(argv[1]);
        !          1692:        addr = atol(argv[2]);
        !          1693:        count = (argc >= 3)? atoi(argv[3]):1;
        !          1694:        file = (argc >= 4)? argv[4]:0;
        !          1695:        printf("lun=%d addr=%d count=%d file=%s\n", unit, addr, count, file);
        !          1696:        if(file){
        !          1697:                if((fp = fopen(file, "w")) == NULL){
        !          1698:                        pperror(cd->err, file);
        !          1699:                        ERR_RETURN
        !          1700:                }
        !          1701:        } else
        !          1702:                fp = 0;
        !          1703:        set10(cmd, 0x25, unit<<5, 0, 0, 0, 0, 0, 0, 0, 0);
        !          1704:        if(s_io(0, &cmd, 0, &ret, 8, cd->err))
        !          1705:                ERR_RETURN
        !          1706:        ns = longat(&ret.data[0]);
        !          1707:        ss = longat(&ret.data[4]);
        !          1708:        bs = ss? sizeof(ret.data)/ss : 1;
        !          1709:        printf("read(%d,%d): %d blocks @%d (bs=%dB, %d sectors)\n", s_id, unit, count, addr, bs*ss, bs);
        !          1710:        fflush(stdout);
        !          1711:        for(i = count, n = bs; i > 0; i -= n){
        !          1712:                if(i < n) n = i;
        !          1713:                set10(cmd, 0x28, unit<<5, addr>>24, addr>>16, addr>>8, addr,
        !          1714:                        0, 0, n, 0);
        !          1715:                if(s_io(0, &cmd, 0, &ret, n*ss, cd->err))
        !          1716:                        ERR_RETURN
        !          1717:                addr += n;
        !          1718:                if(fp)
        !          1719:                        fwrite(ret.data, ss, n, fp);
        !          1720:        }
        !          1721:        return(0);
        !          1722: }
        !          1723: 0707070035050406431006660011710000040000010511210464677245500001400000001727getstatus.c#include       <stddef.h>
        !          1724: #include       <stdio.h>
        !          1725: #include       "scsi.h"
        !          1726: #include       "juke.h"
        !          1727: 
        !          1728: struct Jstatus j_status;
        !          1729: 
        !          1730: static
        !          1731: dolun(struct Lunstatus *lun, uchar *u)
        !          1732: {
        !          1733:        lun->poweron = ((*u)&0x80) == 0;
        !          1734:        lun->diskin = ((*u)&0x40) != 0;
        !          1735:        lun->ready = ((*u)&0x01) != 0;
        !          1736:        u++;
        !          1737:        lun->diskindrive = ((*u)&0x80) != 0;
        !          1738:        lun->driveshelf = (*u)&0x7F;
        !          1739:        u++;
        !          1740:        lun->shelfvalid = ((*u)&0x80) != 0;
        !          1741:        lun->retshelf = (*u)&0x7F;
        !          1742: }
        !          1743: 
        !          1744: j_getstatus(char *err)
        !          1745: {
        !          1746:        struct scsi_cmd cmd;
        !          1747:        struct scsi_return ret;
        !          1748:        int i;
        !          1749: 
        !          1750:        set6(cmd, 0x1D, 0, 0, 0, 10, 0);
        !          1751:        memset(cmd.data, 0, 10);
        !          1752:        cmd.data[0] = 0xE2;
        !          1753:        if(s_io(1, &cmd, 10, &ret, 0, err))
        !          1754:                return(-1);
        !          1755:        set6(cmd, 0x1C, 0, 0, 0, 128, 0);
        !          1756:        if(s_io(0, &cmd, 0, &ret, 128, err))
        !          1757:                return(-1);
        !          1758:        for(i = 0; i < 8; i++)
        !          1759:                dolun(&j_status.lun[i], &ret.data[16+4*i]);
        !          1760:        for(i = 0; i < NSHELF; i++)
        !          1761:                j_status.shelf[i] = ret.data[48+i];
        !          1762:        j_status.iounit = ret.data[98];
        !          1763:        j_status.carrier = ret.data[99];
        !          1764:        j_status.udrive = ret.data[100];
        !          1765:        j_status.ldrive = ret.data[101];
        !          1766:        return(0);
        !          1767: }
        !          1768: 0707070035050375200407770011710000040000020652070464713312700000400000000000inc0707070035050375171006660011710000040000010653540464713312700001300000000247inc/scsi.h#define SCSI_WR         0x80
        !          1769: #define        SCSI_RD         0x40
        !          1770: #define        SCSI_BRESET     0x20
        !          1771: #define        SCSI_RESET      0x10
        !          1772: #define        SCSI_SENSE      0x08
        !          1773: #define        SCSI_LTMOUT     0x04
        !          1774: 
        !          1775: 
        !          1776: #define        SCSI_CERR       0x01
        !          1777: 0707070035050377421006660011710000040000010635640457563431200001200000002035iodr_sh.c#include "scsi.h"
        !          1778: #include       "juke.h"
        !          1779: 
        !          1780: j_shelf_to_drive(int sh, Side side, int dr, char *err)
        !          1781: {
        !          1782:        struct scsi_cmd cmd;
        !          1783:        struct scsi_return ret;
        !          1784: 
        !          1785:        set6(cmd, 0xD6, dr<<5, 0, (sh<<1)|side, 0, 0);
        !          1786:        return(s_io(0, &cmd, 0, &ret, 0, err));
        !          1787: }
        !          1788: 
        !          1789: j_drive_to_shelf(int dr, int sh, Side side, char *err)
        !          1790: {
        !          1791:        struct scsi_cmd cmd;
        !          1792:        struct scsi_return ret;
        !          1793: 
        !          1794:        if(sh < 0)
        !          1795:                set6(cmd, 0xD7, dr<<5, 0, 0, 0, 0);
        !          1796:        else
        !          1797:                set6(cmd, 0xD7, (dr<<5)|1, 0, (sh<<1)|side, 0, 0);
        !          1798:        return(s_io(0, &cmd, 0, &ret, 0, err));
        !          1799: }
        !          1800: 
        !          1801: int
        !          1802: j_empty_drive(long tlimit, char *buf)
        !          1803: {      
        !          1804:        int i, tstop;
        !          1805:        
        !          1806:        tstop = time((long *)0) + tlimit;
        !          1807:        while(time((long *)0) <= tstop){
        !          1808:                setnlun();              /* in case it changes */
        !          1809:                /* look for empty drives */
        !          1810:                for(i = 0; i < nlun; i++)
        !          1811:                        if(!j_status.lun[i].diskin)
        !          1812:                                return(i);
        !          1813:                /* look for spun down drives */
        !          1814:                for(i = 0; i < nlun; i++){
        !          1815:                        if(!j_status.lun[i].ready){
        !          1816:                                if(j_drive_to_shelf(i, -1, SIDEA, buf))
        !          1817:                                        return(-1);
        !          1818:                                else
        !          1819:                                        return(i);
        !          1820:                        }
        !          1821:                }
        !          1822:                sleep(10);
        !          1823:                if(j_getstatus(buf))    /* get the jukebox status */
        !          1824:                        return(-1);
        !          1825:        }
        !          1826:        return(-1);
        !          1827: }
        !          1828: 0707070035050377411006660011710000040000010635660474350146100001400000002652ioshelves.c#include       <stddef.h>
        !          1829: #include       <stdio.h>
        !          1830: #include       <string.h>
        !          1831: #include       "jukeface.h"
        !          1832: #include       "jukebox.h"
        !          1833: 
        !          1834: char *j_shelf[NSHELF];
        !          1835: int j_wrshelf = 0;
        !          1836: 
        !          1837: j_rdshelves(char *err)
        !          1838: {
        !          1839:        FILE *fp;
        !          1840:        static haveread = 0;
        !          1841:        int shno;
        !          1842:        char vname[256];
        !          1843: 
        !          1844:        if(haveread)
        !          1845:                return(0);
        !          1846:        for(shno = 0; shno < NSHELF; shno++)
        !          1847:                j_shelf[shno] = 0;
        !          1848:        if((fp = fopen(JUKEDIR, "r")) == NULL){
        !          1849:                pperror(err, JUKEDIR);
        !          1850:                return(-1);
        !          1851:        }
        !          1852:        while(fscanf(fp, "%d %s\n", &shno, vname) == 2){
        !          1853:                if((shno < 0) || (shno >= NSHELF)){
        !          1854:                fprintf(stderr, "Warning: bad shelf number in %s: %d (vol_id=%s)\n",
        !          1855:                                JUKEDIR, shno, vname);
        !          1856:                        continue;
        !          1857:                
        !          1858:                }
        !          1859:                j_shelf[shno] = strdup(vname);
        !          1860:        }
        !          1861:        fclose(fp);
        !          1862:        haveread = 1;
        !          1863:        return(0);
        !          1864: }
        !          1865: 
        !          1866: j_wrshelves(char *err)
        !          1867: {
        !          1868:        FILE *fp;
        !          1869:        int shno;
        !          1870: 
        !          1871:        if((fp = fopen(JUKEDIR, "w")) == NULL){
        !          1872:                pperror(err, JUKEDIR);
        !          1873:                return(-1);
        !          1874:        }
        !          1875:        for(shno = 0; shno < NSHELF; shno++)
        !          1876:                if(j_shelf[shno])
        !          1877:                        fprintf(fp, "%d %s\n", shno, j_shelf[shno]);
        !          1878:        fclose(fp);
        !          1879:        return(0);
        !          1880: }
        !          1881: 
        !          1882: int
        !          1883: j_shelfof(char *vol_id)
        !          1884: {
        !          1885:        int i;
        !          1886:        char buf[512];
        !          1887: 
        !          1888:        for(;;){
        !          1889:                for(i = 0; i < NSHELF; i++)
        !          1890:                        if(j_shelf[i] && (strcmp(j_shelf[i], vol_id) == 0))
        !          1891:                                return(i);
        !          1892:                if((i = warm_inv(buf)) <= 0)
        !          1893:                        break;
        !          1894:        }
        !          1895:        if(i < 0)
        !          1896:                fprintf(stderr, "jukebox: %s\n", buf);
        !          1897:        return(-1);
        !          1898: }
        !          1899: 
        !          1900: int
        !          1901: j_driveof(char *vol_id)
        !          1902: {
        !          1903:        int i, sh;
        !          1904: 
        !          1905:        if((sh = j_shelfof(vol_id)) < 0)
        !          1906:                return(-1);
        !          1907:        for(i = 0; i < NLUN; i++)
        !          1908:                if(j_status.lun[i].shelfvalid && (j_status.lun[i].retshelf == sh))
        !          1909:                        return(i);
        !          1910:        return(-1);
        !          1911: }
        !          1912: 0707070035050550711006660011710000040000011772210474351347200001000000000371jinit.c#define    _POSIX_SOURCE
        !          1913: #include       <stddef.h>
        !          1914: #include       <stdio.h>
        !          1915: #include       <string.h>
        !          1916: #include       "jukeface.h"
        !          1917: #include       "jukebox.h"
        !          1918: 
        !          1919: void
        !          1920: j_init(Jukebox *j)
        !          1921: {
        !          1922:        j->nshelves = 0;
        !          1923:        j->nluns = 0;
        !          1924:        j->ndrives = 0;
        !          1925:        j->luns = 0;
        !          1926:        j->shelves = 0;
        !          1927:        j->names = 0;
        !          1928: }
        !          1929: 0707070035050421641006660011710000040000010454670457563430700000700000004561juke.3.TH INTERNAL 3
        !          1930: .CT 2 file_io
        !          1931: .SH NAME
        !          1932: jukebox routines
        !          1933: .tr %"
        !          1934: .SH SYNOPSIS
        !          1935: .B "#include %hdr.h%"
        !          1936: .PP
        !          1937: .tr %%
        !          1938: .B "int j_shelf_to_drive(int sh, Side side, int dr, char *err)"
        !          1939: .PP
        !          1940: .B "int j_drive_to_shelf(int dr, int sh, Side side, char *err)"
        !          1941: .PP
        !          1942: .B "int j_empty_drive(int tlim, char *buf)"
        !          1943: .PP
        !          1944: .B "void j_rdshelves(char *buf)"
        !          1945: .PP
        !          1946: .B "int j_getstatus(char *buf)"
        !          1947: .PP
        !          1948: .B "int j_scsiio(struct scsi_cmd *cmd, int ncmd,"
        !          1949: .br
        !          1950: .B "\ \ \ \ \ \ struct scsi_return *ret, int nret, char *err)"
        !          1951: .PP
        !          1952: .B "int j_shelfof(char *vol_id)"
        !          1953: .PP
        !          1954: .B "int j_volid(int dr, char *err)"
        !          1955: .PP
        !          1956: .B "extern char *j_shelf[NSHELF];"
        !          1957: .PP
        !          1958: .B "extern void pperror(char *buf, char *mesg);
        !          1959: .SH DESCRIPTION
        !          1960: .I J_shelf_to_drive
        !          1961: places the disk in shelf
        !          1962: .I sh
        !          1963: in logical drive
        !          1964: .IR dr .
        !          1965: It returns 0 on success;
        !          1966: otherwise an error message is placed in
        !          1967: .I err .
        !          1968: .PP
        !          1969: .I J_drive_to_shelf
        !          1970: places the disk
        !          1971: in logical drive
        !          1972: .IR dr
        !          1973: in shelf
        !          1974: .IR sh .
        !          1975: If
        !          1976: .I sh
        !          1977: is negative,
        !          1978: the disk is returned to its home shelf.
        !          1979: It returns 0 on success;
        !          1980: otherwise an error message is placed in
        !          1981: .IR err .
        !          1982: .PP
        !          1983: .I J_rdshelves
        !          1984: initializes each element of
        !          1985: .I j_shelf
        !          1986: to the volid of the disk on that shelf.
        !          1987: A zero pointer means there is no disk;
        !          1988: a name of
        !          1989: .B UNALLOCATED
        !          1990: means the disk has not been allocated a name yet.
        !          1991: It returns 0 on success;
        !          1992: otherwise an error message is placed in
        !          1993: .IR err .
        !          1994: .PP
        !          1995: .I J_getstatus
        !          1996: initializes
        !          1997: .B j_status
        !          1998: which include the following fields:
        !          1999: .EX
        !          2000:        struct Lunstatus lun[NLUN]; /* disk status */
        !          2001:        uchar shelf[NSHELF];    /* shelf status */
        !          2002:        uchar iounit;           /* I/O unit status */
        !          2003:        uchar carrier;          /* carrier status */
        !          2004:        uchar udrive;           /* upper drive status */
        !          2005:        uchar ldrive;           /* lower drive status */
        !          2006: .EE
        !          2007: A return value of 0 implies success;
        !          2008: otherwise \-1 is returned and an error message is placed in
        !          2009: .IR err .
        !          2010: .PP
        !          2011: .I J_scsiio
        !          2012: performs a SCSI transaction.
        !          2013: It sends the command in
        !          2014: .I cmd
        !          2015: and
        !          2016: .I ncmd
        !          2017: data bytes and stores the return status in
        !          2018: .IR ret .
        !          2019: A return value of 0 implies success;
        !          2020: otherwise \-1 is returned and an error message is placed in
        !          2021: .IR err .
        !          2022: .PP
        !          2023: .I J_shelfof
        !          2024: returns the shelf number of the disk labelled
        !          2025: .IR vol_id .
        !          2026: If there is no such disk,
        !          2027: \-1 is returned.
        !          2028: .PP
        !          2029: .I J_volid
        !          2030: returns the volid of the disk on drive
        !          2031: .I dr
        !          2032: in
        !          2033: .IR err .
        !          2034: A return value of 0 implies success;
        !          2035: otherwise \-1 is returned and an error message is placed in
        !          2036: .IR err .
        !          2037: .PP
        !          2038: .I Pperror 
        !          2039: returns an error message that is contained in 
        !          2040: .IR buf.
        !          2041: .PP
        !          2042: .SH "SEE ALSO"
        !          2043: .SH DIAGNOSTICS
        !          2044: 0707070035050421211006660011710000040000010454730457563430700000700000003362juke.h#define     NLUN    8
        !          2045: #define        NSHELF  50
        !          2046: extern int nlun;
        !          2047: extern void setnlun(void);
        !          2048: extern char *j_shelf[NSHELF];
        !          2049: extern int j_wrshelf;                  /* need to write out shelves */
        !          2050: extern j_rdshelves(char *err);
        !          2051: extern j_wrshelves(char *err);
        !          2052: extern j_inventory(char cold, int tlim, char *err);
        !          2053: 
        !          2054: typedef enum { SIDEA = 0, SIDEB = 1 } Side;
        !          2055: 
        !          2056: struct Lunstatus
        !          2057: {
        !          2058:        unsigned int poweron:1;         /* is power on ? */
        !          2059:        unsigned int diskin:1;          /* is disk in drive? */
        !          2060:        unsigned int ready:1;           /* is disk spun up or spun down? */
        !          2061:        unsigned int writeprotect:1;    /* is disk write protected? */
        !          2062:        unsigned int diskindrive:1;     /* is driveshelf a drive number? */
        !          2063:        unsigned int shelfvalid:1;      /* is retshelf valid? */
        !          2064:        uchar driveshelf;               /* drive number */
        !          2065:        uchar retshelf;                 /* return shelf */
        !          2066: };
        !          2067: 
        !          2068: struct Jstatus
        !          2069: {      
        !          2070:        struct Lunstatus lun[NLUN]; /* disk status */
        !          2071:        uchar shelf[NSHELF];    /* shelf status */
        !          2072:        uchar iounit;           /* I/O unit status */
        !          2073:        uchar carrier;          /* carrier status */
        !          2074:        uchar udrive;           /* upper drive status */
        !          2075:        uchar ldrive;           /* lower drive status */
        !          2076: };
        !          2077: extern struct Jstatus j_status;
        !          2078: extern int j_getstatus(char *err);
        !          2079: extern int j_shelfof(char *vol_id);
        !          2080: extern int j_driveof(char *vol_id);
        !          2081: 
        !          2082: extern char *strdup(char *);
        !          2083: extern int j_shelf_to_drive(int, Side, int, char *);
        !          2084: extern int j_drive_to_shelf(int, int, Side, char *);
        !          2085: extern int j_empty_drive(long, char *);
        !          2086: extern int j_rvolid(int, char *);
        !          2087: extern int j_wvolid(int, char *, char *);
        !          2088: extern void pperror(char *buf, char *mesg);
        !          2089: extern int reserve_drive(int, char *);
        !          2090: extern int release_drive(int, char *);
        !          2091: extern int cold_inv(char, char *);
        !          2092: extern int warm_inv(char *);
        !          2093: extern int j_load(char *vol_id, char *buf, long tlim);
        !          2094: extern int j_unload(char *vol_id, char *buf);
        !          2095: 
        !          2096: #define                JUKEDIR         "/usr/worm/jukedir"
        !          2097: #define                UNALLOCATED     "<unallocated>"
        !          2098: 0707070035050407071007770011710000040000011560720477113665100001000000421733jukebox&�$<��^Юn��P�P�Հ��P��p�P��P�����
�P�&�؎�&�0^�Y�X�W�Vԭ�ԭ�ԭ��Zԭ�Џ�B���ݏ��~�����2Aݏ��~��J���A��1&м�%&��׬мU��&�e-��&��&��&�&��������U�e-��&
׬���&�����&����U�����eU�U����U�������U�U�e��U�eC����U�U�U���U�W�&�U�U�&�����aa�&����U�U�m���U�w���E�Q���Ue�&yy�&y�&�&yy�&Y�����&X�����&W�����&V������&��������&��������&��������&Z������������Џ��������       �������$ЬUХ���׬��U�U��e���������������&�ߒ�P�������&���v������i���׬��������2&��0&�&�
 ������&�� �P�7�Y�X�W�Vխ�
խ��Z�&��Ь���м����������խ��Z    �Z�&�9�X<������|�����ﮌ��&����������&���P�&խ�7�������� �������        Џ����������Z&��c�P�r&խ�������:&��C�P�R&�Y<���������������1&�����������&���P�&�W�ݭ������������&��;�P[�������[���P������G����� 5�����[��I�P������������4�[����=խ�����VE������C&���P_�[�[�-&#�K�<&�K�3&�[�����<�[���6� �������&����P�����&�R�~�&������������&�������&�%�&P��������%4�&�&�Љݬ��)�����4�&�&שּ^�����Y&��|�P ��������b����3�&�&�n��Z��6&[�Z�"&��k�t��&   Џ%YЏ!Y�Yݫ�Z��B��;ի,ݫ���
&��<ЫU��~�P����h;
���&�&�Y;���&�&�L;�Z�[�h���^�����y
&���P �����
        !          2099: ������2�&�&�Z��V
&[�ZE�k:լ��&0����~ݏ�����Z���P�����&��-���2�Z�[�ݬݬ���&�P
Џ����P�&ݬݬ����Pݬ��f&������?2�&�&��ݬݬ��U�P[�[ ݬ��ݬ��S<Џ����P��&��ݬݬ���PZ(�&��ЬU��[U�eЬU�K�ݬ�Z��[ЬU�&�Zݬ�Z�~�[���P Џ����P5ݬ�Z��Q�P        Џ����P�&�#�ЬU��[U�eЬU�K��Pno vol_id %s
        !          2100: <unknown shelf??>ab%s%coffonlun %d(%s,%sline): Usage: jukebox [-aemprsuU] [-w secs] [vol_id
        !          2101: %d: %s
        !          2102: %d
        !          2103: jukebox: %s
        !          2104: -a needs a vol_idu-e needs a vol_id&^��M��P��ԭ�ѭ��ЬUЭ�T�D�ЬU����U�e֭��������/�P[2���
        !          2105: &�&��:�P����xݬ��w:Џ����P�����߭���M�[��@6�PUЭ�U�U�"����ݭ���6���&��~����/������&�n�ЬUЭ�T�PD�ЬU����U�&e��[�&�+�&�R��P��&���&���.�PZ.��
        !          2106: &�&�:�P��&��&ݬ��9Џ����P:�[�[�'ЬU�K�ЬU�K��[��l&�Z��//�[��Z�&�+�P��:
        !          2107: &ݬ��\����P        Џ�&P)ЬUЬT�Ud�E�     ЏQP
ЬUЬT�D�P^�[�[�(ЬU��[T�dݬ�K�����P�[P9�[����ݬ���P[��[�����b�����m.Џ����Pݬݬ������PZ     Џ����P.�[ЬU�[�x[UЬT��UѥZ�[P�[�Џ����Pjukebox: %s
        !          2108: <no name??>wWarning: bad shelf number in %s: %d (vol_id=%s)
        !          2109: %d %s
        !          2110: %s: %sr/usr/worm/jukedirԼЬUԥЬUԥЬUԥЬUԥЬUԥ�^ݬݬ���P
Џ����P������&�p5ݬݬ���P
Џ����P�����&�E5�Wż&~�&醙�PX�[�[�0ЬU��[U�e�WЬUЏ�K�ЬU�K��X[U�e�[��W�����4�[�[�ЬU��[U�e�[��ZЬU�Z��xZUЬT��U�e��Z����4xZUЬT��Uե@ݬ�~�[�Z���P
Џ����P���[�[�ЬU��[U�e�[��W%ݬ�~ݏ�����Z��l�P
Џ����P��Z�M�����U��&Uʏ����U��ݬ�&﹇�P[�[������3ݬݬ������P
Џ����P�J��������Z�[��8�P���ݬ���Џ����P��[�[�����o��3ݬ����ݏ�����Z���P
Џ����P��&����&�ĆЬU�PK�ЬU��[U�&e�&���P�&�W�����3����ЬU�&�Z�&���[�[��S&�X[U�e�=&ЬU�K�ЬU��[U�e�"&�[�����2��
��&��'��������Z�[��%&�P���ݬ���Џ����P�&ЬU��[U�e��V�V�r9�V�s0�V�uC�V�u:�V�c/�YЬU��YU�e#�Y�ݼ�&��#�PYЬU��PU�e��[Y�Y�[���������1ݬ�����Y�Z��#�P   Џ����Pa����&�I�ЬU�PI�ЬU��YU�&e�XYU�&e��&�p$�[������V�&�1ݬݬ����P  Џ����P�P^ݬݬ�~ݬ��C
�P
Џ����P�r&���ݬ���P[� &�[Լc�&�ݬ�~ݬݬ��P
�P
Џ����P�)&ݬݬ�&ݬ����P
Џ����P�&���ݬ��2�P[��[��i&ݬ��   ����ݬ���~ݬ�&�~�&P[�[��&�����2g��[U�e�a  ��[U�eO��[U�e�b��[U�eռ�&Z�Z�Z�+ݬ�������P2���ݬ��v~Џ����P=�P9Լ���ݬ��:��s����'ݬ��ݬ��2��h
�PDISK_ERROR%derror in reading shelf %d: %s; proceeding
        !          2111: vol_id '%s' must end in a or bapparently good superblock but null vol_id<unallocated>process any new disks.
        !          2112: %d: reloading %d disks.
        !          2113: %s@%d -> %d
        !          2114: single shelf %d reload
        !          2115: clearing drive %d:
        !          2116: %d disks in shelves.
        !          2117: thereshstatus done
        !          2118: drstatus done
        !          2119: ^ݬݬ������P
Џ����P�/&ЬU�&�Zݬݬ�� �P
Џ����P�&�[�[�ЬU��[U�e�[��[���ݬ�Z���PY
Џ����P���Y�ݬ�~�[�Z��-
        !          2120: �P
Џ����P���������Z�[��U����P���ݬ��|Џ����Pj�[�����`��-ݬ�����[�Z���    �P   Џ����P8�&�������&��ЬU�PK�ЬU��[U�&e��&� ������P%s -> %d
        !          2121: �&^ݬݬ��R����P
Џ����P�ݬݬ���P
Џ����P��&ݬݬ��"�P
Џ����P��&ݬ�&��z�P[ݬ�����{�K����a�X.�K����b�&X ݬ��ݬ��.Џ����P�t&�K������ݬ��x����PY�Y!�����:ݬ��u.Џ����P�9&լ�&�[ЬU�[��x[UЬT��UZѪYgѪXЬU�[� �[P����&�ݬ�~ݏ�����[���P
Џ����P��ݬݬ��<�PЏ����P��[�n���ݬݬݬ���PW�W��O&ݬ��-Џ����Pjݬ�W�X�Y��M�P      Џ����PM�WPH�
        !          2122: �&��
        !          2123: �ݬݬ���P�����Џ����P������ݬ��6-Џ����P�~�&���PZ�~�&��PZ��[ЬU�[�x[UЬT��U�e�[P{�[��[ЬU�[�;x[UЬT��U��&&ݬ�~ݏ�����[����P    Џ����P9�[P4�[��
        !          2124: �&�9ݬݬ����P�`���Џ����PЏ����Pdisk '%s' busycan't find a free drivecan't find vol_id %svol_id '%s' must end in a or b^ݬݬ������P
Џ����P�&ݬݬ����P
Џ����P�&ݬݬ������P[�["�[ݬ��&ݬ��+Џ����P�R&��&ݬ��m����P[�[��f&ݬ��n+Џ����P�&�[��!&��6)ЬU�&�Zݬ�Z�&�[����P
Џ����P��ݬ��������+ݬ����Z��z�P
Џ����P��&�P�ݬ�&�:|ЬU�PK�ЬU��[U�&eݬ�&�[�Z����P     Џ����Pmݬ�Z�~�[��d�P    Џ����PPݬ��J�����*ݬ����Z����P        Џ����Pݬ�~�[�Z��l�P    Џ����P�P%sa%sbusing unallocated disk from shelf %d
        !          2125: no unallocated disks<unallocated>there is an existing '%s' on shelf %d8"^�2�ЬU������������������,������ݬ�,�����~�����~��g�P
Џ����P�����[�[&�[�[ЬU�&�ЬU��ЬUԥЬU�UZx�~�&�v�P�ЬU�UZ�e&~�&�jv�P�ЬU�UZ�eT�D�]����&�Nv�P�ЬUԥЬUѥ�6ЬUݥ��������(�~������P�PЬU֥��PH^ݬ�͸���1�P
Џ����P�&�[�[
ЏlK���[���@�Z�jUʏ���U�jUʏ����UЏfE���Z�jUʏ���U�jUʏ����UЏ`E������Z�[�[�'&�jUʏ����U�&Y�Yx[UЬT��U�Y�&x[UЬT��UЏl�x[UЬT��UЏ�����x[UЬT��Uԥ�jUʏ����U�&Y�Yx[UЬT��U�Ye���&Uʏ���UVx[UЬT��U�K����Uʏ���Ul��Uʏ����Ux[TЬS��T�U���Ux[TЬS��Tˏ����U�5��&Uʏ����Ux[TЬS��T�U���&Ux[TЬS��Tˏ����U��[�Z������P(^ݬ������s�P  Џ����P@��,�Z�[�[�1�Z[U�eUˏ���UTʏ����U�&Y�YЬU��[U�Ye�[��P8 ^�������x�U�U���������������ݬ�~�����~�����~��'   8 ^�������x�U�U������ЬU>E�p���U��U���������ݬ�~�����~�����~���8 ^լ&�������x�U�U���������������4�������x�U�&U������ЬU>E�����U��U���������ݬ�~�����~�����~��P8 ^�������x�U�U���������&������ݬ�~�����~�����~��    �P  Џ����P�P8 ^�������x�U�U���������������ݬ�~�����~�����~���P    Џ����P�Pݬݬ�~ݏ��g����P�P�&P8$^������������������������������U�0U��������~�����~�����~���loweruppershelf/dev/worm%d���&��!ˏ����U�U�ˏ�����U�U    Џ%[Џ%[�[��V��!ˏ�����U�U
���&�!ˏ�����U�U
����&�!ˏ�����U�U%ˏ�����~����_!
���&�P!���&�C!^����������������
        !          2126: ���������&����������������        �ݬ�~ݬ�
        !          2127: �����~����P[�[PF����������������������ݬݏ�ݬ�~�����~���P[�[P�P�(^ݬ������/����PЬ��&P����[�Z�Z�(&�kUʏ���U�U        Џ�$XЏ�$X�X�kUʏ����U�U Џ�$WЏ�$W�W�kUʏ����U�U Џ�$VЏ�$V�V�Z�������kUʏ����U�U���&Uʏ���U�UU��&Uˏ����U~������Uʏ���U�UV��Uˏ����UT��^$~ʏ����U�U~��L��h)��&Uˏ����UT�Tʏ����Uߥa�T~����=��t�&�0�Z�[������Z�Z2_�ZY�&ZU�UZ�U2�[ZU�eU�[YT�dT�UT��&YU�ZU�Y��&����&Z~�Y��&����[YU�e~�&������2[��e&�&��k~�&�����[��B&�&��kUˏ����UZ�kUʏ���U�U �Zˏ����ZUߥa�Z~�����_
����&�P�[�kUʏ���U�U�kUˏ����U~����(
��u�&��[�kUʏ���U�U�kUˏ����U~��2���
��
�&���Plower drive: no disk
        !          2128: lower drive: disk, LUN=%d
        !          2129: upper drive: no disk
        !          2130: upper drive: disk, LUN=%d
        !          2131: no disk
        !          2132: disk shelf=%d%c (%d)
        !          2133: carrier: I/O shelf%d-%d%ddisk in shelf %d%c (%d)ab, return shelf %d%cdisk in drive %donoffno not drive %d: %sready,%sdisk in LUN,power %s,
        !          2134: no diskuse shelf instead of drive for LUN %dwait ejection,wait loading,temporarydisk%s,: �^��Џ����������5�������P����ݬ��
Џ����P�&լ    Џ@[Џ�[ЬU��T�[T���~ݬ��k����P����U�PU2��ݬ����@��&�AЏ�����.�Э�P�լA�$�~ݬ�����2�P���$�U�PUZѭ�$�&�����ݬ��@�ì$~ݬ�������
�P����qݬ���g���ЬU�$���$լ����&�
Џ�������P^����ЬU��+��ݬݬݬݬݬݬ��h����P���$��������P�z&ݬ�������h������ЬU������O&�������������ЬU��U�U��������d������ݬݏ����ݬ�~�����~�������P�������P�����ЬU��&Uʏ����U�Uk����U�&U����U\��?����������ЬU��U�U���������������ݬ�ݬ�~�����~��U����P������������Pk���Џ0*���ݏ����ЬUߥ$���������������[x�����Uʏ����U�E���[�[��ݬ��Y�&P�P%s; %sreservation conflictintermediate good/metintermediate goodbusyreservedmet/goodcheck conditiongoodscsiio readscsiio write/dev/scsi8 ^Ѭ&�[�UЏb,E��&[�[��&�K��&�l�PZ�������xZU�U���������������ݬ������~�����~��0����PЬ��&P���Z��X����������Uʏ����U�U���&�������Uˏ����U~����Uˏ����U~����Ux��UUˏ����U~��K������Uʏ���U�U+����U����TxTT�TU����TxTT�TU~����l���&�&�_�[������P�^��Ux��UUˏ����U��ѭ�o��Uʏ���U�U8ЬU��~��~��~��~��Uʏ����U�E�����ݬ��GЬU��Uʏ����U�E����Gݬ�����Uˏ����U~ݭ���ݬ���sense: class=#%x, code=#%xextended sense: %sextended sense: %s info=#%2.2x#%2.2x#%2.2x#%2.2xreserved (#f)miscomparevolume overflowequalaborted commandcopy abortedvendor specific (#9)blank checkdata protectunit attentionillegal requesthardware errormedium errornot readyrecovered errorno sense
        !          2135: , addr=0x%xerror class=0x%x, code=0x%x, sense=0x%xno error
        !          2136: sense(%d,%d): 0^��Y�������(���x�U�U���x��U�U���x��U�U���x���U�U�����������&������ݬݏݬ�~�����~�����(^�Y��ݬݬ��C����P
Џ����P�&ݬ�����~ݬ��G����POݏ�~������Pcݏ����������oc�P#�Y�      &������������&[Џ����Z�Y�[�����h����ݬ�����[ݬ������P
        !          2137: �[Z�� �[��ZH�[&�[��Y��Z�� �����9ݬ������ݬ������&P�ݬ�����Zݬ��O����P.����ݬ��k����[�Z��������Џ����PD�Y�Z��������
        !          2138: ݏ���&�ݬ��aЬU������ݬ��        ����PЬU��ЬU�*�x�UЬT�U�x��UЬT�U�x��UЬT�U� x���UЬT�U�
        !          2139: ЬU���ЬU��ЬU��
ЬU�&�ЬU��ݬ�~ݬݏݬ�~��v���P"^ݬ����U�����&���������Y   �P[0����&��P������mݬ��-Џ����P��&ݬݬ������P
Џ����P��&����%���x�U�U���������������������������ݬ��ʹ��~�����~������PͰ��Ͱ�P�z&�����&���PZ�ZU�U���14�U���1K�Z�o�@ݬ����ݏj��&�ʹ���YXݬ����ݏP�1��a&�ʹ���98�����&�h�P��'&��r����ݬ��������ʹ�����ʹ��&�d�P!�ʹ����ݬ���Џ����P������&�P�~ݏ�[����[ݏ�&�����~�P(�����&���P��]ݬ��{Џ����PG�[�&�ݬ�ʹ������&ݬ��>����P        Џ����P�����&��ݬݬ������Pmkfs read: %s%s: errorworm mkfs -f %s %swarning: bad capacity %d
        !          2140: worm mkfs -n %d -f %s %s%s: %sw+rmkfs %s
        !          2141: superblock at %d
        !          2142: read fail on block %d (b=%d)
        !          2143: no superblocktried for superblock at blocks 1,2
        !          2144: read block %d
        !          2145: superblok at 0
        !          2146: ��x�U�U �U�(���d�ݬ��6ݬ��!��I�U�E�acݬ��ݬ���%s: %s%s: unknown errno %dЬU�&U��eSЬU�&U�xST�eU�UTSЬU�&U�xST�eU�UTSxSU��T�TUS�SP��WnPTeT�9PǬ����~ĬnÎ����[��,�PZ�Z[�ǬZ~ĬnÎZP1Ь���^���UǏȭU��ǏȭU~ďȭnÎU��ŭ����Uŭ��G
T�TU[�[   �[�Ƽ�����[︼�ﲼP�����Ǐ�P~ď�nÎPP�!��`���`�P��`��`�^ԭ�լ1�ݏ��&梨�P������&�*��P;ݭ���ﲣխ����ܢ�P���ݭ��&����Zݭ��&�Y�Nԭ�խ� ѭ��í����­��¬���&����!���L��P��ݬ�&�������^�&��s���
ЬQ�Pa�#�
        !          2147: �_�P��_�^Ь[ԭ��[    ��&���Џ����P�[�&�!&�P�����Џ�������[     �       �&���Uʏ����U�U�[       �       �&�mݫ�&��\�[    �
        !          2148: �&�V��Uʏ����U�U"�[      �
        !          2149: �&�:�k�&�#����PЏ�������[        ��&����[ ��&���Э�P�^ݬ��d���.��8���[
��8��&�0Y�P��8����������Ynull pointer dereferenced @%s:%d
        !          2150: stdio/fclose.c�^Ь[�[G�ZЏ��[/�[ �
        !          2151: �&�g&���[�&������P�����Џ����Z� [�[��&��ZP�[      ��&�+&��Uʏ����U�UЏ����P�[     ��&�&��P�P
�P�P�PЏ����P�[      ��&����Uʏ����U�U�[     ��&��ЫY�[      ��&�ЫY�[        ��&�ëY��խ�H�[ ��&��[    ��&�wݭ�ݫ�k��|����P���[       ��&�U��Џ����P�[        ��&�<�[    ��&�/�[    ��&�"ЫU�U��U��[        ��&�   ���P�^ݬ��b���0��8���U��8��&�*W�P��8�����������Vnull pointer dereferenced @%s:%d
        !          2152: stdio/fflush.cЬ[ЬZЏ��Y#�Y      ��&�"���Y�Z�[���� Y�Y��&��P�^ݬ�嘆��.��8���
        !          2153: ��8��&�lV�P��8���������>Vnull pointer dereferenced @%s:%d
        !          2154: stdio/fopen.c�^ެ��ݭ�ݬݬ���P��Э�P��^ЬYŬ�Z�&ЬU�UW�U     ��&�&ЬU�UV�U     ��&�&æ�[�[J�[Z�Z[ЬU�UW�U   ��&�g&�[ݧ�Y��cVЬU�UW�U       ��&�E&��[��
        !          2155: &�Z���ЬU�UW�U   ��&�&���ЬU�UV�U ��&����Uʏ����U�U�ЬU�U���U       ��&��ЬU�U���U    ��&����UЭ�TѤUNЬU�UW�U      ��&��Z�Y�g��q����P[�[QЬU�UV�U ��&�l�[�W�W�W�;ݬ�&�b��PX�X�����#�Y  �!�&�5�Xi�&[�[Y�[Z�Z�j���լЬW�&WìYU�W�U��7^�^ݬ��H���.��8���3��8��&�T�P��8����������Snull pointer dereferenced @%s:%d
        !          2156: stdio/fread.c�^Ь��ЬU�U[�U    ��&�2��
        !          2157: ݬ�&�_���ЬU�U[�U   ��&���&+ ЬU�UZ�U       ��&����+��ЬU�U[�U ��&���k�wݏ�&ݭ���Ú�P�&����ЬU�U[�U      ��&��ݭ�������PkЬU�U[�U      ��&��k�����<ݏ�&ݭ���j��P�&�a���ЬU�U[�U   ��&�I�ݭ���Q����PkЬU�U[�U      ��&�&�k�a�G&ЬU�U[�U ��&���~�k��u�� &ЬU�UZ�U  ��&��&�j[�[�r"�[�r�[�af�[�w.�PЬU�UZ�U       ��&�&�~ݭ�������Pj�ЬU�UZ�U        �"�&�t&ݏ�&ݭ���h��Pj�ЬU�UZ�U    �%�&�G&�&ݭ���O����PjЬU�UZ�U      �&�&�$&�j�����'ЬU�UZ�U    �'�&�&ݏ�&ݭ������PjЬU�UZ�U  �(�&����~�j��O�ЬU�U[�U        �,�&��k������PЬU�UZ�U �-�&�ЬU�UY�U     �-�&��i�a�[�[�[�ЬU�U[�U    �.�&�f�&�ЬU�U[�U �/�&�NԫЬU�U[�U  �0�&�7ԫЬU�U[�U  �1�&� ԫЬU�U[�U  �2�&�   ԫЬP�^ݬ���0��8���m��8��&�BP�P��8����������Pnull pointer dereferenced @%s:%d
        !          2158: stdio/freopen.c�^ެ��ݭ�ݬݬ��r.�P��Э�PЬ[�[       ��&�I&��P�P(�PQ"�A�P`�?W@W@  @�?�?aЏ����P�[�&����NѬ&H�[       ��&���[    ��&���[UѫU$�[  ��&���[    ��&�ë�U�U��[  ��&���Uʏ����U%�[       ��&�ݬݬ�k�����P�����Џ����P�[    ��&�a��3�[      ��&�N�[    ��&�A�[    ��&�4ЫU�U��U��[        ��&���&�[      ��&����P�^ݬ���0��8���q��8��&�FN�P��8����������Nnull pointer dereferenced @%s:%d
        !          2159: stdio/fseek.c�^ެ��ݭ�ݬ��:���c�P��Э�PЬ[�[       ��&�g&��&�[      ��&�T&��Џ����P�[        ��&�;&��ЬP�P&!�P�Pm��[       ��&�&��լ=ݬ�&��N�P�լ�[        ��&����Џ����P�[        ��&���&��[        ��&�Ь�"�[     ��&��[��[       ��&�ԫ�[ ��&��[    ��&�{�[    ��&�n�[    ��&�aЬU�U��U��U��U��[        � �&�@���PѬ���ݏ��~ݬ�����ݏ�&�~ݬ������^ݬ��x���.��8���W��8��&�,L�P��8�����������Knull pointer dereferenced @%s:%d
        !          2160: stdio/setvbuf.c�^�︤�P[�[�Pݏ��&�&ݬ�[������ެ��ݭ�ݬ�[��&�P���[�&���P��Э�PЬ[�[�*[  ЏDZ�KZ�ZPUnknown errorInadequate privilegeOut of security labelsNo such system callSecurity label violationIt's all Greg's faultConcurrency violationLink loopResult too largeArgument too largeBroken pipeToo many linksRead-only file systemIllegal seekNo space left on deviceFile too largeText file busyIllegal ioctlToo many open filesFile table overflowInvalid argumentIs a directoryNot a directoryNo such deviceCross-device linkFile existsIn useDirectory not emptyBad addressPermission deniedNot enough memoryNo more processesNo childrenBad file numberExec format errorArg list too longNo such device or addressI/O errorInterrupted system callNo such processNo such file or directoryNot ownerError 0Џc&&[�[U�UZ�&U[�U   ��&�n�0j�[ ��&�^�k9��[       �
�&�L�k�P�[     ��&�8�k�~���������P�լ���ݬ��ZHЬPЏ\&&P�^ݬ��ֹ��0��8���������8��&��G�P��8����w�����Gnull pointer dereferenced @%s:%d
        !          2161: stdio/tmpnam.c��^����ЬU�UX�U
ݏ��&�-%�h%��ЬU�UX�U
ݏ��&�
        !          2162: %ЬU�UW�U
ݏ��&��$Ѩ�,ЬU�UV�&U��U
ݏ��&��$ݬ�f~���bЬU�U���U
ݏ��&�$Э�UХU�U��Э�T�&U��U
ݏ��&�$ЬU�U���&U��U
ݏ��&�b$���������֬�[/ЬU�UX�&U��U
ݏ��&�-$�hUʏ���U�E�6�[ЬU�UX�U
ݏ��&�$�hUʏ���U�E���ЬU�UX�U
ݏ��&��#�h*.��U�UX�U�
ݏ��&�#Ш�Z֬�Zt�[�ZZl�Z+ЬU�UX�&U��U
ݏ��&�#�Z
        !          2163: U�hT�TU�0UZЬU�UX�U
ݏ��&�^#�hU�0UЬU�UW�U
ݏ��&�>#�g9�ЬU�UX�U
ݏ��&�!#�h.�֬ЬU�UX�U
ݏ��&��"�h*(��U�UX�U�
ݏ��&��"Ш�Y֬��Y+ЬU�UX�&U��U
ݏ��&�"�Y
        !          2164: U�hT�TU�0UYЬU�UX�U
ݏ��&�"�hU�0UЬU�UW�U
ݏ��&�g"�g9�8Џ����Y/ЬU�UX�&U��U
ݏ��&�:"�hUʏ���U�E�C�[ЬU�UX�U
ݏ��&�"�hUʏ���U�E���ЬU�UX�U
ݏ��&��!�hU�E���DЬU�UX�&U��U
ݏ��&�!�hU�E�̽U�Y�Z�[߬ݬ�e�P�����ЬU�UX�U
ݏ��&�}!�h��ЬU�UX�U
ݏ��&�[!ЬU�UW�U
ݏ��&�C!Ѩ�,ЬU�UV�&U��U
ݏ��&�!ݬ�f~��p�bЬU�U���U
ݏ��&�� Э�UХU�U��Э�T�&U��U
ݏ��&�� ЬU�U���&U��U
ݏ��&� ���������ЬU�UX�U
ݏ��&� �h�A�������P��^ˏ�����U�U��&[ЬU�UZ�U
ݏ��&�I ЬU�UY�U
ݏ��&�1 Ѫ�ݬ� ��|�8ЬU�UX�U
ݏ��&� ШU�UW�&U��U
ݏ��&��� g�[�[��u���ЬU�UZ�U
ݏ��&�ЬU�UY�U
ݏ��&�Ѫ�AЬU�UX�U
ݏ��&��hU�UW�Uh
ݏ��&�nݬ���~�フwЬU�UV�U
ݏ��&�FЦU�U���&U��U
ݏ��&�(ЬU�U���U
ݏ��&�Э�U�eU�U���U��
ݏ��&��Э�U�����ˏ�����U�U��&[ЬU�UZ�U
ݏ��&�ЬU�UY�U
ݏ��&�Ѫ�ݬ� ���8ЬU�UX�U
ݏ��&�rШU�UW�&U��U
ݏ��&�U� g�[�[��u���Ѭ&�&ZЬZ�ZP��^�YЬU�UX�U
ݏ��&��hU�UW�Uh
ݏ��&��Ч�Zˏ�����U�U��լ+�[�[�[��Z
ݏ��&��Z[U�e���[�[�Z
ݏ��&��Z[U�e��ЬU�UX�U
ݏ��&�tЬU�UW�U
ݏ��&�\Ѩ�ݬ� �流:ЬU�UV�U
ݏ��&�/ЦU�U���&U��U
ݏ��&�� ���Y�[�[��q���լ���[��ЬU�UX�U
ݏ��&��ЬU�UW�U
ݏ��&�Ѩ�*�ZU�UV�&UZ�U
ݏ��&�ݬ�f~���`ЬU�U���U
ݏ��&�pЭ�UХU�U��Э�T�&U��U
ݏ��&�J�ZU�U���&UZ�U
ݏ��&�.������Y�[�[��Z
ݏ��&��j�������[��ЬU�UX�U
ݏ��&��ЬU�UW�U
ݏ��&��Ѩ�*�ZU�UV�&UZ�U
ݏ��&�ݬ�f~����`ЬU�U���U
ݏ��&�|Э�UХU�U��Э�T�&U��U
ݏ��&�V�ZU�U���&UZ�U
ݏ��&�:������Y�[�Z
ݏ��&� �j� ���ˏ�����U�U��ЬU�UX�U
ݏ��&��ЬU�UW�U
ݏ��&��Ѩ�ݬ� ���:ЬU�UV�U
ݏ��&�ЦU�U���&U��U
ݏ��&�� ���Y�[�[��q����YPˏ�����U�UVЬU�U[�U
ݏ��&�C�kU�UZ�Uk
ݏ��&�*Ъ�U�UY�U
ݏ��&���Z�i�ˏ�����U�URЬU�U[�U
ݏ��&���kU�UZ�Uk
ݏ��&��Ъ�U�UY�U
ݏ��&�����iPЬU�U[�U
ݏ��&��kU�UZ�Uk
ݏ��&�uЪ�U�UY�U
ݏ��&�]���i�P��^լ�&ˏ�����U�UDЬU�UV�U
ݏ&�&��fU�U�t��Uf
ݏ&�&����t�UХ��x���ˏ�����U�UDЬU�UV�U
ݏ&�&���fU�U�p��Uf
ݏ&�&���p�U2���x��ˏ�����U�U@ЬU�UV�U
ݏ&�&�w�fU�U�l��Uf
ݏ&�&�\��l�UХ��x�>ЬU�UV�U
ݏ       &�&�7�fU�U�h��Uf
ݏ      &�&���h�UХ��x���x�Џn�|���x�Z�r&ˏ�����U�UЏn�|�!ˏ�����U�UЏn�|�  Џn�|���x�Z�.&Џn�|�ˏ�����U�UBЬU�UV�U
ݏ&�&��fU�U�t��Uf
ݏ&�&�j��t�UХ�Z��ˏ�����U�UBЬU�UV�U
ݏ&�&�6�fU�U�p��Uf
ݏ&�&���p�U<��Z�ˏ�����U�U>ЬU�UV�U
ݏ&�&���fU�U�l��Uf
ݏ&�&����l�UХ�Z<ЬU�UV�U
ݏ&�&��fU�U�h��Uf
ݏ&�&���h�UХ�Z�ZЏn�$ޭ�[�[U�UV�&U[�U
ݏ&�&�ZЬ U�U�t��U
ݏ&�&�@ЬU�U�Z��B��t�PU�efЬU�U�Z��?B�PZ�Z�լ&ޭ�U�U[U�U&�[
ݏ"&�&�����0�[ޭ�U�U[U�U�Y�Y�Yˏ�����U�U+Ѭ-�[
ݏ'&�&����0�YЏn�$Џn�$ݬ$�&�7�PV��|��&�7ޭ�U�U[U�YU�VU�PUW�W�X�X�X�XWˏ�����U�U�;ˏ�����U�U�h&լ�]&ݬ��|��ݬݬ$��ЬU�UV�U
ݏ3&�&��ЬU�U�t��U
ݏ3&�&����t�UѦ�ݬ�0���HЬU�U�p��U
ݏ3&�&���p�UХU�U�l���p�T�&U��U
ݏ3&�&�{�0�l��X�X�`����W&ЬU�UV�U
ݏ9&�&�LЬU�U�t��U
ݏ9&�&�2��t�UѦ�ݬ� ��x�HЬU�U�p��U
ݏ9&�&����p�UХU�U�l���p�T�&U��U
ݏ9&�&��� �l��X�X�`���ݬ��|���(�ݬݬ$����ЬU�UV�U
ݏ@&�&�ЬU�U�t��U
ݏ@&�&�q��t�UѦ�ݬ�0�ﷀHЬU�U�p��U
ݏ@&�&�=��p�UХU�U�l���p�T�&U��U
ݏ@&�&��0�l��Y�Y�`�����ЬU�UV�U
ݏC&�&��ЬU�U�t��U
ݏC&�&����t�UѦ�3������[U�U�p��U[
ݏC&�&�ݬ��p�U�e~���iЬU�U�l��U
ݏC&�&�r��l�UХU�U�h���l�T�&U��U
ݏC&�&�I������[U�U�d��U[
ݏC&�&�*��d��h�ޭ�U�[U�����Vݬ��|���r�ݬݬ$��e��ЬU�UV�U
ݏI&�&��ЬU�U�t��U
ݏI&�&���t�UѦ�ݬ�0��&HЬU�U�p��U
ݏI&�&���p�UХU�U�l���p�T�&U��U
ݏI&�&�^�0�l��Y�Y�`�����ЬU�UV�U
ݏL&�&�/ЬU�U�t��U
ݏL&�&���t�UѦ�3������[U�U�p��U[
ݏL&�&��ݬ��p�U�e~��6~iЬU�U�l��U
ݏL&�&���l�UХU�U�h���l�T�&U��U
ݏL&�&�������[U�U�d��U[
ݏL&�&�t��d��h�ޭ�U�[U�����ЬU�UV�U
ݏN&�&�@ЬU�U�`��U
ݏN&�&�&��`�UѦ�ݬ� ��l}HЬU�U�\��U
ݏN&�&����\�UХU�U�X���\�T�&U��U
ݏN&�&��� �X��X�X�`����WP��O��L�~�ݬݬݬݬݬ�   �:�����9���&�
        !          2165: ݬݬݬݬݬ�       �����������~�ݬݬݬݬݬ�       ������������~�ݬݬɏ&�U�U~ݬݬ�     ���������~�
        !          2166: ݬݬݬݬݬ�       ������I��F�~�ݬݬݬݬݬ�       �^���ݏEݬݬݬݬݬ��ݏGݬݬݬݬݬ��bݏeݬݬݬݬݬ��Bݏfݬݬݬݬݬ��"ݏgݬݬݬݬݬ����^���Џe�ܐ�VЬU�U���U
ݏ�&�&��
�U�eU�U���U��
ݏ�&�&�
Э�Up����լ���V��Э�U�U�eg�U�f4�U�g}�U�g�Э�U�U�E-�U�GP�߭�߭�߭�ݬ�p��~��f�PYЏE�ܐ�eV߭�߭�߭��&�~�p��~��yf�PYSЏE��լ�&�߭�߭�߭�ݬ�p��~��Jf�PY�&��Uя����U�U���fV­����eV׬�Y��X��U�U�g �U�G=ˏ�����U�U0�V�f����U�UXí�X�լԬ�&XUѬU�&X�ЬZ
ˏ�����U�U�Z�V�fխ����Z�Zխ�
ˏ�����U�U�Z�V�f�ޭ�Wխ�í�&���&����Э�[2�WU�U���&UW�U
ݏ�&�&���
        !          2167: [~�
        !          2168: nÎ[UЭ�T�0Ud�
        !          2169: [�[� �WU�U���&UW�U
ݏ�&�&��0��ޭ�U�WU�ޭ�U�UWU�U�UZˏ�����U�U��ЬU�U���U
ݏ�&�&�aЬU�U���U
ݏ�&�&�HЭ�UЭ�Tѥ�ݬ� ��xCЬU�U���U
ݏ�&�&�Э�UХU�U��Э�T�&U��U
ݏ�&�&��
        !          2170: � ���Z�Z��`���խ��ЬU�U���U
ݏ�&�&�
        !          2171: ЬU�U���U
ݏ�&�&�
        !          2172: Э�UЭ�Tѥ�ݬ�-���wCЬU�U���U
ݏ�&�&�g
        !          2173: Э�UХU�U��Э�T�&U��U
ݏ�&�&�A
        !          2174: �-���P&ˏ�����U�U�ЬU�U���U
ݏ�&�&�
        !          2175: ЬU�U���U
ݏ�&�&��       Э�UЭ�Tѥ�ݬ�+��5wCЬU�U���U
ݏ�&�&�   Э�UХU�U��Э�T�&U��U
ݏ�&�&�   �+���ˏ�����U�U�ЬU�U���U
ݏ�&�&�`   ЬU�U���U
ݏ�&�&�G        Э�UЭ�Tѥ�ݬ� ��vCЬU�U���U
ݏ�&�&�   Э�UХU�U��Э�T�&U��U
ݏ�&�&��� ���V�f�m�[��ЬU�U���U
ݏ�&�&�ЬU�U���U
ݏ�&�&�Э�UЭ�Tѥ�3�[X�Y
ݏ�&�&�|�Y[U�e���0��ݬݭ���uhЬU�U���U
ݏ�&�&�FЭ�UХU�U��Э�T�&U��U
ݏ�&�&� �[X�Y
ݏ�&�&�
        !          2176: �Y[U�e���0��������[�[�������[�ЬU�U�|��U
ݏ�&�&��ЬU�U�x��U
ݏ�&�&���|�U��x�Tѥ�ݬ�0���tHЬU�U�t��U
ݏ�&�&�r��t�UХU�U�p���t�T�&U��U
ݏ�&�&�I�0�p�լˏ�����U�U�ЬU�U�l��U
ݏ�&�&�ЬU�U�h��U
ݏ�&�&����l�U��h�Tѥ�ݬ�.��9tHЬU�U�d��U
ݏ�&�&���d�UХU�U�`���d�T�&U��U
ݏ�&�&��.�`��[�       &ЬU�U�T��U
ݏ�&�&�oЬU�U�P��U
ݏ�&�&�U��T�U��P�Tѥ�D���[U�U%�UX �Y
ݏ�&�&�$���[U�YU�e�\��0�\�ݬ��\���`s~ЬU�U�L��U
ݏ�&�&����L�UХU�U�H���L�T�&U��U
ݏ�&�&����[U�U%�UX �Y
ݏ�&�&����[U�YU�e�X��0�X���X��H��[�[�������sЬU�U���U
ݏ�&�&�UЬU�U���U
ݏ�&�&�<Э�UЭ�Tѥ� �Y
ݏ�&�&�ݬ�i~��mrTЬU�U���U
ݏ�&�&��Э�UХU�U��Э�T�&U��U
ݏ�&�&���Y
ݏ�&�&��i��լˏ�����U�U�ЬU�U���U
ݏ�&�&�ЬU�U���U
ݏ�&�&�oЭ�UЭ�Tѥ�ݬ�.��qHЬU�U�|��U
ݏ�&�&�8��|�UХU�U�x���|�T�&U��U
ݏ�&�&��.�x��[��ЬU�U�l��U
ݏ�&�&��ЬU�U�h��U
ݏ�&�&����l�U��h�Tѥ�=�&XU�[U�Y
ݏ�&�&��&[U�YU�e�t��0�t�ݬ��t����pwЬU�U�d��U
ݏ�&�&�f��d�UХU�U�`���d�T�&U��U
ݏ�&�&�=�&XU�[U�Y
ݏ�&�&�#�&[U�YU�e�p��0�p���p��`��[�[�������V�f��ЬU�U���U
ݏ�&�&��ЬU�U���U
ݏ�&�&�Э�UЭ�Tѥ�ݬݭ����oDЬU�U���U
ݏ�&�&�Э�UХU�U��Э�T�&U��U
ݏ�&�&�`��ܽ�ЬU�U�|��U
ݏ�&�&�AЬU�U�x��U
ݏ�&�&�'��|�U��x�Tѥ�ݬխ��-���+��ݭ���XoXЬU�U�t��U
ݏ�&�&��&��t�UХU�U�p���t�T�&U��U
ݏ�&�&�&խ��-���+������p���ЬU�U�l��U
ݏ�&�&�&ЬU�U�h��U
ݏ�&�&�f&��l�U��h�Tѥ�3������WU�U�d��UW
ݏ�&�&�6&ݬ��d�U�e~��niЬU�U�`��U
ݏ�&�&�&��`�UХU�U�\���`�T�&U��U
ݏ�&�&��������WU�U�X��UW
ݏ�&�&����X��\�ޭ�U�WU�����ЬU�U���U
ݏ�&�&�ЬU�U���U
ݏ�&�&�rЭ�UЭ�Tѥ�ݬ� ��mCЬU�U���U
ݏ�&�&�<Э�UХU�U��Э�T�&U��U
ݏ�&�&�� ���Z�Z��`����ZP�^ݬ�����.��8���#�����8��&��!�P��8����������!null pointer dereferenced @%s:%d
        !          2177: stdio/vfprintf.c0x0123456789abcdef00123456701234567890X0123456789ABCDEF +-�� ^��Ь����w�U�UW�U
ݏD�&�B �gX�X%�j��L�U�UW�U
ݏF�&� Տ�&
ݏF�&� �gU���&U�eUʏ����U�U�&����ЬU�UV�U
ݏH�&��ЬU�U���U
ݏH�&�Э�UѦ�ݬ�&�`i�PWNЬU�U���U
ݏH�&�zЭ�UХU�U��Э�T�&U��U
ݏH�&�TЭ�U�eUˏ���UW�W[Տ�&
ݏI�&�-���&[U�eUʏ����U�U�-����[��������     ���WЏ����W�WP����ݬ�[���y�_���ЬU�UV�U
ݏO�&�ЬU�U���U
ݏO�&�Э�UѦ�ݬ�&�Ph�PWNЬU�U���U
ݏO�&�jЭ�UХU�U��Э�T�&U��U
ݏO�&�DЭ�U�eUˏ���UW�W[�[�������?�  ��7�WЏ����W�WP��'�U�UW�U
ݏQ�&���gU�[U�o����ݬ�[��x���P�����ާU�UW�U
ݏX�&��g*�&Y�Y�﷧�ﱧU�UW�U
ݏ]�&�|�gU�0U��U�UV�U
ݏ]�&�S�f9z�Z1��d�U�UW�&U�X��U
ݏ_�&�'�Z
        !          2178: U�gT�TU�0UZ��3�U�UW�U
ݏ_�&���gU�0U ���U�UV�U
ݏ_�&���f9�Џ����Z���U�UV�U
ݏc�&��f�hL��ƦU�U���U
ݏc�&�Э�U�e�l&�U�U���U
ݏc�&�jЭ�U�e�L-��z�U�U���&U�m��U
ݏc�&�<Э�U�eWЏnW�W����B�U�U���U
ݏd�&�Э�U�eU�E���"������U�UW�U
ݏe�&���gU�EﵚUݭ��Z�Y߬ݬ�e�P��ҥ        ��ʥWЏ����W�WP�ﺥU�UW�U
ݏg�&��g
        !          2179: �Y���U�UW�U
ݏD�&�T�g�������`�Pլ�L&��K�ЬU�U�hA�U�hѬ�L���&ЬU�U�l��U�n\��ЬU�U[�U
ݏr�&���kU�UZ�Uk
ݏr�&�Ъ�U�UY�U
ݏr�&��瘝i�ЬU�U[�U
ݏs�&�s�kU�UZ�Uk
ݏs�&�ZЪ�U�UY�U
ݏs�&�B��T�iPЬU�U[�U
ݏu�&�!�kU�UZ�Uk
ݏu�&�Ъ�U�UY�U
ݏu�&�����i�&P��(^�Y�&���X���ЬU�UV�U
ݏ��&�ЬU�U���U
ݏ��&�Э�UѦ�ݬ�&�Sc�PWNЬU�U���U
ݏ��&�mЭ�UХU�U��Э�T�&U��U
ݏ��&�GЭ�U�eUˏ���UW�W[Տ�&
ݏ��&� ���&[U�eUʏ����U�U�-���ЬU�&U��U��     �ݬ�[���s�]�[+�ЬU�&U��U�?��ӢЬU�UV�U
ݏ��&�ЬU�U���U
ݏ��&�Э�UѦ�ݬ�&�=b�PWNЬU�U���U
ݏ��&�WЭ�UХU�U��Э�T�&U��U
ݏ��&�1Э�U�eUˏ���UW�W[���[-�Џ������ЬU�&U��U�q���ЬU�UV�U
ݏ��&��ЬU�U���U
ݏ��&�Э�UѦ�ݬ�&�oa�PWNЬU�U���U
ݏ��&�Э�UХU�U��Э�T�&U��U
ݏ��&�cЭ�U�eUˏ���UW�W[ЬU�U��&�U�cլ�X�[0�&ЬU�&U��U��� �ЬU�UV�U
ݏ��&��ЬU�U���U
ݏ��&��Э�UѦ�ݬ�&�`�PWNЬU�U���U
ݏ��&�Э�UХU�U��Э�T�&U��U
ݏ��&�~Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�&U��U���S�ЬU�UV�U
ݏ��&�#ЬU�U���U
ݏ��&�
        !          2180: Э�UѦ�ݬ�&�_�PWNЬU�U���U
ݏ��&��Э�UХU�U��Э�T�&U��U
ݏ��&�Э�U�eUˏ���UW�W[�����&X����
        !          2181: ���[0�ЬU�&U��U����r�ЬU�UV�U
ݏ��&�BЬU�U���U
ݏ��&�)Э�UѦ�ݬ�&��^�PWNЬU�U���U
ݏ��&��Э�UХU�U��Э�T�&U��U
ݏ��&��Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�&U��U��丹ЬU�UV�U
ݏ��&�uЬU�U���U
ݏ��&�\Э�UѦ�ݬ�&�^�PWNЬU�U���U
ݏ��&�)Э�UХU�U��Э�T�&U��U
ݏ��&�Э�U�eUˏ���UW�W[�&�&X�&�0[�[9�0[W/яa[�[�fÏa[U�
        !          2182: UVÏA[U�
        !          2183: UV�VW�WZ�Z��&�XŬYU�ZUYЬU�&U��U���ЬU�UV�U
ݏ��&�XЬU�U���U
ݏ��&�?Э�UѦ�ݬ�&��\�PWNЬU�U���U
ݏ��&�Э�UХU�U��Э�T�&U��U
ݏ��&��Э�U�eUˏ���UW�W[�0[�[9�����яa[�[�f�����яA[�[�F�����列ݬ�[��nm�X�Pլ�&ЬU�U&�U�j&�U��&ЬU�U�hA�U�hѬ�L����ЬU�U�l���U�n_�ЬU�UW�U
ݏ��&���gU�UV�Ug
ݏ��&��Ц�U�U���U
ݏ��&�Э�U���Ye�ZЬU�UW�U
ݏ��&��gU�UV�Ug
ݏ��&�sЦ�U�U���U
ݏ��&�ZЭ�Uŭ�Ye�&ЬU�UW�U
ݏ��&�3�gU�UV�Ug
ݏ��&�Ц�U�U���U
ݏ��&�&Э�Uŭ�Ye�&ЬU�U�hA�U�hѬ�L���|&ЬU�U�l���U�n_�Z&ЬU�UW�U
ݏ��&��gU�UV�Ug
ݏ��&�sЦ�U�U���U
ݏ��&�ZЭ�U���Ye�&&ЬU�UW�U
ݏ��&�3�gU�UV�Ug
ݏ��&�Ц�U�U���U
ݏ��&�&Э�Uŭ�Ye�ЬU�UW�U
ݏ��&���gU�UV�Ug
ݏ��&��Ц�U�U���U
ݏ��&�Э�Uŭ�YeSЬU�UW�U
ݏ��&��gU�UV�Ug
ݏ��&�lЦ�U�U���U
ݏ��&�SЭ�Uŭ�Ye�&P�
        !          2184: �&ݬݬݬݬݬ��F�����ݬݬݬݬݬ��(�����ݬݬݬݬݬ��
        !          2185: ����~�&ݬݬݬݬݬ�������
        !          2186: �ݬݬݬݬݬ��������ݬݬݬݬݬ������0^���Z�W�Y�&XЬU�U   я�&UЏ�&���v�ЬU�U����U
ݏ��&�DЬU�U����U
ݏ��&�*����U����Tѥ�ݬ�&��W�PVSЬU�U����U
ݏ��&��
����UХU�U�������T�&U��U
ݏ��&��
����U�eUˏ���UV�V[Տ�&
ݏ��&�
���&[U�eUʏ����U�U����ЬU�&U��U�ݬ�[��Ph���[+�[-��&�ZU�UV�&UZ�U
ݏ��&�3
�[fЬU�&U��U���/�ЬU�U����U
ݏ��&��ЬU�U����U
ݏ��&������U����Tѥ�ݬ�&�V�PVSЬU�U����U
ݏ��&�����UХU�U�������T�&U��U
ݏ��&�����U�eUˏ���UV�V[���[.�Y�W�ZU�UV�&UZ�U
ݏ��&�A�[fЬU�&U��U����=�ЬU�U����U
ݏ��&�ЬU�U����U
ݏ��&������U����Tѥ�ݬ�&�U�PVSЬU�U����U
ݏ��&�����UХU�U�������T�&U��U
ݏ��&�����U�eUˏ���UV�V[�0[�[9�����Y�[.������[�e�[�E���ZU�UV�&UZ�U
ݏ&�&�)�[f�XЬU�&U��U���#�ЬU�U����U
ݏ&�&��
        !          2187: ЬU�U����U
ݏ&�&��
        !          2188: ����U����Tѥ�ݬ�&�T�PVSЬU�U����U
ݏ&�&�
        !          2189: ����UХU�U�������T�&U��U
ݏ&�&�t
        !          2190: ����U�eUˏ���UV�V[�[+�[-��&�ZU�UV�&UZ�U
ݏ&�&�6
        !          2191: �[fЬU�&U��U�&��2�ЬU�U����U
ݏ&�&�
        !          2192: ЬU�U����U
ݏ&�&��      ����U����Tѥ�ݬ�&�S�PVSЬU�U����U
ݏ&�&�       ����UХU�U�������T�&U��U
ݏ&�&�        ����U�eUˏ���UV�V[���ZU�UV�&UZ�U
ݏ&�&�O     �[f�XЬU�&U��U����I�ЬU�U����U
ݏ
        !          2193: &�&�        ЬU�U����U
ݏ
        !          2194: &�&������U����Tѥ�ݬ�&�R�PVSЬU�U����U
ݏ
        !          2195: &�&������UХU�U�������T�&U��U
ݏ
        !          2196: &�&�����U�eUˏ���UV�V[�0[�[9�
����ݬ�[��Qc�W�X�P�Z
ݏ&�&�I�jլ�&ЬU�U�h;�U�hѬ�L���ЬU�U�lv�U�n��ЬU�UV�U
ݏ&�&���fU�U����Uf
ݏ&�&������UХ�U�U����U
ݏ&�&�����&������UvPebЬU�UV�U
ݏ&�&�u�fU�U����Uf
ݏ&�&�Z����UХ�U�U����U
ݏ&�&�;����&�tpP����&P��^լ5ЬU�UX�U
ݏ&�&��hU�UW�Uh
ݏ&�&��Ч�[����ЬU�UW�U
ݏ&�&��ЬU�UV�U
ݏ&�&�ѧ�ݬ�&�hP�PXNЬU�U���U
ݏ&�&�Э�UХU�U��Э�T�&U��U
ݏ&�&�\Э�U�eUˏ���UX�XZՏ�&
ݏ &�&�5���&ZU�eUʏ����U�U�2���ЬU�&U��U���ݬ�Z���`�6&�Y���Z�����
�Y�&�P�Yլ�[U�UX�&U[�U
ݏ,&�&��ZhЬU�&U��U���ﰏЬU�UW�U
ݏ-&�&�ЬU�UV�U
ݏ-&�&�hѧ�ݬ�&�O�PXNЬU�U���U
ݏ-&�&�9Э�UХU�U��Э�T�&U��U
ݏ-&�&�Э�U�eUˏ���UX�XZՏ�&
ݏ&&�&�����&ZU�eUʏ����U�U��������ݬ�Z��_լ�[
ݏ1&�&��k�&P��^լ5ЬU�UY�U
ݏ8&�&��iU�UX�Ui
ݏ8&�&�gШ�[լ�&�ЬU�&U��U����Y�ЬU�UX�U
ݏ;&�&�)ЬU�UW�U
ݏ;&�&�Ѩ�ݬ�&��M�PYEЬU�UV�U
ݏ;&�&��ЦU�U���&U��U
ݏ;&�&��Э�U�eUˏ���UY�YZ�Z������Pլ�B����[U�UY�&U[�U
ݏ=&�&��Zi�����&P��^�&[ЬU�UZ�U
ݏD&�&�T�j�^�&�[�&Z�Z�Z[֬����U�U�E���ЬU�UZ�U
ݏI&�&���&-�ЬU�UZ�U
ݏJ&�&���jUЬT�TX�UT!ЬU�UY�U
ݏK&�&���U�XUJЬU�UW�U
ݏK&�&���UЬT�T���UT%ЬU�UV�U
ݏK&�&�p�fUѭ�U�[P��%ЬU�UZ�U
ݏO&�&�E�jUѬU�[P֬Ѭ�M�������[�&Z�Z�ZP��^�&�*�U�U�"��UZ���U�UW�U
ݏZ&�&��&�g�^�������U�UW�U
ݏ[&�&�&�g��Ӌ��ˋ��ŋU�UW�U
ݏ\&�&�&�g!�曆U�UV�U
ݏ\&�&�q&�f�]�լ5ЬU�UW�U
ݏ]&�&�N&�gU�UV�Ug
ݏ]&�&�5&Ц�[�XЬU�&U��U�&��.�ЬU�UV�U
ݏ`&�&��ЬU�U���U
ݏ`&�&��Э�UѦ�ݬ�&�J�PWNЬU�U���U
ݏ`&�&�Э�UХU�U��Э�T�&U��U
ݏ`&�&�Э�U�eUˏ���UW�WY�Y������XQ�P�Z�Y�������P+լ�[U�UW�&U[�U
ݏf&�&�9�Yg�X�������@�ݬ�Y��[լ�[
ݏk&�&��k�&P�^ݬ��҂��0��8��������8��&��P��8����k�����null pointer dereferenced @%s:%d
        !          2197: stdio/vfscanf.c�![�K�܄�K�ӄZ�K�˄�j�[�[�ݬ�&�
        !          2198: �U�E醙ЬE�P�U�U"��&P���G��P��HЬR�RQ:���a��RQP}�S�ST�P:���d)���dc�QT������TQ�Q)Qdc    �cP�aQ�QP�}�V�VS:���g(���gc�QW������WQ�Q(Qgc�VP�ЬUC}�S�TV�URЏ��Y�YUX�YU:Uf�VQU�X�YRW�YR,UfRc�WR     �XU��U�ЬP@ЬV#}�S�TQя��V(���ac��V�(VacЬP�ЬV'}�S�TWя��V,lW���c��V�,lWVcЬPЬT4}�Q�QR+�RSя��T)���ac��T�)Tac�caP�PP�P���~��x�PZ�Z2<�Z7�
ZP�
P�PZP�PP�PP�@Y�i[�&kP�[P�P�ZP
        !          2199: �[�ki�[P�Z�&��^Ь[��!�Z�X�j3�Z���ij�jY�i��[[P�PP�ZP�YP�[[P�PP�ZP�PZ1��ZY�&jZ�ZY��X�X&       ���Z���&���PZݏ��[~��x
        !          2200: PX�XXP�PP�ZP�PZxX~�&��PY�Y�����$�[XP�P�PX�[XP�P&���&�P19��P���xX~�Y��-&1��[[P�PP�P�8�Y�1��)�T��j��&�j�Z�
        !          2201:    �Y��~���~�&��~Y�Y��~��ZPЬ[X�[�&kP�[P�PY�Y2:�Y5�
YP�
P�PYP�PP�PP�@���X�hZ�&jP�ZP�P�YP�Z��[h�[~�&��^Ь[�[�[�m~�[�b~�[�Y~�&k�^�﵅[ԭ��Z�Z�&����֭��jk�kZ��[�[��&�Э�P�^ЬZ�ݬ����PP�PP�ZP�P��Э�j�Z��}W���}[���}YЭ���}�[P�ZP�ZP�&ZP�Pk���P�YP�YP�&YP�P���&��}�}���}���^Ь[ݬ�&�������       �[�&������[��P�P�����~��Q�PW�&W~�&�����PX�X[�XP�W���W���[Z�XYЊ�Э�P׭��P��X[��WWP�PP�XP�P[��WWP�PP�XP�[P�P��#�@h��������|�~�&�\S�^\��'���|P���|��Ь�|�P�P��~�&P�^ݬ�&�y����&P~�&������P���P�Pݬݭ�������
        !          2202: �~ݬ��xV�
        !          2203: �~ݬ��dV�^���A�P��1��ݬ��+}��"}��}��Aݏ�&�8�&���B�P[�&���B�PZ߭��&�B�P���P��        �P������ѭ�����Џ�������[���FB�Z���;BЭ�Pխ��Э�P����Ɩ�����,�>�P�`�l�~�������—ɗ՗�����&�:�N�\�k�z�������ĘИޘ����%�>�R�i�Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough memoryPermission deniedBad addressDirectory not emptyIn useFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesIllegal ioctlText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeLink loopConcurrency violationIt's all Greg's faultSecurity label violationNo such system callOut of security labelsInadequate privilegeЬPЬR�R&�Q{RPPR�PR�P�&PЬPЬR�R&�Q{RPRP�P�PR�RP�&�~ݬ��B�^ЬU�E��~[�[
ݏ��&��;ЬU�kE��~OЬUxU&���&��U�E��e��Uߥ�&�����P[�[
ݏ&�&�;Ь��[
ݏ&�&�;Э���[
ݏ&�&�;�[
ݏ&�&�};ԫԫ�[PլaЬU�U[�U
ݏ
&�&�S;ЬU�UZ�U
ݏ
&�&�;;ЪU�E�~kЬU�U[�U
ݏ&�&�;ЫUЬE��}�� ^ЬU�U���U
ݏ&�&��:Э�UХWЬU�U���U
ݏ &�&��:���X�V�X
ݏ$&�&�:�hZˏ��ZUЬT�TU��U[�ZU�TU�[T�TUY�Y��XU�U���UX�U
ݏ(&�&�g:xYUˏ��[TЭ�S�TUc�&VU�UV�UW����լ�#&ЬU�U���U
ݏ1&�&�:Э�U�W��ЬU�U���U
ݏ2&�&��9Э�U�&�~�&������P��Э�U�U���U
ݏ3&�&��9ЬU�U���U
ݏ3&�&�9ЬU�U���U
ݏ3&�&�9Э�UХU�E�~c��Uߥ���~���~�����ݬ�&�����Э����U�U��ЬT�T���T
ݏ7&�&�B9Э�UЭ�TЬE�ЬU�U���U
ݏ8&�&�9Э�U�W�ЬP���U�      UW�X�&Y
        !          2204: >I��b��Y�X�WY��X�&������P[�[
ݏH&�&��8Ь��[
ݏI&�&�8�&��        Z�      �H�   �ЬU�UV�&U��U
ݏS&�&�8�fU�0U~�
        !          2205: �[��r����P[�&ZU�UZ�U��֬:�
        !          2206: �4ЬU�UV�&U��U
ݏZ&�&�B8�fU�0U~�
        !          2207: �[��(����P[�Z�Z���[P�Tˏ���U�U      �Tx��ˏ����U�U   �Tx��ˏ����U�U   �Tx��ˏ���?�U�U�TЬU�E�a���ˏ����U�U�Tˏ�����U�U� P�TPЬU�UY�U
ݏ&�&�~7�iZˏ����ZU�U]ˏ����ZU�U�Pˏ����ZU�U!ЬU�UY�U
ݏ�&�&�<7�&Zi�&PЬU�UY�U
ݏ�&�&�7�Zi�P�[ˏ��ZU�U�[�ZZˏ���ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U"�[�&ZZ�Z�&Y�Yˏ����YU�U� PЬU�UY�U
ݏ�&�&�z6�Zi�[P�&�&�G����P[�[
ݏ�&�&�S6Ь��[
ݏ�&�&�=6�&��[P�\^ЬU�U���U
ݏ�&�&�6ЬU�U���U
ݏ�&�&��5Э�UЭ�Tѥ�Ь��Ь�Э�ЬU�U���U
ݏ�&�&��5Э�UХ��ЬU�U���U
ݏ�&�&�5Э�UХ��ЬU�U���U
ݏ�&�&�~5Э�UХ����ܭ��ЬU�U���U
ݏ�&�&�U5Э�Uѭ��֭�ݭ��&�����P��Э�U�U���U
ݏ�&�&� 5���YЭ�U�E�_��U�YU���Y
ݏ�&�&��4�i�Y�Y���ЬU�U���U
ݏ�&�&��4�����Э�U�E�^��U���U��ЬU�U���U
ݏ�&�&�4�����Э�U�E�^��U���U��Э�U�U���U
ݏ�&�&�q4������;Э�U�U���U
ݏ�&�&�L4Э�Uˏ��eV��Э�YЭ�[�Z�Y
ݏ�&�&�4�[
ݏ�&�&�4ˏ��iU�VUˏ��kT�TU�ZUW�WZ�YU�U���UY�U
ݏ�&�&��3�[
ݏ�&�&��3н�U�UU�VU�kT�TT�TU�ZUX�XZ�[
ݏ�&�&�3�X��[
ݏ�&�&�z3�Wk�[�Y���:����[
ݏ�&�&�W3�ZkЭ�U�U���U
ݏ�&�&�;3н�U�UV��Э�YЭ�[�Z�[
ݏ�&�&�3�kX�Y
ݏ�&�&��2�[
ݏ�&�&��2ˏ��iU�VU�kT�TT�TU�ZUW�WZ�[
ݏ�&�&�2�W��[
ݏ�&�&�2�Xk�[�YU�U���UY�U
ݏ�&�&�2�[
ݏ�&�&�r2н�U�UU�VUˏ��kT�TU�ZUX�XZ�Y���:����[
ݏ�&�&�52�Xk������ѭ�������Э�U�U���U
ݏ�&�&�2�����Э�U�E��[��U���U[׭�խ�&������[U�U���U[
ݏ�&�&��1Э�U�e�Э�U�U���U
ݏ�&�1Э�UЭ��Э�P�^ˏ��������~Э�U�E�nݬ��f����P�x����ЬP��~t[*ݏq�&������P�gt�P[�[
ݏ�&�+1�kˏ�����U�U�[ݬ�������PYݬ�&�����Y�x����T�[
ݏ�&��0�kZ5�[
ݏ �&��0�[�[������Pk�PZ�Z
ݏ!�&�0�j�Z[�w���ЬP��4^x���VЬU�U���U
ݏ4�&�v0Э�UХXЬU�U���U
ݏ5�&�U0Э�U��VU�&UWЬU�U���U
ݏ6�&�/0Э�UХ[
        !          2208: �X>K�Z��[�W[��X�&������P��Э�U�U���U
ݏ9�&��/���Y�[!�YU�U���UY�U
ݏ;�&��/Խ��[�[V�ЬU�U���U
ݏ<�&�/���ZЬU�U���U
ݏ=�&�/Э�UХU�E�sY��U�ZU��ʏ������ì Xԭ��YU�U���UY�U
ݏC�&�A/�Z
ݏC�&�0/ЬUxUjUЭ�Tɭ�Ud�ZU�U���UZ�U
ݏD�&�/н�U�X P�XPU���Z����Y
ݏG�&��.Э�iG�WC�YU�U���UY�U
ݏX�&�.�ZU�U���UZ�U
ݏX�&�.нн��Z���Э�U�U���U
ݏZ�&�x.Э�U�&W�ݬ�&�����Э�P��^ЬU�UW�U
ݏe�&�C.Ч��ЬU�UV�U
ݏf�&�&.ЦX�X��Э�PЬU�UW�U
ݏo�&��-�WY�H��W��U�YU[ЬU�UV�U
ݏq�&��-�V���H��W��U���UZ������[U�UW�U[
ݏt�&�-������ZU�UV�UZ
ݏt�&�-�gf7�[
ݏu�&�u-�Z
ݏu�&�d-�kj  Џ����W�&W�WP�[Y�����P��<^ݬݬ�������P��խ�S�~�&������P��Э�U�U���U
ݏ��&��,Э�U�&�Э�U�U���U
ݏ��&��,Э�UԥЭ�Pխ�Ь��Ь�Э��&��ԭ�ЬU�U���U
ݏ��&�,Э�Uݥ�&�n����P��Э�U�U���U
ݏ��&�q,Э�UЭ�ЬU�U���U
ݏ��&�O,Э�UХ��ЬU�U���U
ݏ��&�-,���WЭ�U�E�V��U�WU��ЬU�U���U
ݏ��&��+Э�UХ��ЬU�U���U
ݏ��&��+���VЭ�U�E��U��U�VU��Э�U�U���U
ݏ��&�+���Z�[�W
ݏ��&�+�V
ݏ��&�+ˏ��gUˏ��fT�TU�[UYx��Y[�WU�U���UW�U
ݏ��&�L+�VU�U���UV�U
ݏ��&�0+н�U�UUн�T�TT�TU�[UXx��X[�Z
ݏ��&�&+�X��Z
ݏ��&��*�Yj�Z�V���4����|�W
ݏ��&��*ˏ��gU�[UYx��Y[�WU�U���UW�U
ݏ��&�*н�U�UU�[UXx��X[�Z
ݏ��&�s*�X��Z
ݏ��&�^*�Yj�Z�W���x���׭�������ZU�U���UZ
ݏ��&�)*Э�U�e�Э�U�U���U
ݏ��&�*Э�UЭ��Э�P�^ެU�U
ݏ��&��)ˏ����UÏ�U[ޭ�U�U
ݏ��&�)�[��ޭ�U�U
ݏ��&�)ԭ�p��P��0^ЬU�U���U
ݏ��&�z)���XЬU�U���U
ݏ��&�\)Э�UХU�E�ES��U�XUZ������ZU�U���UZ
ݏ��&�*)н�Y�Y�&������P[ЬU�U���U
ݏ��&�&)Э�U�[ e�[j�[U�U P�UPYUɏ�@UW�ZX%������ZU�U���UZ
ݏ�&�(нح�ԭ�Эܭ��[UxUYUЭ�T�[S�S P�SPTT�TUV��ZX%������ZU�U���UZ
ݏ�&�g(нح�ԭ�Эܭ��[ix[YUȏ�@UЭ�T�[ S�S P�SPTT�TUW�ZX%������ZU�U���UZ
ݏ    �&�(нЭ�ԭ�Э�Yx[��U�[ T�T P�TPYT�TUVɏ�@YWЭ�Vޭ�U�U
ݏ"�&��'�WUxWT�TU��ޭ�U�U
ݏ#�&�'�VUxVT�TU��p��P��^ެU�U
ݏ3�&�x'ެU�U
ݏ3�&�c'ЬU�UUx�T�TUYެU�U
ݏ4�&�<'ެU�U
ݏ4�&�''ЬU�UUx�T�TU���&�&������P[�[
ݏ?�&��&�[��ˏ��Y��ʏ�Y�      Y��ȏ���Э���߭��&�%����PZ6Э�U�UX�U
ݏO�&�&�Z UxU��U�U��hЭ�U�Z P�ZPU��Э�U�UX�U
ݏS�&�j&Э�h�[
ݏT�&�U&Э�U�UW�U
ݏT�&�=&Э���X�&X�X��X��E߭��&�����PZЭ�U�UX�U
ݏ\�&��%Э�h�[
ݏ]�&��%�&��&��� ZЬU�UX�U
ݏ��&��%Ï���U�7U�ZUhЬU�UX�U
ݏ��&�%�Z8h�[P�^߭�ݬ������pP��߭�ݬ������pP��ЬU�UZ�U
ݏ��&�W%ЬU�UY�U
ݏ��&�?%í��Ué�TxTT�TU[�[ޭ�U�U
ݏ��&�%x[U�U�� �[[ޭ�U�U
ݏ��&��$x[U�U��g���P��^ԭ���x���|�p�%��Ь��Э�U�U�d��U
ݏ��&�$��d�U�e�h���h�U�U ��U D��h�U�U        ,�U
�|�E�����Ue
        !          2209: �
        !          2210: �
        !          2211: �
        !          2212: �
        !          2213: ���h��8M��h�U�U+�U-<�&�|��&��U�U�`��U��
ݏ��&�$��`�U�e��   ֭��6���Э�U�U�`��U
ݏ�&��#��`�U�e0U�&�x��&��U�U�\��U��
ݏ    �&�#��\�U�e0�Э�U�U�X��U
ݏ
        !          2214: �&�#��X�U�e�pЭ��t�ԭ�ԭ�ԭ��Z+�Z ŭ�
        !          2215: U�VU�0U���Z
ŭ�
        !          2216: U�VU�0U���Z֭�Э�U�U�\��U
ݏ�&�$#��\�U�eU�UV�U0�V9��Z���V.�&�&��U�U�X��U��
ݏ�&��"��X�U�eV�Z��(֭��&��U�U�T��U��
ݏ�&�"��T�U�eV�V0��V0��V9�Э��t���Э�ԭ�֭��0VO��Э��&[��U�U  �
        !          2217: ��    �Z�
        !          2218: ���[�[��ដU�U        ŭ�
        !          2219: U�VU���Z
        !          2220: ŭ�
        !          2221: U�VU��ԭ��&��U�U�T��U��
ݏ"�&�
        !          2222: "��T�U�eV�V0�V9�t���ԭ��V�e�V�E�Z&�Zխ���x�Ь���
���p��&��U�U�T��U��
ݏ=�&�!��T�U�eU�UV�U�X���X�U�U+�U-*�&�p��&��U�U�P��U��
ݏA�&�T!��P�U�eV�V0��V9�%�&��U�U�P��U��
ݏE�&�!��P�U�eV�V0��V0�x�V9�m�0V��Э��l�
ŭ�
        !          2223: U�VU�0U���&��U�U�L��U��
ݏI�&� ��L�U�eU�UV�U0�V9���l���U�UЏ������p�έ���
        !          2224: ԭ�Ь���Z"խ��b��x��VЬ���Kí���U�U���U��խ��Z���Z�Z�X���X���X���Э�U�UnU�P�
nUTa�&!T�P�p�P���ѭ�    1Э�U�UnU�H�
nUTa�� T�H�Э�Ue��E�@\Ta�H�T���Z��խ��խ��ѭ�!�Z[�[Uѭ�U��[��dK�8\��ޭ�U�U
ݏ��&�q��Э�UdE�\��ޭ�U�U
ݏ��&�Gˏ�����U�U��c�zޭ�U�U
ݏ��&������ѭ������έ�UfE�[����
        !          2225: í�ZU�U��խ��A&ˏ������[       dK�y[������ѭ�&�"�\p����
        !          2226: x��������&ԭ�$ˏ������U�U
Э�UdE��[��֭�x������ѭ�&�ޭ�U�U
ݏ��&�M��Э�UdE�[��ޭ�U�U
ݏ��&�#ˏ�����U�U���U�d�R���ѭȏ�c@ޭ�U�U
ݏ��&��Џ�����ޭ�U�U
ݏ��&��Џ�������&ޭ�U�U
ݏ��&�������խ���έ���ˏ������[     fK�(Z�������x������ԭ�$ˏ������U�U
Э�UdE��Z��֭�x������ѭ�&�p��TpT��Э�SeC�ZT��q���ke������Э�UdE�Z��q����p�����"��Z��ޭ�U�U
ݏ��&��Џ���ޭ�U�U
ݏ��&�ԭ�ݭ��Zݭ���t�������P��Э�U�U�D��U
ݏ��&�x��D�Uݥ�&�I����P��Э�U�U�@��U
ݏ��&�KЭ�U�U�<��U
ݏ��&�1Э�U�U�8��U
ݏ��&���8�UХU�E��E��Uߥ��<�~��@�~��<���߭�߭�p��~��M����P���&�&�`����PWխ�ԭ��XЭ�U�U���U��έ�U�U���UXԭ�ԭ�խ����X­����X��í�9��Э�U�UX�U���X���X�4�Э��4���4�[�[��Э�[�[�[X�[���[��խ�.ݭ��W������PWݭ��W�������P��ݭ��&����Э����X�Xݭ���s����P��խ�ݭ�ݭ���a����P��խ�ݭ�ݭ���G����P��խ�ݭ��W��2����PWݭ�ݭ���|����PY�Y
ݏ�&�Щ���Y
ݏ�&�ԩ�W�Y��$����P[�[�pխ�<ޭ�U�U
ݏ �&�]խ�"ޭ�U�U
ݏ �&�Cˏ����U�U���&�Y������PY�W�Y������P���    &�[�&խ��ޭ�U�U
ݏ*�&��ˏ����U�U����@&ޭ�U�U
ݏ+�&�ѭ�������&ޭ�U�U
ݏ-�&�ޭ�U�U
ݏ-�&�vˏ�����U���U��ޭ�U�U
ݏ3�&�Oԭ��
        !          2227: ޭ�U�U
ݏ7�&�1ˏ����U�U�ޭ�U�U
ݏ7�&�   խ��yޭ�U�U
ݏ;�&��ˏ�������ѭ�����������ޭ�U�U
ݏF�&�ɏ������ޭ�U�U
ݏG�&�Џ�������Iխ��>p��TpT�,�pT~��m���aP�,�����W�Y�����pP��qP�$�խ�p� TpT��pT���ޭ�U�U
ݏb�&�
խ�"ޭ�U�U
ݏb�&��ˏ����U�Up���p���Nq���
        !          2228: p���d���r�ܭ�+d�s��խ�p���,�r���,�p�,���`�P��ޭ�U�U
ݏ��&�qˏ�������ѭ菀�&p����ޭ�U�U
ݏ��&�=��p��~��0���eP����`����ޭ�U�U
ݏ��&�
        !          2229: ˏ�����U�U�d�ޭ�U�U
ݏ��&��ѭ�����%ޭ�U�U
ݏ��&�ѭ�����������ޭ�U�U
ݏ��&�Џ�����ޭ�U�U
ݏ��&�|Џ�������ޭ�U�U
ݏ��&�Y�����A&ޭ�U�U
ݏ��&�6ˏ�����U�U���p����ޭ�U�U
ݏ��&�����p��~������eP����`����ޭ�U�U
ݏ��&��ˏ�����U�U��zޭ�U�U
ݏ��&�ѭ��� ޭ�U�U
ݏ��&�խ�����ޭ�U�U
ݏ��&�eЏ���ޭ�U�U
ݏ��&�Hԭ���ޭ�U�U
ݏ��&�*��p��~�����eP����`����ޭ�U�U
ݏ��&��ˏ�������ѭ���vp��TjT��n��RcRT��խ�<ޭ�U�U
ݏ��&�խ�"ޭ�U�U
ݏ��&�ˏ����U�Up��TqT�A  qT�08q���,ݭ��&�����ݭ��&������W�&������Y�&���������ݭ��&�����ݭ��&�����W�&����ݭ��&�����Y�&����լ ЬU�U�D��U
ݏ��&��Э��D���|�r���<�p���<�p�<�P�L^ЬU�U���U
ݏ��&�Э�UХ��ЬU�U���U
ݏ��&�Э�Uѥ���PЬU�U���U
ݏ��&�a��ح��&��U�U���E�C=��U���U��ЬU�U���U
ݏ��&�+���[Э�U�E�=��U�[U��Э�U�U���U
ݏ��&��Э�U�U���U
ݏ��&��н�UЭ�T�&dT�T�U��D����P��խ��&�Zԭ�Э�U�U���U���U
ݏ�&�н�Vˏ��VUЭ�T�TU���UX�VU�TU�XT�TU��Э�U�U���[
ݏ �&�Uˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ�&�(�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ�&���W��[
ݏ�&���Yk�[ѭ�������Э�U�U���U
ݏ�&�Э�U�e�xЬU�U���U
ݏ�&����[׭���������U�U���U[!Э�U�U���U
ݏ�&�]Э�U�e�ЬU�U���U
ݏ�&�<Э�UЭ�ݬݬ�������P��&֭��Zԭ�ЬU�U���U
ݏ%�&�����[ЬU�U���U
ݏ&�&����ĭ�Э�U�U���U���U
ݏ)�&�н�Vˏ��VU���UX�VU�XT�TU��Э�U�U���[
ݏ-�&�~ˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ0�&�Q�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ3�&�#�W��[
ݏ3�&��Yk�[ѭ����$���ЬU�U���U
ݏ>�&�����[Э�U�E��9��U�[U��Э�U�U���U
ݏ@�&�Э�U�eZ׭���������U�U���U[!Э�U�U���U
ݏA�&�{Э�U�e�ЬU�U���U
ݏC�&�ZЭ�UЭ�Э�P��^��iRi��aRU�U���U
ݏ��&�Э�U��ER���9RU�U�|��U
ݏ��&���� RU��|�TxU&���R�&�f������QլԬެU�U
ݏ��&�ˏ����U�U<ЬU�U���U
ݏ��&��&��ެU�U
ݏ��&�vʏ��ЬU�U���U
ݏ��&�SԽ�ެU�U
ݏ��&�;Ѭ��VЬU�U�|��U
ݏ��&�Џ'�|�Џ��[լ#ЬU�U�x��U
ݏ��&��
��x�U�[e�[Pq���RЬU�U�|��U
ݏ��&�
�&�|�Џ��[լ#ЬU�U�x��U
ݏ��&�
��x�U�&[e�[P߭�߭�p�~�������PXެU�U
ݏ��&�V
ЬU�UUˏ���UZp���ޭ�U�U
ݏ��&�+
ʏ����ޭ�U�U
ݏ��&�
ȏ�@���Zc�
��Td�
T`�y
TnZRd�g
RaRT��p��TjT��qT��
n��RqTR׭��&��Э�U�U�UЭ�Uq�E�NI׭�ԭ��Z��U�&UY�Y   ԭ��Y���Y��ԭ�խ�ԭ�Э�U�U���U��Э�U�U���U��ԭ�ЬU�U�U Ԭ�&��Ѭ��ԭ��&��ЬU�U�|�U�q�E�Ue��)�F�,�I�Џ������Џ�������Z:ԭ�լ�&�ЬU�UZ�U���U��ԭ����U�&UZ�Z���&Z���Z�&Z�Y���N���N>I�5��Y�YU�UZ���N�&�V����P�N��NU�U���U[Э�U�U��U�խ���Zp���Э�U�U��Э�������UdЭ�Uˏ����UTpD�G��x��UYˏ����YU�U3ʏ����Yf�nH�֭�ˏ����YU�U֭�dJ�IH��x��YY�Z�Y�f��Fέ��?Э�Uˏ����UTdD�SG�x��UYˏ����YU�U֭�dJ��G�x��YY�Z�Y�խ�(q��Bխ��&Э���׭�d��
        !          2230: �֭�n��Td�Ta�
        !          2231: T��ޭ�U�U
ݏv�&�$
        !          2232: ���խ��Э�UgE�F��
        !          2233: Tc��T���Zp�TjTWnWRcRT��[U�U�|��&U[�U
ݏ��&��   ��|�U�0Weq����M   c��
        !          2234: TqT���&�&ZU�UZ�U����p�
        !          2235: TdT��dT�����Э�UdE�F���&Zp�TjTWnWRcRT��[U�U�|��&U[�U
ݏ��&�=     ��|�U�0We�Z��Ua��    ��Tq�T�*&c����  Tq�TA������[U�U�x��U[
ݏ��&����x�U�e0��[�p�Zd�Q ��`���Э�[p���Э���Э���խ��:&ѭ��.&Э�UpE�DE���&Zp�Tp��RgRTPjPWnWPdPRcRT��[U�U�|��&U[�U
ݏ��&�X��|�U�0We�Z���p�TaTT�p�Tp��RqTRqTR�ˏ����WU�U��[��֭��[
ݏ��&���0k)������[U�U�x��U[
ݏ��&����x�U�e9��[U�U�t��&U[�U
ݏ��&���t�U��t�T�&ed�,e��
TpT�qT�y��Z�����Эȭ�Э���ԭ��Vխ�IѬí�9Z(�&��Y�&YZѭ�Y�Y��í�YU�UY�U���Y��ԭ��Z���Z���&�&�����PVխ�+խ�&ѭĭ�Э��|�Э��|���|�Z�Z���Z���Z��խ�\խ�Hխ�+ݭ��V��3����PV�X�V������P���X�&�<���Э�Xí���Y�Y�X��&����PXݭ��X�������PX�&�&�����P��խ�ݭ�ݭ��������P��ѬKެU�U
ݏ�&�Eլ.ެU�U
ݏ�&�+ˏ���U�U֭�֭��&��ԭ�խ�eЭ�U�U�x��U
ݏ�&��Э�U�U�t��U
ݏ�&����x�UХU�E�/��U�U��t�TޤT�TU�e�&�����P �|��&�|�����|�Uˏ����UZ�Z Z�Z�Z�Z���Z���Z���Z�Z�Z���Z���Z��խ�ݭ��X������PXխ�ݭ�ݭ�������P��խ�=ݭ��X�������P-׭��~�
        !          2236: �X��
        !          2237: ����PXխ��~�
        !          2238: �V�������PVЭ���խ�]ѬWխ��H�&�X��:����PXݭ��X��e����P�$�[U�U�p��&U[�U
ݏ?�&��&�p���խ��խ�ݭ��V�������PV�V��խ���V
ݏL�&�Tݦ�&�*����PV�V
ݏM�&�6Э�U�U�p��U
ݏM�&�Э�U�U�l��U
ݏM�&���l�UХU�E��-��Uߥ��p�~ߦ��*����&�V��9����PV�&Zݭ��X�������0P��ݭ��X��P����PY�Vݭ���a����P��Э�U�U�l��U
ݏX�&���l�Uե�&�p�ݭ��X������P�p���p���ݭ��&������Y�Y�լ�uխ�G�&�X������PXݭ��X������P��Э�U�U�Uˏ������U�UЭ�U�&U���U94�[U�U�h��&U[�U
ݏp�&������h��,խ�[ѭ�9(�[U�U�h��&U[�U
ݏv�&��9�h��x&�[U�U�h��&U[�U
ݏy�&�s��h�U�&��e��&�[U�U�h��&U[�U
ݏ|�&�F����h��Z����~�
        !          2239: �X������PXѭ�V�~�
        !          2240: �V��  ����PV�P��"�~�
        !          2241: ݭ��������P���~�
        !          2242: �V�������PV�Z�����&Z�[U�U�p��&U[�U
ݏ��&�&ݭ��X�������0PU�U���U�p��Z���~�
        !          2243: �X������PX�Z��&�X�������PXݭ��X������PY�Y�Y�ˏ������U�U�1�[��+֭��[U�U�p��&U[�U
ݏ��&�#&�1�p��������[U�U�p��U[
ݏ��&����p�U�e9��[U�U�l��&U[�U
ݏ��&����l�U��l�T�&ed+������[U�U�p��U[
ݏ��&���p�U�e0��[ݭ��&�����V Э�U�U�UV
        !          2244: ݭ��&�����V�&������X�&������[
ݏ��&�O�kЬU�U�p��U
ݏ��&�3��p�U�&��eլЬU�U�l��U
ݏ��&�
        !          2245: �[�l�Э�P�^ݬ��=��0��8���um����8��&�J����P��8�����^�������null pointer dereferenced @%s:%d
        !          2246: stdio/_dtoa.c�A B�?� ����4?DQ[�E�@�?;=z0NaN?��&���@&��)�?��&���@���@A��������P����̽����ݬ��&���ݬݬ���;������Q�P���QP�%�d����P��T���ЬPЭ`Э��PЬP�&PЬQ�aP�&��P����Q�
        !          2247: ���Q��a�(Џ������7����^�С��ݏ#����]��longjmp botch
        !          2248: �0לּ�����լ�Q���^ЬU�U[       ��&�&��P�P&�P�PЏ����Pݬ�&�Vj��ЬU�U[  ��&�&��Uʏ����U�UЏ����PЬU�UZ        ��&�_&ЬU�UY       ��&�M&ЬU�UX       ��&�;&ЬU�UW       ��&�)&�WUѨU�&[ЬU�UV        ��&�&Ц[�[ݩ�j���Z���P��Э�P�P������P <ЬU�U[     ��&����Џ����PЬU�U[   ��&���Џ����PЬU�U[   ��&���ЬU�U[   ��&�zЬU�UZ       ��&�hЪ�ЬU�U[  ��&�QЬU�UZ       ��&�?�����ЬU�U[        ��&�&ЫU�UZ�&U��U        ��&�
�jUˏ���UP�^ݬ��`9��.��8���Ki����8��&� ����P��8�����Z�������null pointer dereferenced @%s:%d
        !          2249: stdio/_IO_getc.c�~�&��[���^ЬU�UZ�U ��&�  ��[�[�P&�[�E&�K�Ue(�0�@��/�(�@�ЬU�UZ�U     ��&�,  ��Џ����Pݬ�&�g����ЬU�UZ�U        ��&��ЬU�UY�U     ��&��ЬU�UX�U     ��&������ЬU�UZ�U      ��&���Uʏ����U�U\ЬU�UZ�U      ��&�ЬU�UY�U     ��&�Щ�ЬU�UZ�U        ��&�iЬU�UY�U     ��&�UЩ�-ЬU�UZ�U      � �&�:ЬU�UY�U     � �&�&Щ���s7��o����&�������^7ЬU�UZ�U     �'�&����Uʏ����U�U��&ЬU�UZ�U        �(�&��ЬU�UY�U     �(�&�ЬU�UX�U     �(�&�����ЬU�UZ�U      �)�&�ЬU�UY�U     �)�&�rѪ��2&ЬU�UZ�U        �*�&�Q��Uʏ����U�UUЬU�UZ�U      �+�&�.ЬU�UY�U     �+�&�ЬU�UX�U     �+�&����~ݩ����P� ЬU�UZ�U    �-�&����Џ����PЬU�UZ�U �0�&�ժ ЬU�UZ�U        �1�&���Џ����PЬU�UZ�U �4�&�ЬU�UY�U     �4�&�lЬU�UX�U     �4�&�X����ЬU�UZ�U      �5�&�=����ЬU�UZ�U   �7�&�ЪU�UY�&U��U        �7�&���i��ЬU�UZ�U   �9�&����Uʏ����U�U�ЬU�UZ�U        �:�&�ЬU�UY�U     �:�&�Ѫ��&ЬU�UZ�U        �;�&�ЬU�UY�U     �;�&�vé���ЬU�UX�U      �<�&�[��Uʏ����U�U!ЬU�UZ�U      �<�&�8��~�j��g���ЬU�UZ�U        �=�&�ЬU�UY�U     �=�&�ݭ�ݩ�j���U���P�� ЬU�UZ�U        �>�&����Џ����PЬU�UZ�U
ݏA�&�ЬU�UY�U
ݏA�&�Щ�ЬU�UZ�U
ݏC�&�ЪU�UY�&U��U
ݏC�&�d��iѬ
        !          2250: �-ЬU�UZ�U
ݏE�&�<ЬU�UY�U
ݏE�&�$é���ЬU�UX�U
ݏF�&���Uʏ����U�U%ЬU�UZ�U
ݏF�&����~�j��
���խ�iЬU�UZ�U
ݏG�&�ЬU�UY�U
ݏG�&�ݭ�ݩ�j��yT���P��$ЬU�UZ�U
ݏH�&�o��Џ����PЬU�UZ�U
ݏK�&�KЬU�UY�U
ݏK�&�3Щ��&ЬU�UZ�U
ݏN�&�ЬU�UY�U
ݏN�&���YUѪU��ЬU�UZ�U
ݏO�&�����ЬU�UZ�U
ݏP�&���Uʏ����U�U%ЬU�UZ�U
ݏP�&���~�j�����ЬU�UZ�U
ݏQ�&�gЬU�UY�U
ݏQ�&�O�&ݩ�j��-S���P&�ЬU�UZ�U
ݏR�&���Џ����PЬU�UZ�U
ݏW�&��&ЬU�UY�U
ݏW�&��&Ѫ��u&ЬU�UZ�U
ݏX�&�&ЬU�UY�U
ݏX�&�&é���ЬU�UX�U
ݏY�&�&��Uʏ����U�U%ЬU�UZ�U
ݏY�&�_&��~�j�����խ�iЬU�UZ�U
ݏZ�&�5&ЬU�UY�U
ݏZ�&�&ݭ�ݩ�j���Q���P��$ЬU�UZ�U
ݏ[�&����Џ����PЬU�UZ�U
ݏ^�&��ЬU�UY�U
ݏ^�&�Щ�ЬU�UZ�U
ݏ_�&�ЬU�UY�U
ݏ_�&�ЬU�UX�U
ݏ_�&�g����ЬU�UZ�U
ݏa�&�HЪU�UY�&U��U
ݏa�&�+��iЬU�UZ�U
ݏc�&���ˏ����P�^ݬ��J/��0��8���-_����8��&�����P��8����P����Ԫ��null pointer dereferenced @%s:%d
        !          2251: stdio/_IO_putc.c�Ь[ЬZ��Z ��&��Z    ��&�Ѫ�#�[U�UY�[�U     ��&�z�Z�i~�����<�Z      ��&�_ЪU�UX֪�U  ��&�H�[U�UW�[�U    ��&�3�gh�[ ��&�#�k�i����Z�&���PYЏ����Y�YP�^ݬ��.��0��8����]����8��&�Ʃ���P��8����sO�����null pointer dereferenced @%s:%d
        !          2252: stdio/fputs.cЬ[�[       ��&��&��Z�Z&(�Z#�J�Ue��������H����[   �       �&�&ի1�[ �       �&�&��Uʏ����U�[ �
        !          2253: �&�g&ݫ�&�����[   ��&�P&���P�[      ��&�=&�&�&�D����P��[       ��&�#&ЫU�UZ       ��&�&�j���[    ��&�������[   ��&���[    ��&��ѫ��i�[       ��&���Uʏ����U:�[       ��&��[    ��&��[    ��&��&�~ݫ����P��[ ��&�kի�P�[    ��&�VЫU�UZ       ��&�D�j�[  ��&�5���[ � �&�%���[ �!�&����[ �"�&�ЫP�^ݬ��+��0��8���[����8��&�j����P��8����M����<���null pointer dereferenced @%s:%d
        !          2254: stdio/sclose.cЏ��[�[      ��&���� [�[��&��[��&�P�[     �       �&�^�[      �       �&�Q�[      �       �&�Dԫԫԫ�[     �
        !          2255: �&�.�&��[ ��&����[        ��&�Џ����k�[P�^ݬ��*��.��8���wZ����8��&�L����P��8�����K�������null pointer dereferenced @%s:%d
        !          2256: stdio/sopenw.c�Ѭ�����Џ����PЬU�U[        ��&�&��P�P,�PQ&�A�P`��&���������ЬU�U[  �       �&�Q&��Џ����PЏ����Pݬ�&��X��ЬU�UZ   ��&�!&ЬU�UY       ��&�&ЬU�UX       ��&��ը�&[ЬU�UW     ��&��Ч[ЬU�UV   ��&����[U�U��U�ЬU�U[  ��&���ЬU�U[   ��&�ЬU�UZ       ��&�ѫ�Џ����PЬU�U[        ��&�c��Uʏ����UЬU�U[  ��&�D��������1ЬU�U[   ��&�&�������U�UZ�U�      ��&���j��P�^ݬ��l(��.��8���?X����8��&�����P��8�����I�������null pointer dereferenced @%s:%d
        !          2257: stdio/ungetc.c��^Ь[ЬYԭ��Wԭ�ԭ��Y ��&��iP�P
$�      PQ)�A�P`������P �Y��Y        �%�&��&�i-�Y       �%�&�&�i+#�YU�U���Y�U      �&�&�&Э�U�e-�&���[N�Y   �-�&�v&�i0   �
        !          2258: [��[�Y  �1�&�X&��&�x�Y     �1�&�D&��&�X�Y�[S�[?�Y        �6�&�#&�i0-�Y       �7�&�&��&�x�Y     �7�&����&�X�Y�[�$[��Y
ݏ@�&���iZ�[X�0Z�Z9�0ZX>яaZ�Z�zÏaZU�
        !          2259: UXяAZ�Z�ZÏAZU�
        !          2260: UX�X[�[WU�XUV�VW�&���VW�Y֭��u���խ�ЬYլЬU�U��
ݏT�&�2�Y��խ��"�,&խ�Џ�PЏ���Pխ��WP�WP�^ݬ���%��.��8���U����8��&�p����P��8����G����B���null pointer dereferenced @%s:%d
        !          2261: gen/strtol.cЬU�UZ      ��&����&[�[�[P�^ݬ��4%��.��8����T����8��&�Ԡ���P��8����F���裂��null pointer dereferenced @%s:%d
        !          2262: stdio/ferror.c����&�(�(�(�(�(�(�(�(�(�(l(�(W(�(�(�(
        !          2263: ,�+�+�+�+�+�+�+�+�+z+j+d+T+I+;+&�6�8N9�;z?vA�C&&&&�F�F�F�F�F�F}FkFYFIF=F+FFF�E�E�E�E�E�E�E�E�EoE[EME>E/EE
        !          2264: E�D�D�D�D�D�D�DDfDRD;D&D/tmp/tn000000000000�G&� @�^�^�]�L�]�^_,_�]�R�]$^*OX^�^�m��l~��N����Rs��n��l��}&|&|&|&|&<&         (((((                  H����������������&&&&&&&&&&&&&&&&&&&&������ /bin/shsh-c*}�@ B�CzEG@�HPtJ$L���M �nO(kQ��R�C@hT��V�*�W ��cY�_�1[���\���.^^kv:@
        !          2265: `#lj�a�x��bXc&���zex�n2���fh
        !          2266: ?�WSh��Ρ�[���u��+��p�%��ľ�MO�E��9r���&����R�n���J����&<d<$�&E���'($<- D2�7��DE�EDEDGDIDKDMDPDSDVDXD[DcDzD �D ��&�D �D ���D �D �D �D ���D �D �<�&��&D!�&D!�&D"�&D"�&D#�&D#�&D$�&D$�&D%�&D%�&D&�&D&�&D'D'D(D(D)@�D)iD*oD*sD+yD"D+���K�"Q� W�"$�&�D �D-�D.�D/�D0�D1�D2�D3�D4�D5]DD6�&D7�D8e�D9&�,D;,i�D<E�&KD>K�&PD?Pp�D@��&�DB��&�DC�DD��&�DF��&�DG���DH�t�DI���DK�DL��&�DN��&�DO�DPDQDR%xvDS<DTMDUd|r�&sDWsDXx�dDY�&�DZ�D[�D\�D\�D]�D^��jD\��&�D`�Da�Db��BDc�De�Df&DgDh�@�@
        !          2267: �@    �@�@�@������������b���"� Di �i ��i!�$k"�2PDm$�$Dn$�<Do7�@Dp@�p@��pA�$rB&2P&�"DtD�DDuDDvZ�cDwc�wc&�wd&$yd&&2PD{m�mD�m�&�D��D���&�D��D���&�D��D��D��/&%4&!9&(D����D��>&C&�D�H&D�+M&�&8D�8R&@(V&�Z&@
        !          2268: \&�b��CD�C��Cc&��Dl&$�Ds&2Pz&�D�M�MD�M�&bD�bD�y�&�D��D���&�D��D��D���&�D���&@(�&��&@
        !          2269: �&�b���D������&����&$���&2D�&�(�&��&�"�&�"D����D��D��D���&D�D��&&D�&D�6�&:D�:�&�D�M�&ZD�ZD�a�&sD�sD�zD��D���&�D��D��D��D��D��D��D��D��D���&@�&@
        !          2270: ��D������&����& �&��& "�&\�&`�&`&`        ``"^\&`/`5`=`D`(I�M`"U`�[^j\v`y`�`�`�`�`
�`

        !          2271: �`l��`b"��`l$��`$�^(�\�`�`�`�`l�
        !          2272: �`l��^�\``^4\S`X`\^{\�`�`�`�`"�`"�`"�`"�`�`b�&�^ ��������d���&E���' 
        !          2273: �
$� D%�('�6�"D
���D�D�D�D��&�D�D��&�D�D�:�>��&       D     B�D) �&6     D6     F��&Q DQ     �]     D]     J_D!} �     D$     D%�     �&�     D'�     D(�     D)�     N&�W�\�b&�&b@(e���     D*�     �*�     ��*�     �$,�     � D��(����"D-�     ��     D1�     �]�&� D2�     D3�     �&
        !          2274: D5
        !          2275: D5
        !          2276: D6
        !          2277: 
        !          2278: D7
        !          2279: D5-
        !          2280: D81
        !          2281: D9:
        !          2282: �@�@(
        !          2283: ���<
        !          2284: D:<
        !          2285: �:<
        !          2286: ��:=
        !          2287: ��&�$<>
        !          2288: � ��(��D>@
        !          2289: �@
        !          2290: DA@
        !          2291: DBT
        !          2292: DC]
        !          2293: DDp
        !          2294: QDEy
        !          2295: (b�&���
        !          2296: DF�
        !          2297: �F�
        !          2298: �F�
        !          2299: &$H�
        !          2300: 0 D:�(<�K�"DI�
        !          2301: ��
        !          2302: DM�
        !          2303: DM�
        !          2304: �&�
        !          2305: DN�
        !          2306: DN�
        !          2307: DO�
        !          2308: DP�
        !          2309: DN�
        !          2310: DQ�
        !          2311: DR�
        !          2312: DR�
        !          2313: �&�
        !          2314: DM�
        !          2315: DT�
        !          2316: DU�
        !          2317: RDDV�
        !          2318: V@X�b���
        !          2319: DW�
        !          2320: �W�
        !          2321: \�W�
        !          2322: f$Y�
        !          2323: p Dz�(|���"DZ�
        !          2324: ��
        !          2325: D]�
        !          2326: D^D_D_D`!Da3D_8Db<�@�@
        !          2327: �CDcC�cC��cD�\�`�`&�`�`�`"�^�\�`�`�`�`�`(���`"`�
^\:`=`C`I`"M`"P`"S`"V`[`b�&a^ \�`�`�^�\�`�`�^
�cDc�d�'�&E2�'+$�2 P9�(;�D
        !          2328: ���D�D�D
�D�D�D���D���J��Q\U`^`&e`k`p`"u^y\�`�`�`�`�`(���`"�`��^�\�`�`�`�`"�`"`"`"``b�&^ /��7�>d�E�&E���'I$�P DW�(Y�h�"m�"D���D�D�Dq�DD%D2t�D?DAD PD R�&XD!X�eD"eD#gx��tD%vD&~�&�D �D(�|�D*�D*�D+�D,�D,�D*�D-�D-��&�D.�D/�D0���D1���D2�D3
D4
D4
D5#
D60
D60
D42
D76
�8
D9:
D:R
�&_
D-_
D<g
�&�
D=�
D>�
�wD?�
D@�
DA�
��
DB�
DC�
��
DE�
�jDFDGDH)DI=DJIDKP�&XDMX�UDNgDOkDPtDQ{DQ}�&�DR�DS�DT�DU���DV��PDV�DW���DX�DY��D[D\�>D_>D_@D`MD_MDaQDdQDekDfmDimDjp�pDlpDm�Dn�Do�Dp�Dq�Dr����&�DQ�Du��8Dv�Dw�D{�@�@
        !          2329: �@    �@"��b��@���D|�|��|�$~� D������"��$D�D�D�%D�2D�ED�KD�O�&TD�TD�XD�nD�{D��D��D���&�D��D���*�&�D��D��D����D����D��D�D�D��#D�#D�*�:�<D�<��D�PD�^�g�&gD�gD�kD�n��D����D��D���@��b���D�����    ���              \     `"     `#     `-     ^8     \<     `E     `&L     `R     `W     `"\     ^`     \o     `x     `~     `�     `�     `(�     ��     `"�     `��     ^�     \�     `�     `�     `�     `"�     `"�     `"�     `"�     `�     `b�&� ^ 
        !          2330: \5
        !          2331: `:
        !          2332: `>
        !          2333: ^]
        !          2334: \|
        !          2335: `�
        !          2336: `�
        !          2337: ^�
        !          2338: ����
        !          2339: ���
        !          2340: d��
        !          2341: �&E��'�
        !          2342: $
        !          2343: ��
        !          2344:  D�
        !          2345: �(�
        !          2346: ��
        !          2347: �"D���D�D�DDD!D.D.�&.D.D0D6DCDCDEDIDODODUDfDsDwDwD}D�D ���D!�D"���D$��
        !          2348: 8D%�D&�D'�D(D)D*%�&.D.D,4�
        !          2349: @�
        !          2350: @
        !          2351: �
        !          2352: �b��
        !          2353: ��
        !          2354: @ �6D-6�-6�
        !          2355: �-7\``&``!`"&^*\9`B`H`P`W`(\�``"h`�n^}\�`�`�`�`"�`"�`"�`"�`�`b�&�^ �\�``^'\F`K`O^n�-7u-D|dD��&E6�'�$D� D��(����"��"��DM�MDMD^DkD|D�D�D�D�D�D�D �D!��&�D#��pD$��&�D&�D(D)�&D*�[D++�&8D-8�&CD.CD.E�UD/UD0b�hD1hD2xD3�D4�D5�D6�D7�D8�D9�D9�����D.�D=��rD>���D?��CD@��DBDCDD$DF)DG2DH6DIM�&VDKV�4DLj�@�@(
        !          2356: ���@        �@�@��b&�&�qDMq�Mq��Mr�$Or
2D
�(
�+
�2
�"DQt�tDTtDU��&�DW�DW�DX�DY�DW�D[�D[���D\���D]�D^�D`�����D[�DcDdDe"�&+Dg+6
@8
@
        !          2357: �2Dh2�h2>
�h3L
\P
`Y
`&`
`f
`k
`"p
^t
\�
`�
`�
`�
`�
`(�
��
`"�
`��
^�
\�
`�
`�
`�
`�
`�
`�
`�
`` ^$\1`4`:`@`"D`"G`"J`"M`R`b�&X^ v\�`�`�^�\�`�`�^�h3h�d�!�&E9�'%$�. D7�(9�H�"O�"D
���D�D�D�D�D�D��&�D�S�D��&DW�D�&"D"[�D2�&?D?_hD ND!WD"kD#xcdD$�D%�D&�D'�D(�D)�D*�D+�D,D-
g`D.!D/5D0>D1RD2[k@n@
        !          2358: t�b��]D3]�3]y�3^�\�`�`&�`�`�`"�^�\�`�`�`�`�`(���`"�`��^�\`````%`-`5`=` F^$I\g`j`p`v`"z`"}`"�`"�`�`b�&�^ �\�`�`�^�\``^:�3^E3�Od�V�&E�I�'Z$�c Dl�(n���"D
���D�D�D�DD'D4�&JDJDRDTD\D^De�&eDeD|D�D!�D!��&�D"��rD#�D$��&�D!�D&���b�������8"����D'��'���'��$)�� D��(����"D*�D0D1D2"D2$D3)�lD22D46D5;D6G�fD7ZD8\D9h�`D:{D;�D;��&�D<�D=�D>�D?�D@��DA�DBDC0�=DD=DEY�r�r�tDHtDI������&�D;�DM��@�@,
        !          2359: ��� ���H����DN��N��N�$P� D'�()�;�"DQ���DV�DW�DX�DY�DY�DZ�DYD[?@A@,
        !          2360: C�(G��D\�\S�\^$^f Dn�q�"D_'�'Dc'DdKu�y���8 ���cDec�ec��ed�$gd� D��������"Dhm�mDlmDm�������8 ����Dn��n���n��$p�� D�����"Dq���Du�Dv�Dx�Dy"���8 ��:Dz:�z:)�z;4$|<< DD�G�"D}E�ED�ED�iD��D��K�O�X�8 \���D�����h���p$��w D~���"D����D��D��D��D��������8 ����D����������$��� D����"D����D��D�&D��D������    �$�
        !          2361: � PD��D�D�/D�8D�C������8 &�
�b8$��\D�\��\��]\`&`&-`3`8`"=^A\S`\`b`j`q`(v�z`"�`��^�\�`"�`"�`0&�`(���^�\�`"�`"`"`$&^\'`".`6`@^K\V`b�&Z^&e\q`t`~`�`�`�`
�`

        !          2362: �`l��`b"��`l$��`$�^(�\�`�`�`�`l�
        !          2363: �`l��^�\``^/\N`S`W^v\�`�`�`�`"�`"�`"�`"�`�`b�&�^ ���]����d���&Eb�'�$���2D�D  ���D
        !          2364: �!%D��&�D�%%%D
�D
�%D�D��$D D #�$�&% D' '�$D4 +�$�A DA �A /�B 5$B B DO�(S�_�"DK �K DK Di Do Ds Dw D { D! D"� D#� D$� D%� D&� D'� D(� D)� D*� D+� c�g�p@�� D,� �,� r�,� $.� � D��(����(�������D0!�!D8!�&!D9!D9!�&%!D:%!D;*!D;,!�&7!D<7!��$��$��$��$��$��$D?�!��!D@�!��!DA�!�u$DB�!DC�!�^$�a$�"DE"�F$�G"DGG"�&T"D;T"DI_"DIa"�&f"DJf"DJi"DKu"DL�"DL�"DJ�"DM�"DN�"�C$DP�"�=$DQ�"�&�"DI�"DS�"DT�"�3$DU�"DV�"DW�"�)$DX�"DY�"DZ#�$D\'#
        !          2365: $D]4#D^6#D_D#�#Da^#�#Dbk#Dcm#Dd{#�#Df�#�#Dg�#@,@
        !          2366: @    %�()���#Dh�#�h�#5�h�#A\R`"W`"_`0&h`(l�}^�\�`"�`"�`"�`$&�^�\�`"�`�`�^�\�`b�&&^&\``%`.`4`9`
>`

        !          2367: C`l�I`b"�M`l$�R`$X^(d\m`p`w`}`l�
        !          2368: �`l��^�\�`�`�`�`"�`"�`"�`"�`�`b�&�^ ��h�#�h$%d$%�&E��'&�� $
$%$ D*�3�(7�@�E�(I�U�Z�"D)%�)%D)%D,%D4%�&<%D<%^�(�T%DT%Dd%�q%�&q%Dq%D�%�&�%D�%a�(D!�%D"�%D#�%�&�%D&�%�&�%D'�%�&D(&D)&D+&e�(D,,&�.&�&.&�&.&D/.&�I&D0I&D1Y&�_&D3_&�&j&D6j&�&o&D7o&D8|&�&�&D:�&i�k���&D;�&�;�&p�;�&v&��{����(��(��(��(��(��(�l(�W(�$E�&� D����(������(������"DF�&��&DL�&DN�&DP�&�&�&DQ�&DR�&DS�&DT�&�&�&DV�&DW�&�&�&DX�&DY'DZ/'D[Q'D\\'�d'D]d'�x'D^x'��'D_�'D`�'Da�'Db�'Dc�'��'��'��'Dg�'Dh�'Di�'Dj(�P(DkG(�&L(DmL(��������b���&�b���N(DnN(�nN(�nO(  0&%\6`";`"C`0&L`(P�a^r\�`"�`"�`"�`$&�^�\�^�\�`b�&�^&�\�`�`�`�`�``
        `

        !          2369: `l�`b"�`l$�`$#^(/\8`;`B`H`l�
        !          2370: L`l�Q^Z\x`{`�`�`"�`"�`"�`"�`�`b�&�^ ��nO(�n�(�d�(��&E��'�$  �(� D��(����(����D�(��(D�(D�(b,D)D)D)�&)D)D)DB)�^)D^)Dc)�l)Dl)Dl)S,D�)D�)I,��)D�) !,D!�)D"�)$,D#*(,�%*�&%*D%*D&-*,�0�9�8 =�I@K@
        !          2371: �/*D'/*�'/*P�'0*Z&�T�aT��i
        !          2372: ,m�+q�+u�+y�+}�+��+��+��+��+�z+�j+�d+�T+�I+�;+�$=0*� P��,��"��D?5*�5*DD5*DEG*�&M*DFM*DG\*�
        !          2373: +DI�*��*�&�*�&�*DK�*��*�&�*����*DM�*�M�*��M�*� "�\    `"`"`0&`(#�4^E\V`"[`"``"f`$&i^z\�`"�`�`�^�\�`b�&�^&�\�`�`�`�`�`�`
�`

        !          2374: �`l�`b"�`l$�    `$^(\$`'`.`4`l�
        !          2375: 8`l�=^F\d`g`m`s`"w`"z`"}`"�`�`b�&�^ ��M�*�Md,�dd,��&E��'�$d,�d,�2D������(����"D
m,�m,Dm,Dv,D�,��& ���,D�,��,
        !          2376:  ��, $�,  D# �) �"D�,��,D�,D�,D�,D�,D
        !          2377: -�&!-D !-D!4-�M-D"M-D#W-- [2D$j-�p-�&p-D'p-D'z-�&z-D)z-D*~-1 L2D+�-D,�-D,�-D-�-D.�-�&�-D'�-D0�-�&�-D1�-��-D2�-D3�-��-D5�-D6�-5 (2D7�-9 2D8�-D9�-�&.D;.�&.D<.D='.= �1D>>.�&G.D@G.DAK.A �1DC`.DDt.DE{.DF�.E @G �(K �W @
        !          2378: ] @    c �b(���.DG�.�G�.g �G�.p $I�.x �.� 2D� �� �� �(� �� �(� �� �"DK�.��.DL�.DM�.�/DN/�N/� �N/� $P/�  D� �� �"� �"DQ/�/DY/� �1D[//D\:/� �1�&P/D]P/� �1D^s/�&�/D`�/Da�/Db�/Dc�/Dd�/De�/�&)0Dh)0� �1DiG0DkI0Dlg0Dni0� �1Do�0� �1Dp�0�&�0Dr�0�&�0Ds�0� �1Dt�0�&�0Dv�0Dw�0Dx�0�&1Dy1&!x1Dz%1�&.1D|.1D}71D~R1D[1D�f1D�s1!�
        !          2379: !�!�b$�!@(!�<!�L @!�L!�bL"�P!�P"�u1D�u1��u1R!��v1[!\_!`h!`&o!`u!`z!`"!^�!\�!`�!`�!`�!`�!`(�!��!`"�!`��!^�!\�!`�!`�!`�!`"`    "`
"`

        !          2380: "`l�"`b"�"`l$�""`$("^(4"\="`@"`G"`M"`l�
        !          2381: Q"`l�V"^_"\~"`�"`�"^�"\�"`�"`�"^�"\#`#`#`#`"#`"!#`"$#`"'#`,#`b�&2#^ P#��v1X#�l2d#dl2n#�&E��'r#$l2z# P�#�"�#�"Dn2�n2D
        !          2382: n2D�2�#�2D
�2�#�2�# �# ���# ��2D�2��2�#��2�#\�#`�#`�#`�#`�#`�#`
�#`

        !          2383: �#`l��#`b"��#`l$��#`$$^($\$`$`$`%$`l�
        !          2384: )$`l�.$^7$��2A$�2L$d�2U$�&E��'Y$$�2`$ Ng$�,D�2��2D�2D  �2D
        !          2385: �2D3D3k$@�!3D
!3�
!3m$�
"3t$\�$`�$`�$`�$`�$`�$`
�$`

        !          2386: �$`l��$`b"��$`l$��$`$�$^(�$\�$`�$`�$`�$`l�
        !          2387: �$`l��$^�$�
"3%
$3%p3%x3%��%4$%4/%$49%44C%D4N%�5X%�,5d%<5o%L5z%"6�%���%�6�%h6�%�6�%(8�%���%�8�%p8�%�8�%�8�%���%N9�%,9�%\9�%d\9�%�&E�B''�%$\9& D
&�(&�"�a9&�&�"�9&�9*&�94&d�9B&�&E
D''F&$      �9L& NR&�0T&�Y&�^&�(��9�&�9`&J;��9�:�:��:��:��:��:��:�;�;�&!;i&@k&@
        !          2388: m&@"    o&@�J;q&&"��y&���&�;�&$+J;�&2P�&��S;�&�;�&�b���;�&�1�;�&1�;�&d�;�&�&E�D''�&$�;�& ��&�"�&�"�&�(��;�&?�&'<��<��<�&=�&=�\=�=>�&=>�&�"�?�&&"��&'��
        !          2389: 'z?'$5?'2P'��?$'X?)'�b��T?-'�;U?=';�?H'�?R'd�?`'�&E� m&d'$�?j' Dp'�(r'@(t'�y'�~'A�'&"���'���'vA�'$A�'2P�'��'TA�'�QA�'�A�'d�A�'�&ED''�'$�A�' D�'�"��A�'��'�"��A�'��A    (�A(&C(��'(�C+(lC/(�C;(d�CK(�&E�D''O($�CW( D_(�"c(�"��Cg(@(i(�k(�"p(�"��Cr(��C�(�C�(�C�(�&�(�F�(�F�(�F�(�F�(�F�(�F�(}F�(kF�(YF�(IF�(=F�(+F�(F�(F�(�E�(�E�(�E�(�E�(�E�(�E�(�E�(�E�(�E�(oE�([E)ME)>E
        !          2390: )/E)E)
        !          2391: E)�D)�D)�D")�D&)�D*)�D.)�D2)D6)fD:)RD>);DB)&DF)DJ)�FU)d�Fd)�&E�D''h)\&&k)$�Fr) �y)�"��F�&�F{)�G�&RG�&jG�&G�)&b\&&�)@"��G�)&"p&&�)p&&�)�G�)$�G�)2P�)���G�)�G�)�b���G�)��G�)H�)dH�)�&E��S'�)&dt&&�)t&&�)&dt&&*t&*&�t       &
*t     &*�^*�^#*�]+*�L3*�];*�^C*_K*,_S*�R[*�]c*$^k**Os*X^{*�^�*$�H�* D�*�(�*�"�*�"�  H�*�&�&H�*Zm�8H�     I��I��I��I��I��I�!J�DJ�dJ��J��J��J��J��K��L�&�L�*@�*@
        !          2392: �*@    ��L�*$��L�*2D�*�(�*���*��*��*���L�*@�)O�*$�*O�*2D+�(+��+�
+�+��/O�&yO��O�OP�&]P�&hP�pP�3Q�&VQ�&\Q�dQ�'R�&DR�&WR�]R��R�&�R+@+@"
        !          2393: !+@    ��R#+$��R*+2D1+�(3+��8+�>+�D+���R�TN+$�TY+Te+2Dp+�(r+��w+�}+��+��+��+��+�" �+�"$�T�&T�OU�+n�]U�cU�+n�+n�+n��U�&�U�&�U�&�V�&�V�&DW�&�W�&�W�&X�/X�PX��X��X��X��X��Y��Y��Y�MZ�&F[�&L[�m[�\�]��]�&�]�+@"�+@
        !          2394: �+@    �+@�+�b��+@�+�"��+����]�+$T&�]�+2D�+�(�+���+�&,�,���],�m,n��],$W&�]",2D),�(+,��0,�6,�<,���]F,�m��]K,$Z&�]R,2DY,�([,��`,�f,�l,���]v,�m{,�m�#^�,$]&$^�,2D�,�(�,���,��,��,��&^�W^�,$a&X^�,2D�,�(�,���,��,��,��Z^��^�,$d&�^�,2D�,�(�,���,��,��,���^&-�m-�m��^-$h&�^-2D-�(-�� -�&-�,-���^6-L_��^@-$k&�^G-2DN-�(P-��U-�[-�a-���^��^k-$n&�^r-2Dy-�({-���-��-��-���^�_�-$q&_�-2D�-�(�-���-��-��-��_�+_�-$t&,_�-2D�-�(�-���-��-��-��._�K_�-$w&L_�-2D�-�(.��.�.�.�.��Z_�&�_��`��`��`��`�&�`�&�`��`��`��`��`��`��`�&�`�&;a�&�a�&�a�&tb�&d�&�g�&�g�&_j�&kj�&�l�&�l�&Jm .@".�+.@
        !          2395: 0.@"    7.@<.@"A.�bF.@J.�O.�" W.�$\.�,�Zm^.&"t
&f.t
&o.�mt.$�&Zm|.2P�.��cm�.�m�.�b���m�.(�&�.��&�m�.�&n�.dn�.�&EE''�.&�x
&�.x
&�.��.l�.~��.��.N�.�/Rs/�/�/n�&/�./$?n6/ D>/�(@/�"B/�"�nG/�&N/�&T/�&Z/���&bn��n��o��p��p��p��p�Fq��q�&sc/@e/@
        !          2396: k/@    q/��Rsv/$lRs}/2D�/�(�/���/��/��/��Ts�&_s��s��t�&�t��t�/$��t�/�t�/2D�/�(�/���/��/��/��/��/���t�&�u�&�u�&�u�&uv�&�v�&Cw�&hw�sw�@x��x��x�y�y�!y��y��z��z�&�z�&�z�&�{�&$|�I|��|��}��}��~�J�&J�/@�/@
        !          2397: �/@    �/@�/��N�/$�N�/2D0�(0��0�0�0��P�k0$�l$02D+0�(-0��20�80�>0��n��C0$��J02DQ0�(S0��X0�^0�d0�����i0$��p02Dw0�(y0��~0��0��0������0$���02D�0�(�0���0��0��0������0$���02D�0�(�0���0��0��0����&��0$���02D�0�(�0���0��0��0����&��&6��&F��&'��&-��&��&P��C��$��*��
��&��&���&i�&1@1@"
        !          2398: 1@    
        !          2399: 1@1@1�b�m�1$&n�12D&1�((1��-1�31�91��s��&���&���&���������&��>1@"@1@
        !          2400: B1@    ��E1$4&�L12DS1�(U1��Z1�`1�f1�����&:��&�k1@"m1@
        !          2401: � �o1$B& �u1 �|12D�1��1�"�%��&L��&]��&c�����5��&_��1@�~��1$T&~��12D�1�(�1���1��1��1�����&e��#��*��&`��1@"�1@"
        !          2402: �1@    �1@����1&"x&�1x&�1���1$n&���12P�1�����1܎�1�b��؎�1("�&�1(�&�1(�&2�t&َ2t&�2d�(2�&E>E'',2$�12 P62����&��&0�=2@?2@$&
        !          2403: �@�A2$B�H2 DO2�$&�D��&O��&[�Q2@�f�S2 �^2�f�k2h�u2���2$���2ԏ�2!��2�T��2����2���2����2����2���2����2���3!0�3d0�3�&ETfl&3$0� 3 D%3�"'3�A�23D�;3dD�F3�&EUfl&J3$D�O3 DT3�"V3�U�a3X�m3��y3����3����3�Й�3�ؙ�3dؙ�3�&EUfl&�3$ؙ�3 G�3�"�3���3��3d��3�&E&�R'�3$���3��32��3����3�&�&��4��&��&��&i�4@(4����4$  &��4�� 42P&4�(����&���&�����(4$&�04�942�A4�(C4�E4����&F��&���&қ�������&��G4@I4@
        !          2404: L4@    N4@.P4@T4@V4�(���Y4$=&��]4��b42�f4�"h4�l4�o4�����&[��&��r4@(t4@
        !          2405: v4@    x4@z4@��|4$^&��4��42D�4����&���&��&��&��&%��&.��&;��&K��&X��&k��4@�o��4${&p��4p��42D�4�.�r��&������՞�&���&��&��&��& ��&,��&4��&@��&H��&T��&v��4@�4@
        !          2406: ����4$�&���4���42��4�����4@(�ӟ�4$�&ԟ�4ԟ�42��4�(�4�(�ݟ�&��&-��&���С�ڡ�������ޢ�������֣�&֣�4@.�4@
        !          2407: �4@.    �4@�4@�4@�4�.�4�.�4��4�.�4�.5�.5�(5�  5�$5�(�r�5�&5$r�5r�&52�/5�(15��w�350&�&���&ߤ�&ߤ���     ��*��_��&b�85&d�&<5@(?5@(
        !          2408: C5@(    F5��m�H5$(n�O5n�W52�^5�(`5��s��&��������&2�b5@d5@.
        !          2409: f5@.    i5@l5@o5@q5�.t5�v5�(���y5$_��}5���52D�5�(�5�(����&C��&Ĩ�5@.�5@.
        !          2410: �5@.    �5@�5��5�.�Ǩ�5$|Ȩ�5Ȩ�52��5�(�5�(�ͨ�&��&6��&;��&N��&b��&"��&4��&���5@�5@.
        !          2411: �5@    �5@�5@.�5@.�5��5�.�5�.�5�(�5��5����5$���5��52G�5����5@�5��o��5$�p��5p��52G�5�(�5�$�u��&��&~��&���&��&��&*��5@�5@.
        !          2412: �5@    &6@.6@6@6�
6�6��u�6$+v�6v�62�6� 6�$"6�$�{��&A��P�����&��&��&)�'6@()6@
        !          2413: +6�-6@        06�.26�56�76�:6��q�<6$�r�B6r�I62GO6�(Q6�(�w��&��& �S6@U6�X6�[6�^6��'�a6&g�&f6�&l6&g�&t6�&}6&g�&�6�&�6$�(��6 G�6�"�6���1��6��6���&ױ�&
        !          2414: ��&7��&���&��7��|������������������&��&1��@��K��������Ҵ��������&���&���&���6���&C��Y��_��a��u������������&��&-��M��S��6���h��w����E��h��h��&h��&y��������6�����*��_��_��&_��&v��>��O��Q��b����������������&������h��¼�¼�
        !          2415: ��������̽�6���"��6���2��4��6���U��U��W���������������������O�����������������*��|��6���6������6������&���6��6@�6@
        !          2416: �6@(    �6@�6@(�6@�6��6�"�6�(�6��6�(&7�$7�(
        !          2417: 7�,7�07�47�87�(<7�@7�D!7�H%7�L)7�T/7�X67�`:7�h>7�l@7�pC7�(tG7�xJ7�|L7��P7��U7��Y7�"�\7��b7�"��;�e7$�<�l7<�t72D{7�(}7�(�E��&K��P��)��]�����&���&���1����]�����&��7@.�7@
        !          2418: �7@    �7@�7@�7@�7��7�.�7��7��7�.�7�.�7�����74&�78&�7$k���7 ��7��7��7��7�$�7�$�7������&���&6��&`��&���&���7���&-��&7��7���&���7���7���7���7���&]��&r��&��&���&���&���&���&���&���&���&���&��8���&��&c��&������
����-��9��I��R��z����������8�����8��������������������������/��/��/��?��&R��&i��y������������m��s�����&���&���������������������&���&���&$��&)��.��3��^��t��&���&���������&���&���&���&���&���&��������&��&��&u��&������8��;����������E��J��P��x�������"��"��&*��&-��&{��&���������&D��&F��&q��&��&��8(8& 8((4&'8@")8@
        !          2419: +8@    -8@(/8@18@(58�:8�>8�(@8�B8�E8�(I8�( O8�"$R8�(U8�0Y8�4\8�8_8�<b8�De8�Ho8�Lr8�Pu8�Tz8�X�8�\�8�`�8�d�8�h�8�l�8�p�8�t�8�x�8�(|���8&"�&�8�&�8r��8$���82P�8����8P��8�b��L��8((0&�8(��&�8��M�9��9��9$�&9�4�19�L�=9X�G9l�S9�|�]9��h9��t9�4��9D��9\��92��9�&�9���9x��9���9d���9�&E�B''�9$���9 P�������9�&�9$���9 D:�:�(���:P�
:���&�������&/��&7��&J��&s�����c�������������&N��&}�����b�����������������"��&"��&h����>��&>��&>��{��H��l�����&)�:&�&:��O�:&"�&#:�&,:��1:$kP�9:2PA:��Y�F:��K:�b����O:�q��`:q��j:d��x:�&E�-&|:$���: D�:�"�:@"�:�(�:@(
        !          2420: �:���:&"�&�:�&�:���:$      ���:2P�:��:���:����:��:d��:�&E�ʾ&�:$��: �&;�(;@(;��;0�;&"�&;�&#;R�';$$��/;2P7;�<;0�@;�*-�O;*d�Z;�c;�&l;n�p;L�t;��;d���;�&EH*m&�;$���; D�;��;�(�;>��;&"�&�;�&�;���;$>��;2P�;��;���;�#���;#���;d��<�&ERfl&<$��
< D<�"<�� <�%<@*<��3<&"�&;<�&D<J�H<$_��P<2PX<�]<(�a<�e'�n<eX�y<~��<�&�<���<���<���<�<~<�<r��<�&���<��A�<   ��&�<tD��< ��&�<     ��&�< ��<���<!ԏ�<���<g�=E�=D=�<"=�\9+=��3=�A;=��H=^�S=�&�    `=��l=
>
        !          2421: t=���=h&�
        !          2422: �=F�C�=�
        !          2423: �=��=d�=t�8�=     ��&�=�&�C�=x�?�=&���=&L5�=���=���=���>��&>�>L�6>�:3>D4&>�&�,0>$��8>h
        !          2424: A>\�R>�5X>,/b>��&h>�4p>YB ~>)$%�>�� �>!��>�$4�>�l2�>�<5�>;4�>�44�>        y�&�>;0*�>u�(�>q0��>���>����>��?a�F?\�2?�X�?v,5#?e�?*?N�91?��&;?��H?X$3O?��3V?(x3]?��3c?�j?��q?���y?�4��?pl��?�|��?���?����?�&5�?y���?�h��?6�;�?H�?�T��?�&\��?����?.��?����?n�?��B&@bd�     @��@9��@��� @���'@���.@A��6@nؙ<@ ��&H@�ЙO@XB�W@���]@+l�e@7��n@���v@     �<&{@�Ք�@V���@�X��@z$��@�D��@N(��@�4��@�L��@?X��@�q��@����@bX��@crt0.oexitjukebox.ojukebox.crccmainmainargcargv_42_32_usage_args_argc_argt_unload_59_eject_66_78_88_92_prstatus_106_errexitcUflagaflageflagmflagpflagrflaguflagsflagwarmsecserrbufvol_idmainusageusage_117usageerrexiterrexiterrbuferrexitprstatusprstatus_135_136_134_143_142_144_145lunluncerrbufprstatusunloadunloadforcelluncerrbufunloadejectejectjjukeface.h$4.4vol_iderrbuf_171shdrejectjukeboxjukeface.h$4.4argv0lunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4scsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdlib.h$12.3quotrem/usr/ape/include/stdlib.h$12.3/usr/ape/include/stdlib.h$11.2quotrem/usr/ape/include/stdlib.h$11.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1jukebox.cshelves.oshelves.crccj_wrshelf_6j_rdshelvesj_rdshelvesjjukeface.h$4.4err_16_15_17_21_26havereadshnovnamefp/usr/ape/include/stdio.h$29.3j_rdshelvesj_wrshelvesj_wrshelvesjjukeface.h$4.4err_31shnofp/usr/ape/include/stdio.h$29.3j_wrshelves_40j_namej_namejjukeface.h$4.4n_46errj_namej_shelfofj_shelfofjjukeface.h$4.4vol_id_64ibufj_shelfofj_driveofj_driveofjjukeface.h$4.4vol_idishj_driveoflunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1shelves.cjinit.ojinit.crccj_initj_initjjukeface.h$4.2j_initlunoccupiedspunupshelfsidedesclunjukeface.h$4.2nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1jinit.ccold.ocold.crccj_coldj_coldjjukeface.h$4.4typeerr_8_11_18_19_32_48_53_56_65_84shdrivenshdiditvol_idnsidej_coldgetvolgetvolshdrivevol_idside_104_107_115_117_118ibufgetvolTcl_InterpresultdynamicerrorLineTcl_Interplunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1cold.cwarm.owarm.crccj_warmj_warmjjukeface.h$4.4buf_30shdrivevol_idsideij_warmlunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1warm.cload.oload.crccj_loadj_loadjjukeface.h$4.4vol_idbuftlimit_18_22_j_empty_drive_43_48nllunshsidedrdisk_to_loadj_loadj_empty_drivej_empty_drivejjukeface.h$4.4tlimitbufitstopj_empty_drivelunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4tmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdsttm/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1load.callocate.oallocate.crccallocateallocatejjukeface.h$4.4vol_idbuf_12_13_16_17_20_27shdrivenbufallocatelunoccupiedspunupshelfsidedesclunjukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnamesjukeface.h$4.4tmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdsttm/usr/ape/include/stdio.h$29.3fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.3/usr/ape/include/stdlib.h$12.2quotrem/usr/ape/include/stdlib.h$12.2/usr/ape/include/stdlib.h$11.1quotrem/usr/ape/include/stdlib.h$11.1allocate.cso_juke.ojuke.crccj_configj_configj../jukeface.h$4.6err_33bufcmdscsi_cmdretscsi_returnj_configj_drstatusj_drstatusj../jukeface.h$4.6err_47_52_55idwhereretscsi_returnj_drstatusj_shstatusj_shstatusj../jukeface.h$4.6erridretscsi_returnj_shstatusj_ejectj_ejectdrerrcmdscsi_cmdretscsi_returnj_ejectj_sh_to_drj_sh_to_drshsidedrerrcmdscsi_cmdretscsi_returnj_sh_to_drj_dr_to_shj_dr_to_shdrshsideerrcmdscsi_cmdretscsi_returnj_dr_to_shj_startj_startdrerrcmdscsi_cmdretscsi_returnj_startj_stopj_stopdrerrcmdscsi_cmdretscsi_returnj_stopj_load_unloadedj_load_unloadeddrerrj_load_unloadedj_resetj_resetcmdscsi_cmdretscsi_returnerrj_resetlunoccupiedspunupshelfsidedesclun../jukeface.h$4.6nshelvesnlunsndrivesnwormslunslunshelvesnames../jukeface.h$4.6../scsish.h$23.5nameverboseextsensefns../scsish.h$15.4../scsish.h$23.5../scsish.h$15.4namehelpparamfn../scsish.h$15.4Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdlib.h$12.3quotrem/usr/ape/include/stdlib.h$12.3/usr/ape/include/stdlib.h$11.2quotrem/usr/ape/include/stdlib.h$11.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1juke.cso_status.ostatus.crccshelf_shelfshelfi_5_9_10_8_16_19_22_23_24shelfsony_istatussony_istatusretscsi_returnerrcmdscsi_cmdnsony_istatussony_statussony_statuscdClientDataitTcl_Interpargcargv_90_91_85_88_86_84_103_107_106_108_121_122_123_124_127_128_131_132_135_136distartretscsi_returnsony_status../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1status.cs_h_io.oh_io.crccfd_fds_ignuass_ioss_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_9_15_23nretvss_iosmsg_smsg_29_30_31_32_33_34_35_36s_ios_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_83mycmdscsi_cmdnioerrstatusbufignoreduas_ios_idss_extsense../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1h_io.cge_sense.osense.crccgen_sensegen_sensecdClientDataitTcl_Interpargcargv_7_26_30_31_39_46cmdscsi_cmdretscsi_returniunitgen_senseexstab_exstab_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63gen_extsensegen_extsensedatadestndata_69_70_71classgen_extsenseargv0../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sense.cs_volid.ovolid.crccmyread_myreadmyreaddriveblockretscsi_returnerrcmdscsi_cmdmyreadj_rvolidj_rvoliddriveerr_39_49_61_62_66_70bretscsi_returnlastbdebugbufj_rvolidmywrite_mywritemywritedriveblockcmdscsi_cmdretscsi_returnerrmywritej_wvolidj_wvoliddrivevol_iderr_77_80_81_111_114_116_119_123cmdscsi_cmdtmpfilefp/usr/ape/include/stdio.h$29.1retscsi_returnbufnj_wvolidlunoccupiedspunupshelfsidedesclun../jukeface.h$4.4nshelvesnlunsndrivesnwormslunslunshelvesnames../jukeface.h$4.4scsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdlib.h$12.3quotrem/usr/ape/include/stdlib.h$12.3/usr/ape/include/stdlib.h$11.2quotrem/usr/ape/include/stdlib.h$11.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1volid.cs_pperror.opperror.crccpperrorpperrorbufmesg_5_6errnosys_errlistsys_nerrpperrorscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdpperror.cs_longat.olongat.crcclongatlongatsrcnlongatscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdlongat.cnrand.o_3rand.o_seedLC_access.oLC_close.oLC_open.oLC_read.oLC_sleep.oLC_time.oLC_unlink.oLC_write.oS_fclose.o__YYnull__YYfile_24_25S_fflush.o__YYnull__YYfile_50_51S_fopen.o__YYnull__YYfile_11_12S_fprintf.ostdio/fprintf.crccfprintffprintfffmtnargsstdio/fprintf.cS_fread.ostdio/fread.crccfreadfreadpreclnrecf__YYnulldnsc_YYfile__YYfile_56_YYnull_YYnullline_57bufstdio/fread.cS_freopen.ostdio/freopen.crccfreopenfreopennamemodef__YYnullnm_YYfile__YYfile_101_YYnull_YYnullline_102bufstdio/freopen.cS_fscanf.oS_fseek.ostdio/fseek.crccfseekfseekffoffstype__YYnull_YYfile__YYfile_43_YYnull_YYnullline_44stdio/fseek.cS_printf.ostdio/printf.crccprintfprintffmtnargsstdio/printf.cS_setvbuf.o__YYnull__YYfile_45_46S_sprintf.ostdio/sprintf.crccsprintfsprintfbuffmtfnargsvstdio/sprintf.cS_stdio.oS_strerror.o__IO_errlist_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_31_32_33_34_35_36_37_38_39_40_41_42_43_44S_tmpnam.ostdio/tmpnam.crcc_4tmpnamtmpnams__YYnullnamep_YYfile__YYfile_25_YYnull_YYnullline_26bufstdio/tmpnam.cS_vfprintf.ostdio/vfprintf.crcclflag_lflagtflag_tflagocvt_ocvt_ocvt_E_ocvt_G_ocvt_X_ocvt_c_ocvt_d_ocvt_e_ocvt_f_ocvt_g_ocvt_n_ocvt_o_ocvt_p_ocvt_s_ocvt_u_ocvt_xvfprintfvfprintffsargs_nprint__YYnullflagswidthprecisionocvt_cocvt_cfargsflagswidthprecisioniocvt_socvt_sfargsflagswidthprecisionisnocvt_nocvt_nfargsflagswidthprecisionocvt_fixed_ocvt_fixedocvt_fixedfargsflagswidthprecisionradixsgnedalphabetprefix_386_389_392_393dpnumnlzeronpaddigitsnoutsignsnumocvt_Xocvt_Xfargsflagswidthprecision_604_603ocvt_docvt_dfargsflagswidthprecision_605ocvt_oocvt_ofargsflagswidthprecision_607_606ocvt_pocvt_pfargsflagswidthprecisionocvt_uocvt_ufargsflagswidthprecisionocvt_xocvt_xfargsflagswidthprecision_609_608ocvt_Eocvt_Efargsflagswidthprecision_ocvt_fltocvt_Gocvt_Gfargsflagswidthprecisionocvt_eocvt_efargsflagswidthprecisionocvt_focvt_ffargsflagswidthprecisionocvt_gocvt_gfargsflagswidthprecisionocvt_fltocvt_fltfargsflagswidthprecisionafmtiexponentnoutdigitsndigeptrebuffmtsignedigitsechrd_YYfile__YYfile_980_YYnull_YYnullline_981bufnprintstdio/vfprintf.cS_vfscanf.ostdio/vfscanf.crccicvt_icvt_icvt_f_icvt_x_icvt_sq_icvt_c_icvt_d_icvt_i_icvt_n_icvt_o_icvt_p_icvt_s_icvt_uvfscanfvfscanffsargs_nread_ncvt_fmtp__YYnullcwidthstoretypeicvt_nicvt_nfargsstorewidthtypeicvt_fixed_icvt_fixedicvt_fixedfargsstorewidthtypeunsgnedbasecdignumndigsignicvt_dicvt_dfargsstorewidthtypeicvt_xicvt_xfargsstorewidthtypeicvt_oicvt_ofargsstorewidthtypeicvt_iicvt_ifargsstorewidthtypeicvt_uicvt_ufargsstorewidthtypeicvt_picvt_pfargsstorewidthtypeicvt_ficvt_ffargsstorewidthtypecsndptnexpndigbuficvt_sicvt_sfargsstorewidthtypescnnicvt_cicvt_cfargsstorewidthtypescmatch_matchmatchcpatokicvt_sqicvt_sqfargsstorewidthtypespatcnn_YYfile__YYfile_826_YYnull_YYnullline_827buffmtpncvtnreadstdio/vfscanf.cS_exit.ostdio/exit.crccexitexitstatusifatexitatexitfi_atexitfnsstdio/exit.cS_abort.oLC_strlen.oLC_strcmp.oLC_strcpy.oLC_strncpy.oLC_memcpy.oLC_memset.oLC_memcmp.oLC_malloc.oLC_sbrk.oLC_cerror.oLC_ctype.oLC_strdup.oG_atoi.ogen/atoi.crccatoiatoisgen/atoi.cG_atol.ogen/atol.crccatolatolsgen/atol.cLC_system.oLC_errlst.oLC_udiv.oLC_urem.oLC__exit.oG_atof.ogen/atof.crccatofatofsgen/atof.cS__dtoa.ostdio/_dtoa.crccBalloc_BallocBallock_freelist__YYnullrvxBfree_BfreeBfreevmultadd_multaddmultaddbmayxizxwdsib1s2b_s2bs2bsnd0ndy9biykxhi0bits_hi0bitshi0bitsxklo0bits_lo0bitslo0bitsykxi2b_i2bi2bibmult_multmultabxccarryxz2zyxaexbwcxaxc0xbecwawbk_244pow5mult_pow5multpow5multbk_p5sp05p5p51b1ilshift_lshiftlshiftbkixx1k1n1nxezb1cmp_cmpcmpabxaxbxa0jixb0diff_diffdiffabborrowxcyzxaxbwaxaexbeciwbulp_ulpulpxLab2d_b2db2daekxayxa0d0d1dzwd2b_d2bd2bdebitsbkzd0xdeyd1iratio_ratioratioabkdadbkakbtens_tensbigtens_bigtenstinytens_tinytensstrtodstrtods00se_532_554_662_699_737_837_846_849_920_921_924rvinddeltabb2bscbd2sbdybbaadjbs2dsignnzjzbd0bbeebb5bd5aadj1bbbitsadjrv0Le1bb1nfknd0signnz0s0esigns1quorem_quoremquorembSbxborrowyyszsizssxcarryqbxesxen_1045_1046_dtoa_dtoadmodendigitsdecptsignrve_1071_1080_1092_1091_1093_1094_1122_1153_1154result_kresultsijbLmhiilimdigSkdsmlodeltas0j1epss2b2m2d2leftrightb5s5iepsk_checktry_quickbbitsm5beilim1ilim0k0spec_caseb1_YYfile__YYfile_1399_YYnull_YYnullline_1400bufp5sfreeliststdio/_dtoa.cLC_alarm.oLC_creat.oLC_execl.oLC_execv.oLC_execve.oLC_fork.oLC_getpid.oLC_kill.oLC_lseek.oLC_setjmp.oLC_signal.oLC_wait.oS__IO_getc.o__YYnull__YYfile_64_65S__IO_putc.ostdio/_IO_putc.crcc_IO_cleanup_IO_cleanup_4_IO_putc_IO_putccf__YYnull_39firstcnt_YYfile__YYfile_289_YYnull_YYnullline_290bufstdio/_IO_putc.cS_fputs.ostdio/fputs.crccfputsfputsssff__YYnull_YYfile__YYfile_31_YYnull_YYnullline_32stdio/fputs.cS_sclose.ostdio/sclose.crccsclosescloseff__YYnull_57_YYfile__YYfile_66_YYnull_YYnullline_67stdio/sclose.cS_sopenw.o__YYnull__YYfile_25_26S_ungetc.ostdio/ungetc.crccungetcungetccf__YYnull_YYfile__YYfile_60_YYnull_YYnullline_61stdio/ungetc.cG_strtol.ogen/strtol.crccstrtolstrtolnptrendptrbasebase__YYnull_YYfile__YYfile_82_YYnull_YYnullline_83gen/strtol.cS_ferror.o__YYnull__YYfile_8_9_exitstart_main_environ__IO_stream_setvbuf_argv0_atol_s_id_jukebox_j_init_j_config_strcpy_j_cold_j_warm_allocate_j_load_j_start_fprintf_j_stop_printf_j_rdshelves_j_wrshelf_j_wrshelves_j_drstatus_j_name_j_dr_to_sh_j_shelfof_sprintf_j_driveof_j_eject_j_sh_to_dr_fopen_errno_strerror_fscanf_strdup_fclose_strcmp_j_shstatus_malloc__ctype_getvol_fflush_nrand_sleep_j_rvolid_strlen_j_reset_j_load_unloaded_time_j_wvolid_s_io_access_sony_istatus_ss_io_sony_status_s_ignua_open_pperror_write_close_read_ss_extsense_gen_extsense_gen_sense_atoi_memset_memcmp_strncpy_tmpnam_longat_system_unlink_fseek_fread_sys_nerr_sys_errlist_frand_lrand_srand_randcerror_alarm_setjmp_signal_getpid_kill_pause_longjmp_ftime_free_abort_freopen_vfprintf_memcpy__IO_getcudiv_creat_lseek_vfscanf__IO_setvbuf_sopenw_sclose__IO_putcurem_fputs__dtoa_ungetc_atof__atexitfns__exit_atexit_sbrk_ialloc_realloc_mstats_end_brk_strtol_fork_execl_wait_strtod_execv_execve_vfork_getppid__IO_cleanup_ferror0707070035050421051006660011710000040000011560650477113660300001200000010013jukebox.c#define     _POSIX_SOURCE
        !          2425: #include       <stddef.h>
        !          2426: #include       <stdio.h>
        !          2427: #include       <stdlib.h>
        !          2428: #include       <unistd.h>
        !          2429: #include       <string.h>
        !          2430: #include       "scsi.h"
        !          2431: #include       "jukeface.h"
        !          2432: #include       "jukebox.h"
        !          2433: #include       "arg.h"
        !          2434: 
        !          2435: Jukebox jukebox;
        !          2436: char *argv0;
        !          2437: static void prstatus(void);
        !          2438: static void usage(void);
        !          2439: static void errexit(char *errbuf);
        !          2440: static void unload(int);
        !          2441: static eject(Jukebox *j, char *vol_id, char *errbuf);
        !          2442: 
        !          2443: main(int argc, char *argv[])
        !          2444: {
        !          2445:        int c;
        !          2446:        int aflag = 0, eflag = 0, mflag = 0, pflag = 0;
        !          2447:        int rflag = 0, sflag = 0, uflag = 0, Uflag = 0;
        !          2448:        int warm = 0;
        !          2449:        long secs = 3600L*24*183;       /* half a year is enough */
        !          2450:        char *vol_id;
        !          2451:        char errbuf[1024];
        !          2452: 
        !          2453:        setvbuf(stderr, (char *)0, _IOLBF, 4096);
        !          2454:        setvbuf(stdout, (char *)0, _IOLBF, 4096);
        !          2455:        ARGBEGIN{
        !          2456:        case 'a':       aflag = 1; break;
        !          2457:        case 'e':       eflag = 1; break;
        !          2458:        case 'm':       mflag = 1; break;
        !          2459:        case 'p':       pflag = 1; break;
        !          2460:        case 'r':       rflag = 1; break;
        !          2461:        case 's':       sflag = 1; break;
        !          2462:        case 'u':       uflag = 1; break;
        !          2463:        case 'U':       Uflag = 1; break;
        !          2464:        case 'w':       secs = atol(ARGF()); break;
        !          2465:        case 'W':       warm = 1; break;
        !          2466:        default:        usage(); break;
        !          2467:        }ARGEND
        !          2468:        s_id = 2;
        !          2469:        j_init(&jukebox);
        !          2470:        if(j_config(&jukebox, errbuf) < 0)
        !          2471:                goto scram;
        !          2472:        if(!aflag&&!eflag&&!mflag&&!pflag&&!rflag&&!uflag&&!Uflag)
        !          2473:                sflag = 1;
        !          2474:        vol_id = argc? argv[0] : 0;
        !          2475:        if(uflag || Uflag)
        !          2476:                unload(Uflag);
        !          2477:        if(eflag){
        !          2478:                if(vol_id == 0){
        !          2479:                        strcpy(errbuf, "-e needs a vol_id");
        !          2480:                        goto scram;
        !          2481:                }
        !          2482:                if(eject(&jukebox, vol_id, errbuf))
        !          2483:                        goto scram;
        !          2484:        }
        !          2485:        if(rflag){
        !          2486:                if(j_cold(&jukebox, vol_id? vol_id : "u", errbuf) < 0)
        !          2487:                        goto scram;
        !          2488:        }
        !          2489:        if(warm){
        !          2490:                if(j_warm(&jukebox, errbuf) < 0)
        !          2491:                        goto scram;
        !          2492:        }
        !          2493:        if(aflag){
        !          2494:                if(vol_id == 0){
        !          2495:                        strcpy(errbuf, "-a needs a vol_id");
        !          2496:                        goto scram;
        !          2497:                }
        !          2498:                if(allocate(&jukebox, vol_id, errbuf))
        !          2499:                        goto scram;
        !          2500:        }
        !          2501:        if(mflag){
        !          2502:                if((c = j_load(&jukebox, vol_id, errbuf, secs)) < 0)
        !          2503:                        goto scram;
        !          2504:                if(j_start(c, errbuf) < 0)
        !          2505:                        fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2506:                if(j_stop(c, errbuf) < 0)
        !          2507:                        fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2508:                printf("%d\n", c);
        !          2509:        }
        !          2510:        if(sflag)
        !          2511:                prstatus();
        !          2512:        if(pflag){
        !          2513:                if(j_rdshelves(&jukebox, errbuf) < 0)
        !          2514:                        goto scram;
        !          2515:                for(c = 0; c < jukebox.nshelves; c++)
        !          2516:                        if(jukebox.names[c])
        !          2517:                                printf("%d: %s\n", c, jukebox.names[c]);
        !          2518:        }
        !          2519:        if(j_wrshelf)
        !          2520:                if(j_wrshelves(&jukebox, errbuf))
        !          2521:                        errexit(errbuf);
        !          2522:        exit(0);
        !          2523: scram:
        !          2524:        if(j_wrshelf)
        !          2525:                j_wrshelves(&jukebox, errbuf);
        !          2526:        errexit(errbuf);
        !          2527:        return(1);                      /* shut up compiler */
        !          2528: }
        !          2529: 
        !          2530: static void
        !          2531: usage(void)
        !          2532: {
        !          2533:        fprintf(stderr, "Usage: jukebox [-aemprsuU] [-w secs] [vol_id\n");
        !          2534:        exit(1);
        !          2535: }
        !          2536: 
        !          2537: static void
        !          2538: errexit(char *errbuf)
        !          2539: {
        !          2540:        fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2541:        exit(1);
        !          2542: }
        !          2543: 
        !          2544: static void
        !          2545: prstatus(void)
        !          2546: {
        !          2547:        struct lun *lun;
        !          2548:        int c;
        !          2549:        char errbuf[1024];
        !          2550: 
        !          2551:        if(j_drstatus(&jukebox, errbuf)){
        !          2552:                fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2553:                exit(1);
        !          2554:        }
        !          2555:        for(c = 0, lun = jukebox.luns; c < jukebox.nluns; c++, lun++){
        !          2556:                if(!lun->occupied)
        !          2557:                        continue;
        !          2558:                printf("lun %d(%s,%sline): ", c, lun->desc, lun->spunup?"on":"off");
        !          2559:                if(lun->shelf >= 0){
        !          2560:                        printf("%s%c", j_name(&jukebox, lun->shelf), "ab"[lun->side]);
        !          2561:                } else
        !          2562:                        printf("<unknown shelf??>");
        !          2563:                printf("\n");
        !          2564:        }
        !          2565: }
        !          2566: 
        !          2567: static void
        !          2568: unload(int force)
        !          2569: {
        !          2570:        struct lun *l;
        !          2571:        int c;
        !          2572:        char errbuf[1024];
        !          2573: 
        !          2574:        if(j_drstatus(&jukebox, errbuf)){
        !          2575:                fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2576:                exit(1);
        !          2577:        }
        !          2578:        for(c = 0, l = jukebox.luns; c < 8; c++, l++){
        !          2579:                if(l->occupied && (force || !l->spunup))
        !          2580:                        if(j_dr_to_sh(c, -1, SIDEA, errbuf))
        !          2581:                                fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2582:        }
        !          2583: }
        !          2584: 
        !          2585: static
        !          2586: eject(Jukebox *j, char *vol_id, char *errbuf)
        !          2587: {
        !          2588:        int sh;
        !          2589:        int dr;
        !          2590: 
        !          2591:        if(j_rdshelves(j, errbuf))
        !          2592:                return(-1);
        !          2593:        if(j_drstatus(j, errbuf)){
        !          2594:                fprintf(stderr, "jukebox: %s\n", errbuf);
        !          2595:                exit(1);
        !          2596:        }
        !          2597:        sh = j_shelfof(j, vol_id);
        !          2598:        if(sh < 0){
        !          2599:                sprintf(errbuf, "no vol_id %s", vol_id);
        !          2600:                return(-1);
        !          2601:        }
        !          2602:        j_wrshelf = 1;
        !          2603:        if((dr = j_driveof(j, vol_id)) >= 0){
        !          2604:                j_wrshelf = 1;
        !          2605:                j->shelves[sh] = 0;
        !          2606:                j->names[sh] = 0;
        !          2607:                return(j_eject(dr, errbuf));
        !          2608:        }
        !          2609:        dr = j->nluns-1;
        !          2610:        if(j_sh_to_dr(sh, SIDEA, dr, errbuf) < 0)
        !          2611:                return(-1);
        !          2612:        if(j_eject(dr, errbuf))
        !          2613:                return(-1);
        !          2614:        j_wrshelf = 1;
        !          2615:        j->shelves[sh] = 0;
        !          2616:        j->names[sh] = 0;
        !          2617:        return(0);
        !          2618: }
        !          2619: 0707070035050551001006660011710000040000010260350476064441400001200000001353jukebox.h#define          JUKEDIR         "/usr/worm/jukedir"
        !          2620: #define                UNALLOCATED     "<unallocated>"
        !          2621: #define                NONAME          "<no name??>"
        !          2622: 
        !          2623: extern int j_wrshelf;
        !          2624: 
        !          2625: /* general functions */
        !          2626: extern j_wrshelves(Jukebox *, char *);
        !          2627: extern j_rdshelves(Jukebox *, char *);
        !          2628: extern char *j_name(Jukebox *, int);
        !          2629: extern void j_init(Jukebox *);
        !          2630: extern char *strdup(char *);
        !          2631: extern j_cold(Jukebox *, char *, char *);
        !          2632: extern j_warm(Jukebox *, char *);
        !          2633: extern int j_rvolid(int, char *);
        !          2634: extern int j_wvolid(int, char *, char *);
        !          2635: extern getvol(int sh, int drive, char *vol_id, int *side);
        !          2636: extern j_shelfof(Jukebox *j, char *vol_id);
        !          2637: extern j_driveof(Jukebox *j, char *vol_id);
        !          2638: extern j_load(Jukebox *j, char *vol_id, char *buf, long tlimit);
        !          2639: extern allocate(Jukebox *j, char *vol_id, char *buf);
        !          2640: 0707070035050550761006660011710000040000011767700474377020200001300000001631jukeface.h#define         SIDEA           0
        !          2641: #define                SIDEB           1
        !          2642: 
        !          2643: typedef struct {
        !          2644:        int nshelves;
        !          2645:        int nluns;              /* address range of luns */
        !          2646:        int ndrives;            /* physical drives */
        !          2647:        int nworms;             /* number of drives visible in namespace */
        !          2648:        struct lun {
        !          2649:                char occupied;
        !          2650:                char spunup;
        !          2651:                int shelf;
        !          2652:                int side;
        !          2653:                char *desc;
        !          2654:        } *luns;
        !          2655:        char *shelves;          /* set or not depending if a disk is there */
        !          2656:        char **names;
        !          2657: } Jukebox;
        !          2658: extern j_config(Jukebox *, char *);
        !          2659: extern j_drstatus(Jukebox *, char *);
        !          2660: extern j_shstatus(Jukebox *, char *);
        !          2661: 
        !          2662: /* general */
        !          2663: extern j_eject(int, char *);
        !          2664: extern j_sh_to_dr(int, int, int, char *);
        !          2665: extern j_dr_to_sh(int, int, int, char *);
        !          2666: extern j_start(int, char *);
        !          2667: extern j_stop(int, char *);
        !          2668: extern j_read(int, unsigned long, char *, int, char *);
        !          2669: extern j_write(int, unsigned long, char *, int, char *);
        !          2670: extern j_capacity(int, unsigned long *, unsigned long *);
        !          2671: extern j_load_unloaded(int, char *);
        !          2672: extern void j_reset(void);
        !          2673: 0707070035050370231006660011710000040000010654430457563432300000600000000741lib.c#include     <stdio.h>
        !          2674: #include       "scsi.h"
        !          2675: #include       "scsish.h"
        !          2676: #include       "generic/fns.h"
        !          2677: #include       "sony/fns.h"
        !          2678: 
        !          2679: s_start(int dr, char *err)
        !          2680: {
        !          2681:        int iargs[1];
        !          2682:        char *cargs[1];
        !          2683: 
        !          2684:        iargs[0] = dr;
        !          2685:        return(gen_start(1, iargs, 0, cargs, err));
        !          2686: }
        !          2687: 
        !          2688: s_stop(int dr, char *err)
        !          2689: {
        !          2690:        int iargs[1];
        !          2691:        char *cargs[1];
        !          2692: 
        !          2693:        iargs[0] = dr;
        !          2694:        return(gen_stop(1, iargs, 0, cargs, err));
        !          2695: }
        !          2696: 
        !          2697: s_eject(int dr, char *err)
        !          2698: {
        !          2699:        int iargs[1];
        !          2700:        char *cargs[1];
        !          2701: 
        !          2702:        iargs[0] = dr;
        !          2703:        return(sony_eject(1, iargs, 0, cargs, err));
        !          2704: }
        !          2705: 0707070035050377361006660011710000040000010647610474377074100000700000004347load.c#define     _POSIX_SOURCE
        !          2706: #include       <stddef.h>
        !          2707: #include       <stdlib.h>
        !          2708: #include       <unistd.h>
        !          2709: #include       <stdio.h>
        !          2710: #include       <string.h>
        !          2711: #include       <errno.h>
        !          2712: #include       <time.h>
        !          2713: #include       "jukeface.h"
        !          2714: #include       "jukebox.h"
        !          2715: 
        !          2716: static j_empty_drive(Jukebox *, long tlimit, char *buf);
        !          2717: 
        !          2718: j_load(Jukebox *j, char *vol_id, char *buf, long tlimit)
        !          2719: {
        !          2720:        int side;
        !          2721:        int n, sh, dr;
        !          2722:        char disk_to_load[256];
        !          2723:        struct lun *l;
        !          2724: 
        !          2725:        if(j_rdshelves(j, buf)) /* read in shelf names */
        !          2726:                return(-1);
        !          2727:        if(j_drstatus(j, buf))  /* get the jukebox status */
        !          2728:                return(-1);
        !          2729:        if(j_shstatus(j, buf))  /* get the jukebox status */
        !          2730:                return(-1);
        !          2731:        /* now check which side we want */
        !          2732:        n = strlen(vol_id);
        !          2733:        strcpy(disk_to_load, vol_id);
        !          2734:        if(disk_to_load[n-1] == 'a')
        !          2735:                side = SIDEA;
        !          2736:        else if(disk_to_load[n-1] == 'b')
        !          2737:                side = SIDEB;
        !          2738:        else {
        !          2739:                sprintf(buf, "vol_id '%s' must end in a or b", vol_id);
        !          2740:                return(-1);
        !          2741:        }
        !          2742:        disk_to_load[n-1] = 0;
        !          2743:        /* which shelf is that? */
        !          2744:        sh = j_shelfof(j, disk_to_load);
        !          2745:        if(sh < 0){
        !          2746:                sprintf(buf, "can't find vol_id %s", disk_to_load);
        !          2747:                return(-1);
        !          2748:        }
        !          2749:        while(tlimit >= 0){
        !          2750:                for(n = 0; n < j->nluns; n++){
        !          2751:                        l = &j->luns[n];
        !          2752:                        if(l->shelf == sh){
        !          2753:                                if((l->side == side) && (n < j->nworms))
        !          2754:                                        return(n);
        !          2755:                                if(l->spunup)
        !          2756:                                        goto await;
        !          2757:                                if(j_dr_to_sh(n, -1, 0, buf))
        !          2758:                                        return(-1);
        !          2759:                                if(j_drstatus(j, buf))  /* get the jukebox status */
        !          2760:                                        return(-1);
        !          2761:                                break;
        !          2762:                        }
        !          2763:                }
        !          2764:                /* disk is available */
        !          2765:                dr = j_empty_drive(j, tlimit, buf);
        !          2766:                if(dr < 0){
        !          2767:                        sprintf(buf, "can't find a free drive");
        !          2768:                        return(-1);
        !          2769:                }
        !          2770:                if(j_sh_to_dr(sh, side, dr, buf) < 0)
        !          2771:                        return(-1);
        !          2772:                return(dr);
        !          2773: await:
        !          2774:                sleep(10);
        !          2775:                tlimit -= 10;
        !          2776:                if(j_drstatus(j, buf))  /* get the jukebox status */
        !          2777:                        return(-1);
        !          2778:        }
        !          2779:        sprintf(buf, "disk '%s' busy", disk_to_load);
        !          2780:        return(-1);
        !          2781: }
        !          2782: 
        !          2783: static
        !          2784: j_empty_drive(Jukebox *j, long tlimit, char *buf)
        !          2785: {      
        !          2786:        int i, tstop;
        !          2787:        
        !          2788:        tstop = time((long *)0) + tlimit;
        !          2789:        while(time((long *)0) <= tstop){
        !          2790:                /* look for empty drives */
        !          2791:                for(i = 0; i < j->nworms; i++)
        !          2792:                        if(!j->luns[i].occupied)
        !          2793:                                return(i);
        !          2794:                /* look for spun down drives */
        !          2795:                for(i = 0; i < j->nworms; i++){
        !          2796:                        if(!j->luns[i].spunup){
        !          2797:                                if(j_dr_to_sh(i, -1, SIDEA, buf))
        !          2798:                                        return(-1);
        !          2799:                                else
        !          2800:                                        return(i);
        !          2801:                        }
        !          2802:                }
        !          2803:                sleep(10);
        !          2804:                if(j_drstatus(j, buf))  /* get the jukebox status */
        !          2805:                        return(-1);
        !          2806:        }
        !          2807:        return(-1);
        !          2808: }
        !          2809: 0707070035050422011006660011710000040000010133710503442343700000700000006057mkfileSYS=research
        !          2810: < $SYS.mk
        !          2811: CFLAGS="$CFLAGS -A"
        !          2812: JL=juke.a
        !          2813: X=shelves jinit cold warm load allocate # getstatus iodr_sh lib
        !          2814: JLIB=${X:%=$JL(%.o)}
        !          2815: JSRC=${X:%=%.c}
        !          2816: 
        !          2817: SL=scsi.a
        !          2818: X=s_$IO ge_sense s_volid s_pperror s_fixedstr s_longat s_xd
        !          2819: SLIB=${X:%=$SL(%.o)}
        !          2820: 
        !          2821: SHL=scsish.a
        !          2822: GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start\
        !          2823:        ge_reset ge_tur ge_scsi ge_readt ge_read # ge_sense in $SL
        !          2824: SONY=so_dev so_inq so_alt so_config so_sense \
        !          2825:        so_i0.tab so_i1.tab so_scsi.tab so_nesd.tab \
        !          2826:        so_status so_set so_shelfside so_diskid so_copy so_eject \
        !          2827:        so_media so_rel so_internal so_readid so_juke
        !          2828: WREN=wr_dev wr_inq wr_driver wr_elite wr_mpage wr_wren5 #wr_rmode wr_wmode wr_diag
        !          2829: X=$GENERIC $SONY $WREN
        !          2830: SHLIB=${X:%=$SHL(%.o)}
        !          2831: 
        !          2832: TL=tcl.a
        !          2833: X=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory\
        !          2834:        tclProc tclUtil
        !          2835: TLIB=${X:%=$TL(%.o)}
        !          2836: 
        !          2837: all:V: scsish jukebox
        !          2838: 
        !          2839: both:V:        ../jukebox ../scsish
        !          2840: 
        !          2841: ../%:  %
        !          2842:        cp $prereq $target
        !          2843: 
        !          2844: jukebox:       jukebox.o $JL $SHL $SL
        !          2845:        $CC $CFLAGS -o $target $prereq $LDFLAGS
        !          2846: 
        !          2847: scsish:        scsish.o $SHL $SL $TL
        !          2848:        $CC $CFLAGS -o $target $prereq $LDFLAGS
        !          2849: 
        !          2850: jpp:V:
        !          2851:        pr mkfile juke.h scsi.h jukebox.c $JSRC | lp -ddp -n2
        !          2852: 
        !          2853: poot:V:        scsish
        !          2854:        echo 'id 5; dev wren
        !          2855:        modesense; modeselect gc maxpref 23' | scsish
        !          2856:        #echo capacity 0 | scsish
        !          2857: 
        !          2858: poot1:V:       scsish
        !          2859:        echo 'read 0 2644042 10 temp' | scsish
        !          2860:        ls -l temp
        !          2861: 
        !          2862: scsi.cpio:V:   inc/scsi.h
        !          2863:        find * -print | sed -e '/\.[oa]$/d' -e '/\.cpio$/d' | cpio -oc > $target
        !          2864: inc/scsi.h:Pcmp -s:    /usr/include/scsi.h
        !          2865:        cp $prereq $target
        !          2866: 
        !          2867: 
        !          2868: # below is just magic; believe it.
        !          2869: 
        !          2870: $JL(%.o):N:    %.o
        !          2871: $JL:Q: $JLIB
        !          2872:        names=`membername $newprereq`
        !          2873:        ar rv $JL $names && rm $names
        !          2874:        $RANLIB $JL
        !          2875: 
        !          2876: $SL(%.o):N:    %.o
        !          2877: $SL:Q: $SLIB
        !          2878:        names=`membername $newprereq`
        !          2879:        ar rv $SL $names && rm $names
        !          2880:        $RANLIB $SL
        !          2881: 
        !          2882: $SHL(%.o):N:   %.o
        !          2883: $SHL:Q:        $SHLIB
        !          2884:        names=`membername $newprereq`
        !          2885:        ar rv $SHL $names && rm $names
        !          2886:        $RANLIB $SHL
        !          2887: 
        !          2888: $TL(%.o):N:    %.o
        !          2889: $TL:Q: $TLIB
        !          2890:        names=`membername $newprereq`
        !          2891:        ar rv $TL $names && rm $names
        !          2892:        $RANLIB $TL
        !          2893: 
        !          2894: s_%.o: scsi/%.c
        !          2895:        cd scsi; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
        !          2896: so_%.o:        sony/%.c
        !          2897:        cd sony; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
        !          2898: so_%.o:        sony/fns.h
        !          2899: ge_%.o:        generic/%.c
        !          2900:        cd generic; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
        !          2901: ge_%.o:        generic/fns.h
        !          2902: wr_%.o:        wren/%.c
        !          2903:        cd wren; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target
        !          2904: wr_%.o:        wren/fns.h
        !          2905: so_%.o wr_%.o ge_%.o:  scsish.h scsi.h
        !          2906: s_%.o: scsi.h
        !          2907: tcl%.o:        tcl/tcl%.c
        !          2908:        cd tcl; $CC $CFLAGS -c -I. -DTCL_VERSION=\"3.3\" -I.. tcl$stem.c && mv tcl$stem.o ../$target
        !          2909: tcl%.o:        tcl.h
        !          2910: 
        !          2911: so_%.tab.o:Q:  sony/%.tab
        !          2912:        cd sony
        !          2913:        echo generating $target
        !          2914:        p=$stem.tab
        !          2915:        awk -F' ' '
        !          2916:        BEGIN   { h["0"]=0;h["1"]=1;h["2"]=2;h["3"]=3;h["4"]=4;h["5"]=5;h["6"]=6;h["7"]=7;
        !          2917:                h["8"]=8;h["9"]=9;h["a"]=10;h["b"]=11;h["c"]=12;h["d"]=13;h["e"]=14;h["f"]=15;
        !          2918:                }
        !          2919:        function done(  i){
        !          2920:                for(i = 0; i < 256; i++) if(x[i]){
        !          2921:                                print "\t\"" x[i] "\","
        !          2922:                                x[i] = ""
        !          2923:                        } else printf "\t\"<#%x>\",\n", i
        !          2924:                print "};"
        !          2925:        }
        !          2926:        function hex(n, i){
        !          2927:                return(h[substr(n, 1, 1)]*16+h[substr(n, 2, 1)]);
        !          2928:        }
        !          2929:        NF == 1 { if(NR > 1) done(); print "char *" $1 "[] = {" }
        !          2930:        NF > 1  { x[hex($1)] = $2; }
        !          2931:        END     { done(); }' < $p > $p.c && $CC $CFLAGS -c $p.c && mv $p.o ../$target
        !          2932:        rm $p.c
        !          2933: 0707070035050406421006660011710000040000010511230457563431100000700000000340nlun.c#include    <stdio.h>
        !          2934: #include       "scsi.h"
        !          2935: #include       "juke.h"
        !          2936: 
        !          2937: int nlun = 1;
        !          2938: 
        !          2939: void
        !          2940: setnlun(void)
        !          2941: {
        !          2942:        char buf[512];
        !          2943: 
        !          2944:        for(nlun = 0; nlun < NLUN; nlun++){
        !          2945:                sprintf(buf, "/dev/worm%d", nlun);
        !          2946:                if(access(buf, 0) < 0)
        !          2947:                        return;
        !          2948:        }
        !          2949: }
        !          2950: 0707070035050370111006660011710000040000010000000457563432400001200000000000nohup.out0707070035050421750407770011710000040000020452300457563430600001000000000000osanity0707070035050421741006660011710000040000010452310457563430600002200000001051osanity/tstfill.cshort pat[][8] =
        !          2951: {
        !          2952:        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        !          2953:        0xb6db, 0xeb6d, 0xb6db, 0xeb6d, 0xb6db, 0xeb6d, 0xb6db, 0xeb6d,
        !          2954:        0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
        !          2955:        0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 0xAAAA, 
        !          2956:        0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 
        !          2957: };
        !          2958: 
        !          2959: fillbuf(buf, n)
        !          2960:        char *buf;
        !          2961: {
        !          2962:        int i = 0;
        !          2963:        register j;
        !          2964: 
        !          2965:        while(n > 0){
        !          2966:                if(i >= sizeof(pat)/sizeof(pat[0]))
        !          2967:                        i = 0;
        !          2968:                for(j = 0; j < 64; j++, buf += 16)
        !          2969:                        memcpy(buf, pat[i], 16);
        !          2970:                n--;
        !          2971:                i++;
        !          2972:        }
        !          2973: }
        !          2974: 0707070035050421731006660011710000040000010452320457563430600002000000002004osanity/tstrd.cmain(argc, argv)
        !          2975:        char **argv;
        !          2976: {
        !          2977:        long first, last, t;
        !          2978:        char buf[32768], buf1[32768], *bufp;
        !          2979:        int fd, n;
        !          2980:        char *worm = "/dev/worm0";
        !          2981: 
        !          2982:        if((argc < 3) || (argc > 4)){
        !          2983:                print("Usage: tstrd [device] firstblock firstnonblock\n");
        !          2984:                exit(1);
        !          2985:        }
        !          2986:        if(argc > 3)
        !          2987:                worm = *++argv;
        !          2988:        if((fd = open(worm, 0)) < 0){
        !          2989:                perror(worm);
        !          2990:                exit(1);
        !          2991:        }
        !          2992:        first = atol(argv[1]);
        !          2993:        last = atol(argv[2]);
        !          2994:        if((first < 0) || (last <= first)){
        !          2995:                print("bad first=%ld last=%ld\n", first, last);
        !          2996:                exit(1);
        !          2997:        }
        !          2998:        print("reading blocks %ld - %ld inclusive on %s\n", first, last-1, worm);
        !          2999:        fillbuf(buf, 32);
        !          3000:        bufp = &buf[1024*(first%5)];
        !          3001:        lseek(fd, first*1024, 0);
        !          3002:        while(first < last){
        !          3003:                n = last-first;
        !          3004:                if(n > 25) n = 25;
        !          3005:                if(read(fd, buf1, n*1024) != n*1024){
        !          3006:                        print("block %ld: ", first);
        !          3007:                        perror("read");
        !          3008:                        exit(1);
        !          3009:                }
        !          3010:                if(memcmp(bufp, buf1, n*1024)){
        !          3011:                        print("block %ld: bytes differ\n", first);
        !          3012:                        exit(1);
        !          3013:                }
        !          3014:                if((first%5000) == 0){
        !          3015:                        t = time((long *)0);
        !          3016:                        print("done block %ld: %s", first, ctime(&t));
        !          3017:                }
        !          3018:                first += n;
        !          3019:        }
        !          3020:        exit(0);
        !          3021: }
        !          3022: 0707070035050421721006660011710000040000010452410457563430600002000000002730osanity/tstsk.cmain(argc, argv)
        !          3023:        char **argv;
        !          3024: {
        !          3025:        long first, last, t;
        !          3026:        char buf[32768], buf1[32768], *bufp;
        !          3027:        int fd, n, i;
        !          3028:        char *worm = "/dev/worm0";
        !          3029:        long bands[50][2];
        !          3030:        int nbands;
        !          3031:        long loop;
        !          3032:        double tseek, tbl;
        !          3033:        float floop;
        !          3034: 
        !          3035:        if(argc < 3){
        !          3036:                print("Usage: tstsk [device] firstblock firstnonblock ...\n");
        !          3037:                exit(1);
        !          3038:        }
        !          3039:        if((argc&1) == 0)
        !          3040:                worm = *++argv;
        !          3041:        if((fd = open(worm, 0)) < 0){
        !          3042:                perror(worm);
        !          3043:                exit(1);
        !          3044:        }
        !          3045:        nbands = 0;
        !          3046:        while(*++argv){
        !          3047:                first = atol(*argv);
        !          3048:                last = atol(*++argv);
        !          3049:                if((first < 0) || (last <= first)){
        !          3050:                        print("bad first=%ld last=%ld\n", first, last);
        !          3051:                        exit(1);
        !          3052:                }
        !          3053:                bands[nbands][0] = first;
        !          3054:                bands[nbands][1] = last;
        !          3055:                nbands++;
        !          3056:        }
        !          3057:        tseek = tbl = 0;
        !          3058:        last = 0;
        !          3059:        fillbuf(buf, 32);
        !          3060:        for(loop = 0;; loop++){
        !          3061:                i = nrand(nbands);
        !          3062:                first = bands[i][0] + lrand()%(bands[i][1]-bands[i][0]);
        !          3063:                n = 20;
        !          3064:                if(first+n > bands[i][1])
        !          3065:                        first = bands[i][1]-n;
        !          3066:                if(first < bands[i][0])
        !          3067:                        first = bands[i][0], n = bands[i][1]-first;
        !          3068:                tbl += n;
        !          3069:                lseek(fd, first*1024, 0);
        !          3070:                last -= first;
        !          3071:                if(last < 0) last = -last;
        !          3072:                tseek += last;
        !          3073:                bufp = &buf[1024*(first%5)];
        !          3074:                if(read(fd, buf1, n*1024) != n*1024){
        !          3075:                        print("block %ld: ", first);
        !          3076:                        perror("read");
        !          3077:                        exit(1);
        !          3078:                }
        !          3079:                if(memcmp(bufp, buf1, n*1024)){
        !          3080:                        print("block %ld: bytes differ\n", first);
        !          3081:                        exit(1);
        !          3082:                }
        !          3083:                if(loop && ((loop%100) == 0)){
        !          3084:                        t = time((long *)0);
        !          3085:                        floop = loop+1;
        !          3086:                        print("loop %ld: ave blocks=%.1f, ave seek=%.1fk at %s",
        !          3087:                                loop, tbl/floop, tseek/floop, ctime(&t));
        !          3088:                }
        !          3089:                last = first+n;
        !          3090:        }
        !          3091: }
        !          3092: 0707070035050421711006660011710000040000010452420457563430600002000000001646osanity/tstwr.cmain(argc, argv)
        !          3093:        char **argv;
        !          3094: {
        !          3095:        long first, last, t;
        !          3096:        char buf[32768], buf1[32768], *bufp;
        !          3097:        int fd, n;
        !          3098:        char *worm = "/dev/worm0";
        !          3099: 
        !          3100:        if((argc < 3) || (argc > 4)){
        !          3101:                print("Usage: tstwr [device] firstblock firstnonblock\n");
        !          3102:                exit(1);
        !          3103:        }
        !          3104:        if(argc > 3)
        !          3105:                worm = *++argv;
        !          3106:        if((fd = open(worm, 1)) < 0){
        !          3107:                perror(worm);
        !          3108:                exit(1);
        !          3109:        }
        !          3110:        first = atol(argv[1]);
        !          3111:        last = atol(argv[2]);
        !          3112:        if((first < 0) || (last <= first)){
        !          3113:                print("bad first=%ld last=%ld\n", first, last);
        !          3114:                exit(1);
        !          3115:        }
        !          3116:        print("writing blocks %ld - %ld inclusive on %s\n", first, last-1, worm);
        !          3117:        fillbuf(buf, 32);
        !          3118:        bufp = &buf[1024*(first%5)];
        !          3119:        lseek(fd, first*1024, 0);
        !          3120:        while(first < last){
        !          3121:                n = last-first;
        !          3122:                if(n > 25) n = 25;
        !          3123:                if(write(fd, bufp, n*1024) != n*1024){
        !          3124:                        print("block %ld: ", first);
        !          3125:                        perror("write");
        !          3126:                        exit(1);
        !          3127:                }
        !          3128:                if((first%5000) == 0){
        !          3129:                        t = time((long *)0);
        !          3130:                        print("done block %ld: %s", first, ctime(&t));
        !          3131:                }
        !          3132:                first += n;
        !          3133:        }
        !          3134:        exit(0);
        !          3135: }
        !          3136: 0707070035050421701006660011710000040000010452440457563430600001700000000214osanity/mkfileCFLAGS=-g
        !          3137: NPROC=2
        !          3138: ALL=tstwr tstrd tstsk
        !          3139: 
        !          3140: all:V: $ALL
        !          3141: 
        !          3142: tst%:  tst%.o tstfill.o
        !          3143:        $CC $CFLAGS -o $target $prereq
        !          3144: 
        !          3145: clean:V:
        !          3146:        rm -f *.o $ALL core
        !          3147: 0707070035050421671007770011710000040000010454620457563430600001500000000113osanity/seektstsk 5 100000 400000 500000 800000 900000 1200000 1300000 1500000 1600000
        !          3148: 0707070035050375161006660011710000040000010653560466302006200001400000000126research.mk# config stuff: research unix
        !          3149: CC=pcc
        !          3150: CFLAGS=-g
        !          3151: RANLIB=ranlib
        !          3152: LDFLAGS=
        !          3153: IO=h_io
        !          3154: NPROC=2
        !          3155: 0707070035050406400407770011710000040000020511270474377165700000500000000000scsi0707070035050406371006440011710000040000010535150464677426000001500000027722scsi/dslib.c/*
        !          3156: || dslib.c - library routines for /dev/scsi
        !          3157: ||
        !          3158: || Copyright 1988, 1989, by
        !          3159: ||   Gene Dronek (Vulcan Laboratory) and
        !          3160: ||   Rich Morin  (Canta Forda Computer Laboratory).
        !          3161: || All rights reserved.
        !          3162: */
        !          3163: #ident "dslib.c: $Revision: 1.4 $"
        !          3164: 
        !          3165: #include <stdio.h>
        !          3166: #include <sys/types.h>
        !          3167: 
        !          3168: #include "dslib.h"
        !          3169: #ifdef aux
        !          3170: #include <sys/vio.h>
        !          3171: #include <sys/scsireq.h>
        !          3172: #endif aux
        !          3173: 
        !          3174: int dsdebug=0;
        !          3175: long dsreqflags;       /* flag bits always set by filldsreq */
        !          3176: 
        !          3177: #define min(i,j)  ( (i) < (j) ? (i) : (j) )
        !          3178: 
        !          3179: 
        !          3180: /*
        !          3181: || Startup/shutdown -----------------------------------------------
        !          3182: */
        !          3183: 
        !          3184: static struct context *dsc[FDSIZ];
        !          3185: 
        !          3186: 
        !          3187: /*
        !          3188: || dsopen - open device, set up structures
        !          3189: */
        !          3190: 
        !          3191: struct dsreq *
        !          3192: dsopen(opath, oflags)
        !          3193:   char *opath;
        !          3194:   int   oflags;
        !          3195: {
        !          3196:     
        !          3197:   struct dsreq *dsp;
        !          3198:   struct context *cp;
        !          3199:   int fd;
        !          3200:   DSDBG(fprintf(stderr,"dsopen(%s,%x) ", opath, oflags));
        !          3201: 
        !          3202:   fd = open(opath, oflags);
        !          3203:   if (fd < 0)                                          
        !          3204:     return NULL;                       /* can't open   */
        !          3205:   if (dsc[fd] != NULL)                 /* already in use */
        !          3206:     ds_zot("dsopen: fd already in use");
        !          3207: 
        !          3208:   cp = (struct context *) calloc(1, sizeof(struct context));
        !          3209:   if (cp == NULL)                                    /* can't allocate */
        !          3210:     ds_zot("dsopen: can't allocate space");
        !          3211:   dsc[fd] = cp;
        !          3212:   cp->dsc_fd = fd;
        !          3213:   dsp = &(cp->dsc_dsreq);
        !          3214: 
        !          3215:   dsp->ds_flags =      0;
        !          3216:   dsp->ds_time =       10 * 1000;      /* 10 second default timeout */
        !          3217:   dsp->ds_private =    (ulong) cp;     /* pointer back to context */
        !          3218:   dsp->ds_cmdbuf =     cp->dsc_cmd;
        !          3219:   dsp->ds_cmdlen =     sizeof cp->dsc_cmd;
        !          3220:   dsp->ds_databuf =    0;
        !          3221:   dsp->ds_datalen =    0;
        !          3222:   dsp->ds_sensebuf =   cp->dsc_sense;
        !          3223:   dsp->ds_senselen =   sizeof cp->dsc_sense;
        !          3224:   DSDBG(fprintf(stderr,"=>cp %x, dsp %x\n", cp, dsp));
        !          3225:   return dsp;
        !          3226: }
        !          3227: 
        !          3228: 
        !          3229: /*
        !          3230: || dsclose - close device, release context struct.
        !          3231: */
        !          3232: 
        !          3233: dsclose(dsp)
        !          3234:   struct dsreq *dsp;
        !          3235: {
        !          3236:   int fd;
        !          3237:   struct context *cp;
        !          3238: 
        !          3239:   if (dsp == NULL)
        !          3240:     ds_zot("dsclose: dsp is NULL");
        !          3241: 
        !          3242:   cp = (struct context *)dsp->ds_private;
        !          3243:   fd = getfd(dsp);
        !          3244:   if ( cp == NULL )
        !          3245:     ds_zot("dsclose: private is NULL");
        !          3246: 
        !          3247:   cfree(cp);
        !          3248:   dsc[fd] = (struct context *)NULL;
        !          3249:   return;
        !          3250: }
        !          3251: 
        !          3252: 
        !          3253: /*
        !          3254: || Generic SCSI CCS Command functions ------------------------------------
        !          3255: ||
        !          3256: || dsp         dsreq pointer
        !          3257: || data                data buffer pointer
        !          3258: || datalen     data buffer length
        !          3259: || lba         logical block address
        !          3260: || vu          vendor unique bits
        !          3261: */
        !          3262: 
        !          3263: /*
        !          3264: || testunitready00 - issue group 0 "Test Unit Ready" command (0x00)
        !          3265: */
        !          3266: 
        !          3267: testunitready00(dsp)
        !          3268:   struct dsreq *dsp;
        !          3269: {
        !          3270:   fillg0cmd(dsp, CMDBUF(dsp), G0_TEST, 0, 0, 0, 0, 0);
        !          3271:   filldsreq(dsp, 0, 0, DSRQ_READ|DSRQ_SENSE);
        !          3272:   return(doscsireq(getfd(dsp), dsp));
        !          3273: }
        !          3274: 
        !          3275: 
        !          3276: /*
        !          3277: || requestsense03 - issue group 0 "Request Sense" command (0x03)
        !          3278: */
        !          3279: 
        !          3280: requestsense03(dsp, data, datalen, vu)
        !          3281:   struct dsreq *dsp;
        !          3282:   caddr_t data;
        !          3283:   long datalen;
        !          3284:   char vu;
        !          3285: {
        !          3286:   fillg0cmd(dsp, CMDBUF(dsp), G0_REQU, 0, 0, 0, B1(datalen), B1(vu<<6));
        !          3287:   filldsreq(dsp, data, datalen, DSRQ_READ);
        !          3288:   return(doscsireq(getfd(dsp), dsp));
        !          3289: }
        !          3290: 
        !          3291: 
        !          3292: /*
        !          3293: || write0a - issue group 0 "Write" command (0x0a)
        !          3294: */
        !          3295: 
        !          3296: write0a(dsp, data, datalen, lba, vu)
        !          3297:   struct dsreq *dsp;
        !          3298:   caddr_t data;
        !          3299:   long datalen, lba;
        !          3300:   char vu;
        !          3301: {
        !          3302:   fillg0cmd(dsp, CMDBUF(dsp), G0_WRIT, B3(lba), B1(datalen), B1(vu<<6));
        !          3303:   filldsreq(dsp, data, datalen, DSRQ_READ);
        !          3304:   return(doscsireq(getfd(dsp), dsp));
        !          3305: }
        !          3306: 
        !          3307: 
        !          3308: /*
        !          3309: || inquiry12 - issue group 0 "Inquiry" command (0x12)
        !          3310: */
        !          3311: 
        !          3312: inquiry12(dsp, data, datalen, vu)
        !          3313:   struct dsreq *dsp;
        !          3314:   caddr_t data;
        !          3315:   long datalen;
        !          3316:   char vu;
        !          3317: {
        !          3318:   fillg0cmd(dsp, CMDBUF(dsp), G0_INQU, 0, 0, 0, B1(datalen), B1(vu<<6));
        !          3319:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
        !          3320:   return(doscsireq(getfd(dsp), dsp));
        !          3321: }
        !          3322: 
        !          3323: 
        !          3324: /*
        !          3325: || modeselect15 - issue group 0 "Mode Select" command (0x15)
        !          3326: ||
        !          3327: || save                0 - don't save saveable pages
        !          3328: ||             1 - save saveable pages
        !          3329: */
        !          3330: 
        !          3331: modeselect15(dsp, data, datalen, save, vu)
        !          3332:   struct dsreq *dsp;
        !          3333:   caddr_t data;
        !          3334:   long datalen;
        !          3335:   char save, vu;
        !          3336: {
        !          3337:   fillg0cmd(dsp, CMDBUF(dsp), G0_MSEL, save&1, 0, 0, B1(datalen), B1(vu<<6));
        !          3338:   filldsreq(dsp, data, datalen, DSRQ_WRITE|DSRQ_SENSE);
        !          3339:   return(doscsireq(getfd(dsp), dsp));
        !          3340: }
        !          3341: 
        !          3342: 
        !          3343: /*
        !          3344: || modesense1a - issue group 0 "Mode Sense" command (0x1a)
        !          3345: ||
        !          3346: || pagectrl    0 - current values
        !          3347: ||             1 - changeable values
        !          3348: ||             2 - default values
        !          3349: ||             3 - saved values
        !          3350: ||
        !          3351: || pagecode    0   - vendor unique
        !          3352: ||             1   - error recovery
        !          3353: ||             2   - disconnect/reconnect
        !          3354: ||             3   - direct access dev. fmt.
        !          3355: ||             4   - rigid disk geometry
        !          3356: ||             5   - flexible disk
        !          3357: ||             6-9 - see specific dev. types
        !          3358: ||             0a  - implemented options
        !          3359: ||             0b  - medium types supported
        !          3360: ||             3f  - return all pages
        !          3361: */
        !          3362: 
        !          3363: modesense1a(dsp, data, datalen, pagectrl, pagecode, vu)
        !          3364:   struct dsreq *dsp;
        !          3365:   caddr_t data;
        !          3366:   long datalen;
        !          3367:   char pagectrl, pagecode, vu;
        !          3368: {
        !          3369:   fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN, 0x10,
        !          3370:     ((pagectrl&3)<<6) | (pagecode&0x3F),
        !          3371:     0, B1(datalen), B1(vu<<6));
        !          3372:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
        !          3373:   return(doscsireq(getfd(dsp), dsp));
        !          3374: }
        !          3375: 
        !          3376: 
        !          3377: /*
        !          3378: || senddiagnostic1d - issue group 0 "Send Diagnostic" command (0x1d)
        !          3379: ||
        !          3380: || self                0 - run test, hold results
        !          3381: ||             1 - run test, return status
        !          3382: ||
        !          3383: || dofl                0 - device online
        !          3384: ||             1 - device offline
        !          3385: ||
        !          3386: || uofl                0 - unit online
        !          3387: ||             1 - unit offline
        !          3388: */
        !          3389: 
        !          3390: senddiagnostic1d(dsp, data, datalen, self, dofl, uofl, vu)
        !          3391:   struct dsreq *dsp;
        !          3392:   caddr_t data;
        !          3393:   long datalen;
        !          3394:   char self, dofl, uofl, vu;
        !          3395: {
        !          3396:   fillg0cmd(dsp, CMDBUF(dsp), G0_MSEN,
        !          3397:     (self&1)<<2 | (dofl&1)<<1 | (uofl&1),
        !          3398:     0, B2(datalen), B1(vu<<6));
        !          3399:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE);
        !          3400:   return(doscsireq(getfd(dsp), dsp));
        !          3401: }
        !          3402: 
        !          3403: 
        !          3404: /*
        !          3405: || readcapacity25 - issue group 1 "Read Capacity" command (0x25)
        !          3406: ||
        !          3407: || pmi         0 - return last logical block, entire unit
        !          3408: ||             1 - return last logical block, current track
        !          3409: */
        !          3410: 
        !          3411: readcapacity25(dsp, data, datalen, lba, pmi, vu)
        !          3412:   struct dsreq *dsp;
        !          3413:   caddr_t data;
        !          3414:   long datalen, lba;
        !          3415:   char pmi, vu;
        !          3416: {
        !          3417:   fillg1cmd(dsp, CMDBUF(dsp), G1_RCAP, 0, B4(lba), 0, 0, pmi&1, B1(vu<<6));
        !          3418:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
        !          3419:     /* |DSRQ_CTRL2 */ );
        !          3420:   /* dsp->ds_time = 100;       /* often takes a while */
        !          3421:   return(doscsireq(getfd(dsp), dsp));
        !          3422: }
        !          3423: 
        !          3424: 
        !          3425: /*
        !          3426: || readextended28 - issue group 1 "Read Extended" command (0x28)
        !          3427: */
        !          3428: 
        !          3429: readextended28(dsp, data, datalen, lba, vu)
        !          3430:   struct dsreq *dsp;
        !          3431:   caddr_t data;
        !          3432:   long datalen, lba;
        !          3433:   char vu;
        !          3434: {
        !          3435:   fillg1cmd(dsp, CMDBUF(dsp), G1_READ, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
        !          3436:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
        !          3437:     /* |DSRQ_CTRL2 */ );
        !          3438:   /* dsp->ds_time = 100;       /* often takes a while */
        !          3439:   return(doscsireq(getfd(dsp), dsp));
        !          3440: }
        !          3441: 
        !          3442: 
        !          3443: /*
        !          3444: || writeextended2a - issue group 1 "Write Extended" command (0x2a)
        !          3445: */
        !          3446: 
        !          3447: writeextended2a(dsp, data, datalen, lba, vu)
        !          3448:   struct dsreq *dsp;
        !          3449:   caddr_t data;
        !          3450:   long datalen, lba;
        !          3451:   char vu;
        !          3452: {
        !          3453:   fillg1cmd(dsp, CMDBUF(dsp), G1_WRIT, 0, B4(lba), 0, B2(datalen), B1(vu<<6));
        !          3454:   filldsreq(dsp, data, datalen, DSRQ_READ|DSRQ_SENSE
        !          3455:     /* |DSRQ_CTRL2 */ );
        !          3456:   /* dsp->ds_time = 100;       /* often takes a while */
        !          3457:   return(doscsireq(getfd(dsp), dsp));
        !          3458: }
        !          3459: 
        !          3460: 
        !          3461: /*
        !          3462: || Support functions ----------------------------------------------------
        !          3463: */
        !          3464: 
        !          3465: /*
        !          3466: || fillg0cmd - Fill a Group 0 command buffer
        !          3467: */
        !          3468: 
        !          3469: fillg0cmd(dsp, cmd, b0,b1,b2,b3,b4,b5)
        !          3470:   struct dsreq *dsp;
        !          3471:   uchar_t *cmd, b0,b1,b2,b3,b4,b5;
        !          3472: {
        !          3473:   uchar_t *c = cmd;
        !          3474:   DSDBG(fprintf(stderr,"fillg0cmd(%x,%x, %02x %02x %02x %02x %02x %02x)\n",
        !          3475:                dsp, cmd, b0,b1,b2,b3,b4,b5));
        !          3476:   *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
        !          3477:        
        !          3478:   CMDBUF(dsp) = (caddr_t) cmd;
        !          3479:   CMDLEN(dsp) = 6;
        !          3480: }
        !          3481: 
        !          3482: 
        !          3483: /*
        !          3484: || fillg1cmd - Fill a Group 1 command buffer
        !          3485: */
        !          3486: 
        !          3487: fillg1cmd(dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9)
        !          3488:   struct dsreq *dsp;
        !          3489:   uchar_t *cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
        !          3490: {
        !          3491:   uchar_t *c = cmd;
        !          3492:   DSDBG(fprintf(stderr,
        !          3493:     "fillg1cmd(%x,%x, %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x)\n",
        !          3494:                dsp, cmd, b0,b1,b2,b3,b4,b5,b6,b7,b8,b9));
        !          3495: 
        !          3496:   *c++ = b0, *c++ = b1, *c++ = b2, *c++ = b3, *c++ = b4, *c++ = b5;
        !          3497:   *c++ = b6, *c++ = b7, *c++ = b8, *c++ = b9;
        !          3498:        
        !          3499:   CMDBUF(dsp) = (caddr_t) cmd;
        !          3500:   CMDLEN(dsp) = 10;
        !          3501: }
        !          3502: 
        !          3503: 
        !          3504: /*
        !          3505: || filldsreq - Fill a dsreq structure
        !          3506: */
        !          3507: 
        !          3508: filldsreq(dsp,data,datalen,flags)
        !          3509:   struct dsreq         *dsp;
        !          3510:   uchar_t              *data;
        !          3511: {
        !          3512:   DSDBG(fprintf(stderr,"filldsreq(%x,%x,%d,%x) cmdlen %d\n",
        !          3513:                dsp,data,datalen,flags,CMDLEN(dsp)));
        !          3514:   dsp->ds_flags        = flags | dsreqflags |
        !          3515:          (((dsdebug&1) ? DSRQ_TRACE : 0) |
        !          3516:          ((dsdebug&2) ? DSRQ_PRINT : 0));
        !          3517:   dsp->ds_time = 10 * 1000;    /* default to 10 seconds */
        !          3518:   dsp->ds_link = 0;
        !          3519:   dsp->ds_synch        = 0;
        !          3520:   dsp->ds_ret          = 0;
        !          3521: 
        !          3522:   DATABUF(dsp)         = (caddr_t) data;
        !          3523:   DATALEN(dsp) = datalen;
        !          3524: }
        !          3525: 
        !          3526: 
        !          3527: /*
        !          3528: || bprint - print array of bytes, in hex.
        !          3529: */
        !          3530: 
        !          3531: #define hex(x) "0123456789ABCDEF" [ (x) & 0xF ]
        !          3532: 
        !          3533: bprint(s,n,nperline,space)
        !          3534:        char *s;
        !          3535: {
        !          3536:        int   i, x;
        !          3537:        char  *sp = (space) ? " ": "";
        !          3538: 
        !          3539:        for(i=0;i<n;i++)  {
        !          3540:                x = s[i];
        !          3541:                fprintf(stderr,((i%4==3)?"%c%c%s%s":"%c%c%s"),
        !          3542:                        hex(x>>4), hex(x), sp, sp);
        !          3543:                if ( i%nperline == (nperline - 1) )
        !          3544:                        fprintf(stderr,"\n");
        !          3545:        }
        !          3546:        if ( space )
        !          3547:                fprintf(stderr,"\n");
        !          3548: }
        !          3549: 
        !          3550: 
        !          3551: /*
        !          3552: || doscsireq - issue scsi command, return status or -1 error.
        !          3553: */
        !          3554: 
        !          3555: doscsireq( fd, dsp)
        !          3556:   int  fd;             /* ioctl file descriptor */
        !          3557:   struct dsreq *dsp;   /* devscsi request packet */
        !          3558: {
        !          3559:   int  cc;
        !          3560:   int  retries = 4;
        !          3561:   uchar_t      sbyte;
        !          3562: 
        !          3563:   DSDBG(fprintf(stderr,"doscsireq(%d,%x) %x ---- %s\n",fd,dsp,
        !          3564:     (CMDBUF(dsp))[0],
        !          3565:     ds_vtostr( (CMDBUF(dsp))[0], cmdnametab)));
        !          3566: 
        !          3567:   /*
        !          3568:    *  loop, issuing command
        !          3569:    *    until done, or further retry pointless
        !          3570:    */
        !          3571: 
        !          3572:   while ( --retries > 0 )  {
        !          3573: 
        !          3574:    caddr_t sp;
        !          3575: 
        !          3576:     sp =  SENSEBUF(dsp);
        !          3577:     DSDBG(fprintf(stderr,"cmdbuf   =  ");
        !          3578:                bprint(CMDBUF(dsp),CMDLEN(dsp),16,1));
        !          3579:     if ( (dsp->ds_flags & DSRQ_WRITE) )
        !          3580:       DSDBG(bprint( DATABUF(dsp), min(50,DATALEN(dsp)),16,1 ));
        !          3581:        
        !          3582: DSDBG(fprintf(stderr,"databuf datalen %x %d\n",DATABUF(dsp), DATALEN(dsp)));
        !          3583:     cc = ioctl( fd, DS_ENTER, dsp);
        !          3584:     if ( cc < 0)  {
        !          3585:       ds_panic(dsp, "cannot ioctl fd %d\n",fd);
        !          3586:     }
        !          3587:        
        !          3588:        DSDBG(fprintf(stderr,"cmdlen after ioctl=%d\n",CMDLEN(dsp)));
        !          3589:     DSDBG(fprintf(stderr,"ioctl=%d ret=%x %s",
        !          3590:       cc, RET(dsp), 
        !          3591:       RET(dsp) ? ds_vtostr(RET(dsp),dsrtnametab) : ""));
        !          3592:     DSDBG(if (SENSESENT(dsp)) fprintf(stderr," sensesent=%d",
        !          3593:       SENSESENT(dsp)));
        !          3594: 
        !          3595:     DSDBG(fprintf(stderr,
        !          3596:       " cmdsent=%d datasent=%d sbyte=%x %s\n",
        !          3597:       CMDSENT(dsp), DATASENT(dsp), STATUS(dsp),
        !          3598:       ds_vtostr(STATUS(dsp), cmdstatustab)));
        !          3599:     DSDBG(if ( FLAGS(dsp) & DSRQ_READ )
        !          3600:       bprint( DATABUF(dsp), min(16*16,DATASENT(dsp)), 16,1));
        !          3601: 
        !          3602: #ifdef aux
        !          3603:   /*
        !          3604:    *  check for AUX bus-error 
        !          3605:    *  we retry with poll-dma
        !          3606:    */
        !          3607:     if ( RET(dsp) == DSRT_AGAIN )  {
        !          3608:       int n = SDC_RDPOLL|SDC_WRPOLL;
        !          3609:       DSDBG(fprintf(stderr,"setting rd/wr-poll"));
        !          3610:       cc = ioctl( fd, DS_SET, n);      /* set bits */
        !          3611:       if ( cc != 0 )
        !          3612:         return -1;
        !          3613:     }
        !          3614: #endif aux
        !          3615: 
        !          3616:     if ( RET(dsp) == DSRT_NOSEL )
        !          3617:       continue;                /* retry noselect 3X */
        !          3618: 
        !          3619:     /* decode sense data returned */
        !          3620:     if ( SENSESENT(dsp) )  {
        !          3621:       DSDBG(
        !          3622:         fprintf(stderr, "sense key %x - %s\n",
        !          3623:           SENSEKEY(sp),
        !          3624:           ds_vtostr( SENSEKEY(sp), sensekeytab));
        !          3625:         bprint( SENSEBUF(dsp),
        !          3626:           min(100, SENSESENT(dsp)),
        !          3627:           16,1);
        !          3628:       );
        !          3629:     }
        !          3630:     DSDBG(fprintf(stderr, "sbyte %x\n", STATUS(dsp)));
        !          3631: 
        !          3632:     /* decode scsi command status byte */
        !          3633:     sbyte = STATUS(dsp);
        !          3634:     switch (sbyte)  {
        !          3635:       case 0x08:               /*  BUSY */
        !          3636:       case 0x18:               /*  RESERV CONFLICT */
        !          3637:        sleep(2);
        !          3638:        continue;
        !          3639:       case 0x00:               /*  GOOD */
        !          3640:       case 0x02:               /*  CHECK CONDITION */
        !          3641:       case 0x10:               /*  INTERM/GOOD */
        !          3642:       default:
        !          3643:        return sbyte;
        !          3644:     }
        !          3645:   }
        !          3646:   return -1;   /* fail retry limit */
        !          3647: }
        !          3648: 
        !          3649: 
        !          3650: /*
        !          3651: || opttovar - lookup option in table, return var addr (NULL if fail)
        !          3652: */
        !          3653: 
        !          3654: int *
        !          3655: opttovar( ostr, table)
        !          3656:   char *ostr;
        !          3657:   struct opttab{
        !          3658:     char *opt;
        !          3659:     int  *var;
        !          3660:   } *table;
        !          3661: {
        !          3662:   register struct opttab *tp;
        !          3663: 
        !          3664:   for (tp=table; (tp->var); tp++)
        !          3665:     if ( strncmp( ostr, tp->opt, 3) == 0 )
        !          3666:       break;
        !          3667: 
        !          3668:   if ( !tp->var )
        !          3669:     fprintf(stderr,"unknown option %s", ostr);
        !          3670:        
        !          3671:   return (tp->var);
        !          3672: }
        !          3673: 
        !          3674: 
        !          3675: /*
        !          3676: || ds_vtostr - lookup value in table to return string pointer
        !          3677: */
        !          3678: 
        !          3679: char *
        !          3680: ds_vtostr( v, table)
        !          3681:   long v;
        !          3682:   struct vtab *table;
        !          3683: {
        !          3684:   register struct vtab *tp;
        !          3685: 
        !          3686:   for (tp=table; (tp->string); tp++)
        !          3687:     if ( v == tp->val )
        !          3688:       break;
        !          3689:        
        !          3690:   return (tp->string) ? tp->string : "";
        !          3691: }
        !          3692: 
        !          3693: 
        !          3694: /*
        !          3695: || ds_panic - yelp, leave...
        !          3696: */
        !          3697: 
        !          3698: ds_panic( fmt, v)
        !          3699:   char *fmt;
        !          3700:   int v;
        !          3701: {
        !          3702:   extern errno;
        !          3703: 
        !          3704:   fprintf(stderr,fmt,v);
        !          3705:   fprintf(stderr,"\nerrno = %d\n",errno);
        !          3706:   exit(1);
        !          3707: }
        !          3708: 
        !          3709: 
        !          3710: /*
        !          3711: || ds_zot - go away, with a message.
        !          3712: */
        !          3713: 
        !          3714: ds_zot(message)
        !          3715:   char *message;
        !          3716: {
        !          3717:   fprintf(stderr, "%s\n", message);
        !          3718:   exit(1);
        !          3719: }
        !          3720: 0707070035050406351006660011710000040000010535250474351741200001500000005761scsi/volid.c#define       _POSIX_SOURCE
        !          3721: #include       <stddef.h>
        !          3722: #include       <stdio.h>
        !          3723: #include       <stdlib.h>
        !          3724: #include       <string.h>
        !          3725: #include       <errno.h>
        !          3726: #include       <unistd.h>
        !          3727: #include       "../scsi.h"
        !          3728: #include       "../jukeface.h"
        !          3729: 
        !          3730: static
        !          3731: myread(int drive, long block, struct scsi_return *ret, char *err)
        !          3732: {
        !          3733:        struct scsi_cmd cmd;
        !          3734: 
        !          3735:        cmd.bus_id = s_id;
        !          3736:        set10(cmd, 0x28, drive<<5, block>>24, block>>16, block>>8, block, 0, 0, 1, 0);
        !          3737:        return(s_io(0, &cmd, 0, ret, 1024, err));
        !          3738: }
        !          3739: 
        !          3740: j_rvolid(int drive, char *err)
        !          3741: {
        !          3742:        struct scsi_return ret;
        !          3743:        long b, lastb;
        !          3744:        char buf[1024];
        !          3745:        int debug = 0;
        !          3746: 
        !          3747:        err[0] = 0;
        !          3748:        if(j_start(drive, err) < 0)
        !          3749:                return(-1);
        !          3750:        if(myread(drive, 0L, &ret, err) == 0){
        !          3751:                memset(buf, 0, 1024);
        !          3752:                if(memcmp(buf, ret.data, 1024)){
        !          3753:                        if(debug)
        !          3754:                                fprintf(stderr, "superblok at 0\n");
        !          3755:                        goto done;      /* found a superblock at 0 */
        !          3756:                }
        !          3757:        }
        !          3758:        for(b = 1, lastb = -1;;){
        !          3759: hack:
        !          3760:                if(debug)
        !          3761:                        fprintf(stderr, "read block %d\n", b);
        !          3762:                if(myread(drive, b, &ret, err))
        !          3763:                        break;
        !          3764:                lastb = b;
        !          3765:                b = ((long *)ret.data)[9];
        !          3766:        }
        !          3767:        if(lastb < 0){
        !          3768:                if(b == 1){     /* for disks with a bad block 1 */
        !          3769:                        b = 2;
        !          3770:                        goto hack;
        !          3771:                }
        !          3772:                if(debug)
        !          3773:                        fprintf(stderr, "tried for superblock at blocks 1,2\n");
        !          3774:                sprintf(err, "no superblock");
        !          3775:                j_stop(drive, buf);
        !          3776:                return(1);
        !          3777:        }
        !          3778:        if(myread(drive, lastb, &ret, err) < 0){
        !          3779:                j_stop(drive, buf);
        !          3780:                fprintf(stderr, "read fail on block %d (b=%d)\n", lastb, b);/**/
        !          3781:                return(-1);
        !          3782:        }
        !          3783:        if(debug)
        !          3784:                fprintf(stderr, "superblock at %d\n", lastb);
        !          3785: done:
        !          3786:        strncpy(err, (char *)&ret.data[42], 128);
        !          3787:        err[127] = 0;
        !          3788:        j_stop(drive, buf);
        !          3789:        return(0);
        !          3790: }
        !          3791: 
        !          3792: static
        !          3793: mywrite(int drive, long block, struct scsi_cmd *cmd, struct scsi_return *ret, char *err)
        !          3794: {
        !          3795:        set10((*cmd), 0x2A, drive<<5, block>>24, block>>16, block>>8, block, 0, 0, 1, 0);
        !          3796:        return(s_io(0, cmd, 1024, ret, 0, err));
        !          3797: }
        !          3798: 
        !          3799: j_wvolid(int drive, char *vol_id, char *err)
        !          3800: {
        !          3801:        char tmpfile[L_tmpnam];
        !          3802:        char buf[512];
        !          3803:        struct scsi_return ret;
        !          3804:        struct scsi_cmd cmd;
        !          3805:        FILE *fp;
        !          3806:        int n;
        !          3807: 
        !          3808:        printf("mkfs %s\n", vol_id);
        !          3809:        /* first get the capacity/size for mkfs to make a valid superblock */
        !          3810:        tmpnam(tmpfile);
        !          3811:        if((fp = fopen(tmpfile, "w+r")) == NULL){
        !          3812:                sprintf(err, "%s: %s", tmpfile, strerror(errno));
        !          3813:                return(-1);
        !          3814:        }
        !          3815:        if(j_start(drive, err) < 0)
        !          3816:                return(-1);
        !          3817:        set10(cmd, 0x25, drive<<5, 0, 0, 0, 0, 0, 0, 0, 0);
        !          3818:        if(n = s_io(0, &cmd, 0, &ret, 8, err))
        !          3819:                return(n);
        !          3820:        switch(longat(&ret.data[0]))
        !          3821:        {
        !          3822:        case 1637999:           /* sony 12in clv single density */
        !          3823:                sprintf(buf, "worm mkfs -n %d -f %s %s", 1600000, tmpfile, vol_id);
        !          3824:                break;
        !          3825:        case 3275999:           /* sony 12in clv double density */
        !          3826:                sprintf(buf, "worm mkfs -n %d -f %s %s", 3250000, tmpfile, vol_id);
        !          3827:                break;
        !          3828:        default:
        !          3829:                fprintf(stderr, "warning: bad capacity %d\n", longat(&ret.data[0]));
        !          3830:                sprintf(buf, "worm mkfs -f %s %s", tmpfile, vol_id);
        !          3831:                break;
        !          3832:        }
        !          3833:        if(system(buf)){
        !          3834:                sprintf(err, "%s: error", buf);
        !          3835:                return(-1);
        !          3836:        }
        !          3837:        unlink(tmpfile);
        !          3838:        fseek(fp, 1024L, 0);
        !          3839:        if(fread(cmd.data, 1, 1024, fp) == 0){
        !          3840:                sprintf(err, "mkfs read: %s", strerror(errno));
        !          3841:                return(-1);
        !          3842:        }
        !          3843:        fclose(fp);
        !          3844:        if(mywrite(drive, 1L, &cmd, &ret, err))
        !          3845:                return(-1);
        !          3846:        unlink(tmpfile);
        !          3847:        j_stop(drive, err);
        !          3848:        return(0);
        !          3849: }
        !          3850: 0707070035050406341006660011710000040000010535270457563431200001700000000434scsi/pperror.c#include    "../scsi.h"
        !          3851: 
        !          3852: void
        !          3853: pperror(char *buf, char *mesg)
        !          3854: {
        !          3855:        extern int sys_nerr;
        !          3856:        extern char *sys_errlist[];
        !          3857:        extern int errno;
        !          3858: 
        !          3859:        if((errno < 0) || (errno >= sys_nerr))
        !          3860:                sprintf(buf, "%s: unknown errno %d", mesg, errno);
        !          3861:        else
        !          3862:                sprintf(buf, "%s: %s", mesg, sys_errlist[errno]);
        !          3863: }
        !          3864: 0707070035050406331006660011710000040000010535310457563431200002000000000400scsi/fixedstr.c#include   "../scsi.h"
        !          3865: 
        !          3866: void
        !          3867: fixedstr(uchar *src, int len, char *dest)
        !          3868: {
        !          3869:        uchar *s;
        !          3870: 
        !          3871:        while((*src == ' ') && (len > 0))
        !          3872:                src++, len--;
        !          3873:        for(s = src+len-1; s >= src; s--)
        !          3874:                if(*s != ' ')
        !          3875:                        break;
        !          3876:        memcpy(dest, (char *)src, len = s-src+1);
        !          3877:        dest[len] = 0;
        !          3878: }
        !          3879: 0707070035050406321006660011710000040000010535330457563431200001600000000247scsi/longat.c#include     "../scsi.h"
        !          3880: 
        !          3881: unsigned long
        !          3882: longat(uchar *src)
        !          3883: {
        !          3884:        unsigned long n;
        !          3885: 
        !          3886:        n = *src++;
        !          3887:        n = (n<<8) | *src++;
        !          3888:        n = (n<<8) | *src++;
        !          3889:        n = (n<<8) | *src;
        !          3890:        return(n);
        !          3891: }
        !          3892: 0707070035050404071006660011710000040000010535350457563431200001200000001642scsi/xd.c#include <stdio.h>
        !          3893: #include       "../scsi.h"
        !          3894: #include       "../scsish.h"
        !          3895: 
        !          3896: #define        WIDTH   32
        !          3897: 
        !          3898: void
        !          3899: xd(uchar *p, int n, FILE *fp)
        !          3900: {
        !          3901:        register i, nd, l;
        !          3902:        unsigned char buf[WIDTH];
        !          3903:        int didstar;
        !          3904:        unsigned char *s;
        !          3905: 
        !          3906:        for(nd = 0; n > 0; n -= l, nd += l){
        !          3907:                l = min(WIDTH, n);
        !          3908:                if(nd && (l == WIDTH) && (memcmp(buf, p, l) == 0)){
        !          3909:                        p += WIDTH;
        !          3910:                        if(didstar++ == 0)
        !          3911:                                fprintf(fp, "*\n");
        !          3912:                        continue;
        !          3913:                }
        !          3914:                memcpy(buf, p, l);
        !          3915:                didstar = 0;
        !          3916:                fprintf(fp, "%5.5d", nd);
        !          3917:                s = p;
        !          3918:                for(i = 0; i < l; i++){
        !          3919:                        if((i%4) == 0) putc(' ', fp);
        !          3920:                        fprintf(fp, "%2.2x", *p++);
        !          3921:                }
        !          3922:                putc('\n', fp);
        !          3923:                fprintf(fp, "     ");
        !          3924:                for(i = 0; i < l; i++){
        !          3925:                        if((i%4) == 0) putc(' ', fp);
        !          3926:                        if((*s >= ' ') && (*s < 0177))
        !          3927:                                fprintf(fp, " %c", *s++);
        !          3928:                        else switch(*s++)
        !          3929:                        {
        !          3930:                        case '\n':      fprintf(fp, "\\n"); break;
        !          3931:                        case '\t':      fprintf(fp, "\\t"); break;
        !          3932:                        default:        fprintf(fp, ".."); break;
        !          3933:                        }
        !          3934:                }
        !          3935:                putc('\n', fp);
        !          3936:        }
        !          3937:        fprintf(fp, "%5.5d\n", nd);
        !          3938: }
        !          3939: 0707070035050377471006660011710000040000010535370464714335200001500000005050scsi/md_io.c#include      <stdio.h>
        !          3940: #include       "../scsi.h"
        !          3941: #include       "../scsish.h"
        !          3942: #include       <sys/types.h>
        !          3943: #include       <sys/dsreq.h>
        !          3944: 
        !          3945: #define        DEV(buf, target, lun)   sprintf(buf, "/dev/scsi/sc0d%dl%d", target, lun)
        !          3946: 
        !          3947: static fd = -1;
        !          3948: int s_id;
        !          3949: void (*ss_extsense)(uchar *, char *, int);
        !          3950: 
        !          3951: ss_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
        !          3952: {
        !          3953:        int retv;
        !          3954:        dsreq_t ds;
        !          3955:        char dev[512];
        !          3956: 
        !          3957:        err[0] = 0;
        !          3958:        retv = -1;
        !          3959:        if(ncmd && nret){
        !          3960:                sprintf(err, "both input (%d bytes) and output (%d bytes) expected", ncmd, nret);
        !          3961:                return(retv);
        !          3962:        }
        !          3963:        if(cmd->bus_id & 0x8000){
        !          3964:                sprintf(err, "reset not supported");
        !          3965:                return(retv);
        !          3966:        }
        !          3967:        if(fd < 0){
        !          3968:                DEV(dev, cmd->bus_id, ((cmd->cmd[1]>>5)&7));
        !          3969:                if((fd = open(dev, 2)) < 0){
        !          3970:                        pperror(err, dev);
        !          3971:                        return(-1);
        !          3972:                }
        !          3973:        }
        !          3974:        ds.ds_flags = DSRQ_SENSE;
        !          3975:        ds.ds_time = 30000;
        !          3976:        ds.ds_cmdbuf = (char *)cmd->cmd;
        !          3977:        ds.ds_cmdlen = 10;
        !          3978:        if(ncmd){
        !          3979:                ds.ds_databuf = (char *)cmd->data;
        !          3980:                ds.ds_datalen = ncmd;
        !          3981:                ds.ds_flags |= DSRQ_WRITE;
        !          3982:        } else {
        !          3983:                ds.ds_databuf = (char *)ret->data;
        !          3984:                ds.ds_datalen = nret;
        !          3985:                ds.ds_flags |= DSRQ_READ;
        !          3986:        }
        !          3987:        ds.ds_sensebuf = (char *)ret->sense;
        !          3988:        ds.ds_senselen = sizeof ret->sense;
        !          3989:        ds.ds_iovbuf = 0;
        !          3990:        ds.ds_link = 0;
        !          3991:        if(ioctl(fd, DS_ENTER, &ds) < 0){
        !          3992:                pperror(err, "DS_ENTER ioctl");
        !          3993: err_ret:
        !          3994:                close(fd);
        !          3995:                fd = -1;
        !          3996:                return(retv);
        !          3997:        }
        !          3998:        if(ds.ds_ret
        !          3999:                && (ds.ds_ret != DSRT_SHORT)
        !          4000:                && (ds.ds_ret != DSRT_OK)
        !          4001:        )       /* an error */
        !          4002:                fprintf(stderr, "ds_ret = #%x\n", ds.ds_ret);
        !          4003:        ret->type = 3;
        !          4004:        ret->scsi_stat = ds.ds_status;
        !          4005:        ret->scsi_msg = ds.ds_msg;
        !          4006:        ret->reg1 = ret->reg2 = 0;
        !          4007:        if(nret >= 0){
        !          4008:                if(ds.ds_datasent != nret){
        !          4009:                        if(ds.ds_datasent == 0)
        !          4010:                                retv = 1;
        !          4011:                        else
        !          4012:                                sprintf(err, "data transfer error; wanted %d, got %d", nret, ds.ds_datasent);
        !          4013:                        goto err_ret;
        !          4014:                }
        !          4015:        } else {
        !          4016:                ret->nread = ds.ds_datasent;
        !          4017:        }
        !          4018:        if(!preserve){
        !          4019:                close(fd);
        !          4020:                fd = -1;
        !          4021:        }
        !          4022:        return(0);
        !          4023: }
        !          4024: 
        !          4025: static char *smsg[16] =
        !          4026: {
        !          4027:        "good", "check condition", "met/good", "reserved",
        !          4028:        "busy", "reserved", "reserved", "reserved",
        !          4029:        "intermediate good", "reserved", "intermediate good/met", "reserved",
        !          4030:        "reservation conflict", "reserved", "reserved", "reserved",
        !          4031: };
        !          4032: 
        !          4033: s_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
        !          4034: {
        !          4035:        int n;
        !          4036:        int status;
        !          4037:        char buf[512];
        !          4038:        char ioerr[512];
        !          4039: 
        !          4040:        cmd->bus_id = s_id;
        !          4041:        if(n = ss_io(preserve, cmd, ncmd, ret, nret, err)){
        !          4042:                if(n < 0)
        !          4043:                        return(n);
        !          4044:                strcpy(ioerr, err);
        !          4045:                err[0] = 0;
        !          4046:        } else
        !          4047:                ioerr[0] = 0;
        !          4048:        if(status = ret->scsi_stat){
        !          4049:                (*ss_extsense)(ret->data, buf, sizeof buf);
        !          4050:                sprintf(err, "%s; %s", ioerr[0]? ioerr : smsg[(status>>1)&0xF], buf);
        !          4051:                return(1);
        !          4052:        }
        !          4053:        return(0);
        !          4054: }
        !          4055: 0707070035050377461006660011710000040000010307670470270635200001400000004726scsi/h_io.c#include       <stdio.h>
        !          4056: #include       "../scsi.h"
        !          4057: #include       "../scsish.h"
        !          4058: #include       <scsi.h>
        !          4059: 
        !          4060: #define                DEV             "/dev/scsi"
        !          4061: 
        !          4062: static fd = -1;
        !          4063: int s_id;
        !          4064: int s_ignua = 1;
        !          4065: void (*ss_extsense)(uchar *, char *, int);
        !          4066: 
        !          4067: ss_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
        !          4068: {
        !          4069:        int n;
        !          4070:        int retv;
        !          4071: 
        !          4072:        err[0] = 0;
        !          4073:        retv = -1;
        !          4074:        if(fd < 0){
        !          4075:                if((fd = open(DEV, 2)) < 0){
        !          4076:                        pperror(err, DEV);
        !          4077:                        return(-1);
        !          4078:                }
        !          4079:        }
        !          4080:        cmd->flags |= (ncmd == 0)? SCSI_RD:SCSI_WR;
        !          4081: /*     cmd->nret = (nret>=0)? nret : -nret;*/
        !          4082: /*printf("wr");*/
        !          4083:        if((n = write(fd, cmd, 16+ncmd)) != 16+ncmd){
        !          4084:                pperror(err, "scsiio write");
        !          4085: err_ret:
        !          4086: /*printf(" erk(n=%d retv=%d err=%s nret=%d)", n, retv, err, nret);*/
        !          4087:                close(fd);
        !          4088:                fd = -1;
        !          4089:                return(retv);
        !          4090:        }
        !          4091: /*printf(" ok; ");*/
        !          4092:        if(nret >= 0){
        !          4093:                if((n = read(fd, ret, 36+nret)) != 36+nret){
        !          4094:                        if(n == 36)
        !          4095:                                retv = 1;
        !          4096:                        else
        !          4097:                                pperror(err, "scsiio read");
        !          4098:                        goto err_ret;
        !          4099:                }
        !          4100:        } else {
        !          4101:                if((n = read(fd, ret, 36-nret)) < 0){
        !          4102:                        pperror(err, "scsiio read");
        !          4103:                        goto err_ret;
        !          4104:                }
        !          4105:                ret->nread = n-36;
        !          4106:        }
        !          4107: /*printf("scsio(%d): n=%d; %x %x %x %x\n", nret, n, ret->data[0], ret->data[1], ret->data[2], ret->data[3]);/**/
        !          4108:        if(!preserve){
        !          4109:                close(fd);
        !          4110:                fd = -1;
        !          4111:        }
        !          4112:        return(0);
        !          4113: }
        !          4114: 
        !          4115: static char *smsg[16] =
        !          4116: {
        !          4117:        "good", "check condition", "met/good", "reserved",
        !          4118:        "busy", "reserved", "reserved", "reserved",
        !          4119:        "intermediate good", "reserved", "intermediate good/met", "reserved",
        !          4120:        "reservation conflict", "reserved", "reserved", "reserved",
        !          4121: };
        !          4122: 
        !          4123: s_io(int preserve, struct scsi_cmd *cmd, int ncmd, struct scsi_return *ret, int nret, char *err)
        !          4124: {
        !          4125:        int n;
        !          4126:        int status;
        !          4127:        char buf[512];
        !          4128:        char ioerr[512];
        !          4129:        struct scsi_cmd mycmd;
        !          4130:        int ignoredua = 0;
        !          4131: 
        !          4132:        cmd->bus_id = s_id;
        !          4133: again:
        !          4134:        if(n = ss_io(preserve, cmd, ncmd, ret, nret, err)){
        !          4135:                if(n < 0)
        !          4136:                        return(n);
        !          4137:                strcpy(ioerr, err);
        !          4138:                err[0] = 0;
        !          4139:        } else
        !          4140:                ioerr[0] = 0;
        !          4141:        if(status = ret->scsi_stat){
        !          4142:                mycmd.bus_id = s_id;
        !          4143:                set6(mycmd, 0x03, cmd->cmd[1]&0xE0, 0, 0, 100, 0);
        !          4144:                if(n = ss_io(0, &mycmd, 0, ret, -100, err))
        !          4145:                        return(n);
        !          4146:                if(s_ignua){    /* ignore unit attention ?? */
        !          4147:                        if((ret->data[2]&0xF) == 6){    /* it is */
        !          4148:                                if(ignoredua++ == 0){   /* but only ignore once */
        !          4149:                                        mycmd.bus_id = s_id;
        !          4150:                                        set6(mycmd, 0x12, cmd->cmd[1]&0xE0, 0, 0, 5, 0);
        !          4151:                                        if(n = ss_io(0, &mycmd, 0, ret, 5, err))
        !          4152:                                                return(n);
        !          4153:                                        goto again;
        !          4154:                                }
        !          4155:                        }
        !          4156:                }
        !          4157:                if(ss_extsense == 0)
        !          4158:                        ss_extsense = gen_extsense;
        !          4159:                (*ss_extsense)(ret->data, buf, sizeof buf);
        !          4160:                sprintf(err, "%s; %s", ioerr[0]? ioerr : smsg[(status>>1)&0xF], buf);
        !          4161:                return(1);
        !          4162:        }
        !          4163:        return(0);
        !          4164: }
        !          4165: 0707070035050377451007550011710000040000010535410464677445500001400000000251scsi/gendevawk 'END { for(t = 1; t < 8; t++) for(l=0; l < 8; l++){
        !          4166:                printf "/etc/mknod sc0d%dl%d c 43 %d\n", t, l, l*8+t
        !          4167:                }
        !          4168:                print "chmod 600 *; chown andrew *"
        !          4169:        }' < /dev/null
        !          4170: 0707070035050421201006660011710000040000010454750470270311300000700000003041scsi.htypedef unsigned char uchar;
        !          4171: 
        !          4172: struct scsi_cmd
        !          4173: {
        !          4174:        unsigned long id;
        !          4175:        uchar bus_id;           /* SCSI id of destination device */
        !          4176:        uchar flags;
        !          4177:        uchar cmd[10];          /* SCSI command */
        !          4178:        uchar data[4096];       /* optional data */
        !          4179: };
        !          4180: 
        !          4181: struct scsi_return
        !          4182: {
        !          4183:        unsigned long id;
        !          4184:        uchar scsi_stat;        /* scsi status byte */
        !          4185:        uchar scsi_msg;         /* scsi message byte */
        !          4186:        uchar flags;
        !          4187:        uchar type;             /* 1=td 2=us */
        !          4188:        unsigned short reg1;    /* td=sa, us=per */
        !          4189:        unsigned short reg2;    /* td=mscp, us=per */
        !          4190:        unsigned char sense[22];
        !          4191:        char pad[2];
        !          4192:        uchar data[4096];       /* any data */
        !          4193:        uchar nread;            /* chars read(-8) if ret count was -ve */
        !          4194: };
        !          4195: 
        !          4196: #define        set6(x,a,b,c,d,e,f)     (x).flags=0,(x).cmd[0]=(a),(x).cmd[1]=(b),(x).cmd[2]=(c),\
        !          4197:        (x).cmd[3]=(d),(x).cmd[4]=(e),(x).cmd[5]=(f)
        !          4198: #define        set10(x,a,b,c,d,e,f,g,h,i,j)    (x).flags=0,(x).cmd[0]=(a),(x).cmd[1]=(b),(x).cmd[2]=(c),\
        !          4199:        (x).cmd[3]=(d),(x).cmd[4]=(e),(x).cmd[5]=(f),(x).cmd[6]=(g),(x).cmd[7]=(h),\
        !          4200:        (x).cmd[8]=(i),(x).cmd[9]=(j)
        !          4201: #define        setdiag(x,lun,n)        (x).flags=0,(x).cmd[0]=0x1C,(x).cmd[1]=(lun)<<5,(x).cmd[2] = 0,\
        !          4202:        (x).cmd[3]=(n)>>8,(x).cmd[4]=(n),(x).cmd[5]=0
        !          4203: 
        !          4204: extern s_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *);/* return 0 on no error, does sense on error */
        !          4205: extern ss_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *);/* return 0 on no error */
        !          4206: extern int s_ignua;    /* should s_io ignore unit attentions? */
        !          4207: extern void (*ss_extsense)(uchar *, char *, int);
        !          4208: extern int s_start(int, char *);
        !          4209: extern int s_stop(int, char *);
        !          4210: extern int s_eject(int, char *);
        !          4211: extern int s_id;
        !          4212: extern unsigned long longat(uchar *);
        !          4213: 0707070035050377431007770011710000040000010132560503442324000000700001513744scsish&Xt*X;�^Юn��P�P�Հ��P��p�P��P����
�P�&&�&��˗�P�\��&�����&�&�����\�������vR&���8�&��~�&�<�&�^��6��P�m�[ݬ�&��A&�[ ���8��Q��@H&��8�&��C&ݬݏ�������E&�P�[        �~�&�Ο&��������l��
��PZ�Z�&[��[�~�Z���[�����PY�Y*���[U�e�a������[����Q&�H����Y&���&�{Q&�Y����jQ&��p[��h[��d��OQ&��U�&�BQ&�����ЬUե)ݼ�&�q�&�Pݬݼ��R�&�PЬP����PЬ����UХ��ZЬUХ[�k�~��kݫ�k���Z��m��[�ЬUե
        !          4214: ЬUХY�Y�YZլPЬUݥ�e����P&ЬUХ[,�k(�Z�k�Z��.����Pݫ��R��TP&�[��P=ЬUХ[1�k-ݬ�k��&�&�Pݫݼ����P&�&P�[��P��+�~Ѭ&�[ЬUХ[�[�����#����P�P)���Ѭ&�[ЬUХ[�[����������PѬ&-��     ���Z��Z�Z��j&��}O&���U&ЬUݥ��3�&�P2��)&�&�RO&Џ[�kw�kUݥ�e��&��2O&�[�Џ[�kݻЬUݥ���&�P�[��k���&������k�&�����ЬUݥ����5���D&�PЬU�Uݬ��O��d5��D&Ь�X�^Џ���Џ���ԭ�߭����X�~������sonydev%d is an invalid target
        !          4215: device '%s' unknown
        !          4216:       %s(%s)
        !          4217: available devices:
        !          4218: ?dev=%s
        !          4219: (%s) %s
        !          4220:       %s
        !          4221: device %s(%s):
        !          4222: 
        !          4223: : %sError %dError%s
        !          4224: % dev=%s, target=%d:
        !          4225: Ѭ&���W��$��M&ЬUݥ�&�u�&�P�&������Pcurrent SCSI id = %d
        !          4226: generic scsitestunit [lun=0testunitstop [lun=0]stopstart [lun=0]startsense [lun=0]senseI?I?I?I?I?I?I?I?I?I?scsi bytes... # 6 or 10scsiresetIL?readt count [lun=0]readtLII?read lun start [count [file]]readinq [lun=0]inqid [target=0]idhelp [cmd]helpdisplayS?dev [type] # dev ? for listdevL?capacity [lun=0 ...]capacityX!^�ZѬ&
        !          4227: ��U�Eͨ�PѬ&ЬUݥ�&�ť&�P�[�[1��U�[Eͨ��[��&[�[���U�UY�K��&&�PIͨ��[��[�[Z�'&�������xKͨ�U�U���������$������ݬݏ���������~�����~����PЬ��&P������U�E�d&����Ux��UU�E�K&�Kͨ���0U�����K&����U�Uz�ͨ����������ͨ������J&����U�U N�ͨ�������+�ͨ���g��J&����U�U$"�ͨ�������ͨ���3��J&����~����}J&�[������P [%d bytes]
        !          4228:  rev=%s/%s %sinq(%d,%d): %s %s;cd-romwormprocessorprintersequential accessdirect accessremovablenonremovable8 ^Ѭ&�[�UЏ
        !          4229: E��&[�[���K��&&�PZ����%���xZU�U���������������������������ݬ������~�����~����P
        !          4230: Ь��&PC�����&�PY�����&�PX�X�Y�X�Y�Z��9S����I&�[�M����Pcapacity(%d,%d): %ld blocks of %ld bytes (#%xx#%x)
        !          4231: 0l!^�Z���R͘����R���R�&���&�&�H&����������������������ݬ�~�����~�����~����P�;&��p&�&�WH&�(&�[�[�&�������x[U�U���������$������ݬݏ���������~�����~�ﳂ�PЬ��&Z������U�U��d��������Ȉ�����d����I&����U�U �����������������I&����U�U�͜�������l�����d���I&�͜������dߚ���U�E�y�&����Ux��UU�E�`�&�[��(��1G&�[�������3Q�_����͘��$Q�ZP  lun(%d): %s %s, %s/%s rev=%s
        !          4232: ??responded to test unit ready
        !          4233: target %d:
        !          4234: 8 ^Ѭ&�[�UЏ�E��&[�[�Z�K��&�r�&�PZ�������xZU�U���������������ݬ�~�����~�����~����P
        !          4235: Ь��&P�[��P08 ^Ѭ&�[�UЏD
E��&[�[�[�K��&��&�PZ�������xZU�U���������&������ݬ�~�����~�����~��z��P
        !          4236: Ь��&P�[��P08 ^�����������������������O������U�0U���ݬ�~�����~�����~��~�P8 ^Ѭ&�[�UЏJE��&[�[�n�K��&�
        !          4237: �&�PZ�������xZU�U���������������ݬ�~�����~�����~���P
        !          4238: Ь��&P�Z���N�����D&�[��P(%d,%d): good status
        !          4239: 0< ^ЬU�U�U
        !          4240: ��@&����ЬUݥ�&�W�&�P���ЬUݥ�&�D�&�P���ЬUݥ�&�1�&�P���ЬUݥ�&��&�P���ЬUݥ�&��&�P���ЬUݥ�&���&�P���������ЬUݥ�&�۝&�P���ЬUݥ�&�ȝ&�P���ЬUݥ�&ﵝ&�P���ЬUݥ�&&�P���ЬUݥ�&&�P���ЬUݥ�&�|�&�P���ЬUݥ�&�i�&�P���ЬUݥ �&�V�&�P���ЬUݥ$�&�C�&�P���ЬUݥ(�&�0�&�P����&�~��:ݬ��dE&�&P(ݬ�~�����~�����~���}�P
        !          4241: Ь��&P�Pnumber of bytes (%d) must be 6 or 10
        !          4242: �X ^ѬЏ���&P�%ЬUݥ�&&�PVѬЬUݥ�&�w�&�P͸��͸��͸�W����%���xWU�U���������������������������ݬ������~�����~���|�PЬ��&P�&�����&�p��Pͼ������&�`��PX�XЏU�X�U��_�&�Pʹ��&ʹ��ʹ�Z�����&��$&�����&�&�Vͼ�~�&�A&�&P[�Z�XZ~�[�V�W��K��6&��A&��.(�&�o3&�����&�p$&�VY�Yw����(���xWU�U���x��[U�U���x��[U�U���x��[U�U���[���������Z������ݬ�XZ~�����~�����~���{�P
        !          4243: Ь��&P{�Z[�ZY������&��#&�XUnUͬ�
nUTa�^Tͬ���������&ͨ�
        !          4244: �������ͨ�NVUvͬ�TDTUVUTf�$Tnͨ�RgRT~�������~����@&�P�E�P t=%ds (%.0fKB/s)
        !          4245: read(%d,%d): %d blocks @%d (bs=%dB, %d sectors),usage errorSony WDA-3000sonystatusSLset shelfside lunsetsense [lun=0]senseLS?rel lun [shelfside]relLI?readid lun [start]readidLIIS?media [-v] [-f output] lun start countmediaII?internal [test [drive]]internalinq [lun]inqLeject lunejectdiskid [lun]diskidLIILIcopy srclun start n destlun destcopyconfigL?alternate [lun]alternate�X ^�ZѬ&
        !          4246: ��U�Eͨ�PѬ&ЬUݥ�&&�P�[�[1��U�[Eͨ��[��&[�[���U�UY�K��&�S�&�PIͨ��[��[�[Z�r&�������xKͨ�U�U���������������ݬ������~�����~���x�PЬ��&P�$&�Kͨ���H��&���=&����Uʏ���U�U ����Uˏ���U~��P&���=&������Uʏ����U�U ����Uˏ���U~��&��=&�����Uˏ���U~����Uʏ����U�U    ЏYЏY�Y����Uʏ����U�U       Џ$XЏ0X�X����Uʏ����U�U       Џ1WЏ0W�W����Uʏ����U�U       ЏGVЏ>V�V��V���<&�[�����Pnot readyreadydrive errorno alternatewritablewrite protect%s,%s,%s,%s (0x%x)
        !          4247: empty (0x%x)
        !          4248: power off (0x%x)
        !          4249: inq(%d,%d): ЬU��Z�Zݬݬ��XF��b&��;<&���[�[ZM�
        !          4250: [~�
        !          4251: nÎ[U�U        �
        !          4252: Y� Y�YЬU�eT��&SxSS�ST��UxUU�UT~��&���;&���[��
        !          4253: [~�
        !          4254: nÎ[U�U4�Z0��n"�e"��Q"�
        !          4255: ��@!&��P"U�&U�G"�
        !          4256: e8 ^Ѭ&�[�UЏE��&[�[���K��&�F�&�PZ���ߐ�����xZU�U��ߔ��ߔ��ߔ��ߔ���ݬݏ�����~�����~���u�P
        !          4257: Ь��&P*�[�[x
        !          4258: [U�E���߫&�Z������[��[�q����P0%ld%c(%d,%d): alternate table %d (%d entries)
        !          4259: <"^���ߐ��ߔ��ߔ��ߔ��ߐ,��ߔ���ݬ�,�����~�����~��#u�P���Ь��&P�/&���!�~��&�P[����������.{>K�P�&U�e1  Џ3ZЏ1Z�Z>K�1�&U�e~>K�%�&U�e1       Џ3YЏ1Y�Y>K��&U�e~���ݚ���U�U      Џ<XЏ4X�X�~���C��&�       �9&����U�E���&�����9&���&�9&��"�U�U����"�~��|��o9&��$�U�U����$�~��L��O9&��'�~��&�~�� �~��
        !          4260: ��39&�P IF-129=0x%x, SY-46=0x%x, SS-30=0x%x
        !          4261:  lo cont.=0x%x, up cont.=0x%x,      ROMS:  Unibus-SCSI controller=%s
        !          4262: sUnknownWORMconfig(%d,%d): %s device, '%s', %c controller%s, %c drive%s
        !          4263: U.S. Design 1158T.D. Systems Vikingno doard80^Ѭ&�[�UЏLE��&[�[���K��&���&�PZ�������xZU�U��������� ������ݬݏ���������~�����~��r�P
        !          4264: Ь��&PE�Z���A�����7&ݏ�������������������7&�[�V����P^��ЬU��[�[�[&!�[I�[
        !          4265: .B���&ݬ��v9&�\&��bݬ��`9&�F&��Lݬ��J9&�0&ЬU��U�UЬU��~��J&�U�� 9&ЬU��Uʏ����U�E�J�&��&������8&���ݬ���&ЬU��Uʏ���U�U>ЬU��T��
        !          4266: SxSS�ST��     UxUU�UT~�������8&���ݬ��΄&ЬU��U�E��&�������z8&���ݬ�&��Uʏ���U�UIЬU��T��SxSS�ST��SxSS�ST��UxUU�UT~�������"8&���ݬ��H�& info=#%x, ext sense: %s at addr #%xsense: %swarning: extra data is %d, not 4! no errorkey #fmiscomparevolume overflowkey #caborted commandcopy abortedkey #9blank checkdata protectunit attentionillegal requesthardware errormedium errornot readyrecovered errorno sense%s
        !          4267: sense(%d,%d): 0<#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8><#d7><#d6><#d5><#d4><#d3><#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5><#c4><#c3><#c2><#c1><#c0><#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4><#b3><#b2><#b1><#b0><#af><#ae><#ad><#ac><#ab><#aa><#a9><#a8><#a7><#a6><#a5><#a4><#a3><#a2><#a1><#a0><#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95><#94><#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70>carrier errorshelf errordrive 1 errordrive 0 errori/o shelf errorhook servo errorroter servo errorz-axis servo error<#67><#66><#65><#64><#63><#62><#61>no data in specified address<#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56>tracking erroruncorrectable read errordata could not be readall address could not be readaddress block not foundspecified address not found<#4f><#4e><#4d><#4c><#4b><#4a><#49><#48>alternation troubledisk warningwrite protect error 2write protect error 1cannot read disk iddisk errorwrite errorwrite warning<#3f><#3e><#3d><#3c><#3b>disk already exists in shelfdisk already exists in drive<#37><#36><#35><#34><#33>drive not readyno disk in drivedrive power offdrive error<#2e><#2d><#2c>over laser powerunder laser powerwrite modulation troublehead lead outskew troubleslide trouiblespindle troubletracking troublefocus troubleloading troubledrive interface parity errorcommand not terminated<#1f><#1e><#1d><#1c><#1b><#1a><#19><#18><#17><#16><#15>scsi hardware/firmware errorSONY I/F II hardware/firmware errorcontroller errortime out errorecc trouible occurred<#f><#e><#d><#c><#b>copy aborted<#9>message reject errorparity errorunit attention<#5><#4>illegal requestrecovered errorinvalid commandno sense���&��+&ˏ����U�U�ˏ�����U�U Џ�,[Џz,[�[��V��+&ˏ�����U�U
���&�+&ˏ�����U�U
����&�+&ˏ�����U�U%ˏ�����~����g+&
���&�X+&���&�K+&^����������������
        !          4268: ���������&����������������        �ݬ�~ݬ�
        !          4269: �����~��e�P[�[PF����������������������ݬݏ�ݬ�~�����~��Le�P[�[P�P�(^ݬ������/����PЬ��&P����[�Z�Z�(&�kUʏ���U�U        Џ�+XЏ�+X�X�kUʏ����U�U Џ,WЏ�+W�W�kUʏ����U�U Џ,VЏ�+V�V�Z������)&�kUʏ����U�U���&Uʏ���U�UU��&Uˏ����U~����)&��Uʏ���U�UV��Uˏ����UT���+~ʏ����U�U~��L��p)&)��&Uˏ����UT�Tʏ����Uߥa�T~����E)&��t�&�8)&�Z�[������Z�Z2_�ZY�&ZU�UZ�U2�[ZU�eU�[YT�dT�UT��&YU�ZU�Y��&���(&�&Z~�Y��&���(&�[YU�e~�&������2[��e&�&�(&�k~�&�����[��B&�&�(&�kUˏ����UZ�kUʏ���U�U �Zˏ����ZUߥa�Z~�����g(&
����&�X(&�[�kUʏ���U�U�kUˏ����U~����0(&
��u�&�!(&�[�kUʏ���U�U�kUˏ����U~��2���'&
��
�&��'&�Plower drive: no disk
        !          4270: lower drive: disk, LUN=%d
        !          4271: upper drive: no disk
        !          4272: upper drive: disk, LUN=%d
        !          4273: no disk
        !          4274: disk shelf=%d%c (%d)
        !          4275: carrier: I/O shelf%d-%d%ddisk in shelf %d%c (%d)ab, return shelf %d%cdisk in drive %donoffno not drive %d: %sready,%sdisk in LUN,power %s,
        !          4276: no diskuse shelf instead of drive for LUN %dwait ejection,wait loading,temporarydisk%s,: < ^Ѭ
Џ(-��&PyݬЬUݥ��w�P����&P\�������ЬUݥ�&��&xPU�U������������������ݬ�~�����~�����~��`�P
        !          4277: Ь��&P�Pusage error�^Ь����U�U0�U9ݭ���kݬ���'&Џ����PV�[��U�U0�U9ЬU�&U��[
        !          4278: T�eU�TU�0U[�>K�h���[���a
        !          4279: ���b��&[�&�U�U��e��[Pshelfside '%s' must be numa or numb8 ^Ѭ&�[�UЏ�.E��&[�[���K��&�~&�PZ�������xZU�U���������������ݬݏ�����~�����~��H_�P
        !          4280: Ь��&P6�Z��.��*��w$&��ݏ�������e�[�e����P(%d,%d) disk id block:
        !          4281: 0�L^��9.����1.���W͸�ѬЏ4��&P��ЬUݥ�&��}&�P��ЬUݥ�&��}&�P[ЬUݥ�&�}&�PWЬUݥ�&�}&�P��ЬUݥ�&�}&�P��Э�U�WUT�&T~�Uݭ�ݭ��W[U�&U~�[ݭ�ݭ���f�  �z#&ݬ�ͼ���"����PЬ��&P�T��D�Uʏ���U�U��D�Uʏ����Uѭ�Uԭ�I��E�Uʏ���U�U��E�Uʏ����Uѭ�U�&��!ݭ����ݬ��(%&Ь��&P��&�&�6?�&�.?�&�&?�&�>�ʹ��&�&Џ����V�W�>&�Wݏ&��_&�PXvݬ�&�X�[ݭ�ݭ���p�PZ�ZW�Z[�Z���ZW�ZXFǏ'[U�UV�Ǐ'[V߭��&�7&߭��&��&�P�V�'~�����."&�v����Wݏ&�����PX�R���ݬ�~�X�[ݭ�ݭ����&�PY�Y�/���ݬݭ�ݭ�ݭ��Y�[ݭ�ݭ�����P�����Y[�Y���YWǏ'[U�UV�Ǐ'[V߭��&�&߭��&�
&�P�V�'~��8��z!&�L���߭��&�R&�ʹ��խ��&��ݭ�����K!&�Wݭ��W�[��&��3!&Ь��&P#�͸�UNUTN��SFSTVT~�U��{&��!&�P8 ^�������x�U�U������������������&�����x�U��U��x�U��U������x��U�U��x��U�U�   �x���U�U�
        !          4282: ���x��U�U��x��U�U�
�x���U�U����x��U�U��x��U�U��x���U�U����ݬ �~����������~���Z(^���լ�PjѬ�&Џ&�ݬ����ݬݬݬ��&�P      Џ����P4����[ЬU�&U��U�kU���nU��T�UT�[�����U�U[P%d blocks at %.1fKB/s
        !          4283: copy buggered up: sbase=%d nblks=%d dbase=%d
        !          4284: %ds:         doing block %ld at %sdrive %d not occupied
        !          4285: copying drive (%d,%d)[%d-%d] to drive (%d,%d)[%d-%d]
        !          4286: usage error8 ^Ѭ&�[�UЏ�4E��&[�[�[�K��&�x&�PZ�������xZU�U���������������ݬ�~�����~�����~��Y�P
        !          4287: Ь��&P�[��P0^�������x�U�U���������
        !          4288: ������
        !          4289: ��լ�Z�&Z�Z�&���������x���U�U��x��U�U�����  �ݬ�~ݬ�
        !          4290: �����~��mX�P[�[PK�������x�U�U������&���������ݬݏ&ݬ�~�����~��$X�P[�[P�P�L^�����Z�ͼ���@ݬݬ��6��PX�P�����@�X�v�X�v�X�f       �&������$'ͼ��Џ�=��&P�J���U�U�Џ�=��&P�+���U�E��&�v&�P�����U�E����U�U��U�e�&�v&�P�����U�E����U�U��U�e�&�]v&�P����ͼ�2��O�ͼ���&�PZ�ͼ�ݬ���\Ь��&P�ݬ�����������PЬ��&P�t��`�Uʏ���U�U��`�Uʏ����U����U����L��a�Uʏ���U�U��a�Uʏ����U����U�&���"������ݬ���&Ь��&P��������%����Џv=͸�      Џp=͸��͸�����U����T�TUS�&S~�U�T�����`&�Z�ͼ�����K&���&��&���&�
        !          4291: ��&���&U�&U��&�
        !          4292: e���7��Y�Y�&*�Y��R������&�����&�Xo&�PI�7�Y�ЏK=�7Џ1=�8Џ=�8Џ�<�8Џ�<�8Џ�<�z8Џ�<�s8Џ�<�T9Џ�<�M9Џ�<�F9Џg<�?9Џ&WЏ����V�����Y�Y�&�I�;�Y�����Y����X�X�&�&ݬ���������Y����������PЬ��&P�H����[����U�[U���Z'Ѫ��Z�k~��T�ЪU�&U��ke��kU�UW��[YU����T�TUʹ�����d�V`�V�G�T6�Vʹ�~�����q&�&���U�U����U4��������&���&����&�
        !          4293: ��������&U�&U���&�
        !          4294: e�kW�ʹ�V��U�E��9�&���&X��&Y������X�&ݬ���������Y����������PЬ��&P�!����[�X���Z'Ѫ��Z�k~��3�ЪU�&U��ke��kU�UW��[YU����T�TUʹ�����d�V`�V�G�35�Vʹ�~��&��P&�&���U�U����U4��������&���&���&�
        !          4295: ������&U�&U��&�
        !          4296: e�kW�ʹ�V��U�E��8�X�*����Z)Ѫ��Zݏ&��d�ЪU�&U��e��W�&��[YU����T�TUʹ�����d�V`�V�G�d4�Vʹ�~�����&�&���U�U����U4�������&��&����&�
        !          4297: ��������&U�&U���&�
        !          4298: eЏ&W�ʹ�V����0����&���&���&�
        !          4299: ������&U�&U��&�
        !          4300: e��W�&��&�X�X�&(�H�7�H�3�H�7�� ��&�X���
�&�&�P
        !          4301: %d %s,       %d %s@%d, uncorrectable (alternated)>96% burst (alternated)50-96% burst (alternated)<50% burstread error 3 (alternated)unwrittenread error 1 (alternated)seek error 3 (alternated)seek error 2 (alternated)seek error 1 (alternated)goodrare error 0x%x stored in '%s'upperlowermedia margin check for %d blocks [%d-%d] on %s drive (%d,%d):drive %d not occupied and ready
        !          4302: wusage errorvf:@ ^Ѭ
        !          4303: ��������'�&���ݬЬUݥ������P���
        !          4304: Ь��&P_�������ЬUݥ�&�n&xPU����U������������������ݬ�~�����~�����~��'O�P
        !          4305: Ь��&P�P^���������������
        !          4306: �������x���U�U�&���������������� �ݬ�~ݬ�
        !          4307: �����~��N�P�ЬPL�������������x���U�U��������ݬݬݬ�~�����~��[N�P�ЬP�PL ^Ѭ&:��       �&�&�Z�J���&�J���&�Z��y        ��a&�Z��P��ЬUݥ�&�'m&�P����PY�Y��Y��I�Ue�?�@)A�A�BPEݬ����ݏ&�~ݏ�������PЬ��&P�^����U�E�>�&������&���&�&�Z����[�Z�$��~��~��&U�E���&�k~��>��&�Z�[�ݬ����ݏ&�~ݏ��������PЬ��&P������U�E��&�����1&���&�$&�Z����[�Z���U�E�o�&��~��U�E�`�&��&U�E�U�&�kU�E�K�&��%���&�Z�[�����U�E�3�&�����&��D�&�&�&�ͼ��&��ݬ������~ݏ�������PЬ��&P���͸��&�Q�����[�kU�U��}�&�P&��~��&~�k~��@��6&�ͼ�͸�~����!&�����U�E��&�����&���&�&��&�ͼ��&���ݬ������~ݏ���j����PЬ��&P�D�͸��&������[�kU�U����&�&��~��&~�k~����&�ͼ�͸�~��h��m&��ѬЬUݥ�&�3j&�PX�X�X���ݬ�����������PЬ��&P���`�Uʏ���U�U��`�Uʏ����U����UЏ&ʹ�S��a�Uʏ���U�U��a�Uʏ����U����UЏʹ�%��������o�&��&Ь��&P�*����U�E�
        !          4308: �&�ʹߏ  Џ�GXЏ�GX�X������*��l&����&�&�;&&�ͼ��&�<�ݬ����ݏ&�ʹ���������PЬ��&P��͸��&������[��&Uʏ���U�U����&��&��&Uʏ����U�U��r�&��&���&Uʏ����U�U
��>�&�&��&Uʏ����U�U
���&�&��&Uʏ����U�U
����&�&��~�����o&��&Uʏ����U�E���&����N&�ͼ�͸�~��4��9&�Z�Z
        !          4309: 7~J�3���U����U�U�[U�eU�E�}�&�J���&�Z��"���
&�Z����&�&��
&��h[�Z�Z%�kU��&TxTT�TU~�Z��&���
&�Z�[���&�&�
&�*&���ߐ����ߔ��ߔ��ߔ��ߔ��ߔ��ߔ��ߔ��ߔ��ߔ���ݬ������~�����~��H�PЬ��&P������U�E��&��&��7
&����[� ��U��TxTT�TU~��~��~��������
&� ��    U��TxTT�TU~��
        !          4310: ~��~�������&� ��
U��TxTT�TU~��~��~��U��s��&��U��TxTT�TU~��U��TxTT�TU~��
��~&�Pbackup mem(0/%d/%d)
        !          4311: sys controllower driveupper drive%s(%d/%d/%d)%c%s: component(fatal err/err/cmds)
        !          4312: 
        !          4313:  %d:%ddiagnostic count (drive:avail):test %d[%s]: %s
        !          4314: diagnostic not performed: %s (last error code 0x%2.2ux) disk-fault drive-fault controller-fault no faultsdiagnostic result:upplowdrive %d[%ser]: %s
        !          4315: drive %d not occupied
        !          4316: internal 3 (%s):
        !          4317:  (time: %lds)
        !          4318:       failed, error codes=#%x, #%x, #%x      ended normallyinternal 2 (%s):
        !          4319: %s[%s]: %s[#%x] (%s)
        !          4320: Diagnostic #E4: last 16 errors; initiator[identify] error[sense] (cmd)
        !          4321: internal 1 (%s):
        !          4322: [%d] %s (%d,%d)
        !          4323: Diagnostic #E5: last 16 internal tasks (drive,shelf)
        !          4324: internal 0 (%s):
        !          4325:       internal %d: %s
        !          4326: available internal commands:
        !          4327: read data compareECC margin checkwritesearch writable areawritten sector searchblank sector searchseekmoveread disk iddrive on/offurk 15urk 14urk 13urk 12urk 11urk 10urk 9urk 8urk 7urk 6urk 5urk 4diagnostic aborted: write area fulldiagnostic aborted: write-protectdrive connected but no diskdrive not connected or powered offjukebox statusdrive controller diagnosticsscsi control board diagnosticsarm controller diagnosticserror information tableinternal command table^���������(���x�U�U���x��U�U���x��U�U���x���U�U�����������&������ݬݏݬ�~�����~��@�P�������P��^�X�V���&ݬݬ����PW�P�����E�W�z�W�z"�W�v�&X����&��`&�PV�Џ�M��&P�C&����&��&���&U�U��&Џ�ME����&��&���&U�E��&�o`&�PZ��X��V[�[ݬ�����[�Z������P��[Џ����Y�X�[�����I&����&�&��ݬ�����[�Z��b����P
        !          4328: �[Y�� �[��Y�[����&Ь��&Pmݬ�����Y�Z��#����P
        !          4329: Ь��&PMݏ���&���X���XU&������X��Z�����&��&��9�&�&�z����&������P(%d,%d): '%s'
        !          4330: read(blk=%d) failed
        !          4331: %d: 0usage errorvz:Wrens/Elite diskswrenlogselect {page fields}*logselectlogsenseIIIIIIIImodeselect {page fields}*modeselectmodesenseextinqdiagX ^���������������`������ЬU�U��Uݏ`�����~�����~��+?�P
        !          4332: Ь��&Pf�ͼ��������NE�ͨ��������=E�������ͨ��ͼߚ���U�E�Y�&����Ux��UU�E�@�&�~��(��
        !          4333: �   �&�Pinq(%d,%d): %s %s, %s/%s rev=%0.4s serial=%0.8s
        !          4334: L ^���������������� ������ݬ� �ʹ��~�����~��C>�P
Џ����P�߭��������dD�[�Z�K���&!�K���&U�e߭���#R&�P�&Z�[��Z5�K��&��&L�K��&��&���&U�eݥ�����&%��{�&��&��|�&Uݥ߭���t���&�Pݬ�&�����P
        !          4335: Ь��&PJ��D�&Uե��#ݬ��Q&Ь��&P$ݬݬݬ���&U���P
        !          4336: Ь��&P�Pݬ�&�����P
        !          4337: Ь��&PJ����&Uե��&ݬ��TQ&Ь��&P$ݬݬݬ���&U���P
        !          4338: Ь��&P�Pݬ�&�8����P
        !          4339: Ь��&PJ��x�&Uե�� &ݬ���P&Ь��&P$ݬݬݬ��I�&U���P
        !          4340: Ь��&P�Pݬ�&������P
        !          4341: Ь��&PJ���&Uե��ݬ��P&Ь��&P$ݬݬݬ����&U���P
        !          4342: Ь��&P�Pݬ�&�l����P
        !          4343: Ь��&PJ���&Uե��<ݬ��"P&Ь��&P$ݬݬݬ��}�&U���P
        !          4344: Ь��&P�Plogging not implementeddiagnostics not implementedmodeselect not implementedmodesense not implementeddrive is '%s'; pretending it's a %s
        !          4345: drive is a %s (%s)
        !          4346: 8 ^���ߐ��ߔ���x�U�&U��ߔ��ߐ��ߔ���ݬ������~�����~��:�P
Џ����P����Uʏ����U�U&
��  �U�U�U���  �~�&���~���������&���[�[4��
        !          4347: �Ux[&T�TT�TU�U�&Z�Z�Z�K��&��u��l��[Ț��UxUU���T�TU~���~���~����?��P8 ^����������x�U�U������������ݬ������~�����~��9�P Џ����Pl����Uʏ����U�U
����U�U�U�����~�����~��������e�&������~��6�������~������P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ$��ߔ���ݬ�$�����~�����~���8�P
Џ����P�Z&���Uʏ����U�U
��        �U�U�U���  �~����~��������4�&������&����[�[4���Ux[&T�TT�TU�U�&Z�Z�Z�K�g�&������[����
�&�����UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~��'
��"����UxUU���T�TU~��
        !          4348: �UxUU���T�TU~���UxUU���T�TU~���UxUU��
�T�TU~�������P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ$��ߔ���ݬ�$�����~�����~��27�P
Џ����P����Uʏ����U�U
��  �U�U�U���  �~����~��\
��:����Uʏ����U�E��&���UxUU���T�TU~��
�~��
        !          4349: �UxUU���TxTT���S�ST�TU~��O�����P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ��ߔ���ݬ������~�����~��J6�P
Џ����P�����Uʏ����U�U
��  �U�U�U���  �~����~��t��R���
        !          4350: �&�E��[�[4��
        !          4351: �Ux[&T�TT�TU�U�&Z�Z�Z�K��&������[ǚ��Uˏ����U~���Ux��UUˏ����U~���    �������UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~��      ����P8 ^���ߐ��ߔ���x�U�8U��ߔ��ߐ��ߔ���ݬ������~�����~��5�P
Џ����P�����Uʏ����U�U8
��  �U�U�U���  �~�8���~��*������&����[�[=�K��&0��
        !          4352: �Ux[&T�TT�TU�U�&Z�Z�Z�K�ú&���
        !          4353: ����[���
        !          4354: �Uˏ����U~��M������~���~��
�~���~���~�����v��PѬ1�&�&��x�&��n�&��ݬ��r��&P��Ѭ,�[�[ЬUݥ�K�:�&���G&�P�[��[��[�K��&��������ݬ�[������P�&Pkݬ�[������P�&PVݬ�[��9����P�&PAݬ�[�������P�&P,ݬ�[������P�&Pݬ�[�������P�&P�P�&^�W���X��ռ'�Z�Z ݼ�J�\�&�� G&�P�ZW���Z�ռ�����&���Z�Z.�J� �&�Z     Џ|VЏ[V�V�������Z���w�&����Z�Z��U��$1�Z��U��$�Z     Џ|V� V�V��:����Z����&���P�l&�Z�Z��U��$"ݼ�Z��U��$��F&�P�Z��Z��U��$�����ZY��U�U��eu�Y��U��$������Z�ZU�Y��T��,T�TU�e)�ZU�Y��T��,T�TU�e��B�����Z�����&���P�ռx�Y��U��,U[�kݼ�k��TE&�P�[��k�Q�����U�U��e�k��ݬ���Џ����P;ЬU�U��e�&�)P&�P��[���hݬ����Y��U��(�W��t< ^���ߐ�M��ߔ���x�U�0U��ߔ��ߔ��ߔ��ߔ��ߔ��ߐ,��ߔ���ݬ�,�����~�����~��a0�P
Џ����P��&����Uʏ����U�U0����UxUU����T�TU�U((�(����UxUU����T�TU~�0����~��u��S����&�F����Uʏ���U�U   Џ`[Џvc[�[���UxUU���T�TUxUU���TxTT���S�ST�TU~��
        !          4355: �Uʏ���U�U   Џ`ZЏvcZ�Z���UxUU��
�T�TUxUU���TxTT���S�ST�TU~���Uʏ���U�U     Џ`YЏvcY�Y���UxUU���T�TUxUU���TxTT���S�ST�TU~��p&��U���"�Uʏ���U�U        Џ`[Џvc[�[��$�UxUU��%�T�TUxUU��&�TxTT��'�S�ST�TU~���Uʏ���U�U     Џ`ZЏvcZ�Z���UxUU���T�TUxUU���TxTT���S�ST�TU~������P�[�K�
�&���&��!���ݬ�[��x����P�&P�Plogsense(id=%d,%s values):
        !          4356: default cumdefault threshcurrent cumcurrent thresh        requests: %d in segment%s, %d out of segment%s
        !          4357: [DU] blocks: %d read%s, %d written%s, %d read from cache%s
        !          4358: cache statistics:
        !          4359: expected val for field %s '%s'fields for page %s: fields ...
        !          4360: ]%c%sUsage: modeselect zlrwiececsizevcmaxprefminprefrdrprcdgcread retriesawrearretbrceerperdtedcrermodesense(id=%d,%s values):
        !          4361: usage: modesense [%s|%s|%s|%s]saveddefaultchangeablecurrent      prefetch: thr=%d max=%d(mult %d) min=%d(mult %d)
        !          4362: , cache size=%d
        !          4363: vendor caching parameters:
        !          4364:        ZLRWIECE    prefetch: min=%d, max=%d, ceiling=%d
        !          4365: 
        !          4366:        rd retent priority=%d, wr retent priority=%d
        !          4367: generic caching parameters:
        !          4368:        WCEMFRCDdrive geometry:
        !          4369:        %d cyls, %d heads, %d RPM, spindle-sync=%s
        !          4370: reservedmasterslavedisabled       %d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol
        !          4371:       sec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d
        !          4372: 
        !          4373:       drive type:format parameters:
        !          4374: SoftSecHardSecRemoveSURF write reconnect=%d/256 empty
        !          4375:       read reconnect=%d/256 full,disconnect/reconnect:
        !          4376: 
        !          4377:        %d retries, max ecc span=%d, recov tlimit=%d
        !          4378:  %s=%derror recovery:
        !          4379:        pg=#%x(#%x) data=#%x(#%x)
        !          4380: AWREARRETBRCEERPERDTEDCRElite-1ST41520N�< ^����������x�U��U������<������ݬݏ���������~�����~���(�P
Џ����P�"����Y����Uʏ����U�U�
����U�U�UY�Y����~ݬ����~��B������-�&���Ь[�kZ5�kUݥ�e�kUѥ&  ЏgWЏgW�W���&����[���&�&����2�&�&�s���&��Ь[�kZ��ЪW�W&���W��G�Ue
        !          4381: f
        !          4382: f
        !          4383: f
        !          4384: f
        !          4385: f
        !          4386: f
        !          4387: f�eOfOfOfOfOfOfOf�eЪU��E���}x���UЪT�UD���ЪU��E���`ЪUЪTxUD�Z�&XЪU�E���U�XT�TT�TU���ЪUxU�U�XT�TUЪT�U���D����jݪ�����Џ����Pt�[������Y���������x<&�������U���U�����������������Y������ݬ�~�����Y�����~���&�P      Џ����P�Punknown size %d for field %s
        !          4388: ; kill me if that's wrong
        !          4389: countbit %s '%s'=%dsettingpg=#%x(#%x) data=#%x(#%x)
        !          4390: 8 ^���ߐ��ߔ���x�U�&U��ߔ��ߐ��ߔ���ݬ������~�����~��&�P
Џ����P����Uʏ����U�U&
��  �U�U�U���  �~�&���~��������
        !          4391: �&���[�[4��
        !          4392: �Ux[&T�TT�TU�U�&Z�Z�Z�K&��
        !          4393: �����[Ț��~���~���~��d
        !          4394: ����P8 ^����������x�U�U������������ݬ������~�����~��%�P Џ����Pl����Uʏ����U�U
����U�U�U�����~�����~��
        !          4395: �� ���   �&������~��       ��&�����~��P       �����P8 ^���ߐ��ߔ���x�U�U��ߔ��ߐ$��ߔ���ݬ�$�����~�����~��T$�P
Џ����P�Z&���Uʏ����U�U
��  �U�U�U���  �~����~��Y    ��\���{�&�O���a�&�B��[�[4���Ux[&T�TT�TU�U�&Z�Z�Z�K��&�����
        !          4396: ��[����&������UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~���UxUU���T�TU~��n������UxUU���T�TU~��
        !          4397: �UxUU���T�TU~���UxUU���T�TU~���UxUU��
�T�TU~�����=��P8 ^����������x�U�U������ ������ݬ� �����~�����~��"�P   Џ����Pk����Uʏ����U�U
����U�U�U�����~�����~���������~����UxUU����TxTT����S�ST�TU~�����~��P8 ^���ߐ��ߔ���x�U�8U��ߔ��ߐ��ߔ���ݬ������~�����~���!�P
Џ����P�����Uʏ����U�U8
��        �U�U�U���  �~�8���~���������2�&����[�[=�K�ƫ&0��
        !          4398: �Ux[&T�TT�TU�U�&Z�Z�Z�K&������[���
        !          4399: �Uˏ����U~�����~����~���~��
�~���~���~��i��X��PѬ1��j�&��`�&��V�&��L�&���ݬ��T��&P�Ѭ,�[�[ЬUݥ�K��&���4&�P�[��[��[�K���&����&������ݬ�[������P�&PVݬ�[������P�&PAݬ�[������P�&P,ݬ�[��H����P�&Pݬ�[�������P�&P�P�&^�W���X��ռ'�Z�Z ݼ�J�N�&���3&�P�ZW���Z�ռ���W�&���Z�Z.�J��&�Z Џ|VЏ[V�V��!�����Z����&����Z�Z��U�� 1�Z��U�� �Z     Џ|V� V�V���&����Z���&�&�v��P�l&�Z�Z��U�� "ݼ�Z��U�� ��3&�P�Z��Z��U�� �����ZY��U�U��eu�Y��U�� �� &�����Z�ZU�Y��T��(T�TU�e)�ZU�Y��T��(T�TU�e�������Z�����&���P�ռx�Y��U��(U[�kݼ�k��J2&�P�[��k�Q�����U�U��e�k��Pݬ��v�Џ����P;ЬU�U��e�&�=&�P��[���hݬ����Y��U��$�W��j���expected val for field %s '%s'fields for page %s: fields ...
        !          4400: ]%c%sUsage: modeselect cevcbuffer emptybuffer fulldrread retriesawrearretbrceerperdtedcrermodesense(id=%d,%s values):
        !          4401: usage: modesense [%s|%s|%s|%s]saveddefaultchangeablecurrent      prefetch: thr=%d max=%d(mult %d) min=%d(mult %d)
        !          4402: , cache size=%d
        !          4403: vendor caching parameters:
        !          4404:        WIECEdrive geometry:
        !          4405:        %d cyls, %d heads
        !          4406:       %d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol
        !          4407:       sec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d
        !          4408: 
        !          4409:       drive type:format parameters:
        !          4410: SoftSecHardSecRemoveSURFINS write reconnect=%d/256 empty
        !          4411:       read reconnect=%d/256 full,disconnect/reconnect:
        !          4412: 
        !          4413:        %d retries, max ecc span=%d, recov tlimit=%d
        !          4414:  %s=%derror recovery:
        !          4415:        pg=#%x(#%x) data=#%x(#%x)
        !          4416: AWREARRETBRCEERPERDTEDCRWren V94181-15�\ ^ѬЏ�u��&P�9ЬUݥ�&�n9&�PVЬUݥ�&�q9&�PZѬЬUݥ�&�F9&�Pͬ��&ͬ��ͬ����ѬЬUХͨ��ͨ��ͨ�ͼ��ͼ������Z�V���&����ͼ�/���&�ͼ���F��PW�ͼ��&��Ь��&P�&�W����%���xVU�U���������������������������ݬ������~�����~��J�PЬ��&P�'&�����&���P͸������&��PX�XЏU�X�U��B&�Pͤ��&ͤ��ͤ��������U�U�XU~�Z�����V��:�&���������&�&�������Y����[�Y��Y[�Y[����(���xVU�U���x��ZU�U���x��ZU�U���x��ZU�U���Z���������[������ݬ�X[~�����~�����~��B�P
        !          4417: Ь��&P#�[Z�W�W�[�X��������[Y�_����Pread(%d,%d): %d blocks @%d (bs=%dB, %d sectors)
        !          4418: wlun=%d addr=%d count=%d file=%s
        !          4419: usage error<#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8><#d7><#d6><#d5><#d4><#d3><#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5><#c4><#c3><#c2><#c1><#c0><#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4>disk rotatedisk releasedisk set<#b0><#af><#ae><#ad><#ac><#ab><#aa><#a9><#a8><#a7><#a6><#a5><#a4><#a3>carrier movedisk check<#a0><#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95><#94><#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70><#6f><#6e><#6d><#6c><#6b><#6a><#69><#68><#67><#66><#65><#64><#63><#62><#61><#60><#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56><#55><#54><#53><#52><#51><#50><#4f><#4e><#4d><#4c><#4b><#4a><#49><#48><#47><#46><#45><#44><#43><#42><#41><#40><#3f><#3e><#3d><#3c><#3b><#3a><#39><#38><#37><#36><#35><#34><#33>readmoveseek<#2f><#2e><#2d><#2c><#2b><#2a><#29><#28><#27><#26><#25>disk outdrive offdrive onrecalibratesense drive status<#1f><#1e><#1d><#1c><#1b><#1a><#19>diagnostics<#17><#16><#15><#14><#13><#12><#11><#10><#f><#e><#d><#c><#b>error margin check<#9>sense alternate information<#7><#6><#5>recover disk warning<#3>version checksense resultnop<#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8><#d7><#d6><#d5><#d4><#d3><#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5><#c4><#c3><#c2><#c1><#c0><#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4><#b3><#b2><#b1><#b0><#af><#ae><#ad>no disk in LUNreservedmedium removal preventeddrive not readyunit attentionunacceptable diagnostics parameterillegal parameterillegal parameter lengthillegal shelf numberillegal logical addressreserved bit nonzeroinvalid LUNinvalid command<#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95>drive error (SONY)<#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70><#6f><#6e><#6d><#6c><#6b><#6a><#69><#68><#67><#66><#65><#64><#63><#62><#61><#60><#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56><#55><#54><#53><#52><#51><#50><#4f><#4e><#4d><#4c><#4b><#4a><#49><#48><#47><#46><#45><#44><#43><#42><#41><#40><#3f><#3e><#3d><#3c><#3b><#3a><#39><#38><#37><#36><#35><#34><#33><#32><#31><#30><#2f><#2e><#2d><#2c><#2b><#2a><#29><#28><#27><#26><#25><#24><#23><#22><#21><#20><#1f><#1e><#1d><#1c><#1b><#1a><#19><#18><#17><#16><#15><#14><#13><#12><#11><#10><#f><#e><#d><#c><#b><#a><#9><#8><#7><#6><#5><#4><#3><#2><#1><#0>not connected or power offdrive not ready (no disk)diagnostic could not be donetest not donegooddis/reconnect-LUN 7dis/reconnect-LUN 6dis/reconnect-LUN 5dis/reconnect-LUN 4dis/reconnect-LUN 3dis/reconnect-LUN 2dis/reconnect-LUN 1dis/reconnect-LUN 0no dis/reconnect-LUN 7no dis/reconnect-LUN 6no dis/reconnect-LUN 5no dis/reconnect-LUN 4no dis/reconnect-LUN 3no dis/reconnect-LUN 2no dis/reconnect-LUN 1no dis/reconnect-LUN 0<#d7><#d6><#d3><#c4><#c3><#c2><#c0>7<#2d><#2c><#2a><#28><#25><#1e><#1d><#1c><#1b><#1a><#18><#17><#16><#15><#12><#c><#b><#a><#8><#3>1<#1><#0><#ff><#fe><#fd><#fc><#fb><#fa><#f9><#f8><#f7><#f6><#f5><#f4><#f3><#f2><#f1><#f0><#ef><#ee><#ed><#ec><#eb><#ea><#e9><#e8><#e7><#e6><#e5><#e4><#e3><#e2><#e1><#e0><#df><#de><#dd><#dc><#db><#da><#d9><#d8>disk releasedisk set<#d5><#d4>request recovered status<#d2><#d1><#d0><#cf><#ce><#cd><#cc><#cb><#ca><#c9><#c8><#c7><#c6><#c5>recover disk warningsense alternate informationread disk id<#c1>disk eject<#bf><#be><#bd><#bc><#bb><#ba><#b9><#b8><#b7><#b6><#b5><#b4><#b3><#b2><#b1><#b0><#af><#ae><#ad><#ac><#ab><#aa><#a9><#a8><#a7><#a6><#a5><#a4><#a3><#a2><#a1><#a0><#9f><#9e><#9d><#9c><#9b><#9a><#99><#98><#97><#96><#95><#94><#93><#92><#91><#90><#8f><#8e><#8d><#8c><#8b><#8a><#89><#88><#87><#86><#85><#84><#83><#82><#81><#80><#7f><#7e><#7d><#7c><#7b><#7a><#79><#78><#77><#76><#75><#74><#73><#72><#71><#70><#6f><#6e><#6d><#6c><#6b><#6a><#69><#68><#67><#66><#65><#64><#63><#62><#61><#60><#5f><#5e><#5d><#5c><#5b><#5a><#59><#58><#57><#56><#55><#54><#53><#52><#51><#50><#4f><#4e><#4d><#4c><#4b><#4a><#49><#48><#47><#46><#45><#44><#43><#42><#41><#40><#3f><#3e><#3d><#3c><#3b><#3a><#39><#38><#37><#36><#35><#34><#33><#32><#31><#30><#2f><#2e>written sector searchblank sector search<#2b><#29><#27><#26>read capacity<#24><#23><#22><#21><#20><#1f>prevent/allow medium removalsend diagnosticsreceive diagnosticsstart/stop unitmode sense<#19>copyreleasereservemode select<#14><#13>inquiry<#11><#10><#f><#e><#d>moveseekwrite<#9>read<#7><#6><#5><#4>request sense<#2>rezero unittest unit ready�^��Џ��������
        !          4420: �&5�����&��P��&��ݬ���Џ����P�&լ Џ@[Џ�[ЬU��T�[T���~ݬ�&��h��P����U�PU2��ݬ����x�&�&���Џ�����f�&Э�P�լA�$�~ݬ��I�&��Ʀ�P���$�U�PUZѭ�$�&�����ݬ��0�ì$~ݬ���&��P����qݬ���g���ЬU�$���$լ��ϥ&�&�D�Џ����・&�P^����ЬU��K�&�ݬݬݬݬݬݬ��h����P���$��������P�z&ݬ������&������ЬU������O&����&���������ЬU��U�U��������d������ݬݏ����ݬ�~�����~�������P�������P�����&ЬU��&Uʏ����U�Uk����U�&U����U\��_�&���������ЬU��U�U���������������ݬ�ݬ�~�����~��U����P������������Pk���&ЏD����&ݏ����ЬUߥ$����&�����������[x�����Uʏ����U�E��&[�[��ݬ�����&P�P%s; %sreservation conflictintermediate good/metintermediate goodbusyreservedmet/goodcheck conditiongoodscsiio readscsiio write/dev/scsi8 ^Ѭ&�[�UЏv�E��&[�[��&�K��&�&�PZ�������xZU�U���������������ݬ������~�����~��0����PЬ��&P��Z��x�&�����[�����Uʏ����U���&�@�����Uˏ����U~����Uˏ����U~����Ux��UUˏ����U~��I�������Uʏ���U+����U����TxTT�TU����TxTT�TU~���������&�&���[������P�^��Ux��UUˏ����U��ѭ�m��Uʏ���U8ЬU��~��~��~��~��Uʏ����U�E��&��ݬ���GЬU��Uʏ����U�E��&��Iݬ��\���Uˏ����U~ݭ���
ݬ��;�sense: class=#%x, code=#%xextended sense: %sextended sense: %s info=#%2.2x#%2.2x#%2.2x#%2.2xreserved (#f)miscomparevolume overflowequalaborted commandcopy abortedvendor specific (#9)blank checkdata protectunit attentionillegal requesthardware errormedium errornot readyrecovered errorno sense
        !          4421: , addr=0x%xerror class=0x%x, code=0x%x, sense=0x%xno error
        !          4422: sense(%d,%d): 0���&U�U �U���&���&ݬ��6ݬ���!��i�&U�E�I&ݬ��ݬ��^�%s: %s%s: unknown errno %d��U�U 
լ֬׬����U������U[�[��kU�U �[�ЬU�U[T�T�T��T�Uݬ��&���U�eЬU�&U��eSЬU�&U�xST�eU�UTSЬU�&U�xST�eU�UTSxSU��T�TUS�SP�� ^�Zլ��&ݬ� ����PY�Z?�Y :�Yݬ߭���c&�P'� ���U�U�&���&ݬ����&�Yݬ߭����
&�W�Z���&ݬ��ٳЬX�[�[YX�[~�nÎ[U�U)ЬUѥ�ݬ� ��<�ЬUХT�&T�� dЬU�&U��e~��b&ݬ��z��[�ЬUѥ�ݬ�
        !          4423: ���ЬUХT�&T��
        !          4424: d��&ݬ��=��[�[Y��[~�nÎ[U�U)ЬUѥ�ݬ� �ЬUХT�&T�� d�hU�U �U���~��ݬ��ԲC��V�V      �V
        !          4425: $��ݬ�ﳲ"��yݬ���dݬ��[�L���ЬUѥ�ݬ�
        !          4426: ���ЬUХT�&T��
        !          4427: d�Y��YZ������Z��
ݬ��?�%5.5d
        !          4428: ..\t\n %c     %2.2x%5.5d*
        !          4429: ��&�&�P[ݏd�&�q&�PkЏd�ԫ�[PЬ[�k�&��
&�[�&��
&�^Ь[ݬ�&�    
        !          4430: &�PY�Yԫ�kP�ݬ�&��   &�PY�Y�U�&U��ѭ��EЫU>E�h����ѭ���Э���ݭ��&��&�P���kݭ���e
        !          4431: &�k�&�p
&Э�kЭ��ݬ�k�~��D
        !          4432: &�Y��kZ�X�jU��MZUʏ����U�j
        !          4433: �&X�Z�j�Xԫ�kP�P�~�Z��?��PZ�ݏ &�&�M&�P[��X[kԫԫԫԫԫԫԫ ԫ$ԫ(ԫ,ԫ0ԫ4ԫ8ԫ@ԫ<ԫDԫHԫLԫPԫT��XЏ�4ZЏ05Y�jA�j�&��&�PU�U~�&��
        !          4434: &�PX�ihԨԨЫ��X��jߨ��P       &�Z�Y��[P�^Ь����&�
        !          4435: &�P[ЬkЬ�Э�UХT�Э�U�[�TЬX�&�Lը�ШTY�Yݬݩ���Y�&��&ЩY�Ш[�[իݫ�&��[�&��&Ы[�Ԩ�X�&�U�ը(
        !          4436: ݨ(�&�&ը4ݨ4�&�&Ш4UХ�4�ШPZ�Z�Z�&�&ЪZ��X�&�x&�^Ь��ݬݬ��Iݬ�&�&�PU�U~�&�    &�P[ЬkЬ�Ь�Э�UХ�Э�U�[�ݬ߫��&�^Ь���~ݬݭ�����P[�[իݫ�&�Э�UЫ��[�&��
        !          4437: &�@&^�����Џ�������V�
        !          4438: ���ԭ�ԭ����ЬYթ�i�&�
        !          4439: &ԩ��XYi��X֩ѩ�dЏ��i�&P�3
        !          4440: ЬZ���ˏ�����U��]�����լ������Z��j����jU��MZTʏ����T�U;�Z�j#�Z�j���j
        !          4441: �Z���Z�Э�[ԭ������U������U���[f�Z���Z���j�������U�U;�{�U;i����U�U      ��U
        !          4442: �v�U
��U
�����d�����U�U �Z�U"�(&�U$��}����U�U�{V�U�}��U�}�Q����U�U�[�[&�U�\��U�]��խ�խ�Э�U�[Ef�Z���&������{k�[խ���֭���ѭ�&Vԭ蘪&U��MZTʏ����T����T�UT��U��U;��Z��Џd����I��}k�[խ��t׭��kխ�)խ�
        !          4443: Э�U�[Ef�"k�[�L�Z���&���=ԭ���&U��MZTʏ����T� ���T�UT��U��U;���Z��ЏA����խ���[k�[�����ˏ�����U�&U~ߪ&ݬ������P�����Z����W�i�&�&�P����[��U�U���~�
        !          4444: ���U�[Uí�U��ݭ��&�&�P���Э�U�U[~�U������&í�����������[�W�W��
        !          4445: ����Gf�W����Uѭ�U
        !          4446: ݭ��&��&������������U������U�������i�[��&����[��&խ��$k�[��&����Zݬ��\w�P��������&���oթ�i�&�z&ԩ����i��������Z�����խ�����]���]k�[�u&խ�խ���&�jk�[�Z&խ�խ������&խ�խ��jk�[�/&�Z���&Z���&�&Z���k�[֭��&���Uѭ�UR����U>E�`���������U�E�`���&�&�P����W�W���GfG����W�����U�VU     �V�&�&����VЭ�U�[Ef���&
        !          4447: ���Z����Z������Z��h��Pkխ�����
�jk�Z�[������Z]�&���U�UZ�[Pխ�Џ1����խ�Џ!���������]�Ь��Џ������jk�[�Z�[�������Э�U>E�_����ݭ��&��&�P���Э�U�U[~�U������s&í�����������[�W�W��
        !          4448: ����Gf�W����Uѭ�U
        !          4449: ݭ��&�Z&������������U������U���k���ˏ�����LU�&�Z���k֭�խ�թH��Э�U�Ef�&�f�Y����P��խ�0�~�~ݬ��f����f���i��߳�&������fЩPX�X8�h�*�j����j�Vݭ�Э�Uݥ�eݭ�ݩݬݨ������jШX�ˏ�����UЭ�<�Z�@ԩ<֩D��Lթ�i�&�Q&ԩ��XYi��X�Vݭ�ݬЭ�Uݥ���P�����
        !          4450: �Z���������Uѭ�U
        !          4451: ݭ��&�&����U�VU    �V�&��&שթ{���������UT�U&O�~�~ݬ��D����    Џ��i,��� Џ��i��XYi������ߩX��&��ˏ�����LU
        !          4452: ݬ�&�H������&�H&ˏ�����LU�7&�&�Ь�������������
        !          4453: ֩��������U��MZTʏ����T�U;����
        !          4454: ֩�����Џe�����
        !          4455: ݭ���o��P�������ݭ��&���P���í�����������U��&       Џ`��������(�(���Џ`����ˏ�����LUN�i�&���P2 ����ݭ������i�������{�<����ݭ������i��^�����[�����ݭ�������!�����=����ݬ��Y&��L��L���P���~�~ݬ��|�����������U�U����
        !          4456: ���������������U�U
        !          4457: �����������U�U<������������������U�U�F��F������������������b�i�+���U�U�U���~����T�T�TU~�����"�i��V��&���"���ЬZ��&���P[ЬkЬ�Ь�ЪP��[�P�[PЬ[ЬZѫPZЪ�P�Z�&���$ЫPY�YѩZЪ��Z�&���ЩY��^Ь[ˏ�����LU��&��m&ݬ��Bo�P��խ�Џe���ݭ��&���P��ݬ�&���P��Uߥ&�&���P��ݭ�ݭ���=�ݬ�����~��-��&ݭ����ݬ��@o��L�&ݬ���ݬ��%o���Y�[ЬUХZ�ZC��Y4ݬߪ����P#�[Ъ�ЬUХ�ЬU�Z��ZP��Z[ЪZ�լ�Po�&��hݬ��Fn�PV�V  �f1�PMݬ�&���PW�X�[ЬUХZ�Z-��Y�Wݬߪ��x��P�X�P�ZX�Z[ЪZ��XPnoAbbreverrorInfo%s: '%.*s => %.*s'%s, invoked from within
        !          4458: "%.*s%s"%.50s..., while executing
        !          4459: "%.*s%s"%s, while executing
        !          4460: "%.*s%s" ...command returned bad code: %dinvoked "continue" outside of a loopinvoked "break" outside of a loopor ambiguous abbreviation"%.50s" is an invalid command name %smissing close-bracketunmatched braceunmatched quoteextra characters after close-quoteextra characters after close-bracetoo many nested calls to Tcl_Eval (infinite loop?)upleveltimestringsourcesetscanreturnrenamerangeprocprintlistlengthinfoindexifglobalglobformatforeachforfileexprexecevalerrorcontinueconcatcatchcasebreakѬ&ݼ��@ݼ��&P�P�d^Ѭ"ݼ������ݼ��h��&P�}&ЬUХZ�Y��ЬUݥ�����P�[�[�[����&�U�[Uݼ��7ݼ����&P�!&�K�W�g"�gU��MZTʏ����T      �U�\�WڕgC�K�U�e�d����U��Z��P�&[Y�K��Z��s~�P�c�&[Y�b߭�߭��K�ݬ��A}�PX�X        �XP��V�V���F���Z��&~�P�&[Y�V�ݭ��&�0��V��   �[������YG�~�~�I�ݬ��3����PX�X&(ЬUݥ�K���߭�����߭�ݬ������XP�P�^ЬU�U�Uݼ��ݼ�ﺩ�&PZ�~�~ЬUݥݬ������P��Ѭ�~ЬU�eЬTݤ�U��i�~�~ݬ���xݭ���4ݼ��]��PѬ&ݼ���ݼ��?��&P!ЬUߥ�&�~��1x�P�ЬU�&��PѬ&ݼ��ݼ�����&P�P�^Ь��ЬU�U�Uݼ��:ݼ��ɨ�&P5ѬЬUݥݬ������Э�U��L�ЬUݥݬ��x�&P@^Ѭݼ��ݼ��l��&P�Ѭ�~�~ЬUݥݬ��b����P[5ЬUߥ�&�~��:w�P���~�~ݭ�ݬ��5����P[ݭ��&����[&$ЬUݥ��L߭����߭�ݬ������[P��^Џw����WЏ������мV�&[�[��~ЬU�K�R��T�T�UT�Ked�K�U�e<��&O�[�[��V��ݼ��q��&P��K����[�[�ЬU�K�'R��T�T�UT�Ked�[����[�v���׬ЬU�E�Ѭ&�V��ݼ����&P�ݼݬ��K�P��խ�   �&P�Џ������Џ������Џ������Џ������ݭ��&����P��ѭ܏��߭��&�A��P+�&�&� ��P�V��Iݼ��|��&���_ݭ�ݭ�ݭ���f��P��)��F�&�&�ߦ�P���ݼ��=��&��� ݭ��&�݁Џ��������߭��&數�~ݏ&߭���?��P��խ�+���&�&�y��P�V��?ݼ��ե�&���ݭ�ݭ�ݭ��ᅥ�P��)�&�&�8��P���ݼ��&���y�~�~ݭ��ﮃ�P�����߭��&�G��P�����)��L�&�&���P��Jݼ��C��&���&߭��&�σ�P�V���ݼ����&����&��l��P��ѭ�����+���&�&�}��P�V��ݼ��٤�&���&խ����~ݭ���|��P�����*�&ݭ���g��P������ݭ���R��P�����-Џ���p���p��&���P��p�ݭ���e��&�&��&ݭ��&��ݭ��&��ݭ��&��ݬݭ����ݼ��s��t������t��&�*��P��t��&����&�&�~&ݭ��&�Џ������ݭ��&�Џ�������Z�XЏ�������ZXU�U�dA�X    Џ�X>H�}N��X�X�&����P���W�Z�Wݭ���Y��W�&�l�Э�W�ZXU�&U~�WZ~ݭ�����PY�Y4�Y'��?�&�&�أ�P�V��bݼ��4��&���YZ�_����WZU�e�W�ЬU�&�ѭ�����S߭��&���P��ѭԏ�������ݼ����&��ѭԭ��խ���ݼ�¬�&��Э��ѭ�����
        !          4461: ݭ��&�V~ѭ�����
        !          4462: ݭ��&�B~ѭ������
        !          4463: ݭ��&�.~ѭ������
        !          4464: ݭ��&�~Э�P�^Ѭݼ��ݼ��B��&P8߭�ЬUݥݬ���@�P��խ�Э�Pݭ����ݼ����P�0^Ѭݼ��xݼ����&P�ЬUݥ�&����P[ЬUݥݬ��yF�PZЬUХU�e�d`�[��"�U����PK�/�Z��:��P��խ�
        !          4465: Џ���%ѭ�Z
        !          4466: Џ��������Zݬ���p�/���P�ЬUХU�e�r[�[V�[��
�U��2��PA�.�Z�����P��խ���Zݬ��pp�����Zݬ��]p�.���P�ЬUХU�e�e`�[[�[��/
�U�����PF�.�Z��^��P���/�Z��O��P��Э�UЭ�T�TU�ݭ�ݬ���o�P�ЬUХU�e�tT�[����U��`��P?�/�Z�����P��խ��Э�Uߥ&ݬ��o��Zݬ��o�P�O�Z    �&P�BЬUХU�e�rM�[H�[��D�U�����P3���ݭ��Z��p{�P�����
        !          4467: Џ���Џ���P��&ЬUХU�e�w�[����U����P����ЬUХU�e�e$�[�[���U��h��P
        !          4468: �&���v���ЬUХU�e�e#�[�[��o�U��6��P      ԭ��E���ЬUХU�e�o�[��=�U��
        !          4469: ��P ԭ��~ЬUХU�e�i �[�[���U�����P�&��PЬUХU�e�i �[�[���
        !          4470: �U����P���"ЬUݥ�e��
        !          4471: ݼ��|��&P�߭��Z���P�����Џ����P�Э�U�U&(�UD�]��V|2��U�PU�&Y�Y�Y��@<��Uʏ���U�U���&Y�Y�Y��<��Uʏ���U�U�@�&Y�Y�Y��խ�
        !          4472: Џ��Џ����P@^Ѭݼ��             ݼ��&P�&�~�~ЬUݥݬ������P[�[�[&��ݬ������[P��߭�ЬUݥݬ���;�P[�[       �[P��խ���~�~ЬUݥݬ��1����P[�[�[5�[1�[&�iЬUݥ��!߭����߭�ݬ�����C�~�~ЬUݥݬ�������P[�[$�[�R����[&��ݬ�������[P�[�[�[�~�~ݬ���k�[Pl^Ѭݼ��Aݼ��T��&P��߭�߭�ЬUݥݬ���n�P[�[      �[P��Z�Z���x�~�J��ЬUݥݬ��\�~�~ЬUݥݬ������P[�[=�[�[4�[�[3�[&.ЬUݥ��߭��ﵛ߭�ݬ�������Z�|���ݭ��&���[�~�~ݬ���j�[P�T^мV�YЏ���Ѭݼ���ݼ��N��&P��������ЬUХ[�k�ޭĭ�ԭ�ԭ��W�X�k%K�[���[���kU�U%+�U'�k�\߭��[���j�P�����[�k���[֭��í���Z�&���u��&%�[���&Z�&���[�[�%��֭��[�k-      �-��֭��[�k0   �0��֭��[�kU��MZUʏ����U#�[�&���PX�[�kU��MZUʏ����U�&�k*!լ��ݽ��&����PX׬����[�X�X���  ݭ�������֭���k.      �.��֭��[�kU��MZUʏ����U#�[�&���PW�[�kU��MZUʏ����U�&�k*!լ�Iݽ��&�a��PW׬����[�W�W��f  ݭ�����֭���k#      �#��֭��[�k�l�[�k��֭����լ���k��Э�U�U�D%�U�G-�E�����Ue˼]�]�]�խ��&�&Э�U�U�c*�U�g\�E�z���Ue"�˼]�]�]�Э�U�U�U�l�U�Xc�U�X�:&ѭ��OJ�*&Э�U�U�s�p�U�u(�U�x�U�x��ѭ��o���~߭�ݽ������P��ս����ݽ���ݼ��-���&�(Z��н���ݽ��&�+��PZ��~߭�ݽ���s��P��ս����ݽ���Eݼ��֗�q&�&Zm߭���$ݽ�����P&ݽ����&ݼ��;&�&��Џ@&Z�W
        !          4473: ,�WZ'Џ"���&�k~��O&ݼ��d���׬����[�XZ�XZ�ZYU�U��K�ZYU>E�B�����&��~�&�n��P���Y�Y�Vݭ�����ѭ���      �V�&���Э�VЭ���խ��Zݭ��VY~����ZY�VYU�e����խ�p��~߭��VY~�vݭ�߭��VY~�殺�VY~�&���PY�c����V�ѭ����&��ԭ�ЬUЭ���P)ݼ��!ݼ��_�ѭ���    �V�&�<��&Pinvoked "%.50s" without enough argumentsbad field specifier "%c"format string ended in middle of field specifierexpected floating-point number but got "%.50s" instead%Fexpected integer but got "%.50s" insteadtoo few args: should be "%.50s formatString [arg arg ...]" ("foreach" body line %d)wrong # args: should be "%.50s varName list command" ("for" loop-end command) ("for" body line %d) ("for" initial command)wrong # args: should be "%.50s start test next command"bad "%.30s" option "%.30s": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writableisdirectoryisfileownedexistsexecutablewritable10readabletailextensionrootname/.dirnamewrong # args: should be "%.50s name option"wrong # args: should be "%.50s expression"command terminated abnormallychild process disappeared mysteriouslyerror reading stdout during "%.50s": %.50scouldn't find a "%.50s" to executeforked process couldn't set up input/outputcouldn't fork child for "%.50s" command: %.50scouldn't create output pipe for "%.50s" commandcouldn't reset or close input file for command: %.50scouldn't write file input for command: %.50scouldn't create input file for "%.50s" command: %.50scouldn't write pipe input for command: %.50scouldn't create input pipe for "%.50s" command: %.50snot enough arguments to "%.50s" commandspecified "<" but no input in "%.50s" command ("eval" body line %d)wrong # args: should be "%.50s message [errorInfo]"not enough args:  should be "%.50s arg [arg ...]"%dwrong # args: should be "%.50s command [varName]" ("%.50s" arm line %d)defaultextra pattern with no body in "%.50s"innot enough args:  should be%s "%.50s string [in] patList body ... [default body]"too many args: should be "%.50s"T^м��Ѭݭ���'"ݼ����&P�&ЬUХ������мU�e�t&�U�&���P���!ݼ�����P׬��Ѭ&�м����׬լ
        !          4474: Џ&���AмU�e�e&�U�&���P��!ݼ����P׬��Ѭ&�D���м��Э���߭�ݭ�ݬ��-�P[�[�[PJխ�Э���~�~ݭ�ݬ��I����P[�[&$ЬUݥ��� ߭����߭�ݬ��-����[P�^Ѭݼ�� ݼ�����&P�j&ЬUХ��ЬUݥ�&�p��PZЬU��U��MZUʏ����U�Z ЬUݥ��1 ݼ��&P�&Ѭ��Z0߭�߭�ޭ�U�U߭�ݭ�ݬ��
W�P[�[        �[P���Z�ѭ����&��~�&�o��P�ЬU�&�խ�ݭ�ݭ�ݼ��������U�e�ݼݭ�ݭ���dX�wѬ�����ЬUݥ�&����P��[ЬUݥ�����PЬUݥ��ݼ��&P)ݭ��&���P���Z�����ZUмT�edмU��&�P�h^Ь[Ѭݼ���k��G��&P�ЬU����ЬUݥ�&�C��P������a�ݭ���EЬUݥ����PlѬݼ����k����&P�&ЬUݥ�[��P�P��խ�ЬUݥ���k�頋�&P���XЭ�UХZԬ�����bkݭ���TЬUݥ��}��PPѬݼ���k��U��&P�ЬUݥ�[��xO�P��խ��l���Э�UХk�P�i����c\ݭ���ЬUݥ����PAѭ�;Ѭݼ��[�k��݊�&P� ݫD��=�k��Š�P�����cOݭ���ЬUݥ����P4ѭ�.Ѭݼ���k��z��&P��XЫY�{����d��ݭ���|ЬUݥ��L��P��Ѭݼ���k����&P�aЬUݥ�[��AN�P��խ��5���Э�UХZ�Z"ЬUݥݥ���k��щ�&P�ߪЬUݥ��W��PH�j�~�jЬUݥ�[��IЏ��k�~��ЬUݥ�[��~IЏ��k�P�ЪZ�s�������e�oݭ���ЬUݥ��I��PTѬݼ���k��!��&P�d�~ЬUݥ�[��H�P��խ��1��0��kU��&�P�1����gHݭ���WЬUݥ�����P-Ѭݼ���k�靖�&P���XЫZ�����l\ݭ����ЬUݥ����PAѭ�;Ѭݼ��w�k��V��&P��&Xի �Z�Tл Z�J����l�=&ݭ���/ЬUݥ����P�&ѭ��&Ѭ,ի  Џ��kЫ Uݥ��J�k��χ�P�Ѭ��
        !          4475: ߭�ЬUݥ��$��P��Э�UЬT�U��eЬUݥ���k��|��&P�խ�ի �Ы U����խ��P�Ы ��խ�Э�Uѥ��Э�UХ���խ�����Э�Uݥݥ���R�Pk�&��P�Pݼ����k����&P�5����pIݭ���ЬUݥ�����P.Ѭݼ��S�k�﯆�&P��&�XЫY�����t2ݭ���ЬUݥ����P����k��D��P�&����vOݭ����ЬUݥ��N��P4Ѭݼ���k��&��&P�i&�Xի ЫZ'л Z!ЬUݥ�e����k����&P�5&Ѭ
        !          4476: ЬUХV�Vޭ���WԬѬWN>G�0��W�WU�E�0���&����P��ЬU�E�v0��ݬݭ���e�ޭ�UѬU
        !          4477: ݬ�&�m�Э���X�X8�X�Y�Y�&��I�PЩY��Y�hЬU�YE�ЩY0�X&�Zˏ�����UЪZ��Z6ЬU�ZE�ЪZ�V�VЬU�E���X�P����֬����ݬݬ��P�Pk�&�ޭ�UѬU
        !          4478: ݬ�&���P�^Ѭݼ��@ݼ��&P�ЬUХ��Ѭ>�[����x�~�~ޭ�U�U߭�ݭ�ݬ��
N�PZ�Z�ZPf���K�[�Ѭ����ЬUݥ�&�@��P��ЬUݥ����P�]���ݭ��&���P[�[��aݼ����PѬݼ��Aݼ��ǃ�&P!ЬUߥ�&�~��wO�P�ЬU�&��P�^ЬU�U�Uݼ��ݼ��z��&P�&&Ѭ
Џ�9[�ѬaЬUݥ�&�f��P��tЬUݥ��@��P ЬUݥ��/ݼ����&P����ЬUݥ��v�P[���ЬUݥ���u�P[�[+��Ɗ&�&�_��PЬUݥ��ݼ�ﶂ�&Pf�[ЬUݥ��vѬ���f&�&�:r�P��
�[�&��p�P��ѭ������$��[�&�&���P��(ݼ��R��&P�P�^Ѭݼ���ݼ��,��&P�~ЬUݥ�&����PXЬU��U��MZUʏ����U�X ЬUݥ��Xݼ��߁�&P�1ЬUХU�e�e,�U�&����P��"ЬUݥ����P     Џ����YMЬUݥ�&�>��PYЬU��U��MZUʏ����U�Y ЬUݥ���ݼ��X��&P�&Ѭ�ЬUݥ�&�Q��PZ�Z�Z��ЬUݥ��$��P�����ЬUݥ�&���PZ�XZЏ&���P�C&ЬU��X���Y������YZ�ZY�YXЏ&���P�&ЬU��YU�&U����Ѭ�W����ZЬUХ���ZX5�~�~ޭ�U�U߭�ݭ�ݬ��$J�P[�[ �[P�����Z��Y������ݭ�ݬ��O�P��YXЏ&���P�w�XZЭ����ZY/���*�~�~ޭ�U�U߭�ݭ�ݬ��I�P[�[�[P?�Z�Э�U���U��MZUʏ����U׭�㐽�����ݭ�ݬ��O�����PЬYѬݼ���ݼ���&P��ЬU��ЬUݥݬ��<����P���~ЬUݥ�Y��(����PZ�Z ЬUݥ��Gݼ��*�&P��~ЬUݥ�Y�������P[�[ЬUݥ���ݼ���~�&PWЫ�ЬUݥ�&����PU�U~�&���PZ�kjЫ�Ы�Щ��Z�ЬUݥߪ��|��[�&���PѬݼ��@ݼ��y~�&PѬ�ЬUݥݬ���M�P� &^�Y�WѬݼ��
        !          4479: ݼ��0~�&P�CЬUݥ�&�5��PU�U��ЬUХZ�j��&�j%��&�Z�j*�&V�Z�V�jU��MZUʏ����U�Z��V�&�Yݼ���
        !          4480: 
        !          4481: ݼ��}�&P��YU�E��[�Y�j�����U�U�X���U�[�&�U�[X���U�U�D���U�E���U�F���U�D������O������U�U�o�m�U�o@���U�U�c��U�f��E�z���Ue�����������U�U�x�U�xU����sH��dk��Z��sk����N��ck��D��Fk��:��fk��0��sk�����Z�j�]��j~��mݼ��-|�&P�@��W�Z������U�YUЏ%���&P��W�&�8��P���X�W���[�XY���W���W�X�[���H���<���0���$����ЬUݥݥ���{�P�����Y���Y�X���[�XY�&�k�����U�U�c��U�dF�U�f�&�U�f����F��&&����s��&ݻ��������{�~�����H��%��U�U��U�eݬ���:����Uˏ���U~��D�������z�~�����H�%��U�U��U�eݬ��:��~ݫ�H�l%��U�U��U�eݬ��:np�~��n������iz�~�����H�4%��U�U��U�eݬ��L:6V�~��6������1z�~�����H��$��U�U��U�eݬ��:�X�[�s�������&��������bݼ���y�P�^Ѭݼ��ݼ���y�&P�D&ЬUݥݬ��d�PX�X    �&P�#&�~�~�X���W�P[�[ ЬUݥ��+ݼ��ky�&P��߭��[���V�P�����)ЬUݥ���ݼ��6y�[�&��T�&P��&��~�&�\��PZݭ��Z�[���W�P��%ЬUݥ��qݼ���x�[�&�T�&Pi�[�&�T�Z��U�e߭��~�Zݬ��ս���PY�Y�Y�Y&-ЬUݥЬUݥ�����x���x��x�ݬ������Z�&�f��YP�Ѭݼ��ݼ��Wx�&P�&ЬUݥ�&�\��PY�Y��gЬUݥ��3��P@ЬUݥݥ����PX�X
        !          4482: Џ����X
        !          4483: ЏW��Џ����P�&�Y��ЬUݥ�����P    �&W��Y���ЬUݥ����P�Wk�Y��ЬUݥ����P/ЬUݥݥ��EK�P
        !          4484: Џ���Џ����P�ЬUݥ�e��,ݼ��@w�&P�pЏ����XЬU��ZЬUݥ�&�6��PYЬUХ[�k0�kZ%�Y�[ЬUݥ�����PЬUå[X�W�[��X��Eݼ���v�Pl^Ѭ�&��`Ѭ>߭���ЬUݥ���v�P&>ЬU�eݥ��?&ݼ��vv�&P��ݼ���ݼ��Zv�&P�߭��&�WЭ�Z�ZN�~�~ЬUݥݬ��D����P[�[.�[&$ЬUݥ��߭���v߭�ݬ��$����[PK�Z�߭��&�Ví��U�U�@B��n�ح��~�~ݬ��5En��TgT��~��ݼ��u�P%.0f microseconds per iteration ("time" body line %d)wrong # args: should be "%.50s command [count]"bad count "%.50s" given to "%.50s"bad "%.50s" option "%.50s": must be compare, first, or lastmatchlastfirst-1comparewrong # args: should be "%.50s option a b" (file "%.50s" line %d)error in reading file "%.50s"couldn't stat file "%.50s"couldn't read file "%.50s"wrong # args: should be "%.50s fileName"%gdifferent numbers of variable names and field specifiersbad scan conversion character "%c"can't have more than %d fields in "%.50s"too few args: should be "%.50s string format varName ..."too many args: should be "%.50s [value]"can't rename "%.50s":  command doesn't existcan't rename to "%.50s": already existswrong # args: should be "%.50s oldName newName"endbad range specifier "%.50s"wrong #/type of args: should be "%.50s value first last [chars]"I/O error while writing: %.50scouldn't open "%.50s": %.80swabad option "%.50s":  must be "append"appendwrong # args: should be "%.50s string [file [append]]"not enough args:  should be "%.50s arg [arg ...]"wrong # args: should be "%.50s value [chars]"bad "%.50s" option "%.50s": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or varswrong # args: should be "%.50s vars [pattern]"vars3.3tclversionwrong # args: should be "%.50s procs [pattern]"procswrong # args: should be "%.50s level [number]"bad level "%.50s"levelwrong # args: should be "%.50s locals [pattern]"localswrong # args: should be "%.50s globals [pattern]"globalswrong # args: should be "%.50s exists varName"exists01procedure "%s" doesn't have an argument "%s"wrong # args: should be "%.50s default procname arg varname"defaultwrong # args: should be "%.50s commands [pattern]"commands%dwrong # args: should be "%.50s cmdcount"cmdcountwrong # args: should be "%.50s body procname"bodyinfo requested on "%s", which isn't a procedurewrong # args: should be "%.50s args procname"argstoo few args:  should be "%.50s option [arg arg ...]"bad argument "%s":  must be "chars"charsbad index "%.50s"wrong # args:  should be "%.50s value index [chars]" ("if" body line %d)elsethenwrong # args:  should be "%.50s bool [then] command [[else] command]"�^��R�S�R-Џ������֬��R�&���R0�֬��R�R�x|֬��R�RU�U0�U9xSU�RT�0T�TUSܘRU�U�a �U�fxSU�
        !          4485: U�RTaT�TUS��RU�U�Al�U�FcxSU�
        !          4486: U�RTAT�TUS��RU�U0D�U7?~C���U�RT�0T�TUS֬��RؘRU�U0�U9�S
        !          4487: U�RT�0T�TUS֬��R�լЬ�ŭ�SP��^ЬUХ[�kZ�ZU��MZUʏ����U�[�kZ�ЬU�&[��ZY�Y!��Y?��I����Ue��Y�Y�������Y�t�������Y���Y�������������������������Y����J����Y�����Y�|��Y�~��Y�~��Y�[���Y�^�L�ЬUԥЬU�UXߥ�[������P��P�ЬUԥЬUߥ�[�e���*�P��խ�    �&P�ZмUեHЬUԥ�P�B߭�ݭ���=���ЬU�P�Э�U�U���eCЬU��ZЬU���~�~ݬ��.9ݭ��[��]       ݼ��iЬU�Z��&P���P��ЬUԥЬUߥ�&߫&�e����P��խ�
        !          4488: Э�P�ЬU֥мUեHЬUԥ�~�~ݬ��8�P�x߭�ݼ��s���ЬU�P�Э�U�U��eGЬUХU���ݼ߫&��p��,����hЬUХU�Z�����,�ݬ��C8�&P��~�~ݬ��,8�P��&ЬU�&��P��&ЬU���P��&ЬU���P��&ЬU�   ��P�&ЬU�
        !          4489: ��P�&ЬU���P�&ЬU���P�&ЬU���P�x&ЬU���P�h&��&X�X<�X=&ЬU�[�ЬU�
�ЬU�[�ЬU��ЬU���P�"&��&W�W=�W>&ЬU�[�ЬU��ЬU�[�ЬU��ЬU���P����&=ЬU�[�ЬU��ЬU���P���&=ЬU�[�ЬU��ЬU���P���&&ЬU�[�ЬU��ЬU���PeЬU���PY��&�|ЬU�[�ЬU��ЬU���P3ЬU���P'ЬU��ЬU�[��PЬU�&[�ЬU���P��^ЬXԭ�ݬݬ������PY�Y    �YP�<ЬUѥ&aݏ����ݬݬ������PY�Y    �YP�ЬUѥ���~�~ݬ��5ЬUݥ��ݼ��/f�&P��ЬUѥЬU��ЬUѥxЬUХ[ЬUХT�D�G&�Uݬ��-����PY�Y    �YP��[�[�['.ЬUΥ�#ЬUե�&W�WЬU�W�  ЬUҥ��&��ЬUե�խ�ݬݬ�������PY�Y  �YP�ЬUХZЬUХ[�[�[�[�[��P���K��F&��P���[�Z  �['�Z#֨H�K�F&ݬݬ��9����PYרH���[���Z[�K�F&ݬݬ��
        !          4490: ����PYЬUХZ�Y      �YP�WЬUѥ�֨H�K�FF&ݬݬ�������PYרHY֨H�K�'F&ݬݬ������PYרH�Y        �YP��ЬUѥ���K��E&ݬݬ��u����PYЬUХZЬU�Z��K��E&ݬݬ��L����PY�Y    �YP�ЬUХU�U�U�U�U�X�[�i����[�^����K�����Ue������:�H�X�k�~����������8�K�Y�g���ЬU�Z������ЬUե�~��ݬ��2�&P��&ЬUǥZ������ЬUե�~��Tݬ��2�&P�&ЬUǥZ~ĥnÎZ�����ЬU�Z�����ЬUåZ��o���ЬUХTxTZ��\���ЬUΥTxTZ��I���ЬU�Z��&W�WЬU�W��*���ЬU�Z��&W�WЬU�W�����ЬU�Z��&W�WЬU�W������ЬU�Z��&W�WЬU�W������ЬU�Z��&W�WЬU�W�����ЬU�Z��&W�WЬU�W�����ЬUҥT�TZ��|���ЬU�Z��n���ЬU�Z��`����ZЬUե�&W�WЬU�W��>����Z     ЬUե�&W�WЬU�W������~�~ݬ���0ЬUݥ��zݼ��Xa�&P�^Ь��Ь��Ь��ݏ����߭�ݬ��s����P��խ�Э�P3ѭ�&�~�~ݬ��z0ݬ��ݼ���`�&PЭ���Psyntax error in expression "%.50s"divide by zerounmatched parentheses in expression "%.50s"command "%.50s" returned non-numeric result "%.50s"variable "%.50s" contained non-numeric value "%.50s"�^ݬ�&�-��PZЬU�Z�U��U�U��ЬUѭ��gЬUХU>E�
        !          4491: ����ѭ���Э���ݭ��&���P��ЬUݥ�eݭ��ЬUե
        !          4492: ݼ�&Э��ЬUЭ��ЬU�&�ЬU�e�[ЬUե� k�[ЬU֥ݬ�[��<��Z[ݬݬ�[�ﮬ�[�U�eЬU�Z�T�T���&^�W�Y�XЬ[�kZ�ZU�U/@�Z�{�X�[X�Z�}�Y�[Y�ZU�U*�U�[�U�\�U?�&W�[��X���YЏ����&P�sݬ�&�ɪ�&P��ѭ����$���ݭ��&�Ь�P��ìX��ݭ�ݬݭ���ҫ�X[�X[�k�}l�&[��Э�[�kU�U�}       �U,�[�í�[��ݭ�ݭ������~�ߩ&�����U�U��~����ݬݭ�ݬݬ�������P��&P�ѭ��
        !          4493: ݭ��&�֭�P��W��&���ݬ��n>�P<��Uʏ���U�U�@�P�aݬ�&��;�P��խ�+��|e&�&�^�Pݬ��ݼ��p]�&P�#ݬ�&�y��P��ì[��ѭ����8����&��~�&�y��P��ݭ�ݬݭ�������U�e�Vݭ��&��;�P��խ���Э�U��.���.�ݭ�Э�Uߥ��0�P��kݬЭ�U2�~ߥݬ������Э�U2�U���U�U�U���� ���Э�U2�U���Uߥ�&�Ǫ�P��Э�Uߥݬ��ݭ���e\ݬ߫&ݭ�ݬ������PV�� �Uѭ�U
        !          4494: ݭ��&�*��V������8�Uѭ�U
        !          4495: ݭ��&���VP���kݬЬU�U[~�Uݬ�������ݬ�&���P��ì[U���U�U��ѭ�����,���ݭ��&����P��ݬݭ��ЬU�U[~�U�����~������U���U�/e�&��U���U�eݬ߫&ݭ�ݬ��/����PV��,�Uѭ�U
        !          4496: ݭ��&�?��V�&P�P�^ԭ����~
        !          4497: ЬP�a&ЬU��&U�U/�U:���&�8�PY�Yݬ��Vݼ���Z�P�!&�&�[��&�[�kU �U/�[��&�U�U[Z�Z�O=&�&�F=&Z�ZЬUߥ&��:=&��o���-=&ZU�e��#=&�&�l8�P��խ���
=&��&ݼ��eZ�P�Э�UХY�&���Y�&�d��PX�[�&�X��PXZ�Z��<&6���<&��w
��<&�&���&Z�<&��<&�&�D��P�<&�Y��<&��Ʀ�[��z<&���խ���;��a<&P�^��(���Џ���ԭ�ԭ��&[�[�i�K�Y�i�~�Yݬ��G����PY�Y       �&P��i/߭�ߩ&��ݬ��&����PZ߭��Y��ݬ������PZ�ZC�[�խ���Hݼ��"Y�&Z%խ�Э�ЬU�&�
ݭ�ݼ��إ�Pխ�
        !          4498: ݭ��&�٨�ZPno files matched glob pattern(s)/user "%.50s" doesn't existcouldn't find HOME env. variable to expand "%.100s"HOME%s%s/couldn't read directory "%.50s": %.50sunmatched open-brace in file name�^Ь[ի$��[��  �[�&�:��U��MZUʏ����U֬畼�~�~ݬ��>'�P�֫0֫,ѫ,�$ԫ,Ы,U~E���U��(UZݬ�&﷣�PY�&YU��U�e
        !          4499: �Y�ߩ&�Z��        �Yݬ�j��ͤ�jYU�eѬ������P/Ы8��Ь�8�~ɏ&�~ݬݬ��Q����P��Э��8Э�P��^Ь[Ѭ&@���[��r�PZ�Z       �&P��j�[��
        !          4500: �~�~�jݬ�������tЬU����ЬUݥ�&�ޢ�PY����a���Y��<ЬUݥ�﨣�P�ЬU�U �Uݼ����k��rV�&P�Ѭ`ЬUݥ�&�q��P��ЬUݥ��K��PЬUݥ��f�k��%V�&P��~ЬUݥݬ�������ݏ����ЬUݥݬ�����������c��Y��ЬUݥ��Ϣ�P�ЬU�U �Uݼ���k��U�&P�+ѬЫ,U~E�W��U��(UZ�[�&�
        !          4501:  ЬUݥ�[���
        !          4502: �PZ�Z       �&P��ЬUݥ�&�\�ߠ&�Z��`ЬUݥ�j����P�����e��Y���ЬUݥ����PtѬݼ���k���T�&P�oѬ        Џ�&XЬUХX�X�[��
        !          4503: �PZ�Z       �&P�=�j�[��+��jݬ���#�P�����i��&�Y��)ЬUݥ��j��P��&ЬU�U �Uݼ����k��4T�&P��ѬO�~߭�ЬUݥ��.��P��ЬUѭ��ЬUݥ��s�k���S�&P�ѭ��$Ы$��Ы$���Y�V�&�,U��$Uí�UW�V��W�W�$«$W~G�(U�eX�X�&ﺟ�  PU�UY�
        !          4504: �X�����PX�X�Y�X�~G�(U�e�&�        PU�UY�V�W�ߩ&�&�PX�Xk�&��V�&�,U��$Uí�UW�V����W�$«$W~G�(U�e�����~�&�0U�V��T�TU~��{�X���R�X�
        !          4505: ݭ���\��P��խ�*�&��Uí�U��ݭ�ݭ��X��'��������X�      h�X�ݭ��X��X�&゙�PX�
        !          4506: h�X�V�W�R�������P� ����k�&�Y���ЬUݥ��n��P�&Ѭݼ���k��@R�&P���~߭�ЬUݥ��@��P��ЬUѭ�Э�U�U���UЬUݥ��)�k���Q�&P�Э�UE�����&���P��ѭ�$�&�,Uí�U��խ�
��$���&�,��ԭ�ѭ���pѭ��$ԭ�ѭ��$"Э�U~E�(UЭ�T~D��T}edЭ�U~E�(U�e5�(�&著Э�U~E��U�PeЭ�U~E��U��Э�U~E����U���U�(�֭�֭��ԭ�ѭ��$$Э�U~E�(U�eЭ�U~E�(U�e�&���֭��ݫ(�&��Э�(ѭ�$�&��,�&�$�,Э�$�P�m����nW�Y���ЬUݥ�����P=Ѭݼ���k��P�&P�+�&�0~���k��|P�P�����r��Y��ZЬUݥ��]��PtѬݼ��
        !          4507: �k��5P�&P��&Ѭ     Џ�&XЬUХX�X�[��r�PZ�Z      �&P�&�j�[���~�~�jݬ�������t&����s��Y��ЬUݥ��œ�PvЬU�U�Uݼ�� �k��O�&P�$&Ѭ Џ�&XЬUХX�X�[����PZ�Z      �&P��ЬUݥݥ�j�[��������w��Y��
        !          4508: ЬUݥ��%��P�ЬU�U �Uݼ��<
        !          4509: �k���N�&P�Ѭ      Џ�&XЬUХX�X�[��,�PZ�Z�&PSЬUݥ�j�[��z�P��խ��&P3ݭ��[�� Э�k�&��PЬUݥ�e��N    �k��hN�&PЬUЬ�$ЬUE�&����&ЬU�P�(�[�[�9�(�&�r�ЬU~K�(U�PeЬU~K�(U��~K�����UЬT��(U�(��[�ЬUԥ,ЬUԥ0�~�~�������ݬ��P���ЬUѥ�!ݼ�&ﭝݬ�&����P�ЬUЬ�ЬUХ4[�Z�[�ЬU�kT�eT;ѥT5мkЬUХ�ЬUХ�ݫ�&�L�ЬUХ�ݬ�&�9�iЬU�ek!ѥ�ЬUݥ�&��ݬ�&��?Ѽk
�[ZЫ[�p����ZЬUЬTХ4�ЬUЬ�4ЬUЪ�Ь�ЬUե<ե8\��&���P[ЬUå8�<kЬUå8�@U�&U�ݬ�&﷘�P��&�~�&�Ϛ�P�ݬݫ��V��[ݬ�������^ЬUե<ե8�ЬUХ<ZЬUХ@YЬU�Z�8u�Z�j�[�jU��MZUʏ����U�V�i�]N��&�K��P[ЬUå8ZkЬUå8Y�Ь��߭��&���P�ݫ�&���P��[ݬ�������^ЬUե4��ЬUХ,T~D�u���T��(TZ�j�&流�PVЬUХ4[�[�&�U�kU�UV��VЫ[��V�&陵�P��Э�Y�WЬUХ4[�[K�WkX�X�X�jW~�Y��XYݫݫ�Y���Y�&�Wݫ�&����[�&���Ы[��jW~�Y��ϗ�j�&�ښЭ�j�V�ЬUԥ4ЬUԥ8ЬUե4/ЬUХ4Uݥ�&連ЬUݥ4�&ЬUХ4TФ�4��^��U��MZTʏ����T�U-��~߭�ݬ����PX���ݬ��ݼ��JJ�P�&�XЬU��0XЬU�X�0ݬ��ݼ��J�P��ЬUå$�0U�XU�Xݬ��jݼ���I�P�ЬUå0XT�T�,Z�ZЬU��$Z~J����UЬT��(UPݬ�&�ȕ�PYЬU�&�,Z�ZЬU��$ZЬU�Z�,<~J�Y���UЬT��(U[�Yݬ�k��u��Pݬ�k��'�P�[P�Z�ݬ��ݼ��9I�P��^ݬ�&�C��PYݬ�&�6��PWЬ[�Xݬ�[�參�P[�[�Y[�X��Xݬ��$ݼ���H�&P�ݬ�&���YWU�XU�UP���&��~�&����PV�VZݬݬ��@��P[�[ݬ�Z��i�1ЬU�U[~�U�Z��ؕì[U�UZݬ�Z��@��WZ�[Y���Vݬ��r����~�~�Vݬ��X����P���V�&�!�Э�P��^ԭ��WЏ����V��$ЬU��&�&Џ����W���U��MZUʏ����U~�~߭�ݬ����PW����WVN���-H֭����$֭�/���U��MZUʏ����U�T&�~ޭ�U�Uݭ��樂�PV����4&�WV�V������ &Ь��ݬ�&�t�ߠ&�&�P��Э�YЬ[�kU��MZUʏ����U�[��X�k��[���~�[��.�PZ�Z[�kU��MZUʏ����U�[��WX
�W������k]�V������VXMխ�"�j��jݭ�ݭ����P���jխ�&�Y��� i�YЭ�U�UZ~�U�Y���í�ZU�UY�X�Q����i�VX�WX!ݭ��&�T�ݬ��dݼ��QF�PЭ�Pݬ��ݼ��4F�Pbad word selector "%.50s":  should be num-num or patternword selector "%.50s" specified non-existent words"%.50s" doesn't appear in eventno event matches "%.50s"event "%.50s" is too far in the pastevent "%.50s" hasn't occurred yetbad event number "%.50s"historybad "%.50s" option "%.50s": must be add, change, event, info, keep, nextid, redo, substitute, or wordswrong # args:  should be "%.50s words num-num/pat [event]"wordswrong # args:  should be "%.50s substitute old new [event]"substitutetoo many args:  should be "%.50s redo [event]"redo%dwrong # args:  should be "%.50s nextid"nextidbad number "%.50s"wrong # args:  should be "%.50s keep number"keep%6d  bad count "%.50s"wrong # args:  should be "%.50s info [count]"infotoo many args:  should be "%.50s event [event]"eventwrong # args:  should be "%.50s change newValue [event]"changebad arg "%.50s":  should be "exec"execwrong # args:  should be "%.50s add event [exec]"add-1��^Ь[Ѭݼ����k��CB�&P��&��&�u��PZ�[jЬUݥ�&�9�ߠ&�&�W��P�ЬUݥݪ��ڎԪ��}�Z��ЬUݥݬ��V���߭�߭�ЬUݥݬ���PX�X    �XP�L&�Y�Y���#&߭�߭��I��ݬ��W�PX�X�&ѭ��I�����
        !          4510: �k��mA�&X��խ�н�U�eЬUݥ��x
        !          4511: �k��AA�&X��ݽ��&�J��P��ѭ�Э�Uݥ�&�2��PV�Vժ���U�VU�U~�&�;��PW�W����U�VU�U~�&���P�ЧWݽ�ߧ�ѭ��WU���U�&UgЭ�Uݥ�g��g�V�ԧԧݭ��&�|��Y�����ݭ��&�j��P
ݭ��&�\��XP�^Ь��լ     Э�Uե ݬЭ�Uߥ���P[ݬЭ�Uݥ ����P[�[�P!ˏ�����UЫ[ˏ�����U�P�kP�^ЬYլթ �YZЩ Zݬ�Z���P[�[ݬݬ����P[�j��[j`ˏ�����UЫ[ݬ�&ﶋ�P��ѭ��,ˏ�����U    �k�&�k��&��~�&ﳍ�Pk�&�Э��ݬ�k��3����^֬���{6֬Ь[��U�U�}    �U֬�լS���&��FЬ�?Ь[��U��MZTʏ����T       �U�_֬�լЬ�Ѭ[   ЏT&PE�������~�[ݬ��P����PZ�Z �~�~ݬ���[��ݼ��>�����ZP�^ѬA�~ЬUݥݬ������P��խ�ЬUݥ��aݼ��J>�&P?Э���P6Ѭ�~ЬUݥݥݬ��$����Pݼ���ݼ��      >�&PЬZѬݼ���j���=�&Pxժ �Po׬��լaݼߪ���PY�Y ��Vݼ����PYЪ��Y�����6ݼ���P[���Y�к ��[� ׬����P�D^Ь[Ѭݼ���k��C=�&P�u&ЬUХX�h#3�
        !          4512: ߭�ߨ&��:��PYЭ�U�&XT�UT�e�+&����p�hU��MZUʏ����UB�
        !          4513: ߭��X�����PYЭ�U�UX�e��ի ��Ы U�Y�Y����ի ��Ы U�&�Y׬��Ы ���Yԫ $Э�Z�ZѪYЪZ��Z��Z� լ�����Ѭ&�~�~ݼݬ��P����PW%ݬݬ��.�P���~�~ݭ�ݬ��)����PW�W&$ЬUݥ��O߭����;߭�ݬ��
���Э�� �WP�X���k���;�&P�~ݬݬ����P[�[�P�k��&�PЫPѼ��&
        !          4514: ЬUХP�PЬUХ[�[#ˏ�����U �k�&�J��[�&�A�Ы[���^ЬYмYԭ�թ Щ U�&����&��Ь��Ь��Щ��Щ ��ޭ�ޭ� ЬUХ[��W׬�[�իQ��߫��t��P=լԬ�Wݬ���PX�X߫���&�PZ�X�&Э��Z��ԬYլ�gX'�k�kXݼ߫���i��k:�&V��X߫��r&�PZЭ��Z��Ы[�W׬�G���լݼ���i��#:�&Vl߭��~ЬUݥݬ��"���PV�V�VJ�V&%ݩݼ��&߭����9߭�ݬ������ �VЏ�&i�&V�V
        !          4515: Џ�&i�&VЭ�Z�Z#ˏ�����U   �j�&�Z�&�}�ЪZ�Э��Э�� �VPЬUݥ�&�X�ЬUХ[�[#ˏ�����U   �k�&�8��[�&�/�Ы[�ݬ�&����Y�[мZ�Z7��Y(ݬߪ�鉶�P�[Ъ�м��Z��ZP�Z[ЪZ��Pݬ�&���PYݬ�&���PZ�Z�Z�YU�ZU�U~�&���P[ݬ߫��z��[U�YU�&Ukݬ�k��c��Z�ԫԫԫ�[Pinvoked "continue" outside of a loopinvoked "break" outside of a loop (procedure "%.50s" line %d)called "%s" with too many argumentsno value given for parameter "%s" to "%s"argsbad level "%.50s" ("uplevel" body line %d)too few args:  should be "%.50s [level] command ..."too few args:  should be "%.50s varName varName ..."wrong # args: should be "%.50s varName [newValue]"couldn't find variable "%.50s"$procedure "%.50s" has argument with no nametoo many fields in argument specifier "%.50s"wrong # args: should be "%.50s name args body"�^�Z��U��MZUʏ����U֬瑼�{�&Z֬լ�Z�Ь[�kY�Y�\���Y�\<�Y        ���Y
        !          4516: ���Y
        !          4517: �Y���
        !          4518: &�Y �����Y�{�Y�}���Z���Z���Z&�wì[���[�kU��MZTʏ����T�U��[X�hU��MZUʏ����U
�[U�XU�X��~�~ݬ���[�[X~��ݼ��5�&P��ZI�ZE߭��[���&��U�U[/�Z+ì[��+�Z�~��Aݬ��;�&P<ì[���[�����kU��MZUʏ����U�[�Ь��[�լЭ���P�^��[լ>�[�\%߭�ݬ��u�P��&��U�U��&��U�U��[�֬֬��[׬����p^Ѭޭ�VЬU�E������&�U��PV�W�X�X��}&ԭ�ԭ�ԭ�ԭ��Yԭ�ԭ��H�[�k�{�Y�k     �&Y�
&�k���U�U$��U$B�U�U ��U
        !          4519: ��U
        !          4520: խ����ѭ� �t�Э�U�U�{=�U�}@�U�}�Э�U�U�[,�U�\;�U�]�a֭�֭��U֭�׭�M�&Y֭�E�&Y֭�=�&Y֭�5�[�k5�kU�U�{�U�}�U�[       �U�]�&Y֭��[������H�[U�UWխ������U���U���U���U�UW�Yˏ����YU�W�W�YHf�X�w���ߧ&�&ﻀ�P��Э�Z�X�X��F&�HfYˏ����YU��{j�Z�H�[�k�&ˏ����YU���k��Э�U�U�[�q�U�\��U�]�S�U�].Э�U�U A�U Э�U�U   K�U
        !          4521: :�ѭ�$"�}Э�U�U�{�U�}�a��\j�Z�U��\j�Z��njL��\j�Z��tj@��\j�Z�[�kU�U�{�U�}�U�[      �U�]��\j�Z�k
�kj�Z�[�����ˏ����YU��}j�Z� j�Z�X�����Z���j���ޭ�U�VU  �V�&��Э�P�&Y�Z�Z��J��&��|�&PU�UY�Z��Y�&��PX�X[�Z�Z�$�J��[��}�J��&��|�P[� k�[�Z֔���XP�^Ь[Ы���k��լ��X��X[kԫ�bլ    ЬkԫTѬ&
        !          4522: Ьk�&�Dݬ�&�Y|�P��ѭ���&��~�&�g~�Pk�&���X[kԫݬ�k���|խ�
        !          4523: ݭ��&���^�&�R����bS�S�M�&�S�ML�S;��&�S;'�S ��&�S"��&�S$�&�&�S�C���&�S�n��S�nT�S�[�}&�S�b-�C����UeE'&E'&E'&O'&O'&O'&O'&\&&�S�eU�8&�S�{�&�S�}�&�S�}�&�S�r-�S�t.������v&����l&�
        !          4524: ���b&�
���X&�    ���N&�R�bU��MZTʏ����T�U��C���&���&&����b�M=�R�bU��MZTʏ����T�U
        !          4525: �
��������bUʏ����U���U����������b�����R�bU��MZTʏ����T�U��M���&���������b����b����bU��MZUʏ����U�k�0b���R�bU��MZUʏ����UX������U~E�m���U�bT�0T�TU���R�bU��MZUʏ����U&������U~E�;���U�bT�0T�TU��      ��\���&��լЭ�����P��^�&WЬ[�k�kU��MZUʏ����U�W�[��WU�E�����Uì[T�TUߥ&�&�:{�PX�Z�WU�E����U�XU[���߭�߭�ެU�U߭�ݬݬ��s����PY�Y�X�&�|�YP�n���]�ZW�~���ݬ�������&PK�[Jhխ�ݭ�ݭ��[���y���[�k�[�[ݭ�ݭ��������&��U�U[�Z�\����X��Z��P����  �&P�9&�P�1&����*�P�&��*=֬��       �&P�&��ݬݬ������P  �&P��֬��P����?�����[�֬��U�U�]�U�P�����YЬU��&-FЬU��[�[�P�{��U��T�UT
        !          4526: �[U�UT$��U��T�UT
        !          4527: �[U�UT
��֬������U�U�]'�U#֬ꑼ�\֬���P����P֬֬�����^Ь[�kU��MZUʏ����U�[�k"!�[�k�\߭��[��������[�k"�H�k�{B�&Z�Z;�[�k�\߭��[��������[�k�}�Zؑk�{�ZΕk��[P��k�[3�[�kU�U�]�U�&�[��O����P[�k;��[ّk�]��[Ǒk�\��&
        !          4528: �[�߭��[��������[ݑk;
        !          4529: �[�2�[.�kU��MZTʏ����T�U�k�]լ�[�g����[Pinternal error in Tcl_SplitListunmatched open brace in listlist element in braces followed by "%.*s" instead of space���
&&����&�`ЬU�UY     ��&����&U�EiU�UX        ��&���h-0ЬU�UW  ��&����&U�EgU�UV        ��&���&Џ����PЬU�UY  ��&���G��k&U�Ei��0u�P��V&Џ����PЬU�UY      ��&�b��6&U�EiU�UX        ��&�I�X� &U�eU�U[�U�20&�[:�[~ݬ��t�PZ����&/ЬU�UY     ��&��&�[���i����u&���&�&U�UY�U�&ЬT�TX        ��&�&��&U�EhU�UW        ��&�&�WYU�e
��o&�&�l&�?P�&ZU�UY�UZ   �#�&�u&�i:�&ЬU�UY    �$�&�X&��,&U�EiU�UX        �$�&�?&�&�&U�XU�eJ��&U�UY���
        !          4530: &ЬT�TX     �%�&�&�IhU�UW       �%�&���&��
        !          4531: &U�WU��.&��&�
        !          4532: &U�U�
        !          4533: &�U�B��
        !          4534: &/ЬU�UY   �'�&��[�� &�i��O&��/&��l�&�q
        !          4535: &�?P��c
        !          4536: &U�UY��Y
        !          4537: &ЬT�TX     �+�&�m�Ih�W.&�&�<
        !          4538: &X�&�3
        !          4539: &U�UY�U�(
        !          4540: &ЬT�TX     �.�&�8��
        !          4541: &U�EhU�UW    �.�&��WYU�e
�&��   &���   &���-&�[P�^ݬ���     &��.��8����%��8��&��q�P��8��������qnull pointer dereferenced @%s:%d
        !          4542: getopt.c: option requires an argument -- : illegal option -- %s%s%c
        !          4543: --Ь�& &�^��    &UǏȭU��ǏȭU~ďȭnÎU��ŭ����Uŭ��G
T�TU[�[       �[��&�����[��&���&P�����Ǐ�P~ď�nÎPP��w���nPTeT�9PǬ����~ĬnÎ����[��L����PZ�Z[�ǬZ~ĬnÎZP1Ѭ�Ь[Ь[�[P�!�v��xv�P��@��)�_v�^߬ݬ���^�&Z�Y���&�&�}&�P�����&���/ݬ��Kp�P   ���&PЭ�P�P[��|�ݬ�[����P[ݬ��|������+&P�P@I(((@�((((((((((((��[��Y�
�T+&��K+&Џ����Pq��I&�|���|�̀��&�x���x������x���|�P�&�x�Q�QQ�QQ�QP��x�Q�A�`���|����&��[���Z�Z��Z�&�12��Y1n��^Ь[ЬZЬY����k�k:�ѬY�/�����j��i�k�&[�[P�P���t�Q�P��t�P�^Ь[��A�Z�j�P݊�[��
�PY��YP�^Ь[ЬZ���=�ZP��=��k���k��P�^�� ���P[�kݬ��n�P���1�[P���QP���s���sݏ�&��o�P[��)&     �[�&�zq�P�ݬ������Pk�k������ԫԫԫ�[P�*�sЬR�P��Qb�P��psЬ[իѫ�K֫ݏ�&�[~�k�����P�իݏ�&�[~�k�����P�ի�Pԫ�[P��P�`�[P��PZ��C&�
        !          4544: �C&P��Q�QP�0P�C&�jP��MZ�<�sC&�nC&�j   (�Z�Y���x��Y��Y�����������[P�PZ�1/���x�Y�*C&��&�C&�[P�PZ�ѫ����C&P�^ԭ�լ1�ݏ��&����P�����C&�&���P;ݭ����*�խ����d��P��k�ݭ��&����Zݭ��&�u�Nԭ�խ� ѭ��í����­��¬���&����!������P��ݬ�&�.���-���^�&��?C&�����q�P�
ЬQ�Pa�#�+�`q�
        !          4545: �Pq�P��@qլ�Q���(q���&��'���&����P��&
���&�&���&��&�&����&Ь[�[�[    ��&�U&�k$�[        ��&�D&�k:�[       ��&�2&�k
        !          4546: ��[  �!�&� &�k�[U�UZ�[�U        �!�&�&�j�[        �"�&����&�[PЬ[�[�B&�[�&�l����P[�[�&�`����P[�[�&�u�P��A&�[�&�D����P[�[�&�u�P��A&�[�&�(����P[�[�&�����P[�[�A&�[�&�  ����P[�[�A&�[�&������P[Џ,yP��&&����n&&��w�P�l&&�P��a&&ݏ��]A&����P[�[�P�[�&�����^ݬ��,&&��.��8�����8��&�i�P��8�����������hnull pointer dereferenced @%s:%d
        !          4547: posix/getpwent.cr�~�&�Q�^ЬU�UZ�U     ��&�  ��[�[�P&�[�E&�K�Ue�8&�8&9&�8&�9&�8&9&ЬU�UZ�U     ��&�,  ��Џ����Pݬ�&�p��ЬU�UZ�U        ��&��ЬU�UY�U     ��&��ЬU�UX�U     ��&������ЬU�UZ�U      ��&���Uʏ����U�U\ЬU�UZ�U      ��&�ЬU�UY�U     ��&�Щ�ЬU�UZ�U        ��&�iЬU�UY�U     ��&�UЩ�-ЬU�UZ�U      � �&�:ЬU�UY�U     � �&�&Щ���;���o����&��f��&�ЬU�UZ�U     �'�&����Uʏ����U�U��&ЬU�UZ�U        �(�&��ЬU�UY�U     �(�&�ЬU�UX�U     �(�&�����ЬU�UZ�U      �)�&�ЬU�UY�U     �)�&�rѪ��2&ЬU�UZ�U        �*�&�Q��Uʏ����U�UUЬU�UZ�U      �+�&�.ЬU�UY�U     �+�&�ЬU�UX�U     �+�&����~ݩ��?k�P� ЬU�UZ�U    �-�&����Џ����PЬU�UZ�U �0�&�ժ ЬU�UZ�U        �1�&���Џ����PЬU�UZ�U �4�&�ЬU�UY�U     �4�&�lЬU�UX�U     �4�&�X����ЬU�UZ�U      �5�&�=����ЬU�UZ�U   �7�&�ЪU�UY�&U��U        �7�&���i��ЬU�UZ�U   �9�&����Uʏ����U�U�ЬU�UZ�U        �:�&�ЬU�UY�U     �:�&�Ѫ��&ЬU�UZ�U        �;�&�ЬU�UY�U     �;�&�vé���ЬU�UX�U      �<�&�[��Uʏ����U�U!ЬU�UZ�U      �<�&�8��~�j��g���ЬU�UZ�U        �=�&�ЬU�UY�U     �=�&�ݭ�ݩ�j������P�� ЬU�UZ�U        �>�&����Џ����PЬU�UZ�U
ݏA�&�ЬU�UY�U
ݏA�&�Щ�ЬU�UZ�U
ݏC�&�ЪU�UY�&U��U
ݏC�&�d��iѬ
        !          4548: �-ЬU�UZ�U
ݏE�&�<ЬU�UY�U
ݏE�&�$é���ЬU�UX�U
ݏF�&���Uʏ����U�U%ЬU�UZ�U
ݏF�&����~�j��
���խ�iЬU�UZ�U
ݏG�&�ЬU�UY�U
ݏG�&�ݭ�ݩ�j������P��$ЬU�UZ�U
ݏH�&�o��Џ����PЬU�UZ�U
ݏK�&�KЬU�UY�U
ݏK�&�3Щ��&ЬU�UZ�U
ݏN�&�ЬU�UY�U
ݏN�&���YUѪU��ЬU�UZ�U
ݏO�&�����ЬU�UZ�U
ݏP�&���Uʏ����U�U%ЬU�UZ�U
ݏP�&���~�j�����ЬU�UZ�U
ݏQ�&�gЬU�UY�U
ݏQ�&�O�&ݩ�j��Q����P&�ЬU�UZ�U
ݏR�&���Џ����PЬU�UZ�U
ݏW�&��&ЬU�UY�U
ݏW�&��&Ѫ��u&ЬU�UZ�U
ݏX�&�&ЬU�UY�U
ݏX�&�&é���ЬU�UX�U
ݏY�&�&��Uʏ����U�U%ЬU�UZ�U
ݏY�&�_&��~�j�����խ�iЬU�UZ�U
ݏZ�&�5&ЬU�UY�U
ݏZ�&�&ݭ�ݩ�j������P��$ЬU�UZ�U
ݏ[�&����Џ����PЬU�UZ�U
ݏ^�&��ЬU�UY�U
ݏ^�&�Щ�ЬU�UZ�U
ݏ_�&�ЬU�UY�U
ݏ_�&�ЬU�UX�U
ݏ_�&�g����ЬU�UZ�U
ݏa�&�HЪU�UY�&U��U
ݏa�&�+��iЬU�UZ�U
ݏc�&���ˏ����P�^ݬ�����0��8������8��&��^�P��8�����������^null pointer dereferenced @%s:%d
        !          4549: stdio/_IO_putc.cЬU�U[  ��&�^��P�P�P9MЬU�UZ       ��&�<ЬU�UY       ��&�*թ�[�&[�[�ЬU�U[    ��&����^ݬ��(���.��8������8��&�^�P��8�����������]null pointer dereferenced @%s:%d
        !          4550: stdio/clearerr.c�^Ь[ԭ��[     ��&���Џ����P�[�&�!&�P�����Џ�������[     �       �&���Uʏ����U�U�[       �       �&�mݫ�&�!a�[    �
        !          4551: �&�V��Uʏ����U�U"�[      �
        !          4552: �&�:�k�&�����PЏ�������[        ��&����[ ��&���Э�P�^ݬ������.��8�����8��&�\�P��8���������\null pointer dereferenced @%s:%d
        !          4553: stdio/fclose.c�^Ь[�[G�ZЏl9[/�[ �
        !          4554: �&�g&���[�&������P�����Џ����Z� [�[�lI��ZP�[      ��&�+&��Uʏ����U�UЏ����P�[     ��&�&��P�P
�P�P�PЏ����P�[      ��&����Uʏ����U�U�[     ��&��ЫY�[      ��&�ЫY�[        ��&�ëY��խ�H�[ ��&��[    ��&�wݭ�ݫ�k��4����P���[       ��&�U��Џ����P�[        ��&�<�[    ��&�/�[    ��&�"ЫU�U��U��[        ��&�   ���P�^ݬ������0��8�����8��&�Z�P��8���������Znull pointer dereferenced @%s:%d
        !          4555: stdio/fflush.c��^Ь[ЬZЬY�[W!�WU�UV�W�U   �       �&��Xf�Z�X
        !          4556: z�Z&u�Y   ��&��Y    ��&�ѩ��Y�&�2��PV4�Y       ��&�nЩU�U��֩�U ��&�VЭ�U�eUˏ���UV�VX�V������e����X������W[
�Y�&� ��P�P�Z�W ��&��g�[P�^ݬ��|���.��8���C
��8��&�TY�P��8����-�����&Ynull pointer dereferenced @%s:%d
        !          4557: stdio/fgets.cЬ[ЬZЏl9Y#�Y  ��&�"���Y�Z�[���&� Y�Y�lI��P�^ݬ������.��8�����8��&�X�P��8����u�����nXnull pointer dereferenced @%s:%d
        !          4558: stdio/fopen.c�^ެ��ݭ�ݬݬ���P��Э�P�Ь[ЬZ��Z ��&��Z    ��&�Ѫ�#�[U�UY�[�U     ��&�z�Z�i~�����<�Z      ��&�_ЪU�UX֪�U  ��&�H�[U�UW�[�U    ��&�3�gh�[ ��&�#�k�i����Z�&���PYЏ����Y�YP�^ݬ��r���0��8���1��8��&�BW�P��8���������Wnull pointer dereferenced @%s:%d
        !          4559: stdio/fputs.c�^Ь��ЬU�U[�U    ��&�2��
        !          4560: ݬ�&����ЬU�U[�U   ��&���&+ ЬU�UZ�U       ��&����+��ЬU�U[�U ��&���k�wݏ�&ݭ�����P�&�����ЬU�U[�U      ��&��ݭ���b����PkЬU�U[�U      ��&��k�����<ݏ�&ݭ��ﲪ�P�&����ЬU�U[�U   ��&�I�ݭ���       ����PkЬU�U[�U        ��&�&�k�a�G&ЬU�U[�U ��&���~�k������ &ЬU�UZ�U  ��&��&�j[�[�r"�[�r�[�af�[�w.�PЬU�UZ�U       ��&�&�~ݭ���]����Pj�ЬU�UZ�U        �"�&�t&ݏ�&ݭ��ﰩ�Pj�ЬU�UZ�U    �%�&�G&�&ݭ�������PjЬU�UZ�U      �&�&�$&�j�����'ЬU�UZ�U    �'�&�&ݏ�&ݭ���C��PjЬU�UZ�U  �(�&����~�j�����ЬU�U[�U        �,�&��k������PЬU�UZ�U �-�&�ЬU�UY�U     �-�&��i�a�[�[�[�ЬU�U[�U    �.�&�f�&�ЬU�U[�U �/�&�NԫЬU�U[�U  �0�&�7ԫЬU�U[�U  �1�&� ԫЬU�U[�U  �2�&�   ԫЬP�^ݬ�����0��8���i��8��&�zS�P��8����S�����LSnull pointer dereferenced @%s:%d
        !          4561: stdio/freopen.c��^ЬYŬ�Z��ЬU�UX�U     ��&��ЬU�UW�U     ��&��ç�[�[J�[Z�Z[ЬU�UX�U   ��&��[�Yݨ��sTЬU�UX�U       ��&���[��]�Z��&ЬU�UX�U  ��&�j���ЬU�UW�U ��&�J��Uʏ����U�U��&ЬU�UV�U        ��&�!ЬU�U���U    ��&����UѦU�&ЬU�UX�U    ��&��&ЬU�UW�U     ��&��&ç�[�[��ЬU�UX�U     ��&�&��Uʏ����U�U!ЬU�UX�U      ��&�&��~�h�����ЬU�UX�U        ��&�k&ЬU�UW�U     ��&�W&�[ݧ�h��?����P[ЬU�UX�U  ��&�0&���&ЬU�UX�U   � �&�&ЬU�UW�U     � �&��ЬU�UV�U     � �&��ЦU�U��U�ЬU�UX�U �"�&����Uʏ����U�U!ЬU�UX�U      �#�&���~�h�����ЬU�UX�U        �$�&��Z�Y�h��o����P[�[BЬU�UX�U �&�&�^��8�Y      �*�&�Kݬ�i~������P������&[�[Y�[Z�Z����լЬX�&XìYU�X�U��,f�^ݬ�����.��8������8��&��O�P��8���������Onull pointer dereferenced @%s:%d
        !          4562: stdio/fwrite.cլ#����ݬ��M���������"&��:�����8&�&������P�����Տ�9       �       �&�wՏ�9  �       �&�fЏ�9UЏ�9Tѥ���y��
        !          4563: ��H���2Տ�9       �       �&�/Џ�9UХT�T[֥�T     �       �&��
        !          4564: k��6��&�W����^ݬ������.��8�����8��&�N�P��8����q�����jNnull pointer dereferenced @%s:%d
        !          4565: stdio/perror.c: �^ެ��ݭ�ݬ��~����P��Э�P�~�~ݬ��4�Ь[�[       ��&�g&��&�[      ��&�T&��Џ����P�[        ��&�;&��ЬP�P&!�P�Pm��[       ��&�&��լ=ݬ�&�O�P�լ�[        ��&����Џ����P�[        ��&���&��[        ��&�Ь�"�[     ��&��[��[       ��&�ԫ�[ ��&��[    ��&�{�[    ��&�n�[    ��&�aЬU�U��U��U��U��[        � �&�@���PѬ��9ݏ��~ݬ�����ݏ�&�~ݬ������^ݬ�����.��8���W��8��&�hL�P��8����A�����:Lnull pointer dereferenced @%s:%d
        !          4566: stdio/setvbuf.c�^�����P[�[�Pݏ��&�&ݬ�[������ެ��ݭ�ݬ�[��b�P���[�&�ŧ�P��Э�P�^ݬ�&�
��P��ެ��ݭ�ݬݭ���8*�P��ݭ��&Э�PЬ[�[�*[      Џ�U&Z�K��Z�ZPUnknown errorInadequate privilegeOut of security labelsNo such system callSecurity label violationIt's all Greg's faultConcurrency violationLink loopResult too largeArgument too largeBroken pipeToo many linksRead-only file systemIllegal seekNo space left on deviceFile too largeText file busyIllegal ioctlToo many open filesFile table overflowInvalid argumentIs a directoryNot a directoryNo such deviceCross-device linkFile existsIn useDirectory not emptyBad addressPermission deniedNot enough memoryNo more processesNo childrenBad file numberExec format errorArg list too longNo such device or addressI/O errorInterrupted system callNo such processNo such file or directoryNot ownerError 0ЏJ[�[U�UZ�&U[�U   ��&�n�0j�[ ��&�^�k9��[       �
�&�L�k�P�[     ��&�8�k�~����������P�լ����ݬ���HЬPЏJP�^ݬ������0��8��������8��&��G�P��8���������Gnull pointer dereferenced @%s:%d
        !          4567: stdio/tmpnam.c��^��m/&�ЬU�UX�U
ݏ��&�-%�h%��ЬU�UX�U
ݏ��&�
        !          4568: %ЬU�UW�U
ݏ��&��$Ѩ�,ЬU�UV�&U��U
ݏ��&��$ݬ�f~��'���bЬU�U���U
ݏ��&�$Э�UХU�U��Э�T�&U��U
ݏ��&�$ЬU�U���&U��U
ݏ��&�b$�������y.&�֬�[/ЬU�UX�&U��U
ݏ��&�-$�hUʏ���U�E�*�[ЬU�UX�U
ݏ��&�$�hUʏ���U�E���ЬU�UX�U
ݏ��&��#�h*.��U�UX�U�
ݏ��&�#Ш�Z֬�Zt�[�ZZl�Z+ЬU�UX�&U��U
ݏ��&�#�Z
        !          4569: U�hT�TU�0UZЬU�UX�U
ݏ��&�^#�hU�0UЬU�UW�U
ݏ��&�>#�g9�ЬU�UX�U
ݏ��&�!#�h.�֬ЬU�UX�U
ݏ��&��"�h*(��U�UX�U�
ݏ��&��"Ш�Y֬��Y+ЬU�UX�&U��U
ݏ��&�"�Y
        !          4570: U�hT�TU�0UYЬU�UX�U
ݏ��&�"�hU�0UЬU�UW�U
ݏ��&�g"�g9�8Џ����Y/ЬU�UX�&U��U
ݏ��&�:"�hUʏ���U�E�7�[ЬU�UX�U
ݏ��&�"�hUʏ���U�E�
��ЬU�UX�U
ݏ��&��!�hU�E���DЬU�UX�&U��U
ݏ��&�!�hU�E���U�Y�Z�[߬ݬ�e�P�+&��ЬU�UX�U
ݏ��&�}!�h��ЬU�UX�U
ݏ��&�[!ЬU�UW�U
ݏ��&�C!Ѩ�,ЬU�UV�&U��U
ݏ��&�!ݬ�f~��x���bЬU�U���U
ݏ��&�� Э�UХU�U��Э�T�&U��U
ݏ��&�� ЬU�U���&U��U
ݏ��&� ��������*&ЬU�UX�U
ݏ��&� �h�A�����*&P��^ˏ�����U�U��&[ЬU�UZ�U
ݏ��&�I ЬU�UY�U
ݏ��&�1 Ѫ�ݬ� �����8ЬU�UX�U
ݏ��&� ШU�UW�&U��U
ݏ��&��� g�[�[��u���ЬU�UZ�U
ݏ��&�ЬU�UY�U
ݏ��&�Ѫ�AЬU�UX�U
ݏ��&��hU�UW�Uh
ݏ��&�nݬ���~������wЬU�UV�U
ݏ��&�FЦU�U���&U��U
ݏ��&�(ЬU�U���U
ݏ��&�Э�U�eU�U���U��
ݏ��&��Э�U�����ˏ�����U�U��&[ЬU�UZ�U
ݏ��&�ЬU�UY�U
ݏ��&�Ѫ�ݬ� ������8ЬU�UX�U
ݏ��&�rШU�UW�&U��U
ݏ��&�U� g�[�[��u���Ѭ&�&ZЬZ�ZP��^�YЬU�UX�U
ݏ��&��hU�UW�Uh
ݏ��&��Ч�Zˏ�����U�U��լ+�[�[�[��Z
ݏ��&��Z[U�e���[�[�Z
ݏ��&��Z[U�e��ЬU�UX�U
ݏ��&�tЬU�UW�U
ݏ��&�\Ѩ�ݬ� �����:ЬU�UV�U
ݏ��&�/ЦU�U���&U��U
ݏ��&�� ���Y�[�[��q���լ���[��ЬU�UX�U
ݏ��&��ЬU�UW�U
ݏ��&�Ѩ�*�ZU�UV�&UZ�U
ݏ��&�ݬ�f~������`ЬU�U���U
ݏ��&�pЭ�UХU�U��Э�T�&U��U
ݏ��&�J�ZU�U���&UZ�U
ݏ��&�.������Y�[�[��Z
ݏ��&��j�������[��ЬU�UX�U
ݏ��&��ЬU�UW�U
ݏ��&��Ѩ�*�ZU�UV�&UZ�U
ݏ��&�ݬ�f~������`ЬU�U���U
ݏ��&�|Э�UХU�U��Э�T�&U��U
ݏ��&�V�ZU�U���&UZ�U
ݏ��&�:������Y�[�Z
ݏ��&� �j� ���ˏ�����U�U��ЬU�UX�U
ݏ��&��ЬU�UW�U
ݏ��&��Ѩ�ݬ� �� ���:ЬU�UV�U
ݏ��&�ЦU�U���&U��U
ݏ��&�� ���Y�[�[��q����YPˏ�����U�UVЬU�U[�U
ݏ��&�C�kU�UZ�Uk
ݏ��&�*Ъ�U�UY�U
ݏ��&���.$&i�ˏ�����U�URЬU�U[�U
ݏ��&���kU�UZ�Uk
ݏ��&��Ъ�U�UY�U
ݏ��&����#&iPЬU�U[�U
ݏ��&��kU�UZ�Uk
ݏ��&�uЪ�U�UY�U
ݏ��&�]��y#&i�P��^լ�&ˏ�����U�UDЬU�UV�U
ݏ&�&��fU�U�t��Uf
ݏ&�&����t�UХ��x���ˏ�����U�UDЬU�UV�U
ݏ&�&���fU�U�p��Uf
ݏ&�&���p�U2���x��ˏ�����U�U@ЬU�UV�U
ݏ&�&�w�fU�U�l��Uf
ݏ&�&�\��l�UХ��x�>ЬU�UV�U
ݏ       &�&�7�fU�U�h��Uf
ݏ      &�&���h�UХ��x���x�Џ�&�|���x�Z�r&ˏ�����U�UЏ�&�|�!ˏ�����U�UЏ�&�|�  Џ�&�|���x�Z�.&Џ�&�|�ˏ�����U�UBЬU�UV�U
ݏ&�&��fU�U�t��Uf
ݏ&�&�j��t�UХ�Z��ˏ�����U�UBЬU�UV�U
ݏ&�&�6�fU�U�p��Uf
ݏ&�&���p�U<��Z�ˏ�����U�U>ЬU�UV�U
ݏ&�&���fU�U�l��Uf
ݏ&�&����l�UХ�Z<ЬU�UV�U
ݏ&�&��fU�U�h��Uf
ݏ&�&���h�UХ�Z�ZЏ�&�$ޭ�[�[U�UV�&U[�U
ݏ&�&�ZЬ U�U�t��U
ݏ&�&�@ЬU�U�Z��N��t�PU�efЬU�U�Z��[N�PZ�Z�լ&ޭ�U�U[U�U&�[
ݏ"&�&�����0�[ޭ�U�U[U�U�Y�Y�Yˏ�����U�U+Ѭ-�[
ݏ'&�&����0�YЏ�&�$Џ�&�$ݬ$�&�7�PV��|��&�7ޭ�U�U[U�YU�VU�PUW�W�X�X�X�XWˏ�����U�U�;ˏ�����U�U�h&լ�]&ݬ��|������ݬݬ$������ЬU�UV�U
ݏ3&�&��ЬU�U�t��U
ݏ3&�&����t�UѦ�ݬ�0��&���HЬU�U�p��U
ݏ3&�&���p�UХU�U�l���p�T�&U��U
ݏ3&�&�{�0�l��X�X�`����W&ЬU�UV�U
ݏ9&�&�LЬU�U�t��U
ݏ9&�&�2��t�UѦ�ݬ� �����HЬU�U�p��U
ݏ9&�&����p�UХU�U�l���p�T�&U��U
ݏ9&�&��� �l��X�X�`���ݬ��|������ݬݬ$������ЬU�UV�U
ݏ@&�&�ЬU�U�t��U
ݏ@&�&�q��t�UѦ�ݬ�0�����HЬU�U�p��U
ݏ@&�&�=��p�UХU�U�l���p�T�&U��U
ݏ@&�&��0�l��Y�Y�`�����ЬU�UV�U
ݏC&�&��ЬU�U�t��U
ݏC&�&����t�UѦ�3������[U�U�p��U[
ݏC&�&�ݬ��p�U�e~������iЬU�U�l��U
ݏC&�&�r��l�UХU�U�h���l�T�&U��U
ݏC&�&�I������[U�U�d��U[
ݏC&�&�*��d��h�ޭ�U�[U�����Vݬ��|�������ݬݬ$�������ЬU�UV�U
ݏI&�&��ЬU�U�t��U
ݏI&�&���t�UѦ�ݬ�0��        ���HЬU�U�p��U
ݏI&�&���p�UХU�U�l���p�T�&U��U
ݏI&�&�^�0�l��Y�Y�`�����ЬU�UV�U
ݏL&�&�/ЬU�U�t��U
ݏL&�&���t�UѦ�3������[U�U�p��U[
ݏL&�&��ݬ��p�U�e~��>���iЬU�U�l��U
ݏL&�&���l�UХU�U�h���l�T�&U��U
ݏL&�&�������[U�U�d��U[
ݏL&�&�t��d��h�ޭ�U�[U�����ЬU�UV�U
ݏN&�&�@ЬU�U�`��U
ݏN&�&�&��`�UѦ�ݬ� ��t���HЬU�U�\��U
ݏN&�&����\�UХU�U�X���\�T�&U��U
ݏN&�&��� �X��X�X�`����WP��O��L�~�ݬݬݬݬݬ�    �:�����9���&�
        !          4571: ݬݬݬݬݬ�       �����������~�ݬݬݬݬݬ�       ������������~�ݬݬɏ&�U�U~ݬݬ�     ���������~�
        !          4572: ݬݬݬݬݬ�       ������I��F�~�ݬݬݬݬݬ�       �^���ݏEݬݬݬݬݬ��ݏGݬݬݬݬݬ��bݏeݬݬݬݬݬ��Bݏfݬݬݬݬݬ��"ݏgݬݬݬݬݬ����^���Џe�ܐ�VЬU�U���U
ݏ�&�&��
�U�eU�U���U��
ݏ�&�&�
Э�Up����լ���V��Э�U�U�eg�U�f4�U�g}�U�g�Э�U�U�E-�U�GP�߭�߭�߭�ݬ�p��~��s�PYЏE�ܐ�eV߭�߭�߭��&�~�p��~��s�PYSЏE��լ�&�߭�߭�߭�ݬ�p��~��Zs�PY�&��Uя����U�U���fV­����eV׬�Y��X��U�U�g �U�G=ˏ�����U�U0�V�f����U�UXí�X�լԬ�&XUѬU�&X�ЬZ
ˏ�����U�U�Z�V�fխ����Z�Zխ�
ˏ�����U�U�Z�V�f�ޭ�Wխ�í�&���&����Э�[2�WU�U���&UW�U
ݏ�&�&���
        !          4573: [~�
        !          4574: nÎ[UЭ�T�0Ud�
        !          4575: [�[� �WU�U���&UW�U
ݏ�&�&��0��ޭ�U�WU�ޭ�U�UWU�U�UZˏ�����U�U��ЬU�U���U
ݏ�&�&�aЬU�U���U
ݏ�&�&�HЭ�UЭ�Tѥ�ݬ� �����CЬU�U���U
ݏ�&�&�Э�UХU�U��Э�T�&U��U
ݏ�&�&��
        !          4576: � ���Z�Z��`���խ��ЬU�U���U
ݏ�&�&�
        !          4577: ЬU�U���U
ݏ�&�&�
        !          4578: Э�UЭ�Tѥ�ݬ�-������CЬU�U���U
ݏ�&�&�g
        !          4579: Э�UХU�U��Э�T�&U��U
ݏ�&�&�A
        !          4580: �-���P&ˏ�����U�U�ЬU�U���U
ݏ�&�&�
        !          4581: ЬU�U���U
ݏ�&�&��       Э�UЭ�Tѥ�ݬ�+��=���CЬU�U���U
ݏ�&�&�   Э�UХU�U��Э�T�&U��U
ݏ�&�&�   �+���ˏ�����U�U�ЬU�U���U
ݏ�&�&�`   ЬU�U���U
ݏ�&�&�G        Э�UЭ�Tѥ�ݬ� �����CЬU�U���U
ݏ�&�&�   Э�UХU�U��Э�T�&U��U
ݏ�&�&��� ���V�f�m�[��ЬU�U���U
ݏ�&�&�ЬU�U���U
ݏ�&�&�Э�UЭ�Tѥ�3�[X�Y
ݏ�&�&�|�Y[U�e���0��ݬݭ�������hЬU�U���U
ݏ�&�&�FЭ�UХU�U��Э�T�&U��U
ݏ�&�&� �[X�Y
ݏ�&�&�
        !          4582: �Y[U�e���0��������[�[�������[�ЬU�U�|��U
ݏ�&�&��ЬU�U�x��U
ݏ�&�&���|�U��x�Tѥ�ݬ�0������HЬU�U�t��U
ݏ�&�&�r��t�UХU�U�p���t�T�&U��U
ݏ�&�&�I�0�p�լˏ�����U�U�ЬU�U�l��U
ݏ�&�&�ЬU�U�h��U
ݏ�&�&����l�U��h�Tѥ�ݬ�.��A���HЬU�U�d��U
ݏ�&�&���d�UХU�U�`���d�T�&U��U
ݏ�&�&��.�`��[�       &ЬU�U�T��U
ݏ�&�&�oЬU�U�P��U
ݏ�&�&�U��T�U��P�Tѥ�D���[U�U%�UX �Y
ݏ�&�&�$���[U�YU�e�\��0�\�ݬ��\���h���~ЬU�U�L��U
ݏ�&�&����L�UХU�U�H���L�T�&U��U
ݏ�&�&����[U�U%�UX �Y
ݏ�&�&����[U�YU�e�X��0�X���X��H��[�[�������sЬU�U���U
ݏ�&�&�UЬU�U���U
ݏ�&�&�<Э�UЭ�Tѥ� �Y
ݏ�&�&�ݬ�i~��u���TЬU�U���U
ݏ�&�&��Э�UХU�U��Э�T�&U��U
ݏ�&�&���Y
ݏ�&�&��i��լˏ�����U�U�ЬU�U���U
ݏ�&�&�ЬU�U���U
ݏ�&�&�oЭ�UЭ�Tѥ�ݬ�.�ﺽ��HЬU�U�|��U
ݏ�&�&�8��|�UХU�U�x���|�T�&U��U
ݏ�&�&��.�x��[��ЬU�U�l��U
ݏ�&�&��ЬU�U�h��U
ݏ�&�&����l�U��h�Tѥ�=�&XU�[U�Y
ݏ�&�&��&[U�YU�e�t��0�t�ݬ��t������wЬU�U�d��U
ݏ�&�&�f��d�UХU�U�`���d�T�&U��U
ݏ�&�&�=�&XU�[U�Y
ݏ�&�&�#�&[U�YU�e�p��0�p���p��`��[�[�������V�f��ЬU�U���U
ݏ�&�&��ЬU�U���U
ݏ�&�&�Э�UЭ�Tѥ�ݬݭ������DЬU�U���U
ݏ�&�&�Э�UХU�U��Э�T�&U��U
ݏ�&�&�`��ܽ�ЬU�U�|��U
ݏ�&�&�AЬU�U�x��U
ݏ�&�&�'��|�U��x�Tѥ�ݬխ��-���+��ݭ���`���XЬU�U�t��U
ݏ�&�&��&��t�UХU�U�p���t�T�&U��U
ݏ�&�&�&խ��-���+������p���ЬU�U�l��U
ݏ�&�&�&ЬU�U�h��U
ݏ�&�&�f&��l�U��h�Tѥ�3������WU�U�d��UW
ݏ�&�&�6&ݬ��d�U�e~���iЬU�U�`��U
ݏ�&�&�&��`�UХU�U�\���`�T�&U��U
ݏ�&�&��������WU�U�X��UW
ݏ�&�&����X��\�ޭ�U�WU�����ЬU�U���U
ݏ�&�&�ЬU�U���U
ݏ�&�&�rЭ�UЭ�Tѥ�ݬ� �ケ��CЬU�U���U
ݏ�&�&�<Э�UХU�U��Э�T�&U��U
ݏ�&�&�� ���Z�Z��`����ZP�^ݬ������.��8���������8��&��!�P��8����Ѷ�����!null pointer dereferenced @%s:%d
        !          4583: stdio/vfprintf.c0x0123456789abcdef00123456701234567890X0123456789ABCDEF +-�� ^��]        &��[   &Ь�W &����K     &U�UW�U
ݏD�&�B �gX�X%�j��       &U�UW�U
ݏF�&� ՏMZ
ݏF�&� �gU��MZU�eUʏ����U�U�&���&ЬU�UV�U
ݏH�&��ЬU�U���U
ݏH�&�Э�UѦ�ݬ�&�w�PWNЬU�U���U
ݏH�&�zЭ�UХU�U��Э�T�&U��U
ݏH�&�TЭ�U�eUˏ���UW�W[ՏMZ
ݏI�&�-��MZ[U�eUʏ����U�U�-����[��������&   ���&WЏ����W�WP���&ݬ�[��_��&ЬU�UV�U
ݏO�&�ЬU�U���U
ݏO�&�Э�UѦ�ݬ�&�v�PWNЬU�U���U
ݏO�&�jЭ�UХU�U��Э�T�&U��U
ݏO�&�DЭ�U�eUˏ���UW�W[�[�������&  ��&WЏ����W�WP���&U�UW�U
ݏQ�&���gU�[U�o���&ݬ�[����&P��&��&U�UW�U
ݏX�&��g*�&Y�Y��&��&U�UW�U
ݏ]�&�|�gU�0U���\&U�UV�U
ݏ]�&�S�f9z�Z1��8&U�UW�&U�,&�U
ݏ_�&�'�Z
        !          4584: U�gT�TU�0UZ��&U�UW�U
ݏ_�&���gU�0U ���&U�UV�U
ݏ_�&���f9�Џ����Z��&U�UV�U
ݏc�&��f�hL��&U�U���U
ݏc�&�Э�U�e�l&��t&U�U���U
ݏc�&�jЭ�U�e�L-��N&U�U���&U�A&�U
ݏc�&�<Э�U�eWЏnW�W����&U�U���U
ݏd�&�Э�U�eU�E����"������&U�UW�U
ݏe�&���gU�E��Uݭ��Z�Y߬ݬ�e�P��&        ��&WЏ����W�WP��&U�UW�U
ݏg�&��g
        !          4585: �Y��e&��c&��]&U�UW�U
ݏD�&�T�g�������4&Pլ�L&��&ЬU�U�hA�U�hѬ�L���&ЬU�U�l��U�n\��ЬU�U[�U
ݏr�&���kU�UZ�Uk
ݏr�&�Ъ�U�UY�U
ݏr�&���~&i�ЬU�U[�U
ݏs�&�s�kU�UZ�Uk
ݏs�&�ZЪ�U�UY�U
ݏs�&�B��(&iPЬU�U[�U
ݏu�&�!�kU�UZ�Uk
ݏu�&�Ъ�U�UY�U
ݏu�&�����&i�&P��(^�Y�&���X��&ЬU�UV�U
ݏ��&�ЬU�U���U
ݏ��&�Э�UѦ�ݬ�&�q�PWNЬU�U���U
ݏ��&�mЭ�UХU�U��Э�T�&U��U
ݏ��&�GЭ�U�eUˏ���UW�W[ՏMZ
ݏ��&� ��MZ[U�eUʏ����U�U�-���ЬU�&U��U���&&ݬ�[��z�]�[+�ЬU�&U��U�?��&&ЬU�UV�U
ݏ��&�ЬU�U���U
ݏ��&�Э�UѦ�ݬ�&�p�PWNЬU�U���U
ݏ��&�WЭ�UХU�U��Э�T�&U��U
ݏ��&�1Э�U�eUˏ���UW�W[���[-�Џ������ЬU�&U��U�q���&ЬU�UV�U
ݏ��&��ЬU�U���U
ݏ��&�Э�UѦ�ݬ�&��o�PWNЬU�U���U
ݏ��&�Э�UХU�U��Э�T�&U��U
ݏ��&�cЭ�U�eUˏ���UW�W[ЬU�U��&�U�cլ�X�[0�&ЬU�&U��U�����ЬU�UV�U
ݏ��&��ЬU�U���U
ݏ��&��Э�UѦ�ݬ�&��n�PWNЬU�U���U
ݏ��&�Э�UХU�U��Э�T�&U��U
ݏ��&�~Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�&U��U���'�ЬU�UV�U
ݏ��&�#ЬU�U���U
ݏ��&�
        !          4586: Э�UѦ�ݬ�&�n�PWNЬU�U���U
ݏ��&��Э�UХU�U��Э�T�&U��U
ݏ��&�Э�U�eUˏ���UW�W[�����&X����
        !          4587: ���[0�ЬU�&U��U����F�ЬU�UV�U
ݏ��&�BЬU�U���U
ݏ��&�)Э�UѦ�ݬ�&�0m�PWNЬU�U���U
ݏ��&��Э�UХU�U��Э�T�&U��U
ݏ��&��Э�U�eUˏ���UW�W[�[�x�[�X�ЬU�&U��U���y�ЬU�UV�U
ݏ��&�uЬU�U���U
ݏ��&�\Э�UѦ�ݬ�&�cl�PWNЬU�U���U
ݏ��&�)Э�UХU�U��Э�T�&U��U
ݏ��&�Э�U�eUˏ���UW�W[�&�&X�&�0[�[9�0[W/яa[�[�fÏa[U�
        !          4588: UVÏA[U�
        !          4589: UV�VW�WZ�Z��&�XŬYU�ZUYЬU�&U��U����\�ЬU�UV�U
ݏ��&�XЬU�U���U
ݏ��&�?Э�UѦ�ݬ�&�Fk�PWNЬU�U���U
ݏ��&�Э�UХU�U��Э�T�&U��U
ݏ��&��Э�U�eUˏ���UW�W[�0[�[9�����яa[�[�f�����яA[�[�F������z�ݬ�[��:t�X�Pլ�&ЬU�U&�U�j&�U��&ЬU�U�hA�U�hѬ�L����ЬU�U�l���U�n_�ЬU�UW�U
ݏ��&���gU�UV�Ug
ݏ��&��Ц�U�U���U
ݏ��&�Э�U���Ye�ZЬU�UW�U
ݏ��&��gU�UV�Ug
ݏ��&�sЦ�U�U���U
ݏ��&�ZЭ�Uŭ�Ye�&ЬU�UW�U
ݏ��&�3�gU�UV�Ug
ݏ��&�Ц�U�U���U
ݏ��&�&Э�Uŭ�Ye�&ЬU�U�hA�U�hѬ�L���|&ЬU�U�l���U�n_�Z&ЬU�UW�U
ݏ��&��gU�UV�Ug
ݏ��&�sЦ�U�U���U
ݏ��&�ZЭ�U���Ye�&&ЬU�UW�U
ݏ��&�3�gU�UV�Ug
ݏ��&�Ц�U�U���U
ݏ��&�&Э�Uŭ�Ye�ЬU�UW�U
ݏ��&���gU�UV�Ug
ݏ��&��Ц�U�U���U
ݏ��&�Э�Uŭ�YeSЬU�UW�U
ݏ��&��gU�UV�Ug
ݏ��&�lЦ�U�U���U
ݏ��&�SЭ�Uŭ�Ye�&P�
        !          4590: �&ݬݬݬݬݬ��F�����ݬݬݬݬݬ��(�����ݬݬݬݬݬ��
        !          4591: ����~�&ݬݬݬݬݬ�������
        !          4592: �ݬݬݬݬݬ��������ݬݬݬݬݬ������0^���Z�W�Y�&XЬU�U   я�&UЏ�&���J�ЬU�U����U
ݏ��&�DЬU�U����U
ݏ��&�*����U����Tѥ�ݬ�&�+f�PVSЬU�U����U
ݏ��&��
����UХU�U�������T�&U��U
ݏ��&��
����U�eUˏ���UV�V[ՏMZ
ݏ��&�
��MZ[U�eUʏ����U�U����ЬU�&U��U��\�ݬ�[��o���[+�[-��&�ZU�UV�&UZ�U
ݏ��&�3
�[fЬU�&U��U����ЬU�U����U
ݏ��&��ЬU�U����U
ݏ��&������U����Tѥ�ݬ�&��d�PVSЬU�U����U
ݏ��&�����UХU�U�������T�&U��U
ݏ��&�����U�eUˏ���UV�V[���[.�Y�W�ZU�UV�&UZ�U
ݏ��&�A�[fЬU�&U��U�����ЬU�U����U
ݏ��&�ЬU�U����U
ݏ��&������U����Tѥ�ݬ�&��c�PVSЬU�U����U
ݏ��&�����UХU�U�������T�&U��U
ݏ��&�����U�eUˏ���UV�V[�0[�[9�����Y�[.������[�e�[�E���ZU�UV�&UZ�U
ݏ&�&�)�[f�XЬU�&U��U�����ЬU�U����U
ݏ&�&��
        !          4593: ЬU�U����U
ݏ&�&��
        !          4594: ����U����Tѥ�ݬ�&��b�PVSЬU�U����U
ݏ&�&�
        !          4595: ����UХU�U�������T�&U��U
ݏ&�&�t
        !          4596: ����U�eUˏ���UV�V[�[+�[-��&�ZU�UV�&UZ�U
ݏ&�&�6
        !          4597: �[fЬU�&U��U�&���ЬU�U����U
ݏ&�&�
        !          4598: ЬU�U����U
ݏ&�&��      ����U����Tѥ�ݬ�&��a�PVSЬU�U����U
ݏ&�&�       ����UХU�U�������T�&U��U
ݏ&�&�        ����U�eUˏ���UV�V[���ZU�UV�&UZ�U
ݏ&�&�O     �[f�XЬU�&U��U�����ЬU�U����U
ݏ
        !          4599: &�&�        ЬU�U����U
ݏ
        !          4600: &�&������U����Tѥ�ݬ�&��`�PVSЬU�U����U
ݏ
        !          4601: &�&������UХU�U�������T�&U��U
ݏ
        !          4602: &�&�����U�eUˏ���UV�V[�0[�[9�
�����]�ݬ�[��j�W�X�P�Z
ݏ&�&�I�jլ�&ЬU�U�h;�U�hѬ�L���ЬU�U�lv�U�n��ЬU�UV�U
ݏ&�&���fU�U����Uf
ݏ&�&������UХ�U�U����U
ݏ&�&�����&������UvPebЬU�UV�U
ݏ&�&�u�fU�U����Uf
ݏ&�&�Z����UХ�U�U����U
ݏ&�&�;����&�pP����&P��^լ5ЬU�UX�U
ݏ&�&��hU�UW�Uh
ݏ&�&��Ч�[����ЬU�UW�U
ݏ&�&��ЬU�UV�U
ݏ&�&�ѧ�ݬ�&�^�PXNЬU�U���U
ݏ&�&�Э�UХU�U��Э�T�&U��U
ݏ&�&�\Э�U�eUˏ���UX�XZՏMZ
ݏ &�&�5��MZZU�eUʏ����U�U�2���ЬU�&U��U����ݬ�Z��g�6&�Y���Z�����
�Y�&�P�Yլ�[U�UX�&U[�U
ݏ,&�&��ZhЬU�&U��U�����ЬU�UW�U
ݏ-&�&�ЬU�UV�U
ݏ-&�&�hѧ�ݬ�&�s]�PXNЬU�U���U
ݏ-&�&�9Э�UХU�U��Э�T�&U��U
ݏ-&�&�Э�U�eUˏ���UX�XZՏMZ
ݏ&&�&����MZZU�eUʏ����U�U��������ݬ�Z��vfլ�[
ݏ1&�&��k�&P��^լ5ЬU�UY�U
ݏ8&�&��iU�UX�Ui
ݏ8&�&�gШ�[լ�&�ЬU�&U��U����-�ЬU�UX�U
ݏ;&�&�)ЬU�UW�U
ݏ;&�&�Ѩ�ݬ�&�\�PYEЬU�UV�U
ݏ;&�&��ЦU�U���&U��U
ݏ;&�&��Э�U�eUˏ���UY�YZ�Z������Pլ�B����[U�UY�&U[�U
ݏ=&�&��Zi�����&P��^�&[ЬU�UZ�U
ݏD&�&�T�j�^�&�[�&Z�Z�Z[֬����U�U����ЬU�UZ�U
ݏI&�&���&-�ЬU�UZ�U
ݏJ&�&���jUЬT�TX�UT!ЬU�UY�U
ݏK&�&���U�XUJЬU�UW�U
ݏK&�&���UЬT�T���UT%ЬU�UV�U
ݏK&�&�p�fUѭ�U�[P��%ЬU�UZ�U
ݏO&�&�E�jUѬU�[P֬Ѭ�!�������[�&Z�Z�ZP��^�&���U�U����UZ����U�UW�U
ݏZ&�&��&�g�^��������U�UW�U
ݏ[&�&�&�g���������U�UW�U
ݏ\&�&�&�g!��z�U�UV�U
ݏ\&�&�q&�f�]�լ5ЬU�UW�U
ݏ]&�&�N&�gU�UV�Ug
ݏ]&�&�5&Ц�[�XЬU�&U��U�&���ЬU�UV�U
ݏ`&�&��ЬU�U���U
ݏ`&�&��Э�UѦ�ݬ�&��X�PWNЬU�U���U
ݏ`&�&�Э�UХU�U��Э�T�&U��U
ݏ`&�&�Э�U�eUˏ���UW�WY�Y������XQ�P�Z�Y�������P+լ�[U�UW�&U[�U
ݏf&�&�9�Yg�X��������ݬ�Y���aլ�[
ݏk&�&��k�&P�^ݬ��ƹ��0��8��ﭴ����8��&��P��8�������null pointer dereferenced @%s:%d
        !          4603: stdio/vfscanf.c�![�K�D��K�;�Z�K�3��j�[�[�ݬ�&��U�E��ЬE���P�U�U"��&P��wV��P��|VЬR�RQ:���a��RQP�&Џ��X}�V�VQ:Xa��QS:Xg
(Xgc�QW������WQ�Q(Qgc�VP}�R:���b:S���b�QR������RQT�T:STb�QP}�S�ST�P:���d)���dc�QT������TQ�Q)Qdc       �cP�aQ�QP�}�V�VS:���g(���gc�QW������WQ�Q(Qgc�VPЬT�PЬQЬS�QS�Ï��TUЏ��T�QR:Ta�U�RQT�T�RQ)Tac�caP�PP�UT��ЬUC}�S�TV�URЏ��Y�YUX�YU:Uf�VQU�X�YRW�YR,UfRc�WR �XU��U�ЬP�^Ь[��Z�Y�kZ�[Y����YP@ЬV#}�S�TQя��V(���ac��V�(VacЬPЬT4}�Q�QR+�RSя��T)���ac��T�)Tac�caP�PP�P���~����PZ�Z2<�Z7�
ZP�
P�PZP�PP�PP�@��Y�i[�&kP�[P�P�ZP
        !          4604: �[�ki�[P�Z�&��^Ь[��e�Z�X�j3�Z�X��ij�jY�i��[[P�PP�ZP�YP�[[P�PP�ZP�PZ1��ZY�&jZ�ZY��X�X&       ���Z���&���PZݏ��[~��x
        !          4605: PX�XXP�PP�ZP�PZxX~�&��PY�Y�����$�[XP�P�PX�[XP�P&���&�P19��P���xX~�Y��-&1��[[P�PP�P�|��Y�u���m��x��j�a��&�Z�j�Z�N�   �Y�C���=��&�5�Y�Y�-���ZPЬ[X�[�&kP�[P�PY�Y2:�Y5�
YP�
P�PYP�PP�PP�@��X�hZ�&jP�ZP�P�YP�Z��[h�[~�&��^Ь[�[�[ﱴ�[領�[�&k�^����[ԭ��Z�Z�&����֭��jk�kZ��[�[�T��Э�P�^ЬZ�ݬ��k�PP�PP�ZP�P��Э�j�Z�6�W��.�[���YЭ����[P�ZP�ZP�&ZP�Pk���P�YP�YP�&YP�P���&���ܳ��ֳ���^Ь[ݬ�&�������       �[�&������[��P�P�����~���PW�&W~�&�����PX�X[�XP�W���W���[Z�XYЊ�Э�P׭��P��X[��WWP�PP�XP�P[��WWP�PP�XP�[P�P��G�@h�������$��~�&�\S�^\��'��       �P������Ь���P�Pﱵ�&P�^ݬ�&������&P~�&������P���P�Pݬݭ���e�����^Ь[ЬYԭ��Wԭ�ԭ��Y     ��&��iP�P
$�      PQ)�A�P`��&��&��&��&��&�P �Y��Y        �%�&��&�i-�Y       �%�&�&�i+#�YU�U���Y�U      �&�&�&Э�U�e-�&���[N�Y   �-�&�v&�i0   �
        !          4606: [��[�Y  �1�&�X&��&�x�Y     �1�&�D&��&�X�Y�[S�[?�Y        �6�&�#&�i0-�Y       �7�&�&��&�x�Y     �7�&����&�X�Y�[�$[��Y
ݏ@�&���iZ�[X�0Z�Z9�0ZX>яaZ�Z�zÏaZU�
        !          4607: UXяAZ�Z�ZÏAZU�
        !          4608: UX�X[�[WU�XUV�VW�&���VW�Y֭��u���խ�ЬYլЬU�U��
ݏT�&�2�Y��խ��"�l�խ�Џ�PЏ���Pխ��WP�WP�^ݬ��p���.��8���7�����8��&�H����P��8����!��������null pointer dereferenced @%s:%d
        !          4609: gen/strtol.c��^Ь[ЬYԭ��Wԭ�ԭ��Y     ��&��&�iP�P
$�      PQ)�A�P`��&��&��&��&��&�P �Y��Y        �%�&�&�i-�Y       �%�&�&�i+#�YU�U���Y�U      �&�&�&Э�U�e-�&���[N�Y   �-�&�j&�i0   �
        !          4610: [��[�Y  �1�&�L&��&�x�Y     �1�&�8&��&�X�Y�[S�[?�Y        �6�&�&�i0-�Y       �7�&�&��&�x�Y     �7�&����&�X�Y�[�$[��Y
ݏ@�&���iZ�[X�0Z�Z9�0ZX>яaZ�Z�zÏaZU�
        !          4611: UXяAZ�Z�ZÏAZU�
        !          4612: UX�X[�[WU�XUV�VW�&���VW�Y֭��u���խ�ЬYլЬU�U��
ݏT�&�&�Y��խ��"�̰Џ����Pխ��WP�WP�^ݬ�����.��8������8��&�����P��8����������null pointer dereferenced @%s:%d
        !          4613: gen/strtoul.c�
        !          4614: �~ݬ������
        !          4615: �~ݬ�������&��&��&ԭ&�&��&�& �&2�&D�&T�&`�&r�&��&��&��&��&��&ɮ&ۮ&�&��&       �&�&.�&B�&P�&_�&n�&��&��&��&��&į&ү&�&��&�&�&2�&F�&]�&Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough memoryPermission deniedBad addressDirectory not emptyIn useFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesIllegal ioctlText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeMath argumentResult too largeLink loopConcurrency violationIt's all Greg's faultSecurity label violationNo such system callOut of security labelsInadequate privilegeݬ�&��P�&����^߭��&�S���2��P�<P�P���߭��&�r&�PZ����ZPЪ[Џ�Y�YXЏVԭ�Э�������Wx�WWP�PP�PP�উP�P�_�WWP�PP�PP�৉PѪPH�WWP�PP�PP2ઉY�WWP�PP�PP2ଉX�WWP�PP�PP�ਉ���WWP�PP�PP�੉���W�W�=�1|��YX�Y���XYЭ�X�V���VV�Y�Z��P���PY�X�Z��@���PX�[Y�[Y1�Ѫ��[X�[X�Ѫ&��V��߭��&�R�PZ֪ 1��Ь[ЬZ�Z:ݫ�&�km&P�PZ�ZPëZQ��Q���Q�QR�R�RQR�RP�^Ǐ�Q&�Pď�Q&P�P���Ǐ�Q&���խ����Q&��׭����Y�<��P�<P�P����<��Z�<ZP�<P�PZ��<Z�Z���p��P�PQ�Q�QP�s�խ�DЏFZ�:�����&Zѭ���:��Z�&�&�P���Z�Z�&�&ѭ�P�:ЏFZ���:���&Zѭ��O�����&Z~�&�M&�P���Zխ���Z���Э�[�[����Z�&�'&�P�n&����Z
        !          4616: �J��[�Z�[J���������&[��Z������{�P���[����Z����ЬP��Q�A�&�Z����[����������[��Y�iP�@���Z����������y�[���P[�Y��di~�[���P[�Y��di~�[��y�P[�Y��di~�[��b�P[ЬPѠ�d�2�&�0��[ЬP��d�~�[��0�P[��+�P��PxPP�P�PЏn&PЏm&P�^Ь[�[Ѭ
        !          4617: �
        !          4618: �P�
        !          4619: PQ�
        !          4620: Q�QPQ�0Q�� ��
        !          4621: �P�
        !          4622: P�P�P�0P��[P^��G�P��@��P=�������{~���P��(�[����ݭ���e&�P����[��ݭ��&��{���[[P�PP�PP�@�y��������P��[�[
        !          4623: ���^Ь[ЬZ߭��[���P[�P����l�j����k���j��l��j߭��[���P[̱���l��&����k����&��l���&�Z~�[��N�P[�߭��[��=�P[������Z~�[��&�P[1l�߭��[���P[쐭���&P�^Ь[ЬZ�[�kP��MZ�kP��MZ1$��Y�
        !          4624: YP��Q�QP�0PY�kP��MZ�Yj1Z��^���
�����-ݏݬݬ��O}���P��1��Ь�x���P�s���i�[�[�[�a��k
        !          4625: ��[�S�
        !          4626: ��G������;�Z�[�3��ZP��)�ZЬ[����Z���ì[P�P�~�[ݬ���|���P��1<��[P����[�[����k
        !          4627: ��[����[���[���ЬPЬPЬR�R&�Q{RPPR�PR�P�&PЬPЬR�R&�Q{RPRP�P�PR�RP�&�~ݬ��6Ь[�[        ��&�i�kЬP�[   �
�&�S�kY�Y�P�[�&�@����PX�Yݬ������PZ$�X�[�Z������P�ZP�Yߪ&��_����PZ�Z��P�^ݬ���0��8���������8��&������P��8����}�������null pointer dereferenced @%s:%d
        !          4628: gen/strstr.c�^ЬU�E�\�[�[
ݏ��&��;ЬU�kE�<�OЬUxU&���&��U�E��F��Uߥ�&�^����P[�[
ݏ&�&�;Ь��[
ݏ&�&�;Э���[
ݏ&�&�;�[
ݏ&�&�};ԫԫ�[PլaЬU�U[�U
ݏ
&�&�S;ЬU�UZ�U
ݏ
&�&�;;ЪU�E�|�kЬU�U[�U
ݏ&�&�;ЫUЬE�V��� ^ЬU�U���U
ݏ&�&��:Э�UХWЬU�U���U
ݏ &�&��:���X�V�X
ݏ$&�&�:�hZˏ��ZUЬT�TU��U[�ZU�TU�[T�TUY�Y��XU�U���UX�U
ݏ(&�&�g:xYUˏ��[TЭ�S�TUc�&VU�UV�UW����լ�#&ЬU�U���U
ݏ1&�&�:Э�U�W��ЬU�U���U
ݏ2&�&��9Э�U�&�~�&������P��Э�U�U���U
ݏ3&�&��9ЬU�U���U
ݏ3&�&�9ЬU�U���U
ݏ3&�&�9Э�UХU�E�D��Uߥ���~���~�����ݬ�&�����Э����U�U��ЬT�T���T
ݏ7&�&�B9Э�UЭ�TЬE�ЬU�U���U
ݏ8&�&�9Э�U�W�ЬP���U�      UW�X�&Y
        !          4629: >I�D��Y�X�WY��X�&������P[�[
ݏH&�&��8Ь��[
ݏI&�&�8�&��        Z�      �H�   �ЬU�UV�&U��U
ݏS&�&�8�fU�0U~�
        !          4630: �[��r����P[�&ZU�UZ�U��֬:�
        !          4631: �4ЬU�UV�&U��U
ݏZ&�&�B8�fU�0U~�
        !          4632: �[��(����P[�Z�Z���[P�Tˏ���U�U      �Tx��ˏ����U�U   �Tx��ˏ����U�U   �Tx��ˏ���?�U�U�TЬU�E��B���ˏ����U�U�Tˏ�����U�U� P�TPЬU�UY�U
ݏ&�&�~7�iZˏ����ZU�U]ˏ����ZU�U�Pˏ����ZU�U!ЬU�UY�U
ݏ�&�&�<7�&Zi�&PЬU�UY�U
ݏ�&�&�7�Zi�P�[ˏ��ZU�U�[�ZZˏ���ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U�[�ZZˏ����ZU�U"�[�&ZZ�Z�&Y�Yˏ����YU�U� PЬU�UY�U
ݏ�&�&�z6�Zi�[P�&�&�G����P[�[
ݏ�&�&�S6Ь��[
ݏ�&�&�=6�&��[P�\^ЬU�U���U
ݏ�&�&�6ЬU�U���U
ݏ�&�&��5Э�UЭ�Tѥ�Ь��Ь�Э�ЬU�U���U
ݏ�&�&��5Э�UХ��ЬU�U���U
ݏ�&�&�5Э�UХ��ЬU�U���U
ݏ�&�&�~5Э�UХ����ܭ��ЬU�U���U
ݏ�&�&�U5Э�Uѭ��֭�ݭ��&�����P��Э�U�U���U
ݏ�&�&� 5���YЭ�U�E�4@��U�YU���Y
ݏ�&�&��4�i�Y�Y���ЬU�U���U
ݏ�&�&��4�����Э�U�E��?��U���U��ЬU�U���U
ݏ�&�&�4�����Э�U�E�?��U���U��Э�U�U���U
ݏ�&�&�q4������;Э�U�U���U
ݏ�&�&�L4Э�Uˏ��eV��Э�YЭ�[�Z�Y
ݏ�&�&�4�[
ݏ�&�&�4ˏ��iU�VUˏ��kT�TU�ZUW�WZ�YU�U���UY�U
ݏ�&�&��3�[
ݏ�&�&��3н�U�UU�VU�kT�TT�TU�ZUX�XZ�[
ݏ�&�&�3�X��[
ݏ�&�&�z3�Wk�[�Y���:����[
ݏ�&�&�W3�ZkЭ�U�U���U
ݏ�&�&�;3н�U�UV��Э�YЭ�[�Z�[
ݏ�&�&�3�kX�Y
ݏ�&�&��2�[
ݏ�&�&��2ˏ��iU�VU�kT�TT�TU�ZUW�WZ�[
ݏ�&�&�2�W��[
ݏ�&�&�2�Xk�[�YU�U���UY�U
ݏ�&�&�2�[
ݏ�&�&�r2н�U�UU�VUˏ��kT�TU�ZUX�XZ�Y���:����[
ݏ�&�&�52�Xk������ѭ�������Э�U�U���U
ݏ�&�&�2�����Э�U�E�=��U���U[׭�խ�&������[U�U���U[
ݏ�&�&��1Э�U�e�Э�U�U���U
ݏ�&�1Э�UЭ��Э�P�^ˏ��������~Э�U�Eݬ��f����P�x����ЬP����[*ݏq�&������P����P[�[
ݏ�&�+1�kˏ�����U�U�[ݬ�������PYݬ�&�����Y�x����T�[
ݏ�&��0�kZ5�[
ݏ �&��0�[�[������Pk�PZ�Z
ݏ!�&�0�j�Z[�w���ЬP��4^x���VЬU�U���U
ݏ4�&�v0Э�UХXЬU�U���U
ݏ5�&�U0Э�U��VU�&UWЬU�U���U
ݏ6�&�/0Э�UХ[
        !          4633: �X>K�@;��[�W[��X�&������P��Э�U�U���U
ݏ9�&��/���Y�[!�YU�U���UY�U
ݏ;�&��/Խ��[�[V�ЬU�U���U
ݏ<�&�/���ZЬU�U���U
ݏ=�&�/Э�UХU�E�:��U�ZU��ʏ������ì Xԭ��YU�U���UY�U
ݏC�&�A/�Z
ݏC�&�0/ЬUxUjUЭ�Tɭ�Ud�ZU�U���UZ�U
ݏD�&�/н�U�X P�XPU���Z����Y
ݏG�&��.Э�iG�WC�YU�U���UY�U
ݏX�&�.�ZU�U���UZ�U
ݏX�&�.нн��Z���Э�U�U���U
ݏZ�&�x.Э�U�&W�ݬ�&�����Э�P��^ЬU�UW�U
ݏe�&�C.Ч��ЬU�UV�U
ݏf�&�&.ЦX�X��Э�PЬU�UW�U
ݏo�&��-�WY�H�9��U�YU[ЬU�UV�U
ݏq�&��-�V���H��8��U���UZ������[U�UW�U[
ݏt�&�-������ZU�UV�UZ
ݏt�&�-�gf7�[
ݏu�&�u-�Z
ݏu�&�d-�kj  Џ����W�&W�WP�[Y�����P��<^ݬݬ�������P��խ�S�~�&������P��Э�U�U���U
ݏ��&��,Э�U�&�Э�U�U���U
ݏ��&��,Э�UԥЭ�Pխ�Ь��Ь�Э��&��ԭ�ЬU�U���U
ݏ��&�,Э�Uݥ�&�n����P��Э�U�U���U
ݏ��&�q,Э�UЭ�ЬU�U���U
ݏ��&�O,Э�UХ��ЬU�U���U
ݏ��&�-,���WЭ�U�E�A7��U�WU��ЬU�U���U
ݏ��&��+Э�UХ��ЬU�U���U
ݏ��&��+���VЭ�U�E��6��U�VU��Э�U�U���U
ݏ��&�+���Z�[�W
ݏ��&�+�V
ݏ��&�+ˏ��gUˏ��fT�TU�[UYx��Y[�WU�U���UW�U
ݏ��&�L+�VU�U���UV�U
ݏ��&�0+н�U�UUн�T�TT�TU�[UXx��X[�Z
ݏ��&�&+�X��Z
ݏ��&��*�Yj�Z�V���4����|�W
ݏ��&��*ˏ��gU�[UYx��Y[�WU�U���UW�U
ݏ��&�*н�U�UU�[UXx��X[�Z
ݏ��&�s*�X��Z
ݏ��&�^*�Yj�Z�W���x���׭�������ZU�U���UZ
ݏ��&�)*Э�U�e�Э�U�U���U
ݏ��&�*Э�UЭ��Э�P�^ެU�U
ݏ��&��)ˏ����UÏ�U[ޭ�U�U
ݏ��&�)�[��ޭ�U�U
ݏ��&�)ԭ�p��P��0^ЬU�U���U
ݏ��&�z)���XЬU�U���U
ݏ��&�\)Э�UХU�E�q4��U�XUZ������ZU�U���UZ
ݏ��&�*)н�Y�Y�&������P[ЬU�U���U
ݏ��&�&)Э�U�[ e�[j�[U�U P�UPYUɏ�@UW�ZX%������ZU�U���UZ
ݏ�&�(нح�ԭ�Эܭ��[UxUYUЭ�T�[S�S P�SPTT�TUV��ZX%������ZU�U���UZ
ݏ�&�g(нح�ԭ�Эܭ��[ix[YUȏ�@UЭ�T�[ S�S P�SPTT�TUW�ZX%������ZU�U���UZ
ݏ    �&�(нЭ�ԭ�Э�Yx[��U�[ T�T P�TPYT�TUVɏ�@YWЭ�Vޭ�U�U
ݏ"�&��'�WUxWT�TU��ޭ�U�U
ݏ#�&�'�VUxVT�TU��p��P��^ެU�U
ݏ3�&�x'ެU�U
ݏ3�&�c'ЬU�UUx�T�TUYެU�U
ݏ4�&�<'ެU�U
ݏ4�&�''ЬU�UUx�T�TU���&�&������P[�[
ݏ?�&��&�[��ˏ��Y��ʏ�Y�      Y��ȏ���Э���߭��&�%����PZ6Э�U�UX�U
ݏO�&�&�Z UxU��U�U��hЭ�U�Z P�ZPU��Э�U�UX�U
ݏS�&�j&Э�h�[
ݏT�&�U&Э�U�UW�U
ݏT�&�=&Э���X�&X�X��X��E߭��&�����PZЭ�U�UX�U
ݏ\�&��%Э�h�[
ݏ]�&��%�&��&��� ZЬU�UX�U
ݏ��&��%Ï���U�7U�ZUhЬU�UX�U
ݏ��&�%�Z8h�[P�^߭�ݬ������pP��߭�ݬ������pP��ЬU�UZ�U
ݏ��&�W%ЬU�UY�U
ݏ��&�?%í��Ué�TxTT�TU[�[ޭ�U�U
ݏ��&�%x[U�U�� �[[ޭ�U�U
ݏ��&��$x[U�U��g���P��^ԭ���x���|�p�%��Ь��Э�U�U�d��U
ݏ��&�$��d�U�e�h���h�U�U ��U D��h�U�U        ,�U
�|�E�����Ue��&��&��&��&��&��h��8M��h�U�U+�U-<�&�|��&��U�U�`��U��
ݏ��&�$��`�U�e�� ֭��6���Э�U�U�`��U
ݏ�&��#��`�U�e0U�&�x��&��U�U�\��U��
ݏ    �&�#��\�U�e0�Э�U�U�X��U
ݏ
        !          4634: �&�#��X�U�e�pЭ��t�ԭ�ԭ�ԭ��Z+�Z ŭ�
        !          4635: U�VU�0U���Z
ŭ�
        !          4636: U�VU�0U���Z֭�Э�U�U�\��U
ݏ�&�$#��\�U�eU�UV�U0�V9��Z���V.�&�&��U�U�X��U��
ݏ�&��"��X�U�eV�Z��(֭��&��U�U�T��U��
ݏ�&�"��T�U�eV�V0��V0��V9�Э��t���Э�ԭ�֭��0VO��Э��&[��U�U  �
        !          4637: ��    �Z�
        !          4638: ���[�[��ដU�U        ŭ�
        !          4639: U�VU���Z
        !          4640: ŭ�
        !          4641: U�VU��ԭ��&��U�U�T��U��
ݏ"�&�
        !          4642: "��T�U�eV�V0�V9�t���ԭ��V�e�V�E�Z&�Zխ���x�Ь���
���p��&��U�U�T��U��
ݏ=�&�!��T�U�eU�UV�U�X���X�U�U+�U-*�&�p��&��U�U�P��U��
ݏA�&�T!��P�U�eV�V0��V9�%�&��U�U�P��U��
ݏE�&�!��P�U�eV�V0��V0�x�V9�m�0V��Э��l�
ŭ�
        !          4643: U�VU�0U���&��U�U�L��U��
ݏI�&� ��L�U�eU�UV�U0�V9���l���U�UЏ������p�έ���
        !          4644: ԭ�Ь���Z"խ��b��x��VЬ���Kí���U�U���U��խ��Z���Z�Z�X���X���X���Э�U�UnU�P�
nUTa�&!T�P�p�P���ѭ�    1Э�U�UnU�H�
nUTa�� T�H�Э�Ue��EﰆTa�H�T���Z��խ��խ��ѭ�!�Z[�[Uѭ�U��[��dK暴��ޭ�U�U
ݏ��&�q��Э�UdE�~���ޭ�U�U
ݏ��&�Gˏ�����U�U��c�zޭ�U�U
ݏ��&������ѭ������έ�UfE������
        !          4645: í�ZU�U��խ��A&ˏ������[       dK��������ѭ�&�"��p����
        !          4646: x��������&ԭ�$ˏ������U�U
Э�UdE�\���֭�x������ѭ�&�ޭ�U�U
ݏ��&�M��Э�UdE�"���ޭ�U�U
ݏ��&�#ˏ�����U�U���U�d�R���ѭȏ�c@ޭ�U�U
ݏ��&��Џ�����ޭ�U�U
ݏ��&��Џ�������&ޭ�U�U
ݏ��&�������խ���έ���ˏ������[     fK�������x������ԭ�$ˏ������U�U
Э�UdE�>���֭�x������ѭ�&�p��TpT��Э�SeC��T��q���ke������Э�UdE�����q����p�����"� ���ޭ�U�U
ݏ��&��Џ���ޭ�U�U
ݏ��&�ԭ�ݭ��Zݭ���t�������P��Э�U�U�D��U
ݏ��&�x��D�Uݥ�&�I����P��Э�U�U�@��U
ݏ��&�KЭ�U�U�<��U
ݏ��&�1Э�U�U�8��U
ݏ��&���8�UХU�E�+'��Uߥ��<�~��@�~�����߭�߭�p��~��M����P���&�&�`����PWխ�ԭ��XЭ�U�U���U��έ�U�U���UXԭ�ԭ�խ����X­����X��í�9��Э�U�UX�U���X���X�4�Э��4���4�[�[��Э�[�[�[X�[���[��խ�.ݭ��W������PWݭ��W�������P��ݭ��&����Э����X�Xݭ���s����P��խ�ݭ�ݭ���a����P��խ�ݭ�ݭ���G����P��խ�ݭ��W��2����PWݭ�ݭ���|����PY�Y
ݏ�&�Щ���Y
ݏ�&�ԩ�W�Y��$����P[�[�pխ�<ޭ�U�U
ݏ �&�]խ�"ޭ�U�U
ݏ �&�Cˏ����U�U���&�Y������PY�W�Y������P���    &�[�&խ��ޭ�U�U
ݏ*�&��ˏ����U�U����@&ޭ�U�U
ݏ+�&�ѭ�������&ޭ�U�U
ݏ-�&�ޭ�U�U
ݏ-�&�vˏ�����U���U��ޭ�U�U
ݏ3�&�Oԭ��
        !          4647: ޭ�U�U
ݏ7�&�1ˏ����U�U�ޭ�U�U
ݏ7�&�   խ��yޭ�U�U
ݏ;�&��ˏ�������ѭ�����������ޭ�U�U
ݏF�&�ɏ������ޭ�U�U
ݏG�&�Џ�������Iխ��>p��TpT�,�pT~��m���aP�,�����W�Y�����pP��qP�$�խ�p� TpT��pT���ޭ�U�U
ݏb�&�
խ�"ޭ�U�U
ݏb�&��ˏ����U�Up���p���Nq���
        !          4648: p���d���r�ܭ�+d�s��խ�p���,�r���,�p�,���`�P��ޭ�U�U
ݏ��&�qˏ�������ѭ菀�&p����ޭ�U�U
ݏ��&�=��p��~��0���eP����`����ޭ�U�U
ݏ��&�
        !          4649: ˏ�����U�U�d�ޭ�U�U
ݏ��&��ѭ�����%ޭ�U�U
ݏ��&�ѭ�����������ޭ�U�U
ݏ��&�Џ�����ޭ�U�U
ݏ��&�|Џ�������ޭ�U�U
ݏ��&�Y�����A&ޭ�U�U
ݏ��&�6ˏ�����U�U���p����ޭ�U�U
ݏ��&�����p��~������eP����`����ޭ�U�U
ݏ��&��ˏ�����U�U��zޭ�U�U
ݏ��&�ѭ��� ޭ�U�U
ݏ��&�խ�����ޭ�U�U
ݏ��&�eЏ���ޭ�U�U
ݏ��&�Hԭ���ޭ�U�U
ݏ��&�*��p��~�����eP����`����ޭ�U�U
ݏ��&��ˏ�������ѭ���vp��TjT��n��RcRT��խ�<ޭ�U�U
ݏ��&�խ�"ޭ�U�U
ݏ��&�ˏ����U�Up��TqT�A  qT�08q���,ݭ��&�����ݭ��&������W�&������Y�&���������ݭ��&�����ݭ��&�����W�&����ݭ��&�����Y�&����լ ЬU�U�D��U
ݏ��&��Э��D���|�r���<�p���<�p�<�P�L^ЬU�U���U
ݏ��&�Э�UХ��ЬU�U���U
ݏ��&�Э�Uѥ���PЬU�U���U
ݏ��&�a��ح��&��U�U���E�o��U���U��ЬU�U���U
ݏ��&�+���[Э�U�E�?��U�[U��Э�U�U���U
ݏ��&��Э�U�U���U
ݏ��&��н�UЭ�T�&dT�T�U��P����P��խ��&�Zԭ�Э�U�U���U���U
ݏ�&�н�Vˏ��VUЭ�T�TU���UX�VU�TU�XT�TU��Э�U�U���[
ݏ �&�Uˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ�&�(�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ�&���W��[
ݏ�&���Yk�[ѭ�������Э�U�U���U
ݏ�&�Э�U�e�xЬU�U���U
ݏ�&����[׭���������U�U���U[!Э�U�U���U
ݏ�&�]Э�U�e�ЬU�U���U
ݏ�&�<Э�UЭ�ݬݬ�������P��&֭��Zԭ�ЬU�U���U
ݏ%�&�����[ЬU�U���U
ݏ&�&����ĭ�Э�U�U���U���U
ݏ)�&�н�Vˏ��VU���UX�VU�XT�TU��Э�U�U���[
ݏ-�&�~ˏ��kUˏ��XT�TU�ZUYx��YZ�[
ݏ0�&�Q�kU�UUˏ����T�TU�ZUWx��WZ�[
ݏ3�&�#�W��[
ݏ3�&��Yk�[ѭ����$���ЬU�U���U
ݏ>�&�����[Э�U�E����U�[U��Э�U�U���U
ݏ@�&�Э�U�eZ׭���������U�U���U[!Э�U�U���U
ݏA�&�{Э�U�e�ЬU�U���U
ݏC�&�ZЭ�UЭ�Э�P��^��ͤi��ŤU�U���U
ݏ��&�Э�U�賓��U�U�|��U
ݏ��&���U��|�TxU&���o��&�f�����b�լԬެU�U
ݏ��&�ˏ����U�U<ЬU�U���U
ݏ��&��&��ެU�U
ݏ��&�vʏ��ЬU�U���U
ݏ��&�SԽ�ެU�U
ݏ��&�;Ѭ��VЬU�U�|��U
ݏ��&�Џ'�|�Џ��&[լ#ЬU�U�x��U
ݏ��&��
��x�U�[e�[Pq���RЬU�U�|��U
ݏ��&�
�&�|�Џ��&[լ#ЬU�U�x��U
ݏ��&�
��x�U�&[e�[P߭�߭�p�~�������PXެU�U
ݏ��&�V
ЬU�UUˏ���UZp���ޭ�U�U
ݏ��&�+
ʏ����ޭ�U�U
ݏ��&�
ȏ�@���Zc�
��Td�
T`�y
TnZRd�g
RaRT��p��TjT��qT��
n��RqTR׭��&��Э�U�U�UЭ�Uq�E�s׭�ԭ��Z��U�&UY�Y   ԭ��Y���Y��ԭ�խ�ԭ�Э�U�U���U��Э�U�U���U��ԭ�ЬU�U�U Ԭ�&��Ѭ��ԭ��&��ЬU�U�|�U�q�E�Ue��&��&��&�&�&�&Џ������Џ�������Z:ԭ�լ�&�ЬU�UZ�U���U��ԭ����U�&UZ�Z���&Z���Z�&Z�Y��0���(�>I���Y�YU�UZ�����&�V����P�������U�U���U[Э�U�U��U�խ���Zp���Э�U�U��Э�������UdЭ�Uˏ����UTpD�.r��x��UYˏ����YU�U3ʏ����Yf��r�֭�ˏ����YU�U֭�dJ�r��x��YY�Z�Y�f��Fέ��?Э�Uˏ����UTdD��q�x��UYˏ����YU�U֭�dJ�lr�x��YY�Z�Y�խ�(q��Bխ��&Э���׭�d��
        !          4650: �֭�n��Td�Ta�
        !          4651: T��ޭ�U�U
ݏv�&�$
        !          4652: ���խ��Э�UgE�q��
        !          4653: Tc��T���Zp�TjTWnWRcRT��[U�U�|��&U[�U
ݏ��&��   ��|�U�0Weq����M   c��
        !          4654: TqT���&�&ZU�UZ�U����p�
        !          4655: TdT��dT�����Э�UdE�p���&Zp�TjTWnWRcRT��[U�U�|��&U[�U
ݏ��&�=     ��|�U�0We�Z��Ua��    ��Tq�T�*&c����  Tq�TA������[U�U�x��U[
ݏ��&����x�U�e0��[�p�Zd�Q ��`���Э�[p���Э���Э���խ��:&ѭ��.&Э�UpE�o���&Zp�Tp��RgRTPjPWnWPdPRcRT��[U�U�|��&U[�U
ݏ��&�X��|�U�0We�Z���p�TaTT�p�Tp��RqTRqTR�ˏ����WU�U��[��֭��[
ݏ��&���0k)������[U�U�x��U[
ݏ��&����x�U�e9��[U�U�t��&U[�U
ݏ��&���t�U��t�T�&ed�,e��
TpT�qT�y��Z�����Эȭ�Э���ԭ��Vխ�IѬí�9Z(�&��Y�&YZѭ�Y�Y��í�YU�UY�U���Y��ԭ��Z���Z���&�&�����PVխ�+խ�&ѭĭ�Э��|�Э��|���|�Z�Z���Z���Z��խ�\խ�Hխ�+ݭ��V��3����PV�X�V������P���X�&�<���Э�Xí���Y�Y�X��&����PXݭ��X�������PX�&�&�����P��խ�ݭ�ݭ��������P��ѬKެU�U
ݏ�&�Eլ.ެU�U
ݏ�&�+ˏ���U�U֭�֭��&��ԭ�խ�eЭ�U�U�x��U
ݏ�&��Э�U�U�t��U
ݏ�&����x�UХU�E����U�U��t�TޤT�TU�e�&�����P �|��&�|�����|�Uˏ����UZ�Z Z�Z�Z�Z���Z���Z���Z�Z�Z���Z���Z��խ�ݭ��X������PXխ�ݭ�ݭ�������P��խ�=ݭ��X�������P-׭��~�
        !          4656: �X��
        !          4657: ����PXխ��~�
        !          4658: �V�������PVЭ���խ�]ѬWխ��H�&�X��:����PXݭ��X��e����P�$�[U�U�p��&U[�U
ݏ?�&��&�p���խ��խ�ݭ��V�������PV�V��խ���V
ݏL�&�Tݦ�&�*����PV�V
ݏM�&�6Э�U�U�p��U
ݏM�&�Э�U�U�l��U
ݏM�&���l�UХU�E���Uߥ��p�~ߦ�������&�V��9����PV�&Zݭ��X�������0P��ݭ��X��P����PY�Vݭ���a����P��Э�U�U�l��U
ݏX�&���l�Uե�&�p�ݭ��X������P�p���p���ݭ��&������Y�Y�լ�uխ�G�&�X������PXݭ��X������P��Э�U�U�Uˏ������U�UЭ�U�&U���U94�[U�U�h��&U[�U
ݏp�&������h��,խ�[ѭ�9(�[U�U�h��&U[�U
ݏv�&��9�h��x&�[U�U�h��&U[�U
ݏy�&�s��h�U�&��e��&�[U�U�h��&U[�U
ݏ|�&�F����h��Z����~�
        !          4659: �X������PXѭ�V�~�
        !          4660: �V��  ����PV�P��"�~�
        !          4661: ݭ��������P���~�
        !          4662: �V�������PV�Z�����&Z�[U�U�p��&U[�U
ݏ��&�&ݭ��X�������0PU�U���U�p��Z���~�
        !          4663: �X������PX�Z��&�X�������PXݭ��X������PY�Y�Y�ˏ������U�U�1�[��+֭��[U�U�p��&U[�U
ݏ��&�#&�1�p��������[U�U�p��U[
ݏ��&����p�U�e9��[U�U�l��&U[�U
ݏ��&����l�U��l�T�&ed+������[U�U�p��U[
ݏ��&���p�U�e0��[ݭ��&�����V Э�U�U�UV
        !          4664: ݭ��&�����V�&������X�&������[
ݏ��&�O�kЬU�U�p��U
ݏ��&�3��p�U�&��eլЬU�U�l��U
ݏ��&�
        !          4665: �[�l�Э�P�^ݬ���g��0��8���)`����8��&�:����P��8����A�������null pointer dereferenced @%s:%d
        !          4666: stdio/_dtoa.c�A B�?� ����4?DQ[�E�@�?;=z0NaN?��&���@&��)�?��&���@���@A��������P����l�����\����^�&�ݬ��==���P��ݏ��gݬ��=���P���P1D&Ь��Э����\g�䵽�1�<������ Э�P�
        !          4667: ��Q�
        !          4668: Q�Q��Q�0Q�m�
        !          4669: ��׭�խ��֭�Э�P֭�Э�Q֭���m`ѭ����Pѭ�P�ѭ�1����Pѭ�P�Э�P֭�    `ԭ�Э�P֭����Q���Q�a`֭����P���P�`ѭ����Pѭ�P����Pѭ�PLЭ�P֭�`Э�����������Pѭ�Pխ�1
������PÏ�]P~ݬ���;��ì��P���ѭ䏬]���eЏ����P��pݬݬ���;ﶯ�����QP�%���PЬPЭ`Э��PЬP�&PЬQ�aP�&��P����Q�
        !          4670: ���Q��a�(Џ��&����7����^�С��ݏS�&����=��longjmp botch
        !          4671: �0������^ЬU�U[       ��&�&��P�P&�P�PЏ����Pݬ�&��[��ЬU�U[  ��&�&��Uʏ����U�UЏ����PЬU�UZ        ��&�_&ЬU�UY       ��&�M&ЬU�UX       ��&�;&ЬU�UW       ��&�)&�WUѨU�&[ЬU�UV        ��&�&Ц[�[ݩ�j��:���P��Э�P�P������P <ЬU�U[     ��&����Џ����PЬU�U[   ��&���Џ����PЬU�U[   ��&���ЬU�U[   ��&�zЬU�UZ       ��&�hЪ�ЬU�U[  ��&�QЬU�UZ       ��&�?�����ЬU�U[        ��&�&ЫU�UZ�&U��U        ��&�
�jUˏ���UP�^ݬ��b��.��8���Z����8��&�̦���P��8����;�����null pointer dereferenced @%s:%d
        !          4672: stdio/_IO_getc.cЬU�UZ  ��&����&[�[�[P�^ݬ���a��.��8���Z����8��&�,����P��8����;��������null pointer dereferenced @%s:%d
        !          4673: stdio/ferror.cЬ[�[   ��&�I&��P�P(�PQ"�A�P`��&�&�&��&��&��&aЏ����P�[�&�I��NѬ&H�[        ��&���[    ��&���[UѫU$�[  ��&���[    ��&�ë�U�U��[  ��&���Uʏ����U%�[       ��&�ݬݬ�k��7���P�����Џ����P�[    ��&�a��3�[      ��&�N�[    ��&�A�[    ��&�4ЫU�U��U��[        ��&���&�[      ��&����P�^ݬ��`��0��8���EX����8��&�V����P��8����/9����(���null pointer dereferenced @%s:%d
        !          4674: stdio/fseek.cЬ[�[       ��&��&��Z�Z&(�Z#�J�Ue��&)�&�&)�&|�&�&�[   �       �&�&ի1�[ �       �&�&��Uʏ����U�[ �
        !          4675: �&�g&ݫ�&�Y����[   ��&�P&���P�[      ��&�=&�&�&���P��[       ��&�#&ЫU�UZ       ��&�&�j���[    ��&�������[   ��&���[    ��&��ѫ��i�[       ��&���Uʏ����U:�[       ��&��[    ��&��[    ��&��&�~ݫ��ȧ���P��[ ��&�kի�P�[    ��&�VЫU�UZ       ��&�D�j�[  ��&�5���[ � �&�%���[ �!�&����[ �"�&�ЫP�^ݬ���]��0��8����U����8��&������P��8�����6����̡��null pointer dereferenced @%s:%d
        !          4676: stdio/sclose.cЏl9[�[      �       �&����� [�[��D��[��D�P�[       ��&��[    ��&�ЬU�U��U��[        ��&�vݬ�&�8����P��[      �
�&�[�[    �
�&�N�[    �
�&�A�����[     ��&�-���[        ��&����[        ��&�Џ����k�[P�^ݬ��n\��0��8���T����8��&���P��8����w5����p���null pointer dereferenced @%s:%d
        !          4677: stdio/sopenr.cЏl9[�[      ��&���� [�[�lI��[�lI�P�[     �       �&�^�[      �       �&�Q�[      �       �&�Dԫԫԫ�[     �
        !          4678: �&�.�&��[ ��&����[        ��&�Џ����k�[P�^ݬ��T[��.��8���oS����8��&���P��8����Y4����R���null pointer dereferenced @%s:%d
        !          4679: stdio/sopenw.c�Ѭ�����Џ����PЬU�U[        ��&�&��P�P,�PQ&�A�P`���&k��ЬU�U[  �       �&�Q&��Џ����PЏ����Pݬ�&��Q��ЬU�UZ   ��&�!&ЬU�UY       ��&�&ЬU�UX       ��&��ը�&[ЬU�UW     ��&��Ч[ЬU�UV   ��&����[U�U��U�ЬU�U[  ��&���ЬU�U[   ��&�ЬU�UZ       ��&�ѫ�Џ����PЬU�U[        ��&�c��Uʏ����UЬU�U[  ��&�D��������1ЬU�U[   ��&�&�������U�UZ�U�      ��&���j��P�^ݬ�� Y��.��8���7Q����8��&�H����P��8����!2�������null pointer dereferenced @%s:%d
        !          4680: stdio/ungetc.c   \���     ���L��� 
        !          4681: �����t�8pd��_A<<s6"�H
��L�����������4����
�D�    �������Z���D����.���-��� 4��$�|xZ?rKE�5>+'�K#�=������,���h(��z 
00111222??��~0       ����������|u�&�&�&�&�&�&�&�&x&s&f&a&\&W&R&M&7&(&&�%�%�%�%�%�%�%�%�%�%�%�%�%}%`%P%B%1%!%%%�$�$�$�$�$�$�$�$�$|$l$f$`$Z$T$N$1$|$$$$$�#�#�#�#�#�#�#�#�#p#j#d#^#X#R#L#F#@#$##�"�"�"�"�"�"�"�"�"�"�""y"s"V"P"J"D">"8"2","""�!�!�!�!�!�!�!�!�!�!�!�!�!�!z!t!n!h!b!\!V!P!J!D!>!8!2!,!&! !!!!!!� � � � � � � � � � � � � � � � � � � � � ~ x r l f ` Z T N H B < 6 0 * $       ���������������������|vpjd^XRLF@:4.("
        !          4682: ����������������������ztnhb\VPK�J�J�J�J�JuJYJ7JJ
JJ&J�I�I�I�I�I�I�I�I�I�I�I�I�I�IwIbI\IKI9I+N+N*N�P#N#N*N0NNN*NPN�M�MzP�M�M*NFQ�M�M�M�Q�M�MD��|�VdNd�Y�ZL_JdFdBd>d;d8d3d.dvcvcvcvcqcjcbcZc�b�b�b�bWbTbPbvcvcvcvc�a�a�aga\aTaNaa&a&a&&a&�`&�`&�`&�`&�`&�`�`�`&�`�`�`    �`8�`�`&�`&�`&�_�_�_�_&?0s)s�l�m%s!ssssss sQrQrQrMrHrAr9r1rQrQrQrQrgqcq�p�p�p�p�p&�p&�p&&�p&�p&�p&�p&�p&�p&uprpfpYpVp8Sp&e|X|J|E|0|+|&|!|||�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{�{z{t{n{[{O{F{<{3{-{'{!{{{{ {{�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z�z|zvzpzjzdz^zXzRzLzFz@z:z4z.z(z"zzzz
        !          4683: zz�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�yzytynyhyby\yVyPyJyDy>y8y2y,y&y yyyyyy�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x�x~xxxrxlxfx`xZxTxNxCx6x0x*x$xxxxxxx�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w�w~wxwrwlwfw`wZwTwNwHwBw<w6w0w*w$wwwwwww�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v�v|vvvpvjvdv^vXvRvLvFv@v:v4v.v(v"vvvv
        !          4684: vv�u�u�
�������������ۂւт̂ǂ�����������������������y�s�m�g�a�[�U�O�I�C�=�7�1�+�%����
��&��������ׁ݁сˁŁ����������������������}�w�q�k�e�_�Y�S�M�G�A�;�5�/�)�#��������������ۀՀπɀÀ����������������������{�u�o�i�c�]�W�Q�K�E�?�9�3�-�'�!����        ���������������������~xrlf`ZJ>)�~�~�~�~�~�~v~m~^~X~R~L~F~@~:~4~.~(~"~~~~
        !          4685: ~~�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}�}z}t}n}h}b}\}V}P}J}D}>}8}2},}&} }}}}}}�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|�|~|x|r|l|.�"���
        !          4686: �����������܋׋ҋ̋Ƌ������������������p�\�K�.�(�"����
        !          4687: ������������Њ��������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4688: �����������ڈԈΈȈˆ����������������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N�C�=�0����������ۆՆφɆÆ��������������}�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4689: �����������څԅ΅ȅ…����������������������{�v�t�o�
        !          4690: �����j��e�`�[�܋׋ҋ̋ƋU�����O�I�C�=���7�1�+�%��(�"����
        !          4691: ��������
���&�������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4692: �����������ڈԈΈ��ˆ����������������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N���=����������ۆՆφɆÆ�������������ۄՄj�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4693: �����������څԅ΅ȅ…����������������������{�v��o�
        !          4694: �����j��e�`�[�܋׋ҋ̋ƋU�����O�I�C�=���7�1�+�%��(�"����
        !          4695: ��������
���&�������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4696: �����������ڈԈΈ������y�b�K�4������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N�    ����̓������}���ۆՆφɆÆ�������������ۄՄj�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4697: �����������څԅ΅ȅ…����������������������x�v��o�
        !          4698: �����j��e�`�[�܋׋ҋ̋ƋU�����O�I�C�=���7�1�+�%��(�"����
        !          4699: ��������
���&�������������������~�x�r�l�f�`�Z�T�N�H�B�<�6�0�*�$�������������܉։Љʉĉ����������������������|�v�p�j�d�^�X�R�L�F�@�:�4�.�(�"����
        !          4700: �����������ڈԈΈȈˆ����������������������z�t�n�h�b�\�V�P�J�D�>�8�2�,�&� ��������������އ؇҇̇Ƈ����������������������~�x�r�l�f�`�Z�T�N���=����������ۆՆφɆÆ�������������ۄՄj�d�^�X�R�L�F�@�j�4�.�(�"����
        !          4701: ��������M���څԅ΅ȅ…������������������3������&׏Ǐ��������������������s�������������ؒɒ��������~�x�h�]�O�$Header: /sprite/src/lib/tcl/RCS/tclAssem.c,v 1.4 90/03/23 16:26:20 ouster Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/tcl/RCS/tclBasic.c,v 1.72 90/03/29 10:36:39 ouster Exp $ SPRITE (Berkeley)k�f�`�Y�P�J�E�@�;�6�2�*�#�����    ���������ި٨ըΨǨ¨��t���H�Ϋ�4���H�Ȳ$�h�����b�$&��*���v�F����&���������&F���b��&$Header: /sprite/src/lib/tcl/RCS/tclCmdAH.c,v 1.45 90/04/18 17:09:19 ouster Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/tcl/RCS/tclCmdIZ.c,v 1.36 90/04/18 17:09:07 ouster Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/tcl/RCS/tclExpr.c,v 1.13 90/03/22 15:24:59 ouster Exp $ SPRITE (Berkeley)
        !          4702: 
        !          4703:          &&$Header: /sprite/src/lib/tcl/RCS/tclGlob.c,v 1.4 90/04/19 14:53:59 ouster Exp $ SPRITE (Berkeley)2�w$Header: /sprite/src/lib/tcl/RCS/tclHistory.c,v 1.6 90/03/29 13:20:04 ouster Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/tcl/RCS/tclProc.c,v 1.35 90/03/29 10:55:16 ouster Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/tcl/RCS/tclUtil.c,v 1.30 90/03/25 11:04:25 ouster Exp $ SPRITE (Berkeley)&&&�/&&/bin/shPATH:/bin:/usr/binsh/etc/passwdb8&&�B&rC&�D&�F&*H&�H&>J&N&�Q&�R&U&&&&&�X&�X&�X&}X&eX&[X&AX&/X&X&
X&&X&�W&�W&�W&�W&�W&�W&�W&�W&wW&gW&XW&GW&3W&W&W&W&�V&�V&�V&�V&�V&�V&�V&yV&oV&YV&CV&*V&V&�U&�U&/tmp/tn000000000000�Y&&� @pp&�p&jo&�^&�o&�p&�p&�p&�o&�d&�o&�o&�`&p&Fp&�&Ƒ&Ƒ&0�&B�&��&�&Ƒ&Ƒ&Ƒ&l�&�&N�&��&2�&��&0�& &5Z4Z4Z4Z4Zt�         (((((                  H����������������&&&&&&&&&&&&&&&&&&&&������ 6�&ʬ&*Day Mon 00 00:00:00 1900
        !          4704: SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec/lib/dst��&}�@ B�CzEG@�HPtJ$L���M �nO(kQ��R�C@hT��V�*�W ��cY�_�1[���\���.^^kv:@
        !          4705: `#lj�a�x��bXc&���zex�n2���fh
        !          4706: ?�WSh��Ρ�[���u��+��p�%��ľ�MO�E��9F�&��&R�&*�&��&��&6�&<d<"�&E�r(&&(*/�=$<B DD>�>D>DLDUDbDiG!D�J�D���D���Q��V�mY$�_2Pe�(h�D���D �D!�D"�D"��&�D#�D$���D%��D&���D(���D)�D*�D+&�
        !          4707: &D-
        !          4708: &D.&�"&D/"&D0%&�'&D2'&D3)&D4=&�A&D5A&D6R&��e&�k&D8k&D9p&�D;&�D<�&D=�&�D>�&���&�&�&D"�&�($�m��b����@�@"
        !          4709: �@    ��&DA�&�A�&��A�&�$C�&��&�2�����(����"DE�&��&DF�&DF�&DG�&DH�&DF�&DI�&��&DJ�&�J�&��J�&��m&$L�&
& P&�(&�DN�&��&DR�&DSDTDT�&DU�&5DT5'&(b�m�&.&@(0&��:DW:�W:>&�W;H&$Y<M&<S&2DX&�(Z&�h&�"l&�(q&�D[>�>D_>D`X�&]Da]&�DbsDc}��Dd�De��&�Df���Dh��&��&�Dj�Dk�Dl���Dm��&�Dn���Dp�Dq��&��&@(�&��&@(
        !          4710: �&���Ds��s��&�s��&$u��& D�&�(�&��&�(�&��&��&��Dw���D{�D|�D}D~!DH�JD�J��J�&��K�&&��&��$�L D�("�-�(0�;�@��D�N�ND�ND�TE�D��I��&�D��M�D��D��D��R�D���&��&�D��D��D��D��D��D����D��D��D�W��&(D�(\@�^��*D�*��*l��+t$�,� P��D�.�.D�.D�9��D�Q�YD�Y��Y���Z�$�Z� DD�_�_D�_��D�g��D�oD�r������D���������� (���\�`"�`"�`0&�`(�^\*`"/`"4`":`$&=^K\V`"]`e`o^z\�`b�&�^&�\�`�`�`�`�`�`
�`

        !          4711: �`l��`b"��`l$��`$�^(�\�`�`�``l�
        !          4712:     `l�^\5`8`>`D`"H`"K`"N`"Q`V`b�&\^ z�����8�d8��&Epr(�&h���������������������������t�8�p�d�_�A�<�6�"�
        !          4713: ������"�&�*�.�2 =�N�R$!8Y2D`�(d�o�(r�}����D#:�:D':D(@�pD*UD+l�nD,n�,n��,o�\�`"�`"�`0&�`(���^�\�`"�`"�`"`$&^\`"&`.`8^C\N`b�&R^&]\i`l`v``�`�`
�`

        !          4714: �`l��`b"��`l$��`$�^(�\�`�`�`�`l�
        !          4715: �`l��^�\�`&``
`"`"`"`"``b�&%^ C�,oI,�Rd�X�&Epr(\ ��d       g�j ��&v�y�|�������$�� D��(����(�������D���D�D�D�D��&DDD D'�&+�&+D"+D".D#4D"K�&OD%OD%Q�&\D&\D'���D(�D(���D)���D+���D.�D/��D0�D1D2,��D3=�GD4GD5X���i�i��bX!�&�iD9i���&{D%{D;�������8 ���@��dX ��@
        !          4716: ��D<��<���<�\`"`"%`0&.`(2�C^T\e`"j`"o`"u`$&x^�\�`"�`�`�^�\�`b�&�^&�\�`�`�`�`�`�`
       `

        !          4717:             `l� `b"� `l$� `$     ^(*     \3     `6     `=     `C     `l�
        !          4718: G   `l�L ^U     \s     `v     `|     `�     `"�     `"�     `"�     `"�     `�     `b�&� ^ �     �<��     < �     d �     �&Etr(�     $ �      D�     �(�     �
        !          4719: �(
        !          4720: �
        !          4721: �
        !          4722: ��D             �     D     D     
        !          4723: 
        !          4724: D.    D1     D1     �&=     D=     DK     D}     ��     D�     D�     ��     D�     D�     D�     
        !          4725: �        �&�     D�     D�     "
        !          4726: �&
        !          4727: �/
        !          4728: @1
        !          4729: �8 5
        !          4730: �A
        !          4731: @
        !          4732: F
        !          4733: @ I
        !          4734: @��    D�     ��     L
        !          4735: ��        Y
        !          4736: \j
        !          4737: `"o
        !          4738: `"w
        !          4739: `0&�
        !          4740: `(�
        !          4741: ��
        !          4742: ^�
        !          4743: \�
        !          4744: `"�
        !          4745: `"�
        !          4746: `"�
        !          4747: `$&�
        !          4748: ^�
        !          4749: \�
        !          4750: `"�
        !          4751: `�
        !          4752: `�
        !          4753: ^
        !          4754: \`b�&^&$\0`3`=`F`L`Q`
V`

        !          4755: [`l�a`b"�e`l$�j`$p^(|\�`�`�`�`l�
        !          4756: �`l��^�\�`�`�`�`"�`"�`"�`"�`�`b�&�^ 
        !          4757: ��        
        !          4758: "d 
        !          4759: ,�&Eur(0$
        !          4760:  
        !          4761: < DH�(K�V�(Y�d�i��D)
        !          4762: �)
        !          4763: D)
        !          4764: D+
        !          4765: D4
        !          4766: D:
        !          4767: �&I
        !          4768: DI
        !          4769: n(DV
        !          4770: Dr
        !          4771: D�
        !          4772: D�
        !          4773: q
        !          4774: D�
        !          4775: D�
        !          4776: D�
        !          4777: ��
        !          4778: D�
        !          4779: D �
        !          4780: ��
        !          4781: D!�
        !          4782: D"�
        !          4783: D#�
        !          4784: �D%D&D("uD)3D*=D,PD-aD.kD0~D1�y���D��&�D�D6�D7�}�����8 ���@��b� �d��b!�d��bd!�d�@
        !          4785: ��h!��l!��D8��8���8��\�`"�`"�`0&�`(��
^
\'
`",
`"1
`"7
`$&:
^K
\V
`"]
`e
`o
^z
\�
`b�&�
^&�
\�
`�
`�
`�
`�
`�
`
�
`

        !          4786: �
`l��
`b"��
`l$��
`$�
^(�
\�
`�
`�
``l�
        !          4787:     `l�^\5`8`>`D`"H`"K`"N`"Q`V`b�&\^ z�8��84�d4��&Exr(�$4� D��(����(�������D       =�=D=DC��DRDUDU�&[D[DiD���D�D����&�D�D������@�@
        !          4788: ��8 ����D������&\`"`"`0&(`(,�=^N\_`"d`"i`"o`$&r^�\�`"�`�`�^�\�`b�&�^&�\�`�`�`�`�`�`
�`

        !          4789: `l�    `b"�
`l$�`$^($\-`0`7`=`l�
        !          4790: A`l�F^O\m`p`v`|`"�`"�`"�`"�`�`b�&�^ ������d���&Exr(�$�� D��(����(�����D  ���D�D�
        !          4791: D
D�D�D��&�D�D�D
�0
D0
D5
�:
�&:
D:
D>

��@@
        !          4792: !�8 %��@
D@
�@
1�A
;\L`"Q`"Y`0&b`(f�w^�\�`"�`"�`"�`$&�^�\�`"�`�`�^�\�`b�&�^&\```(`.`3`
8`

        !          4793: =`l�C`b"�G`l$�L`$R^(^\g`j`q`w`l�
        !          4794: {`l��^�\�`�`�`�`"�`"�`"�`"�`�`b�&�^ ��A
�H
�dH
�&E{r($H
 D�("�-�(0�;�@��D
        !          4795: Q
�Q
DQ
Dm
Dv
D�
D�
E�I�R�8 V���
D�
��
b��
l\}`"�`"�`0&�`(���^�\�`"�`"�`"�`$&�^�\�`"``^\(`b�&,^&7\C`F`P`Y`_`d`
i`

        !          4796: n`l�t`b"�x`l$�}`$�^(�\�`�`�`�`l�
        !          4797: �`l��^�\�`�`�`�`"�`"�`"�`"�`�`b�&�^ ��
%�
.d�
4�&E|r(8$�
@ DH�(K�V�(Y�d�i��D  �
��
D�
D�
nJD�
D�
D�
�&�
D�
D�
D�
�DD�Dq4�&-D-D1u�y��@�@
        !          4798: ��8 ���3D3�3��4�\�`"�`"�`0&�`(���^�\�`"`"    `"`$&^#\.`"5`=`G^R\]`b�&a^&l\x`{`�`�`�`�`
�`

        !          4799: �`l��`b"��`l$��`$�^(�\�`�`�`�`l�
        !          4800: �`l��^�\
````" `"#`"&`")`.`b�&4^ R�4XLbdLi�&E}r(m$  Lv D�(����(�������DU�UDU�&oDoD�D�D�D���D��&�D��&�D�D��&�D�������8 ����< ��D�������\�`"�`"�`0&�`(��
^\/`"4`"9`"?`$&B^S\^`"e`m`w^�\�`b�&�^&�\�`�`�`�`�`�`
�`

        !          4801: �`l��`b"��`l$��`$�^(�\�```
`l�
        !          4802: `l�^\=`@`F`L`"P`"S`"V`"Y`^`b�&d^ �����d��&E�r(�$� D��(����(�������D  %�%D%�&+D+��D3�&<D<DMDqD��&�D�D��&�D�D�D�DDD(D9��D XD!eD"pD"s�&wD#wD%���D&�D&���D'��&�D"�D)�D*��l�d�tD+_�����@�@
        !          4803: @    @�8 �@�< @%�@ (�D �aD,a�,a+�,b5\F`"K`"S`0&\`(`�q^�\�`"�`"�`"�`$&�^�\�`"�`�`�^�\�`b�&�^&\```"`(`-`
2`

        !          4804: 7`l�=`b"�A`l$�F`$L^(X\a`d`k`q`l�
        !          4805: u`l�z^�\�`�`�`�`"�`"�`"�`"�`�`b�&�^ ��,b�,��d���&EL�'&&h 
 

        !          4806: ��!$�'�*�-�1�5�9�=�A�E�I�M�Q�U|Yx]raKeEi>m+q'u#y}������������ �������\�`"�`"�`0&�`(���^\`"`""`"(`$&+^<\G`"N`V``^k\v`b�&z^&�\�`�`�`�`�`�`
�`

        !          4807: �`l��`b"��`l$��`$�^(�\�`�`�`�`l�
        !          4808: �`l��^\&`)`/`5`"9`"<`"?`"B`G`b�&M^ k��q$zd$��&ER�'�$$� D��(����(�������D  -�-D-D/D5D?�&WDWDYD^Dg�&k�&kDkDnDtD��&�D�D��&�D�D���D�D���D���DD�wD 4D!D�iD#d���$�0�1�G�>�U�&DD*�����@��8 ���dX �@
        !          4809: �D+�+�+\)`".`"6`0&?`(C�T^e\v`"{`"�`"�`$&�^�\�`"�`�`�^�\�`b�&�^&�\�`�`�` ` ` `
 `

        !          4810:  `l�  `b"�$ `l$�) `$/ ^(; \D `G `N `T `l�
        !          4811: X `l�] ^f \� `� `� `� `"� `"� `"� `"� `� `b�&� ^ � �+� +�� d�� �&ES�'� $�� �� 2D� �� �� �,D  ���D�D
�!D�D�D�!D
DD(!@
!@
        !          4812: �XDX�X!�Y!$Z! D'!�(*!�5!�(8!�C!�H!��Dc�cDcDiM!DxD {D {�&�D!�D"�D#���D$�D$���D%�D%�D&�D%��&D D(
        !          4813: Q!@S!@
        !          4814: X!�(\!�h!�8 l!��D)�)u!�)
~!\�!`"�!`"�!`0&�!`(�!��!^�!\�!`"�!`"�!`"�!`$&�!^"\"`""`"`$"^/"\:"`b�&>"^&I"\U"`X"`b"`k"`q"`v"`
{"`

        !          4815: �"`l��"`b"��"`l$��"`$�"^(�"\�"`�"`�"`�"`l�
        !          4816: �"`l��"^�"\�"`�"`�"`�"`"�"`"#`"#`"#`#`b�&#^ /#�)
5#)DA#dDJ#�&ET�'N#&�&S#��Y#&�a#�j#�m#�p#~s#$D}# D�#�(�#��#�(�#��#��#��DM�MDMDk�&�D�D��&�D�D�D��#3�#1�#<�#4�#AD#C�#D$\�#D%iD&w�#�D'�D(��#�D)��#�D+��#�(�#��#�8 �#��#@�#�b8"��#�<"��D,��,��#�,�$\$`"$`""$`0&+$`(/$�@$^Q$\b$`"g$`"l$`"r$`$&u$^�$\�$`"�$`�$`�$^�$\�$`b�&�$^&�$\�$`�$`�$`�$`�$`�$`
&%`

        !          4817: %`l�%`b"�%`l$�%`$%^('%\0%`3%`:%`@%`l�
        !          4818: D%`l�I%^R%\p%`s%`y%`%`"�%`"�%`"�%`"�%`�%`b�&�%^ �%�,��%,��%d��%�&EW�'�%$��% D�%�(�%��%�(�%�&�&��D  ���D�D�&LD�D�D��&�D�D�D
        !          4819: �*D*D/�4D4&=DID^&9�&oDoDw&� &�)&@+&@
        !          4820: 0&�b �4&�808&��yD y� yD&� zO&&�(V&(�^&0b& f&j&    n&�r&�v&�z&�~&��&��&��&��&��&��&|�&u�&$6z�& P�&�,�&�"�&�D8���D<�D=��&�D@��&lDA�DC�DD�DF�DG�DI�DJ��&IDK�&?DL/DM=�PDNP�&2DO���DQ��&"DR�DS���DT��&DU�DW�&�& ���&�b��DY�Y�&�Y�&\
        !          4821: '`"'`"'`0& '`($'�5'^F'\W'`"\'`"a'`"g'`$&j'^{'\�'`"�'`�'`�'^�'\�'`b�&�'^&�'\�'`�'`�'`�'`�'`�'`
�'`

        !          4822: �'`l�&(`b"�(`l$�
        !          4823: (`$(^((\%(`((`/(`5(`l�
        !          4824: 9(`l�>(^G(\e(`h(`n(`t(`"x(`"{(`"~(`"�(`�(`b�&�(^ �(�Y�(YP�(dP�(�&Eb�'�( ���(�&�(�&�(�&�(�&�(�&�(�&�(�&�(�&�(x&�(s&�(f&�(a&�(\&�(W&)R&)M&)7&)(&)&)�%)�%)�%#)�%')�%+)�%/)�%3)�%7)�%;)�%?)�%C)�%G)�%K)}%O)`%S)P%W)B%[)1%_)!%c)%g)%k)�$o)�$s)�$w)�${)�$)�$�)�$�)�$�)�$�)|$�)l$�)f$�)`$�)Z$�)T$�)N$�)1$�)$�)$�)$�)$�)�#�)�#�)�#�)�#�)�#�)�#�)�#�)�#�)�#�)p#�)j#�)d#�)^#�)X#�)R#�)L#�)F#*@#*$#*#*�"*�"*�"*�"*�"#*�"'*�"+*�"/*�"3*�"7*�";*"?*y"C*s"G*V"K*P"O*J"S*D"W*>"\*8"a*2"f*,"k*"p*"u*�!z*�!*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*�!�*z!�*t!�*n!�*h!�*b!�*\!�*V!�*P!�*J!�*D!�*>!�*8!�*2!�*,!&+&!+ !+!+!+!+!+!$+� )+� .+� 3+� 8+� =+� B+� G+� L+� Q+� V+� [+� `+� e+� j+� o+� t+� y+� ~+� �+� �+� �+~ �+x �+r �+l �+f �+` �+Z �+T �+N �+H �+B �+< �+6 �+0 �+* �+$ �+ �+ �+ �+ �+ �+ �+�,�,�
        !          4825: ,�,�,�,�,�#,�(,�-,�2,�7,�<,�A,�F,�K,�P,�U,�Z,�_,�d,|i,vn,ps,jx,d},^�,X�,R�,L�,F�,@�,:�,4�,.�,(�,"�,�,�,�,
        !          4826: �,�,��,��,��,��,��,��,��,��,��,��,�-�        -�-�-�-�-�"-�'-�,-�1-�6-�;-z@-tE-nJ-hO-bT-\Y-V^-Pc-�&Pn-&�&z-d�&�-�&Eb�'�-$�&�-�&�-2D�-�D   �&��&D
        !          4827: �&�-�,D�&�&'D'�-�,�-z,�-�,D
:'D
G'�-l,DT'Da'�-],Dn'D{'�-7,�&�'D�'�-/,D�'�--,��'D�'��'�-��'�-$�'�- D�-�(�-��-�"D�'��'D�'D�'D�'D�'D�'D �'D!�'D"�'D#�'D$�'D%�'D&�'D'(D( (D)?(D*_(D+d(�-��-��-@�f(D,f(�,f(.�,g(
.$.h(. D%.�((.�3.�(6.�A.�F.��D0q(�q(D8q(�&�(D9�(D9�(�&�(D:�(D;�(D;�(�&�(D<�(K.�+O.�+S.,W.�+[.�+_.,D?)�&)D@&)�5)DA5)c.�+DBN)DC])h.�+m.�+��)DE�)r.�+��)DG�)�&�)D;�)DI�)DI�)�&�)DJ�)DJ�)DK�)DL�)DL�)DJ�)DM�)DN�)w.�+DP*|.�+DQ!*�&/*DI/*DS1*DT4*�.�+DUA*DVK*DWM*�.�+DXZ*DYe*DZs*�.+D\�*�.v+D]�*D^�*D_�*�.[+Da�*�.E+Db�*Dc�*Dd�*�.*+Df&+�.+Dg+�.@,�.@
        !          4828: �.@    �.�(�.��+Dh+�h+�.�h+�.\�.`"�.`"�.`0&�.`(�.�/^/\-/`"2/`"7/`"=/`$&@/^Q/\\/`"c/`k/`u/^�/\�/`b�&�/^&�/\�/`�/`�/`�/`�/`�/`
�/`

        !          4829: �/`l��/`b"��/`l$��/`$�/^(�/\�/`�/`0`0`l�
        !          4830: 0`l�0^0\;0`>0`D0`J0`"N0`"Q0`"T0`"W0`\0`b�&b0^ �0�h+�0h�,�0d�,�0�&Ee�'�0$�,�0 D�0�(�0��0�(�0��0��0��D  �,��,D�,�&�,D�,�0(-D�,�&�,D�,D�,D�,D�,�&-D-D-�&#-D#-�0��0��0��0�< �0��%-D%-�%-�0�&-�0\1`"1`"1`0&&1`(*1�;1^L1\]1`"b1`"g1`"m1`$&p1^�1\�1`"�1`�1`�1^�1\�1`b�&�1^&�1\�1`�1`�1`�1`�1`�1`
�1`

        !          4831: &2`l�2`b"�2`l$�2`$2^("2\+2`.2`52`;2`l�
        !          4832: ?2`l�D2^M2\k2`n2`t2`z2`"~2`"�2`"�2`"�2`�2`b�&�2^ �2�&-�24-�2d4-�2�&Ef�'�2$4-�2 D�2�"�2�"D  9-�9-D
        !          4833: 9-D
>-�&L-DL-�2�-D_-�&h-Dh-Dj-Dx-D�-D�-D�-D�-D�-D�-D�-D�-D�-�2@�2�"��-D�-��-�2��-  3\3`"3`"'3`0&03`(43�E3^V3\g3`"l3`"q3`"w3`$&z3^�3\�3`"�3`�3`�3^�3\�3`b�&�3^&�3\�3`�3`�3`�3`�3`&4`
4`

        !          4834: 4`l�4`b"�4`l$�4`$ 4^(,4\54`84`?4`E4`l�
        !          4835: I4`l�N4^W4\u4`x4`~4`�4`"�4`"�4`"�4`"�4`�4`b�&�4^ �4��-�4�-�4d�-�4�&Eg�'�4$�-�4 D�4�(�4�5�(5�5�5��D  �-��-D�-D�-5�.D.D.D.�&.D.D.DB.�b.Db.Dg.�l.Dl. 5�.D�.�&�.D�.D�.$5�(5�15@35@
        !          4836: 85�8 <5���.D�.��.H5��.T5\e5`"j5`"r5`0&{5`(5��5^�5\�5`"�5`"�5`"�5`$&�5^�5\�5`"�5`�5`�5^6\6`b�&6^&6\+6`.6`86`A6`G6`L6`
Q6`

        !          4837: V6`l�\6`b"�`6`l$�e6`$k6^(w6\�6`�6`�6`�6`l�
        !          4838: �6`l��6^�6\�6`�6`�6`�6`"�6`"�6`"�6`"�6`�6`b�&�6^ 7��.7�.7d�.7�&Eh�'#7$�.-7 D77�(:7�E7�(H7�S7�X7��D�.��.D�.D�.D�.D#�.�&�.D$�.]74D$�.�&�.D%�.D&/D'/D()/D);/D*M/`7�3D-~/�&�/D.�/D.�/�&�/D/�/D0�/D1�/D2�/�&�/D4�/c7�3�0D50D50�0�&0D70g7�nD8*0D950D:<0�&F0D<F0�Z0D=Z0m7�2D>s0D?w0D?w0D@y0DA|0DB�0DC�0DD�0DD�0DE�0��0DE�0DE�0DE�0u7�3��0��0DH�0��0DI�0DJ1DK1DK1DM
1y7�1DN.1DN.1DO41DP71DQ;1DR>1�K1DRK1DRS1DR]1�~1�~1�&�1DU�1DV�1DW�1DW�1DX�1�7�3DY�1�&�1DZ�1�7{3D\�1D]�1�&�1D_�1�7d3D`�1�7@�7@
        !          4839: �7@    �7@�7@�7@�7��7��7��7��7��7��7��7�D�7��7�H�7�L��1Da�1�a�1�7�a�1�7$c�1�72D�7��7�&8�8�8� 8�8�8�" De�1��1Di�1Dj!2Dk&2Dl*2Dm.2Dn22Do>2DpJ2DqN2DrR2Ds]2Dth2Dus2Dvy2Dw�2Dx�2Dy�2Dz�2D{�2D|�2D}�2D~�28�8� 8�8 $8���2D�2��208��268$��2=82DD8�G8�M8�S8�U8�
        !          4840: W8�c8�"D��2��2D��2D��2D��2D�&3D�  3D�$3D�-3D�23D�?3D�R3D�R3D�T3D�X3g8@,j8�(n8��a3D�a3��a3z8��b3�8(b�n�&�8\
        !          4841: �8`�8`&�8^
        !          4842: &�8\�8`"�8`"�8`0&�8`(�8��8^�8\9`"
        !          4843: 9`"9`"9`$&9^)9\49`";9`C9`M9^X9\c9`b�&g9^&r9\~9`�9`�9`�9`�9`�9`
�9`

        !          4844: �9`l��9`b"��9`l$��9`$�9^(�9\�9`�9`�9`�9`l�
        !          4845: �9`l��9^�9\:`:`:`":`"&:`"):`",:`"/:`4:`b�&::^ X:��b3_:� 4j:d 4r:�&Eo�'v:$ 4�: D�:�(�:��:�(�:��:��:��D  )4�)4D)4D/4�:�4D>4DA4DA4�&G4DG4DU4Dx4��4D�4D�4��4�&�4D�4D�4�:��:��:@�:@
        !          4846: �:�8 �:���4D�4��4�:��4�:\�:`"�:`";`0&;`(;� ;^1;\B;`"G;`"L;`"R;`$&U;^f;\q;`"x;`�;`�;^�;\�;`b�&�;^&�;\�;`�;`�;`�;`�;`�;`
�;`

        !          4847: �;`l��;`b"��;`l$��;`$�;^(<\<`<`<` <`l�
        !          4848: $<`l�)<^2<\P<`S<`Y<`_<`"c<`"f<`"i<`"l<`q<`b�&w<^ �<��4�<�4�<d�4�<�&Ep�'�<$�4�< D�<��<��<��<�(�<��<�"D�4��4D�4D�4D�4D�4D�4D�4D�4D5D5D5D5D"5D>5DC5Dg5D�5D �5�<��<��<@��5D!�5�!�5�<�!�5=$#�5= D!=�($=�/=�(2=�==�B=��D%�5��5D1�5D2�5D3�5D9�5G=�=D:�5�&�5D<�5D<�5D=�5D=�5��5D>�5K=�=D>�5�6�&6D@6�&6DA6DA6�&!6DB!6DC86DD\6DE�6�&�6DF�6O=�=��6DG�6��6DH�6DH�6��6��6�&�6DK�6�&�6DL�6DL�6�&�6DM�6DN�6DO&7DP$7�&+7DR+7S=�=�?7DS?7DSD7�M7�&M7DUM7W=v=[=p=_=|=DW�7DX�7c=`=DY�7DZ�7g=�o�&�7D[�7D[�7��7D\�7m=P=D]        8�8D[8D_ 8r=K=D`+8w=1=Da68|==DbA8�=�<DcL8�=�<DdW8�=�<Deb8�=�<Dfm8�=�<Dgx8�=�<Dh�8�=�<Di�8�=g<�&�8Dt�8Du�8Dv�8Dw�8Dw�8Dx�8�=�sDw�8Dy�8Dy�8�&�8Dz�8��8D{�8D{�8�9D|9D|     9�9D}9D}9D}D9�R9D}R9D}a9�k9D}k9�=\<D}�9��9D}�9D}�9��9��9D}�9D}�9�=�L��9D}�9D~�9��9D|�9�&�9Dy�9D��9�&&:D�&:�:D�:D�":�+:D�+:D�0:�::D�::D�>:D�e:�s:D�s:D��:��:D��:D��:��:D��:D��:��:��:D��:D��:�=�L��:D��:D��:��:D��:�&;D�;D�
        !          4849: ;D�3;�&B;D�B;D�Q;�[;D�[;D�w;��;D��;D��;��;��;D��;D��;�=�L�&�;D��;D��;D��;D��;�=Z<D�
        !          4850: <D�<D�<D�<�=R<D�9<D�=<�=P<D�J<�= �= "�=@,�=@(
        !          4851: �=�>�(>�>@        >@>@>@!>�,)>�0/>�45>�8;>�b8�&?>�<C>�@I>�"D�L<D�L<��L<N>��M<Y>(��o�&^>(d�s�&c>\t>`"y>`"�>`0&�>`(�>��>^�>\�>`"�>`"�>`"�>`$&�>^�>\�>`"�>`�>` ?^?\?`b�&#?^&.?\:?`=?`G?`P?`V?`[?`
`?`

        !          4852: e?`l�k?`b"�o?`l$�t?`$z?^(�?\�?`�?`�?`�?`l�
        !          4853: �?`l��?^�?\�?`�?`�?`�?`"�?`"�?`"�?`"�?`�?`b�&�?^ @��M<@��=%@d�=+@�&Er�'/@$�=8@ DA@�(D@�O@�(R@�]@�b@��D  �=��=D�=�&�=D�=D>�&>�&   >D     >D>�&>D&>D+>�0>�&0>D0>Dg>�&�>D�>D�>�&�>D�>g@�k@�t@�v@�x@�@ |@���>D�>��>�@��>�@\�@`"�@`"�@`0&�@`(�@��@^�@\�@`"�@`"�@`"�@`$&A^A\A`"%A`-A`7A^BA\MA`b�&QA^&\A\hA`kA`uA`~A`�A`�A`
�A`

        !          4854: �A`l��A`b"��A`l$��A`$�A^(�A\�A`�A`�A`�A`l�
        !          4855: �A`l��A^�A\�A`B`B`B`"B`"B`"B`"B`B`b�&$B^ BB��>HB�>VBd�>aB�&Ex�'eB$�>nB�>xB2D�B��B��B��B�(�B��B�"D      �>��>D�>D
�>D�>D�>D�>D�>D�>D�>D�>D�>D�>D�>D?D
?D3?DQ?DW?�B��B��Y?DY?�Y?�B�Z?�B&�h�Bh��BK�B�J�B�J�B�J�B�J�B�J�B&���B���BuJ�BYJ�B7J�BJ�B
J�BJ�B&J�B�I&C�IC�I   C�I
C�IC�IC�IC�IC�I!C&��'C��
        !          4856: .C�I2C�I6C�I:C�I>C�IBCwIFCbIJC\INCKIRC9IVC$AZ?dC DrC�(uC��C�(�C��C��C��DCc?�c?DLc?�&i?DMi?�CIDNv?DNx?DO�?�C        IDN�?DP�?�&�?DR�?�C�?�&�?DU�?�@DV@DV@�@DW@�C�HDX7@�C�HDYD@DYK@�V@DZV@�C�H�y@DYy@D]�@D_�@��@D`�@D`�@��@Da�@�C�HDb�@�CVHDc�@Dc�@��@Dd�@�C@H�"ADc"ADg)ADi)A�C.HDjBADkOADlZA�vADmvADm{A��ADn�ADo�ADp�ADq�A�CHDs�A�C�GDu�A�C�GDv�ADx�A�C�GDy�ADzBD{B�*BD|*BD|/B�8BD}8BD~CBDHBD�OBD�^BD�vBD��BD��BD��B��BD��BD��B��BD��BD��BD��BD�"C�-CD�-C�C�G�DCD�DCD�IC�RC�RCD�RC�C�G�C�G�C�GD��CD��CD��C��CD��CD��C��CD��CD��CD��C��CD��C�C�GD�DD�D�C�G�$DD�$DD�3D�CwGD�@DD�OD�CjGD�\DD�kDD^GD�xD     DBG��D��DD��DD%GD��DD��DD��DD��DDGD��DD��DD�FD�
        !          4857: ED�ED�ED�FD�6ED�=E"D�FD�JED�PED�~E��ED��ED��E��ED��E'D�FD��ED��E,D�F1D�FD��E6D�FD� F;D�FD�MF@D�FD�zF�&zFD�zFED ��OD ��UD ��]D ��cD ��iD ��oD@,qD@
        !          4858: sD�(wD��D�,�D�0�D�@ �D��D�D �D�H �D�L �|FD�|F��|F�D��}F�D\�D`"�D`"�D`0&�D`(�D��D^&E\E`"E`"E`""E`$&%E^6E\AE`"HE`PE`ZE^eE\pE`b�&tE^&E\�E`�E`�E`�E`�E`�E`
�E`

        !          4859: �E`l��E`b"��E`l$��E`$�E^(�E\�E`�E`�E`�E`l�
        !          4860: �E`l��E^F\ F`#F`)F`/F`"3F`"6F`"9F`"<F`AF`b�&GF^ eF��}FpF�0K|Fd0K�F�&Ey�'�F$0K�F0K�F2D�F��F��F�(�F��F�"D  9K�9KD
9KDBKD�KD�K�F��F��F���KD�K��K�F��K�F$�K�F D�F�(�F��F�(�F�   G�G��D�K��KD�KD�KD �KG�MD!�K�&�KD#�KD#LD$LD$L�LD%LG�MD%L�%L�&%LD'%LD(/LG�MD)GLD)GL�&WLD*WLD+lLD,pLD-sL�wLD.wLD/�LD0�L��LD2�LD2�L��LD3�L��LD4�LG�MD5�L��LD7�LD8�LD8�LD9�LD:�L��LD2�LD<�L��LD=�L#G{M��LD>�LD>�L��L��LD@�L�MDAMDAM�MDCMDD0MDE4M'GlMDFMM�&ZMD)ZMDHfM+G "2G 9G@=G�(AG�MG@
        !          4861: SG@    YG@\G�b���`G@bG@�hMDIhM�IhMgG�IiMsG\�G`"�G`"�G`0&�G`(�G��G^�G\�G`"�G`"�G`"�G`$&�G^�G\H`"H`H`H^$H\/H`b�&3H^&>H\JH`MH`WH``H`fH`kH`
pH`

        !          4862: uH`l�{H`b"�H`l$��H`$�H^(�H\�H`�H`�H`�H`l�
        !          4863: �H`l��H^�H\�H`�H`�H`�H`"�H`"�H`"�H`"�H`I`b�&I^ $I�IiM-II�M6Id�M<I�&E��'@I&h�DI�II��ZI+N]I*N`I#NcINfINiI�MlI�MpI�MtI�MxI�M|I �I��I�M�I�M�I\�I`"�I`"�I`0&�I`(�I��I^�I\�I`"J`"J`"J`$&J^J\*J`"1J`9J`CJ^NJ\YJ`b�&]J^&hJ\tJ`wJ`�J`�J`�J`�J`
�J`

        !          4864: �J`l��J`b"��J`l$��J`$�J^(�J\�J`�J`�J`�J`l�
        !          4865: �J`l��J^�J\    K`K`K`K`"K`"K`""K`"%K`*K`b�&0K^ NK��MTK0N]Kd0NcK�&E��'gK$
        !          4866: 0NqK D{K�(~K��K�(�K��K��K��D9N�9ND9NDXN�&NDND�N�&�ND�ND�ND�N�K�ND�N�K��K��K�8 �K��K�bD �      �K�bX ���ND�N��N�K��N�K\�K`"�K`"�K`0&L`(L�L^(L\9L`">L`"CL`"IL`$&LL^]L\hL`"oL`wL`�L^�L\�L`b�&�L^&�L\�L`�L`�L`�L`�L`�L`
�L`

        !          4867: �L`l��L`b"��L`l$��L`$�L^(�L\M`
        !          4868: M`M`M`l�
        !          4869: M`l� M^)M\GM`JM`PM`VM`"ZM`"]M`"`M`"cM`hM`b�&nM^ �M��N�M$O�Md$O�M�&E��'�M&�l�Ml�M���M&(x�Mx�M��M$$O�M$O�M2D�M�"D-O�-OD-ODKODgODtOD�OD�OD �O�&�OD!�OD"�OD"�O�&�OD�OD$�O�&�OD%�O��OD&�OD'�O�M�R��O�&�O�&�OD+�OD,�ON}R�&PD/PN@N�b�N�$N�N@
        !          4870: !N�L %N��PD0P�0P1N�0P9N$2PFN DSN�(VN�aN�(dN�oN�tN��D3P�PD4P�&$PD5$PD5)P�&.PD6.P�&:PD7:PyNcR�JPD8JPD8OP�TP�&TPD:TP�&lPD;lPD;qP�&vPD<vP�xPD=xP�=xP}N�=yP�N$?zP�N D�N�(�N��N�(�N��N��N��D@|P�|PDA|P�&�PDB�PDB�P�&�PDC�P�&�PDD�P�NHR��PDE�PDE�P��P�&�PDG�P�&�PDH�PDH�P�&�PDI�P��PDJ�P�J�P�N�J�P�N$L�P�N D�N�(�N��N�(�N�
        !          4871: O�O��DM�P��PDN�P�&�PDO�PDO�P�&�PDP�P�&QDQQO,R�QDRQDRQ� Q�& QDT Q�&8QDU8QDU=Q�&BQDVBQ�DQDWDQ�WDQO�WEQ O$YFQ,O D8O�(;O�FO�(IO�TO�YO��DZHQ�HQD[HQ�&VQD\VQD\[Q�&`QD]`Q�&lQD^lQ^OR�|QD_|QD_�Q��Q�&�QDa�Q�&�QDb�QDb�Q�&�QDc�Q��QDd�Q�d�QbO�d�QnO$f�Q{O D�O�(�O��O�(�O��O��O��Dg�Q��QDh�Q�&�QDi�QDi�Q�&�QDj�Q�&�QDk�Q��QDl�QDl�Q��Q�&�QDn�Q�&RDoRDo        R�&RDpR�RDqR�qR�O�qR�O\�O`"�O`�O`h�O��
        !          4872: �O^��O\�O`"&P`    P`P`P`P^%P\0P`"6P`";P`$&BP`$&JP`$&OP`$&VP`$&^P^iP\zP`"P`"�P`0&�P`(�P��P^�P\�P`"�P`"�P`"�P`$&�P^�P\�P`"�P`Q`Q^Q\%Q`b�&)Q^&4Q\@Q`CQ`MQ`VQ`\Q`aQ`
fQ`

        !          4873: kQ`l�qQ`b"�uQ`l$�zQ`$�Q^(�Q\�Q`�Q`�Q`�Q`l�
        !          4874: �Q`l��Q^�Q\�Q`�Q`�Q`�Q`"�Q`"�Q`"�Q`"�Q`�Q`b�&�Q^ R�qR#Rq�R.Rd�R6R�&E��':R CR�NRVdQRNdTR�Y\R�ZeRL_mR�qRJduRFdyRBd}R>d�R;d�R8d�R3d�R.d�R$)�R�R�R�R2D�R��R�"D+�R��R�&�RD1�RD1�RD1SD1SD1-S�Rd�&HSD2HS�R&dD3USD3XSD4\S�R�cD3�SD5�S�R�cD7�S�R&����R@�R�(�R��R�8 �R���SD8�S�8�S�R�8�S�R$:�S�R�S�R2D�R��R�"D<�S��S�&�SD@�SD@�SD@TD@TD@-T�&HTDAHT�R�cDBUT�R�cDCgT�RwcDDyT�R��R�S�8 S��{TDE{T�E{TS�E|TS�Svc!Sqc&Sjc+Sbc0SZc5S$G|T8S|T<S2D?S�CS�"DI�T��T�&�TDO�TDO�TDO�TDO�TDO�T�&UDOUDPUGSFcDQULS9cDR&UDR)UDS.UDR^UDTbUQS7cDUoUVS�bDW�U[S�bDY+V`S&���dS@fS�(jS�vS�8 zS��-VDZ-V�Z-V�S�Z.V�S��S�b�S�b�S�b�S�b�S$\.V�S.V�S2D�S��S�"D^7V�7V�&7VDc7VDc\VDcxVDc�VDc�V�&�VDc�VDd�V�S[bDgW�S&����S�(�S��S�8 �S��WDhW�hW�S�hW�S��SWb�STb�SPb�S$jW�SWT2DT�T�"DlW�W�&WDrWDrDWDr`WDrmWDr�W�&�WDs�WT2bDt�WDt�WDu�WDt�WDv�WTbDxXT�aDz]XT&���T@!T�(%T�1T�8 5T��_XD{_X�{_X>T�{`XBT�GT�aLT�aQT�aVT$}`XYT`X]T2D`T�dT�"DiX�iX�&iXD�iXD��XD��XD��XD��X�&�XD��XhT�aD��XD�YD�YD�YD�>YD�BYmT�aD�\YrToaD��YwT&���{T@}T�(�T��T�8 �T���YD��Y���Y�T���Y�T&��T��Tga�T\a�TTa�TNa�T$��Y�T2D�T�(�T��T��T��D��Y��YD��Y�&�YD��Y�T/aD��Y�&�YD��Y�&�YD��YD��YD��YD��YD��YD��YD��YD��Y�&�YD��YD��Y�TaD�
ZD�ZD�"ZD�2ZD�7ZD�GZD�LZD�\ZD�aZD�qZD�vZD��ZD��Z�T@��ZD��Z���Z�T���Z�T&h$&U$U��UaUaUa#Ua(U�`-U�`2U�`7U�`<U�`AU�`FU�`KU�`PU�`UU�`ZU�`_U�`dU�`iU�`nU�`sU�`xU$��Z�U2D�U�(�U��U��U��D��Z��ZD��ZD��ZD��ZD��Z�&�ZD��ZD��ZD��Z��ZD��ZD��Z��ZD��Z�&�ZD��Z�&�ZD��Z�U�`D��ZD��ZD��Z�U�`D�[D�[�U�`D�([D�*[D�:[D�g[D�k[�U�`D�x[�&�[D��[D��[D��[D��[D��[D��[D��[D��[D��[D��[�&�[D��[�Uw`D��[D��[D�\�Uq`D�6\D�:\D�G\�&O\D�O\�&T\D�T\D�d\D�h\D&x\D&x\D�z\D&&\D&�\D&�\��\D&�\�UW`D&�\��\D&�\D&�\�&�\D
        !          4875: &�\D&�\�U@(�U��U@
        !          4876: �U@    �U@��U��U@�U��&�U��@��\D&�\�&�\�U�&�\V$&�\V�\V2DV�V�"D&�\��\�&�\D&�\D&-]D&I]D&V]D&}]�&�]D&�]VD`D&�]V`V`D&�^$V�_D&H_)V�(-V�9V�8 =V�FV�< �J_D&J_�&J_HV�&K_KV&�dQVd�XV�_]V�_bV�_gV�_lV$ &L_sV2DzV�(}V��V��V��D"&N_�N_D3&N_D4&P_�V�_D5&j_D6&z_D7&_�V@��_D8&�_�8&�_�V�8&�_�V\�V`"�V`�V`h�V��
        !          4877: �V^��V\�V`"�V`�V`�V`�V`W^W\W`"W`""W`$&)W`$&1W`$&6W`$&=W`$&EW^PW\aW`"fW`"nW`0&wW`({W��W^�W\�W`"�W`"�W`"�W`$&�W^�W\�W`"�W`�W`�W^&X\X`b�&X^&X\'X`*X`4X`=X`CX`HX`
MX`

        !          4878: RX`l�XX`b"�\X`l$�aX`$gX^(sX\|X`X`�X`�X`l�
        !          4879: �X`l��X^�X\�X`�X`�X`�X`"�X`"�X`"�X`"�X`�X`b�&�X^ &Y�8&�_    Y8&`dYd`dY�&E��' Yt#Y$`d,Y D5Y�9Y�>Y��EY�QY�"D
        !          4880: id�idDidD�dD�dD�dD�dD�dUY7gD�dYY/gD  eD
eDe]YgaYgeY#gDBeDGeiY�fDTeDaeDjeDneD yemY�e�&�eD#�eD$�eD&�eD'�eD(fD*
        !          4881: fD+fD,1fD-MfD/OfqY�fD0af�&jfDjfD2sfD3�fD4�fD5�fD6�fD7�fD8�fuY&dt�zY@�}Y��Y@(
        !          4882: �Y��Y��Y��Y�8 �Y��Y@        �Y@�Y�< ��fD9�f�9�f�Y�9�f�Y\�Y`"�Y`�Y`h�Y��
        !          4883: �Y^��Y\
        !          4884: Z`"Z`Z`Z`"Z`'Z^3Z\>Z`"DZ`"IZ`$&PZ`$&XZ`$&]Z`$&dZ`$&lZ^wZ\�Z`"�Z`"�Z`0&�Z`(�Z��Z^�Z\�Z`"�Z`"�Z`"�Z`$&�Z^�Z\[`"[`[`[^([\3[`b�&7[^&B[\N[`Q[`[[`d[`j[`o[`
t[`

        !          4885: y[`l�[`b"��[`l$��[`$�[^(�[\�[`�[`�[`�[`l�
        !          4886: �[`l��[^�[\�[`�[`�[`�[`"�[`"�[`"�[`"�[`\`b�&
        !          4887: \^ (\�9�f0\9Tg;\dTgC\�&E��'G\ P\�[\0s^\)sa\�li\�mr\�v\%sz\!s~\s�\s�\s�\s�\s�\    s�\$(Tg�\Tg�\2D�\��\�"D*]g�]g�&]gD0]gD0�gD0�gD0�gD0�g�\�r�&�gD1�g�\�rD2�gD2�gD3�g�\�rD2(hD4,h�\�rD6Hh�\&����\@�\�(�\��\�8 �\��JhD7Jh�7Jh�\�7Kh�\$9Lh�\Lh�\2D�\��\�"D;Uh�Uh�&UhD?UhD?zhD?�hD?�hD?�h�&�hD@�h�\�rDA�h�\qrDB�h�\RrDC     i�\�]�     ]�8 
]��iDDi�Di]�Di]� ]Qr%]Mr*]Hr/]Ar4]9r9]1r>]$FiA]iE]2DH]�L]�"DHi�i�&iDNiDN:iDNViDNciDN�i�&�iDN�iDO�iP]rDP�iU]rDQ�iDQ�iDR�iDQ�iDS�iZ]rDT�i_]�qDVfjd]�qDX�ji]&���m]@o]�(s]�]�8 �]���jDY�j�Y�j�]�Y�j�]$[�j�]�j�]2D�]��]�"D]�j��j�&�jDa�jDa�jDakDakDa/k�&JkDaJkDbJk�]jqDdzk�]��]��]�8 �]��|kDe|k�e|k�]�e}k�]��]gq�]cq�]$g~k�]~k�]2D�]��]�"Di�k��k�&�kDo�kDo�kDo�kDo�kDo�k�&lDpl�]FqDqlDqlDr#lDs,lDq\lDt`l�]5qDuzl�]qDw�l�]&���^@^�(^�^�8 ^���lDx�l�x�l!^�x�l$^&�+^�3^�p8^�p=^�pB^�pG^$|�lN^2DU^�(X^�c^�h^��D~�l��lD��l�&�lD��lm^�pD��l�&�lD��l�&�lD��lD��lD��lD�mD�mD�mD�     mD�
m�&mD�mD�mr^�pD�+mD�;mD�@mD�PmD�UmD�emD�jmD�zmD�mD��mD��mw^@��mD��m���m{^���m�^&h �^ �^���^�p�^�p�^�p�^�p�^�p�^�p�^�p�^�p�^�p�^up�^rp�^fp�^Yp�^Vp�^Sp�^$��m�^2D�^�(�^�_� _��D��m��mD��mD��mD��mD��m�&�mD��mD��mD��m��mD��mD��m��mD��m�&�mD��m�&�mD��m_@pD��mD��mD��m_;pD�!nD�%n_9pD�2nD�4nD�DnD�qnD�un_,pD��n�&�nD��nD��nD��nD��nD��nD��nD��nD��nD��nD��n�&�nD��n"_pD��nD�&oD�o'_pD�@oD�DoD�Qo�&YoD�Yo�&^oD�^oD�noD�roD��oD��oD��oD��oD��oD��o��oD��o,_�oD��o��oD��oD��o�&�oD��oD��o1_@(3_�?_@
        !          4888: A_@    F_@�I_�U_@Y_��&^_��@��oD��o���oj_���or_\~_`"�_`�_`h�_��
        !          4889: �_^��_\�_`"�_`�_`�_`�_`�_^�_\�_`"�_`"�_`$&�_`$&&``$&``$&
``$&`^ `\1``"6``">``0&G``(K`�\`^m`\~``"�``"�``"�``$&�`^�`\�``"�``�``�`^�`\�``b�&�`^&�`\�``�``a`
a`a`a`
a`

        !          4890: "a`l�(a`b"�,a`l$�1a`$7a^(Ca\La`Oa`Va`\a`l�
        !          4891: `a`l�ea^na\�a`�a`�a`�a`"�a`"�a`"�a`"�a`�a`b�&�a^ �a�M&�o�aM&<s�ad<s�a�&E�&r(�a$<s�a Db�(b�b�(b�b�!b��D  Es�EsDEs�&KsDKs&b�uDSs�&\sD\sDmsD~sD�sD�s)b�uD�s�&�sD�s-b�u��sD�s�tDtDt�t�t�&tD!tD"tD#Dt�&`tD$`tD$et�&ntD%ntD&~tD'�tD(�t1b�uD)�tD*�tD*�t�&�tD+�tD+&uD,uD.Ju�huD/huD/mu�ruD0ruD1uuD2yu�&�uD*�uD4�u5b�9b�Bb@Db@
        !          4892: Ib@    Kb�8 Ob�[b@^b@(ab�b@�b�< �b�@ �b�"D �b�H �b�L �b�P ��uD5�u�5�u�b�5�u�b\�b`"�b`"�b`0&�b`(�b��b^�b\c`"c`"c`"c`$&c^&c\1c`"8c`@c`Jc^Uc\`c`b�&dc^&oc\{c`~c`�c`�c`�c`�c`
�c`

        !          4893: �c`l��c`b"��c`l$��c`$�c^(�c\�c`�c`�c`�c`l�
        !          4894: �c`l��c^�c\d`d`d`d`"#d`"&d`")d`",d`1d`b�&7d^ Ud�5�u\d5�uhdd�uqd�&E\�'ud ��{de|~dX|�dJ|�dE|�d0|�d+|�d&|�d!|�d|�d|�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�d�{�dz{�dt{�dn{�d[{�dO{�dF{�d<{e3{e-{
        !          4895: e'{e!{e{e{e{e    {"e{&e�z*e�z.e�z2e�z6e�z:e�z>e�zBe�zFe�zJe�zNe�zRe�zVe�zZe�z^e�zbe�zfe�zje�zne�zre�zve�zze�z~e|z�evz�epz�ejz�edz�e^z�eXz�eRz�eLz�eFz�e@z�e:z�e4z�e.z�e(z�e"z�ez�ez�ez�e
        !          4896: z�ez�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�y�e�yf�yf�y
f�yf�yf�yf�y!f�y&f�y+f�y0f�y5fzy:fty?fnyDfhyIfbyNf\ySfVyXfPy]fJybfDygf>ylf8yqf2yvf,y{f&y�f y�fy�fy�fy�fy�fy�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�x�f�xg�xg~xgxxgrxglxgfx g`x%gZx*gTx/gNx4gCx9g6x>g0xCg*xHg$xMgxRgxWgx\gxagxfgxkg�wpg�wug�wzg�wg�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g�w�g~w�gxw�grw�glw�gfw�g`w�gZw�gTw�gNw�gHw�gBw�g<w&h6wh0wh*wh$whwhwhw$hw)hw.hw3h�v8h�v=h�vBh�vGh�vLh�vQh�vVh�v[h�v`h�veh�vjh�voh�vth�vyh�v~h�v�h�v�h�v�h�v�h�v�h�v�h|v�hvv�hpv�hjv�hdv�h^v�hXv�hRv�hLv�hFv�h@v�h:v�h4v�h.v�h(v�h"v�hv�hv�hv�h
        !          4897: vivi�u
        !          4898: i�ui�&�ui&l|$idl|-i�&E]�'1i ��7i�:i
�=i�@i�Ci��Fi��Ii�Li�Oi�Ri�Vi��Ziۂ^iւbiтfîjiǂni��ri��vi��zi��~i���i���i���i���i���i���i���i��iy��is��im��ig��ia��i[��iU��iO��iI��iC��i=��i7��i1��i+��i%��i��i��i��i
��i��i&��i���i���i��i�j�j݁
        !          4899: jׁjсjˁjŁj��j��"j��&j��*j��.j��2j��6j��:j��>j��Bj��Fj}�Jjw�Njq�Rjk�Vje�Zj_�^jY�bjS�fjM�jjG�njA�rj;�vj5�zj/�~j)��j#��j��j��j��j��j��j���j���j��j��j��j��jۀ�jՀ�jπ�jɀ�jÀ�j���j���j���j���j���j���j���j���j���j���j��k{�ku�
        !          4900: ko�ki�kc�k]�kW�#kQ�(kK�-kE�2k?�7k9�<k3�Ak-�Fk'�Kk!�Pk�Uk�Zk�_k    �dk�ik�nk�sk�xk�}k��k��k��k��k��k��k��k��k��k��k��k��k��k��k��k~�kx�kr�kl�kf�k`�kZ�kJ�k>�k)�k�k�~l�~ l�~l�~l�~l�~lv~"lm~'l^~,lX~1lR~6lL~;lF~@l@~El:~Jl4~Ol.~Tl(~Yl"~^l~cl~hl~ml
        !          4901: ~rl~wl�}|l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�l�}�lz}�lt}�ln}�lh}�lb}�l\}mV}mP}
mJ}mD}m>}m8}!m2}&m,}+m&}0m }5m}:m}?m}Dm}Im}Nm�|Sm�|Xm�|]m�|bm�|gm�|lm�|qm�|vm�|{m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m�|�m~|�mx|�mr|�ml|�m�&l|�m&��md��m�&E_�'�m ���m.��m"��m�n�n
        !          4902: �n�n�n��n��n�n�n� n�$n܋(n׋,nҋ0n̋4nƋ8n��<n��@n��Dn��Hn��Ln��Pn��Tn��Xn��\np�`n\�dnK�hn.�ln(�pn"�tn�xn�|n��n
        !          4903: ��n���n���n���n��n��nЊ�n���n���n���n���n���n���n���n���n���n���n~��nx��nr��nl��nf��n`��nZ��nT��nN��nH��nB��n<��n6��n0��n*�o$�o�o�o�o�o�o�o�� o�$o�(o�,o�0o܉4o։8oЉ<oʉ@oĉDo��Ho��Lo��Po��To��Xo��\o��`o��do��ho��lo��po|�tov�xop�|oj��od��o^��oX��oR��oL��oF��o@��o:��o4��o.��o(��o"��o��o��o��o
        !          4904: ��o��o���o���o��o��o��o���oڈ�oԈ�oΈpȈpˆ
p��p��p��p��!p��&p��+p��0p��5p��:p��?p��Dpz�Ipt�Npn�Sph�Xpb�]p\�bpV�gpP�lpJ�qpD�vp>�{p8��p2��p,��p&��p ��p��p��p��p��p��p���p���p���p��p��pއ�p؇�p҇�ṗ�pƇ�p���p���p���p���p���p���p��q��q��q��q��q~�qx� qr�%ql�*qf�/q`�4qZ�9qT�>qN�CqC�Hq=�Mq0�Rq�Wq��\q��aq�fq�kq�pq�uqۆzqՆqφ�qɆ�qÆ�q���q���q���q���q���q���q���q}��qp��qj��qd��q^��qX��qR��qL��qF��q@��q:��q4��q.��q(��q"��q�&r�r�r
        !          4905: �r�r��r��r�$r�)r�.r��3rڅ8rԅ=r΅BrȅGr…Lr��Qr��Vr��[r��`r��er��jr��or��tr��yr��~r���r ���r{��rv��rt��ro��rj��re��r`��r[��rU��rO��rI��rC��r=��r7��r1��r+��r%��r��r��r��r
��r��r&��r��&s��s�s�s�s�sۄsՄ$s ��.s��3s��8s��=sy�Bsb�GsK�Ls4�Qs�Vs    �[s��`s�es̓js��os��ts��ys}�~s ���sx��sj��sM��s3��s��s���s@��sd@��s�&E��'�s&`3�s`3�s �s$
@��s D�s��s�(�s��s��s�(�s�t�t�"DE��E�DE�DH�DP��&X�DX�t���p�Dp�D������&��D��D���&ҌDҌt�D!�D"�D#���&�D&��&     �D'     ��,�D(,�D)2�D+8�t܏D,H��J��&J��&J�D/J��e�D0e�D1u��{�D3{��&��D6���&��D7��D8���&��D:��t�t����D;���;��t�;��#t&�h3(th3�.t׏2tǏ6t��:t��>t��Bt��Ft��Jts�Nt$E��St DXt�at�(et�nt�st�(wt��t��t�"DF�����DL��DN��DP���&ߍDQߍDR�DS��DT���&&�DV�DW��&�DX�DY"�DZK�D[m�D\x����D]�����D^�����D_��D`��DaԎDb��Dc�����������Dg��Dh�Di�Dj*��tl�Dkc��&h�Dmh��t��t��t��t�b��t��t�b��t��j�Dnj��nj��t�nk��t �t 0&�t\�t`"�t`"�t`0&�t`(�t�u^u\0u`"5u`":u`"@u`$&Cu^Tu\_u^ju\uu`b�&yu^&�u\�u`�u`�u`�u`�u`�u`
�u`

        !          4906: �u`l��u`b"��u`l$��u`$�u^(�u\�u`�u`�u`�u`l�
        !          4907: �u`l��u^v\%v`(v`.v`4v`"8v`";v`">v`"Av`Fv`b�&Lv^ jv�nk�qvn�|vd��v�&E�r(�v$  ��v D�v�(�v��v�(�v��v��v��D       ��     �D     �D��vv�D�D!�D!��&-�D-�D;�D^��z�Dz�D����D��D���vg�D��D���v]����D���v5�D!�D"&��v)�D#,��v'��9��&9�D9�D&A��v��v��v�8 �v��v@�v@
        !          4908: �C�D'C��'C��v�'D�w&��3w�3�w�w�w�"w��&w�*wؒ.wɒ2w��6w��:w��>w��Bw~�Fwx�Jwh�Nw]�RwO�Vw$=D�cw Ppw�,uw�"zw�D?I��I�DDI�DE[��&a�DFa�DGn��w�DI���w��&̑�&ΑDKΑ�w��&��w���DM��M��w�M��w "�w\�w`"�w`"�w`0&�w`(�w��w^�w\x`"x`"
x`"x`$&x^'x\2x`"9x`Ax`Kx^Vx\ax`b�&ex^&px\|x`x`�x`�x`�x`�x`
�x`

        !          4909: �x`l��x`b"��x`l$��x`$�x^(�x\�x`�x`�x`�x`l�
        !          4910: �x`l��x^�x\y`y`y` y`"$y`"'y`"*y`"-y`2y`b�&8y^ Vy�M�^yMx�jydx�ty�&E��'xy$x��y P�y�"�y�"Dz��z�D
        !          4911: z�D���yӓD
���y̓�y �y ���y �ʓDʓ�ʓ�y�˓�y\�y`�y`�y`�y`�y`�y`
�y`

        !          4912: �y`l��y`b"��y`l$�z`$z^(z\z`z`%z`+z`l�
        !          4913: /z`l�4z^=z�˓Gz�Tzd�_z�&E��'cz$�lz Puz�,yz�}z�"D���D�D  ��D
        !          4914: �D
        !          4915: �D�D�D�D
        !          4916: �D
"�D>��z@,�F�DF��F��z�G��z\�z`�z`�z`�z`�z`�z`
�z`

        !          4917: �z`l��z`b"��z`l$��z`$�z^(�z\�z`�z`�z`�z`l�
        !          4918: {`l�{^{�G�{H�&{dH�/{�&E��'3{$H�:{ NA{�,DJ��J�DJ�D  V�D
        !          4919: j�D~�D��E{@���D
���
��G{�
��N{\Z{`]{`g{`p{`v{`{{`
�{`

        !          4920: �{`l��{`b"��{`l$��{`$�{^(�{\�{`�{`�{`�{`l�
        !          4921: �{`l��{^�{�
���{
���{d���{�&E��'�{$���{ P�{�,�{��{�(�{�D  �����D��D���&��D��D���͔D͔DєDޔ|ږD����D��D�D�|ԖD�D�D��"�D"�D1�DZ�|Ζ�v�Dv�Dz�D ��!|ȖD!��D!�����D"��D"ϕD#��D$   �%|ĖD%��-�D'-�)|��D'=�D(?�-|��D(O�D)Q�1|��D)a��a��a�D!a�D,i��&��D��D.��5|��9|@;|@
        !          4922: >|@    @|@,B|�l � F|@���D/���/��N|�/��Q|\b|`"g|`"o|`0&x|`(||��|^�|\�|`"�|`"�|`"�|`$&�|^�|\�|^�|\�|`b�&�|^&}\}`}`}`%}`+}`0}`
5}`

        !          4923: :}`l�@}`b"�D}`l$�I}`$O}^([}\d}`g}`n}`t}`l�
        !          4924: x}`l�}}^�}\�}`�}`�}`�}`"�}`"�}`"�}`"�}`�}`b�&�}^ �}�/���}/���}d��~�&E�r(~&b�3~�3�~$H��&~ �DJ���DM�DN�DO��DP�DQ    �7~@(=~���DR��R�M~�R
�^~$e�o~ P�~�$Di���Dj�Dl�Dm��~@(�~��&�Dn&��n&��~�n'��~$�(��~ ��~�$�~�"D�-��-�D�-�D�1�D�>��&B�D�B�D�E��&N�D�N�D�[�D�e��&l�D�l�D�y����D������D���D���D���D���D����~��~�"�&��D���D���D�ėD�Ǘ�&ǗD�ǗD�ɗ�ܗD�ܗ��D����D����D����D����D��D�����D������D����~@�&
        !          4925: ��~@(�~�@"
        !          4926: @    ���D�����!��
�1\A`"H`P`Z^j\{`�`�^�\�`�`�^�\�`�`�^�\�`�`�`�`"�`"     �`"�`"�`�`b�&�^ 8�\C�`N�`X�``�`"i�`(q��|�^��\��`"��`��^��\��`(ǀ�ˀ`р`ր`�ۀ`(���`(����^�\�`0&$�`$/�`(7��F�^U�\[�`a�`0&f�`$q�`(y���^��\��`"��`��`��`(�����`(�Ɓ`(ρ�Ӂ`݁`(����`( ����`$�`((��&�`,/�`0;�`(4B��M�`"8Z�`"<d�`"@m�`Dv�`H}�`L��`(P�����`(T�����`bX����^ &��\ł`(ʂ�т`"ق`(����^�\�`"�`��`�`(���`(���`b�$�^(�\0�`$&5�`$@�`0&K�`(S��[�`b�`�^h�\s�`"z�`��`��^����
�������d����&E�r(��&bL4ƒL4�Ƀ&��4Ճ�4��k��f��`��Y��P��J���E���@���;�&�6��2� �*�
�#���������!� �%��)���-���1��5��9��=�ިA�٨E�ըI�ΨM�ǨQ�¨U���Y�&�05f�05�t�$|��� ����D~���D��D�"�D�*�D�-�D�0�D�3�D�6�D�9�D�<�D�?�D�B�D�E�D�H�D�K�D�N�D�Q�D�W�D�Z�D�]�D�`�D�c�D�f�D�i�D�w��&{�D�{�D���D���D���D���D���D����&��D���D�����@(�����@�
        !          4927: ��@�    ��@(Ą����D�������̄����݄$���� P���(����0&��$D�Ř�ŘD�ŘD�ʘD�֘D�ژD�ߘD���@(%��4��(9����D�����@����P�$��a� Pr��(y��D������D���D���D����&&�D�&��&�D��D���&�D��D&��&"�D�"�D&(�D&,��&0�D
        !          4928: &0��5�D&5��<�D
&<��&E�D        &E�D&K�D&N�D&W��&\�D&\��&f�D&f��&k�D&k�D&u��&~�D&��D&���&��D&���&��D&��D&����@(�����@(
        !          4929: �����@(        �����@(������D&���&��Å�&��ԅ$N&��� P���(���
        !          4930: ��"��$&��$"��0&DX&�����DY&��D\&��D]&��D^&ՙD_&ٙD`&ޙDa&�Db&�Dc&��-�@(4��<��(A���&�Dd&&��d&&�H��d&�Z�$w&�l� P~��(������"D|&���D}&�D�&�D�&��&"�D�&"��'�D�&'��.�D�&.�D�&7��&@���@(������(����@�D�&@���&@�����&A�ņ$�&B�Ά D׆�(ކ���"�����D�&K��K�D�&K�D�&Q�D�&Y�D�&^�D�&c�D�&f�D�&i�D�&m�D�&q��&v�D�&v�D�&��&��D�&��D�&��D�&��D�&���&��D�&������D���&��D��D��D���&��D���&Ú�&ŚDŚ�&ɚD
        !          4931: ɚ�&ΚDΚ�&ԚDԚDؚ�&�D����D�����D&���D�D���D���D �D!�����D�D$#��#�D-#�D.'�D/*�D09�D1<�D8E��E�D9E��,��,�DD,��@�DE@�DFE�DGI��O�DIO�DIS�DJU��`�DK`��c�DMc��i��i�DQi��o�DRo�DSr����DU��DV����d�DW���Ŝ�Ŝ�ŜDZŜDZɜD[˜�֜D\֜�ٜ�ٜD_ٜ�ߜ�ߜDcߜ��Dd���De�De��Df�����Dh��Di����
�Dk
�Dl��O�DnO�DoT��A�Dp]��c��c�Dsc��c��c�D}c��h�D~h�D~l��n��t�D�t�D���D������D������D���D����D�D�ѝD���D���D���D��D����D����D��D��� �D� ��*�D�*�D�0�      ��<&��"@&�@�D�@�D�O���8&�T�D�T��Z��Z�D�Z��_�D�_�D�b��d��j�D�j�D�����D���D������D������D���D������D���D���D�����"8&���D���������D����ÞD�Þ�ɞD�ɞD�͞D�Ϟ�՞�՞D�՞�ߞD�ߞ��D��D��D������D����D��������D����D��D������D���"�D�"�D�(��.�D�.�D�4�D�6�D�8�D;��G�DG�D       V�Dn�Dp��v�Dv��}�D}�D�����D�����D��$���8&���D��D�����D��������D$�����D%�����D&�����D(��D)�����D5��D6џ�֟D7֟D7֟�ܟD8ܟ�ߟD7ߟD:�����D<�D=�����D?��,��8&������DK�����DL��4�1�DM���DO���DP�9�!�DQ��"�DS"��0�DT0�DU6�>��DV?��E�DXE��E��E�D\E�D\H�D]J��J��J�D`J�DiL��X�DmX�Dne�Dot�Dp��Dq��Dr��Dr�����Ds�����Dr��Du�����Dv�����Dx��DyĠC��8&I��"<&�Ԡ�ԠD�ڠ��D����D����D��D������D����&�D�&���D��D��D���$�D�$�D�2�Q�˧V��D�I�D�N��T�D�T�D�Y�D�]��a�D�a��g�D�g��i�D�i�D�n�D�p�D���[��4&���D���D������D���D���������D������D���D���D������D���D�ǡ�ʡD�ʡD�ҡD�աD�����D������&��D��D����&
        !          4932: �D�
        !          4933: ��&�D���&�D���&'�D�'�D�*��&/�D�/��6�D�6��:�D�:��F�D�F�D�T��[�D�[�a����b�D�d��k�D�k�f����r��t�D�t�D�|�k�f����D������D������D�������&��D����&ȢDȢD̢DҢ�ڢDڢ��D�����D�D�D���D      ���D
        !          4934: �����D�D�p�e�D�D.��4�D4��C��E�DE�DN��X�DX�u�`��a��a�Da��h�Dh�D m��v�D#v����D*�����D+��z�C�������D/��� ��ͣ�ͣ�ϣD4ϣ��&���D7�D8�����"4&���8&���"<&�&���&��D:���&�D<��&�DE�DF�DF#��4��4�DG4�DJ:�DJA��M��M�DJM�DMS��`�DN`��l�DPl��}�DQ}����DS�����DT������������DV������ҤDYҤ���"4&���"8&�&פD\פ��@"��@"
        !          4935: ��@(    ���Ƈ@(χ�Շ@ׇ@�܇���"��(��������"����"�� "��b���.���7���>��"�G��"�Q��"�[��"&_��&g���,&�
        !          4936: r��"0&�ݤD]ݤ�]ݤx��]ޤ��$�ޤ�� ����(���������0&���$D����D��D��D��D���D���D���D��D��Ɉ@(҈�؈@(
        !          4937: ݈��
        !          4938: �D�
        !          4939: ���
        !          4940: ������$��� P��(��&��$D����D��D��D���&�D��D�!��&*��&,�D�,�D�0��4�D�4��:�D�:�D�?�D�H��J��J�D�J��&P�,�@(1��8�@(
        !          4941: A��G�@(        Q���P�D�P���P�W���Q�g�$�R�x� P���(������"D�W��W�D�W�D�[��&l�D�l����D������D������D���D���D���D�ǥD�ץ���"���"����&��&�D��D���&���@(‰���D�����ɉ���ډ$�� �������(�����"��D
        !          4942: ��
        !          4943: �D"
        !          4944: �D#�D#��&�D+��3�D,3��7�D-7�D.<�D/E��M�D1M��V��&V�D$V�D4_��&d�D5d��&h�D7h��ئD8}��&��D9���&��DC��DD��DE��DE���&��DG�����DH���ĦDIĦ�ȦDKȦ�˦�&˦DF˦DNԦ�@(��'�@(
        !          4945: +��3�@        5�@(;��C�@J�@"�צDOצ�OצS��Oئ^�\i�`t�`~�`��`"��`(�����^��\��`"Ċ`͊^܊\�`(���`��`��`�&�`(���`("��,�^6�\E�`0&J�`$U�`(]��l�^{�\��`��`0&��`$��`(�����^��\��`"��`��`ˋ`(֋�ދ`(���`(�����`�`(���`( "��,�`$6�`((=��L�`,U�`0a�`(4h��s�`"8��`"<��`"@��`D��`H��`L��`(P�����`(TČ�ӌ`bX��ߌ^ &�\�`(�����`"��`(��
        !          4946: �^�\�`"�`%�`+�`(5��9�`(A��E�`b�J�^N�\V�`$&[�`$f�`0&q�`(y����`b���^��\��`"��`��`��^��\΍`Ӎ`׍^�\�`�`��^��\
�`�`�^(�\F�`I�`O�`U�`"Y�`"\�`"_�`"b�`g�`b�&m�^ ���Oئ��Ot���dt����&E�r(��&b�5���5���$;t�ʎ D׎�$ݎ�(�������DAv��v�DCv��&|�DD|�����DE���&��DG�����DH���H�����H��    �$\��� D!��$'��(.��9��>���Db�����Dh���&��Di��C�r�G���Dl���&ɩDnɩDoѩDpөK�o��&�Dq��&��&�Ds��&�Du�Du��&��Dz��� �D{     �O�I�D}��%�D�%�D�*��.�D�.��J�D�J��L��L�D�L�D�P��T�D�T�S�A��r�D�r��v�D�v����D���D������D������D���D������D������D���D����êD�ê�ԪD�ԪD�ت�ڪ�ڪD�ڪD�ުD����D����W�@"Y�@[��c����&�Du�D����&��D���D����D��k�*�D�2�o��bd�d�?�D�?��&D�D�D�s�@u�@"
        !          4947: |�@    ��@�F�D�F���F�����G���$�H��� D���$���(���Ə�ˏ��D�M��M�D�M��&[�D�[�Џ��D�n��&s�D�s�D����&��D����&��D���D���ԏ��D�˫؏��ͫD�ͫ��ͫߏ��Ϋ�$�Ϋ�� D��$��(�� ��%���D�Ы�ЫD&&Ы�&֫D&֫*���D&��&�D&�D       &�D
        !          4948: &
���D&��&�.��&�<�$&�L� D\��$b��(i��t��y���D%&���D'&��&�D(&�D)&+��&0�D+&0��3�D,&3��,&3�~��,&4���$@&4��� D���$���(������Ő��DF&9��9�DH&9�DJ&>��&L�DK&L�ʐ��DM&_��&d�DO&d��&j�DP&j�DQ&{��&��DS&��DT&��ΐ�(Ӑ����DU&���U&��ڐ�U&���$i&��� D���$��(�������Do&�����Dt&���&��Du&��Dx&���&ŬDz&Ŭ�&ˬD{&ˬ�&��&�D�&�D�&��D�&��&�D�&��&�D�&�!�x�D�&6�%��b@�<�&C�D�&C�)�@0��"�F�D�&F���&F�4���&G�@�$�&H�L� DX��$^��(e��p��u���D�&Q��Q�D�&Q�z�w�D�&Y�D�&[�D�&c�D�&g�D�&j��&v�D�&v�D�&�����D�&�����D�&��D�&�����D�&��~�I�D�&�����D�&��D�&ƭD�&ȭ�έD�&έ��D�&�D�&��&�D�&�D�&��D�&��D�&���&�D�&���!�D�&��& �D�& �D�&1��&6�D�&6��&?�D�&?�D�&_�D�&m��&}�D�&}����D�&������D�&��D�&�����D�&���̮D�&̮����D�&�D�&����D�&��D�&���&��&
�D�&
�D�&�D�&-��2�D�&2�����D&S�DW��]�D]��s�Ds���[�D��D    �����D���ƯDƯ��%�D�D������b<��&�D��&��D������D�D��&�D �D!$��&.�D".�����D%O�D&S��&Y�D(Y��&d�D+d����D.������D/��D0ǰ���"��аD2аD3ڰD4�D5�D6����w�D7�D8)����b��d�&2�D@2�DA<�DBD�DCN�DDV�DEX�DFZ�DGb��&b�DHb��o�DKo��s�DLs��z��|�DN|����DP��DQ�����DR��DS�����DU��Ƒ�",���DW��DZɱ�ͱD[ͱ�ϱD]ϱ�ӱD^ӱБL�Da��Db�����Dd���&��Dl�Dm       �Dn
�Dq��&�Dr���Du�Dv-��7�Dw7�Ց%�DyG�DzK��M�D|M��T�D}T��T�ڑ�,�T�D�T��Y�D�Y����D�i��m�D�m��&r�D�r��&|�D�|��&��D����&��D����&��D����&��D����&��D����&��D����&²D�²�@�@
        !          4949: �@    ��@�@"��d��@"��!��"'��d�-��1�� 8��$B��"(�ƲD�Ʋ��ƲK���DzW�$�Ȳc� Do��$u��(|���������D�Ͳ�ͲD�Ͳ�&ӲD�Ӳ����D���&�D��D���&�D���&�D��D�!��������#�D�#���#�����$���$�$��� Dǒ�$͒�(Ԓ�ߒ����D�)��)�D�)��&/�D�/����D�B��&K�D�K�D�\�D�p�����&��D���D������D���������D������D�������������D���D�ijD�ҳ�ֳD�ֳ�&޳D�޳�����&�D��D����D���(��*�D&*�D-�D;��?�D?��&G�DG�����&o�D
        !          4950: o�D~�D�����D
�����D����"0�&��D������&شDشD���D�����&�D&���D��&�D��&�D ��&$�D"$�����&L�D$L�D&P��e�D'e�����m��o�D)o� ���w�D+w��&�D,�%�v��&��D.��D/���&��D0��*�k��&еD2еD3Ե�&ڵD4ڵ/�d��&�D6�D7��&�D>�4�^��&.�D?.��&1�D@7�9�W��&_�DB_��&c�DCe�>�K��&��DE���&���&��DG��C���DI���&��DK���&ʶDLʶDMҶ�&ڶDOڶ�&�DQ�DR�DT
�DU,�DW.�DXM��&M�DZM��&R�D[R��&Z��&\�D]\��&d�D_d�H�@O�@"
        !          4951: X��"Z��_��f��,n���f�D`f��`f�s��`g��$th��� D���$���(����������Dzq��q�D~q��&w�Dw�����D����&��D���D����&��D������D�����p��ķD�ķ�&ͷD�ͷ�&ͷD�ͷD����D����D�����D������D���D����D����D���!�D�!��,�D�,���Z�D�C�Ɠ�b@�<�P�D�P��R�D�R�D�j��o�D�o��q�D�q��{�D�{����D���ʓ@����D�������&��D����&��D����&��D����&��D����&��D���ϓ@֓����D�������ܓ�����$����� D��$��(����"���D������D����&��D���'��D�Ը�&ݸD�ݸD����&��D����&�D��D���&�D��D�)�D�A��E�D�E��J�D�J��L�D�N��S�D�S�D�U��W�D�W��\�D�\�,��D�s�D���1��bl�d������D����������&��D���D���D����&��D����&��D���5�@<�@
        !          4952: >���G�����D�������P�����_�$��m� D{��$���(����������D�����D$��D'��D)��D=���&ǹD>ǹ����DAڹ�&�DC�DD�DE��DE���&��DF��DH�DO���DS�DT�DT��'�DU'��-�DV-�DW=��A��C�DYC�DZG��I��I�DTI�D]N�D^T�D_X����"L���P�^�Db^��d�Dcd�Ddh�Dek�Dfo�Dgr��x�Dpx�Dq|�Dr�Ds�����Dt��Du��Dv�����Dx�����Dy��Dz��D{�����D}�����D~�����D������D����ѺD�Ӻ�غD�غ�ݺD�ݺ��D��D��D��D������D������D���D����D������D����D��D�"�D�%��'�D�'��:�D�:��F�D�F��H�D�H��[�D�]��b�D�b��g�D�g��m�D�m�D�z�D�}�D������D������D���D������D���������D������D���D���D������D������D������D���D���D���D�û�ȻD�Ȼ�λD�λ������8��˼�˼D�˼D�޼��D������D����&�D�&�D�����"P�
        !          4953: �D�
        !          4954: �D��D���"�D�"�D�5��?�D�?�D�R��X�D�X�D�[����"P�]�D�]�”���u�D�u�ǔS�D������D���D���D������D������D���D���̔"�D���D���є        �D�Ľ�ʽD�ʽD�ͽD�ѽD&ӽ�ؽDؽ�۽D۽��D�D       �D
        !          4955: ���D���D
���D��'�D'�D+�֔�Pߔ�"T�0�D0��5�D5�DE�DH��N��T�DT��Y�DY��k��m�Dm��~�D~������"H�&��DE��D!��D"��D#��D&����D)ɾ�&ӾD*Ӿ�&ܾD,ܾ�@"��@
        !          4956: ��@    �@�@�@"��$���+��"8��A��M��b<�(W��D�߾D-߾�-߾d��-�r�\}�`��`��`��`"��`(�����^��\Е`"ؕ`�^�\��`(&���`�`�`��`(��)�`(6��@�^J�\Y�`0&^�`$i�`(q����^��\��`��`0&��`$��`(�����^��\Ɩ`"͖`Ֆ`ߖ`(���`(����`(     ��
�`�`( ��*�`( 6��@�`$J�`((Q��`�`,i�`0u�`(4|����`"8��`"<��`"@��`D��`H��`L��`(PƗ�̗`(Tؗ��`bX���^ &��\��`(���`"�`(���^#�\'�`"-�`9�`?�`(I��M�`(U��Y�`b�^�^b�\j�`$&o�`$z�`0&��`(�����`b���^��\��`"��`��`Ƙ^ј\֘`
ݘ`
�`
�`��`��`
        !          4957: �`
�`�`�`%�`.�^ 3�\9�`@�`I�`Q�`W�`]�^c�\t�`y�`}�^��\��`��`��^��\��`��`��^Ι\�`�`��`��`"��`"�`"�`"�`
�`b�&�^ 1�\;�`0&F�`N�`W�^a��-�l�-��w�d�����&E�r(��&b6��6���$6���� D���$���(������Ě��D<�����DA��DB���&��DD��ɚ,�DF��&�DH�DI!�DJ%�DK)�̚'��&R�DLR�DMU��&Y�DOY��&_�DP_��&a�DRa�DSf�DTj�DUm��&r�DVr�К&��&z��&|�DX|�Ԛ!����DY��DZ�����D\�����D]�����D_���&��Db��Dc��Dd���&��De���&��Dg���&��Dh���&��Dj��Dk���&&�Dm&�ؚ�Dn�ܚ�bT�<�&%�Dp%���@��"��"���"�����"��"�(�Dq(��q(���q)��$�*�'� D4��$:��(A��L��Q���D�/��/�D�/��&5�D�5�V���D�H��&Q�D�Q�D�Z�D�k��&��D���Z���D����&��D����&��D���D������D���D������D���������D���D������D���D�&��        �D�     ���D��D���&��,�D�,��<��&<�D�B��&N�D�N�^����v�D�v�b���D������D���D������D���D�������&���&��D����&��D���f�@m�@
        !          4958: s��"u��z��"������D���������������$����� D���$���(›�͛�қ��D������D���D����&��D���כe�D����&��D���D���D��ۛ`��&-�D�-��3�D�3�ߛ2�D�E��N�D&&N�D&b��g�D&g���D&}����D      &��D
        !          4959: &��D&���&��D&������&��D
&�����D&�����D&�����D&��D&�����D&�����D&��D&��&�D&�����&3�D&3��9�D&9����D&K��T�D!&T�����D"&f��&n�D#&n������&��D%&�����D&&����^�D)&�����D+&��D,&���&��D-&���V��&��D.&�����D/&����D1&
        !          4960: ���D3&�D4&'��,�D5&,��2�D7&2�D7&:��:�D8&:��>�D9&>����D<&W��`�D>&`��u�D?&u��y�D@&y�DA&�����������DC&��DD&��������DF&��������D7&���&��DI&������&��DK&�����DL&�� ���DO&���DQ&�DR&&��+�DS&+��/��1�DU&1��5�DW&5�DX&;�%��"`�&C�DY&C�'����&e�DZ&e��k�D[&k�,�x�D^&}����D`&��Da&���&��Db&��1�q��&��Dd&�����De&��6�@�Dh&�����Dj&��Dk&�����Dl&��������Dn&������&��Dp&��;�:��&/�Dr&/��5�Ds&5��:�Dt&:��A��C�Dv&C��Y�Dx&Y��a�Dy&a��m�D~&m�D&�����D�&��@�(�D�&�����D�&�����D�&�����D�&�����D�&�����D�&�����D�&�����D�&��D�&�����D�&�����D�&��������D�&��D�&�����D�&����D�&�D�&�D�&�E��(`N��X��d^��"h�$�D�&$�b���D�&6��&?�D�&?�g����&a�D�&a��g�D�&g�l���D�&y����D�&��D�&���&��D�&��q����&��D�&��v���D�&���&��D�&��{����&��D�&�����D�&������D�&���D�&�D�&
���D�&�����D�&����&��&�D�&�����D�&6��&?�D�&?��&E�D�&E��&M��&O�D�&O��&Q�D�&Q�D�&V�D�&Y�D�&\��&\�D�&\��b�D�&b�D�&j�D�&�D�&�����D�&�����D�&������`���D�&�����D�&�����D�&��D�&�����D�&�����D�&��������D�&�����D�&�����D�&�����D�&��D�&��������D�&�����D�&��D�&�����D�&����D�&�����D�&���D�&���D�&���D�&�D�&��"�D�&"��A�D�&A��D��&D�DJ�DZ�D^��&h�Dh��&r�Dr���@(�����@(
        !          4961: �����@(        �����@��@Ŝ@"͜��P�֜�Tݜ�Xߜ�(\���t�Dt��t���u���$v�� D��$��(!��,��1���D"{��{�D'{��&��D)��6���D+���&��D-��D.���&��D2��D2�����D3��D5�����D6�����D8�����D9��������D2��;�@
        !          4962: B��"�&��D<���&$�D>$��&1��&1�D@1��&1�DB1�DCC�J��"L�@�E�DDE��DE�R��DF�`�$XF�l� Dx��$~��(����������D^H��H�D`H��&N�DaN�����Dda��&f�Dff�Dg}�Dh�����Di���i�����i����$}���� Dŝ�$͝�(ԝ�ߝ����D������D����&��D����a�D����&��D����&��D����&���&��D������D����Z����D����4�D����D����2��/��1�D�1���0��H�D�H��L�D�L���D�r��w��&w�D�w�D����&��D����&���&��D����&��D����&��D������D����&��D����@(��,�����D�������3�����@�$���M� DZ��$b��(i��t��y���D������D����&��D���~���D����&�D��D���&2�D�2�����D�I��&R�D�R������&��D����&���&��D���D������D���D�������&��D����&��D���D�����D����D��D�+��0�D�0�D�8��@�D�@�D�J��X�D�X��[�D�]��b�D�b�D�j��r�D�r��&���&��D������D������D��D�����D��D�����D�����D
        !          4963: �����D��������D��D�����D��D�����D�����D��D���D�D���D�D;��?�D?��D��D�DD�D#H��`�D$`��c��&e�D'e�D(j�D)m�D*|�D+�����"��@��@
        !          4964: ���"���"��@    ��@������D,���,�����,��Ğ$@��Ҟ D���$��(���������DF�����DI��DK���&��DL���c�DO���&��DQ���&��DR��DS���&��DU��DV���&��DW���;�DY���&�D[�D\��& �D] ���D`7��&<�Db<�DcA�Dda�Ded�Dfi�Dgn�Dhs�Diw�Dj��Dk���@(�� �@(
        !          4965: '��/�@(        4�����Dl���l��;��l��I�$���W� De��$k��(r��}������D������D����&��D�������D����&��D����&��D����&��D������D���������������$����� D���$���(���ʟ�ϟ��D������D���D���D����&��D���ԟ��D����&&�D�&�D��D�!��&+�D�+��0�D�0��6�D�6�D�8��=�D�=�D�@��B��D�D�D��F�D�F��Y�D�Y��[�D�]��a�D�a��g�D�g��l�D�l�ٟ��D������D���D���D���ޟl����D���D���D���D���D���D���D��D&��D��D��D��D��D��D
��D��D��D�����D�����D��D��D���^�D����D��&�D��D ��&�D!��%�D#"��&+�D*+�D+9�D,B��&G�D-G�D.N��&R�D,R�D5Y�D=���&��D>���&��D@��D@���&��DA���     �DE     �DF�DG>�DJD�DKa�DL��DO��DP��DS���"�DT��DU��DX��DY��DZ���b &����&�D@�D]#�D^.�D_B���\�`�`�`"�^1�@(:��M�@"
        !          4966: Q�@    [�@]�@g�@p��h�w������"����������D�D`D��`D����`E���$tF�  DР�$֠�(ݠ�������DzO��O�D�O��&U�D�U����D�h��&q�D�q�D����&��D����&��D���D����&��D�������D����&��D����&��D�������D���D����&�D��D���&'�D�'�&���D�>�D�G��&L�D�L�D�U�D�\�D�p��&u�D�u��&w�D�w��&|�D�|����D�����b��d�&��D���D����@�� ��#�@"
        !          4967: -�@    4�@"=��"$���D�������A�����O�$���]� Dk��$q��(x���������D������D����&��D�����b�D����&��D���D�����Z��&�D��D����D���%�D�'��+�D�+���W��3��5�D�5��=�D�=��&E�D�E���Q��&_�D�_��&b�D�h���L��&��D����&��D�����F��&��D������D���������D������D����&���&��D�����
        !          4968: �D����&��D���D���D��D��D���&�D���"�D�"��$�D�$��:�D�:�D�C��G�D�G��I��I��&I�D�I�D�M�D�_���@"��@
        !          4969: ��@    ��@��@�a�Da��a�ǡ�b�ա$b�� D���$��(�����
        !          4970: ���Dk��k�D!k��&q�D"q��&u�D#w��&}�D$}����D%�����D'������&���&��D*�����D-���&��D/��D0��D0���&��D1��D2&���D3��
        !          4971: �D5
        !          4972: ����D6!���bl�<�.�D8.��3��&3�D03�D;7�D<A�D=P�D>U�D?c�"���D@|�'�@.�@
        !          4973: 0��6��<��@��$E��I��(P��0�~�DA~��A~�X��A�d�\o�`z�`��`��`"��`(�����^��\¢`"ʢ`Ӣ^�\�`(����`��`�`��`(���`((��2�^<�\K�`0&P�`$[�`(c��r�^��\��`��`0&��`$��`(�����^��\��`"��`ǣ`ѣ`(ܣ��`(���`(�����`    �`(���`( (��2�`$<�`((C��R�`,[�`0g�`(4n��y�`"8��`"<��`"@��`D��`H��`L��`(P�����`(Tʤ�٤`bX���^ &�\�`(�����`"�`(���^�\�`"�`+�`1�`(;��?�`(G��K�`b�P�^T�\\�`$&a�`$l�`0&w�`(����`b���^��\��`"��`��`��^å\ǥ`ѥ`ۥ`�`�^��\��`
&�`
�`
�`�` �`
        !          4974: '�`
/�`7�`@�`I�`R�^ W�\]�`d�`m�`u�`{�`��^��\��`��`��^��\��`��`��^Ǧ\צ`ܦ`�^�\�`�`�`�`"#�`"&�`")�`",�`1�`b�&7�^ U��A�`�At�j�dt�t��&E�r(x�&bx6~�x6��� d���$�t��� D���"����D�y��y�D�y�D�}�D���&��D���D���D����&���&��D����&��D����&��D���D���D������D������D���D���D������D������D������D������D�&���D���+��+�D�+��+��+��-��-�D�-��:�D�:�D�L�D�O��S��U��&U��&U�D�U��b�D�b�D�p�D�s��w��&y�D�y��&~�D�~��&��D�����@��@������D�������§����ͧ$���է Dݧ�(����(���D������D���D���D����&��D���D����&��D���D�������&��D���D���D���D���D���D���    �D&     ���D&���D&�D&"��*�D&*�D&?��M�D&M�D       &U�D
        !          4975: &\�D&j�
        !          4976: ���D&�D&�����D&��D&��D&��D&�����D&�����D&��D&�����D&��D&��D&�����D &��D!&    ���D#&�D$&�D%&"����D'&9�D(&E�D)&U���b����^�D+&^�D,&l�D/&t�D0&|�D3&��D4&��D7&��D8&��D;&��D<&��D?&��D@&��DC&��DD&��DG&��DH&��DK&��DL&��DO&��DP&��DS&���DU&�DV&�DW&%�DY&'�DZ&0�D[&8�D]&:�D^&B��B�D`&B�Dc&J��Z�De&Z�Df&c�Dg&k�Di&m�Dj&v�Dk&~�Dm&��Dn&�����Dp&��Ds&�����Dt&��Du&��������Dw&�����Dy&��D|&�����D}&��D~&��������D�&�����D�&��D�&�����D�&��D�&��������D�&����D�&�D�&�D�&�D�&���D�&�D�&#��+��-�D�&-��5�D�&5�D�&9�D�&A�D�&E�D�&M�D�&U�D�&Y�D�&b�D�&j��&l��@"�@
        !          4977: ��""��"&���l�D�&l���&l�-���&m�5�$�&n�B� DO��(V��a��(i��x��D�&s��s�D�&s�D�&w�D�&z�D�&���&��D�&���&��D�&���&��D�&��D�&�����D�&�����D�&�����D�&��D�&��}�r�D�&�����&��&�D�&���D�&���D�&���D�&�D�&&�D�&D��H�D�&H��Q�D�&Q��b�D&b�Dk�Dm�D��D��D�����D
        !          4978: �����D�����D������&��D���&��D��D�����D������&��D���&��D��D��D�����D�����D��������D!��������D$����D%���D.���D0�D1!�D28��;�D3A��L�D4L��P�D5P�D6g�D7o�D8s�D9|�D:��D;��D<��D=��������D?��D@��DA��DB��DC��DD��DE��DF��DG����DI�����DK��%�DM%��)�DN)��2�DP2��M�DSM��S�DUS���t����DW��DX��DZ�����D[����c�D\�����D^��D_��Da����Db�Dc��"�De"�Df4�Dh:�DiB�DkH�DlR�DnX�Doe�Dqk�Drx�Dt~�Du��Dw��Dx��Dz��D{��D}��D~��D���D��D��D�2�D�8�D�E�D�K�D�S�D�Y�D�a�D�g�D���D���D�������&��D���D�����@�D�����@��@
        !          4979: ��@    ��@(���������D�������������Ȩ$���Ѩ Dڨ�(����"��$D������D���D���D���D���D����&�D���&
        !          4980: �D�
        !          4981: ��&�D��D��D�1��&6�D�6�D�;����&�����=�D�=���=����>� �\/�`(6��A�`"N�`"S�`Y�``�^o�\z�`��`��`��`"��`(�����^��\ͩ`"թ`ީ^��\��`(����`�`
�`��`(��&�`(3��=�^G�\V�`0&[�`$f�`(n��}�^��\��`��`0&��`$��`(�����^��\ê`"ʪ`Ҫ`ܪ`(���`(�����`(��
        !          4982: �`�`(��'�`( 3��=�`$G�`((N��]�`,f�`0r�`(4y����`"8��`"<��`"@��`D��`H��`L��`(Pë�ɫ`(Tի��`bX���^ &��\��`(&���`"�`(���^ �\$�`"*�`6�`<�`(F��J�`(R��V�`b�[�^_�\g�`$&l�`$w�`0&��`(�����`b���^��\��`"��`��`ì^ά\�`�`��`��`"��`"�`"�`"�`
�`b�&�^ 1���>�;���E�d�O��&E�r(S�&bX7Y�X7�`�$G�m��{�2P���"���"������(���DO
��
�DZ
�D[�D\,��&7�D`7�DaH��O�DbO��T�DdT�Deb�Dfu��~�Dg~����Di��Dj��Dk��������"�&��Dr��Ds���&��Dt��Du��Dv���&��Dx��Dy��Dz��D{��D|��í@"ŭ@
        !          4983: ϭ����D}���}��ۭ�}���$��������2D���(����"��"��(��D������D���D���D���D���&�D��D����D����D����D����D���)�D�)��,�D�,��K�D�K��N��&N�D�N�D�R��&\�D�\��`�D�`�.���D�h��q�D�q�D������D���������D������D���D���D���D���D������D���D���D���������D���D���D���D���D���%�D�%��.��.�D�.�D�.��8�D�8��B�D�B�2��":��"A��D��G��Q��b����&J�D&&J��&T�D      &T��{�D&{����D
&��D&�����D&��Y���D&�����D&��D&��D&�����D&��������D&�����D&��D&�D&�D&���D&�D &��$�D!&$��*�D)&*��:�D*&:��<�D,&<��Q�D-&Q��U�D.&U��m��o�D1&o����D2&��������D4&�����D6&��]���D7&��D8&�����D9&�����D;&�����D<&��������������DA&����DB&��
�DD&
�a��(j��q��"y��({�����"���������b������&������b�&���&�DM&��&�DN&��&1��&7�DT&7�DU&E�DV&S��]�DW&]��c��e�DY&e��s�D[&s�D\&��D]&��D^&��D_&��D`&�����Da&�����Dc&�����Dd&��������"���������b����&��Dg&��î@"Ů@
        !          4984: Ǯ@"    Ү@"ܮ@�@���Dh&���h&����h&�����w���7���7&�$�&��� ���(&��1��"D�&�����D�&��D�&���&��D�&���&��D�&���&�D�&�6���D�& ��$�D�&$�;���D�&7��?�D�&?��&D��&J�D�&J�D�&O��Y��Y�D�&Y�D�&]�D�&f��o�D�&o��w�D�&w�D�&��D�&��D�&�����D�&��@�h�D�&�����D�&��D�&��E��(K���&��D�&��D�&���&��D�&����D�&���D�&�D�&��&/�D�&/�D�&>�D�&M��&R�D�&R��&Y�D�&Y�R�&"�7Y�&�7a�(b�w�2k�@"m�@
        !          4985: t�@"    x���`�D�&`���&`����&a���$�&b��� D���$���(������ï��D�&k��k�D�&k�D�&q�D�&y�D�&|�D�&�D�&���&��D�&��D�&�����D��D&�����D��������D�����D��ȯf�������D��ͯe����D
        !          4986: �����D�����ү@"      �&��D�&��D���&��D��ۯD�D�D ��&�D��&�D�D��&��&�D��&,�D,�D0��&5�D5��&?�D?��@�@
        !          4987: ������b����B�D B�� B��� C��\'�`".�`9�`C�`K�^Z�\e�`p�`z�`��`"��`(�����^��\��`"��`ɰ^ذ\�`(����`�`��`���`(���`(��(�^2�\A�`0&F�`$Q�`(Y��h�^w�\}�`��`0&��`$��`(�����^��\��`"��`��`DZ`(ұ�ڱ`(���`(����`��`(���`( ��(�`$2�`((9��H�`,Q�`0]�`(4d��o�`"8|�`"<��`"@��`D��`H��`L��`(P�����`(T���ϲ`bX��۲^ &�\�`(���`"��`(���^�\�`"�`!�`'�`(1��5�`(=��A�`b�F�^J�\R�`$&W�`$b�`0&m�`(u��}�`b���^��\��`"��`��`��^��\��`
ų`
̳`
Գ`ݳ`�`
        !          4988: �`
�`��`�`
�`�^ �\$�`*�`1�`9�`C�`b�J�^S�\Z�``�`i�`r�`b�&y�^&��\��`��`��^��\��`��`��^��\д`մ`۴^�\�`"��`&�`�`"�`"�^�\=�`@�`F�`L�`"P�`"S�`"V�`"Y�`^�`b�&d�^ ��� C��� ���d����&E�r(��&b�7���7���$��ɵ D۵�(�����"��D����D��D���&�D�����&�&%�D�%��h   &D�.��&B�D�B��&E�D�G��&L�D�L�D�Z��&b�D�b�D�e�D�h��&o�D�o��&r�D�r�D���D����&��D����&��D����T&D���D���D����&��D����&��D���D���D���D���D����@(��#�@(
        !          4989: ,��;�@        B��"M�����D�������T�����f�$��u� D���$���(����������D����D��D�     ��&�D�����&���
        !          4990: &D�!��%�D�%��.�D�.���L&D�9��&O�D�O�D�X�D�i����&�&��D������D���Ķ�&D������D������D���ȶ�&���D���̶`&D����D&&��%�D&%��&B�D&B�жY&�&o�D&o��}�D&}�Զ &D&�����D
        !          4991: &�����D&��D&��ضN
        !          4992: &������D&��D&�����D&��������D&��D&��D&&�&&D&&�&�&3&D&3&�9&D&9&��&D&K&�T&D&T&D&y&�}&D&}&��&D!&�&���&D"&�&D#&�&�&�&D$&�&���&�&�&D(&�&��&D)&�&���&D,&�&��&D.&�&�&&D1&&&D2&&&�%&&D3&%&&��&D4&;&&�D&&D6&D&&�K&&D7&K&&�P&&��"�P&&�R&&D:&R&&�W&&D<&W&&D=&Y&&D>&i&&�o&&D?&o&&�u&&D@&u&&�y&&DB&y&&DC&�&&DD&�&&��&&DE&�&&DF&�&&��&&DG&�&&��&&DI&�&&DJ&�&&��&&DL&�&&��&&D>&�&&DN&�&&DO&�&&DP&�&&DQ&�&&DR&�&&��&&DV&�&&��&&DW&�&&�&DY&&DZ&     &�&D[&&�&D]&&��&D^&-&De&0&�0&Df&0&Dg&@&�E&Dh&E&�G&Dj&G&Dk&R&Dl&a&Dm&f&Dn&j&Do&m&�o&Dq&q&Dr&}&Ds&�&Dt&�&��"����"��&DR&�&Dv&�&Dw&�&�@"�@#�@%���&�&Dx&�&+��&�&�&D}&�&��&D~&�&0�m&D�&�&��&D�&�&D�&&�$&D�&$&5�Z&D�&:&�C&D�&C&D�&Y&�`&D�&`&D�&k&�p&D�&p&�u&�u&�w&D�&w&�}&D�&}&D�&�&��&D�&�&��&D�&�&��&D�&�&��&D�&�&D�&�&��&��&D�&�&D�&�&D�&�&��&��&D�&�&D�&�&D�&�&�&&D�&&&�&D�&&� &� &D�& &D�&%&D�&/&D�&4&�;&D�&;&�A&�C&D�&C&�I&D�&I&D�&N&:��<��@��(G��V��\��"�&V&D�&V&`�S&�&w&D�&w&�}&D�&}&e�+&D�&�&��&D�&�&j�(&D�&�&�&�&D�&�&o�#&�&�&D�&�&��&D�&�&t��&D�&�&��&D�&�&D�&!&�%&D�&%&�.&D�&.&D�&9&�&O&D�&O&y��&�&v&D�&v&��&D�&�&~��&D�&�&��&D�&�&D�&�&��&D�&�&��&D�&�&���&�&�&D�&�&���&�&&D�&&�'&D�&'&��l&D�&9&�B&D�&B&D�&g&�k&D�&k&�p&D�&p&���&D�&�&��&D�&�&��&D�&�&D�&�&D�&�&D�&�&���"�&�&D�&�&��&D�&�&��@(�����@(
        !          4993: ķ�ӷ@        ڷ���&D�&�&��&�&ܷ��&�&�$�&��2P��(����D       �&��&D�&D
�&D�&D�&�&�&D�&D&D&�&&&D&&D*&D1&D8&��&�@�R&DR&�R& ��S&,�$,T&6�2P@��(E��T��D0V&�V&D1V&�&a&D2a&D3k&D4y&�&�&��&D6�&�6�&Y��6�&c�$K�&m��&x�2P���(������(���DO�&��&DS�&DS�&�&�&DZ�&��&D\�&D]�&D^�&D_�&D`�&Da�&Db�&��&Dd�&��&Df�&Dg�&Dh       &�&Dk&�&Dl&�&�&&DT&Dt &�&$&Du$&Dv1&�&:&�&<&Dx<&DyE&�&J&��@(�����@(
        !          4994: ����J&D{J&�{J&Ÿ�{K&ϸ$�L&ڸ2P��(����"D�N&�N&D�N&�&\&D�\&�&^&D�^&D�j&D�t&D��&D��&D��&D��&��@(�����&D��&���&
        !          4995: ����&�$��&�2P)��(.��5��"D��&��&D��&�&�&D��&�&�&D��&D��&D��&�&�&D��&��&D��&��&D��&D��&��&D��&��&D��&�       &D�     &�     &�&     &D�     &�&     &D�     &�&     &D�     &D�$     &D�-     &D�7     &D�<     &D�L     &D�Z     &<�@(C��N�@"
        !          4996: X�@"    a�����f    &D�f     &��f     &f���g     &p�$�h     &w�2P~��(���D�m &�m     &Dm     &�&v     &Dv     &�&|     &D|     &D
�     &D�     &D�     &�&�     &D�     &D�     &�&�     &D�     &D�     &D�     &D�     &D�     &D�     &�&�     &D�     &D�     &��     &D�     &D�     &��     &D�     &D
        !          4997: &D
        !          4998: 
        !          4999: &D
        !          5000: &D 
        !          5001: &�&"
        !          5002: &D"
        !          5003: &D"(
        !          5004: &D(5
        !          5005: &D)>
        !          5006: &D*B
        !          5007: &D+F
        !          5008: &��@(�����@(
        !          5009: �����@"        ��@��@ƹ@˹�"�M
        !          5010: &D,M
        !          5011: &�,M
        !          5012: &ֹ�,N
        !          5013: &ݹ$@N
        !          5014: &�2P���(���DCP
        !          5015: &�P
        !          5016: &DDP
        !          5017: &DEW
        !          5018: &�&`
        !          5019: &DF`
        !          5020: &DGr
        !          5021: &DH�
        !          5022: &�&�
        !          5023: &��
        !          5024: &DJ�
        !          5025: &�J�
        !          5026: &&��J�
        !          5027: &
�$`�
        !          5028: &�2���.��(3��:��"Dd�
        !          5029: &��
        !          5030: &Dn�
        !          5031: &�&�
        !          5032: &Do�
        !          5033: &Dp�
        !          5034: &��
        !          5035: &Dq�
        !          5036: &A��&Dr�
        !          5037: &��
        !          5038: &Dt�
        !          5039: &��
        !          5040: &Du�
        !          5041: &��
        !          5042: &Dw�
        !          5043: &��
        !          5044: &Dx�
        !          5045: &F��&Dz&�&D|&�*&D~*&K��&D�=&�E&D�E&D�S&�W&D�W&�_&D�_&�&r&D�r&D�&D��&�&�&D��&��&D��&��&D��&��&D��&��&D��&D��&��&D��&��&�&�&D��&D��&P��&D��&U�@(^��m�@
        !          5046: s�@    z�@���"��&D��&���&�����&��$��&��2D���(������"���"���"D��&��&D��&D�&D�&D�&D�&�&&D�&D�&&�*&D�*&�,&D�,&D�/&�&1&D�3&�&7&D�7&��d&D�J&�&S&D�S&D�i&D�x&D�{&�&{&D�{&D��&��&D��&D��&��&D��&D��&D��&D��&D��&�&�&D��&D��&D��&D��&ź@"ɺ@"
        !          5047: ͺ@    ׺@ݺ@�@"�������&D��&���&�����&�$�&�2���(��&��".��"D&
&�&
&D&
&D
&D 
&D!

&�&
&D"
&�
&D#
&�"
&D%"
&�&)
&D&/
&�&C
&D'C
&D(U
&�Z
&D)Z
&�]
&D*_
&�e
&D+e
&D,h
&�n
&D-n
&�q
&D.s
&��
&D/�
&��
&��
&D1�
&��
&D3�
&��
&D4�
&��
&��
&D7�
&��
&D8�
&��
&�&�
&�&�
&D;�
&�&�
&DD�
&DE�
&DF�
&DF�
&�&�
&�&�
&DF�
&DI�
&DI�
&�& &DJ     &DK
&DL&DL&�1&�1&DL1&DO5&�G&DPG&�I&DRI&�W&DSW&�Y&DUY&�^&DW^&DYb&DZd&D[u&D\y&�~&D]~&��&4��:����&D`�&��&Da�&Db�&��&Dd�&De�&�&�&DI�&Dg�&Dm�&�&�&Dn�&Do�&D�1&Dr�&�&�&Dt�&Dw�&I��&Dz�&N�@"S�@"
        !          5048: W��"]�@"        a�@g�@m�@r��"z��"��&D{�&�{�&���{�&��\��`��`��^��\��`��`Ļ^ʻ\ڻ`߻`�^��\�`�`�`"�`"&�`")�`",�`"/�`4�`b�&:�^ X�\c�`n�`x�`��`"��`(�����^��\��`"��`Ǽ^ּ\�`(���`�`��`���`(���`(��&�^0�\?�`0&D�`$O�`(W��f�^u�\{�`��`0&��`$��`(�����^��\��`"��`��`Ž`(н�ؽ`(���`(���`��`(���`( ��&�`$0�`((7��F�`,O�`0[�`(4b��m�`"8z�`"<��`"@��`D��`H��`L��`(P�����`(T���;`bX��پ^ &�\�`(���`"��`(���^ �\
�`"�`�`%�`(/��3�`(;��?�`b�D�^H�\P�`$&U�`$`�`0&k�`(s��{�`b���^��\��`"��`��`��^���{�&Ŀ{�&οd�&ؿ�&E�r(ܿ&b,8�,8��$7�&�� D&��$��(�������D=�&��&D?�&DD�&�&�&DE�&#��&DH�&�&�&DK�&DL�&DM�&DN&DO*&DP-&DXL&DYf&�&j&DZj&�&s&D\s&D\u&�&�&De�&Dg�&��&Dh�&��&Dj�&��&Dk�&&��&Dn�&Do�&��&Dq�&��&Dr�&*�V&Dt�&Du�&��&Dw�&Dx�&�&Dy&�&�&D{&�&D}&�&D~&D4&�8&�:&D�:&D�Q&�U&D�U&D�b&�h&D�h&D�t&��&��&D��&��&D��&D��&D��&D��&.�@(5��9���E��P�@\���&�&D\�&D��&D��&D��&D��&g�@(l��s�@(
        !          5049: {����@        ��@���������&D��&���&�����&��$��&�� ����(������"���D��&��&D��&D��&�&�&D��&�&�&�&�&D��&�&&D�&�&&D�&�&
        !          5050: &D�
        !          5051: &�&&D�&�&&D�&�&$&D�$&�&(&D�(&��@(������(����+&D�+&��+&����,&�$�,&� P��(��(��"0��"9��D�1&�1&D�1&D�5&�&?&D�?&�&C&�&E&D�E&�&I&D�I&D�X&�&\&D�\&D�l&D�p&�&s&�&u&D�u&��&D��&��&D��&D��&��&D��&��&D��&��&D��&D��&D��&��&D��&D��&�&�&@�@(G��K�@�
        !          5052: V��Z�@(        _��f����&D&&�&�&&�&r��&&�&}�$&�&�� ����(������"����D"&�&��&D1&�&D2&�&�&�&D3&�&D4&�&D5&�&��&D6&�&�&D8&&�&D9&&�&D:&&�&�&D<&&�&�&�&&�&&D@&&DA&&�<&DB&<&�?&DD&A&�F&DE&F&�K&DG&K&�Q&DH&Q&��T&�Z&�&Z&DL&Z&DM&_&DN&b&DO&s&�&w&DP&w&DQ&�&��5&�&�&DS&�&DT&�&��@"��@"
        !          5053: �����&DU&�&�U&�&���U&�&��$i&�&�� D���$���(���    �����Do&�&��&Dq&�&�&�&Dt&�&Du&�&��&Dv&�&Dx&�&��&Dz&�&D{&�&��"�&�&D|&�&�&�&D}&�&D~&&�&&�&&D�&&�&D�&&�&"&�"&D�&"&��&"&���&#&(�$�&$&6� DD��$J��(Q��\��a���D�&&&�&&D�&&&D�&*&�&0&D�&0&f��&D�&B&�&G&D�&G&�&L&D�&L&�&P&D�&P&D�&W&�&\&D�&\&D�&l&�p&D�&p&j��&D�&�&D�&�&D�&�&��&D�&�&D�&�&D�&�&D�&�&D�&�&�&�&D�&�&D�&�&o�@(v��z�@(
        !          5054: ����@(        �����&D�&�&��&�&����&�&��$�&�&�� D���$���(����������D�&�&��&D�&�&D�&�&�&�&D�&�&���&D�&�&�&�&D�&�&D�&�&�&�&D�&�&D�&
&�&D�&&�$&D�&$&D�&(&�&,&D�&.&�&A&D�&A&D�&R&�_&D�&_&�e&D�&e&�j&D�&j&�p&D�&p&D�&y&D�&}&�&�&�&�&D�&��&D&�&��&D�&D�&D�&�&�&D
�&D�&�&�&D�&�&�&�&�&D�&D�&��&D�&��&D�&��&��&D�&D�&��&D�&��&D�&�&�&D!�&�&�&D"�&�&�&D$�&�&�&D%�&�&�&�&�&D)�&D*&���"�&&D,&�&!&D.!&��}&D/8&���bD�<�&E&D6E&D7J&D:O&��k&D;`&��@(����@(
        !          5055: ���@        �@"%�@,��(=��G��"�c&D<c&�<c&K��<d&Z�$Qd&f� �r��w��(|�����"DUf&�f&DXf&DYx&�&|&DZ|&�&�&D\�&�&�&D]�&�&�&D_�&��@(�����&D`�&�`�&���`�&��$t�&�� �������(���Dw�&��&Dx�&�&�&Dy�&�&�&D{�&��&D|�&�|�&���|�&��$��&�� P���(���D��&��&D��&D��&�&�&D��&��&D��&��&D��&�&�&D��&&�@(����&D��&���&����&�$��&%� D0��(8��=��(D��O��T���D��&��&D��&D��&D��&D��&�&�&D��&�&&&�&&D�&�&&D�&D�&D�&D�&D�&D� &D�%&D�5&�&?&D�?&Y�f&�X&D�X&�]&D�]&�`&D�`&D�o&D�~&D��&D��&D��&D��&��&D��&��&D��&��&D��&��&D��&��&��&D��&^�<&D��&D��&��&D��&D��&D��&�&�&D��&D��&�&�&D��&c�&D�&D&�&
        !          5056: &D
        !          5057: &D#&�&(&D      (&�&*&D
        !          5058: ,&�&1&D1&h��&DG&m��b��d�&T&DV&�&[&D[&q��&Db&�&e&Dg&�&l&Dl&v��&Ds&�&v&D!v&D!z&�&~&D"~&��&D#�&��&D%�&�&�&D!�&D'�&D(�&D)�&{�@(�����@(
        !          5059: �����@(        �����������@"��@���@���"��&D*�&�*�&���*�&��$>�&�� P���(���DA�&��&DD�&DE�&DE�&�&�&DF�&��&DG�&��&DI�&�&�&DE�&DK�&��@(����&DL�&�L�&��L�&�$a�&� �&��*���5��9��"Dg�&��&Dk�&Dr&Dr&�&
        !          5060: &Dt
        !          5061: &�!&Du!&�%&Dv%&Dw*&Dx/&�3&Dz3&�8&�&8&Ds8&D}A&A�@(F��J�@(
        !          5062: N��R�@        �C&D~C&�~C&T��~D&\�$�D&c� �j��n��"s��"D�F&�F&D�F&D�S&D�`&�&e&D�e&�&h&D�h&D�}&D��&D��&D��&D��&D��&D��&D��&y�@(�����@
        !          5063: ��@    ��&D��&���&�����&��\��`��`��`��`"��`(�����^��\�`"�`�^ �\*�`(1��5�`;�`@�`�E�`(O��Y�`(f��p�^z�\��`0&��`$��`(�����^��\��`��`0&��`$��`(�����^��\��`"��`�`�`(��"�`(,��0�`(9��=�`G�`(P��Z�`( f��p�`$z�`((�����`,��`0��`(4�����`"8��`"<��`"@��`D��`H��`L��`(P�����`(T���`bX��#�^ &*�\/�`(4��;�`"C�`(J��N�^S�\W�`"]�`i�`o�`(y��}�`(�����`b���^��\��`$&��`$��`0&��`(�����`b���^��\��`"��`��`��^&�\�`�`�^,�\2�`7�`;�^A�\Q�`V�`\�^l�\��`��`��`��`"��`"��`"��`"��`��`b�&��^ �����&����&��d�&���&E�r(��&b�8���8���$A�&
� D��(#��.��"3���>���F��$N��$DQ�&��&DS�&DZ�&�&�&D[�&�&�&D]&�&&D^&D_
        !          5064: &�&
&Da
&�&&Db&�&&Dd&Dk&�&&Dl&��&Dt�&��&Du�&��&Dw�&D�&��&D��&D��&D��&��&D��&��&D��&D��&��&��&D��&D��&D��&W��+&D� &[�@"� &D� &�! &D�! &�# &D�# &�% &D�% &D�1 &D�9 &^���; &D�; &�? &D�? &D�E &�G &D�G &D�G &�K &D�K &c��+&D�] &�b &D�b &D�h &�j &D�j &�&l &D�r &�&� &D�� &�&� &D�� &D�� &D�� &�&� &D�� &�&� &D�� &g�@"i�@
        !          5065: t���� &D�� &��� &y���� &��$�� &�� P������"���"D�� &�� &D�� &D�� &�&� &D�� &�� &D�� &D�� &D�� &�� &�� &D�� &�� &�&� &D�� &D�� &��@����� &D�� &��� &����� &��$
        !          5066: &� &�� ��������D&� &�� &D=&� &�&� &D>&� &�&!&�&!&D@&!&�&!&DB&!&DC&!&DC&!&�&*!&DF&*!&DG&8!&DH&>!&DI&C!&�I!&DJ&I!&�L!&DL&L!&�P!&DM&P!&�S!&�Y!&DO&Y!&DO&Y!&�Y!&DP&Y!&��!&DR&�!&DS&"&DT&"&DV&  "&DW&"&DX&"&D[&"&D\&"&D]&"&D_&"&D`&"&Da&"&De&!"&Df&$"&Dg&'"&Di&)"&Dj&+"&�/"&Dk&/"&�1"&Dl&1"&�X"&Dn&X"&Do&["&�^"&Dq&^"&Ds&^"&�^"&�^"&DO&^"&�f"&Dx&f"&Dy&o"&�t"&Dz&t"&D|&�"&��"&D~&�"&��"&D&�"&��"&D�&�"&D�&�"&���X��\��`��d#��h+��l�&�"&DC&�"&D�&�"&D�&�"&D�&�"&D�&�"&�&�"&D�&�"&D�&�"&��"&D�&�"&D�&�"&��"&D�&�"&D�&�"&��"&D�&�"&��"&D�&�"&��#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&D�&�#&��#&D�&�#&D�&�#&��#&D�&�#&��#&D�&�#&��#&D�&�#&��#&��#&D�&�#&D�&�#&��#&D�&�#&D�&�#&��#&D�&�#&D�&�#&�$&D�&$&D�&$&�&$&D�&$&D�&
$&�&$&D�&$&�&$&�&$&D�&$&�&$&D�&$&�&#$&D�&#$&�&,$&D�&,$&4�@"8�@"
        !          5067: <�@    E�@G�@P�@$X��"_��dT��0$&D�&0$&��&0$&j���&1$&t�$�&2$&� ��������D�&4$&�4$&D�&4$&D�&9$&�&?$&D�&?$&�&Q$&D�&Q$&D�&U$&D�&a$&D�&f$&�&l$&D�&l$&D�&y$&D�&�$&D�&�$&�&�$&D�&�$&D�&�$&D�&�$&��@"��@
        !          5068: ��@    ��@"��$&D�&�$&��&�$&����&�$&��$�$&�� P���(������"���D�$&��$&D�$&D�$&D�$&D�$&�&�$&D�$&D�$&D�$&�&�$&D�$&�&�$&D�$&D�$&�&�$&D�$&�&�$&D�$&D �$&�&�$&�&�$&D"�$&D#�$&��$&D$�$&D%%&�%&�%&D'%&D(%&�%&D*%&�&%%&D3%%&�&*%&D4*%&�&4%&��@(������&��"���4%&D64%&�64%&��65%&�$N6%&+� B9��"=��$DT;%&�;%&DU;%&DY@%&D[D%&E��%&�&\&&D]\&&D^`&&D`f&&Daj&&Dcp&&Ddt&&Dfz&&Dg~&&Di�&&Dj�&&Dl�&&Dm�&&��&&Dn�&&Do�&&Dp�&&��&&Dr�&&Ds�&&��&&Dt�&&Du�&&��&&Dv�&&Dw�&&��&&Dy�&&Dz�&&D{�&&��&&D}�&&D~&'&D'&D�
'&D�'&�&'&D�&'&D�+'&D�/'&�5'&D�5'&D�9'&D�?'&D�E'&D�I'&D�O'&�h'&D�h'&D�m'&D�o'&��'&D��'&��'&D��'&D��'&D��'&D��'&��'&D��'&��'&D��'&D��'&D��'&��'&D��'&D��'&D��'&�&�'&D��'&�&�'&D��'&�&�'&D��'&J�@"L��S����'&D��'&���'&Y����'&g�$��'&u� D���(������"���$����D��'&��'&D��'&D��'&�&�'&D��'&�(&D�(&�(&�&(&D�(&D�(&D�5(&D�F(&�&Q(&D�Q(&D�p(&�t(&D�t(&D�}(&��(&D��(&��(&D��(&��(&D��(&��(&D��(&��t+&D��(&��(&D��(&D��(&��(&D��(&D��(&D��(&D��(&��(&��(&D�(&D&�(&��(&�&�(&D��(&D�(&D�(&D�(&��@"��@
        !          5069: ������"��@    �����@���@��(&D�(&��(&����(&��$�(&�� D��"��"D"�(&��(&D%�(&�&�(&D+�(&��(&D,�(&�)&D-)&�)&�)&D/)&�)&�)&D2)&�)&D3)&�&)&D<&)&�,)&D=,)&D>/)&�4)&D?4)&�=)&DA=)&�B)&DBB)&�S)&DCS)&�\)&DE\)&�_)&DGa)&�i)&DNi)&�o)&DOo)&�u)&DWu)&��)&DX�)&DY�)&��)&DZ�)&��)&D[�)&��)&D]�)&��)&D^�)&��)&D`�)&��)&Da�)&Db�)&��)&Dc�)&��)&De�)&��)&Df�)&��)&Dh�)&��)&Di�)&��)&Dk�)&��)&Dm�)&��)&Do*&�*&Dp*&�*&Dr*&�*&Dy*&�!*&Dz!*&D{$*&�)*&D|)*&�-*&�-*&D�-*&�4*&D�4*&�8*&D�8*&D�;*&�&>*&�@�D*&D�D*&��D*&���E*&)�$�F*&4� �?��"E��D�K*&�K*&D�K*&D�O*&�&b*&D�b*&�&d*&D�f*&�&k*&D�k*&�k*&D�k*&D�m*&�s*&D�s*&D�*&��*&D��*&��*&D��*&��*&��*&�&�*&D��*&�&�*&D��*&D��*&��*&D��*&D��*&��*&D��*&D��*&��*&D��*&��*&D��*&��*&D��*&��*&D��*&��*&D��*&��*&D��*&��*&��*&L�@
        !          5070: �&�*&D��*&�&�*&D��*&��*&D��*&D��*&��*&D��*&D��*&��*&D��*&�&+&�&+&D�+&�        +&D�     +&�+&�+&D�
+&�+&D�+&�+&D�+&�+&�+&D�+&D�*+&�.+&�.+&D�0+&�5+&D5+&�;+&D&;+&�=+&D=+&�?+&D?+&�V+&DV+&�X+&DX+&�c+&D   c+&�e+&De+&�&g+&Dm+&S�@"U���p+&Dp+&�p+&[��q+&f�\q�`|�`��`��`"��`(�����^��\��`"��`��^��\��`(�����`��`�`�   �`(���`(*��4�^>�\M�`0&R�`$]�`(e��t�^��\��`��`0&��`$��`(�����^��\��`"��`��`��`(�����`(�����`(���&�`�`(���`( *��4�`$>�`((E��T�`,]�`0i�`(4p��{�`"8��`"<��`"@��`D��`H��`L��`(P�����`(T�����`bX����^ &��\��`(�����`"�`(���^�\�`"!�`-�`3�`(=��A�`(I��M�`b�R�^V�\^�`$&c�`$n�`0&y�`(�����`b���^��\��`"��`��`��^��\��`��`��^��\��`��`��^�\�`�` �^0�\N�`Q�`W�`]�`"a�`"d�`"g�`"j�`o�`b�&u�^ ���q+&���+&��d�+&���&E��o&�� �� ��&�8���8��$
        !          5071: �+&�� D����������"��/&���/&���/&���/&���/&��&"9�9��/&�$6/&�2P"��'�d/&+� 2� "9��<c/&B�<�/&I�9O�`0&W��0&Z��0&`��0&l��0&w��0&��1&���2&���2&���2&��r3&���H3&���X3&��h3&��x3&����3&���3&���3&
        !          5072: ���4&���5&��5&)���5&4�6&@�6&J�,6&U�<6&b�d<6&s��&E�m&w�&b(9~�(9��&(49��49��$<6&�� D��s8&��$p6&�� D��$�6&���6&��2����"��@"���7&��$&7&�� ����"��@"��,y��$9�7&� �        �<y�&"89�89 �b8&$�$G�7&,�2P4��9�@8&=�(,yD�(b<yI��M?8&Z�Mx8&g�dx8&x��&E�B''|�$x8&�� P�z8&��8&��<9��$�8&�� D������(��8&��B&���8&�&�8&�r9&��9&�&�9&�&:&�&:&�&?:&��:&�/;&�O;&�h;&��;&��;&�&<&�&I<&�~<&�.=&�N=&��=&��=&��>&��>&��>&�&�>&�&4?&��?&�
        !          5073: @&�&
        !          5074: @&�&
        !          5075: @&�G@&�A&�8A&��A&�&�A&��&<9����B&��&"@9��@9���B&��$kB&��2P����%B&��dB&���b��`B&���qaB&        �q�B&�
        !          5076: C&�D9(�rC&,�PC&0��C&;�ZD&D�H9M��D&Q��D&U��D&`�`F&i�L9r��F&v��F&z��F&���G&��P9��*H&��H&��8H&��zH&��T9���H&���H&���H&��d�H&���&E�B''��$�H&�� D���(���"��H&������"�I&���I&�I&�dI&'��&E�-&+�$I&1� D7��"9�@";��(=�@(
        !          5077: ?��I&H�&"X9P�X9Y�>J&]�$      �I&e�2Pm��r�J&v��J&��LJ&��dLJ&���&E�D''��$LJ&�� ����"���"���(�QJ&���M&�&�J&�&K&�bK&�&�K&�&�K&��K&��L&�&�L&���"��M&��&"\9��\9��N&��$5�M&��2P�����M&���M&���b���M&��;�M&�;N&�dN&*��&ED''.�$     N&5� N<��0>��C��H��(�N&�&-N&J�6Q&�_N&��N&��N&�;O&�sO&��O&�P&�XP&��P&��P&��P&��P&�Q&�Q&�&Q&S�@U�@
        !          5078: W�@"    �5Q&Y�&"`9a�`9j��Q&n�$56Q&v�2P~���?Q&��|Q&���b��zQ&���;{Q&��;�Q&���R&��~R&��d9���R&���R&���R&��d�R&���&ED''��$�R&�� D���"��R&������"�S&���S&� S&�4S&��T&(�h91�U&5��T&9�(U&E�d(U&U��&E�D''Y�$(U&a� Di��"m��"�-U&q�@(s��u��"z��"�|U&|��|U&��|U&��d|U&���&E�D''��$|U&�� D���"���"��U&������(���"��U&����U&���U&���U&��lI���X&���X&��X&�}X&�eX&     �[X&�AX&�/X&�X&�
X&�&X&��W&"��W&&��W&*��W&.��W&2��W&6��W&:��W&>�wW&B�gW&F�XW&J�GW&N�3W&R�W&V�W&Z�W&^��V&b��V&f��V&j��V&n��V&r��V&v��V&z�yV&~�oV&��YV&��CV&��*V&��V&���U&���U&���U&���X&��d�X&���&E�D''��J��$�X&�� ����"��X&�&�X&��LY&�&Y&�&.Y&�&CY&��&bJ��@"�KY&��&"(J��(J���Y&��$LY&��2P���UY&     ��Y&
��b���Y&���Y& ��Y&-�d�Y&>��&E��S'B�&d,JH�,JO�&d,NU�,N\�&�,Ra�,Rg�pp&o��p&w�jo&��^&���o&���p&���p&���p&���d&���o&���o&���`&��p&��Fp&��$��Y&�� D���(���"���"��Y&��@��&�Y&��&��Y&��Z&�K[&�q[&�w[&�w[&�y[&��[&�\&�(\&�J\&�P\&��\&��\&��]&�v^&�&v^&�@ �@
        !          5079: �@    ��^&�$��^& �2D'��()���.��4��:����^&D�@��`&F�$��`&M�2DT��(V���[��a��g����`&�&=a&��a&�b&�&!b&�&,b&�4b&��b&�&c&�& c&�(c&��c&�&d&�&d&�!d&��d&�&�d&q�@s�@"
        !          5080: u�@    ��d&w�$��d&~�2D���(���������������d&��e&��$��e&���e&��2D���(����������������������" ���"$��e&�&�e&�g&���&�!g&�'g&��&��&��&�eg&�&eg&�&kg&�&�h&�&�h&�&i&�&Wi&�&�i&�&�i&��i&�j&��j&��j&��j&��j&�Pk&�uk&�{k&�l&�&
        !          5081: m&�&m&�1m&��m&��n&�\o&�&fo&�@"�@
        !          5082: �@    �@$��b�+�@0��"�5����jo&:�$T&jo&A�2DH��(J���O��U��[���lo&e��&j��&��o&o�$W&�o&v�2D}��(��������������o&���&��o&��$Z&�o&��2D���(���������������o&���&���&��o&��$]&�o&��2D���(���������������o&�p&��$a&p&�2D
��(������� ���p&�Ep&*�$d&Fp&1�2D8��(:���?��E��K���Hp&U��&Z��&�op&_�$h&pp&f�2Dm��(o���t��z������rp&��q&��p&��$k&�p&��2D���(���������������p&��p&��$n&�p&��2D���(���������������p&��p&��$q&�p&��2D���(�������������p&��p&�$t&�p&�2D#��(%���*��0��6����p&�q&@�$w&q&I�2DR��(T���Y��_��e��o���q&�&�q&�Mr&�Vr&�Xr&�_r&�&_r&�&�r&��r&��r&��r&��r&��r&��r&�&�r&�&�r&�&�s&�&�s&�&8t&�&Cv&�&�y&�&�y&�&#|&�&/|&�&t~&�&z~&�&&t�@v���@
        !          5083: ��@"    ��@��@"���b��@������" ���$���,�&��&",V��,V���&��$�&&��2P����'&��d&���b��b&��(@�����&c&���&�&
        !          5084: �d�&��&EE''�&�0V#�0V)�Ƒ&1�0�&9�B�&B���&J��&R�l�&Z��&b�N�&j���&r�2�&z���&��$?�&�� D���(���"���"��&��D���H���L���X�&�&&�&�t�&���&�t�&���&���&���&�
        !          5085: �&���&�&�&��@��@
        !          5086: ��@    �����&��$l�&��2D���(���������������&�&#�&�w�&�o�&�&o�&�s�&��$�t�&��t�&�2D��(�������%��*��2���y�&�&a�&�&y�&�&��&�&9�&�&J�&�&�&�&,�&�7�&��&���&�Ê&�ʊ&�ʊ&��&���&�g�&�p�&�&p�&�&v�&�&��&�&�&�
�&�[�&�`�&���&���&��&�&�&7�@9�@
        !          5087: =�@    A�@F����&K�$��&R�2DY��([���`��f��l����&�/�&q�$�0�&x�2D��(��������������2�&�M�&��$�N�&��2D���(��������������P�&�k�&��$�l�&��2D���(��������������n�&���&��$���&��2D���(���������������&���&     �$���&�2D��(�����$��*�����&�ő&/�$�Ƒ&6�2D=��(?���D��J��P���ϑ&�&�&�&��&�&
        !          5088: �&�&�&�&�&�&ݔ&�&�&��&��&��&�ї&�&�&�&d�&�&-�&U�@W�@"
        !          5089: Y�@    ^�@c�@h��b�1�&l�$&2�&s�2Dz��(|�������������7�&�&L�&�&d�&�&l�&�u�&���&�&W�&��@"��@
        !          5090: ��@    ���&��$4&��&��2D���(����������������&�&��&�&ڜ&��@"��@
        !          5091: ��&��$B&�&���&��2D������"��&�&�&�&!�&�&'�&�_�&���&�&#�&��@�B�&��$T&B�&��2D���(�������������G�&�&)�&��&��&�&$�&�@"    �@"
        !          5092: 
�@    �@�X�&�&"0Z�0Z#� &(�$n&X�&0�2P8���a�&=���&B��b����&F�("L�K�(H�P�(D�V��t&��&f�t&Ԡ&o�dԠ&|��&E>E''��$Ԡ&�� P����֠&�&�&�&��&��@��@$&
        !          5093: ��&��$�&�� D���$&��&�&�&�&�&��@�*�&�� ����*�&��,�&��D�&��$\�&�����&��
        !          5094: ȡ&���&�!4�&����&��آ&,����&8��,�&D��l�&P���&Z��`�&f��l�&q��l�&}�!��&��d��&���&ERfl&��$��&�� D���"���������@��Ω&��&"P[��P[��6�&��$_Ω&��2P������&���e�&&�eD�&
�dD�&��&ETfl&�$D�&'� N/��"4���;��@�@E�b�&N�&"T[V�T[_�ʬ&c�$]b�&k�2Ps��x���&|��c��&��cج&��dج&���&ETfl&��$ج&�� D���"����&���&��d�&���&EUfl&��$�&�� D���"�����&���&���t�&���`�&  ����&����&����&'�d��&2��&EUfl&6�$��&;� G@��"B��Ƿ&M�ȷ&X�dȷ&e��&ENfl&i�$ȷ&p� �w��"z��"}�@"��D�&��&"�[���[����&��$D�&��2P�������&�����&����&��d��&���&E&�R'��$���&����&��2�������&��(��&ϸ&���&�&�&�&�&�&=�&�@(���i�&�$       &j�&�j�&�2P#��(�l�&�&q�&�&ҹ&�ҹ&%�$&Թ&-�Թ&6�2�>��(@��B���ٹ&�&�&�&��&�&��&�Ϻ&�z�&�&ɻ&D�@F�@
        !          5095: I�@    K�@.M�@Q�@S��(�λ&V�$=&λ&Z�λ&_�2�c��"e��i��l���л&�&/�&�&u�&o�@(q�@
        !          5096: s�@    u�@w�@���&y�$^&��&����&��2D������&�&ͼ&�&ּ&�&�&�&�&�&��&�&�&�&�&�&�&�&,�&�&?�&��@�C�&��${&D�&��D�&��2D���.�F�&�&m�&���&���&�&ʽ&�&ؽ&�&�&�&�&�&��&�&�&�&�&�&�&�&�&�&(�&�&J�&��@��@
        !          5097: �i�&��$�&j�&��j�&��2�����l�&��@(���&��$�&��&����&��2����(���(���&�&�&�&&�&�&w�&���&���&�h�&���&���&���&���&���&�&��&��@.��@
        !          5098: ��@.    ��@��@��@���.���.������.���.���.&��(�� ��$     ��(�F�&��[�$F�&�F�&#�2�,��(.���K�&0�h��&��&�&��&�&��&���&���&���&�3�&�&6�&5�&d�[9�@(<�@(
        !          5099: @�@(    C���A�&E�$(B�&L�B�&T�2�[��(]���G�&�&w�&��&���&�&�&_�@a�@.
        !          5100: c�@.    f�@i�@l�@n��.q��s��(�|�&v�$_|�&z�|�&�2D���(���(���&�&�&�&��&��@.��@.
        !          5101: ��@.    ��@������.���&��$|��&����&��2����(���(���&�&��&�&
        !          5102: �&�&�&�&"�&�&6�&�&��&�&�&�&��&��@��@.
        !          5103: ��@    ��@��@.��@.������.���.���(���������&��$���&����&��2G������&��@����C�&��$�D�&��D�&��2G���(���$�I�&�&��&�&R�&�&��&�&��&�&��&�&��&��@��@.
        !          5104: ��@    ��@.�@�@��
        !          5105: �����I�&�$+J�&�J�&�2�����$��$�O�&�&�&�$�&�X�&�&��&�&��&�&��&$�@(&�@
        !          5106: (��*�@        -��./��2��4��7���E�&9�$�F�&?�F�&F�2GL��(N��(�K�&�&��&�&��&P�@R��U��X��[�����&^�&g�[c��[i�&g�\q��\z�&g�\���\��$���&�� G���"������&����&��x�&�&��&�&��&�&�&�&`�&�&��&��&�P�&�^�&�^�&�^�&�f�&���&���&�&��&�&�&��&��&�f�&���&���&���&�S�&�X�&�&_�&�&c�&�&��&����&�&�&�-�&�3�&�5�&�I�&���&���&���&���&�&��&�&&�&�!�&�'�&����&�<�&�K�&���&��&�<�&�<�&�&<�&�&M�&�r�&���&����&���&���&�3�&�3�&�&3�&�&J�&��&�#�&�%�&�6�&���&���&���&���&�e�&���&���&���&�<�&���&���&���&�W�&���&���&����&���&����&��&��&����&�)�&�)�&�+�&�V�&���&���&�n�&���&���&���&�#�&���&���&���&���&���&���&�P�&����&����&�h�&����&�t�&�&��&�����@��@
        !          5107: ��@(    ��@��@(��@������"���(������(���$��(��,
��0��4��8��(<��@��D��H"��L&��T,��X3��`7��h;��l=��p@��(tD��xG��|I���M���R���V��"�Y���_��"���&b�$��&i��&q�2Dx��(z��(��&�&�&�$�&���&�1�&���&�&��&�&��&��&���&�1�&���&�&��&|�@.�@
        !          5108: ��@    ��@��@��@������.���������.���.������&��l���p���$k��&�� �������������$���$�������&�&��&�&
        !          5109: �&�&4�&�&n�&�&��&����&�&&�&�&�&����&�&]�&��t�&��|�&��l�&��d�&�&1�&�&F�&�&S�&�&Z�&�&\�&�&c�&�&h�&�&w�&�&y�&�&��&�&��&�&��&���&�&��&�&7�&�&��&���&���&���&�&�&�
�&��&�&�&�N�&�Z�&�e�&�t�&�\�&���&�T�&���&���&�]�&�c�&�c�&�s�&���&���&��&��&��&��&�&&�&�&=�&�M�&���&���&���&���&�A�&�G�&�c�&�&k�&�&�&���&���&���&���&���&���&�&��&�&��&�&��&�&��&��&��&�2�&�H�&�&Y�&�&��&���&���&�&��&�&V�&�&e�&�&l�&�&{�&�&��&���&���&�&��&�&��&�&I�&�&T�&�w�&��&��&���&���&���&��&��&�$�&�L�&�y�&���&���&���&�&��&�&&�&�&O�&�&��&���&���&�&�&�&�&�&E�&�&S�&�&s�&�(p��((l�$�@"&�@
        !          5110: (�@    *�@(,�@.�@(2��7��;��(=��?��B��(F��( L��"$O��(R��0V��4Y��8\��<_��Db��Hl��Lo��Pr��Tw��X��\���`���d���h���l���p���t���x���(|���&��&"�\���\��F�&��$���&��2P������&��$�&���b�� �&��((h���(�(�����!�&����&
����&���&%��&3����&>����&J���&V����&`���&l��d�&x�t�&��J�&���\����&����&����&����&���\��R�&��0�&��d�&��dd�&���&E� m&��$d�&�� D���(��@(����������&&�&"�\     ��\�*�&�$��&�2P&��+��&/���&=�8�&H�d8�&W��&E�ʾ&[�$8�&b� �i��(k�@(m��&v�d�&z�&"�\���\����&��$$�&��2P�����d�&���*a�&��*��&��d��&���&E�D''��$��&�� ����"���&��x��@(�x��&"�\���\&���$x
�2P��������b���"���1��<��&E��\N��&R��&V�a�dp��&EH*m&t�${� D������(�����&"]��]��6��$���2P��������#���Ԡ&����~<��r����� 2]&��,�0&    ���&%��Z/�  �]5��R&=��&l9I�8��[��B&e��I&l�L�D&t�+�F&{��(���T���$D�&���4�&�� y]������ȡ&������0���\���L����H&�k    �I 
        !          5111: !���*�&<s4�"?�lH
J�OLT�u�_�(�j��4t��
}�;D���qج&���        ��W      ��������&���\H���F(U&��)@���t�&���`�&����5&��(�/&���v0&���Z���&D��&�.�J�-�N 4'��$1�mZ?@���5L��KY���=c�;�o���,y��h(���z��9�8&����0&���h���\�&��Y�'���4-�������Wt�&��g�4����+&��  �]���8��t8H&��x��&l�&��`�`##��`*��`+5�n`'<�`/C����&L���PU��0N`�?Pn�zP}��FQ����Q���|���&���!�&��&`d���4&�����&����Q&��[N&��!d3���h3&���,6&��;�0&����3&�     �]�     �]��X[���&%��,�&-��l�&5��G�y�&M��LZU� F*&a�Ft�o�<��|�n&H����Ϋ��L���~4���t�����H����Ȳ���&$���6h���&�������Db�$�$&3��&��>�N*�L����Y��v�h��F�u�@����L�&��V������������������F�&���F�������b���&����!���3���&B���U���a�hB�k�:�&y��6%&���$&��
        !          5112: ��&���R����ޤ������&���,&����(&����'&�.2$&���$���3&*��&�U&4�a�X&<��X3&C�v6&K���2&Q�X�0&W����&^��1&f��6&l����v��آ&���0&����5&���M3&��V��&��|U&��h�&���� &���d&���� &���&�&��&�C&����2&���5&���6��t�����#��n�1�
        !          5113: x3&:���3&C�`�2&K��&3&U��p6&_���o�*&D�&x�bȷ&����&����&����&���D&���8��      :]���,�&����/&���@0&��X`0&��`�&����0&���1&�����&��?�2&���<6&��&�7&��H3&�@��&�X�&)����&0����&8��d�&@�p��&H����&N����&U����&^���5&e�� S&m�_7&w��x8&���vT&��X�&��7h�&���&t�&��b��&��7LJ&���Y&��.��&��ed�&���4S&��b����8�&��\��&���&�����&����&�A�n��&� �$]%���&+�+�&3���&;� �t�@��I�&E�@��&P�   ��&Y��$�&a�O`�&i�N��&q�   ��]u�     ��m{����&�����&��crt0.oexitscsish.oscsish.crccdev_devscsish.h$23.3mainmain_5_parsemain_8parseparsefp/usr/ape/include/stdio.h$29.1_15_28_31_32_35_36bufferlinepartialcmdresultparseflook_flookflookscsish.h$15.2fscsish.h$15.2nameflook_47setdevicesetdevicedscsish.h$23.3errbuffscsish.h$15.2setdevicehelp_helphelpdscsish.h$23.3cmdprecscsish.h$23.3_59_68_76fscsish.h$15.2basescsish.h$15.2helpgen_helpgen_helperrClientDataitTcl_Interpargcargvgen_helpdevs_devsscsish.h$23.3gen_devgen_deverrClientDataitTcl_Interpargcargv_93_99_100_105_115dscsish.h$23.3gen_devscsi_targetscsi_targetn_122scsi_targetset_sonyset_sony_125_127aset_sonyinterpTcl_Interpscsish.h$23.3nameverboseextsensefnsscsish.h$15.2scsish.h$23.3scsish.h$15.2namehelpparamfnscsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1scsish.cge_dev.odev.crccfns_fns../scsish.h$15.2_4_5_6_7_8_9_10_11_12_13_14_15_gen_id_16_17_18_19_20_21_22_23_24_25_26_27_28_29_30_31_32_33_34_35genericdev../scsish.h$23.3_36gen_idgen_iderrClientDataitTcl_Interpargcargv_40gen_id../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1dev.cge_inq.oinq.crccgen_rmb_4_5gen_devtype_6_7_8_9_10_11gen_inqgen_inqcdClientDataitTcl_Interpargcargv_43_53_60_67buf_68cmdscsi_cmdretscsi_returniargsnagen_inq../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1inq.cge_capacity.ocapacity.crccgen_capacitygen_capacitycdClientDataitTcl_Interpargcargv_7_37cmdscsi_cmdiretscsi_returnunitnsssgen_capacity../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1capacity.cge_display.odisplay.crccgen_displaygen_displaycdClientDataitTcl_Interpargcargv_9_24_48_59cmdscsi_cmdretscsi_returnivendorproductrevretvold_idngen_display../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1display.cge_stop.ostop.crccgen_stopgen_stopcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiunitretscsi_returngen_stop../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1stop.cge_start.ostart.crccgen_startgen_startcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiunitretscsi_returngen_start../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1start.cge_reset.oreset.crccgen_resetgen_resetcdClientDataitTcl_Interpargcargvcmdscsi_cmdretscsi_returngen_reset../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1reset.cge_tur.otur.crccgen_turgen_turcdClientDataitTcl_Interpargcargv_7_26cmdscsi_cmdiunitretscsi_returngen_tur../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tur.cge_scsi.oscsi.crccgen_scsigen_scsicdClientDataitTcl_Interpargcargv_41cmdscsi_cmdretscsi_returnngen_scsi../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1scsi.cge_readt.oreadt.crccgen_readtgen_readtcdClientDataitTcl_Interpargcargv_7_40_73_74_68cmdscsi_cmdaddrbsissretscsi_returnunitt1countt2nsgen_readt../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1readt.cso_dev.odev.crccfns_fns../scsish.h$15.2_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_31_32_33_34_35_36sonydev../scsish.h$23.3_37_38../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1dev.cso_inq.oinq.crccsony_inqsony_inqcdClientDataitTcl_Interpargcargv_35_40_47_67_68_63_59_58_53_54_50cmdscsi_cmdiretscsi_returnargsnasony_inq../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1inq.cso_alt.oalt.crcctable_tabletabledrivetabdata_5_10intablesony_altsony_altcdClientDataitTcl_Interpargcargv_30iunitretscsi_returncmdscsi_cmdsony_alt../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1alt.cso_config.oconfig.crccmtab_mtabbrdname_brdname_4_5_6sony_confsony_confcdClientDataitTcl_Interpargcargv_31_32_28_29_26_43_45_50_57_60retscsi_returncmdscsi_cmdibufnsony_conf../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1config.cso_sense.osense.crccsony_sensesony_sensecdClientDataitTcl_Interpargcargv_7_26_28cmdscsi_cmdiunitbufretscsi_returnsony_senseexstab_exstab_30_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45sony_extsensesony_extsensedatadestndata_51_56_57_60_61_64nesdbufsony_extsense../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sense.cso_nesd.tab.onesd.tab.crccnesd_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_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254_255nesd.tab.cso_status.ostatus.crccshelf_shelfshelfi_5_9_10_8_16_19_22_23_24shelfsony_istatussony_istatusretscsi_returnerrcmdscsi_cmdnsony_istatussony_statussony_statuscdClientDataitTcl_Interpargcargv_90_91_85_88_86_84_103_107_106_108_121_122_123_124_127_128_131_132_135_136distartretscsi_returnsony_status../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1status.cso_set.oset.crccsony_setsony_setcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiretscsi_returnsony_set../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1set.cso_shelfside.oshelfside.crccshelfsideshelfsideargerr_9shelfoargshelfside../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1shelfside.cso_diskid.odiskid.crccsony_diskidsony_diskidcdClientDataitTcl_Interpargcargv_7_26cmdscsi_cmdiunitretscsi_returnsony_diskid../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1diskid.cso_copy.ocopy.crccsony_copysony_copycdClientDataitTcl_Interpargcargv_8_9_24_good_search_40_copy1_52_55_56sbasewrunwrnnblocksgoosdrdbaset2lowerddrstargetdtargetretscsi_returnnbt1sony_copycopy1copy1stsdsbndtdddberrcmdscsi_cmdretscsi_returncopy1searchsearchdrlowersbasenscopy.c$15.4errcpretscsi_returnsearchgoodcopy.c$15.4BADGOODcopy.c$15.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1copy.cso_eject.oeject.crccsony_ejectsony_ejectcdClientDataitTcl_Interpargcargv_7cmdscsi_cmdiunitretscsi_returnsony_eject../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1eject.cso_media.omedia.crccsony_media1sony_media1drivelbnlowerretscsi_returnerrcmdscsi_cmdnsony_media1sony_mediasony_mediacdClientDataitTcl_Interpargcargv_60_65_72_87_89_90_88_96_cmsg_113_114_116_118_120_122_124_126_128_130_132_134_cnts_162newbnewbnewb_240_247_248optindoptargdfp/usr/ape/include/stdio.h$29.1retscsi_returnbnccurcurbverbosenlinedrivelowerbuflbncountfoutsony_mediacmsgcnts../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1media.cso_rel.orel.crccsony_relsony_relcdClientDataitTcl_Interpargcargvcmdscsi_cmdijretscsi_returnsony_rel../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1rel.cso_internal.ointernal.crccinternal_internalinternalnb1nbretscsi_returnerrcmdscsi_cmdinternalcmds_cmds_53_54_55_56_57_58msg1_msg1_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74testn_testn_75_76_77_78_79_80_81_82_83_84sony_internalsony_internalcdClientDataitTcl_Interpargcargv_88_93_228_100_101_107_111_112_118_120_127_128_129_131_157_159_160_158_170_173_176_179_182_183_184_189_190_195_196_220_223_222_224_225_226scsiidentbusidscsicmdi1erri0comcmesgdiretscsi_returnargdrivecmdscsi_cmdt1t2lowersony_internal../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1internal.cso_readid.oreadid.crccmy_read_my_readmy_readlunblkretscsi_returnerrcmdscsi_cmdnmy_readsony_readidsony_readidcdClientDataitTcl_Interpargcargv_31_36_39_55_63_69optargoptindblkretscsi_returndrivelastbprbufczerosony_readid../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1readid.cwr_dev.odev.crccfns_fns../scsish.h$15.2_4_5_6_7_8_9_10_11_12_13wrendev../scsish.h$23.3_14_15../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1dev.cwr_inq.oinq.crccwr_extinqwr_extinqcdClientDataitTcl_Interpargcargv_23cmdscsi_cmdretscsi_returnvendorproductwr_extinq../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1inq.cwr_driver.odriver.crcctypes_typeswren.h$4.4curtype_curtypewren.h$4.4setwren_setwrensetwrenerr_34_35nproductcmdscsi_cmdfoundretscsi_returnsetwrenwr_modesensewr_modesensecdClientDataitTcl_Interpargcargv_42wr_modesensewr_modeselectwr_modeselectcdClientDataitTcl_Interpargcargv_51wr_modeselectwr_diagwr_diagcdClientDataitTcl_Interpargcargv_60wr_diagwr_logsensewr_logsensecdClientDataitTcl_Interpargcargv_69wr_logsensewr_logselectwr_logselectcdClientDataitTcl_Interpargcargvwr_logselectwren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1driver.cwr_elite.oelite.crccwr_elitewren.h$4.4_7_8_msense_mselect_lsense_10_11_12_13_14_15_16_17_18er_ererpcferr_40_45_50_56bitnretscsi_returncmdscsi_cmderdr_drdrpcferr_92_93_96cmdscsi_cmdretscsi_returndr_101_102_103_104_105_106fp_fpfppcferr_132_133_143_144_165bitnretscsi_returncmdscsi_cmdfp_184_185_186_187_188geom_geomgeompcferr_214syncretscsi_returncmdscsi_cmdgeom_231_232_233_234gcp_gcpgcppcferr_260_270_275bitnretscsi_returncmdscsi_cmdgcp_290_291_292_293vc_vcvcpcferr_319_331_334bitnretscsi_returncmdscsi_cmdvcpcfval_pcfval_346_347_348_349msensemsensecdClientDataargcargv_354_368pcfmsensepages_pageswren.h$29.6_382_383_384_385_386_387_388_389_390_391_392_393_394_395_396_397_398_399_400_401mselectmselectcdClientDataargcargv_414_419_423_431_443_449_465fwren.h$18.5ipagefpwren.h$18.5pcftodowren.h$18.5mselectcs_cscspcerr_504_516_505_546retscsi_returncmdscsi_cmdncspcval_pcval_574_575_576_577lsenselsensecdClientDataargcargv_579pcflsensewren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1elite.cwr_mpage.ompage.crcc_8wr_mpagewr_mpagepcfpagefieldswren.h$18.5err_31_36_42_43_41_47_71_69maskfpwren.h$18.5fwren.h$18.5cmdscsi_cmdretscsi_returnndatamskmwr_mpagewren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1mpage.cwr_wren5.owren5.crccwr_wren5wren.h$4.4_7_8_msense_mselect_10_11_12_13_14_15_16_17_18er_ererpcferr_40_45_50_56bitnretscsi_returncmdscsi_cmderdr_drdrpcferr_90_91_94cmdscsi_cmdretscsi_returndr_99_100_101_102_103_104_105fp_fpfppcferr_131_132_142_143_164bitnretscsi_returncmdscsi_cmdfpgeom_geomgeompcferr_208cmdscsi_cmdretscsi_returngeom_219_220_221vc_vcvcpcferr_247_259_262bitnretscsi_returncmdscsi_cmdvcpcfval_pcfval_274_275_276_277msensemsensecdClientDataargcargv_282_296pcfmsensepages_pageswren.h$29.6_308_309_310_311_312_313_314_315_316_317_318_319_320_321_322mselectmselectcdClientDataargcargv_335_340_344_352_364_370_386fwren.h$18.5ipagefpwren.h$18.5pcftodowren.h$18.5mselectwren.h$29.6namepagefieldswren.h$18.5wren.h$29.6wren.h$18.5namebyteoffbitofflennvalwren.h$18.5wren.h$4.4identdescmsensemselectdiaglsenselselectwren.h$4.4../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1wren5.cge_read.oread.crccgen_readgen_readcdClientDataitTcl_Interpargcargv_7_14_19_49cmdscsi_cmdnaddriretscsi_returnssfp/usr/ape/include/stdio.h$29.1unitbscountfilenst1t2gen_read../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1read.cso_i0.tab.oi0.tab.crcci0com_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_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254_255_256i0.tab.cso_i1.tab.oi1.tab.crcci1err_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_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254_255_256i1.tab.cso_scsi.tab.oscsi.tab.crccscsicmd_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_31_32_33_34_35_36_37_38_39_40_41_42_43_44_45_46_47_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63_64_65_66_67_68_69_70_71_72_73_74_75_76_77_78_79_80_81_82_83_84_85_86_87_88_89_90_91_92_93_94_95_96_97_98_99_100_101_102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_148_149_150_151_152_153_154_155_156_157_158_159_160_161_162_163_164_165_166_167_168_169_170_171_172_173_174_175_176_177_178_179_180_181_182_183_184_185_186_187_188_189_190_191_192_193_194_195_196_197_198_199_200_201_202_203_204_205_206_207_208_209_210_211_212_213_214_215_216_217_218_219_220_221_222_223_224_225_226_227_228_229_230_231_232_233_234_235_236_237_238_239_240_241_242_243_244_245_246_247_248_249_250_251_252_253_254busid_255_256_257_258_259_260_261_262_263_264_265_266_267_268_269_270_271_272_273_274_275_276_277_278_279_280_281_282_283_284_285scsiident_286_287_288_289_290_291_292_293_294_295_296_297_298_299_300_301cmesg_302_303_304_305_306scsi.tab.cs_h_io.oh_io.crccfd_fds_ignuass_ioss_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_9_15_23nretvss_iosmsg_smsg_29_30_31_32_33_34_35_36s_ios_iopreservecmdscsi_cmdncmdretscsi_returnnreterr_83mycmdscsi_cmdnioerrstatusbufignoreduas_ios_idss_extsense../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1h_io.cge_sense.osense.crccgen_sensegen_sensecdClientDataitTcl_Interpargcargv_7_26_30_31_39_46cmdscsi_cmdretscsi_returniunitgen_senseexstab_exstab_48_49_50_51_52_53_54_55_56_57_58_59_60_61_62_63gen_extsensegen_extsensedatadestndata_69_70_71classgen_extsenseargv0../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpresultdynamicerrorLineTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sense.cs_pperror.opperror.crccpperrorpperrorbufmesg_5_6errnosys_errlistsys_nerrpperrorscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdpperror.cs_fixedstr.ofixedstr.crccfixedstrfixedstrsrclendestsfixedstrscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdfixedstr.cs_longat.olongat.crcclongatlongatsrcnlongatscsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmdlongat.cs_xd.oxd.crccxdxdpnfp/usr/ape/include/stdio.h$29.1_13_14_24_28_40_45_47_48_52indlsbufdidstarxd../scsish.h$23.3nameverboseextsensefns../scsish.h$15.2../scsish.h$23.3../scsish.h$15.2namehelpparamfn../scsish.h$15.2Tcl_InterpTcl_InterpClientDataerrClientDatascsi_returnidscsi_statscsi_msgflagstypereg1reg2sensepaddatanreadscsi_returnscsi_cmdidbus_idflagscmddatascsi_cmd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1xd.ctclAssem.otclAssem.crccrcsid_rcsidTcl_CreateCmdBufTcl_CreateCmdBufcbPtrtclAssem.c$40.5Tcl_CreateCmdBufTcl_DeleteCmdBufTcl_DeleteCmdBufbuffercbPtrtclAssem.c$40.5Tcl_DeleteCmdBufTcl_AssembleCmdTcl_AssembleCmdbufferstringnewSizenewBufgotNewLinecbPtrtclAssem.c$40.5plengthtotalLengthTcl_AssembleCmdtclAssem.c$40.5bufferbufSizebytesUsedtclAssem.c$40.5./stdlib.h$126.4quotrem./stdlib.h$126.4div_tquotremdiv_t./stdlib.h$79.3sizeflags./stdlib.h$79.3/usr/ape/include/stdio.h$29.2fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.2HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.1commandbytesAvltclInt.h$175.1CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.1curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_InterptclAssem.ctclBasic.otclBasic.crccrcsid_rcsidbuiltInCmds_builtInCmds_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_31_32_33_34_35builtInProcs_builtInProcsTcl_CreateInterpTcl_CreateInterpTcl_InterpiPtrInterpnamePtrprocPtrcmdPtrCommandTcl_CreateInterpTcl_WatchInterpTcl_WatchInterpinterpTcl_InterpprocclientDataicPtrInterpCallbackiPtrInterpTcl_WatchInterpTcl_DeleteInterpTcl_DeleteInterpinterpTcl_InterpcmdPtrCommandtracePtrTraceicPtrInterpCallbackiPtrInterpTcl_DeleteInterpTcl_CreateCommandTcl_CreateCommandinterpTcl_InterpcmdNameprocclientDatadeleteProccmdPtrCommandiPtrInterpTcl_CreateCommandTcl_DeleteCommandTcl_DeleteCommandinterpTcl_InterpcmdNamecmdPtrCommandiPtrInterpTcl_DeleteCommandTcl_EvalTcl_EvalinterpTcl_InterpcmdflagstermPtr_80_119_132deltanewCopylengthvaluenewArgsnumRead_193_196_199deltanewCopy_220_219saved_245_248_249_268_273_280_281_282pnumCharsellipsis_297_298firstlastdstsrciPtrInterptracePtrTraceiargvargccopycmdPtrCommandcopySizelimitopenBracescmdStartopenQuotecopyStoragetermCharresultargStartsyntaxPtrsyntaxMsgtmpargSizeargStoragedummyTcl_EvalTcl_CreateTraceTcl_CreateTraceinterpTcl_InterplevelprocclientDatatracePtrTraceiPtrInterpTcl_CreateTraceTcl_DeleteTraceTcl_DeleteTraceinterpTcl_InterptraceiPtrInterptracePtrTracetracePtr2TraceTcl_DeleteTraceTcl_AddErrorInfoTcl_AddErrorInfointerpTcl_Interpmessage_315oldVarbufferlengthiPtrInterpTcl_AddErrorInfoTclFindCmdTclFindCmdCommandiPtrInterpcmdNameabbrevOK_330prevCommandcurCommandcmatchCommandlengthvarValueTclFindCmdHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclBasic.ctclCmdAH.otclCmdAH.crccrcsid_rcsidTcl_BreakCmdTcl_BreakCmddummyinterpTcl_Interpargcargv_8Tcl_BreakCmdTcl_CaseCmdTcl_CaseCmddummyinterpTcl_Interpargcargv_14_13_17_24_37pjpatArgcpatArgv_55msgistringbodyresultTcl_CaseCmdTcl_CatchCmdTcl_CatchCmddummyinterpTcl_Interpargcargv_60_63resultTcl_CatchCmdTcl_ConcatCmdTcl_ConcatCmddummyinterpTcl_Interpargcargv_68Tcl_ConcatCmdTcl_ContinueCmdTcl_ContinueCmddummyinterpTcl_InterpargcargvTcl_ContinueCmdTcl_ErrorCmdTcl_ErrorCmddummyinterpTcl_Interpargcargv_77iPtrInterpTcl_ErrorCmdTcl_EvalCmdTcl_EvalCmddummyinterpTcl_Interpargcargv_88msgresultcmdTcl_EvalCmdTcl_ExecCmdTcl_ExecCmddummyinterpTcl_Interpargcargv_91_101_108_117_122_127_130_134tmp_137_140_149err_152errSpacenewOutput_168_176child_181ioutputSizecountoutputSpaceoutputstdOutcmdNameresultinputstdInpidstatusinputSizeexecNameTcl_ExecCmdTcl_ExprCmdTcl_ExprCmddummyinterpTcl_Interpargcargv_198resultvalueTcl_ExprCmdTcl_FileCmdTcl_FileCmddummyinterpTcl_Interpargcargv_205_208_211_214_217_222lastSlash_228_235_239_240_243_246_249_252_255_258_259lengthfileNamepmodestatOpstatBufstatTcl_FileCmdTcl_ForCmdTcl_ForCmddummyinterpTcl_Interpargcargv_285_290_304msg_311resultvalueTcl_ForCmdTcl_ForeachCmdTcl_ForeachCmddummyinterpTcl_Interpargcargv_320_335msgresultilistArgvlistArgcTcl_ForeachCmdTcl_FormatCmdTcl_FormatCmddummyinterpTcl_Interpargcargv_342pbsSize_429_433_410endend_420_421_425_426newSpacenewDstnewPtr_450formatsizedstSizewidthprecisiondstnoPercentcurArgoneWordValuedstSpaceuseTwoWordsnewFormattwoWordValueTcl_FormatCmdHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interpstatst_devst_inost_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctimestatflockl_typel_whencel_startl_lenl_pidflock./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1sigactionsa_handlersa_masksa_flagssigactiontclCmdAH.ctclCmdIZ.otclCmdIZ.crccrcsid_rcsidTcl_IfCmdTcl_IfCmddummyinterpTcl_Interpargcargv_9_12_17_20_29msgresultcmdconditionifPartvalueelsePartnameTcl_IfCmdTcl_IndexCmdTcl_IndexCmddummyinterpTcl_Interpargcargv_35_40_57_58resultindexpsizeelementparenthesizedTcl_IndexCmdTcl_InfoCmdTcl_InfoCmddummyinterpTcl_Interpargcargv_65_68_71_75_78_81_86_89_90_93_96_99_102_111_116_117_120_123p_128_131_134_137_142_153framePtrCallFramelevelend_168_171_174_177_178_181_184_187newArgsiPtrInterpvarPtrVarcmdPtrCommandflagargSizepatternargSpacelengthcprocPtrProcTcl_InfoCmdTcl_LengthCmdTcl_LengthCmddummyinterpTcl_Interpargcargv_230resultelementpcountTcl_LengthCmdTcl_ListCmdTcl_ListCmddummyinterpTcl_Interpargcargv_247Tcl_ListCmdTcl_PrintCmdTcl_PrintCmdnotUsedinterpTcl_Interpargcargv_253_261_262_263_264_267_273f/usr/ape/include/stdio.h$29.1resultTcl_PrintCmdTcl_RangeCmdTcl_RangeCmdnotUsedinterpTcl_Interpargcargv_279_284_287endresultcountbegindummylastfirstcTcl_RangeCmdTcl_RenameCmdTcl_RenameCmddummyinterpTcl_Interpargcargv_332_337_340oldPtrCommandnewPtrCommandiPtrInterpTcl_RenameCmdTcl_ReturnCmdTcl_ReturnCmddummyinterpTcl_Interpargcargv_345Tcl_ReturnCmdTcl_ScanCmdTcl_ScanCmddummyinterpTcl_Interpargcargv_353_370_387_383_391_418stringtclCmdIZ.c$945.350fmtsizelocationtclCmdIZ.c$945.350curFieldtclCmdIZ.c$945.350fmtnumFieldsitotalSizesuppressfieldstclCmdIZ.c$945.350resultsnumScannedarg1LengthTcl_ScanCmdTcl_SourceCmdTcl_SourceCmddummyinterpTcl_Interpargcargv_425_430_433_439_445msgfileIdstatBufstatcmdBufferresultfileNameendTcl_SourceCmdTcl_StringCmdTcl_StringCmddummyinterpTcl_Interpargcargv_450_453_458_461_464_467_470pclengthmatchfirstTcl_StringCmdTcl_TimeCmdTcl_TimeCmddummyinterpTcl_Interpargcargv_489_490_499msg_500resulticountstarttmsstoptmsmicrostimePerTcl_TimeCmdHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interptmstms_utimetms_stimetms_cutimetms_cstimetmsstatst_devst_inost_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctimestatflockl_typel_whencel_startl_lenl_pidflock./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclCmdIZ.ctclExpr.otclExpr.crccrcsid_rcsidprecTableExprGetNumExprGetNumstringtermPtrcresultsignExprGetNumExprLexExprLexinterpTcl_InterpinfoPtrtclExpr.c$34.3_94_46_55stringpctermvarresultExprLexExprGetValueExprGetValueinterpTcl_InterpinfoPtrtclExpr.c$34.3prec_107_211_166_213operatoroperandresultiPtrInterpgotOpExprGetValueTcl_ExprTcl_ExprinterpTcl_InterpstringvaluePtrinfotclExpr.c$34.3resultTcl_ExprtclExpr.c$34.3interpTcl_InterporiginalExprexprtokennumbertclExpr.c$34.3HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.2commandbytesAvltclInt.h$175.2CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.2curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclExpr.ctclGlob.otclGlob.crccrcsid_rcsidAppendResult_AppendResultAppendResultdirnamenameLengthresPtrtclGlob.c$41.5newSizenewSpacepdirLengthtotalLengthAppendResultDoGlob_DoGlobDoGlobinterpTcl_InterpdirremresPtrtclGlob.c$41.5_37elementnewReml2l1remLengthstatic1_60_76entryPtrdirentpatternd_dirdescnewDirl1l2static1statBufstatstatic2newDirl2l1static1pccloseBraceopenBracegotSpecialresultDoGlob_93_94_95Tcl_TildeSubstTcl_TildeSubstinterpTcl_Interpname_101_104_113pwPtrpasswdcurBufcurSizestaticBufplengthdirfromPwTcl_TildeSubstTcl_GlobCmdTcl_GlobCmddummyinterpTcl_Interpargcargv_136_137thisName_144iresultglobRestclGlob.c$41.5staticSpaceTcl_GlobCmdtclGlob.c$41.5resulttotalSpacespaceUseddynamictclGlob.c$41.5HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interpstatst_devst_inost_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctimestat_dirdescdd_fddd_locdd_sizedd_offsetdd_buf_dirdescdirentd_inod_reclend_namlend_namedirent./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2passwdpw_namepw_uidpw_gidpw_dirpw_shellpasswd/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclGlob.ctclHistory.otclHistory.crccrcsid_rcsidTcl_RecordAndEvalTcl_RecordAndEvalinterpTcl_Interpcmdflags_HistoryInit_DoRevs_MakeSpaceiPtrInterpeventPtrtclInt.h$175.1lengthsavedFirstresultTcl_RecordAndEvalTcl_HistoryCmdTcl_HistoryCmddummyinterpTcl_Interpargcargv_25_GetEvent_RevCommand_30_33_38_39_42_45_DisableRevs_52_55_RevResult_63_66_71end_93curlengthnextpindxicount_101_104_109isrceventstclInt.h$175.1countend_132_135_136_139_142_150_154_SubsAndEval_162_165_GetWordswords_173iPtrInterpeventPtrtclInt.h$175.1lengthcTcl_HistoryCmdHistoryInitHistoryInitiPtrInterpnumEvents_180iHistoryInitMakeSpaceMakeSpacehPtrtclInt.h$175.1sizeMakeSpaceInsertRev_InsertRevInsertReviPtrInterprevPtrHistoryRevcurPtrHistoryRevprevPtrHistoryRevInsertRevRevCommandRevCommandiPtrInterpstringrevPtrHistoryRevRevCommandRevResultRevResultiPtrInterpstringrevPtrHistoryRevevalFirstevalLastargvRevResultDoRevsDoRevsiPtrInterprevPtrHistoryReveventPtrtclInt.h$175.1pcountbytesSeensizenewCommandDoRevsDisableRevsDisableRevsiPtrInterpDisableRevsGetEventGetEventtclInt.h$175.1iPtrInterpstring_248_253_257_271eventPtrtclInt.h$175.1indexlengtheventNumendGetEventSubsAndEvalSubsAndEvaliPtrInterpcmdoldnew_281srcdstoldLengthcountnewLengthnewCmdlengthresultSubsAndEvalGetWordsGetWordsiPtrInterpcommandwordsmatchsavedChar_338_339nextendstartdstindexfirstlastpatternresultGetWords./stdlib.h$126.4quotrem./stdlib.h$126.4div_tquotremdiv_t./stdlib.h$79.3sizeflags./stdlib.h$79.3/usr/ape/include/stdio.h$29.2fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.2HistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.1commandbytesAvltclInt.h$175.1CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.1curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_InterptclHistory.ctclProc.otclProc.crccrcsid_rcsidTcl_ProcCmdTcl_ProcCmddummyinterpTcl_Interpargcargv_8_20_24argPtrVarfieldValuesfieldCountvalueLengthnameLengthiPtrInterpprocPtrProciresultargArrayargCountTcl_ProcCmdTcl_GetVarTcl_GetVarinterpTcl_InterpvarNameglobalvarPtrVariPtrInterpTcl_GetVarTcl_SetVarTcl_SetVarinterpTcl_InterpvarNamenewValueglobalvarPtrVarvarListPtrVariPtrInterpvalueLengthTcl_SetVarTcl_ParseVarTcl_ParseVarinterpTcl_InterpstringtermPtr_75_78nameresultcTcl_ParseVarTcl_SetCmdTcl_SetCmddummyinterpTcl_Interpargcargvvalue_87Tcl_SetCmdTcl_GlobalCmdTcl_GlobalCmddummyinterpTcl_Interpargcargv_92_101varPtrVariPtrInterpgVarPtrVarTcl_GlobalCmdTcl_UplevelCmdTcl_UplevelCmddummyinterpTcl_Interpargcargv_107cmd_140msg_141iPtrInterpframePtrCallFramelevellevelArgresultsavedVarFramePtrCallFrameendTcl_UplevelCmdTclFindProcTclFindProcProciPtrInterpprocNamecmdPtrCommandTclFindProcTclIsProcTclIsProcProccmdPtrCommandTclIsProcTclDeleteVarsTclDeleteVarsiPtrInterpvarPtrVarTclDeleteVarsInterpProcInterpProcprocPtrProcinterpTcl_Interpargcargv_176_183_187_192msg_195_198formalPtrVarargPtrVariPtrInterpframeCallFramevalueargsresultendInterpProcProcDeleteProcProcDeleteProcprocPtrProcargPtrVarProcDeleteProcFindVarFindVarVarvarListPtrVarvarNameprevVarcurVarcFindVarNewVarNewVarVarnamevaluevarPtrVarvalueLengthnameLengthNewVarHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclProc.ctclUtil.otclUtil.crccrcsid_rcsidTclFindElementTclFindElementinterpTcl_InterplistelementPtrnextPtrsizePtrbracePtr_36p2size_46popenBracessizeTclFindElementTclCopyAndCollapseTclCopyAndCollapsecountsrcdstcnumReadTclCopyAndCollapseTcl_MergeTcl_MergeargcargvnestingLevelbraceCountwhiteSpacebracketsdollarsnestedBSsrcdstcurFlagsinumCharsflagPtrresultlocalFlagsTcl_MergeTcl_ConcatTcl_ConcatargcargvpitotalSizeresultTcl_ConcatTcl_ReturnTcl_ReturninterpTcl_InterpstringstatusiPtrInterpwasDynamicoldResultlengthTcl_ReturnTcl_BackslashTcl_BackslashsrcreadPtr_201presultcountTcl_BackslashTcl_SplitListTcl_SplitListinterpTcl_InterplistargcPtrargvPtr_224pielSizeelementresultbraceargvsizeTcl_SplitListTcl_StringMatchTcl_StringMatchstringpatternc2Tcl_StringMatchTclWordEndTclWordEndstartnestedbracespcountTclWordEndHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevHistoryRevtclInt.h$175.4commandbytesAvltclInt.h$175.4CallFramevarPtrVarlevelargcargvcallerPtrCallFramecallerVarPtrCallFrameCallFrameInterpCallbackprocclientDatanextPtrInterpCallbackInterpCallbackTracelevelprocclientDatanextPtrTraceTraceInterpresultdynamicerrorLinecommandPtrCommandglobalPtrVarlocalPtrVarnumLevelsframePtrCallFramevarFramePtrCallFramenumEventseventstclInt.h$175.4curEventcurEventNumrevPtrHistoryRevhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrTracecallbackPtrInterpCallbackresultSpaceInterpProciPtrInterpcommandargPtrVarProcVarvaluevalueLengthflagsglobalPtrVarnextPtrVarnameVarCommandprocclientDatadeleteProcnextPtrCommandnameCommandTcl_InterpresultdynamicerrorLineTcl_Interp./stdlib.h$126.3quotrem./stdlib.h$126.3div_tquotremdiv_t./stdlib.h$79.2sizeflags./stdlib.h$79.2/usr/ape/include/stdio.h$29.1fdflagsstatebufrpwplpbuflunbuf/usr/ape/include/stdio.h$29.1tclUtil.cgetopt.ogetopt.crccopterroptindsp_2getoptgetoptargcargvopts__YYnull_19_32_31_59_YYfile__YYfile_93_YYnull_YYnullline_94optoptoptarggetopt.crand.o_seednrand.o_3min.oLC_access.oLC_close.oLC_dup.oLC_execvp.oLC_fork.oLC_fstat.oLC_getenv.oLC_getpwnam.oLC_getuid.oLC_lseek.oLC_open.oLC_opendir.oLC_pipe.oLC_read.oLC_readdir.oLC_sleep.oLC_stat.oLC_time.oLC_times.oLC_unlink.oLC_wait.oLC_write.oP_getpwent.oposix/getpwent.crccPASSWD_PASSWDpwf_pwfsetpwentsetpwent_4endpwentendpwentpwskip_pwskippwskippp__YYnullpwdecodepwdecodepp_passwdgetpwentgetpwent_line_YYfile__YYfile_33_YYnull_YYnullline_34passwdlineposix/getpwent.cS__IO_putc.ostdio/_IO_putc.crcc_IO_cleanup_IO_cleanup_4_IO_putc_IO_putccf__YYnull_39firstcnt_YYfile__YYfile_289_YYnull_YYnullline_290bufstdio/_IO_putc.cS_clearerr.o__YYnull__YYfile_21_22S_fclose.o__YYnull__YYfile_24_25S_fflush.o__YYnull__YYfile_50_51S_fgets.o__YYnull__YYfile_33_34S_fopen.o__YYnull__YYfile_11_12S_fprintf.ostdio/fprintf.crccfprintffprintfffmtnargsstdio/fprintf.cS_fputs.ostdio/fputs.crccfputsfputsssff__YYnull_YYfile__YYfile_31_YYnull_YYnullline_32stdio/fputs.cS_freopen.ostdio/freopen.crccfreopenfreopennamemodef__YYnullnm_YYfile__YYfile_101_YYnull_YYnullline_102bufstdio/freopen.cS_fwrite.ostdio/fwrite.crccfwritefwritepreclnrecf__YYnulldns_YYfile__YYfile_97_YYnull_YYnullline_98bufstdio/fwrite.cS_perror.o_4__YYnull__YYfile_18_19S_printf.ostdio/printf.crccprintfprintffmtnargsstdio/printf.cS_rewind.oS_setvbuf.o__YYnull__YYfile_45_46S_sprintf.ostdio/sprintf.crccsprintfsprintfbuffmtfnargsvstdio/sprintf.cS_sscanf.ostdio/sscanf.crccsscanfsscanfsfmtnfargsstdio/sscanf.cS_stdio.oS_strerror.o__IO_errlist_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_31_32_33_34_35_36_37_38_39_40_41_42_43_44S_tmpnam.ostdio/tmpnam.crcc_4tmpnamtmpnams__YYnullnamep_YYfile__YYfile_25_YYnull_YYnullline_26bufstdio/tmpnam.cS_vfprintf.ostdio/vfprintf.crcclflag_lflagtflag_tflagocvt_ocvt_ocvt_E_ocvt_G_ocvt_X_ocvt_c_ocvt_d_ocvt_e_ocvt_f_ocvt_g_ocvt_n_ocvt_o_ocvt_p_ocvt_s_ocvt_u_ocvt_xvfprintfvfprintffsargs_nprint__YYnullflagswidthprecisionocvt_cocvt_cfargsflagswidthprecisioniocvt_socvt_sfargsflagswidthprecisionisnocvt_nocvt_nfargsflagswidthprecisionocvt_fixed_ocvt_fixedocvt_fixedfargsflagswidthprecisionradixsgnedalphabetprefix_386_389_392_393dpnumnlzeronpaddigitsnoutsignsnumocvt_Xocvt_Xfargsflagswidthprecision_604_603ocvt_docvt_dfargsflagswidthprecision_605ocvt_oocvt_ofargsflagswidthprecision_607_606ocvt_pocvt_pfargsflagswidthprecisionocvt_uocvt_ufargsflagswidthprecisionocvt_xocvt_xfargsflagswidthprecision_609_608ocvt_Eocvt_Efargsflagswidthprecision_ocvt_fltocvt_Gocvt_Gfargsflagswidthprecisionocvt_eocvt_efargsflagswidthprecisionocvt_focvt_ffargsflagswidthprecisionocvt_gocvt_gfargsflagswidthprecisionocvt_fltocvt_fltfargsflagswidthprecisionafmtiexponentnoutdigitsndigeptrebuffmtsignedigitsechrd_YYfile__YYfile_980_YYnull_YYnullline_981bufnprintstdio/vfprintf.cS_vfscanf.ostdio/vfscanf.crccicvt_icvt_icvt_f_icvt_x_icvt_sq_icvt_c_icvt_d_icvt_i_icvt_n_icvt_o_icvt_p_icvt_s_icvt_uvfscanfvfscanffsargs_nread_ncvt_fmtp__YYnullcwidthstoretypeicvt_nicvt_nfargsstorewidthtypeicvt_fixed_icvt_fixedicvt_fixedfargsstorewidthtypeunsgnedbasecdignumndigsignicvt_dicvt_dfargsstorewidthtypeicvt_xicvt_xfargsstorewidthtypeicvt_oicvt_ofargsstorewidthtypeicvt_iicvt_ifargsstorewidthtypeicvt_uicvt_ufargsstorewidthtypeicvt_picvt_pfargsstorewidthtypeicvt_ficvt_ffargsstorewidthtypecsndptnexpndigbuficvt_sicvt_sfargsstorewidthtypescnnicvt_cicvt_cfargsstorewidthtypescmatch_matchmatchcpatokicvt_sqicvt_sqfargsstorewidthtypespatcnn_YYfile__YYfile_826_YYnull_YYnullline_827buffmtpncvtnreadstdio/vfscanf.cS_exit.ostdio/exit.crccexitexitstatusifatexitatexitfi_atexitfnsstdio/exit.cS_abort.oLC_strlen.oLC_strcat.oLC_strchr.oLC_strcmp.oLC_strcpy.oLC_strncmp.oLC_strncpy.oLC_strrchr.oLC_memcpy.oLC_memcmp.oLC_malloc.oLC_sbrk.oLC_cerror.oLC_ctype.oLC_strdup.oG_strtol.ogen/strtol.crccstrtolstrtolnptrendptrbasebase__YYnull_YYfile__YYfile_82_YYnull_YYnullline_83gen/strtol.cG_strtoul.ogen/strtoul.crccstrtoulstrtoulnptrendptrbasebase__YYnull_YYfile__YYfile_80_YYnull_YYnullline_81gen/strtoul.cG_atoi.ogen/atoi.crccatoiatoisgen/atoi.cG_atol.ogen/atol.crccatolatolsgen/atol.cLC_errlst.oLC_ctime.oLC_udiv.oLC_urem.oLC__exit.oG_atof.ogen/atof.crccatofatofsgen/atof.cG_strstr.ogen/strstr.crccstrstrstrstrs1s2s2__YYnull_YYfile__YYfile_15_YYnull_YYnullline_16gen/strstr.cS__dtoa.ostdio/_dtoa.crccBalloc_BallocBallock_freelist__YYnullrvxBfree_BfreeBfreevmultadd_multaddmultaddbmayxizxwdsib1s2b_s2bs2bsnd0ndy9biykxhi0bits_hi0bitshi0bitsxklo0bits_lo0bitslo0bitsykxi2b_i2bi2bibmult_multmultabxccarryxz2zyxaexbwcxaxc0xbecwawbk_244pow5mult_pow5multpow5multbk_p5sp05p5p51b1ilshift_lshiftlshiftbkixx1k1n1nxezb1cmp_cmpcmpabxaxbxa0jixb0diff_diffdiffabborrowxcyzxaxbwaxaexbeciwbulp_ulpulpxLab2d_b2db2daekxayxa0d0d1dzwd2b_d2bd2bdebitsbkzd0xdeyd1iratio_ratioratioabkdadbkakbtens_tensbigtens_bigtenstinytens_tinytensstrtodstrtods00se_532_554_662_699_737_837_846_849_920_921_924rvinddeltabb2bscbd2sbdybbaadjbs2dsignnzjzbd0bbeebb5bd5aadj1bbbitsadjrv0Le1bb1nfknd0signnz0s0esigns1quorem_quoremquorembSbxborrowyyszsizssxcarryqbxesxen_1045_1046_dtoa_dtoadmodendigitsdecptsignrve_1071_1080_1092_1091_1093_1094_1122_1153_1154result_kresultsijbLmhiilimdigSkdsmlodeltas0j1epss2b2m2d2leftrightb5s5iepsk_checktry_quickbbitsm5beilim1ilim0k0spec_caseb1_YYfile__YYfile_1399_YYnull_YYnullline_1400bufp5sfreeliststdio/_dtoa.cLC_alarm.oLC_creat.oLC_dirread.oLC_pdirread.oLC_execv.oLC_execve.oLC_getpid.oLC_kill.oLC_setjmp.oLC_signal.oS__IO_getc.o__YYnull__YYfile_64_65S_ferror.o__YYnull__YYfile_8_9S_fseek.ostdio/fseek.crccfseekfseekffoffstype__YYnull_YYfile__YYfile_43_YYnull_YYnullline_44stdio/fseek.cS_sclose.ostdio/sclose.crccsclosescloseff__YYnull_57_YYfile__YYfile_66_YYnull_YYnullline_67stdio/sclose.cS_sopenr.ostdio/sopenr.crccsopenrsopenrs__YYnullf_YYfile__YYfile_34_YYnull_YYnullline_35bufstdio/sopenr.cS_sopenw.o__YYnull__YYfile_25_26S_ungetc.ostdio/ungetc.crccungetcungetccf__YYnull_YYfile__YYfile_60_YYnull_YYnullline_61stdio/ungetc.c_exitstart_main_environ_Tcl_CreateInterp_interp_scsi_target_genericdev_setdevice_set_sony_s_id_printf__IO_stream_Tcl_CreateCmdBuf_clearerr_fputs_fflush_fgets_Tcl_AssembleCmd_Tcl_RecordAndEval_strlen_strncmp_ss_extsense_Tcl_CreateCommand_strcmp_gen_help_sonydev_wrendev_gen_dev_fprintf_gen_capacity_gen_display_gen_inq_gen_read_gen_readt_gen_reset_gen_scsi_gen_sense_gen_start_gen_stop_gen_tur_gen_extsense_atoi_gen_rmb_gen_devtype_s_io_fixedstr_longat_sprintf_ss_io_atoludiv_time_srand_nrand_sony_alt_sony_conf_sony_copy_sony_diskid_sony_eject_sony_inq_sony_internal_sony_media_sony_readid_sony_rel_sony_sense_sony_set_sony_status_sony_extsense__IO_putc_min_nesd_strcat_sony_istatus_shelfside_xd_ctime_sony_media1_getopt_optarg_optind_fopen_pperror_strdup_i0com_scsicmd_i1err_scsiident_busid_cmesg_strncpy_wr_diag_wr_extinq_wr_modesense_wr_modeselect_wr_logsense_wr_logselect_wr_elite_wr_wren5_strcpy_wr_mpage_sleep_memcpy_perror_fwrite_s_ignua_open_write_close_read_argv0_errno_sys_nerr_sys_errlist_memcmp_malloc_Tcl_DeleteCmdBuf_free__ctype_TclWordEnd_Tcl_BreakCmd_Tcl_CaseCmd_Tcl_CatchCmd_Tcl_ConcatCmd_Tcl_ContinueCmd_Tcl_ErrorCmd_Tcl_EvalCmd_Tcl_ExecCmd_Tcl_ExprCmd_Tcl_FileCmd_Tcl_ForCmd_Tcl_ForeachCmd_Tcl_FormatCmd_Tcl_GlobCmd_Tcl_GlobalCmd_Tcl_IfCmd_Tcl_IndexCmd_Tcl_InfoCmd_Tcl_LengthCmd_Tcl_ListCmd_Tcl_PrintCmd_Tcl_ProcCmd_Tcl_RangeCmd_Tcl_RenameCmd_Tcl_ReturnCmd_Tcl_ScanCmd_Tcl_SetCmd_Tcl_SourceCmd_Tcl_StringCmd_Tcl_TimeCmd_Tcl_UplevelCmd_Tcl_WatchInterp_Tcl_DeleteInterp_TclDeleteVars_Tcl_DeleteCommand_TclFindCmd_Tcl_Eval_Tcl_ParseVar_Tcl_Backslash_Tcl_Return_strchr_Tcl_AddErrorInfo_Tcl_CreateTrace_Tcl_DeleteTrace_Tcl_GetVar_Tcl_SetVar_Tcl_StringMatch_Tcl_SplitList_Tcl_Concat_Tcl_TildeSubst_pipe_strerror_tmpnam_lseek_unlink_fork_dup2__exit_execvp_wait_Tcl_Expr_strrchr_access_stat_geteuid_strtol_sscanf_TclFindElement_TclCopyAndCollapse_TclFindProc_Tcl_Merge_TclIsProc_fclose_fstat_times_precTable_ExprGetNum_ExprLex_ExprGetValue_opendir_readdir_getenv_getpwnam_endpwent_Tcl_HistoryCmd_strtoul_strstr_ProcDeleteProc_InterpProc_FindVar_NewVar_opterr_optopt_abort_lrand_rand_frandcerror_dup_execlp_execv_vfork_setpwent_getpwent_getuid_dirread_pdirread_alarm_setjmp_signal_getpid_kill_pause_longjmp_ftime_rewind_pwdecode__IO_cleanup__IO_setvbuf_atexit_realloc__IO_getc_ferror_freopen_vfprintf_creat_fseek_setvbuf_sopenw_sclose_sopenr_vfscanfurem__dtoa_ungetc_atof__atexitfns_sbrk_ialloc_mstats_end_brk_localtime_asctime_gmtime_dysize_strtod_mb_ncnv_execve_getppid0707070035050377401006660011710000040000010133720474343167700001100000006164scsish.c#include        <stddef.h>
        !          5114: #include       <stdio.h>
        !          5115: #include       <string.h>
        !          5116: #include       "scsi.h"
        !          5117: #include       "scsish.h"
        !          5118: #include       "tcl.h"
        !          5119: #include       "generic/fns.h"
        !          5120: 
        !          5121: extern Device genericdev;
        !          5122: static Device *dev = 0;
        !          5123: static void parse(FILE *);
        !          5124: Tcl_Interp *interp;
        !          5125: 
        !          5126: main()
        !          5127: {
        !          5128:        interp = Tcl_CreateInterp();
        !          5129:        scsi_target(2);
        !          5130:        setdevice(&genericdev);
        !          5131:        set_sony();
        !          5132:        printf("dev=%s, target=%d:\n", dev->name, s_id);
        !          5133:        parse(stdin);
        !          5134:        exit(0);
        !          5135: }
        !          5136: 
        !          5137: static void
        !          5138: parse(FILE *fp)
        !          5139: {
        !          5140:        char line[1000], *cmd;
        !          5141:        int result, partial;
        !          5142:        static Tcl_CmdBuf buffer;
        !          5143: 
        !          5144:        buffer = Tcl_CreateCmdBuf();
        !          5145:        partial = 0;
        !          5146:        for(;;){
        !          5147:                clearerr(fp);
        !          5148:                if(!partial){
        !          5149:                        fputs("% ", stdout);
        !          5150:                        fflush(stdout);
        !          5151:                }
        !          5152:                if(fgets(line, sizeof line, fp) == NULL){
        !          5153:                        if(!partial)
        !          5154:                                exit(0);
        !          5155:                        line[0] = 0;
        !          5156:                }
        !          5157:                cmd = Tcl_AssembleCmd(buffer, line);
        !          5158:                if(cmd == NULL){
        !          5159:                        partial = 1;
        !          5160:                        continue;
        !          5161:                }
        !          5162:                partial = 0;
        !          5163:                result = Tcl_RecordAndEval(interp, cmd, 0);
        !          5164:                if(result == TCL_OK){
        !          5165:                        if(interp->result[0])
        !          5166:                                printf("%s\n", interp->result);
        !          5167:                } else {
        !          5168:                        if(result == TCL_ERROR)
        !          5169:                                printf("Error");
        !          5170:                        else
        !          5171:                                printf("Error %d", result);
        !          5172:                        if(interp->result)
        !          5173:                                printf(": %s", interp->result);
        !          5174:                        printf("\n");
        !          5175:                }
        !          5176:        }
        !          5177: }
        !          5178: 
        !          5179: static Function *
        !          5180: flook(Function *f, char *name)
        !          5181: {
        !          5182:        for(; f->help; f++)
        !          5183:                if(strncmp(f->name, name, strlen(f->name)) == 0)
        !          5184:                        return(f);
        !          5185:        return(0);
        !          5186: }
        !          5187: 
        !          5188: void
        !          5189: setdevice(Device *d)
        !          5190: {
        !          5191:        Function *f;
        !          5192:        static char errbuf[256];
        !          5193: 
        !          5194:        dev = d;
        !          5195:        ss_extsense = dev->extsense;
        !          5196:        for(f = d->fns; f->name; f++){
        !          5197:                Tcl_CreateCommand(interp, f->name, f->fn, (ClientData)errbuf, NULL);
        !          5198:        }
        !          5199: }
        !          5200: 
        !          5201: static
        !          5202: help(Device *d, char *cmd, Device *prec)
        !          5203: {
        !          5204:        Function *f;
        !          5205:        Function *base;
        !          5206: 
        !          5207:        base = (prec && prec->fns)? prec->fns:0;
        !          5208:        if(cmd == 0){
        !          5209:                printf("device %s(%s):\n", d->name, d->verbose);
        !          5210:                if(f = d->fns)
        !          5211:                        while(f->name){
        !          5212:                                if((base == 0) || (flook(base, f->name) == 0))
        !          5213:                                        printf("\t%s\n", f->help);
        !          5214:                                f++;
        !          5215:                        }
        !          5216:                return(0);
        !          5217:        } else {
        !          5218:                if(f = d->fns)
        !          5219:                        while(f->name)
        !          5220:                                if(strcmp(f->name, cmd) == 0){
        !          5221:                                        printf("(%s) %s\n", d->name, f->help);
        !          5222:                                        return(1);
        !          5223:                                } else
        !          5224:                                        f++;
        !          5225:                return(0);
        !          5226:        }
        !          5227: }
        !          5228: 
        !          5229: int
        !          5230: gen_help(ClientData err, Tcl_Interp *it, int argc, char **argv)
        !          5231: {
        !          5232: #pragma ref it
        !          5233: #pragma ref err
        !          5234: 
        !          5235:        if(dev)
        !          5236:                if(help(dev, argc <= 1? 0:argv[1], (Device *)0))
        !          5237:                        return(0);
        !          5238:        help(&genericdev, argc <= 1? 0:argv[1], dev);
        !          5239:        return(TCL_OK);
        !          5240: }
        !          5241: 
        !          5242: extern Device sonydev;
        !          5243: extern Device wrendev;
        !          5244: static Device *devs[] = {
        !          5245:        &genericdev,
        !          5246:        &sonydev,
        !          5247:        &wrendev,
        !          5248:        0
        !          5249: };
        !          5250: 
        !          5251: int
        !          5252: gen_dev(ClientData err, Tcl_Interp *it, int argc, char **argv)
        !          5253: {
        !          5254:        Device **d;
        !          5255: 
        !          5256: #pragma ref it
        !          5257: #pragma ref err
        !          5258: 
        !          5259:        if(argc == 1)
        !          5260:                printf("dev=%s\n", dev? dev->name : genericdev.name);
        !          5261:        else if(strcmp(argv[1], "?") == 0){
        !          5262:                printf("available devices:\n");
        !          5263:                for(d = devs; *d; d++)
        !          5264:                        printf("\t%s(%s)\n", (*d)->name, (*d)->verbose);
        !          5265:        } else {
        !          5266:                for(d = devs; *d; d++)
        !          5267:                        if(strcmp(argv[1], (*d)->name) == 0)
        !          5268:                                break;
        !          5269:                if(*d){
        !          5270:                        setdevice(&genericdev);
        !          5271:                        setdevice(*d);
        !          5272:                } else
        !          5273:                        fprintf(stderr, "device '%s' unknown\n", argv[1]);
        !          5274:        }
        !          5275:        return(TCL_OK);
        !          5276: }
        !          5277: 
        !          5278: void
        !          5279: scsi_target(int n)
        !          5280: {
        !          5281:        if((n < 0) || (n >= 8))
        !          5282:                fprintf(stderr, "%d is an invalid target\n", n);
        !          5283:        else
        !          5284:                s_id = n;
        !          5285: }
        !          5286: 
        !          5287: set_sony()
        !          5288: {
        !          5289:        char *a[3];
        !          5290: 
        !          5291:        a[0] = "dev";
        !          5292:        a[1] = "sony";
        !          5293:        a[2] = 0;
        !          5294:        gen_dev(0L, interp, 2, a);
        !          5295: }
        !          5296: 0707070035050375101006660011710000040000010135770467643675700001100000002375scsish.hstruct ClientData
        !          5297: {
        !          5298:        char err[256];
        !          5299: };
        !          5300: typedef struct ClientData *ClientData;
        !          5301: #define        _CLIENTDATA
        !          5302: 
        !          5303: #define                ERR_RETURN      { it->result = cd->err; return(TCL_ERROR); }
        !          5304: #define                USAGE_RETURN    { it->result = "usage error"; return(TCL_ERROR); }
        !          5305: 
        !          5306: struct Tcl_Interp;
        !          5307: typedef int (*Functionfn)(ClientData, struct Tcl_Interp *, int, char **);
        !          5308: 
        !          5309: typedef struct
        !          5310: {
        !          5311:        char *name;
        !          5312:        char *help;
        !          5313:        char *param;
        !          5314:        Functionfn fn;
        !          5315: } Function;
        !          5316: 
        !          5317: typedef struct
        !          5318: {
        !          5319:        char *name;
        !          5320:        char *verbose;
        !          5321:        void (*extsense)(uchar *, char *, int);
        !          5322:        Function *fns;
        !          5323: } Device;
        !          5324: extern void setdevice(Device *);
        !          5325: 
        !          5326: extern void scsi_target(int);
        !          5327: extern void fixedstr(uchar *src, int len, char *dest);
        !          5328: extern void gen_extsense(uchar *, char *, int);
        !          5329: extern int shelfside(char *arg, char *err);
        !          5330: extern void xd(uchar *base, int, FILE *fp);
        !          5331: 
        !          5332: /*
        !          5333:  * argument processing
        !          5334:  */
        !          5335: #define        ARGBEGIN        for(argv0? 0: (argv0=*argv++,argc--);\
        !          5336:                            argv[0] && argv[0][0]=='-' && argv[0][1];\
        !          5337:                            argc--, argv++) {\
        !          5338:                                char *_args, *_argt, _argc;\
        !          5339:                                _args = &argv[0][1];\
        !          5340:                                if(_args[0]=='-' && _args[1]==0){\
        !          5341:                                        argc--; argv++; break;\
        !          5342:                                }\
        !          5343:                                while(*_args) switch(_argc=*_args++)
        !          5344: #define        ARGEND          }
        !          5345: #define        ARGF()          (_argt=_args, _args="",\
        !          5346:                                (*_argt? _argt: argv[1]? (argc--, *++argv): 0))
        !          5347: #define        ARGC()          _argc
        !          5348: extern char *argv0;
        !          5349: 0707070035050375151006660011710000040000010653600464713423200000700000000215sgi.mk# config stuff: sgi; system v with moran/droneck /dev/scsi
        !          5350: CC=pcc         # must be ansi
        !          5351: RANLIB=:
        !          5352: LDFLAGS= -lds
        !          5353: IO=md_io
        !          5354: CFLAGS=-g -I../inc
        !          5355: NPROC=4
        !          5356: 0707070035050550671006660011710000040000010011330477113661400001200000003437shelves.c#define  _POSIX_SOURCE
        !          5357: #include       <stddef.h>
        !          5358: #include       <stdlib.h>
        !          5359: #include       <stdio.h>
        !          5360: #include       <string.h>
        !          5361: #include       <errno.h>
        !          5362: #include       "jukeface.h"
        !          5363: #include       "jukebox.h"
        !          5364: 
        !          5365: int j_wrshelf = 0;
        !          5366: 
        !          5367: j_rdshelves(Jukebox *j, char *err)
        !          5368: {
        !          5369:        FILE *fp;
        !          5370:        static haveread = 0;
        !          5371:        int shno;
        !          5372:        char vname[256];
        !          5373: 
        !          5374:        if(haveread)
        !          5375:                return(0);
        !          5376:        for(shno = 0; shno < j->nshelves; shno++){
        !          5377:                j->names[shno] = 0;
        !          5378:                j->shelves[shno] = 0;
        !          5379:        }
        !          5380:        if((fp = fopen(JUKEDIR, "r")) == NULL){
        !          5381:                sprintf(err, "%s: %s", JUKEDIR, strerror(errno));
        !          5382:                return(-1);
        !          5383:        }
        !          5384:        while(fscanf(fp, "%d %s\n", &shno, vname) == 2){
        !          5385:                if((shno < 0) || (shno >= j->nshelves)){
        !          5386:                fprintf(stderr, "Warning: bad shelf number in %s: %d (vol_id=%s)\n",
        !          5387:                                JUKEDIR, shno, vname);
        !          5388:                        continue;
        !          5389:                
        !          5390:                }
        !          5391:                j->names[shno] = strdup(vname);
        !          5392:                j->shelves[shno] = 1;
        !          5393:        }
        !          5394:        fclose(fp);
        !          5395:        haveread = 1;
        !          5396:        return(0);
        !          5397: }
        !          5398: 
        !          5399: j_wrshelves(Jukebox *j, char *err)
        !          5400: {
        !          5401:        FILE *fp;
        !          5402:        int shno;
        !          5403: 
        !          5404:        if((fp = fopen(JUKEDIR, "w")) == NULL){
        !          5405:                sprintf(err, "%s: %s", JUKEDIR, strerror(errno));
        !          5406:                return(-1);
        !          5407:        }
        !          5408:        for(shno = 0; shno < j->nshelves; shno++)
        !          5409:                if(j->names[shno])
        !          5410:                        fprintf(fp, "%d %s\n", shno, j->names[shno]);
        !          5411:        fclose(fp);
        !          5412:        return(0);
        !          5413: }
        !          5414: 
        !          5415: char *
        !          5416: j_name(Jukebox *j, int n)
        !          5417: {
        !          5418:        static char err[1024];
        !          5419: 
        !          5420:        if(j_rdshelves(j, err) < 0)
        !          5421:                return(err);
        !          5422:        if((n >= j->nshelves) || (j->names[n] == 0))
        !          5423:                return(NONAME);
        !          5424:        return(j->names[n]);
        !          5425: }
        !          5426: 
        !          5427: j_shelfof(Jukebox *j, char *vol_id)
        !          5428: {
        !          5429:        int i;
        !          5430:        char buf[512];
        !          5431: 
        !          5432:        for(;;){
        !          5433:                for(i = 0; i < j->nshelves; i++)
        !          5434:                        if(j->shelves[i] && (strcmp(j->names[i], vol_id) == 0))
        !          5435:                                return(i);
        !          5436:                if((i = j_warm(j, buf)) <= 0)
        !          5437:                        break;
        !          5438:        }
        !          5439:        if(i < 0)
        !          5440:                fprintf(stderr, "jukebox: %s\n", buf);
        !          5441:        return(-1);
        !          5442: }
        !          5443: 
        !          5444: j_driveof(Jukebox *j, char *vol_id)
        !          5445: {
        !          5446:        int i, sh;
        !          5447: 
        !          5448:        if((sh = j_shelfof(j, vol_id)) < 0)
        !          5449:                return(-1);
        !          5450:        for(i = 0; i < j->nluns; i++)
        !          5451:                if(j->luns[i].shelf == sh)
        !          5452:                        return(i);
        !          5453:        return(-1);
        !          5454: }
        !          5455: 0707070035050370540407770011710000040000020654140476064464000000500000000000sony0707070035050370531006660011710000040000010034620474277225300001300000001600sony/dev.c#include       <stdio.h>
        !          5456: #include       "../scsi.h"
        !          5457: #include       "../scsish.h"
        !          5458: #include       "../tcl.h"
        !          5459: #include       "fns.h"
        !          5460: 
        !          5461: static Function fns[] = {
        !          5462:        { "alternate", "alternate [lun]", "L?", sony_alt },
        !          5463:        { "config", "config", "", sony_conf },
        !          5464:        { "copy", "copy srclun start n destlun dest", "LIILI", sony_copy },
        !          5465:        { "diskid", "diskid [lun]", "L?", sony_diskid },
        !          5466:        { "eject", "eject lun", "L", sony_eject },
        !          5467:        { "inq", "inq [lun]", "L?", sony_inq },
        !          5468:        { "internal", "internal [test [drive]]", "II?", sony_internal },
        !          5469:        { "media", "media [-v] [-f output] lun start count", "LIIS?", sony_media },
        !          5470:        { "readid", "readid lun [start]", "LI?", sony_readid },
        !          5471:        { "rel", "rel lun [shelfside]", "LS?", sony_rel },
        !          5472:        { "sense", "sense [lun=0]", "L?", sony_sense },
        !          5473:        { "set", "set shelfside lun", "SL", sony_set },
        !          5474:        { "status", "status", "", sony_status },
        !          5475:        { 0 }
        !          5476: };
        !          5477: 
        !          5478: Device sonydev = {
        !          5479:        "sony", "Sony WDA-3000",
        !          5480:        sony_extsense,
        !          5481:        fns
        !          5482: };
        !          5483: 0707070035050370521006660011710000040000010134530467251571200001300000001775sony/inq.c#include        <stdio.h>
        !          5484: #include       "../scsi.h"
        !          5485: #include       "../scsish.h"
        !          5486: #include       "../tcl.h"
        !          5487: #include       "fns.h"
        !          5488: 
        !          5489: int
        !          5490: sony_inq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5491: {
        !          5492:        struct scsi_cmd cmd;
        !          5493:        struct scsi_return ret;
        !          5494:        int i;
        !          5495:        int na, args[8];
        !          5496: 
        !          5497:        na = 0;
        !          5498:        if(argc == 1)
        !          5499:                args[na++] = 0;
        !          5500:        else if((argc == 2) && (atoi(argv[1]) < 0)){
        !          5501:                for(i = 0; i < 8; i++)
        !          5502:                        args[na++] = i;
        !          5503:        } else {
        !          5504:                for(i = 1; i < argc; i++)
        !          5505:                        args[na++] = atoi(argv[i]);
        !          5506:        }
        !          5507:        for(i = 0; i < na; i++){
        !          5508:                set6(cmd, 0x12, args[i]<<5, 0, 0, 6, 0);
        !          5509:                if(s_io(0, &cmd, 0, &ret, 6, cd->err))
        !          5510:                        ERR_RETURN
        !          5511:                printf("inq(%d,%d): ", s_id, args[i]);
        !          5512:                if(ret.data[5]&0x80)
        !          5513:                        printf("power off (0x%x)\n", ret.data[5]&0xFF);
        !          5514:                else if(ret.data[5]&0x40)
        !          5515:                        printf("empty (0x%x)\n", ret.data[5]&0xFF);
        !          5516:                else
        !          5517:                        printf("%s,%s,%s,%s (0x%x)\n",
        !          5518:                                (ret.data[5]&0x08)?"write protect":"writable",
        !          5519:                                (ret.data[5]&0x04)?"no alternate":"",
        !          5520:                                (ret.data[5]&0x02)?"drive error":"",
        !          5521:                                (ret.data[5]&0x01)?"ready":"not ready",
        !          5522:                                ret.data[5]&0xFF);
        !          5523:        }
        !          5524:        return(0);
        !          5525: }
        !          5526: 0707070035050370511006660011710000040000010134550467251506700001300000001503sony/alt.c#include        <stdio.h>
        !          5527: #include       "../scsi.h"
        !          5528: #include       "../scsish.h"
        !          5529: #include       "../tcl.h"
        !          5530: #include       "fns.h"
        !          5531: 
        !          5532: static
        !          5533: table(int drive, int tab, uchar *data)
        !          5534: {
        !          5535:        int n, i;
        !          5536: 
        !          5537:        n = data[6];
        !          5538:        printf("(%d,%d): alternate table %d (%d entries)\n", s_id, drive, tab, n);
        !          5539:        for(data += 0x18, i = 0; i < n; data += 4, i++)
        !          5540:                printf("%ld%c", data[0]+256L*data[1]+256L*256*data[2],
        !          5541:                        (i%10 == 9)? '\n':' ');
        !          5542:        if((i%10) && n)
        !          5543:                putchar('\n');
        !          5544: }
        !          5545: 
        !          5546: int
        !          5547: sony_alt(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5548: {
        !          5549:        struct scsi_cmd cmd;
        !          5550:        struct scsi_return ret;
        !          5551:        int unit, i;
        !          5552: 
        !          5553:        if(argc <= 1)
        !          5554:                argv[i = 0] = "0";
        !          5555:        else
        !          5556:                i = 1;
        !          5557:        for(; i < argc; i++){
        !          5558:                unit = atoi(argv[i]);
        !          5559:                set6(cmd, 0xC3, unit<<5, 0, 0, 0, 0);
        !          5560:                if(s_io(0, &cmd, 0, &ret, 4096, cd->err))
        !          5561:                        ERR_RETURN
        !          5562:                for(i = 0; i < 4; i++)
        !          5563:                        table(unit, i+1, &ret.data[1024*i]);
        !          5564:        }
        !          5565:        return(TCL_OK);
        !          5566: }
        !          5567: 0707070035050370501006660011710000040000010134620467251610500001600000002174sony/config.c#include     <stdio.h>
        !          5568: #include       "../scsi.h"
        !          5569: #include       "../scsish.h"
        !          5570: #include       "../tcl.h"
        !          5571: #include       "fns.h"
        !          5572: 
        !          5573: static char mtab[5][2] =
        !          5574: {
        !          5575:        '0', '0', '1', '1', '1', '2', '2', '2', '?', '?'
        !          5576: };
        !          5577: static char *brdname[] = {
        !          5578:        "no doard", "T.D. Systems Viking", "U.S. Design 1158"
        !          5579: };
        !          5580: 
        !          5581: int
        !          5582: sony_conf(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5583: {
        !          5584:        struct scsi_cmd cmd;
        !          5585:        struct scsi_return ret;
        !          5586:        int n, i;
        !          5587:        char buf[512];
        !          5588: 
        !          5589: #pragma ref argc
        !          5590: #pragma ref argv
        !          5591: 
        !          5592:        set6(cmd, 0x12, 0, 0, 0, 44, 0);
        !          5593:        if(n = s_io(0, &cmd, 0, &ret, 44, cd->err))
        !          5594:                ERR_RETURN
        !          5595:        i = min(ret.data[37], 4);
        !          5596:        fixedstr(&ret.data[8], 28, buf);
        !          5597:        printf("config(%d,%d): %s device, '%s', %c controller%s, %c drive%s\n",
        !          5598:                s_id, 0, (ret.data[0] == 0x4)? "WORM":"Unknown",
        !          5599:                buf, mtab[i][0], (mtab[i][0] == '1')?"":"s",
        !          5600:                mtab[i][1], (mtab[i][1] == '1')?"":"s");
        !          5601:        printf("\tUnibus-SCSI controller=%s\n", brdname[ret.type]);
        !          5602:        printf("\tROMS:");
        !          5603:        if(ret.data[38] != 0xFF)
        !          5604:                printf(" up cont.=0x%x,", ret.data[38]);
        !          5605:        if(ret.data[40] != 0xFF)
        !          5606:                printf(" lo cont.=0x%x,", ret.data[40]);
        !          5607:        printf( " IF-129=0x%x, SY-46=0x%x, SS-30=0x%x\n", ret.data[36],
        !          5608:                ret.data[42], ret.data[43]);
        !          5609:        return(TCL_OK);
        !          5610: }
        !          5611: 0707070035050370471006660011710000040000010135640467251755400001600000004117sony/status.c#include     <stdio.h>
        !          5612: #include       "../scsi.h"
        !          5613: #include       "../scsish.h"
        !          5614: #include       "../tcl.h"
        !          5615: #include       "fns.h"
        !          5616: 
        !          5617: static
        !          5618: shelf(int i)
        !          5619: {
        !          5620:        printf(": ");
        !          5621:        if(i&0x80){
        !          5622:                printf("%s,", (i&0x40)? "disk":"temporary");
        !          5623:                if(i&0x10) printf("wait loading,");
        !          5624:                if(i&0x08) printf("wait ejection,");
        !          5625:                if(i&0x20) printf("use shelf instead of drive for LUN %d", i&7);
        !          5626:        } else
        !          5627:                printf("no disk");
        !          5628:        printf("\n");
        !          5629: }
        !          5630: 
        !          5631: int
        !          5632: sony_istatus(struct scsi_return *ret, char *err)
        !          5633: {
        !          5634:        struct scsi_cmd cmd;
        !          5635:        int n;
        !          5636: 
        !          5637:        set6(cmd, 0x1D, 0, 0, 0, 10, 0);
        !          5638:        cmd.data[0] = 0xE2;     /* internal status */
        !          5639:        cmd.data[1] = 0;
        !          5640:        cmd.data[2] = 0;
        !          5641:        cmd.data[3] = 0;
        !          5642:        cmd.data[4] = 0;
        !          5643:        cmd.data[5] = 0;
        !          5644:        cmd.data[6] = 0;
        !          5645:        cmd.data[7] = 0;
        !          5646:        cmd.data[8] = 0;
        !          5647:        cmd.data[9] = 0;
        !          5648:        if(n = s_io(0, &cmd, 10, ret, 0, err))
        !          5649:                return(n);
        !          5650:        setdiag(cmd, 0, 128);
        !          5651:        if(n = s_io(0, &cmd, 0, ret, 128, err))
        !          5652:                return(n);
        !          5653:        return(0);
        !          5654: }
        !          5655: 
        !          5656: int
        !          5657: sony_status(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5658: {
        !          5659:        struct scsi_return ret;
        !          5660:        int i, start;
        !          5661:        uchar *d;
        !          5662: 
        !          5663: #pragma ref argc
        !          5664: #pragma ref argv
        !          5665: 
        !          5666:        if(sony_istatus(&ret, cd->err))
        !          5667:                ERR_RETURN
        !          5668:        d = &ret.data[16];
        !          5669:        for(i = 0; i < 8; i++, d += 4){
        !          5670:                printf("drive %d: %sready,%sdisk in LUN,power %s,", i,
        !          5671:                        (d[0]&1)?"":"not ", (d[0]&0x40)?"":"no ",
        !          5672:                        (d[0]&0x80)?"off":"on");
        !          5673:                if(d[0]&0x40){
        !          5674:                        if(d[1]&0x80){
        !          5675:                                printf("disk in drive %d", d[1]&0x7f);
        !          5676:                                if(d[2]&0x80)
        !          5677:                                        printf(", return shelf %d%c", (d[2]&0x7F)/2, "ab"[d[2]&1]);
        !          5678:                        } else
        !          5679:                                printf("disk in shelf %d%c (%d)", (d[1]&0x7f)/2, (d[1]&1)+'a', d[1]&0x7f);
        !          5680:                }
        !          5681:                printf("\n");
        !          5682:        }
        !          5683:        for(i = 0; i < 50;){
        !          5684:                for(start = i; ++i < 50;)
        !          5685:                        if(d[i] != d[start])
        !          5686:                                break;
        !          5687:                if(i == start+1)
        !          5688:                        printf("%d", start);
        !          5689:                else
        !          5690:                        printf("%d-%d", start, i-1);
        !          5691:                shelf(d[start]);
        !          5692:        }
        !          5693:        d += 50;
        !          5694:        printf("I/O shelf");
        !          5695:        shelf(*d);
        !          5696:        d++;
        !          5697:        printf("carrier: ");
        !          5698:        i = *d&0x7F;
        !          5699:        if(*d&0x80)
        !          5700:                printf("disk shelf=%d%c (%d)\n", i/2, 'a'+(i&1), i);
        !          5701:        else
        !          5702:                printf("no disk\n");
        !          5703:        d++;
        !          5704:        if(*d&0x80)
        !          5705:                printf("upper drive: disk, LUN=%d\n", *d&7);
        !          5706:        else
        !          5707:                printf("upper drive: no disk\n");
        !          5708:        d++;
        !          5709:        if(*d&0x80)
        !          5710:                printf("lower drive: disk, LUN=%d\n", *d&7);
        !          5711:        else
        !          5712:                printf("lower drive: no disk\n");
        !          5713:        return(TCL_OK);
        !          5714: }
        !          5715: 0707070035050370461006660011710000040000010136060467252267600001300000000754sony/rel.c#include        <stdio.h>
        !          5716: #include       "../scsi.h"
        !          5717: #include       "../scsish.h"
        !          5718: #include       "../tcl.h"
        !          5719: #include       "fns.h"
        !          5720: 
        !          5721: int
        !          5722: sony_rel(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5723: {
        !          5724:        struct scsi_cmd cmd;
        !          5725:        struct scsi_return ret;
        !          5726:        int i, j;
        !          5727: 
        !          5728:        if(argc < 3){
        !          5729:                i = 0;
        !          5730:                j = 0;          /* its ignored anyway */
        !          5731:        } else {
        !          5732:                i = 1;
        !          5733:                if((j = shelfside(argv[2], cd->err)) < 0)
        !          5734:                        ERR_RETURN
        !          5735:        }
        !          5736:        set6(cmd, 0xD7, (atoi(argv[1])<<5)|i, 0, j, 0, 0);
        !          5737:        if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          5738:                ERR_RETURN
        !          5739:        return(TCL_OK);
        !          5740: }
        !          5741: 0707070035050370451006660011710000040000010135760467252270200001300000000652sony/set.c#include        <stdio.h>
        !          5742: #include       "../scsi.h"
        !          5743: #include       "../scsish.h"
        !          5744: #include       "../tcl.h"
        !          5745: #include       "fns.h"
        !          5746: 
        !          5747: int
        !          5748: sony_set(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5749: {
        !          5750:        struct scsi_cmd cmd;
        !          5751:        struct scsi_return ret;
        !          5752:        int i;
        !          5753: 
        !          5754:        if(argc < 3)
        !          5755:                USAGE_RETURN
        !          5756:        if((i = shelfside(argv[1], cd->err)) < 0)
        !          5757:                return(1);
        !          5758:        set6(cmd, 0xD6, atoi(argv[2])<<5, 0, i, 0, 0);
        !          5759:        if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          5760:                ERR_RETURN
        !          5761:        return(0);
        !          5762: }
        !          5763: 0707070035050370441006660011710000040000010136130467252111300001500000000674sony/eject.c#include      <stdio.h>
        !          5764: #include       "../scsi.h"
        !          5765: #include       "../scsish.h"
        !          5766: #include       "../tcl.h"
        !          5767: #include       "fns.h"
        !          5768: 
        !          5769: int
        !          5770: sony_eject(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5771: {
        !          5772:        struct scsi_cmd cmd;
        !          5773:        struct scsi_return ret;
        !          5774:        int i, unit;
        !          5775: 
        !          5776:        if(argc <= 1)
        !          5777:                argv[i = 0] = "0";
        !          5778:        else
        !          5779:                i = 1;
        !          5780:        for(; i < argc; i++){
        !          5781:                unit = atoi(argv[i]);
        !          5782:                set6(cmd, 0xC0, unit<<5, 0, 0, 0, 0);
        !          5783:                if(s_io(0, &cmd, 0, &ret, 0, cd->err))
        !          5784:                        ERR_RETURN
        !          5785:        }
        !          5786:        return(0);
        !          5787: }
        !          5788: 0707070035050370431006660011710000040000010136030467251714600002100000001000sony/shelfside.c#include  <stdio.h>
        !          5789: #include       "../scsi.h"
        !          5790: #include       "../scsish.h"
        !          5791: #include       "../tcl.h"
        !          5792: #include       "fns.h"
        !          5793: 
        !          5794: int
        !          5795: shelfside(char *arg, char *err)
        !          5796: {
        !          5797:        char *oarg = arg;
        !          5798:        int shelf;
        !          5799: 
        !          5800:        if((*arg < '0') || (*arg > '9')){
        !          5801: usage:
        !          5802:                sprintf(err, "shelfside '%s' must be numa or numb", oarg);
        !          5803:                return(-1);
        !          5804:        }
        !          5805:        shelf = 0;
        !          5806:        while((*arg >= '0') && (*arg <= '9'))
        !          5807:                shelf = 10*shelf + *arg++ - '0';
        !          5808:        shelf <<= 1;
        !          5809:        if(*arg == 'a')
        !          5810:                ;
        !          5811:        else if(*arg == 'b')
        !          5812:                shelf |= 1;
        !          5813:        else
        !          5814:                goto usage;
        !          5815:        if(*++arg)
        !          5816:                goto usage;
        !          5817:        return(shelf);
        !          5818: }
        !          5819: 0707070035050370421006660011710000040000010136110467252073300001600000001025sony/diskid.c#include     <stdio.h>
        !          5820: #include       "../scsi.h"
        !          5821: #include       "../scsish.h"
        !          5822: #include       "../tcl.h"
        !          5823: #include       "fns.h"
        !          5824: 
        !          5825: int
        !          5826: sony_diskid(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5827: {
        !          5828:        struct scsi_cmd cmd;
        !          5829:        struct scsi_return ret;
        !          5830:        int i, unit;
        !          5831: 
        !          5832:        if(argc <= 1)
        !          5833:                argv[i = 0] = "0";
        !          5834:        else
        !          5835:                i = 1;
        !          5836:        for(; i < argc; i++){
        !          5837:                unit = atoi(argv[i]);
        !          5838:                set6(cmd, 0xC2, unit<<5, 0, 0, 0, 0);
        !          5839:                if(s_io(0, &cmd, 0, &ret, 1024, cd->err))
        !          5840:                        ERR_RETURN
        !          5841:                printf("(%d,%d) disk id block:\n", s_id, unit);
        !          5842:                xd(ret.data, 1024, stdout);
        !          5843:        }
        !          5844:        return(TCL_OK);
        !          5845: }
        !          5846: 0707070035050370401006660011710000040000010136170467252532400002000000011241sony/internal.c#include   <stdio.h>
        !          5847: #include       "../scsi.h"
        !          5848: #include       "../scsish.h"
        !          5849: #include       "../tcl.h"
        !          5850: #include       "fns.h"
        !          5851: 
        !          5852: static
        !          5853: internal(int n, int b1, int nb, struct scsi_return *ret, char *err)
        !          5854: {
        !          5855:        struct scsi_cmd cmd;
        !          5856: 
        !          5857:        set6(cmd, 0x1D, b1, 0, 0, 10, 0);
        !          5858:        cmd.data[0] = n;
        !          5859:        cmd.data[1] = b1>>8;
        !          5860:        cmd.data[2] = 0;
        !          5861:        cmd.data[3] = 0;
        !          5862:        cmd.data[4] = 0;
        !          5863:        cmd.data[5] = 0;
        !          5864:        cmd.data[6] = 0;
        !          5865:        cmd.data[7] = 0;
        !          5866:        cmd.data[8] = 0;
        !          5867:        cmd.data[9] = 0;
        !          5868:        if(n = s_io(0, &cmd, 10, ret, 0, err))
        !          5869:                return(n);
        !          5870:        setdiag(cmd, 0, nb);
        !          5871:        if(n = s_io(0, &cmd, 0, ret, nb, err))
        !          5872:                return(n);
        !          5873:        return(0);
        !          5874: }
        !          5875: 
        !          5876: static char *cmds[] = {
        !          5877:        "internal command table",
        !          5878:        "error information table",
        !          5879:        "arm controller diagnostics",
        !          5880:        "scsi control board diagnostics",
        !          5881:        "drive controller diagnostics",
        !          5882:        "jukebox status",
        !          5883:        0
        !          5884: };
        !          5885: 
        !          5886: static char *msg1[16] =
        !          5887: {
        !          5888:        "drive not connected or powered off",
        !          5889:        "drive connected but no disk",
        !          5890:        "diagnostic aborted: write-protect",
        !          5891:        "diagnostic aborted: write area full",
        !          5892:        "urk 4", "urk 5", "urk 6", "urk 7", "urk 8", "urk 9", "urk 10",
        !          5893:        "urk 11", "urk 12", "urk 13", "urk 14", "urk 15"
        !          5894: };
        !          5895: 
        !          5896: static char *testn[10] =
        !          5897: {
        !          5898:        "drive on/off",
        !          5899:        "read disk id",
        !          5900:        "move",
        !          5901:        "seek",
        !          5902:        "blank sector search",
        !          5903:        "written sector search",
        !          5904:        "search writable area",
        !          5905:        "write",
        !          5906:        "ECC margin check",
        !          5907:        "read data compare"
        !          5908: };
        !          5909: 
        !          5910: int
        !          5911: sony_internal(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          5912: {
        !          5913:        struct scsi_cmd cmd;
        !          5914:        struct scsi_return ret;
        !          5915:        register unsigned char *d;
        !          5916:        int i, drive, lower, arg;
        !          5917:        long t1, t2;
        !          5918:        extern char *cmesg[];
        !          5919:        extern char *i0com[], *i1err[], *scsicmd[], *busid[], *scsiident[];
        !          5920: 
        !          5921:        if(argc <= 1){
        !          5922:                printf("available internal commands:\n");
        !          5923:                for(i = 0; cmds[i]; i++)
        !          5924:                        printf("\tinternal %d: %s\n", i, cmds[i]);
        !          5925:                return(TCL_OK);
        !          5926:        }
        !          5927:        switch(arg = atoi(argv[1]))
        !          5928:        {
        !          5929:        case 0:
        !          5930:                if(internal(0xE5, 0, 256, &ret, cd->err))
        !          5931:                        ERR_RETURN
        !          5932:                printf("internal 0 (%s):\n", cmds[arg]);
        !          5933:                printf("Diagnostic #E5: last 16 internal tasks (drive,shelf)\n");
        !          5934:                for(i = 0, d = ret.data; i < 16; i++, d += 16){
        !          5935:                        printf("[%d] %s (%d,%d)\n",
        !          5936:                                d[0], i0com[d[1]], d[2], d[3]);
        !          5937:                }
        !          5938:                break;
        !          5939:        case 1:
        !          5940:                if(internal(0xE4, 0, 256, &ret, cd->err))
        !          5941:                        ERR_RETURN
        !          5942:                printf("internal 1 (%s):\n", cmds[arg]);
        !          5943:                printf("Diagnostic #E4: last 16 errors; initiator[identify] error[sense] (cmd)\n");
        !          5944:                for(i = 0, d = ret.data; i < 16; i++, d += 16){
        !          5945:                        printf("%s[%s]: %s[#%x] (%s)\n",
        !          5946:                                busid[d[0]], scsiident[d[1]], i1err[d[14]], d[15], scsicmd[d[4]]);
        !          5947:                }
        !          5948:                break;
        !          5949:        case 2:
        !          5950:                printf("internal 2 (%s):\n", cmds[arg]);
        !          5951:                fflush(stdout);
        !          5952:                time(&t1);
        !          5953:                if(internal(0x90, 0, 8, &ret, cd->err))
        !          5954:                        ERR_RETURN
        !          5955:                time(&t2);
        !          5956:                d = ret.data;
        !          5957:                if(d[0] == 0)
        !          5958:                        printf("\tended normally");
        !          5959:                else
        !          5960:                        printf("\tfailed, error codes=#%x, #%x, #%x",
        !          5961:                                d[0], d[1], d[2]);
        !          5962:                printf(" (time: %lds)\n", t2-t1);
        !          5963:                break;
        !          5964:        case 3:
        !          5965:                printf("internal 3 (%s):\n", cmds[arg]);
        !          5966:                fflush(stdout);
        !          5967:                time(&t1);
        !          5968:                if(internal(0xe0, 0, 8, &ret, cd->err))
        !          5969:                        ERR_RETURN
        !          5970:                time(&t2);
        !          5971:                d = ret.data;
        !          5972:                if(d[0] == 0)
        !          5973:                        printf("\tended normally");
        !          5974:                else
        !          5975:                        printf("\tfailed, error codes=#%x, #%x, #%x",
        !          5976:                                d[0], d[1], d[2]);
        !          5977:                printf(" (time: %lds)\n", t2-t1);
        !          5978:                break;
        !          5979:        case 4:
        !          5980:                drive = (argc >= 3)? atoi(argv[2]) : 0;
        !          5981:                if(sony_istatus(&ret, cd->err))
        !          5982:                        ERR_RETURN
        !          5983:                if((ret.data[100]&0x80) && (drive == (ret.data[100]&7)))
        !          5984:                        lower = 0x100;
        !          5985:                else if((ret.data[101]&0x80) && (drive == (ret.data[101]&7)))
        !          5986:                        lower = 0x200;
        !          5987:                else {
        !          5988:                        fprintf(stderr, "drive %d not occupied\n", drive);
        !          5989:                        ERR_RETURN
        !          5990:                }
        !          5991:                printf("drive %d[%ser]: %s\n", drive, (lower == 0x200)?"low":"upp", cmds[arg]);
        !          5992:                fflush(stdout);
        !          5993:                time(&t1);
        !          5994:                if(internal(0x18, lower, 256, &ret, cd->err))
        !          5995:                        ERR_RETURN
        !          5996:                time(&t2);
        !          5997:                d = ret.data;
        !          5998:                if(d[1]&0x80){
        !          5999:                        printf("diagnostic result:");
        !          6000:                        if((d[1]&0x70) == 0)
        !          6001:                                printf(" no faults");
        !          6002:                        else {
        !          6003:                                if(d[1]&0x10)
        !          6004:                                        printf(" controller-fault");
        !          6005:                                if(d[1]&0x20)
        !          6006:                                        printf(" drive-fault");
        !          6007:                                if(d[1]&0x10)
        !          6008:                                        printf(" disk-fault");
        !          6009:                                printf(" (last error code 0x%2.2ux)", d[4]);
        !          6010:                        }
        !          6011:                } else
        !          6012:                        printf("diagnostic not performed: %s", msg1[d[1]&0xF]);
        !          6013:                printf(" (time: %lds)\n", t2-t1);
        !          6014:                for(i = 0; i < 10; i++)
        !          6015:                        printf("test %d[%s]: %s\n", i, testn[i], cmesg[d[i*8+drive+8]]);
        !          6016:                printf("diagnostic count (drive:avail):");
        !          6017:                for(d += 104, i = 0; i < 8; i++, d += 2)
        !          6018:                        printf(" %d:%d", i, d[0]+d[1]*256);
        !          6019:                printf("\n");
        !          6020:                break;
        !          6021:        case 5:
        !          6022:                set10(cmd,  0xD3, 0, 0, 0, 0, 0, 0, 0, 0, 0);
        !          6023:                if(s_io(0, &cmd, 0, &ret, 20, cd->err))
        !          6024:                        ERR_RETURN
        !          6025:                printf("%s: component(fatal err/err/cmds)\n", cmds[arg]);
        !          6026:                d = ret.data;
        !          6027: #define        ONE(str, x, sep)        printf("%s(%d/%d/%d)%c", str, d[x+3], d[x+2], d[x+1]+256*d[x], sep)
        !          6028:        
        !          6029:                ONE("upper drive", 4, ' ');
        !          6030:                ONE("lower drive", 8, ' ');
        !          6031:                ONE("sys control", 12, ' ');
        !          6032:                printf("backup mem(0/%d/%d)\n", d[19]+256*d[18], d[17]+256*d[16]);
        !          6033:                break;
        !          6034:        }
        !          6035:        return(TCL_OK);
        !          6036: }
        !          6037: 0707070035050370371006660011710000040000010654310457563432200001400000000465sony/i0.tabi0com
        !          6038: 00     nop
        !          6039: 01     sense result
        !          6040: 02     version check
        !          6041: 04     recover disk warning
        !          6042: 08     sense alternate information
        !          6043: 0a     error margin check
        !          6044: 18     diagnostics
        !          6045: 20     sense drive status
        !          6046: 21     recalibrate
        !          6047: 22     drive on
        !          6048: 23     drive off
        !          6049: 24     disk out
        !          6050: 30     seek
        !          6051: 31     move
        !          6052: 32     read
        !          6053: a1     disk check
        !          6054: a2     carrier move
        !          6055: b1     disk set
        !          6056: b2     disk release
        !          6057: b3     disk rotate
        !          6058: 0707070035050370361006660011710000040000010654330457563432200001400000000477sony/i1.tabi1err
        !          6059: 94     drive error (SONY)
        !          6060: a0     invalid command
        !          6061: a1     invalid LUN
        !          6062: a2     reserved bit nonzero
        !          6063: a3     illegal logical address
        !          6064: a4     illegal shelf number
        !          6065: a5     illegal parameter length
        !          6066: a6     illegal parameter
        !          6067: a7     unacceptable diagnostics parameter
        !          6068: a8     unit attention
        !          6069: a9     drive not ready
        !          6070: aa     medium removal prevented
        !          6071: ab     reserved
        !          6072: ac     no disk in LUN
        !          6073: 0707070035050370351006660011710000040000010654340457563432200001600000001777sony/scsi.tabscsicmd
        !          6074: 00     test unit ready
        !          6075: 01     rezero unit
        !          6076: 03     request sense
        !          6077: 08     read
        !          6078: 0a     write
        !          6079: 0b     seek
        !          6080: 0c     move
        !          6081: 12     inquiry
        !          6082: 15     mode select
        !          6083: 16     reserve
        !          6084: 17     release
        !          6085: 18     copy
        !          6086: 1a     mode sense
        !          6087: 1b     start/stop unit
        !          6088: 1c     receive diagnostics
        !          6089: 1d     send diagnostics
        !          6090: 1e     prevent/allow medium removal
        !          6091: 25     read capacity
        !          6092: 28     read
        !          6093: 2a     write
        !          6094: 2c     blank sector search
        !          6095: 2d     written sector search
        !          6096: c0     disk eject
        !          6097: c2     read disk id
        !          6098: c3     sense alternate information
        !          6099: c4     recover disk warning
        !          6100: d3     request recovered status
        !          6101: d6     disk set
        !          6102: d7     disk release
        !          6103: busid
        !          6104: 01     0
        !          6105: 02     1
        !          6106: 80     7
        !          6107: scsiident
        !          6108: 80     no dis/reconnect-LUN 0
        !          6109: 81     no dis/reconnect-LUN 1
        !          6110: 82     no dis/reconnect-LUN 2
        !          6111: 83     no dis/reconnect-LUN 3
        !          6112: 84     no dis/reconnect-LUN 4
        !          6113: 85     no dis/reconnect-LUN 5
        !          6114: 86     no dis/reconnect-LUN 6
        !          6115: 87     no dis/reconnect-LUN 7
        !          6116: c0     dis/reconnect-LUN 0
        !          6117: c1     dis/reconnect-LUN 1
        !          6118: c2     dis/reconnect-LUN 2
        !          6119: c3     dis/reconnect-LUN 3
        !          6120: c4     dis/reconnect-LUN 4
        !          6121: c5     dis/reconnect-LUN 5
        !          6122: c6     dis/reconnect-LUN 6
        !          6123: c7     dis/reconnect-LUN 7
        !          6124: cmesg
        !          6125: 0      good
        !          6126: e0     test not done
        !          6127: ee     diagnostic could not be done
        !          6128: fe     drive not ready (no disk)
        !          6129: ff     not connected or power off
        !          6130: 0707070035050370341006660011710000040000010136210467252232600001500000006377sony/media.c#include      <stdio.h>
        !          6131: #include       <stddef.h>
        !          6132: #include       "../scsi.h"
        !          6133: #include       "../scsish.h"
        !          6134: #include       "../tcl.h"
        !          6135: #include       "fns.h"
        !          6136: 
        !          6137: static int cnts[256];
        !          6138: static char *cmsg[256];
        !          6139: 
        !          6140: sony_media1(int drive, long lbn, int lower, struct scsi_return *ret, char *err)
        !          6141: {
        !          6142:        struct scsi_cmd cmd;
        !          6143:        int n;
        !          6144: 
        !          6145:        set6(cmd, 0x1D, drive<<5, 0, 0, 10, 0);
        !          6146:        cmd.data[0] = 0x0A;     /* error margin check */
        !          6147:        cmd.data[1] = lower? 2:1;
        !          6148:        cmd.data[2] = 0;
        !          6149:        cmd.data[3] = 0;
        !          6150:        cmd.data[4] = drive;
        !          6151:        cmd.data[5] = lbn;
        !          6152:        cmd.data[6] = lbn>>8;
        !          6153:        cmd.data[7] = lbn>>16;
        !          6154:        cmd.data[8] = 0;
        !          6155:        cmd.data[9] = 0;
        !          6156:        if(n = s_io(0, &cmd, 10, ret, 0, err))
        !          6157:                return(n);
        !          6158:        setdiag(cmd, drive, 256);
        !          6159:        if(n = s_io(0, &cmd, 0, ret, 256, err))
        !          6160:                return(n);
        !          6161:        return(0);
        !          6162: }
        !          6163: 
        !          6164: int
        !          6165: sony_media(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          6166: {
        !          6167:        struct scsi_return ret;
        !          6168:        uchar *d;
        !          6169:        int bn, c;
        !          6170:        char buf[256];
        !          6171:        int lower;
        !          6172:        int nline;
        !          6173:        int cur, curb;
        !          6174:        int drive;
        !          6175:        long lbn;
        !          6176:        int count;
        !          6177:        extern char *strdup(char *);
        !          6178:        int verbose = 0;
        !          6179:        FILE *fp = 0;
        !          6180:        char *fout = 0;
        !          6181:        extern char *optarg;
        !          6182:        extern int optind;
        !          6183: 
        !          6184: #pragma ref niargs
        !          6185: 
        !          6186:        while((c = getopt(argc, argv, "vf:")) != -1)
        !          6187:                switch(c)
        !          6188:                {
        !          6189:                case 'v':       verbose = 1; break;
        !          6190:                case 'f':       fout = optarg; break;
        !          6191:                default:        USAGE_RETURN
        !          6192:                }
        !          6193:        if(optind+3 != argc)
        !          6194:                USAGE_RETURN
        !          6195:        drive = atoi(argv[optind]);
        !          6196:        lbn = atol(argv[optind+1]);
        !          6197:        count = atoi(argv[optind+2]);
        !          6198:        if(fout){
        !          6199:                if((fp = fopen(fout, "w")) == NULL){
        !          6200:                        pperror(cd->err, fout);
        !          6201:                        ERR_RETURN
        !          6202:                }
        !          6203:        }
        !          6204:        if(sony_istatus(&ret, cd->err))
        !          6205:                ERR_RETURN
        !          6206:        if((ret.data[100]&0x80) && (drive == (ret.data[100]&7)))
        !          6207:                lower = 0;
        !          6208:        else if((ret.data[101]&0x80) && (drive == (ret.data[101]&7)))
        !          6209:                lower = 1;
        !          6210:        else {
        !          6211:                sprintf(cd->err, "drive %d not occupied and ready\n", drive);
        !          6212:                ERR_RETURN
        !          6213:        }
        !          6214:        printf("media margin check for %d blocks [%d-%d] on %s drive (%d,%d):",
        !          6215:                count, lbn, lbn+count-1, lower? "lower":"upper", s_id, drive);
        !          6216:        if(fp)
        !          6217:                printf(" stored in '%s'", fout);
        !          6218:        putchar('\n');
        !          6219:        if(cmsg[0] == 0){
        !          6220:                for(bn = 0; bn < 256; bn++){
        !          6221:                        sprintf(buf, "rare error 0x%x", bn);
        !          6222:                        cmsg[bn] = strdup(buf);
        !          6223:                }
        !          6224:                cmsg[0] = "good";
        !          6225:                cmsg[0x40] = "seek error 1 (alternated)";
        !          6226:                cmsg[0x41] = "seek error 2 (alternated)";
        !          6227:                cmsg[0x42] = "seek error 3 (alternated)";
        !          6228:                cmsg[0x44] = "read error 1 (alternated)";
        !          6229:                cmsg[0x45] = "unwritten";
        !          6230:                cmsg[0x46] = "read error 3 (alternated)";
        !          6231:                cmsg[0x81] = "<50% burst";
        !          6232:                cmsg[0x82] = "50-96% burst (alternated)";
        !          6233:                cmsg[0x83] = ">96% burst (alternated)";
        !          6234:                cmsg[0x84] = "uncorrectable (alternated)";
        !          6235:        }
        !          6236: #define        DO(ch,cp) if(fp) putc(ch,fp); else if(ch != cur){\
        !          6237:                        int newb = bn+cp-ret.data;\
        !          6238:                        if(verbose && (curb>=0)){\
        !          6239:                                printf("%d %s@%d, ", newb-curb, cmsg[cur], curb);\
        !          6240:                                if(++nline == 5){nline = 0; putchar('\n');}\
        !          6241:                        }\
        !          6242:                        cur = ch;\
        !          6243:                        curb = newb;\
        !          6244:                }
        !          6245:        cur = 256;
        !          6246:        curb = -1;
        !          6247:        nline = 0;
        !          6248:        for(bn = 0; bn < 256; bn++)
        !          6249:                cnts[bn] = 0;
        !          6250:        for(bn = lbn, c = count; c >= 256; c -= 256, bn += 256){
        !          6251:                if(sony_media1(drive, bn, lower, &ret, cd->err))
        !          6252:                        ERR_RETURN
        !          6253:                for(d = ret.data; d < &ret.data[256];){
        !          6254:                        DO(*d, d);
        !          6255:                        cnts[*d++]++;
        !          6256:                }
        !          6257:        }
        !          6258:        if(c){
        !          6259:                if(sony_media1(drive, bn, lower, &ret, cd->err))
        !          6260:                        ERR_RETURN
        !          6261:                for(d = ret.data; c; c--){
        !          6262:                        DO(*d, d);
        !          6263:                        cnts[*d++]++;
        !          6264:                }
        !          6265:        }
        !          6266:        DO(256, d);
        !          6267:        if(nline)
        !          6268:                putchar('\n');
        !          6269:        printf("\t");
        !          6270:        for(c = 0; c < 256; c++)
        !          6271:                if(cnts[c])
        !          6272:                        printf("%d %s, ", cnts[c], cmsg[c]);
        !          6273:        printf("\n");
        !          6274:        return(TCL_OK);
        !          6275: }
        !          6276: 0707070035050370331006660011710000040000010136070467253431000001600000002640sony/readid.c#include     <stdio.h>
        !          6277: #include       "../scsi.h"
        !          6278: #include       "../scsish.h"
        !          6279: #include       "../tcl.h"
        !          6280: #include       "fns.h"
        !          6281: 
        !          6282: static int
        !          6283: my_read(int lun, long blk, struct scsi_return *ret, char *err)
        !          6284: {
        !          6285:        struct scsi_cmd cmd;
        !          6286:        int n;
        !          6287: 
        !          6288:        cmd.bus_id = s_id;
        !          6289:        set10(cmd, 0x28, lun<<5, blk>>24, blk>>16, blk>>8, blk, 0, 0, 1, 0);
        !          6290:        n = ss_io(0, &cmd, 0, ret, 1024, err);
        !          6291:        return(n);
        !          6292: }
        !          6293: 
        !          6294: int
        !          6295: sony_readid(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          6296: {
        !          6297:        struct scsi_return ret;
        !          6298:        char buf[128];
        !          6299:        int drive;
        !          6300:        long blk, lastb, zero;
        !          6301:        int pr = 0;
        !          6302:        int c;
        !          6303:        extern int optind;
        !          6304:        extern char *optarg;
        !          6305: 
        !          6306:        zero = 0;
        !          6307:        while((c = getopt(argc, argv, "vz:")) != -1)
        !          6308:                switch(c)
        !          6309:                {
        !          6310:                case 'v':       pr = 1; break;
        !          6311:                case 'z':       zero = atol(optarg); break;
        !          6312:                default:        USAGE_RETURN
        !          6313:                }
        !          6314:        if(optind >= argc)
        !          6315:                argv[--optind] = "0";
        !          6316:        for(; optind < argc; optind++){
        !          6317:                drive = atoi(argv[optind]);
        !          6318:                buf[0] = 0;
        !          6319:                blk = zero;
        !          6320:                if(blk == 0){
        !          6321:                        if(my_read(drive, blk, &ret, cd->err) == 0)
        !          6322:                                goto done;
        !          6323:                        blk++;
        !          6324:                }
        !          6325:                for(lastb = -1;;){
        !          6326:                        if(pr){
        !          6327:                                printf("%d: ", blk);
        !          6328:                                fflush(stdout);
        !          6329:                        }
        !          6330:                        if(my_read(drive, blk, &ret, cd->err))
        !          6331:                                break;
        !          6332:                        lastb = blk;
        !          6333:                        blk = ((long *)ret.data)[9];
        !          6334:                }
        !          6335:                if(lastb < 0){
        !          6336:                        printf("read(blk=%d) failed\n", blk);
        !          6337:                        ERR_RETURN
        !          6338:                }
        !          6339:                if(my_read(drive, lastb, &ret, cd->err) != 0)
        !          6340:                        ERR_RETURN
        !          6341:        done:
        !          6342:                strncpy(buf, (char *)&ret.data[42], 128);
        !          6343:                buf[127] = 0;
        !          6344:                printf("(%d,%d): '%s'\n", s_id, drive, buf);
        !          6345:                fflush(stdout);
        !          6346:        }
        !          6347:        return(TCL_OK);
        !          6348: }
        !          6349: 0707070035050370321006660011710000040000010136100467252122600001400000006335sony/copy.c#include       <stdio.h>
        !          6350: #include       "../scsi.h"
        !          6351: #include       "../scsish.h"
        !          6352: #include       "../tcl.h"
        !          6353: #include       "fns.h"
        !          6354: 
        !          6355: #define        PROGRESS        \
        !          6356:                if(sbase/TALK != goo){\
        !          6357:                        goo = sbase/TALK;\
        !          6358:                        time(&t2);\
        !          6359:                        printf("\tdoing block %ld at %s", goo*TALK, ctime(&t2));\
        !          6360:                }
        !          6361: 
        !          6362: static char good[256]; /* by default, all BAD */
        !          6363: typedef enum { BAD = 0, GOOD } Searchtype;
        !          6364: static int copy1(int, int, int, int, int, int, int, char *);
        !          6365: static int search(int, int, int, int, Searchtype, char *);
        !          6366: 
        !          6367: int
        !          6368: sony_copy(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          6369: {
        !          6370:        int n;
        !          6371:        int sdr, sbase, nblocks, ddr, dbase;
        !          6372:        int starget = s_id;
        !          6373:        int dtarget = s_id;
        !          6374:        int wr, unwr;
        !          6375:        long nb = nblocks;
        !          6376:        long t1, t2;
        !          6377:        long goo;
        !          6378:        int lower;
        !          6379:        struct scsi_return ret;
        !          6380: #define                TALK            10000
        !          6381:        extern char *ctime();
        !          6382: 
        !          6383:        if(argc != 6)
        !          6384:                USAGE_RETURN
        !          6385:        sdr = atoi(argv[1]);
        !          6386:        sbase = atoi(argv[2]);
        !          6387:        nblocks = atoi(argv[3]);
        !          6388:        ddr = atoi(argv[4]);
        !          6389:        dbase = atoi(argv[5]);
        !          6390:        printf("copying drive (%d,%d)[%d-%d] to drive (%d,%d)[%d-%d]\n",
        !          6391:                starget, sdr, sbase, sbase+nblocks-1,
        !          6392:                dtarget, ddr, dbase, dbase+nblocks-1);
        !          6393:        if(sony_istatus(&ret, cd->err))
        !          6394:                ERR_RETURN
        !          6395:        if((ret.data[100]&0x80) && (sdr == (ret.data[100]&7)))
        !          6396:                lower = 0;
        !          6397:        else if((ret.data[101]&0x80) && (sdr == (ret.data[101]&7)))
        !          6398:                lower = 1;
        !          6399:        else {
        !          6400:                sprintf(cd->err, "drive %d not occupied\n", sdr);
        !          6401:                ERR_RETURN
        !          6402:        }
        !          6403:        good[0] = good[0x81] = good[0x82] = good[0x83] = GOOD;
        !          6404:        time(&t1);
        !          6405:        goo = -1;
        !          6406:        while(nblocks > 0){
        !          6407:                /* search for a block to copy */
        !          6408:                while(n = min(256, nblocks)){
        !          6409:                        wr = search(sdr, lower, sbase, n, GOOD, cd->err);
        !          6410:                        if(wr < 0)
        !          6411:                                break;
        !          6412:                        sbase += wr;
        !          6413:                        dbase += wr;
        !          6414:                        nblocks -= wr;
        !          6415:                        if(wr < n)
        !          6416:                                break;
        !          6417:                        PROGRESS
        !          6418:                }
        !          6419:                /* now copy until the first bad block */
        !          6420:                while(n = min(256, nblocks)){
        !          6421:                        unwr = search(sdr, lower, sbase, n, BAD, cd->err);
        !          6422:                        if(unwr < 0)
        !          6423:                                break;
        !          6424:                        /*printf("writing %d-%d\n", sbase, sbase+unwr-1);/**/
        !          6425:                        if(copy1(starget, sdr, sbase, unwr, dtarget, ddr, dbase, cd->err))
        !          6426:                                break;
        !          6427:                        sbase += unwr;
        !          6428:                        dbase += unwr;
        !          6429:                        nblocks -= unwr;
        !          6430:                        PROGRESS
        !          6431:                }
        !          6432:        }
        !          6433:        time(&t2);
        !          6434:        t2 -= t1;
        !          6435:        if(t2 == 0) t2 = 1;
        !          6436:        printf("%ds: ", t2);
        !          6437:        if(nblocks){
        !          6438:                printf("copy buggered up: sbase=%d nblks=%d dbase=%d\n",
        !          6439:                        sbase, nblocks, dbase);
        !          6440:                it->result = cd->err;
        !          6441:                return(TCL_ERROR);
        !          6442:        }
        !          6443:        printf("%d blocks at %.1fKB/s\n", nb, nb/(float)t2);
        !          6444:        return(TCL_OK);
        !          6445: }
        !          6446: 
        !          6447: static int
        !          6448: copy1(int st, int sd, int sb, int n, int dt, int dd, int db, char *err)
        !          6449: {
        !          6450:        struct scsi_cmd cmd;
        !          6451:        struct scsi_return ret;
        !          6452: 
        !          6453:        set6(cmd, 0x18, sd<<5, 0, 0, 20, 0);
        !          6454:        cmd.data[0] = 0x10;     /* copy */
        !          6455:        cmd.data[1] = 0;
        !          6456:        cmd.data[2] = 0;
        !          6457:        cmd.data[3] = 0;
        !          6458:        cmd.data[4] = (st<<5)|sd;
        !          6459:        cmd.data[5] = (dt<<5)|dd;
        !          6460:        cmd.data[6] = 0;
        !          6461:        cmd.data[7] = 0;
        !          6462:        cmd.data[8] = n>>24;
        !          6463:        cmd.data[9] = n>>16;
        !          6464:        cmd.data[10] = n>>8;
        !          6465:        cmd.data[11] = n;
        !          6466:        cmd.data[12] = sb>>24;
        !          6467:        cmd.data[13] = sb>>16;
        !          6468:        cmd.data[14] = sb>>8;
        !          6469:        cmd.data[15] = sb;
        !          6470:        cmd.data[16] = db>>24;
        !          6471:        cmd.data[17] = db>>16;
        !          6472:        cmd.data[18] = db>>8;
        !          6473:        cmd.data[19] = db;
        !          6474:        return(s_io(0, &cmd, 20, &ret, 0, err));
        !          6475: }
        !          6476: 
        !          6477: static int
        !          6478: search(int dr, int lower, int sbase, int n, Searchtype s, char *err)
        !          6479: {
        !          6480:        uchar *cp;
        !          6481:        struct scsi_return ret;
        !          6482: 
        !          6483:        if(n <= 0)
        !          6484:                return(0);
        !          6485:        if(n > 256)
        !          6486:                n = 256;
        !          6487:        if(sony_media1(dr, sbase, lower, &ret, err))
        !          6488:                return(-1);
        !          6489:        for(cp = ret.data; n-- > 0; cp++)
        !          6490:                if(good[*cp] != s)
        !          6491:                        break;
        !          6492:        return(cp-ret.data);
        !          6493: }
        !          6494: 0707070035050370311006660011710000040000010133730474351133200001300000002040sony/fns.hextern int sony_inq(ClientData , Tcl_Interp *, int , char **);
        !          6495: extern int sony_alt(ClientData , Tcl_Interp *, int , char **);
        !          6496: extern int sony_conf(ClientData , Tcl_Interp *, int , char **);
        !          6497: extern int sony_status(ClientData , Tcl_Interp *, int , char **);
        !          6498: extern int sony_set(ClientData , Tcl_Interp *, int , char **);
        !          6499: extern int sony_rel(ClientData , Tcl_Interp *, int , char **);
        !          6500: extern int sony_eject(ClientData , Tcl_Interp *, int , char **);
        !          6501: extern int sony_diskid(ClientData , Tcl_Interp *, int , char **);
        !          6502: extern int sony_internal(ClientData , Tcl_Interp *, int , char **);
        !          6503: extern int sony_media(ClientData , Tcl_Interp *, int , char **);
        !          6504: extern int sony_readid(ClientData , Tcl_Interp *, int , char **);
        !          6505: extern int sony_copy(ClientData , Tcl_Interp *, int , char **);
        !          6506: extern int sony_sense(ClientData , Tcl_Interp *, int , char **);
        !          6507: extern int sony_status(ClientData , Tcl_Interp *, int , char **);
        !          6508: extern void sony_extsense(uchar *, char *, int);
        !          6509: 
        !          6510: extern int shelfside(char *arg, char *err);
        !          6511: extern int sony_istatus(struct scsi_return *, char *);
        !          6512: 0707070035050370301006660011710000040000010134760467251545300001500000003337sony/sense.c#include      <stdio.h>
        !          6513: #include       "../scsi.h"
        !          6514: #include       "../scsish.h"
        !          6515: #include       "../tcl.h"
        !          6516: #include       "fns.h"
        !          6517: 
        !          6518: int
        !          6519: sony_sense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          6520: {
        !          6521:        struct scsi_cmd cmd;
        !          6522:        struct scsi_return ret;
        !          6523:        int i, unit;
        !          6524:        char buf[4096];
        !          6525: 
        !          6526: #pragma ref ncargs
        !          6527: #pragma ref cargs
        !          6528: 
        !          6529:        if(argc <= 1)
        !          6530:                argv[i = 0] = "0";
        !          6531:        else
        !          6532:                i = 1;
        !          6533:        for(; i < argc; i++){
        !          6534:                unit = atoi(argv[i]);
        !          6535:                set6(cmd, 0x03, unit<<5, 0, 0, 32, 0);
        !          6536:                if(s_io(0, &cmd, 0, &ret, -32, cd->err))
        !          6537:                        ERR_RETURN
        !          6538:                printf("sense(%d,%d): ", s_id, unit);
        !          6539:                sony_extsense(ret.data, buf, sizeof buf);
        !          6540:                printf("%s\n", buf);
        !          6541:        }
        !          6542:        return(TCL_OK);
        !          6543: }
        !          6544: 
        !          6545: static char *exstab[16] =
        !          6546: {
        !          6547:        "no sense",
        !          6548:        "recovered error",
        !          6549:        "not ready",
        !          6550:        "medium error",
        !          6551:        "hardware error",
        !          6552:        "illegal request",
        !          6553:        "unit attention",
        !          6554:        "data protect",
        !          6555:        "blank check",
        !          6556:        "key #9",
        !          6557:        "copy aborted",
        !          6558:        "aborted command",
        !          6559:        "key #c",
        !          6560:        "volume overflow",
        !          6561:        "miscompare",
        !          6562:        "key #f",
        !          6563: };
        !          6564: 
        !          6565: void
        !          6566: sony_extsense(uchar *data, char *dest, int ndata)
        !          6567: {
        !          6568:        char buf[4096];
        !          6569:        extern char *nesd[];
        !          6570: 
        !          6571:        dest[0] = 0;
        !          6572:        switch(data[2])
        !          6573:        {
        !          6574:        case 0:
        !          6575:                sprintf(dest, "no error");
        !          6576:                break;
        !          6577:        case 0x1:       /* recovered error */
        !          6578:                sprintf(dest, "recovered error");
        !          6579:                break;
        !          6580:        case 0xA:       /* recovered error */
        !          6581:                sprintf(dest, "recovered error");
        !          6582:                break;
        !          6583:        default:
        !          6584:                if(data[7] != 4)
        !          6585:                        sprintf((char *)data, "warning: extra data is %d, not 4! ", data[7]);
        !          6586:                sprintf(buf, "sense: %s", nesd[data[8]&0x7f]);
        !          6587:                strcat(dest, buf);
        !          6588:                if(data[8]&0x80){
        !          6589:                        sprintf(buf, " at addr #%x", data[11]+256L*data[10]+256L*256*data[9]);
        !          6590:                        strcat(dest, buf);
        !          6591:                }
        !          6592:                sprintf(buf, ", ext sense: %s", exstab[data[2]]);
        !          6593:                strcat(dest, buf);
        !          6594:                if(data[0]&0x80){
        !          6595:                        sprintf(buf, " info=#%x", data[6]+256L*data[5]+256L*256L*data[4]+256L*256L*256L*data[3]);
        !          6596:                        strcat(dest, buf);
        !          6597:                }
        !          6598:                break;
        !          6599:        }
        !          6600: }
        !          6601: 0707070035050370241006660011710000040000010654420457563432300001600000002251sony/nesd.tabnesd
        !          6602: 00     no sense
        !          6603: 01     invalid command
        !          6604: 02     recovered error
        !          6605: 03     illegal request
        !          6606: 06     unit attention
        !          6607: 07     parity error
        !          6608: 08     message reject error
        !          6609: 0a     copy aborted
        !          6610: 10     ecc trouible occurred
        !          6611: 11     time out error
        !          6612: 12     controller error
        !          6613: 13     SONY I/F II hardware/firmware error
        !          6614: 14     scsi hardware/firmware error
        !          6615: 20     command not terminated
        !          6616: 21     drive interface parity error
        !          6617: 22     loading trouble
        !          6618: 23     focus trouble
        !          6619: 24     tracking trouble
        !          6620: 25     spindle trouble
        !          6621: 26     slide trouible
        !          6622: 27     skew trouble
        !          6623: 28     head lead out
        !          6624: 29     write modulation trouble
        !          6625: 2a     under laser power
        !          6626: 2b     over laser power
        !          6627: 2f     drive error
        !          6628: 30     drive power off
        !          6629: 31     no disk in drive
        !          6630: 32     drive not ready
        !          6631: 38     disk already exists in drive
        !          6632: 39     no disk in drive
        !          6633: 3a     disk already exists in shelf
        !          6634: 40     write warning
        !          6635: 41     write error
        !          6636: 42     disk error
        !          6637: 43     cannot read disk id
        !          6638: 44     write protect error 1
        !          6639: 45     write protect error 2
        !          6640: 46     disk warning
        !          6641: 47     alternation trouble
        !          6642: 50     specified address not found
        !          6643: 51     address block not found
        !          6644: 52     all address could not be read
        !          6645: 53     data could not be read
        !          6646: 54     uncorrectable read error
        !          6647: 55     tracking error
        !          6648: 60     no data in specified address
        !          6649: 68     z-axis servo error
        !          6650: 69     roter servo error
        !          6651: 6a     hook servo error
        !          6652: 6b     i/o shelf error
        !          6653: 6c     drive 0 error
        !          6654: 6d     drive 1 error
        !          6655: 6e     shelf error
        !          6656: 6f     carrier error
        !          6657: 0707070035051063221006640011710000040000010133770467252423000001200000300000sony/core��������������4�&Ĺ�������
���d{����������d8ÀV���&b�����&�l�
        !          6658: @
        !          6659: .0u|��½&�&yy�������������������������������������������������������������������x��.�������\������9��9�&a^�������H��0��0����&&&&�@�&�$�qrcc���&J&�
        !          6660: 2�       �&��L�&'
        !          6661:  �!L`L�&
        !          6662:  �!������@@����_andrew���,�������&���~� [��,�������&�� �����@�&�:�,���h����&������&H&,��:�������&�������~�H&&h�"����&^ ������    E�X /�������C�� �������D� �/$����.(����
~��&8�
�&8�
�(�/p��T���z�����h�.�������5������h�&E8�
��/�������&�&8R
        !          6663: ���&���(t��\��@�&����&�������a��22        
        !          6664: :&yVa^_^J&�
        !          6665: t��?4��V���<�����&(���|���&����.��������&����
        !          6666: ��/������ �@x�?x����&8R�s�����)�D�����.MM}QM)M,^^PX,kPXBl,kBl�Y�Y�_�h�h�_�k�k�_0Z�_^^0�o@�o��o0&�o@&�oP&�o`&�op&�o�&�o�&�o�&�o�&�o�&o�&�o�&�o�&|ozowo uo0�o%ro %po0%mo@%jo

&

        !          6667:                
        !          6668: 
        !          6669: 
        !          6670: `&�&0&�&0&@&�&@&%0%�&0�&p&P& 0�&�&�&M }M MQ     %   )  , ./ 123456789:M<=>?@ QMMMMMMQMMMQMQMQM[]^M|} &&&&&����t��t��t����@�� @
        !          6671: @
        !          6672: ��(�4�&����
�������������������������������������������~�|�z�x�u�r�o�l�i�f�c�`�]�Z�X�V�T�R�P�N�J�C�?�:�4�/�&��������������������������������������@�M }M }�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&�d&d&|d&yd&vd&sd&pd&md&jd&gd&dd&ad&^d&[d&Xd&Ud&Rd&Od&Ld&Id&Fd&Cd&@d&=d&:d&7d&4d&1d&.d&+d&(d&%d&"d&d&d&d&d&d&d&
d&
        !          6673: d&d&d&&d&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&�c&|c&xc&tc&pc&lc&hc&dc&`c&\c&Xc&Tc&Pc&Lc&Hc&Dc&@c&<c&8c&4c&0c&,c&(c&���{���P8=��ktA-QC]w���Sn���A����*Qx+^aw}0���eo��$12"�\�-Z�n8�Z��c^H�f&I&u�tA��a��j:��K<��W&�XhN��d ���?\qcLN�*OH��SY"�y=lSuI�P�y~MH�x�@V;Zg#WpCQ`,�����U�DQ��  :�#���a�����aT�kH�5        ��`#���)���CAm�_�eNP[���i]��T$.KD_nbX�xm0hX��M�)X%��5�`�Ejj|���e6T`�3��4�,�uh�{�n�Pv�I���bqh�,��D��`t#<�i�O�ot�qM�am�]`Ʉ̡��[�K{��t{�^%��3�i�BtԇoJ6�is�W���Y��70j>�C�p��K;]XJ��X�/*��Y�͋"�8-q�0K\��4�9�g�_���p���;�bT��M}�Ζj���1���p}z`��}����(����1&��d��P����ܢ���������������@�L�X�خ��O�į���ȸ��Pİ4��Q�X����z��Ա8{0�8��{�D�������<�ܳl��~��`LT����LT���đp��?�:D;�;<�<���<p�0�`=Mĥ$�8>(��>?:|?l:d�p�xR|�������Է��P�X���x�R�(�(J�&E�&A�&<�&6�&2�&.�&*�&&�&"�&�&�&�&�&�&�&�&��&��&�&�&�&�&�&ݱ&ر&Ա&ϱ&˱&DZ&ı&��&��&��&��&��&��&��&_�&Y�&Q�&I�&n|b|B|3||
        !          6674: ||�{�{�{�{�{�{v{g{[{N{?{4{+{{{�z�z�z�z�z�z�zlzXzEz2zzzz    zz�y�y�y��y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y�y}yyyuypycyVyHy9y-y$yyyy�x�x�x�x�x�x�x�x�x�x�x�x�x�x�yx{xvxrxmxixdx`x[xWxRxNxLxJxHxFxDx@x<x8x4x0x,x(x$x xxxx
xx�yLxJxHxFxDxxx�y�d&�d&�d&�d&�d&�d&�*8�8�8��h���������)����������&����&&@�./&�;�>D;^-�=<=�>�<X?& ;�:�;>d<@�*.��H:����`@�@A\A,R& R# 1 "internal.c"
        !          6675: # 1 "/usr/ape/include/stdio.h"
        !          6676: 
        !          6677: 
        !          6678: 
        !          6679:  
        !          6680: 
        !          6681: 
        !          6682: # 1 "/usr/ape/include/stdarg.h"
        !          6683: 
        !          6684: 
        !          6685: 
        !          6686: typedef char *va_list;
        !          6687: 
        !          6688: 
        !          6689: 
        !          6690: 
        !          6691: 
        !          6692: 
        !          6693: 
        !          6694: 
        !          6695: # 7 "/usr/ape/include/stdio.h"
        !          6696: 
        !          6697: # 1 "/usr/ape/include/stddef.h"
        !          6698: 
        !          6699: 
        !          6700: 
        !          6701: 
        !          6702: 
        !          6703: 
        !          6704: typedef long ptrdiff_t;
        !          6705: 
        !          6706: 
        !          6707: typedef unsigned size_t;
        !          6708: 
        !          6709: 
        !          6710: 
        !          6711: typedef char wchar_t;
        !          6712: 
        !          6713: 
        !          6714: 
        !          6715: # 8 "/usr/ape/include/stdio.h"
        !          6716: 
        !          6717:  
        !          6718: 
        !          6719: 
        !          6720: 
        !          6721: 
        !          6722: 
        !          6723: 
        !          6724: 
        !          6725: 
        !          6726: 
        !          6727: 
        !          6728: 
        !          6729: 
        !          6730: 
        !          6731: 
        !          6732: 
        !          6733: 
        !          6734: 
        !          6735: 
        !          6736: 
        !          6737: typedef struct{
        !          6738:        int fd;          
        !          6739:        char flags;      
        !          6740:        char state;      
        !          6741:        char *buf;       
        !          6742:        char *rp;        
        !          6743:        char *wp;        
        !          6744:        char *lp;        
        !          6745:        size_t bufl;     
        !          6746:        char unbuf[1];   
        !          6747: }FILE;
        !          6748: typedef long fpos_t;
        !          6749: 
        !          6750: 
        !          6751: 
        !          6752:  
        !          6753: 
        !          6754: 
        !          6755: 
        !          6756: 
        !          6757: 
        !          6758: 
        !          6759: 
        !          6760: 
        !          6761: 
        !          6762: 
        !          6763: 
        !          6764: 
        !          6765: 
        !          6766: 
        !          6767: 
        !          6768: 
        !          6769: 
        !          6770: 
        !          6771: 
        !          6772: 
        !          6773: extern int remove(const char *);
        !          6774: extern int rename(const char *, const char *);
        !          6775: extern FILE *tmpfile(void);
        !          6776: extern char *tmpnam(char *);
        !          6777: extern int fclose(FILE *);
        !          6778: extern int fflush(FILE *);
        !          6779: extern FILE *fopen(const char *, const char *);
        !          6780: extern FILE *freopen(const char *, const char *, FILE *);
        !          6781: extern void setbuf(FILE *, char *);
        !          6782: extern int setvbuf(FILE *, char *, int, size_t);
        !          6783: extern int fprintf(FILE *, const char *, ...);
        !          6784: extern int fscanf(FILE *, const char *, ...);
        !          6785: extern int printf(const char *, ...);
        !          6786: extern int scanf(const char *, ...);
        !          6787: extern int sprintf(char *, const char *, ...);
        !          6788: extern int sscanf(const char *, const char *, ...);
        !          6789: extern int vfprintf(FILE *, const char *, va_list);
        !          6790: extern int vprintf(const char *, va_list);
        !          6791: extern int vsprintf(char *, const char *, va_list);
        !          6792: extern int vfscanf(FILE *, const char *, va_list);
        !          6793: extern int fgetc(FILE *);
        !          6794: extern char *fgets(char *, int, FILE *);
        !          6795: extern int fputc(int, FILE *);
        !          6796: extern int fputs(const char *, FILE *);
        !          6797: extern int getc(FILE *);
        !          6798: 
        !          6799: extern int _IO_getc(FILE *f);
        !          6800: extern int getchar(void);
        !          6801: 
        !          6802: extern char *gets(char *);
        !          6803: extern int putc(int, FILE *);
        !          6804: 
        !          6805: extern int _IO_putc(int, FILE *);
        !          6806: extern int putchar(int);
        !          6807: 
        !          6808: extern int puts(const char *);
        !          6809: extern int ungetc(int, FILE *);
        !          6810: extern size_t fread(void *, size_t, size_t, FILE *);
        !          6811: extern size_t fwrite(const void *, size_t, size_t, FILE *);
        !          6812: extern int fgetpos(FILE *, fpos_t *);
        !          6813: extern int fseek(FILE *, long int, int);
        !          6814: extern int fsetpos(FILE *, const fpos_t *);
        !          6815: extern long int ftell(FILE *);
        !          6816: extern void rewind(FILE *);
        !          6817: extern void clearerr(FILE *);
        !          6818: extern int feof(FILE *);
        !          6819: extern int ferror(FILE *);
        !          6820: extern void perror(const char *);
        !          6821: extern FILE _IO_stream[90              ];
        !          6822: extern FILE *sopenr(const char *);
        !          6823: extern FILE *sopenw(void);
        !          6824: extern char *sclose(FILE *);
        !          6825: extern char *rdline(FILE *, char **);
        !          6826: 
        !          6827: 
        !          6828: 
        !          6829: 
        !          6830: 
        !          6831: 
        !          6832: 
        !          6833: # 1 "internal.c"
        !          6834: 
        !          6835: # 1 "../scsi.h"
        !          6836: typedef unsigned char uchar;
        !          6837: 
        !          6838: struct scsi_cmd
        !          6839: {
        !          6840:        unsigned long id;
        !          6841:        uchar bus_id;            
        !          6842:        uchar flags;
        !          6843:        uchar cmd[10];           
        !          6844:        uchar data[4096];        
        !          6845: };
        !          6846: 
        !          6847: struct scsi_return
        !          6848: {
        !          6849:        unsigned long id;
        !          6850:        uchar scsi_stat;         
        !          6851:        uchar scsi_msg;          
        !          6852:        uchar flags;
        !          6853:        uchar type;              
        !          6854:        unsigned short reg1;     
        !          6855:        unsigned short reg2;     
        !          6856:        unsigned char sense[22];
        !          6857:        char pad[2];
        !          6858:        uchar data[4096];        
        !          6859:        uchar nread;             
        !          6860: };
        !          6861: 
        !          6862: 
        !          6863: 
        !          6864: 
        !          6865: 
        !          6866: 
        !          6867: 
        !          6868: 
        !          6869: 
        !          6870: extern s_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
        !          6871: extern ss_io(int, struct scsi_cmd *, int, struct scsi_return *, int, char *); 
        !          6872: extern int s_ignua;     
        !          6873: extern void (*ss_extsense)(uchar *, char *, int);
        !          6874: extern int s_start(int, char *);
        !          6875: extern int s_stop(int, char *);
        !          6876: extern int s_eject(int, char *);
        !          6877: extern int s_id;
        !          6878: extern unsigned long longat(uchar *);
        !          6879: # 2 "internal.c"
        !          6880: 
        !          6881: # 1 "../scsish.h"
        !          6882: struct ClientData
        !          6883: {
        !          6884:        char err[256];
        !          6885: };
        !          6886: typedef struct ClientData *ClientData;
        !          6887: 
        !          6888: 
        !          6889: 
        !          6890: 
        !          6891: 
        !          6892: struct Tcl_Interp;
        !          6893: typedef int (*Functionfn)(ClientData, struct Tcl_Interp *, int, char **);
        !          6894: 
        !          6895: typedef struct
        !          6896: {
        !          6897:        char *name;
        !          6898:        char *help;
        !          6899:        char *param;
        !          6900:        Functionfn fn;
        !          6901: } Function;
        !          6902: 
        !          6903: typedef struct
        !          6904: {
        !          6905:        char *name;
        !          6906:        char *verbose;
        !          6907:        void (*extsense)(uchar *, char *, int);
        !          6908:        Function *fns;
        !          6909: } Device;
        !          6910: extern void setdevice(Device *);
        !          6911: 
        !          6912: extern void scsi_target(int);
        !          6913: extern void fixedstr(uchar *src, int len, char *dest);
        !          6914: extern void gen_extsense(uchar *, char *, int);
        !          6915: extern int shelfside(char *arg, char *err);
        !          6916: extern void xd(uchar *base, int, FILE *fp);
        !          6917: # 3 "internal.c"
        !          6918: 
        !          6919: # 1 "fns.h"
        !          6920: extern int sony_inq(ClientData , Tcl_Interp *, int , char **);
        !          6921: extern int sony_alt(ClientData , Tcl_Interp *, int , char **);
        !          6922: extern int sony_conf(ClientData , Tcl_Interp *, int , char **);
        !          6923: extern int sony_status(ClientData , Tcl_Interp *, int ,
        !          6924: �;&���������.text
        !          6925: Ltext:.stabs "internal.c",0x64,0,0,Ltext
        !          6926: .stabs "rcc",0xf0,0,17665,652912783
        !          6927: missing parameter name to function `sony_inq'
        !          6928: d�4�t����|�,>Q��`��0���̦�L0��N��`��>h����Mԝ�`��TL}Խ8��M�)L�ԁ<@���M��H�(�H@HN`�D~T=,����N�?�����0����hM�:HOx������Ƚ�;X���T@��(�(����K�{hN�8;,|p��Q��؄��L� �д���=���<�N����؟$����d�������H��M��p?`:$PP�d����zH�0@����(���$���<��?L.:�)R�;&�;�;�;�;|?�?��`�������ij�����lOh�ܧȜ��Բ �PDXBHFHFHFHFHF<IDG4K4K4K4K4K4K&�*�Q�Q�Q(z�)chardoublefloatintlong doublelong intshortsigned charunsigned charunsigned long intunsigned short intunsigned intvoidchar[]T*internal.c/usr/ape/include/stdio.h/usr/ape/include/stdarg.h-1va_list/usr/ape/include/stddef.hptrdiff_tsize_twchar_tfdflagsstatebufrpwplpbuflunbufFILEfpos_tremoverenametmpfiletmpnamfclosefflushfopenfreopensetbufsetvbuffprintf...fscanfprintfscanfsprintfsscanfvfprintfvprintfvsprintfvfscanffgetcfgetsfputcfputsgetc_IO_getcfgetchargetsputc_IO_putcputcharputsungetcfreadfwritefgetposfseekfsetposftellrewindclearerrfeofferrorperror_IO_streamsopenrsopenwscloserdline../scsi.hucharscsi_cmdidbus_idcmddatascsi_returnscsi_statscsi_msgtypereg1reg2sensepadnreads_ioss_ios_ignuass_extsenses_starts_stops_ejects_idlongat../scsish.hClientDataerrTcl_InterpFunctionfnnamehelpparamfnFunctionverboseextsensefnsDevicesetdevicescsi_targetfixedstrsrclendestgen_extsenseshelfsideargxdbasefpfns.hsony_inq�)H:&&:�)�)�::l:H:** ;l:&�:�:
        !          6929: *
        !          6930: *�;�:D; ;**�;D;�;�;**d<�;<�;#*#*�<<�<d<)*)*<=�<&&�<�<5*
�<5*�=�<&&`=<=C*C*>`=�=�=U*U*�>�=8>>h*h*�>8>�>�>u*u*X?�>?�>z*z*?�*�*|?X?�?�*
        !          6931: �*�*�*�d&�@�d&�@&`@�d&HA&&�@�d&�A&A�d&�A\A�d&DB�A�A�d&�B0BB�d&�B&&XB�d&@C&&�B�B�d&�C&CC�d&�C&TCTC�d&<D&�C�C�d&�D& �C�C�d&�D&PD�d&8E&�D�D�d&�E�D�D�d&�ELELE�d&4F�E�E�d&�F �E�E�d&�F&�HF�d&0G&�F�F�d&�G&
        !          6932: �F�F�d&�G&&@DG�d&,H&&��G�G�d&�H&&&�G�G�d&�H&&        @H@H�d&(I&&
        !          6933: �H�H�d&|I&&�H�H�d&�I&@<I�d&$J&��I�I�d&xJ&&�I�I�d&�J&    8J8J�d& K&
        !          6934: �J�J�d&tK&�J�J�*H:�?�*S�K�*
�*�*       �*Sd<�*
�K�*�*S�>�*
        !          6935: L�*�*SH:�*
`L+�d&&PM�*tM�?   MX?&+&+�;�M++H:�M
        !          6936: +
        !          6937: +H:�M++�K�M++�KN++�K4N++�KTN++�>�N"+&&H:|?�K"+tN(+(+SPM�*&'�L-+-+Sd<�*
(�N4+&&H:tNTO�?ClO�*A�;�O4+4+J�O�*AO;+ClO�*BpPClO�* B�;0P�O;+;+J�P�*B�OB+CX?�*CPM�?\QQB+B+JtQ�*C�PJ+%z�T$z&�8Rx� �4R�|�x�x��Y؉u�T�t�x�C�K�*D�K4zJ+J+Jtz�*D�QQ+C\Q�*E�;�z�PQ+Q+J {�*E�zX+C\Q�*F�;�{ {X+X+J�{�*F8{_+ClO�*Gx|ClO�*!G\Q8|tQ_+_+J�|�*G�{e+ClO�*Hd}ClO�*#H�}C\Q�*1H\Q$}�|e+e+J�}�*H�|m+C\Q�*I�~C�K�*IX?P~@m+m+J�~�*I�}t+C\Q�*J|C�K�*J�C�;�*#J�C�>�*(J�;<�{t+t+J<��*J�~|+C\Q�*K�ClO�*K4��+�+X?�*)K�;��<�|+|+Jt��*KT��+C\Q�*L �ClO�*L`��+X?�*(L�;��t��+�+J���*L���+ClO�*ML��+X?�* M�;����+�+J���*M���+ClO�*N8��+X?�*N�;�����+�+Jx��*N���+C�K�*O$�ClO�*Od��+X?�*)O�;�x��+�+J���*O���+ClO�*PP�ClO�* P���+X?�*.P�;����+�+JІ�*P���+C\Q�*Q|�ClO�*Q��C�K�**Q�;<�І�+�+J���*Q��+ClO�*R��C�K�*!R�;h����+�+J��*R�O��+\�C�K�*S��ClO�*SԉC�K�**S�;T���+�+J��*S��+C\Q�*T��ClO�*T�C�K�*)T�;����+�+J@��*T�K,��+C\Q�*U�;��@��+�+J��*UX��+(NC�K�*V��C�;�*V،C\Q�* V�KX�tz�+�+J��*V��+C�;�*WčC\Q�*W�;����+�+J��*W0��+ClO�*X��C\Q�*X�;p���+�+J���*X�|��+C\Q�*Y�;\����+�+J���*Y�}��+�+&�+C\Q�*[�;����+�+JT��*[���+CX?�*\�;��T��+�+J��*\l��+C�K�*^�Kl���+�+J���*^�,C�;�*_X�C\Q�*_�;��,,J���*_đ,C�;�*aD�C\Q�*a�;���,,J���*a��,C�;�*b�;���,,J0��*b��,ClO�*d�;��0�,,Jܔ�*dH�,C�;�*e��C\Q�*e�;H�ܔ,,Jȕ�*e��$,C@�*ft�C�>�*f��C�>�*$f��C\Q�*,f�>4�$,$,J4��*f���*,X?�~���?C���*g�C�>�*#gP�C�>�*+g��C\Q�*3g�>З4�*,*,JИ�*gL�1,C\Q�*h��d<�?C|��*h�;<�ȕ1,1,Jԙ�*h�9,C\Q�*i��Cd<�*i��C�;�*#i�;@�ԙ9,9,J��*i�?,C\Q�*jܛd<|����?Cě�*j�;l��?,?,J��*j�G,C\Q�*kd<����G,G,JȜ�*k4�M,C\Q�*lX?4���M,M,Jt��*l���T,C\Q�*mX?��t�T,T,J ��*m��],C\Q�*n�;���],],J̞�*n8�b,C\Q�*o�;8�̞b,b,Jx��*o�i,ClO�*pX?� �i,i,J$��*p��p,
        !          6938: @PMM\Qp,p,J���*q<�{,ClO�*r\Q���}{,{,J<��*r���,CX?�*s\Q��<��,�,J��*s��T��,������C\Q�*t�K�����,�,JĢ�*t��,C\Q�*u���K�?ĢCp��*u�K0�p��,�,Jȣ�*uH�ܢ�,    �,�,S�=�,&��,�,&ܤ�,�M ��PM�,�,> ��,�,�=4�+�=l��,&
        !          6939: �=|?�,T����,&�=|?T��,���,�,&��,
$��=��    (ĥܤ�,>D��, �,�=d��,�,�=x�+�=���,�,�=���,�,�>ئ�,�,�>
        !          6940: ��,&�=|?���,��H��,&H:|?TO�,0�"\��,��$|��,�,�=$&-C�;�,#��ܤ�?�Cܧ�,#4�C�;�,$#����?x�Ct��,)#̨C�;�,?#�C�K�,D#�;��t�&-&-JL��,#@�-�C�;�,
$��Cܧ�,$8�C�;�,%$x�Ct��,*$��C�;�,@$��C�K�,E$�;��L�--J8��,$d�---J�;�,%P�-�K�=�?��C���,&P�C�K�,$&��C�;�,,&X?�$�Ь�?��--J��,&�� -C�;�,'��C�K�,'�;T�8� - -Jԭ�,'�(-C�;�,(��C�K�,(�;@�ԭ(-(-J���,(�N�/-C�;�,)l�C�K�,)�;,���/-/-J���,)خ7-7-7-J�;�,*į<-H�C���,+>l�ȣ<-<-J���,+,��C-O-
        !          6941: O-&l�C-��ĥ        &&$��Z-&&H:|?0�Z-��l��?ИO-S��C-İ^-
        !          6942: ^-p�C-$�        (�l�i-
        !          6943: C��C-�p��?CԲC-&,�C�;C-;l�Cp�C-@�;�������?ěi-SijC-<�Աt-�L�d&&x�C-��(�    0�p�u-u-�K��z-4�z-�Kܴ--�K���-�-ij�-�-Sx�C-��ܳ�-$��d&&��C-е0� p�x�u-�K��-�-�K��-C��C-P�C�KC-��C�;C-#X?�Ьж�?��-�8��-x��?�- ��-�-S��C-��-     ���?C��C-X?ķж�-�-J�C-X��-4�C�;C-X?p���-�-J��C-��-|<�-�-C��C- t��-�-C�;C-! ���-�-C�KC-* X?(����-�-J�C- ȸ�-C��C-!��C�KC-"!�C�;C-*!X?l���-�-J,�C-!��-     �-�-C�KC-"�Z-C�KC- "�;�����-�-J$�C-"LD��-�-�-C��C-#ܼC�;C-#(��-�-C\QC-!#X?��,��-�-Jh�C-#�<�.��.C��.& �^-C�;.!&�;�$�C&��C-����,/$����e�(p��L��;�6��&8��B��&D��&(������;�1&/��������w(������;����&�����>�&��,&��(1&/l��H����(`��<��+�&..T��8��xj&�s��|�,���h���.��(�/�������D���&8R�s��C����,������%@&`��/@��$���2&�s�;`�J.`�.&.&.&J.,d��L���KO�$(���h����s(���l��/s&�����������������������������K��U����������������*��;��C��M�����=��F��N��V��b��k��s��z�����������������}�����
������������������������������M��U��_��������������������������������������/usr/lib/rcc-g2-/tmp/lcc24159.sAS=asBUILTINS=%.o:   %.c
        !          6944:        $CC $CFLAGS -c $stem.c
        !          6945: %.o:   %.s
        !          6946:        $AS -o $stem.o $stem.s
        !          6947: %.o:   %.f
        !          6948:        $FC $FFLAGS -c $stem.f
        !          6949: %.o:   %.y
        !          6950:        $YACC $YFLAGS $stem.y && $CC $CFLAGS -c y.tab.c && mv y.tab.o $stem.o; rm y.tab.c
        !          6951: %.o:   %.l
        !          6952:        $LEX $LFLAGS -t $stem.l > /tmp/$$.c && $CC $CFLAGS -c /tmp/$$.c && mv /tmp/$$.o $stem.o; rm /tmp/$$.c
        !          6953: CC=pccCDEST=dk!nj/astro/bowell!mesgdcon!CDPATH=:/usr/ucds/src:/usr/src/cmd:/usr/andrewCFLAGS=-gCSOURCE=source=dk!nj/astro/r70 user=andrew line=nj/astro/3.23/8.6.FENVIRON=FC=f77FFLAGS=GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start ge_reset ge_tur ge_scsi ge_readtHISTORY=/tmp/histagh22047HOME=/usr/andrewIO=h_ioJL=juke.aJLIB=juke.a(allocate.o) juke.a(cold.o) juke.a(getstatus.o) juke.a(ioshelves.o) juke.a(iodr_sh.o) juke.a(lib.o) juke.a(load.o) juke.a(nlun.o) juke.a(warm.o)JSRC=allocate.c cold.c getstatus.c ioshelves.c iodr_sh.c lib.c load.c nlun.c warm.cLDFLAGS=LEX=lexLFLAGS=MKARGS=pootMKFLAGS=NPROC=2NREP=1PATH=:/usr/andrew/bin:/bin:/usr/bin:/usr/jerq/bin:/usr/ape/apebinPS1=bowell=; PS2=  RANLIB=ranlibSHL=scsish.aSHLIB=scsish.a(ge_dev.o) scsish.a(ge_inq.o) scsish.a(ge_capacity.o) scsish.a(ge_display.o) scsish.a(ge_stop.o) scsish.a(ge_start.o) scsish.a(ge_reset.o) scsish.a(ge_tur.o) scsish.a(ge_scsi.o) scsish.a(ge_readt.o) scsish.a(so_dev.o) scsish.a(so_inq.o) scsish.a(so_alt.o) scsish.a(so_config.o) scsish.a(so_sense.o) scsish.a(so_i0.tab.o) scsish.a(so_i1.tab.o) scsish.a(so_scsi.tab.o) scsish.a(so_nesd.tab.o) scsish.a(so_status.o) scsish.a(so_set.o) scsish.a(so_shelfside.o) scsish.a(so_diskid.o) scsish.a(so_copy.o) scsish.a(so_eject.o) scsish.a(so_media.o) scsish.a(so_rel.o) scsish.a(so_internal.o) scsish.a(so_readid.o) scsish.a(wr_dev.o) scsish.a(wr_inq.o)SL=scsi.aSLIB=scsi.a(s_h_io.o) scsi.a(ge_sense.o) scsi.a(s_volid.o) scsi.a(s_pperror.o) scsi.a(s_fixedstr.o) scsi.a(s_longat.o) scsi.a(s_xd.o)SONY=so_dev so_inq so_alt so_config so_sense so_i0.tab so_i1.tab so_scsi.tab so_nesd.tab so_status so_set so_shelfside so_diskid so_copy so_eject so_media so_rel so_internal so_readidSYS=researchTERM=dumbTL=tcl.aTLIB=tcl.a(tclAssem.o) tcl.a(tclBasic.o) tcl.a(tclCmdAH.o) tcl.a(tclCmdIZ.o) tcl.a(tclExpr.o) tcl.a(tclGlob.o) tcl.a(tclHistory.o) tcl.a(tclProc.o) tcl.a(tclUtil.o)WREN=wr_dev wr_inqX=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory tclProc tclUtilYACC=yaccYFLAGS=alltarget=so_internal.onewprereq=sony/internal.c sony/fns.h scsish.h scsi.hnproc=0pid=24154prereq=sony/internal.c sony/fns.h scsish.h scsi.hstem=internalstem0=stem1=stem2=stem3=stem4=stem5=stem6=stem7=stem8=stem9=target=so_internal.os0707070035050550751006660011710000040000010256630476064450700001400000006651sony/juke.c#include       <stdio.h>
        !          6954: #include       <stdlib.h>
        !          6955: #include       "../scsi.h"
        !          6956: #include       "../scsish.h"
        !          6957: #include       "../tcl.h"
        !          6958: #include       "fns.h"
        !          6959: #include       "../generic/fns.h"
        !          6960: #include       "../jukeface.h"
        !          6961: #include       <scsi.h>
        !          6962: 
        !          6963: int
        !          6964: j_config(Jukebox *j, char *err)
        !          6965: {
        !          6966:        struct scsi_cmd cmd;
        !          6967:        struct scsi_return ret;
        !          6968:        char buf[512];
        !          6969: 
        !          6970:        j->nshelves = 50;
        !          6971:        j->nluns = 8;
        !          6972:        set6(cmd, 0x12, 0, 0, 0, 44, 0);
        !          6973:        if(s_io(0, &cmd, 0, &ret, 44, err))
        !          6974:                return(-1);
        !          6975:        switch(ret.data[37])
        !          6976:        {
        !          6977:        case 1:         j->ndrives = 1; break;
        !          6978:        case 2: case 3: j->ndrives = 2; break;
        !          6979:        default:        j->ndrives = 0; break;
        !          6980:        }
        !          6981:        j->luns = (struct lun *)malloc(j->nluns * sizeof(struct lun));
        !          6982:        j->shelves = (char *)malloc(j->nshelves * sizeof(char));
        !          6983:        j->names = (char **)malloc(j->nshelves * sizeof(char *));
        !          6984: 
        !          6985:        for(j->nworms = 0; j->nworms < j->nluns; j->nworms++){
        !          6986:                sprintf(buf, "/dev/worm%d", j->nworms);
        !          6987:                if(access(buf, 0) < 0)
        !          6988:                        return(0);
        !          6989:        }
        !          6990:        return(0);
        !          6991: }
        !          6992: 
        !          6993: extern j_drstatus(Jukebox *j, char *err)
        !          6994: {
        !          6995:        struct scsi_return ret;
        !          6996:        int i;
        !          6997:        char *where[8];
        !          6998:        unsigned char *d;
        !          6999: 
        !          7000:        if(sony_istatus(&ret, err))
        !          7001:                return(-1);
        !          7002:        for(i = 0; i < 8; i++)
        !          7003:                where[i] = "shelf";
        !          7004:        d = &ret.data[100];
        !          7005:        if(*d&0x80)
        !          7006:                where[*d&7] = "upper";
        !          7007:        d++;
        !          7008:        if(*d&0x80)
        !          7009:                where[*d&7] = "lower";
        !          7010:        d = &ret.data[16];
        !          7011:        for(i = 0; i < 8; i++, d += 4){
        !          7012:                j->luns[i].spunup = (d[0]&1) != 0;
        !          7013:                j->luns[i].desc = "shelf";
        !          7014:                j->luns[i].shelf = -1;
        !          7015:                j->luns[i].side = 0;
        !          7016:                if(j->luns[i].occupied = (d[0]&0x40) != 0){
        !          7017:                        if(d[1]&0x80){
        !          7018:                                j->luns[i].desc = where[i];
        !          7019:                                if(d[2]&0x80){
        !          7020:                                        j->luns[i].shelf = (d[2]&0x7F)/2;
        !          7021:                                        j->luns[i].side = d[2]&1;
        !          7022:                                }
        !          7023:                        } else {
        !          7024:                                j->luns[i].shelf = (d[1]&0x7F)/2;
        !          7025:                                j->luns[i].side = d[1]&1;
        !          7026:                        }
        !          7027:                }
        !          7028:        }
        !          7029:        return(0);
        !          7030: }
        !          7031: 
        !          7032: extern j_shstatus(Jukebox *j, char *err)
        !          7033: {
        !          7034:        struct scsi_return ret;
        !          7035:        int i;
        !          7036:        unsigned char *d;
        !          7037: 
        !          7038:        if(sony_istatus(&ret, err))
        !          7039:                return(-1);
        !          7040:        d = &ret.data[48];
        !          7041:        for(i = 0; i < j->nshelves; i++)
        !          7042:                j->shelves[i] = (d[i]&0x80) && (d[i]&0x40);
        !          7043:        return(0);
        !          7044: }
        !          7045: 
        !          7046: j_eject(int dr, char *err)
        !          7047: {
        !          7048:        struct scsi_cmd cmd;
        !          7049:        struct scsi_return ret;
        !          7050: 
        !          7051:        set6(cmd, 0xC0, dr<<5, 0, 0, 0, 0);
        !          7052:        return(s_io(0, &cmd, 0, &ret, 0, err));
        !          7053: }
        !          7054: 
        !          7055: j_sh_to_dr(int sh, int side, int dr, char *err)
        !          7056: {
        !          7057:        struct scsi_cmd cmd;
        !          7058:        struct scsi_return ret;
        !          7059: 
        !          7060:        set6(cmd, 0xD6, dr<<5, 0, (sh<<1)|side, 0, 0);
        !          7061:        return(s_io(0, &cmd, 0, &ret, 0, err));
        !          7062: }
        !          7063: 
        !          7064: j_dr_to_sh(int dr, int sh, int side, char *err)
        !          7065: {
        !          7066:        struct scsi_cmd cmd;
        !          7067:        struct scsi_return ret;
        !          7068: 
        !          7069:        if(sh < 0)
        !          7070:                set6(cmd, 0xD7, dr<<5, 0, 0, 0, 0);
        !          7071:        else
        !          7072:                set6(cmd, 0xD7, (dr<<5)|1, 0, (sh<<1)|side, 0, 0);
        !          7073:        return(s_io(0, &cmd, 0, &ret, 0, err));
        !          7074: }
        !          7075: 
        !          7076: j_start(int dr, char *err)
        !          7077: {
        !          7078:        struct scsi_cmd cmd;
        !          7079:        struct scsi_return ret;
        !          7080: 
        !          7081:        set6(cmd, 0x1B, dr<<5, 0, 0, 1, 0);
        !          7082:        if(s_io(0, &cmd, 0, &ret, 0, err))
        !          7083:                return(-1);
        !          7084:        return(0);
        !          7085: }
        !          7086: 
        !          7087: j_stop(int dr, char *err)
        !          7088: {
        !          7089:        struct scsi_cmd cmd;
        !          7090:        struct scsi_return ret;
        !          7091: 
        !          7092:        set6(cmd, 0x1B, dr<<5, 0, 0, 0, 0);
        !          7093:        if(s_io(0, &cmd, 0, &ret, 0, err))
        !          7094:                return(-1);
        !          7095:        return(0);
        !          7096: }
        !          7097: extern j_read(int, unsigned long, char *, int, char *);
        !          7098: extern j_write(int, unsigned long, char *, int, char *);
        !          7099: extern j_capacity(int, unsigned long *, unsigned long *);
        !          7100: 
        !          7101: j_load_unloaded(int dr, char *err)
        !          7102: {
        !          7103:        /* this is wrong;
        !          7104:                we should do a status every time to see ifthere are any temps
        !          7105:        */
        !          7106:        if(j_sh_to_dr(127, SIDEA, dr, err))
        !          7107:                return(0);
        !          7108:        else
        !          7109:                return(1);
        !          7110: }
        !          7111: 
        !          7112: void
        !          7113: j_reset(void)
        !          7114: {
        !          7115:        struct scsi_cmd cmd;
        !          7116:        struct scsi_return ret;
        !          7117:        char err[1024];
        !          7118: 
        !          7119:        set6(cmd, 0, 0, 0, 0, 0, 0);
        !          7120:        cmd.bus_id = s_id;
        !          7121:        cmd.flags |= SCSI_RESET | SCSI_BRESET;
        !          7122:        /* should probably test for some kind of error... */
        !          7123:        ss_io(0, &cmd, 0, &ret, 0, err);
        !          7124: }
        !          7125: 0707070035050340340407750011710000040000030657700503441470500000400000000000tcl0707070035050146021006640011710000040000010657720466276612700001500000001460tcl/Makefile#
        !          7126: # This Makefile is for use when distributing Tcl to the outside world.
        !          7127: # It is simplified so that it doesn't include any Sprite-specific stuff.
        !          7128: # For HP-UX systems, use the second, commented-out, form of LIBS below.
        !          7129: #
        !          7130: 
        !          7131: LIBS =
        !          7132: #LIBS = -lBSD
        !          7133: 
        !          7134: CFLAGS = -g -I. -DTCL_VERSION=\"3.3\" -I/usr/include/bsd
        !          7135: 
        !          7136: OBJS = tclAssem.o tclBasic.o tclCmdAH.o tclCmdIZ.o tclExpr.o \
        !          7137:        tclGlob.o tclHistory.o tclProc.o tclUtil.o
        !          7138: 
        !          7139: LIBOBJS = panic.o strerror.o strtol.o strtoul.o strspn.o \
        !          7140:        strpbrk.o strchr.o strstr.o
        !          7141: 
        !          7142: CSRCS = tclAssem.c tclBasic.c tclCmdAH.c tclCmdIZ.c tclExpr.c \
        !          7143:        tclGlob.c tclHistory.c tclProc.c tclUtil.c
        !          7144: 
        !          7145: tcl.a: ${OBJS} ${LIBOBJS}
        !          7146:        rm -f tcl.a
        !          7147:        ar cr tcl.a ${OBJS} ${LIBOBJS}
        !          7148:        #ranlib tcl.a
        !          7149: 
        !          7150: tclTest: tclTest.o tcl.a
        !          7151:        cc tclTest.o tcl.a ${LIBS} -o tclTest
        !          7152: 
        !          7153: clean:
        !          7154:        rm -f ${OBJS} ${LIBOBJS} tcl.a tclTest.o tclTest
        !          7155: 0707070035050145701006660011710000040000010657730466300604100001700000013355tcl/tclAssem.c/* 
        !          7156:  * tclAssem.c --
        !          7157:  *
        !          7158:  *     This file contains procedures to help assemble Tcl commands
        !          7159:  *     from an input source  where commands may arrive in pieces, e.g.
        !          7160:  *     several lines of type-in corresponding to one command.
        !          7161:  *
        !          7162:  * Copyright 1990 Regents of the University of California
        !          7163:  * Permission to use, copy, modify, and distribute this
        !          7164:  * software and its documentation for any purpose and without
        !          7165:  * fee is hereby granted, provided that the above copyright
        !          7166:  * notice appear in all copies.  The University of California
        !          7167:  * makes no representations about the suitability of this
        !          7168:  * software for any purpose.  It is provided "as is" without
        !          7169:  * express or implied warranty.
        !          7170:  */
        !          7171: 
        !          7172: #ifndef lint
        !          7173: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclAssem.c,v 1.4 90/03/23 16:26:20 ouster Exp $ SPRITE (Berkeley)";
        !          7174: #pragma ref rcsid
        !          7175: #endif not lint
        !          7176: 
        !          7177: #define        _POSIX_SOURCE
        !          7178: 
        !          7179: #include "tclInt.h"
        !          7180: #include <ctype.h>
        !          7181: #include <stdio.h>
        !          7182: #include <stdlib.h>
        !          7183: #include <string.h>
        !          7184: 
        !          7185: /*
        !          7186:  * The structure below is the internal representation for a command
        !          7187:  * buffer, which is used to hold a piece of a command until a full
        !          7188:  * command is available.  When a full command is available, it will
        !          7189:  * be returned to the user, but it will also be retained in the buffer
        !          7190:  * until the NEXT call to Tcl_AssembleCmd, at which point it will be
        !          7191:  * removed.
        !          7192:  */
        !          7193: 
        !          7194: typedef struct {
        !          7195:     char *buffer;              /* Storage for command being assembled.
        !          7196:                                 * Malloc-ed, and grows as needed. */
        !          7197:     int bufSize;               /* Total number of bytes in buffer. */
        !          7198:     int bytesUsed;             /* Number of bytes in buffer currently
        !          7199:                                 * occupied (0 means there is not a
        !          7200:                                 * buffered incomplete command). */
        !          7201: } CmdBuf;
        !          7202: 
        !          7203: /*
        !          7204:  * Default amount of space to allocate in command buffer:
        !          7205:  */
        !          7206: 
        !          7207: #define CMD_BUF_SIZE 100
        !          7208: 
        !          7209: /*
        !          7210:  *----------------------------------------------------------------------
        !          7211:  *
        !          7212:  * Tcl_CreateCmdBuf --
        !          7213:  *
        !          7214:  *     Allocate and initialize a command buffer.
        !          7215:  *
        !          7216:  * Results:
        !          7217:  *     The return value is a token that may be passed to
        !          7218:  *     Tcl_AssembleCmd and Tcl_DeleteCmdBuf.
        !          7219:  *
        !          7220:  * Side effects:
        !          7221:  *     Memory is allocated.
        !          7222:  *
        !          7223:  *----------------------------------------------------------------------
        !          7224:  */
        !          7225: 
        !          7226: Tcl_CmdBuf
        !          7227: Tcl_CreateCmdBuf()
        !          7228: {
        !          7229:     register CmdBuf *cbPtr;
        !          7230: 
        !          7231:     cbPtr = (CmdBuf *) malloc(sizeof(CmdBuf));
        !          7232:     cbPtr->buffer = malloc(CMD_BUF_SIZE);
        !          7233:     cbPtr->bufSize = CMD_BUF_SIZE;
        !          7234:     cbPtr->bytesUsed = 0;
        !          7235:     return (Tcl_CmdBuf) cbPtr;
        !          7236: }
        !          7237: 
        !          7238: /*
        !          7239:  *----------------------------------------------------------------------
        !          7240:  *
        !          7241:  * Tcl_DeleteCmdBuf --
        !          7242:  *
        !          7243:  *     Release all of the resources associated with a command buffer.
        !          7244:  *     The caller should never again use buffer again.
        !          7245:  *
        !          7246:  * Results:
        !          7247:  *     None.
        !          7248:  *
        !          7249:  * Side effects:
        !          7250:  *     Memory is released.
        !          7251:  *
        !          7252:  *----------------------------------------------------------------------
        !          7253:  */
        !          7254: 
        !          7255: void
        !          7256: Tcl_DeleteCmdBuf(buffer)
        !          7257:     Tcl_CmdBuf buffer;         /* Token for command buffer (return value
        !          7258:                                 * from previous call to Tcl_CreateCmdBuf). */
        !          7259: {
        !          7260:     register CmdBuf *cbPtr = (CmdBuf *) buffer;
        !          7261: 
        !          7262:     free(cbPtr->buffer);
        !          7263:     free((char *) cbPtr);
        !          7264: }
        !          7265: 
        !          7266: /*
        !          7267:  *----------------------------------------------------------------------
        !          7268:  *
        !          7269:  * Tcl_AssembleCmd --
        !          7270:  *
        !          7271:  *     This is a utility procedure to assist in situations where
        !          7272:  *     commands may be read piece-meal from some input source.  Given
        !          7273:  *     some input text, it adds the text to an input buffer and returns
        !          7274:  *     whole commands when they are ready.
        !          7275:  *
        !          7276:  * Results:
        !          7277:  *     If the addition of string to any currently-buffered information
        !          7278:  *     results in one or more complete Tcl commands, then the return value
        !          7279:  *     is a pointer to the complete command(s).  The command value will
        !          7280:  *     only be valid until the next call to this procedure with the
        !          7281:  *     same buffer.  If the addition of string leaves an incomplete
        !          7282:  *     command at the end of the buffer, then NULL is returned.
        !          7283:  *
        !          7284:  * Side effects:
        !          7285:  *     If string leaves a command incomplete, the partial command
        !          7286:  *     information is buffered for use in later calls to this procedure.
        !          7287:  *     Once a command has been returned, that command is deleted from
        !          7288:  *     the buffer on the next call to this procedure.
        !          7289:  *
        !          7290:  *----------------------------------------------------------------------
        !          7291:  */
        !          7292: 
        !          7293: char *
        !          7294: Tcl_AssembleCmd(buffer, string)
        !          7295:     Tcl_CmdBuf buffer;         /* Token for a command buffer previously
        !          7296:                                 * created by Tcl_CreateCmdBuf.  */
        !          7297:     char *string;              /* Bytes to be appended to command stream.
        !          7298:                                 * Note:  if the string is zero length,
        !          7299:                                 * then whatever is buffered will be
        !          7300:                                 * considered to be a complete command
        !          7301:                                 * regardless of whether parentheses are
        !          7302:                                 * matched or not. */
        !          7303: {
        !          7304:     register CmdBuf *cbPtr = (CmdBuf *) buffer;
        !          7305:     int length, totalLength;
        !          7306:     register char *p;
        !          7307: 
        !          7308:     /*
        !          7309:      * If an empty string is passed in, just pretend the current
        !          7310:      * command is complete, whether it really is or not.
        !          7311:      */
        !          7312: 
        !          7313:     length = strlen(string);
        !          7314:     if (length == 0) {
        !          7315:        cbPtr->bytesUsed = 0;
        !          7316:        return cbPtr->buffer;
        !          7317:     }
        !          7318: 
        !          7319:     /*
        !          7320:      * Add the new information to the buffer.  If the current buffer
        !          7321:      * isn't large enough, grow it by at least a factor of two, or
        !          7322:      * enough to hold the new text.
        !          7323:      */
        !          7324: 
        !          7325:     length = strlen(string);
        !          7326:     totalLength = cbPtr->bytesUsed + length + 1;
        !          7327:     if (totalLength > cbPtr->bufSize) {
        !          7328:        unsigned int newSize;
        !          7329:        char *newBuf;
        !          7330: 
        !          7331:        newSize = cbPtr->bufSize*2;
        !          7332:        if (newSize < totalLength) {
        !          7333:            newSize = totalLength;
        !          7334:        }
        !          7335:        newBuf = malloc(newSize);
        !          7336:        strcpy(newBuf, cbPtr->buffer);
        !          7337:        free(cbPtr->buffer);
        !          7338:        cbPtr->buffer = newBuf;
        !          7339:        cbPtr->bufSize = newSize;
        !          7340:     }
        !          7341:     strcpy(cbPtr->buffer+cbPtr->bytesUsed, string);
        !          7342:     cbPtr->bytesUsed += length;
        !          7343: 
        !          7344:     /*
        !          7345:      * See if there is now a complete command in the buffer.
        !          7346:      */
        !          7347: 
        !          7348:     p = cbPtr->buffer;
        !          7349:     while (1) {
        !          7350:        int gotNewLine = 0;
        !          7351: 
        !          7352:        while (isspace(*p)) {
        !          7353:            if (*p == '\n') {
        !          7354:                gotNewLine = 1;
        !          7355:            }
        !          7356:            p++;
        !          7357:        }
        !          7358:        if (*p == 0) {
        !          7359:            if (gotNewLine) {
        !          7360:                cbPtr->bytesUsed = 0;
        !          7361:                return cbPtr->buffer;
        !          7362:            }
        !          7363:            return NULL;
        !          7364:        }
        !          7365:        p = TclWordEnd(p, 0);
        !          7366:     }
        !          7367: }
        !          7368: 0707070035050141011006660011710000040000010626260467152712300001700000102201tcl/tclBasic.c/* 
        !          7369:  * tclBasic.c --
        !          7370:  *
        !          7371:  *     Contains the basic facilities for TCL command interpretation,
        !          7372:  *     including interpreter creation and deletion, command creation
        !          7373:  *     and deletion, and command parsing and execution.
        !          7374:  *
        !          7375:  * Copyright 1987, 1990 Regents of the University of California
        !          7376:  * Permission to use, copy, modify, and distribute this
        !          7377:  * software and its documentation for any purpose and without
        !          7378:  * fee is hereby granted, provided that the above copyright
        !          7379:  * notice appear in all copies.  The University of California
        !          7380:  * makes no representations about the suitability of this
        !          7381:  * software for any purpose.  It is provided "as is" without
        !          7382:  * express or implied warranty.
        !          7383:  */
        !          7384: 
        !          7385: #ifndef lint
        !          7386: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclBasic.c,v 1.72 90/03/29 10:36:39 ouster Exp $ SPRITE (Berkeley)";
        !          7387: #pragma ref rcsid
        !          7388: #endif not lint
        !          7389: 
        !          7390: #define        _POSIX_SOURCE
        !          7391: 
        !          7392: #include <stdio.h>
        !          7393: #include <ctype.h>
        !          7394: #include <stdlib.h>
        !          7395: #include <string.h>
        !          7396: #include "tclInt.h"
        !          7397: 
        !          7398: /*
        !          7399:  * Built-in commands, and the procedures associated with them:
        !          7400:  */
        !          7401: 
        !          7402: static char *builtInCmds[] = {
        !          7403:     "break",
        !          7404:     "case",
        !          7405:     "catch",
        !          7406:     "concat",
        !          7407:     "continue",
        !          7408:     "error",
        !          7409:     "eval",
        !          7410:     "exec",
        !          7411:     "expr",
        !          7412:     "file",
        !          7413:     "for",
        !          7414:     "foreach",
        !          7415:     "format",
        !          7416:     "glob",
        !          7417:     "global",
        !          7418:     "if",
        !          7419:     "index",
        !          7420:     "info",
        !          7421:     "length",
        !          7422:     "list",
        !          7423:     "print",
        !          7424:     "proc",
        !          7425:     "range",
        !          7426:     "rename",
        !          7427:     "return",
        !          7428:     "scan",
        !          7429:     "set",
        !          7430:     "source",
        !          7431:     "string",
        !          7432:     "time",
        !          7433:     "uplevel",
        !          7434:     NULL
        !          7435: };
        !          7436: 
        !          7437: static int (*(builtInProcs[]))(ClientData , Tcl_Interp *, int , char **) = {
        !          7438:     Tcl_BreakCmd,
        !          7439:     Tcl_CaseCmd,
        !          7440:     Tcl_CatchCmd,
        !          7441:     Tcl_ConcatCmd,
        !          7442:     Tcl_ContinueCmd,
        !          7443:     Tcl_ErrorCmd,
        !          7444:     Tcl_EvalCmd,
        !          7445:     Tcl_ExecCmd,
        !          7446:     Tcl_ExprCmd,
        !          7447:     Tcl_FileCmd,
        !          7448:     Tcl_ForCmd,
        !          7449:     Tcl_ForeachCmd,
        !          7450:     Tcl_FormatCmd,
        !          7451:     Tcl_GlobCmd,
        !          7452:     Tcl_GlobalCmd,
        !          7453:     Tcl_IfCmd,
        !          7454:     Tcl_IndexCmd,
        !          7455:     Tcl_InfoCmd,
        !          7456:     Tcl_LengthCmd,
        !          7457:     Tcl_ListCmd,
        !          7458:     Tcl_PrintCmd,
        !          7459:     Tcl_ProcCmd,
        !          7460:     Tcl_RangeCmd,
        !          7461:     Tcl_RenameCmd,
        !          7462:     Tcl_ReturnCmd,
        !          7463:     Tcl_ScanCmd,
        !          7464:     Tcl_SetCmd,
        !          7465:     Tcl_SourceCmd,
        !          7466:     Tcl_StringCmd,
        !          7467:     Tcl_TimeCmd,
        !          7468:     Tcl_UplevelCmd,
        !          7469:     NULL
        !          7470: };
        !          7471: 
        !          7472: /*
        !          7473:  *----------------------------------------------------------------------
        !          7474:  *
        !          7475:  * Tcl_CreateInterp --
        !          7476:  *
        !          7477:  *     Create a new TCL command interpreter.
        !          7478:  *
        !          7479:  * Results:
        !          7480:  *     The return value is a token for the interpreter, which may be
        !          7481:  *     used in calls to procedures like Tcl_CreateCmd, Tcl_Eval, or
        !          7482:  *     Tcl_DeleteInterp.
        !          7483:  *
        !          7484:  * Side effects:
        !          7485:  *     The command interpreter is initialized with an empty variable
        !          7486:  *     table and the built-in commands.
        !          7487:  *
        !          7488:  *----------------------------------------------------------------------
        !          7489:  */
        !          7490: 
        !          7491: Tcl_Interp *
        !          7492: Tcl_CreateInterp()
        !          7493: {
        !          7494:     register Interp *iPtr;
        !          7495:     register char **namePtr;
        !          7496:     register int (**procPtr)();
        !          7497:     register Command *cmdPtr;
        !          7498: 
        !          7499:     iPtr = (Interp *) malloc(sizeof(Interp));
        !          7500:     iPtr->result = iPtr->resultSpace;
        !          7501:     iPtr->dynamic = 0;
        !          7502:     iPtr->errorLine = 0;
        !          7503:     iPtr->commandPtr = NULL;
        !          7504:     iPtr->globalPtr = NULL;
        !          7505:     iPtr->numLevels = 0;
        !          7506:     iPtr->framePtr = NULL;
        !          7507:     iPtr->varFramePtr = NULL;
        !          7508:     iPtr->numEvents = 0;
        !          7509:     iPtr->events = NULL;
        !          7510:     iPtr->curEvent = 0;
        !          7511:     iPtr->curEventNum = 0;
        !          7512:     iPtr->revPtr = NULL;
        !          7513:     iPtr->historyFirst = NULL;
        !          7514:     iPtr->evalFirst = iPtr->evalLast = NULL;
        !          7515:     iPtr->cmdCount = 0;
        !          7516:     iPtr->noEval = 0;
        !          7517:     iPtr->flags = 0;
        !          7518:     iPtr->tracePtr = NULL;
        !          7519:     iPtr->callbackPtr = NULL;
        !          7520:     iPtr->resultSpace[0] = 0;
        !          7521: 
        !          7522:     /*
        !          7523:      * Create the built-in commands.  Do it here, rather than calling
        !          7524:      * Tcl_CreateCommand, because it's faster (there's no need to
        !          7525:      * check for a pre-existing command by the same name).
        !          7526:      */
        !          7527: 
        !          7528:     for (namePtr = builtInCmds, procPtr = builtInProcs;
        !          7529:            *namePtr != NULL; namePtr++, procPtr++) {
        !          7530:        cmdPtr = (Command *) malloc(CMD_SIZE(strlen(*namePtr)));
        !          7531:        cmdPtr->proc = *procPtr;
        !          7532:        cmdPtr->clientData = (ClientData) NULL;
        !          7533:        cmdPtr->deleteProc = NULL;
        !          7534:        cmdPtr->nextPtr = iPtr->commandPtr;
        !          7535:        iPtr->commandPtr = cmdPtr;
        !          7536:        strcpy(cmdPtr->name, *namePtr);
        !          7537:     }
        !          7538: 
        !          7539:     return (Tcl_Interp *) iPtr;
        !          7540: }
        !          7541: 
        !          7542: /*
        !          7543:  *--------------------------------------------------------------
        !          7544:  *
        !          7545:  * Tcl_WatchInterp --
        !          7546:  *
        !          7547:  *     Arrange for a procedure to be called before a given
        !          7548:  *     interpreter is deleted.
        !          7549:  *
        !          7550:  * Results:
        !          7551:  *     None.
        !          7552:  *
        !          7553:  * Side effects:
        !          7554:  *     When Tcl_DeleteInterp is invoked to delete interp,
        !          7555:  *     proc will be invoked.  See the manual entry for
        !          7556:  *     details.
        !          7557:  *
        !          7558:  *--------------------------------------------------------------
        !          7559:  */
        !          7560: 
        !          7561: void
        !          7562: Tcl_WatchInterp(interp, proc, clientData)
        !          7563:     Tcl_Interp *interp;                /* Interpreter to watch. */
        !          7564:     void (*proc)();            /* Procedure to call when interpreter
        !          7565:                                 * is about to be deleted. */
        !          7566:     ClientData clientData;     /* One-word value to pass to proc. */
        !          7567: {
        !          7568:     register InterpCallback *icPtr;
        !          7569:     Interp *iPtr = (Interp *) interp;
        !          7570: 
        !          7571:     icPtr = (InterpCallback *) malloc(sizeof(InterpCallback));
        !          7572:     icPtr->proc = proc;
        !          7573:     icPtr->clientData = clientData;
        !          7574:     icPtr->nextPtr = iPtr->callbackPtr;
        !          7575:     iPtr->callbackPtr = icPtr;
        !          7576: }
        !          7577: 
        !          7578: /*
        !          7579:  *----------------------------------------------------------------------
        !          7580:  *
        !          7581:  * Tcl_DeleteInterp --
        !          7582:  *
        !          7583:  *     Delete an interpreter and free up all of the resources associated
        !          7584:  *     with it.
        !          7585:  *
        !          7586:  * Results:
        !          7587:  *     None.
        !          7588:  *
        !          7589:  * Side effects:
        !          7590:  *     The interpreter is destroyed.  The caller should never again
        !          7591:  *     use the interp token.
        !          7592:  *
        !          7593:  *----------------------------------------------------------------------
        !          7594:  */
        !          7595: 
        !          7596: void
        !          7597: Tcl_DeleteInterp(interp)
        !          7598:     Tcl_Interp *interp;                /* Token for command interpreter (returned
        !          7599:                                 * by a previous call to Tcl_CreateInterp). */
        !          7600: {
        !          7601:     Interp *iPtr = (Interp *) interp;
        !          7602:     register Command *cmdPtr;
        !          7603:     register Trace *tracePtr;
        !          7604:     register InterpCallback *icPtr;
        !          7605: 
        !          7606:     /*
        !          7607:      * If the interpreter is in use, delay the deletion until later.
        !          7608:      */
        !          7609: 
        !          7610:     iPtr->flags |= DELETED;
        !          7611:     if (iPtr->numLevels != 0) {
        !          7612:        return;
        !          7613:     }
        !          7614: 
        !          7615:     /*
        !          7616:      * Invoke callbacks, if there's anyone who wants to know about
        !          7617:      * the interpreter deletion.
        !          7618:      */
        !          7619: 
        !          7620:     for (icPtr = iPtr->callbackPtr; icPtr != NULL;
        !          7621:            icPtr = icPtr->nextPtr) {
        !          7622:        (*icPtr->proc)(icPtr->clientData, interp);
        !          7623:        free((char *) icPtr);
        !          7624:     }
        !          7625: 
        !          7626:     /*
        !          7627:      * Free up any remaining resources associated with the
        !          7628:      * interpreter.
        !          7629:      */
        !          7630: 
        !          7631:     for (cmdPtr = iPtr->commandPtr; cmdPtr != NULL;
        !          7632:            cmdPtr = cmdPtr->nextPtr) {
        !          7633:        if (cmdPtr->deleteProc != NULL) { 
        !          7634:            (*cmdPtr->deleteProc)(cmdPtr->clientData);
        !          7635:        }
        !          7636:        free((char *) cmdPtr);
        !          7637:     }
        !          7638:     iPtr->commandPtr = NULL;
        !          7639:     TclDeleteVars(iPtr);
        !          7640:     if (iPtr->events != NULL) {
        !          7641:        free((char *) iPtr->events);
        !          7642:     }
        !          7643:     while (iPtr->revPtr != NULL) {
        !          7644:        free((char *) iPtr->revPtr);
        !          7645:        iPtr->revPtr = iPtr->revPtr->nextPtr;
        !          7646:     }
        !          7647:     for (tracePtr = iPtr->tracePtr; tracePtr != NULL;
        !          7648:            tracePtr = tracePtr->nextPtr) {
        !          7649:        free((char *) tracePtr);
        !          7650:     }
        !          7651:     free((char *) iPtr);
        !          7652: }
        !          7653: 
        !          7654: /*
        !          7655:  *----------------------------------------------------------------------
        !          7656:  *
        !          7657:  * Tcl_CreateCommand --
        !          7658:  *
        !          7659:  *     Define a new command in a command table.
        !          7660:  *
        !          7661:  * Results:
        !          7662:  *     None.
        !          7663:  *
        !          7664:  * Side effects:
        !          7665:  *     If a command named cmdName already exists for interp, it is
        !          7666:  *     deleted.  In the future, when cmdName is seen as the name of
        !          7667:  *     a command by Tcl_Eval, proc will be called with the following
        !          7668:  *     syntax:
        !          7669:  *
        !          7670:  *     int
        !          7671:  *     proc(clientData, interp, argc, argv)
        !          7672:  *         ClientData clientData;
        !          7673:  *         Tcl_Interp *interp;
        !          7674:  *         int argc;
        !          7675:  *         char **argv;
        !          7676:  *     {
        !          7677:  *     }
        !          7678:  *
        !          7679:  *     The clientData and interp arguments are the same as the corresponding
        !          7680:  *     arguments passed to this procedure.  Argc and argv describe the
        !          7681:  *     arguments to the command, in the usual UNIX fashion.  Proc must
        !          7682:  *     return a code like TCL_OK or TCL_ERROR.  It can also set interp->result
        !          7683:  *     ("" is the default value if proc doesn't set it) and interp->dynamic (0
        !          7684:  *     is the default).  See tcl.h for more information on these variables.
        !          7685:  *
        !          7686:  *     When the command is deleted from the table, deleteProc will be called
        !          7687:  *     in the following way:
        !          7688:  *
        !          7689:  *     void
        !          7690:  *     deleteProc(clientData)
        !          7691:  *         ClientData clientData;
        !          7692:  *     {
        !          7693:  *     }
        !          7694:  *
        !          7695:  *     DeleteProc allows command implementors to perform their own cleanup
        !          7696:  *     when commands (or interpreters) are deleted.
        !          7697:  *
        !          7698:  *----------------------------------------------------------------------
        !          7699:  */
        !          7700: 
        !          7701: void
        !          7702: Tcl_CreateCommand(interp, cmdName, proc, clientData, deleteProc)
        !          7703:     Tcl_Interp *interp;                /* Token for command interpreter (returned
        !          7704:                                 * by a previous call to Tcl_CreateInterp). */
        !          7705:     char *cmdName;             /* Name of command. */
        !          7706:     int (*proc)();             /* Command procedure to associate with
        !          7707:                                 * cmdName. */
        !          7708:     ClientData clientData;     /* Arbitrary one-word value to pass to proc. */
        !          7709:     void (*deleteProc)();      /* If not NULL, gives a procedure to call when
        !          7710:                                 * this command is deleted. */
        !          7711: {
        !          7712:     Interp *iPtr = (Interp *) interp;
        !          7713:     register Command *cmdPtr;
        !          7714: 
        !          7715:     Tcl_DeleteCommand(interp, cmdName);
        !          7716:     cmdPtr = (Command *) malloc(CMD_SIZE(strlen(cmdName)));
        !          7717:     cmdPtr->proc = proc;
        !          7718:     cmdPtr->clientData = clientData;
        !          7719:     cmdPtr->deleteProc = deleteProc;
        !          7720:     cmdPtr->nextPtr = iPtr->commandPtr;
        !          7721:     iPtr->commandPtr = cmdPtr;
        !          7722:     strcpy(cmdPtr->name, cmdName);
        !          7723: }
        !          7724: 
        !          7725: /*
        !          7726:  *----------------------------------------------------------------------
        !          7727:  *
        !          7728:  * Tcl_DeleteCommand --
        !          7729:  *
        !          7730:  *     Remove the given command from the given interpreter.
        !          7731:  *
        !          7732:  * Results:
        !          7733:  *     None.
        !          7734:  *
        !          7735:  * Side effects:
        !          7736:  *     CmdName will no longer be recognized as a valid command for
        !          7737:  *     interp.
        !          7738:  *
        !          7739:  *----------------------------------------------------------------------
        !          7740:  */
        !          7741: 
        !          7742: void
        !          7743: Tcl_DeleteCommand(interp, cmdName)
        !          7744:     Tcl_Interp *interp;                /* Token for command interpreter (returned
        !          7745:                                 * by a previous call to Tcl_CreateInterp). */
        !          7746:     char *cmdName;             /* Name of command to remove. */
        !          7747: {
        !          7748:     Interp *iPtr = (Interp *) interp;
        !          7749:     Command *cmdPtr;
        !          7750: 
        !          7751:     cmdPtr = TclFindCmd(iPtr, cmdName, 0);
        !          7752:     if (cmdPtr != NULL) {
        !          7753:        if (cmdPtr->deleteProc != NULL) {
        !          7754:            (*cmdPtr->deleteProc)(cmdPtr->clientData);
        !          7755:        }
        !          7756:        iPtr->commandPtr = cmdPtr->nextPtr;
        !          7757:        free((char *) cmdPtr);
        !          7758:     }
        !          7759: }
        !          7760: 
        !          7761: /*
        !          7762:  *-----------------------------------------------------------------
        !          7763:  *
        !          7764:  * Tcl_Eval --
        !          7765:  *
        !          7766:  *     Parse and execute a command in the Tcl language.
        !          7767:  *
        !          7768:  * Results:
        !          7769:  *     The return value is one of the return codes defined in
        !          7770:  *     tcl.h (such as TCL_OK), and interp->result contains a string
        !          7771:  *     value to supplement the return code.  The value of interp->result
        !          7772:  *     will persist only until the next call to Tcl_Eval:  copy it
        !          7773:  *     or lose it!
        !          7774:  *
        !          7775:  * Side effects:
        !          7776:  *     Almost certainly;  depends on the command.
        !          7777:  *
        !          7778:  *-----------------------------------------------------------------
        !          7779:  */
        !          7780: 
        !          7781: int
        !          7782: Tcl_Eval(interp, cmd, flags, termPtr)
        !          7783:     Tcl_Interp *interp;                /* Token for command interpreter (returned
        !          7784:                                 * by a previous call to Tcl_CreateInterp). */
        !          7785:     char *cmd;                 /* Pointer to TCL command to interpret. */
        !          7786:     int flags;                 /* OR-ed combination of flags like
        !          7787:                                 * TCL_BRACKET_TERM and TCL_RECORD_BOUNDS. */
        !          7788:     char **termPtr;            /* If non-NULL, fill in the address it points
        !          7789:                                 * to with the address of the char. just after
        !          7790:                                 * the last one that was part of cmd.  See
        !          7791:                                 * the man page for details on this. */
        !          7792: {
        !          7793:     /*
        !          7794:      * While processing the command, make a local copy of
        !          7795:      * the command characters.  This is needed in order to
        !          7796:      * terminate each argument with a null character, replace
        !          7797:      * backslashed-characters, etc.  The copy starts out in
        !          7798:      * a static string (for speed) but gets expanded into
        !          7799:      * dynamically-allocated strings if necessary.  The constant
        !          7800:      * BUFFER indicates how much space there must be in the copy
        !          7801:      * in order to pass through the main loop below (e.g., must
        !          7802:      * have space to copy both a backslash and its following
        !          7803:      * characters).
        !          7804:      */
        !          7805: 
        !          7806: #   define NUM_CHARS 200
        !          7807: #   define BUFFER 5
        !          7808:     char copyStorage[NUM_CHARS];
        !          7809:     char *copy = copyStorage;  /* Pointer to current copy. */
        !          7810:     int copySize = NUM_CHARS;  /* Size of current copy. */
        !          7811:     register char *dst;                /* Points to next place to copy
        !          7812:                                 * a character. */
        !          7813:     char *limit;               /* When dst gets here, must make
        !          7814:                                 * the copy larger. */
        !          7815: 
        !          7816:     /*
        !          7817:      * This procedure generates an (argv, argc) array for the command,
        !          7818:      * It starts out with stack-allocated space but uses dynamically-
        !          7819:      * allocated storage to increase it if needed.
        !          7820:      */
        !          7821: 
        !          7822: #   define NUM_ARGS 10
        !          7823:     char *(argStorage[NUM_ARGS]);
        !          7824:     char **argv = argStorage;
        !          7825:     int argc;
        !          7826:     int argSize = NUM_ARGS;
        !          7827: 
        !          7828:     int openBraces = 0;                        /* Curent brace nesting level. */
        !          7829:     int openQuote = 0;                 /* Non-zero means quoted arg
        !          7830:                                         * in progress. */
        !          7831: 
        !          7832:     register char *src;                        /* Points to current character
        !          7833:                                         * in cmd. */
        !          7834:     char termChar;                     /* Return when this character is found
        !          7835:                                         * (either ']' or '\0').  Zero means
        !          7836:                                         * that newlines terminate commands. */
        !          7837:     char *argStart;                    /* Location in cmd of first                                                      * non-separator character in
        !          7838:                                         * current argument;  it's
        !          7839:                                         * used to eliminate multiple
        !          7840:                                         * separators between args and
        !          7841:                                         * extra separators after last
        !          7842:                                         * arg in command. */
        !          7843:     int result = TCL_OK;               /* Return value. */
        !          7844:     int i;
        !          7845:     register Interp *iPtr = (Interp *) interp;
        !          7846:     Command *cmdPtr;
        !          7847:     char *tmp;
        !          7848:     char *dummy;                       /* Make termPtr point here if it was
        !          7849:                                         * originally NULL. */
        !          7850:     char *syntaxMsg;
        !          7851:     char *syntaxPtr;                   /* Points to "relevant" character
        !          7852:                                         * for syntax violations. */
        !          7853:     char *cmdStart;                    /* Points to first non-blank char. in
        !          7854:                                         * command (used in calling trace
        !          7855:                                         * procedures). */
        !          7856:     register Trace *tracePtr;
        !          7857: 
        !          7858:     /*
        !          7859:      * Set up the result so that if there's no command at all in
        !          7860:      * the string then this procedure will return TCL_OK.
        !          7861:      */
        !          7862: 
        !          7863:     if (iPtr->dynamic) {
        !          7864:        free((char *) iPtr->result);
        !          7865:        iPtr->dynamic = 0;
        !          7866:     }
        !          7867:     iPtr->result = iPtr->resultSpace;
        !          7868:     iPtr->resultSpace[0] = 0;
        !          7869: 
        !          7870:     /*
        !          7871:      * Check depth of nested calls to Tcl_Eval:  if this gets too large,
        !          7872:      * it's probably because of an infinite loop somewhere (e.g. self-
        !          7873:      * recursive history invocation).
        !          7874:      */
        !          7875: 
        !          7876:     iPtr->numLevels++;
        !          7877:     if (iPtr->numLevels > MAX_NESTING_DEPTH) {
        !          7878:        iPtr->result =  "too many nested calls to Tcl_Eval (infinite loop?)";
        !          7879:        return TCL_ERROR;
        !          7880:     }
        !          7881: 
        !          7882:     src = cmd;
        !          7883:     result = TCL_OK;
        !          7884:     if (flags & TCL_BRACKET_TERM) {
        !          7885:        termChar = ']';
        !          7886:     } else {
        !          7887:        termChar = 0;
        !          7888:     }
        !          7889:     if (termPtr == NULL) {
        !          7890:        termPtr = &dummy;
        !          7891:     }
        !          7892: 
        !          7893:     /*
        !          7894:      * There can be many sub-commands (separated by semi-colons or
        !          7895:      * newlines) in one command string.  This outer loop iterates over
        !          7896:      * the inner commands.
        !          7897:      */
        !          7898: 
        !          7899:     for (*termPtr = src; *src != termChar; *termPtr = src) {
        !          7900: 
        !          7901:        /*
        !          7902:         * Skim off leading white space and semi-colons, and skip comments.
        !          7903:         */
        !          7904: 
        !          7905:        while (isspace(*src) || (*src == ';')) {
        !          7906:            src += 1;
        !          7907:        }
        !          7908:        if (*src == '#') {
        !          7909:            for (src++; *src != 0; src++) {
        !          7910:                if (*src == '\n') {
        !          7911:                    src++;
        !          7912:                    break;
        !          7913:                }
        !          7914:            }
        !          7915:            continue;
        !          7916:        }
        !          7917: 
        !          7918:        /*
        !          7919:         * Set up the first argument (the command name).  Note that
        !          7920:         * the arg pointer gets set up BEFORE the first real character
        !          7921:         * of the argument has been found.
        !          7922:         */
        !          7923:     
        !          7924:        dst = copy;
        !          7925:        argc = 0;
        !          7926:        limit = copy + copySize - BUFFER;
        !          7927:        argv[0] = dst;
        !          7928:        argStart = cmdStart = src;
        !          7929: 
        !          7930:        /*
        !          7931:         * Skim off the command name and arguments by looping over
        !          7932:         * characters and processing each one according to its type.
        !          7933:         */
        !          7934:     
        !          7935:        while (1) {
        !          7936:            switch (*src) {
        !          7937:     
        !          7938:                /*
        !          7939:                 * All braces are treated as normal characters
        !          7940:                 * unless the first character of the argument is an
        !          7941:                 * open brace.  In that case, braces nest and
        !          7942:                 * the argument terminates when all braces are matched.
        !          7943:                 * Internal braces are also copied like normal chars.
        !          7944:                 */
        !          7945:     
        !          7946:                case '{': {
        !          7947:                    if (!openBraces && !openQuote && (dst == argv[argc])) {
        !          7948:                        syntaxPtr = src;
        !          7949:                        openBraces = 1;
        !          7950:                        break;
        !          7951:                    }
        !          7952:                    *dst = '{'; dst++;
        !          7953:                    if (openBraces > 0) {
        !          7954:                        openBraces++;
        !          7955:                    }
        !          7956:                    break;
        !          7957:                }
        !          7958: 
        !          7959:                case '}': {
        !          7960:                    if (openBraces == 1) {
        !          7961:                        openBraces = 0;
        !          7962:                        if (!isspace(src[1]) && (src[1] != termChar) &&
        !          7963:                                (src[1] != 0) && (src[1] != ';')) {
        !          7964:                            syntaxPtr = src;
        !          7965:                            syntaxMsg = "extra characters after close-brace";
        !          7966:                            goto syntaxError;
        !          7967:                        }
        !          7968:                    } else {
        !          7969:                        *dst = '}'; dst++;
        !          7970:                        if (openBraces > 0) {
        !          7971:                            openBraces--;
        !          7972:                        }
        !          7973:                    }
        !          7974:                    break;
        !          7975:                }
        !          7976: 
        !          7977:                case '"': {
        !          7978:                    if (!openQuote) {
        !          7979:                        if (openBraces || (dst != argv[argc])) {
        !          7980:                            *dst = '"'; dst++;
        !          7981:                            break;
        !          7982:                        }
        !          7983:                        syntaxPtr = src;
        !          7984:                        openQuote = 1;
        !          7985:                    } else {
        !          7986:                        openQuote = 0;
        !          7987:                        if (!isspace(src[1]) && (src[1] != termChar) &&
        !          7988:                                (src[1] != 0) && (src[1] != ';')) {
        !          7989:                            syntaxPtr = src;
        !          7990:                            syntaxMsg = "extra characters after close-quote";
        !          7991:                            goto syntaxError;
        !          7992:                        }
        !          7993:                    }
        !          7994:                    break;
        !          7995:                }
        !          7996:     
        !          7997:                case '[': {
        !          7998:     
        !          7999:                    /*
        !          8000:                     * Open bracket: if not in middle of braces, then execute
        !          8001:                     * following command and substitute result into argument.
        !          8002:                     */
        !          8003: 
        !          8004:                    if (openBraces != 0) {
        !          8005:                        *dst = '['; dst++;
        !          8006:                    } else {
        !          8007:                        int length;
        !          8008:     
        !          8009:                        result = Tcl_Eval(interp, src+1,
        !          8010:                                TCL_BRACKET_TERM | (flags & TCL_RECORD_BOUNDS),
        !          8011:                                &tmp);
        !          8012:                        src = tmp;
        !          8013:                        if (result != TCL_OK) {
        !          8014:                            goto done;
        !          8015:                        }
        !          8016:     
        !          8017:                        /*
        !          8018:                         * Copy the return value into the current argument.
        !          8019:                         * May have to enlarge the argument storage.  When
        !          8020:                         * enlarging, get more than enough to reduce the
        !          8021:                         * likelihood of having to enlarge again.  This code
        !          8022:                         * is used for $-processing also.
        !          8023:                         */
        !          8024: 
        !          8025:                        copyResult:
        !          8026:                        length = strlen(iPtr->result);
        !          8027:                        if ((limit - dst) < length) {
        !          8028:                            char *newCopy;
        !          8029:                            int delta;
        !          8030: 
        !          8031:                            copySize = length + 10 + dst - copy;
        !          8032:                            newCopy = (char *) malloc((unsigned) copySize);
        !          8033:                            bcopy(copy, newCopy, (dst-copy));
        !          8034:                            delta = newCopy - copy;
        !          8035:                            dst += delta;
        !          8036:                            for (i = 0; i <= argc; i++) {
        !          8037:                                argv[i] += delta;
        !          8038:                            }
        !          8039:                            if (copy != copyStorage) {
        !          8040:                                free((char *) copy);
        !          8041:                            }
        !          8042:                            copy = newCopy;
        !          8043:                            limit = newCopy + copySize - BUFFER;
        !          8044:                        }
        !          8045:                        bcopy(iPtr->result, dst, length);
        !          8046:                        dst += length;
        !          8047:                    }
        !          8048:                    break;
        !          8049:                }
        !          8050: 
        !          8051:                case '$': {
        !          8052:                    if (openBraces != 0) {
        !          8053:                        *dst = '$'; dst++;
        !          8054:                    } else {
        !          8055:                        char *value;
        !          8056: 
        !          8057:                        /*
        !          8058:                         * Parse off a variable name and copy its value.
        !          8059:                         */
        !          8060:     
        !          8061:                        value = Tcl_ParseVar(interp, src, &tmp);
        !          8062:                        if (value == NULL) {
        !          8063:                            result = TCL_ERROR;
        !          8064:                            goto done;
        !          8065:                        }
        !          8066:                        if (iPtr->dynamic) {
        !          8067:                            free((char *) iPtr->result);
        !          8068:                            iPtr->dynamic = 0;
        !          8069:                        }
        !          8070:                        iPtr->result = value;
        !          8071:                        src = tmp-1;
        !          8072:                        goto copyResult;
        !          8073:                    }
        !          8074:                    break;
        !          8075:                }
        !          8076: 
        !          8077:                case ']': {
        !          8078:                    if ((openBraces == 0) && (termChar == ']')) {
        !          8079:                        goto cmdComplete;
        !          8080:                    }
        !          8081:                    *dst = ']'; dst++;
        !          8082:                    break;
        !          8083:                }
        !          8084: 
        !          8085:                case ';': {
        !          8086:                    if (!openBraces && !openQuote) {
        !          8087:                        goto cmdComplete;
        !          8088:                    }
        !          8089:                    *dst = *src; dst++;
        !          8090:                    break;
        !          8091:                }
        !          8092:     
        !          8093:                case '\n': {
        !          8094: 
        !          8095:                    /*
        !          8096:                     * A newline can be either a command terminator
        !          8097:                     * or a space character.  If it's a space character,
        !          8098:                     * just fall through to the space code below.
        !          8099:                     */
        !          8100:     
        !          8101:                    if (!openBraces && !openQuote && (termChar == 0)) {
        !          8102:                        goto cmdComplete;
        !          8103:                    }
        !          8104:                }
        !          8105: 
        !          8106:                case '\r':
        !          8107:                case ' ':
        !          8108:                case '\t': {
        !          8109:                    if (openBraces || openQuote) {
        !          8110:     
        !          8111:                        /*
        !          8112:                         * Quoted space.  Copy it into the argument.
        !          8113:                         */
        !          8114: 
        !          8115:                        *dst = *src; dst++;
        !          8116:                    } else {
        !          8117: 
        !          8118:                        /*
        !          8119:                         * Argument separator.  If there are many
        !          8120:                         * separators in a row (src == argStart) just
        !          8121:                         * ignore this separator.  Otherwise,
        !          8122:                         * Null-terminate the current argument and
        !          8123:                         * set up for the next one.
        !          8124:                         */
        !          8125: 
        !          8126:                        if (src == argStart) {
        !          8127:                            argStart = src+1;
        !          8128:                            break;
        !          8129:                        }
        !          8130:                        argStart = src+1;
        !          8131:                        *dst = 0;
        !          8132:                        dst++; argc++;
        !          8133: 
        !          8134:                        /*
        !          8135:                         * Make sure that the argument array is large enough
        !          8136:                         * for the next argument plus a final NULL argument
        !          8137:                         * pointer to terminate the list.
        !          8138:                         */
        !          8139: 
        !          8140:                        if (argc >= argSize-1) {
        !          8141:                            char **newArgs;
        !          8142:     
        !          8143:                            argSize *= 2;
        !          8144:                            newArgs = (char **)
        !          8145:                                    malloc((unsigned) argSize * sizeof(char *));
        !          8146:                            for (i = 0; i < argc; i++) {
        !          8147:                                newArgs[i] = argv[i];
        !          8148:                            }
        !          8149:                            if (argv != argStorage) {
        !          8150:                                free((char *) argv);
        !          8151:                            }
        !          8152:                            argv = newArgs;
        !          8153:                        }
        !          8154:                        argv[argc] = dst;
        !          8155:                        break;
        !          8156:                    }
        !          8157:                    break;
        !          8158:                }
        !          8159:     
        !          8160:                case '\\': {
        !          8161:                    int numRead;
        !          8162: 
        !          8163:                    /*
        !          8164:                     * First of all, make the special check for
        !          8165:                     * backslash followed by newline.  This can't
        !          8166:                     * be processed in the normal fashion of
        !          8167:                     * Tcl_Backslash because is maps to "nothing",
        !          8168:                     * rather than to a character.
        !          8169:                     */
        !          8170: 
        !          8171:                    if (src[1] == '\n') {
        !          8172:                        if (argStart  == src) {
        !          8173:                            argStart += 2;
        !          8174:                        }
        !          8175:                        src++;
        !          8176:                        break;
        !          8177:                    }
        !          8178: 
        !          8179:                    /*
        !          8180:                     * If we're in an argument in braces then the
        !          8181:                     * backslash doesn't get collapsed.  However,
        !          8182:                     * whether we're in braces or not the characters
        !          8183:                     * inside the backslash sequence must not receive
        !          8184:                     * any additional processing:  make src point to
        !          8185:                     * the last character of the sequence.
        !          8186:                     */
        !          8187: 
        !          8188:                    *dst = Tcl_Backslash(src, &numRead);
        !          8189:                    if (openBraces > 0) {
        !          8190:                        for ( ; numRead > 0; src++, dst++, numRead--) {
        !          8191:                            *dst = *src;
        !          8192:                        }
        !          8193:                        src--;
        !          8194:                    } else {
        !          8195:                        src += numRead-1;
        !          8196:                        dst++;
        !          8197:                    }
        !          8198:                    break;
        !          8199:                }
        !          8200:     
        !          8201:                case 0: {
        !          8202: 
        !          8203:                    /*
        !          8204:                     * End of string.  Make sure that braces/quotes
        !          8205:                     * were properly matched.  Also, it's only legal
        !          8206:                     * to terminate a command by a null character if
        !          8207:                     * termChar is zero.
        !          8208:                     */
        !          8209: 
        !          8210:                    if (openQuote != 0) {
        !          8211:                        syntaxMsg = "unmatched quote";
        !          8212:                        goto syntaxError;
        !          8213:                    }
        !          8214:                    if (openBraces != 0) {
        !          8215:                        syntaxMsg = "unmatched brace";
        !          8216:                        goto syntaxError;
        !          8217:                    }
        !          8218:                    if (termChar == ']') {
        !          8219:                        syntaxPtr = cmd;
        !          8220:                        syntaxMsg = "missing close-bracket";
        !          8221:                        goto syntaxError;
        !          8222:                    }
        !          8223:                    goto cmdComplete;
        !          8224:                }
        !          8225:     
        !          8226:                default: {
        !          8227:                    *dst = *src; dst++;
        !          8228:                    break;
        !          8229:                }
        !          8230:            }
        !          8231:            src += 1;
        !          8232:     
        !          8233:            /*
        !          8234:             * Make sure that we're not running out of space in the
        !          8235:             * string copy area.  If we are, allocate a larger area
        !          8236:             * and copy the string.  Be sure to update all of the
        !          8237:             * relevant pointers too.
        !          8238:             */
        !          8239:     
        !          8240:            if (dst >= limit) {
        !          8241:                char *newCopy;
        !          8242:                int delta;
        !          8243:     
        !          8244:                copySize *= 2;
        !          8245:                newCopy = (char *) malloc((unsigned) copySize);
        !          8246:                bcopy(copy, newCopy, (dst-copy));
        !          8247:                delta = newCopy - copy;
        !          8248:                dst += delta;
        !          8249:                for (i = 0; i <= argc; i++) {
        !          8250:                    argv[i] += delta;
        !          8251:                }
        !          8252:                if (copy != copyStorage) {
        !          8253:                    free((char *) copy);
        !          8254:                }
        !          8255:                copy = newCopy;
        !          8256:                limit = newCopy + copySize - BUFFER;
        !          8257:            }
        !          8258:     
        !          8259:        }
        !          8260:     
        !          8261:        /*
        !          8262:         * Terminate the last argument and add a final NULL argument.  If
        !          8263:         * the interpreter has been deleted then return;  if there's no
        !          8264:         * command, then go on to the next iteration.
        !          8265:         */
        !          8266: 
        !          8267:        cmdComplete:
        !          8268:        if (iPtr->flags & DELETED) {
        !          8269:            goto done;
        !          8270:        }
        !          8271:        if (src != argStart) {
        !          8272:            *dst = 0;
        !          8273:            argc++;
        !          8274:        }
        !          8275:        if ((argc == 0) || iPtr->noEval) {
        !          8276:            continue;
        !          8277:        }
        !          8278:        argv[argc] = NULL;
        !          8279: 
        !          8280:        cmdPtr = TclFindCmd(iPtr, argv[0], 1);
        !          8281:        if (cmdPtr == NULL) {
        !          8282:            Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          8283:            sprintf(iPtr->result,
        !          8284:                    "\"%.50s\" is an invalid command name %s",
        !          8285:                    argv[0], "or ambiguous abbreviation");
        !          8286:            result = TCL_ERROR;
        !          8287:            goto done;
        !          8288:        }
        !          8289: 
        !          8290:        /*
        !          8291:         * Replace argv[0] with the full name of the command (in case
        !          8292:         * argv[0] was an abbreviation).
        !          8293:         */
        !          8294: 
        !          8295:        argv[0] = cmdPtr->name;
        !          8296: 
        !          8297:        /*
        !          8298:         * Call trace procedures, if any.
        !          8299:         */
        !          8300: 
        !          8301:        for (tracePtr = iPtr->tracePtr; tracePtr != NULL;
        !          8302:                tracePtr = tracePtr->nextPtr) {
        !          8303:            char saved;
        !          8304: 
        !          8305:            if (tracePtr->level < iPtr->numLevels) {
        !          8306:                continue;
        !          8307:            }
        !          8308:            saved = *src;
        !          8309:            *src = 0;
        !          8310:            (*tracePtr->proc)(tracePtr->clientData, interp, iPtr->numLevels,
        !          8311:                    cmdStart, cmdPtr->proc, cmdPtr->clientData, argc, argv);
        !          8312:            *src = saved;
        !          8313:        }
        !          8314: 
        !          8315:        /*
        !          8316:         * Save information for the history module, if needed.
        !          8317:         */
        !          8318: 
        !          8319:        if (flags & TCL_RECORD_BOUNDS) {
        !          8320:            iPtr->evalFirst = cmdStart;
        !          8321:            iPtr->evalLast = src;
        !          8322:        } else {
        !          8323:            iPtr->evalFirst = NULL;
        !          8324:        }
        !          8325: 
        !          8326:        /*
        !          8327:         * At long last, invoke the command procedure.  Reset the
        !          8328:         * result to its default empty value first.
        !          8329:         */
        !          8330: 
        !          8331:        iPtr->cmdCount++;
        !          8332:        iPtr->flags &= ~ERR_IN_PROGRESS;
        !          8333:        if (iPtr->dynamic) {
        !          8334:            free((char *) iPtr->result);
        !          8335:            iPtr->dynamic = 0;
        !          8336:        }
        !          8337:        iPtr->result = iPtr->resultSpace;
        !          8338:        iPtr->resultSpace[0] = 0;
        !          8339:        result = (*cmdPtr->proc)(cmdPtr->clientData, interp, argc, argv);
        !          8340:        if (result != TCL_OK) {
        !          8341:            break;
        !          8342:        }
        !          8343:     }
        !          8344: 
        !          8345:     /*
        !          8346:      * Free up any extra resources that were allocated.
        !          8347:      */
        !          8348: 
        !          8349:     done:
        !          8350:     if (copy != copyStorage) {
        !          8351:        free((char *) copy);
        !          8352:     }
        !          8353:     if (argv != argStorage) {
        !          8354:        free((char *) argv);
        !          8355:     }
        !          8356:     iPtr->numLevels--;
        !          8357:     if (iPtr->numLevels == 0) {
        !          8358:        if (result == TCL_RETURN) {
        !          8359:            result = TCL_OK;
        !          8360:        }
        !          8361:        if ((result != TCL_OK) && (result != TCL_ERROR)) {
        !          8362:            Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          8363:            if (result == TCL_BREAK) {
        !          8364:                iPtr->result = "invoked \"break\" outside of a loop";
        !          8365:            } else if (result == TCL_CONTINUE) {
        !          8366:                iPtr->result = "invoked \"continue\" outside of a loop";
        !          8367:            } else {
        !          8368:                iPtr->result = iPtr->resultSpace;
        !          8369:                sprintf(iPtr->resultSpace, "command returned bad code: %d",
        !          8370:                        result);
        !          8371:            }
        !          8372:            result = TCL_ERROR;
        !          8373:        }
        !          8374:        if (iPtr->flags & DELETED) {
        !          8375:            Tcl_DeleteInterp(interp);
        !          8376:        }
        !          8377:     }
        !          8378: 
        !          8379:     /*
        !          8380:      * If an error occurred, record information about what was being
        !          8381:      * executed when the error occurred.
        !          8382:      */
        !          8383: 
        !          8384:     if ((result == TCL_ERROR) && !(iPtr->flags & ERR_ALREADY_LOGGED)) {
        !          8385:        int numChars;
        !          8386:        register char *p;
        !          8387:        char *ellipsis;
        !          8388: 
        !          8389:        /*
        !          8390:         * Compute the line number where the error occurred.
        !          8391:         */
        !          8392: 
        !          8393:        iPtr->errorLine = 1;
        !          8394:        for (p = cmd; p != cmdStart; p++) {
        !          8395:            if (*p == '\n') {
        !          8396:                iPtr->errorLine++;
        !          8397:            }
        !          8398:        }
        !          8399:        for ( ; isspace(*p) || (*p == ';'); p++) {
        !          8400:            if (*p == '\n') {
        !          8401:                iPtr->errorLine++;
        !          8402:            }
        !          8403:        }
        !          8404: 
        !          8405:        /*
        !          8406:         * Figure out how much of the command to print in the error
        !          8407:         * message (up to a certain number of characters, or up to
        !          8408:         * the first new-line).
        !          8409:         */
        !          8410: 
        !          8411:        ellipsis = "";
        !          8412:        p = strchr(cmdStart, '\n');
        !          8413:        if (p == NULL) {
        !          8414:            numChars = strlen(cmdStart);
        !          8415:        } else {
        !          8416:            numChars = p - cmdStart;
        !          8417:            if (p[1] != 0) {
        !          8418:                ellipsis = " ...";
        !          8419:            }
        !          8420:        }
        !          8421:        if (numChars > 40) {
        !          8422:            numChars = 40;
        !          8423:            ellipsis = " ...";
        !          8424:        }
        !          8425: 
        !          8426:        if (!(iPtr->flags & ERR_IN_PROGRESS)) {
        !          8427:            /*
        !          8428:             * This is the first piece of information being recorded
        !          8429:             * for this error.  Log the error message as well as the
        !          8430:             * command being executed.
        !          8431:             */
        !          8432: 
        !          8433:            if (strlen(iPtr->result) < 50) {
        !          8434:                sprintf(copyStorage,
        !          8435:                        "%s, while executing\n\"%.*s%s\"",
        !          8436:                        iPtr->result, numChars, cmdStart, ellipsis);
        !          8437:            } else {
        !          8438:                sprintf(copyStorage,
        !          8439:                        "%.50s..., while executing\n\"%.*s%s\"",
        !          8440:                        iPtr->result, numChars, cmdStart, ellipsis);
        !          8441:            }
        !          8442:        } else {
        !          8443:            sprintf(copyStorage, ", invoked from within\n\"%.*s%s\"",
        !          8444:                    numChars, cmdStart, ellipsis);
        !          8445:        }
        !          8446:        Tcl_AddErrorInfo(interp, copyStorage);
        !          8447:        iPtr->flags &= ~ERR_ALREADY_LOGGED;
        !          8448:     } else {
        !          8449:        iPtr->flags &= ~ERR_ALREADY_LOGGED;
        !          8450:     }
        !          8451:     return result;
        !          8452: 
        !          8453:     /*
        !          8454:      * Syntax error:  generate an error message.
        !          8455:      */
        !          8456: 
        !          8457:     syntaxError: {
        !          8458:        char *first, *last;
        !          8459: 
        !          8460:        Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          8461:        for (first = syntaxPtr; ((first != cmd) && (first[-1] != '\n'));
        !          8462:                first--) {
        !          8463:            /* Null loop body. */
        !          8464:        }
        !          8465:        for (last = syntaxPtr; ((*last != 0) && (*last!= '\n')); last++) {
        !          8466:            /* Null loop body. */
        !          8467:        }
        !          8468:        if ((syntaxPtr - first) > 60) {
        !          8469:            first = syntaxPtr - 60;
        !          8470:        }
        !          8471:        if ((last - first) > 70) {
        !          8472:            last = first + 70;
        !          8473:        }
        !          8474:        if (last == first) {
        !          8475:            sprintf(iPtr->result, "%s", syntaxMsg);
        !          8476:        } else {
        !          8477:            sprintf(iPtr->result, "%s: '%.*s => %.*s'", syntaxMsg,
        !          8478:                    syntaxPtr-first, first, last-syntaxPtr, syntaxPtr);
        !          8479:        }
        !          8480:        result = TCL_ERROR;
        !          8481:     }
        !          8482: 
        !          8483:     goto done;
        !          8484: }
        !          8485: 
        !          8486: /*
        !          8487:  *----------------------------------------------------------------------
        !          8488:  *
        !          8489:  * Tcl_CreateTrace --
        !          8490:  *
        !          8491:  *     Arrange for a procedure to be called to trace command execution.
        !          8492:  *
        !          8493:  * Results:
        !          8494:  *     The return value is a token for the trace, which may be passed
        !          8495:  *     to Tcl_DeleteTrace to eliminate the trace.
        !          8496:  *
        !          8497:  * Side effects:
        !          8498:  *     From now on, proc will be called just before a command procedure
        !          8499:  *     is called to execute a Tcl command.  Calls to proc will have the
        !          8500:  *     following form:
        !          8501:  *
        !          8502:  *     void
        !          8503:  *     proc(clientData, interp, level, command, cmdProc, cmdClientData,
        !          8504:  *             argc, argv)
        !          8505:  *         ClientData clientData;
        !          8506:  *         Tcl_Interp *interp;
        !          8507:  *         int level;
        !          8508:  *         char *command;
        !          8509:  *         int (*cmdProc)();
        !          8510:  *         ClientData cmdClientData;
        !          8511:  *         int argc;
        !          8512:  *         char **argv;
        !          8513:  *     {
        !          8514:  *     }
        !          8515:  *
        !          8516:  *     The clientData and interp arguments to proc will be the same
        !          8517:  *     as the corresponding arguments to this procedure.  Level gives
        !          8518:  *     the nesting level of command interpretation for this interpreter
        !          8519:  *     (0 corresponds to top level).  Command gives the ASCII text of
        !          8520:  *     the raw command, cmdProc and cmdClientData give the procedure that
        !          8521:  *     will be called to process the command and the ClientData value it
        !          8522:  *     will receive, and argc and argv give the arguments to the
        !          8523:  *     command, after any argument parsing and substitution.  Proc
        !          8524:  *     does not return a value.
        !          8525:  *
        !          8526:  *----------------------------------------------------------------------
        !          8527:  */
        !          8528: 
        !          8529: Tcl_Trace
        !          8530: Tcl_CreateTrace(interp, level, proc, clientData)
        !          8531:     Tcl_Interp *interp;                /* Interpreter in which to create the trace. */
        !          8532:     int level;                 /* Only call proc for commands at nesting level
        !          8533:                                 * <= level (1 => top level). */
        !          8534:     void (*proc)();            /* Procedure to call before executing each
        !          8535:                                 * command. */
        !          8536:     ClientData clientData;     /* Arbitrary one-word value to pass to proc. */
        !          8537: {
        !          8538:     register Trace *tracePtr;
        !          8539:     register Interp *iPtr = (Interp *) interp;
        !          8540: 
        !          8541:     tracePtr = (Trace *) malloc(sizeof(Trace));
        !          8542:     tracePtr->level = level;
        !          8543:     tracePtr->proc = proc;
        !          8544:     tracePtr->clientData = clientData;
        !          8545:     tracePtr->nextPtr = iPtr->tracePtr;
        !          8546:     iPtr->tracePtr = tracePtr;
        !          8547: 
        !          8548:     return (Tcl_Trace) tracePtr;
        !          8549: }
        !          8550: 
        !          8551: /*
        !          8552:  *----------------------------------------------------------------------
        !          8553:  *
        !          8554:  * Tcl_DeleteTrace --
        !          8555:  *
        !          8556:  *     Remove a trace.
        !          8557:  *
        !          8558:  * Results:
        !          8559:  *     None.
        !          8560:  *
        !          8561:  * Side effects:
        !          8562:  *     From now on there will be no more calls to the procedure given
        !          8563:  *     in trace.
        !          8564:  *
        !          8565:  *----------------------------------------------------------------------
        !          8566:  */
        !          8567: 
        !          8568: void
        !          8569: Tcl_DeleteTrace(interp, trace)
        !          8570:     Tcl_Interp *interp;                /* Interpreter that contains trace. */
        !          8571:     Tcl_Trace trace;           /* Token for trace (returned previously by
        !          8572:                                 * Tcl_CreateTrace). */
        !          8573: {
        !          8574:     register Interp *iPtr = (Interp *) interp;
        !          8575:     register Trace *tracePtr = (Trace *) trace;
        !          8576:     register Trace *tracePtr2;
        !          8577: 
        !          8578:     if (iPtr->tracePtr == tracePtr) {
        !          8579:        iPtr->tracePtr = tracePtr->nextPtr;
        !          8580:        free((char *) tracePtr);
        !          8581:     } else {
        !          8582:        for (tracePtr2 = iPtr->tracePtr; tracePtr2 != NULL;
        !          8583:                tracePtr2 = tracePtr2->nextPtr) {
        !          8584:            if (tracePtr2->nextPtr == tracePtr) {
        !          8585:                tracePtr2->nextPtr = tracePtr->nextPtr;
        !          8586:                free((char *) tracePtr);
        !          8587:                return;
        !          8588:            }
        !          8589:        }
        !          8590:     }
        !          8591: }
        !          8592: 
        !          8593: /*
        !          8594:  *----------------------------------------------------------------------
        !          8595:  *
        !          8596:  * Tcl_AddErrorInfo --
        !          8597:  *
        !          8598:  *     Add information to a message being accumulated that describes
        !          8599:  *     the current error.
        !          8600:  *
        !          8601:  * Results:
        !          8602:  *     None.
        !          8603:  *
        !          8604:  * Side effects:
        !          8605:  *     The contents of message are added to the "errorInfo" variable.
        !          8606:  *     If Tcl_Eval has been called since the current value of errorInfo
        !          8607:  *     was set, errorInfo is cleared before adding the new message.
        !          8608:  *
        !          8609:  *----------------------------------------------------------------------
        !          8610:  */
        !          8611: 
        !          8612: void
        !          8613: Tcl_AddErrorInfo(interp, message)
        !          8614:     Tcl_Interp *interp;                /* Interpreter to which error information
        !          8615:                                 * pertains. */
        !          8616:     char *message;             /* Message to record. */
        !          8617: {
        !          8618:     register Interp *iPtr = (Interp *) interp;
        !          8619: 
        !          8620:     if (iPtr->flags & ERR_IN_PROGRESS) {
        !          8621:        int length;
        !          8622:        char *buffer, *oldVar;
        !          8623: 
        !          8624:        oldVar = Tcl_GetVar(interp, "errorInfo", 1);
        !          8625:        if (oldVar == NULL) {
        !          8626:            oldVar = "";
        !          8627:        }
        !          8628:        length = strlen(oldVar);
        !          8629:        buffer = malloc((unsigned) (length + strlen(message) + 1));
        !          8630:        strcpy(buffer, oldVar);
        !          8631:        strcpy(buffer+length, message);
        !          8632:        Tcl_SetVar(interp, "errorInfo", buffer, 1);
        !          8633:     } else {
        !          8634:        iPtr->flags |= ERR_IN_PROGRESS;
        !          8635:        Tcl_SetVar(interp, "errorInfo", message, 1);
        !          8636:     }
        !          8637: }
        !          8638: 
        !          8639: /*
        !          8640:  *----------------------------------------------------------------------
        !          8641:  *
        !          8642:  * TclFindCmd --
        !          8643:  *
        !          8644:  *     Find a particular command in an interpreter.
        !          8645:  *
        !          8646:  * Results:
        !          8647:  *     If the command doesn't exist in the table, or if it is an
        !          8648:  *     ambiguous abbreviation, then NULL is returned.  Otherwise
        !          8649:  *     the return value is a pointer to the command.  Unique
        !          8650:  *     abbreviations are allowed if abbrevOK is non-zero, but
        !          8651:  *     abbreviations take longer to look up (must scan the whole
        !          8652:  *     table twice).
        !          8653:  *
        !          8654:  * Side effects:
        !          8655:  *     If the command is found and is an exact match, it is relinked
        !          8656:  *     at the front of iPtr's command list so it will be found more
        !          8657:  *     quickly in the future.
        !          8658:  *
        !          8659:  *----------------------------------------------------------------------
        !          8660:  */
        !          8661: 
        !          8662: Command *
        !          8663: TclFindCmd(iPtr, cmdName, abbrevOK)
        !          8664:     Interp *iPtr;              /* Interpreter in which to search. */
        !          8665:     char *cmdName;             /* Desired command. */
        !          8666:     int abbrevOK;              /* Non-zero means permit abbreviations, if
        !          8667:                                 * not disallowed by "noAbbrevs" variable.
        !          8668:                                 * Zero means exact matches only. */
        !          8669: {
        !          8670:     register Command *prev;
        !          8671:     register Command *cur;
        !          8672:     register char c;
        !          8673:     Command *match;
        !          8674:     int length;
        !          8675:     char *varValue;
        !          8676: 
        !          8677:     /*
        !          8678:      * First check for an exact match.
        !          8679:      */
        !          8680: 
        !          8681:     c = *cmdName;
        !          8682:     for (prev = NULL, cur = iPtr->commandPtr; cur != NULL;
        !          8683:            prev = cur, cur = cur->nextPtr) {
        !          8684: 
        !          8685:        /*
        !          8686:         * Check the first character here before wasting time calling
        !          8687:         * strcmp.
        !          8688:         */
        !          8689: 
        !          8690:        if ((cur->name[0] == c) && (strcmp(cur->name, cmdName) == 0)) {
        !          8691:            if (prev != NULL) {
        !          8692:                prev->nextPtr = cur->nextPtr;
        !          8693:                cur->nextPtr = iPtr->commandPtr;
        !          8694:                iPtr->commandPtr = cur;
        !          8695:            }
        !          8696:            return cur;
        !          8697:        }
        !          8698:     }
        !          8699:     if (!abbrevOK) {
        !          8700:        return NULL;
        !          8701:     }
        !          8702:     varValue = Tcl_GetVar((Tcl_Interp *) iPtr, "noAbbrev", 1);
        !          8703:     if ((varValue != NULL) && (*varValue == '1')) {
        !          8704:        return NULL;
        !          8705:     }
        !          8706: 
        !          8707:     /*
        !          8708:      * No exact match.  Make a second pass to check for a unique
        !          8709:      * abbreviation.  Don't bother to pull the matching entry to
        !          8710:      * the front of the list, since we have to search the whole list
        !          8711:      * for abbreviations anyway.
        !          8712:      */
        !          8713: 
        !          8714:     length = strlen(cmdName);
        !          8715:     match = NULL;
        !          8716:     for (prev = NULL, cur = iPtr->commandPtr; cur != NULL;
        !          8717:            prev = cur, cur = cur->nextPtr) {
        !          8718:        if ((cur->name[0] == c) && (strncmp(cur->name, cmdName, length) == 0)) {
        !          8719:            if (match != NULL) {
        !          8720:                return NULL;
        !          8721:            }
        !          8722:            match = cur;
        !          8723:        }
        !          8724:     }
        !          8725:     return match;
        !          8726: }
        !          8727: 0707070035050510701006660011710000040000010710370466303005000001700000076663tcl/tclCmdAH.c/* 
        !          8728:  * tclCmdAH.c --
        !          8729:  *
        !          8730:  *     This file contains the top-level command routines for most of
        !          8731:  *     the Tcl built-in commands whose names begin with the letters
        !          8732:  *     A to H.
        !          8733:  *
        !          8734:  * Copyright 1987 Regents of the University of California
        !          8735:  * Permission to use, copy, modify, and distribute this
        !          8736:  * software and its documentation for any purpose and without
        !          8737:  * fee is hereby granted, provided that the above copyright
        !          8738:  * notice appear in all copies.  The University of California
        !          8739:  * makes no representations about the suitability of this
        !          8740:  * software for any purpose.  It is provided "as is" without
        !          8741:  * express or implied warranty.
        !          8742:  */
        !          8743: 
        !          8744: #ifndef lint
        !          8745: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclCmdAH.c,v 1.45 90/04/18 17:09:19 ouster Exp $ SPRITE (Berkeley)";
        !          8746: #pragma ref rcsid
        !          8747: #endif not lint
        !          8748: 
        !          8749: #define        _POSIX_SOURCE
        !          8750: 
        !          8751: #include <ctype.h>
        !          8752: #include <errno.h>
        !          8753: #include <signal.h>
        !          8754: #include <stdio.h>
        !          8755: #include <stdlib.h>
        !          8756: #include <unistd.h>
        !          8757: #include <string.h>
        !          8758: #include <sys/types.h>
        !          8759: #include <fcntl.h>
        !          8760: #include <sys/stat.h>
        !          8761: #include <sys/wait.h>
        !          8762: #include "tclInt.h"
        !          8763: 
        !          8764: extern long lseek();
        !          8765: extern char *mktemp();
        !          8766: 
        !          8767: /*
        !          8768:  *----------------------------------------------------------------------
        !          8769:  *
        !          8770:  * Tcl_BreakCmd --
        !          8771:  *
        !          8772:  *     This procedure is invoked to process the "break" Tcl command.
        !          8773:  *     See the user documentation for details on what it does.
        !          8774:  *
        !          8775:  * Results:
        !          8776:  *     A standard Tcl result.
        !          8777:  *
        !          8778:  * Side effects:
        !          8779:  *     See the user documentation.
        !          8780:  *
        !          8781:  *----------------------------------------------------------------------
        !          8782:  */
        !          8783: 
        !          8784:        /* ARGSUSED */
        !          8785: int
        !          8786: Tcl_BreakCmd(dummy, interp, argc, argv)
        !          8787:     ClientData dummy;                  /* Not used. */
        !          8788:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          8789:     int argc;                          /* Number of arguments. */
        !          8790:     char **argv;                       /* Argument strings. */
        !          8791: {
        !          8792: #pragma ref dummy
        !          8793:     if (argc != 1) {
        !          8794:        sprintf(interp->result, "too many args: should be \"%.50s\"", argv[0]);
        !          8795:        return TCL_ERROR;
        !          8796:     }
        !          8797:     return TCL_BREAK;
        !          8798: }
        !          8799: 
        !          8800: /*
        !          8801:  *----------------------------------------------------------------------
        !          8802:  *
        !          8803:  * Tcl_CaseCmd --
        !          8804:  *
        !          8805:  *     This procedure is invoked to process the "case" Tcl command.
        !          8806:  *     See the user documentation for details on what it does.
        !          8807:  *
        !          8808:  * Results:
        !          8809:  *     A standard Tcl result.
        !          8810:  *
        !          8811:  * Side effects:
        !          8812:  *     See the user documentation.
        !          8813:  *
        !          8814:  *----------------------------------------------------------------------
        !          8815:  */
        !          8816: 
        !          8817:        /* ARGSUSED */
        !          8818: int
        !          8819: Tcl_CaseCmd(dummy, interp, argc, argv)
        !          8820:     ClientData dummy;                  /* Not used. */
        !          8821:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          8822:     int argc;                          /* Number of arguments. */
        !          8823:     char **argv;                       /* Argument strings. */
        !          8824: {
        !          8825: #pragma ref dummy
        !          8826:     int i, result;
        !          8827:     int body;
        !          8828:     char *string;
        !          8829: 
        !          8830:     if (argc < 4) {
        !          8831:        sprintf(interp->result,
        !          8832:                "%s \"%.50s string [in] patList body ... [default body]\"",
        !          8833:                "not enough args:  should be", argv[0]);
        !          8834:        return TCL_ERROR;
        !          8835:     }
        !          8836:     string = argv[1];
        !          8837:     body = NULL;
        !          8838:     if (strcmp(argv[2], "in") == 0) {
        !          8839:        i = 3;
        !          8840:     } else {
        !          8841:        i = 2;
        !          8842:     }
        !          8843:     for (; i < argc; i += 2) {
        !          8844:        int patArgc, j;
        !          8845:        char **patArgv;
        !          8846:        register char *p;
        !          8847: 
        !          8848:        if (i == (argc-1)) {
        !          8849:            sprintf(interp->result, "extra pattern with no body in \"%.50s\"",
        !          8850:                    argv[0]);
        !          8851:            return TCL_ERROR;
        !          8852:        }
        !          8853: 
        !          8854:        /*
        !          8855:         * Check for special case of single pattern (no list) with
        !          8856:         * no backslash sequences.
        !          8857:         */
        !          8858: 
        !          8859:        for (p = argv[i]; *p != 0; p++) {
        !          8860:            if (isspace(*p) || (*p == '\\')) {
        !          8861:                break;
        !          8862:            }
        !          8863:        }
        !          8864:        if (*p == 0) {
        !          8865:            if ((*argv[i] == 'd') && (strcmp(argv[i], "default") == 0)) {
        !          8866:                body = i+1;
        !          8867:            }
        !          8868:            if (Tcl_StringMatch(string, argv[i])) {
        !          8869:                body = i+1;
        !          8870:                goto match;
        !          8871:            }
        !          8872:            continue;
        !          8873:        }
        !          8874: 
        !          8875:        /*
        !          8876:         * Break up pattern lists, then check each of the patterns
        !          8877:         * in the list.
        !          8878:         */
        !          8879: 
        !          8880:        result = Tcl_SplitList(interp, argv[i], &patArgc, &patArgv);
        !          8881:        if (result != TCL_OK) {
        !          8882:            return result;
        !          8883:        }
        !          8884:        for (j = 0; j < patArgc; j++) {
        !          8885:            if (Tcl_StringMatch(string, patArgv[j])) {
        !          8886:                body = i+1;
        !          8887:                break;
        !          8888:            }
        !          8889:        }
        !          8890:        free((char *) patArgv);
        !          8891:        if (j < patArgc) {
        !          8892:            break;
        !          8893:        }
        !          8894:     }
        !          8895: 
        !          8896:     match:
        !          8897:     if (body != NULL) {
        !          8898:        result = Tcl_Eval(interp, argv[body], 0, (char **) NULL);
        !          8899:        if (result == TCL_ERROR) {
        !          8900:            char msg[100];
        !          8901:            sprintf(msg, " (\"%.50s\" arm line %d)", argv[i],
        !          8902:                    interp->errorLine);
        !          8903:            Tcl_AddErrorInfo(interp, msg);
        !          8904:        }
        !          8905:        return result;
        !          8906:     }
        !          8907: 
        !          8908:     /*
        !          8909:      * Nothing matched:  return nothing.
        !          8910:      */
        !          8911:     return TCL_OK;
        !          8912: }
        !          8913: 
        !          8914: /*
        !          8915:  *----------------------------------------------------------------------
        !          8916:  *
        !          8917:  * Tcl_CatchCmd --
        !          8918:  *
        !          8919:  *     This procedure is invoked to process the "catch" Tcl command.
        !          8920:  *     See the user documentation for details on what it does.
        !          8921:  *
        !          8922:  * Results:
        !          8923:  *     A standard Tcl result.
        !          8924:  *
        !          8925:  * Side effects:
        !          8926:  *     See the user documentation.
        !          8927:  *
        !          8928:  *----------------------------------------------------------------------
        !          8929:  */
        !          8930: 
        !          8931:        /* ARGSUSED */
        !          8932: int
        !          8933: Tcl_CatchCmd(dummy, interp, argc, argv)
        !          8934:     ClientData dummy;                  /* Not used. */
        !          8935:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          8936:     int argc;                          /* Number of arguments. */
        !          8937:     char **argv;                       /* Argument strings. */
        !          8938: {
        !          8939: #pragma ref dummy
        !          8940:     int result;
        !          8941: 
        !          8942:     if ((argc != 2) && (argc != 3)) {
        !          8943:        sprintf(interp->result,
        !          8944:                "wrong # args: should be \"%.50s command [varName]\"",
        !          8945:                argv[0]);
        !          8946:        return TCL_ERROR;
        !          8947:     }
        !          8948:     result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
        !          8949:     if (argc == 3) {
        !          8950:        Tcl_SetVar(interp, argv[2], interp->result, 0);
        !          8951:     }
        !          8952:     Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          8953:     sprintf(interp->result, "%d", result);
        !          8954:     return TCL_OK;
        !          8955: }
        !          8956: 
        !          8957: /*
        !          8958:  *----------------------------------------------------------------------
        !          8959:  *
        !          8960:  * Tcl_ConcatCmd --
        !          8961:  *
        !          8962:  *     This procedure is invoked to process the "concat" Tcl command.
        !          8963:  *     See the user documentation for details on what it does.
        !          8964:  *
        !          8965:  * Results:
        !          8966:  *     A standard Tcl result.
        !          8967:  *
        !          8968:  * Side effects:
        !          8969:  *     See the user documentation.
        !          8970:  *
        !          8971:  *----------------------------------------------------------------------
        !          8972:  */
        !          8973: 
        !          8974:        /* ARGSUSED */
        !          8975: int
        !          8976: Tcl_ConcatCmd(dummy, interp, argc, argv)
        !          8977:     ClientData dummy;                  /* Not used. */
        !          8978:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          8979:     int argc;                          /* Number of arguments. */
        !          8980:     char **argv;                       /* Argument strings. */
        !          8981: {
        !          8982: #pragma ref dummy
        !          8983:     if (argc == 1) {
        !          8984:        sprintf(interp->result,
        !          8985:                "not enough args:  should be \"%.50s arg [arg ...]\"",
        !          8986:                argv[0]);
        !          8987:        return TCL_ERROR;
        !          8988:     }
        !          8989: 
        !          8990:     interp->result = Tcl_Concat(argc-1, argv+1);
        !          8991:     interp->dynamic = 1;
        !          8992:     return TCL_OK;
        !          8993: }
        !          8994: 
        !          8995: /*
        !          8996:  *----------------------------------------------------------------------
        !          8997:  *
        !          8998:  * Tcl_ContinueCmd --
        !          8999:  *
        !          9000:  *     This procedure is invoked to process the "continue" Tcl command.
        !          9001:  *     See the user documentation for details on what it does.
        !          9002:  *
        !          9003:  * Results:
        !          9004:  *     A standard Tcl result.
        !          9005:  *
        !          9006:  * Side effects:
        !          9007:  *     See the user documentation.
        !          9008:  *
        !          9009:  *----------------------------------------------------------------------
        !          9010:  */
        !          9011: 
        !          9012:        /* ARGSUSED */
        !          9013: int
        !          9014: Tcl_ContinueCmd(dummy, interp, argc, argv)
        !          9015:     ClientData dummy;                  /* Not used. */
        !          9016:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9017:     int argc;                          /* Number of arguments. */
        !          9018:     char **argv;                       /* Argument strings. */
        !          9019: {
        !          9020: #pragma ref dummy
        !          9021:     if (argc != 1) {
        !          9022:        sprintf(interp->result, "too many args: should be \"%.50s\"", argv[0]);
        !          9023:        return TCL_ERROR;
        !          9024:     }
        !          9025:     return TCL_CONTINUE;
        !          9026: }
        !          9027: 
        !          9028: /*
        !          9029:  *----------------------------------------------------------------------
        !          9030:  *
        !          9031:  * Tcl_ErrorCmd --
        !          9032:  *
        !          9033:  *     This procedure is invoked to process the "error" Tcl command.
        !          9034:  *     See the user documentation for details on what it does.
        !          9035:  *
        !          9036:  * Results:
        !          9037:  *     A standard Tcl result.
        !          9038:  *
        !          9039:  * Side effects:
        !          9040:  *     See the user documentation.
        !          9041:  *
        !          9042:  *----------------------------------------------------------------------
        !          9043:  */
        !          9044: 
        !          9045:        /* ARGSUSED */
        !          9046: int
        !          9047: Tcl_ErrorCmd(dummy, interp, argc, argv)
        !          9048:     ClientData dummy;                  /* Not used. */
        !          9049:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9050:     int argc;                          /* Number of arguments. */
        !          9051:     char **argv;                       /* Argument strings. */
        !          9052: {
        !          9053: #pragma ref dummy
        !          9054:     Interp *iPtr = (Interp *) interp;
        !          9055: 
        !          9056:     if ((argc != 2) && (argc != 3)) {
        !          9057:        sprintf(interp->result, "wrong # args: should be \"%.50s message [errorInfo]\"",
        !          9058:                argv[0]);
        !          9059:        return TCL_ERROR;
        !          9060:     }
        !          9061:     if (argc == 3) {
        !          9062:        Tcl_AddErrorInfo(interp, argv[2]);
        !          9063:        iPtr->flags |= ERR_ALREADY_LOGGED;
        !          9064:     }
        !          9065:     Tcl_Return(interp, argv[1], TCL_VOLATILE);
        !          9066:     return TCL_ERROR;
        !          9067: }
        !          9068: 
        !          9069: /*
        !          9070:  *----------------------------------------------------------------------
        !          9071:  *
        !          9072:  * Tcl_EvalCmd --
        !          9073:  *
        !          9074:  *     This procedure is invoked to process the "eval" Tcl command.
        !          9075:  *     See the user documentation for details on what it does.
        !          9076:  *
        !          9077:  * Results:
        !          9078:  *     A standard Tcl result.
        !          9079:  *
        !          9080:  * Side effects:
        !          9081:  *     See the user documentation.
        !          9082:  *
        !          9083:  *----------------------------------------------------------------------
        !          9084:  */
        !          9085: 
        !          9086:        /* ARGSUSED */
        !          9087: int
        !          9088: Tcl_EvalCmd(dummy, interp, argc, argv)
        !          9089:     ClientData dummy;                  /* Not used. */
        !          9090:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9091:     int argc;                          /* Number of arguments. */
        !          9092:     char **argv;                       /* Argument strings. */
        !          9093: {
        !          9094: #pragma ref dummy
        !          9095:     int result;
        !          9096:     char *cmd;
        !          9097: 
        !          9098:     if (argc < 2) {
        !          9099:        sprintf(interp->result,
        !          9100:                "not enough args:  should be \"%.50s arg [arg ...]\"",
        !          9101:                argv[0]);
        !          9102:        return TCL_ERROR;
        !          9103:     }
        !          9104:     if (argc == 2) {
        !          9105:        result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
        !          9106:     } else {
        !          9107:     
        !          9108:        /*
        !          9109:         * More than one argument:  concatenate them together with spaces
        !          9110:         * between, then evaluate the result.
        !          9111:         */
        !          9112:     
        !          9113:        cmd = Tcl_Concat(argc-1, argv+1);
        !          9114:        result = Tcl_Eval(interp, cmd, 0, (char **) NULL);
        !          9115:        free(cmd);
        !          9116:     }
        !          9117:     if (result == TCL_ERROR) {
        !          9118:        char msg[60];
        !          9119:        sprintf(msg, " (\"eval\" body line %d)", interp->errorLine);
        !          9120:        Tcl_AddErrorInfo(interp, msg);
        !          9121:     }
        !          9122:     return result;
        !          9123: }
        !          9124: 
        !          9125: /*
        !          9126:  *----------------------------------------------------------------------
        !          9127:  *
        !          9128:  * Tcl_ExecCmd --
        !          9129:  *
        !          9130:  *     This procedure is invoked to process the "exec" Tcl command.
        !          9131:  *     See the user documentation for details on what it does.
        !          9132:  *
        !          9133:  * Results:
        !          9134:  *     A standard Tcl result.
        !          9135:  *
        !          9136:  * Side effects:
        !          9137:  *     See the user documentation.
        !          9138:  *
        !          9139:  *----------------------------------------------------------------------
        !          9140:  */
        !          9141: 
        !          9142:        /* ARGSUSED */
        !          9143: int
        !          9144: Tcl_ExecCmd(dummy, interp, argc, argv)
        !          9145:     ClientData dummy;                  /* Not used. */
        !          9146:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9147:     int argc;                          /* Number of arguments. */
        !          9148:     char **argv;                       /* Argument strings. */
        !          9149: {
        !          9150: #pragma ref dummy
        !          9151:     char *input = "";                  /* Points to the input remaining to
        !          9152:                                         * send to the child process. */
        !          9153:     int inputSize;                     /* # of bytes of input. */
        !          9154: #define MAX_PIPE_INPUT 4095
        !          9155: #define TMP_FILE_NAME "/tmp/tcl.XXXXXX"
        !          9156:     char *output = NULL;               /* Output received from child. */
        !          9157:     int outputSize;                    /* Number of valid bytes at output. */
        !          9158:     int outputSpace;                   /* Total space available at output. */
        !          9159:     int stdIn[2], stdOut[2], count, result, i;
        !          9160:     int pid = -1;                      /* -1 means child process doesn't
        !          9161:                                         * exist (yet).  Non-zero gives its
        !          9162:                                         * id (0 only in child). */
        !          9163:     int status;
        !          9164:     char *cmdName, *execName;
        !          9165: 
        !          9166:     /*
        !          9167:      * Look through the arguments for a standard input specification
        !          9168:      * ("< value" in two arguments).  If found, collapse it out.
        !          9169:      * Shuffle all the arguments back over the "exec" argument, so that
        !          9170:      * there's room for a NULL argument at the end.
        !          9171:      */
        !          9172: 
        !          9173:     cmdName = argv[0];
        !          9174:     for (i = 1; i < argc; i++) {
        !          9175:        argv[i-1] = argv[i];
        !          9176:        if ((argv[i][0] != '<') || (argv[i][1] != 0)) {
        !          9177:            continue;
        !          9178:        }
        !          9179:        i++;
        !          9180:        if (i >= argc) {
        !          9181:            sprintf(interp->result,
        !          9182:                    "specified \"<\" but no input in \"%.50s\" command",
        !          9183:                    cmdName);
        !          9184:            return TCL_ERROR;
        !          9185:        }
        !          9186:        input = argv[i];
        !          9187:        for (i++; i < argc; i++) {
        !          9188:            argv[i-3] = argv[i];
        !          9189:        }
        !          9190:        argc -= 2;
        !          9191:     }
        !          9192: 
        !          9193:     argc -= 1;                 /* Drop "exec" argument. */
        !          9194:     argv[argc] = NULL;
        !          9195:     if (argc < 1) {
        !          9196:        sprintf(interp->result, "not enough arguments to \"%.50s\" command",
        !          9197:                cmdName);
        !          9198:        return TCL_ERROR;
        !          9199:     }
        !          9200:     execName = Tcl_TildeSubst(interp, argv[0]);
        !          9201:     if (execName == NULL) {
        !          9202:        return TCL_ERROR;
        !          9203:     }
        !          9204: 
        !          9205:     /*
        !          9206:      * Set up the input stream for child.  Use a pipe if the amount of
        !          9207:      * input data is small enough for us to write it to the pipe without
        !          9208:      * overflowing the pipe and blocking.  If there's too much input data,
        !          9209:      * then write it to a temporary file.
        !          9210:      */
        !          9211: 
        !          9212:     stdIn[0] = stdIn[1] = stdOut[0] = stdOut[1] = -1;
        !          9213:     inputSize = strlen(input);
        !          9214:     if (inputSize <= MAX_PIPE_INPUT) {
        !          9215:        if (pipe(stdIn) < 0) {
        !          9216:            sprintf(interp->result,
        !          9217:                    "couldn't create input pipe for \"%.50s\" command: %.50s",
        !          9218:                    cmdName, strerror(errno));
        !          9219:            result = TCL_ERROR;
        !          9220:            goto cleanup;
        !          9221:        }
        !          9222:        if (write(stdIn[1], input, inputSize) != inputSize) {
        !          9223:            sprintf(interp->result,
        !          9224:                    "couldn't write pipe input for command: %.50s",
        !          9225:                    strerror(errno));
        !          9226:            result = TCL_ERROR;
        !          9227:            goto cleanup;
        !          9228:        }
        !          9229:        close(stdIn[1]);
        !          9230:        stdIn[1] = -1;
        !          9231:     } else {
        !          9232:        char tmp[L_tmpnam];
        !          9233:        tmpnam(tmp);
        !          9234:        stdIn[0] = open(tmp, O_RDWR|O_CREAT, 0);
        !          9235:        if (stdIn[0] < 0) {
        !          9236:            sprintf(interp->result,
        !          9237:                    "couldn't create input file for \"%.50s\" command: %.50s",
        !          9238:                    cmdName, strerror(errno));
        !          9239:            result = TCL_ERROR;
        !          9240:            goto cleanup;
        !          9241:        }
        !          9242:        if (write(stdIn[0], input, inputSize) != inputSize) {
        !          9243:            sprintf(interp->result,
        !          9244:                    "couldn't write file input for command: %.50s",
        !          9245:                    strerror(errno));
        !          9246:            result = TCL_ERROR;
        !          9247:            goto cleanup;
        !          9248:        }
        !          9249:        if ((lseek(stdIn[0], 0L, 0) == -1) || (unlink(tmp) == -1)) {
        !          9250:            sprintf(interp->result,
        !          9251:                    "couldn't reset or close input file for command: %.50s",
        !          9252:                    strerror(errno));
        !          9253:            result = TCL_ERROR;
        !          9254:            goto cleanup;
        !          9255:        }
        !          9256:     }
        !          9257: 
        !          9258:     /*
        !          9259:      * Set up an output pipe from the child's stdout/stderr back to
        !          9260:      * us, then fork the child.
        !          9261:      */
        !          9262: 
        !          9263:     if (pipe(stdOut) < 0) {
        !          9264:        sprintf(interp->result,
        !          9265:                "couldn't create output pipe for \"%.50s\" command",
        !          9266:                cmdName);
        !          9267:        result = TCL_ERROR;
        !          9268:        goto cleanup;
        !          9269:     }
        !          9270:     pid = fork();
        !          9271:     if (pid == -1) {
        !          9272:        sprintf(interp->result,
        !          9273:                "couldn't fork child for \"%.50s\" command: %.50s",
        !          9274:                cmdName, strerror(errno));
        !          9275:        result = TCL_ERROR;
        !          9276:        goto cleanup;
        !          9277:     }
        !          9278:     if (pid == 0) {
        !          9279:        char errSpace[100];
        !          9280: 
        !          9281:        if ((dup2(stdIn[0], 0) == -1) || (dup2(stdOut[1], 1) == -1)
        !          9282:                || (dup2(stdOut[1], 2) == -1)) {
        !          9283:            char *err;
        !          9284:            err = "forked process couldn't set up input/output";
        !          9285:            write(stdOut[1], err, strlen(err));
        !          9286:            _exit(1);
        !          9287:        }
        !          9288:        close(stdIn[0]);
        !          9289:        close(stdOut[0]);
        !          9290:        close(stdOut[1]);
        !          9291:        execvp(execName, argv);
        !          9292:        sprintf(errSpace, "couldn't find a \"%.50s\" to execute", argv[0]);
        !          9293:        write(1, errSpace, strlen(errSpace));
        !          9294:        _exit(1);
        !          9295:     }
        !          9296: 
        !          9297:     /*
        !          9298:      * In the parent, read output from the child until end of file
        !          9299:      * (this should mean that the child has completed and died).
        !          9300:      */
        !          9301: 
        !          9302:     close(stdIn[0]);
        !          9303:     stdIn[0] = -1;
        !          9304:     close(stdOut[1]);
        !          9305:     stdOut[1] = -1;
        !          9306:     outputSize = 0;
        !          9307:     outputSpace = 0;
        !          9308:     result = -1;
        !          9309:     while (1) {
        !          9310:        if ((outputSpace - outputSize) < 100) {
        !          9311:            char *newOutput;
        !          9312: 
        !          9313:            if (outputSpace == 0) {
        !          9314:                outputSpace = 200;
        !          9315:            } else {
        !          9316:                outputSpace = 2*outputSpace;
        !          9317:            }
        !          9318:            newOutput = (char *) malloc((unsigned) outputSpace);
        !          9319:            if (output != 0) {
        !          9320:                bcopy(output, newOutput, outputSize);
        !          9321:                free(output);
        !          9322:            }
        !          9323:            output = newOutput;
        !          9324:        }
        !          9325:        count = read(stdOut[0], output+outputSize,
        !          9326:                outputSpace-outputSize-1);
        !          9327: 
        !          9328:        if (count == 0) {
        !          9329:            break;
        !          9330:        }
        !          9331:        if (count < 0) {
        !          9332:            sprintf(interp->result,
        !          9333:                    "error reading stdout during \"%.50s\": %.50s",
        !          9334:                    cmdName, strerror(errno));
        !          9335:            result = TCL_ERROR;
        !          9336:            goto cleanup;
        !          9337:        }
        !          9338:        outputSize += count;
        !          9339:     }
        !          9340: 
        !          9341:     /*
        !          9342:      * The command is supposedly done now.  Terminate the result
        !          9343:      * string and wait for the process really to complete.
        !          9344:      */
        !          9345: 
        !          9346:     output[outputSize] = 0;
        !          9347:     interp->result = output;
        !          9348:     interp->dynamic = 1;
        !          9349: 
        !          9350:     cleanup:
        !          9351:     if (pid != -1) {
        !          9352:        while (1) {
        !          9353:            int child;
        !          9354: 
        !          9355:            child = wait(&status);
        !          9356:            if (child == -1) {
        !          9357:                sprintf(interp->result,
        !          9358:                        "child process disappeared mysteriously");
        !          9359:                result = TCL_ERROR;
        !          9360:                break;
        !          9361:            }
        !          9362:            if (child == pid) {
        !          9363:                break;
        !          9364:            }
        !          9365:        }
        !          9366:        if (!WIFEXITED(status)) {
        !          9367:            sprintf(interp->result, "command terminated abnormally");
        !          9368:            result = TCL_ERROR;
        !          9369:        }
        !          9370:        result = status;
        !          9371:     }
        !          9372:     if (stdIn[0] != -1) {
        !          9373:        close(stdIn[0]);
        !          9374:     }
        !          9375:     if (stdIn[1] != -1) {
        !          9376:        close(stdIn[1]);
        !          9377:     }
        !          9378:     if (stdOut[0] != -1) {
        !          9379:        close(stdOut[0]);
        !          9380:     }
        !          9381:     if (stdOut[1] != -1) {
        !          9382:        close(stdOut[1]);
        !          9383:     }
        !          9384:     return result;
        !          9385: }
        !          9386: 
        !          9387: /*
        !          9388:  *----------------------------------------------------------------------
        !          9389:  *
        !          9390:  * Tcl_ExprCmd --
        !          9391:  *
        !          9392:  *     This procedure is invoked to process the "expr" Tcl command.
        !          9393:  *     See the user documentation for details on what it does.
        !          9394:  *
        !          9395:  * Results:
        !          9396:  *     A standard Tcl result.
        !          9397:  *
        !          9398:  * Side effects:
        !          9399:  *     See the user documentation.
        !          9400:  *
        !          9401:  *----------------------------------------------------------------------
        !          9402:  */
        !          9403: 
        !          9404:        /* ARGSUSED */
        !          9405: int
        !          9406: Tcl_ExprCmd(dummy, interp, argc, argv)
        !          9407:     ClientData dummy;                  /* Not used. */
        !          9408:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9409:     int argc;                          /* Number of arguments. */
        !          9410:     char **argv;                       /* Argument strings. */
        !          9411: {
        !          9412: #pragma ref dummy
        !          9413:     int result, value;
        !          9414: 
        !          9415:     if (argc != 2) {
        !          9416:        sprintf(interp->result,
        !          9417:                "wrong # args: should be \"%.50s expression\"", argv[0]);
        !          9418:        return TCL_ERROR;
        !          9419:     }
        !          9420: 
        !          9421:     result = Tcl_Expr(interp, argv[1], &value);
        !          9422:     if (result != TCL_OK) {
        !          9423:        return result;
        !          9424:     }
        !          9425: 
        !          9426:     /*
        !          9427:      * Turn the integer result back into a string.
        !          9428:      */
        !          9429: 
        !          9430:     sprintf(interp->result, "%d", value);
        !          9431:     return TCL_OK;
        !          9432: }
        !          9433: 
        !          9434: /*
        !          9435:  *----------------------------------------------------------------------
        !          9436:  *
        !          9437:  * Tcl_FileCmd --
        !          9438:  *
        !          9439:  *     This procedure is invoked to process the "file" Tcl command.
        !          9440:  *     See the user documentation for details on what it does.
        !          9441:  *
        !          9442:  * Results:
        !          9443:  *     A standard Tcl result.
        !          9444:  *
        !          9445:  * Side effects:
        !          9446:  *     See the user documentation.
        !          9447:  *
        !          9448:  *----------------------------------------------------------------------
        !          9449:  */
        !          9450: 
        !          9451:        /* ARGSUSED */
        !          9452: int
        !          9453: Tcl_FileCmd(dummy, interp, argc, argv)
        !          9454:     ClientData dummy;                  /* Not used. */
        !          9455:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9456:     int argc;                          /* Number of arguments. */
        !          9457:     char **argv;                       /* Argument strings. */
        !          9458: {
        !          9459: #pragma ref dummy
        !          9460:     char *p;
        !          9461:     int length, mode, statOp;
        !          9462:     struct stat statBuf;
        !          9463:     char *fileName;
        !          9464: 
        !          9465:     if (argc != 3) {
        !          9466:        sprintf(interp->result,
        !          9467:                "wrong # args: should be \"%.50s name option\"", argv[0]);
        !          9468:        return TCL_ERROR;
        !          9469:     }
        !          9470:     length = strlen(argv[2]);
        !          9471: 
        !          9472:     /*
        !          9473:      * First handle operations on the file name.
        !          9474:      */
        !          9475: 
        !          9476:     fileName = Tcl_TildeSubst(interp, argv[1]);
        !          9477:     if ((argv[2][0] == 'd') && (strncmp(argv[2], "dirname", length) == 0)) {
        !          9478:        p = strrchr(fileName, '/');
        !          9479:        if (p == NULL) {
        !          9480:            interp->result = ".";
        !          9481:        } else if (p == fileName) {
        !          9482:            interp->result = "/";
        !          9483:        } else {
        !          9484:            *p = 0;
        !          9485:            Tcl_Return(interp, fileName, TCL_VOLATILE);
        !          9486:            *p = '/';
        !          9487:        }
        !          9488:        return TCL_OK;
        !          9489:     } else if ((argv[2][0] == 'r') && (length >= 2)
        !          9490:            && (strncmp(argv[2], "rootname", length) == 0)) {
        !          9491:        p = strrchr(fileName, '.');
        !          9492:        if (p == NULL) {
        !          9493:            Tcl_Return(interp, fileName, TCL_VOLATILE);
        !          9494:        } else {
        !          9495:            *p = 0;
        !          9496:            Tcl_Return(interp, fileName, TCL_VOLATILE);
        !          9497:            *p = '.';
        !          9498:        }
        !          9499:        return TCL_OK;
        !          9500:     } else if ((argv[2][0] == 'e') && (length >= 3)
        !          9501:            && (strncmp(argv[2], "extension", length) == 0)) {
        !          9502:        char *lastSlash;
        !          9503: 
        !          9504:        p = strrchr(fileName, '.');
        !          9505:        lastSlash = strrchr(fileName, '/');
        !          9506:        if ((p != NULL) && ((lastSlash == NULL) || (lastSlash < p))) {
        !          9507:            Tcl_Return(interp, p, TCL_VOLATILE);
        !          9508:        }
        !          9509:        return TCL_OK;
        !          9510:     } else if ((argv[2][0] == 't') && (strncmp(argv[2], "tail", length) == 0)) {
        !          9511:        p = strrchr(fileName, '/');
        !          9512:        if (p != NULL) {
        !          9513:            Tcl_Return(interp, p+1, TCL_VOLATILE);
        !          9514:        } else {
        !          9515:            Tcl_Return(interp, fileName, TCL_VOLATILE);
        !          9516:        }
        !          9517:        return TCL_OK;
        !          9518:     }
        !          9519: 
        !          9520:     /*
        !          9521:      * Next, handle operations that can be satisfied with the "access"
        !          9522:      * kernel call.
        !          9523:      */
        !          9524: 
        !          9525:     if (fileName == NULL) {
        !          9526:        return TCL_ERROR;
        !          9527:     }
        !          9528:     if ((argv[2][0] == 'r') && (length >= 2)
        !          9529:            && (strncmp(argv[2], "readable", length) == 0)) {
        !          9530:        mode = R_OK;
        !          9531:        checkAccess:
        !          9532:        if (access(fileName, mode) == -1) {
        !          9533:            interp->result = "0";
        !          9534:        } else {
        !          9535:            interp->result = "1";
        !          9536:        }
        !          9537:        return TCL_OK;
        !          9538:     } else if ((argv[2][0] == 'w')
        !          9539:            && (strncmp(argv[2], "writable", length) == 0)) {
        !          9540:        mode = W_OK;
        !          9541:        goto checkAccess;
        !          9542:     } else if ((argv[2][0] == 'e') && (length >= 3)
        !          9543:            && (strncmp(argv[2], "executable", length) == 0)) {
        !          9544:        mode = X_OK;
        !          9545:        goto checkAccess;
        !          9546:     } else if ((argv[2][0] == 'e') && (length >= 3)
        !          9547:            && (strncmp(argv[2], "exists", length) == 0)) {
        !          9548:        mode = F_OK;
        !          9549:        goto checkAccess;
        !          9550:     }
        !          9551: 
        !          9552:     /*
        !          9553:      * Lastly, check stuff that requires the file to be stat-ed.
        !          9554:      */
        !          9555: 
        !          9556:     if ((argv[2][0] == 'o') && (strncmp(argv[2], "owned", length) == 0)) {
        !          9557:        statOp = 0;
        !          9558:     } else if ((argv[2][0] == 'i') && (length >= 3)
        !          9559:            && (strncmp(argv[2], "isfile", length) == 0)) {
        !          9560:        statOp = 1;
        !          9561:     } else if ((argv[2][0] == 'i') && (length >= 3)
        !          9562:            && (strncmp(argv[2], "isdirectory", length) == 0)) {
        !          9563:        statOp = 2;
        !          9564:     } else {
        !          9565:        sprintf(interp->result, "bad \"%.30s\" option \"%.30s\": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writable",
        !          9566:                argv[0], argv[2]);
        !          9567:        return TCL_ERROR;
        !          9568:     }
        !          9569:     if (stat(fileName, &statBuf) == -1) {
        !          9570:        interp->result = "0";
        !          9571:        return TCL_OK;
        !          9572:     }
        !          9573:     switch (statOp) {
        !          9574:        case 0:
        !          9575:            mode = (geteuid() == statBuf.st_uid);
        !          9576:            break;
        !          9577:        case 1:
        !          9578:            mode = S_ISREG(statBuf.st_mode);
        !          9579:            break;
        !          9580:        case 2:
        !          9581:            mode = S_ISDIR(statBuf.st_mode);
        !          9582:            break;
        !          9583:     }
        !          9584:     if (mode) {
        !          9585:        interp->result = "1";
        !          9586:     } else {
        !          9587:        interp->result = "0";
        !          9588:     }
        !          9589:     return TCL_OK;
        !          9590: }
        !          9591: 
        !          9592: /*
        !          9593:  *----------------------------------------------------------------------
        !          9594:  *
        !          9595:  * Tcl_ForCmd --
        !          9596:  *
        !          9597:  *     This procedure is invoked to process the "for" Tcl command.
        !          9598:  *     See the user documentation for details on what it does.
        !          9599:  *
        !          9600:  * Results:
        !          9601:  *     A standard Tcl result.
        !          9602:  *
        !          9603:  * Side effects:
        !          9604:  *     See the user documentation.
        !          9605:  *
        !          9606:  *----------------------------------------------------------------------
        !          9607:  */
        !          9608: 
        !          9609:        /* ARGSUSED */
        !          9610: int
        !          9611: Tcl_ForCmd(dummy, interp, argc, argv)
        !          9612:     ClientData dummy;                  /* Not used. */
        !          9613:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9614:     int argc;                          /* Number of arguments. */
        !          9615:     char **argv;                       /* Argument strings. */
        !          9616: {
        !          9617: #pragma ref dummy
        !          9618:     int result, value;
        !          9619: 
        !          9620:     if (argc != 5) {
        !          9621:        sprintf(interp->result,
        !          9622:                "wrong # args: should be \"%.50s start test next command\"",
        !          9623:                argv[0]);
        !          9624:        return TCL_ERROR;
        !          9625:     }
        !          9626: 
        !          9627:     result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
        !          9628:     if (result != TCL_OK) {
        !          9629:        if (result == TCL_ERROR) {
        !          9630:            Tcl_AddErrorInfo(interp, " (\"for\" initial command)");
        !          9631:        }
        !          9632:        return result;
        !          9633:     }
        !          9634:     while (1) {
        !          9635:        result = Tcl_Expr(interp, argv[2], &value);
        !          9636:        if (result != TCL_OK) {
        !          9637:            return result;
        !          9638:        }
        !          9639:        if (!value) {
        !          9640:            break;
        !          9641:        }
        !          9642:        result = Tcl_Eval(interp, argv[4], 0, (char **) NULL);
        !          9643:        if (result == TCL_CONTINUE) {
        !          9644:            result = TCL_OK;
        !          9645:        } else if (result != TCL_OK) {
        !          9646:            if (result == TCL_ERROR) {
        !          9647:                char msg[60];
        !          9648:                sprintf(msg, " (\"for\" body line %d)", interp->errorLine);
        !          9649:                Tcl_AddErrorInfo(interp, msg);
        !          9650:            }
        !          9651:            break;
        !          9652:        }
        !          9653:        result = Tcl_Eval(interp, argv[3], 0, (char **) NULL);
        !          9654:        if (result == TCL_BREAK) {
        !          9655:            break;
        !          9656:        } else if (result != TCL_OK) {
        !          9657:            if (result == TCL_ERROR) {
        !          9658:                Tcl_AddErrorInfo(interp, " (\"for\" loop-end command)");
        !          9659:            }
        !          9660:            return result;
        !          9661:        }
        !          9662:     }
        !          9663:     if (result == TCL_BREAK) {
        !          9664:        result = TCL_OK;
        !          9665:     }
        !          9666:     if (result == TCL_OK) {
        !          9667:        Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          9668:     }
        !          9669:     return result;
        !          9670: }
        !          9671: 
        !          9672: /*
        !          9673:  *----------------------------------------------------------------------
        !          9674:  *
        !          9675:  * Tcl_ForeachCmd --
        !          9676:  *
        !          9677:  *     This procedure is invoked to process the "foreach" Tcl command.
        !          9678:  *     See the user documentation for details on what it does.
        !          9679:  *
        !          9680:  * Results:
        !          9681:  *     A standard Tcl result.
        !          9682:  *
        !          9683:  * Side effects:
        !          9684:  *     See the user documentation.
        !          9685:  *
        !          9686:  *----------------------------------------------------------------------
        !          9687:  */
        !          9688: 
        !          9689:        /* ARGSUSED */
        !          9690: int
        !          9691: Tcl_ForeachCmd(dummy, interp, argc, argv)
        !          9692:     ClientData dummy;                  /* Not used. */
        !          9693:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9694:     int argc;                          /* Number of arguments. */
        !          9695:     char **argv;                       /* Argument strings. */
        !          9696: {
        !          9697: #pragma ref dummy
        !          9698:     int listArgc, i, result;
        !          9699:     char **listArgv;
        !          9700: 
        !          9701:     if (argc != 4) {
        !          9702:        sprintf(interp->result,
        !          9703:                "wrong # args: should be \"%.50s varName list command\"",
        !          9704:                argv[0]);
        !          9705:        return TCL_ERROR;
        !          9706:     }
        !          9707: 
        !          9708:     /*
        !          9709:      * Break the list up into elements, and execute the command once
        !          9710:      * for each value of the element.
        !          9711:      */
        !          9712: 
        !          9713:     result = Tcl_SplitList(interp, argv[2], &listArgc, &listArgv);
        !          9714:     if (result != TCL_OK) {
        !          9715:        return result;
        !          9716:     }
        !          9717:     for (i = 0; i < listArgc; i++) {
        !          9718:        Tcl_SetVar(interp, argv[1], listArgv[i], 0);
        !          9719: 
        !          9720:        result = Tcl_Eval(interp, argv[3], 0, (char **) NULL);
        !          9721:        if (result != TCL_OK) {
        !          9722:            if (result == TCL_CONTINUE) {
        !          9723:                result = TCL_OK;
        !          9724:            } else if (result == TCL_BREAK) {
        !          9725:                result = TCL_OK;
        !          9726:                break;
        !          9727:            } else if (result == TCL_ERROR) {
        !          9728:                char msg[100];
        !          9729:                sprintf(msg, " (\"foreach\" body line %d)", interp->errorLine);
        !          9730:                Tcl_AddErrorInfo(interp, msg);
        !          9731:                break;
        !          9732:            } else {
        !          9733:                break;
        !          9734:            }
        !          9735:        }
        !          9736:     }
        !          9737:     free((char *) listArgv);
        !          9738:     if (result == TCL_OK) {
        !          9739:        Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          9740:     }
        !          9741:     return result;
        !          9742: }
        !          9743: 
        !          9744: /*
        !          9745:  *----------------------------------------------------------------------
        !          9746:  *
        !          9747:  * Tcl_FormatCmd --
        !          9748:  *
        !          9749:  *     This procedure is invoked to process the "format" Tcl command.
        !          9750:  *     See the user documentation for details on what it does.
        !          9751:  *
        !          9752:  * Results:
        !          9753:  *     A standard Tcl result.
        !          9754:  *
        !          9755:  * Side effects:
        !          9756:  *     See the user documentation.
        !          9757:  *
        !          9758:  *----------------------------------------------------------------------
        !          9759:  */
        !          9760: 
        !          9761:        /* ARGSUSED */
        !          9762: int
        !          9763: Tcl_FormatCmd(dummy, interp, argc, argv)
        !          9764:     ClientData dummy;                  /* Not used. */
        !          9765:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          9766:     int argc;                          /* Number of arguments. */
        !          9767:     char **argv;                       /* Argument strings. */
        !          9768: {
        !          9769: #pragma ref dummy
        !          9770:     register char *format;     /* Used to read characters from the format
        !          9771:                                 * string. */
        !          9772:     char newFormat[40];                /* A new format specifier is generated here. */
        !          9773:     int width;                 /* Field width from field specifier, or 0 if
        !          9774:                                 * no width given. */
        !          9775:     int precision;             /* Field precision from field specifier, or 0
        !          9776:                                 * if no precision given. */
        !          9777:     int size;                  /* Number of bytes needed for result of
        !          9778:                                 * conversion, based on type of conversion
        !          9779:                                 * ("e", "s", etc.) and width from above. */
        !          9780:     char *oneWordValue;                /* Used to hold value to pass to sprintf, if
        !          9781:                                 * it's a one-word value. */
        !          9782:     double twoWordValue;       /* Used to hold value to pass to sprintf if
        !          9783:                                 * it's a two-word value. */
        !          9784:     int useTwoWords;           /* 0 means use oneWordValue, 1 means use
        !          9785:                                 * twoWordValue. */
        !          9786:     char *dst = interp->result;        /* Where result is stored.  Starts off at
        !          9787:                                 * interp->resultSpace, but may get dynamically
        !          9788:                                 * re-allocated if this isn't enough. */
        !          9789:     int dstSize = 0;           /* Number of non-null characters currently
        !          9790:                                 * stored at dst. */
        !          9791:     int dstSpace = TCL_RESULT_SIZE;
        !          9792:                                /* Total amount of storage space available
        !          9793:                                 * in dst (not including null terminator. */
        !          9794:     int noPercent;             /* Special case for speed:  indicates there's
        !          9795:                                 * no field specifier, just a string to copy. */
        !          9796:     char **curArg;             /* Remainder of argv array. */
        !          9797: 
        !          9798:     /*
        !          9799:      * This procedure is a bit nasty.  The goal is to use sprintf to
        !          9800:      * do most of the dirty work.  There are several problems:
        !          9801:      * 1. this procedure can't trust its arguments.
        !          9802:      * 2. we must be able to provide a large enough result area to hold
        !          9803:      *    whatever's generated.  This is hard to estimate.
        !          9804:      * 2. there's no way to move the arguments from argv to the call
        !          9805:      *    to sprintf in a reasonable way.  This is particularly nasty
        !          9806:      *    because some of the arguments may be two-word values (doubles).
        !          9807:      * So, what happens here is to scan the format string one % group
        !          9808:      * at a time, making many individual calls to sprintf.
        !          9809:      */
        !          9810: 
        !          9811:     if (argc < 2) {
        !          9812:        sprintf(interp->result,
        !          9813:                "too few args: should be \"%.50s formatString [arg arg ...]\"",
        !          9814:                argv[0]);
        !          9815:        return TCL_ERROR;
        !          9816:     }
        !          9817:     curArg = argv+2;
        !          9818:     argc -= 2;
        !          9819:     for (format = argv[1]; *format != 0; ) {
        !          9820:        register char *newPtr = newFormat;
        !          9821: 
        !          9822:        width = precision = useTwoWords = noPercent = 0;
        !          9823: 
        !          9824:        /*
        !          9825:         * Get rid of any characters before the next field specifier.
        !          9826:         * Collapse backslash sequences found along the way.
        !          9827:         */
        !          9828: 
        !          9829:        if (*format != '%') {
        !          9830:            register char *p;
        !          9831:            int bsSize;
        !          9832: 
        !          9833:            oneWordValue = format;
        !          9834:            for (p = format; (*format != '%') && (*format != 0); p++) {
        !          9835:                if (*format == '\\') {
        !          9836:                    *p = Tcl_Backslash(format, &bsSize);
        !          9837:                    format += bsSize;
        !          9838:                } else {
        !          9839:                    *p = *format;
        !          9840:                    format++;
        !          9841:                }
        !          9842:            }
        !          9843:            size = p - oneWordValue;
        !          9844:            noPercent = 1;
        !          9845:            goto doField;
        !          9846:        }
        !          9847: 
        !          9848:        if (format[1] == '%') {
        !          9849:            oneWordValue = format;
        !          9850:            size = 1;
        !          9851:            noPercent = 1;
        !          9852:            format += 2;
        !          9853:            goto doField;
        !          9854:        }
        !          9855: 
        !          9856:        /*
        !          9857:         * Parse off a field specifier, compute how many characters
        !          9858:         * will be needed to store the result, and substitute for
        !          9859:         * "*" size specifiers.
        !          9860:         */
        !          9861: 
        !          9862:        *newPtr = '%';
        !          9863:        newPtr++;
        !          9864:        format++;
        !          9865:        if (*format == '-') {
        !          9866:            *newPtr = '-';
        !          9867:            newPtr++;
        !          9868:            format++;
        !          9869:        }
        !          9870:        if (*format == '0') {
        !          9871:            *newPtr = '0';
        !          9872:            newPtr++;
        !          9873:            format++;
        !          9874:        }
        !          9875:        if (isdigit(*format)) {
        !          9876:            width = atoi(format);
        !          9877:            do {
        !          9878:                format++;
        !          9879:            } while (isdigit(*format));
        !          9880:        } else if (*format == '*') {
        !          9881:            if (argc <= 0) {
        !          9882:                goto notEnoughArgs;
        !          9883:            }
        !          9884:            width = atoi(*curArg);
        !          9885:            argc--;
        !          9886:            curArg++;
        !          9887:            format++;
        !          9888:        }
        !          9889:        if (width != 0) {
        !          9890:            sprintf(newPtr, "%d", width);
        !          9891:            while (*newPtr != 0) {
        !          9892:                newPtr++;
        !          9893:            }
        !          9894:        }
        !          9895:        if (*format == '.') {
        !          9896:            *newPtr = '.';
        !          9897:            newPtr++;
        !          9898:            format++;
        !          9899:        }
        !          9900:        if (isdigit(*format)) {
        !          9901:            precision = atoi(format);
        !          9902:            do {
        !          9903:                format++;
        !          9904:            } while (isdigit(*format));
        !          9905:        } else if (*format == '*') {
        !          9906:            if (argc <= 0) {
        !          9907:                goto notEnoughArgs;
        !          9908:            }
        !          9909:            precision = atoi(*curArg);
        !          9910:            argc--;
        !          9911:            curArg++;
        !          9912:            format++;
        !          9913:        }
        !          9914:        if (precision != 0) {
        !          9915:            sprintf(newPtr, "%d", precision);
        !          9916:            while (*newPtr != 0) {
        !          9917:                newPtr++;
        !          9918:            }
        !          9919:        }
        !          9920:        if (*format == '#') {
        !          9921:            *newPtr = '#';
        !          9922:            newPtr++;
        !          9923:            format++;
        !          9924:        }
        !          9925:        if (*format == 'l') {
        !          9926:            format++;
        !          9927:        }
        !          9928:        *newPtr = *format;
        !          9929:        newPtr++;
        !          9930:        *newPtr = 0;
        !          9931:        if (argc <= 0) {
        !          9932:            goto notEnoughArgs;
        !          9933:        }
        !          9934:        switch (*format) {
        !          9935:            case 'D':
        !          9936:            case 'd':
        !          9937:            case 'O':
        !          9938:            case 'o':
        !          9939:            case 'X':
        !          9940:            case 'x':
        !          9941:            case 'U':
        !          9942:            case 'u': {
        !          9943:                char *end;
        !          9944: 
        !          9945:                oneWordValue = (char *) strtol(*curArg, &end, 0);
        !          9946:                if ((*curArg == 0) || (*end != 0)) {
        !          9947:                    sprintf(interp->result,
        !          9948:                            "expected integer but got \"%.50s\" instead",
        !          9949:                            *curArg);
        !          9950:                    goto fmtError;
        !          9951:                }
        !          9952:                size = 40;
        !          9953:                break;
        !          9954:            }
        !          9955:            case 's':
        !          9956:                oneWordValue = *curArg;
        !          9957:                size = strlen(*curArg);
        !          9958:                break;
        !          9959:            case 'c': {
        !          9960:                char *end;
        !          9961: 
        !          9962:                oneWordValue = (char *) strtol(*curArg, &end, 0);
        !          9963:                if ((*curArg == 0) || (*end != 0)) {
        !          9964:                    sprintf(interp->result,
        !          9965:                            "expected integer but got \"%.50s\" instead",
        !          9966:                            *curArg);
        !          9967:                    goto fmtError;
        !          9968:                }
        !          9969:                size = 1;
        !          9970:                break;
        !          9971:            }
        !          9972:            case 'F':
        !          9973:            case 'f':
        !          9974:            case 'E':
        !          9975:            case 'e':
        !          9976:            case 'G':
        !          9977:            case 'g':
        !          9978:                if (sscanf(*curArg, "%F", &twoWordValue) != 1) {
        !          9979:                    sprintf(interp->result,
        !          9980:                            "expected floating-point number but got \"%.50s\" instead",
        !          9981:                            *curArg);
        !          9982:                    goto fmtError;
        !          9983:                }
        !          9984:                useTwoWords = 1;
        !          9985:                size = 320;
        !          9986:                if (precision > 10) {
        !          9987:                    size += precision;
        !          9988:                }
        !          9989:                break;
        !          9990:            case 0:
        !          9991:                interp->result = "format string ended in middle of field specifier";
        !          9992:                goto fmtError;
        !          9993:            default:
        !          9994:                sprintf(interp->result, "bad field specifier \"%c\"", *format);
        !          9995:                goto fmtError;
        !          9996:        }
        !          9997:        argc--;
        !          9998:        curArg++;
        !          9999:        format++;
        !          10000: 
        !          10001:        /*
        !          10002:         * Make sure that there's enough space to hold the formatted
        !          10003:         * result, then format it.
        !          10004:         */
        !          10005: 
        !          10006:        doField:
        !          10007:        if (width > size) {
        !          10008:            size = width;
        !          10009:        }
        !          10010:        if ((dstSize + size) > dstSpace) {
        !          10011:            char *newDst;
        !          10012:            int newSpace;
        !          10013: 
        !          10014:            newSpace = 2*(dstSize + size);
        !          10015:            newDst = (char *) malloc((unsigned) newSpace+1);
        !          10016:            if (dstSize != 0) {
        !          10017:                bcopy(dst, newDst, dstSize);
        !          10018:            }
        !          10019:            if (dstSpace != TCL_RESULT_SIZE) {
        !          10020:                free(dst);
        !          10021:            }
        !          10022:            dst = newDst;
        !          10023:            dstSpace = newSpace;
        !          10024:        }
        !          10025:        if (noPercent) {
        !          10026:            bcopy(oneWordValue, dst+dstSize, size);
        !          10027:            dstSize += size;
        !          10028:            dst[dstSize] = 0;
        !          10029:        } else {
        !          10030:            if (useTwoWords) {
        !          10031:                sprintf(dst+dstSize, newFormat, twoWordValue);
        !          10032:            } else {
        !          10033:                sprintf(dst+dstSize, newFormat, oneWordValue);
        !          10034:            }
        !          10035:            dstSize += strlen(dst+dstSize);
        !          10036:        }
        !          10037:     }
        !          10038: 
        !          10039:     interp->result = dst;
        !          10040:     interp->dynamic = !(dstSpace == TCL_RESULT_SIZE);
        !          10041:     return TCL_OK;
        !          10042: 
        !          10043:     notEnoughArgs:
        !          10044:     sprintf(interp->result,
        !          10045:            "invoked \"%.50s\" without enough arguments", argv[0]);
        !          10046:     fmtError:
        !          10047:     if (dstSpace != TCL_RESULT_SIZE) {
        !          10048:        free(dst);
        !          10049:     }
        !          10050:     return TCL_ERROR;
        !          10051: }
        !          10052: 0707070035050510671006660011710000040000010715450466300644100001700000077426tcl/tclCmdIZ.c/* 
        !          10053:  * tclCmdIZ.c --
        !          10054:  *
        !          10055:  *     This file contains the top-level command routines for most of
        !          10056:  *     the Tcl built-in commands whose names begin with the letters
        !          10057:  *     I to Z.
        !          10058:  *
        !          10059:  * Copyright 1987 Regents of the University of California
        !          10060:  * Permission to use, copy, modify, and distribute this
        !          10061:  * software and its documentation for any purpose and without
        !          10062:  * fee is hereby granted, provided that the above copyright
        !          10063:  * notice appear in all copies.  The University of California
        !          10064:  * makes no representations about the suitability of this
        !          10065:  * software for any purpose.  It is provided "as is" without
        !          10066:  * express or implied warranty.
        !          10067:  */
        !          10068: 
        !          10069: #ifndef lint
        !          10070: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclCmdIZ.c,v 1.36 90/04/18 17:09:07 ouster Exp $ SPRITE (Berkeley)";
        !          10071: #pragma ref rcsid
        !          10072: #endif not lint
        !          10073: 
        !          10074: #define        _POSIX_SOURCE
        !          10075: 
        !          10076: #include <ctype.h>
        !          10077: #include <errno.h>
        !          10078: #include <stdio.h>
        !          10079: #include <stdlib.h>
        !          10080: #include <string.h>
        !          10081: #include <sys/types.h>
        !          10082: #include <fcntl.h>
        !          10083: #include <sys/stat.h>
        !          10084: #include <sys/times.h>
        !          10085: #include "tclInt.h"
        !          10086: 
        !          10087: /*
        !          10088:  *----------------------------------------------------------------------
        !          10089:  *
        !          10090:  * Tcl_IfCmd --
        !          10091:  *
        !          10092:  *     This procedure is invoked to process the "if" Tcl command.
        !          10093:  *     See the user documentation for details on what it does.
        !          10094:  *
        !          10095:  * Results:
        !          10096:  *     A standard Tcl result.
        !          10097:  *
        !          10098:  * Side effects:
        !          10099:  *     See the user documentation.
        !          10100:  *
        !          10101:  *----------------------------------------------------------------------
        !          10102:  */
        !          10103: 
        !          10104:        /* ARGSUSED */
        !          10105: int
        !          10106: Tcl_IfCmd(dummy, interp, argc, argv)
        !          10107:     ClientData dummy;                  /* Not used. */
        !          10108:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10109:     int argc;                          /* Number of arguments. */
        !          10110:     char **argv;                       /* Argument strings. */
        !          10111: {
        !          10112: #pragma ref dummy
        !          10113:     char *condition, *ifPart, *elsePart, *cmd, *name;
        !          10114:     int result, value;
        !          10115: 
        !          10116:     name = argv[0];
        !          10117:     if (argc < 3) {
        !          10118:        ifSyntax:
        !          10119:        sprintf(interp->result, "wrong # args:  should be \"%.50s bool [then] command [[else] command]\"",
        !          10120:                name);
        !          10121:        return TCL_ERROR;
        !          10122:     }
        !          10123:     condition = argv[1];
        !          10124:     argc -= 2;
        !          10125:     argv += 2;
        !          10126:     if ((**argv == 't') && (strncmp(*argv, "then", strlen(*argv)) == 0)) {
        !          10127:        argc--;
        !          10128:        argv++;
        !          10129:     }
        !          10130:     if (argc < 1) {
        !          10131:        goto ifSyntax;
        !          10132:     }
        !          10133:     ifPart = *argv;
        !          10134:     argv++;
        !          10135:     argc--;
        !          10136:     if (argc == 0) {
        !          10137:        elsePart = "";
        !          10138:     } else {
        !          10139:        if ((**argv == 'e') && (strncmp(*argv, "else", strlen(*argv)) == 0)) {
        !          10140:            argc--;
        !          10141:            argv++;
        !          10142:        }
        !          10143:        if (argc != 1) {
        !          10144:            goto ifSyntax;
        !          10145:        }
        !          10146:        elsePart = *argv;
        !          10147:     }
        !          10148: 
        !          10149:     cmd = ifPart;
        !          10150:     result = Tcl_Expr(interp, condition, &value);
        !          10151:     if (result != TCL_OK) {
        !          10152:        return result;
        !          10153:     }
        !          10154:     if (value == 0) {
        !          10155:        cmd = elsePart;
        !          10156:     }
        !          10157:     result = Tcl_Eval(interp, cmd, 0, (char **) NULL);
        !          10158:     if (result == TCL_ERROR) {
        !          10159:        char msg[60];
        !          10160:        sprintf(msg, " (\"if\" body line %d)", interp->errorLine);
        !          10161:        Tcl_AddErrorInfo(interp, msg);
        !          10162:     }
        !          10163:     return result;
        !          10164: }
        !          10165: 
        !          10166: /*
        !          10167:  *----------------------------------------------------------------------
        !          10168:  *
        !          10169:  * Tcl_IndexCmd --
        !          10170:  *
        !          10171:  *     This procedure is invoked to process the "index" Tcl command.
        !          10172:  *     See the user documentation for details on what it does.
        !          10173:  *
        !          10174:  * Results:
        !          10175:  *     A standard Tcl result.
        !          10176:  *
        !          10177:  * Side effects:
        !          10178:  *     See the user documentation.
        !          10179:  *
        !          10180:  *----------------------------------------------------------------------
        !          10181:  */
        !          10182: 
        !          10183:     /* ARGSUSED */
        !          10184: int
        !          10185: Tcl_IndexCmd(dummy, interp, argc, argv)
        !          10186:     ClientData dummy;                  /* Not used. */
        !          10187:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10188:     int argc;                          /* Number of arguments. */
        !          10189:     char **argv;                       /* Argument strings. */
        !          10190: {
        !          10191: #pragma ref dummy
        !          10192:     char *p, *element;
        !          10193:     int index, size, parenthesized, result;
        !          10194: 
        !          10195:     if (argc < 3) {
        !          10196:        indexSyntax:
        !          10197:        sprintf(interp->result,
        !          10198:                "wrong # args:  should be \"%.50s value index [chars]\"",
        !          10199:                argv[0]);
        !          10200:        return TCL_ERROR;
        !          10201:     }
        !          10202:     p = argv[1];
        !          10203:     index = atoi(argv[2]);
        !          10204:     if (!isdigit(*argv[2]) || (index < 0)) {
        !          10205:        sprintf(interp->result, "bad index \"%.50s\"", argv[2]);
        !          10206:        return TCL_ERROR;
        !          10207:     }
        !          10208:     if (argc == 3) {
        !          10209:        for ( ; index >= 0; index--) {
        !          10210:            result = TclFindElement(interp, p, &element, &p, &size,
        !          10211:                    &parenthesized);
        !          10212:            if (result != TCL_OK) {
        !          10213:                return result;
        !          10214:            }
        !          10215:        }
        !          10216:        if (size >= TCL_RESULT_SIZE) {
        !          10217:            interp->result = (char *) malloc((unsigned) size+1);
        !          10218:            interp->dynamic = 1;
        !          10219:        }
        !          10220:        if (parenthesized) {
        !          10221:            bcopy(element, interp->result, size);
        !          10222:            interp->result[size] = 0;
        !          10223:        } else {
        !          10224:            TclCopyAndCollapse(size, element, interp->result);
        !          10225:        }
        !          10226:     } else if (argc == 4) {
        !          10227:        if (strncmp(argv[3], "chars", strlen(argv[3])) != 0) {
        !          10228:            sprintf(interp->result, "bad argument \"%s\":  must be \"chars\"",
        !          10229:                    argv[3]);
        !          10230:            return TCL_ERROR;
        !          10231:        }
        !          10232:        size = strlen(p);
        !          10233:        if (index < size) {
        !          10234:            interp->result[0] = p[index];
        !          10235:            interp->result[1] = 0;
        !          10236:        }
        !          10237:     } else {
        !          10238:        goto indexSyntax;
        !          10239:     }
        !          10240:     return TCL_OK;
        !          10241: }
        !          10242: 
        !          10243: /*
        !          10244:  *----------------------------------------------------------------------
        !          10245:  *
        !          10246:  * Tcl_InfoCmd --
        !          10247:  *
        !          10248:  *     This procedure is invoked to process the "info" Tcl command.
        !          10249:  *     See the user documentation for details on what it does.
        !          10250:  *
        !          10251:  * Results:
        !          10252:  *     A standard Tcl result.
        !          10253:  *
        !          10254:  * Side effects:
        !          10255:  *     See the user documentation.
        !          10256:  *
        !          10257:  *----------------------------------------------------------------------
        !          10258:  */
        !          10259: 
        !          10260:        /* ARGSUSED */
        !          10261: int
        !          10262: Tcl_InfoCmd(dummy, interp, argc, argv)
        !          10263:     ClientData dummy;                  /* Not used. */
        !          10264:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10265:     int argc;                          /* Number of arguments. */
        !          10266:     char **argv;                       /* Argument strings. */
        !          10267: {
        !          10268: #pragma ref dummy
        !          10269:     register Interp *iPtr = (Interp *) interp;
        !          10270:     Proc *procPtr;
        !          10271:     Var *varPtr;
        !          10272:     Command *cmdPtr;
        !          10273:     int length;
        !          10274:     char c;
        !          10275: 
        !          10276:     /*
        !          10277:      * When collecting a list of things (e.g. args or vars) "flag" tells
        !          10278:      * what kind of thing is being collected, according to the definitions
        !          10279:      * below.
        !          10280:      */
        !          10281: 
        !          10282:     int flag;
        !          10283: #   define VARS 0
        !          10284: #   define LOCALS 1
        !          10285: #   define PROCS 2
        !          10286: #   define CMDS 3
        !          10287: 
        !          10288: #   define ARG_SIZE 20
        !          10289:     char *argSpace[ARG_SIZE];
        !          10290:     int argSize;
        !          10291:     char *pattern;
        !          10292: 
        !          10293:     if (argc < 2) {
        !          10294:        sprintf(iPtr->result,
        !          10295:                "too few args:  should be \"%.50s option [arg arg ...]\"",
        !          10296:                argv[0]);
        !          10297:        return TCL_ERROR;
        !          10298:     }
        !          10299:     c = argv[1][0];
        !          10300:     length = strlen(argv[1]);
        !          10301:     if ((c == 'a') && (strncmp(argv[1], "args", length)) == 0) {
        !          10302:        if (argc != 3) {
        !          10303:            sprintf(iPtr->result,
        !          10304:                    "wrong # args: should be \"%.50s args procname\"",
        !          10305:                    argv[0]);
        !          10306:            return TCL_ERROR;
        !          10307:        }
        !          10308:        procPtr = TclFindProc(iPtr, argv[2]);
        !          10309:        if (procPtr == NULL) {
        !          10310:            infoNoSuchProc:
        !          10311:            sprintf(iPtr->result,
        !          10312:                    "info requested on \"%s\", which isn't a procedure",
        !          10313:                    argv[2]);
        !          10314:            return TCL_ERROR;
        !          10315:        }
        !          10316:        flag = VARS;
        !          10317:        varPtr = procPtr->argPtr;
        !          10318:        argc = 0;                       /* Prevent pattern matching. */
        !          10319:     } else if ((c == 'b') && (strncmp(argv[1], "body", length)) == 0) {
        !          10320:        if (argc != 3) {
        !          10321:            sprintf(iPtr->result,
        !          10322:                    "wrong # args: should be \"%.50s body procname\"",
        !          10323:                    argv[0]);
        !          10324:            return TCL_ERROR;
        !          10325:        }
        !          10326:        procPtr = TclFindProc(iPtr, argv[2]);
        !          10327:        if (procPtr == NULL) {
        !          10328:            goto infoNoSuchProc;
        !          10329:        }
        !          10330:        iPtr->result = procPtr->command;
        !          10331:        return TCL_OK;
        !          10332:     } else if ((c == 'c') && (strncmp(argv[1], "cmdcount", length) == 0)
        !          10333:            && (length >= 2)) {
        !          10334:        if (argc != 2) {
        !          10335:            sprintf(iPtr->result,
        !          10336:                    "wrong # args: should be \"%.50s cmdcount\"",
        !          10337:                    argv[0]);
        !          10338:            return TCL_ERROR;
        !          10339:        }
        !          10340:        sprintf(iPtr->result, "%d", iPtr->cmdCount);
        !          10341:        return TCL_OK;
        !          10342:     } else if ((c == 'c') && (strncmp(argv[1], "commands", length) == 0)
        !          10343:            && (length >= 2)){
        !          10344:        if (argc > 3) {
        !          10345:            sprintf(iPtr->result,
        !          10346:                    "wrong # args: should be \"%.50s commands [pattern]\"",
        !          10347:                    argv[0]);
        !          10348:            return TCL_ERROR;
        !          10349:        }
        !          10350:        flag = CMDS;
        !          10351:        cmdPtr = iPtr->commandPtr;
        !          10352:     } else if ((c == 'd') && (strncmp(argv[1], "default", length)) == 0) {
        !          10353:        if (argc != 5) {
        !          10354:            sprintf(iPtr->result, "wrong # args: should be \"%.50s default procname arg varname\"",
        !          10355:                    argv[0]);
        !          10356:            return TCL_ERROR;
        !          10357:        }
        !          10358:        procPtr = TclFindProc(iPtr, argv[2]);
        !          10359:        if (procPtr == NULL) {
        !          10360:            goto infoNoSuchProc;
        !          10361:        }
        !          10362:        for (varPtr = procPtr->argPtr; ; varPtr = varPtr->nextPtr) {
        !          10363:            if (varPtr == NULL) {
        !          10364:                sprintf(iPtr->result,
        !          10365:                        "procedure \"%s\" doesn't have an argument \"%s\"",
        !          10366:                        argv[2], argv[3]);
        !          10367:                return TCL_ERROR;
        !          10368:            }
        !          10369:            if (strcmp(argv[3], varPtr->name) == 0) {
        !          10370:                if (varPtr->value != NULL) {
        !          10371:                    Tcl_SetVar((Tcl_Interp *) iPtr, argv[4], varPtr->value, 0);
        !          10372:                    iPtr->result = "1";
        !          10373:                } else {
        !          10374:                    Tcl_SetVar((Tcl_Interp *) iPtr, argv[4], "", 0);
        !          10375:                    iPtr->result = "0";
        !          10376:                }
        !          10377:                return TCL_OK;
        !          10378:            }
        !          10379:        }
        !          10380:     } else if ((c == 'e') && (strncmp(argv[1], "exists", length) == 0)) {
        !          10381:        char *p;
        !          10382:        if (argc != 3) {
        !          10383:            sprintf(iPtr->result,
        !          10384:                    "wrong # args: should be \"%.50s exists varName\"",
        !          10385:                    argv[0]);
        !          10386:            return TCL_ERROR;
        !          10387:        }
        !          10388:        p = Tcl_GetVar((Tcl_Interp *) iPtr, argv[2], 0);
        !          10389:        if (p != NULL) {
        !          10390:            iPtr->result[0] = '1';
        !          10391:        } else {
        !          10392:            iPtr->result[0] = '0';
        !          10393:        }
        !          10394:        iPtr->result[1] = 0;
        !          10395:        return TCL_OK;
        !          10396:     } else if ((c == 'g') && (strncmp(argv[1], "globals", length) == 0)) {
        !          10397:        if (argc > 3) {
        !          10398:            sprintf(iPtr->result,
        !          10399:                    "wrong # args: should be \"%.50s globals [pattern]\"",
        !          10400:                    argv[0]);
        !          10401:            return TCL_ERROR;
        !          10402:        }
        !          10403:        flag = VARS;
        !          10404:        varPtr = iPtr->globalPtr;
        !          10405:     } else if ((c == 'l') && (strncmp(argv[1], "locals", length) == 0)
        !          10406:             && (length >= 2)) {
        !          10407:        if (argc > 3) {
        !          10408:            sprintf(iPtr->result,
        !          10409:                    "wrong # args: should be \"%.50s locals [pattern]\"",
        !          10410:                    argv[0]);
        !          10411:            return TCL_ERROR;
        !          10412:        }
        !          10413:        flag = LOCALS;
        !          10414:        if (iPtr->varFramePtr == NULL) {
        !          10415:            varPtr = NULL;
        !          10416:        } else {
        !          10417:            varPtr = iPtr->varFramePtr->varPtr;
        !          10418:        }
        !          10419:     } else if ((c == 'l') && (strncmp(argv[1], "level", length) == 0)
        !          10420:            && (length >= 2)) {
        !          10421:        if (argc == 2) {
        !          10422:            if (iPtr->varFramePtr == NULL) {
        !          10423:                iPtr->result = "0";
        !          10424:            } else {
        !          10425:                sprintf(iPtr->result, "%d", iPtr->varFramePtr->level);
        !          10426:            }
        !          10427:            return TCL_OK;
        !          10428:        } else if (argc == 3) {
        !          10429:            int level;
        !          10430:            char *end;
        !          10431:            CallFrame *framePtr;
        !          10432: 
        !          10433:            level = strtol(argv[2], &end, 10);
        !          10434:            if ((end == argv[2]) || (*end != '\0')) {
        !          10435:                levelError:
        !          10436:                sprintf(iPtr->result, "bad level \"%.50s\"", argv[1]);
        !          10437:                return TCL_ERROR;
        !          10438:            }
        !          10439:            if (level <= 0) {
        !          10440:                if (iPtr->varFramePtr == NULL) {
        !          10441:                    goto levelError;
        !          10442:                }
        !          10443:                level += iPtr->varFramePtr->level;
        !          10444:            }
        !          10445:            if (level == 0) {
        !          10446:                return TCL_OK;
        !          10447:            }
        !          10448:            for (framePtr = iPtr->varFramePtr; framePtr != NULL;
        !          10449:                    framePtr = framePtr->callerVarPtr) {
        !          10450:                if (framePtr->level == level) {
        !          10451:                    break;
        !          10452:                }
        !          10453:            }
        !          10454:            if (framePtr == NULL) {
        !          10455:                goto levelError;
        !          10456:            }
        !          10457:            iPtr->result = Tcl_Merge(framePtr->argc, framePtr->argv);
        !          10458:            iPtr->dynamic = 1;
        !          10459:            return TCL_OK;
        !          10460:        }
        !          10461:        sprintf(iPtr->result,
        !          10462:                "wrong # args: should be \"%.50s level [number]\"",
        !          10463:                argv[0]);
        !          10464:        return TCL_ERROR;
        !          10465:     } else if ((c == 'p') && (strncmp(argv[1], "procs", length)) == 0) {
        !          10466:        if (argc > 3) {
        !          10467:            sprintf(iPtr->result,
        !          10468:                    "wrong # args: should be \"%.50s procs [pattern]\"",
        !          10469:                    argv[0]);
        !          10470:            return TCL_ERROR;
        !          10471:        }
        !          10472:        flag = PROCS;
        !          10473:        cmdPtr = iPtr->commandPtr;
        !          10474:     } else if ((c == 't') && (strncmp(argv[1], "tclversion", length) == 0)) {
        !          10475: 
        !          10476:        /*
        !          10477:         * Note:  TCL_VERSION below is expected to be set with a "-D"
        !          10478:         * switch in the Makefile.
        !          10479:         */
        !          10480: 
        !          10481:        strcpy(iPtr->result, TCL_VERSION);
        !          10482:        return TCL_OK;
        !          10483:     } else if ((c == 'v') && (strncmp(argv[1], "vars", length)) == 0) {
        !          10484:        if (argc > 3) {
        !          10485:            sprintf(iPtr->result,
        !          10486:                    "wrong # args: should be \"%.50s vars [pattern]\"",
        !          10487:                    argv[0]);
        !          10488:            return TCL_ERROR;
        !          10489:        }
        !          10490:        flag = VARS;
        !          10491:        if (iPtr->varFramePtr == NULL) {
        !          10492:            varPtr = iPtr->globalPtr;
        !          10493:        } else {
        !          10494:            varPtr = iPtr->varFramePtr->varPtr;
        !          10495:        }
        !          10496:     } else {
        !          10497:        sprintf(iPtr->result, "bad \"%.50s\" option \"%.50s\": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or vars",
        !          10498:                argv[0], argv[1]);
        !          10499:        return TCL_ERROR;
        !          10500:     }
        !          10501: 
        !          10502:     /*
        !          10503:      * At this point we have to assemble a list of something or other.
        !          10504:      * Collect them in an expandable argv-argc array.
        !          10505:      */
        !          10506: 
        !          10507:     if (argc == 3) {
        !          10508:        pattern = argv[2];
        !          10509:     } else {
        !          10510:        pattern = NULL;
        !          10511:     }
        !          10512:     argv = argSpace;
        !          10513:     argSize = ARG_SIZE;
        !          10514:     argc = 0;
        !          10515:     while (1) {
        !          10516:        /*
        !          10517:         * Increase the size of the argument array if necessary to
        !          10518:         * accommodate another string.
        !          10519:         */
        !          10520: 
        !          10521:        if (argc == argSize) {
        !          10522:            char **newArgs;
        !          10523: 
        !          10524:            argSize *= 2;
        !          10525:            newArgs = (char **) malloc((unsigned) argSize*sizeof(char *));
        !          10526:            bcopy((char *) argv, (char *) newArgs, argc*sizeof(char *));
        !          10527:            if (argv != argSpace) {
        !          10528:                free((char *) argv);
        !          10529:            }
        !          10530:            argv = newArgs;
        !          10531:        }
        !          10532: 
        !          10533:        if ((flag == PROCS) || (flag == CMDS)) {
        !          10534:            if (flag == PROCS) {
        !          10535:                for ( ; cmdPtr != NULL; cmdPtr = cmdPtr->nextPtr) {
        !          10536:                    if (TclIsProc(cmdPtr)) {
        !          10537:                        break;
        !          10538:                    }
        !          10539:                }
        !          10540:            }
        !          10541:            if (cmdPtr == NULL) {
        !          10542:                break;
        !          10543:            }
        !          10544:            argv[argc] = cmdPtr->name;
        !          10545:            cmdPtr = cmdPtr->nextPtr;
        !          10546:        } else {
        !          10547:            if (flag == LOCALS) {
        !          10548:                for ( ; varPtr != NULL; varPtr = varPtr->nextPtr) {
        !          10549:                    if (!(varPtr->flags & VAR_GLOBAL)) {
        !          10550:                        break;
        !          10551:                    }
        !          10552:                }
        !          10553:            }
        !          10554:            if (varPtr == NULL) {
        !          10555:                break;
        !          10556:            }
        !          10557:            argv[argc] = varPtr->name;
        !          10558:            varPtr = varPtr->nextPtr;
        !          10559:        }
        !          10560:        if ((pattern == NULL)  || Tcl_StringMatch(argv[argc], pattern)) {
        !          10561:            argc++;
        !          10562:        }
        !          10563:     }
        !          10564: 
        !          10565:     iPtr->result = Tcl_Merge(argc, argv);
        !          10566:     iPtr->dynamic = 1;
        !          10567:     if (argv != argSpace) {
        !          10568:        free((char *) argv);
        !          10569:     }
        !          10570:     return TCL_OK;
        !          10571: }
        !          10572: 
        !          10573: /*
        !          10574:  *----------------------------------------------------------------------
        !          10575:  *
        !          10576:  * Tcl_LengthCmd --
        !          10577:  *
        !          10578:  *     This procedure is invoked to process the "length" Tcl command.
        !          10579:  *     See the user documentation for details on what it does.
        !          10580:  *
        !          10581:  * Results:
        !          10582:  *     A standard Tcl result.
        !          10583:  *
        !          10584:  * Side effects:
        !          10585:  *     See the user documentation.
        !          10586:  *
        !          10587:  *----------------------------------------------------------------------
        !          10588:  */
        !          10589: 
        !          10590:        /* ARGSUSED */
        !          10591: int
        !          10592: Tcl_LengthCmd(dummy, interp, argc, argv)
        !          10593:     ClientData dummy;                  /* Not used. */
        !          10594:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10595:     int argc;                          /* Number of arguments. */
        !          10596:     char **argv;                       /* Argument strings. */
        !          10597: {
        !          10598: #pragma ref dummy
        !          10599:     int count;
        !          10600:     char *p;
        !          10601: 
        !          10602:     if (argc < 2) {
        !          10603:        lengthSyntax:
        !          10604:        sprintf(interp->result,
        !          10605:                "wrong # args: should be \"%.50s value [chars]\"", argv[0]);
        !          10606:        return TCL_ERROR;
        !          10607:     }
        !          10608:     p = argv[1];
        !          10609:     if (argc == 2) {
        !          10610:        char *element;
        !          10611:        int result;
        !          10612: 
        !          10613:        for (count = 0; *p != 0 ; count++) {
        !          10614:            result = TclFindElement(interp, p, &element, &p, (int *) NULL,
        !          10615:                    (int *) NULL);
        !          10616:            if (result != TCL_OK) {
        !          10617:                return result;
        !          10618:            }
        !          10619:            if (*element == 0) {
        !          10620:                break;
        !          10621:            }
        !          10622:        }
        !          10623:     } else if ((argc == 3)
        !          10624:            && (strncmp(argv[2], "chars", strlen(argv[2])) == 0)) {
        !          10625:        count = strlen(p);
        !          10626:     } else {
        !          10627:        goto lengthSyntax;
        !          10628:     }
        !          10629:     sprintf(interp->result, "%d", count);
        !          10630:     return TCL_OK;
        !          10631: }
        !          10632: 
        !          10633: /*
        !          10634:  *----------------------------------------------------------------------
        !          10635:  *
        !          10636:  * Tcl_ListCmd --
        !          10637:  *
        !          10638:  *     This procedure is invoked to process the "list" Tcl command.
        !          10639:  *     See the user documentation for details on what it does.
        !          10640:  *
        !          10641:  * Results:
        !          10642:  *     A standard Tcl result.
        !          10643:  *
        !          10644:  * Side effects:
        !          10645:  *     See the user documentation.
        !          10646:  *
        !          10647:  *----------------------------------------------------------------------
        !          10648:  */
        !          10649: 
        !          10650:        /* ARGSUSED */
        !          10651: int
        !          10652: Tcl_ListCmd(dummy, interp, argc, argv)
        !          10653:     ClientData dummy;                  /* Not used. */
        !          10654:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10655:     int argc;                          /* Number of arguments. */
        !          10656:     char **argv;                       /* Argument strings. */
        !          10657: {
        !          10658: #pragma ref dummy
        !          10659:     if (argc < 2) {
        !          10660:        sprintf(interp->result,
        !          10661:                "not enough args:  should be \"%.50s arg [arg ...]\"",
        !          10662:                argv[0]);
        !          10663:        return TCL_ERROR;
        !          10664:     }
        !          10665:     interp->result = Tcl_Merge(argc-1, argv+1);
        !          10666:     interp->dynamic = 1;
        !          10667:     return TCL_OK;
        !          10668: }
        !          10669: 
        !          10670: /*
        !          10671:  *----------------------------------------------------------------------
        !          10672:  *
        !          10673:  * Tcl_PrintCmd --
        !          10674:  *
        !          10675:  *     This procedure is invoked to process the "print" Tcl command.
        !          10676:  *     See the user documentation for details on what it does.
        !          10677:  *
        !          10678:  * Results:
        !          10679:  *     A standard Tcl result.
        !          10680:  *
        !          10681:  * Side effects:
        !          10682:  *     See the user documentation.
        !          10683:  *
        !          10684:  *----------------------------------------------------------------------
        !          10685:  */
        !          10686: 
        !          10687:        /* ARGSUSED */
        !          10688: int
        !          10689: Tcl_PrintCmd(notUsed, interp, argc, argv)
        !          10690:     ClientData notUsed;                        /* Not used. */
        !          10691:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10692:     int argc;                          /* Number of arguments. */
        !          10693:     char **argv;                       /* Argument strings. */
        !          10694: {
        !          10695: #pragma ref notUsed
        !          10696:     FILE *f;
        !          10697:     int result;
        !          10698: 
        !          10699:     if ((argc < 2) || (argc > 4)) {
        !          10700:        sprintf(interp->result,
        !          10701:                "wrong # args: should be \"%.50s string [file [append]]\"",
        !          10702:                argv[0]);
        !          10703:        return TCL_ERROR;
        !          10704:     }
        !          10705: 
        !          10706:     if (argc == 2) {
        !          10707:        f = stdout;
        !          10708:     } else {
        !          10709:        if (argc == 4) {
        !          10710:            if (strncmp(argv[3], "append", strlen(argv[3])) != 0) {
        !          10711:                sprintf(interp->result,
        !          10712:                        "bad option \"%.50s\":  must be \"append\"",
        !          10713:                        argv[3]);
        !          10714:                return TCL_ERROR;
        !          10715:            }
        !          10716:            f = fopen(argv[2], "a");
        !          10717:        } else {
        !          10718:            f = fopen(argv[2], "w");
        !          10719:        }
        !          10720:        if (f == NULL) {
        !          10721:            sprintf(interp->result, "couldn't open \"%.50s\": %.80s",
        !          10722:                    argv[2], strerror(errno));
        !          10723:            return TCL_ERROR;
        !          10724:        }
        !          10725:     }
        !          10726:     fputs(argv[1], f);
        !          10727:     if (argc == 2) {
        !          10728:        result = fflush(stdout);
        !          10729:     } else {
        !          10730:        result = fclose(f);
        !          10731:     }
        !          10732:     if (result == EOF) {
        !          10733:        sprintf(interp->result, "I/O error while writing: %.50s",
        !          10734:                strerror(errno));
        !          10735:        return TCL_ERROR;
        !          10736:     }
        !          10737:     return TCL_OK;
        !          10738: }
        !          10739: 
        !          10740: /*
        !          10741:  *----------------------------------------------------------------------
        !          10742:  *
        !          10743:  * Tcl_RangeCmd --
        !          10744:  *
        !          10745:  *     This procedure is invoked to process the "range" Tcl command.
        !          10746:  *     See the user documentation for details on what it does.
        !          10747:  *
        !          10748:  * Results:
        !          10749:  *     A standard Tcl result.
        !          10750:  *
        !          10751:  * Side effects:
        !          10752:  *     See the user documentation.
        !          10753:  *
        !          10754:  *----------------------------------------------------------------------
        !          10755:  */
        !          10756: 
        !          10757:        /* ARGSUSED */
        !          10758: int
        !          10759: Tcl_RangeCmd(notUsed, interp, argc, argv)
        !          10760:     ClientData notUsed;                        /* Not used. */
        !          10761:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10762:     int argc;                          /* Number of arguments. */
        !          10763:     char **argv;                       /* Argument strings. */
        !          10764: {
        !          10765: #pragma ref notUsed
        !          10766:     int first, last, result;
        !          10767:     char *begin, *end, c, *dummy;
        !          10768:     int count;
        !          10769: 
        !          10770:     if (argc < 4) {
        !          10771:        rangeSyntax:
        !          10772:        sprintf(interp->result, "wrong #/type of args: should be \"%.50s value first last [chars]\"",
        !          10773:                argv[0]);
        !          10774:        return TCL_ERROR;
        !          10775:     }
        !          10776:     first = atoi(argv[2]);
        !          10777:     if (!isdigit(*argv[2]) || (first < 0)) {
        !          10778:        sprintf(interp->result, "bad range specifier \"%.50s\"", argv[2]);
        !          10779:        return TCL_ERROR;
        !          10780:     }
        !          10781:     if ((*argv[3] == 'e') && (strncmp(argv[3], "end", strlen(argv[3])) == 0)) {
        !          10782:        last = -1;
        !          10783:     } else {
        !          10784:        last = atoi(argv[3]);
        !          10785:        if (!isdigit(*argv[3]) || (last < 0)) {
        !          10786:            sprintf(interp->result, "bad range specifier \"%.50s\"", argv[3]);
        !          10787:            return TCL_ERROR;
        !          10788:        }
        !          10789:     }
        !          10790: 
        !          10791:     if (argc == 5) {
        !          10792:        count = strlen(argv[4]);
        !          10793:        if ((count == 0) || (strncmp(argv[4], "chars", count) != 0)) {
        !          10794:            goto rangeSyntax;
        !          10795:        }
        !          10796: 
        !          10797:        /*
        !          10798:         * Extract a range of characters.
        !          10799:         */
        !          10800: 
        !          10801:        count = strlen(argv[1]);
        !          10802:        if (first >= count) {
        !          10803:            interp->result = "";
        !          10804:            return TCL_OK;
        !          10805:        }
        !          10806:        begin = argv[1] + first;
        !          10807:        if ((last == -1) || (last >= count)) {
        !          10808:            last = count;
        !          10809:        } else if (last < first) {
        !          10810:            interp->result = "";
        !          10811:            return TCL_OK;
        !          10812:        }
        !          10813:        end = argv[1] + last + 1;
        !          10814:     } else {
        !          10815:        if (argc != 4) {
        !          10816:            goto rangeSyntax;
        !          10817:        }
        !          10818: 
        !          10819:        /*
        !          10820:         * Extract a range of fields.
        !          10821:         */
        !          10822: 
        !          10823:        for (count = 0, begin = argv[1]; count < first; count++) {
        !          10824:            result = TclFindElement(interp, begin, &dummy, &begin, (int *) NULL,
        !          10825:                    (int *) NULL);
        !          10826:            if (result != TCL_OK) {
        !          10827:                return result;
        !          10828:            }
        !          10829:            if (*begin == 0) {
        !          10830:                break;
        !          10831:            }
        !          10832:        }
        !          10833:        if (last == -1) {
        !          10834:            Tcl_Return(interp, begin, TCL_VOLATILE);
        !          10835:            return TCL_OK;
        !          10836:        }
        !          10837:        if (last < first) {
        !          10838:            interp->result = "";
        !          10839:            return TCL_OK;
        !          10840:        }
        !          10841:        for (count = first, end = begin; (count <= last) && (*end != 0);
        !          10842:                count++) {
        !          10843:            result = TclFindElement(interp, end, &dummy, &end, (int *) NULL,
        !          10844:                    (int *) NULL);
        !          10845:            if (result != TCL_OK) {
        !          10846:                return result;
        !          10847:            }
        !          10848:        }
        !          10849: 
        !          10850:        /*
        !          10851:         * Chop off trailing spaces.
        !          10852:         */
        !          10853: 
        !          10854:        while (isspace(end[-1])) {
        !          10855:            end--;
        !          10856:        }
        !          10857:     }
        !          10858:     c = *end;
        !          10859:     *end = 0;
        !          10860:     Tcl_Return(interp, begin, TCL_VOLATILE);
        !          10861:     *end = c;
        !          10862:     return TCL_OK;
        !          10863: }
        !          10864: 
        !          10865: /*
        !          10866:  *----------------------------------------------------------------------
        !          10867:  *
        !          10868:  * Tcl_RenameCmd --
        !          10869:  *
        !          10870:  *     This procedure is invoked to process the "rename" Tcl command.
        !          10871:  *     See the user documentation for details on what it does.
        !          10872:  *
        !          10873:  * Results:
        !          10874:  *     A standard Tcl result.
        !          10875:  *
        !          10876:  * Side effects:
        !          10877:  *     See the user documentation.
        !          10878:  *
        !          10879:  *----------------------------------------------------------------------
        !          10880:  */
        !          10881: 
        !          10882:        /* ARGSUSED */
        !          10883: int
        !          10884: Tcl_RenameCmd(dummy, interp, argc, argv)
        !          10885:     ClientData dummy;                  /* Not used. */
        !          10886:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10887:     int argc;                          /* Number of arguments. */
        !          10888:     char **argv;                       /* Argument strings. */
        !          10889: {
        !          10890: #pragma ref dummy
        !          10891:     register Command *oldPtr, *newPtr;
        !          10892:     Interp *iPtr = (Interp *) interp;
        !          10893: 
        !          10894:     if (argc != 3) {
        !          10895:        sprintf(interp->result,
        !          10896:                "wrong # args: should be \"%.50s oldName newName\"",
        !          10897:                argv[0]);
        !          10898:        return TCL_ERROR;
        !          10899:     }
        !          10900:     if (argv[2][0] == '\0') {
        !          10901:        Tcl_DeleteCommand(interp, argv[1]);
        !          10902:        return TCL_OK;
        !          10903:     }
        !          10904:     newPtr = TclFindCmd(iPtr, argv[2], 0);
        !          10905:     if (newPtr != NULL) {
        !          10906:        sprintf(interp->result, "can't rename to \"%.50s\": already exists",
        !          10907:                argv[2]);
        !          10908:        return TCL_ERROR;
        !          10909:     }
        !          10910:     oldPtr = TclFindCmd(iPtr, argv[1], 0);
        !          10911:     if (oldPtr == NULL) {
        !          10912:        sprintf(interp->result,
        !          10913:                "can't rename \"%.50s\":  command doesn't exist",
        !          10914:                argv[1]);
        !          10915:        return TCL_ERROR;
        !          10916:     }
        !          10917:     iPtr->commandPtr = oldPtr->nextPtr;
        !          10918:     newPtr = (Command *) malloc(CMD_SIZE(strlen(argv[2])));
        !          10919:     newPtr->proc = oldPtr->proc;
        !          10920:     newPtr->clientData = oldPtr->clientData;
        !          10921:     newPtr->deleteProc = oldPtr->deleteProc;
        !          10922:     newPtr->nextPtr = iPtr->commandPtr;
        !          10923:     iPtr->commandPtr = newPtr;
        !          10924:     strcpy(newPtr->name, argv[2]);
        !          10925:     free((char *) oldPtr);
        !          10926:     return TCL_OK;
        !          10927: }
        !          10928: 
        !          10929: /*
        !          10930:  *----------------------------------------------------------------------
        !          10931:  *
        !          10932:  * Tcl_ReturnCmd --
        !          10933:  *
        !          10934:  *     This procedure is invoked to process the "return" Tcl command.
        !          10935:  *     See the user documentation for details on what it does.
        !          10936:  *
        !          10937:  * Results:
        !          10938:  *     A standard Tcl result.
        !          10939:  *
        !          10940:  * Side effects:
        !          10941:  *     See the user documentation.
        !          10942:  *
        !          10943:  *----------------------------------------------------------------------
        !          10944:  */
        !          10945: 
        !          10946:        /* ARGSUSED */
        !          10947: int
        !          10948: Tcl_ReturnCmd(dummy, interp, argc, argv)
        !          10949:     ClientData dummy;                  /* Not used. */
        !          10950:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10951:     int argc;                          /* Number of arguments. */
        !          10952:     char **argv;                       /* Argument strings. */
        !          10953: {
        !          10954: #pragma ref dummy
        !          10955:     if (argc > 2) {
        !          10956:        sprintf(interp->result, "too many args: should be \"%.50s [value]\"",
        !          10957:                argv[0]);
        !          10958:        return TCL_ERROR;
        !          10959:     }
        !          10960:     if (argc == 2) {
        !          10961:        Tcl_Return(interp, argv[1], TCL_VOLATILE);
        !          10962:     }
        !          10963:     return TCL_RETURN;
        !          10964: }
        !          10965: 
        !          10966: /*
        !          10967:  *----------------------------------------------------------------------
        !          10968:  *
        !          10969:  * Tcl_ScanCmd --
        !          10970:  *
        !          10971:  *     This procedure is invoked to process the "scan" Tcl command.
        !          10972:  *     See the user documentation for details on what it does.
        !          10973:  *
        !          10974:  * Results:
        !          10975:  *     A standard Tcl result.
        !          10976:  *
        !          10977:  * Side effects:
        !          10978:  *     See the user documentation.
        !          10979:  *
        !          10980:  *----------------------------------------------------------------------
        !          10981:  */
        !          10982: 
        !          10983:        /* ARGSUSED */
        !          10984: int
        !          10985: Tcl_ScanCmd(dummy, interp, argc, argv)
        !          10986:     ClientData dummy;                  /* Not used. */
        !          10987:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          10988:     int argc;                          /* Number of arguments. */
        !          10989:     char **argv;                       /* Argument strings. */
        !          10990: {
        !          10991: #pragma ref dummy
        !          10992:     int arg1Length;                    /* Number of bytes in argument to be
        !          10993:                                         * scanned.  This gives an upper limit
        !          10994:                                         * on string field sizes. */
        !          10995: #   define MAX_FIELDS 20
        !          10996:     typedef struct {
        !          10997:        char fmt;                       /* Format for field. */
        !          10998:        int size;                       /* How many bytes to allow for
        !          10999:                                         * field. */
        !          11000:        char *location;                 /* Where field will be stored. */
        !          11001:     } Field;
        !          11002:     Field fields[MAX_FIELDS];          /* Info about all the fields in the
        !          11003:                                         * format string. */
        !          11004:     register Field *curField;
        !          11005:     int numFields = 0;                 /* Number of fields actually
        !          11006:                                         * specified. */
        !          11007:     int suppress;                      /* Current field is assignment-
        !          11008:                                         * suppressed. */
        !          11009:     int totalSize = 0;                 /* Number of bytes needed to store
        !          11010:                                         * all results combined. */
        !          11011:     char *results;                     /* Where scanned output goes.  */
        !          11012:     int numScanned;                    /* sscanf's result. */
        !          11013:     register char *fmt;
        !          11014:     int i;
        !          11015: 
        !          11016:     if (argc < 3) {
        !          11017:        sprintf(interp->result,
        !          11018:                "too few args: should be \"%.50s string format varName ...\"",
        !          11019:                argv[0]);
        !          11020:        return TCL_ERROR;
        !          11021:     }
        !          11022: 
        !          11023:     /*
        !          11024:      * This procedure operates in four stages:
        !          11025:      * 1. Scan the format string, collecting information about each field.
        !          11026:      * 2. Allocate an array to hold all of the scanned fields.
        !          11027:      * 3. Call sscanf to do all the dirty work, and have it store the
        !          11028:      *    parsed fields in the array.
        !          11029:      * 4. Pick off the fields from the array and assign them to variables.
        !          11030:      */
        !          11031: 
        !          11032:     arg1Length = (strlen(argv[1]) + 4) & ~03;
        !          11033:     for (fmt = argv[2]; *fmt != 0; fmt++) {
        !          11034:        if (*fmt != '%') {
        !          11035:            continue;
        !          11036:        }
        !          11037:        fmt++;
        !          11038:        if (*fmt == '*') {
        !          11039:            suppress = 1;
        !          11040:            fmt++;
        !          11041:        } else {
        !          11042:            suppress = 0;
        !          11043:        }
        !          11044:        while (isdigit(*fmt)) {
        !          11045:            fmt++;
        !          11046:        }
        !          11047:        if (suppress) {
        !          11048:            continue;
        !          11049:        }
        !          11050:        if (numFields == MAX_FIELDS) {
        !          11051:            sprintf(interp->result,
        !          11052:                    "can't have more than %d fields in \"%.50s\"", MAX_FIELDS,
        !          11053:                    argv[0]);
        !          11054:            return TCL_ERROR;
        !          11055:        }
        !          11056:        curField = &fields[numFields];
        !          11057:        numFields++;
        !          11058:        switch (*fmt) {
        !          11059:            case 'D':
        !          11060:            case 'O':
        !          11061:            case 'X':
        !          11062:            case 'd':
        !          11063:            case 'o':
        !          11064:            case 'x':
        !          11065:                curField->fmt = 'd';
        !          11066:                curField->size = sizeof(int);
        !          11067:                break;
        !          11068: 
        !          11069:            case 's':
        !          11070:                curField->fmt = 's';
        !          11071:                curField->size = arg1Length;
        !          11072:                break;
        !          11073: 
        !          11074:            case 'c':
        !          11075:                curField->fmt = 'c';
        !          11076:                curField->size = sizeof(int);
        !          11077:                break;
        !          11078: 
        !          11079:            case 'E':
        !          11080:            case 'F':
        !          11081:                curField->fmt = 'F';
        !          11082:                curField->size = 8;
        !          11083:                break;
        !          11084: 
        !          11085:            case 'e':
        !          11086:            case 'f':
        !          11087:                curField->fmt = 'f';
        !          11088:                curField->size = 4;
        !          11089:                break;
        !          11090: 
        !          11091:            case '[':
        !          11092:                curField->fmt = 's';
        !          11093:                curField->size = arg1Length;
        !          11094:                do {
        !          11095:                    fmt++;
        !          11096:                } while (*fmt != ']');
        !          11097:                break;
        !          11098: 
        !          11099:            default:
        !          11100:                sprintf(interp->result, "bad scan conversion character \"%c\"",
        !          11101:                        *fmt);
        !          11102:                return TCL_ERROR;
        !          11103:        }
        !          11104:        totalSize += curField->size;
        !          11105:     }
        !          11106: 
        !          11107:     if (numFields != (argc-3)) {
        !          11108:        interp->result =
        !          11109:                "different numbers of variable names and field specifiers";
        !          11110:        return TCL_ERROR;
        !          11111:     }
        !          11112: 
        !          11113:     /*
        !          11114:      * Step 2:
        !          11115:      */
        !          11116: 
        !          11117:     results = (char *) malloc((unsigned) totalSize);
        !          11118:     for (i = 0, totalSize = 0, curField = fields;
        !          11119:            i < numFields; i++, curField++) {
        !          11120:        curField->location = results + totalSize;
        !          11121:        totalSize += curField->size;
        !          11122:     }
        !          11123: 
        !          11124:     /*
        !          11125:      * Step 3:
        !          11126:      */
        !          11127: 
        !          11128:     numScanned = sscanf(argv[1], argv[2],
        !          11129:            fields[0].location, fields[1].location, fields[2].location,
        !          11130:            fields[3].location, fields[4].location);
        !          11131: 
        !          11132:     /*
        !          11133:      * Step 4:
        !          11134:      */
        !          11135: 
        !          11136:     if (numScanned < numFields) {
        !          11137:        numFields = numScanned;
        !          11138:     }
        !          11139:     for (i = 0, curField = fields; i < numFields; i++, curField++) {
        !          11140:        switch (curField->fmt) {
        !          11141:            char string[30];
        !          11142: 
        !          11143:            case 'd':
        !          11144:                sprintf(string, "%d", *((int *) curField->location));
        !          11145:                Tcl_SetVar(interp, argv[i+3], string, 0);
        !          11146:                break;
        !          11147: 
        !          11148:            case 'c':
        !          11149:                sprintf(string, "%d", *((char *) curField->location) & 0xff);
        !          11150:                Tcl_SetVar(interp, argv[i+3], string, 0);
        !          11151:                break;
        !          11152: 
        !          11153:            case 's':
        !          11154:                Tcl_SetVar(interp, argv[i+3], curField->location, 0);
        !          11155:                break;
        !          11156: 
        !          11157:            case 'F':
        !          11158:                sprintf(string, "%g", *((double *) curField->location));
        !          11159:                Tcl_SetVar(interp, argv[i+3], string, 0);
        !          11160:                break;
        !          11161: 
        !          11162:            case 'f':
        !          11163:                sprintf(string, "%g", *((float *) curField->location));
        !          11164:                Tcl_SetVar(interp, argv[i+3], string, 0);
        !          11165:                break;
        !          11166:        }
        !          11167:     }
        !          11168:     free(results);
        !          11169:     sprintf(interp->result, "%d", numScanned);
        !          11170:     return TCL_OK;
        !          11171: }
        !          11172: 
        !          11173: /*
        !          11174:  *----------------------------------------------------------------------
        !          11175:  *
        !          11176:  * Tcl_SourceCmd --
        !          11177:  *
        !          11178:  *     This procedure is invoked to process the "source" Tcl command.
        !          11179:  *     See the user documentation for details on what it does.
        !          11180:  *
        !          11181:  * Results:
        !          11182:  *     A standard Tcl result.
        !          11183:  *
        !          11184:  * Side effects:
        !          11185:  *     See the user documentation.
        !          11186:  *
        !          11187:  *----------------------------------------------------------------------
        !          11188:  */
        !          11189: 
        !          11190:        /* ARGSUSED */
        !          11191: int
        !          11192: Tcl_SourceCmd(dummy, interp, argc, argv)
        !          11193:     ClientData dummy;                  /* Not used. */
        !          11194:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          11195:     int argc;                          /* Number of arguments. */
        !          11196:     char **argv;                       /* Argument strings. */
        !          11197: {
        !          11198: #pragma ref dummy
        !          11199:     int fileId, result;
        !          11200:     struct stat statBuf;
        !          11201:     char *cmdBuffer, *end;
        !          11202:     char *fileName;
        !          11203: 
        !          11204:     if (argc != 2) {
        !          11205:        sprintf(interp->result, "wrong # args: should be \"%.50s fileName\"",
        !          11206:                argv[0]);
        !          11207:        return TCL_ERROR;
        !          11208:     }
        !          11209:     fileName = Tcl_TildeSubst(interp, argv[1]);
        !          11210:     if (fileName == NULL) {
        !          11211:        return TCL_ERROR;
        !          11212:     }
        !          11213:     fileId = open(fileName, O_RDONLY, 0);
        !          11214:     if (fileId < 0) {
        !          11215:        sprintf(interp->result, "couldn't read file \"%.50s\"", argv[1]);
        !          11216:        return TCL_ERROR;
        !          11217:     }
        !          11218:     if (fstat(fileId, &statBuf) == -1) {
        !          11219:        sprintf(interp->result, "couldn't stat file \"%.50s\"", argv[1]);
        !          11220:        close(fileId);
        !          11221:        return TCL_ERROR;
        !          11222:     }
        !          11223:     cmdBuffer = (char *) malloc((unsigned) statBuf.st_size+1);
        !          11224:     if (read(fileId, cmdBuffer, (int) statBuf.st_size) != statBuf.st_size) {
        !          11225:        sprintf(interp->result, "error in reading file \"%.50s\"", argv[1]);
        !          11226:        close(fileId);
        !          11227:        return TCL_ERROR;
        !          11228:     }
        !          11229:     close(fileId);
        !          11230:     cmdBuffer[statBuf.st_size] = 0;
        !          11231:     result = Tcl_Eval(interp, cmdBuffer, 0, &end);
        !          11232:     if (result == TCL_RETURN) {
        !          11233:        result = TCL_OK;
        !          11234:     }
        !          11235:     if (result == TCL_ERROR) {
        !          11236:        char msg[100];
        !          11237: 
        !          11238:        /*
        !          11239:         * Record information telling where the error occurred.
        !          11240:         */
        !          11241: 
        !          11242:        sprintf(msg, " (file \"%.50s\" line %d)", argv[1], interp->errorLine);
        !          11243:        Tcl_AddErrorInfo(interp, msg);
        !          11244:     }
        !          11245:     free(cmdBuffer);
        !          11246:     return result;
        !          11247: }
        !          11248: 
        !          11249: /*
        !          11250:  *----------------------------------------------------------------------
        !          11251:  *
        !          11252:  * Tcl_StringCmd --
        !          11253:  *
        !          11254:  *     This procedure is invoked to process the "string" Tcl command.
        !          11255:  *     See the user documentation for details on what it does.
        !          11256:  *
        !          11257:  * Results:
        !          11258:  *     A standard Tcl result.
        !          11259:  *
        !          11260:  * Side effects:
        !          11261:  *     See the user documentation.
        !          11262:  *
        !          11263:  *----------------------------------------------------------------------
        !          11264:  */
        !          11265: 
        !          11266:        /* ARGSUSED */
        !          11267: int
        !          11268: Tcl_StringCmd(dummy, interp, argc, argv)
        !          11269:     ClientData dummy;                  /* Not used. */
        !          11270:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          11271:     int argc;                          /* Number of arguments. */
        !          11272:     char **argv;                       /* Argument strings. */
        !          11273: {
        !          11274: #pragma ref dummy
        !          11275:     int length;
        !          11276:     register char *p, c;
        !          11277:     int match;
        !          11278:     int first;
        !          11279: 
        !          11280:     if (argc != 4) {
        !          11281:        sprintf(interp->result,
        !          11282:                "wrong # args: should be \"%.50s option a b\"",
        !          11283:                argv[0]);
        !          11284:        return TCL_ERROR;
        !          11285:     }
        !          11286:     length = strlen(argv[1]);
        !          11287:     if (strncmp(argv[1], "compare", length) == 0) {
        !          11288:        match = strcmp(argv[2], argv[3]);
        !          11289:        if (match > 0) {
        !          11290:            interp->result = "1";
        !          11291:        } else if (match < 0) {
        !          11292:            interp->result = "-1";
        !          11293:        } else {
        !          11294:            interp->result = "0";
        !          11295:        }
        !          11296:        return TCL_OK;
        !          11297:     }
        !          11298:     if (strncmp(argv[1], "first", length) == 0) {
        !          11299:        first = 1;
        !          11300:     } else if (strncmp(argv[1], "last", length) == 0) {
        !          11301:        first = 0;
        !          11302:     } else if (strncmp(argv[1], "match", length) == 0) {
        !          11303:        if (Tcl_StringMatch(argv[3], argv[2]) != 0) {
        !          11304:            interp->result = "1";
        !          11305:        } else {
        !          11306:            interp->result = "0";
        !          11307:        }
        !          11308:        return TCL_OK;
        !          11309:     } else {
        !          11310:        sprintf(interp->result,
        !          11311:                "bad \"%.50s\" option \"%.50s\": must be compare, first, or last",
        !          11312:                argv[0], argv[1]);
        !          11313:        return TCL_ERROR;
        !          11314:     }
        !          11315:     match = -1;
        !          11316:     c = *argv[2];
        !          11317:     length = strlen(argv[2]);
        !          11318:     for (p = argv[3]; *p != 0; p++) {
        !          11319:        if (*p != c) {
        !          11320:            continue;
        !          11321:        }
        !          11322:        if (strncmp(argv[2], p, length) == 0) {
        !          11323:            match = p-argv[3];
        !          11324:            if (first) {
        !          11325:                break;
        !          11326:            }
        !          11327:        }
        !          11328:     }
        !          11329:     sprintf(interp->result, "%d", match);
        !          11330:     return TCL_OK;
        !          11331: }
        !          11332: 
        !          11333: /*
        !          11334:  *----------------------------------------------------------------------
        !          11335:  *
        !          11336:  * Tcl_TimeCmd --
        !          11337:  *
        !          11338:  *     This procedure is invoked to process the "time" Tcl command.
        !          11339:  *     See the user documentation for details on what it does.
        !          11340:  *
        !          11341:  * Results:
        !          11342:  *     A standard Tcl result.
        !          11343:  *
        !          11344:  * Side effects:
        !          11345:  *     See the user documentation.
        !          11346:  *
        !          11347:  *----------------------------------------------------------------------
        !          11348:  */
        !          11349: 
        !          11350:        /* ARGSUSED */
        !          11351: int
        !          11352: Tcl_TimeCmd(dummy, interp, argc, argv)
        !          11353:     ClientData dummy;                  /* Not used. */
        !          11354:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          11355:     int argc;                          /* Number of arguments. */
        !          11356:     char **argv;                       /* Argument strings. */
        !          11357: {
        !          11358: #pragma ref dummy
        !          11359:     int count, i, result;
        !          11360:     struct tms start, stop;
        !          11361:     int micros;
        !          11362:     double timePer;
        !          11363: 
        !          11364:     if (argc == 2) {
        !          11365:        count = 1;
        !          11366:     } else if (argc == 3) {
        !          11367:        if (sscanf(argv[2], "%d", &count) != 1) {
        !          11368:            sprintf(interp->result, "bad count \"%.50s\" given to \"%.50s\"",
        !          11369:                    argv[2], argv[0]);
        !          11370:            return TCL_ERROR;
        !          11371:        }
        !          11372:     } else {
        !          11373:        sprintf(interp->result,
        !          11374:                "wrong # args: should be \"%.50s command [count]\"",
        !          11375:                argv[0]);
        !          11376:        return TCL_ERROR;
        !          11377:     }
        !          11378:     times(&start);
        !          11379:     for (i = count ; i > 0; i--) {
        !          11380:        result = Tcl_Eval(interp, argv[1], 0, (char **) NULL);
        !          11381:        if (result != TCL_OK) {
        !          11382:            if (result == TCL_ERROR) {
        !          11383:                char msg[60];
        !          11384:                sprintf(msg, " (\"time\" body line %d)", interp->errorLine);
        !          11385:                Tcl_AddErrorInfo(interp, msg);
        !          11386:            }
        !          11387:            return result;
        !          11388:        }
        !          11389:     }
        !          11390:     times(&stop);
        !          11391:     micros = (stop.tms_utime - start.tms_utime)*1000000;
        !          11392:     timePer = micros;
        !          11393:     Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          11394:     sprintf(interp->result, "%.0f microseconds per iteration", timePer/count);
        !          11395:     return TCL_OK;
        !          11396: }
        !          11397: 0707070035050510661006660011710000040000010722100466302744600001600000042105tcl/tclExpr.c/* 
        !          11398:  * tclExpr.c --
        !          11399:  *
        !          11400:  *     This file contains the code to evaluate expressions for
        !          11401:  *     Tcl.
        !          11402:  *
        !          11403:  * Copyright 1987 Regents of the University of California
        !          11404:  * Permission to use, copy, modify, and distribute this
        !          11405:  * software and its documentation for any purpose and without
        !          11406:  * fee is hereby granted, provided that the above copyright
        !          11407:  * notice appear in all copies.  The University of California
        !          11408:  * makes no representations about the suitability of this
        !          11409:  * software for any purpose.  It is provided "as is" without
        !          11410:  * express or implied warranty.
        !          11411:  */
        !          11412: 
        !          11413: #ifndef lint
        !          11414: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclExpr.c,v 1.13 90/03/22 15:24:59 ouster Exp $ SPRITE (Berkeley)";
        !          11415: #pragma ref rcsid
        !          11416: #endif not lint
        !          11417: 
        !          11418: #define        _POSIX_SOURCE
        !          11419: 
        !          11420: #include <stdio.h>
        !          11421: #include <ctype.h>
        !          11422: #include "tcl.h"
        !          11423: #include "tclInt.h"
        !          11424: 
        !          11425: /*
        !          11426:  * The data structure below describes the state of parsing an expression.
        !          11427:  * It's passed among the routines in this module.
        !          11428:  */
        !          11429: 
        !          11430: typedef struct {
        !          11431:     Tcl_Interp *interp;                /* Intepreter to use for command execution
        !          11432:                                 * and variable lookup. */
        !          11433:     char *originalExpr;                /* The entire expression, as originally
        !          11434:                                 * passed to Tcl_Expr. */
        !          11435:     char *expr;                        /* Position to the next character to be
        !          11436:                                 * scanned from the expression string. */
        !          11437:     int token;                 /* Type of the last token to be parsed from
        !          11438:                                 * expr.  See below for definitions.
        !          11439:                                 * Corresponds to the characters just
        !          11440:                                 * before expr. */
        !          11441:     int number;                        /* If token is NUMBER, gives value of
        !          11442:                                 * the number. */
        !          11443: } ExprInfo;
        !          11444: 
        !          11445: /*
        !          11446:  * The token types are defined below.  In addition, there is a table
        !          11447:  * associating a precedence with each operator.  The order of types
        !          11448:  * is important.  Consult the code before changing it.
        !          11449:  */
        !          11450: 
        !          11451: #define NUMBER         0
        !          11452: #define OPEN_PAREN     1
        !          11453: #define CLOSE_PAREN    2
        !          11454: #define END            3
        !          11455: #define UNKNOWN                4
        !          11456: 
        !          11457: /*
        !          11458:  * Binary operators:
        !          11459:  */
        !          11460: 
        !          11461: #define MULT           8
        !          11462: #define DIVIDE         9
        !          11463: #define MOD            10
        !          11464: #define PLUS           11
        !          11465: #define MINUS          12
        !          11466: #define LEFT_SHIFT     13
        !          11467: #define RIGHT_SHIFT    14
        !          11468: #define LESS           15
        !          11469: #define GREATER                16
        !          11470: #define LEQ            17
        !          11471: #define GEQ            18
        !          11472: #define EQUAL          19
        !          11473: #define NEQ            20
        !          11474: #define BIT_AND                21
        !          11475: #define BIT_XOR                22
        !          11476: #define BIT_OR         23
        !          11477: #define AND            24
        !          11478: #define OR             25
        !          11479: #define QUESTY         26
        !          11480: #define COLON          27
        !          11481: 
        !          11482: /*
        !          11483:  * Unary operators:
        !          11484:  */
        !          11485: 
        !          11486: #define        UNARY_MINUS     28
        !          11487: #define NOT            29
        !          11488: #define BIT_NOT                30
        !          11489: 
        !          11490: /*
        !          11491:  * Precedence table.  The values for non-operator token types are ignored.
        !          11492:  */
        !          11493: 
        !          11494: int precTable[] = {
        !          11495:     0, 0, 0, 0, 0, 0, 0, 0,
        !          11496:     11, 11, 11,                                /* MULT, DIVIDE, MOD */
        !          11497:     10, 10,                            /* PLUS, MINUS */
        !          11498:     9, 9,                              /* LEFT_SHIFT, RIGHT_SHIFT */
        !          11499:     8, 8, 8, 8,                                /* LESS, GREATER, LEQ, GEQ */
        !          11500:     7, 7,                              /* EQUAL, NEQ */
        !          11501:     6,                                 /* BIT_AND */
        !          11502:     5,                                 /* BIT_XOR */
        !          11503:     4,                                 /* BIT_OR */
        !          11504:     3,                                 /* AND */
        !          11505:     2,                                 /* OR */
        !          11506:     1, 1,                              /* QUESTY, COLON */
        !          11507:     12, 12, 12                         /* UNARY_MINUS, NOT, BIT_NOT */
        !          11508: };
        !          11509: 
        !          11510: /*
        !          11511:  *----------------------------------------------------------------------
        !          11512:  *
        !          11513:  * ExprGetNum --
        !          11514:  *
        !          11515:  *     Parse off a number from a string.
        !          11516:  *
        !          11517:  * Results:
        !          11518:  *     The return value is the integer value corresponding to the
        !          11519:  *     leading digits of string.  If termPtr isn't NULL, *termPtr
        !          11520:  *     is filled in with the address of the character after the
        !          11521:  *     last one that is part of the number.
        !          11522:  *
        !          11523:  * Side effects:
        !          11524:  *     None.
        !          11525:  *
        !          11526:  *----------------------------------------------------------------------
        !          11527:  */
        !          11528: 
        !          11529: int
        !          11530: ExprGetNum(string, termPtr)
        !          11531:     register char *string;             /* ASCII representation of number.
        !          11532:                                         * If leading digit is "0" then read
        !          11533:                                         * in base 8;  if "0x", then read in
        !          11534:                                         * base 16. */
        !          11535:     register char **termPtr;           /* If non-NULL, fill in with address
        !          11536:                                         * of terminating character. */
        !          11537: {
        !          11538:     int result, sign;
        !          11539:     register char c;
        !          11540: 
        !          11541:     c = *string;
        !          11542:     result = 0;
        !          11543:     if (c == '-') {
        !          11544:        sign = -1;
        !          11545:        string++; c = *string;
        !          11546:     } else {
        !          11547:        sign = 1;
        !          11548:     }
        !          11549:     if (c == '0') {
        !          11550:        string++; c = *string;
        !          11551:        if (c == 'x') {
        !          11552:            while (1) {
        !          11553:                string++; c = *string;
        !          11554:                if ((c >= '0') && (c <= '9')) {
        !          11555:                    result = (result << 4) + (c - '0');
        !          11556:                } else if ((c >= 'a') && (c <= 'f')) {
        !          11557:                    result = (result << 4) + 10 + (c - 'a');
        !          11558:                } else if ((c >= 'A') && (c <= 'F')) {
        !          11559:                    result = (result << 4) + 10 + (c - 'A');
        !          11560:                } else {
        !          11561:                    break;
        !          11562:                }
        !          11563:            }
        !          11564:        } else {
        !          11565:            while ((c >= '0') && (c <= '7')) {
        !          11566:                result = (result << 3) + (c - '0');
        !          11567:                string++;  c = *string;
        !          11568:            }
        !          11569:        }
        !          11570:     } else {
        !          11571:        while ((c >= '0') && (c <= '9')) {
        !          11572:            result = (result*10) + (c - '0');
        !          11573:            string++;  c = *string;
        !          11574:        }
        !          11575:     }
        !          11576:     if (termPtr != NULL) {
        !          11577:        *termPtr = string;
        !          11578:     }
        !          11579:     return result*sign;
        !          11580: }
        !          11581: 
        !          11582: /*
        !          11583:  *----------------------------------------------------------------------
        !          11584:  *
        !          11585:  * ExprLex --
        !          11586:  *
        !          11587:  *     Lexical analyzer for expression parser.
        !          11588:  *
        !          11589:  * Results:
        !          11590:  *     TCL_OK is returned unless an error occurred while doing lexical
        !          11591:  *     analysis or executing an embedded command.  In that case a
        !          11592:  *     standard Tcl error is returned, using interp->result to hold
        !          11593:  *     an error message.  In the event of a successful return, the token
        !          11594:  *     and (possibly) number fields in infoPtr are updated to refer to
        !          11595:  *     the next symbol in the expression string, and the expr field is
        !          11596:  *     advanced.
        !          11597:  *
        !          11598:  * Side effects:
        !          11599:  *     None.
        !          11600:  *
        !          11601:  *----------------------------------------------------------------------
        !          11602:  */
        !          11603: 
        !          11604: int
        !          11605: ExprLex(interp, infoPtr)
        !          11606:     Tcl_Interp *interp;                        /* Interpreter to use for error
        !          11607:                                         * reporting. */
        !          11608:     register ExprInfo *infoPtr;                /* Describes the state of the parse. */
        !          11609: {
        !          11610:     register char *p, c;
        !          11611:     char *var, *term;
        !          11612:     int result;
        !          11613: 
        !          11614:     /*
        !          11615:      * The next token is either:
        !          11616:      * (a)     a variable name (indicated by a $ sign plus a variable
        !          11617:      *         name in the standard Tcl fashion);  lookup the value
        !          11618:      *         of the variable and return its numeric equivalent as a
        !          11619:      *         number.
        !          11620:      * (b)     an embedded command (anything between '[' and ']').
        !          11621:      *         Execute the command and convert its result to a number.
        !          11622:      * (c)     a series of decimal digits.  Convert it to a number.
        !          11623:      * (d)     space:  skip it.
        !          11624:      * (d)     an operator.  See what kind it is.
        !          11625:      */
        !          11626: 
        !          11627:     p = infoPtr->expr;
        !          11628:     c = *p;
        !          11629:     while (isspace(c)) {
        !          11630:        p++;  c = *p;
        !          11631:     }
        !          11632:     infoPtr->expr = p+1;
        !          11633:     switch (c) {
        !          11634:        case '0':
        !          11635:        case '1':
        !          11636:        case '2':
        !          11637:        case '3':
        !          11638:        case '4':
        !          11639:        case '5':
        !          11640:        case '6':
        !          11641:        case '7':
        !          11642:        case '8':
        !          11643:        case '9':
        !          11644:            infoPtr->token = NUMBER;
        !          11645:            infoPtr->number = ExprGetNum(p, &infoPtr->expr);
        !          11646:            return TCL_OK;
        !          11647: 
        !          11648:        case '$':
        !          11649:            infoPtr->token = NUMBER;
        !          11650:            var = Tcl_ParseVar(infoPtr->interp, p, &infoPtr->expr);
        !          11651:            if (var == NULL) {
        !          11652:                return TCL_ERROR;
        !          11653:            }
        !          11654:            if (((Interp *) infoPtr->interp)->noEval) {
        !          11655:                infoPtr->number = 0;
        !          11656:                return TCL_OK;
        !          11657:            }
        !          11658:            infoPtr->number = ExprGetNum(var, &term);
        !          11659:            if ((term == var) || (*term != 0)) {
        !          11660:                c = *infoPtr->expr;
        !          11661:                *infoPtr->expr = 0;
        !          11662:                Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          11663:                sprintf(interp->result,
        !          11664:                        "variable \"%.50s\" contained non-numeric value \"%.50s\"",
        !          11665:                        p, var);
        !          11666:                *infoPtr->expr = c;
        !          11667:                return TCL_ERROR;
        !          11668:            }
        !          11669:            return TCL_OK;
        !          11670: 
        !          11671:        case '[':
        !          11672:            infoPtr->token = NUMBER;
        !          11673:            result = Tcl_Eval(infoPtr->interp, p+1, TCL_BRACKET_TERM,
        !          11674:                    &infoPtr->expr);
        !          11675:            if (result != TCL_OK) {
        !          11676:                return result;
        !          11677:            }
        !          11678:            infoPtr->expr++;
        !          11679:            if (((Interp *) infoPtr->interp)->noEval) {
        !          11680:                infoPtr->number = 0;
        !          11681:                Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          11682:                return TCL_OK;
        !          11683:            }
        !          11684:            infoPtr->number = ExprGetNum(interp->result, &term);
        !          11685:            if ((term == interp->result) || (*term != 0)) {
        !          11686:                char string[200];
        !          11687:                infoPtr->expr[-1];
        !          11688:                infoPtr->expr[-1] = 0;
        !          11689:                sprintf(string, "command \"%.50s\" returned non-numeric result \"%.50s\"",
        !          11690:                        p+1, interp->result);
        !          11691:                infoPtr->expr[-1] = c;
        !          11692:                Tcl_Return(interp, string, TCL_VOLATILE);
        !          11693:                return TCL_ERROR;
        !          11694:            }
        !          11695:            Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          11696:            return TCL_OK;
        !          11697: 
        !          11698:        case '(':
        !          11699:            infoPtr->token = OPEN_PAREN;
        !          11700:            return TCL_OK;
        !          11701: 
        !          11702:        case ')':
        !          11703:            infoPtr->token = CLOSE_PAREN;
        !          11704:            return TCL_OK;
        !          11705: 
        !          11706:        case '*':
        !          11707:            infoPtr->token = MULT;
        !          11708:            return TCL_OK;
        !          11709: 
        !          11710:        case '/':
        !          11711:            infoPtr->token = DIVIDE;
        !          11712:            return TCL_OK;
        !          11713: 
        !          11714:        case '%':
        !          11715:            infoPtr->token = MOD;
        !          11716:            return TCL_OK;
        !          11717: 
        !          11718:        case '+':
        !          11719:            infoPtr->token = PLUS;
        !          11720:            return TCL_OK;
        !          11721: 
        !          11722:        case '-':
        !          11723:            infoPtr->token = MINUS;
        !          11724:            return TCL_OK;
        !          11725: 
        !          11726:        case '?':
        !          11727:            infoPtr->token = QUESTY;
        !          11728:            return TCL_OK;
        !          11729: 
        !          11730:        case ':':
        !          11731:            infoPtr->token = COLON;
        !          11732:            return TCL_OK;
        !          11733: 
        !          11734:        case '<':
        !          11735:            switch (p[1]) {
        !          11736:                case '<':
        !          11737:                    infoPtr->expr = p+2;
        !          11738:                    infoPtr->token = LEFT_SHIFT;
        !          11739:                    break;
        !          11740:                case '=':
        !          11741:                    infoPtr->expr = p+2;
        !          11742:                    infoPtr->token = LEQ;
        !          11743:                    break;
        !          11744:                default:
        !          11745:                    infoPtr->token = LESS;
        !          11746:                    break;
        !          11747:            }
        !          11748:            return TCL_OK;
        !          11749: 
        !          11750:        case '>':
        !          11751:            switch (p[1]) {
        !          11752:                case '>':
        !          11753:                    infoPtr->expr = p+2;
        !          11754:                    infoPtr->token = RIGHT_SHIFT;
        !          11755:                    break;
        !          11756:                case '=':
        !          11757:                    infoPtr->expr = p+2;
        !          11758:                    infoPtr->token = GEQ;
        !          11759:                    break;
        !          11760:                default:
        !          11761:                    infoPtr->token = GREATER;
        !          11762:                    break;
        !          11763:            }
        !          11764:            return TCL_OK;
        !          11765: 
        !          11766:        case '=':
        !          11767:            if (p[1] == '=') {
        !          11768:                infoPtr->expr = p+2;
        !          11769:                infoPtr->token = EQUAL;
        !          11770:            } else {
        !          11771:                infoPtr->token = UNKNOWN;
        !          11772:            }
        !          11773:            return TCL_OK;
        !          11774: 
        !          11775:        case '!':
        !          11776:            if (p[1] == '=') {
        !          11777:                infoPtr->expr = p+2;
        !          11778:                infoPtr->token = NEQ;
        !          11779:            } else {
        !          11780:                infoPtr->token = NOT;
        !          11781:            }
        !          11782:            return TCL_OK;
        !          11783: 
        !          11784:        case '&':
        !          11785:            if (p[1] == '&') {
        !          11786:                infoPtr->expr = p+2;
        !          11787:                infoPtr->token = AND;
        !          11788:            } else {
        !          11789:                infoPtr->token = BIT_AND;
        !          11790:            }
        !          11791:            return TCL_OK;
        !          11792: 
        !          11793:        case '^':
        !          11794:            infoPtr->token = BIT_XOR;
        !          11795:            return TCL_OK;
        !          11796: 
        !          11797:        case '|':
        !          11798:            if (p[1] == '|') {
        !          11799:                infoPtr->expr = p+2;
        !          11800:                infoPtr->token = OR;
        !          11801:            } else {
        !          11802:                infoPtr->token = BIT_OR;
        !          11803:            }
        !          11804:            return TCL_OK;
        !          11805: 
        !          11806:        case '~':
        !          11807:            infoPtr->token = BIT_NOT;
        !          11808:            return TCL_OK;
        !          11809: 
        !          11810:        case 0:
        !          11811:            infoPtr->token = END;
        !          11812:            infoPtr->expr = p;
        !          11813:            return TCL_OK;
        !          11814: 
        !          11815:        default:
        !          11816:            infoPtr->expr = p+1;
        !          11817:            infoPtr->token = UNKNOWN;
        !          11818:            return TCL_OK;
        !          11819:     }
        !          11820: }
        !          11821: 
        !          11822: /*
        !          11823:  *----------------------------------------------------------------------
        !          11824:  *
        !          11825:  * ExprGetValue --
        !          11826:  *
        !          11827:  *     Parse a "value" from the remainder of the expression in infoPtr.
        !          11828:  *
        !          11829:  * Results:
        !          11830:  *     Normally TCL_OK is returned.  The value of the parsed number is
        !          11831:  *     returned in infoPtr->number.  If an error occurred, then
        !          11832:  *     interp->result contains an error message and TCL_ERROR is returned.
        !          11833:  *
        !          11834:  * Side effects:
        !          11835:  *     Information gets parsed from the remaining expression, and the
        !          11836:  *     expr and token fields in infoPtr get updated.  Information is
        !          11837:  *     parsed until either the end of the expression is reached (null
        !          11838:  *     character or close paren), an error occurs, or a binary operator
        !          11839:  *     is encountered with precedence <= prec.  In any of these cases,
        !          11840:  *     infoPtr->token will be left pointing to the token AFTER the
        !          11841:  *     expression.
        !          11842:  *
        !          11843:  *----------------------------------------------------------------------
        !          11844:  */
        !          11845: 
        !          11846: int
        !          11847: ExprGetValue(interp, infoPtr, prec)
        !          11848:     Tcl_Interp *interp;                        /* Interpreter to use for error
        !          11849:                                         * reporting. */
        !          11850:     register ExprInfo *infoPtr;                /* Describes the state of the parse
        !          11851:                                         * just before the value (i.e. ExprLex
        !          11852:                                         * will be called to get first token
        !          11853:                                         * of value). */
        !          11854:     int prec;                          /* Treat any un-parenthesized operator
        !          11855:                                         * with precedence <= this as the end
        !          11856:                                         * of the expression. */
        !          11857: {
        !          11858:     Interp *iPtr = (Interp *) interp;
        !          11859:     int result, operator, operand;
        !          11860:     int gotOp;                         /* Non-zero means already lexed the
        !          11861:                                         * operator (while picking up value
        !          11862:                                         * for unary operator).  Don't lex
        !          11863:                                         * again. */
        !          11864: 
        !          11865:     /*
        !          11866:      * There are two phases to this procedure.  First, pick off an initial
        !          11867:      * value.  Then, parse (binary operator, value) pairs until done.
        !          11868:      */
        !          11869: 
        !          11870:     gotOp = 0;
        !          11871:     result = ExprLex(interp, infoPtr);
        !          11872:     if (result != TCL_OK) {
        !          11873:        return result;
        !          11874:     }
        !          11875:     if (infoPtr->token == OPEN_PAREN) {
        !          11876: 
        !          11877:        /*
        !          11878:         * Parenthesized sub-expression.
        !          11879:         */
        !          11880: 
        !          11881:        result = ExprGetValue(interp, infoPtr, -1);
        !          11882:        if (result != TCL_OK) {
        !          11883:            return result;
        !          11884:        }
        !          11885:        if (infoPtr->token != CLOSE_PAREN) {
        !          11886:            Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          11887:            sprintf(interp->result,
        !          11888:                    "unmatched parentheses in expression \"%.50s\"",
        !          11889:                    infoPtr->originalExpr);
        !          11890:            return TCL_ERROR;
        !          11891:        }
        !          11892:     } else {
        !          11893:        if (infoPtr->token == MINUS) {
        !          11894:            infoPtr->token = UNARY_MINUS;
        !          11895:        }
        !          11896:        if (infoPtr->token >= UNARY_MINUS) {
        !          11897: 
        !          11898:            /*
        !          11899:             * Process unary operators.
        !          11900:             */
        !          11901: 
        !          11902:            operator = infoPtr->token;
        !          11903:            result = ExprGetValue(interp, infoPtr, precTable[infoPtr->token]);
        !          11904:            if (result != TCL_OK) {
        !          11905:                return result;
        !          11906:            }
        !          11907:            switch (operator) {
        !          11908:                case UNARY_MINUS:
        !          11909:                    infoPtr->number = -infoPtr->number;
        !          11910:                    break;
        !          11911:                case NOT:
        !          11912:                    infoPtr->number = !infoPtr->number;
        !          11913:                    break;
        !          11914:                case BIT_NOT:
        !          11915:                    infoPtr->number = ~infoPtr->number;
        !          11916:                    break;
        !          11917:            }
        !          11918:            gotOp = 1;
        !          11919:        } else if (infoPtr->token != NUMBER) {
        !          11920:            goto syntaxError;
        !          11921:        }
        !          11922:     }
        !          11923: 
        !          11924:     /*
        !          11925:      * Got the first operand.  Now fetch (operator, operand) pairs.
        !          11926:      */
        !          11927: 
        !          11928:     if (!gotOp) {
        !          11929:        result = ExprLex(interp, infoPtr);
        !          11930:        if (result != TCL_OK) {
        !          11931:            return result;
        !          11932:        }
        !          11933:     }
        !          11934:     while (1) {
        !          11935:        operand = infoPtr->number;
        !          11936:        operator = infoPtr->token;
        !          11937:        if ((operator < MULT) || (operator >= UNARY_MINUS)) {
        !          11938:            if ((operator == END) || (operator == CLOSE_PAREN)) {
        !          11939:                return TCL_OK;
        !          11940:            } else {
        !          11941:                goto syntaxError;
        !          11942:            }
        !          11943:        }
        !          11944:        if (precTable[operator] <= prec) {
        !          11945:            return TCL_OK;
        !          11946:        }
        !          11947: 
        !          11948:        /*
        !          11949:         * If we're doing an AND or OR and the first operand already
        !          11950:         * determines the result, don't execute anything in the
        !          11951:         * second operand:  just parse.  Same style for ?: pairs.
        !          11952:         */
        !          11953: 
        !          11954:        if (((operator == AND) && !operand)
        !          11955:                || ((operator == OR) && operand)) {
        !          11956:            iPtr->noEval++;
        !          11957:            result = ExprGetValue(interp, infoPtr, precTable[operator]);
        !          11958:            iPtr->noEval--;
        !          11959:        } else if (operator == QUESTY) {
        !          11960:            if (operand != 0) {
        !          11961:                result = ExprGetValue(interp, infoPtr, precTable[operator]);
        !          11962:                operand = infoPtr->number;
        !          11963:                if (result != TCL_OK)
        !          11964:                    return result;
        !          11965:                if (infoPtr->token != COLON)
        !          11966:                    goto syntaxError;
        !          11967:                iPtr->noEval++;
        !          11968:                result = ExprGetValue(interp, infoPtr, precTable[operator]);
        !          11969:                iPtr->noEval--;
        !          11970:            } else {
        !          11971:                iPtr->noEval++;
        !          11972:                result = ExprGetValue(interp, infoPtr, precTable[operator]);
        !          11973:                iPtr->noEval--;
        !          11974:                if (result != TCL_OK)
        !          11975:                    return result;
        !          11976:                if (infoPtr->token != COLON)
        !          11977:                    goto syntaxError;
        !          11978:                result = ExprGetValue(interp, infoPtr, precTable[operator]);
        !          11979:                operand = infoPtr->number;
        !          11980:            }
        !          11981:            infoPtr->number = operand;
        !          11982:        } else {
        !          11983:            result = ExprGetValue(interp, infoPtr, precTable[operator]);
        !          11984:        }
        !          11985:        if (result != TCL_OK) {
        !          11986:            return result;
        !          11987:        }
        !          11988:        if ((infoPtr->token < MULT) && (infoPtr->token != NUMBER)
        !          11989:                && (infoPtr->token != END)
        !          11990:                && (infoPtr->token != CLOSE_PAREN)) {
        !          11991:            goto syntaxError;
        !          11992:        }
        !          11993:        switch (operator) {
        !          11994:            case MULT:
        !          11995:                infoPtr->number = operand * infoPtr->number;
        !          11996:                break;
        !          11997:            case DIVIDE:
        !          11998:                if (infoPtr->number == 0) {
        !          11999:                    Tcl_Return(interp, "divide by zero", TCL_STATIC);
        !          12000:                    return TCL_ERROR;
        !          12001:                }
        !          12002:                infoPtr->number = operand / infoPtr->number;
        !          12003:                break;
        !          12004:            case MOD:
        !          12005:                if (infoPtr->number == 0) {
        !          12006:                    Tcl_Return(interp, "divide by zero", TCL_STATIC);
        !          12007:                    return TCL_ERROR;
        !          12008:                }
        !          12009:                infoPtr->number = operand % infoPtr->number;
        !          12010:                break;
        !          12011:            case PLUS:
        !          12012:                infoPtr->number = operand + infoPtr->number;
        !          12013:                break;
        !          12014:            case MINUS:
        !          12015:                infoPtr->number = operand - infoPtr->number;
        !          12016:                break;
        !          12017:            case LEFT_SHIFT:
        !          12018:                infoPtr->number = operand << infoPtr->number;
        !          12019:                break;
        !          12020:            case RIGHT_SHIFT:
        !          12021:                infoPtr->number = operand >> infoPtr->number;
        !          12022:                break;
        !          12023:            case LESS:
        !          12024:                infoPtr->number = operand < infoPtr->number;
        !          12025:                break;
        !          12026:            case GREATER:
        !          12027:                infoPtr->number = operand > infoPtr->number;
        !          12028:                break;
        !          12029:            case LEQ:
        !          12030:                infoPtr->number = operand <= infoPtr->number;
        !          12031:                break;
        !          12032:            case GEQ:
        !          12033:                infoPtr->number = operand >= infoPtr->number;
        !          12034:                break;
        !          12035:            case EQUAL:
        !          12036:                infoPtr->number = operand == infoPtr->number;
        !          12037:                break;
        !          12038:            case NEQ:
        !          12039:                infoPtr->number = operand != infoPtr->number;
        !          12040:                break;
        !          12041:            case BIT_AND:
        !          12042:                infoPtr->number = operand & infoPtr->number;
        !          12043:                break;
        !          12044:            case BIT_XOR:
        !          12045:                infoPtr->number = operand ^ infoPtr->number;
        !          12046:                break;
        !          12047:            case BIT_OR:
        !          12048:                infoPtr->number = operand | infoPtr->number;
        !          12049:                break;
        !          12050:            case AND:
        !          12051:                infoPtr->number = operand && infoPtr->number;
        !          12052:                break;
        !          12053:            case OR:
        !          12054:                infoPtr->number = operand || infoPtr->number;
        !          12055:                break;
        !          12056:        }
        !          12057:     }
        !          12058: 
        !          12059:     syntaxError:
        !          12060:     Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          12061:     sprintf(interp->result, "syntax error in expression \"%.50s\"",
        !          12062:            infoPtr->originalExpr);
        !          12063:     return TCL_ERROR;
        !          12064: }
        !          12065: 
        !          12066: /*
        !          12067:  *----------------------------------------------------------------------
        !          12068:  *
        !          12069:  * Tcl_Expr --
        !          12070:  *
        !          12071:  *     Parse and evaluate an expression.
        !          12072:  *
        !          12073:  * Results:
        !          12074:  *     The return value is TCL_OK if the expression was correctly parsed;
        !          12075:  *     if there was a syntax error or some other error during parsing,
        !          12076:  *     then another Tcl return value is returned and Tcl_Result points
        !          12077:  *     to an error message.  If all went well, *valuePtr is filled in
        !          12078:  *     with the result corresponding to the expression string.
        !          12079:  *
        !          12080:  * Side effects:
        !          12081:  *     None.
        !          12082:  *
        !          12083:  *----------------------------------------------------------------------
        !          12084:  */
        !          12085: 
        !          12086: int
        !          12087: Tcl_Expr(interp, string, valuePtr)
        !          12088:     Tcl_Interp *interp;                /* Intepreter to use for variables etc. */
        !          12089:     char *string;              /* Expression to evaluate. */
        !          12090:     int *valuePtr;             /* Where to store result of evaluation. */
        !          12091: {
        !          12092:     ExprInfo info;
        !          12093:     int result;
        !          12094: 
        !          12095:     info.interp = interp;
        !          12096:     info.originalExpr = string;
        !          12097:     info.expr = string;
        !          12098:     result = ExprGetValue(interp, &info, -1);
        !          12099:     if (result != TCL_OK) {
        !          12100:        return result;
        !          12101:     }
        !          12102:     if (info.token != END) {
        !          12103:        Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          12104:        sprintf(interp->result, "syntax error in expression \"%.50s\"", string);
        !          12105:        return TCL_ERROR;
        !          12106:     }
        !          12107:     *valuePtr = info.number;
        !          12108:     return TCL_OK;
        !          12109: }
        !          12110: 0707070035050510641006660011710000040000010535710466302652700001600000033345tcl/tclGlob.c/* 
        !          12111:  * tclGlob.c --
        !          12112:  *
        !          12113:  *     This file provides procedures and commands for file name
        !          12114:  *     manipulation, such as tilde expansion and globbing.
        !          12115:  *
        !          12116:  * Copyright 1990 Regents of the University of California
        !          12117:  * Permission to use, copy, modify, and distribute this
        !          12118:  * software and its documentation for any purpose and without
        !          12119:  * fee is hereby granted, provided that the above copyright
        !          12120:  * notice appear in all copies.  The University of California
        !          12121:  * makes no representations about the suitability of this
        !          12122:  * software for any purpose.  It is provided "as is" without
        !          12123:  * express or implied warranty.
        !          12124:  */
        !          12125: 
        !          12126: #ifndef lint
        !          12127: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclGlob.c,v 1.4 90/04/19 14:53:59 ouster Exp $ SPRITE (Berkeley)";
        !          12128: #pragma ref rcsid
        !          12129: #endif not lint
        !          12130: 
        !          12131: #define        _POSIX_SOURCE
        !          12132: 
        !          12133: #include <stdio.h>
        !          12134: #include <errno.h>
        !          12135: #include <pwd.h>
        !          12136: #include <stdlib.h>
        !          12137: #include <string.h>
        !          12138: #include <sys/types.h>
        !          12139: #include <dirent.h>
        !          12140: #include <sys/stat.h>
        !          12141: #include <tcl.h>
        !          12142: #include "tclInt.h"
        !          12143: 
        !          12144: /*
        !          12145:  * The structure below is used to keep track of a globbing result
        !          12146:  * being built up (i.e. a partial list of file names).  The list
        !          12147:  * grows dynamically to be as big as needed.
        !          12148:  */
        !          12149: 
        !          12150: typedef struct {
        !          12151:     char *result;              /* Pointer to result area. */
        !          12152:     int totalSpace;            /* Total number of characters allocated
        !          12153:                                 * for result. */
        !          12154:     int spaceUsed;             /* Number of characters currently in use
        !          12155:                                 * to hold the partial result (not including
        !          12156:                                 * the terminating NULL). */
        !          12157:     int dynamic;               /* 0 means result is static space, 1 means
        !          12158:                                 * it's dynamic. */
        !          12159: } GlobResult;
        !          12160: 
        !          12161: /*
        !          12162:  *----------------------------------------------------------------------
        !          12163:  *
        !          12164:  * AppendResult --
        !          12165:  *
        !          12166:  *     Given two parts of a file name (directory and element within
        !          12167:  *     directory), concatenate the two together and add them to a
        !          12168:  *     partially-formed result.
        !          12169:  *
        !          12170:  * Results:
        !          12171:  *     There is no return value.  The structure at *resPtr is modified
        !          12172:  *     to hold more information.
        !          12173:  *
        !          12174:  * Side effects:
        !          12175:  *     Storage may be allocated if we run out of space in *resPtr.
        !          12176:  *
        !          12177:  *----------------------------------------------------------------------
        !          12178:  */
        !          12179: 
        !          12180: static void
        !          12181: AppendResult(dir, name, nameLength, resPtr)
        !          12182:     char *dir;                 /* Name of directory (without trailing
        !          12183:                                 * slash). */
        !          12184:     char *name;                        /* Name of file withing directory (NOT
        !          12185:                                 * necessarily null-terminated!). */
        !          12186:     int nameLength;            /* Number of characters in name. */
        !          12187:     register GlobResult *resPtr;/* Structure in which to append info. */
        !          12188: {
        !          12189:     int dirLength, totalLength;
        !          12190:     char *p;
        !          12191: 
        !          12192:     /*
        !          12193:      * Make sure there's enough space in the result area for this
        !          12194:      * new name (need two extra chars. besides what's in dir and
        !          12195:      * name, for a separating space after the last name and for a
        !          12196:      * terminating NULL).
        !          12197:      */
        !          12198: 
        !          12199:     dirLength = strlen(dir);
        !          12200:     totalLength = resPtr->spaceUsed + dirLength + nameLength + 2;
        !          12201:     if (totalLength > resPtr->totalSpace) {
        !          12202:        char *newSpace;
        !          12203:        int newSize;
        !          12204: 
        !          12205:        newSize = 2*resPtr->totalSpace;
        !          12206:        if (newSize < totalLength) {
        !          12207:            newSize = totalLength;
        !          12208:        }
        !          12209:        newSpace = malloc((unsigned) newSize);
        !          12210:        bcopy(resPtr->result, newSpace, resPtr->spaceUsed);
        !          12211:        if (resPtr->dynamic) {
        !          12212:            free(resPtr->result);
        !          12213:        }
        !          12214:        resPtr->result = newSpace;
        !          12215:        resPtr->totalSpace = newSize;
        !          12216:        resPtr->dynamic = 1;
        !          12217:     }
        !          12218: 
        !          12219:     /*
        !          12220:      * Now append the new information onto the end of the result.
        !          12221:      */
        !          12222: 
        !          12223:     p = resPtr->result + resPtr->spaceUsed;
        !          12224:     if (resPtr->spaceUsed != 0) {
        !          12225:        *p = ' ';
        !          12226:        p++;
        !          12227:        resPtr->spaceUsed++;
        !          12228:     }
        !          12229:     strcpy(p, dir);
        !          12230:     p += dirLength;
        !          12231:     strncpy(p, name, nameLength);
        !          12232:     p[nameLength] = 0;
        !          12233:     resPtr->spaceUsed += nameLength+dirLength;
        !          12234: }
        !          12235: 
        !          12236: /*
        !          12237:  *----------------------------------------------------------------------
        !          12238:  *
        !          12239:  * DoGlob --
        !          12240:  *
        !          12241:  *     This recursive procedure forms the heart of the globbing
        !          12242:  *     code.  It performs a depth-first traversal of the tree
        !          12243:  *     given by the path name to be globbed.
        !          12244:  *
        !          12245:  * Results:
        !          12246:  *     The return value is a standard Tcl result indicating whether
        !          12247:  *     an error occurred in globbing.  The result in interp will be
        !          12248:  *     set to hold an error message, if any.  The result pointed
        !          12249:  *     to by resPtr is updated to hold all file names given by
        !          12250:  *     the dir and rem arguments.
        !          12251:  *
        !          12252:  * Side effects:
        !          12253:  *     None.
        !          12254:  *
        !          12255:  *----------------------------------------------------------------------
        !          12256:  */
        !          12257: 
        !          12258: static int
        !          12259: DoGlob(interp, dir, rem, resPtr)
        !          12260:     Tcl_Interp *interp;                        /* Interpreter to use for error
        !          12261:                                         * reporting (e.g. unmatched brace). */
        !          12262:     char *dir;                         /* Name of a directory at which to
        !          12263:                                         * start glob expansion.  This name
        !          12264:                                         * is fixed: it doesn't contain any
        !          12265:                                         * globbing chars.  If it's non-empty
        !          12266:                                         * then it should end with a slash. */
        !          12267:     char *rem;                         /* Path to glob-expand. */
        !          12268:     GlobResult *resPtr;                        /* Where to store fully-expanded file
        !          12269:                                         * names.*/
        !          12270: {
        !          12271:     /*
        !          12272:      * When this procedure is entered, the name to be globbed may
        !          12273:      * already have been partly expanded by ancestor invocations of
        !          12274:      * DoGlob.  The part that's already been expanded is in "dir"
        !          12275:      * (this may initially be empty), and the part still to expand
        !          12276:      * is in "rem".  This procedure expands "rem" one level, making
        !          12277:      * recursive calls to itself if there's still more stuff left
        !          12278:      * in the remainder.
        !          12279:      */
        !          12280: 
        !          12281:     register char *p;
        !          12282:     register char c;
        !          12283:     char *openBrace, *closeBrace;
        !          12284:     int gotSpecial, result;
        !          12285: 
        !          12286:     /*
        !          12287:      * When generating information for the next lower call,
        !          12288:      * use static areas if the name is short, and malloc if the name
        !          12289:      * is longer.
        !          12290:      */
        !          12291: 
        !          12292: #define STATIC_SIZE 200
        !          12293: 
        !          12294:     /*
        !          12295:      * First, find the end of the next element in rem, checking
        !          12296:      * along the way for special globbing characters.
        !          12297:      */
        !          12298: 
        !          12299:     gotSpecial = 0;
        !          12300:     openBrace = closeBrace = NULL;
        !          12301:     for (p = rem; ; p++) {
        !          12302:        c = *p;
        !          12303:        if ((c == '\0') || (c == '/')) {
        !          12304:            break;
        !          12305:        }
        !          12306:        if ((c == '{') && (openBrace == NULL)) {
        !          12307:            openBrace = p;
        !          12308:        }
        !          12309:        if ((c == '}') && (closeBrace == NULL)) {
        !          12310:            closeBrace = p;
        !          12311:        }
        !          12312:        if ((c == '*') || (c == '[') || (c == '\\') || (c == '?')) {
        !          12313:            gotSpecial = 1;
        !          12314:        }
        !          12315:     }
        !          12316: 
        !          12317:     /*
        !          12318:      * If there is an open brace in the argument, then make a recursive
        !          12319:      * call for each element between the braces.  In this case, the
        !          12320:      * recursive call to DoGlob uses the same "dir" that we got.
        !          12321:      * If there are several brace-pairs in a single name, we just handle
        !          12322:      * one here, and the others will be handled in recursive calls.
        !          12323:      */
        !          12324: 
        !          12325:     if (openBrace != NULL) {
        !          12326:        int remLength, l1, l2;
        !          12327:        char static1[STATIC_SIZE];
        !          12328:        char *element, *newRem;
        !          12329: 
        !          12330:        if (closeBrace == NULL) {
        !          12331:            interp->result = "unmatched open-brace in file name";
        !          12332:            return TCL_ERROR;
        !          12333:        }
        !          12334:        remLength = strlen(rem) + 1;
        !          12335:        if (remLength <= STATIC_SIZE) {
        !          12336:            newRem = static1;
        !          12337:        } else {
        !          12338:            newRem = malloc((unsigned) remLength);
        !          12339:        }
        !          12340:        l1 = openBrace-rem;
        !          12341:        strncpy(newRem, rem, l1);
        !          12342:        p = openBrace;
        !          12343:        for (p = openBrace; *p != '}'; ) {
        !          12344:            element = p+1;
        !          12345:            for (p = element; ((*p != '}') && (*p != ',')); p++) {
        !          12346:                /* Empty body:  just find end of this element. */
        !          12347:            }
        !          12348:            l2 = p - element;
        !          12349:            strncpy(newRem+l1, element, l2);
        !          12350:            strcpy(newRem+l1+l2, closeBrace+1);
        !          12351:            if (DoGlob(interp, dir, newRem, resPtr) != TCL_OK) {
        !          12352:                return TCL_ERROR;
        !          12353:            }
        !          12354:        }
        !          12355:        if (remLength > STATIC_SIZE) {
        !          12356:            free(newRem);
        !          12357:        }
        !          12358:        return TCL_OK;
        !          12359:     }
        !          12360: 
        !          12361:     /*
        !          12362:      * If there were any pattern-matching characters, then scan through
        !          12363:      * the directory to find all the matching names.
        !          12364:      */
        !          12365: 
        !          12366:     if (gotSpecial) {
        !          12367:        DIR *d;
        !          12368:        struct dirent *entryPtr;
        !          12369:        int l1, l2;
        !          12370:        char *pattern, *newDir;
        !          12371:        char static1[STATIC_SIZE], static2[STATIC_SIZE];
        !          12372:        struct stat statBuf;
        !          12373: 
        !          12374:        if ((stat(dir, &statBuf) != 0)
        !          12375:                || !S_ISDIR(statBuf.st_mode)) {
        !          12376:            return TCL_OK;
        !          12377:        }
        !          12378:        d = opendir(dir);
        !          12379:        if (d == NULL) {
        !          12380:            sprintf(interp->result,
        !          12381:                    "couldn't read directory \"%.50s\": %.50s",
        !          12382:                    dir, strerror(errno));
        !          12383:            return TCL_ERROR;
        !          12384:        }
        !          12385:        l1 = strlen(dir);
        !          12386:        l2 = (p - rem);
        !          12387:        if (l2 < STATIC_SIZE) {
        !          12388:            pattern = static2;
        !          12389:        } else {
        !          12390:            pattern = malloc((unsigned) (l2+1));
        !          12391:        }
        !          12392:        strncpy(pattern, rem, l2);
        !          12393:        pattern[l2] = '\0';
        !          12394:        result = TCL_OK;
        !          12395:        while (1) {
        !          12396:            entryPtr = readdir(d);
        !          12397:            if (entryPtr == NULL) {
        !          12398:                break;
        !          12399:            }
        !          12400: 
        !          12401:            /*
        !          12402:             * Don't match names starting with "." unless the "." is
        !          12403:             * present in the pattern.
        !          12404:             */
        !          12405: 
        !          12406:            if ((*entryPtr->d_name == '.') && (*pattern != '.')) {
        !          12407:                continue;
        !          12408:            }
        !          12409:            if (Tcl_StringMatch(entryPtr->d_name, pattern)) {
        !          12410:                if (*p == 0) {
        !          12411:                    AppendResult(dir, entryPtr->d_name,
        !          12412:                            (int) entryPtr->d_namlen, resPtr);
        !          12413:                } else {
        !          12414:                    if ((l1+entryPtr->d_namlen+2) <= STATIC_SIZE) {
        !          12415:                        newDir = static1;
        !          12416:                    } else {
        !          12417:                        newDir = malloc((unsigned) (l1+entryPtr->d_namlen+2));
        !          12418:                    }
        !          12419:                    sprintf(newDir, "%s%s/", dir, entryPtr->d_name);
        !          12420:                    result = DoGlob(interp, newDir, p+1, resPtr);
        !          12421:                    if (newDir != static1) {
        !          12422:                        free(newDir);
        !          12423:                    }
        !          12424:                    if (result != TCL_OK) {
        !          12425:                        break;
        !          12426:                    }
        !          12427:                }
        !          12428:            }
        !          12429:        }
        !          12430:        if (pattern != static2) {
        !          12431:            free(pattern);
        !          12432:        }
        !          12433:        return result;
        !          12434:     }
        !          12435: 
        !          12436:     /*
        !          12437:      * This is the simplest case:  just another path element.  Move
        !          12438:      * it to the dir side and recurse (or just add the name to the
        !          12439:      * list, if we're at the end of the path).
        !          12440:      */
        !          12441: 
        !          12442:     if (*p == 0) {
        !          12443:        AppendResult(dir, rem, p-rem, resPtr);
        !          12444:     } else {
        !          12445:        int l1, l2;
        !          12446:        char *newDir;
        !          12447:        char static1[STATIC_SIZE];
        !          12448: 
        !          12449:        l1 = strlen(dir);
        !          12450:        l2 = l1 + (p - rem) + 2;
        !          12451:        if (l2 <= STATIC_SIZE) {
        !          12452:            newDir = static1;
        !          12453:        } else {
        !          12454:            newDir = malloc((unsigned) l2);
        !          12455:        }
        !          12456:        strcpy(newDir, dir);
        !          12457:        strncpy(newDir+l1, rem, p-rem);
        !          12458:        newDir[l2-2] = '/';
        !          12459:        newDir[l2-1] = 0;
        !          12460:        result = DoGlob(interp, newDir, p+1, resPtr);
        !          12461:        if (newDir != static1) {
        !          12462:            free(newDir);
        !          12463:        }
        !          12464:        if (result != TCL_OK) {
        !          12465:            return TCL_ERROR;
        !          12466:        }
        !          12467:     }
        !          12468:     return TCL_OK;
        !          12469: }
        !          12470: 
        !          12471: /*
        !          12472:  *----------------------------------------------------------------------
        !          12473:  *
        !          12474:  * Tcl_TildeSubst --
        !          12475:  *
        !          12476:  *     Given a name starting with a tilde, produce a name where
        !          12477:  *     the tilde and following characters have been replaced by
        !          12478:  *     the home directory location for the named user.
        !          12479:  *
        !          12480:  * Results:
        !          12481:  *     The result is a pointer to a static string containing
        !          12482:  *     the new name.  This name will only persist until the next
        !          12483:  *     call to Tcl_TildeSubst;  save it if you care about it for
        !          12484:  *     the long term.  If there was an error in processing the
        !          12485:  *     tilde, then an error message is left in interp->result
        !          12486:  *     and the return value is NULL.
        !          12487:  *
        !          12488:  * Side effects:
        !          12489:  *     None that the caller needs to worry about.
        !          12490:  *
        !          12491:  *----------------------------------------------------------------------
        !          12492:  */
        !          12493: 
        !          12494: char *
        !          12495: Tcl_TildeSubst(interp, name)
        !          12496:     Tcl_Interp *interp;                /* Interpreter in which to store error
        !          12497:                                 * message (if necessary). */
        !          12498:     char *name;                        /* File name, which may begin with "~/"
        !          12499:                                 * (to indicate current user's home directory)
        !          12500:                                 * or "~<user>/" (to indicate any user's
        !          12501:                                 * home directory). */
        !          12502: {
        !          12503: #define STATIC_BUF_SIZE 50
        !          12504:     static char staticBuf[STATIC_BUF_SIZE];
        !          12505:     static int curSize = STATIC_BUF_SIZE;
        !          12506:     static char *curBuf = staticBuf;
        !          12507:     char *dir;
        !          12508:     int length;
        !          12509:     int fromPw = 0;
        !          12510:     register char *p;
        !          12511: 
        !          12512:     if (name[0] != '~') {
        !          12513:        return name;
        !          12514:     }
        !          12515: 
        !          12516:     /*
        !          12517:      * First, find the directory name corresponding to the tilde entry.
        !          12518:      */
        !          12519: 
        !          12520:     if ((name[1] == '/') || (name[1] == '\0')) {
        !          12521:        dir = getenv("HOME");
        !          12522:        if (dir == NULL) {
        !          12523:            sprintf(interp->result,
        !          12524:                    "couldn't find HOME env. variable to expand \"%.100s\"",
        !          12525:                    name);
        !          12526:            return NULL;
        !          12527:        }
        !          12528:        p = name+1;
        !          12529:     } else {
        !          12530:        struct passwd *pwPtr;
        !          12531: 
        !          12532:        for (p = &name[1]; (*p != 0) && (*p != '/'); p++) {
        !          12533:            /* Null body;  just find end of name. */
        !          12534:        }
        !          12535:        length = p-&name[1];
        !          12536:        if (length >= curSize) {
        !          12537:            length = curSize-1;
        !          12538:        }
        !          12539:        bcopy(name+1, curBuf, length);
        !          12540:        curBuf[length] = '\0';
        !          12541:        pwPtr = getpwnam(curBuf);
        !          12542:        if (pwPtr == NULL) {
        !          12543:            sprintf(interp->result, "user \"%.50s\" doesn't exist", curBuf);
        !          12544:            return NULL;
        !          12545:        }
        !          12546:        dir = pwPtr->pw_dir;
        !          12547:        fromPw = 1;
        !          12548:     }
        !          12549: 
        !          12550:     /*
        !          12551:      * Grow the buffer if necessary to make enough space for the
        !          12552:      * full file name.
        !          12553:      */
        !          12554: 
        !          12555:     length = strlen(dir) + strlen(p);
        !          12556:     if (length >= curSize) {
        !          12557:        if (curBuf != staticBuf) {
        !          12558:            free(curBuf);
        !          12559:        }
        !          12560:        curSize = length + 1;
        !          12561:        curBuf = malloc((unsigned) curSize);
        !          12562:     }
        !          12563: 
        !          12564:     /*
        !          12565:      * Finally, concatenate the directory name with the remainder
        !          12566:      * of the path in the buffer.
        !          12567:      */
        !          12568: 
        !          12569:     strcpy(curBuf, dir);
        !          12570:     strcat(curBuf, p);
        !          12571:     if (fromPw) {
        !          12572:        endpwent();
        !          12573:     }
        !          12574:     return curBuf;
        !          12575: }
        !          12576: 
        !          12577: /*
        !          12578:  *----------------------------------------------------------------------
        !          12579:  *
        !          12580:  * Tcl_GlobCmd --
        !          12581:  *
        !          12582:  *     This procedure is invoked to process the "glob" Tcl command.
        !          12583:  *     See the user documentation for details on what it does.
        !          12584:  *
        !          12585:  * Results:
        !          12586:  *     A standard Tcl result.
        !          12587:  *
        !          12588:  * Side effects:
        !          12589:  *     See the user documentation.
        !          12590:  *
        !          12591:  *----------------------------------------------------------------------
        !          12592:  */
        !          12593: 
        !          12594:        /* ARGSUSED */
        !          12595: int
        !          12596: Tcl_GlobCmd(dummy, interp, argc, argv)
        !          12597:     ClientData dummy;                  /* Not used. */
        !          12598:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          12599:     int argc;                          /* Number of arguments. */
        !          12600:     char **argv;                       /* Argument strings. */
        !          12601: {
        !          12602: #pragma ref dummy
        !          12603:     GlobResult globRes;
        !          12604:     char staticSpace[TCL_RESULT_SIZE];
        !          12605:     int i, result;
        !          12606: 
        !          12607:     globRes.result = staticSpace;
        !          12608:     globRes.totalSpace = TCL_RESULT_SIZE;
        !          12609:     globRes.spaceUsed = 0;
        !          12610:     globRes.dynamic = 0;
        !          12611:     for (i = 1; i < argc; i++) {
        !          12612:        char *thisName;
        !          12613: 
        !          12614:        /*
        !          12615:         * Do special checks for names starting at the root and for
        !          12616:         * names beginning with ~.  Then let DoGlob do the rest.
        !          12617:         */
        !          12618: 
        !          12619:        thisName = argv[i];
        !          12620:        if (*thisName == '~') {
        !          12621:            thisName = Tcl_TildeSubst(interp, thisName);
        !          12622:            if (thisName == NULL) {
        !          12623:                return TCL_ERROR;
        !          12624:            }
        !          12625:        }
        !          12626:        if (*thisName == '/') {
        !          12627:            result = DoGlob(interp, "/", thisName+1, &globRes);
        !          12628:        } else {
        !          12629:            result = DoGlob(interp, "", thisName, &globRes);
        !          12630:        }
        !          12631:        if (result != TCL_OK) {
        !          12632:            goto error;
        !          12633:        }
        !          12634:     }
        !          12635:     if (globRes.spaceUsed == 0) {
        !          12636:        sprintf(interp->result, "no files matched glob pattern(s)");
        !          12637:        result = TCL_ERROR;
        !          12638:        goto error;
        !          12639:     }
        !          12640:     if (globRes.dynamic) {
        !          12641:        interp->result = globRes.result;
        !          12642:        interp->dynamic = 1;
        !          12643:     } else {
        !          12644:        strcpy(interp->result, globRes.result);
        !          12645:     }
        !          12646:     return TCL_OK;
        !          12647: 
        !          12648:     error:
        !          12649:     if (globRes.dynamic) {
        !          12650:        free(globRes.result);
        !          12651:     }
        !          12652:     return result;
        !          12653: }
        !          12654: 0707070035050510631006660011710000040000010737610466302702300002100000073617tcl/tclHistory.c/* 
        !          12655:  * tclHistory.c --
        !          12656:  *
        !          12657:  *     This module implements history as an optional addition to Tcl.
        !          12658:  *     It can be called to record commands ("events") before they are
        !          12659:  *     executed, and it provides a command that may be used to perform
        !          12660:  *     history substitutions.
        !          12661:  *
        !          12662:  * Copyright 1990 Regents of the University of California
        !          12663:  * Permission to use, copy, modify, and distribute this
        !          12664:  * software and its documentation for any purpose and without
        !          12665:  * fee is hereby granted, provided that the above copyright
        !          12666:  * notice appear in all copies.  The University of California
        !          12667:  * makes no representations about the suitability of this
        !          12668:  * software for any purpose.  It is provided "as is" without
        !          12669:  * express or implied warranty.
        !          12670:  */
        !          12671: 
        !          12672: #ifndef lint
        !          12673: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclHistory.c,v 1.6 90/03/29 13:20:04 ouster Exp $ SPRITE (Berkeley)";
        !          12674: #pragma ref rcsid
        !          12675: #endif not lint
        !          12676: 
        !          12677: #define        _POSIX_SOURCE
        !          12678: 
        !          12679: #include "tclInt.h"
        !          12680: #include <ctype.h>
        !          12681: #include <stdio.h>
        !          12682: #include <stdlib.h>
        !          12683: #include <string.h>
        !          12684: 
        !          12685: /*
        !          12686:  * This history stuff is mostly straightforward, except for one thing
        !          12687:  * that makes everything very complicated.  Suppose that the following
        !          12688:  * commands get executed:
        !          12689:  *     echo foo
        !          12690:  *     history redo
        !          12691:  * It's important that the history event recorded for the second command
        !          12692:  * be "echo foo", not "history redo".  Otherwise, if another "history redo"
        !          12693:  * command is typed, it will result in infinite recursions on the
        !          12694:  * "history redo" command.  Thus, the actual recorded history must be
        !          12695:  *     echo foo
        !          12696:  *     echo foo
        !          12697:  * To do this, the history command revises recorded history as part of
        !          12698:  * its execution.  In the example above, when "history redo" starts
        !          12699:  * execution, the current event is "history redo", but the history
        !          12700:  * command arranges for the current event to be changed to "echo foo".
        !          12701:  *
        !          12702:  * There are three additional complications.  The first is that history
        !          12703:  * substitution may only be part of a command, as in the following
        !          12704:  * command sequence:
        !          12705:  *     echo foo bar
        !          12706:  *     echo [history word 3]
        !          12707:  * In this case, the second event should be recorded as "echo bar".  Only
        !          12708:  * part of the recorded event is to be modified.  Fortunately, Tcl_Eval
        !          12709:  * helps with this by recording (in the evalFirst and evalLast fields of
        !          12710:  * the intepreter) the location of the command being executed, so the
        !          12711:  * history module can replace exactly the range of bytes corresponding
        !          12712:  * to the history substitution command.
        !          12713:  *
        !          12714:  * The second complication is that there are two ways to revise history:
        !          12715:  * replace a command, and replace the result of a command.  Consider the
        !          12716:  * two examples below:
        !          12717:  *     format {result is %d} $num         |    format {result is %d} $num
        !          12718:  *     print [history redo]               |    print [history word 3]
        !          12719:  * Recorded history for these two cases should be as follows:
        !          12720:  *     format {result is %d} $num         |    format {result is %d} $num
        !          12721:  *     print [format {result is %d} $num] |    print $num
        !          12722:  * In the left case, the history command was replaced with another command
        !          12723:  * to be executed (the brackets were retained), but in the case on the
        !          12724:  * right the result of executing the history command was replaced (i.e.
        !          12725:  * brackets were replaced too).
        !          12726:  *
        !          12727:  * The third complication is that there could potentially be many
        !          12728:  * history substitutions within a single command, as in:
        !          12729:  *     echo [history word 3] [history word 2]
        !          12730:  * There could even be nested history substitutions, as in:
        !          12731:  *     history subs abc [history word 2]
        !          12732:  * If history revisions were made immediately during each "history" command
        !          12733:  * invocations, it would be very difficult to produce the correct cumulative
        !          12734:  * effect from several substitutions in the same command.  To get around
        !          12735:  * this problem, the actual history revision isn't made during the execution
        !          12736:  * of the "history" command.  Information about the changes is just recorded,
        !          12737:  * in xxx records, and the actual changes are made during the next call to
        !          12738:  * Tcl_RecordHistory (when we know that execution of the previous command
        !          12739:  * has finished).
        !          12740:  */
        !          12741: 
        !          12742: /*
        !          12743:  * Default space allocation for command strings:
        !          12744:  */
        !          12745: 
        !          12746: #define INITIAL_CMD_SIZE 40
        !          12747: 
        !          12748: /*
        !          12749:  * Forward declarations for procedures defined later in this file:
        !          12750:  */
        !          12751: 
        !          12752: static void            DisableRevs();
        !          12753: static void            DoRevs();
        !          12754: static HistoryEvent *  GetEvent();
        !          12755: static char *          GetWords();
        !          12756: static void            HistoryInit();
        !          12757: static void            InsertRev();
        !          12758: static void            MakeSpace();
        !          12759: static void            RevCommand();
        !          12760: static void            RevResult();
        !          12761: static int             SubsAndEval();
        !          12762: 
        !          12763: /*
        !          12764:  *----------------------------------------------------------------------
        !          12765:  *
        !          12766:  * Tcl_RecordAndEval --
        !          12767:  *
        !          12768:  *     This procedure adds its command argument to the current list of
        !          12769:  *     recorded events and then executes the command by calling Tcl_Eval.
        !          12770:  *
        !          12771:  * Results:
        !          12772:  *     The return value is a standard Tcl return value, the result of
        !          12773:  *     executing cmd.
        !          12774:  *
        !          12775:  * Side effects:
        !          12776:  *     The command is recorded and executed.  In addition, pending history
        !          12777:  *     revisions are carried out, and information is set up to enable
        !          12778:  *     Tcl_Eval to identify history command ranges.  This procedure also
        !          12779:  *     initializes history information for the interpreter, if it hasn't
        !          12780:  *     already been initialized.
        !          12781:  *
        !          12782:  *----------------------------------------------------------------------
        !          12783:  */
        !          12784: 
        !          12785: int
        !          12786: Tcl_RecordAndEval(interp, cmd, flags)
        !          12787:     Tcl_Interp *interp;                /* Token for interpreter in which command
        !          12788:                                 * will be executed. */
        !          12789:     char *cmd;                 /* Command to record. */
        !          12790:     int flags;                 /* Additional flags to pass to Tcl_Eval. 
        !          12791:                                 * TCL_NO_EVAL means only record: don't
        !          12792:                                 * execute command. */
        !          12793: {
        !          12794:     register Interp *iPtr = (Interp *) interp;
        !          12795:     register HistoryEvent *eventPtr;
        !          12796:     char *savedFirst;
        !          12797:     int length, result;
        !          12798: 
        !          12799:     if (iPtr->numEvents == 0) {
        !          12800:        HistoryInit(iPtr, 20);
        !          12801:     }
        !          12802:     DoRevs(iPtr);
        !          12803: 
        !          12804:     /*
        !          12805:      * Don't record empty commands.
        !          12806:      */
        !          12807: 
        !          12808:     while (isspace(*cmd)) {
        !          12809:        cmd++;
        !          12810:     }
        !          12811:     if (*cmd == '\0') {
        !          12812:        Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          12813:        return TCL_OK;
        !          12814:     }
        !          12815: 
        !          12816:     iPtr->curEventNum++;
        !          12817:     iPtr->curEvent++;
        !          12818:     if (iPtr->curEvent >= iPtr->numEvents) {
        !          12819:        iPtr->curEvent = 0;
        !          12820:     }
        !          12821:     eventPtr = &iPtr->events[iPtr->curEvent];
        !          12822: 
        !          12823:     /*
        !          12824:      * Chop off trailing newlines before recording the command.
        !          12825:      */
        !          12826: 
        !          12827:     length = strlen(cmd);
        !          12828:     while (cmd[length-1] == '\n') {
        !          12829:        length--;
        !          12830:     }
        !          12831:     MakeSpace(eventPtr, length + 1);
        !          12832:     strncpy(eventPtr->command, cmd, length);
        !          12833:     eventPtr->command[length] = 0;
        !          12834: 
        !          12835:     if (flags == -1) {
        !          12836:        return TCL_OK;
        !          12837:     }
        !          12838: 
        !          12839:     /*
        !          12840:      * Execute the command.
        !          12841:      */
        !          12842: 
        !          12843:     savedFirst = iPtr->historyFirst;
        !          12844:     iPtr->historyFirst = cmd;
        !          12845:     result = Tcl_Eval(interp, cmd, flags | TCL_RECORD_BOUNDS, (char **) NULL);
        !          12846:     iPtr->historyFirst = savedFirst;
        !          12847:     return result;
        !          12848: }
        !          12849: 
        !          12850: /*
        !          12851:  *----------------------------------------------------------------------
        !          12852:  *
        !          12853:  * Tcl_HistoryCmd --
        !          12854:  *
        !          12855:  *     This procedure is invoked to process the "history" Tcl command.
        !          12856:  *     See the user documentation for details on what it does.
        !          12857:  *
        !          12858:  * Results:
        !          12859:  *     A standard Tcl result.
        !          12860:  *
        !          12861:  * Side effects:
        !          12862:  *     See the user documentation.
        !          12863:  *
        !          12864:  *----------------------------------------------------------------------
        !          12865:  */
        !          12866: 
        !          12867:        /* ARGSUSED */
        !          12868: int
        !          12869: Tcl_HistoryCmd(dummy, interp, argc, argv)
        !          12870:     ClientData dummy;                  /* Not used. */
        !          12871:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          12872:     int argc;                          /* Number of arguments. */
        !          12873:     char **argv;                       /* Argument strings. */
        !          12874: {
        !          12875: #pragma ref dummy
        !          12876:     register Interp *iPtr = (Interp *) interp;
        !          12877:     register HistoryEvent *eventPtr;
        !          12878:     int length;
        !          12879:     char c;
        !          12880: 
        !          12881:     /*
        !          12882:      * If no arguments, redo last command.
        !          12883:      */
        !          12884: 
        !          12885:     if (argc == 1) {
        !          12886:        eventPtr = GetEvent(iPtr, "-1");
        !          12887:        if (eventPtr == NULL) {
        !          12888:            return TCL_ERROR;
        !          12889:        }
        !          12890:        RevCommand(iPtr, eventPtr->command);
        !          12891:        return Tcl_Eval(interp, eventPtr->command, 0, (char **) NULL);
        !          12892:     }
        !          12893: 
        !          12894:     c = argv[1][0];
        !          12895:     length = strlen(argv[1]);
        !          12896: 
        !          12897:     if ((c == 'a') && (strncmp(argv[1], "add", length)) == 0) {
        !          12898:        if ((argc != 3) && (argc != 4)) {
        !          12899:            sprintf(iPtr->result,
        !          12900:                    "wrong # args:  should be \"%.50s add event [exec]\"",
        !          12901:                    argv[0]);
        !          12902:            return TCL_ERROR;
        !          12903:        }
        !          12904:        if (argc == 4) {
        !          12905:            if (strncmp(argv[3], "exec", strlen(argv[3])) != 0) {
        !          12906:                sprintf(iPtr->result,
        !          12907:                        "bad arg \"%.50s\":  should be \"exec\"", argv[3]);
        !          12908:                return TCL_ERROR;
        !          12909:            }
        !          12910:            return Tcl_RecordAndEval(interp, argv[2], 0);
        !          12911:        }
        !          12912:        return Tcl_RecordAndEval(interp, argv[2], -1);
        !          12913:     } else if ((c == 'c') && (strncmp(argv[1], "change", length)) == 0) {
        !          12914:        if ((argc != 3) && (argc != 4)) {
        !          12915:            sprintf(iPtr->result, "wrong # args:  should be \"%.50s change newValue [event]\"",
        !          12916:                    argv[0]);
        !          12917:            return TCL_ERROR;
        !          12918:        }
        !          12919:        if (argc == 3) {
        !          12920:            eventPtr = &iPtr->events[iPtr->curEvent];
        !          12921:            DisableRevs(iPtr);
        !          12922:        } else {
        !          12923:            eventPtr = GetEvent(iPtr, argv[3]);
        !          12924:            if (eventPtr == NULL) {
        !          12925:                return TCL_ERROR;
        !          12926:            }
        !          12927:        }
        !          12928:        MakeSpace(eventPtr, strlen(argv[2]) + 1);
        !          12929:        strcpy(eventPtr->command, argv[2]);
        !          12930:        return TCL_OK;
        !          12931:     } else if ((c == 'e') && (strncmp(argv[1], "event", length)) == 0) {
        !          12932:        if (argc > 3) {
        !          12933:            sprintf(iPtr->result,
        !          12934:                    "too many args:  should be \"%.50s event [event]\"",
        !          12935:                    argv[0]);
        !          12936:            return TCL_ERROR;
        !          12937:        }
        !          12938:        eventPtr = GetEvent(iPtr, argc==2 ? "-1" : argv[2]);
        !          12939:        if (eventPtr == NULL) {
        !          12940:            return TCL_ERROR;
        !          12941:        }
        !          12942:        RevResult(iPtr, eventPtr->command);
        !          12943:        Tcl_Return(interp, eventPtr->command, TCL_VOLATILE);
        !          12944:        return TCL_OK;
        !          12945:     } else if ((c == 'i') && (strncmp(argv[1], "info", length)) == 0) {
        !          12946:        char *p;
        !          12947:        int count, indx, i;
        !          12948: 
        !          12949:        if ((argc != 2) && (argc != 3)) {
        !          12950:            sprintf(iPtr->result,
        !          12951:                    "wrong # args:  should be \"%.50s info [count]\"",
        !          12952:                    argv[0]);
        !          12953:            return TCL_ERROR;
        !          12954:        }
        !          12955:        if (argc == 3) {
        !          12956:            char *end;
        !          12957: 
        !          12958:            count = strtoul(argv[2], &end, 0);
        !          12959:            if (end == argv[2]) {
        !          12960:                sprintf(iPtr->result, "bad count \"%.50s\"", argv[2]);
        !          12961:                return TCL_ERROR;
        !          12962:            }
        !          12963:            if (count > iPtr->numEvents) {
        !          12964:                count = iPtr->numEvents;
        !          12965:            }
        !          12966:        } else {
        !          12967:            count = iPtr->numEvents;
        !          12968:        }
        !          12969:        length = 0;
        !          12970:        for (i = 0, indx = iPtr->curEvent + 1 + iPtr->numEvents - count;
        !          12971:                i < count; i++, indx++) {
        !          12972:            if (indx >= iPtr->numEvents) {
        !          12973:                indx -= iPtr->numEvents;
        !          12974:            }
        !          12975:            p = iPtr->events[indx].command;
        !          12976:            length += 9 + strlen(p);
        !          12977:            while (1) {
        !          12978:                p = strchr(p, '\n');
        !          12979:                if (p == NULL) {
        !          12980:                    break;
        !          12981:                }
        !          12982:                length++;
        !          12983:                p++;
        !          12984:            }
        !          12985:            length += 9 + strlen(iPtr->events[indx].command);
        !          12986:        }
        !          12987:        p = malloc((unsigned) (length+1));
        !          12988:        iPtr->result = p;
        !          12989:        iPtr->dynamic = 1;
        !          12990:        for (i = 0, indx = iPtr->curEvent + 1 + iPtr->numEvents - count;
        !          12991:                i < count; i++, indx++) {
        !          12992:            char *cur, *next;
        !          12993:            int length;
        !          12994: 
        !          12995:            if (indx >= iPtr->numEvents) {
        !          12996:                indx -= iPtr->numEvents;
        !          12997:            }
        !          12998:            cur = iPtr->events[indx].command;
        !          12999:            if (*cur == '\0') {
        !          13000:                continue;               /* No command recorded here. */
        !          13001:            }
        !          13002:            sprintf(p, "%6d  ", iPtr->curEventNum + 1 - (count - i));
        !          13003:            p += 8;
        !          13004: 
        !          13005:            /*
        !          13006:             * Tricky formatting here:  for multi-line commands, indent
        !          13007:             * the continuation lines.
        !          13008:             */
        !          13009: 
        !          13010:            while (1) {
        !          13011:                next = strchr(cur, '\n');
        !          13012:                if (next == NULL) {
        !          13013:                    break;
        !          13014:                }
        !          13015:                length = next+1-cur;
        !          13016:                strncpy(p, cur,length);
        !          13017:                cur += length;
        !          13018:                p += length;
        !          13019:                *p = '\t';
        !          13020:                p++;
        !          13021:            }
        !          13022:            strcpy(p, cur);
        !          13023:            p += strlen(p);
        !          13024:            *p = '\n';
        !          13025:            p++;
        !          13026:        }
        !          13027:        p[-1] = '\0';
        !          13028:        return TCL_OK;
        !          13029:     } else if ((c == 'k') && (strncmp(argv[1], "keep", length)) == 0) {
        !          13030:        int count, i, src;
        !          13031:        char *end;
        !          13032:        HistoryEvent *events;
        !          13033: 
        !          13034:        if (argc != 3) {
        !          13035:            sprintf(iPtr->result,
        !          13036:                    "wrong # args:  should be \"%.50s keep number\"",
        !          13037:                    argv[0]);
        !          13038:            return TCL_ERROR;
        !          13039:        }
        !          13040:        count = strtoul(argv[2], &end, 0);
        !          13041:        if ((end == argv[2]) || (count > 1000) || (count == 0)) {
        !          13042:            sprintf(iPtr->result, "bad number \"%.50s\"", argv[2]);
        !          13043:            return TCL_ERROR;
        !          13044:        }
        !          13045: 
        !          13046:        /*
        !          13047:         * Create a new history array and copy as much existing history
        !          13048:         * as possible from the old array.
        !          13049:         */
        !          13050: 
        !          13051:        events = (HistoryEvent *)
        !          13052:                malloc((unsigned) (count * sizeof(HistoryEvent)));
        !          13053:        if (count < iPtr->numEvents) {
        !          13054:            src = iPtr->curEvent + 1 - count;
        !          13055:            if (src < 0) {
        !          13056:                src += iPtr->numEvents;
        !          13057:            }
        !          13058:        } else {
        !          13059:            src = iPtr->curEvent + 1;
        !          13060:        }
        !          13061:        for (i = 0; i < count; i++, src++) {
        !          13062:            if (src >= iPtr->numEvents) {
        !          13063:                src = 0;
        !          13064:            }
        !          13065:            if (i < iPtr->numEvents) {
        !          13066:                events[i] = iPtr->events[src];
        !          13067:                iPtr->events[src].command = NULL;
        !          13068:            } else {
        !          13069:                events[i].command = malloc(INITIAL_CMD_SIZE);
        !          13070:                events[i].command[0] = 0;
        !          13071:                events[i].bytesAvl = INITIAL_CMD_SIZE;
        !          13072:            }
        !          13073:        }
        !          13074: 
        !          13075:        /*
        !          13076:         * Throw away everything left in the old history array, and
        !          13077:         * substitute the new one for the old one.
        !          13078:         */
        !          13079: 
        !          13080:        for (i = 0; i < iPtr->numEvents; i++) {
        !          13081:            if (iPtr->events[i].command != NULL) {
        !          13082:                free(iPtr->events[i].command);
        !          13083:            }
        !          13084:        }
        !          13085:        free((char *) iPtr->events);
        !          13086:        iPtr->events = events;
        !          13087:        if (count < iPtr->numEvents) {
        !          13088:            iPtr->curEvent = count-1;
        !          13089:        } else {
        !          13090:            iPtr->curEvent = iPtr->numEvents-1;
        !          13091:        }
        !          13092:        iPtr->numEvents = count;
        !          13093:        return TCL_OK;
        !          13094:     } else if ((c == 'n') && (strncmp(argv[1], "nextid", length)) == 0) {
        !          13095:        if (argc != 2) {
        !          13096:            sprintf(iPtr->result, "wrong # args:  should be \"%.50s nextid\"",
        !          13097:                    argv[0]);
        !          13098:            return TCL_ERROR;
        !          13099:        }
        !          13100:        sprintf(iPtr->result, "%d", iPtr->curEventNum+1);
        !          13101:        return TCL_OK;
        !          13102:     } else if ((c == 'r') && (strncmp(argv[1], "redo", length)) == 0) {
        !          13103:        if (argc > 3) {
        !          13104:            sprintf(iPtr->result,
        !          13105:                    "too many args:  should be \"%.50s redo [event]\"",
        !          13106:                    argv[0]);
        !          13107:            return TCL_ERROR;
        !          13108:        }
        !          13109:        eventPtr = GetEvent(iPtr, argc==2 ? "-1" : argv[2]);
        !          13110:        if (eventPtr == NULL) {
        !          13111:            return TCL_ERROR;
        !          13112:        }
        !          13113:        RevCommand(iPtr, eventPtr->command);
        !          13114:        return Tcl_Eval(interp, eventPtr->command, 0, (char **) NULL);
        !          13115:     } else if ((c == 's') && (strncmp(argv[1], "substitute", length)) == 0) {
        !          13116:        if ((argc > 5) || (argc < 4)) {
        !          13117:            sprintf(iPtr->result, "wrong # args:  should be \"%.50s substitute old new [event]\"",
        !          13118:                    argv[0]);
        !          13119:            return TCL_ERROR;
        !          13120:        }
        !          13121:        eventPtr = GetEvent(iPtr, argc==4 ? "-1" : argv[4]);
        !          13122:        if (eventPtr == NULL) {
        !          13123:            return TCL_ERROR;
        !          13124:        }
        !          13125:        return SubsAndEval(iPtr, eventPtr->command, argv[2], argv[3]);
        !          13126:     } else if ((c == 'w') && (strncmp(argv[1], "words", length)) == 0) {
        !          13127:        char *words;
        !          13128: 
        !          13129:        if ((argc != 3) && (argc != 4)) {
        !          13130:            sprintf(iPtr->result, "wrong # args:  should be \"%.50s words num-num/pat [event]\"",
        !          13131:                    argv[0]);
        !          13132:            return TCL_ERROR;
        !          13133:        }
        !          13134:        eventPtr = GetEvent(iPtr, argc==3 ? "-1" : argv[3]);
        !          13135:        if (eventPtr == NULL) {
        !          13136:            return TCL_ERROR;
        !          13137:        }
        !          13138:        words = GetWords(iPtr, eventPtr->command, argv[2]);
        !          13139:        if (words == NULL) {
        !          13140:            return TCL_ERROR;
        !          13141:        }
        !          13142:        RevResult(iPtr, words);
        !          13143:        iPtr->result = words;
        !          13144:        iPtr->dynamic = 1;
        !          13145:        return TCL_OK;
        !          13146:     }
        !          13147: 
        !          13148:     sprintf(iPtr->result, "bad \"%.50s\" option \"%.50s\": must be add, change, event, info, keep, nextid, redo, substitute, or words",
        !          13149:                argv[0], argv[1]);
        !          13150:     return TCL_ERROR;
        !          13151: }
        !          13152: 
        !          13153: /*
        !          13154:  *----------------------------------------------------------------------
        !          13155:  *
        !          13156:  * HistoryInit --
        !          13157:  *
        !          13158:  *     Initialize history-related state in an interpreter.
        !          13159:  *
        !          13160:  * Results:
        !          13161:  *     None.
        !          13162:  *
        !          13163:  * Side effects:
        !          13164:  *     History info is initialized in iPtr.
        !          13165:  *
        !          13166:  *----------------------------------------------------------------------
        !          13167:  */
        !          13168: 
        !          13169: static void
        !          13170: HistoryInit(iPtr, numEvents)
        !          13171:     register Interp *iPtr;             /* Interpreter to initialize. */
        !          13172:     int numEvents;                     /* Number of events to retain at
        !          13173:                                         * any given time. */
        !          13174: {
        !          13175:     int i;
        !          13176: 
        !          13177:     iPtr->numEvents = numEvents;
        !          13178:     iPtr->events = (HistoryEvent *)
        !          13179:            malloc((unsigned) (numEvents * sizeof(HistoryEvent)));
        !          13180:     for (i = 0; i < numEvents; i++) {
        !          13181:        iPtr->events[i].command = malloc(INITIAL_CMD_SIZE);
        !          13182:        *iPtr->events[i].command = 0;
        !          13183:        iPtr->events[i].bytesAvl = INITIAL_CMD_SIZE;
        !          13184:     }
        !          13185:     iPtr->curEvent = 0;
        !          13186:     iPtr->curEventNum = 0;
        !          13187:     Tcl_CreateCommand((Tcl_Interp *) iPtr, "history", Tcl_HistoryCmd,
        !          13188:            (ClientData) NULL, (void (*)()) NULL);
        !          13189: }
        !          13190: 
        !          13191: /*
        !          13192:  *----------------------------------------------------------------------
        !          13193:  *
        !          13194:  * MakeSpace --
        !          13195:  *
        !          13196:  *     Given a history event, make sure it has enough space for
        !          13197:  *     a string of a given length (enlarge the string area if
        !          13198:  *     necessary).
        !          13199:  *
        !          13200:  * Results:
        !          13201:  *     None.
        !          13202:  *
        !          13203:  * Side effects:
        !          13204:  *     More memory may get allocated.
        !          13205:  *
        !          13206:  *----------------------------------------------------------------------
        !          13207:  */
        !          13208: 
        !          13209: static void
        !          13210: MakeSpace(hPtr, size)
        !          13211:     HistoryEvent *hPtr;
        !          13212:     int size;                  /* # of bytes needed in hPtr. */
        !          13213: {
        !          13214:     if (hPtr->bytesAvl < size) {
        !          13215:        free(hPtr->command);
        !          13216:        hPtr->command = malloc((unsigned) size);
        !          13217:        hPtr->bytesAvl = size;
        !          13218:     }
        !          13219: }
        !          13220: 
        !          13221: /*
        !          13222:  *----------------------------------------------------------------------
        !          13223:  *
        !          13224:  * InsertRev --
        !          13225:  *
        !          13226:  *     Add a new revision to the list of those pending for iPtr.
        !          13227:  *     Do it in a way that keeps the revision list sorted in
        !          13228:  *     increasing order of firstIndex.  Also, eliminate revisions
        !          13229:  *     that are subsets of other revisions.
        !          13230:  *
        !          13231:  * Results:
        !          13232:  *     None.
        !          13233:  *
        !          13234:  * Side effects:
        !          13235:  *     RevPtr is added to iPtr's revision list.
        !          13236:  *
        !          13237:  *----------------------------------------------------------------------
        !          13238:  */
        !          13239: 
        !          13240: static void
        !          13241: InsertRev(iPtr, revPtr)
        !          13242:     Interp *iPtr;                      /* Interpreter to use. */
        !          13243:     register HistoryRev *revPtr;       /* Revision to add to iPtr's list. */
        !          13244: {
        !          13245:     register HistoryRev *curPtr;
        !          13246:     register HistoryRev *prevPtr;
        !          13247: 
        !          13248:     for (curPtr = iPtr->revPtr, prevPtr = NULL; curPtr != NULL;
        !          13249:            prevPtr = curPtr, curPtr = curPtr->nextPtr) {
        !          13250:        /*
        !          13251:         * If this revision includes the new one (or vice versa) then
        !          13252:         * just eliminate the one that is a subset of the other.
        !          13253:         */
        !          13254: 
        !          13255:        if ((revPtr->firstIndex <= curPtr->firstIndex)
        !          13256:                && (revPtr->lastIndex >= curPtr->firstIndex)) {
        !          13257:            curPtr->firstIndex = revPtr->firstIndex;
        !          13258:            curPtr->lastIndex = revPtr->lastIndex;
        !          13259:            curPtr->newSize = revPtr->newSize;
        !          13260:            free(curPtr->newBytes);
        !          13261:            curPtr->newBytes = revPtr->newBytes;
        !          13262:            free((char *) revPtr);
        !          13263:            return;
        !          13264:        }
        !          13265:        if ((revPtr->firstIndex >= curPtr->firstIndex)
        !          13266:                && (revPtr->lastIndex <= curPtr->lastIndex)) {
        !          13267:            free(revPtr->newBytes);
        !          13268:            free((char *) revPtr);
        !          13269:            return;
        !          13270:        }
        !          13271: 
        !          13272:        if (revPtr->firstIndex < curPtr->firstIndex) {
        !          13273:            break;
        !          13274:        }
        !          13275:     }
        !          13276: 
        !          13277:     /*
        !          13278:      * Insert revPtr just after prevPtr.
        !          13279:      */
        !          13280: 
        !          13281:     if (prevPtr == NULL) {
        !          13282:        revPtr->nextPtr = iPtr->revPtr;
        !          13283:        iPtr->revPtr = revPtr;
        !          13284:     } else {
        !          13285:        revPtr->nextPtr = prevPtr->nextPtr;
        !          13286:        prevPtr->nextPtr = revPtr;
        !          13287:     }
        !          13288: }
        !          13289: 
        !          13290: /*
        !          13291:  *----------------------------------------------------------------------
        !          13292:  *
        !          13293:  * RevCommand --
        !          13294:  *
        !          13295:  *     This procedure is invoked by the "history" command to record
        !          13296:  *     a command revision.  See the comments at the beginning of the
        !          13297:  *     file for more information about revisions.
        !          13298:  *
        !          13299:  * Results:
        !          13300:  *     None.
        !          13301:  *
        !          13302:  * Side effects:
        !          13303:  *     Revision information is recorded.
        !          13304:  *
        !          13305:  *----------------------------------------------------------------------
        !          13306:  */
        !          13307: 
        !          13308: static void
        !          13309: RevCommand(iPtr, string)
        !          13310:     register Interp *iPtr;     /* Interpreter in which to perform the
        !          13311:                                 * substitution. */
        !          13312:     char *string;              /* String to substitute. */
        !          13313: {
        !          13314:     register HistoryRev *revPtr;
        !          13315: 
        !          13316:     if ((iPtr->evalFirst == NULL) || (iPtr->historyFirst == NULL)) {
        !          13317:        return;
        !          13318:     }
        !          13319:     revPtr = (HistoryRev *) malloc(sizeof(HistoryRev));
        !          13320:     revPtr->firstIndex = iPtr->evalFirst - iPtr->historyFirst;
        !          13321:     revPtr->lastIndex = iPtr->evalLast - iPtr->historyFirst - 1;
        !          13322:     revPtr->newSize = strlen(string);
        !          13323:     revPtr->newBytes = malloc((unsigned) (revPtr->newSize+1));
        !          13324:     strcpy(revPtr->newBytes, string);
        !          13325:     InsertRev(iPtr, revPtr);
        !          13326: }
        !          13327: 
        !          13328: /*
        !          13329:  *----------------------------------------------------------------------
        !          13330:  *
        !          13331:  * RevResult --
        !          13332:  *
        !          13333:  *     This procedure is invoked by the "history" command to record
        !          13334:  *     a result revision.  See the comments at the beginning of the
        !          13335:  *     file for more information about revisions.
        !          13336:  *
        !          13337:  * Results:
        !          13338:  *     None.
        !          13339:  *
        !          13340:  * Side effects:
        !          13341:  *     Revision information is recorded.
        !          13342:  *
        !          13343:  *----------------------------------------------------------------------
        !          13344:  */
        !          13345: 
        !          13346: static void
        !          13347: RevResult(iPtr, string)
        !          13348:     register Interp *iPtr;     /* Interpreter in which to perform the
        !          13349:                                 * substitution. */
        !          13350:     char *string;              /* String to substitute. */
        !          13351: {
        !          13352:     register HistoryRev *revPtr;
        !          13353:     char *evalFirst, *evalLast;
        !          13354:     char *argv[2];
        !          13355: 
        !          13356:     if ((iPtr->evalFirst == NULL) || (iPtr->historyFirst == NULL)) {
        !          13357:        return;
        !          13358:     }
        !          13359: 
        !          13360:     /*
        !          13361:      * Expand the replacement range to include the brackets that surround
        !          13362:      * the command.  If there aren't any brackets (i.e. this command was
        !          13363:      * invoked at top-level) then don't do any revision.  Also, if there
        !          13364:      * are several commands in brackets, of which this is just one,
        !          13365:      * then don't do any revision.
        !          13366:      */
        !          13367: 
        !          13368:     evalFirst = iPtr->evalFirst;
        !          13369:     evalLast = iPtr->evalLast;
        !          13370:     while (1) {
        !          13371:        if (evalFirst == iPtr->historyFirst) {
        !          13372:            return;
        !          13373:        }
        !          13374:        evalFirst--;
        !          13375:        if (*evalFirst == '[') {
        !          13376:            break;
        !          13377:        }
        !          13378:        if (!isspace(*evalFirst)) {
        !          13379:            return;
        !          13380:        }
        !          13381:     }
        !          13382:     if (*evalLast != ']') {
        !          13383:        return;
        !          13384:     }
        !          13385: 
        !          13386:     revPtr = (HistoryRev *) malloc(sizeof(HistoryRev));
        !          13387:     revPtr->firstIndex = evalFirst - iPtr->historyFirst;
        !          13388:     revPtr->lastIndex = evalLast - iPtr->historyFirst;
        !          13389:     argv[0] = string;
        !          13390:     revPtr->newBytes = Tcl_Merge(1, argv);
        !          13391:     revPtr->newSize = strlen(revPtr->newBytes);
        !          13392:     InsertRev(iPtr, revPtr);
        !          13393: }
        !          13394: 
        !          13395: /*
        !          13396:  *----------------------------------------------------------------------
        !          13397:  *
        !          13398:  * DoRevs --
        !          13399:  *
        !          13400:  *     This procedure is called to apply the history revisions that
        !          13401:  *     have been recorded in iPtr.
        !          13402:  *
        !          13403:  * Results:
        !          13404:  *     None.
        !          13405:  *
        !          13406:  * Side effects:
        !          13407:  *     The most recent entry in the history for iPtr may be modified.
        !          13408:  *
        !          13409:  *----------------------------------------------------------------------
        !          13410:  */
        !          13411: 
        !          13412: static void
        !          13413: DoRevs(iPtr)
        !          13414:     register Interp *iPtr;     /* Interpreter whose history is to
        !          13415:                                 * be modified. */
        !          13416: {
        !          13417:     register HistoryRev *revPtr;
        !          13418:     register HistoryEvent *eventPtr;
        !          13419:     char *newCommand, *p;
        !          13420:     unsigned int size;
        !          13421:     int bytesSeen, count;
        !          13422: 
        !          13423:     if (iPtr->revPtr == NULL) {
        !          13424:        return;
        !          13425:     }
        !          13426: 
        !          13427:     /*
        !          13428:      * The revision is done in two passes.  The first pass computes the
        !          13429:      * amount of space needed for the revised event, and the second pass
        !          13430:      * pieces together the new event and frees up the revisions.
        !          13431:      */
        !          13432: 
        !          13433:     eventPtr = &iPtr->events[iPtr->curEvent];
        !          13434:     size = strlen(eventPtr->command);
        !          13435:     for (revPtr = iPtr->revPtr; revPtr != NULL; revPtr = revPtr->nextPtr) {
        !          13436:        size -= revPtr->lastIndex + 1 - revPtr->firstIndex;
        !          13437:        size += revPtr->newSize;
        !          13438:     }
        !          13439: 
        !          13440:     newCommand = malloc(size);
        !          13441:     p = newCommand;
        !          13442:     bytesSeen = 0;
        !          13443:     for (revPtr = iPtr->revPtr; revPtr != NULL; revPtr = revPtr->nextPtr) {
        !          13444:        count = revPtr->firstIndex - bytesSeen;
        !          13445:        if (count > 0) {
        !          13446:            strncpy(p, eventPtr->command + bytesSeen, count);
        !          13447:            p += count;
        !          13448:        }
        !          13449:        strncpy(p, revPtr->newBytes, revPtr->newSize);
        !          13450:        p += revPtr->newSize;
        !          13451:        bytesSeen = revPtr->lastIndex+1;
        !          13452:        free(revPtr->newBytes);
        !          13453:        free((char *) revPtr);
        !          13454:     }
        !          13455:     strcpy(p, eventPtr->command + bytesSeen);
        !          13456: 
        !          13457:     /*
        !          13458:      * Replace the command in the event.
        !          13459:      */
        !          13460: 
        !          13461:     free(eventPtr->command);
        !          13462:     eventPtr->command = newCommand;
        !          13463:     eventPtr->bytesAvl = size;
        !          13464:     iPtr->revPtr = NULL;
        !          13465: }
        !          13466: 
        !          13467: /*
        !          13468:  *----------------------------------------------------------------------
        !          13469:  *
        !          13470:  * DisableRevs --
        !          13471:  *
        !          13472:  *     Turn off history revision for this command.
        !          13473:  *
        !          13474:  * Results:
        !          13475:  *     None.
        !          13476:  *
        !          13477:  * Side effects:
        !          13478:  *     The state of iPtr is modified to discard any pending
        !          13479:  *     history revisions and prevent any future revisions
        !          13480:  *     from being logged for this command.
        !          13481:  *
        !          13482:  *----------------------------------------------------------------------
        !          13483:  */
        !          13484: 
        !          13485: static void
        !          13486: DisableRevs(iPtr)
        !          13487:     register Interp *iPtr;     /* Interpreter in which to disable revs. */
        !          13488: {
        !          13489:     iPtr->historyFirst = NULL;
        !          13490:     while (iPtr->revPtr != NULL) {
        !          13491:        free(iPtr->revPtr->newBytes);
        !          13492:        free((char *) iPtr->revPtr);
        !          13493:        iPtr->revPtr = iPtr->revPtr->nextPtr;
        !          13494:     }
        !          13495: }
        !          13496: 
        !          13497: /*
        !          13498:  *----------------------------------------------------------------------
        !          13499:  *
        !          13500:  * GetEvent --
        !          13501:  *
        !          13502:  *     Given a textual description of an event (see the manual page
        !          13503:  *     for legal values) find the corresponding event and return its
        !          13504:  *     command string.
        !          13505:  *
        !          13506:  * Results:
        !          13507:  *     The return value is a pointer to the event named by "string".
        !          13508:  *     If no such event exists, then NULL is returned and an error
        !          13509:  *     message is left in iPtr.
        !          13510:  *
        !          13511:  * Side effects:
        !          13512:  *     None.
        !          13513:  *
        !          13514:  *----------------------------------------------------------------------
        !          13515:  */
        !          13516: 
        !          13517: static HistoryEvent *
        !          13518: GetEvent(iPtr, string)
        !          13519:     register Interp *iPtr;     /* Interpreter in which to look. */
        !          13520:     char *string;              /* Description of event. */
        !          13521: {
        !          13522:     int eventNum, index;
        !          13523:     char *end;
        !          13524:     register HistoryEvent *eventPtr;
        !          13525:     int length;
        !          13526: 
        !          13527:     /*
        !          13528:      * First check for a numeric specification of an event.
        !          13529:      */
        !          13530: 
        !          13531:     if (isdigit(*string) || (*string == '-')) {
        !          13532:        eventNum = strtol(string, &end, 0);
        !          13533:        if (*end != 0) {
        !          13534:            sprintf(iPtr->result, "bad event number \"%.50s\"", string);
        !          13535:            return NULL;
        !          13536:        }
        !          13537:        if (eventNum < 0) {
        !          13538:            eventNum += iPtr->curEventNum;
        !          13539:         }
        !          13540:        if (eventNum > iPtr->curEventNum) {
        !          13541:            sprintf(iPtr->result, "event \"%.50s\" hasn't occurred yet",
        !          13542:                    string);
        !          13543:            return NULL;
        !          13544:        }
        !          13545:        if ((eventNum <= iPtr->curEventNum-iPtr->numEvents)
        !          13546:                || (eventNum <= 0)) {
        !          13547:            sprintf(iPtr->result, "event \"%.50s\" is too far in the past",
        !          13548:                    string);
        !          13549:            return NULL;
        !          13550:        }
        !          13551:        index = iPtr->curEvent + (eventNum - iPtr->curEventNum);
        !          13552:        if (index < 0) {
        !          13553:            index += iPtr->numEvents;
        !          13554:        }
        !          13555:        return &iPtr->events[index];
        !          13556:     }
        !          13557: 
        !          13558:     /*
        !          13559:      * Next, check for an event that contains the string as a prefix or
        !          13560:      * that matches the string in the sense of Tcl_StringMatch.
        !          13561:      */
        !          13562: 
        !          13563:     length = strlen(string);
        !          13564:     for (index = iPtr->curEvent - 1; ; index--) {
        !          13565:        if (index < 0) {
        !          13566:            index += iPtr->numEvents;
        !          13567:        }
        !          13568:        if (index == iPtr->curEvent) {
        !          13569:            break;
        !          13570:        }
        !          13571:        eventPtr = &iPtr->events[index];
        !          13572:        if ((strncmp(eventPtr->command, string, length) == 0)
        !          13573:                || Tcl_StringMatch(eventPtr->command, string)) {
        !          13574:            return eventPtr;
        !          13575:        }
        !          13576:     }
        !          13577: 
        !          13578:     sprintf(iPtr->result, "no event matches \"%.50s\"", string);
        !          13579:     return NULL;
        !          13580: }
        !          13581: 
        !          13582: /*
        !          13583:  *----------------------------------------------------------------------
        !          13584:  *
        !          13585:  * SubsAndEval --
        !          13586:  *
        !          13587:  *     Generate a new command by making a textual substitution in
        !          13588:  *     the "cmd" argument.  Then execute the new command.
        !          13589:  *
        !          13590:  * Results:
        !          13591:  *     The return value is a standard Tcl error.
        !          13592:  *
        !          13593:  * Side effects:
        !          13594:  *     History gets revised if the substitution is occurring on
        !          13595:  *     a recorded command line.  Also, the re-executed command
        !          13596:  *     may produce side-effects.
        !          13597:  *
        !          13598:  *----------------------------------------------------------------------
        !          13599:  */
        !          13600: 
        !          13601: static int
        !          13602: SubsAndEval(iPtr, cmd, old, new)
        !          13603:     register Interp *iPtr;     /* Interpreter in which to execute
        !          13604:                                 * new command. */
        !          13605:     char *cmd;                 /* Command in which to substitute. */
        !          13606:     char *old;                 /* String to search for in command. */
        !          13607:     char *new;                 /* Replacement string for "old". */
        !          13608: {
        !          13609:     char *src, *dst, *newCmd;
        !          13610:     int count, oldLength, newLength, length, result;
        !          13611: 
        !          13612:     /*
        !          13613:      * Figure out how much space it will take to hold the
        !          13614:      * substituted command (and complain if the old string
        !          13615:      * doesn't appear in the original command).
        !          13616:      */
        !          13617: 
        !          13618:     oldLength = strlen(old);
        !          13619:     newLength = strlen(new);
        !          13620:     src = cmd;
        !          13621:     count = 0;
        !          13622:     while (1) {
        !          13623:        src = strstr(src, old);
        !          13624:        if (src == NULL) {
        !          13625:            break;
        !          13626:        }
        !          13627:        src += oldLength;
        !          13628:        count++;
        !          13629:     }
        !          13630:     if (count == 0) {
        !          13631:        sprintf(iPtr->result, "\"%.50s\" doesn't appear in event",
        !          13632:                old);
        !          13633:        return TCL_ERROR;
        !          13634:     }
        !          13635:     length = strlen(cmd) + count*(newLength - oldLength);
        !          13636: 
        !          13637:     /*
        !          13638:      * Generate a substituted command.
        !          13639:      */
        !          13640: 
        !          13641:     newCmd = malloc((unsigned) (length + 1));
        !          13642:     dst = newCmd;
        !          13643:     while (1) {
        !          13644:        src = strstr(cmd, old);
        !          13645:        if (src == NULL) {
        !          13646:            strcpy(dst, cmd);
        !          13647:            break;
        !          13648:        }
        !          13649:        strncpy(dst, cmd, src-cmd);
        !          13650:        dst += src-cmd;
        !          13651:        strcpy(dst, new);
        !          13652:        dst += newLength;
        !          13653:        cmd = src + oldLength;
        !          13654:     }
        !          13655: 
        !          13656:     RevCommand(iPtr, newCmd);
        !          13657:     result = Tcl_Eval((Tcl_Interp *) iPtr, newCmd, 0, (char **) NULL);
        !          13658:     free(newCmd);
        !          13659:     return result;
        !          13660: }
        !          13661: 
        !          13662: /*
        !          13663:  *----------------------------------------------------------------------
        !          13664:  *
        !          13665:  * GetWords --
        !          13666:  *
        !          13667:  *     Given a command string, return one or more words from the
        !          13668:  *     command string.
        !          13669:  *
        !          13670:  * Results:
        !          13671:  *     The return value is a pointer to a dynamically-allocated
        !          13672:  *     string containing the words of command specified by "words".
        !          13673:  *     If the word specifier has improper syntax then an error
        !          13674:  *     message is placed in iPtr->result and NULL is returned.
        !          13675:  *
        !          13676:  * Side effects:
        !          13677:  *     Memory is allocated.  It is the caller's responsibilty to
        !          13678:  *     free the returned string..
        !          13679:  *
        !          13680:  *----------------------------------------------------------------------
        !          13681:  */
        !          13682: 
        !          13683: static char *
        !          13684: GetWords(iPtr, command, words)
        !          13685:     register Interp *iPtr;     /* Tcl interpreter in which to place
        !          13686:                                 * an error message if needed. */
        !          13687:     char *command;             /* Command string. */
        !          13688:     char *words;               /* Description of which words to extract
        !          13689:                                 * from the command.  Either num[-num] or
        !          13690:                                 * a pattern. */
        !          13691: {
        !          13692:     char *result;
        !          13693:     char *start, *end, *dst;
        !          13694:     register char *next;
        !          13695:     int first;                 /* First word desired. -1 means last word
        !          13696:                                 * only. */
        !          13697:     int last;                  /* Last word desired.  -1 means use everything
        !          13698:                                 * up to the end. */
        !          13699:     int index;                 /* Index of current word. */
        !          13700:     char *pattern;
        !          13701: 
        !          13702:     /*
        !          13703:      * Figure out whether we're looking for a numerical range or for
        !          13704:      * a pattern.
        !          13705:      */
        !          13706: 
        !          13707:     pattern = NULL;
        !          13708:     first = 0;
        !          13709:     last = -1;
        !          13710:     if (*words == '$') {
        !          13711:        if (words[1] != '\0') {
        !          13712:            goto error;
        !          13713:        }
        !          13714:        first = -1;
        !          13715:     } else if (isdigit(*words)) {
        !          13716:        first = strtoul(words, &start, 0);
        !          13717:        if (*start == 0) {
        !          13718:            last = first;
        !          13719:        } else if (*start == '-') {
        !          13720:            start++;
        !          13721:            if (*start == '$') {
        !          13722:                start++;
        !          13723:            } else if (isdigit(*start)) {
        !          13724:                last = strtoul(start, &start, 0);
        !          13725:            } else {
        !          13726:                goto error;
        !          13727:            }
        !          13728:            if (*start != 0) {
        !          13729:                goto error;
        !          13730:            }
        !          13731:        }
        !          13732:        if ((first > last) && (last != -1)) {
        !          13733:            goto error;
        !          13734:        }
        !          13735:     } else {
        !          13736:        pattern = words;
        !          13737:     }
        !          13738: 
        !          13739:     /*
        !          13740:      * Scan through the words one at a time, copying those that are
        !          13741:      * relevant into the result string.  Allocate a result area large
        !          13742:      * enough to hold all the words if necessary.
        !          13743:      */
        !          13744: 
        !          13745:     result = malloc((unsigned) (strlen(command) + 1));
        !          13746:     dst = result;
        !          13747:     for (next = command; isspace(*next); next++) {
        !          13748:        /* Empty loop body:  just find start of first word. */
        !          13749:     }
        !          13750:     for (index = 0; *next != 0; index++) {
        !          13751:        start = next;
        !          13752:        end = TclWordEnd(next, 0);
        !          13753:        for (next = end; isspace(*next); next++) {
        !          13754:            /* Empty loop body:  just find start of next word. */
        !          13755:        }
        !          13756:        if ((first > index) || ((first == -1) && (*next != 0))) {
        !          13757:            continue;
        !          13758:        }
        !          13759:        if ((last != -1) && (last < index)) {
        !          13760:            continue;
        !          13761:        }
        !          13762:        if (pattern != NULL) {
        !          13763:            int match;
        !          13764:            char savedChar = *end;
        !          13765: 
        !          13766:            *end = 0;
        !          13767:            match = Tcl_StringMatch(start, pattern);
        !          13768:            *end = savedChar;
        !          13769:            if (!match) {
        !          13770:                continue;
        !          13771:            }
        !          13772:        }
        !          13773:        if (dst != result) {
        !          13774:            *dst = ' ';
        !          13775:            dst++;
        !          13776:        }
        !          13777:        strncpy(dst, start, (end-start));
        !          13778:        dst += end-start;
        !          13779:     }
        !          13780:     *dst = 0;
        !          13781: 
        !          13782:     /*
        !          13783:      * Check for an out-of-range argument index.
        !          13784:      */
        !          13785: 
        !          13786:     if ((last >= index) || (first >= index)) {
        !          13787:        free(result);
        !          13788:        sprintf(iPtr->result,
        !          13789:                "word selector \"%.50s\" specified non-existent words",
        !          13790:                words);
        !          13791:        return NULL;
        !          13792:     }
        !          13793:     return result;
        !          13794: 
        !          13795:     error:
        !          13796:     sprintf(iPtr->result,
        !          13797:            "bad word selector \"%.50s\":  should be num-num or pattern",
        !          13798:            words);
        !          13799:     return NULL;
        !          13800: }
        !          13801: 0707070035050510621006660011710000040000010745130466300656600001600000056172tcl/tclProc.c/* 
        !          13802:  * tclProc.c --
        !          13803:  *
        !          13804:  *     This file contains routines that implement Tcl procedures and
        !          13805:  *     variables.
        !          13806:  *
        !          13807:  * Copyright 1987 Regents of the University of California
        !          13808:  * Permission to use, copy, modify, and distribute this
        !          13809:  * software and its documentation for any purpose and without
        !          13810:  * fee is hereby granted, provided that the above copyright
        !          13811:  * notice appear in all copies.  The University of California
        !          13812:  * makes no representations about the suitability of this
        !          13813:  * software for any purpose.  It is provided "as is" without
        !          13814:  * express or implied warranty.
        !          13815:  */
        !          13816: 
        !          13817: #ifndef lint
        !          13818: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclProc.c,v 1.35 90/03/29 10:55:16 ouster Exp $ SPRITE (Berkeley)";
        !          13819: #pragma ref rcsid
        !          13820: #endif not lint
        !          13821: 
        !          13822: #include <stdio.h>
        !          13823: #include <stdlib.h>
        !          13824: #include <string.h>
        !          13825: #include <ctype.h>
        !          13826: #include "tclInt.h"
        !          13827: 
        !          13828: /*
        !          13829:  * Forward references to procedures defined later in this file:
        !          13830:  */
        !          13831: 
        !          13832: extern Var *   FindVar();
        !          13833: extern int     InterpProc();
        !          13834: extern Var *   NewVar();
        !          13835: extern void    ProcDeleteProc();
        !          13836: 
        !          13837: /*
        !          13838:  *----------------------------------------------------------------------
        !          13839:  *
        !          13840:  * Tcl_ProcCmd --
        !          13841:  *
        !          13842:  *     This procedure is invoked to process the "proc" Tcl command.
        !          13843:  *     See the user documentation for details on what it does.
        !          13844:  *
        !          13845:  * Results:
        !          13846:  *     A standard Tcl result value.
        !          13847:  *
        !          13848:  * Side effects:
        !          13849:  *     A new procedure gets created.
        !          13850:  *
        !          13851:  *----------------------------------------------------------------------
        !          13852:  */
        !          13853: 
        !          13854:        /* ARGSUSED */
        !          13855: int
        !          13856: Tcl_ProcCmd(dummy, interp, argc, argv)
        !          13857:     ClientData dummy;                  /* Not used. */
        !          13858:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          13859:     int argc;                          /* Number of arguments. */
        !          13860:     char **argv;                       /* Argument strings. */
        !          13861: {
        !          13862: #pragma ref dummy
        !          13863:     register Interp *iPtr = (Interp *) interp;
        !          13864:     register Proc *procPtr;
        !          13865:     int result, argCount, i;
        !          13866:     char **argArray;
        !          13867: 
        !          13868:     if (argc != 4) {
        !          13869:        sprintf(iPtr->result,
        !          13870:                "wrong # args: should be \"%.50s name args body\"",
        !          13871:                argv[0]);
        !          13872:        return TCL_ERROR;
        !          13873:     }
        !          13874: 
        !          13875:     procPtr = (Proc *) malloc(sizeof(Proc));
        !          13876:     procPtr->iPtr = iPtr;
        !          13877:     procPtr->command = (char *) malloc((unsigned) strlen(argv[3]) + 1);
        !          13878:     strcpy(procPtr->command, argv[3]);
        !          13879:     procPtr->argPtr = NULL;
        !          13880:     Tcl_CreateCommand(interp, argv[1], InterpProc,
        !          13881:            (ClientData) procPtr, ProcDeleteProc);
        !          13882: 
        !          13883:     /*
        !          13884:      * Break up the argument list into argument specifiers, then process
        !          13885:      * each argument specifier.
        !          13886:      */
        !          13887: 
        !          13888:     result = Tcl_SplitList(interp, argv[2], &argCount, &argArray);
        !          13889:     if (result != TCL_OK) {
        !          13890:        return result;
        !          13891:     }
        !          13892:     for (i = 0; i < argCount; i++) {
        !          13893:        int fieldCount, nameLength, valueLength;
        !          13894:        char **fieldValues;
        !          13895:        register Var *argPtr;
        !          13896: 
        !          13897:        /*
        !          13898:         * Now divide the specifier up into name and default.
        !          13899:         */
        !          13900: 
        !          13901:        result = Tcl_SplitList(interp, argArray[i], &fieldCount,
        !          13902:                &fieldValues);
        !          13903:        if (result != TCL_OK) {
        !          13904:            goto procError;
        !          13905:        }
        !          13906:        if (fieldCount > 2) {
        !          13907:            sprintf(iPtr->result,
        !          13908:                    "too many fields in argument specifier \"%.50s\"",
        !          13909:                    argArray[i]);
        !          13910:            result = TCL_ERROR;
        !          13911:            goto procError;
        !          13912:        }
        !          13913:        if ((fieldCount == 0) || (*fieldValues[0] == 0)) {
        !          13914:            sprintf(iPtr->result,
        !          13915:                    "procedure \"%.50s\" has argument with no name", argv[1]);
        !          13916:            result = TCL_ERROR;
        !          13917:            goto procError;
        !          13918:        }
        !          13919:        nameLength = strlen(fieldValues[0]);
        !          13920:        if (fieldCount == 2) {
        !          13921:            valueLength = strlen(fieldValues[1]);
        !          13922:        } else {
        !          13923:            valueLength = 0;
        !          13924:        }
        !          13925:        if (procPtr->argPtr == NULL) {
        !          13926:            argPtr = (Var *) malloc(VAR_SIZE(nameLength, valueLength));
        !          13927:            procPtr->argPtr = argPtr;
        !          13928:        } else {
        !          13929:            argPtr->nextPtr = (Var *) malloc(VAR_SIZE(nameLength, valueLength));
        !          13930:            argPtr = argPtr->nextPtr;
        !          13931:        }
        !          13932:        strcpy(argPtr->name, fieldValues[0]);
        !          13933:        if (fieldCount == 2) {
        !          13934:            argPtr->value = argPtr->name + nameLength + 1;
        !          13935:            strcpy(argPtr->value, fieldValues[1]);
        !          13936:        } else {
        !          13937:            argPtr->value = NULL;
        !          13938:        }
        !          13939:        argPtr->valueLength = valueLength;
        !          13940:        argPtr->flags = 0;
        !          13941:        argPtr->nextPtr = NULL;
        !          13942:        free((char *) fieldValues);
        !          13943:     }
        !          13944: 
        !          13945:     free((char *) argArray);
        !          13946:     return TCL_OK;
        !          13947: 
        !          13948:     procError:
        !          13949:     free((char *) argArray);
        !          13950:     return result;
        !          13951: }
        !          13952: 
        !          13953: /*1
        !          13954:  *----------------------------------------------------------------------
        !          13955:  *
        !          13956:  * Tcl_GetVar --
        !          13957:  *
        !          13958:  *     Return the value of a Tcl variable.
        !          13959:  *
        !          13960:  * Results:
        !          13961:  *     The return value points to the current value of varName.  If
        !          13962:  *     the variable is not defined in interp, either as a local or
        !          13963:  *     global variable, then a NULL pointer is returned.  Note:  the
        !          13964:  *     return value is only valid up until the next call to Tcl_SetVar;
        !          13965:  *     if you depend on the value lasting longer than that, then make
        !          13966:  *     yourself a private copy.
        !          13967:  *
        !          13968:  * Side effects:
        !          13969:  *     None.
        !          13970:  *
        !          13971:  *----------------------------------------------------------------------
        !          13972:  */
        !          13973: 
        !          13974: char *
        !          13975: Tcl_GetVar(interp, varName, global)
        !          13976:     Tcl_Interp *interp;                /* Command interpreter in which varName is
        !          13977:                                 * to be looked up. */
        !          13978:     char *varName;             /* Name of a variable in interp. */
        !          13979:     int global;                        /* If non-zero, use only a global variable */
        !          13980: {
        !          13981:     Var *varPtr;
        !          13982:     Interp *iPtr = (Interp *) interp;
        !          13983: 
        !          13984:     if (global || (iPtr->varFramePtr == NULL)) {
        !          13985:        varPtr = FindVar(&iPtr->globalPtr, varName);
        !          13986:     } else {
        !          13987:        varPtr = FindVar(&iPtr->varFramePtr->varPtr, varName);
        !          13988:     }
        !          13989:     if (varPtr == NULL) {
        !          13990:        return NULL;
        !          13991:     }
        !          13992:     if (varPtr->flags & VAR_GLOBAL) {
        !          13993:        varPtr = varPtr->globalPtr;
        !          13994:     }
        !          13995:     if (varPtr->flags & VAR_DOESNT_EXIST) {
        !          13996:        return NULL;
        !          13997:     }
        !          13998:     return varPtr->value;
        !          13999: }
        !          14000: 
        !          14001: /*
        !          14002:  *----------------------------------------------------------------------
        !          14003:  *
        !          14004:  * Tcl_SetVar --
        !          14005:  *
        !          14006:  *     Change the value of a variable.
        !          14007:  *
        !          14008:  * Results:
        !          14009:  *     None.
        !          14010:  *
        !          14011:  * Side effects:
        !          14012:  *     If varName is defined as a local or global variable in interp,
        !          14013:  *     its value is changed to newValue.  If varName isn't currently
        !          14014:  *     defined, then a new global variable by that name is created.
        !          14015:  *
        !          14016:  *----------------------------------------------------------------------
        !          14017:  */
        !          14018: 
        !          14019: void
        !          14020: Tcl_SetVar(interp, varName, newValue, global)
        !          14021:     Tcl_Interp *interp;                /* Command interpreter in which varName is
        !          14022:                                 * to be looked up. */
        !          14023:     char *varName;             /* Name of a variable in interp. */
        !          14024:     char *newValue;            /* New value for varName. */
        !          14025:     int global;                        /* If non-zero, use only a global variable. */
        !          14026: {
        !          14027:     register Var *varPtr, **varListPtr;
        !          14028:     register Interp *iPtr = (Interp *) interp;
        !          14029:     int valueLength;
        !          14030: 
        !          14031:     if (global || (iPtr->varFramePtr == NULL)) {
        !          14032:        varListPtr = &iPtr->globalPtr;
        !          14033:     } else {
        !          14034:        varListPtr = &iPtr->varFramePtr->varPtr;
        !          14035:     }
        !          14036:     varPtr = FindVar(varListPtr, varName);
        !          14037:     if (varPtr == NULL) {
        !          14038:        varPtr = NewVar(varName, newValue);
        !          14039:        varPtr->nextPtr = *varListPtr;
        !          14040:        *varListPtr = varPtr;
        !          14041:     } else {
        !          14042:        if (varPtr->flags & VAR_GLOBAL) {
        !          14043:            varPtr = varPtr->globalPtr;
        !          14044:        }
        !          14045:        valueLength = strlen(newValue);
        !          14046:        if (valueLength > varPtr->valueLength) {
        !          14047:            if (varPtr->flags & VAR_DYNAMIC) {
        !          14048:                free(varPtr->value);
        !          14049:            }
        !          14050:            varPtr->value = (char *) malloc((unsigned) valueLength + 1);
        !          14051:            varPtr->flags |= VAR_DYNAMIC;
        !          14052:            varPtr->valueLength = valueLength;
        !          14053:        }
        !          14054:        strcpy(varPtr->value, newValue);
        !          14055:        varPtr->flags &= ~VAR_DOESNT_EXIST;
        !          14056:     }
        !          14057: }
        !          14058: 
        !          14059: /*
        !          14060:  *----------------------------------------------------------------------
        !          14061:  *
        !          14062:  * Tcl_ParseVar --
        !          14063:  *
        !          14064:  *     Given a string starting with a $ sign, parse off a variable
        !          14065:  *     name and return its value.
        !          14066:  *
        !          14067:  * Results:
        !          14068:  *     The return value is the contents of the variable given by
        !          14069:  *     the leading characters of string.  If termPtr isn't NULL,
        !          14070:  *     *termPtr gets filled in with the address of the character
        !          14071:  *     just after the last one in the variable specifier.  If the
        !          14072:  *     variable doesn't exist, then the return value is NULL and
        !          14073:  *     an error message will be left in interp->result.
        !          14074:  *
        !          14075:  * Side effects:
        !          14076:  *     None.
        !          14077:  *
        !          14078:  *----------------------------------------------------------------------
        !          14079:  */
        !          14080: 
        !          14081: char *
        !          14082: Tcl_ParseVar(interp, string, termPtr)
        !          14083:     Tcl_Interp *interp;                        /* Context for looking up variable. */
        !          14084:     register char *string;             /* String containing variable name.
        !          14085:                                         * First character must be "$". */
        !          14086:     char **termPtr;                    /* If non-NULL, points to word to fill
        !          14087:                                         * in with character just after last
        !          14088:                                         * one in the variable specifier. */
        !          14089: 
        !          14090: {
        !          14091:     char *name, c, *result;
        !          14092: 
        !          14093:     /*
        !          14094:      * There are two cases:
        !          14095:      * 1. The $ sign is followed by an open curly brace.  Then the variable
        !          14096:      *    name is everything up to the next close curly brace.
        !          14097:      * 2. The $ sign is not followed by an open curly brace.  Then the
        !          14098:      *    variable name is everything up to the next character that isn't
        !          14099:      *    a letter, digit, or underscore.
        !          14100:      * 3. The $ sign is followed by something that isn't a letter, digit,
        !          14101:      *    or underscore:  in this case, there is no variable name, and "$"
        !          14102:      *    is returned.
        !          14103:      */
        !          14104: 
        !          14105:     string++;
        !          14106:     if (*string == '{') {
        !          14107:        string++;
        !          14108:        name = string;
        !          14109:        while ((*string != '}') && (*string != 0)) {
        !          14110:            string++;
        !          14111:        }
        !          14112:        if (termPtr != 0) {
        !          14113:            if (*string != 0) {
        !          14114:                *termPtr = string+1;
        !          14115:            } else {
        !          14116:                *termPtr = string;
        !          14117:            }
        !          14118:        }
        !          14119:     } else {
        !          14120:        name = string;
        !          14121:        while (isalnum(*string) || (*string == '_')) {
        !          14122:            string++;
        !          14123:        }
        !          14124:        if (termPtr != 0) {
        !          14125:            *termPtr = string;
        !          14126:        }
        !          14127:        if (string == name) {
        !          14128:            return "$";
        !          14129:        }
        !          14130:     }
        !          14131: 
        !          14132:     c = *string;
        !          14133:     *string = 0;
        !          14134:     result = Tcl_GetVar(interp, name, 0);
        !          14135:     if (result == NULL) {
        !          14136:        Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          14137:        sprintf(interp->result, "couldn't find variable \"%.50s\"", name);
        !          14138:     }
        !          14139:     *string = c;
        !          14140:     return result;
        !          14141: }
        !          14142: 
        !          14143: /*
        !          14144:  *----------------------------------------------------------------------
        !          14145:  *
        !          14146:  * Tcl_SetCmd --
        !          14147:  *
        !          14148:  *     This procedure is invoked to process the "set" Tcl command.
        !          14149:  *     See the user documentation for details on what it does.
        !          14150:  *
        !          14151:  * Results:
        !          14152:  *     A standard Tcl result value.
        !          14153:  *
        !          14154:  * Side effects:
        !          14155:  *     A variable's value may be changed.
        !          14156:  *
        !          14157:  *----------------------------------------------------------------------
        !          14158:  */
        !          14159: 
        !          14160:        /* ARGSUSED */
        !          14161: int
        !          14162: Tcl_SetCmd(dummy, interp, argc, argv)
        !          14163:     ClientData dummy;                  /* Not used. */
        !          14164:     register Tcl_Interp *interp;       /* Current interpreter. */
        !          14165:     int argc;                          /* Number of arguments. */
        !          14166:     char **argv;                       /* Argument strings. */
        !          14167: {
        !          14168: #pragma ref dummy
        !          14169:     if (argc == 2) {
        !          14170:        char *value;
        !          14171: 
        !          14172:        value = Tcl_GetVar(interp, argv[1], 0);
        !          14173:        if (value == NULL) {
        !          14174:            sprintf(interp->result, "couldn't find variable \"%.50s\"",
        !          14175:                    argv[1]);
        !          14176:            return TCL_ERROR;
        !          14177:        }
        !          14178:        interp->result = value;
        !          14179:        return TCL_OK;
        !          14180:     } else if (argc == 3) {
        !          14181:        Tcl_SetVar(interp, argv[1], argv[2], 0);
        !          14182:        return TCL_OK;
        !          14183:     } else {
        !          14184:        sprintf(interp->result,
        !          14185:                "wrong # args: should be \"%.50s varName [newValue]\"",
        !          14186:                argv[0]);
        !          14187:        return TCL_ERROR;
        !          14188:     }
        !          14189: }
        !          14190: 
        !          14191: /*
        !          14192:  *----------------------------------------------------------------------
        !          14193:  *
        !          14194:  * Tcl_GlobalCmd --
        !          14195:  *
        !          14196:  *     This procedure is invoked to process the "global" Tcl command.
        !          14197:  *     See the user documentation for details on what it does.
        !          14198:  *
        !          14199:  * Results:
        !          14200:  *     A standard Tcl result value.
        !          14201:  *
        !          14202:  * Side effects:
        !          14203:  *     See the user documentation.
        !          14204:  *
        !          14205:  *----------------------------------------------------------------------
        !          14206:  */
        !          14207: 
        !          14208:        /* ARGSUSED */
        !          14209: int
        !          14210: Tcl_GlobalCmd(dummy, interp, argc, argv)
        !          14211:     ClientData dummy;                  /* Not used. */
        !          14212:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          14213:     int argc;                          /* Number of arguments. */
        !          14214:     char **argv;                       /* Argument strings. */
        !          14215: {
        !          14216: #pragma ref dummy
        !          14217:     register Var *varPtr;
        !          14218:     register Interp *iPtr = (Interp *) interp;
        !          14219:     Var *gVarPtr;
        !          14220: 
        !          14221:     if (argc < 2) {
        !          14222:        sprintf(iPtr->result,
        !          14223:                "too few args:  should be \"%.50s varName varName ...\"",
        !          14224:                argv[0]);
        !          14225:        return TCL_ERROR;
        !          14226:     }
        !          14227:     if (iPtr->varFramePtr == NULL) {
        !          14228:        return TCL_OK;
        !          14229:     }
        !          14230: 
        !          14231:     for (argc--, argv++; argc > 0; argc--, argv++) {
        !          14232:        gVarPtr = FindVar(&iPtr->globalPtr, *argv);
        !          14233:        if (gVarPtr == NULL) {
        !          14234:            gVarPtr = NewVar(*argv, "");
        !          14235:            gVarPtr->nextPtr = iPtr->globalPtr;
        !          14236:            iPtr->globalPtr = gVarPtr;
        !          14237:            gVarPtr->flags |= VAR_DOESNT_EXIST;
        !          14238:        }
        !          14239:        varPtr = NewVar(*argv, "");
        !          14240:        varPtr->flags |= VAR_GLOBAL;
        !          14241:        varPtr->globalPtr = gVarPtr;
        !          14242:        varPtr->nextPtr = iPtr->varFramePtr->varPtr;
        !          14243:        iPtr->varFramePtr->varPtr = varPtr;
        !          14244:     }
        !          14245:     return TCL_OK;
        !          14246: }
        !          14247: 
        !          14248: /*
        !          14249:  *----------------------------------------------------------------------
        !          14250:  *
        !          14251:  * Tcl_UplevelCmd --
        !          14252:  *
        !          14253:  *     This procedure is invoked to process the "uplevel" Tcl command.
        !          14254:  *     See the user documentation for details on what it does.
        !          14255:  *
        !          14256:  * Results:
        !          14257:  *     A standard Tcl result value.
        !          14258:  *
        !          14259:  * Side effects:
        !          14260:  *     See the user documentation.
        !          14261:  *
        !          14262:  *----------------------------------------------------------------------
        !          14263:  */
        !          14264: 
        !          14265:        /* ARGSUSED */
        !          14266: int
        !          14267: Tcl_UplevelCmd(dummy, interp, argc, argv)
        !          14268:     ClientData dummy;                  /* Not used. */
        !          14269:     Tcl_Interp *interp;                        /* Current interpreter. */
        !          14270:     int argc;                          /* Number of arguments. */
        !          14271:     char **argv;                       /* Argument strings. */
        !          14272: {
        !          14273: #pragma ref dummy
        !          14274:     register Interp *iPtr = (Interp *) interp;
        !          14275:     int level, result;
        !          14276:     char *end, *levelArg;
        !          14277:     CallFrame *savedVarFramePtr, *framePtr;
        !          14278: 
        !          14279:     if (argc < 2) {
        !          14280:        uplevelSyntax:
        !          14281:        sprintf(iPtr->result,
        !          14282:                "too few args:  should be \"%.50s [level] command ...\"",
        !          14283:                argv[0]);
        !          14284:        return TCL_ERROR;
        !          14285:     }
        !          14286: 
        !          14287:     /*
        !          14288:      * Parse arguments to figure out which level to go to, and set
        !          14289:      * argv and argc to refer to the command to execute at that level.
        !          14290:      */
        !          14291: 
        !          14292:     levelArg = argv[1];
        !          14293:     if (*levelArg == '#') {
        !          14294:        level = strtoul(levelArg+1, &end, 10);
        !          14295:        if ((end == (levelArg+1)) || (*end != '\0')) {
        !          14296:            goto levelError;
        !          14297:        }
        !          14298:        argc -= 2;
        !          14299:        argv += 2;
        !          14300:     } else if (isdigit(*levelArg)) {
        !          14301:        level = strtoul(levelArg, &end, 10);
        !          14302:        if ((end == levelArg) || (*end != '\0')) {
        !          14303:            goto levelError;
        !          14304:        }
        !          14305:        if (iPtr->varFramePtr == NULL) {
        !          14306:            goto levelError;
        !          14307:        }
        !          14308:        level = iPtr->varFramePtr->level - level;
        !          14309:        argc -= 2;
        !          14310:        argv += 2;
        !          14311:     } else {
        !          14312:        if (iPtr->varFramePtr == NULL) {
        !          14313:            goto levelError;
        !          14314:        }
        !          14315:        level = iPtr->varFramePtr->level - 1;
        !          14316:        argc--;
        !          14317:        argv++;
        !          14318:     }
        !          14319: 
        !          14320:     /*
        !          14321:      * Figure out which frame to use, and modify the interpreter so
        !          14322:      * its variables come from that frame.
        !          14323:      */
        !          14324: 
        !          14325:     savedVarFramePtr = iPtr->varFramePtr;
        !          14326:     if (level == 0) {
        !          14327:        iPtr->varFramePtr = NULL;
        !          14328:     } else {
        !          14329:        for (framePtr = savedVarFramePtr; framePtr != NULL;
        !          14330:                framePtr = framePtr->callerVarPtr) {
        !          14331:            if (framePtr->level == level) {
        !          14332:                break;
        !          14333:            }
        !          14334:        }
        !          14335:        if (framePtr == NULL) {
        !          14336:            goto levelError;
        !          14337:        }
        !          14338:        iPtr->varFramePtr = framePtr;
        !          14339:     }
        !          14340: 
        !          14341:     /*
        !          14342:      * Execute the residual arguments as a command.
        !          14343:      */
        !          14344: 
        !          14345:     if (argc == 0) {
        !          14346:        goto uplevelSyntax;
        !          14347:     }
        !          14348:     if (argc == 1) {
        !          14349:        result = Tcl_Eval(interp, argv[0], 0, (char **) NULL);
        !          14350:     } else {
        !          14351:        char *cmd;
        !          14352: 
        !          14353:        cmd = Tcl_Concat(argc, argv);
        !          14354:        result = Tcl_Eval(interp, cmd, 0, (char **) NULL);
        !          14355:     }
        !          14356:     if (result == TCL_ERROR) {
        !          14357:        char msg[60];
        !          14358:        sprintf(msg, " (\"uplevel\" body line %d)", interp->errorLine);
        !          14359:        Tcl_AddErrorInfo(interp, msg);
        !          14360:     }
        !          14361: 
        !          14362:     /*
        !          14363:      * Restore the variable frame, and return.
        !          14364:      */
        !          14365: 
        !          14366:     iPtr->varFramePtr = savedVarFramePtr;
        !          14367:     return result;
        !          14368: 
        !          14369:     levelError:
        !          14370:     sprintf(iPtr->result, "bad level \"%.50s\"", levelArg);
        !          14371:     return TCL_ERROR;
        !          14372: }
        !          14373: 
        !          14374: /*
        !          14375:  *----------------------------------------------------------------------
        !          14376:  *
        !          14377:  * TclFindProc --
        !          14378:  *
        !          14379:  *     Given the name of a procedure, return a pointer to the
        !          14380:  *     record describing the procedure.
        !          14381:  *
        !          14382:  * Results:
        !          14383:  *     NULL is returned if the name doesn't correspond to any
        !          14384:  *     procedure.  Otherwise the return value is a pointer to
        !          14385:  *     the procedure's record.
        !          14386:  *
        !          14387:  * Side effects:
        !          14388:  *     None.
        !          14389:  *
        !          14390:  *----------------------------------------------------------------------
        !          14391:  */
        !          14392: 
        !          14393: Proc *
        !          14394: TclFindProc(iPtr, procName)
        !          14395:     Interp *iPtr;              /* Interpreter in which to look. */
        !          14396:     char *procName;            /* Name of desired procedure. */
        !          14397: {
        !          14398:     Command *cmdPtr;
        !          14399: 
        !          14400:     cmdPtr = TclFindCmd(iPtr, procName, 0);
        !          14401:     if (cmdPtr == NULL) {
        !          14402:        return NULL;
        !          14403:     }
        !          14404:     if (cmdPtr->proc != InterpProc) {
        !          14405:        return NULL;
        !          14406:     }
        !          14407:     return (Proc *) cmdPtr->clientData;
        !          14408: }
        !          14409: 
        !          14410: /*
        !          14411:  *----------------------------------------------------------------------
        !          14412:  *
        !          14413:  * TclIsProc --
        !          14414:  *
        !          14415:  *     Tells whether a command is a Tcl procedure or not.
        !          14416:  *
        !          14417:  * Results:
        !          14418:  *     If the given command is actuall a Tcl procedure, the
        !          14419:  *     return value is the address of the record describing
        !          14420:  *     the procedure.  Otherwise the return value is 0.
        !          14421:  *
        !          14422:  * Side effects:
        !          14423:  *     None.
        !          14424:  *
        !          14425:  *----------------------------------------------------------------------
        !          14426:  */
        !          14427: 
        !          14428: Proc *
        !          14429: TclIsProc(cmdPtr)
        !          14430:     Command *cmdPtr;           /* Command to test. */
        !          14431: {
        !          14432:     if (cmdPtr->proc == InterpProc) {
        !          14433:        return (Proc *) cmdPtr->clientData;
        !          14434:     }
        !          14435:     return (Proc *) 0;
        !          14436: }
        !          14437: 
        !          14438: /*
        !          14439:  *----------------------------------------------------------------------
        !          14440:  *
        !          14441:  * TclDeleteVars --
        !          14442:  *
        !          14443:  *     This procedure is called as part of deleting an interpreter:
        !          14444:  *     it recycles all the storage space associated with global
        !          14445:  *     variables (the local ones should already have been deleted).
        !          14446:  *
        !          14447:  * Results:
        !          14448:  *     None.
        !          14449:  *
        !          14450:  * Side effects:
        !          14451:  *     Variables are deleted.
        !          14452:  *
        !          14453:  *----------------------------------------------------------------------
        !          14454:  */
        !          14455: 
        !          14456: void
        !          14457: TclDeleteVars(iPtr)
        !          14458:     Interp *iPtr;              /* Interpreter to nuke. */
        !          14459: {
        !          14460:     register Var *varPtr;
        !          14461: 
        !          14462:     for (varPtr = iPtr->globalPtr; varPtr != NULL; varPtr = varPtr->nextPtr) {
        !          14463:        if (varPtr->flags & VAR_DYNAMIC) {
        !          14464:            free(varPtr->value);
        !          14465:        }
        !          14466:        free((char *) varPtr);
        !          14467:     }
        !          14468: }
        !          14469: 
        !          14470: /*
        !          14471:  *----------------------------------------------------------------------
        !          14472:  *
        !          14473:  * InterpProc --
        !          14474:  *
        !          14475:  *     When a Tcl procedure gets invoked, this routine gets invoked
        !          14476:  *     to interpret the procedure.
        !          14477:  *
        !          14478:  * Results:
        !          14479:  *     A standard Tcl result value, usually TCL_OK.
        !          14480:  *
        !          14481:  * Side effects:
        !          14482:  *     Depends on the commands in the procedure.
        !          14483:  *
        !          14484:  *----------------------------------------------------------------------
        !          14485:  */
        !          14486: 
        !          14487: int
        !          14488: InterpProc(procPtr, interp, argc, argv)
        !          14489:     register Proc *procPtr;    /* Record describing procedure to be
        !          14490:                                 * interpreted. */
        !          14491:     Tcl_Interp *interp;                /* Interpreter in which procedure was
        !          14492:                                 * invoked. */
        !          14493:     int argc;                  /* Count of number of arguments to this
        !          14494:                                 * procedure. */
        !          14495:     char **argv;               /* Argument values. */
        !          14496: {
        !          14497:     char **args;
        !          14498:     register Var *formalPtr, *argPtr;
        !          14499:     register Interp *iPtr = (Interp *) interp;
        !          14500:     CallFrame frame;
        !          14501:     char *value, *end;
        !          14502:     int result;
        !          14503: 
        !          14504:     /*
        !          14505:      * Set up a call frame for the new procedure invocation.
        !          14506:      */
        !          14507: 
        !          14508:     iPtr = procPtr->iPtr;
        !          14509:     frame.varPtr = NULL;
        !          14510:     if (iPtr->varFramePtr != NULL) {
        !          14511:        frame.level = iPtr->varFramePtr->level + 1;
        !          14512:     } else {
        !          14513:        frame.level = 1;
        !          14514:     }
        !          14515:     frame.argc = argc;
        !          14516:     frame.argv = argv;
        !          14517:     frame.callerPtr = iPtr->framePtr;
        !          14518:     frame.callerVarPtr = iPtr->varFramePtr;
        !          14519:     iPtr->framePtr = &frame;
        !          14520:     iPtr->varFramePtr = &frame;
        !          14521: 
        !          14522:     /*
        !          14523:      * Match the actual arguments against the procedure's formal
        !          14524:      * parameters to compute local variables.
        !          14525:      */
        !          14526: 
        !          14527:     for (formalPtr = procPtr->argPtr, args = argv+1, argc -= 1;
        !          14528:            formalPtr != NULL;
        !          14529:            formalPtr = formalPtr->nextPtr, args++, argc--) {
        !          14530: 
        !          14531:        /*
        !          14532:         * Handle the special case of the last formal being "args".  When
        !          14533:         * it occurs, assign it a list consisting of all the remaining
        !          14534:         * actual arguments.
        !          14535:         */
        !          14536: 
        !          14537:        if ((formalPtr->nextPtr == NULL)
        !          14538:                && (strcmp(formalPtr->name, "args") == 0)) {
        !          14539:            if (argc < 0) {
        !          14540:                argc = 0;
        !          14541:            }
        !          14542:            value = Tcl_Merge(argc, args);
        !          14543:            argPtr = NewVar(formalPtr->name, value);
        !          14544:            free(value);
        !          14545:            argPtr->nextPtr = frame.varPtr;
        !          14546:            frame.varPtr = argPtr;
        !          14547:            argc = 0;
        !          14548:            break;
        !          14549:        } else if (argc > 0) {
        !          14550:            value = *args;
        !          14551:        } else if (formalPtr->value != NULL) {
        !          14552:            value = formalPtr->value;
        !          14553:        } else {
        !          14554:            sprintf(iPtr->result,
        !          14555:                    "no value given for parameter \"%s\" to \"%s\"",
        !          14556:                    formalPtr->name, argv[0]);
        !          14557:            result = TCL_ERROR;
        !          14558:            goto procDone;
        !          14559:        }
        !          14560:        argPtr = NewVar(formalPtr->name, value);
        !          14561:        argPtr->nextPtr = frame.varPtr;
        !          14562:        frame.varPtr = argPtr;
        !          14563:     }
        !          14564:     if (argc > 0) {
        !          14565:        sprintf(iPtr->result, "called \"%s\" with too many arguments",
        !          14566:                argv[0]);
        !          14567:        result = TCL_ERROR;
        !          14568:        goto procDone;
        !          14569:     }
        !          14570: 
        !          14571:     /*
        !          14572:      * Invoke the commands in the procedure's body.
        !          14573:      */
        !          14574: 
        !          14575:     result = Tcl_Eval(interp, procPtr->command, 0, &end);
        !          14576:     if (result == TCL_RETURN) {
        !          14577:        result = TCL_OK;
        !          14578:     } else if (result == TCL_ERROR) {
        !          14579:        char msg[100];
        !          14580: 
        !          14581:        /*
        !          14582:         * Record information telling where the error occurred.
        !          14583:         */
        !          14584: 
        !          14585:        sprintf(msg, " (procedure \"%.50s\" line %d)", argv[0],
        !          14586:                iPtr->errorLine);
        !          14587:        Tcl_AddErrorInfo(interp, msg);
        !          14588:     } else if (result == TCL_BREAK) {
        !          14589:        iPtr->result = "invoked \"break\" outside of a loop";
        !          14590:        result = TCL_ERROR;
        !          14591:     } else if (result == TCL_CONTINUE) {
        !          14592:        iPtr->result = "invoked \"continue\" outside of a loop";
        !          14593:        result = TCL_ERROR;
        !          14594:     }
        !          14595: 
        !          14596:     /*
        !          14597:      * Delete the call frame for this procedure invocation.
        !          14598:      */
        !          14599: 
        !          14600:     procDone:
        !          14601:     for (argPtr = frame.varPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
        !          14602:        if (argPtr->flags & VAR_DYNAMIC) {
        !          14603:            free(argPtr->value);
        !          14604:        }
        !          14605:        free((char *) argPtr);
        !          14606:     }
        !          14607:     iPtr->framePtr = frame.callerPtr;
        !          14608:     iPtr->varFramePtr = frame.callerVarPtr;
        !          14609:     return result;
        !          14610: }
        !          14611: 
        !          14612: /*
        !          14613:  *----------------------------------------------------------------------
        !          14614:  *
        !          14615:  * ProcDeleteProc --
        !          14616:  *
        !          14617:  *     This procedure is invoked just before a command procedure is
        !          14618:  *     removed from an interpreter.  Its job is to release all the
        !          14619:  *     resources allocated to the procedure.
        !          14620:  *
        !          14621:  * Results:
        !          14622:  *     None.
        !          14623:  *
        !          14624:  * Side effects:
        !          14625:  *     Memory gets freed.
        !          14626:  *
        !          14627:  *----------------------------------------------------------------------
        !          14628:  */
        !          14629: 
        !          14630: void
        !          14631: ProcDeleteProc(procPtr)
        !          14632:     register Proc *procPtr;            /* Procedure to be deleted. */
        !          14633: {
        !          14634:     register Var *argPtr;
        !          14635: 
        !          14636:     free((char *) procPtr->command);
        !          14637:     for (argPtr = procPtr->argPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
        !          14638:        if (argPtr->flags & VAR_DYNAMIC) {
        !          14639:            free(argPtr->value);
        !          14640:        }
        !          14641:        free((char *) argPtr);
        !          14642:     }
        !          14643:     free((char *) procPtr);
        !          14644: }
        !          14645: 
        !          14646: /*
        !          14647:  *----------------------------------------------------------------------
        !          14648:  *
        !          14649:  * FindVar --
        !          14650:  *
        !          14651:  *     Locate the Var structure corresponding to varName, if there
        !          14652:  *     is one defined in a given list.
        !          14653:  *
        !          14654:  * Results:
        !          14655:  *     The return value points to the Var structure corresponding to
        !          14656:  *     the current value of varName in varListPtr, or NULL if varName
        !          14657:  *     isn't currently defined in the list.
        !          14658:  *
        !          14659:  * Side effects:
        !          14660:  *     If the variable is found, it is moved to the front of the list.
        !          14661:  *
        !          14662:  *----------------------------------------------------------------------
        !          14663:  */
        !          14664: 
        !          14665: Var *
        !          14666: FindVar(varListPtr, varName)
        !          14667:     Var **varListPtr;          /* Pointer to head of list.  The value pointed
        !          14668:                                 * to will be modified to bring the found
        !          14669:                                 * variable to the front of the list. */
        !          14670:     char *varName;             /* Desired variable. */
        !          14671: {
        !          14672:     register Var *prev, *cur;
        !          14673:     register char c;
        !          14674: 
        !          14675:     c = *varName;
        !          14676: 
        !          14677:     /*
        !          14678:      * Local variables take precedence over global ones.  Check the
        !          14679:      * first character immediately, before wasting time calling strcmp.
        !          14680:      */
        !          14681: 
        !          14682:     for (prev = NULL, cur = *varListPtr; cur != NULL;
        !          14683:            prev = cur, cur = cur->nextPtr) {
        !          14684:        if ((cur->name[0] == c) && (strcmp(cur->name, varName) == 0)) {
        !          14685:            if (prev != NULL) {
        !          14686:                prev->nextPtr = cur->nextPtr;
        !          14687:                cur->nextPtr = *varListPtr;
        !          14688:                *varListPtr = cur;
        !          14689:            }
        !          14690:            return cur;
        !          14691:        }
        !          14692:     }
        !          14693:     return NULL;
        !          14694: }
        !          14695: 
        !          14696: /*
        !          14697:  *----------------------------------------------------------------------
        !          14698:  *
        !          14699:  * NewVar --
        !          14700:  *
        !          14701:  *     Create a new variable with the given name and initial value.
        !          14702:  *
        !          14703:  * Results:
        !          14704:  *     The return value is a pointer to the new variable.  The variable
        !          14705:  *     will not have been linked into any particular list, and its
        !          14706:  *     nextPtr field will be NULL.
        !          14707:  *
        !          14708:  * Side effects:
        !          14709:  *     Storage gets allocated.
        !          14710:  *
        !          14711:  *----------------------------------------------------------------------
        !          14712:  */
        !          14713: 
        !          14714: Var *
        !          14715: NewVar(name, value)
        !          14716:     char *name;                        /* Name for variable. */
        !          14717:     char *value;               /* Value for variable. */
        !          14718: {
        !          14719:     register Var *varPtr;
        !          14720:     int nameLength, valueLength;
        !          14721: 
        !          14722:     nameLength = strlen(name);
        !          14723:     valueLength = strlen(value);
        !          14724:     if (valueLength < 20) {
        !          14725:        valueLength = 20;
        !          14726:     }
        !          14727:     varPtr = (Var *) malloc(VAR_SIZE(nameLength, valueLength));
        !          14728:     strcpy(varPtr->name, name);
        !          14729:     varPtr->value = varPtr->name + nameLength + 1;
        !          14730:     strcpy(varPtr->value, value);
        !          14731:     varPtr->valueLength = valueLength;
        !          14732:     varPtr->flags = 0;
        !          14733:     varPtr->globalPtr = NULL;
        !          14734:     varPtr->nextPtr = NULL;
        !          14735:     return varPtr;
        !          14736: }
        !          14737: 0707070035050510611006660011710000040000010746120466300662000001600000057626tcl/tclUtil.c/* 
        !          14738:  * tclUtil.c --
        !          14739:  *
        !          14740:  *     This file contains utility procedures that are used by many Tcl
        !          14741:  *     commands.
        !          14742:  *
        !          14743:  * Copyright 1987, 1989 Regents of the University of California
        !          14744:  * Permission to use, copy, modify, and distribute this
        !          14745:  * software and its documentation for any purpose and without
        !          14746:  * fee is hereby granted, provided that the above copyright
        !          14747:  * notice appear in all copies.  The University of California
        !          14748:  * makes no representations about the suitability of this
        !          14749:  * software for any purpose.  It is provided "as is" without
        !          14750:  * express or implied warranty.
        !          14751:  */
        !          14752: 
        !          14753: #ifndef lint
        !          14754: static char rcsid[] = "$Header: /sprite/src/lib/tcl/RCS/tclUtil.c,v 1.30 90/03/25 11:04:25 ouster Exp $ SPRITE (Berkeley)";
        !          14755: #pragma ref rcsid
        !          14756: #endif not lint
        !          14757: 
        !          14758: #define        _POSIX_SOURCE
        !          14759: 
        !          14760: #include <ctype.h>
        !          14761: #include <stdio.h>
        !          14762: #include <stdlib.h>
        !          14763: #include <string.h>
        !          14764: #include "tcl.h"
        !          14765: #include "tclInt.h"
        !          14766: 
        !          14767: /*
        !          14768:  *----------------------------------------------------------------------
        !          14769:  *
        !          14770:  * TclFindElement --
        !          14771:  *
        !          14772:  *     Given a pointer into a Tcl list, locate the first (or next)
        !          14773:  *     element in the list.
        !          14774:  *
        !          14775:  * Results:
        !          14776:  *     The return value is normally TCL_OK, which means that the
        !          14777:  *     element was successfully located.  If TCL_ERROR is returned
        !          14778:  *     it means that list didn't have proper list structure;
        !          14779:  *     interp->result contains a more detailed error message.
        !          14780:  *
        !          14781:  *     If TCL_OK is returned, then *elementPtr will be set to point
        !          14782:  *     to the first element of list, and *nextPtr will be set to point
        !          14783:  *     to the character just after any white space following the last
        !          14784:  *     character that's part of the element.  If this is the last argument
        !          14785:  *     in the list, then *nextPtr will point to the NULL character at the
        !          14786:  *     end of list.  If sizePtr is non-NULL, *sizePtr is filled in with
        !          14787:  *     the number of characters in the element.  If the element is in
        !          14788:  *     braces, then *elementPtr will point to the character after the
        !          14789:  *     opening brace and *sizePtr will not include either of the braces.
        !          14790:  *     If there isn't an element in the list, *sizePtr will be zero, and
        !          14791:  *     both *elementPtr and *termPtr will refer to the null character at
        !          14792:  *     the end of list.  Note:  this procedure does NOT collapse backslash
        !          14793:  *     sequences.
        !          14794:  *
        !          14795:  * Side effects:
        !          14796:  *     None.
        !          14797:  *
        !          14798:  *----------------------------------------------------------------------
        !          14799:  */
        !          14800: 
        !          14801: int
        !          14802: TclFindElement(interp, list, elementPtr, nextPtr, sizePtr, bracePtr)
        !          14803:     Tcl_Interp *interp;                /* Interpreter to use for error reporting. */
        !          14804:     register char *list;       /* String containing Tcl list with zero
        !          14805:                                 * or more elements (possibly in braces). */
        !          14806:     char **elementPtr;         /* Fill in with location of first significant
        !          14807:                                 * character in first element of list. */
        !          14808:     char **nextPtr;            /* Fill in with location of character just
        !          14809:                                 * after all white space following end of
        !          14810:                                 * argument (i.e. next argument or end of
        !          14811:                                 * list). */
        !          14812:     int *sizePtr;              /* If non-zero, fill in with size of
        !          14813:                                 * element. */
        !          14814:     int *bracePtr;             /* If non-zero fill in with non-zero/zero
        !          14815:                                 * to indicate that arg was/wasn't
        !          14816:                                 * in braces. */
        !          14817: {
        !          14818:     register char *p;
        !          14819:     int openBraces = 0;
        !          14820:     int size;
        !          14821: 
        !          14822:     /*
        !          14823:      * Skim off leading white space and check for an opening brace.
        !          14824:      */
        !          14825: 
        !          14826:     while (isspace(*list)) {
        !          14827:        list++;
        !          14828:     }
        !          14829:     if (*list == '{') {
        !          14830:        openBraces = 1;
        !          14831:        list++;
        !          14832:     }
        !          14833:     if (bracePtr != 0) {
        !          14834:        *bracePtr = openBraces;
        !          14835:     }
        !          14836:     p = list;
        !          14837: 
        !          14838:     /*
        !          14839:      * Find the end of the element (either a space or a close brace or
        !          14840:      * the end of the string).
        !          14841:      */
        !          14842: 
        !          14843:     while (1) {
        !          14844:        switch (*p) {
        !          14845: 
        !          14846:            /*
        !          14847:             * Open brace: don't treat specially unless the element is
        !          14848:             * in braces.  In this case, keep a nesting count.
        !          14849:             */
        !          14850: 
        !          14851:            case '{':
        !          14852:                if (openBraces != 0) {
        !          14853:                    openBraces++;
        !          14854:                }
        !          14855:                break;
        !          14856: 
        !          14857:            /*
        !          14858:             * Close brace: if element is in braces, keep nesting
        !          14859:             * count and quit when the last close brace is seen.
        !          14860:             */
        !          14861: 
        !          14862:            case '}':
        !          14863:                if (openBraces == 1) {
        !          14864:                    char *p2;
        !          14865: 
        !          14866:                    size = p - list;
        !          14867:                    p++;
        !          14868:                    if (isspace(*p) || (*p == 0)) {
        !          14869:                        goto done;
        !          14870:                    }
        !          14871:                    for (p2 = p; (*p2 != 0) && (!isspace(*p2)) && (p2 < p+20);
        !          14872:                            p2++) {
        !          14873:                        /* null body */
        !          14874:                    }
        !          14875:                    Tcl_Return(interp, (char *) NULL, TCL_STATIC);
        !          14876:                    sprintf(interp->result,
        !          14877:                            "list element in braces followed by \"%.*s\" instead of space",
        !          14878:                            p2-p, p);
        !          14879:                    return TCL_ERROR;
        !          14880:                } else if (openBraces != 0) {
        !          14881:                    openBraces--;
        !          14882:                }
        !          14883:                break;
        !          14884: 
        !          14885:            /*
        !          14886:             * Backslash:  skip over everything up to the end of the
        !          14887:             * backslash sequence.
        !          14888:             */
        !          14889: 
        !          14890:            case '\\': {
        !          14891:                int size;
        !          14892: 
        !          14893:                (void) Tcl_Backslash(p, &size);
        !          14894:                p += size - 1;
        !          14895:                break;
        !          14896:            }
        !          14897: 
        !          14898:            /*
        !          14899:             * Space: ignore if element is in braces;  otherwise
        !          14900:             * terminate element.
        !          14901:             */
        !          14902: 
        !          14903:            case ' ':
        !          14904:            case '\t':
        !          14905:            case '\n':
        !          14906:                if (openBraces == 0) {
        !          14907:                    size = p - list;
        !          14908:                    goto done;
        !          14909:                }
        !          14910:                break;
        !          14911: 
        !          14912:            /*
        !          14913:             * End of list:  terminate element.
        !          14914:             */
        !          14915: 
        !          14916:            case 0:
        !          14917:                if (openBraces != 0) {
        !          14918:                    Tcl_Return(interp, "unmatched open brace in list",
        !          14919:                            TCL_STATIC);
        !          14920:                    return TCL_ERROR;
        !          14921:                }
        !          14922:                size = p - list;
        !          14923:                goto done;
        !          14924: 
        !          14925:        }
        !          14926:        p++;
        !          14927:     }
        !          14928: 
        !          14929:     done:
        !          14930:     while (isspace(*p)) {
        !          14931:        p++;
        !          14932:     }
        !          14933:     *elementPtr = list;
        !          14934:     *nextPtr = p;
        !          14935:     if (sizePtr != 0) {
        !          14936:        *sizePtr = size;
        !          14937:     }
        !          14938:     return TCL_OK;
        !          14939: }
        !          14940: 
        !          14941: /*
        !          14942:  *----------------------------------------------------------------------
        !          14943:  *
        !          14944:  * TclCopyAndCollapse --
        !          14945:  *
        !          14946:  *     Copy a string and eliminate any backslashes that aren't in braces.
        !          14947:  *
        !          14948:  * Results:
        !          14949:  *     There is no return value.  Count chars. get copied from src
        !          14950:  *     to dst.  Along the way, if backslash sequences are found outside
        !          14951:  *     braces, the backslashes are eliminated in the copy.
        !          14952:  *     After scanning count chars. from source, a null character is
        !          14953:  *     placed at the end of dst.
        !          14954:  *
        !          14955:  * Side effects:
        !          14956:  *     None.
        !          14957:  *
        !          14958:  *----------------------------------------------------------------------
        !          14959:  */
        !          14960: 
        !          14961: void
        !          14962: TclCopyAndCollapse(count, src, dst)
        !          14963:     register char *src;                /* Copy from here... */
        !          14964:     register char *dst;                /* ... to here. */
        !          14965: {
        !          14966:     register char c;
        !          14967:     int numRead;
        !          14968: 
        !          14969:     for (c = *src; count > 0; dst++, src++, c = *src, count--) {
        !          14970:        if (c == '\\') {
        !          14971:            *dst = Tcl_Backslash(src, &numRead);
        !          14972:            src += numRead-1;
        !          14973:            count -= numRead-1;
        !          14974:        } else {
        !          14975:            *dst = c;
        !          14976:        }
        !          14977:     }
        !          14978:     *dst = 0;
        !          14979: }
        !          14980: 
        !          14981: /*
        !          14982:  *----------------------------------------------------------------------
        !          14983:  *
        !          14984:  * Tcl_Merge --
        !          14985:  *
        !          14986:  *     Given a collection of strings, merge them together into a
        !          14987:  *     single string that has proper Tcl list structured (i.e.
        !          14988:  *     TclFindElement and TclCopyAndCollapse may be used to retrieve
        !          14989:  *     strings equal to the original elements, and Tcl_Eval will
        !          14990:  *     parse the string back into its original elements).
        !          14991:  *
        !          14992:  * Results:
        !          14993:  *     The return value is the address of a dynamically-allocated
        !          14994:  *     string containing the merged list.
        !          14995:  *
        !          14996:  * Side effects:
        !          14997:  *     None.
        !          14998:  *
        !          14999:  *----------------------------------------------------------------------
        !          15000:  */
        !          15001: 
        !          15002: char *
        !          15003: Tcl_Merge(argc, argv)
        !          15004:     int argc;                  /* How many strings to merge. */
        !          15005:     char **argv;               /* Array of string values. */
        !          15006: {
        !          15007:     /*
        !          15008:      * This procedure operates in two passes.  In the first pass it figures
        !          15009:      * out how many bytes will be needed to store the result (actually,
        !          15010:      * it overestimates slightly).  The first pass also collects information
        !          15011:      * about each element in the form of a flags word.  If there are only
        !          15012:      * a few elements, local storage gets used for the flags;  if there are
        !          15013:      * a lot of elements, a new array is dynamically allocated.
        !          15014:      *
        !          15015:      * In the second pass this procedure copies the arguments into the
        !          15016:      * result string.  The special cases to worry about are:
        !          15017:      *
        !          15018:      * 1. Argument contains embedded spaces, or starts with a brace:  must
        !          15019:      * add another level of braces when copying to the result.
        !          15020:      *
        !          15021:      * 2. Argument contains unbalanced braces:  backslash all of the
        !          15022:      * braces when copying to the result.  In this case, don't add another
        !          15023:      * level of braces (they would prevent the backslash from
        !          15024:      * being removed when the argument is extracted from the list later).
        !          15025:      *
        !          15026:      * 3. Argument contains backslashed brace/bracket:  if possible,
        !          15027:      * group the argument in braces:  then no special action needs to be taken
        !          15028:      * with the backslashes.  If the argument can't be put in braces, then
        !          15029:      * add another backslash in front of the sequence, so that upon
        !          15030:      * extraction the original sequence will be restored.
        !          15031:      *
        !          15032:      * These potential problems are the reasons why particular information
        !          15033:      * is gathered during pass 1.
        !          15034:      */
        !          15035: #   define WANT_PARENS                 1
        !          15036: #   define PARENS_UNBALANCED           2
        !          15037: #   define PARENTHESIZED               4
        !          15038: #   define CANT_PARENTHESIZE           8
        !          15039: 
        !          15040: #   define LOCAL_SIZE 20
        !          15041:     int localFlags[LOCAL_SIZE];
        !          15042:     int *flagPtr;
        !          15043:     int numChars;
        !          15044:     char *result;
        !          15045:     register char *src, *dst;
        !          15046:     register int curFlags;
        !          15047:     int i;
        !          15048: 
        !          15049:     /*
        !          15050:      * Pass 1: estimate space, gather information.
        !          15051:      */
        !          15052: 
        !          15053:     if (argc <= LOCAL_SIZE) {
        !          15054:        flagPtr = localFlags;
        !          15055:     } else {
        !          15056:        flagPtr = (int *) malloc((unsigned) argc*sizeof(int));
        !          15057:     }
        !          15058:     numChars = 0;
        !          15059:     for (i = 0; i < argc; i++) {
        !          15060:        int braceCount, nestingLevel, nestedBS, whiteSpace, brackets, dollars;
        !          15061: 
        !          15062:        curFlags = braceCount = nestingLevel = nestedBS = whiteSpace = 0;
        !          15063:        brackets = dollars = 0;
        !          15064:        src = argv[i];
        !          15065:        if (*src == '{') {
        !          15066:            curFlags |= PARENTHESIZED|WANT_PARENS;
        !          15067:        }
        !          15068:        if (*src == 0) {
        !          15069:            curFlags |= WANT_PARENS;
        !          15070:        } else {
        !          15071:            for (; ; src++) {
        !          15072:                switch (*src) {
        !          15073:                    case '{':
        !          15074:                        braceCount++;
        !          15075:                        nestingLevel++;
        !          15076:                        break;
        !          15077:                    case '}':
        !          15078:                        braceCount++;
        !          15079:                        nestingLevel--;
        !          15080:                        break;
        !          15081:                    case ']':
        !          15082:                    case '[':
        !          15083:                        curFlags |= WANT_PARENS;
        !          15084:                        brackets++;
        !          15085:                        break;
        !          15086:                    case '$':
        !          15087:                        curFlags |= WANT_PARENS;
        !          15088:                        dollars++;
        !          15089:                        break;
        !          15090:                    case ' ':
        !          15091:                    case '\n':
        !          15092:                    case '\t':
        !          15093:                        curFlags |= WANT_PARENS;
        !          15094:                        whiteSpace++;
        !          15095:                        break;
        !          15096:                    case '\\':
        !          15097:                        src++;
        !          15098:                        if (*src == 0) {
        !          15099:                            goto elementDone;
        !          15100:                        } else if ((*src == '{') || (*src == '}')
        !          15101:                                || (*src == '[') || (*src == ']')) {
        !          15102:                            curFlags |= WANT_PARENS;
        !          15103:                            nestedBS++;
        !          15104:                        }
        !          15105:                        break;
        !          15106:                    case 0:
        !          15107:                        goto elementDone;
        !          15108:                }
        !          15109:            }
        !          15110:        }
        !          15111:        elementDone:
        !          15112:        numChars += src - argv[i];
        !          15113:        if (nestingLevel != 0) {
        !          15114:            numChars += braceCount + nestedBS + whiteSpace
        !          15115:                    + brackets + dollars;
        !          15116:            curFlags = CANT_PARENTHESIZE;
        !          15117:        }
        !          15118:        if (curFlags & WANT_PARENS) {
        !          15119:            numChars += 2;
        !          15120:        }
        !          15121:        numChars++;             /* Space to separate arguments. */
        !          15122:        flagPtr[i] = curFlags;
        !          15123:     }
        !          15124: 
        !          15125:     /*
        !          15126:      * Pass two: copy into the result area.
        !          15127:      */
        !          15128: 
        !          15129:     result = (char *) malloc((unsigned) numChars + 1);
        !          15130:     dst = result;
        !          15131:     for (i = 0; i < argc; i++) {
        !          15132:        curFlags = flagPtr[i];
        !          15133:        if (curFlags & WANT_PARENS) {
        !          15134:            *dst = '{';
        !          15135:            dst++;
        !          15136:        }
        !          15137:        for (src = argv[i]; *src != 0 ; src++) {
        !          15138:            if (curFlags & CANT_PARENTHESIZE) {
        !          15139:                switch (*src) {
        !          15140:                    case '{':
        !          15141:                    case '}':
        !          15142:                    case ']':
        !          15143:                    case '[':
        !          15144:                    case '$':
        !          15145:                    case ' ':
        !          15146:                        *dst = '\\';
        !          15147:                        dst++;
        !          15148:                        break;
        !          15149:                    case '\n':
        !          15150:                        *dst = '\\';
        !          15151:                        dst++;
        !          15152:                        *dst = 'n';
        !          15153:                        goto loopBottom;
        !          15154:                    case '\t':
        !          15155:                        *dst = '\\';
        !          15156:                        dst++;
        !          15157:                        *dst = 't';
        !          15158:                        goto loopBottom;
        !          15159:                    case '\\':
        !          15160:                        *dst = '\\';
        !          15161:                        dst++;
        !          15162:                        src++;
        !          15163:                        if ((*src == '{') || (*src == '}') || (*src == '[')
        !          15164:                                || (*src == ']')) {
        !          15165:                            *dst = '\\';
        !          15166:                            dst++;
        !          15167:                        } else if (*src == 0) {
        !          15168:                            goto pass2ElementDone;
        !          15169:                        }
        !          15170:                        break;
        !          15171:                }
        !          15172:            }
        !          15173:            *dst = *src;
        !          15174:            loopBottom:
        !          15175:            dst++;
        !          15176:        }
        !          15177:        pass2ElementDone:
        !          15178:        if (curFlags & WANT_PARENS) {
        !          15179:            *dst = '}';
        !          15180:            dst++;
        !          15181:        }
        !          15182:        *dst = ' ';
        !          15183:        dst++;
        !          15184:     }
        !          15185:     if (dst == result) {
        !          15186:        *dst = 0;
        !          15187:     } else {
        !          15188:        dst[-1] = 0;
        !          15189:     }
        !          15190: 
        !          15191:     if (flagPtr != localFlags) {
        !          15192:        free((char *) flagPtr);
        !          15193:     }
        !          15194:     return result;
        !          15195: }
        !          15196: 
        !          15197: /*
        !          15198:  *----------------------------------------------------------------------
        !          15199:  *
        !          15200:  * Tcl_Concat --
        !          15201:  *
        !          15202:  *     Concatenate a set of strings into a single large string.
        !          15203:  *
        !          15204:  * Results:
        !          15205:  *     The return value is dynamically-allocated string containing
        !          15206:  *     a concatenation of all the strings in argv, with spaces between
        !          15207:  *     the original argv elements.
        !          15208:  *
        !          15209:  * Side effects:
        !          15210:  *     Memory is allocated for the result;  the caller is responsible
        !          15211:  *     for freeing the memory.
        !          15212:  *
        !          15213:  *----------------------------------------------------------------------
        !          15214:  */
        !          15215: 
        !          15216: char *
        !          15217: Tcl_Concat(argc, argv)
        !          15218:     int argc;                  /* Number of strings to concatenate. */
        !          15219:     char **argv;               /* Array of strings to concatenate. */
        !          15220: {
        !          15221:     int totalSize, i;
        !          15222:     register char *p;
        !          15223:     char *result;
        !          15224: 
        !          15225:     for (totalSize = 1, i = 0; i < argc; i++) {
        !          15226:        totalSize += strlen(argv[i]) + 1;
        !          15227:     }
        !          15228:     result = malloc((unsigned) totalSize);
        !          15229:     for (p = result, i = 0; i < argc; i++) {
        !          15230:        (void) strcpy(p, argv[i]);
        !          15231:        p += strlen(argv[i]);
        !          15232:        *p = ' ';
        !          15233:        p++;
        !          15234:     }
        !          15235:     p[-1] = 0;
        !          15236:     return result;
        !          15237: }
        !          15238: 
        !          15239: /*
        !          15240:  *----------------------------------------------------------------------
        !          15241:  *
        !          15242:  * Tcl_Return --
        !          15243:  *
        !          15244:  *     Arrange for "string" to be the Tcl return value.
        !          15245:  *
        !          15246:  * Results:
        !          15247:  *     None.
        !          15248:  *
        !          15249:  * Side effects:
        !          15250:  *     interp->result is left pointing either to "string" (if "copy" is 0)
        !          15251:  *     or to a copy of string.
        !          15252:  *
        !          15253:  *----------------------------------------------------------------------
        !          15254:  */
        !          15255: 
        !          15256: void
        !          15257: Tcl_Return(interp, string, status)
        !          15258:     Tcl_Interp *interp;                /* Interpreter with which to associate the
        !          15259:                                 * return value. */
        !          15260:     char *string;              /* Value to be returned.  If NULL,
        !          15261:                                 * the result is set to an empty string. */
        !          15262:     int status;                        /* Gives information about the string:
        !          15263:                                 * TCL_STATIC, TCL_DYNAMIC, TCL_VOLATILE.
        !          15264:                                 * Ignored if string is NULL. */
        !          15265: {
        !          15266:     register Interp *iPtr = (Interp *) interp;
        !          15267:     int length;
        !          15268:     int wasDynamic = iPtr->dynamic;
        !          15269:     char *oldResult = iPtr->result;
        !          15270: 
        !          15271:     if (string == NULL) {
        !          15272:        iPtr->resultSpace[0] = 0;
        !          15273:        iPtr->result = iPtr->resultSpace;
        !          15274:        iPtr->dynamic = 0;
        !          15275:     } else if (status == TCL_STATIC) {
        !          15276:        iPtr->result = string;
        !          15277:        iPtr->dynamic = 0;
        !          15278:     } else if (status == TCL_DYNAMIC) {
        !          15279:        iPtr->result = string;
        !          15280:        iPtr->dynamic = 1;
        !          15281:     } else {
        !          15282:        length = strlen(string);
        !          15283:        if (length > TCL_RESULT_SIZE) {
        !          15284:            iPtr->result = (char *) malloc((unsigned) length+1);
        !          15285:            iPtr->dynamic = 1;
        !          15286:        } else {
        !          15287:            iPtr->result = iPtr->resultSpace;
        !          15288:            iPtr->dynamic = 0;
        !          15289:        }
        !          15290:        strcpy(iPtr->result, string);
        !          15291:     }
        !          15292: 
        !          15293:     /*
        !          15294:      * If the old result was dynamically-allocated, free it up.  Do it
        !          15295:      * here, rather than at the beginning, in case the new result value
        !          15296:      * was part of the old result value.
        !          15297:      */
        !          15298: 
        !          15299:     if (wasDynamic) {
        !          15300:        free(oldResult);
        !          15301:     }
        !          15302: }
        !          15303: 
        !          15304: /*
        !          15305:  *----------------------------------------------------------------------
        !          15306:  *
        !          15307:  * Tcl_Backslash --
        !          15308:  *
        !          15309:  *     Figure out how to handle a backslash sequence.
        !          15310:  *
        !          15311:  * Results:
        !          15312:  *     The return value is the character that should be substituted
        !          15313:  *     in place of the backslash sequence that starts at src.  If
        !          15314:  *     readPtr isn't NULL then it is filled in with a count of the
        !          15315:  *     number of characters in the backslash sequence.  Note:  if
        !          15316:  *     the backslash isn't followed by characters that are understood
        !          15317:  *     here, then the backslash sequence is only considered to be
        !          15318:  *     one character long, and it is replaced by a backslash char.
        !          15319:  *
        !          15320:  * Side effects:
        !          15321:  *     None.
        !          15322:  *
        !          15323:  *----------------------------------------------------------------------
        !          15324:  */
        !          15325: 
        !          15326: char
        !          15327: Tcl_Backslash(src, readPtr)
        !          15328:     char *src;                 /* Points to the backslash character of
        !          15329:                                 * a backslash sequence. */
        !          15330:     int *readPtr;              /* Fill in with number of characters read
        !          15331:                                 * from src, unless NULL. */
        !          15332: {
        !          15333:     register char *p = src+1;
        !          15334:     char result;
        !          15335:     int count;
        !          15336: 
        !          15337:     count = 2;
        !          15338: 
        !          15339:     switch (*p) {
        !          15340:        case 'b':
        !          15341:            result = '\b';
        !          15342:            break;
        !          15343:        case 'e':
        !          15344:            result = 033;
        !          15345:            break;
        !          15346:        case 'n':
        !          15347:            result = '\n';
        !          15348:            break;
        !          15349:        case 'r':
        !          15350:            result = '\r';
        !          15351:            break;
        !          15352:        case 't':
        !          15353:            result = '\t';
        !          15354:            break;
        !          15355:        case 'C':
        !          15356:            p++;
        !          15357:            if (isspace(*p) || (*p == 0)) {
        !          15358:                result = 'C';
        !          15359:                count = 1;
        !          15360:                break;
        !          15361:            }
        !          15362:            count = 3;
        !          15363:            if (*p == 'M') {
        !          15364:                p++;
        !          15365:                if (isspace(*p) || (*p == 0)) {
        !          15366:                    result = 'M' & 037;
        !          15367:                    break;
        !          15368:                }
        !          15369:                count = 4;
        !          15370:                result = (*p & 037) | 0200;
        !          15371:                break;
        !          15372:            }
        !          15373:            count = 3;
        !          15374:            result = *p & 037;
        !          15375:            break;
        !          15376:        case 'M':
        !          15377:            p++;
        !          15378:            if (isspace(*p) || (*p == 0)) {
        !          15379:                result = 'M';
        !          15380:                count = 1;
        !          15381:                break;
        !          15382:            }
        !          15383:            count = 3;
        !          15384:            result = *p + 0200;
        !          15385:            break;
        !          15386:        case '}':
        !          15387:        case '{':
        !          15388:        case ']':
        !          15389:        case '[':
        !          15390:        case '$':
        !          15391:        case ' ':
        !          15392:        case ';':
        !          15393:        case '"':
        !          15394:        case '\\':
        !          15395:            result = *p;
        !          15396:            break;
        !          15397:        default:
        !          15398:            if (isdigit(*p)) {
        !          15399:                result = *p - '0';
        !          15400:                p++;
        !          15401:                if (!isdigit(*p)) {
        !          15402:                    break;
        !          15403:                }
        !          15404:                count = 3;
        !          15405:                result = (result << 3) + (*p - '0');
        !          15406:                p++;
        !          15407:                if (!isdigit(*p)) {
        !          15408:                    break;
        !          15409:                }
        !          15410:                count = 4;
        !          15411:                result = (result << 3) + (*p - '0');
        !          15412:                break;
        !          15413:            }
        !          15414:            result = '\\';
        !          15415:            count = 1;
        !          15416:            break;
        !          15417:     }
        !          15418: 
        !          15419:     if (readPtr != NULL) {
        !          15420:        *readPtr = count;
        !          15421:     }
        !          15422:     return result;
        !          15423: }
        !          15424: 
        !          15425: /*
        !          15426:  *----------------------------------------------------------------------
        !          15427:  *
        !          15428:  * Tcl_SplitList --
        !          15429:  *
        !          15430:  *     Splits a list up into its constituent fields.
        !          15431:  *
        !          15432:  * Results
        !          15433:  *     The return value is normally TCL_OK, which means that
        !          15434:  *     the list was successfully split up.  If TCL_ERROR is
        !          15435:  *     returned, it means that "list" didn't have proper list
        !          15436:  *     structure;  interp->result will contain a more detailed
        !          15437:  *     error message.
        !          15438:  *
        !          15439:  *     *argvPtr will be filled in with the address of an array
        !          15440:  *     whose elements point to the elements of list, in order.
        !          15441:  *     *argcPtr will get filled in with the number of valid elements
        !          15442:  *     in the array.  A single block of memory is dynamically allocated
        !          15443:  *     to hold both the argv array and a copy of the list (with
        !          15444:  *     backslashes and braces removed in the standard way).
        !          15445:  *     The caller must eventually free this memory by calling free()
        !          15446:  *     on *argvPtr.  Note:  *argvPtr and *argcPtr are only modified
        !          15447:  *     if the procedure returns normally.
        !          15448:  *
        !          15449:  * Side effects:
        !          15450:  *     Memory is allocated.
        !          15451:  *
        !          15452:  *----------------------------------------------------------------------
        !          15453:  */
        !          15454: 
        !          15455: int
        !          15456: Tcl_SplitList(interp, list, argcPtr, argvPtr)
        !          15457:     Tcl_Interp *interp;                /* Interpreter to use for error reporting. */
        !          15458:     char *list;                        /* Pointer to string with list structure. */
        !          15459:     int *argcPtr;              /* Pointer to location to fill in with
        !          15460:                                 * the number of elements in the list. */
        !          15461:     char ***argvPtr;           /* Pointer to place to store pointer to array
        !          15462:                                 * of pointers to list elements. */
        !          15463: {
        !          15464:     char **argv;
        !          15465:     register char *p;
        !          15466:     int size, i, result, elSize, brace;
        !          15467:     char *element;
        !          15468: 
        !          15469:     /*
        !          15470:      * Figure out how much space to allocate.  There must be enough
        !          15471:      * space for both the array of pointers and also for a copy of
        !          15472:      * the list.  To estimate the number of pointers needed, count
        !          15473:      * the number of space characters in the list.
        !          15474:      */
        !          15475: 
        !          15476:     for (size = 1, p = list; *p != 0; p++) {
        !          15477:        if (isspace(*p)) {
        !          15478:            size++;
        !          15479:        }
        !          15480:     }
        !          15481:     argv = (char **) malloc((unsigned)
        !          15482:            ((size * sizeof(char *)) + (p - list) + 1));
        !          15483:     for (i = 0, p = ((char *) argv) + size*sizeof(char *);
        !          15484:            *list != 0; i++) {
        !          15485:        result = TclFindElement(interp, list, &element, &list, &elSize, &brace);
        !          15486:        if (result != TCL_OK) {
        !          15487:            free((char *) argv);
        !          15488:            return result;
        !          15489:        }
        !          15490:        if (*element == 0) {
        !          15491:            break;
        !          15492:        }
        !          15493:        if (i >= size) {
        !          15494:            Tcl_Return(interp, "internal error in Tcl_SplitList", TCL_STATIC);
        !          15495:            return TCL_ERROR;
        !          15496:        }
        !          15497:        argv[i] = p;
        !          15498:        if (brace) {
        !          15499:            strncpy(p, element, elSize);
        !          15500:            p += elSize;
        !          15501:            *p = 0;
        !          15502:            p++;
        !          15503:        } else {
        !          15504:            TclCopyAndCollapse(elSize, element, p);
        !          15505:            p += elSize+1;
        !          15506:        }
        !          15507:     }
        !          15508: 
        !          15509:     *argvPtr = argv;
        !          15510:     *argcPtr = i;
        !          15511:     return TCL_OK;
        !          15512: }
        !          15513: 
        !          15514: /*
        !          15515:  *----------------------------------------------------------------------
        !          15516:  *
        !          15517:  * Tcl_StringMatch --
        !          15518:  *
        !          15519:  *     See if a particular string matches a particular pattern.
        !          15520:  *
        !          15521:  * Results:
        !          15522:  *     The return value is 1 if string matches pattern, and
        !          15523:  *     0 otherwise.  The matching operation permits the following
        !          15524:  *     special characters in the pattern: *?\[] (see the manual
        !          15525:  *     entry for details on what these mean).
        !          15526:  *
        !          15527:  * Side effects:
        !          15528:  *     None.
        !          15529:  *
        !          15530:  *----------------------------------------------------------------------
        !          15531:  */
        !          15532: 
        !          15533: int
        !          15534: Tcl_StringMatch(string, pattern)
        !          15535:     register char *string;     /* String. */
        !          15536:     register char *pattern;    /* Pattern, which may contain
        !          15537:                                 * special characters. */
        !          15538: {
        !          15539:     char c2;
        !          15540: 
        !          15541:     while (1) {
        !          15542:        /* See if we're at the end of both the pattern and the string.
        !          15543:         * If so, we succeeded.  If we're at the end of the pattern
        !          15544:         * but not at the end of the string, we failed.
        !          15545:         */
        !          15546:        
        !          15547:        if (*pattern == 0) {
        !          15548:            if (*string == 0) {
        !          15549:                return 1;
        !          15550:            } else {
        !          15551:                return 0;
        !          15552:            }
        !          15553:        }
        !          15554:        if ((*string == 0) && (*pattern != '*')) {
        !          15555:            return 0;
        !          15556:        }
        !          15557: 
        !          15558:        /* Check for a "*" as the next pattern character.  It matches
        !          15559:         * any substring.  We handle this by calling ourselves
        !          15560:         * recursively for each postfix of string, until either we
        !          15561:         * match or we reach the end of the string.
        !          15562:         */
        !          15563:        
        !          15564:        if (*pattern == '*') {
        !          15565:            pattern += 1;
        !          15566:            if (*pattern == 0) {
        !          15567:                return 1;
        !          15568:            }
        !          15569:            while (*string != 0) {
        !          15570:                if (Tcl_StringMatch(string, pattern)) {
        !          15571:                    return 1;
        !          15572:                }
        !          15573:                string += 1;
        !          15574:            }
        !          15575:            return 0;
        !          15576:        }
        !          15577:     
        !          15578:        /* Check for a "?" as the next pattern character.  It matches
        !          15579:         * any single character.
        !          15580:         */
        !          15581: 
        !          15582:        if (*pattern == '?') {
        !          15583:            goto thisCharOK;
        !          15584:        }
        !          15585: 
        !          15586:        /* Check for a "[" as the next pattern character.  It is followed
        !          15587:         * by a list of characters that are acceptable, or by a range
        !          15588:         * (two characters separated by "-").
        !          15589:         */
        !          15590:        
        !          15591:        if (*pattern == '[') {
        !          15592:            pattern += 1;
        !          15593:            while (1) {
        !          15594:                if ((*pattern == ']') || (*pattern == 0)) {
        !          15595:                    return 0;
        !          15596:                }
        !          15597:                if (*pattern == *string) {
        !          15598:                    break;
        !          15599:                }
        !          15600:                if (pattern[1] == '-') {
        !          15601:                    c2 = pattern[2];
        !          15602:                    if (c2 == 0) {
        !          15603:                        return 0;
        !          15604:                    }
        !          15605:                    if ((*pattern <= *string) && (c2 >= *string)) {
        !          15606:                        break;
        !          15607:                    }
        !          15608:                    if ((*pattern >= *string) && (c2 <= *string)) {
        !          15609:                        break;
        !          15610:                    }
        !          15611:                    pattern += 2;
        !          15612:                }
        !          15613:                pattern += 1;
        !          15614:            }
        !          15615:            while ((*pattern != ']') && (*pattern != 0)) {
        !          15616:                pattern += 1;
        !          15617:            }
        !          15618:            goto thisCharOK;
        !          15619:        }
        !          15620:     
        !          15621:        /* If the next pattern character is '/', just strip off the '/'
        !          15622:         * so we do exact matching on the character that follows.
        !          15623:         */
        !          15624:        
        !          15625:        if (*pattern == '\\') {
        !          15626:            pattern += 1;
        !          15627:            if (*pattern == 0) {
        !          15628:                return 0;
        !          15629:            }
        !          15630:        }
        !          15631: 
        !          15632:        /* There's no special character.  Just make sure that the next
        !          15633:         * characters of each string match.
        !          15634:         */
        !          15635:        
        !          15636:        if (*pattern != *string) {
        !          15637:            return 0;
        !          15638:        }
        !          15639: 
        !          15640:        thisCharOK: pattern += 1;
        !          15641:        string += 1;
        !          15642:     }
        !          15643: }
        !          15644: 
        !          15645: /*
        !          15646:  *----------------------------------------------------------------------
        !          15647:  *
        !          15648:  * TclWordEnd --
        !          15649:  *
        !          15650:  *     Given a pointer into a Tcl command, find the end of the next
        !          15651:  *     word of the command.
        !          15652:  *
        !          15653:  * Results:
        !          15654:  *     The return value is a pointer to the character just after the
        !          15655:  *     last one that's part of the word pointed to by "start".  This
        !          15656:  *     may be the address of the NULL character at the end of the
        !          15657:  *     string.
        !          15658:  *
        !          15659:  * Side effects:
        !          15660:  *     None.
        !          15661:  *
        !          15662:  *----------------------------------------------------------------------
        !          15663:  */
        !          15664: 
        !          15665: char *
        !          15666: TclWordEnd(start, nested)
        !          15667:     char *start;               /* Beginning of a word of a Tcl command. */
        !          15668:     int nested;                        /* Zero means this is a top-level command.
        !          15669:                                 * One means this is a nested command (close
        !          15670:                                 * brace is a word terminator). */
        !          15671: {
        !          15672:     register char *p;
        !          15673:     int count;
        !          15674: 
        !          15675:     p = start;
        !          15676:     while (isspace(*p)) {
        !          15677:        p++;
        !          15678:     }
        !          15679: 
        !          15680:     /*
        !          15681:      * Handle words beginning with a double-quote or a brace.
        !          15682:      */
        !          15683: 
        !          15684:     if (*p == '"') {
        !          15685:        while (1) {
        !          15686:            p++;
        !          15687:            while (*p == '\\') {
        !          15688:                (void) Tcl_Backslash(p, &count);
        !          15689:                p += count;
        !          15690:            }
        !          15691:            if (*p == '"') {
        !          15692:                break;
        !          15693:            }
        !          15694:        }
        !          15695:     } else if (*p == '{') {
        !          15696:        int braces = 1;
        !          15697:        while (braces != 0) {
        !          15698:            p++;
        !          15699:            while (*p == '\\') {
        !          15700:                (void) Tcl_Backslash(p, &count);
        !          15701:                p += count;
        !          15702:            }
        !          15703:            if (*p == '}') {
        !          15704:                braces--;
        !          15705:            } else if (*p == '{') {
        !          15706:                braces++;
        !          15707:            } else if (*p == 0) {
        !          15708:                return p;
        !          15709:            }
        !          15710:        }
        !          15711:     }
        !          15712: 
        !          15713:     /*
        !          15714:      * Handle words that don't start with a brace or double-quote.
        !          15715:      * This code is also invoked if the word starts with a brace or
        !          15716:      * double-quote and there is garbage after the closing brace or
        !          15717:      * quote.  This is an error as far as Tcl_Eval is concerned, but
        !          15718:      * for here the garbage is treated as part of the word.
        !          15719:      */
        !          15720: 
        !          15721:     while (1) {
        !          15722: 
        !          15723:        /*
        !          15724:         * Handle nested commands.
        !          15725:         */
        !          15726: 
        !          15727:        while (*p == '[') {
        !          15728:            p++;
        !          15729:            while ((*p != ']') && (*p != 0)) {
        !          15730:                p = TclWordEnd(p, 1);
        !          15731:                if (*p == ';') {
        !          15732:                    p++;
        !          15733:                }
        !          15734:            }
        !          15735:            if (*p == ']') {
        !          15736:                p++;
        !          15737:            }
        !          15738:        }
        !          15739: 
        !          15740:        /*
        !          15741:         * Handle backslash sequences.  Backslash-newline isn't handled
        !          15742:         * by Tcl_Backslash, so it must be checked for explicitly.
        !          15743:         */
        !          15744: 
        !          15745:        while (*p == '\\') {
        !          15746:            if (p[1] == '\n') {
        !          15747:                p += 2;
        !          15748:            } else {
        !          15749:                (void) Tcl_Backslash(p, &count);
        !          15750:                p += count;
        !          15751:            }
        !          15752:        }
        !          15753: 
        !          15754:        /*
        !          15755:         * Check for end of word.  Note:  semi-colon terminates a word
        !          15756:         * and also counts as a word by itself.
        !          15757:         */
        !          15758: 
        !          15759:        if (*p == ';') {
        !          15760:            if (p == start) {
        !          15761:                p++;
        !          15762:            }
        !          15763:            break;
        !          15764:        }
        !          15765:        if (isspace(*p) || (*p == 0)) {
        !          15766:            break;
        !          15767:        }
        !          15768:        if ((*p == ']') && nested) {
        !          15769:            break;
        !          15770:        }
        !          15771: 
        !          15772:        p++;
        !          15773:     }
        !          15774:     return p;
        !          15775: }
        !          15776: 0707070035050505631006660011710000040000010655110466302661500001500000030260tcl/tclInt.h/*
        !          15777:  * tclInt.h --
        !          15778:  *
        !          15779:  *     Declarations of things used internally by the Tcl interpreter.
        !          15780:  *
        !          15781:  * Copyright 1987 Regents of the University of California
        !          15782:  * Permission to use, copy, modify, and distribute this
        !          15783:  * software and its documentation for any purpose and without
        !          15784:  * fee is hereby granted, provided that the above copyright
        !          15785:  * notice appear in all copies.  The University of California
        !          15786:  * makes no representations about the suitability of this
        !          15787:  * software for any purpose.  It is provided "as is" without
        !          15788:  * express or implied warranty.
        !          15789:  *
        !          15790:  * $Header: /sprite/src/lib/tcl/RCS/tclInt.h,v 1.22 90/03/29 10:55:01 ouster Exp $ SPRITE (Berkeley)
        !          15791:  */
        !          15792: 
        !          15793: #ifndef _TCLINT
        !          15794: #define _TCLINT
        !          15795: 
        !          15796: #ifndef _TCL
        !          15797: #include "tcl.h"
        !          15798: #endif
        !          15799: 
        !          15800: #define        bcopy(src,dest,count)   memcpy(dest,src,count)
        !          15801: 
        !          15802: /*
        !          15803:  * The structure below defines one Tcl command, by associating a procedure
        !          15804:  * with a textual string.
        !          15805:  */
        !          15806: 
        !          15807: typedef struct Command {
        !          15808:     int (*proc)();             /* Procedure to process command. */
        !          15809:     ClientData clientData;     /* Arbitrary value to pass to proc. */
        !          15810:     void (*deleteProc)();      /* Procedure to invoke when deleting
        !          15811:                                 * command. */
        !          15812:     struct Command *nextPtr;   /* Pointer to next command in list, or NULL
        !          15813:                                 * for end of list. */
        !          15814:     char name[4];              /* Name of command.  The actual size of this
        !          15815:                                 * portion is as large as is necessary to
        !          15816:                                 * hold the characters.  This must be the
        !          15817:                                 * last subfield of the record. */
        !          15818: } Command;
        !          15819: 
        !          15820: #define CMD_SIZE(nameLength) ((unsigned) sizeof(Command) + nameLength - 3)
        !          15821: 
        !          15822: /*
        !          15823:  * The structure below defines a variable, which associates a string name
        !          15824:  * with a string value.  To cut down on the number of malloc's and free's
        !          15825:  * (particularly for procedure parameters), space for both the variable's
        !          15826:  * name and initial value is allocated at the end of the structure (in
        !          15827:  * "storage").  If the variable's value changes later, a new dynamic
        !          15828:  * string is allocated, if there is insufficient space in the current
        !          15829:  * storage area.
        !          15830:  */
        !          15831: 
        !          15832: typedef struct Var {
        !          15833:     char *value;               /* Current value of variable (either points
        !          15834:                                 * to static space after name, or to dynamic
        !          15835:                                 * space if VAR_DYNAMIC is set). */
        !          15836:     int valueLength;           /* Number of bytes of storage at the place
        !          15837:                                 * referred to by value, not including space
        !          15838:                                 * for NULL terminator. */
        !          15839:     int flags;                 /* Miscellaneous flags:  see below. */
        !          15840:     struct Var *globalPtr;     /* If VAR_GLOBAL is set, this points to the
        !          15841:                                 * global variable corresponding to name. */
        !          15842:     struct Var *nextPtr;       /* Next variable in list, or NULL for end
        !          15843:                                 * of list. */
        !          15844:     char name[4];              /* Storage space for variable's name (and
        !          15845:                                 * initial value).  The name is at the
        !          15846:                                 * beginning, and is null-terminated.
        !          15847:                                 * May contain more than 4 bytes (see
        !          15848:                                 * VAR_SIZE macro below). */
        !          15849: } Var;
        !          15850: 
        !          15851: #define VAR_SIZE(nameLength, valueLength) \
        !          15852:        ((unsigned) sizeof(Var) + nameLength + valueLength - 2)
        !          15853: 
        !          15854: /*
        !          15855:  * Variable flags:
        !          15856:  *
        !          15857:  * VAR_DYNAMIC:                1 means the storage space for the value was
        !          15858:  *                     dynamically allocated, and must eventually be
        !          15859:  *                     freed.
        !          15860:  * VAR_GLOBAL:         Used only in local variables.  Means that this
        !          15861:  *                     is really a global variable.
        !          15862:  * VAR_DOESNT_EXIST:   1 means this variable has not yet been assigned
        !          15863:  *                     a value.  Used when a "global" command refers
        !          15864:  *                     to a variable that hasn't been set yet.
        !          15865:  */
        !          15866: 
        !          15867: #define VAR_DYNAMIC            1
        !          15868: #define VAR_GLOBAL             2
        !          15869: #define VAR_DOESNT_EXIST       4
        !          15870: 
        !          15871: /*
        !          15872:  * The structure below defines a command procedure, which consists of
        !          15873:  * a collection of Tcl commands plus information about arguments and
        !          15874:  * variables.
        !          15875:  */
        !          15876: 
        !          15877: typedef struct Proc {
        !          15878:     struct Interp *iPtr;       /* Interpreter for which this command
        !          15879:                                 * is defined. */
        !          15880:     char *command;             /* Command that constitutes the body of
        !          15881:                                 * the procedure (dynamically allocated). */
        !          15882:     Var *argPtr;               /* Pointer to first in list of variables
        !          15883:                                 * giving names to the procedure's arguments.
        !          15884:                                 * The order of the variables is the same
        !          15885:                                 * as the order of the arguments.  The "value"
        !          15886:                                 * fields of the variables are the default
        !          15887:                                 * values. */
        !          15888: } Proc;
        !          15889: 
        !          15890: /*
        !          15891:  * The structure below defines a trace.  This is used to allow Tcl
        !          15892:  * clients to find out whenever a command is about to be executed.
        !          15893:  */
        !          15894: 
        !          15895: typedef struct Trace {
        !          15896:     int level;                 /* Only trace commands at nesting level
        !          15897:                                 * less than or equal to this. */
        !          15898:     void (*proc)();            /* Procedure to call to trace command. */
        !          15899:     ClientData clientData;     /* Arbitrary value to pass to proc. */
        !          15900:     struct Trace *nextPtr;     /* Next in list of traces for this interp. */
        !          15901: } Trace;
        !          15902: 
        !          15903: /*
        !          15904:  * The stucture below defines an interpreter callback, which is
        !          15905:  * a procedure to invoke just before an interpreter is deleted.
        !          15906:  */
        !          15907: 
        !          15908: typedef struct InterpCallback {
        !          15909:     void (*proc)();            /* Procedure to call. */
        !          15910:     ClientData clientData;     /* Value to pass to procedure. */
        !          15911:     struct InterpCallback *nextPtr;
        !          15912:                                /* Next in list of callbacks for this
        !          15913:                                 * interpreter (or NULL for end of
        !          15914:                                 * list). */
        !          15915: } InterpCallback;
        !          15916: 
        !          15917: /*
        !          15918:  * The structure below defines a frame, which is a procedure invocation.
        !          15919:  * These structures exist only while procedures are being executed, and
        !          15920:  * provide a sort of call stack.
        !          15921:  */
        !          15922: 
        !          15923: typedef struct CallFrame {
        !          15924:     Var *varPtr;               /* First in list of all local variables
        !          15925:                                 * and arguments for this procedure
        !          15926:                                 * invocation. */
        !          15927:     int level;                 /* Level of this procedure, for "uplevel"
        !          15928:                                 * purposes (i.e. corresponds to nesting of
        !          15929:                                 * callerVarPtr's, not callerPtr's).  1 means
        !          15930:                                 * outer-most procedure, 0 means top-level. */
        !          15931:     int argc;                  /* This and argv below describe name and
        !          15932:                                 * arguments for this procedure invocation. */
        !          15933:     char **argv;               /* Array of arguments. */
        !          15934:     struct CallFrame *callerPtr;
        !          15935:                                /* Frame of procedure that invoked this one
        !          15936:                                 * (NULL if level == 1). */
        !          15937:     struct CallFrame *callerVarPtr;
        !          15938:                                /* Frame used by caller for accessing local
        !          15939:                                 * variables (same as callerPtr unless an
        !          15940:                                 * "uplevel" command was active in the
        !          15941:                                 * caller).  This field is used in the
        !          15942:                                 * implementation of "uplevel". */
        !          15943: } CallFrame;
        !          15944: 
        !          15945: /*
        !          15946:  * The structure below defines one history event (a previously-executed
        !          15947:  * command that can be re-executed in whole or in part).
        !          15948:  */
        !          15949: 
        !          15950: typedef struct {
        !          15951:     char *command;             /* String containing previously-executed
        !          15952:                                 * command. */
        !          15953:     int bytesAvl;              /* Total # of bytes available at *event (not
        !          15954:                                 * all are necessarily in use now). */
        !          15955: } HistoryEvent;
        !          15956: 
        !          15957: /*
        !          15958:  * The structure below defines a pending revision to the most recent
        !          15959:  * history event.  Changes are linked together into a list and applied
        !          15960:  * during the next call to Tcl_RecordHistory.  See the comments at the
        !          15961:  * beginning of tclHistory.c for information on revisions.
        !          15962:  */
        !          15963: 
        !          15964: typedef struct HistoryRev {
        !          15965:     int firstIndex;            /* Index of the first byte to replace in
        !          15966:                                 * current history event. */
        !          15967:     int lastIndex;             /* Index of last byte to replace in
        !          15968:                                 * current history event. */
        !          15969:     int newSize;               /* Number of bytes in newBytes. */
        !          15970:     char *newBytes;            /* Replacement for the range given by
        !          15971:                                 * firstIndex and lastIndex. */
        !          15972:     struct HistoryRev *nextPtr;        /* Next in chain of revisions to apply, or
        !          15973:                                 * NULL for end of list. */
        !          15974: } HistoryRev;
        !          15975: 
        !          15976: /*
        !          15977:  * This structure defines an interpreter, which is a collection of commands
        !          15978:  * plus other state information related to interpreting commands, such as
        !          15979:  * variable storage.  The lists of commands and variables are sorted by usage:
        !          15980:  * each time a command or variable is used it is pulled to the front of its
        !          15981:  * list.
        !          15982:  */
        !          15983: 
        !          15984: typedef struct Interp {
        !          15985: 
        !          15986:     /*
        !          15987:      * Note:  the first three fields must match exactly the fields in
        !          15988:      * a Tcl_Interp struct (see tcl.h).  If you change one, be sure to
        !          15989:      * change the other.
        !          15990:      */
        !          15991: 
        !          15992:     char *result;              /* Points to result returned by last
        !          15993:                                 * command. */
        !          15994:     int dynamic;               /* Non-zero means result is dynamically-
        !          15995:                                 * allocated and must be freed by Tcl_Eval
        !          15996:                                 * before executing the next command. */
        !          15997:     int errorLine;             /* When TCL_ERROR is returned, this gives
        !          15998:                                 * the line number within the command where
        !          15999:                                 * the error occurred (1 means first line). */
        !          16000:     Command *commandPtr;       /* First command in list containing all
        !          16001:                                 * commands defined for this table. */
        !          16002: 
        !          16003:     /*
        !          16004:      * Information related to procedures and variables.  See tclProc.c
        !          16005:      * for usage.
        !          16006:      */
        !          16007: 
        !          16008:     Var *globalPtr;            /* First in list of all global variables for
        !          16009:                                 * this command table. */
        !          16010:     Var *localPtr;             /* First in list of all local variables and
        !          16011:                                 * arguments for the Tcl procedure that is
        !          16012:                                 * currently being executed.  If no procedure
        !          16013:                                 * is being executed, or if it has no vars or
        !          16014:                                 * args, this will be NULL. */
        !          16015:     int numLevels;             /* Keeps track of how many nested calls to
        !          16016:                                 * Tcl_Eval are in progress for this
        !          16017:                                 * interpreter.  It's used to delay deletion
        !          16018:                                 * of the table until all Tcl_Eval invocations
        !          16019:                                 * are completed. */
        !          16020:     CallFrame *framePtr;       /* If a procedure is being executed, this
        !          16021:                                 * points to the call frame for the current
        !          16022:                                 * procedure (most recently-called).  NULL
        !          16023:                                 * means no procedure is active. */
        !          16024:     CallFrame *varFramePtr;    /* Points to the call frame whose variables
        !          16025:                                 * are currently in use (same as framePtr
        !          16026:                                 * unless an "uplevel" command is being
        !          16027:                                 * executed).  NULL means no procedure is
        !          16028:                                 * active or "uplevel 0" is being exec'ed. */
        !          16029: 
        !          16030:     /*
        !          16031:      * Information related to history:
        !          16032:      */
        !          16033: 
        !          16034:     int numEvents;             /* Number of previously-executed commands
        !          16035:                                 * to retain. */
        !          16036:     HistoryEvent *events;      /* Array containing numEvents entries
        !          16037:                                 * (dynamically allocated). */
        !          16038:     int curEvent;              /* Index into events of place where current
        !          16039:                                 * (or most recent) command is recorded. */
        !          16040:     int curEventNum;           /* Event number associated with the slot
        !          16041:                                 * given by curEvent. */
        !          16042:     HistoryRev *revPtr;                /* First in list of pending revisions. */
        !          16043:     char *historyFirst;                /* First char. of current command executed
        !          16044:                                 * from history module.  NULL means don't
        !          16045:                                 * do history revision (see tclHistory.c
        !          16046:                                 * for details on revision). */
        !          16047:     char *evalFirst;           /* If TCL_RECORD_BOUNDS flag set, Tcl_Eval
        !          16048:                                 * sets this field to point to the first
        !          16049:                                 * char. of text from which the current
        !          16050:                                 * command came.  Otherwise Tcl_Eval sets
        !          16051:                                 * this to NULL. */
        !          16052:     char *evalLast;            /* Similar to evalFirst, except points to
        !          16053:                                 * last character of current command. */
        !          16054: 
        !          16055:     /*
        !          16056:      * Miscellaneous information:
        !          16057:      */
        !          16058: 
        !          16059:     int cmdCount;              /* Total number of times a command procedure
        !          16060:                                 * has been called for this interpreter. */
        !          16061:     int noEval;                        /* Non-zero means no commands should actually
        !          16062:                                 * be executed:  just parse only.  Used in
        !          16063:                                 * expressions when the result is already
        !          16064:                                 * determined. */
        !          16065:     int flags;                 /* Various flag bits.  See below. */
        !          16066:     Trace *tracePtr;           /* List of traces for this interpreter. */
        !          16067:     InterpCallback *callbackPtr;/* List of callbacks to invoke when
        !          16068:                                 * interpreter is deleted. */
        !          16069:     char resultSpace[TCL_RESULT_SIZE];
        !          16070:                                /* Static space for storing small results. */
        !          16071: } Interp;
        !          16072: 
        !          16073: /*
        !          16074:  * Flag bits for Interp structures:
        !          16075:  *
        !          16076:  * DELETED:            Non-zero means the interpreter has been deleted:
        !          16077:  *                     don't process any more commands for it, and destroy
        !          16078:  *                     the structure as soon as all nested invocations of
        !          16079:  *                     Tcl_Eval are done.
        !          16080:  * ERR_IN_PROGRESS:    Non-zero means an error unwind is already in progress.
        !          16081:  *                     Zero means a command proc has been invoked since last
        !          16082:  *                     error occured.
        !          16083:  * ERR_ALREADY_LOGGED: Non-zero means information has already been logged
        !          16084:  *                     in $errorInfo for the current Tcl_Eval instance,
        !          16085:  *                     so Tcl_Eval needn't log it (used to implement the
        !          16086:  *                     "error message log" command).
        !          16087:  */
        !          16088: 
        !          16089: #define DELETED                        1
        !          16090: #define ERR_IN_PROGRESS                2
        !          16091: #define ERR_ALREADY_LOGGED     4
        !          16092: 
        !          16093: /*
        !          16094:  * Additional flags passed to Tcl_Eval.  See tcl.h for other flags to
        !          16095:  * Tcl_Eval;  these ones are only used internally by Tcl.
        !          16096:  *
        !          16097:  * TCL_RECORD_BOUNDS   Tells Tcl_Eval to record information in the
        !          16098:  *                     evalFirst and evalLast fields for each command
        !          16099:  *                     executed directly from the string (top-level
        !          16100:  *                     commands and those from command substitution).
        !          16101:  */
        !          16102: 
        !          16103: #define TCL_RECORD_BOUNDS      0x100
        !          16104: 
        !          16105: /*
        !          16106:  * Maximum number of levels of nesting permitted in Tcl commands.
        !          16107:  */
        !          16108: 
        !          16109: #define MAX_NESTING_DEPTH      100
        !          16110: 
        !          16111: /*
        !          16112:  * Procedures shared among Tcl modules but not used by the outside
        !          16113:  * world:
        !          16114:  */
        !          16115: 
        !          16116: extern void            TclCopyAndCollapse();
        !          16117: extern void            TclDeleteVars();
        !          16118: extern Command *       TclFindCmd();
        !          16119: extern int             TclFindElement();
        !          16120: extern Proc *          TclFindProc();
        !          16121: extern Proc *          TclIsProc();
        !          16122: extern char *          TclWordEnd();
        !          16123: 
        !          16124: #endif _TCLINT
        !          16125: 0707070035050475151006660011710000040000010746260466276614200001600000005454tcl/tclTest.c/* 
        !          16126:  * tcl.c --
        !          16127:  *
        !          16128:  *     Test driver for TCL.
        !          16129:  *
        !          16130:  * Copyright 1987 Regents of the University of California
        !          16131:  * All rights reserved.
        !          16132:  * Permission to use, copy, modify, and distribute this
        !          16133:  * software and its documentation for any purpose and without
        !          16134:  * fee is hereby granted, provided that the above copyright
        !          16135:  * notice appear in all copies.  The University of California
        !          16136:  * makes no representations about the suitability of this
        !          16137:  * software for any purpose.  It is provided "as is" without
        !          16138:  * express or implied warranty.
        !          16139:  */
        !          16140: 
        !          16141: #ifndef lint
        !          16142: static char rcsid[] = "$Header: /sprite/src/lib/tcl/tclTest/RCS/tclTest.c,v 1.8 90/03/23 16:19:27 ouster Exp $ SPRITE (Berkeley)";
        !          16143: #endif not lint
        !          16144: 
        !          16145: #include <stdio.h>
        !          16146: #include <sys/time.h>
        !          16147: #include "tcl.h"
        !          16148: 
        !          16149: Tcl_Interp *interp;
        !          16150: Tcl_CmdBuf buffer;
        !          16151: 
        !          16152: int
        !          16153: cmdEcho(clientData, interp, argc, argv)
        !          16154:     char *clientData;
        !          16155:     Tcl_Interp *interp;
        !          16156:     int argc;
        !          16157:     char **argv;
        !          16158: {
        !          16159:     int i;
        !          16160: 
        !          16161:     for (i = 1; ; i++) {
        !          16162:        if (argv[i] == NULL) {
        !          16163:            if (i != argc) {
        !          16164:                echoError:
        !          16165:                sprintf(interp->result,
        !          16166:                    "argument list wasn't properly NULL-terminated in \"%s\" command",
        !          16167:                    argv[0]);
        !          16168:            }
        !          16169:            break;
        !          16170:        }
        !          16171:        if (i >= argc) {
        !          16172:            goto echoError;
        !          16173:        }
        !          16174:        fputs(argv[i], stdout);
        !          16175:        if (i < (argc-1)) {
        !          16176:            printf(" ");
        !          16177:        }
        !          16178:     }
        !          16179:     printf("\n");
        !          16180:     return TCL_OK;
        !          16181: }
        !          16182: 
        !          16183: void
        !          16184: deleteProc(clientData)
        !          16185:     char *clientData;
        !          16186: {
        !          16187:     printf("Deleting command with clientData \"%s\".\n", clientData);
        !          16188: }
        !          16189: 
        !          16190: int
        !          16191: cmdCreate(clientData, interp, argc, argv)
        !          16192:     ClientData clientData;             /* Not used. */
        !          16193:     Tcl_Interp *interp;
        !          16194:     int argc;
        !          16195:     int *argv;
        !          16196: {
        !          16197:     int count;
        !          16198:     if (argc != 2) {
        !          16199:        sprintf(interp->result, "wrong # args:  should be \"%.50s count\"",
        !          16200:                argv[0]);
        !          16201:        return TCL_ERROR;
        !          16202:     }
        !          16203:     count = atoi(argv[1]);
        !          16204:     for (; count > 0; count--) {
        !          16205:        Tcl_DeleteInterp(Tcl_CreateInterp());
        !          16206:     }
        !          16207:     return TCL_OK;
        !          16208: }
        !          16209: 
        !          16210: main()
        !          16211: {
        !          16212:     char line[1000], *cmd;
        !          16213:     int result, gotPartial;
        !          16214: 
        !          16215:     interp = Tcl_CreateInterp();
        !          16216:     Tcl_CreateCommand(interp, "echo", cmdEcho, (ClientData) "echo",
        !          16217:            deleteProc);
        !          16218:     Tcl_CreateCommand(interp, "create", cmdCreate, (ClientData) "create",
        !          16219:            deleteProc);
        !          16220:     buffer = Tcl_CreateCmdBuf();
        !          16221: 
        !          16222:     gotPartial = 0;
        !          16223:     while (1) {
        !          16224:        clearerr(stdin);
        !          16225:        if (!gotPartial) {
        !          16226:            fputs("% ", stdout);
        !          16227:            fflush(stdout);
        !          16228:        }
        !          16229:        if (fgets(line, 1000, stdin) == NULL) {
        !          16230:            if (!gotPartial) {
        !          16231:                exit(0);
        !          16232:            }
        !          16233:            line[0] = 0;
        !          16234:        }
        !          16235:        cmd = Tcl_AssembleCmd(buffer, line);
        !          16236:        if (cmd == NULL) {
        !          16237:            gotPartial = 1;
        !          16238:            continue;
        !          16239:        }
        !          16240: 
        !          16241:        gotPartial = 0;
        !          16242:        result = Tcl_RecordAndEval(interp, cmd, 0);
        !          16243:        if (result == TCL_OK) {
        !          16244:            if (*interp->result != 0) {
        !          16245:                printf("%s\n", interp->result);
        !          16246:            }
        !          16247:        } else {
        !          16248:            if (result == TCL_ERROR) {
        !          16249:                printf("Error");
        !          16250:            } else {
        !          16251:                printf("Error %d", result);
        !          16252:            }
        !          16253:            if (*interp->result != 0) {
        !          16254:                printf(": %s\n", interp->result);
        !          16255:            } else {
        !          16256:                printf("\n");
        !          16257:            }
        !          16258:        }
        !          16259:     }
        !          16260: }
        !          16261: 0707070035050474331006660011710000040000010746300466276614200001500000004160tcl/sprite.h/*
        !          16262:  * sprite.h --
        !          16263:  *
        !          16264:  * Common constants and type declarations for Sprite.
        !          16265:  *
        !          16266:  * Copyright 1985, 1988 Regents of the University of California
        !          16267:  * Permission to use, copy, modify, and distribute this
        !          16268:  * software and its documentation for any purpose and without
        !          16269:  * fee is hereby granted, provided that the above copyright
        !          16270:  * notice appear in all copies.  The University of California
        !          16271:  * makes no representations about the suitability of this
        !          16272:  * software for any purpose.  It is provided "as is" without
        !          16273:  * express or implied warranty.
        !          16274:  *
        !          16275:  * $Header: /sprite/src/lib/include/RCS/sprite.h,v 1.6 89/09/08 16:27:43 mgbaker Exp $ SPRITE (Berkeley)
        !          16276:  */
        !          16277: 
        !          16278: #ifndef _SPRITE
        !          16279: #define _SPRITE
        !          16280: 
        !          16281: /*
        !          16282:  * A boolean type is defined as an integer, not an enum. This allows a
        !          16283:  * boolean argument to be an expression that isn't strictly 0 or 1 valued.
        !          16284:  */
        !          16285: 
        !          16286: #ifndef TRUE
        !          16287: #define TRUE   1
        !          16288: #endif
        !          16289: #ifndef FALSE
        !          16290: #define FALSE  0
        !          16291: #endif
        !          16292: 
        !          16293: #ifndef _ASM
        !          16294: typedef int Boolean;
        !          16295: 
        !          16296: /*
        !          16297:  * Functions that must return a status can return a ReturnStatus to
        !          16298:  * indicate success or type of failure.
        !          16299:  */
        !          16300: 
        !          16301: typedef int  ReturnStatus;
        !          16302: #endif /* _ASM */
        !          16303: 
        !          16304: /*
        !          16305:  * The following statuses overlap with the first 2 generic statuses 
        !          16306:  * defined in status.h:
        !          16307:  *
        !          16308:  * SUCCESS                     There was no error.
        !          16309:  * FAILURE                     There was a general error.
        !          16310:  */
        !          16311: 
        !          16312: #define        SUCCESS                 0x00000000
        !          16313: #define        FAILURE                 0x00000001
        !          16314: 
        !          16315: 
        !          16316: /*
        !          16317:  * A nil pointer must be something that will cause an exception if 
        !          16318:  * referenced.  There are two nils: the kernels nil and the nil used
        !          16319:  * by user processes.
        !          16320:  */
        !          16321: 
        !          16322: #define NIL            0xFFFFFFFF
        !          16323: #define USER_NIL       0
        !          16324: #ifndef NULL
        !          16325: #define NULL           0
        !          16326: #endif
        !          16327: 
        !          16328: #ifndef _ASM
        !          16329: /*
        !          16330:  * An address is just a pointer in C.  It is defined as a character pointer
        !          16331:  * so that address arithmetic will work properly, a byte at a time.
        !          16332:  */
        !          16333: 
        !          16334: typedef char *Address;
        !          16335: 
        !          16336: /*
        !          16337:  * ClientData is an uninterpreted word.  It is defined as an int so that
        !          16338:  * kdbx will not interpret client data as a string.  Unlike an "Address",
        !          16339:  * client data will generally not be used in arithmetic.
        !          16340:  */
        !          16341: 
        !          16342: #ifndef _CLIENTDATA
        !          16343: typedef int *ClientData;
        !          16344: #define _CLIENTDATA
        !          16345: #endif
        !          16346: 
        !          16347: #ifndef __STDC__
        !          16348: #define volatile
        !          16349: #define const
        !          16350: #endif
        !          16351: #endif /* _ASM */
        !          16352: 
        !          16353: 
        !          16354: #endif /* _SPRITE */
        !          16355: 0707070035050474311006660011710000040000010746310466276614200001500000007123tcl/stdlib.h/*
        !          16356:  * stdlib.h --
        !          16357:  *
        !          16358:  *     Declares facilities exported by the "stdlib" portion of
        !          16359:  *     the C library.
        !          16360:  *
        !          16361:  * Copyright 1988 Regents of the University of California
        !          16362:  * Permission to use, copy, modify, and distribute this
        !          16363:  * software and its documentation for any purpose and without
        !          16364:  * fee is hereby granted, provided that the above copyright
        !          16365:  * notice appear in all copies.  The University of California
        !          16366:  * makes no representations about the suitability of this
        !          16367:  * software for any purpose.  It is provided "as is" without
        !          16368:  * express or implied warranty.
        !          16369:  *
        !          16370:  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.12 90/01/06 13:45:29 rab Exp $ SPRITE (Berkeley)
        !          16371:  */
        !          16372: 
        !          16373: #ifndef _STDLIB
        !          16374: #define _STDLIB
        !          16375: 
        !          16376: #define EXIT_SUCCESS    0
        !          16377: #define EXIT_FAILURE    1
        !          16378: 
        !          16379: /*
        !          16380:  *----------------------------
        !          16381:  * String conversion routines:
        !          16382:  *----------------------------
        !          16383:  */
        !          16384: 
        !          16385: extern double          atof();
        !          16386: extern int             atoi();
        !          16387: extern long int                atol();
        !          16388: extern double          strtod();
        !          16389: extern long int                strtol();
        !          16390: extern unsigned long   strtoul();
        !          16391: 
        !          16392: /*
        !          16393:  *------------------
        !          16394:  * Memory allocator:
        !          16395:  *------------------
        !          16396:  */
        !          16397: 
        !          16398: extern char *  alloca();
        !          16399: extern char *  calloc();
        !          16400: extern char *  malloc();
        !          16401: extern char *  realloc();
        !          16402: extern void    Mem_Bin();
        !          16403: extern char *  Mem_CallerPC();
        !          16404: extern void    Mem_DumpTrace();
        !          16405: extern void    Mem_PrintConfig();
        !          16406: extern void    Mem_PrintInUse();
        !          16407: extern void    Mem_PrintStats();
        !          16408: extern void    Mem_PrintStatsInt();
        !          16409: extern void    Mem_SetPrintProc();
        !          16410: extern void    Mem_SetTraceSizes();
        !          16411: extern int     Mem_Size();
        !          16412: 
        !          16413: /*
        !          16414:  * The mips compiler cannot handle some coercions on the left hand side
        !          16415:  */
        !          16416: #if defined(KERNEL) && !defined(mips)
        !          16417: extern                 _free();
        !          16418: 
        !          16419: #ifdef lint
        !          16420: #define                free(ptr) _free(ptr)
        !          16421: #else
        !          16422: #define                free(ptr) {_free(ptr); (ptr) = (char *) NIL; }
        !          16423: #endif /* lint */
        !          16424: 
        !          16425: #else
        !          16426: extern         free();
        !          16427: #endif /* KERNEL */
        !          16428: 
        !          16429: /*
        !          16430:  * Structure used to set up memory allocation traces.
        !          16431:  */
        !          16432: 
        !          16433: typedef struct {
        !          16434:     int                size;   /* Size of block to trace. */
        !          16435:     int                flags;  /* Flags defined below */
        !          16436: } Mem_TraceInfo;
        !          16437: 
        !          16438: /*
        !          16439:  * Flags to determine what type of tracing to do.
        !          16440:  *
        !          16441:  *     MEM_PRINT_TRACE         A trace record will be printed each time that
        !          16442:  *                             an object of this size is alloc'd or freed.
        !          16443:  *     MEM_STORE_TRACE         The number of blocks in use by each caller
        !          16444:  *                             up to a predefined maximum number of callers
        !          16445:  *                             is kept in a trace array .
        !          16446:  *     MEM_DONT_USE_ORIG_SIZE  Don't use the original size for tracing, but use
        !          16447:  *                             the modified size used by malloc.
        !          16448:  *     MEM_TRACE_NOT_INIT      The trace records stored for MEM_STORE_TRACE
        !          16449:  *                             have not been initialized yet.
        !          16450:  */
        !          16451: 
        !          16452: #define        MEM_PRINT_TRACE         0x1
        !          16453: #define        MEM_STORE_TRACE         0x2
        !          16454: #define        MEM_DONT_USE_ORIG_SIZE  0x4
        !          16455: #define        MEM_TRACE_NOT_INIT      0x8
        !          16456: 
        !          16457: extern int     mem_SmallMinNum;
        !          16458: extern int     mem_LargeMinNum;
        !          16459: extern int     mem_LargeMaxSize;
        !          16460: 
        !          16461: /*
        !          16462:  * Statistics counters;  only incremented when tracing is enabled.
        !          16463:  */
        !          16464: 
        !          16465: extern int     mem_NumAllocs;
        !          16466: extern int     mem_NumFrees;
        !          16467: 
        !          16468: /*
        !          16469:  *----------------------------------------------------------------
        !          16470:  * Additional integer math routines, plus structures for returning
        !          16471:  * results from them:
        !          16472:  *----------------------------------------------------------------
        !          16473:  */
        !          16474: 
        !          16475: typedef struct div_t {
        !          16476:     int quot;
        !          16477:     int rem;
        !          16478: } div_t;
        !          16479: 
        !          16480: typedef struct {
        !          16481:     long int quot;
        !          16482:     long int rem;
        !          16483: } ldiv_t;
        !          16484: 
        !          16485: extern int     abs();
        !          16486: extern div_t   div();
        !          16487: extern long int        labs();
        !          16488: extern ldiv_t  ldiv();
        !          16489: 
        !          16490: /*
        !          16491:  *-----------------------------------
        !          16492:  * Miscellaneous additional routines:
        !          16493:  *-----------------------------------
        !          16494:  */
        !          16495: 
        !          16496: extern void    abort();
        !          16497: extern int     atexit();
        !          16498: extern char *   bsearch();
        !          16499: extern                 exit();
        !          16500: extern char *  getenv();
        !          16501: extern void    qsort();
        !          16502: extern int     rand();
        !          16503: extern long    random();
        !          16504: extern void    setenv();
        !          16505: extern                 srand();
        !          16506: extern         srandom();
        !          16507: extern int     system();
        !          16508: 
        !          16509: #endif /* _STDLIB */
        !          16510: 0707070035050473301006660011710000040000010746320466276614200001300000021177tcl/list.h/*
        !          16511:  * list.h --
        !          16512:  *
        !          16513:  * Structures, macros, and routines exported by the List module.
        !          16514:  *
        !          16515:  * Copyright (C) 1985, 1988 Regents of the University of California
        !          16516:  * Permission to use, copy, modify, and distribute this
        !          16517:  * software and its documentation for any purpose and without
        !          16518:  * fee is hereby granted, provided that the above copyright
        !          16519:  * notice appear in all copies.  The University of California
        !          16520:  * makes no representations about the suitability of this
        !          16521:  * software for any purpose.  It is provided "as is" without
        !          16522:  * express or implied warranty.
        !          16523:  *
        !          16524:  * rcsid "$Header: /sprite/src/lib/include/RCS/list.h,v 1.3 89/06/23 11:29:49 rab Exp $ SPRITE (Berkeley)"
        !          16525:  */
        !          16526: 
        !          16527: #ifndef _LIST
        !          16528: #define _LIST
        !          16529: 
        !          16530: #ifndef _SPRITE
        !          16531: #include "sprite.h"
        !          16532: #endif
        !          16533: 
        !          16534: /*
        !          16535:  * This module defines the list abstraction, which enables one to link
        !          16536:  * together arbitrary data structures.  Lists are doubly-linked and
        !          16537:  * circular.  A list contains a header followed by its real members, if
        !          16538:  * any.  (An empty list therefore consists of a single element, the
        !          16539:  * header,  whose nextPtr and prevPtr fields point to itself).  To refer
        !          16540:  * to a list as a whole, the user keeps a pointer to the header; that
        !          16541:  * header is initialized by a call to List_Init(), which creates an empty
        !          16542:  * list given a pointer to a List_Links structure (described below).
        !          16543:  * 
        !          16544:  * The links are contained in a two-element structure called List_Links.
        !          16545:  * A list joins List_Links records (that is, each List_Links structure
        !          16546:  * points to other List_Links structures), but if the List_Links is the
        !          16547:  * first field within a larger structure, then the larger structures are
        !          16548:  * effectively linked together as follows:
        !          16549:  * 
        !          16550:  *           header
        !          16551:  *       (List_Links)             first elt.               second elt.
        !          16552:  *     -----------------       -----------------       ----------------- 
        !          16553:  * ..->        |    nextPtr    | ----> |  List_Links   | ----> |  List_Links   |----..
        !          16554:  *     | - - - - - - - |       |               |       |               | 
        !          16555:  * ..--        |    prevPtr    | <---- |               | <---- |               |<---..
        !          16556:  *     -----------------       - ---  ---  --- -       - ---  ---  --- -
        !          16557:  *                             |    rest of    |       |    rest of    | 
        !          16558:  *                             |   structure   |       |   structure   | 
        !          16559:  *                             |               |       |               |
        !          16560:  *                             |      ...      |       |      ...      | 
        !          16561:  *                             -----------------       ----------------- 
        !          16562:  * 
        !          16563:  * It is possible to link structures through List_Links fields that are
        !          16564:  * not at the beginning of the larger structure, but it is then necessary
        !          16565:  * to perform pointer arithmetic to find the beginning of the larger
        !          16566:  * structure, given a pointer to some point within it.
        !          16567:  * 
        !          16568:  * A typical structure might be something like:
        !          16569:  * 
        !          16570:  *      typedef struct {
        !          16571:  *                  List_Links links;
        !          16572:  *                  char ch;
        !          16573:  *                  integer flags;
        !          16574:  *      } EditChar;
        !          16575:  *  
        !          16576:  * Before an element is inserted in a list for the first time, it must
        !          16577:  * be initialized by calling the macro List_InitElement().
        !          16578:  */
        !          16579: 
        !          16580: 
        !          16581: /*
        !          16582:  * data structure for lists
        !          16583:  */
        !          16584: 
        !          16585: typedef struct List_Links {
        !          16586:     struct List_Links *prevPtr;
        !          16587:     struct List_Links *nextPtr;
        !          16588: } List_Links;
        !          16589: 
        !          16590: /*
        !          16591:  * procedures
        !          16592:  */
        !          16593: 
        !          16594: void   List_Init();    /* initialize a header to a list */
        !          16595: void    List_Insert();  /* insert an element into a list */
        !          16596: void    List_ListInsert();  /* insert a list into a list */
        !          16597: void   List_Remove();  /* remove an element from a list */
        !          16598: void   List_Move();    /* move an element elsewhere in a list */
        !          16599: 
        !          16600: /*
        !          16601:  * ----------------------------------------------------------------------------
        !          16602:  *
        !          16603:  * List_InitElement --
        !          16604:  *
        !          16605:  *      Initialize a list element.  Must be called before an element is first
        !          16606:  *     inserted into a list.
        !          16607:  *
        !          16608:  * ----------------------------------------------------------------------------
        !          16609:  */
        !          16610: #define List_InitElement(elementPtr) \
        !          16611:     (elementPtr)->prevPtr = (List_Links *) NIL; \
        !          16612:     (elementPtr)->nextPtr = (List_Links *) NIL;
        !          16613:     
        !          16614: /*
        !          16615:  * Macros for stepping through or selecting parts of lists
        !          16616:  */
        !          16617: 
        !          16618: /*
        !          16619:  * ----------------------------------------------------------------------------
        !          16620:  *
        !          16621:  * LIST_FORALL --
        !          16622:  *
        !          16623:  *      Macro to loop through a list and perform an operation on each member.
        !          16624:  *
        !          16625:  *      Usage: LIST_FORALL(headerPtr, itemPtr) {
        !          16626:  *                 / * 
        !          16627:  *                   * operation on itemPtr, which points to successive members
        !          16628:  *                   * of the list
        !          16629:  *                   * 
        !          16630:  *                   * It may be appropriate to first assign
        !          16631:  *                   *          foobarPtr = (Foobar *) itemPtr;
        !          16632:  *                   * to refer to the entire Foobar structure.
        !          16633:  *                   * /
        !          16634:  *             }
        !          16635:  *
        !          16636:  *      Note: itemPtr must be a List_Links pointer variable, and headerPtr
        !          16637:  *      must evaluate to a pointer to a List_Links structure.
        !          16638:  *
        !          16639:  * ----------------------------------------------------------------------------
        !          16640:  */
        !          16641: 
        !          16642: #define LIST_FORALL(headerPtr, itemPtr) \
        !          16643:         for (itemPtr = List_First(headerPtr); \
        !          16644:              !List_IsAtEnd((headerPtr),itemPtr); \
        !          16645:              itemPtr = List_Next(itemPtr))
        !          16646: 
        !          16647: /*
        !          16648:  * ----------------------------------------------------------------------------
        !          16649:  *
        !          16650:  * List_IsEmpty --
        !          16651:  *
        !          16652:  *      Macro: Boolean value, TRUE if the given list does not contain any
        !          16653:  *      members.
        !          16654:  *
        !          16655:  *      Usage: if (List_IsEmpty(headerPtr)) ...
        !          16656:  *
        !          16657:  * ----------------------------------------------------------------------------
        !          16658:  */
        !          16659: 
        !          16660: #define List_IsEmpty(headerPtr) \
        !          16661:         ((headerPtr) == (headerPtr)->nextPtr)
        !          16662: 
        !          16663: /*
        !          16664:  * ----------------------------------------------------------------------------
        !          16665:  *
        !          16666:  * List_IsAtEnd --
        !          16667:  *
        !          16668:  *      Macro: Boolean value, TRUE if itemPtr is after the end of headerPtr
        !          16669:  *      (i.e., itemPtr is the header of the list).
        !          16670:  *
        !          16671:  *      Usage: if (List_IsAtEnd(headerPtr, itemPtr)) ...
        !          16672:  *
        !          16673:  * ----------------------------------------------------------------------------
        !          16674:  */
        !          16675: 
        !          16676: 
        !          16677: #define List_IsAtEnd(headerPtr, itemPtr) \
        !          16678:         ((itemPtr) == (headerPtr))
        !          16679: 
        !          16680: 
        !          16681: /*
        !          16682:  * ----------------------------------------------------------------------------
        !          16683:  *
        !          16684:  * List_First --
        !          16685:  *
        !          16686:  *      Macro to return the first member in a list, which is the header if
        !          16687:  *      the list is empty.
        !          16688:  *
        !          16689:  *      Usage: firstPtr = List_First(headerPtr);
        !          16690:  *
        !          16691:  * ----------------------------------------------------------------------------
        !          16692:  */
        !          16693: 
        !          16694: #define List_First(headerPtr) ((headerPtr)->nextPtr)
        !          16695: 
        !          16696: /*
        !          16697:  * ----------------------------------------------------------------------------
        !          16698:  *
        !          16699:  * List_Last --
        !          16700:  *
        !          16701:  *      Macro to return the last member in a list, which is the header if
        !          16702:  *      the list is empty.
        !          16703:  *
        !          16704:  *      Usage: lastPtr = List_Last(headerPtr);
        !          16705:  *
        !          16706:  * ----------------------------------------------------------------------------
        !          16707:  */
        !          16708: 
        !          16709: #define List_Last(headerPtr) ((headerPtr)->prevPtr)
        !          16710: 
        !          16711: /*
        !          16712:  * ----------------------------------------------------------------------------
        !          16713:  *
        !          16714:  * List_Prev --
        !          16715:  *
        !          16716:  *      Macro to return the member preceding the given member in its list.
        !          16717:  *      If the given list member is the first element in the list, List_Prev
        !          16718:  *      returns the list header.
        !          16719:  *
        !          16720:  *      Usage: prevPtr = List_Prev(itemPtr);
        !          16721:  *
        !          16722:  * ----------------------------------------------------------------------------
        !          16723:  */
        !          16724: 
        !          16725: #define List_Prev(itemPtr) ((itemPtr)->prevPtr)
        !          16726: 
        !          16727: /*
        !          16728:  * ----------------------------------------------------------------------------
        !          16729:  *
        !          16730:  * List_Next --
        !          16731:  *
        !          16732:  *      Macro to return the member following the given member in its list.
        !          16733:  *      If the given list member is the last element in the list, List_Next
        !          16734:  *      returns the list header.
        !          16735:  *
        !          16736:  *      Usage: nextPtr = List_Next(itemPtr);
        !          16737:  *
        !          16738:  * ----------------------------------------------------------------------------
        !          16739:  */
        !          16740: 
        !          16741: #define List_Next(itemPtr) ((itemPtr)->nextPtr)
        !          16742: 
        !          16743: 
        !          16744: /*
        !          16745:  * ----------------------------------------------------------------------------
        !          16746:  *      The List_Insert procedure takes two arguments.  The first argument
        !          16747:  *      is a pointer to the structure to be inserted into a list, and
        !          16748:  *      the second argument is a pointer to the list member after which
        !          16749:  *      the new element is to be inserted.  Macros are used to determine
        !          16750:  *      which existing member will precede the new one.
        !          16751:  *
        !          16752:  *      The List_Move procedure takes a destination argument with the same
        !          16753:  *      semantics as List_Insert.
        !          16754:  *
        !          16755:  *      The following macros define where to insert the new element
        !          16756:  *      in the list:
        !          16757:  *
        !          16758:  *      LIST_AFTER(itemPtr)     --      insert after itemPtr
        !          16759:  *      LIST_BEFORE(itemPtr)    --      insert before itemPtr
        !          16760:  *      LIST_ATFRONT(headerPtr) --      insert at front of list
        !          16761:  *      LIST_ATREAR(headerPtr)  --      insert at end of list
        !          16762:  *
        !          16763:  *      For example, 
        !          16764:  *
        !          16765:  *              List_Insert(itemPtr, LIST_AFTER(otherPtr));
        !          16766:  *
        !          16767:  *      will insert itemPtr following otherPtr in the list containing otherPtr.
        !          16768:  * ----------------------------------------------------------------------------
        !          16769:  */
        !          16770: 
        !          16771: #define LIST_AFTER(itemPtr) ((List_Links *) itemPtr)
        !          16772: 
        !          16773: #define LIST_BEFORE(itemPtr) (((List_Links *) itemPtr)->prevPtr)
        !          16774: 
        !          16775: #define LIST_ATFRONT(headerPtr) ((List_Links *) headerPtr)
        !          16776: 
        !          16777: #define LIST_ATREAR(headerPtr) (((List_Links *) headerPtr)->prevPtr)
        !          16778: 
        !          16779: #endif /* _LIST */
        !          16780: 0707070035050473271006660011710000040000010746330466276614200001500000002374tcl/string.h/*
        !          16781:  * string.h --
        !          16782:  *
        !          16783:  *     Declarations of ANSI C library procedures for string handling.
        !          16784:  *
        !          16785:  * Copyright 1988 Regents of the University of California
        !          16786:  * Permission to use, copy, modify, and distribute this
        !          16787:  * software and its documentation for any purpose and without
        !          16788:  * fee is hereby granted, provided that the above copyright
        !          16789:  * notice appear in all copies.  The University of California
        !          16790:  * makes no representations about the suitability of this
        !          16791:  * software for any purpose.  It is provided "as is" without
        !          16792:  * express or implied warranty.
        !          16793:  *
        !          16794:  * $Header: /sprite/src/lib/include/RCS/string.h,v 1.5 89/03/22 16:03:43 rab Exp $ SPRITE (Berkeley)
        !          16795:  */
        !          16796: 
        !          16797: #ifndef _STRING
        !          16798: #define _STRING
        !          16799: 
        !          16800: extern char *  memchr();
        !          16801: extern int     memcmp();
        !          16802: extern char *  memcpy();
        !          16803: extern char *  memset();
        !          16804: 
        !          16805: extern char *  strcat();
        !          16806: extern char *  strchr();
        !          16807: extern int     strcmp();
        !          16808: extern char *  strcpy();
        !          16809: extern int     strcspn();
        !          16810: extern char *  strerror();
        !          16811: extern int     strlen();
        !          16812: extern char *  strncat();
        !          16813: extern int     strncmp();
        !          16814: extern char *  strncpy();
        !          16815: extern char *  strpbrk();
        !          16816: extern char *  strrchr();
        !          16817: extern int     strspn();
        !          16818: extern char *  strstr();
        !          16819: extern char *   strtok();
        !          16820: 
        !          16821: /*
        !          16822:  * Obsolete library procedures from BSD, supported for compatibility:
        !          16823:  */
        !          16824: 
        !          16825: extern char    *index();
        !          16826: extern char    *rindex();
        !          16827: 
        !          16828: #endif /* _STRING */
        !          16829: 0707070035050473261006660011710000040000010746350466276614200001700000012313tcl/strerror.c/* 
        !          16830:  * strerror.c --
        !          16831:  *
        !          16832:  *     Source code for the "strerror" library routine.
        !          16833:  *
        !          16834:  * Copyright 1988 Regents of the University of California
        !          16835:  * Permission to use, copy, modify, and distribute this
        !          16836:  * software and its documentation for any purpose and without
        !          16837:  * fee is hereby granted, provided that the above copyright
        !          16838:  * notice appear in all copies.  The University of California
        !          16839:  * makes no representations about the suitability of this
        !          16840:  * software for any purpose.  It is provided "as is" without
        !          16841:  * express or implied warranty.
        !          16842:  */
        !          16843: 
        !          16844: #ifndef lint
        !          16845: static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strerror.c,v 1.5 89/03/22 16:06:57 rab Exp Locker: shirriff $ SPRITE (Berkeley)";
        !          16846: #endif /* not lint */
        !          16847: 
        !          16848: #include <stdio.h>
        !          16849: #include <string.h>
        !          16850: 
        !          16851: /*
        !          16852:  * List of known errors:
        !          16853:  */
        !          16854: 
        !          16855: char *sys_errlist[] = {
        !          16856:     "no error (operation succeeded",           /* 0 */
        !          16857:     "not owner",                               /* EPERM */
        !          16858:     "no such file or directory",               /* ENOENT */
        !          16859:     "no such process",                         /* ESRCH */
        !          16860:     "interrupted system call",                 /* EINTR */
        !          16861:     "I/O error",                               /* EIO */
        !          16862:     "no such device or address",               /* ENXIO */
        !          16863:     "argument list too long",                  /* E2BIG */
        !          16864:     "exec format error",                       /* ENOEXEC */
        !          16865:     "bad file number",                         /* EBADF */
        !          16866:     "no children",                             /* ECHILD */
        !          16867:     "no more processes",                       /* EAGAIN */
        !          16868:     "not enough memory",                       /* ENOMEM */
        !          16869:     "permission denied",                       /* EACCESS */
        !          16870:     "bad address in system call argument",     /* EFAULT */
        !          16871:     "block device required",                   /* ENOTBLK */
        !          16872:     "mount device busy",                       /* EBUSY */
        !          16873:     "file already exists",                     /* EEXIST */
        !          16874:     "cross-domain link",                       /* EXDEV */
        !          16875:     "no such device",                          /* ENODEV */
        !          16876:     "not a directory",                         /* ENOTDIR */
        !          16877:     "illegal operation on a directory",                /* EISDIR */
        !          16878:     "invalid argument",                                /* EINVAL */
        !          16879:     "file table overflow",                     /* ENFILE */
        !          16880:     "too many open files",                     /* EMFILE */
        !          16881:     "inappropriate device for ioctl",          /* ENOTTY */
        !          16882:     "text file or pseudo-device busy",         /* ETXTBSY */
        !          16883:     "file too large",                          /* EFBIG */
        !          16884:     "no space left in file system domain",     /* ENOSPC */
        !          16885:     "illegal seek",                            /* ESPIPE */
        !          16886:     "read-only file system",                   /* EROFS */
        !          16887:     "too many links",                          /* EMLINK */
        !          16888:     "broken pipe",                             /* EPIPE */
        !          16889:     "math argument out of range",              /* EDOM */
        !          16890:     "math result unrepresentable",             /* ERANGE */
        !          16891:     "operation would block",                   /* EWOULDBLOCK */
        !          16892:     "operation now in progress",               /* EINPROGRESS */
        !          16893:     "operation already in progress",           /* EALREADY */
        !          16894:     "socket operation on non-socket",          /* ENOTSOCK */
        !          16895:     "destination address required",            /* EDESTADDRREQ */
        !          16896:     "message too long",                                /* EMSGSIZE */
        !          16897:     "protocol wrong type for socket",          /* EPROTOTYPE */
        !          16898:     "bad proocol option",                      /* ENOPROTOOPT */
        !          16899:     "protocol not suppored",                   /* EPROTONOSUPPORT */
        !          16900:     "socket type not supported",               /* ESOCKTNOSUPPORT */
        !          16901:     "operation not supported on socket",       /* EOPNOTSUPP */
        !          16902:     "protocol family not supported",           /* EPFNOSUPPORT */
        !          16903:     "address family not supported by protocol family", /* EAFNOSUPPORT */
        !          16904:     "address already in use",                  /* EADDRINUSE */
        !          16905:     "can't assign requested address",          /* EADDRNOTAVAIL */
        !          16906:     "network is down",                         /* ENETDOWN */
        !          16907:     "network is unreachable",                  /* ENETUNREACH */
        !          16908:     "network dropped connection on reset",     /* ENETRESET */
        !          16909:     "software caused connection abort",                /* ECONNABORTED */
        !          16910:     "connection reset by peer",                        /* ECONNRESET */
        !          16911:     "no buffer space available",               /* ENOBUFS */
        !          16912:     "socket is already connected",             /* EISCONN */
        !          16913:     "socket is not connected",                 /* ENOTCONN */
        !          16914:     "can't send afer socket shutdown",         /* ESHUTDOWN */
        !          16915:     "undefined error (59)",                    /* not used */
        !          16916:     "connection timed out",                    /* ETIMEDOUT */
        !          16917:     "connection refused",                      /* ECONNREFUSED */
        !          16918:     "too many levels of symbolic links",       /* ELOOP */
        !          16919:     "file name too long",                      /* ENAMETOOLONG */
        !          16920:     "host is down",                            /* EHOSTDOWN */
        !          16921:     "host is unreachable",                     /* EHOSTUNREACH */
        !          16922:     "directory not empty",                     /* ENOTEMPTY */
        !          16923:     "too many processes",                      /* EPROCLIM */
        !          16924:     "too many users",                          /* EUSERS */
        !          16925:     "disk quota exceeded",                     /* EDQUOT */
        !          16926:     "stale remote file handle",                        /* ESTALE */
        !          16927:     "pathname hit remote file system",         /* EREMOTE */
        !          16928:     "undefined error (72)",                    /* not used */
        !          16929:     "undefined error (73)",                    /* not used */
        !          16930:     "undefined error (74)",                    /* not used */
        !          16931:     "undefined error (75)",                    /* not used */
        !          16932:     "undefined error (76)",                    /* not used */
        !          16933:     "identifier removed",                      /* EIDRM */
        !          16934: };
        !          16935: int sys_nerr = sizeof(sys_errlist)/sizeof(char *);
        !          16936: 
        !          16937: /*
        !          16938:  *----------------------------------------------------------------------
        !          16939:  *
        !          16940:  * strerror --
        !          16941:  *
        !          16942:  *     Map an integer error number into a printable string.
        !          16943:  *
        !          16944:  * Results:
        !          16945:  *     The return value is a pointer to a string describing
        !          16946:  *     error.  The first character of string isn't capitalized.
        !          16947:  *
        !          16948:  * Side effects:
        !          16949:  *     Each call to this procedure may overwrite the value returned
        !          16950:  *     by the previous call.
        !          16951:  *
        !          16952:  *----------------------------------------------------------------------
        !          16953:  */
        !          16954: 
        !          16955: char *
        !          16956: strerror(error)
        !          16957:     int error;                 /* Integer identifying error (must be
        !          16958:                                 * one of the officially-defined Sprite
        !          16959:                                 * errors, as defined in errno.h). */
        !          16960: {
        !          16961:     static char defaultMsg[50];
        !          16962: 
        !          16963:     if ((error <= sys_nerr) && (error > 0)) {
        !          16964:        return sys_errlist[error];
        !          16965:     }
        !          16966:     (void) sprintf(defaultMsg, "unknown error (%d)", error);
        !          16967:     return defaultMsg;
        !          16968: }
        !          16969: 0707070035050473251006660011710000040000010746400466276614200001500000002701tcl/strspn.c/* 
        !          16970:  * strspn.c --
        !          16971:  *
        !          16972:  *     Source code for the "strspn" library routine.
        !          16973:  *
        !          16974:  * Copyright 1988 Regents of the University of California
        !          16975:  * Permission to use, copy, modify, and distribute this
        !          16976:  * software and its documentation for any purpose and without
        !          16977:  * fee is hereby granted, provided that the above copyright
        !          16978:  * notice appear in all copies.  The University of California
        !          16979:  * makes no representations about the suitability of this
        !          16980:  * software for any purpose.  It is provided "as is" without
        !          16981:  * express or implied warranty.
        !          16982:  */
        !          16983: 
        !          16984: #ifndef lint
        !          16985: static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strspn.c,v 1.2 89/03/22 16:07:53 rab Exp $ SPRITE (Berkeley)";
        !          16986: #endif /* not lint */
        !          16987: 
        !          16988: #include <string.h>
        !          16989: 
        !          16990: /*
        !          16991:  *----------------------------------------------------------------------
        !          16992:  *
        !          16993:  * strspn --
        !          16994:  *
        !          16995:  *     Compute the length of the maximum initial segment of "string"
        !          16996:  *     whose characters all are in "chars".
        !          16997:  *
        !          16998:  * Results:
        !          16999:  *     The return value is the length of the initial segment (0 if the
        !          17000:  *     first character isn't in "chars".
        !          17001:  *
        !          17002:  * Side effects:
        !          17003:  *     None.
        !          17004:  *
        !          17005:  *----------------------------------------------------------------------
        !          17006:  */
        !          17007: 
        !          17008: int
        !          17009: strspn(string, chars)
        !          17010:     char *string;                      /* String to search. */
        !          17011:     char *chars;                       /* Characters to look for in string. */
        !          17012: {
        !          17013:     register char c, *p, *s;
        !          17014: 
        !          17015:     for (s = string, c = *s; c != 0; s++, c = *s) {
        !          17016:        for (p = chars; *p != 0; p++) {
        !          17017:            if (c == *p) {
        !          17018:                goto next;
        !          17019:            }
        !          17020:        }
        !          17021:        break;
        !          17022:        next: ;
        !          17023:     }
        !          17024:     return s-string;
        !          17025: }
        !          17026: 0707070035050473241006660011710000040000010746410466276614200001600000002705tcl/strpbrk.c/* 
        !          17027:  * strpbrk.c --
        !          17028:  *
        !          17029:  *     Source code for the "strpbrk" library routine.
        !          17030:  *
        !          17031:  * Copyright 1988 Regents of the University of California
        !          17032:  * Permission to use, copy, modify, and distribute this
        !          17033:  * software and its documentation for any purpose and without
        !          17034:  * fee is hereby granted, provided that the above copyright
        !          17035:  * notice appear in all copies.  The University of California
        !          17036:  * makes no representations about the suitability of this
        !          17037:  * software for any purpose.  It is provided "as is" without
        !          17038:  * express or implied warranty.
        !          17039:  */
        !          17040: 
        !          17041: #ifndef lint
        !          17042: static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strpbrk.c,v 1.2 89/03/22 16:07:46 rab Exp $ SPRITE (Berkeley)";
        !          17043: #endif /* not lint */
        !          17044: 
        !          17045: #include <string.h>
        !          17046: 
        !          17047: /*
        !          17048:  *----------------------------------------------------------------------
        !          17049:  *
        !          17050:  * strpbrk --
        !          17051:  *
        !          17052:  *     Search a string for a character from a given set.
        !          17053:  *
        !          17054:  * Results:
        !          17055:  *     The return value is the address of the first character
        !          17056:  *     in "string" that is also a character in "chars".  If there
        !          17057:  *     is no such character, then 0 is returned.
        !          17058:  *
        !          17059:  * Side effects:
        !          17060:  *     None.
        !          17061:  *
        !          17062:  *----------------------------------------------------------------------
        !          17063:  */
        !          17064: 
        !          17065: char *
        !          17066: strpbrk(string, chars)
        !          17067:     register char *string;             /* String to search. */
        !          17068:     char *chars;                       /* Characters to look for in string. */
        !          17069: {
        !          17070:     register char c, *p;
        !          17071: 
        !          17072:     for (c = *string; c != 0; string++, c = *string) {
        !          17073:        for (p = chars; *p != 0; p++) {
        !          17074:            if (c == *p) {
        !          17075:                return string;
        !          17076:            }
        !          17077:        }
        !          17078:     }
        !          17079:     return 0;
        !          17080: }
        !          17081: 0707070035050473231006660011710000040000010746420466276614300001500000002525tcl/strchr.c/* 
        !          17082:  * strchr.c --
        !          17083:  *
        !          17084:  *     Source code for the "strchr" library routine.
        !          17085:  *
        !          17086:  * Copyright 1988 Regents of the University of California
        !          17087:  * Permission to use, copy, modify, and distribute this
        !          17088:  * software and its documentation for any purpose and without
        !          17089:  * fee is hereby granted, provided that the above copyright
        !          17090:  * notice appear in all copies.  The University of California
        !          17091:  * makes no representations about the suitability of this
        !          17092:  * software for any purpose.  It is provided "as is" without
        !          17093:  * express or implied warranty.
        !          17094:  */
        !          17095: 
        !          17096: #ifndef lint
        !          17097: static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strchr.c,v 1.2 89/03/22 16:06:40 rab Exp $ SPRITE (Berkeley)";
        !          17098: #endif /* not lint */
        !          17099: 
        !          17100: #include <string.h>
        !          17101: 
        !          17102: /*
        !          17103:  *----------------------------------------------------------------------
        !          17104:  *
        !          17105:  * strchr --
        !          17106:  *
        !          17107:  *     Locate the first appearance of a character in a string.
        !          17108:  *
        !          17109:  * Results:
        !          17110:  *     The return value is the address of the first appearance
        !          17111:  *     in string of c.  If c doesn't appear in string then 0
        !          17112:  *     is returned.
        !          17113:  *
        !          17114:  * Side effects:
        !          17115:  *     None.
        !          17116:  *
        !          17117:  *----------------------------------------------------------------------
        !          17118:  */
        !          17119: 
        !          17120: char *
        !          17121: strchr(string, c)
        !          17122:     register char *string;             /* String to search. */
        !          17123:     register char c;                   /* Desired character. */
        !          17124: {
        !          17125:     while (1) {
        !          17126:        if (*string == c) {
        !          17127:            return string;
        !          17128:        }
        !          17129:        if (*string++ == 0) {
        !          17130:            return (char *) 0;
        !          17131:        }
        !          17132:     }
        !          17133: }
        !          17134: 0707070035050471741006660011710000040000010746430466276614300001500000004352tcl/strtol.c/* 
        !          17135:  * strtol.c --
        !          17136:  *
        !          17137:  *     Source code for the "strtol" library procedure.
        !          17138:  *
        !          17139:  * Copyright 1988 Regents of the University of California
        !          17140:  * Permission to use, copy, modify, and distribute this
        !          17141:  * software and its documentation for any purpose and without
        !          17142:  * fee is hereby granted, provided that the above copyright
        !          17143:  * notice appear in all copies.  The University of California
        !          17144:  * makes no representations about the suitability of this
        !          17145:  * software for any purpose.  It is provided "as is" without
        !          17146:  * express or implied warranty.
        !          17147:  */
        !          17148: 
        !          17149: #ifndef lint
        !          17150: static char rcsid[] = "$Header: /sprite/src/lib/c/stdlib/RCS/strtol.c,v 1.4 89/03/22 00:47:30 rab Exp $ SPRITE (Berkeley)";
        !          17151: #endif /* not lint */
        !          17152: 
        !          17153: #include <stdlib.h>
        !          17154: #include <ctype.h>
        !          17155: 
        !          17156: 
        !          17157: /*
        !          17158:  *----------------------------------------------------------------------
        !          17159:  *
        !          17160:  * strtol --
        !          17161:  *
        !          17162:  *     Convert an ASCII string into an integer.
        !          17163:  *
        !          17164:  * Results:
        !          17165:  *     The return value is the integer equivalent of string.  If endPtr
        !          17166:  *     is non-NULL, then *endPtr is filled in with the character
        !          17167:  *     after the last one that was part of the integer.  If string
        !          17168:  *     doesn't contain a valid integer value, then zero is returned
        !          17169:  *     and *endPtr is set to string.
        !          17170:  *
        !          17171:  * Side effects:
        !          17172:  *     None.
        !          17173:  *
        !          17174:  *----------------------------------------------------------------------
        !          17175:  */
        !          17176: 
        !          17177: long int
        !          17178: strtol(string, endPtr, base)
        !          17179:     char *string;              /* String of ASCII digits, possibly
        !          17180:                                 * preceded by white space.  For bases
        !          17181:                                 * greater than 10, either lower- or
        !          17182:                                 * upper-case digits may be used.
        !          17183:                                 */
        !          17184:     char **endPtr;             /* Where to store address of terminating
        !          17185:                                 * character, or NULL. */
        !          17186:     int base;                  /* Base for conversion.  Must be less
        !          17187:                                 * than 37.  If 0, then the base is chosen
        !          17188:                                 * from the leading characters of string:
        !          17189:                                 * "0x" means hex, "0" means octal, anything
        !          17190:                                 * else means decimal.
        !          17191:                                 */
        !          17192: {
        !          17193:     register char *p;
        !          17194:     int result;
        !          17195: 
        !          17196:     /*
        !          17197:      * Skip any leading blanks.
        !          17198:      */
        !          17199: 
        !          17200:     p = string;
        !          17201:     while (isspace(*p)) {
        !          17202:        p += 1;
        !          17203:     }
        !          17204: 
        !          17205:     /*
        !          17206:      * Check for a sign.
        !          17207:      */
        !          17208: 
        !          17209:     if (*p == '-') {
        !          17210:        p += 1;
        !          17211:        result = -(strtoul(p, endPtr, base));
        !          17212:     } else {
        !          17213:        if (*p == '+') {
        !          17214:            p += 1;
        !          17215:        }
        !          17216:        result = strtoul(p, endPtr, base);
        !          17217:     }
        !          17218:     if ((result == 0) && (endPtr != 0) && (*endPtr == p)) {
        !          17219:        *endPtr = string;
        !          17220:     }
        !          17221:     return result;
        !          17222: }
        !          17223: 0707070035050471731006660011710000040000010746440466276614300001500000003567tcl/strstr.c/* 
        !          17224:  * strstr.c --
        !          17225:  *
        !          17226:  *     Source code for the "strstr" library routine.
        !          17227:  *
        !          17228:  * Copyright 1988 Regents of the University of California
        !          17229:  * Permission to use, copy, modify, and distribute this
        !          17230:  * software and its documentation for any purpose and without
        !          17231:  * fee is hereby granted, provided that the above copyright
        !          17232:  * notice appear in all copies.  The University of California
        !          17233:  * makes no representations about the suitability of this
        !          17234:  * software for any purpose.  It is provided "as is" without
        !          17235:  * express or implied warranty.
        !          17236:  */
        !          17237: 
        !          17238: #ifndef lint
        !          17239: static char rcsid[] = "$Header: /sprite/src/lib/c/string/RCS/strstr.c,v 1.2 89/03/22 16:07:57 rab Exp $ SPRITE (Berkeley)";
        !          17240: #endif /* not lint */
        !          17241: 
        !          17242: /*
        !          17243:  *----------------------------------------------------------------------
        !          17244:  *
        !          17245:  * strstr --
        !          17246:  *
        !          17247:  *     Locate the first instance of a substring in a string.
        !          17248:  *
        !          17249:  * Results:
        !          17250:  *     If string contains substring, the return value is the
        !          17251:  *     location of the first matching instance of substring
        !          17252:  *     in string.  If string doesn't contain substring, the
        !          17253:  *     return value is 0.  Matching is done on an exact
        !          17254:  *     character-for-character basis with no wildcards or special
        !          17255:  *     characters.
        !          17256:  *
        !          17257:  * Side effects:
        !          17258:  *     None.
        !          17259:  *
        !          17260:  *----------------------------------------------------------------------
        !          17261:  */
        !          17262: 
        !          17263: char *
        !          17264: strstr(string, substring)
        !          17265:     register char *string;     /* String to search. */
        !          17266:     char *substring;           /* Substring to try to find in string. */
        !          17267: {
        !          17268:     register char *a, *b;
        !          17269: 
        !          17270:     /* First scan quickly through the two strings looking for a
        !          17271:      * single-character match.  When it's found, then compare the
        !          17272:      * rest of the substring.
        !          17273:      */
        !          17274: 
        !          17275:     b = substring;
        !          17276:     if (*b == 0) {
        !          17277:        return string;
        !          17278:     }
        !          17279:     for ( ; *string != 0; string += 1) {
        !          17280:        if (*string != *b) {
        !          17281:            continue;
        !          17282:        }
        !          17283:        a = string;
        !          17284:        while (1) {
        !          17285:            if (*b == 0) {
        !          17286:                return string;
        !          17287:            }
        !          17288:            if (*a++ != *b++) {
        !          17289:                break;
        !          17290:            }
        !          17291:        }
        !          17292:        b = substring;
        !          17293:     }
        !          17294:     return (char *) 0;
        !          17295: }
        !          17296: 0707070035050471721006660011710000040000010746450466276614300001600000010427tcl/strtoul.c/* 
        !          17297:  * strtoul.c --
        !          17298:  *
        !          17299:  *     Source code for the "strtoul" library procedure.
        !          17300:  *
        !          17301:  * Copyright 1988 Regents of the University of California
        !          17302:  * Permission to use, copy, modify, and distribute this
        !          17303:  * software and its documentation for any purpose and without
        !          17304:  * fee is hereby granted, provided that the above copyright
        !          17305:  * notice appear in all copies.  The University of California
        !          17306:  * makes no representations about the suitability of this
        !          17307:  * software for any purpose.  It is provided "as is" without
        !          17308:  * express or implied warranty.
        !          17309:  */
        !          17310: 
        !          17311: #ifndef lint
        !          17312: static char rcsid[] = "$Header: /sprite/src/lib/c/stdlib/RCS/strtoul.c,v 1.2 89/03/22 00:47:33 rab Exp $ SPRITE (Berkeley)";
        !          17313: #endif /* not lint */
        !          17314: 
        !          17315: #include <sprite.h>
        !          17316: #include <stdlib.h>
        !          17317: #include <ctype.h>
        !          17318: 
        !          17319: /*
        !          17320:  * The table below is used to convert from ASCII digits to a
        !          17321:  * numerical equivalent.  It maps from '0' through 'z' to integers
        !          17322:  * (100 for non-digit characters).
        !          17323:  */
        !          17324: 
        !          17325: static char cvtIn[] = {
        !          17326:     0, 1, 2, 3, 4, 5, 6, 7, 8, 9,              /* '0' - '9' */
        !          17327:     100, 100, 100, 100, 100, 100, 100,         /* punctuation */
        !          17328:     10, 11, 12, 13, 14, 15, 16, 17, 18, 19,    /* 'A' - 'Z' */
        !          17329:     20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
        !          17330:     30, 31, 32, 33, 34, 35,
        !          17331:     100, 100, 100, 100, 100, 100,              /* punctuation */
        !          17332:     10, 11, 12, 13, 14, 15, 16, 17, 18, 19,    /* 'a' - 'z' */
        !          17333:     20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
        !          17334:     30, 31, 32, 33, 34, 35};
        !          17335: 
        !          17336: /*
        !          17337:  *----------------------------------------------------------------------
        !          17338:  *
        !          17339:  * strtoul --
        !          17340:  *
        !          17341:  *     Convert an ASCII string into an integer.
        !          17342:  *
        !          17343:  * Results:
        !          17344:  *     The return value is the integer equivalent of string.  If endPtr
        !          17345:  *     is non-NULL, then *endPtr is filled in with the character
        !          17346:  *     after the last one that was part of the integer.  If string
        !          17347:  *     doesn't contain a valid integer value, then zero is returned
        !          17348:  *     and *endPtr is set to string.
        !          17349:  *
        !          17350:  * Side effects:
        !          17351:  *     None.
        !          17352:  *
        !          17353:  *----------------------------------------------------------------------
        !          17354:  */
        !          17355: 
        !          17356: unsigned long int
        !          17357: strtoul(string, endPtr, base)
        !          17358:     char *string;              /* String of ASCII digits, possibly
        !          17359:                                 * preceded by white space.  For bases
        !          17360:                                 * greater than 10, either lower- or
        !          17361:                                 * upper-case digits may be used.
        !          17362:                                 */
        !          17363:     char **endPtr;             /* Where to store address of terminating
        !          17364:                                 * character, or NULL. */
        !          17365:     int base;                  /* Base for conversion.  Must be less
        !          17366:                                 * than 37.  If 0, then the base is chosen
        !          17367:                                 * from the leading characters of string:
        !          17368:                                 * "0x" means hex, "0" means octal, anything
        !          17369:                                 * else means decimal.
        !          17370:                                 */
        !          17371: {
        !          17372:     register char *p;
        !          17373:     register unsigned long int result = 0;
        !          17374:     register unsigned digit;
        !          17375:     int anyDigits = FALSE;
        !          17376: 
        !          17377:     /*
        !          17378:      * Skip any leading blanks.
        !          17379:      */
        !          17380: 
        !          17381:     p = string;
        !          17382:     while (isspace(*p)) {
        !          17383:        p += 1;
        !          17384:     }
        !          17385: 
        !          17386:     /*
        !          17387:      * If no base was provided, pick one from the leading characters
        !          17388:      * of the string.
        !          17389:      */
        !          17390:     
        !          17391:     if (base == 0)
        !          17392:     {
        !          17393:        if (*p == '0') {
        !          17394:            p += 1;
        !          17395:            if (*p == 'x') {
        !          17396:                p += 1;
        !          17397:                base = 16;
        !          17398:            } else {
        !          17399: 
        !          17400:                /*
        !          17401:                 * Must set anyDigits here, otherwise "0" produces a
        !          17402:                 * "no digits" error.
        !          17403:                 */
        !          17404: 
        !          17405:                anyDigits = TRUE;
        !          17406:                base = 8;
        !          17407:            }
        !          17408:        }
        !          17409:        else base = 10;
        !          17410:     } else if (base == 16) {
        !          17411: 
        !          17412:        /*
        !          17413:         * Skip a leading "0x" from hex numbers.
        !          17414:         */
        !          17415: 
        !          17416:        if ((p[0] == '0') && (p[1] == 'x')) {
        !          17417:            p += 2;
        !          17418:        }
        !          17419:     }
        !          17420: 
        !          17421:     /*
        !          17422:      * Sorry this code is so messy, but speed seems important.  Do
        !          17423:      * different things for base 8, 10, 16, and other.
        !          17424:      */
        !          17425: 
        !          17426:     if (base == 8) {
        !          17427:        for ( ; ; p += 1) {
        !          17428:            digit = *p - '0';
        !          17429:            if (digit > 7) {
        !          17430:                break;
        !          17431:            }
        !          17432:            result = (result << 3) + digit;
        !          17433:            anyDigits = TRUE;
        !          17434:        }
        !          17435:     } else if (base == 10) {
        !          17436:        for ( ; ; p += 1) {
        !          17437:            digit = *p - '0';
        !          17438:            if (digit > 9) {
        !          17439:                break;
        !          17440:            }
        !          17441:            result = (10*result) + digit;
        !          17442:            anyDigits = TRUE;
        !          17443:        }
        !          17444:     } else if (base == 16) {
        !          17445:        for ( ; ; p += 1) {
        !          17446:            digit = *p - '0';
        !          17447:            if (digit > ('z' - '0')) {
        !          17448:                break;
        !          17449:            }
        !          17450:            digit = cvtIn[digit];
        !          17451:            if (digit > 15) {
        !          17452:                break;
        !          17453:            }
        !          17454:            result = (result << 4) + digit;
        !          17455:            anyDigits = TRUE;
        !          17456:        }
        !          17457:     } else {
        !          17458:        for ( ; ; p += 1) {
        !          17459:            digit = *p - '0';
        !          17460:            if (digit > ('z' - '0')) {
        !          17461:                break;
        !          17462:            }
        !          17463:            digit = cvtIn[digit];
        !          17464:            if (digit >= base) {
        !          17465:                break;
        !          17466:            }
        !          17467:            result = result*base + digit;
        !          17468:            anyDigits = TRUE;
        !          17469:        }
        !          17470:     }
        !          17471: 
        !          17472:     /*
        !          17473:      * See if there were any digits at all.
        !          17474:      */
        !          17475: 
        !          17476:     if (!anyDigits) {
        !          17477:        p = string;
        !          17478:     }
        !          17479: 
        !          17480:     if (endPtr != NULL) {
        !          17481:        *endPtr = p;
        !          17482:     }
        !          17483: 
        !          17484:     return result;
        !          17485: }
        !          17486: 0707070035050467531006660011710000040000010746460466276614300001400000003036tcl/panic.c/* 
        !          17487:  * panic.c --
        !          17488:  *
        !          17489:  *     Source code for the "panic" library procedure.
        !          17490:  *
        !          17491:  * Copyright 1988 Regents of the University of California
        !          17492:  * Permission to use, copy, modify, and distribute this
        !          17493:  * software and its documentation for any purpose and without
        !          17494:  * fee is hereby granted, provided that the above copyright
        !          17495:  * notice appear in all copies.  The University of California
        !          17496:  * makes no representations about the suitability of this
        !          17497:  * software for any purpose.  It is provided "as is" without
        !          17498:  * express or implied warranty.
        !          17499:  */
        !          17500: 
        !          17501: #ifndef lint
        !          17502: static char rcsid[] = "$Header: /sprite/src/lib/c/etc/RCS/panic.c,v 1.7 89/04/12 12:43:02 ouster Exp $ SPRITE (Berkeley)";
        !          17503: #endif not lint
        !          17504: 
        !          17505: #include <stdio.h>
        !          17506: #include <stdlib.h>
        !          17507: #include <varargs.h>
        !          17508: 
        !          17509: /*
        !          17510:  *----------------------------------------------------------------------
        !          17511:  *
        !          17512:  * panic --
        !          17513:  *
        !          17514:  *     Print an error message and kill the process.
        !          17515:  *
        !          17516:  * Results:
        !          17517:  *     None.
        !          17518:  *
        !          17519:  * Side effects:
        !          17520:  *     The process dies, entering the debugger if possible.
        !          17521:  *
        !          17522:  *----------------------------------------------------------------------
        !          17523:  */
        !          17524: 
        !          17525: #ifndef lint
        !          17526: void
        !          17527: panic(va_alist)
        !          17528:     va_dcl                     /* char *format, then any number of additional
        !          17529:                                 * values to be printed under the control of
        !          17530:                                 * format.  This is all just the same as you'd
        !          17531:                                 * pass to printf. */
        !          17532: {
        !          17533:     char *format;
        !          17534:     va_list args;
        !          17535: 
        !          17536:     va_start(args);
        !          17537:     format = va_arg(args, char *);
        !          17538:     (void) vfprintf(stderr, format, args);
        !          17539:     (void) fflush(stderr);
        !          17540:     abort();
        !          17541: }
        !          17542: #else
        !          17543: /* VARARGS1 */
        !          17544: /* ARGSUSED */
        !          17545: void
        !          17546: panic(format)
        !          17547:     char *format;
        !          17548: {
        !          17549:     return;
        !          17550: }
        !          17551: #endif lint
        !          17552: 0707070035050467471006640011710000040000010746500466276614300001400000005415tcl/changesRecent user-visible changes to Tcl:
        !          17553: 
        !          17554: 1. No more [command1] [command2] construct for grouping multiple
        !          17555: commands on a single command line.
        !          17556: 
        !          17557: 2. Semi-colon now available for grouping commands on a line.
        !          17558: 
        !          17559: 3. For a command to span multiple lines, must now use backslash-return
        !          17560: at the end of each line but the last.
        !          17561: 
        !          17562: 4. "Var" command has been changed to "set".
        !          17563: 
        !          17564: 5. Double-quotes now available as an argument grouping character.
        !          17565: 
        !          17566: 6. "Return" may be used at top-level.
        !          17567: 
        !          17568: 7. More backslash sequences available now.  In particular, backslash-newline
        !          17569: may be used to join lines in command files.
        !          17570: 
        !          17571: 8. New or modified built-in commands:  case, return, for, glob, info,
        !          17572: print, return, set, source, string, uplevel.
        !          17573: 
        !          17574: 9. After an error, the variable "errorInfo" is filled with a stack
        !          17575: trace showing what was being executed when the error occurred.
        !          17576: 
        !          17577: 10. Command abbreviations are accepted when parsing commands, but
        !          17578: are not recommended except for purely-interactive commands.
        !          17579: 
        !          17580: 11. $, set, and expr all complain now if a non-existent variable is
        !          17581: referenced.
        !          17582: 
        !          17583: 12. History facilities exist now.  See Tcl.man and Tcl_RecordAndEval.man.
        !          17584: 
        !          17585: 13. Changed to distinguish between empty variables and those that don't
        !          17586: exist at all.  Interfaces to Tcl_GetVar and Tcl_ParseVar have changed
        !          17587: (NULL return value is now possible).  *** POTENTIAL INCOMPATIBILITY ***
        !          17588: 
        !          17589: 14. Changed meaning of "level" argument to "uplevel" command (1 now means
        !          17590: "go up one level", not "go to level 1"; "#1" means "go to level 1").
        !          17591: *** POTENTIAL INCOMPATIBILITY ***
        !          17592: 
        !          17593: 15. 3/19/90 Added "info exists" option to see if variable exists.
        !          17594: 
        !          17595: 16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.
        !          17596: 
        !          17597: 17. 3/19/90 Added extra errorInfo option to "error" command.
        !          17598: 
        !          17599: 18. 3/21/90 Double-quotes now only affect space:  command, variable,
        !          17600: and backslash substitutions still occur inside double-quotes.
        !          17601: *** POTENTIAL INCOMPATIBILITY ***
        !          17602: 
        !          17603: 19. 3/21/90 Added support for \r.
        !          17604: 
        !          17605: 20. 3/21/90 List, concat, eval, and glob commands all expect at least
        !          17606: one argument now.  *** POTENTIAL INCOMPATIBILITY ***
        !          17607: 
        !          17608: 21. 3/22/90 Added "?:" operators to expressions.
        !          17609: 
        !          17610: 22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.
        !          17611: 
        !          17612: ------------------- Released version 3.1 ---------------------
        !          17613: 
        !          17614: 23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".
        !          17615: 
        !          17616: 24. 3/29/90 Semi-colon is not treated specially when enclosed in
        !          17617: double-quotes.
        !          17618: 
        !          17619: ------------------- Released version 3.2 ---------------------
        !          17620: 
        !          17621: 25. 4/16/90 Rewrote "exec" not to use select or signals anymore.
        !          17622: Should be more Sys-V compatible, and no slower in the normal case.
        !          17623: 
        !          17624: 26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code
        !          17625: left in Tcl, now), and added Tcl_TildeSubst procedure.  Added automatic
        !          17626: tilde-substitution in many commands, including "glob".
        !          17627: 
        !          17628: ------------------- Released version 3.3 ---------------------
        !          17629: 0707070035050467411004440011710000040000010746510466276614300001300000004454tcl/READMETcl
        !          17630: 
        !          17631: by John Ousterhout
        !          17632: University of California at Berkeley
        !          17633: 
        !          17634: This directory contains the sources for Tcl, an embeddable tool command
        !          17635: language.  For an introduction to the facilities provided by Tcl, see
        !          17636: the paper ``Tcl:  An Embeddable Command Language'', in the Proceedings
        !          17637: of the 1990 Winter USENIX Conference.  A copy of that paper is included
        !          17638: in this directory in Postcript form:  it's in the file "usenix.ps".
        !          17639: 
        !          17640: This file assumes that you have received a Tcl distribution and are going
        !          17641: to use Tcl on a UNIX system;  if you're running under Sprite at Berkeley,
        !          17642: then some of the notes here may be incorrect.
        !          17643: 
        !          17644: The documentation for Tcl is present in this directory as a set of
        !          17645: files with ".man" extensions.  The file "Tcl.man" gives an overall
        !          17646: description of the Tcl language and facilities, and the other ".man
        !          17647: files describe the library procedures that Tcl provides for tools to use.
        !          17648: Read the "Tcl" man page first.  To print any of the man pages, use a
        !          17649: command like
        !          17650: 
        !          17651:                ditroff <file>
        !          17652: 
        !          17653: where <page> is the name of the man page you'd like to print.  Don't
        !          17654: specifiy any macros.
        !          17655: 
        !          17656: Type "make" to generate the Tcl library, and type "make tclTest" to
        !          17657: create a simple test program that you can use to try out the Tcl facilities.
        !          17658: TclTest is just a main-program sandwich around the Tcl library.  It reads
        !          17659: standard input until it reaches the end of a line where parentheses and
        !          17660: backslashes are balanced, then sends everything it's read to the Tcl
        !          17661: interpreter.  When the Tcl interpreter returns, tclTest prints the return
        !          17662: value or error message.  TclTest defines a few other additional commands
        !          17663: most notably:
        !          17664: 
        !          17665:                echo arg arg ...
        !          17666: 
        !          17667: The "echo" command prints its arguments on standard output, separated by
        !          17668: spaces.
        !          17669: 
        !          17670: There is a test suite for Tcl in the subdirectory "tests".  Read the
        !          17671: README file in that directory for more information on how to use it.
        !          17672: 
        !          17673: The file "changes" describes recent changes that have been made to Tcl.
        !          17674: If this isn't your first Tcl release, you should probably look through
        !          17675: "changes" to see what's changed.  If the major release number has changed,
        !          17676: i.e. from 2.x to 3.x, it means that there have been changes that aren't
        !          17677: backward-compatible.
        !          17678: 
        !          17679: I can't promise to provide a lot of help to people trying to use Tcl, but
        !          17680: I am interested in hearing about bugs or suggestions for improvements.
        !          17681: Send them to me at "[email protected]".
        !          17682: 0707070035050467401004440011710000040000010746520466276614400001400000173100tcl/Tcl.man'\" Copyright 1989 Regents of the University of California
        !          17683: '\" Permission to use, copy, modify, and distribute this
        !          17684: '\" documentation for any purpose and without fee is hereby
        !          17685: '\" granted, provided that this notice appears in all copies.
        !          17686: '\" The University of California makes no representations about
        !          17687: '\" the suitability of this material for any purpose.  It is
        !          17688: '\" provided "as is" without express or implied warranty.
        !          17689: '\" 
        !          17690: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl.man,v 1.29 90/04/18 17:19:18 ouster Exp $ SPRITE (Berkeley)
        !          17691: '
        !          17692: .so \*(]ltmac.sprite
        !          17693: .de UL
        !          17694: \\$1\l'|0\(ul'\\$2
        !          17695: ..
        !          17696: .HS Tcl tcl
        !          17697: .BS
        !          17698: .SH NAME
        !          17699: Tcl \- overview of tool command language facilities
        !          17700: .BE
        !          17701: 
        !          17702: .SH INTRODUCTION
        !          17703: .PP
        !          17704: Tcl stands for ``tool command language'' and is pronounced ``tickle.''
        !          17705: It is actually two things:
        !          17706: a language and a library.
        !          17707: First, Tcl is a simple textual language,
        !          17708: intended primarily for issuing commands to interactive programs such
        !          17709: as text editors, debuggers, illustrators, and shells.  It has
        !          17710: a simple syntax and is also programmable, so
        !          17711: Tcl users can write command procedures to provide more powerful
        !          17712: commands than those in the built-in set.
        !          17713: .PP
        !          17714: Second, Tcl is a library package that can be embedded in application
        !          17715: programs.  The Tcl library consists of a parser for the Tcl
        !          17716: language, routines to implement the Tcl built-in commands, and
        !          17717: procedures that allow each application to extend Tcl with additional
        !          17718: commands specific to that application.  The application program
        !          17719: generates Tcl commands and passes them to the Tcl parser for
        !          17720: execution.  Commands may be generated
        !          17721: by reading characters from an input
        !          17722: source, or by associating command strings with elements of the
        !          17723: application's user interface, such as menu entries, buttons, or
        !          17724: keystrokes.
        !          17725: When the Tcl library receives commands it parses them
        !          17726: into component fields and executes built-in commands directly.
        !          17727: For commands implemented by the
        !          17728: application, Tcl calls back to the application to execute the
        !          17729: commands.  In many cases commands will invoke recursive invocations
        !          17730: of the Tcl interpreter by passing in additional strings to execute
        !          17731: (procedures, looping commands, and conditional commands all work
        !          17732: in this way).
        !          17733: .PP
        !          17734: An application program gains three advantages by using Tcl for
        !          17735: its command language.  First, Tcl provides a standard syntax:  once
        !          17736: users know Tcl, they will be able to issue commands easily
        !          17737: to any Tcl-based application.  Second, Tcl provides programmability.
        !          17738: All a Tcl application needs to do is to implement a few
        !          17739: application-specific low-level commands.  Tcl provides many utility
        !          17740: commands plus a general programming interface for building up
        !          17741: complex command procedures.  By using Tcl, applications need not
        !          17742: re-implement these features.  Third, Tcl will eventually provide
        !          17743: a mechanism for communicating between applications:  it will be
        !          17744: possible to send Tcl commands from one application to another.
        !          17745: The common Tcl language framework will make it easier for applications
        !          17746: to communicate with one another.  The communication features are not
        !          17747: implemented in the current version of Tcl.
        !          17748: .PP
        !          17749: This manual page focusses primarily on the Tcl language.  It describes
        !          17750: the language syntax and the built-in commands that will be available in
        !          17751: any application based on Tcl.  The individual library
        !          17752: procedures are described in more detail in separate manual pages, one
        !          17753: per procedure.
        !          17754: 
        !          17755: .SH "INTERPRETERS"
        !          17756: .PP
        !          17757: The central data structure in Tcl is an interpreter (C type
        !          17758: ``Tcl_Interp'').  An interpreter consists of a set of command
        !          17759: bindings, a set of variable values, and a few other miscellaneous
        !          17760: pieces of state.  Each Tcl command is interpreted in the context
        !          17761: of a particular interpreter.
        !          17762: Some Tcl-based applications will maintain
        !          17763: multiple interpreters simultaneously, each associated with a
        !          17764: different widget or portion of the application.
        !          17765: Interpreters are relatively lightweight structures.  They can
        !          17766: be created and deleted quickly, so application programmers should feel free to
        !          17767: use multiple interpreters if that simplifies the application.
        !          17768: Eventually Tcl will provide a mechanism for sending Tcl commands
        !          17769: and results back and forth between interpreters, even if the
        !          17770: interpreters are managed by different processes.
        !          17771: 
        !          17772: .SH "DATA TYPES"
        !          17773: .PP
        !          17774: Tcl supports only one type of data:  strings.  All commands,
        !          17775: all arguments to commands, all command results, and all variable values
        !          17776: are strings.
        !          17777: Where commands require numeric arguments or return numeric results,
        !          17778: the arguments and results are passed as strings.
        !          17779: Many commands expect their string arguments to have certain formats,
        !          17780: but this interpretation is
        !          17781: up to the individual commands.  For example, arguments often contain
        !          17782: Tcl command strings, which may get executed as part of the commands.
        !          17783: The easiest way to understand the Tcl interpreter is to remember that
        !          17784: everything is just an operation on a string.  In many cases Tcl constructs
        !          17785: will look similar to more structured constructs from other languages.
        !          17786: However, the Tcl constructs
        !          17787: are not structured at all;  they are just strings of characters, and this
        !          17788: gives them a different behavior than the structures they may look like.
        !          17789: .PP
        !          17790: Although the exact interpretation of a Tcl string depends on who is
        !          17791: doing the interpretation, there are three common forms that strings
        !          17792: take:  commands, expressions, and lists.  The major sections below
        !          17793: discuss these three forms in more detail.
        !          17794: 
        !          17795: .SH "BASIC COMMAND SYNTAX"
        !          17796: .PP
        !          17797: The Tcl language has syntactic similarities to both the Unix shells
        !          17798: and Lisp.  However, the interpretation of commands is different
        !          17799: in Tcl than in either of those other two systems.
        !          17800: A Tcl command string consists of one or more commands separated
        !          17801: by newline characters or semi-colons.
        !          17802: Each command consists of a collection of fields separated by
        !          17803: white space (spaces or tabs).
        !          17804: The first field must be the name of a command, and the
        !          17805: additional fields, if any, are arguments that will be passed to
        !          17806: that command.  For example, the command
        !          17807: .DS
        !          17808: \fBset a 22\fR
        !          17809: .DE
        !          17810: has three fields:  the first, \fBset\fR, is the name of a Tcl command, and
        !          17811: the last two, \fBa\fR and \fB22\fR, will be passed as arguments to
        !          17812: the \fBset\fR command.  The command name may refer either to a built-in
        !          17813: Tcl command, an application-specific command bound in with the library
        !          17814: procedure \fBTcl_CreateCommand\fR, or a command procedure defined with the
        !          17815: \fBproc\fR built-in command.
        !          17816: Arguments are passed literally as
        !          17817: text strings.  Individual commands may interpret those strings in any
        !          17818: fashion they wish.  The \fBset\fR command, for example, will treat its
        !          17819: first argument as the name of a variable and its second argument as a
        !          17820: string value to assign to that variable.  For other commands arguments
        !          17821: may be interpreted as integers, lists, file names, or Tcl commands.
        !          17822: .PP
        !          17823: Command names may be abbreviated as long as the abbreviation is unique.
        !          17824: However, it's probably a bad idea to use abbreviations in command scripts
        !          17825: and other forms that will be re-used over time:  changes to the command
        !          17826: set may cause abbreviations to become ambiguous, resulting in scripts
        !          17827: that no longer work.  Abbreviations are intended primarily for
        !          17828: commands that are typed interactively, invoked once, and discarded.
        !          17829: Also, command abbreviations are disallowed if the global variable
        !          17830: \fBnoAbbrev\fR has the value \fB1\fR.
        !          17831: 
        !          17832: .SH "COMMENTS"
        !          17833: .PP
        !          17834: If the first non-blank character in a command is \fB#\fR, then everything
        !          17835: from the \fB#\fR up through the next newline character is treated as
        !          17836: a comment and ignored.
        !          17837: 
        !          17838: .SH "GROUPING ARGUMENTS WITH DOUBLE-QUOTES"
        !          17839: .VS
        !          17840: .PP
        !          17841: Normally each argument field ends at the next white space, but
        !          17842: double-quotes may be used to create arguments with embedded
        !          17843: space.  If an argument
        !          17844: field begins with a double-quote, then the argument isn't
        !          17845: terminated by white space (including newlines) or a semi-colon
        !          17846: (see below for information on semi-colons);  instead it ends at the next
        !          17847: double-quote character.  The double-quotes are not included
        !          17848: in the resulting argument.  For example, the
        !          17849: command
        !          17850: .DS
        !          17851: \fBset a "This is a single argument"\fR
        !          17852: .DE
        !          17853: will pass two arguments to \fBset\fR:  \fBa\fR and
        !          17854: \fBThis is a single argument\fR.  Within double-quotes, command
        !          17855: substitutions, variable substitutions, and backslash substitutions
        !          17856: still occur, as described below.  If the first character of a
        !          17857: command field is not a quote, then quotes receive no special
        !          17858: interpretation in the parsing of that field.
        !          17859: 
        !          17860: .SH "GROUPING ARGUMENTS WITH BRACES"
        !          17861: .PP
        !          17862: Curly braces may also be used for grouping arguments.  They are
        !          17863: similar to quotes except for two differences.  First, they nest;
        !          17864: this makes them easier to use for complicated arguments like nested Tcl
        !          17865: command strings.  Second, the substitutions described below for
        !          17866: commands, variables, and backslashes do \fInot\fR occur in arguments
        !          17867: enclosed in braces, so braces can be used to prevent substitutions
        !          17868: where they are undesirable.
        !          17869: If an argument field
        !          17870: begins with a left brace, then the argument ends at the matching
        !          17871: right brace.  Tcl will strip off the outermost layer of braces
        !          17872: and pass the information between the braces to the command without
        !          17873: any further modification.  For example, in the command
        !          17874: .VE
        !          17875: .DS
        !          17876: \fBset a {xyz a {b c d}}\fR
        !          17877: .DE
        !          17878: the \fBset\fR command will receive two arguments: \fBa\fR
        !          17879: and \fBxyz a {b c d}\fR.
        !          17880: .PP
        !          17881: When braces or quotes are in effect, the matching brace
        !          17882: or quote need not be on
        !          17883: the same line as the starting quote or brace;  in this case
        !          17884: the newline will be
        !          17885: included in the argument field along with any other characters up to the
        !          17886: matching brace or quote.  For example, the \fBeval\fR command
        !          17887: takes one
        !          17888: argument, which is a command string;  \fBeval\fR invokes the Tcl
        !          17889: interpreter to execute the command string.  The command
        !          17890: .DS
        !          17891: \fBeval {
        !          17892:        set a 22
        !          17893:        set b 33
        !          17894: }\fR
        !          17895: .DE
        !          17896: will assign the value \fB22\fR to \fBa\fR and \fB33\fR to \fBb\fR.
        !          17897: .PP
        !          17898: If the first character of a command field is not a left
        !          17899: brace, then neither left nor right
        !          17900: braces in the field will be treated specially (except as part of
        !          17901: variable substitution;  see below).
        !          17902: 
        !          17903: .SH "COMMAND SUBSTITUTION WITH BRACKETS"
        !          17904: .PP
        !          17905: If an open bracket occurs in a field of a command, then
        !          17906: command substitution occurs (except for fields enclosed in
        !          17907: braces).  All of the text up to the matching
        !          17908: close bracket is treated as a Tcl command and executed immediately.
        !          17909: Then the result of that command is substituted for the bracketed
        !          17910: text.  For example, consider the command
        !          17911: .DS
        !          17912: \fBset a [set b]\fR
        !          17913: .DE
        !          17914: When the \fBset\fR command has only a single argument, it is the
        !          17915: name of a variable and \fBset\fR returns the contents of that
        !          17916: variable.  In this case, if variable \fBb\fR has the value \fBfoo\fR,
        !          17917: then the command above is equivalent to the command
        !          17918: .DS
        !          17919: \fBset a foo\fR
        !          17920: .DE
        !          17921: Brackets can be used in more complex ways.  For example, if the
        !          17922: variable \fBb\fR has the value \fBfoo\fR and the variable \fBc\fR
        !          17923: has the value \fBgorp\fR, then the command
        !          17924: .DS
        !          17925: \fBset a xyz[set b].[set c]\fR
        !          17926: .DE
        !          17927: is equivalent to the command
        !          17928: .DS
        !          17929: \fBset a xyzfoo.gorp\fR
        !          17930: .DE
        !          17931: A bracketed command need not be all on one line:  newlines within
        !          17932: brackets are treated as argument separators, not command separators.
        !          17933: If a field is enclosed in braces then the brackets and the characters
        !          17934: between them are not interpreted specially;  they are passed through
        !          17935: to the argument verbatim.
        !          17936: 
        !          17937: .SH "VARIABLE SUBSTITUTION WITH $"
        !          17938: .PP
        !          17939: The dollar sign (\fB$\fR) may be used as a special shorthand form
        !          17940: for substituting variables.  If \fB$\fR appears in an argument that
        !          17941: isn't enclosed in braces
        !          17942: then variable substitution will occur.  The characters after
        !          17943: the \fB$\fR, up to the first character that isn't a number, letter, or
        !          17944: underscore, are taken as a variable name and the string value of that
        !          17945: variable is substituted for the name.  Or, if the dollar sign is followed
        !          17946: by an open curly brace then the variable name consists of all the characters
        !          17947: up to the next close curly brace.  For example, if variable \fBfoo\fR
        !          17948: has the value \fBtest\fR, then the command
        !          17949: .DS C
        !          17950: \fBset a $foo.c\fR
        !          17951: .DE
        !          17952: is equivalent to the command
        !          17953: .DS C
        !          17954: \fBset a test.c\fR
        !          17955: .DE
        !          17956: and the command
        !          17957: .DS C
        !          17958: \fBset a abc${foo}bar\fR
        !          17959: .DE
        !          17960: is equivalent to the command
        !          17961: .DS C
        !          17962: \fBset a abctestbar\fR
        !          17963: .DE
        !          17964: Variable substitution does not occur in arguments that are enclosed
        !          17965: in braces:  the
        !          17966: dollar sign and variable name are passed through to the argument verbatim.
        !          17967: .PP
        !          17968: The dollar sign abbreviation is simply a shorthand form.  \fB$a\fR is
        !          17969: completely equivalent to \fB[set a]\fR;  it is provided as a convenience
        !          17970: to reduce typing.
        !          17971: 
        !          17972: .VS
        !          17973: .SH "SEPARATING COMMANDS WITH SEMI-COLONS"
        !          17974: .PP
        !          17975: Normally, each command occupies one line (the command is terminated by
        !          17976: a newline character).  However, semi-colon (``;'') is treated
        !          17977: as a command separator character;  multiple commands may be placed
        !          17978: on one line by separating them with a semi-colon.  Semi-colons are
        !          17979: not treated as command separators if they appear within curly braces
        !          17980: or double-quotes.
        !          17981: .VE
        !          17982: 
        !          17983: .SH "BACKSLASH SUBSTITUTION"
        !          17984: .PP
        !          17985: Backslashes may be used to insert non-printing characters into
        !          17986: command fields and also to insert special characters like
        !          17987: braces and brackets into fields
        !          17988: without them being interpreted specially as described above.
        !          17989: The backslash sequences understood by the Tcl interpreter are
        !          17990: listed below.  In each case, the backslash
        !          17991: sequence is replaced by the given character:
        !          17992: .TP 20
        !          17993: \fB\eb\fR
        !          17994: Backspace (0x8).
        !          17995: .TP 20
        !          17996: \fB\ee\fR
        !          17997: Escape (0x1b).
        !          17998: .TP 20
        !          17999: \fB\en\fR
        !          18000: Newline (0xa).
        !          18001: .TP 20
        !          18002: \fB\er\fR
        !          18003: .VS
        !          18004: Carriage-return (0xd).
        !          18005: .VE
        !          18006: .TP 20
        !          18007: \fB\et\fR
        !          18008: Tab (0x9).
        !          18009: .TP 20
        !          18010: \fB\e{\fR
        !          18011: Left brace (``{'').
        !          18012: .TP 20
        !          18013: \fB\e}\fR
        !          18014: Right brace (``}'').
        !          18015: .TP 20
        !          18016: \fB\e[\fR
        !          18017: Open bracket (``['').
        !          18018: .TP 20
        !          18019: \fB\e]\fR
        !          18020: Close bracket (``]'').
        !          18021: .TP 20
        !          18022: \fB\e$\fR
        !          18023: Dollar sign (``$'').
        !          18024: .TP 20
        !          18025: \fB\e<space>\fR
        !          18026: Space (`` ''): doesn't terminate argument.
        !          18027: .br
        !          18028: .VS
        !          18029: .TP 20
        !          18030: \fB\e;\fR
        !          18031: Semi-colon: doesn't terminate command.
        !          18032: .TP 20
        !          18033: \fB\e"\fR
        !          18034: Double-quote.
        !          18035: .TP 20
        !          18036: \fB\e<newline>\fR
        !          18037: Nothing:  this effectively joins two lines together
        !          18038: into a single line.  This backslash feature is only provided
        !          18039: when parsing Tcl commands;  it is not supported by the
        !          18040: Tcl_Backslash procedure.
        !          18041: .VE
        !          18042: .TP 20
        !          18043: \fB\e\e\fR
        !          18044: Backslash (``\e'').
        !          18045: .TP 20
        !          18046: \fB\eC\fIx\fR
        !          18047: Control-\fIx\fR (\fIx\fR AND octal 037), for any ASCII \fIx\fR except \fBM\fR
        !          18048: (see below).
        !          18049: .TP 20
        !          18050: \fB\eM\fIx\fR
        !          18051: Meta-\fIx\fR (\fIx\fR OR octal 200), for any ASCII \fIx\fR.
        !          18052: .TP 20
        !          18053: \fB\eCM\fIx\fR
        !          18054: Control-meta-\fIx\fR ((\fIx\fR AND octal 037) OR octal 0200), for
        !          18055: any ASCII \fIx\fR.
        !          18056: .TP 20
        !          18057: \fB\e\fIddd\fR
        !          18058: The digits \fIddd\fR (one, two, or three of them) give the octal value of
        !          18059: the character.
        !          18060: .PP
        !          18061: For example, in the command
        !          18062: .DS
        !          18063: \fBset a \e{x\e[\e\0yz\e141\fR
        !          18064: .DE
        !          18065: the second argument to \fBset\fR will be ``\fB{x[\0yza\fR''.
        !          18066: .PP
        !          18067: If a backslash is followed by something other than one of the options
        !          18068: described above, then the backslash is transmitted to the argument
        !          18069: field without any special processing, and the Tcl scanner continues
        !          18070: normal processing with the next character.  For example, in the
        !          18071: command
        !          18072: .DS
        !          18073: \fBset \e*a \e\e\e{foo\fR
        !          18074: .DE
        !          18075: The first argument to \fBset\fR will be \fB\e*a\fR and the second
        !          18076: argument will be \fB\e{foo\fR.
        !          18077: .PP
        !          18078: If an argument is enclosed in braces, then backslash sequences inside
        !          18079: the argument are parsed but no substitution occurs:  the backslash
        !          18080: sequence is passed through to the argument as is, without making
        !          18081: any special interpretation of the characters in the backslash sequence.
        !          18082: In particular, backslashed braces are not counted in locating the
        !          18083: matching right brace that terminates the argument.
        !          18084: For example, in the
        !          18085: command
        !          18086: .DS
        !          18087: \fBset a {\e{abc}\fR
        !          18088: .DE
        !          18089: the second argument to \fBset\fR will be \fB\e{abc\fR.
        !          18090: .PP
        !          18091: This backslash mechanism is not sufficient to generate absolutely
        !          18092: any argument structure;  it only covers the
        !          18093: most common cases.  To produce particularly complicated arguments
        !          18094: it is probably easiest to use the \fBformat\fR command along with
        !          18095: command substitution.
        !          18096: 
        !          18097: .SH "COMMAND SUMMARY"
        !          18098: .IP [1]
        !          18099: A command is just a string.
        !          18100: .IP [2]
        !          18101: Within a string commands are separated by newlines or semi-colons
        !          18102: (unless the newline or semi-colon is within braces or brackets
        !          18103: or is backslashed).
        !          18104: .IP [3]
        !          18105: A command consists of fields.  The first field is the name of the command,
        !          18106: and may be abbreviated.
        !          18107: The other fields are strings that are passed to that command as arguments.
        !          18108: .IP [4]
        !          18109: Fields are normally separated by white space.
        !          18110: .IP [5]
        !          18111: Double-quotes allow white space and semi-colons to appear within
        !          18112: a single argument.
        !          18113: Command substitution, variable substitution, and backslash substitution
        !          18114: still occur inside quotes.
        !          18115: .IP [6]
        !          18116: Braces defer interpretation of special characters.
        !          18117: If a field begins with a left brace, then it consists of everything
        !          18118: between the left brace and the matching right brace. The
        !          18119: braces themselves are not included in the argument.
        !          18120: No further processing is done on the information between the braces.
        !          18121: .IP [7]
        !          18122: If a field doesn't begin with a brace then backslash,
        !          18123: variable, and command substitution are done on the field.  Only a
        !          18124: single level of processing is done:  the results of one substitution
        !          18125: are not scanned again for further substitutions or any other
        !          18126: special treatment.  Substitution can
        !          18127: occur on any field of a command, including the command name
        !          18128: as well as the arguments.
        !          18129: .IP [8]
        !          18130: If the first non-blank character of a command is a \fB#\fR, everything
        !          18131: from the \fB#\fR up through the next newline is treated as a comment
        !          18132: and ignored.
        !          18133: 
        !          18134: .SH "EXPRESSIONS"
        !          18135: .PP
        !          18136: The second major interpretation applied to strings in Tcl is
        !          18137: as expressions.  Several commands, such as \fBexpr\fR, \fBfor\fR,
        !          18138: and \fBif\fR, treat some of their arguments as expressions and
        !          18139: call the Tcl expression processor (\fBTcl_Expr\fR) to evaluate them.
        !          18140: A Tcl expression has C-like syntax and evaluates to an integer
        !          18141: result.  Expressions
        !          18142: may contain integer values, variable names in \fB$\fR notation
        !          18143: (the variables' values must be integer strings),
        !          18144: commands (embedded in brackets) that produce integer string results,
        !          18145: parentheses for grouping, and operators.  Numeric values, whether they
        !          18146: are passed directly or through variable or command substitution, may
        !          18147: be specified either in decimal (the normal case), in octal (if the
        !          18148: first character of the value is \fB0\fR), or in hexadecimal (if the first
        !          18149: two characters of the value are \fB0x\fR).
        !          18150: The valid operators are listed
        !          18151: below, grouped in decreasing order of precedence:
        !          18152: .TP 20
        !          18153: \fB\-\0\0~\0\0!\fR
        !          18154: Unary minus, bit-wise NOT, logical NOT.
        !          18155: .TP 20
        !          18156: \fB*\0\0/\0\0%\fR
        !          18157: Multiply, divide, remainder.
        !          18158: .TP 20
        !          18159: \fB+\0\0\-\fR
        !          18160: Add and subtract.
        !          18161: .TP 20
        !          18162: \fB<<\0\0>>\fR
        !          18163: Left and right shift.
        !          18164: .TP 20
        !          18165: \fB<\0\0>\0\0<=\0\0>=\fR
        !          18166: Boolean less, greater, less than or equal, and greater than or equal.
        !          18167: Each operator produces 1 if the condition is true, 0 otherwise.
        !          18168: .TP 20
        !          18169: \fB==\0\0!=\fR
        !          18170: Boolean equal and not equal.  Each operator produces a zero/one result.
        !          18171: .TP 20
        !          18172: \fB&\fR
        !          18173: Bit-wise AND.
        !          18174: .TP 20
        !          18175: \fB^\fR
        !          18176: Bit-wise exclusive OR.
        !          18177: .TP 20
        !          18178: \fB|\fR
        !          18179: Bit-wise OR.
        !          18180: .TP 20
        !          18181: \fB&&\fR
        !          18182: Logical AND.  Produces a 1 result if both operands are non-zero, 0 otherwise.
        !          18183: .TP 20
        !          18184: \fB||\fR
        !          18185: Logical OR.  Produces a 0 result if both operands are zero, 1 otherwise.
        !          18186: .TP 20
        !          18187: \fIx\fB?\fIy\fB:\fIz\fR
        !          18188: .VS
        !          18189: If-then-else, as in C.  If \fIx
        !          18190: evaluates to non-zero, then the result is the value of \fIy\fR.
        !          18191: Otherwise the result is the value of \fIz\fR.
        !          18192: .VE
        !          18193: .PP
        !          18194: See the C manual for more details on the results
        !          18195: produced by each operator.
        !          18196: All of the binary operators group left-to-right within the same
        !          18197: precedence level.  For example, the expression
        !          18198: .DS
        !          18199: \fB(4*2) < 7\fR
        !          18200: .DE
        !          18201: evaluates to 0.  Evaluating the expression string
        !          18202: .DS
        !          18203: \fB($a + 3) < [set b]\fR
        !          18204: .DE
        !          18205: will cause the values of the variables \fBa\fR and \fBb\fR to be
        !          18206: examined;  the result will be 1
        !          18207: if \fBb\fR is greater than a by at least 3;  otherwise the result
        !          18208: will be 0.
        !          18209: .PP
        !          18210: In general it is safest to enclose an expression in braces when
        !          18211: entering it in a command:  otherwise, if the expression contains
        !          18212: any white space then the Tcl interpreter will split it
        !          18213: among several arguments.  For example, the command
        !          18214: .DS C
        !          18215: \fBexpr $a + $b\fR
        !          18216: .DE
        !          18217: results in three arguments being passed to \fBexpr\fR:  \fB$a\fR,
        !          18218: \fB+\fR, and \fB$b\fR.  In addition, if the expression isn't in braces
        !          18219: then the Tcl interpreter will perform variable and command substitution
        !          18220: immediately (it will happen in the command parser rather than in
        !          18221: the expression parser).  In many cases the expression is being
        !          18222: passed to a command that will evaluate the expression later (or
        !          18223: even many times if, for example, the expression is to be used to
        !          18224: decide when to exit a loop).  Usually the desired goal is to re-do
        !          18225: the variable or command substitutions each time the expression is
        !          18226: evaluated, rather than once and for all at the beginning.  For example,
        !          18227: the command
        !          18228: .DS C
        !          18229: \fBfor {set i 1} $i<=10 {set i [expr $i+1]} {...}\fR
        !          18230: .DE
        !          18231: is probably intended to iterate over all values of \fBi\fR from 1 to 10.
        !          18232: After each iteration of the body of the loop, \fBfor\fR will pass
        !          18233: its second argument to the expression evaluator to see whether or not
        !          18234: to continue processing.  Unfortunately, in this case the value of \fBi\fR
        !          18235: in the second argument will be substituted once and for all when the
        !          18236: \fBfor\fR command is parsed.  If \fBi\fR was 0 before the \fBfor\fR
        !          18237: command was invoked then \fBfor\fR's second argument will be \fB0<=10\fR
        !          18238: which will always evaluate to 1, even though \fBi\fR's value eventually
        !          18239: becomes greater than 10.  In the above case the loop will never
        !          18240: terminate.  By placing the expression in braces, the
        !          18241: substitution of \fBi\fR's
        !          18242: value will be delayed;  it will be re-done each time the expression is
        !          18243: evaluated, which is probably the desired result.
        !          18244: 
        !          18245: .SH LISTS
        !          18246: .PP
        !          18247: The third major way that strings are interpreted in Tcl is as lists.
        !          18248: A list is just a string with a list-like structure
        !          18249: consisting of fields separated by white space.  For example, the
        !          18250: string
        !          18251: .DS
        !          18252: \fBAl Sue Anne John\fR
        !          18253: .DE
        !          18254: is a list with four elements or fields.
        !          18255: Lists have the same basic structure as command strings, except
        !          18256: that a newline character in a list is treated as a field separator
        !          18257: just like space or tab.  Conventions for braces
        !          18258: and backslashes are the same for lists as for commands.  For example,
        !          18259: the string
        !          18260: .DS
        !          18261: \fBa b\e c {d e {f g h}}\fR
        !          18262: .DE
        !          18263: is a list with three elements:  \fBa\fR, \fBb c\fR, and \fBd e {f g h}\fR.
        !          18264: Whenever an element
        !          18265: is extracted from a list, the same rules about backslashes and
        !          18266: braces are applied as for commands.  Thus in the example above
        !          18267: when the third element is extracted from the list, the result is
        !          18268: .DS
        !          18269: \fBd e {f g h}\fR
        !          18270: .DE
        !          18271: (when the field was extracted, all that happened was to strip off
        !          18272: the outermost layer of braces).  Command substitution is never
        !          18273: made on a list (at least, not by the list-processing commands;  the
        !          18274: list can always be passed to the Tcl interpreter for evaluation).
        !          18275: .PP
        !          18276: The Tcl commands \fBconcat\fR, \fBforeach\fR, \fBindex\fR,
        !          18277: \fBlength\fR, \fBlist\fR, and \fBrange\fR allow you to build lists,
        !          18278: extract elements from them, search them, and perform other list-related
        !          18279: functions.
        !          18280: 
        !          18281: .SH "COMMAND RESULTS"
        !          18282: .PP
        !          18283: Each command produces two results:  a code and a string.  The
        !          18284: code indicates whether the command completed successfully or not,
        !          18285: and the string gives additional information.  The valid codes are
        !          18286: defined in tcl.h, and are:
        !          18287: .RS
        !          18288: .TP 20
        !          18289: \fBTCL_OK\fR
        !          18290: This is the normal return code, and indicates that the command completed
        !          18291: succesfully.  The string gives the command's return value.
        !          18292: .TP 20
        !          18293: \fBTCL_ERROR\fR
        !          18294: Indicates that an error occurred;  the string gives a message describing
        !          18295: the error.
        !          18296: .VS
        !          18297: The variable \fBerrorInfo\fR will contain additional information
        !          18298: describing which commands and procedures were being executed when the
        !          18299: error occurred.
        !          18300: .VE
        !          18301: .TP 20
        !          18302: \fBTCL_RETURN\fR
        !          18303: Indicates that the \fBreturn\fR command has been invoked, and that the
        !          18304: .VS
        !          18305: current procedure (or top-level command or \fBsource\fR command)
        !          18306: should return immediately.  The
        !          18307: string gives the return value for the procedure or command.
        !          18308: .VE
        !          18309: .TP 20
        !          18310: \fBTCL_BREAK\fR
        !          18311: Indicates that the \fBbreak\fR command has been invoked, so the
        !          18312: innermost loop should abort immediately.  The string should always
        !          18313: be empty.
        !          18314: .TP 20
        !          18315: \fBTCL_CONTINUE\fR
        !          18316: Indicates that the \fBcontinue\fR command has been invoked, so the
        !          18317: innermost loop should go on to the next iteration.  The string
        !          18318: should always be empty.
        !          18319: .RE
        !          18320: Tcl programmers do not normally need to think about return codes,
        !          18321: since TCL_OK is almost always returned.  If anything else is returned
        !          18322: by a command, then the Tcl interpreter immediately stops processing
        !          18323: commands and returns to its caller.  If there are several nested
        !          18324: invocations of the Tcl interpreter in progress, then each nested
        !          18325: command will usually return the error to its caller, until eventually
        !          18326: the error is reported to the top-level application code.  The
        !          18327: application will then display the error message for the user.
        !          18328: .PP
        !          18329: In a few cases, some commands will handle certain ``error'' conditions
        !          18330: themselves and not return them upwards.  For example, the \fBfor\fR
        !          18331: command checks for the TCL_BREAK code;  if it occurs, then \fBfor\fR
        !          18332: stops executing the body of the loop and returns TCL_OK to its
        !          18333: caller.  The \fBfor\fR command also handles TCL_CONTINUE codes and the
        !          18334: procedure interpreter handles TCL_RETURN codes.  The \fBcatch\fR
        !          18335: command allows Tcl programs to catch errors and handle them without
        !          18336: aborting command interpretation any further.
        !          18337: 
        !          18338: .SH PROCEDURES
        !          18339: .PP
        !          18340: Tcl allows you to extend the command interface by defining
        !          18341: procedures.  A Tcl procedure can be invoked just like any other Tcl
        !          18342: command (it has a name and it receives one or more arguments).
        !          18343: The only difference is that its body isn't a piece of C code linked
        !          18344: into the program;  it is a string containing one or more other
        !          18345: Tcl commands.  See the \fBproc\fR command for information on
        !          18346: how to define procedures and what happens when they are invoked.
        !          18347: 
        !          18348: .SH VARIABLES
        !          18349: .PP
        !          18350: Tcl allows the definition of variables and the use of their values
        !          18351: either through \fB$\fR-style variable substitution, the \fBset\fR
        !          18352: command, or a few other mechanisms.  Variables need not be declared:
        !          18353: a new variable will automatically be created each time a new variable
        !          18354: name is used.  Variables may be either global or local.  If a variable
        !          18355: name is used when a procedure isn't being executed, then it
        !          18356: automatically refers to a global variable.  Variable names used
        !          18357: within a procedure normally refer to local variables associated with that
        !          18358: invocation of the procedure.  Local variables are deleted whenever
        !          18359: a procedure exits.  The \fBglobal\fR command may be used to request
        !          18360: that a name refer to a global variable for the duration of the current
        !          18361: procedure (this is somewhat analogous to \fBextern\fR in C).
        !          18362: 
        !          18363: .SH "BUILT-IN COMMANDS"
        !          18364: .PP
        !          18365: The Tcl library provides the following built-in commands, which will
        !          18366: be available in any application using Tcl.  In addition to these
        !          18367: built-in commands, there may be additional commands defined by each
        !          18368: application, plus commands defined as Tcl procedures.  In the command syntax
        !          18369: descriptions below, optional arguments are indicated by enclosing their
        !          18370: names in brackets;  apologies in advance for the confusion between this
        !          18371: descriptive use of brackets and the use of brackets to invoke
        !          18372: command substitution.
        !          18373: Words in boldface are literals that you type verbatim to Tcl.
        !          18374: Words in italics are meta-symbols;  they act as names to refer to
        !          18375: a class of values that you can type.
        !          18376: .TP
        !          18377: \fBbreak\fR
        !          18378: This command may be invoked only inside the body of a loop command
        !          18379: such as \fBfor\fR or \fBforeach\fR.  It returns a TCL_BREAK code
        !          18380: to signal the innermost containing loop command to return immediately.
        !          18381: .TP
        !          18382: \fBcase\fI string \fR[\fBin\fR] \fIpatList body patList body \fR...
        !          18383: .VS
        !          18384: Match \fIstring\fR against each of the \fIpatList\fR arguments
        !          18385: in order.  If one matches, then evaluate the following \fIbody\fR argument
        !          18386: by passing it recursively to the Tcl interpreter, and return the result
        !          18387: of that evaluation.  Each \fIpatList\fR argument consists of a single
        !          18388: pattern or list of patterns.  Each pattern may contain any of the wild-cards
        !          18389: described under \fBstring match\fR.  If a \fIpatList\fR
        !          18390: argument is \fBdefault\fR, the corresponding body will be evaluated
        !          18391: if no \fIpatList\fR matches \fIstring\fR.  If no \fIpatList\fR argument
        !          18392: matches \fIstring\fR and no default is given, then the \fBcase\fR
        !          18393: command returns an empty string.  For example,
        !          18394: .RS
        !          18395: .DS
        !          18396: \fBcase abc in {a b} {format 1} default {format 2} a* {format 3}
        !          18397: .DE
        !          18398: will return \fB3\fR, 
        !          18399: .DS
        !          18400: \fBcase a in {a b} {format 1} default {format 2} a* {format 3}
        !          18401: .DE
        !          18402: will return \fB1\fR, and
        !          18403: .DS
        !          18404: \fBcase xyz {a b} {format 1} default {format 2} a* {format 3}
        !          18405: .DE
        !          18406: will return \fB2\fR.
        !          18407: .RE
        !          18408: .VE
        !          18409: .TP
        !          18410: \fBcatch\fI command \fR[\fIvarName\fR]
        !          18411: The \fBcatch\fR command may be used to prevent errors from aborting
        !          18412: command interpretation.  \fBCatch\fR calls the Tcl interpreter recursively
        !          18413: to execute \fIcommand\fR, and always returns a TCL_OK code, regardless of
        !          18414: any errors that might occur while executing \fIcommand\fR.  The return
        !          18415: value from \fBcatch\fR is a decimal string giving the
        !          18416: code returned by the Tcl interpreter after executing \fIcommand\fR.
        !          18417: This will be \fB0\fR (TCL_OK) if there were no errors in \fIcommand\fR; otherwise
        !          18418: it will have a non-zero value corresponding to one of the exceptional
        !          18419: return codes (see tcl.h for the definitions of code values).  If the
        !          18420: \fIvarName\fR argument is given, then it gives the name of a variable;
        !          18421: \fBcatch\fR will set the value of the variable to the string returned
        !          18422: from \fIcommand\fR (either a result or an error message).
        !          18423: .TP
        !          18424: \fBconcat\fI arg \fR[\fIarg ...\fR]
        !          18425: This command treats each argument as a list and concatenates them
        !          18426: into a single list.  It permits any number of arguments.  For example,
        !          18427: the command
        !          18428: .RS
        !          18429: .DS
        !          18430: \fBconcat a b {c d e} {f {g h}}\fR
        !          18431: .DE
        !          18432: will return
        !          18433: .DS
        !          18434: \fBa b c d e f {g h}\fR
        !          18435: .DE
        !          18436: as its result.
        !          18437: .RE
        !          18438: .TP
        !          18439: \fBcontinue\fR
        !          18440: This command may be invoked only inside the body of a loop command
        !          18441: such as \fBfor\fR or \fBforeach\fR.  It returns a  TCL_CONTINUE code
        !          18442: to signal the innermost containing loop command to skip the
        !          18443: remainder of the loop's body
        !          18444: but continue with the next iteration of the loop.
        !          18445: .TP
        !          18446: \fBerror \fImessage\fR [\fIinfo\fR]
        !          18447: Returns a TCL_ERROR code, which causes command interpretation to be
        !          18448: unwound.  \fIMessage\fR is a string that is returned to the application
        !          18449: to indicate what went wrong.
        !          18450: .VS
        !          18451: If the \fIinfo\fR argument is
        !          18452: provided, it is used to initialize the global variable \fBerrorInfo\fR.
        !          18453: \fBErrorInfo\fR is used to accumulate a stack trace of what
        !          18454: was in progress when an error occurred;  as nested commands unwind,
        !          18455: the Tcl interpreter adds information to \fBerrorInfo\fR.  If the
        !          18456: \fIinfo\fR argument is present, it is used to initialize the
        !          18457: \fBerrorInfo\fR variable, and the first increment of unwind information
        !          18458: will not be added by the Tcl interpreter.  In other
        !          18459: words, the command containing the \fBerror\fR command will not appear
        !          18460: in the \fBerrorInfo\fR variable;  in its place will be \fIinfo\fR.
        !          18461: This feature is most useful in conjunction with the \fBcatch\fR command:
        !          18462: if a caught error cannot be handled successfully, \fIinfo\fR can be used
        !          18463: to return a stack trace reflecting the original point of occurrence
        !          18464: of the error:
        !          18465: .RS
        !          18466: .DS
        !          18467: \fBcatch {...} errMsg
        !          18468: set savedInfo $errorInfo
        !          18469: \&...
        !          18470: error $errMsg $savedInfo\fR
        !          18471: .DE
        !          18472: .RE
        !          18473: .TP
        !          18474: \fBeval \fIarg1 \fR[\fIarg2 ...\fR]
        !          18475: \fBEval\fR takes one or more arguments, which together comprise a Tcl
        !          18476: command (or collection of Tcl commands separated by newlines in the
        !          18477: usual way).  \fBEval\fR concatenates all its arguments in the same
        !          18478: fashion as the \fBconcat\fR command, passes the concatenated string to the
        !          18479: Tcl interpreter recursively, and returns the result of that
        !          18480: evaluation (or any error generated by it).
        !          18481: .VE
        !          18482: .TP
        !          18483: \fBexec \fIcommand arg1 \fR[\fIarg2 ...\fR] [\fB< \fIinput\fR]
        !          18484: The \fBexec\fR command treats its \fIcommand\fR argument as the name of
        !          18485: a program to execute.  \fBExec\fR
        !          18486: .VS
        !          18487: performs tilde-substitution on
        !          18488: \fIcommand\fR, if appropriate, then searches the directories in
        !          18489: .VE
        !          18490: the PATH environment variable to find
        !          18491: an executable file by the name \fIcommand\fR,
        !          18492: then executes the file, passing it an argument list consisting of
        !          18493: \fIcommand\fR plus all of the \fIarg\fRs.  If an argument \fB<\fR appears
        !          18494: anywhere among the arguments to \fBexec\fR, then neither it or the
        !          18495: following argument is passed to \fIcommand\fR.  Instead, the following
        !          18496: argument (\fIinput\fR) consists of input to the command;  \fBexec\fR
        !          18497: will create a pipe and use it to pass \fIinput\fR to \fIcommand\fR
        !          18498: as standard input.  \fBExec\fR also creates a pipe to receive \fIcommand\fR's
        !          18499: output (both standard output and standard error).  The information
        !          18500: received over this pipe is returned as the result of the \fBexec\fR
        !          18501: command.  The \fBexec\fR command also looks at the return status
        !          18502: returned by \fIcommand\fR.  Normally this should be zero;  if it is then
        !          18503: \fBexec\fR returns normally.  If \fIcommand\fR returns a non-zero status,
        !          18504: then \fBexec\fR will return that code;  it should be one of the ones
        !          18505: defined in the section ``COMMAND RESULTS'' above.  If an out-of range
        !          18506: code is returned by the command, it will cause command unwinding just
        !          18507: as if TCL_ERROR had been returned; at the outermost level of command
        !          18508: interpretation, the Tcl interpreter will turn the code into TCL_ERROR,
        !          18509: with an appropriate error message.
        !          18510: .TP
        !          18511: \fBexpr \fIarg\fR
        !          18512: Calls the expression processor to evaluate \fIarg\fR, and returns
        !          18513: the result as a decimal string.
        !          18514: .TP
        !          18515: \fBfile \fIname\fR \fIoption\fR
        !          18516: Operate on a file or a file name.  \fIName\fR is the name of a file;
        !          18517: .VS
        !          18518: if it starts with a tilde, then tilde substitution is done before
        !          18519: executing the command (see the manual entry for \fBTcl_TildeSubst\fR
        !          18520: for details).
        !          18521: .VE
        !          18522: \fIOption\fR indicates what to do with the file name.  Any unique
        !          18523: abbreviation for \fIoption\fR is acceptable.  The valid options are:
        !          18524: .RS
        !          18525: .TP
        !          18526: \fBfile \fIname \fBdirname\fR
        !          18527: Return all of the characters in \fIname\fR up to but not including
        !          18528: the last slash character.  If there are no slashes in \fIname\fR
        !          18529: then return ``.''.  If the last slash in \fIname\fR is its first
        !          18530: character, then return ``/''.
        !          18531: .TP
        !          18532: \fBfile \fIname \fBexecutable\fR
        !          18533: Return \fB1\fR if file \fIname\fR is executable by
        !          18534: the current user, \fB0\fR otherwise.
        !          18535: .TP
        !          18536: \fBfile \fIname \fBexists\fR
        !          18537: Return \fB1\fR if file \fIname\fR exists and the current user has
        !          18538: search privileges for the directories leading to it, \fB0\fR otherwise.
        !          18539: .TP
        !          18540: \fBfile \fIname \fBextension\fR
        !          18541: Return all of the characters in \fIname\fR after and including the
        !          18542: last dot in \fIname\fR.  If there is no dot in \fIname\fR then return
        !          18543: the empty string.
        !          18544: .TP
        !          18545: \fBfile \fIname \fBisdirectory\fR
        !          18546: Return \fB1\fR if file \fIname\fR is a directory,
        !          18547: \fB0\fR otherwise.
        !          18548: .TP
        !          18549: \fBfile \fIname \fBisfile\fR
        !          18550: Return \fB1\fR if file \fIname\fR is a regular file,
        !          18551: \fB0\fR otherwise.
        !          18552: .TP
        !          18553: \fBfile \fIname \fBowned\fR
        !          18554: Return \fB1\fR if file \fIname\fR is owned by the current user,
        !          18555: \fB0\fR otherwise.
        !          18556: .TP
        !          18557: \fBfile \fIname \fBreadable\fR
        !          18558: Return \fB1\fR if file \fIname\fR is readable by
        !          18559: the current user, \fB0\fR otherwise.
        !          18560: .TP
        !          18561: \fBfile \fIname \fBrootname\fR
        !          18562: Return all of the characters in \fIname\fR up to but not including
        !          18563: the last ``.'' character in the name.  If \fIname\fR doesn't contain
        !          18564: a dot, then return \fIname\fR.
        !          18565: .TP
        !          18566: \fBfile \fIname \fBtail\fR
        !          18567: Return all of the characters in \fIname\fR after the last slash.
        !          18568: If \fIname\fR contains no slashes then return \fIname\fR.
        !          18569: .TP
        !          18570: \fBfile \fIname \fBwritable\fR
        !          18571: Return \fB1\fR if file \fIname\fR is writable by
        !          18572: the current user, \fB0\fR otherwise.
        !          18573: .RE
        !          18574: .IP
        !          18575: The \fBfile\fR commands that return 0/1 results are often used in
        !          18576: conditional or looping commands, for example:
        !          18577: .RS
        !          18578: .DS
        !          18579: \fBif {![file foo exists]} then {error {bad file name}} else {...}\fR
        !          18580: .DE
        !          18581: .RE
        !          18582: .TP
        !          18583: \fBfor \fIstart test next body\fR
        !          18584: \fBFor\fR is a looping command, similar in structure to the C
        !          18585: \fBfor\fR statement.  The \fIstart\fR, \fInext\fR, and
        !          18586: \fIbody\fR arguments must be Tcl command strings, and \fItest\fR
        !          18587: is an expression string.
        !          18588: The \fBfor\fR command first invokes the Tcl interpreter to
        !          18589: execute \fIstart\fR.  Then it repeatedly evaluates \fItest\fR as
        !          18590: an expression;  if the result is non-zero it invokes the Tcl
        !          18591: interpreter on \fIbody\fR, then invokes the Tcl interpreter on \fInext\fR,
        !          18592: then repeats the loop.  The command terminates when \fItest\fR evaluates
        !          18593: to 0.  If a \fBcontinue\fR command is invoked within \fIbody\fR then
        !          18594: any remaining commands in the current execution of \fIbody\fR are skipped;
        !          18595: processing continues by invoking the Tcl interpreter on \fInext\fR, then
        !          18596: evaluating \fItest\fR, and so on.  If a \fBbreak\fR command is invoked
        !          18597: within \fIbody\fR
        !          18598: .VS
        !          18599: or \fInext\fR,
        !          18600: .VE
        !          18601: then the \fBfor\fR command will
        !          18602: return immediately.
        !          18603: The operation of \fBbreak\fR and \fBcontinue\fR are similar to the
        !          18604: corresponding statements in C.
        !          18605: \fBFor\fR returns an empty string.
        !          18606: .TP
        !          18607: \fBforeach \fIvarname list body\fR
        !          18608: In this command, \fIvarname\fR is the name of a variable, \fIlist\fR
        !          18609: is a list of values to assign to \fIvarname\fR, and \fIbody\fR is a
        !          18610: collection of Tcl commands.  For each field in \fIlist\fR (in order
        !          18611: from left to right), \fBforeach\fR assigns the contents of the
        !          18612: field to \fIvarname\fR (as if the \fBindex\fR command had been used
        !          18613: to extract the field), then calls the Tcl interpreter to execute
        !          18614: \fIbody\fR.  The \fBbreak\fR and \fBcontinue\fR statements may be
        !          18615: invoked inside \fIbody\fR, with the same effect as in the \fBfor\fR
        !          18616: command.  \fBForeach\fR an empty string.
        !          18617: .TP
        !          18618: \fBformat \fIformatString \fR[\fIarg arg ...\fR]
        !          18619: This command generates a formatted string in the same way as the
        !          18620: C \fBsprintf\fR procedure (it uses \fBsprintf\fR in its
        !          18621: implementation).  \fIFormatString\fR indicates how to format
        !          18622: the result, using \fB%\fR fields as in \fBsprintf\fR, and the additional
        !          18623: arguments, if any, provide values to be substituted into the result.
        !          18624: All of the \fBsprintf\fR options are valid;  see the \fBsprintf\fR
        !          18625: man page for details.  Each \fIarg\fR must match the expected type
        !          18626: from the \fB%\fR field in \fIformatString\fR;  the \fBformat\fR command
        !          18627: converts each argument to the correct type (floating, integer, etc.)
        !          18628: before passing it to \fBsprintf\fR for formatting.
        !          18629: The only unusual conversion is for \fB%c\fR;  in this case the argument
        !          18630: must be a decimal string, which will then be converted to the corresponding
        !          18631: ASCII character value.
        !          18632: \fBFormat\fR does backslash substitution on its \fIformatString\fR
        !          18633: argument, so backslash sequences in \fIformatString\fR will be handled
        !          18634: correctly even if the argument is in braces.
        !          18635: The return value from \fBformat\fR
        !          18636: is the formatted string.
        !          18637: .TP
        !          18638: \fBglob \fIfilename\fR [\fIfilename ...\fR]
        !          18639: .VS
        !          18640: This command performs filename globbing, using csh rules.  The returned
        !          18641: value from \fBglob\fR is the list of expanded filenames.
        !          18642: .VE
        !          18643: .TP
        !          18644: \fBglobal \fIvarname \fR[\fIvarname ...\fR]
        !          18645: This command is ignored unless a Tcl procedure is being interpreted.
        !          18646: If so, then it declares the given \fIvarname\fR's to be global variables
        !          18647: rather than local ones.  For the duration of the current procedure
        !          18648: (and only while executing in the current procedure), any reference to
        !          18649: any of the \fIvarname\fRs will be bound to a global variable instead
        !          18650: of a local one.
        !          18651: .TP
        !          18652: \fBhistory \fR[\fIoption \fR[\fIarg arg ...\fR]
        !          18653: .VS
        !          18654: Note:  this command may not be available in all Tcl-based applications.
        !          18655: Typically, only those that receive command input in a typescript
        !          18656: form will support history.
        !          18657: The \fBhistory\fR command performs one of several operations related to
        !          18658: recently-executed commands recorded in a history list.  Each of
        !          18659: these recorded commands is referred to as an ``event''.  When
        !          18660: specifying an event to the \fBhistory\fR command, the following
        !          18661: forms may be used:
        !          18662: .RS
        !          18663: .IP [1]
        !          18664: A number:  if positive, it refers to the event with
        !          18665: that number (all events are numbered starting at 1).  If the number
        !          18666: is negative, it selects an event relative to the current event
        !          18667: (\fB-1\fR refers to the previous event, \fB-2\fR to the one before that, and
        !          18668: so on).
        !          18669: .IP [2]
        !          18670: A string:  selects the most recent event that matches the string.
        !          18671: An event is considered to match the string either if the string is
        !          18672: the same as the first characters of the event, or if the string
        !          18673: matches the event in the sense of the \fBstring match\fR command.
        !          18674: .LP
        !          18675: The \fBhistory\fR command can take any of the following forms:
        !          18676: .TP
        !          18677: \fBhistory\fR
        !          18678: Re-execute the most recent command in the history list and return
        !          18679: its result.  This command has the same effect as \fBhistory redo -1\fR.
        !          18680: .TP
        !          18681: \fBhistory add\fI command \fR[\fBexec\fR]
        !          18682: Add the \fIcommand\fR argument to the history list as a new event.  If
        !          18683: \fBexec\fR is specified (or abbreviated) then the command is also
        !          18684: executed and its result is returned.  If \fBexec\fR isn't specified
        !          18685: then an empty string is returned as result.
        !          18686: .TP
        !          18687: \fBhistory change\fI newValue\fR [\fIevent\fR]
        !          18688: Replace the value recorded for an event with \fInewValue\fR.  \fIEvent\fR
        !          18689: specifies the event to replace, and
        !          18690: defaults to the \fIcurrent\fR event (not event \fB-1\fR).  This command
        !          18691: is intended for use in commands that implement new forms of history
        !          18692: substitution and wish to replace the current event (which invokes the
        !          18693: substitution) with the command created through substitution.  The return
        !          18694: value is an empty string.
        !          18695: .TP
        !          18696: \fBhistory event\fR [\fIevent\fR]
        !          18697: Returns the value of the event given by \fIevent\fR.  \fIEvent\fR
        !          18698: defaults to \fB-1\fR.  This command causes history revision to occur:
        !          18699: see below for details.
        !          18700: .TP
        !          18701: \fBhistory info \fR[\fIcount\fR]
        !          18702: Returns a formatted string (intended for humans to read) giving
        !          18703: the event number and contents for each of the events in the history
        !          18704: list except the current event.  If \fIcount\fR is specified
        !          18705: then only the most recent \fIcount\fR events are returned.
        !          18706: .TP
        !          18707: \fBhistory keep \fIcount\fR
        !          18708: This command may be used to change the size of the history list to
        !          18709: \fIcount\fR events.  Initially, 20 events are retained in the history
        !          18710: list.  This command returns an empty string.
        !          18711: .TP
        !          18712: \fBhistory nextid\fR
        !          18713: Returns the number of the next event to be recorded
        !          18714: in the history list.  It is useful for things like printing the
        !          18715: event number in command-line prompts.
        !          18716: .TP
        !          18717: \fBhistory redo \fR[\fIevent\fR]
        !          18718: Re-execute the command indicated by \fIevent\fR and return its result.
        !          18719: \fIEvent\fR defaults to \fB-1\fR.  This command results in history
        !          18720: revision:  see below for details.
        !          18721: .TP
        !          18722: \fBhistory substitute \fIold new \fR[\fIevent\fR]
        !          18723: Retrieve the command given by \fIevent\fR
        !          18724: (\fB-1\fR by default), replace any occurences of \fIold\fR by
        !          18725: \fInew\fR in the command (only simple character equality is supported;
        !          18726: no wild cards), execute the resulting command, and return the result
        !          18727: of that execution.  This command results in history
        !          18728: revision:  see below for details.
        !          18729: .TP
        !          18730: \fBhistory words \fIselector\fR [\fIevent\fR]
        !          18731: Retrieve from the command given by \fIevent\fR (\fB-1\fR by default)
        !          18732: the words given by \fIselector\fR, and return those words in a string
        !          18733: separated by spaces.  The \fBselector\fR argument has three forms.
        !          18734: If it is a single number then it selects the word given by that
        !          18735: number (\fB0\fR for the command name, \fB1\fR for its first argument,
        !          18736: and so on).  If it consists of two numbers separated by a dash,
        !          18737: then it selects all the arguments between those two.  Otherwise
        !          18738: \fBseletor\fR is treated as a pattern;  all words matching that
        !          18739: pattern (in the sense of \fBstring match\fR) are returned.  In
        !          18740: the numeric forms \fB$\fR may be used
        !          18741: to select the last word of a command.
        !          18742: For example, suppose the most recent command in the history list is
        !          18743: .RS
        !          18744: .DS
        !          18745: \fBformat  {%s is %d years old} Alice [expr $ageInMonths/12]\fR
        !          18746: .DE
        !          18747: Below are some history commands and the results they would produce:
        !          18748: .DS
        !          18749: .ta 4c
        !          18750: .fi
        !          18751: .UL Command "  "
        !          18752: .UL Result
        !          18753: .nf
        !          18754: 
        !          18755: \fBhistory words $     [expr $ageInMonths*12]\fR
        !          18756: \fBhistory words 1-2   {%s is %d years  old} Alice\fR
        !          18757: \fBhistory words *a*o* {%s is %d years old} [expr $ageInMonths*12]\fR
        !          18758: .DE
        !          18759: \fBHistory words\fR results in history revision:  see below for details.
        !          18760: .RE
        !          18761: The history options \fBredo\fR, \fBsubstitute\fR, and \fBwords\fR result
        !          18762: in ``history revision''.  If a history command with one of these options
        !          18763: can be traced directly to the current history event (e.g. the current
        !          18764: event invoked the history command directly or through command
        !          18765: substitution), then the current event is modified to eliminate the
        !          18766: history command and replace it with the result of the history
        !          18767: substitution.  For example, suppose that the most recent command in
        !          18768: the history list is
        !          18769: .DS
        !          18770: \fBset a [expr $b+2]\fR
        !          18771: .DE
        !          18772: and suppose that the next command invoked is one of the ones on
        !          18773: the left side of the table below.  The command actually recorded in
        !          18774: the history event will be the corresponding one on the right side
        !          18775: of the table.
        !          18776: .ne 1.5c
        !          18777: .DS
        !          18778: .ta 4c
        !          18779: .fi
        !          18780: .UL "Command Typed" "  "
        !          18781: .UL "Command Recorded"
        !          18782: .nf
        !          18783: 
        !          18784: \fBhistory     set a [expr $b+2]\fR
        !          18785: \fBhistory s a b       set b [expr $b+2]\fR
        !          18786: \fBset c [history w 2] set c [expr $b+2]\fR
        !          18787: .DE
        !          18788: History revision only occurs for history commands that can be directly
        !          18789: traced to the current event.  For example, the command
        !          18790: \fBeval history\fR will not result in history revision, because
        !          18791: the history command is invoked indirectly by \fBeval\fR.  If history
        !          18792: revision is desired in cases like this, it can be achieved by
        !          18793: requesting it explicitly with \fBhistory change\fR.
        !          18794: .RE
        !          18795: .VE
        !          18796: .TP
        !          18797: \fBif \fItest \fR[\fBthen\fR] \fItrueBody \fR[[\fBelse\fR] \fIfalseBody\fR]
        !          18798: The \fIif\fR command evaluates \fItest\fR as an expression (in the
        !          18799: same way that \fBexpr\fR evaluates its argument).  If the
        !          18800: result is non-zero then \fItrueBody\fR is called by passing it to the
        !          18801: Tcl interpreter.  Otherwise \fIfalseBody\fR is executed by passing it to
        !          18802: the Tcl interpreter.  The \fBthen\fR and \fBelse\fR arguments are optional
        !          18803: ``noise words'' to make the command easier to read.  \fIFalseBody\fR is
        !          18804: also optional;  if it isn't specified then the command does nothing if
        !          18805: \fItest\fR evaluates to zero.  The return value from \fBif\fR is
        !          18806: the value of the last command executed in \fItrueBody\fR or
        !          18807: \fIfalseBody\fR, or the empty string if \fItest\fR evaluates to zero and
        !          18808: \fIfalseBody\fR isn't specified.
        !          18809: .TP
        !          18810: \fBindex \fIvalue index \fR[\fBchars\fR]
        !          18811: Extract an element from a list or a character from a string.  If the
        !          18812: \fBchars\fR keyword isn't specified, then \fBindex\fR treats \fIvalue\fR
        !          18813: as a list and returns the \fIindex\fR'th field from it.  In extracting
        !          18814: the field, \fIindex\fR observes the same rules concerning braces
        !          18815: and backslashes as the Tcl command interpreter;  however, variable
        !          18816: substitution and command substitution do not occur.  If \fIindex\fR is
        !          18817: greater than or equal to the number of elements in \fIvalue\fR, then the empty
        !          18818: string is returned.  If the \fBchars\fR keyword is specified (or any
        !          18819: abbreviation of it), then \fIvalue\fR is treated as a string and the
        !          18820: command returns the \fIindex\fR'th character from it (or the empty string
        !          18821: if there aren't at least \fIindex\fR+1 characters in the string).
        !          18822: Index 0 refers to the first element or character of \fIvalue\fR.
        !          18823: .TP
        !          18824: \fBinfo \fIoption \fR[\fIarg arg ...\fR]
        !          18825: Provide information about various internals to the Tcl interpreter.
        !          18826: The legal \fIoption\fR's (which may be abbreviated) are:
        !          18827: .RS
        !          18828: .TP
        !          18829: \fBinfo args \fIprocname\fR
        !          18830: Returns a list containing the names of the arguments to procedure
        !          18831: \fIprocname\fR, in order.  \fIProcname\fR must be the name of a
        !          18832: Tcl command procedure.
        !          18833: .TP
        !          18834: \fBinfo body \fIprocname\fR
        !          18835: Returns the body of procedure \fIprocname\fR.  \fIProcname\fR must be
        !          18836: the name of a Tcl command procedure.
        !          18837: .TP
        !          18838: \fBinfo commands \fR[\fIpattern\fR]
        !          18839: .VS
        !          18840: If \fIpattern\fR isn't specified, returns a list of names of all the
        !          18841: Tcl commands, including both the built-in commands written in C and
        !          18842: the command procedures defined using the \fBproc\fR command.
        !          18843: If \fIpattern\fR is specified, only those names matching \fIpattern\fR
        !          18844: are returned.  Matching is determined using the same rules as for
        !          18845: \fBstring match\fR.
        !          18846: .VE
        !          18847: .TP
        !          18848: \fBinfo cmdcount\fR
        !          18849: Returns a count of the total number of commands that have been invoked
        !          18850: in this interpreter.
        !          18851: .TP
        !          18852: \fBinfo default \fIprocname arg varname\fR
        !          18853: \fIProcname\fR must be the name of a Tcl command procedure and \fIarg\fR
        !          18854: must be the name of an argument to that procedure.  If \fIarg\fR
        !          18855: doesn't have a default value then the command returns \fB0\fR.
        !          18856: Otherwise it returns \fB1\fR and places the default value of \fIarg\fR
        !          18857: into variable \fIvarname\fR.
        !          18858: .TP
        !          18859: \fBinfo exists \fIvarName\fR
        !          18860: Returns \fB1\fR if the variable named \fIvarName\fR exists in the
        !          18861: current context (either as a global or local variable), returns \fB0\fR
        !          18862: otherwise.
        !          18863: .TP
        !          18864: \fBinfo globals \fR[\fIpattern\fR]
        !          18865: .VS
        !          18866: If \fIpattern\fR isn't specified, returns a list of all the names
        !          18867: of currently-defined global variables.
        !          18868: If \fIpattern\fR is specified, only those names matching \fIpattern\fR
        !          18869: are returned.  Matching is determined using the same rules as for
        !          18870: \fBstring match\fR.
        !          18871: .TP
        !          18872: \fBinfo level\fR [\fInumber\fR]
        !          18873: If \fInumber\fR is not specified, this command returns a number
        !          18874: giving the stack level of the invoking procedure, or 0 if the
        !          18875: command is invoked at top-level.  If \fInumber\fR is specified,
        !          18876: then the result is a list consisting of the name and arguments for the
        !          18877: procedure call at level \fInumber\fR on the stack.  If \fInumber\fR
        !          18878: is positive then it selects a particular stack level (1 refers
        !          18879: to the top-most active procedure, 2 to the procedure it called, and
        !          18880: so on);  otherwise it gives a level relative to the current level
        !          18881: (0 refers to the current procedure, -1 to its caller, and so on).
        !          18882: See the \fBuplevel\fR command for more information on what stack
        !          18883: levels mean.
        !          18884: .TP
        !          18885: \fBinfo locals \fR[\fIpattern\fR]
        !          18886: If \fIpattern\fR isn't specified, returns a list of all the names
        !          18887: of currently-defined local variables, including arguments to the
        !          18888: current procedure, if any.
        !          18889: If \fIpattern\fR is specified, only those names matching \fIpattern\fR
        !          18890: are returned.  Matching is determined using the same rules as for
        !          18891: \fBstring match\fR.
        !          18892: .TP
        !          18893: \fBinfo procs \fR[\fIpattern\fR]
        !          18894: If \fIpattern\fR isn't specified, returns a list of all the
        !          18895: names of Tcl command procedures.
        !          18896: If \fIpattern\fR is specified, only those names matching \fIpattern\fR
        !          18897: are returned.  Matching is determined using the same rules as for
        !          18898: \fBstring match\fR.
        !          18899: .TP
        !          18900: \fBinfo tclversion\fR
        !          18901: Returns the version number for this version of Tcl in the form \fIx.y\fR,
        !          18902: where changes to \fIx\fR represent major changes with probable
        !          18903: incompatibilities and changes to \fIy\fR represent small enhancements and
        !          18904: bug fixes that retain backward compatibility.
        !          18905: .VE
        !          18906: .TP
        !          18907: \fBinfo vars\fR
        !          18908: Returns a list of all the names of currently-visible variables, including
        !          18909: both locals and currently-visible globals.
        !          18910: .RE
        !          18911: .TP
        !          18912: \fBlength \fIvalue\fR [\fBchars\fR]
        !          18913: If \fBchars\fR isn't specified, treats \fIvalue\fR as a list
        !          18914: and returns the number of elements in the list.  If \fBchars\fR
        !          18915: is specified (or any abbreviation of it), then \fBlength\fR
        !          18916: treats \fIvalue\fR as a string and returns the number of characters
        !          18917: in it (not including the terminating null character).
        !          18918: .TP
        !          18919: \fBlist \fIarg1 \fR[\fIarg2 ...\fR]
        !          18920: This command returns a list comprised of all the \fIarg\fRs.  Braces
        !          18921: and backslashes get added as necessary, so that the \fBindex\fR command
        !          18922: may be used on the result to re-extract the original arguments, and also
        !          18923: so that \fBeval\fR may be used to execute the resulting list, with
        !          18924: \fIarg1\fR comprising the command's name and the other \fIarg\fRs comprising
        !          18925: its arguments.  \fBList\fR produces slightly different results than
        !          18926: \fBconcat\fR:  \fBconcat\fR removes one level of grouping before forming
        !          18927: the list, while \fBlist\fR works directly from the original arguments.
        !          18928: For example, the command
        !          18929: .RS
        !          18930: .DS
        !          18931: \fBlist a b {c d e} {f {g h}}
        !          18932: .DE
        !          18933: will return
        !          18934: .DS
        !          18935: \fBa b {c d e} {f {g h}}
        !          18936: .DE
        !          18937: while \fBconcat\fR with the same arguments will return
        !          18938: .DS
        !          18939: \fBa b c d e f {g h}\fR
        !          18940: .DE
        !          18941: .RE
        !          18942: .TP
        !          18943: \fBprint \fIstring \fR[\fIfile \fR[\fBappend\fR]]
        !          18944: .VS
        !          18945: Print the \fIstring\fR argument.  If no \fIfile\fR is specified then
        !          18946: \fIstring\fR is output to the standard output file.  If \fIfile\fR is
        !          18947: specified, then \fIstring\fR is output to that file.  If the \fBappend\fR
        !          18948: option is given, then \fIstring\fR is appended to \fIfile\fR;  otherwise
        !          18949: any existing contents of \fIfile\fR are discarded before \fIstring\fR
        !          18950: is written to the file.
        !          18951: .VE
        !          18952: .TP
        !          18953: \fBproc \fIname args body\fR
        !          18954: The \fBproc\fR command creates a new Tcl command procedure,
        !          18955: \fIname\fR, replacing
        !          18956: any existing command there may have been by that name.  Whenever the
        !          18957: new command is invoked, the contents of \fIbody\fR will be executed
        !          18958: by the Tcl interpreter.  \fIArgs\fR specifies the formal arguments to the
        !          18959: procedure.  It consists of a list, possibly empty, each of whose
        !          18960: elements specifies
        !          18961: one argument.  Each argument specifier is also a list with either
        !          18962: one or two fields.  If there is only a single field in the specifier,
        !          18963: then it is the name of the argument;  if there are two fields, then
        !          18964: the first is the argument name and the second is its default value.
        !          18965: braces and backslashes may be used in the usual way to specify
        !          18966: complex default values.
        !          18967: .IP
        !          18968: When \fIname\fR is invoked, a local variable
        !          18969: will be created for each of the formal arguments to the procedure;  its
        !          18970: value will be the value of corresponding argument in the invoking command
        !          18971: or the argument's default value.
        !          18972: Arguments with default values need not be
        !          18973: specified in a procedure invocation.  However, there must be enough
        !          18974: actual arguments for all the
        !          18975: formal arguments that don't have defaults, and there must not be any extra
        !          18976: actual arguments.  There is one special case to permit procedures with
        !          18977: variable numbers of arguments.  If the last formal argument has the name
        !          18978: \fBargs\fR, then a call to the procedure may contain more actual arguments
        !          18979: than the procedure has formals.  In this case, all of the actual arguments
        !          18980: starting at the one that would be assigned to \fBargs\fR are combined into
        !          18981: a list (as if the \fBlist\fR command had been used);  this combined value
        !          18982: is assigned to the local variable \fBargs\fR.
        !          18983: .IP
        !          18984: When \fIbody\fR is being executed, variable names normally refer to
        !          18985: local variables, which are created automatically when referenced and
        !          18986: deleted when the procedure returns.  One local variable is automatically
        !          18987: created for each of the procedure's arguments.
        !          18988: Global variables can only be accessed by invoking
        !          18989: the \fBglobal\fR command.
        !          18990: .IP
        !          18991: The \fBproc\fR command returns the null string.  When a procedure is
        !          18992: invoked, the procedure's return value is the value specified in a
        !          18993: \fBreturn\fR command.  If the procedure doesn't execute an explicit
        !          18994: \fBreturn\fR, then its return value is the value of the last command
        !          18995: executed in the procedure's body.
        !          18996: If an error occurs while executing the procedure
        !          18997: body, then the procedure-as-a-whole will return that same error.
        !          18998: .TP
        !          18999: \fBrange \fIvalue first last \fR[\fBchars\fR]
        !          19000: Return a range of fields or characters from \fIvalue\fR.  If the
        !          19001: \fBchars\fR keyword isn't specified, then \fIvalue\fR must be
        !          19002: a list and \fBrange\fR will return a new list consisting of elements
        !          19003: \fIfirst\fR through \fIlast\fR, inclusive.  The
        !          19004: special keyword \fBend\fR may be specified for \fIlast\fR; in
        !          19005: this case all the elements of \fIvalue\fR starting at \fIfirst\fR
        !          19006: are returned.  If the \fBchars\fR keyword, or any abbreviation of
        !          19007: it, is specified, then \fBrange\fR treats \fIvalue\fR as a character
        !          19008: string and returns characters \fIfirst\fR through \fIlast\fR of
        !          19009: it, inclusive.  Once again, the \fBend\fR keyword may be used for
        !          19010: \fIlast\fR.  In both cases if a \fIlast\fR value is specified greater
        !          19011: than the size of \fIvalue\fR it is equivalent to specifying \fBend\fR;
        !          19012: if \fIlast\fR is less than \fIfirst\fR then an empty string is returned.
        !          19013: Note: ``\fBrange \fIvalue first first\fR'' does not always produce the
        !          19014: same results as ``\fBindex \fIvalue first\fR'' (although it often does
        !          19015: for simple fields that aren't enclosed in braces);  it does, however,
        !          19016: produce exactly the same results as ``\fBlist [index \fIvalue first\fB]\fR''
        !          19017: .TP
        !          19018: \fBrename \fIoldName newName\fR
        !          19019: .VS
        !          19020: Rename the command that used to be called \fIoldName\fR so that it
        !          19021: is now called \fInewName\fR.  If \fInewName\fR is an empty string
        !          19022: (e.g. {}) then \fIoldName\fR is deleted.  The \fBrename\fR command
        !          19023: returns an empty string as result.
        !          19024: .VE
        !          19025: .TP
        !          19026: \fBreturn \fR[\fIvalue\fR]
        !          19027: Return immediately from the current procedure
        !          19028: .VS
        !          19029: (or top-level command or \fBsource\fR command),
        !          19030: .VE
        !          19031: with \fIvalue\fR as the return value.  If \fIvalue\fR is not specified,
        !          19032: an empty string will be returned as result.
        !          19033: .VE
        !          19034: .TP
        !          19035: \fBscan \fIstring format varname1 \fR[\fIvarname2 ...\fR]
        !          19036: This command parses fields from an input string in the same fashion
        !          19037: as the C \fBsscanf\fR procedure.  \fIString\fR gives the input to
        !          19038: be parsed and \fIformat\fR indicates how to parse it, using \fB%\fR
        !          19039: fields as in \fBsscanf\fR.  All of the \fBsscanf\fR options are valid;
        !          19040: see the \fBsscanf\fR man page for details.  Each \fIvarname\fR gives
        !          19041: the name of a variable;  when a field is scanned from \fIstring\fR,
        !          19042: the result is converted back into a string and assigned to the
        !          19043: corresponding \fIvarname\fR.  The only unusual conversion is for
        !          19044: \fB%c\fR;  in this case, the character value is converted to a
        !          19045: decimal string, which is then assigned to the corresponding \fIvarname\fR.
        !          19046: .VS
        !          19047: .TP
        !          19048: \fBset \fIvarname \fR[\fIvalue\fR]
        !          19049: .VS
        !          19050: If \fIvalue\fR isn't specified, then return the current value of
        !          19051: \fIvarname\fR.  If \fIvalue\fR is specified, then set
        !          19052: .VE
        !          19053: the value of \fIvarname\fR to \fIvalue\fR, creating a new variable
        !          19054: if one doesn't already exist.  If no procedure is active, then
        !          19055: \fIvarname\fR refers to a global variable.  If a procedure is
        !          19056: active, then \fIvarname\fR refers to a parameter or local variable
        !          19057: of the procedure, unless the \fIglobal\fR command has been invoked
        !          19058: to declare \fIvarname\fR to be global.
        !          19059: .VE
        !          19060: .TP
        !          19061: \fBsource \fIfileName\fR
        !          19062: Read file \fIfileName\fR and pass the contents to the Tcl interpreter
        !          19063: as a sequence of commands to execute in the normal fashion.  The return
        !          19064: value of \fBsource\fR is the return value of the last command executed
        !          19065: from the file.  If an error occurs in executing the contents of the
        !          19066: file, then the \fBsource\fR command will return that error.
        !          19067: .VS
        !          19068: If a \fBreturn\fR command is invoked from within the file, the remainder of
        !          19069: the file will be skipped and the \fBsource\fR command will return
        !          19070: normally with the result from the \fBreturn\fR command.
        !          19071: If \fIfileName\fR starts with a tilde, then it is tilde-substituted
        !          19072: as described in the \fBTcl_TildeSubst\fR manual entry.
        !          19073: .VE
        !          19074: .TP
        !          19075: \fBstring \fIoption a b\fR
        !          19076: Perform a string operation on the two operands \fIa\fR and \fIb\fR,
        !          19077: based on \fIoption\fR.  The possible options are:
        !          19078: .RS
        !          19079: .TP
        !          19080: \fBstring compare \fIa b\fR
        !          19081: Perform a character-by-character comparison of strings \fIa\fR and
        !          19082: \fIb\fR, in the same way as the C \fBstrcmp\fR procedure.  Return
        !          19083: -1, 0, or 1, depending on whether \fIa\fR is lexicographically
        !          19084: less than, equal to, or greater than \fIb\fR.
        !          19085: .TP
        !          19086: \fBstring first \fIa b\fR
        !          19087: Search \fIb\fR for a sequence of characters that exactly match
        !          19088: the characters in \fIa\fR.  If found, return the index of the
        !          19089: first character in the first such match within \fIb\fR.  If not
        !          19090: found, return -1.
        !          19091: .TP
        !          19092: \fBstring last \fIa b\fR
        !          19093: Search \fIb\fR for a sequence of characters that exactly match
        !          19094: the characters in \fIa\fR.  If found, return the index of the
        !          19095: first character in the last such match within \fIb\fR.  If there
        !          19096: is no match, then return -1.
        !          19097: .br
        !          19098: .VS
        !          19099: .TP
        !          19100: \fBstring match \fIpattern\fR \fIstring\fR
        !          19101: See if \fIpattern\fR matches \fIstring\fR;  return 1 if it does, 0
        !          19102: if it doesn't.  Matching is done in a fashion similar to that
        !          19103: used by the C-shell.  For the two strings to match, their contents
        !          19104: must be identical except that the following special sequences
        !          19105: may appear in \fIpattern\fR:
        !          19106: .RS
        !          19107: .IP \fB*\fR 10
        !          19108: Matches any sequence of characters in \fIstring\fR,
        !          19109: including a null string.
        !          19110: .IP \fB?\fR 10
        !          19111: Matches any single character in \fIstring\fR.
        !          19112: .IP \fB[\fIchars\fB]\fR 10
        !          19113: Matches any character in the set given by \fIchars\fR.  If a sequence
        !          19114: of the form
        !          19115: \fIx\fB\-\fIy\fR appears in \fIchars\fR, then any character
        !          19116: between \fIx\fR and \fIy\fR, inclusive, will match.
        !          19117: .IP\fB\e\fIx\fR 10
        !          19118: Matches the single character \fIx\fR.  This provides a way of
        !          19119: avoiding the special interpretation of the characters
        !          19120: \fB*?[]\e\fR in \fIpattern\fR.
        !          19121: .RE
        !          19122: .RE
        !          19123: .VE
        !          19124: .IP
        !          19125: Unique abbreviations for \fIoption\fR are acceptable.
        !          19126: .TP
        !          19127: \fBtime \fIcommand\fR [\fIcount\fR]
        !          19128: This command will call the Tcl interpreter \fIcount\fR
        !          19129: times to execute \fIcommand\fR (or once if \fIcount\fR isn't
        !          19130: specified).  It will then return a string of the form
        !          19131: .RS
        !          19132: .DS
        !          19133: \fB503 microseconds per iteration\fR
        !          19134: .DE
        !          19135: which indicates the average amount of time required per iteration,
        !          19136: in microseconds.
        !          19137: Time is measured in elapsed time, not CPU time.
        !          19138: .RE
        !          19139: .TP
        !          19140: \fBuplevel \fR[\fIlevel\fR]\fI command \fR[\fIcommand ...\fR]
        !          19141: .VS
        !          19142: All of the \fIcommand\fR arguments are concatenated as if they had
        !          19143: been passed to \fBconcat\fR;  the result is then evaluated in the
        !          19144: variable context indicated by \fIlevel\fR.  \fBUplevel\fR returns
        !          19145: the result of that evaluation.  If \fIlevel\fR is an integer, then
        !          19146: it gives a distance (up the procedure calling stack) to move before
        !          19147: executing the command.  If \fIlevel\fR consists of \fB#\fR followed by
        !          19148: a number then the number gives an absolute level number.  If \fIlevel\fR
        !          19149: is omitted then it defaults to \fB1\fR.  \fILevel\fR cannot be
        !          19150: defaulted if the first \fIcommand\fR argument starts with a digit or \fB#\fR.
        !          19151: For example, suppose that procedure \fBa\fR was invoked
        !          19152: from top-level, and that it called \fBb\fR, and that \fBb\fR called \fBc\fR.
        !          19153: Suppose that \fBc\fR invokes the \fBuplevel\fR command.  If \fIlevel\fR
        !          19154: is \fB1\fR or \fB#2\fR  or omitted, then the command will be executed
        !          19155: in the variable context of \fBb\fR.  If \fIlevel\fR is \fB2\fR or \fB#1\fR
        !          19156: then the command will be executed in the variable context of \fBa\fR.
        !          19157: If \fIlevel\fR is \fB3\fR or \fB#0\fR then the command will be executed
        !          19158: at top-level (only global variables will be visible).
        !          19159: The \fBuplevel\fR command causes the invoking procedure to disappear
        !          19160: from the procedure calling stack while the command is being executed.
        !          19161: In the above example, suppose \fBc\fR invokes the command
        !          19162: .RS
        !          19163: .DS
        !          19164: \fBuplevel 1 {set x 43; d}
        !          19165: .DE
        !          19166: where \fBc\fR is another Tcl procedure.  The \fBset\fR command will
        !          19167: modify the variable \fBx\fR in \fBb\fR's context, and \fBd\fR will execute
        !          19168: at level 3, as if called from \fBb\fR.  If it in turn executes
        !          19169: the command
        !          19170: .DS
        !          19171: \fBuplevel {set x 42}
        !          19172: .DE
        !          19173: then the \fBset\fR command will modify the same variable \fBx\fR in \fBb\fR's
        !          19174: context:  the procedure \fBc\fR does not appear to be on the call stack
        !          19175: when \fBd\fR is executing.  The command ``\fBinfo level\fR'' may
        !          19176: be used to obtain the level of the current procedure.
        !          19177: \fBUplevel\fR makes it possible to implement new control
        !          19178: constructs as Tcl procedures (for example, \fBuplevel\fR could
        !          19179: be used to implement the \fBwhile\fR construct as a Tcl procedure).
        !          19180: .VE
        !          19181: .RE
        !          19182: 
        !          19183: .VS
        !          19184: .SH "BUILT-IN VARIABLES"
        !          19185: .PP
        !          19186: The following global variables are created and managed automatically
        !          19187: by the Tcl library.  These variables should normally be treated as
        !          19188: read-only by application-specific code and by users.
        !          19189: .TP
        !          19190: \fBerrorInfo\fR
        !          19191: After an error has occurred, this string will contain two or more lines
        !          19192: identifying the Tcl commands and procedures that were being executed
        !          19193: when the most recent error occurred.
        !          19194: .TP
        !          19195: \fBnoAbbrev\fR
        !          19196: If this variable has the value \fB1\fR then abbreviations are disallowed
        !          19197: for command names.  If the variable doesn't exist or has a value other
        !          19198: than \fB1\fR then abbreviations are permitted.
        !          19199: .VE
        !          19200: 
        !          19201: .SH AUTHOR
        !          19202: John Ousterhout, University of California at Berkeley ([email protected])
        !          19203: 0707070035050467311004440011710000040000010746710466276614400002100000007201tcl/Tcl_Eval.man'\" Copyright 1989 Regents of the University of California
        !          19204: '\" Permission to use, copy, modify, and distribute this
        !          19205: '\" documentation for any purpose and without fee is hereby
        !          19206: '\" granted, provided that this notice appears in all copies.
        !          19207: '\" The University of California makes no representations about
        !          19208: '\" the suitability of this material for any purpose.  It is
        !          19209: '\" provided "as is" without express or implied warranty.
        !          19210: '\" 
        !          19211: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_Eval.man,v 1.3 90/01/07 16:02:10 ouster Exp $ SPRITE (Berkeley)
        !          19212: '\" 
        !          19213: .so \*(]ltmac.sprite
        !          19214: .HS Tcl_Eval tcl
        !          19215: .BS
        !          19216: .SH NAME
        !          19217: Tcl_Eval \- execute a Tcl command string
        !          19218: .SH SYNOPSIS
        !          19219: .nf
        !          19220: \fB#include <tcl.h>\fR
        !          19221: .sp
        !          19222: int
        !          19223: \fBTcl_Eval\fR(\fIinterp, cmd, flags, termPtr\fR)
        !          19224: .SH ARGUMENTS
        !          19225: .AS Tcl_Interp **termPtr;
        !          19226: .AP Tcl_Interp *interp in
        !          19227: Interpreter in which to execute the command.  String result will be
        !          19228: stored in \fIinterp->result\fR.
        !          19229: .AP char *cmd in
        !          19230: Command (or sequence of commands) to execute.
        !          19231: .AP char flags in
        !          19232: Either \fBTCL_BRACKET_TERM\fR or 0.
        !          19233: .VS
        !          19234: If 0, then \fBTcl_Eval\fR will process commands from \fIcmd\fR until
        !          19235: it reaches the null character at the end of the string;  newlines
        !          19236: will be treated as command separators.  If \fBTCL_BRACKET_TERM\fR,
        !          19237: then \fBTcl_Eval\fR will process comands from \fIcmd\fR until either it
        !          19238: reaches a null character or it encounters a close bracket that isn't
        !          19239: backslashed or enclosed in braces, at which
        !          19240: point it will return;  newlines will treated as white space, not as
        !          19241: command separators.  Under normal conditions, \fIflags\fR should be 0.
        !          19242: .VE
        !          19243: .AP char **termPtr out
        !          19244: If 
        !          19245: .VS
        !          19246: \fItermPtr\fR is non-NULL, \fBTcl_Eval\fR fills in *\fItermPtr\fR with
        !          19247: the address of the character just after the last one in the last command
        !          19248: successfully executed (normally the null character at the end of \fIcmd\fR).
        !          19249: If an error occurs in the first command in \fIcmd\fR, then \fI*termPtr\fR
        !          19250: will be set to \fIcmd\fR.
        !          19251: .VE
        !          19252: .BE
        !          19253: 
        !          19254: .SH DESCRIPTION
        !          19255: .PP
        !          19256: \fBTcl_Eval\fR parses commands from \fIcmd\fR and executes them in
        !          19257: order until either an error occurs or \fBTcl_Eval\fR reaches a terminating
        !          19258: character (']' or '\0', depending on the value of \fIflags\fR).
        !          19259: The return value from \fBTcl_Eval\fR is one
        !          19260: of the Tcl return codes \fBTCL_OK\fR, \fBTCL_ERROR\fR, \fBTCL_RETURN\fR, \fBTCL_BREAK\fR, or
        !          19261: \fBTCL_CONTINUE\fR, and \fIinterp->result\fR will point to
        !          19262: a string with additional information (result value or error message).
        !          19263: This return information corresponds to the last command executed from
        !          19264: \fIcmd\fR.
        !          19265: .PP
        !          19266: During the processing of a command it is legal to make nested
        !          19267: calls to \fBTcl_Eval\fR (this is how conditionals, loops, and procedures
        !          19268: are implemented).  If a code other than
        !          19269: \fBTCL_OK\fR is returned from a nested \fBTcl_Eval\fR invocation, then the
        !          19270: caller should normally return immediately, passing that same
        !          19271: return code back to its caller, and so on until the top-level application is
        !          19272: reached.  A few commands, like \fBfor\fR, will check for certain
        !          19273: return codes, like \fBTCL_BREAK\fR and \fBTCL_CONTINUE\fR, and process them
        !          19274: specially without returning.
        !          19275: .PP
        !          19276: \fBTcl_Eval\fR keeps track of how many nested Tcl_Eval invocations are
        !          19277: in progress for \fIinterp\fR.
        !          19278: If a code of \fBTCL_RETURN\fR, \fBTCL_BREAK\fR, or \fBTCL_CONTINUE\fR is
        !          19279: about to be returned from the topmost \fBTcl_Eval\fR invocation for
        !          19280: \fIinterp\fR, then \fBTcl_Eval\fR converts the return code to \fBTCL_ERROR\fR
        !          19281: and sets \fIinterp->result\fR to point to an error message indicating that
        !          19282: the \fBreturn\fR, \fBbreak\fR, or \fBcontinue\fR command was
        !          19283: invoked in an inappropriate place.  This means that top-level
        !          19284: applications should never see a return code from \fBTcl_Eval\fR other then
        !          19285: \fBTCL_OK\fR or \fBTCL_ERROR\fR.
        !          19286: 
        !          19287: .SH KEYWORDS
        !          19288: command, execute, interpreter
        !          19289: 0707070035050467301006640011710000040000010746730466276614400002300000002613tcl/Tcl_Concat.man'\" Copyright 1989 Regents of the University of California
        !          19290: '\" Permission to use, copy, modify, and distribute this
        !          19291: '\" documentation for any purpose and without fee is hereby
        !          19292: '\" granted, provided that this notice appears in all copies.
        !          19293: '\" The University of California makes no representations about
        !          19294: '\" the suitability of this material for any purpose.  It is
        !          19295: '\" provided "as is" without express or implied warranty.
        !          19296: '\" 
        !          19297: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_Merge.man,v 1.2 89/03/24 14:16:16 ouster Exp $ SPRITE (Berkeley)
        !          19298: '\" 
        !          19299: .so \*(]ltmac.sprite
        !          19300: .HS Tcl_Concat tcl
        !          19301: .BS
        !          19302: .SH NAME
        !          19303: Tcl_Concat \- concatenate a collection of strings
        !          19304: .SH SYNOPSIS
        !          19305: .nf
        !          19306: \fB#include <tcl.h>\fR
        !          19307: .sp
        !          19308: char *
        !          19309: \fBTcl_Concat\fR(\fIargc, argv\fR)
        !          19310: .SH ARGUMENTS
        !          19311: .AP int argc in
        !          19312: Number of strings.
        !          19313: .AP char *argv[] in
        !          19314: Array of strings to concatenate.  Must have \fIargc\fR entries.
        !          19315: .BE
        !          19316: 
        !          19317: .SH DESCRIPTION
        !          19318: .PP
        !          19319: \fBTcl_Concat\fR is a utility procedure used by several of the
        !          19320: Tcl commands.  Given a collection of strings, it concatenates
        !          19321: them together into a single string, with the original strings
        !          19322: separated by spaces.  This procedure behaves differently than
        !          19323: \fBTcl_Merge\fR, in that the arguments are simply concatenated:
        !          19324: no effort is made to ensure proper list structure.
        !          19325: The result string is dynamically allocated
        !          19326: using \fBmalloc()\fR;  the caller must eventually release the space
        !          19327: by calling \fBfree()\fR.
        !          19328: 
        !          19329: .SH KEYWORDS
        !          19330: concatenate, strings
        !          19331: 0707070035050467121004440011710000040000010746750466276614400002100000003347tcl/Tcl_Expr.man'\" Copyright 1989 Regents of the University of California
        !          19332: '\" Permission to use, copy, modify, and distribute this
        !          19333: '\" documentation for any purpose and without fee is hereby
        !          19334: '\" granted, provided that this notice appears in all copies.
        !          19335: '\" The University of California makes no representations about
        !          19336: '\" the suitability of this material for any purpose.  It is
        !          19337: '\" provided "as is" without express or implied warranty.
        !          19338: '\" 
        !          19339: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_Expr.man,v 1.2 89/03/24 14:16:11 ouster Exp $ SPRITE (Berkeley)
        !          19340: '\" 
        !          19341: .so \*(]ltmac.sprite
        !          19342: .HS Tcl_Expr tcl
        !          19343: .BS
        !          19344: .SH NAME
        !          19345: Tcl_Expr \- evaluate an expression
        !          19346: .SH SYNOPSIS
        !          19347: .nf
        !          19348: \fB#include <tcl.h>\fR
        !          19349: .sp
        !          19350: int
        !          19351: \fBTcl_Expr\fR(\fIinterp, string, valuePtr\fR)
        !          19352: .SH ARGUMENTS
        !          19353: .AS Tcl_Interp *interp
        !          19354: .AP Tcl_Interp *interp in
        !          19355: Interpreter in whose context to evaluate \fIstring\fR.
        !          19356: .AP char *string in
        !          19357: Expression to be evaluated.
        !          19358: .AP int *valuePtr out
        !          19359: The expression's (integer) value will be stored here.
        !          19360: .BE
        !          19361: 
        !          19362: .SH DESCRIPTION
        !          19363: .PP
        !          19364: \fBTcl_Expr\fR is a utility procedure used by several of the Tcl commands.
        !          19365: Given a string whose contents are an expression of the form
        !          19366: accepted by the \fBexpr\fR command, this procedure evaluates
        !          19367: the expression and returns the integer result in \fI*valuePtr\fR.
        !          19368: Normally \fBTcl_Expr\fR returns \fBTCL_OK\fR as its result.  However, if
        !          19369: the expression contains a syntax error then Tcl_Expr
        !          19370: returns \fBTCL_ERROR\fR and sets \fIinterp->result\fR to point
        !          19371: to an error message in the usual fashion.
        !          19372: \fBTcl_Expr\fR may make nested calls to \fBTcl_Eval\fR while parsing the
        !          19373: expression;  if any of these calls returns an error then
        !          19374: \fBTcl_Expr\fR will return that same error information.  If an error
        !          19375: is returned, then \fI*valuePtr\fR will not be modified.
        !          19376: 
        !          19377: .SH KEYWORDS
        !          19378: evaluate, expression
        !          19379: 0707070035050467101004440011710000040000010746770466276614400002300000003273tcl/Tcl_GetVar.man'\" Copyright 1989 Regents of the University of California
        !          19380: '\" Permission to use, copy, modify, and distribute this
        !          19381: '\" documentation for any purpose and without fee is hereby
        !          19382: '\" granted, provided that this notice appears in all copies.
        !          19383: '\" The University of California makes no representations about
        !          19384: '\" the suitability of this material for any purpose.  It is
        !          19385: '\" provided "as is" without express or implied warranty.
        !          19386: '\" 
        !          19387: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_GetVar.man,v 1.3 90/03/11 17:22:41 ouster Exp $ SPRITE (Berkeley)
        !          19388: '\" 
        !          19389: .so \*(]ltmac.sprite
        !          19390: .HS Tcl_GetVar tcl
        !          19391: .BS
        !          19392: .SH NAME
        !          19393: Tcl_GetVar \- return the value of a Tcl variable
        !          19394: .SH SYNOPSIS
        !          19395: .nf
        !          19396: \fB#include <tcl.h>\fR
        !          19397: .sp
        !          19398: char *
        !          19399: \fBTcl_GetVar\fR(\fIinterp, varName, global\fR)
        !          19400: .SH ARGUMENTS
        !          19401: .AS Tcl_Interp *interp
        !          19402: .AP Tcl_Interp *interp in
        !          19403: Interpreter in which to check for variable.
        !          19404: .AP char *varName in
        !          19405: Name of desired variable.
        !          19406: .AP int global in
        !          19407: If non-zero, then insist that \fIvarName\fR be interpreted as
        !          19408: a global variable regardless of whether a procedure invocation
        !          19409: is in progress.
        !          19410: .BE
        !          19411: 
        !          19412: .SH DESCRIPTION
        !          19413: .PP
        !          19414: \fBTcl_GetVar\fR is a utility procedure used by several of the Tcl commands.
        !          19415: It returns the value of variable \fIvarName\fR in
        !          19416: interpreter \fIinterp\fR.  If there isn't a Tcl command procedure
        !          19417: being interpreted right now, or if \fIglobal\fR is non-zero,
        !          19418: then \fIvarName\fR is always treated
        !          19419: as the name of a global variable.  Otherwise, if a procedure is
        !          19420: being interpreted,
        !          19421: then \fIvarName\fR will be treated as a local variable name, unless
        !          19422: it has been declared global using the \fBglobal\fR command.  If
        !          19423: no variable by the name \fIvarName\fR exists right now, then a NULL
        !          19424: pointer is returned.
        !          19425: 
        !          19426: .SH KEYWORDS
        !          19427: interpreter, global, local, variable
        !          19428: 0707070035050467071004440011710000040000010747000466276614400002300000010461tcl/Tcl_Interp.man'\" Copyright 1989 Regents of the University of California
        !          19429: '\" Permission to use, copy, modify, and distribute this
        !          19430: '\" documentation for any purpose and without fee is hereby
        !          19431: '\" granted, provided that this notice appears in all copies.
        !          19432: '\" The University of California makes no representations about
        !          19433: '\" the suitability of this material for any purpose.  It is
        !          19434: '\" provided "as is" without express or implied warranty.
        !          19435: '\" 
        !          19436: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_Interp.man,v 1.3 90/01/15 14:58:40 ouster Exp $ SPRITE (Berkeley)
        !          19437: '\" 
        !          19438: .so \*(]ltmac.sprite
        !          19439: .HS Tcl_Interp tcl
        !          19440: .BS
        !          19441: .SH NAME
        !          19442: Tcl_Interp \- client-visible fields of interpreter structures
        !          19443: .SH SYNOPSIS
        !          19444: .nf
        !          19445: \fB#include <tcl.h>\fR
        !          19446: .sp
        !          19447: typedef struct {
        !          19448:        char *\fIresult\fR;
        !          19449:        int \fIdynamic\fR;
        !          19450:        int \fIerrorLine\fR;
        !          19451: } Tcl_Interp;
        !          19452: .BE
        !          19453: 
        !          19454: .SH DESCRIPTION
        !          19455: .PP
        !          19456: The \fBTcl_CreateInterp\fR procedure returns a pointer to a Tcl_Interp
        !          19457: structure.  This pointer is then passed into other Tcl procedures
        !          19458: to process commands in the interpreter and perform other operations
        !          19459: on the interpreter.  Interpreter structures contain many many fields
        !          19460: that are used by Tcl, but only three that may be accessed by
        !          19461: clients:  \fIresult\fR and \fIdynamic\fR.  These fields are used by
        !          19462: Tcl command procedures to return strings that form part of the result
        !          19463: of each command.  When Tcl_Eval returns, the string pointed to be
        !          19464: the \fIresult\fR field will be used by Tcl_Eval's caller
        !          19465: as a return value or error message.
        !          19466: .PP
        !          19467: The easiest way for command procedures to manipulate the \fIresult\fR
        !          19468: and \fIdynamic\fR fields is to call Tcl_Return;  Tcl_Return
        !          19469: will hide all the details of managing these fields.
        !          19470: The description below is for those procedures that manipulate the
        !          19471: fields directly.
        !          19472: .PP
        !          19473: Whenever a command procedure returns, it must ensure
        !          19474: that the \fIresult\fR field of its interpreter points to the string
        !          19475: being returned by the command.  Normally, these strings are assumed
        !          19476: to be statically allocated;  in this case, the \fIdynamic\fR field
        !          19477: must be zero.  As an alternative, a command procedure may dynamically
        !          19478: allocate its return value and store a pointer to it in \fIinterp->result\fR.
        !          19479: In this case, the command procedure must also set \fIinterp->dynamic\fR
        !          19480: to non-zero.  If \fIinterp->dynamic\fR is non-zero, then Tcl will free
        !          19481: the space pointed to by \fIinterp->result\fR before it invokes the next command.
        !          19482: If a client procedure overwrites \fIinterp->result\fR field when
        !          19483: \fIinterp->dynamic\fR is non-zero, then it is responsible for freeing the
        !          19484: old \fIinterp->result\fR.  Once again, if clients use the
        !          19485: \fBTcl_Result\fR procedure to manage these fields, they need not worry
        !          19486: about these issues.
        !          19487: .PP
        !          19488: As part of processing each command, \fBTcl_Eval\fR initializes
        !          19489: \fIinterp->result\fR
        !          19490: and \fIinterp->dynamic\fR just before calling the command procedure for
        !          19491: the command.  The \fIdynamic\fR field will be initialized to zero,
        !          19492: and \fIinterp->result\fR will point to an empty string.  Commands that
        !          19493: do not return any value can simply leave the fields alone.
        !          19494: Furthermore, the empty string pointed to by \fIresult\fR is actually
        !          19495: part of an array of \fBTCL_RESULT_SIZE\fR characters (approximately 200).
        !          19496: If a command wishes to return a short string, it can simply copy
        !          19497: it to the area pointed to by \fIinterp->result\fR.  Or, it can use
        !          19498: the sprintf procedure to generate a short result string at the location
        !          19499: pointed to by \fIinterp->result\fR.
        !          19500: .PP
        !          19501: If a command procedure calls a lower-level procedure that sets
        !          19502: \fIinterp->result\fR and \fIinterp->dynamic\fR (such as a recursive
        !          19503: instance of \fBTcl_Eval\fR), then the command procedure must reset
        !          19504: \fIinterp->result\fR if it wishes to return a value different
        !          19505: than that returned by the lower-level procedure.  As part of
        !          19506: resetting \fIinterp->result\fR, it must free the space if
        !          19507: \fIinterp->dynamic\fR is set.  Once again, the easiest way to
        !          19508: make sure this gets done right is to call \fBTcl_Result\fR.
        !          19509: .PP
        !          19510: The \fIerrorLine\fR
        !          19511: .VS
        !          19512: field is valid only after \fBTcl_Eval\fR returns
        !          19513: a \fBTCL_ERROR\fR return code.  In this situation the \fIerrorLine\fR
        !          19514: field identifies the line number of the command being executed when
        !          19515: the error occurred.  The line numbers are relative to the command
        !          19516: being executed:  1 means the first line of the command passed to
        !          19517: \fBTcl_Eval\fR, 2 means the second line, and so on.  \fIErrorLine\fR
        !          19518: should not normally be modified except by \fBTcl_Eval\fR.
        !          19519: .VE
        !          19520: 
        !          19521: .SH KEYWORDS
        !          19522: dynamic, interpreter, result
        !          19523: 0707070035050467021004440011710000040000010747010466276614500002200000002563tcl/Tcl_Merge.man'\" Copyright 1989 Regents of the University of California
        !          19524: '\" Permission to use, copy, modify, and distribute this
        !          19525: '\" documentation for any purpose and without fee is hereby
        !          19526: '\" granted, provided that this notice appears in all copies.
        !          19527: '\" The University of California makes no representations about
        !          19528: '\" the suitability of this material for any purpose.  It is
        !          19529: '\" provided "as is" without express or implied warranty.
        !          19530: '\" 
        !          19531: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_Merge.man,v 1.2 89/03/24 14:16:16 ouster Exp $ SPRITE (Berkeley)
        !          19532: '\" 
        !          19533: .so \*(]ltmac.sprite
        !          19534: .HS Tcl_Merge tcl
        !          19535: .BS
        !          19536: .SH NAME
        !          19537: Tcl_Merge \- generate a Tcl list from a collection of strings
        !          19538: .SH SYNOPSIS
        !          19539: .nf
        !          19540: \fB#include <tcl.h>\fR
        !          19541: .sp
        !          19542: char *
        !          19543: \fBTcl_Merge\fR(\fIargc, argv\fR)
        !          19544: .SH ARGUMENTS
        !          19545: .AP int argc in
        !          19546: Number of strings.
        !          19547: .AP char *argv[] in
        !          19548: Array of strings to combine into list.  Must have \fIargc\fR entries.
        !          19549: .BE
        !          19550: 
        !          19551: .SH DESCRIPTION
        !          19552: .PP
        !          19553: \fBTcl_Merge\fR is a utility procedure used by several of the Tcl commands.
        !          19554: Given a collection of strings, it generates a result string
        !          19555: that has proper list structure, such that the \fBindex\fR
        !          19556: Tcl command may be used to extract out the original strings.
        !          19557: In order to do this, \fBTcl_Merge\fR may have to add braces
        !          19558: and/or backslashes.  The result string is dynamically allocated
        !          19559: using \fBmalloc()\fR;  the caller must eventually release the space
        !          19560: using \fBfree()\fR.
        !          19561: 
        !          19562: .SH KEYWORDS
        !          19563: list, strings
        !          19564: 0707070035050466771004440011710000040000010747030466276614500002300000004640tcl/Tcl_Return.man'\" Copyright 1989 Regents of the University of California
        !          19565: '\" Permission to use, copy, modify, and distribute this
        !          19566: '\" documentation for any purpose and without fee is hereby
        !          19567: '\" granted, provided that this notice appears in all copies.
        !          19568: '\" The University of California makes no representations about
        !          19569: '\" the suitability of this material for any purpose.  It is
        !          19570: '\" provided "as is" without express or implied warranty.
        !          19571: '\" 
        !          19572: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_Return.man,v 1.3 89/08/16 08:52:46 ouster Exp $ SPRITE (Berkeley)
        !          19573: '\" 
        !          19574: .so \*(]ltmac.sprite
        !          19575: .HS Tcl_Return tcl
        !          19576: .BS
        !          19577: .SH NAME
        !          19578: Tcl_Return \- set up a Tcl result string
        !          19579: .SH SYNOPSIS
        !          19580: .nf
        !          19581: \fB#include <tcl.h>\fR
        !          19582: .sp
        !          19583: \fBTcl_Return\fR(\fIinterp, string, status\fR)
        !          19584: .SH ARGUMENTS
        !          19585: .AP Tcl_Interp *interp out
        !          19586: Interpreter for which a return value is to be established.
        !          19587: .AP char *string in
        !          19588: String value to be returned, or \fBNULL\fR.
        !          19589: .AP int status in
        !          19590: Indicates the nature of \fIstring\fR.  Must be either \fBTCL_STATIC\fR,
        !          19591: \fBTCL_DYNAMIC\fR, or \fBTCL_VOLATILE\fR.
        !          19592: .BE
        !          19593: 
        !          19594: .SH DESCRIPTION
        !          19595: .PP
        !          19596: \fBTcl_Return\fR is a convenience routine used by several of the Tcl commands.  It
        !          19597: arranges for \fIstring\fR to be the return string for the current Tcl
        !          19598: command in \fIinterp\fR.  If \fIstatus\fR is \fBTCL_STATIC\fR it means that
        !          19599: \fIstring\fR
        !          19600: refers to an area of static storage that is guaranteed to remain
        !          19601: untouched until at least the next call to \fBTcl_Eval\fR.  If \fIstatus\fR
        !          19602: is \fBTCL_DYNAMIC\fR it means that \fIstring\fR was allocated with a call
        !          19603: to \fBmalloc()\fR and is now the property of the Tcl system.  \fBTcl_Return\fR
        !          19604: will arrange for the string's storage to be released by calling
        !          19605: \fBfree()\fR when it is no longer needed.  The third possibility is for
        !          19606: \fIstatus\fR to be \fBTCL_VOLATILE\fR.  This means that \fIstring\fR points
        !          19607: to an area of memory that is likely to be overwritten when \fBTcl_Return\fR
        !          19608: returns.  In this case \fBTcl_Return\fR makes a copy of the string and arranges
        !          19609: for the copy to be the return string for the current Tcl command.
        !          19610: .PP
        !          19611: If \fIstring\fR is \fBNULL\fR, then \fIstatus\fR is ignored and \fBTcl_Return\fR
        !          19612: re-initializes \fIinterp\fR's result to point to the pre-allocated result
        !          19613: area, with an empty string in the result area.
        !          19614: .PP
        !          19615: In any of the above cases, if \fIinterp\fR holds a dynamically-allocated
        !          19616: result at the time of the \fBTcl_Return\fR call, the old result's storage
        !          19617: is released by calling \fBfree()\fR.
        !          19618: 
        !          19619: .SH KEYWORDS
        !          19620: command, result, return value, interpreter
        !          19621: 0707070035050466751004440011710000040000010747040466276614500002300000003365tcl/Tcl_SetVar.man'\" Copyright 1989 Regents of the University of California
        !          19622: '\" Permission to use, copy, modify, and distribute this
        !          19623: '\" documentation for any purpose and without fee is hereby
        !          19624: '\" granted, provided that this notice appears in all copies.
        !          19625: '\" The University of California makes no representations about
        !          19626: '\" the suitability of this material for any purpose.  It is
        !          19627: '\" provided "as is" without express or implied warranty.
        !          19628: '\" 
        !          19629: '\" $Header: /sprite/src/lib/tcl/RCS/Tcl_SetVar.man,v 1.3 89/03/24 15:15:17 ouster Exp $ SPRITE (Berkeley)
        !          19630: '\" 
        !          19631: .so \*(]ltmac.sprite
        !          19632: .HS Tcl_SetVar tcl
        !          19633: .BS
        !          19634: .SH NAME
        !          19635: Tcl_SetVar \- change the value of a Tcl variable
        !          19636: .SH SYNOPSIS
        !          19637: .nf
        !          19638: \fB#include <tcl.h>\fR
        !          19639: .sp
        !          19640: \fBTcl_SetVar\fR(\fIinterp, varName, newValue, global\fR)
        !          19641: .SH ARGUMENTS
        !          19642: .AS Tcl_Interp *interp
        !          19643: .AP Tcl_Interp *interp in
        !          19644: Interpreter in which to change variable.
        !          19645: .AP char *varName in
        !          19646: Name of variable.
        !          19647: .AP char *newValue in
        !          19648: New value for \fIvarName\fR
        !          19649: .AP int global in
        !          19650: If non-zero, then insist on interpreting \fIvarName\fR as a global
        !          19651: variable, regardless of whether a procedure invocation is in
        !          19652: progress.
        !          19653: .BE
        !          19654: 
        !          19655: .SH DESCRIPTION
        !          19656: .PP
        !          19657: This is a utility procedure used by many of the Tcl commands.
        !          19658: It changes the value of variable \fIvarName\fR in
        !          19659: interpreter \fIinterp\fR, such that future calls to \fBTcl_GetVar\fR
        !          19660: will return \fInewValue\fR as the value of \fIvarName\fR.
        !          19661: \fBTcl_SetVar\fR uses the same rules for selecting
        !          19662: a global or local variable as \fBTcl_GetVar\fR.  If \fIvarName\fR
        !          19663: doesn't already exist, then a new variable is created.
        !          19664: \fBTcl_SetVar\fR copies both \fIvarName\fR and \fInewValue\fR into
        !          19665: its own private storage, so the caller may change the contents
        !          19666: of these strings after \fBTcl_SetVar\fR returns without affecting
        !          19667: the variable's value.
        !          19668: 
        !          19669: .SH KEYWORDS
        !          19670: interpreter, variable
        !          19671: 0707070035050466641006640011710000040000010747050466276614500001600000350164tcl/usenix.ps%!PS-Adobe-1.0
        !          19672: %%Creator: mace.Berkeley.EDU:ouster (John Ousterhout,525E,0865,5476132)
        !          19673: %%Title: stdin (ditroff)
        !          19674: %%CreationDate: Fri Dec 22 15:50:55 1989
        !          19675: %%EndComments
        !          19676: %      @(#)psdit.pro   1.3 4/15/88
        !          19677: % lib/psdit.pro -- prolog for psdit (ditroff) files
        !          19678: % Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
        !          19679: % last edit: shore Sat Nov 23 20:28:03 1985
        !          19680: % RCSID: $Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel $
        !          19681: 
        !          19682: % Changed by Edward Wang ([email protected]) to handle graphics,
        !          19683: % 17 Feb, 87.
        !          19684: 
        !          19685: /$DITroff 140 dict def $DITroff begin
        !          19686: /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
        !          19687: /xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
        !          19688:  /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
        !          19689:  /pagesave save def}def
        !          19690: /PB{save /psv exch def currentpoint translate 
        !          19691:  resolution 72 div dup neg scale 0 0 moveto}def
        !          19692: /PE{psv restore}def
        !          19693: /arctoobig 90 def /arctoosmall .05 def
        !          19694: /m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
        !          19695: /tan{dup sin exch cos div}def
        !          19696: /point{resolution 72 div mul}def
        !          19697: /dround        {transform round exch round exch itransform}def
        !          19698: /xT{/devname exch def}def
        !          19699: /xr{/mh exch def /my exch def /resolution exch def}def
        !          19700: /xp{}def
        !          19701: /xs{docsave restore end}def
        !          19702: /xt{}def
        !          19703: /xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
        !          19704:  {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
        !          19705: /xH{/fontheight exch def F}def
        !          19706: /xS{/fontslant exch def F}def
        !          19707: /s{/fontsize exch def /fontheight fontsize def F}def
        !          19708: /f{/fontnum exch def F}def
        !          19709: /F{fontheight 0 le{/fontheight fontsize def}if
        !          19710:  fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
        !          19711:  fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
        !          19712:  makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
        !          19713: /X{exch currentpoint exch pop moveto show}def
        !          19714: /N{3 1 roll moveto show}def
        !          19715: /Y{exch currentpoint pop exch moveto show}def
        !          19716: /S{show}def
        !          19717: /ditpush{}def/ditpop{}def
        !          19718: /AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
        !          19719: /AN{4 2 roll moveto 0 exch ashow}def
        !          19720: /AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
        !          19721: /AS{0 exch ashow}def
        !          19722: /MX{currentpoint exch pop moveto}def
        !          19723: /MY{currentpoint pop exch moveto}def
        !          19724: /MXY{moveto}def
        !          19725: /cb{pop}def    % action on unknown char -- nothing for now
        !          19726: /n{}def/w{}def
        !          19727: /p{pop showpage pagesave restore /pagesave save def}def
        !          19728: /Dt{/Dlinewidth exch def}def 1 Dt
        !          19729: /Ds{/Ddash exch def}def -1 Ds
        !          19730: /Di{/Dstipple exch def}def 1 Di
        !          19731: /Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
        !          19732: /Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
        !          19733:  {Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
        !          19734: /Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
        !          19735:  currentpoint newpath moveto}def
        !          19736: /Dl{rlineto Dstroke}def
        !          19737: /arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
        !          19738:  currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
        !          19739:  currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
        !          19740: /Dc{dup arcellipse Dstroke}def
        !          19741: /De{arcellipse Dstroke}def
        !          19742: /Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
        !          19743:  /cradius centerv centerv mul centerh centerh mul add sqrt def
        !          19744:  /eradius endv endv mul endh endh mul add sqrt def
        !          19745:  /endang endv endh atan def
        !          19746:  /startang centerv neg centerh neg atan def
        !          19747:  /sweep startang endang sub dup 0 lt{360 add}if def
        !          19748:  sweep arctoobig gt
        !          19749:  {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
        !          19750:   /midh midang cos midrad mul def /midv midang sin midrad mul def
        !          19751:   midh neg midv neg endh endv centerh centerv midh midv Da
        !          19752:   Da}
        !          19753:  {sweep arctoosmall ge
        !          19754:   {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
        !          19755:    centerv neg controldelt mul centerh controldelt mul
        !          19756:    endv neg controldelt mul centerh add endh add
        !          19757:    endh controldelt mul centerv add endv add
        !          19758:    centerh endh add centerv endv add rcurveto Dstroke}
        !          19759:   {centerh endh add centerv endv add rlineto Dstroke}
        !          19760:   ifelse}
        !          19761:  ifelse}def
        !          19762: /Dpatterns[
        !          19763: [%cf[widthbits]
        !          19764: [8<0000000000000010>]
        !          19765: [8<0411040040114000>]
        !          19766: [8<0204081020408001>]
        !          19767: [8<0000103810000000>]
        !          19768: [8<6699996666999966>]
        !          19769: [8<0000800100001008>]
        !          19770: [8<81c36666c3810000>]
        !          19771: [8<0f0e0c0800000000>]
        !          19772: [8<0000000000000010>]
        !          19773: [8<0411040040114000>]
        !          19774: [8<0204081020408001>]
        !          19775: [8<0000001038100000>]
        !          19776: [8<6699996666999966>]
        !          19777: [8<0000800100001008>]
        !          19778: [8<81c36666c3810000>]
        !          19779: [8<0f0e0c0800000000>]
        !          19780: [8<0042660000246600>]
        !          19781: [8<0000990000990000>]
        !          19782: [8<0804020180402010>]
        !          19783: [8<2418814242811824>]
        !          19784: [8<6699996666999966>]
        !          19785: [8<8000000008000000>]
        !          19786: [8<00001c3e363e1c00>]
        !          19787: [8<0000000000000000>]
        !          19788: [32<00000040000000c00000004000000040000000e0000000000000000000000000>]
        !          19789: [32<00000000000060000000900000002000000040000000f0000000000000000000>]
        !          19790: [32<000000000000000000e0000000100000006000000010000000e0000000000000>]
        !          19791: [32<00000000000000002000000060000000a0000000f00000002000000000000000>]
        !          19792: [32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
        !          19793: [32<0000090000000600000000000000000000000000000007000000080000000e00>]
        !          19794: [32<00010000000200000004000000040000000000000000000000000000000f0000>]
        !          19795: [32<0900000006000000090000000600000000000000000000000000000006000000>]]
        !          19796: [%ug
        !          19797: [8<0000020000000000>]
        !          19798: [8<0000020000002000>]
        !          19799: [8<0004020000002000>]
        !          19800: [8<0004020000402000>]
        !          19801: [8<0004060000402000>]
        !          19802: [8<0004060000406000>]
        !          19803: [8<0006060000406000>]
        !          19804: [8<0006060000606000>]
        !          19805: [8<00060e0000606000>]
        !          19806: [8<00060e000060e000>]
        !          19807: [8<00070e000060e000>]
        !          19808: [8<00070e000070e000>]
        !          19809: [8<00070e020070e000>]
        !          19810: [8<00070e020070e020>]
        !          19811: [8<04070e020070e020>]
        !          19812: [8<04070e024070e020>]
        !          19813: [8<04070e064070e020>]
        !          19814: [8<04070e064070e060>]
        !          19815: [8<06070e064070e060>]
        !          19816: [8<06070e066070e060>]
        !          19817: [8<06070f066070e060>]
        !          19818: [8<06070f066070f060>]
        !          19819: [8<060f0f066070f060>]
        !          19820: [8<060f0f0660f0f060>]
        !          19821: [8<060f0f0760f0f060>]
        !          19822: [8<060f0f0760f0f070>]
        !          19823: [8<0e0f0f0760f0f070>]
        !          19824: [8<0e0f0f07e0f0f070>]
        !          19825: [8<0e0f0f0fe0f0f070>]
        !          19826: [8<0e0f0f0fe0f0f0f0>]
        !          19827: [8<0f0f0f0fe0f0f0f0>]
        !          19828: [8<0f0f0f0ff0f0f0f0>]
        !          19829: [8<1f0f0f0ff0f0f0f0>]
        !          19830: [8<1f0f0f0ff1f0f0f0>]
        !          19831: [8<1f0f0f8ff1f0f0f0>]
        !          19832: [8<1f0f0f8ff1f0f0f8>]
        !          19833: [8<9f0f0f8ff1f0f0f8>]
        !          19834: [8<9f0f0f8ff9f0f0f8>]
        !          19835: [8<9f0f0f9ff9f0f0f8>]
        !          19836: [8<9f0f0f9ff9f0f0f9>]
        !          19837: [8<9f8f0f9ff9f0f0f9>]
        !          19838: [8<9f8f0f9ff9f8f0f9>]
        !          19839: [8<9f8f1f9ff9f8f0f9>]
        !          19840: [8<9f8f1f9ff9f8f1f9>]
        !          19841: [8<bf8f1f9ff9f8f1f9>]
        !          19842: [8<bf8f1f9ffbf8f1f9>]
        !          19843: [8<bf8f1fdffbf8f1f9>]
        !          19844: [8<bf8f1fdffbf8f1fd>]
        !          19845: [8<ff8f1fdffbf8f1fd>]
        !          19846: [8<ff8f1fdffff8f1fd>]
        !          19847: [8<ff8f1ffffff8f1fd>]
        !          19848: [8<ff8f1ffffff8f1ff>]
        !          19849: [8<ff9f1ffffff8f1ff>]
        !          19850: [8<ff9f1ffffff9f1ff>]
        !          19851: [8<ff9f9ffffff9f1ff>]
        !          19852: [8<ff9f9ffffff9f9ff>]
        !          19853: [8<ffbf9ffffff9f9ff>]
        !          19854: [8<ffbf9ffffffbf9ff>]
        !          19855: [8<ffbfdffffffbf9ff>]
        !          19856: [8<ffbfdffffffbfdff>]
        !          19857: [8<ffffdffffffbfdff>]
        !          19858: [8<ffffdffffffffdff>]
        !          19859: [8<fffffffffffffdff>]
        !          19860: [8<ffffffffffffffff>]]
        !          19861: [%mg
        !          19862: [8<8000000000000000>]
        !          19863: [8<0822080080228000>]
        !          19864: [8<0204081020408001>]
        !          19865: [8<40e0400000000000>]
        !          19866: [8<66999966>]
        !          19867: [8<8001000010080000>]
        !          19868: [8<81c36666c3810000>]
        !          19869: [8<f0e0c08000000000>]
        !          19870: [16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
        !          19871: [16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
        !          19872: [8<c3c300000000c3c3>]
        !          19873: [16<0040008001000200040008001000200040008000000100020004000800100020>]
        !          19874: [16<0040002000100008000400020001800040002000100008000400020001000080>]
        !          19875: [16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
        !          19876: [8<80>]
        !          19877: [8<8040201000000000>]
        !          19878: [8<84cc000048cc0000>]
        !          19879: [8<9900009900000000>]
        !          19880: [8<08040201804020100800020180002010>]
        !          19881: [8<2418814242811824>]
        !          19882: [8<66999966>]
        !          19883: [8<8000000008000000>]
        !          19884: [8<70f8d8f870000000>]
        !          19885: [8<0814224180402010>]
        !          19886: [8<aa00440a11a04400>]
        !          19887: [8<018245aa45820100>]
        !          19888: [8<221c224180808041>]
        !          19889: [8<88000000>]
        !          19890: [8<0855800080550800>]
        !          19891: [8<2844004482440044>]
        !          19892: [8<0810204080412214>]
        !          19893: [8<00>]]]def
        !          19894: /Dfill{
        !          19895:  transform /maxy exch def /maxx exch def
        !          19896:  transform /miny exch def /minx exch def
        !          19897:  minx maxx gt{/minx maxx /maxx minx def def}if
        !          19898:  miny maxy gt{/miny maxy /maxy miny def def}if
        !          19899:  Dpatterns Dstipple 1 sub get exch 1 sub get
        !          19900:  aload pop /stip exch def /stipw exch def /stiph 128 def
        !          19901:  /imatrix[stipw 0 0 stiph 0 0]def
        !          19902:  /tmatrix[stipw 0 0 stiph 0 0]def
        !          19903:  /minx minx cvi stiph idiv stiph mul def
        !          19904:  /miny miny cvi stipw idiv stipw mul def
        !          19905:  gsave eoclip 0 setgray
        !          19906:  miny stiph maxy{
        !          19907:   tmatrix exch 5 exch put
        !          19908:   minx stipw maxx{
        !          19909:    tmatrix exch 4 exch put tmatrix setmatrix
        !          19910:    stipw stiph true imatrix {stip} imagemask
        !          19911:   }for
        !          19912:  }for
        !          19913:  grestore
        !          19914: }def
        !          19915: /Dp{Dfill Dstroke}def
        !          19916: /DP{Dfill currentpoint newpath moveto}def
        !          19917: end
        !          19918: 
        !          19919: /ditstart{$DITroff begin
        !          19920:  /nfonts 60 def                        % NFONTS makedev/ditroff dependent!
        !          19921:  /fonts[nfonts{0}repeat]def
        !          19922:  /fontnames[nfonts{()}repeat]def
        !          19923: /docsave save def
        !          19924: }def
        !          19925: 
        !          19926: % character outcalls
        !          19927: /oc{
        !          19928:  /pswid exch def /cc exch def /name exch def
        !          19929:  /ditwid pswid fontsize mul resolution mul 72000 div def
        !          19930:  /ditsiz fontsize resolution mul 72 div def
        !          19931:  ocprocs name known{ocprocs name get exec}{name cb}ifelse
        !          19932: }def
        !          19933: /fractm [.65 0 0 .6 0 0] def
        !          19934: /fraction{
        !          19935:  /fden exch def /fnum exch def gsave /cf currentfont def
        !          19936:  cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
        !          19937:  fnum show rmoveto currentfont cf setfont(\244)show setfont fden show 
        !          19938:  grestore ditwid 0 rmoveto
        !          19939: }def
        !          19940: /oce{grestore ditwid 0 rmoveto}def
        !          19941: /dm{ditsiz mul}def
        !          19942: /ocprocs 50 dict def ocprocs begin
        !          19943: (14){(1)(4)fraction}def
        !          19944: (12){(1)(2)fraction}def
        !          19945: (34){(3)(4)fraction}def
        !          19946: (13){(1)(3)fraction}def
        !          19947: (23){(2)(3)fraction}def
        !          19948: (18){(1)(8)fraction}def
        !          19949: (38){(3)(8)fraction}def
        !          19950: (58){(5)(8)fraction}def
        !          19951: (78){(7)(8)fraction}def
        !          19952: (sr){gsave 0 .06 dm rmoveto(\326)show oce}def
        !          19953: (is){gsave 0 .15 dm rmoveto(\362)show oce}def
        !          19954: (->){gsave 0 .02 dm rmoveto(\256)show oce}def
        !          19955: (<-){gsave 0 .02 dm rmoveto(\254)show oce}def
        !          19956: (==){gsave 0 .05 dm rmoveto(\272)show oce}def
        !          19957: (uc){gsave currentpoint 400 .009 dm mul add translate
        !          19958:      8 -8 scale ucseal oce}def
        !          19959: end
        !          19960: 
        !          19961: % an attempt at a PostScript FONT to implement ditroff special chars
        !          19962: % this will enable us to 
        !          19963: %      cache the little buggers
        !          19964: %      generate faster, more compact PS out of psdit
        !          19965: %      confuse everyone (including myself)!
        !          19966: 50 dict dup begin
        !          19967: /FontType 3 def
        !          19968: /FontName /DIThacks def
        !          19969: /FontMatrix [.001 0 0 .001 0 0] def
        !          19970: /FontBBox [-260 -260 900 900] def% a lie but ...
        !          19971: /Encoding 256 array def
        !          19972: 0 1 255{Encoding exch /.notdef put}for
        !          19973: Encoding
        !          19974:  dup 8#040/space put %space
        !          19975:  dup 8#110/rc put %right ceil
        !          19976:  dup 8#111/lt put %left  top curl
        !          19977:  dup 8#112/bv put %bold vert
        !          19978:  dup 8#113/lk put %left  mid curl
        !          19979:  dup 8#114/lb put %left  bot curl
        !          19980:  dup 8#115/rt put %right top curl
        !          19981:  dup 8#116/rk put %right mid curl
        !          19982:  dup 8#117/rb put %right bot curl
        !          19983:  dup 8#120/rf put %right floor
        !          19984:  dup 8#121/lf put %left  floor
        !          19985:  dup 8#122/lc put %left  ceil
        !          19986:  dup 8#140/sq put %square
        !          19987:  dup 8#141/bx put %box
        !          19988:  dup 8#142/ci put %circle
        !          19989:  dup 8#143/br put %box rule
        !          19990:  dup 8#144/rn put %root extender
        !          19991:  dup 8#145/vr put %vertical rule
        !          19992:  dup 8#146/ob put %outline bullet
        !          19993:  dup 8#147/bu put %bullet
        !          19994:  dup 8#150/ru put %rule
        !          19995:  dup 8#151/ul put %underline
        !          19996:  pop
        !          19997: /DITfd 100 dict def
        !          19998: /BuildChar{0 begin
        !          19999:  /cc exch def /fd exch def
        !          20000:  /charname fd /Encoding get cc get def
        !          20001:  /charwid fd /Metrics get charname get def
        !          20002:  /charproc fd /CharProcs get charname get def
        !          20003:  charwid 0 fd /FontBBox get aload pop setcachedevice
        !          20004:  2 setlinejoin 40 setlinewidth
        !          20005:  newpath 0 0 moveto gsave charproc grestore
        !          20006:  end}def
        !          20007: /BuildChar load 0 DITfd put
        !          20008: /CharProcs 50 dict def
        !          20009: CharProcs begin
        !          20010: /space{}def
        !          20011: /.notdef{}def
        !          20012: /ru{500 0 rls}def
        !          20013: /rn{0 840 moveto 500 0 rls}def
        !          20014: /vr{0 800 moveto 0 -770 rls}def
        !          20015: /bv{0 800 moveto 0 -1000 rls}def
        !          20016: /br{0 840 moveto 0 -1000 rls}def
        !          20017: /ul{0 -140 moveto 500 0 rls}def
        !          20018: /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
        !          20019: /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
        !          20020: /sq{80 0 rmoveto currentpoint dround newpath moveto
        !          20021:     640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
        !          20022: /bx{80 0 rmoveto currentpoint dround newpath moveto
        !          20023:     640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
        !          20024: /ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
        !          20025:     50 setlinewidth stroke}def
        !          20026: 
        !          20027: /lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
        !          20028: /lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
        !          20029: /rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
        !          20030: /rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
        !          20031: /lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
        !          20032:     0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
        !          20033: /rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
        !          20034:     0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
        !          20035: /lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
        !          20036: /rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
        !          20037: /lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
        !          20038: /rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
        !          20039: end
        !          20040: 
        !          20041: /Metrics 50 dict def Metrics begin
        !          20042: /.notdef 0 def
        !          20043: /space 500 def
        !          20044: /ru 500 def
        !          20045: /br 0 def
        !          20046: /lt 416 def
        !          20047: /lb 416 def
        !          20048: /rt 416 def
        !          20049: /rb 416 def
        !          20050: /lk 416 def
        !          20051: /rk 416 def
        !          20052: /rc 416 def
        !          20053: /lc 416 def
        !          20054: /rf 416 def
        !          20055: /lf 416 def
        !          20056: /bv 416 def
        !          20057: /ob 350 def
        !          20058: /bu 350 def
        !          20059: /ci 750 def
        !          20060: /bx 750 def
        !          20061: /sq 750 def
        !          20062: /rn 500 def
        !          20063: /ul 500 def
        !          20064: /vr 0 def
        !          20065: end
        !          20066: 
        !          20067: DITfd begin
        !          20068: /s2 500 def /s4 250 def /s3 333 def
        !          20069: /a4p{arcto pop pop pop pop}def
        !          20070: /2cx{2 copy exch}def
        !          20071: /rls{rlineto stroke}def
        !          20072: /currx{currentpoint pop}def
        !          20073: /dround{transform round exch round exch itransform} def
        !          20074: end
        !          20075: end
        !          20076: /DIThacks exch definefont pop
        !          20077: ditstart
        !          20078: (psc)xT
        !          20079: 576 1 1 xr
        !          20080: 1(Times-Roman)xf 1 f
        !          20081: 2(Times-Italic)xf 2 f
        !          20082: 3(Times-Bold)xf 3 f
        !          20083: 4(Times-BoldItalic)xf 4 f
        !          20084: 5(Helvetica)xf 5 f
        !          20085: 6(Helvetica-Bold)xf 6 f
        !          20086: 7(Courier)xf 7 f
        !          20087: 8(Courier-Bold)xf 8 f
        !          20088: 9(Symbol)xf 9 f
        !          20089: 10(DIThacks)xf 10 f
        !          20090: 10 s
        !          20091: 1 f
        !          20092: xi
        !          20093: %%EndProlog
        !          20094: 
        !          20095: %%Page: 1 1
        !          20096: 10 s 10 xH 0 xS 1 f
        !          20097: 11 s
        !          20098: 3 f
        !          20099: 14 s
        !          20100: 1420 1144(Tcl:)N
        !          20101: 1669(An)X
        !          20102: 1840(Embeddable)X
        !          20103: 2471(Command)X
        !          20104: 3004(Language)X
        !          20105: 2 f
        !          20106: 12 s
        !          20107: 2070 1469(John)N
        !          20108: 2281(K.)X
        !          20109: 2393(Ousterhout)X
        !          20110: 1 f
        !          20111: 1916 1794(Computer)N
        !          20112: 2325(Science)X
        !          20113: 2649(Division)X
        !          20114: 1548 1893 0.3542(Electrical)AN
        !          20115: 1943(Engineering)X
        !          20116: 2438(and)X
        !          20117: 2601(Computer)X
        !          20118: 3010(Sciences)X
        !          20119: 1752 1992(University)N
        !          20120: 2182(of)X
        !          20121: 2286(California)X
        !          20122: 2701(at)X
        !          20123: 2795(Berkeley)X
        !          20124: 2051 2091(Berkeley,)N
        !          20125: 2447(CA)X
        !          20126: 2604(94720)X
        !          20127: 1920 2190([email protected])N
        !          20128: 3 f
        !          20129: 2187 2614(ABSTRACT)N
        !          20130: 1 f
        !          20131: 11 s
        !          20132: 1040 2878(Tcl)N
        !          20133: 1182(is)X
        !          20134: 1265(an)X
        !          20135: 1372(interpreter)X
        !          20136: 1762(for)X
        !          20137: 1887(a)X
        !          20138: 1949(tool)X
        !          20139: 2110(command)X
        !          20140: 2481(language.)X
        !          20141: 2866(It)X
        !          20142: 2943(consists)X
        !          20143: 3245(of)X
        !          20144: 3341(a)X
        !          20145: 3403(library)X
        !          20146: 3661(pack-)X
        !          20147: 1040 2977(age)N
        !          20148: 1199(that)X
        !          20149: 1369(is)X
        !          20150: 1465(embedded)X
        !          20151: 1864(in)X
        !          20152: 1970(tools)X
        !          20153: 2179(\(such)X
        !          20154: 2406(as)X
        !          20155: 2515(editors,)X
        !          20156: 2813(debuggers,)X
        !          20157: 3232(etc.\))X
        !          20158: 3422(as)X
        !          20159: 3531(the)X
        !          20160: 3675(basic)X
        !          20161: 1040 3076(command)N
        !          20162: 1418(interpreter.)X
        !          20163: 1858(Tcl)X
        !          20164: 2005(provides)X
        !          20165: 2337(\(a\))X
        !          20166: 2463(a)X
        !          20167: 2531(parser)X
        !          20168: 2774(for)X
        !          20169: 2905(a)X
        !          20170: 2973(simple)X
        !          20171: 3238(textual)X
        !          20172: 3508(command)X
        !          20173: 1040 3175(language,)N
        !          20174: 1414(\(b\))X
        !          20175: 1550(a)X
        !          20176: 1623(collection)X
        !          20177: 2006(of)X
        !          20178: 2113(built-in)X
        !          20179: 2408(utility)X
        !          20180: 2655(commands,)X
        !          20181: 3093(and)X
        !          20182: 3254(\(c\))X
        !          20183: 3384(a)X
        !          20184: 3456(C)X
        !          20185: 3548(interface)X
        !          20186: 1040 3274(that)N
        !          20187: 1201(tools)X
        !          20188: 1401(use)X
        !          20189: 1546(to)X
        !          20190: 1642(augment)X
        !          20191: 1973(the)X
        !          20192: 2108(built-in)X
        !          20193: 2396(commands)X
        !          20194: 2805(with)X
        !          20195: 2989(tool-speci\256c)X
        !          20196: 3452(commands.)X
        !          20197: 1040 3373(Tcl)N
        !          20198: 1187(is)X
        !          20199: 1275(particularly)X
        !          20200: 1711(attractive)X
        !          20201: 2069(when)X
        !          20202: 2288(integrated)X
        !          20203: 2670(with)X
        !          20204: 2856(the)X
        !          20205: 2993(widget)X
        !          20206: 3262(library)X
        !          20207: 3526(of)X
        !          20208: 3628(a)X
        !          20209: 3695(win-)X
        !          20210: 1040 3472(dow)N
        !          20211: 1233(system:)X
        !          20212: 1567(it)X
        !          20213: 1659(increases)X
        !          20214: 2022(the)X
        !          20215: 2171(programmability)X
        !          20216: 2806(of)X
        !          20217: 2920(the)X
        !          20218: 3069(widgets)X
        !          20219: 3384(by)X
        !          20220: 3513(providing)X
        !          20221: 1040 3571(mechanisms)N
        !          20222: 1504(for)X
        !          20223: 1634(variables,)X
        !          20224: 2002(procedures,)X
        !          20225: 2437(expressions,)X
        !          20226: 2896(etc;)X
        !          20227: 3073(it)X
        !          20228: 3150(allows)X
        !          20229: 3407(users)X
        !          20230: 3614(to)X
        !          20231: 3710(pro-)X
        !          20232: 1040 3670(gram)N
        !          20233: 1245(both)X
        !          20234: 1426(the)X
        !          20235: 1558(appearance)X
        !          20236: 1977(and)X
        !          20237: 2128(the)X
        !          20238: 2259(actions)X
        !          20239: 2532(of)X
        !          20240: 2628(widgets;)X
        !          20241: 2972(and)X
        !          20242: 3122(it)X
        !          20243: 3195(offers)X
        !          20244: 3422(a)X
        !          20245: 3484(simple)X
        !          20246: 3743(but)X
        !          20247: 1040 3769(powerful)N
        !          20248: 1379(communication)X
        !          20249: 1951(mechanism)X
        !          20250: 2375(between)X
        !          20251: 2690(interactive)X
        !          20252: 3085(programs.)X
        !          20253: 2 f
        !          20254: 1097 4160(This)N
        !          20255: 1271(paper)X
        !          20256: 1498(will)X
        !          20257: 1654(appear)X
        !          20258: 1925(in)X
        !          20259: 2016(the)X
        !          20260: 2146(1990)X
        !          20261: 2344(Winter)X
        !          20262: 2606(USENIX)X
        !          20263: 2931(Conference)X
        !          20264: 3359(Proceedings)X
        !          20265: 1 f
        !          20266: 10 s
        !          20267: 10 f
        !          20268: 720 5323(h)N
        !          20269: 752(hhhhhhhhhhhhhhhhhhhhhhhhhhhh)X
        !          20270: 1 f
        !          20271: 892 5432(The)N
        !          20272: 1052(work)X
        !          20273: 1252(described)X
        !          20274: 1595(here)X
        !          20275: 1769(was)X
        !          20276: 1929(supported)X
        !          20277: 2280(in)X
        !          20278: 2377(part)X
        !          20279: 2537(by)X
        !          20280: 2652(the)X
        !          20281: 2784(National)X
        !          20282: 3094(Science)X
        !          20283: 3378(Foundation)X
        !          20284: 3776(under)X
        !          20285: 3993(Grant)X
        !          20286: 720 5522(ECS-8351961.)N
        !          20287: 
        !          20288: 1 p
        !          20289: %%Page: 1 2
        !          20290: 10 s 10 xH 0 xS 1 f
        !          20291: 3 f
        !          20292: 11 s
        !          20293: 720 483(Tcl:)N
        !          20294: 894(An)X
        !          20295: 1028(Embeddable)X
        !          20296: 1525(Command)X
        !          20297: 1942(Language)X
        !          20298: 3466(December)X
        !          20299: 3868(22,)X
        !          20300: 4000(1989)X
        !          20301: 720 771(1.)N
        !          20302: 830(Introduction)X
        !          20303: 1 f
        !          20304: 920 903(Tcl)N
        !          20305: 1071(stands)X
        !          20306: 1324(for)X
        !          20307: 1459(``tool)X
        !          20308: 1687(command)X
        !          20309: 2067(language''.)X
        !          20310: 2519(It)X
        !          20311: 2605(consists)X
        !          20312: 2916(of)X
        !          20313: 3021(a)X
        !          20314: 3092(library)X
        !          20315: 3359(package)X
        !          20316: 3679(that)X
        !          20317: 3844(programs)X
        !          20318: 720 1002(can)N
        !          20319: 865(use)X
        !          20320: 1005(as)X
        !          20321: 1101(the)X
        !          20322: 1232(basis)X
        !          20323: 1431(for)X
        !          20324: 1556(their)X
        !          20325: 1740(command)X
        !          20326: 2110(languages.)X
        !          20327: 2528(The)X
        !          20328: 2687(development)X
        !          20329: 3165(of)X
        !          20330: 3260(Tcl)X
        !          20331: 3400(was)X
        !          20332: 3558(motivated)X
        !          20333: 3934(by)X
        !          20334: 4044(two)X
        !          20335: 720 1101(observations.)N
        !          20336: 1240(The)X
        !          20337: 1408(\256rst)X
        !          20338: 1576(observation)X
        !          20339: 2018(is)X
        !          20340: 2108(that)X
        !          20341: 2271(a)X
        !          20342: 2340(general-purpose)X
        !          20343: 2936(programmable)X
        !          20344: 3480(command)X
        !          20345: 3858(language)X
        !          20346: 720 1200(ampli\256es)N
        !          20347: 1075(the)X
        !          20348: 1214(power)X
        !          20349: 1464(of)X
        !          20350: 1568(a)X
        !          20351: 1637(tool)X
        !          20352: 1805(by)X
        !          20353: 1923(allowing)X
        !          20354: 2262(users)X
        !          20355: 2472(to)X
        !          20356: 2571(write)X
        !          20357: 2782(programs)X
        !          20358: 3144(in)X
        !          20359: 3243(the)X
        !          20360: 3381(command)X
        !          20361: 3759(language)X
        !          20362: 4107(in)X
        !          20363: 720 1299(order)N
        !          20364: 933(to)X
        !          20365: 1030(extend)X
        !          20366: 1293(the)X
        !          20367: 1429(tool's)X
        !          20368: 1658(built-in)X
        !          20369: 1947(facilities.)X
        !          20370: 2324(Among)X
        !          20371: 2616(the)X
        !          20372: 2752(best-known)X
        !          20373: 3190(examples)X
        !          20374: 3551(of)X
        !          20375: 3651(powerful)X
        !          20376: 3995(com-)X
        !          20377: 720 1398(mand)N
        !          20378: 943(languages)X
        !          20379: 1322(are)X
        !          20380: 1456(those)X
        !          20381: 1669(of)X
        !          20382: 1769(the)X
        !          20383: 1904(UNIX)X
        !          20384: 2149(shells)X
        !          20385: 2377([5])X
        !          20386: 2506(and)X
        !          20387: 2660(the)X
        !          20388: 2795(Emacs)X
        !          20389: 3057(editor)X
        !          20390: 3290([8].)X
        !          20391: 3463(In)X
        !          20392: 3563(each)X
        !          20393: 3751(case)X
        !          20394: 3929(a)X
        !          20395: 3995(com-)X
        !          20396: 720 1497(puting)N
        !          20397: 970(environment)X
        !          20398: 1440(of)X
        !          20399: 1537(unusual)X
        !          20400: 1834(power)X
        !          20401: 2076(has)X
        !          20402: 2216(arisen,)X
        !          20403: 2471(in)X
        !          20404: 2563(large)X
        !          20405: 2762(part)X
        !          20406: 2922(because)X
        !          20407: 3223(of)X
        !          20408: 3319(the)X
        !          20409: 3450 0.2898(availability)AX
        !          20410: 3872(of)X
        !          20411: 3968(a)X
        !          20412: 4030(pro-)X
        !          20413: 720 1596(grammable)N
        !          20414: 1139(command)X
        !          20415: 1509(language.)X
        !          20416: 920 1728(The)N
        !          20417: 1083(second)X
        !          20418: 1352(motivating)X
        !          20419: 1761(observation)X
        !          20420: 2197(is)X
        !          20421: 2281(that)X
        !          20422: 2439(the)X
        !          20423: 2572(number)X
        !          20424: 2866(of)X
        !          20425: 2964(interactive)X
        !          20426: 3362(applications)X
        !          20427: 3814(is)X
        !          20428: 3898(increas-)X
        !          20429: 720 1827(ing.)N
        !          20430: 911(In)X
        !          20431: 1018(the)X
        !          20432: 1160(timesharing)X
        !          20433: 1611(environments)X
        !          20434: 2125(of)X
        !          20435: 2232(the)X
        !          20436: 2374(late)X
        !          20437: 2536(1970's)X
        !          20438: 2809(and)X
        !          20439: 2970(early)X
        !          20440: 3180(1980's)X
        !          20441: 3453(almost)X
        !          20442: 3722(all)X
        !          20443: 3844(programs)X
        !          20444: 720 1926(were)N
        !          20445: 918(batch-oriented.)X
        !          20446: 1499(They)X
        !          20447: 1708(were)X
        !          20448: 1906(typically)X
        !          20449: 2244(invoked)X
        !          20450: 2556(using)X
        !          20451: 2775(an)X
        !          20452: 2886(interactive)X
        !          20453: 3287(command)X
        !          20454: 3663(shell.)X
        !          20455: 3902(Besides)X
        !          20456: 720 2025(the)N
        !          20457: 851(shell,)X
        !          20458: 1063(only)X
        !          20459: 1243(a)X
        !          20460: 1305(few)X
        !          20461: 1459(other)X
        !          20462: 1663(programs)X
        !          20463: 2018(needed)X
        !          20464: 2290(to)X
        !          20465: 2382(be)X
        !          20466: 2488(interactive,)X
        !          20467: 2906(such)X
        !          20468: 3090(as)X
        !          20469: 3186(editors)X
        !          20470: 3449(and)X
        !          20471: 3599(mailers.)X
        !          20472: 3925(In)X
        !          20473: 4020(con-)X
        !          20474: 720 2124(trast,)N
        !          20475: 923(the)X
        !          20476: 1060(personal)X
        !          20477: 1387(workstations)X
        !          20478: 1866(used)X
        !          20479: 2055(today,)X
        !          20480: 2301(with)X
        !          20481: 2486(their)X
        !          20482: 2676(raster)X
        !          20483: 2899(displays)X
        !          20484: 3216(and)X
        !          20485: 3371(mice,)X
        !          20486: 3593(encourage)X
        !          20487: 3982(a)X
        !          20488: 4049(dif-)X
        !          20489: 720 2223(ferent)N
        !          20490: 954(system)X
        !          20491: 1228(structure)X
        !          20492: 1565(where)X
        !          20493: 1808(a)X
        !          20494: 1876(large)X
        !          20495: 2081(number)X
        !          20496: 2379(of)X
        !          20497: 2480(programs)X
        !          20498: 2840(are)X
        !          20499: 2975(interactive)X
        !          20500: 3376(and)X
        !          20501: 3531(the)X
        !          20502: 3667(most)X
        !          20503: 3867(common)X
        !          20504: 720 2322(style)N
        !          20505: 915(of)X
        !          20506: 1016(interaction)X
        !          20507: 1422(is)X
        !          20508: 1509(to)X
        !          20509: 1606(manipulate)X
        !          20510: 2026(individual)X
        !          20511: 2412(applications)X
        !          20512: 2866(directly)X
        !          20513: 3163(with)X
        !          20514: 3347(a)X
        !          20515: 3413(mouse.)X
        !          20516: 3714(Furthermore,)X
        !          20517: 720 2421(the)N
        !          20518: 855(large)X
        !          20519: 1058(displays)X
        !          20520: 1374(available)X
        !          20521: 1720(today)X
        !          20522: 1943(make)X
        !          20523: 2161(it)X
        !          20524: 2238(possible)X
        !          20525: 2554(for)X
        !          20526: 2683(many)X
        !          20527: 2906(interactive)X
        !          20528: 3306(applications)X
        !          20529: 3760(to)X
        !          20530: 3856(be)X
        !          20531: 3965(active)X
        !          20532: 720 2520(at)N
        !          20533: 806(once,)X
        !          20534: 1016(whereas)X
        !          20535: 1325(this)X
        !          20536: 1475(was)X
        !          20537: 1633(not)X
        !          20538: 1768(practical)X
        !          20539: 2094(with)X
        !          20540: 2273(the)X
        !          20541: 2403(smaller)X
        !          20542: 2685(screens)X
        !          20543: 2965(of)X
        !          20544: 3060(ten)X
        !          20545: 3190(years)X
        !          20546: 3397(ago.)X
        !          20547: 920 2652(Unfortunately,)N
        !          20548: 1462(few)X
        !          20549: 1619(of)X
        !          20550: 1718(today's)X
        !          20551: 2002(interactive)X
        !          20552: 2400(applications)X
        !          20553: 2852(have)X
        !          20554: 3043(the)X
        !          20555: 3176(power)X
        !          20556: 3420(of)X
        !          20557: 3518(the)X
        !          20558: 3651(shell)X
        !          20559: 3843(or)X
        !          20560: 3941(Emacs)X
        !          20561: 720 2751(command)N
        !          20562: 1093(languages.)X
        !          20563: 1514(Where)X
        !          20564: 1773(good)X
        !          20565: 1974(command)X
        !          20566: 2346(languages)X
        !          20567: 2722(exist,)X
        !          20568: 2935(they)X
        !          20569: 3111(tend)X
        !          20570: 3287(to)X
        !          20571: 3380(be)X
        !          20572: 3487(tied)X
        !          20573: 3644(to)X
        !          20574: 3737(speci\256c)X
        !          20575: 4030(pro-)X
        !          20576: 720 2850(grams.)N
        !          20577: 1006(Each)X
        !          20578: 1209(new)X
        !          20579: 1382(interactive)X
        !          20580: 1782(application)X
        !          20581: 2202(requires)X
        !          20582: 2512(a)X
        !          20583: 2577(new)X
        !          20584: 2749(command)X
        !          20585: 3123(language)X
        !          20586: 3467(to)X
        !          20587: 3562(be)X
        !          20588: 3671(developed.)X
        !          20589: 4103(In)X
        !          20590: 720 2949(most)N
        !          20591: 919(cases)X
        !          20592: 1131(application)X
        !          20593: 1551(programmers)X
        !          20594: 2047(do)X
        !          20595: 2162(not)X
        !          20596: 2302(have)X
        !          20597: 2495(the)X
        !          20598: 2630(time)X
        !          20599: 2815(or)X
        !          20600: 2915(inclination)X
        !          20601: 3321(to)X
        !          20602: 3417(implement)X
        !          20603: 3823(a)X
        !          20604: 3888(general-)X
        !          20605: 720 3048(purpose)N
        !          20606: 1046(facility)X
        !          20607: 1345(\(particularly)X
        !          20608: 1829(if)X
        !          20609: 1931(the)X
        !          20610: 2087(application)X
        !          20611: 2528(itself)X
        !          20612: 2752(is)X
        !          20613: 2858(simple\),)X
        !          20614: 3192(so)X
        !          20615: 3317(the)X
        !          20616: 3472(resulting)X
        !          20617: 3828(command)X
        !          20618: 720 3147(languages)N
        !          20619: 1094(tend)X
        !          20620: 1268(to)X
        !          20621: 1359(have)X
        !          20622: 1547(insuf\256cient)X
        !          20623: 1966(power)X
        !          20624: 2207(and)X
        !          20625: 2356(clumsy)X
        !          20626: 2633(syntax.)X
        !          20627: 920 3279(Tcl)N
        !          20628: 1065(is)X
        !          20629: 1151(an)X
        !          20630: 1261(application-independent)X
        !          20631: 2141(command)X
        !          20632: 2516(language.)X
        !          20633: 2905(It)X
        !          20634: 2986(exists)X
        !          20635: 3214(as)X
        !          20636: 3314(a)X
        !          20637: 3380(C)X
        !          20638: 3466(library)X
        !          20639: 3728(package)X
        !          20640: 4043(that)X
        !          20641: 720 3378(can)N
        !          20642: 869(be)X
        !          20643: 978(used)X
        !          20644: 1165(in)X
        !          20645: 1260(many)X
        !          20646: 1482(different)X
        !          20647: 1811(programs.)X
        !          20648: 2213(The)X
        !          20649: 2376(Tcl)X
        !          20650: 2520(library)X
        !          20651: 2781(provides)X
        !          20652: 3110(a)X
        !          20653: 3175(parser)X
        !          20654: 3415(for)X
        !          20655: 3543(a)X
        !          20656: 3608(simple)X
        !          20657: 3870(but)X
        !          20658: 4009(fully)X
        !          20659: 720 3477(programmable)N
        !          20660: 1271(command)X
        !          20661: 1656(language.)X
        !          20662: 2055(The)X
        !          20663: 2229(library)X
        !          20664: 2501(also)X
        !          20665: 2680(implements)X
        !          20666: 3129(a)X
        !          20667: 3204(collection)X
        !          20668: 3589(of)X
        !          20669: 3698(built-in)X
        !          20670: 3995(com-)X
        !          20671: 720 3576(mands)N
        !          20672: 975(that)X
        !          20673: 1133(provide)X
        !          20674: 1427(general-purpose)X
        !          20675: 2018(programming)X
        !          20676: 2523(constructs)X
        !          20677: 2905(such)X
        !          20678: 3091(as)X
        !          20679: 3189(variables,)X
        !          20680: 3554(lists,)X
        !          20681: 3744(expressions,)X
        !          20682: 720 3675(conditionals,)N
        !          20683: 1217(looping,)X
        !          20684: 1552(and)X
        !          20685: 1722(procedures.)X
        !          20686: 2194(Individual)X
        !          20687: 2599(application)X
        !          20688: 3034(programs)X
        !          20689: 3408(extend)X
        !          20690: 3685(the)X
        !          20691: 3835(basic)X
        !          20692: 4058(Tcl)X
        !          20693: 720 3774(language)N
        !          20694: 1066(with)X
        !          20695: 1251(application-speci\256c)X
        !          20696: 1970(commands.)X
        !          20697: 2424(The)X
        !          20698: 2589(Tcl)X
        !          20699: 2735(library)X
        !          20700: 2998(also)X
        !          20701: 3168(provides)X
        !          20702: 3499(a)X
        !          20703: 3565(set)X
        !          20704: 3690(of)X
        !          20705: 3790(utility)X
        !          20706: 4030(rou-)X
        !          20707: 720 3873(tines)N
        !          20708: 909(to)X
        !          20709: 1000(simplify)X
        !          20710: 1317(the)X
        !          20711: 1447 0.2885(implementation)AX
        !          20712: 2025(of)X
        !          20713: 2120(tool-speci\256c)X
        !          20714: 2578(commands.)X
        !          20715: 920 4005(I)N
        !          20716: 982(believe)X
        !          20717: 1270(that)X
        !          20718: 1436(Tcl)X
        !          20719: 1587(is)X
        !          20720: 1679(particularly)X
        !          20721: 2119(useful)X
        !          20722: 2367(in)X
        !          20723: 2468(a)X
        !          20724: 2539(windowing)X
        !          20725: 2967(environment,)X
        !          20726: 3467(and)X
        !          20727: 3626(that)X
        !          20728: 3791(it)X
        !          20729: 3873(provides)X
        !          20730: 720 4104(two)N
        !          20731: 876(advantages.)X
        !          20732: 1335(First,)X
        !          20733: 1543(it)X
        !          20734: 1617(can)X
        !          20735: 1763(be)X
        !          20736: 1870(used)X
        !          20737: 2054(as)X
        !          20738: 2150(a)X
        !          20739: 2212(general-purpose)X
        !          20740: 2801(mechanism)X
        !          20741: 3226(for)X
        !          20742: 3351(programming)X
        !          20743: 3854(the)X
        !          20744: 3985(inter-)X
        !          20745: 720 4203(faces)N
        !          20746: 932(of)X
        !          20747: 1037(applications.)X
        !          20748: 1540(If)X
        !          20749: 1630(a)X
        !          20750: 1701(tool)X
        !          20751: 1871(is)X
        !          20752: 1962(based)X
        !          20753: 2194(on)X
        !          20754: 2314(Tcl,)X
        !          20755: 2486(then)X
        !          20756: 2669(it)X
        !          20757: 2750(should)X
        !          20758: 3016(be)X
        !          20759: 3130(relatively)X
        !          20760: 3495(easy)X
        !          20761: 3682(to)X
        !          20762: 3782(modify)X
        !          20763: 4068(the)X
        !          20764: 720 4302(application's)N
        !          20765: 1206(user)X
        !          20766: 1382(interface)X
        !          20767: 1720(and)X
        !          20768: 1877(to)X
        !          20769: 1975(extend)X
        !          20770: 2239(the)X
        !          20771: 2376(interface)X
        !          20772: 2713(with)X
        !          20773: 2899(new)X
        !          20774: 3074(commands.)X
        !          20775: 3529(Second,)X
        !          20776: 3839(and)X
        !          20777: 3995(more)X
        !          20778: 720 4401(important,)N
        !          20779: 1123(Tcl)X
        !          20780: 1278(provides)X
        !          20781: 1618(a)X
        !          20782: 1694(uniform)X
        !          20783: 2015(framework)X
        !          20784: 2437(for)X
        !          20785: 2576(communication)X
        !          20786: 3162(between)X
        !          20787: 3491(tools.)X
        !          20788: 3743(If)X
        !          20789: 3837(used)X
        !          20790: 4034(uni-)X
        !          20791: 720 4500(formly)N
        !          20792: 991(in)X
        !          20793: 1091(all)X
        !          20794: 1211(tools,)X
        !          20795: 1436(Tcl)X
        !          20796: 1585(will)X
        !          20797: 1754(make)X
        !          20798: 1976(it)X
        !          20799: 2056(possible)X
        !          20800: 2375(for)X
        !          20801: 2507(tools)X
        !          20802: 2709(to)X
        !          20803: 2808(work)X
        !          20804: 3018(together)X
        !          20805: 3337(more)X
        !          20806: 3548(gracefully)X
        !          20807: 3935(than)X
        !          20808: 4117(is)X
        !          20809: 720 4599(possible)N
        !          20810: 1031(today.)X
        !          20811: 920 4731(The)N
        !          20812: 1082(rest)X
        !          20813: 1234(of)X
        !          20814: 1332(this)X
        !          20815: 1485(paper)X
        !          20816: 1705(is)X
        !          20817: 1789(organized)X
        !          20818: 2161(as)X
        !          20819: 2259(follows.)X
        !          20820: 2592(Section)X
        !          20821: 2882(2)X
        !          20822: 2951(describes)X
        !          20823: 3303(the)X
        !          20824: 3436(Tcl)X
        !          20825: 3579(language)X
        !          20826: 3922(as)X
        !          20827: 4020(seen)X
        !          20828: 720 4830(by)N
        !          20829: 833(users.)X
        !          20830: 1082(Section)X
        !          20831: 1372(3)X
        !          20832: 1441(discusses)X
        !          20833: 1793(how)X
        !          20834: 1969(Tcl)X
        !          20835: 2112(is)X
        !          20836: 2196(used)X
        !          20837: 2382(in)X
        !          20838: 2475(applications,)X
        !          20839: 2948(including)X
        !          20840: 3306(the)X
        !          20841: 3438(C-language)X
        !          20842: 3868(interface)X
        !          20843: 720 4929(between)N
        !          20844: 1040(application)X
        !          20845: 1460(programs)X
        !          20846: 1819(and)X
        !          20847: 1973(the)X
        !          20848: 2108(Tcl)X
        !          20849: 2253(library.)X
        !          20850: 2559(Section)X
        !          20851: 2851(4)X
        !          20852: 2922(describes)X
        !          20853: 3276(how)X
        !          20854: 3454(Tcl)X
        !          20855: 3598(can)X
        !          20856: 3746(be)X
        !          20857: 3855(used)X
        !          20858: 4042(in)X
        !          20859: 4137(a)X
        !          20860: 720 5028(windowing)N
        !          20861: 1148(environment)X
        !          20862: 1626(to)X
        !          20863: 1727(customize)X
        !          20864: 2117(interface)X
        !          20865: 2457(actions)X
        !          20866: 2739(and)X
        !          20867: 2898(appearances.)X
        !          20868: 3403(Section)X
        !          20869: 3700(5)X
        !          20870: 3775(shows)X
        !          20871: 4025(how)X
        !          20872: 720 5127(Tcl)N
        !          20873: 864(can)X
        !          20874: 1012(be)X
        !          20875: 1121(used)X
        !          20876: 1308(as)X
        !          20877: 1407(a)X
        !          20878: 1471(vehicle)X
        !          20879: 1751(for)X
        !          20880: 1878(communication)X
        !          20881: 2453(between)X
        !          20882: 2771(applications,)X
        !          20883: 3245(and)X
        !          20884: 3397(why)X
        !          20885: 3573(this)X
        !          20886: 3726(is)X
        !          20887: 3810(important.)X
        !          20888: 720 5226(Section)N
        !          20889: 1010(6)X
        !          20890: 1079(presents)X
        !          20891: 1392(the)X
        !          20892: 1525(status)X
        !          20893: 1750(of)X
        !          20894: 1847(the)X
        !          20895: 1979(Tcl)X
        !          20896: 2121 0.2885(implementation)AX
        !          20897: 2701(and)X
        !          20898: 2852(some)X
        !          20899: 3062(preliminary)X
        !          20900: 3498(performance)X
        !          20901: 3966(meas-)X
        !          20902: 720 5325(urements.)N
        !          20903: 1126(Section)X
        !          20904: 1430(7)X
        !          20905: 1513(compares)X
        !          20906: 1889(Tcl)X
        !          20907: 2046(to)X
        !          20908: 2154(Lisp,)X
        !          20909: 2372(Emacs,)X
        !          20910: 2668(and)X
        !          20911: 2834(NeWS,)X
        !          20912: 3128(and)X
        !          20913: 3293(Section)X
        !          20914: 3596(8)X
        !          20915: 3678(concludes)X
        !          20916: 4068(the)X
        !          20917: 720 5424(paper.)N
        !          20918: 3 f
        !          20919: 2375 6048(-)N
        !          20920: 2426(1)X
        !          20921: 2492(-)X
        !          20922: 
        !          20923: 2 p
        !          20924: %%Page: 2 3
        !          20925: 11 s 11 xH 0 xS 3 f
        !          20926: 720 483(Tcl:)N
        !          20927: 894(An)X
        !          20928: 1028(Embeddable)X
        !          20929: 1525(Command)X
        !          20930: 1942(Language)X
        !          20931: 3466(December)X
        !          20932: 3868(22,)X
        !          20933: 4000(1989)X
        !          20934: 720 771(2.)N
        !          20935: 830(The)X
        !          20936: 999(Tcl)X
        !          20937: 1144(Language)X
        !          20938: 1 f
        !          20939: 920 903(In)N
        !          20940: 1033(a)X
        !          20941: 1112(sense,)X
        !          20942: 1364(the)X
        !          20943: 1512(syntax)X
        !          20944: 1782(of)X
        !          20945: 1895(the)X
        !          20946: 2043(Tcl)X
        !          20947: 2200(language)X
        !          20948: 2557(is)X
        !          20949: 2655(unimportant:)X
        !          20950: 3151(any)X
        !          20951: 3317(programming)X
        !          20952: 3836(language,)X
        !          20953: 720 1002(whether)N
        !          20954: 1035(it)X
        !          20955: 1117(is)X
        !          20956: 1208(C)X
        !          20957: 1299([6],)X
        !          20958: 1455(Forth)X
        !          20959: 1678([4],)X
        !          20960: 1834(Lisp)X
        !          20961: 2023([1],)X
        !          20962: 2179(or)X
        !          20963: 2284(Postscript)X
        !          20964: 2664([2],)X
        !          20965: 2820(could)X
        !          20966: 3048(provide)X
        !          20967: 3348(many)X
        !          20968: 3575(of)X
        !          20969: 3679(the)X
        !          20970: 3818(same)X
        !          20971: 4030(pro-)X
        !          20972: 720 1101(grammability)N
        !          20973: 1223(and)X
        !          20974: 1376(communication)X
        !          20975: 1952(advantages)X
        !          20976: 2369(as)X
        !          20977: 2468(Tcl.)X
        !          20978: 2656(This)X
        !          20979: 2839(suggests)X
        !          20980: 3162(that)X
        !          20981: 3320(the)X
        !          20982: 3453(best)X
        !          20983: 3620 0.2885(implementation)AX
        !          20984: 720 1200(approach)N
        !          20985: 1065(is)X
        !          20986: 1147(to)X
        !          20987: 1239(borrow)X
        !          20988: 1515(an)X
        !          20989: 1621(existing)X
        !          20990: 1924(language)X
        !          20991: 2265(and)X
        !          20992: 2415(concentrate)X
        !          20993: 2844(on)X
        !          20994: 2955(providing)X
        !          20995: 3321(a)X
        !          20996: 3382(convenient)X
        !          20997: 3791(framework)X
        !          20998: 720 1299(for)N
        !          20999: 852(the)X
        !          21000: 990(use)X
        !          21001: 1137(of)X
        !          21002: 1240(that)X
        !          21003: 1403(language.)X
        !          21004: 1795(However,)X
        !          21005: 2168(the)X
        !          21006: 2306(environment)X
        !          21007: 2782(for)X
        !          21008: 2914(an)X
        !          21009: 3026(embeddable)X
        !          21010: 3481(command)X
        !          21011: 3858(language)X
        !          21012: 720 1398(presents)N
        !          21013: 1038(an)X
        !          21014: 1150(unusual)X
        !          21015: 1453(set)X
        !          21016: 1580(of)X
        !          21017: 1682(constraints)X
        !          21018: 2093(on)X
        !          21019: 2210(the)X
        !          21020: 2347(language,)X
        !          21021: 2716(which)X
        !          21022: 2960(are)X
        !          21023: 3096(described)X
        !          21024: 3462(below.)X
        !          21025: 3750(I)X
        !          21026: 3808(eventually)X
        !          21027: 720 1497(decided)N
        !          21028: 1020(that)X
        !          21029: 1179(a)X
        !          21030: 1244(new)X
        !          21031: 1415(language)X
        !          21032: 1758(designed)X
        !          21033: 2096(from)X
        !          21034: 2292(scratch)X
        !          21035: 2566(could)X
        !          21036: 2787(probably)X
        !          21037: 3125(meet)X
        !          21038: 3322(the)X
        !          21039: 3455(constraints)X
        !          21040: 3862(with)X
        !          21041: 4044(less)X
        !          21042: 720 1596 0.2885(implementation)AN
        !          21043: 1298(effort)X
        !          21044: 1515(than)X
        !          21045: 1689(any)X
        !          21046: 1838(existing)X
        !          21047: 2140(language.)X
        !          21048: 920 1728(Tcl)N
        !          21049: 1065(is)X
        !          21050: 1151(unusual)X
        !          21051: 1452(because)X
        !          21052: 1757(it)X
        !          21053: 1834(presents)X
        !          21054: 2149(two)X
        !          21055: 2308(different)X
        !          21056: 2638(interfaces:)X
        !          21057: 3054(a)X
        !          21058: 3120(textual)X
        !          21059: 3388(interface)X
        !          21060: 3723(to)X
        !          21061: 3819(users)X
        !          21062: 4025(who)X
        !          21063: 720 1827(issue)N
        !          21064: 934(Tcl)X
        !          21065: 1090(commands,)X
        !          21066: 1532(and)X
        !          21067: 1697(a)X
        !          21068: 1774(procedural)X
        !          21069: 2188(interface)X
        !          21070: 2534(to)X
        !          21071: 2641(the)X
        !          21072: 2787(applications)X
        !          21073: 3251(in)X
        !          21074: 3357(which)X
        !          21075: 3609(it)X
        !          21076: 3696(is)X
        !          21077: 3792(embedded.)X
        !          21078: 720 1926(Each)N
        !          21079: 919(of)X
        !          21080: 1015(these)X
        !          21081: 1219(interfaces)X
        !          21082: 1584(must)X
        !          21083: 1779(be)X
        !          21084: 1885(simple,)X
        !          21085: 2166(powerful,)X
        !          21086: 2527(and)X
        !          21087: 2676(ef\256cient.)X
        !          21088: 3031(There)X
        !          21089: 3258(were)X
        !          21090: 3450(four)X
        !          21091: 3618(major)X
        !          21092: 3846(factors)X
        !          21093: 4107(in)X
        !          21094: 720 2025(the)N
        !          21095: 850(language)X
        !          21096: 1190(design:)X
        !          21097: 720 2157([1])N
        !          21098: 3 f
        !          21099: 920(The)X
        !          21100: 1092(language)X
        !          21101: 1454(is)X
        !          21102: 1537(for)X
        !          21103: 1673(commands.)X
        !          21104: 1 f
        !          21105: 2146(Almost)X
        !          21106: 2430(all)X
        !          21107: 2543(Tcl)X
        !          21108: 2685(``programs'')X
        !          21109: 3157(will)X
        !          21110: 3319(be)X
        !          21111: 3426(short,)X
        !          21112: 3648(many)X
        !          21113: 3868(only)X
        !          21114: 4049(one)X
        !          21115: 920 2256(line)N
        !          21116: 1079(long.)X
        !          21117: 1306(Most)X
        !          21118: 1513(programs)X
        !          21119: 1871(will)X
        !          21120: 2035(be)X
        !          21121: 2144(typed)X
        !          21122: 2366(in,)X
        !          21123: 2483(executed)X
        !          21124: 2822(once)X
        !          21125: 3014(or)X
        !          21126: 3113(perhaps)X
        !          21127: 3412(a)X
        !          21128: 3477(few)X
        !          21129: 3633(times,)X
        !          21130: 3872(and)X
        !          21131: 4024(then)X
        !          21132: 920 2355(discarded.)N
        !          21133: 1327(This)X
        !          21134: 1510(suggests)X
        !          21135: 1834(that)X
        !          21136: 1993(the)X
        !          21137: 2127(language)X
        !          21138: 2471(should)X
        !          21139: 2732(have)X
        !          21140: 2924(a)X
        !          21141: 2989(simple)X
        !          21142: 3251(syntax)X
        !          21143: 3506(so)X
        !          21144: 3609(that)X
        !          21145: 3767(it)X
        !          21146: 3842(is)X
        !          21147: 3926(easy)X
        !          21148: 4107(to)X
        !          21149: 920 2454(type)N
        !          21150: 1102(commands.)X
        !          21151: 1558(Most)X
        !          21152: 1769(existing)X
        !          21153: 2079(programming)X
        !          21154: 2589(languages)X
        !          21155: 2971(have)X
        !          21156: 3167(complex)X
        !          21157: 3501(syntax;)X
        !          21158: 3808(the)X
        !          21159: 3946(syntax)X
        !          21160: 920 2553(is)N
        !          21161: 1025(helpful)X
        !          21162: 1321(when)X
        !          21163: 1557(writing)X
        !          21164: 1858(long)X
        !          21165: 2061(programs)X
        !          21166: 2439(but)X
        !          21167: 2598(would)X
        !          21168: 2864(be)X
        !          21169: 2992(clumsy)X
        !          21170: 3292(if)X
        !          21171: 3391(used)X
        !          21172: 3597(for)X
        !          21173: 3744(a)X
        !          21174: 3828(command)X
        !          21175: 920 2652(language.)N
        !          21176: 720 2784([2])N
        !          21177: 3 f
        !          21178: 920(The)X
        !          21179: 1092(language)X
        !          21180: 1455(must)X
        !          21181: 1665(be)X
        !          21182: 1778(programmable.)X
        !          21183: 1 f
        !          21184: 2409(It)X
        !          21185: 2488(should)X
        !          21186: 2748(contain)X
        !          21187: 3032(general)X
        !          21188: 3315(programming)X
        !          21189: 3819(constructs)X
        !          21190: 920 2883(such)N
        !          21191: 1109(as)X
        !          21192: 1210(variables,)X
        !          21193: 1578(procedures,)X
        !          21194: 2013(conditionals,)X
        !          21195: 2495(and)X
        !          21196: 2650(loops,)X
        !          21197: 2891(so)X
        !          21198: 2997(that)X
        !          21199: 3158(users)X
        !          21200: 3366(can)X
        !          21201: 3516(extend)X
        !          21202: 3779(the)X
        !          21203: 3915(built-in)X
        !          21204: 920 2982(command)N
        !          21205: 1293(set)X
        !          21206: 1416(by)X
        !          21207: 1528(writing)X
        !          21208: 1807(Tcl)X
        !          21209: 1949(procedures.)X
        !          21210: 2402 0.2760(Extensibility)AX
        !          21211: 2879(also)X
        !          21212: 3045(argues)X
        !          21213: 3298(for)X
        !          21214: 3424(a)X
        !          21215: 3487(simple)X
        !          21216: 3747(syntax:)X
        !          21217: 4048(this)X
        !          21218: 920 3081(makes)N
        !          21219: 1167(it)X
        !          21220: 1239(easier)X
        !          21221: 1466(for)X
        !          21222: 1590(Tcl)X
        !          21223: 1730(programs)X
        !          21224: 2084(to)X
        !          21225: 2175(generate)X
        !          21226: 2495(other)X
        !          21227: 2698(Tcl)X
        !          21228: 2838(programs.)X
        !          21229: 720 3213([3])N
        !          21230: 3 f
        !          21231: 920(The)X
        !          21232: 1097(language)X
        !          21233: 1465(must)X
        !          21234: 1680(permit)X
        !          21235: 1963(a)X
        !          21236: 2036(simple)X
        !          21237: 2310(and)X
        !          21238: 2481(ef\256cient)X
        !          21239: 2808(interpreter.)X
        !          21240: 1 f
        !          21241: 3296(For)X
        !          21242: 3447(the)X
        !          21243: 3584(Tcl)X
        !          21244: 3731(library)X
        !          21245: 3995(to)X
        !          21246: 4093(be)X
        !          21247: 920 3312(included)N
        !          21248: 1247(in)X
        !          21249: 1339(many)X
        !          21250: 1558(small)X
        !          21251: 1772(programs,)X
        !          21252: 2148(particularly)X
        !          21253: 2577(on)X
        !          21254: 2687(machines)X
        !          21255: 3042(without)X
        !          21256: 3334(shared-library)X
        !          21257: 3849(facilities,)X
        !          21258: 920 3411(the)N
        !          21259: 1058(interpreter)X
        !          21260: 1455(must)X
        !          21261: 1657(not)X
        !          21262: 1800(occupy)X
        !          21263: 2084(much)X
        !          21264: 2310(memory.)X
        !          21265: 2678(The)X
        !          21266: 2845(mechanism)X
        !          21267: 3276(for)X
        !          21268: 3407(interpreting)X
        !          21269: 3848(Tcl)X
        !          21270: 3995(com-)X
        !          21271: 920 3510(mands)N
        !          21272: 1179(must)X
        !          21273: 1380(be)X
        !          21274: 1492(fast)X
        !          21275: 1648(enough)X
        !          21276: 1936(to)X
        !          21277: 2034(be)X
        !          21278: 2146(usable)X
        !          21279: 2400(for)X
        !          21280: 2531(events)X
        !          21281: 2785(that)X
        !          21282: 2947(occur)X
        !          21283: 3171(hundreds)X
        !          21284: 3522(of)X
        !          21285: 3623(times)X
        !          21286: 3843(a)X
        !          21287: 3910(second,)X
        !          21288: 920 3609(such)N
        !          21289: 1103(as)X
        !          21290: 1198(mouse)X
        !          21291: 1450(motion.)X
        !          21292: 720 3741([4])N
        !          21293: 3 f
        !          21294: 920(The)X
        !          21295: 1097(language)X
        !          21296: 1465(must)X
        !          21297: 1680(permit)X
        !          21298: 1964(a)X
        !          21299: 2038(simple)X
        !          21300: 2313(interface)X
        !          21301: 2675(to)X
        !          21302: 2778(C)X
        !          21303: 2871(applications.)X
        !          21304: 1 f
        !          21305: 3401(It)X
        !          21306: 3485(must)X
        !          21307: 3687(be)X
        !          21308: 3800(easy)X
        !          21309: 3986(for)X
        !          21310: 4117(C)X
        !          21311: 920 3840(applications)N
        !          21312: 1380(to)X
        !          21313: 1482(invoke)X
        !          21314: 1755(the)X
        !          21315: 1896(interpreter)X
        !          21316: 2296(and)X
        !          21317: 2456(easy)X
        !          21318: 2645(for)X
        !          21319: 2780(them)X
        !          21320: 2990(to)X
        !          21321: 3092(extend)X
        !          21322: 3360(the)X
        !          21323: 3501(built-in)X
        !          21324: 3794(commands)X
        !          21325: 920 3939(with)N
        !          21326: 1104(application-speci\256c)X
        !          21327: 1822(commands.)X
        !          21328: 2275(This)X
        !          21329: 2459(factor)X
        !          21330: 2691(was)X
        !          21331: 2854(one)X
        !          21332: 3008(of)X
        !          21333: 3108(the)X
        !          21334: 3242(reasons)X
        !          21335: 3531(why)X
        !          21336: 3708(I)X
        !          21337: 3763(decided)X
        !          21338: 4063(not)X
        !          21339: 920 4038(to)N
        !          21340: 1024(use)X
        !          21341: 1176(Lisp)X
        !          21342: 1368(as)X
        !          21343: 1476(the)X
        !          21344: 1619(command)X
        !          21345: 2002(language:)X
        !          21346: 2402(Lisp's)X
        !          21347: 2657(basic)X
        !          21348: 2873(data)X
        !          21349: 3055(types)X
        !          21350: 3276(and)X
        !          21351: 3437(storage)X
        !          21352: 3725(management)X
        !          21353: 920 4137(mechanisms)N
        !          21354: 1385(are)X
        !          21355: 1521(so)X
        !          21356: 1628(different)X
        !          21357: 1960(than)X
        !          21358: 2141(those)X
        !          21359: 2356(of)X
        !          21360: 2458(C)X
        !          21361: 2546(that)X
        !          21362: 2708(it)X
        !          21363: 2787(would)X
        !          21364: 3036(be)X
        !          21365: 3148(dif\256cult)X
        !          21366: 3457(to)X
        !          21367: 3555(build)X
        !          21368: 3766(a)X
        !          21369: 3834(clean)X
        !          21370: 4049(and)X
        !          21371: 920 4236(simple)N
        !          21372: 1178(interface)X
        !          21373: 1508(between)X
        !          21374: 1823(them.)X
        !          21375: 2066(For)X
        !          21376: 2210(Tcl)X
        !          21377: 2350(I)X
        !          21378: 2401(used)X
        !          21379: 2584(a)X
        !          21380: 2645(data)X
        !          21381: 2814(type)X
        !          21382: 2988(\(string\))X
        !          21383: 3269(that)X
        !          21384: 3424(is)X
        !          21385: 3505(natural)X
        !          21386: 3772(to)X
        !          21387: 3863(C.)X
        !          21388: 3 f
        !          21389: 720 4431(2.1.)N
        !          21390: 896(Tcl)X
        !          21391: 1041(Language)X
        !          21392: 1435(Syntax)X
        !          21393: 1 f
        !          21394: 920 4563(Tcl's)N
        !          21395: 1126(basic)X
        !          21396: 1332(syntax)X
        !          21397: 1587(is)X
        !          21398: 1671(similar)X
        !          21399: 1941(to)X
        !          21400: 2034(that)X
        !          21401: 2191(of)X
        !          21402: 2288(the)X
        !          21403: 2420(UNIX)X
        !          21404: 2662(shells:)X
        !          21405: 2912(a)X
        !          21406: 2975(command)X
        !          21407: 3347(consists)X
        !          21408: 3650(of)X
        !          21409: 3747(one)X
        !          21410: 3898(or)X
        !          21411: 3995(more)X
        !          21412: 720 4662(\256elds)N
        !          21413: 938(separated)X
        !          21414: 1297(spaces)X
        !          21415: 1553(or)X
        !          21416: 1653(tabs.)X
        !          21417: 1866(The)X
        !          21418: 2030(\256rst)X
        !          21419: 2194(\256eld)X
        !          21420: 2378(is)X
        !          21421: 2464(the)X
        !          21422: 2599(name)X
        !          21423: 2817(of)X
        !          21424: 2917(a)X
        !          21425: 2983(command,)X
        !          21426: 3380(which)X
        !          21427: 3622(may)X
        !          21428: 3801(be)X
        !          21429: 3910(either)X
        !          21430: 4137(a)X
        !          21431: 720 4761(built-in)N
        !          21432: 1011(command,)X
        !          21433: 1411(an)X
        !          21434: 1524(application-speci\256c)X
        !          21435: 2245(command,)X
        !          21436: 2645(or)X
        !          21437: 2747(a)X
        !          21438: 2815(procedure)X
        !          21439: 3195(consisting)X
        !          21440: 3582(of)X
        !          21441: 3684(a)X
        !          21442: 3752(sequence)X
        !          21443: 4103(of)X
        !          21444: 720 4860(Tcl)N
        !          21445: 861(commands.)X
        !          21446: 1310(Fields)X
        !          21447: 1549(after)X
        !          21448: 1733(the)X
        !          21449: 1864(\256rst)X
        !          21450: 2023(one)X
        !          21451: 2172(are)X
        !          21452: 2301(passed)X
        !          21453: 2557(to)X
        !          21454: 2648(the)X
        !          21455: 2778(command)X
        !          21456: 3148(as)X
        !          21457: 3243(arguments.)X
        !          21458: 3676(Newline)X
        !          21459: 3996(char-)X
        !          21460: 720 4959(acters)N
        !          21461: 951(are)X
        !          21462: 1084(used)X
        !          21463: 1271(as)X
        !          21464: 1370(command)X
        !          21465: 1744(separators,)X
        !          21466: 2148(just)X
        !          21467: 2302(as)X
        !          21468: 2401(in)X
        !          21469: 2496(the)X
        !          21470: 2630(UNIX)X
        !          21471: 2874(shells,)X
        !          21472: 3123(and)X
        !          21473: 3276(semi-colons)X
        !          21474: 3728(may)X
        !          21475: 3906(be)X
        !          21476: 4015(used)X
        !          21477: 720 5058(to)N
        !          21478: 820(separate)X
        !          21479: 1139(commands)X
        !          21480: 1552(on)X
        !          21481: 1671(the)X
        !          21482: 1810(same)X
        !          21483: 2022(line.)X
        !          21484: 2230(Unlike)X
        !          21485: 2501(the)X
        !          21486: 2640(UNIX)X
        !          21487: 2889(shells,)X
        !          21488: 3143(each)X
        !          21489: 3335(Tcl)X
        !          21490: 3484(command)X
        !          21491: 3863(returns)X
        !          21492: 4137(a)X
        !          21493: 720 5157(string)N
        !          21494: 943(result,)X
        !          21495: 1183(or)X
        !          21496: 1278(the)X
        !          21497: 1408(empty)X
        !          21498: 1651(string)X
        !          21499: 1874(if)X
        !          21500: 1950(a)X
        !          21501: 2011(return)X
        !          21502: 2243(value)X
        !          21503: 2456(isn't)X
        !          21504: 2635(appropriate.)X
        !          21505: 920 5289(There)N
        !          21506: 1157(are)X
        !          21507: 1296(four)X
        !          21508: 1474(additional)X
        !          21509: 1860(syntactic)X
        !          21510: 2206(constructs)X
        !          21511: 2595(in)X
        !          21512: 2696(Tcl,)X
        !          21513: 2868(which)X
        !          21514: 3115(give)X
        !          21515: 3299(the)X
        !          21516: 3438(language)X
        !          21517: 3787(a)X
        !          21518: 3857(Lisp-like)X
        !          21519: 720 5388(\257avor.)N
        !          21520: 993(Curly)X
        !          21521: 1218(braces)X
        !          21522: 1466(are)X
        !          21523: 1597(used)X
        !          21524: 1782(to)X
        !          21525: 1875(group)X
        !          21526: 2104(complex)X
        !          21527: 2432(arguments;)X
        !          21528: 2870(they)X
        !          21529: 3045(act)X
        !          21530: 3171(as)X
        !          21531: 3267(nestable)X
        !          21532: 3579(quote)X
        !          21533: 3798(characters.)X
        !          21534: 720 5487(If)N
        !          21535: 803(the)X
        !          21536: 936(\256rst)X
        !          21537: 1097(character)X
        !          21538: 1443(of)X
        !          21539: 1540(an)X
        !          21540: 1647(argument)X
        !          21541: 2004(is)X
        !          21542: 2087(a)X
        !          21543: 2150(open)X
        !          21544: 2345(brace,)X
        !          21545: 2581(then)X
        !          21546: 2757(the)X
        !          21547: 2889(argument)X
        !          21548: 3246(is)X
        !          21549: 3329(not)X
        !          21550: 3466(terminated)X
        !          21551: 3868(by)X
        !          21552: 3980(white)X
        !          21553: 720 5586(space.)N
        !          21554: 969(Instead,)X
        !          21555: 1277(it)X
        !          21556: 1359(is)X
        !          21557: 1450(terminated)X
        !          21558: 1860(by)X
        !          21559: 1980(the)X
        !          21560: 2120(matching)X
        !          21561: 2481(close)X
        !          21562: 2694(brace.)X
        !          21563: 2959(The)X
        !          21564: 3127(argument)X
        !          21565: 3491(passed)X
        !          21566: 3756(to)X
        !          21567: 3856(the)X
        !          21568: 3995(com-)X
        !          21569: 720 5685(mand)N
        !          21570: 955(consists)X
        !          21571: 1273(of)X
        !          21572: 1385(everything)X
        !          21573: 1801(between)X
        !          21574: 2133(the)X
        !          21575: 2280(braces,)X
        !          21576: 2565(with)X
        !          21577: 2761(the)X
        !          21578: 2908(enclosing)X
        !          21579: 3285(braces)X
        !          21580: 3548(stripped)X
        !          21581: 3870(off.)X
        !          21582: 4054(For)X
        !          21583: 720 5784(example,)N
        !          21584: 1063(the)X
        !          21585: 1193(command)X
        !          21586: 3 f
        !          21587: 2375 6048(-)N
        !          21588: 2426(2)X
        !          21589: 2492(-)X
        !          21590: 
        !          21591: 3 p
        !          21592: %%Page: 3 4
        !          21593: 11 s 11 xH 0 xS 3 f
        !          21594: 720 483(Tcl:)N
        !          21595: 894(An)X
        !          21596: 1028(Embeddable)X
        !          21597: 1525(Command)X
        !          21598: 1942(Language)X
        !          21599: 3466(December)X
        !          21600: 3868(22,)X
        !          21601: 4000(1989)X
        !          21602: 7 f
        !          21603: 10 s
        !          21604: 1040 771(set)N
        !          21605: 1232(a)X
        !          21606: 1328({dog)X
        !          21607: 1568(cat)X
        !          21608: 1760({horse)X
        !          21609: 2096(cow)X
        !          21610: 2288(mule})X
        !          21611: 2576(bear})X
        !          21612: 1 f
        !          21613: 11 s
        !          21614: 720 903(will)N
        !          21615: 886(receive)X
        !          21616: 1168(two)X
        !          21617: 1328(arguments:)X
        !          21618: 1748(``)X
        !          21619: 7 f
        !          21620: 1806(a)X
        !          21621: 1 f
        !          21622: 1859('')X
        !          21623: 1945(and)X
        !          21624: 2100(``)X
        !          21625: 7 f
        !          21626: 2158(dog)X
        !          21627: 2376(cat)X
        !          21628: 2594({horse)X
        !          21629: 2970(cow)X
        !          21630: 3187(mule})X
        !          21631: 3510(bear)X
        !          21632: 1 f
        !          21633: 3722(''.)X
        !          21634: 3851(This)X
        !          21635: 4035(par-)X
        !          21636: 720 1002(ticular)N
        !          21637: 970(command)X
        !          21638: 1342(will)X
        !          21639: 1504(set)X
        !          21640: 1626(the)X
        !          21641: 1758(variable)X
        !          21642: 7 f
        !          21643: 2097(a)X
        !          21644: 1 f
        !          21645: 2174(to)X
        !          21646: 2266(a)X
        !          21647: 2328(string)X
        !          21648: 2552(equal)X
        !          21649: 2766(to)X
        !          21650: 2858(the)X
        !          21651: 2989(second)X
        !          21652: 3256(argument.)X
        !          21653: 3656(If)X
        !          21654: 3737(an)X
        !          21655: 3843(argument)X
        !          21656: 720 1101(is)N
        !          21657: 808(enclosed)X
        !          21658: 1145(in)X
        !          21659: 1243(braces,)X
        !          21660: 1518(then)X
        !          21661: 1699(none)X
        !          21662: 1899(of)X
        !          21663: 2001(the)X
        !          21664: 2138(other)X
        !          21665: 2348(substitutions)X
        !          21666: 2824(described)X
        !          21667: 3190(below)X
        !          21668: 3433(is)X
        !          21669: 3520(made)X
        !          21670: 3739(on)X
        !          21671: 3855(the)X
        !          21672: 3991(argu-)X
        !          21673: 720 1200(ment.)N
        !          21674: 964(One)X
        !          21675: 1133(of)X
        !          21676: 1229(the)X
        !          21677: 1360(most)X
        !          21678: 1555(common)X
        !          21679: 1886(uses)X
        !          21680: 2059(of)X
        !          21681: 2154(braces)X
        !          21682: 2400(is)X
        !          21683: 2481(to)X
        !          21684: 2572(specify)X
        !          21685: 2848(a)X
        !          21686: 2909(Tcl)X
        !          21687: 3049(subprogram)X
        !          21688: 3491(as)X
        !          21689: 3586(an)X
        !          21690: 3691(argument)X
        !          21691: 4046(to)X
        !          21692: 4137(a)X
        !          21693: 720 1299(Tcl)N
        !          21694: 860(command.)X
        !          21695: 920 1431(The)N
        !          21696: 1079(second)X
        !          21697: 1345(syntactic)X
        !          21698: 1681(construct)X
        !          21699: 2026(in)X
        !          21700: 2117(Tcl)X
        !          21701: 2257(is)X
        !          21702: 2338(square)X
        !          21703: 2589(brackets,)X
        !          21704: 2926(which)X
        !          21705: 3163(are)X
        !          21706: 3292(used)X
        !          21707: 3475(to)X
        !          21708: 3566(invoke)X
        !          21709: 3828(command)X
        !          21710: 720 1530(substitution.)N
        !          21711: 1207(If)X
        !          21712: 1295(an)X
        !          21713: 1408(open)X
        !          21714: 1609(bracket)X
        !          21715: 1898(appears)X
        !          21716: 2196(in)X
        !          21717: 2295(an)X
        !          21718: 2408(argument,)X
        !          21719: 2793(then)X
        !          21720: 2974(everything)X
        !          21721: 3380(from)X
        !          21722: 3580(the)X
        !          21723: 3717(open)X
        !          21724: 3917(bracket)X
        !          21725: 720 1629(up)N
        !          21726: 841(to)X
        !          21727: 943(the)X
        !          21728: 1084(matching)X
        !          21729: 1446(close)X
        !          21730: 1660(bracket)X
        !          21731: 1952(is)X
        !          21732: 2043(treated)X
        !          21733: 2315(as)X
        !          21734: 2420(a)X
        !          21735: 2491(command)X
        !          21736: 2871(and)X
        !          21737: 3030(executed)X
        !          21738: 3375(recursively)X
        !          21739: 3798(by)X
        !          21740: 3918(the)X
        !          21741: 4058(Tcl)X
        !          21742: 720 1728(interpreter.)N
        !          21743: 1170(The)X
        !          21744: 1346(result)X
        !          21745: 1581(of)X
        !          21746: 1693(the)X
        !          21747: 1839(command)X
        !          21748: 2225(is)X
        !          21749: 2322(then)X
        !          21750: 2512(substituted)X
        !          21751: 2933(into)X
        !          21752: 3109(the)X
        !          21753: 3255(argument)X
        !          21754: 3626(in)X
        !          21755: 3733(place)X
        !          21756: 3957(of)X
        !          21757: 4068(the)X
        !          21758: 720 1827(bracketed)N
        !          21759: 1084(string.)X
        !          21760: 1351(For)X
        !          21761: 1495(example,)X
        !          21762: 1838(consider)X
        !          21763: 2158(the)X
        !          21764: 2288(command)X
        !          21765: 7 f
        !          21766: 10 s
        !          21767: 1040 1959(set)N
        !          21768: 1232(a)X
        !          21769: 1328([format)X
        !          21770: 1712({Santa)X
        !          21771: 2048(Claus)X
        !          21772: 2336(is)X
        !          21773: 2480(%s)X
        !          21774: 2624(years)X
        !          21775: 2912(old})X
        !          21776: 3152(99])X
        !          21777: 1 f
        !          21778: 11 s
        !          21779: 720 2091(The)N
        !          21780: 7 f
        !          21781: 914(format)X
        !          21782: 1 f
        !          21783: 1258(command)X
        !          21784: 1632(does)X
        !          21785: 7 f
        !          21786: 1849(printf)X
        !          21787: 1 f
        !          21788: 2167(-like)X
        !          21789: 2354(formatting)X
        !          21790: 2752(and)X
        !          21791: 2904(returns)X
        !          21792: 3173(the)X
        !          21793: 3306(string)X
        !          21794: 3532(``)X
        !          21795: 7 f
        !          21796: 3590(Santa)X
        !          21797: 3911(Claus)X
        !          21798: 720 2190(is)N
        !          21799: 879(99)X
        !          21800: 1038(years)X
        !          21801: 1356(old)X
        !          21802: 1 f
        !          21803: 1515('',)X
        !          21804: 1617(which)X
        !          21805: 1854(is)X
        !          21806: 1935(then)X
        !          21807: 2109(passed)X
        !          21808: 2365(to)X
        !          21809: 7 f
        !          21810: 2487(set)X
        !          21811: 1 f
        !          21812: 2668(and)X
        !          21813: 2817(assigned)X
        !          21814: 3142(to)X
        !          21815: 3233(variable)X
        !          21816: 7 f
        !          21817: 3570(a)X
        !          21818: 1 f
        !          21819: 3623(.)X
        !          21820: 920 2322(The)N
        !          21821: 1083(third)X
        !          21822: 1276(syntactic)X
        !          21823: 1616(construct)X
        !          21824: 1965(is)X
        !          21825: 2050(the)X
        !          21826: 2184(dollar)X
        !          21827: 2416(sign,)X
        !          21828: 2611(which)X
        !          21829: 2852(is)X
        !          21830: 2937(used)X
        !          21831: 3124(for)X
        !          21832: 3252(variable)X
        !          21833: 3561(substitution.)X
        !          21834: 4043(If)X
        !          21835: 4126(it)X
        !          21836: 720 2421(appears)N
        !          21837: 1013(in)X
        !          21838: 1106(an)X
        !          21839: 1213(argument)X
        !          21840: 1570(then)X
        !          21841: 1746(the)X
        !          21842: 1878(following)X
        !          21843: 2245(characters)X
        !          21844: 2625(are)X
        !          21845: 2756(treated)X
        !          21846: 3020(as)X
        !          21847: 3117(a)X
        !          21848: 3180(variable)X
        !          21849: 3488(name;)X
        !          21850: 3750(the)X
        !          21851: 3882(contents)X
        !          21852: 720 2520(of)N
        !          21853: 819(the)X
        !          21854: 953(variable)X
        !          21855: 1263(are)X
        !          21856: 1396(substituted)X
        !          21857: 1804(into)X
        !          21858: 1967(the)X
        !          21859: 2100(argument)X
        !          21860: 2458(in)X
        !          21861: 2552(place)X
        !          21862: 2763(of)X
        !          21863: 2861(the)X
        !          21864: 2994(dollar)X
        !          21865: 3225(sign)X
        !          21866: 3397(and)X
        !          21867: 3549(name.)X
        !          21868: 3809(For)X
        !          21869: 3956(exam-)X
        !          21870: 720 2619(ple,)N
        !          21871: 872(the)X
        !          21872: 1002(commands)X
        !          21873: 7 f
        !          21874: 10 s
        !          21875: 1040 2751(set)N
        !          21876: 1232(b)X
        !          21877: 1328(99)X
        !          21878: 1040 2850(set)N
        !          21879: 1232(a)X
        !          21880: 1328([format)X
        !          21881: 1712({Santa)X
        !          21882: 2048(Claus)X
        !          21883: 2336(is)X
        !          21884: 2480(%s)X
        !          21885: 2624(years)X
        !          21886: 2912(old})X
        !          21887: 3152($b])X
        !          21888: 1 f
        !          21889: 11 s
        !          21890: 720 2982(result)N
        !          21891: 945(in)X
        !          21892: 1043(the)X
        !          21893: 1179(same)X
        !          21894: 1388(\256nal)X
        !          21895: 1573(value)X
        !          21896: 1792(for)X
        !          21897: 7 f
        !          21898: 1953(a)X
        !          21899: 1 f
        !          21900: 2034(as)X
        !          21901: 2135(the)X
        !          21902: 2271(single)X
        !          21903: 2510(command)X
        !          21904: 2886(in)X
        !          21905: 2983(the)X
        !          21906: 3119(previous)X
        !          21907: 3450(paragraph.)X
        !          21908: 3873(Variable)X
        !          21909: 720 3081(substitution)N
        !          21910: 1164(isn't)X
        !          21911: 1352(strictly)X
        !          21912: 1629(necessary)X
        !          21913: 2001(since)X
        !          21914: 2213(there)X
        !          21915: 2420(are)X
        !          21916: 2558(other)X
        !          21917: 2770(ways)X
        !          21918: 2981(to)X
        !          21919: 3081(achieve)X
        !          21920: 3381(the)X
        !          21921: 3520(same)X
        !          21922: 3731(effect,)X
        !          21923: 3983(but)X
        !          21924: 4126(it)X
        !          21925: 720 3180(reduces)N
        !          21926: 1010(typing.)X
        !          21927: 920 3312(The)N
        !          21928: 1085(last)X
        !          21929: 1236(syntactic)X
        !          21930: 1578(construct)X
        !          21931: 1929(is)X
        !          21932: 2016(the)X
        !          21933: 2152(backslash)X
        !          21934: 2522(character,)X
        !          21935: 2893(which)X
        !          21936: 3135(may)X
        !          21937: 3314(be)X
        !          21938: 3424(used)X
        !          21939: 3612(to)X
        !          21940: 3708(insert)X
        !          21941: 3931(special)X
        !          21942: 720 3411(characters)N
        !          21943: 1098(into)X
        !          21944: 1258(arguments,)X
        !          21945: 1669(such)X
        !          21946: 1852(as)X
        !          21947: 1947(curly)X
        !          21948: 2150(braces)X
        !          21949: 2396(or)X
        !          21950: 2491(non-printing)X
        !          21951: 2954(characters.)X
        !          21952: 3 f
        !          21953: 720 3606(2.2.)N
        !          21954: 896(Data)X
        !          21955: 1098(Types)X
        !          21956: 1 f
        !          21957: 920 3738(There)N
        !          21958: 1159(is)X
        !          21959: 1252(only)X
        !          21960: 1443(one)X
        !          21961: 1604(type)X
        !          21962: 1789(of)X
        !          21963: 1895(data)X
        !          21964: 2075(in)X
        !          21965: 2177(Tcl:)X
        !          21966: 2375(strings.)X
        !          21967: 2687(All)X
        !          21968: 2833(commands,)X
        !          21969: 3270(arguments)X
        !          21970: 3670(to)X
        !          21971: 3772(commands,)X
        !          21972: 720 3837(results)N
        !          21973: 999(returned)X
        !          21974: 1341(by)X
        !          21975: 1478(commands,)X
        !          21976: 1931(and)X
        !          21977: 2106(variable)X
        !          21978: 2438(values)X
        !          21979: 2711(are)X
        !          21980: 2866(ASCII)X
        !          21981: 3143(strings.)X
        !          21982: 3470(The)X
        !          21983: 3655(use)X
        !          21984: 3820(of)X
        !          21985: 3941(strings)X
        !          21986: 720 3936(throughout)N
        !          21987: 1135(Tcl)X
        !          21988: 1281(makes)X
        !          21989: 1534(it)X
        !          21990: 1612(easy)X
        !          21991: 1796(to)X
        !          21992: 1893(pass)X
        !          21993: 2072(information)X
        !          21994: 2517(back)X
        !          21995: 2711(and)X
        !          21996: 2866(forth)X
        !          21997: 3064(between)X
        !          21998: 3384(Tcl)X
        !          21999: 3529(library)X
        !          22000: 3791(procedures)X
        !          22001: 720 4035(and)N
        !          22002: 878(C)X
        !          22003: 968(code)X
        !          22004: 1164(in)X
        !          22005: 1263(the)X
        !          22006: 1401(enclosing)X
        !          22007: 1769(application.)X
        !          22008: 2236(It)X
        !          22009: 2320(also)X
        !          22010: 2492(makes)X
        !          22011: 2747(it)X
        !          22012: 2827(easier)X
        !          22013: 3062(to)X
        !          22014: 3161(pass)X
        !          22015: 3342(Tcl-related)X
        !          22016: 3759(information)X
        !          22017: 720 4134(back)N
        !          22018: 908(and)X
        !          22019: 1057(forth)X
        !          22020: 1250(between)X
        !          22021: 1565(machines)X
        !          22022: 1920(of)X
        !          22023: 2015(different)X
        !          22024: 2340(types.)X
        !          22025: 920 4266(Although)N
        !          22026: 1287(everything)X
        !          22027: 1698(in)X
        !          22028: 1800(Tcl)X
        !          22029: 1951(is)X
        !          22030: 2043(a)X
        !          22031: 2115(string,)X
        !          22032: 2371(many)X
        !          22033: 2600(commands)X
        !          22034: 3015(expect)X
        !          22035: 3278(their)X
        !          22036: 3473(string)X
        !          22037: 3707(arguments)X
        !          22038: 4107(to)X
        !          22039: 720 4365(have)N
        !          22040: 916(particular)X
        !          22041: 1284(formats.)X
        !          22042: 1627(There)X
        !          22043: 1862(are)X
        !          22044: 1999(three)X
        !          22045: 2205(particularly)X
        !          22046: 2642(common)X
        !          22047: 2981(formats)X
        !          22048: 3280(for)X
        !          22049: 3412(strings:)X
        !          22050: 3724(lists,)X
        !          22051: 3918(expres-)X
        !          22052: 720 4464(sions,)N
        !          22053: 957(and)X
        !          22054: 1118(commands.)X
        !          22055: 1578(A)X
        !          22056: 1675(list)X
        !          22057: 1818(is)X
        !          22058: 1911(just)X
        !          22059: 2073(a)X
        !          22060: 2146(string)X
        !          22061: 2381(containing)X
        !          22062: 2788(one)X
        !          22063: 2949(or)X
        !          22064: 3056(more)X
        !          22065: 3270(\256elds)X
        !          22066: 3494(separated)X
        !          22067: 3859(by)X
        !          22068: 3980(white)X
        !          22069: 720 4563(space,)N
        !          22070: 963(similar)X
        !          22071: 1235(to)X
        !          22072: 1330(a)X
        !          22073: 1395(command.)X
        !          22074: 1813(Curly)X
        !          22075: 2040(braces)X
        !          22076: 2290(may)X
        !          22077: 2468(be)X
        !          22078: 2577(used)X
        !          22079: 2763(to)X
        !          22080: 2857(enclose)X
        !          22081: 3146(complex)X
        !          22082: 3475(list)X
        !          22083: 3609(elements;)X
        !          22084: 3995(these)X
        !          22085: 720 4662(complex)N
        !          22086: 1046(list)X
        !          22087: 1177(elements)X
        !          22088: 1513(are)X
        !          22089: 1642(often)X
        !          22090: 1845(lists)X
        !          22091: 2010(in)X
        !          22092: 2101(their)X
        !          22093: 2285(own)X
        !          22094: 2458(right,)X
        !          22095: 2669(as)X
        !          22096: 2764(in)X
        !          22097: 2855(Lisp.)X
        !          22098: 3078(For)X
        !          22099: 3222(example,)X
        !          22100: 3565(the)X
        !          22101: 3695(string)X
        !          22102: 7 f
        !          22103: 10 s
        !          22104: 1040 4794(dog)N
        !          22105: 1232(cat)X
        !          22106: 1424({horse)X
        !          22107: 1760(cow)X
        !          22108: 1952(mule})X
        !          22109: 2240(bear)X
        !          22110: 1 f
        !          22111: 11 s
        !          22112: 720 4926(is)N
        !          22113: 810(a)X
        !          22114: 880(list)X
        !          22115: 1020(with)X
        !          22116: 1208(four)X
        !          22117: 1385(elements,)X
        !          22118: 1752(the)X
        !          22119: 1891(third)X
        !          22120: 2088(of)X
        !          22121: 2191(which)X
        !          22122: 2436(is)X
        !          22123: 2525(a)X
        !          22124: 2594(list)X
        !          22125: 2733(with)X
        !          22126: 2920(three)X
        !          22127: 3126(elements.)X
        !          22128: 3514(Tcl)X
        !          22129: 3662(provides)X
        !          22130: 3995(com-)X
        !          22131: 720 5025(mands)N
        !          22132: 982(for)X
        !          22133: 1116(a)X
        !          22134: 1187(number)X
        !          22135: 1488(of)X
        !          22136: 1593 0.2383(list-manipulation)AX
        !          22137: 2229(operations,)X
        !          22138: 2649(such)X
        !          22139: 2841(as)X
        !          22140: 2945(creating)X
        !          22141: 3260(lists,)X
        !          22142: 3456(extracting)X
        !          22143: 3840(elements,)X
        !          22144: 720 5124(and)N
        !          22145: 869(computing)X
        !          22146: 1269(list)X
        !          22147: 1400(lengths.)X
        !          22148: 920 5256(The)N
        !          22149: 1089(second)X
        !          22150: 1365(common)X
        !          22151: 1706(form)X
        !          22152: 1909(for)X
        !          22153: 2043(a)X
        !          22154: 2114(string)X
        !          22155: 2347(is)X
        !          22156: 2438(a)X
        !          22157: 2509(numeric)X
        !          22158: 2830(expression.)X
        !          22159: 3281(Tcl)X
        !          22160: 3430(expressions)X
        !          22161: 3871(have)X
        !          22162: 4068(the)X
        !          22163: 720 5355(same)N
        !          22164: 927(operators)X
        !          22165: 1280(and)X
        !          22166: 1433(precedence)X
        !          22167: 1854(as)X
        !          22168: 1953(expressions)X
        !          22169: 2389(in)X
        !          22170: 2484(C.)X
        !          22171: 2612(The)X
        !          22172: 7 f
        !          22173: 2805(expr)X
        !          22174: 1 f
        !          22175: 3042(Tcl)X
        !          22176: 3185(command)X
        !          22177: 3558(evaluates)X
        !          22178: 3911(a)X
        !          22179: 3975(string)X
        !          22180: 720 5454(as)N
        !          22181: 815(an)X
        !          22182: 920(expression)X
        !          22183: 1318(and)X
        !          22184: 1467(returns)X
        !          22185: 1733(the)X
        !          22186: 1863(result)X
        !          22187: 2081(\(as)X
        !          22188: 2205(a)X
        !          22189: 2266(string,)X
        !          22190: 2511(of)X
        !          22191: 2606(course\).)X
        !          22192: 2930(For)X
        !          22193: 3074(example,)X
        !          22194: 3417(the)X
        !          22195: 3547(command)X
        !          22196: 7 f
        !          22197: 10 s
        !          22198: 1040 5586(expr)N
        !          22199: 1280({\($a)X
        !          22200: 1520(<)X
        !          22201: 1616($b\))X
        !          22202: 1808(||)X
        !          22203: 1952(\($c)X
        !          22204: 2144(!=)X
        !          22205: 2288(0\)})X
        !          22206: 1 f
        !          22207: 11 s
        !          22208: 720 5718(returns)N
        !          22209: 988(``)X
        !          22210: 7 f
        !          22211: 1046(1)X
        !          22212: 1 f
        !          22213: 1099('')X
        !          22214: 1181(if)X
        !          22215: 1259(the)X
        !          22216: 1391(numeric)X
        !          22217: 1704(value)X
        !          22218: 1919(of)X
        !          22219: 2016(variable)X
        !          22220: 7 f
        !          22221: 2354(a)X
        !          22222: 1 f
        !          22223: 2430(is)X
        !          22224: 2512(less)X
        !          22225: 2667(than)X
        !          22226: 2842(that)X
        !          22227: 2998(of)X
        !          22228: 3094(variable)X
        !          22229: 7 f
        !          22230: 3432(b)X
        !          22231: 1 f
        !          22232: 3485(,)X
        !          22233: 3530(or)X
        !          22234: 3626(if)X
        !          22235: 3703(variable)X
        !          22236: 7 f
        !          22237: 4041(c)X
        !          22238: 1 f
        !          22239: 4117(is)X
        !          22240: 3 f
        !          22241: 2375 6048(-)N
        !          22242: 2426(3)X
        !          22243: 2492(-)X
        !          22244: 
        !          22245: 4 p
        !          22246: %%Page: 4 5
        !          22247: 11 s 11 xH 0 xS 3 f
        !          22248: 720 483(Tcl:)N
        !          22249: 894(An)X
        !          22250: 1028(Embeddable)X
        !          22251: 1525(Command)X
        !          22252: 1942(Language)X
        !          22253: 3466(December)X
        !          22254: 3868(22,)X
        !          22255: 4000(1989)X
        !          22256: 1 f
        !          22257: 720 771(zero;)N
        !          22258: 946(otherwise)X
        !          22259: 1316(it)X
        !          22260: 1394(returns)X
        !          22261: 1666(``)X
        !          22262: 7 f
        !          22263: 1724(0)X
        !          22264: 1 f
        !          22265: 1777(''.)X
        !          22266: 1907(Several)X
        !          22267: 2199(other)X
        !          22268: 2408(commands,)X
        !          22269: 2840(such)X
        !          22270: 3029(as)X
        !          22271: 7 f
        !          22272: 3161(if)X
        !          22273: 1 f
        !          22274: 3295(and)X
        !          22275: 7 f
        !          22276: 3481(for)X
        !          22277: 1 f
        !          22278: 3640(,)X
        !          22279: 3690(expect)X
        !          22280: 3948(one)X
        !          22281: 4103(or)X
        !          22282: 720 870(more)N
        !          22283: 923(of)X
        !          22284: 1018(their)X
        !          22285: 1202(arguments)X
        !          22286: 1591(to)X
        !          22287: 1682(be)X
        !          22288: 1787(expressions.)X
        !          22289: 920 1002(The)N
        !          22290: 1089(third)X
        !          22291: 1288(common)X
        !          22292: 1629(interpretation)X
        !          22293: 2137(of)X
        !          22294: 2242(strings)X
        !          22295: 2509(is)X
        !          22296: 2600(as)X
        !          22297: 2705(commands)X
        !          22298: 3119(\(or)X
        !          22299: 3252(sequences)X
        !          22300: 3639(of)X
        !          22301: 3743(commands\).)X
        !          22302: 720 1101(Arguments)N
        !          22303: 1138(of)X
        !          22304: 1238(this)X
        !          22305: 1392(form)X
        !          22306: 1589(are)X
        !          22307: 1722(used)X
        !          22308: 1909(in)X
        !          22309: 2004(Tcl)X
        !          22310: 2148(commands)X
        !          22311: 2556(that)X
        !          22312: 2715(implement)X
        !          22313: 3120(control)X
        !          22314: 3396(structures.)X
        !          22315: 3808(For)X
        !          22316: 3956(exam-)X
        !          22317: 720 1200(ple,)N
        !          22318: 872(consider)X
        !          22319: 1192(the)X
        !          22320: 1322(following)X
        !          22321: 1687(command:)X
        !          22322: 7 f
        !          22323: 10 s
        !          22324: 1040 1332(if)N
        !          22325: 1184({$a)X
        !          22326: 1376(<)X
        !          22327: 1472($b})X
        !          22328: 1664({)X
        !          22329: 1266 1431(set)N
        !          22330: 1458(tmp)X
        !          22331: 1650($a)X
        !          22332: 1266 1530(set)N
        !          22333: 1458(a)X
        !          22334: 1554($b)X
        !          22335: 1266 1629(set)N
        !          22336: 1458(b)X
        !          22337: 1554($tmp)X
        !          22338: 1040 1728(})N
        !          22339: 1 f
        !          22340: 11 s
        !          22341: 720 1893(The)N
        !          22342: 7 f
        !          22343: 912(if)X
        !          22344: 1 f
        !          22345: 1042(command)X
        !          22346: 1414(receives)X
        !          22347: 1726(two)X
        !          22348: 1882(arguments)X
        !          22349: 2273(here,)X
        !          22350: 2470(each)X
        !          22351: 2655(of)X
        !          22352: 2752(which)X
        !          22353: 2991(is)X
        !          22354: 3074(delimited)X
        !          22355: 3433(by)X
        !          22356: 3544(curly)X
        !          22357: 3748(braces.)X
        !          22358: 7 f
        !          22359: 4070(If)X
        !          22360: 1 f
        !          22361: 720 1992(is)N
        !          22362: 806(a)X
        !          22363: 872(built-in)X
        !          22364: 1160(command)X
        !          22365: 1535(that)X
        !          22366: 1695(evaluates)X
        !          22367: 2050(its)X
        !          22368: 2161(\256rst)X
        !          22369: 2325(argument)X
        !          22370: 2685(as)X
        !          22371: 2785(an)X
        !          22372: 2894(expression;)X
        !          22373: 3321(if)X
        !          22374: 3401(the)X
        !          22375: 3535(result)X
        !          22376: 3757(is)X
        !          22377: 3842(non-zero,)X
        !          22378: 7 f
        !          22379: 720 2091(if)N
        !          22380: 1 f
        !          22381: 853(executes)X
        !          22382: 1183(its)X
        !          22383: 1294(second)X
        !          22384: 1565(argument)X
        !          22385: 1925(as)X
        !          22386: 2025(a)X
        !          22387: 2091(Tcl)X
        !          22388: 2236(command.)X
        !          22389: 2655(This)X
        !          22390: 2839(particular)X
        !          22391: 3203(command)X
        !          22392: 3577(swaps)X
        !          22393: 3817(the)X
        !          22394: 3951(values)X
        !          22395: 720 2190(of)N
        !          22396: 815(the)X
        !          22397: 945(variables)X
        !          22398: 7 f
        !          22399: 1316(a)X
        !          22400: 1 f
        !          22401: 1391(and)X
        !          22402: 7 f
        !          22403: 1571(b)X
        !          22404: 1 f
        !          22405: 1646(if)X
        !          22406: 7 f
        !          22407: 1753(a)X
        !          22408: 1 f
        !          22409: 1828(is)X
        !          22410: 1909(less)X
        !          22411: 2063(than)X
        !          22412: 7 f
        !          22413: 2268(b)X
        !          22414: 1 f
        !          22415: 2321(.)X
        !          22416: 920 2322(Tcl)N
        !          22417: 1060(also)X
        !          22418: 1224(allows)X
        !          22419: 1476(users)X
        !          22420: 1678(to)X
        !          22421: 1769(de\256ne)X
        !          22422: 2006(command)X
        !          22423: 2376(procedures)X
        !          22424: 2783(written)X
        !          22425: 3055(in)X
        !          22426: 3146(the)X
        !          22427: 3276(Tcl)X
        !          22428: 3416(language.)X
        !          22429: 3800(I)X
        !          22430: 3851(will)X
        !          22431: 4011(refer)X
        !          22432: 720 2421(to)N
        !          22433: 815(these)X
        !          22434: 1022(procedures)X
        !          22435: 1433(as)X
        !          22436: 2 f
        !          22437: 1532(tclproc)X
        !          22438: 1 f
        !          22439: 1782('s,)X
        !          22440: 1893(in)X
        !          22441: 1988(order)X
        !          22442: 2199(to)X
        !          22443: 2294(distinguish)X
        !          22444: 2708(them)X
        !          22445: 2911(from)X
        !          22446: 3108(other)X
        !          22447: 3315(procedures)X
        !          22448: 3726(written)X
        !          22449: 4001(in)X
        !          22450: 4095(C.)X
        !          22451: 720 2520(The)N
        !          22452: 7 f
        !          22453: 919(proc)X
        !          22454: 1 f
        !          22455: 1162(built-in)X
        !          22456: 1453(command)X
        !          22457: 1831(is)X
        !          22458: 1920(used)X
        !          22459: 2111(to)X
        !          22460: 2210(create)X
        !          22461: 2450(a)X
        !          22462: 2519(tclproc.)X
        !          22463: 2838(For)X
        !          22464: 2990(example,)X
        !          22465: 3341(here)X
        !          22466: 3522(is)X
        !          22467: 3611(a)X
        !          22468: 3680(Tcl)X
        !          22469: 3828(command)X
        !          22470: 720 2619(that)N
        !          22471: 875(de\256nes)X
        !          22472: 1146(a)X
        !          22473: 1207(recursive)X
        !          22474: 1551(factorial)X
        !          22475: 1867(procedure:)X
        !          22476: 7 f
        !          22477: 10 s
        !          22478: 1040 2751(proc)N
        !          22479: 1280(fac)X
        !          22480: 1472(x)X
        !          22481: 1568({)X
        !          22482: 1266 2850(if)N
        !          22483: 1410({$x)X
        !          22484: 1602(==)X
        !          22485: 1746(1})X
        !          22486: 1890({return)X
        !          22487: 2274(1})X
        !          22488: 1266 2949(return)N
        !          22489: 1602([expr)X
        !          22490: 1890({$x)X
        !          22491: 2082(*)X
        !          22492: 2178([fac)X
        !          22493: 2418([expr)X
        !          22494: 2706($x-1]]}])X
        !          22495: 1040 3048(})N
        !          22496: 1 f
        !          22497: 11 s
        !          22498: 720 3213(The)N
        !          22499: 7 f
        !          22500: 912(proc)X
        !          22501: 1 f
        !          22502: 1148(command)X
        !          22503: 1520(takes)X
        !          22504: 1725(three)X
        !          22505: 1925(arguments:)X
        !          22506: 2363(a)X
        !          22507: 2425(name)X
        !          22508: 2639(for)X
        !          22509: 2764(the)X
        !          22510: 2895(new)X
        !          22511: 3064(tclproc,)X
        !          22512: 3354(a)X
        !          22513: 3416(list)X
        !          22514: 3548(of)X
        !          22515: 3644(variable)X
        !          22516: 3951(names)X
        !          22517: 720 3312(\(in)N
        !          22518: 841(this)X
        !          22519: 992(case)X
        !          22520: 1166(the)X
        !          22521: 1297(list)X
        !          22522: 1428(has)X
        !          22523: 1567(only)X
        !          22524: 1746(a)X
        !          22525: 1807(single)X
        !          22526: 2040(element,)X
        !          22527: 7 f
        !          22528: 2395(x)X
        !          22529: 1 f
        !          22530: 2448(\),)X
        !          22531: 2521(and)X
        !          22532: 2670(a)X
        !          22533: 2731(Tcl)X
        !          22534: 2871(command)X
        !          22535: 3241(that)X
        !          22536: 3396(comprises)X
        !          22537: 3775(the)X
        !          22538: 3905(body)X
        !          22539: 4103(of)X
        !          22540: 720 3411(the)N
        !          22541: 858(tclproc.)X
        !          22542: 1177(Once)X
        !          22543: 1392(this)X
        !          22544: 7 f
        !          22545: 1581(proc)X
        !          22546: 1 f
        !          22547: 1823(command)X
        !          22548: 2200(has)X
        !          22549: 2346(been)X
        !          22550: 2541(executed,)X
        !          22551: 7 f
        !          22552: 2936(fac)X
        !          22553: 1 f
        !          22554: 3124(may)X
        !          22555: 3305(be)X
        !          22556: 3417(invoked)X
        !          22557: 3730(just)X
        !          22558: 3887(like)X
        !          22559: 4049(any)X
        !          22560: 720 3510(other)N
        !          22561: 923(Tcl)X
        !          22562: 1063(command.)X
        !          22563: 1477(For)X
        !          22564: 1621(example)X
        !          22565: 7 f
        !          22566: 10 s
        !          22567: 1040 3642(fac)N
        !          22568: 1232(4)X
        !          22569: 1 f
        !          22570: 11 s
        !          22571: 720 3774(will)N
        !          22572: 880(return)X
        !          22573: 1112(the)X
        !          22574: 1242(string)X
        !          22575: 1465(``)X
        !          22576: 7 f
        !          22577: 1523(24)X
        !          22578: 1 f
        !          22579: 1629(''.)X
        !          22580: 920 3906(Figure)N
        !          22581: 1186(1)X
        !          22582: 1266(lists)X
        !          22583: 1445(all)X
        !          22584: 1570(of)X
        !          22585: 1679(the)X
        !          22586: 1823(built-in)X
        !          22587: 2120(Tcl)X
        !          22588: 2274(commands)X
        !          22589: 2692(in)X
        !          22590: 2796(groups.)X
        !          22591: 3114(In)X
        !          22592: 3222(addition)X
        !          22593: 3547(to)X
        !          22594: 3651(the)X
        !          22595: 3794(commands)X
        !          22596: 720 4005(already)N
        !          22597: 1005(mentioned,)X
        !          22598: 1426(Tcl)X
        !          22599: 1570(provides)X
        !          22600: 1899(commands)X
        !          22601: 2307(for)X
        !          22602: 2434(manipulating)X
        !          22603: 2926(strings)X
        !          22604: 3186(\(comparison,)X
        !          22605: 3673(matching,)X
        !          22606: 4049(and)X
        !          22607: 7 f
        !          22608: 720 4104(printf/scanf)N
        !          22609: 1 f
        !          22610: 1356(-like)X
        !          22611: 1546(operations\),)X
        !          22612: 1992(commands)X
        !          22613: 2402(for)X
        !          22614: 2532(manipulating)X
        !          22615: 3027(\256les)X
        !          22616: 3202(and)X
        !          22617: 3357(\256le)X
        !          22618: 3498(names,)X
        !          22619: 3773(and)X
        !          22620: 3928(a)X
        !          22621: 3995(com-)X
        !          22622: 720 4203(mand)N
        !          22623: 941(to)X
        !          22624: 1035(fork)X
        !          22625: 1206(a)X
        !          22626: 1270(subprocess)X
        !          22627: 1680(and)X
        !          22628: 1832(return)X
        !          22629: 2067(the)X
        !          22630: 2200(subprocess's)X
        !          22631: 2673(standard)X
        !          22632: 2996(output)X
        !          22633: 3247(as)X
        !          22634: 3345(result.)X
        !          22635: 3610(The)X
        !          22636: 3772(built-in)X
        !          22637: 4058(Tcl)X
        !          22638: 720 4302(commands)N
        !          22639: 1129(provide)X
        !          22640: 1424(a)X
        !          22641: 1489(simple)X
        !          22642: 1751(but)X
        !          22643: 1890(complete)X
        !          22644: 2240(programming)X
        !          22645: 2746(language.)X
        !          22646: 3134(The)X
        !          22647: 3297(built-in)X
        !          22648: 3584(facilities)X
        !          22649: 3915(may)X
        !          22650: 4093(be)X
        !          22651: 720 4401(extended)N
        !          22652: 1066(in)X
        !          22653: 1163(three)X
        !          22654: 1367(ways:)X
        !          22655: 1622(by)X
        !          22656: 1738(writing)X
        !          22657: 2021(tclprocs;)X
        !          22658: 2353(by)X
        !          22659: 2469(invoking)X
        !          22660: 2811(other)X
        !          22661: 3019(programs)X
        !          22662: 3378(as)X
        !          22663: 3478(subprocesses;)X
        !          22664: 3988(or)X
        !          22665: 4088(by)X
        !          22666: 720 4500(de\256ning)N
        !          22667: 1031(new)X
        !          22668: 1199(commands)X
        !          22669: 1603(with)X
        !          22670: 1782(C)X
        !          22671: 1863(procedures)X
        !          22672: 2270(as)X
        !          22673: 2365(described)X
        !          22674: 2724(in)X
        !          22675: 2815(the)X
        !          22676: 2945(next)X
        !          22677: 3119(section.)X
        !          22678: 3 f
        !          22679: 720 4794(3.)N
        !          22680: 830(Embedding)X
        !          22681: 1288(Tcl)X
        !          22682: 1433(in)X
        !          22683: 1529(Applications)X
        !          22684: 1 f
        !          22685: 920 4926(Although)N
        !          22686: 1282(the)X
        !          22687: 1419(built-in)X
        !          22688: 1709(Tcl)X
        !          22689: 1856(commands)X
        !          22690: 2267(could)X
        !          22691: 2492(conceivably)X
        !          22692: 2947(be)X
        !          22693: 3058(used)X
        !          22694: 3247(as)X
        !          22695: 3348(a)X
        !          22696: 3415(stand-alone)X
        !          22697: 3849(program-)X
        !          22698: 720 5025(ming)N
        !          22699: 927(system,)X
        !          22700: 1219(Tcl)X
        !          22701: 1362(is)X
        !          22702: 1446(really)X
        !          22703: 1672(intended)X
        !          22704: 2001(to)X
        !          22705: 2094(be)X
        !          22706: 2201(embedded)X
        !          22707: 2587(in)X
        !          22708: 2680(application)X
        !          22709: 3097(programs.)X
        !          22710: 3497(I)X
        !          22711: 3550(have)X
        !          22712: 3740(built)X
        !          22713: 3927(several)X
        !          22714: 720 5124(application)N
        !          22715: 1137(programs)X
        !          22716: 1492(using)X
        !          22717: 1706(Tcl,)X
        !          22718: 1869(one)X
        !          22719: 2019(of)X
        !          22720: 2115(which)X
        !          22721: 2353(is)X
        !          22722: 2435(a)X
        !          22723: 2497(mouse-based)X
        !          22724: 2979(editor)X
        !          22725: 3208(for)X
        !          22726: 3333(X)X
        !          22727: 3419(called)X
        !          22728: 2 f
        !          22729: 3653(mx)X
        !          22730: 1 f
        !          22731: 3755(.)X
        !          22732: 3822(In)X
        !          22733: 3918(the)X
        !          22734: 4049(rest)X
        !          22735: 720 5223(of)N
        !          22736: 816(the)X
        !          22737: 947(paper)X
        !          22738: 1165(I)X
        !          22739: 1217(will)X
        !          22740: 1378(use)X
        !          22741: 1518(examples)X
        !          22742: 1873(from)X
        !          22743: 2 f
        !          22744: 2066(mx)X
        !          22745: 1 f
        !          22746: 2190(to)X
        !          22747: 2281(illustrate)X
        !          22748: 2613(how)X
        !          22749: 2786(Tcl)X
        !          22750: 2926(interacts)X
        !          22751: 3247(with)X
        !          22752: 3426(its)X
        !          22753: 3532(enclosing)X
        !          22754: 3892(applica-)X
        !          22755: 720 5322(tion.)N
        !          22756: 920 5454(An)N
        !          22757: 1058(application)X
        !          22758: 1482(using)X
        !          22759: 1704(Tcl)X
        !          22760: 1853(extends)X
        !          22761: 2152(the)X
        !          22762: 2290(built-in)X
        !          22763: 2581(commands)X
        !          22764: 2993(with)X
        !          22765: 3180(a)X
        !          22766: 3249(few)X
        !          22767: 3410(additional)X
        !          22768: 3794(commands)X
        !          22769: 720 5553(related)N
        !          22770: 997(to)X
        !          22771: 1103(that)X
        !          22772: 1273(particular)X
        !          22773: 1648(application.)X
        !          22774: 2122(For)X
        !          22775: 2281(example,)X
        !          22776: 2638(a)X
        !          22777: 2713(clock)X
        !          22778: 2940(program)X
        !          22779: 3274(might)X
        !          22780: 3517(provide)X
        !          22781: 3822(additional)X
        !          22782: 720 5652(commands)N
        !          22783: 1129(to)X
        !          22784: 1225(control)X
        !          22785: 1502(how)X
        !          22786: 1680(the)X
        !          22787: 1815(clock)X
        !          22788: 2033(is)X
        !          22789: 2119(displayed)X
        !          22790: 2484(and)X
        !          22791: 2638(to)X
        !          22792: 2734(set)X
        !          22793: 2859(alarms;)X
        !          22794: 3168(the)X
        !          22795: 2 f
        !          22796: 3303(mx)X
        !          22797: 1 f
        !          22798: 3432(editor)X
        !          22799: 3665(provides)X
        !          22800: 3995(addi-)X
        !          22801: 720 5751(tional)N
        !          22802: 955(commands)X
        !          22803: 1370(to)X
        !          22804: 1472(read)X
        !          22805: 1656(a)X
        !          22806: 1728(\256le)X
        !          22807: 1874(from)X
        !          22808: 2078(disk,)X
        !          22809: 2280(display)X
        !          22810: 2568(it)X
        !          22811: 2651(in)X
        !          22812: 2753(a)X
        !          22813: 2825(window,)X
        !          22814: 3163(select)X
        !          22815: 3396(and)X
        !          22816: 3555(modify)X
        !          22817: 3842(ranges)X
        !          22818: 4103(of)X
        !          22819: 3 f
        !          22820: 2375 6048(-)N
        !          22821: 2426(4)X
        !          22822: 2492(-)X
        !          22823: 
        !          22824: 5 p
        !          22825: %%Page: 5 6
        !          22826: 11 s 11 xH 0 xS 3 f
        !          22827: 720 483(Tcl:)N
        !          22828: 894(An)X
        !          22829: 1028(Embeddable)X
        !          22830: 1525(Command)X
        !          22831: 1942(Language)X
        !          22832: 3466(December)X
        !          22833: 3868(22,)X
        !          22834: 4000(1989)X
        !          22835: 7 f
        !          22836: 10 s
        !          22837: 1881 3355(catch,)N
        !          22838: 2217(error,)X
        !          22839: 2553(info,)X
        !          22840: 2841(time)X
        !          22841: 3 f
        !          22842: 2217 3257(Miscellaneous)N
        !          22843: 7 f
        !          22844: 2361 3041(exec)N
        !          22845: 3 f
        !          22846: 2068 2943(Invoking)N
        !          22847: 2393(Subprocesses)X
        !          22848: 7 f
        !          22849: 1857 2727(file,)N
        !          22850: 2145(glob,)X
        !          22851: 2433(print,)X
        !          22852: 2769(source)X
        !          22853: 3 f
        !          22854: 2150 2629(File)N
        !          22855: 2299(Manipulation)X
        !          22856: 7 f
        !          22857: 1977 2413(format,)N
        !          22858: 2361(scan,)X
        !          22859: 2649(string)X
        !          22860: 3 f
        !          22861: 2108 2315(String)N
        !          22862: 2341(Manipulation)X
        !          22863: 7 f
        !          22864: 2361 2099(expr)N
        !          22865: 3 f
        !          22866: 2253 2000(Expressions)N
        !          22867: 7 f
        !          22868: 1641 1784(concat,)N
        !          22869: 2025(index,)X
        !          22870: 2361(length,)X
        !          22871: 2745(list,)X
        !          22872: 3033(range)X
        !          22873: 3 f
        !          22874: 2148 1686(List)N
        !          22875: 2301(Manipulation)X
        !          22876: 7 f
        !          22877: 1857 1470(global,)N
        !          22878: 2241(proc,)X
        !          22879: 2529(return,)X
        !          22880: 2913(set)X
        !          22881: 3 f
        !          22882: 2015 1372(Variables)N
        !          22883: 2364(and)X
        !          22884: 2512(Procedures)X
        !          22885: 7 f
        !          22886: 1377 1156(break,)N
        !          22887: 1713(case,)X
        !          22888: 2001(continue,)X
        !          22889: 2481(eval,)X
        !          22890: 2769(for,)X
        !          22891: 3009(foreach,)X
        !          22892: 3441(if)X
        !          22893: 3 f
        !          22894: 2324 1058(Control)N
        !          22895: -1 Ds
        !          22896: 1 Dt
        !          22897: 1260 3459 MXY
        !          22898: 0 -2592 Dl
        !          22899: 2376 0 Dl
        !          22900: 0 2592 Dl
        !          22901: -2376 0 Dl
        !          22902: 3 Dt
        !          22903: -1 Ds
        !          22904: 880 3641(Figure)N
        !          22905: 1130(1)X
        !          22906: 1 f
        !          22907: (.)S
        !          22908: 1233(The)X
        !          22909: 1381(built-in)X
        !          22910: 1638(Tcl)X
        !          22911: 1767(commands.)X
        !          22912: 2176(This)X
        !          22913: 2340(set)X
        !          22914: 2451(of)X
        !          22915: 2540(commands)X
        !          22916: 2909(is)X
        !          22917: 2984(available)X
        !          22918: 3296(to)X
        !          22919: 3380(any)X
        !          22920: 3518(application)X
        !          22921: 3896(that)X
        !          22922: 880 3731(uses)N
        !          22923: 1038(Tcl.)X
        !          22924: 1205(Additional)X
        !          22925: 1567(commands)X
        !          22926: 1934(may)X
        !          22927: 2092(be)X
        !          22928: 2188(de\256ned)X
        !          22929: 2444(by)X
        !          22930: 2544(the)X
        !          22931: 2662(application.)X
        !          22932: 11 s
        !          22933: 720 3959(bytes,)N
        !          22934: 957(and)X
        !          22935: 1113(write)X
        !          22936: 1323(the)X
        !          22937: 1460(modi\256ed)X
        !          22938: 1803(\256le)X
        !          22939: 1945(back)X
        !          22940: 2140(to)X
        !          22941: 2238(disk.)X
        !          22942: 2458(An)X
        !          22943: 2594(application)X
        !          22944: 3016(programmer)X
        !          22945: 3480(need)X
        !          22946: 3674(only)X
        !          22947: 3859(write)X
        !          22948: 4068(the)X
        !          22949: 720 4058(application-speci\256c)N
        !          22950: 1439(commands;)X
        !          22951: 1896(the)X
        !          22952: 2032(built-in)X
        !          22953: 2321(commands)X
        !          22954: 2731(provide)X
        !          22955: 3028(programmability)X
        !          22956: 3649(and)X
        !          22957: 3803(extensibil-)X
        !          22958: 720 4157(ity)N
        !          22959: 839(``for)X
        !          22960: 1023(free''.)X
        !          22961: 1285(To)X
        !          22962: 1407(users,)X
        !          22963: 1633(the)X
        !          22964: 1765(application-speci\256c)X
        !          22965: 2480(commands)X
        !          22966: 2886(appear)X
        !          22967: 3144(the)X
        !          22968: 3276(same)X
        !          22969: 3481(as)X
        !          22970: 3578(the)X
        !          22971: 3710(built-in)X
        !          22972: 3995(com-)X
        !          22973: 720 4256(mands.)N
        !          22974: 920 4388(Figure)N
        !          22975: 1188(2)X
        !          22976: 1270(shows)X
        !          22977: 1527(the)X
        !          22978: 1673(relationship)X
        !          22979: 2128(between)X
        !          22980: 2458(Tcl)X
        !          22981: 2613(and)X
        !          22982: 2777(the)X
        !          22983: 2922(rest)X
        !          22984: 3086(of)X
        !          22985: 3196(an)X
        !          22986: 3316(application.)X
        !          22987: 3790(Tcl)X
        !          22988: 3945(is)X
        !          22989: 4041(a)X
        !          22990: 4117(C)X
        !          22991: 720 4487(library)N
        !          22992: 984(package)X
        !          22993: 1301(that)X
        !          22994: 1463(is)X
        !          22995: 1551(linked)X
        !          22996: 1801(with)X
        !          22997: 1986(the)X
        !          22998: 2122(application.)X
        !          22999: 2587(The)X
        !          23000: 2752(Tcl)X
        !          23001: 2898(library)X
        !          23002: 3161(includes)X
        !          23003: 3483(a)X
        !          23004: 3550(parser)X
        !          23005: 3792(for)X
        !          23006: 3922(the)X
        !          23007: 4058(Tcl)X
        !          23008: 720 4586(language,)N
        !          23009: 1087(procedures)X
        !          23010: 1499(to)X
        !          23011: 1595(execute)X
        !          23012: 1890(the)X
        !          23013: 2024(built-in)X
        !          23014: 2311(commands,)X
        !          23015: 2741(and)X
        !          23016: 2894(a)X
        !          23017: 2959(set)X
        !          23018: 3083(of)X
        !          23019: 3182(utility)X
        !          23020: 3421(procedures)X
        !          23021: 3832(for)X
        !          23022: 3960(things)X
        !          23023: 720 4685(like)N
        !          23024: 882(expression)X
        !          23025: 1287(evaluation)X
        !          23026: 1684(and)X
        !          23027: 1840(list)X
        !          23028: 1978(management.)X
        !          23029: 2501(The)X
        !          23030: 2666(parser)X
        !          23031: 2908(includes)X
        !          23032: 3230(an)X
        !          23033: 3341(extension)X
        !          23034: 3707(interface)X
        !          23035: 4043(that)X
        !          23036: 720 4784(may)N
        !          23037: 894(be)X
        !          23038: 999(used)X
        !          23039: 1182(to)X
        !          23040: 1273(extend)X
        !          23041: 1530(the)X
        !          23042: 1660(language's)X
        !          23043: 2063(command)X
        !          23044: 2433(set.)X
        !          23045: 920 4916(To)N
        !          23046: 1047(use)X
        !          23047: 1193(Tcl,)X
        !          23048: 1362(an)X
        !          23049: 1474(application)X
        !          23050: 1896(\256rst)X
        !          23051: 2062(creates)X
        !          23052: 2335(an)X
        !          23053: 2447(object)X
        !          23054: 2692(called)X
        !          23055: 2932(an)X
        !          23056: 2 f
        !          23057: 3044(interpreter)X
        !          23058: 1 f
        !          23059: 3426(,)X
        !          23060: 3477(using)X
        !          23061: 3697(the)X
        !          23062: 3833(following)X
        !          23063: 720 5015(library)N
        !          23064: 977(procedure:)X
        !          23065: 7 f
        !          23066: 10 s
        !          23067: 1040 5147(Tcl_Interp)N
        !          23068: 1568(*)X
        !          23069: 1664(Tcl_CreateInterp\(\))X
        !          23070: 1 f
        !          23071: 11 s
        !          23072: 720 5279(An)N
        !          23073: 855(interpreter)X
        !          23074: 1250(consists)X
        !          23075: 1557(of)X
        !          23076: 1658(a)X
        !          23077: 1725(set)X
        !          23078: 1851(of)X
        !          23079: 1952(commands,)X
        !          23080: 2384(a)X
        !          23081: 2451(set)X
        !          23082: 2577(of)X
        !          23083: 2678(variable)X
        !          23084: 2990(bindings,)X
        !          23085: 3344(and)X
        !          23086: 3499(a)X
        !          23087: 3566(command)X
        !          23088: 3942(execu-)X
        !          23089: 720 5378(tion)N
        !          23090: 882(state.)X
        !          23091: 1112(It)X
        !          23092: 1190(is)X
        !          23093: 1273(the)X
        !          23094: 1405(basic)X
        !          23095: 1610(unit)X
        !          23096: 1772(manipulated)X
        !          23097: 2233(by)X
        !          23098: 2345(most)X
        !          23099: 2540(of)X
        !          23100: 2636(the)X
        !          23101: 2767(Tcl)X
        !          23102: 2908(library)X
        !          23103: 3166(procedures.)X
        !          23104: 3618(Simple)X
        !          23105: 3892(applica-)X
        !          23106: 720 5477(tions)N
        !          23107: 919(will)X
        !          23108: 1084(use)X
        !          23109: 1228(only)X
        !          23110: 1412(a)X
        !          23111: 1478(single)X
        !          23112: 1715(interpreter,)X
        !          23113: 2130(while)X
        !          23114: 2352(more)X
        !          23115: 2559(complex)X
        !          23116: 2889(applications)X
        !          23117: 3342(may)X
        !          23118: 3520(use)X
        !          23119: 3663(multiple)X
        !          23120: 3985(inter-)X
        !          23121: 720 5576(preters)N
        !          23122: 997(for)X
        !          23123: 1137(different)X
        !          23124: 1478(purposes.)X
        !          23125: 1872(For)X
        !          23126: 2032(example,)X
        !          23127: 2 f
        !          23128: 2391(mx)X
        !          23129: 1 f
        !          23130: 2530(uses)X
        !          23131: 2718(one)X
        !          23132: 2882(interpreter)X
        !          23133: 3286(for)X
        !          23134: 3425(each)X
        !          23135: 3623(window)X
        !          23136: 3943(on)X
        !          23137: 4068(the)X
        !          23138: 720 5675(screen.)N
        !          23139: 3 f
        !          23140: 2375 6048(-)N
        !          23141: 2426(5)X
        !          23142: 2492(-)X
        !          23143: 
        !          23144: 6 p
        !          23145: %%Page: 6 7
        !          23146: 11 s 11 xH 0 xS 3 f
        !          23147: 720 483(Tcl:)N
        !          23148: 894(An)X
        !          23149: 1028(Embeddable)X
        !          23150: 1525(Command)X
        !          23151: 1942(Language)X
        !          23152: 3466(December)X
        !          23153: 3868(22,)X
        !          23154: 4000(1989)X
        !          23155: 1 f
        !          23156: -1 Ds
        !          23157: 1 Dt
        !          23158: 2183 1045 MXY
        !          23159: 604 0 Dl
        !          23160: 2183 1400 MXY
        !          23161: 16 -25 Dl
        !          23162: -16 9 Dl
        !          23163: -15 -9 Dl
        !          23164: 15 25 Dl
        !          23165: 0 -355 Dl
        !          23166: 13 s
        !          23167: 3006 867(Application)N
        !          23168: 3142 1471 MXY
        !          23169: 25 15 Dl
        !          23170: -9 -15 Dl
        !          23171: 9 -16 Dl
        !          23172: -25 16 Dl
        !          23173: 71 0 Dl
        !          23174: 2929 1542 MXY
        !          23175: 0 71 Dl
        !          23176: 284 0 Dl
        !          23177: 0 -142 Dl
        !          23178: 2929 1400 MXY
        !          23179: 16 -25 Dl
        !          23180: -16 9 Dl
        !          23181: -15 -9 Dl
        !          23182: 15 25 Dl
        !          23183: 0 -284 Dl
        !          23184: 2361 1471 MXY
        !          23185: 24 15 Dl
        !          23186: -8 -15 Dl
        !          23187: 8 -16 Dl
        !          23188: -24 16 Dl
        !          23189: 355 0 Dl
        !          23190: 1367 867(Tcl)N
        !          23191: 3 Dt
        !          23192: 2787 1116 MXY
        !          23193: 0 -142 Dl
        !          23194: 284 0 Dl
        !          23195: 0 142 Dl
        !          23196: -284 0 Dl
        !          23197: 2716 1542 MXY
        !          23198: 0 -142 Dl
        !          23199: 426 0 Dl
        !          23200: 0 142 Dl
        !          23201: -426 0 Dl
        !          23202: 2779 1506(Collect)N
        !          23203: 2857 1080(Init)N
        !          23204: 1935 2465 MXY
        !          23205: 0 -142 Dl
        !          23206: 426 0 Dl
        !          23207: 0 142 Dl
        !          23208: -426 0 Dl
        !          23209: 2006 1542 MXY
        !          23210: 0 -142 Dl
        !          23211: 355 0 Dl
        !          23212: 0 142 Dl
        !          23213: -355 0 Dl
        !          23214: 1980 2429(Utilities)N
        !          23215: 3 f
        !          23216: 9 s
        !          23217: 1349 2087(Commands)N
        !          23218: 1349 1980(Built-in)N
        !          23219: 3142 2140(Commands)N
        !          23220: 3142 2033(Speci\256c)N
        !          23221: 3142 1927(Application-)N
        !          23222: 1 f
        !          23223: 13 s
        !          23224: 2053 1506(Parser)N
        !          23225: 3000 2039 MXY
        !          23226: 0 -71 Dl
        !          23227: 71 0 Dl
        !          23228: 0 71 Dl
        !          23229: -71 0 Dl
        !          23230: 2858 MX
        !          23231: 0 -71 Dl
        !          23232: 71 0 Dl
        !          23233: 0 71 Dl
        !          23234: -71 0 Dl
        !          23235: 2716 MX
        !          23236: 0 -71 Dl
        !          23237: 71 0 Dl
        !          23238: 0 71 Dl
        !          23239: -71 0 Dl
        !          23240: 2574 MX
        !          23241: 0 -71 Dl
        !          23242: 71 0 Dl
        !          23243: 0 71 Dl
        !          23244: -71 0 Dl
        !          23245: 2290 MX
        !          23246: 0 -71 Dl
        !          23247: 71 0 Dl
        !          23248: 0 71 Dl
        !          23249: -71 0 Dl
        !          23250: 2148 MX
        !          23251: 0 -71 Dl
        !          23252: 71 0 Dl
        !          23253: 0 71 Dl
        !          23254: -71 0 Dl
        !          23255: 2006 MX
        !          23256: 0 -71 Dl
        !          23257: 71 0 Dl
        !          23258: 0 71 Dl
        !          23259: -71 0 Dl
        !          23260: 1864 MX
        !          23261: 0 -71 Dl
        !          23262: 71 0 Dl
        !          23263: 0 71 Dl
        !          23264: -71 0 Dl
        !          23265: 1722 MX
        !          23266: 0 -71 Dl
        !          23267: 71 0 Dl
        !          23268: 0 71 Dl
        !          23269: -71 0 Dl
        !          23270: 1 Dt
        !          23271: 1757 MX
        !          23272: 0 213 Dl
        !          23273: 249 0 Dl
        !          23274: 1899 2039 MXY
        !          23275: 0 178 Dl
        !          23276: 142 0 Dl
        !          23277: 2006 2323 MXY
        !          23278: 15 -24 Dl
        !          23279: -15 9 Dl
        !          23280: -16 -9 Dl
        !          23281: 16 24 Dl
        !          23282: 0 -71 Dl
        !          23283: 2041 2323 MXY
        !          23284: 16 -24 Dl
        !          23285: -16 9 Dl
        !          23286: -15 -9 Dl
        !          23287: 15 24 Dl
        !          23288: 0 -106 Dl
        !          23289: 2039 MY
        !          23290: 0 142 Dl
        !          23291: 36 0 Dl
        !          23292: 2323 MY
        !          23293: 15 -24 Dl
        !          23294: -15 9 Dl
        !          23295: -16 -9 Dl
        !          23296: 16 24 Dl
        !          23297: 0 -142 Dl
        !          23298: 3036 2039 MXY
        !          23299: 0 213 Dl
        !          23300: -746 0 Dl
        !          23301: 2323 MY
        !          23302: 16 -24 Dl
        !          23303: -16 9 Dl
        !          23304: -16 -9 Dl
        !          23305: 16 24 Dl
        !          23306: 0 -71 Dl
        !          23307: 2894 2039 MXY
        !          23308: 0 178 Dl
        !          23309: -640 0 Dl
        !          23310: 2323 MY
        !          23311: 16 -24 Dl
        !          23312: -16 9 Dl
        !          23313: -15 -9 Dl
        !          23314: 15 24 Dl
        !          23315: 0 -106 Dl
        !          23316: 2752 2039 MXY
        !          23317: 0 142 Dl
        !          23318: -533 0 Dl
        !          23319: 2323 MY
        !          23320: 16 -24 Dl
        !          23321: -16 9 Dl
        !          23322: -16 -9 Dl
        !          23323: 16 24 Dl
        !          23324: 0 -142 Dl
        !          23325: 2610 2039 MXY
        !          23326: 0 107 Dl
        !          23327: -427 0 Dl
        !          23328: 2323 MY
        !          23329: 16 -24 Dl
        !          23330: -16 9 Dl
        !          23331: -15 -9 Dl
        !          23332: 15 24 Dl
        !          23333: 0 -177 Dl
        !          23334: 2326 2039 MXY
        !          23335: 0 71 Dl
        !          23336: -178 0 Dl
        !          23337: 2323 MY
        !          23338: 16 -24 Dl
        !          23339: -16 9 Dl
        !          23340: -16 -9 Dl
        !          23341: 16 24 Dl
        !          23342: 0 -213 Dl
        !          23343: 2183 2039 MXY
        !          23344: 0 35 Dl
        !          23345: -71 0 Dl
        !          23346: 2323 MY
        !          23347: 16 -24 Dl
        !          23348: -16 9 Dl
        !          23349: -15 -9 Dl
        !          23350: 15 24 Dl
        !          23351: 0 -249 Dl
        !          23352: 2326 1968 MXY
        !          23353: 15 -25 Dl
        !          23354: -15 9 Dl
        !          23355: -16 -9 Dl
        !          23356: 16 25 Dl
        !          23357: 0 -107 Dl
        !          23358: 2183 1968 MXY
        !          23359: 16 -25 Dl
        !          23360: -16 9 Dl
        !          23361: -15 -9 Dl
        !          23362: 15 25 Dl
        !          23363: 0 -71 Dl
        !          23364: 2610 1968 MXY
        !          23365: 15 -25 Dl
        !          23366: -15 9 Dl
        !          23367: -16 -9 Dl
        !          23368: 16 25 Dl
        !          23369: 0 -142 Dl
        !          23370: 2752 1968 MXY
        !          23371: 15 -25 Dl
        !          23372: -15 9 Dl
        !          23373: -16 -9 Dl
        !          23374: 16 25 Dl
        !          23375: 0 -178 Dl
        !          23376: 2894 1968 MXY
        !          23377: 15 -25 Dl
        !          23378: -15 9 Dl
        !          23379: -16 -9 Dl
        !          23380: 16 25 Dl
        !          23381: 0 -213 Dl
        !          23382: 3036 1968 MXY
        !          23383: 15 -25 Dl
        !          23384: -15 9 Dl
        !          23385: -16 -9 Dl
        !          23386: 16 25 Dl
        !          23387: 0 -249 Dl
        !          23388: 2326 1542 MXY
        !          23389: 0 177 Dl
        !          23390: 710 0 Dl
        !          23391: 2290 1542 MXY
        !          23392: 0 213 Dl
        !          23393: 604 0 Dl
        !          23394: 2254 1542 MXY
        !          23395: 0 248 Dl
        !          23396: 498 0 Dl
        !          23397: 2219 1542 MXY
        !          23398: 0 284 Dl
        !          23399: 391 0 Dl
        !          23400: 2183 1542 MXY
        !          23401: 0 319 Dl
        !          23402: 143 0 Dl
        !          23403: 2148 1542 MXY
        !          23404: 0 355 Dl
        !          23405: 35 0 Dl
        !          23406: 2041 1542 MXY
        !          23407: 0 177 Dl
        !          23408: -284 0 Dl
        !          23409: 1968 MY
        !          23410: 16 -25 Dl
        !          23411: -16 9 Dl
        !          23412: -15 -9 Dl
        !          23413: 15 25 Dl
        !          23414: 0 -249 Dl
        !          23415: 2077 1542 MXY
        !          23416: 0 213 Dl
        !          23417: -178 0 Dl
        !          23418: 1968 MY
        !          23419: 16 -25 Dl
        !          23420: -16 9 Dl
        !          23421: -15 -9 Dl
        !          23422: 15 25 Dl
        !          23423: 0 -213 Dl
        !          23424: 2112 1542 MXY
        !          23425: 0 248 Dl
        !          23426: -71 0 Dl
        !          23427: 1968 MY
        !          23428: 16 -25 Dl
        !          23429: -16 9 Dl
        !          23430: -15 -9 Dl
        !          23431: 15 25 Dl
        !          23432: 0 -178 Dl
        !          23433: 4 Ds
        !          23434: 2503 2536 MXY
        !          23435: 0 -1633 Dl
        !          23436: 1066 0 Dl
        !          23437: 0 1633 Dl
        !          23438: -1066 0 Dl
        !          23439: 2432 903 MXY
        !          23440: 0 1633 Dl
        !          23441: -1136 0 Dl
        !          23442: 0 -1633 Dl
        !          23443: 1136 0 Dl
        !          23444: 3 Dt
        !          23445: -1 Ds
        !          23446: 3 f
        !          23447: 10 s
        !          23448: 880 2718(Figure)N
        !          23449: 1128(2)X
        !          23450: 1 f
        !          23451: (.)S
        !          23452: 1229(The)X
        !          23453: 1375(Tcl)X
        !          23454: 1503(library)X
        !          23455: 1738(provides)X
        !          23456: 2035(a)X
        !          23457: 2092(parser)X
        !          23458: 2310(for)X
        !          23459: 2425(the)X
        !          23460: 2544(Tcl)X
        !          23461: 2672(language,)X
        !          23462: 3003(a)X
        !          23463: 3060(set)X
        !          23464: 3170(of)X
        !          23465: 3258(built-in)X
        !          23466: 3513(commands,)X
        !          23467: 3900(and)X
        !          23468: 880 2808(several)N
        !          23469: 1145(utility)X
        !          23470: 1372(procedures.)X
        !          23471: 1801(The)X
        !          23472: 1962(application)X
        !          23473: 2354(provides)X
        !          23474: 2666(application-speci\256c)X
        !          23475: 3330(commands)X
        !          23476: 3713(plus)X
        !          23477: 3882(pro-)X
        !          23478: 880 2898(cedures)N
        !          23479: 1148(to)X
        !          23480: 1232(collect)X
        !          23481: 1468(commands)X
        !          23482: 1837(for)X
        !          23483: 1953(execution.)X
        !          23484: 2327(The)X
        !          23485: 2474(commands)X
        !          23486: 2843(are)X
        !          23487: 2963(parsed)X
        !          23488: 3194(by)X
        !          23489: 3295(Tcl)X
        !          23490: 3423(and)X
        !          23491: 3560(then)X
        !          23492: 3719(passed)X
        !          23493: 3954(to)X
        !          23494: 880 2988(relevant)N
        !          23495: 1159(command)X
        !          23496: 1495(procedures)X
        !          23497: 1868(\(either)X
        !          23498: 2098(in)X
        !          23499: 2180(Tcl)X
        !          23500: 2307(or)X
        !          23501: 2394(in)X
        !          23502: 2476(the)X
        !          23503: 2594(application\))X
        !          23504: 2997(for)X
        !          23505: 3111(execution.)X
        !          23506: 11 s
        !          23507: 920 3216(Once)N
        !          23508: 1138(an)X
        !          23509: 1254(application)X
        !          23510: 1679(has)X
        !          23511: 1828(created)X
        !          23512: 2114(an)X
        !          23513: 2229(interpreter,)X
        !          23514: 2650(it)X
        !          23515: 2732(calls)X
        !          23516: 2926(the)X
        !          23517: 7 f
        !          23518: 3097 0.1992(Tcl_CreateCommand)AX
        !          23519: 1 f
        !          23520: 4030(pro-)X
        !          23521: 720 3315(cedure)N
        !          23522: 976(to)X
        !          23523: 1067(extend)X
        !          23524: 1324(the)X
        !          23525: 1454(interpreter)X
        !          23526: 1843(with)X
        !          23527: 2022(application-speci\256c)X
        !          23528: 2735(commands:)X
        !          23529: 7 f
        !          23530: 10 s
        !          23531: 1360 3480(typedef)N
        !          23532: 1744(int)X
        !          23533: 1936(\(*Tcl_CmdProc\)\(ClientData)X
        !          23534: 3184(clientData,)X
        !          23535: 1586 3579(Tcl_Interp)N
        !          23536: 2114(*interp,)X
        !          23537: 2546(int)X
        !          23538: 2738(argc,)X
        !          23539: 3026(char)X
        !          23540: 3266(*argv[]\);)X
        !          23541: 1360 3777(Tcl_CreateCommand\(Tcl_Interp)N
        !          23542: 2752(*interp,)X
        !          23543: 3184(char)X
        !          23544: 3424(*name,)X
        !          23545: 1586 3876(Tcl_CmdProc)N
        !          23546: 2162(proc,)X
        !          23547: 2450(ClientData)X
        !          23548: 2978(clientData\))X
        !          23549: 1 f
        !          23550: 11 s
        !          23551: 720 4041(Each)N
        !          23552: 919(call)X
        !          23553: 1070(to)X
        !          23554: 7 f
        !          23555: 1193 0.1992(Tcl_CreateCommand)AX
        !          23556: 1 f
        !          23557: 2117(associates)X
        !          23558: 2492(a)X
        !          23559: 2554(particular)X
        !          23560: 2915(command)X
        !          23561: 3285(name)X
        !          23562: 3498(\()X
        !          23563: 7 f
        !          23564: 3527(name)X
        !          23565: 1 f
        !          23566: 3739(\))X
        !          23567: 3790(with)X
        !          23568: 3969(a)X
        !          23569: 4030(pro-)X
        !          23570: 720 4140(cedure)N
        !          23571: 982(that)X
        !          23572: 1142(implements)X
        !          23573: 1582(that)X
        !          23574: 1742(command)X
        !          23575: 2117(\()X
        !          23576: 7 f
        !          23577: 2146(proc)X
        !          23578: 1 f
        !          23579: 2358(\))X
        !          23580: 2414(and)X
        !          23581: 2568(an)X
        !          23582: 2678(arbitrary)X
        !          23583: 3008(single-word)X
        !          23584: 3455(value)X
        !          23585: 3673(to)X
        !          23586: 3769(pass)X
        !          23587: 3947(to)X
        !          23588: 4043(that)X
        !          23589: 720 4239(procedure)N
        !          23590: 1093(\()X
        !          23591: 7 f
        !          23592: 1122(clientData)X
        !          23593: 1 f
        !          23594: 1652(\).)X
        !          23595: 920 4371(After)N
        !          23596: 1136(creating)X
        !          23597: 1451(application-speci\256c)X
        !          23598: 2173(commands,)X
        !          23599: 2608(the)X
        !          23600: 2747(application)X
        !          23601: 3171(enters)X
        !          23602: 3412(a)X
        !          23603: 3482(main)X
        !          23604: 3689(loop)X
        !          23605: 3876(that)X
        !          23606: 4039(col-)X
        !          23607: 720 4470(lects)N
        !          23608: 904(commands)X
        !          23609: 1308(and)X
        !          23610: 1457(passes)X
        !          23611: 1703(them)X
        !          23612: 1902(to)X
        !          23613: 1993(the)X
        !          23614: 7 f
        !          23615: 2154(Tcl_Eval)X
        !          23616: 1 f
        !          23617: 2600(procedure)X
        !          23618: 2973(for)X
        !          23619: 3097(execution:)X
        !          23620: 7 f
        !          23621: 10 s
        !          23622: 1040 4602(int)N
        !          23623: 1232(Tcl_Eval\(Tcl_Interp)X
        !          23624: 2192(*interp,)X
        !          23625: 2624(char)X
        !          23626: 2864(*cmd\))X
        !          23627: 1 f
        !          23628: 11 s
        !          23629: 720 4734(In)N
        !          23630: 825(the)X
        !          23631: 965(simplest)X
        !          23632: 1292(form,)X
        !          23633: 1517(an)X
        !          23634: 1632(application)X
        !          23635: 2057(might)X
        !          23636: 2296(simply)X
        !          23637: 2569(read)X
        !          23638: 2751(commands)X
        !          23639: 3164(from)X
        !          23640: 3366(the)X
        !          23641: 3505(terminal)X
        !          23642: 3831(or)X
        !          23643: 3935(from)X
        !          23644: 4137(a)X
        !          23645: 720 4833(\256le.)N
        !          23646: 908(In)X
        !          23647: 1012(the)X
        !          23648: 2 f
        !          23649: 1151(mx)X
        !          23650: 1 f
        !          23651: 1284(editor)X
        !          23652: 1521(Tcl)X
        !          23653: 1669(commands)X
        !          23654: 2081(are)X
        !          23655: 2218(associated)X
        !          23656: 2610(with)X
        !          23657: 2797(events)X
        !          23658: 3052(such)X
        !          23659: 3243(as)X
        !          23660: 3346(keystrokes,)X
        !          23661: 3774(mouse)X
        !          23662: 4034(but-)X
        !          23663: 720 4932(tons,)N
        !          23664: 916(or)X
        !          23665: 1016(menu)X
        !          23666: 1239(activations;)X
        !          23667: 1696(each)X
        !          23668: 1884(time)X
        !          23669: 2069(an)X
        !          23670: 2179(event)X
        !          23671: 2397(occurs,)X
        !          23672: 2675(the)X
        !          23673: 2810(corresponding)X
        !          23674: 3339(Tcl)X
        !          23675: 3483(command)X
        !          23676: 3857(is)X
        !          23677: 3942(passed)X
        !          23678: 720 5031(to)N
        !          23679: 7 f
        !          23680: 842(Tcl_Eval)X
        !          23681: 1 f
        !          23682: 1266(.)X
        !          23683: 920 5163(The)N
        !          23684: 7 f
        !          23685: 1122(Tcl_Eval)X
        !          23686: 1 f
        !          23687: 1580(procedure)X
        !          23688: 1965(parses)X
        !          23689: 2218(its)X
        !          23690: 7 f
        !          23691: 2367(cmd)X
        !          23692: 1 f
        !          23693: 2559(argument)X
        !          23694: 2925(into)X
        !          23695: 3096(\256elds,)X
        !          23696: 3342(looks)X
        !          23697: 3566(up)X
        !          23698: 3687(the)X
        !          23699: 3828(command)X
        !          23700: 720 5262(name)N
        !          23701: 942(in)X
        !          23702: 1042(the)X
        !          23703: 1181(table)X
        !          23704: 1384(of)X
        !          23705: 1488(those)X
        !          23706: 1705(associated)X
        !          23707: 2098(with)X
        !          23708: 2286(the)X
        !          23709: 2425(interpreter,)X
        !          23710: 2845(and)X
        !          23711: 3003(invokes)X
        !          23712: 3308(the)X
        !          23713: 3447(command)X
        !          23714: 3825(procedure)X
        !          23715: 720 5361(associated)N
        !          23716: 1133(with)X
        !          23717: 1341(that)X
        !          23718: 1525(command.)X
        !          23719: 1968(All)X
        !          23720: 2132(command)X
        !          23721: 2530(procedures,)X
        !          23722: 2987(whether)X
        !          23723: 3320(built-in)X
        !          23724: 3631(or)X
        !          23725: 3754(application-)X
        !          23726: 720 5460(speci\256c,)N
        !          23727: 1039(are)X
        !          23728: 1174(called)X
        !          23729: 1413(in)X
        !          23730: 1510(the)X
        !          23731: 1646(same)X
        !          23732: 1855(way,)X
        !          23733: 2050(as)X
        !          23734: 2150(described)X
        !          23735: 2514(in)X
        !          23736: 2610(the)X
        !          23737: 7 f
        !          23738: 2776(typedef)X
        !          23739: 1 f
        !          23740: 3174(for)X
        !          23741: 7 f
        !          23742: 3334(Tcl_CmdProc)X
        !          23743: 1 f
        !          23744: 3944(above.)X
        !          23745: 720 5559(A)N
        !          23746: 809(command)X
        !          23747: 1183(procedure)X
        !          23748: 1560(is)X
        !          23749: 1645(passed)X
        !          23750: 1905(an)X
        !          23751: 2014(array)X
        !          23752: 2220(of)X
        !          23753: 2319(strings)X
        !          23754: 2580(describing)X
        !          23755: 2973(the)X
        !          23756: 3107(command's)X
        !          23757: 3543(arguments)X
        !          23758: 3935(\()X
        !          23759: 7 f
        !          23760: 3964(argc)X
        !          23761: 1 f
        !          23762: 720 5658(and)N
        !          23763: 7 f
        !          23764: 909(argv)X
        !          23765: 1 f
        !          23766: 1121(\))X
        !          23767: 1181(plus)X
        !          23768: 1359(the)X
        !          23769: 7 f
        !          23770: 1529(clientData)X
        !          23771: 1 f
        !          23772: 2090(value)X
        !          23773: 2312(that)X
        !          23774: 2476(was)X
        !          23775: 2643(associated)X
        !          23776: 3036(with)X
        !          23777: 3224(the)X
        !          23778: 3362(command)X
        !          23779: 3740(when)X
        !          23780: 3960(it)X
        !          23781: 4040(was)X
        !          23782: 720 5757(created.)N
        !          23783: 7 f
        !          23784: 1091(ClientData)X
        !          23785: 1 f
        !          23786: 1663(is)X
        !          23787: 1764(typically)X
        !          23788: 2116(a)X
        !          23789: 2197(pointer)X
        !          23790: 2488(to)X
        !          23791: 2598(an)X
        !          23792: 2722(application-speci\256c)X
        !          23793: 3454(structure)X
        !          23794: 3803(containing)X
        !          23795: 3 f
        !          23796: 2375 6048(-)N
        !          23797: 2426(6)X
        !          23798: 2492(-)X
        !          23799: 
        !          23800: 7 p
        !          23801: %%Page: 7 8
        !          23802: 11 s 11 xH 0 xS 3 f
        !          23803: 720 483(Tcl:)N
        !          23804: 894(An)X
        !          23805: 1028(Embeddable)X
        !          23806: 1525(Command)X
        !          23807: 1942(Language)X
        !          23808: 3466(December)X
        !          23809: 3868(22,)X
        !          23810: 4000(1989)X
        !          23811: 1 f
        !          23812: 720 771(information)N
        !          23813: 1165(needed)X
        !          23814: 1442(to)X
        !          23815: 1539(execute)X
        !          23816: 1836(the)X
        !          23817: 1972(command.)X
        !          23818: 2392(For)X
        !          23819: 2542(example,)X
        !          23820: 2891(in)X
        !          23821: 2 f
        !          23822: 2988(mx)X
        !          23823: 1 f
        !          23824: 3118(the)X
        !          23825: 7 f
        !          23826: 3285(clientData)X
        !          23827: 1 f
        !          23828: 3843(argument)X
        !          23829: 720 870(points)N
        !          23830: 978(to)X
        !          23831: 1089(a)X
        !          23832: 1170(per-window)X
        !          23833: 1636(data)X
        !          23834: 1825(structure)X
        !          23835: 2175(describing)X
        !          23836: 2584(the)X
        !          23837: 2734(\256le)X
        !          23838: 2889(being)X
        !          23839: 3127(edited)X
        !          23840: 3385(and)X
        !          23841: 3553(the)X
        !          23842: 3702(window)X
        !          23843: 4026(it)X
        !          23844: 4117(is)X
        !          23845: 720 969(displayed)N
        !          23846: 1080(in.)X
        !          23847: 920 1101(Control)N
        !          23848: 1253(mechanisms)X
        !          23849: 1752(like)X
        !          23850: 7 f
        !          23851: 1978(if)X
        !          23852: 1 f
        !          23853: 2146(and)X
        !          23854: 7 f
        !          23855: 2366(for)X
        !          23856: 1 f
        !          23857: 2587(are)X
        !          23858: 2756(implemented)X
        !          23859: 3280(with)X
        !          23860: 3499(recursive)X
        !          23861: 3883(calls)X
        !          23862: 4107(to)X
        !          23863: 7 f
        !          23864: 720 1200(Tcl_Eval)N
        !          23865: 1 f
        !          23866: 1144(.)X
        !          23867: 1212(For)X
        !          23868: 1358(example,)X
        !          23869: 1703(the)X
        !          23870: 1835(command)X
        !          23871: 2207(procedure)X
        !          23872: 2582(for)X
        !          23873: 2708(the)X
        !          23874: 7 f
        !          23875: 2871(if)X
        !          23876: 1 f
        !          23877: 3001(command)X
        !          23878: 3373(evaluates)X
        !          23879: 3724(its)X
        !          23880: 3831(\256rst)X
        !          23881: 3991(argu-)X
        !          23882: 720 1299(ment)N
        !          23883: 924(as)X
        !          23884: 1024(an)X
        !          23885: 1134(expression;)X
        !          23886: 1584(if)X
        !          23887: 1665(the)X
        !          23888: 1800(result)X
        !          23889: 2023(is)X
        !          23890: 2109(non-zero,)X
        !          23891: 2470(then)X
        !          23892: 2649(it)X
        !          23893: 2726(calls)X
        !          23894: 7 f
        !          23895: 2945(Tcl_Eval)X
        !          23896: 1 f
        !          23897: 3395(recursively)X
        !          23898: 3812(to)X
        !          23899: 3907(execute)X
        !          23900: 720 1398(its)N
        !          23901: 838(second)X
        !          23902: 1116(argument)X
        !          23903: 1483(as)X
        !          23904: 1590(a)X
        !          23905: 1663(Tcl)X
        !          23906: 1815(command.)X
        !          23907: 2241(During)X
        !          23908: 2524(the)X
        !          23909: 2666(execution)X
        !          23910: 3043(of)X
        !          23911: 3150(that)X
        !          23912: 3317(command,)X
        !          23913: 7 f
        !          23914: 3752(Tcl_Eval)X
        !          23915: 1 f
        !          23916: 720 1497(may)N
        !          23917: 901(be)X
        !          23918: 1013(called)X
        !          23919: 1253(recursively)X
        !          23920: 1673(again,)X
        !          23921: 1915(and)X
        !          23922: 2071(so)X
        !          23923: 2178(on.)X
        !          23924: 7 f
        !          23925: 2370(Tcl_Eval)X
        !          23926: 1 f
        !          23927: 2823(also)X
        !          23928: 2994(calls)X
        !          23929: 3185(itself)X
        !          23930: 3391(recursively)X
        !          23931: 3810(to)X
        !          23932: 3907(execute)X
        !          23933: 720 1596(bracketed)N
        !          23934: 1084(commands)X
        !          23935: 1488(that)X
        !          23936: 1643(appear)X
        !          23937: 1899(in)X
        !          23938: 1990(arguments.)X
        !          23939: 920 1728(Even)N
        !          23940: 1127(tclprocs)X
        !          23941: 1431(such)X
        !          23942: 1617(as)X
        !          23943: 7 f
        !          23944: 1746(fac)X
        !          23945: 1 f
        !          23946: 1930(use)X
        !          23947: 2072(this)X
        !          23948: 2225(same)X
        !          23949: 2431(basic)X
        !          23950: 2637(mechanism.)X
        !          23951: 3108(When)X
        !          23952: 3343(the)X
        !          23953: 7 f
        !          23954: 3507(proc)X
        !          23955: 1 f
        !          23956: 3744(command)X
        !          23957: 4117(is)X
        !          23958: 720 1827(invoked)N
        !          23959: 1045(to)X
        !          23960: 1155(create)X
        !          23961: 7 f
        !          23962: 1437(fac)X
        !          23963: 1 f
        !          23964: 1596(,)X
        !          23965: 1659(the)X
        !          23966: 7 f
        !          23967: 1839(proc)X
        !          23968: 1 f
        !          23969: 2091(command)X
        !          23970: 2479(procedure)X
        !          23971: 2870(creates)X
        !          23972: 3154(a)X
        !          23973: 3233(new)X
        !          23974: 3419(command)X
        !          23975: 3807(by)X
        !          23976: 3935(calling)X
        !          23977: 7 f
        !          23978: 720 1926 0.1992(Tcl_CreateCommand)AN
        !          23979: 1 f
        !          23980: 1650(as)X
        !          23981: 1752(illustrated)X
        !          23982: 2135(in)X
        !          23983: 2233(Figure)X
        !          23984: 2492(3.)X
        !          23985: 2609(The)X
        !          23986: 2775(new)X
        !          23987: 2950(command)X
        !          23988: 3326(has)X
        !          23989: 3471(the)X
        !          23990: 3607(name)X
        !          23991: 7 f
        !          23992: 3857(fac)X
        !          23993: 1 f
        !          23994: 4016(.)X
        !          23995: 4088(Its)X
        !          23996: 720 2025(command)N
        !          23997: 1095(procedure)X
        !          23998: 1472(\()X
        !          23999: 7 f
        !          24000: 1501(proc)X
        !          24001: 1 f
        !          24002: 1739(in)X
        !          24003: 1834(the)X
        !          24004: 1968(call)X
        !          24005: 2122(to)X
        !          24006: 7 f
        !          24007: 2248 0.1992(Tcl_CreateCommand)AX
        !          24008: 1 f
        !          24009: 3149(\))X
        !          24010: 3204(is)X
        !          24011: 3289(a)X
        !          24012: 3354(special)X
        !          24013: 3625(Tcl)X
        !          24014: 3769(library)X
        !          24015: 4030(pro-)X
        !          24016: 720 2124(cedure)N
        !          24017: 987(called)X
        !          24018: 7 f
        !          24019: 1261(InterpProc)X
        !          24020: 1 f
        !          24021: 1791(,)X
        !          24022: 1845(and)X
        !          24023: 2004(its)X
        !          24024: 7 f
        !          24025: 2151(clientData)X
        !          24026: 1 f
        !          24027: 2713(is)X
        !          24028: 2804(a)X
        !          24029: 2875(pointer)X
        !          24030: 3157(to)X
        !          24031: 3258(a)X
        !          24032: 3329(structure)X
        !          24033: 3669(describing)X
        !          24034: 4068(the)X
        !          24035: 720 2223(tclproc.)N
        !          24036: 1036(This)X
        !          24037: 1220(structure)X
        !          24038: 1555(contains,)X
        !          24039: 1898(among)X
        !          24040: 2165(other)X
        !          24041: 2373(things,)X
        !          24042: 2638(a)X
        !          24043: 2704(copy)X
        !          24044: 2902(of)X
        !          24045: 3002(the)X
        !          24046: 3137(body)X
        !          24047: 3340(of)X
        !          24048: 3440(the)X
        !          24049: 3575(tclproc)X
        !          24050: 3846(\(the)X
        !          24051: 4009(third)X
        !          24052: 720 2322(argument)N
        !          24053: 1090(to)X
        !          24054: 1196(the)X
        !          24055: 7 f
        !          24056: 1372(proc)X
        !          24057: 1 f
        !          24058: 1621(command\).)X
        !          24059: 2079(When)X
        !          24060: 2326(the)X
        !          24061: 7 f
        !          24062: 2502(fac)X
        !          24063: 1 f
        !          24064: 2698(command)X
        !          24065: 3083(is)X
        !          24066: 3179(invoked,)X
        !          24067: 7 f
        !          24068: 3553(Tcl_Eval)X
        !          24069: 1 f
        !          24070: 4014(calls)X
        !          24071: 7 f
        !          24072: 720 2421(InterpProc)N
        !          24073: 1 f
        !          24074: 1250(,)X
        !          24075: 1309(which)X
        !          24076: 1560(in)X
        !          24077: 1665(turn)X
        !          24078: 1843(calls)X
        !          24079: 7 f
        !          24080: 2072(Tcl_Eval)X
        !          24081: 1 f
        !          24082: 2532(to)X
        !          24083: 2637(execute)X
        !          24084: 2942(the)X
        !          24085: 3086(body)X
        !          24086: 3298(of)X
        !          24087: 3407(the)X
        !          24088: 3551(tclproc.)X
        !          24089: 3876(There)X
        !          24090: 4117(is)X
        !          24091: 720 2520(some)N
        !          24092: 933(additional)X
        !          24093: 1314(code)X
        !          24094: 1507(required)X
        !          24095: 1827(to)X
        !          24096: 1923(associate)X
        !          24097: 2268(the)X
        !          24098: 2403(argument)X
        !          24099: 2763(of)X
        !          24100: 2863(the)X
        !          24101: 7 f
        !          24102: 3028(fac)X
        !          24103: 1 f
        !          24104: 3213(command)X
        !          24105: 3587(\(which)X
        !          24106: 3857(is)X
        !          24107: 3942(passed)X
        !          24108: 720 2619(to)N
        !          24109: 7 f
        !          24110: 847(InterpProc)X
        !          24111: 1 f
        !          24112: 1404(in)X
        !          24113: 1499(its)X
        !          24114: 7 f
        !          24115: 1640(argv)X
        !          24116: 1 f
        !          24117: 1878(array\))X
        !          24118: 2113(with)X
        !          24119: 2296(the)X
        !          24120: 7 f
        !          24121: 2461(x)X
        !          24122: 1 f
        !          24123: 2540(variable)X
        !          24124: 2850(used)X
        !          24125: 3037(inside)X
        !          24126: 7 f
        !          24127: 3305(fac)X
        !          24128: 1 f
        !          24129: 3464('s)X
        !          24130: 3553(body,)X
        !          24131: 3777(and)X
        !          24132: 3930(to)X
        !          24133: 4025(sup-)X
        !          24134: 720 2718(port)N
        !          24135: 893(variables)X
        !          24136: 1242(with)X
        !          24137: 1430(local)X
        !          24138: 1633(scope,)X
        !          24139: 1886(but)X
        !          24140: 2030(much)X
        !          24141: 2256(of)X
        !          24142: 2359(the)X
        !          24143: 2497(mechanism)X
        !          24144: 2929(for)X
        !          24145: 3061(tclprocs)X
        !          24146: 3370(is)X
        !          24147: 3459(the)X
        !          24148: 3597(same)X
        !          24149: 3808(as)X
        !          24150: 3911(that)X
        !          24151: 4074(for)X
        !          24152: 720 2817(any)N
        !          24153: 869(other)X
        !          24154: 1072(Tcl)X
        !          24155: 1212(command.)X
        !          24156: -1 Ds
        !          24157: 1 Dt
        !          24158: 2489 4389 MXY
        !          24159:  2489 4338 2489 4287 2547.33 4261.5 curveto
        !          24160:  2605.67 4236 2722.33 4236 2780.67 4206.83 curveto
        !          24161:  2839 4177.67 2839 4119.33 2839 4061 curveto
        !          24162: Dstroke
        !          24163: 2140 4389 MXY
        !          24164:  2140 4338 2140 4287 2081.67 4261.5 curveto
        !          24165:  2023.33 4236 1906.67 4236 1848.33 4206.83 curveto
        !          24166:  1790 4177.67 1790 4119.33 1790 4061 curveto
        !          24167: Dstroke
        !          24168: 2424 3974 MXY
        !          24169:  2387.33 3974 2350.67 3974 2332.33 3904.83 curveto
        !          24170:  2314 3835.67 2314 3697.33 2314 3559 curveto
        !          24171: Dstroke
        !          24172: 1499 3749(\(h\))N
        !          24173: 1914 4361(\(g\))N
        !          24174: 1922 3683(\(f\))N
        !          24175: 2351 3880(\(d\))N
        !          24176: 2616 4361(\(c\))N
        !          24177: 2613 3683(\(b\))N
        !          24178: 2140 3449 MXY
        !          24179: -30 -19 Dl
        !          24180: 10 19 Dl
        !          24181: -10 20 Dl
        !          24182: 30 -20 Dl
        !          24183: 4411 MY
        !          24184: 19 -30 Dl
        !          24185: -19 11 Dl
        !          24186: -20 -11 Dl
        !          24187: 20 30 Dl
        !          24188: 2402 3537 MXY
        !          24189:  2402 3595.33 2402 3653.67 2474.83 3682.83 curveto
        !          24190:  2547.67 3712 2693.33 3712 2766.17 3737.5 curveto
        !          24191:  2839 3763 2839 3814 2839 3865 curveto
        !          24192: Dstroke
        !          24193: 2227 3537 MXY
        !          24194:  2227 3595.33 2227 3653.67 2154.17 3682.83 curveto
        !          24195:  2081.33 3712 1935.67 3712 1862.83 3737.5 curveto
        !          24196:  1790 3763 1790 3814 1790 3865 curveto
        !          24197: Dstroke
        !          24198: 3886 MY
        !          24199: 19 -30 Dl
        !          24200: -19 11 Dl
        !          24201: -19 -11 Dl
        !          24202: 19 30 Dl
        !          24203: 2314 3537 MXY
        !          24204: -19 30 Dl
        !          24205: 19 -11 Dl
        !          24206: 20 11 Dl
        !          24207: -20 -30 Dl
        !          24208: 2489 4411 MXY
        !          24209: 19 -30 Dl
        !          24210: -19 11 Dl
        !          24211: -19 -11 Dl
        !          24212: 19 30 Dl
        !          24213: 2839 3886 MXY
        !          24214: 19 -30 Dl
        !          24215: -19 11 Dl
        !          24216: -19 -11 Dl
        !          24217: 19 30 Dl
        !          24218: 4 Ds
        !          24219: 1965 4673 MXY
        !          24220: 0 -262 Dl
        !          24221: 699 0 Dl
        !          24222: 0 262 Dl
        !          24223: -699 0 Dl
        !          24224: 2059 4623(Data)N
        !          24225: 2247(Structure)X
        !          24226: 1605 4011(InterpProc)N
        !          24227: 2466 4033(Command)N
        !          24228: 2856(Procedure)X
        !          24229: 7 f
        !          24230: 2733 3945(proc)N
        !          24231: 1 f
        !          24232: 2205 3486(Parser)N
        !          24233: -1 Ds
        !          24234: 3 Dt
        !          24235: 2140 3537 MXY
        !          24236: 0 -175 Dl
        !          24237: 349 0 Dl
        !          24238: 0 175 Dl
        !          24239: -349 0 Dl
        !          24240: 2424 4061 MXY
        !          24241: 0 -175 Dl
        !          24242: 830 0 Dl
        !          24243: 0 175 Dl
        !          24244: -830 0 Dl
        !          24245: 1571 MX
        !          24246: 0 -175 Dl
        !          24247: 438 0 Dl
        !          24248: 0 175 Dl
        !          24249: -438 0 Dl
        !          24250: 1 Dt
        !          24251: 3974 MY
        !          24252:  1527.33 3974 1483.67 3974 1461.83 3886.5 curveto
        !          24253:  1440 3799 1440 3624 1553 3536.5 curveto
        !          24254:  1666 3449 1892 3449 2118 3449 curveto
        !          24255: Dstroke
        !          24256: 7 f
        !          24257: 2235 4514(fac)N
        !          24258: 2533 3049(proc)N
        !          24259: 2798(fac)X
        !          24260: 3010(x)X
        !          24261: 3116({...})X
        !          24262: 1 f
        !          24263: 2402 3362 MXY
        !          24264: 19 -30 Dl
        !          24265: -19 11 Dl
        !          24266: -19 -11 Dl
        !          24267: 19 30 Dl
        !          24268: 0 -350 Dl
        !          24269: 2227 3362 MXY
        !          24270: 19 -30 Dl
        !          24271: -19 11 Dl
        !          24272: -19 -11 Dl
        !          24273: 19 30 Dl
        !          24274: 0 -350 Dl
        !          24275: 2402 MX
        !          24276: 87 0 Dl
        !          24277: 2227 MX
        !          24278: -87 0 Dl
        !          24279: 2446 3224(\(a\))N
        !          24280: 2086(\(e\))X
        !          24281: 7 f
        !          24282: 1831 3049(fac)N
        !          24283: 2043(5)X
        !          24284: 1 f
        !          24285: 3 Dt
        !          24286: -1 Ds
        !          24287: 3 f
        !          24288: 10 s
        !          24289: 880 4855(Figure)N
        !          24290: 1135(3)X
        !          24291: 1 f
        !          24292: (.)S
        !          24293: 1242(The)X
        !          24294: 1394(creation)X
        !          24295: 1680(and)X
        !          24296: 1823(execution)X
        !          24297: 2162(of)X
        !          24298: 2256(a)X
        !          24299: 2319(tclproc)X
        !          24300: 2569(\(a)X
        !          24301: 2659(procedure)X
        !          24302: 3008(written)X
        !          24303: 3262(in)X
        !          24304: 3351(Tcl\):)X
        !          24305: 3554(\(a\))X
        !          24306: 3671(the)X
        !          24307: 7 f
        !          24308: 3824(proc)X
        !          24309: 1 f
        !          24310: 880 4945(command)N
        !          24311: 1218(is)X
        !          24312: 1293(invoked,)X
        !          24313: 1593(e.g.)X
        !          24314: 1731(to)X
        !          24315: 1815(create)X
        !          24316: 2030(the)X
        !          24317: 7 f
        !          24318: 2178(fac)X
        !          24319: 1 f
        !          24320: 2344(procedure;)X
        !          24321: 2730(\(b\))X
        !          24322: 2846(the)X
        !          24323: 2965(Tcl)X
        !          24324: 3093(parser)X
        !          24325: 3311(invokes)X
        !          24326: 3581(the)X
        !          24327: 3700(command)X
        !          24328: 880 5035(procedure)N
        !          24329: 1225(associated)X
        !          24330: 1578(with)X
        !          24331: 7 f
        !          24332: 1771(proc)X
        !          24333: 1 f
        !          24334: (;)S
        !          24335: 2028(\(c\))X
        !          24336: 2141(the)X
        !          24337: 7 f
        !          24338: 2290(proc)X
        !          24339: 1 f
        !          24340: 2505(command)X
        !          24341: 2844(procedure)X
        !          24342: 3189(creates)X
        !          24343: 3436(a)X
        !          24344: 3495(data)X
        !          24345: 3651(structure)X
        !          24346: 3954(to)X
        !          24347: 880 5125(hold)N
        !          24348: 1047(the)X
        !          24349: 1170(Tcl)X
        !          24350: 1301(command)X
        !          24351: 1641(that)X
        !          24352: 1785(is)X
        !          24353: 7 f
        !          24354: 1890(fac)X
        !          24355: 1 f
        !          24356: ('s)S
        !          24357: 2116(body;)X
        !          24358: 2342(\(d\))X
        !          24359: 7 f
        !          24360: 2488(fac)X
        !          24361: 1 f
        !          24362: 2656(is)X
        !          24363: 2733(registered)X
        !          24364: 3074(as)X
        !          24365: 3165(a)X
        !          24366: 3225(new)X
        !          24367: 3383(Tcl)X
        !          24368: 3514(command,)X
        !          24369: 3874(with)X
        !          24370: 7 f
        !          24371: 880 5215(InterpProc)N
        !          24372: 1 f
        !          24373: 1388(as)X
        !          24374: 1483(its)X
        !          24375: 1585(command)X
        !          24376: 1928(procedure;)X
        !          24377: 2319(\(e\))X
        !          24378: 7 f
        !          24379: 2464(fac)X
        !          24380: 1 f
        !          24381: 2635(is)X
        !          24382: 2715(invoked)X
        !          24383: 3000(as)X
        !          24384: 3094(a)X
        !          24385: 3157(Tcl)X
        !          24386: 3291(command;)X
        !          24387: 3676(\(f\))X
        !          24388: 3784(the)X
        !          24389: 3909(Tcl)X
        !          24390: 880 5305(parser)N
        !          24391: 1112(invokes)X
        !          24392: 7 f
        !          24393: 1424(InterpProc)X
        !          24394: 1 f
        !          24395: 1939(as)X
        !          24396: 2041(the)X
        !          24397: 2174(command)X
        !          24398: 2524(procedure)X
        !          24399: 2880(for)X
        !          24400: 7 f
        !          24401: 3036(fac)X
        !          24402: 1 f
        !          24403: (;)S
        !          24404: 3256(\(g\))X
        !          24405: 7 f
        !          24406: 3412(InterpProc)X
        !          24407: 1 f
        !          24408: 3926(re-)X
        !          24409: 880 5395(trieves)N
        !          24410: 1118(the)X
        !          24411: 1240(body)X
        !          24412: 1424(of)X
        !          24413: 7 f
        !          24414: 1543(fac)X
        !          24415: 1 f
        !          24416: 1711(from)X
        !          24417: 1891(the)X
        !          24418: 2013(data)X
        !          24419: 2171(structure;)X
        !          24420: 2518(and)X
        !          24421: 2658(\(h\))X
        !          24422: 2775(the)X
        !          24423: 2896(Tcl)X
        !          24424: 3026(commands)X
        !          24425: 3396(in)X
        !          24426: 7 f
        !          24427: 3509(fac)X
        !          24428: 1 f
        !          24429: ('s)S
        !          24430: 3734(body)X
        !          24431: 3917(are)X
        !          24432: 880 5485(passed)N
        !          24433: 1114(back)X
        !          24434: 1286(to)X
        !          24435: 1368(the)X
        !          24436: 1486(Tcl)X
        !          24437: 1613(parser)X
        !          24438: 1830(for)X
        !          24439: 1944(execution.)X
        !          24440: 3 f
        !          24441: 11 s
        !          24442: 2375 6048(-)N
        !          24443: 2426(7)X
        !          24444: 2492(-)X
        !          24445: 
        !          24446: 8 p
        !          24447: %%Page: 8 9
        !          24448: 11 s 11 xH 0 xS 3 f
        !          24449: 720 483(Tcl:)N
        !          24450: 894(An)X
        !          24451: 1028(Embeddable)X
        !          24452: 1525(Command)X
        !          24453: 1942(Language)X
        !          24454: 3466(December)X
        !          24455: 3868(22,)X
        !          24456: 4000(1989)X
        !          24457: 1 f
        !          24458: 920 771(A)N
        !          24459: 1009(Tcl)X
        !          24460: 1152(command)X
        !          24461: 1525(procedure)X
        !          24462: 1901(returns)X
        !          24463: 2170(two)X
        !          24464: 2327(results)X
        !          24465: 2582(to)X
        !          24466: 7 f
        !          24467: 2707(Tcl_Eval)X
        !          24468: 1 f
        !          24469: 3131(:)X
        !          24470: 3181(an)X
        !          24471: 3289(integer)X
        !          24472: 3559(return)X
        !          24473: 3794(code)X
        !          24474: 3985(and)X
        !          24475: 4137(a)X
        !          24476: 720 870(string.)N
        !          24477: 992(The)X
        !          24478: 1156(return)X
        !          24479: 1393(code)X
        !          24480: 1586(is)X
        !          24481: 1672(returned)X
        !          24482: 1992(as)X
        !          24483: 2092(the)X
        !          24484: 2227(procedure's)X
        !          24485: 2668(result,)X
        !          24486: 2913(and)X
        !          24487: 3067(the)X
        !          24488: 3202(string)X
        !          24489: 3430(is)X
        !          24490: 3515(stored)X
        !          24491: 3756(in)X
        !          24492: 3851(the)X
        !          24493: 3985(inter-)X
        !          24494: 720 969(preter,)N
        !          24495: 975(from)X
        !          24496: 1174(which)X
        !          24497: 1417(it)X
        !          24498: 1495(can)X
        !          24499: 1645(be)X
        !          24500: 1756(retrieved)X
        !          24501: 2097(later.)X
        !          24502: 7 f
        !          24503: 2356(Tcl_Eval)X
        !          24504: 1 f
        !          24505: 2807(returns)X
        !          24506: 3078(the)X
        !          24507: 3213(same)X
        !          24508: 3421(code)X
        !          24509: 3614(and)X
        !          24510: 3768(string)X
        !          24511: 3996(to)X
        !          24512: 4092(its)X
        !          24513: 720 1068(caller.)N
        !          24514: 990(Table)X
        !          24515: 1221(I)X
        !          24516: 1280(summarizes)X
        !          24517: 1731(the)X
        !          24518: 1869(return)X
        !          24519: 2108(codes)X
        !          24520: 2337(and)X
        !          24521: 2493(strings.)X
        !          24522: 2801(Normally)X
        !          24523: 3168(the)X
        !          24524: 3305(return)X
        !          24525: 3544(code)X
        !          24526: 3739(is)X
        !          24527: 7 f
        !          24528: 3858(TCL_OK)X
        !          24529: 1 f
        !          24530: 720 1167(and)N
        !          24531: 878(the)X
        !          24532: 1017(string)X
        !          24533: 1249(contains)X
        !          24534: 1574(the)X
        !          24535: 1713(result)X
        !          24536: 1940(of)X
        !          24537: 2044(the)X
        !          24538: 2183(command.)X
        !          24539: 2605(If)X
        !          24540: 2693(an)X
        !          24541: 2806(error)X
        !          24542: 3006(occurs)X
        !          24543: 3265(in)X
        !          24544: 3364(executing)X
        !          24545: 3737(a)X
        !          24546: 3806(command,)X
        !          24547: 720 1266(then)N
        !          24548: 896(the)X
        !          24549: 1028(return)X
        !          24550: 1262(code)X
        !          24551: 1452(will)X
        !          24552: 1614(be)X
        !          24553: 7 f
        !          24554: 1752(TCL_ERROR)X
        !          24555: 1 f
        !          24556: 2253(and)X
        !          24557: 2404(the)X
        !          24558: 2536(string)X
        !          24559: 2761(will)X
        !          24560: 2923(describe)X
        !          24561: 3240(the)X
        !          24562: 3372(error)X
        !          24563: 3565(condition.)X
        !          24564: 3966(When)X
        !          24565: 7 f
        !          24566: 720 1365(TCL_ERROR)N
        !          24567: 1 f
        !          24568: 1220(is)X
        !          24569: 1302(returned)X
        !          24570: 1618(\(or)X
        !          24571: 1742(any)X
        !          24572: 1891(value)X
        !          24573: 2104(other)X
        !          24574: 2307(than)X
        !          24575: 7 f
        !          24576: 2512(TCL_OK)X
        !          24577: 1 f
        !          24578: 2830(\),)X
        !          24579: 2903(the)X
        !          24580: 3033(normal)X
        !          24581: 3305(action)X
        !          24582: 3543(is)X
        !          24583: 3624(for)X
        !          24584: 3748(nested)X
        !          24585: 3995(com-)X
        !          24586: 720 1464(mand)N
        !          24587: 943(procedures)X
        !          24588: 1355(to)X
        !          24589: 1451(return)X
        !          24590: 1688(the)X
        !          24591: 1823(same)X
        !          24592: 2031(code)X
        !          24593: 2224(and)X
        !          24594: 2378(string)X
        !          24595: 2606(to)X
        !          24596: 2701(their)X
        !          24597: 2889(callers,)X
        !          24598: 3167(unwinding)X
        !          24599: 3570(all)X
        !          24600: 3685(pending)X
        !          24601: 3995(com-)X
        !          24602: 720 1563(mand)N
        !          24603: 945(executions)X
        !          24604: 1351(until)X
        !          24605: 1543(eventually)X
        !          24606: 1940(the)X
        !          24607: 2077(return)X
        !          24608: 2316(code)X
        !          24609: 2511(and)X
        !          24610: 2667(string)X
        !          24611: 2897(are)X
        !          24612: 3033(returned)X
        !          24613: 3355(by)X
        !          24614: 3472(the)X
        !          24615: 3609(top-level)X
        !          24616: 3951(call)X
        !          24617: 4107(to)X
        !          24618: 7 f
        !          24619: 720 1662(Tcl_Eval)N
        !          24620: 1 f
        !          24621: 1144(.)X
        !          24622: 1212(At)X
        !          24623: 1324(this)X
        !          24624: 1476(point)X
        !          24625: 1682(the)X
        !          24626: 1814(application)X
        !          24627: 2231(will)X
        !          24628: 2393(normally)X
        !          24629: 2736(display)X
        !          24630: 3015(the)X
        !          24631: 3147(error)X
        !          24632: 3341(message)X
        !          24633: 3663(for)X
        !          24634: 3788(the)X
        !          24635: 3919(user)X
        !          24636: 4088(by)X
        !          24637: 720 1761(printing)N
        !          24638: 1022(it)X
        !          24639: 1094(on)X
        !          24640: 1204(the)X
        !          24641: 1334(terminal)X
        !          24642: 1651(or)X
        !          24643: 1746(displaying)X
        !          24644: 2136(it)X
        !          24645: 2208(in)X
        !          24646: 2299(a)X
        !          24647: 2360(noti\256er)X
        !          24648: 2637(window.)X
        !          24649: 920 1893(Return)N
        !          24650: 1185(codes)X
        !          24651: 1410(other)X
        !          24652: 1616(than)X
        !          24653: 7 f
        !          24654: 1824(TCL_OK)X
        !          24655: 1 f
        !          24656: 2166(or)X
        !          24657: 7 f
        !          24658: 2294(TCL_ERROR)X
        !          24659: 1 f
        !          24660: 2795(cause)X
        !          24661: 3014(partial)X
        !          24662: 3264(unwinding.)X
        !          24663: 3709(For)X
        !          24664: 3855(example,)X
        !          24665: 720 1992(the)N
        !          24666: 7 f
        !          24667: 884(break)X
        !          24668: 1 f
        !          24669: 1174(command)X
        !          24670: 1547(returns)X
        !          24671: 1816(a)X
        !          24672: 7 f
        !          24673: 1911(TCL_BREAK)X
        !          24674: 1 f
        !          24675: 2413(code.)X
        !          24676: 2648(This)X
        !          24677: 2830(causes)X
        !          24678: 3084(nested)X
        !          24679: 3334(command)X
        !          24680: 3706(executions)X
        !          24681: 4107(to)X
        !          24682: 720 2091(be)N
        !          24683: 855(unwound)X
        !          24684: 1234(until)X
        !          24685: 1449(a)X
        !          24686: 1540(nested)X
        !          24687: 7 f
        !          24688: 1847(for)X
        !          24689: 1 f
        !          24690: 2057(or)X
        !          24691: 7 f
        !          24692: 2212(foreach)X
        !          24693: 1 f
        !          24694: 2634(command)X
        !          24695: 3033(is)X
        !          24696: 3143(reached.)X
        !          24697: 3511(When)X
        !          24698: 3772(a)X
        !          24699: 7 f
        !          24700: 3893(for)X
        !          24701: 1 f
        !          24702: 4103(or)X
        !          24703: 7 f
        !          24704: 720 2190(foreach)N
        !          24705: 1 f
        !          24706: 1119(command)X
        !          24707: 1495(invokes)X
        !          24708: 7 f
        !          24709: 1828(Tcl_Eval)X
        !          24710: 1 f
        !          24711: 2280(recursively,)X
        !          24712: 2720(it)X
        !          24713: 2797(checks)X
        !          24714: 3063(specially)X
        !          24715: 3404(for)X
        !          24716: 3533(the)X
        !          24717: 7 f
        !          24718: 3699(TCL_BREAK)X
        !          24719: 1 f
        !          24720: 720 2289(result.)N
        !          24721: 993(When)X
        !          24722: 1236(this)X
        !          24723: 1397(occurs)X
        !          24724: 1658(the)X
        !          24725: 7 f
        !          24726: 1829(for)X
        !          24727: 1 f
        !          24728: 2020(or)X
        !          24729: 7 f
        !          24730: 2156(foreach)X
        !          24731: 1 f
        !          24732: 2559(command)X
        !          24733: 2939(terminates)X
        !          24734: 3339(the)X
        !          24735: 3479(loop,)X
        !          24736: 3690(but)X
        !          24737: 3835(it)X
        !          24738: 3917(doesn't)X
        !          24739: 720 2388(return)N
        !          24740: 955(the)X
        !          24741: 7 f
        !          24742: 1119(TCL_BREAK)X
        !          24743: 1 f
        !          24744: 1620(code)X
        !          24745: 1810(to)X
        !          24746: 1903(its)X
        !          24747: 2011(caller.)X
        !          24748: 2275(Instead)X
        !          24749: 2553(it)X
        !          24750: 2627(returns)X
        !          24751: 7 f
        !          24752: 2926(TCL_OK)X
        !          24753: 1 f
        !          24754: 3244(.)X
        !          24755: 3312(Thus)X
        !          24756: 3512(no)X
        !          24757: 3624(higher)X
        !          24758: 3873(levels)X
        !          24759: 4103(of)X
        !          24760: 720 2487(execution)N
        !          24761: 1104(are)X
        !          24762: 1252(aborted.)X
        !          24763: 1601(The)X
        !          24764: 7 f
        !          24765: 1810(TCL_CONTINUE)X
        !          24766: 1 f
        !          24767: 2487(return)X
        !          24768: 2737(code)X
        !          24769: 2943(is)X
        !          24770: 3042(also)X
        !          24771: 3224(handled)X
        !          24772: 3543(by)X
        !          24773: 3671(the)X
        !          24774: 7 f
        !          24775: 3850(for)X
        !          24776: 1 f
        !          24777: 4049(and)X
        !          24778: 7 f
        !          24779: 720 2586(foreach)N
        !          24780: 1 f
        !          24781: 1122(commands)X
        !          24782: 1535(\(they)X
        !          24783: 1746(go)X
        !          24784: 1864(on)X
        !          24785: 1982(to)X
        !          24786: 2081(the)X
        !          24787: 2219(next)X
        !          24788: 2401(loop)X
        !          24789: 2588(iteration\))X
        !          24790: 2942(and)X
        !          24791: 7 f
        !          24792: 3130(TCL_RETURN)X
        !          24793: 1 f
        !          24794: 3690(is)X
        !          24795: 3779(handled)X
        !          24796: 4088(by)X
        !          24797: 720 2685(the)N
        !          24798: 7 f
        !          24799: 887(InterpProc)X
        !          24800: 1 f
        !          24801: 1445(procedure.)X
        !          24802: 1868(Only)X
        !          24803: 2072(a)X
        !          24804: 2138(few)X
        !          24805: 2296(command)X
        !          24806: 2671(procedures,)X
        !          24807: 3105(like)X
        !          24808: 7 f
        !          24809: 3296(break)X
        !          24810: 1 f
        !          24811: 3588(and)X
        !          24812: 7 f
        !          24813: 3773(for)X
        !          24814: 1 f
        !          24815: 3932(,)X
        !          24816: 3981(know)X
        !          24817: 720 2784(anything)N
        !          24818: 1061(about)X
        !          24819: 1289(special)X
        !          24820: 1566(return)X
        !          24821: 1808(codes)X
        !          24822: 2040(such)X
        !          24823: 2233(as)X
        !          24824: 7 f
        !          24825: 2369(TCL_BREAK)X
        !          24826: 1 f
        !          24827: 2846(;)X
        !          24828: 2925(other)X
        !          24829: 3138(command)X
        !          24830: 3518(procedures)X
        !          24831: 3935(simply)X
        !          24832: 720 2883(abort)N
        !          24833: 923(whenever)X
        !          24834: 1286(they)X
        !          24835: 1460(see)X
        !          24836: 1594(any)X
        !          24837: 1743(return)X
        !          24838: 1975(code)X
        !          24839: 2163(other)X
        !          24840: 2366(than)X
        !          24841: 7 f
        !          24842: 2571(TCL_OK)X
        !          24843: 1 f
        !          24844: 2889(.)X
        !          24845: 920 3015(The)N
        !          24846: 7 f
        !          24847: 1129(catch)X
        !          24848: 1 f
        !          24849: 1435(command)X
        !          24850: 1824(may)X
        !          24851: 2017(be)X
        !          24852: 2141(used)X
        !          24853: 2343(to)X
        !          24854: 2453(prevent)X
        !          24855: 2758(complete)X
        !          24856: 3123(unwinding)X
        !          24857: 3540(on)X
        !          24858: 7 f
        !          24859: 3699(TCL_ERROR)X
        !          24860: 1 f
        !          24861: 720 3114(returns.)N
        !          24862: 7 f
        !          24863: 1064(Catch)X
        !          24864: 1 f
        !          24865: 1354(takes)X
        !          24866: 1560(an)X
        !          24867: 1668(argument)X
        !          24868: 2026(that)X
        !          24869: 2184(is)X
        !          24870: 2268(a)X
        !          24871: 2332(Tcl)X
        !          24872: 2475(command)X
        !          24873: 2847(to)X
        !          24874: 2940(execute.)X
        !          24875: 3277(It)X
        !          24876: 3355(passes)X
        !          24877: 3603(the)X
        !          24878: 3735(command)X
        !          24879: 4107(to)X
        !          24880: 7 f
        !          24881: 720 3213(Tcl_Eval)N
        !          24882: 1 f
        !          24883: 1182(for)X
        !          24884: 1322(execution,)X
        !          24885: 1725(but)X
        !          24886: 1875(always)X
        !          24887: 2156(returns)X
        !          24888: 7 f
        !          24889: 2468(TCL_OK)X
        !          24890: 1 f
        !          24891: 2786(.)X
        !          24892: 2867(If)X
        !          24893: 2962(an)X
        !          24894: 3082(error)X
        !          24895: 3289(occurs)X
        !          24896: 3555(in)X
        !          24897: 3661(the)X
        !          24898: 3806(command,)X
        !          24899: 7 f
        !          24900: 720 3312(catch)N
        !          24901: 1 f
        !          24902: 985('s)X
        !          24903: 1081(command)X
        !          24904: 1462(procedure)X
        !          24905: 1846(detects)X
        !          24906: 2124(the)X
        !          24907: 7 f
        !          24908: 2296(TCL_ERROR)X
        !          24909: 1 f
        !          24910: 2806(return)X
        !          24911: 3049(value)X
        !          24912: 3273(from)X
        !          24913: 7 f
        !          24914: 3508(Tcl_Eval)X
        !          24915: 1 f
        !          24916: 3932(,)X
        !          24917: 3986(saves)X
        !          24918: 720 3411(information)N
        !          24919: 1162(about)X
        !          24920: 1383(the)X
        !          24921: 1516(error)X
        !          24922: 1710(in)X
        !          24923: 1803(Tcl)X
        !          24924: 1945(variables,)X
        !          24925: 2309(and)X
        !          24926: 2460(then)X
        !          24927: 2636(returns)X
        !          24928: 2904(TCL_OK)X
        !          24929: 3265(to)X
        !          24930: 3358(its)X
        !          24931: 3466(caller.)X
        !          24932: 3730(In)X
        !          24933: 3827(almost)X
        !          24934: 4087(all)X
        !          24935: 720 3510(cases)N
        !          24936: 928(I)X
        !          24937: 980(think)X
        !          24938: 1185(the)X
        !          24939: 1316(best)X
        !          24940: 1481(response)X
        !          24941: 1811(to)X
        !          24942: 1903(an)X
        !          24943: 2009(error)X
        !          24944: 2202(is)X
        !          24945: 2284(to)X
        !          24946: 2376(abort)X
        !          24947: 2580(all)X
        !          24948: 2692(command)X
        !          24949: 3063(invocations)X
        !          24950: 3493(and)X
        !          24951: 3642(notify)X
        !          24952: 3875(the)X
        !          24953: 4005(user;)X
        !          24954: 7 f
        !          24955: 720 3609(catch)N
        !          24956: 1 f
        !          24957: 1026(is)X
        !          24958: 1126(provided)X
        !          24959: 1480(for)X
        !          24960: 1623(those)X
        !          24961: 1850(few)X
        !          24962: 2022(occasions)X
        !          24963: 2405(where)X
        !          24964: 2660(an)X
        !          24965: 2783(error)X
        !          24966: 2993(is)X
        !          24967: 3092(expected)X
        !          24968: 3445(and)X
        !          24969: 3612(can)X
        !          24970: 3774(be)X
        !          24971: 3897(handled)X
        !          24972: 720 3708(without)N
        !          24973: 1012(aborting.)X
        !          24974: 3 f
        !          24975: 720 4002(4.)N
        !          24976: 830(Tcl)X
        !          24977: 975(and)X
        !          24978: 1139(Window)X
        !          24979: 1479(Applications)X
        !          24980: 1 f
        !          24981: 920 4134(An)N
        !          24982: 1061(embeddable)X
        !          24983: 1521(command)X
        !          24984: 1903(language)X
        !          24985: 2255(like)X
        !          24986: 2422(Tcl)X
        !          24987: 2574(offers)X
        !          24988: 2811(particular)X
        !          24989: 3182(advantages)X
        !          24990: 3606(in)X
        !          24991: 3708(a)X
        !          24992: 3780(windowing)X
        !          24993: 720 4233(environment.)N
        !          24994: 1259(This)X
        !          24995: 1465(is)X
        !          24996: 1572(partly)X
        !          24997: 1826(because)X
        !          24998: 2152(there)X
        !          24999: 2376(are)X
        !          25000: 2531(many)X
        !          25001: 2775(interactive)X
        !          25002: 3196(programs)X
        !          25003: 3576(in)X
        !          25004: 3693(a)X
        !          25005: 3780(windowing)X
        !          25006: 720 4332(environment)N
        !          25007: 1192(\(hence)X
        !          25008: 1452(many)X
        !          25009: 1674(places)X
        !          25010: 1920(to)X
        !          25011: 2015(use)X
        !          25012: 2158(a)X
        !          25013: 2223(command)X
        !          25014: 2597(language\))X
        !          25015: 2970(and)X
        !          25016: 3122(partly)X
        !          25017: 3353(because)X
        !          25018: 3656(con\256gurability)X
        !          25019: 10 f
        !          25020: 955 4472(i)N
        !          25021: 992(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          25022: 1 f
        !          25023: 1093 4571(Return)N
        !          25024: 1355(Code)X
        !          25025: 2322(Meaning)X
        !          25026: 3501(String)X
        !          25027: 10 f
        !          25028: 955 4582(i)N
        !          25029: 992(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          25030: 7 f
        !          25031: 999 4681(TCL_OK)N
        !          25032: 1 f
        !          25033: 1767(Command)X
        !          25034: 2157(completed)X
        !          25035: 2547(normally)X
        !          25036: 3322(Result)X
        !          25037: 7 f
        !          25038: 999 4780(TCL_ERROR)N
        !          25039: 1 f
        !          25040: 1767(Error)X
        !          25041: 1974(occurred)X
        !          25042: 2303(in)X
        !          25043: 2394(command)X
        !          25044: 3322(Error)X
        !          25045: 3529(message)X
        !          25046: 7 f
        !          25047: 999 4879(TCL_BREAK)N
        !          25048: 1 f
        !          25049: 1767(Should)X
        !          25050: 2039(abort)X
        !          25051: 2242(innermost)X
        !          25052: 2617(loop)X
        !          25053: 3322(None)X
        !          25054: 7 f
        !          25055: 999 4978(TCL_CONTINUE)N
        !          25056: 1 f
        !          25057: 1767(Should)X
        !          25058: 2039(skip)X
        !          25059: 2208(innermost)X
        !          25060: 2583(iteration)X
        !          25061: 3322(None)X
        !          25062: 7 f
        !          25063: 999 5077(TCL_RETURN)N
        !          25064: 1 f
        !          25065: 1767(Should)X
        !          25066: 2039(return)X
        !          25067: 2271(from)X
        !          25068: 2464(innermost)X
        !          25069: 2839(procedure)X
        !          25070: 3322(Procedure)X
        !          25071: 3700(result)X
        !          25072: 10 f
        !          25073: 955 5088(i)N
        !          25074: 992(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          25075: 955(c)X
        !          25076: 5000(c)Y
        !          25077: 4912(c)Y
        !          25078: 4824(c)Y
        !          25079: 4736(c)Y
        !          25080: 4648(c)Y
        !          25081: 4560(c)Y
        !          25082: 1701 5088(c)N
        !          25083: 5000(c)Y
        !          25084: 4912(c)Y
        !          25085: 4824(c)Y
        !          25086: 4736(c)Y
        !          25087: 4648(c)Y
        !          25088: 4560(c)Y
        !          25089: 3256 5088(c)N
        !          25090: 5000(c)Y
        !          25091: 4912(c)Y
        !          25092: 4824(c)Y
        !          25093: 4736(c)Y
        !          25094: 4648(c)Y
        !          25095: 4560(c)Y
        !          25096: 3940 5088(c)N
        !          25097: 5000(c)Y
        !          25098: 4912(c)Y
        !          25099: 4824(c)Y
        !          25100: 4736(c)Y
        !          25101: 4648(c)Y
        !          25102: 4560(c)Y
        !          25103: 3 f
        !          25104: 10 s
        !          25105: 880 5244(Table)N
        !          25106: 1099(I)X
        !          25107: 1 f
        !          25108: 1130(.)X
        !          25109: 1194(Each)X
        !          25110: 1378(Tcl)X
        !          25111: 1508(command)X
        !          25112: 1847(returns)X
        !          25113: 2093(a)X
        !          25114: 2152(code)X
        !          25115: 2327(describing)X
        !          25116: 2684(what)X
        !          25117: 2863(happened)X
        !          25118: 3194(and)X
        !          25119: 3333(a)X
        !          25120: 3392(string)X
        !          25121: 3597(that)X
        !          25122: 3740(provides)X
        !          25123: 880 5334(additional)N
        !          25124: 1235(information.)X
        !          25125: 1687(If)X
        !          25126: 1775(the)X
        !          25127: 1907(return)X
        !          25128: 2133(code)X
        !          25129: 2319(is)X
        !          25130: 2406(not)X
        !          25131: 7 f
        !          25132: 2570(TCL_OK)X
        !          25133: 1 f
        !          25134: (,)S
        !          25135: 2912(then)X
        !          25136: 3084(nested)X
        !          25137: 3323(command)X
        !          25138: 3673(executions)X
        !          25139: 880 5424(unwind)N
        !          25140: 1146(and)X
        !          25141: 1287(return)X
        !          25142: 1504(the)X
        !          25143: 1627(same)X
        !          25144: 1817(code,)X
        !          25145: 2014(until)X
        !          25146: 2185(reaching)X
        !          25147: 2487(top-level)X
        !          25148: 2797(or)X
        !          25149: 2889(some)X
        !          25150: 3083(command)X
        !          25151: 3424(that)X
        !          25152: 3569(is)X
        !          25153: 3647(prepared)X
        !          25154: 3954(to)X
        !          25155: 880 5514(deal)N
        !          25156: 1034(with)X
        !          25157: 1196(the)X
        !          25158: 1314(exceptional)X
        !          25159: 1704(return)X
        !          25160: 1916(code.)X
        !          25161: 3 f
        !          25162: 11 s
        !          25163: 2375 6048(-)N
        !          25164: 2426(8)X
        !          25165: 2492(-)X
        !          25166: 
        !          25167: 9 p
        !          25168: %%Page: 9 10
        !          25169: 11 s 11 xH 0 xS 3 f
        !          25170: 720 483(Tcl:)N
        !          25171: 894(An)X
        !          25172: 1028(Embeddable)X
        !          25173: 1525(Command)X
        !          25174: 1942(Language)X
        !          25175: 3466(December)X
        !          25176: 3868(22,)X
        !          25177: 4000(1989)X
        !          25178: 1 f
        !          25179: 720 771(is)N
        !          25180: 807(important)X
        !          25181: 1179(in)X
        !          25182: 1276(today's)X
        !          25183: 1563(windowing)X
        !          25184: 1987(environments)X
        !          25185: 2495(and)X
        !          25186: 2650(a)X
        !          25187: 2716(language)X
        !          25188: 3061(like)X
        !          25189: 3221(Tcl)X
        !          25190: 3366(provides)X
        !          25191: 3696(the)X
        !          25192: 3831(\257exibility)X
        !          25193: 720 870(to)N
        !          25194: 828(recon\256gure.)X
        !          25195: 1311(Tcl)X
        !          25196: 1468(can)X
        !          25197: 1628(be)X
        !          25198: 1749(used)X
        !          25199: 1948(for)X
        !          25200: 2088(two)X
        !          25201: 2258(purposes)X
        !          25202: 2608(in)X
        !          25203: 2715(a)X
        !          25204: 2792(window)X
        !          25205: 3113(application:)X
        !          25206: 3591(to)X
        !          25207: 3698(con\256gure)X
        !          25208: 4068(the)X
        !          25209: 720 969(application's)N
        !          25210: 1211(interface)X
        !          25211: 2 f
        !          25212: 1554(actions)X
        !          25213: 1 f
        !          25214: 1809(,)X
        !          25215: 1866(and)X
        !          25216: 2028(to)X
        !          25217: 2132(con\256gure)X
        !          25218: 2499(the)X
        !          25219: 2641(application's)X
        !          25220: 3131(interface)X
        !          25221: 2 f
        !          25222: 3473(appearance)X
        !          25223: 1 f
        !          25224: 3888(.)X
        !          25225: 3966(These)X
        !          25226: 720 1068(two)N
        !          25227: 874(purposes)X
        !          25228: 1208(are)X
        !          25229: 1337(discussed)X
        !          25230: 1696(in)X
        !          25231: 1787(the)X
        !          25232: 1917(paragraphs)X
        !          25233: 2324(below.)X
        !          25234: 920 1200(The)N
        !          25235: 1086(\256rst)X
        !          25236: 1251(use)X
        !          25237: 1396(of)X
        !          25238: 1497(Tcl)X
        !          25239: 1643(is)X
        !          25240: 1730(for)X
        !          25241: 1860(interface)X
        !          25242: 2196(actions.)X
        !          25243: 2518(Ideally,)X
        !          25244: 2813(each)X
        !          25245: 3002(event)X
        !          25246: 3221(that)X
        !          25247: 3382(has)X
        !          25248: 3527(any)X
        !          25249: 3682(importance)X
        !          25250: 4107(to)X
        !          25251: 720 1299(the)N
        !          25252: 867(application)X
        !          25253: 1299(should)X
        !          25254: 1573(be)X
        !          25255: 1695(bound)X
        !          25256: 1954(to)X
        !          25257: 2062(a)X
        !          25258: 2140(Tcl)X
        !          25259: 2297(command.)X
        !          25260: 2728(Each)X
        !          25261: 2943(keystroke,)X
        !          25262: 3346(each)X
        !          25263: 3546(mouse)X
        !          25264: 3814(motion)X
        !          25265: 4103(or)X
        !          25266: 720 1398(mouse)N
        !          25267: 977(button)X
        !          25268: 1230(press)X
        !          25269: 1437(\(or)X
        !          25270: 1566(release\),)X
        !          25271: 1887(and)X
        !          25272: 2040(each)X
        !          25273: 2227(menu)X
        !          25274: 2449(entry)X
        !          25275: 2656(should)X
        !          25276: 2917(be)X
        !          25277: 3026(associated)X
        !          25278: 3414(with)X
        !          25279: 3597(a)X
        !          25280: 3662(Tcl)X
        !          25281: 3806(command.)X
        !          25282: 720 1497(When)N
        !          25283: 960(the)X
        !          25284: 1098(event)X
        !          25285: 1319(occurs,)X
        !          25286: 1600(it)X
        !          25287: 1680(is)X
        !          25288: 1769(\256rst)X
        !          25289: 1936(mapped)X
        !          25290: 2244(to)X
        !          25291: 2342(its)X
        !          25292: 2455(Tcl)X
        !          25293: 2602(command)X
        !          25294: 2979(and)X
        !          25295: 3135(then)X
        !          25296: 3316(executed)X
        !          25297: 3658(by)X
        !          25298: 3775(passing)X
        !          25299: 4068(the)X
        !          25300: 720 1596(command)N
        !          25301: 1109(to)X
        !          25302: 7 f
        !          25303: 1250(Tcl_Eval)X
        !          25304: 1 f
        !          25305: 1674(.)X
        !          25306: 1758(The)X
        !          25307: 1935(application)X
        !          25308: 2368(should)X
        !          25309: 2643(not)X
        !          25310: 2796(take)X
        !          25311: 2983(any)X
        !          25312: 3150(actions)X
        !          25313: 3440(directly;)X
        !          25314: 3797(all)X
        !          25315: 3926(actions)X
        !          25316: 720 1695(should)N
        !          25317: 989(\256rst)X
        !          25318: 1159(pass)X
        !          25319: 1343(through)X
        !          25320: 1650(Tcl.)X
        !          25321: 1845(Furthermore,)X
        !          25322: 2340(the)X
        !          25323: 2481(application)X
        !          25324: 2907(should)X
        !          25325: 3175(provide)X
        !          25326: 3477(Tcl)X
        !          25327: 3628(commands)X
        !          25328: 4043(that)X
        !          25329: 720 1794(allow)N
        !          25330: 938(the)X
        !          25331: 1068(user)X
        !          25332: 1236(to)X
        !          25333: 1327(change)X
        !          25334: 1598(the)X
        !          25335: 1728(Tcl)X
        !          25336: 1868(command)X
        !          25337: 2238(associated)X
        !          25338: 2622(with)X
        !          25339: 2801(any)X
        !          25340: 2950(event.)X
        !          25341: 920 1926(In)N
        !          25342: 1020(interactive)X
        !          25343: 1420(windowing)X
        !          25344: 1843(applications,)X
        !          25345: 2319(the)X
        !          25346: 2454(use)X
        !          25347: 2598(of)X
        !          25348: 2698(Tcl)X
        !          25349: 2843(will)X
        !          25350: 3007(probably)X
        !          25351: 3346(not)X
        !          25352: 3485(be)X
        !          25353: 3594(visible)X
        !          25354: 3856(to)X
        !          25355: 3951(begin-)X
        !          25356: 720 2025(ning)N
        !          25357: 903(users:)X
        !          25358: 1156(they)X
        !          25359: 1334(will)X
        !          25360: 1498(manipulate)X
        !          25361: 1917(the)X
        !          25362: 2051(applications)X
        !          25363: 2504(using)X
        !          25364: 2720(buttons,)X
        !          25365: 3027(menus,)X
        !          25366: 3304(and)X
        !          25367: 3456(other)X
        !          25368: 3662(interface)X
        !          25369: 3995(com-)X
        !          25370: 720 2124(ponents.)N
        !          25371: 1063(However,)X
        !          25372: 1431(if)X
        !          25373: 1510(Tcl)X
        !          25374: 1653(is)X
        !          25375: 1737(used)X
        !          25376: 1923(as)X
        !          25377: 2021(an)X
        !          25378: 2129(intermediary)X
        !          25379: 2605(for)X
        !          25380: 2732(all)X
        !          25381: 2846(interface)X
        !          25382: 3179(actions)X
        !          25383: 3453(then)X
        !          25384: 3629(two)X
        !          25385: 3785(advantages)X
        !          25386: 720 2223(accrue.)N
        !          25387: 1021(First,)X
        !          25388: 1233(it)X
        !          25389: 1311(becomes)X
        !          25390: 1646(possible)X
        !          25391: 1962(to)X
        !          25392: 2058(write)X
        !          25393: 2266(Tcl)X
        !          25394: 2411(programs)X
        !          25395: 2770(to)X
        !          25396: 2866(recon\256gure)X
        !          25397: 3293(the)X
        !          25398: 3428(interface.)X
        !          25399: 3807(For)X
        !          25400: 3956(exam-)X
        !          25401: 720 2322(ple,)N
        !          25402: 878(users)X
        !          25403: 1086(will)X
        !          25404: 1252(be)X
        !          25405: 1363(able)X
        !          25406: 1538(to)X
        !          25407: 1635(rebind)X
        !          25408: 1887(keystrokes,)X
        !          25409: 2312(change)X
        !          25410: 2588(mouse)X
        !          25411: 2845(buttons,)X
        !          25412: 3154(or)X
        !          25413: 3254(replace)X
        !          25414: 3535(an)X
        !          25415: 3645(existing)X
        !          25416: 3952(opera-)X
        !          25417: 720 2421(tion)N
        !          25418: 882(with)X
        !          25419: 1063(a)X
        !          25420: 1126(more)X
        !          25421: 1331(complex)X
        !          25422: 1659(one)X
        !          25423: 1810(speci\256ed)X
        !          25424: 2147(as)X
        !          25425: 2243(a)X
        !          25426: 2305(set)X
        !          25427: 2426(of)X
        !          25428: 2522(Tcl)X
        !          25429: 2663(commands)X
        !          25430: 3068(or)X
        !          25431: 3164(tclprocs.)X
        !          25432: 3510(The)X
        !          25433: 3670(second)X
        !          25434: 3937(advan-)X
        !          25435: 720 2520(tage)N
        !          25436: 891(is)X
        !          25437: 974(that)X
        !          25438: 1131(this)X
        !          25439: 1283(approach)X
        !          25440: 1628(forces)X
        !          25441: 1865(all)X
        !          25442: 1977(of)X
        !          25443: 2073(the)X
        !          25444: 2204(application's)X
        !          25445: 2683(functionality)X
        !          25446: 3158(to)X
        !          25447: 3250(be)X
        !          25448: 3356(accessible)X
        !          25449: 3736(through)X
        !          25450: 4033(Tcl:)X
        !          25451: 720 2619(anything)N
        !          25452: 1053(that)X
        !          25453: 1210(can)X
        !          25454: 1355(be)X
        !          25455: 1461(invoked)X
        !          25456: 1768(with)X
        !          25457: 1948(the)X
        !          25458: 2079(mouse)X
        !          25459: 2332(or)X
        !          25460: 2428(keyboard)X
        !          25461: 2778(can)X
        !          25462: 2923(also)X
        !          25463: 3088(be)X
        !          25464: 3194(invoked)X
        !          25465: 3501(with)X
        !          25466: 3681(Tcl)X
        !          25467: 3822(programs.)X
        !          25468: 720 2718(This)N
        !          25469: 902(makes)X
        !          25470: 1152(it)X
        !          25471: 1227(possible)X
        !          25472: 1541(to)X
        !          25473: 1635(write)X
        !          25474: 1841(tclprocs)X
        !          25475: 2145(that)X
        !          25476: 2303(simulate)X
        !          25477: 2628(the)X
        !          25478: 2761(actions)X
        !          25479: 3036(of)X
        !          25480: 3133(the)X
        !          25481: 3265(program,)X
        !          25482: 3609(or)X
        !          25483: 3706(that)X
        !          25484: 3863(compose)X
        !          25485: 720 2817(the)N
        !          25486: 854(program's)X
        !          25487: 1241(basic)X
        !          25488: 1447(actions)X
        !          25489: 1722(into)X
        !          25490: 1885(more)X
        !          25491: 2091(powerful)X
        !          25492: 2433(actions.)X
        !          25493: 2752(It)X
        !          25494: 2831(also)X
        !          25495: 2998(permits)X
        !          25496: 3288(interactive)X
        !          25497: 3686(sessions)X
        !          25498: 3999(to)X
        !          25499: 4093(be)X
        !          25500: 720 2916(recorded)N
        !          25501: 1049(and)X
        !          25502: 1198(replayed)X
        !          25503: 1523(as)X
        !          25504: 1618(a)X
        !          25505: 1679(sequence)X
        !          25506: 2023(of)X
        !          25507: 2118(Tcl)X
        !          25508: 2258(commands)X
        !          25509: 2662(\(see)X
        !          25510: 2825(Section)X
        !          25511: 3112(5\).)X
        !          25512: 920 3048(The)N
        !          25513: 1083(second)X
        !          25514: 1353(use)X
        !          25515: 1496(for)X
        !          25516: 1624(Tcl)X
        !          25517: 1767(in)X
        !          25518: 1861(a)X
        !          25519: 1925(window)X
        !          25520: 2233(application)X
        !          25521: 2651(is)X
        !          25522: 2735(to)X
        !          25523: 2829(con\256gure)X
        !          25524: 3186(the)X
        !          25525: 3319(appearance)X
        !          25526: 3739(of)X
        !          25527: 3837(the)X
        !          25528: 3970(appli-)X
        !          25529: 720 3147(cation.)N
        !          25530: 1017(All)X
        !          25531: 1167(of)X
        !          25532: 1277(the)X
        !          25533: 1422(application's)X
        !          25534: 1915(interface)X
        !          25535: 2260(components)X
        !          25536: 2723(\(``widgets'')X
        !          25537: 3179(in)X
        !          25538: 3285(X)X
        !          25539: 3385(terminology\),)X
        !          25540: 3905(such)X
        !          25541: 4103(as)X
        !          25542: 720 3246(labels,)N
        !          25543: 982(buttons,)X
        !          25544: 1298(text)X
        !          25545: 1465(entries,)X
        !          25546: 1756(menus,)X
        !          25547: 2042(and)X
        !          25548: 2203(scrollbars,)X
        !          25549: 2601(should)X
        !          25550: 2870(be)X
        !          25551: 2987(con\256gured)X
        !          25552: 3397(using)X
        !          25553: 3621(Tcl)X
        !          25554: 3772(commands.)X
        !          25555: 720 3345(For)N
        !          25556: 872(example,)X
        !          25557: 1223(in)X
        !          25558: 1322(the)X
        !          25559: 1460(case)X
        !          25560: 1641(of)X
        !          25561: 1744(a)X
        !          25562: 1813(button)X
        !          25563: 2068(the)X
        !          25564: 2205(application)X
        !          25565: 2627(\(or)X
        !          25566: 2758(the)X
        !          25567: 2895(button)X
        !          25568: 3150(widget)X
        !          25569: 3419(code\))X
        !          25570: 3643(should)X
        !          25571: 3907(provide)X
        !          25572: 720 3444(Tcl)N
        !          25573: 866(commands)X
        !          25574: 1276(to)X
        !          25575: 1373(change)X
        !          25576: 1650(the)X
        !          25577: 1786(button's)X
        !          25578: 2103(size)X
        !          25579: 2268(and)X
        !          25580: 2423(location,)X
        !          25581: 2758(its)X
        !          25582: 2870(text,)X
        !          25583: 3053(its)X
        !          25584: 3165(colors,)X
        !          25585: 3430(and)X
        !          25586: 3585(the)X
        !          25587: 3720(action)X
        !          25588: 3963(\(a)X
        !          25589: 4058(Tcl)X
        !          25590: 720 3543(command,)N
        !          25591: 1117(of)X
        !          25592: 1217(course\))X
        !          25593: 1502(to)X
        !          25594: 1598(invoke)X
        !          25595: 1865(when)X
        !          25596: 2082(the)X
        !          25597: 2217(button)X
        !          25598: 2470(is)X
        !          25599: 2556(activated.)X
        !          25600: 2946(This)X
        !          25601: 3130(makes)X
        !          25602: 3382(it)X
        !          25603: 3458(possible)X
        !          25604: 3773(for)X
        !          25605: 3901(users)X
        !          25606: 4107(to)X
        !          25607: 720 3642(write)N
        !          25608: 933(Tcl)X
        !          25609: 1083(programs)X
        !          25610: 1447(to)X
        !          25611: 1548(personalize)X
        !          25612: 1981(the)X
        !          25613: 2121(layout)X
        !          25614: 2374(and)X
        !          25615: 2533(appearance)X
        !          25616: 2960(of)X
        !          25617: 3065(the)X
        !          25618: 3205(applications)X
        !          25619: 3664(they)X
        !          25620: 3847(use.)X
        !          25621: 4039(The)X
        !          25622: 720 3741(most)N
        !          25623: 916(common)X
        !          25624: 1249(use)X
        !          25625: 1390(of)X
        !          25626: 1487(such)X
        !          25627: 1672(recon\256gurability)X
        !          25628: 2284(would)X
        !          25629: 2528(probably)X
        !          25630: 2865(be)X
        !          25631: 2971(in)X
        !          25632: 3063(Tcl)X
        !          25633: 3204(command)X
        !          25634: 3575(\256les)X
        !          25635: 3745(read)X
        !          25636: 3919(by)X
        !          25637: 4030(pro-)X
        !          25638: 720 3840(grams)N
        !          25639: 962 0.2604(automatically)AX
        !          25640: 1471(when)X
        !          25641: 1688(they)X
        !          25642: 1867(start)X
        !          25643: 2046(execution.)X
        !          25644: 2460(However,)X
        !          25645: 2830(the)X
        !          25646: 2964(Tcl)X
        !          25647: 3108(commands)X
        !          25648: 3516(could)X
        !          25649: 3738(also)X
        !          25650: 3906(be)X
        !          25651: 4015(used)X
        !          25652: 720 3939(to)N
        !          25653: 811(change)X
        !          25654: 1082(an)X
        !          25655: 1187(application's)X
        !          25656: 1665(appearance)X
        !          25657: 2082(while)X
        !          25658: 2300(it)X
        !          25659: 2372(is)X
        !          25660: 2453(running,)X
        !          25661: 2771(if)X
        !          25662: 2847(that)X
        !          25663: 3002(should)X
        !          25664: 3259(prove)X
        !          25665: 3481(useful.)X
        !          25666: 920 4071(If)N
        !          25667: 1010(Tcl)X
        !          25668: 1160(is)X
        !          25669: 1251(used)X
        !          25670: 1444(as)X
        !          25671: 1549(described)X
        !          25672: 1918(above,)X
        !          25673: 2182(then)X
        !          25674: 2366(it)X
        !          25675: 2448(could)X
        !          25676: 2676(serve)X
        !          25677: 2893(as)X
        !          25678: 2998(a)X
        !          25679: 3069(speci\256cation)X
        !          25680: 3547(language)X
        !          25681: 3897(for)X
        !          25682: 4030(user)X
        !          25683: 720 4170(interfaces.)N
        !          25684: 1143(User)X
        !          25685: 1345(interface)X
        !          25686: 1690(editors)X
        !          25687: 1967(could)X
        !          25688: 2200(be)X
        !          25689: 2320(written)X
        !          25690: 2606(to)X
        !          25691: 2711(display)X
        !          25692: 3002(widgets)X
        !          25693: 3312(and)X
        !          25694: 3475(let)X
        !          25695: 3600(users)X
        !          25696: 3816(re-arrange)X
        !          25697: 720 4269(them)N
        !          25698: 925(and)X
        !          25699: 1080(con\256gure)X
        !          25700: 1440(attributes)X
        !          25701: 1797(such)X
        !          25702: 1986(as)X
        !          25703: 2087(colors)X
        !          25704: 2330(and)X
        !          25705: 2484(associated)X
        !          25706: 2873(Tcl)X
        !          25707: 3018(commands.)X
        !          25708: 3471(The)X
        !          25709: 3635(interface)X
        !          25710: 3970(editor)X
        !          25711: 720 4368(could)N
        !          25712: 939(then)X
        !          25713: 1114(output)X
        !          25714: 1363(information)X
        !          25715: 1803(about)X
        !          25716: 2022(the)X
        !          25717: 2152(interface)X
        !          25718: 2482(as)X
        !          25719: 2577(a)X
        !          25720: 2638(Tcl)X
        !          25721: 2778(command)X
        !          25722: 3148(\256le)X
        !          25723: 3283(to)X
        !          25724: 3374(be)X
        !          25725: 3479(read)X
        !          25726: 3652(by)X
        !          25727: 3762(the)X
        !          25728: 3892(applica-)X
        !          25729: 720 4467(tion)N
        !          25730: 881(when)X
        !          25731: 1094(it)X
        !          25732: 1167(starts)X
        !          25733: 1376(up.)X
        !          25734: 1531(Some)X
        !          25735: 1755(current)X
        !          25736: 2027(interface)X
        !          25737: 2358(editors)X
        !          25738: 2620(output)X
        !          25739: 2868(C)X
        !          25740: 2949(code)X
        !          25741: 3137(which)X
        !          25742: 3374(must)X
        !          25743: 3568(then)X
        !          25744: 3742(be)X
        !          25745: 3847(compiled)X
        !          25746: 720 4566(into)N
        !          25747: 887(the)X
        !          25748: 1024(application)X
        !          25749: 1445([7];)X
        !          25750: 1622(unfortunately)X
        !          25751: 2125(this)X
        !          25752: 2281(approach)X
        !          25753: 2631(requires)X
        !          25754: 2942(an)X
        !          25755: 3053(application)X
        !          25756: 3474(to)X
        !          25757: 3571(be)X
        !          25758: 3682(recompiled)X
        !          25759: 4107(in)X
        !          25760: 720 4665(order)N
        !          25761: 929(to)X
        !          25762: 1022(change)X
        !          25763: 1295(its)X
        !          25764: 1403(interface)X
        !          25765: 1735(\(or,)X
        !          25766: 1883(alternatively,)X
        !          25767: 2371(it)X
        !          25768: 2445(requires)X
        !          25769: 2752(a)X
        !          25770: 2814(dynamic-code-loading)X
        !          25771: 3630(facility\).)X
        !          25772: 3977(If)X
        !          25773: 4058(Tcl)X
        !          25774: 720 4764(were)N
        !          25775: 914(used)X
        !          25776: 1099(as)X
        !          25777: 1196(the)X
        !          25778: 1328(interface)X
        !          25779: 1660(speci\256cation)X
        !          25780: 2130(language)X
        !          25781: 2472(then)X
        !          25782: 2648(no)X
        !          25783: 2760(recompilation)X
        !          25784: 3274(would)X
        !          25785: 3517(be)X
        !          25786: 3623(necessary)X
        !          25787: 3987(and)X
        !          25788: 4137(a)X
        !          25789: 720 4863(single)N
        !          25790: 953(application)X
        !          25791: 1368(binary)X
        !          25792: 1615(could)X
        !          25793: 1833(support)X
        !          25794: 2119(many)X
        !          25795: 2337(different)X
        !          25796: 2662(interfaces.)X
        !          25797: 3 f
        !          25798: 720 5157(5.)N
        !          25799: 830(Communication)X
        !          25800: 1458(Between)X
        !          25801: 1797(Applications)X
        !          25802: 1 f
        !          25803: 920 5289(The)N
        !          25804: 1086(advantages)X
        !          25805: 1505(of)X
        !          25806: 1606(an)X
        !          25807: 1717(embedded)X
        !          25808: 2107(command)X
        !          25809: 2483(language)X
        !          25810: 2829(like)X
        !          25811: 2990(Tcl)X
        !          25812: 3136(become)X
        !          25813: 3438(even)X
        !          25814: 3632(greater)X
        !          25815: 3904(if)X
        !          25816: 3986(all)X
        !          25817: 4103(of)X
        !          25818: 720 5388(the)N
        !          25819: 862(tools)X
        !          25820: 1068(in)X
        !          25821: 1171(an)X
        !          25822: 1288(environment)X
        !          25823: 1768(are)X
        !          25824: 1909(based)X
        !          25825: 2143(on)X
        !          25826: 2265(the)X
        !          25827: 2407(same)X
        !          25828: 2622(language.)X
        !          25829: 3018(First,)X
        !          25830: 3236(users)X
        !          25831: 3450(need)X
        !          25832: 3650(only)X
        !          25833: 3840(learn)X
        !          25834: 4049(one)X
        !          25835: 720 5487(basic)N
        !          25836: 938(command)X
        !          25837: 1323(language;)X
        !          25838: 1725(to)X
        !          25839: 1831(move)X
        !          25840: 2064(from)X
        !          25841: 2272(one)X
        !          25842: 2436(application)X
        !          25843: 2866(to)X
        !          25844: 2972(another)X
        !          25845: 3273(they)X
        !          25846: 3461(need)X
        !          25847: 3663(only)X
        !          25848: 3856(learn)X
        !          25849: 4068(the)X
        !          25850: 720 5586(\(few?\))N
        !          25851: 976(application-speci\256c)X
        !          25852: 1695(commands)X
        !          25853: 2105(for)X
        !          25854: 2235(the)X
        !          25855: 2370(new)X
        !          25856: 2543(application.)X
        !          25857: 3007(Second,)X
        !          25858: 3315(generic)X
        !          25859: 3601(interface)X
        !          25860: 3936(editors)X
        !          25861: 720 5685(become)N
        !          25862: 1017(possible,)X
        !          25863: 1351(as)X
        !          25864: 1447(described)X
        !          25865: 1806(in)X
        !          25866: 1897(the)X
        !          25867: 2027(previous)X
        !          25868: 2352(section.)X
        !          25869: 2668(Third,)X
        !          25870: 2908(and)X
        !          25871: 3057(most)X
        !          25872: 3251(important)X
        !          25873: 3617(in)X
        !          25874: 3708(my)X
        !          25875: 3843(view,)X
        !          25876: 4058(Tcl)X
        !          25877: 720 5784(can)N
        !          25878: 864(provide)X
        !          25879: 1155(a)X
        !          25880: 1216(means)X
        !          25881: 1463(of)X
        !          25882: 1558(communication)X
        !          25883: 2130(between)X
        !          25884: 2445(applications.)X
        !          25885: 3 f
        !          25886: 2375 6048(-)N
        !          25887: 2426(9)X
        !          25888: 2492(-)X
        !          25889: 
        !          25890: 10 p
        !          25891: %%Page: 10 11
        !          25892: 11 s 11 xH 0 xS 3 f
        !          25893: 720 483(Tcl:)N
        !          25894: 894(An)X
        !          25895: 1028(Embeddable)X
        !          25896: 1525(Command)X
        !          25897: 1942(Language)X
        !          25898: 3466(December)X
        !          25899: 3868(22,)X
        !          25900: 4000(1989)X
        !          25901: 1 f
        !          25902: 920 771(I)N
        !          25903: 977(have)X
        !          25904: 1170(implemented)X
        !          25905: 1659(a)X
        !          25906: 1725(communication)X
        !          25907: 2302(mechanism)X
        !          25908: 2731(for)X
        !          25909: 2860(X11)X
        !          25910: 3038(in)X
        !          25911: 3134(the)X
        !          25912: 3269(form)X
        !          25913: 3467(of)X
        !          25914: 3567(an)X
        !          25915: 3677(additional)X
        !          25916: 4058(Tcl)X
        !          25917: 720 870(command)N
        !          25918: 1095(called)X
        !          25919: 7 f
        !          25920: 1364(send)X
        !          25921: 1 f
        !          25922: 1576(.)X
        !          25923: 1647(For)X
        !          25924: 7 f
        !          25925: 1827(send)X
        !          25926: 1 f
        !          25927: 2066(to)X
        !          25928: 2161(work,)X
        !          25929: 2389(each)X
        !          25930: 2576(Tcl)X
        !          25931: 2720(interpreter)X
        !          25932: 3113(associated)X
        !          25933: 3501(with)X
        !          25934: 3684(an)X
        !          25935: 3793(X11)X
        !          25936: 3970(appli-)X
        !          25937: 720 969(cation)N
        !          25938: 961(is)X
        !          25939: 1045(given)X
        !          25940: 1266(a)X
        !          25941: 1330(textual)X
        !          25942: 1596(name,)X
        !          25943: 1834(such)X
        !          25944: 2020(as)X
        !          25945: 7 f
        !          25946: 2149(xmh)X
        !          25947: 1 f
        !          25948: 2333(for)X
        !          25949: 2460(an)X
        !          25950: 2568(X)X
        !          25951: 2656(mail)X
        !          25952: 2839(handler)X
        !          25953: 3128(or)X
        !          25954: 7 f
        !          25955: 3256(mx.foo.c)X
        !          25956: 1 f
        !          25957: 3704(for)X
        !          25958: 3830(a)X
        !          25959: 3893(window)X
        !          25960: 720 1068(in)N
        !          25961: 813(which)X
        !          25962: 2 f
        !          25963: 1052(mx)X
        !          25964: 1 f
        !          25965: 1178(is)X
        !          25966: 1261(displaying)X
        !          25967: 1653(a)X
        !          25968: 1716(\256le)X
        !          25969: 1853(named)X
        !          25970: 7 f
        !          25971: 2143(foo.c)X
        !          25972: 1 f
        !          25973: 2408(.)X
        !          25974: 2475(The)X
        !          25975: 7 f
        !          25976: 2666(send)X
        !          25977: 1 f
        !          25978: 2901(command)X
        !          25979: 3272(takes)X
        !          25980: 3476(two)X
        !          25981: 3631(arguments:)X
        !          25982: 4068(the)X
        !          25983: 720 1167(name)N
        !          25984: 937(of)X
        !          25985: 1036(an)X
        !          25986: 1145(interpreter)X
        !          25987: 1538(and)X
        !          25988: 1691(a)X
        !          25989: 1756(Tcl)X
        !          25990: 1900(command)X
        !          25991: 2274(to)X
        !          25992: 2369(execute)X
        !          25993: 2663(in)X
        !          25994: 2757(that)X
        !          25995: 2915(interpreter.)X
        !          25996: 7 f
        !          25997: 3382(Send)X
        !          25998: 1 f
        !          25999: 3619(arranges)X
        !          26000: 3941(for)X
        !          26001: 4068(the)X
        !          26002: 720 1266(command)N
        !          26003: 1093(to)X
        !          26004: 1187(be)X
        !          26005: 1295(passed)X
        !          26006: 1554(to)X
        !          26007: 1648(the)X
        !          26008: 1781(process)X
        !          26009: 2069(containing)X
        !          26010: 2467(the)X
        !          26011: 2600(named)X
        !          26012: 2860(interpreter;)X
        !          26013: 3276(the)X
        !          26014: 3408(command)X
        !          26015: 3780(is)X
        !          26016: 3863(executed)X
        !          26017: 720 1365(by)N
        !          26018: 844(that)X
        !          26019: 1013(interpreter)X
        !          26020: 1416(and)X
        !          26021: 1579(the)X
        !          26022: 1723(results)X
        !          26023: 1989(\(return)X
        !          26024: 2264(code)X
        !          26025: 2466(and)X
        !          26026: 2629(string\))X
        !          26027: 2895(are)X
        !          26028: 3038(returned)X
        !          26029: 3367(to)X
        !          26030: 3472(the)X
        !          26031: 3615(application)X
        !          26032: 4043(that)X
        !          26033: 720 1464(issued)N
        !          26034: 962(the)X
        !          26035: 7 f
        !          26036: 1123(send)X
        !          26037: 1 f
        !          26038: 1357(command.)X
        !          26039: 920 1596(The)N
        !          26040: 1092(X11)X
        !          26041: 1278 0.2885(implementation)AX
        !          26042: 1869(of)X
        !          26043: 7 f
        !          26044: 2007(send)X
        !          26045: 1 f
        !          26046: 2253(uses)X
        !          26047: 2438(a)X
        !          26048: 2511(special)X
        !          26049: 2790(property)X
        !          26050: 3122(attached)X
        !          26051: 3450(to)X
        !          26052: 3553(the)X
        !          26053: 3695(root)X
        !          26054: 3871(window.)X
        !          26055: 720 1695(The)N
        !          26056: 882(property)X
        !          26057: 1205(stores)X
        !          26058: 1435(the)X
        !          26059: 1568(names)X
        !          26060: 1818(of)X
        !          26061: 1916(all)X
        !          26062: 2030(the)X
        !          26063: 2163(interpreters)X
        !          26064: 2589(plus)X
        !          26065: 2761(a)X
        !          26066: 2825(window)X
        !          26067: 3133(identi\256er)X
        !          26068: 3476(for)X
        !          26069: 3602(each)X
        !          26070: 3787(interpreter.)X
        !          26071: 720 1794(A)N
        !          26072: 813(command)X
        !          26073: 1191(is)X
        !          26074: 1280(sent)X
        !          26075: 1452(to)X
        !          26076: 1551(an)X
        !          26077: 1663(interpreter)X
        !          26078: 2059(by)X
        !          26079: 2176(appending)X
        !          26080: 2572(it)X
        !          26081: 2651(to)X
        !          26082: 2749(a)X
        !          26083: 2817(particular)X
        !          26084: 3184(property)X
        !          26085: 3511(in)X
        !          26086: 3609(the)X
        !          26087: 3746(interpreter's)X
        !          26088: 720 1893(associated)N
        !          26089: 1110(window.)X
        !          26090: 1465(The)X
        !          26091: 1630(property)X
        !          26092: 1955(change)X
        !          26093: 2231(is)X
        !          26094: 2317(detected)X
        !          26095: 2638(by)X
        !          26096: 2753(the)X
        !          26097: 2888(process)X
        !          26098: 3178(that)X
        !          26099: 3338(owns)X
        !          26100: 3550(the)X
        !          26101: 3685(interpreter;)X
        !          26102: 4126(it)X
        !          26103: 720 1992(reads)N
        !          26104: 928(the)X
        !          26105: 1059(property,)X
        !          26106: 1402(executes)X
        !          26107: 1728(the)X
        !          26108: 1859(command,)X
        !          26109: 2252(and)X
        !          26110: 2402(appends)X
        !          26111: 2713(result)X
        !          26112: 2932(information)X
        !          26113: 3372(onto)X
        !          26114: 3551(a)X
        !          26115: 3612(property)X
        !          26116: 3932(associ-)X
        !          26117: 720 2091(ated)N
        !          26118: 902(with)X
        !          26119: 1094(the)X
        !          26120: 1236(sending)X
        !          26121: 1544(application.)X
        !          26122: 2015(Finally,)X
        !          26123: 2322(the)X
        !          26124: 2464(sending)X
        !          26125: 2772(application)X
        !          26126: 3199(detects)X
        !          26127: 3478(this)X
        !          26128: 3640(change)X
        !          26129: 3923(of)X
        !          26130: 4030(pro-)X
        !          26131: 720 2190(perty,)N
        !          26132: 945(reads)X
        !          26133: 1152(the)X
        !          26134: 1282(result)X
        !          26135: 1500(information,)X
        !          26136: 1961(and)X
        !          26137: 2110(returns)X
        !          26138: 2376(it)X
        !          26139: 2448(as)X
        !          26140: 2543(the)X
        !          26141: 2673(result)X
        !          26142: 2891(of)X
        !          26143: 2986(the)X
        !          26144: 7 f
        !          26145: 3147(send)X
        !          26146: 1 f
        !          26147: 3381(command.)X
        !          26148: 920 2322(The)N
        !          26149: 7 f
        !          26150: 1116(send)X
        !          26151: 1 f
        !          26152: 1355(command)X
        !          26153: 1730(provides)X
        !          26154: 2060(a)X
        !          26155: 2126(powerful)X
        !          26156: 2470(way)X
        !          26157: 2643(for)X
        !          26158: 2772(one)X
        !          26159: 2926(application)X
        !          26160: 3346(to)X
        !          26161: 3442(control)X
        !          26162: 3719(another.)X
        !          26163: 4054(For)X
        !          26164: 720 2421(example,)N
        !          26165: 1069(a)X
        !          26166: 1136(debugger)X
        !          26167: 1491(could)X
        !          26168: 1715(send)X
        !          26169: 1904(commands)X
        !          26170: 2314(to)X
        !          26171: 2411(an)X
        !          26172: 2522(editor)X
        !          26173: 2756(to)X
        !          26174: 2852(highlight)X
        !          26175: 3199(the)X
        !          26176: 3334(current)X
        !          26177: 3610(source)X
        !          26178: 3866(line)X
        !          26179: 4026(as)X
        !          26180: 4126(it)X
        !          26181: 720 2520(single-steps)N
        !          26182: 1170(through)X
        !          26183: 1478(a)X
        !          26184: 1551(program.)X
        !          26185: 1927(Or,)X
        !          26186: 2075(a)X
        !          26187: 2148(user)X
        !          26188: 2328(interface)X
        !          26189: 2670(editor)X
        !          26190: 2910(could)X
        !          26191: 3139(use)X
        !          26192: 7 f
        !          26193: 3320(send)X
        !          26194: 1 f
        !          26195: 3565(to)X
        !          26196: 3667(manipulate)X
        !          26197: 4093(an)X
        !          26198: 720 2619(application's)N
        !          26199: 1217(interface)X
        !          26200: 1566(directly:)X
        !          26201: 1924(rather)X
        !          26202: 2170(than)X
        !          26203: 2363(modifying)X
        !          26204: 2771(a)X
        !          26205: 2850(dummy)X
        !          26206: 3160(version)X
        !          26207: 3459(of)X
        !          26208: 3572(the)X
        !          26209: 3720(application's)X
        !          26210: 720 2718(interface)N
        !          26211: 1062(displayed)X
        !          26212: 1434(by)X
        !          26213: 1556(the)X
        !          26214: 1698(interface)X
        !          26215: 2040(editor,)X
        !          26216: 2302(the)X
        !          26217: 2443(interface)X
        !          26218: 2784(editor)X
        !          26219: 3023(could)X
        !          26220: 3252(use)X
        !          26221: 7 f
        !          26222: 3433(send)X
        !          26223: 1 f
        !          26224: 3678(to)X
        !          26225: 3780(modify)X
        !          26226: 4068(the)X
        !          26227: 720 2817(interface)N
        !          26228: 1065(of)X
        !          26229: 1175(a)X
        !          26230: 1251(``live'')X
        !          26231: 1537(application,)X
        !          26232: 1989(while)X
        !          26233: 2222(also)X
        !          26234: 2401(saving)X
        !          26235: 2668(the)X
        !          26236: 2813(con\256guration)X
        !          26237: 3320(for)X
        !          26238: 3459(a)X
        !          26239: 3535(con\256guration)X
        !          26240: 4041(\256le.)X
        !          26241: 720 2916(This)N
        !          26242: 905(would)X
        !          26243: 1153(allow)X
        !          26244: 1377(an)X
        !          26245: 1488(interface)X
        !          26246: 1824(designer)X
        !          26247: 2150(to)X
        !          26248: 2247(try)X
        !          26249: 2373(out)X
        !          26250: 2513(the)X
        !          26251: 2648(look)X
        !          26252: 2832(and)X
        !          26253: 2986(feel)X
        !          26254: 3145(of)X
        !          26255: 3245(a)X
        !          26256: 3311(new)X
        !          26257: 3484(interface)X
        !          26258: 3819(incremen-)X
        !          26259: 720 3015(tally)N
        !          26260: 900(as)X
        !          26261: 995(changes)X
        !          26262: 1300(are)X
        !          26263: 1429(made)X
        !          26264: 1642(to)X
        !          26265: 1733(the)X
        !          26266: 1863(interface.)X
        !          26267: 920 3147(Another)N
        !          26268: 1230(example)X
        !          26269: 1551(of)X
        !          26270: 1646(using)X
        !          26271: 7 f
        !          26272: 1890(send)X
        !          26273: 1 f
        !          26274: 2124(is)X
        !          26275: 2205(for)X
        !          26276: 2329(changing)X
        !          26277: 2674(user)X
        !          26278: 2842(preferences.)X
        !          26279: 3312(If)X
        !          26280: 3392(one)X
        !          26281: 3541(user)X
        !          26282: 3709(walks)X
        !          26283: 3936(up)X
        !          26284: 4046(to)X
        !          26285: 4137(a)X
        !          26286: 720 3246(display)N
        !          26287: 1000(that)X
        !          26288: 1158(has)X
        !          26289: 1300(been)X
        !          26290: 1491(con\256gured)X
        !          26291: 1892(for)X
        !          26292: 2019(some)X
        !          26293: 2230(other)X
        !          26294: 2436(user,)X
        !          26295: 2629(the)X
        !          26296: 2762(new)X
        !          26297: 2932(user)X
        !          26298: 3102(could)X
        !          26299: 3322(run)X
        !          26300: 3463(a)X
        !          26301: 3526(program)X
        !          26302: 3848(that)X
        !          26303: 4005(\256nds)X
        !          26304: 720 3345(out)N
        !          26305: 860(about)X
        !          26306: 1083(all)X
        !          26307: 1199(the)X
        !          26308: 1334(existing)X
        !          26309: 1641(applications)X
        !          26310: 2095(on)X
        !          26311: 2210(the)X
        !          26312: 2345(screen)X
        !          26313: 2595(\(by)X
        !          26314: 2738(querying)X
        !          26315: 3077(the)X
        !          26316: 3211(property)X
        !          26317: 3535(that)X
        !          26318: 3694(contains)X
        !          26319: 4014(their)X
        !          26320: 720 3444(names\),)N
        !          26321: 1023(reads)X
        !          26322: 1234(the)X
        !          26323: 1368(new)X
        !          26324: 1540(user's)X
        !          26325: 1775(con\256guration)X
        !          26326: 2271(\256le)X
        !          26327: 2410(for)X
        !          26328: 2538(each)X
        !          26329: 2725(application,)X
        !          26330: 3166(and)X
        !          26331: 3319(sends)X
        !          26332: 3540(commands)X
        !          26333: 3948(to)X
        !          26334: 4043(that)X
        !          26335: 720 3543(application)N
        !          26336: 1139(to)X
        !          26337: 1234(recon\256gure)X
        !          26338: 1660(it)X
        !          26339: 1736(for)X
        !          26340: 1864(the)X
        !          26341: 1998(new)X
        !          26342: 2170(user's)X
        !          26343: 2405(preferences.)X
        !          26344: 2879(When)X
        !          26345: 3115(the)X
        !          26346: 3249(old)X
        !          26347: 3388(user)X
        !          26348: 3560(returns,)X
        !          26349: 3852(he)X
        !          26350: 3961(or)X
        !          26351: 4059(she)X
        !          26352: 720 3642(could)N
        !          26353: 938(invoke)X
        !          26354: 1200(the)X
        !          26355: 1330(same)X
        !          26356: 1533(program)X
        !          26357: 1853(to)X
        !          26358: 1944(restore)X
        !          26359: 2205(the)X
        !          26360: 2335(original)X
        !          26361: 2632(preferences.)X
        !          26362: 7 f
        !          26363: 920 3774(Send)N
        !          26364: 1 f
        !          26365: 1159(could)X
        !          26366: 1382(also)X
        !          26367: 1551(be)X
        !          26368: 1661(used)X
        !          26369: 1849(to)X
        !          26370: 1945(record)X
        !          26371: 2196(interactive)X
        !          26372: 2595(sessions)X
        !          26373: 2909(involving)X
        !          26374: 3274(multiple)X
        !          26375: 3596(applications)X
        !          26376: 4049(and)X
        !          26377: 720 3873(then)N
        !          26378: 897(replay)X
        !          26379: 1142(the)X
        !          26380: 1275(sessions)X
        !          26381: 1588(later)X
        !          26382: 1770(\(e.g.)X
        !          26383: 1951(for)X
        !          26384: 2078(demonstration)X
        !          26385: 2608(purposes\).)X
        !          26386: 3017(This)X
        !          26387: 3198(would)X
        !          26388: 3442(require)X
        !          26389: 3715(an)X
        !          26390: 3822(additional)X
        !          26391: 720 3972(Tcl)N
        !          26392: 871(command)X
        !          26393: 1252(called)X
        !          26394: 7 f
        !          26395: 1527(trace)X
        !          26396: 1 f
        !          26397: 1792(;)X
        !          26398: 7 f
        !          26399: 1903(trace)X
        !          26400: 1 f
        !          26401: 2201(would)X
        !          26402: 2454(take)X
        !          26403: 2634(a)X
        !          26404: 2706(single)X
        !          26405: 2950(argument)X
        !          26406: 3316(\(a)X
        !          26407: 3416(Tcl)X
        !          26408: 3566(command)X
        !          26409: 3946(string\))X
        !          26410: 720 4071(and)N
        !          26411: 876(cause)X
        !          26412: 1100(that)X
        !          26413: 1261(command)X
        !          26414: 1637(string)X
        !          26415: 1866(to)X
        !          26416: 1963(be)X
        !          26417: 2074(executed)X
        !          26418: 2415(before)X
        !          26419: 2667(each)X
        !          26420: 2856(other)X
        !          26421: 3065(command)X
        !          26422: 3441(was)X
        !          26423: 3605(executed)X
        !          26424: 3946(in)X
        !          26425: 4043(that)X
        !          26426: 720 4170(interpreter.)N
        !          26427: 1168(Within)X
        !          26428: 1451(a)X
        !          26429: 1527(single)X
        !          26430: 1775(application,)X
        !          26431: 7 f
        !          26432: 2258(trace)X
        !          26433: 1 f
        !          26434: 2560(could)X
        !          26435: 2793(be)X
        !          26436: 2913(used)X
        !          26437: 3111(to)X
        !          26438: 3217(record)X
        !          26439: 3477(each)X
        !          26440: 3674(Tcl)X
        !          26441: 3828(command)X
        !          26442: 720 4269(before)N
        !          26443: 986(it)X
        !          26444: 1078(is)X
        !          26445: 1179(executed,)X
        !          26446: 1556(so)X
        !          26447: 1676(that)X
        !          26448: 1851(the)X
        !          26449: 2001(commands)X
        !          26450: 2425(could)X
        !          26451: 2662(be)X
        !          26452: 2786(replayed)X
        !          26453: 3130(later.)X
        !          26454: 3372(In)X
        !          26455: 3486(a)X
        !          26456: 3566 0.2500(multi-application)AX
        !          26457: 720 4368(environment,)N
        !          26458: 1225(a)X
        !          26459: 1301(recorder)X
        !          26460: 1630(program)X
        !          26461: 1965(could)X
        !          26462: 2198(be)X
        !          26463: 2318(built)X
        !          26464: 2518(using)X
        !          26465: 7 f
        !          26466: 2777(send)X
        !          26467: 1 f
        !          26468: 2989(.)X
        !          26469: 3070(The)X
        !          26470: 3244(recorder)X
        !          26471: 3573(sends)X
        !          26472: 3805(a)X
        !          26473: 7 f
        !          26474: 3911(trace)X
        !          26475: 1 f
        !          26476: 720 4467(command)N
        !          26477: 1093(to)X
        !          26478: 1187(each)X
        !          26479: 1373(application)X
        !          26480: 1791(to)X
        !          26481: 1884(be)X
        !          26482: 1991(recorded.)X
        !          26483: 2366(The)X
        !          26484: 7 f
        !          26485: 2558(trace)X
        !          26486: 1 f
        !          26487: 2847(command)X
        !          26488: 3219(arranges)X
        !          26489: 3540(for)X
        !          26490: 3666(information)X
        !          26491: 4107(to)X
        !          26492: 720 4566(be)N
        !          26493: 827(sent)X
        !          26494: 993(back)X
        !          26495: 1183(to)X
        !          26496: 1276(the)X
        !          26497: 1408(recorder)X
        !          26498: 1724(about)X
        !          26499: 1944(each)X
        !          26500: 2129(command)X
        !          26501: 2501(executed)X
        !          26502: 2838(in)X
        !          26503: 2931(that)X
        !          26504: 3088(application.)X
        !          26505: 3549(The)X
        !          26506: 3709(recorder)X
        !          26507: 4024(then)X
        !          26508: 720 4665(logs)N
        !          26509: 909(information)X
        !          26510: 1367(about)X
        !          26511: 1604(which)X
        !          26512: 1860(applications)X
        !          26513: 2328(executed)X
        !          26514: 2682(which)X
        !          26515: 2938(commands.)X
        !          26516: 3405(The)X
        !          26517: 3583(recorder)X
        !          26518: 3916(can)X
        !          26519: 4079(re-)X
        !          26520: 720 4764(execute)N
        !          26521: 1022(the)X
        !          26522: 1163(commands)X
        !          26523: 1578(by)X
        !          26524: 7 f
        !          26525: 1730(send)X
        !          26526: 1 f
        !          26527: 1942(-ing)X
        !          26528: 2117(them)X
        !          26529: 2327(back)X
        !          26530: 2526(to)X
        !          26531: 2628(the)X
        !          26532: 2769(applications)X
        !          26533: 3229(again.)X
        !          26534: 3497(The)X
        !          26535: 7 f
        !          26536: 3698(trace)X
        !          26537: 1 f
        !          26538: 3995(com-)X
        !          26539: 720 4863(mand)N
        !          26540: 938(does)X
        !          26541: 1121(not)X
        !          26542: 1256(yet)X
        !          26543: 1386(exist)X
        !          26544: 1575(in)X
        !          26545: 1666(Tcl,)X
        !          26546: 1828(but)X
        !          26547: 1963(it)X
        !          26548: 2035(could)X
        !          26549: 2253(easily)X
        !          26550: 2481(be)X
        !          26551: 2586(added.)X
        !          26552: 7 f
        !          26553: 920 4995(Send)N
        !          26554: 1 f
        !          26555: 1156(provides)X
        !          26556: 1483(a)X
        !          26557: 1546(much)X
        !          26558: 1766(more)X
        !          26559: 1970(powerful)X
        !          26560: 2310(mechanism)X
        !          26561: 2735(for)X
        !          26562: 2860(communication)X
        !          26563: 3433(between)X
        !          26564: 3749(applications)X
        !          26565: 720 5094(than)N
        !          26566: 899(is)X
        !          26567: 985(available)X
        !          26568: 1331(today.)X
        !          26569: 1598(The)X
        !          26570: 1762(only)X
        !          26571: 1946(easy-to-use)X
        !          26572: 2373(form)X
        !          26573: 2571(of)X
        !          26574: 2671(communication)X
        !          26575: 3248(for)X
        !          26576: 3377(today's)X
        !          26577: 3663(applications)X
        !          26578: 4117(is)X
        !          26579: 720 5193(the)N
        !          26580: 855(selection)X
        !          26581: 1195(or)X
        !          26582: 1294(cut)X
        !          26583: 1428(buffer:)X
        !          26584: 1715(a)X
        !          26585: 1780(single)X
        !          26586: 2017(string)X
        !          26587: 2244(of)X
        !          26588: 2343(text)X
        !          26589: 2502(that)X
        !          26590: 2661(may)X
        !          26591: 2839(be)X
        !          26592: 2948(set)X
        !          26593: 3072(by)X
        !          26594: 3186(one)X
        !          26595: 3339(application)X
        !          26596: 3758(and)X
        !          26597: 3911(read)X
        !          26598: 4088(by)X
        !          26599: 720 5292(another.)N
        !          26600: 7 f
        !          26601: 1089(Send)X
        !          26602: 1 f
        !          26603: 1331(provides)X
        !          26604: 1664(a)X
        !          26605: 1733(more)X
        !          26606: 1944(general)X
        !          26607: 2233(form)X
        !          26608: 2434(of)X
        !          26609: 2536(communication)X
        !          26610: 3115(akin)X
        !          26611: 3296(to)X
        !          26612: 3394(remote)X
        !          26613: 3668(procedure)X
        !          26614: 4048(call)X
        !          26615: 720 5391([3].)N
        !          26616: 891(If)X
        !          26617: 974(all)X
        !          26618: 1088(of)X
        !          26619: 1186(an)X
        !          26620: 1294(application's)X
        !          26621: 1775(functionality)X
        !          26622: 2252(is)X
        !          26623: 2336(made)X
        !          26624: 2552(available)X
        !          26625: 2896(through)X
        !          26626: 3195(Tcl,)X
        !          26627: 3360(as)X
        !          26628: 3457(described)X
        !          26629: 3818(in)X
        !          26630: 3911(Section)X
        !          26631: 720 5490(4,)N
        !          26632: 823(then)X
        !          26633: 7 f
        !          26634: 1043(send)X
        !          26635: 1 f
        !          26636: 1291(makes)X
        !          26637: 1552(all)X
        !          26638: 1677(of)X
        !          26639: 1786(each)X
        !          26640: 1983(application's)X
        !          26641: 2475(functionality)X
        !          26642: 2963(available)X
        !          26643: 3318(to)X
        !          26644: 3423(other)X
        !          26645: 3640(applications)X
        !          26646: 4103(as)X
        !          26647: 720 5589(well.)N
        !          26648: 3 f
        !          26649: 2353 6048(-)N
        !          26650: 2404(10)X
        !          26651: 2514(-)X
        !          26652: 
        !          26653: 11 p
        !          26654: %%Page: 11 12
        !          26655: 11 s 11 xH 0 xS 3 f
        !          26656: 720 483(Tcl:)N
        !          26657: 894(An)X
        !          26658: 1028(Embeddable)X
        !          26659: 1525(Command)X
        !          26660: 1942(Language)X
        !          26661: 3466(December)X
        !          26662: 3868(22,)X
        !          26663: 4000(1989)X
        !          26664: 1 f
        !          26665: 920 771(If)N
        !          26666: 1011(Tcl)X
        !          26667: 1161(\(and)X
        !          26668: 7 f
        !          26669: 1380(send)X
        !          26670: 1 f
        !          26671: 1592(\))X
        !          26672: 1653(were)X
        !          26673: 1855(to)X
        !          26674: 1956(become)X
        !          26675: 2262(widely)X
        !          26676: 2534(used)X
        !          26677: 2727(in)X
        !          26678: 2828(window)X
        !          26679: 3143(applications,)X
        !          26680: 3624(I)X
        !          26681: 3685(believe)X
        !          26682: 3972(that)X
        !          26683: 4137(a)X
        !          26684: 720 870(better)N
        !          26685: 946(kind)X
        !          26686: 1128(of)X
        !          26687: 1226(interactive)X
        !          26688: 1624(environment)X
        !          26689: 2095(would)X
        !          26690: 2340(arise,)X
        !          26691: 2553(consisting)X
        !          26692: 2936(of)X
        !          26693: 3033(a)X
        !          26694: 3096(large)X
        !          26695: 3296(number)X
        !          26696: 3589(of)X
        !          26697: 3686(small)X
        !          26698: 3902(special-)X
        !          26699: 720 969(ized)N
        !          26700: 898(applications)X
        !          26701: 1356(rather)X
        !          26702: 1592(than)X
        !          26703: 1775(a)X
        !          26704: 1845(few)X
        !          26705: 2007(monolithic)X
        !          26706: 2422(ones.)X
        !          26707: 2658(Today's)X
        !          26708: 2977(applications)X
        !          26709: 3435(cannot)X
        !          26710: 3700(communicate)X
        !          26711: 720 1068(with)N
        !          26712: 902(each)X
        !          26713: 1088(other)X
        !          26714: 1294(very)X
        !          26715: 1475(well,)X
        !          26716: 1674(so)X
        !          26717: 1777(each)X
        !          26718: 1963(application)X
        !          26719: 2381(must)X
        !          26720: 2577(incorporate)X
        !          26721: 3002(all)X
        !          26722: 3115(the)X
        !          26723: 3247(functionality)X
        !          26724: 3723(that)X
        !          26725: 3880(it)X
        !          26726: 3954(needs.)X
        !          26727: 720 1167(For)N
        !          26728: 890(example,)X
        !          26729: 1259(some)X
        !          26730: 1493(window-based)X
        !          26731: 2053(debuggers)X
        !          26732: 2462(contain)X
        !          26733: 2770(built-in)X
        !          26734: 3079(text)X
        !          26735: 3260(editors)X
        !          26736: 3548(so)X
        !          26737: 3674(that)X
        !          26738: 3855(they)X
        !          26739: 4054(can)X
        !          26740: 720 1266(highlight)N
        !          26741: 1066(the)X
        !          26742: 1200(current)X
        !          26743: 1475(point)X
        !          26744: 1682(of)X
        !          26745: 1780(execution.)X
        !          26746: 2192(With)X
        !          26747: 2394(Tcl)X
        !          26748: 2537(and)X
        !          26749: 7 f
        !          26750: 2720(send)X
        !          26751: 1 f
        !          26752: 2932(,)X
        !          26753: 2979(the)X
        !          26754: 3112(debugger)X
        !          26755: 3464(and)X
        !          26756: 3616(the)X
        !          26757: 3749(editor)X
        !          26758: 3980(could)X
        !          26759: 720 1365(be)N
        !          26760: 829(distinct)X
        !          26761: 1116(programs,)X
        !          26762: 1496(with)X
        !          26763: 1679(each)X
        !          26764: 7 f
        !          26765: 1897(send)X
        !          26766: 1 f
        !          26767: 2109(-ing)X
        !          26768: 2277(commands)X
        !          26769: 2685(to)X
        !          26770: 2780(the)X
        !          26771: 2914(other)X
        !          26772: 3121(as)X
        !          26773: 3219(necessary.)X
        !          26774: 3629(Ideally,)X
        !          26775: 3921(monol-)X
        !          26776: 720 1464(ithic)N
        !          26777: 909(applications)X
        !          26778: 1367(could)X
        !          26779: 1594(be)X
        !          26780: 1708(replaced)X
        !          26781: 2037(by)X
        !          26782: 2156(lots)X
        !          26783: 2315(of)X
        !          26784: 2419(small)X
        !          26785: 2642(applications)X
        !          26786: 3100(that)X
        !          26787: 3263(work)X
        !          26788: 3473(together)X
        !          26789: 3792(in)X
        !          26790: 3891(exciting)X
        !          26791: 720 1563(new)N
        !          26792: 894(ways,)X
        !          26793: 1124(just)X
        !          26794: 1280(as)X
        !          26795: 1381(the)X
        !          26796: 1517(UNIX)X
        !          26797: 1763(shells)X
        !          26798: 1992(allowed)X
        !          26799: 2298(lots)X
        !          26800: 2453(of)X
        !          26801: 2553(small)X
        !          26802: 2772(text)X
        !          26803: 2932(processing)X
        !          26804: 3335(applications)X
        !          26805: 3789(to)X
        !          26806: 3885(be)X
        !          26807: 3995(com-)X
        !          26808: 720 1662(bined)N
        !          26809: 945(together.)X
        !          26810: 1307(I)X
        !          26811: 1365(think)X
        !          26812: 1576(that)X
        !          26813: 1738(Tcl,)X
        !          26814: 1907(or)X
        !          26815: 2009(some)X
        !          26816: 2224(other)X
        !          26817: 2434(language)X
        !          26818: 2781(like)X
        !          26819: 2943(it,)X
        !          26820: 3044(will)X
        !          26821: 3211(provide)X
        !          26822: 3508(the)X
        !          26823: 3644(glue)X
        !          26824: 3824(that)X
        !          26825: 3985(binds)X
        !          26826: 720 1761(together)N
        !          26827: 1031(the)X
        !          26828: 1161(windowing)X
        !          26829: 1579(applications)X
        !          26830: 2028(of)X
        !          26831: 2123(the)X
        !          26832: 2253(1990's.)X
        !          26833: 3 f
        !          26834: 720 2055(6.)N
        !          26835: 830(Status)X
        !          26836: 1086(and)X
        !          26837: 1250(Performance)X
        !          26838: 1 f
        !          26839: 920 2187(The)N
        !          26840: 1084(Tcl)X
        !          26841: 1229(language)X
        !          26842: 1574(was)X
        !          26843: 1737(designed)X
        !          26844: 2077(in)X
        !          26845: 2173(the)X
        !          26846: 2308(fall)X
        !          26847: 2453(of)X
        !          26848: 2553(1987)X
        !          26849: 2756(and)X
        !          26850: 2910(implemented)X
        !          26851: 3399(in)X
        !          26852: 3494(the)X
        !          26853: 3628(winter)X
        !          26854: 3879(of)X
        !          26855: 3978(1988.)X
        !          26856: 720 2286(In)N
        !          26857: 825(the)X
        !          26858: 965(spring)X
        !          26859: 1217(of)X
        !          26860: 1322(1988)X
        !          26861: 1530(I)X
        !          26862: 1590(incorporated)X
        !          26863: 2066(Tcl)X
        !          26864: 2215(into)X
        !          26865: 2384(the)X
        !          26866: 2 f
        !          26867: 2523(mx)X
        !          26868: 1 f
        !          26869: 2656(editor)X
        !          26870: 2893(\(which)X
        !          26871: 3168(already)X
        !          26872: 3458(existed,)X
        !          26873: 3761(but)X
        !          26874: 3905(with)X
        !          26875: 4093(an)X
        !          26876: 720 2385(inferior)N
        !          26877: 1018(command)X
        !          26878: 1399(language\),)X
        !          26879: 1801(and)X
        !          26880: 1961(also)X
        !          26881: 2136(into)X
        !          26882: 2307(a)X
        !          26883: 2379(companion)X
        !          26884: 2804(terminal)X
        !          26885: 3132(emulator)X
        !          26886: 3479(called)X
        !          26887: 3723(Tx.)X
        !          26888: 3898(Both)X
        !          26889: 4103(of)X
        !          26890: 720 2484(these)N
        !          26891: 931(programs)X
        !          26892: 1293(have)X
        !          26893: 1489(been)X
        !          26894: 1684(in)X
        !          26895: 1782(use)X
        !          26896: 1928(by)X
        !          26897: 2045(a)X
        !          26898: 2113(small)X
        !          26899: 2334(user)X
        !          26900: 2509(community)X
        !          26901: 2941(at)X
        !          26902: 3034(Berkeley)X
        !          26903: 3381(for)X
        !          26904: 3512(the)X
        !          26905: 3649(last)X
        !          26906: 3801(year)X
        !          26907: 3981(and)X
        !          26908: 4137(a)X
        !          26909: 720 2583(half.)N
        !          26910: 926(All)X
        !          26911: 1064(of)X
        !          26912: 1162(the)X
        !          26913: 1295(Tcl)X
        !          26914: 1438(language)X
        !          26915: 1781(facilities)X
        !          26916: 2111(exist)X
        !          26917: 2303(as)X
        !          26918: 2401(described)X
        !          26919: 2762(above,)X
        !          26920: 3018(except)X
        !          26921: 3272(that)X
        !          26922: 3429(the)X
        !          26923: 7 f
        !          26924: 3592(send)X
        !          26925: 1 f
        !          26926: 3828(command)X
        !          26927: 720 2682(is)N
        !          26928: 806(still)X
        !          26929: 967(in)X
        !          26930: 1063(prototype)X
        !          26931: 1428(form)X
        !          26932: 1626(and)X
        !          26933: 7 f
        !          26934: 1811(trace)X
        !          26935: 1 f
        !          26936: 2103(hasn't)X
        !          26937: 2345(been)X
        !          26938: 2538(implemented.)X
        !          26939: 3071(Some)X
        !          26940: 3299(of)X
        !          26941: 3399(the)X
        !          26942: 3534(features)X
        !          26943: 3839(described)X
        !          26944: 720 2781(in)N
        !          26945: 824(Section)X
        !          26946: 1124(4,)X
        !          26947: 1225(such)X
        !          26948: 1421(as)X
        !          26949: 1529(menu)X
        !          26950: 1760(and)X
        !          26951: 1922(keystroke)X
        !          26952: 2299(bindings,)X
        !          26953: 2660(are)X
        !          26954: 2802(implemented)X
        !          26955: 3299(in)X
        !          26956: 2 f
        !          26957: 3402(mx)X
        !          26958: 1 f
        !          26959: 3504(,)X
        !          26960: 3560(but)X
        !          26961: 3707(in)X
        !          26962: 3810(an)X
        !          26963: 2 f
        !          26964: 3927(ad)X
        !          26965: 4049(hoc)X
        !          26966: 1 f
        !          26967: 720 2880(fashion:)N
        !          26968: 1057(Tcl)X
        !          26969: 1206(is)X
        !          26970: 1296(not)X
        !          26971: 1440(yet)X
        !          26972: 1579(integrated)X
        !          26973: 1963(with)X
        !          26974: 2151(a)X
        !          26975: 2221(widget)X
        !          26976: 2492(set.)X
        !          26977: 2665(I)X
        !          26978: 2725(am)X
        !          26979: 2864(currently)X
        !          26980: 3213(building)X
        !          26981: 3539(a)X
        !          26982: 3609(new)X
        !          26983: 3786(toolkit)X
        !          26984: 4049(and)X
        !          26985: 720 2979(widget)N
        !          26986: 991(set)X
        !          26987: 1120(that)X
        !          26988: 1284(is)X
        !          26989: 1374(based)X
        !          26990: 1605(entirely)X
        !          26991: 1906(on)X
        !          26992: 2025(Tcl.)X
        !          26993: 2218(When)X
        !          26994: 2459(it)X
        !          26995: 2540(is)X
        !          26996: 2629(completed,)X
        !          26997: 3049(I)X
        !          26998: 3108(expect)X
        !          26999: 3368(it)X
        !          27000: 3448(to)X
        !          27001: 3547(provide)X
        !          27002: 3846(all)X
        !          27003: 3965(of)X
        !          27004: 4068(the)X
        !          27005: 720 3078(features)N
        !          27006: 1020(described)X
        !          27007: 1379(in)X
        !          27008: 1470(Section)X
        !          27009: 1757(4.)X
        !          27010: 1867(As)X
        !          27011: 1986(of)X
        !          27012: 2081(this)X
        !          27013: 2231(writing,)X
        !          27014: 2530(the)X
        !          27015: 2660 0.2885(implementation)AX
        !          27016: 3238(has)X
        !          27017: 3377(barely)X
        !          27018: 3619(begun.)X
        !          27019: 920 3210(Table)N
        !          27020: 1147(II)X
        !          27021: 1230(shows)X
        !          27022: 1474(how)X
        !          27023: 1650(long)X
        !          27024: 1832(it)X
        !          27025: 1907(takes)X
        !          27026: 2113(Tcl)X
        !          27027: 2256(to)X
        !          27028: 2350(execute)X
        !          27029: 2644(various)X
        !          27030: 2928(commands)X
        !          27031: 3335(on)X
        !          27032: 3448(two)X
        !          27033: 3605(different)X
        !          27034: 3933(works-)X
        !          27035: 720 3309(tations.)N
        !          27036: 1062(On)X
        !          27037: 1231(Sun-3)X
        !          27038: 1503(workstations,)X
        !          27039: 2037(the)X
        !          27040: 2207(average)X
        !          27041: 2542(time)X
        !          27042: 2762(for)X
        !          27043: 2926(simple)X
        !          27044: 3224(commands)X
        !          27045: 3667(is)X
        !          27046: 3787(about)X
        !          27047: 4044(500)X
        !          27048: 720 3408(microseconds,)N
        !          27049: 1279(while)X
        !          27050: 1528(on)X
        !          27051: 1669(DECstation)X
        !          27052: 2134(3100's)X
        !          27053: 2426(the)X
        !          27054: 2586(average)X
        !          27055: 2911(time)X
        !          27056: 3121(per)X
        !          27057: 3285(command)X
        !          27058: 3685(is)X
        !          27059: 3796(about)X
        !          27060: 4044(160)X
        !          27061: 720 3507(microseconds.)N
        !          27062: 1271(Although)X
        !          27063: 2 f
        !          27064: 1627(mx)X
        !          27065: 1 f
        !          27066: 1752(does)X
        !          27067: 1936(not)X
        !          27068: 2072(currently)X
        !          27069: 2413(use)X
        !          27070: 2553(a)X
        !          27071: 2615(Tcl)X
        !          27072: 2756(command)X
        !          27073: 3127(for)X
        !          27074: 3252(each)X
        !          27075: 3436(mouse)X
        !          27076: 3689(motion)X
        !          27077: 3963(event,)X
        !          27078: 720 3606(the)N
        !          27079: 861(times)X
        !          27080: 1086(in)X
        !          27081: 1188(Table)X
        !          27082: 1421(II)X
        !          27083: 1511(suggest)X
        !          27084: 1807(that)X
        !          27085: 1972(this)X
        !          27086: 2132(would)X
        !          27087: 2384(be)X
        !          27088: 2499(possible,)X
        !          27089: 2842(even)X
        !          27090: 3040(on)X
        !          27091: 3160(Sun-3)X
        !          27092: 3402(workstations,)X
        !          27093: 3906(without)X
        !          27094: 720 3705(signi\256cant)N
        !          27095: 1120(degradation)X
        !          27096: 1568(of)X
        !          27097: 1673(response.)X
        !          27098: 2056(For)X
        !          27099: 2210(example,)X
        !          27100: 2563(if)X
        !          27101: 2649(mouse)X
        !          27102: 2911(motion)X
        !          27103: 3194(events)X
        !          27104: 3451(occur)X
        !          27105: 3678(100)X
        !          27106: 3841(times)X
        !          27107: 4064(per)X
        !          27108: 720 3804(second,)N
        !          27109: 1012(the)X
        !          27110: 1146(Tcl)X
        !          27111: 1290(overhead)X
        !          27112: 1638(for)X
        !          27113: 1766(dispatching)X
        !          27114: 2199(one)X
        !          27115: 2352(command)X
        !          27116: 2726(per)X
        !          27117: 2864(event)X
        !          27118: 3081(will)X
        !          27119: 3245(consume)X
        !          27120: 3583(only)X
        !          27121: 3765(about)X
        !          27122: 3986(1-2%)X
        !          27123: 720 3903(of)N
        !          27124: 819(a)X
        !          27125: 884(Sun-3)X
        !          27126: 1120(processor.)X
        !          27127: 1526(For)X
        !          27128: 1674(the)X
        !          27129: 1808(ways)X
        !          27130: 2013(in)X
        !          27131: 2107(which)X
        !          27132: 2347(Tcl)X
        !          27133: 2490(is)X
        !          27134: 2574(currently)X
        !          27135: 2917(used)X
        !          27136: 3103(\(keystroke)X
        !          27137: 3499(and)X
        !          27138: 3651(menu)X
        !          27139: 3872(bindings)X
        !          27140: 720 4002(consisting)N
        !          27141: 1129(of)X
        !          27142: 1253(a)X
        !          27143: 1343(few)X
        !          27144: 1525(commands\),)X
        !          27145: 2009(there)X
        !          27146: 2236(are)X
        !          27147: 2394(no)X
        !          27148: 2533(noticeable)X
        !          27149: 2947(delays)X
        !          27150: 3223(associated)X
        !          27151: 3635(with)X
        !          27152: 3842(Tcl.)X
        !          27153: 4054(For)X
        !          27154: 720 4101(application-speci\256c)N
        !          27155: 1437(commands)X
        !          27156: 1845(such)X
        !          27157: 2032(as)X
        !          27158: 2131(those)X
        !          27159: 2343(for)X
        !          27160: 2471(the)X
        !          27161: 2 f
        !          27162: 2605(mx)X
        !          27163: 1 f
        !          27164: 2733(editor,)X
        !          27165: 2987(the)X
        !          27166: 3121(time)X
        !          27167: 3305(to)X
        !          27168: 3400(execute)X
        !          27169: 3695(the)X
        !          27170: 3828(command)X
        !          27171: 720 4200(is)N
        !          27172: 801(much)X
        !          27173: 1019(greater)X
        !          27174: 1285(than)X
        !          27175: 1459(the)X
        !          27176: 1589(time)X
        !          27177: 1769(required)X
        !          27178: 2084(by)X
        !          27179: 2194(Tcl)X
        !          27180: 2334(to)X
        !          27181: 2425(parse)X
        !          27182: 2632(it)X
        !          27183: 2704(and)X
        !          27184: 2853(call)X
        !          27185: 3003(the)X
        !          27186: 3133(command)X
        !          27187: 3503(procedure.)X
        !          27188: 920 4332(The)N
        !          27189: 1084(Tcl)X
        !          27190: 1229(library)X
        !          27191: 1491(is)X
        !          27192: 1577(small)X
        !          27193: 1796(enough)X
        !          27194: 2082(to)X
        !          27195: 2178(be)X
        !          27196: 2288(used)X
        !          27197: 2476(in)X
        !          27198: 2572(a)X
        !          27199: 2638(wide)X
        !          27200: 2836(variety)X
        !          27201: 3108(of)X
        !          27202: 3208(programs,)X
        !          27203: 3589(even)X
        !          27204: 3782(on)X
        !          27205: 3897(systems)X
        !          27206: 720 4431(without)N
        !          27207: 1020(mechanisms)X
        !          27208: 1486(for)X
        !          27209: 1618(sharing)X
        !          27210: 1907(libraries.)X
        !          27211: 2270(The)X
        !          27212: 2437(Tcl)X
        !          27213: 2585(code)X
        !          27214: 2781(consists)X
        !          27215: 3090(of)X
        !          27216: 3193(about)X
        !          27217: 3419(7000)X
        !          27218: 3624(lines)X
        !          27219: 3820(of)X
        !          27220: 3922(C)X
        !          27221: 4010(code)X
        !          27222: 720 4530(\(about)N
        !          27223: 980(half)X
        !          27224: 1152(of)X
        !          27225: 1260(which)X
        !          27226: 1510(is)X
        !          27227: 1604(comments\).)X
        !          27228: 2075(When)X
        !          27229: 2320(compiled)X
        !          27230: 2683(for)X
        !          27231: 2819(a)X
        !          27232: 2892(Motorola)X
        !          27233: 3254(68000,)X
        !          27234: 3530(it)X
        !          27235: 3614(generates)X
        !          27236: 3980(about)X
        !          27237: 720 4629(27000)N
        !          27238: 962(bytes)X
        !          27239: 1170(of)X
        !          27240: 1265(object)X
        !          27241: 1503(code.)X
        !          27242: 3 f
        !          27243: 720 4923(7.)N
        !          27244: 830(Comparisons)X
        !          27245: 1 f
        !          27246: 920 5055(The)N
        !          27247: 1091(Tcl)X
        !          27248: 1242(language)X
        !          27249: 1593(has)X
        !          27250: 1743(quite)X
        !          27251: 1953(a)X
        !          27252: 2025(bit)X
        !          27253: 2152(of)X
        !          27254: 2258(surface)X
        !          27255: 2544(similarity)X
        !          27256: 2917(to)X
        !          27257: 3019(Lisp,)X
        !          27258: 3231(except)X
        !          27259: 3494(that)X
        !          27260: 3660(Tcl)X
        !          27261: 3811(uses)X
        !          27262: 3995(curly)X
        !          27263: 720 5154(braces)N
        !          27264: 970(or)X
        !          27265: 1069(brackets)X
        !          27266: 1388(instead)X
        !          27267: 1664(of)X
        !          27268: 1763(parentheses)X
        !          27269: 2199(and)X
        !          27270: 2352(no)X
        !          27271: 2466(braces)X
        !          27272: 2716(are)X
        !          27273: 2849(needed)X
        !          27274: 3124(around)X
        !          27275: 3394(the)X
        !          27276: 3528(outermost)X
        !          27277: 3906(level)X
        !          27278: 4103(of)X
        !          27279: 720 5253(a)N
        !          27280: 790(command.)X
        !          27281: 1213(The)X
        !          27282: 1381(greatest)X
        !          27283: 1686(difference)X
        !          27284: 2073(between)X
        !          27285: 2397(Tcl)X
        !          27286: 2546(and)X
        !          27287: 2704(Lisp)X
        !          27288: 2892(is)X
        !          27289: 2982(that)X
        !          27290: 3146(Lisp)X
        !          27291: 3333(evaluates)X
        !          27292: 3691(arguments)X
        !          27293: 4088(by)X
        !          27294: 720 5352(default,)N
        !          27295: 1016(whereas)X
        !          27296: 1332(in)X
        !          27297: 1430(Tcl)X
        !          27298: 1577(arguments)X
        !          27299: 1972(are)X
        !          27300: 2107(not)X
        !          27301: 2248(evaluated)X
        !          27302: 2614(unless)X
        !          27303: 2862(surrounded)X
        !          27304: 3285(by)X
        !          27305: 3401(brackets.)X
        !          27306: 3766(This)X
        !          27307: 3951(means)X
        !          27308: 720 5451(that)N
        !          27309: 876(more)X
        !          27310: 1080(typing)X
        !          27311: 1329(effort)X
        !          27312: 1547(is)X
        !          27313: 1629(required)X
        !          27314: 1945(in)X
        !          27315: 2037(Tcl)X
        !          27316: 2178(if)X
        !          27317: 2255(an)X
        !          27318: 2361(argument)X
        !          27319: 2717(is)X
        !          27320: 2799(to)X
        !          27321: 2891(be)X
        !          27322: 2997(evaluated,)X
        !          27323: 3380(and)X
        !          27324: 3530(more)X
        !          27325: 3733(typing)X
        !          27326: 3981(effort)X
        !          27327: 720 5550(is)N
        !          27328: 813(required)X
        !          27329: 1140(in)X
        !          27330: 1243(Lisp)X
        !          27331: 1434(if)X
        !          27332: 1522(an)X
        !          27333: 1639(argument)X
        !          27334: 2006(is)X
        !          27335: 2099(to)X
        !          27336: 2202(be)X
        !          27337: 2319(quoted)X
        !          27338: 2593(\(not)X
        !          27339: 2769(evaluated\).)X
        !          27340: 3213(It)X
        !          27341: 3300(appeared)X
        !          27342: 3650(to)X
        !          27343: 3752(me)X
        !          27344: 3893(that)X
        !          27345: 4059(no-)X
        !          27346: 720 5649(evaluation)N
        !          27347: 1117(is)X
        !          27348: 1205(usually)X
        !          27349: 1488(the)X
        !          27350: 1624(desired)X
        !          27351: 1906(result)X
        !          27352: 2130(in)X
        !          27353: 2227(arguments)X
        !          27354: 2622(to)X
        !          27355: 2719(a)X
        !          27356: 2786(command)X
        !          27357: 3162(language,)X
        !          27358: 3530(so)X
        !          27359: 3636(I)X
        !          27360: 3693(made)X
        !          27361: 3912(this)X
        !          27362: 4068(the)X
        !          27363: 3 f
        !          27364: 2353 6048(-)N
        !          27365: 2404(11)X
        !          27366: 2514(-)X
        !          27367: 
        !          27368: 12 p
        !          27369: %%Page: 12 13
        !          27370: 11 s 11 xH 0 xS 3 f
        !          27371: 720 483(Tcl:)N
        !          27372: 894(An)X
        !          27373: 1028(Embeddable)X
        !          27374: 1525(Command)X
        !          27375: 1942(Language)X
        !          27376: 3466(December)X
        !          27377: 3868(22,)X
        !          27378: 4000(1989)X
        !          27379: 1 f
        !          27380: 10 f
        !          27381: 870 812(i)N
        !          27382: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27383: 1 f
        !          27384: 2827 911(Sun-3)N
        !          27385: 3059(Time)X
        !          27386: 3462(DS3100)X
        !          27387: 3772(Time)X
        !          27388: 1520 960(Tcl)N
        !          27389: 1660(Command)X
        !          27390: 2766 1010(\(microseconds\))N
        !          27391: 3440(\(microseconds\))X
        !          27392: 10 f
        !          27393: 870 1021(i)N
        !          27394: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27395: 7 f
        !          27396: 9 s
        !          27397: 914 1120(set)N
        !          27398: 1086(a)X
        !          27399: 1172(1)X
        !          27400: 1 f
        !          27401: 11 s
        !          27402: 3015(225)X
        !          27403: 3711(57)X
        !          27404: 10 f
        !          27405: 870 1131(i)N
        !          27406: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27407: 7 f
        !          27408: 9 s
        !          27409: 914 1230(list)N
        !          27410: 1129(abc)X
        !          27411: 1301(def)X
        !          27412: 1473(ghi)X
        !          27413: 1645(jkl)X
        !          27414: 1 f
        !          27415: 11 s
        !          27416: 3015(460)X
        !          27417: 3667(138)X
        !          27418: 10 f
        !          27419: 870 1241(i)N
        !          27420: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27421: 7 f
        !          27422: 9 s
        !          27423: 914 1340(if)N
        !          27424: 1043({4)X
        !          27425: 1172(>)X
        !          27426: 1258(3})X
        !          27427: 1387({set)X
        !          27428: 1602(a)X
        !          27429: 1688(1})X
        !          27430: 1 f
        !          27431: 11 s
        !          27432: 3015(700)X
        !          27433: 3667(220)X
        !          27434: 10 f
        !          27435: 870 1351(i)N
        !          27436: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27437: 7 f
        !          27438: 9 s
        !          27439: 914 1450(proc)N
        !          27440: 1129(fac)X
        !          27441: 1301(x)X
        !          27442: 1387({)X
        !          27443: 1086 1549(if)N
        !          27444: 1215({$x)X
        !          27445: 1387(==)X
        !          27446: 1516(1})X
        !          27447: 1645({return)X
        !          27448: 1989(1})X
        !          27449: 1086 1648(return)N
        !          27450: 1387([expr)X
        !          27451: 1645({$x*[fac)X
        !          27452: 2032([expr)X
        !          27453: 2290($x-1]]}])X
        !          27454: 914 1747(})N
        !          27455: 1 f
        !          27456: 11 s
        !          27457: 2971 1598(1280)N
        !          27458: 3667(380)X
        !          27459: 10 f
        !          27460: 870 1758(i)N
        !          27461: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27462: 7 f
        !          27463: 9 s
        !          27464: 914 1857(fac)N
        !          27465: 1086(5)X
        !          27466: 1 f
        !          27467: 11 s
        !          27468: 2927(11250)X
        !          27469: 3623(3630)X
        !          27470: 10 f
        !          27471: 870 1868(i)N
        !          27472: 902(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
        !          27473: 870(c)X
        !          27474: 1780(c)Y
        !          27475: 1692(c)Y
        !          27476: 1604(c)Y
        !          27477: 1516(c)Y
        !          27478: 1428(c)Y
        !          27479: 1340(c)Y
        !          27480: 1252(c)Y
        !          27481: 1164(c)Y
        !          27482: 1076(c)Y
        !          27483: 988(c)Y
        !          27484: 900(c)Y
        !          27485: 2700 1868(c)N
        !          27486: 1780(c)Y
        !          27487: 1692(c)Y
        !          27488: 1604(c)Y
        !          27489: 1516(c)Y
        !          27490: 1428(c)Y
        !          27491: 1340(c)Y
        !          27492: 1252(c)Y
        !          27493: 1164(c)Y
        !          27494: 1076(c)Y
        !          27495: 988(c)Y
        !          27496: 900(c)Y
        !          27497: 3374 1868(c)N
        !          27498: 1780(c)Y
        !          27499: 1692(c)Y
        !          27500: 1604(c)Y
        !          27501: 1516(c)Y
        !          27502: 1428(c)Y
        !          27503: 1340(c)Y
        !          27504: 1252(c)Y
        !          27505: 1164(c)Y
        !          27506: 1076(c)Y
        !          27507: 988(c)Y
        !          27508: 900(c)Y
        !          27509: 4026 1868(c)N
        !          27510: 1780(c)Y
        !          27511: 1692(c)Y
        !          27512: 1604(c)Y
        !          27513: 1516(c)Y
        !          27514: 1428(c)Y
        !          27515: 1340(c)Y
        !          27516: 1252(c)Y
        !          27517: 1164(c)Y
        !          27518: 1076(c)Y
        !          27519: 988(c)Y
        !          27520: 900(c)Y
        !          27521: 3 f
        !          27522: 10 s
        !          27523: 880 2024(Table)N
        !          27524: 1108(II)X
        !          27525: 1 f
        !          27526: 1170(.)X
        !          27527: 1242(The)X
        !          27528: 1399(cost)X
        !          27529: 1560(of)X
        !          27530: 1659(various)X
        !          27531: 1927(Tcl)X
        !          27532: 2066(commands,)X
        !          27533: 2465(measured)X
        !          27534: 2805(on)X
        !          27535: 2917(a)X
        !          27536: 2985(Sun-3/75)X
        !          27537: 3310(workstation)X
        !          27538: 3720(and)X
        !          27539: 3868(on)X
        !          27540: 3980(a)X
        !          27541: 880 2114(DECstation)N
        !          27542: 1279(3100.)X
        !          27543: 1505(The)X
        !          27544: 1655(command)X
        !          27545: 7 f
        !          27546: 2024(fac)X
        !          27547: 2221(5)X
        !          27548: 1 f
        !          27549: 2294(executes)X
        !          27550: 2596(a)X
        !          27551: 2657(total)X
        !          27552: 2824(of)X
        !          27553: 2916(23)X
        !          27554: 3021(Tcl)X
        !          27555: 3153(commands,)X
        !          27556: 3545(for)X
        !          27557: 3664(an)X
        !          27558: 3765(average)X
        !          27559: 880 2204(command)N
        !          27560: 1228(time)X
        !          27561: 1402(of)X
        !          27562: 1501(about)X
        !          27563: 1711(500)X
        !          27564: 1863(microseconds)X
        !          27565: 2336(on)X
        !          27566: 2448(a)X
        !          27567: 2516(Sun-3)X
        !          27568: 2739(or)X
        !          27569: 2838(160)X
        !          27570: 2990(microseconds)X
        !          27571: 3463(on)X
        !          27572: 3575(a)X
        !          27573: 3643(DECstation)X
        !          27574: 880 2294(3100.)N
        !          27575: 11 s
        !          27576: 720 2522(default)N
        !          27577: 996(in)X
        !          27578: 1096(Tcl.)X
        !          27579: 1289(Tcl)X
        !          27580: 1438(also)X
        !          27581: 1611(has)X
        !          27582: 1759(fewer)X
        !          27583: 1989(data)X
        !          27584: 2167(types)X
        !          27585: 2384(than)X
        !          27586: 2567(Lisp;)X
        !          27587: 2802(this)X
        !          27588: 2961(was)X
        !          27589: 3128(done)X
        !          27590: 3330(in)X
        !          27591: 3429(order)X
        !          27592: 3644(to)X
        !          27593: 3743(simplify)X
        !          27594: 4068(the)X
        !          27595: 720 2621(interface)N
        !          27596: 1050(between)X
        !          27597: 1365(the)X
        !          27598: 1495(Tcl)X
        !          27599: 1635(library)X
        !          27600: 1892(and)X
        !          27601: 2041(an)X
        !          27602: 2146(enclosing)X
        !          27603: 2506(C)X
        !          27604: 2587(application.)X
        !          27605: 920 2753(The)N
        !          27606: 1084(Emacs)X
        !          27607: 1346(editor)X
        !          27608: 1579(is)X
        !          27609: 1665(similar)X
        !          27610: 1938(to)X
        !          27611: 2034(Tcl)X
        !          27612: 2179(in)X
        !          27613: 2275(that)X
        !          27614: 2435(it)X
        !          27615: 2512(provides)X
        !          27616: 2842(a)X
        !          27617: 2908(framework)X
        !          27618: 3320(that)X
        !          27619: 3480(can)X
        !          27620: 3629(be)X
        !          27621: 3738(used)X
        !          27622: 3925(to)X
        !          27623: 4020(con-)X
        !          27624: 720 2852(trol)N
        !          27625: 872(many)X
        !          27626: 1097(different)X
        !          27627: 1429(application)X
        !          27628: 1851(programs.)X
        !          27629: 2256(For)X
        !          27630: 2407(example,)X
        !          27631: 2757(subprocesses)X
        !          27632: 3244(can)X
        !          27633: 3395(be)X
        !          27634: 3507(run)X
        !          27635: 3653(in)X
        !          27636: 3751(Emacs)X
        !          27637: 4015(win-)X
        !          27638: 720 2951(dows)N
        !          27639: 929(and)X
        !          27640: 1080(users)X
        !          27641: 1284(can)X
        !          27642: 1430(write)X
        !          27643: 1635(Emacs)X
        !          27644: 1894(command)X
        !          27645: 2266(scripts)X
        !          27646: 2520(that)X
        !          27647: 2677(\(a\))X
        !          27648: 2798(generate)X
        !          27649: 3119(command)X
        !          27650: 3490(sequences)X
        !          27651: 3869(for)X
        !          27652: 3994(input)X
        !          27653: 720 3050(to)N
        !          27654: 820(the)X
        !          27655: 959(applications)X
        !          27656: 1417(and)X
        !          27657: 1575(\(b\))X
        !          27658: 1708(re-format)X
        !          27659: 2071(the)X
        !          27660: 2210(output)X
        !          27661: 2467(of)X
        !          27662: 2571(applications.)X
        !          27663: 3073(This)X
        !          27664: 3261(allows)X
        !          27665: 3522(users)X
        !          27666: 3733(to)X
        !          27667: 3832(embellish)X
        !          27668: 720 3149(the)N
        !          27669: 860(basic)X
        !          27670: 1073(facilities)X
        !          27671: 1410(of)X
        !          27672: 1515(applications,)X
        !          27673: 1996(edit)X
        !          27674: 2160(their)X
        !          27675: 2353(output,)X
        !          27676: 2632(and)X
        !          27677: 2790(so)X
        !          27678: 2899(on.)X
        !          27679: 3062(The)X
        !          27680: 3230(difference)X
        !          27681: 3617(between)X
        !          27682: 3941(Emacs)X
        !          27683: 720 3248(and)N
        !          27684: 870(Tcl)X
        !          27685: 1011(is)X
        !          27686: 1093(that)X
        !          27687: 1249(the)X
        !          27688: 1380(programmability)X
        !          27689: 1997(is)X
        !          27690: 2078(centralized)X
        !          27691: 2487(in)X
        !          27692: 2578(Emacs:)X
        !          27693: 2860(applications)X
        !          27694: 3309(cannot)X
        !          27695: 3566(talk)X
        !          27696: 3721(to)X
        !          27697: 3812(each)X
        !          27698: 3995(other)X
        !          27699: 720 3347(unless)N
        !          27700: 967(Emacs)X
        !          27701: 1229(acts)X
        !          27702: 1393(as)X
        !          27703: 1492(intermediary)X
        !          27704: 1969(\(e.g.)X
        !          27705: 2151(to)X
        !          27706: 2246(set)X
        !          27707: 2370(up)X
        !          27708: 2484(a)X
        !          27709: 2549(new)X
        !          27710: 2721(communication)X
        !          27711: 3297(mechanism)X
        !          27712: 3725(between)X
        !          27713: 4044(two)X
        !          27714: 720 3446(applications,)N
        !          27715: 1207(code)X
        !          27716: 1411(must)X
        !          27717: 1621(be)X
        !          27718: 1742(written)X
        !          27719: 2030(in)X
        !          27720: 2137(Emacs)X
        !          27721: 2410(to)X
        !          27722: 2517(pass)X
        !          27723: 2706(information)X
        !          27724: 3161(back)X
        !          27725: 3365(and)X
        !          27726: 3530(forth)X
        !          27727: 3738(between)X
        !          27728: 4068(the)X
        !          27729: 720 3545(applications\).)N
        !          27730: 1250(The)X
        !          27731: 1417(Tcl)X
        !          27732: 1565(approach)X
        !          27733: 1917(is)X
        !          27734: 2006(decentralized:)X
        !          27735: 2553(each)X
        !          27736: 2744(application)X
        !          27737: 3167(has)X
        !          27738: 3314(its)X
        !          27739: 3428(own)X
        !          27740: 3608(command)X
        !          27741: 3985(inter-)X
        !          27742: 720 3644(preter)N
        !          27743: 947(and)X
        !          27744: 1096(applications)X
        !          27745: 1545(may)X
        !          27746: 1719(communicate)X
        !          27747: 2217(directly)X
        !          27748: 2509(with)X
        !          27749: 2688(each)X
        !          27750: 2871(other.)X
        !          27751: 920 3776(Lastly,)N
        !          27752: 1190(it)X
        !          27753: 1267(is)X
        !          27754: 1353(interesting)X
        !          27755: 1753(to)X
        !          27756: 1849(compare)X
        !          27757: 2179(Tcl)X
        !          27758: 2324(to)X
        !          27759: 2420(NeWS)X
        !          27760: 2681([9],)X
        !          27761: 2832(a)X
        !          27762: 2898(window)X
        !          27763: 3208(system)X
        !          27764: 3480(that)X
        !          27765: 3640(is)X
        !          27766: 3726(based)X
        !          27767: 3953(on)X
        !          27768: 4068(the)X
        !          27769: 720 3875(Postscript)N
        !          27770: 1098(language.)X
        !          27771: 1490(NeWS)X
        !          27772: 1754(allows)X
        !          27773: 2014(applications)X
        !          27774: 2470(to)X
        !          27775: 2568(down-load)X
        !          27776: 2973(Postscript)X
        !          27777: 3350(programs)X
        !          27778: 3711(into)X
        !          27779: 3878(the)X
        !          27780: 4015(win-)X
        !          27781: 720 3974(dow)N
        !          27782: 904(server)X
        !          27783: 1151(in)X
        !          27784: 1253(order)X
        !          27785: 1471(to)X
        !          27786: 1573(change)X
        !          27787: 1855(the)X
        !          27788: 1996(user)X
        !          27789: 2175(interface)X
        !          27790: 2516(and)X
        !          27791: 2676(modify)X
        !          27792: 2964(other)X
        !          27793: 3178(aspects)X
        !          27794: 3465(of)X
        !          27795: 3571(the)X
        !          27796: 3711(system.)X
        !          27797: 4032(In)X
        !          27798: 4137(a)X
        !          27799: 720 4073(sense,)N
        !          27800: 955(this)X
        !          27801: 1106(is)X
        !          27802: 1188(similar)X
        !          27803: 1457(to)X
        !          27804: 1549(the)X
        !          27805: 7 f
        !          27806: 1711(send)X
        !          27807: 1 f
        !          27808: 1946(command)X
        !          27809: 2317(in)X
        !          27810: 2409(Tcl,)X
        !          27811: 2571(in)X
        !          27812: 2662(that)X
        !          27813: 2817(applications)X
        !          27814: 3266(may)X
        !          27815: 3440(send)X
        !          27816: 3623(programs)X
        !          27817: 3977(to)X
        !          27818: 4068(the)X
        !          27819: 720 4172(server)N
        !          27820: 964(for)X
        !          27821: 1096(execution.)X
        !          27822: 1513(However,)X
        !          27823: 1886(the)X
        !          27824: 2023(NeWS)X
        !          27825: 2286(mechanism)X
        !          27826: 2717(is)X
        !          27827: 2805(less)X
        !          27828: 2966(general)X
        !          27829: 3254(than)X
        !          27830: 3435(Tcl:)X
        !          27831: 3629(NeWS)X
        !          27832: 3892(applica-)X
        !          27833: 720 4271(tions)N
        !          27834: 915(generate)X
        !          27835: 1235(Postscript)X
        !          27836: 1605(programs)X
        !          27837: 1959(as)X
        !          27838: 2054(output)X
        !          27839: 2302(but)X
        !          27840: 2437(they)X
        !          27841: 2611(do)X
        !          27842: 2721(not)X
        !          27843: 2856(necessarily)X
        !          27844: 3269(respond)X
        !          27845: 3569(to)X
        !          27846: 3660(Postscript)X
        !          27847: 4030(pro-)X
        !          27848: 720 4370(grams)N
        !          27849: 959(as)X
        !          27850: 1056(input.)X
        !          27851: 1306(In)X
        !          27852: 1403(other)X
        !          27853: 1608(words,)X
        !          27854: 1868(NeWS)X
        !          27855: 2126(applications)X
        !          27856: 2577(can)X
        !          27857: 2723(affect)X
        !          27858: 2947(each)X
        !          27859: 3132(others')X
        !          27860: 3399(interfaces,)X
        !          27861: 3786(by)X
        !          27862: 3897(control-)X
        !          27863: 720 4469(ling)N
        !          27864: 894(the)X
        !          27865: 1038(server,)X
        !          27866: 1310(but)X
        !          27867: 1459(they)X
        !          27868: 1647(cannot)X
        !          27869: 1918(directly)X
        !          27870: 2224(invoke)X
        !          27871: 2500(each)X
        !          27872: 2696(others')X
        !          27873: 2975(application-speci\256c)X
        !          27874: 3701(operations)X
        !          27875: 4103(as)X
        !          27876: 720 4568(they)N
        !          27877: 894(can)X
        !          27878: 1038(with)X
        !          27879: 1217(Tcl.)X
        !          27880: 920 4700(To)N
        !          27881: 1066(summarize,)X
        !          27882: 1523(the)X
        !          27883: 1679(Tcl)X
        !          27884: 1845(approach)X
        !          27885: 2215(is)X
        !          27886: 2322(less)X
        !          27887: 2502(centralized)X
        !          27888: 2937(than)X
        !          27889: 3137(either)X
        !          27890: 3385(the)X
        !          27891: 3540(Emacs)X
        !          27892: 3822(or)X
        !          27893: 3942(NeWS)X
        !          27894: 720 4799(approaches.)N
        !          27895: 1187(For)X
        !          27896: 1337(a)X
        !          27897: 1404(windowing)X
        !          27898: 1828(environment)X
        !          27899: 2302(with)X
        !          27900: 2487(large)X
        !          27901: 2691(numbers)X
        !          27902: 3022(of)X
        !          27903: 3123(independent)X
        !          27904: 3582(tools,)X
        !          27905: 3803(I)X
        !          27906: 3859(think)X
        !          27907: 4068(the)X
        !          27908: 720 4898(decentralized)N
        !          27909: 1215(approach)X
        !          27910: 1562(makes)X
        !          27911: 1812(sense.)X
        !          27912: 2071(In)X
        !          27913: 2169(fairness)X
        !          27914: 2467(to)X
        !          27915: 2561(Emacs,)X
        !          27916: 2843(it's)X
        !          27917: 2980(important)X
        !          27918: 3348(to)X
        !          27919: 3441(point)X
        !          27920: 3647(out)X
        !          27921: 3784(that)X
        !          27922: 3941(Emacs)X
        !          27923: 720 4997(wasn't)N
        !          27924: 982(designed)X
        !          27925: 1323(for)X
        !          27926: 1453(this)X
        !          27927: 1609(environment,)X
        !          27928: 2105(and)X
        !          27929: 2260(that)X
        !          27930: 2420(Emacs)X
        !          27931: 2682(works)X
        !          27932: 2923(quite)X
        !          27933: 3127(nicely)X
        !          27934: 3370(in)X
        !          27935: 3466(the)X
        !          27936: 3601(environment)X
        !          27937: 4074(for)X
        !          27938: 720 5096(which)N
        !          27939: 958(it)X
        !          27940: 1031(was)X
        !          27941: 1189(designed)X
        !          27942: 1524(\(ASCII)X
        !          27943: 1804(terminals)X
        !          27944: 2155(with)X
        !          27945: 2334(batch-style)X
        !          27946: 2743(applications\).)X
        !          27947: 3265(It's)X
        !          27948: 3404(also)X
        !          27949: 3568(worth)X
        !          27950: 3795(noting)X
        !          27951: 4043(that)X
        !          27952: 720 5195(direct)N
        !          27953: 943(communication)X
        !          27954: 1515(between)X
        !          27955: 1830(applications)X
        !          27956: 2279(was)X
        !          27957: 2437(not)X
        !          27958: 2572(an)X
        !          27959: 2677(explicit)X
        !          27960: 2965(goal)X
        !          27961: 3139(of)X
        !          27962: 3234(the)X
        !          27963: 3364(NeWS)X
        !          27964: 3620(system)X
        !          27965: 3887(design.)X
        !          27966: 3 f
        !          27967: 720 5489(8.)N
        !          27968: 830(Conclusions)X
        !          27969: 1 f
        !          27970: 920 5621(I)N
        !          27971: 982(think)X
        !          27972: 1197(that)X
        !          27973: 1363(Tcl)X
        !          27974: 1514(could)X
        !          27975: 1743(improve)X
        !          27976: 2070(our)X
        !          27977: 2219(interactive)X
        !          27978: 2624(environments)X
        !          27979: 3136(in)X
        !          27980: 3237(three)X
        !          27981: 3445(general)X
        !          27982: 3736(ways.)X
        !          27983: 3992(First,)X
        !          27984: 720 5720(Tcl)N
        !          27985: 868(can)X
        !          27986: 1020(be)X
        !          27987: 1133(used)X
        !          27988: 1324(to)X
        !          27989: 1423(improve)X
        !          27990: 1747(individual)X
        !          27991: 2135(tools)X
        !          27992: 2336(by)X
        !          27993: 2453(providing)X
        !          27994: 2825(them)X
        !          27995: 3031(with)X
        !          27996: 3217(a)X
        !          27997: 3285(programmable)X
        !          27998: 3828(command)X
        !          27999: 3 f
        !          28000: 2353 6048(-)N
        !          28001: 2404(12)X
        !          28002: 2514(-)X
        !          28003: 
        !          28004: 13 p
        !          28005: %%Page: 13 14
        !          28006: 11 s 11 xH 0 xS 3 f
        !          28007: 720 483(Tcl:)N
        !          28008: 894(An)X
        !          28009: 1028(Embeddable)X
        !          28010: 1525(Command)X
        !          28011: 1942(Language)X
        !          28012: 3466(December)X
        !          28013: 3868(22,)X
        !          28014: 4000(1989)X
        !          28015: 1 f
        !          28016: 720 771(language;)N
        !          28017: 1117(this)X
        !          28018: 1277(allows)X
        !          28019: 1539(users)X
        !          28020: 1751(to)X
        !          28021: 1852(customize)X
        !          28022: 2242(tools)X
        !          28023: 2446(and)X
        !          28024: 2605(extend)X
        !          28025: 2872(their)X
        !          28026: 3066(functionality.)X
        !          28027: 3593(Second,)X
        !          28028: 3905(Tcl)X
        !          28029: 4054(can)X
        !          28030: 720 870(provide)N
        !          28031: 1020(a)X
        !          28032: 1090(uniform)X
        !          28033: 1405(command)X
        !          28034: 1784(language)X
        !          28035: 2133(across)X
        !          28036: 2383(a)X
        !          28037: 2453(range)X
        !          28038: 2679(of)X
        !          28039: 2783(tools;)X
        !          28040: 3033(this)X
        !          28041: 3192(makes)X
        !          28042: 3448(it)X
        !          28043: 3529(easier)X
        !          28044: 3765(for)X
        !          28045: 3897(users)X
        !          28046: 4107(to)X
        !          28047: 720 969(program)N
        !          28048: 1042(the)X
        !          28049: 1174(tools)X
        !          28050: 1370(and)X
        !          28051: 1521(also)X
        !          28052: 1687(allows)X
        !          28053: 1941(tool-independent)X
        !          28054: 2563(facilities)X
        !          28055: 2892(to)X
        !          28056: 2985(be)X
        !          28057: 3092(built,)X
        !          28058: 3301(such)X
        !          28059: 3486(as)X
        !          28060: 3583(interface)X
        !          28061: 3914(editors.)X
        !          28062: 720 1068(Third,)N
        !          28063: 962(Tcl)X
        !          28064: 1104(provides)X
        !          28065: 1431(a)X
        !          28066: 1494(mechanism)X
        !          28067: 1920(for)X
        !          28068: 2046(tools)X
        !          28069: 2242(to)X
        !          28070: 2335(control)X
        !          28071: 2609(each)X
        !          28072: 2794(other;)X
        !          28073: 3046(this)X
        !          28074: 3198(encourages)X
        !          28075: 3616(a)X
        !          28076: 3678(more)X
        !          28077: 3882(modular)X
        !          28078: 720 1167(approach)N
        !          28079: 1065(to)X
        !          28080: 1157(windowing)X
        !          28081: 1576(applications)X
        !          28082: 2025(and)X
        !          28083: 2174(makes)X
        !          28084: 2421(it)X
        !          28085: 2493(possible)X
        !          28086: 2804(to)X
        !          28087: 2895(re-use)X
        !          28088: 3131(old)X
        !          28089: 3266(applications)X
        !          28090: 3715(in)X
        !          28091: 3806(new)X
        !          28092: 3974(ways.)X
        !          28093: 720 1266(In)N
        !          28094: 815(my)X
        !          28095: 950(opinion)X
        !          28096: 1242(the)X
        !          28097: 1372(third)X
        !          28098: 1561(bene\256t)X
        !          28099: 1823(is)X
        !          28100: 1904(potentially)X
        !          28101: 2305(the)X
        !          28102: 2435(most)X
        !          28103: 2629(important.)X
        !          28104: 920 1398(My)N
        !          28105: 1067(experiences)X
        !          28106: 1507(with)X
        !          28107: 1688(Tcl)X
        !          28108: 1830(so)X
        !          28109: 1932(far)X
        !          28110: 2053(are)X
        !          28111: 2184(positive)X
        !          28112: 2488(but)X
        !          28113: 2625(limited.)X
        !          28114: 2945(Tcl)X
        !          28115: 3087(needs)X
        !          28116: 3311(a)X
        !          28117: 3374(larger)X
        !          28118: 3603(user)X
        !          28119: 3773(community)X
        !          28120: 720 1497(and)N
        !          28121: 876(a)X
        !          28122: 944(more)X
        !          28123: 1154(complete)X
        !          28124: 1507(integration)X
        !          28125: 1919(into)X
        !          28126: 2086(a)X
        !          28127: 2154(windowing)X
        !          28128: 2579(toolkit)X
        !          28129: 2840(before)X
        !          28130: 3093(it)X
        !          28131: 3172(can)X
        !          28132: 3323(be)X
        !          28133: 3434(fully)X
        !          28134: 3629(evaluated.)X
        !          28135: 4039(The)X
        !          28136: 720 1596(Tcl)N
        !          28137: 865(library)X
        !          28138: 1127(source)X
        !          28139: 1383(code)X
        !          28140: 1576(is)X
        !          28141: 1662(currently)X
        !          28142: 2007(available)X
        !          28143: 2353(to)X
        !          28144: 2449(the)X
        !          28145: 2584(public)X
        !          28146: 2831(in)X
        !          28147: 2926(a)X
        !          28148: 2991(free,)X
        !          28149: 3175(unlicensed)X
        !          28150: 3578(form,)X
        !          28151: 3797(and)X
        !          28152: 3950(I)X
        !          28153: 4005(hope)X
        !          28154: 720 1695(to)N
        !          28155: 811(produce)X
        !          28156: 1116(a)X
        !          28157: 1177(Tcl-based)X
        !          28158: 1546(toolkit)X
        !          28159: 1800(in)X
        !          28160: 1891(the)X
        !          28161: 2021(near)X
        !          28162: 2194(future.)X
        !          28163: 3 f
        !          28164: 720 1989(9.)N
        !          28165: 830(Acknowledgments)X
        !          28166: 1 f
        !          28167: 920 2121(The)N
        !          28168: 1082(members)X
        !          28169: 1430(of)X
        !          28170: 1528(the)X
        !          28171: 1661(Sprite)X
        !          28172: 1897(project)X
        !          28173: 2167(acted)X
        !          28174: 2377(as)X
        !          28175: 2474(guinea)X
        !          28176: 2733(pigs)X
        !          28177: 2904(for)X
        !          28178: 3030(the)X
        !          28179: 3162(editor)X
        !          28180: 3392(and)X
        !          28181: 3543(terminal)X
        !          28182: 3862(emulator)X
        !          28183: 720 2220(based)N
        !          28184: 948(on)X
        !          28185: 1064(Tcl;)X
        !          28186: 1257(without)X
        !          28187: 1555(their)X
        !          28188: 1745(help)X
        !          28189: 1925(the)X
        !          28190: 2061(language)X
        !          28191: 2407(would)X
        !          28192: 2655(not)X
        !          28193: 2796(have)X
        !          28194: 2990(evolved)X
        !          28195: 3297(to)X
        !          28196: 3394(its)X
        !          28197: 3506(current)X
        !          28198: 3782(state.)X
        !          28199: 4015(Fred)X
        !          28200: 720 2319(Douglis,)N
        !          28201: 1045(John)X
        !          28202: 1235(Hartman,)X
        !          28203: 1589(Ken)X
        !          28204: 1759(Shirriff,)X
        !          28205: 2064(and)X
        !          28206: 2215(Brent)X
        !          28207: 2434(Welch)X
        !          28208: 2687(provided)X
        !          28209: 3023(helpful)X
        !          28210: 3296(comments)X
        !          28211: 3682(that)X
        !          28212: 3838(improved)X
        !          28213: 720 2418(the)N
        !          28214: 850(presentation)X
        !          28215: 1303(of)X
        !          28216: 1398(this)X
        !          28217: 1548(paper.)X
        !          28218: 3 f
        !          28219: 720 2712(10.)N
        !          28220: 874(References)X
        !          28221: 1 f
        !          28222: 720 2844([1])N
        !          28223: 920(Abelson,)X
        !          28224: 1265(H.)X
        !          28225: 1380(and)X
        !          28226: 1536(Sussman,)X
        !          28227: 1900(G.J.)X
        !          28228: 2 f
        !          28229: 2092(Structure)X
        !          28230: 2449(and)X
        !          28231: 2610(Interpretation)X
        !          28232: 3134(of)X
        !          28233: 3232(Computer)X
        !          28234: 3613(Programs)X
        !          28235: 1 f
        !          28236: 3964(,)X
        !          28237: 4015(MIT)X
        !          28238: 920 2943(Press,)N
        !          28239: 1149(Cambridge,)X
        !          28240: 1585(MA,)X
        !          28241: 1770(1985.)X
        !          28242: 720 3075([2])N
        !          28243: 920(Adobe)X
        !          28244: 1178(Systems,)X
        !          28245: 1518(Inc.)X
        !          28246: 2 f
        !          28247: 1698(Postscript)X
        !          28248: 2080(Language)X
        !          28249: 2456(Tutorial)X
        !          28250: 2770(and)X
        !          28251: 2926(Cookbook)X
        !          28252: 1 f
        !          28253: 3283(,)X
        !          28254: 3329(Addison-Wesley,)X
        !          28255: 3966(Read-)X
        !          28256: 920 3174(ing,)N
        !          28257: 1077(MA,)X
        !          28258: 1262(1985.)X
        !          28259: 720 3306([3])N
        !          28260: 920(Birrell,)X
        !          28261: 1206(A.)X
        !          28262: 1324(and)X
        !          28263: 1484(Nelson,)X
        !          28264: 1788(B.)X
        !          28265: 1923(``Implementing)X
        !          28266: 2509(Remote)X
        !          28267: 2816(Procedure)X
        !          28268: 3204(Calls.'')X
        !          28269: 2 f
        !          28270: 3498(ACM)X
        !          28271: 3716(Transactions)X
        !          28272: 920 3405(on)N
        !          28273: 1030(Computer)X
        !          28274: 1404(Systems)X
        !          28275: 1 f
        !          28276: 1682(,)X
        !          28277: 1726(Vol.)X
        !          28278: 1902(2,)X
        !          28279: 1990(No.)X
        !          28280: 2141(1,)X
        !          28281: 2229(February)X
        !          28282: 2568(1986,)X
        !          28283: 2788(pp.)X
        !          28284: 2920(39-59.)X
        !          28285: 720 3537([4])N
        !          28286: 920(Brodie,)X
        !          28287: 1206(L.)X
        !          28288: 2 f
        !          28289: 1328(Starting)X
        !          28290: 1637(FORTH:)X
        !          28291: 1995(An)X
        !          28292: 2117(Introduction)X
        !          28293: 2582(to)X
        !          28294: 2675(the)X
        !          28295: 2807(FORTH)X
        !          28296: 3114(Language)X
        !          28297: 3490(and)X
        !          28298: 3645(Operating)X
        !          28299: 4030(Sys-)X
        !          28300: 920 3636(tem)N
        !          28301: 1069(for)X
        !          28302: 1194(Beginners)X
        !          28303: 1573(and)X
        !          28304: 1727(Professionals)X
        !          28305: 1 f
        !          28306: 2207(,)X
        !          28307: 2251(Prentice)X
        !          28308: 2562(Hall,)X
        !          28309: 2758(Englewood)X
        !          28310: 3181(Cliffs,)X
        !          28311: 3448(NJ,)X
        !          28312: 3589(1981.)X
        !          28313: 720 3768([5])N
        !          28314: 920(Kernighan,)X
        !          28315: 1337(B.W.)X
        !          28316: 1547(and)X
        !          28317: 1698(Pike,)X
        !          28318: 1901(R.)X
        !          28319: 2 f
        !          28320: 2028(The)X
        !          28321: 2184(UNIX)X
        !          28322: 2413(Programming)X
        !          28323: 2930(Environment)X
        !          28324: 1 f
        !          28325: 3385(,)X
        !          28326: 3431(Prentice)X
        !          28327: 3744(Hall,)X
        !          28328: 3941(Engle-)X
        !          28329: 920 3867(wood)N
        !          28330: 1137(Cliffs,)X
        !          28331: 1382(NJ,)X
        !          28332: 1523(1984.)X
        !          28333: 720 3999([6])N
        !          28334: 920(Kernighan,)X
        !          28335: 1338(B.W.)X
        !          28336: 1549(and)X
        !          28337: 1701(Ritchie,)X
        !          28338: 2004(D.M.)X
        !          28339: 2 f
        !          28340: 2236(The)X
        !          28341: 2393(C)X
        !          28342: 2477(Programming)X
        !          28343: 2995(Language)X
        !          28344: 1 f
        !          28345: (,)S
        !          28346: 3394(Second)X
        !          28347: 3678(Edition,)X
        !          28348: 3986(Pren-)X
        !          28349: 920 4098(tice)N
        !          28350: 1070(Hall,)X
        !          28351: 1266(Englewood)X
        !          28352: 1689(Cliffs,)X
        !          28353: 1934(NJ,)X
        !          28354: 2075(1988.)X
        !          28355: 720 4230([7])N
        !          28356: 920(Mackey,)X
        !          28357: 1250(K.,)X
        !          28358: 1382(Downs,)X
        !          28359: 1677(M.,)X
        !          28360: 1824(Duffy,)X
        !          28361: 2080(J.,)X
        !          28362: 2183(and)X
        !          28363: 2335(Leege,)X
        !          28364: 2597(J.)X
        !          28365: 2699(``An)X
        !          28366: 2888(Interactive)X
        !          28367: 3289(Interface)X
        !          28368: 3625(Builder)X
        !          28369: 3914(for)X
        !          28370: 4040(Use)X
        !          28371: 920 4329(with)N
        !          28372: 1099(Ada)X
        !          28373: 1267(Programs,'')X
        !          28374: 2 f
        !          28375: 1706(Xhibition)X
        !          28376: 2058(Conference)X
        !          28377: 2486(Proceedings)X
        !          28378: 1 f
        !          28379: 2926(,)X
        !          28380: 2970(1989.)X
        !          28381: 720 4461([8])N
        !          28382: 920(Stallman,)X
        !          28383: 1279(R.)X
        !          28384: 2 f
        !          28385: 1404(GNU)X
        !          28386: 1611(Emacs)X
        !          28387: 1867(Manual)X
        !          28388: 1 f
        !          28389: 2141(,)X
        !          28390: 2185(Fourth)X
        !          28391: 2442(Edition,)X
        !          28392: 2747(Version)X
        !          28393: 3047(17,)X
        !          28394: 3179(February)X
        !          28395: 3518(1986.)X
        !          28396: 720 4593([9])N
        !          28397: 920(Sun)X
        !          28398: 1083(Microsystems,)X
        !          28399: 1625(Inc.)X
        !          28400: 2 f
        !          28401: 1807(NeWS)X
        !          28402: 2048(Technical)X
        !          28403: 2422(Overview)X
        !          28404: 1 f
        !          28405: 2759(,)X
        !          28406: 2807(Sun)X
        !          28407: 2970(Microsystems,)X
        !          28408: 3512(Inc.)X
        !          28409: 3672(PN)X
        !          28410: 3810(800-1498-)X
        !          28411: 920 4692(05,)N
        !          28412: 1052(1987.)X
        !          28413: 3 f
        !          28414: 2353 6048(-)N
        !          28415: 2404(13)X
        !          28416: 2514(-)X
        !          28417: 
        !          28418: 14 p
        !          28419: %%Trailer
        !          28420: xt
        !          28421: 
        !          28422: xs
        !          28423: 0707070035050466601004440011710000040000010747330466276614600002000000024021tcl/tmac.sprite.\" This file contains a combination of the BSD -man macros and the Sprite
        !          28424: .\" man macro additions which are stored in tmac.sprite.  This file is
        !          28425: .\" useful for sending to UNIX systems with Sprite man pages, so that the
        !          28426: .\" man pages may be formatted correctly.
        !          28427: .\"
        !          28428: .\" Copyright (c) 1980 Regents of the University of California.
        !          28429: .\" All rights reserved.  The Berkeley software License Agreement
        !          28430: .\" specifies the terms and conditions for redistribution.
        !          28431: .\"
        !          28432: .\"    @(#)tmac.an.new 6.3 (Berkeley) 2/2/86
        !          28433: .\"
        !          28434: '      DT, PD, SM, and B macros invoked internally.
        !          28435: '      # month name
        !          28436: .if "\nd"0" .nr m \n(mo-1
        !          28437: .if "\nm"0" .ds ]m January
        !          28438: .if "\nm"1" .ds ]m February
        !          28439: .if "\nm"2" .ds ]m March
        !          28440: .if "\nm"3" .ds ]m April
        !          28441: .if "\nm"4" .ds ]m May
        !          28442: .if "\nm"5" .ds ]m June
        !          28443: .if "\nm"6" .ds ]m July
        !          28444: .if "\nm"7" .ds ]m August
        !          28445: .if "\nm"8" .ds ]m September
        !          28446: .if "\nm"9" .ds ]m October
        !          28447: .if "\nm"10" .ds ]m November
        !          28448: .if "\nm"11" .ds ]m December
        !          28449: '      # set the date
        !          28450: .if n \{.nr m \nm+1
        !          28451: .       ie \nd .ds ]W Modified \nm/\nd/\ny
        !          28452: .       el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
        !          28453: .if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
        !          28454: .       el .ds ]W \*(]m \n(dy, 19\n(yr\}
        !          28455: .if t .ds ]W Sprite version 1.0
        !          28456: .if n .ds ]W Sprite v1.0
        !          28457: .if t .tr *\(**
        !          28458: .ie n \{\
        !          28459: .      ds lq \&"\"
        !          28460: .      ds rq \&"\"
        !          28461: .\}
        !          28462: .el \{\
        !          28463: .      ds rq ''
        !          28464: .      ds lq ``
        !          28465: .\}
        !          28466: '      # reset the basic page layout
        !          28467: .de }E
        !          28468: .}f
        !          28469: .in \\n()Ru+\\n(INu
        !          28470: .ll \\n(LLu
        !          28471: ..
        !          28472: '      # default tabs
        !          28473: .de DT
        !          28474: 'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
        !          28475: ..
        !          28476: '      # set type font and size
        !          28477: .de }f
        !          28478: .ps 10
        !          28479: .ft 1
        !          28480: ..
        !          28481: '      # handle the head of the page
        !          28482: .de }H
        !          28483: .ev 1
        !          28484: .}C
        !          28485: .ie "\*(.T"va" 'sp .1i
        !          28486: .el 'sp .5i
        !          28487: .ft 1
        !          28488: .ps 10
        !          28489: .tl @\\*(]H@\\*(]D@\\*(]H@
        !          28490: 'sp .5i
        !          28491: .ev
        !          28492: .ns
        !          28493: ..
        !          28494: '      # handle the foot of the page
        !          28495: .de }F
        !          28496: .ev 1
        !          28497: .ft 1
        !          28498: .ps 10
        !          28499: 'sp .5i
        !          28500: .tl @\\*(]W@\\*(]L@%@
        !          28501: 'bp
        !          28502: .ev
        !          28503: ..
        !          28504: '      # the cut mark
        !          28505: .if !"\*(.T"vp" .ig
        !          28506: .de }C
        !          28507: .po 0i
        !          28508: .lt 7.45i
        !          28509: .tl '__''__'
        !          28510: .po
        !          28511: .lt
        !          28512: ..
        !          28513: '      # the final cut mark
        !          28514: .de }M
        !          28515: .}N
        !          28516: .wh -1p }C
        !          28517: .ll \\n(LLu
        !          28518: ..
        !          28519: '      # no runout unless there was a .TH
        !          28520: .de }K
        !          28521: .}N
        !          28522: .pl 1
        !          28523: .ll \\n(LLu
        !          28524: ..
        !          28525: .em }K
        !          28526: '      # set title and heading
        !          28527: .de TH
        !          28528: .PD
        !          28529: .if n .nr IN .5i
        !          28530: .if t .nr IN .5i
        !          28531: .nr LL \\n(.l
        !          28532: .ds ]H \\$1
        !          28533: .ds ]D UNKNOWN MANUAL SECTION
        !          28534: .if '\\$2'1' .ds ]D User Commands
        !          28535: .if '\\$2'1C' .ds ]D User Commands
        !          28536: .if '\\$2'1L' .ds ]D User Commands
        !          28537: .if '\\$2'6' .ds ]D Games and Demos
        !          28538: .if '\\$2'7' .ds ]D Tables
        !          28539: .if '\\$2'2' .ds ]D C Library Procedures
        !          28540: .if '\\$2'3' .ds ]D C Library Procedures
        !          28541: .if '\\$2'3C' .ds ]D C Library Procedures
        !          28542: .if '\\$2'3F' .ds ]D Fortran Library Procedures
        !          28543: .if '\\$2'3S' .ds ]D C Library Procedures
        !          28544: .if '\\$2'3M' .ds ]D Mathematical Library Procedures
        !          28545: .if '\\$2'3N' .ds ]D C Library Procedures
        !          28546: .if '\\$2'3R' .ds ]D RPC Services
        !          28547: .if '\\$2'3X' .ds ]D C Library Procedures
        !          28548: .if '\\$2'5' .ds ]D File Formats
        !          28549: .if '\\$2'4' .ds ]D Devices
        !          28550: .if '\\$2'8' .ds ]D User Commands
        !          28551: .ds ]L\"
        !          28552: .if !"\\$3"" .ds ]L \\$3
        !          28553: .if !"\\$4"" .ds ]W \\$4
        !          28554: .wh 0 }H
        !          28555: .if t .if !"\*(.T"va" .wh -1i }F
        !          28556: .if t .if "\*(.T"va" .wh -1.4i }F
        !          28557: .if n .wh -1.167i }F
        !          28558: .em }M
        !          28559: .if \\n(nl .bp 1
        !          28560: .}E
        !          28561: .DT
        !          28562: .nr )I .5i
        !          28563: .nr )R 0
        !          28564: .if n .na
        !          28565: ..
        !          28566: '      # section heading
        !          28567: .de SH
        !          28568: .ss 12
        !          28569: .if "\\$1"SYNOPSIS" .ss 18
        !          28570: .}X 0
        !          28571: .nr )E 2
        !          28572: .SM
        !          28573: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
        !          28574: ..
        !          28575: '      # sub section heading
        !          28576: .de SS
        !          28577: .ne 4
        !          28578: .}X \\n()Ru+\\n(INu ""
        !          28579: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
        !          28580: .br
        !          28581: ..
        !          28582: '      # subroutine for section heading
        !          28583: .de }X
        !          28584: .}E
        !          28585: .ti \\$1
        !          28586: .sp \\n()Pu
        !          28587: .ne 2
        !          28588: .nr )R 0
        !          28589: .fi
        !          28590: .it 1 }N
        !          28591: .B
        !          28592: ..
        !          28593: '      # end of SH (cf }X above and }N below)
        !          28594: .de }2
        !          28595: .nr )E 0
        !          28596: .}E
        !          28597: .nr )I .5i
        !          28598: .ns
        !          28599: ..
        !          28600: '      # italic
        !          28601: .de I
        !          28602: .ft 2
        !          28603: .it 1 }N
        !          28604: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !          28605: ..
        !          28606: '      # bold
        !          28607: .de B
        !          28608: .ft 3
        !          28609: .it 1 }N
        !          28610: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !          28611: ..
        !          28612: '      # small
        !          28613: .de SM
        !          28614: .ps 9
        !          28615: .it 1 }N
        !          28616: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !          28617: ..
        !          28618: '      # combinations of Roman, italic, bold
        !          28619: .de RI
        !          28620: .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !          28621: ..
        !          28622: .de RB
        !          28623: .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !          28624: ..
        !          28625: .de IR
        !          28626: .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !          28627: ..
        !          28628: .de IB
        !          28629: .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !          28630: ..
        !          28631: .de BR
        !          28632: .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !          28633: ..
        !          28634: .de BI
        !          28635: .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !          28636: ..
        !          28637: '      # make special case of shift out of italic
        !          28638: .de }S
        !          28639: .ds ]F
        !          28640: .if "\\$1"2" .if !"\\$5"" .ds ]F\^
        !          28641: .ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
        !          28642: .el \\$3
        !          28643: .}f
        !          28644: ..
        !          28645: '      # paragraph
        !          28646: .de LP
        !          28647: .PP
        !          28648: ..
        !          28649: .de PP
        !          28650: .sp \\n()Pu
        !          28651: .ne 1.1v
        !          28652: .}E
        !          28653: .nr )I .5i
        !          28654: .ns
        !          28655: ..
        !          28656: '      # synonym for .PP
        !          28657: .de P
        !          28658: .PP
        !          28659: ..
        !          28660: '      # paragraph distance
        !          28661: .de PD
        !          28662: .if t .nr )P .4v
        !          28663: .if n .nr )P 1v
        !          28664: .if !"\\$1"" .nr )P \\$1v
        !          28665: ..
        !          28666: '      # paragraph with hanging indent
        !          28667: .de HP
        !          28668: .sp \\n()Pu
        !          28669: .ne 1.1v
        !          28670: .if !"\\$1"" .nr )I \\$1n
        !          28671: .ll \\n(LLu
        !          28672: .in \\n()Ru+\\n(INu+\\n()Iu
        !          28673: .ti \\n()Ru+\\n(INu
        !          28674: .}f
        !          28675: ..
        !          28676: '      # indented paragraph
        !          28677: .de IP
        !          28678: .TP \\$2
        !          28679: \&\\$1
        !          28680: ..
        !          28681: '      # tagged paragraph (paragraph with hanging label)
        !          28682: .de TP
        !          28683: .if !"\\$1"" .nr )I \\$1n
        !          28684: .sp \\n()Pu
        !          28685: .ne 1.1v
        !          28686: .in \\n()Ru
        !          28687: .nr )E 1
        !          28688: .ns
        !          28689: .it 1 }N
        !          28690: .di ]B
        !          28691: ..
        !          28692: '      # end of TP (cf }N below)
        !          28693: .de }1
        !          28694: .ds ]X \&\\*(]B\\
        !          28695: .nr )E 0
        !          28696: .if !"\\$1"" .nr )I \\$1n
        !          28697: .}f
        !          28698: .ll \\n(LLu
        !          28699: .in \\n()Ru+\\n(INu+\\n()Iu
        !          28700: .ti \\n(INu
        !          28701: .ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
        !          28702: .br\}
        !          28703: .el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
        !          28704: .}f
        !          28705: ..
        !          28706: '      # handle end of 1-line features
        !          28707: .de }N
        !          28708: .if \\n()E .br
        !          28709: .di
        !          28710: .if "\\n()E"0" .}f
        !          28711: .if "\\n()E"1" .}1
        !          28712: .if "\\n()E"2" .}2
        !          28713: .nr )E 0
        !          28714: ..
        !          28715: '      # increase relative indent
        !          28716: .de RS
        !          28717: .nr ]\\n+()p \\n()I
        !          28718: .nr )\\n()p \\n()R
        !          28719: .ie !"\\$1"" .nr )R +\\$1n
        !          28720: .el .nr )R +\\n()I
        !          28721: .nr )I .5i
        !          28722: .}E
        !          28723: ..
        !          28724: .de DS
        !          28725: .RS
        !          28726: .nf
        !          28727: .sp
        !          28728: ..
        !          28729: '      # decrease relative indent
        !          28730: .de RE
        !          28731: .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
        !          28732: .              el .nr )p \\$1 1\}
        !          28733: .ds ]i \\*(]I\\n()p
        !          28734: .ds ]r \\*(]R\\n()p
        !          28735: .nr )I \\*(]i
        !          28736: .nr )R \\*(]r
        !          28737: .if \\n()p .nr )p -1
        !          28738: .}E
        !          28739: ..
        !          28740: .de DE
        !          28741: .fi
        !          28742: .RE
        !          28743: .sp.5
        !          28744: ..
        !          28745: .nr )p 0 1
        !          28746: .ds ]I \\\\n(]
        !          28747: .ds ]R \\\\n()
        !          28748: .bd S B 3
        !          28749: .if t .ds R \(rg
        !          28750: .if n .ds R (Reg.)
        !          28751: .ds S \s10
        !          28752: .hy 14
        !          28753: .if "\*(.T"va" .po -0.4i
        !          28754: .\" This file contains extra Ditroff macros used in Sprite man pages:
        !          28755: .\"
        !          28756: .\" .HS name section [date [version]]
        !          28757: .\"    Replacement for .TH in other man pages.  See below for valid
        !          28758: .\"    section names.
        !          28759: .\"
        !          28760: .\" .LG
        !          28761: .\"    Increase font size;  opposite of .SM
        !          28762: .\"
        !          28763: .\" .AP type name in/out [indent]
        !          28764: .\"    Start paragraph describing an argument to a library procedure.
        !          28765: .\"    type is type of argument (int, etc.), in/out is either "in", "out",
        !          28766: .\"    or "in/out" to describe whether procedure reads or modifies arg,
        !          28767: .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
        !          28768: .\"    needed;  use .AS below instead)
        !          28769: .\"
        !          28770: .\" .AS [type [name]]
        !          28771: .\"    Give maximum sizes of arguments for setting tab stops.  Type and
        !          28772: .\"    name are examples of largest possible arguments that will be passed
        !          28773: .\"    to .AP later.  If args are omitted, default tab stops are used.
        !          28774: .\"
        !          28775: .\" .BS
        !          28776: .\"    Start box enclosure.  From here until next .BE, everything will be
        !          28777: .\"    enclosed in one large box.
        !          28778: .\"
        !          28779: .\" .BE
        !          28780: .\"    End of box enclosure.
        !          28781: .\"
        !          28782: .\" .VS
        !          28783: .\"    Begin vertical sidebar, for use in marking newly-changed parts
        !          28784: .\"    of man pages.
        !          28785: .\"
        !          28786: .\" .VE
        !          28787: .\"    End of vertical sidebar.
        !          28788: .\"
        !          28789: '      # Heading for Sprite man pages
        !          28790: .de HS
        !          28791: .PD
        !          28792: .DT
        !          28793: .AS
        !          28794: .if n .nr IN .5i
        !          28795: .if t .nr IN .5i
        !          28796: .nr LL \\n(.l
        !          28797: .ds ]S UNKNOWN SECTION (\\$2)
        !          28798: .if '\\$2'cmds'       .ds ]S User Commands
        !          28799: .if '\\$2'lib'        .ds ]S C Library Procedures
        !          28800: .if '\\$2'dev'        .ds ]S Devices
        !          28801: .if '\\$2'tcl'        .ds ]S Tcl Command Language Library
        !          28802: .if '\\$2'admin'      .ds ]S Administrative Commands
        !          28803: .if '\\$2'daemons'    .ds ]S Daemons
        !          28804: .if '\\$2'files'      .ds ]S File Formats
        !          28805: .ds ]H \\$1
        !          28806: .ds ]D \\*(]S
        !          28807: .ie '\\$3'' .ds ]L  Printed:\\ \\ \\*(DY
        !          28808: .el         .ds ]L  Modified:\\ \\ \\$3
        !          28809: .if t .ie '\\$4'' .ds ]W Sprite version 1.0
        !          28810: .if t .el         .ds ]W Sprite version \\$4
        !          28811: .if n .ie '\\$4'' .ds ]W Sprite v.1.0
        !          28812: .if n .el         .ds ]W Sprite v.\\$4
        !          28813: .if !"\\$3"" .ds ]L \\$3
        !          28814: .wh 0 }H
        !          28815: .if t .wh -1i }B
        !          28816: .if n .wh -1.167i }F
        !          28817: .if \\n(nl .bp 1
        !          28818: .em }M
        !          28819: .}E
        !          28820: .DT
        !          28821: .nr )I .5i
        !          28822: .nr )R 0
        !          28823: ..
        !          28824: '      # Increase point size 1 tick
        !          28825: .de LG
        !          28826: .ps +1
        !          28827: .it 1 }N
        !          28828: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !          28829: ..
        !          28830: '      # Start an argument description
        !          28831: .de AP
        !          28832: .ie !"\\$4"" .TP \\$4
        !          28833: .el \{\
        !          28834: .   ie !"\\$2"" .TP \\n()Cu
        !          28835: .   el          .TP 15
        !          28836: .\}
        !          28837: .ie !"\\$3"" \{\
        !          28838: .ta \\n()Au \\n()Bu
        !          28839: \&\\$1 \\fI\\$2\\fP    (\\$3)
        !          28840: .\".b
        !          28841: .\}
        !          28842: .el \{\
        !          28843: .br
        !          28844: .ie !"\\$2"" \{\
        !          28845: \&\\$1 \\fI\\$2\\fP
        !          28846: .\}
        !          28847: .el \{\
        !          28848: \&\\fI\\$1\\fP
        !          28849: .\}
        !          28850: .\}
        !          28851: .DT
        !          28852: ..
        !          28853: '      # define tabbing values for .AP
        !          28854: .de AS
        !          28855: .nr )A 10n
        !          28856: .if !"\\$1"" .nr )A \\w'\\$1'u+3n
        !          28857: .nr )B \\n()Au+15n
        !          28858: .\"
        !          28859: .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
        !          28860: .nr )C \\n()Bu+\\w'(in/out)'u+2n
        !          28861: ..
        !          28862: '      # BS - start boxed text
        !          28863: .de BS
        !          28864: .br
        !          28865: .mk )a
        !          28866: .ds )b 1
        !          28867: .if n .nf
        !          28868: .if n .ti 0
        !          28869: .if n \l'\\n(.lu\(ul'
        !          28870: .if n .fi
        !          28871: ..
        !          28872: '      # Special macro to handle page bottom:  finish off current
        !          28873: '      # box/sidebar if in box/sidebar mode, then invoked standard
        !          28874: '      # page bottom macro.
        !          28875: .de }B
        !          28876: .if '\\*()b'1' \{\
        !          28877: .ev 1
        !          28878: 'ti 0
        !          28879: 'nf
        !          28880: .if t \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
        !          28881: 'sp -1
        !          28882: .ev
        !          28883: 'fi
        !          28884: .\}
        !          28885: .if '\\*()v'2' \{\
        !          28886: .if t \{\
        !          28887: .ev 1
        !          28888: 'ti 0
        !          28889: 'nf
        !          28890: \h'|\\n(.lu+2n'\v'-1v'\L'|\\n()au-1v\(br'\v'-|\\n()au+2v'\h'-|\\n(.lu+2n'
        !          28891: 'sp -1
        !          28892: 'fi
        !          28893: .ev
        !          28894: .\}
        !          28895: .\}
        !          28896: .}F
        !          28897: ..
        !          28898: '      # What to do when the head of the page occurs during boxed text
        !          28899: '      # or vertical sidebar: update starting position for box/sidebar.
        !          28900: .am }H
        !          28901: .mk )a
        !          28902: ..
        !          28903: '      # BE - end boxed text (draw box now)
        !          28904: .de BE
        !          28905: .sp -1
        !          28906: .nf
        !          28907: .ti 0
        !          28908: .ie n \l'\\n(.lu\(ul'
        !          28909: .el \{
        !          28910: \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
        !          28911: .\"   \h = move left 1.5n
        !          28912: .\"   \L = draw up,   len=  )a units + 1.5v 
        !          28913: .\"    \L draws a line, arg = distance. if negative, draws up.
        !          28914: .\"    The position in reg. )a is used to draw the vertical lines.
        !          28915: .\"      |\\n)au = distance from current loc. to )a (negative distance)
        !          28916: .\"      -1.5v   = distance above )a since there is text at )a's location
        !          28917: .\"   \l = draw right, len= cur. line length + 3n using underrule
        !          28918: .\"   \L = draw down, len=  )a units + 1.5v 
        !          28919: .\"   \l = draw left, back to original spot
        !          28920: .\}
        !          28921: .fi
        !          28922: .br
        !          28923: .ds )b 0
        !          28924: ..
        !          28925: '      # VS - start vertical sidebar
        !          28926: .de VS
        !          28927: .if n 'mc \s12\(br\s0
        !          28928: .if t \{\
        !          28929: .mk )a
        !          28930: .ds )v 2
        !          28931: .\}
        !          28932: ..
        !          28933: '      # VE - end of vertical sidebar
        !          28934: .de VE
        !          28935: .ev 1
        !          28936: .if n 'mc
        !          28937: .if t \{\
        !          28938: .nf
        !          28939: .ti 0
        !          28940: \h'|\\n(.lu+2n'\L'|\\n()au-1v\(br'\v'-|\\n()au+1v'\h'-|\\n(.lu+2n'
        !          28941: .sp -1
        !          28942: .fi
        !          28943: .\}
        !          28944: .ds )v 0
        !          28945: .ev
        !          28946: ..
        !          28947: .\"
        !          28948: .\"  Define the string DY to be the current date
        !          28949: .\"  format:  month day, year
        !          28950: .\"
        !          28951: .if \n(mo-0 .ds MO January
        !          28952: .if \n(mo-1 .ds MO February
        !          28953: .if \n(mo-2 .ds MO March
        !          28954: .if \n(mo-3 .ds MO April
        !          28955: .if \n(mo-4 .ds MO May
        !          28956: .if \n(mo-5 .ds MO June
        !          28957: .if \n(mo-6 .ds MO July
        !          28958: .if \n(mo-7 .ds MO August
        !          28959: .if \n(mo-8 .ds MO September
        !          28960: .if \n(mo-9 .ds MO October
        !          28961: .if \n(mo-10 .ds MO November
        !          28962: .if \n(mo-11 .ds MO December
        !          28963: .ds DY \*(MO \n(dy, 19\n(yr
        !          28964: 0707070035050466570407750011710000040000020747430466276614700001200000000000tcl/tests0707070035050466521004440011710000040000010747450466276614600002500000003455tcl/tests/error.test# This file contains contains a collection of tests for the "error"
        !          28965: # and "catch" commands in Tcl.  If everything is OK then it finishes
        !          28966: # silently.  If a problem is detected then it generates a Tcl error
        !          28967: # with a cryptic message.  To trace the error you'll have to read
        !          28968: # through the commands in this file.
        !          28969: #
        !          28970: # $Header: /sprite/src/lib/tcl/tests/RCS/error.test,v 1.3 90/03/21 10:29:57 ouster Exp $ (Berkeley)
        !          28971: 
        !          28972: proc check {a b num} {
        !          28973:     if {[string compare $a $b] != 0} {
        !          28974:        error [format {Catch/error error %s: wanted "%s", got "%s"} $num $b $a]}
        !          28975: }
        !          28976: 
        !          28977: proc foo {} {
        !          28978:     global errorInfo
        !          28979:     set a [catch {format [error glorp2]} b]
        !          28980:     error {Human-generated}
        !          28981: }
        !          28982: 
        !          28983: proc foo2 {} {
        !          28984:     global errorInfo
        !          28985:     set a [catch {format [error glorp2]} b]
        !          28986:     error {Human-generated} $errorInfo
        !          28987: }
        !          28988: 
        !          28989: # Catch command-generated errors and errors from "error command"
        !          28990: 
        !          28991: set a [catch {format [string compare]} b]
        !          28992: check $a 1 1.1
        !          28993: check $b {wrong # args: should be "string option a b"} 1.2
        !          28994: check $errorInfo {wrong # args: should be "string option a b", while executing
        !          28995: "string compare]", invoked from within
        !          28996: "format [string compare]"} 1.3
        !          28997: 
        !          28998: # Catch nested errors from procedure
        !          28999: 
        !          29000: set a [catch {error glorp}]
        !          29001: check $a 1 2.1
        !          29002: check [catch {catch a b c} b] 1 2.2
        !          29003: check $b {wrong # args: should be "catch command [varName]"} 2.3
        !          29004: check [catch catch] 1 2.4
        !          29005: 
        !          29006: # Catch an error in a procedure, and use the optional arg to "error"
        !          29007: # to generate a new error trace
        !          29008: 
        !          29009: check [catch foo b] 1 3.1
        !          29010: check $b {Human-generated} 3.2
        !          29011: check $errorInfo {Human-generated, while executing
        !          29012: "error {Human-generated}" (procedure "foo" line 4), invoked from within
        !          29013: "foo"} 3.3
        !          29014: 
        !          29015: check [catch foo2 b] 1 4.1
        !          29016: check $b {Human-generated} 4.2
        !          29017: check $errorInfo {glorp2, while executing
        !          29018: "error glorp2]", invoked from within
        !          29019: "format [error glorp2]" (procedure "foo2" line 1), invoked from within
        !          29020: "foo2"} 4.3
        !          29021: 0707070035050466501004440011710000040000010747470466276614600002400000002233tcl/tests/exec.test# This file contains contains a collection of tests for the "exec"
        !          29022: # command in Tcl.  If everything is OK then it finishes silently.
        !          29023: # If a problem is detected then it generates a Tcl error with a
        !          29024: # cryptic message.  To trace the error you'll have to read through
        !          29025: # the commands in this file.
        !          29026: #
        !          29027: # $Header: /sprite/src/lib/tcl/tests/RCS/exec.test,v 1.1 90/04/16 17:28:54 ouster Exp $ (Berkeley)
        !          29028: 
        !          29029: proc check {a b num} {
        !          29030:     if {[string compare $a $b] != 0} {
        !          29031:        error [format {Exec error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29032: }
        !          29033: 
        !          29034: # Basic operations.
        !          29035: 
        !          29036: set a [exec echo a b c]
        !          29037: check $a "a b c\n" 1.1
        !          29038: set a [exec wc < "a b c d" -w]
        !          29039: scan $a %d b
        !          29040: check $b 4 1.2
        !          29041: set a [exec cat < foo]
        !          29042: check $a foo 1.3
        !          29043: 
        !          29044: # Long input to test using file instead of pipe.  This also tests
        !          29045: # the ability to collect output in several steps.
        !          29046: 
        !          29047: set a "0123456789 xxxxxxxxx abcdefghi ABCDEFGHIJK\n"
        !          29048: set a [concat $a $a $a $a]
        !          29049: set a [concat $a $a $a $a]
        !          29050: set a [concat $a $a $a $a]
        !          29051: set a [concat $a $a $a $a]
        !          29052: set b [exec cat < $a]
        !          29053: check $a $b 1.4
        !          29054: 
        !          29055: # Error conditions.
        !          29056: 
        !          29057: check [catch {exec cat <} b] 1 2.1
        !          29058: check $b {specified "<" but no input in "exec" command} 2.2
        !          29059: check [catch {exec false} b] 1 2.3
        !          29060: check $b {} 2.4
        !          29061: 0707070035050466471004440011710000040000010747510466276614600002400000011172tcl/tests/expr.test# This file contains contains a collection of tests for the "expr"
        !          29062: # command in Tcl.  If everything is OK then it finishes silently.
        !          29063: # If a problem is detected then it generates a Tcl error with a
        !          29064: # cryptic message.  To trace the error you'll have to read through
        !          29065: # the commands in this file.
        !          29066: #
        !          29067: # $Header: /sprite/src/lib/tcl/tests/RCS/expr.test,v 1.1 90/03/22 15:24:40 ouster Exp $ (Berkeley)
        !          29068: 
        !          29069: proc check {a b num} {
        !          29070:     if {$a != $b} {
        !          29071:        error [format {Expr error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29072: }
        !          29073: proc checkstr {a b num} {
        !          29074:     if {[string compare $a $b] != 0} {
        !          29075:        error [format {Expr error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29076: }
        !          29077: 
        !          29078: # First, test all of the operators individually.
        !          29079: 
        !          29080: check [expr -4] -4 1.1
        !          29081: check [expr -(1+4)] -5 1.2
        !          29082: check [expr ~3] 0xfffffffc 1.3
        !          29083: check [expr !2] 0 1.3
        !          29084: check [expr !0] 1 1.4
        !          29085: check [expr 4*6] 24 1.5
        !          29086: check [expr 36/12] 3 1.6
        !          29087: check [expr 27/4] 6 1.7
        !          29088: check [expr 27%4] 3 1.8
        !          29089: check [expr 2+2] 4 1.9
        !          29090: check [expr 2-6] -4 1.10
        !          29091: check [expr 1<<3] 8 1.11
        !          29092: check [expr 0xff>>2] 0x3f 1.12
        !          29093: check [expr -1>>2] -1 1.13
        !          29094: check [expr 3>2] 1 1.14
        !          29095: check [expr 2>2] 0 1.15
        !          29096: check [expr 1>2] 0 1.16
        !          29097: check [expr 3<2] 0 1.17
        !          29098: check [expr 2<2] 0 1.18
        !          29099: check [expr 1<2] 1 1.19
        !          29100: check [expr 3>=2] 1 1.20
        !          29101: check [expr 2>=2] 1 1.21
        !          29102: check [expr 1>=2] 0 1.22
        !          29103: check [expr 3<=2] 0 1.23
        !          29104: check [expr 2<=2] 1 1.24
        !          29105: check [expr 1<=2] 1 1.25
        !          29106: check [expr 3==2] 0 1.26
        !          29107: check [expr 2==2] 1 1.27
        !          29108: check [expr 3!=2] 1 1.28
        !          29109: check [expr 2!=2] 0 1.29
        !          29110: check [expr 7&0x13] 3 1.30
        !          29111: check [expr 7^0x13] 0x14 1.31
        !          29112: check [expr 7|0x13] 0x17 1.32
        !          29113: check [expr 0&&1] 0 1.33
        !          29114: check [expr 0&&0] 0 1.34
        !          29115: check [expr 1&&3] 1 1.35
        !          29116: check [expr 0||1] 1 1.36
        !          29117: check [expr 3||0] 1 1.37
        !          29118: check [expr 0||0] 0 1.38
        !          29119: check [expr 3>2?44:66] 44 1.39
        !          29120: check [expr 2>3?44:66] 66 1.40
        !          29121: 
        !          29122: # Check precedence pairwise.
        !          29123: 
        !          29124: check [expr -~3] 4 2.1
        !          29125: check [expr -!3] 0 2.2
        !          29126: check [expr -~0] 1 2.3
        !          29127: 
        !          29128: check [expr 2*4/6] 1 3.1
        !          29129: check [expr 24/6*3] 12 3.2
        !          29130: check [expr 24/6/2] 2 3.3
        !          29131: 
        !          29132: check [expr -2+4] 2 4.1
        !          29133: check [expr -2-4] -6 4.2
        !          29134: 
        !          29135: check [expr 2*3+4] 10 5.1
        !          29136: check [expr 8/2+4] 8 5.2
        !          29137: check [expr 8%3+4] 6 5.3
        !          29138: check [expr 2*3-1] 5 5.4
        !          29139: check [expr 8/2-1] 3 5.5
        !          29140: check [expr 8%3-1] 1 5.6
        !          29141: 
        !          29142: check [expr 6-3-2] 1 6.1
        !          29143: 
        !          29144: check [expr 7+1>>2] 2 7.1
        !          29145: check [expr 7+1<<2] 32 7.2
        !          29146: check [expr 7>>3-2] 3 7.3
        !          29147: check [expr 7<<3-2] 14 7.4
        !          29148: 
        !          29149: check [expr 6>>1>4] 0 8.1
        !          29150: check [expr 6>>1<2] 0 8.2
        !          29151: check [expr 6>>1>=3] 1 8.3
        !          29152: check [expr 6>>1<=2] 0 8.4
        !          29153: check [expr 6<<1>5] 1 8.5
        !          29154: check [expr 6<<1<5] 0 8.6
        !          29155: check [expr 5<=6<<1] 1 8.7
        !          29156: check [expr 5>=6<<1] 0 8.8
        !          29157: 
        !          29158: check [expr 2<3<4] 1 9.1
        !          29159: check [expr 0<4>2] 0 9.2
        !          29160: check [expr 4>2<1] 0 9.3
        !          29161: check [expr 4>3>2] 0 9.4
        !          29162: check [expr 4>3>=2] 0 9.5
        !          29163: check [expr 4>=3>2] 0 9.6
        !          29164: check [expr 4>=3>=2] 0 9.7
        !          29165: check [expr 0<=4>=2] 0 9.8
        !          29166: check [expr 4>=2<=0] 0 9.9
        !          29167: check [expr 2<=3<=4] 1 9.10
        !          29168: 
        !          29169: check [expr 1==4>3] 1 10.1
        !          29170: check [expr 0!=4>3] 1 10.2
        !          29171: check [expr 1==3<4] 1 10.3
        !          29172: check [expr 0!=3<4] 1 10.4
        !          29173: check [expr 1==4>=3] 1 10.5
        !          29174: check [expr 0!=4>=3] 1 10.6
        !          29175: check [expr 1==3<=4] 1 10.7
        !          29176: check [expr 0!=3<=4] 1 10.8
        !          29177: 
        !          29178: check [expr 1==3==3] 0 11.1
        !          29179: check [expr 3==3!=2] 1 11.2
        !          29180: check [expr 2!=3==3] 0 11.3
        !          29181: check [expr 2!=1!=1] 0 11.3
        !          29182: 
        !          29183: check [expr 2&3==2] 0 12.1
        !          29184: check [expr 1&3!=3] 0 12.2
        !          29185: 
        !          29186: check [expr 7&3^0x10] 0x13 13.1
        !          29187: check [expr 7^0x10&3] 7 13.2
        !          29188: 
        !          29189: check [expr 7^0x10|3] 0x17 14.1
        !          29190: check [expr 7|0x10^3] 0x17 14.2
        !          29191: 
        !          29192: check [expr 7|3&&1] 1 15.1
        !          29193: check [expr 1&&3|7] 1 15.2
        !          29194: 
        !          29195: check [expr 0&&1||1] 1 15.3
        !          29196: check [expr 1||1&&0] 1 15.4
        !          29197: 
        !          29198: check [expr 1||0?3:4] 3 16.1
        !          29199: check [expr 1?0:4||1] 0 16.2
        !          29200: 
        !          29201: # Parentheses.
        !          29202: 
        !          29203: check [expr (2+4)*6] 36 17.1
        !          29204: check [expr (1?0:4)||1] 1 17.2
        !          29205: 
        !          29206: # Embedded commands and variable names.
        !          29207: 
        !          29208: set a 16
        !          29209: check [expr {2*$a}] 32 18.1
        !          29210: check [expr {[set a] - 14}] 2 18.2
        !          29211: 
        !          29212: # Numbers in various bases.
        !          29213: 
        !          29214: check [expr 0x20] 32 19.1
        !          29215: check [expr 015] 13 19.2
        !          29216: 
        !          29217: # Various error conditions.
        !          29218: 
        !          29219: check [catch {expr 2+a} msg] 1 20.1
        !          29220: checkstr $msg {syntax error in expression "2+a"} 20.2
        !          29221: check [catch {expr 2+4*} msg] 1 20.3
        !          29222: check [catch {expr 2+4*(} msg] 1 20.4
        !          29223: check [catch {expr 2+$_non_existent_} msg] 1 20.5
        !          29224: checkstr $msg {couldn't find variable "_non_existent_"} 20.6
        !          29225: set a xx
        !          29226: check [catch {expr {2+$a}} msg] 1 20.7
        !          29227: checkstr $msg {variable "$a" contained non-numeric value "xx"} 20.8
        !          29228: check [catch {expr {2+[set a]}} msg] 1 20.9
        !          29229: checkstr $msg {command "set a" returned non-numeric result "xx"} 20.10
        !          29230: check [catch {expr {2+(4}} msg] 1 20.11
        !          29231: checkstr $msg {unmatched parentheses in expression "2+(4"} 20.12
        !          29232: check [catch {expr 2/0} msg] 1 20.13
        !          29233: checkstr $msg {divide by zero} 20.14
        !          29234: check [catch {expr 2%0} msg] 1 20.15
        !          29235: checkstr $msg {divide by zero} 20.16
        !          29236: check [catch {expr 2#} msg] 1 20.17
        !          29237: checkstr $msg {syntax error in expression "2#"} 20.18
        !          29238: check [catch {expr 2?foo:1} msg] 1 20.19
        !          29239: check [catch {expr 0?foo:1} msg] 1 20.20
        !          29240: check [catch {expr 2?1:foo} msg] 1 20.21
        !          29241: check [catch {expr 0?1:foo} msg] 1 20.22
        !          29242: 0707070035050466461004440011710000040000010747550466276614600002300000005277tcl/tests/for.test# This file contains contains a collection of tests for the "for",
        !          29243: # "foreach", "break", and "continue" commands in Tcl.  If everything
        !          29244: # is OK then it finishes silently.  If a problem is detected then
        !          29245: # it generates a Tcl error with a cryptic message.  To trace the error
        !          29246: # you'll have to read through the commands in this file.
        !          29247: #
        !          29248: # $Header: /sprite/src/lib/tcl/tests/RCS/for.test,v 1.1 90/03/25 17:00:56 ouster Exp $ (Berkeley)
        !          29249: 
        !          29250: proc check {a b num} {
        !          29251:     if {[string compare $a $b] != 0} {
        !          29252:        error [format {For error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29253: }
        !          29254: 
        !          29255: # Basic "foreach" operation.
        !          29256: 
        !          29257: set a {}
        !          29258: foreach i {a b c d} {
        !          29259:     set a [concat $a $i]
        !          29260: }
        !          29261: check $a { a b c d} 1.1
        !          29262: set a {}
        !          29263: foreach i {a b {{c d} e} {123 {{x}}}} {
        !          29264:     set a [concat $a $i]
        !          29265: }
        !          29266: check $a { a b {c d} e 123 {{x}}} 1.2
        !          29267: check [catch {foreach} msg] 1 1.3
        !          29268: check $msg {wrong # args: should be "foreach varName list command"} 1.4
        !          29269: check [catch {foreach i} msg] 1 1.5
        !          29270: check $msg {wrong # args: should be "foreach varName list command"} 1.6
        !          29271: check [catch {foreach i j} msg] 1 1.7
        !          29272: check $msg {wrong # args: should be "foreach varName list command"} 1.8
        !          29273: check [catch {foreach i j k l} msg] 1 1.9
        !          29274: check $msg {wrong # args: should be "foreach varName list command"} 1.10
        !          29275: set a {}
        !          29276: foreach i {} {
        !          29277:     set a [concat $a $i]
        !          29278: }
        !          29279: check $a {} 1.11
        !          29280: 
        !          29281: # Check "continue".
        !          29282: 
        !          29283: check [catch continue] 4 2.1
        !          29284: set a {}
        !          29285: foreach i {a b c d} {
        !          29286:     if {[string compare $i "b"] == 0} continue
        !          29287:     set a [concat $a $i]
        !          29288: }
        !          29289: check $a { a c d} 2.2
        !          29290: set a {}
        !          29291: foreach i {a b c d} {
        !          29292:     if {[string compare $i "b"] != 0} continue
        !          29293:     set a [concat $a $i]
        !          29294: }
        !          29295: check $a { b} 2.3
        !          29296: check [catch {continue foo} msg] 1 2.4
        !          29297: check $msg {too many args: should be "continue"} 2.5
        !          29298: 
        !          29299: # Check "break".
        !          29300: 
        !          29301: check [catch break] 3 3.1
        !          29302: set a {}
        !          29303: foreach i {a b c d} {
        !          29304:     if {[string compare $i "c"] == 0} break
        !          29305:     set a [concat $a $i]
        !          29306: }
        !          29307: check $a { a b} 3.2
        !          29308: check [catch {break foo} msg] 1 3.3
        !          29309: 
        !          29310: check $msg {too many args: should be "break"} 3.4
        !          29311: 
        !          29312: # Check "for" and its use of continue and break.
        !          29313: 
        !          29314: set a {}
        !          29315: for {set i 1} {$i<6} {set i [expr $i+1]} {
        !          29316:     set a [concat $a $i]
        !          29317: }
        !          29318: check $a { 1 2 3 4 5} 4.1
        !          29319: set a {}
        !          29320: for {set i 1} {$i<6} {set i [expr $i+1]} {
        !          29321:     if $i==4 continue
        !          29322:     set a [concat $a $i]
        !          29323: }
        !          29324: check $a { 1 2 3 5} 4.2
        !          29325: set a {}
        !          29326: for {set i 1} {$i<6} {set i [expr $i+1]} {
        !          29327:     if $i==4 break
        !          29328:     set a [concat $a $i]
        !          29329: }
        !          29330: check $a { 1 2 3} 4.3
        !          29331: check [catch {for 1 2 3} msg] 1 4.4
        !          29332: check $msg {wrong # args: should be "for start test next command"} 4.5
        !          29333: check [catch {for 1 2 3 4 5} msg] 1 4.5
        !          29334: check $msg {wrong # args: should be "for start test next command"} 4.6
        !          29335: set a {xyz}
        !          29336: for {set i 1} {$i<6} {set i [expr $i+1]} {}
        !          29337: check $a xyz 4.6
        !          29338: set a {}
        !          29339: for {set i 1} {$i<6} {set i [expr $i+1]; if $i==4 break} {
        !          29340:     set a [concat $a $i]
        !          29341: }
        !          29342: check $a { 1 2 3} 4.7
        !          29343: 0707070035050466441004440011710000040000010747560466276614600002400000004074tcl/tests/glob.test# This file contains contains a collection of tests for the "glob"
        !          29344: # command in Tcl.  If everything is OK then it finishes silently.
        !          29345: # If a problem is detected then it generates a Tcl error with a
        !          29346: # cryptic message.  To trace the error you'll have to read through
        !          29347: # the commands in this file.
        !          29348: #
        !          29349: # $Header: /sprite/src/lib/tcl/tests/RCS/glob.test,v 1.4 90/04/19 15:18:20 ouster Exp $ (Berkeley)
        !          29350: 
        !          29351: proc check {a b num} {
        !          29352:     if {[string compare $a $b] != 0} {
        !          29353:        error [format {Glob error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29354: }
        !          29355: 
        !          29356: # First, create some subdirectories to use for testing.
        !          29357: 
        !          29358: exec rm -rf globTest
        !          29359: exec mkdir globTest globTest/a1 globTest/a2 globTest/a3
        !          29360: exec mkdir globTest/a1/b1 globTest/a1/b2 globTest/a2/b3
        !          29361: print abc globTest/x1.c
        !          29362: print abc globTest/y1.c
        !          29363: print abc globTest/z1.c
        !          29364: print abc globTest/.1
        !          29365: print abc globTest/a1/b1/x2.c
        !          29366: print abc globTest/a1/b2/y2.c
        !          29367: 
        !          29368: check [glob a] a 1.1
        !          29369: check [glob aaa bbb ccc] "aaa bbb ccc" 1.2
        !          29370: 
        !          29371: check [glob "{a1,a2}"] "a1 a2" 2.1
        !          29372: check [glob a/{x,y}{123,456}/z] "a/x123/z a/x456/z a/y123/z a/y456/z" 2.2
        !          29373: 
        !          29374: check [glob g*/*.c] "globTest/x1.c globTest/y1.c globTest/z1.c" 3.1
        !          29375: check [glob globTest/?1.c] "globTest/x1.c globTest/y1.c globTest/z1.c" 3.2
        !          29376: check [glob */*/*/*.c] "globTest/a1/b1/x2.c globTest/a1/b2/y2.c" 3.3
        !          29377: check [glob globTest/*] "globTest/a1 globTest/a2 globTest/a3 globTest/x1.c globTest/y1.c globTest/z1.c" 3.4
        !          29378: check [glob globTest/.*] "globTest/. globTest/.. globTest/.1" 3.5
        !          29379: check [glob globTest/*/*] "globTest/a1/b1 globTest/a1/b2 globTest/a2/b3" 3.6
        !          29380: check [glob {globTest/[xy]1.*}] "globTest/x1.c globTest/y1.c" 3.7
        !          29381: 
        !          29382: set myHome [file ~ tail]
        !          29383: if [string compare $myHome ouster] {
        !          29384:     check [glob ~/.csh*] "/users/ouster/.cshrc" 4.1
        !          29385:     check [glob ~ouster] "/users/ouster" 4.2
        !          29386: }
        !          29387: 
        !          29388: check [catch {glob} msg] 1 5.1
        !          29389: check $msg "no files matched glob pattern(s)" 5.2
        !          29390: check [catch {glob a/{b,c,d}/\{} msg] 1 5.3
        !          29391: check $msg "unmatched open-brace in file name" 5.4
        !          29392: check [catch {glob goo/*} msg] 1 5.5
        !          29393: check $msg {no files matched glob pattern(s)} 5.6
        !          29394: check [catch {glob ~no-one} msg] 1 5.7
        !          29395: check $msg {user "no-one" doesn't exist} 5.8
        !          29396: 
        !          29397: exec rm -rf globTest
        !          29398: 0707070035050466431004440011710000040000010747570466276614600002700000013061tcl/tests/history.test# This file contains contains a collection of tests for the history
        !          29399: # operations in Tcl.  If everything is OK then it finishes silently.
        !          29400: # If a problem is detected then it generates a Tcl error with a cryptic
        !          29401: # message.  To trace the error you'll have to read through the commands
        !          29402: # in this file.
        !          29403: #
        !          29404: # $Header: /sprite/src/lib/tcl/tests/RCS/history.test,v 1.2 90/03/19 14:55:16 ouster Exp $ (Berkeley)
        !          29405: 
        !          29406: proc check {a b num} {
        !          29407:     if {[string compare $a $b] != 0} {
        !          29408:        error [format {History error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29409: }
        !          29410: 
        !          29411: set num [history nextid]
        !          29412: history keep 3
        !          29413: history add {set a 12345}
        !          29414: history add {set b [format {A test %s} string]}
        !          29415: history add {Another test}
        !          29416: 
        !          29417: # "history event"
        !          29418: 
        !          29419: check [history event -1] {set b [format {A test %s} string]} 1.1
        !          29420: check [history event $num] {set a 12345} 1.2
        !          29421: check [history event [expr $num+2]] {Another test} 1.3
        !          29422: check [history event set] {set b [format {A test %s} string]} 1.4
        !          29423: check [history e "* a*"] {set a 12345} 1.5
        !          29424: check [catch {history event *gorp} a] 1 1.6
        !          29425: check $a {no event matches "*gorp"} 1.7
        !          29426: check [history event] {set b [format {A test %s} string]} 1.8
        !          29427: check [catch {history event 123 456}] 1 1.9
        !          29428: 
        !          29429: # "history redo"
        !          29430: 
        !          29431: set a 0
        !          29432: history redo -2
        !          29433: check $a 12345 2.1
        !          29434: set b 0
        !          29435: history
        !          29436: check $b {A test string} 2.2
        !          29437: history redo
        !          29438: check $b {A test string} 2.3
        !          29439: check [catch {history redo -3 -4}] 1 2.4
        !          29440: 
        !          29441: # "history add"
        !          29442: 
        !          29443: history add "set a 444" exec
        !          29444: check $a 444 3.1
        !          29445: check [catch {history add "set a 444" execGorp}] 1 3.2
        !          29446: check [catch {history add "set a 444" a}] 1 3.3
        !          29447: history add "set a 555" e
        !          29448: check $a 555 3.4
        !          29449: history add "set a 666"
        !          29450: check $a 555 3.5
        !          29451: check [catch {history add "set a 666" e f}] 1 3.6
        !          29452: 
        !          29453: # "history change"
        !          29454: 
        !          29455: history change "A test value"
        !          29456: check [history event [expr {[history n]-1}]] "A test value" 4.1
        !          29457: history c "Another test" -1
        !          29458: check [history e] "Another test" 4.2
        !          29459: check [history event [expr {[history n]-1}]] "A test value" 4.3
        !          29460: check [catch {history change Foo 4 10}] 1 4.4
        !          29461: check [catch {history change Foo [expr {[history n]-4}]}] 1 4.5
        !          29462: 
        !          29463: # "history info"
        !          29464: 
        !          29465: set num [history n]
        !          29466: history add set\ a\ {b\nc\ d\ e}
        !          29467: history add {set b 1234}
        !          29468: history add set\ c\ {a\nb\nc}
        !          29469: check [history info] [format {%6d  set a {b
        !          29470:        c d e}
        !          29471: %6d  set b 1234
        !          29472: %6d  set c {a
        !          29473:        b
        !          29474:        c}} $num [expr $num+1] [expr $num+2]] 5.1
        !          29475: check [history i 2] [format {%6d  set b 1234
        !          29476: %6d  set c {a
        !          29477:        b
        !          29478:        c}} [expr $num+1] [expr $num+2]] 5.2
        !          29479: check [catch {history i 2 3}] 1 5.3
        !          29480: 
        !          29481: # "history keep"
        !          29482: 
        !          29483: history add "foo1"
        !          29484: history add "foo2"
        !          29485: history add "foo3"
        !          29486: history keep 2
        !          29487: check [history event [expr [history n]-1]] foo3 6.1
        !          29488: check [history event -1] foo2 6.2
        !          29489: check [catch {history event -3}] 1 6.3
        !          29490: history k 5
        !          29491: check [history event -1] foo2 6.4
        !          29492: check [history event -2] "" 6.5
        !          29493: check [history event -3] "" 6.6
        !          29494: check [history event -4] "" 6.7
        !          29495: check [catch {history event -5}] 1 6.8
        !          29496: check [catch {history keep 4 6}] 1 6.9
        !          29497: check [catch {history keep}] 1 6.10
        !          29498: check [catch {history keep -3}] 1 6.11
        !          29499: 
        !          29500: # "history nextid"
        !          29501: 
        !          29502: set num [history n]
        !          29503: history add "Testing"
        !          29504: history add "Testing2"
        !          29505: check [history event] "Testing" 7.1
        !          29506: check [history next] [expr $num+2] 7.2
        !          29507: check [catch {history nextid garbage}] 1 7.3
        !          29508: 
        !          29509: # "history substitute"
        !          29510: 
        !          29511: history add "set a {test foo test b c test}"
        !          29512: history add "Test command 2"
        !          29513: set a 0
        !          29514: history substitute foo bar -1
        !          29515: check $a {test bar test b c test} 8.1
        !          29516: history s test gorp
        !          29517: check $a {gorp foo gorp b c gorp} 8.2
        !          29518: history sub " te" to
        !          29519: check $a {test footost b ctost} 8.3
        !          29520: check [catch {history sub xxx yyy}] 1 8.4
        !          29521: check [catch {history s a b -10}] 1 8.5
        !          29522: check [catch {history s a b -1 20}] 1 8.6
        !          29523: 
        !          29524: # "history words"
        !          29525: 
        !          29526: history add {word0 word1 word2 a b c word6}
        !          29527: history add foo
        !          29528: check [history words 0-$] {word0 word1 word2 a b c word6} 9.1
        !          29529: check [history w 2 -1] word2 9.2
        !          29530: check [history wo $] word6 9.3
        !          29531: check [catch {history w 1--1}] 1 9.4
        !          29532: check [history w w] "" 9.5
        !          29533: check [history w *2] word2 9.5
        !          29534: check [history w *or*] {word0 word1 word2 word6} 9.6
        !          29535: check [catch {history words 10}] 1 9.7
        !          29536: check [catch {history words 1 -1 20}] 1 9.8
        !          29537: 
        !          29538: # history revision
        !          29539: 
        !          29540: set a 0
        !          29541: history a {set a 12345}
        !          29542: history a {set a [history e]} exec
        !          29543: check $a {set a 12345} 10.1
        !          29544: history a foo
        !          29545: check [history ev -1] {set a {set a 12345}} 10.2
        !          29546: set a 0
        !          29547: history a {history r -2} exec
        !          29548: history a {set a 12345}
        !          29549: check [history ev -1] {set a {set a 12345}} 10.3
        !          29550: history a {history s 123 999} exec
        !          29551: history a foo
        !          29552: check [history ev -1] {set a 99945} 10.4
        !          29553: history add {word0 word1 word2 a b c word6}
        !          29554: history add {set [history w 3] [list [history w 0] [history w {[ab]}]]} exec
        !          29555: check $a {word0 {a b}} 10.5
        !          29556: history add {format b}
        !          29557: check [history ev] {set a [list word0 {a b}]} 10.6
        !          29558: history add {word0 word1 word2 a b c word6}
        !          29559: set a 0
        !          29560: history add {set [history subs b a -2] [list abc [history r -2] [history w 1-3]]} exec
        !          29561: history add {format set}
        !          29562: check [history ev] {set [format a] [list abc [format b] {word1 word2 a}]} 10.7
        !          29563: history add {set a 12345}
        !          29564: concat a b c
        !          29565: history add {history redo; set b 44} exec
        !          29566: history add foo
        !          29567: check [history ev] {set a 12345; set b 44} 10.8
        !          29568: history add {set a 12345}
        !          29569: history add {history redo; history change "A simple test"; history subs 45 xx} exec
        !          29570: check $a 123xx 10.9
        !          29571: history add foo
        !          29572: check [history e] {A simple test} 10.10
        !          29573: history add {word0 word1 $ a b c word6}
        !          29574: history add {set a [history w 4-[history word 2]]} exec
        !          29575: history add foo
        !          29576: check $a {b c word6} 10.11
        !          29577: check [history e] {set a {b c word6}} 10.12
        !          29578: history add {history word 0} exec
        !          29579: history add foo
        !          29580: check [history e] {history word 0} 10.13
        !          29581: history add {set a [history word 0; format c]} exec
        !          29582: history add foo
        !          29583: check [history e] {set a [history word 0; format c]} 10.14
        !          29584: 
        !          29585: # miscellaneous
        !          29586: 
        !          29587: check [catch {history gorp} a] 1 11.1
        !          29588: set a [range $a 0 35 chars]
        !          29589: check $a {bad "history" option "gorp": must be} 11.2
        !          29590: 0707070035050466421004440011710000040000010750760466276614700002500000002652tcl/tests/index.test# This file contains contains a collection of tests for the "index"
        !          29591: # command in Tcl.  If everything is OK then it finishes silently.
        !          29592: # If a problem is detected then it generates a Tcl error with a
        !          29593: # cryptic message.  To trace the error you'll have to read through
        !          29594: # the commands in this file.
        !          29595: #
        !          29596: # $Header: /sprite/src/lib/tcl/tests/RCS/index.test,v 1.1 90/03/21 14:05:41 ouster Exp $ (Berkeley)
        !          29597: 
        !          29598: proc check {a b num} {
        !          29599:     if {[string compare $a $b] != 0} {
        !          29600:        error [format {Index error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29601: }
        !          29602: 
        !          29603: check [index {a b c} 0] a 1.1
        !          29604: check [index {a {b c d} x} 1] {b c d} 1.2
        !          29605: check [index {a b\ c\ d x} 1] {b c d} 1.3
        !          29606: check [index {a b c} 3] {} 1.4
        !          29607: check [catch {index {a b c} -1} msg] 1 1.5
        !          29608: check $msg {bad index "-1"} 1.6
        !          29609: 
        !          29610: check [index abcde 0 chars] a 2.1
        !          29611: check [index abcde 4 c] e 2.2
        !          29612: check [index abcde 5 chars] {} 2.3
        !          29613: check [catch {index abcde -10 chars} msg] 1 2.4
        !          29614: check $msg {bad index "-10"} 2.5
        !          29615: 
        !          29616: check [catch index msg] 1 3.1
        !          29617: check $msg {wrong # args:  should be "index value index [chars]"} 3.2
        !          29618: check [catch {index 1 2 3 4} msg] 1 3.3
        !          29619: check $msg {wrong # args:  should be "index value index [chars]"} 3.4
        !          29620: check [catch {index 1 2 foo} msg] 1 3.5
        !          29621: check $msg {bad argument "foo":  must be "chars"} 3.6
        !          29622: check [catch "index \"a b {c\" 2" msg] 1 3.7
        !          29623: check $msg {unmatched open brace in list} 3.8
        !          29624: check [catch "index \"a b {c}d e\" 2" msg] 1 3.9
        !          29625: check $msg {list element in braces followed by "d" instead of space} 3.10
        !          29626: 0707070035050466411004440011710000040000010750770466276614700002500000007103tcl/tests/parse.test# This file contains contains a collection of tests for the basic
        !          29627: # command-parsing mechanisms of Tcl (such as how braces and brackets
        !          29628: # and variable substitutions are handled)..  If everything is OK
        !          29629: # then it finishes silently.  If a problem is detected then it
        !          29630: # generates a Tcl error with a cryptic message.  To trace the error
        !          29631: # you'll have to read through the commands in this file.
        !          29632: #
        !          29633: # $Header: /sprite/src/lib/tcl/tests/RCS/parse.test,v 1.1 90/03/21 13:27:48 ouster Exp $ (Berkeley)
        !          29634: 
        !          29635: proc check {a b num} {
        !          29636:     if {[string compare $a $b] != 0} {
        !          29637:        error [format {Parse error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29638: }
        !          29639: 
        !          29640: proc fourArgs {a b c d} {
        !          29641:     global arg1 arg2 arg3 arg4
        !          29642:     set arg1 $a
        !          29643:     set arg2 $b
        !          29644:     set arg3 $c
        !          29645:     set arg4 $d
        !          29646: }
        !          29647: 
        !          29648: proc getArgs args {
        !          29649:     global argv
        !          29650:     set argv $args
        !          29651: }
        !          29652: 
        !          29653: # Basic argument parsing.
        !          29654: 
        !          29655: fourArgs a b   c                d
        !          29656: check $arg1 a 1.1
        !          29657: check $arg2 b 1.2
        !          29658: check $arg3 c 1.3
        !          29659: check $arg4 d 1.4
        !          29660: 
        !          29661: # Quotes.
        !          29662: 
        !          29663: getArgs "a b c" d
        !          29664: check $argv {{a b c} d} 2.1
        !          29665: set a 101
        !          29666: getArgs "a$a b c"
        !          29667: check $argv {{a101 b c}} 2.2
        !          29668: set argv "xy[format xabc]"
        !          29669: check $argv {xyxabc} 2.3
        !          29670: set argv "xy\t"
        !          29671: check $argv xy\t 2.4
        !          29672: set argv "a b  c
        !          29673: d e f"
        !          29674: check $argv a\ b\tc\nd\ e\ f 2.5
        !          29675: set argv a"bcd"e
        !          29676: check $argv {a"bcd"e} 2.6
        !          29677: 
        !          29678: # Braces.
        !          29679: 
        !          29680: getArgs {a b c} d
        !          29681: check $argv "{a b c} d" 3.1
        !          29682: set a 101
        !          29683: set argv {a$a b c}
        !          29684: set b [index $argv 1 chars]
        !          29685: check $b {$} 3.2
        !          29686: set argv {a[format xyz] b}
        !          29687: check [length $argv chars] 15 3.3
        !          29688: set argv {a\nb\}}
        !          29689: check [length $argv chars] 6 3.4
        !          29690: set argv {{{{}}}}
        !          29691: check $argv "{{{}}}" 3.5
        !          29692: set argv a{{}}b
        !          29693: check $argv "a{{}}b" 3.6
        !          29694: 
        !          29695: # Command substitution.
        !          29696: 
        !          29697: set a [format xyz]
        !          29698: check $a xyz 4.1
        !          29699: set a a[format xyz]b[format q]
        !          29700: check $a axyzbq 4.2
        !          29701: set a a[
        !          29702: format
        !          29703: xyz
        !          29704: ]b
        !          29705: check $a axyzb 4.3
        !          29706: 
        !          29707: # Variable substitution.
        !          29708: 
        !          29709: set a 123
        !          29710: set _123z xx
        !          29711: check $a 123 5.1
        !          29712: check x$a.b x123.b 5.2
        !          29713: check $_123z^ xx^ 5.3
        !          29714: check a${a}b a123b 5.4
        !          29715: check [catch {$_non_existent_} msg] 1 5.5
        !          29716: check $msg {couldn't find variable "_non_existent_"} 5.6
        !          29717: 
        !          29718: # Backslash substitution.
        !          29719: 
        !          29720: proc bsCheck {char num errNum} {
        !          29721:     scan $char %c value
        !          29722:     if {$value != $num} {
        !          29723:        error [format {History error %s: wanted "%s", got "%s"}
        !          29724:                $errNum $num $value]
        !          29725:     }
        !          29726: }
        !          29727: 
        !          29728: bsCheck \b     0x8     6.1
        !          29729: bsCheck \e     0x1b    6.2
        !          29730: bsCheck \n     0xa     6.3
        !          29731: bsCheck \r     0xd     6.4
        !          29732: bsCheck \t     0x9     6.5
        !          29733: bsCheck \{     0x7b    6.6
        !          29734: bsCheck \}     0x7d    6.7
        !          29735: bsCheck \[     0x5b    6.8
        !          29736: bsCheck \]     0x5d    6.9
        !          29737: bsCheck \$     0x24    6.10
        !          29738: bsCheck \      0x20    6.11
        !          29739: bsCheck \;     0x3b    6.12
        !          29740: bsCheck \\     0x5c    6.13
        !          29741: bsCheck \Ca    0x1     6.14
        !          29742: bsCheck \Ma    0xe1    6.15
        !          29743: bsCheck \CMa   0x81    6.16
        !          29744: bsCheck \14    0xc     6.17
        !          29745: bsCheck \x     0x5c    6.18
        !          29746: set a "\a\c\n\]\}"
        !          29747: check [length $a chars] 7 6.19
        !          29748: set a {\a\c\n\]\}}
        !          29749: check [length $a chars] 10 6.20
        !          29750: 
        !          29751: # Semi-colon.
        !          29752: 
        !          29753: set b 0
        !          29754: getArgs a;set b 2
        !          29755: check $argv a 7.1
        !          29756: check $b 2 7.2
        !          29757: getArgs a b ; set b 1
        !          29758: check $argv {a b} 7.3
        !          29759: check $b 1 7.4
        !          29760: 
        !          29761: # The following checks are to ensure that the interpreter's result
        !          29762: # gets re-initialized by Tcl_Eval in all the right places.
        !          29763: 
        !          29764: check [concat abc] abc 8.1
        !          29765: check [concat abc; set a 2] {} 8.2
        !          29766: check [concat abc; set a $a] {} 8.3
        !          29767: check [set a [concat abc]] {} 8.4
        !          29768: 
        !          29769: # Syntax errors.
        !          29770: 
        !          29771: check [catch "set a {bcd" msg] 1 9.1
        !          29772: check $msg "unmatched brace: 'set a  => {bcd'" 9.2
        !          29773: check [catch {set a "bcd} msg] 1 9.3
        !          29774: check $msg {unmatched quote: 'set a  => "bcd'} 9.4
        !          29775: check [catch {set a "bcd"xy} msg] 1 9.5
        !          29776: check $msg {extra characters after close-quote: 'set a "bcd => "xy'} 9.6
        !          29777: check [catch "set a {bcd}xy" msg] 1 9.7
        !          29778: check $msg "extra characters after close-brace: 'set a {bcd => }xy'" 9.8
        !          29779: check [catch {set a [format abc} msg] 1 9.9
        !          29780: check $msg "missing close-bracket: ' => format abc'" 9.10
        !          29781: check [catch gorp-a-lot msg] 1 9.11
        !          29782: check $msg {"gorp-a-lot" is an invalid command name or ambiguous abbreviation} 9.12
        !          29783: 0707070035050466401004440011710000040000010751000466276614700002700000003003tcl/tests/uplevel.test# This file contains contains a collection of tests for the "uplevel"
        !          29784: # command in Tcl.  If everything is OK then it finishes silently.
        !          29785: # If a problem is detected then it generates a Tcl error with a cryptic
        !          29786: # message.  To trace the error you'll have to read through the commands
        !          29787: # in this file.
        !          29788: #
        !          29789: # $Header: /sprite/src/lib/tcl/tests/RCS/uplevel.test,v 1.3 90/03/21 10:29:44 ouster Exp $ (Berkeley)
        !          29790: 
        !          29791: proc check {a b num} {
        !          29792:     if {[string compare $a $b] != 0} {
        !          29793:        error [format {Uplevel error %s: wanted "%s", got "%s"} $num $b $a]}
        !          29794: }
        !          29795: 
        !          29796: proc a {x y} {
        !          29797:     newset z [expr $x+$y]
        !          29798:     return $z
        !          29799: }
        !          29800: proc newset {name value} {
        !          29801:     uplevel set $name $value
        !          29802:     uplevel 1 {uplevel 1 {set xyz 22}}
        !          29803: }
        !          29804: set xyz 0
        !          29805: set x [a 22 33]
        !          29806: check $x 55 1
        !          29807: check $xyz 22 2
        !          29808: 
        !          29809: proc a1 {} {
        !          29810:     b1
        !          29811:     global a a1
        !          29812:     set a $x
        !          29813:     set a1 $y
        !          29814: }
        !          29815: proc b1 {} {
        !          29816:     c1
        !          29817:     global b b1
        !          29818:     set b $x
        !          29819:     set b1 $y
        !          29820: }
        !          29821: proc c1 {} {
        !          29822:     uplevel 1 set x 111
        !          29823:     uplevel #2 set y 222
        !          29824:     uplevel 2 set x 333
        !          29825:     uplevel #1 set y 444
        !          29826:     uplevel 3 set x 555
        !          29827:     uplevel #0 set y 666
        !          29828: }
        !          29829: a1
        !          29830: check $a 333 3
        !          29831: check $a1 444 4
        !          29832: check $b 111 5
        !          29833: check $b1 222 6
        !          29834: check $x 555 7
        !          29835: check $y 666 8
        !          29836: 
        !          29837: check [catch c1 foo] 1 9
        !          29838: check $foo {bad level "#2"} 10
        !          29839: check [catch {uplevel gorp}] 1 11
        !          29840: check [catch {uplevel 1 gorp} foo] 1 12
        !          29841: check $foo {bad level "1"} 13
        !          29842: 
        !          29843: proc a2 {} {
        !          29844:     uplevel a3
        !          29845: }
        !          29846: proc a3 {} {
        !          29847:     global x y
        !          29848:     set x [info level]
        !          29849:     set y [info level 1]
        !          29850: }
        !          29851: a2
        !          29852: check $x 1 14
        !          29853: check $y a3 15
        !          29854: 
        !          29855: check [catch uplevel foo] 1 16
        !          29856: check $foo {too few args:  should be "uplevel [level] command ..."} 17
        !          29857: 0707070035050466371004440011710000040000010751010466276614700002100000001256tcl/tests/READMEThis directory contains a set of tests for Tcl commands.  Each of
        !          29858: the files *.test is intended to fully exercise one or a few Tcl
        !          29859: commands.  Eventually these files should cover all of the Tcl
        !          29860: commands, but currently there are only tests for a few of the Tcl
        !          29861: commands.  To run a particular test, "source" the file from tclTest.
        !          29862: If all goes well the file will produce no errors and no result.  If
        !          29863: the test detects problem, it will exit with a Tcl error message
        !          29864: that includes an error number;  this error number can be used along
        !          29865: with the text of the test file to pinpoint the problem.
        !          29866: 
        !          29867: To run the entire comprehensive test suite, type "source all" when
        !          29868: running tclTest in this directory.
        !          29869: 0707070035050466361004440011710000040000010751340466276614700001600000000472tcl/tests/all# This file contains a top-level script to run all of the Tcl
        !          29870: # tests.  Execute it by invoking "source all" when running tclTest
        !          29871: # in this directory.
        !          29872: #
        !          29873: # $Header: /sprite/src/lib/tcl/tests/RCS/all,v 1.2 90/03/19 14:55:18 ouster Exp $ (Berkeley)
        !          29874: 
        !          29875: foreach i [glob *.test] {
        !          29876:     print $i
        !          29877:     print \n
        !          29878:     source $i
        !          29879: }
        !          29880: 0707070035050536761006660011710000040000011166370466276620700001300000001517tcl/mkfileNPROC=4
        !          29881: LDFLAGS=-lbsd
        !          29882: #
        !          29883: # This Makefile is for use when distributing Tcl to the outside world.
        !          29884: # It is simplified so that it doesn't include any Sprite-specific stuff.
        !          29885: # For HP-UX systems, use the second, commented-out, form of LIBS below.
        !          29886: #
        !          29887: 
        !          29888: LIBS =
        !          29889: #LIBS = -lBSD
        !          29890: 
        !          29891: CFLAGS = -g -I. -DTCL_VERSION=\"3.3\" -I/usr/include/bsd
        !          29892: 
        !          29893: OBJS = tclAssem.o tclBasic.o tclCmdAH.o tclCmdIZ.o tclExpr.o \
        !          29894:        tclGlob.o tclHistory.o tclProc.o tclUtil.o
        !          29895: 
        !          29896: LIBOBJS = panic.o strerror.o strtol.o strtoul.o strspn.o \
        !          29897:        strpbrk.o strchr.o strstr.o
        !          29898: 
        !          29899: CSRCS = tclAssem.c tclBasic.c tclCmdAH.c tclCmdIZ.c tclExpr.c \
        !          29900:        tclGlob.c tclHistory.c tclProc.c tclUtil.c
        !          29901: 
        !          29902: tcl.a: ${OBJS} ${LIBOBJS}
        !          29903:        rm -f tcl.a
        !          29904:        ar cr tcl.a ${OBJS} ${LIBOBJS}
        !          29905:        #ranlib tcl.a
        !          29906: 
        !          29907: tclTest: tclTest.o tcl.a
        !          29908:        cc tclTest.o tcl.a ${LIBS} -o tclTest $LDFLAGS
        !          29909: 
        !          29910: clean:
        !          29911:        rm -f ${OBJS} ${LIBOBJS} tcl.a tclTest.o tclTest
        !          29912: 0707070035050536561007770011710000040000011170040466276621400001400000624754tcl/tclTest&`&�ڳ&�`8&&&pPW`@&p@P����
7��P.text@&p@&p&l@&p .initAm�Am� &m��.rdata�&p&.data��7p&t�@.sdata<`<`p&�`&�.sbss@�@��&�.bssAPAPf���'�<&'��P$���0!'��诠���������![o����>< !���ď��ȏ���&&>x@ !
�'�� �!�'��௿�� ��$��(��,$&������,Ȁ&�@!�       ����(K��$��,<����A0$�\����(&�* ������,@�&�H!�$<AL$�3��(��%l��&L* A'����%�&�ί�A'��!&��'� �'��诿��<��A$��&��'��'��௿�� ��$��(��,����($&�
        !          29913: ��$��,<���A0$��$&��,�$A�����4@�!� !��%*������`��!&�����'� '��诿��4����<@%�����<@$�&�'��'�� <@%�����<@$�8��'��('��0&����ԯ�$<�3<&3Ϡ93��$<$�3AL'��8<?N$�3<$�3'�0>�$�@�!��$ >x !��0����&�'�0��,��,@$&��$����$���Џ�, �0!��(��(��������������'��<�A��($&&!A'��@<��(A$�쏈���  �*@����'��H�eAA'��P��&�����'�'��د�����B0$@�!B0$d@�!�$d��!&�������'�('��௿�� ���� �B�B� !&�����'� '�������@��D������@��DCt��8��8���i��DCt��8���8&��!'(&��4��4�
        !          29914: &I* �`@��,��,��4&�+ ��4��,��,B0��(��(�CH�B���(���,���        ��DCH&      !�
        !          29915: ��8&K`!����$�-<&�p!��0�1���8$&
        !          29916: &$&��$&1&�(<      &(H!�)0�1*@���+`��$���   !  !1(!@�!��&�������'�@'�����$�� ��������B0$& @�!&X�������� �$�(�,�0�4�8�@�<�D�H�L�P�T�X<<&Rp&1  `�/��$Ct@�!B0&�@�!�X�x�`�`��y��%CH&d&1&R�(��!&��$���������� �'�@'��௿�� ��$��(���� ��B0$@�!��$���(����(T����0T&�����'� '��Я���0��������0��,��,��L7&��L��,�       `��,�RT@�K�D��0&`�   B�@ !�R@����,���
���&�� B� !�����,���,���,�/(���,�(B���,�*4@��,�d4B���,��4����4��,�4 ����,��P B�  !�1 ����,B�&���������'�0'��Я���0��4��8��<������0��,��0��4O��4Ct@�!B0&$@�!��8���<���@���,�       � ��,�P��4CH&&�������'�0'��௿�� ��$�� ������$    !0!�������� ���      �& �       �����K����B�&��'� �'��8��<��&ȯ�&̯�&Я�&ԯ�4��8��,��0��$��('�&���$ȯ��'�ȯ��$
        !          29917: ��������������&��H�DB��@&IX�I�@X�J%K&�K�L)�e <
%�T�M�$&��&������&�1�&�$]��������&� '����&ԏ�&��1�*���Kh�,<
&�h!��0�1���/$&;�&1&�8<8�!�90�3(���)$&;!���*$&#A&1&�+`
�,$&
        !          29918: �&1&&1&�-���0������������&��!'�������������������4&����@���`������
p�&�x!�����$&���/${�&&��� ���%K&���"���$&&�����,&<&�p!��0�1���8&����(&�)&$&;!���<
        !          29919: %J�����$}�&&�������%������&��������      ������H�)P!�K$
"�
&&&����$&�������.&<&�x!��0�1��(&����)& �*&$&;A���<%k�����&�����$[�&&c��&Џ�&�0�&4�&&%&y'��������������DCt��x�����x&��#* B��x���H!&*X#%m
        !          29920: ������B0��t�����t&� !C�0#��t���&��#��p��p�!���������&9* ������h�&M`!����p&��!�����%&���������&i* �����'�&M���B���t�����t���&�`!%�������D��xC�(!��x�!&N��� $$�&&��&� (!�'����l��l@$
&����N��DB��@��l�O���&1����&&������$&]�&c$]�&&&��� ��� &T�+�&&&���@��������&@��������,�&&I���(&9&����&)&����&&���%j&���������%���&�* ,���`@������B0 ���h���������&* ������P���h&*p!��&��!�
���%�&���������+* �����'��.���B���h������
��&X`!�����(&$&
        !          29921: &���1���%i���&1&�  !�'�d@�!�������d�
�-�
��d&1&%X����d&&��d���&1����d(�!&1��&&o��� <%kЯ��,��� <%�௮�#���$&]�    ��&����<
        !          29922: %J����8�&&I$&;��0.�< &$&
��H.� $&  ��B.�
        !          29923:  �����$&
        !          29924: ��*��$&"��9.�# $& ��-��$&$�����$&{���.�| $&\��u.�] $&[��U��$&]�����$&}�������&1&���+ @����@������B0��`�����`&` !C�0#��`���&.x#��\��\
�!���������
        !          29925: * ������Ȁ&�X!�i��\&.x!�o���%�&���������&* �����'�&����B���`�����`���&�X!%m������t�JL1X&����(����%�&������ �NH�y������h�&�P!�@���@ !�       !$&��������&�(!�0!��ĎD<<��$�0A0$�$&���b������%.�n�SP`$�o�M&�* �*��[� ����d�F���������į������n��&ȏ��&��    ��[�+�s`����&�1�&�����J<�Q@�@<�HD%&�XD�LL$&��&��$�YL�I �DB��@&NX�N�@X�����&ȍo�����čd&�� �������     ��&��Q�(��������'�&����B����'��.���B��K%o���O�M�4���$&A������#$&&& ��&�(!�0!���$&&<%�L�L���$&!<       %)p�I&NX�N<���$��A0&DX$&����OL1�&���&�����$&&A��HL1�$&�L��&�������$&
        !          29926: !�N%�&�K&�&��������<
        !          29927: &MP!�J0�1H��$&;&��$&
        !          29928: ��Y')&�I&�&��<&nX!�k0�1o�����$&;���'��`��L���C�$
        !          29929: @�!����Ct��T�����#��T��&�'��d��L��T)!) $(��T'��l��L�OL1�� �DCt@�!*�2 
�F�����L<��T$��'�&��A0���F�����L<��T$��'�&��A0��    ��L<��T���$��'�&A0����&��'�&�IL$&��&!p$�NL�KL$&��&ax$�OL���k��&�(!�0!�����H��H��&�H�X��$&
        !          29930: &��H%�����H��H��&�.�+��$&
        !          29931: a�������D��D��$&
        !          29932: &��D%X&��D��D�� $&
        !          29933: !�������H&�X#)a= ���%��į�H��D��H&
        !          29934: �#+&G ��H%�F��D��D��H��D���A0'��t����D��H��D<���&�@#��$�   ��&o8#A0��$
        !          29935: &�����&��<��$��(��,��0��4��8�'�&�'��د���(��,��0��4������(B0$@�!��,���0���4��9P��0P!&�������'�('��Я���0��4��������0��4�P��/�PB�  !�P@�X�9�YB�  !�R@��&���������'�0'��ȯ���8��<������8�L1��+��8<$�       0�$&��(��('��x��(��(Ct��0��<Ct��0@�!& !B0$�&��,��,��(CH��,��0��<CH&* !��8<��,$�     <9$&�L5l�L��8<��<$� H9$&&�������'�8'�����$��H��L��P���� ������L����H�!�� �8��LC|&$@�!`�9���H�  �)��H�QC ! �!�1 ����P`8!��H<$�    T�$&��0��0���$&1�(!��LCt��4��8��H�!�� �/���L��4C�&$@�!`��8!��8 �!�1 ����8&��$�������� �'�H'��ȯ���8��<��@������8�$� !
�$N !��<<��8�!�90�3(��<%*&��<��<<
�l&�h!��0�1������<����8(!�0!U!�0'(&�0�  ,%*&�
        !          29936: ,�,�$&l* �,�,�
(x�&��!��<Ct��(��<��($&
        !          29937: @!�  ��!
��(%K����(��<��($&
        !          29938: &�h!���������(  !)$�&�$��<��(D��8��(@!���@$&��!!�
        !          29939: 8��,��<�8��@��8��<8!y4�&��$��,�8��$&�������'�8'�����$��x��|���������� ������|���$&&� !�'���@�! �$&�%� !��|�%0!y8!���������k����Ct��l��k$&a!@�����l�DC�'���@�!@8���$&a$&a      ����<��A0$�      �m$&���$&������Ct���@�!��@0!C�'��`@�!`    ����<�A0$�
        !          29940: $S$&�����|�%        �0!L�����|�     �$��E��k$&c!>�����l�DC�'��h@�!@6���$&a$&a    ����<��A0$�
        !          29941: �*$&���$&�   �,�(��&؈!� !��� !�%�@�! $&����Ct@�!&E&)  !����$�%CH!��k$&eA1�����l�dC�'��p@�!@)���)�      ����<��A0$�
        !          29942: ��$&���$&�'��x����� !�@(!@�! �$&�%� !��|�%�$�!��k$&i&&�����l�$C�'��|@�!@&���$&&$&&   ����<�&A0$��$&���$&A!���'�L�d7�0!@�!��X�����L���     ����<��A0$�L�$&��X�$8* �$��X�       $��X��l��P�$�
        !          29943: ,��X&Kh!&�x#%�&��T��P��X* G��T�    $& * ��T�$&Kh#��T��T�(p�&��!���\��\Ct��l@�!&H!%*   ��l��\C�$
        !          29944: ��\��\`��l%�&��l��\%�&��\����T�(@�H!�$Ct��l@�!&RX!%m        ��l��P��T%�&%�&��T��P��P��X* ����lB0$�&��\��\�   $
        !          29945: &�
        !          29946: ��P�
$�,��X&mx!&�p#%�&��T��P��X* n��T�
        !          29947: $&** ��T�
$&mx#��T��T�(��&��!���H��H�*@H��X��P�0&mx#��\&�0#$�&A0'�����\%���\��HC�$
        !          29948: ��D��D��D��H&      P#%K&��@��\��H��@D���H��@&�x!��H��\��@&��!��\��\$   �(��\%K&��\����\��HCH��\Ct��\@�!&�p!��\��\$
        !          29949: ����\'8&��\��P��T%  &%K&��T��P��P��X&�* ����\����&�!��k$&k�������l�$C�'���@�!@����$&&   ����<�A0$�`&�$&���'�0�$7�0!@�!��<�����0�mM��<)�� � ����<��A0$��&|$&��<B0 ���,��<�$&�* �,��<H#%+&��4��4A��4�$&�x!��4�,%�&��4��8��8��<* B��4�$&+* ��4��8�
$&M* ��4�(��8H���,   X!`��a�j&��!�!�*��4�
(p�&�`!��B0$(��8��,H�@�!& P!�R��8��,x�/h!������8��,H�$(     P!�L��8��4%y&%�&��4��8��8��<&�* ����8��8� $ * ��8�(
        !          29950: X�&��!�/���8�
(@�&��!�B���8%*&��8��8�$&�* ���(B���,�(��<�$&�* ��<%����,�$'    ���     ,��<�
        !          29951: $�!��k$&n������l�dC�'���@�!@���$&!  ����<��A0$���$&�0�'���A0$�&�!��k$&r�2�����l��C�'���@�!@*���)&  ����<�A0$���$&���$&!'�������R !�@(!@�! �$&�%� !��|�%0!y8!���k$&s�4���<��l�dC�$��@�!@+���+! +!      ����<��A0$�i$&���$&�'�������� !�@(!@�! W$&����%��� !O��k$&w&@�����l�$C�'���@�!@8���$&A$&A     ����<��A0$�D4$&���$&a'�������2 !�@(!@�! "$&����%�� !��(��(�$&��(� !��(�
$&�!����<��A0$��$&&��$�������� �'�x'��Я���!��$��0��4�� ��4�$��4B0 �@�!�(��,��,��4&�*  B0$(��,�(H�@�!)P!�Q��,�(h�&mp!������,�(H�$(&       P!�X��,%�&��,��,��4&�* ���,�0<@$�(� !'���8!��&��$���� �'�0'��௿�� ��$���� ��$��&�* �� �$B���$B0�� @�!���$�� �I&�����'� '��د���!����(��,������(�!��4 @��8* ��((* �     �)�
        !          29952: �*��+�$B���,B� !3�
�.&�* ��8* �B�B� ! ��((*  �!�1 ��@��(�*4�
        !          29953: ��(�p4�L��P&���������'�('��د���!����(��,�����<��8�"B0$@�!�<�8@#�(�        @�
        !          29954: 8&*X#%l���,��,Ct@�!�2�$B0$�&@�!�2�$��,CH !J (!&���������'�('��ȯ���!����8��<�����<��8�O�<��0�@��,��0�    8 B��0%K����0��0$&[�����0<���!�0�3 *����,$&]� ! B0$@�!��0�8&K`#�,��,�8&�x#�/��<��$$&u'�$@�!�2�$Ct@�!�2 !J (!&���������'�8'�������!��$��H���� ���4�f�,�(��&��!�DCt@�!��4�4 �(�)��4&     P#&j`#%�����4��4�8&�x!��4�1 ����4B0��<��<��8��0�4 ,�(��0& X#��,��,@�L��0��8��,D�&�(!��8��,&�x!��8��8�%�&D���8�((H!��8�+%j&��0�$B�B�  !�1 ���L��0��8CH&�(!�DB���<�N��4�X�4&��$�������� �'�H'��诰��!�����8�4��4��B��4B��4��4�4��&�����'�'��ȯ���!����8��<������<<���!�0�3 $&-�M��<'�,7D0!��4��,�      �<��<A0$��u!��4A��4�0&lh!��4��4�0* �<��<A0$�
_!�0�$��4&�H#&9*  �<��<A0$�
(O!��4�0�
,&K`#&�p!��0��0&��0�$&�H!��0��0�(
        !          29955: X�;+!��<Ct��$�
,%�����0��0���0�$@!��0��0�
        !          29956: ,*��0�(h�-�!�$��<��$C�@�!@�$��<}@ !��0%����د�0�<��<A0$�
P!&���������'�8'�������!����H��L��P��T����PCt��4��TCt��0��L��D��8��D��P88��D��D���D��4@!��D��8%*&��8����8`�<��PA0$�
lP$&��LCt��0��4��8&�p#&�@�!�8�!��,��,B0$�&��<��<��@��L��P88��D��D ��@��LCH��L��D��@&@(!D�&j0#��D��L��@&�x#&��!��@��@��TCH��@��0(H!��@��D��4&j`!��L����<� !��< !0!y8!��(��<B���(&�������'�H'�������!����P��T��X������,��8$����4��X$&$��&
��X�(&&$    ����8^��X<�K&�`!��0�1��Q��X'�H7�0!@�!��8��H�����8��43��H$&-�(&-��H%*&��H��H$&$�l���H%�&��H��H<��8�!�90�3(   ��H'�H7�0!@�!��4���H�*@���8��4&�* $&������X��,��TCt@�!B0&D&��L��L��@��T�/<�!�0�3 
        !          29957: &1&�(<  &(H!�)0�1*@����0�+`n��H  !1(!��D��D�,<
&�h!��0�1��
        !          29958: &1&�/<�!�0�3 ����8��0&(* $&��&�*@?��4$&��a��0&l* 4��,���D����#��D���H��,}��$��#��D�9��$��@��LK��@$ ����@%�&��@��H��D��@(!D�80#��D��H��@&(P#&j`!��@��0%�&��0�/�����@� ��4��0  * ��8&     * ��LB��<��XA0$�
�
!��L
        !          29959: �<��XA0$�
�!&���������'�P'��ȯ���!����8��<��@��D������0�<&�x!��0�1�
        !          29960: &&�<&@!�0�1   ���
        !          29961: $&{A$&��0&&��L���0��L���!�2���0���0'&��0���0$&&&G0H#��,&1&�*<&jX!�k0�1l��-�y��$��$���!<�!�0�3 &(&�+ ��$%*&��$��$�l�<
&�h!��0�1��&8&x+ ����8(!�0!��8��$<�$$�� 8!A0&�0#g$&��0��0%*����07  !�'� �� ,�!&1��.��0�0x#��,)$��0`��8<$���0!?$&0�#��,@��$&  A��$&
        !          29962: A��$& A��$&\A��$&{A�p$&}A�w&1&�g�9<&�p!��0�1�
        !          29963: &1&�)<
        !          29964: &IP!�J0�1L�����@����D����H`��,��H�8!&���������'�8'��ȯ�����!��!��$��8��<��@���� ���8� $&\A !�'�0@�!�3��0�!&����8��0@#%        &��8�2��8�&&&%K����8&1&��8���� &��$�������� �'�8'��P��$���������� �������)� '�`��\���B0 ���\��X��D��D���* ���4��8��<��@�!��,��0��D���     P�&
        !          29965: X!�p�$&{�6R�
�6R&��J��@%�&��@��<'&��<v��@%(&��@��<%K����<l6R&��0%�&��0e6R&��,%�&��,^6R&��4'&��4W&&�         R�$&{&
�
        !          29966: $&}A      �$&[a�$&]�6R&��8%�&��899$&\a��.a] !$& a��.a! $&     a��.a
        !          29967:  `��!$&
        !          29968: a��$&[a��.a\ $&$a��$&{a��.a| $&]a��$&}a��&�}&&��D���Ȁ&�H!�(��XP#&j`!��X��<���@��8��4��0&�x!��,&�H!��X&(X!&j`!&�p!��X$2X&��X%���X��X%(&��X��D��\
        !          29969: h�&m`!����D%�&��D��D���&�* �0��XB0$�&��T��T��D��D���&(* ���D��\h�&M`!��2N&�${�8&1&��D���H�&�@!��`u2J@i�5$
\�-&1&a$\�,&1&$n�.]$\�8&1&$t�9V$\�/&1&&&�    $&{!
�$&}&       �$&[a�
        !          29970: $&]A$
\�-&1&��=2$&\a��.a] $&$a��.a% $&
        !          29971: a��.a $&        a��$& a��$&[a��$&{a��.a| $&]a��$&}a��&��.&1&&&���2Y& $}�/&1&$    �)&1&��D%&��D��D���&M* �d��T,� � ����\'�`���\B���T&��$�������� �'��'��ȯ���8��<����$&��4��0��0��8&�* ��0��<H�)P!�DCt��4@�!&q`!%�&��4��0%�&��0��0��8* ����4B0��(��(��0��0��8)* ��0��<`�&Lh!��CH !��0��<��&�@!�Ct@�!�!$ �&&��0%+&��0��0��8&L* �������(&�������'�8'��ȯ���8��<��@������8���,���(��<�X&X��/��@��<� �%��@$&&A��<�$&���<Ct��0��0)�� 
        !          29972: ��0B0$�&@�!�$&�&X�����<CH��,��(B�&�������'�8'���$�&$�����$��&$���$
        !          29973: ���$
���$         ���$�&��<&jX!�k0�1l����$C��$&���$����$&M!$�&��<       &(H!�)0�1*@��`$
���$
����1�5�����$����1 ���$�&��<&jX!�k0�1l����$M��$&���$����'(�����������<&jX!�k0�1l�-��%��У�$�&��<�!�0�3 ~$������     P�&K`!%��У�$�&��<&�x!��0�1�k$������H�&*X!%l�У�a$
\��$&��[$&]���,�^ -$&C��c,�D $&$���,�% $&"���,�# ��$& �����$&;�����$&[���,�\ $&M��|��$&\�����$&r��/,�s $&e��!,�f $&b����$&n���$&{��w,�| $&t���t$&}��l�o�m�������&�'�'�������@��D��H��L��$&��D��4���<8�!�90�3(��4%*&��4&&�`����4��Dh�x#&� !B0$�&��<��4��<@���0�!��D�*@P��@��D'�('�$����'� L'�D��,��,���<B���,H�� ���4��0��48* ��@<$�d�0!3$&��0��< P�&
        !          29974: X!�p��$��� ��(D� !��(�!�&&  ��(�� ;0!��(
�!&&��0%�&��0��D�    ����<��L�H��0��H��!&�����'�@'��د�����!��!����(��,�.�       ���$&�!��9$&*!�!�($&*&&1&�) �$&�
        !          29975: @
 !} (!@|$&&&�`��u!�,$&?�i�-$&[�S&1&�.$&]��/�`!�8�.�(&$&-&'�)��'��'@L!�+�&�+   ��'�&�+ �/�&�+  ��'�&+ &1&1&���)$&]!�*@
        !          29976: &1&�+$&]a�,����-$&\�&1&�.�!�/��!&1&&&�\&�������'�('��د���(��,����(�<&�x!��0�1�
        !          29977: &&�<&@!�0�1   ���
        !          29978: $&"A&&�$&\a !�'� �� �!�
$&\����$&"���8�$&{�4$&���� .&&�$&\& !�'� ��     �!�
        !          29979: $&\A���$&}a��%������$&{���%�&��� k!�����        $&[!$&&�
        !          29980: $&]A�` !1$&@�!�$&;�&&�
$&]������$&]�&&�$&[&���$&\!�&$&
        !          29981: && !�'� ��       �!�
        !          29982: $&\A���$&;a��(&&�
<&�p!��0�1����$&]!��,&&��!&�����'�('�����,��h��l��p��t��(�� ��$������l��p$&�      ��t�<��A0$��$&B0$@�!�0��t�Ct@�!B0&D&@�!�3��t�$�%CH� ��t<       @�%)w���l<@$�s௩ 8!��t��l�E'�X�'�P��\��\`��\���T��T��X&�* ���T��P��&��!�%��l'�D�'�8��\��\���D)! ��T��P`�&Lh!���<A0$�D$&��\o��D�       ��8��(��t�<�&A0$�t$&��\Y��8�DCt��@��D$&� ��8��Ct��<��<�/���@��<&� !B0$�@�!�4��@��<( !B0$�@�!������8&��%CH��D$&a
��@�`!%�����8����CH����<��������8B���T'&��T��T��X&   * �v��PB�       !��PB���\&��,������ ��$��(�'�h'��௿�� ��$��(�� ����(����  ����$
        !          29983: $�������$� 
        !          29984: ���� !���K1l�����������3 !���&��'� �'�����$��@��D��H��L���� ������@��L��O �&Q�Q ��D
        !          29985:   !@�!��D��HE@�!�8��0.�3(���HCt��0��0�
        !          29986: &I* �1l&��B���0B0$�&@�!��
5�&���0����HCH�$&��&�$�&��$�������� �'�@'��د���!����(��,��0&&�$&{�&&&��$�$&}��
        !          29987: &&�$&}!�����0 
�
        !          29988: @��0&&����0��(��$�<&�x!��0�1��$&_!&&�<    &(H!�)0�1*@���$&_a����0���0����$ '��В��#���(��$�0!������((!�0!��(<��$�$A0$�D��#���&�����'�('��௰��!���� ��$��(��,��($&���, !���0!����   ��,�<�&A0$�d$&���!��($&!     ��, !�E�F98!!��,�<�fA0$��$&&�����'� '��Я���0��4��8��<������4��8)�      ��<�$<��A0$��Q$&�8 K!��8��<'(��%*��<��8��8`=��<&$��
        !          29989: ��$��$���<'��ԍ�E��$�/��$���$�9��$�  5*�
        !          29990: ��<'��؍dE@�!�5��
��$��/ ����9 �0��8��<%*��%��<��8��8���!&�������'�0'���������������������������)�       ����<��A0$���$&������l��l$&#�       !��l'�p$
        !          29991: 7�$�&@�!��x��l��p%l&L�M�����%���������'���F��l<�  &iX!�k0�1l�(��l'�p7�$
        !          29992: @�!��x��p��lM�N��� ��� ��x�(H#��x���%l��������%����� �k� ��'����x���%  ��������%l����
 ��h��x@� "��h��d��d���d��x�(
        !          29993: ��d�+��d��d�����d�5��d�
        !          29994:  �����\���$&&�
        !          29995: �������0!y8!��t������(��\�����\0!y8!��t��t$&&!
        !          29996: ���<�$�(A0'� ����'� ��h�       ��t
        !          29997: �<��lA0$�D$&&�������'��'��௿�� ��$�� ��$ !0!�����!��<@��'9s�!���&��'� ���<@%�s����!&�'��௿�� ���� ���1�&�B�B� !���&�����'� '��8����!��$��ȯ�̯�Я�ԯ� ��������������n �    �o ��'&���$&����������������k����l ���'���m'���n ��ԏ�Ў%�'(����Я�� S�) &$C|'���@�!����A��Џ�Џ��u������E&$@�!���B�����K������1�������������/��8�����Ԏd<�'$�XA0&&$&���Q���E&$@�!����I�����ď�Ў1%K%�����Я�� ��������Ԏd<��A0$��$&���2��̎0!y'��������$&!���%���$&&&
���<�g�&$��A0'�,����'�,���$&A<%kȮk$&���
        !          29998: ���$&�<%��n$&������@�X3& �DB�B�@ !�R@������h����i ���&��$���������� �'��'��د���!����(���B�� �.1�&��$B�B�  !�1 ��B� !&�������'�('��ȯ�$��8��<���� ������<����8�!�� �8��<C|&$@�!`�9���8�      �)��8�Q
        !          29999:  ! �!�1 ��!&��$�������� �'�8'��د���(��,����(Ct�� ��,Ct����)� $���� �� !B0$�@�!��(CH&�� H!%*�
        !          30000: ���,CH������!&�����'�('��诿������ ��$�� $&&�
        !          30001: ����$<���A0$��$&$&��'��'��X���������������������)� ������<<���$��A0$���$&����(���������'���$C|@�!$
        !          30002: ���$���������&�* �������%�&�
        !          30003: ������<�$�A0$�8�$&������
        !          30004: X�&+`!���-��.<&�x!��0�1��9$&\!&1&�(���*@'������`�&,h!��$&d���&� !C|'��@�!���'&���������
        !          30005: X�&H!�%���}@���%�&���J>��������&��!�%���'���'��������@���^���������&* ������h�&-p!�����}@���%�&������'*&���������&* �����B�������&�* ���%����������&�* �e���  ������X�&K`!�����0!y8!������$&&!���������x�&��!�<�'$�`A0'� ����'� ���!&�������'��'��௿�� ��$��(��,��($&�
$&�
        !          30006: ��$��,<���A0$�x $&��,��$�%0!y8!����($&&��$��,�&�E8!9&  !��$(!�0!��$���dA0'��!&��'� �'��௿�� ��$��(��,����($&&�
        !          30007: ��$��,<���A0$��$&��(��,$���($���$@�!�0��$$&�(!&�����'� '��诿������ ��$�� $&&�
        !          30008: ����$<���A0$��$&$&��'��'��௿�� ��$��(��,��$����($&�
$&�
        !          30009: ��$��,<��&A0$�$&��($&&��,��$�%����KL5l�LL��,��$���$$&&��'� �'�������`��d��h��l��h)� 
        !          30010: ��d��l<���A0$�8/$&��h$&!
        !          30011: ��l��d�0!y8!��\��h��l$���($���X��d��X0!y8!��\��XB���\$&&!
        !          30012: ��d<�F$�lA0'���d�'���\&��'�`�'��������������������'����쯠�$������������$&���������&** Z������h�&mp!������������@�H!�*$&<�L��K&`9���%�&���������&�*         ���<����A0$��$&������   `�&P!�K��쏭�%�&���������&�* ������     @�`!�������%m&���������&�* �����')��������'&���������&L* �����%m�����������Ȁ&�H!� ���       ���<����A0$��&�$&������E*��������&�$&$��$
��$��$����ԯ�د�̯�Џ��Ct��菹�+! 3E4'��@�!&����8l���@�!<����$$��A08!$&���&@��؏�쏦�E@���@�!����8l���@�!<�D$�A00!$&���&)���EH$�����R<$�TCH'��D�'��'��$&EP0!��ԏ�������8l���@�!<�����$�dA08!$&���&��ԏ�쏦�E@���@�!����8l���@�!<�$$��A00!$&�������(!D�0!@�!$&��&EX'��@�!$&��!����8l���@�!<�$��A00!$
        !          30013: &����E4'��@�!&���<�����A0$�$&����E`������$&�������8l���@�!<�����$�4A08!$&������� ?���=�(!@�!$&��&���=�$&@�!$&��!���=�$@�!$&��A<        %)d��(��(Ct@�!��Џ�(E@0!El$&���EH���EH���EH������E{���<�$��A0'�0Ct'�0@�!0!$&E@'�0El$&���EH$����ԏ��EH$
        !          30014: ����Я�௠�$����ď�܏��&mp#)�d  ����$ȯ�����    �@��܏��B0��$���       ��䏥$���C����B���$��䏫���܏�䏤�&�0#$���F&�(!��ȏ�����������8l���@�!<����$$��A08!$       &���������P!�������䏭�&�X!�`��䏯������$&�9���$&��&+F '���� �� $&��&
        !          30015: ���<�DA0$��$&���
        !          30016: �� ���������$&�1�����<�$A0$�$      &��ē����ď��$&��&���EH���$&��A���EH���$&������EH���$&������EH���&���������'��'��௿�� ��$��(��,��($&�
        !          30017: ��$��,<���A0$�($&��,��$�%=n'�������
        !          30018: ��$���$A0'��!&��'� �'�������X��\��`��d����`$&�
        !          30019: ��\��d<���A0$�T&�$&��d�$Ct��P��d��\�*���$��d$&d�*�Ka+��P&@ !C�'�� @�!$��$D�$/��T��T���\'��(����T��$���\'��,���T� ��\��$�$��T$/�K&�!��d$&r�����(��P)� #<$��&� !C�&�0!@�!��$D�$.��T��T��\��$�$��T� ��\��$�$��T$.�(&S!��d$&e�j�L�'��P)� "<$��&@ !C�&�0!@�!��$D�$.��T��$D�$/����T����&�+ ��\��T�$&%!��d$&t��(&��P  !C�'��0@�!��$D�$/��T��T ��T��\$�$�&��\��$�$&&!��$`�$&��d$&r���N�"��P)� <$��&@ !C�&�0!@�!$
��L��$��LF,@�!$&��&��\'��8���\'��<�9�!��d$&w�l���
<��P$��C�&� !@�!$
        !          30020: ��L����d$&e����&��P)& 
<$��&� !C�&0!@�!$&��L����d$&e�+�n���P)� &` !'��@C�&�0!@�!��L����d$&o�O��&��P&� !C�'��H@�!��H<��d$&i���!��P)! & !'��PC�& 0!@�!$&��H$��d$&i�l��A��P+& 
<$��&� !C�0!@�!$��H��d��\<�&�'��A0$��A$&��$F4'�(@�!$&��&��\'���(5!��HF<��2@�!X&-k&��L��.1L�9��/&��L��.1��9�@/9&��L  ��$&&&��$&&����L��\'�������\'����K!&�����'�X'�������`��d��h��l��h$&�
        !          30021: ��d��l<���A0$��{$&��l��d�%0!y8!��\��\��\$&&!��d<�$�ԏ�\e��l��d�E=n'�X��\��\`��\X��X�@��l��d��0!y8!��\��\$&���\��\���\$&&&
        !          30022: ��d<�&$��A0'���d�'���l��d�0!y8!��\��\$&!��\@��\$&&a��d<�$���\����\$&���\��\���d(!�0!��\&��'�`�'��p�����������������$&�
        !          30023: ������<���A0$�$d$&�������%'���'�����������V���������&** ?���������
p�&�x!������e98!�������0!y8!������  ���$&&������$&!������$&&A���<�f$�\A0'�����'�
���%�&���������&�* �����B�������(!�0!���&��'���'��X��$���������������� �����������X��T$ǯ�P���+! 
        !          30024: ������<��&A0$�xo$&���%K��H���%�������������A'�|��L��\��t��x�$&%&.��l�!�$&%! ��  $&\! !�'�<@�!�S��<
        !          30025: �!��K&&&R&�$&%��
�����lNx#��p$&��L&��&$&%!      ��l$&��p$       &��L&&�$
        !          30026: %�*&1&&&�$&-a$-�,&1&&&�
$&0�$0�.&1&&&�<�!�0�3 A� !��x&&�<    &(H!�)0�1*@���$&*a����&���H��A���x���%��������H'��H&&��x��x  !A0'����) &1&�*@���$&.a$.�,&1&&&�
<&�p!��0�1��A� !��t&&�<8�!�90�3(���     $&*!���@&���H�dA���t���%��������H%���H&&��t��t  !A0'���9 &1&�(��� $&#!$
        !          30027: #�*&1&&&�$&la&&��,&1&� ����&W�|��H'�4��7D0!��l��H����4�(
        !          30028: �����H<�$�FA0$��&@$(��p���H����l��H��Ct��p���H'�0��7D0!��l��H� ��0�   
        !          30029: �����H<�D�fA0$�&$&��p���H'����D�'�`@�!$&&a
        !          30030: �����H<����A0$�0�$&��\$&@��p��t)& ��p��t&*X!��pm���<%�h������<���A0$���$&da��.ae 1$&Oa�}.aP $&Fa��.aG $&Da�q.aE `����$&Ea����$&Ga����$&Xa�].aY $&Ua�W��$&ca�~��$&oa�M.ap $&fa��.ag $&ea����$&ga����$&ua�7.av $&sa�P��$&xa�,�������%��������H'(��H&&��x��p&I* ��x��p��T��p��P&�p!&�* !��T��p@!H@��(��(B0$�&��,��T@��X��,��TC���P$&�a��XB���,��X��(��P��L���X��T��l��pC�&�(!��T��p(H!��T��X��T&K`!����\�
        !          30031: ��X��T��`��d'�|A0&� !��X��T��l'�|A0 !��X��TCt&   !��T@�!&SX!��T������X�������P���9��/&/&�!������<�$�FA0$���P$&�a��XB�$&&��$�������� �'��'��Я���!����0��4��8��<��0Ct��,���,��8&��!@!% ��(��(�&j* &�h@������(&�* ��(����B0�� ��� �C�� �B��� ���� $
        !          30032: &�
        !          30033: ��&lh!��$����$$ ���$'(&��$�    %*&�
        !          30034: ��$��0CH��$��,&lh!��$��$��4��8D���$��8&��!���8��,�
        !          30035: (H!&IX!�&�����'�0'��H�������������į������������������ $&/!!$&{!�������$&}!�������$&*!
        !          30036: $&[!$&\!$&?!$&�����&&��� p������<  %)$�I&_$&���Ct@�!&K&������)�� '�̯�����B0��ď�����&��#�����ď�����D��������$&}!7&&��ȏ��� $&}!�
        !          30037: $&,A
        !          30038: &&�$&}a�$&,������
p#�����ď����ȏ��D�&� !��ď��������(H!&* !CH$�&��������ď��(�@�!@&$&�$&}a�����)�� ���B��!��������F4'��@�!@���$&@1����!���=�����������8l���@�!<����$$�HA0@8!�$&���Ct������H#������)A� '�&������B0$�&������������D�������&�p!��������=��������Q���$&.�!        ���$&.�   !��������}$�@;�
        !          30039: @      ��������ąf(|%e/��������&�x!%�+&� '�&௹�     �������*&
        !          30040:  !B0$�������������'��`A0$����������(�&&������'�&�m���B����������'�&����B����P�  ��������� (!(|0#@���Ct�������P#&*X!%m������)�� '�$������B0��쏤쏥�CH�����쏸� (!0#D�&� !��쏪�$/&*X!�h����쏬�&�p!���������쏧�(�&&������'�$����B���� $&!&���������'��'�������@��D��������4��D$&~�����D���D$&/�&! Fd'��p��<��<     ��@<��D�$A0$�p{!��D&&E��D&&�
        !          30041: @�$&/a
        !          30042: &&���
$&/�����Dx#%�����8��8���h(* ���h%*����8��D���l��8C�$�&���l��8&lh!�����lF@��,��,�        ��@<���l��A0$��9!��,���<$&��4��<Ct@�!Ct !@�!2H!��8��8���h&K* ���l<
%�AP����lB���8%�&���h���hB0���l���l��<CH���lF�(!��4F����l&���������'�@'������&��&��&��&'�)���$ǯ��������$&��$��$��&(* >��$��&
        !          30043: X�&+`!������$&~�����&��*�����S$&��$&/�(&
        !          30044: ����&'��x'��(�$�&�� ��&��'��|(�'�� �� @,��$%+&��$��$��&&�* ������
        !          30045: ��&<��A0$��$&�� ��� 
        !          30046: �����&�H��&$      &�i��&�����CH
!�������B��� &��'�&�'����������������������������l���+&    ���<��l�$A0$�X�$&����   ��|���%K��������%�������$&t����&Ct&� !���@�!�$0!C�'���@�!        ���%   ��������%K����������������x���'������'(�������� '��ԯ�t'���$&e�l���Ct&� !���@�!��0!C�'���@�!        ���'��������'(������$&&!������K��t��x��p�����|=n'�d��h��h���h ��d���t��p�����p0!y8!��h��h$&&�
        !          30047: ���<�&$��A0'� ����'� ��h&�������'��'�����$��H��L��P��T���� ��P)� 
        !          30048: ��L��T<���A0$�H�$&��T�(��D��T�$A���<��T<
�K�l&�h!��0�1����<�
        !          30049: ��L��T<��&A0$���$&��P$&&F��< ��L��D'�8'�4����'�@L'�D��0��0���0k��<%�����<��<�����8+&� 
        !          30050: ��8B0$�&��L@�!�0��L$&�(��4@��L��@��8�eC���L��8��&�x!����L��8��@�;7��P$&!1��T�Ct��T@�!�$0!C�'���@�! 
        !          30051: ��L��T<�D�fA0$�� $&��DCt��8��<��8&�* ��D��<��L&��!��  �9��L�K�`&�U!&��$���� �'�H'��P������������������������)�        ����<��A0$��/$&�����(�������$Ct������$&aA0�������dC�'���@�! (���$&�     ����<��A0$�(
        !          30052: $&��� !����������        ����<�A0$�X�$&�������(������=���$&b!(�������DC�'���@�!  ���$&a     ����<��A0$���$&��� !�������������������!���$&c!!���<����C�$��@�! ���)! ���$&A     ����<�fA0$���$&��DA0'����!���$&c�#���<�����C�$��@�! ���)� ���)�      ����<�A0$���$&$�������&����$&d![�������DC�'��@�! S���$&a     ����<��A0$�0b$&��� !�����������W����������� 
        !          30053: ����<��A0$�pD$&�������$C|$�@�! ����K`���������� !98!'���        ��� !��'��98!'���!!����(�̯�����$&e!,�������DC�'��@�! $���$&a     ����<��A0$��$&��� !���0!��4��4��$1��$0��   � &&�!���$&gA�������dC�'��@�! ���)�        ����<��A0$��&�$&�������&���$&l�+�������C�'��$@�! #���+! ���)&  ����<�&A0$� &�$&$
        !          30054: &���� `���� ���������$&l����������C�'��,@�! }���+& x���$&!� '��4�        �
        !          30055:  ��FA0'��8&|!���$&aY���'�,��7D$
        !          30056: ��0�����,�����        ����<�&A0$� 8&`$&��0
�     ��� ��0�l&Lp!��0��0�&J!�
 ��(��(��(��0�(     
        !          30057: ��(�j��(��(�����(�����(����u@�!�$
&�
& !����<�A0$� L&$&���$&p!�������C�'��<@�! ���)!         ����<�fA0$� |�$&$
        !          30058: �������F���$&t����<�����C�$� �@�! �CH'��D�!���$&v�'�������C�'��H@�! ���+!       ����<�A0$� ��$&����         �����
        !          30059:  �L���
        !          30060: ����<����A0$� ��$&���$&��������<��<'�D���$��@��������@+��@
        !          30061: `@��@��@B0 ���$��������$C�0����'�D����B���$������$&&$&&-���$&!�������@
        !          30062: ����+������@������N���������Ȁ%�&�@!�����+���-���$&&A���������3
�
        !          30063: ����/�����������  �����������%j&�h!������/�����<
        !          30064: ������p�&.`!��}&(!@���'
        !          30065: &����s������u@�!�$
&�
���'�D/���B�!&�������'��'�����$��@��D��H��L���� ��H)� 
        !          30066: ��D��L<���A0$�!pW$&��L�(��8��H$&!+��<��8�K`"��D��8'�4'�8��L����0��0���08��4�����<%�&��<��8�(����H$&!��L�DCt��L@�!�d0!C�'��P@�! ��8Ct��<����D��<��A0'��X!&��$���� �'�@'��௿�� ��$��(��,����()� 
        !          30067: ��$��,<���A0$�!�$&��(��,$���u$���$@�!�0��$$&�(!&�����'� '��Я���0��4��8��<������8)� )� 
        !          30068: ��4��<<���A0$�!�l$&��8$&!<%3��,<��8$&! ��<�DCt��<@�!�d0!C�'��\@�! 
        !          30069: ��4��<<����A0$�"H$&��<'��d��H ��,��<'��h��H ��,��,����8l��4��<@�!<�$�$�"4A08!($&��<��,�$AL��8$&A<?N$�3��(��,?��(��($&��a
����8l��4@�!<��$�"TA00!$&!&�������'�0'�����$��P��T��X��\���� ��X)� 
        !          30070: ��T��\<���A0$�"t&I$&��\�$A���L��\<�      �*&jX!�k0�1l���L�
        !          30071: ��T��\<����A0$�"�&*$&��\$&e��(&Ct  !��\@�!�$0!C�'��l@�! $
        !          30072: ����H ��\�dA���H��\<����&�x!��0�1���H&
        !          30073: ��T��\<�$�&A0$�"��$&��X$&AN��\�dCt��0��0�    ��\'��p��C�&�0!@�!����\��Ct��0��L��0&�* ��T'��x�(�!��\��L�*&Kh!��@��H$&�����0&�* ��0��H��H��L* ��T'��|�9�!��\��H�K&m`!%�&��<���X$&��L��\��0���@��0��L)* "��T��@'�4'�@��L����D��D@��D���@�m���0%�&��0��0��L&�* ����H$&��&��T��@�$g!��H��L)* ��T'����j\!��L��@��0��<��0��H&�* &��<� ��T��<'�4'�<��L����D��D ��D=��0%*&��0��0��H&�* ��<�������<<����&@!�0�1 ��<%*����<��<<�m��&�`!��0�1������<����;��<���T��@�$��;��<�9!&��$���� �'�P'��Я���0��4��8��<��������4��$��8$&�
        !          30074: ��4��<<��&A0$�"�[$&��<�      �*@��<��4�eOL!��<��$��        !0!@�! 
        !          30075: ��4��<<����A0$�# ;$&��<��$�� !0!@�!
        !          30076: ��4��<<��&A0$�#H*$&���$�(��<�DCt@�!B0&D@�!��+��,�
�-��$���/��$���<&$�%CHB� !!&���������'�0'��诿������ ��$�� )� 
        !          30077: ����$<���A0$�#x$&�� $&!��$����$$&��'��'�����,��&h��&l��&p��&t��(�� ��$��l��d��&p)� 
        !          30078: ��&l��&t<���A0$�#�&�$&��&t�$Ct@�!&H$&��&&H$��&d��&t�Q�+`��,$&%��&1&�-$&*�$&��h&1&��h�/<�!�0�3 
        !          30079: &1&�(<  &(H!�)0�1*@����h`���l$&���&l��&t<����$�#�A0$&W$&��l'�t���#���!��l%     &��l�24$
        !          30080: d�
        !          30081: $�w$s���&d�
p$c�$�j$F�$�d$f�$        �     ^$
        !          30082: s�
        !          30083: ��&d�&1&�,$&]���R��&l<�&��A0$�$&$&$&dA��.Ae '$&OA��.AP $&EA��.AF $&DA����$&FA����$&[A��.A\ $&XA����$&cA����$&sA��.At $&fA��.Ag $&eA����$&oA����$&xA��������d�&��!��d&1&�9 �8��l��&p%        *��&l<%k��$&��dB0��`��T��d'�t��T��l&�* ��`��d&��!���d� & P!��d��T&%l&��T��T��l&�* ����&t���������������|�������D�����\��\��l&** ��\��l��T'�t��T��l&�* n�R�'�2��A0'�����T��&tȀ&�@!���&l'�298!Q�     '�2�&'���A00����T��&t`�&Lh!����&l'�298!@��T��&tx�&��!�%��&l�98!5�'�2��A0'�����T��&tP�&*`!����&l'�298!$�
'�2Ť'���F!�D0D8A0��T��&tx��!�%��&l'�298!$&FA��$&cA��$&dA��$&fA��$&sA����T&%&��T��T��l&** ����`B���&l��\��A0'���!&��,�� ��$��(�'�&h'��H�������������į����$&�
        !          30084: ������<���A0$��u$&��ď���%*�������i$&���(!EP0!������!
        !          30085: ������<�D�fA0$��W$&���H�'��@�!$&��&
������<����A0$�؏��EHD$&���B0$�&������������F���@�!
������<���A0$���EH+$&���EH������(H!� ������0!y'��������$&A������$&&a��ď��<����$�A0'�����'����B����&�����'��'��ȯ���8��<��@��D��������@$&�
        !          30086: ��<��D<���A0$�,�$&��D�$Ct��4��D��4�C�'���@�!@��D�$�%C|��(��(@��<'�����
��(���<'�������<'����8{!��D��4�C�'���@�!@$      &��$1��D��4�DC�'���@�!@��$&��D��4�dC�'���@�!@��D����}@�!@��<'�������<'��įI!��D��<<���$A0$��?$&$ ����(��D�K�q��D��Ct��4��D���� ����D��4�C�(!@�!@
��D�(H#��(��$@&&�`����<��(��A0'���!&���������'�8'��x�������������������$&�$&���#���$&&���'����$D�'��@�!$&&&������<�&�'�A0$��j$&
        !          30087: ������<�D�fA0$�_$&'�tH�'�d����������$��������0!y8!��|��|���|$&&&
        !          30088: ���<�&$��A0'�����'���|:���%  ��������@��'�lH�'�d��l��t��p&lh#
q&�p#p�&�p!q@&�p!��xp�&�p!q�&��#&�@!��`��`D� F�!��\�X���(!�0!���ǩXD�PǨ\F�T!���<F0D��D$��D�D�A0!&�����'��'��Я���0��4��8������0�<&�x!��0�1�
        !          30089: &&�<&@!�0�1   ���
        !          30090: $&-A&&��4��87� !@�!X#��(�$&+�&&��4��87� !@�!��(��(�
��4�  �����0��4�8��(&�������'�0'���@!���8!��<&�x!��0�1�
        !          30091: $�&��<
        !          30092: &YP!�J0�1K`�����$&0�$�&��$&x�$�&$$&��$$
        !          30093: 
$&�
        !          30094: ��$&0���&$&x&$�$&���%)��-! ��)@!$
        !          30095: &����$�&K$&
        !          30096: ���%)��-!
        !          30097:      X�&hX!X@&i@!$&����$�&6$&���%)��-!K <&)!�)%-! i&�@!$&����$�&��%)��-!K <&)!�)%&&+      &x&�@!$&����$�&�� �8!���&!&�'�'����0!�@!��&�!�������8!�`�!�       ��%&I$�&���@!$�&�����!&�'�'��诿��������&�* 
        !          30098: ���<ȀY!�B&8<<��$�.�A0$�A�<$BA�&��'��'������0!�8!����$&-&$����$�&��$&��$&0&Q$�&��$&x&4$�&��-&0 -&:     ���(H!%*�Я�-&a -&g  ��a&�h!%�����-&A -&G  ����!')�ɯ���-&0 -&8 ��
        !          30099: X�&h`!%��Я�$�&��-&0 -&8 ��-&0 -&: ��x�&�x!x@&��!'�Я�$�&��-&0 -&: ���������&*&�'�'�������!��$��&��&���� ����2<&�p!��0�1��&1&�2<�!�0�3 ��&(&�$&��AH$ $
        !          30100: �
        !          30101: &�!&7@�!�  !8�&@�!�&�!�� (!�&������`&�$&���H��&�!���8�'��@�!������������2����&(!�0!��&<����$$�/�A0 0!�
        !          30102: �R&�$&&�!��&%&$&y&����`���&��%�&�
���H����&(!�0!&|!��&'���8�@�!���&����    )�*@��`����&<��$�0'�(A0&&&�
������&'�(�$&X$&��&(!�0!&R!$&�&N!$�&J!$�&F!$   �&B!$   
        !          30103: �      &>!$�&:!$
        !          30104: �
        !          30105: &6!$�&2!$�&.!�3&&-�
$
�&.�$�
$�      $&<a��$&=a����&!�3&&)�   $�&*�
        !          30106: $�
$�  $&=a��$&>a�����!�-&$&=�&/�$�$��!�(&$&=&&)�       $�$
        !          30107: �
        !          30108: �!�+&$&&a&,�$
�
$��!$��!�8&$&|&&(�$    �     $��!$
        !          30109: �
        !          30110: �!$���!&,&�$
�
�!$&4a��.a5 R$&*a�W.a+ &$&%a�Y.a& $&!a��.a" `����$&$a����$&(a�4.a) $&&a����$&)a�-��$&0a��.a1 $&-a�6.a. $&+a�,��$&/a���$&2a��.a3 $&1a�{��$&3a�v��$&=a�\.a> '$&8a�k.a9 $&6a�e.a7 $&5a�_��$&7a�Z��$&:a�.a; $&9a�O�}$&<a���x$&^a�Z.a_ $&?a��.a@ $&>a��g$&[a�x�b$&~a�V.a �\$&|a�B�W�U&��$�������� �'�&'��ȯ���!����8��<��@����8��4��$��89(!��0��0���0(�$&&&��8(!;+$����0��0 ��0�$&&
��8(!�0!��8<��$A0$�0L$&G�
        !          30111: $&A$��)� 6�
��,�<x��0!��/d��8;+(!��0��0��0&���,�@#��    -*&�
        !          30112: �&``'�
        !          30113: $&!��$&!��$&!��$
&��$��&���$���89(!��0��0��0&����(���,��,)! )! ��,$&A$&A&�!&���,<
`�&�h!��/d��@&�* &�!��,$&���(    ��,$&!��(��4�*H%K&�+H��,<h��0!��/d��8;+(!��0��4��H%�����Hu��,$&!h��(1��,<
        !          30114: X��0!��/d��8;+(!��0�    ��(��0���0&J�
$&�&6��4��H'&��H��,<@��0!��/d��8;+(!��0��4�KH%i���IH/��4��H%�&��H��,<x��0!��/d��8;+(!��0��4�(H%���+H��0 ��0&�
        !          30115: $&A���,<
���0!��/d��8;+(!��0���(��(�
        !          30116: ��,<@��0!��/d��8;+(!��0��0`��0��+! �       �
        !          30117: $&A�
$&����,���(�p������8<$�0x�0!�$&��(�&`
$&��a<&�&
����     ��8<$�0��0!�$&��(�
&M�
$&���<&�A
�����(�&�x!�z��(�&�#�s��(�
        !          30118: &Ih�
l��(�&�p�e��(�&�X*�^��(�    &9P*�
        !          30119: W��(�
`*9�&�O��(�&�@*9&�G��(�&yH&-)&�        ?��(�
&M�&�+�7��(�&�x$�0��(�&�&�)��(�
        !          30120: &*h%�
"��(�+ ��+���(�+ ��+�&8��/& ��<&8!�8�_��8(!�0!��8<���A0$�0�$&&�������'�8'�����0��4��8��0����4�� ��4��$��0'�;+$������ ����($&&
��0(!�0!��0<��4�$A0$�0�      $&��,��8�j!&��'�0�'��诤������ !!� !EH������H�(!A@ !�!��O!EH$����$��!��'��'�����EP(!A@ ! !'� H���@@��&��&$&@1�����&B0$@
@!��&$&@3�!��@$���̏�@EH!��@�`�``!�i��'�H�'��Я��8!��@!�     �����!�N$B`@!&x!����* �����������$��0$�H�$��0��$@���� ��!��$��!$B�J$K
        !          30121: �j��(��Ct&` !��(�b��CH$d��($&���l`!%�&�p$�n��'�0�'��X�!$����`��<Fd$�2�@@!�O�����#!'���<$�2𣀃�'�(CH������'�6CH`(!'�(EP(!@@ !'�&$F�� $&A�� <$�0�'�&H�$���� EH����'���'��诿?����El��'��'���������!��!����!��@@���1���&R��c!&R��@]�� <��$$��&�9@��,��(�@I� !U��@��,��,��(��$�� G!��,��(��$�� ?���  �%*&�
        !          30122: �'(����B* @�!@�!@�!� !$
        !          30123: J 8!@@�!T�#��
&q`#��&�p!�A��!!@!�
�      ����!�(&     P#&C* @� !`Q�#��,��(��$�� 
        !          30124: ��Q�#@����,��(��$�� ����@���������'�H<����$B3'��诰N+@�! ��<��@@�?N !? !����&+ �������'�'��௰��!��$��&$���0N��0Y0O�!?N !@!�
EH����A$����$���0Y �B���������`!������'� '��诰��!���0b@0n�)!0n� 0i @0i �@0i �O+ 0i @ !�0x0i 0y 0i �@0i �H+ ��0i  !$��!`!�����'�'�������!��$���� ����H�$B$$0nR�"0j�
<��8�!�99@�Y+ L��K$&
        !          30125: �C�%  &a� ��K`��$@ !$&��A��K$����KT`!0jR0n��K'�G��G�
�E@$&$&&A��KE��$�$��5� ?�
0n��@���0yD !@X !@!!`$$���0bD@��0nR@ !�$B��A���K?�(!
        !          30126: ���K���  %*&�
        !          30127: �1l ���K$����K`!��$�������� �'�H'��௿�!�e�n�8!&�x#���x�g3D �h
<
        !          30128: %J9@H�&*0!
        !          30129: �`�k
<
%�9@`�&�0!��&�#�b�d��!!�!���x&��#"*     ��` !�� @��� ����!�d
�� �(!E@&0!���� "!�j$��5K �k!��'� �'��诿��$&0N�
        !          30130: 0O��$&��2$��$&��A�$7����`@��������� !��1*D@!��
<
%�9@`�&�(!��&�x#����A@!!@!����@#&* !@�!��'��'����!���n�e
1���0!<&'9�0��!H�<&)!�b$H4�(9@(� $ �<$�d �d�!<&$��(�d�!�k
<&`�,!$J �*9@$ �� B0���� ��@�b�m�y
�o<&5�@�(!�n%� �89@<&�l
%k�0H�&+!<&h�-!�b$J�*9@�n� !�nJ�� �� @        ���b0O���4Y@�y��'� ���
<x�o!�c9@��x#A����Y* ���<�c3'���0n������ �
��$0o��4c0c�<&�#3<&�#3$��<$�3J�'�<�c30x @!$��@!`!��'��'���4��<��4�!<�5�������8$$d��)��('����� ��$'�8J�� !�� � ��'�0�'�������!�������C$&0n�!���!�B@�O��X0yD !@X@ !@!!`m$����4�H
��0�J<H�i�!�s9@1K`W��,��(��$�B$��@�!p�#  !@@ !T��0��,��4��(��$N$���Pp�# �� !�(!0!J 8!@@�!P�#&1���L�N&�h#�M�B&�x!A�O!@!�X
<Ȁ&@!�9@�I&   P#&C* @�@ !��!�K1l@�
��0@@ !T   ��0��0��,��4��(��$$����0��,��4��(��$�!�B��Ѱ!Ct� !�D
@�!�(!E@@0!!��0��4���������'�`�!F!��<$�0��p!��&0��!$00�$&+��&$�&��!�%&0��� $&+$&��&$�&�H!�%&0�$&+a��$&-a��0�@$0!$0&c(#��&$�&�`!��&1���!&(��(!(@�(#��&$�&�x!��&$�03 ���!@#�!#`!�'��ȏ�����,�!��0��4��(�� ��$�������������'���'���'���6�&�0!4O&����������������@(!����$�<�7����$����!�!�#`!0Y&  �!`�!� �0H& 0!������" (!�#`�!�0I& ��$!+ Q+ e`! �!U�$+ ������
        !          30131: ����6&R&����f!&R&.A ����! !O���������@�!%l�&r���0C`�@$
&��#W�!
W�!��������&�x#�&�!$!&��x�#&R���@�!0+ �+=!�+ 
        !          30132: @�!<�O�4��$&��A^�#2!^�#O�@ !$&��AO� !(!�����H#  P!�%K�������(!%��6�&��5�&������������|�"@0!�+ 4�&��������4�&��)���������(!��������&"��4���������� ��$��(��,��0�'�8$��������N$&��&�x$�O�����X�����'��Я���!����4���0N&�P#B� !���P#a`!$!&���4B0����@@ !P��4"�!��4$�8��+ (!�!(!0���,Hܯ� ��,�� P+ x�O!p+ 
        !          30133: p�#! !$!&@�����H�IP!�X�!�����'�0�!��4�$&�p"��&�x  ��@������`��!�����&!� ����� ����@    ��������`����������&���$����C& B&`���D#����
        !          30134:  �  
        !          30135: ������&@ �I�����&I#�  #�& #�$�&!$��������$�&C@!`$�&!$��������$�&C��@!�!������$���&�#`!���$�&�����!�$�����8!��* (�� �* (�](�(� 0�0�C��!��$�&$�&���������!@(� $&&A$&A��$�&$�&$���������$�$�$�����������&$�$�$�����������(�  (�����������������$� $� $��ଢ�ଣ�䬨�謩�쬪���������ꬭ��(� (���������$�$�$���������������(� ����$�$�$���������(��   �( 0�0�C
���$����#$�����$���$��������&��!@(� $&A$&A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌋�茌�䌍��$���$���$��ଢ�������������ꬭ(� (���������������$���$���$���������(� ������$���$���$�������$�&$�����!��$�&$�&@   ����$������$�&$�&@�������$����$��������$�&�`!'��诤����<���� '�$�3O���$��'��'��诿�� '� O���$��'��'��Я�$&��(��4��8��<��$Ct�� $d��4��)��'�O�'�8��'�0�!��$�&�$�������$��T\�'��د���!���� �!T`!@!�� Ct  !"�!���&���� $X�$&,A $&
        !          30136: a&��x%�0�&�$$B&,A ��$&
        !          30137: �&&&  !$      a�       !F,(!@ !�$B&0B�,A{ ��   !F,(!@�� !  !F,(!@ !�  !�������'�($�T\��!���$��T\�$��T\�!$��T\�$��T\�!$��T\`!�$��'��诿��'��� E{��$��'��'��(��0��4��(�����'���$&��!�!��,�� ��$����Fd��@@�!<&1:����Th$/@ �!'��� �!$$$$
$���� !E�'�T@�!'�TU�(!*'���'�T��X��T��$&@��\(�� $�&$����.$��$�&���!�"�@!@��X'���U'�T"$��&&.& $��Tx !��'�T'�&$������1��2��3��4��5���������$��$
        !          30138: 
����$����4���������� ��$��(��,��0�'�ؐ��!`$:g�C��&$�&`$B&g���$/�N$B&��`�C��&$�&`��$B&�@���!$�&�!!�`!$��T\�$��T\����$      �T\�$��T\�!$�`!'��௿����!F���F�@@�!�  !C�$@F�@@�!�  !C�$@��F�!�������'� '�������������!��@@�!!�������!�  !F�&@@!`!����  !!�������'� ����$�&b$=$=$=`!F$�&�!����$�&b��`!`!�����!�!!����!@$�&��$�&@����$���$�&$�&@������$�&$�&@�������`!����'������<$�;H '������䏄��U��'������'������?&� !���䏿'����@$
        !          30139: $:C$
        !          30140: $
        !          30141: $
        !          30142: E    ��&$�&@CE��E��@��$�&��!����'���� ��<$�;H '���@����!����G��'��'����� <��0��(��,��$�����!��!$
        !          30143: $�$:$+&�AЯ�4����� !$ >�@0!@@�!�!Ct� !W<�p!�����7<�@@U>@ !0C��B$B��A�BI�@ !@ !�B�D$Y&�Y0��u��� !<�@@U>@ !0C��B$B��A�BI�@ !@ !�B�D$I&�I0��u����� !G�  !@��� !�*^$&<&�1a�F�  !<&�"a�F�@ !`@�!@��� !�Kv��� !  !'�\7D$
        !          30144: `@�!Ct  !  !$:U(@0!��\���� !F�  !`@�!<&�0a�$
u1*&u1 $
u1<&�-a�<&�0a�`  !@�|� !�N��x� !  !'�\7D$
        !          30145: `@�!Ct  !  !$:U(@0!��\��h� !F�  !`@�!<&�0a�$u1*&u1 $u1<&�8a�<&�0a�<&�1a�<&�1a�F�  !<&�"a�F�@ !<&�"a�F�@ !<�9a��" �!@
        !          30146: $,C�"&&1&@C���(� &1&<&<$Baج1a菿4���������� ��$��(��,��0�'�h��<$c0�nx!��&�!3         �H&$B&hH!�*&1K`���C$&
        !          30147: a`$&#a!$&!�'��诿��Uh������H=@0!��'��'��诤�� �� ��?�������� H=��'��'����!��`�@!����X!�&�8�+,�&�$&$$&4E�$&$$&4E&�$(!=!$&aA��$&rA��$&wA����$&���(��EP��$��(����$A@ !&!�`��b
$�        �o�$&r&$$&$�b�$&a!�
        !          30148: (!$D௣(��(A    !�i
<&   P�*!�`�`� 9@`!��'� �$�T\�!'��诿���Vg�����P$&<&���x�����X���� !W�  !@!!��'��`!$&�T\�$9�T\���8!��* (�� �* (�](�(� 0�0�C��!��$�&$�&���������!@(� $&&A$&A��$�&$�&$���������$�$�$�����������&$�$�$�����������(�  (�����������������$� $� $��ଂ�ଃ�䬈�謉�쬊���������ꬍ��(� (���������$�$�$���������������(� ����$�$�$���������(��(  �  0�0�C
���$����#$�����$���$��������&��!@(� $&A$&A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌫�茬�䌭��$���$���$��ଂ�������������ꬍ(� (���������������$���$���$���������(� ������$���$���$�������'��௱��!�����.�@�  !�#0o&�0hD0x�4y&�9J$���#0hD<����$B3I+ @�!�
        !          30149: 1K@`?N !����&+ ���#�%0m��%�$
$&�$
<p�&�x!��9@&�#F0!$P���"�0�#�b$x&�8�9$&��!�(5         �)�*5K�+�#0l��0m��-� $���������'� $����!��$�&$�&F�����!$������!�����'�����'� $TW���A$&��!����$&��'�H�'��د���0��4��$&��$BA$���@���A���@!��,�$F W�� ǡ Ǡ$D� D�(��<��,F$2x!E��$&��@$&&A�@$&��4'��Ct� ��0<$�c�'��CH�"<o$Bc�$&A$&A��8<Ct$�; ��0<<$�;,$�c�CH�B<\$Bc���8`E)&  <DD$�c�$��Xd��,��,��0<$�c�$L&)&Q�! ��$P&!<%�c�N !�$0$c&d���b���`<DD$�c�$&Xd����0$O&<&�� c�<DD$�c�&(!Xd����0$Y&�9<
        !          30150: �Jc���49K--k&<$Bc���<DD$
&��$�c�Xd&(!��0$N&��<�c���4;-/9&<$Bc��9��'�(���<&�4!��0C�0$$&�0�&x�@p!$B0���'��@��<��8��!��@��D��0��4��(��,�� ��$�����
�����!�p $&%&��$B��A��2�?��(!  �����2�����%�&�����&s&'(&����p$&%&����1* @���$�����`�!�������p&&s&�!�!P&s&�p��61�p��61�p��61�p��61�p61@���!2+@`
���$&��%�&�p$��č�����#:1���$&��%�&�$��ď6����!�p��2(D&��61 &�Вp<       &0H!�)0�22@1*@<$c0�X�&bX!X@&p!�p&&s&p`!��&$B��1����@��@�!��@�!61&�p��'�&28&&�!&�!   22@���$&��'(&&H$��č*�� ������$&��%l&�h$��č����������'��$&<&�������&@#���'�&J�'����2) 2,'��$&�����&2,����'��$&�����&���+&
        !          30151:      !@$Y0&�����$&
        !          30152: A@!&���x�&�x!x@o@#%      0(A
        !          30153:  ����$J0&�����@
        !          30154: 2-'�&&t`#�#@2-������612-���P'�&28&&��!&��!    22@���$&��'/&�@$��č       ��   ������$&��%K&a`$��č���������<&�&��$�����'�&J�'������'�& �! �!$$22@'�&&�!&�!$$22@2(&
        !          30155: ��ď��$&��%*&AX$��čl��        ������$&��%�&��$��ď�����$&X&<$c;h<$c;|����
        !          30156: &�!@$&$      &6122@������DP$<&�4!��jX!hC�l&�p$�&���@����@
        !          30157: 2/'�&�#�#@2/������612/�$29��� 29$&X2) 29$
        !          30158: &$&������61'��$
�����&'��$���
        !          30159: ��&$&X&��$&o&��$&x&��29��P2/@�&�&$&�&(A $@(!$'��'�䯩��'��'��'��J0��@�!���$&&A@
        !          30160: $&'��Ct��!'��2+��P&�J�!$&A$&2,�<&�;�<&�;�Ct� !2-��P&���!$&A���<$�;�Ct��!<%�;�28��P&�N�!���� ! 2)'�� $&�����&2) 2,'��$$&�����&2,�'��($&�����&��`$00b���&'�&&�&$0��&'�&�29 $.��&�&���`
        !          30161: $�����&�&�&�&��`�����䯤����61&���'�&��&'�& ��&���$B��A(A
        !          30162: #(A
        !          30163:  ��&��&$&
        !          30164: A$c��P(A
        !          30165: %K0 ���k��&��&$L0$c���l��&��&'�&&�+ 
        !          30166: ��쏢&$0'�&$B���+ ���C��&������ ��&��&$      +%�����&������&$-%K����&�L��<
&�h!��0�1�&���&$E'����&�����&$e%/����&�+����&���'�&61�&L#29&�p!�����P&9���2(@*�<$*�< $<�(!$<$&'��'�䯫����'��'��J0'��@�!���$&&A@
        !          30167: $&'��,Ct��!'��,2*��P&I�!$&A$&2,�<&�;�<&�;�Ct� !2-��P&��!$&A���<$�;�Ct��!<%�;�29��P�N�!���2%2,���x#&�* 2,��$&0a2,'��0$
        !          30168: &�����&2,�'��4$&�����&29 ���'��8$&�����&���'�&����$0��`$0���)� ���$0��&�&���0b�%*&��ܢ�&�&&�&$�������$.�*�<$.��&�&*�< $<� !$<�* �h#������61&$����2)���%�& 
        !          30169: ��쒃`$0���)& $0��&�&���0b�%�&��ܢ�&�&&�&$�����揮�2)��P�'�&2*@@$�*�$&*� $�(!$'��'�䯭��'��'��'��J0�����@�!�2($&���2(��!Ct� !V* @�!@����!�X��$&0&        ���&R��@$B���O��$&0������)a�� �* ����E&V������ I�#��&'�&
        !          30170: '�&���$&��%L&�h$��č���'�&'�&��&293��P���$&��%&x$��č����2+@$&��!�$'��<2+@`Ct� !��!��&�&�$U��&����        $U���E$B&�$U��&������$U��2)��P�z&s��&
        !          30171: ��-AY ��
        !          30172: P�<&*!�*P&@�������#lh!&�!^*��� ��ȏ����܏��(�!7���������2) &�X! �����P@���612.�h#�����P������>@!&x#������2+`������<�B;8ɀ#���0R���$B��A��@ !?��(!      &����2B��B��%�&��&����������P��!��&���$B��A��0d�?��(! �����0b��"��%&�����&R&O* ��&&��P`���<�B;P & �!0R���$B��A��@ !?��(! &����2B��B��%�&��&�����28&���!��!���$B��A��0d�?��(!     &R&��0b�����'(&��&R&U* ��&&28&���2/&�24���<�B;P`&`�!0R���$B��A��@ !?��(!     &����2B��"��%L&��&����2-������!���&���$B��A��0d�?��(!     �����0b��"��%&�����&1&/* ��&&������&~* ��<�B;8ˀ#��0Q���$B��A��  !?��(!     &����2"��"��%L&��&�����s�p��D�� ��$��(��,��0��4��8��<��@�'��<�c;�$�� !�<&�$;��`!T\<�B;��+ @ !$����<&�$;��!'�����,<��0��(����!��!$d&�0௿<��4��8��$�� ��&x��&|��h���������q&s& �p!��h&t��<�p!��&1�O$&%���� ������%       &�����
        !          30173: 
�U$b��`$b��$��$b��A�I� !@!��C$K&�` !�`!��&1�� ����%�&�����
�5$b��`$b��$��$b��A�I� !@!��C$H&�` !�H!�*&1K`������(!%���Y(����$&��A��$&������$&%!�q$&%!'&s&����%�&�����
�5$b��`$b��$��$b��A�I� !@!��C$H&�` !�������(!%*��Y(����$&��Ah��h�<$&*!�!�q�!&s&$&�X!�l&1��
p�&�p!p@&ѐ!�q&R���x!��&&s&3 ��p�@$&l<�6R��$&l! �!$&h!�q&s&       $&[!     �!` !T'�p@@�!�$���!�H&1   & $&n�Q&$l$&n!�$&[����@�$&[$&c!�$&[$&[!$&[����%l&�����

��$b��`$b��$��$b��A�I� !@!��C$N&�` !�x!��&3  ����%     &�����
        !          30174: 
�U$b��`$b��$��$b��A�I� !@!��C$K&�` !�`!��&1��������(!%���Y(����$&��A9$&[]��h'�&x��� ! (!@0!'�pS^��=$&h�$&l��&x$&��%        &!P$��&x�L�������ե�$&l���&x��&x$&��%�&�x$��&x���������ɯ8��&x$&��%     &!P$��&x�L����������'�&x��� ! (!@0!�8!Q@��$&[!��'�&x$&c!��'�&x$&i!��'�&x$&n!��$&h$&s!��'�&x��'�&x@��h&�x!����h������h��h ��h$����h   �!��h$��& !$���!��<���� ��$��(��,��0��4��8�'�&p'��P����'�p��!���������������\��X��T��P��L��H$&��P$
        !          30175: ��`$��`$��`&�!���%      ��-! �� H�<&)!�)&�& �������%K&�����
$&d��
�$���$B��A�I� !@ !��D$N&��!�`8!$&��L&R��@�����$&d'&�����
�&$b��`$b��$��$b��A�I� !@ !��D$I&� �!$&0a�`8!���$&iA�*A �����$&d%l&�����

��$b��`$b��$��$b��A� !I���d��d@ !��D$N&��!0d�$&x���o$&X�Y�
�$&d�`����$&d%�&�����`$b��$��$b��A� !I���d��d@ !��D$Y&��!0d�'�p$&F��d��d$&&A$���p$�����%     &����<
        !          30176: &DP!�J0�1K�`$*A 
        !          30177: ��`����(!%�������Y(��d��d(&R���8!%&R������(!%�������Y(��d������d��o'(������Y((!��d&R������$%*��������`(!Y(��d��d&R��$&+a�S$&-a�O$&$&0a�m���&R��@����'��&�+ $
"����&!<G!�B0�0C`��`$&�)��P0O��&��P`0X&$00X&$W$7$W�!��`�#Y* �������
��\��P     ��\��`��H&K`&�h!��H��\%�&L��\��Pj���$&.�$&e��X !'(&`?��X$&e���\$&E�[�����\ W�����T&@!%K&`P��T�'����$&d%�&�����
&1&���$���$B��A�I� !@ !��D$X&��!<C!�B0�`8!0Y 
        !          30178: $&+a$&-a0H#����'����$&d%*&�����
&1&a��$���$B��A�I� !@ !��D$M&�
�!&R��A�[`8!����_��\�[��P%��L� ��dY`'�p��L��d F �F ����$&l&���$&���C$ca$�C�i���#>�"���$&���CF  $ca$�C�j��4�D��L`�����H<&�����h#��H���$&l�
������$&���C$ca$�C�x����H����$&h!
��ď��$&���C$ca$�C�i����H�(���$&���C$ca$�C�k����H�j����� !%�������Y((!$&��A��\$&������\���������'��'��ȯ�8��8�� ����!��!��$�������D��L$&���D$�� $�D������,�!��,$&ca<&�4!��!$&������H%�&�����
$&d!�$���$B��A�I� !@!��C$I&�  ` !$���M$&sa       $&[<
        !          30179: &DP!�J0�1K`C$&[a      ��8��D&�h!���9��8��D&1�� 1&R&����$&d'&�����
�&$b��`$b��� !$b��A�I� !@!$����C$I&�       ` !�$&sa   $&[<
        !          30180: &DP!�J0�1K`$&[a�я�8��D&�h!����ʏ�8�����$&'������
���� ��,����(!%    ��Y(����$&��A��,$
        !          30181: &������,K��8
        !          30182: !��8�$&$&ca$&�@$&��$�������� �'�8'��د���!��$�� �������$&^��!��!$&&&` !.E&Y�$&�$]�$-$-$-�dx!���&&&�&&�!�d�!�qd�!���C*     d�!b0#$�&b !Y�@(!&&d�!��&&���!��$���������� �'�(<&�"A�$��$��T\�0����E�!@!`��$�&!�'�����X��X$&��(����� y!<$�;� !Z`'�4A��Xp��<A$�S�Z0$��<��X��T��P��H`��D��@)$&�*  ��$d��@��@��P&(* ��@d#��<��L��@�#��<@��L$B��'�4����'�D�a���m���a�m��T�� ��<��@Z0$��(��<��L��$Y�$ !'�DZ`0!Z"$<$�;� !Z`'�D��(���$��TZ0$��$���L��@��P<&@!��<��L4!B@&&*��@ d!��<��@<&��4!��$c&&!P!��@��< !'�4Z`0!��L�� &�!��'�X��'���<��A��Zh��'��'��诿�!` !?N����(!�d
D�0!���o�n1�Ϡx�b�`0Y� �n0H��h��'��$����0����$�&E$���$����!$������!����'��诿��$B��A��I�@!���C$N&����'��`!'��诿���0!$B��A��?�0��@!��0������@!%�&����'��`!<��3<1���
$c3����$cx+ !�y3(���`!�'��Я�Vg��0��0���P��'� &��#Uկ� ���X@0!A�!�I�K   P�&IP!
        !          30183: P�&IP!
        !          30184: P�`��N&IP!&�`#a@
        !          30185: P�&IP#&�`!ya
        !          30186: Q�&�x#�Y����x�&Lh!&��!!���� 
        !          30187: '�('�$��W���,����,��(����������(��$��(l* �!��$n* �!��0���T��'� &��#Uկ� $&�H @0!�!��'�0���<&4�Q�f�
$&���<&�a
(A$&<F!$���$&<A<&p�.c�$&<Aa<&x�/c�$&<a<&�#c�<&p4!��!$&&<&��#�9d(�&m $Fa0d�$����$&n$&m$&n$c&a0d�$�����(#$&m$&n�* ��a0d�$����$F$d���0�%��$&n$&m$&n�(!����!a0d�$���<&�#d<&�%d��0!$&m$&n$&&nA$  <&�)<<
        !          30188: �J<!�* <%k<�d&`!�0#�D$B�* ��$c&<&$�,<<&$�&�-c�<&�#d<&<$Bc��� d'��诿��Fd'��l@.@�!���\V� !@)@�! !'��PV�$&@#@�!���P���`%��𯏄T�����������XV� !@@�!$&���X�C`��$&;a&& !'��TV�$&@  @�!�Y$&;!��&&'���W>'��������'���<$�0��p!��&$1�$B��&!$B����@     $�&��&$�&��!�(&1        �����X!�c&0c`   ��&$�&�h!��&1����$B��@$ $B����A��$�&�!�'��Я����!��!����4��(�!�8C-,c&`$&+A !&& !'�(W��$@ @�!��(�N !&��!�#�@!�!$&:��&&W'�(@@�!��(�Y��#��$&:! �!&&W'�(@@�!��((�!��$ ��4��4P#�j��4��!�������'�0��<$B0�Nx!��&3 !����$�&H�&(H!       H@��������&K`!%��Ь���Nx!��&3 ���!�'��د���!����,'�$ !��0��W��@@�!A!��$$&/%�����$�X&       &&'�V�0!@@�!1!�Y$&,!��$&&W'� @@�!&!�� $&/%       ���� �JA
        !          30189: ��$&&'�V�0!@��$!��$<&4cQ�&c����,$&`&�p!���� �����P���T��0�(H!&*X#&lh!�������'�('��诿<��<���@!�*�H! !<$B<�O$B�* ��$c&���#<'9<��!�J� !�
        !          30190: �K�+�����Wί� �� ������%W�� !����<&�"�4cQ�&�h%� ��/&��'�9��'��(�: ���1��%����$&n$&m$&n�(!$���������#(H!%*�$&&AX��#$h�T\�$�T\�Dh<&-4!��� !�0$$&�0��D`�0��
        !          30191: <&�<&��$�$<&� $��$�$&��        ���$�$     ��$�$��$�$D`<&-�4!��� !�0$$&�0���0�&�<&@��$�$<&@� $��$�$&����$�$ ��$�$��$�$��!�$    $     -h@G�&�h%��<&�&�H#`@$�&!$
        !          30192: h%J&
�B�&*$&�&�
j�
j�<& &�h%Zp@"'���!�"��08�
&gX#,�
        !          30193: &�`#�(#$��(�$&(� ,�
        !          30194: $,�
        !          30195:  �(!$&
        !          30196: �$�&$B&8$�00�    ����,� =,� <.$�0$�&�&����h�&�p'&�p+�&�`!&
@!   h�&�p'&�p+     �&�x!&-H!&�p'&�p+&,H!&�`!
        !          30197: h�&�p'&�p+
        !          30198: �&�x!&MP!&�p'&�p+&LP!h�&mX!&�`!&lX!'��08$�0$�&�������&gX#'��8���@       %g���8$�0�&� $����($&9&-&0 %& �($0�(��%)��$1�(&$0����& $B&��
��$0�(!��(!$�&��������� $$�<
        !          30199:  G�
h@&�h%&�@$`@��'��M&-H!&*H#$
        !          30200: �&*'��h<%)��(!
J� <% �    $�& �������%& <�'����0!$&�����.$����1�&�����X+ ����Y��$I&��$����@� !��@����������!$c�����f��%K&����'��'�������<$c0�bp!��&$�&1�
        !          30201: $+��$�&b�!�,&1����$+KP!��$�&$&-A'�'��$
        !          30202: &$�&'�'!0!'�8$��'�'$B��,A
        !          30203:  �8n&&�0!@���$�&�0#H$&5`$&5$&����$�&$&5A$&A$��(!!K$�&$& A$&-��$�&$&-A$B�А�$&$�&$B��,A
        !          30204:  x�&�x!x@&�!��$�&$B��,A
        !          30205:  ��x��#�0!�(���D�D���(��� (�&5D�D�(�&5 &  !ǃ�pǂ�t&  !�(#Zį�`��`F �@F �F ��'�h�$���0����!$��������$�&�`!�V(� S4�$�T\��H(� E4�$�T\��:(� 74�$�T\��,(� )4�$�T\��(� <A$�iD4�&$�T\��(� <A$�iD$�T\�T\$'�����        ����$@$e�T\�$f�T\�$#�T\�%��@@<h!@�<&(!�.p�/t�c�[LYX�<&+!�+ '���P@&KX_�������1��$   4%��&��%)@@<<
        !          30206: &HP!i!    H�@��c��J�<<<<
&�h!&�`!&�x!&�p!��������x��|j![L$c&`
        !          30207: ��
        !          30208: G�X@&hX%    G�
        !          30209: P@&HP%        H@$c����     O�����&Ip!'�&`x![L&�p!$     %��%)����%����!�(!$
        !          30210: $
H�& p'&�p+�&�`!
H�&�h!&�@!&�h!��&�X'&jX+&�`!&�h!
h@�$�&&�h%���`@��gZp�@!`4&@X!& P!&H!$$c��4�$%���&�0�%�%���&�0�%�%���&�0�%�&%���&�08�&&�p#n!$c`%���&�p#%�&)�4 $&& @!&@H!&`P!$%���%�����x#&�0�@&@%&�0�H&&H%&�0�P&FP%�X�0&�X&fX%�0&�P&FP%�0&�H&&H%&�@!,a�  H@ 1H&,a�%J&@,a�%k&:��,a�$c&XB,a� $c��&cX!D�D� <&�!�D� D�D� &�H@& 8'&�P0�8+&&H!&�&GP & 8'X0�8+&GP &�&&H!&@0'�0+&KP!&@8'X&fX 0�8+&gX �&FP!�@�X@�|@��@�d@�@�@�@��@��@�@�,@�L@�l@�@��@��@��@�A,�A9�A9�A,�A9�A9A9�A9�A9�A9�A,�A,�A9�A,�A,�A9�A-TA-dA-dA-dA-dA-dA-dA-dA-dA-dA9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A1�A9�A8A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A0A9�A9�A9�A9�A9�A9�A9�A9�A9�A9�A9A-�A1�A5,A8A-�A-�A9�A9�A-�A9�A9�A/�A9�A9�A9�A9DA9�A/lA9�A9�A0AELAEDAEDAEDAEpAELAEpAEpAEpAEpAEpAEXAEpAEpAEpAEpAEpAELAEpAEpAEdInfinityNaN��Mnᯡ:M�����zD=E����\"��X�$#���"wJ1N���<�*���4
        !          30211: ��?��񈙱���&�����e�}�C5��t}���_Ͼ�/��������������@�P�$����� �k(���C�@�ԥ���*��� ���_�1�ɿ����.v@�k:����#�b�x��z���&�n����x2
        !          30212: W��h?������@���YQa��ȥo��� :�ˏ'��f��KP*��,��
�������͒�����P(�������ij�.Q�k�u�P�4,��x䲻�dQ�8Sc��������E&&��0&D�<<�0��P&D&&03<0�0<0U@&D@&��0�0�D&&A@&@�F����]����t���.�����E��   
!$'+.158;?BEILOSVY�&&p&�*��A���$Header: /sprite/src/lib/tcl/tclTest/RCS/tclTest.c,v 1.8 90/03/23 16:19:27 ouster Exp $ SPRITE (Berkeley)argument list wasn't properly NULL-terminated in "%s" commandDeleting command with clientData "%s".
        !          30213: wrong # args:  should be "%.50s count"Error %d$Header: /sprite/src/lib/tcl/RCS/tclAssem.c,v 1.4 90/03/23 16:26:20 ouster Exp $ SPRITE (Berkeley)@y�@z\@~D@(@�@�0@�@�@�T@�@�d@��@��@��@mD@�@��@��@�@��@�l@d @Ɛ@�@�@Δ@lP@Ո@׸@��@n�$Header: /sprite/src/lib/tcl/RCS/tclBasic.c,v 1.72 90/03/29 10:36:39 ouster Exp $ SPRITE (Berkeley)too many nested calls to Tcl_Eval (infinite loop?)extra characters after close-braceextra characters after close-quoteunmatched quoteunmatched bracemissing close-bracket"%.50s" is an invalid command name %sor ambiguous abbreviationinvoked "break" outside of a loopinvoked "continue" outside of a loopcommand returned bad code: %d%s, while executing
        !          30214: "%.*s%s"%.50s..., while executing
        !          30215: "%.*s%s", invoked from within
        !          30216: "%.*s%s"%s: '%.*s => %.*s'errorInfoerrorInfoerrorInfonoAbbrev<�<�<�<�       �<�<�<�===== =(=0=8=<=D=L=T=\=d=l=t=|=�=�=�=�=�=�continuewrong # args:  should be "%.50s add event [exec]"bad arg "%.50s":  should be "exec"$Header: /sprite/src/lib/tcl/RCS/tclHistory.c,v 1.6 90/03/29 13:20:04 ouster Exp $ SPRITE (Berkeley)wrong # args:  should be "%.50s change newValue [event]"too many args:  should be "%.50s event [event]"wrong # args:  should be "%.50s info [count]"bad count "%.50s"wrong # args:  should be "%.50s keep number"bad number "%.50s"wrong # args:  should be "%.50s nextid"too many args:  should be "%.50s redo [event]"substitutewrong # args:  should be "%.50s substitute old new [event]"wrong # args:  should be "%.50s words num-num/pat [event]"bad "%.50s" option "%.50s": must be add, change, event, info, keep, nextid, redo, substitute, or wordsbad event number "%.50s"event "%.50s" hasn't occurred yetevent "%.50s" is too far in the pastno event matches "%.50s""%.50s" doesn't appear in eventword selector "%.50s" specified non-existent wordsbad word selector "%.50s":  should be num-num or pattern$Header: /sprite/src/lib/tcl/RCS/tclUtil.c,v 1.30 90/03/25 11:04:25 ouster Exp $ SPRITE (Berkeley)internal error in Tcl_SplitListlist element in braces followed by "%.*s" instead of spaceunmatched open brace in list$Header: /sprite/src/lib/tcl/RCS/tclProc.c,v 1.35 90/03/29 10:55:16 ouster Exp $ SPRITE (Berkeley)couldn't find variable "%.50s"couldn't find variable "%.50s"wrong # args: should be "%.50s varName [newValue]"too few args:  should be "%.50s varName varName ..."too few args:  should be "%.50s [level] command ..." ("uplevel" body line %d)bad level "%.50s"no value given for parameter "%s" to "%s"called "%s" with too many arguments (procedure "%.50s" line %d)invoked "break" outside of a loopinvoked "continue" outside of a loopwrong # args: should be "%.50s name args body"too many fields in argument specifier "%.50s"procedure "%.50s" has argument with no nameisdirectorybad "%.30s" option "%.30s": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writable$Header: /sprite/src/lib/tcl/RCS/tclCmdAH.c,v 1.45 90/04/18 17:09:19 ouster Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s start test next command" ("for" initial command) ("for" body line %d) ("for" loop-end command)wrong # args: should be "%.50s varName list command" ("foreach" body line %d)too few args: should be "%.50s formatString [arg arg ...]"too many args: should be "%.50s"expected integer but got "%.50s" insteadexpected integer but got "%.50s" insteadexpected floating-point number but got "%.50s" insteadformat string ended in middle of field specifierbad field specifier "%c"%s "%.50s string [in] patList body ... [default body]"not enough args:  should beinvoked "%.50s" without enough argumentsextra pattern with no body in "%.50s" ("%.50s" arm line %d)wrong # args: should be "%.50s command [varName]"not enough args:  should be "%.50s arg [arg ...]"too many args: should be "%.50s"wrong # args: should be "%.50s message [errorInfo]"not enough args:  should be "%.50s arg [arg ...]" ("eval" body line %d)specified "<" but no input in "%.50s" commandnot enough arguments to "%.50s" commandcouldn't create input pipe for "%.50s" command: %.50scouldn't write pipe input for command: %.50s/tmp/tcl.XXXXXX/tmp/tcl.XXXXXXcouldn't create input file for "%.50s" command: %.50scouldn't write file input for command: %.50scouldn't reset or close input file for command: %.50scouldn't create output pipe for "%.50s" commandcouldn't fork child for "%.50s" command: %.50sforked process couldn't set up input/outputcouldn't find a "%.50s" to executeerror reading stdout during "%.50s": %.50schild process disappeared mysteriouslycommand terminated abnormallywrong # args: should be "%.50s expression"wrong # args: should be "%.50s name option"rootnameextensionreadablewritableexecutable$Header: /sprite/src/lib/tcl/RCS/tclGlob.c,v 1.4 90/04/19 14:53:59 ouster Exp $ SPRITE (Berkeley)unmatched open-brace in file namecouldn't read directory "%.50s": %.50scouldn't find HOME env. variable to expand "%.100s"user "%.50s" doesn't existno files matched glob pattern(s)different numbers of variable names and field specifiers$Header: /sprite/src/lib/tcl/RCS/tclCmdIZ.c,v 1.36 90/04/18 17:09:07 ouster Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s fileName"couldn't read file "%.50s"couldn't stat file "%.50s"error in reading file "%.50s" (file "%.50s" line %d)wrong # args: should be "%.50s option a b"wrong # args:  should be "%.50s bool [then] command [[else] command]"bad "%.50s" option "%.50s": must be compare, first, or last ("if" body line %d)bad count "%.50s" given to "%.50s"wrong # args: should be "%.50s command [count]"wrong # args:  should be "%.50s value index [chars]"bad index "%.50s" ("time" body line %d)%.0f microseconds per iterationbad argument "%s":  must be "chars"too few args:  should be "%.50s option [arg arg ...]"wrong # args: should be "%.50s args procname"info requested on "%s", which isn't a procedurewrong # args: should be "%.50s body procname"cmdcountwrong # args: should be "%.50s cmdcount"commandswrong # args: should be "%.50s commands [pattern]"wrong # args: should be "%.50s default procname arg varname"procedure "%s" doesn't have an argument "%s"wrong # args: should be "%.50s exists varName"wrong # args: should be "%.50s globals [pattern]"wrong # args: should be "%.50s locals [pattern]"bad level "%.50s"wrong # args: should be "%.50s level [number]"wrong # args: should be "%.50s procs [pattern]"tclversionwrong # args: should be "%.50s vars [pattern]"bad "%.50s" option "%.50s": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or varswrong # args: should be "%.50s value [chars]"not enough args:  should be "%.50s arg [arg ...]"wrong # args: should be "%.50s string [file [append]]"bad option "%.50s":  must be "append"couldn't open "%.50s": %.80sI/O error while writing: %.50swrong #/type of args: should be "%.50s value first last [chars]"bad range specifier "%.50s"bad range specifier "%.50s"wrong # args: should be "%.50s oldName newName"can't rename to "%.50s": already existscan't rename "%.50s":  command doesn't existtoo many args: should be "%.50s [value]"too few args: should be "%.50s string format varName ..."can't have more than %d fields in "%.50s"bad scan conversion character "%c"$Header: /sprite/src/lib/c/stdlib/RCS/strtol.c,v 1.4 89/03/22 00:47:30 rab Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/c/stdlib/RCS/strtoul.c,v 1.2 89/03/22 00:47:33 rab Exp $ SPRITE (Berkeley)&      ddddddd
        !          30217: 
 !"#dddddd
        !          30218: 
 !"#$Header: /sprite/src/lib/c/string/RCS/strstr.c,v 1.2 89/03/22 16:07:57 rab Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/c/string/RCS/strerror.c,v 1.5 89/03/22 16:06:57 rab Exp Locker: shirriff $ SPRITE (Berkeley)'p'�'�'�'�'�'�(( (4(D(P(d(x(�(�(�(�(�)))$)H)\)p)�)�)�)�)�** *0*<*X*t*�*�*�*�+++<+P+h+�+�+�+�,,0,@,X,|,�,�,�,�--,-D-\-p-�-�-�-�-�-�...4.T.l.�.�.�.�no error (operation succeedednot ownerno such file or directoryno such processinterrupted system callI/O errorno such device or addressargument list too longexec format errorbad file numberno childrenno more processesnot enough memorypermission deniedbad address in system call argumentblock device requiredmount device busyfile already existscross-domain linkno such devicenot a directoryillegal operation on a directoryinvalid argumentfile table overflowtoo many open filesinappropriate device for ioctltext file or pseudo-device busyfile too largeno space left in file system domainillegal seekread-only file systemtoo many linksbroken pipemath argument out of rangemath result unrepresentableoperation would blockoperation now in progressoperation already in progresssocket operation on non-socketdestination address requiredmessage too longprotocol wrong type for socketbad proocol optionprotocol not supporedsocket type not supportedoperation not supported on socketprotocol family not supportedaddress family not supported by protocol familyaddress already in usecan't assign requested addressnetwork is downnetwork is unreachablenetwork dropped connection on resetsoftware caused connection abortconnection reset by peerno buffer space availablesocket is already connectedsocket is not connectedcan't send afer socket shutdownundefined error (59)connection timed outconnection refusedtoo many levels of symbolic linksfile name too longhost is downhost is unreachabledirectory not emptytoo many processestoo many usersdisk quota exceededstale remote file handlepathname hit remote file systemundefined error (72)undefined error (73)undefined error (74)undefined error (75)undefined error (76)identifier removedunknown error (%d)$Header: /sprite/src/lib/tcl/RCS/tclExpr.c,v 1.13 90/03/22 15:24:59 ouster Exp $ SPRITE (Berkeley)
        !          30219: 
        !          30220:          &&variable "%.50s" contained non-numeric value "%.50s"command "%.50s" returned non-numeric result "%.50s"unmatched parentheses in expression "%.50s"divide by zerodivide by zerosyntax error in expression "%.50s"syntax error in expression "%.50s"         (((((                  H����������������&&&&&&&&&&&&&&&&&&&&������ &     
        !          30221: 
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~CHRCLASS/lib/chrclass/&&�@�@�H:/usr/sbin:/usr/bsd:/usr/bin:/bin/etc/passwdInfinityInfinity                    000000000000000000000123456789ABCDEF0123456789abcdef+InfinityInfinity-Infinity+InfinityInfinity-Infinity�`�`W`&/Lw&/K:&/J&MFw&/ 
        !          30222: echoechocreatecreate% %s
        !          30223: Error: %s
        !          30224: 
        !          30225:  ... ...%sbreakcasecatchconcaterrorevalexecexprfileforforeachformatglobglobalifindexinfolengthlistprintprocrangerenamereturnscansetsourcestringtimeuplevelexecchangeevent-1info%6d  keepnextid%dredo-1-1words-1history-1add$args010%d%d%Findefault%d%ddirname./tail01existsownedisfile%s%s/2APHOME/%d%d%g%g%dcompare1-10firstlastmatch10then%delse%dcharsargsbody%ddefault10existsglobalslocalslevel0%dprocs3.3varschars%dappendawendcharsN&ascii9@/bin/shPATHshrrNaNNaN-+ 0x0XNaN-+ NaN-+ (null)@�@�GMT   TZ�p       &Z��&�`�&��        :�
#v�7��<����+@��0�0@� 0�����0`�P!  1F!%'$#&%B(( $' #0!'12"�    �   C#$a ' !#b�    !""� �$u#!%!34$%��! �!�!�1#�   h$�  ��"!C(!1C (1�
        !          30226: W�E"#!Ct#"!G"G#�wc�
        !          30227: !�3#"$!� �!�##!C(�      C"1�        #'$%7�cE"(d�!'s##&$!$�       �      $(�44v88!'""� 8(&$(!1&!"!3##'$E#&��!$%�
        !          30228: (& $S!h3#c#r�       "6(5#%&&%#85("F5#6%! (&##(E&(�%S5&�       !&%(v("%$5("%('6%(%"F2$&%E�85$a'7"W�$#(!2s�        #$b�
        !          30229: #%$8$%$�$#($$�
        !          30230: $$$(c$%"�!%8!�        (((#$"4%h&4"T w# ��!�1(87!�
        !          30231: �!s$!(&7!&E(�/ 4#"##0 @ (!!8("#c(q!!!(!" "!3"X"##� &A"!!!!! !!! !�
        !          30232: '!!!!"�
$'(&%%$(#�  !7� # s�'$#((  s�0Ac !#�'#s#s!('0&S52(v&�
        !          30233: $8(%%#$""2"(#&&$!7##$#(�1#B"5%"E%!45#8%TE�##%%�%("s#4#%r44%$!5!1�   "��
        !          30234: $6#%u��!2!Cu(!$C&!T8$%T&�$(!�&((38&"a66&#67!&&#$D6#u#%"PA�
#5&#%%�
        !          30235: 8&(8"#8&(8(8�   5"8&#H""�&3#"8##8&$t3B$$!"####"3&5tc&%e!(!(3&!!�8'!(((&x&'&"&%%!366"5#&%!&"!#"C6�&&%!8"�0!�6##s@(3�     #' %##' %###""�6!4E6!�6!!#%�&E#"#'##F#!�C#"t#�&&(!�
        !          30236: S%$(#!�� &#8&#$#�%%%#A"�    S##1p5w5"8&($$�#�"Q�5#(#!3"D5$#$#$2#%%"DF$#('#%&#!!�5&5%E 5%$(5#(5!%%$6'!$#5%"5 5!!!U%#%#&%('E5!r5 !&�!t3"6(#&(#&(!%!D6$F'%($6'G636%#(4#(!T6%(Cu%&x&'%(%(7(h$"#6'%&%6#&#!�@t6� '#7%q11AA1 E$#s(�e'D5858c&%$&#"#w"c6%!'!G!'4s'!6"%"'(�c%("  `q#q!g�      "!"#"#!"##s11�# #$!7%A""!!!&�!�0%$6!0%#&2&#1111111112!!!2!!!3!3!3!13!111�#d#5!$b"###�B!8�
        !          30237: "#H"&#(#($$$$$$%%%%$$$((&3%B##&0�1reS4&SX0 �3P�!0� �$H0P�`P�V�&1P�����        1�&T"%&�"0�D0��6 � ��80�2Є
10�1!�1@� �8&R'&2 � ���h1(D ���4&#$@�1�H�2(7 ���8& �8P�P�r!!5(Q�p�0�B"R�@�X!�'##� �� �4"1 �"@�1� !(�p�@�p�t  �P� 1�1@� (!@�Q!�!0� #A�% $@A�A�r �@"  �%Q31t�P`00   �A  �!  �@��      �!2�
        !          30238: q  �@��
        !          30239: 0 �p �p0���    ���@�rP�@�r Ѐ�@�@q �0 �@��
        !          30240: 0 �p �p0���    ���@�rP�@�r �0�4@�B�CA�C&Q�`� ��& @� � � � �4 !�!!!���    Рp��  ����   !H4" �#&#0�H!@�!!0�H0�1&@� ���%"��!#0�0�E&&P�P�T���!!8!C# �%C�A �2(&'C �(1 �2(&!!��@�A����(0�5��4�4�3�8( �&6F!&`�q�8@�!2�
        !          30241: q  �@��
        !          30242: 0 �p �p0���    ���@�rP�@�r Ѐ�@�@q �0 �@��
        !          30243: 0 �p �p0���    ���@�rP�@�r �3$#S�'!�(�# @�R� �4f�� !��"����"%�"C(2�8 �!� �8$��&�P!�A����7P����Q ���
&��QA�A�A�A�p� �B0�5"B�
        !          30244:  ��"0�`2�G'c`�`��2��"�P�#�A� ��"QBE'D ���R�B'G@�!�0�P!� �!�0�qV"0�@�@�(2�HU ��2!�4 ��C�"�"�h4E���@�"&788B�0�2�HU ��2!�4 ��H�"�"�p�PH35"�2(R��H�1�!7 �0�P825!�26"`�&T� ���`�s � �$ �2C31""26(! � "�! &P�Q�@�    #( �F('20� �0%(0�6(w"&�G!8 �D �a@�0�0�8 �(&1"(6(f7 & !�F �@0�U�!88&#!(8&�'0�S(( ��H7@�� &�W&((&P�P�X �(#!�80��81�0�@#�! �!!&$ �1#&�
        !          30245: ���
        !          30246: �1VTP�``�c��     ��!�0�!�d##!��1��!"�& !�!1��1�1�#&�&�
���
5&`�r�� �(& � �#0�("��!�4`�h&D�F0�G!0�5�cH&0`�C!S"#0�1�"@���@�H ��4 ��4S"0�50 �A�0��$�0�2 �&&��������!0�(�0��@�00���
        !          30247: �Q �@�1 �0�A �0�! �0�A �0�0p�@�00�P�Q �@�1 �0�A �0�! �0�A �0�0�����
        !          30248: 0Q�0P�0 �2@0�@� ��P�P �"A�a����  ���2 ���@0�P� 0�P� 0�@   � ���Q �0�0�!1000�  �0 �A  �0 �P0�  � ��A�0 �0�0�&�!&# �&�
���
0� �" �   �3A@�3P�50� ��" �# !2%!$0�0�3!!!!!!� !  � !�1P�`���� ����    ������     �������    ��
        !          30249: ������
        !          30250: ��   ����    �  � A�P�@�p �@�0@ �P�P �P0 0����       0�Q`�a0 �  �  �  �  ! 1�0@ �@�  �  �  �@�  �  � 1 " �!!000� !0� 0� 0��0  �����/[`����uwh������t������ ��������� "9&E���������>@&HR�&�������� HT��&�������W����������(GO\
�&�������� fk�(���������@�����������@{�&8
        !          30251: N�&�������� ��%&�n���������0�&-����������0&U&aLl'&��������� &y&�W/&E�?���t����&�&�Z`DsQ���������(��&��}t���������0��&�������������8��&������������HL���������8��<����������x�&�!02L���������0�D9��&�������� ,2��?����������(Kw&\G���������(��&@NP���������8��&*�X����������H�(&D�d0�&��������?F&cDiQ���������8`�&k�t���������H��&���|���������P
        !          30252: w&����������8N�����������8��E�&)����t�����&&�Rp8܀��������8&�&���B5���������83�(M�����Q���V��&��������@�&?�f1���������(�&b�n�&��������(�&����������h<����������� ��>�!&1���������@��MD-&��&��������(& &Sf07�&�������� &m&��     $BI���������0&�&��
        !          30253: �M�����������&�7��d���������� P[�k�����rw�HpҀ&�������� ����v�����\������%�x�ހ��������(<G&G����������8by&P��=�&��������(��&]���������@Fl
        !          30254: ����t�����`�T &��������� ��A8)&N�&�������� �&L�1&u���������& &&T@9&���������� &@&NZB&ŀ��������`&h&�e,O����,�����&��tduY��������� ��&��&��������X�V&t�]���������`p�&��������������&���h����|����� &�        �&��������0Ky&�q����d������&dh?���������@&�&��O€�������&&������������9m�����������H��)�$&x����l������OC€��������@=&�R3�&�������� Wa&,lZ[���������0{�&4�d���������P�"&RuG���������0<a&������������{�&������������&h�S&�&��      ��&���\�����m�$(��
        !          30255: .���������8��C+��
        !          30256: ��&���������3m���������0;Y����L�����-I�����������
        !          30257: ������0���������&�&�#
        !          30258: l!����������8&���x.ހ��������0��&@&���������.&���������H*&���������0<����l�����_�&���������&���������H9&�&��������*=t�&�������� M`&8N�&��������mu����������H��*<   &��������� ��J`&X�����������\d
&���������� �&h�&�����&&�&���������/&���������0+&����������`"D&����"8����������8X��������SL
        !          30259: Ӏ&��������0��W&����e�&����&����!5&����#&����&����&&1&����%&���������"<���������+/d���������08A
        !          30260: &����&����&���������("8����&����&����&����&����&����&�������������$%,�����\�����+[&�����bm4&����&����&����&����&����&��������� #&��������� &�#����39    &����#���������%*D���������.3p
        !          30261: ����8?�<���������DK&<O����������hQ�&B������g&���������4
���������&(t��������� /Q
        !          30262: &����&���������&����&����&����+&1&��������� ?&����&���������H(���������(5k��������8���������������@&����"4����(2����������&p%`&�����l������&R�����������8&$&@��        l���������(&G&a�&����&����!���������Xz������E����&���������$&����&������������&�����������������h �����������&�������������0#>&TU����Do#� �&��������s�L|&������]D
&Q���������0��nl&���������&��&��������(���D����������&�      8N����&&�&����&����&����H�5����N~.&�����&���������!���������hu&����&����8����'p����)1�
        !          30263: *����3;�
8����=F& H����HP$&dW����bi+&���� ����&����&����Y&�����&����7&, ���@&p `  @&�   (@&� 
        !          30264: (  0@&� 0  &  &, &  &, &  &, &  &, #�@@&� �$�+�0� 5�����7@D �  &  A@ #L�%   A4  W@8 &a�(l�)s�x�, }������  W�  �@ - !�����/�����5����������&�  �  &  &, `%`  %`%@%`+`%`1h%`!`&7)`<)`&  &, `!%`( %`!`&0`        9%`H %`!`S`
]%`i@%`!`     &  &, 
$`%` %`&@%`.`%`6�%`=�%`E�%`M�%`U&%`!`&&  &,  `%` %`@%`!`&')`2)`<)`G)`&  &, %@`%` %`&@%`!`0)`7@   H�@       7\  N@| _�  f�!,  ND  
l@� $|�&��' #��(��������������+� ������
        !          30265: ������,&  &8 "������&�  &�  l  &  &, W`%` %`$@%`/`%`7�%`!`&<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`    w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T&`.&
        !          30266: %`Z& %`&@%`&`%`]&!�%`^&+�%`a!`&&8)`d&B`3&G%`j&O %`!`/&X)`k&e`;&p%`&{ %`&�@%`&�`%`q&��%`r!`4&�)`u&�& `U&�%`x&� %`&�@%`&�`%`y&��%`|&��%`&��%`&��%`�&�&%`�& %`&@%`�&`%` &�%`,&�%`�3&�%`�@&�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`�&  &, &  &, `%` %`!`&)`*`
        !          30267: 0%`5 %`!`9)`?`D%`I %`!`M)`&  &, &  &, ��@@�          #�(�0�8�&  &8  ?@
        !          30268:  O� V�#[�$ f�%l�����(h  ?�  
        !          30269: q@
        !          30270: � +��- ������0��3��6��9&�  q&�  �@x <��>��A��B��C��D  &������E��H�  "��  �@
< K��M&�P .&
�����Q&�����T�  *��  '&@
� W&"�Y&)�\&-�&3�]0 r&;���8�^&G���4�d&L���0�&U�e&Y���(�f&_����g&j�����m&o�����&t�����&|�����&������&��n&������&������o&������&������&��p&������s&������v&������w&������x&������y&������z&��{� U&������&�@� ~� T&�������������  P  M< X�������  U� [�������  X� ^�����        �  [d b"������*�����`  ^0@L �
l f<�����
�  cB@� � lG�����P��R������@  g[@ H �d qg������m���|���  m  4&0  /r@" ������������  |������p  xr�  s�@"� ������� �����������  ���  }�@#d ������� ���4 �������������������  �&  ��&   �@$� �'��,��4�$ �=��B��F�H������N�����U������&�  �&�  �&  &, Y`%` %`$@%`/`%`7�%`!`&<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`        w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T&`.&
        !          30271: %`Z& %`&@%`&`%`]&!�%`^&+�%`a!`&&8)`d&B`3&G%`j&O %`!`/&X)`k&e`;&p%`&{ %`&�@%`&�`%`q&��%`r!`4&�)`u&�& `U&�%`x&� %`&�@%`&�`%`y&��%`|&��%`&��%`&��%`�&�&%`�& %`&@%`�&`%` &�%`,&�%`�3&�%`�@&�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`�� `@��p@�&  &, �
        !          30272: H@@&` &�-�1� 
7�<�E�����P�����W�����   <  ^@(� m�!s�"z��%( 1��&��)������������� &������,������������������  ������-�  T %������.������/�������     L -������������������������0������1t  &
� 0������4�  -�  ^�  �@7�8 5��7�� 8�������  5�&  2�@8�8 :&�<&� >l  <��  9&@9(8 ?&�A&�D  F&"�G&)�J&t  B&&�  ?&1@:�8 M&<�O&A�R  M&H�S�  J&1�  G&O@;�8 V&Y�X&^�[  W&e�\&l�����_&v�����`&�����a&x  Q&O&�  N&�@=88 g&��i  c&��l&��o&������r&������s&������
        !          30273: &������&������&�  Z&�&�  X&�@? 8 t&��v hl  f&��  d&�@?�8 y&��}&���  s&������&������&�������&��������d  l&��  i@B(8 ����� ��$��$ �(������,������0������7�����=�����G�����Q�����X�����  y(  t_@DP8 �h��m��u��$ �{�������������������������������������������������������P ��������������  ��@H� ��  �_�  �&  &, z@@I0  �'�,�7�?�G�( P�R�����]������ b�����  
4 e�����X  j@LH �      �  o@L� $����&��', ���������  o�  �@M� (����*  7������+������1������������2��3��4��������t 4������������������&�����&�����&���|�&!@P� 5�  +&-@S� ;&8@S� A�  "��  &I@T� G&T�&Y�I A&^�����&h�����&j�J&l�����K&H  ;&I&d  8&s@V L&~�N&��Q&�� L&��R&������&������&������U&8  F&s&T  B&�@WX V&��X&��Y U&��Z&������&������H  P&�X  M&�@[� [&��]&��`&��a&��b e�����c�d��������������������#�����)�����e,  [&�D  V1@]� fA�hH�i  mP�����S@`� j�  i1�  f^@`� pi�ro� xv�sx������ w~�����&�  t@  q^X  n&  &, ��@@d  �#�*�/�, 4�9�A�����H�����Q�����S�����&0 \�����g�����r�����~����� ��!4  �@g� $�  �  �@g� *��,��/��  ������0������3�  �&  �@h� 6��8��;��<��( ,��=��@&�C& �����&\  &�&�  !&@jd F&"�H&)�K&0�L 6&8�����M&=�����&?�����N&�  1&&�  -&F@lP O&Q�Q&W�R&^�&c�U  A0 @&h�����V�  =�  <&F�  7&n@mD W&|�Y&��Z&��&��]  L&��^&��a&������d&�  G&n&�  B&�@n� g&��i&��j&��&��m  c&��n&������&������&������q&������r&������s&������v@o0 y ^�����0  [@ a������d  ^@rp ��  R&��  M'@r� �3��8�� jA������p  g'�  dH@s0 �R�� o(  mH8  kY@sh �g�� ul��`  rYx  ps@s� �~����������0 ��������������������������������������������� �����d���  ��@w ��  {s�  v�@w� ���� ����t  ���  ��@x( ������  �������  ���  �@y �!��&�� �,��3�����>������  ��  �&  &, �8@@y� �%�,�1�  T  l  6@z\ B�H�O�T�  Y�����[�����b�����g����� � n�����v�����x�����!��"  �@}� #� ����x�)�  �  6�  
        !          30274: �@~D /��1��2����5 (�������  %��   �@( 6��8��9����< 0�  .��  )�@� =��?��@����C 8T  6�l  1&@�0 D&�F&�G&�&"�J A&'�����K�  >&�  9&,@� N&8�P&>�Q&E�&J�T N&O�����&V�����U� M&Z�����V�  J&  G&,&  B&^@� \&j�^&p�_&w�&|�b$ t&������c&������&������d&������&������&������e&������k&������&������&������&������&������q&������t&������u` f&������v�  cH l&����@�|� k&����8���  h@  f� o&����4��  l@� �� s
        !          30275: ���0�P  p       T&^     8  O@�T ���"��)�.�� ~3�����:������  z�  u@@� �L��R��Y�^�� �c������e�����l�����q�����x�������������X ���������  ��@�� �D  �@\  �@�d ������������ �������������&H ��������&l  �,  ��D  ��@�� ������������ �������&����������
        !          30276: ������&< �������&h  �&�  ��&�  �@�� �%��+��2�7��( �<��C������M�����S�����]�����b������o�����|�������������������������������������� ����� ����������&�  �� ��������   �T ���������  ��@�� �l ���������������  �     �  ��@�� ��@�� �
        !          30277: 0  �
        !          30278: T  �&  &, &  &, &  &, &4`&%`1 %`9@%`?`%`G`%`R�%`\�%`g�%`r�%`z�%`�        %`�      %`�     @%`�     `%`�     �%`!`&&  &,         )`     $)`     *)`
        !          30279: 2 `9%`!`B)`&  &, (`-%`!`&/)`7)`?)`G)`N)`        U)`
        !          30280: Z)`
        !          30281: `)`
        !          30282: f)`l)`s)`{)`�)`�)`
        !          30283: �)`�)`�)`�)`�)`
        !          30284: �)`
        !          30285: �)`�)`        �)`
        !          30286: �)`
        !          30287: &  &, &  &, &  &, 
        !          30288: (`    .%`5%`> %`F@%`L`%`Tp%`!`&&  &, '`,%`3%`;`     @)`F%`O%`!`W %`\@%`!`&e)`&  &, &  &,  `%`
        !          30289: % %`,0%`        4@%`=P%` D`%`     Kp%`S�%`[�%`d�%`m�%`!`&&  &, H`$%`-@%`6�%`@�%`I�%`R�%`[&%`e& %`o&@%`x&`%`�&�%`�&�%`�&�%`�&�%`�%`� %`!`&�`�%`� %`!`&  &, &  &, `%`'`     ,%`     5%`?%`J%`!`T%`X`]%`     f%`p%`!`
        !          30290: z%`!`&&  &, `�@`%` %`(@%`2`%`!`:)`E@��8 R�V�[�f�  m�����w����������� d ������!�������  &�  E&�      �@��8 "��$��'��(��)$ >��,��������-������.������������� ,�����������������������/�����5�����6�  $� 7&����7&����:&�����&�����&�����=&�����>&%���(�?&-���`�E&5���@�KP  ,� =&=���<�&@���8�&C���4�N&J���l�O|  7�  ��  &R@�X U&a�W&h�Z N&mAP`[&w>�        �&>�     �a&������b&������&������&��c� M&������d&�  J�  B&R�  ?&�@�� g&��i&��j&��&��m ^&������n&����)�q&����$�&���� �P \&�����w&  Y&�@�� x&�  T&�  O&  &, $`%`# %`-@%`4`%`;�%`B�%`M�%`V�%`]&%`!`&f`n%`u %`|@%`�`%`!`&  &, &`#%`
        !          30291: ) %`20%`;@%`!`&B`K%`Q %`X@%```%`g`%`!`q)`!&  &, �,@@� �"�)�.�  3�����=�����D�����M�����Q�����V�����]�����c@�H � l�����$�  �  �  p@�� *}�,��-����0  #������1������2�������������������������@� 3�  p  �@�� 9��;��<����?  B��@������C������F&&�����I&�����&�����&�����&�����L&�����&'�����R&/@�� S� 8&>�����Yd  58 >&@�����&F���|�Z&J���x�[&S@�X ^�  8
        !          30292: � A&^���t�d  >
  )�
(  $&f@� e&t�g&z�h&��&��k  Q&������&������l&�@�< m| P&������s&������&  L&�  H&f&�  C&�@�� t&��v&��w&��&��z Y�  W&��  R&�@�l {&��}&��~&��&���  c&�������&������  _&�$  Z&@Ɛ ������"��  t'�����-�����2�����9������?������C�����E������K�����Q@�� �p  i&�  d]@� �k��q��x�}��$ �������������&�  z]&�  u�@� ������������ �|  ���  ��@Δ ������������$ ��������`��%`� %`�@%`�!`�)`������
������ ����)�����3������;�����F��J����� �L������H  ��  ���  �S@Ո �a��g��n�s�� �x��������������������������������������&� �����d��  �  �S0  ��@׸ ������������$ �������������������������  ��  ��@�� ����������� ����������������������������"������%�����,�����&( �4������&L  �4  ��L  �&  &, 
        !          30293: $0@@� ��%� 
        !          30294: *�,�����&  &4  &  &, $�@@�P � �'� ,�.�
        !          30295: 5        �
        !          30296: ;�����|  �  &  &, )`)`!)`))`
&  &, `%` %`!`&)`*`
        !          30297: 0%`5 %`!`9)`?`D%`I %`!`M)`T%@&  &, 
        !          30298: %P@@�� ��         (�*��  �  &  &,  %�@@� � !A�`l  �  &  &, 8/@`     %` %`*@%`/`%`5�%`!`<)`E@�@ #P�%W�& _�����f�����k�   
E0  
        !          30299: m@�p 'u�)|�,$  ��/��������0������1������x ���� �2�    m<  �@� 8��:��=��  -������@�������������������������@�l C�  %�   !�@�� I��K��N&�O 6&�����P&������  2��  .&  &, @�� �  &&  &, @�  �  &&  &, @�� &  &&  &,     ?�    ���@�� �  &  &, @�� ,  &&  &, &  &,   @�      &�  &&  &, 
        !          30300: @� 
        !          30301: t  &@�t �  @�8 �  !@� !$  )A< )&$          2A&` 2&  :Ad :&d  
CA� CP  &  &, 
        !          30302: A  
        !          30303: �  &&  &, A� l  &&  &,     A0      X  &&  &, A� &,  &&  &, 

        !          30304: @�   ���@�     ���@�     ���@�     ���&@�     ���/A� /  6A� 68  ;A ;&  
        !          30305: &  &,         
        !          30306: A
  A
h/��A
�/��%A
�/��,A
�/��3A
�/��
        !          30307: �  &&  &, 
        !          30308: A
� A
�/��
        !          30309:   &&  &, 
        !          30310: A
� A
�/��A$/��+A,/��
        !          30311: D  &&  &, A@ �  &&  &,     A� A�/��A�/��     (  &&  &,      A A4/��AP/��,A\/��:Ap/��>Ax/��LA�/��WA�/��bA�/��kA�/��wA@/���A|/���A�/���A�/���A�/���A�/���A(/���A@/���A\/���A\/���A�/��&A�/��   &&  &, A  p  &&  &,      A�      <  &A� (  A� T  &  &, 
        !          30312: AP AT/��Ah/��
        !          30313: (  &&  &,     A� A�/��    &&  &, &  &, &  &, 
        !          30314: A� 
        !          30315: &0  &&  &, ���A� A�/��(  &  &,     A A/��    &&  &,      A  A8/��    &&  &, A@ 
AX/��   &&  &, 
        !          30316: A` Ax/��
        !          30317:    &&  &, A� 
A�/��A�/��,  &&  &, A�   &&  &,         
        !          30318: @   ���A� ,  A� &�  A�8 �  &  &, A` 
Ax/��   &&  &, A� 
A�/��A�/��,  &&  &, 
        !          30319: A� A�/��
        !          30320:    &&  &, A� 
A�/��   &&  &, A�   &&  &, A �  &&  &, 
        !          30321: A� 
        !          30322: �  &A8 t  &  &, 
        !          30323: A� 
        !          30324: T  &&  &, ;O��@0   ���@4     ���A�o��"a�o��)A� )D  2A4 2,  ;A`8 ;�  
        !          30325: BA� BL  KA, K�  UA�8 U|  &  &,     A �      4  &A � @  A �8 &�  &  &,      A"� A"�/��    &&  &, A"� p  &&  &,      A#0 A#H/��    &&  &, A#P A#h/��   &&  &, 
        !          30326: A#p A#�/��A#�/��.A#�/��<A#�/��@A#�/��NA$ /��YA$8/��dA$T/��mA$T/��yA$�/���A$�/���A%/���A%0/���A%D/���A%`/���A%�/���A%�/���A%�/���A%�/���A&(/��&A&d/��
        !          30327:   &&  &, 
        !          30328: A&� 
        !          30329: &�  &&  &, A(0 @  &&  &, &  &, 
        !          30330: A(p 
        !          30331: H  &&  &, 
        !          30332: c�o��A(�8 �  bo��A+D8 <  'A+� /;8O��7;PO��'�  &  &, A>0 ,  &
A>\/��A>d A>�/��<  &  &, 
        !          30333: @�   ���@�     ���A>� `  #AE8 #x  *AMx8 *�  1APP8 1&        &  &, &  &, 
        !          30334: AQ� AQ�/��
        !          30335:    &&  &, 
        !          30336: AQ� 
        !          30337: 4  &&  &,     ;�O��AQ�   AS�8   &  &,      ���AT (  &  &, AT0 p  &&  &, 
        !          30338: AT� 
        !          30339: @  &&  &, AT�   &AT�   AT�   (AT� (P  1AUH 1X          &  &, AU� T  &&  &, 
A        ���A     ���<O��*AV *&T  4AWT ;c�o��4H  AAY� A�        GAZ|8 G�  PA[D8 P&(  
XA\l8 X�  aA\�8 a&L  hA^D8 o<O��h�  vA_88  vp  &  &, A_� A_�/��   &&  &,      A_� A_�/��    &&  &, A_� A`</��$A`D/��1A`\/��>A`d/��KA`�/��XA`�/��eA`�/��rA`�/��A`�/���  &�A`� �Aa/���Aa/���Aa$/���Aa,/���AaL/���AaT/���Aad/���Aal/���Aa|/����  &  &, &  &, &  &, Aa� Aa�/��Aa�/��(Aa�/��6Ab@/��DAbP/��RAb�/��_Ab�/��lAcD/��yAcT/���Ac|/���Ac�/���Ac�/���Ac�/���Ac�/���Ac�/���Ac�/���Ad/���Ad/��&&Ad/��&Ad8/��&Ad\/��&+Ad�/��&9Ad�/��  &&G     ���&P)     ���&  &, 
        !          30340: Ad� 
        !          30341: �  &&  &, @�       ���Ae� $  &  &, 
        !          30342: Ag� 
        !          30343: (  &&  &, 
        !          30344: Ag� Ah/��
        !          30345: 8  &Ah (AhH/��8  5AhP 
        !          30346: ?Ah�/��58  LAh� UAh�/��L8  
        !          30347: bAh� iAh�/��b@  
vAi }Ai4/��v<  �Ai</���AiD �  &  &, &  &, &  &, 
        !          30348: Ai` Aix/��
        !          30349:    &!Ai� +Ai�/��!   &  &, 
        !          30350: Ai� Ai�/��
        !          30351:    &&  &, 
Ai� Aj/��$Aj</��2AjH/��@Aj�/��NAj�/��\Aj�/��&P  &j�       ���p      ���{�     ���&  &, Ak Ak$/��AkH/��*Ak�/��8Ak�/��FAk�/��TAk�/��bAk�/��pAk�/��~Al,/���All/���Al�/���Al�/���Al�/���Am/���Am/��  &�� ���&  &, Am0 x  &&  &, &  ����������������
        !          30352: 
        !          30353:     0��������&��&0������ ��&"0���
        !          30354:     ����������&&����������  &0��&&��&c���&����
        !          30355:     ��������������������������&��&
        !          30356:     ��������������
        !          30357:     ����������&
        !          30358:     0����������������
����$��
        !          30359:     ��������!!��&&0��&��&&����������      &��     &0��&��     &����������<&��&��     &��&��������!��&��&��������!�� &�� &����������     &��&&��&&��&&����������/&����������4&��4&��&&�� &��     &��&&��&&��/&��4&��&�� &0��&���<&
        !          30360:     0������
        !          30361:     ����������&��������������������
        !          30362:     
        !          30363:     0������
        !          30364: ��&��<!��&��&!�� ��<��&��<��&���� '��&!!��<��&/��&��<��&s��&0�����    ��<��&��0������ 0������ 0������ 0������ }��&!����<���&��<�������&��<���&��<��&��&��&
        !          30365:     ��������!!��&0����&����������      ��     0����     ����������<����     ����������!������������!�� �� ����������     ��&��&��&����������/����������4��4��&�� ��     ��&��&��/��4���� 0�����<������!0������
        !          30366:     0��������&��<&��/&2��&��<&��/&��/&9��<&?��/&G��<&��4&��4&��4&N��<&��4&X��<&��4&��&d��<&��4&��/&i��<&t��/&��<&��/&���<&���<&0������ 
        !          30367:     0��������&0������ 80�� 0������ 0������ 0������ BM��&��<Vf��&n0������ y
        !          30368:     0��������&��<����  0������ !��&��     ��<-��&��     ��     ��<7��&B��&M��&�� ��<�� d��&��<��&��&0������ 0��;0������ k����<��&p����&v��<��     �����&��     ��     ��<��&0��c0������ ����� ��� ��     �� ��     ��� ��     
        !          30369:     0������
        !          30370: ��& ��&0������ 0��c)��&1��&9��&B��&��<O��&0��;u��&0��& 0��& 
��&0��0��c0������ ��&���&��&0������ ���&0��;���&0��c���&0��'0������ 0������ 0������ 
        !          30371:     
        !          30372:     
        !          30373:     ��������0�� 0�� 
        !          30374:     ��������0��       �� 
        !          30375:     ��������0��
        !          30376:  ��&
        !          30377: 0��
        !          30378:  
        !          30379:     
        !          30380:     
        !          30381:     ��������
        !          30382:     ��������
��������������������&
����&
        !          30383:     
        !          30384:     ��������
        !          30385:     ����������&��&��������
        !          30386:     
        !          30387:     
�����������������&�������������
        !          30388: 
        !          30389:     0������������������?��&��0�����      ��&     0���0�����&
        !          30390: 0���O��&0��1��&_��&��0���0������ 
        !          30391:     ����������������
        !          30392:     ��������0��      ���������0��     &���& ��     
        !          30393:     0��������&0������ 0��;$��&0������ C��&��<����      ��&��0������ ��&0������ R��&0������ Z��&d��&��&u��&0������ ���&��&��&��<���&���&�����������0�����`���0�����&��&0��c���&���&��&��&��0��;
        !          30394:     0������
        !          30395:     0������

        !          30396:     
        !          30397:     ����������&��������������������0������
        !          30398:     0������
        !          30399: 
        !          30400:     0������������0��1
        !          30401:     0����������������&��0������ !��&��0���.��&����<0������ 7��&��
        !          30402:     
        !          30403:     ��
        !          30404:     ��
        !          30405:     
        !          30406:     
        !          30407:     
        !          30408:     
        !          30409:       

        !          30410:     
        !          30411:     
        !          30412:     
        !          30413:     
        !          30414:     
        !          30415: ������������
        !          30416:     ��������
        !          30417:     
        !          30418:     ��������
        !          30419:     ����������������������������
        !          30420:     ��������������������
        !          30421:     ��
        !          30422:     
        !          30423:     
        !          30424:     
        !          30425: ����
        !          30426:     ����������
        !          30427:     ������������
        !          30428:     
        !          30429:     
        !          30430:     
        !          30431:     
        !          30432:     ��������
        !          30433:       ����
        !          30434:     
        !          30435:     ����
        !          30436:     
        !          30437:     
        !          30438:       
        !          30439:     ��
        !          30440:     ��  ��
��������������������
        !          30441:     
        !          30442:     
        !          30443:     ������������
        !          30444: ����
����������������������������        ��������crt1text.sSTARTFRM__startmoncontrol_mcount_sprocmonstart/net/siouxsie/d2/3.2A/usr/include/regdef.h/net/siouxsie/d2/3.2A/usr/include/asm.hcrt1tinit.stclTest.crcsidcmdEchoclientDatainterpargcargviechoErrordeleteProcclientDatacmdCreateclientDatainterpargcargvcountmainlinecmdresultgotPartial/usr/include/stdio.h.F11_cnt_ptr_base_flag_fileFILEusptr_s/usr/include/sys/time.htimevaltv_sectv_usectimezonetz_minuteswesttz_dsttimeitimervalit_intervalit_value/usr/include/time.htmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdst./tcl.h.F12resultdynamicerrorLineTcl_InterpTcl_TraceTcl_CmdBufClientDatatclAssem.crcsid.F16bufferbufSizebytesUsedCmdBufTcl_CreateCmdBufcbPtrTcl_DeleteCmdBufbuffercbPtrTcl_AssembleCmdbufferstringcbPtrlengthtotalLengthpnewSizenewBufgotNewLine./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F12commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterp/usr/include/ctype.h./stdlib.h.F14sizeflagsMem_TraceInfodiv_tquotremdiv_t.F15quotremldiv_t./string.htclBasic.crcsidTcl_CreateInterpiPtrnamePtrprocPtrcmdPtrTcl_WatchInterpinterpprocclientDataicPtriPtrTcl_DeleteInterpinterpiPtrcmdPtrtracePtricPtrTcl_CreateCommandinterpcmdNameprocclientDatadeleteProciPtrcmdPtrTcl_DeleteCommandinterpcmdNameiPtrcmdPtrTcl_EvalinterpcmdflagstermPtrcopyStoragecopycopySizedstlimitargStorageargvargcargSizeopenBracesopenQuotesrctermCharargStartresultiiPtrcmdPtrtmpdummysyntaxMsgsyntaxPtrcmdStarttracePtrlengthcopyResultnewCopydeltavaluenewArgsnumReadnewCopydeltacmdCompletesaveddonenumCharspellipsissyntaxErrorfirstlastTcl_CreateTraceinterplevelprocclientDatatracePtriPtrTcl_DeleteTraceinterptraceiPtrtracePtrtracePtr2Tcl_AddErrorInfointerpmessageiPtrlengthbufferoldVarTclFindCmdiPtrcmdNameabbrevOKprevcurcmatchlengthvarValue./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F15commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterpbuiltInCmdsbuiltInProcstclHistory.crcsidTcl_RecordAndEvalinterpcmdflagsiPtreventPtrsavedFirstlengthresultTcl_HistoryCmddummyinterpargcargviPtreventPtrlengthcpcountindxiendcurnextlengthcountisrcendeventswordsHistoryInitiPtrnumEventsiMakeSpacehPtrsizeInsertReviPtrrevPtrcurPtrprevPtrRevCommandiPtrstringrevPtrRevResultiPtrstringrevPtrevalFirstevalLastargvDoRevsiPtrrevPtreventPtrnewCommandpsizebytesSeencountDisableRevsiPtrGetEventiPtrstringeventNumindexendeventPtrlengthSubsAndEvaliPtrcmdoldnewsrcdstnewCmdcountoldLengthnewLengthlengthresultGetWordsiPtrcommandwordsresultstartenddstnextfirstlastindexpatternmatchsavedCharerrortclUtil.crcsidTclFindElementinterplistelementPtrnextPtrsizePtrbracePtrpopenBracessizep2sizedoneTclCopyAndCollapsecountsrcdstcnumReadTcl_MergeargcargvlocalFlagsflagPtrnumCharsresultsrcdstcurFlagsibraceCountnestingLevelnestedBSwhiteSpacebracketsdollarselementDoneloopBottompass2ElementDoneTcl_ConcatargcargvtotalSizeipresultTcl_ReturninterpstringstatusiPtrlengthwasDynamicoldResultTcl_BackslashsrcreadPtrpresultcountTcl_SplitListinterplistargcPtrargvPtrargvpsizeiresultelSizebraceelementTcl_StringMatchstringpatternc2thisCharOKTclWordEndstartnestedpcountbracestclProc.crcsidTcl_ProcCmddummyinterpargcargviPtrprocPtrresultargCountiargArrayfieldCountnameLengthvalueLengthfieldValuesargPtrprocErrorTcl_GetVarinterpvarNameglobalvarPtriPtrTcl_SetVarinterpvarNamenewValueglobalvarPtrvarListPtriPtrvalueLengthTcl_ParseVarinterpstringtermPtrnamecresultTcl_SetCmddummyinterpargcargvvalueTcl_GlobalCmddummyinterpargcargvvarPtriPtrgVarPtrTcl_UplevelCmddummyinterpargcargviPtrlevelresultendlevelArgsavedVarFramePtrframePtruplevelSyntaxcmdmsglevelErrorTclFindProciPtrprocNamecmdPtrTclIsProccmdPtrTclDeleteVarsiPtrvarPtrInterpProcprocPtrinterpargcargvargsformalPtrargPtriPtrframevalueendresultmsgprocDoneProcDeleteProcprocPtrargPtrFindVarvarListPtrvarNameprevcurcNewVarnamevaluevarPtrnameLengthvalueLengthtclCmdAH.crcsidTcl_BreakCmddummyinterpargcargvTcl_CaseCmddummyinterpargcargviresultbodystringpatArgcjpatArgvpmatchmsgTcl_CatchCmddummyinterpargcargvresultTcl_ConcatCmddummyinterpargcargvTcl_ContinueCmddummyinterpargcargvTcl_ErrorCmddummyinterpargcargviPtrTcl_EvalCmddummyinterpargcargvresultcmdmsgTcl_ExecCmddummyinterpargcargvinputinputSizeoutputoutputSizeoutputSpacestdInstdOutcountresultipidstatuscmdNameexecNametmperrSpaceerrnewOutputcleanupchildTcl_ExprCmddummyinterpargcargvresultvalueTcl_FileCmddummyinterpargcargvplengthmodestatOpstatBuffileNamelastSlashcheckAccessTcl_ForCmddummyinterpargcargvresultvaluemsgTcl_ForeachCmddummyinterpargcargvlistArgciresultlistArgvmsgTcl_FormatCmddummyinterpargcargvformatnewFormatwidthprecisionsizeoneWordValuetwoWordValueuseTwoWordsdstdstSizedstSpacenoPercentcurArgnewPtrpbsSizeendenddoFieldnewDstnewSpacenotEnoughArgsfmtError/usr/include/errno.h/usr/include/signal.h/usr/include/sys/signal.hsigcontextsc_regmasksc_masksc_pcsc_regssc_ownedfpsc_fpregssc_fpc_csrsc_fpc_eirsc_mdhisc_mdlosc_causesc_badvaddrsc_badpaddris_sigsetsc_triggersave/usr/include/bsd/sys/types.huid_tgid_tfd_maskfd_setfds_bitsfd_set/usr/include/bsd/sys/../../sys/types.h.F14rphysadrdaddr_tcaddr_tuncharushortuintulongino_tcnt_ttime_tlabel_tdev_toff_tpaddr_tkey_tuse_tsysid_tindex_tlock_tsize_tu_charu_shortu_intu_long/usr/include/bsd/sys/file.h/usr/include/bsd/sys/../../sys/types.h/usr/include/bsd/sys/../../sys/fcntl.hflockl_typel_whencel_startl_lenl_sysidl_pid/usr/include/bsd/sys/../../sys/file.hfilef_flagf_count.F15inodef_uinodef_unextf_upf_offsetfile_t/usr/include/sys/fcntl.h/usr/include/sys/stat.hstatst_inost_devst_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctime/usr/include/sys/resource.hrusageru_utimeru_stimeru_maxrssru_ixrssru_idrssru_isrssru_minfltru_majfltru_nswapru_inblockru_oublockru_msgsndru_msgrcvru_nsignalsru_nvcswru_nivcswrlimitrlim_currlim_max/usr/include/sys/time.h/usr/include/sys/wait.hwaitw_status.F16w_Fillerw_Retcodew_Coredumpw_Termsigw_T.F17w_Fillerw_Stopsigw_Stopvalw_StclGlob.crcsid.F16resulttotalSpacespaceUseddynamicGlobResultAppendResultdirnamenameLengthresPtrdirLengthtotalLengthpnewSpacenewSizeDoGlobinterpdirremresPtrpcopenBracecloseBracegotSpecialresultremLengthl1l2static1elementnewRemdentryPtrl1l2patternnewDirstatic1static2statBufl1l2newDirstatic1Tcl_TildeSubstinterpnamestaticBufcurSizecurBufdirlengthfromPwppwPtrTcl_GlobCmddummyinterpargcargvglobResstaticSpaceiresultthisNameerror/usr/include/pwd.hpasswdpw_namepw_passwdpw_uidpw_gidpw_agepw_commentpw_gecospw_dirpw_shellcommentc_deptc_namec_acctc_bin/usr/include/bsd/sys/dir.hdirectd_inod_reclend_namlend_name_dirdescdd_fddd_locdd_sizedd_bufdd_directDIRtclCmdIZ.crcsidTcl_IfCmddummyinterpargcargvconditionifPartelsePartcmdnameresultvalueifSyntaxmsgTcl_IndexCmddummyinterpargcargvpelementindexsizeparenthesizedresultindexSyntaxTcl_InfoCmddummyinterpargcargviPtrprocPtrvarPtrcmdPtrlengthcflagargSpaceargSizepatterninfoNoSuchProcplevelendframePtrlevelErrornewArgsTcl_LengthCmddummyinterpargcargvcountplengthSyntaxelementresultTcl_ListCmddummyinterpargcargvTcl_PrintCmdnotUsedinterpargcargvfresultTcl_RangeCmdnotUsedinterpargcargvfirstlastresultbeginendcdummycountrangeSyntaxTcl_RenameCmddummyinterpargcargvoldPtrnewPtriPtrTcl_ReturnCmddummyinterpargcargvTcl_ScanCmddummyinterpargcargvarg1Length.F223fmtsizelocationFieldfieldscurFieldnumFieldssuppresstotalSizeresultsnumScannedfmtistringTcl_SourceCmddummyinterpargcargvfileIdresultstatBufcmdBufferendfileNamemsgTcl_StringCmddummyinterpargcargvlengthpcmatchfirstTcl_TimeCmddummyinterpargcargvcountiresultstartstoptzmicrostimePermsgstrtol.crcsidstrtolstringendPtrbasepresultstrtoul.crcsidstrtoulstringendPtrbasepresultdigitanyDigits./sprite.hBooleanReturnStatusAddressClientData./stdlib.h.F11sizeflagsMem_TraceInfodiv_tquotremdiv_t.F12quotremldiv_tcvtInstrstr.crcsidstrstrstringsubstringabstrerror.crcsidstrerrorerrordefaultMsgtclExpr.crcsid.F14interporiginalExprexprtokennumberExprInfoExprGetNumstringtermPtrresultsigncExprLexinterpinfoPtrpcvartermresultstringExprGetValueinterpinfoPtrpreciPtrresultoperatoroperandgotOpsyntaxErrorTcl_ExprinterpstringvaluePtrinforesultdup2.cdup2opendir.cBSDopendirreaddir.cBSDreaddirctype.cfirst_callsetchrclassgen/cuexit.cexitdata.cfgets.cfgetsflsbuf.c_cleanupfclosefflush_flsbuf_xflsbuf_wrtchk_findbuf_bufsyncprintf.cprintfsprintf.csprintffputs.cfputsatoi.catoimalloc.callocsallocpalloctallocxallocendmallocfreereallocstrcpy.sstrcpy1$0000000000$doch3$doch2$doch1$doch0strlen.sstrlen1$0000000000strcmp.sstrcmp1$00000000002$00000000003$0000000000strncmp.cstrncmpindex.sindex1$00000000002$0000000000bcopy.sbcopygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4strncpy.cstrncpyscanf.cscanffscanfsscanfrindex.srindex1$00000000002$0000000000lseek.slseek9$0000000000/net/siouxsie/d2/3.2A/usr/include/sys.s./sys/syscall.hmktemp.cmktemppipe.sFRMSIZEpipe9$0000000000write.swrite9$0000000000close.sclose9$0000000000open.sopen9$0000000000unlink.sunlink9$0000000000fork.sfork9$0000000000parentexit.s_exitexecvp.cshellexeclpexecvpexecatread.sread9$0000000000wait.swait9$00000000001$0000000000access.saccess9$0000000000stat.sstat9$0000000000geteuid.sgeteuidgetpwnam.cgetpwnamgetenv.cgetenvnvmatchstrcat.cstrcatgetpwent.cPASSWDEMPTYpwflinepasswdsetpwentendpwentpwskipgetpwentfgetpwentisblankfopen.cfopenfreopen_endopenfstat.sfstat9$0000000000sys/gettimeday.cgettimeofdayfcntl.sfcntl9$0000000000getdents.sgetdents9$0000000000memcpy.smemcpygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4filbuf.c_filbufmemccpy.cmemccpymp_def.cisatty.cisattydoprnt.cbufcvt_bufendtab_lowdigit_doprnt_blanks_zeroessbrk.ssbrkerrbrk1$0000000000doscan.cchcountflag_eof_doscannumberstringsetupcerror.sgetpid.sgetpid9$0000000000strchr.cstrchrsleep.czeroitvsleepawakeexecv.sFRMSIZEexecvrew.crewindmemchr.cmemchrsemlibc.c_seminit_monlock_monunlock_semgetc_semputcfindiop.c_findioptime_comm.cstart_dstend_dstmonth_sizelocaltimegmtimextimetzsetgetznamegettimegetdigitgetdstgetusadaytabsundayBSD_getime.sBSD_getime9$0000000000ioctl.sioctl9$0000000000fp_class.sfp_class_d1$00000000002$00000000003$00000000004$00000000005$00000000006$00000000007$00000000008$00000000009$0000000000fp_class_f1$00000000012$00000000013$00000000014$00000000015$00000000016$00000000017$00000000018$00000000019$0000000001/net/siouxsie/d2/3.2A/usr/include/fp_class.h/net/siouxsie/d2/3.2A/usr/include/sys/softfp.hdtoa.s_dtoa1$00000000002$000000000015$000000000016$000000000019$00000000003$00000000004$00000000005$000000000055$00000000006$00000000007$000000000075$00000000008$00000000009$000000000010$000000000011$000000000040$000000000012$000000000013$000000000014$000000000020$000000000022$000000000023$0000000000infinitynanungetc.cungetcatof.cinfinityatofmemset.cmemsetsignal.ssighold1$0000000000sigrelse1$0000000001sigignore1$0000000002sigpause1$0000000003sigset1$0000000004signal1$0000000005ninvalid_sigtramp/net/siouxsie/d2/3.2A/usr/include/sys/signal.h/net/siouxsie/d2/3.2A/usr/include/sys/errno.htimers.sgetitimer9$0000000000setitimer9$0000000001execve.sexecve9$0000000000tenscale.s_tenscale10$000000000011$000000000012$000000000013$000000000020$000000000021$0000000000_pten_ptenround_ptenexpatod.s_atod10$000000000011$000000000012$000000000020$000000000021$000000000022$000000000023$000000000024$000000000029$000000000025$000000000026$000000000028$000000000027$000000000040$000000000050$0000000000infinitydwmultu.s_dwmultucrtninit.senviron__Argc__Argverrno__start_gp__istartsetchrclassmainexitmoncontrol_mcount_sprocmonstart_iobfgetsfflushprintfsprintffputsTcl_AssembleCmdTcl_CreateCmdBufTcl_CreateCommandTcl_CreateInterpTcl_DeleteInterpTcl_RecordAndEvalinterpbuffercmdEchodeleteProccmdCreateatoiTcl_DeleteCmdBufTclWordEnd_ctypemallocfreestrcpystrlenstrcmpstrncmpindexTcl_AddErrorInfoTcl_BackslashTcl_CreateTraceTcl_DeleteCommandTcl_DeleteTraceTcl_EvalTcl_GetVarTcl_ParseVarTcl_ReturnTcl_SetVarTcl_WatchInterpTcl_BreakCmdTcl_CaseCmdTcl_CatchCmdTcl_ConcatCmdTcl_ContinueCmdTcl_ErrorCmdTcl_EvalCmdTcl_ExecCmdTcl_ExprCmdTcl_FileCmdTcl_ForCmdTcl_ForeachCmdTcl_FormatCmdTcl_GlobCmdTcl_GlobalCmdTcl_IfCmdTcl_InfoCmdTcl_IndexCmdTcl_LengthCmdTcl_ListCmdTcl_PrintCmdTcl_ProcCmdTcl_RangeCmdTcl_RenameCmdTcl_ReturnCmdTcl_ScanCmdTcl_SetCmdTcl_SourceCmdTcl_StringCmdTcl_TimeCmdTcl_UplevelCmdTclDeleteVarsTclFindCmdbcopyTcl_MergeTcl_StringMatchTcl_HistoryCmdstrtolstrtoulstrncpystrstrTcl_ConcatTcl_SplitListTclCopyAndCollapseTclFindElementTclFindProcTclIsProcFindVarInterpProcNewVarProcDeleteProcsscanfstrerrorrindexTcl_ExprTcl_TildeSubstlseekmktemppipewritecloseopenunlinkforkdup2_exitexecvpreadwaitaccessstatgeteuidgetpwnamgetenvstrcatBSDopendirBSDreaddirendpwentfopenfclosefstatgettimeofdaysys_errlistsys_nerrprecTableExprGetNumExprLexExprGetValuefcntlgetdentsmemcpy_cleanup_bufendtab_sibuf_sobuf_smbuf_lastbuf_filbufmemccpy_bufsync_sprocedisatty_xflsbuf_flsbuf_wrtchk_findbuf_doprntsbrkbrkreallocscanffscanf_doscan_cerrorgetpidstrchrsleepexecvexeclpgetpwentsetpwentrewindfgetpwentmemchr_semgetcfreopen_findioptzsettimezonedaylightBSD_getime_lock_ulock_nlock_ilock_flock_wlock_clock_tlock_ctlock_dlockioctlfp_class_d_dtoaend_minbrk_curbrkungetcatofmemsetsigsetsetitimersigholdsigpauseexecve_seminit_monlock_monunlock_semputcgmtimelocaltimealtzonetznamefp_class_f_tenscale_atodsigrelsesigignore_sigtrampsignalgetitimer_dwmultu@&p&?�!@&p&?,�@&p&k)

        !          30445: �@&p&�
&�@&�&��#&
        !          30446: 6&!>@&�&&DD4F(@&�&&�r?n@&�&&�^M
�@&�&XRZ�$@ &��e%&(��-)&_2@ &i��W��0@ &��&�7@ &T�&�>@ &d�&�E@�&p^��&�b
        !          30447: &��L&�!@�& ��&�Y
        !          30448: ��S&@&`&x�&��       3�@�Z&�&�@I0&<��z��!        �ta&�&�@d &�J��r*W�h&�&l@y�&���      �8
@�o&�r@y�&}
'�@y�&
3�@y�&-��
?�@y�&�I�        
Z�@y�&2��
r�@y�&�
�&@y�&$(�
�&@y�&LZ�
        !          30449: 
�&7@y�&�l�
�!&P@y�&�
�&i@y�&,v�
�&�@y�&���
�&�@y�&|�
&�@y�&�~&
&�@��&&�`(DE7~&�&
        !          30450: e�@��& �s�&�@��& �u��$&�@�&!8��+R�I
��
        !          30451: &?�@�&%83k6�MV&�&
�@�P&%kEw7"�W&  &
�?@�P&%�4�& "$@�P&%�Z�& 0$(&@��&&>,�7�1X& T,&&@�&&j,�        7�!Y&  l -&-@�@&&�&�88Z �S0&3&N@��&'�
�=+"^& �5&&��
@� &'��=M+_& �6&&��@��&'��=xF`& �7&&��@��&'� �=�;a&
        !          30452: 
8&&��@��&(
        !          30453: �=�b&
        !          30454: 9&&��@�&(�
        !          30455: ):&&�@�&(%>yc&
        !          30456: 5;&&��$@�&(4L>}d
        !          30457: C<&&���A &(�@�'l&
        !          30458: _=&&��A�&(�@�m&
        !          30459: m>&&��A0&(�@��n&
        !          30460: {?&&��)A�&(�
"A[Ko&
        !          30461: �@&&��A�&(�C&
A�&p
        !          30462: �A&&��gA
 &):3       B�*s&
        !          30463: �B�E*A
�&)=<B�t&
        !          30464: �G�oA
�&)[8AB�u&
        !          30465: �J�uA@&)�HB�$v&
        !          30466: �O&&��       A�&)�)LC!
        !          30467: w&
        !          30468: �P��A&)�&RC+�x&
        !          30469: �S���A &*�kC�y&
        !          30470: �X&&�P       A�&*�oD
.z
        !          30471: �Y&&�YAP&++wD;
        !          30472: }&
        !          30473: �Z�nA�&+9}DE~&
        !          30474: �]�uA�&+U)�&b�A�&+~�&g�A�&+��DML&
        !          30475: �l&&�wA�&+�"�D�
        !          30476: �&&m��A&+��D��&r��A &+��D��&        w��A@&+��D��&
|��A`&,�D��&���A�&,2!�D��&���A�&,S�D��&���A�&,a%� D����&&��?A`&,��Ex�&/���A�&,�'�E��&3���A�&,��E��&7���A�&,��E��&;���A�&,��E��&?���A&-�E�"�&C�&&�� A�&-'�E�@�S�&&��A�&-@�F&�&c�&&� A�&-Q]�F&a�q�&&�pA �&-� �Gw����&&��-A"�&-��G��&����A"�&-��H�&��&&��
        !          30477: A#0&.    H �&����A#P&.%"H(�&����A#p&.G&H0��&�����A&�&/X%H�f�&��&&�vA(0&/j)I\�&��&&��A(p&/}
        !          30478: -��&&�A(p&/�/Il�&��&&��        A(�&/�?3I~\���&&��&�A>0&/�"?N�����A>�&/�7GN����&&��&AQp&00
        !          30479: S��AQ�&0:US��&'���AQ�&0XZS�
�&+�&&��AQ�&0i^S���9�&&��FAT&0�eTD
        !          30480: �&I���AT0&0�jTN�&M�&&��AT�&0�nTj�&[�&&��AT�&0�:rTz0�i�&&�AU�&0�~T��&�&&�AV&1
        !          30481: }�T�j�        �"�&&��A_�&1�&�W)�&����A_�&1��W1�&����A_�&1�&�W9e�����UA_�&2�.���A_�&30���Aa�&33&T�W���&���G�Ad�&4��Xb8�&��&&�Ae�&4��X���&�&&�GAg�&4��Y#
        !          30482: �&�&&&�\Ag�&4���Y-]���b1Ag�&5\0         �Ag�&5�/      �Ai`&5�8 Y��
��Ai�&5� Y��&
��Ai�&6� 
Y�T�&
!��gAk&6��  Y���&
$�yAm0&7~ 4Z}�&
'�yAm�&7� 8*&�&&&&&&    
        !          30483: 
        
        !          30484: 
        
        !          30485: 
        
        !          30486: 
        
        !          30487: 



        !          30488: 


        !          30489: 

        !          30490: 
 !
        !          30491: 
 !
        !          30492: 
 !
        !          30493: 
 !
        !          30494: 
 !
        !          30495: 
 !
        !          30496: 
 !
        !          30497: 
 !
        !          30498: 
 !
        !          30499: 
 !
        !          30500: 
 !
        !          30501: 
 !
        !          30502: 
 !
        !          30503: 
 !
        !          30504: 
 !
        !          30505: "#
$"#
$"#
$%

        !          30506: &'()'()'()*+
,
        !          30507: -./0123456789:&&;&<&&=>&?&&@AB&C&DEC&DEC&DEFG&DEH&DEI&DEJ&DEK&DEL&DEM&DENO&DEP&DEQ&DER&DES&DETUVWXY&DEZ[&DE\&DE]&&^_`abc&DEde&f&DEghi&DEjklmno&DEp&DEq&rsq&rsq&rst&&uvwx&DyzEx&DyzEx&DyzE{&DE|&DE}&&~&&&&�A���A���A���A���@&p $�P���(Am����01@�� =@ 1B@�� &G@&� R@&� Z@&� 2i3O��3n@� &4t@�8 5{A  &6�A� &7�A0 &    �@�  �@  �@x �@� �@
        !          30508: � �@&` �A ��A$�&@&� &
@ &@8 8&"A� &       &'@| 
&8@`� n0&C0�O��9&JA� 9&QA� :&VA
  &;&]A
� &<&dA
� &=&kA@ &>&sA� &&y@#d �&�@WX M&�@" s&�@
< '&�@"� }&�@
� /&�@g� &�@jd -&�@V B&�@h� !&@
        !          30509:  
        !          30510: @y� @z\ 
        !          30511: *@~D  7@( )E@� 1U@�0 9b@� Bn@� Oz@�T u�@� �@�d ��@�� ��@�� �"�@�� O�@mD B%�@� %�@�� $%�@�� %�@� C%@�� R%@�l Z@d  %*@Ɛ d%7@� u%E@� �%S@Δ �_@lP 7%j@Ո �%x@׸ �%�@�� ��@n� M�@sh p�@$� �?�A &�@M� �@]� f�@(� &�@� '�@�P @�A  &*@�� @T� 8@[� V @L� 3@I0 B@r� dN@s0 kX@x( �`@s� vk@y �r@w� �A�A� +�@� B�AP &,�@�� ."�@�X ?C�A� &F�A� &G�A� H�A &I�A  &J�A@ &K�A` &L�A� &-�@�� &M�A� &N�A� O�A` &P�A� &Q�A� &RA� &SA� &TA &UA� &VA� &.&@�  &/1@�� &W<A4 XEA � &4K@�t YRA"� &ZXA"� &+e&8@+q?��,z/d@,�@�@ 
        !          30512: ,�@�p ,�@� ![�A#0 &\�A#P &]�A#p &4�@� &2�9@O��2�d o��2��(o��2��0o��2�@���^�A&� &_�A(0 &4�A� `@@���aA(p &4A<         4@� 4&A&` 4.Ad 
b7A+� c?A>0 &cDA>d 9HA 
        !          30513: APA� &AVA� d]A>� eeAQp/��fmAQ� &gtAQ� &h{AQ� i�AT N�A� W�A� W�A� j�AT0 &W�A, k�AT� &l�AT� X�A � m�AU� &n�AY�         n�@����n�@����o�A_� &`�A(���`�A,���`A0���` A4���`A8���`A<���`A@���`%AD���`,AH���`4AL���p;A_� &qAA_� &tLAa� &cR�`o��cV;�O��c^;�O��ufAd� &vmAe� wrAg� &xyAh� 
{�Ai� x�Ag� &x�Ah� 
        !          30514: |�Ai� &l�AT� &l�AT� l�AT� l�AUH         n�AWT n�AV n�@����n�@����q�A`� }�Ai� &~�Ak &xAh xAhP xAiD x Ai {'Ai` &1Am0 &0707070035050536551006660011710000040000011170320466276621500001200000660310tcl/a.out&`&��s&�(`8&&&j�@�#&j�&�p����
7�&�.text&j�&p&��E .init&j�&j� &k��.rdata&j�&j��&l&��&.data&o�&o�7p&q&��@.sdata&�&�p&�p&��&��L.sbss&�p&�p@&�.bss&��&��"����'�<'�$���0!'��诠�����!Z���=H !�������=�@ !
�'�� �!�'��௿�� ��$��(��,$&������,Ȁ&�@!�  ����(K��$��,<&����@<$�o�����(&�* ������,@�&�H!�$<@X$�����(��%l��&L* @'����%�&�ί�@'��!&��'� �'��诿��<&��@$�p<&��'��'��௿�� ��$��(��,����($&�
        !          30515: ��$��,<&���@<$�pd$&��,�$@�����&�@�!F !��%*������`��!&�����'� '��诿��&���<%�&���<$����'���'�� <%�&���<$�&ȯ�'��(�'��0&,����$<���<&3Ϡ9����$<$���@X'��8<>Z$���<$Ɲ�'�0=�$�@�!��$ =� !��0��&T'�0��,��,@$&��$����$����, <0!��(��(����������'��<�@��($&&!@'��@<&��(@$�p����  �*@��'��H�e@@'��P��&�����'�'��د�����A<$@�!A<$d@�!�$d��!&�������'�('��௿�� ���� �B&B& !&�����'� '�������@��D������@��DB���8��8���i��DB���8���8&��!'(&��4��4�
        !          30516: &I* �`@��,��,��4&�+ ��4��,��,A<��(��(�BT�B&��(���,���        ��DBT&      !�
        !          30517: ��8&K`!����$�-<&�p!�Λ�1���8$&
        !          30518: &$&��$&1&�(<      &(H!�)��1*@���+`��$���   !  !�(!@�!��&�������'�@'�����$�� ��������A<$& @�!&X�������� �$�(�,�0�4�8�@�<�D�H�L�P�T�X<&<&&Rq&1t�/��$B�@�!A<&�@�!�X�x�`�`��y��%BT&d&1&R�(��!&��$���������� �'�@'��௿�� ��$��(���� ��A<$@�!��$���(����(T����0T&�����'� '��Я���0��������0��,��,��L7&��L��,�        `��,�RT@�K�D��0&`�   B&@ !�R@����,���
���&�� B& !�����,���,~��,�/(���,�(B&��,�*4@��,�d4B&��,��4����4��,�4 ����,��P B&  !�1 ����,B&&���������'�0'��Я���0��4��8��<������0��,��0��4���4B�@�!A<&$@�!��8���<���@���,�       � ��,�P��4BT&&�������'�0'��௿�� ��$�� ������$�0!�������� ��� �& �       �����K����B&&��'� �'��8��<��&ȯ�&̯�&Я�&ԯ�4��8��,��0��$��('�&���$ȯ��'�ȯ��$
        !          30519: ��������������&��H�DB&�@&IX�I�@X�J%K&�K�L)�e <
&%�q��M�$&��&������&�1�&�$]��������&� '����&ԏ�&��1�*���Kh�,<
&�h!����1���/$&;�&1&�8<8�!�9��3(���)$&;!���*$&#A&1&�+`
�,$&
        !          30520: �&1&&1&�-���0������������&��!'�������������������4&����@���`������
p�&�x!�����$&���/${�&&��� ���%K&���"���$&&�����,&<&�p!��1���8&����(&�)&$&;!���<
        !          30521: &%Jr(����$}�&&�������%������&��������      ������H�)P!�K$
"�
&&&����$&�������.&<&�x!�1��(&����)& �*&$&;A���<&%krL����&�����$[�&&c��&Џ�&�0�&4�&&%&'��������������DB���x�����x&��#* B��x���H!&*X#%m
        !          30522: ������A<��t�����t&� !B�0#��t���&��#��p��p�!���������&9* ������h�&M`!����p&��!�����%&���������&i* �����'�&M���B&��t�����t���&�`!%�������D��xB�(!��x�!&N��� $$�&&��&� (!='����l��l@$
&����N��DB&�@��l�O���&1����&&������$&]�&c$]�&&&��� ��� &T�+�&&&���@��������&@��������,�&&I���(&9&����&)&����&&���%j&���������%���&�* ,���`@������A< ���h���������&* ������P���h&*p!��&��!�
���%�&���������+* �����'��.���B&��h������
��&X`!�����(&$&
        !          30523: &���1���%i���&1&�  !z'�d@�!�������d�
�-�
��d&1&%X����d&&��d���&1����d(�!&1��&&o��� <&%krp���,��� <&%�r����#���$&]�    ��&����<
        !          30524: &%Jr������8�&&I$&;��0.�< &$&
��H.� $&  ��B.�
        !          30525:  �����$&
        !          30526: ��*��$&"��9.�# $& ��-��$&$�����$&{���.�| $&\��u.�] $&[��U��$&]�����$&}�������&1&���+ @����@������A<��`�����`&` !B�0#��`���&.x#��\��\
�!���������
        !          30527: * ������Ȁ&�X!�i��\&.x!�o���%�&���������&* �����'�&����B&��`�����`���&�X!%m������t�JL1X&����(����%�&������ �NH�y������h�&�P!�@���@ !��$&��������&�(!%0!��ĎD<&<&��$�r�@<$�r�$&���b������%.�n�SP`$�o�M&�* �*��[� ����d�F���������į������n��&ȏ��&��  ��[�+�s`����&�1�&�����J<�Q@�@<�HD%&�XD�LL$&��&��$�YL�I �DB&�@&NX�N�@X�����&ȍo�����čd&�� �������     ��&��Q�(��������'�&����B&���'��.���B&�K%o���O�M�4���$&A������#$&&& ��&�(!%0!���$&&<&%�r�L���$&!<       &%)s�I&NX�N<&���$�s8@<&DX$&����OL1�&���&�F���$&&A��HL1�$&�L��&�������$&
        !          30528: !�N%�&�K&�&��������<
        !          30529: &MP!�J��1H��$&;&��$&
        !          30530: ��Y')&�I&�&��<&nX!�k��1o�����$&;���'��`��L���B�$
        !          30531: @�!����B���T�����#��T��&�'��d��L��T)!) $(��T'��l��L�OL1�� �DB�@�!*�2 
�F�����L<&��T$�sX'�&��@<���F�����L<&��T$�sx'�&��@<��    ��L<&��T���$�s�'�&@<����&�}'�&�IL$&��&!p$�NL�KL$&��&ax$�OL���k��&�(!%0!�����H��H��&�H�X��$&
        !          30532: &��H%�����H��H��&�.�+��$&
        !          30533: a�������D��D��$&
        !          30534: &��D%X&��D��D�� $&
        !          30535: !�������H&�X#)a= ���%��į�H��D��H&
        !          30536: �#+&G ��H%�F��D��D��H��D���@<'��t����D��H��D<&���&�@#��$�s���&o8#@<��$
        !          30537: &�����&��<��$��(��,��0��4��8�'�&�'��د���(��,��0��4������(A<$@�!��,���0���4��9P��0P!&�������'�('��Я���0��4��������0��4�P��/�PB&  !�P@�X�9�YB&  !�R@��&���������'�0'��ȯ���8��<������8�L1��+��8<&$�s��$&��(��('��x��(��(B���0��<B���0@�!& !A<$�&��,��,��(BT��,��0��<BT&* !��8<&��,$�s��$&�L5l�L��8<&��<$�s��$&&�������'�8'�����$��H��L��P���� ������L����H�!�� �8��LB�&$@�!`�9���H�    �)��H�QC ! �!�1 ����P`8!��H<&$�s��$&��0��0���$&1�(!��LB���4��8��H�!�� �/���L��4B�&$@�!`��8!��8 �!�1 ����8&��$�������� �'�H'��ȯ���8��<��@������8�$� !
�$� !��<<��8�!�9��3(��<%*&��<��<<
�l&�h!����1������<����8(!%0!U!�0'(&�0�     ,%*&�
        !          30538: ,�,�$&l* �,�,�
(x�&��!��<B���(��<��($&
        !          30539: @!�  ��!
��(%K����(��<��($&
        !          30540: &�h!���������(  !
�$�&�$��<��(C��8��(@!���@$&��!!�
        !          30541: 8��,��<�8��@��8��<8!4�&��$��,�8��$&�������'�8'�����$��x��|���������� ������|���$&&� !�'���@�! �$&�%S !��|�%0!8!���������k����B���l��k$&a!@�����l�DB�'���@�!@8���$&a$&a      ����<&��@<$�t�m$&���$&������B����@�!��@0!B�'��`@�!` ����<&�@<$�t�S$&�����|�%      <0!L�����|�     <$��E��k$&c!>�����l�DB�'��h@�!@6���$&a$&a    ����<&��@<$�uP*$&���$&� �,�(��&؈!l !��� !�%�@�! $&����B�@�!&E&
�  !����$�%BT!��k$&eA1�����l�dB�'��p@�!@)���)�      ����<&��@<$�u��$&���$&�'��x����� !�@(!@�! �$&�%� !��|�%%$�!��k$&i&&�����l�$B�'��|@�!@&���$&&$&& ����<&�&@<$�u��$&���$&A!���'�L�d780!@�!��X�����L���     ����<&��@<$�u��$&��X�$8* �$��X�       $��X��l��P�$�
        !          30542: ,��X&Kh!&�x#%�&��T��P��X* G��T�    $& * ��T�$&Kh#��T��T�(p�&��!���\��\B���l@�!&H!%*   ��l��\B�$
        !          30543: ��\��\`��l%�&��l��\%�&��\����T�(@�H!�$B���l@�!&RX!%m        ��l��P��T%�&%�&��T��P��P��X* ����lA<$�&��\��\�   $
        !          30544: &�
        !          30545: ��P�
$�,��X&mx!&�p#%�&��T��P��X* n��T�
        !          30546: $&** ��T�
$&mx#��T��T�(��&��!���H��H�*@H��X��P�0&mx#��\&�0#$�&@<'�����\%���\��HB�$
        !          30547: ��D��D��D��H&      P#%K&��@��\��H��@C���H��@&�x!��H��\��@&��!��\��\$   �(��\%K&��\����\��HBT��\B���\@�!&�p!��\��\$
        !          30548: ����\'8&��\��P��T%  &%K&��T��P��P��X&�* ����\����&�!��k$&k�������l�$B�'���@�!@����$&&   ����<&�@<$�v&�$&���'�0�$780!@�!��<�����0�mM��<)�� � ����<&��@<$�v0&|$&��<A< ���,��<�$&�* �,��<H#%+&��4��4A��4�$&�x!��4�,%�&��4��8��8��<* B��4�$&+* ��4��8�
$&M* ��4�(��8H���,   X!`��a�j&��!�!�*��4�
(p�&�`!��A<$(��8��,H�@�!& P!�R��8��,x�/h!������8��,H�$(     P!�L��8��4%y&%�&��4��8��8��<&�* ����8��8� $ * ��8�(
        !          30549: X�&��!�/���8�
(@�&��!�B&��8%*&��8��8�$&�* ���(B&��,�(��<�$&�* ��<%����,�$'    ���     ,��<�
        !          30550: $�!��k$&n������l�dB�'���@�!@���$&!  ����<&��@<$�vD�$&�0�'���@<$�&�!��k$&r�2�����l��B�'���@�!@*���)&  ����<&�@<$�vl�$&���$&!'�������R !�@(!@�! �$&�%S !��|�%0!8!���k$&s�4���<&��l�dB�$�v�@�!@+���+! +!      ����<&��@<$�v�i$&���$&�'�������� !�@(!@�! W$&����%��. !O��k$&w&@�����l�$B�'���@�!@8���$&A$&A     ����<&��@<$�v�4$&���$&a'�������2 !�@(!@�! "$&����%��� !��(��(�$&��(� !��(�
$&�!����<&��@<$�w $&&��$�������� �'�x'��Я���!��$��0��4�� ��4�$��4A< �@�!�(��,��,��4&�*  A<$(��,�(H�@�!)P!�Q��,�(h�&mp!������,�(H�$(&       P!�X��,%�&��,��,��4&�* ���,�0<$�', !'���8!¯�&��$���� �'�0'��௿�� ��$���� ��$��&�* �� �$B&��$A<�� @�!���$�� �I&�����'� '��د���!����(��,������(�!��4 @��8* ��((* �     �)�
        !          30551: �*��+�$B&��,B& !3�
�.&�* ��8* �B&B& ! ��((*  �!�1 ��@��(�*4�
        !          30552: ��(�p4�L��P&���������'�('��د���!����(��,�����<��8�"A<$@�!�<�8@#�(�        @�
        !          30553: 8&*X#%l���,��,B�@�!�2�$A<$�&@�!�2�$��,BT !
� (!&���������'�('��ȯ���!����8��<�����<��8�O�<��0�@��,��0�    8 B��0%K����0��0$&[�����0<���!���3 *����,$&]� ! A<$@�!��0�8&K`#�,��,�8&�x#�/��<��$$&'�$@�!�2�$B�@�!�2 !
� (!&���������'�8'�������!��$��H���� ���4�f�,�(��&��!�DB�@�!��4�4 �(�)��4&     P#&j`#%�����4��4�8&�x!��4�1 ����4A<��<��<��8��0�4 ,�(��0& X#��,��,@�L��0��8��,C�&�(!��8��,&�x!��8��8�%�&C���8�((H!��8�+%j&��0�$B&B&  !�1 ���L��0��8BT&�(!�DB&��<�N��4�X�4&��$�������� �'�H'��诰��!�����8�4��4��B&�4B&�4��4�4��&�����'�'��ȯ���!����8��<������<<���!���3 $&-�M��<'�,6�0!��4��,�      �<&��<@<$�w�u!��4A��4�0&lh!��4��4�0* �<&��<@<$�w�_!�0�$��4&�H#&9*  �<&��<@<$�w�O!��4�0�
,&K`#&�p!��0��0&��0�$&�H!��0��0�(
        !          30554: X�;+!��<B���$�
,%�����0��0���0�$@!��0��0�
        !          30555: ,*��0�(h�-�!�$��<��$B�@�!@�$��<!@ !��0%����د�0�<&��<@<$�w�!&���������'�8'�������!����H��L��P��T����PB���4��TB���0��L��D��8��D��P7���D��D���D��4@!��D��8%*&��8����8`�<&��P@<$�xP$&��LB���0��4��8&�p#&�@�!�8�!��,��,A<$�&��<��<��@��L��P7���D��D ��@��LBT��L��D��@&@(!C�&j0#��D��L��@&�x#&��!��@��@��TBT��@��0(H!��@��D��4&j`!��L����<S !��< !0!8!��(��<B&��(&�������'�H'�������!����P��T��X������,��8$����4��X$&$��&
��X�(&&$    ����8^��X<�K&�`!����1��Q��X'�H780!@�!��8��H�����8��43��H$&-�(&-��H%*&��H��H$&$�l���H%�&��H��H<��8�!�9��3(   ��H'�H780!@�!��4���H�*@���8��4&�* $&������X��,��TB�@�!A<&D&��L��L��@��T�/<�!���3 
        !          30556: &1&�(<  &(H!�)��1*@����0�+`n��H  !�(!��D��D�,<
&�h!����1��
        !          30557: &1&�/<�!���3 ����8��0&(* $&��&�*@?��4$&��a��0&l* 4��,���D����#��D���H��,!��$��#��D�9��$��@��LK��@$ ����@%�&��@��H��D��@(!C�80#��D��H��@&(P#&j`!��@��0%�&��0�/�����@� ��4��0  * ��8&     * ��LB&�<&��X@<$�x,
!��L
        !          30558: �<&��X@<$�x`!&���������'�P'��ȯ���!����8��<��@��D������0�<&�x!�1�
        !          30559: &&�<&@!���1   ���
        !          30560: $&{A$&��0&&��L���0��L���!�2���0���0'&��0���0$&&&G0H#��,&1&�*<&jX!�k��1l��-�y��$��$���!<�!���3 &(&�+ ��$%*&��$��$�l�<
&�h!����1��&8&x+ ����8(!%0!��8��$<&�$$�y$ 8!@<&�0#g$&��0��0%*����07  !z'� �� ,�!&1��.��0�0x#��,)$��0`��8<&$�y`%0!?$&0�#��,@��$&  A��$&
        !          30561: A��$& A��$&\A��$&{A�p$&}A�w&1&�g�9<&�p!�Λ�1�
        !          30562: &1&�)<
        !          30563: &IP!�J��1L�����@����D����H`��,��H�8!&���������'�8'��ȯ�����!��!��$��8��<��@���� ���8� $&\A !z'�0@�!�3��0�!&����8��0@#%        &��8�2��8�&&&%K����8&1&��8���� &��$�������� �'�8'��P��$���������� �������)� '�`��\���A< ���\��X��D��D���* ���4��8��<��@�!��,��0��D���     P�&
        !          30564: X!�p�$&{�6R�
�6R&��J��@%�&��@��<'&��<v��@%(&��@��<%K����<l6R&��0%�&��0e6R&��,%�&��,^6R&��4'&��4W&&�         R�$&{&
�
        !          30565: $&}A      �$&[a�$&]�6R&��8%�&��899$&\a��.a] !$& a��.a! $&     a��.a
        !          30566:  `��!$&
        !          30567: a��$&[a��.a\ $&$a��$&{a��.a| $&]a��$&}a��&�}&&��D���Ȁ&�H!�(��XP#&j`!��X��<���@��8��4��0&�x!��,&�H!��X&(X!&j`!&�p!��X$2X&��X%���X��X%(&��X��D��\
        !          30568: h�&m`!����D%�&��D��D���&�* �0��XA<$�&��T��T��D��D���&(* ���D��\h�&M`!��2N&�${�8&1&��D���H�&�@!��`u2J@i�5$
\�-&1&a$\�,&1&$n�.]$\�8&1&$t�9V$\�/&1&&&�    $&{!
�$&}&       �$&[a�
        !          30569: $&]A$
\�-&1&��=2$&\a��.a] $&$a��.a% $&
        !          30570: a��.a $&        a��$& a��$&[a��$&{a��.a| $&]a��$&}a��&��.&1&&&���2Y& $}�/&1&$    �)&1&��D%&��D��D���&M* �d��T,� � ����\'�`���\B&��T&��$�������� �'��'��ȯ���8��<����$&��4��0��0��8&�* ��0��<H�)P!�DB���4@�!&q`!%�&��4��0%�&��0��0��8* ����4A<��(��(��0��0��8)* ��0��<`�&Lh!��BT !��0��<��&�@!�B�@�!�!$ �&&��0%+&��0��0��8&L* �������(&�������'�8'��ȯ���8��<��@������8���,���(��<�X&X��/��@��<� �%��@$&&A��<�$&���<B���0��0)�� 
        !          30571: ��0A<$�&@�!�$&�&X�����<BT��,��(B&&�������'�8'���$�&$�����$��&$���$
        !          30572: ���$
���$         ���$�&��<&jX!�k��1l����$C��$&���$����$&M!$�&��<       &(H!�)��1*@��`$
���$
����1�5�����$����1 ���$�&��<&jX!�k��1l����$M��$&���$����'(�����������<&jX!�k��1l�-��%��У�$�&��<�!���3 ~$������     P�&K`!%��У�$�&��<&�x!�1�k$������H�&*X!%l�У�a$
\��$&��[$&]���,�^ -$&C��c,�D $&$���,�% $&"���,�# ��$& �����$&;�����$&[���,�\ $&M��|��$&\�����$&r��/,�s $&e��!,�f $&b����$&n���$&{��w,�| $&t���t$&}��l�o�m�������&�'�'�������@��D��H��L��$&��D��4���<8�!�9��3(��4%*&��4&&�`����4��Dh�x#&� !A<$�&��<��4��<@���0�!��D�*@P��@��D'�('�$����'� �'�D��,��,���<B&��,H�� ���4��0��48* ��@<&$�y%0!3$&��0��< P�&
        !          30573: X!�p��$��� ��(C� !��(�!�&&  ��(�� �0!��(
�!&&��0%�&��0��D�    ����<��L�H��0��H��!&�����'�@'��د�����!��!����(��,�.�       ���$&�!��9$&*!�!�($&*&&1&�) �$&�
        !          30574: @
 !! (!@|$&&&�`��u!�,$&?�i�-$&[�S&1&�.$&]��/�`!�8�.�(&$&-&'�)��'��'@L!�+�&�+   ��'�&�+ �/�&�+  ��'�&+ &1&1&���)$&]!�*@
        !          30575: &1&�+$&]a�,����-$&\�&1&�.�!�/��!&1&&&�\&�������'�('��د���(��,����(�<&�x!�1�
        !          30576: &&�<&@!���1   ���
        !          30577: $&"A&&�$&\a !z'� �� �!�
$&\����$&"���8�$&{�4$&���� .&&�$&\& !z'� ��     �!�
        !          30578: $&\A���$&}a��%������$&{���%�&��� k!�����        $&[!$&&�
        !          30579: $&]A�` !�$&@�!�$&;�&&�
$&]������$&]�&&�$&[&���$&\!�&$&
        !          30580: && !z'� ��       �!�
        !          30581: $&\A���$&;a��(&&�
<&�p!�Λ�1����$&]!��,&&��!&�����'�('�����,��h��l��p��t��(�� ��$������l��p$&�      ��t�<&��@<$�{��$&A<$@�!�0��t�B�@�!A<&D&@�!�3��t�$�%BT� ��t<       �%)v(��l<$�rp��� 8!��t��l�E'�X�'�P��\��\`��\���T��T��X&�* ���T��P��&��!�%��l'�D�'�8��\��\���D)! ��T��P`�&Lh!���<&@<$�{�$&��\o��D�       ��8��(��t�<&�&@<$�|$&��\Y��8�DB���@��D$&� ��8��B���<��<�/���@��<&� !A<$�@�!�4��@��<( !A<$�@�!������8&��%BT��D$&a
��@�`!%�����8����BT����<��������8B&��T'&��T��T��X&   * �v��PB&       !��PB&��\&��,������ ��$��(�'�h'��௿�� ��$��(�� ����(����  ����$�$�������$� ����� !���K1l�����������3 !���&��'� �'�����$��@��D��H��L���� ������@��L��O �&Q�Q ��D�  !@�!��D��H�@�!�8��0.�3(���HB���0��0�
        !          30582: &I* �1l&��B&��0A<$�&@�!��
5�&���0����HBT�$&��&�$�&��$�������� �'�@'��د���!����(��,��0&&�$&{�&&&��$�$&}��
        !          30583: &&�$&}!�����0 
�
        !          30584: @��0&&����0��(��$�<&�x!�1��$&_!&&�<    &(H!�)��1*@���$&_a����0���0����$ '��В��#���(��$�0!������((!%0!��(<&��$�$@<$�y䓨#���&�����'�('��௰��!���� ��$��(��,��($&���, !���0!����   ��,�<&�&@<$�z$&���!��($&!     ��, !�E�F�8!!��,�<&�f@<$�z$$&&�����'� '��Я���0��4��8��<������4��8)�      ��<�$<&��@<$�zXQ$&�8 K!��8��<'(��%*��<��8��8`=��<&$�����$��$���<'��ԍ����$�/��$���$�9��$�       5*�
        !          30585: ��<'��؍d�@�!�5��
��$��/ ����9 �0��8��<%*��%��<��8��8���!&�������'�0'���������������������������)�       ����<&��@<$�z��$&������l��l$&#�       !��l'�p$
        !          30586: 78$�&@�!��x��l��p%l&L�M�����%���������'���F��l<�  &iX!�k��1l�(��l'�p78$
        !          30587: @�!��x��p��lM�N��� ��� ��x�(H#��x���%l��������%����� �k� ��'����x���%  ��������%l����
 ��h��x@� "��h��d��d���d��x�(
        !          30588: ��d�+��d��d�����d�5��d�
        !          30589:  �����\���$&&�
        !          30590: �������0!8!��t���������\�����\0!8!��t��t$&&!
        !          30591: ���<&�$�z�@<'� ���}'� ��h�       ��t
        !          30592: �<&��l@<$�z�$&&�������'��'��௿�� ��$�� ��$�0!�����!��<��'9rp!���&��'� ���<%�rp���!&�'��௿�� ���� ���1�&�B&B& !���&�����'� '��8����!��$��ȯ�̯�Я�ԯ� ��������������n �    �o ��'&���$&����������������k����l ���'���m'���n ��ԏ�Ў%�'(����Я�� S�) &$B�'���@�!����A��Џ�Џ���������&$@�!���B&����K������1�������������/��8�����Ԏd<&�'$�z�@<&&$&���Q����&$@�!����I�����ď�Ў1%K%�����Я�� ��������Ԏd<&��@<$�{$$&���2��̎0!'��������$&!���%���$&&&
���<&�g�&$�{H@<'�,���}'�,���$&A<&%k{h�k$&���
        !          30593: ���$&�<&%�{��n$&������@�X3& �DB&B&@ !�R@������h����i ���&��$���������� �'��'��د���!����(���B&� �.1�&��$B&B&  !�1 ��B& !&�������'�('��ȯ�$��8��<���� ������<����8�!�� �8��<B�&$@�!`�9���8�      �)��8�Q
        !          30594:  ! �!�1 ��!&��$�������� �'�8'��د���(��,����(B��� ��,B�����)� $���� �� !A<$�@�!��(BT&�� H!%*�
        !          30595: ���,BT������!&�����'�('��诿������ ��$�� $&&�
        !          30596: ����$<&���@<$�~T$&$&��'��'��X���������������������)� ������<&<&���$��@<$�X�$&����(���������'���$B�@�!$
        !          30597: ���$���������&�* �������%�&�
        !          30598: ������<&�$�@<$���$&������
        !          30599: X�&+`!���-��.<&�x!�1��9$&\!&1&�(���*@'������`�&,h!��$&d���&� !B�'��@�!���'&���������
        !          30600: X�&H!�%���!@���%�&���J>��������&��!�%���'���'��������@���^���������&* ������h�&-p!�����!@���%�&������'*&���������&* �����B&������&�* ���%����������&�* �e���  ������X�&K`!�����0!8!������$&&!���������x�&��!�<�'$��@<'� ���}'� ���!&�������'��'��௿�� ��$��(��,��($&�
$&�
        !          30601: ��$��,<���@<$�� $&��,��$�%0!8!����($&&��$��,�&�E8!�&  !��$(!%0!��$���d@<'��!&��'� �'��௿�� ��$��(��,����($&&�
        !          30602: ��$��,<���@<$��L$&��(��,$����$���$@�!�0��$$&�(!&�����'� '��诿������ ��$�� $&&�
        !          30603: ����$<���@<$���$&$&��'��'��௿�� ��$��(��,��$����($&�
$&�
        !          30604: ��$��,<��&@<$���$&��($&&��,��$�%}���KL5l�LL��,��$��%$$&&��'� �'�������`��d��h��l��h)� 
        !          30605: ��d��l<���@<$���/$&��h$&!
        !          30606: ��l��d�0!8!��\��h��l$����$���X��d��X0!8!��\��XB&��\$&&!
        !          30607: ��d<�F$��@<'���d}'���\&��'�`�'��������������������'����쯠�$������������$&���������&** Z������h�&mp!������������@�H!�*$&<�L��K&`9���%�&���������&�*         ���<����@<$��$$&������   `�&P!�K��쏭�%�&���������&�* ������     @�`!�������%m&���������&�* �����')��������'&���������&L* �����%m�����������Ȁ&�H!� ���       ���<����@<$��T&�$&������E*:�������&�$&$��$
��$��$����ԯ�د�̯�Џ��B���菹�+! 3D@'��@�!&��8���@�!<����$$��|@<8!$&���&@��؏�쏦�DL���@�!��8���@�!<�D$���@<0!$&���&)���DT$�����R<$���BT'��C�'��'��$&D\0!��ԏ�����8���@�!<�����$��@<8!$&���&��ԏ�쏦�DL���@�!��8���@�!<�$$��<@<0!$&�������(!C�0!@�!$&��&Dd'��@�!$&��!��8���@�!<�$��l@<0!$
        !          30608: &����D@'��@�!&���<�����@<$���$&����Dl������$&�����8���@�!<�����$���@<8!$&������� ?���Dx(!@�!$&��&���Dx$&@�!$&��!���Dx$@�!$&��A<        %)���(��(B�@�!��Џ�(DL0!D�$&���DT���DT���DT������D����<�$��0@<'�0B�'�0@�!0!$&DL'�0D�$&���DT$����ԏ��DT$
        !          30609: ����Я�௠�$����ď�܏��&mp#)�d  ����$ȯ�����    �@��܏��A<��$���       ��䏥$���B����B&��$��䏫���܏�䏤�&�0#$���ET&�(!��ȏ���������8���@�!<����$$��T@<8!$       &���������P!�������䏭�&�X!�`��䏯������$&�9���$&��&+E\'���� �� $&��&
        !          30610: ���<�D@<$���$&���
        !          30611: �� ���������$&�1�����<�$@<$���$      &��ē����ď��$&��&���DT���$&��A���DT���$&������DT���$&������DT���&���������'��'��௿�� ��$��(��,��($&�
        !          30612: ��$��,<���@<$���$&��,��$�%='�������
        !          30613: ��$���$@<'��!&��'� �'�������X��\��`��d����`$&�
        !          30614: ��\��d<���@<$���&�$&��d�$B���P��d��\�*:��$��d$&d�*�Ka+��P&@ !B�'�� @�!$��$C�$/��T��T���\'��(����T��$���\'��,���T� ��\��$%$��T$/�K&�!��d$&r�����(��P)� #<$�� &� !B�&�0!@�!��$C�$.��T��T��\��$%$��T� ��\��$%$��T$.�(&S!��d$&e�j�L�'��P)� "<$��,&@ !B�&�0!@�!��$C�$.��T��$C�$/����T����&�+ ��\��T%$&%!��d$&t��(&��P  !B�'��0@�!��$C�$/��T��T ��T��\$%$�&��\��$%$&&!��$`�$&��d$&r���N�"��P)� <$��8&@ !B�&�0!@�!$
��L��$��LEh@�!$&��&��\'��8���\'��<�9�!��d$&w�l���
<��P$��DB�&� !@�!$
        !          30615: ��L����d$&e����&��P)& 
<$��P&� !B�&0!@�!$&��L����d$&e�+�n���P)� &` !'��@B�&�0!@�!��L����d$&o�O��&��P&� !B�'��H@�!��H<��d$&i���!��P)! & !'��PB�& 0!@�!$&��H$��d$&i�l��A��P+& 
<&$�|@&� !B�0!@�!$��H��d��\<&�&�'��@<$�|LA$&��$Ep'�(@�!$&��&��\'���(5!��HEx��2@�!X&-k&��L��.1L�9��/&��L��.1��9�@/9&��L  ��$&&&��$&&����L��\'�������\'����K!&�����'�X'�������`��d��h��l��h$&�
        !          30616: ��d��l<&���@<$�}<{$&��l��d�%0!8!��\��\��\$&&!��d<&}$�}t��\e��l��d�E='�X��\��\`��\X��X�@��l��d��0!8!��\��\$&���\��\���\$&&&
        !          30617: ��d<&�&$�}�@<'���d}'���l��d�0!8!��\��\$&!��\@��\$&&a��d<&}$�}���\����\$&���\��\���d(!%0!��\&��'�`�'��p�����������������$&�
        !          30618: ������<&���@<$�}�d$&�������%'���'�����������V���������&** ?���������
p�&�x!������e�8!�������0!8!������  ���$&&������$&!������$&&A���<&�f$�}�@<'����}'�
���%�&���������&�* �����B&������(!%0!���&��'���'��X��$���������������� �����������X��T$ǯ�P���+! 
        !          30619: ������<&��&@<$�~o$&���%K��H���%�������������A'�|��L��\��t��x�$&%&.��l�!�$&%! ��  $&\! !z'�<@�!�S��<
        !          30620: �!��K&&&R&�$&%��
�����lNx#��p$&��L&��&$&%!      ��l$&��p$       &��L&&�$
        !          30621: %�*&1&&&�$&-a$-�,&1&&&�
$&0�$0�.&1&&&�<�!���3 @� !��x&&�<    &(H!�)��1*@���$&*a����&���H��@���x���%��������H'��H&&��x��x  !@<'����) &1&�*@���$&.a$.�,&1&&&�
<&�p!�Λ�1��@� !��t&&�<8�!�9��3(���     $&*!���@&���H�d@���t���%��������H%���H&&��t��t  !@<'���9 &1&�(��� $&#!$
        !          30622: #�*&1&&&�$&la&&��,&1&� ����&W�|��H'�4��6�0!��l��H����4�(
        !          30623: �����H<&�$�F@<$�~x&@$(��p���H����l��H��B���p���H'�0��6�0!��l��H� ��0�   
        !          30624: �����H<&�D�f@<$�~�&$&��p���H'����C�'�`@�!$&&a
        !          30625: �����H<&����@<$�~��$&��\$&@��p��t)& ��p��t&*X!��pm���<&%�������<&���@<$�<�$&da��.ae 1$&Oa�}.aP $&Fa��.aG $&Da�q.aE `����$&Ea����$&Ga����$&Xa�].aY $&Ua�W��$&ca�~��$&oa�M.ap $&fa��.ag $&ea����$&ga����$&ua�7.av $&sa�P��$&xa�,�������%��������H'(��H&&��x��p&I* ��x��p��T��p��P&�p!&�* !��T��p@!H@��(��(A<$�&��,��T@��X��,��TB���P$&�a��XB&��,��X��(��P��L���X��T��l��pB�&�(!��T��p(H!��T��X��T&K`!����\�
        !          30626: ��X��T��`��d'�|@<&� !��X��T��l'�|@< !��X��TB�&   !��T@�!&SX!��T������X�������P���9��/&/&�!������<&�$�F@<$����P$&�a��XB&$&&��$�������� �'��'��Я���!����0��4��8��<��0B���,���,��8&��!@!% ��(��(�&j* &�h@������(&�* ��(����A<�� ��� �B�� �B&�� ���� $
        !          30627: &�
        !          30628: ��&lh!��$����$$ ���$'(&��$�    %*&�
        !          30629: ��$��0BT��$��,&lh!��$��$��4��8C���$��8&��!���8��,�
        !          30630: (H!&IX!�&�����'�0'��H�������������į������������������ $&/!!$&{!�������$&}!�������$&*!
        !          30631: $&[!$&\!$&?!$&�����&&��� p������<  %)�ĭI&_$&���B�@�!&K&������)�� '�̯�����A<��ď�����&��#�����ď�����C��������$&}!7&&��ȏ��� $&}!�
        !          30632: $&,A
        !          30633: &&�$&}a�$&,������
p#�����ď����ȏ��C�&� !��ď��������(H!&* !BT$�&��������ď��(�@�!@&$&�$&}a�����)�� ���B&�!��������Ep'��@�!@���$&@1����!�����������8���@�!<����$$���@<@8!�$&���B�������H#������)A� '�&������A<$�&������������C�������&�p!���������������Q���$&.�!        ���$&.�   !��������!$�@;�
        !          30634: @      ��������ąf( %e/��������&�x!%�+&� '�&௹�     �������*&
        !          30635:  !A<$�������������'��`@<$����������(�&&������'�&�m���B&���������'�&����B&���P�  ��������� (!( 0#@���B��������P#&*X!%m������)�� '�$������A<��쏤쏥�BT�����쏸� (!0#C�&� !��쏪�$/&*X!�h����쏬�&�p!���������쏧�(�&&������'�$����B&��� $&!&���������'��'�������@��D��������4��D$&~�����D���D$&/�&! E�'��p��<��<     ��@<��D�$@<$��{!��D&&E��D&&�
        !          30636: @�$&/a
        !          30637: &&���
$&/�����Dx#%�����8��8���h(* ���h%*����8��D���l��8B�$�&���l��8&lh!�����lE|��,��,�        ��@<���l��@<$��D9!��,���<$&��4��<B�@�!B� !@�!2H!��8��8���h&K* ���l<
%�������lB&��8%�&���h���hA<���l���l��<BT���lE�(!��4F     ���l&���������'�@'������&��&��&��&'�)���$ǯ��������$&��$��$��&(* >��$��&
        !          30638: X�&+`!������$&~�����&��*:����S$&��$&/�(&
        !          30639: ����&'��x'��(�$�&�� ��&��'��|(�'�� �� @,��$%+&��$��$��&&�* ������
        !          30640: ��&<��@<$��`$&�� ��� 
        !          30641: �����&�H��&$      &�i��&�����BT
!�������B&�� &��'�&�'����������������������������l���+&    ���<��l�$@<$����$&����   ��|���%K��������%�������$&t����&B�&� !���@�!�$0!B�'���@�!        ���%   ��������%K����������������x���'������'(�������� '��ԯ�t'���$&e�l���B�&� !���@�!��0!B�'���@�!        ���'��������'(������$&&!������K��t��x��p�����|='�d��h��h���h ��d���t��p�����p0!8!��h��h$&&�
        !          30642: ���<�&$��|@<'� ���}'� ��h&�������'��'�����$��H��L��P��T���� ��P)� 
        !          30643: ��L��T<���@<$����$&��T�(��D��T�$@���<��T<
�K�l&�h!����1����<�
        !          30644: ��L��T<��&@<$�� �$&��P$&&F��< ��L��D'�8'�4����'�@�'�D��0��0���0k��<%�����<��<�����8+&� 
        !          30645: ��8A<$�&��L@�!�0��L$&�(��4@��L��@��8�eB���L��8��&�x!����L��8��@��7��P$&!1��T�B���T@�!�$0!B�'���@�! 
        !          30646: ��L��T<�D�f@<$��l $&��DB���8��<��8&�* ��D��<��L&��!��  �9��L�K�`&�U!&��$���� �'�H'��P������������������������)�        ����<��@<$���/$&�����(�������$B�������$&aA0�������dB�'���@�! (���$&�     ����<��@<$���
        !          30647: $&��� !��N�������        ����<�@<$����$&�������(������=���$&b!(�������DB�'���@�!  ���$&a     ����<��@<$��(�$&��� !��N����������������!���$&c!!���<����B�$��X@�! ���)! ���$&A     ����<�f@<$��d�$&��D@<'����!���$&c�#���<�����B�$���@�! ���)� ���)�      ����<�@<$����$&$�������&����$&d![�������DB�'��@�! S���$&a     ����<��@<$���b$&��� !��N��������W����������� 
        !          30648: ����<��@<$��D$&�������$B�$�@�! ����K`���������� !�8!'���        ��� !��'���8!'���!!����(�̯�����$&e!,�������DB�'��@�! $���$&a     ����<��@<$��@$&��� !���0!��4��4��$1��$0��   � &&�!���$&gA�������dB�'��@�! ���)�        ����<��@<$��p&�$&�������&���$&l�+�������B�'��$@�! #���+! ���)&  ����<�&@<$���&�$&$
        !          30649: &���� `���� ���������$&l����������B�'��,@�! }���+& x���$&!� '��4�        �
        !          30650:  ��F@<'��8&|!���$&aY���'�,��6�$
        !          30651: ��0�����,�����        ����<�&@<$���&`$&��0
�     ��� ��0�l&Lp!��0��0�&J!�
 ��(��(��(��0�(     
        !          30652: ��(�j��(��(�����(�����(����@�!�$
&�
& !����<�@<$���&$&���$&p!�������B�'��<@�! ���)!         ����<�f@<$���$&$
        !          30653: �������F���$&t����<�����B�$��L@�! �BT'��D�!���$&v�'�������B�'��H@�! ���+!       ����<�@<$��X�$&����         �����
        !          30654:  �L���
        !          30655: ����<����@<$����$&���$&��������<��<'�D���$��@��������@+��@
        !          30656: `@��@��@A< ���$��������$B�0����'�D����B&��$������$&&$&&-���$&!������p@
        !          30657: ����+������@������N���������Ȁ%�&�@!�����+���-���$&&A���������3
�
        !          30658: ����/�����������  �����������%j&�h!������/�����<
        !          30659: ������p�&.`!��!&(!@���'
        !          30660: &����s������@�!�$
&�
���'�D/���B&!&�������'��'�����$��@��D��H��L���� ��H)� 
        !          30661: ��D��L<���@<$��W$&��L�(��8��H$&!+��<��8�K`"��D��8'�4'�8�����0��0���08��4�����<%�&��<��8�(����H$&!��L�DB���L@�!�d0!B�'��P@�! ��8B���<����D��<��@<'��X!&��$���� �'�@'��௿�� ��$��(��,����()� 
        !          30662: ��$��,<���@<$��@$&��(��,$���$���$@�!�0��$$&�(!&�����'� '��Я���0��4��8��<������8)� )� 
        !          30663: ��4��<<���@<$��tl$&��8$&!<%����,<��8$&! ��<�DB���<@�!�d0!B�'��\@�! 
        !          30664: ��4��<<����@<$���H$&��<'��d��G\��,��<'��h��G\��,��,��8��4��<@�!<�$�$���@<8!($&��<��,�$@X��8$&A<>Z$�����(��,>)��(��($&��a
��8��4@�!<��$���@<0!$&!&�������'�0'�����$��P��T��X��\���� ��X)� 
        !          30665: ��T��\<���@<$��&I$&��\�$@���L��\<�      �*&jX!�k��1l���L�
        !          30666: ��T��\<����@<$��X&*$&��\$&e��(&B�  !��\@�!�$0!B�'��l@�! $
        !          30667: ����H ��\�d@���H��\<����&�x!�1���H&
        !          30668: ��T��\<�$�&@<$��t�$&��X$&AN��\�dB���0��0�    ��\'��p��B�&�0!@�!����\��B���0��L��0&�* ��T'��x�(�!��\��L�*&Kh!��@��H$&�����0&�* ��0��H��H��L* ��T'��|�9�!��\��H�K&m`!%�&��<���X$&��L��\��0���@��0��L)* "��T��@'�4'�@�����D��D@��D���@�m���0%�&��0��0��L&�* ����H$&��&��T��@%$g!��H��L)* ��T'����j\!��L��@��0��<��0��H&�* &��<� ��T��<'�4'�<�����D��D ��D=��0%*&��0��0��H&�* ��<�������<<����&@!���1 ��<%*����<��<<�m��&�`!����1������<����;��<���T��@%$��;��<�9!&��$���� �'�P'��Я���0��4��8��<��������4��$��8$&�
        !          30669: ��4��<<��&@<$���[$&��<�      �*@��<��4�e�L!��<��$���0!@�! 
        !          30670: ��4��<<����@<$���;$&��<��$���0!@�!
        !          30671: ��4��<<��&@<$���*$&���$�(��<�DB�@�!A<&D@�!��+��,�
�-��$���/��$���<&$�%BTB& !!&���������'�0'��诿������ ��$�� )� 
        !          30672: ����$<���@<$��$&�� $&!��$���%$$&��'��'�����,��&h��&l��&p��&t��(�� ��$��l��d��&p)� 
        !          30673: ��&l��&t<���@<$��D&�$&��&t�$B�@�!&H$&��&&H$��&d��&t�Q�+`��,$&%��&1&�-$&*�$&��h&1&��h�/<�!���3 
        !          30674: &1&�(<  &(H!�)��1*@����h`���l$&���&l��&t<����$���@<$&W$&��l'�t���#���!��l%     &��l�24$
        !          30675: d�
        !          30676: $�w$s���&d�
p$c�$�j$F�$�d$f�$        �     ^$
        !          30677: s�
        !          30678: ��&d�&1&�,$&]���R��&l<�&��@<$���&$&$&dA��.Ae '$&OA��.AP $&EA��.AF $&DA����$&FA����$&[A��.A\ $&XA����$&cA����$&sA��.At $&fA��.Ag $&eA����$&oA����$&xA��������d�&��!��d&1&�9 �8��l��&p%        *��&l<%k�����$&��dA<��`��T��d'�t��T��l&�* ��`��d&��!���d� & P!��d��T&%l&��T��T��l&�* ����&t���������������|�������Cɯ���\��\��l&** ��\��l��T'�t��T��l&�* n�R�'�2��@<'�����T��&tȀ&�@!���&l'�2�8!Q�     '�2�&'���@<0����T��&t`�&Lh!����&l'�2�8!@��T��&tx�&��!�%��&l��8!5�'�2��@<'�����T��&tP�&*`!����&l'�2�8!$�
'�2Ť'���F!�D0D8@<��T��&tx��!�%��&l'�2�8!$&FA��$&cA��$&dA��$&fA��$&sA����T&%&��T��T��l&** ����`B&��&l��\��@<'���!&��,�� ��$��(�'�&h'��H�������������į����$&�
        !          30679: ������<���@<$��0u$&��ď���%*:������i$&���(!D\0!������!
        !          30680: ������<�D�f@<$��\W$&���G�'��@�!$&��&
������<����@<$��x���DTD$&���A<$�&������������ET���@�!
������<���@<$������DT+$&���DT������(H!� ������0!'��������$&A������$&&a��ď��<����$���@<'����}'����B&���&�����'��'��ȯ���8��<��@��D��������@$&�
        !          30681: ��<��D<���@<$����$&��D�$B���4��D��4�B�'���@�!@��D�$�%B���(��(@��<'�����
��(���<'�������<'����8{!��D��4�B�'���@�!@$      &��$1��D��4�DB�'���@�!@��$&��D��4�dB�'���@�!@��D����!@�!@��<'�������<'��įI!��D��<<���$@<$��@?$&$ ����(��D�K�q��D��B���4��D���� ����D��4�B�(!@�!@
��D�(H#��(��$@&&�`����<��(��@<'���!&���������'�8'��x�������������������$&�$&���#���$&&���'����$C�'��@�!$&&&������<�&�'�@<$���j$&
        !          30682: ������<�D�f@<$���_$&'�tG�'�d����������$��������0!8!��|��|���|$&&&
        !          30683: ���<�&$��4@<'����}'���|:���%  ��������@��'�lG�'�d��l��t��p&lh#
q&�p#p�&�p!q@&�p!��xp�&�p!q�&��#&�@!��`��`D� F�!��\�X���(!%0!���ǩXD�PǨ\F�T!���<F0D��D$��LD�D�@<!&�����'��'��Я���0��4��8������0�<&�x!�1�
        !          30684: &&�<&@!���1   ���
        !          30685: $&-A&&��4��878 !@�!X#��(�$&+�&&��4��878 !@�!��(��(�
��4�  �����0��4�8��(&�������'�0'���@!���8!��<&�x!�1�
        !          30686: $�&��<
        !          30687: &YP!�J��1K`�����$&0�$�&��$&x�$�&$$&��$$
        !          30688: 
$&�
        !          30689: ��$&0���&$&x&$�$&���%)��-! ��)@!$
        !          30690: &����$�&K$&
        !          30691: ���%)��-!
        !          30692:      X�&hX!X@&i@!$&����$�&6$&���%)��-!K <&)!�)��-! i&�@!$&����$�&��%)��-!K <&)!�)��&&+      &x&�@!$&����$�&�� �8!���&!&�'�'����0!�@!��&�!�������8!�`�!�       ��%&I$�&���@!$�&�����!&�'�'��诿��������&�* 
        !          30693: ���<ȀY!�B��<<��$���@<$���<$B��&��'��'������0!�8!����$&-&$����$�&��$&��$&0&Q$�&��$&x&4$�&��-&0 -&:     ���(H!%*�Я�-&a -&g  ��a&�h!%�����-&A -&G  ����!')�ɯ���-&0 -&8 ��
        !          30694: X�&h`!%��Я�$�&��-&0 -&8 ��-&0 -&: ��x�&�x!x@&��!'�Я�$�&��-&0 -&: ���������&*&�'�'�������!��$��&��&���� ����2<&�p!�Λ�1��&1&�2<�!���3 ��&(&�$&��AH$ $
        !          30695: �
        !          30696: &�!&7@�!�  !84&@�!�&�!�� (!=&������`&�$&���H��&�!���84'��@�!������������2����&(!%0!��&<����$$���@< 0!�
        !          30697: �R&�$&&�!��&%&$&&����`���&��%�&�
���H����&(!%0!&|!��&'���84@�!���&����    )�*@��`����&<��$���'�(@<&&&�
������&'�(%$&X$&��&(!%0!&R!$&�&N!$�&J!$�&F!$   �&B!$   
        !          30698: �      &>!$�&:!$
        !          30699: �
        !          30700: &6!$�&2!$�&.!�3&&-�
$
�&.�$�
$�      $&<a��$&=a����&!�3&&)�   $�&*�
        !          30701: $�
$�  $&=a��$&>a�����!�-&$&=�&/�$�$��!�(&$&=&&)�       $�$
        !          30702: �
        !          30703: �!�+&$&&a&,�$
�
$��!$��!�8&$&|&&(�$    �     $��!$
        !          30704: �
        !          30705: �!$���!&,&�$
�
�!$&4a��.a5 R$&*a�W.a+ &$&%a�Y.a& $&!a��.a" `����$&$a����$&(a�4.a) $&&a����$&)a�-��$&0a��.a1 $&-a�6.a. $&+a�,��$&/a���$&2a��.a3 $&1a�{��$&3a�v��$&=a�\.a> '$&8a�k.a9 $&6a�e.a7 $&5a�_��$&7a�Z��$&:a�.a; $&9a�O�}$&<a���x$&^a�Z.a_ $&?a��.a@ $&>a��g$&[a�x�b$&~a�V.a �\$&|a�B�W�U&��$�������� �'�&'��ȯ���!����8��<��@����8��4��$��88�(!��0��0���0(�$&&&��8(!:�$����0��0 ��0�$&&
��8(!%0!��8<��$@<$���$&G�
        !          30706: $&A$��)� 6�
��,�<x��0!�ƚ��8:�(!��0��0��0&���,�@#��    -*&�
        !          30707: �&``'�
        !          30708: $&!��$&!��$&!��$
&��$��&���$���88�(!��0��0��0&����(���,��,)! )! ��,$&A$&A&�!&���,<
`�&�h!�����@&�* &�!��,$&���(    ��,$&!��(��4�*H%K&�+H��,<h��0!�ƚ��8:�(!��0��4��H%�����Hu��,$&!h��(1��,<
        !          30709: X��0!�ƚ��8:�(!��0�    ��(��0���0&J�
$&�&6��4��H'&��H��,<@��0!�ƚ��8:�(!��0��4�KH%i���IH/��4��H%�&��H��,<x��0!�ƚ��8:�(!��0��4�(H%���+H��0 ��0&�
        !          30710: $&A���,<
���0!�ƚ��8:�(!��0���(��(�
        !          30711: ��,<@��0!�ƚ��8:�(!��0��0`��0��+! �       �
        !          30712: $&A�
$&����,���(�p������8<$��%0!�$&��(�&`
$&��a<&�&
����     ��8<$��(%0!�$&��(�
&M�
$&���<&�A
�����(�&�x!�z��(�&�#�s��(�
        !          30713: &Ih�
l��(�&�p�e��(�&�X*�^��(�    &9P*�
        !          30714: W��(�
`*9�&�O��(�&�@*9&�G��(�&yH&-)&�        ?��(�
&M�&�+�7��(�&�x$�0��(�&�&�)��(�
        !          30715: &*h%�
"��(�+ ��+���(�+ ��+�&8��/& ��<&&8!�8j��_��8(!%0!��8<���@<$��8$&&�������'�8'�����0��4��8��0����4�� ��4��$��0'�:�$������ ����($&&
��0(!%0!��0<��4�$@<$��\      $&��,��8�j!&��'�0�'��X�!$����`��<E�$���@@!�O�����#!'���<$�������'�(BT������'�6BT`(!'�(D\(!@@ !'�&$ET�� $&A�� <$���'�&H$���� DT����'���'��诿>����D���'��'���������!��!����!��@@���1���&R��c!&R��@]�� <��$$��&֣௱,��(�@H� !U��@��,��,��(��$�� G!��,��(��$�� ?���       �%*&�
        !          30716: �'(����B* @�!@�!@�!� !$
        !          30717: I8 8!@@�!T�#��
&q`#��&�p!�A��!!@!�
�      ����!�(&     P#&C* ?� !`Q�#��,��(��$�� 
        !          30718: ��Q�#@����,��(��$�� ����@���������'�H<����$B��'��诰N+@�! ��<����>Z !>) !����&+ �������'�'��௰��!��$��&$���0N��0Y0O�!>Z !@!�
DT����A$��$���0Y �B&��������`!������'� '��诰��!���0b@0n�)!0n� 0i @0i �@0i �O+ 0i ? !�0x0i 0y 0i �@0i �H+ ��0i  !$��!`!�����'�'�������!��$���� ����H�$B$$0nR�"0j�
<��8�!�9���Y+ L��K$&
        !          30719: �C�%  &a� ��K`��$? !$&��A��K$����KT`!0jR0n��K'�G��G�
�DL$&$&&A��KE��$�$��5� ?�
0n��@���0yD !?d !@!!`$$���0bD@��0nR? !�$B��A���K>�(!
        !          30720: ���K���  %*&�
        !          30721: �1l ���K$����K`!��$�������� �'�H'��௿�!�e�n�8!&�x#���x�g3D �h
<
        !          30722: %J��H�&*0!
        !          30723: �`�k
<
%���`�&�0!��&�#�b�d��!!�!���x&��#"*     ��` !�� ?����� ����!�d
�� �(!DL&0!���� "!�j$��5K �k!��'� �'��诿��$&0N�
        !          30724: 0O��$&��2$��$&��A�$7����`?��������� !��1*D@!��
<
%���`�&�(!��&�x#����A@!!@!����@#&* !?�!��'��'����!���n�e
1���0!<'9��!H�<&)!�b$H4�(��(� $ �<$��d�!<$��d�!�k
<&`�,!$J �*��$ �� A<���� ��@�b�m�y
�o<&5�@�(!�n%� �8��<�l
%kH�&+!<&h�-!�b$J�*���n� !�nIH�� �� @        ���b0O���4Y@�y��'� ���
<x�o!�c����x#A����Y* ���<�c��'���0n������ �
��$0o��4c0c�<&�#��<&�#��$��<$Ɲ�J'�<�c��0x @!$��@!`!��'��'��Я�4��<��4�!<�5�������8$$d��)��('����� ��$'�8J� !�� � ��'�0�'�������!�������C$&0n�!���!�B@�O��X0yD !?d@ !@!!`m$����4�H
��0�J<H�i�!�s��1K`W��,��(��$�B$��@�!p�#  !?@ !T��0��,��4��(��$N$���Pp�# �� !�(!0!I8 8!@@�!P�#&1���L�N&�h#�M�B&�x!A�O!@!�X
<Ȁ&@!����I&   P#&C* ?�@ !��!�K1l@�
��0?@ !T   ��0��0��,��4��(��$$����0��,��4��(��$�!�B��Ѱ!B�� !�D
@�!�(!DL@0!!��0��4���������'�`�!F!��<$ƛ��p!��&0��!$00�$&+��&$�&��!�%&0��� $&+$&��&$�&�H!�%&0�$&+a��$&-a��0�@$0!$0&c(#��&$�&�`!��&1���!&(��(!(@�(#��&$�&�x!��&$�03 ���!@#�!#`!�'��ȏ�����,�!��0��4��(�� ��$�������������'���'���'���6�&�0!4O&����������������@(!����$�<�7����$����!�!�#`!0Y&  �!`�!� �0H& 0!������" (!�#`�!�0I& ��$!+ Q+ e`! �!U�$+ ������
        !          30725: ����6&R&����f!&R&.A ����! !N���������@�!%l�&r���0C`�@$
&��#W�!
W�!��������&�x#�&�!$!&��x�#&R���@�!0+ �+=!�+ 
        !          30726: @�!<�N�4��$&��A^�#2!^�#N�@ !$&��AN� !(!�����H#  P!�%K�������(!%��6�&��5�&������������|�"@0!�+ 4�&��������4�&��)���������(!��������&"��4���������� ��$��(��,��0�'�8$��������N$&��&�x$�O�����X�����'��Я���!����4���0N&�P#B& !���P#a`!$!&���4A<����@@ !P��4"�!��4$�8��+ (!�!(!0���,H�� ��,�� P+ x�O!p+ 
        !          30727: p�#! !$!&@�����H�IP!�X�!�����'�0�!��4�$&�p"��&�x  ��@������`��!�����&!� ����� ����@    ��������`����������&���$����C& B&`���D#����
        !          30728:  �  
        !          30729: ������&@ �I�����&I#�  #�& #�$�&!$��������$�&C@!`$�&!$��������$�&C��@!�!������$���&�#`!���$�&�����!�$�����8!��* (�� �* (�](�(� 0�0�C��!��$�&$�&���������!@(� $&&A$&A��$�&$�&$���������$�$�$�����������&$�$�$�����������(�  (�����������������$� $� $��ଢ�ଣ�䬨�謩�쬪���������ꬭ��(� (���������$�$�$���������������(� ����$�$�$���������(��   �( 0�0�C
���$����#$�����$���$��������&��!@(� $&A$&A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌋�茌�䌍��$���$���$��ଢ�������������ꬭ(� (���������������$���$���$���������(� ������$���$���$�������$�&$�����!��$�&$�&@   ����$������$�&$�&@�������$����$��������$�&�`!'��诤����<���� '�$���Nԯ�$��'��'��诿�� '� Nԯ�$��'��'��Я�$&��(��4��8��<��$B��� $d��4��)��'�N�'�8��'�0�!��$�&�$�������$��S��'��د���!���� �!S�!@!�� B�  !"�!���&���� $X�$&,A $&
        !          30730: a&��x%�0�&�$$B&,A ��$&
        !          30731: �&&&  !$      a�       !Eh(!@ !�$B&0B�,A{ ��   !Eh(!@�� !  !Eh(!@ !�  !�������'�($�S���!���$��S��$��S��!$��S��$��S��!$��S�`!�'��௤ �� ���!��$$S�0!��$$&��A$   ��$��`$     (ad �� $ ��$���� 
`!��` !��$DT����$���� (!`0!S�����'� �$��'��诿��'��� D���$��'��'��(��0��4��(�����'���$&��!�!��,�� ��$����E���@@�!<&1�����S�$/@ �!'��� �!$$$$
$���� !E+'�T@�!'�TT4�(!*'���'�T��X��T��$&@��\(�� $�&$��.$��$�&���!�"�@!@��X'���T4'�T"$��&&.& $��S� !��'�T'�&$����1��2��3��4��5���������$��$
        !          30732: 
��$����4���������� ��$��(��,��0�'�ؐ��!`$:g�C��&$�&`$B&g���$/�N$B&��`�C��&$�&`��$B&�@���!$�&�!!�`!$��S��$��S�����$      �S��$��S��!$�`!'��௿����!E���F4@@�!�  !B�$@F4@@�!�  !B�$@��F !�������'� '�����������!��@@�!!�����!�  !E�&@@!`!����  !!�������'� ����$�&b$=$=$=`!F$�&�!����$�&b��`!`!�����!�!!����!@$�&��$�&@����$���$�&$�&@������$�&$�&@�������`!����'������<$���G\'������䏄��T@��'������'������>)&� !���䏿'����@$
        !          30733: $:C$
        !          30734: $
        !          30735: $
        !          30736: E    ��&$�&@CE��E��@��$�&��!����'���� ��<$���G\'���@����!����FG��'��'����� <��0��(��,��$�����!��!$
        !          30737: $�$:$+&��0��4����� !$ =�@0!@@�!�!B�� !W<�p!�����7<���Tr@ !0C��B$B��A�BH�@ !@ !�B�D$Y&�Y0��u��� !<���Tr@ !0C��B$B��A�BH�@ !@ !�B�D$I&�I0��u����� !G:  !@��� !�*^$&<&�1�8F  !<&�"�<F@ !`@�!@��� !�Kv��� !  !'�\6�$
        !          30738: `@�!B�  !  !$:T\@0!��\���� !F  !`@�!<&�0�@$
u1*&u1 $
u1<&�-�@<&�0�@`  !@�|� !�N��x� !  !'�\6�$
        !          30739: `@�!B�  !  !$:T\@0!��\��h� !F  !`@�!<&�0�D$u1*&u1 $u1<&�8�D<&�0�D<&�1�L<&�1�PF  !<&�"�TF@ !<&�"�XF@ !<�9�<�" �!@
        !          30740: $,C�"&&1&@C���(� &1&<&<$B�8�1�H��4���������� ��$��(��,��0�'�h��<$c��nx!��&�!3         �H&$B&hH!�*&1K`���C$&
        !          30741: a`$&#a!$&!�'��诿��T�������Gy@0!��'��'��诤�� �� ��>)�������� Gy��'��'����!��`�@!����X!�&�8�+,�&�$&$$&4E�$&$$&4E&�$(!=!$&aA��$&rA��$&wA����$&���(��D\��$��(����$A@ !&!�`��b
$�        �o�$&r&$$&$�b�$&a!�
        !          30742: (!$C쯣(��(A    !�i
<&   P�*!�`�`� ��`!��'� �$�S��!'��诿���U������P$&<&���x�����X���� !W   !@!!��'��`!��8!��* (�� �* (�](�(� 0�0�C��!��$�&$�&���������!@(� $&&A$&A��$�&$�&$���������$�$�$�����������&$�$�$�����������(�  (�����������������$� $� $��ଂ�ଃ�䬈�謉�쬊���������ꬍ��(� (���������$�$�$���������������(� ����$�$�$���������(��(  �  0�0�C
���$����#$�����$���$��������&��!@(� $&A$&A����$���$���$���������$���$���$�������������$���$���$�������(�  (������������������쌫�茬�䌭��$���$���$��ଂ�������������ꬍ(� (���������������$���$���$���������(� ������$���$���$�������'��௱��!�����.�?�  !�#0o&�0hD0x�4y&�9J$���#0hD<����$B��I+ @�!�
        !          30743: 1K@`>Z !����&+ ���#�%0m��%�$
$&�$
<p�&�x!���&�#ET0!$P���"�0�#�b$x&�8�9$&��!�(5         �)�*5K�+�#0l��0m��-� $���������'� $����!��$�&$�&F�����!$������!���'�����'� $TW(��A$&��!��$&��'�H�'��د���0��4��$&��$BA$���@���A���@!��,�$F W0� ǡ Ǡ$D� D�(��<��,F$2x!E��$&��@$&&A�@$&��4'��B�� ��0<$���'��BT�"<o$B��$&A$&A��8<B�$�����0<<$���$���BT�B<\$B����8`E)&  <DD$���$��W���,��,��0<$��
        !          30744: $L&)&Q�! ��$P&!<%���N !�$0$c&d���b���`<DD$���$&W�����0$O&<&�� ��<DD$���&(!W�����0$Y&�9<
        !          30745: �J����49K--k&<$B����<DD$
&��$���W�&(!��0$N&��<�����4;-/9&<$B���9��'�(���<&�4!��0C�0$$&�0�&x�@p!$B0���'��@��<��8��!��@��D��0��4��(��,�� ��$�����
�����!�p $&%&��$B��A��2�>��(!  �����2�����%�&�����&s&'(&����p$&%&����1* @���$�����`�!�������p&&s&�!�!P&s&�p��61�p��61�p��61�p��61�p61@���!2+@`
���$&��%�&�p$��č�����#:1���$&��%�&�$��ď6����!�p��2(D&��61 &�Вp<       &0H!�)��22@1*@<$c��X�&bX!X@&p!�p&&s&p`!��&$B��1����@��@�!��@�!61&�p��'�&28&&�!&�!   22@���$&��'(&&H$��č*�� ������$&��%l&�h$��č����������'��$&<&�������&@#���'�&I�'����2) 2,'��$&�����&2,����'��$&�����&���+&
        !          30746:      !@$Y0&�����$&
        !          30747: A@!&���x�&�x!x@o@#%      0(A
        !          30748:  ����$J0&�����@
        !          30749: 2-'�&&t`#�#@2-������612-���P'�&28&&��!&��!    22@���$&��'/&�@$��č       ��   ������$&��%K&a`$��č���������<&�&��$�����'�&I�'������'�& �! �!$$22@'�&&�!&�!$$22@2(&
        !          30750: ��ď��$&��%*&AX$��čl��        ������$&��%�&��$��ď�����$&X&<$c�<$c�����
        !          30751: &�!@$&$      &6122@������DP$<&�4!��jX!hC�l&�p$�&���@����@
        !          30752: 2/'�&�#�#@2/������612/�$29��� 29$&X2) 29$
        !          30753: &$&������61'��$
�����&'��$���
        !          30754: ��&$&X&��$&o&��$&x&��29��P2/@�&�&$&�&(A $@(!$'��'�䯩��'��'��'��I\��@�!���$&&A@
        !          30755: $&'��B���!'��2+��P&�J�!$&A$&2,�<&��0<&��<B�� !2-��P&���!$&A���<$��HB���!<%ΦH28��P&�N�!���� ! 2)'�� $&�����&2) 2,'��$$&�����&2,�'��($&�����&��`$00b���&'�&&�&$0��&'�&�29 $.��&�&���`
        !          30756: $�����&�&�&�&��`�����䯤����61&���'�&��&'�& ��&���$B��A(A
        !          30757: #(A
        !          30758:  ��&��&$&
        !          30759: A$c��P(A
        !          30760: %K0 ���k��&��&$L0$c���l��&��&'�&&�+ 
        !          30761: ��쏢&$0'�&$B���+ ���C��&������ ��&��&$      +%�����&������&$-%K����&�L��<
&�h!����1�&���&$E'����&�����&$e%/����&�+����&���'�&61�&L#29&�p!�����P&9���2(@*�<$*�< $<�(!$<$&'��'�䯫����'��'��I\'��@�!���$&&A@
        !          30762: $&'��,B���!'��,2*��P&I�!$&A$&2,�<&��T<&��`B�� !2-��P&��!$&A���<$��lB���!<%Φl29��P�N�!���2%2,���x#&�* 2,��$&0a2,'��0$
        !          30763: &�����&2,�'��4$&�����&29 ���'��8$&�����&���'�&����$0��`$0���)� ���$0��&�&���0b�%*&��ܢ�&�&&�&$�������$.�*�<$.��&�&*�< $<� !$<�* �h#������61&$����2)���%�& 
        !          30764: ��쒃`$0���)& $0��&�&���0b�%�&��ܢ�&�&&�&$�����揮�2)��P�'�&2*@@$�*�$&*� $�(!$'��'�䯭��'��'��'��I\�����@�!�2($&���2(��!B�� !V* @�!@����!�X��$&0&        ���&R��@$B���O��$&0������)a�� �* ����E&V������ I�#��&'�&
        !          30765: '�&���$&��%L&�h$��č���'�&'�&��&293��P���$&��%&x$��č����2+@$&��!�$'��<2+@`B�� !��!��&�&�$U��&����        $U���E$B&�$U��&������$U��2)��P�z&s��&
        !          30766: ��-AY ��
        !          30767: P�<&&*!�*j�&@�������#lh!&�!^*��� ��ȏ����܏��(�!7���������2) &�X! �����P@���612.�h#�����P������>@!&x#������2+`������<�B��ɀ#���0R���$B��A��@ !>��(!      &����2B��B��%�&��&����������P��!��&���$B��A��0d�>��(! �����0b��"��%&�����&R&O* ��&&��P`���<�B�� & �!0R���$B��A��@ !>��(! &����2B��B��%�&��&�����28&���!��!���$B��A��0d�>��(!     &R&��0b�����'(&��&R&U* ��&&28&���2/&�24���<�B��`&`�!0R���$B��A��@ !>��(!     &����2B��"��%L&��&����2-������!���&���$B��A��0d�>��(!     �����0b��"��%&�����&1&/* ��&&������&~* ��<�B��ˀ#��0Q���$B��A��  !>��(!     &����2"��"��%L&��&�����s�p��D�� ��$��(��,��0��4��8��<��@�'��<�c��$�� !�<&�$���`!S�<�B���+ @ !$����<&�$���!'�����,<��0��(����!��!$d&�����<��4��8��$�� ��&x��&|��h���������q&s& �p!��h&t��<�p!��&1�O$&%���� ������%       &�����
        !          30768: 
�U$b��`$b��$��$b��A�H� !@!��C$K&�` !�`!��&1�� ����%�&�����
�5$b��`$b��$��$b��A�H� !@!��C$H&�` !�H!�*&1K`������(!%���X\����$&��A��$&������$&%!�q$&%!'&s&����%�&�����
�5$b��`$b��$��$b��A�H� !@!��C$H&�` !�������(!%*��X\����$&��Ah��h�<$&*!�!�q�!&s&$&�X!�l&1��
p�&�p!p@&ѐ!�q&R���x!��&&s&3 ��p�@$&l<�6R��$&l! �!$&h!�q&s&       $&[!     �!` !S@'�p@@�!�$���!�H&1   & $&n�Q&$l$&n!�$&[����@�$&[$&c!�$&[$&[!$&[����%l&�����

��$b��`$b��$��$b��A�H� !@!��C$N&�` !�x!��&3  ����%     &�����
        !          30769: 
�U$b��`$b��$��$b��A�H� !@!��C$K&�` !�`!��&1��������(!%���X\����$&��A9$&[]��h'�&x��� ! (!@0!'�pR���=$&h�$&l��&x$&��%        &!P$��&x�L�������ե�$&l���&x��&x$&��%�&�x$��&x���������ɯ8��&x$&��%     &!P$��&x�L����������'�&x��� ! (!@0!�8!Pl��$&[!��'�&x$&c!��'�&x$&i!��'�&x$&n!��$&h$&s!��'�&x��'�&x@��h&�x!����h������h��h ��h$����h   �!��h$��& !$���!��<���� ��$��(��,��0��4��8�'�&p'��P����'�p��!���������������\��X��T��P��L��H$&��P$
        !          30770: ��`$��`$��`&�!���%      ��-! �� H�<&&)!�)l`& �������%K&�����
$&d��
�$���$B��A�H� !@ !��D$N&��!�`8!$&��L&R��@�����$&d'&�����
�&$b��`$b��$��$b��A�H� !@ !��D$I&� �!$&0a�`8!���$&iA�*A �����$&d%l&�����

��$b��`$b��$��$b��A� !H�d��d@ !��D$N&��!0d�$&x���o$&X�Y�
�$&d�`����$&d%�&�����`$b��$��$b��A� !HЯ�d��d@ !��D$Y&��!0d�'�p$&ET��d��d$&&A$���p$�����%     &����<
        !          30771: &DP!�J��1K�`$*A 
        !          30772: ��`����(!%�������X\��d��d(&R���8!%&R������(!%�������X\��d������d��o'(������X\(!��d&R������$%*��������`(!X\��d��d&R��$&+a�S$&-a�O$&$&0a�m���&R��@����'��&�+ $
"��&!<G!�B��0C`��`$&�)��P0O��&��P`0X&$00X&$W$7$W�!��`�#Y* �������
��\��P     ��\��`��H&K`&�h!��H��\%�&L��\��Pj���$&.�$&e��X !'(&`?��X$&e���\$&E�[�����\ W�����T&@!%K&`P��T�'����$&d%�&�����
&1&���$���$B��A�H� !@ !��D$X&��!<C!�B��`8!0Y 
        !          30773: $&+a$&-a0H#����'����$&d%*&�����
&1&a��$���$B��A�H� !@ !��D$M&�
�!&R��A�[`8!����_��\�[��P%��L� ��dX�'�p��L��d F �F ����$&l&���$&���C$ca$�C�i���#>�"���$&���CF  $ca$�C�j��4�D��L`�����H<&�����h#��H���$&l�
������$&���C$ca$�C�x����H����$&h!
��ď��$&���C$ca$�C�i����H�(���$&���C$ca$�C�k����H�j����� !%�������X\(!$&��A��\$&������\���������'��'��ȯ�8��8�� ����!��!��$�������D��L$&���D$�� $�D������,�!��,$&ca<&�4!��!$&������H%�&�����
$&d!�$���$B��A�H� !@!��C$I&�  ` !$���M$&sa       $&[<
        !          30774: &DP!�J��1K`C$&[a      ��8��D&�h!���9��8��D&1�� 1&R&����$&d'&�����
�&$b��`$b��� !$b��A�H� !@!$����C$I&�       ` !�$&sa   $&[<
        !          30775: &DP!�J��1K`$&[a�я�8��D&�h!����ʏ�8�����$&'������
���� ��,����(!%    ��X\����$&��A��,$
        !          30776: &������,K��8
        !          30777: !��8�$&$&ca$&�@$&��$�������� �'�8'��د���!��$�� �������$&^��!��!$&&&` !.E&Y $&�$]�$-$-$-�dx!���&&&�&&�!�d�!�qd�!���C*     d�!b0#$�&b !Y @(!&&d�!��&&���!��$���������� �'�(<&�"�$��$��S��$&�S��0����E�!@!`��$�&!�'�����X��X$&��(����� y!<$��� !Y�'�4A��Xp��<&$�P�Yd$��<��X��T��P��H`��D��@)$&�*  ��$d��@��@��P&(* ��@d#��<��L��@�#��<@��L$B��'�4����'�D�a���m���a�m��T�� ��<��@Yd$��(��<��L��$Y,$ !'�DY�0!YV$<$��� !Y�'�D��(���$��TYd$��$���L��@��P<&@!��<��L4!B@&&*��@ d!��<��@<&��4!��$c&&!P!��@��< !'�4Y�0!��L�� &�!��'�X��'���<����Y���'��'��诿�!` !>Z����(!�d
C�0!���o�n1�Ϡx�b�`0Y� �n0H��h��'��$����0����$�&E$���$����!$������!����'��诿��$B��A��H�@!���C$N&����'��`!'��诿���0!$B��A��>�0��@!��0������@!%�&����'��`!<�Ν�<1���
$c������$cx+ !�y3(���`!�'��Я�U���0��0���P��'� &��#U �� ���X@0!A�!�I�K   P�&IP!
        !          30778: P�&IP!
        !          30779: P�`��N&IP!&�`#a@
        !          30780: P�&IP#&�`!ya
        !          30781: Q�&�x#�Y����x�&Lh!&��!!���� 
        !          30782: '�('�$��Vů�,����,��(����������(��$��(l* �!��$n* �!��0���T��'� &��#U        �� $&�H @0!�!��'�0���<&4�Q�f�
$&���<&�a
(A$&<F!$���$&<A<&p�.�P$&<Aa<&x�/�T$&<a<&�#�X<&p4!��!$&&<&��#�9�h(�&m $Fa0d�$����$&n$&m$&n$c&a0d�$�����(#$&m$&n�* ��a0d�$����$F$d���0�%��$&n$&m$&n�(!����!a0d�$���<&�#�d<&�%�l��0!$&m$&n$&&nA$   <&�)��<
        !          30783: �J��!�* <%k���d&`!�0#�D$B�* ��$c&<&$�,��<&$�&�-�\<&�#�`<&<$B�P�� �p'��诿��E�'��l@.@�!���\U� !@)@�! !'��PV$&@#@�!���P���`%��𯏄T�����������XU� !@@�!$&���X�C`��$&;a&& !'��TV$&@  @�!�Y$&;!��&&'���Vr'��������'���<$ƛ��p!��&$1�$B��&!$B����@     $�&��&$�&��!�(&1        �����X!�c&0c`   ��&$�&�h!��&1����$B��@$ $B����A��$�&�!�'��Я����!��!����4��(�!�8C-,c&`$&+A !&& !'�(VO��$@ @�!��(�N !&��!�#�@!�!$&:��&&VO'�(@@�!��(�Y��#��$&:! �!&&VO'�(@@�!��((�!��$ ��4��4P#�j��4��!�������'�0��<$B��Nx!��&3 !����$�&H�&(H!       H@��������&K`!%��Ь���Nx!��&3 ���!�'��د���!����,'�$ !��0��VO��@@�!A!��$$&/%�����$�X&       &&'�V0!@@�!1!�Y$&,!��$&&VO'� @@�!&!�� $&/%       ���� �JA
        !          30784: ��$&&'�V0!@��$!��$<&4cQ�&c����,$&`&�p!���� �����P���T��0�(H!&*X#&lh!�������'�('��诿<�Φ����@!�*�H! !<$B���O$B�* ��$c&���#<'9����!�J� !�
        !          30785: �K�+�����W�� �� ������%W� !����<&�"�4cQ�&�h%� ��/&��'�9��'��(�: ���1��%����$&n$&m$&n�(!$���������#(H!%*�$&&AX��#$h�S��$�S��Dh<&-4!��� !�0$$&�0��D`�0��
        !          30786: <&�<&��$�$<&� $��$�$&��        ���$�$     ��$�$��$�$D`<&-�4!��� !�0$$&�0���0�&�<&@��$�$<&@� $��$�$&����$�$ ��$�$��$�$��!�$    $     -h@G�&�h%��<&�&�H#`@$�&!$
        !          30787: h%J&
�B�&*$&�&�
j�
j�<& &�h%Y�@"'���!�"��08�
&gX#,�
        !          30788: &�`#�(#$��(�$&(� ,�
        !          30789: $,�
        !          30790:  �(!$&
        !          30791: �$�&$B&8$�00�    ����,� =,� <.$�0$�&�&����h�&�p'&�p+�&�`!&
@!   h�&�p'&�p+     �&�x!&-H!&�p'&�p+&,H!&�`!
        !          30792: h�&�p'&�p+
        !          30793: �&�x!&MP!&�p'&�p+&LP!h�&mX!&�`!&lX!'��08$�0$�&�������&gX#'��8���@       %g���8$�0�&� $����($&9&-&0 %& �($0�(��%)��$1�(&$0����& $B&��
��$0�(!��(!$�&��������� $$�<
        !          30794:  G�
h@&�h%&�@$`@��'��M&-H!&*H#$
        !          30795: �&*'��h<&%l���(!
J� <&%l��    $�& �������%& <�'����0!$&�����.$����1�&�����X+ ����Y��$I&��$����@� !��?����������!$c�����f��%K&����'��'�������<$c��bp!��&$�&1�
        !          30796: $+��$�&b�!�,&1����$+KP!��$�&$&-A'�'��$
        !          30797: &$�&'�'!0!'�8$��'�'$B��,A
        !          30798:  �8n&&�0!@���$�&�0#H$&5`$&5$&����$�&$&5A$&A$��(!!K$�&$& A$&-��$�&$&-A$B�А�$&$�&$B��,A
        !          30799:  x�&�x!x@&�!��$�&$B��,A
        !          30800:  ��x��#�0!�(���D�D���(��� (�&5D�D�(�&5 &  !ǃ�pǂ�t&  !�(#Y���`��`F �@F �F ��'�h�$���0����!$��������$�&�`!�V(� S4�$�S���H(� E4�$�S���:(� 74�$�S���,(� )4�$�S���(� <&$�f4�&$�S���(� <&$�f$�S��S�$'�����        ����$@$e�S��$f�S��$#�S��%��@@<&h!@�<&&(!�.n�/n�co\Z�YX�<&&+!�+n�'���P@&KX_�������1��$   4%��&��%)@@<&<
        !          30801: &&HP!i!    H�@��co&�Jo^<&<&<&<
&&�h!&�`!&�x!&�p!��m8��m<��n��nj!Z�$c&`
        !          30802: ��
        !          30803: G�X@&hX%    G�
        !          30804: P@&HP%        H@$c����     O�����&Ip!'�&`x!Z�&�p!$     %��%)����%����!�(!$
        !          30805: $
H�& p'&�p+�&�`!
H�&�h!&�@!&�h!��&�X'&jX+&�`!&�h!
h@�$�&&�h%���`@��gY��@!`4&@X!& P!&H!$$c��4�$%���&�0�%�%���&�0�%�%���&�0�%�&%���&�08�&&�p#n!$c`%���&�p#%�&)�4 $&& @!&@H!&`P!$%���%�����x#&�0�@&@%&�0�H&&H%&�0�P&FP%�X�0&�X&fX%�0&�P&FP%�0&�H&&H%&�@!,a�  H@ 1H&,a�%J&@,a�%k&:��,a�$c&XB,a� $c��&cX!D�D� <&&�!o�D� D�D� &�H@& 8'&�P0�8+&&H!&�&GP & 8'X0�8+&GP &�&&H!&@0'�0+&KP!&@8'X&fX 0�8+&gX �&FP!���������,�H�d���������8�T�p�&)l&6�&6�&)x&6�&5�&6�&6�&6�&6�&)�&)T&6�&)`&)�&6�&*&*&*&*&*&*&*&*&*&*&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&.d&6�&4�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&,�&6�&6�&6�&6�&6�&6�&6�&6�&6�&6�&5�&*�&.d&1�&4�&*�&*�&6�&6�&*�&6�&6�&,�&6�&6�&6�&5�&6�&,&6�&6�&,�&A�&A�&A�&A�&B &A�&B &B &B &B &B &B&B &B &B &B &B &A�&B &B &BInfinityNaN��Mnᯡ:M�����zD=E����\"��X�$#���"wJ1N���<�*���4
        !          30806: ��?��񈙱���&�����e�}�C5��t}���_Ͼ�/��������������@�P�$����� �k(���C�@�ԥ���*��� ���_�1�ɿ����.v@�k:����#�b�x��z���&�n����x2
        !          30807: W��h?������@���YQa��ȥo��� :�ˏ'��f��KP*��,��
�������͒�����P(�������ij�.Q�k�u�P�4,��x䲻�dQ�8Sc��������E&&��0&D�<<�0��P&D&&03<0�0<0U@&D@&��0�0�D&&A@&@�F����]����t���.�����E��   
!$'+.158;?BEILOSVY�&&p&�*��A���$Header: /sprite/src/lib/tcl/tclTest/RCS/tclTest.c,v 1.8 90/03/23 16:19:27 ouster Exp $ SPRITE (Berkeley)argument list wasn't properly NULL-terminated in "%s" commandDeleting command with clientData "%s".
        !          30808: wrong # args:  should be "%.50s count"Error %d$Header: /sprite/src/lib/tcl/RCS/tclAssem.c,v 1.4 90/03/23 16:26:20 ouster Exp $ SPRITE (Berkeley)x�x�|�}�~T~�����������8� ��k����h�p���\��b�� ʬ̐�$j���H�Pm�$Header: /sprite/src/lib/tcl/RCS/tclBasic.c,v 1.72 90/03/29 10:36:39 ouster Exp $ SPRITE (Berkeley)too many nested calls to Tcl_Eval (infinite loop?)extra characters after close-braceextra characters after close-quoteunmatched quoteunmatched bracemissing close-bracket"%.50s" is an invalid command name %sor ambiguous abbreviationinvoked "break" outside of a loopinvoked "continue" outside of a loopcommand returned bad code: %d%s, while executing
        !          30809: "%.*s%s"%.50s..., while executing
        !          30810: "%.*s%s", invoked from within
        !          30811: "%.*s%s"%s: '%.*s => %.*s'errorInfoerrorInfoerrorInfonoAbbrev&�l&�t&�|&��&t�&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&�&�&�&�&�$&�,&�0&�8&�@&�Hcontinuewrong # args:  should be "%.50s add event [exec]"bad arg "%.50s":  should be "exec"$Header: /sprite/src/lib/tcl/RCS/tclHistory.c,v 1.6 90/03/29 13:20:04 ouster Exp $ SPRITE (Berkeley)wrong # args:  should be "%.50s change newValue [event]"too many args:  should be "%.50s event [event]"wrong # args:  should be "%.50s info [count]"bad count "%.50s"wrong # args:  should be "%.50s keep number"bad number "%.50s"wrong # args:  should be "%.50s nextid"too many args:  should be "%.50s redo [event]"substitutewrong # args:  should be "%.50s substitute old new [event]"wrong # args:  should be "%.50s words num-num/pat [event]"bad "%.50s" option "%.50s": must be add, change, event, info, keep, nextid, redo, substitute, or wordsbad event number "%.50s"event "%.50s" hasn't occurred yetevent "%.50s" is too far in the pastno event matches "%.50s""%.50s" doesn't appear in eventword selector "%.50s" specified non-existent wordsbad word selector "%.50s":  should be num-num or pattern$Header: /sprite/src/lib/tcl/RCS/tclUtil.c,v 1.30 90/03/25 11:04:25 ouster Exp $ SPRITE (Berkeley)internal error in Tcl_SplitListlist element in braces followed by "%.*s" instead of spaceunmatched open brace in list$Header: /sprite/src/lib/tcl/RCS/tclProc.c,v 1.35 90/03/29 10:55:16 ouster Exp $ SPRITE (Berkeley)couldn't find variable "%.50s"couldn't find variable "%.50s"wrong # args: should be "%.50s varName [newValue]"too few args:  should be "%.50s varName varName ..."too few args:  should be "%.50s [level] command ..." ("uplevel" body line %d)bad level "%.50s"no value given for parameter "%s" to "%s"called "%s" with too many arguments (procedure "%.50s" line %d)invoked "break" outside of a loopinvoked "continue" outside of a loopwrong # args: should be "%.50s name args body"too many fields in argument specifier "%.50s"procedure "%.50s" has argument with no nameisdirectorybad "%.30s" option "%.30s": must be dirname, executable, exists, extension, isdirectory, isfile, owned, readable, root, tail, or writable$Header: /sprite/src/lib/tcl/RCS/tclCmdAH.c,v 1.45 90/04/18 17:09:19 ouster Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s start test next command" ("for" initial command) ("for" body line %d) ("for" loop-end command)wrong # args: should be "%.50s varName list command" ("foreach" body line %d)too few args: should be "%.50s formatString [arg arg ...]"too many args: should be "%.50s"expected integer but got "%.50s" insteadexpected integer but got "%.50s" insteadexpected floating-point number but got "%.50s" insteadformat string ended in middle of field specifierbad field specifier "%c"%s "%.50s string [in] patList body ... [default body]"not enough args:  should beinvoked "%.50s" without enough argumentsextra pattern with no body in "%.50s" ("%.50s" arm line %d)wrong # args: should be "%.50s command [varName]"not enough args:  should be "%.50s arg [arg ...]"too many args: should be "%.50s"wrong # args: should be "%.50s message [errorInfo]"not enough args:  should be "%.50s arg [arg ...]" ("eval" body line %d)specified "<" but no input in "%.50s" commandnot enough arguments to "%.50s" commandcouldn't create input pipe for "%.50s" command: %.50scouldn't write pipe input for command: %.50s/tmp/tcl.XXXXXX/tmp/tcl.XXXXXXcouldn't create input file for "%.50s" command: %.50scouldn't write file input for command: %.50scouldn't reset or close input file for command: %.50scouldn't create output pipe for "%.50s" commandcouldn't fork child for "%.50s" command: %.50sforked process couldn't set up input/outputcouldn't find a "%.50s" to executeerror reading stdout during "%.50s": %.50schild process disappeared mysteriouslycommand terminated abnormallywrong # args: should be "%.50s expression"wrong # args: should be "%.50s name option"rootnameextensionreadablewritableexecutable$Header: /sprite/src/lib/tcl/RCS/tclGlob.c,v 1.4 90/04/19 14:53:59 ouster Exp $ SPRITE (Berkeley)unmatched open-brace in file namecouldn't read directory "%.50s": %.50scouldn't find HOME env. variable to expand "%.100s"user "%.50s" doesn't existno files matched glob pattern(s)different numbers of variable names and field specifiers$Header: /sprite/src/lib/tcl/RCS/tclCmdIZ.c,v 1.36 90/04/18 17:09:07 ouster Exp $ SPRITE (Berkeley)wrong # args: should be "%.50s fileName"couldn't read file "%.50s"couldn't stat file "%.50s"error in reading file "%.50s" (file "%.50s" line %d)wrong # args: should be "%.50s option a b"wrong # args:  should be "%.50s bool [then] command [[else] command]"bad "%.50s" option "%.50s": must be compare, first, or last ("if" body line %d)bad count "%.50s" given to "%.50s"wrong # args: should be "%.50s command [count]"wrong # args:  should be "%.50s value index [chars]"bad index "%.50s" ("time" body line %d)%.0f microseconds per iterationbad argument "%s":  must be "chars"too few args:  should be "%.50s option [arg arg ...]"wrong # args: should be "%.50s args procname"info requested on "%s", which isn't a procedurewrong # args: should be "%.50s body procname"cmdcountwrong # args: should be "%.50s cmdcount"commandswrong # args: should be "%.50s commands [pattern]"wrong # args: should be "%.50s default procname arg varname"procedure "%s" doesn't have an argument "%s"wrong # args: should be "%.50s exists varName"wrong # args: should be "%.50s globals [pattern]"wrong # args: should be "%.50s locals [pattern]"bad level "%.50s"wrong # args: should be "%.50s level [number]"wrong # args: should be "%.50s procs [pattern]"tclversionwrong # args: should be "%.50s vars [pattern]"bad "%.50s" option "%.50s": must be args, body, commands, cmdcount, default, exists, globals, level, locals, procs, tclversion, or varswrong # args: should be "%.50s value [chars]"not enough args:  should be "%.50s arg [arg ...]"wrong # args: should be "%.50s string [file [append]]"bad option "%.50s":  must be "append"couldn't open "%.50s": %.80sI/O error while writing: %.50swrong #/type of args: should be "%.50s value first last [chars]"bad range specifier "%.50s"bad range specifier "%.50s"wrong # args: should be "%.50s oldName newName"can't rename to "%.50s": already existscan't rename "%.50s":  command doesn't existtoo many args: should be "%.50s [value]"too few args: should be "%.50s string format varName ..."can't have more than %d fields in "%.50s"bad scan conversion character "%c"$Header: /sprite/src/lib/c/stdlib/RCS/strtol.c,v 1.4 89/03/22 00:47:30 rab Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/c/stdlib/RCS/strtoul.c,v 1.2 89/03/22 00:47:33 rab Exp $ SPRITE (Berkeley)&    ddddddd
        !          30812: 
 !"#dddddd
        !          30813: 
 !"#$Header: /sprite/src/lib/c/string/RCS/strstr.c,v 1.2 89/03/22 16:07:57 rab Exp $ SPRITE (Berkeley)$Header: /sprite/src/lib/c/string/RCS/strerror.c,v 1.5 89/03/22 16:06:57 rab Exp Locker: shirriff $ SPRITE (Berkeley)&�&�0&�<&�X&�h&��&��&��&��&��&��&��&�&�&�,&�P&�h&�|&��&��&��&��&��&��&�&�$&�D&�d&�t&��&��&��&��&��&��&�&�,&�H&�h&��&��&��&��&��&�&�$&�H&�h&��&��&��&��&��&�&�@&�\&�x&��&��&��&��&��&�&�4&�H&�X&�l&��&��&��&��&��&��&�&�$&�<&�T&�lno error (operation succeedednot ownerno such file or directoryno such processinterrupted system callI/O errorno such device or addressargument list too longexec format errorbad file numberno childrenno more processesnot enough memorypermission deniedbad address in system call argumentblock device requiredmount device busyfile already existscross-domain linkno such devicenot a directoryillegal operation on a directoryinvalid argumentfile table overflowtoo many open filesinappropriate device for ioctltext file or pseudo-device busyfile too largeno space left in file system domainillegal seekread-only file systemtoo many linksbroken pipemath argument out of rangemath result unrepresentableoperation would blockoperation now in progressoperation already in progresssocket operation on non-socketdestination address requiredmessage too longprotocol wrong type for socketbad proocol optionprotocol not supporedsocket type not supportedoperation not supported on socketprotocol family not supportedaddress family not supported by protocol familyaddress already in usecan't assign requested addressnetwork is downnetwork is unreachablenetwork dropped connection on resetsoftware caused connection abortconnection reset by peerno buffer space availablesocket is already connectedsocket is not connectedcan't send afer socket shutdownundefined error (59)connection timed outconnection refusedtoo many levels of symbolic linksfile name too longhost is downhost is unreachabledirectory not emptytoo many processestoo many usersdisk quota exceededstale remote file handlepathname hit remote file systemundefined error (72)undefined error (73)undefined error (74)undefined error (75)undefined error (76)identifier removedunknown error (%d)$Header: /sprite/src/lib/tcl/RCS/tclExpr.c,v 1.13 90/03/22 15:24:59 ouster Exp $ SPRITE (Berkeley)
        !          30814: 
        !          30815:          &&variable "%.50s" contained non-numeric value "%.50s"command "%.50s" returned non-numeric result "%.50s"unmatched parentheses in expression "%.50s"divide by zerodivide by zerosyntax error in expression "%.50s"syntax error in expression "%.50s"         (((((                  H����������������&&&&&&&&&&&&&&&&&&&&������ &     
        !          30816: 
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~CHRCLASS/lib/chrclass/&&:/usr/sbin:/usr/bsd:/usr/bin:/bin/etc/passwdInfinityInfinity                    000000000000000000000123456789ABCDEF0123456789abcdef+InfinityInfinity-Infinity+InfinityInfinity-InfinityW`&/Lw&/K:&/J&MFw&/ 
        !          30817: echoechocreatecreate% %s
        !          30818: Error: %s
        !          30819: 
        !          30820:  ... ...%sbreakcasecatchconcaterrorevalexecexprfileforforeachformatglobglobalifindexinfolengthlistprintprocrangerenamereturnscansetsourcestringtimeuplevelexecchangeevent-1info%6d  keepnextid%dredo-1-1words-1history-1add$args010%d%d%Findefault%d%ddirname./tail01existsownedisfile%s%s/2&��HOME/%d%d%g%g%dcompare1-10firstlastmatch10then%delse%dcharsargsbody%ddefault10existsglobalslocalslevel0%dprocs3.3varschars%dappendawendcharsN&ascii&��/bin/shPATHshrrNaNNaN-+ 0x0XNaN-+ NaN-+ (null)&�T&�XGMT   TZ� $
4&
(
08&@&
D
H
L&T&��
        !          30821: �&&,&4
        !          30822: &0&&T&P&&p&l&&�&�
        !          30823: &�&&�
        !          30824: &$&@&L&�&�
�
��&�&
        !          30825: ��&�&
        !          30826: �&�
��&�&
        !          30827: ��&�&
        !          30828: �&�&�

        !          30829: 
        !          30830: 4(,
        !          30831: 0&8@
        !          30832: <&DH
        !          30833: P&t&�
�&�
�&�
��
&($&4@
        !          30834: <&D
hd
p&��&�&�&(&0&t&�&&,&8&d&��
        !          30835: ��
        !          30836: $&|&��
        !          30837: ��
        !          30838: &&H&�&     �& �&
        !          30839: &
        !          30840: D&
        !          30841: p&
        !          30842: �&
        !          30843: �&<&H&T&�&�&T&�&
(
,
        !          30844: 
�
�
        !          30845: 
�
�
        !          30846: T\
        !          30847: ��
        !          30848: hp
        !          30849: ��
        !          30850: &@&�&�&<&p&�&�&�&&�&
        !          30851: <@
        !          30852: lp
        !          30853: �&&�&d&�&��
        !          30854: ��
        !          30855: �&�&X&t&�&��
        !          30856: 
        !          30857: ,4
        !          30858: 8&`&��
        !          30859: 8@
        !          30860: dp&�&��&$,
        !          30861: 8&T\
        !          30862: h&|�
        !          30863: �&�&�& ( $& D T
        !          30864:  `& �&!x&!�&","0
        !          30865: "4&"P"\&"l&"�&"�&"�&"�"�
        !          30866: "�&"�"�
        !          30867: "�&#t&#�#�
        !          30868: #�&$4&$t&%(&%0&%<%L
        !          30869: %t%�
        !          30870: %�&&&&|&&�&&�&'t'p&'�&'�&'�&((&(<(H
        !          30871: (D&(p&(�(�&(�(�
        !          30872: (�&(�&(�&))&)H)T
        !          30873: )P&)�&)�&)�&)�&)�&**&*D*P
        !          30874: *L&*p*�&*�&*�&*�*�&++(
        !          30875: +$&+P&+�+�
        !          30876: +�&,X&,x&,�&-(&..&. &.h&.�&.�&/h/d&/�/�
        !          30877: /�&/�&00
        !          30878: 0&0&10&2&28&2�2�&2�2�
        !          30879: 2�&33&3<38&3h3t
        !          30880: 3p&3�3�&3�&3�&44
        !          30881: 4&4L4X
        !          30882: 4T&4x4�&4�&4�4�&5 5,
        !          30883: 5(&5L5d&5�&5�&5�5�
        !          30884: 5�&6L&6x&76�&7&
        !          30885: 7&7p&7|&8H&8\&8�&8�&9�&9�&9�&9�&:&:�:�
        !          30886: ;4&;x&;�&;�&<&<x&<�&=&=0&=8&=\&=h&=�&=�&>X>h
        !          30887: >�&>�>�
        !          30888: >�&??
        !          30889: ?&?P?\
        !          30890: ?X&?�&@4&@P&@�@�
        !          30891: @�&@�&@�&A&AxA�
        !          30892: A�&A�&A�&A�&B&B(&BP&B�&B�&B�&C`Cp
        !          30893: C�&D$D4
        !          30894: DP&D�&D�&EE
        !          30895: E(E0
        !          30896: E`&ExE�
        !          30897: E�E�
        !          30898: FX&F�&GH&GTG`
        !          30899: G\&G|G�
        !          30900: G�&G�G�
        !          30901: HH
        !          30902: H�H�
        !          30903: II
        !          30904: IhIp
        !          30905: I�&I�I�
        !          30906: I�&I�&JTJX
        !          30907: J\&J�J�
        !          30908: KK
        !          30909: K�&L�&P &R�&S�&S�&T&T$&UP&Ut&U�&U�&V\Vd
        !          30910: V�V�
        !          30911: WHWP
        !          30912: W�W�
        !          30913: W�X
        !          30914: XDXL
        !          30915: Z|Z�
        !          30916: Z�&[$&[D&[�[�
        !          30917: [�&[�&\&]<&_t_|
        !          30918: _�_�
        !          30919: _�&`h&a<&a�&b$b,
        !          30920: b�c
        !          30921: c&c&c0&c<&cX&cx&c|&
        !          30922: ch&cp&
        !          30923: c�&c�&c�&dLdT
        !          30924: dP&d�d�
        !          30925: d�&d�&d�&e,&eT&ex&e�&e�&f&f$&f�&f�&g�&g�&h<&hx&h�&h�&i�i�
        !          30926: i�i�
        !          30927: jPjl&j�&j�j�
        !          30928: j�&k&k@kL
        !          30929: kH&k�&k�k�
        !          30930: k�&ll$
        !          30931: l &l|&l�l�&l�l�&m�m�
        !          30932: m�&n&n�n�
        !          30933: n�&pt&p�&p�&p�p�
        !          30934: p�&p�&qq
        !          30935: q&qP&qx&q�&
        !          30936: q�&q�&
        !          30937: r8&r@&shsd&s�&s�&s�&t0t8
        !          30938: t<&tX&t�t�
        !          30939: t�&t�&uu$
        !          30940: u(&u4&uTuX
        !          30941: u�u�
        !          30942: u�&u�&vD&vt&v|&v�&w&w�&w�&x&x&x8&x�x�
        !          30943: x�&y(y@
        !          30944: y,y8
        !          30945: y<&yhyp&y�y�
        !          30946: y�&zz 
        !          30947: z�z�&z�&{$&{�&{�&|P&|�|�
        !          30948: |�&|�&}} 
        !          30949: }&}<&}l&}|&}�}�&}�}�
        !          30950: }�&~&~�~�
        !          30951: ~�&
        !          30952: &@&l&��
        !          30953: �&�&�$&�<&�L&�h�p
        !          30954: �t&��&������
        !          30955: ��&����
        !          30956: ��&��&�$&�D&�X
�\&�l�x
        !          30957: �|&��&��
��&����
        !          30958: ��&��&��
        !          30959: �&�&�,&�H
�L&�\�h
        !          30960: �l&��&��
��&����
        !          30961: ��&��&�&�
�&�,�4
        !          30962: �8&�P&�h�x
        !          30963: �t&��&��
��&����
        !          30964: ��&��&�&�0&�H�L
        !          30965: �X&�l&�t&��&��&��&��&����
        !          30966: ��&��&��&��&��&�&�t&��&��&��&�
�&��(
        !          30967: �,&��&����
        !          30968: ��&�$�0
        !          30969: �,&�\&�x&��&��&��$
        !          30970: � &�<&�t�p&����
        !          30971: ��&��&�&�D�@&�X&�x����&��
        !          30972: � &�8&�\&��&����
        !          30973: ��&��&�&�D&���|&��&��&��&�0�4
        !          30974: �<&�`&�|������
        !          30975: ��&�$�(
        !          30976: �0&����&����&�0�4&����
        !          30977: ��&����
        !          30978: ��&��&�� &�����$�4
        !          30979: �0&�P&����
        !          30980: ��&��&��&�@�H
        !          30981: �L&�X&�x&����
        !          30982: ��&�&�h�x
        !          30983: �t&��&��&�&�x��
        !          30984: ��&��&��&��&����
        !          30985: ��&�@&�<�D
        !          30986: �X&�l�t
        !          30987: ��&��&�\�d
        !          30988: �x&����
        !          30989: ��&�0�,&��&��$
        !          30990: � &�`&��&����
        !          30991: ��&����&��,
        !          30992: �(&�|��
        !          30993: ����
        !          30994: ��&��&��&��&�,&��&��&��&��(
        !          30995: �$&�@&��&�&�4&�P&��&��&�D�H
        !          30996: �\&��&��&�`&��&��&��&�&�4�P
�T&�d�p
        !          30997: �t&��&��&��&���l&��&��&��&�$&�D&��&��&��&�&�(&�D&��&��&�P�L&�l�|
        !          30998: �x&���,�4&�<�P�T&�t��
        !          30999: �x��&��&��&��������
        !          31000: ���&���&�$�(�0&�8�<&�T&�\�&�X�`&�|��&����
        !          31001: ��&�@&�d&����
        !          31002: ��&�L&�h�d&���$&�@�<&��&�&� �(
        !          31003: �,&�8&����
        !          31004: ��&��&���
        !          31005: �4�D
        !          31006: �@&��&��&�,&�d&��&����&����
        !          31007: ��&��&����
        !          31008: ��&��&� �&�H�T
        !          31009: �P&�l&����
        !          31010: ��&����&�� 
        !          31011: �&�8&����
        !          31012: ��&����
        !          31013: ��&����&��,
        !          31014: �(&�l�x
        !          31015: �t&����&����
        !          31016: ��&�&�\�l
        !          31017: �h&��&��&������&���8�4&�`�l
        !          31018: �h&��&����&� �,
        !          31019: �(&�p�l&����
        !          31020: ��&�(�$&�l����&��&����
        !          31021: ��&��&��
        !          31022: �&�H�D&�t��
        !          31023: �|&����
        !          31024: ��&����&��&�<�H
        !          31025: �D&����
        !          31026: ��&�(&�@&�\&��&�&�@&�l&����
        !          31027: ��&�D&��&����&�&�4�0&”¤
        !          31028:  &¼&�D�T
        !          31029: �P&�p�t
        !          31030: à&üø&����
        !          31031: ��&����&��&�8
�<&�P�\
        !          31032: �`&�|&ĔĜ
        !          31033: Ę&İ&��
��&����
        !          31034: ��&�\�l
        !          31035: �h&ń&ŔŬ
        !          31036: ����
        !          31037: ��&�&�0�,&�\&�lƄ
        !          31038: ư��
        !          31039: Ƽ&��&��&�8&�`���h&��&�ɀ&����
        !          31040: �$�4
        !          31041: �p&���
        !          31042: �&�<&�X&�t˄
        !          31043: ˀ&˜&˸��
        !          31044: ��&��&��&�X&�`&����
        !          31045: ��&��&�l�|
        !          31046: �x&͔&�� 
        !          31047: �<�D
        !          31048: ΈΔ
        !          31049: Θ&όϜ
        !          31050: Ϙ&��
        !          31051: �$&��&�8�4&�X&�t�x&Ҝ&��&����&�&�(�8&�\&��&����&�L�\
        !          31052: �X&�t&Ԡ&����
        !          31053: ��&��&��
        !          31054: �&�&�0&�H&�h�x
        !          31055: �t&Հ&Ք&ռ&���
        !          31056: �&�&�&ք֔
        !          31057: ֐&֬&����&��&��,�@�`�\&א׌&׼׸&��&���� �4
        !          31058: �0&�l&ؼ&�$� &٠٨&����
        !          31059: ��&���
        !          31060: �&�&�L&�|ڄ
        !          31061: ڈ&ڔ&��&�<&�\�h
        !          31062: �t&����
        !          31063: ����
        !          31064: �$&�\&����
        !          31065: �� 
        !          31066: ތޔ
        !          31067: ����
        !          31068: �P�p�|
        !          31069: ����
        !          31070: ����
        !          31071: ��&��
        !          31072: �4�<
        !          31073: �\�d
        !          31074: �&��&� &�x&��
        !          31075: �&��&�$&�@&��
        !          31076: �&�&��&�p&�&��&���
        !          31077: �&�\�h
        !          31078: �p&�L&����
        !          31079: �d�p
        !          31080: �x&����
        !          31081: ��&�D�P
        !          31082: �X&��
        !          31083: �&��
        !          31084: �$&�T�`
        !          31085: �h&� �$
        !          31086: �(&��
        !          31087: �&����
        !          31088: �&�� 
        !          31089: �&�&��&����
        !          31090: ��&�8�@
        !          31091: �<&�\�t���x�|
        !          31092: ��&��&��&��&����
        !          31093: ��&��&�&�$&����
        !          31094: ��&�L&��&�0�8
        !          31095: �4�T�X
        !          31096: �h&�x&����&��&�
�4&��&����
        !          31097: ��&�$&��&��&��&����
        !          31098: ����
        !          31099: � &�P&��&� �$
        !          31100: �x&���        �������
        !          31101: ���        ����� ����0
        !          31102: �<&�`�|
        !          31103: ���        �������
        !          31104: ��&��&
        !          31105: &P&T
        !          31106: &�&�
        !          31107: &�&�
        !          31108: &�&�
        !          31109: &�&&�&�
        !          31110: &&8&&&�&&&
        !          31111: &@&&�&&�&�
        !          31112: &�&& &&t&&�&&�&�
        !          31113: &�&0&(&4&8&H&P&T&L&\&�&&(&4&\&X&&`&�&�&�&&&&(&&8&P&|&�&�&�&�&�&�&&&0&d&&�&&�&&      &�&�
        !          31114: &�&&&&D&&`&&�&&�&&�&&�&&�&&�&&&&@&&`&&�&&�&&�&&�&&
&<
&`
&l&&�
&�&&�&&�&&&(&,
        !          31115: &4&&H&l&&|&&�&�
&�&�&&&&0
&t
&`&&�&&�&&�&&&&&& &&0&&H&&X&&�
&�
&�&&�&�&�
        !          31116: &�&�&&&&&&$&4&&<&�&�&�
        !          31117: &�&�&&�&&&&$&X
        !          31118: &p&&�&&�&�
        !          31119: &�&&�&&&
        !          31120: &(&&L&&�&&�&�
        !          31121: &�&&�&�
        !          31122: &�&&�&&&&&&(&&8&@
        !          31123: &\&d
        !          31124: &h&l
        !          31125: &�&&�&&�&&�&&�&�
        !          31126: &&
        !          31127: &&
        !          31128: &&
        !          31129: & &$
        !          31130: &(&&0&4
        !          31131: &8&&@&D
        !          31132: &H&&P&T
        !          31133: &�&�
        !          31134: &�&�
        !          31135: &�&�
        !          31136: &|&&�&&�&&�&&�&&8&&X&l
        !          31137: &�&&�&&�&�&�&&#d&&#�&#�
        !          31138: &#�&#�&&#�&$$&$0
        !          31139: &$<&&% 
&%4&&%P
&%�&&%�&&&&&&&
        !          31140: &&&&&&& &&(
        !          31141: &&D&&L
        !          31142: &&H&&&T&&`
        !          31143: &&X&&\
        !          31144: &&d&&&l&&t
        !          31145: &&�&&�
        !          31146: &&�&&&�&&�
        !          31147: &&�&&�
        !          31148: &'&'$
        !          31149: &',&&'<&'H
        !          31150: &'L&'X
        !          31151: &'`&&'t&'x
        !          31152: &'�&'�
        !          31153: &'�&'�
        !          31154: &'�&&'�&'�
        !          31155: &'�&'�
        !          31156: &(�&&*&*$
        !          31157: &*8&*<
        !          31158: &+&+(&&+D&+d&,�&&-(&-0
        !          31159: &-4&-8
        !          31160: &.&. &.�&&.�&.�&&.�&/&/
        !          31161: &/&/
        !          31162: &/&&/@&/D
        !          31163: &/H&&/P&/T
        !          31164: &/x&/�&/�&1h&1p
        !          31165: &2$&&2H&2L&&2T&2�&2�
        !          31166: &2�&2�
        !          31167: &2�&&2�&2�
        !          31168: &2�&&2�&2�
        !          31169: &3&34&3T&5&&50&&6 &60&&6�&6�
        !          31170: &7h&7l
        !          31171: &7�&&8&&8\&8`
        !          31172: &8�&&8�&&9D&9H
        !          31173: &9p&&9�&&:@&:D
        !          31174: &:p&&:�&:�
        !          31175: &:�&;
        !          31176: &;&&;&;
        !          31177: &;@&;D
        !          31178: &;�&;�&;X&;t
        !          31179: &;�&;�&;�&< &&<`&<l&<�&&<�&<�&<�&&=&=$&=0&=`&&=�&=�&=�&&>l&&>�&>�&>�&?&&?T&?`&?�&&?�&?�&?�&&@&&@D&@t&@�&@�&&A,&BD&BL
        !          31180: &B\&Bh&B�&&B�&B�&C(&&Cx&C�&C�&&D&D,&DP&&D�&&D�&D�&D�&D�
        !          31181: &D�&D�&E&&E &E,&E0&&E8&EH&EL&&E`&El&Ex&&E�
&E�&E�
        !          31182: &G&G(&Gh&&G�&G�
        !          31183: &G�&G�&H &&H�&&I�&I�&I�&&J&J�&J�&J�&&K4&K<
        !          31184: &K�&K�&K�&&L&L
        !          31185: &Lt&L`&Ll&L�&L�&L�&&L�&MD&&M�&&N         &N$&N@&&N`&&N�&N�
        !          31186: &N�&&O&&O&
        !          31187: &O&&O�&&O�&&O�&&P&&P&P
        !          31188: &P&&P0&&P�&&P�        &P�&P�&&Q&&Q$&&Q�&&R4&&Rx&R�
        !          31189: &Rp&Rt
        !          31190: &R�&R�&&R�&R�&&R�&Sd&S|&S�&&S�&S�&S�&S�&&Tx&T�
        !          31191: &T�&T�
        !          31192: &T�&T�
        !          31193: &T�&T�
        !          31194: &U�&U�
        !          31195: &U�&U�
        !          31196: &U�&U�
        !          31197: &U�&U�
        !          31198: &V&V
        !          31199: &V8&V@
        !          31200: &VD&VL
        !          31201: &VP&VT
        !          31202: &VX&Vh
        !          31203: &V\&V`
        !          31204: &V|&Vx&&V�&V�&&V�&V�&&V�&V�&V�&V�&V�&V�&V�&&V�&W&W&&W0&W8&W4&&WP&WT
        !          31205: &Xl&&X�&&X�&&Y@&YD
        !          31206: &Y�&&Z,&&ZX&&Z�&&Z�&Z�&[&[ 
        !          31207: &[<&[@
        !          31208: &[`&[d
        !          31209: &[�&&[�&&\�&&\�&&^�&&a,&a0
        !          31210: &aH&aL
        !          31211: &b&&b\&b`
        !          31212: &d,&d0&dD&&d�&&e&&eH&&e�&&e�&&e�&
        !          31213: &e�&&e�&&e�&
        !          31214: &e�&&f&&f@&&f`&&f�&&f�&f�
        !          31215: &f�&f�
        !          31216: &f�
        !          31217: &f�&&f�&f�
        !          31218: &g&g4
        !          31219: &g<&g\
        !          31220: &g@&g`
        !          31221: &g &g8
        !          31222: &gD&gd
        !          31223: &gH&gh
        !          31224: &gp&&g�&&hT&&i�&i�
        !          31225: &j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&j�&&k&&k&&k&&k&&k&&k&&k&&k&&k &&k$&&k(&&k,&&k0&&k4&&k8&&k<&&k@&&kD&&kH&&kL&&kP&&kT&&kX&&k\&&k`&&kd&&kh&&kl&&kp&&kt&&kx&&k|&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&k�&&l&&l&&l&&l&&l&&l&&l&&l&&l &&l$&&l(&&l,&&l0&&l4&&l8&&l<&&l@&&lD&&lH&&lL&&lP&&l`&&ld&&lh&&ll&&lp&<&&lx&&l|&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&l�&&q&&q&&q&&q&&q &&q$&&q(&&q,&&q0&&q4&&q8&&q<&&q@&&qD&&qH&&qL&&qP&&qT&&qX&&q\&&q`&&qd&&qh&&ql&&qp&&qt&&qx&&q|&&q�&&q�&&q�&&t&t&t&t&t&t&t&t&t &t$&t(&t,&t0&t4&t8&t<&t@&tD&tH&tL&tP&tT&tX&t\&t`&td&th&tl&tp&tt&tx&��&��&��&��&��&��&��&��&��&��&�&�&�&�&�&�&�&�&� &�$&�(&�,&�0&�4&�8&�<&�@&�D&�H&�L&�P&�T&�X&�\&�`&�d&�h&�l&�p&�t&�x&�|&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&��&�&�&�&�&���&���&���&���&���&�\&��&�L&�P�&&��@�P�    P
        !          31226: p��
�0���     0 �
        !          31227: @
        !          31228: �@� 

p�00 �!�"P#�$P%�&0'�(P)@*�+ ,�-�.�/�001�2�3�4 5! 6!�7"�8"�9#p:#�;$p<$�=% >%`A%�F%�L&@d*�g+h+�l+�x,`|,��-��.`�.�&800@2�p     &Z0p&����        -A<��X7P�T4�~"�$FH�R�0�0@� 0�����0`�P!  1F!%'$#&%B(( $' #0!'12"�    �   C#$a ' !#b�    !""� �$u#!%!34$%��! �!�!�1#�   h$�  ��"!C(!1C (1�
        !          31229: W�E"#!Ct#"!G"G#�wc�
        !          31230: !�3#"$!� �!�##!C(�      C"1�        #'$%7�cE"(d�!'s##&$!$�       �      $(�44v88!'""� 8(&$(!1&!"!3##'$E#&��!$%�
        !          31231: (& $S!h3#c#r�       "6(5#%&&%#85("F5#6%! (&##(E&(�%S5&�       !&%(v("%$5("%('6%(%"F2$&%E�85$a'7"W�$#(!2s�        #$b�
        !          31232: #%$8$%$�$#($$�
        !          31233: $$$(c$%"�!%8!�        (((#$"4%h&4"T w# ��!�1(87!�
        !          31234: �!s$!(&7!&E(�/ 4#"##0 @ (!!8("#c(q!!!(!" "!3"X"##� &A"!!!!! !!! !�
        !          31235: '!!!!"�
$'(&%%$(#�  !7� # s�'$#((  s�0Ac !#�'#s#s!('0&S52(v&�
        !          31236: $8(%%#$""2"(#&&$!7##$#(�1#B"5%"E%!45#8%TE�##%%�%("s#4#%r44%$!5!1�   "��
        !          31237: $6#%u��!2!Cu(!$C&!T8$%T&�$(!�&((38&"a66&#67!&&#$D6#u#%"PA�
#5&#%%�
        !          31238: 8&(8"#8&(8(8�   5"8&#H""�&3#"8##8&$t3B$$!"####"3&5tc&%e!(!(3&!!�8'!(((&x&'&"&%%!366"5#&%!&"!#"C6�&&%!8"�0!�6##s@(3�     #' %##' %###""�6!4E6!�6!!#%�&E#"#'##F#!�C#"t#�&&(!�
        !          31239: S%$(#!�� &#8&#$#�%%%#A"�    S##1p5w5"8&($$�#�"Q�5#(#!3"D5$#$#$2#%%"DF$#('#%&#!!�5&5%E 5%$(5#(5!%%$6'!$#5%"5 5!!!U%#%#&%('E5!r5 !&�!t3"6(#&(#&(!%!D6$F'%($6'G636%#(4#(!T6%(Cu%&x&'%(%(7(h$"#6'%&%6#&#!�@t6� '#7%q11AA1 E$#s(�e'D5858c&%$&#"#w"c6%!'!G!'4s'!6"%"'(�c%("  `q#q!g�      "!"#"#!"##s11�# #$!7%A""!!!&�!�0%$6!0%#&2&#1111111112!!!2!!!3!3!3!13!111�#d#5!$b"###�B!8�
        !          31240: "#H"&#(#($$$$$$%%%%$$$((&3%B##&1P����� 1�&T"%&�"0�D0��6 � ��80�2Є
10�1!�1@� �8&R'&2 � ���h1(D ���4&#$@�1�H�2(7 ���8& �8P�P�r!!5(Q�p�0�B"R�@�X!�'##� �� �4"1 �"@�1� !(�p�@�p�t  �P� 1�1@� (!@�Q!�!0� #A�% $@A�A�r �@"  �%Q31t�P`00   �A  �!  �@��      �!2�
        !          31241: q  �@��
        !          31242: 0 �p �p0���    ���@�rP�@�r Ѐ�@�@q �0 �@��
        !          31243: 0 �p �p0���    ���@�rP�@�r �0�4@�B�CA�C&Q�`� ��& @� � � � �4 !�!!!&P�WDC!P�3�3��� Рp��  ����   !H4" �#&#0�H!@�!!0�H0�1&@� ���%"��!#0�0�E&&P�P�T���!!8!C# �%C�A �2(&'C �(1 �2(&!!��@�A����(0�5��4�4�3�8( �&6F!&`�q�8@�!2�
        !          31244: q  �@��
        !          31245: 0 �p �p0���    ���@�rP�@�r Ѐ�@�@q �0 �@��
        !          31246: 0 �p �p0���    ���@�rP�@�r �3$#S�'!�(�# @�R� �4f�� !��"����"%�"C(2�8 �!� �8$��&�P!�A����7P����Q ���
&��QA�A�A�A�p� �B0�5"B�
        !          31247:  ��"0�`2�G'c`�`��2��"�P�#�A� ��"QBE'D ���R�B'G@�!�0�P!� �!�0�qV"0�@�@�(2�HU ��2!�4 ��C�"�"�h4E���@�"&788B�0�2�HU ��2!�4 ��H�"�"�p�PH35"�2(R��H�1�!7 �0�P825!�26"`�&T� ���`�s � �$ �2C31""26(! � "�! &P�Q�@�    #( �F('20� �0%(0�6(w"&�G!8 �D �a@�0�0�8 �(&1"(6(f7 & !�F �@0�U�!88&#!(8&�'0�S(( ��H7@�� &�W&((&P�P�X �(#!�80��81�0�@#�! �!!&$ �1#&�
        !          31248: ���
        !          31249: �1VTP�``�c��     ��!�0�!�d##!��1��!"�& !�!1��1�1�#&�&�
���
5&`�r�� �(& � �#0�("��!�4`�h&D�F0�G!0�5�cH&0`�C!S"#0�1�"@���@�H ��4 ��4S"0�50 �A�0��$�0�2 �&&��������!0�(�0��@�00���
        !          31250: �Q �@�1 �0�A �0�! �0�A �0�0p�@�00�P�Q �@�1 �0�A �0�! �0�A �0�0�����
        !          31251: 0Q�0P�0 �2@0�@� ��P�P �"A�a����  ���2 ���@0�P� 0�P� 0�@   � ���Q �0�0�!1000�  �0 �A  �0 �P0�  � ��A�0 �0�0�&�!&# �&�
���
0� �" �   �3A@�3P�50� ��" �# !2%!$0�0�3!!!!!!� !  � !�1P�`���� ����    ������     �������    ��
        !          31252: ������
        !          31253: ��   ����    �  � A�P�@�p �@�0@ �P�P �P0 0����       0�Q`�a0 �  �  �  �  ! 1�0@ �@�  �  �  �@�  �  � 1 " �!!000� !0� 0� 0��0  �����/[`����uwh������t������ ��������� "9&E���������>@&HR�&�������� HT��&�������W����������(GO\
�&�������� fk�(���������@�����������@{�&8
        !          31254: N�&�������� ��%&�n���������0�&-����������0&U&aLl'&��������� &y&�W/&E�?���t����&�&�Z`DsQ���������(��&��}t���������0��&�������������8��&������������HL���������8��<����������x�&�!02L���������0�D9��&�������� ,2��?����������(Kw&\G���������(��&@NP���������8��&*�X����������H�(&D�d0�&��������?F&cDiQ���������8`�&k�t���������H��&���|���������P
        !          31255: w&����������8N�����������8��E�&)����t�����&&�Rp8܀��������8&�&���B5���������83�(M�����Q���V��&��������@�&?�f1���������(�&b�n�&��������(�&����������h<����������� ��>�!&1���������@��MD-&��&��������(& &Sf07�&�������� &m&��     $BI���������0&�&��
        !          31256: �M�����������&�7��d���������� P[�k�����rw�HpҀ&�������� ����v�����\������%�x�ހ��������(<G&G����������8by&P��=�&��������(��&]���������@Fl
        !          31257: ����t�����`�T &��������� ��A8)&N�&�������� �&L�1&u���������& &&T@9&���������� &@&NZB&ŀ��������`&h&�e,O����,�����&��tduY��������� ��&��&��������X�V&t�]���������`p�&��������������&���h����|����� &�        �&��������0Ky&�q����d������&dh?���������@&�&��O€�������&&������������9m�����������H��)�$&x����l������OC€��������@=&�R3�&�������� Wa&,lZ[���������0{�&4�d���������P�"&RuG���������0<a&������������{�&������������&h�S&�&��      ��&���\�����m�$(��
        !          31258: .���������8��C+��
        !          31259: ��&���������3m���������0;Y����L�����-I�����������
        !          31260: ������0���������&�&�#
        !          31261: l!����������8&���x.ހ��������0��&@����l�����_�&���������&���������H9&�&��������*=t�&�������� M`&8N�&��������mu����������H��*<       &��������� ��J`&X�����������\d
&���������� �&h�&�����&&�&���������/&���������0+&����������`"D&����"8����������8X��������SL
        !          31262: Ӏ&��������0��W&����e�&����&����!5&����#&����&����&&1&����%&���������"<���������+/d���������08A
        !          31263: &����&����&���������("8����&����&����&����&����&����&��������� 1&�������������$%,�����\�����+[&�����bm4&����&����&����&����&����&��������� #&��������� &�#����39        &����#���������%*D���������.3p
        !          31264: ����8?�<���������DK&<O����������hQ�&B������g&���������4
���������&(t��������� /Q
        !          31265: &����&���������&����+&1&��������� ?&����&���������H(���������(5k��������8���������������@&����"4����(2����������&p%`&�����l������&R�����������8&$&@��        l���������(&G&a�&����&����&����!���������Xz������E����&���������$&����&������������&�����������������h     �����������&�������������0#>&TU����Do#� �&��������s�L|&������]D
&Q���������0��nl&���������&��&��������(���D����������&�      8N����&&�&����&����&����H�5����N~.&�����&���������!���������hu&����&����8����'p����)1�
        !          31266: *����3;�
8����=F& H����HP$&dW����bi+&���� ����&����&����Y&�����&����7&, ��� `  `   (h 
        !          31267: (  0t 0  &  &, &  &, &  &, &  &, #&o�@� �$�+�0� 5�����7� �  &  A&� #L�%   A4  W&� &a�(l�)s�x�, }������  W�  �� - !�����/�����5����������&�  �  &  &, `%`  %`%@%`+`%`1h%`!`&7)`<)`&  &, `!%`( %`!`&0`        9%`H %`!`S`
]%`i@%`!`     &  &, 
$`%` %`&@%`.`%`6�%`=�%`E�%`M�%`U&%`!`&&  &,  `%` %`@%`!`&')`2)`<)`G)`&  &, %&p�@`%` %`&@%`!`0)`7�  H�@       7\  N _�  f�!,  ND  
lP $|�&��' #��(��������������+� ������
        !          31268: ������,&  &8 "������&�  &�  l  &  &, W`%` %`$@%`/`%`7�%`!`&<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`    w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T&`.&
        !          31269: %`Z& %`&@%`&`%`]&!�%`^&+�%`a!`&&8)`d&B`3&G%`j&O %`!`/&X)`k&e`;&p%`&{ %`&�@%`&�`%`q&��%`r!`4&�)`u&�& `U&�%`x&� %`&�@%`&�`%`y&��%`|&��%`&��%`&��%`�&�&%`�& %`&@%`�&`%` &�%`,&�%`�3&�%`�@&�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`�&  &, &  &, `%` %`!`&)`*`
        !          31270: 0%`5 %`!`9)`?`D%`I %`!`M)`&  &, &  &, �&q�@`          #�(�0�8�&  &8  ?� O� V�#[�$ f�%l�����(h  ?�  
        !          31271: q  +��- ������0��3��6��9&�  q&�  � <��>��A��B��C��D  &������E��H�  "��  �� K��M&�P .&
�����Q&�����T�  *��  '&t W&"�Y&)�\&-�&3�]0 r&;���8�^&G���4�d&L���0�&U�e&Y���(�f&_����g&j�����m&o�����&t�����&|�����&������&��n&������&������o&������&������&��p&������s&������v&������w&������x&������y&������z&��{� U&������&�< ~� T&�������������  P  M< X�������  U� [�������  X� ^����� �  [d b"������*�����`  ^0� �
l f<�����
�  cBD � lG�����P��R������@  g[� �d qg������m���|���  m  4&0  /r � ������������  |������p  xr�  s�!0 ������� �����������  ���  }�!� ������� ���4 �������������������  �&  ��&   �# �'��,��4�$ �=��B��F�H������N�����U������&�  �&�  �&  &, Y`%` %`$@%`/`%`7�%`!`&<)`D`H%`!N %`Z@%```%`"j�%`%r�%`(!`        w)`.{`�5)`4�%`7� %`:�@%`;!`�)`>�`�%`� %`D�@%`E�`%`F!`�)`I�`%�%`O� %`P�@%`Q!` �)`T&`.&
        !          31272: %`Z& %`&@%`&`%`]&!�%`^&+�%`a!`&&8)`d&B`3&G%`j&O %`!`/&X)`k&e`;&p%`&{ %`&�@%`&�`%`q&��%`r!`4&�)`u&�& `U&�%`x&� %`&�@%`&�`%`y&��%`|&��%`&��%`&��%`�&�&%`�& %`&@%`�&`%` &�%`,&�%`�3&�%`�@&�%`�J%`�S %`\@%`c`%`i�%`�r�%`�~�%`�!`<�)`��&t@��&q@�&  &, �&t�@$� &�-�1� 
7�<�E�����P�����W�����   <  ^', m�!s�"z��%( 1��&��)������������� &������,������������������  ������-�  T %������.������/�������     L -������������������������0������1t  &
� 0������4�  -�  ^�  �6 8 5��7�� 8�������  5�&  2�748 :&�<&� >l  <��  9&7�8 ?&�A&�D  F&"�G&)�J&t  B&&�  ?&19L8 M&<�O&A�R  M&H�S�  J&1�  G&O:08 V&Y�X&^�[  W&e�\&l�����_&v�����`&�����a&x  Q&O&�  N&�;�8 g&��i  c&��l&��o&������r&������s&������
        !          31273: &������&������&�  Z&�&�  X&�=�8 t&��v hl  f&��  d&�>48 y&��}&���  s&������&������&�������&��������d  l&��  i@�8 ����� ��$��$ �(������,������0������7�����=�����G�����Q�����X�����  y(  t_B�8 �h��m��u��$ �{�������������������������������������������������������P ��������������  ��Gx ��  �_�  �&  &, z&x�@G�  �'�,�7�?�G�( P�R�����]������ b�����  
4 e�����X  jJ� �      �  oK| $����&��', ���������  o�  �Ld (����*  7������+������1������������2��3��4��������t 4������������������&�����&�����&���|�&!OL 5�  +&-R` ;&8Rx A�  "��  &IS0 G&T�&Y�I A&^�����&h�����&j�J&l�����K&H  ;&I&d  8&sT� L&~�N&��Q&�� L&��R&������&������&������U&8  F&s&T  B&�U� V&��X&��Y U&��Z&������&������H  P&�X  M&�Z@ [&��]&��`&��a&��b e�����c�d��������������������#�����)�����e,  [&�D  V1\� fA�hH�i  mP�����S_( j�  i1�  f^_T pi�ro� xv�sx������ w~�����&�  t@  q^X  n&  &, �&y�@b� �#�*�/�, 4�9�A�����H�����Q�����S�����&0 \�����g�����r�����~����� ��!4  �f  $�  �  �f` *��,��/��  ������0������3�  �&  �gt 6��8��;��<��( ,��=��@&�C& �����&\  &�&�  !&h� F&"�H&)�K&0�L 6&8�����M&=�����&?�����N&�  1&&�  -&Fj� O&Q�Q&W�R&^�&c�U  A0 @&h�����V�  =�  <&F�  7&nk� W&|�Y&��Z&��&��]  L&��^&��a&������d&�  G&n&�  B&�m� g&��i&��j&��&��m  c&��n&������&������&������q&������r&������s&������vm� y ^�����0  [@ a������d  ^q ��  R&��  M'q8 �3��8�� jA������p  g'�  dHq� �R�� o(  mH8  kYq� �g�� ul��`  rYx  psrp �~����������0 ��������������������������������������������� �����d���  ��u� ��  {s�  v�v( ���� ����t  ���  ��v� ������  �������  ���  �w� �!��&�� �,��3�����>������  ��  �&  &, �&|�@x� �%�,�1�  T  l  6x� B�H�O�T�  Y�����[�����b�����g����� � n�����v�����x�����!��"  �|$ #� ����x�)�  �  6�  
        !          31274: �|� /��1��2����5 (�������  %��   �}� 6��8��9����< 0�  .��  )�~T =��?��@����C 8T  6�l  1&~� D&�F&�G&�&"�J A&'�����K�  >&�  9&,� N&8�P&>�Q&E�&J�T N&O�����&V�����U� M&Z�����V�  J&  G&,&  B&^�� \&j�^&p�_&w�&|�b$ t&������c&������&������d&������&������&������e&������k&������&������&������&������&������q&������t&������u` f&������v�  cH l&����@�|� k&����8���  h@  f� o&����4��  l�� �� s
        !          31275: ���0�P  p       T&^     8  O�� ���"��)�.�� ~3�����:������  z�  u@�� �L��R��Y�^�� �c������e�����l�����q�����x�������������X ���������  ���X �D  �@\  ��� ������������ �������������&H ��������&l  �,  ��D  ���8 ������������ �������&����������
        !          31276: ������&< �������&h  �&�  ��&�  ��  �%��+��2�7��( �<��C������M�����S�����]�����b������o�����|�������������������������������������� ����� ����������&�  �� ��������   �T ���������  ���L �l ���������������  �     �  ��� ���, �
        !          31277: 0  �
        !          31278: T  �&  &, &  &, &  &, &4`&%`1 %`9@%`?`%`G`%`R�%`\�%`g�%`r�%`z�%`�        %`�      %`�     @%`�     `%`�     �%`!`&&  &,         )`     $)`     *)`
        !          31279: 2 `9%`!`B)`&  &, (`-%`!`&/)`7)`?)`G)`N)`        U)`
        !          31280: Z)`
        !          31281: `)`
        !          31282: f)`l)`s)`{)`�)`�)`
        !          31283: �)`�)`�)`�)`�)`
        !          31284: �)`
        !          31285: �)`�)`        �)`
        !          31286: �)`
        !          31287: &  &, &  &, &  &, 
        !          31288: (`    .%`5%`> %`F@%`L`%`Tp%`!`&&  &, '`,%`3%`;`     @)`F%`O%`!`W %`\@%`!`&e)`&  &, &  &,  `%`
        !          31289: % %`,0%`        4@%`=P%` D`%`     Kp%`S�%`[�%`d�%`m�%`!`&&  &, H`$%`-@%`6�%`@�%`I�%`R�%`[&%`e& %`o&@%`x&`%`�&�%`�&�%`�&�%`�&�%`�%`� %`!`&�`�%`� %`!`&  &, &  &, `%`'`     ,%`     5%`?%`J%`!`T%`X`]%`     f%`p%`!`
        !          31290: z%`!`&&  &, `&�`@`%` %`(@%`2`%`!`:)`E��8 R�V�[�f�  m�����w����������� d ������!�������  &�  E&�      ��D8 "��$��'��(��)$ >��,��������-������.������������� ,�����������������������/�����5�����6�  $� 7&����7&����:&�����&�����&�����=&�����>&%���(�?&-���`�E&5���@�KP  ,� =&=���<�&@���8�&C���4�N&J���l�O|  7�  ��  &R�� U&a�W&h�Z N&m&��`[&w&�X        �&&�\     �a&������b&������&������&��c� M&������d&�  J�  B&R�  ?&��� g&��i&��j&��&��m ^&������n&����)�q&����$�&���� �P \&�����w&  Y&��P x&�  T&�  O&  &, $`%`# %`-@%`4`%`;�%`B�%`M�%`V�%`]&%`!`&f`n%`u %`|@%`�`%`!`&  &, &`#%`
        !          31291: ) %`20%`;@%`!`&B`K%`Q %`X@%```%`g`%`!`q)`!&  &, �&��@�� �"�)�.�  3�����=�����D�����M�����Q�����V�����]�����c�� � l�����$�  �  �  p�h *}�,��-����0  #������1������2��������������������������� 3�  p  ��p 9��;��<����?  B��@������C������F&&�����I&�����&�����&�����&�����L&�����&'�����R&/�� S� 8&>�����Yd  58 >&@�����&F���|�Z&J���x�[&S�� ^�  8
        !          31292: � A&^���t�d  >
  )�
(  $&f�� e&t�g&z�h&��&��k  Q&������&������l&��� m| P&������s&������&  L&�  H&f&�  C&��\ t&��v&��w&��&��z Y�  W&��  R&��� {&��}&��~&��&���  c&�������&������  _&�$  Z&�  ������"��  t'�����-�����2�����9������?������C�����E������K�����Q�T �p  i&�  d]ʬ �k��q��x�}��$ �������������&�  z]&�  u�̐ ������������ �|  ���  ���$ ������������$ ��������`��%`� %`�@%`�!`�)`������
������ ����)�����3������;�����F��J����� �L������H  ��  ���  �S� �a��g��n�s�� �x��������������������������������������&� �����d��  �  �S0  ���H ������������$ �������������������������  ��  ���P ����������� ����������������������������"������%�����,�����&( �4������&L  �4  ��L  �&  &, 
        !          31293: &��@۠ ��%� 
        !          31294: *�,�����&  &4  &  &, &�@@�� � �'� ,�.�
        !          31295: 5        �
        !          31296: ;�����|  �  &  &, )`)`!)`))`
&  &, `%` %`!`&)`*`
        !          31297: 0%`5 %`!`9)`?`D%`I %`!`M)`T&��@&  &, 
        !          31298: &��@�p ��         (�*��  �  &  &,  &�`@�@ � !&��`l  �  &  &, 8&��@`     %` %`*@%`/`%`5�%`!`<)`E�� #P�%W�& _�����f�����k�   
E0  
        !          31299: m� 'u�)|�,$  ��/��������0������1������x ���� �2�    m<  ��< 8��:��=��  -������@��������������������������� C�  %�   !��H I��K��N&�O 6&�����P&������  2��  .&  &,     &��    ����  �  &  &, � ,  &&  &, &  &,   �@      &�  &&  &, 
        !          31300: �0 
        !          31301: t  &�� �  �h �  !�H !$  )�l )&$          2�� 2&  :�� :&d  
C�� CP  &  &, 
        !          31302: &P 
        !          31303: �  &&  &, &� l  &&  &,     &&`      X  &&  &, &� &,  &&  &, 

        !          31304: &�p   ���&�x     ���&�|     ���&��     ���&&��     ���/&� /  6& 68  ;&< ;&  
        !          31305: &  &,         
        !          31306: &     P &     �/��&     �/��%&     �/��,&     �/��3&     �/��
        !          31307: �  &&  &, 
        !          31308: &
        !          31309:  &
        !          31310: /��
        !          31311:   &&  &, 
        !          31312: &
        !          31313:   &
        !          31314: $/��&
        !          31315: T/��+&
        !          31316: \/��
        !          31317: D  &&  &, &
        !          31318: p �  &&  &,    & &/��& /��     (  &&  &,      &0 &d/��&�/��,&�/��:&�/��>&�/��L&�/��W&�/��b&/��k&/��w&p/���&�/���&�/���&�/���&
/���&
 /���&
X/���&
p/���&
�/���&
�/���&
�/��&&$/��   &&  &, &P p  &&  &,      &�      <  &&� (  &$ T  &  &, 
        !          31319: &� &�/��&�/��
        !          31320: (  &&  &,     &� &�/��    &&  &, &  &, &  &, 
        !          31321: &� 
        !          31322: &0  &&  &, ���& &/��(  &  &,     &0 &H/��    &&  &,      &P &h/��    &&  &, &p 
&�/��   &&  &, 
        !          31323: &� &�/��
        !          31324:    &&  &, &� 
&�/��&�/��,  &&  &, &� �  &&  &, &�   &&  &,         
        !          31325: &��   ���&� ,  &� &�  &�8 �  &  &, &P 
&h/��   &&  &, &p 
&�/��&�/��,  &&  &, 
        !          31326: &� &�/��
        !          31327:    &&  &, &� 
&�/��   &&  &, &�   &&  &, &� �  &&  &, 
        !          31328: &� 
        !          31329: �  &&8 t  &  &, 
        !          31330: &� 
        !          31331: T  &&  &, &��O��&��   ���&��     ���&�0o��"&�8o��)&� )D  2&$ 2,  ;&P8 ;�  
        !          31332: B&� BL  K& K�  U&�8 U|  &  &,     &p      4  &&� @  &�8 &�  &  &,      &� &�/��    &&  &, &� p  &&  &, 
        !          31333: &   & T/��& p/��.& |/��<& �/��@& �/��N& �/��Y& �/��d&!/��m&!/��y&!`/���&!�/���&!�/���&!�/���&!�/���&"/���&"H/���&"`/���&"|/���&"|/���&"�/��&&#/��
        !          31334:   &&  &, 
        !          31335: &#@ 
        !          31336: &�  &&  &, &$� @  &&  &, &  &, 
        !          31337: &%  
        !          31338: H  &&  &, 
        !          31339: &��o��&%p8 �  &�`o��&'�8 <  '&(0 /&��O��7&��O��'�  &  &, &:� ,  &
&;/��&; &;0/��<  &  &, 
        !          31340: &��   ���&��     ���&;P `  #&A�8 #x  *&J(8 *�  1&M8 1&        &  &, &  &, 
        !          31341: &N0 &NH/��
        !          31342:    &&  &,     &NP &Nh/��    &&  &, 
        !          31343: &Np 
        !          31344: 4  &&  &,     &��O��&N�   &P�8   &  &,      ���&P� (  &  &, &Q p  &&  &, 
        !          31345: &Qp 
        !          31346: @  &&  &, &Q�   &&Q�   &Q�   (&Q� (P  1&R 1X          &  &, &Rp T  &&  &, 
&��        ���&��     ���&��O��*&R� *&T  4&T$ ;&�Po��4H  A&Vl A�        G&WL8 G�  P&X8 P&(  
X&Y<8 X�  a&Y�8 a&L  h&[8 o&��O��h�  v&\8  vp  &  &, &\� &\�/��   &&  &,      &\� &\�/��    &&  &, &\� &]/��$&]/��1&],/��>&]4/��K&]\/��X&]d/��e&]t/��r&]|/��&]�/���  &�&]� �&]�/���&]�/���&]�/���&]�/���&^/���&^$/���&^4/���&^</���&^L/����  &  &, &  &, &  &, &^` &^p/��&^�/��(&^�/��6&_/��D&_ /��R&_p/��_&_�/��l&`/��y&`$/���&`L/���&`T/���&`X/���&`x/���&`�/���&`�/���&`�/���&`�/���&`�/��&&&`�/��&&a/��&&a,/��&+&aP/��&9&ah/��  &&G&l�    ���&P&l�     ���&  &, 
        !          31347: &ap 
        !          31348: �  &&  &, &�`       ���&bP $  &  &, 
        !          31349: &d� 
        !          31350: (  &&  &, 
        !          31351: &d� &d�/��
        !          31352: 8  &&d� (&e/��8  5&e  
        !          31353: ?&eP/��58  L&eX U&e�/��L8  
        !          31354: b&e� i&e�/��b@  
v&e� }&f/��v<  �&f/���&f �  &  &, &  &, &  &, 
        !          31355: &f0 &fH/��
        !          31356:    &!&fP +&fh/��!   &  &, 
        !          31357: &fp &f�/��
        !          31358:    &&  &, 
&f� &f�/��$&g/��2&g/��@&g�/��N&g�/��\&g�/��&P  &j&m8       ���p&n�     ���{&o&     ���&  &, &g� &g�/��&h/��*&hT/��8&hx/��F&h�/��T&h�/��b&h�/��p&h�/��~&h�/���&i</���&id/���&i�/���&i�/���&i�/���&i�/��  &�&o� ���&  &, &j x  &&  &, &  ����������������
        !          31359: 
        !          31360:     0��������&��&0������ ��&"0���
        !          31361:     ����������&&����������  &0��&&��&c���&����
        !          31362:     ��������������������������&��&
        !          31363:     ��������������
        !          31364:     ����������&
        !          31365:     0����������������
����$��
        !          31366:     ��������!!��&&0��&��&&����������      &��     &0��&��     &����������<&��&��     &��&��������!��&��&��������!�� &�� &����������     &��&&��&&��&&����������/&����������4&��4&��&&�� &��     &��&&��&&��/&��4&��&�� &0��&���<&
        !          31367:     0������
        !          31368:     ����������&��������������������
        !          31369:     
        !          31370:     0������
        !          31371: ��&��<!��&��&!�� ��<��&��<��&���� '��&!!��<��&/��&��<��&s��&0�����    ��<��&��0������ 0������ 0������ 0������ }��&!����<���&��<�������&��<���&��<��&��&��&
        !          31372:     ��������!!��&0����&����������      ��     0����     ����������<����     ����������!������������!�� �� ����������     ��&��&��&����������/����������4��4��&�� ��     ��&��&��/��4���� 0�����<������!0������
        !          31373:     0��������&��<&��/&2��&��<&��/&��/&9��<&?��/&G��<&��4&��4&��4&N��<&��4&X��<&��4&��&d��<&��4&��/&i��<&t��/&��<&��/&���<&���<&0������ 
        !          31374:     0��������&0������ 80�� 0������ 0������ 0������ BM��&��<Vf��&n0������ y
        !          31375:     0��������&��<����  0������ !��&��     ��<-��&��     ��     ��<7��&B��&M��&�� ��<�� d��&��<��&��&0������ 0��;0������ k����<��&p����&v��<��     �����&��     ��     ��<��&0��c0������ ����� ��� ��     �� ��     ��� ��     
        !          31376:     0������
        !          31377: ��& ��&0������ 0��c)��&1��&9��&B��&��<O��&0��;u��&0��& 0��& 
��&0��0��c0������ ��&���&��&0������ ���&0��;���&0��c���&0��'0������ 0������ 0������ 
        !          31378:     
        !          31379:     
        !          31380:     ��������0�� 0�� 
        !          31381:     ��������0��       �� 
        !          31382:     ��������0��
        !          31383:  ��&
        !          31384: 0��
        !          31385:  
        !          31386:     
        !          31387:     
        !          31388:     ��������
        !          31389:     ��������
��������������������&
����&
        !          31390:     
        !          31391:     ��������
        !          31392:     ����������&��&��������
        !          31393:     
        !          31394:     
�����������������&�������������
        !          31395: 
        !          31396:     0������������������?��&��0�����      ��&     0���0�����&
        !          31397: 0���O��&0��1��&_��&��0���0������ 
        !          31398:     ����������������
        !          31399:     ��������0��      ���������0��     &���& ��     
        !          31400:     0��������&0������ 0��;$��&0������ C��&��<����      ��&��0������ ��&0������ R��&0������ Z��&d��&��&u��&0������ ���&��&��&��<���&���&�����������0�����`���0�����&��&0��c���&���&��&��&��0��;
        !          31401:     0������
        !          31402:     0������

        !          31403:     
        !          31404:     ����������&��������������������0������
        !          31405:     0������
        !          31406: 
        !          31407:     0������������0��1
        !          31408:     0����������������&��0������ !��&��0���.��&����<0������ 7��&��
        !          31409:     
        !          31410:     
        !          31411:     
        !          31412:     
        !          31413:       

        !          31414:     
        !          31415:     
        !          31416:     
        !          31417:     
        !          31418:     
        !          31419: ������������
        !          31420:     ��������
        !          31421:     
        !          31422:     ��������
        !          31423:     ������������������������
        !          31424:     ����
        !          31425:     ��������������������
        !          31426:     ��
        !          31427:     
        !          31428:     
        !          31429:     
        !          31430: ����
        !          31431:     ����������
        !          31432:     ����
        !          31433:     
        !          31434:     
        !          31435:     
        !          31436:     
        !          31437:     ��������
        !          31438:       ��������
        !          31439:     
        !          31440:     ����
        !          31441:     
        !          31442:     
        !          31443:       
        !          31444:     ��
        !          31445:     ��  ��
��������������������
        !          31446:     
        !          31447:     
        !          31448:     ������������
        !          31449: ����
����������������������������        ��������crt1text.sSTARTFRM__startmoncontrol_mcount_sprocmonstart/net/siouxsie/d2/3.2A/usr/include/regdef.h/net/siouxsie/d2/3.2A/usr/include/asm.hcrt1tinit.stclTest.crcsidcmdEchoclientDatainterpargcargviechoErrordeleteProcclientDatacmdCreateclientDatainterpargcargvcountmainlinecmdresultgotPartial/usr/include/stdio.h.F11_cnt_ptr_base_flag_fileFILEusptr_s/usr/include/sys/time.htimevaltv_sectv_usectimezonetz_minuteswesttz_dsttimeitimervalit_intervalit_value/usr/include/time.htmtm_sectm_mintm_hourtm_mdaytm_montm_yeartm_wdaytm_ydaytm_isdst./tcl.h.F12resultdynamicerrorLineTcl_InterpTcl_TraceTcl_CmdBufClientDatatclAssem.crcsid.F16bufferbufSizebytesUsedCmdBufTcl_CreateCmdBufcbPtrTcl_DeleteCmdBufbuffercbPtrTcl_AssembleCmdbufferstringcbPtrlengthtotalLengthpnewSizenewBufgotNewLine./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F12commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterp/usr/include/ctype.h./stdlib.h.F14sizeflagsMem_TraceInfodiv_tquotremdiv_t.F15quotremldiv_t./string.htclBasic.crcsidTcl_CreateInterpiPtrnamePtrprocPtrcmdPtrTcl_WatchInterpinterpprocclientDataicPtriPtrTcl_DeleteInterpinterpiPtrcmdPtrtracePtricPtrTcl_CreateCommandinterpcmdNameprocclientDatadeleteProciPtrcmdPtrTcl_DeleteCommandinterpcmdNameiPtrcmdPtrTcl_EvalinterpcmdflagstermPtrcopyStoragecopycopySizedstlimitargStorageargvargcargSizeopenBracesopenQuotesrctermCharargStartresultiiPtrcmdPtrtmpdummysyntaxMsgsyntaxPtrcmdStarttracePtrlengthcopyResultnewCopydeltavaluenewArgsnumReadnewCopydeltacmdCompletesaveddonenumCharspellipsissyntaxErrorfirstlastTcl_CreateTraceinterplevelprocclientDatatracePtriPtrTcl_DeleteTraceinterptraceiPtrtracePtrtracePtr2Tcl_AddErrorInfointerpmessageiPtrlengthbufferoldVarTclFindCmdiPtrcmdNameabbrevOKprevcurcmatchlengthvarValue./tclInt.hCommandprocclientDatadeleteProcnextPtrnameCommandVarvaluevalueLengthflagsglobalPtrnextPtrnameVarProcInterpiPtrcommandargPtrProcTracelevelprocclientDatanextPtrTraceInterpCallbackprocclientDatanextPtrInterpCallbackCallFramevarPtrlevelargcargvcallerPtrcallerVarPtrCallFrame.F15commandbytesAvlHistoryEventHistoryRevfirstIndexlastIndexnewSizenewBytesnextPtrHistoryRevInterpresultdynamicerrorLinecommandPtrglobalPtrlocalPtrnumLevelsframePtrvarFramePtrnumEventseventscurEventcurEventNumrevPtrhistoryFirstevalFirstevalLastcmdCountnoEvalflagstracePtrcallbackPtrresultSpaceInterpbuiltInCmdsbuiltInProcstclHistory.crcsidTcl_RecordAndEvalinterpcmdflagsiPtreventPtrsavedFirstlengthresultTcl_HistoryCmddummyinterpargcargviPtreventPtrlengthcpcountindxiendcurnextlengthcountisrcendeventswordsHistoryInitiPtrnumEventsiMakeSpacehPtrsizeInsertReviPtrrevPtrcurPtrprevPtrRevCommandiPtrstringrevPtrRevResultiPtrstringrevPtrevalFirstevalLastargvDoRevsiPtrrevPtreventPtrnewCommandpsizebytesSeencountDisableRevsiPtrGetEventiPtrstringeventNumindexendeventPtrlengthSubsAndEvaliPtrcmdoldnewsrcdstnewCmdcountoldLengthnewLengthlengthresultGetWordsiPtrcommandwordsresultstartenddstnextfirstlastindexpatternmatchsavedCharerrortclUtil.crcsidTclFindElementinterplistelementPtrnextPtrsizePtrbracePtrpopenBracessizep2sizedoneTclCopyAndCollapsecountsrcdstcnumReadTcl_MergeargcargvlocalFlagsflagPtrnumCharsresultsrcdstcurFlagsibraceCountnestingLevelnestedBSwhiteSpacebracketsdollarselementDoneloopBottompass2ElementDoneTcl_ConcatargcargvtotalSizeipresultTcl_ReturninterpstringstatusiPtrlengthwasDynamicoldResultTcl_BackslashsrcreadPtrpresultcountTcl_SplitListinterplistargcPtrargvPtrargvpsizeiresultelSizebraceelementTcl_StringMatchstringpatternc2thisCharOKTclWordEndstartnestedpcountbracestclProc.crcsidTcl_ProcCmddummyinterpargcargviPtrprocPtrresultargCountiargArrayfieldCountnameLengthvalueLengthfieldValuesargPtrprocErrorTcl_GetVarinterpvarNameglobalvarPtriPtrTcl_SetVarinterpvarNamenewValueglobalvarPtrvarListPtriPtrvalueLengthTcl_ParseVarinterpstringtermPtrnamecresultTcl_SetCmddummyinterpargcargvvalueTcl_GlobalCmddummyinterpargcargvvarPtriPtrgVarPtrTcl_UplevelCmddummyinterpargcargviPtrlevelresultendlevelArgsavedVarFramePtrframePtruplevelSyntaxcmdmsglevelErrorTclFindProciPtrprocNamecmdPtrTclIsProccmdPtrTclDeleteVarsiPtrvarPtrInterpProcprocPtrinterpargcargvargsformalPtrargPtriPtrframevalueendresultmsgprocDoneProcDeleteProcprocPtrargPtrFindVarvarListPtrvarNameprevcurcNewVarnamevaluevarPtrnameLengthvalueLengthtclCmdAH.crcsidTcl_BreakCmddummyinterpargcargvTcl_CaseCmddummyinterpargcargviresultbodystringpatArgcjpatArgvpmatchmsgTcl_CatchCmddummyinterpargcargvresultTcl_ConcatCmddummyinterpargcargvTcl_ContinueCmddummyinterpargcargvTcl_ErrorCmddummyinterpargcargviPtrTcl_EvalCmddummyinterpargcargvresultcmdmsgTcl_ExecCmddummyinterpargcargvinputinputSizeoutputoutputSizeoutputSpacestdInstdOutcountresultipidstatuscmdNameexecNametmperrSpaceerrnewOutputcleanupchildTcl_ExprCmddummyinterpargcargvresultvalueTcl_FileCmddummyinterpargcargvplengthmodestatOpstatBuffileNamelastSlashcheckAccessTcl_ForCmddummyinterpargcargvresultvaluemsgTcl_ForeachCmddummyinterpargcargvlistArgciresultlistArgvmsgTcl_FormatCmddummyinterpargcargvformatnewFormatwidthprecisionsizeoneWordValuetwoWordValueuseTwoWordsdstdstSizedstSpacenoPercentcurArgnewPtrpbsSizeendenddoFieldnewDstnewSpacenotEnoughArgsfmtError/usr/include/errno.h/usr/include/signal.h/usr/include/sys/signal.hsigcontextsc_regmasksc_masksc_pcsc_regssc_ownedfpsc_fpregssc_fpc_csrsc_fpc_eirsc_mdhisc_mdlosc_causesc_badvaddrsc_badpaddris_sigsetsc_triggersave/usr/include/bsd/sys/types.huid_tgid_tfd_maskfd_setfds_bitsfd_set/usr/include/bsd/sys/../../sys/types.h.F14rphysadrdaddr_tcaddr_tuncharushortuintulongino_tcnt_ttime_tlabel_tdev_toff_tpaddr_tkey_tuse_tsysid_tindex_tlock_tsize_tu_charu_shortu_intu_long/usr/include/bsd/sys/file.h/usr/include/bsd/sys/../../sys/types.h/usr/include/bsd/sys/../../sys/fcntl.hflockl_typel_whencel_startl_lenl_sysidl_pid/usr/include/bsd/sys/../../sys/file.hfilef_flagf_count.F15inodef_uinodef_unextf_upf_offsetfile_t/usr/include/sys/fcntl.h/usr/include/sys/stat.hstatst_inost_devst_modest_nlinkst_uidst_gidst_rdevst_sizest_atimest_mtimest_ctime/usr/include/sys/resource.hrusageru_utimeru_stimeru_maxrssru_ixrssru_idrssru_isrssru_minfltru_majfltru_nswapru_inblockru_oublockru_msgsndru_msgrcvru_nsignalsru_nvcswru_nivcswrlimitrlim_currlim_max/usr/include/sys/time.h/usr/include/sys/wait.hwaitw_status.F16w_Fillerw_Retcodew_Coredumpw_Termsigw_T.F17w_Fillerw_Stopsigw_Stopvalw_StclGlob.crcsid.F16resulttotalSpacespaceUseddynamicGlobResultAppendResultdirnamenameLengthresPtrdirLengthtotalLengthpnewSpacenewSizeDoGlobinterpdirremresPtrpcopenBracecloseBracegotSpecialresultremLengthl1l2static1elementnewRemdentryPtrl1l2patternnewDirstatic1static2statBufl1l2newDirstatic1Tcl_TildeSubstinterpnamestaticBufcurSizecurBufdirlengthfromPwppwPtrTcl_GlobCmddummyinterpargcargvglobResstaticSpaceiresultthisNameerror/usr/include/pwd.hpasswdpw_namepw_passwdpw_uidpw_gidpw_agepw_commentpw_gecospw_dirpw_shellcommentc_deptc_namec_acctc_bin/usr/include/bsd/sys/dir.hdirectd_inod_reclend_namlend_name_dirdescdd_fddd_locdd_sizedd_bufdd_directDIRtclCmdIZ.crcsidTcl_IfCmddummyinterpargcargvconditionifPartelsePartcmdnameresultvalueifSyntaxmsgTcl_IndexCmddummyinterpargcargvpelementindexsizeparenthesizedresultindexSyntaxTcl_InfoCmddummyinterpargcargviPtrprocPtrvarPtrcmdPtrlengthcflagargSpaceargSizepatterninfoNoSuchProcplevelendframePtrlevelErrornewArgsTcl_LengthCmddummyinterpargcargvcountplengthSyntaxelementresultTcl_ListCmddummyinterpargcargvTcl_PrintCmdnotUsedinterpargcargvfresultTcl_RangeCmdnotUsedinterpargcargvfirstlastresultbeginendcdummycountrangeSyntaxTcl_RenameCmddummyinterpargcargvoldPtrnewPtriPtrTcl_ReturnCmddummyinterpargcargvTcl_ScanCmddummyinterpargcargvarg1Length.F223fmtsizelocationFieldfieldscurFieldnumFieldssuppresstotalSizeresultsnumScannedfmtistringTcl_SourceCmddummyinterpargcargvfileIdresultstatBufcmdBufferendfileNamemsgTcl_StringCmddummyinterpargcargvlengthpcmatchfirstTcl_TimeCmddummyinterpargcargvcountiresultstartstoptzmicrostimePermsgstrtol.crcsidstrtolstringendPtrbasepresultstrtoul.crcsidstrtoulstringendPtrbasepresultdigitanyDigits./sprite.hBooleanReturnStatusAddressClientData./stdlib.h.F11sizeflagsMem_TraceInfodiv_tquotremdiv_t.F12quotremldiv_tcvtInstrstr.crcsidstrstrstringsubstringabstrerror.crcsidstrerrorerrordefaultMsgtclExpr.crcsid.F14interporiginalExprexprtokennumberExprInfoExprGetNumstringtermPtrresultsigncExprLexinterpinfoPtrpcvartermresultstringExprGetValueinterpinfoPtrpreciPtrresultoperatoroperandgotOpsyntaxErrorTcl_ExprinterpstringvaluePtrinforesultctype.cfirst_callsetchrclassgen/cuexit.cexitdata.cfgets.cfgetsflsbuf.c_cleanupfclosefflush_flsbuf_xflsbuf_wrtchk_findbuf_bufsyncprintf.cprintfsprintf.csprintffputs.cfputsatoi.catoimalloc.callocsallocpalloctallocxallocendmallocfreereallocstrcpy.sstrcpy1$0000000000$doch3$doch2$doch1$doch0strlen.sstrlen1$0000000000strcmp.sstrcmp1$00000000002$00000000003$0000000000strncmp.cstrncmpindex.sindex1$00000000002$0000000000bcopy.sbcopygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4strncpy.cstrncpyscanf.cscanffscanfsscanfrindex.srindex1$00000000002$0000000000lseek.slseek9$0000000000/net/siouxsie/d2/3.2A/usr/include/sys.s./sys/syscall.hmktemp.cmktemppipe.sFRMSIZEpipe9$0000000000write.swrite9$0000000000close.sclose9$0000000000open.sopen9$0000000000unlink.sunlink9$0000000000fork.sfork9$0000000000parentdup2.cdup2exit.s_exitexecvp.cshellexeclpexecvpexecatread.sread9$0000000000wait.swait9$00000000001$0000000000access.saccess9$0000000000stat.sstat9$0000000000geteuid.sgeteuidgetpwnam.cgetpwnamgetenv.cgetenvnvmatchstrcat.cstrcatgetpwent.cPASSWDEMPTYpwflinepasswdsetpwentendpwentpwskipgetpwentfgetpwentisblankfopen.cfopenfreopen_endopenfstat.sfstat9$0000000000sys/gettimeday.cgettimeofdaymemcpy.smemcpygoforwardsforwards_bytecopy99$0000000000retforwalignableforw_copy2forw_copy3forwardsforwards_32forwards_16forwards_4gobackwardsbackwards_bytecopy99$0000000001backalignableback_copy2back_copy3backwardsbackwards_32backwards_16backwards_4filbuf.c_filbufmemccpy.cmemccpymp_def.cisatty.cisattydoprnt.cbufcvt_bufendtab_lowdigit_doprnt_blanks_zeroessbrk.ssbrkerrbrk1$0000000000doscan.cchcountflag_eof_doscannumberstringsetupcerror.sgetpid.sgetpid9$0000000000fcntl.sfcntl9$0000000000strchr.cstrchrsleep.czeroitvsleepawakeexecv.sFRMSIZEexecvrew.crewindmemchr.cmemchrsemlibc.c_seminit_monlock_monunlock_semgetc_semputcfindiop.c_findioptime_comm.cstart_dstend_dstmonth_sizelocaltimegmtimextimetzsetgetznamegettimegetdigitgetdstgetusadaytabsundayBSD_getime.sBSD_getime9$0000000000ioctl.sioctl9$0000000000fp_class.sfp_class_d1$00000000002$00000000003$00000000004$00000000005$00000000006$00000000007$00000000008$00000000009$0000000000fp_class_f1$00000000012$00000000013$00000000014$00000000015$00000000016$00000000017$00000000018$00000000019$0000000001/net/siouxsie/d2/3.2A/usr/include/fp_class.h/net/siouxsie/d2/3.2A/usr/include/sys/softfp.hdtoa.s_dtoa1$00000000002$000000000015$000000000016$000000000019$00000000003$00000000004$00000000005$000000000055$00000000006$00000000007$000000000075$00000000008$00000000009$000000000010$000000000011$000000000040$000000000012$000000000013$000000000014$000000000020$000000000022$000000000023$0000000000infinitynanungetc.cungetcatof.cinfinityatofmemset.cmemsetsignal.ssighold1$0000000000sigrelse1$0000000001sigignore1$0000000002sigpause1$0000000003sigset1$0000000004signal1$0000000005ninvalid_sigtramp/net/siouxsie/d2/3.2A/usr/include/sys/signal.h/net/siouxsie/d2/3.2A/usr/include/sys/errno.htimers.sgetitimer9$0000000000setitimer9$0000000001execve.sexecve9$0000000000tenscale.s_tenscale10$000000000011$000000000012$000000000013$000000000020$000000000021$0000000000_pten_ptenround_ptenexpatod.s_atod10$000000000011$000000000012$000000000020$000000000021$000000000022$000000000023$000000000024$000000000029$000000000025$000000000026$000000000028$000000000027$000000000040$000000000050$0000000000infinitydwmultu.s_dwmultucrtninit.senviron__Argc__Argverrno__start_gp__istartsetchrclassmainexitmoncontrol_mcount_sprocmonstart_iobfgetsfflushprintfsprintffputsTcl_AssembleCmdTcl_CreateCmdBufTcl_CreateCommandTcl_CreateInterpTcl_DeleteInterpTcl_RecordAndEvalinterpbuffercmdEchodeleteProccmdCreateatoiTcl_DeleteCmdBufTclWordEnd_ctypemallocfreestrcpystrlenstrcmpstrncmpindexTcl_AddErrorInfoTcl_BackslashTcl_CreateTraceTcl_DeleteCommandTcl_DeleteTraceTcl_EvalTcl_GetVarTcl_ParseVarTcl_ReturnTcl_SetVarTcl_WatchInterpTcl_BreakCmdTcl_CaseCmdTcl_CatchCmdTcl_ConcatCmdTcl_ContinueCmdTcl_ErrorCmdTcl_EvalCmdTcl_ExecCmdTcl_ExprCmdTcl_FileCmdTcl_ForCmdTcl_ForeachCmdTcl_FormatCmdTcl_GlobCmdTcl_GlobalCmdTcl_IfCmdTcl_InfoCmdTcl_IndexCmdTcl_LengthCmdTcl_ListCmdTcl_PrintCmdTcl_ProcCmdTcl_RangeCmdTcl_RenameCmdTcl_ReturnCmdTcl_ScanCmdTcl_SetCmdTcl_SourceCmdTcl_StringCmdTcl_TimeCmdTcl_UplevelCmdTclDeleteVarsTclFindCmdbcopyTcl_MergeTcl_StringMatchTcl_HistoryCmdstrtolstrtoulstrncpystrstrTcl_ConcatTcl_SplitListTclCopyAndCollapseTclFindElementTclFindProcTclIsProcFindVarInterpProcNewVarProcDeleteProcsscanfstrerrorrindexTcl_ExprTcl_TildeSubstlseekmktemppipewritecloseopenunlinkforkdup2_exitexecvpreadwaitaccessstatgeteuidgetpwnamgetenvstrcatBSDopendirBSDreaddirendpwentfopenfclosefstatgettimeofdaysys_errlistsys_nerrprecTableExprGetNumExprLexExprGetValuememcpy_cleanup_bufendtab_sibuf_sobuf_smbuf_lastbuf_filbufmemccpy_bufsync_sprocedisatty_xflsbuf_flsbuf_wrtchk_findbuf_doprntsbrkbrkreallocscanffscanf_doscan_cerrorgetpidfcntlstrchrsleepexecvexeclpgetpwentsetpwentrewindfgetpwentmemchr_semgetcfreopen_findioptzsettimezonedaylightBSD_getime_lock_ulock_nlock_ilock_flock_wlock_clock_tlock_ctlock_dlockioctlfp_class_d_dtoaend_minbrk_curbrkungetcatofmemsetsigsetsetitimersigholdsigpauseexecve_seminit_monlock_monunlock_semputcgmtimelocaltimealtzonetznamefp_class_f_tenscale_atodsigrelsesigignore_sigtrampsignalgetitimer_dwmultu&?�!&?,�&k)

        !          31450: �&�
&��&��#&
        !          31451: 6&!>�&&DD4F(�&&�r?n�&&�^M
��&XRZ�$�&��e%&(��-)&_2�&i��W��0�&��&�7�&T�&�>�&d�&�E`&p^��&�b
        !          31452: &��L&�!`& ��&�Y
        !          31453: ��S&$�&x�&��       3�@�Z&�&�G�&<��z��!        �ta&�&�b�&�J��r*W�h&�&lx�&���      �8
@�o&�rx�&}
'�x�&
3�x�&-��
?�x�&�I�        
Z�x�&2��
r�x�&�
�&x�&$(�
�&x�&LZ�
        !          31454: 
�&7x�&�l�
�!&Px�&�
�&ix�&,v�
�&�x�&���
�&�x�&|�
&�x�&�~&
&���&&�`(DE7~&�&
        !          31455: e���& �s�&���& �u��$&���&!8��+R�I
��
        !          31456: &?�۠&%83k6�MV&�&
���&%kEw7"�W&  &
�?��&%�4�& "$��&%�Z�& 0$(&�p&&>,�7�1X& T,&&�@&&j,�        7�!Y&  l -&-��&&�&�88Z �S0&3&N� &'� �=+;^& �5&&���&'��=f_& �6&&�� �@&'�� �7&&��@&'��=qy`&
        !          31457: 8&&��$�0&'�L�=�a
        !          31458: 9&&���&P&(G
        !          31459: ?�'i&
        !          31460: 1:&&�M&�&(X@j&
        !          31461: ?;&&�Y&&`&(k@2�k&
        !          31462: M<&&�e)&�&(z
@�Kl&
        !          31463: [=&&��&�&(�C
A&m
        !          31464: i>&&��g&    P&(�:'    B(*p&
        !          31465: {?�*&
        !          31466: &)0BRq&
        !          31467: D�6&
        !          31468:  &)"85BYr&
        !          31469: �G�<&
        !          31470: p&)Z<Bj$s&
        !          31471: �L&&�L       &&)m)@B�
        !          31472: t&
        !          31473: �M�U&0&)�&FB��u&
        !          31474: �P�]�&P&*�_C^v&
        !          31475: �U&&�       &�&*�cCz.w
        !          31476: �V&&� &�&*�+kC�
        !          31477: z&
        !          31478: �W�5&�&+qC�{&
        !          31479: �Z�<&�&+)v&_�&�&+Ex&d�&�&+VzC�L|&
        !          31480: �i&&�>&&+g"~D
        !          31481: }&
        !          31482: �j�X&0&+��D~&
        !          31483: �o�\&P&+��D&
        !          31484: �t�^&p&+��D �&
        !          31485: �y�`&�&+��D(�&
        !          31486: �~�b&�&+�!�D0�&
        !          31487: ���d&�&,
�D;0�&
        !          31488: ��&&�h&�&,'�Dk�&
        !          31489: ���{&�&,5%�       Do��
        !          31490: ��&&�}?&P&,Z�E�&���&p&,t'�E�&���&�&,��E(�&���&�&,��E0�&���&�&,��E8�&���&�&,��E<"�&#�&&��       &�&,��E^@�3�&&��&�&-�E��&C�&&�� &�&-%]�E�&a�Q�&&��p&p&-� �G��m�&&�[-&�&-��G��&����&�&-��G��&��&&��
        !          31491: &  &-�&�G���&�����&#@&.�H�f�&��&&�L&$�&/H��&��&&�i &% &/
        !          31492: ��&&�&% &/H��&��&&�m        &%p&/.?!I\���&&�v&�&:�&/m"-Ng����V&;P&/�75N�����&&�e&&N &/�
        !          31493: A��&N0&/�CS4�&���t&NP&/�HS<�&��v&Np&0
        !          31494: MSD
�&�&&�x&N�&0QSQ���&&�}F&P�&08XS�
        !          31495: �&%���&Q&0O]S��&)�&&��&Qp&0]aS��&7�&&��&Q�&0n:eT0�E�&&��&Rp&0�qT?�&[�&&��&R�&0�}uTTj�    k"�&&���&\�&19&�V��&����&\�&1_�V��&����&\�&1{&�V�e�����U&\�&2�.���&\�&2�0���&^`&2�&T�W3��&����&ap&49�W�8�&��&&��&bP&4J�X/��&��&&��G&d�&4`�X�
        !          31496: �&��&&�4&d�&4q��X�]����:1&d�&50��&d�&5>/�        �&f0&5m8�Y���k&fp&5�      &Y/�&��o&f�&5�� 
Y7T�&��qg&g�&6G� Y���&���y&j&70 'Z�&� �Q &j�&7D +#&�&&&&&&    
        !          31497: 
        
        !          31498: 
        
        !          31499: 
        
        !          31500: 
        
        !          31501: 



        !          31502: 


        !          31503: 

        !          31504: 
 !
        !          31505: 
 !
        !          31506: 
 !
        !          31507: 
 !
        !          31508: 
 !
        !          31509: 
 !
        !          31510: 
 !
        !          31511: 
 !
        !          31512: 
 !
        !          31513: 
 !
        !          31514: 
 !
        !          31515: 
 !
        !          31516: 
 !
        !          31517: 
 !
        !          31518: 
 !
        !          31519: "#
$"#
$"#
$%

        !          31520: &'()'()'()*+
,
        !          31521: -./01234567&&8&9&&:;&<&&=>?&@&AB@&AB@&ABCD&ABE&ABF&ABG&ABH&ABI&ABJK&ABLM&ABN&ABO&ABP&ABQ&ABRSTUVW&ABXY&&Z[\]^_&AB`a&b&ABc&ABdef&ABghijkl&ABm&ABn&opn&opn&opq&&rstu&AvwBu&AvwBu&AvwBx&ABy&ABz&&{&&|&&}O��O��O��O�� $���(&j����-1�  =� .B� &G` Rh Zt /i&��O��0n�@ &1t�h 2{&P &3�&� &4�&&` &        �P  �� � �` �   �$� �@�@&� &
&� &&� 5&"&� &        &' 
&8_T n-&C&��O��6&J&� 6&Q& 7&V&  P &8&]&
        !          31522:  &9&d&
        !          31523:   &:&k&
        !          31524: p &;&s& &&y!� �&�U� M&� � s&�� '&�!0 }&�t /&�f` &�h� -&�T� B&�gt !&� 
        !          31525: x� x� 
        !          31526: *|�  7}� )E~T 1U~� 9b� Bn�� Oz�� u��� ��� ���8 ���  �"��� O�k� B%��� %��p $%��h %��� C%�\ R%�� Zb� %*�  d%7ʬ u%E̐ �%S�$ �_j� 7%j� �%x�H �%��P ��m� M�q� p�# �<�&0 &�Ld �\� f�', &�۠ '��� =�&P &*�p S0 8Z@ V K| 3G� Bq8 dNq� kXv� �`rp vkw� �rv( �>�&$ +��@ ?�&� &,��H ."��� ?@�&� &C�&� &D�& E�&0 &F�&P &G�&p &H�&� &I�&� &J�&� &K�&� &L�&� M�&P &N�&p &O�&� &P&� &Q&� &R&� &S&� &T&� &$&���$1���U<&$ VE&p &1K�� WR&� &XX&� &+e&��@+q&���,z&�@,��� 
        !          31527: ,�� ,��< !Y�&   &1��0 &/�&��O��/� /��/� /��/�(/��/�&�����Z�&#@ &[�&$� &1��� \�&�����]�&%  &1�l         1�H 1�� 1�� 
^(&(0 _0&:� &_5&; 69&< 
        !          31528: >A&� &>G&� `N&;P aV&N /��b^&N0 &ce&NP &dk&Np &er&N� fx&P� L~&� U�&� U�&� g�&Q &U�& h�&Qp &i�&Q� V�&� j�&Rp &k�&Vl         k�&�@���k�&�H���l�&\� &\�/��\�/��\�/��\/��\/��\/��\/��\/��\#/��\+/��m2&\� &n8&\� &qC&^` &_I���_M&��O��_U&��O��r]&ap &sd&bP ti&d� &up&e� 
xw&fP u�&d� &u�&eX 
        !          31529: y�&fp &i�&Q� &i�&Q� i�&Q� i�&R         k�&T$ k�&R� k�&�D���k�&�L���n�&]� z�&f� &{�&g� &u�&d� u&e  u
&f u&e� x&f0 &|(&j &0707070035050510601006660011710000040000010626210474351657200000600000015303tcl.h/*
        !          31530:  * tcl.h --
        !          31531:  *
        !          31532:  *     This header file describes the externally-visible facilities
        !          31533:  *     of the Tcl interpreter.
        !          31534:  *
        !          31535:  * Copyright 1987 Regents of the University of California
        !          31536:  * Permission to use, copy, modify, and distribute this
        !          31537:  * software and its documentation for any purpose and without
        !          31538:  * fee is hereby granted, provided that the above copyright
        !          31539:  * notice appear in all copies.  The University of California
        !          31540:  * makes no representations about the suitability of this
        !          31541:  * software for any purpose.  It is provided "as is" without
        !          31542:  * express or implied warranty.
        !          31543:  *
        !          31544:  * $Header: /sprite/src/lib/tcl/RCS/tcl.h,v 1.35 90/04/18 16:05:56 ouster Exp $ SPRITE (Berkeley)
        !          31545:  */
        !          31546: 
        !          31547: #ifndef _TCL
        !          31548: #define _TCL
        !          31549: 
        !          31550: /*
        !          31551:  * Data structures defined opaquely in this module.  The definitions
        !          31552:  * below just provide dummy types.  A few fields are made visible in
        !          31553:  * Tcl_Interp structures, namely those for returning string values.
        !          31554:  * Note:  any change to the Tcl_Interp definition below must be mirrored
        !          31555:  * in the "real" definition in tclInt.h.
        !          31556:  */
        !          31557: 
        !          31558: typedef struct Tcl_Interp{
        !          31559:     char *result;              /* Points to result string returned by last
        !          31560:                                 * command. */
        !          31561:     int dynamic;               /* Non-zero means result is dynamically-
        !          31562:                                 * allocated and must be freed by Tcl_Eval
        !          31563:                                 * before executing the next command. */
        !          31564:     int errorLine;             /* When TCL_ERROR is returned, this gives
        !          31565:                                 * the line number within the command where
        !          31566:                                 * the error occurred (1 means first line). */
        !          31567: } Tcl_Interp;
        !          31568: 
        !          31569: typedef int *Tcl_Trace;
        !          31570: typedef int *Tcl_CmdBuf;
        !          31571: 
        !          31572: /*
        !          31573:  * When a TCL command returns, the string pointer interp->result points to
        !          31574:  * a string containing return information from the command.  In addition,
        !          31575:  * the command procedure returns an integer value, which is one of the
        !          31576:  * following:
        !          31577:  *
        !          31578:  * TCL_OK              Command completed normally;  interp->result contains
        !          31579:  *                     the command's result.
        !          31580:  * TCL_ERROR           The command couldn't be completed successfully;
        !          31581:  *                     interp->result describes what went wrong.
        !          31582:  * TCL_RETURN          The command requests that the current procedure
        !          31583:  *                     return;  interp->result contains the procedure's
        !          31584:  *                     return value.
        !          31585:  * TCL_BREAK           The command requests that the innermost loop
        !          31586:  *                     be exited;  interp->result is meaningless.
        !          31587:  * TCL_CONTINUE                Go on to the next iteration of the current loop;
        !          31588:  *                     interp->result is meaninless.
        !          31589:  */
        !          31590: 
        !          31591: #define TCL_OK         0
        !          31592: #define TCL_ERROR      1
        !          31593: #define TCL_RETURN     2
        !          31594: #define TCL_BREAK      3
        !          31595: #define TCL_CONTINUE   4
        !          31596: 
        !          31597: #define TCL_RESULT_SIZE 199
        !          31598: 
        !          31599: /*
        !          31600:  * Flag values passed to Tcl_Eval (see the man page for details;  also
        !          31601:  * see tclInt.h for additional flags that are only used internally by
        !          31602:  * Tcl):
        !          31603:  */
        !          31604: 
        !          31605: #define TCL_BRACKET_TERM       1
        !          31606: 
        !          31607: /*
        !          31608:  * Flag value passed to Tcl_RecordAndEval to request no evaluation
        !          31609:  * (record only).
        !          31610:  */
        !          31611: 
        !          31612: #define TCL_NO_EVAL            -1
        !          31613: 
        !          31614: /*
        !          31615:  * Flag values passed to Tcl_Return (see the man page for details):
        !          31616:  */
        !          31617: 
        !          31618: #define TCL_STATIC     0
        !          31619: #define TCL_DYNAMIC    1
        !          31620: #define TCL_VOLATILE   2
        !          31621: 
        !          31622: #ifndef _CLIENTDATA
        !          31623: typedef int *ClientData;
        !          31624: #define _CLIENTDATA
        !          31625: #endif
        !          31626: 
        !          31627: /*
        !          31628:  * Exported Tcl procedures:
        !          31629:  */
        !          31630: 
        !          31631: typedef int (*Tcl_Cmdfn)(ClientData, Tcl_Interp *, int, char **);
        !          31632: typedef void (*Tcl_Tracefn)(ClientData, Tcl_Interp *, int, char *, Tcl_Cmdfn, ClientData, int, char **);
        !          31633: extern char *          Tcl_AssembleCmd(Tcl_CmdBuf, char *);
        !          31634: extern void            Tcl_AddErrorInfo(Tcl_Interp *, char *);
        !          31635: extern char            Tcl_Backslash(char *, int *);
        !          31636: extern char *          Tcl_Concat(int, char **);
        !          31637: extern Tcl_CmdBuf      Tcl_CreateCmdBuf(void);
        !          31638: extern void            Tcl_CreateCommand(Tcl_Interp *, char *, Tcl_Cmdfn, ClientData, void (*)(ClientData));
        !          31639: extern Tcl_Interp *    Tcl_CreateInterp(void);
        !          31640: extern Tcl_Trace       Tcl_CreateTrace(Tcl_Interp *, int, Tcl_Tracefn, ClientData);
        !          31641: extern void            Tcl_DeleteCmdBuf(Tcl_CmdBuf);
        !          31642: extern void            Tcl_DeleteCommand(Tcl_Interp *, char *);
        !          31643: extern void            Tcl_DeleteInterp(Tcl_Interp *);
        !          31644: extern void            Tcl_DeleteTrace(Tcl_Interp *, Tcl_Trace);
        !          31645: extern int             Tcl_Eval(Tcl_Interp *, char *, int, char **);
        !          31646: extern int             Tcl_Expr(Tcl_Interp *, char *, int *);
        !          31647: extern char *          Tcl_GetVar(Tcl_Interp *, char *, int);
        !          31648: extern char *          Tcl_Merge(int, char **);
        !          31649: extern char *          Tcl_ParseVar(Tcl_Interp *, char *, char **);
        !          31650: extern int             Tcl_RecordAndEval(Tcl_Interp *, char *, int);
        !          31651: extern void            Tcl_Return(Tcl_Interp *, char *, int);
        !          31652: extern void            Tcl_SetVar(Tcl_Interp *, char *, char *, int);
        !          31653: extern int             Tcl_SplitList(Tcl_Interp *, char *, int *, char ***);
        !          31654: extern int             Tcl_StringMatch(char *, char *);
        !          31655: extern char *          Tcl_TildeSubst(Tcl_Interp *, char *);
        !          31656: extern void            Tcl_WatchInterp(Tcl_Interp *, void (*)(void), ClientData);
        !          31657: 
        !          31658: /*
        !          31659:  * Built-in Tcl command procedures:
        !          31660:  */
        !          31661: 
        !          31662: extern int             Tcl_BreakCmd(ClientData , Tcl_Interp *, int , char **);
        !          31663: extern int             Tcl_CaseCmd(ClientData , Tcl_Interp *, int , char **);
        !          31664: extern int             Tcl_CatchCmd(ClientData , Tcl_Interp *, int , char **);
        !          31665: extern int             Tcl_ConcatCmd(ClientData , Tcl_Interp *, int , char **);
        !          31666: extern int             Tcl_ContinueCmd(ClientData , Tcl_Interp *, int , char **);
        !          31667: extern int             Tcl_ErrorCmd(ClientData , Tcl_Interp *, int , char **);
        !          31668: extern int             Tcl_EvalCmd(ClientData , Tcl_Interp *, int , char **);
        !          31669: extern int             Tcl_ExecCmd(ClientData , Tcl_Interp *, int , char **);
        !          31670: extern int             Tcl_ExprCmd(ClientData , Tcl_Interp *, int , char **);
        !          31671: extern int             Tcl_FileCmd(ClientData , Tcl_Interp *, int , char **);
        !          31672: extern int             Tcl_ForCmd(ClientData , Tcl_Interp *, int , char **);
        !          31673: extern int             Tcl_ForeachCmd(ClientData , Tcl_Interp *, int , char **);
        !          31674: extern int             Tcl_FormatCmd(ClientData , Tcl_Interp *, int , char **);
        !          31675: extern int             Tcl_GlobCmd(ClientData , Tcl_Interp *, int , char **);
        !          31676: extern int             Tcl_GlobalCmd(ClientData , Tcl_Interp *, int , char **);
        !          31677: extern int             Tcl_HistoryCmd(ClientData , Tcl_Interp *, int , char **);
        !          31678: extern int             Tcl_IfCmd(ClientData , Tcl_Interp *, int , char **);
        !          31679: extern int             Tcl_InfoCmd(ClientData , Tcl_Interp *, int , char **);
        !          31680: extern int             Tcl_IndexCmd(ClientData , Tcl_Interp *, int , char **);
        !          31681: extern int             Tcl_LengthCmd(ClientData , Tcl_Interp *, int , char **);
        !          31682: extern int             Tcl_ListCmd(ClientData , Tcl_Interp *, int , char **);
        !          31683: extern int             Tcl_PrintCmd(ClientData , Tcl_Interp *, int , char **);
        !          31684: extern int             Tcl_ProcCmd(ClientData , Tcl_Interp *, int , char **);
        !          31685: extern int             Tcl_RangeCmd(ClientData , Tcl_Interp *, int , char **);
        !          31686: extern int             Tcl_RenameCmd(ClientData , Tcl_Interp *, int , char **);
        !          31687: extern int             Tcl_ReturnCmd(ClientData , Tcl_Interp *, int , char **);
        !          31688: extern int             Tcl_ScanCmd(ClientData , Tcl_Interp *, int , char **);
        !          31689: extern int             Tcl_SetCmd(ClientData , Tcl_Interp *, int , char **);
        !          31690: extern int             Tcl_SourceCmd(ClientData , Tcl_Interp *, int , char **);
        !          31691: extern int             Tcl_StringCmd(ClientData , Tcl_Interp *, int , char **);
        !          31692: extern int             Tcl_TimeCmd(ClientData , Tcl_Interp *, int , char **);
        !          31693: extern int             Tcl_UplevelCmd(ClientData , Tcl_Interp *, int , char **);
        !          31694: 
        !          31695: /*
        !          31696:  * Miscellaneous declarations (to allow Tcl to be used stand-alone,
        !          31697:  * without the rest of Sprite).
        !          31698:  */
        !          31699: 
        !          31700: #ifndef NULL
        !          31701: #define NULL 0
        !          31702: #endif
        !          31703: 
        !          31704: #endif _TCL
        !          31705: 0707070035050552231006660011710000040000011775470503442602600000500001440000temp6�CH�A:r&j�S(�}R(�}R(marcia#28428/n/atomic/tmp/si/l111.bv/v14725/7872974...ARcardARshb.datb.ndifl111.bb.posl111.bb.pr.Zl111.ba.pr.Zl111.bc.pr.Zl111.ba.posl111.bc.con�hB�+��&:&S(��2R(�2R(�2R(marciaother/n/atomic/usr/marcia/dead.letterv/v14725/7882975I can't play tennis today, but I'd be interested
        !          31706: in playing next weekend. 
        !          31707: 
        !          31708: I have a question mark next to your name for
        !          31709: speaking at the women's lunch on Aug. 22 --
        !          31710: did you want to put it off until the fall, or
        !          31711: is that date ok?
        !          31712: 
        !          31713: Marcia
        !          31714: -UJ��&:�40�:R(��Q(�>R(marciabin/n/atomic/usr1/tape/tmp/si0/liq.b/liq.bRi2.trv/v14725/7892976�
        !          31715: &�
        !          31716: �@�@A6�A6�A6��@<��C
        !          31717: A]�#Bw8�A�ѵAW#KB��ABx�AwC>�q�@�[�?]�&B�@�O�A�r�@yA���@�5A��B�LnBQ��B�~�An�uB�5�>��7B�>TB+~?BP�A"��B�wCB��BF3OB1�@#�SB��fBX#WB�=B:Y9B��8B3�'Bf�B �eB"��B��~B�7A5�0B�H:B�A��eB��$B@:
A���Ag^NB�S�A��@�E�AE�@��xA��"B30B�JB�,�AP�B�"�A��PB\2LB��B8��B      ��@�CA曋B/��A]�2B�_�@��A�B���B,p*B[�AR-�B`h�A``
        !          31718: AM+@=�
B�B�[Bp;B�DA@TB4�A���B�jB��BQ�yB�HB� eB���B���A@r�A�i�A�ÅB�ԡALB��iB��A��EBE7B'�@B���BCbB�F�@���B?�,A��A��J@?�Bnn1B$��?�
fB���A�A�A�QB�j�BD4,B�B�@�L=B�?�AL&&B�5B�&B+9�A�cB���@>�)Bk�A�bpB�qB�3X@�B8ޟ?͎Bl�A�ڏA� B(!&B�aA�{w@�@�B��B;y�B3h�A��A�_5B�cB��6A���A'�B{&B�uHB��1A�8uBI?�Ai�?3��A�S�@� eBZJ�A��WBe2�?v�
B;!$B�}BX��@X��B��BQV�B�߉B�-�>DU%BO�bB�B�ݯ@Ç�B�uAF�<B��j@~i
Bc#`AAS�@�rB
��Bl\�@�BٳiB�T�@�0Bn-�B��VB��cB��B'�@Bj�qB�AJ91Bբ@Q˳@�BP9B��BX�B͠UB��A��A%}�A]�,BR�O?8lF?�j�BM�xBqkB��@�)B.�B�uB�|�A
w�B��\B��^BgB[Z
        !          31719: B�Q�AgBLB�BFB{�8B
�HB��BO4B4��A�:�A���AQ�eB���A��BT�>B� KB�6FA�F�A%2BA�A��!ACFPB�9n?��B�'�A[�Bc%:Bl�`B�iZB�+�A�u�@��]B#��?���A�u-BI8�BHUBW�B~��A�e�B���B��YB�N�B=.-BvՉAYsMB��KB�@<B=ز@�I�BW��B��2Aby�A�D@��JB�Aˁ�A[)�B�R�@)�B��B%ȆBs/^B���A�^%B���B*{�@��6B)�xB�C(ApA1_�A
5�A�xyAC��A��RBҀ�A^��B*xB&J@B��BG!�@
        !          31720: ��A�:�B��*B��JB+�UA]�8B�!&B���A�Y�A��
@�9�A�D�A�AN%A�@BV��B[�Bׇ�A�IlB��6A4�4B�B�OA�&B�p�B�%B�i+B:�B%qB    ;
B�PA���A�6B�QB�_XB���r�GB@bcB��rB_:B�3�A�0�A��oB���A��@PB��A��iB��   B8�A��XBcPB�Ւ?��WB�4BB~�A��;A�߭@�@�AtmxB)WA00B�vBbA8�#@�
+BE�B@�A�"BR�e@�X@?cyB|�)B��DAŌ/BZ{�BuJ�BPi�A��oBʈ�A,΍B�oBs��B��XA0��=a��@�Ֆ?��NB��B�rKA��LBՉ:B�]NB�3B�PB��jA&�&AF�s@[:�B�BK��A��BB���B��@�)zAL�MBS�A��B�
        !          31721: AB�(�A>�B�ezA��5B�tB�%:B�06Avn�B�D2BݙIB{)B�C
AGB�BBM8 @FBܤ4B�AFAN�B�`PB(MaB���@�9@m��B���A��&B4��A���A75�?�:>B~09A���A�ŒB[
        !          31722: <B�#A<f�A@�.B���A��BzWBS`B���A�{�B��(A��B-[.BO�}B:v�?y�QA�B�@9~�BX��@G|�A��B���B��BߊB��BzуA�AB���A.V�A�5$B��6B��BX�dBV�|B@�}B�@�@쉙A�[#B#�B��A(a
B*�XB{H@�g=A�A\�=BD)�?B�B��lBՔB�%�Bo�B�*B5�>^�DB��B��B��A���A�WBL3xB4�B���@�?f@0��@
        !          31723: �HA��;B�I�BٶBp;A���A�CVB�F�A��BA�I�B��A�w4B ˬ@���@�F�A��!B�C�AC��?��oAFU�@�,?B��\B��?Af��?Q4
        !          31724: B&5Bb�jB4�\B�A��@B�&B�5�A9��A\sB_[A�@�>v�B^�@!�BB�^B���B��AQ�A�x\B
!Bޟ�B��A��A��!A�LB�#�A�P�A��A�ҒB4!�B�KyB[�B_B���?W�Bk�hBǝ�A�(B6u�Avw�A 'B��
        !          31725: B{rB�~�A�B�S�A��-B(�yA
        !          31726: ��B��Aѡ�B�wB��$B���@
        !          31727: ��AD�AYl�Aj�B��>7�A��?O�4B�}�AfEB���A��kB�!B��A
�>BГAD��?��sBꙅB�$B�v~B��zB�a�B<�UB�j B�BQ�*A��B(/oB���A<��BScAG��AyJ�A@�      B�
tA��8@L2B��qAaĊB��G@W&�?�R�@�݁@��BmDB�ڰ@B�4A`K7BT{
        !          31728: B��mB�nA�*RA%&�B)�HB���??�c@��Bn��A���A�iZB�A�@d�6B�A:Bz�A]�A  EiA��yBƑB�RkB�B�sBӶ�B�-nB��XBQ��A��1A$bkAJ��A�
:B���B�u`B��A&�B��AY�A&o5A�<�Aؿ]B�f1B^Ĵ@-sxA
        !          31729: �~A�MxBu��AsŝA-�BJ#�A6
B��bB�]B��B˙0A?_�@'B?ۂB���?&*�B���B߅B�sB��EB�%B��A��qB�X�B^pKB��sA�(uBa�B�5GAF�8B��B�\HAf�A�ǐBǸ�B��sAd
        !          31730: �A
        !          31731: �A؅�A@HB��BnF�A��>A�ڇBvփA��A�}BQ�B\B&*�@8�"BO��A�1�?g�:B��B�W@A�XB��B}MlB&��A��8B:t�A6y�B��B/u9BIS�B�B�@vB�X�@��A2��@>��A�;B�1A�u�B"dMB��6B�m�A�RBK�FAJ��A��EB��BZpA��|B�w�A��AB���A�OAk�$A�vB��hB���A�TAx�AIrBZ"�As��A(h�A'��A���A�(zBAwB��B��sB@;XAҸ?/ %A���A��#BvAt�qB��A�"1B��-B*�B��\B��B{oaB?�hBidFB9B,�A�eSB�j�AHB}A��VB�w�A*-B��A�?B �YBBh�B
        !          31732: �As��A>�A�zTA0�B���A|�eB�B�@��:A,��B�J�A�I.B���@d{u?���A�{�B��yB�dB��,B{�5B�A�A�y_B�5-B��JB2XXBB
        !          31733: A�uBܽ�@�6B��UB�&ZB��sB-׎BBB�Ag|�B*�Ad�BB��Au�A�q,AS�B>�:B.b�Aq�&B�Z.A�<�Am�B�v�B��B*r^B/�BbB��7BD�FB��:B�؈B�vcB�@zB�qB���AKP�?��4A��.B5�FB��B���B;��B�OBg��A��LBo�CBL��A�B���A�w�B9~�AH�.By�nB�(BivB�=�@��lA���?��_A�@^B�1OB���A;��@�:&Bޜ1B      ΏB��MB��B��B
        !          31734: �lB�1�A�jbAv�{B���@�f�B9pB;�B�6B:�Az�eB��A>z�A�W�A��oA���BȩB���Ar��@皯A<�ZB��rB��B!>pB��CB�d�A��Ag�yB^OBj�uA|��A�  AӷBU_�A%�9B��Br'OB�>�@[A��A��5B���A�~sB&��BN�+B���@;�ZB�B�cB�~B��[Bk�vB��FB�B�)A$w:@2IQA�B�}�?)#�B��EB���Ap��B���B'�B�W�@S��A^w�@�y�A3/�?��B��4B�CiB�BAW��BB�]B�f[AOW�A!z�A�2A���A�X{Bg�A֙�@%~�A?8�A1CB�G�A\^B�!|BA��AM�B�&B�R�AX9$A��"B��`B~\AA��FB��PBq7�A��WB��SBR~AI�(Be�B6AB�|B��sB���Aw[0B
        !          31735: /�@��BU�@cO,B�w�B�M6BP�B���A���A��`AY�A_�B@D
A���A�#B�lB��aB��_B�wrB�5�A�TA��OB��BokB5�1@
�2B�xA���B��6B ۗA�+A��1B���A�|B��A�ՇB&�Bbl�A(U�@�<jB�:AT�@�BX�AiSB���A(��BuB�ĊB!�B���A�p�A�cBB# BĪaB��>A�I\B�9B��A�AC�AB��@S�R@��AoG�@�x@́B<�zB�PA[�?�P�B/�
A��A�E�@��i@��Bv�+B��ZB��B��A0�A=�B�pmB���@�5�@�\�@�XB��A�B��B�A��pB*��Bf&�B-$WBuR.B��VA��B�́@L}_BG��B�CA�SB\8BuojB�B!?�B#��BjlB:�A@3�BO|�@�{gB��iBΔ�B�9wAy       }B�F�B�DTB�e!B���AT^A��@\e�B��<Ak�LAD�B�R�B�EB�vB�QoB��@��VB �A�N$B�o�?�%�B��AE�By��As��A]�NAO��Ar�=BJO�B�7�Bv`>^�A��$B~��A�G`B�LB�%B��B���@�WB���A��hAV�A��%A;,B��B{�tB8N8B2BB��Az�\Aļ�B�!@��Au�6BP� A#�
        !          31736: BA�@�|qA{    B     B�O�A:��B؉Ao�B.XrBm�@
        !          31737: ��A<2�A=}yB…B�k}B[ɽA3c�A�yBR~<B�GB���@�9rB�@B��EB��MBM<yB��tB��tB`yBu@�@1 �A�%�B��EB��Bo�FB�G9B+0�A!��ABc�A
vpB7
B��wB]�;B��OA"8#B���A}�Bl��A�3�A��B�B�+�A��A�5@�{B��B��UB��B�+{BE�MB��A�D?B| B�&B1%�A���AåV@��TB{�B&��B��jB�bbAoʊA�u�@�|�A�o_B6�B���A{��A,�B��{B��JBԙNB�-CA�B3��A�гA"|�B�UB80�A�
A�uOBd,�AzɂB&d5BB#nB��B�{BP��@�KBHzB2�~B��BEBk9�B�P0B@�,B�>�?2�#A�(Ba�@=�Bv+A�̊B�PB?]�A��`B�]OB>jNB�m#B�B�jB���A�&~B(�^B�EkB�ΓB(�Bm��A�`&Bl��B^cB5"B�f�B4�BB;�>��AS��BHmJB���B(X�?�gBk�A��$B�lBKLeBK�B�RBBܛ\@�B��]A��ZBo�BAa��@
        !          31738: �BA3LB�hB!>�B�P�Ap�'B�ZB�A�X�BI6[B�_B5�A9�A��Bb�_B�QkBK�)B�:&B��BN)A!nA�9�BSeNB#       ;B$�LB��L?�+�A�8�A��@đ�B]�Bֹ�A�(B�#�A ��A���B�f3B���A s�A���@��B  n�B�L�B�$xBn?�@��tB0W#B�}OBj@�؂A
�bB�5OB���B��x@SonB�qB���A��Ax�0B���B�'B�;�B��YB?'B�T;BҝIA��A?��@��Aܙ�A�]8A�|B��B�@1Bͮ�@_\�@���@
        !          31739: WhB�&B�!�BD/A"�B�0B�T�A�A
B
C+BwcrBm�GA�K&B��&Aƹ;BN�B���Ar|�@�%B*oB+�0B���B6'BC6�A���B9�B�#B,p�Be��Bnc�B.��AkX[Bt�A?wcB��nBI~iB�0B�>EB�/�B�}M@�T~B��MB t!B�aA��^@hUuBt1�B.<.B��TB�CMB�S�BtM�BY8s@ц�@d�;B�@[\.BNU�A�+/B�tkB���A��%B���B��B�k(B(W�AZ
        !          31740: A~�AS�A�W�?z�A.��A��Bى�A9��>��B�v�B�]VB�_�A�$>L��A�/@��A��@�`�A�$A���A3B��_B��A�wDBH�B���A6�nB6CkB<�]@pBS�]B���AA�?��yA&9yBH�jB��OB���A@��B]�B)��@���AGh�A���BX�dB�(�@� �Az�B�!�@��B��B6RB�wB[��A�{�AY��@+nB:�oAV�}B\!�Bh�ArJ�A֛ADQWA]CB�;�Aգ>B���@�wEAA]�lB��@ABXB�VBH<AϨ`BJ
        !          31741: 6B3�B���AO�jBw��A˶�A&�A�B@RB     ؉B�u9A�x[BRC@BmB���B��A��B��B%BzB��TBo�yB7�CB�WuB<¸A��wB�JAmh�B)�pB=�AR�Ar�A2o�BG�zB�L�@qR$B$g.B���A�p�A��mB/�<Bͪ>Ap��@�wqBdB��YB�b�@�{%B�4DB�J]AteOA�ESBv��A�<�Aj.mB�ѹA��nB��UB<�PA!��Bp~BJp7AT+rB�,�A)b_A��rBř�B��AEeB2>SA���AB�B�y�@�u�A�[�A(лA�l|BӴ�@50Bl��@�{=B�N�B�
        !          31742: By�A�3�A���B%�@��A�ROB�kABBB�B�n*BO&HA� yB'�VB��AK�A�MB�9�A��.B5'�@���A-�pBO��A�� B�=BB<&Bm��BB��A���B�aB�MB��q@��XB��!B      �MB���@�bB֏2B]�H?��OAG�A#��A���Ah$GB�6DB-�aB�#B�E�@ܖ�A��fB�K'B �:B �A�0�B/OIBK�A~�qAj�QA��B�a�B�zA6Q|B)ÏB��A�/CB�DaB�d"B%y=B�*�A��\B7�PBS`�A��B�kQBaeA���@.�;B���ATB'�lB�)BB]��Ak�BB�% B���@��Bv~�BH�]Br&&BP�vA���A"=$B`sB@��B���@r�Ap�A�7AtO1B��2B�@B�jWA�{�A��@�<B���AE^[?�.B>�Ap�z@�IB�;�@n�[@IvB1�jBGU-B@�=B�hDB�A
�A�8T@�F5Ar�!B��aBb��AJ�3BͮdA*�UBi��Aqy�A��B�_�A�f�B�$d@"E�A�Z�@�_�B��+=��B��B�GcB��<A׉<B-��A��NA6W�@L}�@K3�B
M<B�9�B�`BiaBj$�A�@|B6�RB�2A®A�:�Al>�B)u�A��(Br�oA�<@���AM��A4�!B��A*ɒA��gBhC�A�*GB=:BU�.B��=B�?Bj-�B�p�@тEB��{A�A~A���B*�`BGUB6�lBԕLB3�~AE��B:�B��SB�>�Bd�@� BUߍA�$B�Z/B
�B���B��B�c9B�ҩA���A��3B�At/oB,‹B�N@���Au>   B�n,B��2B�W�B��^B�'B��lA��VB��\B��B�&�?��A
        !          31743: �A�f�BAAk�_B�7�B��uB��YBq�B�XBdBK�2Bg�@B�&BTAهJB�r�A��B��A��uB,��A5(@P?h.@B�_B�3AxZ�A�B�X�B_
        !          31744: 'B��Al2rBI��B���AU�A,)�@\:B�h�A�    B��iB���@�1xB2�LA;��?���A�_<A;^AߎBE�A}�B+��AvnA��{B!L+A��9B*j�@��Bg�JB%��A}�A�xBD�A�/@Y�^B�A        A[B�>�BeBL
        !          31745: .A/!�Ax�AB��BQ�*A&��@���A��BY`�?I[A���B��B9�A�(ZB�p�B��BϺL@�\B&��A�B���A�2�B+�GA6�Be��AϽ�BOkB5�zA�
OBԥB�OA��B�F�@bxMB��9B��B��A��XB�c�Ag�IBqޚA+�:A
��A�&BB@�>G�BٺAs�;Bi_�A���A��B�j�B/;�BR[B�B��BI��B���AT�PB�3bB�vBٹ1B�&>B�ʔB��3A!D�BI��B��B���A�
        !          31746: �Av�&A�:hB��OBHr�@�k9B���?�r�BC�AI�=��pA��A�:-B��A�SB�2�A�O�B�U&A�K�A�@�A%QA�2B�}�AltyB�TtB�,)B��\B/~!B��A[�A��-BP��B�VFB=GB-e[Bt-Bp� B?�pA ^B���@a�A���A�<OAK�sB��BDGEB�*�AA�B��CA�k�AvƤA|&,BὍB7�BF�\B颇B��eAo�B6oA�PA@)D�Bd��AH�A7�B��B�kBA��oB�7�B�S�@� �@P
        !          31747: Bir�B'W�A_�_B@x`Bǚ�AE�B4�OBf��AF�9B��B&1XA�=�@�
�B1�FB�qCB�/�@�>
        !          31748: B��}A-�%A�B���B���Af�"B?bB�J,Bi�B�G�A�dA:�}B �B��B�OB�t�B���A��WB��A7��BN�BDI�B�
        !          31749: B��@�BU^B�'�A�@B���A�?@n       B���A�рA��\B?��AˆA��aBe�BL lB�@ A�7Bi�]B \�A)xB��B3^B���A$j�A���B�MpBQf�@�z{B�@�A�l�@u+BR|
B��Bt�OB�ӽA�+�@��"B�7B��)@�)�A��As     B��
B�]�?�3�A��A�J�AQaAW��AKzA���@��MAp�BW6�B�IBga@!B�lB�A*twB��&BG�B*�Ag�&B��Ad��B�E�B��9B{SBB8fA�l�@3�iB)7B��A���A+Q
AY��A�FB�eB
        !          31750: yA�VB��`B�*�BE5�A/zAC�W?pB�V�A�&�Av�@z��A�.�@�imB��B�jxB���B��A
        !          31751: 2EB��HB�#�@�[B�]A|�2BoŚA��{B���A�tB7zAMRB���A��oA���Ar}RB�OA���>��/B�P�@M��A��A ��A�BoB���A��yBD'�@3mgBeA�?�eBk;�Aa@\@�)SA�&A���A��B�ǪA�I�B'
�AX�"?�"�Be�0B��A��B(�A�(
A�7xBҕ:B�f$B�<VBo�A�,yBՐ=@�HB�,�B�a�A�߀B��B�B�AZ��Az�gB�vB�TB��B()�A-2gB���B��NB&�`A���AUݯA��lB9'�BIG@-�7A�B[4�ACClB�@I�)B�   B�cB��AE �A�MBV�$AOPmB_y�@�^�B�/�A�"jA,�>A\�(Bcq�A��$A%�B�=�A�̀A_y�AmZ�@yGB�<�B���A��"A��3Bm�3B��A8BlpB�
�B��U@5�A|G5A��RBI��A-KtB�2lAϲ�B�L�AP�]B��A�hBD<�A�4
        !          31752: B���A�t�Bc4�A��"B��B[�E@�ëA�&kB�)�AQCAz�QB�hB�0kBp9(Be1B3&PB�x�@:�7B
        !          31753: }�AnB�(B�J@BLz�A.lB�B�/�B�h�AяBe�$?l/qBׅ�A��B醏B�-{BP�      A��i@�&PB\��Av"#A�BjB�A0�B��B�h�A4
        !          31754: fB�*]?��5Be�Aj�B)�!B�SB�r�A(O�BϷA��^B�+B�I�B�VSBxz�A�TB�$A��BX�5B���As��A��p@_?�B}�AW�A~��@WFB=�PB+��B;��B�KbBG�u@��Bl��A`�BA:1BݦG�� PB�ԎB�XB�rAB7T~B�m�A��?@j�WB- 8B�,BKt�A�OB
        !          31755: :HB��/B��fBX\�@�B�SB/�@�HBa��A]}B�,B��qA!G�A;t�Bx��BasqB).Q@.&]A8�B�xA/'A��`AƌB-�?B"�dB�·A��A�S�@�4�AMAK�A���A��Bw�=B�y�A�**B�IB��A���A�A�D�A�~�B���AǻA��Ax�e>5c�B0$�B�B�  Bn2B��B�A!mBl��A�BQ�.A<�sA��A���Ak��A�]A�ȈBꥎB�dBh�iB�ÇA���A�>�/A�HB&'?.�A09A]~AB1�  B���BiQ9A�A���A�>BTq#B��_BM��Aj�9B#�DB3:�@��A�Q�B�5�BTa�At  oB�~B�VLBX�{A�SB�^�BH7uB�_�A`��A&�!A�.�@��<B(u�@�hBx�B`�%Afl�A3�Bg^-B�WBJ�'B�IB�a�@A�$B���B�a�A}8>B!;�AKoB��B��A\�)BKO�AJrlA�܅@D�SB��Bx��A�'�A��B�}A2�B�.B�i�B�
        !          31756: \@�"�B
        !          31757: q�A���B��VBI�VB[!�A�qB;�BP�JBz��@.�B.XB�;{AtBH��@��BL�A̶A�)Ag+�BytB�ʀB
        !          31758: |ABs#�>���A���A�'B�$B��!B   DB�<_Bm
Bo0�BC&+B�w�A{��B7�fAh�,BG�BV��A��&Bx�XB7SB�b�AҾ*B���AJEB�'        BG��B�-4BFs�@��4BY��A&�B��YB�P�ACf�A� �@��UA���BS�1Bg�&@��B.?�A�KwAN��B1B!\�B&�B}B���@�Y�@\��>)VB�CBξ�A_��Anr�B���Aw^B�A���A>%�BB��A�7;B��>BkQ�BQ�SB���@�Y�A�gB��A<�AR@B���BU��B�{/B8W�B�Y�Bt�'A=-�BLNFB7C�Bb�B*#B�:�A��#B���A�O�Al0�>�B�?>هA��*B��{B\ݍ@��BN��@��B�pB�cA�EA�(BoõAC-B!�LB��BYC�A�G�B�yB�UB�CwB�@B��B�1
        !          31759: B��B|��A/=B�AF\9BqׁB:�B���A8{B`�B��lB�A�$B���A"ˈB�&�A;�SB~4B/^)A�_�B�9�B��Aݍ&B&"B&,�Ap9�AqTaA�VB�@LB���B<#�B�?��BPQB qB*YMB      �B�>0B�E6B��eBM�
        !          31760: B1��Ar
        !          31761: �B\]A؝�A0��@�bB��B��B��gB�vB�B���B�eB���A��@��sB&vPB��MB�SkB�
!BWnB�>@
O�B#y{?a=]B�BE�B��\Bc�2B��hB�7B/e&Bu{�A�ޮA3�A�x�?.�A��Bo̖A79=BZ��Bo�]B�hA��WA�F�A*�RB:MgA�:lAv.�A�G�AeU�A�X&B���A��A�ܜA-E'B&:�A��'BǒnA�L�?��A�KB��B:8@��B��AE$Br~B���A�rB��*B�~B56�B�s~B 67B}9oA���BxC$AF�B�ň?��_B$q]B�FB�yB�5B0?BcoAT�BB�JBČ�A�2�A��AQ�EAA�B�->Bdn�A�
        !          31762: 
        !          31763: B��#B���A �XAr5�B�4^BEf=B�cB��jB��B��Ad&lB���A��<? �B�_B*�B*�AZv�A�݉B2z�A�� B���A'�0B`�!B�GBj�B��A+�5B B�A��VB�@9��A�LA��4A���A|�1B� B��oB�L�B�jBR8-Am`�A�y@B�qLB���@-�PB��vB�f@�AAL�DAj�A
        !          31764: ��Aj�?B��Bƥ�A@v4B���A���@ �A��Ai��?��fBW�Bw�@��B��zB\p|B��{BC�'B��FB�B�Bj�@��B�@�B�tB�qsB�&�A��B���A*ҷAһ�A���A�BBXa�B#noB�CFB���A-ֆB$ըAwuZB��A�U
A���BB�ZB�GB8�A
<\?�ڗA{3
        !          31765: B��xBj8B�+�B�g�AJ8�B�BCUB���Aσ�B�1�B���A���B`�=A�(B�?B�B�d6B�nA҇
B�\B���?Z�|B7xB�X�@�džB3ƒBp�A}�@      x$B2ׇBc҄B�Bǩ+B��RBP� B�9B|i�A��ADBpB�ێB&�@X>�BCYB�~�@��~B|�VB�-�A0f>B�lA+��A�I�B�A��A;�
?_eA��aB7a�B�~B��|Bf�AgI^By�B��@#��A3;�A�)B8�+B�/�B'g]B�\B�)CA�ծ@�Y�B�2�AϠ�B�AA�6KB�zBMk�B��A?�Bc�~B�w�A� #A8�A�A�dB���A�*�A��A`q�@�B;�?L�A��`A8aiB�W�@���A�6B�gaBKG!B�:}B�?pB��dA�2qB�.A鵑B�y�A���B�!3B�kB�{B��Ap�A5��AYـA�>�A�+[B�-�AyhB=9�B�B��#B��A��B�\ B�c_AU3�B��@��B���@�T#B(��@�2�B��'B���A�CTBy�B��PB2.eA�RB�WaB��YB��Bz>B͟�B�UB-H&BqN\B���AJiB*�Bs�'Aa��B�{;?&ѐB���?G�A}!B�dXA�AB��&B1ƃBR�NB�2zBB�B|:(B4�A{��@�!A
        !          31766: ��ABk�jBBnFB?�9B���AK�BI�_Bh�AԷIBM�Aj-:A�zBf��A�3�Bh�B�VB�ÄB��B�ΊB0�1B�"�A'>)Bi�B���A��B��B�^�B��B䣌B���@&1rB0<Bn�A�y�@�U<B��ARTY@�,�B׎�A���A�<?�x1B��A�)A�5B��PB�B@��A�+BQ\pBSB؆+A�} B��TB�K�B%x�A҃B�NB#�B��iBWB�֎B��:B�y�@ǭYB�>B�NBY�B��FB���A~i�@R�,A�yB�Aq��?ĮRB�Ժ@�
        !          31767: JB��B&�xB&=�B肎AW��Ae݇A��XB��A�+�B+N<A�P�A��A���@ ٸA���B��B�&�B!�B��A[�SBp�B�B��A�6B�3�B�B��A�I(Bs�B�.,BA�)<B�[A=�A��B� �Bh�A��B{�IA
�AH�IA�r�A]�A��A��_BȳMB8=@�v@1ms>E�B��mB�>2B�_B�'&A�D�A��8@�@B��{A,�%B��NBѫ�@�kB�JB�אB�ZoB�j�B)ËB��c@*��Bt�B�KBbn�A��)B��B�A�B�
        !          31768: oA��@���A-BlkA[qlB
B� �@ƥ�BJ�YBO�xB5�B6[wA!    1BK)gB�M�A�xuB� �A&     �A��=?�B��B���A_�IBVvA+k�Ba7�@VJAv�eBRXA~6B��.B3t�A|
        !          31769: ?B+�B6�5A�0B��yA�JhB��:BCp�A�`~Bj��@Z        B
        !          31770: �VB�u�@=Q�BıMBx�B}:9Bz�AGV�B6�NB�x�Aʻ�Bx��A��As�AB��UB?�yB\i�A)%�A�=      B��A[�BG�B�6pB�B��B~��A��B�?o�EA��B!r=BF#BBw�,B�sB;�B��BϕB��<B6�`BW�A�@.Aq��?�#FB�<�B   �1BS�OA�B�
�A���@JB�NB_�B/_?�+CBvѥ@nB},BJw(BJ)B�-?���Aӥ�ALjA��ZB��J?@
        !          31771: QB۔@�#�B'�@R�B%$BҺ�A9JKA5J^B8t�@�0�@3~B7��AO�@���Alr�A)Z9B��Aq/:Bb�aB��A�&?NDA-IB�J�@5B���A�Η@��A��|B�cB��fB֌�?�B�B��.AtG�@��@���@ɞPB��zB��`@�kB2z�A'T>A��/B�^DB��?A�@�A�IB��&B�R�A�B+�9B��eA��lB        gAh�sB�.�B��bB�O[BS=jB8�?:jlB�`�A���At�qBz?�A��fB�T    B���A(�/B�M�@��cBG�A͵�B}OB�k�A8bB��nB���@�Aj~�A��Ai�Bf��AH�B�h�A8��A�A��A�zf@�|�Ami�B�&z@���B�gB&IVBS;B��CB�3&B"3BZ��A�_tBz�sB0;�B�܀B��AoqB3_-BH.�B�B�A���AKW�@J=vB��B�-oB�7Bg�SB�Q�A�;A�A&�ZBkp�A�"�A+�B��Ax|B+�B�bB�B�NdBy�1A��B8��A�oB�ԇA�fA)FA�9+A���A BdB��A��@J��A�Z�B�B:�BMVB���@��B��uA�zg@]�B`�B�8�Bl�B��B*�B�D-A�*A���A�{BeA�Af��@��Bc�kB�wA1ؓ@��BD��BFv�A#�AIfBʑ�AV�CBU+Be�~B��A�:sB�bAp�9A��IBe�0A�LXB�jB&�A�X�B�DB��A��AP��A3��A4d�A�g4B�oA��"B1�~B,�Aߟ�B���B�֢An�@��3B�@[UBQ��A�'B�BjK�A���@6%A�b�A�Y1B��A$�C@]]iB�,�B�`A}aB�pVBX�?B�O0A�srBy�B?��B�)/B�^eBpy�A,B4�sB�A3�7BđzA�nBa�%B�_~B��2B��Bl�B}�;B/\yBH�wBK�B���B�n�B��A�rB&  8B��BB//BşlA�2B�61B�B��gB��B�&�Bj��A��AHu�BG�A9�9B��HB6.KBڽA�B9�A�l;B�G�Bh|�A�n+A0#�A�GB$�A=�Bi&?��A'�wBD#�A��B�g�A���Ay    B�B��B��{?W}XAfS�A�;+A���A���B-nB�@�A�AU^B���B���A|�AALBg
�B�9�?�&�@���A�_YA.�@�g�A��@`��A�Z�B��B=�@�NB:�A��*B��B��>R@jg�AC�7B���B�#�A•�A��^A��A�i�B���@�B�A�UB��]B�\B�wA���A���B��@��B��:B��B�
        !          31772: A|QB�\B\>@�idB��@]��BN)QB#3�B��6B�g�AqEBMS\A--�?|B�^[@��jA�mA��B�F�?�ՃA�iA
        !          31773: �LA_�A���@�ZB]�B86SB��yB�#BPq9B���A�7�A��A�E�B��(B���Bۀ&B��Ah�?@6�B{�;B�&�B�r�B�`�A�);@}tJB_P�A��?Dh�@���B�-B�#�AUAm6�A��B�joB�i#B�ƋBǐ�A��A�R6B{�AF:Bb��B��Ak\A,&�A#�$A쑟@)~{A�cVA�kA<�B&w,B�4UB���A�_�A�]�AW��ByN6B���?�R�@�Aw�VB�t�B��^Ah
        !          31774: �B�H�A�PAdA_�MBl6�@��Av��?��B�ϔArcB�iaB��zB� BB���BN�A�TB�`B�R�B���>��A(��A���A'    �@k��@�F�B���AT��A��@0,�B�3�Al!�AY�zBU�&@j
    @��YAc܌BhKAˌB5t�AR˔BYc;A`B˅�Bw��?�c�A��#Ag�)B�;eB\QA��B��B� B1f@�oBK�B�� B���A��qB�1A�2�A�3�B|�B��B��A��\B"A�"AD��?�o�B F�Ad��BL�UB��+B�$\A�8GB���A�nnA�R.B�D
        !          31775: A9%�B:þAg�EBqEB��0@-e�A�y�A�ӌB+�>B{A@@F�tB"��B<��A�4�AvU
        !          31776: B:B��rB�GjB��B�&@rYB�ϡA��@'�YB�"�A��HB��tA���A�l�B�f[B��B�4B?�mA���A�`Bw��A���AM��A
        !          31777:  A&�_B�"B�G~B�rXA�؀A`�'@3�?A��#B��uB�HB�0\B4��@2��A0�tAV`@b��B�B�)WB�|5Bog�A�@�A�]kBX�IB%�cBꑏ@ev      B�#uB���B�B&g�B�5�B��&B#3BTO�A��$BT}A�B��sA��?B�KUBV�A�b�@�!aB%H�AP�}B8B���BtRA���ADdGBt��A���BB�B�O�BK�5BP�A�e&B��_B-d
        !          31778: B�Ȁ>C��@�l�A�eB5�#A�-�B�
        !          31779: B��,B��A�sqB��-BSHn@�?4Bh�A�YRB⊯A��,B"�gB��B�]mB`%B("9B!�B�d@۫�BL�QB�CWB��B��BJ�\ArUSBM�A��>@��E@��OB�� A�~�A�%�B��nB֝sB��nAM�'AqY�A&3wA�׉AF
]B�pB6PwB�b@���A�|B�~%B��7B��?�TAg0NBU��B�xkB?L�@<Mp@�=RBU�HBzPOB#C~B�B�D9B]�@o��BI�A�e�A���A���AS;�An�GA���Ag��B�14Bj�B(�
B`9�Ag'OBi�BᑷApP_B�P�B�+B'%�@�3BkD$A��&B�;?B�a�BrHyB~��A?�6A8�BQCCAd�3BO{IB~��A��>�n�B��/B{?�Br��A��DBr��A�f)B�Q�A^�dB�I4@�b�A��;B�Bz�}B���A��&A��BA�B�iB&B�EA��@l�B#�cB�7#B&�bB/m�A�ݫAkkB3�AӬA3C�B��B���AAk�B���@�nB�a=A�h"B*y�A��UB_�AB]��A�6.B��@.�B}�KB���Asq<A�P�B�h�Af�NA?WYB��B�P�A&�A��AǷtB-�Am,9B5�B�8�A�)B.:SB�J�B�tB�6�B��Bۜ�@�DA��hB��@{�YB<��B��B��B�^:B]u�Bm�
B/'B�%B �\A��@B��LBIseBb?�BSa�A��bB`�B|�zB�˓Bf�FBl�GA�XBXa.BA��A��B"�6BD|B���A�fRBW�>B-/vBR�k@�zB\�BL�IB+KIB�?�AT�BaQ=B{��A���A{�AB�!A�oIB���B���A�gLA�ًB�U�AY
        !          31780: aB�-�>(m2B"�}B��A�    ]Bh��A��A��1Bqp�BW(Bh��AD�qB���AwA�ZBA�Aݜ�B�{?B��GBR�[B�@~tCBs�-B��<@���A�&�@�<8B!�hA�<Bs9jA0c{B�
        !          31781: B��Bg�%A      9!A��B�-&Bl�BB8<A ��A��XB�M0A�B���A)!B���A�>B�x1A��AvNB�#vB�̄B"��A�QBҪ�A���@�Z�Am�@b�DB�.�A��BAO/`B�/rBy�   B��GB��SB�A�J�Af�YB&�A�s�B:��?f�7B��.B�Q!B�NCBX�A�5�A?8�A�`A>�AR��?J�H@X|B^HBl��B�?B�A�wAb�IB�%B:z&B�&�B
        !          31782: ׍B���?�=�As�ABXBB��A&#�A���A.`B�x�@�u�B�aB�!&Aa�XAl�      B��'A�&�A�6A^fB���B{�@��B�f&A�XrA��jAbVWB�i�@�B��A�FB^��A ��AҜ�Aم�B�EB���A��uB/&�B��LB��A0*A�,�B�y�AT/(A{�#B��qB��B;"�B]]�BӶ�A®%Bb�B�@���A���A�6B�cD@@`B�.�B"{�AR�A�r#A��QB�ΈAڀyA�ոA�ґB��A/�$Bނ�B-�AK�,BɄB$�DB&r�A�ReB `�Ay�rB9Z�Am
Bj�-BkTWB�7�B��BN�A�|C@֝�@Ki�Ar�FBi[BfZBw�(BJE�B,:�AjYB�(fA1�^B�j9A=�B��?B��B�7A�P!BY�+A��?~�1B�5&B4�Bx�B�ץA�(Bs^B�B�o4BX׶AbZ�A��SB�~IBV�BlK>W
        !          31783: �?�n$BK(B8?B]�@�v;A��@
#A��OBAhyB�i�AB�oVBS�B���A��;B�~�B��pB�oBm†B�RB�9AK5�Ar<�A�v�B     Z:Bpҥ@GB��A���A��OB�]B��qAWp�B��A��
        !          31784: B��B�ɨAYVA4B:B�ɃB�"A��A��B}HB��Bw�i@���As$�Bo@�A�0!B&:B�2Bx�qA��LBA�#B�1EB1yzB�u}A�tB�5�AS)k@K��AFo/A��B1�B]-�A��A�D9B�$nB9�B3��A��@`�&B���A}.XA�5jB�'4B!B�ՕAC,Bx{�A�,AG��A&��A��\B�`�B�<8B�9ZB�גB�=B�SA�ԝAhe�B�B9?��BLoA:�A�I    B��By:mBS4�A�:B���>#7_B�'B���@�URB~T�A��oB9�A�u@T
B[�AB\�B���A���A�R�A���B��B�"B���Bf�X@��BvU�A*�BB��*B�      �A=��A5��BH�KBj]mB=zY@,o        @��B�I#Bxa�ASmA�'B��>     B�dB�/�B�Q�A��^B)AByىB[�?�5q?{�7BҺA_VMB:�@f��ADG�@ߜ{B���A��.@C�A���AOJ�@�nBx�A�-Aɕ�A�
        !          31785: �B�|�B�aQBq�)B��@��(B��_B��B��aB9:A�&"B�BysB^�A�"DB^XRBƊB�OvB��6B�.�A<�Ao#�B?IQB^I�@�T�B�k�AsːA�oA�ҽ?�qBM<ZAT�cA�N�AvuBK�%B�q�A|V�BwBDBPRBpT�B
        !          31786: *B���?7�B�4�?_�HB~&�BJɁBzjB'�
B�;B�R7@t��B�&KA�WB��#B�"=B�i�A!�B��7BZV}AT�A"�UB+kSB\vB�geBl#aAh�A���AT��Af'|BcB��B8B�K'Aб@^W�B��B���A��hA��A�iB�KB��-B~%�@
zA�J�B�y�@��B_�A-�A��KBG��AI�B��"B�y'B��A)q'B�
BN��A)q�B�V�B6H�A��B�6B���A�A�!�A$�]B�ص>�FWBȔ�A�B
�7B��CB�b�B��B��A.$XBB�NBz��A&/%B�h#B�?B��A\�mB�_A43B�!�At�TB��Ba�Bi�A��eB���B�T�A�A�RA?�lB� �B+&8A���@�
        !          31787: 9B�ōB��5BI��BA0@��rBA,-B]'B��VB�Vf@̇VA+�B#�Br�B��@tkA�d�B�8KB�#�@�EVBW+Bʯ�AK'oB�@7BD68Bn�j@�M�B@B��3@��B�J�A�]Bu&{BezBa�Bo�@B�Bْ-A���@�wB2f�B�A.pB�[AJ�A/<gBk�Ai�hAD�0B��B��_A�FBo�>B?�^Bo��B�s�A�A�3�B>BS��A�>*B�]�ATB�҅Be       B�(B3�BoB��B
        !          31788: �
        !          31789: Bf�~B�g&B�tNBgڗA�]�@.ۑB�f�A20B`�5AV_<B)�B�l5B��lB��B�5
        !          31790: B��:B��FB؂A�{BBFPA�KLBWhA0[kA���Aۤ�B�wA�|wB]d�A��Azn�AT�A��B��GB��A�NMA$BrB���A9��AA�lB��B�
�B#��A�?A�U�B^�DB�B��A-�wBxU�A�@�AT��A��Be�[A��{BςB6>�Bz=gB�8KB:�hB/�FBG^�A�5{BO�3BO    B^�{B`ӀB`
�A6�A�W�A˝kAܤd>h��A
6B�5A!B\B�y�B��%BkRiB|��A��B��B��]B�LXB�4\@Ub�As��B�1gA^�_Bq�A���BWBB3ܬ@.�(B���A�kBSK~A   E4BH��Aj�A�9�AJrG@nL�Bt.B��PBˬ1B{=0BH�Bt�zB�&*B�h�@�$�A8�{B8Y_BT!�A,~MB4vcB��|BQkdB-�B�bEBO�Av4AB��A���AR�[@���BK�rB���A��B��ApYXB釞Aۥ}B��'Be�
B��bA�ePB�S�Au�xB��BMBB&V�B1�oA���A �XA?/�@[@���A^��A�@��A��B"zB�c`B0��Aw�A�bgA��A�bB�Q�B��2B��lBU/@BJ�mB��Bu�A �Bp�B[�AeE@XF�@�ҞA/IdB0�Az#pB+fMB�'�B�΃BHn�B+Mi@��DB):$B��=B<4*A0��@�=B���@�ӚA^A���B/#�BL�GA�\lB�B�A�X�A'&XBd�5A=.�@}\~A�RmB�[Bu�pBg��?1z<B�Z(B.�B��?܄B,�B8�AG��@0A.Rs@�v A��@9�B�fB��B~�Br�HBK��@���AשB,�B���B�~j@�SA��4B��4Bk9�@Կ�B�J�@��yB�݉B��BB��Bh�&A��nA��^Br�B��{A�D�A��FB�\Bc�NB�X�AqB�alB�[1A���A�3?B��YB}wB<BB<��@�l�A���B�{dBW��A�QAAd�@�d�A6%BqxB=�dBC�LB�_oA��DB�m�A�~�@�/�Ax��B�x B}�?B���A��A�|As�A\�B��B#�oA�6/B�9�A�Z@ƩBt�@BM`JB(�NB%&B-�AS�DB�XFBo_FB��?B>[A��B��&BzCBv�@�}~B��DB��=�ZAO��A���@��JB?A{B�2lB��JBp+�A�:�A�5�?9��A��xB({�@��APJB�vBB�0B��GA�FB]�y@J�A㽁A��@÷MBsZBӗEBs�AR�)BloBo�1B�FBU�<B�i~BѦzB�ˀAl�QB@�eB���AV�DB�#B��.Bf�-B"�A�^A�c�B{��Aj��A�1�A�C�@x�uB9
B���A�A��VA_C6BPA�A� oB�ćB�ؐBȝ�AZ�Bn�B(XBP�a@��B�ȋ?@1B�ע@�˄B�͂B��BA�\BI��B��B�b�B��B��A*|pA�nB�pB��B�f5B�ԯA�KZB�[rB���B�C�@�C�Ag�A{�kAT�AM��Av�xB�/�@�B��-B1E�A?+B�9@�υB~VBPZ�Bm�}B�xBBlP�AS��A_�BBXGWB:BkBY�Bߗ�AQK�@[p/B嗀A��,B*QKBC�"BU4Bn��Ad�EB�=SB��v@��PB=J5ByBk�uAA��B��A52�?��nBxl�B.��B9�-B!4@k��A�L�B
        !          31791: �hB���BvYB��2B��B�Q&A/ߍA��%B5��A{�.B���?��B��B�Z~B�6�A�6�A*�A��A���@�& B��4Bs�JB�ޛA��B���A\_�A�8�Aq�A���B0�BڤX@RBBB]�BC�KB�^�A���A�-B�*3A'��A�1cB�/�A��BSiBz9B�BZTPB�w~B���A/�&BLh�@�WAA�?�@D"�B��B��vBJk�@��A
�-Bh:/B
�zB�%�?���A�WjB}M�A�B�<B�x�A�5
        !          31792: B�]B��)A��BboB��A�vAB-��A�0-A��Bx1�?9�CB ��A.AMB�lA��A?-�A�2dB��SB��0B�!BB��A�TB*xB�j�A�#B���AWۢ?,��@CzB��B��B
��B �A.�(B�-�B�E5BOJ�A��]BZӗA�(�ARTB�&�B?�B�@{�ApeHBrnPB���A�z�A;xB!��B?=�@w<    A�/ A~�B�=�A<aB"�xA�E�@$p�A�  �B�&�B��A
        !          31793: F,BK��?�aYB�(�A�CBOPA�qB\6�B��B���?��\BükB�Q1B��=B�B�EA=�rBefAY%A�KlB_x�An�[BJ��A�JpB�I�BZƐBz��A��lB�0B&Y�A��Am�%B"�1B�4�AL�eBkyMB�LZBwhB��@�;�A�8�B�v�@8�SB��B�r9B�F�A��AF�@K-�@Nx'B�
A��"B%��A@FBIB��/Ab�B�}?��B:��B���B�l�A���A���A��@�;�@|��A
�TBU�KB�)(B��EAV�B���B�DA�bBV�B�?MNB���A�UB�Y�@v*BfehB}��A�,B��Aa�B��A�B�jZB�B�B@�kA��Ar�B��B�oB�V�A���A�0�Bv7�A��dB��GB��B�EB��uB��CBu>vB���B��BA��BԼ+B�p.B�
Bʴ|B*�A�F&BX�aA,�Bf�B#�FBQ�gA;       dB�N�?�܆A�B#A@��1B��wA�NA�bBs��BF�&>$:A�|G@k�B,BK-Bt�B�B�B�cQA}�eB-a�A�F�@�BOa�A�)8B���A�%
Bʃ A,p�B�BY�Ay�B�@B���A_�&AyJMA�L�A�{�A�B�w�A�hBs�XB�4PB�p�@9khB�`B��Ap��AfB��A��rA
        !          31794: ВBk&B�W�Au�B5 A�3�B�:B�r@sg�A�ԋB(�B��^B��lB�5Baj�A'B�O�A$`.B��/B}�nB��}BL�A�:B�HB�X�B?|ZBy��BP�A��@J�6B;�zB�t�A6|PAx�B59oB�j{BRFA6d+A��^B�awBKڅB�m�A�;B�(B(B�BG#B�B���?9�:B� B�\]B���@�OtB���A���A�MB��Az+BQcbB$�?Bh�4B��'B��A8kBxBߨ A��bBb�nAێ�@e͊B�ƈB0N�B'�AQhAO�B��N@�u�AD8B�2\B��GB�T�BE��B�&XB�B�At�@�|JB���?1�]B)/�B�v�?�BˉB1
        !          31795: �A�-�AKqR?�B�A1SwB��DA�mB�PA���B&UiBS8   B��A��B�NB�x�BD�8B��A�M0A��sA�#=B��A^�]B�A�B�..Bs"�A�UyA��fB���B�GrAz3At�A���B�A��-B5�A�AHB�UA���At��Ac98@d�B_$�BV�B3KB
E�B��+A׮     B�M�B�X2AR)pB�|wBS�kB��iB�;PB�B�5(@��A�PHB��gB��RA!�VA�2AB���A�6rB:�A��jB2�@B:��@?H�Au��A�҈BIp�Bp�gB�\�?s`nA       �kBo�eB�rXB���@lӄBc|B�Q@A�]iA���@Q�B�@���B��@���B��4B�oB�5�A     �MB�@2�A�nB�:2B�VqA�iAІBǖ�AcB3B��dBMX7BI��Al8B��[B��DB��A�B`-A�P�A�&�B�^�?h�A8d�B��$Bz��Bg�B���@�9�A���B8�~B&MB�lA���B#i�A��6B��A��OB��0BԂB(�'B�nBi�#A�sB��Af�yB||A�s�B�SB��MB�k�B�8�A���@���@�kMB���@a@�A���A���@��A#A0B�}Bv\B�xBR^�A�PB�r�@<`�A��@z0@i�&Bӫ�A�Q�B_^�A���A���B��A���A$�B���B!��@סO@w�B���B�DAk˒B(jqA�ʊB8�+A�KuBkȆA��;B"1oB!�&A4��@>˺A~yAP�/B�m@3�B�P�A�yB�~Ahh(A�d@B���A���@<�]B#��A�h�A.��A��=B��A~\�A��A�!`Av��B��rA��?A���ALڋB�~JA��AYt�Bc�"B7�dB�A���A6ċA�&�@&�@̆BE�tBI�@!�B�K�B���AXN}@�ĒB7�A� �A�|RAv�jBW�5AX@X'�B*�KB�m[B�P@^�?�̅Bu:�A��XB���?D�A�� @V��>��=B^��A�~B1��A�k�AjmCA^�RA��A<�@��@L
�B�:�@>�@4_�A��vBϻ?ڱ�Bg�cBS�-B�L�@�WB-]Bs�By��B�Z�A[ݿA��SB,tGAJpyB6�BM�BqRA�%B�&pA�'�?��hB ��B'��Az��Axi%A��fB�~�B7�@�RB9�&A��A#�@m,2@�bB_�]@k�AG�B�hB�y
@=��B&")B%!Bq�A�E{?�MA��^B�c1B]1B'+nBn`Ar�+B�mB�+&A��B��#BLBS3QB��!B��B� �B�1�ASN�B$f�A�eBS�AB�4IB{��BoͽA��@\ڄB,mpB-�sA]    �B�[BRvB+BƔVBX��AxHeBn�$A)\B*�A�U@�
|B�@ɂ�BR�XB��@=��AK4A�&`A��B�B&zvB܊�B>�fB裡@���B���A�K;A���B�B�K6Bp�A���A䝦?a-"B��1B�9B��A
        !          31796: vAF�$@&��AS�0B&�[B��=B+~B�%4B\͖A�zA�,�AG�A���AmaB���@{�8Af8wBI~�@�^BpauB��JA��h@gC@B%P�B��@Bܷ(@�_&B�B�i$AL��@+��A=�@�ABfv�B�cA`    �B�f�B�p
B
        !          31797: ~A›�B\J�A��]B�@�B��:B<�yA���Bj͐B��AA���B��A
        !          31798: r�@�JoBs�BL
�B��B�FB��QA��BBrS�B��oAΟ`B_��Bh�&BB�`�AI�vB�w@A��%Be��@^cB��bA�v*B��A7�Ae�BBK��Aq*B؜�@-'hBtrB�oB���@W�BC)]A�fBg�qB'�A8rLB��oB��B�{A@���B�\B�9�BM�7AKn�AE��A�FVB��B�
        !          31799: �BI�Ba�A4�B
��B���A�A2�AB�A�KA0I"B�g?��1BI&xBљw@�&JB�>�B
        !          31800: ?&B��TB��A���A�MA]{A$#A˗�BC�@�v?D�oB`�B@�,?ĔjB6�DB0upB�/B\\�A�Y�A!  B�}BоA���A&)yB�W�BfjaAr�B5��BgeB*eu>�|�@�A�S�B�  B�iB�҃B��~BHFA�B���A3~�Bf<An��B8v�B7b.B�G�Aj�0BZj�BA]xB:(�B��uA5bBc B�VB�V
        !          31801: A.�@�[|@2:�AH��B�&�=Y��@�wB��SB��B�D�AzL�@��B*AA���A�x#@��=A�պ@�c6@��W@��vB��`A]X'B�\�A^�?NC�@�WhB�[B@��A��A�:B��oB�BB�.RA��B���@s�BJ��?l��BCE
        !          31802: B!(BuNB� [B�Z"Bn&�@�MB��wB�oA�7�A_P�A`     fBV)jBz,wAa�7A��8@�pB��nB���A�1�@&�B!A7B�B�Y�AżMB�B���A�B-y�A��A�>B�ēBѱNAf�ZB�nBMO.A���Bl[B#�B��LB}�Bȩ�B4�HB�^�@�=�@b|B�z?+NKBX��B�XzB��?H}LB
xB�2�A���@X�A.}�B�B&tAڇB��B�sA"34A�WA�cB�ђB�҆B�`�?T=A�I�A�@�A���A2�9@��Bִ,B�-A�B���AaʋB��B�-�A}�BD�jB�
        !          31803: �B3>BB�%B.�)B��AJ�Ak��AJ�A\��Ac�A �vB�oBy`bA���A�#B�D�B�%<B���AY�fB%�A��B��3A��OB��?2"
        !          31804: >2��@��fB\RA�[A�:�A�kzB;��Aw
BŜ�A;EA^EA��+B�F?BQ�jB�zB�[GB��:@W�[BC5wB�='Bf��@�FsA^�@�ZoBe�B�W�A���B�e�B��~A�JaB�S*A��3AB             AYZ B�Aң�>�x�B&�>��*A��B��B
        !          31805: 4�B��=B�?Ba��B�E�BPI�B'�oB�o.B�hEB[B�WmB^��Ar̈́B��:B�l�Af��A���B��B�\L@�&B`�gBⰷAZ�B�Bz�Br��@I"RB
�7B[��A@�AF�OB�=�A=
7B��3@�\Bv36B���@��.A��B��QB�ߨ@�Q�A}��@�܈B���A<�<B��A~��>XABBa�B��AqGhB�>�B,�bAF�)B�JUB��VB"ہBc�^BnnrB�"B\I@,�A�˓B��xA��5BQ�B��A�zkB-�LBXZ�A`:0B�@B��B�[�B��@Ӯ
AX<�BzrB�}AVm�?f��BxBq)�@u��A�QB&�&B��B�t~B�z�B�0�A��BJ?B���A�ޢA%�NB4aB�b4B�I�A��\B���AMY�AG��Av��B
�A�A-D�A��A�܀A��>B�J�@�'�@���B���A        ��A���A�+A<��@/xW@��B�WA�M�@�&�A��A���@�qiB��B��!A�1WB�t�A��A�gB?)sB��xB��A A�zB�WBW�rB�,3A⎊B���@���B��!A*q�A��B6zB��"B
��A��B>�B�kBB�[BkAB��qBP[B7�@�B�?<B���B,�mB��nA(n@͌nA� B�*S@��AJ��Aph�AJ}�AEB��nAx�AM�B|D�AK�AA��B�M�BP��A0h�Apk�B�~B�E;B���A���B�ĞA!{�Aɒ�A���A˚PB��Ai�BJ��B�A���A�A;A5�@BJ�B�rB)TBw؈BQ%�A5l
        !          31806: A�@A��AIA7J�?{مB�L�@��+By��A�l�AR�6B�b.Bp��A��dB6!B���Bw��AׇB��OA2+kA���A-��B�r�B�0]B|B:,DB�A�X�B�%�A��YB*>�@��B!B�@TT�B[�A���A=�B�IA��A�y�B�+�B��kB���@�_�A켃A�օBk'�AE�5B߲<B��AZojB�p�B���A�}B�=mA<�>��B�=BdIB]]B�e&B��A�5B,�B��@m0GA���@�$B���BN��A�s�A��A�n�B�B`%bB�%�BłfB�%BT�A��A��@'mA��BlQ�A���A�BeɉBp`�AG��B��A\oLB�B[�B���A�[B��B*FDA�B��ZB�d�A�B��A�lm@���A1UA�=OB�A��ZA?�B�B�C�B%vAHrBQ�PBu}DB��DBR��A�`KB4�wB�XM@W��A��zBr�mB�fSB�oB��B��-B��+B�B8ŁBl�B���AE��Amѣ@���Aw&B�ubB�$�A�qA;�[Bh�Bx�A���A���A�rfB��qB��Bnu3B��mBq]B�B9[�?9��B�NB�g�A�c    BA�A�:�A@�AeB9Bך|B�/�A��A�j�B[,�Bf�eB�sB
�BTB�gB��&A��NBIu)BOqeB.q\Bo'Bg�A���A��TB@NB��B��6B�FtB�%GA�|B$�A|�B��+AaJB�5�A_(B�F@B̈@�[Bs�.B�<�B��XB3�AD�A�7xAk��A�W�@�јA���AJ�@X3�BqqBz�DB��?��A�1�@�A�#�AF�BotYB�|B�V�@�W�B��
        !          31807: B@�nA@�-@�1�A��?��XB�0B�`�B8��AH�"B�ЫA+�lB��WB��"B���Bބo@�j�B
        !          31808: ��A2��A栥A��BC�B��=BW��A�&AAt^cB߱�@-��AJ͏AsB�r�A�&�A���A(RzB�'�@,HpB�RFB���?'��BӦ�A�EB�ÎA���B5�$A
�9B:�B5zB3�B2b�AwJgBuSA�?@�?�Ao�B%�GBpw*B+BB�sHB��B�BvB�4A�?SB�-�>���B�?�A>��A�&s?�B׺rBѼ�@;�A+Bd"�By��B��?��B�?K?#}�BO   vB�ǼA_��A��B�dB���?ZqoB�p�A
        !          31809: ͜A�WTB�F�A5|�A@�B�^,B��{B-r�A�O�B�yA}�zB��A0��B�aBI*>B��B�ΏB�jl@xa�A��B +xBF]�A��;_�B!i�A�Bv�BΌA4x�B���A��$B�B���AŠ&B% �Aғe@��A7�+Bo�0?l��AФ�@Y�A­&B�^AyYvB�4�A{�SB5;JB&�+BTY`B&c�A�ٰ@���AVOB��B��AB6�@�v�A���A�t�Ax��Ap�[Bz,�A�gwB���A.�B1
        !          31810: .@$�B*SoB�4@o�       Bş�A駂A��B%��BGs0Bf(SA��AU�Bw�@�ԵA��;Bug�A�_�A̅HAW��A�5BǣyB��A�s@B9G|B��dA��(B43TB�N
B�ӦAp�2B�'A��^B/W�Al �@áJBɤ�B��^@�ͩ?�-B�I�A���@�ATntA=?�A@�PB���Bu&(@�psB�A^7[B���Atc8Bz`AK_aB&�B6�B�YA��AHQwB��rA¬�AOOB�u�BAB�MB��A��@�ْB�A1=A���A�̌@<)B��A�&{B~K�B�A�M�B�V�B#
        !          31811: FB�V�A��.B�k�A��!B�4�A��B��B�uJB�U&B�>�Az�TB�;<B�l�A��B��B�ˁB8\
        !          31812: B;�+A܋RB&�FB��/B���@#��>&%A��1BK�wB��`B���@�`?B��AL�A1�B�{�@J�B��A<]�A�'�A�r�A�j�A��B�CB�szB6t.@V/�@�3�B�Q0B�{@?�-B�"B��wBzYB���A=gBӝBv��A��>B_�4B�`zB��CB�gBABM�KBC;�Aq�B8P�BfXKB5bbB�"�A�AB��B�n�AξDA�M�A60B�eB�|=A)�>@O��A�,�A1��A7�BH�WA�K"Bת�A��@��B�ЯA��A��B@�gBTVMB(!�A3�:BkU�A�BA��At�aA�qBn�{A6�A�� B��A�k�A�n�@��oB�f"B���ALX�B��%Bw�_A��pB(УA��!B���A}\B��QB��B)�A%B��aA��(BiIByB��\Aw�        @��@s�#B
        !          31813: &lA�b�@Z�B�x�A�c*@�rB�߿A?�B�u*A^T�?���A�d�B� SA�]B?��A0�%B��Ak��A�A3�BүEB�۲A��A��A��A%B
��AH�6A�-�B��QB�n,A���BV�A��A�iB�nB�\QB��B�~.BkB*SBa
�B&#�BӎwBXI�A�dA��VBH[~Ay�A޲�@���?��B��$B�%�@�s�A�S  B�2B��lB���B��@�-BR?<B��tBA�`Bk�MA�!Bʿ�A���A�a�BAS4B�-B{�@���A�YB3�?�]B�J<A�V�@�i�B@�?A)�K?��
Bp�A�XBL��Af�Be��B�8�A�B�A�6�A6��@�qB'^B5�:B)�a@�iB#e_B �4B`B@~lB�1�B�pB��B��bB䡀B
2"B7rB:�TBe�B�k6Bu*B�pB7�A8#B� 7A�߉BW�%@�1�@�25A4�kBGyB�� B�*�A�f\B�X�B�B�cB�}BB�B��At44A���BܤBG{tB,��A>�"A��A���A��.B��B�8�A$�NB�bBlyaB���A�B��?A��AY�TB>N.B�ͼA���Ab*�A��B��B�&B�x8A�GB;�By��AP�B
        !          31814: `�@�DBp�P?�*cA4�TAe�bB��eAC��A�ר@��A�{�A��~B��P@�MB|��BV�3Ak�B�ϨA�ʈBGŃB%��B�B޻�@,JB��VBS�mB�p?-�A�B;B�6?sqLB��A�.Ac��AQ#B��3AW�3B��@�n?�0�AfW"B/��AqB癡A.�ABjxB&�A�dB8�AV��A~&
        !          31815: BstB4|vBTB9#BB�B9��@f�B�A��Ae��@�)B�_YBXMB��A9UBfu�A�B'�A�(�A��Al�A7��B��7Bv�uB6�cB���As�ANB�BE�>@�}A�B�,B��A��B��Bd�@LeYBW0�A��A���A�B=(BÇB�qeBf�MB��nB6t�B�ixBZ<B�)    B�_B   teB��A*�4B�/�AB��B��@xZMB��}B��jB�&-AX��A#        bB���B�FhB�ftAf� B:xA��pBﮐBX1mB�:�B�[�BU&]B6��Bd��A��zB��;A&RPB�MGB��pB�t�A�)B�W2B+:�BmC�@�rB&-�@PmBN��>���A���Ag?�Be��AFt[Bc_AB��/B�
        !          31816: �B%V�A�:B:8Bǟ�B-�IB��FA}'{B��B��BR՗@���A��Ay�@�1BO�B���Ao��B�qB�/B�r�A'FB(o?B�_B�XB ��A1��A)�_A_͈B�9�AX��Ar�B�M�@�    �B��B�b8A&n9Bc�mA�&9B�9dB�=�A@~�@!NB���A�TB��3BieB��B�9B�$=BA<�B��AFݥA��Bhh/B7�rAxx�A��7B�A�T�A�>
A�Q�B�ygBB�B[Qs@ם\B���B�6B:�SB�Z�A�w�A��B�-�A��jB1�DBE�A�;B�)�A�B�q4B�_B���A���A�M�@���A�O%B*s�A���A2Y�?d�Ac�AyL�BwzBJ�B��$BM��A��B���Ay�A_RB�\vB=�B�pB�[A���A�YB�/|B�U:B���A�a�@o�*B��B�e%B��)A���B��'B� B���A� B�v�Bѷ`B��3BQ�vB"��A�M�A{Ss@�f"B��"B
XB�h"BP��A��MB�/�A��BjBs�B��B*?$B�RB�FBI�QB��mB��B� +A���A��>B�8B�&BV��BX�Bu�B_J�B��A"�_@���@F
        !          31817: �A�^B2ÁB$~CA��>B 2Bq�UB�eiB_w9B$G�B�'B��3B˜�A��Bk�&B���B˷�A)8FBs�+BCoB�s$B!�UB��AD�B"_�A�4mB�#�A%ȿ@6/WB���A%e�A�h�B���A�~BB�O�AQ ABkM�A�A_A956@�T�Al�&B��RBw�ADΊB$�=Bk3DB�U�Aʴ)B��A�2B��uB�[�A��A+U�A�p0B�
        !          31818: �B|�QB'�CBH�B��A_�wB`�?B��@�BY��@^DB9z<B��lB�#�A�PBN�BB�"BB��B}�GB��/B?bA�3�AP�pB��A�JBe8qB~N<B�gt@"��AH�U@NBA��uB��iAx�wA�CA���A��A׽�A�]Bb��A��gB�
B�*HB%��A�kA�=BɄB*9UB'7<B/� AP�,A��)BL
        !          31819: pBS3
        !          31820: B�     �@9�AS�B#*EB~�AW=BEBk��>;��BzI�BI��Bخ�A�NB�H�B�;bB�֓A�w�A��B>�wB�QBBlB�5    B�46B��A��+B��BZ�BC�B��A��ZB�&B�F]?_PBj�/B�>B�<0A��@{OB�'B=6B�=B|�AqGB?��A��wB/�B�x�A<�Aʶ�@�
        !          31821: 'BGa@B���A���B�dzA!MB[+�Ax�A</�A�˄Bf0B��B�kB��Bk�{B4�YB[L�?�&�A�0;A� B�҂B���A�"�AJ��B*B#�/Aj`       B��Bo�QB5VeByvB���A���A�{+Bo�LB�xB���A�-<B�-B�I0B��Bc8B�vRByI�A�sWB�)�B���B�UB���A�3B�j?��1B��B��@
^Bk�aBT�QB�B96Bǖ�>� B��|Bw^0BwÄBe��@�?B��fB�\B�B���@x��A��"B�
        !          31822: 
        !          31823: A]�\B*3�A=|B%�uB�
        !          31824: 7B&{�A�[
        !          31825: B&�>B�}�B���A�&�A转A�+BCM�@�BbS�A��@���?�B��B�BU�4B��        B倊A��,B�.�B��EBt�BoXCB
�\B�t7B�XFBw�9ByhA�%%B�؏B6.�@P�A&`8Bq:�@��'B��0B
�RA�A�A��@J~�A�VB��*B�p�A˰�@|��@�s�Az�`A��:@�b�A^�BH^ؽRžA�EBo�B���B�iAxjBua@Tr�A��qBֽ�A�{*B0��Aq�=A��?B\�+B�;�Al�A͙mBDIB�!BJ�yB�
A4��@H��@�rBÁ�BlG�A�9Bo5BcS�A�σB���Ap�MB�`�A�B|�iB)��@:�$B)ABB5cAC�A:,�@L�WBH�KB���A���A��`@�b>BD^B0� @�0�Al�PB/�A��-B(��A��@�,A�1�A�#�BV�:B�:D@ϛIB�
        !          31826: zA���@�=A��BˆAB
��>��0B�jBʋBCjt@y(�Ak"B9�hA�]B��fBB/A���A���A���A��B��"B>�B��;B��DB�/`B|�}B�2�A��FB`�A���?�'Bx��B�7B�+A�JDB3BS=GBKG[A�[/BzyB &4B��B�B�@�L[B�O�Alf�A�K�BHTB¡hBjH@�
BNbB{�YB�Z�Ae^BC�2BnۼAY�B�_YAW�kBy$KBą�BEB#B��]B�U�Au�=Br�>B ��A���B���@���A3�BA6�B^�LB��yA-ؐBL%�A��   B�%�BM�B�z�B7�&Bª�B:�A���B��B$B&yAB��B���@��yB���@A�JB�fB\AB�Bv�mBϻAiN�BfN�A��]Br��A�/�B��5A�KB#��Au�4B��B��B�rAP��A��AB?�@:{�A�W�A�#%B�B�݄BMA&��A|�.B���AB9[B�'jB��DA䎅B0XB�{B��A��m@S&#Bt�WB��Ar��A�\�A��Apd�B<��A~m�A���A�S-B4h7B
        !          31827: AQ�Ac9A�i|B�D��z�fB�cB��-B���Bؙ\A�B�JSBU�TB��&Bp62B�#OB��A��_B�DPBZ0BT�B'F�A!�cB�)B^e�A��bAT�Ai�B��MB҃�AfRKA
�OAO��A���Aj6DA@
�B�$BҌ$B�\.B��:Bj�:ATmBI��@�k�@
�Bw��A{@���A"�B�<YB+��A���A��A�-�BV�An~
B�KB50]B�@�l�AR�       B�CBJ��Bdp�A���A�6�B��eBt��A�[DBWWmBZ�Bf�RBHBB!�B_U�A�u�@��KB[o3B�R
        !          31828: B�rWB�-B�-&B��Y@DIGB�,B�$uB���@�'�B;�GB�fB��Ba�MA��B�Iw@��]B�2wAo�BP\MB�3bBto>B;�A&�+B��<BRRB��8B�7�A�q�@a��B�S�A^�BAeAB&ڭA��XB@TB�y�B4�OAq3B��A�PB�3B��AK6jB҇�A�WBQ��@(     �@�9AB��B�~FAS�B��BNUAB��B��EB�#iB2��Ad"GB��k@�wBӭA#��ANw<B���AN/�Aw̔B��Ac�Bnd�BF�GB�_�BJ�gB��PB܏rB�)Bz�B���A�eB�BBL�BodgB{�PA�t�@�]MB-��B�[�AHٌB�tBI�3B�F<B��#A� )B�\B^<�B�Bջ@K�lBՇ�B���@]�fB�ډBBkB�/]Bv\�A��B�A�AW�GB.�-A��B�/,A�__A��B�WAB.ڏB���AQB��BBږ�A���@f<B��A`�BU��AR^9B��A�^3B���A}xBbQAB�B�j)A@�]BQrBoB�,dBi*B�>BpV@:"B`�0BīAD�-AЈ�AR�B�%VB��OA��A��B�OB��*B�0dB9LB,_�A��A��FB�A&B��B�>�Am��A��BjZ�A+��Af��B�E�B1��A���B+E6B��B�FB���B�+DBe0B��Aj�A�B�B�}hB`\�A�r8B�
        !          31829: �B��AXHB?�Bp]�AhzBi        �B��4B���A�WQB4�?��XB�+�B�JB��B�8�B~�B��B��KB�qA��.B�XzB��3B�eB���
        !          31830: �&�
        !          31831: �@�@A6�A6�A6��@<��CA?"Bi¥A���A�HB�"�A��A�3�B���@8&�?��%B�X�@���A;[�@�hA-s�@1A
�B�qBcq�BY�A�IyB�JB?N78B��SB^�AB'ݾA!ՅB��AB>��B�NBꪤ@�UB&eBoxVB4CB��5Bչ8B��'B��BIkdB��B�ʀBR�&A(�-Bb�7B�HA��cB�"BS�A���A�+NB7�A��@]ܢAD�@�:}A�gB)l/B��JB>�A�'B��AhOB�NB��
B&��B�[�@ُCA���B���A�E4B@x�@��A�QB} �BS�)B���ANM�BŘ�AG:A�
        !          31832: @      �B��B�B��9B��A^PB���A�ϒBsVkB���B��xB�dGBF�gBDŊB?��A^��A�'�AR[�Bv��A��A��jBZ)�A�BDB��By�CB+�Bޘ_Bw�@jA�B��2A��A�gO@a&B�[1B<s@�WfB�x�A��A&+PB���B�i*B���@=�>B R�A7B�u5B�*B��A�eB�=�@��$B�t�A��qB��BrG�@�BL��?;�B�:�A�A� B{�&B��nA��-@i`�BY}�B���BV�A��A��2Ba�nB8H6A��Aj}�B�
        !          31833: �A��GBG
3AiJtB7�A��?�F�Aɬ@yhBA]SBI��?9�B�#B�f}B��z@�Z�B��B�Q�=��B�B(>�x&Bh�bB��B��@eG�B'oA�:B �n@W�BS�YA���@qB�p�BS��@�'�BM�iB�{�@?�1B
        !          31834: =�B"�XBmXcB�B�BB�koB�E�A��2B7�@���@��&Bط&Bo�BO�B�j\B<��A���Ahj�A��(B��B�ظ=̰�BuwB�"lB���@��(B�kB
�rB�A��BXjYB��`B+fB��B�A��HB��!B_�DB^�7BYMBLۅB�x!B��A��A���A�eB1�A�B*Z<B�KJBg�8A
�A�3B�A`�A
        !          31835: �OBS��?w�ByyA�~B��8B0
        !          31836: ^B�YB���A]&�@�^B�?Y�AG�,B��B�SB"�B���A=��B�8�B�8\Bժ�B��0B|ͅA�:LBQ�KB �=B�s�@z�B6ևB��3A�}�A?@N!JB��AqX�A��B�1�@�HB4�Bz��B�]B�v�A�$B�B���@�&7B+uB��3Ae�A
        !          31837: �A
        !          31838: �A���A^��A`GSBm�Ag��B)B�@B�oBr��@��AȆ�Bl(B�gHBlQVAA2B@&)B�h�As=�A"�??A���A;��A�A]B�݅Bk�B���A^�jBH�9A�4B��B<U=A&B�1�B6�!Bޭ)B���B�loB$tBYEA|s�A��9B�GB��WB�B�IB��eB��qB�@B�5�A��AeGoB���Am��@�0QB@��A��iBx�      B���A�UBA�RB,;�?�RB��4B �B��A�BA�k�@\�A�yB��_A�/B
        !          31839: `wB�2ZA0A@��+B&$B�+�ArB�^a@��e@�%zB�z)B|'@AI-B��B2��B��A�!sBk�B�S�B;�B��B%eA�B�>�!P@n�>�)RBy=Bj�VA��KB�V9B��PB�=2BQ�PB�&oA��Ad�@dۄB�*B�U�A�{ABC��B<��@��oA�MB�O�AU��B��?BP�A�BR�XAAY0B��vB��;B�1Ak��Bc�4BAMB*$Be�A�PABJ�AB�@hzCB%�4B�m@A�;�B��MB�u`By�@�zD@�9�B�7�A~(B��A�F�A:"�?�>B��2A���A�J�B��=B�#A�i�AG/BV&B�B�BE�]Bێ�A\��B��+At�B*�,B��}B��@fSAʐ@'|�B���@E��Aô�B �B�B�F�B�DB3�A�;@B�l�AϺ�A�q%By5BO� BybB�'}BV�BE3�@J��A��&B%�B��A��
B�XB��?Zc7A3S�A�\@BkB,@K3�B[.kBc9�B&G�B��B��(B�gb?dDFB
B��B�j�A�R�A��UB?�wBM��BV��@"܎@�s�@E�PAf�@B�X�B�mB\).Ar��ACiOB)�A(|NA 9�BH�A��3B�#�@�r�@��A�B B�E�Aޟ@�wyA�&�@�R@B4^Bi�?AU�?D:B��4BU�hB�[]Ba�A�7>B�'B6N�A��A%{B��PA��?U&~Bi��@��@BP�`B�r�B���A`I�AMl[B-B�m~BA^�A '�A�(Ag�IB�)�A���A���Ak��B�8�B��B�/B�#B�/,@���B    5iB���A5.BY�Aٳ�A]^$BLiB�B�AI BR�AK|-B��xAC�Bp��A@��BI       BD�!Ba�@(~�AeQ�A�&�Aܷ�B
_�>���A�"@;W4Bp��A�}EB�&�A3�kB�B���A�DB��A��*@�tB?��B�PB��{B�`yB�=�B)(MB��$B"��B��,A�`�B��qB| �A�^�B/q\A��A�  �A��BF#yA��?@�
        !          31840: B��mA��B��6@��^?$�@�'y@�zB�B�;�@2�-A�;B�&B�}kB�$qA%8HA��B�YEB�&@��@� ~By��A!��A�^Bg�A*��?y7B�E:B=�A+E�A�eA��zB��B�(kB�?�BqBv*�B�uBS;[Bq�AN�;A�lAWf�AM9B���B�0`Br�wA2�B��B͠�AY�;A�w�ABS]B��0B]�@��rAO`yAD�xB3}�A&W�A�H�B%��A�>B��dBTs^BmԈB��!A7�@�B"D�Bƺ�?��B��}BA� B�uB��FBg%Bn�A��rB^�B��KB��rA�hvB7B
        !          31841:  BA��6B���B�HA��AUΏB
       �BȃuA��A�?
        !          31842: A/C�AX MBL�B� �A�<A�q�B:��A��A�f�B� B�DBf��@�"B���A��@��<B��BcW>A.�B]9�B�ToB�AS�;B��A��B���B�6=B��B,B;wB���@�`�A���@_[�A�g
        !          31843: Br�%AD؊B�ROBc07Bd��A�bRB��JA���A�EB]*B�tA2�}B�٤A�?B�q�AD�WAU�+A��rB�jB(M�A})bA��A�Bc�{A���AA�A�}�Av�yBwBFŌB {Bm.PAm�>RR$AA/�A�#B2bsAv�pBQ��A�50B��/BqK�Ba]B��    BF`dB�5hBEB�iB�A��UB3�A�AjVBSc�A��+B�7�A��@B�XBOq�B���A�*�AEk�A&KVA_\B�,�A_�dB��B���?|�3A���BO�Ag�.BA��@��?���A�B��zB��gB�+B�A4B��AI�^B�-B~�IB�|VBr�Ac�uB��A8B�RBǔZB�NxB|��B}�>B       ��A� �B�ǟA(/DB8Z�AcɭA��&A}�B�G:B-��AJ&�Â(A���AI2B�߃B8;&BP�^B�T�Bo�Buw3B�GB�c:B06�B5aBܓtB�Bqh�A��?��-A��.B�cHB*�Bz&�B�<�Bk�OB�
        !          31844: �A��LB�OEB[N�AQ�B;1�AP
�B���A1B�xiBM-(B��B/*�@q�SA�!�?��kADC@i|YB'�PBC��A�{�@C�B;1BH��BW�KB��B��B��jBh��Am'mA ��B[d�@ЋB$�qB&�BM�6B�&�AߩhB�*�A�ϫA 4�AK�A�n�B�<B0Z�Au��@B�A+�\B�rBs�B��oB�iAB֚�A���Ay�yB�MB6�qA>P�A��       A��Bַ�A�:8Bt�Bd�NB���@��A*�A�%7B<s�AT�wB�"�B��-Bi��@�VB�0
BXB�'B�r[B�/vB��DB�
Bj1AiX@?'[A2�B�t@�q�B/%EBR�A3l�B�t�B��
        !          31845: B�4�@$3�AhT@��BS�?�CB#81B�gB¥NAtV|B�2_B@�KA�-�Ab��A��0A|)�Ay,|B8��A��
        !          31846: A�[�Al�A7+CB�ϦA/"B
        !          31847: :B��AC��A6�B��B���A��0A�"B        �`Bu�hA�uFB�NB���A�YB�tUBO�A�+Bf*�B}}B�|B�.sB���A��/Bd}�@.�BcM�@�@ B<��BU�8B�
"@�b�A���A,udA/g�A��B�A�_�A~�BqmB��`B�tbBM~rB�F�A�]Ab�RBjoB��hB�h@@P1B_�pA�|�B�:Bs�Ar�"A�k/Bm��Ar�}BQ�A(��B6�B�A�9�@n(jB�tOAD �@�AB��A_CB�>�AM�B%NB�ˉB�r�B8�A9ڌA��?B�B�kaBJ�LA�YBR5B&�A�IAsfDB�P�@�,@�”A }�@Yj{@�ɁB+zB�BAJ�z?+pB�
Ak(�Ah��@���@���B��-BoH_BxB���AQ��ArGBQ�jBsV\@I��@��@��B}��A狌B[#
B���AWojB֑B�ŊB1YB'.Bn>OAi1�B$�@MR^B���B�JHA��B6B��jBdfB+z�Bl��B��jB���A��B�T�@^jB��lB��B_2�AQG{B܅B>QB�^#B��A��YA<m�@�&�Bhk6AQDRA�^�B��B&dFBLfvB]�pBu��@Q�SBD��A�6#B�U�?i�Bb�)A��B �A�8�A�_Af��A��<B��B�2�B]>:��A*�$B��A�M`B`MB�#B�’B�}�@ڥZBcM�A�eA+�A+%#AD�*B+�B��vBf6B�KBB��A�1SASׄB�*@S�A*�5B�C,A�B�wr@�{AR�BP�B�L�AI�B�AzАBB�qB�.#@9�A1e�A�tB��B3 }B���A(`�AB��;B�JB���@#gqB^�>B�XFB��NB#0|B�CsB�CtB-�wB.�@i�       A��AqZ�Bm
DBL�B�&EB6Z6B>��A
�AG�AlmoB�@B��yB`�=B�NA�%B���AaB���A@6�A��B��B9�A���A�]4@��zB�Bp�UB���B��zB"�JBp��A�=B�!BhD&B��A*��A��y@�SVBdsB깐B(�kB��hAA<��@��A.YfBD�B�&�AҴ�A���B��}B�wMBxRB�?UA��
B���A��A]W�Bz�Bv��Ao?�@�NB@��A1فBF4B��BZ%
BNBw6Bv�@�:KB�azB�PB� �BM�EB�ґB��0B�R@��.Bs&�?6�Ah�B�Tn@$jB�,5A7��B�^RB�!�A6DaB��LB}bOB�(B'2�A]�B4�Al{B�,]B�;kB��=�l�B&a&BX|&B�}�B��_B �B9�B��DB���>μ�A�[�>�gNB�ЍB�&@E,dB���A%B#�nB8:gB���Bc�AB��m@�B�/aAM�ZBЖPA���@�o6A
GLB޸hBb��B���A�g&B�XBIJ�Ag�B�XB�B[BzDB7A:�&A���B�0\B
        !          31848: �jB�u(B�H&B �B��,A�[pA�x�B#"NB��9BW�IB��?�R�A��A�c�@���Bz~B�&�AZk(Be�A�9�As�B�*1B.��AG֝A1��@��B&�B�#�B xB��@�erBu
        !          31849: 'B{�<B���?��A�cB\/NBPr�Bw�k@�kpB�B&
�A��AiY.Bh��B��%B��Bt�ZB��%Bx�<Bg�NA�0�A�-j@��A�,�A��>A��~BS�BbI/B���@(ۙ@�Ez@�iB��#B�|B�L4A��   Bw0Bj�Au�BN(B��vBHAc�'B];Aj�;B��B��AO��@�L#B��nB��/B=�B2u"Bk[�A���BnNB��B���B�ȃBz6�B�b�A�q^B��A!�eB1mB9jB�>0B� DB�ևB��r@nc|B�zJB��B��Aϩ`@�}tB��B��0B��SBj�IB>@�Bg�B&�@�[�@t�:Bi�@}�.B.��A/Q.B�&mBHG�AS�%B�v�B�JB֪'B��B-A��A��A�[�?��AྞAwUB���A�      V?>zB��B҄UB<
�A�.�B�&�A/�?���A��\@ �A��5A�
�A47B��aB��A
        !          31850: �EB�_�BHc�A/wiB
        !          31851: jBI�S@h*
B��]B��ASl�=�sA�:zBRiBYPNBn�A�k�BV�BkA,\�AӺA��B��aB&z�@�&�A��Bf��@�N�B�B��OB��|B_W�A`�AE5�@�}nB�qpA�t}BN�B���Ah��A4��A�LA�,@B \�AcB=Bέ�@C�<A�_A�CmB��NAQ YB`�WB��@A�!_Bg7B�B�]�AZ�gB���A7ގA:�AxB�zB�d�B4A̹\B�S?B��B�j�B&l�A�
B(�BV�}BHVBu]yB�GAB%tB舲A��xB�kTA�ϏBDoBj$�A��AF8�Al��B�?wB���@@$B#�.B0"�A���Ak;iB�:B�RKA/�@��rB?�BZdYB��@F�-B�EBS�dA�VA�SB,��A��AV\oB1�A8�nB�eSB)�IA�w�B�(B�1<A�rB�A�w]AXqBif�B@-�A��gB4;MA�qA�
BdJ�@B��A���Av
�A�T}Bj�@��/B(�A�d@BE'�B�B��A��A�K�B���@��A�\OB�7[AqIDB�#B>'*B~�FA��zB�wXB;W�A�A�B
!�A�1,Bz��@�ۘA��oB���A^rB�AB-�BN�B^��B8t�Al��B��B��BDž@M
        !          31852: WB�|BJ�KB���@MbB#]3Bק�?tTXA´AY]�A�
        !          31853: �A�FB(�FB�xaBSJB�Aʪ�A��eB͈#B��:B�:A��q>/{JB���A�6uA�JKAe�       B{�BLR�Ak1|B��Bq��AH�BB�'dB�W B!�>B�&�A��]B�QTB��A�4�B�DQB&�A��@��>B��BߪVB|�jB#�BB��A]�>Bz� B�FA�XB�B��^B�v&B�z}A)�A �#Bp�qBP�B��Ae��@�!�A��=A��2B2B'CB5WA�x�A�m�@��9B%��A��#?Q�Bx�AE�p@>BW��@3/^@�vBsjB�m.B��:B��AB�/�Aҟ�A
ks@��+A�Y!B      dB��A��2BpcA�XB'��A�!�A8�~B��A \�B�u_@2��A���@�ߓB�
        !          31854: �BoBNBFeB%�>A:BI��A��JA��@k��@*ČB��=B�+�B�T]B��B(��ARZ|B��VB�1AT�AL�AǐB���A��&BWkAmv!@)��AE��A$B$b�A��A�VjBf��A��JB8�9B[�1B�=Bγ=B9�B���@�oCB�sA�̀A��BS�^B�RB!�mB�&MB�P�A��B�pB��QB�i�B.$�?(!B�'�A�#B 8-B��B���Bt0�B&6B�ժA_��AD5B�mA�_oB��B�g@���A�       BK�.B��1B���B��^BL�&BN�oA��VB��WBX+&B�'�?�z�AF]�AF_�B*�A��bB�ۉB-uB:�YB"��B�ZB$�B^�5B��>BZ�(B A��KB��A�+BM�A��vB�&�A�Z'@���=��@B_`B&2A�v�A�mB�Z�BQ�&B�(�A��uB7��B�Q�A�=�ARͤ@�0:BW�A0B�[gB� �@��wBL2PAS<?���A�71A�kWAmŽB7��AxτB���A�9iA��zB��A�b7B5��@D�BDKB�j�AS�&A� wBT�A��H@�e_B#3�@�&
BLI�BQDB�p3A9��A2�BB1BW�/A���@���AՇB,��?L)
A��B>B7��A�c^B��B�BqIN@3�B�`A��B("�A�BdOA)��B@��A���B5�B�j�A�3NB~vB��NA�H�BS��@��NB��6BtfB�"�A�6WB���A�8KBq��A�8A0w�Ay�'B�-?4]�B���A�<B���Ap�A/��B���B��B?{B9�B�BqˑB���A^OB�dB�tBmx2B9�@B{3J=��-A�c�B%��BffBA��A���A��@~�fB7IPB�f�@��6Bͱ�?ǶBM�A��B�vAi7�A`�+B��A1Bb\�A�"�B���@�C�AZ��A޳DA��BA�A��uB�jrB�*B]B��!BT��AᴭA#H+B���BfDB��B��[B-7
B�� B��nAe`B��@���A�A�UAW7wB�B�RAB# �Aa�B�_GAS�~AkßA+�+Bd��B�aB��[B�#�B
`A�B�LA�#@�Z�Bj��AB�A���B��B�79AWooBnA�B͗@p��@�]B�X�B��A��YB��`B4ǍAz��B�]SB� �A�8B�"B��iA&�@���B�PCBh�?BG}�@=VB$zA`�-A�f�B�@�B!��A-!#B�._B��-B��B���A�QA��B9�B�B�gQB��BD�A�UUB�"�A1L�B�2BS��Bp�B�!�@$&&B~_Bh�A��>B^��A��^@��B��B<�A�1]Bp�A��A��`B�uB�mB�0A��B��[B���AP�yB�e�B��^B�_�A���A�6�B&�nB��@��vBķ�A&-�@,�(Ba�B�B`NBL^�At�@-�#B� 8B��9@4�A@��Aj�BK�B�c�>ޡ�Aժ�A3��A0^fA���A'{A}��@�UA{�B�ˏBe2CB��w@ď"B{ClB�A��wB� B�B�
A��BE"A^��B���B�K:BX�AB1�qA�ے@�RjB��7B�AJ��A�]A���AAJBP�dB`�Ab�XB�H_B�^�B�LvA�k�A���?�!sB���A�x�AێI@���A�-�@<DoB4ʆB�,yB4�B�&B\QFB޴LBC�@�JZB�qjAn0Bdh�A�KB'��A�jsB�yAeSB��A�RmA�[�AS4PB�7$AwC&?C�0B/��@"N�A7�A�ݹAX]rB��A4�xB>��@qgB}��?�dB���Ai��@EA|�A88�A\�B|H�A`��B���A᤬>H�B��4BY�A�Bsu�A�~A��vB~9B�
%B�|WB��A?zBs"@IB:(�B�A%�~Bo��B|,�B�O�A=��A��eBu�tB��QBM/�B��A0hB�,�B��MB��kA���A3#�A��kB�j�B��J@��4AS\BZִA�_mB�@�i(Bi�Bt�dB�A,΢Au BqG"AzlB���@��B��AwvtA(G@A*?&B�K�AR�(A���AUp�A0s�An��A`+�@`KBA��BR��A��.A�G3B��4B�3�AGB��lBY�BT2F@��A�g,AmXOBL��A�sB�  pA�BV�A�w[B�"�A�fB#ƪA�3B혹A��BN7�AiK#B�uB�Z@H�A�iB��AR�FA�#RB�4fB�kBa'B��.BHDQB/?�@tD9Bԥ�A�/B��BI>B���A'�&Bg�B�<�B���A���B�0*>�5oBM��A�
�B浏B��zB%�AɎ@c�NB      r�A�A��jB��A&z�B7�B��A��jB�Bx4B
        !          31855: �Ah�BD� B��UB[B$��BaށA�]BV�,B���Bn�QB�A3~PB�"A�&B�i8B۸�A�&�AV��@ㆋB���A�`�AGj�@%yCB0MPB}ǓBɇ�B�hcB�YZ@м�B�A��B�       /B      
�>�RB
        !          31856: P�B�~B
        !          31857: �BB�~Bb#�A��E@�
        !          31858: XB*8BAf,B�*�A�OBz0HB�m-B��fB��@�B�l�A�e�@G�IB�H�A�~B�.B�oAs��A_q�Bt�B(rB�oS@;�^A��   B�G[A�6A
�jAtP�Bfi?B�vfB�`�An͈At/�@@�A�JCA���Ab��Aˈ�B�6+B�I�AL*B�KBD�AO��ANg�A�?�A���Bi��A���A{pAw�>��B��B�BPm%BH[B�l�B!�A��nB��A��B%S?A��wA��A�m�A:��A��]AR&�B�}�B\�B       �jB3߅A�2�A�C|>��9A8��AA�?�-�Aw�4Ap�ABS�
        !          31859: B1I�B��2A�
�A�ϾA�C
B5["B�]B
        !          31860: *�A�$6BQ�DBi�@�6�A��B��B\��A�qB�[~Bu�PB��AqSBS�B�xB��A71�A@-A{��@��;Br&�@K�iBVw�B�d.A&�AodžB�`/B!XB�'B�dFB`��@+.!B\�B��A��?B���Ay�lBr(�Bx�A�&B�j�A!�rAPl�@ETBX�BE>�A�P�A=B�{A��B�^0Byҽ�v�q@���B��AzL�B��VB�WBz,�A�anBOOB},JB�ȴ@
        !          31861: ��BP�XB(ȀA��B���@�v�B矕A�AУ'A���BhB�l�B8�CB�M�Bg��A��A�HB��B�BcCBɤ[Bv�BEr�B�&)Bq��A\��B?�_Ats+Bp�B��ApA'B8�WB>�B��A#�)B��AۊBBx�
B��BK5Bv�@�:3B��A�B�ZB�d�A��A4��@1}IA�y�B��-BoC@��B�L�A�NzA}��B~Bg��B:�B~BB;.�@���@6��>"�\B�7DB��Aݰ�A�P�B���A�
        !          31862: `B��A�AP��B�z�AL�=BJ <B��B&�RB/��@�=�A,�Bnc�AE��An�A(��BłBdR2B�C�Be�BF�,A���BS�GB�B�{B�"B��A�"B���A}M�A� �>���Bu��?��AU)B�
        !          31863: zBڅ�@ YB��@�ÊB�qB�OA��GAn�B�&�A��B��MB$͍B]�AAB�B
        !          31864: �uBգUB}yB1�BB�o�B|
B�&�B��A$�<Bk^�A�K9Bb
�B���B/^�A0�&Bj&�BUmB��A� B@Y�A�P�B{�A�AQB��4B��)A�_�Bh�B�^�A�"B��B��AP��A�0lA<VB�.JB�ւBGN���-�?׫BqB�7rBֶOBΑByv.Bub8B%�eB�,B��AQ)�B�7XA�٦A��&A��B>ևB2�B�eB�_sB�s&BTE�B�ReB���A�K�@5�sB�LNBwLB*�dBU�BvmB�Z@�߄B��?�6]B(�B�$B��\Bh�4B�NhB��7B�iB}ȨA��AJ��A&m�?K,�A���BV#�A�n?B��B%+[BolA8�QAӻ�A@gRB)LA��qAjg�AF��AԵAcBB��A���A�-�A�       'B��A�'BYZA���?֗�A.�B�     B��@ݡ�B��AB�.B�O�ASbtB�A,B��"B�ۇB�'�B��0BU�qA-�B�lA>Y�B,�#?�\bBՏ[BC�GBs�B[6B&�@B$�vA��CBQ�LBr�A���A�F
A��AA�/�B
        !          31865: �?B/2�A��B*�!Bv��A�8[A��B�e^B�=BUXB��iB���B8U�A
        !          31866: �mB�,�Av%�>6z�B�B�
        !          31867: !B��A�l�Ag�B���AovB��Au�/B�1B��BD&       B׉�A�6B       <�A.�TB]�,@�5�A�QA��?A�ɩA^�/B��B�%oBD�B�/fB��2Ai��A��>B�WMBԬ�@G*OB��vB�Oc@�8Af�HA��An.�A�?B�v   B�ݬA5~7B���A���@�AT��AY�?}CdB%��B��@"��B�zB��|BzB�)B��CB��B��B��g@Q:B��B<�B
�xB���ARɇBU��AM��A���A5��A��CB��B��oB\GB��A+�B;D�AM'WBm%�A��
        !          31868: A���B$2XB�tHBiN3A�G�?챓ATyB�uBzm9BjʄB�>�A�ɎB��BݢB�͵A�)�B���B���A֥�Bb@)A      �'B��>B�NBQ�5B¾rA[   B��\B�<�?��{BcmvB�Z�@l��BJ��B$8�A�ܡ@��%B��BN�B���B+B"CQB�ZBiABijA���Az�qB"�B4��@��>RHYB�3�@�4|B<-UB��AD=B{�bAQ�AYP�B�זA��A7r�?�]A{�`B�ˈB�9�Bk�~B�LAo:^B�!�B�2@��A�}Aa�,Bb9,B��B�]B�YB��UA�p�@��BִyA=��B�CA�XJB�t|B���Bu�     A�@B��BB�AA���A�H�A?O�Bz�Aԝ�A�AKF�@_B�ئ?�M�A�iAӅiBB
        !          31869: �@��AQ�7B��cBW:B��}B pBa�`AW�nB�?�@y_�B�]�AL&�B|m4B32iB2X~B�c Awy�@���A`�~At3�A�ZBFňAk�B�B)B�        "BwxA�͏B�0"B�JA���B��@��B�?�@��"BzI�@���B|"(B���A��TB�܂B��PB+�hA�bTB�laB��ZB*B��=BXt�B��SB��B��aB/'�A��gB��B�A��B�U?�Bp?�w�A�3B5�SAJB13'B�s�Bb>KB�yB���Bc�(B�"�A(3�@�tA��A#BUZiB�EB5�:B���AYlBN_B�>�A�HB���A�GA� yB\��A1ԉB���BkNB��B)�BﰋB[�0B���A�&B��B־ACnB�HB�އB�B�.�B(�Y@X�oBp�B�^!A}}�@�U;B��A�!-@��B'��A��A���?Y�/Bċ�AH?A��4B�JOBKzB�!�A.&B��pB�B&,A� B�(TB��B��A�8�B�JOBJ�B(RjB��XB���B68Bk��@cXB�;BV�OB&�A�VEB%��A�;�@� AK�zBj
Av�d?�IRB�D�@�OB�4�B��wBw5�B]l�Aq�AU��A&YBu��A>J�B��=AS��A�+BaI�@uH�AH�BIcB��B���BC̽A��TBc�B��B;��A��<B“B:�B�fAe�'B�o�B��*B�tA��=BK;jA�2�A��B�ҍB��A'QB��JA&\�AtDA�,�AB��A�h�A(�`B�JB5w@@�[@Y#��%��B�mB�2B�9cB�PA���AH:@}̀B��mAg>&B�(PB��@ՂkBeZBJ�B<mBu��B.{�B;R@��BH�B4p
B��A
�(B��B�a~BQpA)��@�G�A߅.B�A�MhB~B�&Au�B�[Bo�vB[}�B��aA9�/B�eB�&�A��rBM�A��A#�>�hB��B���A�QHB�9{A/�B�:�@�ZA]yjB�
        !          31870: uA     � B#�.B趬A�?B�{�B�9A�Bt"zAb�jB�;Ba�A�~B���@vB��VBnQ�@�G�B(YMB{B�$;B�;�A���B'PBq3�A�s�BȽ�A.�A�BBB�SB�zB���A�[�ANB^��A���B�1BJpB��B
nB�y�A2BА@�GA�ÀB��;B��@B$�+B���Aތ;��eBDZBE�<Bn^B<��Ah#Aȓ�B�rBB�`�B $3B��TA*AB6,�A��A�qMB@MBΟ�BQ�?>AB~
        !          31871: �@Y�B�hB�d*BS�(B���>Ps�A�C�A��A�n]B_~J?��PB�ю@�ڊB�u�@-�B�{"B���AtlIA�^B���@L{�@:�B�F�A� �@ai�A?��Am7B���A=�;B�_B���A���>~<
AB<BP�@SBE��A��@n�AM#|B DbB��cB:�@�B�ˏB
        !          31872: "A�8�@f�@��  A�RB�xB|o@1�B�đAKDAV0B�bEB�B-A���A�FB+)'BX�Al��B�;BW�bA�mB.�\A0.wB�B�CbB4]B�jBWZ�?{gnB���A
        !          31873: O�A��qB��A߷gB$�BD��AV�0B���@ȣbB��BQ��BuB��A��B��lBL%�@�~�A+)�A,6AM߇B���A�Bw[�A��A��A��A�i�@�9�AG`�B�փ@u��B��iB,SBC�:Ba�DBuGBrb3B���AB�rB�
        !          31874: wBL4�B&��B� �@�vsB��.BO~B�A���A�@�uB&�Bx�lB��B.RB�o�A�>A�~A�ZB�p�A�\�A:�B$��A7`BU�B$�dB�UB��fB�\?A6��A���AKpBh�A�oAD64A�'A�A�aBe�dBjǛAuT�?r��A��B��Bv�B�HXB�X�@�U�B�I}AI�@�)�Bs��B�N�>˒B`!�B͏B��4A��*A�[�Az&Bx��A���@��BR�iB�AL��@{zBs�B�m�Ai�A�_gBXV�A_�CB)�!BYqB�T�A��rB�`AJ73Ak�MB!
        !          31875: *Aq�WB��kB^�AЁB�EBփ�A~��@��A��AgP�A�m5B�?oA�� BݡB���A���B��B�СA�X�@c�3B�3�@�Btl�A��)B    
By��A�}�@�
        !          31876: A�ҲA�_6B�f�AY�<@yNhB��B�'A�"`B�ZXB�(:B��8A�VuB
B���B*�.B�fBج�A�-B~�sB���A[�;B4�oA�
BG�$B�|BS$4B�RBjwB��8B9zBJtB�^&Bδ�B�ފBj��A�LrB�/:B)�AB��/B�&cA�R&B��1B�kB�gB�B�N�B�A�=�A�;�B���A�@9B�SHB��IB�7�A8�Bq�A��:Bn
        !          31877: �Bi��Am5A���A��B��A�I�B�l�?��A��zB ��A�^B0I�A#��A-�
        !          31878: B�B�*        B�?�O^A�9�A��#AS��AW��Br:mBJ��A�R�AC^B�G�B(�A�O�A�M&B�N�B��l?&��@=��A��-A�{&@QZ�A���?���A��B�B{&A�GB]�A�G+BJ]B�ǔBl�?�'�A�7B�l�B~͗A���A�vhAƄ�A���B��@M)�AV�B�aB_ZB[�mA�f�A�DŽB4ՙ?fގBu;BQ�B��A�BZ�YB3�s@�`B��@D��B�TB
��B�3B���A�nCB-�eAa��?��yB��`@p�dAIN�Aa�Bx�?���Ah_Ap�>A)ȨA���@)v~BȃB��SBטxBG�"Bz�<B@��A���A�|A�݊Bb�'B{�BC�&B�HA-�0@��Bѷ;Bs�B���B4��A���?�_IBHA�A�C#@V��@       w�B G-B��A�u   A6�Af&B�7oB�@"B�
        !          31879: �B��A��A\:B�qA&S9BdZs?ʛA5�OA4��A�V.A>y�@��sAWA�qfAM Bx�+B*�XB\�A���A�$�A���BN�6BK�&@E~Y@m��A֏UB/?B��YA|>�B1ڑA^s�@��A&{QB�v�@�-A��?�;�Bj��AڝcB~�aB`(wB{�@B���Bs��A��RB�4_Bޣ�BA�>Q]�A��A�ۏA�@��q@Q��B���AJ�A"��@y��Ba)�A͜�AQQzB�S@��@8[_A_�B]WA]�B5�A1�?~},A�1eBH�B\
        !          31880: �?$�Aq-A��&B�@gB�1GARx�B���B�lB�7e@�IsB]��Bο"B��A_�pB�K|A?M�A�
�B�=�B¸�B3�Ax�[BfOA��+A�b?Ƅ�B�9�A���B�TB�*B�vcAi0FB��A��iAg�)BڞA}܂B%H�A EB��EBJ@,ØAp��A�]�B��@B:@bcvB�"�B;o�A�#�A_�B,�B��rB��iB7tB��@�U[B+ڞA���@έXB��A��JB�[�Ab��A��B��\B�eB�2BZ�^A=��Ar�`BVV�A�A׾�A��A�0^B� B�i|B,�bAE�yA�       @{�?A`A BR�uBY� Bݭ^B�I�@�3�A�qyA�-#@���B~�Bn�XB��7B�y�A+�A,MlB��IB��eBI�@�� B�(tB��BYIB)�B?�BP�'BH�Bl��A7$BK�A&BH�sA��>B�XB��Aߘ�@�|cB�͟A�{Bz�B�B�� A�R�A%�DB"i�A��Bj�B��B�|7BwN�A��B9�]B4�     B۪�B�@�@���AjdB"�7A^��Bu�
        !          31881: BԤ+B/��AT6uBF�.B��^@��3B��AOnRB�a�AD++Bo�lBkl�BA�lB�#B�x<B�sB��1@��B�[QB�PXB��B��B�&bA��TBH�A��%@�3@P�OB��Al�A��Be�kB,RtB{;fA�](A�0�A-~gAov�A�]B��oB�xBU�_@�#�A�DBnt'B�>9B٭�?o�MA�MB)�BflBJ�@�4�@��QByFB��QB�B�
        !          31882: B}28B�fAe�B�,�A5��AIe�A,��A�AU�MA��A��BP6B-��BU�       B�w�A��PB�k�BB�A�`B�S�B�+B?8)@UCBͩ*A�BB<B���B��yBz��A��5Af8B�3?A��2B09KB���A���>T��Bx�/B�<�B�R�A�CB$�AR�(B�#�A�ieB�<@�ľAX7<B�ˀB�|B*D�A���@t�QA��B��iB�?B��9A���@���BFWB� B��cB}�A&8�A�rjBȊ�A��A���B^�B�A�h�BP�@��oB`�>A�#B
��A(fUB��ABf�A-B)�@n��B��MB��ASCAG��B�f�A,�MA�ZB;B�B~�A��Ae��A6\wB���@�v7B�B��AK-B��SB$�BπtBU��Bݻ�B
��@_sAhB���@�aYB;�B���B��B�r:B�B
        !          31883: B&�B8!BE�YATWAB�KB��hB�БB�       �A�bB@�B5VxB�ےB��FBiy9A�[[BJZ0BW��A�g�B�6B��|B���AxCTB��=B&�xB��v@6YxB^�BxHB�nMB�p�A�B
        !          31884: p<Bv��Ac��Ac�A�y#A_IBIW->`�A<{HA���B_�A=�dB�C>ӭ/B�~Bu�A��\B��Ah��A%�1B�@�Bk   B�$�A�&tB55�A+t        Am[B�vA<[�B�lAB�*DB�\B�j@�MCB��1B�8@6�A�X�@8�:B�[Ak�<B��mA��~BbtB��Bf�$Ak�"A��B|^�A{׍B{}7Awp�A8�ZB(.Aa0B@Y�Ae!BDj�A/~B��KA��@�"LB�YwBʄB���A�PB���A���@i��A?�@+�CBG��A�7A�LcB�rBʟB:�FBVBv�A!��A�VB���A��B���?o7B�&/BW�%BW@B:��AcY�A{1�A��AQ��A�N�?��e@�B��GBtf�B?cBB_�AM$)A��JB.�'B)�B`ǐBU��B��     @���A�u�A��CB�5�A(��A�~�A2naB<�x@��B[KbB~�'A�`]A�)BΑA���AC;A��iB�/�B@�@(tB,      A��dA�N_Ax�WB���@d$�Bf��A��JBX��Aǎ�A&��A��B<tB�%�AƆsB3l�B�EBT�AEiAU;�B�j�AKR'A0�$BppB�Bk��B���B���A�G"B��Bϖ5@"w�A���Ad4B��+@�_B  ��Bk��A8Ax$A&�SB���A�QA�Q�A�ՏB���A��#BB�A��.B@V�BěCBoS�A2�gBP�AX�uBh��A�?B�y,B=    WB���B3>BꪬA�hb@���@#
�Al�CB��ZB

\B��'B�w�B{d�AnrXB�__A:g]BFA4-B��@Bt�B�tA�5!B~Y!AS-?zf0B.BB�gB%��Br��A�i(B�MB�!B��5Bt�AޠA�ZRB;JB��B}Z?�s@Q#B��'BJB
I�@A�5A��@loA�UOBN�zB)�A�H        B�UB�ьB�A�4:B�L�B��oB�nBF��BZZRB�c<A�]�Aw��A��B��9B]�@�B1�A��A�9PB��aBsEpA  �B��AՈ        B�A�B�f�AU&A�k=BI��B�t#AB��AB��B<��B,jg@�J�A,�BO��A�S BlN;B��1B��jA,�MB�@"B�iCB��|B       E�A$3rB���AG~�@���A�8Ak��B���B���AV̗Ah�<B�qB3CB�۸A��@U/(Bx�AX[AWlB�^4B��!Bo�A��+B]��AqAD_�A��Al�\ByH�B^�8B��[BK��B��B��RA�<�AW��Bٸ+?�v�B��qADB�A�B�E�BB�oBߓA��>B�S?)R]B��(Ba��@��SB��A1$nB�A�{�?��B��DBB���A3�A[��A$6�B$B��%B݁�BPG@�sB%D�Ab�DB�$)B�O�Ae��A/l�B�NB�lBZQf@+��?��Bx�"B�)�AOQ AYB:    %>P    Bi�fB㈊B���Aԕ^B'?B��B�;�?M�>[�:B���A�=MB�)@�,�A�-�@��~B���A3!@u��Ap��A�ː@��rB�RA�a$A�ۓA��B�&�B�PTB;)B���@T�(B�W^B���B��`B]�:A�BzQ�BX�B�h�A�EB �QB;�     B.�xB��7BC��A�B�AD9�B�KTB�F�@��B`��A���A�gA�c�?�SoB�UAEsmAA�AQuB|�%B�r�A<ҋB�&DBw� Bʨ�B�B,z�?ÊB*�?��FB���B�3�B�iB�eB�Bb�$@���B��HA4�WBpR!B�@B��At�B�k5B��AoڲA�?XB�%VB�ptB�:dB|jA[�A�A�7�A�~BaW�B��B
        !          31885: �Byg$A�@���B��B2Bx.hAaP�A��kB��KB�+B��p@��qA�ŊBQ7�@QR!B��A2��At"MB��Ah�B�B�4&BFu"Ah�#B�B[��A~:�B~^�B�g�A�B{%5B���A���A�f�A_[B�ה>u�ZB��A?�B�:B!@B-%�BǹBj��A��WBDOB
        !          31886: �A�!B\&B��@Bq��A�mB�oA�7Bn��A$cSB�BʱB�AE�fB�ʅB���A�r�Ad\Ai_jB|l�B�
        !          31887: A�B�@�F9B��B}x5Bv܊B�@3�rBaa,B��(BpTBYu�@nUaA vR>{R�B�M�B.I�@�xtA�X�BSjJBf��@�SB��+BB��A�MoB�#9B��=B�f@Mi�B&BV5m@� �BZ4�A��\B��{B��}B �Bj�?B�"B4�MAԐ@SvB�ˇB��@vPrB�WoA�3�AfB���A��{AK�-Bn��B,lAn�   B�u=B]�\BЏB�j�A�v�A��~B_LBeگA��,BuE�A�gB$�B@�     B�
        !          31888: (B���BQ��A_�t?^       B'O�Bkb#B��NB�h�A�^�@�!�B�,�A��B��JA��<B�`�B/�4B��lBd�B��B�8Bp�IB�!zA�zB�GMA^&NB��
A ]nA)��A���B�D�A�vB�C�A�]�A/��A�8�A��B��FB�
�A޶BA�qB4:�Ax��A!�kB�d�B ;�B���A�j5AżB�8CB�B���AKwB��A�t�A��A���B�YAr�yBӪB�t�B��iB�MLB��gBB�EB�z�AR.|B�n0BӈB�{B��B���A�l�A�ZB�?pA�Һ��A��B�*AY4 B؞[B׭�B�%BgB�u�AN!BX0�BNrYB&�YB�'b@�ԳA��BC�kA�M_B#�A��B�@BQ��@R�(B`<�A�FlB�,kA��3B�Aj�}A-�A<�@����ֺ B�NB��5B2B��B<�yB��+B���@�E�AY�yB�o_B�)�AI
        !          31889: MB-cfBZ{BaaB�B��IB��A�~ABA�~�A�L@ݐ�Bc�sB���AȎ�B��A��[BkޝA�8Bu
        !          31890: 'B�mB:�bA��NBAd�A)�vBݏB��Bn��B#pAy9�AP
        !          31891: FA>+�@��@���A�®A�X�@��Ak݃Bp�zB��^B�3�A��A�?zA��A��dB��B,�1B=mB�[?BY4pB�IB���A���>�BW
�A��n@���@כ�AE�eBr�A�=qB:CNB@��B˘�B���B%UR@P�EB�{$B-�<B     4(A���@4�=B5b�@���A��AB��B���B�DAC�kB���A���A��ZB�i1A|��@�TmAN�nB�B�opBpe@�<B�L(B7ҋB�/-@�B�2B=@�AI�T@ŗ=A!^@%�2A�!@:�B;�iB�ńBy&�B�EFBI��@�هA��B_gB�r�B�]h@�RA�6BN�:B�}A�U�B
        !          31892: ��@O|B�P�B�CB�[B���@��bA+_B��Bt�zA:�A<DBZ-^B�&NB�0�A��B�kB,�4A��A�CB�5VB@!wB��>Bk��@Z3�A��BUgB�p�AU�4A9=�@���A�B<�xB�mfB�4MB��tAߵDB=U�A��@�1�A���B�� B/BB�A��A�UjAi�AlhB5�BpA��,B9��A#�u@��B�@B3�MBMB���AXΪA�7CB��EBGjIBF*?B��A彂B��B@�CB�]�@'^�B�'BB�>��VA�<�A�¼@̍GB�~B�kB��KB���A���AN�?Ǘ�A��wB� �@6��A�#  B�LFB��1B��UAz
DB�T@;�A�FwA�ą@�MB�DB̄FB��2A�)B��B$(/BK�FBcT>B���B�}BV�Aj�RB��fB�D�Ae�CBp�Bx5.B�a-B^�A6sUA&ˆBޘ�A�AH�A�m�@��wB�uB_��A��A��EA�4B̸�A�pB��B1ǒB(X�A(L�A�'B�tTB��@�<B'b�?�[B���@@„B9��BD�B�@\BI>�ΒB��B�B�y�A֡nA΢B�WkBCڄB?�6B�ԪA�ZB+�mB��B��A���AA��_A̭A���A�cyBX��@.�B
,B�N�A��+B;`@xȅB��SB*ΊB� ~B�CBn.�A�ȡA��Bk�B��UB kBŨB'|A���@��0B���AGl-B=�KB�#B��7B*��A��GB�NWB��t@u�SBj!2B���A;�uAj��B�R�AC`M?h7pB�~�BS�BO�/B��@@ׯ�A���BR�fBb„B��WBM�1B��B��#A5�A"U'BN��A��1BX˒?$tB�BGq�BiC�A�}�A�A��A���@
�#B�K7B{MIB��A�ZB�ЭA��A�A"-&A׍Bˍ
B{�~@
        !          31893: CB�;�B��LB���A���A�[B�J:A���A�dB��A*�B�B8B7B�uB�@QBVXBP�A��'B3�T@�@A�A%&�Be�B�*wB���@�vA1.B}�0Bd{B,'@��A��jBAT�A�|B��B-c�A�B[�aB��A��B�joB�A��BB�o�A�"A��B;t�?��BB ��A�dOBUV[A���A��A dB��SB�51B�+!BY��A�XB�wB���AJ�B���A6-@��@�2yBm��B��B�͏B�E�A�'B��B&4B���AG�_Bl�A���A�1TB}�B�BҬ~@O׼A�HBNmRB��A�>�AyxB���B�,�@�t�@��A+QBj�AʾeB�[A��@�z�A)W�B@3�B��A��,B�@)zYBŬ�A��BWxIA-�uB���BbLB���?�Z[B��jB�>0Bh�<BE�Br�KA��rBV�&Av�(A�mB�_�A�\BzٳA��oB��B/�B���A�xnB\U
        !          31894: BZh�A�ǪA"�%B^�4B+&�A[cfB*PB�ZBF�B��@�{�A��B4��@#(TB4�B�6B��A�AL~�@b�@�,'BBGA?F"B��A;VGB7�HBgD2A
        !          31895: �Bm6K?Y��B�(�Bf�B���A��A7��AX��@��@'�A\#UB�JB��(BF1APŏB���B��DA�#dB[��A���B4�#B�0�ArUB�Ai"+B�TfBU��Aql0B�N�A�"BHb�A���='NWB�QB��?��NA���ABB��sB���A\F�AK^�B��AjaB��IB��B_wB:vB�@B�!wBp�B�
        !          31896: :A�B�Q,B_/B��B�|{B�]�AJ�'BE�oA��A�'�B�VHB�bA�eB��?�2�A��A&    @�15B��lA1A�dB&0�B�6�>/{/A4'�@xA�Bz�*B"�B/\BP�B��JA��cBq�A�C�@�{B'X�Ap�8B�4�A�B��+A�?��B@��A�BȲ?B"4�A�AƹdA��A
        !          31897: y�A�QBm��Ar�iBn�WB�SBM��@XZmBU�aB���Awi�A��B�Q�AS>�Aa‘B�Bb��A��B��AIg�B��BWt�@�Z�AN��Bn�B�[B��oBs�5Bbx�Aq5B.��A��-B��4B�oB�e�B�$A�d<B0
        !          31898: BW�B��ZBHׅBoW�AV    �@��5B'wBi�A��TAEB�qoBM7~B,pFAGPAډ_BS wBG΅B�r�A��B�'B�g�B�B�B�4@��:BK�B6I]B�J�@�QqBը�A&��A��NB�        A�BOaB��BB�$8B�B)B7��A��kBc7B�'AtFbB��uA3�@�ϋB��B4��BzA�A��rAwmBAjQ@/3�A��6B/�]BwbFB�r�Bm��B��\BIǢA�'Y@��JB�l�?��_B]�B^]�?,B���B���Aj��Ah�Q>d%Bx��A=�vB6\EA�\oBuOA�ʀB��hB6�B2k&B��B)PB�\�BOy8B���A74Ac9~A
        !          31899: u;B�ܿA��]B�A��B�e.B��Au��A_dB7��B1�uAc%$AKE�Ac<�B       �Ao�/B���A�[JB�)�@�T�A���A'@rBu��B�&�B��JB�y�B^�A�uB*�Bp�9A�nBimwB�dlB��hBTuQB�i�B�v@>�A[JKB  bB2    YAF+{A�BB�;�A�KnB��A�hB�`BB��@�]�A���A�B�>�BM"fBo�?ՃiA�PjB��eB�[Bw��@�ÃB��B�7BA��mA�d�@^�B�%�@�ĀBD�A
        !          31900: T�B��+Bd�nB�y�A�HOBz�@�oApB�w4B^�xA�eAlZ�B��A�95B�cB6|7B
        !          31901: -�A;
B)�^B~IDB+�A�B42A���A��B�?�*�Aș�B��%B�6�B��B�b�@N5�A���Bi�~B�vPB�tA��B�0�Akp6Bx��AC&PB֓.B,G�B�4)B�rB�"A{&rBJ�A��{B�]�A!�B��BzoKB�ܑB���A��A���@ljOB���@���A^��A��@�(�A[($A(Bf{Bu�
        !          31902: B(�wB�M�An�PB�s�@��A�d�@P@�)B���A�a�B]��Aa1�A%��Bjb�A�O�A�>%B��B��@�=Q@ZaB)��B��EAa��B�!wA���Blq/A��tB"ņA-�8B�nB��@�n�@�AyB        A�+B��@1ōB�C�AT{B�@uAK�&A(AB���Ax3�@^`B���A�8�A���A_><B��A���Ar�A>�^A/�B\oxA
GA��A��B��QA��A��B��$B�[gB
P�A��A[h�A���@|M�?_�B�}tB���@�/B���B�V�A��i@���B���A��A�DSAM#jB�:A���?֠�BCPBO�YB���?���?b=�B���A�WB��@ޠ�AG<�?(h�B�':B�k�A��B�+�A?(�A�NAPo\A#�A�k2@��A,j}B���@�{�@���A�evB���?���BCfBiV+B�s@i|WB4{[B��B�ʒBp"�AaȽA1�QBS:NAr/wB��B�H�B|2KA��!B��iA��?"�kB8*�>Ђ�A?<�A��'A�cB���B% �@
        !          31903: RB��A���A �&@�G@@��B/�b@2�A��B��B���?��B�.(B9�B�k�A�/�?1�AAA�]B��0B.�1BL�pBF�eA��,B)"jB�4!AȁB�G"B�RB)fPB�   B}�B@�B�ވAHE�B.��A��BO�@BjLB�e�B3ݺAgW�@��B��lB��tAqx}B��^B��wB$
        Be�TBY��A��dB�}#A��B�~�Aoց@ÄwB��@2�BR�ZB���@�)�Aw�A9p]A� B�B�guB�O�B}�fB{ї@��BNE�A[[?ACŐB5�&B~/B<-�A.�A7n4?�_"Bո3B\\B)�AZ�uA��1@Q��A�K0B.ZBWEB�yBH�5B@L�A�{A���AjU�A�ɾA��_B��@�JA+�uBT@�@w�[BM�qB"�JA��r@h?Bj3�B��CB�&C@�NB&�B�=A?��@���A���@j�@B2�B��eA߇�Bl��B�IB��vA5��B�5�Ah�^B�BS,=Be;aA���B-P�B��BAWځB
        !          31904: ��A��@s$oB�#�B�q�B�BGDB�\RA��@B+��B�yAJaB��B�A&BG�B6΂A��sB��:A.�+B���@*wcBS�bA�T,Bs��A���AH BB���A�"+B�@�zlB"�tB��oB
        !          31905: "A3$B��cA�eBu�tB�A_xJBf�lBÁB��?@�דB
\B6�B��1A���A�i�AVo\BR,B�҆BR�B?      A�}B'�B�ӃAA�o�A�÷Av�NA!� B�B�?�2B��{BR'�@��JB���BG�&B��TB���A���AB�FA�vA�P#AyK�BY�&@C�b>٩mB��+@��>CkB|CBK�mB��Bm>�A�*�A�>Bp6�BjW�A[�A�wB��Bp�hA&��B�x�B��B���B��@O� AV��B�5B�kB��B�|B��:A-�B���A�f�B(.GA���B6��B��,B+��A�2B���B=�uB��B�^A�0aBB�B�A�T�@cN_@�AꛓB�ΓB3��@#�{B��SB��B���A��A)�B�]DA(��A��-@�>A�j�@?YG@�h@8�sB��dA�v%B��A��>�AAD3iB}[B=��A��A]:BE�oBx�@Bs�hA��B�F�@���B�7�?��BA B��+B�8PB^\B��$B�`�@�6IB�vB@
        !          31906: A/Y�A1��AehgB�whBE�hA��3A1�#@zmB��nB�n�A���@Ȃ�BY�9B1�B`Z�A�NBl�B��A#�%B�k�A�L�A��>B~�B�SA��YB/�B]�;A�ΆB|\B�B��LB�B���B8�IB�w�@�_�@�9B ��?�lHB�V�B�]{B�Z?��LBаyB��AP��@Lk�A���B\�Bt�{A���B�҃B�xAM})A�(`A��B)�B���B���?��AVv�A4�A�
        !          31907: �A)3A@@>B�-B)a-A�B��B�ËBN�B*��A$džB��hBd�Bl�BQ�%B/�*B�A�A��Amo�AK��A@*�A�3tB��qBs�\A���A�&B�ޱ>|Z:B���A/�gB�Z�A�;�B�"2A4�NBҲ�?":�B��@y�cB�IA�iPAS��A�W}Bp�A�t
        !          31908: B@��A��CA-��@˳.Bͩ?B�GgBozB�mEBff@
        !          31909: ZB�
        !          31910: xB�d(B
        !          31911: �~@Q�xA�<@@{oB�"�B
u�A�]�B0��B�/yA�eB:0A��2A<A�#BqA"$6?19�Bڔ�?��!A���B؇�B�9�B��;B�>B֦�BA"B��B�FnB�-B�/CBZ\B��nB�X�A�J�B��8B���A���Az��BXp�B>D@���A�4jBBɽA�B�CB��B�[A��QB�6B���A���@Q6MB���AJM3B���?Ɂ\B*6B��@8�/AʆB�BPB���@��A4�|@ޑ�B���A��=B6x�A�ow?�9FBlvBH@�A        �hB!O�BH�_A!(B[:TB�XB�U�B�_B�_qB�#B�l�?�c�A��Bp��AUN5B9�B���AL�kBqPBY��AD 1B3�B�ҏBِB��@�    A��B��pBF�rA7"�?&I�Bw�|B�&�@֓�AS�RB�)Bi~B�:B߱�Ba��A���Byr@B��A狢A��NBhBm1B�AT�[BԀ�A�ܚA��A�v�B!tArj�A9��A$�A�ԁA�P@B7�@G~@�B���Az\�A���A`�(A�eq@�S@.�B�|TA�|�@��A"��A�n�@�ShB���B��*A�%WB�N�AΨ�A'�B�sB��zB��A�M%A
�~B��Bo�qB      �(A�]�Br�Ah�B1_A���A���B4�{B �#B��Aw��B�B(FB�4XB�WB
|oB_�[B��@��B��<B.уB4nBIwA��3@'        gAD�
B�m@�oA��Ai!�AZ��AWBB:�jA
        !          31912: ¡Ak��B��A��?A�G�=[��BK�A6ԈA�Y�B�By!;B�O�A�5�BT��A���A���A���AF�QB��A�z�BȀB�Z�A��A��FAԻ@B�=�B��lB�SB���BƑ�A7=A�pJAD�ARA��?"؄BKn�@b�)B;��A���A/�=B�.B!ĐA%G_B �B��B]��A�B��KAO}A���A^��B�;�B3�^BN�B��BB��A�[�B�"�AStWB#T�@�%B���@��B0��A���A�FB|�GA���A�A{B�ʉBa�fB���@�jB▇AG&�BN��A�&7Bڬ9B1��A��jBN��B�)�Ae�zB�sA�N^?��B�.B�6JB�s]B�gB~��A�25B��B�IA�$^An��@!RBux�B[�A���A��-A��BdfB��aB'V�B��cB_�#B$z�A�B�A]��@PbA4�BJ��A{�A���Bݵ�B���A�q�B���A>�OB�
        !          31913: B\B�;�A#�[BI��B��>A�B�Q[B|s�A�&�B��AI@]@�P�A�
TAށOBg��A��TAxn�B� �B���B4�A�
        !          31914: pB��NB��FB^EBu��Aq�QB�6zBo�2@�_�ARS~B��iB��TB��B5A�B!/B�\)B� Be�B���B(ڡA\I�A�,�@���Aq'Bs�`Bf;�A�FjAf^B��B��A�
        !          31915: �A�j�A�1dB)�pBh�Br7B6pB��\B��B�5�?F̎BrOB'��A�IB��
        !          31916: A��A�R�A�̣A�N7B
        !          31917: Bo4�A��A˄�B�h�B0�eB=�sB�4B�B-�iB,�)A*�NB+@)BqrdB�]B�B�مA��A�&RBY�MB���BZz7B��rBK�EAO{Bf��A�:&B�\(AIvIB��A�uBރABx�x@��]B@+B��B+LXBt�Aj�A�|A1�A&4�@ē�A���A�5�@���BKpB�uGB�!�?�A���@�!A\3�A�B>?CUBܕxB��@�BAz
BHmA��G@��A��>��VB0�/Ba��B%U�A��$B&q�A�qlBt
        !          31918: VB�5B��B�y@y��B���A1�&B�G�Av��Bk�B
�?B�'�Ay�IAY�dB�a�@\�A�^�Ap�uBS��A�A3AB��xB5��@-�lB�TDBx�P?�̒B�:A�zB�w�A�ՉBT�A;&<B�#
        !          31919: B0�}B�Bt'�AfBI�GAA@T��A�HB:�HB$�#BcB�MIB+HB��vBF1A�9UB�B���Bݺ�Au��A}q�? �B
�qBx��@vM�A<�(B�H�B���B��B���Be�>)��B��tB�)�A`�A�VBbFB2L�?��rBM�A�<�A��UB�R�A�b�A܀�BL�,BT�{B8�Az�B�&AHB{BH�An��B��`B��:BE6�BL�B��@+��A��B�wB�TyAa�>`�BvտA?B�1�B��A��B�+�A�c(B�mBA��An�BΒ�A�9@8B��(B��ɼ���A�U�@��AЏB ,ZA.�tB�2{A�NB_�HB�+B��aB9�A12�@��Ae�GB���B_�;BW��@wµAe��A���Ax.�AY�^B;^�A�vyBz.�Aò�BԹB@���Bo�nB��?��B�%�A7��A��Bdk�B�S1B=�VAe�A'U?��@�u�A�j=B8��A�g�A2jHA�&�AN�5BzwxB�l�A�hAB^z}B@�qA��*B-SBV4
B��A�C1BZ�A��]B��uA�     �@�KB�0�B��c@�M�?�pB��A�M�@Y��A�%~A.~�A׏PB�Q�B$@��rB      �A~�ZB��A@V6B_�A�_B���B�B��AS��A��xBv#pA�A��LBb�B��BC-B���A^�@��B!G�A��A���AY�@T�B��A�yB�9�BF��A\ŐB���B#FB��AR-1BV.�A�� B/t�AñB�j
B��GBR�B�a�A��SB*�<BoАA6qB�u�BoBC`B3v+AgTBåEB�/B�v�@1v?�AD�2B��vBM�\B��@-�@B�-�Ab��A0B�
        !          31920: �@A7�B���Ab�A�A�A��A�Aj~BE�B%*}B*@��@���B�/Bo�@</B��BxyB�>YB<f�AT        eB�A&BMϗA��=Bx�6BfoyB�CB�fB�uB��NB�'�A��BeɒBn:MB�4_Be��ACB/�B�@�A5�IA�Al/Bm�B��IA��'@煪AâA�v�A�ՊB��TA�� B��A=.�@���B�s�A AP��B��iB�bLBն�Au�7B��A4�
B�[�A'�^A��nB0��An��A1�B�%�A���A�H�@zmB8�"B&��A��B24'BdYA�rB��Az: B��A/A        B�sPB��BW��A2+'B�/bAg�+B�AHBkB�tNA�)@���@�#B�2yA� �@�iB-ͮA/D<@�?sB?ϽA��B�6A�`@_��A�BE�TA�B�}�A�|%B�UANA�A���An
B�0CBӫ�A�ߗArm�AЫ�A8EB$��ARx5A�b�BP\PB��.A��B�P�AzQ�AM9B�B�pSBLBm;/B�&BEWBn�B���B/�vB�M�A��cA�XB�(�AoU
A���@�X@�B9�%B�i�@ �A�dB,�1B��nB��Bs��@�
        !          31921: Blm;B�vB�l_B��UAdBI��A��A(�B'�4B��,Bj�@�)�A��XB��@�qXB�8A�Z�@+��B�.=A
�;?O�
B���A�KBT��A~�B��B/�Afs�B�+A��A)�@|�tB
2]B�n<B�Wc@��fB�__B�0Bs[�?��lB���Bf�pB�BI}aBAB��#BD�tB�TBM��BOe6B��)B��qB�ͷA��$B��0A��B�#d@�֛@��:A�lB��zB�3B��A�&]B|�B��BόeB�hBB�!BZdA��2Au��B�&B�+tB�B�A�p'A�l�A�بAs0B��BY�AƝMBYaBdcB9�A��Bo@̶�A��MB0�0B%��A4��AO��A���B>�B���A�M0A��EBSj�B���ABu��@�CB%�?B:gA�]MA��eBfq^A\��A��@-A��A�~B9"a@SQB��Bl�@A1��BA��A�ÇB�قBK��B�sB��x@�HB�eTB`�lB@t�>�A��:B>��LB���A106A˅�A��B�=A!2B���@�S�?v�A��#B���A-�qB��A�V@B&mwB�AL�gBҶ�A��AX�B��B�/wBH�B�9!B$�B�Ԩ@ӁB���A��
        !          31922: A���@��'BsYBQOB��A�`SBA�Ak�B�CAŽ�A�2A_|�A�h�B`15BĩwB��cB8!�A)��A!KB3�B�
@�uA�AB0�B2ǻA�B�W�B���@��WB�f�A�L�A�K�A��"BE��B��BBydBKOBZjB��B��uB^4B&�
        !          31923: B�_B��bB�>B��2BYAċB�<�B7��@R�OBC/}BSgB�C3Ab��A��bB!�B��gB�reA�BGy�A�AmB���B��lB�ՍBx��B�]B�ʉBd�Aa�~B��;A�oQB{RFB��mB��A�^.B��5B[%�B�q�@��B�k�@=�mBDu�?c��A��A
        !          31924: �B�I�A�ZB!�DB�R-BP�Bb>�AYfB�B�(�B\fGB��CA
{B��B�B�BW��@���A*��A��@,�4B�0B1��A|^�B!B�`/B΂�A��DB��>B�rUB|�B�԰A:��A��QAXo�B]
        !          31925: �At�A�B��@5h�B�B��+A�x=B��jA�o8B�heB��A�l�@�"B5�A
        !          31926: XBsU0BO�B�B��6B��AB�=�BL6�Ao�AB�?1B;�mA��Bp�=BAA�x�A���@�L�B��fB�EBx�D@M�`B^X�B��9B��QBY��A�BL��B�6�A�,iB{�EB,H�A��B��qA��Bs-2B��bBq/�A�        �A,��@�^�AD(B�2�Ai�A|��?۽�A]��A��B[{B�5B�o"B9*�AE�B�h�AMkA}�B�ztB��B!�B)�TA@��AR�{B�hyB�#=B���AS{�@Dp+B�BZ*&B�#A�f�B��%B�EBV��AQ B��B��^Br�3B�vB�s�As��A�S@�e$B��BźZB�$B�3�A_}LB$h�A&�B�(B�6&B|_B�"%B�&B�&BO�RB~pB�B��&A�V�A9�ABB8By)BS�Bn��B�Bm*�BtM�A�{o@@)�@���A�WB_N�BWBEA�m=B��0B׿TB�kB��8Bdu�B�'B֝4B�K�A��B�aB�ɌB�B��CB(�,B�3B��&B�kRB_��A:��B.�A\nBR�Bk�@2�VBl��A�r�AoюB�A�A"y�B<&B���A�kAB��AK�oAE'#@��A1�B��RB���A=�B�e@BQBBO �A��-Bǿ�AU�3BA�xB�7�A�d�A���A��2Bb��B�FRBCB^B�i�A�yB��?B���?��}B���@�&DBC�=B2�mB���AS�PB��B�e Bˮ�B5�CB�|0B��A5�AӰoBb�A�bGBt�tB9=B�Zm@���A?#I@��B�A��sB�8jA}�A�8<A��A�{�Ah��A':ZB��A�eB��B�IB�t�A��tA&�>B��BP�RB�o5B��A�'A_3)B�fqB/�
        !          31927: B�;�@���A���B�EB�@A��9B��B��;>��B^��B*�B
@�A��JB���B#0aB��A_�AS��B�vBA�Bz,B�TB2�7B��AC&,BB;e�B��B���A.VB��&B�j?�RB_�,B��B��4A$��@�sBL)B�5Bj�B�5�A�+B���A0yB��B`&�A���Aޣ@�Y)Bj�EB|��A��B�?�A�LLB��AY��A�H�A�^�Bw�3Bs4B �nB>͐B>yB�lYB�q�?w�A�7A+B㈃BAv�A���A�c�B'�'Bt�6AKB�yB]ARBE�hB�uB܈�A�=�A�D(B<<KB��Bx9�A�x;B@�+B��2B�BD�<BXVQB���AEWB��B��B�WB���A�70B��?��1Bu��B�+@�,\B bB&QB&Be�8B�T�?@B,'zB�3B�z�B��@��BBEcBA]Bh�BvӺ@Џ�At#B�
        !          31928: A�1]Bx=�A"�yBAFwB�V7B�5�A�BX@B���B���Av��A�d�Aö+B��@/PB���ABW�?K��>p�Bx�By�BE3B�
        !          31929: B̴�Av43BGT�B.[AB��B��CB��[BS�8B)GBA6Bk7A�r$B�яB^7�@��A!�:B|֯@~�)B�0ByiMA�&�A6�@2�A{bBpj-B��A���@n��@�\�A(�aAJ)@i��A=B}�B��A�FBBL��B_OsA��kB�
        !          31930: @#��A��oB��A��+B     &�A��:A0AB/a(B�1�A�P�Au�mB��HBBnB��}B+'A��@o`�@��qB���B3�A �8BB8B!��A�:�B�F�A^�NB���AܮB��kBU�@v=%B�6�A�YAt�A��l@ܻXB�FB���A+a�Aܹ�@��?X�^B<�?���A��OB-�AU�*B3��A���@��Ab��A���B��8B]�?��LB��wAU?�@�3   A"E�B=�ABA�?f5B�ynB畉B,�|@7k�AC"#B"_A�
B�bB��,A.��A���Ak��A�l~B,N!B��     BN�:B�GBsp_B{k}B�K�AۂFB˦A�Ɏ?X�$B���B46B��(A��CB��B�:IB$�ZA�m1B�rB��3B�w�B�@>�[B�[�A��AG�BOeBIfB�SS@H
B�dB��YBr+�A�_B�c4B�:�Awq}B
        !          31931: R`A��iBs�IBBwY#Bp�_B~�A��=B>�@B�q�A�"�B�/�@j�A�\<A��B-(KB܌nA��Bl��A�Bp]�BSB9�B�T!B$��B
��A7��Bw�B��#B��CB.Bp'�@zBg��@��IB�FfB�v?B��BUVmB��AG�B���A<w]BnW�A�f�B�0A�}IB��A�5BgB�r�B�syA� �A)�>B�@#�A���A�+B�:B��BY�YA&��A%,B���A+wZB�=iB�GLA{
�BLO"By�BA�A)�@Έ"B�mXB�/�A�[�A�A��A\��B�(�A�&�A���A��/B~,6B�kA���Am�$A\�yB
p�B��iB[�fB�Z+B-��B�?QA _BTB�dRB^&BK0B�LB���A'D]B�NB�G/BӘBc$�A-�eB*�B���AllAQb�ApIBj�NBf��AY�FA��KAz�A�|�Ao}HA���Bx�B+�!B�0BV=B5?A�GB0��@�:�@���B�P�A�,@+o�A�&Ba�[B�/�A&[�A9��A�0�B�y�@4D
B1�JBM�`B���@��A5B~BB!�B$��A���A`j�B7dB);�Ao�FBz�lB��B��RB��BBo"Bɘ�A)�@��IBS�5Bu]B�WB�RBq�&B��`@$JBb�/B�tB_�@='�B�wHBRfBYsBR.JAy�B��a@�s\B��AɩB��KB?�bB{(<B8�B�&*B3�<B�hRB�T8B���A1��@�B�=�A8�B��@Bgi�A;�VB�ZVB8i�B��UA]�B[��A̼OBa3B���AK�kB        ��A��B2�@iɤ@9�?B��   B�7>A�~B��B��?Bv�
        !          31932: B��IBxkB� �A?HB��P@Yw
        !          31933: Bv�A���A�?BI��A�8�A'.?���A�
B�9�B��IBq݋B��cB�"OB��tBT�+Bg>BU�AYfBJ�B~��BqhB��TA*j�@��LBR��Bۉ�A�*�B�0
        !          31934: B�<4B��;B��A�(B�M\B�Z�B��B�Ͻ@��kB�?�B�j�@��dB<߉B��B�bZBG�Ac�B��A�^FB3j7A�A�At�,A�ZAa"        BO�CB�"�B�zBS3PB��Bn�B���Ap��@>B�?�A�)�Bg��A�;B��A�O3B���A��B��>B,�~BR�)A�[B�BaB�cB�*B�;B�y@K�Bx%Ba��A��9A���A{B�+RBb�NA�$�A�#B�BC$B��eB54LB�'�A��A��EB�%BK�B �A"t�A�B���A"��Az�B�$�B�!�A�B�B�A9BbA�B�DBm�BČDBX�
        !          31935: B(�A�X�AL�Bw\mB�4�A�47B�v�B��A!B�VB��AJ9zB�ՍB�e6Bl��Af�NB��@J�WBv��B��JB?;Bm��B.�B���BY�MB��}A��*B��}B�2B��eBv��
        !          31936: �&�
        !          31937: �@�@A6�A6�A6��@<��CA� B���A���A��FB��A�\�A�`�B��@�j�?��(B;R�@��A���@,�xAXL�@A��BJ�nB���B��A�UwB�֙?{L8BX[UB�}?B��AnW�B\1@B���B��OB���@�UBtjBi[UB��@BYk;Bi:BB&B��Br#fBk̈́B�R�Bk��@�x.B#�:By��@O�eB�=%BA�,�AS�NB��A�|�@��AH3�@��rA�B�-B!�KB�Q�Aq\Bi'�A?�MB��MB�s
        !          31938: Bw��B���@�Z?Ab�B�×Ax�3B�c�@M�A�mB+��B�#)B��AT|�B��A��Am�,@��B BcB|=BP�A&�B~��A>f�B�IjB�ފB�"vB~�GB�]gB'ʉB���A�0�AG1�A#��B��A��B��jB��AI&BB�xB�"BB?��BT-_B���@���B�2Ak�A�D@�-Bf:3B�?�hB�+�A�ʱA1wQB[��B�2,Bp�@�<B&P�ABL�4B��BZ��A��`B��@��"BTѧAu~rB(BL`>@�B98�?�Z�B��zA#�A�/B�%BZ�sA��4@�!�B)K�B�k�B�X�AE�!A��3BNQkB�0+A���A�B�`B��HB�&/Ak/wB/ �A�&�?���A�m�@KqbB��A^�VB�D�?B8&%B��}B�R�@~��B��!B�ޒB���B�גB��%B|``B�+B���@�BBJmA�=B�(D@oB��\A  ��@    qB�F�B� �@\�B'SiBa��@Z1B��B�vXB��bB��BUBB�oB��Ai�2B�5�@<x�@}�&B�B�
        !          31939: B�B��XB�m�A���AྸA7�,B�L>|,�B���B'�xB�pmB�Ÿ@�B(B�lB�vwB�A[ҒB@XYB��^BB�B8�A]V?B��B`DBJ�6B�PKB�%�B�� B��A~�A�A��gB��A��B%X>B�mJB�2@A���A�2B���A��+A7PB��?,Z�B�,�A&8�B�'8BԠ_B�jYB.��AL��@0�^B)�?��Ai�4B��B�QB��B�$�A8�B��B�ZB������.B���A��MB�LB�,>B�\�@;ˌB�w�B��,A.��A��'@V.NBib�A���A7�B#�@B��Bײ�B�J]B���A�T#B��BW��@��7BZwB��0A�3"A��A�6�A���A�$�A(UB���A0�B�(B�-@B$#B2M�@L�A���B �'BLB*[A�v6B��+B��Av�A��@���A���A1�A\�A��B\+�B���B���A�5pBA�8A�]5B�P�B�;Aq�B��B^r!B�L)B9�B0jpBsIB�MAzn�A5Y8B��BljWB���B��LB�qdB��rB��=B'sAi#�A�nBg�AHc�@��OB���Av�kB�c       BǪ�Ax�YB�PB=�?ܾRB��5B���BDC�A,BA
        !          31940: ��@I�rAe�{B�H]AE3B>�wB`5aAw�?@�Y,B+�B���AҠ"B�o;@�j@=�xB�)B��CA�C0BW�B�J�B�T�A�ppB�OBzS�B�tB"�B_�`A���>G�P@��e?80NBzB�PA�FNB��9Bz�JB��/B��RB()zA{d&AT�@B�B���A�CB�P�BY��@+<qA��KBC��A��B�|GB@�A�5 BW�VA�G3BӻxBf�<B��3Ai��B��3B��NB�'B�A�YIB.wCB���?�EBxv2BʯOA��B�OB`B�_�@>�#@}�Bv�A�+B�'�A��A�@&d=B!�4A���AM��B��>BH�A��A��0B�Y�A<�B�jBc]B���A��B��A�BW�-B�^|B�=�?�MA]��@'W�B
r�@�AB6�B �B$�Bo��B�0B܈A�BB^Y�A�߻A�%B| 5B��B-�bBЌ}Br�B�@x�AK&B�Bt��A�
BYYB�&  @�%.A�&�A��@BB�@i��B>5jB
��B�߈B�B��*B_��>J,EB�RB$�B�?�A�v�A|�XBS�vB���BU
�@Zpw@G�@?�ZA�;B��B*:BO�:A�F�A2oWB8�A�?A1~�B���A�86Bܸ�@���@�t�A�� Bڮ�A�ؽ?��pA���@�0@Bt�[B�K8A���?��
B�6B�
        !          31941: fB͐[B&BA��DBT�&B�L�A���Ay:B�\TA���B���B��@��BB
�]B9��BHG�A���A��[BByL�B�V�A�@�A�*A�JB{�Aaw�A���A��B�B��~BgB�V
Ba$�?���B�jB�@�A^|&B�J�A^��A�P&B�B[�B��B�kB�i�A{�,B
��A�&�B6�A��B��B�/ B���@���Awr�AA��Aoy�Bhy?�˙A�+@��3B�A�AB�A��jB��"B-��A�8=B�H�A�<@MvBBa�B�
        !          31942: B��{B�wBT��BaUB�1BJăBi�,AMp�B��oB�E�A���B��_AG��A\y�AB��}A��@C"
B�;mA���B��&@.�=?}��@r9|@GpB*B�@�&.AV%7B�8
        !          31943: BC�iB1�iA�LA�B|�DB���?
        !          31944: GA@ ~B�]�A��A�U[B==A+0�?
        !          31945: �9B    9B�ͿA(^�A,�iA��|B���BkB��B]�tB�́B�;tB�\B�&�AQ5A7�hA���A 68B�w�B�aBT~A��B�W�An��Aj
8A�a�A�`^B�2BY]�@La�A�ՁA��xB��A�4�A��B���A�B��eB��[B���B��1AP��@��Bb'�B1��?�|�B��~B*<Bx�vB��BBÒ&BnAAcTpB#�Bv�KB�̅A�uB�4BG}PA�7Bo�B�BJA�A�A��B3�B��rA�"�AXA���A�2HB�'�BE1�A˄;A�݆B,�A攄AL�B��B��BJ�@6!B�x�Aa%@�:B'ǏB��GA��B�(�B�HnB2B�A��8B�\�A�J���B-�5B~6�B�HBy�wB�'�@���A��@�$�A��   B��$A�ڊB�oLBb6B,��A1�QB�{PA�Z�AzCBȋB٦lA~B=��Aw=B��A��\A-AxhrB��kB��A��VA��A��B�9~AX��Ayo�A/��AV�AخvB0-uB��BM�xB��VA_�P?�%A
��A�"BB�bA�qB0S�A�m0B��.B��B=�]Bi�BsdB�ygB�BB?�B���AvTVB��AP�uAXB���A�*B��A�>B��YB���B���A��AF��A(�QA�2B��B&eB���Bn�?�a+A�F~B���A�0B�  �@�Ӈ?��A�ԓB��|B��fB5%.B�p4B�d�AS�aB�J-B      �KB�gWBmA7fuB �
A4�B�6RB�pYBߖwB{��B2�@B��A\J�B:ěA��BB��AHC�A�A�~B0�=BC��Ao��A��0AM1�Ae�Bk��B��BQ�bB�?�Bz�BM4B�%GB2O;BP_�B��_BW�vB��B�
        !          31946: �A?-5A�n.B�1GBLR�Bh��B^�B��OB�A��LB3hEBC��A��BE��Aɭ�B�t�AȔ-BLZkB�4*BX       Bj8�@��RA��:?�WA��(@��ZB�)QBʈ�A�z�@��&B��0B#S�B�LLB   DB�֒B{jB���A:�nAڔ�B��@� �BRPrBH�BU�7B��A��gB[��A��Aih�A�ʂA�i�B��B��A���@��A�jWB�)qB��B�nB�hAB���A��A��yB= OB�nA�I�A��A�EB���A֏9B �B�;PBD��@8+AϑA�r7B�A�qwB�(�B��.B2ݿ@��TB.B�jB$�
B�xYB�vB'�BBNBC)AE&U@�;TA�Bgd@�كBa�EB�UB:�B��B��B?A�@�Ad�|@�S�A���?�
B$�3B/rhB�XA��{B�CaB�UUAQ��A���A@&0A&��A�[}B���AX�A*V�Ag~�A��EBa3�A�uB��BppA��ATB��B�m�A�T.A��"BXI_B��fA��EB�ZNB���AA�VB��TB���@�)&B���B�W{BW{B�rB�F�A!�0BA��@���B���@!�"B�ЌB��6B�{@a��A��A�;lA���A�bB�vA�\�A�=�B<]pBi�cB�~aB1�rB{�AZ�MA��XB �B�+lB�>6@m�2B-�uA@�B�}5BKқA�~A�W0BT:�AƤyBF�A�Bj�BK��A}(�@a�kBE*;A6�@�( B��A�KB���A�%�B��B��BU��BA�A���A�J@B3&B��bBW<A�E]Bx5B�ϳA�
        !          31947: A&�BB���@|�"@���A
��@,4{@;~B�e|Bӈ?A���?r�BA�p�A�ڹ@�;�@��B��+B��_Bb�B&�A�A�|!B�lBVI�@���@O2�@3BBc��A�e�B��BR�AP�lB
        !          31948: ��B�)�B+XB��0B�2WA�ŊBZ{@GaB�=�B��HA2B�86B�kB�JB
�B��B̟iBw�A���BP*�@�hB��hB���B��A]yBrz�B�MRB�� B�<�Ak4cA$��@ZێB;8?Al�QAg��B�r�BFnGB+�uB��qB��Aa�TB���A��"B�c�?<��Bb�"Ao�B��A�
        !          31949: �A�vLA�0�A�2;BߊB�`�BOy/?I�A$B�F�Ap*XB}�OBV!%Bk��B��@ �XBE�A�]kA,��A
        !          31950:  #A��+B7B�%tB�n3B��DB"/�Aa�]A��B�@��Az9B�*A/�B�Mu@ǀA�1B��
        !          31951: B�L�A'y�B��A�B��rB,�@-��Aک�AZMvB�!B�B~Bf�A矄A�#B��;B[�GB��d@�+qB@�=Bo
FB/6MB�)zB�rB��uBO�yB�k@\"A��Ak�BTGB42B�vDB4B1��A�A<��A��pB�;
B��wB�8:B�sLA1B�2�A�?BE�A<��AOBS�BF�A�@�A�B@aYwBB�Bu�TB*R�B75zBg:KBd��Aڝ<BP�B�NB|��A�
        !          31952: �A��n@TB{�B���B�lB�vhA~�A�w�@5��A�UbB��B��A���Ah�B�{Bj�NB8QB�bA�tBE�A�̲A��B�iB$4�A�;�@CSOB�ŔAl�Bo
        !          31953: 4BˡB��BY{B~�B���@�<HBd]}B�~B逈ByFBT�B�x2B�J)@N�,B��?T?AzuBQ9]@�VB�4AHՊB�QBOʈA�&`B��KB�QB'�%B]&B�ZB{C�A6yB=�\B.�dBK<�Bnp�B��A�&B!y�B�IbB�fBRݎB'RDB��%>$��A��B��KBuU�B@�gfB���A�#B�nB2�gB�^�B��AB�I,@�B�}\AoCYBb�KAv�@�7A�\LBahB�H�B���A#&B�WBg��A�ÁB&,WB�ZBhB�@A��   A*�B�M^B=�hB�%)Bu�B�YB�(ApA�<�BRkNB/�<B'�NBaW=?��A���A蓼@S\�Bp�B       ��AD�(BH;�AL��A�B<�1B���A��A�W�@V��A�l�B�]�B�yBٞ�@�gtBoj$B�;BAu�?z�A�#aB vPB_"�B�J@,�qB^�BpɲA��A��/B�/�BL�%B8�BM]XB4.$B��>B�AA��A�@2�A�8�ADRJAvB�B���B�/BF��@
        !          31954: ��@�@��hB�P$B��Br&(A�B��1B�I�A��B�(Bb"wB"MA��%Bmx@AF�<B���B9��A��@�5%B�oB�.0B�"�B��B-}�A�L�B7#B+B[9�Br
        !          31955: �Bc8�B�F�A�    ]B��A�UaB��mB;NjB�J.B
        !          31956: �CB�ՇBL�8@n�{B�*LB��B�=#A0j�@�uB���B��0BRB1&KBt5�B6�B��{@<@�@M�<B�ҟ@H/B�?�AE�+BzrmBj��A�'B�:�B#"B&�*Bnk�A��
A
        !          31957: =�A���Ab�@���A�P�AC�B�۴A�-���{B�\�B��UB���A
        !          31958: ƓB�I�A~�@�׾A&U�@�ԇAX[.A��A��B�'aB�]A�rGBjh�B&d�Ae�lB�iB/�c@%�
B]�`B3�A�,?��oAn�wBj�hB��QB�[B8�B;�B=��@�6�Ah�A��B�.bB��@<��A�$�B�S�@�߂B��BŢPBl�|B1��A�*�A���@��pB�cA�_�B��Bnx�A�|�AX&�A<�VA��@B|ПA$j=Bm��@�2GA�PA�AmB��LA؞VBZkVBfpKA�[aB��&B�B��A�gBT^�A�>�A-�Aa�B7nB��B�?A��\B*�@BT B@��BlO�A<'B{3B٠}B�FVB�YxB��BB�#vB���A�AwBآKAu�BO�qB�Z�AX�A��A��B�wB�ژ@�#B��,B��A�ٛAr�iB5�<BK�HA��@0SuBQ1B��[Bf��@�
)B�CB�UA�%KA��UB�B�Az�A�~pB���A�kB¨TB<OIAN�Bp�{B��CAe�qB�&�A�{VA��pB    �Be�Ab�gB��XA�l|A�xBHn�@@V�AG�A긹AƲ|B:��@��-B�t�@~1CBKҁB��B�    A��AE�B���@f�A��QBbqAۜCB�
B'�$B�OAAcyB��ZBz+�Aj�A�BeǂA��.B5��@|��A��oB5�A} BFhAB53B�<�B���B�w�A��BU�BX��A|؃@�JYB��BnpOBz[�@�bB'Y3B��"@�:[A���A|��A'�A��DBa�FB�YaB��B�lA  ��Ay�eBd�$B//:B��8A��>��IBa`�AL{A MQA�CB���B�ˆA1�{B���B^��AFCAB2�dBD�#B�=B�~�A��\B�,VB     ��A�B�RB cA͜�@L�<B�dB�9WBSjB�vCB�P�A��@BYhBS��@i-B���B>�^B��$B*�A���A�U"B�rB�F�B�
        !          31959: �@9�A�A�@AѶ2B�2B�AB�qYAj��A�@PD;B �AZ)?[�B��A�G<@��Be��@�l@)�uB��iB�/BGY<B�PDB;R�A6��A�MF@�#A��!B��^B�D�Aݞ1B3"cA�PB&}�A�}B�pB�A�b�B
        !          31960: jd@�A�A��@
�=>�[�Bf�B�@B�;cB��>A-�9B6V�A��SA$�@aE�@��B�<B@�B�\B�
B�i�AL�|Bh�RBUP1AIA���A���B���A��'B&�kAm�@o�A~k�A        c*B�(�A@��A/�kB�r�A�LB�`=Bl20B�T=B�?B�n�B���@y�EB�ZlA��{A���B��`B�YTB{xoB�@JB4ĆA̓BG�BM�RB�a�BQ��?�B�ЌAd�!B�].B�
B�b�BI>�B��8BX�Aw�A�0B+oA΃pB�R�BVeu@T�A�?Bs�/B40B�ÒB�N_B�'B.]wAxHOB��\B��&B�S?:��A���A�}�B�A�XcB(�B�IuB۠\B��BD�^B 0
B�G2B�>BtI'B�A�JB1�A�h B���A�jrB���A?�-@�}�B�K>B[�\B]1A�A��B���B�z&B�A�
vB�8�B�;�A�B�A͌�@s?;B��AC�   Bt�hB�0�@��wB%QA��>���A��:An�\A'��B���A\�B���A~WmA��{B�%$A(s9B&��@��B�KB���AҞA>�vB��|A��m@Z�bB�[AL�BJ��B�YB�W=Agd�A��@BN�
Bgm5AG      �@^�A�ňB�@�?�EAf�B[�B�w�A��\B�w�B�B]�>@(�B�wAj�B�e�A��B""DA�ُB��A`��B��B�y�A�OB*�BhFUA4�BR��@�%MB�96B�6B`�A�:XB8�A��LBU��A�AA:��A��'BP"�?�S�B��A��;B��A��Av7�BA.�B�B��B��B'>B+�B�k�A@MB�cB&vB� 2B�}?B?�B{�.A�v�B.��Bw<BF��A���A�K�@ )iB�)KBι�@M�9B�[�?���Bl��A?J�Bp�uA�۽A6G,Bn��A"�B��A��B���@��A~�A9%KA��B�u�A tBm�rB�+B��[B_@ B�w�A�h�A�-B�'�BOoEB�SB�&XB��BY!BcSfA:�]B~q�@Y��AIb�A�aA9�tB�OB��ABH��Ah�BGQ:A� �A�c�A��&B�X�B�jBrYB��BpAǔBL�A�m@τB-O�A�}�A�W�B�;�BR0AkDnBNG�B��P@�S�@DZ
        !          31961: BĞ�B^��A-�\Br�_Bө�AG`�B��SBE��A+7B>� B�_A���@��B�dCBmWEB'ּ@<NB5�}A1/,A�#�B�ߓB�q�AwY$B��cB��,B�=B���A��gA3.~B��B�UB\�MBt��BJ��A��UB��A���B��B؍BM?BP<�@~y&B�VbBy��Au@B��Ah�>@چ        B��A)Z�A��^B�*�A���A�`BY_B�;oBUA֫B�r\B��A�8zB�A�B�\B�$�A���A�"uB��mBs2�@ɚvB���Ae��@Vj)B�&B!�B�OBV��A捭@pz"B]�7BrOG@v��A���A��
        !          31962: B��B��!?��A�"�A��AdzeA߅�A'x�A{f�@\)LA�B�ɏB�HBώL@�#B8oBjAf�wB<B��B�A/a�A��A��BN�B��=B5AB��tA�@YlB�8B��A�
�AM�A�`�A[�Bx�dBD�A�8WB"z_B�U�B�}A�}A�4�?0�qB,��A���A�_@\"�AP��@      �jBm^�Bo�zB%e�B�xB�~GBu�IB���@�\B��]A�&/BUN�A
�xB�=�A}�sB�zA(QB4s�A�-nA��A�)SB�cA �       ?�0B�D�@Ag�AX$�ATA�A��sBF��A��zB�e�@zfB�|?1~fB�#�A��`@��EAb�A��A�6�B�P�A&��B3��A��c?a��B(.0BwߘA�N~B���AL-ATJxBg�9B��#B@�WB���A0�xB��R@��JB7��B�+�Ax�B��B��Bf��AG��A��eB?�uBz�SB�9�B5�A4�lB�8�B5LB�t[A���A�J�A)jBL�Bj@D�1A��B�|�A.iB:%@^ (BBBVKcB?��A��AfyBC� A_.lBN;�@��B0Z�A�2�A�d0A�'B���A�C$AkB���A��A}�A۹�@�GB؅BS9�Av�+Ae1B��1B�ƮAdBn�mBtȈB�QY@
        !          31963: 6�As2A��RB�ҤA��uB�mA즑B�E�A��]B+�A�(_B���A>�      B��A��B���Ak�%B�)B��W@���A*�jBD�A0JA.RPBݷdB�siB�l'B��.B;OB���@n�8BrJ�A/�B�B�R<Bh��A%�B��B7��B���A�c�B��j?�)pB��A��B���B.&{B�
        !          31964: 
        !          31965: A4��@�:NB��A�� A.iB��A��Bh�B���A�IfB{E�>�A5B�9�AhBu<#B\RTB��A�הB҂�A�6^Bd-B&��B��TB%D�A��QB��AsB�65B���A��A
�r@�i�B���A�ŏA�X�@LMBB�OB!x�B���B��aB^RZ@9��BK��A�5B~�1B���Bl&RB�(�B�WB�f>B��|B���A�R@}�WB��8BA�/B�x�A��OB
IB�U/B�gB�PA�� Bj%�Ar�@گGB��AvB<"&B��nA�ʘA��Bh˅B��rB�\@��XA�B��AA�4A�zbAL��BR ?B/�dB��An+�A�"�@�*�A�EJABF�A�5�AF�B�+B?�A�a+B�qKB�*�A4��A@��AҧAO&�BhY�A�>�A�~A��u>=ۊB���B+pB�
#B{�B��B�A��rB�r�A��&B��5Au�tA���AE�A���At)eA&�B0��B�B�gBC��A�:�A�#?J=8AӪBt2�?4��A��,A��AB��
        !          31966: BW�B8b0Al�AN�A�dB+l#B�`]B"�A�*7B:�EB@�A@��A���B���Bx��A�mmBe��B5YOBٴ�A�TBXx�BsyB
��A"��A��-AA��@��9B�e�@�UgB'�B��$Aj@�A>F�B�#/B�]ZB��(B�HIB���@��$BᑑB���AS^<Br��A��nB���B���A1h'B;9�Aa7rA(��@��RB�B�ȈA �A(oB9:yA�BH�,B$��>��s@Y�B)v�Az�W;J�TB��SByM�A�nB�_BllKB���@�^�B��VBq�uA��B�ۦ@cp�By֗A[��A�_,Af�BwB��B��ABB��=�9�A�^�A{�B�B�K BABDW[B��BEC�B`�.B�k�A��Bh#]AH�*B��B;��A�#&B6�XB|B��A�O-Br�Ak�EB�
        !          31967: B�@�B�:5BM�@c>3B)��A~k        B�lYBRv�AFs�A̗�@�IAP2�B�/B��4@�B�e�A�sA���B�%     B,�B�T�B'B�Ŏ@]��@��]?P�\BYeDB��A�}�Ah4�B�h�A�      bB�'�A#�AI!�B���A#?8B2�?B�8�BTB���@�ΠA��Bj��A2�A�B��B�BQ(/B"��B�a�B�2A1H�B��GB��BN�
        !          31968: B�5!BQ�A��#B��AR�A�#�>I��B�L?�y�Av�)B
j{B�:p@;B���@�*�B$�pB̭
        !          31969: A�NA�.B���A��        B|�NB_��B��A�l�B��vBJ�UB��B��BB�7�B*1BD�B��AK8B8�A�q:B��BƑ�BČ�A|�B�4�B��kB3A�BZ
        !          31970: �A�&�B壊A>QB:4B�
        !          31971: "A���B�\�B�p�Ae^#B-�BaϢAl��A��dA�QVB{�JB o�BȀ�B;��?)sB��
        !          31972: B2,sBؤRB^%Bw.B      L7B}|gBbBjVBL̑B@�UA��A���@3�B�!�B׈B�qfB�qqB�B&BdT�B��eB���Atؗ@
�tB�NB��MB�bmB� B=�lB�j@lm�B��E?i
        !          31973: ZBC�BFB!'[B�1B��eB�7B     �B�ߥA�k�A#��Am+@?uДA��B�z�AAAB��BϚ\B:�kAq"HA�2cA&�PB��YA�uA�V�A\w�Ajr�A�2B�a�A���AR��A�J%B���A��)BCchA
��?0�A��BdtB��H@U��B��A�EB�݀BM5�A�pB��+B#� BZU�B2�B;BH�AG��BA     ��B*��>�E`B�/\B5oEB@B#�6B�lAB]�nA~�CB�4KB>E�A���A�
A�*DA��B�@:Be��A��       B*�$B˻�A��TAu@�B�M`B��<Bo�BR�fBLڍB?��A}mBB�AP|X?���B�FBc�Bܬ�A��AY�B���A(oB*��A>�1B��BcBKBi��A� 5B���A0�YB�t�?��A�,MA��?A���A�/B��B�JnB���BEgB�m8A���A��@BۂLB�݌@�  PB�tBF�e@�BAH�@A�Aĵ�As�?B��
        !          31974: B���A8(4BI��A��@�A���AF�&@��cB���B�J�@z��B.XyB�Q�B�%}B̟&B��EBfB��~B`ʁ@ƛBBw�B�B}�wBIS�A��Bh��A�X�A���A38�A�MCB~�B
        !          31975: �rB@�HB���AVu�B�AF�ZB�ǪA��A��B#Y[B��GBN�VA�,?&��A��BL�wB��9B��B���A�7�B��B;PBj�A�o�B�&�B2��A���B9�7A()BT�=B�eBb8B�!lA�BlJ\BOV�?�O{Bj�vBi��@��B���B���A6��@i%B5��B    ߄BpK�B�m+B�RB-N B^)BY�A�&�AA�rB��B�d�@���>�nWB4t�@�=~B�UB��A��>BdljAe��A�x�B���Ḁ�A�ڍ?a�aA��bB�%�Bc�}B��}B���@�^Bۺ�B��!@�-�A��A�>,B��,Bh��B�[\B8ZB3�IA=Z�@ゎB雂A٠�B��@�_LB�{B���BAծB��B_t�A�Aѐ�A�AÝ~B�2�A���A�A��@�TB�8�?���A�UA,�iB�$�@���A�77B�AaBvaBE4{B(pB�8eA�nB8A�ӐB�}�A�\�BJ�4B{�iB��B�% A߮�@��AWyAXq�AL^B
        !          31976: �A�oB���B��B'�$B9.&A���Bo!B�]A�>kݨ@Q��Bbg�@ĝ%B���@�g�B��'B���A�UUBS�BSQB�hbA��RB��bB�hZB5$B��;B���BȞ[Bl~�Aq]B���A�iB�tBP(A'��B��?6�BFW�?1+�A�B��]AK�@B�'(B�ӂB5�IBl{B�Z�B׊(B-;�A9�@"A���ABDgkBţJB�(:Br�A�#B@�`Bn�A��IB)ۿAYFA��}B\��A9��B9��B�XB��B�CB�%�B�/B��A�T&B&4�B���A='B�mBA��Bmv      B�ɌBy�@��oB�.B�A�>�@�#:B���AYt6@U��B�ĉAP��Au��?*_4B�ĭA���@nT3B�UQB}B�w&B�"
BrnB��B�(A��B�TBo��B���A�b�BlNB�4B֯iB�[VB^T�B/w9B�d�@��ZB��=BkNB��B�LB���AO��@�/A��vB�t
        !          31977: A��R?�$QB��@2�NB��BHvB꓉B"U�A�Ay�AF�WBrh�Au�B�h8Ay��Ay��A���@��A�V�Bb�B���BQ��B�?�A�TBsB�nB=_�Aj:8B��B�[B�A]�'B�Ba�+Bl�A��;B CcA�W�A��B��B���A�B��IAH�Af?MA�_�A�U�A���AK/^B1cKB�.;@��g@��>�B_nBa�3Bd�[Ba8AQY�A+c@�~B?Q|AT$Bz<OBo��@�emBFBB�ېB�nB+|�BeN�B�$�@��B�B�nB���A�C(BY�B�%�B�hA�T�@�t�A[/Bj[A��eB��B���@+�B��]BS�yBh�B��nA��.BJ�cBI�A�wB5�A�H�A��g?3vB̗�B[�Au�JBx6sA���BĒ�@#�\A�5eB��zA�#B� 1BM�A�?Bq
�B6�9A�RBq&�Ao[jB&�>B�]�A�B"��@)�BWQTB;��@y�B�LB<�B/-:B@�A�c�B�NPBW��A)
�B�Aܥ�Aȱ?B�TBo�xBV�Aڽ�Aƍ
        !          31978: B-q�AQρB��B;rB�0BB�K�AEB�?�?2WCA�+�B�^<B�AB��-B�Beۜ>™B-�        B6a=B0�]B��A_(A5��B�EBW��B��3B�QA�}Bt�A��&A;IBv�LB���BSy�?�EB<��@ͨB?dB�(BA�'Bx�e?�n�Ah��Aw  �A�6[B�ɱ?x�PB蚑@2r�Bb��@u/Bm�"B���A~OA/aB?��@
        !          31979: ��@y�B�˜A���@J��A�!�Ad�7By��A\:B�XaB⳺A�o+?��@�B���@
        !          31980: B��A爞@pI�A�c|BZzdB[�gBA�@'�BC��B�T!A�%�@~��@B
A�QB{B��g@��B���AQ�DA��0B&�FB_87A���A�JB�T$B��A���B1`;BveA�lB�;kA�7qBY��B�aB_�ZB��kB���?��iBܲ�A]�A^sB@�A��eB��
        !          31981: B��Ad�.B��@�bB%�BC�B�&B��A��B3#nB�C&AԜA�m�A_�AR�B�Y�AE>�B��A7&�AZ�A�J�A�t@���A�ӆB��{@��B��gBJ�VB��9B��CB�s�A��2BQ;�A��tB3�tB���Bz�BR��@`{qB~�/B��Bz�AM,�A|ȗ@C<uB"�B`+nBd�B4�SB���A�7AV�A�dYB�&�A��A1�B5>�Aن&Bw]B�cB�^Bj8fB@~;A1��A���A�oB�H�A�!uAg+A��5A�     �A�/
B;lbBՔA!�        @&/�A���B�NB��B��XBc��@'r�B�^vA��u@��B��B�3?N��B��B��B�>8AV^+A�O�A�*�A̡�Ac`�@��B˿iBz�A���@��B厊B8��A��A��gB�A�~CB�aB�{B��A@rB�
        !          31982: A��;A�LFB߉+AkpVB�#kB��A�BȼDB�m�A���@'*�A�ƛA�ËA��4BװtA�)"B��B"�A�B�o�B;��AG��@6..Bg-�@C7B���A��%B&(B�f�A�D�@A\P�AB�2B�ĊA6h@��gB�!�B�wA^�aB��WBW�;B�7AVAuB��B{g�Bm�,B��eBᝰA<],B��wBE8�At�8BtXyA�Bo�'B��{BQ4B�B��B�/8B�xB�xBP"B���B�ljB���Ao\rB�8B�8@B��0B�?lA��B(�1B.B1�iBM B< �B9��A2.�AC�Bv��A�E8B��KBqKB�8�A3��B�.AT�;B��B&�A�=)A�x�A}!B�z#A��Bo�@?�b�A+�xB�3�A �       Bv��AS��A,�BLB��BD�?&�SAs��AAmAQ"�AkA�B3<qB~s�A׳�AdX[BGb�Bm&�A���A~&B*�BR��?sCA�\�ABA�}@J�A���?�|�A)J�B
        !          31983: �B�k�@��MB3��A��.B�ZB��B.�@&Y�Aɓ7B���B�d�Am�A|�fA���A~�Bu`�@���A�sB�_B�&BɭvA���A�/�Bk9,?LG�BZ�<B��Bn8A    6BV�^B(�@iOcB���@�!�B�KBrֆB7�3B��A�EBF#lA=Ȭ?b0yB>B@�WeAH�sA��B�s�?�&�A�RWAOSPA��A���@.�|Bz|�B��SB�2xBG� B��=B��A�b�A��Ai�BYH(B�$�B��B�#A�I@8܊B�<B��B ��BPZ�A��@     NGB���A�&$@L
�@
        !          31984: �B��+B�#�A�WA���Az�BJ;oB��"Bt�B�(�Ay�A�9B��A��9B�?�a�A�gMA�[�A��A#�@A�yA�VA�'fA�Bҙ-BM�SBǣA     ��A���A�Q�Bh�5B��       @�*u@]��A��UB�+�B
        !          31985: �VA��BFy�A$�@+�A�QB��@�uA�$�?/��Bx��AMfB�%`B�kxB�DB܏�B
��A��SB90_B���B�+�BgZ�A&��A\4�A��@�j@�̆B���AJ��A��i@�5�B6]�A�z�A[�yB��=@�[@�V_A��B��RA�ߌBr��AkJ>-�3A�y`B���BsB�?��A�A��%B@�fBGBHA���B���BEB��w@&pB&�B��B٫�A�lB��vA*��ALB�B��BA�Brf
        !          31986: A�=[B,�@!�'A�t�?�Y�B�
        !          31987: �A9>�BWTB�,BO"cA�^FB���A<tA�)B��&A�B���A��FB�KEB�m4@���Al��AC%�Ba�;B��6@tB�v�B���AܫA1�BF�Bq�qB��fBR�B�S3@�\B4\�A��A��YB�,�Ad�GBrh~AGU�A���B��\B!�B�:4B��rA�-�A�J[B�H�AW�AZ��A�_&A�aB��#B-|B&HYA(�vA�!=@{=A�!B�`vB�B��]B�{�@���A�vA3   @=3�B�o�B�TB��8B��A}��A�=lB�JB%�gB�@P}
        !          31988: Bx�uB�H�B��B��BS��B��'BǔBOv�A��#BJՀAr�B��xAyv:B��UBW��A�)�@��cB],�A�|B��B#�Bs�A=w�ANJDB!˩A���Bm��Bd��B�37B���A5UB��aB�B�ì=l��@�1�A��jB��&A.ÏB�eB�n-B;f�A\WuB�,B��f@A�3B��A��UB'��A{�+BNPiB^��B
�lB�w#B�<B�B
R�?�h�B��RBdQWB��B�сBkpVASBN��A��J@R�V@O�QB''A&��A���BR�lBPuB��xAs)$Aյ�A��^A���A�_B�/lBi�yB�0O@Z��An�~BU�&B��9Brv�?�vJAa�PB���B�kB��@�5�@�OB/*CB<�KBC�|B��B�5BO��@Pr�B>��A�߷A��A���A'��Al�LA�B��B��7B���B�&B�i�AL�OB�_�B�a�A��aB��BP�(B��I@�zB_q'A��B}�>B��B��|Bv�A6a<A��B86A��0B>�LB      ��A�B��B*0BJx�B�A�CBl��A)B��A�veB� \@�=�A��=B=��BC{~B4�A��@�?DA�Bw�iB��B�
AAS�@K��BH�TB��%B�wbB��A�Y�A��mB���A�Ao�B�_BP��A�"�B���@��pBF�AA�
        !          31989: $B\4�AٍPB�AB���A�a0B���@?��B�KBռ�A��7A���B��AD43A��ZBL˓B�p�A�$�A���Ar�vBk�A�*7B�BN>�A��*B�SB�/�B��tB~6�B���B��@��   A'fBc�@�&ZB�B�֎B���B��:B%��B�
B�1Bz B�Z[A�BB�3KB$hB���BȻA߳`B�B�zB��B� FB�3FA��UBF�-BL��AX��B�
7B0|B���A��QB��@B�PxB��@�2xB�QBs�GB�JBf��AlEB
        !          31990: [>B��A�%�Aa��A�D%AM6JB>v�B9g�Aw�?A]݋B;��A�|aB�6�B�4Bą|BP��A�^B���A�y�A�2/B���Bz�B�DzA�,nB ��AU�AϥZB�A
        !          31991: u�B�9=B�SKB��^B:@9BB�&,BA�2@��A1��@��8B��jA\X>BqA��|B��B�B�g#AKH#AՋB�E�A�y�B��5AlܰA��VB��2A3�B=��A�!B�E�AaB��1A1�@�MB��vB���B�;�A,SBN�A3�@��A���@@�EBI��ACmCA7=_B;tB�B��FBZ�UB���A,+�A�WB+��A��B
�?��7B~>,Bw�"BߜCB
        !          31992: ��AA��A�U�A�A��Ah*�?�w@P�B�FB���B��BB�z�A��AaKB�&B��B4��B��B^��?ʵ�A�r�A��AB��A��A�@�AIBaB���@1��B��_BK_A0([A��BJD(A}��A]�&A�eB�"�B�@�B�9�@�{^AS�aA�>YB琝@�ņBu��A        �HBm�A�F�Aaa�A<G�B�B�Y�A+�qB≈B*[EB73�A��@zi�B��AM)ABw"B)�oB5�Bl)�B���B�h�Ad#B��Bߎ@���A3G�A�7B�@��_B��{?N��A�G�@  A��RB��A��AT�A&`�BÙ�A�'#BR��B�T   A��-B�k�B �BB�͢A
        !          31993: mgB��Ar�sB
        !          31994: ��A &B"+BD'\B13�����A�ĩA��2@�@��AM�FB�YB+�]B�%B�?�B{o�A:iYB�JhAD\Bh�3A�qB��@BBaA�!B�O3A�n�?�}3Bc�B5"Bk�B A��'BBϔ
BVS3B�1�A�ߣA�UTBiHB�B��=f@��#B       )BS�B��@�=>A&>�@��AyrOB��xB���A'BBF�WB^�B>܌Ad�:Bg�B�GrBs�pB�͆BXQB�@A,�A�f�A$��B2;B�u�@eaB��A��A��QBK5^B::zA$î>���A��    B��BgR�A�7�@>=Bȫ�B�CA}@�AkB�5B.DŽB��@C�A͎�B�$�Am!Bm�>B`p/B�(qA�mOB��!B:�DBm�B�>|A�rB�6�A�@���A' A���B�t�BϤ�AꇗA       �8B|�mB3�B�U�A�W�@KZ&B���A��fA�OvB�+2B�#B˒A��+B}�wA`�A1e�A��AQ�\B�_�B�6B&9_B.
        !          31995: �Br�B��RAo��Ao�B(k�>�?^A���A BT��B�bnB���A�W<BG+>PE^B�(B�k�@IRB¨A�SkB��Ag�
        !          31996: @�VBP[BB�!B̉�A7U�A���A���BV>BZ?"B���B��{@%hB�ϫA�fBB��*B@(�A��A|ؓB}oMB-�lBf�S@��?$J�B��"BC��A��A��B�~�=ܗBsfB=t�B�/�A�'ZB��?Bm�B��?2!&?�);B�,�A�`KBa�!@��A?b�@��}B�0�AȖ/@ɗ�A  ��A�op@G�mB��
AKA�r�A�n�BL��B+�TB}(BU��@�))BY�`B`�BJK_B
�:A�B{��B>�B���A�EB��SB��B,�xB�W6BݩA?�A��BdBSB��@18�BV�A�A�ZoAB��?��qB��YA�)aA
        !          31997: �A91uB�z#B)��A޽�B[GB�      B�<�B9�B��1@�
�BY��?�EB}��BHЁB�2kB�B_�B��@���B��KA+WBsy"BS�?B�ýAg&�BZ�6BZ �A�H�A�lYB�pWB�suB_�dB��eAPh�A���A��AK^}B�w�B��B QB��0A�
@�c�B㡉B�UB#ZiA2��AY�iB;{IB�*B�e@�sA�܈B���@K&B���A�w�A��LB`'�A-o�B�Z BTm(B��A��&B� B}`�A{��B�j�B�$�A��B�}3B�˲A���A�9�A<ZB~��B�ZWB�|�A�GB��5B*�?BfՊBX�B���A�WB�[OB�=�A�!B��&B�>B��A�oB       o
A�25B�3�AʖTB�       Br_&B'��A�fBK��B���A���A[�WAL~jB���B5A���@�;BSC�B��5B�~�B��@�]qB�,BUC(B��UB[��@/�_A|V?1��B�8�BT�@&WqA�7�BIFB�>�@�PB��*Bn�A��qB^M7B�7Bi�e@�n�B0y
B:�4@��BL��A��\B��|B��{B   �B��=B�
        !          31998: !B��4Ai�@HwB�9�B<�@s�pB�}A�
�A3�gB;6�AsAN|-B&:�B��UAeB�N<B2x[BY��B)ӪA$��A8�~Bt�B���A��0B�#�AatB[    �B)�    B��(B�
�B���AA?�T     B��}BD%B�SLB?ȞA��@��B7��A��
        !          31999: B��6A��?BUJ�B��5B"�lB�B��B�:B��GB�g�A�(xBN&@A{�PB�}A��nAKQ�AE�B1�tA%vB�{�Ax��Ab1�A�X�A-dB��CB�R�A�46Ah�rB}r�A�)�A�mB��Bh�B�]�A��1A�}B4�CB�Z
        !          32000: B���AxuB���A1\�A��Aih�B�]WAImzB��B��B��gBW�OB��iBl�EB�s�A9{B(     1B��    BG�{B�p�BL�A��A��A��pA<��>��Aa�~B�2A�$B=[BZ
�B=�%B8hB�̚AOc
B��Bn�\Be�XB~�b@���A�7�B�gkA�aB��A@[�B^oB���@��(Brw�A�nlB�loA��5B�A���A�Y�A�)%@ļ�BضB��OBD�2B��3B�B       �zBuy)B�v�@U��A�4tB��dB���Ai)MBeEeB3yB��bB�kBrGB�d�A�"CBt�A�>�Aw�:@+��B�*qB�w�A�ʅB���A�1ZB�͡A�*~Bw�'B��B�]ALNB�<�AE�yB�
        !          32001: �B�B��B$nA�ADA�T�@+�?���A�h�AT��@RBS�Ba{B�=_B��A��A�VoA���A�IaB��B��3Bm�lBP�?B��lB��B�AP��>�BM��Ay��@��@b�A�DdBMJA��sB��OB6�B�Y�B��B�2q@=aEBY�&Bc<B�;A��@�A?B���@���A-KAӒ�B���B�xHA��mB�7�A�s�Ab�\BE�*A�i�@nDwA��pBY   Bs+rB�@Fn:B��'B�یB���@{�B�;B��A�Ki@�?A~��@�!2A�O@m�B��fB�N�BI�B�HB�vAP��A�BGB�W�B��i@�6@A�t5B�;4B�AΒB���@��}B/�B�
        !          32002: BBK7B]��@�fA(Z_B:�Bi}A3A�A��EB�m^B��PB���A��B�hlB�(A��Ab�BBRWBQ{BF?BBKe�@��A�?�B��eB�AJ�9A^��@$��A=�B)yB�RdB��LB�pA4EB�A�A ��@L�A�.�B��B�?B��A�j�A��lA���AڵBZE�BT�pAE�,B�{�A�*j@�5B��@B�0IB��NB�A�A�a�A��DB�BB��FBǮ@B9�Aԡ�B�d&B��CB'�@0~B�AB�?؍LA+q�AS��@L�KB�X}B4(jB�tMB'��A2&�A�ax?�.�A��wB�\A��A9J
        !          32003: Br/FB��1B9QA��GBC�j@�#A��zA��y@@,NBy�Bt�HB�aA��(BcGB6�4B�IB��<B�7�B/J{B
F�A�XRB1�gB;
        !          32004: �A8DB�B=./BO<,B}�A�h9A���B���A�A���A�1�@��xB�5Bg&�A��A�QASZ5B��AbxrB(,�BN,�B�ȖA}�A�B|�VB`�\@��B�1�?�B_M�@k��B��B��B�aBS.>f2�B��B�OBO��AlzA��B&�mBdޅB�c5B�A�[B�:pB��B�~   A�A�oA��kA�A��A�~yB���@�V Bu�,B���A#�,B+�@*�B�lSB�B�Bd�zB��CB�C�A�ԝA% Bw_
B�VB4oB�.B��A��@��0BA�A�@*BA�IB��"B�96BP:�A!�FB'HUBs��@2IRB��5B:$BK9yA�1�BlߕA�O?E�oBo�B��BO�1B�S@���A���B��iBBڅB��[B�2B�=BÐAO+�AB@&B�A�Ar/B�?��B��B�@~B�A�C�A( �A�w�A=��@� Bp�7Bd\KB+��Ab�B���A}�A4�A��#A�b�B��B�r@��CB�E�B��MB�d�AoT�A��B� 5A���A9GeB
X�A��B��B$�9BܶB��SB��B�A]'BÁ@��:AI�@���B�LB�OwB�%@%Af�-Bͫ/B��{B���?���A�hB���A��B_qB<n�AN�
        !          32005: B��dB�iAW�B��mB��Ab�BB��A��)A��~B���?m�DBt��A�jMB��bA(U�A���A�!dBM!PBu�2B)*BJg�A�B��wB�a�A7;Bv��A���?��&A      �wB!�B���BN��Bo3�A�2&BʉBm5B���A��_B�W�Ab��A�UB-��B�
        !          32006: B̔~@F��A��GB�PBGv�A���A�xB���Bsŷ@��A�H%A!�B��AmK`B��SAd��@"�A��Bm��B�\�Ai�*B7��?�zYB�^�A�B�bNA&�sB>��B�|Bjp�?diZB�NjBr�2B&
=BF�B��DA�     rB�A�&AA��mB�Z�A�e\B��A��jB��B���B���A�kB%Z
        !          32007: B��A�Azf$B��2B�r�A=eB}�OB`�YB�B�@;�A���BQ��@i�RB      yBAs6B�@�A���A|��@�҃@mO)B~A�D Bx��AC�HB�HB)�3A�RB&�?��B�G�BpƐB1��A'��A���A�r�@��@f��A~�TByNBFc(Bϱ0A.�B�k�B�;@A
        !          32008: �dB��Bw��?��!B}��A�YVB,(A�8*B��fBU��A��,B��A]T'B��A�F�Bu;WB��BP?��mA�?�A=nBq�BoBP��A�8�A`��B$�A�<gB�CIB�XB
BE�yBO�GB�3xB=�BRU<A>B,*B��/B�7
B0|B��A�(B��lAs�&Bo�BUGB�OiA��eBv�  @y{A���A'n@�J4B��kA�I&A�kdB�-�B9�=   F1A�I@���B��-B��BmB���B��YAcdBR�A$4�@+B��A�J8B���AFB��-ACF�B�B9��AB`"@B��AFuA��jA�d�AO!�A17B��A@iB`�WB/�PB�C�@S#gB��_BDp�A���AR6B�h�Az�A�.�B{�B�S�A#BCIAG�B&�B�P�@q�A���Bi�B��_B�mB��4B�`�A~0BVـA�X.BO/B�nB��}Bi�A w:B�B��B:dZBS��B�<�A��@��5B�|wB���A>NA jB��mB��|Bu�EA��#A�v]B��vBDąBR]�A?�B�k,B;߁B�B�UB�q�?0�8B#Q
B"]B#��@^tB�[�A'sA�LBl�A�xB��bB�CB��5B�z(BH��A2#kB�B��+AspaB]�rAe�@��B�B8��B�ӫA�/]A-B�i@�͈AJ(8B:~ZBF�FB�W�B��B#�ZB�5�ALT+@�&NB,]
?��bBQ��BPs�? dB{\�Bw��Ad��A%�.?K�Bۑ�A�uB|�<A�
        !          32009: lBQ�OA=��B��iBA�B�A�B��OBh��BZ7B2@�A��(As�|A�<B ޺Ac]\B(y�Aj�AKi*BM��A�mA��fB�ΌB3:kA�}(A拙A��BZ��A��/B<�A��IB�pAk��A#��Ak�8@?B�0�B�*�B]�NBc��B�TA2\B�}�B+.A:roB��wBu&nB��iB�/RBM�BGD(@�Az�IB     fB�TA�~A�\CBs��A��qB��A_iB�TBB��@��A��A_o�B:�Bm�gB�^�?��_A��nB�dB=�[Bt�@�1�BA�B9:A�UkA��@��B��@Kf�B&A豍B�[,B��qB��A�3PBu)�@�A;�nB��2B7�qA@�cA��BY�A��8BG+cB]�5B[��Az�Bo!]B��DB)�AtZBI�A���A���B7Y�?��A��Bj#B��Bm �B4�@L��AA�f>�}B�CJB�mA�W�B-K�AK3BH|�A��MB��,B���B�s&B#�pB"�$A�rB1[�A$�|B���A�ǂB��BO.LB&�B�>�ASi�@���@.NB�8�@.�A��A�v�@v��AJJ!A�B��}B�rB��xB�D�A��OB�4�@&εA���@j�8@c'B;��A^��B}۝Ax��A��BZl�Aqp�A/B*h�B
�@��a@��
B&.�Bn�MA���B�zkAz��B9K-AѸtB�d�A�W=B
GsB)�Al��@%��A��A�(,B��@�ȍB���A�ZyB�/qA�.AEAB���A���@+\B��AVT�A�    �A�<Bg��A;�A3t�AG�]A��B/{A5�:A��AO+�B��IAEͦA{��B�"BĢbB���A��A�t�A�ȝ@�@3TB�ttB-!�@�B-��B�$�A���?r/�B/ȝAls�A�FOAUkBT�-A��?���B+�LB��VB�_�?u��?Q߅Bf=�AIYB��?�/�AC��?n��=��;B��A\�B�#�A�+�A�MA�WAķ        AE<@���@��B��@2��@ԣ�A7�vB��?��B��gBFq-BX�r@�KWB$_B&� BY��B��A'��A,`SBU�WA�xB�m�B�BcZAA��$B�!pA���?o�iBY�B���A-C�A�!A�kcBu��B��@�RTB�c!AI�AU�1@hQ@��B�� @�A�B�B���?�E�B\w(B
�B��AK$�?��GA�m]B�2B��2B8okB��SA��,BwlB�� A�cBrL!B�RB��PB�B�B/-�B��A��B^�A��B�@B��JB��B���Ab��@�<�B��nB�8nA�r~B=_B20uB��     BO�SB���A[yeBIi#A��B�#�A:�@��}BB�     @��B��XB�p�@&�A�A��`ALB��B��tBR��B8�fB�!�@��B���A@A?AῐBr�&BDX2B��A��A)�(?��!B�.Bi�Bdt}A��yA(!@��AJ�1B��ZBSyCB��~B�F3B��AxA���A5��A�{�AZ�_Bv`�@�      4A�wB�G�@�(]BPixB�NMAL^V@-L>B���B�AB3
@�sBs�B�8$A��@�G�A���@t�>B�p�B^�cA�_�B��BvDB¿rA��B�W�A�7aBvP�B��9BP�A)�B'��B�{CA�{�B2�AQg�@��nB�K�B�B�B��B��GB��IAZ:BB�,�B�.mA��bBQ��Bj�%B0�B���A}�vBj�;A<�)BE��@C`cBFdA��)B��AH(�A�DB;Z�A7�,B)[�@��hB�jqBlBpB�d�@B��^A/�gB��rBp�A��KB�`nB���B�s%@��>��^B!V�B      B6ATL�A�c�A�WB
        !          32010: �B,��B��~B��@��BŤ�B��AD�A�i�A3b�A1�SA� Be��?h2B�WxB��a@��JB�
�B�z)BnLUB&�AƗ�A(NOA,QrAF�"A�BO�@aߊ?"WoB4��?+�?�jB�=CB`{nB/�B
��Ak�A�EB]�}Ba,�A��A�vzBo-�B��ZAa��B:a�B��B���Ba�@P<A��B�B��B�P�B�_}B��LA�B!5�AFT�B��?Až�BX�B—+B0��AF�5B-w�B�vB�B`jqAK)aBj�BۅB�NA� �@+�j@s'�A��BA�B>�A�T{B��SBnBU��A���@U��B��<A{БAsj@d-HA��@8U(@g*I@�xB�%bA�=&B���A8��?���@G�fB,�\B�݋A���A,*8B�PoB�>B��VA���B<�@�&�B\�Y?CԌB<B&6'B-�PB��]B�}$B���@�ZGB��uB�5A:�AD��A�gB�iB7&rA��5AV�?#�sB�mBS!�A?�@�ȀBS�7BG:B�ݣA�kLB|B̹�Auj"B�W�A̼�A�>B�M�B�QPA�eYB3B�<3A-7�BM�]B�&B�LBXBx4�Bq�IB���@���@��BྒྷB(JB��B�{By{�?��OB� xBO8�A�AO��A���B)B�)}A7�B�Q�B��|A��,A�OhAx|BD�B��B��?�   A
        !          32011: �A�r�A�C�A�7A@LmB��.B��"A6�   B��B;]�B7�Bx��A�ЇBc�iB�|�B�)BY�'B�&B��AI�A~��Aa�A�d�A�|A,�uB=�nBm0]AQ�A�]B��B��:B}��AM�dB�}�A�.�B��-A�`OB���?���=m��@��dB,JA��SA���A�:~B\Y�AMA
B�n�AJ�0A���@.B�@BP�iB�,{B�]GB/@k[B�tB^�)B~�#@�PrA�%0@*�oB1�B5ܘA���By��BM��AQ�cB.)A��*A]�Ad#BL�A�6�B��B�ܓB�"A
        !          32012: 7�B��BN\�B��<B�AB&/�B`XB
ʀBvpB��/B|�FB��^B�7pB���A]>�BN�:B���A���A�Sf���BD�$@�oB�5iB-��A��B�SB���B>Y�@��QB�`8B���A\&AN�KB���Ap�3B T�?jZBgT7B^^�@��+A�+B�RB&��@��A�
        !          32013: �@A��B���A�>B~�A��>>GB�FB���A��hB �B&
UA��(B��TBaWB5�B��^BӺsB:�"B?W@�`�A�-�B]yA4BxP�B&=�A(�lB�zKBAH�A4B��B�9�BM�B��@��A���Bu�pB�n|A�!@k�B}c~BW�@c��A�PBn�&B�H�B��|B���B��APҊB��AB�^�A�'�A}�RB�LB%�3B��A��^B�/B3բA;�Ag�BO%A��A�~�A��%A�l�A�3=B.�@�ߌ@���B}�A`�AG��A<�'A�d�@�
        !          32014: ^@?,B�VA���@qĢA.��AH��@WXiB��Bl�-A�7YB6Q�A�8�AN�B��uB�yB���AHk,A,��B�xB��rB��2A�F�Bi��@�]�B�A���A#�Bec|B�W%B:��A���B#�BJ�B+iZBj�BI�qB��XBUҿ@�B>�=B!��BfoB�a�A�6�?UtA�iBR5@QB
A��A���A��A��B��dA�A���B���AۧAA���B�F�Bk�A�b�A��B��~BVF=B&]�Aõ�Br��AV��A���A���AEuRB��A�B���B���A!;�A%�CA2�BB��Bu%pB�TB��Bl��ADiA�!@A���A7�A.O�?}�B��@'�+B��A���A�59B&Y/BsАAc�cB,�B�ʏB���A¶�B7�OA#kZAA��AQ7�B�R�B��]BY�}B&qFB�AP;�B�ŕAl+WB:�@��B]�@a�B�}�A���A�{B�|LA���A��B;3�BPqiBH��@%�A��A�-�Bӗ�A�6B"[:B1�A<�gB?�B��A6n{B��lA��B�Bq�B��JB�[BoP&BG@�A
5B��B�lA��9A��@;�B�B���An��A!{%A}��BBj`B�;�Bg
aB�%BK��A2��A���@�@ދBK��A}Y�A�B��B��A���BCY�A��LBAxBCB
�A�Y[B�<�B��<A�7B��[B�(�A��B7��Atso@��A�pTA �PBN�Ah�hA6f�B���B���B�a(A_gtB?OBtDB&VCB��A�LB�zB9�5@mP�Ad~B�(jB��UB�QB�l�Bl�2B�,B��"B9�B�(�B��Aޱ�A#[�@@H�A�'Bf�cB�(�A��pAڸ\B�BF�A(��A��A7hB��qBm�&B�5BonB�Z^B���B�őBDՎBU�OB[��A��B�TA�A�@�AٝA��6B%�~BD��A�A�BT7�B�SeB?�rBIiB�B�hBh.A-�MB�(B�mfB��\BV�B�΄AᯚAv�QB~PMBO��B�~5B��sBv�<A�HBK-�AL��A��"A�vJB�q�A��B�(@BU�@�J]B��,B �Bk+YB��AT!�Ay�~A�уA��@b˟ARq�A��@���B�rB�i@B~��?�aA�0�@!� A�-�A�����YB�d|B��@C
        !          32015: �BHB�|A�G@/Q�A��L>�YB?�0BDoB©�A
"B��A�mB�AWB5� B5�B�5X@���B�A���A�A��BفBf�?B�-�A~�8A�fBc��@�x�A]�A�LuB C�A )yA%'B,3wB���@��mB�DB��<?�=�B&P�A�2B�j�A���B��!A�e;B�B�dB��B��A��eB�lTA��h@��A�?B�HB3�$BGFB:0JB={BV�tB�".A��VBu�>x��B���A�7�AH�b?!1�B&@rBu�A�d�An�)B!t�B~��B/mM?o�B@c�>KՄB5*vB���A@��AXB�xB��+?^'sB�w�Aǒ�A�VBrW�A�m�A9Z�B�+B��|B�R�A~ĀB�A=�wB˥�A�˃BjLbBi�;B<�B�T�B�͚@�J�A�i�Bd|wB[�A�%j>zE&B�
�A�OBV{�B��A���B�~�A��'B�Br��A��Bռ�A��M@�B"�,B݇�>���A�U�@��A��B?ZA}lB��A�,RB+�JB~*BIt`BԋAW�@�ʂAIBcG�B,BB]>�@���AV��A<��Aw�A�F]B�AHuB6u�A<}BO�3@j�B:�oB��"@֪Bt��A�ӈA���>E��Be*1B��YAJU�A���BП|@ѭ�AW�;B/��A/��A��UA2��A�5BO        zB���A�uABM�~Bz�\AIw(B؞UB��B���A@e1B�21A��\B��lAuu�@�"JB��B�Š@-I�?�Bd��A���@D��A�}A���A��OBzD�B�`�?��rB��A��[B���A��7B�A��_B��B��
        !          32016: BI�A˅�A��uB|�hA0ζAJ}KBuɏB��B2�Bh`�AtY�@e�B�f�A,5 Ass�A`a�@�AB�a�Ar�wB���B�n�A�A�B���B�GB���A��1BG��Aa�!B�دA�@B��B�/GB;B���Ao�PB{�:B��A�gB���B���B�B�[$A��WB�pFB]�2B�H�@� ?��A�T0B��uB�w`Bg��@B�@BH��A���A�M
        !          32017: Bx��@!$�B��A�e�A�ƃAL��A2{�A�
        !          32018: ~B}DB7FyB'�@�é@v��B]D.B�@��,BE�B��xB��TB��zA�jhBV�A&��A~V?BG,5BXxB@�BB�HgB��B��IBՁ�A�_�B`��B"�LB6bB��A�#DBY��BIg�A'�DAj��AA�0B��Bsq=AB�:@�>�AYΩAS��A�B �XA��!B�A�AY�@8-�B��Ae�A�B��iB�LB���A�%8B_}�AѦBTN�A��dA�nBƤyAPc�A��B���A��Ar%A:AlBT"$B���A_�B-�&B��^A�qB���A)� B�1�A�UB�^SB�iB���A�_&B��VA��-BϬCB�B~�PA��@\�@�w"B�6iA��@�^B*�A�@'@�"sB�$�AB�BE�*Aga@���A{�B{9!A��B�V�A�h'B��       AE�Ae��A�B��BB
        !          32019: ��A�A��A/3�AgzB��A�;A���B�+PB$J-A��Bk��A[�A�
B73BF�SB��B��.B�\BvuTB���B�n�B�wB!��A}eA?�UB�1�Az�A~�@��
        !          32020: @��B�#B{x�@��Aq�
        !          32021: B��2B��mB�     �Bµu@��
B=�<BZ=uB�-_B��QAFTB�*�A&��A���BZ3BD}*Bf��@��A>WB��2@P
YB�h;A3p�@��Bb�8A1��?�B�'�Ab�B`�A�0�B]�B%5�A���B�Aq��A��@#�tB�]B&<BA�s@�iB8�\B��5B/��?T�mB�3�B|qB�KB�eaB~��B-""B�LtBKTBNs�BQ�8Bce*BpB�w�A�%B�k1AO<�B3;�?@1�@�6A�UkB��yB�B�լA*�]B�=�B�~B-�eB�>B��BY�A��0A+��B4uB(tB��rAn�+A�ڇA�<�A+2BT��B��A>�SBM�`B��aB"��A��BZ>�?���Ay7SBb�.B�<�A2��A�A�̆B$0B���AW>!A�lFB�އB0`�A��
        !          32022: Bp��@��EB���?NcAVpUA�fB�$[A��Aȣ@�M�@���A�~�B�SJ@��B�B��)A��B ��Af��B@��BV�BJw"B�k�@>�KB�"VBU�lB��L?@�A��:Bg�e?{�LB�]B��-Al�A�~B}99A��3B�{�@�zm?|��AP!B!s�A&pB�םA(�BBh�xB�\AU]gBh��A&�B�B<D�B7�wB�6B�!B鑆B�J�@��B��A���@|�@�c'B��XB��MB�Q�A�qWBo�A��Bzz%A-4�A�,A�2�A�;�BYD9B��wBp�gB!'�A��AJ�KB~�B�zA@$$uA�rB��Bՙ�ABB���B<e�@'\B�H�A�~�A���A&Bf�B�B��fB-;LB&mBO�BUBwB��B�m        B&�B�JcB$BF6B�i�A�>Bţ�B�k�@*OB��B�eB��2A;
�A�gcBzE�BÐhB�+mAo�B��oAZ�qBc�B��nB鉍B�E�B�7`Bm�B���Av
~B�h<A3�RB�EB��nB"LJA�y)B��0BL��BJ��@�Blf�@S�mB��> �A]s�A��B��A|Y\B�$BB��+Bٕ�B5��A=�BޤB�1�B��HBl<A��{Bt$�BpɎB�ֻ@���A@7�AV��@�J4BfCB���A���B�AB�K.B�Z�Af�FB<%=B9RB�#Bh�AC�A=�PAW��B7C�A���A�xzB-��@�BN�B�W9Aϝ8B�aA�=5B҃eB�^�A�i�@w�B� �AijUBmY/B&�BC�Bm8B$�BBG�B��AͦA��B3 1BOWkAuAB_�<B�bA���AfA��B̆hBbGB?!�@�]B�_�Bn58BAFPB���AI��A�ϓB�^�A��jBpQ@B��A$B���AK�B!�3BT�bB��A���A���@(��A`�%B��A���A�?�?��Am��A�ƐB7�}B��B�N'B�K�A�ƇB��A�A�9B�[uB�+B�iBt�YA��A��By�{B`�;B�;�Ab��@�',B�=�B��&Bү/AXE�B�&&B�%B��A��!B��B�%bB�(3B=�wB���A�
        !          32023: �Al�l@��#B�B\�YB,X$BZ��AݪLB�5�Ay�Bd�B8�B�B�$B�tB�nB�OQBD�mB5-�B��#A-��Aŋ?Bg&;BBc%B���B�d�B²Bm�B�3�A�n�@(ǫ@`�A�
B��BHQAGU?B%�4BLUB��jBL*;B�
�B`�(B�X7B�A.g�B��B���B�B�OHB7k.Bd�B��"Bq�VB��A�ӆB�6sAJ�nB���A��@� WB 1�A���Af��B^��A��~B�\BE^�A�CB|�AusmA9��?
L�A?D�A�oRB<��A�ϋB�AB6'EB1��A3j+B���A&Y8B=�xB)��Av��AmU�Ak
        !          32024: /B�ӏB&�TB�EB9xB�A|9wB[0?B.�?�V~B��@O,EBN8?B�pB@3�A>PB���B�� B�B�HBU/BʏAP��A�ukB���A4?JB&~rB��@BB�r@��AI@�UB�AbvBjAs�kA�~DAn��A��A���A3�ZB޽�A��fBQZ
        !          32025: B��GB�A�eA��?B�
�B�WB_�7B�T(A2�.A�*BlwB�?BͿ�@���A��B�XEB:C
        !          32026: A׾:B�BCJ?^\�B�Bn�B�+�AXSMB!&�B�bB���Aݶ�A���Bç{B��
B��B*B�I4B���A�@+B9^B!g�B�EB���A|�VB�$B��e?V�RBl?+B��Bn�4AB)�@�iBR)B��6B�>BL��A#�B�A8cyBPB>��Ȧ�A&o@ +BCvEB0�A�ЂBN#�A��JB�4B��A&�A�a�Bd|1BpB�mBl�B��{B  YB�`�?��A`�?A�PB̈́B���AMg�A�‹B[�(B�CA"B��B�vOBk�gB�tB_�A��A�*ByKBz�B�ϛA>B[l,B�1B�B�I8B|qPB���A�XB��Bj�B�YBD�A��5B�����2B��B71@�+\B�lcB�4PBWXB?8B[��?�ZB��zB�h3BqȄB)��@p�?B:LgB�E^BuB��@_��A�"Bw�@��^B�L�AغwB� sBg�6Bt�A#�B��>Ba�B<3�A�A'��Au*B�9�@u"       B&��A1�?US�?�:Bv      B�~B��5B]
        !          32027: B!�AV&2Bo��BljBB
        !          32028: B�CB�=[B�7BB�GB��7B�AjE$B��B��@�{At!8B�A�@��)B1B��FA1{�AX��@���A��BeA/B:&�AG��@�ј@��A5]kA*�0@�)�A�)B`�=O��A��EB&D
        !          32029: Bk:�Bi�dA…hB�<@�}�AәqB���AL,B�H�A�=;AqAB�Z+B�`�A�v�A�gkBBsIB�kB�wwB�!A�?�@��@�fqBi�BY
�A�7B��5B�p�A��B*��A4�OB�n�A��Bm�iBƨ�@z,B��&B�r[A�YA$�@�XB��IB���A�w�A7o@
j?�UbB�q?ހ�AI�NBX�A��+B���A��@eA���A���B�D8B'&@wyJBm�}A��@���@���B�CB��3?�.B��nB�&�B�@���A��"B;jA\�B�fB��+A�(�Ae<�Ag�AV�~B��"B��B?�:B�eCB��aB�#{B���A�FB�լA���?8�'B�H�Bh�7Bl�AK�DB
B�{JB
fA��0B�Bhb3B2��BtA�@s<\Br9�A=�AO�B��BHPfB8F@ОB}eB�XBk��At@^B      �4B>!�Aٛ�B�1TA��hBG-IBsR�B��"B��]B}�B�=Bއ=B ��A�N�BR��@��A��1A��B�ELBǤ|A�ʐB���Aq�BȌB�B��BE&B��B��A�-�BH�B>�$B�AB{vB��@�izB9��@:�IB\+cB�1@Bp0B�pkBQ�AI�B*'�A��_B��A��B��4A�HJB���A�<4B�}
Bͽ�B qA���AeM?B��@�̖AU��A��+BńB�(�B?�OA�P�A�..B�%B�{YBo�jB�gMA�҄B��!B��B�h�A��@��%B5'XB���AZ6�A~�A>�A���B��A���A�Q�A�E-B�y7B��AA��A[�A �|Bc9�>��eB��dBw+B�B�^TA9gB��SB.2VBCB\7,BO�MB�k�A��_BoeOB;�/B�Bu��AH�aB�!Bu�AF#dA���A��B�NB@W�ALQMA�HOA8��A(��A��=A6фB)� B��#BA�1B��9B(�AA��B���@8A�@���B��Ak�   @�7�A�uB�\B�Y�AN��A�7�A�0�Bɫ�@�>B�YMB,X^Bۼ�@$)�A�B��DBT1�Bxs�Aa[�A~��BGeBA��AX=GB6lB�RBC6NB��EB�@Br��A=�@�KGBWl6B�5
        !          32030: B�VB�`B\)B�CU@_�IB��.B�tBVپ@GΏB��EBvrgB2�BSyQAxʁB�ac@�[BW�yA��BҴKB+acB�=Bc�B��*BOb7B��RB�9B���Aޠ�@�m�B�{�A��By/ABuH�AYB�UB�"�B�SQA&�B@��A*cQBõ0B�-�AY6mB��AT�B���@�8�@�u?B�B{AA��B�M�B�/?B��B��DBg�iB"��A��FB�]d@�
Bռ�AO��A��?B���A���A�6@��A�B� �B�HBB�B� lB%�NBԴsBf)B��        B�s�AHfB���B@]�B�fB�#ZA���@�#MBb�B�ЍA�c�B�0 B�?4B^<B�CA.�+B�^B�O�B��BD�@C�iB��B�+�@7]fB�%�B�B\C\B�Aޞ
        !          32031: Bj!�A�GBOg4A��B�i(A�q]A3�B��ABH�B%�A��QB�OB<@B���A�X�@g�>B���A��B�3�A��<B�|�A�5B���A5�BclBB�K}B�`%A�r[Bu�B<�B!3dB�b+BEI;B��U@��B ''B�6�A��7A,�Ac�B;�UB+�MAz�AYAB�h&B�h&B�TcB&MB�K�A�A 
EB6$B}B�*�A!ȣA*BeϢA��A���B��B+��A���B�:B ��B+pEB��B(�ABe
        !          32032: B��AϤA��BRjB(��A{�7B�5�Bk��A�zBE[Bg��A�#zB!�B�4B���A�MQB/�?n
        !          32033: UBMЎB��JB�eB[�B�b�Bo�B"
        !          32034: KB�6|AW�)BU�yBt�4BGdB���
        !          32035: �&�
        !          32036: �@�@A6�A6�A6��@<��CA�!B��A��A@�KBaS�A���A�&�>���@��?/*B��@      �A{��@c�nA�:�@�fA�X�BnqB�*�By��AY`zB�#�127B�]TB`BBG��A�\�B�aBB#h�B�PBb�@��RBd�mB��XBF�>BǑ6B�G8Bd�(Bd�B�`eBQ/�B˂B�(�@w/B9Bd�&ATeBC�)B�t
        !          32037: A���A�
        !          32038: NB�ڊAe{@�}�AHd�@B�yA��BY�,B��JB���Ag�B     /�A�DPB&_IB�"Bym�B���@}�,A�ىB�ǤAM�6B�S�@��A�B[�Bˁ-B�6�A*~�Bq�A};
A��+@|;
B��BE�B��8B��AJB�I�AK�B��jB��B��xBl7FB9�eB��B`&�A�ϤA7��A�ۆB���A�B�djB+
�A(�BB(qB��DBr��BQXaB�f   A��B5-(AP8�Awe@zMBZ�6B�Y�?��gB��Aʖ�A��OBg�B�&.B�y�@¬=Bm��A��&B�3B�BY��A$�bB�g�@�w(BB��A��oBdQB�\@�SBꞓB�H�B��oA���AlE Br�%B@�jA\Ä@]S�BJS�B�]�B���A)�AC�5Bu�lBL�RAM�Aֹ�B��&BTOEB`�,A�LtB       ��A|��?Ʃ�A�7�@ *fB��A��XBM5�>�B�7 B�}B�u�@怑B\S"B��B�'�B�ҔB�s$B9f`Bc�BD�@�v�B��uA0|?B�1�@xBl�UAd��@]ytB.�B&�~@̴�B+whBw�@c�0BՉB��\BcB��B-BB,oBƞ�AO/B�ǜ@f��@,BOB��B�Q B��VB��A�6�A��Aá)Bl�B���=ˮ�B�xBUwkB�l�@�J$BlB�uB�ĦA�m�B�\BG\B��B�yB$��A�WKB=5 B��FBʩ8B�GB���B8^"B�A�AA���A�gBV��A��B�1@BWLBJL+A"�Aκ2BUl�A�!A��MB��?�(�Bp��A���B��:B9�`B;�ZB�t�A�H�@'�^B�-�?���Ah1B��B��SBi�
B�A�ًByD�B��[B��B�2B+ψA>NB��MB�;B���@J�B�_�B�l8A3�A�\@�.NB�A!�A
        !          32039: �Bf��@nB�ےB�/�B^BY��A�p%B��B��&AkM4BOvBOP:A�TA#Q�A��A��A0��Ay>TBh��Aa�B��B��?B<�Bڸ�@�o�AB��B&C)B��LB�N^A+�=B�<+B� �A�Aj;@��A��A+z�A%A(�BvǃB��B��A*lsB��2A85B�d�BǀeA�Br�B��#B�'B^�B�nB��B��$A�)�A�79B�sB?�WBg��B_�IB��fBl&sBm�AB���A")�A�mBy��Al��@D�PB���A��kB��B�#�A�XBl�RB���?�!RB�56B���B�Z�AִEA�@*mA1�yBr�\A�1B�dvB��aA�o!@�*B�B�ۣA�!B�'@>q�@3xB.�+BX%KAb,0B���B��B���A0�qB�B�g�B��B���B��cAcZp?$�X@�_�?,PB��B��GA�JBNi;B��OB;f5B}QB�xmAe\�@�"�@�$�BS�BI+�A=eAB��B�&�@X�|Ak�KB���A��B�
GBZ�A��B2JA��3B��wB��<B��5AW�B&a5B��MBZ�"BI�       A�9HB"�BBf@�]EB�2B   �8A��BWOB��aB:�@g&@��Bō�Am�(B�ķA ��A�N@��?B��4AS7�A���B��@B�A��A�-B�D&B�0B�B�]BN��AāB#�A�^B��.By�B�7�?ZXA>u{@�P�B���@��Aq�B=�B�BVf�B�nBE��A=�CB�f�A�x�A�U,BJ�3B3�Bf�aBk~B.c{B���@��A�{#B�"�BT�AT(
B�;YB�@%@A���A�<B�%:@>��BʏmB�H�B.�B�B|?*B��l?�~DB�_Byj"B�A?{�A��QB��tBݚ�B���@R<�@���@��XA�%<Bnt�B�DBg�6Ar�A�%VB��A�0@A���B@��A�)8Bn�@���@���A �B�лAWX�?+�iAM�@W@B`W\B}�EA��m?�$B�i6B��jB[4]Bt{�@VBB�='BI��A]�A�{B[1PA�x�Be��B��@{0AB��aB��Bk_�A�<�A�]B�!B��Bka�AEg�A�&A5�IB��A�l�A%�A���B�J�B�?B�>B��B��?��BVlB�A��*Bh��A}��A�.&B�2   B�>B��A3�B�H�A!`-B*|AP��By��A�υBl�Bژ"B�i�@EE�A��A�m�A]��By�e>AW�A���?u22Bw��A7+BB�.�A@�jB#�"B18�A7%?B
        !          32040: ��A�@HkuBu�BȶB<ZzB��wB>f�B�!TB�rB�؂B�@2A5v�B�pB��AO�B�4^A�P�A�A-�B&�A�%@�B7�pA'�B�H?@���?�*�@fc@s�B��Bӱ@T�*A�09B�BX)lBlt\A_�LA���Bi`FBJ��?n^f@��}B���A���Ab�[B$^A���?�B8B��:BL�A[��A�enAԎzBg>�hiB���B^�pB�BltBY�[B�F�A��6A�^qA֭�A��7B��B`�aB{h�AS��B��A-$�Aa5A���A�J^Bh2B�Q�@�2~A"C�A��xB        k�A�՜A���B�V�APG
B|cB�/\Bڭ�B��2A9��@��B?
        !          32041: �By��?耳>`#{B�p B�vB�BBT�$Bi�A�qB���B�&LBV�|A�&yB��B'�KA,Q6B�ǔB�SAd͎AjS�BK/�B�zA^��A��A?�A�JBP/�B�A�L>A��B�x�A�*�Al'~Bgd!B�KB���@�� BL��A1��?�}:B$��B��UA�cB`�B��nB®�AM;BE��A��~?� �B�&8B
        !          32042: (�Bb�BDwB�&�@�ݹA&��@2u�A�B�3Aan�B/�MBY�4B
        !          32043: �A�QBD�UA�}�AQ�EB��B�:fA(-{BYۥA�?B"��A�
        !          32044: aA7q+Ax(mB�iBHB�Ao�`A�y�A1� Bv�A�B�AE��A�A8�AcwB�!xBDŽ�B��xB��YA��?%'A�Z�A\� B9�LAH�sB��A��.B
�-B�2�B,\BPB<�bB�hBH4GBS�
B,~�A��UBW�A]|AGUWB�\�AB�,BӜAҥ?B��WB71�B~��A�,�A`­A-�RA_B��BeB��B���?�m2A�}B�s�Ad�1B���@�lC?a�A&��>=G{B��gB>*Bƴ9B{)xA�naB6,B��IB�[UB5�
        !          32045: A_2tB&�A�B�TB[B��vB@,�B�o>B}�AT�B�y�A��FB��Ay��A(�(A�B�5<B��A'V�A"�+AH��A�B7p�B8W&B�aBEm�B$
B�4B�FBpT;B�وB�^B�tuB��B��Ac�?K{)Ar1B��FBV׉BY͋B6m�BR�PB��A4�NB��DBy��AC�B��A�{�B���AGt/B=�hBs�,BF�B���@(&^A�rK?CcABH�?q+XB�QB�Ac�Av��A�?0BxƎB�6OB�B�(�B=
kB^��A��fAe�BR�@�d�B�rBY�
        !          32046: Bu98Bq��A��gBF��Ax�A�׆A���AkY�B6�B&�A���@�i�AQ�[B�TqB��B�|pBX@Bn�A�ێAr�yB:QB9�jA�X�A��Ax� B�W�AM�9B`�
B��PBn��@LhA�!�A�G7B�v�A��yB�o�B'x-B�˷@��WB�B��B?�B�XZBw�xB��DBnKB�+/A].]@�"MA�B-�B@@�BZkCBN�A�s�B4a�B�
        !          32047: B_��@<��A�-i@��A]J�?,|B �4B��hBnHDA�}B#=`B�d0A�яA���AUK?A���A<Q~Bߗ�AF��@ގ�A=�A�TDBh��A�B��B(�AI��A��BBB�?�AP31A�0!B�5aB�R<A��EB��NBt�A�YB�6TBV&�@��)B�=�B#�B|{B|uB��A��0B��@��Bb2�@��#B�Bz�7B�2�BB�A'�Ar�bAݔtAK�B��AX\�A��B*gnB��aBk)`BF�pB�Z�A��YA�TB}�B�OjB��(@vI/B*��AH�BB�7B��AɊA�B1B�(�ArKzBа�Aכ�B��BxT�A�@��kB�@A�@�4!B��A��Bv�A)V�B��B  ��B�*B;�A�)�ASL@BP�B�bBm�JArnZB/Y7Bz�A<A�+CBS��@�3@Ʈ�A[��@�A�@�B6NzBF9LA�6?�w{B�Au��A#)�@7y@��B~.B�_B$B���A��AfB�iB1��@�#�@:��@�B���A�ɋB��B�
        !          32048: �A;$kBǤo>�ӉB=�YBL�,BM�[Aǣ�B��@DpcB$��Bb�KA�|B�4B7jBA�B�/�B5S�B~'iB}�A�E�B�T�@BchB%�kB4��B�yA�byB�{�B�5QB�#B�_�A�JcA���@r�B,AT.RAı�B�+�B�EB�vuB�oB&�@��UB��A]�%B�r@^U�B3�%A�BO��AW6�A�>TA��A��9Bؽ�B���B��?��A�&B�Y�A`B�NB�"B��B0B�@�YB5�AToA-��A�+A�7+B��
B��uB��6B�BBx'�AjbA���B�]@�J   A�w<B�1%A�U
        !          32049: BI��@#]�A8s
        !          32050: B5�B�(�Ap^�B�A��B�=qB��?��A腴AvB8&Bq�Bʟ�AU4�A4�B��:B�qGB�"�@!�lB<B3\GB��OB/zB)XrB7�wBf�xB!�
@���@/ڷAA�B��EB��B_GCBK�7B���AK�A���A)hpB��B��vBJ�7B�iEA6�B�/�A�B���A6a�Ah�BD}B���A��At'@�B{B�5Bd�UBku�B9�B��IBa��A��?B��!B)B��A��A�8@
        !          32051: �UB2B�E�B��kBsHiA�{A��AbK�A��dBQ��B�ΦA���A7�Bi�}B&KB@�OB�M[A��B>��A
J�A)�B�JBV��A�)A��NB\�A��B^7B�tB,   B��B+B8L�@S�FBe{|B��BU[�B�EBސB�'1Blu'@�@,B�j�?��AK�B�e@��    B�#.A�b�B�hRB�(A��_B�NB��SB�&B�?&B��B�өAx�|BҰ]B�cB�     ?�Z�B��AJB�L�B��^B�qB*}�B�tCB�[?wK�A3��B�:JB4S�Bz�@e�iB�o�A�!%B��lB&�gBډ�BчAB��@h�BD[A#RUBY�GA���@Q�>A�?MB?�fB��BN�A8&B+XBI��A��B�YB��\B
        !          32052: GB\B#A!h�@hu�Bm�]BjB�A)B��BLbB�X#A��pA���BPOMBER:B2VJB
�?��A�"�A�~�@�e�Bb�Bc��A��)BI��A��A�B�W1B�֫A��A�@l`B�Z�B�Z�B��wB�>�@�tB�h&B|g?B
�&@�E�A��dB��LBp#�B^/J@�pB��
B%��A���A�0B��B`�)B���BZZBz�(BA�>B
        !          32053: QZA&��AP]�@�AN�AzKA�j{B:G�BHg1Bp��@��@�V�@�oiB�%B�@~B��'A5�B��1B4��A�2B7M(B��xBd�RA�(Ba�:A��<B���BL`�A�A��&B6"oB�[0B��B��BֺB{��B6�BCDB��B*�B.��B\�Af\B��A��dB]�mB!glB6M0B:FB��B��?o#}B��MB- B�A�   v@CuB@��B=�0B�8UBYWHB�ڊB_��BΕ@�
        !          32054: �@��<B���@g    2B�F�A5�,B�>kBWn�A��$B�B�B�B��)B��A��Aw��A��Ac��?�B�A�A�X Bv��A]3�B��}B�Q�B��VB�A�9�B���ARd�?�
�Am{@��A,.*AN�A�ZB�`_B���@a�GB�M�B�_�A��jBɎkB�~�@�
B�_B-��A-UD?a"A��xB��jB_�QB�EB}I�B��B�6�@�DB^��A�s�B��bB6��@�#�A��B���@B��B�UB_RB      �zB��Am��Aݜ@�pBfpA�Q~B�ǎB���AfO�AFb`Aq{TA�:BB�_�AL";BG��@�GA]tA�TlB��>AԃWB�VB�/GA�L`B+K)B�ZB�S�AU�gB�'�A)�A㴑A�BapB���Bs�BA& [B'?B�B+��B���A�B�BE�{BLqVBEryB��?Bk
vB�m�AU�{BW�JA]��BcpB�[�AnKA�AzȁB�ByB�ӕ@@u#BV�1BݜA��Ay�lBށ:B��AA���@��rB��B��[B�By@h�)B�(DB�)_A=�[AXQBy��AS��Ai�oB��A"8nB�OVB��LA��B��{B��:AłrB���AW�RA�VpB��B���A�3gB��QA�˃A)jB��@��Aݞ�ARP�A(|B�q�@;-B��A!�>B�‚B��Ba�A:��AA��B���@��A/RB��tA�,EB?1B�+Brq0AČyB�PXBv��A��A~&B���A��/B;e�@��A{�nB���A�B�@B?VB�g�B���B`!�Ah��BoB�GBt�@�XBxB��OB�
        !          32055: �@�R`B�2B�t@��XA��AP�A"��A �CB��EBȟaB5S�A�A̼�A!�eB�8%B�<Bm4Ao�BRBIB���A�oATDHA0RB6M�B�(A�~B�r�B�|�Ax�CB]cB�$B�);B��A�0]B�,VBK��A��B;�QBuMyA��@��:B���A�bTB��fB}CB-��A@L@B� Bj   AU(B��B�=^BY�)BAթA�@%B:qB�      �B���@�A(]�A#�>A��2B]0B16AB�XAO8�AF��@r�:B' �A�F�=FvB�a�Au/@B��@-�*@��yBKJjB��-B9�=B3)FB�
�A��A2T=@
        !          32056: A�� B�$cBѹ�A�.B�fA��SB��A��BIH~B]�AK�BL�[@���Aq��@��B���BIsBUIB��cBMFAV_<B�AG�RAz�@��@���B�[<B$ÇB:�[B��Bk\�A^�{B5^UB�)0A��A9(�A�!�B8�Ae�&B�qAxK�?矢A#��AO*BŘ�A        ��A-�iB�\�A�EIB3;B=�/B��;B�;?B�BD�@)�FB�ʂA؁A���BkD`B�wSB�&nB:{KBƒ�AǺ�BAIB     "OB�ыB�z�?�eB˘�A5!B&e.B<B�U�B�ȏB*;7B��AX��As�2B:�A��oB���B�&@[�AGW
        !          32057: B�Z/B{d2B��B|�^BA�&B��dA�&VBfYB�B!�i?�u�A�>�A�h�B|�A�abB0�B��qB�[Bn"�BS�\BeJB�1BBkAB�(Bt�A!�LBA�A^?B���A��sB��A�80@�Y�>�c@B1�_B�6A���A�B(ԃB7�$B@ߊAksB0C�B�e�At|�Ax�@�v8B�t�AvB�pgB���@�{vB��RA�m�B���A�X3A�KVA���Bp��A���Bߘ�A?nAu�yBg�A�`9Bu�@�e
B-LB
        !          32058: ��A_S A�hiB��~Ab�p@7"_Bv�A��B>ʒBy�B�$A/��A|�BBG�Bȓ2A;�A�
�ArS�B&;?HK
        !          32059: A��B<�B��Af�\BP�B!�B��C@#kB��mA�BF�A8S�B��EAБB��A���B��BZ^�AC�RB��B�+YA�a�B��@2�MBފ3BJ�B��A� VBs��A��OB�L�AҎ>A��A�)Bv>
��B�޹Aw;B�e�A���A!ߎBbـBq��B��B�U    BoB
M�BK��A�NNBL�aB;PuB!0B?�AB=�)>�*A��B՝�B�Bh�A�p�AkA�@,BeB�%LB���@hh7B=C�?��BY��A��=�wA��A�-B�}�A�B��A�U�B!$�@�(�AT��A�UEAU�Bl(�A��uB��rB
        !          32060: *BR�[B��#B���As�A>-B�͑BXQEB(�Bz�\B�qBcCB��rA^�^Bn�@rW�A�W�A�6nA�rB�#Br@B���A^�B��PA�x�A���A�)BD�BW�Bl5dB�/�B��mAt=B�A�g*@'˄B�/�AԎ�AyE�B�#�B�X<AlekBvE�B}/@�g�@��B�׍Bl*�A:m\BH�eB���A�q�BZCSB���A��:B�"BݙYA���@���B.�FBzGB�p�@��B�I�A�i2A�څB<Z�=���A��$B�&cBU+BBԾ�A�\eA"�B38B��B�=OB�S�BҧA,�WBʿA?��B�5B��B}�B�I�@��&B`�bB�o�ACjAB��A�4@s  B��A�F�A�\B'��A��A��_B�B�EmB1tAkB��^BY��A(�wB%n�B�XB���A��AaxB��mB/�@A�xB���Ad@�@��*Bj�B!_BԍOB�оAם�@�#B�l8B�nC@�>�A�V]A��
        !          32061: B��B~Ϥ?v�A4τA�p�A�ChAP��AS��A�@Z{TA^�Bw��B�fBB���@K"B�mB��A�&rB�BA!B�A-��A�BA��B�B�=B�DBٽlA�%�@�TmB�Q7B�5�A�p�A�
AL�A�#BRcBS�@�#XB��^B-s�B��yAً�A��&@FGrB���A"��A�?t@k��A!��@6�mBs^�B�]zBăB���A��GB�cJBW@�@ح[B��dA��3B��A�9}B���A�utB�PxA�RB���A
        !          32062: YsA]~�A�@OBr�0A|�c?<u1BӐ�@!-�A���A���AosB�9�A��xB�y�@<iB:[�?�jbBΠ�A�%i@��RAt_
        !          32063: A��A�X�Bx��A�H�Bd5�A���>;��B�2BR͗A6=~Bzd�AF�A�2xB;!8Be"Bs�WBĺ�A�wB/�|@��HB��BĽ�A�+}B�]�B.��B��A�=�A��dB��uBn�TBߚ�B��A� lBE��B�uKBd�_A���A���A�qjB��B�lV@(�8A\g&B�o�A@<kB��@X�(B/�Bo]B!7�A弢A![B�A'A��oB
        !          32064: ��@Ir�B#)�A���A�DA<(B��AX�+A��A��A�o�A���A5V�@�.GB���B��A�� A^�3BU�2BvϱA� B�XqBRDŽB|�E@9W�A�v9A�OB���A0�uB^�jAɂ�Bݣ�A�       \B��A�!cB��A        B&��A*(�BE�A�#%B��B�0S@��As�hB<��A�OEA��SB�cB��jB��*BE&1B�PB���@ԛ9B}j�A��B�B��<B9��A8Bz^B�v�B.6�AS�B6�=��pB��BM�B�%�B>�|B�*A
        !          32065: \�@�OB��AUs A��eB%h�A���Bs��B���A}8gBu�B�$4B���A�@B�S$Bt�VB;S�AP&?��APJ\B�+B��B9eQBo�Am�SB�O!AH*B�28BA��AM�@�x�B�V�A
        !          32066: ̙A*��@��FBw�OB@ޒB���B�aB�=@�#�B*l�A�B�1B�4�B8KQB��BE:B��@B�>}Bf��A�{^@MWB�I9B�=,B$��AT�KB%GIB�3-BH{hB��@� B��A'_�@�IB�;�A�0}B�B�#hAr�A���B:�B        4sB�΁@��\A&   Bu2@A�(A�fA8;�B��DB�eB��A   ��A�LA*�A�7A}i�A��A�B�BlU.B�9�A�z*B��IB���Aj��A\��A֡A��B��A"7�A��A��?���Bݰ�B�>B�-$B�B��BF�A�ppB|�A��A�p3AqGtA<��A�c�A�w�A�aA7Q�B��BKB�,jB�4�A��A
        !          32067: ��BF�,A'P�A �?vJ�A� Ag�CBH�
        !          32068: B|��B��9A���Am�Af1Br"B�]B��A[�9B�VEB��A:@�A�~�BโB���A�*oB_�~BoMB"{A�SBÆB!�wB�?�A8�A��%A�d�@�66B�&�@��hBϻ�BE2!A��A��B��,BI�\B�+(BzGB6Y�@��#B/��B��A|�=B��A"<qB�7�B^��A=V'B���A<�oA7�@;XQB�8�B��A��A_�BwA��B��/B�E�BE�Q@s�BOK�Av�B8�WB��TB]y�A�pB7�B��LBqO�@�U�B��RB��sA�BY��@C &?xA�AOD�A(&A��B=lB�!�B"DBC$h?��A�$�A�:BbB��B
        !          32069: EBr_B2B�
�B�K+B��A��B��dAk+B�dB��A�&B �WB��BɁA0&,B+��A�BB��B��Br4B&�@��1B_��A2�BK[B��A]�A���@��AA5ÃB^.Bw��?�
B��A��pA��B�xB�I�B���BG�B�F�@��@���>��_B�ECBӠ�A��A��Bh�AI]B�A���A��Bs&�Aƒ<B;�?B���B�UB�Ͽ@U�ANBxU�Az��A�7BғB�C�B��/B�(�B[(�BD;A"��B�EB�ɈBE�B�!B        �Aek$B��A�6�A�'>�$�B0l�?Á�A��)By�{B��T@uBC��@�U�B�dnB~A4!BA�9B��A��B�eKBy��B޿�A�R�B*�wB�uUBr��Bj>B)ߌB�GB���B���A��8B�H�A�a4B`��Bo�B���A��B]c�B|jB��AD�B�`�A7J�B��A�PBZ�6B^E)A<��B���Bf|�AT"B��BG��AB��A@gA��WB�mKB&L�B� ?�b?�B�FB�rB��VBR�B"/B�8B&gB��B3Y�A�(�B)vUAPګA�Aj�B���B7B��eBj�qB�+B&�B��bBgZ�AON�@a�sBU�OB?QPB�5jB��!B�$lB6�[@]߅Bx��?��^B�BB�B�6[B�4B�=jB�S5B��B�ʧA�_�A     �A� "@8,�A=��B�U�A>B�|�B�\B��hA(�MA�JmAd�PBY-A%�oA��A��AXA�Ak�B���A���A�3�A��&B?T�A�(B۪fA���?Us�A=�B�7B�N@�g�Bd&�Ae�BCtB���ASrB�+B<�BD�B��BO0B2�iA)�B��&A�B6�)?��aB��[B"ZHB�� B�I3B��=BI�tA[@B�wPB�&�Aq��A��'A�BASF�B��:B?�A�IBO�$B���A��VA1-�B��bB�R=B�B~-gBo��B �A`lB��A�Q�T��BY�
B�zB�`�A���A&
        !          32070: �B�c�A��"B[b�AKo1B�B
        !          32071: �BgZB4��A߀7B���A��WB�r,@�N�AD�FA
        !          32072: F5A�L�Au       1B�1B�lBmH�B�kgBe�0A�B�Ay|?BM|LBg��@�SMB]�vBɳ�@�<A��IAon�A��A��@BPE        B���AA�7B�)�A��@W&A���A�6�?N�eBs��BnQ�@ȁB��zB�c}B%=�B�)B�lGB��BU��Bj&x@P�B|(�B0�B`brB_v�A&c�BU��A�O�A��Aq��AsABb|�B�sB�zGBUM�A|�BM)�A��VB�U�A��A�v�B�YBv�HB:�SA��>�G�A=�B�{uBc�7Bk��B�A��B�V�B��Bs��A"A�B-�B~7�A�y�Bv�4A7�&Bf�?B�gB��6BD�sAnB�\[B�&�?��|B��tB>�@�M�B>B�B/�A0c�@�K$B.n�Bc�B�`�Bc�*B]
        !          32073: RBKB Bq
        !          32074: B⵴A���AJ�qBŏB�7�@f-�>��XBoO�@e}B6�SB԰�AKG<B!/iA't�A�l�Bm��A#��A�q�?�SiA2�_Bu؉B��B8}B_&A�y]B���Ba@F�A�G�A�*B�r,B�G�By�ZB!�[B�OA05�@�j�B��fAh�B<|
A%LB��|B�4�B�lA�6B��~B�ۏA�c_A���A�*�AI�~B��A�F�AB7
A���@�B�<'?���A&rAd:gB/b�@���A��4Bj�dBq?B��}B�0qB�SVA��nB��A[��BS�A���BB�6B     �hB��B�G"A�l�@]p�A�A�7�Ad�XB[�A�B��BS<B��#B�
        !          32075: Al��B8�B{RA>g?
�@�'�B�8�@&�!Bo��@fN�B�5(B2��A68SBdӁBI�RB�l]A�ZSBJ`B�@ZBY�B=B׌�B_�VBPV&B�-`B�2�A�iBd�BN�A|�B��$?�n�B-�?�|�A?�B��TAw]BB�^(B���B�JB�9xBz��B��(B?@�A��@s<%A��A�B��kB@JB&�9B�u�A:OB�^B�̾A��HBx�A=`CA��{B�cB�ՈBK\�B\UB��B�FBl�BD}1Bh��A�M&B�B%=�AKjB��B�9�BG�BI�B|�@�qB�jB@� A��A�=B��A�bG@��B�,�Ah��A&��B93B��A���@�2BTTB�B1��A��B
�kBDtBD^,A%
B��SB��B�A}L�BI9MB��B40gB1�UB�ϏBLj;B�j�@g4YB�s?B�&OBOJ�A�IB*�A�
�@�w,A�ByB"~A�&�?/�OB~�@��NBPV�B�*wBmH�BlއA��A+��A�WB�ըA��~B{�:A�?�A���A�-�@�G�A��BFBTĈB�&�B�t�A�UBU
        !          32076: B]    B�F�A�B9BH��B��B��A�&Bt�BI])B5bA��=B�:`A��A�B*��Be��A>n�B�OAR#�A�m�AOu�A�A�P�AE![B��KB���?w�|@p&?B��pB�:5B#ZBGZ
        !          32077: Ab(�A7f�?)DB�W�Am�!Bv�KB�X�@�kBͲ B/�B>KlB��BI+�B��o@�\�B�a
BT�B��AP)B�)
B�h{BH�dA!��@.%�A�}5B�LA��mB�*B:��@gj�B�4[BBQ{B�ȋB|fA��/B&�gB�=�AԮvB�k�A���Aܮ�?}�Bp�B9BVFB�JwA���B���@�nPA�AgB��{A�sBO�0Bw;�A�yAB{��B�;A�B��kA9�hB�;B���A��|BŪ�@K�B��WB���@�߉B��NB�/B�     <B���Au��B��LBk��A��B�{�A�ڱAh�?B��RB�yB���A�5�A� B��A_P�BhBS�tB+uB�xB��At�B�:@�iBA�5�B�:B�:BB�v*B�?B����cB~B��=Bӄ^BV��A&z'A���B�5BB
        !          32078: ��B�D3B�HPAF�B�K�A��@�YMB�@OB�5�B��?@BMk�@O�Bu�B�?(B=(B�v�B(-�A3�A�ŠA&+^B?�?�PB':�@c�Bu�@��{B��'B��A͵AA)acB�i�@%��@�B̨�A���@���A�o�Av�9Bl��Ad�9B��^B�9�A9k�B�A�B:�@vzBqz�A궞@!��A�G|BT�bBhcB�$@j��A7�B^�A���@*��@g�@UjRB�<yB�`p@��B�
        !          32079: �Aɗ@A>�-B�iBB�.Ai��A&nHB�d$B��Ab�Ba�7B[�iA�lkB�cA��vB,:�B/
^B��]B|�mB���?�pB,�A���A�RqBJ.�A��fB��
        !          32080: B��A�i.B���@�ieB6��A'�Bx�B  ��AM,   BfmB3eAI�A�M�A�5A ��B:��A`��B*��A�[�A��A߰A{l�@���AD��B���@~��B�"jB{STBt&<B�AB�&BG1B��AB"rB�rB���B�BpA�vBbG1B+�BY��AW��A�X�@H�xB4'
        !          32081: Bv�lB��BȉRB-��A\=A�6Ac[B��&B)��A�WB��A���A"oB��gB�|B…dB,�9A��B<t�ArVmB�ІAЛlAEAN-A���A�7        B�vaB^�A`@�v�A��B�B�1�B��WBݟ�@N��B��A�!�@���B�ЅBF�?�r�B��B��B'$*A�D)AN�AOB֗�Aa��@�k�B�hBntAC��@'BBk��BG��A���A��hB�U�A�DB� B�GBd��A
        !          32082: HvBvgA��hA��JB�(A�:SB-�jB���A\1�BT�FB*�A�[�@���Aҳ�A���A�6B=�nA�$Be�B�A�B��B���A�O�@�M.B��@�:B�_�AP�&B�B~z�A(ݼ@%��@�ɷA�z4B��A0\�@�sgB���B��A7@aBWXUBZ�?B{�5A:�tB��B��B�l-B��eB��A
        !          32083: �*B^%vBC��A�:B]$zAB!�%BO�|B��4BY�BXB��7BȁvB��vBQ��AT�B�ϊB/�A�sqBh�7BK�AB�O0B�lAm�A�E2B�Bn6hB    Bޒ�Bծ�A~��A��B���A16B-#GB|ZJB���A(&�B�A.a9B�؆BN��A(�/A���A�B��A
        !          32084: p�B��?�q�A�yB s�A&ZB<��A-G�A�Bu�B�$B���?�dAD��A�4A�G�A��B,)qB&b�A��A�rcB�-�BIӿA��AB�G�B�]u?��A\�A(H5AI�-@l��A#�O?Fb�A(�B��Br�A�3MB`l�A�'+Bv�B�ߓB�N�?ċ�AK�8B���Bp��A���A>hAY�AhH�B3��@�Z�A"��A�3`B��BiA���A��Bq־?Q��B�~;BIlB�A XB
        !          32085: ;ZB���@�aB��3@4�BguMBB��B��4B��AHDB�eA|��?Q_yB�Lr@�_uA�zxA(v�B x�?���A)#SA��=A���A���@�4|By��B��QBF�zB_U B7�>B(m�A�H�A�A�T�B,�'B��B�dBC�Ao�0@�M�B8�<B'��BE��B$��A�9�?��MB$�AS
        !          32086: @h��@�?�Bc�,B͌�A�cAD��A�gB�6nB]�#B.+�B�)�A���A�8B��A��8B���?��A��YA"��A%�%A�`,@�vlA�&_A��`ACB}*B��YB�8�A�.�A���A�Bf4B%Q@y�e@��A�OXB�|B�_A�>�B�[�Ar��@̦�@\{OB���@5u'A7$�?Z �B���A�eB�*aB�zBbBBu�B�h�A�&OB9�_Bƀ�BbM&?�\�A�&�A�ŽAI�@��n@/�B���A���As��@h]�BRɶA7�A�yB2i@��@�0VA���B�PA���Bl��A`K?:7A*YbB{�B��?�l�Aɭ$A�&B�6fBlSA��B/Y�B��B�3�@�"rBI�B�B�p�AiRlBm��At֚A���B��B9�B�X!A[�ZB�`�@a�%A��$?C�B�t�ACBw�UBү-B{VA�GB�c�A��oA�|*B��@�ʃBRR�AwPDBR�EB�G!@Ŋ�A
R�A ^�B�
:B�(
@�KtB�w�B�`�A���A�KB*�B�zsBDuhBFqB>"@�ZBI�A�A��UB{s�A�yLB̨{A��A}��B Y\BHoBi3B(bA���AЂ[B���Aw��A���Aj�A�_B�3!B��|Bu�`A��{A��;@��@A�!B&<uB,gB��XB,��@J��A�7oAk        @Q�B}݉BJ�YB_�4B`��A���AwmB��KBȘ`Bs8�@(B״uB>�Bm_B[s�B�P�By�(B�OB&}�A�1"B��ATGBL9qA׏:B.UB���A���@LhbBև�As�yBthB�B��6A��A��>B��A�6�Bwk�B+̏B�8BL��A�B��dB�gBJV�>�P�@�8�A�fhB�2A�?�B�
        !          32087: 
        !          32088: B��,B���AK�qB�X0B��O@��5B=�A�#VB�n�A�+B�kB�X�BycmBY %B��=Bg8B�5=@���B��PB�JWB���Bc��BN3cAScQBZ��Aq�]@߼8@�.PB�_$AiS�Aj+�BVlB��sBAwvA�-A+��A��oA�}�A$�]B��rB�&xB�GY@w��A���B<?'B��:B� �?m�LA�OB���B�nB�D�@Ң@#�SB��FB&�NBB}BȢB�8Bm�@���B��A�?�A���A��A+��AB�HA
        !          32089: �B�p�BsA5BX�B%�B)��A�KBo��B�L�A`B���B�c-B�
        !          32090: 2@��B�6A?�BS�>BWߎB�h~B�7�A3A��BA�AAy82B�JB���AlC�B���B��-B�Bt��A��EB)�A��&B��A��eB��k@���A�:B�7�B�*B���A�d�@�CCAʡ�B�jBX�Bu�DA2?�@���BTBF"BnPdB2N�A쉭A"+lB#-�Ax,�AC��BȑB���Al\�B�Ժ@boB�u9A��#Bu#�Ad�MB��CB��A�K,B;?�@��B�*LB�u�At<A�C�B��A�=AgVB�+�Bm��AY��A:��A�&wB��   A�J4B�{B���Ag�'BMQB~j�BS:wB��B#}�B24�@���@1uiBe��@C�\B��B���B���B��8By��B�s
B�B�v"B(      _A.AB/:KB�fBM"�B��A�^`B~�B��yBK�B�FBO?A�{XBR     1B���A`��Bc6B:�{B��Aj�RB��=BQwB�%o@�CyB'B�PMB��NB���A�d
BV�;B˫�A��B �A*.A�YKBW�B ��A��JA!C�B��AbBl��B�/B�<}B�љA��`BRL�A���AHL3B�u�B&2B㱵A�VnB�r�A��A�^^B˵A-^�Be�@B�IBt�[BR�:@ƉCB,�-Bc&@{?�A�p�@�9Bb\A{�8B��uAy~B�
        !          32091: B�B��A��&AV��B���A��B�1A�Q�A��VBc�4A�aB�+�A�q!B/Y�A��Bpr#Ac\�@�OB�5yB��By�A�PB���A�@�@�Z�Aw%�@��CB��A�@@A�dB�GtB�
        !          32092: B^ZHBWWBB�AE��A�WB%��A�a�B��?4V4B#�.B
        !          32093: �Be�ABo��AC��A�ՐA��A�A4�B�)k@��B��KBٽ�B�:BB���A��!A�KBÇ%BZ�B�ȓBH9�Bc��>;��A��Av�DBP��A~��A���A�ucB'�r@�h�B��cB�B%A�qVA֔  B�&A&  �A�:.Az"hB%�BND�@�B�.A�skA��`AD@VBS��@�Z�Bl��AxHB���A2?�A/��A�L�B�3B���A�:sB3N�B@�EB�Z�A��@~�B(�A/�%Aq&BnoB��B2��Bx�B-͟A�"B0<B6�?s&�A���A�5B�@�]BW�)@�i�A�{A��A+�SBe׎A6�|A�M�A�W�B��A�#B�(�B�gA@(1B�|�B7�BB8��A�MgB��AߐrBf!�A�B��+B#C\B&͔B,S�Ab�Ag�'@I��@���A��CB��WB�]B\�&B���B-��AdzZBa7mA}o[B-�@�3Bj&BBq8B�u AW�#B�%)A�5�?\�1B�s�A{BF3�B���A�)Bs�Bd0B�C5Bx�A��A�~PB��KB�9B5�>5�!@��#B�'B!B5��@̉A�I�@˅A�qOB�0zB7ږA��    B>�WBs�BH��A�I7BS��B�rBVYoB_�B��PB��8Ad��Af-�A���Bݭ9B�>�@3N&B��A��A�DOB��_B))sAz�B���Ar
        !          32094: B5p�B���A�3A4=B�҂B�m&A��A�B{wBļ�B�#T@F�A?I�B��A�/#BD�=Bax0B]crA��QB�#B�jABi�{B!z�Av�uB���A+v�@]p�A`^!A+^�B�7`>]��Arv�A�6B�0mB�
B��A{6�@h'Bi��A�LA�vB��/B̼!BI��A�,B���A�AMU�AZc�A�`Bu7�ByE5B"9^B�ȒB�   B��UA�R�A��B���?&�B+�dA��A�OB.�B��qB��A��<B�(?\B��*B�[�@�UB�שAh�jB   �A^N�?ʘB�@B#�B;��A^��AC�Ab��Bf�B�G#B�0�B��[@5DB��Al8@B�+B��A�(�A�E�B )NB�mB��C@N/@��B��"Bb�A� AP�B�1�BU�BǨaBm�B��As�_B�?B|�B&ח?)3?�09B�.�A6uPB,K@IA�A���@�|{B�S�Amw@-y�A8Y�A�a&@EnB+�A3
        !          32095: �@՞�A�݁B>фB3�TB��)B!ս@9@&B�_Bg��B*3`B��@A�
        !          32096:  B���B�B�΅AhGB�BSBɡB��zB
`5B?1�A3�A��B�bRB�&w@I�B���A˗�A�qA)�?KumB��WA7!�A��A=0sB�q"B�b�A�g�B� BBuB�ȒB�*B��?ỎB�a�?��IB�*�=T��B�gB��
B�`B�q)@�M�B��BA
�\B��$B�y>B7�A�F�By�8B�[�A��AflXB�FSBE�tB�qfB(`A�C�A� �A�+�Auq~BϖB �B�BB��$Aq�D@���BkʈBn��A=rA�`�A�hB�KB<R-BXe@|�vA�ӍB�O�@��"B
        !          32097: *�AǏ�AܳMB���A��}B&YBc'B��A��"B�n B�^�A��BM��BGLB��Bυ3B��A�;�A���A{�[B�?V�YB���A��B�8B��@BE{�Bn�BZ��A�
        !          32098: VBQ>NB+z�A��&B�O%B��AB��A&pB�{A�65B�ҔA<�RB}f       B�B���A��iBJ�B�K�APl�A&{MAÆlB��B��AX|�@[�8B@P�B��5B�؉B�'@!�qB�)-B�u'B��QB�
        !          32099: @��]A�R?HώB$ՑBp�@�}xA�t�B�|KB���@vUB��)B�o�AqjmB
        !          32100: p8B��<B�\@�x�B,�B�
_@ؗ�B�p�A4][BHQ{B�{B΍B��AB�!B�,8A�|@v�uBlR�B��@#oB֮dAD��A=9hB~�AX>uA{+Bv��B|�^A��B}�>B�0YB�^�B4�AO�A;~B2B�ɬA��+B�+�A�B���B5g
        !          32101: B
        !          32102: (B��B���A)�?3bB
        !          32103: ��B�@'Bg6KBY�A���@�ёB�1�A�f
        !          32104: B��5A{F=B�P�BA4Bu�lB
        !          32105: OB�VB�
        !          32106: 7B*5IBc�A�.~BjeEA��NB���@l$rA+4�A��BӘxA�vB{��A+�A�
�A^آA�%B�BB��A��CA��rBͺ�A���A��jB_ȄB��B�J�A�4A��~B�AB�BYI�AʉuB"��A)��Ar��AӬ�B|fTA�t|Bb BڍBStiB�MOB��iB�FB���A1�zB'g1B�Bd�}B_��BH#�A���A`��A՝�A@˲�\O�Aá�B?C)A΋#B�\B�5�B^�%BX�gB���Aj�B�{�B��\B'�XB&�d@C�Aݍ�B��mA��bB�ϢA���B�Bi��@c;&B�W�A�7mBejA��2Bv��A�9{AZq�A�O5@�f�B�"B?&OB��.BY�2B^BB�){BB�+B���@��A0wB��eB�@�A�NB��dB��}B�aB��B�yIB
        !          32107: I�A�@B�A�A��A��V@���B�tB"6�A���B5R�A*2\BF��A��}B#H&B�B��aA�rKB�a�AҝuB�яBl*B��BDLmA~|�AxsQA���@5@���AL�AG��@d�&B%k�B2�{B��]BAa�A��A�{A��AmGdB�B�G2B�?lB
        !          32108: /BB��mB�B��A��BG�B���AѶ?@        i�@Q�A��dB��A�0rB�/QBڰ�B�ÁB)��B�zE@I�AB�` B�=B5a=A���@v�@B0�@��ACA8�B���B��KA6<kB�/�Af��A:0\B_�;A�]�@lByAQ%rB�d
        !          32109: B�mB��?-�;Bd�%B�1�B��V@�WB�B�G�A$l�@��CA{��@9�1AM@@쫒BxhB�L�B���B��FBC�A�U�AbKBл
B/|�B-xm@7�UA�O9B�f5BE2�@�q�B)��@O�yB4
�B|�>B<�Bs��@9&SA`*`B��BрA�L�AіBB��[B��MB�<�A��B6jB�(4A��A��DB� XB�ZwB/F=B���@���A/��B�gB���A�7A���@���A�B��xB  �fB�RQB �uA��CB��A��@���A�J�B�� B�AB,�A���A�KkA���A�B`?�B�#sA�1-B?��Azh@�OB*�>BtHB��MB̚B��A��CB�OGBm�JB��BB��@���B�&B�EBE�@~�B��?B�P>Y"SA���A�`�@mMB�~B�?hBdsNB��A$��A
        !          32110: �Z?�|�A>xB(e�@���A7�
Bz�GB(2BaVA6�EB�#@�� A�E~A�=x@dxNB_�B0dJB�VA{N)Bi?B0�/B�FB��?Bu�BF       B��A��RB�tdBz�AޠEB� B��/B5^.B�R�A�<Aq�B���A�V�AFl�A�k�@F�vBy�B���A�i�A�"TA4N3B)��A@�sB�Q�BF��B9.�Af��A5B��TB�2�@xB�x�?�#B!��@�&�B���B2�B-�]B��B-!�B3��B��B�%�A/�|A߹BQ�nB��Bq�7Bh^�A��[B�XnB�4�B�TA`1�A�A��cA�%A��AˏxB3��@�:Bh�*Ba�Ah;(B�G(@�w�B�RB8a�B��~BsCB��A���AV&B'qB�XBMNkBB��AV̗@R�1B�6�A�,BuKB/&B$6Bdf�A�DB�WB��p@�SB5B�B��xAC}�B���A���?e�rB�'�B�/�B�0B2\@5Y�A��ByfBN��B��[Bݔ1B��B��+A��A�>$Bo�A��+BBZ�?&.B�FB��{BU��A8�AV�Aܐ�A^
        !          32111: �@v�%Bj)5BY�GB:�A�8B%��A)o�A�K�AA(Ak��B��B^�@a�CBb7�?<LB��A���A=&B��6A��An8cB�!�A�;
BuDB�g7Bj�B!�TB��B][�A��$Bb��@~�FASX&AGz�B@�B2�rB���@�@��.Bw2B�,|B.��?|��A3hB���A�BQ�B���A��BҍfB�\%A�HB��oBe�AgAB�E�AF:A��B�1�?w�DBo�A�NB��^A
        !          32112: l�A��A&"cB��SB�2B(mB�d�AFmBv�vB���A�mB봾A��?���@3�zBz6�B�ܑB.��B���A��'B���B/�5BF�A�_B���Av��A*�RB4ֈB��B�g�@�7�A�\HB�ARB���Af?�A�1wB��B���@�_-A͊'A�B>��A�!dB�3]A`��@���A�B���B���A��,B��?�ZB�r�A�sB��MA��tB���BƮB�[N?�0\BqjhB�4B�|=B�TB2)DA2rqB%5A�A"Ap�nB?��A�_[Bh]�AuFoB�/�Bl��B&7�A�mB�QBq��A��At�$B�43By2�A�eB�MB<XB-�
B���@]/�A��B��@��RB��B��7B��A��A���@�?�@�%B
A�  BTGB�AGB1NFBH�7A�zB���?��BW�B�S�B�N�A&��AU�A�w�@ns�@�Q�A.UBERMB��*B$�<A�c�B���B�IAA�ybB��B|��?oB    N�A��UB��A��)B�iB�K�A`/B�-�A3BYD�AFl�BItXBB�K�?��kA��A5JB��BJYqB_s�A�P�A:i�BrׁA��dB8FB�B��
B&�tB��FBcyB���BR�DA��!B�**B��1B�$B��zB;��A E(Bn�mA�UBO<�Bk�EB��iA"�fB���?g��A���A�@�A4Bk�uA�cA�2cB�|�B�P�>!l,A��%@ԁ�B��+Bx�B6�B�݇B��\AybB9�A���@��BH��A��>B>��A��BE8(A_��B��B�A�"BS4@B2��A/�A!bAnD�A���A�B]��A�8iBpWB:rSB*��@aBiBRZ`B���A��A�QB6�A� }A��B��B�y�A�xBF�A*ԇB��Bw\�@{�A�d�B"�BCU]Be#kB\S8B&�A_=B�dA��-B�b,BkmBn�B0�A�6;B�B�e�B99ZBE؄B��A��AX8Bm�yB�h�A��QAx�B��nB�zBC�IAm!A�]B3+zB�6�B��AkB�()B���B�<B��B
W       @��:B�~
B�!]B�O�@��sB��A��oA   lJB)��@;B'eB&BB,V4B(BNj�A�fkB�ZB��/AgqeBz�A�ԕ@Cy�B��B���B���AcrA*�B�[q@�A�&8B�~]B�GB�ڍB�R�B�M\B��A`S
        !          32113: @P&HBX
@�dB���B=�?J�
        !          32114: BSK�B4��A��A��?��B���A�yB²@A��nB�VA���Bl�gB+&B��B�OB��RB�b�B��7BI��A��)A���A'w=B�I�Aě^B�7�A��B�.B���A�Ap�fB�܍B�qA�*A���AaόB�n�A5/B�yA��HBV�
A9��AC��AJ @�B���B�ۆB��LB��Bm�A��B���BA�9A�pB�yB�ilB��iB�RB�Y�B<�'@B�A�TMBy.aB��WAPzA��CBK�AcwpB車A&wiB;�DB�-�@q��A���A�^�Bӝ�BzeB�J5?SkAP�lB�gB{�[B�Ù@jq�B�WBhCGA��jAA,�@��B(��@j4�Bl�A(��Bb�5B�>pBQ��A�/PB��@&A�EkB�1Bn�yA/lA8�B�A_k9BÊeBV_4B8S�A>B$�]B\,EBRA)B��A:�A?g�B�L�?r��A�/�BI$Bf�B)X�B�A�@�Z�A�f�BgB�CKBk�dAh̒B��A�?4Bn"�A�OB_E0BDςB�%B�_mB�+A��qBn�AV�yB
{|A3/�B͢B�LB���BM,�A���@��@'TOB���@�o�AC��Aq��@9��A�]A��BX�{B�BA�yB���AiyQBg{�@�X�A�I�@�        @dm&BMo�Ag*�B��A�@�A��B�[�A��A� Bh̎B���@�\c@G�B"�B�3=A4E�BW�vA���B0{+A��sB�ӄA��:B�OqB���@���@��A��A&�.BЅ@gd�B�ćA�G{BlA͖A��@Bsq�Ax��@�[[Bmr�AO��A�u�A�U<B��A���AS��A~^A���B��pA�6>A�w�A���B�&JAs��A#�B��"B�?aB�f�A��A&�Ao�@o`�?�B!rB�J�@>)B�;�B�Y�AB'�?���B��Am.�A�WA��jB�D/A,��?���B�PB�pWB
        !          32115: �@��?�n�B�`�A}�XB��a?���A���?�>/�=B��An��B���A۶�A�fLA�1VA�A��6@���@�lB@��@�m�@���A�xB�       �?GT�B�eB!h/B��V@�*WB��^B"B�B�A���A�_TB�GA|yB$�B8�B�NA��"B��gA/e@�lB<�B.�A�A;�*A�dB�d�B���@<TB��!A�z�A��:@�<:@�BOR@&��Ar B��B��@фB<�'BO+B���A      |J?8KA�.[B:�0BE`3B/nB�ETA�,B�/pB� #A!�B�F"BrLQB��PBP�!BS~B�ϑB铊A1@�B
i�A4�B�CB&JB�:�BX��A��@�܃BjpB�A8�~B��^B�SuB~�B��TBϛ�A(PgB{61A|�B-�A!�p@��{B@ʻ�BP�XBp�@�s�A-       A�ZA^dB��B�kuB���B7hfB��@   (�Bl��A��AAɑB��B�2B
>�Av��A��9?�$Bh1B8�BI�A�pA�h@���Ad�2BZB�dEB�}B�52B�ϘAqyxA���A�;�A$��A`�aBJ��@��1Az�xB��@�F[B:2wB(J@Apw]@��?B�T�B��BBt%8@l��A��B=�A=��@�Y�A�%�@:�>B�@�B%@]At��B�B��B��yA� �Bݖ�AAe_Ba�BP<B�\�A���B���BO�=A     ��Bk��A���@#VoBHu�B��Bl2BwKB�NRA�_?B�����H}A�^aB��Bn�&B��BqxA��vB�v<A��&B�.�@U�cB��XA��+B��A)��A@9CB#-�ALD.BԀ�@%�iB&duB7�pB�k�@�oBl�YA��gB!IpB�z�A�nNB�-nB�n�B��5@ۊ�BMN`B�H�B��/A��AWE�A��YB�B��BW�}B
�   A  }BZ��B4��A�A��A���A
        !          32116: �LAk�"Ba7�B`�3B~�yBpeT@bsGB�O�BM5'B�RB��A   �ArMNAST~A�v'A�4�B�iC@xz?�NoB��V@���>�tB��EB�mB�BՂ�A�R�AX�B�BЮ�A�̼A�xB,��B�srA���B���B��B���BJ{�@��        AY��B=ByTBOфB�J|B��DAO�B�*�A�]�B"�DAӃB
        !          32117: ՐB�L/B���A1B�_�B��xB�N�B?�gA/aB�y
B<BA�!�@f�R@��A{ΓB�I�B�
A�vB�[SB�B��A�e6A�F�B��;A�"�A�%@�H9AF��@_G@J�K@��vBj�XA��%B��AQ�=>p6
A�dB��]B�\�A���A�O;B��pB
�?B�kOA��B��@v��B�N�?�2�B��BD
        !          32118: &B�OB��\B$j$B��@�oKB{DuB�A��A��A�(eBa�fB��wA�4Aj3@>�qB�ClB���Aר�@,g�B�        6B�B<��A�yKBU2Bwz�A��#B�.�A9(�A(@B�B��MAC�YB�>Br�3A�ІBo[B��B��MB~�B���BA�JBs@ތ�@�v"B��?��IB4��BE]zB�k!?�#PBq@vB�ɶA���@
        !          32119: y�A���BR�B��zA<އB�[�B-�wA�)A�tfA;�B`C�BK�BJK�?�A���AB&�A0d�Ad�_@a��A}.,B�x+A��
        !          32120: B��B�@�B��B��A��B]�hB�~�Bc|B$5%BE5(B�&A�9�A
�A���A}��As�A��wB@?qB9F\A���APFB��B7�:Bc��A FhB�n�A鈏B�'A\ARB�3�?_,>w}�@h#gB�DAfFVA��A:�~B���A��B���A,�=A�p�@�2B?AB�fB�xB:�GB��<@�XB
�zBW,+Bg�@��rA�/1@��mB��B��A)��B�6�B�r�A4�hB�5A��0A��        Ak�$BX�AU/�?�8�B���?{>"AQ��Bx"�B       &�B5f>BR�@BG��B�[�B�f{B
|mBdJ.Ba`EB��\By�mB���A�@�B/�=Bm��A_�A�@�B�p�B�t,@�B)gjB���A��BOyB�B�B)L�@S�QBa9B�c�ARg�@�JB��Axf2Br��?�fWB��4B
8�@�3A�Bt0RB��@*�A]ƀ@���B�2�Af�<Bg��A���<VBB�)BA��A�EeB�+�BѺYA�O&B(�SB��XBbƃB��]B�utB��#BX�?���ANy�B#��A}3Bh�BPB�A�KjB�(RB��A2�1B��B�!�B�܎Buw�@��       A@�B�qB&zAB�
@�=�B�\~B���@��A�RB��&B��B�aBPy�BM�A~��B�AB`�Ak�A1RBC�B1�2B�q�A��\B���A�4�A�Aܩ�B��"Ak��A?=�AX�A��A��CB�I�@��@�[�B˜�A��AbG�Aj�'Ax��@��s@.�Br�RA[��@c��A��A_\�@vlB~֋B�� A7UBO��A���Aw`B��rB��uB)��A'A��B�pB`AtB�K4A�&�B��@��B�A}��Ato�BJ�|B�/'B�>�A�N�B��B�kB>�^B��Bp�qB��WB?��@�^
B_B?B�PB;�nB�v{A���?J�}A��B#*y@<^A�A�A7-�A��AJ�B��cAc�A��BNx�A��?Aj��=,Y�B☌A��A���BoB�6;B���A{U�BQ��A`įA���A�,�A�
UB%A�AQ�B�.�Bk9�AS�A��CATP@B���Bz�rB�LWB�B_��AB&A/�TAR2�Aj|AƧ�?�w�BQ�@��*Bdf�A�z�A
�;B:�1B�q�A2^B��!B�ˍBe�A���BޓKA��GA�V�A*ƇB�…BW�\B��|B�GB��A�P`>X<�A��UB��@��BtR�@F��B���A���A�- Br<JA���A��B��Bq�jBR'�@� �Aaz�Av�B[��A��8B7u<B|��A��fBqZ�B
        !          32121: ��A�}BJ�oAO�>S�B͠BSJB�^B�&&B��A�k3B`F�B�\�@TA��@v�!B�K�B;A+�A~�A��~B��B�bB�B[�dB
�%B�+�A�z�AIc�@�3A��B��AI��Am��B�O�BR��A6��B�&�A
        !          32122: MB��B�nB@�A˃\Br��B�gBAB�^^BE1�A�!�B���AW-j@�"�A9�QA.�QB�I�A��`A)b�B^^�B���B�AA,�qB�NB1�FB�DB"��A�IPBzB�@.\�A7�zBj�kB�GYB�&B��B5�1B�C+BJ�"BU1�B×�B ��A�+�A&�@]��A$&BehcB<^�A��mA2�]B��B`K�A�A�e�A��gB�@rBS�B�5Bo�nB�d\B,k�Bt,�B�B�vOB���A�1Bh=AwαA���A�n�AGN8Bl�|B-�A�A�b�B�^�Bw�fB��rBd:Bs�B��iB'F%A�MB�%B��bB��\B�0B��A��A�UB��NBV��BYk7B��qB�CA��|BE�A��A��2A��KB�ėA�� BDjAB)v@��]B�,B�ӍB�o[B,�A'��A
�{Aa��A.��@�]�A�)�ASa�?j��Bc!pB9�DB�U�?�Ax��@6�A�{�AHϓBE�WB'�B ��@�S�B     �B�6yA`x)@��A�?ޏUB�3B1�B&+�A��%B*Q�A�lB�UB��!B�s�B�@�m�Bo:�A�:�Aq�A��Br,BF�AB,_�A��CA��gBy��@�~�A3��A��rB{��A}Au�A��yB�?�@�lBFADB�1?��B}\AF�B�̍A���B�-#A�j<B�{Bw�B~Bԣ�A~�dB�`TA�}�@l��A4B�GB��#B�Bw�JB&B1vBm�5AdNSB#���&ʉB�|�A�۸A���?���B�#wBp��@�аA�)B��B
        !          32123: �B��?¢�B.�j?�x�BX�uB�       �A�{�ARE&B&�B���?��tBB��A�НA��YBb��A�2�A��Bu�*B��zB���Aب�B�s�@�zB���Ag�B�TbB��:Bv]�B���BB��@�3�Ajy�BCxB�qA�l�<�_B��AwB�BB2�A*B�B��A��&Bh~&BDb�AE]B�X�Aũ@!�B��+B�X@>���A���@�MA&B�bA�oB���A.QB�hLB�m,B�_BQ-�A4�@C�A�ZQB⟎B�;?Bm��@�7�AJj�Aͯ�A i�A��WB���A�cvB���A��B:fD@�̆B�qBf:�?��    BJP�A���A��7>�<�B9�2B��WA�A�x�B��y@�q�AP;B�'�A�b�A*�QAg9�A�I4B��zBV�A��ABІ{B�lA��(BpTB��
        !          32124: BV��Au�/B6\&A?�aBV�A<��@<�NB  ߐB�c@���?kB;ЀA�[�@�[�A=vsAY֯A��SBY��B�F@�rB�?A�EYBn�A�7B�A�bBM�B��BhA9q�A�iyBe�`AE��A��MBL
�BdBN�Bo��A�p@Z�B��A�-Ao��AAܘ@QgBD �AstzB�B31�A��B�;�B�{EB<s�A�"/B��A��"B�A&��B�0
B��FBq�B⩞AL�WB�<:B��A��Av��B�8�B�/
        !          32125: B�*)A)�VB 5DB�G2BD/�@޽�>�A�1B��wB�;`BH|�@3�>B|�A��A�ZBs$�@\�Bn��A�M�A4�A���A.0�A/B�B��{B
        !          32126: W9@Ϲ�@k�B�Y1B�G@�X,B��Bb3uB�^UBĺzA~�gB_:B�Z�A�a?Bٖ6Bn{BvABATgB�
Bo�JB݁�A갂B���BMB�aBZ��AC�BB7�BB�AzQEA�v�Ae�2B{�Bj�CA��2@���Ak�Aq��A�ڋB�MQA��!B\&�ASPAmG�B���A}�A���B��hB[�OB��A9B�ŅA�-      Boo�A|�`A��pB=~A�V�A9�B��A-��A���@�@kB��"B�*�A�6�B\)B��`A��uB�Z�A$� B���AB`�TB�(B���Au�&B9�OAJ�.B�GB�KB�3TAN�@�,�@S�%B�BwA��@jK!B܂�AY(@��vB}�AgR�B|�,Ax��?��A���B��&A5�B�#�A��(Bu(&AF�A���A��B�kDB�_�Aq��A���A���ApTBm��AQ�8A�'�BbbPB�+A���BĤ�A�p�A
        !          32127: aBv�B�VB��BD .BH�B7GTB���B
E�B��uBfT�Ag9iAH�VB9$zA��
AG�@�s@B-�&B���@��A�zBrx2B��kB�#}B�Ń@&w      B�;BNvB]bB{�MA� B,�A���A���B��5B��,BL��@q>�A��XB(�9@��XB��>Aӊ�@�&�Bz�8A��?JB�z�A�EBt��AKS�B'�B�Ak
        !          32128: �BN�AS�A4!�@�qB,\Bl<B�d2@�jhB�_B/�2B��?�lB�c�B��sB�KB(qdBT�B�'B�DrB��UB_b�BP�8B�O)B�oBuֻA T%BOL3A;��B�@!��@V�9A��lB��xB9B��A�[Bo�B�B�dB3�?Bғ   B<�~Ag4A,ÃB�
B+tB�$�A�A   ��A��A��3B��B]3�A�OBg+_BH�aB?��A|iB�.@���A�QBF.Bθ�A��A&��A�ˆBǶBܜ�Al'A�3FB&�B֩�A )
Bl��@�mHB+8M?�)iA��KAx�dB�aA�V�Aˢ�@t�A:�AL�~B�F-@��Bz&�B��3A��B�)�An��B�?�Bk�B83"Bׅ�@}�JB�%UB>�oB�xc?�i�A5|9B��X>7�MBQ��AW?8A���A'�B�&@A�6BH �@��?���A��"Bg�ANJpBsd�A�o@B�%wBc�A&hB#��A�S�Av�B��B4�vBcKB&�!B��Bᦚ@��BY��A�A�t�@U{)B(XBQ�LB�H�A�VB�j�A6�B�A{�A�A�)�A��B��4BEvB�dB
        !          32129: ��A�7�A
        !          32130: GLB�B��;@�tA*Bf�BQS�AB��Bs��@��XBa��A
��A�N�A
L#B:4�B:B]dB4rOB-�jB���B|�uBY^B�  B?�At>aB�{&B�d7B0�Ar
BꮂB�M�@��NBIo�B�hBVr6Ac��A�cB&��Bo�eB�WgA�QB�sAX�uB�&�B�:mB�2�B�Y�B�
        !          32131: ]Bܶ�Bs:�A�V{B0�9A��QB5�HBR�nB�q�A%�3B�E3B��
>�?�@��B�&�@A)jB� ?<C�A���AK�B�<�A�XB��BB�,B�B�$�A��BO�Bl�B9�JB��JA�Y}B\��B��B}ڧ@N3�A��&B�k�@
z5B4aB�6�AbI�BWwB�-B��A��CBSI<Bh2TB}�B�;�A&�A�UAԥ�B-��A���A�tB���@�b�B�~B�5A��;BhjA�h6B�gBe0�Aع�@͌B]f�A�zXBW3B�xB��B�7B�@B&E�B*��A��A��B�2B�fAS.BfA=B�Az��A��Aq�B�jB{�B��}@��_B�b�B`X;BrxNB�!�A ��A߲�B��A��iBpDB��AD�B�N�A�B7�3B�u_B�r�AN��A���@�,�A;�(Bd��A�]�A�
�?X��A,��A⍐B�{BZBbh"Bz��A�D�B<ѭA*�A�B�vBp�B�U       B��YA�\�A��wBhFyBQ�?BJ�A]X�@�3)B�׉B�'B-@,A���B��%B�BP��A�"B�-�BQ4`B��1B��wBх�A�6�A7�R@�J"B4sB�[B�@%B���A�      JBֵ�A&`B~�B�0B"�B4 %BO�B�"B�cNB��kBfݓB��&A�8�A�?B|�;B�\#B�ڍBǪ�B�wB{�B'��A��p@[�@B��A<�
B���B�5LA�5@B��2B�~WB�lBׄ7B��B,$'Bt�7B���A?��B�K&B�7�B��BÙGB�.B��Bb�'B�WUBo'�A��BkrA��nB�_�A@��@�wXB.��A�W�A�ҍB���A�ۀB'G&B&��A��AB2��A�|kA#&@M��AW�&BNnTB�[�A���Bk�@B��EB���A��)B���AL�.B��vBg&�A�;�A=L�AW�1B7��B&�SBz�EB�Bs�A�uB]�?B�+&@�q~B���@�
        !          32132: EB�;B�oB�1�AQ�NB6ړB�B���B$DB�O0B�~AH�A�oB���A�oHBm    rB@�=BT`|@r,�A�@�FBǺ"A+KtBrA�wAK�=A���At��A��A-�[Bo.�A8�gBSnB<OJB�e�A��hA��>BxT�B�MUB��7B��A�|#A��*BjoqB�
        !          32133: B���@h��A�q�B��GB�    AO9B��B�B�
�B[��B�u�B��A�aKBG��B� ^B&�A���A��B=��B�TB`B��B��7BݵA�)B��B�?�BBF��A��[Bu8$B���?�[QBG�.BAB�4A��e@�BB(B�6B �B���A=�B�\�AIyB��B�4�A�(�A��p@�|+B'�EB��A���B�AєKB�V�Ao��AԞ}A�&�Bص0B�B"�mB�܏BEBzB
        !          32134: XXB���?=�A��%AtB�5�B�c�A�;�A���Bv;)B1B7A�xB�B.�NBW�fB��sB�{�A&��A��(B�IB�B���A�{=B�,BY�1B�X�B �9Bw-PB���A=JTB.�BFX:��WBU��A�2B�ΓB�1BJ��B^��?�}\B�?dB�OB�Bu�5B��+?��
        !          32135: B�vwB]�2B��BA��@[(CB}`fB�i]B��Bb��@��A�$B�3APM^B��A��yB�tBV
9BLy�A#�B�5AB�ɓBBW8�AF"�Aą,B|��@A�    B�A��?#zE?�+B�-B��B��1BǭB:�A4�3B�>�B��BB�vB�MCB�\B��6B�HBu�6B��A�#B�ܐB��@P�
A68B���@>$B��2B�JA���AƮ�@���A�BY�,BHw�A!��@@��@
        !          32136: �A��cA[
        !          32137: @���A߁BT�>�޽ATDHB)�B�ڏB��^At;kB3�@�-�A�rB��A>�-B�,�A�8A<gEB��-B�t�A%�A�mBt�FB��B
�wB��AbЍ@��@�qB3
        !          32138: �B�a�AQ9B� 7B���A�ۃB�7�AP"NB3��A>�BkkBN�@O?+B�$B�9JA�=Ayv�@NZBC�JBj��A�B�A�t@ؗZ>�{^B�?���AOBA��+Bp��A��@�   A�A�#�B��6B�q6@Y�KB��uA��@'6AG
�Be�BB�      �B��2B%�jB��B��W@���A�X!B��fA��B�3eB��)A��A�x�A���A@�}B�"B��BG�;B˒>B��`B�}B9��A�EB�A
Q�?Ur(B�*�Bȉ3BL.5AFFB��B�#IB��eAqW.B��B�4B6$�B��@@^B9�Av��A�A�B��B�fB2�I@�_B�dB�?XB���A]B��4B���A�B^�\A�VhB��JB���B��!B��\BlB��=B8/;Bw��A[�Bǎ�@�i�AĨ2A�YB��LB|�qA��Be�A6�Bl�B�pB`��B�T%B�g�B3�A�J�B��B��%B�@B��B#��@�5yB��@�HB�eB`�?B�BZmoB���A(BZmBIT\BSB�A���B%�.A��IB&A�A5�4B�
BLw�B��rAP��A8P>B��+@�ӜA:-�A��-B��
BzÅB�-RA�
�A\+BԝBw�XB�bgB��;A�y�Be/"B�B/J�A,ǂ@X�#By�YB���AqʚALj�A���Ah~�B���A\�A\�A�/B+�7B�A�$�A-�AuQzB��½�gB&EgBߦ+B?��B��MA��!B�URBP�UB�&�AS�0B��MB�'�Ahu^B�`PB�0B�ZBY̓A�K`B�^B�ŖA�[YA��AαBd.NB���A\�NAM�BA�y�A��A�?BA�DŽB^�BLkB��/B��9Bt�BA� B��@P(�@�W�B��A%�    @�sB`( BK�WB�5�Ap��Ay4�A�B�B �A       �
B��IB�^B���@j^�A��B��DB��B���A�4�A���BG/eBwm�AhiCBC|nB�FB��OBI�DBT�BE��A�:�@8<CB4        6B�"B��VBt�B�K(BL�@@�WOB!$%B�vBd��@�֏BG�EB��gB�m    BB*PA�=�B�e�@0+ZBơ|AK�B"�NB.9bB�>B�Bx'B��:B��RB5+9B��A&!�@��B��A�B�AB-5�A2UBk�TB��B��UA��BԠ�A
        !          32139: �PB�4B���A�kBF��A#�BF��@�@��BB��
        !          32140: B/*2AMC~BB  @B�@Bh#DB��kB���A�hHB �s@��
        !          32141: B�?�A��A�?B��Aֿ�AF�?�AtBUn�B�HBȘ�B��iB�ZIBnrtB�#+BCB���A��dBDZ�B
        !          32142: �B�
        !          32143: iB�[AN��@o2LBC#B�E�Ak�BP�   B�Y6B{*;B�MA��*B?�cB��B�eB���@x�jBJC�B��@�6eB$��B� B$�ZBA��A       �BIZ�AV�KBG5A�$&B�z3A%�YA��
        !          32144: B��BB��B�LB�PB #B���A�R�A���@)�?B�X�A֖�Bww�A��;B���A�v6B�m�A��B{�?B֓}Bas(A9�\B��B�B��bB�D+Bi:B      [Q@��B�T%B���A%>A���AA�B�XB'�DA�e�A�4B�.B��)B�FhB��LBp��A�zAhEB� $Bd�BJX�A-E�AQ�B4��An��A3��B�6�B��A�
�B�9;B��B��CB�B�
        !          32145: @Bˊ
B���A�w�A'�B`�jB<@�Av8B�1�B���A�-BB�B+��A
�xB&X�Bx�4B=��A�RB�
        !          32146: �?S}XBcm�B�?JB�LBv��B��BHe�B�KB$A=�,B��zB�&3B�ceB��E3.Bi��&������R(�4R(�4R(newsnews/n/alice/usr/spool/news/comp/sys/ibm/pc/misc/9629v/v14725/79369Path: alice!andante!mit-eddie!wuarchive!zaphod.mps.ohio-state.edu!mips!cs.uoregon.edu!ogicse!intelhf!ichips!inews!adara!wwitt
        !          32147: From: [email protected] (Wolf Witt)
        !          32148: Newsgroups: comp.sys.ibm.pc.misc
        !          32149: Subject: Re: SCSI and MFM in same machine
        !          32150: Message-ID: <[email protected]>
        !          32151: Date: 7 Jun 91 17:52:58 GMT
        !          32152: Article-I.D.: inews.4626
        !          32153: Posted: Fri Jun  7 13:52:58 1991
        !          32154: References: <[email protected]>
        !          32155: Sender: [email protected]
        !          32156: Reply-To: [email protected] (Wolf Witt)
        !          32157: Organization: Santa Clara Microprocessor Division, Intel Corp., Santa Clara, CA
        !          32158: Lines: 49
        !          32159: 
        !          32160: [email protected] (Thomas Laird) writes:
        !          32161: >Hi All
        !          32162: >        I have just gotten a 386-20 clone that has a adaptec
        !          32163: >154XB SCSI controller and a 40M drive in it.  I also just happen
        !          32164: >have a 80M CDC MFM drive sitting on the shelf collecting DUST.
        !          32165: >
        !          32166: >Is it possible to put a MFM controller alongside the Adaptec and 
        !          32167: >run both.  Any recommendationare VERY welcome.
        !          32168: >
        !          32169: >So far I have replace the cripple bios to the current one IE:Award 3.03D6
        !          32170: >with out the drive tables to Award 3.11 with them. Still get unable to 
        !          32171: >talk to the MFM Drive using existing MFM controller a friend lent me.
        !          32172: 
        !          32173: I've been using the AHA154?A (I forget the exact model number; it's the one
        !          32174: that includes the floppy controller) together with a WD-1006 MFM controller
        !          32175: for over a year now. Everything has been working fine. For reference, my
        !          32176: machine has a Phoenix BIOS and is runnning MS-DOS 4.01.
        !          32177: 
        !          32178: Since it's been quite a while since I set this up, I don't remember exactly
        !          32179: what I did to make it work, but I remember that it was quite simple. I
        !          32180: believe the manual that comes with the Adaptek controller has a section that
        !          32181: discusses how to make it live together with some other, non-SCSI disk.
        !          32182: 
        !          32183: For whatever it's worth, here is what I do remember...
        !          32184: If your Adaptek controller includes the floppy interface, disable it or
        !          32185: move the floppy controller's i/o address. Check the hard disk controller's
        !          32186: i/o address and make sure the SCSI controller does not conflict with the MFM
        !          32187: controller. Check interrupt lines; again you don't want any conflicts. Change
        !          32188: the SCSI's IRQ if necessary.
        !          32189: Sorry, but I don't recall the i/o addresses at the moment. Although I do know
        !          32190: that my SCSI controller currently uses IRQ 11.
        !          32191: 
        !          32192: Once the SCSI controller is properly configured, set up the CMOS, so that
        !          32193: the first physical drive (drive 0) is your MFM drive. The second physical
        !          32194: drive should be set to "not installed" in the CMOS. The BIOS on the Adaptek
        !          32195: controller will manage the SCSI disk.
        !          32196: 
        !          32197: Note that if you have two MFM drives installed, then the SCSI BIOS doesn't
        !          32198: cut it anymore. In this case, you need additional driver software from
        !          32199: Adaptek to make the SCSI drive work with the MFM drives.
        !          32200: 
        !          32201: Hope this helps.
        !          32202: 
        !          32203: Wolf
        !          32204: 
        !          32205: => Wolf Witt, Design Engineer     <=> You say there is a bug in this chip?   <=
        !          32206: => i860 Focus Group, Intel Corp.  <=> No, no, you don't understand...        <=
        !          32207: => [email protected]         <=> This is a feature!                     <=
        !          32208: => Intel knows nothing about what I say or do, but they pay me anyway.       <=
        !          32209: h       @D�&��&1�R(2�R(2�R(rootbin/n/westphal/etc/mtabv/v14725/7903010/usr/dev/ra02/tmp/dev/ra05/usr/wtm/dev/ra03/usr/tdk/dev/ra04/netstat/dev/ra26/proc/dev/nullo�Q��&�&+t��R(�-(%�R(wtmbin/n/westphal/netstat/bin/dailyv/v14725/7913011date
        !          32210: date >&2
        !          32211: set `date`
        !          32212: for i in 1 2 3 4 5 6 7 hg hg2 hklab
        !          32213:        do cp /usr/wtm/netstat/${i}raw /usr/wtm/netstat/tmp/raw.$i.$1
        !          32214:        >/usr/wtm/netstat/${i}raw
        !          32215:        >/usr/wtm/netstat/${i}raw
        !          32216:        </usr/wtm/netstat/tmp/raw.$i.$1 sed "" >/usr/wtm/netstat/node.$i/raw.$1
        !          32217:        rm /usr/wtm/netstat/tmp/raw.$i.$1
        !          32218: done
        !          32219: for i in 1 2 3 4 5 6 7 hg hg2
        !          32220:        do grep " F " /netstat/node.$i/raw.$1 >/netstat/node.$i/config.$1
        !          32221:        cat /netstat/node.$i/config.$1 >>/netstat/node.$i/config.${2}$6
        !          32222:        grep " [AI] " /netstat/node.$i/raw.$1 >/netstat/node.$i/info.$1
        !          32223:        cat /netstat/node.$i/info.$1 >>/netstat/node.$i/info.${2}$6
        !          32224: done
        !          32225: /usr/tdk/bin/size0chk /netstat/node.*/raw.$1 | mail mfj wtm
        !          32226: backup backup /netstat/node.*/raw.*
        !          32227: grep " I bbox" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 > /netstat/daily.bbox
        !          32228: grep " A .* MAJOR" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.alarms | mail mfj wtm
        !          32229: grep " A " /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.minors | mail mfj crk
        !          32230: wc /netstat/daily.alarms /netstat/daily.minors | mail wtm
        !          32231: grep " [IF] " /netstat/node.*/raw.$1 | grep -v "unixcscp: Host alive" | grep -v "server .* available" | grep -v "server .* removed" | grep -v "unix9cscp: Host active" | grep -v " I bbox" | /netstat/bin/printraw -g9-25 | tee /netstat/daily.info | mail wtm
        !          32232: grep "[ /]C[123456789h][g .]" /netstat/node.1/raw.$1 | /netstat/bin/printraw | mail wtm
        !          32233: v:���&�&�e&�03$SZ4$��R(wtmbin/n/westphal/netstat/node.3/info.Mar1989v/v14725/7923012604736525 55282927 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32234: 604736527 55283062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32235: 604737375 55333928 A SET MAJOR: tdkp: trunk 3 is dead
        !          32236: 604738000 55371456 A SET MAJOR: loopp: trunk 3 appears dead
        !          32237: 604757594 56547541 A SET MINOR: CPM422 7: Cables disconnected
        !          32238: 604757599 56547806 A SET ERROR: CPM422 7: Reset errors
        !          32239: 604757691 56553349 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32240: 604757739 56556234 I unixcscp: Host alive in slot 7
        !          32241: 604757768 56557968 A SET MINOR: CPM422 7: Cables disconnected
        !          32242: 604757874 56564304 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32243: 604757975 56570377 A CLEAR ERROR: CPM422 7: Reset errors
        !          32244: 604758006 56572223 I unixcscp: Host alive in slot 7
        !          32245: 604758704 56614111 I unixcscp: Host alive in slot 7
        !          32246: 604758704 56614119 I server sfr removed from 7.5
        !          32247: 604758704 56614141 I server sfr available on 7.5
        !          32248: 604758825 56621433 I unixcscp: Host alive in slot 7
        !          32249: 604758826 56621447 I server sfr removed from 7.5
        !          32250: 604758826 56621471 I server sfr available on 7.5
        !          32251: 604759026 56633480 A SET MINOR: CPM422 7: Cables disconnected
        !          32252: 604759031 56633743 A SET ERROR: CPM422 7: Reset errors
        !          32253: 604759231 56645754 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32254: 604759266 56647847 I unixcscp: Host alive in slot 7
        !          32255: 604759266 56647854 I server sfr removed from 7.5
        !          32256: 604759266 56647883 I server sfr available on 7.5
        !          32257: 604759292 56649458 A SET MINOR: CPM422 7: Cables disconnected
        !          32258: 604759385 56655001 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32259: 604759422 56657228 I unixcscp: Host alive in slot 7
        !          32260: 604759455 56659225 A SET MINOR: CPM422 7: Cables disconnected
        !          32261: 604759528 56663582 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32262: 604759628 56669654 A CLEAR ERROR: CPM422 7: Reset errors
        !          32263: 604759657 56671377 I unixcscp: Host alive in slot 7
        !          32264: 604766873 57104618 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          32265: 604767010 57112800 A CLEAR ERROR: CPMHS 18: Reset errors
        !          32266: 604767052 57115309 A SET MINOR: CPMHS 18: Fiber disconnected
        !          32267: 604767056 57115574 A SET ERROR: CPMHS 18: Reset errors
        !          32268: 604767518 57143292 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          32269: 604767956 57169597 I server tempel removed from 17.7
        !          32270: 604768061 57175885 I unixcscp: Host alive in slot 17
        !          32271: 604768061 57175907 I server tempel available on 17.5
        !          32272: 604768317 57191229 I server tempel removed from 17.5
        !          32273: 604768378 57194910 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32274: 604768382 57195174 A SET ERROR: CPMHS 17: Reset errors
        !          32275: 604768712 57214974 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32276: 604768808 57220721 I unixcscp: Host alive in slot 17
        !          32277: 604768808 57220743 I server tempel available on 17.5
        !          32278: 604768879 57225006 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32279: 604769279 57249030 A SET MINOR: CPMHS 18: Fiber disconnected
        !          32280: 604769345 57252990 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          32281: 604769348 57253122 A SET ERROR: CPMHS 18: HIB Parity errors
        !          32282: 604769438 57258520 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
        !          32283: 604769442 57258786 I server housay available on 18.5
        !          32284: 604769480 57261042 A CLEAR ERROR: CPMHS 18: Reset errors
        !          32285: 604769743 57276854 I server housay removed from 18.5
        !          32286: 604769770 57278473 A SET MINOR: CPMHS 18: Fiber disconnected
        !          32287: 604769774 57278736 A SET ERROR: CPMHS 18: Reset errors
        !          32288: 604769797 57280116 A SET MINOR: unixcscp: DEAD HOST in slot 18
        !          32289: 604769823 57281640 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          32290: 604769849 57283224 A CLEAR ERROR: CPMHS 18: HIB Parity errors
        !          32291: 604769907 57286690 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
        !          32292: 604769913 57287032 I server housay available on 18.5
        !          32293: 604769955 57289561 A CLEAR ERROR: CPMHS 18: Reset errors
        !          32294: 604770358 57313763 I server housay removed from 18.5
        !          32295: 604770383 57315300 A SET MINOR: CPMHS 18: Fiber disconnected
        !          32296: 604770388 57315565 A SET ERROR: CPMHS 18: Reset errors
        !          32297: 604770416 57317286 A SET MINOR: unixcscp: DEAD HOST in slot 18
        !          32298: 604770419 57317413 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          32299: 604770421 57317545 A SET ERROR: CPMHS 18: HIB Parity errors
        !          32300: 604770502 57322449 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
        !          32301: 604770512 57323016 I server housay available on 18.5
        !          32302: 604770550 57325332 A CLEAR ERROR: CPMHS 18: Reset errors
        !          32303: 604770550 57325332 A CLEAR ERROR: CPMHS 18: HIB Parity errors
        !          32304: 604770795 57340009 I server housay removed from 18.5
        !          32305: 604770821 57341569 A SET MINOR: CPMHS 18: Fiber disconnected
        !          32306: 604770825 57341832 A SET ERROR: CPMHS 18: Reset errors
        !          32307: 604770832 57342246 A SET MINOR: unixcscp: DEAD HOST in slot 18
        !          32308: 604771048 57355179 I server tempel removed from 17.5
        !          32309: 604771109 57358860 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32310: 604771113 57359124 A SET ERROR: CPMHS 17: Reset errors
        !          32311: 604771309 57370872 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32312: 604771407 57376710 I unixcscp: Host alive in slot 17
        !          32313: 604771407 57376734 I server tempel available on 17.5
        !          32314: 604771452 57379452 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32315: 604771514 57383143 I server tempel removed from 17.5
        !          32316: 604771753 57397536 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32317: 604771758 57397801 A SET ERROR: CPMHS 17: Reset errors
        !          32318: 604771914 57407172 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32319: 604771989 57411688 I unixcscp: Host alive in slot 17
        !          32320: 604771990 57411712 I server tempel available on 17.5
        !          32321: 604772061 57416016 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32322: 604772152 57421471 I server tempel removed from 17.5
        !          32323: 604772202 57424464 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32324: 604772206 57424729 A SET ERROR: CPMHS 17: Reset errors
        !          32325: 604772389 57435684 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32326: 604772786 57459529 I unixcscp: Host alive in slot 17
        !          32327: 604772787 57459551 I server tempel available on 17.5
        !          32328: 604772857 57463801 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32329: 604794757 58778103 I server tempel removed from 17.5
        !          32330: 604794810 58781329 A SET ERROR: CPMHS 17: Reset errors
        !          32331: 604794903 58786873 I unixcscp: Host alive in slot 17
        !          32332: 604794903 58786896 I server tempel available on 17.5
        !          32333: 604794949 58789645 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32334: 604837061 61317327 I server tempel removed from 17.5
        !          32335: 604837062 61317356 I server tempel available on 17.7
        !          32336: 604861419 62779345 A SET MINOR: CPM422 7: Cables disconnected
        !          32337: 604861732 62798091 A SET ERROR: CPM422 7: Reset errors
        !          32338: 604863278 62890882 I server tempel removed from 17.7
        !          32339: 604863747 62919036 A SET ERROR: CPMHS 17: Reset errors
        !          32340: 604864079 62938936 I unixcscp: Host alive in slot 17
        !          32341: 604864080 62938953 I server tempel available on 17.5
        !          32342: 604864153 62943324 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32343: 604869752 63279371 I server tempel removed from 17.5
        !          32344: 604869794 63281910 A SET ERROR: CPMHS 17: Reset errors
        !          32345: 604869919 63289448 I unixcscp: Host alive in slot 17
        !          32346: 604869920 63289467 I server tempel available on 17.5
        !          32347: 604869932 63290226 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32348: 604871308 63372803 I server tempel removed from 17.5
        !          32349: 604871348 63375234 A SET ERROR: CPMHS 17: Reset errors
        !          32350: 604871484 63383361 I unixcscp: Host alive in slot 17
        !          32351: 604871484 63383379 I server tempel available on 17.5
        !          32352: 604871487 63383550 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32353: 604873286 63491541 I server tempel removed from 17.5
        !          32354: 604873398 63498268 I unixcscp: Host alive in slot 17
        !          32355: 604873399 63498298 I server tempel available on 17.5
        !          32356: 604962751 68861321 I unixcscp: Host alive in slot 23
        !          32357: 604962782 68863186 I unixcscp: Host alive in slot 23
        !          32358: 604962813 68865061 I unixcscp: Host alive in slot 23
        !          32359: 604962844 68866940 I unixcscp: Host alive in slot 23
        !          32360: 604962875 68868819 I unixcscp: Host alive in slot 23
        !          32361: 604962900 68870277 I unixcscp: Host alive in slot 23
        !          32362: 604962931 68872160 I unixcscp: Host alive in slot 23
        !          32363: 604962962 68874029 I unixcscp: Host alive in slot 23
        !          32364: 604962972 68874624 I unixcscp: Host alive in slot 23
        !          32365: 604962977 68874914 I unixcscp: Host alive in slot 23
        !          32366: 604963008 68876774 I unixcscp: Host alive in slot 23
        !          32367: 604963039 68878650 I unixcscp: Host alive in slot 23
        !          32368: 604963070 68880518 I unixcscp: Host alive in slot 23
        !          32369: 604963102 68882391 I unixcscp: Host alive in slot 23
        !          32370: 604963120 68883468 I server tempel removed from 17.5
        !          32371: 604963133 68884261 I unixcscp: Host alive in slot 23
        !          32372: 604963164 68886130 I unixcscp: Host alive in slot 23
        !          32373: 604963258 68891754 A SET ERROR: CPMHS 17: Reset errors
        !          32374: 604963394 68899938 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32375: 604964867 68988349 I unixcscp: Host alive in slot 17
        !          32376: 604964867 68988373 I server tempel available on 17.5
        !          32377: 604967675 69156917 I unixcscp: Host alive in slot 23
        !          32378: 604967705 69158732 I unixcscp: Host alive in slot 23
        !          32379: 604967736 69160589 I unixcscp: Host alive in slot 23
        !          32380: 604967768 69162462 I unixcscp: Host alive in slot 23
        !          32381: 604967870 69168600 I unixcscp: Host alive in slot 23
        !          32382: 604967901 69170471 I unixcscp: Host alive in slot 23
        !          32383: 604967931 69172291 I unixcscp: Host alive in slot 23
        !          32384: 604967962 69174144 I unixcscp: Host alive in slot 23
        !          32385: 604967993 69176017 I unixcscp: Host alive in slot 23
        !          32386: 604988759 70422361 I server tempel removed from 17.5
        !          32387: 604990579 70531646 A SET ERROR: CPMHS 17: Reset errors
        !          32388: 604990634 70534958 I unixcscp: Host alive in slot 17
        !          32389: 604990635 70534978 I server tempel available on 17.5
        !          32390: 604990705 70539171 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32391: 604991932 70612833 I server tempel removed from 17.5
        !          32392: 604992019 70618055 I unixcscp: Host alive in slot 17
        !          32393: 604992019 70618080 I server tempel available on 17.5
        !          32394: 604992224 70630351 I unixcscp: Host alive in slot 17
        !          32395: 604992575 70651417 I unixcscp: Host alive in slot 17
        !          32396: 604992904 70671206 I server tempel removed from 17.5
        !          32397: 604992940 70673339 I unixcscp: Host alive in slot 17
        !          32398: 604992940 70673350 I server tempel available on 17.5
        !          32399: 605026274 72674000 I unixcscp: Host alive in slot 23
        !          32400: 605031618 72994646 I unixcscp: Host alive in slot 23
        !          32401: 605031684 72998564 I unixcscp: Host alive in slot 23
        !          32402: 605031752 73002681 I unixcscp: Host alive in slot 23
        !          32403: 605032795 73065274 I unixcscp: Host alive in slot 23
        !          32404: 605032966 73075690 I unixcscp: Host alive in slot 23
        !          32405: 605033090 73083024 I unixcscp: Host alive in slot 23
        !          32406: 605033469 73105892 I unixcscp: Host alive in slot 23
        !          32407: 605033598 73113551 I unixcscp: Host alive in slot 23
        !          32408: 605039717 73480819 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32409: 605040214 73510680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32410: 605040215 73510695 I server seki removed from 25.6
        !          32411: 605040220 73510998 I server seki available on 25.5
        !          32412: 605124383 78562580 A SET ERROR: CPMHS 17: HIB Parity errors
        !          32413: 605124495 78569311 A CLEAR ERROR: CPMHS 17: HIB Parity errors
        !          32414: 605128130 78787508 A SET ERROR: CPMHS 17: HIB Parity errors
        !          32415: 605128260 78795295 A CLEAR ERROR: CPMHS 17: HIB Parity errors
        !          32416: 605138195 79391590 I server tempel removed from 17.5
        !          32417: 605140142 79508490 A SET ERROR: CPMHS 17: Reset errors
        !          32418: 605140425 79525465 I unixcscp: Host alive in slot 17
        !          32419: 605140425 79525486 I server tempel available on 17.5
        !          32420: 605140459 79527498 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32421: 605225526 84633319 I unixcscp: Host alive in slot 17
        !          32422: 605225718 84644835 I server tempel removed from 17.5
        !          32423: 605225731 84645659 I unixcscp: Host alive in slot 17
        !          32424: 605225732 84645673 I server tempel available on 17.7
        !          32425: 605278089 87788232 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32426: 605278128 87790537 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32427: 605278188 87794172 A CLEAR ERROR: CPM422 7: Reset errors
        !          32428: 605278200 87794862 I unixcscp: Host alive in slot 7
        !          32429: 605278203 87795072 I server sfr removed from 7.5
        !          32430: 605278212 87795584 I server sfr available on 7.5
        !          32431: 605278255 87798193 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32432: 605278480 87811656 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32433: 605278742 87827380 I unixcscp: Host alive in slot 7
        !          32434: 605278745 87827568 A SET ERROR: CPM422 7: Reset errors
        !          32435: 605278776 87829429 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32436: 605278778 87829564 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32437: 605278804 87831132 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32438: 605278840 87833305 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32439: 605278916 87837864 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32440: 605279057 87846312 A CLEAR ERROR: CPM422 7: Reset errors
        !          32441: 605281074 87967356 A SET ERROR: CPM422 7: Reset errors
        !          32442: 605281195 87974616 A CLEAR ERROR: CPM422 7: Reset errors
        !          32443: 605281343 87983521 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32444: 605281848 88013820 A SET ERROR: CPM422 7: Reset errors
        !          32445: 605281960 88020552 A CLEAR ERROR: CPM422 7: Reset errors
        !          32446: 605282226 88036524 A SET ERROR: CPM422 7: Reset errors
        !          32447: 605282226 88036524 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32448: 605282294 88040583 I unixcscp: Host alive in slot 7
        !          32449: 605282362 88044708 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32450: 605282392 88046484 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32451: 605282529 88054740 A CLEAR ERROR: CPM422 7: Reset errors
        !          32452: 605283384 88106016 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32453: 605284218 88156112 I unixcscp: Host alive in slot 7
        !          32454: 605284389 88166324 I unixcscp: Host alive in slot 7
        !          32455: 605284537 88175257 A SET ERROR: CPM422 7: Reset errors
        !          32456: 605284700 88185025 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32457: 605284828 88192681 A CLEAR ERROR: CPM422 7: Reset errors
        !          32458: 605284828 88192681 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32459: 605284868 88195105 I unixcscp: Host alive in slot 7
        !          32460: 605284950 88200001 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32461: 605285419 88228189 A SET ERROR: CPM422 7: Reset errors
        !          32462: 605285560 88236636 A CLEAR ERROR: CPM422 7: Reset errors
        !          32463: 605285916 88258020 A SET ERROR: CPM422 7: Reset errors
        !          32464: 605286097 88268904 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32465: 605286692 88304617 A CLEAR ERROR: CPM422 7: Reset errors
        !          32466: 605286887 88316292 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32467: 605286915 88317979 I server tempel removed from 17.7
        !          32468: 605287119 88330204 I unixcscp: Host alive in slot 7
        !          32469: 605287137 88331280 A SET ERROR: CPM422 7: Reset errors
        !          32470: 605287168 88333150 I unixcscp: Host alive in slot 17
        !          32471: 605287168 88333174 I server tempel available on 17.5
        !          32472: 605287247 88337881 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32473: 605287366 88345069 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32474: 605287464 88350949 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32475: 605287684 88364149 A CLEAR ERROR: CPM422 7: Reset errors
        !          32476: 605287694 88364736 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32477: 605287805 88371408 A SET MINOR: CPMHS 25: Fiber disconnected
        !          32478: 605287834 88373125 A CLEAR MINOR: CPMHS 25: Fiber disconnected
        !          32479: 605289189 88454442 A SET ERROR: CPM422 7: Reset errors
        !          32480: 605289208 88455595 I unixcscp: Host alive in slot 7
        !          32481: 605289284 88460172 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32482: 605289378 88465794 A CLEAR ERROR: CPM422 7: Reset errors
        !          32483: 605290212 88515877 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32484: 605291087 88568359 A SET ERROR: CPM422 7: Reset errors
        !          32485: 605291087 88568360 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32486: 605291346 88583934 A CLEAR ERROR: CPM422 7: Reset errors
        !          32487: 605291346 88583935 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32488: 605292331 88643019 I unixcscp: Host alive in slot 7
        !          32489: 605292417 88648218 A SET ERROR: CPM422 7: Reset errors
        !          32490: 605292429 88648933 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32491: 605292433 88649142 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32492: 605292600 88659175 A CLEAR ERROR: CPM422 7: Reset errors
        !          32493: 605292600 88659175 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32494: 605293128 88690855 A SET ERROR: CPM422 7: Reset errors
        !          32495: 605293334 88703262 A CLEAR ERROR: CPM422 7: Reset errors
        !          32496: 605294166 88753159 A SET ERROR: CPM422 7: Reset errors
        !          32497: 605294278 88759891 A CLEAR ERROR: CPM422 7: Reset errors
        !          32498: 605294432 88769130 A SET ERROR: CPMHS 17: Reset errors
        !          32499: 605294549 88776147 I unixcscp: Host alive in slot 17
        !          32500: 605294566 88777182 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32501: 605294821 88792495 A SET ERROR: CPM422 7: Reset errors
        !          32502: 605294933 88799226 A CLEAR ERROR: CPM422 7: Reset errors
        !          32503: 605295404 88827475 A SET ERROR: CPM422 7: Reset errors
        !          32504: 605295663 88843050 A CLEAR ERROR: CPM422 7: Reset errors
        !          32505: 605295989 88862586 A SET ERROR: CPM422 7: Reset errors
        !          32506: 605296152 88872354 A CLEAR ERROR: CPM422 7: Reset errors
        !          32507: 605297233 88937201 I server tempel removed from 17.5
        !          32508: 605297244 88937869 I unixcscp: Host alive in slot 17
        !          32509: 605297244 88937879 I server tempel available on 17.7
        !          32510: 605297798 88971108 A SET ERROR: CPM422 7: Reset errors
        !          32511: 605297985 88982328 A CLEAR ERROR: CPM422 7: Reset errors
        !          32512: 605298676 89023810 I unixcscp: Host alive in slot 7
        !          32513: 605298677 89023816 I server sfr removed from 7.5
        !          32514: 605298677 89023855 I server sfr available on 7.5
        !          32515: 605298682 89024172 A SET ERROR: CPM422 7: Reset errors
        !          32516: 605298845 89033940 A CLEAR ERROR: CPM422 7: Reset errors
        !          32517: 605299102 89049355 I unixcscp: Host alive in slot 7
        !          32518: 605301021 89164620 A SET ERROR: CPM422 7: Reset errors
        !          32519: 605301089 89168652 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32520: 605301211 89175972 A CLEAR ERROR: CPM422 7: Reset errors
        !          32521: 605302137 89231544 A SET ERROR: CPM422 7: Reset errors
        !          32522: 605302143 89231940 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32523: 605302535 89255436 A CLEAR ERROR: CPM422 7: Reset errors
        !          32524: 605302535 89255436 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32525: 605303722 89326716 A SET ERROR: CPM422 7: Reset errors
        !          32526: 605303722 89326716 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32527: 605303912 89338096 I unixcscp: Host alive in slot 7
        !          32528: 605303972 89341704 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32529: 605304026 89344932 A CLEAR ERROR: CPM422 7: Reset errors
        !          32530: 605304026 89344932 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32531: 605304824 89392842 A SET ERROR: CPMHS 17: Reset errors
        !          32532: 605304960 89401027 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32533: 605304962 89401106 I unixcscp: Host alive in slot 17
        !          32534: 605305136 89411556 I server tempel removed from 17.7
        !          32535: 605305145 89412100 I unixcscp: Host alive in slot 17
        !          32536: 605305145 89412112 I server tempel available on 17.9
        !          32537: 605305532 89435352 A SET ERROR: CPM422 7: Reset errors
        !          32538: 605305788 89450664 A CLEAR ERROR: CPM422 7: Reset errors
        !          32539: 605306091 89468863 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32540: 605306093 89468988 I server seki removed from 25.5
        !          32541: 605306151 89472462 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32542: 605306215 89476336 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32543: 605306220 89476647 I server seki available on 25.5
        !          32544: 605306396 89487156 A SET ERROR: CPM422 7: Reset errors
        !          32545: 605306591 89498904 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          32546: 605306635 89501532 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32547: 605306703 89505636 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          32548: 605306712 89506164 A CLEAR ERROR: CPM422 7: Reset errors
        !          32549: 605307179 89534148 A SET ERROR: CPM422 7: Reset errors
        !          32550: 605307391 89546913 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32551: 605307394 89547032 I server seki removed from 25.5
        !          32552: 605307398 89547305 I server seki available on 25.5
        !          32553: 605307608 89559948 A CLEAR ERROR: CPM422 7: Reset errors
        !          32554: 605308589 89618820 A SET ERROR: CPM422 7: Reset errors
        !          32555: 605308756 89628852 A CLEAR ERROR: CPM422 7: Reset errors
        !          32556: 605308956 89640864 A SET ERROR: CPM422 7: Reset errors
        !          32557: 605309187 89654724 A CLEAR ERROR: CPM422 7: Reset errors
        !          32558: 605309854 89694720 A SET ERROR: CPM422 7: Reset errors
        !          32559: 605310038 89705808 A CLEAR ERROR: CPM422 7: Reset errors
        !          32560: 605311490 89792928 A SET ERROR: CPM422 7: Reset errors
        !          32561: 605311754 89808768 A CLEAR ERROR: CPM422 7: Reset errors
        !          32562: 605311978 89822232 A SET ERROR: CPM422 7: Reset errors
        !          32563: 605312103 89829756 A CLEAR ERROR: CPM422 7: Reset errors
        !          32564: 605312174 89833980 A SET ERROR: CPM422 7: Reset errors
        !          32565: 605312400 89847576 A CLEAR ERROR: CPM422 7: Reset errors
        !          32566: 605312427 89849160 A SET ERROR: CPM422 7: Reset errors
        !          32567: 605312539 89855892 A CLEAR ERROR: CPM422 7: Reset errors
        !          32568: 605313122 89890872 A SET ERROR: CPM422 7: Reset errors
        !          32569: 605313937 89939823 I unixcscp: Host alive in slot 7
        !          32570: 605313937 89939829 I server sfr removed from 7.5
        !          32571: 605313961 89941251 I server sfr available on 7.5
        !          32572: 605314437 89969814 A CLEAR ERROR: CPM422 7: Reset errors
        !          32573: 605314542 89976150 A SET ERROR: CPM422 7: Reset errors
        !          32574: 605314899 89997534 A CLEAR ERROR: CPM422 7: Reset errors
        !          32575: 605315189 90014958 A SET ERROR: CPM422 7: Reset errors
        !          32576: 605315481 90032514 A CLEAR ERROR: CPM422 7: Reset errors
        !          32577: 605316095 90069342 A SET ERROR: CPM422 7: Reset errors
        !          32578: 605316118 90070699 I unixcscp: Host alive in slot 7
        !          32579: 605316291 90081090 A CLEAR ERROR: CPM422 7: Reset errors
        !          32580: 605316728 90107358 A SET ERROR: CPM422 7: Reset errors
        !          32581: 605316734 90107688 I unixcscp: Host alive in slot 7
        !          32582: 605316871 90115938 A CLEAR ERROR: CPM422 7: Reset errors
        !          32583: 605317450 90150654 A SET ERROR: CPM422 7: Reset errors
        !          32584: 605317562 90157386 A CLEAR ERROR: CPM422 7: Reset errors
        !          32585: 605317584 90158700 I unixcscp: Host alive in slot 17
        !          32586: 605317763 90169368 I server tempel removed from 17.9
        !          32587: 605317771 90169876 I unixcscp: Host alive in slot 17
        !          32588: 605317771 90169886 I server tempel available on 17.11
        !          32589: 605318093 90189198 A SET ERROR: CPM422 7: Reset errors
        !          32590: 605318099 90189562 I unixcscp: Host alive in slot 7
        !          32591: 605318205 90195943 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32592: 605318382 90206532 I unixcscp: Host alive in slot 7
        !          32593: 605318480 90212442 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32594: 605318507 90214014 A CLEAR ERROR: CPM422 7: Reset errors
        !          32595: 605318782 90230526 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          32596: 605318819 90232752 I unixcscp: Host alive in slot 7
        !          32597: 605318918 90238710 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          32598: 605318944 90240282 A SET ERROR: CPM422 7: Reset errors
        !          32599: 605319298 90261534 A CLEAR ERROR: CPM422 7: Reset errors
        !          32600: 605319543 90276207 I unixcscp: Host alive in slot 7
        !          32601: 605319545 90276318 A SET ERROR: CPM422 7: Reset errors
        !          32602: 605319558 90277098 I unixcscp: Host alive in slot 7
        !          32603: 605319594 90279267 I unixcscp: Host alive in slot 7
        !          32604: 605319657 90283056 A CLEAR ERROR: CPM422 7: Reset errors
        !          32605: 605340155 91513399 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32606: 605340157 91513534 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32607: 605340265 91519999 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32608: 605340267 91520134 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32609: 605363689 92925966 A SET MINOR: CPM422 7: Cables disconnected
        !          32610: 605363898 92938506 A SET ERROR: CPM422 7: Reset errors
        !          32611: 605364523 92975994 A CLEAR ERROR: CPM422 7: Reset errors
        !          32612: 605364628 92982330 A SET ERROR: CPM422 7: Reset errors
        !          32613: 605365020 93005826 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          32614: 605365070 93008863 A SET MAJOR: CPM422 7: Wrong device state
        !          32615: 605365088 93009914 A CLEAR MAJOR: CPM422 7: Wrong device state
        !          32616: 605365088 93009914 A CLEAR ERROR: CPM422 7: Reset errors
        !          32617: 605365088 93009919 A SET MAJOR: CPM422 7: Wrong device state
        !          32618: 605365094 93010298 A CLEAR MAJOR: CPM422 7: Wrong device state
        !          32619: 605365184 93015660 I unixcscp: Host alive in slot 7
        !          32620: 605365184 93015669 I server sfr removed from 7.5
        !          32621: 605365185 93015725 I server sfr available on 7.5
        !          32622: 605371581 93399670 I unixcscp: Host alive in slot 23
        !          32623: 605374037 93547110 I unixcscp: Host alive in slot 23
        !          32624: 605374042 93547378 I server fornax available on 23.3
        !          32625: 605374967 93602919 I server fornax removed from 23.3
        !          32626: 605375106 93611245 I unixcscp: Host alive in slot 23
        !          32627: 605375137 93613117 I unixcscp: Host alive in slot 23
        !          32628: 605375404 93629145 I unixcscp: Host alive in slot 23
        !          32629: 605375409 93629437 I server fornax available on 23.3
        !          32630: 605380193 93916591 A SET ERROR: CPMHS 17: Reset errors
        !          32631: 605380312 93923740 I unixcscp: Host alive in slot 17
        !          32632: 605380318 93924115 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32633: 605380431 93930886 I server tempel removed from 17.11
        !          32634: 605380441 93931502 I server tempel available on 17.9
        !          32635: 605386561 94298752 I server fornax removed from 23.3
        !          32636: 605387674 94365558 A SET ERROR: CPMHS 17: Reset errors
        !          32637: 605387796 94372863 I unixcscp: Host alive in slot 17
        !          32638: 605387810 94373742 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32639: 605388211 94397814 I server tempel removed from 17.9
        !          32640: 605388220 94398311 I unixcscp: Host alive in slot 17
        !          32641: 605388220 94398321 I server tempel available on 17.11
        !          32642: 605401951 95222523 I unixcscp: Host alive in slot 17
        !          32643: 605401953 95222611 I server tempel removed from 17.11
        !          32644: 605401954 95222668 I server tempel available on 17.5
        !          32645: 605406634 95503555 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32646: 605406636 95503690 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32647: 605431426 96991609 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32648: 605431428 96991744 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32649: 605450141 98114911 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32650: 605450238 98120704 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32651: 605450240 98120822 I server seki removed from 25.5
        !          32652: 605450245 98121115 I server seki available on 25.6
        !          32653: 605455563 98440345 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32654: 605455565 98440480 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32655: 605461393 98790300 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32656: 605461435 98792811 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32657: 605461437 98792927 I server seki removed from 25.6
        !          32658: 605461442 98793217 I server seki available on 25.5
        !          32659: 605463955 98944092 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32660: 605465044 99009471 I server tempel removed from 17.5
        !          32661: 605465170 99016999 I unixcscp: Host alive in slot 17
        !          32662: 605465172 99017145 I server tempel available on 17.5
        !          32663: 605472098 99432778 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32664: 605476659 99706542 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32665: 605476698 99708922 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32666: 605476795 99714726 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32667: 605476887 99720274 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32668: 605477035 99729114 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32669: 605477462 99754733 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32670: 605478543 99819672 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32671: 605479144 99855713 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32672: 605479212 99859806 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32673: 605479516 99878026 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32674: 605479566 99881058 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32675: 605479799 99895054 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32676: 605479865 99899010 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32677: 605480279 99923830 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32678: 605480338 99927390 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32679: 605482128 100034842 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32680: 605482137 100035385 I unixcscp: Host alive in slot 23
        !          32681: 605482142 100035687 I server fornax available on 23.3
        !          32682: 605482187 100038402 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32683: 605485308 100225720 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32684: 605492052 100630446 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32685: 605492052 100630450 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32686: 605543766 103734399 I server fornax removed from 23.3
        !          32687: 605560032 104710704 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32688: 605560032 104710708 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32689: 605560034 104710836 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32690: 605560034 104710840 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32691: 605572871 105481332 I unixcscp: Host alive in slot 7
        !          32692: 605572871 105481340 I server sfr removed from 7.5
        !          32693: 605572872 105481396 I server sfr available on 7.5
        !          32694: 605572895 105482760 I unixcscp: Host alive in slot 7
        !          32695: 605572895 105482769 I server sfr removed from 7.5
        !          32696: 605572895 105482816 I server sfr available on 7.5
        !          32697: 605801694 119215626 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32698: 605802316 119252934 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32699: 605802318 119253051 I server seki removed from 25.5
        !          32700: 605802323 119253330 I server seki available on 25.5
        !          32701: 605804563 119387808 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32702: 605811282 119791135 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32703: 605812220 119847403 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          32704: 605812391 119857683 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32705: 605812393 119857758 I server seki removed from 25.5
        !          32706: 605812397 119858001 I server seki available on 25.5
        !          32707: 605812536 119866345 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          32708: 605815270 120030419 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32709: 605815272 120030548 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32710: 605819679 120295080 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32711: 605820270 120330526 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32712: 605820272 120330625 I server seki removed from 25.5
        !          32713: 605820276 120330878 I server seki available on 25.5
        !          32714: 605820634 120352402 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32715: 605823599 120530323 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32716: 605823716 120537345 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32717: 605823718 120537458 I server seki removed from 25.5
        !          32718: 605823723 120537778 I server seki available on 25.6
        !          32719: 605823862 120546115 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32720: 605825759 120659989 A SET ERROR: CPMHS 17: Reset errors
        !          32721: 605825949 120671386 I unixcscp: Host alive in slot 23
        !          32722: 605825954 120671703 I server fornax available on 23.3
        !          32723: 605825964 120672324 I unixcscp: Host alive in slot 17
        !          32724: 605825966 120672438 I server tempel removed from 17.5
        !          32725: 605825967 120672510 I server tempel available on 17.5
        !          32726: 605825977 120673057 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32727: 605826363 120696220 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32728: 605826609 120710992 I server fornax removed from 23.3
        !          32729: 605826672 120714774 I unixcscp: Host alive in slot 23
        !          32730: 605826676 120715057 I server fornax available on 23.3
        !          32731: 605827236 120748627 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32732: 605827452 120761583 I server fornax removed from 23.3
        !          32733: 605827524 120765956 I unixcscp: Host alive in slot 23
        !          32734: 605827529 120766244 I server fornax available on 23.3
        !          32735: 605828274 120810963 I server fornax removed from 23.3
        !          32736: 605828396 120818297 I unixcscp: Host alive in slot 23
        !          32737: 605828401 120818587 I server fornax available on 23.3
        !          32738: 605828667 120834501 I server fornax removed from 23.3
        !          32739: 605828846 120845272 I unixcscp: Host alive in slot 23
        !          32740: 605828850 120845554 I server fornax available on 23.3
        !          32741: 605828936 120850677 I server fornax removed from 23.3
        !          32742: 605829763 120900322 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32743: 605830342 120935085 I unixcscp: Host alive in slot 23
        !          32744: 605830347 120935371 I server fornax available on 23.3
        !          32745: 605830702 120956692 I server fornax removed from 23.3
        !          32746: 605830789 120961897 I unixcscp: Host alive in slot 23
        !          32747: 605830794 120962180 I server fornax available on 23.3
        !          32748: 605831239 120988905 I server fornax removed from 23.3
        !          32749: 605831290 120991981 I unixcscp: Host alive in slot 23
        !          32750: 605831295 120992262 I server fornax available on 23.3
        !          32751: 605831500 121004589 I server fornax removed from 23.3
        !          32752: 605831567 121008630 I unixcscp: Host alive in slot 23
        !          32753: 605831572 121008924 I server fornax available on 23.3
        !          32754: 605831778 121021239 I server fornax removed from 23.3
        !          32755: 605831804 121022856 I unixcscp: Host alive in slot 23
        !          32756: 605831809 121023145 I server fornax available on 23.3
        !          32757: 605835771 121260954 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32758: 605835805 121263010 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32759: 605835808 121263127 I server seki removed from 25.6
        !          32760: 605835813 121263461 I server seki available on 25.5
        !          32761: 605836196 121286406 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32762: 605836306 121293023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32763: 605836308 121293140 I server seki removed from 25.5
        !          32764: 605836314 121293471 I server seki available on 25.6
        !          32765: 605845002 121814953 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32766: 605845002 121814957 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32767: 605863302 122913331 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32768: 605863302 122913334 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32769: 605863304 122913463 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32770: 605863304 122913466 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32771: 605880991 123975019 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32772: 605881642 124014100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32773: 605881643 124014186 I server seki removed from 25.6
        !          32774: 605881708 124018067 I server seki available on 25.7
        !          32775: 605881852 124026696 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32776: 605882161 124045245 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32777: 605882163 124045363 I server seki removed from 25.7
        !          32778: 605882168 124045703 I server seki available on 25.5
        !          32779: 605894768 124801930 I server tempel removed from 17.5
        !          32780: 605894851 124806931 I unixcscp: Host alive in slot 17
        !          32781: 605894854 124807097 I server tempel available on 17.5
        !          32782: 605897213 124948701 I server fornax removed from 23.3
        !          32783: 605897957 124993384 I server tempel removed from 17.5
        !          32784: 605898063 124999723 A SET ERROR: CPMHS 17: Reset errors
        !          32785: 605898175 125006475 I unixcscp: Host alive in slot 17
        !          32786: 605898178 125006644 I server tempel available on 17.5
        !          32787: 605898217 125008963 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32788: 605898298 125013846 A SET ERROR: CPMHS 17: Reset errors
        !          32789: 605898473 125024337 I unixcscp: Host alive in slot 17
        !          32790: 605898475 125024460 I server tempel removed from 17.5
        !          32791: 605898476 125024493 I server tempel available on 17.5
        !          32792: 605898481 125024803 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32793: 605899109 125062480 I server tempel removed from 17.5
        !          32794: 605899208 125068479 I unixcscp: Host alive in slot 17
        !          32795: 605899212 125068660 I server tempel available on 17.5
        !          32796: 605899904 125110208 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32797: 605899983 125114962 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32798: 605900102 125122087 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32799: 605900403 125140174 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32800: 605900583 125150995 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32801: 605900610 125152582 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32802: 605901818 125225073 I server tempel removed from 17.5
        !          32803: 605901932 125231923 I unixcscp: Host alive in slot 17
        !          32804: 605901935 125232119 I server tempel available on 17.5
        !          32805: 605903181 125306898 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32806: 605903181 125306902 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          32807: 605903261 125311694 A SET ERROR: CPMHS 17: Reset errors
        !          32808: 605903397 125319877 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32809: 605903399 125320011 I unixcscp: Host alive in slot 17
        !          32810: 605903402 125320128 I server tempel removed from 17.5
        !          32811: 605903403 125320198 I server tempel available on 17.5
        !          32812: 605903633 125334042 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32813: 605903909 125350582 I unixcscp: Host alive in slot 23
        !          32814: 605903914 125350887 I server fornax available on 23.3
        !          32815: 605903940 125352459 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32816: 605903942 125352566 I server seki removed from 25.5
        !          32817: 605903948 125352904 I server seki available on 25.6
        !          32818: 605903970 125354188 I server fornax removed from 23.3
        !          32819: 605905050 125419059 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32820: 605905107 125422508 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32821: 605905109 125422617 I server seki removed from 25.6
        !          32822: 605905114 125422939 I server seki available on 25.5
        !          32823: 605906967 125534135 I unixcscp: Host alive in slot 23
        !          32824: 605906973 125534499 I server fornax available on 23.3
        !          32825: 605907027 125537739 I server fornax removed from 23.3
        !          32826: 605907966 125594116 I unixcscp: Host alive in slot 23
        !          32827: 605907972 125594490 I server fornax available on 23.3
        !          32828: 605908780 125642981 I server tempel removed from 17.5
        !          32829: 605908887 125649349 A SET ERROR: CPMHS 17: Reset errors
        !          32830: 605908994 125655793 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          32831: 605909071 125660417 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32832: 605909319 125675329 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32833: 605909340 125676557 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32834: 605909362 125677884 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32835: 605909553 125689358 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32836: 605909557 125689621 A SET ERROR: CPMHS 17: Reset errors
        !          32837: 605909586 125691339 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32838: 605909769 125702292 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32839: 605909997 125716027 I unixcscp: Host alive in slot 17
        !          32840: 605910000 125716166 I server tempel available on 17.5
        !          32841: 605911293 125793804 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          32842: 605911500 125806216 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          32843: 605911898 125830121 I server tempel removed from 17.5
        !          32844: 605912011 125836903 I unixcscp: Host alive in slot 17
        !          32845: 605912013 125837048 I server tempel available on 17.5
        !          32846: 605912214 125849106 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32847: 605912219 125849370 A SET ERROR: CPMHS 17: Reset errors
        !          32848: 605912234 125850294 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32849: 605912371 125858505 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32850: 605912389 125859615 I server tempel removed from 17.5
        !          32851: 605912393 125859846 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32852: 605912393 125859847 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32853: 605912394 125859876 A SET MINOR: unix9cscp: Host dead in slot 20
        !          32854: 605912544 125868906 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32855: 605912630 125874059 I unixcscp: Host alive in slot 17
        !          32856: 605912690 125877666 I server tempel available on 17.7
        !          32857: 605912816 125885236 I server tempel removed from 17.7
        !          32858: 605912916 125891207 I unixcscp: Host alive in slot 17
        !          32859: 605912918 125891349 I server tempel available on 17.5
        !          32860: 605913702 125938402 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32861: 605913704 125938514 I server seki removed from 25.5
        !          32862: 605913710 125938843 I server seki available on 25.5
        !          32863: 605914160 125965857 I server tempel removed from 17.5
        !          32864: 605914243 125970844 I unixcscp: Host alive in slot 17
        !          32865: 605914245 125970985 I server tempel available on 17.5
        !          32866: 605915203 126028522 I server tempel removed from 17.5
        !          32867: 605915326 126035872 I unixcscp: Host alive in slot 17
        !          32868: 605915328 126036021 I server tempel available on 17.5
        !          32869: 605915572 126050629 I server tempel removed from 17.5
        !          32870: 605915663 126056133 I unixcscp: Host alive in slot 17
        !          32871: 605915666 126056277 I server tempel available on 17.5
        !          32872: 605917004 126136584 I server tempel removed from 17.5
        !          32873: 605917102 126142501 A SET ERROR: CPMHS 17: Reset errors
        !          32874: 605917224 126149809 I unixcscp: Host alive in slot 17
        !          32875: 605917226 126149950 I server tempel available on 17.5
        !          32876: 605917294 126153986 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32877: 605917595 126172069 A SET ERROR: CPMHS 17: Reset errors
        !          32878: 605917652 126175470 I server tempel removed from 17.5
        !          32879: 605917655 126175698 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32880: 605917729 126180123 A SET MINOR: CPMHS 17: Fiber disconnected
        !          32881: 605917734 126180386 A SET ERROR: CPMHS 17: Reset errors
        !          32882: 605917753 126181575 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          32883: 605917942 126192926 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32884: 605917945 126193079 I unixcscp: Host alive in slot 17
        !          32885: 605917947 126193220 I server tempel available on 17.5
        !          32886: 605918193 126207949 I server tempel removed from 17.5
        !          32887: 605918307 126214782 I unixcscp: Host alive in slot 17
        !          32888: 605918309 126214924 I server tempel available on 17.5
        !          32889: 605918594 126232019 I server tempel removed from 17.5
        !          32890: 605918693 126237969 I unixcscp: Host alive in slot 17
        !          32891: 605918695 126238110 I server tempel available on 17.5
        !          32892: 605981745 130022387 I server seki removed from 25.5
        !          32893: 605981778 130024404 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32894: 605982068 130041815 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32895: 605982075 130042235 I server seki available on 25.5
        !          32896: 605991035 130580011 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32897: 605991237 130592142 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32898: 605991240 130592252 I server seki removed from 25.5
        !          32899: 605991245 130592605 I server seki available on 25.6
        !          32900: 605991507 130608342 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32901: 605992365 130659798 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32902: 605992367 130659911 I server seki removed from 25.6
        !          32903: 605992372 130660235 I server seki available on 25.5
        !          32904: 605995034 130819998 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32905: 605995589 130853319 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32906: 605995591 130853426 I server seki removed from 25.5
        !          32907: 605995597 130853765 I server seki available on 25.5
        !          32908: 605995799 130865917 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32909: 605995979 130876698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32910: 605995981 130876808 I server seki removed from 25.5
        !          32911: 605995987 130877174 I server seki available on 25.5
        !          32912: 605996159 130887498 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          32913: 605996752 130923109 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          32914: 605996754 130923218 I server seki removed from 25.5
        !          32915: 605996759 130923553 I server seki available on 25.5
        !          32916: 605998304 131016259 I server tempel removed from 17.5
        !          32917: 605998431 131023916 A SET ERROR: CPMHS 17: Reset errors
        !          32918: 605998580 131032855 I unixcscp: Host alive in slot 17
        !          32919: 605998583 131033004 I server tempel available on 17.5
        !          32920: 605998623 131035400 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32921: 605998946 131054804 A SET ERROR: CPMHS 17: Reset errors
        !          32922: 605999126 131065627 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32923: 605999128 131065700 I unixcscp: Host alive in slot 17
        !          32924: 605999130 131065824 I server tempel removed from 17.5
        !          32925: 605999130 131065855 I server tempel available on 17.5
        !          32926: 606001792 131225628 I server tempel removed from 17.5
        !          32927: 606001920 131233299 I unixcscp: Host alive in slot 17
        !          32928: 606001922 131233456 I server tempel available on 17.5
        !          32929: 606008836 131648373 I server tempel removed from 17.5
        !          32930: 606008932 131654101 A SET ERROR: CPMHS 17: Reset errors
        !          32931: 606009046 131660981 I unixcscp: Host alive in slot 17
        !          32932: 606009049 131661135 I server tempel available on 17.5
        !          32933: 606009116 131665188 A CLEAR ERROR: CPMHS 17: Reset errors
        !          32934: 606054431 134384997 I unixcscp: Host alive in slot 29/2
        !          32935: 606054433 134385091 I unixcscp: Host alive in slot 29/2
        !          32936: 606054433 134385122 I unixcscp: Host alive in slot 29/2
        !          32937: 606054434 134385155 I unixcscp: Host alive in slot 29/2
        !          32938: 606054434 134385201 I unixcscp: Host alive in slot 29/2
        !          32939: 606054435 134385232 I unixcscp: Host alive in slot 29/2
        !          32940: 606054435 134385264 I unixcscp: Host alive in slot 29/2
        !          32941: 606054436 134385297 I unixcscp: Host alive in slot 29/2
        !          32942: 606054437 134385342 I unixcscp: Host alive in slot 29/2
        !          32943: 606054449 134386064 I unixcscp: Host alive in slot 29/2
        !          32944: 606054449 134386095 I unixcscp: Host alive in slot 29/2
        !          32945: 606054450 134386142 I unixcscp: Host alive in slot 29/2
        !          32946: 606054451 134386174 I unixcscp: Host alive in slot 29/2
        !          32947: 606054451 134386221 I unixcscp: Host alive in slot 29/2
        !          32948: 606054452 134386269 I unixcscp: Host alive in slot 29/2
        !          32949: 606054453 134386299 I unixcscp: Host alive in slot 29/2
        !          32950: 606054453 134386331 I unixcscp: Host alive in slot 29/2
        !          32951: 606054454 134386362 I unixcscp: Host alive in slot 29/2
        !          32952: 606054454 134386408 I unixcscp: Host alive in slot 29/2
        !          32953: 606054455 134386440 I unixcscp: Host alive in slot 29/2
        !          32954: 606054456 134386471 I unixcscp: Host alive in slot 29/2
        !          32955: 606054456 134386503 I unixcscp: Host alive in slot 29/2
        !          32956: 606054464 134387005 I unixcscp: Host alive in slot 29/2
        !          32957: 606054465 134387036 I unixcscp: Host alive in slot 29/2
        !          32958: 606054466 134387083 I unixcscp: Host alive in slot 29/2
        !          32959: 606054467 134387131 I unixcscp: Host alive in slot 29/2
        !          32960: 606054467 134387179 I unixcscp: Host alive in slot 29/2
        !          32961: 606054468 134387225 I unixcscp: Host alive in slot 29/2
        !          32962: 606054469 134387256 I unixcscp: Host alive in slot 29/2
        !          32963: 606054469 134387287 I unixcscp: Host alive in slot 29/2
        !          32964: 606054470 134387335 I unixcscp: Host alive in slot 29/2
        !          32965: 606054471 134387381 I unixcscp: Host alive in slot 29/2
        !          32966: 606054471 134387413 I unixcscp: Host alive in slot 29/2
        !          32967: 606054472 134387446 I unixcscp: Host alive in slot 29/2
        !          32968: 606054729 134402914 I unixcscp: Host alive in slot 29/2
        !          32969: 606054731 134403008 I unixcscp: Host alive in slot 29/2
        !          32970: 606054732 134403053 I unixcscp: Host alive in slot 29/2
        !          32971: 606054732 134403086 I unixcscp: Host alive in slot 29/2
        !          32972: 606054733 134403117 I unixcscp: Host alive in slot 29/2
        !          32973: 606054733 134403148 I unixcscp: Host alive in slot 29/2
        !          32974: 606054734 134403194 I unixcscp: Host alive in slot 29/2
        !          32975: 606054735 134403225 I unixcscp: Host alive in slot 29/2
        !          32976: 606054735 134403257 I unixcscp: Host alive in slot 29/2
        !          32977: 606054736 134403288 I unixcscp: Host alive in slot 29/2
        !          32978: 606054737 134403335 I unixcscp: Host alive in slot 29/2
        !          32979: 606054737 134403382 I unixcscp: Host alive in slot 29/2
        !          32980: 606054738 134403414 I unixcscp: Host alive in slot 29/2
        !          32981: 606054739 134403460 I unixcscp: Host alive in slot 29/2
        !          32982: 606054739 134403491 I unixcscp: Host alive in slot 29/2
        !          32983: 606054740 134403523 I unixcscp: Host alive in slot 29/2
        !          32984: 606054740 134403556 I unixcscp: Host alive in slot 29/2
        !          32985: 606054741 134403601 I unixcscp: Host alive in slot 29/2
        !          32986: 606054742 134403633 I unixcscp: Host alive in slot 29/2
        !          32987: 606054742 134403664 I unixcscp: Host alive in slot 29/2
        !          32988: 606054743 134403715 I unixcscp: Host alive in slot 29/2
        !          32989: 606054744 134403758 I unixcscp: Host alive in slot 29/2
        !          32990: 606054744 134403790 I unixcscp: Host alive in slot 29/2
        !          32991: 606054745 134403822 I unixcscp: Host alive in slot 29/2
        !          32992: 606054745 134403868 I unixcscp: Host alive in slot 29/2
        !          32993: 606054757 134404559 I unixcscp: Host alive in slot 29/2
        !          32994: 606054757 134404590 I unixcscp: Host alive in slot 29/2
        !          32995: 606054758 134404637 I unixcscp: Host alive in slot 29/2
        !          32996: 606054759 134404684 I unixcscp: Host alive in slot 29/2
        !          32997: 606054760 134404716 I unixcscp: Host alive in slot 29/2
        !          32998: 606054760 134404763 I unixcscp: Host alive in slot 29/2
        !          32999: 606054761 134404810 I unixcscp: Host alive in slot 29/2
        !          33000: 606054762 134404841 I unixcscp: Host alive in slot 29/2
        !          33001: 606054762 134404873 I unixcscp: Host alive in slot 29/2
        !          33002: 606054763 134404920 I unixcscp: Host alive in slot 29/2
        !          33003: 606054763 134404951 I unixcscp: Host alive in slot 29/2
        !          33004: 606054764 134404998 I unixcscp: Host alive in slot 29/2
        !          33005: 606055588 134454447 I unixcscp: Host alive in slot 29/2
        !          33006: 606055589 134454540 I unixcscp: Host alive in slot 29/2
        !          33007: 606055590 134454587 I unixcscp: Host alive in slot 29/2
        !          33008: 606055591 134454618 I unixcscp: Host alive in slot 29/2
        !          33009: 606055591 134454665 I unixcscp: Host alive in slot 29/2
        !          33010: 606055592 134454712 I unixcscp: Host alive in slot 29/2
        !          33011: 606055593 134454744 I unixcscp: Host alive in slot 29/2
        !          33012: 606055593 134454778 I unixcscp: Host alive in slot 29/2
        !          33013: 606055594 134454822 I unixcscp: Host alive in slot 29/2
        !          33014: 606055595 134454854 I unixcscp: Host alive in slot 29/2
        !          33015: 606055595 134454885 I unixcscp: Host alive in slot 29/2
        !          33016: 606055596 134454933 I unixcscp: Host alive in slot 29/2
        !          33017: 606055597 134454979 I unixcscp: Host alive in slot 29/2
        !          33018: 606055597 134455012 I unixcscp: Host alive in slot 29/2
        !          33019: 606055598 134455044 I unixcscp: Host alive in slot 29/2
        !          33020: 606055599 134455089 I unixcscp: Host alive in slot 29/2
        !          33021: 606055599 134455121 I unixcscp: Host alive in slot 29/2
        !          33022: 606055600 134455154 I unixcscp: Host alive in slot 29/2
        !          33023: 606055600 134455199 I unixcscp: Host alive in slot 29/2
        !          33024: 606055601 134455245 I unixcscp: Host alive in slot 29/2
        !          33025: 606055602 134455277 I unixcscp: Host alive in slot 29/2
        !          33026: 606055602 134455308 I unixcscp: Host alive in slot 29/2
        !          33027: 606055603 134455355 I unixcscp: Host alive in slot 29/2
        !          33028: 606055604 134455387 I unixcscp: Host alive in slot 29/2
        !          33029: 606055604 134455418 I unixcscp: Host alive in slot 29/2
        !          33030: 606055605 134455453 I unixcscp: Host alive in slot 29/2
        !          33031: 606055605 134455497 I unixcscp: Host alive in slot 29/2
        !          33032: 606055606 134455528 I unixcscp: Host alive in slot 29/2
        !          33033: 606055606 134455560 I unixcscp: Host alive in slot 29/2
        !          33034: 606055607 134455606 I unixcscp: Host alive in slot 29/2
        !          33035: 606055608 134455653 I unixcscp: Host alive in slot 29/2
        !          33036: 606055608 134455684 I unixcscp: Host alive in slot 29/2
        !          33037: 606055620 134456374 I unixcscp: Host alive in slot 29/2
        !          33038: 606055621 134456406 I unixcscp: Host alive in slot 29/2
        !          33039: 606055621 134456453 I unixcscp: Host alive in slot 29/2
        !          33040: 606055622 134456502 I unixcscp: Host alive in slot 29/2
        !          33041: 606055623 134456547 I unixcscp: Host alive in slot 29/2
        !          33042: 606055623 134456579 I unixcscp: Host alive in slot 29/2
        !          33043: 606055624 134456610 I unixcscp: Host alive in slot 29/2
        !          33044: 606055630 134456955 I unixcscp: Host alive in slot 29/2
        !          33045: 606055630 134456987 I unixcscp: Host alive in slot 29/2
        !          33046: 606055631 134457036 I unixcscp: Host alive in slot 29/2
        !          33047: 606055632 134457081 I unixcscp: Host alive in slot 29/2
        !          33048: 606055632 134457112 I unixcscp: Host alive in slot 29/2
        !          33049: 606055633 134457144 I unixcscp: Host alive in slot 29/2
        !          33050: 606055633 134457176 I unixcscp: Host alive in slot 29/2
        !          33051: 606055634 134457221 I unixcscp: Host alive in slot 29/2
        !          33052: 606055635 134457253 I unixcscp: Host alive in slot 29/2
        !          33053: 606055635 134457284 I unixcscp: Host alive in slot 29/2
        !          33054: 606055636 134457331 I unixcscp: Host alive in slot 29/2
        !          33055: 606055637 134457365 I unixcscp: Host alive in slot 29/2
        !          33056: 606055637 134457394 I unixcscp: Host alive in slot 29/2
        !          33057: 606055638 134457441 I unixcscp: Host alive in slot 29/2
        !          33058: 606055638 134457474 I unixcscp: Host alive in slot 29/2
        !          33059: 606055639 134457505 I unixcscp: Host alive in slot 29/2
        !          33060: 606055639 134457536 I unixcscp: Host alive in slot 29/2
        !          33061: 606055640 134457570 I unixcscp: Host alive in slot 29/2
        !          33062: 606055641 134457614 I unixcscp: Host alive in slot 29/2
        !          33063: 606055641 134457646 I unixcscp: Host alive in slot 29/2
        !          33064: 606055642 134457677 I unixcscp: Host alive in slot 29/2
        !          33065: 606055642 134457712 I unixcscp: Host alive in slot 29/2
        !          33066: 606055643 134457756 I unixcscp: Host alive in slot 29/2
        !          33067: 606055644 134457787 I unixcscp: Host alive in slot 29/2
        !          33068: 606055644 134457819 I unixcscp: Host alive in slot 29/2
        !          33069: 606055645 134457867 I unixcscp: Host alive in slot 29/2
        !          33070: 606056629 134516915 I unixcscp: Host alive in slot 29/2
        !          33071: 606056630 134517009 I unixcscp: Host alive in slot 29/2
        !          33072: 606056631 134517040 I unixcscp: Host alive in slot 29/2
        !          33073: 606056631 134517072 I unixcscp: Host alive in slot 29/2
        !          33074: 606056632 134517106 I unixcscp: Host alive in slot 29/2
        !          33075: 606056633 134517149 I unixcscp: Host alive in slot 29/2
        !          33076: 606056633 134517181 I unixcscp: Host alive in slot 29/2
        !          33077: 606056634 134517212 I unixcscp: Host alive in slot 29/2
        !          33078: 606056634 134517245 I unixcscp: Host alive in slot 29/2
        !          33079: 606056635 134517292 I unixcscp: Host alive in slot 29/2
        !          33080: 606056635 134517322 I unixcscp: Host alive in slot 29/2
        !          33081: 606056636 134517354 I unixcscp: Host alive in slot 29/2
        !          33082: 606056637 134517401 I unixcscp: Host alive in slot 29/2
        !          33083: 606056638 134517448 I unixcscp: Host alive in slot 29/2
        !          33084: 606056638 134517479 I unixcscp: Host alive in slot 29/2
        !          33085: 606056639 134517513 I unixcscp: Host alive in slot 29/2
        !          33086: 606056639 134517558 I unixcscp: Host alive in slot 29/2
        !          33087: 606056640 134517591 I unixcscp: Host alive in slot 29/2
        !          33088: 606056641 134517636 I unixcscp: Host alive in slot 29/2
        !          33089: 606056641 134517684 I unixcscp: Host alive in slot 29/2
        !          33090: 606056642 134517715 I unixcscp: Host alive in slot 29/2
        !          33091: 606056643 134517746 I unixcscp: Host alive in slot 29/2
        !          33092: 606056643 134517779 I unixcscp: Host alive in slot 29/2
        !          33093: 606056650 134518186 I unixcscp: Host alive in slot 29/2
        !          33094: 606056651 134518232 I unixcscp: Host alive in slot 29/2
        !          33095: 606056651 134518263 I unixcscp: Host alive in slot 29/2
        !          33096: 606056652 134518295 I unixcscp: Host alive in slot 29/2
        !          33097: 606056653 134518341 I unixcscp: Host alive in slot 29/2
        !          33098: 606056653 134518372 I unixcscp: Host alive in slot 29/2
        !          33099: 606056653 134518404 I unixcscp: Host alive in slot 29/2
        !          33100: 606056654 134518451 I unixcscp: Host alive in slot 29/2
        !          33101: 606056655 134518498 I unixcscp: Host alive in slot 29/2
        !          33102: 606056664 134519016 I unixcscp: Host alive in slot 29/2
        !          33103: 606056664 134519048 I unixcscp: Host alive in slot 29/2
        !          33104: 606056665 134519094 I unixcscp: Host alive in slot 29/2
        !          33105: 606056666 134519141 I unixcscp: Host alive in slot 29/2
        !          33106: 606056666 134519173 I unixcscp: Host alive in slot 29/2
        !          33107: 606056667 134519204 I unixcscp: Host alive in slot 29/2
        !          33108: 606056667 134519236 I unixcscp: Host alive in slot 29/2
        !          33109: 606056668 134519281 I unixcscp: Host alive in slot 29/2
        !          33110: 606056669 134519312 I unixcscp: Host alive in slot 29/2
        !          33111: 606056669 134519344 I unixcscp: Host alive in slot 29/2
        !          33112: 606056670 134519392 I unixcscp: Host alive in slot 29/2
        !          33113: 606064483 134988345 I server fornax removed from 23.3
        !          33114: 606064501 134989425 I unixcscp: Host alive in slot 23
        !          33115: 606064507 134989797 I server fornax available on 23.3
        !          33116: 606068488 135228714 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33117: 606069704 135301679 I server tempel removed from 17.5
        !          33118: 606069831 135309359 I unixcscp: Host alive in slot 17
        !          33119: 606069834 135309507 I server tempel available on 17.5
        !          33120: 606071452 135406665 I unixcscp: Host alive in slot 29/2
        !          33121: 606071453 135406744 I unixcscp: Host alive in slot 29/2
        !          33122: 606071454 135406775 I unixcscp: Host alive in slot 29/2
        !          33123: 606071454 135406807 I unixcscp: Host alive in slot 29/2
        !          33124: 606071455 135406838 I unixcscp: Host alive in slot 29/2
        !          33125: 606071455 135406870 I unixcscp: Host alive in slot 29/2
        !          33126: 606071456 135406916 I unixcscp: Host alive in slot 29/2
        !          33127: 606071457 135406948 I unixcscp: Host alive in slot 29/2
        !          33128: 606071457 135406981 I unixcscp: Host alive in slot 29/2
        !          33129: 606071458 135407011 I unixcscp: Host alive in slot 29/2
        !          33130: 606071458 135407042 I unixcscp: Host alive in slot 29/2
        !          33131: 606071459 135407073 I unixcscp: Host alive in slot 29/2
        !          33132: 606071459 135407105 I unixcscp: Host alive in slot 29/2
        !          33133: 606071460 135407136 I unixcscp: Host alive in slot 29/2
        !          33134: 606071460 135407168 I unixcscp: Host alive in slot 29/2
        !          33135: 606071461 135407199 I unixcscp: Host alive in slot 29/2
        !          33136: 606071461 135407231 I unixcscp: Host alive in slot 29/2
        !          33137: 606071462 135407262 I unixcscp: Host alive in slot 29/2
        !          33138: 606071462 135407294 I unixcscp: Host alive in slot 29/2
        !          33139: 606071463 135407325 I unixcscp: Host alive in slot 29/2
        !          33140: 606071464 135407358 I unixcscp: Host alive in slot 29/2
        !          33141: 606071464 135407388 I unixcscp: Host alive in slot 29/2
        !          33142: 606071471 135407812 I unixcscp: Host alive in slot 29/2
        !          33143: 606071472 135407843 I unixcscp: Host alive in slot 29/2
        !          33144: 606071472 135407874 I unixcscp: Host alive in slot 29/2
        !          33145: 606071473 135407909 I unixcscp: Host alive in slot 29/2
        !          33146: 606071473 135407936 I unixcscp: Host alive in slot 29/2
        !          33147: 606071474 135407967 I unixcscp: Host alive in slot 29/2
        !          33148: 606071474 135407999 I unixcscp: Host alive in slot 29/2
        !          33149: 606071475 135408030 I unixcscp: Host alive in slot 29/2
        !          33150: 606071475 135408062 I unixcscp: Host alive in slot 29/2
        !          33151: 606071476 135408093 I unixcscp: Host alive in slot 29/2
        !          33152: 606071476 135408125 I unixcscp: Host alive in slot 29/2
        !          33153: 606071477 135408156 I unixcscp: Host alive in slot 29/2
        !          33154: 606071477 135408188 I unixcscp: Host alive in slot 29/2
        !          33155: 606071478 135408219 I unixcscp: Host alive in slot 29/2
        !          33156: 606071478 135408250 I unixcscp: Host alive in slot 29/2
        !          33157: 606071479 135408283 I unixcscp: Host alive in slot 29/2
        !          33158: 606071480 135408315 I unixcscp: Host alive in slot 29/2
        !          33159: 606071480 135408345 I unixcscp: Host alive in slot 29/2
        !          33160: 606071480 135408376 I unixcscp: Host alive in slot 29/2
        !          33161: 606071481 135408408 I unixcscp: Host alive in slot 29/2
        !          33162: 606071482 135408438 I unixcscp: Host alive in slot 29/2
        !          33163: 606071482 135408469 I unixcscp: Host alive in slot 29/2
        !          33164: 606071483 135408501 I unixcscp: Host alive in slot 29/2
        !          33165: 606071483 135408532 I unixcscp: Host alive in slot 29/2
        !          33166: 606071484 135408565 I unixcscp: Host alive in slot 29/2
        !          33167: 606071484 135408611 I unixcscp: Host alive in slot 29/2
        !          33168: 606071485 135408642 I unixcscp: Host alive in slot 29/2
        !          33169: 606071486 135408675 I unixcscp: Host alive in slot 29/2
        !          33170: 606071486 135408705 I unixcscp: Host alive in slot 29/2
        !          33171: 606071487 135408735 I unixcscp: Host alive in slot 29/2
        !          33172: 606071487 135408767 I unixcscp: Host alive in slot 29/2
        !          33173: 606071488 135408798 I unixcscp: Host alive in slot 29/2
        !          33174: 606071497 135409362 I unixcscp: Host alive in slot 29/2
        !          33175: 606071498 135409394 I unixcscp: Host alive in slot 29/2
        !          33176: 606071498 135409425 I unixcscp: Host alive in slot 29/2
        !          33177: 606071499 135409456 I unixcscp: Host alive in slot 29/2
        !          33178: 606071499 135409489 I unixcscp: Host alive in slot 29/2
        !          33179: 606071500 135409521 I unixcscp: Host alive in slot 29/2
        !          33180: 606071500 135409552 I unixcscp: Host alive in slot 29/2
        !          33181: 606071501 135409582 I unixcscp: Host alive in slot 29/2
        !          33182: 606071501 135409614 I unixcscp: Host alive in slot 29/2
        !          33183: 606071502 135409645 I unixcscp: Host alive in slot 29/2
        !          33184: 606071502 135409676 I unixcscp: Host alive in slot 29/2
        !          33185: 606071503 135409708 I unixcscp: Host alive in slot 29/2
        !          33186: 606071591 135415037 I server tempel removed from 17.5
        !          33187: 606071691 135421034 I unixcscp: Host alive in slot 17
        !          33188: 606071694 135421185 I server tempel available on 17.5
        !          33189: 606072008 135440067 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33190: 606072011 135440174 I server seki removed from 25.5
        !          33191: 606072017 135440581 I server seki available on 25.6
        !          33192: 606072488 135468864 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33193: 606073400 135523563 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33194: 606073402 135523667 I server seki removed from 25.6
        !          33195: 606073408 135524049 I server seki available on 25.5
        !          33196: 606073761 135545160 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33197: 606074012 135560228 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33198: 606074014 135560331 I server seki removed from 25.5
        !          33199: 606074020 135560689 I server seki available on 25.5
        !          33200: 606074282 135576428 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33201: 606074821 135608760 I server tempel removed from 17.5
        !          33202: 606074948 135616422 I unixcscp: Host alive in slot 17
        !          33203: 606074951 135616587 I server tempel available on 17.5
        !          33204: 606075572 135653877 I server tempel removed from 17.5
        !          33205: 606075767 135665545 A SET ERROR: CPMHS 17: Reset errors
        !          33206: 606075780 135666316 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33207: 606075871 135671775 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33208: 606075873 135671882 I server seki removed from 25.5
        !          33209: 606075879 135672251 I server seki available on 25.6
        !          33210: 606076110 135686116 I unixcscp: Host alive in slot 17
        !          33211: 606076170 135689721 I server tempel available on 17.7
        !          33212: 606078809 135848172 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33213: 606079002 135859755 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33214: 606079004 135859865 I server seki removed from 25.6
        !          33215: 606079011 135860246 I server seki available on 25.5
        !          33216: 606079870 135911858 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33217: 606079908 135914105 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33218: 606079936 135915822 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33219: 606079978 135918335 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33220: 606079989 135918990 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33221: 606080022 135920952 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33222: 606080025 135921106 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33223: 606080027 135921234 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33224: 606080859 135971180 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33225: 606080860 135971194 I server seki removed from 25.5
        !          33226: 606080865 135971557 I server seki available on 25.5
        !          33227: 606083108 136106178 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33228: 606083181 136110553 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33229: 606083183 136110657 I server seki removed from 25.5
        !          33230: 606083190 136111069 I server seki available on 25.6
        !          33231: 606083391 136123152 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33232: 606083731 136143546 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33233: 606083733 136143648 I server seki removed from 25.6
        !          33234: 606083740 136144089 I server seki available on 25.5
        !          33235: 606084810 136208346 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33236: 606084825 136209250 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33237: 606084827 136209351 I server seki removed from 25.5
        !          33238: 606084835 136209842 I server seki available on 25.6
        !          33239: 606085770 136265974 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33240: 606086597 136315566 I server tempel removed from 17.7
        !          33241: 606086716 136322717 I unixcscp: Host alive in slot 17
        !          33242: 606086718 136322858 I server tempel available on 17.5
        !          33243: 606086767 136325767 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33244: 606086888 136333035 I server tempel removed from 17.5
        !          33245: 606086988 136339076 A SET ERROR: CPMHS 17: Reset errors
        !          33246: 606087114 136346619 I unixcscp: Host alive in slot 17
        !          33247: 606087116 136346765 I server tempel available on 17.5
        !          33248: 606087184 136350823 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33249: 606087563 136373555 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33250: 606087565 136373683 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33251: 606089203 136471987 I server tempel removed from 17.5
        !          33252: 606089314 136478692 I unixcscp: Host alive in slot 17
        !          33253: 606089316 136478831 I server tempel available on 17.5
        !          33254: 606089784 136506886 I server tempel removed from 17.5
        !          33255: 606089884 136512900 I unixcscp: Host alive in slot 17
        !          33256: 606089886 136513041 I server tempel available on 17.5
        !          33257: 606090589 136555193 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33258: 606152181 140252048 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33259: 606152307 140259587 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33260: 606152309 140259695 I server seki removed from 25.6
        !          33261: 606152315 140260087 I server seki available on 25.5
        !          33262: 606154436 140387382 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33263: 606155037 140423428 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33264: 606155039 140423539 I server seki removed from 25.5
        !          33265: 606155045 140423953 I server seki available on 25.6
        !          33266: 606155456 140448624 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33267: 606155562 140454930 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33268: 606156291 140498731 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33269: 606156293 140498837 I server seki removed from 25.6
        !          33270: 606156299 140499215 I server seki available on 25.5
        !          33271: 606156490 140510693 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33272: 606156651 140520330 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33273: 606156711 140523902 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33274: 606159795 140709023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33275: 606159796 140709090 I server seki removed from 25.5
        !          33276: 606159801 140709362 I server seki available on 25.5
        !          33277: 606160571 140755522 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33278: 606160718 140764363 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33279: 606161063 140785090 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33280: 606161156 140790631 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33281: 606161369 140803438 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33282: 606161499 140811223 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33283: 606161527 140812942 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33284: 606161644 140819935 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33285: 606161697 140823106 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33286: 606161908 140835775 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33287: 606161987 140840530 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33288: 606162018 140842375 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33289: 606162077 140845942 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33290: 606162361 140862967 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33291: 606162612 140878018 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33292: 606164819 141010485 I server fornax removed from 23.3
        !          33293: 606164823 141010779 I unixcscp: Host alive in slot 23
        !          33294: 606164829 141011118 I server fornax available on 23.3
        !          33295: 606165432 141047309 I server tempel removed from 17.5
        !          33296: 606165548 141054293 I unixcscp: Host alive in slot 17
        !          33297: 606165552 141054479 I server tempel available on 17.5
        !          33298: 606167903 141195606 A SET ERROR: CPMHS 17: Reset errors
        !          33299: 606167999 141201413 I server tempel removed from 17.5
        !          33300: 606168003 141201643 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33301: 606168008 141201945 A SET MAJOR: CPMHS 17: Wrong device state
        !          33302: 606168008 141201946 A CLEAR MAJOR: CPMHS 17: Wrong device state
        !          33303: 606168101 141207486 A SET ERROR: CPMHS 17: Reset errors
        !          33304: 606168268 141217514 I unixcscp: Host alive in slot 17
        !          33305: 606168270 141217656 I server tempel available on 17.5
        !          33306: 606168281 141218310 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33307: 606170769 141367657 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33308: 606171473 141409900 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33309: 606171475 141410029 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33310: 606171596 141417293 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33311: 606171618 141418615 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33312: 606171748 141426406 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          33313: 606243616 145740020 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33314: 606243767 145749090 A SET MINOR: CPMHS 25: Fiber disconnected
        !          33315: 606244486 145792254 A CLEAR MINOR: CPMHS 25: Fiber disconnected
        !          33316: 606244508 145793574 A SET MINOR: CPMHS 25: Fiber disconnected
        !          33317: 606244728 145806775 A CLEAR MINOR: CPMHS 25: Fiber disconnected
        !          33318: 606245244 145837712 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33319: 606245246 145837814 I server seki removed from 25.5
        !          33320: 606245253 145838227 I server seki available on 25.6
        !          33321: 606246804 145931310 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33322: 606246919 145938239 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33323: 606246922 145938341 I server seki removed from 25.6
        !          33324: 606246928 145938740 I server seki available on 25.5
        !          33325: 606246940 145939501 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          33326: 606246941 145939505 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          33327: 606247399 145967034 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33328: 606248453 146030309 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33329: 606248454 146030327 I server seki removed from 25.5
        !          33330: 606248460 146030735 I server seki available on 25.5
        !          33331: 606421776 156433343 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          33332: 606452922 158302746 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33333: 606453409 158331952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33334: 606453411 158332052 I server seki removed from 25.5
        !          33335: 606453418 158332481 I server seki available on 25.5
        !          33336: 606454579 158402152 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33337: 606455055 158430737 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33338: 606455057 158430836 I server seki removed from 25.5
        !          33339: 606455064 158431294 I server seki available on 25.6
        !          33340: 606455205 158439732 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33341: 606455410 158452037 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33342: 606455412 158452139 I server seki removed from 25.6
        !          33343: 606455419 158452569 I server seki available on 25.5
        !          33344: 606517917 162203804 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          33345: 606517940 162205183 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          33346: 606518131 162216598 I server fornax removed from 23.3
        !          33347: 606518264 162224611 I unixcscp: Host alive in slot 23
        !          33348: 606518269 162224938 I server fornax available on 23.3
        !          33349: 606518594 162244419 I server fornax removed from 23.3
        !          33350: 606518776 162255347 I unixcscp: Host alive in slot 23
        !          33351: 606518781 162255646 I server fornax available on 23.3
        !          33352: 606518986 162267952 I server fornax removed from 23.3
        !          33353: 606537015 163350145 I server seki removed from 25.5
        !          33354: 606537070 163353432 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33355: 606537168 163359316 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33356: 606537177 163359839 I server seki available on 25.5
        !          33357: 606537215 163362121 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          33358: 606537260 163364822 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          33359: 606571573 165424317 I server seki removed from 25.5
        !          33360: 606571626 165427512 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33361: 606571644 165428566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33362: 606571653 165429071 I server seki available on 25.5
        !          33363: 606571944 165446562 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33364: 606572414 165474787 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33365: 606572417 165474884 I server seki removed from 25.5
        !          33366: 606572423 165475290 I server seki available on 25.5
        !          33367: 606580385 165953220 I server seki removed from 25.5
        !          33368: 606580421 165955386 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33369: 606580433 165956077 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33370: 606580441 165956580 I server seki available on 25.5
        !          33371: 606580823 165979476 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33372: 606581298 166008019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33373: 606581300 166008111 I server seki removed from 25.5
        !          33374: 606581307 166008546 I server seki available on 25.5
        !          33375: 606581508 166020618 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33376: 606581537 166022359 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33377: 606581540 166022462 I server seki removed from 25.5
        !          33378: 606581547 166022943 I server seki available on 25.5
        !          33379: 606581837 166040358 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33380: 606582350 166071114 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33381: 606582352 166071206 I server seki removed from 25.5
        !          33382: 606582359 166071646 I server seki available on 25.5
        !          33383: 606583394 166133792 I unixcscp: Host alive in slot 23
        !          33384: 606583399 166134106 I server fornax available on 23.3
        !          33385: 606583399 166134116 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33386: 606583421 166135417 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33387: 606583421 166135429 I server seki removed from 25.5
        !          33388: 606583430 166135936 I server seki available on 25.5
        !          33389: 606583571 166144416 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33390: 606583665 166150023 I server fornax removed from 23.3
        !          33391: 606584046 166172952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33392: 606584047 166172965 I server seki removed from 25.5
        !          33393: 606584055 166173445 I server seki available on 25.5
        !          33394: 606584136 166178353 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33395: 606584175 166180692 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33396: 606584176 166180702 I server seki removed from 25.5
        !          33397: 606584183 166181124 I server seki available on 25.6
        !          33398: 606584535 166202292 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33399: 606585046 166232933 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33400: 606585046 166232952 I server seki removed from 25.6
        !          33401: 606585054 166233406 I server seki available on 25.5
        !          33402: 606587955 166407540 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33403: 606587961 166407879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33404: 606587962 166407896 I server seki removed from 25.5
        !          33405: 606587970 166408423 I server seki available on 25.5
        !          33406: 606589629 166508014 I unixcscp: Host alive in slot 23
        !          33407: 606589634 166508331 I server fornax available on 23.3
        !          33408: 606589719 166513419 I server fornax removed from 23.3
        !          33409: 606590499 166560215 I unixcscp: Host alive in slot 23
        !          33410: 606590504 166560521 I server fornax available on 23.3
        !          33411: 606590799 166578225 I server fornax removed from 23.3
        !          33412: 606591349 166611276 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33413: 606591355 166611633 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33414: 606591355 166611643 I server seki removed from 25.5
        !          33415: 606591365 166612199 I server seki available on 25.6
        !          33416: 606591519 166621487 I unixcscp: Host alive in slot 23
        !          33417: 606591525 166621805 I server fornax available on 23.3
        !          33418: 606591610 166626892 I server fornax removed from 23.3
        !          33419: 606592624 166687742 I unixcscp: Host alive in slot 23
        !          33420: 606592630 166688061 I server fornax available on 23.3
        !          33421: 606592955 166707549 I server fornax removed from 23.3
        !          33422: 606593999 166770228 I unixcscp: Host alive in slot 23
        !          33423: 606594004 166770541 I server fornax available on 23.3
        !          33424: 606594359 166791843 I server fornax removed from 23.3
        !          33425: 606595551 166863403 I unixcscp: Host alive in slot 23
        !          33426: 606595557 166863777 I server fornax available on 23.3
        !          33427: 606595642 166868812 I server fornax removed from 23.3
        !          33428: 606595956 166887740 I unixcscp: Host alive in slot 23
        !          33429: 606595962 166888084 I server fornax available on 23.3
        !          33430: 606596047 166893147 I server fornax removed from 23.3
        !          33431: 606596520 166921564 I unixcscp: Host alive in slot 23
        !          33432: 606596525 166921887 I server fornax available on 23.3
        !          33433: 606599699 167112369 I server fornax removed from 23.3
        !          33434: 606601941 167246951 I unixcscp: Host alive in slot 23
        !          33435: 606601955 167247766 I server fornax available on 23.3
        !          33436: 606602032 167252355 I server fornax removed from 23.3
        !          33437: 606602506 167280833 I unixcscp: Host alive in slot 23
        !          33438: 606602514 167281319 I server fornax available on 23.3
        !          33439: 606602596 167286237 I server fornax removed from 23.3
        !          33440: 606602602 167286646 I unixcscp: Host alive in slot 23
        !          33441: 606602608 167286983 I server fornax available on 23.3
        !          33442: 606602663 167290252 I server fornax removed from 23.3
        !          33443: 606602835 167300629 I unixcscp: Host alive in slot 23
        !          33444: 606602841 167300981 I server fornax available on 23.3
        !          33445: 606602956 167307837 I server fornax removed from 23.3
        !          33446: 606602976 167309098 I unixcscp: Host alive in slot 23
        !          33447: 606602982 167309428 I server fornax available on 23.3
        !          33448: 606628011 168811716 I unixcscp: Host alive in slot 17
        !          33449: 606628014 168811836 I server tempel removed from 17.5
        !          33450: 606628014 168811880 I server tempel available on 17.5
        !          33451: 606670727 171375561 I server seki removed from 25.6
        !          33452: 606670768 171378030 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33453: 606670865 171383843 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33454: 606670874 171384348 I server seki available on 25.5
        !          33455: 606671765 171437844 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33456: 606672382 171474879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33457: 606672383 171474896 I server seki removed from 25.5
        !          33458: 606672390 171475367 I server seki available on 25.6
        !          33459: 606672532 171483877 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33460: 606673255 171527265 A CLEAR MAJOR: tdkp: trunk 3 is dead
        !          33461: 606673265 171527864 A CLEAR MAJOR: loopp: trunk 3 appears dead
        !          33462: 606673726 171555566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33463: 606673727 171555579 I server seki removed from 25.6
        !          33464: 606673733 171555973 I server seki available on 25.5
        !          33465: 606674177 171582576 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33466: 606674762 171617701 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33467: 606674763 171617714 I server seki removed from 25.5
        !          33468: 606674814 171620862 A SET MAJOR: tdkp: trunk 3 is dead
        !          33469: 606674822 171621300 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33470: 606675369 171654166 A CLEAR MAJOR: tdkp: trunk 3 is dead
        !          33471: 606675477 171660644 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33472: 606675486 171661183 I server seki available on 25.5
        !          33473: 606676107 171698442 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33474: 606676152 171701100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33475: 606676152 171701112 I server seki removed from 25.5
        !          33476: 606676160 171701598 I server seki available on 25.5
        !          33477: 606676780 171738814 I tdk2cscp: circuit 6.500 out of sync with remote
        !          33478: 606685100 172238075 I server seki removed from 25.5
        !          33479: 606685123 172239492 I unixcscp: Host alive in slot 25
        !          33480: 606685131 172239947 I server seki available on 25.5
        !          33481: 606685243 172246692 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33482: 606685308 172250582 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33483: 606685309 172250592 I server seki removed from 25.5
        !          33484: 606685316 172251025 I server seki available on 25.5
        !          33485: 606689018 172473188 I unixcscp: Host alive in slot 25
        !          33486: 606689018 172473199 I server seki removed from 25.5
        !          33487: 606689026 172473690 I server seki available on 25.5
        !          33488: 606689138 172480389 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33489: 606689160 172481698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33490: 606689160 172481717 I server seki removed from 25.5
        !          33491: 606689168 172482174 I server seki available on 25.6
        !          33492: 606691379 172614894 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33493: 606691891 172645595 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33494: 606691891 172645615 I server seki removed from 25.6
        !          33495: 606691898 172646048 I server seki available on 25.5
        !          33496: 606701675 173232802 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          33497: 606708145 173621196 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33498: 606708160 173622065 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33499: 606708160 173622081 I server seki removed from 25.5
        !          33500: 606708169 173622607 I server seki available on 25.5
        !          33501: 606720881 174385636 I server tempel removed from 17.5
        !          33502: 606721169 174402878 I unixcscp: Host alive in slot 17
        !          33503: 606721171 174403031 I server tempel available on 17.5
        !          33504: 606756764 176539364 I unixcscp: Host alive in slot 7
        !          33505: 606756764 176539373 I server sfr removed from 7.5
        !          33506: 606756765 176539411 I server sfr available on 7.5
        !          33507: 606756916 176548496 I unixcscp: Host alive in slot 7
        !          33508: 606756916 176548504 I server sfr removed from 7.5
        !          33509: 606756917 176548546 I server sfr available on 7.5
        !          33510: 606757323 176572949 I unixcscp: Host alive in slot 7
        !          33511: 606757323 176572954 I server sfr removed from 7.5
        !          33512: 606757324 176573003 I server sfr available on 7.5
        !          33513: 606774606 177610315 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33514: 606774629 177611669 I server seki available on 20.5
        !          33515: 606775133 177641925 I server seki removed from 20.5
        !          33516: 606775201 177645992 I server xseki available on 20.5
        !          33517: 606826020 180696047 I server seki removed from 25.5
        !          33518: 606826043 180697458 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33519: 606826080 180699678 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33520: 606826102 180701019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33521: 606826109 180701400 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33522: 606826110 180701432 I server xseki removed from 20.5
        !          33523: 606826112 180701592 I server seki available on 25.5
        !          33524: 606826128 180702541 I server xseki available on 20.5
        !          33525: 606826508 180725365 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33526: 606826522 180726216 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33527: 606827009 180755447 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33528: 606827010 180755462 I server seki removed from 25.5
        !          33529: 606827015 180755796 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33530: 606827016 180755831 I server xseki removed from 20.5
        !          33531: 606827017 180755919 I server seki available on 25.5
        !          33532: 606827033 180756892 I server xseki available on 20.5
        !          33533: 606827363 180776664 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33534: 606827369 180777048 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33535: 606827412 180779645 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33536: 606827413 180779660 I server seki removed from 25.5
        !          33537: 606827418 180779970 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33538: 606827419 180779994 I server xseki removed from 20.5
        !          33539: 606827421 180780155 I server seki available on 25.5
        !          33540: 606827433 180780868 I server xseki available on 20.5
        !          33541: 606845431 181861164 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33542: 606845436 181861446 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33543: 606845925 181890779 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33544: 606845926 181890794 I server seki removed from 25.5
        !          33545: 606845931 181891104 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33546: 606845931 181891145 I server xseki removed from 20.5
        !          33547: 606845933 181891265 I server seki available on 25.5
        !          33548: 606845948 181892171 I server xseki available on 20.5
        !          33549: 606846032 181897206 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33550: 606846045 181897980 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33551: 606846518 181926360 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33552: 606846518 181926372 I server seki removed from 25.5
        !          33553: 606846523 181926678 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33554: 606846524 181926707 I server xseki removed from 20.5
        !          33555: 606846526 181926873 I server seki available on 25.5
        !          33556: 606846542 181927789 I server xseki available on 20.5
        !          33557: 606846632 181933206 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33558: 606846638 181933560 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33559: 606847139 181963679 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33560: 606847140 181963694 I server seki removed from 25.5
        !          33561: 606847146 181964034 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33562: 606847147 181964075 I server xseki removed from 20.5
        !          33563: 606847148 181964208 I server seki available on 25.5
        !          33564: 606847163 181965107 I server xseki available on 20.5
        !          33565: 606849422 182100648 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33566: 606849449 182102280 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33567: 606849616 182112333 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33568: 606849617 182112352 I server seki removed from 25.5
        !          33569: 606849622 182112684 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33570: 606849623 182112707 I server xseki removed from 20.5
        !          33571: 606849624 182112821 I server seki available on 25.5
        !          33572: 606849641 182113814 I server xseki available on 20.5
        !          33573: 606916885 186149792 A SET MINOR: unix9cscp: Host dead in slot 20
        !          33574: 606916914 186151530 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          33575: 606916922 186152036 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          33576: 606916922 186152046 I server seki removed from 25.5
        !          33577: 606916929 186152406 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          33578: 606916930 186152474 I server xseki removed from 20.5
        !          33579: 606916932 186152635 I server seki available on 25.5
        !          33580: 606916946 186153455 I server xseki available on 20.5
        !          33581: 606997002 190958507 I tdk2cscp: circuit 30.252 out of sync with remote
        !          33582: 607013917 191973769 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          33583: 607028362 192840709 I server tempel removed from 17.5
        !          33584: 607028539 192851340 A SET MINOR: CPMHS 17: Fiber disconnected
        !          33585: 607028543 192851605 A SET ERROR: CPMHS 17: Reset errors
        !          33586: 607032508 193089552 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
        !          33587: 607032938 193113680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
        !          33588: 607032984 193116402 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
        !          33589: 607033148 193126268 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
        !          33590: 607035073 193241785 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          33591: 607035255 193252741 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33592: 607035528 193269108 A SET ERROR: CPMHS 17: Reset errors
        !          33593: 607035807 193285873 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33594: 607036477 193326043 I unixcscp: Host alive in slot 17
        !          33595: 607036479 193326204 I server tempel available on 17.5
        !          33596: 607040655 193576842 I unixcscp: Host alive in slot 29/3
        !          33597: 607041731 193641429 I unixcscp: Host alive in slot 29/3
        !          33598: 607042426 193683104 I server tuttle available on 29/3.5
        !          33599: 607042469 193685728 I server tuttle removed from 29/3.5
        !          33600: 607042701 193699619 I unixcscp: Host alive in slot 29/3
        !          33601: 607042726 193701144 I server tuttle available on 29/3.5
        !          33602: 607042733 193701561 I server tuttle removed from 29/3.5
        !          33603: 607042744 193702196 I server tuttle available on 29/3.5
        !          33604: 607050694 194179346 I unixcscp: Host alive in slot 29/3
        !          33605: 607050696 194179470 I server tuttle removed from 29/3.5
        !          33606: 607050697 194179524 I server tuttle available on 29/3.5
        !          33607: 607051475 194226195 I server tuttle removed from 29/3.5
        !          33608: 607051621 194234960 I unixcscp: Host alive in slot 29/3
        !          33609: 607051623 194235103 I server tuttle available on 29/3.5
        !          33610: 607096089 196903856 I unixcscp: Host alive in slot 29/3
        !          33611: 607096089 196903869 I server tuttle removed from 29/3.5
        !          33612: 607096092 196904003 I server tuttle available on 29/3.5
        !          33613: 607101503 197228823 I server tuttle removed from 29/3.5
        !          33614: 607101643 197237214 I unixcscp: Host alive in slot 29/3
        !          33615: 607101645 197237365 I server tuttle available on 29/3.5
        !          33616: 607122107 198465492 I server tuttle removed from 29/3.5
        !          33617: 607125447 198665948 I unixcscp: Host alive in slot 29/3
        !          33618: 607125462 198666848 I server tuttle available on 29/3.5
        !          33619: 607129959 198936760 I server tuttle removed from 29/3.5
        !          33620: 607130128 198946900 I unixcscp: Host alive in slot 29/3
        !          33621: 607130131 198947051 I server tuttle available on 29/3.5
        !          33622: 607130216 198952186 I server tuttle removed from 29/3.5
        !          33623: 607130496 198968973 I unixcscp: Host alive in slot 29/3
        !          33624: 607130498 198969121 I server tuttle available on 29/3.5
        !          33625: 607180613 201976993 I server tuttle removed from 29/3.5
        !          33626: 607186257 202315755 I server fornax removed from 23.3
        !          33627: 607186258 202315847 I unixcscp: Host alive in slot 23
        !          33628: 607186266 202316325 I server fornax available on 23.3
        !          33629: 607186588 202335652 I server fornax removed from 23.3
        !          33630: 607186629 202338091 I unixcscp: Host alive in slot 23
        !          33631: 607186635 202338460 I server fornax available on 23.3
        !          33632: 607190389 202563824 I unixcscp: Host alive in slot 29/3
        !          33633: 607190392 202563971 I server tuttle available on 29/3.5
        !          33634: 607191783 202647448 I server tuttle removed from 29/3.5
        !          33635: 607192135 202668609 I unixcscp: Host alive in slot 29/3
        !          33636: 607192138 202668757 I server tuttle available on 29/3.5
        !          33637: 607192611 202697168 I server tuttle removed from 29/3.5
        !          33638: 607192746 202705262 I unixcscp: Host alive in slot 29/3
        !          33639: 607192748 202705407 I server tuttle available on 29/3.5
        !          33640: 607195380 202863386 I server tuttle removed from 29/3.5
        !          33641: 607195521 202871834 I unixcscp: Host alive in slot 29/3
        !          33642: 607195524 202871980 I server tuttle available on 29/3.5
        !          33643: 607203413 203345497 I server tuttle removed from 29/3.5
        !          33644: 607203688 203361971 I unixcscp: Host alive in slot 29/3
        !          33645: 607203721 203363968 I server tuttle available on 29/3.7
        !          33646: 607204002 203380796 I server tuttle removed from 29/3.7
        !          33647: 607204134 203388727 I unixcscp: Host alive in slot 29/3
        !          33648: 607204136 203388875 I server tuttle available on 29/3.5
        !          33649: 607204855 203432025 I server tuttle removed from 29/3.5
        !          33650: 607205744 203485385 I unixcscp: Host alive in slot 29/3
        !          33651: 607205773 203487093 I server tuttle available on 29/3.5
        !          33652: 607211699 203842780 I server tuttle removed from 29/3.5
        !          33653: 607211901 203854932 I unixcscp: Host alive in slot 29/3
        !          33654: 607211961 203858541 I server tuttle available on 29/3.7
        !          33655: 607213081 203925763 I server tuttle removed from 29/3.7
        !          33656: 607213104 203927118 I unixcscp: Host alive in slot 29/3
        !          33657: 607213104 203927133 I server tuttle available on 29/3.5
        !          33658: 607213788 203968215 I server tuttle removed from 29/3.5
        !          33659: 607214004 203981153 I unixcscp: Host alive in slot 29/3
        !          33660: 607214064 203984763 I server tuttle available on 29/3.7
        !          33661: 607222838 204511338 I server tempel removed from 17.5
        !          33662: 607223065 204524958 A SET ERROR: CPMHS 17: Reset errors
        !          33663: 607223167 204531088 I unixcscp: Host alive in slot 17
        !          33664: 607223170 204531256 I server tempel available on 17.5
        !          33665: 607223256 204536442 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33666: 607224406 204605484 A SET ERROR: CPMHS 17: Reset errors
        !          33667: 607224586 204616292 I unixcscp: Host alive in slot 17
        !          33668: 607224589 204616416 I server tempel removed from 17.5
        !          33669: 607224589 204616467 I server tempel available on 17.5
        !          33670: 607224596 204616854 A CLEAR ERROR: CPMHS 17: Reset errors
        !          33671: 607236811 205355819 I unixcscp: Host alive in slot 29/3
        !          33672: 607243269 205741098 I unixcscp: Host alive in slot 29/3
        !          33673: 607245985 205903131 I unixcscp: Host alive in slot 29/3
        !          33674: 607248369 206045359 I unixcscp: Host alive in slot 29/3
        !          33675: 607256990 206561048 I unixcscp: Host alive in slot 29/3
        !          33676: 607259337 206701897 I unixcscp: Host alive in slot 29/3
        !          33677: 607270236 207356062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          33678: 607273396 207545748 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          33679: 607277713 207804887 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          33680: 607278061 207825748 A SET MINOR: Board type incon code 061 not defined; device 29/3
        !          33681: 607278066 207826044 A SET MAJOR: WIF 29: Wrong device state
        !          33682: 607278087 207827302 A CLEAR MAJOR: WIF 29: Wrong device state
        !          33683: 607278453 207849322 I unixcscp: Host alive in slot 29/3
        !          33684: 607278456 207849447 I server tuttle removed from 29/3.7
        !          33685: 607278456 207849473 I server tuttle available on 29/3.5
        !          33686: 607278655 207861431 A SET MAJOR: INCON Station 29/3, id 'MIPS', receive fifo overflow
        !          33687: 607278730 207865899 I server fornax removed from 23.3
        !          33688: 607280897 207995979 I unixcscp: Host alive in slot 23
        !          33689: 607280905 207996454 I server fornax available on 23.3
        !          33690: 607281227 208015785 I server fornax removed from 23.3
        !          33691: 607282986 208121379 A SET MAJOR: INCON Station 29/3, id 'MIPS', exceeded error limit
        !          33692: 607283008 208122680 I unixcscp: Host alive in slot 23
        !          33693: 607283013 208123018 I server fornax available on 23.3
        !          33694: 607290658 208581793 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          33695: 607290870 208594527 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          33696: 607296235 208916487 I server fornax removed from 23.3
        !          33697: 607296388 208925738 I unixcscp: Host alive in slot 23
        !          33698: 607297349 208983383 I unixcscp: Host alive in slot 23
        !          33699: 607297380 208985269 I unixcscp: Host alive in slot 23
        !          33700: 607297554 208995696 I unixcscp: Host alive in slot 23
        !          33701: 607297560 208996052 I server fornax available on 23.3
        !          33702: 607297645 209001105 I server fornax removed from 23.3
        !          33703: 607297680 209003272 I unixcscp: Host alive in slot 23
        !          33704: 607297886 209015644 I unixcscp: Host alive in slot 23
        !          33705: 607297893 209016021 I server fornax available on 23.3
        !          33706: 607297977 209021049 I server fornax removed from 23.3
        !          33707: 607298011 209023118 I unixcscp: Host alive in slot 23
        !          33708: 607298017 209023467 I server fornax available on 23.3
        !          33709: 607298551 209055525 I server fornax removed from 23.3
        !          33710: 607298620 209059666 I unixcscp: Host alive in slot 23
        !          33711: 607298625 209060000 I server fornax available on 23.3
        !          33712: 607298951 209079472 I server fornax removed from 23.3
        !          33713: 607298952 209079558 I unixcscp: Host alive in slot 23
        !          33714: 607298983 209081437 I unixcscp: Host alive in slot 23
        !          33715: 607299100 209088468 I unixcscp: Host alive in slot 23
        !          33716: 607299106 209088819 I server fornax available on 23.3
        !          33717: 607299339 209102784 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33718: 607300242 209157012 A SET ERROR: TRKHS 9: Receive mute errors
        !          33719: 607300365 209164404 A CLEAR ERROR: TRKHS 9: Receive mute errors
        !          33720: 607300596 209178264 A SET MAJOR: TRKHS 9: Wrong device state
        !          33721: 607300598 209178393 A CLEAR MAJOR: TRKHS 9: Wrong device state
        !          33722: 607300615 209179385 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33723: 607300619 209179644 I loopp: Trunk 9 active
        !          33724: 607301108 209208970 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          33725: 607301139 209210830 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          33726: 607301380 209225277 I server fornax removed from 23.3
        !          33727: 607301404 209226738 I unixcscp: Host alive in slot 23
        !          33728: 607301409 209227078 I server fornax available on 23.3
        !          33729: 607301672 209242819 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          33730: 607301674 209242954 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          33731: 607302263 209278303 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33732: 607302685 209303634 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33733: 607303299 209340499 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          33734: 607303301 209340634 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          33735: 607319371 210305119 I unixcscp: Host alive in slot 29/3
        !          33736: 607320286 210360067 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          33737: 607320288 210360202 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          33738: 607322254 210478203 I unixcscp: Host alive in slot 29/3
        !          33739: 607333098 211129039 I unixcscp: Host alive in slot 29/3
        !          33740: 607354722 212426905 I unixcscp: Host alive in slot 29/3
        !          33741: 607358146 212632436 I unixcscp: Host alive in slot 29/3
        !          33742: 607360220 212756941 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          33743: 607360225 212757209 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          33744: 607361150 212812736 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          33745: 607361415 212828668 A SET MAJOR: WIF 29: Wrong device state
        !          33746: 607361440 212830183 A CLEAR MAJOR: WIF 29: Wrong device state
        !          33747: 607363218 212936887 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33748: 607363639 212962112 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33749: 607375250 213658991 I unixcscp: Host alive in slot 29/3
        !          33750: 607375252 213659114 I server tuttle removed from 29/3.5
        !          33751: 607375252 213659141 I server tuttle available on 29/3.5
        !          33752: 607397184 214975504 I unixcscp: Host alive in slot 29/3
        !          33753: 607397184 214975513 I server tuttle removed from 29/3.5
        !          33754: 607397186 214975647 I server tuttle available on 29/3.5
        !          33755: ݼ
��&�&:(c�#���#��R(wtmbin/n/westphal/netstat/node.6/info.Jan1989v/v14725/7933035599777182 175735207 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33756: 599777361 175745980 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33757: 599779150 175853341 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33758: 599779556 175877666 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33759: 599779902 175898435 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33760: 599780127 175911941 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33761: 599780458 175931793 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33762: 599780623 175941703 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33763: 599781766 176010294 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33764: 599782021 176025589 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33765: 599786926 176319855 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33766: 599787437 176350521 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33767: 599788236 176398395 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33768: 599788326 176403772 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33769: 599788778 176430930 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33770: 599788958 176441741 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33771: 599790574 176538676 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33772: 599790738 176548536 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33773: 599790919 176559378 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33774: 599791099 176570173 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33775: 599791987 176623498 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33776: 599792572 176658593 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33777: 599799190 177055700 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33778: 599799338 177064604 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33779: 599809065 177648262 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33780: 599809951 177701415 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33781: 599810102 177710492 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33782: 599810987 177763584 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33783: 599811424 177789797 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33784: 599811694 177805997 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33785: 599812025 177825844 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33786: 599812190 177835758 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33787: 599812551 177857433 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33788: 599812972 177882649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33789: 599813468 177912441 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33790: 599813768 177930441 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33791: 599816762 178110057 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33792: 599818129 178192059 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33793: 599818745 178229036 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33794: 599818940 178240759 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33795: 599819618 178281416 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33796: 599820082 178309254 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33797: 599820744 178348993 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33798: 599821209 178376882 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33799: 599821435 178390467 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33800: 599821765 178410269 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33801: 599822997 178484175 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33802: 599823237 178498577 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33803: 599823494 178514002 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33804: 599825491 178633782 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33805: 599826513 178695135 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33806: 599827759 178769918 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33807: 599828165 178794295 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33808: 599828435 178810471 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33809: 599830391 178927837 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33810: 599830976 178962945 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33811: 599831337 178984603 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33812: 599831517 178995401 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33813: 599831893 179017951 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33814: 599832554 179057602 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33815: 599832750 179069374 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33816: 599833637 179122571 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33817: 599833863 179136161 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33818: 599834419 179169496 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33819: 599834494 179174031 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33820: 599834599 179180326 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33821: 599837909 179378910 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33822: 599838059 179387916 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33823: 599838225 179397856 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33824: 599838540 179416778 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33825: 599838767 179430426 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33826: 599839127 179452040 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33827: 599839474 179472844 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33828: 599839685 179485476 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33829: 599843259 179699964 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33830: 599843350 179705373 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33831: 599843819 179733520 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33832: 599844391 179767827 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33833: 599844505 179774671 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33834: 599844520 179775576 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33835: 599874423 181566880 I unixcscp: Host alive in slot 14
        !          33836: 599897505 182951800 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33837: 599898016 182982464 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33838: 599899129 183049227 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33839: 599899354 183062728 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33840: 599900257 183116904 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33841: 599900512 183132218 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33842: 599937384 185340271 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33843: 599943157 1817 I Reboot complete
        !          33844: 599943157 1904 I unixcscp: Host alive in slot 14
        !          33845: 599943157 2245 I loopp: Trunk 4 active
        !          33846: 599943157 2389 I loopp: Trunk 8 active
        !          33847: 599943157 2434 I loopp: Trunk 9 active
        !          33848: 599943157 2503 I server fishonaplatter available on 14.5
        !          33849: 599974005 1853446 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33850: 599974094 1858832 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33851: 599983498 2423077 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33852: 599983693 2434800 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33853: 600010933 4069061 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33854: 600011009 4073567 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33855: 600014308 4271549 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33856: 600016411 4397752 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33857: 600016932 4429045 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33858: 600018062 4496848 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33859: 600018109 4499631 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33860: 600018215 4506014 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33861: 600018297 4510945 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33862: 600022395 4756823 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33863: 600022600 4769122 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33864: 600023042 4795654 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33865: 600035271 5529396 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33866: 600035423 5538522 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33867: 600049069 6357171 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33868: 600049343 6373628 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33869: 600055375 6735531 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          33870: 600055527 6744649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          33871: 600117353 1835 I Reboot complete
        !          33872: 600117353 1922 I unixcscp: Host alive in slot 14
        !          33873: 600117353 2321 I loopp: Trunk 4 active
        !          33874: 600117353 2383 I loopp: Trunk 8 active
        !          33875: 600117353 2426 I loopp: Trunk 9 active
        !          33876: 600117353 2473 I server fishonaplatter available on 14.5
        !          33877: 600120180 173006 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33878: 600120992 221749 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33879: 600351014 14023105 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33880: 600351014 14023112 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33881: 600386279 16138981 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33882: 600386778 16168914 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33883: 600428782 18689122 I tdk2cscp: circuit 8.244 out of sync with remote
        !          33884: 600460208 20574692 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          33885: 600460261 20577863 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          33886: 600532722 24925587 I server fishonaplatter removed from 14.5
        !          33887: 600532760 24927853 A SET MINOR: CPM422 14: Cables disconnected
        !          33888: 600532798 24930120 A SET MINOR: unixcscp: DEAD HOST in slot 14
        !          33889: 600534262 25018008 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          33890: 600534282 25019196 A SET MINOR: CPM422 14: Cables disconnected
        !          33891: 600534506 25032660 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          33892: 600534524 25033716 A SET MINOR: CPM422 14: Cables disconnected
        !          33893: 600534678 25042956 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          33894: 600534808 25050744 A SET MINOR: CPM422 14: Cables disconnected
        !          33895: 600534914 25057080 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          33896: 600534927 25057873 A SET MINOR: CPM422 14: Cables disconnected
        !          33897: 600535356 25083612 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          33898: 600535684 25103307 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
        !          33899: 600535688 25103553 I server fishonaplatter available on 14.6
        !          33900: 600719209 36114867 I loopp: Trunk 4 active
        !          33901: 600719398 36126176 I loopp: Trunk 4 active
        !          33902: 600719514 36129330 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          33903: 600719515 36131887 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          33904: 600719612 36139009 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33905: 600720120 36169493 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33906: 600725936 36512518 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          33907: 600725936 36514777 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          33908: 600726424 36547759 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33909: 600726850 36573365 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33910: 600961539 50653740 A SET MAJOR: tdkp: trunk 4 is dead
        !          33911: 600961747 50667121 A CLEAR MAJOR: tdkp: trunk 4 is dead
        !          33912: 600972316 51301285 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33913: 600972421 51307586 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33914: 601152501 62084359 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33915: 601152512 62113160 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33916: 601152514 62113242 A SET MAJOR: loopp: trunk 8 appears dead
        !          33917: 601152525 62113902 A CLEAR MAJOR: loopp: trunk 8 appears dead
        !          33918: 601152696 62124151 I tdk2cscp: circuit 8.242 out of sync with remote
        !          33919: 601163057 62745860 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33920: 601163061 62745872 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33921: 601311799 71670265 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33922: 601311812 71671027 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33923: 601311844 71672966 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33924: 601311865 71674209 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33925: 601311904 71676565 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33926: 601311918 71677397 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33927: 601311949 71679265 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33928: 601311968 71680419 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33929: 601312009 71682866 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33930: 601312021 71683586 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33931: 601312054 71685565 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33932: 601312076 71686884 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33933: 601313194 71753965 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33934: 601313210 71754955 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33935: 601313269 71758465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33936: 601313292 71759850 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33937: 601313464 71770165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33938: 601313475 71770830 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33939: 601313734 71786365 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33940: 601313754 71787595 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33941: 601319584 72137367 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33942: 601319607 72138745 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33943: 601319644 72140965 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33944: 601319657 72141711 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33945: 601326215 72535165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33946: 601326233 72536208 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33947: 601326321 72541465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33948: 601326339 72542568 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33949: 601326681 72563067 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33950: 601326705 72564510 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33951: 601326740 72566665 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33952: 601326770 72568438 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33953: 601326800 72570265 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33954: 601326839 72572549 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33955: 601326875 72574765 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33956: 601326890 72575649 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33957: 601326920 72577465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33958: 601326948 72579138 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33959: 601327010 72582867 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33960: 601327032 72584158 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33961: 601327070 72586465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33962: 601327090 72587657 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33963: 601327130 72590065 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33964: 601327151 72591308 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33965: 601327190 72593666 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33966: 601327208 72594743 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33967: 601327265 72598165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33968: 601327274 72598698 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33969: 601327355 72603566 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33970: 601327358 72603724 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33971: 601327415 72607165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33972: 601327424 72607679 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33973: 601327505 72612567 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          33974: 601327511 72612870 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          33975: 601438509 79272750 A SET MINOR: unixcscp: DEAD HOST in slot 14
        !          33976: 601438840 79292613 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
        !          33977: 601438840 79292621 I server fishonaplatter removed from 14.6
        !          33978: 601438842 79292722 I server fishonaplatter available on 14.5
        !          33979: 601790289 100379611 A SET MINOR: unixcscp: DEAD HOST in slot 14
        !          33980: 601790664 100402119 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
        !          33981: 601790665 100402126 I server fishonaplatter removed from 14.5
        !          33982: 601790719 100405407 I server fishonaplatter available on 14.5
        !          33983: 601853777 104188958 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          33984: 601854138 104210617 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          33985: 602173970 123400431 I loopp: Trunk 4 active
        !          33986: 602174101 123408289 A SET MAJOR: tdkp: trunk 4 is dead
        !          33987: 602174127 123409829 A CLEAR MAJOR: tdkp: trunk 4 is dead
        !          33988: 602233958 126999930 A SET MAJOR: tdkp: trunk 4 is dead
        !          33989: 602234447 127029294 A SET MAJOR: loopp: trunk 4 appears dead
        !          33990: 602259331 128522302 I tdk2cscp: circuit 8.248 out of sync with remote
        !          33991: 602271968 129280534 A CLEAR MAJOR: tdkp: trunk 4 is dead
        !          33992: 602271979 129281157 A CLEAR MAJOR: loopp: trunk 4 appears dead
        !          33993: ��i��&�&H�7�R(7�R(7�R(wtmbin/n/westphal/netstat/node.7/info.Jun1991v/v14725/7943039676514114 151599961 I tdk2cscp: trunk 47 going dead; kpalive 31444 timout 32120 33724 35530
        !          33994: 676514114 151599962 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
        !          33995: 676514114 151599963 I tdk2cscp 47: datain count 1 at 32124 31443 31443 31444 73163 30760 30760 173342 173342 - 173342
        !          33996: 676514114 151599964 I tdk2cscp 47: msg count 0 at 31444 30760 136015 0 0 0 0 0 0 - 0
        !          33997: 676514114 151599964 A SET MAJOR: tdk2cscp: trunk 47 is dead
        !          33998: 676514114 154860064 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
        !          33999: 676514114 154876861 I tdk2cscp: trunk 47 going dead; kpalive 30736 timout 32264 34070 35674
        !          34000: 676514116 154876861 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
        !          34001: 676514116 154876863 I tdk2cscp 47: datain count 0 at 30503 30736 30736 30736 12513 177313 177313 173342 173342 - 173342
        !          34002: 676514116 154876863 I tdk2cscp 47: msg count 0 at 30736 30760 136015 0 0 0 0 0 0 - 0
        !          34003: 676514116 154876864 A SET MAJOR: tdk2cscp: trunk 47 is dead
        !          34004: 676514116 154879603 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
        !          34005: $G��&�&�R(�R(�R(wtmbin/n/westphal/netstat/hklabrawv/v14725/7953040����&�&�����R(y�R(��R(wtmbin/n/westphal/netstat/t3v/v14725/7963041/n/westphal/netstat//Thu Mar  7 14:13:15 1991 /usr/backup/v/v14122/730
        !          34006: /n/westphal/netstat/node.1/config.Apr1989//Sat Apr 29 00:09:52 1989 /usr/backup/v/v5982/331
        !          34007: /n/westphal/netstat/node.1/config.Apr1990//Tue May  1 00:11:35 1990 /usr/backup/v/v12160/221
        !          34008: /n/westphal/netstat/node.1/config.Apr1991//Wed May  1 00:10:37 1991 /usr/backup/v/v14489/499
        !          34009: /n/westphal/netstat/node.1/config.Aug1989//Mon Aug 28 00:13:32 1989 /usr/backup/v/v7010/283
        !          34010: /n/westphal/netstat/node.1/config.Aug1990//Thu Aug 30 00:04:53 1990 /usr/backup/v/v12930/1316
        !          34011: /n/westphal/netstat/node.1/config.Dec1988//Wed Dec 28 00:03:22 1988 /usr/backup/v/v4891/438
        !          34012: /n/westphal/netstat/node.1/config.Dec1989//Wed Dec 20 00:16:13 1989 /usr/backup/v/v11021/558
        !          34013: /n/westphal/netstat/node.1/config.Dec1990//Fri Dec 28 00:01:06 1990 /usr/backup/v/v13677/331
        !          34014: /n/westphal/netstat/node.1/config.Feb1989//Sat Feb 25 23:59:28 1989 /usr/backup/v/v5441/167
        !          34015: /n/westphal/netstat/node.1/config.Feb1990//Fri Feb 23 00:25:23 1990 /usr/backup/v/v11593/1134
        !          34016: /n/westphal/netstat/node.1/config.Feb1991//Thu Feb 28 00:06:53 1991 /usr/backup/v/v14062/300
        !          34017: /n/westphal/netstat/node.1/config.Jan1989//Wed Feb  1 00:14:05 1989 /usr/backup/v/v5213/184
        !          34018: /n/westphal/netstat/node.1/config.Jan1990//Wed Jan 31 00:23:37 1990 /usr/backup/v/v11412/432
        !          34019: /n/westphal/netstat/node.1/config.Jan1991//Sat Jan 26 23:57:02 1991 /usr/backup/v/v13827/539
        !          34020: /n/westphal/netstat/node.1/config.Jul1989//Sat Jul 29 00:07:53 1989 /usr/backup/v/v6711/257
        !          34021: /n/westphal/netstat/node.1/config.Jul1990//Tue Jul 31 00:04:55 1990 /usr/backup/v/v12716/312
        !          34022: /n/westphal/netstat/node.1/config.Jun1989//Thu Jun 29 00:08:53 1989 /usr/backup/v/v6468/240
        !          34023: /n/westphal/netstat/node.1/config.Jun1990//Sun Jul  1 00:18:58 1990 /usr/backup/v/v12506/618
        !          34024: /n/westphal/netstat/node.1/config.Jun1991//Wed Jun  5 00:14:57 1991 /usr/backup/v/v14690/876
        !          34025: /n/westphal/netstat/node.1/config.Mar1989//Sat Apr  1 00:07:02 1989 /usr/backup/v/v5755/327
        !          34026: /n/westphal/netstat/node.1/config.Mar1990//Fri Mar 30 00:01:29 1990 /usr/backup/v/v11879/790
        !          34027: /n/westphal/netstat/node.1/config.Mar1991//Sat Mar 30 00:01:47 1991 /usr/backup/v/v14260/1148
        !          34028: /n/westphal/netstat/node.1/config.May1989//Sat May 20 00:06:32 1989 /usr/backup/v/v6147/200
        !          34029: /n/westphal/netstat/node.1/config.May1990//Fri Jun  1 00:03:52 1990 /usr/backup/v/v12400/424
        !          34030: /n/westphal/netstat/node.1/config.May1991//Fri May 31 00:11:28 1991 /usr/backup/v/v14661/774
        !          34031: /n/westphal/netstat/node.1/config.Nov1988//Wed Nov 30 00:08:46 1988 /usr/backup/v/v4616/129
        !          34032: /n/westphal/netstat/node.1/config.Nov1989//Thu Nov 30 00:18:56 1989 /usr/backup/v/v10883/981
        !          34033: /n/westphal/netstat/node.1/config.Nov1990//Sat Dec  1 00:00:46 1990 /usr/backup/v/v13532/685
        !          34034: /n/westphal/netstat/node.1/config.Oct1989//Tue Oct 31 00:29:10 1989 /usr/backup/v/v10670/989
        !          34035: /n/westphal/netstat/node.1/config.Oct1990//Thu Nov  1 00:02:26 1990 /usr/backup/v/v13353/1225
        !          34036: /n/westphal/netstat/node.1/config.Sep1989//Fri Sep 29 00:22:54 1989 /usr/backup/v/v7233/181
        !          34037: /n/westphal/netstat/node.1/config.Sep1990//Sat Sep 29 00:02:43 1990 /usr/backup/v/v13154/642
        !          34038: /n/westphal/netstat/node.1/info.Apr1989//Sun Apr 30 23:59:49 1989 /usr/backup/v/v5991/136
        !          34039: /n/westphal/netstat/node.1/info.Apr1990//Tue May  1 00:14:22 1990 /usr/backup/v/v12160/398
        !          34040: /n/westphal/netstat/node.1/info.Apr1991//Wed May  1 00:13:28 1991 /usr/backup/v/v14491/482
        !          34041: /n/westphal/netstat/node.1/info.Aug1989//Fri Sep  1 00:07:47 1989 /usr/backup/v/v7041/678
        !          34042: /n/westphal/netstat/node.1/info.Aug1990//Sat Sep  1 00:04:59 1990 /usr/backup/v/v12949/196
        !          34043: /n/westphal/netstat/node.1/info.Dec1988//Sat Dec 31 23:58:41 1988 /usr/backup/v/v4916/359
        !          34044: /n/westphal/netstat/node.1/info.Dec1989//Mon Jan  1 00:10:58 1990 /usr/backup/v/v11119/1708
        !          34045: /n/westphal/netstat/node.1/info.Dec1990//Mon Dec 31 23:59:29 1990 /usr/backup/v/v13695/959
        !          34046: /n/westphal/netstat/node.1/info.Feb1989//Wed Mar  1 00:07:00 1989 /usr/backup/v/v5452/0
        !          34047: /n/westphal/netstat/node.1/info.Feb1990//Thu Mar  1 00:09:31 1990 /usr/backup/v/v11639/399
        !          34048: /n/westphal/netstat/node.1/info.Feb1991//Fri Mar  1 00:11:02 1991 /usr/backup/v/v14067/654
        !          34049: /n/westphal/netstat/node.1/info.Jan1989//Wed Feb  1 00:16:34 1989 /usr/backup/v/v5213/353
        !          34050: /n/westphal/netstat/node.1/info.Jan1990//Thu Feb  1 00:11:42 1990 /usr/backup/v/v11422/244
        !          34051: /n/westphal/netstat/node.1/info.Jan1991//Fri Feb  1 00:13:15 1991 /usr/backup/v/v13853/575
        !          34052: /n/westphal/netstat/node.1/info.Jul1989//Tue Aug  1 00:14:22 1989 /usr/backup/v/v6731/492
        !          34053: /n/westphal/netstat/node.1/info.Jul1990//Wed Aug  1 00:08:57 1990 /usr/backup/v/v12731/72
        !          34054: /n/westphal/netstat/node.1/info.Jun1989//Sat Jul  1 00:12:11 1989 /usr/backup/v/v6478/48
        !          34055: /n/westphal/netstat/node.1/info.Jun1990//Sun Jul  1 00:22:29 1990 /usr/backup/v/v12506/829
        !          34056: /n/westphal/netstat/node.1/info.Jun1991//Fri Jun  7 00:19:34 1991 /usr/backup/v/v14713/641
        !          34057: /n/westphal/netstat/node.1/info.Mar1989//Wed Mar 15 00:08:05 1989 /usr/backup/v/v5581/503
        !          34058: /n/westphal/netstat/node.1/info.Mar1990//Sun Apr  1 00:00:46 1990 /usr/backup/v/v11895/88
        !          34059: /n/westphal/netstat/node.1/info.Mar1991//Sun Mar 31 22:56:17 1991 /usr/backup/v/v14272/174
        !          34060: /n/westphal/netstat/node.1/info.May1989//Thu Jun  1 00:19:23 1989 /usr/backup/v/v6243/266
        !          34061: /n/westphal/netstat/node.1/info.May1990//Fri Jun  1 00:05:46 1990 /usr/backup/v/v12400/686
        !          34062: /n/westphal/netstat/node.1/info.May1991//Mon May 27 00:03:17 1991 /usr/backup/v/v14641/663
        !          34063: /n/westphal/netstat/node.1/info.Nov1988//Thu Dec  1 00:08:38 1988 /usr/backup/v/v4631/375
        !          34064: /n/westphal/netstat/node.1/info.Nov1989//Fri Dec  1 00:29:00 1989 /usr/backup/v/v10896/81
        !          34065: /n/westphal/netstat/node.1/info.Nov1990//Sat Dec  1 00:02:43 1990 /usr/backup/v/v13534/566
        !          34066: /n/westphal/netstat/node.1/info.Oct1989//Wed Nov  1 00:30:20 1989 /usr/backup/v/v10677/994
        !          34067: /n/westphal/netstat/node.1/info.Oct1990//Thu Nov  1 00:04:32 1990 /usr/backup/v/v13354/100
        !          34068: /n/westphal/netstat/node.1/info.Sep1989//Fri Sep 29 00:25:27 1989 /usr/backup/v/v7233/294
        !          34069: /n/westphal/netstat/node.1/info.Sep1990//Mon Oct  1 00:15:31 1990 /usr/backup/v/v13165/985
        !          34070: /n/westphal/netstat/node.2/config.Apr1989//Sat Apr 22 00:10:50 1989 /usr/backup/v/v5922/518
        !          34071: /n/westphal/netstat/node.2/config.Apr1990//Thu Apr 19 00:13:28 1990 /usr/backup/v/v12055/805
        !          34072: /n/westphal/netstat/node.2/config.Apr1991//Tue Apr 16 00:07:13 1991 /usr/backup/v/v14400/541
        !          34073: /n/westphal/netstat/node.2/config.Aug1989//Sat Aug 26 00:10:03 1989 /usr/backup/v/v7014/553
        !          34074: /n/westphal/netstat/node.2/config.Aug1990//Wed Aug  8 00:07:45 1990 /usr/backup/v/v12797/779
        !          34075: /n/westphal/netstat/node.2/config.Dec1988//Sat Dec 31 00:04:18 1988 /usr/backup/v/v4911/255
        !          34076: /n/westphal/netstat/node.2/config.Dec1989//Thu Dec 28 00:03:30 1989 /usr/backup/v/v11073/994
        !          34077: /n/westphal/netstat/node.2/config.Dec1990//Sat Dec  1 23:57:36 1990 /usr/backup/v/v13537/1045
        !          34078: /n/westphal/netstat/node.2/config.Feb1989//Fri Feb 24 00:13:57 1989 /usr/backup/v/v5418/419
        !          34079: /n/westphal/netstat/node.2/config.Feb1990//Thu Feb  8 00:12:15 1990 /usr/backup/v/v11489/866
        !          34080: /n/westphal/netstat/node.2/config.Feb1991//Thu Feb 28 00:10:58 1991 /usr/backup/v/v14063/307
        !          34081: /n/westphal/netstat/node.2/config.Jan1989//Fri Jan 20 00:11:49 1989 /usr/backup/v/v5090/82
        !          34082: /n/westphal/netstat/node.2/config.Jan1990//Sat Jan 27 00:21:42 1990 /usr/backup/v/v11385/463
        !          34083: /n/westphal/netstat/node.2/config.Jan1991//Sat Jan 26 23:58:42 1991 /usr/backup/v/v13823/141
        !          34084: /n/westphal/netstat/node.2/config.Jul1989//Thu Jul 27 00:18:25 1989 /usr/backup/v/v6688/651
        !          34085: /n/westphal/netstat/node.2/config.Jul1990//Thu Jul 12 00:06:25 1990 /usr/backup/v/v12578/51
        !          34086: /n/westphal/netstat/node.2/config.Jun1989//Sat Jul  1 00:14:11 1989 /usr/backup/v/v6479/455
        !          34087: /n/westphal/netstat/node.2/config.Jun1990//Wed Jun 27 00:14:52 1990 /usr/backup/v/v12484/1060
        !          34088: /n/westphal/netstat/node.2/config.Jun1991//Fri Jun  7 00:21:55 1991 /usr/backup/v/v14708/516
        !          34089: /n/westphal/netstat/node.2/config.Mar1989//Wed Mar 29 00:14:23 1989 /usr/backup/v/v5728/544
        !          34090: /n/westphal/netstat/node.2/config.Mar1990//Wed Mar 21 00:15:33 1990 /usr/backup/v/v11791/764
        !          34091: /n/westphal/netstat/node.2/config.Mar1991//Fri Mar 29 00:04:51 1991 /usr/backup/v/v14255/499
        !          34092: /n/westphal/netstat/node.2/config.May1989//Sat May 20 00:10:05 1989 /usr/backup/v/v6148/569
        !          34093: /n/westphal/netstat/node.2/config.May1990//Sat May 26 00:03:19 1990 /usr/backup/v/v12371/706
        !          34094: /n/westphal/netstat/node.2/config.May1991//Sat May 18 00:06:44 1991 /usr/backup/v/v14593/717
        !          34095: /n/westphal/netstat/node.2/config.Nov1988//Wed Nov 30 00:12:15 1988 /usr/backup/v/v4609/109
        !          34096: /n/westphal/netstat/node.2/config.Nov1989//Fri Dec  1 00:32:10 1989 /usr/backup/v/v10896/203
        !          34097: /n/westphal/netstat/node.2/config.Nov1990//Wed Nov 28 00:07:24 1990 /usr/backup/v/v13515/1032
        !          34098: /n/westphal/netstat/node.2/config.Oct1989//Tue Oct 31 00:36:53 1989 /usr/backup/v/v10670/1025
        !          34099: /n/westphal/netstat/node.2/config.Oct1990//Wed Oct 17 00:05:10 1990 /usr/backup/v/v13272/216
        !          34100: /n/westphal/netstat/node.2/config.Sep1989//Fri Sep 29 00:27:39 1989 /usr/backup/v/v7229/967
        !          34101: /n/westphal/netstat/node.2/config.Sep1990//Sat Sep 22 00:07:11 1990 /usr/backup/v/v13109/741
        !          34102: /n/westphal/netstat/node.2/info.Apr1989//Sat Apr 29 00:15:45 1989 /usr/backup/v/v5982/565
        !          34103: /n/westphal/netstat/node.2/info.Apr1990//Tue May  1 00:16:45 1990 /usr/backup/v/v12161/299
        !          34104: /n/westphal/netstat/node.2/info.Apr1991//Tue Apr 30 00:15:08 1991 /usr/backup/v/v14483/516
        !          34105: /n/westphal/netstat/node.2/info.Aug1989//Tue Aug 29 00:19:37 1989 /usr/backup/v/v7014/627
        !          34106: /n/westphal/netstat/node.2/info.Aug1990//Sat Sep  1 00:06:40 1990 /usr/backup/v/v12949/584
        !          34107: /n/westphal/netstat/node.2/info.Dec1988//Sat Dec 31 23:59:38 1988 /usr/backup/v/v4917/359
        !          34108: /n/westphal/netstat/node.2/info.Dec1989//Mon Jan  1 00:14:11 1990 /usr/backup/v/v11120/1326
        !          34109: /n/westphal/netstat/node.2/info.Dec1990//Sat Dec 29 00:01:49 1990 /usr/backup/v/v13682/308
        !          34110: /n/westphal/netstat/node.2/info.Feb1989//Wed Mar  1 00:09:56 1989 /usr/backup/v/v5454/171
        !          34111: /n/westphal/netstat/node.2/info.Feb1990//Thu Mar  1 00:12:36 1990 /usr/backup/v/v11632/805
        !          34112: /n/westphal/netstat/node.2/info.Feb1991//Thu Feb 28 00:12:25 1991 /usr/backup/v/v14063/522
        !          34113: /n/westphal/netstat/node.2/info.Jan1989//Wed Feb  1 00:21:25 1989 /usr/backup/v/v5204/337
        !          34114: /n/westphal/netstat/node.2/info.Jan1990//Thu Feb  1 00:14:41 1990 /usr/backup/v/v11421/1207
        !          34115: /n/westphal/netstat/node.2/info.Jan1991//Fri Feb  1 00:15:20 1991 /usr/backup/v/v13854/379
        !          34116: /n/westphal/netstat/node.2/info.Jul1989//Tue Aug  1 00:18:56 1989 /usr/backup/v/v6732/490
        !          34117: /n/westphal/netstat/node.2/info.Jul1990//Wed Aug  1 00:10:59 1990 /usr/backup/v/v12721/443
        !          34118: /n/westphal/netstat/node.2/info.Jun1989//Sat Jul  1 00:16:13 1989 /usr/backup/v/v6471/35
        !          34119: /n/westphal/netstat/node.2/info.Jun1990//Sat Jun 30 00:26:40 1990 /usr/backup/v/v12500/397
        !          34120: /n/westphal/netstat/node.2/info.Jun1991//Fri Jun  7 00:24:19 1991 /usr/backup/v/v14708/738
        !          34121: /n/westphal/netstat/node.2/info.Mar1989//Sat Apr  1 00:12:40 1989 /usr/backup/v/v5748/73
        !          34122: /n/westphal/netstat/node.2/info.Mar1990//Sat Mar 31 00:06:27 1990 /usr/backup/v/v11893/614
        !          34123: /n/westphal/netstat/node.2/info.Mar1991//Sat Mar 30 23:58:10 1991 /usr/backup/v/v14264/1314
        !          34124: /n/westphal/netstat/node.2/info.May1989//Thu Jun  1 00:24:38 1989 /usr/backup/v/v6244/319
        !          34125: /n/westphal/netstat/node.2/info.May1990//Fri Jun  1 00:07:35 1990 /usr/backup/v/v12401/480
        !          34126: /n/westphal/netstat/node.2/info.May1991//Fri May 31 00:17:25 1991 /usr/backup/v/v14662/920
        !          34127: /n/westphal/netstat/node.2/info.Nov1989//Fri Dec  1 00:35:34 1989 /usr/backup/v/v10896/243
        !          34128: /n/westphal/netstat/node.2/info.Nov1990//Sat Dec  1 00:04:01 1990 /usr/backup/v/v13535/646
        !          34129: /n/westphal/netstat/node.2/info.Oct1989//Wed Nov  1 00:33:47 1989 /usr/backup/v/v10677/1407
        !          34130: /n/westphal/netstat/node.2/info.Oct1990//Thu Nov  1 00:06:07 1990 /usr/backup/v/v13354/776
        !          34131: /n/westphal/netstat/node.2/info.Sep1989//Fri Sep 29 00:29:58 1989 /usr/backup/v/v7230/0
        !          34132: /n/westphal/netstat/node.2/info.Sep1990//Sun Sep 30 00:04:10 1990 /usr/backup/v/v13161/863
        !          34133: /n/westphal/netstat/node.3/config.Apr1989//Sat Apr 29 00:15:58 1989 /usr/backup/v/v5983/151
        !          34134: /n/westphal/netstat/node.3/config.Apr1990//Tue May  1 00:17:16 1990 /usr/backup/v/v12156/255
        !          34135: /n/westphal/netstat/node.3/config.Apr1991//Tue Apr 30 00:15:16 1991 /usr/backup/v/v14484/179
        !          34136: /n/westphal/netstat/node.3/config.Aug1989//Mon Aug 28 00:20:30 1989 /usr/backup/v/v7012/532
        !          34137: /n/westphal/netstat/node.3/config.Aug1990//Sat Aug 25 00:08:28 1990 /usr/backup/v/v12904/63
        !          34138: /n/westphal/netstat/node.3/config.Dec1989//Fri Dec 22 00:06:26 1989 /usr/backup/v/v11039/14
        !          34139: /n/westphal/netstat/node.3/config.Dec1990//Tue Jan  1 00:00:26 1991 /usr/backup/v/v13697/691
        !          34140: /n/westphal/netstat/node.3/config.Feb1989//Wed Mar  1 00:10:02 1989 /usr/backup/v/v5457/106
        !          34141: /n/westphal/netstat/node.3/config.Feb1990//Wed Feb 14 00:15:52 1990 /usr/backup/v/v11537/864
        !          34142: /n/westphal/netstat/node.3/config.Feb1991//Wed Feb 20 00:12:06 1991 /usr/backup/v/v14020/868
        !          34143: /n/westphal/netstat/node.3/config.Jan1989//Sat Jan 28 00:13:11 1989 /usr/backup/v/v5179/31
        !          34144: /n/westphal/netstat/node.3/config.Jan1990//Sat Jan 27 00:23:32 1990 /usr/backup/v/v11384/521
        !          34145: /n/westphal/netstat/node.3/config.Jan1991//Fri Jan 18 00:12:43 1991 /usr/backup/v/v13777/329
        !          34146: /n/westphal/netstat/node.3/config.Jul1989//Thu Jul 27 00:21:16 1989 /usr/backup/v/v6696/323
        !          34147: /n/westphal/netstat/node.3/config.Jul1990//Tue Jul 31 00:09:04 1990 /usr/backup/v/v12714/1075
        !          34148: /n/westphal/netstat/node.3/config.Jun1989//Sat Jul  1 00:16:24 1989 /usr/backup/v/v6480/241
        !          34149: /n/westphal/netstat/node.3/config.Jun1990//Wed Jun 27 00:16:23 1990 /usr/backup/v/v12484/1186
        !          34150: /n/westphal/netstat/node.3/config.Jun1991//Wed Jun  5 00:21:41 1991 /usr/backup/v/v14692/485
        !          34151: /n/westphal/netstat/node.3/config.Mar1989//Sat Apr  1 00:12:45 1989 /usr/backup/v/v5749/193
        !          34152: /n/westphal/netstat/node.3/config.Mar1990//Fri Mar 30 00:05:56 1990 /usr/backup/v/v11881/830
        !          34153: /n/westphal/netstat/node.3/config.Mar1991//Thu Mar 28 00:15:52 1991 /usr/backup/v/v14248/364
        !          34154: /n/westphal/netstat/node.3/config.May1989//Thu May 18 00:12:25 1989 /usr/backup/v/v6140/80
        !          34155: /n/westphal/netstat/node.3/config.May1990//Sat May 26 00:03:57 1990 /usr/backup/v/v12372/275
        !          34156: /n/westphal/netstat/node.3/config.May1991//Thu May 30 00:18:56 1991 /usr/backup/v/v14658/675
        !          34157: /n/westphal/netstat/node.3/config.Nov1989//Tue Nov 28 00:28:37 1989 /usr/backup/v/v10875/622
        !          34158: /n/westphal/netstat/node.3/config.Nov1990//Wed Nov 28 00:08:17 1990 /usr/backup/v/v13513/757
        !          34159: /n/westphal/netstat/node.3/config.Oct1989//Wed Oct 25 00:14:24 1989 /usr/backup/v/v10630/508
        !          34160: /n/westphal/netstat/node.3/config.Oct1990//Thu Nov  1 00:06:11 1990 /usr/backup/v/v13350/555
        !          34161: /n/westphal/netstat/node.3/config.Sep1989//Thu Sep 28 00:32:32 1989 /usr/backup/v/v7228/273
        !          34162: /n/westphal/netstat/node.3/config.Sep1990//Sat Sep 29 00:06:10 1990 /usr/backup/v/v13154/1171
        !          34163: /n/westphal/netstat/node.3/info.Apr1989//Mon May  1 00:01:38 1989 /usr/backup/v/v5988/248
        !          34164: /n/westphal/netstat/node.3/info.Apr1990//Tue May  1 00:17:43 1990 /usr/backup/v/v12156/432
        !          34165: /n/westphal/netstat/node.3/info.Apr1991//Wed May  1 00:17:32 1991 /usr/backup/v/v14487/722
        !          34166: /n/westphal/netstat/node.3/info.Aug1989//Fri Sep  1 00:11:10 1989 /usr/backup/v/v7040/598
        !          34167: /n/westphal/netstat/node.3/info.Aug1990//Sat Sep  1 00:06:46 1990 /usr/backup/v/v12948/292
        !          34168: /n/westphal/netstat/node.3/info.Dec1989//Mon Jan  1 00:14:35 1990 /usr/backup/v/v11122/1298
        !          34169: /n/westphal/netstat/node.3/info.Dec1990//Tue Jan  1 00:00:29 1991 /usr/backup/v/v13695/314
        !          34170: /n/westphal/netstat/node.3/info.Feb1989//Wed Mar  1 00:10:05 1989 /usr/backup/v/v5457/292
        !          34171: /n/westphal/netstat/node.3/info.Feb1990//Thu Mar  1 00:13:02 1990 /usr/backup/v/v11637/864
        !          34172: /n/westphal/netstat/node.3/info.Feb1991//Fri Mar  1 00:15:34 1991 /usr/backup/v/v14072/328
        !          34173: /n/westphal/netstat/node.3/info.Jan1989//Wed Feb  1 00:21:30 1989 /usr/backup/v/v5205/486
        !          34174: /n/westphal/netstat/node.3/info.Jan1990//Thu Feb  1 00:14:43 1990 /usr/backup/v/v11422/1028
        !          34175: /n/westphal/netstat/node.3/info.Jan1991//Fri Feb  1 00:15:35 1991 /usr/backup/v/v13852/390
        !          34176: /n/westphal/netstat/node.3/info.Jul1989//Tue Aug  1 00:19:11 1989 /usr/backup/v/v6734/167
        !          34177: /n/westphal/netstat/node.3/info.Jul1990//Wed Aug  1 00:11:05 1990 /usr/backup/v/v12722/859
        !          34178: /n/westphal/netstat/node.3/info.Jun1989//Sat Jul  1 00:16:36 1989 /usr/backup/v/v6480/419
        !          34179: /n/westphal/netstat/node.3/info.Jun1990//Sun Jul  1 00:24:05 1990 /usr/backup/v/v12507/346
        !          34180: /n/westphal/netstat/node.3/info.Jun1991//Fri Jun  7 00:24:37 1991 /usr/backup/v/v14709/460
        !          34181: /n/westphal/netstat/node.3/info.Mar1989//Sat Apr  1 00:12:51 1989 /usr/backup/v/v5749/371
        !          34182: /n/westphal/netstat/node.3/info.Mar1990//Sun Mar 25 04:41:54 1990 /usr/backup/v/v11834/792
        !          34183: /n/westphal/netstat/node.3/info.Mar1991//Sun Mar 31 22:57:38 1991 /usr/backup/v/v14268/1082
        !          34184: /n/westphal/netstat/node.3/info.May1989//Thu Jun  1 00:24:59 1989 /usr/backup/v/v6245/428
        !          34185: /n/westphal/netstat/node.3/info.May1990//Fri Jun  1 00:07:40 1990 /usr/backup/v/v12402/56
        !          34186: /n/westphal/netstat/node.3/info.May1991//Fri May 31 00:17:35 1991 /usr/backup/v/v14663/803
        !          34187: /n/westphal/netstat/node.3/info.Nov1989//Fri Dec  1 00:35:36 1989 /usr/backup/v/v10896/409
        !          34188: /n/westphal/netstat/node.3/info.Nov1990//Sat Dec  1 00:04:11 1990 /usr/backup/v/v13531/444
        !          34189: /n/westphal/netstat/node.3/info.Oct1989//Wed Nov  1 00:33:50 1989 /usr/backup/v/v10677/1742
        !          34190: /n/westphal/netstat/node.3/info.Oct1990//Thu Nov  1 00:06:13 1990 /usr/backup/v/v13350/731
        !          34191: /n/westphal/netstat/node.3/info.Sep1989//Fri Sep 29 00:30:05 1989 /usr/backup/v/v7230/441
        !          34192: /n/westphal/netstat/node.3/info.Sep1990//Mon Oct  1 00:16:24 1990 /usr/backup/v/v13163/126
        !          34193: /n/westphal/netstat/node.4/config.Apr1990//Thu Apr 19 00:15:45 1990 /usr/backup/v/v12055/669
        !          34194: /n/westphal/netstat/node.4/config.Apr1991//Wed Apr 10 00:04:21 1991 /usr/backup/v/v14360/398
        !          34195: /n/westphal/netstat/node.4/config.Aug1990//Sat Sep  1 00:07:01 1990 /usr/backup/v/v12949/482
        !          34196: /n/westphal/netstat/node.4/config.Dec1989//Sat Dec  9 00:30:11 1989 /usr/backup/v/v10976/236
        !          34197: /n/westphal/netstat/node.4/config.Dec1990//Thu Dec 13 00:11:53 1990 /usr/backup/v/v13605/1592
        !          34198: /n/westphal/netstat/node.4/config.Feb1990//Fri Feb 23 00:36:32 1990 /usr/backup/v/v11591/846
        !          34199: /n/westphal/netstat/node.4/config.Feb1991//Thu Feb 28 00:12:55 1991 /usr/backup/v/v14066/922
        !          34200: /n/westphal/netstat/node.4/config.Jan1990//Sat Jan 27 00:24:10 1990 /usr/backup/v/v11385/464
        !          34201: /n/westphal/netstat/node.4/config.Jan1991//Tue Jan  1 23:56:04 1991 /usr/backup/v/v13695/53
        !          34202: /n/westphal/netstat/node.4/config.Jul1990//Tue Jul 31 00:09:26 1990 /usr/backup/v/v12716/1164
        !          34203: /n/westphal/netstat/node.4/config.Jun1990//Thu Jun 28 00:38:47 1990 /usr/backup/v/v12493/604
        !          34204: /n/westphal/netstat/node.4/config.Jun1991//Sat Jun  1 23:57:31 1991 /usr/backup/v/v14677/1
        !          34205: /n/westphal/netstat/node.4/config.Mar1990//Sat Mar 24 00:22:55 1990 /usr/backup/v/v11821/976
        !          34206: /n/westphal/netstat/node.4/config.Mar1991//Fri Mar 22 00:15:15 1991 /usr/backup/v/v14212/294
        !          34207: /n/westphal/netstat/node.4/config.May1990//Sat May 26 00:04:14 1990 /usr/backup/v/v12371/1125
        !          34208: /n/westphal/netstat/node.4/config.May1991//Sat May 11 00:10:55 1991 /usr/backup/v/v14552/527
        !          34209: /n/westphal/netstat/node.4/config.Nov1989//Wed Nov 22 00:35:23 1989 /usr/backup/v/v10842/880
        !          34210: /n/westphal/netstat/node.4/config.Nov1990//Fri Nov 30 00:12:20 1990 /usr/backup/v/v13524/909
        !          34211: /n/westphal/netstat/node.4/config.Oct1989//Tue Oct 31 00:42:14 1989 /usr/backup/v/v10670/1006
        !          34212: /n/westphal/netstat/node.4/config.Oct1990//Wed Oct 17 00:06:30 1990 /usr/backup/v/v13269/673
        !          34213: /n/westphal/netstat/node.4/config.Sep1989//Fri Sep 29 00:30:32 1989 /usr/backup/v/v7232/722
        !          34214: /n/westphal/netstat/node.4/config.Sep1990//Sat Sep 29 00:06:23 1990 /usr/backup/v/v13154/1
        !          34215: /n/westphal/netstat/node.4/info.Apr1990//Tue May  1 00:18:58 1990 /usr/backup/v/v12160/576
        !          34216: /n/westphal/netstat/node.4/info.Apr1991//Wed May  1 00:17:59 1991 /usr/backup/v/v14491/247
        !          34217: /n/westphal/netstat/node.4/info.Aug1990//Thu Aug 30 00:10:17 1990 /usr/backup/v/v12930/1504
        !          34218: /n/westphal/netstat/node.4/info.Dec1989//Mon Jan  1 00:15:13 1990 /usr/backup/v/v11122/1329
        !          34219: /n/westphal/netstat/node.4/info.Dec1990//Tue Jan  1 00:00:36 1991 /usr/backup/v/v13696/1632
        !          34220: /n/westphal/netstat/node.4/info.Feb1990//Sat Feb  3 00:10:28 1990 /usr/backup/v/v11439/11
        !          34221: /n/westphal/netstat/node.4/info.Feb1991//Fri Mar  1 00:15:59 1991 /usr/backup/v/v14070/316
        !          34222: /n/westphal/netstat/node.4/info.Jan1990//Thu Feb  1 00:15:01 1990 /usr/backup/v/v11422/245
        !          34223: /n/westphal/netstat/node.4/info.Jan1991//Fri Feb  1 00:16:03 1991 /usr/backup/v/v13852/5
        !          34224: /n/westphal/netstat/node.4/info.Jul1990//Wed Aug  1 00:11:36 1990 /usr/backup/v/v12720/988
        !          34225: /n/westphal/netstat/node.4/info.Jun1990//Sun Jul  1 00:29:06 1990 /usr/backup/v/v12507/21
        !          34226: /n/westphal/netstat/node.4/info.Jun1991//Fri Jun  7 00:25:02 1991 /usr/backup/v/v14712/6
        !          34227: /n/westphal/netstat/node.4/info.Mar1990//Sun Mar 25 04:55:58 1990 /usr/backup/v/v11833/12
        !          34228: /n/westphal/netstat/node.4/info.Mar1991//Sun Mar 31 22:57:44 1991 /usr/backup/v/v14272/415
        !          34229: /n/westphal/netstat/node.4/info.May1990//Fri Jun  1 00:08:24 1990 /usr/backup/v/v12400/950
        !          34230: /n/westphal/netstat/node.4/info.May1991//Fri May 31 00:17:44 1991 /usr/backup/v/v14661/29
        !          34231: /n/westphal/netstat/node.4/info.Nov1989//Fri Dec  1 00:36:53 1989 /usr/backup/v/v10895/826
        !          34232: /n/westphal/netstat/node.4/info.Nov1990//Sat Dec  1 00:04:30 1990 /usr/backup/v/v13535/647
        !          34233: /n/westphal/netstat/node.4/info.Oct1989//Wed Nov  1 00:39:22 1989 /usr/backup/v/v10677/912
        !          34234: /n/westphal/netstat/node.4/info.Oct1990//Thu Nov  1 00:06:36 1990 /usr/backup/v/v13349/718
        !          34235: /n/westphal/netstat/node.4/info.Sep1989//Fri Sep 29 00:31:01 1989 /usr/backup/v/v7233/74
        !          34236: /n/westphal/netstat/node.4/info.Sep1990//Mon Oct  1 00:21:32 1990 /usr/backup/v/v13162/425
        !          34237: /n/westphal/netstat/node.5/config.Apr1990//Tue May  1 00:19:24 1990 /usr/backup/v/v12156/256
        !          34238: /n/westphal/netstat/node.5/config.Apr1991//Wed Apr 24 00:08:01 1991 /usr/backup/v/v14454/248
        !          34239: /n/westphal/netstat/node.5/config.Aug1990//Fri Aug 31 00:14:45 1990 /usr/backup/v/v12939/739
        !          34240: /n/westphal/netstat/node.5/config.Dec1989//Tue Dec 19 00:43:33 1989 /usr/backup/v/v11015/825
        !          34241: /n/westphal/netstat/node.5/config.Dec1990//Wed Dec 19 00:07:50 1990 /usr/backup/v/v13637/126
        !          34242: /n/westphal/netstat/node.5/config.Feb1990//Wed Feb 21 00:31:14 1990 /usr/backup/v/v11592/512
        !          34243: /n/westphal/netstat/node.5/config.Feb1991//Sat Feb 23 00:09:19 1991 /usr/backup/v/v14039/223
        !          34244: /n/westphal/netstat/node.5/config.Jan1990//Wed Jan 31 00:33:34 1990 /usr/backup/v/v11410/49
        !          34245: /n/westphal/netstat/node.5/config.Jan1991//Wed Jan 30 00:14:15 1991 /usr/backup/v/v13838/1092
        !          34246: /n/westphal/netstat/node.5/config.Jul1990//Mon Jul  2 00:24:10 1990 /usr/backup/v/v12510/605
        !          34247: /n/westphal/netstat/node.5/config.Jun1990//Fri Jun 29 00:50:04 1990 /usr/backup/v/v12498/482
        !          34248: /n/westphal/netstat/node.5/config.Jun1991//Sat Jun  1 23:57:32 1991 /usr/backup/v/v14676/366
        !          34249: /n/westphal/netstat/node.5/config.Mar1990//Sun Mar 25 05:00:18 1990 /usr/backup/v/v11837/580
        !          34250: /n/westphal/netstat/node.5/config.Mar1991//Sat Mar 23 00:13:25 1991 /usr/backup/v/v14218/940
        !          34251: /n/westphal/netstat/node.5/config.May1990//Fri Jun  1 00:08:46 1990 /usr/backup/v/v12402/58
        !          34252: /n/westphal/netstat/node.5/config.May1991//Fri May 24 00:10:12 1991 /usr/backup/v/v14625/225
        !          34253: /n/westphal/netstat/node.5/config.Nov1989//Tue Nov 28 00:30:28 1989 /usr/backup/v/v10875/312
        !          34254: /n/westphal/netstat/node.5/config.Nov1990//Fri Nov 30 00:12:54 1990 /usr/backup/v/v13526/407
        !          34255: /n/westphal/netstat/node.5/config.Oct1990//Thu Nov  1 00:06:57 1990 /usr/backup/v/v13350/904
        !          34256: /n/westphal/netstat/node.5/config.Sep1990//Fri Sep 28 00:08:45 1990 /usr/backup/v/v13145/162
        !          34257: /n/westphal/netstat/node.5/info.Apr1990//Tue May  1 00:19:52 1990 /usr/backup/v/v12156/433
        !          34258: /n/westphal/netstat/node.5/info.Apr1991//Wed May  1 00:18:52 1991 /usr/backup/v/v14491/483
        !          34259: /n/westphal/netstat/node.5/info.Aug1990//Sat Sep  1 00:08:13 1990 /usr/backup/v/v12948/1353
        !          34260: /n/westphal/netstat/node.5/info.Dec1989//Sat Dec 30 00:16:19 1989 /usr/backup/v/v11091/256
        !          34261: /n/westphal/netstat/node.5/info.Dec1990//Tue Jan  1 00:01:06 1991 /usr/backup/v/v13695/831
        !          34262: /n/westphal/netstat/node.5/info.Feb1990//Thu Mar  1 00:14:22 1990 /usr/backup/v/v11630/269
        !          34263: /n/westphal/netstat/node.5/info.Feb1991//Fri Mar  1 00:16:51 1991 /usr/backup/v/v14071/446
        !          34264: /n/westphal/netstat/node.5/info.Jan1990//Thu Feb  1 00:15:49 1990 /usr/backup/v/v11422/832
        !          34265: /n/westphal/netstat/node.5/info.Jan1991//Fri Feb  1 00:17:18 1991 /usr/backup/v/v13853/382
        !          34266: /n/westphal/netstat/node.5/info.Jul1990//Wed Aug  1 00:12:22 1990 /usr/backup/v/v12722/860
        !          34267: /n/westphal/netstat/node.5/info.Jun1990//Sun Jul  1 00:29:27 1990 /usr/backup/v/v12508/352
        !          34268: /n/westphal/netstat/node.5/info.Jun1991//Fri Jun  7 00:26:13 1991 /usr/backup/v/v14713/1093
        !          34269: /n/westphal/netstat/node.5/info.Mar1990//Sun Mar 25 05:04:48 1990 /usr/backup/v/v11837/937
        !          34270: /n/westphal/netstat/node.5/info.Mar1991//Sat Mar 30 23:58:40 1991 /usr/backup/v/v14264/905
        !          34271: /n/westphal/netstat/node.5/info.May1990//Fri Jun  1 00:09:08 1990 /usr/backup/v/v12402/320
        !          34272: /n/westphal/netstat/node.5/info.May1991//Fri May 24 00:10:32 1991 /usr/backup/v/v14625/420
        !          34273: /n/westphal/netstat/node.5/info.Nov1989//Fri Dec  1 00:38:01 1989 /usr/backup/v/v10896/82
        !          34274: /n/westphal/netstat/node.5/info.Nov1990//Sat Dec  1 00:05:04 1990 /usr/backup/v/v13531/639
        !          34275: /n/westphal/netstat/node.5/info.Oct1990//Thu Nov  1 00:07:21 1990 /usr/backup/v/v13351/78
        !          34276: /n/westphal/netstat/node.5/info.Sep1990//Sat Sep 29 00:07:21 1990 /usr/backup/v/v13155/30
        !          34277: /n/westphal/netstat/node.6/config.Apr1989//Sat Apr 15 00:11:20 1989 /usr/backup/v/v5869/18
        !          34278: /n/westphal/netstat/node.6/config.Apr1990//Wed Apr 11 00:15:31 1990 /usr/backup/v/v12002/152
        !          34279: /n/westphal/netstat/node.6/config.Apr1991//Tue Apr  2 00:09:06 1991 /usr/backup/v/v14275/492
        !          34280: /n/westphal/netstat/node.6/config.Aug1989//Sun Aug 27 00:10:31 1989 /usr/backup/v/v7010/570
        !          34281: /n/westphal/netstat/node.6/config.Aug1990//Sat Aug 25 00:10:46 1990 /usr/backup/v/v12906/311
        !          34282: /n/westphal/netstat/node.6/config.Dec1989//Wed Dec 13 00:30:19 1989 /usr/backup/v/v10988/590
        !          34283: /n/westphal/netstat/node.6/config.Dec1990//Tue Dec 18 00:13:25 1990 /usr/backup/v/v13630/815
        !          34284: /n/westphal/netstat/node.6/config.Feb1989//Thu Feb 23 00:14:34 1989 /usr/backup/v/v5411/97
        !          34285: /n/westphal/netstat/node.6/config.Feb1990//Tue Feb 13 00:23:04 1990 /usr/backup/v/v11531/1285
        !          34286: /n/westphal/netstat/node.6/config.Feb1991//Sat Feb  2 00:14:53 1991 /usr/backup/v/v13861/1120
        !          34287: /n/westphal/netstat/node.6/config.Jan1989//Tue Jan 31 00:12:59 1989 /usr/backup/v/v5197/201
        !          34288: /n/westphal/netstat/node.6/config.Jan1990//Tue Jan  2 00:13:41 1990 /usr/backup/v/v11132/1712
        !          34289: /n/westphal/netstat/node.6/config.Jan1991//Fri Jan  4 00:19:02 1991 /usr/backup/v/v13702/202
        !          34290: /n/westphal/netstat/node.6/config.Jul1989//Thu Jul 27 00:21:32 1989 /usr/backup/v/v6693/438
        !          34291: /n/westphal/netstat/node.6/config.Jul1990//Tue Jul 31 00:10:37 1990 /usr/backup/v/v12714/762
        !          34292: /n/westphal/netstat/node.6/config.Jun1989//Wed Jun 28 00:14:13 1989 /usr/backup/v/v6469/737
        !          34293: /n/westphal/netstat/node.6/config.Jun1990//Tue Jun 12 00:14:04 1990 /usr/backup/v/v12485/346
        !          34294: /n/westphal/netstat/node.6/config.Jun1991//Thu Jun  6 00:23:08 1991 /usr/backup/v/v14701/705
        !          34295: /n/westphal/netstat/node.6/config.Mar1989//Wed Mar 29 00:16:39 1989 /usr/backup/v/v5726/276
        !          34296: /n/westphal/netstat/node.6/config.Mar1990//Fri Mar  2 00:14:27 1990 /usr/backup/v/v11660/296
        !          34297: /n/westphal/netstat/node.6/config.Mar1991//Sat Mar  2 00:14:48 1991 /usr/backup/v/v14080/156
        !          34298: /n/westphal/netstat/node.6/config.May1989//Tue May  2 00:12:54 1989 /usr/backup/v/v5995/350
        !          34299: /n/westphal/netstat/node.6/config.May1990//Sat May 26 00:05:05 1990 /usr/backup/v/v12371/14
        !          34300: /n/westphal/netstat/node.6/config.May1991//Fri May 10 00:08:39 1991 /usr/backup/v/v14549/178
        !          34301: /n/westphal/netstat/node.6/config.Nov1989//Thu Nov  2 00:45:55 1989 /usr/backup/v/v10692/842
        !          34302: /n/westphal/netstat/node.6/config.Nov1990//Wed Nov 28 00:09:37 1990 /usr/backup/v/v13515/287
        !          34303: /n/westphal/netstat/node.6/config.Oct1989//Thu Oct 19 00:43:12 1989 /usr/backup/v/v10600/284
        !          34304: /n/westphal/netstat/node.6/config.Oct1990//Wed Oct 17 00:07:36 1990 /usr/backup/v/v13271/77
        !          34305: /n/westphal/netstat/node.6/config.Sep1989//Sat Sep  2 00:16:44 1989 /usr/backup/v/v7041/418
        !          34306: /n/westphal/netstat/node.6/config.Sep1990//Sat Sep 29 00:07:22 1990 /usr/backup/v/v13154/748
        !          34307: /n/westphal/netstat/node.6/info.Apr1989//Mon May  1 00:01:40 1989 /usr/backup/v/v5990/396
        !          34308: /n/westphal/netstat/node.6/info.Apr1990//Mon Apr 30 00:06:14 1990 /usr/backup/v/v12147/933
        !          34309: /n/westphal/netstat/node.6/info.Apr1991//Tue Apr  2 00:09:07 1991 /usr/backup/v/v14275/706
        !          34310: /n/westphal/netstat/node.6/info.Aug1989//Fri Sep  1 00:11:12 1989 /usr/backup/v/v7041/130
        !          34311: /n/westphal/netstat/node.6/info.Aug1990//Sat Aug 25 00:10:47 1990 /usr/backup/v/v12906/387
        !          34312: /n/westphal/netstat/node.6/info.Dec1989//Mon Jan  1 00:16:23 1990 /usr/backup/v/v11122/1314
        !          34313: /n/westphal/netstat/node.6/info.Dec1990//Sat Dec 29 00:02:32 1990 /usr/backup/v/v13681/522
        !          34314: /n/westphal/netstat/node.6/info.Feb1989//Sat Feb 25 00:24:34 1989 /usr/backup/v/v5426/105
        !          34315: /n/westphal/netstat/node.6/info.Feb1990//Wed Feb 28 00:20:32 1990 /usr/backup/v/v11640/534
        !          34316: /n/westphal/netstat/node.6/info.Feb1991//Wed Feb 27 00:21:28 1991 /usr/backup/v/v14058/774
        !          34317: /n/westphal/netstat/node.6/info.Jan1989//Wed Feb  1 00:21:59 1989 /usr/backup/v/v5211/544
        !          34318: /n/westphal/netstat/node.6/info.Jan1990//Sat Jan 27 00:25:36 1990 /usr/backup/v/v11384/258
        !          34319: /n/westphal/netstat/node.6/info.Jan1991//Fri Jan 25 00:13:38 1991 /usr/backup/v/v13821/891
        !          34320: /n/westphal/netstat/node.6/info.Jul1989//Tue Aug  1 00:19:16 1989 /usr/backup/v/v6738/274
        !          34321: /n/westphal/netstat/node.6/info.Jul1990//Tue Jul 31 00:10:38 1990 /usr/backup/v/v12715/568
        !          34322: /n/westphal/netstat/node.6/info.Jun1989//Sat Jul  1 00:16:40 1989 /usr/backup/v/v6476/444
        !          34323: /n/westphal/netstat/node.6/info.Jun1990//Sat Jun 30 00:33:13 1990 /usr/backup/v/v12504/362
        !          34324: /n/westphal/netstat/node.6/info.Jun1991//Thu Jun  6 00:23:11 1991 /usr/backup/v/v14702/72
        !          34325: /n/westphal/netstat/node.6/info.Mar1989//Fri Mar 31 00:14:31 1989 /usr/backup/v/v5740/242
        !          34326: /n/westphal/netstat/node.6/info.Mar1990//Tue Mar 27 00:17:29 1990 /usr/backup/v/v11844/1393
        !          34327: /n/westphal/netstat/node.6/info.Mar1991//Sat Mar  2 00:14:49 1991 /usr/backup/v/v14080/360
        !          34328: /n/westphal/netstat/node.6/info.May1989//Thu Jun  1 00:25:01 1989 /usr/backup/v/v6241/251
        !          34329: /n/westphal/netstat/node.6/info.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12371/151
        !          34330: /n/westphal/netstat/node.6/info.May1991//Sat Jun  1 00:07:01 1991 /usr/backup/v/v14674/622
        !          34331: /n/westphal/netstat/node.6/info.Nov1989//Thu Nov 30 00:30:51 1989 /usr/backup/v/v10887/2026
        !          34332: /n/westphal/netstat/node.6/info.Nov1990//Sat Dec  1 00:05:05 1990 /usr/backup/v/v13530/509
        !          34333: /n/westphal/netstat/node.6/info.Oct1989//Sat Oct 21 00:16:18 1989 /usr/backup/v/v10614/1273
        !          34334: /n/westphal/netstat/node.6/info.Oct1990//Tue Oct 30 00:08:14 1990 /usr/backup/v/v13342/236
        !          34335: /n/westphal/netstat/node.6/info.Sep1989//Fri Sep 29 00:32:41 1989 /usr/backup/v/v7230/762
        !          34336: /n/westphal/netstat/node.6/info.Sep1990//Sat Sep 29 00:07:23 1990 /usr/backup/v/v13154/853
        !          34337: /n/westphal/netstat/node.7/config.Apr1989//Thu Apr 27 00:10:56 1989 /usr/backup/v/v5986/454
        !          34338: /n/westphal/netstat/node.7/config.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/889
        !          34339: /n/westphal/netstat/node.7/config.Apr1991//Tue Apr  2 00:09:08 1991 /usr/backup/v/v14274/291
        !          34340: /n/westphal/netstat/node.7/config.Aug1989//Wed Aug 30 00:21:03 1989 /usr/backup/v/v7017/23
        !          34341: /n/westphal/netstat/node.7/config.Aug1990//Thu Aug  2 00:12:26 1990 /usr/backup/v/v12750/581
        !          34342: /n/westphal/netstat/node.7/config.Dec1989//Thu Dec 28 00:06:36 1989 /usr/backup/v/v11078/430
        !          34343: /n/westphal/netstat/node.7/config.Dec1990//Sat Dec 15 00:08:37 1990 /usr/backup/v/v13613/601
        !          34344: /n/westphal/netstat/node.7/config.Feb1989//Wed Mar  1 00:10:10 1989 /usr/backup/v/v5459/232
        !          34345: /n/westphal/netstat/node.7/config.Feb1990//Fri Feb  2 00:10:50 1990 /usr/backup/v/v11429/877
        !          34346: /n/westphal/netstat/node.7/config.Feb1991//Sat Feb  2 00:14:55 1991 /usr/backup/v/v13861/696
        !          34347: /n/westphal/netstat/node.7/config.Jan1989//Tue Jan 31 00:13:04 1989 /usr/backup/v/v5196/421
        !          34348: /n/westphal/netstat/node.7/config.Jan1990//Sat Jan 27 00:25:37 1990 /usr/backup/v/v11384/2148
        !          34349: /n/westphal/netstat/node.7/config.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13695/1610
        !          34350: /n/westphal/netstat/node.7/config.Jul1989//Sat Jul 29 00:14:01 1989 /usr/backup/v/v6709/594
        !          34351: /n/westphal/netstat/node.7/config.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/190
        !          34352: /n/westphal/netstat/node.7/config.Jun1989//Thu Jun 29 00:15:29 1989 /usr/backup/v/v6470/484
        !          34353: /n/westphal/netstat/node.7/config.Jun1990//Wed Jun 27 00:19:22 1990 /usr/backup/v/v12483/1800
        !          34354: /n/westphal/netstat/node.7/config.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/737
        !          34355: /n/westphal/netstat/node.7/config.Mar1989//Fri Mar 31 00:14:35 1989 /usr/backup/v/v5737/18
        !          34356: /n/westphal/netstat/node.7/config.Mar1990//Fri Mar 30 00:06:02 1990 /usr/backup/v/v11879/596
        !          34357: /n/westphal/netstat/node.7/config.Mar1991//Sat Mar  2 00:14:50 1991 /usr/backup/v/v14089/436
        !          34358: /n/westphal/netstat/node.7/config.May1989//Thu Jun  1 00:25:06 1989 /usr/backup/v/v6241/401
        !          34359: /n/westphal/netstat/node.7/config.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12373/749
        !          34360: /n/westphal/netstat/node.7/config.May1991//Fri May 31 00:18:15 1991 /usr/backup/v/v14666/362
        !          34361: /n/westphal/netstat/node.7/config.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1125
        !          34362: /n/westphal/netstat/node.7/config.Nov1990//Thu Nov 29 00:11:53 1990 /usr/backup/v/v13521/517
        !          34363: /n/westphal/netstat/node.7/config.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/576
        !          34364: /n/westphal/netstat/node.7/config.Oct1990//Fri Oct 26 00:07:16 1990 /usr/backup/v/v13324/413
        !          34365: /n/westphal/netstat/node.7/config.Sep1989//Sat Sep 23 01:01:32 1989 /usr/backup/v/v7191/349
        !          34366: /n/westphal/netstat/node.7/config.Sep1990//Sat Sep  1 23:57:12 1990 /usr/backup/v/v12952/584
        !          34367: /n/westphal/netstat/node.7/info.Apr1989//Sat Apr 22 00:13:55 1989 /usr/backup/v/v5922/337
        !          34368: /n/westphal/netstat/node.7/info.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/976
        !          34369: /n/westphal/netstat/node.7/info.Apr1991//Thu Apr 11 00:09:57 1991 /usr/backup/v/v14373/236
        !          34370: /n/westphal/netstat/node.7/info.Aug1989//Fri Sep  1 00:11:15 1989 /usr/backup/v/v7043/139
        !          34371: /n/westphal/netstat/node.7/info.Aug1990//Wed Aug 15 00:08:27 1990 /usr/backup/v/v12835/513
        !          34372: /n/westphal/netstat/node.7/info.Dec1989//Thu Dec 28 00:06:37 1989 /usr/backup/v/v11078/803
        !          34373: /n/westphal/netstat/node.7/info.Dec1990//Fri Dec 28 00:05:23 1990 /usr/backup/v/v13676/119
        !          34374: /n/westphal/netstat/node.7/info.Feb1989//Tue Feb 28 00:22:13 1989 /usr/backup/v/v5459/412
        !          34375: /n/westphal/netstat/node.7/info.Feb1990//Fri Feb  9 00:19:33 1990 /usr/backup/v/v11503/188
        !          34376: /n/westphal/netstat/node.7/info.Feb1991//Wed Feb 20 00:13:52 1991 /usr/backup/v/v14025/656
        !          34377: /n/westphal/netstat/node.7/info.Jan1989//Tue Jan 31 00:13:05 1989 /usr/backup/v/v5197/23
        !          34378: /n/westphal/netstat/node.7/info.Jan1990//Sat Jan 27 00:25:38 1990 /usr/backup/v/v11385/21
        !          34379: /n/westphal/netstat/node.7/info.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13696/1368
        !          34380: /n/westphal/netstat/node.7/info.Jul1989//Tue Aug  1 00:19:51 1989 /usr/backup/v/v6730/288
        !          34381: /n/westphal/netstat/node.7/info.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/290
        !          34382: /n/westphal/netstat/node.7/info.Jun1989//Sat Jul  1 00:17:14 1989 /usr/backup/v/v6476/264
        !          34383: /n/westphal/netstat/node.7/info.Jun1990//Tue Jun 12 00:14:15 1990 /usr/backup/v/v12486/1198
        !          34384: /n/westphal/netstat/node.7/info.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/858
        !          34385: /n/westphal/netstat/node.7/info.Mar1989//Thu Mar 23 00:21:29 1989 /usr/backup/v/v5662/566
        !          34386: /n/westphal/netstat/node.7/info.Mar1990//Fri Mar 30 00:06:03 1990 /usr/backup/v/v11881/643
        !          34387: /n/westphal/netstat/node.7/info.Mar1991//Mon Mar 11 00:04:41 1991 /usr/backup/v/v14137/704
        !          34388: /n/westphal/netstat/node.7/info.May1989//Thu Jun  1 00:25:08 1989 /usr/backup/v/v6241/549
        !          34389: /n/westphal/netstat/node.7/info.May1990//Fri May 25 00:09:53 1990 /usr/backup/v/v12367/1191
        !          34390: /n/westphal/netstat/node.7/info.May1991//Tue May 14 00:07:31 1991 /usr/backup/v/v14564/457
        !          34391: /n/westphal/netstat/node.7/info.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1506
        !          34392: /n/westphal/netstat/node.7/info.Nov1990//Fri Nov 30 00:13:18 1990 /usr/backup/v/v13528/523
        !          34393: /n/westphal/netstat/node.7/info.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/658
        !          34394: /n/westphal/netstat/node.7/info.Oct1990//Thu Nov  1 00:07:24 1990 /usr/backup/v/v13353/897
        !          34395: /n/westphal/netstat/node.7/info.Sep1989//Sun Sep 24 01:38:01 1989 /usr/backup/v/v7197/186
        !          34396: /n/westphal/netstat/node.7/info.Sep1990//Sat Sep 15 00:11:36 1990 /usr/backup/v/v13057/62
        !          34397: /n/westphal/netstat/node.hg/config.Apr1990//Thu Apr 26 00:22:24 1990 /usr/backup/v/v12134/231
        !          34398: /n/westphal/netstat/node.hg/config.Apr1991//Wed May  1 00:19:18 1991 /usr/backup/v/v14492/701
        !          34399: /n/westphal/netstat/node.hg/config.Aug1990//Fri Aug 24 00:07:07 1990 /usr/backup/v/v12905/696
        !          34400: /n/westphal/netstat/node.hg/config.Dec1989//Wed Dec 20 00:26:36 1989 /usr/backup/v/v11023/724
        !          34401: /n/westphal/netstat/node.hg/config.Dec1990//Tue Jan  1 00:01:24 1991 /usr/backup/v/v13696/976
        !          34402: /n/westphal/netstat/node.hg/config.Feb1990//Sat Feb 24 00:51:26 1990 /usr/backup/v/v11602/777
        !          34403: /n/westphal/netstat/node.hg/config.Feb1991//Fri Mar  1 00:17:38 1991 /usr/backup/v/v14069/622
        !          34404: /n/westphal/netstat/node.hg/config.Jan1990//Tue Jan 30 00:12:59 1990 /usr/backup/v/v11401/418
        !          34405: /n/westphal/netstat/node.hg/config.Jan1991//Fri Jan 25 00:14:08 1991 /usr/backup/v/v13820/1449
        !          34406: /n/westphal/netstat/node.hg/config.Jul1990//Sat Jul 28 23:58:58 1990 /usr/backup/v/v12704/367
        !          34407: /n/westphal/netstat/node.hg/config.Jun1990//Wed Jun 27 00:20:23 1990 /usr/backup/v/v12483/463
        !          34408: /n/westphal/netstat/node.hg/config.Jun1991//Thu Jun  6 00:23:41 1991 /usr/backup/v/v14703/736
        !          34409: /n/westphal/netstat/node.hg/config.Mar1990//Sat Mar 24 00:25:53 1990 /usr/backup/v/v11816/1111
        !          34410: /n/westphal/netstat/node.hg/config.Mar1991//Thu Mar 28 00:18:25 1991 /usr/backup/v/v14247/851
        !          34411: /n/westphal/netstat/node.hg/config.May1990//Fri Jun  1 00:09:39 1990 /usr/backup/v/v12403/202
        !          34412: /n/westphal/netstat/node.hg/config.May1990//Mon May  7 00:19:29 1990 /usr/backup/v/v12236/688
        !          34413: /n/westphal/netstat/node.hg/config.May1991//Sat May 18 00:09:18 1991 /usr/backup/v/v14593/963
        !          34414: /n/westphal/netstat/node.hg/config.Nov1989//Tue Nov 28 00:32:12 1989 /usr/backup/v/v10875/623
        !          34415: /n/westphal/netstat/node.hg/config.Nov1990//Fri Nov 30 00:13:42 1990 /usr/backup/v/v13527/663
        !          34416: /n/westphal/netstat/node.hg/config.Oct1990//Sat Oct 20 00:07:21 1990 /usr/backup/v/v13293/156
        !          34417: /n/westphal/netstat/node.hg/config.Sep1990//Sat Sep 29 00:07:54 1990 /usr/backup/v/v13153/937
        !          34418: /n/westphal/netstat/node.hg/info.Apr1990//Tue May  1 00:21:11 1990 /usr/backup/v/v12157/113
        !          34419: /n/westphal/netstat/node.hg/info.Apr1991//Wed May  1 00:19:44 1991 /usr/backup/v/v14492/943
        !          34420: /n/westphal/netstat/node.hg/info.Aug1990//Sat Aug 25 00:11:04 1990 /usr/backup/v/v12906/1
        !          34421: /n/westphal/netstat/node.hg/info.Dec1989//Wed Dec 20 00:26:57 1989 /usr/backup/v/v11023/919
        !          34422: /n/westphal/netstat/node.hg/info.Dec1990//Tue Jan  1 00:01:39 1991 /usr/backup/v/v13696/1107
        !          34423: /n/westphal/netstat/node.hg/info.Feb1990//Thu Mar  1 00:15:13 1990 /usr/backup/v/v11634/1437
        !          34424: /n/westphal/netstat/node.hg/info.Feb1991//Fri Mar  1 00:18:14 1991 /usr/backup/v/v14071/253
        !          34425: /n/westphal/netstat/node.hg/info.Jan1990//Thu Feb  1 00:16:50 1990 /usr/backup/v/v11418/1006
        !          34426: /n/westphal/netstat/node.hg/info.Jan1991//Fri Feb  1 00:19:29 1991 /usr/backup/v/v13854/186
        !          34427: /n/westphal/netstat/node.hg/info.Jul1990//Wed Aug  1 00:13:21 1990 /usr/backup/v/v12722/300
        !          34428: /n/westphal/netstat/node.hg/info.Jun1990//Sun Jul  1 00:30:12 1990 /usr/backup/v/v12506/731
        !          34429: /n/westphal/netstat/node.hg/info.Jun1991//Fri Jun  7 00:27:18 1991 /usr/backup/v/v14708/960
        !          34430: /n/westphal/netstat/node.hg/info.Mar1990//Sun Mar 25 05:13:14 1990 /usr/backup/v/v11838/275
        !          34431: /n/westphal/netstat/node.hg/info.Mar1991//Sun Mar 31 22:58:16 1991 /usr/backup/v/v14273/228
        !          34432: /n/westphal/netstat/node.hg/info.May1990//Fri Jun  1 00:10:11 1990 /usr/backup/v/v12403/718
        !          34433: /n/westphal/netstat/node.hg/info.May1991//Fri May 31 00:18:57 1991 /usr/backup/v/v14662/922
        !          34434: /n/westphal/netstat/node.hg/info.Nov1989//Fri Dec  1 00:40:17 1989 /usr/backup/v/v10896/204
        !          34435: /n/westphal/netstat/node.hg/info.Nov1990//Sat Dec  1 00:05:41 1990 /usr/backup/v/v13532/127
        !          34436: /n/westphal/netstat/node.hg/info.Oct1990//Thu Nov  1 00:08:13 1990 /usr/backup/v/v13352/51
        !          34437: /n/westphal/netstat/node.hg/info.Sep1990//Sun Sep 30 00:06:31 1990 /usr/backup/v/v13164/722
        !          34438: /n/westphal/netstat/node.hg2/config.Apr1990//Wed Apr 18 00:26:09 1990 /usr/backup/v/v12048/380
        !          34439: /n/westphal/netstat/node.hg2/config.Apr1991//Fri Apr 26 00:07:46 1991 /usr/backup/v/v14467/937
        !          34440: /n/westphal/netstat/node.hg2/config.Aug1990//Thu Aug 30 00:11:18 1990 /usr/backup/v/v12930/1555
        !          34441: /n/westphal/netstat/node.hg2/config.Dec1989//Sat Dec 30 00:17:31 1989 /usr/backup/v/v11087/534
        !          34442: /n/westphal/netstat/node.hg2/config.Dec1990//Tue Dec  4 00:05:11 1990 /usr/backup/v/v13545/442
        !          34443: /n/westphal/netstat/node.hg2/config.Feb1990//Thu Feb 22 00:55:45 1990 /usr/backup/v/v11591/548
        !          34444: /n/westphal/netstat/node.hg2/config.Feb1991//Fri Mar  1 00:18:16 1991 /usr/backup/v/v14072/330
        !          34445: /n/westphal/netstat/node.hg2/config.Jan1990//Tue Jan 30 00:13:27 1990 /usr/backup/v/v11401/958
        !          34446: /n/westphal/netstat/node.hg2/config.Jan1991//Thu Jan 31 00:21:39 1991 /usr/backup/v/v13848/599
        !          34447: /n/westphal/netstat/node.hg2/config.Jul1990//Sat Jul 28 23:59:19 1990 /usr/backup/v/v12704/729
        !          34448: /n/westphal/netstat/node.hg2/config.Jun1990//Wed Jun 27 00:21:24 1990 /usr/backup/v/v12483/1072
        !          34449: /n/westphal/netstat/node.hg2/config.Jun1991//Sat Jun  1 23:57:38 1991 /usr/backup/v/v14675/735
        !          34450: /n/westphal/netstat/node.hg2/config.Mar1990//Wed Mar 28 00:12:19 1990 /usr/backup/v/v11847/636
        !          34451: /n/westphal/netstat/node.hg2/config.Mar1991//Wed Mar 27 00:16:03 1991 /usr/backup/v/v14239/37
        !          34452: /n/westphal/netstat/node.hg2/config.May1990//Thu May 31 00:11:36 1990 /usr/backup/v/v12390/457
        !          34453: /n/westphal/netstat/node.hg2/config.May1991//Fri May 10 00:09:20 1991 /usr/backup/v/v14547/588
        !          34454: /n/westphal/netstat/node.hg2/config.Nov1989//Wed Nov 22 00:38:48 1989 /usr/backup/v/v10841/668
        !          34455: /n/westphal/netstat/node.hg2/config.Nov1990//Thu Nov 22 00:08:14 1990 /usr/backup/v/v13486/1369
        !          34456: /n/westphal/netstat/node.hg2/config.Oct1990//Fri Oct 26 00:07:57 1990 /usr/backup/v/v13327/1071
        !          34457: /n/westphal/netstat/node.hg2/config.Sep1990//Tue Sep 25 00:09:00 1990 /usr/backup/v/v13124/980
        !          34458: /n/westphal/netstat/node.hg2/info.Apr1990//Fri Apr 27 01:07:05 1990 /usr/backup/v/v12135/375
        !          34459: /n/westphal/netstat/node.hg2/info.Apr1991//Sat Apr 27 00:07:49 1991 /usr/backup/v/v14474/981
        !          34460: /n/westphal/netstat/node.hg2/info.Aug1990//Sat Sep  1 00:08:28 1990 /usr/backup/v/v12949/1442
        !          34461: /n/westphal/netstat/node.hg2/info.Dec1989//Sat Dec 30 00:17:32 1989 /usr/backup/v/v11087/789
        !          34462: /n/westphal/netstat/node.hg2/info.Dec1990//Fri Dec 28 00:06:06 1990 /usr/backup/v/v13680/102
        !          34463: /n/westphal/netstat/node.hg2/info.Feb1990//Thu Mar  1 00:15:15 1990 /usr/backup/v/v11638/593
        !          34464: /n/westphal/netstat/node.hg2/info.Feb1991//Fri Mar  1 00:18:18 1991 /usr/backup/v/v14072/517
        !          34465: /n/westphal/netstat/node.hg2/info.Jan1990//Thu Feb  1 00:16:54 1990 /usr/backup/v/v11419/692
        !          34466: /n/westphal/netstat/node.hg2/info.Jan1991//Thu Jan 31 00:21:42 1991 /usr/backup/v/v13848/632
        !          34467: /n/westphal/netstat/node.hg2/info.Jul1990//Wed Aug  1 00:13:25 1990 /usr/backup/v/v12723/911
        !          34468: /n/westphal/netstat/node.hg2/info.Jun1990//Sat Jun 30 00:34:13 1990 /usr/backup/v/v12502/739
        !          34469: /n/westphal/netstat/node.hg2/info.Jun1991//Fri Jun  7 00:27:23 1991 /usr/backup/v/v14709/683
        !          34470: /n/westphal/netstat/node.hg2/info.Mar1990//Thu Mar 29 00:05:55 1990 /usr/backup/v/v11867/620
        !          34471: /n/westphal/netstat/node.hg2/info.Mar1991//Sat Mar 30 00:06:54 1991 /usr/backup/v/v14262/508
        !          34472: /n/westphal/netstat/node.hg2/info.May1990//Fri Jun  1 00:10:16 1990 /usr/backup/v/v12401/217
        !          34473: /n/westphal/netstat/node.hg2/info.May1991//Sat Jun  1 00:07:09 1991 /usr/backup/v/v14671/1221
        !          34474: /n/westphal/netstat/node.hg2/info.Nov1989//Thu Nov 30 00:31:42 1989 /usr/backup/v/v10888/2790
        !          34475: /n/westphal/netstat/node.hg2/info.Nov1990//Thu Nov 22 00:08:15 1990 /usr/backup/v/v13486/1475
        !          34476: /n/westphal/netstat/node.hg2/info.Oct1990//Wed Oct 31 00:09:57 1990 /usr/backup/v/v13348/87
        !          34477: /n/westphal/netstat/node.hg2/info.Sep1990//Tue Sep 25 00:09:02 1990 /usr/backup/v/v13124/1130
        !          34478: /n/westphal/netstat/src/getconfig.c//Tue Oct 16 12:25:31 1990 /usr/backup/v/v13270/83
        !          34479: /n/westphal/netstat/src/printraw.c//Wed Mar 14 10:30:14 1990 /usr/backup/v/v11750/41
        !          34480: /n/westphal/netstat/src/rawstat.c//Mon Oct 15 17:07:12 1990 /usr/backup/v/v13261/822
        !          34481: /n/westphal/netstat/tmp/inap.1013//Tue Jan  8 16:32:34 1991 /usr/backup/v/v13724/420
        !          34482: /n/westphal/netstat/tmp/raw.1013-4.NAC//Mon Jan  7 16:08:26 1991 /usr/backup/v/v13719/1235
        !          34483: /n/westphal/netstat/tmp/raw.1013.NAC//Mon Jan  7 15:30:40 1991 /usr/backup/v/v13719/1105
        !          34484: /n/westphal/netstat/tmp/raw.1013.hg//Mon Jan  7 12:07:19 1991 /usr/backup/v/v13719/1170
        !          34485: /n/westphal/netstat/tmp/raw.1014.1//Mon Jan  7 16:04:15 1991 /usr/backup/v/v13718/568
        !          34486: t�D�-��&&���:G(�EO(�EO(tdkother/n/westphal/usr/tdk/CONFIG/Hg.Friv/v14725/7973053config node nj/mercury/ merc vcs 2000 512 6000 128 256 2
        !          34487: service enter cfgdump admisc
        !          34488: service enter remconsole admisc
        !          34489: service enter unix adunix
        !          34490: service enter trunk adtrunk
        !          34491: service enter group adgrp
        !          34492: service enter name adname
        !          34493: service enter table adtable
        !          34494: service enter term adterm
        !          34495: service enter tyhost adtyhost
        !          34496: service enter conc adconc
        !          34497: service enter dialer addialer
        !          34498: service enter ? admisc
        !          34499: service enter admlog admisc
        !          34500: service enter file adfile
        !          34501: service enter config adcfg
        !          34502: service enter service adserv
        !          34503: service enter audit adaudit
        !          34504: service enter maint admaint
        !          34505: service enter cons1 adcons
        !          34506: service enter cons0 adcons
        !          34507: group enter crux
        !          34508: group enter dial
        !          34509: group enter arjuna
        !          34510: group enter lingua
        !          34511: group enter dwalin
        !          34512: group enter athene
        !          34513: group enter ?
        !          34514: group enter admlog
        !          34515: group enter cfgdump
        !          34516: group enter admin
        !          34517: group enter psed
        !          34518: group enter Cicarus
        !          34519: group enter dori
        !          34520: group enter tattoo
        !          34521: group enter arachne
        !          34522: group enter Csleepy
        !          34523: group enter Cbifur
        !          34524: group enter Csiriusb
        !          34525: group enter Cbashful
        !          34526: group enter Cbalin
        !          34527: group enter Chappy
        !          34528: group enter Cgloin
        !          34529: group enter gloin
        !          34530: group enter sleepy
        !          34531: group enter Cjbox
        !          34532: group enter jbox
        !          34533: group enter chitra
        !          34534: group enter spiff
        !          34535: group enter cocalus
        !          34536: group enter oin
        !          34537: group enter munchkin
        !          34538: group enter voice
        !          34539: group enter lear
        !          34540: group enter gimli
        !          34541: group enter sola
        !          34542: group enter capek
        !          34543: group enter theseus
        !          34544: group enter laid
        !          34545: group enter happy
        !          34546: group enter doc
        !          34547: group enter thorin
        !          34548: group enter rear
        !          34549: group enter garbage
        !          34550: group enter housay
        !          34551: group enter CHg
        !          34552: group enter scylla
        !          34553: group enter laird
        !          34554: group enter herbert
        !          34555: group enter dectalk
        !          34556: group enter ergo
        !          34557: group enter jerconv
        !          34558: group enter Cthorin
        !          34559: group enter merc2
        !          34560: group enter Csweet
        !          34561: group enter dopey
        !          34562: group enter Ctattoo
        !          34563: group enter Cgrumpy
        !          34564: group enter Cdori
        !          34565: group enter Csneezy
        !          34566: group enter solagone
        !          34567: group enter siriusb
        !          34568: group enter Chunny
        !          34569: group enter sneezy
        !          34570: group enter karna
        !          34571: group enter mha1
        !          34572: group enter phone
        !          34573: group enter astro
        !          34574: group enter nisus
        !          34575: group enter minos
        !          34576: group enter ariadne
        !          34577: group enter hunny
        !          34578: group enter icarus
        !          34579: group enter balin
        !          34580: group enter bashful
        !          34581: group enter bifur
        !          34582: group enter eeyore
        !          34583: group enter gunn
        !          34584: group enter iota
        !          34585: group enter jones
        !          34586: group enter kanga
        !          34587: group enter sapir
        !          34588: group enter sweet
        !          34589: group enter indra
        !          34590: group enter outside
        !          34591: group enter jlhear
        !          34592: group enter bofer
        !          34593: group enter Cdopey
        !          34594: group enter console1
        !          34595: group enter mharit
        !          34596: group enter Ctelebit
        !          34597: group enter IPtiger
        !          34598: group enter moria
        !          34599: group enter ohunny
        !          34600: group enter bombur
        !          34601: group enter obashful
        !          34602: group enter Cbombur
        !          34603: group enter ohappy
        !          34604: group enter IPbashful
        !          34605: group enter Csage
        !          34606: name enter local lingua "''" lingua yes
        !          34607: name enter local arjuna "''" arjuna yes
        !          34608: name enter local siriusb "" dopey yes
        !          34609: name enter local theseus "" theseus yes
        !          34610: name enter local crux "" crux yes
        !          34611: name enter local kanga "" kanga yes
        !          34612: name enter local ogolem "" dopey yes
        !          34613: name enter local Csiriusb "" Csiriusb yes
        !          34614: name enter local capek "" capek no
        !          34615: name enter local mharit "" mharit yes
        !          34616: name enter local oin "" oin yes
        !          34617: name enter local balin "" dopey yes
        !          34618: name enter local icarus "" icarus yes
        !          34619: name enter local bombur "" bombur yes
        !          34620: name enter local scylla "" scylla yes
        !          34621: name enter local Cbalin "" Cbalin yes
        !          34622: name enter local Cicarus "" Cicarus yes
        !          34623: name enter local Cbombur "" Cbombur yes
        !          34624: name enter local lynx "" dopey yes
        !          34625: name enter local tanuki "" dopey yes
        !          34626: name enter local laird "" laird yes
        !          34627: name enter local karna "" merc2 yes
        !          34628: name enter local indra "" indra yes
        !          34629: name enter local bofer "" bofer yes
        !          34630: name enter local mhari ">nj/mercury/mharit" mharit yes
        !          34631: name enter local ohappy "" ohappy yes
        !          34632: name enter local sleepy "" sleepy yes
        !          34633: name enter local gimli "" dopey yes
        !          34634: name enter local arachne "" arachne yes
        !          34635: name enter local coyote "" dopey yes
        !          34636: name enter local CONSOLE "" admin yes
        !          34637: name enter local golem "" dopey yes
        !          34638: name enter local ariadne "" ariadne yes
        !          34639: name enter local thorin "" thorin yes
        !          34640: name enter local obashful "" obashful yes
        !          34641: name enter local Csleepy "" Csleepy yes
        !          34642: name enter local voice "" voice yes
        !          34643: name enter local Cthorin "" Cthorin yes
        !          34644: name enter local spiff "" spiff yes
        !          34645: name enter local bifur "" dopey yes
        !          34646: name enter local dectalk "" dectalk yes
        !          34647: name enter local solagone "" solagone yes
        !          34648: name enter local moria "" moria yes
        !          34649: name enter local gloin "" gloin yes
        !          34650: name enter local housay "" housay yes
        !          34651: name enter local dial "" none yes
        !          34652: name enter local laid "" laid yes
        !          34653: name enter local tattoo "" dopey yes
        !          34654: name enter local Cbifur "" Cbifur yes
        !          34655: name enter local tiger "" dopey yes
        !          34656: name enter local Cgloin "" Cgloin yes
        !          34657: name enter local raven "" dopey yes
        !          34658: name enter local munchkin "" munchkin yes
        !          34659: name enter local sneezy "" sneezy yes
        !          34660: name enter local Ctattoo "" Ctattoo yes
        !          34661: name enter local jones "" jones yes
        !          34662: name enter local sapir "" sapir yes
        !          34663: name enter local dopey "" dopey yes
        !          34664: name enter local Csneezy "" Csneezy yes
        !          34665: name enter local ohunny "" ohunny yes
        !          34666: name enter local happy "" dopey yes
        !          34667: name enter local LOG "" admlog yes
        !          34668: name enter local python "" dopey yes
        !          34669: name enter local Csage "" Csage yes
        !          34670: name enter local lear "" lear yes
        !          34671: name enter local Cdopey "" Cdopey yes
        !          34672: name enter local console1 "**" console1 yes
        !          34673: name enter local grumpy "" dopey yes
        !          34674: name enter local Chappy "" Chappy yes
        !          34675: name enter local bashful "" dopey yes
        !          34676: name enter local minos "" merc2 yes
        !          34677: name enter local Cgrumpy "" Cgrumpy yes
        !          34678: name enter local Cbashful "" Cbashful yes
        !          34679: name enter local sweet "" sweet yes
        !          34680: name enter local cocalus "" cocalus yes
        !          34681: name enter local rear "" rear yes
        !          34682: name enter local * "" merc2 yes
        !          34683: name enter local Csweet "" Csweet yes
        !          34684: name enter local lobo "" dopey yes
        !          34685: name enter local Ctelebit "" Ctelebit yes
        !          34686: name enter local iota "" iota yes
        !          34687: name enter local ergo "" ergo yes
        !          34688: name enter local dori "" dopey yes
        !          34689: name enter local dolphin "" dopey yes
        !          34690: name enter local Cdori "" Cdori yes
        !          34691: name enter local hunny "" dopey yes
        !          34692: name enter local CHg "" CHg yes
        !          34693: name enter local IPtiger "" IPtiger yes
        !          34694: name enter local athene "" merc2 yes
        !          34695: name enter local Chunny "" Chunny yes
        !          34696: name enter local Cjbox "" Cjbox yes
        !          34697: name enter local doc "" doc yes
        !          34698: name enter local jlhear "" jlhear yes
        !          34699: name enter local CONFIG "" cfgdump yes
        !          34700: name enter local jerconv "" jerconv yes
        !          34701: name enter local SPIFF "" spiff yes
        !          34702: name enter local gunn "" gunn yes
        !          34703: name enter local adminHg "" admin yes
        !          34704: name enter local lixo "" garbage yes
        !          34705: name enter local outside "" astro yes
        !          34706: name enter local alice ">astro/alice" none yes
        !          34707: name enter local IPbashful "" IPbashful yes
        !          34708: name enter local dwalin "" dwalin yes
        !          34709: name enter local ? "" ? yes
        !          34710: name enter exchange mercury "" local yes
        !          34711: name enter exchange phone "" phone,astro yes
        !          34712: name enter exchange homer "" mha1 yes
        !          34713: name enter exchange a "" mha1 yes
        !          34714: name enter exchange e "" mha1 yes
        !          34715: name enter exchange merc "" local yes
        !          34716: name enter exchange astro "" astro,phone yes
        !          34717: name enter exchange * "" astro,mha1,phone yes
        !          34718: name enter area mh "Murray Hill, NJ" local yes
        !          34719: name enter area nj "" local yes
        !          34720: name enter area * "" astro,phone yes
        !          34721: cfgdump enter 1 cfgdump adcfg
        !          34722: cfgdump password a18jUSGxZ4w6
        !          34723: remconsole enter 2 admin adcons
        !          34724: remconsole password Ku8uujHZh6ru
        !          34725: unix type enter unixV2 2 unixVcscp 3 unixVp ci2,fim,cpmhs,cpm422,cpmdr
        !          34726: unix type enter unixV1 1 unixVcscp 2 unixVp cpm422,cpmdr,cpmhs,wif
        !          34727: unix type enter unix92 2 unix9cscp 3 unix9p ci2,fim,cpmhs,cpm422,cpmdr
        !          34728: unix type enter unix91 1 unix9cscp 2 unix9p ci2,fim,cpmhs,cpm422,cpmdr
        !          34729: unix type enter unixV4 4 unixVcscp 5 unixVp cpmdr,cpm422,cpmhs,fim,ci2
        !          34730: unix type enter unixT 1 unix9cscp 2 unix9p cpmdr,cpm422,cpmhs,fim,ci2
        !          34731: trunk type enter radian 5 tdkp 6 tdktrkp 3 loopp trkt1,trkhs,fim,ci2
        !          34732: trunk type enter vcsdds 5 tdkp 8 tdktrkp 3 loopp trkdds,tim
        !          34733: trunk type enter tdk2 5 tdk2cscp 6 tdk2p 3 loopp trkt1,trkhs,ci2,fim
        !          34734: trunk type enter dk2 5 dk2cscp 6 dk2p 3 loopp fim,ci2,trkhs,trkt1
        !          34735: term type enter ty12 ty12termp fim,cpm,ty12
        !          34736: term type enter aim aimtermp aim8,aim4
        !          34737: term type enter ty4 ty4termp ty4
        !          34738: term type enter ty1 ty1termp ty1
        !          34739: term prompt "Destination please: " "DKC "
        !          34740: tyhost type enter ty1 ty1hostp ty1
        !          34741: tyhost type enter ty4 ty4hostp ty4
        !          34742: tyhost type enter ty12 ty12hostp fim,cpm,ty12
        !          34743: tyhost prompt "Destination please: "
        !          34744: conc type enter bbox3 1 bbox1p 7,15*24 dsx1
        !          34745: conc type enter wif32 1 wifp 31,7*32 wif
        !          34746: conc type enter wif16 1 wifp 15,15*16 wif
        !          34747: conc type enter wif8 1 wifp 7,15*8 wif
        !          34748: conc type enter isn 1 isnconcp 4,4*9,96 swt,ci2,fim
        !          34749: conc type enter owif8 1 owifp 7,15*8 wif
        !          34750: conc type enter owif16 1 owifp 15,15*16 wif
        !          34751: conc type enter owif32 1 owifp 31,7*32 wif
        !          34752: conc type enter xwif32 1 wifp 15,15*32 wif
        !          34753: conc type enter bwif32 1 wifp 31,15*32 wif
        !          34754: dialer type enter ty12.penril ty12penrilp ty12
        !          34755: dialer prompt "Destination please: " "DKC "
        !          34756: ? enter 2 ? dirass
        !          34757: admlog enter 1 admlog logger
        !          34758: admlog password KaN7wNS2K/0g
        !          34759: maint board enter sft vcs 0224 none y 0 none y 0 none
        !          34760: maint board enter ci2 vcs 0225 ci2 y 0 none y 0 none
        !          34761: maint board enter dkap vcs 0217 none y 0 none y 0 none
        !          34762: maint board enter ty4 vcs 0100 ty4 y 0 none y 0 none
        !          34763: maint board enter vcsrepeater vcs 0203 vcsrpr y 0 none y 0 none
        !          34764: maint board enter vcsclock vcs 0201 vcsclk y 0 none y 0 none
        !          34765: maint board enter vcsswitch vcs 0202 vcsswt y 0 none y 0 none
        !          34766: maint board enter cpmdr vcs 0207 cpmdr y 0 none y 0 none
        !          34767: maint board enter trkhs vcs 0212 trkhs y 0 none y 0 none
        !          34768: maint board enter ty12 vcs 0220 ty12 y 0 none y 0 none
        !          34769: maint board enter cpmhs vcs 0210 cpmhs y 0 none y 0 none
        !          34770: maint board enter cpm422 vcs 0205 cpm422 y 0 none y 0 none
        !          34771: maint board enter trkt1 vcs 0215 trkt1 y 0 none y 0 none
        !          34772: maint board enter trk17b vcs 040 trk17b y 0 none y 0 none
        !          34773: maint board enter wif vcs 0252 wif y 0 none y 0 none
        !          34774: maint collect
        !          34775: maint clock 63
        !          34776: maint override 12 cpm422
        !          34777: maint override 20 ty12
        !          34778: maint override 28 cpm422
        !          34779: maint override 44 cpm422
        !          34780: maint override 52 cpm422
        !          34781: maint override 58 ty12
        !          34782: maint override 59 cpm422
        !          34783: cons1 disabled notrace
        !          34784: cons0 enabled trace
        !          34785: unix enter 3 unixV1 256 gloin 96 gloin yes no no no none y
        !          34786: term dev enter 4 1 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          34787: term dev enter 4 2 ty12 13 128 none tty terminal 9600 none n y y none 2brk disc y
        !          34788: term dev enter 4 3 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          34789: term dev enter 4 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34790: term dev enter 4 5 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          34791: term dev enter 4 6 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          34792: term dev enter 4 7 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
        !          34793: term dev enter 4 8 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          34794: term dev enter 4 9 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          34795: term dev enter 4 10 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          34796: term dev enter 4 11 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          34797: term dev enter 4 12 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          34798: term dev enter 5 1 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          34799: term dev enter 5 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34800: term dev enter 5 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34801: term dev enter 5 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34802: term dev enter 5 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34803: term dev enter 5 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34804: tyhost dev enter 5 7 ty12 13 128 voice voice 9600 9600 none n n n none none 0 n y n y
        !          34805: term dev enter 5 8 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
        !          34806: term dev enter 5 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34807: term dev enter 5 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34808: tyhost dev enter 5 11 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
        !          34809: tyhost dev enter 5 12 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
        !          34810: trunk enter 6 dk2 4096 mha1 75 none other no none y
        !          34811: term dev enter 7 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34812: term dev enter 7 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34813: term dev enter 7 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34814: term dev enter 7 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34815: term dev enter 7 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34816: tyhost dev enter 7 6 ty12 13 128 ergo ergo 9600 9600 none n n n none none 0 n y n y
        !          34817: term dev enter 7 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34818: term dev enter 7 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34819: term dev enter 7 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34820: term dev enter 7 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34821: term dev enter 7 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34822: term dev enter 7 12 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
        !          34823: trunk enter 8 tdk2 4096 phone 256 none other no none y
        !          34824: trunk enter 9 tdk2 1024 astro 256 none other no none y
        !          34825: trunk enter 10 tdk2 4096 merc2 512 none other no none y
        !          34826: unix enter 11 unixV1 256 scylla 64 scylla yes no no no none y
        !          34827: unix enter 12 unixV1 256 ohappy 96 ohappy yes no no no none y
        !          34828: conc enter 13 bwif32 512 16 y
        !          34829: unix enter 13/2 unixV1 256 none 32 tty yes yes no no none y
        !          34830: unix enter 13/3 unixV1 256 none 32 tty yes yes no no none y
        !          34831: unix enter 13/4 unixV1 256 none 32 tty yes yes no no none y
        !          34832: unix enter 13/5 unixV1 256 none 32 tty yes yes no no none y
        !          34833: unix enter 13/6 unixV1 256 crux 32 crux yes no yes yes none y
        !          34834: unix enter 13/7 unixV1 256 none 32 tty yes yes no no none y
        !          34835: unix enter 13/8 unixV1 256 none 32 tty yes yes no no none y
        !          34836: unix enter 13/9 unixV1 256 none 32 tty yes yes no no none y
        !          34837: unix enter 13/10 unixV1 256 none 32 tty yes yes no no none y
        !          34838: unix enter 13/11 unixV1 256 none 32 tty yes yes no no none y
        !          34839: unix enter 13/12 unixV1 256 none 32 tty yes yes no no none y
        !          34840: unix enter 13/13 unixV1 256 none 32 tty yes yes no no none y
        !          34841: unix enter 13/14 unixV1 256 none 32 tty yes yes no no none y
        !          34842: unix enter 13/15 unixV1 256 arachne 32 arachne yes no no no none y
        !          34843: unix enter 14 unixV1 256 ariadne 64 ariadne yes no no no none y
        !          34844: term dev enter 16 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34845: term dev enter 16 2 ty12 13 128 none tty terminal auto none n n y none 2brk disc y
        !          34846: term dev enter 16 3 ty12 13 128 none tty terminal 9600 none n y n none 2brk disc y
        !          34847: term dev enter 16 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34848: term dev enter 16 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34849: term dev enter 16 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34850: term dev enter 16 7 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          34851: term dev enter 16 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34852: term dev enter 16 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34853: term dev enter 16 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34854: term dev enter 16 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34855: term dev enter 16 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34856: term dev enter 17 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34857: term dev enter 17 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34858: term dev enter 17 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34859: term dev enter 17 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34860: term dev enter 17 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34861: term dev enter 17 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34862: term dev enter 17 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34863: term dev enter 17 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34864: term dev enter 17 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34865: term dev enter 17 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34866: term dev enter 17 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34867: term dev enter 17 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc n
        !          34868: term dev enter 18 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34869: term dev enter 18 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34870: term dev enter 18 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34871: term dev enter 18 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34872: term dev enter 18 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34873: term dev enter 18 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34874: term dev enter 18 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34875: term dev enter 18 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34876: term dev enter 18 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34877: term dev enter 18 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34878: term dev enter 18 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34879: term dev enter 18 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34880: term dev enter 19 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34881: term dev enter 19 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34882: term dev enter 19 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34883: term dev enter 19 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34884: term dev enter 19 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34885: term dev enter 19 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34886: term dev enter 19 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34887: term dev enter 19 8 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          34888: tyhost dev enter 19 9 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
        !          34889: term dev enter 19 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34890: term dev enter 19 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34891: term dev enter 19 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34892: term dev enter 20 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34893: term dev enter 20 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34894: term dev enter 20 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34895: term dev enter 20 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34896: tyhost dev enter 20 5 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
        !          34897: tyhost dev enter 20 6 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
        !          34898: term dev enter 20 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34899: term dev enter 20 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34900: term dev enter 20 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34901: term dev enter 20 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34902: term dev enter 20 11 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          34903: term dev enter 20 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34904: term dev enter 21 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34905: term dev enter 21 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34906: term dev enter 21 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34907: term dev enter 21 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34908: term dev enter 21 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34909: term dev enter 21 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34910: term dev enter 21 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34911: tyhost dev enter 21 8 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
        !          34912: term dev enter 21 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34913: term dev enter 21 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34914: term dev enter 21 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34915: term dev enter 21 12 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          34916: term dev enter 22 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34917: term dev enter 22 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34918: term dev enter 22 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34919: term dev enter 22 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34920: term dev enter 22 5 ty12 13 128 none tty terminal auto none y n n none 2brk cmd y
        !          34921: term dev enter 22 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34922: term dev enter 22 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34923: term dev enter 22 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34924: term dev enter 22 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34925: term dev enter 22 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34926: term dev enter 22 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34927: term dev enter 22 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34928: term dev enter 23 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34929: term dev enter 23 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34930: term dev enter 23 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34931: term dev enter 23 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34932: term dev enter 23 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34933: term dev enter 23 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34934: term dev enter 23 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34935: term dev enter 23 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34936: term dev enter 23 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34937: term dev enter 23 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34938: term dev enter 23 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34939: term dev enter 23 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34940: term dev enter 24 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34941: term dev enter 24 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34942: term dev enter 24 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34943: term dev enter 24 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34944: term dev enter 24 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34945: term dev enter 24 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34946: term dev enter 24 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34947: term dev enter 24 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34948: term dev enter 24 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34949: term dev enter 24 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34950: term dev enter 24 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34951: term dev enter 24 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34952: unix enter 25 unixV1 256 dopey 96 dopey yes no no no none y
        !          34953: conc enter 26 bwif32 512 16 y
        !          34954: unix enter 27 unixV1 256 sweet 96 sweet yes no no no none y
        !          34955: unix enter 28 unixV1 256 sweet 96 sweet yes no no no none n
        !          34956: unix enter 29 unixV1 256 moria 96 moria yes no yes yes none y
        !          34957: term dev enter 32 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34958: term dev enter 32 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34959: term dev enter 32 3 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
        !          34960: term dev enter 32 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34961: term dev enter 32 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34962: term dev enter 32 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34963: term dev enter 32 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34964: term dev enter 32 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34965: term dev enter 32 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34966: term dev enter 32 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34967: term dev enter 32 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34968: term dev enter 32 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34969: term dev enter 33 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34970: term dev enter 33 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34971: term dev enter 33 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34972: term dev enter 33 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34973: term dev enter 33 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34974: term dev enter 33 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34975: term dev enter 33 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34976: term dev enter 33 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34977: term dev enter 33 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34978: term dev enter 33 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34979: term dev enter 33 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34980: tyhost dev enter 33 12 ty12 13 128 dectalk dectalk 9600 9600 none y y n none none 0 n y n y
        !          34981: term dev enter 34 1 ty12 13 128 none tty terminal 9600 none y n n none 2brk cmd y
        !          34982: tyhost dev enter 34 2 ty12 13 128 Ctelebit Ctelebit 9600 9600 none n n n none rmcs4tS8PO.I 0 n y n y
        !          34983: tyhost dev enter 34 3 ty12 13 128 Csneezy Csneezy 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
        !          34984: tyhost dev enter 34 4 ty12 13 128 Csage Csage 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
        !          34985: tyhost dev enter 34 5 ty12 13 128 oin oin 9600 9600 none n n n none none 0 n y n y
        !          34986: term dev enter 34 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          34987: tyhost dev enter 34 8 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          34988: tyhost dev enter 34 9 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          34989: tyhost dev enter 34 10 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          34990: tyhost dev enter 34 11 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          34991: tyhost dev enter 34 12 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          34992: term dev enter 35 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34993: term dev enter 35 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34994: term dev enter 35 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34995: term dev enter 35 4 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
        !          34996: term dev enter 35 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34997: term dev enter 35 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34998: term dev enter 35 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          34999: term dev enter 35 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35000: term dev enter 35 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35001: term dev enter 35 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35002: term dev enter 35 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35003: term dev enter 35 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35004: term dev enter 36 1 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          35005: term dev enter 36 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35006: term dev enter 36 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35007: term dev enter 36 4 ty12 13 128 none tty terminal auto none y y y none 2brk disc y
        !          35008: term dev enter 36 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35009: term dev enter 36 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35010: term dev enter 36 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35011: term dev enter 36 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35012: term dev enter 36 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35013: term dev enter 36 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35014: term dev enter 36 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35015: term dev enter 36 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35016: term dev enter 37 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35017: term dev enter 37 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35018: term dev enter 37 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35019: term dev enter 37 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35020: term dev enter 37 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35021: term dev enter 37 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35022: term dev enter 37 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35023: term dev enter 37 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35024: term dev enter 37 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35025: term dev enter 37 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35026: term dev enter 37 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35027: term dev enter 37 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35028: term dev enter 38 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35029: term dev enter 38 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35030: term dev enter 38 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35031: term dev enter 38 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35032: term dev enter 38 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35033: term dev enter 38 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35034: term dev enter 38 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35035: term dev enter 38 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35036: term dev enter 38 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35037: tyhost dev enter 38 10 ty12 13 128 cocalus cocalus 9600 9600 none n n n none none 0 n y n y
        !          35038: term dev enter 38 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35039: term dev enter 38 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35040: term dev enter 39 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35041: term dev enter 39 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35042: term dev enter 39 3 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35043: term dev enter 39 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35044: term dev enter 39 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35045: term dev enter 39 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35046: term dev enter 39 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35047: term dev enter 39 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35048: term dev enter 39 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35049: term dev enter 39 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35050: term dev enter 39 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35051: term dev enter 39 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35052: term dev enter 40 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35053: term dev enter 40 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35054: term dev enter 40 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35055: term dev enter 40 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35056: term dev enter 40 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35057: term dev enter 40 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35058: term dev enter 40 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35059: term dev enter 40 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35060: term dev enter 40 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35061: term dev enter 40 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35062: term dev enter 40 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35063: term dev enter 40 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35064: unix enter 41 unixV1 256 icarus 96 icarus no no no no none y
        !          35065: unix enter 42 unixV1 256 balin 96 balin yes no no no none y
        !          35066: unix enter 43 unixV1 256 obashful 96 obashful yes no no no none n
        !          35067: unix enter 44 unixV1 256 bombur 96 bombur yes no no no none y
        !          35068: unix enter 45 unixV1 256 bifur 96 bifur yes no no no none y
        !          35069: unix enter 46 unixV1 256 siriusb 96 siriusb yes no no no none y
        !          35070: term dev enter 48 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35071: term dev enter 48 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35072: tyhost dev enter 48 3 ty12 13 128 Cjbox Cjbox 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
        !          35073: term dev enter 48 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35074: term dev enter 48 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35075: term dev enter 48 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35076: term dev enter 48 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35077: term dev enter 48 8 ty12 13 128 none tty modem 9600 none n n n none none cmd y
        !          35078: term dev enter 48 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35079: tyhost dev enter 48 11 ty12 13 128 Cicarus Cicarus 300 300 none n n n none none 0 n y n y
        !          35080: tyhost dev enter 48 12 ty12 13 128 Csweet Csweet 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
        !          35081: term dev enter 49 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35082: term dev enter 49 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35083: term dev enter 49 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35084: term dev enter 49 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35085: term dev enter 49 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35086: tyhost dev enter 49 6 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          35087: tyhost dev enter 49 7 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          35088: tyhost dev enter 49 8 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          35089: tyhost dev enter 49 9 ty12 13 128 console1 console1 9600 9600 none y y n none none 0 y n y y
        !          35090: tyhost dev enter 49 10 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          35091: tyhost dev enter 49 11 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          35092: term dev enter 49 12 ty12 13 128 none tty terminal auto none n n n none none disc y
        !          35093: tyhost dev enter 50 1 ty12 13 128 Cgloin Cgloin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35094: tyhost dev enter 50 2 ty12 13 128 Chappy Chappy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35095: tyhost dev enter 50 3 ty12 13 128 Cbashful Cbashful 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35096: tyhost dev enter 50 4 ty12 13 128 Cbalin Cbalin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35097: tyhost dev enter 50 5 ty12 13 128 Csiriusb Csiriusb 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35098: tyhost dev enter 50 6 ty12 13 128 Cbifur Cbifur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35099: tyhost dev enter 50 7 ty12 13 128 Cdopey Cdopey 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35100: tyhost dev enter 50 8 ty12 13 128 Cbombur Cbombur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35101: tyhost dev enter 50 9 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35102: tyhost dev enter 50 10 ty12 13 128 Cgrumpy Cgrumpy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35103: tyhost dev enter 50 11 ty12 13 128 Cdori Cdori 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35104: tyhost dev enter 50 12 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          35105: unix enter 51 unixV1 1024 arjuna 64 arjuna yes no no no none y
        !          35106: unix enter 52 unixV1 256 dori 96 dori yes no no no none y
        !          35107: term dev enter 53 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35108: term dev enter 53 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35109: tyhost dev enter 53 3 ty12 13 128 jlhear jlhear 9600 9600 none y y n none none 0 y n n y
        !          35110: term dev enter 53 4 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35111: term dev enter 53 5 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35112: term dev enter 53 6 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35113: term dev enter 53 7 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35114: term dev enter 53 8 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35115: term dev enter 53 9 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35116: term dev enter 53 10 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35117: term dev enter 53 11 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35118: term dev enter 53 12 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          35119: term dev enter 54 1 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          35120: term dev enter 54 2 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          35121: term dev enter 54 3 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          35122: term dev enter 54 4 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          35123: term dev enter 54 5 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          35124: term dev enter 54 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35125: term dev enter 54 7 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          35126: term dev enter 54 8 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          35127: term dev enter 54 9 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          35128: term dev enter 54 10 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          35129: term dev enter 54 11 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          35130: term dev enter 54 12 ty12 13 128 none tty terminal auto none y y n none 2brk cmd y
        !          35131: term dev enter 55 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35132: term dev enter 55 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35133: term dev enter 55 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35134: term dev enter 55 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35135: term dev enter 55 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35136: term dev enter 55 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35137: term dev enter 55 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35138: term dev enter 55 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35139: term dev enter 55 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35140: term dev enter 55 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35141: term dev enter 55 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35142: term dev enter 55 12 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35143: term dev enter 56 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35144: term dev enter 56 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35145: term dev enter 56 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35146: term dev enter 56 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35147: term dev enter 56 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35148: term dev enter 56 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35149: term dev enter 56 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35150: term dev enter 56 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35151: term dev enter 56 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35152: term dev enter 56 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          35153: tyhost dev enter 56 11 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
        !          35154: tyhost dev enter 56 12 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
        !          35155: unix enter 57 unixV1 256 jones 96 jones yes no no no none y
        !          35156: unix enter 58 unixV1 256 bofer 96 bofer yes no no no none y
        !          35157: unix enter 59 unixV1 256 jones 96 jones yes no no no none y
        !          35158: unix enter 60 unixV1 256 mharit 64 mharit yes no no no none y
        !          35159: unix enter 61 unixV1 1024 lingua 64 lingua yes no no no none y
        !          35160: term dev enter 62 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35161: term dev enter 62 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35162: term dev enter 62 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35163: term dev enter 62 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35164: term dev enter 62 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35165: term dev enter 62 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35166: term dev enter 62 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk cmd y
        !          35167: term dev enter 62 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35168: term dev enter 62 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          35169: tyhost dev enter 62 10 ty12 13 128 IPtiger IPtiger 9600 9600 none n n n none none 0 n y n y
        !          35170: tyhost dev enter 62 12 ty12 13 128 IPbashful IPbashful 9600 9600 none n n n none none 0 y y n y
        !          35171: :!C��&�&&�b�&�R(��O(��O(wtmother/n/westphal/usr/wtm/misc/rawslog/s.inxv/v14725/7983064950 38363
        !          35172: 950    38346
        !          35173: 950    38337
        !          35174: 951    38323
        !          35175: 951    38319
        !          35176: 951    38314
        !          35177: 953    38309
        !          35178: 953    38293
        !          35179: 955    38285
        !          35180: 955    38276
        !          35181: 955    38266
        !          35182: 955    38258
        !          35183: 956    38248
        !          35184: 956    38240
        !          35185: 956    38231
        !          35186: 956    38226
        !          35187: 958    38217
        !          35188: 960    38207
        !          35189: 960    38204
        !          35190: 961    38207
        !          35191: 961    38209
        !          35192: 963    38203
        !          35193: 963    38204
        !          35194: 965    38200
        !          35195: 966    38197
        !          35196: 968    38223
        !          35197: 968    38222
        !          35198: 968    38222
        !          35199: 970    38224
        !          35200: 970    38226
        !          35201: 970    38227
        !          35202: 971    38233
        !          35203: 971    38233
        !          35204: 973    38231
        !          35205: 973    38234
        !          35206: 973    38234
        !          35207: 975    38232
        !          35208: 975    38234
        !          35209: 975    38235
        !          35210: 976    38235
        !          35211: 976    38238
        !          35212: 978    38240
        !          35213: 978    38242
        !          35214: 978    38244
        !          35215: 980    38242
        !          35216: 980    38244
        !          35217: 980    38244
        !          35218: 981    38250
        !          35219: 981    38247
        !          35220: 983    38250
        !          35221: 983    38247
        !          35222: 983    38248
        !          35223: 983    38250
        !          35224: 985    38249
        !          35225: 985    38252
        !          35226: 986    38251
        !          35227: 986    38253
        !          35228: 986    38251
        !          35229: 988    38255
        !          35230: 988    38253
        !          35231: 990    38252
        !          35232: 990    38252
        !          35233: 990    38247
        !          35234: 991    38248
        !          35235: 991    38248
        !          35236: 991    38247
        !          35237: 993    38243
        !          35238: 993    38242
        !          35239: 993    38243
        !          35240: 995    38240
        !          35241: 995    38238
        !          35242: 996    38236
        !          35243: 996    38234
        !          35244: 996    38236
        !          35245: 996    38235
        !          35246: 998    38231
        !          35247: 998    38231
        !          35248: 998    38232
        !          35249: 998    38233
        !          35250: 1000   38231
        !          35251: 1000   38229
        !          35252: 1001   38226
        !          35253: 1003   38226
        !          35254: 1003   38222
        !          35255: 1003   38222
        !          35256: 1005   38224
        !          35257: 1006   38223
        !          35258: 1006   38221
        !          35259: 1008   38222
        !          35260: 1010   38221
        !          35261: 1010   38222
        !          35262: 1013   38214
        !          35263: 1013   38211
        !          35264: 1013   38210
        !          35265: 1015   38205
        !          35266: 1015   38203
        !          35267: 1015   38201
        !          35268: 1016   38197
        !          35269: 1016   38197
        !          35270: 1016   38195
        !          35271: 1018   38197
        !          35272: 1020   38199
        !          35273: 1020   38195
        !          35274: 1020   38189
        !          35275: 1021   38186
        !          35276: 1021   38184
        !          35277: 1021   38185
        !          35278: 1023   38187
        !          35279: 1023   38189
        !          35280: 1025   38188
        !          35281: 1025   38183
        !          35282: 1025   38183
        !          35283: 1026   38186
        !          35284: 1026   38187
        !          35285: 1026   38188
        !          35286: 1026   38189
        !          35287: 1028   38188
        !          35288: 1028   38185
        !          35289: 1030   38191
        !          35290: 1030   38190
        !          35291: 1030   38191
        !          35292: 1031   38190
        !          35293: 1031   38187
        !          35294: 1035   38182
        !          35295: 1035   38181
        !          35296: 1035   38182
        !          35297: 1035   38181
        !          35298: 1036   38182
        !          35299: 1036   38185
        !          35300: 1038   38185
        !          35301: 1038   38185
        !          35302: 1038   38185
        !          35303: 1038   38184
        !          35304: 1040   38183
        !          35305: 1040   38178
        !          35306: 1040   38178
        !          35307: 1041   38174
        !          35308: 1041   38173
        !          35309: 1041   38173
        !          35310: 1043   38170
        !          35311: 1043   38171
        !          35312: 1043   38170
        !          35313: 1043   38168
        !          35314: 1045   38167
        !          35315: 1045   38165
        !          35316: 1045   38167
        !          35317: 1045   38172
        !          35318: 1046   38185
        !          35319: 1046   38194
        !          35320: 1046   38195
        !          35321: 1048   38195
        !          35322: 1048   38195
        !          35323: 1048   38195
        !          35324: 1048   38197
        !          35325: 1050   38197
        !          35326: 1050   38198
        !          35327: 1050   38196
        !          35328: 1050   38198
        !          35329: 1051   38199
        !          35330: 1051   38197
        !          35331: 1053   38196
        !          35332: 1053   38196
        !          35333: 1053   38195
        !          35334: 1055   38190
        !          35335: 1055   38193
        !          35336: 1055   38192
        !          35337: 1056   38191
        !          35338: 1056   38189
        !          35339: 1056   38187
        !          35340: 1056   38183
        !          35341: 1058   38182
        !          35342: 1060   38180
        !          35343: 1060   38179
        !          35344: 1060   38179
        !          35345: 1061   38178
        !          35346: 1061   38180
        !          35347: 1061   38182
        !          35348: 1061   38178
        !          35349: 1063   38178
        !          35350: 1063   38175
        !          35351: 1063   38174
        !          35352: 1065   38168
        !          35353: 1065   38168
        !          35354: 1065   38167
        !          35355: 1065   38168
        !          35356: 1066   38166
        !          35357: 1066   38161
        !          35358: 1068   38158
        !          35359: 1068   38158
        !          35360: 1070   38158
        !          35361: 1070   38158
        !          35362: 1070   38160
        !          35363: 1070   38158
        !          35364: 1071   38156
        !          35365: 1071   38156
        !          35366: 1071   38156
        !          35367: 1073   38155
        !          35368: 1073   38155
        !          35369: 1073   38153
        !          35370: 1075   38154
        !          35371: 1075   38154
        !          35372: 1075   38155
        !          35373: 1075   38152
        !          35374: 1076   38154
        !          35375: 1076   38152
        !          35376: 1076   38155
        !          35377: 1076   38153
        !          35378: 1078   38157
        !          35379: 1078   38160
        !          35380: 1078   38160
        !          35381: 1078   38156
        !          35382: 1080   38154
        !          35383: 1080   38150
        !          35384: 1080   38147
        !          35385: 1080   38147
        !          35386: 1081   38142
        !          35387: 1081   38142
        !          35388: 1081   38140
        !          35389: 1083   38137
        !          35390: 1083   38139
        !          35391: 1083   38140
        !          35392: 1083   38139
        !          35393: 1085   38140
        !          35394: 1085   38138
        !          35395: 1085   38137
        !          35396: 1085   38135
        !          35397: 1086   38135
        !          35398: 1086   38134
        !          35399: 1086   38131
        !          35400: 1088   38130
        !          35401: 1088   38133
        !          35402: 1090   38133
        !          35403: 1090   38134
        !          35404: 1090   38125
        !          35405: 1091   38122
        !          35406: 1091   38122
        !          35407: 1093   38123
        !          35408: 1093   38120
        !          35409: 1093   38121
        !          35410: 1093   38117
        !          35411: 1095   38115
        !          35412: 1095   38114
        !          35413: 1095   38112
        !          35414: 1095   38114
        !          35415: 1096   38112
        !          35416: 1096   38109
        !          35417: 1096   38105
        !          35418: 1096   38105
        !          35419: 1098   38104
        !          35420: 1098   38098
        !          35421: 1100   38067
        !          35422: 1100   38061
        !          35423: 1100   38057
        !          35424: 1101   38058
        !          35425: 1101   38056
        !          35426: 1101   38054
        !          35427: 1101   38056
        !          35428: 1103   38053
        !          35429: 1103   38049
        !          35430: 1103   38051
        !          35431: 1103   38048
        !          35432: 1105   38043
        !          35433: 1105   38039
        !          35434: 1106   38039
        !          35435: 1108   38030
        !          35436: 1108   38031
        !          35437: 1108   38030
        !          35438: 1108   38028
        !          35439: 1110   38024
        !          35440: 1110   38020
        !          35441: 1110   38015
        !          35442: 1110   38008
        !          35443: 1111   37998
        !          35444: 1111   37998
        !          35445: 1111   37996
        !          35446: 1113   37995
        !          35447: 1113   37994
        !          35448: 1113   37993
        !          35449: 1113   37992
        !          35450: 1115   37991
        !          35451: 1115   37992
        !          35452: 1116   37990
        !          35453: 1116   37991
        !          35454: 1118   37992
        !          35455: 1118   37993
        !          35456: 1118   37997
        !          35457: 1118   37999
        !          35458: 1120   38000
        !          35459: 1120   37998
        !          35460: 1120   37995
        !          35461: 1120   37994
        !          35462: 1121   38000
        !          35463: 1125   38005
        !          35464: 1126   38005
        !          35465: 1126   38009
        !          35466: 1126   38009
        !          35467: 1126   38008
        !          35468: 1128   38007
        !          35469: 1128   38003
        !          35470: 1128   38003
        !          35471: 1130   38002
        !          35472: 1130   38005
        !          35473: 1130   38007
        !          35474: 1131   38007
        !          35475: 1131   38009
        !          35476: 1131   38007
        !          35477: 1133   38006
        !          35478: 1133   38001
        !          35479: 1133   38006
        !          35480: 1135   38005
        !          35481: 1135   38000
        !          35482: 1135   37998
        !          35483: 1136   37984
        !          35484: 1136   37983
        !          35485: 1138   37946
        !          35486: 1140   37941
        !          35487: 1140   37937
        !          35488: 1140   37938
        !          35489: 1141   37938
        !          35490: 1141   37934
        !          35491: 1141   37935
        !          35492: 1143   37937
        !          35493: 1143   37935
        !          35494: 1143   37934
        !          35495: 1143   37933
        !          35496: 1145   37932
        !          35497: 1145   37938
        !          35498: 1146   37936
        !          35499: 1146   37937
        !          35500: 1146   37934
        !          35501: 1148   37933
        !          35502: 1148   37935
        !          35503: 1148   37932
        !          35504: 1148   37932
        !          35505: 1150   37931
        !          35506: 1150   37933
        !          35507: 1150   37937
        !          35508: 1151   37934
        !          35509: 1151   37932
        !          35510: 1151   37931
        !          35511: 1151   37929
        !          35512: 1153   37928
        !          35513: 1153   37922
        !          35514: 1153   37923
        !          35515: 1153   37923
        !          35516: 1155   37921
        !          35517: 1155   37919
        !          35518: 1155   37914
        !          35519: 1156   37910
        !          35520: 1156   37912
        !          35521: 1158   37911
        !          35522: 1158   37906
        !          35523: 1160   37899
        !          35524: 1160   37891
        !          35525: 1160   37889
        !          35526: 1160   37882
        !          35527: 1161   37883
        !          35528: 1161   37881
        !          35529: 1161   37878
        !          35530: 1161   37876
        !          35531: 1163   37876
        !          35532: 1163   37879
        !          35533: 1163   37881
        !          35534: 1163   37882
        !          35535: 1165   37879
        !          35536: 1165   37882
        !          35537: 1165   37882
        !          35538: 1165   37881
        !          35539: 1166   37881
        !          35540: 1166   37891
        !          35541: 1166   37891
        !          35542: 1168   37889
        !          35543: 1168   37896
        !          35544: 1170   37894
        !          35545: 1170   37899
        !          35546: 1171   37893
        !          35547: 1171   37896
        !          35548: 1171   37900
        !          35549: 1173   37899
        !          35550: 1173   37902
        !          35551: 1175   37906
        !          35552: 1175   37907
        !          35553: 1176   37903
        !          35554: 1176   37902
        !          35555: 1176   37904
        !          35556: 1176   37904
        !          35557: 1178   37902
        !          35558: 1178   37901
        !          35559: 1178   37899
        !          35560: 1178   37901
        !          35561: 1180   37901
        !          35562: 1180   37900
        !          35563: 1180   37902
        !          35564: 1181   37905
        !          35565: 1181   37907
        !          35566: 1181   37907
        !          35567: 1183   37911
        !          35568: 1183   37915
        !          35569: 1183   37919
        !          35570: 1183   37920
        !          35571: 1185   37919
        !          35572: 1185   37918
        !          35573: 1185   37921
        !          35574: 1185   37918
        !          35575: 1186   37914
        !          35576: 1186   37914
        !          35577: 1186   37916
        !          35578: 1188   37918
        !          35579: 1188   37922
        !          35580: 1188   37921
        !          35581: 1188   37920
        !          35582: 1190   37921
        !          35583: 1190   37922
        !          35584: 1190   37921
        !          35585: 1191   37928
        !          35586: 1193   37931
        !          35587: 1193   37930
        !          35588: 1193   37934
        !          35589: 1195   37936
        !          35590: 1195   37937
        !          35591: 1195   37936
        !          35592: 1195   37940
        !          35593: 1196   37939
        !          35594: 1196   37938
        !          35595: 1196   37940
        !          35596: 1196   37941
        !          35597: 1198   37941
        !          35598: 1198   37939
        !          35599: 1198   37937
        !          35600: 1198   37935
        !          35601: 1200   37935
        !          35602: 1200   37936
        !          35603: 1200   37939
        !          35604: 1201   37938
        !          35605: 1201   37945
        !          35606: 1201   37946
        !          35607: 1203   37947
        !          35608: 1203   37948
        !          35609: 1203   37946
        !          35610: 1205   37942
        !          35611: 1206   37946
        !          35612: ��CK��&�&&Y#�!O(�R(�R(wtmother/n/westphal/usr/wtm/misc/squig/trin4.Jun.rv/v14725/79930660.9120
        !          35613: 0.9061
        !          35614: 0.9141
        !          35615: 0.9377
        !          35616: 1.0043
        !          35617: �Cc&��&:h&�&�~R(�}R(�~R(marcia#28428/n/atomic/tmp/si/bQg1.q.conv/v14725/876�
        !          35618: �
&�
        !          35619: �@�@A6�A6�A6��@&S�Cz�@{�@��u?I�N@o<
        !          35620: A��?;Ф@�Tt@���>�cQ@*�@A?~A��Aw�{@��z@�t"AE�@��A�}5A3�kA��VA�#@H�GAE�jA��Aȯ@��A4A@��@�7Z@d@*QZ@b7A�dAʐO@��KA��A
��?�ڇ@�,A#`A�VAbt@KI?��>AơnAb�qA%:A�onAzA��@�[A��A*,/A��E?g�@���@�S>p�@�A�&�?      �<Ah�?�5AAPdMA�VA��xAN�CA*1tAB[NAD5b@C�       A3��?��@X-�@�d_A��@b}A�8[AH��@�xAo(�AG&)AS5A��VAK�gAh�A���@�E@i�&@��SArc�A�f/A�#?A�w�@]w3@��AI�@��&A�?@�@R@��@�6>)�1A��@��A�#�@wmA\�@8�FAQ�A0�@�y^A�M�@ഃ@�aQA:)�A�\Ah>A�6A���?<�
?~��@B��?��A98BA�|A��A��A)m)Ay�A���@+@A���@WAy��@�??��@t�)?��@��&@��@.�A1��@���@1?dA��@.��>��9A�"AWX�@�bA��nA���@x��@�jAK�@�\�A��`AI�JA\�@6�;@h�0A�UA�A�"�=|v>3T�?��@�V�@�)A��?��}AXA�KgA�M�A���@tt)Aſ!A���@s�[@��RA]At^rAPBWA"ۿ@�UwA)��AmWA>�^AF�lA��WA�
�@C�?�@��2A��
        !          35621: Ax�A�@B�A�QAK�AJw�@���@f&OA�8�@"aAul@�K0Av$YA$(�@�&0A�o�A0hCA�_�@@FA�\A�8A  %0AS}�@�z�@���@sogAB�@/�WA�>�@�,A�@GA/ـ@y��?�6A��$A#DAJFA���@Ez�A�x�@cGcA��Ag�@I�IA��7AF�.AA�A��xAz�@��yA�&AX=#A��&@k��@1.A��2A���@�@�A��KAt�5A�L�AR�5A4�uA�F}>�š@��@ۗcA���A�A0S�@�e&A�Q�?��lAr!�@]9FAIqpA�\@D��?Y�A��@b�(@�=5A
�mA�@�@{�@�)A�3%Ay�6?(�bA���@j(A�
        !          35622: xA
�@.�Ax�-Ax��@An@��l@�AE�jA�4A3�~?���A^�A�Ч@ތ�A�leA\YOA��[A�TAl�N@�E6@��?c�@'��A�J�@{�@��@AO4�@�gWAa�@ЮA��D?��7@�)�?Y1@��YAv�A��A�PmA=�@��]A%�@+�>A     �cAz@�@_:@ h@���@fAT�@0�1A�Y�?��@���@�       AЌ|A@AApmA�fZA���?.\�A��A�Yq@�Ar�Q@��WAAE'�?Bv�>�
        !          35623: �?�%A��)Al@y�xAH+GAW��@_?%Ae}uA���@��`A�Ba@w�b?�8A@�W-A��@0�g@�SAK��?��>@{[A��@�j!>/�_A���A_yA�V>|�=A��bA�   A�\�@�5.Ak      �@8�G@��@��A���@ef�@W�"An|WA�j:A&��@b�AmlA}HA�xgA��=A5<YA��?^�(@[��?�.?��@�+�@��JA`}lA&�nA4��@j�G=6/AJ��?t5@�|9A?K(Aǩ�@�8A�6?���?�'�@�iA�@&vyA��?A
        !          35624: M�AZA�)A�)>@��@Z��@u^AYo~A�@��IA�S0@*&LAN�OAx?�@)hLA�ju@�Z�@G @��xAJ   �A,��@�>�@. A�j�@�:A,AsA��@� A$�A�t�@NJ�@‘VA�A"D&A�{A+��?ժ?7.�@"AAK>Ab��@��PA>
        !          35625: �@�|�@���>f��>�A�@��:?N��@08A:KA|��@&�?��YA�A�9�@��kA"hA��@�?@u½@D&�=̊;Aw>?W�?��@��fAn�>A�N\A_�>�ւA�s�@��A#|�@��A*wRA�nAg�MA�0IA��"A� JA�,@$h@��K@�-WAJ�F?Ҩ�@��YAsYA��A��@qFAtA�
A��~A[7�@\z�@��?H�&@_�@��KA�y�@���?���@o��@%�A��JAD`(@D�nA�fA��+@�(A�-6AӦ�@��@z�
        !          35626: A���@,}2A��    A��@��jAK@���@��mA'_A��C@��@�ڛ@��:AcIA�QA&�Aa2�@��A�|3A[ނ@S�;?�A�pqA�^@��,@_�A�i4A��y@OoA�b�A�#�@��y@J�<@5�A@o8>A�1%@�m
        !          35627: A}7AA�35A��A?(PA��>@C eAV�A��CA�ۮ?%�*Ay�A��\Ao��@\0�@��\A��mA�qAm�>��@j��?=#�@�!AT8A��KAO�L@&Z.A2Ar�A��yA�"@KOOA��@fu�?DK
        !          35628: A��r@S6�>'eA�&�A;�@��?�@�?.t@Ay�@Fđ@�;�@$m.@&��@7�e>�#A��
Al��>$/A�qIA]��@��?ځ�@���@�[�@E�_A�j�@�y�@��OA�P@O�        @�"A^׃AV��@o��?�z@޲�@��"@��A�pA&;lA��A˽!A�"�@}vrA!,�AZANj�A�eA�FA}agA�3�={�#@^oXA5A���@{�x@��A�vA$��A�qTA��t?�E;A:(#A��j@0��@5-JAkg]A��<AX�@�zA��>6CAR@�?��A��@`
        !          35629: 5@ك�@nSA:!jA�"(@?@)7sA�(ASvAݬGA�R�?oaQA���@�PA-�cA��FA�A�o�?U}�A��{A'<v@��?A8�%A&$�@�C_@+��@M�0A��
A%��@E�*Av�@=L8A-��?a�2A���@啿?9RJAIT�?�˃A8    �?�@��$@t�@�|aAW;PA@b�A/SR@�9zA��JA>�7AgJ#A�.
AV�}Ab��@��M@��bA���@�1A'�A7mAm�xAc�(@�Z@Y(@&�A�A@F�@�yJA�8
A:�?J�A`�AL  Ap)�?A�>`5Z@ہ'AG^9A��?@�sAZ�@|�VAǠ�@s�@oAP?���@��@�A�d�@�t�@��@���@�S�@�gA��A��9AK..A�`}A��-A��>O�QAL�?}�cA�/YAu�CAY:�@�@�~CA�A5=AT>�?A�g@�eA��1A@�g@!T�@v��?@BVA��@D�@��@8��@�aA`4h?$kA$�BA���@      �@�9�?b΁A�ʛ@�2lA��A��qA%�?�� ?��@�6A>�#�@�ˌ@��A:`lA���@��*>8��>�Cv@�r{Aq�3A��?�@A!�@KFCA�dLAy�@^�A���>��@z�MA��@�^@��CAc��@]\�@��eA�#0@�R'A��SA�t�@[�@d�VA��n?m�@�V�@y!U@B�'A���@�q�@�;A�t�A��IA�>�@��A�eA<�@P
o?,�A^�EA�3[A�ikA�;A��WA�r�@>��@꾙?jJ�@V�A�]pA���@�]?=��A��@�?���@�uA��A�JkA�/�@#��@Fݥ@��A��lA�
@��uA7A�v3A��AAB�A��+>��A�$�@A��@R-(A%�@��EA
�&A�ƶ@���@]��?z�k@ՁA��"Ax��@�A8�@�T�?v��@?)F@�z7@�؇@�7~A��&AiwzA���@�mA�o|AšuA�?A%z
        !          35630: A�
�@��#A���@]�#A��0AGȅA���@���@7�@ٸ�?�,IAUzq>���?�?@Iw�?+7!@�#A�8L@��?G��@�.SA���AS�8A/4{A��?L�*A��:@�A�[�@��@A�n@���?5cA��?1v??��A�2?A�/<?!̄A�A?�A}m�?�A���?�-�@� �AsfmA���@8R�?��p@)ׁA�@Se{@�K�@��@)�D@���@_��@��|@
AA��@�FHAI\
AR��@���@g42A{��@V�\AK"2A<EFAy��@�&�@�kA�DA�RmAyAً�@�c�A�!�@��AwB�@I�2A���@���@ի'Ac�A�-`@�AQ�A�+As��@��@|�F?
        !          35631: hKA�V�@��>=�@�
A-��@�H�@L   �@�LO?�>�@��1AAp
A}�A�gA_�@X��@"�@�uA>=>A))>�Ҭ@=��@���A���@�&�@4�AA7A+A���@��<AӅ_@� .Ajg�@h�pA�"^>��HAD�C?mswAdA��@Z�A��]AN��@"T�@�chA��A��PAH�A^�@�F*@�=A �@�=A�J�A�|@%@9'9A�/rA��zA�3yA9p@��|A(�WA�y�?X�@ A Aw�UA���@)`?�t>��qA��&A�~�@��A��@ٚ�@A��#AՇiA�?�ieA�2A���@S��A��@r�lASɀA�&\A�sA��.A���@�S�?�UA|�@&�\AȜ�?]9Aciu@B�A��:?0*�@��A��)AKHuAeA3�kA��@��QAH     dA�SA�P�@t�@`��@�a@R�~A���@_a@~{@���A[�;A�uiAW�?[WAI.A��>���?�8�@�"A�J�@mcAzj�@k�zA�*AY��?�TAa�>@��A�g*A���@��@T3A̮�@�ŭ@��%A�:E@�gBAHu1A�9@v;�A�_A��?&��@)��@0\*Atn�?�mA���@��@ї�@�� A�y�AJ��@��TAS�@��@��SA���?�5(A@Y�?���@�5HA��@���@�)qA��zA��}A��sA���?�o@y�A�3�A>Y�@���>c�?�Ҷ@���@�pCA�?HA�WA��pA��>'�=A&��@!��Aj��@V�A?MDA��i@��>@��@�[�Ajm$A7A���A�7A�� A��A�j
        !          35632: AHA|�'A�E�A]
ARfG@���@Ժ�?R��@��rA��GA���@f�AA�PA�CA�.A��@Y>A��@��uA9��@��AC{;A۪�@̲3A�_�@�9$@ۃA�JA�h@m@C)A)O�@��$A
        !          35633: �|A��NA�h�=�A��?@~n@�zQA��A��EAtCAX�@��@��?��@@��A�FA�|@��_@|W.A�J�@��wA��!A���@�.�@P�yA�@���@�2"@`zP@U�pA���?[PA��?[�A׀TA��2A��@�r@�pAsA�
�@�88@
T/@�+bA
A�@g�A��?Am}TA6@�1�@�]�@K?~A��.AC[A�K�AȖMAP�A�)>>��@���?���@cl�@�mA��.A3:A&A�
�A�XAuA�eA�f�@�IA|xAy��>,�oAP��=�5[AƁjA'AA�yA��@8;{A^�n?1��@��A�62A���>K�@��AA{.FAi�(A���?��!@l�?|A��A��?B�:A�KA�\Ahн@[A�U�@0�lA��J@�#A\��@$d_A�]P@�w?J�      A���@GŒ@$
        !          35634: aAyaA4�XAN�@�
;@N�@l�lA�A]��@��@rs,A#LaAn��@�(�@Y?�|A�JxA��A7:j@K�|Ax�?�b@�[�A.�R@��WA'�@��+A>�$A�@�DtA�n!A��A�EiA�� A$�&A�DUAO{�@c&A�Y@�v�@���@`i�@�z�?��]A��vA�jA�A�Z�A8�&A�k�@$�A��?��t@?P�?��3A*��@��TAŵBArI�A��2@�A��5A���?�`�@Qw       @jgAu,�?5��@�#1A8]jA�WA�AMAt\vAi��@4IVA�Ao}A��%@'��@aSeA<�A�&A�4A'�-A�tkA(�Y?<r)A��@�@A�A�@[��@!ζ@=WAmg"@�A��IAs�1A3�f?p`A1ǀA�NA�J?AB:@�g
@,y&AiA��A
        !          35635: �@�YgAK�CA+�@�!�@��7Ags�AM�?A�6S@�B@�]SA�\�@��N@�   M@S�kA[
Az��@��A��
A���@i��@��,@�{�@�8v@�|A�XA�z@#�,A]LA�lfA�s.A�cFAķ3AP��AWAE�        A@�A::�@�M@   7�@7��@w��?�ê<�4AwyRA)nA��
        !          35636: A��UAj�@u�@���?��BA�@�3�@?�DA�xAO$Ao�EA�v@��@rj?�Qf?Q�@;6>�xmA�qVA��@�x�@hvyA��\A_GA���@N�8AЄV@���@_�4A��A-$F@�vAx[A$�@��<@4rI@���@�v�@ЦA�}ATw�@�AwnA�7�@�oAt�@}*$A�}A�
        !          35637: A��]A��hA�4h?�8A|�%A�5wAxgxAaEPAy�A(`iA��?��?p{A78GAv:@s��Aa,�@�<TAQF,@�"hA���?��ZA&K�@�_NA��T?!v�@�|�=�Cr@,tA�X�@�O3A�pA���@�� A�e@�+"@�`A��?Zlf@X�bAnY'@2)eA 
A�/@�,]Ae�=>v��@�xwAr>�@�'�@�+}A_��@~s�@#a�A�k`>p~AA��@�q�@�fAa��@�;A%�5@���?:�[Ax6@�(A�lAů�@ic�@�tbA�C�A�?�@DJXA�!A�LA�^A��3A���@?4�?"�_A�$�@��@�9�@l�-A��>��X@�ɳ@��@@@LA���@�bA"A[�Aa�>/p>Aou�@~�2?�~6A��@ϻ'@��ApA��nAUŅA��2A��VA �QA�B'??i�@� �@�
@�$A�nWA508AO��@-�@]"A�
~A�;�@��?��@��[A@"CA+*!A6z�@�LoA^iA4@e�AHsA�wA�N[@S�1ALf3A��@�,AʛA_u}A���=�dA�~A:B@��A�K�@j�AK_�@pVCA�4-Ao+�@D�B@a�A*��?��zAbY4A��@��1A��a>g?�@F�@)zFA0AT�sASO@� A.�{AacB@o׀A��gA޷A�Qy>�F:A�v\@x4�@��y@�W@8�A!�A�l>V�A���@U3@�gA�Q5A�C�@�F�@m�@�/�@���<L�&A�m�@�/Ap�EA�?���A&I�@�{A�1A��&A�H�?�h�?��wA��@�'�@�_A]��@�n4A�2*A^�@�@Aޯ�@JARD�@��@&�?7�?�x?�YA�62An#OA‘v@R`�@�LA�xAi�WAF�?נ�?�sA�#�?'�!A�@䨅A�4�@�(�@��"A��FA|p�?�DAe�e@
        !          35638: �A&IA�8A�KA���@�hHA7�>�mA{��@Na�@]�A��?G�NA���@�7�@���>�<;A8A�<"A��@t��?m�A�B�@�Z:A˗�@�
AA?��w@�?A��@AV��@�bAi�x@.
dA
        !          35639: �BAh�-A��Aj01AB�\Ao��@�܇@H�yAq�@�}@Y�IA�dA�2Aض�A<ld@��@Ѽ^@�qBA�IYA7��@�&A��DA�UA&��@-��@��j@��\A4�8AnA�4A��@Y`oA�8�=�(�A�VVA$�/@�4A:�A�T3A;&Au�@��
        !          35640: AZ��?D�9A�@u�CA�Ae?h
@��d@]A)�A5*�A�$AC
�?��@�6dA%$/>�)`A�=@p�Aã>@�?���?C�AR�@���@��~A���@��iA�6�@[�5A9"@�b>��A[�]AY7�@2�@�*A��xAOt.A&tA�zVA&h.A.pAD�r@: �@�:A,vA��=A��p@Y�~Af�[<h�_Ah�@�UD@@A{A�*}@ꟁ?KA�mkAPj6A�"Aǭ�A��^A>�@g
        !          35641: pA�6A{�>A
^�@NhA /GAvGh@DM|AS�`A��@�H6AT�n@(��@���@�E�@e�?A7i�?���@�i�@���@��iA(�uA��oA���@��@�    n@�@?��cA��L=��@̯�@�ރA�tA�u�A_gwAЕfAE�HA}J\@.p8A�FA���AO��@Ő�A?I[A�>�@�O?��f@NN�A�bA��@QX`Ar�pA��OApg A?�>@M_*A_:?U�@�LAF��@�G@1�>A���@½A��1A;�@A��>A��@vo=A��)A�JA�Һ@�� @��@)�#A5$�@$Ai@�?��FA\�fA&��A<Ԟ@��aA"�cA�B<Ao2I@qc@�V=@䎫@��
        !          35642: Ar�EA��@�A�� A��?mAs=V@�PfA��=>��@U[?�@A�$@�
        !          35643: �@��A�QA@#KA�&vA�sAO@��A+��@�q�A���@,�RAHw�;�X�@�5�>�&A0�)Adn2?��A�xA�l�@ت�@ScAд@�
A��EAa]zA�!@EA3FXAݢyA�K+A��A�pA<�Aw��?j'A�R�@�=�@"��@�AU�?AϓA��@��KA��@��YAذv@�7A㩄@2�?�+A�@}    -A�F9A�1�@�!AVF�@^zcA2�Aٔ�>&y%@�K�@���@솆A�sA@�u@U3�?��p>*O�@C�+A-c�@;�
A� @�'A��@�l=A�}A��A�- ?��CAoJAP     �?n�^A.>m�AZ��@�>v�A��A�eAA���A�1�@�A4�5A@WIA��@���@�ZA�A���@k�YA�:"@�r�@wB�@�9PA� ?��/A�A�ZF@sˁAo��@
��@��eAGoA��2A�6�@�q@��Ad�sA'�-A�� Aʸ�@���@�$Ab�?V��A�2�@�/KAJq�@��?�OgA+�@�@wP�AN�A�`AAg��@+��?�*�@��+@RJ�AW�u@?�
@�F
@6�b?�+LA�>.A��e@��Ai�QA��^Aޡ~A�xA/5�@���@��:A�C0@ǘ>�&�@���@b��@�=@�G>AnA'|�>y՞@�b]A,��?�_=A�I4A*XA,1�@��fA�E`Af��?9ԂA�VA
7�A9�A&��?f1�@�>�@ �!A�k,A�&A+H.?�A�5hA��wA6UA�B�@��>e�&A���@��eA�PA��@��9A��#A�p]A���Aq�GA�V@��?N�K@UZ?K��?D`KA�&@��A��:A7�,AO��?>��@~|Ar�!A�@���@A_A@�"@%7nA�JAj�=��?T6AN9?��A�>�?(�A|�5@z��A��?T%A��N=@?a+EA`�>T�A%X@d-{?ܖ�@?�TA��@s��@˧o@9EA��X@��~A��qA&�?\�WAk��@���@E�ABNAQpA[�BA��mA�zIAB�\@rQTA��?�9A���@ A�ap?�[XA�A`A��@�9A;�@��?�A��5Aa,A'�CA�{)A!��?:�Aa=@"x�?�|AsnAߎ�@��CA�MA��[@�4A��?Y�>�@[�AbU�@��@^�'AP_�@8A/ �A�'�@�xA���@���@_��@�Ѷ@���@�
�@h�@_��A�ЀA��HA�fA��VA+nA��CA]�^A��`@̤�@d�A�%@A�%E@��mA�M3@i�@A`5�@�X=@%/�@$��>DxYA�"�@*Abj�@�%*@:�Y@XXAD\A�@(�L@�y)@��MACb�@;y@F��A.9�@P�NA���@��AA}�@[�Q@Q��@�$�@���@VLA��iAd�@A�D�?c�pA^�AtiTA9��@�5rA.>$@{:/A��A>�@DSA���?LpA�c@�jA'�UA�YqAU0�@�y\A�-@�A;ҁA�r@?��@��\A`QmA%�A<�o@,8@��@]5[A^ܖ@V�?�,�?G�YA˨RA���@1��@y�@���<�܆@<4�@��A��DA̶PA�a�@�t?��XAo�^A���@���A��?�XkAs,AΡ�@��?�1u@��x?6z�@�@�bA~J&A�nA�d�?��m@ز�?�$Y@,�>ږ�?�@���@�@�~#A`ji@�o�A���@>�yA��$A>�@K��@*�@�2A��k>C�TA��@�CA!�@3�RA�D�@i�K@K;3A�;EA�&aA�)AT+A��"A�hyAn�D@^��@��A{��@
M�@xS@Ԝ�A%z�?���@�HA��L@K�AA3V@Z�?kg�?�P}A�O�@���A+�A8�A5�S@�Q�@h�(@�?BAyhA�A'%uAe)@0��@"��=�%A��?NApA!K+A'i]A��A+�@�p@Z>_A@
=A��_A�;�?1��@��BAQӀAB�A$��@#�$A�EAL5|AKjSA�0�@��eA�>qAY�?&@aA��@�02Ar��>]G�@��'AcE@�oAc2�@<=fA7��@�xhA��b@�|(AIj
        !          35644: A3yA-��?qL�@X�Y@�Y@i?^�+A��=Aa�BA#�@V2�@�N.?��GA�TA��RA�h�>�:A0%?�k@��1A+��A��Av��@T�RA�>t�T@gr=A��*A!��@���@�7�@u��@��?��oAks�>�ǎ@�N�@�0A�@���@m��?z��@���AB��@T�Ag��@⵼@��zA�A�@9:A=qxA
        !          35645: 5A�A���@��-A��?b��?_ZVA8Wx?nt@��aA.�AQ��@�,6Af�KA���AA�tA��t@G�LA��$?�A�gAS�@~`9A�@ip[?<�fA��0?��A���@��u@�@��2A���@
qZA48A� 8A��B=�A�OMA�5A_xA�IO@��AGl�AӨ�?�sAtfA���@'��@ X)?���@��@决@��T?���@�#,Au��@��KA��&Aۄ`A�!�AV��@XA�
        !          35646: �@�Q�@{��@H�kA�aA�m�@A�X�@�c�@=�6A=_6@<i9@3�@kIVA�'A5�@�DApR%@�yA2DRAǁ2Ao_i@
        !          35647: �iAtXyA�M}@)Sd?�[A�4=A�$ABq�>��@�8A�`A8�Ae�LAv�  A��!A�AX'@�@       �'A"u@�O�@��rA�O�?-�Aa{ABcA�IWA     1aA��   A UAF�tAS�?|x@w�NA��?     Ak�$Ad:5A��A��VAR�GA�?�F3AQA��@[�.Akk6A�ZA���@�A�i�@<��@N�@�x@�y@�KA?{@[�-@ަ�@��?K��?K��?���A�NEAǁ6?��s@a�@xj�ADo�@h�@]E�@�y�?N�@��@��n@eb�@}?�A9@��AR?ȩA��e@��NA#C�?���@Bz�?<)�@;�A�pA��@��@��P>7z�@Ag�pA�GAD7�?a_�A�3MAV�@�=�?��@�&@�Y�@<|�A�g�@�/9A��A�iA��@-+rA�!\@��@$8A$�@��rA
�A(�@��A?�\A7=aA괩@�%@8A�A�uCA�K?��@#�A)�^A�)Â,A1�A1A�>^}<A�     A$AMsC@U��@���@F�?^i�A&��@��FA�(A,�A�@AՒQ@F�vAU#Ayt�A��{A
        !          35648: �[A��sA�G@ScAR�>AG5A��8A��@�SA�=A�{}?<�A��9A��A4@A�o!Ab5@yVA�h�@niA xA��A�?C
        !          35649: ]@��,A�ABEA�5A�r<A�_'@_�EA��Aߓ_@�BA���@,u?A��A�@So<J�8AS}rA 
        !          35650: @A�
�@G<FA�A�A��RA�m�>��@�?A�@�A?0NA�]A���@�eXA��+A�lA�oL=W :@��A���@u=LA{��@�QA6�-@��BA�/A
�*A�j�@�WR?��lAheA
        !          35651: �@�m A�!A%;PA��$A    @XA@6M?So0A�h�@b�A��AH�uA�@U�\@�oqA�LAS�<@b��@�C�@��5Ab��?�#aAX�6?l��@��@��3@�9Ad�;A�MZ?�ArAE��?�g?�RA �OA ��@��?|�D@��l@�.,AN�@_Am�;AÕ�@��#A?K�@�KA�qA��fAI�;A�@�?9A���@�        A��vA0��@�"@J�XA��zA�.z?��/@N�jA��&AV�?�U�@��4A��$?Y&�@f�3@i�@���?��A�uk>x2AK7H?�R�A_UA��?i}n@b��@���@�@btAޭ_AE�?S?��6?F�u@��A��@8C&A�K(A�srA�,.A��4?��{A'�8@j��@��#A}/SAa^�@��@=g�@��A�b�?ݑ�=Z�Al��@��?A]�?��:@��A�O�@��p??�@z�"@Q�wA٭@��j@���A�'5A��$Ap�aAAÕ@V�,A��AD�xAZ��?�z:Ab9`A2�RARCaA
)A�o�?�^A<9Aբ@X�?���@�@&A��An|AXD�?f��@
y�@��@ �@�X->���@տA�؂@PaAY��@�e�?��`Aj�Aq?�@�rA~�*@�?
        !          35652: ZG?���@M�@�tA
        !          35653: 8J>alfA��      A���@�&?��A�%L@��A��=@�=.A*�2A�
        !          35654: �AEn�@��A��HAjM�?�
        !          35655: +@�f�A�=\@��@֬�@!Y:A�yAwj�A��@{�@w��@7�A�A��Ah��>��~A��\Am˅@�=8A�گ?�ނA�ߋ?\>�@���@�1eA�A��7AsOAx�A�#"Ao�GA��@L�yA�Z6@j��@e�CA�<�?|[�@�NA(C$A=�A]hH@�;%@�@A�\AGwyA��@2\�A�B�@5'o@�yA���@��b@mg@Eã?o@�@<�@���@��zA4J@�f/A8�f@�Y�@��lAk�>�ThA�8AQ��@�RA�qA_� A�NA;AyKpA;��@��]@���@���?���@�;AQm~AbЅ@��A���?�kmA��eA��A<�?�*A��A{�bAy�y@N%�A�k&AM&@�gxAg��A+��@2�AZ|�@")A�J�A\[,A#�Z@n�1@gFA�0�@��@H�@V
        !          35656: &A0��@/� AA2�?`AO�?�QA;,A>AM��@�OAP�>A��A~��A�6A��@�}]A�A��(AC�^AykA��@V�*A�&A��@�@�*A��QA־OA��A��gA��JA���@
        !          35657: �$A��jAh݅AT�mA\
        !          35658: HAȁjA�d{A��AG��@��@�@�QA���@�-+Au2zAR�@�#�A�!{@�&�@f@%@%~7ATkcA��{A�j@��@R��;x{�@�6@q~;AQLGA(�@~6�>���>�pA(mA�
@A��
        !          35659: A��ABʾ?��@vAYO�AXԼ@f�*AxQ�A8��@1u�>0��@#.AdA��@fAN=uAaf�@<�L=���@]�`A���@��@�z@�@@��tA��B@�oZA��vA�uMADq7A�A+�=AR�;A�\S@b��@�        A��A,E�@i/@A3v�@�B@d%2A�=iAVpF@)zA���>!�DA@$A�}@q�<A$S�@̰%@d�@A60
AYK�?ߝNAv&>A:�
        !          35660: A�=cA���@l3�@ǷO@!��>�^�@��UAݕA�@�~FA0�@�<Ap�LA���?F��@űTAv/@�?�A�>r?��@�@op"A%A�)A�ɡ?�5
        !          35661: A�GqA�t@��=��@8h=M�$A�p�@��?�lAn0)A�XhA
�PA�RAj�;@p��@FQ�@v    A��"@���@���@A�i�=�
Q@��@�>&Ao�=@�1%@V#�@>�A䶯@Tw�A:��@�Y@���?��@Eb@�AA*�sA��{A=�A��@j$`A���@�)A7
        !          35662: �?^Ԭ@�hbAf�?�@2N>�j�@X%A6�@[@|A�a>�Y�@��>o�)A*Q�?��`AN�!A�UK@�M�@��&Aj�A4��@V��@4�mAU.A�(�@��t@�VA+HsA��A�UA@�@pu)AI��@:��@�դ@��@\QAo&DA.I�@�-A�z�?NCaA{ A��BA1��@��tA5&�Aj�YAN_@��A��A��DAn{A�S�@-�~AR�P@�c6A!�r@��@�n&AU�Ax�
AY�-A�h�?���@i&�?���A��A���?�I�@�JZ@m�@*�!@N�@F�A"�aAD��@�(�A]�@�:A��?�RAv#@�z9A�n�?J��@���@�$U?��kA�6MAj�e>�'UA+�
        !          35663: A��~AH�4A�1�@H�;A�Z]@�Ý@·kA+�YA�(�?=eO?�oA�G|A6��>O,�@�Q�@oWA���@,J*Avř@�WA�=�A�~A\��@��A�[@�#A�nAz "A�{�A�cA�.A�T�@�ˋ@�0ABϺ@�A��+AB
cAi��@�Ҋ@�?A/�5@��@i�@�Tq@��~A'�9@���?܉�@=��?f:�@.!iA>�HA6��A��0A��@�0�A��%?��BA�#4@=eA���A갹@DjgA�?A��
A��@�g0A�'6?xǔ>�'A�ktA�(�@�v�@��@���A?�A�PSAͭ�@A�@�?A��Al~AxEH@�:�@���?��
        !          35664: A��%A���?=�G@�%Ar\@��@N:3A�1.AXZA�wHA�qA��A�uA�NAG�!>�J�@�A���@��ZA�GSAT�>�d@�n$A��_A*�@��xA0�$A�,,Ảp>�LA��QA&�H?���Accd@�!�@�AѴcA�+�?��@�UAɮ�At�@�qAL�UA��A��>@]�yA�&^A=�T@S�?%i�?�&X@cw(@*O�@uuAp��?^zA�G�@��x@��T?��@�w�@�'CA?r�A�A�p]@    @ƃ�@�y>>�\7@�ˁAUA{�5@G0A�(A��MA�?�@+�A�a�>�~bATjcA�-pA��AXm%A�B;?�3�@ޓ�A�I�@M�>i%@�[8Ae&5A���?���@>IA
        !          35665: TA><7AvvA�4@e�A���@�AA�@�:@�M�@U�#@[M�=���@���A�f@\~A:iA��6A§@J�IAL&A�?9AN�KA��@�AWtAӓ#A�\:A�S@$��@ˣt?.�?Z�
AԘ@$��?� 
@��P@bq&@��wAA@}@�mA��
A�K@R�;A{
&A�'�@N�SAG_�A|A�<>        �@��kA���@{�KA�L�@jé@ƿzA�9A�gA�!r@��\A�u�>)ZAcF�?��@��tA(ՀA�?�$AŰ?@ȌY@F�,A��JA��Aj��@���@=w�?��]A���?�rgAw$B?*K?$1_@SJ�A�i�A��A@S�?i@�U�@S�uAj
�>��A�V�?H
�@qȪ?1�7AJ�@d!\?�4P=���@0�PA&�A��1A��
A�CAB��@n��@�s�@T�AaA�AH=        AV��?rI?-A�@I��@K<Y@��iA�?kA�7A��h@TAv�.@��A�7?*}@/�?�vAf�J?�GA�A��@P(LA
        !          35666: ��?��@ݻ�@'�A�&A��@��tA&1Q@��#A�Z@�koA�U�@�ۉ@�K�=���?1'A� �@MvA�JA��A���?�5r?9F&Aݤ�@��@&yn?�f A�jA��A��@e�XA��@�~$A���@�i>�}�@`
        !          35667: @ku�@KA6�@A�Q|A��qA�\@�CAX�&A�oAW��@
        !          35668: �@'�@%4qA.�@pЃA��LA��?糖@��A�?@di"A��~A�O�?�#kA-�QAl7�@W�YA�.@]kQA@&rA��@�
�@���@���@ �bA�ZA�kAi@���A��-A偃AcW A�6gA�s�@��@?�
        !          35669: '@W�A&��@�Nj@��cA�.AAg� A^�@O�@�ZZ@�sATa�@j�@�LA�dvA�A`@���@�)U?�tlA���>��A"0�@>x�>,UuA�;@��$@q�
        !          35670: A4�@Y�@�tA&��@�"�A���?Mx?MI@U�vA�NA���@�N@u�AU�;Ah�4A��{A��@�8A��
        !          35671: A�:'A��@�ŃA��jAq#�@`�MA0.+Ar�As_�@P&R@��E@�5!@Ue>Ao$�@-�%A�ٳ@���@3؁A�
        !          35672: AW(o?���@�AcA92A��A�d�@��4A��8A<<A�{ A��\A,P.@f1iAno3A��??�@;NA���A���@\��@�^AV��@�aiA�XR@c�[email protected]�@k�@��f@)�
A��FA,hA%��@��@='.A��`A�zuAm��@'�ZA�'A<��@�u�>��JA��@��qA�=A^&&A:F,@�LA_
        !          35673: dA_cAƄkA���@��:A            A���>�B,A_�A�aA�+CA
        !          35674: C]Af�AA��LAl��@s�YA�!d?m�\@wϳ@5�`A�[A.X�@=�A.�AA��MA��A���@X��@b�@�&@���@ &pAږ@�9A�3A�o/A̫�AVu!Ax
�A(�lAb�rA5��@.c�@��{@�>rA�ރAc(c@[C�@ۊRA/��?��A�1�@�ǽ?�B\A�uVA� A0t�@b��@]�?�QA�΀A���?�*�@�@�Y#AЅ@ʋm@�-%A=�AS@��A�^Ah�qA�A<^fA3��@
7A�AAn
        !          35675: ~@��z@��@�s\Aӥ@:�@hD@8z�@���@�vm@�/A��@�jA�1�@VF�@u&�@�sAX�\A6<+A�GA4�A�O*A
        !          35676: �AZ75AlitA`'HA��?h�@hՅA�{AR{�AdaKA���A�YC?�@�@p��?�b�@<V�@dB6A2#nA�       J@[�MA+�`A��@
        !          35677: �@��zA��>s�!A��      AUa@Eɍ@"oA��;A|s@�G�@��[AR�;AH�@�@A�7(A�\A�Z{A+l+@��5Af�:AS�TA�D5@Z�4A�kyA�V�A�F)A �@���@�#/A��A��@���@.ZA6G@��FA���?��A>DAT&nA=�cA?�@�u@��dA�hA��G@�A�WAU�?�jA�vYA��kA���?��?(��@ɒ|Ar�@��
        !          35678: A�F@݃�@&<�@�|dAKmA)�1@��YA��@��mA��        A�r�@�g�@נA�hAt)�@MtTA�q@�aA��oA��zA�(@@���@L�&A�w�?97A~�@3z�>��9A|�{A���A�
�@C��?��tA^�KA��X?���A�lAs
        !          35679: m@�tAmWA�9GAjB�?�2�@�
        !          35680: bA�zA�1A���A�'A��A=!uAe�KA��?y�AD��?k��?�v�@�*�@4F�@�8AzA��EA=$A+xI@�OOAT+A��)A�?@l#[A.,�@Uڛ@pr�Ao?�>�OT@_;Aa�A-�LA6�:A,�qA�h`@9_A�@�X=AF��AE�@6(�@W��@��@탅A��SA�>�@n�5AxS$@��@[iA}XA�WAC�wA��kA+@⬦@&�?�m�@�   Ac�@��NA�'A�A���?zV�@�HA“t@�ݡ?�@LAwxAqDŽ@HAYkcA��MA   f�@�� @��@b�'A��A�^�A�F4A1VAij|A�A�{;A|/@��@���?�Z=AIu�A1�A��Ay�@_b�?��@�8�@��?ؖpA$٨@�T?A�DA�¡?j�9A��,AePeA�~A�D�?]��@�3TA�OQA&|�@�n�?��@�;�@��@@RCA�M+A DA�cgA*@�:?��A��6A�
@���@s�>���@�TAo�A0=AŒ>V�@ڏKAr��Aw� @�&�@��x@vsA���@9A}��@n��@w1       AIKA��TA
        !          35681: hIA��O@%�E@�S0A�v;@ޥ�AN0'A��@�,=�5�?[�&A�.iA�C�A��*A��@I8A��YA>�A�DtAJi�@=�
A,�A/CA�>AC�A?�@���@s��@Q�nA@�#A=Aq�?���@'PAY�?�nA�*pARAS��>7)AT�@wAoA�-�AF"r?R��@��Ae�AT�A��?�8�@��A��,AM]�@P�sA��@ڲ+@R�@�V$A[ۘ?    C�@�л? �?;�&A�+�@��?��A@B_A}o�@��@Y�@hGA]�?�PeA8tA��o?�hAۦ�@�+A9A=�VAQC=?<ҋ@A5�@ñ�@�A��;@J�[@�kAТ4AT�@3��?ٙ�@bXA%)?D��?�[@�8PA�+jA���A��@�o/A8�aA��z=}�@�zAl�@     gkA�pU@z^@�$>A��UA�cA��@��2A�+�@�Aw�!Ae�MA^"AA�OeAa`aAT�@�        B@�كA�ZmAU�NA-�|@��@p�.A6uwAY�@�=nAv�AA��>!~A�A)t?��
A��@E�A0$A]�>A+��?�a�@)��?\�?��[AI�TA��`A&�WA8�@u�eA�=�@o�IAD��@���?F8A��@�t�@a�fA�U+A5�k@9�lA�t)A��6@fZ�A30/?�A
dnA��QA�iV>'�8Ap&�@!0�@�3EAA,'A�^�?60A��lA0��@���@z�l?݆�@v�?�_@��PA�$�?4�=Aޢ-AA�l~A�w�AOب@s�@7.@�XsA1JAs�$A'B�@�"�@��GA<gA�
        !          35682: �?0�A��Ae�A��?A��XA�p�@@��^A���@$�bAL.BA8GCAB�@?3A#-@��,@QU<@��@�NA��jA�p2AF~FAi*�@�+�AS߄@��vA1�/A��RA?#A1:?�S�@� �<���?è�A�2&A�n�@�j�@��=3E\@FqA?�?�uAt=�@q_@$�@��@�GA`YAJ�k@��A$��@�g<AT@W8�@P9lA9س@߄>A�&A��)A?��@
G0A�2qAֱ�?媀AjA��t@��r@,A���@uj�@�&AU3!Aغ?�+oA�R�?�FzA�@��`A��{A�ԉ@�Q�A�`AB/A��AA��#A��A�bA_�@���@���@���@���@�51A̾@�(&@�ʚ@��iAEI�A��JA9�@�YzA5�AH(|A�8�@�@�wbA�A���@U:!@�DŽA_AL��@�q;AX�V?xM�?��n@���@�fA���?�0rAk+A̦�Aq�A��A[�0A�J<@�]@�SAx�PA�A~��?$cAB�A&!�@��?Wv#@���A��?AW6A~A��oA\uMA���?�AtA�U�?;xA"�@��@ �A�7k@��KA��QA��@L�&A�@��Y?��A��@C�Y>�bA;U~@S��?�1@��+A�tA�#x@��@� *A&gA��dA��SAqk�@u&A�uA0�wA$г?���@�Z�@G��@;vcA�u�@5��@�C�@��I@3$FA}ƁAVw>�A*�@лA\"/A�??:��A�pyAp�A�Aht_@�I?�YV@m�@r�y@�JA>&@2�FA�{�@G��@\wA���Aok@ۥ�?z�?0�p@���@/�~AD?��@^�~@��@��VA
        !          35683: 19AlJ_AXD1A�TuA��A��.@RazA%�9A��`A�'OA�AH�>@:ܰ>�*�@L��@^t)A�p#AT9A%�\A�B@���A]PA        p�@KAZ�@�    A&�iAf�AAOSdAp�@��@$�A      �v@�;KA>��>�9�@�mA?�{A�*Az�AM�@�cA|�UA�g�@�
cAxA�xw?�?J}>A�AA�^?�Y@^[email protected]�!�@ߧ;@�*&A�lP@���@��A��@�fA�
"A@�FA��A��&AɆ�A�8AdpLAA�BA�V@ج�A��A^�HAr�ZA�&?8�@��h@�>A�=BA�{�@��CAY�6@[EAJ��@��zA��@;��A�\A��NAj�@9�@�[A�l�<AB&?@�PAP�?��@�:@��I>CSM@C+�@,ZA�(|?���@�GcA��@��^A�@�KjA��@j��>���A;�Ap��?�gLAH�^@��AT��@O[@.-(Ak�@{N�@���@ڬ�?&��?��@�6�>20A\�+?T�A�0A�sA�}�>�
4A��?:~`A4��@iM[@��@+�vA�
�?IAUK�@�A�p@�^�@�$A�0�>z�@'A���@��qA?H�>C��>-G�@�b?���@I�AQ�A\w5A<+A�=�AOrAT��@��@���@�5_@�
tA�1A^�@��@�t4AW�sAD6dA��@D5A���@�A�b{@���@5*HA&�AĿADTcA�VA�ٔ@K    vA��}A��@y�dA�`A�R�@��@!�%A��@�_XA�O�@�,AJ�lA��3A+�bA�(qA���@<N�A�&@p��A׵�?ZrA_RlA��A��@��'AG�@��5A�=A�&@X/�?�}A��A��@?��@�H�@��#A�A��YA/b�@N��?,�"?��@F�mAlQ6?��.@��'A��y@��A�@߬�@�UA��p@�y@݄
        !          35684: A@�?�.=A=E\A��A�\�@eAf��@!XA���@7Y�@�isA  C�@�CARߍ@��:A%<�@��CAV�@��N@��YA�9A�feA��>��^A@\�?��~@2�mAxnA@y�M@��jA>D)Aٺ.A��VA&�6A�SU@�)A��An�ARiUAy��>�IAؠ�@�N�@��?A��Aᙽ@�:A�vcAA=5A�Q=AL�Ayj(A�
AR,dA AB%�@�r.AT{A��ZA��@��&A�=�@9�@�8�@
        !          35685: ��@?S�@[L1A!Y�@�f/AAm�?�wdA0ϲ?���@�;A��AB��?��T@�N+AFo@�GA�       &A��A��zA|�@Zħ@LCAk�|A��&Aa�A�~AԵoA��KAS��@82@aA�@jS�@�GA0�*AiRAY�{A�ɲ@�V7AR�QA��@;g�@|A�>+A���A���?=�mAATAxc�@�2OA�WrA�[;A�R�@TB�?��AL�A��DA  �MA��4A4F�Ae�BA���?��dAv�@�GA��       A�!.@0^i@��@���@)ˀA��[A��yA'fZA�MA]"�@��@�$
A��8A��8@k�hA���@���?�ZYA�t�A-@�8A��@�b~@�8�A��]A��7A]�A��zA��u@�&�@iD@��>=e7�@��@���@�@3�?A0Œ?��A�M!AN�@@ՌA�S�@ٚwA�|MA��)A�n)A���>�AX0A���?t��@��@E>�@���?h�@�T     A�&�@<ZA��@.u2A4�}A�7�@6�@��~A��@���>AbA�F8A�/&AQA^��>��@��@�}kAz��@��5A�E#A�1A�;5A+F@Nt@�.A���@��q@ʪ`A�agA�bAp�SA���@KRfAǍ+@�s&A��\AN]�AB��@��A�7
A7�A��@�AT@�́A"a%A[�@��fA�v�@���?�6uAW�AݞsAw8jA�s@2��@�{lA�WQA�UAy�@�@λ5@�}{A}�AQ��@�=�?�i�@��=Am��@�'�A�.FA�8�@��A��@��PA|0*A��@�ߤ>J�@�l�@���@�&�@2`�@���@��@���>x�@V��Av��?i/AB�A��fA���@��@p�l@�gAØ_A�*�@�o�@�/yA�6QA��@�8(@ ڧ@~4q?�n�?��AA��A�]:Ah*vA�R>AS
        !          35686: @�A�yL@2��>�he@C�?μA�܂AM��?��@�|;A�s�@N��@      �@5]_A)#�@��A���@,kdAm��@���@�)2A��1A�$A�e�@�uXAk
�@:_A�=RAk�?AC�7Ac;A��@9$�Ad�@#p�@c�@<fA�mAd��>�    ,A�A�|sA*�#A��xA�5 A�V@�X@i"(@�C�A�A��FA�x@���@�kEAmBA�x�@��2@�wmAX��@LrYAA�A��tA�:�@ȣZA�Ǜ@��GA�H|A-;A�IA���@5�IA�՘@0�JA�}A�y�@�CfA�x@Bv{A���A���@�^@xCA���@��$A�'�=��6A��RAK#A�1>8��@�~�@�@AJ<3A[_�?��LA�ކ?:�W@�@�y#Aw�UA!L�@��?iA���@�ׄA<�@�_=Al�Ak\�@�$@�)D@>q�@heA�.A�zA�8@�zA��?��@?� ?�
AA��?Q�WA���@0)�@D?Az��@��A��{@06rAm�}A��@E6A��EA�<�@�fA/3A+��@���@
        !          35687: *AK�|@�y@��WA!Z�@N(AG�l@�x�@��YA�7A��A�8AA�+�A�\A��YA��/A7q�@p�AIG@a�}A
�rA���@D�1@e<
        !          35688: A}��@�XVAݹ�@��@�UA�"CA&KA�x-A �RAd�@�t�@U�A]"�@d�@J�@�/Ač>�kNA�0�@@�-@3JA!�@3�TA�~?�P�@�s$A��K?��@�$?�@�$]A�v�?��AB�@4A؅�?VKAn��?��@��@�~nA�=A���@�_A�E�Aٛ+A�4@M��@�     AQJ    @�x�@�zA��A�}AzҀAh#bA�OqA�D{A��J?�AE��@)�[>���@���?��=@�SZ?6&AI'A��@���?�BA:RA��A#TA#kfA�aAP]�AKA��A<q�?��@X�AP?w4A��@A�GA��@D�?
}�@�D�A.fkA
        !          35689: gA"a�@�"^A
j?��9>�A@��Ap~fA��SA��A�.A;^�@��@يkA�M}A>�oA���AU  AT�5@\ӈ@�J�@�+A�.�@��A:��@'�XA1�AK�AB�@WSAAv��Ac��@�vA�&A׍�Ax؆="�[@F��?|C�@Z��@�ez?V?@�s�A_Ǧ@��<@�{�@c"vA�ڑ>k�     ?&ZUA�ik@�2A�%E@�8'A��Au-A�A
��?�ׄA�/A�g3A�A-+R@~M�?@A��@_M>A��@MA:J4AZ� Aa`�A�s0@��;A��$A_Į>��A��@\�A��@hH�@֪A3�A_dPAL�0A�w�@o�<A�^AS�-A>_?A�[f@���?�>�?]��@��SAK��AE>��?BV�Ac�@�YA��7A*�?�F<A�l8Amj�@�!A�A?!+A�[uAɍ�@�P5Ay4AA}�A[�SAV?�A�YRA��?�sC@�yA��?*ۄAknA��3>��A�8A�B6A���?J�A�RA�zA��4A!A$"�@1@ ��A9�A���@��@��A2�AZ�LA�;zA�G�>��iAat�@��!?�$A�EL?�V�@�V�@�[A�9?�Y�@k�_@@xA���@J�<AV8�?�*HA$�@��@A��@͎�>�3�@�e@�?`AyTA6  
@�ޢ@ �0A��A�b?���@D^FA��<��@!SqA�OA�*>��A�e�@� @18A��lAfc�=>q_A�:@�LuA+��@3�?W~/A8(A
        !          35690: ��@���Aa       (@}��@�T�@B��@���@�wbA��?AL7UA�!{A�AfG�@S=�@�1@�mxAC�d@�VA7 @��YA�C�@��A?�ƈ@lg
        !          35691: A|@y��A�=�@��aA� fA,�p@;0&A��QAn
        !          35692: Aw�)AqoN@[�g@(+gA�G�?�X]>O�4A���@���?�TA&�MAu��@�A|AS�@�gAxSA�;�@T��@�k?5‹@.��@�lA���@���@��A��@\�m@#|AT�n?�kvAQ��AT�jAl�A���A��@0��@o+�@�/DA�H]A�A���@��@LA<iA>}J@̳F@D��@`�@�A��KA�mA��QA�xLA��U@=�@0�A|^�@�%qA+G�@#9�@3z�@��}A���@���@d�Ao�pA8�A��@<h.@���@��A�q_A��Y@S��@�=�@g�Am��A��zA�R�@�A��%A��@&�A�A'Ah��@~@+�KA*�A|�?�iA�o0Aq�Aa��@�F:AʭA1@>@�A�!aA+�v@ �
A��IA��.A�s�A��*A�@x:RAI]A�zuA�\@�ArH.AH٭@A�:Aq6?TP0A8�b@��AA��@�VQ@S9�=p+A��MA^�>�A\Aw�@1+�A�Ǧ@��mAAfAY�A��A,R/A��?P�pALG�?��!A5 H@%c6A��AĈo@D�'AgA��;AԄ@fmxA�A�!A�H�?�J�A�EAl%JAbA�,�@�:'AfF�@M�>�(Ah�GAh$�@Mx�@�h�?���@s"Au�`A��7Ap)A�R9@J�nA
��@�UA��qA�|@���A=�@!?A��@%
�?|/Amx!A�C@���@&1A�6�@�WA��6A�f@���A���@��wA~N�@��}A@sA6YxA�ی@EmZA%�WAb;BA�@&AO�CA%JA4U1AQ+AM*#A���A���@u��@���AU�VA�oKAú@'��@O=A&9Q@l(1A9��@08�A��?���@S��@���@�RA)�*@F�jA䊌@�A.�-?��/?m�zA��A�&@��\AuAA�s<?��A�/rA��:@G2|A��@
        !          35693: �.A��Ac�4AH6A�
AtbYA�T�@]�?�&]A�oA�X$A�InAѩ�A��APD@7�A'�@�0G@L�tA�fA�q�@�cA�)AM�Ax�A��?AA���@n*A弣@���@_
fA�/A,h�@G�GA%x�@�}YA��`A��D?4>VA���@��@��?&kUA*��?λ@�-A�1lA��A�N�?f�QA��P@"�RAܺ_A-B@_��@R?G�BA r�@I2\A�w�>���>(�jA{S+@
        !          35694: LUA�A��@Ǯ�@�v�@ULA(�6AF�nA�A9AqK#A6A��A"A,Ad�A        U@���>f?A��)@��@�?AG��@�}dAN�bA     $r?��1A�wA��9Azz�@Lܠ>�̈́?��@b�{A��>@�N?�wJA�A��?5��?�B�@O-AMA�YA���@;W
        !          35695: A�:�A��A�     K@R�V@�1�@R?���@�mA�C�>tA@�!!A$�@A��IAA�q@�@��?A��?|�UA���@�+@0@(A�f�A��@](�@  �p@j�uA6EA�!5@�)�?_J�?��A���@̢�>��LAyA;�bA'�JA@VA��E@�k
AhPA�:*@z�A-mLA�"�A�"$ASZA9�?��{A2:4A7        �@Dz:A�� A�F�@  �@ź�@�y�@�MHA%�_A�� A�JA���@3�[@�J@�JA��8A���@��>�ް@��9?��G@]�Al��@�s#A��dA��$A��tA�4�A��@.��@�ǽ@F�j:�PA)�A���?��AN3IA�n*?_C�?�+@ݫ@��?�h|A~u�@eVp@G�WA�'Q?SA��(Ai��?,X?9̊@z�YA&K�?Iݲ@9��?�|�@�44@쾀Ap5�@���@Ns�@U�'Aim�@�2IA�\�?`,�@H�cA�KAl�@T>A7�CAE��@O�%AjYGA��&@&�FA���@�u�A^LA�umA�-A�~A}��@�&A�=A}
AW�@YG@{3@6~�@�pA�L_@ʃA¤A�jq@���@;�xA��@1%|A OZ;�fA*�@���@�       A$2�@HҲ?�)kA���@��A��SA�A��A�i>@�RA���@�&A�$A��A̐�@'-AؓA\q�?�uA�(�?:$�?��@ɵqA�y�A��@�Ӳ@��PA�(A|�?��A�Y)A1��@�2@�T-Am�\Ao2uA�\A-u`A�&A��@|S�?1^0A=1A)@�?KA�5�A+1A�l)A9�@���@�`�?�G
        !          35696: A�dA�
�@"�qA�`|A�^5A�oA
        !          35697: ��A���@D�WA��lA��lA���@-�iA�D]@�OAq1�@��l>�@\��@Vu6@�{A��@��@�WFA�)wA�|A�w�@q��@���>�a�@VD�@��nA�C@�ž@}��@��@���@�j9A��R@V��@��_A��>�WA�ObA�S�@�/*A@Aj�A�zBA)�X?y1IAok�@K6\?���@
        !          35698: gA?;RA�LA'�@��4A��AFuA�k�@r8�@���@���@ߤ�@�A��HA,J�AΠs@�       A1�
        !          35699: A�A7�e@q��@�U#A8bA�V@��BA��3A�� @/�@P�@�ȃA(Y?�Z@�@��}A�u#A|�JA</?p�@�>?K��?�)^Am�@
        !          35700: ��@L�bA�CA��A>��@�V>G)2AL�AƸ
Af�,@��<AWj�?>�@�
d@ȮjA�l#A>��A6��@&�6A�K'A�r&@��A�ӕ@�y�@�)�?(I"A���@W��@�LeA�=�@s6Aa�pA�}A=tA�|@�a�?M�?��HA        �Ao�dA;$A3[U@�L�@� EA�u3@@*�@ЫAZ�AV��?�U�@
        !          35701: ~rA*A6�lA�k@���@�R�@@�@��,@'��@
        !          35702: �cA�1�?�{A��@��A�rA�}A��@��A-/FA��@���A&A]SwA�Z�?$�sA@:�?�@���@8A��@��cACnhA�i�@���?�@խ�AS�AA}9|A
�9@b��>$9?��@g7A���@�Ε?�ە@1uFA�*�?�jA��UA�L�@��?m�mA��GA��A��WAʝ�@Z�D@&KlAn�A��NAp�8A�H@        B�@@ێ?UqAA�]A�l@H��@b-�@x�RAWDjA{RzA~�PA�]�A#��@�UpA��?B�@i�*A s?A��o@�>A{AF�h@�yS@�A��Aν-A�}:@I�@ESwA�A-1�@��yA
��A��~A�F�A�A~�#A���@��aA�-A�5bA�@��@�8A�MTA�g�?!;>AeHUA���A3a�@�R8A�A�>y"&?ZgA�`AگoA^�A��!A��kA�&1A�jA`tGA½]A���A�r<AWY,Az�[AR�@A!UA��TA�
�@��A�D=AM��@��6A*6�@��A@}�@k�TA�\A}{|A��&A'�@cAl�@�c�>$�x@���>
@��@�`A��@%��A�+fA�>Y%�?�}A�<!AY��@�%@@�H�?d3�@_
�@r�rA�x\A��PA�ځA$p,Aɻ�>�A�BaA1P8A�;�@��OA*�+@��*A0P~A٥eA�
@�4HA^zGA}xA@�/VA>W~A&8�@��-A]��?�n�?�38A�-Aܺ�A�}A@�D?<x�?"�RA�(Au}uAV�@�A�@swA�[+?��@|�\A� �@���@��iA�[MA�yA��I@�́A���@5'As��=3W2A�&>(-Ak��@m�?��CAa&\A��A9|@��!A�;@��@� U@َ]A��@��Az��AJ��@s@A�A�{EA��@-�[A@rAA
)�@��@�X�A�T�@�#ZA�W�@x�fA�e�@_C�@��I@�bA��#?|�&?��A@�z�Ag�FA8aA�xBA�A�dU@%V�?tظ@�lA��$At��?�xAzv|@�A��0@�N�@�,AB��@dd(A�0�@�ׁA���?SH�?is-@t��@�A��JA��?Ah�@L��@�&JA��@�9pA�3:Ar]AG�@�m�@���?a�F@r�QA��yAe�@�OAL
        !          35703: y=̹@��qA
�\A�-�@z��?��5A�γ@��EA�_!A�bA��> �;>��1A[wY@�{KAֲ
@�3A�9v@�
        !          35704: @��@�!�@$�~Ao<jA!</A�5�@H��@Ū?��@��c@^CA�]@W;A��A��>�8A�aH@,�@��@��6@
        !          35705: @1>cU>@��?!F�@oSAuqdA��R@X�4?��A-oAA��@�Q*AKrWA�R�@�zA3p�=f0-A��A��7@��A��qA@��@���@D�+Aйx?���@]�@9|<A<�/A�� A�A�$�@}�?ow<A�e�@��A��K@W(3A�@�1�@�=�@�w�@XENA��iAh�*An�A���A�u�?��AA�Ac��AJ�A�@�>��u@�:H@l
A@6�@)c�@���@��!A��qAQ�@fu>AA��@���@�<Aѹ�@�bj@��'@`&A�c/A�0@�٘@۲�?o�YA��A�&|A�\c@���@$��@���?��^@`}�@wkA��tA�SA��@AB[�=��SAL�kAM�@4�@S��?�vA�$A�9AHuAЍ�@�/jA��@)1S@�sIA�ڙ@���@�@�M$A3f�@�`@i�R@
�PA�wx@؂@��@d<A��+AZ|�@�u�@`�wA�A8�@A���@�Cy@M�xA��@�ve@��?Aωq@�7�?�5�@+�S@'E_AZ��@h޽>g�EA�1eA�&A��
A�x�@�]-A�&A\�kA�aA@B�?�WuA��'A٫�A��oA#�@Iʒ@:W9@�`@��pA'�-@,�A^�<Adx@�'�?��+A�i&A���@�   !A�>�Sn@�1@��AlvfA,Y�@?�@mm�@3/�A�SXA2߉@���AL}�@�H|A�bTA]�0A��@=A�CA�5A=�N>'��@�ނ@Nc�A�w�@�3A��fA�aA~sAq�AT�@��@��A���?��@) SA,��@|V�@,L"AX�SA��@���@Mצ@z�?]�|AR~�@�AVl,A�|�@ͥ@l?@�!A綄Ah�@i0�?f�@�%�@p3�?N�)Ax��@��>p"A���?N�`A,�?��@��Y@/�9AP��@x�A2oAoAb�@-oAϮ.AO'A��@���@5�@�b/A�a�Ayp?@_�[email protected]&@�`A��A�0`A��`A�4%AA���@��@��a@e6ASq�@�AN�dAw�tA�lA�.AN�%@�a�@Jn@�00@@��@�9A�G�@Z�;?��OA���@-*�>��r@��@�@{A4�A�pA���?��I?��5A8��@��AA�CWAA�3A&O@V9_A���@YAO]A�9�A���?_��@��A�Y)A&�@˯wA��@���@)B�@4j�?�
        !          35706: Av��@���@�i�@-�HA�e�@]�UA�cAD�A�L1A\��@f��A�&�@��4A�&@@�S�@A�YA�Z?��#A\�yA��bA��~A��A��?Ѽk@��@��@K�@�a<�CAg��?*�qA�}A,zA)��>�È@A>?A�m�@6�fA�D�A@�KA�)A�X�A.@A�6�@�i�@��nAA�-?��XA?�@��A�;A�hA6+A��!A�vA�07A@C`@3�KAAZaA�ArW�=��@|��?U�&A?@      �3A �8A��@0��?�pA�-�A{6�@�<�@s
        !          35707: mAhD�>
x�@�
RAєu@@�pAbiA�sA ~r@�u,APV�A�)&A� YA��@��6A��AZ�o?}Ѥ@��@�_�A��@`J!Aҹ@�uAV�AxI�@7�nAj*Aݽc@�!�?-�@A�RA�P@2�GA�W@I,�?W�3A݇e?�.-A6�eAd�qA��A.ƌ?��?�r�@�\~A�x�?)8A��>A���@#��?{G|@��A�Ъ@�$?@;7SA ;~A�6`AO�0A�>�VXA���@�cA��@=�-AE�AI��@�?   A���@A�gNAe�:@:��?ϕ�@��=A��;A�BA�unAJ"A�lzAmh�@�@�_�@�>�@��@�kK?#_�A��@�j�<&wA;�UA��1A��@V��@���@��@�S3A|)0A���@�7EARCAd
A�z     As�/A��@q�@M1A�01AO�q>��?��@�Q@3��@|0
@LO�?*`�?���@�K�?e�@7��@���?�RA�Q�A�&�@�� A���@:�^A��NA�'MA��oA�A��vA�5�A7�`A���?fD�@|`DA���@F��?�ȼ@��k?-<A�-]Ap�N@5�VA��:A�+A��uA�ѱ@���A�҄A�R5A�׫?L�YA[@��PA��@��S@�A@�?��gA7�"?Ͽ@&A�AfW�?ܤQA��BAߦCA��@�SAP�VA��;A��XAf��@U��?Km[A��>��A�RA��KAd��@X�9An�A�eKAI�mA�ҩ?ScA$iWA>�mA'�A�@�BG@1��@}�M@�d�@t2aA6J.A���@B�8A��#A�P�@cjASAC�@��@Px
        !          35708: >���@Z�EA�i�@/;Acޠ@�y@�$n?�
        !          35709: @}�IA�QA��>@ȼ3AG9A1A�K8A��A��=A��;A
        !          35710: �@�3�@`�@�[%AQ)A�zA��c@as�@)�6AE��@��IA�A�@w��@�}�@���?�OY@�]Ac%P>�A]A�&n@4�IARcA���@��3A�O�@�P�@J�\A�uA��A��CAc�B@�{�@D�@��A�+/A�JA�AT|FA�*A��A�� AR\,Ay�TA�Ш?.��@5!YA��@N��>���@ڏA�Ad�?'"&A(e�Agf-A��I@U��>T߱@�s(A��@�]Aߧ�@�"�@_w@���@^�>@&�Au�AH0IAŽ*A
        !          35711: $�@��A��Q>�QIAL#As�8APQA�}@
        !          35712: �]A�AL�FA��|A2��@�u�@q��@p�A=c!@Q6@��@<��@*�@���@���@�
AA��@A�Av�@|��@�J
A�pAu�A�
        !          35713: |@v�@C�"ANA�w@a��?�r�?�;A�dA�n@�M@E�>A.N{AΚ�@�<aA�ޘ@azA�CA5Ɇ?iL�?!\TA�RA}%=A��@�w�@�.nA�?�=?JA�A�JA?*|�@��NA��QA.r�A��dA@6�?a�   A]{HA�KAD�A��y?��A��@/ݑ?�zEAw�A�`IA�A���@!�pA"|=?<2�?o9�@��9Az;�@B�3?�ڪ@ԏ&AeG?��?\`A��#At�+A[=A�G�@�2AK�@�Nz?�&?o[P@���@��{A�c?a�.A1iA�}A��@
��@�F@��7AH�>A��@>�@�N�@��A��;A��AA��>`(A2��@�<i@��JA��9A{A�Lz?.�@��?-Y�@x�A�]cA�?-@��<AI�?X�SA�@�|f@�A�թ@kp`;�6�@�jHA���@���@ #A?�)A�n$A8E�@xM@�0�@��A�?AA(W�>��gA��A-/ A?p
A�m�?sARw�@�n�@�*�A\WA@$A1�?���@Z?OA�VOA��X?��~@J�XA^�D?U*RA��@��`AL�&A��OA~QAs�XA�VAG�cA\ș@�A��dAT_A�n�A��A�+@8�@�ҽ@c�ZA���@�]A�ZA�c�@��@�|{@��A‚AZ�@�ܥ@9  z?t�A�@k�=A�!pA{��@�Y[Aڶ�@vj�@<�@�z�@?)A���@��UA�hA��G@0�FA�cP@�e+@��=�p�@���>�G@/� AX��@_
�@&��?��A$��@"��@��lA��CA߹�?J��@}c�@��zA��EAǭ#A7�8A-!�@C�3Acm@@}$?�R?F�"A{�[A�(]A>*8A�U�@�ɀA\�"@=eZA��8A��>Q4B@�^ AZ��A@�?��;@t�AfhAd�(A\_AY�@��A��}A�H�@�]�Aku#A���@�}@y��@�LGA�w�?w@�¼@C�iAO87A��D@�~0A
V]A��tA�fI@L*�@W��@,K�@�!?A�&=�X:AN�A�!{@�EAU=�9m@���?���@��X?��?A�}Ap�@�vA��@
��@���@d�A�]qA�m-AA�?
@�/�={&&AL&�?��GA�9�A(�6@�A*�UA���@jKA��@�kZ@i�"AJe�A]V�A�T@h��@m�?[�rA�v�@S��?fϟ@��Aj|BA��@���@�1?ؠnA��;@n��@'kA�M@��A��@L��@,&A$`A�JAK�0AT�hAo��@��@�ш?c�@���@��!@}]AXsxAݩ_A��@A�
        !          35714: +A�mPATWA@XIA�5AO�
@K��@�w�@�A�@�c�>q�A���A[��@��H>�[A��[Aے�@��A_zdA�[Ae"lA�&?��
AI�:A/�JA��A�5@�9�@Ta�@�$�?T��?e�AP�kA��@U�@��mA6f)A�$�@ڞ8Am�r@n��@]�@īWA�A&I0A��A3X�@S
A�
        !          35715: pAI��@�q@x�@��A��hA-cA4�'Au�<A���@��+As"aAN&�@H A_��@P��@Q��@J}@�;:A�Z�?��>A_�&A��@/�?y qAM#A�@X
        !          35716: @t�j?�)A���>Z+A^�xA%�@X��@��ZAwx*Ae�A�XA���@��A��>A��@���A�yA#�sA��.?$�tA�a|Ae�$A�>L2A��AӼ@@T��?��<@��@x�nA�&�?���@$֭@��@ű�@�!A�&OA�+nAO@�JA��eA�e@�Ċ?��rA�qA�mSA��A*d�A���@%(t@�~�@�h_@�lxAc"MA�qA[TA���?��@50PA���@�/�?9@�FAu'
        !          35717: A}��@�A,K8@�#&@@�tA,?A���@�[A��?P"A?H@T�_A�xA�deA��eAv�AA��Aj�PAD��@!�'Aҏ}@���@�f@y/�@؀?�kA�V@�O�@��A<i7@��~@NaA�pAW��?��@���?�xqA8��@��v@���>Z/@��9A6�A��AɆ>e�@�A�IA�aAԹ!@]K9A\��?�@�A��Aߡ�?�]A��lA�t=@0�@�R@�HA�6�@��7AX8A�
        !          35718: �@�e|A:�?$`�@��BA�/;AG�@G��@_4A��RAv�@A��A,B�@�b�@
��@{�tA��QA     qAJ�+A'�VAx�,@�C�@��SA�EA��LA�3�@�R@s�>Ab);A�h
A:�A1(oAY��@<7,@     ��=�@<�,A�]iA��?���@K��@y��?'eAboA�"�@���@ٴF@��EA#�@A5��@�*�@�/iA)�bA��@n=A��7AY�}A/�jA~�@`O=A�P�@�6�@AA�<@�QAe�?��@�܌?u�o@��rA� A���@E�A�T�@�$!AD�/A�hmA2<A$3�?n��Aw��@[�Q@�J�@�B_AȫA�6wA<�HA��~@P��@?R�@�oA��AHٶ@�(QAV#A�`�@�;CA�9ADyz?Ѩ[A�0A�.\A
        !          35719: !@��A�KA�doAQ�CA�AO�@��-@��AO�@�uXA1�@k�Aa��?q��@��{@��OAbgWA4}�@�8~A���?a�Aә"A[��?W
f?T�xA��U@Ҧ@jR<@���=��@?
y@��TA�]�@�\A�@���@F��@��&Ah*�?)�AQNMA��A0��A�;&A=VxACA��LA��?R�@czA+�@$Y�?P&�?TbAJ��AڗA2�TAQ4�?�A?aiA�[�Aɠb@��=A=sA A� �@�+v@q"%? l
@��EA���@�fA� �@;G�@��9?�o�@�T@�2AA+9@y\pA�<�@t!\@\�0A�%A/3DA
        !          35720: �?���@��-A��3@���@��Az�A2]�@'�uA�Ψ@�R�@-Z5AK_"Ab{uA/{A)KHA7.�@'S�@#�AA�N-A4�w@w��@$�t@�qnA�hA�deA�o�?�&A��>A�IA�>Aqñ@�muA�#�@�A���@QD�@RyA:�MAfpAsV@3�}AT�@�uA���@6A�aAU�@���@�@L3dA��@���@��?�LA��?��A�V�A�([A#��@%�q@�>p�2A9�A<�@�/����9�h���m
:�������9�|�8�:H��:)�u9��9��z���'9c��9�O'7@������&Ƶ���e�3(�V��9�J�7�ҹ��T:�#�9�%Ϲ6
:c8�9�̱����:8��9#S����������ɊJ:�xm:͔I���;Dv�����:�p��P�U:�R:;��:z��AI9$p��I����ca��ow8j�⹚\�:]����   ���ù�1���5!9O��8Q�^9�n�8
        !          35721: �9��H���E۟�/��8Dg��ڋ:�9��!9�r9������ú�)7Q�������I���f����#9�':s��9f����8ԓԹZ�>%��$x�:&Q��*�:z����9�*;�'��Y:�r����N:�~�:�����8�)�9tͷ:9:���W1+�`a3:�,:#�e��w^8ga9x�p:��8��9���9$w�9ظ':"1Q9 �ӹ��T�9�Q9?M�ױ:��<7S296�)8)\<��~�s*:=X�9���9\�s9��9(B8��/��:�y̹[N�pj���i�:�P:4�l:��:�q5����<����%�88������-�)U�l�0:��R:���9�N�2X8:��X9��l���S;�q#�G���~O:1 Թw�9���v�<�)�
���6D7\�8X� :�7:?wo��);"�9��x���i:o����q𹦌Y8vI�
"�8#[��ɗ�94N   �XI�9���:�c�:�W�9��=:�6{��o88>��F��9;*�X:bj.9�d�9y
        !          35722: Q�s�9�&��ڡ�9.�o:��/:R�2���f��%B�
!N��$_:ߐ��OÐ9���`���s�(�\�6�W��   �ƍ��М�:�Od���74��Ÿ�9�S5�I��8�8���:�.ùU8:B��:R��I��7 &�9Wy�3B/:�7j�!"u�
        !          35723: �9�0-9h�ݺG
        !          35724: ������g̹w߆:�\9©�9��~9���9�Z�m|;�i�X:�]���;z�bW2:�̓�|�:�:����#)9.꺻��9`�   9��V���9��9V�u8���N�8� -�)��c9��Ч�����9�Fm9K!O:H�m:�犹�vɹ':Qtݹ8���IT�9B&,�f��9�m;�⍹���8�e;��׹CM�{s'���8>3̹l���]VǺ�`����;YA�:NX8h6"�[��:�|��n���󰸠��{�:ig�9�1Y:������G�v9�[9{QC�
        !          35725: �"����cd��a7���;��7:}��::�w9��ҹ,�<�.�9�;/9B�9�_�\n���n��e�`9���9M�˹
�k:��:���P���^T�����=&������>�L�����p�z���^:���6�+9��j9�C��ֺeW9�*u���1:2>��z�219�c�9W�����/�#��:���:�������9��9��M:�h𸼳���$�L��9@�:$�F:�r�9��Ÿ���o���x�������W9g�S8Z-9��3��t8�=I9s��:k:;��9    ��9y�/�.o9��#:(j��ß:�
        !          35726: F8���'�:��ڹo�L8�g�:?�&:±?:X��:     ��Ϋ7��x8�f�9�����`����9��E�D:J�'�
        !          35727: 6&�y���~G+9B:�;�9v墨�       �:Q7�80�:�>����o���i:G9�*U9��5:�ac:����չ��v��U�K��:����&�L�P�P:��ј�9q���KS���9��q��eY:��*���9�?ʹ*��8�:��@��+W9����y8�B��L"9ݤ�9�e�&�e:�r�Cv'87"�7��ݺ^;��B2�9#I9�$�9&9^�O([�q��:46�9�     i��#(9�U�9�n�;�A9:m9z,�9�     �8��ݹǮe:�ݡ��S���K��h�H�P8f�D:r���|E9�M���s��>a�8�<:�=):�>�*'���L:���:�+q�9�w9������7�;�9�Lไ̕��>b�����Vϴ9����uL�D�ն���:L��9�y�9      ��:�)̷��q�^q*��6غ;ܙ66��:;��9�'�8ݙ7��Ǹq��8���8q�:�_�9X7�9���9SF緰�
        !          35728: ��h�:��5:�2;Y_:��,���#9T,d�d�;�3�
        !          35729: 9b7�ć�:��n��4�:➛9�/3:&�9*RV�g���o��85�����~92�)�@2��i�j8�6����:2�D:�M�`l�����~����Dٷ�k�9��9�2����`�A��9(����
        !          35730: ����&�':���9&�&��F񹃬���7ڪ%:���9�I:]�&;�T
        !          35731: ;T�5:.,�:_���|��M�8&���6A�v��}��+�Z:�3�9i庛�u:�{�4�38HnW�若:Ųn9TD�8��]9]M��k:At�%:��^9�&!;�๹�:�rX8�^M;��g�F�B:.�R9�s�9�9T�j�Ϲ]�u�cWc93�9L�2�}���hZ��t@:K���8���e�4�~\|:�_��f�:ZK͹z���M�8���T���ŗ�9��3����9x?�92��Ḯ9���9X10:�8��$m:/��:�l$��>�9�s�9��z96h@�L�88=�91E�|�h:���::�/��i�9��;�`���:dNx9Wx��z�:T_f�S�����s2���m�'��8�b�ߛ~��W��x��d�z�(���;�仹��n�f9՜:;"c�O�V�7�Z9�˹_�        8�z[97w%��
:.�:�\����~�\���
        !          35732: 0�d�>:B�9�3���ʇ:=&3���9�k�8B&$�+th�>��:t5�l�9���s:�d���C:yȸ�m��09�����聹�w�����$B��)!9ڷ�q9�^p�u�e���%�.�麔�O�=�h:wTo8
        !          35733: �8��:@K�z�:E���7׹2��f7���z:+2��Ľ��}���B�9�s;9�":Q�O:4w]9!�_�p��9��&�
        !          35734: ��P\���s�����_x9:7���څ9Y���`���  ���������:L:RY��z':&������|&9�z�8��8:=���%󹹩�:�z$:O�:B��       3��ґ^8��1����9O�8�q:dI��oh�񢹞
2:���9���7��8ʺy�U�:�=N9�F��|9Ip�9�7K�CO�m�9�D컹J���~ƹQE!:�H����9�Q��6�8�҉��    ����;ǽ��0l9�Pf�`��:��ȹ^�&<�U:G��!�8��#����9s�z�s��8��p:���9y�����9�Ѻ�a�8�̐:�M�9�{�9�9�D'#:��,�M�h9�K9� �9��E�&�����4�
^T�A������
;G� ��:��99���f�:z���G�ɹ�#r:�˸Y�����.1;�6�
        !          35735: 8��/���&;p�F9�3�9�K{����������Թ'o�s}W:�E�9�]b:l���M�:my    8������Vg���/;}��:L�V�&�F�m:�Z���b�\     �N����'�܅Y�^��9.R9w�������9����9�
[8c&�:�*9x$�9�+{:��-9rw�9R�#:\��$�8:�9�h�8_�R:=���
        !          35736: )d���9E�"9��s;Y�j;���C8o�8����E8�:V:ԡE�/����Ÿ��:��K�f69.m��'���|�:��o9{?���'��:K����ݷ'�9��-:U(g9YȎ8�Fm9̙c9��G�G(#���9�#��e��S������xB��3���@�7�X�̙�9�@�<�?:�r��ω8K��M��9<)
        !          35737: �ι���:�&a���J�-8:���9&�:�E�8O�e9G�o:��:mZ:�    ��w�7������,�L)�8�%�8n��X�9@�l��{4��J4:��Q9T�b�������87����2:��9v]K��s��Mu9��G;xܷ:8���j9!3r��:��u�1�vH����ʳ뺇�89d>�9��չ���:�s�9�V[9B���S�9�T7:Rϵ:�˹�D:X��8l���\Uw:��D:w��:�,�9����0':D�7��㹓з%�s�"C�:C�:if_��y�9�����8�֗:��7V�::����G8:��:��9)I:�:]!S����88�>     9༔;�[:�����Y�:#��9`�7F,<:iw:97�9B�3���-�عׇ�.�:�����9�9DS�98�:;�w9�;$:x�z���Q�]B�:��9R�:&FH:�H9�Z��{p9M�_��e��_�9f�O:�88;��8=  ��}��<�^:��:�\8����;���A��{�@�2#:K|b9�:D[&9�=|:���9+�¹%�˺6��:|t��l��9��"�]�����9��Ϧ�9AՅ��}�8L��9잦8�����N
        !          35738: :�z�9\�ǹ�^k9�s[:�98����!���,w��68��L�7��I���9�|ҹ4'�9���9�<�89�ǹG[պq�aOP���ȸ��;izZ:�xd:>i6��O`��ޅ9LBk:^�O:�Z9��9�;:Ѳ7㸎����9����:9�8:[l
        !          35739: ���9L����\�n��9,2���&���A;�@o:��k��M:�|4:j!X�Zm*:e8�9(�X9�;�99�����9��:?����ɪ:_��8o�:��7��%:��J��Ng7� ���k�<):&��:��G��:":*< 8eW)9���-:��?���ݹ}7!���L�?����Bں�Y�9      ��9�8����Ѻ�9d(
        !          35740: ��9�ua�o�9�[S��Yv:0��8��c���:TD�7s6۹���,ވ����:_�¹Yx��{�ǹ�j�9:����9`Q76��8�Xp:��H�j�|�P�&:\u"�:=.�j�y��ȭ:H'9�O�9��ǹ�"��Z.8ʃ��)8":�̱9�^�2Z�9�5��^Un:PP9<��:@�,��&�O�8L�˸(�8�X������o3�=����5�����T�:-�c9�m������}�HIa;���9:|�9Bչ#n
        !          35741: :�Z:RG9�Ӫ:��2�     �7;Q/:7Ҝ���'�;7�vK�Em�ޱt�����\�:N���n��|c�T�h����D���9lz��(E�:��&���1��n�j���9A͹u��9��� ����9�q�RJ�9쾲�I�O�1�9(���y"�]f�H:�9��`�j�9h�:�ò�M��8��¸�������9Z�:z7����&��9�ж�.V����93�b9j����9Z�:��e:�����a:>�:@�M:夹�:�O    ��h�*�Z:bE_9ggA:��*:��7g���p���P�92�����{��9�k�8�RZ���:1�Ҹn&��y������:Bp�7O�ιE����5�=��A�:c��W7*9�ۺk��8�5�9���9Hp��"�q�m��8�[�9�v�9�      h���)�jAH��"�9-��7Or�����`=湀ɵ7�4I��?:%�*:Q���e5���2��dǹ�T��.8~��l]��]9����):[�-:���,ܸ�2g9����
        !          35742: L:l?�:ɣ9^EF9~y�9Yi9ʕ]9fc�:Q���9��9�Һ<>�����_���yq9ǵS�P�ɹgI&:��9~>����7VW85��9dG�9:��7JƷ��a� 
���L�9        �����:`����[��
        !          35743: 8�Ł���<�B��9�MO:d��8;A�:��L]�9iqзڟ�8����J�9}阺�"�9���9T��9���9�ݹ7�%���9�jt�&�?��E   ��5��hs�xhf:ܵc��)�9���:r�~9h
        !          35744: �[�F:e:�9�օ�8}���8��
        !          35745: �D�"w:!Z���й.ݩ9؃���h�:BJ̸gl�9Ԡ�9M�������(�8:���9�չ�!�:(`v�D�p؏�\�,� R_���̹E�q9.a9���;��%�~��'��7�4:,�g���9] ҹ�j09�IZ:�$/:ꕦ��
        !          35746: ��({�=V�:��z�\8��9��79@6&���5*Ϻ������:��ҹ~�T>��
        !          35747: <ڹ��"���:�`�7;D�9F��9A�+�E��]89]���Uۺe�;,�+:V��C��9�ڹ�B!��9+�D:й������g���º�W2:�H�Gܝ��&��P���#3�7   0��lr:,�N:��ɹ9P���9]�:T��p^_:��L:�"��,�:b9��&���&ĻZ�蹪G�9�\9&���%�L��F�9�(�;���-9��4���;4L߹'#�8�ֻ���׹��8oF���=:��:&VB�&LR9���8��:�k���.9�<�9��l���:e�;,��P�_�ہ�9@1.;~����:3�����8sė8�f�&�9%�lN���=��0��9�?8���Y'x9�2�����<�9�p�:[J�#]�_^�9��ls��]68X�÷m:����I���ٺ��9�}��S29�9�xR�7��v-�ǡ��4�:��:@ڼ9\��R���H�˽�7o���/':��:aa�7t!�9J�5:J`����#.�.Lιjfƹ�D���O:ş�:SJh��@�8u��9 T�7��y9�4�.��9��m:����?̇9�:���8�):g�ӹ��>���9p/�������)��PD�8��(���+���\�:?,:"�-�Q9w���:�9���&�:���O�:`i:�af9x�9��8Ǖ��ୃ�DX������9:0ޒ:�
׹���8�ʞ8�0:LX9TL��>i:�/:�s:�+l�~f�8jՈ���U��O���[8cйQZ:b�:910::��Q��M͹��@:E     �8hE:�p�9C@�:�bE9�j�;2쟸�3�8������~�Z�ZP·5����6��� ��9Nz�9�:��A˸I
        !          35748: ���
�9�=#:v�*���U��]-9ZCo����8)��7�W�������D��2:lչ:�7O;�]T:�:믲�h�o� (&�ᱺ��m��[�~���z9
�.9�@�9��9�ր9�e��뼺!E&9�4P�r�8�&�:�8�����9rz 9˓9?�&9��D���+:�����>����5:0��:�%�8�_:Omպ�(��92�f;Y�?��A�݋�����8�Cb���K:�T���B�9I��9�2��1�8T�q9�۩9�Ӿ�O1�@%�;˂::HR�:��T����O96�:Ǫ8:Y1�gO%�_N~���8��ʱĹ��:ت
:�x8��       �X���o:J��:}��9�o�Ј/9(����'��~�� �ԺU���9eW��wa:���8�@G�=�9-3Ӻ��O�p��C��9\���/ص��9�!*:&췸{�f��x�:eC:�%:��x97J�9H�9�����DŽ9�u
        !          35749: :7�,:���9��e�F~P9©:>'8���:�V�93�V�!�˹(��7�����9�i�D�%��9�8�4i9����h3        ;�j̹����J=�p`n��7:�S���':'�͑7
���] �8���9j�|�W':9?9:��:�9��g���9mr:��9M�����������F�8�8��`9Uƹc�y9�q���h/9�L:{���)�F9�
 �E�غ�k:i�9<s�9B?&:�Dx9�lɹO�r:��"��3��Xú8�b2�G+�߸:   
        !          35750: �9+�e:L�v:]��$�9O)��x�0:�{�:�I-9�+V��9����9:��:u�;+G':�o:��:{]��:SKR�����7�6��d�a:^�9�O��3 8��':ÙD7����b%���;9���0p:@]`���z�J����9�J2�x�8�ˁ�DoK9p:����<#ܹ�N`�������J���:��̹k��9��9�Q:4߷V��9Qȝ�����A۹�]�9ϒ��?�9Яb:�:�   �e��9�¸�;�J!9���L:�������й�:`�9o-���#R�+O��<~;�^��"�eĒ���~�:�1+���ºt�O:�_:���(��9Xҷ�}�:�a�9�w�9H�7f�;�?{q8�^�8L"r���(:8j:�D�
        !          35751: 1����ַ�Ӟ7�lo�S!�(�۹�x��=������9*cX��,{��ol:����$�9�w�(��8��6��r�:�R�8�ÿ�=I꺝EY:d�9��j:8������9�D��$"�ֹ乶��85��:#��T:A�19�gI9�Ӂ�+�\:�,s�d�i:�b�&�(:�L���:�N�1E�9wDa9b��:A��9|B}�yl  : 0q�6ݜ��;�G39��:(&����]���9{������y%:t��9A&�JK:,Q>�נ':�]��#�9�Bg�������^��J���59e,��s��q<��D�I�����V���%"�s�?8�Ca8�3�d"~�`��;<a�9~��7%��9����Zٸ��19g�m�0��ǔ79ĵ�:��,�g��9�S9�+�9�B�9�6~�DN�9��s8�ql�ǩT:�q��ha:�]g��wZ�<�<:��1:W�9�?���3�!�������=d�}�:�O;�z:��(:V�J:   ̤�!ۯ:.���
        !          35752: �:��9�g:,qB�(�ֹ�׳�a#9Q}y9���Ⅳ:^�.9����}D�8��,�/&n�Lk����:F{ƹ�l$9��93�}�P���?:��9�*;�k��AU���b:,�ӹ�d��*�@�Ϥ9�}
        !          35753: �yx�k8&:��J��t�9k����we����9�w�:ݝɹAv�9)���$E�:�&:#P��l9o���ø:ۯ���'���97Ͽ����9��4:���QF9E�:#Jp���:}�8A1:��o:\��9
eл�9s���f�j������y�(yE�v��8��:|�9�pq��0�O�]9yp�9\,�9�;&�-:U��9Oo�:V&�F�ɹ���:\��9�G�CA69(�;��m:��8iͺ.╸{#�:�������:�@���W9�S:��7�:Bֵ��‰:*���c�9�c�|�:/����^��ⅹ�n��1��(�1��R�:�:&
        !          35754: :���?ӹ�����8^�\겹�q�)��9����5�Ɯ���}�F�`��l�9�Q�8P\��hY5�~���:`�O8�Z&�w:;,��9Hr�8��8׃���;9����C���8\Ӓ;���rH��ׂ:�����ڧ�k�t81��9��8�FԹ��82=���7�j����\���P:բ3;��;��T��v�x8����v9Xx����09��.9�5�L�*���-�mw��F(���V9,{��T�:4񡸈���o�9�,��9�4:#?G9���8/x�7"����j����޺�D:�*S�֚�:�*��
�>��K�@:���9�@帯�o:j�E9�����3�S��9��k9�:��$:�qE���'>;�:�9G?f� ɫ:�V������-��oo:��.8�Ɋ9�~�7���5�9tо��/���Ժ�T<�5l�:��:�`�7�\��9-�9&p;�j���x�q�<�sQ���������<j9�A.�YM:Xv1�{�L��ϧ�
        !          35755: f�';&��+�8?˹J{�s?��[�p�T�/�:M��7��97�F8��:��:V�{:��9˰�9�G_9*��9�*�H�9|A��-g9�����i9@u���V:��1�G�8�|�9�J�����mԹ��E:қ�:7�¸7)���2����8�:s�t8�)����9����ϛ:ӫ:�b�7N
        !          35756: ߸&(�9�U�9�!ܹ�s����9/�6~8�B?����9LbкQ�*9��!�TH,:�ѝ7�/88��#9_������7�ӊ��w1��n�9)��8���8�i;:��c�a�o���
        !          35757: �D���}7d:��X��s�(�����R����9"�9ˆF8�*�8+\:/�e�`���0�i:"E����7�^��L_@9
        !          35758: �<���U8�3�l�:��];sE:��A:{�9Ҿz:���g�Y�P��,9�.�8"D��a�8o|�9&�;���!�:�[�#f#9���9wC;s��7Fa�gY�9|���Vg_��v�8o���������8(�9��w8pR����C;4ҡ:������9>�9/�:?CK���9��%:�B��^P�ω�9͏�:hw���-9��*��m��R�9<�9�l�9-,:w���<�(:u51:&���:1�9�2;h�:�e
7���9zD��|��$+��S8Fu-:x� :�/:ݑr��\:?;���:���8j�:�:�:l.��K�i��h;M:���?�4����9���EX8b~
8��7����0�D9汹a���#��tU�8�ꏸ��K�\C?9��|9��ù�w�9����;�>��u:�9��%���Å&��K9�K��tѸ�!M��h��t3:��:�_9��{:;�I9���ɤ�l����9s��9��8>8��չ;[�������:d1��TJ��2�#^�9]ؘ9�ݡ9����DJ:�K?:ؖ9�O:R"A�SY9��>:�B:J[�9[ =:�O!9w����鷃Ȍ�5w:�i���� 9t���Q�S�1�&�5�@:U�}8���8�zԹ�z�9GxغS��9�:����\;��y�'
�?99�7���%:�MP��u��U�
H
:>㹠��9V�9�I7�b:R0�9AX:�
�9e�E��ݸ�
        !          35759: g:-NM:�����
        !          35760: �:X��X��:�2��g�8L�e�"�U9ޯ�9�?�:!���l�����{8��T��9����6O9c�a:s=ѹ������*�9q�����B�K��<bl:ӫ*��t��6?;�t9��6ȹ��9�$:R�:Y�(����_����������'иb�:�r9��:z�(7     �8`x�:�ع觮�?��)�8`Q����9�����v�:}I�=76����:�[�b%���w�����6�u���J�{�=8�sW8��8�z�8Iu�A"9|�9��::*��:o$��H�9��z��A�8�w�9w�)�I��غ�|_9����F/;��^�7        ���@:�{b�To@:R���%�9yP4������09��J7�׺A*8�H9� �O�t:ؿ���F_;�-�����ܒ�3�º���wP����7z�κ���ƇA��+ʺ�h鹉v�0[η������/o/�A�9#�f:)�9�T:|C����<9������:�k]�I1�9_��m|����:Fq$���L�A����h��^Q:'�:�p/�j��:��q9p����VV����9I�:&���P9�9 ��:-`��(NC:���:�.�:N�;�Ô���:Y��9��:��_��zW��%
        !          35761: 98�9U_����x.6�H�!���'��(:��8�Z:\���]�r:�w���xE:@3������v�:�
���ѷ��9r'���ۺ4gD:�����a�Å:�ũ9��:nY:ڦu��¼:�s�:Z��Nj����,:ޅ�9��:�6�9!`U���ph���S�-�ظ;=���:�c�9��;L���y9��%:.&4�2��H��7�9�{�9n
        !          35762: �����
�� �8:�����_�Y����9�;���"���$�N���ۃ9���v;���9��9cD(:!t�9����x-ȹ@����:څ9.���Z&���e6�&ɹ�%&9$3:���9�9�"���K:F@n9)��9��
:�#39*9�i&�9<����Ʉ��|����K:��"9`�9j ���$8�]'�h
�m�1:b�8{EL:A
        !          35763: :���:��s:�A2�ҥW���:�ֹ�`��N�A���s��ӯ942>��1��*{�9�P-9t1����8��K:"&h:�~�:�<���:259J:S�d�xM:�0U:�)ں��׺)�����E:r׹���9մ ���1:�O9�q(9�    <��hR�ͪ9B�
        !          35764: ;o��e�g��.��)�ҹE�8GRι1���b���P�:-,�:�%�9]�2��j:>�;d�9�Q����
        !          35765: ,��y>����:!B>9�n��3�����:T�:
        !          35766: H����g8��;;�i�؂����9Gxz9c�:�ع7}9X�;:��%:6�q:��9�:���9*�:��湐���6K�9�:�+:>���r����"�9����2�6:=��9�Ȋ:�'���o:]9~���L���G��Ω9����al:�ۣ8��d}�;�(-�:�Z
:��iiq9���:Z�:|�(��r�����o:t�9�@�9�&���ĝ9i��9��9�i�9@#9{:�9��������8$�9#�:9�s:h2^�
��:��f98�U�8�B��:�"�7��      �=��CR]8lI#:/nͺ�k9�vƺ6�4�؄���1:��+;ffr��:�C9_��9-KD�s����i:���x�he�:�D������p9|��֓J�q4�8K��:X�չ"�ʹ�p"8��+:�/6��=�z�p:h0:M`M�/R��m:�0�8�y��h�2:@���]��9�<��> �UJ�9N�i9��
        !          35767: ��%+�_[��p�9ԟZ��Ԯ9[+%���C9�M�9�S]�y���n~�6��8��9�������9��:6���
���v���ɋ��)4�H����:�:���<)�:Z�����.��9|���z��88�9y�&;��9�������9Os�:YJ�7t~&�?�:��59������9~�97��7�N�:���[�:hՁ��1����A9�%����:����F�Y�8 8�$�b�2��G9�H�:���:�鏹,9��}����:�*4�aq\��#�:�Ғ:i��ӽw��0>72윺m-�7���-C:MY�1�9�l�:�n�>&P���������9���:�Yq:�tz�W�:�Pƹ�,���N:�p�Y�:G�}�|@^9C�պ��
;H*�#Gx: �K��Uút&M8\Kw:�?:��9�X:.�F:%5:9Vo��t�9|:���9�:͗Q��y׺�\��d�
        !          35768: �H���p�<���꼺� ����)���9�H�9���='�.O�g.纕q�73A,�d0�����m-(:�_6:P+�9�샺9N$:�3��Л9#x+�Z୺�( ;�}����]:�\޹
���:�P�9M_�:�u�:ؕC���w9?�$;>Y9��8K:'���6��Q�:'���ن��^��:]���}�n�W�;���:�4�^&R:��:�:iz7:(6,:�n����;"n;�8�Ggf:
        !          35769: �:zb�(gʷS(8_���k�)�9QT}����7�W�8�,f��?�7=f˹���9��:��W:W�l�~�<:X-:qn:��f9�D9��`�a
;�Q���1���B:���RcIn���9!��:���9�:"Lj9�h ��27?Ņ:�oP�
^�7��9�    �;F�:=������91��8c):8�+����}$�U��:� ���,��1}:UW��hFc9      �[9q�:+h:S%:�r��b��8�ź��8C�e9g�/9�};�d���l?��Ad���;΁�9(�_:J����
        !          35770: 6:Gd��~^/��9#���9?��9-�9��9���8�J��*��3�8m��99Ą��M/:v̫��eѺ��:������a��_ :yߊ�|����8%���:�9 (����8Ӈ����9\�::v����:|:�����:���8߿F�:��'V^�2��9&��9��Թb����梁�n:��8�Va���7eF�)��]*/��
        !          35771: 9�����M4��ҽ�pA�9�8���Ĺ=�b:�cx:�鎹M��9=*d9���������K�_�⸂^����1����9t�   ����܍��>:����ua;��O9P���s�8k�o8~�:.�1:��9�婹�얹���8�@w�SG:7F&���\�>��8ЃC��:|=���K����:�2:6�
        !          35772: 8g�h:r����U:9{�7�[\9���<��9~�&:��9��4L4K:��?��6�9�N�9��2:z[���?;!�9�7
        !          35773: :��2� �:m�k9m9�9m���؝9���ZE�B��9u(���l��4>�9���9�)�B��j�s:�1:�ٛ�!Me�:;�:�`:J:�=/:���8��2:����+{�Z�K�JV�WG���@�:Z��/&��������,����<:�u���%U93u�9�$�9�NK:�ި9�u�9.�:Uj;&���"&�f[95��D��m�8��v:�&3�s4���o���%��     &�$�;�қ�b�N�z�P9��>�ζ���㷀�p;8�ٺ���:rm�:���:��,:0�R��bg:
T��B#��FD�9�,�:�Ά6��^����9v��9��ҹƮO��!��}n�NK:)>'�U��b&:�Lu9'���P��:ӆ)�PE.:��:��J��~A��j�%:�D7}�Q��(�?�׹�]��_7�9�m�-{Һ�/�[a3����8�}):�
��z8�:��Ӹ(��蕺#�a���        :!1��������9𣇹���9X�%;X�[:8�G�vA��D�~9B�&�������:�]�k�3:��.�0ɸ���(�����+N���.��@����:X�8�Qf8��K:̳��~�:'9
        !          35774: �"�9,m/:v�_��5�9T�9:Ozh9RQZ���:�V�:+Ǻ�[�;��ٹ��;Zr�J�9v':��!�p�f��}�9�'�9�V:i9�TTS:=�%�{
��<�8�cq�Lе�0E��O��9Q+���Dm����:���9�pl����{:�;�9����&�9��ٺ}�:xĄ;w��8�f���:z3����9oO�9�a��s�ܺ���b�:U&�9J�F�WȺ
        !          35775: ��9s����9t��7�<���M����8���9��39�M9�2:�P�l���j��9��9�m:@ڒ8��9+פ��Hӹ�Ҟ��ϹB����,:B�A:�?�:��κ=Ũ�4y����9�9y��0����92Ȩ8�›��   m9!�I:x�8AO*:�!C;%�!:������TI09�Y�R��9贈�S�����E�]:mǘ;��9H]�9�9�9��9��9���L�����X=}:!�Թ��n:,���
�93{_�3���H�9�n���3V���8k۹�g/:t�:�R�:�&�8GD+9�'O���p:ԙ:*X�8�u��D��9eg�8  �
        !          35776: 9R��9E�K��:�2%:�eԸ�&:�4�� иm'Q:�ùu��:�;�Ĭ:��9.�q����e��(M:&��:��:!
        !          35777: ��:8�
��9���9ô�3\�7�3�-_��;�%�>���
        !          35778: �9     �]9�ɒ:|��9Z��:[D����9w9Z���!y��_
        !          35779: :p������9�޸�8��6`�d9VM8��8K��8����5:6�&�30707070035050651141006660011710000040000010470370503442620200000600001002000temp1o�Q��&�&+t��R(�-(%�R(wtmbin/n/westphal/netstat/bin/dailyv/v14725/7913011date
        !          35780: date >&2
        !          35781: set `date`
        !          35782: for i in 1 2 3 4 5 6 7 hg hg2 hklab
        !          35783:        do cp /usr/wtm/netstat/${i}raw /usr/wtm/netstat/tmp/raw.$i.$1
        !          35784:        >/usr/wtm/netstat/${i}raw
        !          35785:        >/usr/wtm/netstat/${i}raw
        !          35786:        </usr/wtm/netstat/tmp/raw.$i.$1 sed "" >/usr/wtm/netstat/node.$i/raw.$1
        !          35787:        rm /usr/wtm/netstat/tmp/raw.$i.$1
        !          35788: done
        !          35789: for i in 1 2 3 4 5 6 7 hg hg2
        !          35790:        do grep " F " /netstat/node.$i/raw.$1 >/netstat/node.$i/config.$1
        !          35791:        cat /netstat/node.$i/config.$1 >>/netstat/node.$i/config.${2}$6
        !          35792:        grep " [AI] " /netstat/node.$i/raw.$1 >/netstat/node.$i/info.$1
        !          35793:        cat /netstat/node.$i/info.$1 >>/netstat/node.$i/info.${2}$6
        !          35794: done
        !          35795: /usr/tdk/bin/size0chk /netstat/node.*/raw.$1 | mail mfj wtm
        !          35796: backup backup /netstat/node.*/raw.*
        !          35797: grep " I bbox" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 > /netstat/daily.bbox
        !          35798: grep " A .* MAJOR" /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.alarms | mail mfj wtm
        !          35799: grep " A " /netstat/node.*/raw.$1 | /netstat/bin/printraw -g9-25 | tee /netstat/daily.minors | mail mfj crk
        !          35800: wc /netstat/daily.alarms /netstat/daily.minors | mail wtm
        !          35801: grep " [IF] " /netstat/node.*/raw.$1 | grep -v "unixcscp: Host alive" | grep -v "server .* available" | grep -v "server .* removed" | grep -v "unix9cscp: Host active" | grep -v " I bbox" | /netstat/bin/printraw -g9-25 | tee /netstat/daily.info | mail wtm
        !          35802: grep "[ /]C[123456789h][g .]" /netstat/node.1/raw.$1 | /netstat/bin/printraw | mail wtm
        !          35803: v:���&�&�e&�03$SZ4$��R(wtmbin/n/westphal/netstat/node.3/info.Mar1989v/v14725/7923012604736525 55282927 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          35804: 604736527 55283062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          35805: 604737375 55333928 A SET MAJOR: tdkp: trunk 3 is dead
        !          35806: 604738000 55371456 A SET MAJOR: loopp: trunk 3 appears dead
        !          35807: 604757594 56547541 A SET MINOR: CPM422 7: Cables disconnected
        !          35808: 604757599 56547806 A SET ERROR: CPM422 7: Reset errors
        !          35809: 604757691 56553349 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          35810: 604757739 56556234 I unixcscp: Host alive in slot 7
        !          35811: 604757768 56557968 A SET MINOR: CPM422 7: Cables disconnected
        !          35812: 604757874 56564304 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          35813: 604757975 56570377 A CLEAR ERROR: CPM422 7: Reset errors
        !          35814: 604758006 56572223 I unixcscp: Host alive in slot 7
        !          35815: 604758704 56614111 I unixcscp: Host alive in slot 7
        !          35816: 604758704 56614119 I server sfr removed from 7.5
        !          35817: 604758704 56614141 I server sfr available on 7.5
        !          35818: 604758825 56621433 I unixcscp: Host alive in slot 7
        !          35819: 604758826 56621447 I server sfr removed from 7.5
        !          35820: 604758826 56621471 I server sfr available on 7.5
        !          35821: 604759026 56633480 A SET MINOR: CPM422 7: Cables disconnected
        !          35822: 604759031 56633743 A SET ERROR: CPM422 7: Reset errors
        !          35823: 604759231 56645754 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          35824: 604759266 56647847 I unixcscp: Host alive in slot 7
        !          35825: 604759266 56647854 I server sfr removed from 7.5
        !          35826: 604759266 56647883 I server sfr available on 7.5
        !          35827: 604759292 56649458 A SET MINOR: CPM422 7: Cables disconnected
        !          35828: 604759385 56655001 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          35829: 604759422 56657228 I unixcscp: Host alive in slot 7
        !          35830: 604759455 56659225 A SET MINOR: CPM422 7: Cables disconnected
        !          35831: 604759528 56663582 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          35832: 604759628 56669654 A CLEAR ERROR: CPM422 7: Reset errors
        !          35833: 604759657 56671377 I unixcscp: Host alive in slot 7
        !          35834: 604766873 57104618 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          35835: 604767010 57112800 A CLEAR ERROR: CPMHS 18: Reset errors
        !          35836: 604767052 57115309 A SET MINOR: CPMHS 18: Fiber disconnected
        !          35837: 604767056 57115574 A SET ERROR: CPMHS 18: Reset errors
        !          35838: 604767518 57143292 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          35839: 604767956 57169597 I server tempel removed from 17.7
        !          35840: 604768061 57175885 I unixcscp: Host alive in slot 17
        !          35841: 604768061 57175907 I server tempel available on 17.5
        !          35842: 604768317 57191229 I server tempel removed from 17.5
        !          35843: 604768378 57194910 A SET MINOR: CPMHS 17: Fiber disconnected
        !          35844: 604768382 57195174 A SET ERROR: CPMHS 17: Reset errors
        !          35845: 604768712 57214974 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          35846: 604768808 57220721 I unixcscp: Host alive in slot 17
        !          35847: 604768808 57220743 I server tempel available on 17.5
        !          35848: 604768879 57225006 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35849: 604769279 57249030 A SET MINOR: CPMHS 18: Fiber disconnected
        !          35850: 604769345 57252990 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          35851: 604769348 57253122 A SET ERROR: CPMHS 18: HIB Parity errors
        !          35852: 604769438 57258520 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
        !          35853: 604769442 57258786 I server housay available on 18.5
        !          35854: 604769480 57261042 A CLEAR ERROR: CPMHS 18: Reset errors
        !          35855: 604769743 57276854 I server housay removed from 18.5
        !          35856: 604769770 57278473 A SET MINOR: CPMHS 18: Fiber disconnected
        !          35857: 604769774 57278736 A SET ERROR: CPMHS 18: Reset errors
        !          35858: 604769797 57280116 A SET MINOR: unixcscp: DEAD HOST in slot 18
        !          35859: 604769823 57281640 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          35860: 604769849 57283224 A CLEAR ERROR: CPMHS 18: HIB Parity errors
        !          35861: 604769907 57286690 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
        !          35862: 604769913 57287032 I server housay available on 18.5
        !          35863: 604769955 57289561 A CLEAR ERROR: CPMHS 18: Reset errors
        !          35864: 604770358 57313763 I server housay removed from 18.5
        !          35865: 604770383 57315300 A SET MINOR: CPMHS 18: Fiber disconnected
        !          35866: 604770388 57315565 A SET ERROR: CPMHS 18: Reset errors
        !          35867: 604770416 57317286 A SET MINOR: unixcscp: DEAD HOST in slot 18
        !          35868: 604770419 57317413 A CLEAR MINOR: CPMHS 18: Fiber disconnected
        !          35869: 604770421 57317545 A SET ERROR: CPMHS 18: HIB Parity errors
        !          35870: 604770502 57322449 A CLEAR MINOR: unixcscp: DEAD HOST in slot 18
        !          35871: 604770512 57323016 I server housay available on 18.5
        !          35872: 604770550 57325332 A CLEAR ERROR: CPMHS 18: Reset errors
        !          35873: 604770550 57325332 A CLEAR ERROR: CPMHS 18: HIB Parity errors
        !          35874: 604770795 57340009 I server housay removed from 18.5
        !          35875: 604770821 57341569 A SET MINOR: CPMHS 18: Fiber disconnected
        !          35876: 604770825 57341832 A SET ERROR: CPMHS 18: Reset errors
        !          35877: 604770832 57342246 A SET MINOR: unixcscp: DEAD HOST in slot 18
        !          35878: 604771048 57355179 I server tempel removed from 17.5
        !          35879: 604771109 57358860 A SET MINOR: CPMHS 17: Fiber disconnected
        !          35880: 604771113 57359124 A SET ERROR: CPMHS 17: Reset errors
        !          35881: 604771309 57370872 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          35882: 604771407 57376710 I unixcscp: Host alive in slot 17
        !          35883: 604771407 57376734 I server tempel available on 17.5
        !          35884: 604771452 57379452 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35885: 604771514 57383143 I server tempel removed from 17.5
        !          35886: 604771753 57397536 A SET MINOR: CPMHS 17: Fiber disconnected
        !          35887: 604771758 57397801 A SET ERROR: CPMHS 17: Reset errors
        !          35888: 604771914 57407172 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          35889: 604771989 57411688 I unixcscp: Host alive in slot 17
        !          35890: 604771990 57411712 I server tempel available on 17.5
        !          35891: 604772061 57416016 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35892: 604772152 57421471 I server tempel removed from 17.5
        !          35893: 604772202 57424464 A SET MINOR: CPMHS 17: Fiber disconnected
        !          35894: 604772206 57424729 A SET ERROR: CPMHS 17: Reset errors
        !          35895: 604772389 57435684 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          35896: 604772786 57459529 I unixcscp: Host alive in slot 17
        !          35897: 604772787 57459551 I server tempel available on 17.5
        !          35898: 604772857 57463801 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35899: 604794757 58778103 I server tempel removed from 17.5
        !          35900: 604794810 58781329 A SET ERROR: CPMHS 17: Reset errors
        !          35901: 604794903 58786873 I unixcscp: Host alive in slot 17
        !          35902: 604794903 58786896 I server tempel available on 17.5
        !          35903: 604794949 58789645 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35904: 604837061 61317327 I server tempel removed from 17.5
        !          35905: 604837062 61317356 I server tempel available on 17.7
        !          35906: 604861419 62779345 A SET MINOR: CPM422 7: Cables disconnected
        !          35907: 604861732 62798091 A SET ERROR: CPM422 7: Reset errors
        !          35908: 604863278 62890882 I server tempel removed from 17.7
        !          35909: 604863747 62919036 A SET ERROR: CPMHS 17: Reset errors
        !          35910: 604864079 62938936 I unixcscp: Host alive in slot 17
        !          35911: 604864080 62938953 I server tempel available on 17.5
        !          35912: 604864153 62943324 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35913: 604869752 63279371 I server tempel removed from 17.5
        !          35914: 604869794 63281910 A SET ERROR: CPMHS 17: Reset errors
        !          35915: 604869919 63289448 I unixcscp: Host alive in slot 17
        !          35916: 604869920 63289467 I server tempel available on 17.5
        !          35917: 604869932 63290226 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35918: 604871308 63372803 I server tempel removed from 17.5
        !          35919: 604871348 63375234 A SET ERROR: CPMHS 17: Reset errors
        !          35920: 604871484 63383361 I unixcscp: Host alive in slot 17
        !          35921: 604871484 63383379 I server tempel available on 17.5
        !          35922: 604871487 63383550 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35923: 604873286 63491541 I server tempel removed from 17.5
        !          35924: 604873398 63498268 I unixcscp: Host alive in slot 17
        !          35925: 604873399 63498298 I server tempel available on 17.5
        !          35926: 604962751 68861321 I unixcscp: Host alive in slot 23
        !          35927: 604962782 68863186 I unixcscp: Host alive in slot 23
        !          35928: 604962813 68865061 I unixcscp: Host alive in slot 23
        !          35929: 604962844 68866940 I unixcscp: Host alive in slot 23
        !          35930: 604962875 68868819 I unixcscp: Host alive in slot 23
        !          35931: 604962900 68870277 I unixcscp: Host alive in slot 23
        !          35932: 604962931 68872160 I unixcscp: Host alive in slot 23
        !          35933: 604962962 68874029 I unixcscp: Host alive in slot 23
        !          35934: 604962972 68874624 I unixcscp: Host alive in slot 23
        !          35935: 604962977 68874914 I unixcscp: Host alive in slot 23
        !          35936: 604963008 68876774 I unixcscp: Host alive in slot 23
        !          35937: 604963039 68878650 I unixcscp: Host alive in slot 23
        !          35938: 604963070 68880518 I unixcscp: Host alive in slot 23
        !          35939: 604963102 68882391 I unixcscp: Host alive in slot 23
        !          35940: 604963120 68883468 I server tempel removed from 17.5
        !          35941: 604963133 68884261 I unixcscp: Host alive in slot 23
        !          35942: 604963164 68886130 I unixcscp: Host alive in slot 23
        !          35943: 604963258 68891754 A SET ERROR: CPMHS 17: Reset errors
        !          35944: 604963394 68899938 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35945: 604964867 68988349 I unixcscp: Host alive in slot 17
        !          35946: 604964867 68988373 I server tempel available on 17.5
        !          35947: 604967675 69156917 I unixcscp: Host alive in slot 23
        !          35948: 604967705 69158732 I unixcscp: Host alive in slot 23
        !          35949: 604967736 69160589 I unixcscp: Host alive in slot 23
        !          35950: 604967768 69162462 I unixcscp: Host alive in slot 23
        !          35951: 604967870 69168600 I unixcscp: Host alive in slot 23
        !          35952: 604967901 69170471 I unixcscp: Host alive in slot 23
        !          35953: 604967931 69172291 I unixcscp: Host alive in slot 23
        !          35954: 604967962 69174144 I unixcscp: Host alive in slot 23
        !          35955: 604967993 69176017 I unixcscp: Host alive in slot 23
        !          35956: 604988759 70422361 I server tempel removed from 17.5
        !          35957: 604990579 70531646 A SET ERROR: CPMHS 17: Reset errors
        !          35958: 604990634 70534958 I unixcscp: Host alive in slot 17
        !          35959: 604990635 70534978 I server tempel available on 17.5
        !          35960: 604990705 70539171 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35961: 604991932 70612833 I server tempel removed from 17.5
        !          35962: 604992019 70618055 I unixcscp: Host alive in slot 17
        !          35963: 604992019 70618080 I server tempel available on 17.5
        !          35964: 604992224 70630351 I unixcscp: Host alive in slot 17
        !          35965: 604992575 70651417 I unixcscp: Host alive in slot 17
        !          35966: 604992904 70671206 I server tempel removed from 17.5
        !          35967: 604992940 70673339 I unixcscp: Host alive in slot 17
        !          35968: 604992940 70673350 I server tempel available on 17.5
        !          35969: 605026274 72674000 I unixcscp: Host alive in slot 23
        !          35970: 605031618 72994646 I unixcscp: Host alive in slot 23
        !          35971: 605031684 72998564 I unixcscp: Host alive in slot 23
        !          35972: 605031752 73002681 I unixcscp: Host alive in slot 23
        !          35973: 605032795 73065274 I unixcscp: Host alive in slot 23
        !          35974: 605032966 73075690 I unixcscp: Host alive in slot 23
        !          35975: 605033090 73083024 I unixcscp: Host alive in slot 23
        !          35976: 605033469 73105892 I unixcscp: Host alive in slot 23
        !          35977: 605033598 73113551 I unixcscp: Host alive in slot 23
        !          35978: 605039717 73480819 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          35979: 605040214 73510680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          35980: 605040215 73510695 I server seki removed from 25.6
        !          35981: 605040220 73510998 I server seki available on 25.5
        !          35982: 605124383 78562580 A SET ERROR: CPMHS 17: HIB Parity errors
        !          35983: 605124495 78569311 A CLEAR ERROR: CPMHS 17: HIB Parity errors
        !          35984: 605128130 78787508 A SET ERROR: CPMHS 17: HIB Parity errors
        !          35985: 605128260 78795295 A CLEAR ERROR: CPMHS 17: HIB Parity errors
        !          35986: 605138195 79391590 I server tempel removed from 17.5
        !          35987: 605140142 79508490 A SET ERROR: CPMHS 17: Reset errors
        !          35988: 605140425 79525465 I unixcscp: Host alive in slot 17
        !          35989: 605140425 79525486 I server tempel available on 17.5
        !          35990: 605140459 79527498 A CLEAR ERROR: CPMHS 17: Reset errors
        !          35991: 605225526 84633319 I unixcscp: Host alive in slot 17
        !          35992: 605225718 84644835 I server tempel removed from 17.5
        !          35993: 605225731 84645659 I unixcscp: Host alive in slot 17
        !          35994: 605225732 84645673 I server tempel available on 17.7
        !          35995: 605278089 87788232 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          35996: 605278128 87790537 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          35997: 605278188 87794172 A CLEAR ERROR: CPM422 7: Reset errors
        !          35998: 605278200 87794862 I unixcscp: Host alive in slot 7
        !          35999: 605278203 87795072 I server sfr removed from 7.5
        !          36000: 605278212 87795584 I server sfr available on 7.5
        !          36001: 605278255 87798193 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36002: 605278480 87811656 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36003: 605278742 87827380 I unixcscp: Host alive in slot 7
        !          36004: 605278745 87827568 A SET ERROR: CPM422 7: Reset errors
        !          36005: 605278776 87829429 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36006: 605278778 87829564 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36007: 605278804 87831132 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36008: 605278840 87833305 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36009: 605278916 87837864 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36010: 605279057 87846312 A CLEAR ERROR: CPM422 7: Reset errors
        !          36011: 605281074 87967356 A SET ERROR: CPM422 7: Reset errors
        !          36012: 605281195 87974616 A CLEAR ERROR: CPM422 7: Reset errors
        !          36013: 605281343 87983521 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36014: 605281848 88013820 A SET ERROR: CPM422 7: Reset errors
        !          36015: 605281960 88020552 A CLEAR ERROR: CPM422 7: Reset errors
        !          36016: 605282226 88036524 A SET ERROR: CPM422 7: Reset errors
        !          36017: 605282226 88036524 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36018: 605282294 88040583 I unixcscp: Host alive in slot 7
        !          36019: 605282362 88044708 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36020: 605282392 88046484 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36021: 605282529 88054740 A CLEAR ERROR: CPM422 7: Reset errors
        !          36022: 605283384 88106016 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36023: 605284218 88156112 I unixcscp: Host alive in slot 7
        !          36024: 605284389 88166324 I unixcscp: Host alive in slot 7
        !          36025: 605284537 88175257 A SET ERROR: CPM422 7: Reset errors
        !          36026: 605284700 88185025 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36027: 605284828 88192681 A CLEAR ERROR: CPM422 7: Reset errors
        !          36028: 605284828 88192681 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36029: 605284868 88195105 I unixcscp: Host alive in slot 7
        !          36030: 605284950 88200001 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36031: 605285419 88228189 A SET ERROR: CPM422 7: Reset errors
        !          36032: 605285560 88236636 A CLEAR ERROR: CPM422 7: Reset errors
        !          36033: 605285916 88258020 A SET ERROR: CPM422 7: Reset errors
        !          36034: 605286097 88268904 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36035: 605286692 88304617 A CLEAR ERROR: CPM422 7: Reset errors
        !          36036: 605286887 88316292 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36037: 605286915 88317979 I server tempel removed from 17.7
        !          36038: 605287119 88330204 I unixcscp: Host alive in slot 7
        !          36039: 605287137 88331280 A SET ERROR: CPM422 7: Reset errors
        !          36040: 605287168 88333150 I unixcscp: Host alive in slot 17
        !          36041: 605287168 88333174 I server tempel available on 17.5
        !          36042: 605287247 88337881 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36043: 605287366 88345069 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36044: 605287464 88350949 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36045: 605287684 88364149 A CLEAR ERROR: CPM422 7: Reset errors
        !          36046: 605287694 88364736 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36047: 605287805 88371408 A SET MINOR: CPMHS 25: Fiber disconnected
        !          36048: 605287834 88373125 A CLEAR MINOR: CPMHS 25: Fiber disconnected
        !          36049: 605289189 88454442 A SET ERROR: CPM422 7: Reset errors
        !          36050: 605289208 88455595 I unixcscp: Host alive in slot 7
        !          36051: 605289284 88460172 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36052: 605289378 88465794 A CLEAR ERROR: CPM422 7: Reset errors
        !          36053: 605290212 88515877 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36054: 605291087 88568359 A SET ERROR: CPM422 7: Reset errors
        !          36055: 605291087 88568360 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36056: 605291346 88583934 A CLEAR ERROR: CPM422 7: Reset errors
        !          36057: 605291346 88583935 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36058: 605292331 88643019 I unixcscp: Host alive in slot 7
        !          36059: 605292417 88648218 A SET ERROR: CPM422 7: Reset errors
        !          36060: 605292429 88648933 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36061: 605292433 88649142 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36062: 605292600 88659175 A CLEAR ERROR: CPM422 7: Reset errors
        !          36063: 605292600 88659175 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36064: 605293128 88690855 A SET ERROR: CPM422 7: Reset errors
        !          36065: 605293334 88703262 A CLEAR ERROR: CPM422 7: Reset errors
        !          36066: 605294166 88753159 A SET ERROR: CPM422 7: Reset errors
        !          36067: 605294278 88759891 A CLEAR ERROR: CPM422 7: Reset errors
        !          36068: 605294432 88769130 A SET ERROR: CPMHS 17: Reset errors
        !          36069: 605294549 88776147 I unixcscp: Host alive in slot 17
        !          36070: 605294566 88777182 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36071: 605294821 88792495 A SET ERROR: CPM422 7: Reset errors
        !          36072: 605294933 88799226 A CLEAR ERROR: CPM422 7: Reset errors
        !          36073: 605295404 88827475 A SET ERROR: CPM422 7: Reset errors
        !          36074: 605295663 88843050 A CLEAR ERROR: CPM422 7: Reset errors
        !          36075: 605295989 88862586 A SET ERROR: CPM422 7: Reset errors
        !          36076: 605296152 88872354 A CLEAR ERROR: CPM422 7: Reset errors
        !          36077: 605297233 88937201 I server tempel removed from 17.5
        !          36078: 605297244 88937869 I unixcscp: Host alive in slot 17
        !          36079: 605297244 88937879 I server tempel available on 17.7
        !          36080: 605297798 88971108 A SET ERROR: CPM422 7: Reset errors
        !          36081: 605297985 88982328 A CLEAR ERROR: CPM422 7: Reset errors
        !          36082: 605298676 89023810 I unixcscp: Host alive in slot 7
        !          36083: 605298677 89023816 I server sfr removed from 7.5
        !          36084: 605298677 89023855 I server sfr available on 7.5
        !          36085: 605298682 89024172 A SET ERROR: CPM422 7: Reset errors
        !          36086: 605298845 89033940 A CLEAR ERROR: CPM422 7: Reset errors
        !          36087: 605299102 89049355 I unixcscp: Host alive in slot 7
        !          36088: 605301021 89164620 A SET ERROR: CPM422 7: Reset errors
        !          36089: 605301089 89168652 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36090: 605301211 89175972 A CLEAR ERROR: CPM422 7: Reset errors
        !          36091: 605302137 89231544 A SET ERROR: CPM422 7: Reset errors
        !          36092: 605302143 89231940 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36093: 605302535 89255436 A CLEAR ERROR: CPM422 7: Reset errors
        !          36094: 605302535 89255436 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36095: 605303722 89326716 A SET ERROR: CPM422 7: Reset errors
        !          36096: 605303722 89326716 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36097: 605303912 89338096 I unixcscp: Host alive in slot 7
        !          36098: 605303972 89341704 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36099: 605304026 89344932 A CLEAR ERROR: CPM422 7: Reset errors
        !          36100: 605304026 89344932 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36101: 605304824 89392842 A SET ERROR: CPMHS 17: Reset errors
        !          36102: 605304960 89401027 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36103: 605304962 89401106 I unixcscp: Host alive in slot 17
        !          36104: 605305136 89411556 I server tempel removed from 17.7
        !          36105: 605305145 89412100 I unixcscp: Host alive in slot 17
        !          36106: 605305145 89412112 I server tempel available on 17.9
        !          36107: 605305532 89435352 A SET ERROR: CPM422 7: Reset errors
        !          36108: 605305788 89450664 A CLEAR ERROR: CPM422 7: Reset errors
        !          36109: 605306091 89468863 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36110: 605306093 89468988 I server seki removed from 25.5
        !          36111: 605306151 89472462 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36112: 605306215 89476336 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36113: 605306220 89476647 I server seki available on 25.5
        !          36114: 605306396 89487156 A SET ERROR: CPM422 7: Reset errors
        !          36115: 605306591 89498904 A SET ERROR: CPM422 7: FIFO synchronization errors
        !          36116: 605306635 89501532 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36117: 605306703 89505636 A CLEAR ERROR: CPM422 7: FIFO synchronization errors
        !          36118: 605306712 89506164 A CLEAR ERROR: CPM422 7: Reset errors
        !          36119: 605307179 89534148 A SET ERROR: CPM422 7: Reset errors
        !          36120: 605307391 89546913 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36121: 605307394 89547032 I server seki removed from 25.5
        !          36122: 605307398 89547305 I server seki available on 25.5
        !          36123: 605307608 89559948 A CLEAR ERROR: CPM422 7: Reset errors
        !          36124: 605308589 89618820 A SET ERROR: CPM422 7: Reset errors
        !          36125: 605308756 89628852 A CLEAR ERROR: CPM422 7: Reset errors
        !          36126: 605308956 89640864 A SET ERROR: CPM422 7: Reset errors
        !          36127: 605309187 89654724 A CLEAR ERROR: CPM422 7: Reset errors
        !          36128: 605309854 89694720 A SET ERROR: CPM422 7: Reset errors
        !          36129: 605310038 89705808 A CLEAR ERROR: CPM422 7: Reset errors
        !          36130: 605311490 89792928 A SET ERROR: CPM422 7: Reset errors
        !          36131: 605311754 89808768 A CLEAR ERROR: CPM422 7: Reset errors
        !          36132: 605311978 89822232 A SET ERROR: CPM422 7: Reset errors
        !          36133: 605312103 89829756 A CLEAR ERROR: CPM422 7: Reset errors
        !          36134: 605312174 89833980 A SET ERROR: CPM422 7: Reset errors
        !          36135: 605312400 89847576 A CLEAR ERROR: CPM422 7: Reset errors
        !          36136: 605312427 89849160 A SET ERROR: CPM422 7: Reset errors
        !          36137: 605312539 89855892 A CLEAR ERROR: CPM422 7: Reset errors
        !          36138: 605313122 89890872 A SET ERROR: CPM422 7: Reset errors
        !          36139: 605313937 89939823 I unixcscp: Host alive in slot 7
        !          36140: 605313937 89939829 I server sfr removed from 7.5
        !          36141: 605313961 89941251 I server sfr available on 7.5
        !          36142: 605314437 89969814 A CLEAR ERROR: CPM422 7: Reset errors
        !          36143: 605314542 89976150 A SET ERROR: CPM422 7: Reset errors
        !          36144: 605314899 89997534 A CLEAR ERROR: CPM422 7: Reset errors
        !          36145: 605315189 90014958 A SET ERROR: CPM422 7: Reset errors
        !          36146: 605315481 90032514 A CLEAR ERROR: CPM422 7: Reset errors
        !          36147: 605316095 90069342 A SET ERROR: CPM422 7: Reset errors
        !          36148: 605316118 90070699 I unixcscp: Host alive in slot 7
        !          36149: 605316291 90081090 A CLEAR ERROR: CPM422 7: Reset errors
        !          36150: 605316728 90107358 A SET ERROR: CPM422 7: Reset errors
        !          36151: 605316734 90107688 I unixcscp: Host alive in slot 7
        !          36152: 605316871 90115938 A CLEAR ERROR: CPM422 7: Reset errors
        !          36153: 605317450 90150654 A SET ERROR: CPM422 7: Reset errors
        !          36154: 605317562 90157386 A CLEAR ERROR: CPM422 7: Reset errors
        !          36155: 605317584 90158700 I unixcscp: Host alive in slot 17
        !          36156: 605317763 90169368 I server tempel removed from 17.9
        !          36157: 605317771 90169876 I unixcscp: Host alive in slot 17
        !          36158: 605317771 90169886 I server tempel available on 17.11
        !          36159: 605318093 90189198 A SET ERROR: CPM422 7: Reset errors
        !          36160: 605318099 90189562 I unixcscp: Host alive in slot 7
        !          36161: 605318205 90195943 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36162: 605318382 90206532 I unixcscp: Host alive in slot 7
        !          36163: 605318480 90212442 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36164: 605318507 90214014 A CLEAR ERROR: CPM422 7: Reset errors
        !          36165: 605318782 90230526 A SET MINOR: SWITCH: Receiving out of range channel numbers
        !          36166: 605318819 90232752 I unixcscp: Host alive in slot 7
        !          36167: 605318918 90238710 A CLEAR MINOR: SWITCH: Receiving out of range channel numbers
        !          36168: 605318944 90240282 A SET ERROR: CPM422 7: Reset errors
        !          36169: 605319298 90261534 A CLEAR ERROR: CPM422 7: Reset errors
        !          36170: 605319543 90276207 I unixcscp: Host alive in slot 7
        !          36171: 605319545 90276318 A SET ERROR: CPM422 7: Reset errors
        !          36172: 605319558 90277098 I unixcscp: Host alive in slot 7
        !          36173: 605319594 90279267 I unixcscp: Host alive in slot 7
        !          36174: 605319657 90283056 A CLEAR ERROR: CPM422 7: Reset errors
        !          36175: 605340155 91513399 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36176: 605340157 91513534 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36177: 605340265 91519999 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36178: 605340267 91520134 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36179: 605363689 92925966 A SET MINOR: CPM422 7: Cables disconnected
        !          36180: 605363898 92938506 A SET ERROR: CPM422 7: Reset errors
        !          36181: 605364523 92975994 A CLEAR ERROR: CPM422 7: Reset errors
        !          36182: 605364628 92982330 A SET ERROR: CPM422 7: Reset errors
        !          36183: 605365020 93005826 A CLEAR MINOR: CPM422 7: Cables disconnected
        !          36184: 605365070 93008863 A SET MAJOR: CPM422 7: Wrong device state
        !          36185: 605365088 93009914 A CLEAR MAJOR: CPM422 7: Wrong device state
        !          36186: 605365088 93009914 A CLEAR ERROR: CPM422 7: Reset errors
        !          36187: 605365088 93009919 A SET MAJOR: CPM422 7: Wrong device state
        !          36188: 605365094 93010298 A CLEAR MAJOR: CPM422 7: Wrong device state
        !          36189: 605365184 93015660 I unixcscp: Host alive in slot 7
        !          36190: 605365184 93015669 I server sfr removed from 7.5
        !          36191: 605365185 93015725 I server sfr available on 7.5
        !          36192: 605371581 93399670 I unixcscp: Host alive in slot 23
        !          36193: 605374037 93547110 I unixcscp: Host alive in slot 23
        !          36194: 605374042 93547378 I server fornax available on 23.3
        !          36195: 605374967 93602919 I server fornax removed from 23.3
        !          36196: 605375106 93611245 I unixcscp: Host alive in slot 23
        !          36197: 605375137 93613117 I unixcscp: Host alive in slot 23
        !          36198: 605375404 93629145 I unixcscp: Host alive in slot 23
        !          36199: 605375409 93629437 I server fornax available on 23.3
        !          36200: 605380193 93916591 A SET ERROR: CPMHS 17: Reset errors
        !          36201: 605380312 93923740 I unixcscp: Host alive in slot 17
        !          36202: 605380318 93924115 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36203: 605380431 93930886 I server tempel removed from 17.11
        !          36204: 605380441 93931502 I server tempel available on 17.9
        !          36205: 605386561 94298752 I server fornax removed from 23.3
        !          36206: 605387674 94365558 A SET ERROR: CPMHS 17: Reset errors
        !          36207: 605387796 94372863 I unixcscp: Host alive in slot 17
        !          36208: 605387810 94373742 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36209: 605388211 94397814 I server tempel removed from 17.9
        !          36210: 605388220 94398311 I unixcscp: Host alive in slot 17
        !          36211: 605388220 94398321 I server tempel available on 17.11
        !          36212: 605401951 95222523 I unixcscp: Host alive in slot 17
        !          36213: 605401953 95222611 I server tempel removed from 17.11
        !          36214: 605401954 95222668 I server tempel available on 17.5
        !          36215: 605406634 95503555 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36216: 605406636 95503690 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36217: 605431426 96991609 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36218: 605431428 96991744 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36219: 605450141 98114911 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36220: 605450238 98120704 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36221: 605450240 98120822 I server seki removed from 25.5
        !          36222: 605450245 98121115 I server seki available on 25.6
        !          36223: 605455563 98440345 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36224: 605455565 98440480 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36225: 605461393 98790300 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36226: 605461435 98792811 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36227: 605461437 98792927 I server seki removed from 25.6
        !          36228: 605461442 98793217 I server seki available on 25.5
        !          36229: 605463955 98944092 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36230: 605465044 99009471 I server tempel removed from 17.5
        !          36231: 605465170 99016999 I unixcscp: Host alive in slot 17
        !          36232: 605465172 99017145 I server tempel available on 17.5
        !          36233: 605472098 99432778 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36234: 605476659 99706542 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36235: 605476698 99708922 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36236: 605476795 99714726 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36237: 605476887 99720274 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36238: 605477035 99729114 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36239: 605477462 99754733 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36240: 605478543 99819672 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36241: 605479144 99855713 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36242: 605479212 99859806 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36243: 605479516 99878026 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36244: 605479566 99881058 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36245: 605479799 99895054 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36246: 605479865 99899010 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36247: 605480279 99923830 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36248: 605480338 99927390 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36249: 605482128 100034842 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36250: 605482137 100035385 I unixcscp: Host alive in slot 23
        !          36251: 605482142 100035687 I server fornax available on 23.3
        !          36252: 605482187 100038402 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36253: 605485308 100225720 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36254: 605492052 100630446 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36255: 605492052 100630450 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36256: 605543766 103734399 I server fornax removed from 23.3
        !          36257: 605560032 104710704 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36258: 605560032 104710708 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36259: 605560034 104710836 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36260: 605560034 104710840 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36261: 605572871 105481332 I unixcscp: Host alive in slot 7
        !          36262: 605572871 105481340 I server sfr removed from 7.5
        !          36263: 605572872 105481396 I server sfr available on 7.5
        !          36264: 605572895 105482760 I unixcscp: Host alive in slot 7
        !          36265: 605572895 105482769 I server sfr removed from 7.5
        !          36266: 605572895 105482816 I server sfr available on 7.5
        !          36267: 605801694 119215626 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36268: 605802316 119252934 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36269: 605802318 119253051 I server seki removed from 25.5
        !          36270: 605802323 119253330 I server seki available on 25.5
        !          36271: 605804563 119387808 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36272: 605811282 119791135 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36273: 605812220 119847403 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          36274: 605812391 119857683 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36275: 605812393 119857758 I server seki removed from 25.5
        !          36276: 605812397 119858001 I server seki available on 25.5
        !          36277: 605812536 119866345 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          36278: 605815270 120030419 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36279: 605815272 120030548 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36280: 605819679 120295080 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36281: 605820270 120330526 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36282: 605820272 120330625 I server seki removed from 25.5
        !          36283: 605820276 120330878 I server seki available on 25.5
        !          36284: 605820634 120352402 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36285: 605823599 120530323 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36286: 605823716 120537345 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36287: 605823718 120537458 I server seki removed from 25.5
        !          36288: 605823723 120537778 I server seki available on 25.6
        !          36289: 605823862 120546115 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36290: 605825759 120659989 A SET ERROR: CPMHS 17: Reset errors
        !          36291: 605825949 120671386 I unixcscp: Host alive in slot 23
        !          36292: 605825954 120671703 I server fornax available on 23.3
        !          36293: 605825964 120672324 I unixcscp: Host alive in slot 17
        !          36294: 605825966 120672438 I server tempel removed from 17.5
        !          36295: 605825967 120672510 I server tempel available on 17.5
        !          36296: 605825977 120673057 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36297: 605826363 120696220 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36298: 605826609 120710992 I server fornax removed from 23.3
        !          36299: 605826672 120714774 I unixcscp: Host alive in slot 23
        !          36300: 605826676 120715057 I server fornax available on 23.3
        !          36301: 605827236 120748627 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36302: 605827452 120761583 I server fornax removed from 23.3
        !          36303: 605827524 120765956 I unixcscp: Host alive in slot 23
        !          36304: 605827529 120766244 I server fornax available on 23.3
        !          36305: 605828274 120810963 I server fornax removed from 23.3
        !          36306: 605828396 120818297 I unixcscp: Host alive in slot 23
        !          36307: 605828401 120818587 I server fornax available on 23.3
        !          36308: 605828667 120834501 I server fornax removed from 23.3
        !          36309: 605828846 120845272 I unixcscp: Host alive in slot 23
        !          36310: 605828850 120845554 I server fornax available on 23.3
        !          36311: 605828936 120850677 I server fornax removed from 23.3
        !          36312: 605829763 120900322 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36313: 605830342 120935085 I unixcscp: Host alive in slot 23
        !          36314: 605830347 120935371 I server fornax available on 23.3
        !          36315: 605830702 120956692 I server fornax removed from 23.3
        !          36316: 605830789 120961897 I unixcscp: Host alive in slot 23
        !          36317: 605830794 120962180 I server fornax available on 23.3
        !          36318: 605831239 120988905 I server fornax removed from 23.3
        !          36319: 605831290 120991981 I unixcscp: Host alive in slot 23
        !          36320: 605831295 120992262 I server fornax available on 23.3
        !          36321: 605831500 121004589 I server fornax removed from 23.3
        !          36322: 605831567 121008630 I unixcscp: Host alive in slot 23
        !          36323: 605831572 121008924 I server fornax available on 23.3
        !          36324: 605831778 121021239 I server fornax removed from 23.3
        !          36325: 605831804 121022856 I unixcscp: Host alive in slot 23
        !          36326: 605831809 121023145 I server fornax available on 23.3
        !          36327: 605835771 121260954 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36328: 605835805 121263010 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36329: 605835808 121263127 I server seki removed from 25.6
        !          36330: 605835813 121263461 I server seki available on 25.5
        !          36331: 605836196 121286406 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36332: 605836306 121293023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36333: 605836308 121293140 I server seki removed from 25.5
        !          36334: 605836314 121293471 I server seki available on 25.6
        !          36335: 605845002 121814953 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36336: 605845002 121814957 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36337: 605863302 122913331 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36338: 605863302 122913334 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36339: 605863304 122913463 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36340: 605863304 122913466 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36341: 605880991 123975019 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36342: 605881642 124014100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36343: 605881643 124014186 I server seki removed from 25.6
        !          36344: 605881708 124018067 I server seki available on 25.7
        !          36345: 605881852 124026696 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36346: 605882161 124045245 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36347: 605882163 124045363 I server seki removed from 25.7
        !          36348: 605882168 124045703 I server seki available on 25.5
        !          36349: 605894768 124801930 I server tempel removed from 17.5
        !          36350: 605894851 124806931 I unixcscp: Host alive in slot 17
        !          36351: 605894854 124807097 I server tempel available on 17.5
        !          36352: 605897213 124948701 I server fornax removed from 23.3
        !          36353: 605897957 124993384 I server tempel removed from 17.5
        !          36354: 605898063 124999723 A SET ERROR: CPMHS 17: Reset errors
        !          36355: 605898175 125006475 I unixcscp: Host alive in slot 17
        !          36356: 605898178 125006644 I server tempel available on 17.5
        !          36357: 605898217 125008963 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36358: 605898298 125013846 A SET ERROR: CPMHS 17: Reset errors
        !          36359: 605898473 125024337 I unixcscp: Host alive in slot 17
        !          36360: 605898475 125024460 I server tempel removed from 17.5
        !          36361: 605898476 125024493 I server tempel available on 17.5
        !          36362: 605898481 125024803 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36363: 605899109 125062480 I server tempel removed from 17.5
        !          36364: 605899208 125068479 I unixcscp: Host alive in slot 17
        !          36365: 605899212 125068660 I server tempel available on 17.5
        !          36366: 605899904 125110208 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36367: 605899983 125114962 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36368: 605900102 125122087 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36369: 605900403 125140174 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36370: 605900583 125150995 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36371: 605900610 125152582 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36372: 605901818 125225073 I server tempel removed from 17.5
        !          36373: 605901932 125231923 I unixcscp: Host alive in slot 17
        !          36374: 605901935 125232119 I server tempel available on 17.5
        !          36375: 605903181 125306898 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36376: 605903181 125306902 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36377: 605903261 125311694 A SET ERROR: CPMHS 17: Reset errors
        !          36378: 605903397 125319877 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36379: 605903399 125320011 I unixcscp: Host alive in slot 17
        !          36380: 605903402 125320128 I server tempel removed from 17.5
        !          36381: 605903403 125320198 I server tempel available on 17.5
        !          36382: 605903633 125334042 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36383: 605903909 125350582 I unixcscp: Host alive in slot 23
        !          36384: 605903914 125350887 I server fornax available on 23.3
        !          36385: 605903940 125352459 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36386: 605903942 125352566 I server seki removed from 25.5
        !          36387: 605903948 125352904 I server seki available on 25.6
        !          36388: 605903970 125354188 I server fornax removed from 23.3
        !          36389: 605905050 125419059 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36390: 605905107 125422508 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36391: 605905109 125422617 I server seki removed from 25.6
        !          36392: 605905114 125422939 I server seki available on 25.5
        !          36393: 605906967 125534135 I unixcscp: Host alive in slot 23
        !          36394: 605906973 125534499 I server fornax available on 23.3
        !          36395: 605907027 125537739 I server fornax removed from 23.3
        !          36396: 605907966 125594116 I unixcscp: Host alive in slot 23
        !          36397: 605907972 125594490 I server fornax available on 23.3
        !          36398: 605908780 125642981 I server tempel removed from 17.5
        !          36399: 605908887 125649349 A SET ERROR: CPMHS 17: Reset errors
        !          36400: 605908994 125655793 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36401: 605909071 125660417 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36402: 605909319 125675329 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36403: 605909340 125676557 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36404: 605909362 125677884 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36405: 605909553 125689358 A SET MINOR: CPMHS 17: Fiber disconnected
        !          36406: 605909557 125689621 A SET ERROR: CPMHS 17: Reset errors
        !          36407: 605909586 125691339 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          36408: 605909769 125702292 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36409: 605909997 125716027 I unixcscp: Host alive in slot 17
        !          36410: 605910000 125716166 I server tempel available on 17.5
        !          36411: 605911293 125793804 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36412: 605911500 125806216 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36413: 605911898 125830121 I server tempel removed from 17.5
        !          36414: 605912011 125836903 I unixcscp: Host alive in slot 17
        !          36415: 605912013 125837048 I server tempel available on 17.5
        !          36416: 605912214 125849106 A SET MINOR: CPMHS 17: Fiber disconnected
        !          36417: 605912219 125849370 A SET ERROR: CPMHS 17: Reset errors
        !          36418: 605912234 125850294 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          36419: 605912371 125858505 A SET MINOR: CPMHS 17: Fiber disconnected
        !          36420: 605912389 125859615 I server tempel removed from 17.5
        !          36421: 605912393 125859846 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36422: 605912393 125859847 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          36423: 605912394 125859876 A SET MINOR: unix9cscp: Host dead in slot 20
        !          36424: 605912544 125868906 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36425: 605912630 125874059 I unixcscp: Host alive in slot 17
        !          36426: 605912690 125877666 I server tempel available on 17.7
        !          36427: 605912816 125885236 I server tempel removed from 17.7
        !          36428: 605912916 125891207 I unixcscp: Host alive in slot 17
        !          36429: 605912918 125891349 I server tempel available on 17.5
        !          36430: 605913702 125938402 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36431: 605913704 125938514 I server seki removed from 25.5
        !          36432: 605913710 125938843 I server seki available on 25.5
        !          36433: 605914160 125965857 I server tempel removed from 17.5
        !          36434: 605914243 125970844 I unixcscp: Host alive in slot 17
        !          36435: 605914245 125970985 I server tempel available on 17.5
        !          36436: 605915203 126028522 I server tempel removed from 17.5
        !          36437: 605915326 126035872 I unixcscp: Host alive in slot 17
        !          36438: 605915328 126036021 I server tempel available on 17.5
        !          36439: 605915572 126050629 I server tempel removed from 17.5
        !          36440: 605915663 126056133 I unixcscp: Host alive in slot 17
        !          36441: 605915666 126056277 I server tempel available on 17.5
        !          36442: 605917004 126136584 I server tempel removed from 17.5
        !          36443: 605917102 126142501 A SET ERROR: CPMHS 17: Reset errors
        !          36444: 605917224 126149809 I unixcscp: Host alive in slot 17
        !          36445: 605917226 126149950 I server tempel available on 17.5
        !          36446: 605917294 126153986 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36447: 605917595 126172069 A SET ERROR: CPMHS 17: Reset errors
        !          36448: 605917652 126175470 I server tempel removed from 17.5
        !          36449: 605917655 126175698 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36450: 605917729 126180123 A SET MINOR: CPMHS 17: Fiber disconnected
        !          36451: 605917734 126180386 A SET ERROR: CPMHS 17: Reset errors
        !          36452: 605917753 126181575 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          36453: 605917942 126192926 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36454: 605917945 126193079 I unixcscp: Host alive in slot 17
        !          36455: 605917947 126193220 I server tempel available on 17.5
        !          36456: 605918193 126207949 I server tempel removed from 17.5
        !          36457: 605918307 126214782 I unixcscp: Host alive in slot 17
        !          36458: 605918309 126214924 I server tempel available on 17.5
        !          36459: 605918594 126232019 I server tempel removed from 17.5
        !          36460: 605918693 126237969 I unixcscp: Host alive in slot 17
        !          36461: 605918695 126238110 I server tempel available on 17.5
        !          36462: 605981745 130022387 I server seki removed from 25.5
        !          36463: 605981778 130024404 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36464: 605982068 130041815 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36465: 605982075 130042235 I server seki available on 25.5
        !          36466: 605991035 130580011 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36467: 605991237 130592142 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36468: 605991240 130592252 I server seki removed from 25.5
        !          36469: 605991245 130592605 I server seki available on 25.6
        !          36470: 605991507 130608342 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36471: 605992365 130659798 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36472: 605992367 130659911 I server seki removed from 25.6
        !          36473: 605992372 130660235 I server seki available on 25.5
        !          36474: 605995034 130819998 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36475: 605995589 130853319 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36476: 605995591 130853426 I server seki removed from 25.5
        !          36477: 605995597 130853765 I server seki available on 25.5
        !          36478: 605995799 130865917 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36479: 605995979 130876698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36480: 605995981 130876808 I server seki removed from 25.5
        !          36481: 605995987 130877174 I server seki available on 25.5
        !          36482: 605996159 130887498 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36483: 605996752 130923109 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36484: 605996754 130923218 I server seki removed from 25.5
        !          36485: 605996759 130923553 I server seki available on 25.5
        !          36486: 605998304 131016259 I server tempel removed from 17.5
        !          36487: 605998431 131023916 A SET ERROR: CPMHS 17: Reset errors
        !          36488: 605998580 131032855 I unixcscp: Host alive in slot 17
        !          36489: 605998583 131033004 I server tempel available on 17.5
        !          36490: 605998623 131035400 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36491: 605998946 131054804 A SET ERROR: CPMHS 17: Reset errors
        !          36492: 605999126 131065627 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36493: 605999128 131065700 I unixcscp: Host alive in slot 17
        !          36494: 605999130 131065824 I server tempel removed from 17.5
        !          36495: 605999130 131065855 I server tempel available on 17.5
        !          36496: 606001792 131225628 I server tempel removed from 17.5
        !          36497: 606001920 131233299 I unixcscp: Host alive in slot 17
        !          36498: 606001922 131233456 I server tempel available on 17.5
        !          36499: 606008836 131648373 I server tempel removed from 17.5
        !          36500: 606008932 131654101 A SET ERROR: CPMHS 17: Reset errors
        !          36501: 606009046 131660981 I unixcscp: Host alive in slot 17
        !          36502: 606009049 131661135 I server tempel available on 17.5
        !          36503: 606009116 131665188 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36504: 606054431 134384997 I unixcscp: Host alive in slot 29/2
        !          36505: 606054433 134385091 I unixcscp: Host alive in slot 29/2
        !          36506: 606054433 134385122 I unixcscp: Host alive in slot 29/2
        !          36507: 606054434 134385155 I unixcscp: Host alive in slot 29/2
        !          36508: 606054434 134385201 I unixcscp: Host alive in slot 29/2
        !          36509: 606054435 134385232 I unixcscp: Host alive in slot 29/2
        !          36510: 606054435 134385264 I unixcscp: Host alive in slot 29/2
        !          36511: 606054436 134385297 I unixcscp: Host alive in slot 29/2
        !          36512: 606054437 134385342 I unixcscp: Host alive in slot 29/2
        !          36513: 606054449 134386064 I unixcscp: Host alive in slot 29/2
        !          36514: 606054449 134386095 I unixcscp: Host alive in slot 29/2
        !          36515: 606054450 134386142 I unixcscp: Host alive in slot 29/2
        !          36516: 606054451 134386174 I unixcscp: Host alive in slot 29/2
        !          36517: 606054451 134386221 I unixcscp: Host alive in slot 29/2
        !          36518: 606054452 134386269 I unixcscp: Host alive in slot 29/2
        !          36519: 606054453 134386299 I unixcscp: Host alive in slot 29/2
        !          36520: 606054453 134386331 I unixcscp: Host alive in slot 29/2
        !          36521: 606054454 134386362 I unixcscp: Host alive in slot 29/2
        !          36522: 606054454 134386408 I unixcscp: Host alive in slot 29/2
        !          36523: 606054455 134386440 I unixcscp: Host alive in slot 29/2
        !          36524: 606054456 134386471 I unixcscp: Host alive in slot 29/2
        !          36525: 606054456 134386503 I unixcscp: Host alive in slot 29/2
        !          36526: 606054464 134387005 I unixcscp: Host alive in slot 29/2
        !          36527: 606054465 134387036 I unixcscp: Host alive in slot 29/2
        !          36528: 606054466 134387083 I unixcscp: Host alive in slot 29/2
        !          36529: 606054467 134387131 I unixcscp: Host alive in slot 29/2
        !          36530: 606054467 134387179 I unixcscp: Host alive in slot 29/2
        !          36531: 606054468 134387225 I unixcscp: Host alive in slot 29/2
        !          36532: 606054469 134387256 I unixcscp: Host alive in slot 29/2
        !          36533: 606054469 134387287 I unixcscp: Host alive in slot 29/2
        !          36534: 606054470 134387335 I unixcscp: Host alive in slot 29/2
        !          36535: 606054471 134387381 I unixcscp: Host alive in slot 29/2
        !          36536: 606054471 134387413 I unixcscp: Host alive in slot 29/2
        !          36537: 606054472 134387446 I unixcscp: Host alive in slot 29/2
        !          36538: 606054729 134402914 I unixcscp: Host alive in slot 29/2
        !          36539: 606054731 134403008 I unixcscp: Host alive in slot 29/2
        !          36540: 606054732 134403053 I unixcscp: Host alive in slot 29/2
        !          36541: 606054732 134403086 I unixcscp: Host alive in slot 29/2
        !          36542: 606054733 134403117 I unixcscp: Host alive in slot 29/2
        !          36543: 606054733 134403148 I unixcscp: Host alive in slot 29/2
        !          36544: 606054734 134403194 I unixcscp: Host alive in slot 29/2
        !          36545: 606054735 134403225 I unixcscp: Host alive in slot 29/2
        !          36546: 606054735 134403257 I unixcscp: Host alive in slot 29/2
        !          36547: 606054736 134403288 I unixcscp: Host alive in slot 29/2
        !          36548: 606054737 134403335 I unixcscp: Host alive in slot 29/2
        !          36549: 606054737 134403382 I unixcscp: Host alive in slot 29/2
        !          36550: 606054738 134403414 I unixcscp: Host alive in slot 29/2
        !          36551: 606054739 134403460 I unixcscp: Host alive in slot 29/2
        !          36552: 606054739 134403491 I unixcscp: Host alive in slot 29/2
        !          36553: 606054740 134403523 I unixcscp: Host alive in slot 29/2
        !          36554: 606054740 134403556 I unixcscp: Host alive in slot 29/2
        !          36555: 606054741 134403601 I unixcscp: Host alive in slot 29/2
        !          36556: 606054742 134403633 I unixcscp: Host alive in slot 29/2
        !          36557: 606054742 134403664 I unixcscp: Host alive in slot 29/2
        !          36558: 606054743 134403715 I unixcscp: Host alive in slot 29/2
        !          36559: 606054744 134403758 I unixcscp: Host alive in slot 29/2
        !          36560: 606054744 134403790 I unixcscp: Host alive in slot 29/2
        !          36561: 606054745 134403822 I unixcscp: Host alive in slot 29/2
        !          36562: 606054745 134403868 I unixcscp: Host alive in slot 29/2
        !          36563: 606054757 134404559 I unixcscp: Host alive in slot 29/2
        !          36564: 606054757 134404590 I unixcscp: Host alive in slot 29/2
        !          36565: 606054758 134404637 I unixcscp: Host alive in slot 29/2
        !          36566: 606054759 134404684 I unixcscp: Host alive in slot 29/2
        !          36567: 606054760 134404716 I unixcscp: Host alive in slot 29/2
        !          36568: 606054760 134404763 I unixcscp: Host alive in slot 29/2
        !          36569: 606054761 134404810 I unixcscp: Host alive in slot 29/2
        !          36570: 606054762 134404841 I unixcscp: Host alive in slot 29/2
        !          36571: 606054762 134404873 I unixcscp: Host alive in slot 29/2
        !          36572: 606054763 134404920 I unixcscp: Host alive in slot 29/2
        !          36573: 606054763 134404951 I unixcscp: Host alive in slot 29/2
        !          36574: 606054764 134404998 I unixcscp: Host alive in slot 29/2
        !          36575: 606055588 134454447 I unixcscp: Host alive in slot 29/2
        !          36576: 606055589 134454540 I unixcscp: Host alive in slot 29/2
        !          36577: 606055590 134454587 I unixcscp: Host alive in slot 29/2
        !          36578: 606055591 134454618 I unixcscp: Host alive in slot 29/2
        !          36579: 606055591 134454665 I unixcscp: Host alive in slot 29/2
        !          36580: 606055592 134454712 I unixcscp: Host alive in slot 29/2
        !          36581: 606055593 134454744 I unixcscp: Host alive in slot 29/2
        !          36582: 606055593 134454778 I unixcscp: Host alive in slot 29/2
        !          36583: 606055594 134454822 I unixcscp: Host alive in slot 29/2
        !          36584: 606055595 134454854 I unixcscp: Host alive in slot 29/2
        !          36585: 606055595 134454885 I unixcscp: Host alive in slot 29/2
        !          36586: 606055596 134454933 I unixcscp: Host alive in slot 29/2
        !          36587: 606055597 134454979 I unixcscp: Host alive in slot 29/2
        !          36588: 606055597 134455012 I unixcscp: Host alive in slot 29/2
        !          36589: 606055598 134455044 I unixcscp: Host alive in slot 29/2
        !          36590: 606055599 134455089 I unixcscp: Host alive in slot 29/2
        !          36591: 606055599 134455121 I unixcscp: Host alive in slot 29/2
        !          36592: 606055600 134455154 I unixcscp: Host alive in slot 29/2
        !          36593: 606055600 134455199 I unixcscp: Host alive in slot 29/2
        !          36594: 606055601 134455245 I unixcscp: Host alive in slot 29/2
        !          36595: 606055602 134455277 I unixcscp: Host alive in slot 29/2
        !          36596: 606055602 134455308 I unixcscp: Host alive in slot 29/2
        !          36597: 606055603 134455355 I unixcscp: Host alive in slot 29/2
        !          36598: 606055604 134455387 I unixcscp: Host alive in slot 29/2
        !          36599: 606055604 134455418 I unixcscp: Host alive in slot 29/2
        !          36600: 606055605 134455453 I unixcscp: Host alive in slot 29/2
        !          36601: 606055605 134455497 I unixcscp: Host alive in slot 29/2
        !          36602: 606055606 134455528 I unixcscp: Host alive in slot 29/2
        !          36603: 606055606 134455560 I unixcscp: Host alive in slot 29/2
        !          36604: 606055607 134455606 I unixcscp: Host alive in slot 29/2
        !          36605: 606055608 134455653 I unixcscp: Host alive in slot 29/2
        !          36606: 606055608 134455684 I unixcscp: Host alive in slot 29/2
        !          36607: 606055620 134456374 I unixcscp: Host alive in slot 29/2
        !          36608: 606055621 134456406 I unixcscp: Host alive in slot 29/2
        !          36609: 606055621 134456453 I unixcscp: Host alive in slot 29/2
        !          36610: 606055622 134456502 I unixcscp: Host alive in slot 29/2
        !          36611: 606055623 134456547 I unixcscp: Host alive in slot 29/2
        !          36612: 606055623 134456579 I unixcscp: Host alive in slot 29/2
        !          36613: 606055624 134456610 I unixcscp: Host alive in slot 29/2
        !          36614: 606055630 134456955 I unixcscp: Host alive in slot 29/2
        !          36615: 606055630 134456987 I unixcscp: Host alive in slot 29/2
        !          36616: 606055631 134457036 I unixcscp: Host alive in slot 29/2
        !          36617: 606055632 134457081 I unixcscp: Host alive in slot 29/2
        !          36618: 606055632 134457112 I unixcscp: Host alive in slot 29/2
        !          36619: 606055633 134457144 I unixcscp: Host alive in slot 29/2
        !          36620: 606055633 134457176 I unixcscp: Host alive in slot 29/2
        !          36621: 606055634 134457221 I unixcscp: Host alive in slot 29/2
        !          36622: 606055635 134457253 I unixcscp: Host alive in slot 29/2
        !          36623: 606055635 134457284 I unixcscp: Host alive in slot 29/2
        !          36624: 606055636 134457331 I unixcscp: Host alive in slot 29/2
        !          36625: 606055637 134457365 I unixcscp: Host alive in slot 29/2
        !          36626: 606055637 134457394 I unixcscp: Host alive in slot 29/2
        !          36627: 606055638 134457441 I unixcscp: Host alive in slot 29/2
        !          36628: 606055638 134457474 I unixcscp: Host alive in slot 29/2
        !          36629: 606055639 134457505 I unixcscp: Host alive in slot 29/2
        !          36630: 606055639 134457536 I unixcscp: Host alive in slot 29/2
        !          36631: 606055640 134457570 I unixcscp: Host alive in slot 29/2
        !          36632: 606055641 134457614 I unixcscp: Host alive in slot 29/2
        !          36633: 606055641 134457646 I unixcscp: Host alive in slot 29/2
        !          36634: 606055642 134457677 I unixcscp: Host alive in slot 29/2
        !          36635: 606055642 134457712 I unixcscp: Host alive in slot 29/2
        !          36636: 606055643 134457756 I unixcscp: Host alive in slot 29/2
        !          36637: 606055644 134457787 I unixcscp: Host alive in slot 29/2
        !          36638: 606055644 134457819 I unixcscp: Host alive in slot 29/2
        !          36639: 606055645 134457867 I unixcscp: Host alive in slot 29/2
        !          36640: 606056629 134516915 I unixcscp: Host alive in slot 29/2
        !          36641: 606056630 134517009 I unixcscp: Host alive in slot 29/2
        !          36642: 606056631 134517040 I unixcscp: Host alive in slot 29/2
        !          36643: 606056631 134517072 I unixcscp: Host alive in slot 29/2
        !          36644: 606056632 134517106 I unixcscp: Host alive in slot 29/2
        !          36645: 606056633 134517149 I unixcscp: Host alive in slot 29/2
        !          36646: 606056633 134517181 I unixcscp: Host alive in slot 29/2
        !          36647: 606056634 134517212 I unixcscp: Host alive in slot 29/2
        !          36648: 606056634 134517245 I unixcscp: Host alive in slot 29/2
        !          36649: 606056635 134517292 I unixcscp: Host alive in slot 29/2
        !          36650: 606056635 134517322 I unixcscp: Host alive in slot 29/2
        !          36651: 606056636 134517354 I unixcscp: Host alive in slot 29/2
        !          36652: 606056637 134517401 I unixcscp: Host alive in slot 29/2
        !          36653: 606056638 134517448 I unixcscp: Host alive in slot 29/2
        !          36654: 606056638 134517479 I unixcscp: Host alive in slot 29/2
        !          36655: 606056639 134517513 I unixcscp: Host alive in slot 29/2
        !          36656: 606056639 134517558 I unixcscp: Host alive in slot 29/2
        !          36657: 606056640 134517591 I unixcscp: Host alive in slot 29/2
        !          36658: 606056641 134517636 I unixcscp: Host alive in slot 29/2
        !          36659: 606056641 134517684 I unixcscp: Host alive in slot 29/2
        !          36660: 606056642 134517715 I unixcscp: Host alive in slot 29/2
        !          36661: 606056643 134517746 I unixcscp: Host alive in slot 29/2
        !          36662: 606056643 134517779 I unixcscp: Host alive in slot 29/2
        !          36663: 606056650 134518186 I unixcscp: Host alive in slot 29/2
        !          36664: 606056651 134518232 I unixcscp: Host alive in slot 29/2
        !          36665: 606056651 134518263 I unixcscp: Host alive in slot 29/2
        !          36666: 606056652 134518295 I unixcscp: Host alive in slot 29/2
        !          36667: 606056653 134518341 I unixcscp: Host alive in slot 29/2
        !          36668: 606056653 134518372 I unixcscp: Host alive in slot 29/2
        !          36669: 606056653 134518404 I unixcscp: Host alive in slot 29/2
        !          36670: 606056654 134518451 I unixcscp: Host alive in slot 29/2
        !          36671: 606056655 134518498 I unixcscp: Host alive in slot 29/2
        !          36672: 606056664 134519016 I unixcscp: Host alive in slot 29/2
        !          36673: 606056664 134519048 I unixcscp: Host alive in slot 29/2
        !          36674: 606056665 134519094 I unixcscp: Host alive in slot 29/2
        !          36675: 606056666 134519141 I unixcscp: Host alive in slot 29/2
        !          36676: 606056666 134519173 I unixcscp: Host alive in slot 29/2
        !          36677: 606056667 134519204 I unixcscp: Host alive in slot 29/2
        !          36678: 606056667 134519236 I unixcscp: Host alive in slot 29/2
        !          36679: 606056668 134519281 I unixcscp: Host alive in slot 29/2
        !          36680: 606056669 134519312 I unixcscp: Host alive in slot 29/2
        !          36681: 606056669 134519344 I unixcscp: Host alive in slot 29/2
        !          36682: 606056670 134519392 I unixcscp: Host alive in slot 29/2
        !          36683: 606064483 134988345 I server fornax removed from 23.3
        !          36684: 606064501 134989425 I unixcscp: Host alive in slot 23
        !          36685: 606064507 134989797 I server fornax available on 23.3
        !          36686: 606068488 135228714 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36687: 606069704 135301679 I server tempel removed from 17.5
        !          36688: 606069831 135309359 I unixcscp: Host alive in slot 17
        !          36689: 606069834 135309507 I server tempel available on 17.5
        !          36690: 606071452 135406665 I unixcscp: Host alive in slot 29/2
        !          36691: 606071453 135406744 I unixcscp: Host alive in slot 29/2
        !          36692: 606071454 135406775 I unixcscp: Host alive in slot 29/2
        !          36693: 606071454 135406807 I unixcscp: Host alive in slot 29/2
        !          36694: 606071455 135406838 I unixcscp: Host alive in slot 29/2
        !          36695: 606071455 135406870 I unixcscp: Host alive in slot 29/2
        !          36696: 606071456 135406916 I unixcscp: Host alive in slot 29/2
        !          36697: 606071457 135406948 I unixcscp: Host alive in slot 29/2
        !          36698: 606071457 135406981 I unixcscp: Host alive in slot 29/2
        !          36699: 606071458 135407011 I unixcscp: Host alive in slot 29/2
        !          36700: 606071458 135407042 I unixcscp: Host alive in slot 29/2
        !          36701: 606071459 135407073 I unixcscp: Host alive in slot 29/2
        !          36702: 606071459 135407105 I unixcscp: Host alive in slot 29/2
        !          36703: 606071460 135407136 I unixcscp: Host alive in slot 29/2
        !          36704: 606071460 135407168 I unixcscp: Host alive in slot 29/2
        !          36705: 606071461 135407199 I unixcscp: Host alive in slot 29/2
        !          36706: 606071461 135407231 I unixcscp: Host alive in slot 29/2
        !          36707: 606071462 135407262 I unixcscp: Host alive in slot 29/2
        !          36708: 606071462 135407294 I unixcscp: Host alive in slot 29/2
        !          36709: 606071463 135407325 I unixcscp: Host alive in slot 29/2
        !          36710: 606071464 135407358 I unixcscp: Host alive in slot 29/2
        !          36711: 606071464 135407388 I unixcscp: Host alive in slot 29/2
        !          36712: 606071471 135407812 I unixcscp: Host alive in slot 29/2
        !          36713: 606071472 135407843 I unixcscp: Host alive in slot 29/2
        !          36714: 606071472 135407874 I unixcscp: Host alive in slot 29/2
        !          36715: 606071473 135407909 I unixcscp: Host alive in slot 29/2
        !          36716: 606071473 135407936 I unixcscp: Host alive in slot 29/2
        !          36717: 606071474 135407967 I unixcscp: Host alive in slot 29/2
        !          36718: 606071474 135407999 I unixcscp: Host alive in slot 29/2
        !          36719: 606071475 135408030 I unixcscp: Host alive in slot 29/2
        !          36720: 606071475 135408062 I unixcscp: Host alive in slot 29/2
        !          36721: 606071476 135408093 I unixcscp: Host alive in slot 29/2
        !          36722: 606071476 135408125 I unixcscp: Host alive in slot 29/2
        !          36723: 606071477 135408156 I unixcscp: Host alive in slot 29/2
        !          36724: 606071477 135408188 I unixcscp: Host alive in slot 29/2
        !          36725: 606071478 135408219 I unixcscp: Host alive in slot 29/2
        !          36726: 606071478 135408250 I unixcscp: Host alive in slot 29/2
        !          36727: 606071479 135408283 I unixcscp: Host alive in slot 29/2
        !          36728: 606071480 135408315 I unixcscp: Host alive in slot 29/2
        !          36729: 606071480 135408345 I unixcscp: Host alive in slot 29/2
        !          36730: 606071480 135408376 I unixcscp: Host alive in slot 29/2
        !          36731: 606071481 135408408 I unixcscp: Host alive in slot 29/2
        !          36732: 606071482 135408438 I unixcscp: Host alive in slot 29/2
        !          36733: 606071482 135408469 I unixcscp: Host alive in slot 29/2
        !          36734: 606071483 135408501 I unixcscp: Host alive in slot 29/2
        !          36735: 606071483 135408532 I unixcscp: Host alive in slot 29/2
        !          36736: 606071484 135408565 I unixcscp: Host alive in slot 29/2
        !          36737: 606071484 135408611 I unixcscp: Host alive in slot 29/2
        !          36738: 606071485 135408642 I unixcscp: Host alive in slot 29/2
        !          36739: 606071486 135408675 I unixcscp: Host alive in slot 29/2
        !          36740: 606071486 135408705 I unixcscp: Host alive in slot 29/2
        !          36741: 606071487 135408735 I unixcscp: Host alive in slot 29/2
        !          36742: 606071487 135408767 I unixcscp: Host alive in slot 29/2
        !          36743: 606071488 135408798 I unixcscp: Host alive in slot 29/2
        !          36744: 606071497 135409362 I unixcscp: Host alive in slot 29/2
        !          36745: 606071498 135409394 I unixcscp: Host alive in slot 29/2
        !          36746: 606071498 135409425 I unixcscp: Host alive in slot 29/2
        !          36747: 606071499 135409456 I unixcscp: Host alive in slot 29/2
        !          36748: 606071499 135409489 I unixcscp: Host alive in slot 29/2
        !          36749: 606071500 135409521 I unixcscp: Host alive in slot 29/2
        !          36750: 606071500 135409552 I unixcscp: Host alive in slot 29/2
        !          36751: 606071501 135409582 I unixcscp: Host alive in slot 29/2
        !          36752: 606071501 135409614 I unixcscp: Host alive in slot 29/2
        !          36753: 606071502 135409645 I unixcscp: Host alive in slot 29/2
        !          36754: 606071502 135409676 I unixcscp: Host alive in slot 29/2
        !          36755: 606071503 135409708 I unixcscp: Host alive in slot 29/2
        !          36756: 606071591 135415037 I server tempel removed from 17.5
        !          36757: 606071691 135421034 I unixcscp: Host alive in slot 17
        !          36758: 606071694 135421185 I server tempel available on 17.5
        !          36759: 606072008 135440067 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36760: 606072011 135440174 I server seki removed from 25.5
        !          36761: 606072017 135440581 I server seki available on 25.6
        !          36762: 606072488 135468864 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36763: 606073400 135523563 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36764: 606073402 135523667 I server seki removed from 25.6
        !          36765: 606073408 135524049 I server seki available on 25.5
        !          36766: 606073761 135545160 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36767: 606074012 135560228 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36768: 606074014 135560331 I server seki removed from 25.5
        !          36769: 606074020 135560689 I server seki available on 25.5
        !          36770: 606074282 135576428 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36771: 606074821 135608760 I server tempel removed from 17.5
        !          36772: 606074948 135616422 I unixcscp: Host alive in slot 17
        !          36773: 606074951 135616587 I server tempel available on 17.5
        !          36774: 606075572 135653877 I server tempel removed from 17.5
        !          36775: 606075767 135665545 A SET ERROR: CPMHS 17: Reset errors
        !          36776: 606075780 135666316 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36777: 606075871 135671775 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36778: 606075873 135671882 I server seki removed from 25.5
        !          36779: 606075879 135672251 I server seki available on 25.6
        !          36780: 606076110 135686116 I unixcscp: Host alive in slot 17
        !          36781: 606076170 135689721 I server tempel available on 17.7
        !          36782: 606078809 135848172 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36783: 606079002 135859755 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36784: 606079004 135859865 I server seki removed from 25.6
        !          36785: 606079011 135860246 I server seki available on 25.5
        !          36786: 606079870 135911858 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36787: 606079908 135914105 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36788: 606079936 135915822 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36789: 606079978 135918335 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36790: 606079989 135918990 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36791: 606080022 135920952 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36792: 606080025 135921106 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36793: 606080027 135921234 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36794: 606080859 135971180 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36795: 606080860 135971194 I server seki removed from 25.5
        !          36796: 606080865 135971557 I server seki available on 25.5
        !          36797: 606083108 136106178 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36798: 606083181 136110553 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36799: 606083183 136110657 I server seki removed from 25.5
        !          36800: 606083190 136111069 I server seki available on 25.6
        !          36801: 606083391 136123152 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36802: 606083731 136143546 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36803: 606083733 136143648 I server seki removed from 25.6
        !          36804: 606083740 136144089 I server seki available on 25.5
        !          36805: 606084810 136208346 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36806: 606084825 136209250 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36807: 606084827 136209351 I server seki removed from 25.5
        !          36808: 606084835 136209842 I server seki available on 25.6
        !          36809: 606085770 136265974 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36810: 606086597 136315566 I server tempel removed from 17.7
        !          36811: 606086716 136322717 I unixcscp: Host alive in slot 17
        !          36812: 606086718 136322858 I server tempel available on 17.5
        !          36813: 606086767 136325767 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36814: 606086888 136333035 I server tempel removed from 17.5
        !          36815: 606086988 136339076 A SET ERROR: CPMHS 17: Reset errors
        !          36816: 606087114 136346619 I unixcscp: Host alive in slot 17
        !          36817: 606087116 136346765 I server tempel available on 17.5
        !          36818: 606087184 136350823 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36819: 606087563 136373555 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36820: 606087565 136373683 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36821: 606089203 136471987 I server tempel removed from 17.5
        !          36822: 606089314 136478692 I unixcscp: Host alive in slot 17
        !          36823: 606089316 136478831 I server tempel available on 17.5
        !          36824: 606089784 136506886 I server tempel removed from 17.5
        !          36825: 606089884 136512900 I unixcscp: Host alive in slot 17
        !          36826: 606089886 136513041 I server tempel available on 17.5
        !          36827: 606090589 136555193 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36828: 606152181 140252048 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36829: 606152307 140259587 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36830: 606152309 140259695 I server seki removed from 25.6
        !          36831: 606152315 140260087 I server seki available on 25.5
        !          36832: 606154436 140387382 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36833: 606155037 140423428 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36834: 606155039 140423539 I server seki removed from 25.5
        !          36835: 606155045 140423953 I server seki available on 25.6
        !          36836: 606155456 140448624 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36837: 606155562 140454930 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36838: 606156291 140498731 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36839: 606156293 140498837 I server seki removed from 25.6
        !          36840: 606156299 140499215 I server seki available on 25.5
        !          36841: 606156490 140510693 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36842: 606156651 140520330 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36843: 606156711 140523902 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36844: 606159795 140709023 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36845: 606159796 140709090 I server seki removed from 25.5
        !          36846: 606159801 140709362 I server seki available on 25.5
        !          36847: 606160571 140755522 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36848: 606160718 140764363 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36849: 606161063 140785090 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36850: 606161156 140790631 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36851: 606161369 140803438 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36852: 606161499 140811223 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36853: 606161527 140812942 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36854: 606161644 140819935 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36855: 606161697 140823106 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36856: 606161908 140835775 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36857: 606161987 140840530 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36858: 606162018 140842375 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36859: 606162077 140845942 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36860: 606162361 140862967 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36861: 606162612 140878018 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36862: 606164819 141010485 I server fornax removed from 23.3
        !          36863: 606164823 141010779 I unixcscp: Host alive in slot 23
        !          36864: 606164829 141011118 I server fornax available on 23.3
        !          36865: 606165432 141047309 I server tempel removed from 17.5
        !          36866: 606165548 141054293 I unixcscp: Host alive in slot 17
        !          36867: 606165552 141054479 I server tempel available on 17.5
        !          36868: 606167903 141195606 A SET ERROR: CPMHS 17: Reset errors
        !          36869: 606167999 141201413 I server tempel removed from 17.5
        !          36870: 606168003 141201643 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36871: 606168008 141201945 A SET MAJOR: CPMHS 17: Wrong device state
        !          36872: 606168008 141201946 A CLEAR MAJOR: CPMHS 17: Wrong device state
        !          36873: 606168101 141207486 A SET ERROR: CPMHS 17: Reset errors
        !          36874: 606168268 141217514 I unixcscp: Host alive in slot 17
        !          36875: 606168270 141217656 I server tempel available on 17.5
        !          36876: 606168281 141218310 A CLEAR ERROR: CPMHS 17: Reset errors
        !          36877: 606170769 141367657 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36878: 606171473 141409900 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36879: 606171475 141410029 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36880: 606171596 141417293 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36881: 606171618 141418615 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36882: 606171748 141426406 A SET MINOR: Board type incon code 00 not defined; device 29/8
        !          36883: 606243616 145740020 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36884: 606243767 145749090 A SET MINOR: CPMHS 25: Fiber disconnected
        !          36885: 606244486 145792254 A CLEAR MINOR: CPMHS 25: Fiber disconnected
        !          36886: 606244508 145793574 A SET MINOR: CPMHS 25: Fiber disconnected
        !          36887: 606244728 145806775 A CLEAR MINOR: CPMHS 25: Fiber disconnected
        !          36888: 606245244 145837712 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36889: 606245246 145837814 I server seki removed from 25.5
        !          36890: 606245253 145838227 I server seki available on 25.6
        !          36891: 606246804 145931310 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36892: 606246919 145938239 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36893: 606246922 145938341 I server seki removed from 25.6
        !          36894: 606246928 145938740 I server seki available on 25.5
        !          36895: 606246940 145939501 A CLEAR MINOR: Board type incon code 00 not defined; device 29/8
        !          36896: 606246941 145939505 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          36897: 606247399 145967034 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36898: 606248453 146030309 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36899: 606248454 146030327 I server seki removed from 25.5
        !          36900: 606248460 146030735 I server seki available on 25.5
        !          36901: 606421776 156433343 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          36902: 606452922 158302746 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36903: 606453409 158331952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36904: 606453411 158332052 I server seki removed from 25.5
        !          36905: 606453418 158332481 I server seki available on 25.5
        !          36906: 606454579 158402152 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36907: 606455055 158430737 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36908: 606455057 158430836 I server seki removed from 25.5
        !          36909: 606455064 158431294 I server seki available on 25.6
        !          36910: 606455205 158439732 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36911: 606455410 158452037 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36912: 606455412 158452139 I server seki removed from 25.6
        !          36913: 606455419 158452569 I server seki available on 25.5
        !          36914: 606517917 162203804 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          36915: 606517940 162205183 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          36916: 606518131 162216598 I server fornax removed from 23.3
        !          36917: 606518264 162224611 I unixcscp: Host alive in slot 23
        !          36918: 606518269 162224938 I server fornax available on 23.3
        !          36919: 606518594 162244419 I server fornax removed from 23.3
        !          36920: 606518776 162255347 I unixcscp: Host alive in slot 23
        !          36921: 606518781 162255646 I server fornax available on 23.3
        !          36922: 606518986 162267952 I server fornax removed from 23.3
        !          36923: 606537015 163350145 I server seki removed from 25.5
        !          36924: 606537070 163353432 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36925: 606537168 163359316 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36926: 606537177 163359839 I server seki available on 25.5
        !          36927: 606537215 163362121 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          36928: 606537260 163364822 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          36929: 606571573 165424317 I server seki removed from 25.5
        !          36930: 606571626 165427512 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36931: 606571644 165428566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36932: 606571653 165429071 I server seki available on 25.5
        !          36933: 606571944 165446562 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36934: 606572414 165474787 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36935: 606572417 165474884 I server seki removed from 25.5
        !          36936: 606572423 165475290 I server seki available on 25.5
        !          36937: 606580385 165953220 I server seki removed from 25.5
        !          36938: 606580421 165955386 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36939: 606580433 165956077 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36940: 606580441 165956580 I server seki available on 25.5
        !          36941: 606580823 165979476 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36942: 606581298 166008019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36943: 606581300 166008111 I server seki removed from 25.5
        !          36944: 606581307 166008546 I server seki available on 25.5
        !          36945: 606581508 166020618 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36946: 606581537 166022359 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36947: 606581540 166022462 I server seki removed from 25.5
        !          36948: 606581547 166022943 I server seki available on 25.5
        !          36949: 606581837 166040358 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36950: 606582350 166071114 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36951: 606582352 166071206 I server seki removed from 25.5
        !          36952: 606582359 166071646 I server seki available on 25.5
        !          36953: 606583394 166133792 I unixcscp: Host alive in slot 23
        !          36954: 606583399 166134106 I server fornax available on 23.3
        !          36955: 606583399 166134116 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36956: 606583421 166135417 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36957: 606583421 166135429 I server seki removed from 25.5
        !          36958: 606583430 166135936 I server seki available on 25.5
        !          36959: 606583571 166144416 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36960: 606583665 166150023 I server fornax removed from 23.3
        !          36961: 606584046 166172952 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36962: 606584047 166172965 I server seki removed from 25.5
        !          36963: 606584055 166173445 I server seki available on 25.5
        !          36964: 606584136 166178353 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36965: 606584175 166180692 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36966: 606584176 166180702 I server seki removed from 25.5
        !          36967: 606584183 166181124 I server seki available on 25.6
        !          36968: 606584535 166202292 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36969: 606585046 166232933 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36970: 606585046 166232952 I server seki removed from 25.6
        !          36971: 606585054 166233406 I server seki available on 25.5
        !          36972: 606587955 166407540 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36973: 606587961 166407879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36974: 606587962 166407896 I server seki removed from 25.5
        !          36975: 606587970 166408423 I server seki available on 25.5
        !          36976: 606589629 166508014 I unixcscp: Host alive in slot 23
        !          36977: 606589634 166508331 I server fornax available on 23.3
        !          36978: 606589719 166513419 I server fornax removed from 23.3
        !          36979: 606590499 166560215 I unixcscp: Host alive in slot 23
        !          36980: 606590504 166560521 I server fornax available on 23.3
        !          36981: 606590799 166578225 I server fornax removed from 23.3
        !          36982: 606591349 166611276 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          36983: 606591355 166611633 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          36984: 606591355 166611643 I server seki removed from 25.5
        !          36985: 606591365 166612199 I server seki available on 25.6
        !          36986: 606591519 166621487 I unixcscp: Host alive in slot 23
        !          36987: 606591525 166621805 I server fornax available on 23.3
        !          36988: 606591610 166626892 I server fornax removed from 23.3
        !          36989: 606592624 166687742 I unixcscp: Host alive in slot 23
        !          36990: 606592630 166688061 I server fornax available on 23.3
        !          36991: 606592955 166707549 I server fornax removed from 23.3
        !          36992: 606593999 166770228 I unixcscp: Host alive in slot 23
        !          36993: 606594004 166770541 I server fornax available on 23.3
        !          36994: 606594359 166791843 I server fornax removed from 23.3
        !          36995: 606595551 166863403 I unixcscp: Host alive in slot 23
        !          36996: 606595557 166863777 I server fornax available on 23.3
        !          36997: 606595642 166868812 I server fornax removed from 23.3
        !          36998: 606595956 166887740 I unixcscp: Host alive in slot 23
        !          36999: 606595962 166888084 I server fornax available on 23.3
        !          37000: 606596047 166893147 I server fornax removed from 23.3
        !          37001: 606596520 166921564 I unixcscp: Host alive in slot 23
        !          37002: 606596525 166921887 I server fornax available on 23.3
        !          37003: 606599699 167112369 I server fornax removed from 23.3
        !          37004: 606601941 167246951 I unixcscp: Host alive in slot 23
        !          37005: 606601955 167247766 I server fornax available on 23.3
        !          37006: 606602032 167252355 I server fornax removed from 23.3
        !          37007: 606602506 167280833 I unixcscp: Host alive in slot 23
        !          37008: 606602514 167281319 I server fornax available on 23.3
        !          37009: 606602596 167286237 I server fornax removed from 23.3
        !          37010: 606602602 167286646 I unixcscp: Host alive in slot 23
        !          37011: 606602608 167286983 I server fornax available on 23.3
        !          37012: 606602663 167290252 I server fornax removed from 23.3
        !          37013: 606602835 167300629 I unixcscp: Host alive in slot 23
        !          37014: 606602841 167300981 I server fornax available on 23.3
        !          37015: 606602956 167307837 I server fornax removed from 23.3
        !          37016: 606602976 167309098 I unixcscp: Host alive in slot 23
        !          37017: 606602982 167309428 I server fornax available on 23.3
        !          37018: 606628011 168811716 I unixcscp: Host alive in slot 17
        !          37019: 606628014 168811836 I server tempel removed from 17.5
        !          37020: 606628014 168811880 I server tempel available on 17.5
        !          37021: 606670727 171375561 I server seki removed from 25.6
        !          37022: 606670768 171378030 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37023: 606670865 171383843 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37024: 606670874 171384348 I server seki available on 25.5
        !          37025: 606671765 171437844 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37026: 606672382 171474879 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37027: 606672383 171474896 I server seki removed from 25.5
        !          37028: 606672390 171475367 I server seki available on 25.6
        !          37029: 606672532 171483877 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37030: 606673255 171527265 A CLEAR MAJOR: tdkp: trunk 3 is dead
        !          37031: 606673265 171527864 A CLEAR MAJOR: loopp: trunk 3 appears dead
        !          37032: 606673726 171555566 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37033: 606673727 171555579 I server seki removed from 25.6
        !          37034: 606673733 171555973 I server seki available on 25.5
        !          37035: 606674177 171582576 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37036: 606674762 171617701 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37037: 606674763 171617714 I server seki removed from 25.5
        !          37038: 606674814 171620862 A SET MAJOR: tdkp: trunk 3 is dead
        !          37039: 606674822 171621300 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37040: 606675369 171654166 A CLEAR MAJOR: tdkp: trunk 3 is dead
        !          37041: 606675477 171660644 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37042: 606675486 171661183 I server seki available on 25.5
        !          37043: 606676107 171698442 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37044: 606676152 171701100 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37045: 606676152 171701112 I server seki removed from 25.5
        !          37046: 606676160 171701598 I server seki available on 25.5
        !          37047: 606676780 171738814 I tdk2cscp: circuit 6.500 out of sync with remote
        !          37048: 606685100 172238075 I server seki removed from 25.5
        !          37049: 606685123 172239492 I unixcscp: Host alive in slot 25
        !          37050: 606685131 172239947 I server seki available on 25.5
        !          37051: 606685243 172246692 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37052: 606685308 172250582 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37053: 606685309 172250592 I server seki removed from 25.5
        !          37054: 606685316 172251025 I server seki available on 25.5
        !          37055: 606689018 172473188 I unixcscp: Host alive in slot 25
        !          37056: 606689018 172473199 I server seki removed from 25.5
        !          37057: 606689026 172473690 I server seki available on 25.5
        !          37058: 606689138 172480389 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37059: 606689160 172481698 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37060: 606689160 172481717 I server seki removed from 25.5
        !          37061: 606689168 172482174 I server seki available on 25.6
        !          37062: 606691379 172614894 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37063: 606691891 172645595 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37064: 606691891 172645615 I server seki removed from 25.6
        !          37065: 606691898 172646048 I server seki available on 25.5
        !          37066: 606701675 173232802 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          37067: 606708145 173621196 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37068: 606708160 173622065 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37069: 606708160 173622081 I server seki removed from 25.5
        !          37070: 606708169 173622607 I server seki available on 25.5
        !          37071: 606720881 174385636 I server tempel removed from 17.5
        !          37072: 606721169 174402878 I unixcscp: Host alive in slot 17
        !          37073: 606721171 174403031 I server tempel available on 17.5
        !          37074: 606756764 176539364 I unixcscp: Host alive in slot 7
        !          37075: 606756764 176539373 I server sfr removed from 7.5
        !          37076: 606756765 176539411 I server sfr available on 7.5
        !          37077: 606756916 176548496 I unixcscp: Host alive in slot 7
        !          37078: 606756916 176548504 I server sfr removed from 7.5
        !          37079: 606756917 176548546 I server sfr available on 7.5
        !          37080: 606757323 176572949 I unixcscp: Host alive in slot 7
        !          37081: 606757323 176572954 I server sfr removed from 7.5
        !          37082: 606757324 176573003 I server sfr available on 7.5
        !          37083: 606774606 177610315 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37084: 606774629 177611669 I server seki available on 20.5
        !          37085: 606775133 177641925 I server seki removed from 20.5
        !          37086: 606775201 177645992 I server xseki available on 20.5
        !          37087: 606826020 180696047 I server seki removed from 25.5
        !          37088: 606826043 180697458 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37089: 606826080 180699678 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37090: 606826102 180701019 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37091: 606826109 180701400 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37092: 606826110 180701432 I server xseki removed from 20.5
        !          37093: 606826112 180701592 I server seki available on 25.5
        !          37094: 606826128 180702541 I server xseki available on 20.5
        !          37095: 606826508 180725365 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37096: 606826522 180726216 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37097: 606827009 180755447 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37098: 606827010 180755462 I server seki removed from 25.5
        !          37099: 606827015 180755796 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37100: 606827016 180755831 I server xseki removed from 20.5
        !          37101: 606827017 180755919 I server seki available on 25.5
        !          37102: 606827033 180756892 I server xseki available on 20.5
        !          37103: 606827363 180776664 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37104: 606827369 180777048 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37105: 606827412 180779645 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37106: 606827413 180779660 I server seki removed from 25.5
        !          37107: 606827418 180779970 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37108: 606827419 180779994 I server xseki removed from 20.5
        !          37109: 606827421 180780155 I server seki available on 25.5
        !          37110: 606827433 180780868 I server xseki available on 20.5
        !          37111: 606845431 181861164 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37112: 606845436 181861446 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37113: 606845925 181890779 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37114: 606845926 181890794 I server seki removed from 25.5
        !          37115: 606845931 181891104 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37116: 606845931 181891145 I server xseki removed from 20.5
        !          37117: 606845933 181891265 I server seki available on 25.5
        !          37118: 606845948 181892171 I server xseki available on 20.5
        !          37119: 606846032 181897206 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37120: 606846045 181897980 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37121: 606846518 181926360 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37122: 606846518 181926372 I server seki removed from 25.5
        !          37123: 606846523 181926678 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37124: 606846524 181926707 I server xseki removed from 20.5
        !          37125: 606846526 181926873 I server seki available on 25.5
        !          37126: 606846542 181927789 I server xseki available on 20.5
        !          37127: 606846632 181933206 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37128: 606846638 181933560 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37129: 606847139 181963679 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37130: 606847140 181963694 I server seki removed from 25.5
        !          37131: 606847146 181964034 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37132: 606847147 181964075 I server xseki removed from 20.5
        !          37133: 606847148 181964208 I server seki available on 25.5
        !          37134: 606847163 181965107 I server xseki available on 20.5
        !          37135: 606849422 182100648 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37136: 606849449 182102280 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37137: 606849616 182112333 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37138: 606849617 182112352 I server seki removed from 25.5
        !          37139: 606849622 182112684 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37140: 606849623 182112707 I server xseki removed from 20.5
        !          37141: 606849624 182112821 I server seki available on 25.5
        !          37142: 606849641 182113814 I server xseki available on 20.5
        !          37143: 606916885 186149792 A SET MINOR: unix9cscp: Host dead in slot 20
        !          37144: 606916914 186151530 A SET MINOR: unixcscp: DEAD HOST in slot 25
        !          37145: 606916922 186152036 A CLEAR MINOR: unixcscp: DEAD HOST in slot 25
        !          37146: 606916922 186152046 I server seki removed from 25.5
        !          37147: 606916929 186152406 A CLEAR MINOR: unix9cscp: Host dead in slot 20
        !          37148: 606916930 186152474 I server xseki removed from 20.5
        !          37149: 606916932 186152635 I server seki available on 25.5
        !          37150: 606916946 186153455 I server xseki available on 20.5
        !          37151: 606997002 190958507 I tdk2cscp: circuit 30.252 out of sync with remote
        !          37152: 607013917 191973769 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          37153: 607028362 192840709 I server tempel removed from 17.5
        !          37154: 607028539 192851340 A SET MINOR: CPMHS 17: Fiber disconnected
        !          37155: 607028543 192851605 A SET ERROR: CPMHS 17: Reset errors
        !          37156: 607032508 193089552 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
        !          37157: 607032938 193113680 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
        !          37158: 607032984 193116402 A SET MINOR: unixcscp: DEAD HOST in slot 29/3
        !          37159: 607033148 193126268 A CLEAR MINOR: unixcscp: DEAD HOST in slot 29/3
        !          37160: 607035073 193241785 A CLEAR MINOR: CPMHS 17: Fiber disconnected
        !          37161: 607035255 193252741 A CLEAR ERROR: CPMHS 17: Reset errors
        !          37162: 607035528 193269108 A SET ERROR: CPMHS 17: Reset errors
        !          37163: 607035807 193285873 A CLEAR ERROR: CPMHS 17: Reset errors
        !          37164: 607036477 193326043 I unixcscp: Host alive in slot 17
        !          37165: 607036479 193326204 I server tempel available on 17.5
        !          37166: 607040655 193576842 I unixcscp: Host alive in slot 29/3
        !          37167: 607041731 193641429 I unixcscp: Host alive in slot 29/3
        !          37168: 607042426 193683104 I server tuttle available on 29/3.5
        !          37169: 607042469 193685728 I server tuttle removed from 29/3.5
        !          37170: 607042701 193699619 I unixcscp: Host alive in slot 29/3
        !          37171: 607042726 193701144 I server tuttle available on 29/3.5
        !          37172: 607042733 193701561 I server tuttle removed from 29/3.5
        !          37173: 607042744 193702196 I server tuttle available on 29/3.5
        !          37174: 607050694 194179346 I unixcscp: Host alive in slot 29/3
        !          37175: 607050696 194179470 I server tuttle removed from 29/3.5
        !          37176: 607050697 194179524 I server tuttle available on 29/3.5
        !          37177: 607051475 194226195 I server tuttle removed from 29/3.5
        !          37178: 607051621 194234960 I unixcscp: Host alive in slot 29/3
        !          37179: 607051623 194235103 I server tuttle available on 29/3.5
        !          37180: 607096089 196903856 I unixcscp: Host alive in slot 29/3
        !          37181: 607096089 196903869 I server tuttle removed from 29/3.5
        !          37182: 607096092 196904003 I server tuttle available on 29/3.5
        !          37183: 607101503 197228823 I server tuttle removed from 29/3.5
        !          37184: 607101643 197237214 I unixcscp: Host alive in slot 29/3
        !          37185: 607101645 197237365 I server tuttle available on 29/3.5
        !          37186: 607122107 198465492 I server tuttle removed from 29/3.5
        !          37187: 607125447 198665948 I unixcscp: Host alive in slot 29/3
        !          37188: 607125462 198666848 I server tuttle available on 29/3.5
        !          37189: 607129959 198936760 I server tuttle removed from 29/3.5
        !          37190: 607130128 198946900 I unixcscp: Host alive in slot 29/3
        !          37191: 607130131 198947051 I server tuttle available on 29/3.5
        !          37192: 607130216 198952186 I server tuttle removed from 29/3.5
        !          37193: 607130496 198968973 I unixcscp: Host alive in slot 29/3
        !          37194: 607130498 198969121 I server tuttle available on 29/3.5
        !          37195: 607180613 201976993 I server tuttle removed from 29/3.5
        !          37196: 607186257 202315755 I server fornax removed from 23.3
        !          37197: 607186258 202315847 I unixcscp: Host alive in slot 23
        !          37198: 607186266 202316325 I server fornax available on 23.3
        !          37199: 607186588 202335652 I server fornax removed from 23.3
        !          37200: 607186629 202338091 I unixcscp: Host alive in slot 23
        !          37201: 607186635 202338460 I server fornax available on 23.3
        !          37202: 607190389 202563824 I unixcscp: Host alive in slot 29/3
        !          37203: 607190392 202563971 I server tuttle available on 29/3.5
        !          37204: 607191783 202647448 I server tuttle removed from 29/3.5
        !          37205: 607192135 202668609 I unixcscp: Host alive in slot 29/3
        !          37206: 607192138 202668757 I server tuttle available on 29/3.5
        !          37207: 607192611 202697168 I server tuttle removed from 29/3.5
        !          37208: 607192746 202705262 I unixcscp: Host alive in slot 29/3
        !          37209: 607192748 202705407 I server tuttle available on 29/3.5
        !          37210: 607195380 202863386 I server tuttle removed from 29/3.5
        !          37211: 607195521 202871834 I unixcscp: Host alive in slot 29/3
        !          37212: 607195524 202871980 I server tuttle available on 29/3.5
        !          37213: 607203413 203345497 I server tuttle removed from 29/3.5
        !          37214: 607203688 203361971 I unixcscp: Host alive in slot 29/3
        !          37215: 607203721 203363968 I server tuttle available on 29/3.7
        !          37216: 607204002 203380796 I server tuttle removed from 29/3.7
        !          37217: 607204134 203388727 I unixcscp: Host alive in slot 29/3
        !          37218: 607204136 203388875 I server tuttle available on 29/3.5
        !          37219: 607204855 203432025 I server tuttle removed from 29/3.5
        !          37220: 607205744 203485385 I unixcscp: Host alive in slot 29/3
        !          37221: 607205773 203487093 I server tuttle available on 29/3.5
        !          37222: 607211699 203842780 I server tuttle removed from 29/3.5
        !          37223: 607211901 203854932 I unixcscp: Host alive in slot 29/3
        !          37224: 607211961 203858541 I server tuttle available on 29/3.7
        !          37225: 607213081 203925763 I server tuttle removed from 29/3.7
        !          37226: 607213104 203927118 I unixcscp: Host alive in slot 29/3
        !          37227: 607213104 203927133 I server tuttle available on 29/3.5
        !          37228: 607213788 203968215 I server tuttle removed from 29/3.5
        !          37229: 607214004 203981153 I unixcscp: Host alive in slot 29/3
        !          37230: 607214064 203984763 I server tuttle available on 29/3.7
        !          37231: 607222838 204511338 I server tempel removed from 17.5
        !          37232: 607223065 204524958 A SET ERROR: CPMHS 17: Reset errors
        !          37233: 607223167 204531088 I unixcscp: Host alive in slot 17
        !          37234: 607223170 204531256 I server tempel available on 17.5
        !          37235: 607223256 204536442 A CLEAR ERROR: CPMHS 17: Reset errors
        !          37236: 607224406 204605484 A SET ERROR: CPMHS 17: Reset errors
        !          37237: 607224586 204616292 I unixcscp: Host alive in slot 17
        !          37238: 607224589 204616416 I server tempel removed from 17.5
        !          37239: 607224589 204616467 I server tempel available on 17.5
        !          37240: 607224596 204616854 A CLEAR ERROR: CPMHS 17: Reset errors
        !          37241: 607236811 205355819 I unixcscp: Host alive in slot 29/3
        !          37242: 607243269 205741098 I unixcscp: Host alive in slot 29/3
        !          37243: 607245985 205903131 I unixcscp: Host alive in slot 29/3
        !          37244: 607248369 206045359 I unixcscp: Host alive in slot 29/3
        !          37245: 607256990 206561048 I unixcscp: Host alive in slot 29/3
        !          37246: 607259337 206701897 I unixcscp: Host alive in slot 29/3
        !          37247: 607270236 207356062 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          37248: 607273396 207545748 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          37249: 607277713 207804887 A SET MINOR: Board type incon code 0377 not defined; device 29/8
        !          37250: 607278061 207825748 A SET MINOR: Board type incon code 061 not defined; device 29/3
        !          37251: 607278066 207826044 A SET MAJOR: WIF 29: Wrong device state
        !          37252: 607278087 207827302 A CLEAR MAJOR: WIF 29: Wrong device state
        !          37253: 607278453 207849322 I unixcscp: Host alive in slot 29/3
        !          37254: 607278456 207849447 I server tuttle removed from 29/3.7
        !          37255: 607278456 207849473 I server tuttle available on 29/3.5
        !          37256: 607278655 207861431 A SET MAJOR: INCON Station 29/3, id 'MIPS', receive fifo overflow
        !          37257: 607278730 207865899 I server fornax removed from 23.3
        !          37258: 607280897 207995979 I unixcscp: Host alive in slot 23
        !          37259: 607280905 207996454 I server fornax available on 23.3
        !          37260: 607281227 208015785 I server fornax removed from 23.3
        !          37261: 607282986 208121379 A SET MAJOR: INCON Station 29/3, id 'MIPS', exceeded error limit
        !          37262: 607283008 208122680 I unixcscp: Host alive in slot 23
        !          37263: 607283013 208123018 I server fornax available on 23.3
        !          37264: 607290658 208581793 A SET MAJOR: tdk2cscp: trunk 6 is dead
        !          37265: 607290870 208594527 A CLEAR MAJOR: tdk2cscp: trunk 6 is dead
        !          37266: 607296235 208916487 I server fornax removed from 23.3
        !          37267: 607296388 208925738 I unixcscp: Host alive in slot 23
        !          37268: 607297349 208983383 I unixcscp: Host alive in slot 23
        !          37269: 607297380 208985269 I unixcscp: Host alive in slot 23
        !          37270: 607297554 208995696 I unixcscp: Host alive in slot 23
        !          37271: 607297560 208996052 I server fornax available on 23.3
        !          37272: 607297645 209001105 I server fornax removed from 23.3
        !          37273: 607297680 209003272 I unixcscp: Host alive in slot 23
        !          37274: 607297886 209015644 I unixcscp: Host alive in slot 23
        !          37275: 607297893 209016021 I server fornax available on 23.3
        !          37276: 607297977 209021049 I server fornax removed from 23.3
        !          37277: 607298011 209023118 I unixcscp: Host alive in slot 23
        !          37278: 607298017 209023467 I server fornax available on 23.3
        !          37279: 607298551 209055525 I server fornax removed from 23.3
        !          37280: 607298620 209059666 I unixcscp: Host alive in slot 23
        !          37281: 607298625 209060000 I server fornax available on 23.3
        !          37282: 607298951 209079472 I server fornax removed from 23.3
        !          37283: 607298952 209079558 I unixcscp: Host alive in slot 23
        !          37284: 607298983 209081437 I unixcscp: Host alive in slot 23
        !          37285: 607299100 209088468 I unixcscp: Host alive in slot 23
        !          37286: 607299106 209088819 I server fornax available on 23.3
        !          37287: 607299339 209102784 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37288: 607300242 209157012 A SET ERROR: TRKHS 9: Receive mute errors
        !          37289: 607300365 209164404 A CLEAR ERROR: TRKHS 9: Receive mute errors
        !          37290: 607300596 209178264 A SET MAJOR: TRKHS 9: Wrong device state
        !          37291: 607300598 209178393 A CLEAR MAJOR: TRKHS 9: Wrong device state
        !          37292: 607300615 209179385 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37293: 607300619 209179644 I loopp: Trunk 9 active
        !          37294: 607301108 209208970 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          37295: 607301139 209210830 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          37296: 607301380 209225277 I server fornax removed from 23.3
        !          37297: 607301404 209226738 I unixcscp: Host alive in slot 23
        !          37298: 607301409 209227078 I server fornax available on 23.3
        !          37299: 607301672 209242819 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          37300: 607301674 209242954 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          37301: 607302263 209278303 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37302: 607302685 209303634 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37303: 607303299 209340499 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          37304: 607303301 209340634 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          37305: 607319371 210305119 I unixcscp: Host alive in slot 29/3
        !          37306: 607320286 210360067 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          37307: 607320288 210360202 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          37308: 607322254 210478203 I unixcscp: Host alive in slot 29/3
        !          37309: 607333098 211129039 I unixcscp: Host alive in slot 29/3
        !          37310: 607354722 212426905 I unixcscp: Host alive in slot 29/3
        !          37311: 607358146 212632436 I unixcscp: Host alive in slot 29/3
        !          37312: 607360220 212756941 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/1
        !          37313: 607360225 212757209 A SET MINOR: Board type incon code 0377 not defined; device 29/1
        !          37314: 607361150 212812736 A CLEAR MINOR: Board type incon code 0377 not defined; device 29/8
        !          37315: 607361415 212828668 A SET MAJOR: WIF 29: Wrong device state
        !          37316: 607361440 212830183 A CLEAR MAJOR: WIF 29: Wrong device state
        !          37317: 607363218 212936887 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37318: 607363639 212962112 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37319: 607375250 213658991 I unixcscp: Host alive in slot 29/3
        !          37320: 607375252 213659114 I server tuttle removed from 29/3.5
        !          37321: 607375252 213659141 I server tuttle available on 29/3.5
        !          37322: 607397184 214975504 I unixcscp: Host alive in slot 29/3
        !          37323: 607397184 214975513 I server tuttle removed from 29/3.5
        !          37324: 607397186 214975647 I server tuttle available on 29/3.5
        !          37325: ݼ
��&�&:(c�#���#��R(wtmbin/n/westphal/netstat/node.6/info.Jan1989v/v14725/7933035599777182 175735207 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37326: 599777361 175745980 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37327: 599779150 175853341 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37328: 599779556 175877666 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37329: 599779902 175898435 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37330: 599780127 175911941 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37331: 599780458 175931793 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37332: 599780623 175941703 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37333: 599781766 176010294 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37334: 599782021 176025589 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37335: 599786926 176319855 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37336: 599787437 176350521 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37337: 599788236 176398395 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37338: 599788326 176403772 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37339: 599788778 176430930 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37340: 599788958 176441741 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37341: 599790574 176538676 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37342: 599790738 176548536 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37343: 599790919 176559378 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37344: 599791099 176570173 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37345: 599791987 176623498 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37346: 599792572 176658593 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37347: 599799190 177055700 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37348: 599799338 177064604 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37349: 599809065 177648262 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37350: 599809951 177701415 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37351: 599810102 177710492 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37352: 599810987 177763584 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37353: 599811424 177789797 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37354: 599811694 177805997 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37355: 599812025 177825844 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37356: 599812190 177835758 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37357: 599812551 177857433 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37358: 599812972 177882649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37359: 599813468 177912441 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37360: 599813768 177930441 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37361: 599816762 178110057 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37362: 599818129 178192059 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37363: 599818745 178229036 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37364: 599818940 178240759 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37365: 599819618 178281416 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37366: 599820082 178309254 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37367: 599820744 178348993 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37368: 599821209 178376882 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37369: 599821435 178390467 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37370: 599821765 178410269 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37371: 599822997 178484175 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37372: 599823237 178498577 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37373: 599823494 178514002 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37374: 599825491 178633782 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37375: 599826513 178695135 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37376: 599827759 178769918 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37377: 599828165 178794295 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37378: 599828435 178810471 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37379: 599830391 178927837 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37380: 599830976 178962945 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37381: 599831337 178984603 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37382: 599831517 178995401 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37383: 599831893 179017951 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37384: 599832554 179057602 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37385: 599832750 179069374 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37386: 599833637 179122571 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37387: 599833863 179136161 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37388: 599834419 179169496 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37389: 599834494 179174031 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37390: 599834599 179180326 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37391: 599837909 179378910 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37392: 599838059 179387916 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37393: 599838225 179397856 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37394: 599838540 179416778 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37395: 599838767 179430426 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37396: 599839127 179452040 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37397: 599839474 179472844 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37398: 599839685 179485476 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37399: 599843259 179699964 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37400: 599843350 179705373 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37401: 599843819 179733520 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37402: 599844391 179767827 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37403: 599844505 179774671 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37404: 599844520 179775576 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37405: 599874423 181566880 I unixcscp: Host alive in slot 14
        !          37406: 599897505 182951800 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37407: 599898016 182982464 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37408: 599899129 183049227 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37409: 599899354 183062728 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37410: 599900257 183116904 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37411: 599900512 183132218 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37412: 599937384 185340271 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37413: 599943157 1817 I Reboot complete
        !          37414: 599943157 1904 I unixcscp: Host alive in slot 14
        !          37415: 599943157 2245 I loopp: Trunk 4 active
        !          37416: 599943157 2389 I loopp: Trunk 8 active
        !          37417: 599943157 2434 I loopp: Trunk 9 active
        !          37418: 599943157 2503 I server fishonaplatter available on 14.5
        !          37419: 599974005 1853446 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37420: 599974094 1858832 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37421: 599983498 2423077 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37422: 599983693 2434800 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37423: 600010933 4069061 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37424: 600011009 4073567 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37425: 600014308 4271549 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37426: 600016411 4397752 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37427: 600016932 4429045 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37428: 600018062 4496848 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37429: 600018109 4499631 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37430: 600018215 4506014 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37431: 600018297 4510945 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37432: 600022395 4756823 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37433: 600022600 4769122 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37434: 600023042 4795654 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37435: 600035271 5529396 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37436: 600035423 5538522 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37437: 600049069 6357171 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37438: 600049343 6373628 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37439: 600055375 6735531 A SET MAJOR: tdk2cscp: mod 8: packet behind
        !          37440: 600055527 6744649 A CLEAR MAJOR: tdk2cscp: mod 8: packet behind
        !          37441: 600117353 1835 I Reboot complete
        !          37442: 600117353 1922 I unixcscp: Host alive in slot 14
        !          37443: 600117353 2321 I loopp: Trunk 4 active
        !          37444: 600117353 2383 I loopp: Trunk 8 active
        !          37445: 600117353 2426 I loopp: Trunk 9 active
        !          37446: 600117353 2473 I server fishonaplatter available on 14.5
        !          37447: 600120180 173006 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37448: 600120992 221749 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37449: 600351014 14023105 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37450: 600351014 14023112 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37451: 600386279 16138981 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37452: 600386778 16168914 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37453: 600428782 18689122 I tdk2cscp: circuit 8.244 out of sync with remote
        !          37454: 600460208 20574692 A SET MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          37455: 600460261 20577863 A CLEAR MAJOR: tdk2cscp: trunk 9 dead - remote end out of service
        !          37456: 600532722 24925587 I server fishonaplatter removed from 14.5
        !          37457: 600532760 24927853 A SET MINOR: CPM422 14: Cables disconnected
        !          37458: 600532798 24930120 A SET MINOR: unixcscp: DEAD HOST in slot 14
        !          37459: 600534262 25018008 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          37460: 600534282 25019196 A SET MINOR: CPM422 14: Cables disconnected
        !          37461: 600534506 25032660 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          37462: 600534524 25033716 A SET MINOR: CPM422 14: Cables disconnected
        !          37463: 600534678 25042956 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          37464: 600534808 25050744 A SET MINOR: CPM422 14: Cables disconnected
        !          37465: 600534914 25057080 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          37466: 600534927 25057873 A SET MINOR: CPM422 14: Cables disconnected
        !          37467: 600535356 25083612 A CLEAR MINOR: CPM422 14: Cables disconnected
        !          37468: 600535684 25103307 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
        !          37469: 600535688 25103553 I server fishonaplatter available on 14.6
        !          37470: 600719209 36114867 I loopp: Trunk 4 active
        !          37471: 600719398 36126176 I loopp: Trunk 4 active
        !          37472: 600719514 36129330 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          37473: 600719515 36131887 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          37474: 600719612 36139009 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37475: 600720120 36169493 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37476: 600725936 36512518 A SET MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          37477: 600725936 36514777 A CLEAR MAJOR: tdk2cscp: trunk 8 dead - remote end out of service
        !          37478: 600726424 36547759 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37479: 600726850 36573365 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37480: 600961539 50653740 A SET MAJOR: tdkp: trunk 4 is dead
        !          37481: 600961747 50667121 A CLEAR MAJOR: tdkp: trunk 4 is dead
        !          37482: 600972316 51301285 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37483: 600972421 51307586 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37484: 601152501 62084359 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37485: 601152512 62113160 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37486: 601152514 62113242 A SET MAJOR: loopp: trunk 8 appears dead
        !          37487: 601152525 62113902 A CLEAR MAJOR: loopp: trunk 8 appears dead
        !          37488: 601152696 62124151 I tdk2cscp: circuit 8.242 out of sync with remote
        !          37489: 601163057 62745860 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37490: 601163061 62745872 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37491: 601311799 71670265 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37492: 601311812 71671027 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37493: 601311844 71672966 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37494: 601311865 71674209 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37495: 601311904 71676565 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37496: 601311918 71677397 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37497: 601311949 71679265 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37498: 601311968 71680419 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37499: 601312009 71682866 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37500: 601312021 71683586 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37501: 601312054 71685565 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37502: 601312076 71686884 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37503: 601313194 71753965 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37504: 601313210 71754955 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37505: 601313269 71758465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37506: 601313292 71759850 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37507: 601313464 71770165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37508: 601313475 71770830 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37509: 601313734 71786365 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37510: 601313754 71787595 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37511: 601319584 72137367 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37512: 601319607 72138745 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37513: 601319644 72140965 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37514: 601319657 72141711 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37515: 601326215 72535165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37516: 601326233 72536208 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37517: 601326321 72541465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37518: 601326339 72542568 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37519: 601326681 72563067 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37520: 601326705 72564510 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37521: 601326740 72566665 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37522: 601326770 72568438 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37523: 601326800 72570265 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37524: 601326839 72572549 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37525: 601326875 72574765 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37526: 601326890 72575649 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37527: 601326920 72577465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37528: 601326948 72579138 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37529: 601327010 72582867 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37530: 601327032 72584158 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37531: 601327070 72586465 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37532: 601327090 72587657 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37533: 601327130 72590065 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37534: 601327151 72591308 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37535: 601327190 72593666 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37536: 601327208 72594743 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37537: 601327265 72598165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37538: 601327274 72598698 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37539: 601327355 72603566 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37540: 601327358 72603724 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37541: 601327415 72607165 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37542: 601327424 72607679 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37543: 601327505 72612567 A SET MAJOR: tdk2cscp: trunk 8 is dead
        !          37544: 601327511 72612870 A CLEAR MAJOR: tdk2cscp: trunk 8 is dead
        !          37545: 601438509 79272750 A SET MINOR: unixcscp: DEAD HOST in slot 14
        !          37546: 601438840 79292613 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
        !          37547: 601438840 79292621 I server fishonaplatter removed from 14.6
        !          37548: 601438842 79292722 I server fishonaplatter available on 14.5
        !          37549: 601790289 100379611 A SET MINOR: unixcscp: DEAD HOST in slot 14
        !          37550: 601790664 100402119 A CLEAR MINOR: unixcscp: DEAD HOST in slot 14
        !          37551: 601790665 100402126 I server fishonaplatter removed from 14.5
        !          37552: 601790719 100405407 I server fishonaplatter available on 14.5
        !          37553: 601853777 104188958 A SET MAJOR: tdk2cscp: trunk 9 is dead
        !          37554: 601854138 104210617 A CLEAR MAJOR: tdk2cscp: trunk 9 is dead
        !          37555: 602173970 123400431 I loopp: Trunk 4 active
        !          37556: 602174101 123408289 A SET MAJOR: tdkp: trunk 4 is dead
        !          37557: 602174127 123409829 A CLEAR MAJOR: tdkp: trunk 4 is dead
        !          37558: 602233958 126999930 A SET MAJOR: tdkp: trunk 4 is dead
        !          37559: 602234447 127029294 A SET MAJOR: loopp: trunk 4 appears dead
        !          37560: 602259331 128522302 I tdk2cscp: circuit 8.248 out of sync with remote
        !          37561: 602271968 129280534 A CLEAR MAJOR: tdkp: trunk 4 is dead
        !          37562: 602271979 129281157 A CLEAR MAJOR: loopp: trunk 4 appears dead
        !          37563: ��i��&�&H�7�R(7�R(7�R(wtmbin/n/westphal/netstat/node.7/info.Jun1991v/v14725/7943039676514114 151599961 I tdk2cscp: trunk 47 going dead; kpalive 31444 timout 32120 33724 35530
        !          37564: 676514114 151599962 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
        !          37565: 676514114 151599963 I tdk2cscp 47: datain count 1 at 32124 31443 31443 31444 73163 30760 30760 173342 173342 - 173342
        !          37566: 676514114 151599964 I tdk2cscp 47: msg count 0 at 31444 30760 136015 0 0 0 0 0 0 - 0
        !          37567: 676514114 151599964 A SET MAJOR: tdk2cscp: trunk 47 is dead
        !          37568: 676514114 154860064 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
        !          37569: 676514114 154876861 I tdk2cscp: trunk 47 going dead; kpalive 30736 timout 32264 34070 35674
        !          37570: 676514116 154876861 I tdk2cscp 47: enq count 0 at 5357 0 0 0 0 0 0 0 0 - 0
        !          37571: 676514116 154876863 I tdk2cscp 47: datain count 0 at 30503 30736 30736 30736 12513 177313 177313 173342 173342 - 173342
        !          37572: 676514116 154876863 I tdk2cscp 47: msg count 0 at 30736 30760 136015 0 0 0 0 0 0 - 0
        !          37573: 676514116 154876864 A SET MAJOR: tdk2cscp: trunk 47 is dead
        !          37574: 676514116 154879603 A CLEAR MAJOR: tdk2cscp: trunk 47 is dead
        !          37575: $G��&�&�R(�R(�R(wtmbin/n/westphal/netstat/hklabrawv/v14725/7953040����&�&�����R(y�R(��R(wtmbin/n/westphal/netstat/t3v/v14725/7963041/n/westphal/netstat//Thu Mar  7 14:13:15 1991 /usr/backup/v/v14122/730
        !          37576: /n/westphal/netstat/node.1/config.Apr1989//Sat Apr 29 00:09:52 1989 /usr/backup/v/v5982/331
        !          37577: /n/westphal/netstat/node.1/config.Apr1990//Tue May  1 00:11:35 1990 /usr/backup/v/v12160/221
        !          37578: /n/westphal/netstat/node.1/config.Apr1991//Wed May  1 00:10:37 1991 /usr/backup/v/v14489/499
        !          37579: /n/westphal/netstat/node.1/config.Aug1989//Mon Aug 28 00:13:32 1989 /usr/backup/v/v7010/283
        !          37580: /n/westphal/netstat/node.1/config.Aug1990//Thu Aug 30 00:04:53 1990 /usr/backup/v/v12930/1316
        !          37581: /n/westphal/netstat/node.1/config.Dec1988//Wed Dec 28 00:03:22 1988 /usr/backup/v/v4891/438
        !          37582: /n/westphal/netstat/node.1/config.Dec1989//Wed Dec 20 00:16:13 1989 /usr/backup/v/v11021/558
        !          37583: /n/westphal/netstat/node.1/config.Dec1990//Fri Dec 28 00:01:06 1990 /usr/backup/v/v13677/331
        !          37584: /n/westphal/netstat/node.1/config.Feb1989//Sat Feb 25 23:59:28 1989 /usr/backup/v/v5441/167
        !          37585: /n/westphal/netstat/node.1/config.Feb1990//Fri Feb 23 00:25:23 1990 /usr/backup/v/v11593/1134
        !          37586: /n/westphal/netstat/node.1/config.Feb1991//Thu Feb 28 00:06:53 1991 /usr/backup/v/v14062/300
        !          37587: /n/westphal/netstat/node.1/config.Jan1989//Wed Feb  1 00:14:05 1989 /usr/backup/v/v5213/184
        !          37588: /n/westphal/netstat/node.1/config.Jan1990//Wed Jan 31 00:23:37 1990 /usr/backup/v/v11412/432
        !          37589: /n/westphal/netstat/node.1/config.Jan1991//Sat Jan 26 23:57:02 1991 /usr/backup/v/v13827/539
        !          37590: /n/westphal/netstat/node.1/config.Jul1989//Sat Jul 29 00:07:53 1989 /usr/backup/v/v6711/257
        !          37591: /n/westphal/netstat/node.1/config.Jul1990//Tue Jul 31 00:04:55 1990 /usr/backup/v/v12716/312
        !          37592: /n/westphal/netstat/node.1/config.Jun1989//Thu Jun 29 00:08:53 1989 /usr/backup/v/v6468/240
        !          37593: /n/westphal/netstat/node.1/config.Jun1990//Sun Jul  1 00:18:58 1990 /usr/backup/v/v12506/618
        !          37594: /n/westphal/netstat/node.1/config.Jun1991//Wed Jun  5 00:14:57 1991 /usr/backup/v/v14690/876
        !          37595: /n/westphal/netstat/node.1/config.Mar1989//Sat Apr  1 00:07:02 1989 /usr/backup/v/v5755/327
        !          37596: /n/westphal/netstat/node.1/config.Mar1990//Fri Mar 30 00:01:29 1990 /usr/backup/v/v11879/790
        !          37597: /n/westphal/netstat/node.1/config.Mar1991//Sat Mar 30 00:01:47 1991 /usr/backup/v/v14260/1148
        !          37598: /n/westphal/netstat/node.1/config.May1989//Sat May 20 00:06:32 1989 /usr/backup/v/v6147/200
        !          37599: /n/westphal/netstat/node.1/config.May1990//Fri Jun  1 00:03:52 1990 /usr/backup/v/v12400/424
        !          37600: /n/westphal/netstat/node.1/config.May1991//Fri May 31 00:11:28 1991 /usr/backup/v/v14661/774
        !          37601: /n/westphal/netstat/node.1/config.Nov1988//Wed Nov 30 00:08:46 1988 /usr/backup/v/v4616/129
        !          37602: /n/westphal/netstat/node.1/config.Nov1989//Thu Nov 30 00:18:56 1989 /usr/backup/v/v10883/981
        !          37603: /n/westphal/netstat/node.1/config.Nov1990//Sat Dec  1 00:00:46 1990 /usr/backup/v/v13532/685
        !          37604: /n/westphal/netstat/node.1/config.Oct1989//Tue Oct 31 00:29:10 1989 /usr/backup/v/v10670/989
        !          37605: /n/westphal/netstat/node.1/config.Oct1990//Thu Nov  1 00:02:26 1990 /usr/backup/v/v13353/1225
        !          37606: /n/westphal/netstat/node.1/config.Sep1989//Fri Sep 29 00:22:54 1989 /usr/backup/v/v7233/181
        !          37607: /n/westphal/netstat/node.1/config.Sep1990//Sat Sep 29 00:02:43 1990 /usr/backup/v/v13154/642
        !          37608: /n/westphal/netstat/node.1/info.Apr1989//Sun Apr 30 23:59:49 1989 /usr/backup/v/v5991/136
        !          37609: /n/westphal/netstat/node.1/info.Apr1990//Tue May  1 00:14:22 1990 /usr/backup/v/v12160/398
        !          37610: /n/westphal/netstat/node.1/info.Apr1991//Wed May  1 00:13:28 1991 /usr/backup/v/v14491/482
        !          37611: /n/westphal/netstat/node.1/info.Aug1989//Fri Sep  1 00:07:47 1989 /usr/backup/v/v7041/678
        !          37612: /n/westphal/netstat/node.1/info.Aug1990//Sat Sep  1 00:04:59 1990 /usr/backup/v/v12949/196
        !          37613: /n/westphal/netstat/node.1/info.Dec1988//Sat Dec 31 23:58:41 1988 /usr/backup/v/v4916/359
        !          37614: /n/westphal/netstat/node.1/info.Dec1989//Mon Jan  1 00:10:58 1990 /usr/backup/v/v11119/1708
        !          37615: /n/westphal/netstat/node.1/info.Dec1990//Mon Dec 31 23:59:29 1990 /usr/backup/v/v13695/959
        !          37616: /n/westphal/netstat/node.1/info.Feb1989//Wed Mar  1 00:07:00 1989 /usr/backup/v/v5452/0
        !          37617: /n/westphal/netstat/node.1/info.Feb1990//Thu Mar  1 00:09:31 1990 /usr/backup/v/v11639/399
        !          37618: /n/westphal/netstat/node.1/info.Feb1991//Fri Mar  1 00:11:02 1991 /usr/backup/v/v14067/654
        !          37619: /n/westphal/netstat/node.1/info.Jan1989//Wed Feb  1 00:16:34 1989 /usr/backup/v/v5213/353
        !          37620: /n/westphal/netstat/node.1/info.Jan1990//Thu Feb  1 00:11:42 1990 /usr/backup/v/v11422/244
        !          37621: /n/westphal/netstat/node.1/info.Jan1991//Fri Feb  1 00:13:15 1991 /usr/backup/v/v13853/575
        !          37622: /n/westphal/netstat/node.1/info.Jul1989//Tue Aug  1 00:14:22 1989 /usr/backup/v/v6731/492
        !          37623: /n/westphal/netstat/node.1/info.Jul1990//Wed Aug  1 00:08:57 1990 /usr/backup/v/v12731/72
        !          37624: /n/westphal/netstat/node.1/info.Jun1989//Sat Jul  1 00:12:11 1989 /usr/backup/v/v6478/48
        !          37625: /n/westphal/netstat/node.1/info.Jun1990//Sun Jul  1 00:22:29 1990 /usr/backup/v/v12506/829
        !          37626: /n/westphal/netstat/node.1/info.Jun1991//Fri Jun  7 00:19:34 1991 /usr/backup/v/v14713/641
        !          37627: /n/westphal/netstat/node.1/info.Mar1989//Wed Mar 15 00:08:05 1989 /usr/backup/v/v5581/503
        !          37628: /n/westphal/netstat/node.1/info.Mar1990//Sun Apr  1 00:00:46 1990 /usr/backup/v/v11895/88
        !          37629: /n/westphal/netstat/node.1/info.Mar1991//Sun Mar 31 22:56:17 1991 /usr/backup/v/v14272/174
        !          37630: /n/westphal/netstat/node.1/info.May1989//Thu Jun  1 00:19:23 1989 /usr/backup/v/v6243/266
        !          37631: /n/westphal/netstat/node.1/info.May1990//Fri Jun  1 00:05:46 1990 /usr/backup/v/v12400/686
        !          37632: /n/westphal/netstat/node.1/info.May1991//Mon May 27 00:03:17 1991 /usr/backup/v/v14641/663
        !          37633: /n/westphal/netstat/node.1/info.Nov1988//Thu Dec  1 00:08:38 1988 /usr/backup/v/v4631/375
        !          37634: /n/westphal/netstat/node.1/info.Nov1989//Fri Dec  1 00:29:00 1989 /usr/backup/v/v10896/81
        !          37635: /n/westphal/netstat/node.1/info.Nov1990//Sat Dec  1 00:02:43 1990 /usr/backup/v/v13534/566
        !          37636: /n/westphal/netstat/node.1/info.Oct1989//Wed Nov  1 00:30:20 1989 /usr/backup/v/v10677/994
        !          37637: /n/westphal/netstat/node.1/info.Oct1990//Thu Nov  1 00:04:32 1990 /usr/backup/v/v13354/100
        !          37638: /n/westphal/netstat/node.1/info.Sep1989//Fri Sep 29 00:25:27 1989 /usr/backup/v/v7233/294
        !          37639: /n/westphal/netstat/node.1/info.Sep1990//Mon Oct  1 00:15:31 1990 /usr/backup/v/v13165/985
        !          37640: /n/westphal/netstat/node.2/config.Apr1989//Sat Apr 22 00:10:50 1989 /usr/backup/v/v5922/518
        !          37641: /n/westphal/netstat/node.2/config.Apr1990//Thu Apr 19 00:13:28 1990 /usr/backup/v/v12055/805
        !          37642: /n/westphal/netstat/node.2/config.Apr1991//Tue Apr 16 00:07:13 1991 /usr/backup/v/v14400/541
        !          37643: /n/westphal/netstat/node.2/config.Aug1989//Sat Aug 26 00:10:03 1989 /usr/backup/v/v7014/553
        !          37644: /n/westphal/netstat/node.2/config.Aug1990//Wed Aug  8 00:07:45 1990 /usr/backup/v/v12797/779
        !          37645: /n/westphal/netstat/node.2/config.Dec1988//Sat Dec 31 00:04:18 1988 /usr/backup/v/v4911/255
        !          37646: /n/westphal/netstat/node.2/config.Dec1989//Thu Dec 28 00:03:30 1989 /usr/backup/v/v11073/994
        !          37647: /n/westphal/netstat/node.2/config.Dec1990//Sat Dec  1 23:57:36 1990 /usr/backup/v/v13537/1045
        !          37648: /n/westphal/netstat/node.2/config.Feb1989//Fri Feb 24 00:13:57 1989 /usr/backup/v/v5418/419
        !          37649: /n/westphal/netstat/node.2/config.Feb1990//Thu Feb  8 00:12:15 1990 /usr/backup/v/v11489/866
        !          37650: /n/westphal/netstat/node.2/config.Feb1991//Thu Feb 28 00:10:58 1991 /usr/backup/v/v14063/307
        !          37651: /n/westphal/netstat/node.2/config.Jan1989//Fri Jan 20 00:11:49 1989 /usr/backup/v/v5090/82
        !          37652: /n/westphal/netstat/node.2/config.Jan1990//Sat Jan 27 00:21:42 1990 /usr/backup/v/v11385/463
        !          37653: /n/westphal/netstat/node.2/config.Jan1991//Sat Jan 26 23:58:42 1991 /usr/backup/v/v13823/141
        !          37654: /n/westphal/netstat/node.2/config.Jul1989//Thu Jul 27 00:18:25 1989 /usr/backup/v/v6688/651
        !          37655: /n/westphal/netstat/node.2/config.Jul1990//Thu Jul 12 00:06:25 1990 /usr/backup/v/v12578/51
        !          37656: /n/westphal/netstat/node.2/config.Jun1989//Sat Jul  1 00:14:11 1989 /usr/backup/v/v6479/455
        !          37657: /n/westphal/netstat/node.2/config.Jun1990//Wed Jun 27 00:14:52 1990 /usr/backup/v/v12484/1060
        !          37658: /n/westphal/netstat/node.2/config.Jun1991//Fri Jun  7 00:21:55 1991 /usr/backup/v/v14708/516
        !          37659: /n/westphal/netstat/node.2/config.Mar1989//Wed Mar 29 00:14:23 1989 /usr/backup/v/v5728/544
        !          37660: /n/westphal/netstat/node.2/config.Mar1990//Wed Mar 21 00:15:33 1990 /usr/backup/v/v11791/764
        !          37661: /n/westphal/netstat/node.2/config.Mar1991//Fri Mar 29 00:04:51 1991 /usr/backup/v/v14255/499
        !          37662: /n/westphal/netstat/node.2/config.May1989//Sat May 20 00:10:05 1989 /usr/backup/v/v6148/569
        !          37663: /n/westphal/netstat/node.2/config.May1990//Sat May 26 00:03:19 1990 /usr/backup/v/v12371/706
        !          37664: /n/westphal/netstat/node.2/config.May1991//Sat May 18 00:06:44 1991 /usr/backup/v/v14593/717
        !          37665: /n/westphal/netstat/node.2/config.Nov1988//Wed Nov 30 00:12:15 1988 /usr/backup/v/v4609/109
        !          37666: /n/westphal/netstat/node.2/config.Nov1989//Fri Dec  1 00:32:10 1989 /usr/backup/v/v10896/203
        !          37667: /n/westphal/netstat/node.2/config.Nov1990//Wed Nov 28 00:07:24 1990 /usr/backup/v/v13515/1032
        !          37668: /n/westphal/netstat/node.2/config.Oct1989//Tue Oct 31 00:36:53 1989 /usr/backup/v/v10670/1025
        !          37669: /n/westphal/netstat/node.2/config.Oct1990//Wed Oct 17 00:05:10 1990 /usr/backup/v/v13272/216
        !          37670: /n/westphal/netstat/node.2/config.Sep1989//Fri Sep 29 00:27:39 1989 /usr/backup/v/v7229/967
        !          37671: /n/westphal/netstat/node.2/config.Sep1990//Sat Sep 22 00:07:11 1990 /usr/backup/v/v13109/741
        !          37672: /n/westphal/netstat/node.2/info.Apr1989//Sat Apr 29 00:15:45 1989 /usr/backup/v/v5982/565
        !          37673: /n/westphal/netstat/node.2/info.Apr1990//Tue May  1 00:16:45 1990 /usr/backup/v/v12161/299
        !          37674: /n/westphal/netstat/node.2/info.Apr1991//Tue Apr 30 00:15:08 1991 /usr/backup/v/v14483/516
        !          37675: /n/westphal/netstat/node.2/info.Aug1989//Tue Aug 29 00:19:37 1989 /usr/backup/v/v7014/627
        !          37676: /n/westphal/netstat/node.2/info.Aug1990//Sat Sep  1 00:06:40 1990 /usr/backup/v/v12949/584
        !          37677: /n/westphal/netstat/node.2/info.Dec1988//Sat Dec 31 23:59:38 1988 /usr/backup/v/v4917/359
        !          37678: /n/westphal/netstat/node.2/info.Dec1989//Mon Jan  1 00:14:11 1990 /usr/backup/v/v11120/1326
        !          37679: /n/westphal/netstat/node.2/info.Dec1990//Sat Dec 29 00:01:49 1990 /usr/backup/v/v13682/308
        !          37680: /n/westphal/netstat/node.2/info.Feb1989//Wed Mar  1 00:09:56 1989 /usr/backup/v/v5454/171
        !          37681: /n/westphal/netstat/node.2/info.Feb1990//Thu Mar  1 00:12:36 1990 /usr/backup/v/v11632/805
        !          37682: /n/westphal/netstat/node.2/info.Feb1991//Thu Feb 28 00:12:25 1991 /usr/backup/v/v14063/522
        !          37683: /n/westphal/netstat/node.2/info.Jan1989//Wed Feb  1 00:21:25 1989 /usr/backup/v/v5204/337
        !          37684: /n/westphal/netstat/node.2/info.Jan1990//Thu Feb  1 00:14:41 1990 /usr/backup/v/v11421/1207
        !          37685: /n/westphal/netstat/node.2/info.Jan1991//Fri Feb  1 00:15:20 1991 /usr/backup/v/v13854/379
        !          37686: /n/westphal/netstat/node.2/info.Jul1989//Tue Aug  1 00:18:56 1989 /usr/backup/v/v6732/490
        !          37687: /n/westphal/netstat/node.2/info.Jul1990//Wed Aug  1 00:10:59 1990 /usr/backup/v/v12721/443
        !          37688: /n/westphal/netstat/node.2/info.Jun1989//Sat Jul  1 00:16:13 1989 /usr/backup/v/v6471/35
        !          37689: /n/westphal/netstat/node.2/info.Jun1990//Sat Jun 30 00:26:40 1990 /usr/backup/v/v12500/397
        !          37690: /n/westphal/netstat/node.2/info.Jun1991//Fri Jun  7 00:24:19 1991 /usr/backup/v/v14708/738
        !          37691: /n/westphal/netstat/node.2/info.Mar1989//Sat Apr  1 00:12:40 1989 /usr/backup/v/v5748/73
        !          37692: /n/westphal/netstat/node.2/info.Mar1990//Sat Mar 31 00:06:27 1990 /usr/backup/v/v11893/614
        !          37693: /n/westphal/netstat/node.2/info.Mar1991//Sat Mar 30 23:58:10 1991 /usr/backup/v/v14264/1314
        !          37694: /n/westphal/netstat/node.2/info.May1989//Thu Jun  1 00:24:38 1989 /usr/backup/v/v6244/319
        !          37695: /n/westphal/netstat/node.2/info.May1990//Fri Jun  1 00:07:35 1990 /usr/backup/v/v12401/480
        !          37696: /n/westphal/netstat/node.2/info.May1991//Fri May 31 00:17:25 1991 /usr/backup/v/v14662/920
        !          37697: /n/westphal/netstat/node.2/info.Nov1989//Fri Dec  1 00:35:34 1989 /usr/backup/v/v10896/243
        !          37698: /n/westphal/netstat/node.2/info.Nov1990//Sat Dec  1 00:04:01 1990 /usr/backup/v/v13535/646
        !          37699: /n/westphal/netstat/node.2/info.Oct1989//Wed Nov  1 00:33:47 1989 /usr/backup/v/v10677/1407
        !          37700: /n/westphal/netstat/node.2/info.Oct1990//Thu Nov  1 00:06:07 1990 /usr/backup/v/v13354/776
        !          37701: /n/westphal/netstat/node.2/info.Sep1989//Fri Sep 29 00:29:58 1989 /usr/backup/v/v7230/0
        !          37702: /n/westphal/netstat/node.2/info.Sep1990//Sun Sep 30 00:04:10 1990 /usr/backup/v/v13161/863
        !          37703: /n/westphal/netstat/node.3/config.Apr1989//Sat Apr 29 00:15:58 1989 /usr/backup/v/v5983/151
        !          37704: /n/westphal/netstat/node.3/config.Apr1990//Tue May  1 00:17:16 1990 /usr/backup/v/v12156/255
        !          37705: /n/westphal/netstat/node.3/config.Apr1991//Tue Apr 30 00:15:16 1991 /usr/backup/v/v14484/179
        !          37706: /n/westphal/netstat/node.3/config.Aug1989//Mon Aug 28 00:20:30 1989 /usr/backup/v/v7012/532
        !          37707: /n/westphal/netstat/node.3/config.Aug1990//Sat Aug 25 00:08:28 1990 /usr/backup/v/v12904/63
        !          37708: /n/westphal/netstat/node.3/config.Dec1989//Fri Dec 22 00:06:26 1989 /usr/backup/v/v11039/14
        !          37709: /n/westphal/netstat/node.3/config.Dec1990//Tue Jan  1 00:00:26 1991 /usr/backup/v/v13697/691
        !          37710: /n/westphal/netstat/node.3/config.Feb1989//Wed Mar  1 00:10:02 1989 /usr/backup/v/v5457/106
        !          37711: /n/westphal/netstat/node.3/config.Feb1990//Wed Feb 14 00:15:52 1990 /usr/backup/v/v11537/864
        !          37712: /n/westphal/netstat/node.3/config.Feb1991//Wed Feb 20 00:12:06 1991 /usr/backup/v/v14020/868
        !          37713: /n/westphal/netstat/node.3/config.Jan1989//Sat Jan 28 00:13:11 1989 /usr/backup/v/v5179/31
        !          37714: /n/westphal/netstat/node.3/config.Jan1990//Sat Jan 27 00:23:32 1990 /usr/backup/v/v11384/521
        !          37715: /n/westphal/netstat/node.3/config.Jan1991//Fri Jan 18 00:12:43 1991 /usr/backup/v/v13777/329
        !          37716: /n/westphal/netstat/node.3/config.Jul1989//Thu Jul 27 00:21:16 1989 /usr/backup/v/v6696/323
        !          37717: /n/westphal/netstat/node.3/config.Jul1990//Tue Jul 31 00:09:04 1990 /usr/backup/v/v12714/1075
        !          37718: /n/westphal/netstat/node.3/config.Jun1989//Sat Jul  1 00:16:24 1989 /usr/backup/v/v6480/241
        !          37719: /n/westphal/netstat/node.3/config.Jun1990//Wed Jun 27 00:16:23 1990 /usr/backup/v/v12484/1186
        !          37720: /n/westphal/netstat/node.3/config.Jun1991//Wed Jun  5 00:21:41 1991 /usr/backup/v/v14692/485
        !          37721: /n/westphal/netstat/node.3/config.Mar1989//Sat Apr  1 00:12:45 1989 /usr/backup/v/v5749/193
        !          37722: /n/westphal/netstat/node.3/config.Mar1990//Fri Mar 30 00:05:56 1990 /usr/backup/v/v11881/830
        !          37723: /n/westphal/netstat/node.3/config.Mar1991//Thu Mar 28 00:15:52 1991 /usr/backup/v/v14248/364
        !          37724: /n/westphal/netstat/node.3/config.May1989//Thu May 18 00:12:25 1989 /usr/backup/v/v6140/80
        !          37725: /n/westphal/netstat/node.3/config.May1990//Sat May 26 00:03:57 1990 /usr/backup/v/v12372/275
        !          37726: /n/westphal/netstat/node.3/config.May1991//Thu May 30 00:18:56 1991 /usr/backup/v/v14658/675
        !          37727: /n/westphal/netstat/node.3/config.Nov1989//Tue Nov 28 00:28:37 1989 /usr/backup/v/v10875/622
        !          37728: /n/westphal/netstat/node.3/config.Nov1990//Wed Nov 28 00:08:17 1990 /usr/backup/v/v13513/757
        !          37729: /n/westphal/netstat/node.3/config.Oct1989//Wed Oct 25 00:14:24 1989 /usr/backup/v/v10630/508
        !          37730: /n/westphal/netstat/node.3/config.Oct1990//Thu Nov  1 00:06:11 1990 /usr/backup/v/v13350/555
        !          37731: /n/westphal/netstat/node.3/config.Sep1989//Thu Sep 28 00:32:32 1989 /usr/backup/v/v7228/273
        !          37732: /n/westphal/netstat/node.3/config.Sep1990//Sat Sep 29 00:06:10 1990 /usr/backup/v/v13154/1171
        !          37733: /n/westphal/netstat/node.3/info.Apr1989//Mon May  1 00:01:38 1989 /usr/backup/v/v5988/248
        !          37734: /n/westphal/netstat/node.3/info.Apr1990//Tue May  1 00:17:43 1990 /usr/backup/v/v12156/432
        !          37735: /n/westphal/netstat/node.3/info.Apr1991//Wed May  1 00:17:32 1991 /usr/backup/v/v14487/722
        !          37736: /n/westphal/netstat/node.3/info.Aug1989//Fri Sep  1 00:11:10 1989 /usr/backup/v/v7040/598
        !          37737: /n/westphal/netstat/node.3/info.Aug1990//Sat Sep  1 00:06:46 1990 /usr/backup/v/v12948/292
        !          37738: /n/westphal/netstat/node.3/info.Dec1989//Mon Jan  1 00:14:35 1990 /usr/backup/v/v11122/1298
        !          37739: /n/westphal/netstat/node.3/info.Dec1990//Tue Jan  1 00:00:29 1991 /usr/backup/v/v13695/314
        !          37740: /n/westphal/netstat/node.3/info.Feb1989//Wed Mar  1 00:10:05 1989 /usr/backup/v/v5457/292
        !          37741: /n/westphal/netstat/node.3/info.Feb1990//Thu Mar  1 00:13:02 1990 /usr/backup/v/v11637/864
        !          37742: /n/westphal/netstat/node.3/info.Feb1991//Fri Mar  1 00:15:34 1991 /usr/backup/v/v14072/328
        !          37743: /n/westphal/netstat/node.3/info.Jan1989//Wed Feb  1 00:21:30 1989 /usr/backup/v/v5205/486
        !          37744: /n/westphal/netstat/node.3/info.Jan1990//Thu Feb  1 00:14:43 1990 /usr/backup/v/v11422/1028
        !          37745: /n/westphal/netstat/node.3/info.Jan1991//Fri Feb  1 00:15:35 1991 /usr/backup/v/v13852/390
        !          37746: /n/westphal/netstat/node.3/info.Jul1989//Tue Aug  1 00:19:11 1989 /usr/backup/v/v6734/167
        !          37747: /n/westphal/netstat/node.3/info.Jul1990//Wed Aug  1 00:11:05 1990 /usr/backup/v/v12722/859
        !          37748: /n/westphal/netstat/node.3/info.Jun1989//Sat Jul  1 00:16:36 1989 /usr/backup/v/v6480/419
        !          37749: /n/westphal/netstat/node.3/info.Jun1990//Sun Jul  1 00:24:05 1990 /usr/backup/v/v12507/346
        !          37750: /n/westphal/netstat/node.3/info.Jun1991//Fri Jun  7 00:24:37 1991 /usr/backup/v/v14709/460
        !          37751: /n/westphal/netstat/node.3/info.Mar1989//Sat Apr  1 00:12:51 1989 /usr/backup/v/v5749/371
        !          37752: /n/westphal/netstat/node.3/info.Mar1990//Sun Mar 25 04:41:54 1990 /usr/backup/v/v11834/792
        !          37753: /n/westphal/netstat/node.3/info.Mar1991//Sun Mar 31 22:57:38 1991 /usr/backup/v/v14268/1082
        !          37754: /n/westphal/netstat/node.3/info.May1989//Thu Jun  1 00:24:59 1989 /usr/backup/v/v6245/428
        !          37755: /n/westphal/netstat/node.3/info.May1990//Fri Jun  1 00:07:40 1990 /usr/backup/v/v12402/56
        !          37756: /n/westphal/netstat/node.3/info.May1991//Fri May 31 00:17:35 1991 /usr/backup/v/v14663/803
        !          37757: /n/westphal/netstat/node.3/info.Nov1989//Fri Dec  1 00:35:36 1989 /usr/backup/v/v10896/409
        !          37758: /n/westphal/netstat/node.3/info.Nov1990//Sat Dec  1 00:04:11 1990 /usr/backup/v/v13531/444
        !          37759: /n/westphal/netstat/node.3/info.Oct1989//Wed Nov  1 00:33:50 1989 /usr/backup/v/v10677/1742
        !          37760: /n/westphal/netstat/node.3/info.Oct1990//Thu Nov  1 00:06:13 1990 /usr/backup/v/v13350/731
        !          37761: /n/westphal/netstat/node.3/info.Sep1989//Fri Sep 29 00:30:05 1989 /usr/backup/v/v7230/441
        !          37762: /n/westphal/netstat/node.3/info.Sep1990//Mon Oct  1 00:16:24 1990 /usr/backup/v/v13163/126
        !          37763: /n/westphal/netstat/node.4/config.Apr1990//Thu Apr 19 00:15:45 1990 /usr/backup/v/v12055/669
        !          37764: /n/westphal/netstat/node.4/config.Apr1991//Wed Apr 10 00:04:21 1991 /usr/backup/v/v14360/398
        !          37765: /n/westphal/netstat/node.4/config.Aug1990//Sat Sep  1 00:07:01 1990 /usr/backup/v/v12949/482
        !          37766: /n/westphal/netstat/node.4/config.Dec1989//Sat Dec  9 00:30:11 1989 /usr/backup/v/v10976/236
        !          37767: /n/westphal/netstat/node.4/config.Dec1990//Thu Dec 13 00:11:53 1990 /usr/backup/v/v13605/1592
        !          37768: /n/westphal/netstat/node.4/config.Feb1990//Fri Feb 23 00:36:32 1990 /usr/backup/v/v11591/846
        !          37769: /n/westphal/netstat/node.4/config.Feb1991//Thu Feb 28 00:12:55 1991 /usr/backup/v/v14066/922
        !          37770: /n/westphal/netstat/node.4/config.Jan1990//Sat Jan 27 00:24:10 1990 /usr/backup/v/v11385/464
        !          37771: /n/westphal/netstat/node.4/config.Jan1991//Tue Jan  1 23:56:04 1991 /usr/backup/v/v13695/53
        !          37772: /n/westphal/netstat/node.4/config.Jul1990//Tue Jul 31 00:09:26 1990 /usr/backup/v/v12716/1164
        !          37773: /n/westphal/netstat/node.4/config.Jun1990//Thu Jun 28 00:38:47 1990 /usr/backup/v/v12493/604
        !          37774: /n/westphal/netstat/node.4/config.Jun1991//Sat Jun  1 23:57:31 1991 /usr/backup/v/v14677/1
        !          37775: /n/westphal/netstat/node.4/config.Mar1990//Sat Mar 24 00:22:55 1990 /usr/backup/v/v11821/976
        !          37776: /n/westphal/netstat/node.4/config.Mar1991//Fri Mar 22 00:15:15 1991 /usr/backup/v/v14212/294
        !          37777: /n/westphal/netstat/node.4/config.May1990//Sat May 26 00:04:14 1990 /usr/backup/v/v12371/1125
        !          37778: /n/westphal/netstat/node.4/config.May1991//Sat May 11 00:10:55 1991 /usr/backup/v/v14552/527
        !          37779: /n/westphal/netstat/node.4/config.Nov1989//Wed Nov 22 00:35:23 1989 /usr/backup/v/v10842/880
        !          37780: /n/westphal/netstat/node.4/config.Nov1990//Fri Nov 30 00:12:20 1990 /usr/backup/v/v13524/909
        !          37781: /n/westphal/netstat/node.4/config.Oct1989//Tue Oct 31 00:42:14 1989 /usr/backup/v/v10670/1006
        !          37782: /n/westphal/netstat/node.4/config.Oct1990//Wed Oct 17 00:06:30 1990 /usr/backup/v/v13269/673
        !          37783: /n/westphal/netstat/node.4/config.Sep1989//Fri Sep 29 00:30:32 1989 /usr/backup/v/v7232/722
        !          37784: /n/westphal/netstat/node.4/config.Sep1990//Sat Sep 29 00:06:23 1990 /usr/backup/v/v13154/1
        !          37785: /n/westphal/netstat/node.4/info.Apr1990//Tue May  1 00:18:58 1990 /usr/backup/v/v12160/576
        !          37786: /n/westphal/netstat/node.4/info.Apr1991//Wed May  1 00:17:59 1991 /usr/backup/v/v14491/247
        !          37787: /n/westphal/netstat/node.4/info.Aug1990//Thu Aug 30 00:10:17 1990 /usr/backup/v/v12930/1504
        !          37788: /n/westphal/netstat/node.4/info.Dec1989//Mon Jan  1 00:15:13 1990 /usr/backup/v/v11122/1329
        !          37789: /n/westphal/netstat/node.4/info.Dec1990//Tue Jan  1 00:00:36 1991 /usr/backup/v/v13696/1632
        !          37790: /n/westphal/netstat/node.4/info.Feb1990//Sat Feb  3 00:10:28 1990 /usr/backup/v/v11439/11
        !          37791: /n/westphal/netstat/node.4/info.Feb1991//Fri Mar  1 00:15:59 1991 /usr/backup/v/v14070/316
        !          37792: /n/westphal/netstat/node.4/info.Jan1990//Thu Feb  1 00:15:01 1990 /usr/backup/v/v11422/245
        !          37793: /n/westphal/netstat/node.4/info.Jan1991//Fri Feb  1 00:16:03 1991 /usr/backup/v/v13852/5
        !          37794: /n/westphal/netstat/node.4/info.Jul1990//Wed Aug  1 00:11:36 1990 /usr/backup/v/v12720/988
        !          37795: /n/westphal/netstat/node.4/info.Jun1990//Sun Jul  1 00:29:06 1990 /usr/backup/v/v12507/21
        !          37796: /n/westphal/netstat/node.4/info.Jun1991//Fri Jun  7 00:25:02 1991 /usr/backup/v/v14712/6
        !          37797: /n/westphal/netstat/node.4/info.Mar1990//Sun Mar 25 04:55:58 1990 /usr/backup/v/v11833/12
        !          37798: /n/westphal/netstat/node.4/info.Mar1991//Sun Mar 31 22:57:44 1991 /usr/backup/v/v14272/415
        !          37799: /n/westphal/netstat/node.4/info.May1990//Fri Jun  1 00:08:24 1990 /usr/backup/v/v12400/950
        !          37800: /n/westphal/netstat/node.4/info.May1991//Fri May 31 00:17:44 1991 /usr/backup/v/v14661/29
        !          37801: /n/westphal/netstat/node.4/info.Nov1989//Fri Dec  1 00:36:53 1989 /usr/backup/v/v10895/826
        !          37802: /n/westphal/netstat/node.4/info.Nov1990//Sat Dec  1 00:04:30 1990 /usr/backup/v/v13535/647
        !          37803: /n/westphal/netstat/node.4/info.Oct1989//Wed Nov  1 00:39:22 1989 /usr/backup/v/v10677/912
        !          37804: /n/westphal/netstat/node.4/info.Oct1990//Thu Nov  1 00:06:36 1990 /usr/backup/v/v13349/718
        !          37805: /n/westphal/netstat/node.4/info.Sep1989//Fri Sep 29 00:31:01 1989 /usr/backup/v/v7233/74
        !          37806: /n/westphal/netstat/node.4/info.Sep1990//Mon Oct  1 00:21:32 1990 /usr/backup/v/v13162/425
        !          37807: /n/westphal/netstat/node.5/config.Apr1990//Tue May  1 00:19:24 1990 /usr/backup/v/v12156/256
        !          37808: /n/westphal/netstat/node.5/config.Apr1991//Wed Apr 24 00:08:01 1991 /usr/backup/v/v14454/248
        !          37809: /n/westphal/netstat/node.5/config.Aug1990//Fri Aug 31 00:14:45 1990 /usr/backup/v/v12939/739
        !          37810: /n/westphal/netstat/node.5/config.Dec1989//Tue Dec 19 00:43:33 1989 /usr/backup/v/v11015/825
        !          37811: /n/westphal/netstat/node.5/config.Dec1990//Wed Dec 19 00:07:50 1990 /usr/backup/v/v13637/126
        !          37812: /n/westphal/netstat/node.5/config.Feb1990//Wed Feb 21 00:31:14 1990 /usr/backup/v/v11592/512
        !          37813: /n/westphal/netstat/node.5/config.Feb1991//Sat Feb 23 00:09:19 1991 /usr/backup/v/v14039/223
        !          37814: /n/westphal/netstat/node.5/config.Jan1990//Wed Jan 31 00:33:34 1990 /usr/backup/v/v11410/49
        !          37815: /n/westphal/netstat/node.5/config.Jan1991//Wed Jan 30 00:14:15 1991 /usr/backup/v/v13838/1092
        !          37816: /n/westphal/netstat/node.5/config.Jul1990//Mon Jul  2 00:24:10 1990 /usr/backup/v/v12510/605
        !          37817: /n/westphal/netstat/node.5/config.Jun1990//Fri Jun 29 00:50:04 1990 /usr/backup/v/v12498/482
        !          37818: /n/westphal/netstat/node.5/config.Jun1991//Sat Jun  1 23:57:32 1991 /usr/backup/v/v14676/366
        !          37819: /n/westphal/netstat/node.5/config.Mar1990//Sun Mar 25 05:00:18 1990 /usr/backup/v/v11837/580
        !          37820: /n/westphal/netstat/node.5/config.Mar1991//Sat Mar 23 00:13:25 1991 /usr/backup/v/v14218/940
        !          37821: /n/westphal/netstat/node.5/config.May1990//Fri Jun  1 00:08:46 1990 /usr/backup/v/v12402/58
        !          37822: /n/westphal/netstat/node.5/config.May1991//Fri May 24 00:10:12 1991 /usr/backup/v/v14625/225
        !          37823: /n/westphal/netstat/node.5/config.Nov1989//Tue Nov 28 00:30:28 1989 /usr/backup/v/v10875/312
        !          37824: /n/westphal/netstat/node.5/config.Nov1990//Fri Nov 30 00:12:54 1990 /usr/backup/v/v13526/407
        !          37825: /n/westphal/netstat/node.5/config.Oct1990//Thu Nov  1 00:06:57 1990 /usr/backup/v/v13350/904
        !          37826: /n/westphal/netstat/node.5/config.Sep1990//Fri Sep 28 00:08:45 1990 /usr/backup/v/v13145/162
        !          37827: /n/westphal/netstat/node.5/info.Apr1990//Tue May  1 00:19:52 1990 /usr/backup/v/v12156/433
        !          37828: /n/westphal/netstat/node.5/info.Apr1991//Wed May  1 00:18:52 1991 /usr/backup/v/v14491/483
        !          37829: /n/westphal/netstat/node.5/info.Aug1990//Sat Sep  1 00:08:13 1990 /usr/backup/v/v12948/1353
        !          37830: /n/westphal/netstat/node.5/info.Dec1989//Sat Dec 30 00:16:19 1989 /usr/backup/v/v11091/256
        !          37831: /n/westphal/netstat/node.5/info.Dec1990//Tue Jan  1 00:01:06 1991 /usr/backup/v/v13695/831
        !          37832: /n/westphal/netstat/node.5/info.Feb1990//Thu Mar  1 00:14:22 1990 /usr/backup/v/v11630/269
        !          37833: /n/westphal/netstat/node.5/info.Feb1991//Fri Mar  1 00:16:51 1991 /usr/backup/v/v14071/446
        !          37834: /n/westphal/netstat/node.5/info.Jan1990//Thu Feb  1 00:15:49 1990 /usr/backup/v/v11422/832
        !          37835: /n/westphal/netstat/node.5/info.Jan1991//Fri Feb  1 00:17:18 1991 /usr/backup/v/v13853/382
        !          37836: /n/westphal/netstat/node.5/info.Jul1990//Wed Aug  1 00:12:22 1990 /usr/backup/v/v12722/860
        !          37837: /n/westphal/netstat/node.5/info.Jun1990//Sun Jul  1 00:29:27 1990 /usr/backup/v/v12508/352
        !          37838: /n/westphal/netstat/node.5/info.Jun1991//Fri Jun  7 00:26:13 1991 /usr/backup/v/v14713/1093
        !          37839: /n/westphal/netstat/node.5/info.Mar1990//Sun Mar 25 05:04:48 1990 /usr/backup/v/v11837/937
        !          37840: /n/westphal/netstat/node.5/info.Mar1991//Sat Mar 30 23:58:40 1991 /usr/backup/v/v14264/905
        !          37841: /n/westphal/netstat/node.5/info.May1990//Fri Jun  1 00:09:08 1990 /usr/backup/v/v12402/320
        !          37842: /n/westphal/netstat/node.5/info.May1991//Fri May 24 00:10:32 1991 /usr/backup/v/v14625/420
        !          37843: /n/westphal/netstat/node.5/info.Nov1989//Fri Dec  1 00:38:01 1989 /usr/backup/v/v10896/82
        !          37844: /n/westphal/netstat/node.5/info.Nov1990//Sat Dec  1 00:05:04 1990 /usr/backup/v/v13531/639
        !          37845: /n/westphal/netstat/node.5/info.Oct1990//Thu Nov  1 00:07:21 1990 /usr/backup/v/v13351/78
        !          37846: /n/westphal/netstat/node.5/info.Sep1990//Sat Sep 29 00:07:21 1990 /usr/backup/v/v13155/30
        !          37847: /n/westphal/netstat/node.6/config.Apr1989//Sat Apr 15 00:11:20 1989 /usr/backup/v/v5869/18
        !          37848: /n/westphal/netstat/node.6/config.Apr1990//Wed Apr 11 00:15:31 1990 /usr/backup/v/v12002/152
        !          37849: /n/westphal/netstat/node.6/config.Apr1991//Tue Apr  2 00:09:06 1991 /usr/backup/v/v14275/492
        !          37850: /n/westphal/netstat/node.6/config.Aug1989//Sun Aug 27 00:10:31 1989 /usr/backup/v/v7010/570
        !          37851: /n/westphal/netstat/node.6/config.Aug1990//Sat Aug 25 00:10:46 1990 /usr/backup/v/v12906/311
        !          37852: /n/westphal/netstat/node.6/config.Dec1989//Wed Dec 13 00:30:19 1989 /usr/backup/v/v10988/590
        !          37853: /n/westphal/netstat/node.6/config.Dec1990//Tue Dec 18 00:13:25 1990 /usr/backup/v/v13630/815
        !          37854: /n/westphal/netstat/node.6/config.Feb1989//Thu Feb 23 00:14:34 1989 /usr/backup/v/v5411/97
        !          37855: /n/westphal/netstat/node.6/config.Feb1990//Tue Feb 13 00:23:04 1990 /usr/backup/v/v11531/1285
        !          37856: /n/westphal/netstat/node.6/config.Feb1991//Sat Feb  2 00:14:53 1991 /usr/backup/v/v13861/1120
        !          37857: /n/westphal/netstat/node.6/config.Jan1989//Tue Jan 31 00:12:59 1989 /usr/backup/v/v5197/201
        !          37858: /n/westphal/netstat/node.6/config.Jan1990//Tue Jan  2 00:13:41 1990 /usr/backup/v/v11132/1712
        !          37859: /n/westphal/netstat/node.6/config.Jan1991//Fri Jan  4 00:19:02 1991 /usr/backup/v/v13702/202
        !          37860: /n/westphal/netstat/node.6/config.Jul1989//Thu Jul 27 00:21:32 1989 /usr/backup/v/v6693/438
        !          37861: /n/westphal/netstat/node.6/config.Jul1990//Tue Jul 31 00:10:37 1990 /usr/backup/v/v12714/762
        !          37862: /n/westphal/netstat/node.6/config.Jun1989//Wed Jun 28 00:14:13 1989 /usr/backup/v/v6469/737
        !          37863: /n/westphal/netstat/node.6/config.Jun1990//Tue Jun 12 00:14:04 1990 /usr/backup/v/v12485/346
        !          37864: /n/westphal/netstat/node.6/config.Jun1991//Thu Jun  6 00:23:08 1991 /usr/backup/v/v14701/705
        !          37865: /n/westphal/netstat/node.6/config.Mar1989//Wed Mar 29 00:16:39 1989 /usr/backup/v/v5726/276
        !          37866: /n/westphal/netstat/node.6/config.Mar1990//Fri Mar  2 00:14:27 1990 /usr/backup/v/v11660/296
        !          37867: /n/westphal/netstat/node.6/config.Mar1991//Sat Mar  2 00:14:48 1991 /usr/backup/v/v14080/156
        !          37868: /n/westphal/netstat/node.6/config.May1989//Tue May  2 00:12:54 1989 /usr/backup/v/v5995/350
        !          37869: /n/westphal/netstat/node.6/config.May1990//Sat May 26 00:05:05 1990 /usr/backup/v/v12371/14
        !          37870: /n/westphal/netstat/node.6/config.May1991//Fri May 10 00:08:39 1991 /usr/backup/v/v14549/178
        !          37871: /n/westphal/netstat/node.6/config.Nov1989//Thu Nov  2 00:45:55 1989 /usr/backup/v/v10692/842
        !          37872: /n/westphal/netstat/node.6/config.Nov1990//Wed Nov 28 00:09:37 1990 /usr/backup/v/v13515/287
        !          37873: /n/westphal/netstat/node.6/config.Oct1989//Thu Oct 19 00:43:12 1989 /usr/backup/v/v10600/284
        !          37874: /n/westphal/netstat/node.6/config.Oct1990//Wed Oct 17 00:07:36 1990 /usr/backup/v/v13271/77
        !          37875: /n/westphal/netstat/node.6/config.Sep1989//Sat Sep  2 00:16:44 1989 /usr/backup/v/v7041/418
        !          37876: /n/westphal/netstat/node.6/config.Sep1990//Sat Sep 29 00:07:22 1990 /usr/backup/v/v13154/748
        !          37877: /n/westphal/netstat/node.6/info.Apr1989//Mon May  1 00:01:40 1989 /usr/backup/v/v5990/396
        !          37878: /n/westphal/netstat/node.6/info.Apr1990//Mon Apr 30 00:06:14 1990 /usr/backup/v/v12147/933
        !          37879: /n/westphal/netstat/node.6/info.Apr1991//Tue Apr  2 00:09:07 1991 /usr/backup/v/v14275/706
        !          37880: /n/westphal/netstat/node.6/info.Aug1989//Fri Sep  1 00:11:12 1989 /usr/backup/v/v7041/130
        !          37881: /n/westphal/netstat/node.6/info.Aug1990//Sat Aug 25 00:10:47 1990 /usr/backup/v/v12906/387
        !          37882: /n/westphal/netstat/node.6/info.Dec1989//Mon Jan  1 00:16:23 1990 /usr/backup/v/v11122/1314
        !          37883: /n/westphal/netstat/node.6/info.Dec1990//Sat Dec 29 00:02:32 1990 /usr/backup/v/v13681/522
        !          37884: /n/westphal/netstat/node.6/info.Feb1989//Sat Feb 25 00:24:34 1989 /usr/backup/v/v5426/105
        !          37885: /n/westphal/netstat/node.6/info.Feb1990//Wed Feb 28 00:20:32 1990 /usr/backup/v/v11640/534
        !          37886: /n/westphal/netstat/node.6/info.Feb1991//Wed Feb 27 00:21:28 1991 /usr/backup/v/v14058/774
        !          37887: /n/westphal/netstat/node.6/info.Jan1989//Wed Feb  1 00:21:59 1989 /usr/backup/v/v5211/544
        !          37888: /n/westphal/netstat/node.6/info.Jan1990//Sat Jan 27 00:25:36 1990 /usr/backup/v/v11384/258
        !          37889: /n/westphal/netstat/node.6/info.Jan1991//Fri Jan 25 00:13:38 1991 /usr/backup/v/v13821/891
        !          37890: /n/westphal/netstat/node.6/info.Jul1989//Tue Aug  1 00:19:16 1989 /usr/backup/v/v6738/274
        !          37891: /n/westphal/netstat/node.6/info.Jul1990//Tue Jul 31 00:10:38 1990 /usr/backup/v/v12715/568
        !          37892: /n/westphal/netstat/node.6/info.Jun1989//Sat Jul  1 00:16:40 1989 /usr/backup/v/v6476/444
        !          37893: /n/westphal/netstat/node.6/info.Jun1990//Sat Jun 30 00:33:13 1990 /usr/backup/v/v12504/362
        !          37894: /n/westphal/netstat/node.6/info.Jun1991//Thu Jun  6 00:23:11 1991 /usr/backup/v/v14702/72
        !          37895: /n/westphal/netstat/node.6/info.Mar1989//Fri Mar 31 00:14:31 1989 /usr/backup/v/v5740/242
        !          37896: /n/westphal/netstat/node.6/info.Mar1990//Tue Mar 27 00:17:29 1990 /usr/backup/v/v11844/1393
        !          37897: /n/westphal/netstat/node.6/info.Mar1991//Sat Mar  2 00:14:49 1991 /usr/backup/v/v14080/360
        !          37898: /n/westphal/netstat/node.6/info.May1989//Thu Jun  1 00:25:01 1989 /usr/backup/v/v6241/251
        !          37899: /n/westphal/netstat/node.6/info.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12371/151
        !          37900: /n/westphal/netstat/node.6/info.May1991//Sat Jun  1 00:07:01 1991 /usr/backup/v/v14674/622
        !          37901: /n/westphal/netstat/node.6/info.Nov1989//Thu Nov 30 00:30:51 1989 /usr/backup/v/v10887/2026
        !          37902: /n/westphal/netstat/node.6/info.Nov1990//Sat Dec  1 00:05:05 1990 /usr/backup/v/v13530/509
        !          37903: /n/westphal/netstat/node.6/info.Oct1989//Sat Oct 21 00:16:18 1989 /usr/backup/v/v10614/1273
        !          37904: /n/westphal/netstat/node.6/info.Oct1990//Tue Oct 30 00:08:14 1990 /usr/backup/v/v13342/236
        !          37905: /n/westphal/netstat/node.6/info.Sep1989//Fri Sep 29 00:32:41 1989 /usr/backup/v/v7230/762
        !          37906: /n/westphal/netstat/node.6/info.Sep1990//Sat Sep 29 00:07:23 1990 /usr/backup/v/v13154/853
        !          37907: /n/westphal/netstat/node.7/config.Apr1989//Thu Apr 27 00:10:56 1989 /usr/backup/v/v5986/454
        !          37908: /n/westphal/netstat/node.7/config.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/889
        !          37909: /n/westphal/netstat/node.7/config.Apr1991//Tue Apr  2 00:09:08 1991 /usr/backup/v/v14274/291
        !          37910: /n/westphal/netstat/node.7/config.Aug1989//Wed Aug 30 00:21:03 1989 /usr/backup/v/v7017/23
        !          37911: /n/westphal/netstat/node.7/config.Aug1990//Thu Aug  2 00:12:26 1990 /usr/backup/v/v12750/581
        !          37912: /n/westphal/netstat/node.7/config.Dec1989//Thu Dec 28 00:06:36 1989 /usr/backup/v/v11078/430
        !          37913: /n/westphal/netstat/node.7/config.Dec1990//Sat Dec 15 00:08:37 1990 /usr/backup/v/v13613/601
        !          37914: /n/westphal/netstat/node.7/config.Feb1989//Wed Mar  1 00:10:10 1989 /usr/backup/v/v5459/232
        !          37915: /n/westphal/netstat/node.7/config.Feb1990//Fri Feb  2 00:10:50 1990 /usr/backup/v/v11429/877
        !          37916: /n/westphal/netstat/node.7/config.Feb1991//Sat Feb  2 00:14:55 1991 /usr/backup/v/v13861/696
        !          37917: /n/westphal/netstat/node.7/config.Jan1989//Tue Jan 31 00:13:04 1989 /usr/backup/v/v5196/421
        !          37918: /n/westphal/netstat/node.7/config.Jan1990//Sat Jan 27 00:25:37 1990 /usr/backup/v/v11384/2148
        !          37919: /n/westphal/netstat/node.7/config.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13695/1610
        !          37920: /n/westphal/netstat/node.7/config.Jul1989//Sat Jul 29 00:14:01 1989 /usr/backup/v/v6709/594
        !          37921: /n/westphal/netstat/node.7/config.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/190
        !          37922: /n/westphal/netstat/node.7/config.Jun1989//Thu Jun 29 00:15:29 1989 /usr/backup/v/v6470/484
        !          37923: /n/westphal/netstat/node.7/config.Jun1990//Wed Jun 27 00:19:22 1990 /usr/backup/v/v12483/1800
        !          37924: /n/westphal/netstat/node.7/config.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/737
        !          37925: /n/westphal/netstat/node.7/config.Mar1989//Fri Mar 31 00:14:35 1989 /usr/backup/v/v5737/18
        !          37926: /n/westphal/netstat/node.7/config.Mar1990//Fri Mar 30 00:06:02 1990 /usr/backup/v/v11879/596
        !          37927: /n/westphal/netstat/node.7/config.Mar1991//Sat Mar  2 00:14:50 1991 /usr/backup/v/v14089/436
        !          37928: /n/westphal/netstat/node.7/config.May1989//Thu Jun  1 00:25:06 1989 /usr/backup/v/v6241/401
        !          37929: /n/westphal/netstat/node.7/config.May1990//Sat May 26 00:05:07 1990 /usr/backup/v/v12373/749
        !          37930: /n/westphal/netstat/node.7/config.May1991//Fri May 31 00:18:15 1991 /usr/backup/v/v14666/362
        !          37931: /n/westphal/netstat/node.7/config.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1125
        !          37932: /n/westphal/netstat/node.7/config.Nov1990//Thu Nov 29 00:11:53 1990 /usr/backup/v/v13521/517
        !          37933: /n/westphal/netstat/node.7/config.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/576
        !          37934: /n/westphal/netstat/node.7/config.Oct1990//Fri Oct 26 00:07:16 1990 /usr/backup/v/v13324/413
        !          37935: /n/westphal/netstat/node.7/config.Sep1989//Sat Sep 23 01:01:32 1989 /usr/backup/v/v7191/349
        !          37936: /n/westphal/netstat/node.7/config.Sep1990//Sat Sep  1 23:57:12 1990 /usr/backup/v/v12952/584
        !          37937: /n/westphal/netstat/node.7/info.Apr1989//Sat Apr 22 00:13:55 1989 /usr/backup/v/v5922/337
        !          37938: /n/westphal/netstat/node.7/info.Apr1990//Wed Apr 11 00:15:33 1990 /usr/backup/v/v12001/976
        !          37939: /n/westphal/netstat/node.7/info.Apr1991//Thu Apr 11 00:09:57 1991 /usr/backup/v/v14373/236
        !          37940: /n/westphal/netstat/node.7/info.Aug1989//Fri Sep  1 00:11:15 1989 /usr/backup/v/v7043/139
        !          37941: /n/westphal/netstat/node.7/info.Aug1990//Wed Aug 15 00:08:27 1990 /usr/backup/v/v12835/513
        !          37942: /n/westphal/netstat/node.7/info.Dec1989//Thu Dec 28 00:06:37 1989 /usr/backup/v/v11078/803
        !          37943: /n/westphal/netstat/node.7/info.Dec1990//Fri Dec 28 00:05:23 1990 /usr/backup/v/v13676/119
        !          37944: /n/westphal/netstat/node.7/info.Feb1989//Tue Feb 28 00:22:13 1989 /usr/backup/v/v5459/412
        !          37945: /n/westphal/netstat/node.7/info.Feb1990//Fri Feb  9 00:19:33 1990 /usr/backup/v/v11503/188
        !          37946: /n/westphal/netstat/node.7/info.Feb1991//Wed Feb 20 00:13:52 1991 /usr/backup/v/v14025/656
        !          37947: /n/westphal/netstat/node.7/info.Jan1989//Tue Jan 31 00:13:05 1989 /usr/backup/v/v5197/23
        !          37948: /n/westphal/netstat/node.7/info.Jan1990//Sat Jan 27 00:25:38 1990 /usr/backup/v/v11385/21
        !          37949: /n/westphal/netstat/node.7/info.Jan1991//Tue Jan  1 23:56:22 1991 /usr/backup/v/v13696/1368
        !          37950: /n/westphal/netstat/node.7/info.Jul1989//Tue Aug  1 00:19:51 1989 /usr/backup/v/v6730/288
        !          37951: /n/westphal/netstat/node.7/info.Jul1990//Wed Jul 11 00:11:32 1990 /usr/backup/v/v12576/290
        !          37952: /n/westphal/netstat/node.7/info.Jun1989//Sat Jul  1 00:17:14 1989 /usr/backup/v/v6476/264
        !          37953: /n/westphal/netstat/node.7/info.Jun1990//Tue Jun 12 00:14:15 1990 /usr/backup/v/v12486/1198
        !          37954: /n/westphal/netstat/node.7/info.Jun1991//Sat Jun  1 23:57:35 1991 /usr/backup/v/v14675/858
        !          37955: /n/westphal/netstat/node.7/info.Mar1989//Thu Mar 23 00:21:29 1989 /usr/backup/v/v5662/566
        !          37956: /n/westphal/netstat/node.7/info.Mar1990//Fri Mar 30 00:06:03 1990 /usr/backup/v/v11881/643
        !          37957: /n/westphal/netstat/node.7/info.Mar1991//Mon Mar 11 00:04:41 1991 /usr/backup/v/v14137/704
        !          37958: /n/westphal/netstat/node.7/info.May1989//Thu Jun  1 00:25:08 1989 /usr/backup/v/v6241/549
        !          37959: /n/westphal/netstat/node.7/info.May1990//Fri May 25 00:09:53 1990 /usr/backup/v/v12367/1191
        !          37960: /n/westphal/netstat/node.7/info.May1991//Tue May 14 00:07:31 1991 /usr/backup/v/v14564/457
        !          37961: /n/westphal/netstat/node.7/info.Nov1989//Thu Nov 30 00:30:52 1989 /usr/backup/v/v10882/1506
        !          37962: /n/westphal/netstat/node.7/info.Nov1990//Fri Nov 30 00:13:18 1990 /usr/backup/v/v13528/523
        !          37963: /n/westphal/netstat/node.7/info.Oct1989//Wed Nov  1 00:39:26 1989 /usr/backup/v/v10677/658
        !          37964: /n/westphal/netstat/node.7/info.Oct1990//Thu Nov  1 00:07:24 1990 /usr/backup/v/v13353/897
        !          37965: /n/westphal/netstat/node.7/info.Sep1989//Sun Sep 24 01:38:01 1989 /usr/backup/v/v7197/186
        !          37966: /n/westphal/netstat/node.7/info.Sep1990//Sat Sep 15 00:11:36 1990 /usr/backup/v/v13057/62
        !          37967: /n/westphal/netstat/node.hg/config.Apr1990//Thu Apr 26 00:22:24 1990 /usr/backup/v/v12134/231
        !          37968: /n/westphal/netstat/node.hg/config.Apr1991//Wed May  1 00:19:18 1991 /usr/backup/v/v14492/701
        !          37969: /n/westphal/netstat/node.hg/config.Aug1990//Fri Aug 24 00:07:07 1990 /usr/backup/v/v12905/696
        !          37970: /n/westphal/netstat/node.hg/config.Dec1989//Wed Dec 20 00:26:36 1989 /usr/backup/v/v11023/724
        !          37971: /n/westphal/netstat/node.hg/config.Dec1990//Tue Jan  1 00:01:24 1991 /usr/backup/v/v13696/976
        !          37972: /n/westphal/netstat/node.hg/config.Feb1990//Sat Feb 24 00:51:26 1990 /usr/backup/v/v11602/777
        !          37973: /n/westphal/netstat/node.hg/config.Feb1991//Fri Mar  1 00:17:38 1991 /usr/backup/v/v14069/622
        !          37974: /n/westphal/netstat/node.hg/config.Jan1990//Tue Jan 30 00:12:59 1990 /usr/backup/v/v11401/418
        !          37975: /n/westphal/netstat/node.hg/config.Jan1991//Fri Jan 25 00:14:08 1991 /usr/backup/v/v13820/1449
        !          37976: /n/westphal/netstat/node.hg/config.Jul1990//Sat Jul 28 23:58:58 1990 /usr/backup/v/v12704/367
        !          37977: /n/westphal/netstat/node.hg/config.Jun1990//Wed Jun 27 00:20:23 1990 /usr/backup/v/v12483/463
        !          37978: /n/westphal/netstat/node.hg/config.Jun1991//Thu Jun  6 00:23:41 1991 /usr/backup/v/v14703/736
        !          37979: /n/westphal/netstat/node.hg/config.Mar1990//Sat Mar 24 00:25:53 1990 /usr/backup/v/v11816/1111
        !          37980: /n/westphal/netstat/node.hg/config.Mar1991//Thu Mar 28 00:18:25 1991 /usr/backup/v/v14247/851
        !          37981: /n/westphal/netstat/node.hg/config.May1990//Fri Jun  1 00:09:39 1990 /usr/backup/v/v12403/202
        !          37982: /n/westphal/netstat/node.hg/config.May1990//Mon May  7 00:19:29 1990 /usr/backup/v/v12236/688
        !          37983: /n/westphal/netstat/node.hg/config.May1991//Sat May 18 00:09:18 1991 /usr/backup/v/v14593/963
        !          37984: /n/westphal/netstat/node.hg/config.Nov1989//Tue Nov 28 00:32:12 1989 /usr/backup/v/v10875/623
        !          37985: /n/westphal/netstat/node.hg/config.Nov1990//Fri Nov 30 00:13:42 1990 /usr/backup/v/v13527/663
        !          37986: /n/westphal/netstat/node.hg/config.Oct1990//Sat Oct 20 00:07:21 1990 /usr/backup/v/v13293/156
        !          37987: /n/westphal/netstat/node.hg/config.Sep1990//Sat Sep 29 00:07:54 1990 /usr/backup/v/v13153/937
        !          37988: /n/westphal/netstat/node.hg/info.Apr1990//Tue May  1 00:21:11 1990 /usr/backup/v/v12157/113
        !          37989: /n/westphal/netstat/node.hg/info.Apr1991//Wed May  1 00:19:44 1991 /usr/backup/v/v14492/943
        !          37990: /n/westphal/netstat/node.hg/info.Aug1990//Sat Aug 25 00:11:04 1990 /usr/backup/v/v12906/1
        !          37991: /n/westphal/netstat/node.hg/info.Dec1989//Wed Dec 20 00:26:57 1989 /usr/backup/v/v11023/919
        !          37992: /n/westphal/netstat/node.hg/info.Dec1990//Tue Jan  1 00:01:39 1991 /usr/backup/v/v13696/1107
        !          37993: /n/westphal/netstat/node.hg/info.Feb1990//Thu Mar  1 00:15:13 1990 /usr/backup/v/v11634/1437
        !          37994: /n/westphal/netstat/node.hg/info.Feb1991//Fri Mar  1 00:18:14 1991 /usr/backup/v/v14071/253
        !          37995: /n/westphal/netstat/node.hg/info.Jan1990//Thu Feb  1 00:16:50 1990 /usr/backup/v/v11418/1006
        !          37996: /n/westphal/netstat/node.hg/info.Jan1991//Fri Feb  1 00:19:29 1991 /usr/backup/v/v13854/186
        !          37997: /n/westphal/netstat/node.hg/info.Jul1990//Wed Aug  1 00:13:21 1990 /usr/backup/v/v12722/300
        !          37998: /n/westphal/netstat/node.hg/info.Jun1990//Sun Jul  1 00:30:12 1990 /usr/backup/v/v12506/731
        !          37999: /n/westphal/netstat/node.hg/info.Jun1991//Fri Jun  7 00:27:18 1991 /usr/backup/v/v14708/960
        !          38000: /n/westphal/netstat/node.hg/info.Mar1990//Sun Mar 25 05:13:14 1990 /usr/backup/v/v11838/275
        !          38001: /n/westphal/netstat/node.hg/info.Mar1991//Sun Mar 31 22:58:16 1991 /usr/backup/v/v14273/228
        !          38002: /n/westphal/netstat/node.hg/info.May1990//Fri Jun  1 00:10:11 1990 /usr/backup/v/v12403/718
        !          38003: /n/westphal/netstat/node.hg/info.May1991//Fri May 31 00:18:57 1991 /usr/backup/v/v14662/922
        !          38004: /n/westphal/netstat/node.hg/info.Nov1989//Fri Dec  1 00:40:17 1989 /usr/backup/v/v10896/204
        !          38005: /n/westphal/netstat/node.hg/info.Nov1990//Sat Dec  1 00:05:41 1990 /usr/backup/v/v13532/127
        !          38006: /n/westphal/netstat/node.hg/info.Oct1990//Thu Nov  1 00:08:13 1990 /usr/backup/v/v13352/51
        !          38007: /n/westphal/netstat/node.hg/info.Sep1990//Sun Sep 30 00:06:31 1990 /usr/backup/v/v13164/722
        !          38008: /n/westphal/netstat/node.hg2/config.Apr1990//Wed Apr 18 00:26:09 1990 /usr/backup/v/v12048/380
        !          38009: /n/westphal/netstat/node.hg2/config.Apr1991//Fri Apr 26 00:07:46 1991 /usr/backup/v/v14467/937
        !          38010: /n/westphal/netstat/node.hg2/config.Aug1990//Thu Aug 30 00:11:18 1990 /usr/backup/v/v12930/1555
        !          38011: /n/westphal/netstat/node.hg2/config.Dec1989//Sat Dec 30 00:17:31 1989 /usr/backup/v/v11087/534
        !          38012: /n/westphal/netstat/node.hg2/config.Dec1990//Tue Dec  4 00:05:11 1990 /usr/backup/v/v13545/442
        !          38013: /n/westphal/netstat/node.hg2/config.Feb1990//Thu Feb 22 00:55:45 1990 /usr/backup/v/v11591/548
        !          38014: /n/westphal/netstat/node.hg2/config.Feb1991//Fri Mar  1 00:18:16 1991 /usr/backup/v/v14072/330
        !          38015: /n/westphal/netstat/node.hg2/config.Jan1990//Tue Jan 30 00:13:27 1990 /usr/backup/v/v11401/958
        !          38016: /n/westphal/netstat/node.hg2/config.Jan1991//Thu Jan 31 00:21:39 1991 /usr/backup/v/v13848/599
        !          38017: /n/westphal/netstat/node.hg2/config.Jul1990//Sat Jul 28 23:59:19 1990 /usr/backup/v/v12704/729
        !          38018: /n/westphal/netstat/node.hg2/config.Jun1990//Wed Jun 27 00:21:24 1990 /usr/backup/v/v12483/1072
        !          38019: /n/westphal/netstat/node.hg2/config.Jun1991//Sat Jun  1 23:57:38 1991 /usr/backup/v/v14675/735
        !          38020: /n/westphal/netstat/node.hg2/config.Mar1990//Wed Mar 28 00:12:19 1990 /usr/backup/v/v11847/636
        !          38021: /n/westphal/netstat/node.hg2/config.Mar1991//Wed Mar 27 00:16:03 1991 /usr/backup/v/v14239/37
        !          38022: /n/westphal/netstat/node.hg2/config.May1990//Thu May 31 00:11:36 1990 /usr/backup/v/v12390/457
        !          38023: /n/westphal/netstat/node.hg2/config.May1991//Fri May 10 00:09:20 1991 /usr/backup/v/v14547/588
        !          38024: /n/westphal/netstat/node.hg2/config.Nov1989//Wed Nov 22 00:38:48 1989 /usr/backup/v/v10841/668
        !          38025: /n/westphal/netstat/node.hg2/config.Nov1990//Thu Nov 22 00:08:14 1990 /usr/backup/v/v13486/1369
        !          38026: /n/westphal/netstat/node.hg2/config.Oct1990//Fri Oct 26 00:07:57 1990 /usr/backup/v/v13327/1071
        !          38027: /n/westphal/netstat/node.hg2/config.Sep1990//Tue Sep 25 00:09:00 1990 /usr/backup/v/v13124/980
        !          38028: /n/westphal/netstat/node.hg2/info.Apr1990//Fri Apr 27 01:07:05 1990 /usr/backup/v/v12135/375
        !          38029: /n/westphal/netstat/node.hg2/info.Apr1991//Sat Apr 27 00:07:49 1991 /usr/backup/v/v14474/981
        !          38030: /n/westphal/netstat/node.hg2/info.Aug1990//Sat Sep  1 00:08:28 1990 /usr/backup/v/v12949/1442
        !          38031: /n/westphal/netstat/node.hg2/info.Dec1989//Sat Dec 30 00:17:32 1989 /usr/backup/v/v11087/789
        !          38032: /n/westphal/netstat/node.hg2/info.Dec1990//Fri Dec 28 00:06:06 1990 /usr/backup/v/v13680/102
        !          38033: /n/westphal/netstat/node.hg2/info.Feb1990//Thu Mar  1 00:15:15 1990 /usr/backup/v/v11638/593
        !          38034: /n/westphal/netstat/node.hg2/info.Feb1991//Fri Mar  1 00:18:18 1991 /usr/backup/v/v14072/517
        !          38035: /n/westphal/netstat/node.hg2/info.Jan1990//Thu Feb  1 00:16:54 1990 /usr/backup/v/v11419/692
        !          38036: /n/westphal/netstat/node.hg2/info.Jan1991//Thu Jan 31 00:21:42 1991 /usr/backup/v/v13848/632
        !          38037: /n/westphal/netstat/node.hg2/info.Jul1990//Wed Aug  1 00:13:25 1990 /usr/backup/v/v12723/911
        !          38038: /n/westphal/netstat/node.hg2/info.Jun1990//Sat Jun 30 00:34:13 1990 /usr/backup/v/v12502/739
        !          38039: /n/westphal/netstat/node.hg2/info.Jun1991//Fri Jun  7 00:27:23 1991 /usr/backup/v/v14709/683
        !          38040: /n/westphal/netstat/node.hg2/info.Mar1990//Thu Mar 29 00:05:55 1990 /usr/backup/v/v11867/620
        !          38041: /n/westphal/netstat/node.hg2/info.Mar1991//Sat Mar 30 00:06:54 1991 /usr/backup/v/v14262/508
        !          38042: /n/westphal/netstat/node.hg2/info.May1990//Fri Jun  1 00:10:16 1990 /usr/backup/v/v12401/217
        !          38043: /n/westphal/netstat/node.hg2/info.May1991//Sat Jun  1 00:07:09 1991 /usr/backup/v/v14671/1221
        !          38044: /n/westphal/netstat/node.hg2/info.Nov1989//Thu Nov 30 00:31:42 1989 /usr/backup/v/v10888/2790
        !          38045: /n/westphal/netstat/node.hg2/info.Nov1990//Thu Nov 22 00:08:15 1990 /usr/backup/v/v13486/1475
        !          38046: /n/westphal/netstat/node.hg2/info.Oct1990//Wed Oct 31 00:09:57 1990 /usr/backup/v/v13348/87
        !          38047: /n/westphal/netstat/node.hg2/info.Sep1990//Tue Sep 25 00:09:02 1990 /usr/backup/v/v13124/1130
        !          38048: /n/westphal/netstat/src/getconfig.c//Tue Oct 16 12:25:31 1990 /usr/backup/v/v13270/83
        !          38049: /n/westphal/netstat/src/printraw.c//Wed Mar 14 10:30:14 1990 /usr/backup/v/v11750/41
        !          38050: /n/westphal/netstat/src/rawstat.c//Mon Oct 15 17:07:12 1990 /usr/backup/v/v13261/822
        !          38051: /n/westphal/netstat/tmp/inap.1013//Tue Jan  8 16:32:34 1991 /usr/backup/v/v13724/420
        !          38052: /n/westphal/netstat/tmp/raw.1013-4.NAC//Mon Jan  7 16:08:26 1991 /usr/backup/v/v13719/1235
        !          38053: /n/westphal/netstat/tmp/raw.1013.NAC//Mon Jan  7 15:30:40 1991 /usr/backup/v/v13719/1105
        !          38054: /n/westphal/netstat/tmp/raw.1013.hg//Mon Jan  7 12:07:19 1991 /usr/backup/v/v13719/1170
        !          38055: /n/westphal/netstat/tmp/raw.1014.1//Mon Jan  7 16:04:15 1991 /usr/backup/v/v13718/568
        !          38056: t�D�-��&&���:G(�EO(�EO(tdkother/n/westphal/usr/tdk/CONFIG/Hg.Friv/v14725/7973053config node nj/mercury/ merc vcs 2000 512 6000 128 256 2
        !          38057: service enter cfgdump admisc
        !          38058: service enter remconsole admisc
        !          38059: service enter unix adunix
        !          38060: service enter trunk adtrunk
        !          38061: service enter group adgrp
        !          38062: service enter name adname
        !          38063: service enter table adtable
        !          38064: service enter term adterm
        !          38065: service enter tyhost adtyhost
        !          38066: service enter conc adconc
        !          38067: service enter dialer addialer
        !          38068: service enter ? admisc
        !          38069: service enter admlog admisc
        !          38070: service enter file adfile
        !          38071: service enter config adcfg
        !          38072: service enter service adserv
        !          38073: service enter audit adaudit
        !          38074: service enter maint admaint
        !          38075: service enter cons1 adcons
        !          38076: service enter cons0 adcons
        !          38077: group enter crux
        !          38078: group enter dial
        !          38079: group enter arjuna
        !          38080: group enter lingua
        !          38081: group enter dwalin
        !          38082: group enter athene
        !          38083: group enter ?
        !          38084: group enter admlog
        !          38085: group enter cfgdump
        !          38086: group enter admin
        !          38087: group enter psed
        !          38088: group enter Cicarus
        !          38089: group enter dori
        !          38090: group enter tattoo
        !          38091: group enter arachne
        !          38092: group enter Csleepy
        !          38093: group enter Cbifur
        !          38094: group enter Csiriusb
        !          38095: group enter Cbashful
        !          38096: group enter Cbalin
        !          38097: group enter Chappy
        !          38098: group enter Cgloin
        !          38099: group enter gloin
        !          38100: group enter sleepy
        !          38101: group enter Cjbox
        !          38102: group enter jbox
        !          38103: group enter chitra
        !          38104: group enter spiff
        !          38105: group enter cocalus
        !          38106: group enter oin
        !          38107: group enter munchkin
        !          38108: group enter voice
        !          38109: group enter lear
        !          38110: group enter gimli
        !          38111: group enter sola
        !          38112: group enter capek
        !          38113: group enter theseus
        !          38114: group enter laid
        !          38115: group enter happy
        !          38116: group enter doc
        !          38117: group enter thorin
        !          38118: group enter rear
        !          38119: group enter garbage
        !          38120: group enter housay
        !          38121: group enter CHg
        !          38122: group enter scylla
        !          38123: group enter laird
        !          38124: group enter herbert
        !          38125: group enter dectalk
        !          38126: group enter ergo
        !          38127: group enter jerconv
        !          38128: group enter Cthorin
        !          38129: group enter merc2
        !          38130: group enter Csweet
        !          38131: group enter dopey
        !          38132: group enter Ctattoo
        !          38133: group enter Cgrumpy
        !          38134: group enter Cdori
        !          38135: group enter Csneezy
        !          38136: group enter solagone
        !          38137: group enter siriusb
        !          38138: group enter Chunny
        !          38139: group enter sneezy
        !          38140: group enter karna
        !          38141: group enter mha1
        !          38142: group enter phone
        !          38143: group enter astro
        !          38144: group enter nisus
        !          38145: group enter minos
        !          38146: group enter ariadne
        !          38147: group enter hunny
        !          38148: group enter icarus
        !          38149: group enter balin
        !          38150: group enter bashful
        !          38151: group enter bifur
        !          38152: group enter eeyore
        !          38153: group enter gunn
        !          38154: group enter iota
        !          38155: group enter jones
        !          38156: group enter kanga
        !          38157: group enter sapir
        !          38158: group enter sweet
        !          38159: group enter indra
        !          38160: group enter outside
        !          38161: group enter jlhear
        !          38162: group enter bofer
        !          38163: group enter Cdopey
        !          38164: group enter console1
        !          38165: group enter mharit
        !          38166: group enter Ctelebit
        !          38167: group enter IPtiger
        !          38168: group enter moria
        !          38169: group enter ohunny
        !          38170: group enter bombur
        !          38171: group enter obashful
        !          38172: group enter Cbombur
        !          38173: group enter ohappy
        !          38174: group enter IPbashful
        !          38175: group enter Csage
        !          38176: name enter local lingua "''" lingua yes
        !          38177: name enter local arjuna "''" arjuna yes
        !          38178: name enter local siriusb "" dopey yes
        !          38179: name enter local theseus "" theseus yes
        !          38180: name enter local crux "" crux yes
        !          38181: name enter local kanga "" kanga yes
        !          38182: name enter local ogolem "" dopey yes
        !          38183: name enter local Csiriusb "" Csiriusb yes
        !          38184: name enter local capek "" capek no
        !          38185: name enter local mharit "" mharit yes
        !          38186: name enter local oin "" oin yes
        !          38187: name enter local balin "" dopey yes
        !          38188: name enter local icarus "" icarus yes
        !          38189: name enter local bombur "" bombur yes
        !          38190: name enter local scylla "" scylla yes
        !          38191: name enter local Cbalin "" Cbalin yes
        !          38192: name enter local Cicarus "" Cicarus yes
        !          38193: name enter local Cbombur "" Cbombur yes
        !          38194: name enter local lynx "" dopey yes
        !          38195: name enter local tanuki "" dopey yes
        !          38196: name enter local laird "" laird yes
        !          38197: name enter local karna "" merc2 yes
        !          38198: name enter local indra "" indra yes
        !          38199: name enter local bofer "" bofer yes
        !          38200: name enter local mhari ">nj/mercury/mharit" mharit yes
        !          38201: name enter local ohappy "" ohappy yes
        !          38202: name enter local sleepy "" sleepy yes
        !          38203: name enter local gimli "" dopey yes
        !          38204: name enter local arachne "" arachne yes
        !          38205: name enter local coyote "" dopey yes
        !          38206: name enter local CONSOLE "" admin yes
        !          38207: name enter local golem "" dopey yes
        !          38208: name enter local ariadne "" ariadne yes
        !          38209: name enter local thorin "" thorin yes
        !          38210: name enter local obashful "" obashful yes
        !          38211: name enter local Csleepy "" Csleepy yes
        !          38212: name enter local voice "" voice yes
        !          38213: name enter local Cthorin "" Cthorin yes
        !          38214: name enter local spiff "" spiff yes
        !          38215: name enter local bifur "" dopey yes
        !          38216: name enter local dectalk "" dectalk yes
        !          38217: name enter local solagone "" solagone yes
        !          38218: name enter local moria "" moria yes
        !          38219: name enter local gloin "" gloin yes
        !          38220: name enter local housay "" housay yes
        !          38221: name enter local dial "" none yes
        !          38222: name enter local laid "" laid yes
        !          38223: name enter local tattoo "" dopey yes
        !          38224: name enter local Cbifur "" Cbifur yes
        !          38225: name enter local tiger "" dopey yes
        !          38226: name enter local Cgloin "" Cgloin yes
        !          38227: name enter local raven "" dopey yes
        !          38228: name enter local munchkin "" munchkin yes
        !          38229: name enter local sneezy "" sneezy yes
        !          38230: name enter local Ctattoo "" Ctattoo yes
        !          38231: name enter local jones "" jones yes
        !          38232: name enter local sapir "" sapir yes
        !          38233: name enter local dopey "" dopey yes
        !          38234: name enter local Csneezy "" Csneezy yes
        !          38235: name enter local ohunny "" ohunny yes
        !          38236: name enter local happy "" dopey yes
        !          38237: name enter local LOG "" admlog yes
        !          38238: name enter local python "" dopey yes
        !          38239: name enter local Csage "" Csage yes
        !          38240: name enter local lear "" lear yes
        !          38241: name enter local Cdopey "" Cdopey yes
        !          38242: name enter local console1 "**" console1 yes
        !          38243: name enter local grumpy "" dopey yes
        !          38244: name enter local Chappy "" Chappy yes
        !          38245: name enter local bashful "" dopey yes
        !          38246: name enter local minos "" merc2 yes
        !          38247: name enter local Cgrumpy "" Cgrumpy yes
        !          38248: name enter local Cbashful "" Cbashful yes
        !          38249: name enter local sweet "" sweet yes
        !          38250: name enter local cocalus "" cocalus yes
        !          38251: name enter local rear "" rear yes
        !          38252: name enter local * "" merc2 yes
        !          38253: name enter local Csweet "" Csweet yes
        !          38254: name enter local lobo "" dopey yes
        !          38255: name enter local Ctelebit "" Ctelebit yes
        !          38256: name enter local iota "" iota yes
        !          38257: name enter local ergo "" ergo yes
        !          38258: name enter local dori "" dopey yes
        !          38259: name enter local dolphin "" dopey yes
        !          38260: name enter local Cdori "" Cdori yes
        !          38261: name enter local hunny "" dopey yes
        !          38262: name enter local CHg "" CHg yes
        !          38263: name enter local IPtiger "" IPtiger yes
        !          38264: name enter local athene "" merc2 yes
        !          38265: name enter local Chunny "" Chunny yes
        !          38266: name enter local Cjbox "" Cjbox yes
        !          38267: name enter local doc "" doc yes
        !          38268: name enter local jlhear "" jlhear yes
        !          38269: name enter local CONFIG "" cfgdump yes
        !          38270: name enter local jerconv "" jerconv yes
        !          38271: name enter local SPIFF "" spiff yes
        !          38272: name enter local gunn "" gunn yes
        !          38273: name enter local adminHg "" admin yes
        !          38274: name enter local lixo "" garbage yes
        !          38275: name enter local outside "" astro yes
        !          38276: name enter local alice ">astro/alice" none yes
        !          38277: name enter local IPbashful "" IPbashful yes
        !          38278: name enter local dwalin "" dwalin yes
        !          38279: name enter local ? "" ? yes
        !          38280: name enter exchange mercury "" local yes
        !          38281: name enter exchange phone "" phone,astro yes
        !          38282: name enter exchange homer "" mha1 yes
        !          38283: name enter exchange a "" mha1 yes
        !          38284: name enter exchange e "" mha1 yes
        !          38285: name enter exchange merc "" local yes
        !          38286: name enter exchange astro "" astro,phone yes
        !          38287: name enter exchange * "" astro,mha1,phone yes
        !          38288: name enter area mh "Murray Hill, NJ" local yes
        !          38289: name enter area nj "" local yes
        !          38290: name enter area * "" astro,phone yes
        !          38291: cfgdump enter 1 cfgdump adcfg
        !          38292: cfgdump password a18jUSGxZ4w6
        !          38293: remconsole enter 2 admin adcons
        !          38294: remconsole password Ku8uujHZh6ru
        !          38295: unix type enter unixV2 2 unixVcscp 3 unixVp ci2,fim,cpmhs,cpm422,cpmdr
        !          38296: unix type enter unixV1 1 unixVcscp 2 unixVp cpm422,cpmdr,cpmhs,wif
        !          38297: unix type enter unix92 2 unix9cscp 3 unix9p ci2,fim,cpmhs,cpm422,cpmdr
        !          38298: unix type enter unix91 1 unix9cscp 2 unix9p ci2,fim,cpmhs,cpm422,cpmdr
        !          38299: unix type enter unixV4 4 unixVcscp 5 unixVp cpmdr,cpm422,cpmhs,fim,ci2
        !          38300: unix type enter unixT 1 unix9cscp 2 unix9p cpmdr,cpm422,cpmhs,fim,ci2
        !          38301: trunk type enter radian 5 tdkp 6 tdktrkp 3 loopp trkt1,trkhs,fim,ci2
        !          38302: trunk type enter vcsdds 5 tdkp 8 tdktrkp 3 loopp trkdds,tim
        !          38303: trunk type enter tdk2 5 tdk2cscp 6 tdk2p 3 loopp trkt1,trkhs,ci2,fim
        !          38304: trunk type enter dk2 5 dk2cscp 6 dk2p 3 loopp fim,ci2,trkhs,trkt1
        !          38305: term type enter ty12 ty12termp fim,cpm,ty12
        !          38306: term type enter aim aimtermp aim8,aim4
        !          38307: term type enter ty4 ty4termp ty4
        !          38308: term type enter ty1 ty1termp ty1
        !          38309: term prompt "Destination please: " "DKC "
        !          38310: tyhost type enter ty1 ty1hostp ty1
        !          38311: tyhost type enter ty4 ty4hostp ty4
        !          38312: tyhost type enter ty12 ty12hostp fim,cpm,ty12
        !          38313: tyhost prompt "Destination please: "
        !          38314: conc type enter bbox3 1 bbox1p 7,15*24 dsx1
        !          38315: conc type enter wif32 1 wifp 31,7*32 wif
        !          38316: conc type enter wif16 1 wifp 15,15*16 wif
        !          38317: conc type enter wif8 1 wifp 7,15*8 wif
        !          38318: conc type enter isn 1 isnconcp 4,4*9,96 swt,ci2,fim
        !          38319: conc type enter owif8 1 owifp 7,15*8 wif
        !          38320: conc type enter owif16 1 owifp 15,15*16 wif
        !          38321: conc type enter owif32 1 owifp 31,7*32 wif
        !          38322: conc type enter xwif32 1 wifp 15,15*32 wif
        !          38323: conc type enter bwif32 1 wifp 31,15*32 wif
        !          38324: dialer type enter ty12.penril ty12penrilp ty12
        !          38325: dialer prompt "Destination please: " "DKC "
        !          38326: ? enter 2 ? dirass
        !          38327: admlog enter 1 admlog logger
        !          38328: admlog password KaN7wNS2K/0g
        !          38329: maint board enter sft vcs 0224 none y 0 none y 0 none
        !          38330: maint board enter ci2 vcs 0225 ci2 y 0 none y 0 none
        !          38331: maint board enter dkap vcs 0217 none y 0 none y 0 none
        !          38332: maint board enter ty4 vcs 0100 ty4 y 0 none y 0 none
        !          38333: maint board enter vcsrepeater vcs 0203 vcsrpr y 0 none y 0 none
        !          38334: maint board enter vcsclock vcs 0201 vcsclk y 0 none y 0 none
        !          38335: maint board enter vcsswitch vcs 0202 vcsswt y 0 none y 0 none
        !          38336: maint board enter cpmdr vcs 0207 cpmdr y 0 none y 0 none
        !          38337: maint board enter trkhs vcs 0212 trkhs y 0 none y 0 none
        !          38338: maint board enter ty12 vcs 0220 ty12 y 0 none y 0 none
        !          38339: maint board enter cpmhs vcs 0210 cpmhs y 0 none y 0 none
        !          38340: maint board enter cpm422 vcs 0205 cpm422 y 0 none y 0 none
        !          38341: maint board enter trkt1 vcs 0215 trkt1 y 0 none y 0 none
        !          38342: maint board enter trk17b vcs 040 trk17b y 0 none y 0 none
        !          38343: maint board enter wif vcs 0252 wif y 0 none y 0 none
        !          38344: maint collect
        !          38345: maint clock 63
        !          38346: maint override 12 cpm422
        !          38347: maint override 20 ty12
        !          38348: maint override 28 cpm422
        !          38349: maint override 44 cpm422
        !          38350: maint override 52 cpm422
        !          38351: maint override 58 ty12
        !          38352: maint override 59 cpm422
        !          38353: cons1 disabled notrace
        !          38354: cons0 enabled trace
        !          38355: unix enter 3 unixV1 256 gloin 96 gloin yes no no no none y
        !          38356: term dev enter 4 1 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          38357: term dev enter 4 2 ty12 13 128 none tty terminal 9600 none n y y none 2brk disc y
        !          38358: term dev enter 4 3 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          38359: term dev enter 4 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38360: term dev enter 4 5 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          38361: term dev enter 4 6 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38362: term dev enter 4 7 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
        !          38363: term dev enter 4 8 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38364: term dev enter 4 9 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38365: term dev enter 4 10 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38366: term dev enter 4 11 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38367: term dev enter 4 12 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38368: term dev enter 5 1 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          38369: term dev enter 5 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38370: term dev enter 5 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38371: term dev enter 5 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38372: term dev enter 5 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38373: term dev enter 5 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38374: tyhost dev enter 5 7 ty12 13 128 voice voice 9600 9600 none n n n none none 0 n y n y
        !          38375: term dev enter 5 8 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
        !          38376: term dev enter 5 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38377: term dev enter 5 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38378: tyhost dev enter 5 11 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
        !          38379: tyhost dev enter 5 12 ty12 13 128 theseus theseus 9600 9600 none n n n none none 0 n y n y
        !          38380: trunk enter 6 dk2 4096 mha1 75 none other no none y
        !          38381: term dev enter 7 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38382: term dev enter 7 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38383: term dev enter 7 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38384: term dev enter 7 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38385: term dev enter 7 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38386: tyhost dev enter 7 6 ty12 13 128 ergo ergo 9600 9600 none n n n none none 0 n y n y
        !          38387: term dev enter 7 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38388: term dev enter 7 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38389: term dev enter 7 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38390: term dev enter 7 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38391: term dev enter 7 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38392: term dev enter 7 12 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
        !          38393: trunk enter 8 tdk2 4096 phone 256 none other no none y
        !          38394: trunk enter 9 tdk2 1024 astro 256 none other no none y
        !          38395: trunk enter 10 tdk2 4096 merc2 512 none other no none y
        !          38396: unix enter 11 unixV1 256 scylla 64 scylla yes no no no none y
        !          38397: unix enter 12 unixV1 256 ohappy 96 ohappy yes no no no none y
        !          38398: conc enter 13 bwif32 512 16 y
        !          38399: unix enter 13/2 unixV1 256 none 32 tty yes yes no no none y
        !          38400: unix enter 13/3 unixV1 256 none 32 tty yes yes no no none y
        !          38401: unix enter 13/4 unixV1 256 none 32 tty yes yes no no none y
        !          38402: unix enter 13/5 unixV1 256 none 32 tty yes yes no no none y
        !          38403: unix enter 13/6 unixV1 256 crux 32 crux yes no yes yes none y
        !          38404: unix enter 13/7 unixV1 256 none 32 tty yes yes no no none y
        !          38405: unix enter 13/8 unixV1 256 none 32 tty yes yes no no none y
        !          38406: unix enter 13/9 unixV1 256 none 32 tty yes yes no no none y
        !          38407: unix enter 13/10 unixV1 256 none 32 tty yes yes no no none y
        !          38408: unix enter 13/11 unixV1 256 none 32 tty yes yes no no none y
        !          38409: unix enter 13/12 unixV1 256 none 32 tty yes yes no no none y
        !          38410: unix enter 13/13 unixV1 256 none 32 tty yes yes no no none y
        !          38411: unix enter 13/14 unixV1 256 none 32 tty yes yes no no none y
        !          38412: unix enter 13/15 unixV1 256 arachne 32 arachne yes no no no none y
        !          38413: unix enter 14 unixV1 256 ariadne 64 ariadne yes no no no none y
        !          38414: term dev enter 16 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38415: term dev enter 16 2 ty12 13 128 none tty terminal auto none n n y none 2brk disc y
        !          38416: term dev enter 16 3 ty12 13 128 none tty terminal 9600 none n y n none 2brk disc y
        !          38417: term dev enter 16 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38418: term dev enter 16 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38419: term dev enter 16 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38420: term dev enter 16 7 ty12 13 128 none tty terminal auto none n y y none 2brk disc y
        !          38421: term dev enter 16 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38422: term dev enter 16 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38423: term dev enter 16 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38424: term dev enter 16 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38425: term dev enter 16 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38426: term dev enter 17 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38427: term dev enter 17 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38428: term dev enter 17 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38429: term dev enter 17 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38430: term dev enter 17 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38431: term dev enter 17 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38432: term dev enter 17 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38433: term dev enter 17 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38434: term dev enter 17 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38435: term dev enter 17 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38436: term dev enter 17 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38437: term dev enter 17 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc n
        !          38438: term dev enter 18 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38439: term dev enter 18 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38440: term dev enter 18 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38441: term dev enter 18 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38442: term dev enter 18 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38443: term dev enter 18 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38444: term dev enter 18 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38445: term dev enter 18 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38446: term dev enter 18 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38447: term dev enter 18 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38448: term dev enter 18 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38449: term dev enter 18 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38450: term dev enter 19 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38451: term dev enter 19 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38452: term dev enter 19 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38453: term dev enter 19 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38454: term dev enter 19 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38455: term dev enter 19 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38456: term dev enter 19 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38457: term dev enter 19 8 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          38458: tyhost dev enter 19 9 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
        !          38459: term dev enter 19 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38460: term dev enter 19 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38461: term dev enter 19 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38462: term dev enter 20 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38463: term dev enter 20 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38464: term dev enter 20 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38465: term dev enter 20 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38466: tyhost dev enter 20 5 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
        !          38467: tyhost dev enter 20 6 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n y
        !          38468: term dev enter 20 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38469: term dev enter 20 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38470: term dev enter 20 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38471: term dev enter 20 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38472: term dev enter 20 11 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          38473: term dev enter 20 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38474: term dev enter 21 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38475: term dev enter 21 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38476: term dev enter 21 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38477: term dev enter 21 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38478: term dev enter 21 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38479: term dev enter 21 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38480: term dev enter 21 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38481: tyhost dev enter 21 8 ty12 13 128 munchkin munchkin 9600 9600 none n n n none none 0 n y n n
        !          38482: term dev enter 21 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38483: term dev enter 21 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38484: term dev enter 21 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38485: term dev enter 21 12 ty12 13 128 none tty terminal 19200 none n n n none 2brk disc y
        !          38486: term dev enter 22 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38487: term dev enter 22 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38488: term dev enter 22 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38489: term dev enter 22 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38490: term dev enter 22 5 ty12 13 128 none tty terminal auto none y n n none 2brk cmd y
        !          38491: term dev enter 22 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38492: term dev enter 22 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38493: term dev enter 22 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38494: term dev enter 22 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38495: term dev enter 22 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38496: term dev enter 22 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38497: term dev enter 22 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38498: term dev enter 23 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38499: term dev enter 23 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38500: term dev enter 23 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38501: term dev enter 23 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38502: term dev enter 23 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38503: term dev enter 23 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38504: term dev enter 23 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38505: term dev enter 23 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38506: term dev enter 23 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38507: term dev enter 23 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38508: term dev enter 23 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38509: term dev enter 23 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38510: term dev enter 24 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38511: term dev enter 24 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38512: term dev enter 24 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38513: term dev enter 24 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38514: term dev enter 24 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38515: term dev enter 24 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38516: term dev enter 24 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38517: term dev enter 24 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38518: term dev enter 24 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38519: term dev enter 24 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38520: term dev enter 24 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38521: term dev enter 24 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38522: unix enter 25 unixV1 256 dopey 96 dopey yes no no no none y
        !          38523: conc enter 26 bwif32 512 16 y
        !          38524: unix enter 27 unixV1 256 sweet 96 sweet yes no no no none y
        !          38525: unix enter 28 unixV1 256 sweet 96 sweet yes no no no none n
        !          38526: unix enter 29 unixV1 256 moria 96 moria yes no yes yes none y
        !          38527: term dev enter 32 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38528: term dev enter 32 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38529: term dev enter 32 3 ty12 13 128 none tty terminal auto none y y n none 2brk disc y
        !          38530: term dev enter 32 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38531: term dev enter 32 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38532: term dev enter 32 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38533: term dev enter 32 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38534: term dev enter 32 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38535: term dev enter 32 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38536: term dev enter 32 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38537: term dev enter 32 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38538: term dev enter 32 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38539: term dev enter 33 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38540: term dev enter 33 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38541: term dev enter 33 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38542: term dev enter 33 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38543: term dev enter 33 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38544: term dev enter 33 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38545: term dev enter 33 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38546: term dev enter 33 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38547: term dev enter 33 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38548: term dev enter 33 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38549: term dev enter 33 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38550: tyhost dev enter 33 12 ty12 13 128 dectalk dectalk 9600 9600 none y y n none none 0 n y n y
        !          38551: term dev enter 34 1 ty12 13 128 none tty terminal 9600 none y n n none 2brk cmd y
        !          38552: tyhost dev enter 34 2 ty12 13 128 Ctelebit Ctelebit 9600 9600 none n n n none rmcs4tS8PO.I 0 n y n y
        !          38553: tyhost dev enter 34 3 ty12 13 128 Csneezy Csneezy 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
        !          38554: tyhost dev enter 34 4 ty12 13 128 Csage Csage 9600 9600 none y n n none Z6SXr8/ifssR 0 n y n y
        !          38555: tyhost dev enter 34 5 ty12 13 128 oin oin 9600 9600 none n n n none none 0 n y n y
        !          38556: term dev enter 34 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38557: tyhost dev enter 34 8 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          38558: tyhost dev enter 34 9 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          38559: tyhost dev enter 34 10 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          38560: tyhost dev enter 34 11 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          38561: tyhost dev enter 34 12 ty12 13 128 sneezy sneezy 9600 9600 none n n n none none 0 n y n n
        !          38562: term dev enter 35 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38563: term dev enter 35 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38564: term dev enter 35 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38565: term dev enter 35 4 ty12 13 128 none tty terminal 1200 none n n n none 2brk disc y
        !          38566: term dev enter 35 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38567: term dev enter 35 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38568: term dev enter 35 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38569: term dev enter 35 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38570: term dev enter 35 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38571: term dev enter 35 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38572: term dev enter 35 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38573: term dev enter 35 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38574: term dev enter 36 1 ty12 13 128 none tty terminal auto none y n n none 2brk disc y
        !          38575: term dev enter 36 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38576: term dev enter 36 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38577: term dev enter 36 4 ty12 13 128 none tty terminal auto none y y y none 2brk disc y
        !          38578: term dev enter 36 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38579: term dev enter 36 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38580: term dev enter 36 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38581: term dev enter 36 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38582: term dev enter 36 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38583: term dev enter 36 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38584: term dev enter 36 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38585: term dev enter 36 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38586: term dev enter 37 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38587: term dev enter 37 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38588: term dev enter 37 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38589: term dev enter 37 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38590: term dev enter 37 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38591: term dev enter 37 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38592: term dev enter 37 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38593: term dev enter 37 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38594: term dev enter 37 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38595: term dev enter 37 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38596: term dev enter 37 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38597: term dev enter 37 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38598: term dev enter 38 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38599: term dev enter 38 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38600: term dev enter 38 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38601: term dev enter 38 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38602: term dev enter 38 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38603: term dev enter 38 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38604: term dev enter 38 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38605: term dev enter 38 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38606: term dev enter 38 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38607: tyhost dev enter 38 10 ty12 13 128 cocalus cocalus 9600 9600 none n n n none none 0 n y n y
        !          38608: term dev enter 38 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38609: term dev enter 38 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38610: term dev enter 39 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38611: term dev enter 39 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38612: term dev enter 39 3 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38613: term dev enter 39 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38614: term dev enter 39 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38615: term dev enter 39 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38616: term dev enter 39 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38617: term dev enter 39 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38618: term dev enter 39 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38619: term dev enter 39 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38620: term dev enter 39 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38621: term dev enter 39 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38622: term dev enter 40 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38623: term dev enter 40 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38624: term dev enter 40 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38625: term dev enter 40 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38626: term dev enter 40 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38627: term dev enter 40 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38628: term dev enter 40 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38629: term dev enter 40 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38630: term dev enter 40 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38631: term dev enter 40 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38632: term dev enter 40 11 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38633: term dev enter 40 12 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38634: unix enter 41 unixV1 256 icarus 96 icarus no no no no none y
        !          38635: unix enter 42 unixV1 256 balin 96 balin yes no no no none y
        !          38636: unix enter 43 unixV1 256 obashful 96 obashful yes no no no none n
        !          38637: unix enter 44 unixV1 256 bombur 96 bombur yes no no no none y
        !          38638: unix enter 45 unixV1 256 bifur 96 bifur yes no no no none y
        !          38639: unix enter 46 unixV1 256 siriusb 96 siriusb yes no no no none y
        !          38640: term dev enter 48 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38641: term dev enter 48 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38642: tyhost dev enter 48 3 ty12 13 128 Cjbox Cjbox 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
        !          38643: term dev enter 48 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38644: term dev enter 48 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38645: term dev enter 48 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38646: term dev enter 48 7 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38647: term dev enter 48 8 ty12 13 128 none tty modem 9600 none n n n none none cmd y
        !          38648: term dev enter 48 10 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38649: tyhost dev enter 48 11 ty12 13 128 Cicarus Cicarus 300 300 none n n n none none 0 n y n y
        !          38650: tyhost dev enter 48 12 ty12 13 128 Csweet Csweet 9600 9600 none y n n none rmcs4tS8PO.I 0 n y n y
        !          38651: term dev enter 49 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38652: term dev enter 49 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38653: term dev enter 49 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38654: term dev enter 49 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38655: term dev enter 49 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38656: tyhost dev enter 49 6 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          38657: tyhost dev enter 49 7 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          38658: tyhost dev enter 49 8 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          38659: tyhost dev enter 49 9 ty12 13 128 console1 console1 9600 9600 none y y n none none 0 y n y y
        !          38660: tyhost dev enter 49 10 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          38661: tyhost dev enter 49 11 ty12 13 128 ariadne ariadne 9600 9600 none n n n none none 0 n y n y
        !          38662: term dev enter 49 12 ty12 13 128 none tty terminal auto none n n n none none disc y
        !          38663: tyhost dev enter 50 1 ty12 13 128 Cgloin Cgloin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38664: tyhost dev enter 50 2 ty12 13 128 Chappy Chappy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38665: tyhost dev enter 50 3 ty12 13 128 Cbashful Cbashful 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38666: tyhost dev enter 50 4 ty12 13 128 Cbalin Cbalin 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38667: tyhost dev enter 50 5 ty12 13 128 Csiriusb Csiriusb 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38668: tyhost dev enter 50 6 ty12 13 128 Cbifur Cbifur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38669: tyhost dev enter 50 7 ty12 13 128 Cdopey Cdopey 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38670: tyhost dev enter 50 8 ty12 13 128 Cbombur Cbombur 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38671: tyhost dev enter 50 9 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38672: tyhost dev enter 50 10 ty12 13 128 Cgrumpy Cgrumpy 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38673: tyhost dev enter 50 11 ty12 13 128 Cdori Cdori 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38674: tyhost dev enter 50 12 ty12 13 128 Ctattoo Ctattoo 9600 9600 none y n n none t4ThwOwL46KB 0 n y n y
        !          38675: unix enter 51 unixV1 1024 arjuna 64 arjuna yes no no no none y
        !          38676: unix enter 52 unixV1 256 dori 96 dori yes no no no none y
        !          38677: term dev enter 53 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38678: term dev enter 53 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38679: tyhost dev enter 53 3 ty12 13 128 jlhear jlhear 9600 9600 none y y n none none 0 y n n y
        !          38680: term dev enter 53 4 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38681: term dev enter 53 5 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38682: term dev enter 53 6 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38683: term dev enter 53 7 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38684: term dev enter 53 8 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38685: term dev enter 53 9 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38686: term dev enter 53 10 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38687: term dev enter 53 11 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38688: term dev enter 53 12 ty12 13 128 none tty terminal 9600 none y n n none 2brk disc y
        !          38689: term dev enter 54 1 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          38690: term dev enter 54 2 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          38691: term dev enter 54 3 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          38692: term dev enter 54 4 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          38693: term dev enter 54 5 ty12 13 128 none dialin modem auto none y y n none 2brk disc y
        !          38694: term dev enter 54 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38695: term dev enter 54 7 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          38696: term dev enter 54 8 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          38697: term dev enter 54 9 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          38698: term dev enter 54 10 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          38699: term dev enter 54 11 ty12 13 128 none dialin modem 9600 none n n n none 2brk disc y
        !          38700: term dev enter 54 12 ty12 13 128 none tty terminal auto none y y n none 2brk cmd y
        !          38701: term dev enter 55 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38702: term dev enter 55 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38703: term dev enter 55 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38704: term dev enter 55 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38705: term dev enter 55 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38706: term dev enter 55 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38707: term dev enter 55 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38708: term dev enter 55 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38709: term dev enter 55 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38710: term dev enter 55 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38711: term dev enter 55 11 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38712: term dev enter 55 12 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38713: term dev enter 56 1 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38714: term dev enter 56 2 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38715: term dev enter 56 3 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38716: term dev enter 56 4 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38717: term dev enter 56 5 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38718: term dev enter 56 6 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38719: term dev enter 56 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38720: term dev enter 56 8 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38721: term dev enter 56 9 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38722: term dev enter 56 10 ty12 13 128 none tty terminal 9600 none n n n none 2brk disc y
        !          38723: tyhost dev enter 56 11 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
        !          38724: tyhost dev enter 56 12 ty12 13 128 laird laird 9600 9600 none n n n none none 0 n y n y
        !          38725: unix enter 57 unixV1 256 jones 96 jones yes no no no none y
        !          38726: unix enter 58 unixV1 256 bofer 96 bofer yes no no no none y
        !          38727: unix enter 59 unixV1 256 jones 96 jones yes no no no none y
        !          38728: unix enter 60 unixV1 256 mharit 64 mharit yes no no no none y
        !          38729: unix enter 61 unixV1 1024 lingua 64 lingua yes no no no none y
        !          38730: term dev enter 62 1 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38731: term dev enter 62 2 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38732: term dev enter 62 3 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38733: term dev enter 62 4 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38734: term dev enter 62 5 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38735: term dev enter 62 6 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38736: term dev enter 62 7 ty12 13 128 none tty terminal 9600 none n n n none 2brk cmd y
        !          38737: term dev enter 62 8 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38738: term dev enter 62 9 ty12 13 128 none tty terminal auto none n n n none 2brk disc y
        !          38739: tyhost dev enter 62 10 ty12 13 128 IPtiger IPtiger 9600 9600 none n n n none none 0 n y n y
        !          38740: tyhost dev enter 62 12 ty12 13 128 IPbashful IPbashful 9600 9600 none n n n none none 0 y y n y
        !          38741: :!C��&�&&�b�&�R(��O(��O(wtmother/n/westphal/usr/wtm/misc/rawslog/s.inxv/v14725/7983064950 38363
        !          38742: 950    38346
        !          38743: 950    38337
        !          38744: 951    38323
        !          38745: 951    38319
        !          38746: 951    38314
        !          38747: 953    38309
        !          38748: 953    38293
        !          38749: 955    38285
        !          38750: 955    38276
        !          38751: 955    38266
        !          38752: 955    38258
        !          38753: 956    38248
        !          38754: 956    38240
        !          38755: 956    38231
        !          38756: 956    38226
        !          38757: 958    38217
        !          38758: 960    38207
        !          38759: 960    38204
        !          38760: 961    38207
        !          38761: 961    38209
        !          38762: 963    38203
        !          38763: 963    38204
        !          38764: 965    38200
        !          38765: 966    38197
        !          38766: 968    38223
        !          38767: 968    38222
        !          38768: 968    38222
        !          38769: 970    38224
        !          38770: 970    38226
        !          38771: 970    38227
        !          38772: 971    38233
        !          38773: 971    38233
        !          38774: 973    38231
        !          38775: 973    38234
        !          38776: 973    38234
        !          38777: 975    38232
        !          38778: 975    38234
        !          38779: 975    38235
        !          38780: 976    38235
        !          38781: 976    38238
        !          38782: 978    38240
        !          38783: 978    38242
        !          38784: 978    38244
        !          38785: 980    38242
        !          38786: 980    38244
        !          38787: 980    38244
        !          38788: 981    38250
        !          38789: 981    38247
        !          38790: 983    38250
        !          38791: 983    38247
        !          38792: 983    38248
        !          38793: 983    38250
        !          38794: 985    38249
        !          38795: 985    38252
        !          38796: 986    38251
        !          38797: 986    38253
        !          38798: 986    38251
        !          38799: 988    38255
        !          38800: 988    38253
        !          38801: 990    38252
        !          38802: 990    38252
        !          38803: 990    38247
        !          38804: 991    38248
        !          38805: 991    38248
        !          38806: 991    38247
        !          38807: 993    38243
        !          38808: 993    38242
        !          38809: 993    38243
        !          38810: 995    38240
        !          38811: 995    38238
        !          38812: 996    38236
        !          38813: 996    38234
        !          38814: 996    38236
        !          38815: 996    38235
        !          38816: 998    38231
        !          38817: 998    38231
        !          38818: 998    38232
        !          38819: 998    38233
        !          38820: 1000   38231
        !          38821: 1000   38229
        !          38822: 1001   38226
        !          38823: 1003   38226
        !          38824: 1003   38222
        !          38825: 1003   38222
        !          38826: 1005   38224
        !          38827: 1006   38223
        !          38828: 1006   38221
        !          38829: 1008   38222
        !          38830: 1010   38221
        !          38831: 1010   38222
        !          38832: 1013   38214
        !          38833: 1013   38211
        !          38834: 1013   38210
        !          38835: 1015   38205
        !          38836: 1015   38203
        !          38837: 1015   38201
        !          38838: 1016   38197
        !          38839: 1016   38197
        !          38840: 1016   38195
        !          38841: 1018   38197
        !          38842: 1020   38199
        !          38843: 1020   38195
        !          38844: 1020   38189
        !          38845: 1021   38186
        !          38846: 1021   38184
        !          38847: 1021   38185
        !          38848: 1023   38187
        !          38849: 1023   38189
        !          38850: 1025   38188
        !          38851: 1025   38183
        !          38852: 1025   38183
        !          38853: 1026   38186
        !          38854: 1026   38187
        !          38855: 1026   38188
        !          38856: 1026   38189
        !          38857: 1028   38188
        !          38858: 1028   38185
        !          38859: 1030   38191
        !          38860: 1030   38190
        !          38861: 1030   38191
        !          38862: 1031   38190
        !          38863: 1031   38187
        !          38864: 1035   38182
        !          38865: 1035   38181
        !          38866: 1035   38182
        !          38867: 1035   38181
        !          38868: 1036   38182
        !          38869: 1036   38185
        !          38870: 1038   38185
        !          38871: 1038   38185
        !          38872: 1038   38185
        !          38873: 1038   38184
        !          38874: 1040   38183
        !          38875: 1040   38178
        !          38876: 1040   38178
        !          38877: 1041   38174
        !          38878: 1041   38173
        !          38879: 1041   38173
        !          38880: 1043   38170
        !          38881: 1043   38171
        !          38882: 1043   38170
        !          38883: 1043   38168
        !          38884: 1045   38167
        !          38885: 1045   38165
        !          38886: 1045   38167
        !          38887: 1045   38172
        !          38888: 1046   38185
        !          38889: 1046   38194
        !          38890: 1046   38195
        !          38891: 1048   38195
        !          38892: 1048   38195
        !          38893: 1048   38195
        !          38894: 1048   38197
        !          38895: 1050   38197
        !          38896: 1050   38198
        !          38897: 1050   38196
        !          38898: 1050   38198
        !          38899: 1051   38199
        !          38900: 1051   38197
        !          38901: 1053   38196
        !          38902: 1053   38196
        !          38903: 1053   38195
        !          38904: 1055   38190
        !          38905: 1055   38193
        !          38906: 1055   38192
        !          38907: 1056   38191
        !          38908: 1056   38189
        !          38909: 1056   38187
        !          38910: 1056   38183
        !          38911: 1058   38182
        !          38912: 1060   38180
        !          38913: 1060   38179
        !          38914: 1060   38179
        !          38915: 1061   38178
        !          38916: 1061   38180
        !          38917: 1061   38182
        !          38918: 1061   38178
        !          38919: 1063   38178
        !          38920: 1063   38175
        !          38921: 1063   38174
        !          38922: 1065   38168
        !          38923: 1065   38168
        !          38924: 1065   38167
        !          38925: 1065   38168
        !          38926: 1066   38166
        !          38927: 1066   38161
        !          38928: 1068   38158
        !          38929: 1068   38158
        !          38930: 1070   38158
        !          38931: 1070   38158
        !          38932: 1070   38160
        !          38933: 1070   38158
        !          38934: 1071   38156
        !          38935: 1071   38156
        !          38936: 1071   38156
        !          38937: 1073   38155
        !          38938: 1073   38155
        !          38939: 1073   38153
        !          38940: 1075   38154
        !          38941: 1075   38154
        !          38942: 1075   38155
        !          38943: 1075   38152
        !          38944: 1076   38154
        !          38945: 1076   38152
        !          38946: 1076   38155
        !          38947: 1076   38153
        !          38948: 1078   38157
        !          38949: 1078   38160
        !          38950: 1078   38160
        !          38951: 1078   38156
        !          38952: 1080   38154
        !          38953: 1080   38150
        !          38954: 1080   38147
        !          38955: 1080   38147
        !          38956: 1081   38142
        !          38957: 1081   38142
        !          38958: 1081   38140
        !          38959: 1083   38137
        !          38960: 1083   38139
        !          38961: 1083   38140
        !          38962: 1083   38139
        !          38963: 1085   38140
        !          38964: 1085   38138
        !          38965: 1085   38137
        !          38966: 1085   38135
        !          38967: 1086   38135
        !          38968: 1086   38134
        !          38969: 1086   38131
        !          38970: 1088   38130
        !          38971: 1088   38133
        !          38972: 1090   38133
        !          38973: 1090   38134
        !          38974: 1090   38125
        !          38975: 1091   38122
        !          38976: 1091   38122
        !          38977: 1093   38123
        !          38978: 1093   38120
        !          38979: 1093   38121
        !          38980: 1093   38117
        !          38981: 1095   38115
        !          38982: 1095   38114
        !          38983: 1095   38112
        !          38984: 1095   38114
        !          38985: 1096   38112
        !          38986: 1096   38109
        !          38987: 1096   38105
        !          38988: 1096   38105
        !          38989: 1098   38104
        !          38990: 1098   38098
        !          38991: 1100   38067
        !          38992: 1100   38061
        !          38993: 1100   38057
        !          38994: 1101   38058
        !          38995: 1101   38056
        !          38996: 1101   38054
        !          38997: 1101   38056
        !          38998: 1103   38053
        !          38999: 1103   38049
        !          39000: 1103   38051
        !          39001: 1103   38048
        !          39002: 1105   38043
        !          39003: 1105   38039
        !          39004: 1106   38039
        !          39005: 1108   38030
        !          39006: 1108   38031
        !          39007: 1108   38030
        !          39008: 1108   38028
        !          39009: 1110   38024
        !          39010: 1110   38020
        !          39011: 1110   38015
        !          39012: 1110   38008
        !          39013: 1111   37998
        !          39014: 1111   37998
        !          39015: 1111   37996
        !          39016: 1113   37995
        !          39017: 1113   37994
        !          39018: 1113   37993
        !          39019: 1113   37992
        !          39020: 1115   37991
        !          39021: 1115   37992
        !          39022: 1116   37990
        !          39023: 1116   37991
        !          39024: 1118   37992
        !          39025: 1118   37993
        !          39026: 1118   37997
        !          39027: 1118   37999
        !          39028: 1120   38000
        !          39029: 1120   37998
        !          39030: 1120   37995
        !          39031: 1120   37994
        !          39032: 1121   38000
        !          39033: 1125   38005
        !          39034: 1126   38005
        !          39035: 1126   38009
        !          39036: 1126   38009
        !          39037: 1126   38008
        !          39038: 1128   38007
        !          39039: 1128   38003
        !          39040: 1128   38003
        !          39041: 1130   38002
        !          39042: 1130   38005
        !          39043: 1130   38007
        !          39044: 1131   38007
        !          39045: 1131   38009
        !          39046: 1131   38007
        !          39047: 1133   38006
        !          39048: 1133   38001
        !          39049: 1133   38006
        !          39050: 1135   38005
        !          39051: 1135   38000
        !          39052: 1135   37998
        !          39053: 1136   37984
        !          39054: 1136   37983
        !          39055: 1138   37946
        !          39056: 1140   37941
        !          39057: 1140   37937
        !          39058: 1140   37938
        !          39059: 1141   37938
        !          39060: 1141   37934
        !          39061: 1141   37935
        !          39062: 1143   37937
        !          39063: 1143   37935
        !          39064: 1143   37934
        !          39065: 1143   37933
        !          39066: 1145   37932
        !          39067: 1145   37938
        !          39068: 1146   37936
        !          39069: 1146   37937
        !          39070: 1146   37934
        !          39071: 1148   37933
        !          39072: 1148   37935
        !          39073: 1148   37932
        !          39074: 1148   37932
        !          39075: 1150   37931
        !          39076: 1150   37933
        !          39077: 1150   37937
        !          39078: 1151   37934
        !          39079: 1151   37932
        !          39080: 1151   37931
        !          39081: 1151   37929
        !          39082: 1153   37928
        !          39083: 1153   37922
        !          39084: 1153   37923
        !          39085: 1153   37923
        !          39086: 1155   37921
        !          39087: 1155   37919
        !          39088: 1155   37914
        !          39089: 1156   37910
        !          39090: 1156   37912
        !          39091: 1158   37911
        !          39092: 1158   37906
        !          39093: 1160   37899
        !          39094: 1160   37891
        !          39095: 1160   37889
        !          39096: 1160   37882
        !          39097: 1161   37883
        !          39098: 1161   37881
        !          39099: 1161   37878
        !          39100: 1161   37876
        !          39101: 1163   37876
        !          39102: 1163   37879
        !          39103: 1163   37881
        !          39104: 1163   37882
        !          39105: 1165   37879
        !          39106: 1165   37882
        !          39107: 1165   37882
        !          39108: 1165   37881
        !          39109: 1166   37881
        !          39110: 1166   37891
        !          39111: 1166   37891
        !          39112: 1168   37889
        !          39113: 1168   37896
        !          39114: 1170   37894
        !          39115: 1170   37899
        !          39116: 1171   37893
        !          39117: 1171   37896
        !          39118: 1171   37900
        !          39119: 1173   37899
        !          39120: 1173   37902
        !          39121: 1175   37906
        !          39122: 1175   37907
        !          39123: 1176   37903
        !          39124: 1176   37902
        !          39125: 1176   37904
        !          39126: 1176   37904
        !          39127: 1178   37902
        !          39128: 1178   37901
        !          39129: 1178   37899
        !          39130: 1178   37901
        !          39131: 1180   37901
        !          39132: 1180   37900
        !          39133: 1180   37902
        !          39134: 1181   37905
        !          39135: 1181   37907
        !          39136: 1181   37907
        !          39137: 1183   37911
        !          39138: 1183   37915
        !          39139: 1183   37919
        !          39140: 1183   37920
        !          39141: 1185   37919
        !          39142: 1185   37918
        !          39143: 1185   37921
        !          39144: 1185   37918
        !          39145: 1186   37914
        !          39146: 1186   37914
        !          39147: 1186   37916
        !          39148: 1188   37918
        !          39149: 1188   37922
        !          39150: 1188   37921
        !          39151: 1188   37920
        !          39152: 1190   37921
        !          39153: 1190   37922
        !          39154: 1190   37921
        !          39155: 1191   37928
        !          39156: 1193   37931
        !          39157: 1193   37930
        !          39158: 1193   37934
        !          39159: 1195   37936
        !          39160: 1195   37937
        !          39161: 1195   37936
        !          39162: 1195   37940
        !          39163: 1196   37939
        !          39164: 1196   37938
        !          39165: 1196   37940
        !          39166: 1196   37941
        !          39167: 1198   37941
        !          39168: 1198   37939
        !          39169: 1198   37937
        !          39170: 1198   37935
        !          39171: 1200   37935
        !          39172: 1200   37936
        !          39173: 1200   37939
        !          39174: 1201   37938
        !          39175: 1201   37945
        !          39176: 1201   37946
        !          39177: 1203   37947
        !          39178: 1203   37948
        !          39179: 1203   37946
        !          39180: 1205   37942
        !          39181: 1206   37946
        !          39182: ��CK��&�&&Y#�!O(�R(�R(wtmother/n/westphal/usr/wtm/misc/squig/trin4.Jun.rv/v14725/79930660.9120
        !          39183: 0.9061
        !          39184: 0.9141
        !          39185: 0.9377
        !          39186: 1.0043
        !          39187: �Cc&��&:h&�&�~R(�}R(�~R(marcia#28428/n/atomic/tmp/si/bQg1.q.conv/v14725/876�
        !          39188: �
&�
        !          39189: �@�@A6�A6�A6��@&S�Cz�@{�@��u?I�N@o<
        !          39190: A��?;Ф@�Tt@���>�cQ@*�@A?~A��Aw�{@��z@�t"AE�@��A�}5A3�kA��VA�#@H�GAE�jA��Aȯ@��A4A@��@�7Z@d@*QZ@b7A�dAʐO@��KA��A
��?�ڇ@�,A#`A�VAbt@KI?��>AơnAb�qA%:A�onAzA��@�[A��A*,/A��E?g�@���@�S>p�@�A�&�?      �<Ah�?�5AAPdMA�VA��xAN�CA*1tAB[NAD5b@C�       A3��?��@X-�@�d_A��@b}A�8[AH��@�xAo(�AG&)AS5A��VAK�gAh�A���@�E@i�&@��SArc�A�f/A�#?A�w�@]w3@��AI�@��&A�?@�@R@��@�6>)�1A��@��A�#�@wmA\�@8�FAQ�A0�@�y^A�M�@ഃ@�aQA:)�A�\Ah>A�6A���?<�
?~��@B��?��A98BA�|A��A��A)m)Ay�A���@+@A���@WAy��@�??��@t�)?��@��&@��@.�A1��@���@1?dA��@.��>��9A�"AWX�@�bA��nA���@x��@�jAK�@�\�A��`AI�JA\�@6�;@h�0A�UA�A�"�=|v>3T�?��@�V�@�)A��?��}AXA�KgA�M�A���@tt)Aſ!A���@s�[@��RA]At^rAPBWA"ۿ@�UwA)��AmWA>�^AF�lA��WA�
�@C�?�@��2A��
        !          39191: Ax�A�@B�A�QAK�AJw�@���@f&OA�8�@"aAul@�K0Av$YA$(�@�&0A�o�A0hCA�_�@@FA�\A�8A  %0AS}�@�z�@���@sogAB�@/�WA�>�@�,A�@GA/ـ@y��?�6A��$A#DAJFA���@Ez�A�x�@cGcA��Ag�@I�IA��7AF�.AA�A��xAz�@��yA�&AX=#A��&@k��@1.A��2A���@�@�A��KAt�5A�L�AR�5A4�uA�F}>�š@��@ۗcA���A�A0S�@�e&A�Q�?��lAr!�@]9FAIqpA�\@D��?Y�A��@b�(@�=5A
�mA�@�@{�@�)A�3%Ay�6?(�bA���@j(A�
        !          39192: xA
�@.�Ax�-Ax��@An@��l@�AE�jA�4A3�~?���A^�A�Ч@ތ�A�leA\YOA��[A�TAl�N@�E6@��?c�@'��A�J�@{�@��@AO4�@�gWAa�@ЮA��D?��7@�)�?Y1@��YAv�A��A�PmA=�@��]A%�@+�>A     �cAz@�@_:@ h@���@fAT�@0�1A�Y�?��@���@�       AЌ|A@AApmA�fZA���?.\�A��A�Yq@�Ar�Q@��WAAE'�?Bv�>�
        !          39193: �?�%A��)Al@y�xAH+GAW��@_?%Ae}uA���@��`A�Ba@w�b?�8A@�W-A��@0�g@�SAK��?��>@{[A��@�j!>/�_A���A_yA�V>|�=A��bA�   A�\�@�5.Ak      �@8�G@��@��A���@ef�@W�"An|WA�j:A&��@b�AmlA}HA�xgA��=A5<YA��?^�(@[��?�.?��@�+�@��JA`}lA&�nA4��@j�G=6/AJ��?t5@�|9A?K(Aǩ�@�8A�6?���?�'�@�iA�@&vyA��?A
        !          39194: M�AZA�)A�)>@��@Z��@u^AYo~A�@��IA�S0@*&LAN�OAx?�@)hLA�ju@�Z�@G @��xAJ   �A,��@�>�@. A�j�@�:A,AsA��@� A$�A�t�@NJ�@‘VA�A"D&A�{A+��?ժ?7.�@"AAK>Ab��@��PA>
        !          39195: �@�|�@���>f��>�A�@��:?N��@08A:KA|��@&�?��YA�A�9�@��kA"hA��@�?@u½@D&�=̊;Aw>?W�?��@��fAn�>A�N\A_�>�ւA�s�@��A#|�@��A*wRA�nAg�MA�0IA��"A� JA�,@$h@��K@�-WAJ�F?Ҩ�@��YAsYA��A��@qFAtA�
A��~A[7�@\z�@��?H�&@_�@��KA�y�@���?���@o��@%�A��JAD`(@D�nA�fA��+@�(A�-6AӦ�@��@z�
        !          39196: A���@,}2A��    A��@��jAK@���@��mA'_A��C@��@�ڛ@��:AcIA�QA&�Aa2�@��A�|3A[ނ@S�;?�A�pqA�^@��,@_�A�i4A��y@OoA�b�A�#�@��y@J�<@5�A@o8>A�1%@�m
        !          39197: A}7AA�35A��A?(PA��>@C eAV�A��CA�ۮ?%�*Ay�A��\Ao��@\0�@��\A��mA�qAm�>��@j��?=#�@�!AT8A��KAO�L@&Z.A2Ar�A��yA�"@KOOA��@fu�?DK
        !          39198: A��r@S6�>'eA�&�A;�@��?�@�?.t@Ay�@Fđ@�;�@$m.@&��@7�e>�#A��
Al��>$/A�qIA]��@��?ځ�@���@�[�@E�_A�j�@�y�@��OA�P@O�        @�"A^׃AV��@o��?�z@޲�@��"@��A�pA&;lA��A˽!A�"�@}vrA!,�AZANj�A�eA�FA}agA�3�={�#@^oXA5A���@{�x@��A�vA$��A�qTA��t?�E;A:(#A��j@0��@5-JAkg]A��<AX�@�zA��>6CAR@�?��A��@`
        !          39199: 5@ك�@nSA:!jA�"(@?@)7sA�(ASvAݬGA�R�?oaQA���@�PA-�cA��FA�A�o�?U}�A��{A'<v@��?A8�%A&$�@�C_@+��@M�0A��
A%��@E�*Av�@=L8A-��?a�2A���@啿?9RJAIT�?�˃A8    �?�@��$@t�@�|aAW;PA@b�A/SR@�9zA��JA>�7AgJ#A�.
AV�}Ab��@��M@��bA���@�1A'�A7mAm�xAc�(@�Z@Y(@&�A�A@F�@�yJA�8
A:�?J�A`�AL  Ap)�?A�>`5Z@ہ'AG^9A��?@�sAZ�@|�VAǠ�@s�@oAP?���@��@�A�d�@�t�@��@���@�S�@�gA��A��9AK..A�`}A��-A��>O�QAL�?}�cA�/YAu�CAY:�@�@�~CA�A5=AT>�?A�g@�eA��1A@�g@!T�@v��?@BVA��@D�@��@8��@�aA`4h?$kA$�BA���@      �@�9�?b΁A�ʛ@�2lA��A��qA%�?�� ?��@�6A>�#�@�ˌ@��A:`lA���@��*>8��>�Cv@�r{Aq�3A��?�@A!�@KFCA�dLAy�@^�A���>��@z�MA��@�^@��CAc��@]\�@��eA�#0@�R'A��SA�t�@[�@d�VA��n?m�@�V�@y!U@B�'A���@�q�@�;A�t�A��IA�>�@��A�eA<�@P
o?,�A^�EA�3[A�ikA�;A��WA�r�@>��@꾙?jJ�@V�A�]pA���@�]?=��A��@�?���@�uA��A�JkA�/�@#��@Fݥ@��A��lA�
@��uA7A�v3A��AAB�A��+>��A�$�@A��@R-(A%�@��EA
�&A�ƶ@���@]��?z�k@ՁA��"Ax��@�A8�@�T�?v��@?)F@�z7@�؇@�7~A��&AiwzA���@�mA�o|AšuA�?A%z
        !          39200: A�
�@��#A���@]�#A��0AGȅA���@���@7�@ٸ�?�,IAUzq>���?�?@Iw�?+7!@�#A�8L@��?G��@�.SA���AS�8A/4{A��?L�*A��:@�A�[�@��@A�n@���?5cA��?1v??��A�2?A�/<?!̄A�A?�A}m�?�A���?�-�@� �AsfmA���@8R�?��p@)ׁA�@Se{@�K�@��@)�D@���@_��@��|@
AA��@�FHAI\
AR��@���@g42A{��@V�\AK"2A<EFAy��@�&�@�kA�DA�RmAyAً�@�c�A�!�@��AwB�@I�2A���@���@ի'Ac�A�-`@�AQ�A�+As��@��@|�F?
        !          39201: hKA�V�@��>=�@�
A-��@�H�@L   �@�LO?�>�@��1AAp
A}�A�gA_�@X��@"�@�uA>=>A))>�Ҭ@=��@���A���@�&�@4�AA7A+A���@��<AӅ_@� .Ajg�@h�pA�"^>��HAD�C?mswAdA��@Z�A��]AN��@"T�@�chA��A��PAH�A^�@�F*@�=A �@�=A�J�A�|@%@9'9A�/rA��zA�3yA9p@��|A(�WA�y�?X�@ A Aw�UA���@)`?�t>��qA��&A�~�@��A��@ٚ�@A��#AՇiA�?�ieA�2A���@S��A��@r�lASɀA�&\A�sA��.A���@�S�?�UA|�@&�\AȜ�?]9Aciu@B�A��:?0*�@��A��)AKHuAeA3�kA��@��QAH     dA�SA�P�@t�@`��@�a@R�~A���@_a@~{@���A[�;A�uiAW�?[WAI.A��>���?�8�@�"A�J�@mcAzj�@k�zA�*AY��?�TAa�>@��A�g*A���@��@T3A̮�@�ŭ@��%A�:E@�gBAHu1A�9@v;�A�_A��?&��@)��@0\*Atn�?�mA���@��@ї�@�� A�y�AJ��@��TAS�@��@��SA���?�5(A@Y�?���@�5HA��@���@�)qA��zA��}A��sA���?�o@y�A�3�A>Y�@���>c�?�Ҷ@���@�pCA�?HA�WA��pA��>'�=A&��@!��Aj��@V�A?MDA��i@��>@��@�[�Ajm$A7A���A�7A�� A��A�j
        !          39202: AHA|�'A�E�A]
ARfG@���@Ժ�?R��@��rA��GA���@f�AA�PA�CA�.A��@Y>A��@��uA9��@��AC{;A۪�@̲3A�_�@�9$@ۃA�JA�h@m@C)A)O�@��$A
        !          39203: �|A��NA�h�=�A��?@~n@�zQA��A��EAtCAX�@��@��?��@@��A�FA�|@��_@|W.A�J�@��wA��!A���@�.�@P�yA�@���@�2"@`zP@U�pA���?[PA��?[�A׀TA��2A��@�r@�pAsA�
�@�88@
T/@�+bA
A�@g�A��?Am}TA6@�1�@�]�@K?~A��.AC[A�K�AȖMAP�A�)>>��@���?���@cl�@�mA��.A3:A&A�
�A�XAuA�eA�f�@�IA|xAy��>,�oAP��=�5[AƁjA'AA�yA��@8;{A^�n?1��@��A�62A���>K�@��AA{.FAi�(A���?��!@l�?|A��A��?B�:A�KA�\Ahн@[A�U�@0�lA��J@�#A\��@$d_A�]P@�w?J�      A���@GŒ@$
        !          39204: aAyaA4�XAN�@�
;@N�@l�lA�A]��@��@rs,A#LaAn��@�(�@Y?�|A�JxA��A7:j@K�|Ax�?�b@�[�A.�R@��WA'�@��+A>�$A�@�DtA�n!A��A�EiA�� A$�&A�DUAO{�@c&A�Y@�v�@���@`i�@�z�?��]A��vA�jA�A�Z�A8�&A�k�@$�A��?��t@?P�?��3A*��@��TAŵBArI�A��2@�A��5A���?�`�@Qw       @jgAu,�?5��@�#1A8]jA�WA�AMAt\vAi��@4IVA�Ao}A��%@'��@aSeA<�A�&A�4A'�-A�tkA(�Y?<r)A��@�@A�A�@[��@!ζ@=WAmg"@�A��IAs�1A3�f?p`A1ǀA�NA�J?AB:@�g
@,y&AiA��A
        !          39205: �@�YgAK�CA+�@�!�@��7Ags�AM�?A�6S@�B@�]SA�\�@��N@�   M@S�kA[
Az��@��A��
A���@i��@��,@�{�@�8v@�|A�XA�z@#�,A]LA�lfA�s.A�cFAķ3AP��AWAE�        A@�A::�@�M@   7�@7��@w��?�ê<�4AwyRA)nA��
        !          39206: A��UAj�@u�@���?��BA�@�3�@?�DA�xAO$Ao�EA�v@��@rj?�Qf?Q�@;6>�xmA�qVA��@�x�@hvyA��\A_GA���@N�8AЄV@���@_�4A��A-$F@�vAx[A$�@��<@4rI@���@�v�@ЦA�}ATw�@�AwnA�7�@�oAt�@}*$A�}A�
        !          39207: A��]A��hA�4h?�8A|�%A�5wAxgxAaEPAy�A(`iA��?��?p{A78GAv:@s��Aa,�@�<TAQF,@�"hA���?��ZA&K�@�_NA��T?!v�@�|�=�Cr@,tA�X�@�O3A�pA���@�� A�e@�+"@�`A��?Zlf@X�bAnY'@2)eA 
A�/@�,]Ae�=>v��@�xwAr>�@�'�@�+}A_��@~s�@#a�A�k`>p~AA��@�q�@�fAa��@�;A%�5@���?:�[Ax6@�(A�lAů�@ic�@�tbA�C�A�?�@DJXA�!A�LA�^A��3A���@?4�?"�_A�$�@��@�9�@l�-A��>��X@�ɳ@��@@@LA���@�bA"A[�Aa�>/p>Aou�@~�2?�~6A��@ϻ'@��ApA��nAUŅA��2A��VA �QA�B'??i�@� �@�
@�$A�nWA508AO��@-�@]"A�
~A�;�@��?��@��[A@"CA+*!A6z�@�LoA^iA4@e�AHsA�wA�N[@S�1ALf3A��@�,AʛA_u}A���=�dA�~A:B@��A�K�@j�AK_�@pVCA�4-Ao+�@D�B@a�A*��?��zAbY4A��@��1A��a>g?�@F�@)zFA0AT�sASO@� A.�{AacB@o׀A��gA޷A�Qy>�F:A�v\@x4�@��y@�W@8�A!�A�l>V�A���@U3@�gA�Q5A�C�@�F�@m�@�/�@���<L�&A�m�@�/Ap�EA�?���A&I�@�{A�1A��&A�H�?�h�?��wA��@�'�@�_A]��@�n4A�2*A^�@�@Aޯ�@JARD�@��@&�?7�?�x?�YA�62An#OA‘v@R`�@�LA�xAi�WAF�?נ�?�sA�#�?'�!A�@䨅A�4�@�(�@��"A��FA|p�?�DAe�e@
        !          39208: �A&IA�8A�KA���@�hHA7�>�mA{��@Na�@]�A��?G�NA���@�7�@���>�<;A8A�<"A��@t��?m�A�B�@�Z:A˗�@�
AA?��w@�?A��@AV��@�bAi�x@.
dA
        !          39209: �BAh�-A��Aj01AB�\Ao��@�܇@H�yAq�@�}@Y�IA�dA�2Aض�A<ld@��@Ѽ^@�qBA�IYA7��@�&A��DA�UA&��@-��@��j@��\A4�8AnA�4A��@Y`oA�8�=�(�A�VVA$�/@�4A:�A�T3A;&Au�@��
        !          39210: AZ��?D�9A�@u�CA�Ae?h
@��d@]A)�A5*�A�$AC
�?��@�6dA%$/>�)`A�=@p�Aã>@�?���?C�AR�@���@��~A���@��iA�6�@[�5A9"@�b>��A[�]AY7�@2�@�*A��xAOt.A&tA�zVA&h.A.pAD�r@: �@�:A,vA��=A��p@Y�~Af�[<h�_Ah�@�UD@@A{A�*}@ꟁ?KA�mkAPj6A�"Aǭ�A��^A>�@g
        !          39211: pA�6A{�>A
^�@NhA /GAvGh@DM|AS�`A��@�H6AT�n@(��@���@�E�@e�?A7i�?���@�i�@���@��iA(�uA��oA���@��@�    n@�@?��cA��L=��@̯�@�ރA�tA�u�A_gwAЕfAE�HA}J\@.p8A�FA���AO��@Ő�A?I[A�>�@�O?��f@NN�A�bA��@QX`Ar�pA��OApg A?�>@M_*A_:?U�@�LAF��@�G@1�>A���@½A��1A;�@A��>A��@vo=A��)A�JA�Һ@�� @��@)�#A5$�@$Ai@�?��FA\�fA&��A<Ԟ@��aA"�cA�B<Ao2I@qc@�V=@䎫@��
        !          39212: Ar�EA��@�A�� A��?mAs=V@�PfA��=>��@U[?�@A�$@�
        !          39213: �@��A�QA@#KA�&vA�sAO@��A+��@�q�A���@,�RAHw�;�X�@�5�>�&A0�)Adn2?��A�xA�l�@ت�@ScAд@�
A��EAa]zA�!@EA3FXAݢyA�K+A��A�pA<�Aw��?j'A�R�@�=�@"��@�AU�?AϓA��@��KA��@��YAذv@�7A㩄@2�?�+A�@}    -A�F9A�1�@�!AVF�@^zcA2�Aٔ�>&y%@�K�@���@솆A�sA@�u@U3�?��p>*O�@C�+A-c�@;�
A� @�'A��@�l=A�}A��A�- ?��CAoJAP     �?n�^A.>m�AZ��@�>v�A��A�eAA���A�1�@�A4�5A@WIA��@���@�ZA�A���@k�YA�:"@�r�@wB�@�9PA� ?��/A�A�ZF@sˁAo��@
��@��eAGoA��2A�6�@�q@��Ad�sA'�-A�� Aʸ�@���@�$Ab�?V��A�2�@�/KAJq�@��?�OgA+�@�@wP�AN�A�`AAg��@+��?�*�@��+@RJ�AW�u@?�
@�F
@6�b?�+LA�>.A��e@��Ai�QA��^Aޡ~A�xA/5�@���@��:A�C0@ǘ>�&�@���@b��@�=@�G>AnA'|�>y՞@�b]A,��?�_=A�I4A*XA,1�@��fA�E`Af��?9ԂA�VA
7�A9�A&��?f1�@�>�@ �!A�k,A�&A+H.?�A�5hA��wA6UA�B�@��>e�&A���@��eA�PA��@��9A��#A�p]A���Aq�GA�V@��?N�K@UZ?K��?D`KA�&@��A��:A7�,AO��?>��@~|Ar�!A�@���@A_A@�"@%7nA�JAj�=��?T6AN9?��A�>�?(�A|�5@z��A��?T%A��N=@?a+EA`�>T�A%X@d-{?ܖ�@?�TA��@s��@˧o@9EA��X@��~A��qA&�?\�WAk��@���@E�ABNAQpA[�BA��mA�zIAB�\@rQTA��?�9A���@ A�ap?�[XA�A`A��@�9A;�@��?�A��5Aa,A'�CA�{)A!��?:�Aa=@"x�?�|AsnAߎ�@��CA�MA��[@�4A��?Y�>�@[�AbU�@��@^�'AP_�@8A/ �A�'�@�xA���@���@_��@�Ѷ@���@�
�@h�@_��A�ЀA��HA�fA��VA+nA��CA]�^A��`@̤�@d�A�%@A�%E@��mA�M3@i�@A`5�@�X=@%/�@$��>DxYA�"�@*Abj�@�%*@:�Y@XXAD\A�@(�L@�y)@��MACb�@;y@F��A.9�@P�NA���@��AA}�@[�Q@Q��@�$�@���@VLA��iAd�@A�D�?c�pA^�AtiTA9��@�5rA.>$@{:/A��A>�@DSA���?LpA�c@�jA'�UA�YqAU0�@�y\A�-@�A;ҁA�r@?��@��\A`QmA%�A<�o@,8@��@]5[A^ܖ@V�?�,�?G�YA˨RA���@1��@y�@���<�܆@<4�@��A��DA̶PA�a�@�t?��XAo�^A���@���A��?�XkAs,AΡ�@��?�1u@��x?6z�@�@�bA~J&A�nA�d�?��m@ز�?�$Y@,�>ږ�?�@���@�@�~#A`ji@�o�A���@>�yA��$A>�@K��@*�@�2A��k>C�TA��@�CA!�@3�RA�D�@i�K@K;3A�;EA�&aA�)AT+A��"A�hyAn�D@^��@��A{��@
M�@xS@Ԝ�A%z�?���@�HA��L@K�AA3V@Z�?kg�?�P}A�O�@���A+�A8�A5�S@�Q�@h�(@�?BAyhA�A'%uAe)@0��@"��=�%A��?NApA!K+A'i]A��A+�@�p@Z>_A@
=A��_A�;�?1��@��BAQӀAB�A$��@#�$A�EAL5|AKjSA�0�@��eA�>qAY�?&@aA��@�02Ar��>]G�@��'AcE@�oAc2�@<=fA7��@�xhA��b@�|(AIj
        !          39214: A3yA-��?qL�@X�Y@�Y@i?^�+A��=Aa�BA#�@V2�@�N.?��GA�TA��RA�h�>�:A0%?�k@��1A+��A��Av��@T�RA�>t�T@gr=A��*A!��@���@�7�@u��@��?��oAks�>�ǎ@�N�@�0A�@���@m��?z��@���AB��@T�Ag��@⵼@��zA�A�@9:A=qxA
        !          39215: 5A�A���@��-A��?b��?_ZVA8Wx?nt@��aA.�AQ��@�,6Af�KA���AA�tA��t@G�LA��$?�A�gAS�@~`9A�@ip[?<�fA��0?��A���@��u@�@��2A���@
qZA48A� 8A��B=�A�OMA�5A_xA�IO@��AGl�AӨ�?�sAtfA���@'��@ X)?���@��@决@��T?���@�#,Au��@��KA��&Aۄ`A�!�AV��@XA�
        !          39216: �@�Q�@{��@H�kA�aA�m�@A�X�@�c�@=�6A=_6@<i9@3�@kIVA�'A5�@�DApR%@�yA2DRAǁ2Ao_i@
        !          39217: �iAtXyA�M}@)Sd?�[A�4=A�$ABq�>��@�8A�`A8�Ae�LAv�  A��!A�AX'@�@       �'A"u@�O�@��rA�O�?-�Aa{ABcA�IWA     1aA��   A UAF�tAS�?|x@w�NA��?     Ak�$Ad:5A��A��VAR�GA�?�F3AQA��@[�.Akk6A�ZA���@�A�i�@<��@N�@�x@�y@�KA?{@[�-@ަ�@��?K��?K��?���A�NEAǁ6?��s@a�@xj�ADo�@h�@]E�@�y�?N�@��@��n@eb�@}?�A9@��AR?ȩA��e@��NA#C�?���@Bz�?<)�@;�A�pA��@��@��P>7z�@Ag�pA�GAD7�?a_�A�3MAV�@�=�?��@�&@�Y�@<|�A�g�@�/9A��A�iA��@-+rA�!\@��@$8A$�@��rA
�A(�@��A?�\A7=aA괩@�%@8A�A�uCA�K?��@#�A)�^A�)Â,A1�A1A�>^}<A�     A$AMsC@U��@���@F�?^i�A&��@��FA�(A,�A�@AՒQ@F�vAU#Ayt�A��{A
        !          39218: �[A��sA�G@ScAR�>AG5A��8A��@�SA�=A�{}?<�A��9A��A4@A�o!Ab5@yVA�h�@niA xA��A�?C
        !          39219: ]@��,A�ABEA�5A�r<A�_'@_�EA��Aߓ_@�BA���@,u?A��A�@So<J�8AS}rA 
        !          39220: @A�
�@G<FA�A�A��RA�m�>��@�?A�@�A?0NA�]A���@�eXA��+A�lA�oL=W :@��A���@u=LA{��@�QA6�-@��BA�/A
�*A�j�@�WR?��lAheA
        !          39221: �@�m A�!A%;PA��$A    @XA@6M?So0A�h�@b�A��AH�uA�@U�\@�oqA�LAS�<@b��@�C�@��5Ab��?�#aAX�6?l��@��@��3@�9Ad�;A�MZ?�ArAE��?�g?�RA �OA ��@��?|�D@��l@�.,AN�@_Am�;AÕ�@��#A?K�@�KA�qA��fAI�;A�@�?9A���@�        A��vA0��@�"@J�XA��zA�.z?��/@N�jA��&AV�?�U�@��4A��$?Y&�@f�3@i�@���?��A�uk>x2AK7H?�R�A_UA��?i}n@b��@���@�@btAޭ_AE�?S?��6?F�u@��A��@8C&A�K(A�srA�,.A��4?��{A'�8@j��@��#A}/SAa^�@��@=g�@��A�b�?ݑ�=Z�Al��@��?A]�?��:@��A�O�@��p??�@z�"@Q�wA٭@��j@���A�'5A��$Ap�aAAÕ@V�,A��AD�xAZ��?�z:Ab9`A2�RARCaA
)A�o�?�^A<9Aբ@X�?���@�@&A��An|AXD�?f��@
y�@��@ �@�X->���@տA�؂@PaAY��@�e�?��`Aj�Aq?�@�rA~�*@�?
        !          39222: ZG?���@M�@�tA
        !          39223: 8J>alfA��      A���@�&?��A�%L@��A��=@�=.A*�2A�
        !          39224: �AEn�@��A��HAjM�?�
        !          39225: +@�f�A�=\@��@֬�@!Y:A�yAwj�A��@{�@w��@7�A�A��Ah��>��~A��\Am˅@�=8A�گ?�ނA�ߋ?\>�@���@�1eA�A��7AsOAx�A�#"Ao�GA��@L�yA�Z6@j��@e�CA�<�?|[�@�NA(C$A=�A]hH@�;%@�@A�\AGwyA��@2\�A�B�@5'o@�yA���@��b@mg@Eã?o@�@<�@���@��zA4J@�f/A8�f@�Y�@��lAk�>�ThA�8AQ��@�RA�qA_� A�NA;AyKpA;��@��]@���@���?���@�;AQm~AbЅ@��A���?�kmA��eA��A<�?�*A��A{�bAy�y@N%�A�k&AM&@�gxAg��A+��@2�AZ|�@")A�J�A\[,A#�Z@n�1@gFA�0�@��@H�@V
        !          39226: &A0��@/� AA2�?`AO�?�QA;,A>AM��@�OAP�>A��A~��A�6A��@�}]A�A��(AC�^AykA��@V�*A�&A��@�@�*A��QA־OA��A��gA��JA���@
        !          39227: �$A��jAh݅AT�mA\
        !          39228: HAȁjA�d{A��AG��@��@�@�QA���@�-+Au2zAR�@�#�A�!{@�&�@f@%@%~7ATkcA��{A�j@��@R��;x{�@�6@q~;AQLGA(�@~6�>���>�pA(mA�
@A��
        !          39229: A��ABʾ?��@vAYO�AXԼ@f�*AxQ�A8��@1u�>0��@#.AdA��@fAN=uAaf�@<�L=���@]�`A���@��@�z@�@@��tA��B@�oZA��vA�uMADq7A�A+�=AR�;A�\S@b��@�        A��A,E�@i/@A3v�@�B@d%2A�=iAVpF@)zA���>!�DA@$A�}@q�<A$S�@̰%@d�@A60
AYK�?ߝNAv&>A:�
        !          39230: A�=cA���@l3�@ǷO@!��>�^�@��UAݕA�@�~FA0�@�<Ap�LA���?F��@űTAv/@�?�A�>r?��@�@op"A%A�)A�ɡ?�5
        !          39231: A�GqA�t@��=��@8h=M�$A�p�@��?�lAn0)A�XhA
�PA�RAj�;@p��@FQ�@v    A��"@���@���@A�i�=�
Q@��@�>&Ao�=@�1%@V#�@>�A䶯@Tw�A:��@�Y@���?��@Eb@�AA*�sA��{A=�A��@j$`A���@�)A7
        !          39232: �?^Ԭ@�hbAf�?�@2N>�j�@X%A6�@[@|A�a>�Y�@��>o�)A*Q�?��`AN�!A�UK@�M�@��&Aj�A4��@V��@4�mAU.A�(�@��t@�VA+HsA��A�UA@�@pu)AI��@:��@�դ@��@\QAo&DA.I�@�-A�z�?NCaA{ A��BA1��@��tA5&�Aj�YAN_@��A��A��DAn{A�S�@-�~AR�P@�c6A!�r@��@�n&AU�Ax�
AY�-A�h�?���@i&�?���A��A���?�I�@�JZ@m�@*�!@N�@F�A"�aAD��@�(�A]�@�:A��?�RAv#@�z9A�n�?J��@���@�$U?��kA�6MAj�e>�'UA+�
        !          39233: A��~AH�4A�1�@H�;A�Z]@�Ý@·kA+�YA�(�?=eO?�oA�G|A6��>O,�@�Q�@oWA���@,J*Avř@�WA�=�A�~A\��@��A�[@�#A�nAz "A�{�A�cA�.A�T�@�ˋ@�0ABϺ@�A��+AB
cAi��@�Ҋ@�?A/�5@��@i�@�Tq@��~A'�9@���?܉�@=��?f:�@.!iA>�HA6��A��0A��@�0�A��%?��BA�#4@=eA���A갹@DjgA�?A��
A��@�g0A�'6?xǔ>�'A�ktA�(�@�v�@��@���A?�A�PSAͭ�@A�@�?A��Al~AxEH@�:�@���?��
        !          39234: A��%A���?=�G@�%Ar\@��@N:3A�1.AXZA�wHA�qA��A�uA�NAG�!>�J�@�A���@��ZA�GSAT�>�d@�n$A��_A*�@��xA0�$A�,,Ảp>�LA��QA&�H?���Accd@�!�@�AѴcA�+�?��@�UAɮ�At�@�qAL�UA��A��>@]�yA�&^A=�T@S�?%i�?�&X@cw(@*O�@uuAp��?^zA�G�@��x@��T?��@�w�@�'CA?r�A�A�p]@    @ƃ�@�y>>�\7@�ˁAUA{�5@G0A�(A��MA�?�@+�A�a�>�~bATjcA�-pA��AXm%A�B;?�3�@ޓ�A�I�@M�>i%@�[8Ae&5A���?���@>IA
        !          39235: TA><7AvvA�4@e�A���@�AA�@�:@�M�@U�#@[M�=���@���A�f@\~A:iA��6A§@J�IAL&A�?9AN�KA��@�AWtAӓ#A�\:A�S@$��@ˣt?.�?Z�
AԘ@$��?� 
@��P@bq&@��wAA@}@�mA��
A�K@R�;A{
&A�'�@N�SAG_�A|A�<>        �@��kA���@{�KA�L�@jé@ƿzA�9A�gA�!r@��\A�u�>)ZAcF�?��@��tA(ՀA�?�$AŰ?@ȌY@F�,A��JA��Aj��@���@=w�?��]A���?�rgAw$B?*K?$1_@SJ�A�i�A��A@S�?i@�U�@S�uAj
�>��A�V�?H
�@qȪ?1�7AJ�@d!\?�4P=���@0�PA&�A��1A��
A�CAB��@n��@�s�@T�AaA�AH=        AV��?rI?-A�@I��@K<Y@��iA�?kA�7A��h@TAv�.@��A�7?*}@/�?�vAf�J?�GA�A��@P(LA
        !          39236: ��?��@ݻ�@'�A�&A��@��tA&1Q@��#A�Z@�koA�U�@�ۉ@�K�=���?1'A� �@MvA�JA��A���?�5r?9F&Aݤ�@��@&yn?�f A�jA��A��@e�XA��@�~$A���@�i>�}�@`
        !          39237: @ku�@KA6�@A�Q|A��qA�\@�CAX�&A�oAW��@
        !          39238: �@'�@%4qA.�@pЃA��LA��?糖@��A�?@di"A��~A�O�?�#kA-�QAl7�@W�YA�.@]kQA@&rA��@�
�@���@���@ �bA�ZA�kAi@���A��-A偃AcW A�6gA�s�@��@?�
        !          39239: '@W�A&��@�Nj@��cA�.AAg� A^�@O�@�ZZ@�sATa�@j�@�LA�dvA�A`@���@�)U?�tlA���>��A"0�@>x�>,UuA�;@��$@q�
        !          39240: A4�@Y�@�tA&��@�"�A���?Mx?MI@U�vA�NA���@�N@u�AU�;Ah�4A��{A��@�8A��
        !          39241: A�:'A��@�ŃA��jAq#�@`�MA0.+Ar�As_�@P&R@��E@�5!@Ue>Ao$�@-�%A�ٳ@���@3؁A�
        !          39242: AW(o?���@�AcA92A��A�d�@��4A��8A<<A�{ A��\A,P.@f1iAno3A��??�@;NA���A���@\��@�^AV��@�aiA�XR@c�[email protected]�@k�@��f@)�
A��FA,hA%��@��@='.A��`A�zuAm��@'�ZA�'A<��@�u�>��JA��@��qA�=A^&&A:F,@�LA_
        !          39243: dA_cAƄkA���@��:A            A���>�B,A_�A�aA�+CA
        !          39244: C]Af�AA��LAl��@s�YA�!d?m�\@wϳ@5�`A�[A.X�@=�A.�AA��MA��A���@X��@b�@�&@���@ &pAږ@�9A�3A�o/A̫�AVu!Ax
�A(�lAb�rA5��@.c�@��{@�>rA�ރAc(c@[C�@ۊRA/��?��A�1�@�ǽ?�B\A�uVA� A0t�@b��@]�?�QA�΀A���?�*�@�@�Y#AЅ@ʋm@�-%A=�AS@��A�^Ah�qA�A<^fA3��@
7A�AAn
        !          39245: ~@��z@��@�s\Aӥ@:�@hD@8z�@���@�vm@�/A��@�jA�1�@VF�@u&�@�sAX�\A6<+A�GA4�A�O*A
        !          39246: �AZ75AlitA`'HA��?h�@hՅA�{AR{�AdaKA���A�YC?�@�@p��?�b�@<V�@dB6A2#nA�       J@[�MA+�`A��@
        !          39247: �@��zA��>s�!A��      AUa@Eɍ@"oA��;A|s@�G�@��[AR�;AH�@�@A�7(A�\A�Z{A+l+@��5Af�:AS�TA�D5@Z�4A�kyA�V�A�F)A �@���@�#/A��A��@���@.ZA6G@��FA���?��A>DAT&nA=�cA?�@�u@��dA�hA��G@�A�WAU�?�jA�vYA��kA���?��?(��@ɒ|Ar�@��
        !          39248: A�F@݃�@&<�@�|dAKmA)�1@��YA��@��mA��        A�r�@�g�@נA�hAt)�@MtTA�q@�aA��oA��zA�(@@���@L�&A�w�?97A~�@3z�>��9A|�{A���A�
�@C��?��tA^�KA��X?���A�lAs
        !          39249: m@�tAmWA�9GAjB�?�2�@�
        !          39250: bA�zA�1A���A�'A��A=!uAe�KA��?y�AD��?k��?�v�@�*�@4F�@�8AzA��EA=$A+xI@�OOAT+A��)A�?@l#[A.,�@Uڛ@pr�Ao?�>�OT@_;Aa�A-�LA6�:A,�qA�h`@9_A�@�X=AF��AE�@6(�@W��@��@탅A��SA�>�@n�5AxS$@��@[iA}XA�WAC�wA��kA+@⬦@&�?�m�@�   Ac�@��NA�'A�A���?zV�@�HA“t@�ݡ?�@LAwxAqDŽ@HAYkcA��MA   f�@�� @��@b�'A��A�^�A�F4A1VAij|A�A�{;A|/@��@���?�Z=AIu�A1�A��Ay�@_b�?��@�8�@��?ؖpA$٨@�T?A�DA�¡?j�9A��,AePeA�~A�D�?]��@�3TA�OQA&|�@�n�?��@�;�@��@@RCA�M+A DA�cgA*@�:?��A��6A�
@���@s�>���@�TAo�A0=AŒ>V�@ڏKAr��Aw� @�&�@��x@vsA���@9A}��@n��@w1       AIKA��TA
        !          39251: hIA��O@%�E@�S0A�v;@ޥ�AN0'A��@�,=�5�?[�&A�.iA�C�A��*A��@I8A��YA>�A�DtAJi�@=�
A,�A/CA�>AC�A?�@���@s��@Q�nA@�#A=Aq�?���@'PAY�?�nA�*pARAS��>7)AT�@wAoA�-�AF"r?R��@��Ae�AT�A��?�8�@��A��,AM]�@P�sA��@ڲ+@R�@�V$A[ۘ?    C�@�л? �?;�&A�+�@��?��A@B_A}o�@��@Y�@hGA]�?�PeA8tA��o?�hAۦ�@�+A9A=�VAQC=?<ҋ@A5�@ñ�@�A��;@J�[@�kAТ4AT�@3��?ٙ�@bXA%)?D��?�[@�8PA�+jA���A��@�o/A8�aA��z=}�@�zAl�@     gkA�pU@z^@�$>A��UA�cA��@��2A�+�@�Aw�!Ae�MA^"AA�OeAa`aAT�@�        B@�كA�ZmAU�NA-�|@��@p�.A6uwAY�@�=nAv�AA��>!~A�A)t?��
A��@E�A0$A]�>A+��?�a�@)��?\�?��[AI�TA��`A&�WA8�@u�eA�=�@o�IAD��@���?F8A��@�t�@a�fA�U+A5�k@9�lA�t)A��6@fZ�A30/?�A
dnA��QA�iV>'�8Ap&�@!0�@�3EAA,'A�^�?60A��lA0��@���@z�l?݆�@v�?�_@��PA�$�?4�=Aޢ-AA�l~A�w�AOب@s�@7.@�XsA1JAs�$A'B�@�"�@��GA<gA�
        !          39252: �?0�A��Ae�A��?A��XA�p�@@��^A���@$�bAL.BA8GCAB�@?3A#-@��,@QU<@��@�NA��jA�p2AF~FAi*�@�+�AS߄@��vA1�/A��RA?#A1:?�S�@� �<���?è�A�2&A�n�@�j�@��=3E\@FqA?�?�uAt=�@q_@$�@��@�GA`YAJ�k@��A$��@�g<AT@W8�@P9lA9س@߄>A�&A��)A?��@
G0A�2qAֱ�?媀AjA��t@��r@,A���@uj�@�&AU3!Aغ?�+oA�R�?�FzA�@��`A��{A�ԉ@�Q�A�`AB/A��AA��#A��A�bA_�@���@���@���@���@�51A̾@�(&@�ʚ@��iAEI�A��JA9�@�YzA5�AH(|A�8�@�@�wbA�A���@U:!@�DŽA_AL��@�q;AX�V?xM�?��n@���@�fA���?�0rAk+A̦�Aq�A��A[�0A�J<@�]@�SAx�PA�A~��?$cAB�A&!�@��?Wv#@���A��?AW6A~A��oA\uMA���?�AtA�U�?;xA"�@��@ �A�7k@��KA��QA��@L�&A�@��Y?��A��@C�Y>�bA;U~@S��?�1@��+A�tA�#x@��@� *A&gA��dA��SAqk�@u&A�uA0�wA$г?���@�Z�@G��@;vcA�u�@5��@�C�@��I@3$FA}ƁAVw>�A*�@лA\"/A�??:��A�pyAp�A�Aht_@�I?�YV@m�@r�y@�JA>&@2�FA�{�@G��@\wA���Aok@ۥ�?z�?0�p@���@/�~AD?��@^�~@��@��VA
        !          39253: 19AlJ_AXD1A�TuA��A��.@RazA%�9A��`A�'OA�AH�>@:ܰ>�*�@L��@^t)A�p#AT9A%�\A�B@���A]PA        p�@KAZ�@�    A&�iAf�AAOSdAp�@��@$�A      �v@�;KA>��>�9�@�mA?�{A�*Az�AM�@�cA|�UA�g�@�
cAxA�xw?�?J}>A�AA�^?�Y@^[email protected]�!�@ߧ;@�*&A�lP@���@��A��@�fA�
"A@�FA��A��&AɆ�A�8AdpLAA�BA�V@ج�A��A^�HAr�ZA�&?8�@��h@�>A�=BA�{�@��CAY�6@[EAJ��@��zA��@;��A�\A��NAj�@9�@�[A�l�<AB&?@�PAP�?��@�:@��I>CSM@C+�@,ZA�(|?���@�GcA��@��^A�@�KjA��@j��>���A;�Ap��?�gLAH�^@��AT��@O[@.-(Ak�@{N�@���@ڬ�?&��?��@�6�>20A\�+?T�A�0A�sA�}�>�
4A��?:~`A4��@iM[@��@+�vA�
�?IAUK�@�A�p@�^�@�$A�0�>z�@'A���@��qA?H�>C��>-G�@�b?���@I�AQ�A\w5A<+A�=�AOrAT��@��@���@�5_@�
tA�1A^�@��@�t4AW�sAD6dA��@D5A���@�A�b{@���@5*HA&�AĿADTcA�VA�ٔ@K    vA��}A��@y�dA�`A�R�@��@!�%A��@�_XA�O�@�,AJ�lA��3A+�bA�(qA���@<N�A�&@p��A׵�?ZrA_RlA��A��@��'AG�@��5A�=A�&@X/�?�}A��A��@?��@�H�@��#A�A��YA/b�@N��?,�"?��@F�mAlQ6?��.@��'A��y@��A�@߬�@�UA��p@�y@݄
        !          39254: A@�?�.=A=E\A��A�\�@eAf��@!XA���@7Y�@�isA  C�@�CARߍ@��:A%<�@��CAV�@��N@��YA�9A�feA��>��^A@\�?��~@2�mAxnA@y�M@��jA>D)Aٺ.A��VA&�6A�SU@�)A��An�ARiUAy��>�IAؠ�@�N�@��?A��Aᙽ@�:A�vcAA=5A�Q=AL�Ayj(A�
AR,dA AB%�@�r.AT{A��ZA��@��&A�=�@9�@�8�@
        !          39255: ��@?S�@[L1A!Y�@�f/AAm�?�wdA0ϲ?���@�;A��AB��?��T@�N+AFo@�GA�       &A��A��zA|�@Zħ@LCAk�|A��&Aa�A�~AԵoA��KAS��@82@aA�@jS�@�GA0�*AiRAY�{A�ɲ@�V7AR�QA��@;g�@|A�>+A���A���?=�mAATAxc�@�2OA�WrA�[;A�R�@TB�?��AL�A��DA  �MA��4A4F�Ae�BA���?��dAv�@�GA��       A�!.@0^i@��@���@)ˀA��[A��yA'fZA�MA]"�@��@�$
A��8A��8@k�hA���@���?�ZYA�t�A-@�8A��@�b~@�8�A��]A��7A]�A��zA��u@�&�@iD@��>=e7�@��@���@�@3�?A0Œ?��A�M!AN�@@ՌA�S�@ٚwA�|MA��)A�n)A���>�AX0A���?t��@��@E>�@���?h�@�T     A�&�@<ZA��@.u2A4�}A�7�@6�@��~A��@���>AbA�F8A�/&AQA^��>��@��@�}kAz��@��5A�E#A�1A�;5A+F@Nt@�.A���@��q@ʪ`A�agA�bAp�SA���@KRfAǍ+@�s&A��\AN]�AB��@��A�7
A7�A��@�AT@�́A"a%A[�@��fA�v�@���?�6uAW�AݞsAw8jA�s@2��@�{lA�WQA�UAy�@�@λ5@�}{A}�AQ��@�=�?�i�@��=Am��@�'�A�.FA�8�@��A��@��PA|0*A��@�ߤ>J�@�l�@���@�&�@2`�@���@��@���>x�@V��Av��?i/AB�A��fA���@��@p�l@�gAØ_A�*�@�o�@�/yA�6QA��@�8(@ ڧ@~4q?�n�?��AA��A�]:Ah*vA�R>AS
        !          39256: @�A�yL@2��>�he@C�?μA�܂AM��?��@�|;A�s�@N��@      �@5]_A)#�@��A���@,kdAm��@���@�)2A��1A�$A�e�@�uXAk
�@:_A�=RAk�?AC�7Ac;A��@9$�Ad�@#p�@c�@<fA�mAd��>�    ,A�A�|sA*�#A��xA�5 A�V@�X@i"(@�C�A�A��FA�x@���@�kEAmBA�x�@��2@�wmAX��@LrYAA�A��tA�:�@ȣZA�Ǜ@��GA�H|A-;A�IA���@5�IA�՘@0�JA�}A�y�@�CfA�x@Bv{A���A���@�^@xCA���@��$A�'�=��6A��RAK#A�1>8��@�~�@�@AJ<3A[_�?��LA�ކ?:�W@�@�y#Aw�UA!L�@��?iA���@�ׄA<�@�_=Al�Ak\�@�$@�)D@>q�@heA�.A�zA�8@�zA��?��@?� ?�
AA��?Q�WA���@0)�@D?Az��@��A��{@06rAm�}A��@E6A��EA�<�@�fA/3A+��@���@
        !          39257: *AK�|@�y@��WA!Z�@N(AG�l@�x�@��YA�7A��A�8AA�+�A�\A��YA��/A7q�@p�AIG@a�}A
�rA���@D�1@e<
        !          39258: A}��@�XVAݹ�@��@�UA�"CA&KA�x-A �RAd�@�t�@U�A]"�@d�@J�@�/Ač>�kNA�0�@@�-@3JA!�@3�TA�~?�P�@�s$A��K?��@�$?�@�$]A�v�?��AB�@4A؅�?VKAn��?��@��@�~nA�=A���@�_A�E�Aٛ+A�4@M��@�     AQJ    @�x�@�zA��A�}AzҀAh#bA�OqA�D{A��J?�AE��@)�[>���@���?��=@�SZ?6&AI'A��@���?�BA:RA��A#TA#kfA�aAP]�AKA��A<q�?��@X�AP?w4A��@A�GA��@D�?
}�@�D�A.fkA
        !          39259: gA"a�@�"^A
j?��9>�A@��Ap~fA��SA��A�.A;^�@��@يkA�M}A>�oA���AU  AT�5@\ӈ@�J�@�+A�.�@��A:��@'�XA1�AK�AB�@WSAAv��Ac��@�vA�&A׍�Ax؆="�[@F��?|C�@Z��@�ez?V?@�s�A_Ǧ@��<@�{�@c"vA�ڑ>k�     ?&ZUA�ik@�2A�%E@�8'A��Au-A�A
��?�ׄA�/A�g3A�A-+R@~M�?@A��@_M>A��@MA:J4AZ� Aa`�A�s0@��;A��$A_Į>��A��@\�A��@hH�@֪A3�A_dPAL�0A�w�@o�<A�^AS�-A>_?A�[f@���?�>�?]��@��SAK��AE>��?BV�Ac�@�YA��7A*�?�F<A�l8Amj�@�!A�A?!+A�[uAɍ�@�P5Ay4AA}�A[�SAV?�A�YRA��?�sC@�yA��?*ۄAknA��3>��A�8A�B6A���?J�A�RA�zA��4A!A$"�@1@ ��A9�A���@��@��A2�AZ�LA�;zA�G�>��iAat�@��!?�$A�EL?�V�@�V�@�[A�9?�Y�@k�_@@xA���@J�<AV8�?�*HA$�@��@A��@͎�>�3�@�e@�?`AyTA6  
@�ޢ@ �0A��A�b?���@D^FA��<��@!SqA�OA�*>��A�e�@� @18A��lAfc�=>q_A�:@�LuA+��@3�?W~/A8(A
        !          39260: ��@���Aa       (@}��@�T�@B��@���@�wbA��?AL7UA�!{A�AfG�@S=�@�1@�mxAC�d@�VA7 @��YA�C�@��A?�ƈ@lg
        !          39261: A|@y��A�=�@��aA� fA,�p@;0&A��QAn
        !          39262: Aw�)AqoN@[�g@(+gA�G�?�X]>O�4A���@���?�TA&�MAu��@�A|AS�@�gAxSA�;�@T��@�k?5‹@.��@�lA���@���@��A��@\�m@#|AT�n?�kvAQ��AT�jAl�A���A��@0��@o+�@�/DA�H]A�A���@��@LA<iA>}J@̳F@D��@`�@�A��KA�mA��QA�xLA��U@=�@0�A|^�@�%qA+G�@#9�@3z�@��}A���@���@d�Ao�pA8�A��@<h.@���@��A�q_A��Y@S��@�=�@g�Am��A��zA�R�@�A��%A��@&�A�A'Ah��@~@+�KA*�A|�?�iA�o0Aq�Aa��@�F:AʭA1@>@�A�!aA+�v@ �
A��IA��.A�s�A��*A�@x:RAI]A�zuA�\@�ArH.AH٭@A�:Aq6?TP0A8�b@��AA��@�VQ@S9�=p+A��MA^�>�A\Aw�@1+�A�Ǧ@��mAAfAY�A��A,R/A��?P�pALG�?��!A5 H@%c6A��AĈo@D�'AgA��;AԄ@fmxA�A�!A�H�?�J�A�EAl%JAbA�,�@�:'AfF�@M�>�(Ah�GAh$�@Mx�@�h�?���@s"Au�`A��7Ap)A�R9@J�nA
��@�UA��qA�|@���A=�@!?A��@%
�?|/Amx!A�C@���@&1A�6�@�WA��6A�f@���A���@��wA~N�@��}A@sA6YxA�ی@EmZA%�WAb;BA�@&AO�CA%JA4U1AQ+AM*#A���A���@u��@���AU�VA�oKAú@'��@O=A&9Q@l(1A9��@08�A��?���@S��@���@�RA)�*@F�jA䊌@�A.�-?��/?m�zA��A�&@��\AuAA�s<?��A�/rA��:@G2|A��@
        !          39263: �.A��Ac�4AH6A�
AtbYA�T�@]�?�&]A�oA�X$A�InAѩ�A��APD@7�A'�@�0G@L�tA�fA�q�@�cA�)AM�Ax�A��?AA���@n*A弣@���@_
fA�/A,h�@G�GA%x�@�}YA��`A��D?4>VA���@��@��?&kUA*��?λ@�-A�1lA��A�N�?f�QA��P@"�RAܺ_A-B@_��@R?G�BA r�@I2\A�w�>���>(�jA{S+@
        !          39264: LUA�A��@Ǯ�@�v�@ULA(�6AF�nA�A9AqK#A6A��A"A,Ad�A        U@���>f?A��)@��@�?AG��@�}dAN�bA     $r?��1A�wA��9Azz�@Lܠ>�̈́?��@b�{A��>@�N?�wJA�A��?5��?�B�@O-AMA�YA���@;W
        !          39265: A�:�A��A�     K@R�V@�1�@R?���@�mA�C�>tA@�!!A$�@A��IAA�q@�@��?A��?|�UA���@�+@0@(A�f�A��@](�@  �p@j�uA6EA�!5@�)�?_J�?��A���@̢�>��LAyA;�bA'�JA@VA��E@�k
AhPA�:*@z�A-mLA�"�A�"$ASZA9�?��{A2:4A7        �@Dz:A�� A�F�@  �@ź�@�y�@�MHA%�_A�� A�JA���@3�[@�J@�JA��8A���@��>�ް@��9?��G@]�Al��@�s#A��dA��$A��tA�4�A��@.��@�ǽ@F�j:�PA)�A���?��AN3IA�n*?_C�?�+@ݫ@��?�h|A~u�@eVp@G�WA�'Q?SA��(Ai��?,X?9̊@z�YA&K�?Iݲ@9��?�|�@�44@쾀Ap5�@���@Ns�@U�'Aim�@�2IA�\�?`,�@H�cA�KAl�@T>A7�CAE��@O�%AjYGA��&@&�FA���@�u�A^LA�umA�-A�~A}��@�&A�=A}
AW�@YG@{3@6~�@�pA�L_@ʃA¤A�jq@���@;�xA��@1%|A OZ;�fA*�@���@�       A$2�@HҲ?�)kA���@��A��SA�A��A�i>@�RA���@�&A�$A��A̐�@'-AؓA\q�?�uA�(�?:$�?��@ɵqA�y�A��@�Ӳ@��PA�(A|�?��A�Y)A1��@�2@�T-Am�\Ao2uA�\A-u`A�&A��@|S�?1^0A=1A)@�?KA�5�A+1A�l)A9�@���@�`�?�G
        !          39266: A�dA�
�@"�qA�`|A�^5A�oA
        !          39267: ��A���@D�WA��lA��lA���@-�iA�D]@�OAq1�@��l>�@\��@Vu6@�{A��@��@�WFA�)wA�|A�w�@q��@���>�a�@VD�@��nA�C@�ž@}��@��@���@�j9A��R@V��@��_A��>�WA�ObA�S�@�/*A@Aj�A�zBA)�X?y1IAok�@K6\?���@
        !          39268: gA?;RA�LA'�@��4A��AFuA�k�@r8�@���@���@ߤ�@�A��HA,J�AΠs@�       A1�
        !          39269: A�A7�e@q��@�U#A8bA�V@��BA��3A�� @/�@P�@�ȃA(Y?�Z@�@��}A�u#A|�JA</?p�@�>?K��?�)^Am�@
        !          39270: ��@L�bA�CA��A>��@�V>G)2AL�AƸ
Af�,@��<AWj�?>�@�
d@ȮjA�l#A>��A6��@&�6A�K'A�r&@��A�ӕ@�y�@�)�?(I"A���@W��@�LeA�=�@s6Aa�pA�}A=tA�|@�a�?M�?��HA        �Ao�dA;$A3[U@�L�@� EA�u3@@*�@ЫAZ�AV��?�U�@
        !          39271: ~rA*A6�lA�k@���@�R�@@�@��,@'��@
        !          39272: �cA�1�?�{A��@��A�rA�}A��@��A-/FA��@���A&A]SwA�Z�?$�sA@:�?�@���@8A��@��cACnhA�i�@���?�@խ�AS�AA}9|A
�9@b��>$9?��@g7A���@�Ε?�ە@1uFA�*�?�jA��UA�L�@��?m�mA��GA��A��WAʝ�@Z�D@&KlAn�A��NAp�8A�H@        B�@@ێ?UqAA�]A�l@H��@b-�@x�RAWDjA{RzA~�PA�]�A#��@�UpA��?B�@i�*A s?A��o@�>A{AF�h@�yS@�A��Aν-A�}:@I�@ESwA�A-1�@��yA
��A��~A�F�A�A~�#A���@��aA�-A�5bA�@��@�8A�MTA�g�?!;>AeHUA���A3a�@�R8A�A�>y"&?ZgA�`AگoA^�A��!A��kA�&1A�jA`tGA½]A���A�r<AWY,Az�[AR�@A!UA��TA�
�@��A�D=AM��@��6A*6�@��A@}�@k�TA�\A}{|A��&A'�@cAl�@�c�>$�x@���>
@��@�`A��@%��A�+fA�>Y%�?�}A�<!AY��@�%@@�H�?d3�@_
�@r�rA�x\A��PA�ځA$p,Aɻ�>�A�BaA1P8A�;�@��OA*�+@��*A0P~A٥eA�
@�4HA^zGA}xA@�/VA>W~A&8�@��-A]��?�n�?�38A�-Aܺ�A�}A@�D?<x�?"�RA�(Au}uAV�@�A�@swA�[+?��@|�\A� �@���@��iA�[MA�yA��I@�́A���@5'As��=3W2A�&>(-Ak��@m�?��CAa&\A��A9|@��!A�;@��@� U@َ]A��@��Az��AJ��@s@A�A�{EA��@-�[A@rAA
)�@��@�X�A�T�@�#ZA�W�@x�fA�e�@_C�@��I@�bA��#?|�&?��A@�z�Ag�FA8aA�xBA�A�dU@%V�?tظ@�lA��$At��?�xAzv|@�A��0@�N�@�,AB��@dd(A�0�@�ׁA���?SH�?is-@t��@�A��JA��?Ah�@L��@�&JA��@�9pA�3:Ar]AG�@�m�@���?a�F@r�QA��yAe�@�OAL
        !          39273: y=̹@��qA
�\A�-�@z��?��5A�γ@��EA�_!A�bA��> �;>��1A[wY@�{KAֲ
@�3A�9v@�
        !          39274: @��@�!�@$�~Ao<jA!</A�5�@H��@Ū?��@��c@^CA�]@W;A��A��>�8A�aH@,�@��@��6@
        !          39275: @1>cU>@��?!F�@oSAuqdA��R@X�4?��A-oAA��@�Q*AKrWA�R�@�zA3p�=f0-A��A��7@��A��qA@��@���@D�+Aйx?���@]�@9|<A<�/A�� A�A�$�@}�?ow<A�e�@��A��K@W(3A�@�1�@�=�@�w�@XENA��iAh�*An�A���A�u�?��AA�Ac��AJ�A�@�>��u@�:H@l
A@6�@)c�@���@��!A��qAQ�@fu>AA��@���@�<Aѹ�@�bj@��'@`&A�c/A�0@�٘@۲�?o�YA��A�&|A�\c@���@$��@���?��^@`}�@wkA��tA�SA��@AB[�=��SAL�kAM�@4�@S��?�vA�$A�9AHuAЍ�@�/jA��@)1S@�sIA�ڙ@���@�@�M$A3f�@�`@i�R@
�PA�wx@؂@��@d<A��+AZ|�@�u�@`�wA�A8�@A���@�Cy@M�xA��@�ve@��?Aωq@�7�?�5�@+�S@'E_AZ��@h޽>g�EA�1eA�&A��
A�x�@�]-A�&A\�kA�aA@B�?�WuA��'A٫�A��oA#�@Iʒ@:W9@�`@��pA'�-@,�A^�<Adx@�'�?��+A�i&A���@�   !A�>�Sn@�1@��AlvfA,Y�@?�@mm�@3/�A�SXA2߉@���AL}�@�H|A�bTA]�0A��@=A�CA�5A=�N>'��@�ނ@Nc�A�w�@�3A��fA�aA~sAq�AT�@��@��A���?��@) SA,��@|V�@,L"AX�SA��@���@Mצ@z�?]�|AR~�@�AVl,A�|�@ͥ@l?@�!A綄Ah�@i0�?f�@�%�@p3�?N�)Ax��@��>p"A���?N�`A,�?��@��Y@/�9AP��@x�A2oAoAb�@-oAϮ.AO'A��@���@5�@�b/A�a�Ayp?@_�[email protected]&@�`A��A�0`A��`A�4%AA���@��@��a@e6ASq�@�AN�dAw�tA�lA�.AN�%@�a�@Jn@�00@@��@�9A�G�@Z�;?��OA���@-*�>��r@��@�@{A4�A�pA���?��I?��5A8��@��AA�CWAA�3A&O@V9_A���@YAO]A�9�A���?_��@��A�Y)A&�@˯wA��@���@)B�@4j�?�
        !          39276: Av��@���@�i�@-�HA�e�@]�UA�cAD�A�L1A\��@f��A�&�@��4A�&@@�S�@A�YA�Z?��#A\�yA��bA��~A��A��?Ѽk@��@��@K�@�a<�CAg��?*�qA�}A,zA)��>�È@A>?A�m�@6�fA�D�A@�KA�)A�X�A.@A�6�@�i�@��nAA�-?��XA?�@��A�;A�hA6+A��!A�vA�07A@C`@3�KAAZaA�ArW�=��@|��?U�&A?@      �3A �8A��@0��?�pA�-�A{6�@�<�@s
        !          39277: mAhD�>
x�@�
RAєu@@�pAbiA�sA ~r@�u,APV�A�)&A� YA��@��6A��AZ�o?}Ѥ@��@�_�A��@`J!Aҹ@�uAV�AxI�@7�nAj*Aݽc@�!�?-�@A�RA�P@2�GA�W@I,�?W�3A݇e?�.-A6�eAd�qA��A.ƌ?��?�r�@�\~A�x�?)8A��>A���@#��?{G|@��A�Ъ@�$?@;7SA ;~A�6`AO�0A�>�VXA���@�cA��@=�-AE�AI��@�?   A���@A�gNAe�:@:��?ϕ�@��=A��;A�BA�unAJ"A�lzAmh�@�@�_�@�>�@��@�kK?#_�A��@�j�<&wA;�UA��1A��@V��@���@��@�S3A|)0A���@�7EARCAd
A�z     As�/A��@q�@M1A�01AO�q>��?��@�Q@3��@|0
@LO�?*`�?���@�K�?e�@7��@���?�RA�Q�A�&�@�� A���@:�^A��NA�'MA��oA�A��vA�5�A7�`A���?fD�@|`DA���@F��?�ȼ@��k?-<A�-]Ap�N@5�VA��:A�+A��uA�ѱ@���A�҄A�R5A�׫?L�YA[@��PA��@��S@�A@�?��gA7�"?Ͽ@&A�AfW�?ܤQA��BAߦCA��@�SAP�VA��;A��XAf��@U��?Km[A��>��A�RA��KAd��@X�9An�A�eKAI�mA�ҩ?ScA$iWA>�mA'�A�@�BG@1��@}�M@�d�@t2aA6J.A���@B�8A��#A�P�@cjASAC�@��@Px
        !          39278: >���@Z�EA�i�@/;Acޠ@�y@�$n?�
        !          39279: @}�IA�QA��>@ȼ3AG9A1A�K8A��A��=A��;A
        !          39280: �@�3�@`�@�[%AQ)A�zA��c@as�@)�6AE��@��IA�A�@w��@�}�@���?�OY@�]Ac%P>�A]A�&n@4�IARcA���@��3A�O�@�P�@J�\A�uA��A��CAc�B@�{�@D�@��A�+/A�JA�AT|FA�*A��A�� AR\,Ay�TA�Ш?.��@5!YA��@N��>���@ڏA�Ad�?'"&A(e�Agf-A��I@U��>T߱@�s(A��@�]Aߧ�@�"�@_w@���@^�>@&�Au�AH0IAŽ*A
        !          39281: $�@��A��Q>�QIAL#As�8APQA�}@
        !          39282: �]A�AL�FA��|A2��@�u�@q��@p�A=c!@Q6@��@<��@*�@���@���@�
AA��@A�Av�@|��@�J
A�pAu�A�
        !          39283: |@v�@C�"ANA�w@a��?�r�?�;A�dA�n@�M@E�>A.N{AΚ�@�<aA�ޘ@azA�CA5Ɇ?iL�?!\TA�RA}%=A��@�w�@�.nA�?�=?JA�A�JA?*|�@��NA��QA.r�A��dA@6�?a�   A]{HA�KAD�A��y?��A��@/ݑ?�zEAw�A�`IA�A���@!�pA"|=?<2�?o9�@��9Az;�@B�3?�ڪ@ԏ&AeG?��?\`A��#At�+A[=A�G�@�2AK�@�Nz?�&?o[P@���@��{A�c?a�.A1iA�}A��@
��@�F@��7AH�>A��@>�@�N�@��A��;A��AA��>`(A2��@�<i@��JA��9A{A�Lz?.�@��?-Y�@x�A�]cA�?-@��<AI�?X�SA�@�|f@�A�թ@kp`;�6�@�jHA���@���@ #A?�)A�n$A8E�@xM@�0�@��A�?AA(W�>��gA��A-/ A?p
A�m�?sARw�@�n�@�*�A\WA@$A1�?���@Z?OA�VOA��X?��~@J�XA^�D?U*RA��@��`AL�&A��OA~QAs�XA�VAG�cA\ș@�A��dAT_A�n�A��A�+@8�@�ҽ@c�ZA���@�]A�ZA�c�@��@�|{@��A‚AZ�@�ܥ@9  z?t�A�@k�=A�!pA{��@�Y[Aڶ�@vj�@<�@�z�@?)A���@��UA�hA��G@0�FA�cP@�e+@��=�p�@���>�G@/� AX��@_
�@&��?��A$��@"��@��lA��CA߹�?J��@}c�@��zA��EAǭ#A7�8A-!�@C�3Acm@@}$?�R?F�"A{�[A�(]A>*8A�U�@�ɀA\�"@=eZA��8A��>Q4B@�^ AZ��A@�?��;@t�AfhAd�(A\_AY�@��A��}A�H�@�]�Aku#A���@�}@y��@�LGA�w�?w@�¼@C�iAO87A��D@�~0A
V]A��tA�fI@L*�@W��@,K�@�!?A�&=�X:AN�A�!{@�EAU=�9m@���?���@��X?��?A�}Ap�@�vA��@
��@���@d�A�]qA�m-AA�?
@�/�={&&AL&�?��GA�9�A(�6@�A*�UA���@jKA��@�kZ@i�"AJe�A]V�A�T@h��@m�?[�rA�v�@S��?fϟ@��Aj|BA��@���@�1?ؠnA��;@n��@'kA�M@��A��@L��@,&A$`A�JAK�0AT�hAo��@��@�ш?c�@���@��!@}]AXsxAݩ_A��@A�
        !          39284: +A�mPATWA@XIA�5AO�
@K��@�w�@�A�@�c�>q�A���A[��@��H>�[A��[Aے�@��A_zdA�[Ae"lA�&?��
AI�:A/�JA��A�5@�9�@Ta�@�$�?T��?e�AP�kA��@U�@��mA6f)A�$�@ڞ8Am�r@n��@]�@īWA�A&I0A��A3X�@S
A�
        !          39285: pAI��@�q@x�@��A��hA-cA4�'Au�<A���@��+As"aAN&�@H A_��@P��@Q��@J}@�;:A�Z�?��>A_�&A��@/�?y qAM#A�@X
        !          39286: @t�j?�)A���>Z+A^�xA%�@X��@��ZAwx*Ae�A�XA���@��A��>A��@���A�yA#�sA��.?$�tA�a|Ae�$A�>L2A��AӼ@@T��?��<@��@x�nA�&�?���@$֭@��@ű�@�!A�&OA�+nAO@�JA��eA�e@�Ċ?��rA�qA�mSA��A*d�A���@%(t@�~�@�h_@�lxAc"MA�qA[TA���?��@50PA���@�/�?9@�FAu'
        !          39287: A}��@�A,K8@�#&@@�tA,?A���@�[A��?P"A?H@T�_A�xA�deA��eAv�AA��Aj�PAD��@!�'Aҏ}@���@�f@y/�@؀?�kA�V@�O�@��A<i7@��~@NaA�pAW��?��@���?�xqA8��@��v@���>Z/@��9A6�A��AɆ>e�@�A�IA�aAԹ!@]K9A\��?�@�A��Aߡ�?�]A��lA�t=@0�@�R@�HA�6�@��7AX8A�
        !          39288: �@�e|A:�?$`�@��BA�/;AG�@G��@_4A��RAv�@A��A,B�@�b�@
��@{�tA��QA     qAJ�+A'�VAx�,@�C�@��SA�EA��LA�3�@�R@s�>Ab);A�h
A:�A1(oAY��@<7,@     ��=�@<�,A�]iA��?���@K��@y��?'eAboA�"�@���@ٴF@��EA#�@A5��@�*�@�/iA)�bA��@n=A��7AY�}A/�jA~�@`O=A�P�@�6�@AA�<@�QAe�?��@�܌?u�o@��rA� A���@E�A�T�@�$!AD�/A�hmA2<A$3�?n��Aw��@[�Q@�J�@�B_AȫA�6wA<�HA��~@P��@?R�@�oA��AHٶ@�(QAV#A�`�@�;CA�9ADyz?Ѩ[A�0A�.\A
        !          39289: !@��A�KA�doAQ�CA�AO�@��-@��AO�@�uXA1�@k�Aa��?q��@��{@��OAbgWA4}�@�8~A���?a�Aә"A[��?W
f?T�xA��U@Ҧ@jR<@���=��@?
y@��TA�]�@�\A�@���@F��@��&Ah*�?)�AQNMA��A0��A�;&A=VxACA��LA��?R�@czA+�@$Y�?P&�?TbAJ��AڗA2�TAQ4�?�A?aiA�[�Aɠb@��=A=sA A� �@�+v@q"%? l
@��EA���@�fA� �@;G�@��9?�o�@�T@�2AA+9@y\pA�<�@t!\@\�0A�%A/3DA
        !          39290: �?���@��-A��3@���@��Az�A2]�@'�uA�Ψ@�R�@-Z5AK_"Ab{uA/{A)KHA7.�@'S�@#�AA�N-A4�w@w��@$�t@�qnA�hA�deA�o�?�&A��>A�IA�>Aqñ@�muA�#�@�A���@QD�@RyA:�MAfpAsV@3�}AT�@�uA���@6A�aAU�@���@�@L3dA��@���@��?�LA��?��A�V�A�([A#��@%�q@�>p�2A9�A<�@�/����9�h���m
:�������9�|�8�:H��:)�u9��9��z���'9c��9�O'7@������&Ƶ���e�3(�V��9�J�7�ҹ��T:�#�9�%Ϲ6
:c8�9�̱����:8��9#S����������ɊJ:�xm:͔I���;Dv�����:�p��P�U:�R:;��:z��AI9$p��I����ca��ow8j�⹚\�:]����   ���ù�1���5!9O��8Q�^9�n�8
        !          39291: �9��H���E۟�/��8Dg��ڋ:�9��!9�r9������ú�)7Q�������I���f����#9�':s��9f����8ԓԹZ�>%��$x�:&Q��*�:z����9�*;�'��Y:�r����N:�~�:�����8�)�9tͷ:9:���W1+�`a3:�,:#�e��w^8ga9x�p:��8��9���9$w�9ظ':"1Q9 �ӹ��T�9�Q9?M�ױ:��<7S296�)8)\<��~�s*:=X�9���9\�s9��9(B8��/��:�y̹[N�pj���i�:�P:4�l:��:�q5����<����%�88������-�)U�l�0:��R:���9�N�2X8:��X9��l���S;�q#�G���~O:1 Թw�9���v�<�)�
���6D7\�8X� :�7:?wo��);"�9��x���i:o����q𹦌Y8vI�
"�8#[��ɗ�94N   �XI�9���:�c�:�W�9��=:�6{��o88>��F��9;*�X:bj.9�d�9y
        !          39292: Q�s�9�&��ڡ�9.�o:��/:R�2���f��%B�
!N��$_:ߐ��OÐ9���`���s�(�\�6�W��   �ƍ��М�:�Od���74��Ÿ�9�S5�I��8�8���:�.ùU8:B��:R��I��7 &�9Wy�3B/:�7j�!"u�
        !          39293: �9�0-9h�ݺG
        !          39294: ������g̹w߆:�\9©�9��~9���9�Z�m|;�i�X:�]���;z�bW2:�̓�|�:�:����#)9.꺻��9`�   9��V���9��9V�u8���N�8� -�)��c9��Ч�����9�Fm9K!O:H�m:�犹�vɹ':Qtݹ8���IT�9B&,�f��9�m;�⍹���8�e;��׹CM�{s'���8>3̹l���]VǺ�`����;YA�:NX8h6"�[��:�|��n���󰸠��{�:ig�9�1Y:������G�v9�[9{QC�
        !          39295: �"����cd��a7���;��7:}��::�w9��ҹ,�<�.�9�;/9B�9�_�\n���n��e�`9���9M�˹
�k:��:���P���^T�����=&������>�L�����p�z���^:���6�+9��j9�C��ֺeW9�*u���1:2>��z�219�c�9W�����/�#��:���:�������9��9��M:�h𸼳���$�L��9@�:$�F:�r�9��Ÿ���o���x�������W9g�S8Z-9��3��t8�=I9s��:k:;��9    ��9y�/�.o9��#:(j��ß:�
        !          39296: F8���'�:��ڹo�L8�g�:?�&:±?:X��:     ��Ϋ7��x8�f�9�����`����9��E�D:J�'�
        !          39297: 6&�y���~G+9B:�;�9v墨�       �:Q7�80�:�>����o���i:G9�*U9��5:�ac:����չ��v��U�K��:����&�L�P�P:��ј�9q���KS���9��q��eY:��*���9�?ʹ*��8�:��@��+W9����y8�B��L"9ݤ�9�e�&�e:�r�Cv'87"�7��ݺ^;��B2�9#I9�$�9&9^�O([�q��:46�9�     i��#(9�U�9�n�;�A9:m9z,�9�     �8��ݹǮe:�ݡ��S���K��h�H�P8f�D:r���|E9�M���s��>a�8�<:�=):�>�*'���L:���:�+q�9�w9������7�;�9�Lไ̕��>b�����Vϴ9����uL�D�ն���:L��9�y�9      ��:�)̷��q�^q*��6غ;ܙ66��:;��9�'�8ݙ7��Ǹq��8���8q�:�_�9X7�9���9SF緰�
        !          39298: ��h�:��5:�2;Y_:��,���#9T,d�d�;�3�
        !          39299: 9b7�ć�:��n��4�:➛9�/3:&�9*RV�g���o��85�����~92�)�@2��i�j8�6����:2�D:�M�`l�����~����Dٷ�k�9��9�2����`�A��9(����
        !          39300: ����&�':���9&�&��F񹃬���7ڪ%:���9�I:]�&;�T
        !          39301: ;T�5:.,�:_���|��M�8&���6A�v��}��+�Z:�3�9i庛�u:�{�4�38HnW�若:Ųn9TD�8��]9]M��k:At�%:��^9�&!;�๹�:�rX8�^M;��g�F�B:.�R9�s�9�9T�j�Ϲ]�u�cWc93�9L�2�}���hZ��t@:K���8���e�4�~\|:�_��f�:ZK͹z���M�8���T���ŗ�9��3����9x?�92��Ḯ9���9X10:�8��$m:/��:�l$��>�9�s�9��z96h@�L�88=�91E�|�h:���::�/��i�9��;�`���:dNx9Wx��z�:T_f�S�����s2���m�'��8�b�ߛ~��W��x��d�z�(���;�仹��n�f9՜:;"c�O�V�7�Z9�˹_�        8�z[97w%��
:.�:�\����~�\���
        !          39302: 0�d�>:B�9�3���ʇ:=&3���9�k�8B&$�+th�>��:t5�l�9���s:�d���C:yȸ�m��09�����聹�w�����$B��)!9ڷ�q9�^p�u�e���%�.�麔�O�=�h:wTo8
        !          39303: �8��:@K�z�:E���7׹2��f7���z:+2��Ľ��}���B�9�s;9�":Q�O:4w]9!�_�p��9��&�
        !          39304: ��P\���s�����_x9:7���څ9Y���`���  ���������:L:RY��z':&������|&9�z�8��8:=���%󹹩�:�z$:O�:B��       3��ґ^8��1����9O�8�q:dI��oh�񢹞
2:���9���7��8ʺy�U�:�=N9�F��|9Ip�9�7K�CO�m�9�D컹J���~ƹQE!:�H����9�Q��6�8�҉��    ����;ǽ��0l9�Pf�`��:��ȹ^�&<�U:G��!�8��#����9s�z�s��8��p:���9y�����9�Ѻ�a�8�̐:�M�9�{�9�9�D'#:��,�M�h9�K9� �9��E�&�����4�
^T�A������
;G� ��:��99���f�:z���G�ɹ�#r:�˸Y�����.1;�6�
        !          39305: 8��/���&;p�F9�3�9�K{����������Թ'o�s}W:�E�9�]b:l���M�:my    8������Vg���/;}��:L�V�&�F�m:�Z���b�\     �N����'�܅Y�^��9.R9w�������9����9�
[8c&�:�*9x$�9�+{:��-9rw�9R�#:\��$�8:�9�h�8_�R:=���
        !          39306: )d���9E�"9��s;Y�j;���C8o�8����E8�:V:ԡE�/����Ÿ��:��K�f69.m��'���|�:��o9{?���'��:K����ݷ'�9��-:U(g9YȎ8�Fm9̙c9��G�G(#���9�#��e��S������xB��3���@�7�X�̙�9�@�<�?:�r��ω8K��M��9<)
        !          39307: �ι���:�&a���J�-8:���9&�:�E�8O�e9G�o:��:mZ:�    ��w�7������,�L)�8�%�8n��X�9@�l��{4��J4:��Q9T�b�������87����2:��9v]K��s��Mu9��G;xܷ:8���j9!3r��:��u�1�vH����ʳ뺇�89d>�9��չ���:�s�9�V[9B���S�9�T7:Rϵ:�˹�D:X��8l���\Uw:��D:w��:�,�9����0':D�7��㹓з%�s�"C�:C�:if_��y�9�����8�֗:��7V�::����G8:��:��9)I:�:]!S����88�>     9༔;�[:�����Y�:#��9`�7F,<:iw:97�9B�3���-�عׇ�.�:�����9�9DS�98�:;�w9�;$:x�z���Q�]B�:��9R�:&FH:�H9�Z��{p9M�_��e��_�9f�O:�88;��8=  ��}��<�^:��:�\8����;���A��{�@�2#:K|b9�:D[&9�=|:���9+�¹%�˺6��:|t��l��9��"�]�����9��Ϧ�9AՅ��}�8L��9잦8�����N
        !          39308: :�z�9\�ǹ�^k9�s[:�98����!���,w��68��L�7��I���9�|ҹ4'�9���9�<�89�ǹG[պq�aOP���ȸ��;izZ:�xd:>i6��O`��ޅ9LBk:^�O:�Z9��9�;:Ѳ7㸎����9����:9�8:[l
        !          39309: ���9L����\�n��9,2���&���A;�@o:��k��M:�|4:j!X�Zm*:e8�9(�X9�;�99�����9��:?����ɪ:_��8o�:��7��%:��J��Ng7� ���k�<):&��:��G��:":*< 8eW)9���-:��?���ݹ}7!���L�?����Bں�Y�9      ��9�8����Ѻ�9d(
        !          39310: ��9�ua�o�9�[S��Yv:0��8��c���:TD�7s6۹���,ވ����:_�¹Yx��{�ǹ�j�9:����9`Q76��8�Xp:��H�j�|�P�&:\u"�:=.�j�y��ȭ:H'9�O�9��ǹ�"��Z.8ʃ��)8":�̱9�^�2Z�9�5��^Un:PP9<��:@�,��&�O�8L�˸(�8�X������o3�=����5�����T�:-�c9�m������}�HIa;���9:|�9Bչ#n
        !          39311: :�Z:RG9�Ӫ:��2�     �7;Q/:7Ҝ���'�;7�vK�Em�ޱt�����\�:N���n��|c�T�h����D���9lz��(E�:��&���1��n�j���9A͹u��9��� ����9�q�RJ�9쾲�I�O�1�9(���y"�]f�H:�9��`�j�9h�:�ò�M��8��¸�������9Z�:z7����&��9�ж�.V����93�b9j����9Z�:��e:�����a:>�:@�M:夹�:�O    ��h�*�Z:bE_9ggA:��*:��7g���p���P�92�����{��9�k�8�RZ���:1�Ҹn&��y������:Bp�7O�ιE����5�=��A�:c��W7*9�ۺk��8�5�9���9Hp��"�q�m��8�[�9�v�9�      h���)�jAH��"�9-��7Or�����`=湀ɵ7�4I��?:%�*:Q���e5���2��dǹ�T��.8~��l]��]9����):[�-:���,ܸ�2g9����
        !          39312: L:l?�:ɣ9^EF9~y�9Yi9ʕ]9fc�:Q���9��9�Һ<>�����_���yq9ǵS�P�ɹgI&:��9~>����7VW85��9dG�9:��7JƷ��a� 
���L�9        �����:`����[��
        !          39313: 8�Ł���<�B��9�MO:d��8;A�:��L]�9iqзڟ�8����J�9}阺�"�9���9T��9���9�ݹ7�%���9�jt�&�?��E   ��5��hs�xhf:ܵc��)�9���:r�~9h
        !          39314: �[�F:e:�9�օ�8}���8��
        !          39315: �D�"w:!Z���й.ݩ9؃���h�:BJ̸gl�9Ԡ�9M�������(�8:���9�չ�!�:(`v�D�p؏�\�,� R_���̹E�q9.a9���;��%�~��'��7�4:,�g���9] ҹ�j09�IZ:�$/:ꕦ��
        !          39316: ��({�=V�:��z�\8��9��79@6&���5*Ϻ������:��ҹ~�T>��
        !          39317: <ڹ��"���:�`�7;D�9F��9A�+�E��]89]���Uۺe�;,�+:V��C��9�ڹ�B!��9+�D:й������g���º�W2:�H�Gܝ��&��P���#3�7   0��lr:,�N:��ɹ9P���9]�:T��p^_:��L:�"��,�:b9��&���&ĻZ�蹪G�9�\9&���%�L��F�9�(�;���-9��4���;4L߹'#�8�ֻ���׹��8oF���=:��:&VB�&LR9���8��:�k���.9�<�9��l���:e�;,��P�_�ہ�9@1.;~����:3�����8sė8�f�&�9%�lN���=��0��9�?8���Y'x9�2�����<�9�p�:[J�#]�_^�9��ls��]68X�÷m:����I���ٺ��9�}��S29�9�xR�7��v-�ǡ��4�:��:@ڼ9\��R���H�˽�7o���/':��:aa�7t!�9J�5:J`����#.�.Lιjfƹ�D���O:ş�:SJh��@�8u��9 T�7��y9�4�.��9��m:����?̇9�:���8�):g�ӹ��>���9p/�������)��PD�8��(���+���\�:?,:"�-�Q9w���:�9���&�:���O�:`i:�af9x�9��8Ǖ��ୃ�DX������9:0ޒ:�
׹���8�ʞ8�0:LX9TL��>i:�/:�s:�+l�~f�8jՈ���U��O���[8cйQZ:b�:910::��Q��M͹��@:E     �8hE:�p�9C@�:�bE9�j�;2쟸�3�8������~�Z�ZP·5����6��� ��9Nz�9�:��A˸I
        !          39318: ���
�9�=#:v�*���U��]-9ZCo����8)��7�W�������D��2:lչ:�7O;�]T:�:믲�h�o� (&�ᱺ��m��[�~���z9
�.9�@�9��9�ր9�e��뼺!E&9�4P�r�8�&�:�8�����9rz 9˓9?�&9��D���+:�����>����5:0��:�%�8�_:Omպ�(��92�f;Y�?��A�݋�����8�Cb���K:�T���B�9I��9�2��1�8T�q9�۩9�Ӿ�O1�@%�;˂::HR�:��T����O96�:Ǫ8:Y1�gO%�_N~���8��ʱĹ��:ت
:�x8��       �X���o:J��:}��9�o�Ј/9(����'��~�� �ԺU���9eW��wa:���8�@G�=�9-3Ӻ��O�p��C��9\���/ص��9�!*:&췸{�f��x�:eC:�%:��x97J�9H�9�����DŽ9�u
        !          39319: :7�,:���9��e�F~P9©:>'8���:�V�93�V�!�˹(��7�����9�i�D�%��9�8�4i9����h3        ;�j̹����J=�p`n��7:�S���':'�͑7
���] �8���9j�|�W':9?9:��:�9��g���9mr:��9M�����������F�8�8��`9Uƹc�y9�q���h/9�L:{���)�F9�
 �E�غ�k:i�9<s�9B?&:�Dx9�lɹO�r:��"��3��Xú8�b2�G+�߸:   
        !          39320: �9+�e:L�v:]��$�9O)��x�0:�{�:�I-9�+V��9����9:��:u�;+G':�o:��:{]��:SKR�����7�6��d�a:^�9�O��3 8��':ÙD7����b%���;9���0p:@]`���z�J����9�J2�x�8�ˁ�DoK9p:����<#ܹ�N`�������J���:��̹k��9��9�Q:4߷V��9Qȝ�����A۹�]�9ϒ��?�9Яb:�:�   �e��9�¸�;�J!9���L:�������й�:`�9o-���#R�+O��<~;�^��"�eĒ���~�:�1+���ºt�O:�_:���(��9Xҷ�}�:�a�9�w�9H�7f�;�?{q8�^�8L"r���(:8j:�D�
        !          39321: 1����ַ�Ӟ7�lo�S!�(�۹�x��=������9*cX��,{��ol:����$�9�w�(��8��6��r�:�R�8�ÿ�=I꺝EY:d�9��j:8������9�D��$"�ֹ乶��85��:#��T:A�19�gI9�Ӂ�+�\:�,s�d�i:�b�&�(:�L���:�N�1E�9wDa9b��:A��9|B}�yl  : 0q�6ݜ��;�G39��:(&����]���9{������y%:t��9A&�JK:,Q>�נ':�]��#�9�Bg�������^��J���59e,��s��q<��D�I�����V���%"�s�?8�Ca8�3�d"~�`��;<a�9~��7%��9����Zٸ��19g�m�0��ǔ79ĵ�:��,�g��9�S9�+�9�B�9�6~�DN�9��s8�ql�ǩT:�q��ha:�]g��wZ�<�<:��1:W�9�?���3�!�������=d�}�:�O;�z:��(:V�J:   ̤�!ۯ:.���
        !          39322: �:��9�g:,qB�(�ֹ�׳�a#9Q}y9���Ⅳ:^�.9����}D�8��,�/&n�Lk����:F{ƹ�l$9��93�}�P���?:��9�*;�k��AU���b:,�ӹ�d��*�@�Ϥ9�}
        !          39323: �yx�k8&:��J��t�9k����we����9�w�:ݝɹAv�9)���$E�:�&:#P��l9o���ø:ۯ���'���97Ͽ����9��4:���QF9E�:#Jp���:}�8A1:��o:\��9
eл�9s���f�j������y�(yE�v��8��:|�9�pq��0�O�]9yp�9\,�9�;&�-:U��9Oo�:V&�F�ɹ���:\��9�G�CA69(�;��m:��8iͺ.╸{#�:�������:�@���W9�S:��7�:Bֵ��‰:*���c�9�c�|�:/����^��ⅹ�n��1��(�1��R�:�:&
        !          39324: :���?ӹ�����8^�\겹�q�)��9����5�Ɯ���}�F�`��l�9�Q�8P\��hY5�~���:`�O8�Z&�w:;,��9Hr�8��8׃���;9����C���8\Ӓ;���rH��ׂ:�����ڧ�k�t81��9��8�FԹ��82=���7�j����\���P:բ3;��;��T��v�x8����v9Xx����09��.9�5�L�*���-�mw��F(���V9,{��T�:4񡸈���o�9�,��9�4:#?G9���8/x�7"����j����޺�D:�*S�֚�:�*��
�>��K�@:���9�@帯�o:j�E9�����3�S��9��k9�:��$:�qE���'>;�:�9G?f� ɫ:�V������-��oo:��.8�Ɋ9�~�7���5�9tо��/���Ժ�T<�5l�:��:�`�7�\��9-�9&p;�j���x�q�<�sQ���������<j9�A.�YM:Xv1�{�L��ϧ�
        !          39325: f�';&��+�8?˹J{�s?��[�p�T�/�:M��7��97�F8��:��:V�{:��9˰�9�G_9*��9�*�H�9|A��-g9�����i9@u���V:��1�G�8�|�9�J�����mԹ��E:қ�:7�¸7)���2����8�:s�t8�)����9����ϛ:ӫ:�b�7N
        !          39326: ߸&(�9�U�9�!ܹ�s����9/�6~8�B?����9LbкQ�*9��!�TH,:�ѝ7�/88��#9_������7�ӊ��w1��n�9)��8���8�i;:��c�a�o���
        !          39327: �D���}7d:��X��s�(�����R����9"�9ˆF8�*�8+\:/�e�`���0�i:"E����7�^��L_@9
        !          39328: �<���U8�3�l�:��];sE:��A:{�9Ҿz:���g�Y�P��,9�.�8"D��a�8o|�9&�;���!�:�[�#f#9���9wC;s��7Fa�gY�9|���Vg_��v�8o���������8(�9��w8pR����C;4ҡ:������9>�9/�:?CK���9��%:�B��^P�ω�9͏�:hw���-9��*��m��R�9<�9�l�9-,:w���<�(:u51:&���:1�9�2;h�:�e
7���9zD��|��$+��S8Fu-:x� :�/:ݑr��\:?;���:���8j�:�:�:l.��K�i��h;M:���?�4����9���EX8b~
8��7����0�D9汹a���#��tU�8�ꏸ��K�\C?9��|9��ù�w�9����;�>��u:�9��%���Å&��K9�K��tѸ�!M��h��t3:��:�_9��{:;�I9���ɤ�l����9s��9��8>8��չ;[�������:d1��TJ��2�#^�9]ؘ9�ݡ9����DJ:�K?:ؖ9�O:R"A�SY9��>:�B:J[�9[ =:�O!9w����鷃Ȍ�5w:�i���� 9t���Q�S�1�&�5�@:U�}8���8�zԹ�z�9GxغS��9�:����\;��y�'
�?99�7���%:�MP��u��U�
H
:>㹠��9V�9�I7�b:R0�9AX:�
�9e�E��ݸ�
        !          39329: g:-NM:�����
        !          39330: �:X��X��:�2��g�8L�e�"�U9ޯ�9�?�:!���l�����{8��T��9����6O9c�a:s=ѹ������*�9q�����B�K��<bl:ӫ*��t��6?;�t9��6ȹ��9�$:R�:Y�(����_����������'иb�:�r9��:z�(7     �8`x�:�ع觮�?��)�8`Q����9�����v�:}I�=76����:�[�b%���w�����6�u���J�{�=8�sW8��8�z�8Iu�A"9|�9��::*��:o$��H�9��z��A�8�w�9w�)�I��غ�|_9����F/;��^�7        ���@:�{b�To@:R���%�9yP4������09��J7�׺A*8�H9� �O�t:ؿ���F_;�-�����ܒ�3�º���wP����7z�κ���ƇA��+ʺ�h鹉v�0[η������/o/�A�9#�f:)�9�T:|C����<9������:�k]�I1�9_��m|����:Fq$���L�A����h��^Q:'�:�p/�j��:��q9p����VV����9I�:&���P9�9 ��:-`��(NC:���:�.�:N�;�Ô���:Y��9��:��_��zW��%
        !          39331: 98�9U_����x.6�H�!���'��(:��8�Z:\���]�r:�w���xE:@3������v�:�
���ѷ��9r'���ۺ4gD:�����a�Å:�ũ9��:nY:ڦu��¼:�s�:Z��Nj����,:ޅ�9��:�6�9!`U���ph���S�-�ظ;=���:�c�9��;L���y9��%:.&4�2��H��7�9�{�9n
        !          39332: �����
�� �8:�����_�Y����9�;���"���$�N���ۃ9���v;���9��9cD(:!t�9����x-ȹ@����:څ9.���Z&���e6�&ɹ�%&9$3:���9�9�"���K:F@n9)��9��
:�#39*9�i&�9<����Ʉ��|����K:��"9`�9j ���$8�]'�h
�m�1:b�8{EL:A
        !          39333: :���:��s:�A2�ҥW���:�ֹ�`��N�A���s��ӯ942>��1��*{�9�P-9t1����8��K:"&h:�~�:�<���:259J:S�d�xM:�0U:�)ں��׺)�����E:r׹���9մ ���1:�O9�q(9�    <��hR�ͪ9B�
        !          39334: ;o��e�g��.��)�ҹE�8GRι1���b���P�:-,�:�%�9]�2��j:>�;d�9�Q����
        !          39335: ,��y>����:!B>9�n��3�����:T�:
        !          39336: H����g8��;;�i�؂����9Gxz9c�:�ع7}9X�;:��%:6�q:��9�:���9*�:��湐���6K�9�:�+:>���r����"�9����2�6:=��9�Ȋ:�'���o:]9~���L���G��Ω9����al:�ۣ8��d}�;�(-�:�Z
:��iiq9���:Z�:|�(��r�����o:t�9�@�9�&���ĝ9i��9��9�i�9@#9{:�9��������8$�9#�:9�s:h2^�
��:��f98�U�8�B��:�"�7��      �=��CR]8lI#:/nͺ�k9�vƺ6�4�؄���1:��+;ffr��:�C9_��9-KD�s����i:���x�he�:�D������p9|��֓J�q4�8K��:X�չ"�ʹ�p"8��+:�/6��=�z�p:h0:M`M�/R��m:�0�8�y��h�2:@���]��9�<��> �UJ�9N�i9��
        !          39337: ��%+�_[��p�9ԟZ��Ԯ9[+%���C9�M�9�S]�y���n~�6��8��9�������9��:6���
���v���ɋ��)4�H����:�:���<)�:Z�����.��9|���z��88�9y�&;��9�������9Os�:YJ�7t~&�?�:��59������9~�97��7�N�:���[�:hՁ��1����A9�%����:����F�Y�8 8�$�b�2��G9�H�:���:�鏹,9��}����:�*4�aq\��#�:�Ғ:i��ӽw��0>72윺m-�7���-C:MY�1�9�l�:�n�>&P���������9���:�Yq:�tz�W�:�Pƹ�,���N:�p�Y�:G�}�|@^9C�պ��
;H*�#Gx: �K��Uút&M8\Kw:�?:��9�X:.�F:%5:9Vo��t�9|:���9�:͗Q��y׺�\��d�
        !          39338: �H���p�<���꼺� ����)���9�H�9���='�.O�g.纕q�73A,�d0�����m-(:�_6:P+�9�샺9N$:�3��Л9#x+�Z୺�( ;�}����]:�\޹
���:�P�9M_�:�u�:ؕC���w9?�$;>Y9��8K:'���6��Q�:'���ن��^��:]���}�n�W�;���:�4�^&R:��:�:iz7:(6,:�n����;"n;�8�Ggf:
        !          39339: �:zb�(gʷS(8_���k�)�9QT}����7�W�8�,f��?�7=f˹���9��:��W:W�l�~�<:X-:qn:��f9�D9��`�a
;�Q���1���B:���RcIn���9!��:���9�:"Lj9�h ��27?Ņ:�oP�
^�7��9�    �;F�:=������91��8c):8�+����}$�U��:� ���,��1}:UW��hFc9      �[9q�:+h:S%:�r��b��8�ź��8C�e9g�/9�};�d���l?��Ad���;΁�9(�_:J����
        !          39340: 6:Gd��~^/��9#���9?��9-�9��9���8�J��*��3�8m��99Ą��M/:v̫��eѺ��:������a��_ :yߊ�|����8%���:�9 (����8Ӈ����9\�::v����:|:�����:���8߿F�:��'V^�2��9&��9��Թb����梁�n:��8�Va���7eF�)��]*/��
        !          39341: 9�����M4��ҽ�pA�9�8���Ĺ=�b:�cx:�鎹M��9=*d9���������K�_�⸂^����1����9t�   ����܍��>:����ua;��O9P���s�8k�o8~�:.�1:��9�婹�얹���8�@w�SG:7F&���\�>��8ЃC��:|=���K����:�2:6�
        !          39342: 8g�h:r����U:9{�7�[\9���<��9~�&:��9��4L4K:��?��6�9�N�9��2:z[���?;!�9�7
        !          39343: :��2� �:m�k9m9�9m���؝9���ZE�B��9u(���l��4>�9���9�)�B��j�s:�1:�ٛ�!Me�:;�:�`:J:�=/:���8��2:����+{�Z�K�JV�WG���@�:Z��/&��������,����<:�u���%U93u�9�$�9�NK:�ި9�u�9.�:Uj;&���"&�f[95��D��m�8��v:�&3�s4���o���%��     &�$�;�қ�b�N�z�P9��>�ζ���㷀�p;8�ٺ���:rm�:���:��,:0�R��bg:
T��B#��FD�9�,�:�Ά6��^����9v��9��ҹƮO��!��}n�NK:)>'�U��b&:�Lu9'���P��:ӆ)�PE.:��:��J��~A��j�%:�D7}�Q��(�?�׹�]��_7�9�m�-{Һ�/�[a3����8�}):�
��z8�:��Ӹ(��蕺#�a���        :!1��������9𣇹���9X�%;X�[:8�G�vA��D�~9B�&�������:�]�k�3:��.�0ɸ���(�����+N���.��@����:X�8�Qf8��K:̳��~�:'9
        !          39344: �"�9,m/:v�_��5�9T�9:Ozh9RQZ���:�V�:+Ǻ�[�;��ٹ��;Zr�J�9v':��!�p�f��}�9�'�9�V:i9�TTS:=�%�{
��<�8�cq�Lе�0E��O��9Q+���Dm����:���9�pl����{:�;�9����&�9��ٺ}�:xĄ;w��8�f���:z3����9oO�9�a��s�ܺ���b�:U&�9J�F�WȺ
        !          39345: ��9s����9t��7�<���M����8���9��39�M9�2:�P�l���j��9��9�m:@ڒ8��9+פ��Hӹ�Ҟ��ϹB����,:B�A:�?�:��κ=Ũ�4y����9�9y��0����92Ȩ8�›��   m9!�I:x�8AO*:�!C;%�!:������TI09�Y�R��9贈�S�����E�]:mǘ;��9H]�9�9�9��9��9���L�����X=}:!�Թ��n:,���
�93{_�3���H�9�n���3V���8k۹�g/:t�:�R�:�&�8GD+9�'O���p:ԙ:*X�8�u��D��9eg�8  �
        !          39346: 9R��9E�K��:�2%:�eԸ�&:�4�� иm'Q:�ùu��:�;�Ĭ:��9.�q����e��(M:&��:��:!
        !          39347: ��:8�
��9���9ô�3\�7�3�-_��;�%�>���
        !          39348: �9     �]9�ɒ:|��9Z��:[D����9w9Z���!y��_
        !          39349: :p������9�޸�8��6`�d9VM8��8K��8����5:6�&�30707070035050375141006660011710000040000010653620457563431600001100000002145unload.c#include   <stdio.h>
        !          39350: #include       <stddef.h>
        !          39351: #include       <string.h>
        !          39352: #include       "scsi.h"
        !          39353: #include       "juke.h"
        !          39354: 
        !          39355: j_unload(char *vol_id, char *buf)
        !          39356: {
        !          39357:        Side side;
        !          39358:        int i, sh, dr;
        !          39359:        char disk_to_unload[256];
        !          39360: 
        !          39361:        if(j_rdshelves(buf))    /* read in shelf names */
        !          39362:                return(-1);
        !          39363:        if(j_getstatus(buf))    /* get the jukebox status */
        !          39364:                return(-1);
        !          39365:        /* now check which side we want */
        !          39366: 
        !          39367:        strcpy(disk_to_unload, vol_id);
        !          39368:        side = SIDEA;
        !          39369:        sh = j_shelfof(disk_to_unload);
        !          39370:        if(sh < 0){
        !          39371:                sprintf(buf, "can not find vol_id %s", disk_to_unload);
        !          39372:                return(-1);
        !          39373:        }
        !          39374:        dr = -1;
        !          39375:        for(i = 0; i < NLUN; i++){
        !          39376:                printf("dr:.. %d  ", i);
        !          39377:                printf(" rtsh: %d\n", j_status.lun[i].retshelf);
        !          39378: 
        !          39379:                /* is sh = retshelf? */
        !          39380: 
        !          39381:                if( (j_status.lun[i].retshelf>>1 == sh) ||
        !          39382:                                        (j_status.lun[i].retshelf == sh*2+1) ){                                         dr = i; 
        !          39383:                                break;
        !          39384:                } }
        !          39385:        printf("dr: %d, sh: %d, side: %d, i: %d\n", dr, sh, side, i);
        !          39386:        if (dr == -1){
        !          39387:                sprintf(buf, "no drive has vol_id %s", disk_to_unload);
        !          39388:                return(-1);
        !          39389:        }
        !          39390:        /* put vol_id in it's shelf*/   
        !          39391:        if (j_drive_to_shelf(dr, sh, side, buf) >= 0){
        !          39392:                sprintf(buf,"/dev/worm%d\n", dr);
        !          39393:                return(0);
        !          39394:        }
        !          39395:        return(-1);     
        !          39396: }
        !          39397: 0707070035050421221006660011710000040000010134110474377151100000700000001671warm.c#define     _POSIX_SOURCE
        !          39398: #include       <stddef.h>
        !          39399: #include       <stdlib.h>
        !          39400: #include       <stdio.h>
        !          39401: #include       <unistd.h>
        !          39402: #include       <string.h>
        !          39403: #include       "jukeface.h"
        !          39404: #include       "jukebox.h"
        !          39405: 
        !          39406: j_warm(Jukebox *j, char *buf)
        !          39407: {
        !          39408:        int side, i;
        !          39409:        int drive, sh;
        !          39410:        char vol_id[512];
        !          39411:        
        !          39412:        if(j_rdshelves(j, buf)) /* read in shelf names */
        !          39413:                return(-1);
        !          39414:        drive = j->nluns-1;
        !          39415:        if(j_shstatus(j, buf))  /* get the jukebox status */
        !          39416:                return(-1);
        !          39417:        for(;;){
        !          39418:                for(sh = 0; sh < j->nshelves; sh++)
        !          39419:                        if(j->shelves[sh] == 0) break;
        !          39420:                if(sh >= j->nshelves)
        !          39421:                        break;
        !          39422:                if((i = j_load_unloaded(drive, buf)) < 0)
        !          39423:                        return(-1);
        !          39424:                if(i == 0)
        !          39425:                        break;          /* no more disks */
        !          39426:                if(j_dr_to_sh(drive, sh, SIDEA, buf))
        !          39427:                        return(-1);
        !          39428:                if(getvol(sh, drive, vol_id, &side)){
        !          39429:                        strcpy(buf, vol_id);
        !          39430:                        return(-1);
        !          39431:                }
        !          39432:                printf("%s -> %d\n", vol_id, sh);
        !          39433:                if(j_dr_to_sh(drive, sh, side, buf) < 0)
        !          39434:                        return(-1);
        !          39435:                j_wrshelf = 1;
        !          39436:                j->names[sh] = strdup(vol_id);
        !          39437:                j->shelves[sh] = 1;
        !          39438:                sleep(3);
        !          39439:        }
        !          39440:        return(0);
        !          39441: }
        !          39442: 0707070035050370220407770011710000040000020654440474377164400000500000000000wren0707070035050370211006660011710000040000010307650470166165600001300000001015wren/dev.c#include       <stdio.h>
        !          39443: #include       "../scsi.h"
        !          39444: #include       "../scsish.h"
        !          39445: #include       "../tcl.h"
        !          39446: #include       "fns.h"
        !          39447: 
        !          39448: static Function fns[] = {
        !          39449:        { "diag", "diag", "", wr_diag },
        !          39450:        { "extinq", "extinq", "", wr_extinq },
        !          39451:        { "modesense", "modesense", "", wr_modesense },
        !          39452:        { "modeselect", "modeselect {page fields}*", "IIIIIIII", wr_modeselect },
        !          39453:        { "logsense", "logsense", "", wr_logsense },
        !          39454:        { "logselect", "logselect {page fields}*", "IIIIIIII", wr_logselect },
        !          39455:        { 0 }
        !          39456: };
        !          39457: Device wrendev = {
        !          39458:        "wren", "Wrens/Elite disks",
        !          39459:        gen_extsense,
        !          39460:        fns
        !          39461: };
        !          39462: 0707070035050370201006660011710000040000010136430467253451000001300000001305wren/inq.c#include        <stdio.h>
        !          39463: #include       "../scsi.h"
        !          39464: #include       "../scsish.h"
        !          39465: #include       "../tcl.h"
        !          39466: #include       "fns.h"
        !          39467: 
        !          39468: extern char *gen_rmb[2];
        !          39469: extern char *gen_devtype[256];
        !          39470: 
        !          39471: int
        !          39472: wr_extinq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          39473: {
        !          39474:        struct scsi_cmd cmd;
        !          39475:        struct scsi_return ret;
        !          39476:        char vendor[9], product[17];
        !          39477: 
        !          39478: #pragma ref argc
        !          39479: #pragma ref argv
        !          39480: 
        !          39481:        set6(cmd, 0x12, 0, 0, 0, 96, 0);
        !          39482:        if(s_io(0, &cmd, 0, &ret, 96, it->result = cd->err))
        !          39483:                ERR_RETURN
        !          39484:        fixedstr(&ret.data[8], 8, vendor);
        !          39485:        fixedstr(&ret.data[16], 16, product);
        !          39486:        printf("inq(%d,%d): %s %s, %s/%s rev=%0.4s serial=%0.8s\n",
        !          39487:                s_id, 0, gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]],
        !          39488:                vendor, product, &ret.data[32], &ret.data[36]);
        !          39489:        return(TCL_OK);
        !          39490: }
        !          39491: 0707070035050370171006660011710000040000010654470466055074600001500000005371wren/wmode.c#include      <stdio.h>
        !          39492: #include       "../scsi.h"
        !          39493: #include       "../scsish.h"
        !          39494: #include       "fns.h"
        !          39495: 
        !          39496: int
        !          39497: wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          39498: {
        !          39499:        struct scsi_cmd cmd;
        !          39500:        struct scsi_return ret;
        !          39501:        int n;
        !          39502: 
        !          39503: #pragma ref niargs
        !          39504: #pragma ref ncargs
        !          39505: #pragma ref cargs
        !          39506: 
        !          39507:        printf("changing modes to ");
        !          39508:        if((iargs[0] < 256) && (iargs[0] >= 0))
        !          39509:                printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
        !          39510:        if((iargs[1] < 256) && (iargs[1] >= 0))
        !          39511:                printf("er-retries=%d, ", iargs[1]);
        !          39512:        if((iargs[2] < 256) && (iargs[2] >= 0))
        !          39513:                printf("read-recon=%d/256, ", iargs[2]);
        !          39514:        if((iargs[3] < 256) && (iargs[3] >= 0))
        !          39515:                printf("write-recon=%d/256, ", iargs[3]);
        !          39516:        if((iargs[4] < 256) && (iargs[4] >= 0))
        !          39517:                printf("cache %sable, ", iargs[4]?"en":"dis");
        !          39518:        if((iargs[5] < 256) && (iargs[5] >= 0))
        !          39519:                printf("cache threshold=%d, ", iargs[5]);
        !          39520:        if((iargs[6] < 256) && (iargs[6] >= 0))
        !          39521:                printf("cache max prefetch=%d, ", iargs[6]);
        !          39522:        if((iargs[7] < 256) && (iargs[7] >= 0))
        !          39523:                printf("cache size=%d, ", iargs[7]);
        !          39524:        printf("\nsleep(10); kill me if you disagree\n");
        !          39525:        fflush(stdout);
        !          39526:        sleep(10);
        !          39527:        /* do error recovery */
        !          39528:        if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
        !          39529:                set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
        !          39530:                if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          39531:                        return(n);
        !          39532:                memcpy(cmd.data, ret.data, 20);
        !          39533:                cmd.data[14] &= ~0x10;
        !          39534:                if((iargs[0] < 256) && (iargs[0] >= 0))
        !          39535:                        cmd.data[14] = iargs[0];
        !          39536:                if((iargs[1] < 256) && (iargs[1] >= 0))
        !          39537:                        cmd.data[15] = iargs[1];
        !          39538:                set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
        !          39539:                if(n = s_io(0, &cmd, 20, &ret, 0, err))
        !          39540:                        return(n);
        !          39541:        }
        !          39542:        /* reconnect */
        !          39543:        if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
        !          39544:                set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
        !          39545:                if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          39546:                        return(n);
        !          39547:                memcpy(cmd.data, ret.data, 24);
        !          39548:                if((iargs[3] < 256) && (iargs[3] >= 0))
        !          39549:                        cmd.data[14] = iargs[3];
        !          39550:                if((iargs[4] < 256) && (iargs[4] >= 0))
        !          39551:                        cmd.data[15] = iargs[4];
        !          39552:                set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
        !          39553:                if(n = s_io(0, &cmd, 24, &ret, 0, err))
        !          39554:                        return(n);
        !          39555:        }
        !          39556:        /* do cache control */
        !          39557:        if(((iargs[4] < 256) && (iargs[4] >= 0))
        !          39558:                        || ((iargs[5] < 256) && (iargs[5] >= 0))
        !          39559:                        || ((iargs[6] < 256) && (iargs[6] >= 0))
        !          39560:                        || ((iargs[7] < 256) && (iargs[7] >= 0))){
        !          39561:                set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
        !          39562:                if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          39563:                        return(n);
        !          39564:                memcpy(cmd.data, ret.data, 28);
        !          39565:                cmd.data[14] &= ~0x10;
        !          39566:                if(iargs[4])
        !          39567:                        cmd.data[14] |= 0x10;
        !          39568:                if((iargs[7] < 256) && (iargs[7] >= 0)){
        !          39569:                        cmd.data[14] &= 0xF0;
        !          39570:                        cmd.data[14] |= iargs[7]&0xF;
        !          39571:                }
        !          39572:                if((iargs[5] < 256) && (iargs[5] >= 0))
        !          39573:                        cmd.data[15] = iargs[5];
        !          39574:                if((iargs[6] < 256) && (iargs[6] >= 0))
        !          39575:                        cmd.data[16] = iargs[6];
        !          39576:                set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
        !          39577:                if(n = s_io(0, &cmd, 28, &ret, 0, err))
        !          39578:                        return(n);
        !          39579:        }
        !          39580:        return(0);
        !          39581: }
        !          39582: 0707070035050370161006660011710000040000010654500457563432400001400000001427wren/diag.c#include       <stdio.h>
        !          39583: #include       "../scsi.h"
        !          39584: #include       "../scsish.h"
        !          39585: #include       "fns.h"
        !          39586: 
        !          39587: int
        !          39588: wr_diag(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          39589: {
        !          39590:        struct scsi_cmd cmd;
        !          39591:        struct scsi_return ret;
        !          39592:        int n;
        !          39593:        long t;
        !          39594: 
        !          39595: #pragma ref niargs
        !          39596: #pragma ref iargs
        !          39597: #pragma ref ncargs
        !          39598: #pragma ref cargs
        !          39599: 
        !          39600:        t = time((long *)0);
        !          39601:        set6(cmd, 0x1D, 0x04, 0, 0, 0, 0);
        !          39602:        if(n = s_io(0, &cmd, 0, &ret, 0, err))
        !          39603:                return(n);
        !          39604:        set6(cmd, 0x1C, 0, 0, 0, 8, 0);
        !          39605:        if(n = s_io(0, &cmd, 0, &ret, 8, err))
        !          39606:                return(n);
        !          39607:        t = time((long *)0)-t;
        !          39608:        printf("selftest diagnostic (%ds)\n", t);
        !          39609:        if((ret.data[7] == 0) && (ret.data[2] == 0))
        !          39610:                printf("\tno errors\n");
        !          39611:        else
        !          39612:                printf("\terror==#%x,#%x FRU=(#%x,#%x,#%x,#%x)\n",
        !          39613:                        ret.data[6], ret.data[7], ret.data[2],
        !          39614:                        ret.data[3], ret.data[4], ret.data[5]);
        !          39615:        return(0);
        !          39616: }
        !          39617: 0707070035050370151006660011710000040000010331460470166163300001300000000612wren/fns.hextern int wr_extinq(ClientData , Tcl_Interp *, int , char **);
        !          39618: extern int wr_modesense(ClientData , Tcl_Interp *, int , char **);
        !          39619: extern int wr_modeselect(ClientData , Tcl_Interp *, int , char **);
        !          39620: extern int wr_diag(ClientData , Tcl_Interp *, int , char **);
        !          39621: extern int wr_logsense(ClientData , Tcl_Interp *, int , char **);
        !          39622: extern int wr_logselect(ClientData , Tcl_Interp *, int , char **);
        !          39623: 0707070035050370141006660011710000040000010654530465634635000001500000013125wren/omode.c#include      <stdio.h>
        !          39624: #include       "../scsi.h"
        !          39625: #include       "../scsish.h"
        !          39626: #include       "fns.h"
        !          39627: 
        !          39628: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          39629: 
        !          39630: static int
        !          39631: er(int pcf, char *err)
        !          39632: {
        !          39633:        struct scsi_cmd cmd;
        !          39634:        struct scsi_return ret;
        !          39635:        int n;
        !          39636:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          39637: 
        !          39638:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          39639:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          39640:                return(n);
        !          39641:        printf("error recovery:\n\t");
        !          39642:        for(n = 7; n >= 0; n--)
        !          39643:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          39644:        printf("\n\t%d retries, max ecc span=%d\n", ret.data[15], ret.data[16]);
        !          39645:        return(0);
        !          39646: }
        !          39647: 
        !          39648: static int
        !          39649: dr(int pcf, char *err)
        !          39650: {
        !          39651:        struct scsi_cmd cmd;
        !          39652:        struct scsi_return ret;
        !          39653:        int n;
        !          39654: 
        !          39655:        set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
        !          39656:        if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          39657:                return(n);
        !          39658:        printf("disconnect/reconnect:\n");
        !          39659:        printf("\tread reconnect=%d/256,", ret.data[14]);
        !          39660:        printf(" write reconnect=%d/256\n", ret.data[15]);
        !          39661:        return(0);
        !          39662: }
        !          39663: 
        !          39664: static int
        !          39665: fp(int pcf, char *err)
        !          39666: {
        !          39667:        struct scsi_cmd cmd;
        !          39668:        struct scsi_return ret;
        !          39669:        int n;
        !          39670:        static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };
        !          39671: 
        !          39672:        set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
        !          39673:        if(n = s_io(0, &cmd, 0, &ret, 36, err))
        !          39674:                return(n);
        !          39675:        printf("format parameters:\n");
        !          39676:        printf("\tsec=%dB, trk=%d secs, interleave=%d trk skew=%d cyl skew=%d\n",
        !          39677:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          39678:        printf("\t%d alt sec/%d alt trk per zone(=%d trks), %d alt trks per vol\n",
        !          39679:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          39680:        printf("\tdrive type:");
        !          39681:        for(n = 7; n >= 3; n--)
        !          39682:                printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
        !          39683:        printf("\n");
        !          39684:        return(0);
        !          39685: }
        !          39686: 
        !          39687: static int
        !          39688: geom(int pcf, char *err)
        !          39689: {
        !          39690:        struct scsi_cmd cmd;
        !          39691:        struct scsi_return ret;
        !          39692:        int n;
        !          39693: 
        !          39694:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          39695:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          39696:                return(n);
        !          39697:        printf("drive geometry:\n\t%d cyls, %d heads\n",
        !          39698:                (ret.data[14]<<16)|SHORT(15), ret.data[17]);
        !          39699:        return(0);
        !          39700: }
        !          39701: 
        !          39702: static int
        !          39703: cc(int pcf, char *err)
        !          39704: {
        !          39705:        struct scsi_cmd cmd;
        !          39706:        struct scsi_return ret;
        !          39707:        int n;
        !          39708:        static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };
        !          39709: 
        !          39710:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          39711:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          39712:                return(n);
        !          39713:        printf("cache control:\n\t");
        !          39714:        for(n = 7; n >= 4; n--)
        !          39715:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          39716:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          39717:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          39718:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          39719:        return(0);
        !          39720: }
        !          39721: 
        !          39722: int
        !          39723: wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          39724: {
        !          39725:        int n;
        !          39726: 
        !          39727: #pragma ref ncargs
        !          39728: #pragma ref cargs
        !          39729: #pragma ref niargs
        !          39730: #pragma ref iargs
        !          39731: 
        !          39732: #define        PCF     0       /* current values */
        !          39733: 
        !          39734:        printf("mode sense(%d,0):\n", s_id);
        !          39735:        if(n = er(PCF, err))
        !          39736:                return(n);
        !          39737:        if(n = dr(PCF, err))
        !          39738:                return(n);
        !          39739:        if(n = fp(PCF, err))
        !          39740:                return(n);
        !          39741:        if(n = geom(PCF, err))
        !          39742:                return(n);
        !          39743:        if(n = cc(PCF, err))
        !          39744:                return(n);
        !          39745:        return(0);
        !          39746: }
        !          39747: 
        !          39748: int
        !          39749: wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          39750: {
        !          39751:        struct scsi_cmd cmd;
        !          39752:        struct scsi_return ret;
        !          39753:        int n;
        !          39754: 
        !          39755: #pragma ref niargs
        !          39756: #pragma ref ncargs
        !          39757: #pragma ref cargs
        !          39758: 
        !          39759:        printf("changing modes to ");
        !          39760:        if((iargs[0] < 256) && (iargs[0] >= 0))
        !          39761:                printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
        !          39762:        if((iargs[1] < 256) && (iargs[1] >= 0))
        !          39763:                printf("er-retries=%d, ", iargs[1]);
        !          39764:        if((iargs[2] < 256) && (iargs[2] >= 0))
        !          39765:                printf("read-recon=%d/256, ", iargs[2]);
        !          39766:        if((iargs[3] < 256) && (iargs[3] >= 0))
        !          39767:                printf("write-recon=%d/256, ", iargs[3]);
        !          39768:        if((iargs[4] < 256) && (iargs[4] >= 0))
        !          39769:                printf("cache %sable, ", iargs[4]?"en":"dis");
        !          39770:        if((iargs[5] < 256) && (iargs[5] >= 0))
        !          39771:                printf("cache threshold=%d, ", iargs[5]);
        !          39772:        if((iargs[6] < 256) && (iargs[6] >= 0))
        !          39773:                printf("cache max prefetch=%d, ", iargs[6]);
        !          39774:        if((iargs[7] < 256) && (iargs[7] >= 0))
        !          39775:                printf("cache size=%d, ", iargs[7]);
        !          39776:        printf("\nsleep(10); kill me if you disagree\n");
        !          39777:        fflush(stdout);
        !          39778:        sleep(10);
        !          39779:        /* do error recovery */
        !          39780:        if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
        !          39781:                set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
        !          39782:                if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          39783:                        return(n);
        !          39784:                memcpy(cmd.data, ret.data, 20);
        !          39785:                cmd.data[14] &= ~0x10;
        !          39786:                if((iargs[0] < 256) && (iargs[0] >= 0))
        !          39787:                        cmd.data[14] = iargs[0];
        !          39788:                if((iargs[1] < 256) && (iargs[1] >= 0))
        !          39789:                        cmd.data[15] = iargs[1];
        !          39790:                set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
        !          39791:                if(n = s_io(0, &cmd, 20, &ret, 0, err))
        !          39792:                        return(n);
        !          39793:        }
        !          39794:        /* reconnect */
        !          39795:        if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
        !          39796:                set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
        !          39797:                if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          39798:                        return(n);
        !          39799:                memcpy(cmd.data, ret.data, 24);
        !          39800:                if((iargs[3] < 256) && (iargs[3] >= 0))
        !          39801:                        cmd.data[14] = iargs[3];
        !          39802:                if((iargs[4] < 256) && (iargs[4] >= 0))
        !          39803:                        cmd.data[15] = iargs[4];
        !          39804:                set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
        !          39805:                if(n = s_io(0, &cmd, 24, &ret, 0, err))
        !          39806:                        return(n);
        !          39807:        }
        !          39808:        /* do cache control */
        !          39809:        if(((iargs[4] < 256) && (iargs[4] >= 0))
        !          39810:                        || ((iargs[5] < 256) && (iargs[5] >= 0))
        !          39811:                        || ((iargs[6] < 256) && (iargs[6] >= 0))
        !          39812:                        || ((iargs[7] < 256) && (iargs[7] >= 0))){
        !          39813:                set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
        !          39814:                if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          39815:                        return(n);
        !          39816:                memcpy(cmd.data, ret.data, 28);
        !          39817:                cmd.data[14] &= ~0x10;
        !          39818:                if(iargs[4])
        !          39819:                        cmd.data[14] |= 0x10;
        !          39820:                if((iargs[7] < 256) && (iargs[7] >= 0)){
        !          39821:                        cmd.data[14] &= 0xF0;
        !          39822:                        cmd.data[14] |= iargs[7]&0xF;
        !          39823:                }
        !          39824:                if((iargs[5] < 256) && (iargs[5] >= 0))
        !          39825:                        cmd.data[15] = iargs[5];
        !          39826:                if((iargs[6] < 256) && (iargs[6] >= 0))
        !          39827:                        cmd.data[16] = iargs[6];
        !          39828:                set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
        !          39829:                if(n = s_io(0, &cmd, 28, &ret, 0, err))
        !          39830:                        return(n);
        !          39831:        }
        !          39832:        return(0);
        !          39833: }
        !          39834: 0707070035050370131006660011710000040000010654560465634257100001600000011721wren/oomode.c#include     <stdio.h>
        !          39835: #include       "../scsi.h"
        !          39836: #include       "../scsish.h"
        !          39837: #include       "fns.h"
        !          39838: 
        !          39839: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          39840: 
        !          39841: static int
        !          39842: er(int pcf, char *err)
        !          39843: {
        !          39844:        struct scsi_cmd cmd;
        !          39845:        struct scsi_return ret;
        !          39846:        int n;
        !          39847:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          39848: 
        !          39849:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          39850:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          39851:                return(n);
        !          39852:        printf("error recovery:\n\t");
        !          39853:        for(n = 7; n >= 0; n--)
        !          39854:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          39855:        printf("\n\t%d retries, max ecc span=%d\n", ret.data[15], ret.data[16]);
        !          39856:        return(0);
        !          39857: }
        !          39858: 
        !          39859: static int
        !          39860: dr(int pcf, char *err)
        !          39861: {
        !          39862:        struct scsi_cmd cmd;
        !          39863:        struct scsi_return ret;
        !          39864:        int n;
        !          39865: 
        !          39866:        set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
        !          39867:        if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          39868:                return(n);
        !          39869:        printf("disconnect/reconnect:\n");
        !          39870:        printf("\tread reconnect=%d/256,", ret.data[14]);
        !          39871:        printf(" write reconnect=%d/256\n", ret.data[15]);
        !          39872:        return(0);
        !          39873: }
        !          39874: 
        !          39875: static int
        !          39876: fp(int pcf, char *err)
        !          39877: {
        !          39878:        struct scsi_cmd cmd;
        !          39879:        struct scsi_return ret;
        !          39880:        int n;
        !          39881:        static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };
        !          39882: 
        !          39883:        set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
        !          39884:        if(n = s_io(0, &cmd, 0, &ret, 36, err))
        !          39885:                return(n);
        !          39886:        printf("format parameters:\n");
        !          39887:        printf("\tsec=%dB, trk=%d secs, interleave=%d trk skew=%d cyl skew=%d\n",
        !          39888:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          39889:        printf("\t%d alt sec/%d alt trk per zone(=%d trks), %d alt trks per vol\n",
        !          39890:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          39891:        printf("\tdrive type:");
        !          39892:        for(n = 7; n >= 3; n--)
        !          39893:                printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
        !          39894:        printf("\n");
        !          39895:        return(0);
        !          39896: }
        !          39897: 
        !          39898: static int
        !          39899: geom(int pcf, char *err)
        !          39900: {
        !          39901:        struct scsi_cmd cmd;
        !          39902:        struct scsi_return ret;
        !          39903:        int n;
        !          39904: 
        !          39905:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          39906:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          39907:                return(n);
        !          39908:        printf("drive geometry:\n\t%d cyls, %d heads\n",
        !          39909:                (ret.data[14]<<16)|SHORT(15), ret.data[17]);
        !          39910:        return(0);
        !          39911: }
        !          39912: 
        !          39913: static int
        !          39914: cc(int pcf, char *err)
        !          39915: {
        !          39916:        struct scsi_cmd cmd;
        !          39917:        struct scsi_return ret;
        !          39918:        int n;
        !          39919:        static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };
        !          39920: 
        !          39921:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          39922:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          39923:                return(n);
        !          39924:        printf("cache control:\n\t");
        !          39925:        for(n = 7; n >= 4; n--)
        !          39926:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          39927:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          39928:        printf("\tprefetch: thr=%d max=%dx%d min=%dx%d\n",
        !          39929:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          39930:        return(0);
        !          39931: }
        !          39932: 
        !          39933: int
        !          39934: wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          39935: {
        !          39936:        int n;
        !          39937: 
        !          39938: #pragma ref ncargs
        !          39939: #pragma ref cargs
        !          39940: #pragma ref niargs
        !          39941: #pragma ref iargs
        !          39942: 
        !          39943: #define        PCF     0       /* current values */
        !          39944: 
        !          39945:        printf("mode sense(%d,0):\n", s_id);
        !          39946:        if(n = er(PCF, err))
        !          39947:                return(n);
        !          39948:        if(n = dr(PCF, err))
        !          39949:                return(n);
        !          39950:        if(n = fp(PCF, err))
        !          39951:                return(n);
        !          39952:        if(n = geom(PCF, err))
        !          39953:                return(n);
        !          39954:        if(n = cc(PCF, err))
        !          39955:                return(n);
        !          39956:        return(0);
        !          39957: }
        !          39958: 
        !          39959: int
        !          39960: wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          39961: {
        !          39962:        struct scsi_cmd cmd;
        !          39963:        struct scsi_return ret;
        !          39964:        int n;
        !          39965: 
        !          39966: #pragma ref niargs
        !          39967: #pragma ref ncargs
        !          39968: #pragma ref cargs
        !          39969: 
        !          39970:        printf("changing modes to ");
        !          39971:        if((iargs[0] < 256) && (iargs[0] >= 0))
        !          39972:                printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
        !          39973:        if((iargs[1] < 256) && (iargs[1] >= 0))
        !          39974:                printf("er-retries=%d, ", iargs[1]);
        !          39975:        if((iargs[2] < 256) && (iargs[2] >= 0))
        !          39976:                printf("read-recon=%d/256, ", iargs[2]);
        !          39977:        if((iargs[3] < 256) && (iargs[3] >= 0))
        !          39978:                printf("write-recon=%d/256, ", iargs[3]);
        !          39979:        if((iargs[4] < 256) && (iargs[4] >= 0))
        !          39980:                printf("cache %sable, ", iargs[4]?"en":"dis");
        !          39981:        printf("\nsleep(10); kill me if you disagree\n");
        !          39982:        fflush(stdout);
        !          39983:        sleep(10);
        !          39984:        /* do error recovery */
        !          39985:        if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
        !          39986:                set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
        !          39987:                if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          39988:                        return(n);
        !          39989:                memcpy(cmd.data, ret.data, 20);
        !          39990:                cmd.data[14] &= ~0x10;
        !          39991:                if((iargs[0] < 256) && (iargs[0] >= 0))
        !          39992:                        cmd.data[14] = iargs[0];
        !          39993:                if((iargs[1] < 256) && (iargs[1] >= 0))
        !          39994:                        cmd.data[15] = iargs[1];
        !          39995:                set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
        !          39996:                if(n = s_io(0, &cmd, 20, &ret, 0, err))
        !          39997:                        return(n);
        !          39998:        }
        !          39999:        /* reconnect */
        !          40000:        if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
        !          40001:                set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
        !          40002:                if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          40003:                        return(n);
        !          40004:                memcpy(cmd.data, ret.data, 24);
        !          40005:                if((iargs[3] < 256) && (iargs[3] >= 0))
        !          40006:                        cmd.data[14] = iargs[3];
        !          40007:                if((iargs[4] < 256) && (iargs[4] >= 0))
        !          40008:                        cmd.data[15] = iargs[4];
        !          40009:                set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
        !          40010:                if(n = s_io(0, &cmd, 24, &ret, 0, err))
        !          40011:                        return(n);
        !          40012:        }
        !          40013:        /* do cache control */
        !          40014:        if((iargs[4] < 256) && (iargs[4] >= 0)){
        !          40015:                set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
        !          40016:                if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40017:                        return(n);
        !          40018:                memcpy(cmd.data, ret.data, 28);
        !          40019:                cmd.data[14] &= ~0x10;
        !          40020:                if(iargs[4])
        !          40021:                        cmd.data[14] |= 0x10;
        !          40022:                set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
        !          40023:                if(n = s_io(0, &cmd, 28, &ret, 0, err))
        !          40024:                        return(n);
        !          40025:        }
        !          40026:        return(0);
        !          40027: }
        !          40028: 0707070035050370121006660011710000040000010654570466056643100001500000013536wren/rmode.c#include      <stdio.h>
        !          40029: #include       "../scsi.h"
        !          40030: #include       "../scsish.h"
        !          40031: #include       "fns.h"
        !          40032: 
        !          40033: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          40034: 
        !          40035: static int
        !          40036: er_w6(int pcf, char *err)
        !          40037: {
        !          40038:        struct scsi_cmd cmd;
        !          40039:        struct scsi_return ret;
        !          40040:        int n;
        !          40041:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          40042: 
        !          40043:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          40044:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40045:                return(n);
        !          40046:        printf("error recovery:\n\t");
        !          40047:        for(n = 7; n >= 0; n--)
        !          40048:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40049:        printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
        !          40050:                ret.data[15], ret.data[16], ret.data[17]);
        !          40051:        return(0);
        !          40052: }
        !          40053: 
        !          40054: static int
        !          40055: dr_w6(int pcf, char *err)
        !          40056: {
        !          40057:        struct scsi_cmd cmd;
        !          40058:        struct scsi_return ret;
        !          40059:        int n;
        !          40060: 
        !          40061:        set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
        !          40062:        if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          40063:                return(n);
        !          40064:        printf("disconnect/reconnect:\n");
        !          40065:        printf("\tread reconnect=%d/256 full,", ret.data[14]);
        !          40066:        printf(" write reconnect=%d/256 empty\n", ret.data[15]);
        !          40067:        return(0);
        !          40068: }
        !          40069: 
        !          40070: static int
        !          40071: fp_w6(int pcf, char *err)
        !          40072: {
        !          40073:        struct scsi_cmd cmd;
        !          40074:        struct scsi_return ret;
        !          40075:        int n;
        !          40076:        static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };
        !          40077: 
        !          40078:        set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
        !          40079:        if(n = s_io(0, &cmd, 0, &ret, 36, err))
        !          40080:                return(n);
        !          40081:        printf("format parameters:\n");
        !          40082:        printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
        !          40083:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          40084:        printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
        !          40085:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          40086:        printf("\tdrive type:");
        !          40087:        for(n = 7; n >= 3; n--)
        !          40088:                printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
        !          40089:        printf("\n");
        !          40090:        return(0);
        !          40091: }
        !          40092: 
        !          40093: static int
        !          40094: geom_w6(int pcf, char *err)
        !          40095: {
        !          40096:        struct scsi_cmd cmd;
        !          40097:        struct scsi_return ret;
        !          40098:        int n;
        !          40099: 
        !          40100:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          40101:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40102:                return(n);
        !          40103:        printf("drive geometry:\n\t%d cyls, %d heads\n",
        !          40104:                (ret.data[14]<<16)|SHORT(15), ret.data[17]);
        !          40105:        return(0);
        !          40106: }
        !          40107: 
        !          40108: static int
        !          40109: cc_w6(int pcf, char *err)
        !          40110: {
        !          40111:        struct scsi_cmd cmd;
        !          40112:        struct scsi_return ret;
        !          40113:        int n;
        !          40114:        static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };
        !          40115: 
        !          40116:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          40117:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40118:                return(n);
        !          40119:        printf("cache control:\n\t");
        !          40120:        for(n = 7; n >= 4; n--)
        !          40121:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40122:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          40123:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          40124:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          40125:        return(0);
        !          40126: }
        !          40127: 
        !          40128: static int
        !          40129: er_wr2(int pcf, char *err)
        !          40130: {
        !          40131:        struct scsi_cmd cmd;
        !          40132:        struct scsi_return ret;
        !          40133:        int n;
        !          40134:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          40135: 
        !          40136:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          40137:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40138:                return(n);
        !          40139:        printf("error recovery:\n\t");
        !          40140:        for(n = 7; n >= 0; n--)
        !          40141:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40142:        printf("\n\t%d retries, max ecc span=%d, %d wr retries, recov tlimit=%d\n",
        !          40143:                ret.data[15], ret.data[16], ret.data[20], SHORT(22));
        !          40144:        return(0);
        !          40145: }
        !          40146: 
        !          40147: static int
        !          40148: geom_wr2(int pcf, char *err)
        !          40149: {
        !          40150:        struct scsi_cmd cmd;
        !          40151:        struct scsi_return ret;
        !          40152:        int n;
        !          40153:        static char *sspin[4] = {
        !          40154:                "no spindle synch",
        !          40155:                "synch-spindle slave",
        !          40156:                "synch-spindle master",
        !          40157:                "synch-spindle master control",
        !          40158:        };
        !          40159: 
        !          40160:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          40161:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40162:                return(n);
        !          40163:        printf("drive geometry:\n\t%d cyls, %d heads, %s, rotation rate %d\n",
        !          40164:                (ret.data[14]<<16)|SHORT(15), ret.data[17],
        !          40165:                sspin[ret.data[29]&3], SHORT(32));
        !          40166:        return(0);
        !          40167: }
        !          40168: 
        !          40169: static int
        !          40170: cp_wr2(int pcf, char *err)
        !          40171: {
        !          40172:        struct scsi_cmd cmd;
        !          40173:        struct scsi_return ret;
        !          40174:        int n;
        !          40175:        static char *bit[8] = { "ReadCacheDisable", "", "WriteCacheEnable", "", "", "", "", "" };
        !          40176: 
        !          40177:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          40178:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40179:                return(n);
        !          40180:        printf("caching parameters:\n\t");
        !          40181:        for(n = 2; n >= 0; n -= 2)
        !          40182:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40183:        printf("\n\tprefetch: min=%d, max=%d, ceiling=%d\n",
        !          40184:                SHORT(18), SHORT(20), SHORT(22));
        !          40185:        return(0);
        !          40186: }
        !          40187: 
        !          40188: static int
        !          40189: cc_wr2(int pcf, char *err)
        !          40190: {
        !          40191:        struct scsi_cmd cmd;
        !          40192:        struct scsi_return ret;
        !          40193:        int n;
        !          40194:        static char *bit[8] = { "", "", "", "", "CacheEnable", "SSM", "WIE", "CCEN" };
        !          40195: 
        !          40196:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          40197:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40198:                return(n);
        !          40199:        printf("cache control:\n\t");
        !          40200:        for(n = 7; n >= 4; n--)
        !          40201:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40202:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          40203:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          40204:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          40205:        return(0);
        !          40206: }
        !          40207: 
        !          40208: typedef (*Fn)(int, char *);
        !          40209: static struct Drive
        !          40210: {
        !          40211:        char *type;             /* match inq field */
        !          40212:        char *desc;             /* print at the user */
        !          40213:        Fn fns[10];
        !          40214: } drive[] = {          /* first one is default when none match */
        !          40215:        { "94181-15", "Wren VI", er_w6, dr_w6, fp_w6, geom_w6, cc_w6, 0 },
        !          40216:        { "ST4767", "Wren Runner-2", er_wr2, dr_w6, fp_w6, geom_wr2, cp_wr2, cc_wr2, 0 },
        !          40217:        { 0 }
        !          40218: };
        !          40219: 
        !          40220: int
        !          40221: wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          40222: {
        !          40223:        int n, i, retv;
        !          40224:        char product[17];
        !          40225:        int found;
        !          40226:        struct scsi_cmd cmd;
        !          40227:        struct scsi_return ret;
        !          40228: 
        !          40229: #pragma ref ncargs
        !          40230: #pragma ref cargs
        !          40231: #pragma ref niargs
        !          40232: #pragma ref iargs
        !          40233: 
        !          40234: #define        PCF     0       /* current values */
        !          40235: 
        !          40236:        /* find drive type */
        !          40237:        set6(cmd, 0x12, 0, 0, 0, 32, 0);
        !          40238:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40239:                return(n);
        !          40240:        fixedstr(&ret.data[16], 16, product);
        !          40241:        for(n = 0, found = 0; drive[n].type; n++)
        !          40242:                if(strcmp(product, drive[n].type) == 0){
        !          40243:                        found = 1;
        !          40244:                        break;
        !          40245:                }
        !          40246:        if(!found)
        !          40247:                n = 0;
        !          40248: 
        !          40249:        if(found)
        !          40250:                printf("mode sense(%d,0)[%s(%s)]:\n", s_id, drive[n].desc, product);
        !          40251:        else
        !          40252:                printf("mode sense(%d,0)[using %s, found '%s']:\n", s_id, drive[n].desc, product);
        !          40253:        for(i = 0; drive[n].fns[i]; i++)
        !          40254:                if(retv = (*drive[n].fns[i])(PCF, err))
        !          40255:                        return(retv);
        !          40256:        return(0);
        !          40257: }
        !          40258: 0707070035050555601006660011710000040000010215750473371213600001500000020140wren/wren5.c#include      <stdio.h>
        !          40259: #include       "../scsi.h"
        !          40260: #include       "../scsish.h"
        !          40261: #include       "../tcl.h"
        !          40262: #include       "fns.h"
        !          40263: #include       "wren.h"
        !          40264: 
        !          40265: static int msense(ClientData, int, char **);
        !          40266: static int mselect(ClientData, int, char **);
        !          40267: Wren wr_wren5 =
        !          40268: {
        !          40269:        "94181-15",
        !          40270:        "Wren V",
        !          40271:        msense,
        !          40272:        mselect,
        !          40273:        0,
        !          40274:        0,
        !          40275:        0
        !          40276: };
        !          40277: 
        !          40278: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          40279: #define        LONG(n)         ((((long)SHORT(n))<<16) | SHORT(n+2))
        !          40280: #define        GETPAGE(page, pcf, ndata)\
        !          40281:        {\
        !          40282:                set6(cmd, 0x1A, 0, (pcf<<6)|page, 0, 12+ndata, 0);\
        !          40283:                if(s_io(0, &cmd, 0, &ret, 12+ndata, err)) return(-1);\
        !          40284:                if(((ret.data[12]&0x3F) != page) || (ret.data[13]+2!= ndata))\
        !          40285:                        printf("pg=#%x(#%x) data=#%x(#%x)\n",\
        !          40286:                                ret.data[12], page, ret.data[13], ndata);\
        !          40287:        }
        !          40288: #define        GETLPAGE(page, ppc, pc, pp, ndata)\
        !          40289:        {\
        !          40290:                set10(cmd, 0x4D, ppc<<1, (pc<<6)|page, 0, 0, pp>>8, pp, (ndata+4)>>8, (ndata+4), 0);\
        !          40291:                if(s_io(0, &cmd, 0, &ret, 4+ndata, err)) return(-1);\
        !          40292:                if(((ret.data[0]&0x3F) != page) || (SHORT(2)!= ndata))\
        !          40293:                        printf("pg=#%x(#%x) data=#%x(#%x)\n",\
        !          40294:                                ret.data[0], page, SHORT(2), ndata);\
        !          40295:        }
        !          40296: 
        !          40297: static int
        !          40298: er(int pcf, char *err)
        !          40299: {
        !          40300:        struct scsi_cmd cmd;
        !          40301:        struct scsi_return ret;
        !          40302:        int n;
        !          40303:        static char *bit[8] = { "DCR", "DTE", "PER", "EER", "RC", "TB", "ARRE", "AWRE" };
        !          40304: 
        !          40305:        GETPAGE(0x01, pcf, 8)
        !          40306:        printf("error recovery:\n\t");
        !          40307:        for(n = 7; n >= 0; n--)
        !          40308:                printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
        !          40309:        printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
        !          40310:                ret.data[15], ret.data[16], ret.data[19]);
        !          40311:        return(0);
        !          40312: }
        !          40313: 
        !          40314: static int
        !          40315: dr(int pcf, char *err)
        !          40316: {
        !          40317:        struct scsi_cmd cmd;
        !          40318:        struct scsi_return ret;
        !          40319: 
        !          40320:        GETPAGE(0x02, pcf, 12)
        !          40321:        printf("disconnect/reconnect:\n");
        !          40322:        printf("\tread reconnect=%d/256 full,", ret.data[14]);
        !          40323:        printf(" write reconnect=%d/256 empty\n", ret.data[15]);
        !          40324:        return(0);
        !          40325: }
        !          40326: 
        !          40327: static int
        !          40328: fp(int pcf, char *err)
        !          40329: {
        !          40330:        struct scsi_cmd cmd;
        !          40331:        struct scsi_return ret;
        !          40332:        int n;
        !          40333:        static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };
        !          40334: 
        !          40335:        GETPAGE(0x03, pcf, 24);
        !          40336:        printf("format parameters:\n");
        !          40337:        printf("\tdrive type:");
        !          40338:        for(n = 7; n >= 3; n--)
        !          40339:                printf(" %s=%d", bit[n], !!(ret.data[32]&(1<<n)));
        !          40340:        printf("\n");
        !          40341:        printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
        !          40342:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          40343:        printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
        !          40344:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          40345:        return(0);
        !          40346: }
        !          40347: 
        !          40348: static int
        !          40349: geom(int pcf, char *err)
        !          40350: {
        !          40351:        struct scsi_cmd cmd;
        !          40352:        struct scsi_return ret;
        !          40353: 
        !          40354:        GETPAGE(0x04, pcf, 20);
        !          40355:        printf("drive geometry:\n\t%d cyls, %d heads\n",
        !          40356:                (((long)ret.data[14])<<16)|SHORT(15), ret.data[17]);
        !          40357:        return(0);
        !          40358: }
        !          40359: 
        !          40360: static int
        !          40361: vc(int pcf, char *err)
        !          40362: {
        !          40363:        struct scsi_cmd cmd;
        !          40364:        struct scsi_return ret;
        !          40365:        int n;
        !          40366:        static char *bit[8] = { "", "", "", "", "CE", 0, "WIE", 0 };
        !          40367: 
        !          40368:        GETPAGE(0x38, pcf, 16)
        !          40369:        printf("vendor caching parameters:\n\t");
        !          40370:        for(n = 7; n >= 4; n--)
        !          40371:                if(bit[n])
        !          40372:                        printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
        !          40373:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          40374:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          40375:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          40376:        return(0);
        !          40377: }
        !          40378: 
        !          40379: static char *pcfval[4] = { "current", "changeable", "default", "saved" };
        !          40380: 
        !          40381: static int
        !          40382: msense(ClientData cd, int argc, char **argv)
        !          40383: {
        !          40384:        int pcf;
        !          40385: 
        !          40386:        if(argc > 2){
        !          40387: usage:
        !          40388:                sprintf(cd->err, "usage: modesense [%s|%s|%s|%s]", pcfval[0], pcfval[1], pcfval[2], pcfval[3]);
        !          40389:                return(TCL_ERROR);
        !          40390:        }
        !          40391:        if(argc == 2){
        !          40392:                for(pcf = 3; pcf >= 0; pcf--)
        !          40393:                        if(strcmp(pcfval[pcf], argv[1]) == 0)
        !          40394:                                break;
        !          40395:                if(pcf < 0)
        !          40396:                        goto usage;
        !          40397:        } else
        !          40398:                pcf = 0;
        !          40399:        printf("modesense(id=%d,%s values):\n", s_id, pcfval[pcf]);
        !          40400:        if(er(pcf, cd->err))
        !          40401:                return(1);
        !          40402:        if(dr(pcf, cd->err))
        !          40403:                return(1);
        !          40404:        if(fp(pcf, cd->err))
        !          40405:                return(1);
        !          40406:        if(geom(pcf, cd->err))
        !          40407:                return(1);
        !          40408:        if(vc(pcf, cd->err))
        !          40409:                return(1);
        !          40410:        return(0);
        !          40411: }
        !          40412: 
        !          40413: static Page pages[] =
        !          40414: {
        !          40415:        { "er", 0x1, {
        !          40416:                { "dcr", 2, 0, 1 },
        !          40417:                { "dte", 2, 1, 1 },
        !          40418:                { "per", 2, 2, 1 },
        !          40419:                { "eer", 2, 3, 1 },
        !          40420:                { "rc", 2, 4, 1 },
        !          40421:                { "tb", 2, 5, 1 },
        !          40422:                { "arre", 2, 6, 1 },
        !          40423:                { "awre", 2, 7, 1 },
        !          40424:                { "read retries", 3, 0, 8 },
        !          40425:                { (char *)0 },
        !          40426:        }},
        !          40427:        { "dr", 0x2, {
        !          40428:                { "buffer full", 2, 0, 8 },
        !          40429:                { "buffer empty", 3, 0, 8 },
        !          40430:                { (char *)0 },
        !          40431:        }},
        !          40432:        { "vc", 0x38, {
        !          40433:                { "ce", 2, 4, 1 },
        !          40434:                { (char *)0 },
        !          40435:        }},
        !          40436:        { (char *)0 }
        !          40437: };
        !          40438: 
        !          40439: static int
        !          40440: mselect(ClientData cd, int argc, char **argv)
        !          40441: {
        !          40442:        int page, i;
        !          40443:        int pcf = 0;
        !          40444:        Field *f, *todo[64], **fp = todo;
        !          40445: 
        !          40446: #pragma ref argc
        !          40447: 
        !          40448:        argv++;
        !          40449:        if(*argv){
        !          40450:                for(i = 0; i < 4; i++)
        !          40451:                        if(strcmp(pcfval[i], *argv) == 0){
        !          40452:                                pcf = i;
        !          40453:                                argv++;
        !          40454:                        }
        !          40455:        }
        !          40456:        if(*argv == 0){
        !          40457: usage:
        !          40458:                printf("Usage: modeselect ");
        !          40459:                for(i = 0; i < 4; i++)
        !          40460:                        printf("%c%s", i?'|':'[', pcfval[i]);
        !          40461:                printf("]");
        !          40462:                for(i = 0; pages[i].name; i++)
        !          40463:                        printf("%c%s", i?'|':' ', pages[i].name);
        !          40464:                printf(" fields ...\n");
        !          40465:                return(TCL_OK);
        !          40466:        }
        !          40467:        for(i = 0; pages[i].name; i++)
        !          40468:                if(strcmp(pages[i].name, *argv) == 0)
        !          40469:                        break;
        !          40470:        if(pages[i].name == 0)
        !          40471:                goto usage;
        !          40472:        page = i;
        !          40473:        if(*++argv == 0){
        !          40474: fusage:
        !          40475:                printf("fields for page %s:", pages[page].name);
        !          40476:                for(i = 0; pages[page].fields[i].name; i++)
        !          40477:                        printf(" '%s'", pages[page].fields[i].name);
        !          40478:                printf("\n");
        !          40479:                return(TCL_OK);
        !          40480:        }
        !          40481:        while(*argv){
        !          40482:                for(f = pages[page].fields; f->name; f++)
        !          40483:                        if(strcmp(f->name, *argv) == 0)
        !          40484:                                break;
        !          40485:                if(f->name == 0)
        !          40486:                        goto fusage;
        !          40487:                if(*++argv == 0){
        !          40488:                        sprintf(cd->err, "expected val for field %s", f->name);
        !          40489:                        return(-1);
        !          40490:                }
        !          40491:                f->nval = atol(*argv++);
        !          40492:                *fp++ = f;
        !          40493:        }
        !          40494:        *fp = 0;
        !          40495:        return(wr_mpage(pcf, pages[page].page, todo, cd->err));
        !          40496: }
        !          40497: 
        !          40498: #ifdef NO
        !          40499: #include       <stdio.h>
        !          40500: #include       "../scsi.h"
        !          40501: #include       "../scsish.h"
        !          40502: #include       "fns.h"
        !          40503: 
        !          40504: int
        !          40505: wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          40506: {
        !          40507:        struct scsi_cmd cmd;
        !          40508:        struct scsi_return ret;
        !          40509:        int n;
        !          40510: 
        !          40511: #pragma ref niargs
        !          40512: #pragma ref ncargs
        !          40513: #pragma ref cargs
        !          40514: 
        !          40515:        printf("changing modes to ");
        !          40516:        if((iargs[0] < 256) && (iargs[0] >= 0))
        !          40517:                printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
        !          40518:        if((iargs[1] < 256) && (iargs[1] >= 0))
        !          40519:                printf("er-retries=%d, ", iargs[1]);
        !          40520:        if((iargs[2] < 256) && (iargs[2] >= 0))
        !          40521:                printf("read-recon=%d/256, ", iargs[2]);
        !          40522:        if((iargs[3] < 256) && (iargs[3] >= 0))
        !          40523:                printf("write-recon=%d/256, ", iargs[3]);
        !          40524:        if((iargs[4] < 256) && (iargs[4] >= 0))
        !          40525:                printf("cache %sable, ", iargs[4]?"en":"dis");
        !          40526:        if((iargs[5] < 256) && (iargs[5] >= 0))
        !          40527:                printf("cache threshold=%d, ", iargs[5]);
        !          40528:        if((iargs[6] < 256) && (iargs[6] >= 0))
        !          40529:                printf("cache max prefetch=%d, ", iargs[6]);
        !          40530:        if((iargs[7] < 256) && (iargs[7] >= 0))
        !          40531:                printf("cache size=%d, ", iargs[7]);
        !          40532:        printf("\nsleep(10); kill me if you disagree\n");
        !          40533:        fflush(stdout);
        !          40534:        sleep(10);
        !          40535:        /* do error recovery */
        !          40536:        if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
        !          40537:                set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
        !          40538:                if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40539:                        return(n);
        !          40540:                memcpy(cmd.data, ret.data, 20);
        !          40541:                cmd.data[14] &= ~0x10;
        !          40542:                if((iargs[0] < 256) && (iargs[0] >= 0))
        !          40543:                        cmd.data[14] = iargs[0];
        !          40544:                if((iargs[1] < 256) && (iargs[1] >= 0))
        !          40545:                        cmd.data[15] = iargs[1];
        !          40546:                set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
        !          40547:                if(n = s_io(0, &cmd, 20, &ret, 0, err))
        !          40548:                        return(n);
        !          40549:        }
        !          40550:        /* reconnect */
        !          40551:        if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
        !          40552:                set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
        !          40553:                if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          40554:                        return(n);
        !          40555:                memcpy(cmd.data, ret.data, 24);
        !          40556:                if((iargs[3] < 256) && (iargs[3] >= 0))
        !          40557:                        cmd.data[14] = iargs[3];
        !          40558:                if((iargs[4] < 256) && (iargs[4] >= 0))
        !          40559:                        cmd.data[15] = iargs[4];
        !          40560:                set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
        !          40561:                if(n = s_io(0, &cmd, 24, &ret, 0, err))
        !          40562:                        return(n);
        !          40563:        }
        !          40564:        /* do cache control */
        !          40565:        if(((iargs[4] < 256) && (iargs[4] >= 0))
        !          40566:                        || ((iargs[5] < 256) && (iargs[5] >= 0))
        !          40567:                        || ((iargs[6] < 256) && (iargs[6] >= 0))
        !          40568:                        || ((iargs[7] < 256) && (iargs[7] >= 0))){
        !          40569:                set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
        !          40570:                if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40571:                        return(n);
        !          40572:                memcpy(cmd.data, ret.data, 28);
        !          40573:                cmd.data[14] &= ~0x10;
        !          40574:                if(iargs[4])
        !          40575:                        cmd.data[14] |= 0x10;
        !          40576:                if((iargs[7] < 256) && (iargs[7] >= 0)){
        !          40577:                        cmd.data[14] &= 0xF0;
        !          40578:                        cmd.data[14] |= iargs[7]&0xF;
        !          40579:                }
        !          40580:                if((iargs[5] < 256) && (iargs[5] >= 0))
        !          40581:                        cmd.data[15] = iargs[5];
        !          40582:                if((iargs[6] < 256) && (iargs[6] >= 0))
        !          40583:                        cmd.data[16] = iargs[6];
        !          40584:                set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
        !          40585:                if(n = s_io(0, &cmd, 28, &ret, 0, err))
        !          40586:                        return(n);
        !          40587:        }
        !          40588:        return(0);
        !          40589: }
        !          40590: #endif
        !          40591: 0707070035050551661006660011710000040000010307510467374300100001500000021127wren/wren6.c#include      <stdio.h>
        !          40592: #include       "../scsi.h"
        !          40593: #include       "../scsish.h"
        !          40594: #include       "fns.h"
        !          40595: 
        !          40596: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          40597: 
        !          40598: static int
        !          40599: er_w6(int pcf, char *err)
        !          40600: {
        !          40601:        struct scsi_cmd cmd;
        !          40602:        struct scsi_return ret;
        !          40603:        int n;
        !          40604:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          40605: 
        !          40606:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          40607:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40608:                return(n);
        !          40609:        printf("error recovery:\n\t");
        !          40610:        for(n = 7; n >= 0; n--)
        !          40611:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40612:        printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
        !          40613:                ret.data[15], ret.data[16], ret.data[17]);
        !          40614:        return(0);
        !          40615: }
        !          40616: 
        !          40617: static int
        !          40618: dr_w6(int pcf, char *err)
        !          40619: {
        !          40620:        struct scsi_cmd cmd;
        !          40621:        struct scsi_return ret;
        !          40622:        int n;
        !          40623: 
        !          40624:        set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
        !          40625:        if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          40626:                return(n);
        !          40627:        printf("disconnect/reconnect:\n");
        !          40628:        printf("\tread reconnect=%d/256 full,", ret.data[14]);
        !          40629:        printf(" write reconnect=%d/256 empty\n", ret.data[15]);
        !          40630:        return(0);
        !          40631: }
        !          40632: 
        !          40633: static int
        !          40634: fp_w6(int pcf, char *err)
        !          40635: {
        !          40636:        struct scsi_cmd cmd;
        !          40637:        struct scsi_return ret;
        !          40638:        int n;
        !          40639:        static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };
        !          40640: 
        !          40641:        set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
        !          40642:        if(n = s_io(0, &cmd, 0, &ret, 36, err))
        !          40643:                return(n);
        !          40644:        printf("format parameters:\n");
        !          40645:        printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
        !          40646:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          40647:        printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
        !          40648:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          40649:        printf("\tdrive type:");
        !          40650:        for(n = 7; n >= 3; n--)
        !          40651:                printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
        !          40652:        printf("\n");
        !          40653:        return(0);
        !          40654: }
        !          40655: 
        !          40656: static int
        !          40657: geom_w6(int pcf, char *err)
        !          40658: {
        !          40659:        struct scsi_cmd cmd;
        !          40660:        struct scsi_return ret;
        !          40661:        int n;
        !          40662: 
        !          40663:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          40664:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40665:                return(n);
        !          40666:        printf("drive geometry:\n\t%d cyls, %d heads\n",
        !          40667:                (ret.data[14]<<16)|SHORT(15), ret.data[17]);
        !          40668:        return(0);
        !          40669: }
        !          40670: 
        !          40671: static int
        !          40672: cc_w6(int pcf, char *err)
        !          40673: {
        !          40674:        struct scsi_cmd cmd;
        !          40675:        struct scsi_return ret;
        !          40676:        int n;
        !          40677:        static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };
        !          40678: 
        !          40679:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          40680:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40681:                return(n);
        !          40682:        printf("cache control:\n\t");
        !          40683:        for(n = 7; n >= 4; n--)
        !          40684:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40685:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          40686:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          40687:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          40688:        return(0);
        !          40689: }
        !          40690: 
        !          40691: static int
        !          40692: er_wr2(int pcf, char *err)
        !          40693: {
        !          40694:        struct scsi_cmd cmd;
        !          40695:        struct scsi_return ret;
        !          40696:        int n;
        !          40697:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          40698: 
        !          40699:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          40700:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40701:                return(n);
        !          40702:        printf("error recovery:\n\t");
        !          40703:        for(n = 7; n >= 0; n--)
        !          40704:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40705:        printf("\n\t%d retries, max ecc span=%d, %d wr retries, recov tlimit=%d\n",
        !          40706:                ret.data[15], ret.data[16], ret.data[20], SHORT(22));
        !          40707:        return(0);
        !          40708: }
        !          40709: 
        !          40710: static int
        !          40711: geom_wr2(int pcf, char *err)
        !          40712: {
        !          40713:        struct scsi_cmd cmd;
        !          40714:        struct scsi_return ret;
        !          40715:        int n;
        !          40716:        static char *sspin[4] = {
        !          40717:                "no spindle synch",
        !          40718:                "synch-spindle slave",
        !          40719:                "synch-spindle master",
        !          40720:                "synch-spindle master control",
        !          40721:        };
        !          40722: 
        !          40723:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          40724:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40725:                return(n);
        !          40726:        printf("drive geometry:\n\t%d cyls, %d heads, %s, rotation rate %d\n",
        !          40727:                (ret.data[14]<<16)|SHORT(15), ret.data[17],
        !          40728:                sspin[ret.data[29]&3], SHORT(32));
        !          40729:        return(0);
        !          40730: }
        !          40731: 
        !          40732: static int
        !          40733: cp_wr2(int pcf, char *err)
        !          40734: {
        !          40735:        struct scsi_cmd cmd;
        !          40736:        struct scsi_return ret;
        !          40737:        int n;
        !          40738:        static char *bit[8] = { "ReadCacheDisable", "", "WriteCacheEnable", "", "", "", "", "" };
        !          40739: 
        !          40740:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          40741:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40742:                return(n);
        !          40743:        printf("caching parameters:\n\t");
        !          40744:        for(n = 2; n >= 0; n -= 2)
        !          40745:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40746:        printf("\n\tprefetch: min=%d, max=%d, ceiling=%d\n",
        !          40747:                SHORT(18), SHORT(20), SHORT(22));
        !          40748:        return(0);
        !          40749: }
        !          40750: 
        !          40751: static int
        !          40752: cc_wr2(int pcf, char *err)
        !          40753: {
        !          40754:        struct scsi_cmd cmd;
        !          40755:        struct scsi_return ret;
        !          40756:        int n;
        !          40757:        static char *bit[8] = { "", "", "", "", "CacheEnable", "SSM", "WIE", "CCEN" };
        !          40758: 
        !          40759:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          40760:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40761:                return(n);
        !          40762:        printf("cache control:\n\t");
        !          40763:        for(n = 7; n >= 4; n--)
        !          40764:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40765:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          40766:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          40767:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          40768:        return(0);
        !          40769: }
        !          40770: 
        !          40771: typedef (*Fn)(int, char *);
        !          40772: static struct Drive
        !          40773: {
        !          40774:        char *type;             /* match inq field */
        !          40775:        char *desc;             /* print at the user */
        !          40776:        Fn fns[10];
        !          40777: } drive[] = {          /* first one is default when none match */
        !          40778:        { "94181-15", "Wren VI", er_w6, dr_w6, fp_w6, geom_w6, cc_w6, 0 },
        !          40779:        { "ST4767", "Wren Runner-2", er_wr2, dr_w6, fp_w6, geom_wr2, cp_wr2, cc_wr2, 0 },
        !          40780:        { 0 }
        !          40781: };
        !          40782: 
        !          40783: int
        !          40784: wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          40785: {
        !          40786:        int n, i, retv;
        !          40787:        char product[17];
        !          40788:        int found;
        !          40789:        struct scsi_cmd cmd;
        !          40790:        struct scsi_return ret;
        !          40791: 
        !          40792: #pragma ref ncargs
        !          40793: #pragma ref cargs
        !          40794: #pragma ref niargs
        !          40795: #pragma ref iargs
        !          40796: 
        !          40797: #define        PCF     0       /* current values */
        !          40798: 
        !          40799:        /* find drive type */
        !          40800:        set6(cmd, 0x12, 0, 0, 0, 32, 0);
        !          40801:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40802:                return(n);
        !          40803:        fixedstr(&ret.data[16], 16, product);
        !          40804:        for(n = 0, found = 0; drive[n].type; n++)
        !          40805:                if(strcmp(product, drive[n].type) == 0){
        !          40806:                        found = 1;
        !          40807:                        break;
        !          40808:                }
        !          40809:        if(!found)
        !          40810:                n = 0;
        !          40811: 
        !          40812:        if(found)
        !          40813:                printf("mode sense(%d,0)[%s(%s)]:\n", s_id, drive[n].desc, product);
        !          40814:        else
        !          40815:                printf("mode sense(%d,0)[using %s, found '%s']:\n", s_id, drive[n].desc, product);
        !          40816:        for(i = 0; drive[n].fns[i]; i++)
        !          40817:                if(retv = (*drive[n].fns[i])(PCF, err))
        !          40818:                        return(retv);
        !          40819:        return(0);
        !          40820: }
        !          40821: #include       <stdio.h>
        !          40822: #include       "../scsi.h"
        !          40823: #include       "../scsish.h"
        !          40824: #include       "fns.h"
        !          40825: 
        !          40826: int
        !          40827: wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          40828: {
        !          40829:        struct scsi_cmd cmd;
        !          40830:        struct scsi_return ret;
        !          40831:        int n;
        !          40832: 
        !          40833: #pragma ref niargs
        !          40834: #pragma ref ncargs
        !          40835: #pragma ref cargs
        !          40836: 
        !          40837:        printf("changing modes to ");
        !          40838:        if((iargs[0] < 256) && (iargs[0] >= 0))
        !          40839:                printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
        !          40840:        if((iargs[1] < 256) && (iargs[1] >= 0))
        !          40841:                printf("er-retries=%d, ", iargs[1]);
        !          40842:        if((iargs[2] < 256) && (iargs[2] >= 0))
        !          40843:                printf("read-recon=%d/256, ", iargs[2]);
        !          40844:        if((iargs[3] < 256) && (iargs[3] >= 0))
        !          40845:                printf("write-recon=%d/256, ", iargs[3]);
        !          40846:        if((iargs[4] < 256) && (iargs[4] >= 0))
        !          40847:                printf("cache %sable, ", iargs[4]?"en":"dis");
        !          40848:        if((iargs[5] < 256) && (iargs[5] >= 0))
        !          40849:                printf("cache threshold=%d, ", iargs[5]);
        !          40850:        if((iargs[6] < 256) && (iargs[6] >= 0))
        !          40851:                printf("cache max prefetch=%d, ", iargs[6]);
        !          40852:        if((iargs[7] < 256) && (iargs[7] >= 0))
        !          40853:                printf("cache size=%d, ", iargs[7]);
        !          40854:        printf("\nsleep(10); kill me if you disagree\n");
        !          40855:        fflush(stdout);
        !          40856:        sleep(10);
        !          40857:        /* do error recovery */
        !          40858:        if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
        !          40859:                set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
        !          40860:                if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40861:                        return(n);
        !          40862:                memcpy(cmd.data, ret.data, 20);
        !          40863:                cmd.data[14] &= ~0x10;
        !          40864:                if((iargs[0] < 256) && (iargs[0] >= 0))
        !          40865:                        cmd.data[14] = iargs[0];
        !          40866:                if((iargs[1] < 256) && (iargs[1] >= 0))
        !          40867:                        cmd.data[15] = iargs[1];
        !          40868:                set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
        !          40869:                if(n = s_io(0, &cmd, 20, &ret, 0, err))
        !          40870:                        return(n);
        !          40871:        }
        !          40872:        /* reconnect */
        !          40873:        if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
        !          40874:                set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
        !          40875:                if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          40876:                        return(n);
        !          40877:                memcpy(cmd.data, ret.data, 24);
        !          40878:                if((iargs[3] < 256) && (iargs[3] >= 0))
        !          40879:                        cmd.data[14] = iargs[3];
        !          40880:                if((iargs[4] < 256) && (iargs[4] >= 0))
        !          40881:                        cmd.data[15] = iargs[4];
        !          40882:                set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
        !          40883:                if(n = s_io(0, &cmd, 24, &ret, 0, err))
        !          40884:                        return(n);
        !          40885:        }
        !          40886:        /* do cache control */
        !          40887:        if(((iargs[4] < 256) && (iargs[4] >= 0))
        !          40888:                        || ((iargs[5] < 256) && (iargs[5] >= 0))
        !          40889:                        || ((iargs[6] < 256) && (iargs[6] >= 0))
        !          40890:                        || ((iargs[7] < 256) && (iargs[7] >= 0))){
        !          40891:                set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
        !          40892:                if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          40893:                        return(n);
        !          40894:                memcpy(cmd.data, ret.data, 28);
        !          40895:                cmd.data[14] &= ~0x10;
        !          40896:                if(iargs[4])
        !          40897:                        cmd.data[14] |= 0x10;
        !          40898:                if((iargs[7] < 256) && (iargs[7] >= 0)){
        !          40899:                        cmd.data[14] &= 0xF0;
        !          40900:                        cmd.data[14] |= iargs[7]&0xF;
        !          40901:                }
        !          40902:                if((iargs[5] < 256) && (iargs[5] >= 0))
        !          40903:                        cmd.data[15] = iargs[5];
        !          40904:                if((iargs[6] < 256) && (iargs[6] >= 0))
        !          40905:                        cmd.data[16] = iargs[6];
        !          40906:                set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
        !          40907:                if(n = s_io(0, &cmd, 28, &ret, 0, err))
        !          40908:                        return(n);
        !          40909:        }
        !          40910:        return(0);
        !          40911: }
        !          40912: 0707070035050562171006660011710000040000010307570467374302600001700000021127wren/runner2.c#include    <stdio.h>
        !          40913: #include       "../scsi.h"
        !          40914: #include       "../scsish.h"
        !          40915: #include       "fns.h"
        !          40916: 
        !          40917: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          40918: 
        !          40919: static int
        !          40920: er_w6(int pcf, char *err)
        !          40921: {
        !          40922:        struct scsi_cmd cmd;
        !          40923:        struct scsi_return ret;
        !          40924:        int n;
        !          40925:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          40926: 
        !          40927:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          40928:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          40929:                return(n);
        !          40930:        printf("error recovery:\n\t");
        !          40931:        for(n = 7; n >= 0; n--)
        !          40932:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          40933:        printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
        !          40934:                ret.data[15], ret.data[16], ret.data[17]);
        !          40935:        return(0);
        !          40936: }
        !          40937: 
        !          40938: static int
        !          40939: dr_w6(int pcf, char *err)
        !          40940: {
        !          40941:        struct scsi_cmd cmd;
        !          40942:        struct scsi_return ret;
        !          40943:        int n;
        !          40944: 
        !          40945:        set6(cmd, 0x1A, 0, (pcf<<6)|0x02, 0, 24, 0);
        !          40946:        if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          40947:                return(n);
        !          40948:        printf("disconnect/reconnect:\n");
        !          40949:        printf("\tread reconnect=%d/256 full,", ret.data[14]);
        !          40950:        printf(" write reconnect=%d/256 empty\n", ret.data[15]);
        !          40951:        return(0);
        !          40952: }
        !          40953: 
        !          40954: static int
        !          40955: fp_w6(int pcf, char *err)
        !          40956: {
        !          40957:        struct scsi_cmd cmd;
        !          40958:        struct scsi_return ret;
        !          40959:        int n;
        !          40960:        static char *bit[8] = { "", "", "", "INS", "SURF", "Remove", "HardSec", "SoftSec" };
        !          40961: 
        !          40962:        set6(cmd, 0x1A, 0, (pcf<<6)|0x03, 0, 36, 0);
        !          40963:        if(n = s_io(0, &cmd, 0, &ret, 36, err))
        !          40964:                return(n);
        !          40965:        printf("format parameters:\n");
        !          40966:        printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
        !          40967:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          40968:        printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
        !          40969:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          40970:        printf("\tdrive type:");
        !          40971:        for(n = 7; n >= 3; n--)
        !          40972:                printf(" %s%s", (ret.data[32]&(1<<n))? "":"~", bit[n]);
        !          40973:        printf("\n");
        !          40974:        return(0);
        !          40975: }
        !          40976: 
        !          40977: static int
        !          40978: geom_w6(int pcf, char *err)
        !          40979: {
        !          40980:        struct scsi_cmd cmd;
        !          40981:        struct scsi_return ret;
        !          40982:        int n;
        !          40983: 
        !          40984:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          40985:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          40986:                return(n);
        !          40987:        printf("drive geometry:\n\t%d cyls, %d heads\n",
        !          40988:                (ret.data[14]<<16)|SHORT(15), ret.data[17]);
        !          40989:        return(0);
        !          40990: }
        !          40991: 
        !          40992: static int
        !          40993: cc_w6(int pcf, char *err)
        !          40994: {
        !          40995:        struct scsi_cmd cmd;
        !          40996:        struct scsi_return ret;
        !          40997:        int n;
        !          40998:        static char *bit[8] = { "", "", "", "", "CacheEnable", "RSVD", "WIE", "RSVD" };
        !          40999: 
        !          41000:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          41001:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          41002:                return(n);
        !          41003:        printf("cache control:\n\t");
        !          41004:        for(n = 7; n >= 4; n--)
        !          41005:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          41006:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          41007:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          41008:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          41009:        return(0);
        !          41010: }
        !          41011: 
        !          41012: static int
        !          41013: er_wr2(int pcf, char *err)
        !          41014: {
        !          41015:        struct scsi_cmd cmd;
        !          41016:        struct scsi_return ret;
        !          41017:        int n;
        !          41018:        static char *bit[8] = { "DCR", "DTE", "PER", "EEC", "RC", "TB", "ARRE", "AWRE" };
        !          41019: 
        !          41020:        set6(cmd, 0x1A, 0, (pcf<<6)|0x01, 0, 20, 0);
        !          41021:        if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          41022:                return(n);
        !          41023:        printf("error recovery:\n\t");
        !          41024:        for(n = 7; n >= 0; n--)
        !          41025:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          41026:        printf("\n\t%d retries, max ecc span=%d, %d wr retries, recov tlimit=%d\n",
        !          41027:                ret.data[15], ret.data[16], ret.data[20], SHORT(22));
        !          41028:        return(0);
        !          41029: }
        !          41030: 
        !          41031: static int
        !          41032: geom_wr2(int pcf, char *err)
        !          41033: {
        !          41034:        struct scsi_cmd cmd;
        !          41035:        struct scsi_return ret;
        !          41036:        int n;
        !          41037:        static char *sspin[4] = {
        !          41038:                "no spindle synch",
        !          41039:                "synch-spindle slave",
        !          41040:                "synch-spindle master",
        !          41041:                "synch-spindle master control",
        !          41042:        };
        !          41043: 
        !          41044:        set6(cmd, 0x1A, 0, (pcf<<6)|0x04, 0, 32, 0);
        !          41045:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          41046:                return(n);
        !          41047:        printf("drive geometry:\n\t%d cyls, %d heads, %s, rotation rate %d\n",
        !          41048:                (ret.data[14]<<16)|SHORT(15), ret.data[17],
        !          41049:                sspin[ret.data[29]&3], SHORT(32));
        !          41050:        return(0);
        !          41051: }
        !          41052: 
        !          41053: static int
        !          41054: cp_wr2(int pcf, char *err)
        !          41055: {
        !          41056:        struct scsi_cmd cmd;
        !          41057:        struct scsi_return ret;
        !          41058:        int n;
        !          41059:        static char *bit[8] = { "ReadCacheDisable", "", "WriteCacheEnable", "", "", "", "", "" };
        !          41060: 
        !          41061:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          41062:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          41063:                return(n);
        !          41064:        printf("caching parameters:\n\t");
        !          41065:        for(n = 2; n >= 0; n -= 2)
        !          41066:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          41067:        printf("\n\tprefetch: min=%d, max=%d, ceiling=%d\n",
        !          41068:                SHORT(18), SHORT(20), SHORT(22));
        !          41069:        return(0);
        !          41070: }
        !          41071: 
        !          41072: static int
        !          41073: cc_wr2(int pcf, char *err)
        !          41074: {
        !          41075:        struct scsi_cmd cmd;
        !          41076:        struct scsi_return ret;
        !          41077:        int n;
        !          41078:        static char *bit[8] = { "", "", "", "", "CacheEnable", "SSM", "WIE", "CCEN" };
        !          41079: 
        !          41080:        set6(cmd, 0x1A, 0, (pcf<<6)|0x38, 0, 28, 0);
        !          41081:        if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          41082:                return(n);
        !          41083:        printf("cache control:\n\t");
        !          41084:        for(n = 7; n >= 4; n--)
        !          41085:                printf(" %s%s", (ret.data[14]&(1<<n))? "":"~", bit[n]);
        !          41086:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          41087:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          41088:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          41089:        return(0);
        !          41090: }
        !          41091: 
        !          41092: typedef (*Fn)(int, char *);
        !          41093: static struct Drive
        !          41094: {
        !          41095:        char *type;             /* match inq field */
        !          41096:        char *desc;             /* print at the user */
        !          41097:        Fn fns[10];
        !          41098: } drive[] = {          /* first one is default when none match */
        !          41099:        { "94181-15", "Wren VI", er_w6, dr_w6, fp_w6, geom_w6, cc_w6, 0 },
        !          41100:        { "ST4767", "Wren Runner-2", er_wr2, dr_w6, fp_w6, geom_wr2, cp_wr2, cc_wr2, 0 },
        !          41101:        { 0 }
        !          41102: };
        !          41103: 
        !          41104: int
        !          41105: wr_modesense(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          41106: {
        !          41107:        int n, i, retv;
        !          41108:        char product[17];
        !          41109:        int found;
        !          41110:        struct scsi_cmd cmd;
        !          41111:        struct scsi_return ret;
        !          41112: 
        !          41113: #pragma ref ncargs
        !          41114: #pragma ref cargs
        !          41115: #pragma ref niargs
        !          41116: #pragma ref iargs
        !          41117: 
        !          41118: #define        PCF     0       /* current values */
        !          41119: 
        !          41120:        /* find drive type */
        !          41121:        set6(cmd, 0x12, 0, 0, 0, 32, 0);
        !          41122:        if(n = s_io(0, &cmd, 0, &ret, 32, err))
        !          41123:                return(n);
        !          41124:        fixedstr(&ret.data[16], 16, product);
        !          41125:        for(n = 0, found = 0; drive[n].type; n++)
        !          41126:                if(strcmp(product, drive[n].type) == 0){
        !          41127:                        found = 1;
        !          41128:                        break;
        !          41129:                }
        !          41130:        if(!found)
        !          41131:                n = 0;
        !          41132: 
        !          41133:        if(found)
        !          41134:                printf("mode sense(%d,0)[%s(%s)]:\n", s_id, drive[n].desc, product);
        !          41135:        else
        !          41136:                printf("mode sense(%d,0)[using %s, found '%s']:\n", s_id, drive[n].desc, product);
        !          41137:        for(i = 0; drive[n].fns[i]; i++)
        !          41138:                if(retv = (*drive[n].fns[i])(PCF, err))
        !          41139:                        return(retv);
        !          41140:        return(0);
        !          41141: }
        !          41142: #include       <stdio.h>
        !          41143: #include       "../scsi.h"
        !          41144: #include       "../scsish.h"
        !          41145: #include       "fns.h"
        !          41146: 
        !          41147: int
        !          41148: wr_modeselect(int niargs, int *iargs, int ncargs, char **cargs, char *err)
        !          41149: {
        !          41150:        struct scsi_cmd cmd;
        !          41151:        struct scsi_return ret;
        !          41152:        int n;
        !          41153: 
        !          41154: #pragma ref niargs
        !          41155: #pragma ref ncargs
        !          41156: #pragma ref cargs
        !          41157: 
        !          41158:        printf("changing modes to ");
        !          41159:        if((iargs[0] < 256) && (iargs[0] >= 0))
        !          41160:                printf("er-param=%d(=#%x), ", iargs[0], iargs[0]);
        !          41161:        if((iargs[1] < 256) && (iargs[1] >= 0))
        !          41162:                printf("er-retries=%d, ", iargs[1]);
        !          41163:        if((iargs[2] < 256) && (iargs[2] >= 0))
        !          41164:                printf("read-recon=%d/256, ", iargs[2]);
        !          41165:        if((iargs[3] < 256) && (iargs[3] >= 0))
        !          41166:                printf("write-recon=%d/256, ", iargs[3]);
        !          41167:        if((iargs[4] < 256) && (iargs[4] >= 0))
        !          41168:                printf("cache %sable, ", iargs[4]?"en":"dis");
        !          41169:        if((iargs[5] < 256) && (iargs[5] >= 0))
        !          41170:                printf("cache threshold=%d, ", iargs[5]);
        !          41171:        if((iargs[6] < 256) && (iargs[6] >= 0))
        !          41172:                printf("cache max prefetch=%d, ", iargs[6]);
        !          41173:        if((iargs[7] < 256) && (iargs[7] >= 0))
        !          41174:                printf("cache size=%d, ", iargs[7]);
        !          41175:        printf("\nsleep(10); kill me if you disagree\n");
        !          41176:        fflush(stdout);
        !          41177:        sleep(10);
        !          41178:        /* do error recovery */
        !          41179:        if(((iargs[0] < 256) && (iargs[0] >= 0)) || ((iargs[1] < 256) && (iargs[1] >= 0))){
        !          41180:                set6(cmd, 0x1A, 0, (0<<6)|0x01, 0, 20, 0);
        !          41181:                if(n = s_io(0, &cmd, 0, &ret, 20, err))
        !          41182:                        return(n);
        !          41183:                memcpy(cmd.data, ret.data, 20);
        !          41184:                cmd.data[14] &= ~0x10;
        !          41185:                if((iargs[0] < 256) && (iargs[0] >= 0))
        !          41186:                        cmd.data[14] = iargs[0];
        !          41187:                if((iargs[1] < 256) && (iargs[1] >= 0))
        !          41188:                        cmd.data[15] = iargs[1];
        !          41189:                set6(cmd, 0x15, 0x11, 0, 0, 20, 0);
        !          41190:                if(n = s_io(0, &cmd, 20, &ret, 0, err))
        !          41191:                        return(n);
        !          41192:        }
        !          41193:        /* reconnect */
        !          41194:        if(((iargs[2] < 256) && (iargs[2] >= 0)) || ((iargs[3] < 256) && (iargs[3] >= 0))){
        !          41195:                set6(cmd, 0x1A, 0, (0<<6)|0x02, 0, 24, 0);
        !          41196:                if(n = s_io(0, &cmd, 0, &ret, 24, err))
        !          41197:                        return(n);
        !          41198:                memcpy(cmd.data, ret.data, 24);
        !          41199:                if((iargs[3] < 256) && (iargs[3] >= 0))
        !          41200:                        cmd.data[14] = iargs[3];
        !          41201:                if((iargs[4] < 256) && (iargs[4] >= 0))
        !          41202:                        cmd.data[15] = iargs[4];
        !          41203:                set6(cmd, 0x15, 0x11, 0, 0, 24, 0);
        !          41204:                if(n = s_io(0, &cmd, 24, &ret, 0, err))
        !          41205:                        return(n);
        !          41206:        }
        !          41207:        /* do cache control */
        !          41208:        if(((iargs[4] < 256) && (iargs[4] >= 0))
        !          41209:                        || ((iargs[5] < 256) && (iargs[5] >= 0))
        !          41210:                        || ((iargs[6] < 256) && (iargs[6] >= 0))
        !          41211:                        || ((iargs[7] < 256) && (iargs[7] >= 0))){
        !          41212:                set6(cmd, 0x1A, 0, (0<<6)|0x38, 0, 28, 0);
        !          41213:                if(n = s_io(0, &cmd, 0, &ret, 28, err))
        !          41214:                        return(n);
        !          41215:                memcpy(cmd.data, ret.data, 28);
        !          41216:                cmd.data[14] &= ~0x10;
        !          41217:                if(iargs[4])
        !          41218:                        cmd.data[14] |= 0x10;
        !          41219:                if((iargs[7] < 256) && (iargs[7] >= 0)){
        !          41220:                        cmd.data[14] &= 0xF0;
        !          41221:                        cmd.data[14] |= iargs[7]&0xF;
        !          41222:                }
        !          41223:                if((iargs[5] < 256) && (iargs[5] >= 0))
        !          41224:                        cmd.data[15] = iargs[5];
        !          41225:                if((iargs[6] < 256) && (iargs[6] >= 0))
        !          41226:                        cmd.data[16] = iargs[6];
        !          41227:                set6(cmd, 0x15, 0x11, 0, 0, 28, 0);
        !          41228:                if(n = s_io(0, &cmd, 28, &ret, 0, err))
        !          41229:                        return(n);
        !          41230:        }
        !          41231:        return(0);
        !          41232: }
        !          41233: 0707070035050555571006660011710000040000010307600473370251100001500000016212wren/elite.c#include      <stdio.h>
        !          41234: #include       "../scsi.h"
        !          41235: #include       "../scsish.h"
        !          41236: #include       "../tcl.h"
        !          41237: #include       "fns.h"
        !          41238: #include       "wren.h"
        !          41239: 
        !          41240: static int msense(ClientData, int, char **);
        !          41241: static int mselect(ClientData, int, char **);
        !          41242: static int lsense(ClientData, int, char **);
        !          41243: Wren wr_elite =
        !          41244: {
        !          41245:        "ST41520N",
        !          41246:        "Elite-1",
        !          41247:        msense,
        !          41248:        mselect,
        !          41249:        0,
        !          41250:        lsense,
        !          41251:        0
        !          41252: };
        !          41253: 
        !          41254: #define        SHORT(n)        ((ret.data[n]<<8)|(ret.data[n+1]))
        !          41255: #define        LONG(n)         ((((long)SHORT(n))<<16) | SHORT(n+2))
        !          41256: #define        GETPAGE(page, pcf, ndata)\
        !          41257:        {\
        !          41258:                set6(cmd, 0x1A, 0, (pcf<<6)|page, 0, 12+ndata, 0);\
        !          41259:                if(s_io(0, &cmd, 0, &ret, 12+ndata, err)) return(-1);\
        !          41260:                if(((ret.data[12]&0x3F) != page) || (ret.data[13]+2!= ndata))\
        !          41261:                        printf("pg=#%x(#%x) data=#%x(#%x)\n",\
        !          41262:                                ret.data[12], page, ret.data[13], ndata);\
        !          41263:        }
        !          41264: #define        GETLPAGE(page, ppc, pc, pp, ndata)\
        !          41265:        {\
        !          41266:                set10(cmd, 0x4D, ppc<<1, (pc<<6)|page, 0, 0, pp>>8, pp, (ndata+4)>>8, (ndata+4), 0);\
        !          41267:                if(s_io(0, &cmd, 0, &ret, 4+ndata, err)) return(-1);\
        !          41268:                if(((ret.data[0]&0x3F) != page) || (SHORT(2)!= ndata))\
        !          41269:                        printf("pg=#%x(#%x) data=#%x(#%x)\n",\
        !          41270:                                ret.data[0], page, SHORT(2), ndata);\
        !          41271:        }
        !          41272: 
        !          41273: static int
        !          41274: er(int pcf, char *err)
        !          41275: {
        !          41276:        struct scsi_cmd cmd;
        !          41277:        struct scsi_return ret;
        !          41278:        int n;
        !          41279:        static char *bit[8] = { "DCR", "DTE", "PER", "EER", "RC", "TB", "ARRE", "AWRE" };
        !          41280: 
        !          41281:        GETPAGE(0x01, pcf, 12)
        !          41282:        printf("error recovery:\n\t");
        !          41283:        for(n = 7; n >= 0; n--)
        !          41284:                printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
        !          41285:        printf("\n\t%d retries, max ecc span=%d, recov tlimit=%d\n",
        !          41286:                ret.data[15], ret.data[16], SHORT(22));
        !          41287:        return(0);
        !          41288: }
        !          41289: 
        !          41290: static int
        !          41291: dr(int pcf, char *err)
        !          41292: {
        !          41293:        struct scsi_cmd cmd;
        !          41294:        struct scsi_return ret;
        !          41295: 
        !          41296:        GETPAGE(0x02, pcf, 16)
        !          41297:        printf("disconnect/reconnect:\n");
        !          41298:        printf("\tread reconnect=%d/256 full,", ret.data[14]);
        !          41299:        printf(" write reconnect=%d/256 empty\n", ret.data[15]);
        !          41300:        return(0);
        !          41301: }
        !          41302: 
        !          41303: static int
        !          41304: fp(int pcf, char *err)
        !          41305: {
        !          41306:        struct scsi_cmd cmd;
        !          41307:        struct scsi_return ret;
        !          41308:        int n;
        !          41309:        static char *bit[8] = { "", "", "", "", "SURF", "Remove", "HardSec", "SoftSec" };
        !          41310: 
        !          41311:        GETPAGE(0x03, pcf, 24);
        !          41312:        printf("format parameters:\n");
        !          41313:        printf("\tdrive type:");
        !          41314:        for(n = 7; n >= 3; n--)
        !          41315:                printf(" %s=%d", bit[n], !!(ret.data[32]&(1<<n)));
        !          41316:        printf("\n");
        !          41317:        printf("\tsec=%d B, trk=%d secs, interleave=%d, trk_skew=%d, cyl_skew=%d\n",
        !          41318:                SHORT(24), SHORT(22), SHORT(26), SHORT(28), SHORT(30));
        !          41319:        printf("\t%d alt_sec/%d alt_trk per zone(=%d trks), %d alt_trk per vol\n",
        !          41320:                SHORT(16), SHORT(18), SHORT(14), SHORT(20));
        !          41321:        return(0);
        !          41322: }
        !          41323: 
        !          41324: static int
        !          41325: geom(int pcf, char *err)
        !          41326: {
        !          41327:        struct scsi_cmd cmd;
        !          41328:        struct scsi_return ret;
        !          41329:        static char *sync[4] = { "disabled", "slave", "master", "reserved" };
        !          41330: 
        !          41331:        GETPAGE(0x04, pcf, 24);
        !          41332:        printf("drive geometry:\n\t%d cyls, %d heads, %d RPM, spindle-sync=%s\n",
        !          41333:                (((long)ret.data[14])<<16)|SHORT(15), ret.data[17], SHORT(32),
        !          41334:                sync[ret.data[29]&0x3]);
        !          41335:        return(0);
        !          41336: }
        !          41337: 
        !          41338: static int
        !          41339: gcp(int pcf, char *err)
        !          41340: {
        !          41341:        struct scsi_cmd cmd;
        !          41342:        struct scsi_return ret;
        !          41343:        int n;
        !          41344:        static char *bit[] = { "RCD", "MF", "WCE" };
        !          41345: 
        !          41346:        GETPAGE(0x08, pcf, 12)
        !          41347:        printf("generic caching parameters:\n\t");
        !          41348:        for(n = 0; n < 3; n++)
        !          41349:                printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
        !          41350:        printf("\n\trd retent priority=%d, wr retent priority=%d\n",
        !          41351:                ret.data[15]>>4&0xF, ret.data[15]&0xF);
        !          41352:        printf("\tprefetch: min=%d, max=%d, ceiling=%d\n",
        !          41353:                SHORT(18), SHORT(20), SHORT(22));
        !          41354:        return(0);
        !          41355: }
        !          41356: 
        !          41357: static int
        !          41358: vc(int pcf, char *err)
        !          41359: {
        !          41360:        struct scsi_cmd cmd;
        !          41361:        struct scsi_return ret;
        !          41362:        int n;
        !          41363:        static char *bit[8] = { "", "", "", "", "CE", 0, "WIE", "ZLR" };
        !          41364: 
        !          41365:        GETPAGE(0x38, pcf, 16)
        !          41366:        printf("vendor caching parameters:\n\t");
        !          41367:        for(n = 7; n >= 4; n--)
        !          41368:                if(bit[n])
        !          41369:                        printf(" %s=%d", bit[n], !!(ret.data[14]&(1<<n)));
        !          41370:        printf(", cache size=%d\n", ret.data[14]&0xF);
        !          41371:        printf("\tprefetch: thr=%d max=%d(mult %d) min=%d(mult %d)\n",
        !          41372:                ret.data[15], ret.data[16], ret.data[17], ret.data[18], ret.data[19]);
        !          41373:        return(0);
        !          41374: }
        !          41375: 
        !          41376: static char *pcfval[4] = { "current", "changeable", "default", "saved" };
        !          41377: 
        !          41378: static int
        !          41379: msense(ClientData cd, int argc, char **argv)
        !          41380: {
        !          41381:        int pcf;
        !          41382: 
        !          41383:        if(argc > 2){
        !          41384: usage:
        !          41385:                sprintf(cd->err, "usage: modesense [%s|%s|%s|%s]", pcfval[0], pcfval[1], pcfval[2], pcfval[3]);
        !          41386:                return(TCL_ERROR);
        !          41387:        }
        !          41388:        if(argc == 2){
        !          41389:                for(pcf = 3; pcf >= 0; pcf--)
        !          41390:                        if(strcmp(pcfval[pcf], argv[1]) == 0)
        !          41391:                                break;
        !          41392:                if(pcf < 0)
        !          41393:                        goto usage;
        !          41394:        } else
        !          41395:                pcf = 0;
        !          41396:        printf("modesense(id=%d,%s values):\n", s_id, pcfval[pcf]);
        !          41397:        if(er(pcf, cd->err))
        !          41398:                return(1);
        !          41399:        if(dr(pcf, cd->err))
        !          41400:                return(1);
        !          41401:        if(fp(pcf, cd->err))
        !          41402:                return(1);
        !          41403:        if(geom(pcf, cd->err))
        !          41404:                return(1);
        !          41405:        if(gcp(pcf, cd->err))
        !          41406:                return(1);
        !          41407:        if(vc(pcf, cd->err))
        !          41408:                return(1);
        !          41409:        return(0);
        !          41410: }
        !          41411: 
        !          41412: static Page pages[] =
        !          41413: {
        !          41414:        { "er", 0x1, {
        !          41415:                { "dcr", 2, 0, 1 },
        !          41416:                { "dte", 2, 1, 1 },
        !          41417:                { "per", 2, 2, 1 },
        !          41418:                { "eer", 2, 3, 1 },
        !          41419:                { "rc", 2, 4, 1 },
        !          41420:                { "tb", 2, 5, 1 },
        !          41421:                { "arre", 2, 6, 1 },
        !          41422:                { "awre", 2, 7, 1 },
        !          41423:                { "read retries", 3, 0, 8 },
        !          41424:                { (char *)0 },
        !          41425:        }},
        !          41426:        { "gc", 0x08, {
        !          41427:                { "rcd", 2, 0, 1 },
        !          41428:                { "rdrp", 3, 4, 4 },
        !          41429:                { "minpref", 7, 0, 16 },
        !          41430:                { "maxpref", 9, 0, 16 },
        !          41431:                { (char *)0 },
        !          41432:        }},
        !          41433:        { "vc", 0x38, {
        !          41434:                { "csize", 2, 0, 4 },
        !          41435:                { "ce", 2, 4, 1 },
        !          41436:                { "wie", 2, 6, 1 },
        !          41437:                { "zlr", 2, 7, 1 },
        !          41438:                { (char *)0 },
        !          41439:        }},
        !          41440:        { (char *)0 }
        !          41441: };
        !          41442: 
        !          41443: static int
        !          41444: mselect(ClientData cd, int argc, char **argv)
        !          41445: {
        !          41446:        int page, i;
        !          41447:        int pcf = 0;
        !          41448:        Field *f, *todo[64], **fp = todo;
        !          41449: 
        !          41450: #pragma ref argc
        !          41451: 
        !          41452:        argv++;
        !          41453:        if(*argv){
        !          41454:                for(i = 0; i < 4; i++)
        !          41455:                        if(strcmp(pcfval[i], *argv) == 0){
        !          41456:                                pcf = i;
        !          41457:                                argv++;
        !          41458:                        }
        !          41459:        }
        !          41460:        if(*argv == 0){
        !          41461: usage:
        !          41462:                printf("Usage: modeselect ");
        !          41463:                for(i = 0; i < 4; i++)
        !          41464:                        printf("%c%s", i?'|':'[', pcfval[i]);
        !          41465:                printf("]");
        !          41466:                for(i = 0; pages[i].name; i++)
        !          41467:                        printf("%c%s", i?'|':' ', pages[i].name);
        !          41468:                printf(" fields ...\n");
        !          41469:                return(TCL_OK);
        !          41470:        }
        !          41471:        for(i = 0; pages[i].name; i++)
        !          41472:                if(strcmp(pages[i].name, *argv) == 0)
        !          41473:                        break;
        !          41474:        if(pages[i].name == 0)
        !          41475:                goto usage;
        !          41476:        page = i;
        !          41477:        if(*++argv == 0){
        !          41478: fusage:
        !          41479:                printf("fields for page %s:", pages[page].name);
        !          41480:                for(i = 0; pages[page].fields[i].name; i++)
        !          41481:                        printf(" '%s'", pages[page].fields[i].name);
        !          41482:                printf("\n");
        !          41483:                return(TCL_OK);
        !          41484:        }
        !          41485:        while(*argv){
        !          41486:                for(f = pages[page].fields; f->name; f++)
        !          41487:                        if(strcmp(f->name, *argv) == 0)
        !          41488:                                break;
        !          41489:                if(f->name == 0)
        !          41490:                        goto fusage;
        !          41491:                if(*++argv == 0){
        !          41492:                        sprintf(cd->err, "expected val for field %s", f->name);
        !          41493:                        return(-1);
        !          41494:                }
        !          41495:                f->nval = atol(*argv++);
        !          41496:                *fp++ = f;
        !          41497:        }
        !          41498:        *fp = 0;
        !          41499:        return(wr_mpage(pcf, pages[page].page, todo, cd->err));
        !          41500: }
        !          41501: 
        !          41502: static int
        !          41503: cs(int pc, char *err)
        !          41504: {
        !          41505:        struct scsi_cmd cmd;
        !          41506:        struct scsi_return ret;
        !          41507:        int n;
        !          41508: 
        !          41509: #define        DU(n)   ((ret.data[n]&0x80)? "[DU]":"")
        !          41510: 
        !          41511:        GETLPAGE(0x30, 0/*ppc*/, pc, 0/*pp*/, 40)
        !          41512:        printf("cache statistics:\n");
        !          41513:        printf("\tblocks: %d read%s, %d written%s, %d read from cache%s\n", LONG(8), DU(6), LONG(16), DU(14), LONG(24), DU(22));
        !          41514:        printf("\trequests: %d in segment%s, %d out of segment%s\n", LONG(32), DU(30), LONG(40), DU(38));
        !          41515:        return(0);
        !          41516: }
        !          41517: 
        !          41518: static char *pcval[4] = { "current thresh", "current cum", "default thresh", "default cum" };
        !          41519: 
        !          41520: static int
        !          41521: lsense(ClientData cd, int argc, char **argv)
        !          41522: {
        !          41523:        int pcf;
        !          41524: 
        !          41525: /*     if(argc > 2){
        !          41526: usage:
        !          41527:                sprintf(cd->err, "usage: logsense [%s|%s|%s|%s]", pcfval[0], pcfval[1], pcfval[2], pcfval[3]);
        !          41528:                return(TCL_ERROR);
        !          41529:        }
        !          41530:        if(argc == 2){
        !          41531:                for(pcf = 3; pcf >= 0; pcf--)
        !          41532:                        if(strcmp(pcval[pcf], argv[1]) == 0)
        !          41533:                                break;
        !          41534:                if(pcf < 0)
        !          41535:                        goto usage;
        !          41536:        } else
        !          41537:                pcf = 0;
        !          41538: */
        !          41539:                pcf = 0;
        !          41540:        printf("logsense(id=%d,%s values):\n", s_id, pcval[pcf]);
        !          41541:        if(cs(pcf, cd->err))
        !          41542:                return(1);
        !          41543:        return(0);
        !          41544: }
        !          41545: 0707070035050555201006660011710000040000010307620473371171400001600000004224wren/driver.c#include     <stdio.h>
        !          41546: #include       "../scsi.h"
        !          41547: #include       "../scsish.h"
        !          41548: #include       "../tcl.h"
        !          41549: #include       "fns.h"
        !          41550: #include       "wren.h"
        !          41551: 
        !          41552: static Wren *types[] =
        !          41553: {
        !          41554:        &wr_elite,
        !          41555:        &wr_wren5,
        !          41556:        0
        !          41557: };
        !          41558: 
        !          41559: static Wren *curtype = 0;
        !          41560: 
        !          41561: static int
        !          41562: setwren(char *err)
        !          41563: {
        !          41564:        int n;
        !          41565:        char product[17];
        !          41566:        int found;
        !          41567:        struct scsi_cmd cmd;
        !          41568:        struct scsi_return ret;
        !          41569: 
        !          41570:        /* find drive type */
        !          41571:        set6(cmd, 0x12, 0, 0, 0, 32, 0);
        !          41572:        if(s_io(0, &cmd, 0, &ret, 32, err))
        !          41573:                return(-1);
        !          41574:        fixedstr(&ret.data[16], 16, product);
        !          41575:        for(n = 0, found = 0; types[n]; n++)
        !          41576:                if(strcmp(product, types[n]->ident) == 0){
        !          41577:                        found = 1;
        !          41578:                        break;
        !          41579:                }
        !          41580:        if(found){
        !          41581:                if(types[n] != curtype){
        !          41582:                        curtype = types[n];
        !          41583:                        printf("drive is a %s (%s)\n",
        !          41584:                                curtype->desc, curtype->ident);
        !          41585:                }
        !          41586:        } else {
        !          41587:                curtype = types[0];
        !          41588:                printf("drive is '%s'; pretending it's a %s\n",
        !          41589:                        product, curtype->desc);
        !          41590:        }
        !          41591:        return(0);
        !          41592: }
        !          41593: 
        !          41594: int wr_modesense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          41595: {
        !          41596:        if(setwren(cd->err))
        !          41597:                ERR_RETURN
        !          41598:        if(curtype->msense == 0){
        !          41599:                strcpy(cd->err, "modesense not implemented");
        !          41600:                ERR_RETURN
        !          41601:        }
        !          41602:        if((*curtype->msense)(cd, argc, argv))
        !          41603:                ERR_RETURN
        !          41604:        return(TCL_OK);
        !          41605: }
        !          41606: 
        !          41607: int wr_modeselect(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          41608: {
        !          41609:        if(setwren(cd->err))
        !          41610:                ERR_RETURN
        !          41611:        if(curtype->mselect == 0){
        !          41612:                strcpy(cd->err, "modeselect not implemented");
        !          41613:                ERR_RETURN
        !          41614:        }
        !          41615:        if((*curtype->mselect)(cd, argc, argv))
        !          41616:                ERR_RETURN
        !          41617:        return(TCL_OK);
        !          41618: }
        !          41619: 
        !          41620: int wr_diag(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          41621: {
        !          41622:        if(setwren(cd->err))
        !          41623:                ERR_RETURN
        !          41624:        if(curtype->diag == 0){
        !          41625:                strcpy(cd->err, "diagnostics not implemented");
        !          41626:                ERR_RETURN
        !          41627:        }
        !          41628:        if((*curtype->diag)(cd, argc, argv))
        !          41629:                ERR_RETURN
        !          41630:        return(TCL_OK);
        !          41631: }
        !          41632: 
        !          41633: int wr_logsense(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          41634: {
        !          41635:        if(setwren(cd->err))
        !          41636:                ERR_RETURN
        !          41637:        if(curtype->lsense == 0){
        !          41638:                strcpy(cd->err, "logging not implemented");
        !          41639:                ERR_RETURN
        !          41640:        }
        !          41641:        if((*curtype->lsense)(cd, argc, argv))
        !          41642:                ERR_RETURN
        !          41643:        return(TCL_OK);
        !          41644: }
        !          41645: 
        !          41646: int wr_logselect(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !          41647: {
        !          41648:        if(setwren(cd->err))
        !          41649:                ERR_RETURN
        !          41650:        if(curtype->lselect == 0){
        !          41651:                strcpy(cd->err, "logging not implemented");
        !          41652:                ERR_RETURN
        !          41653:        }
        !          41654:        if((*curtype->lselect)(cd, argc, argv))
        !          41655:                ERR_RETURN
        !          41656:        return(TCL_OK);
        !          41657: }
        !          41658: 0707070035050555131006660011710000040000010310030473371170700001400000000723wren/wren.htypedef int (*wfn)(ClientData, int, char **);
        !          41659: 
        !          41660: typedef struct
        !          41661: {
        !          41662:        char *ident;
        !          41663:        char *desc;
        !          41664:        wfn msense;
        !          41665:        wfn mselect;
        !          41666:        wfn diag;
        !          41667:        wfn lsense;
        !          41668:        wfn lselect;
        !          41669: } Wren;
        !          41670: 
        !          41671: extern Wren wr_elite;
        !          41672: extern Wren wr_wren5;
        !          41673: 
        !          41674: typedef struct
        !          41675: {
        !          41676:        char *name;
        !          41677:        int byteoff;
        !          41678:        int bitoff;
        !          41679:        int len;                /* in bits */
        !          41680:        long nval;              /* new value */
        !          41681: } Field;
        !          41682: 
        !          41683: extern int wr_mpage(int pcf, int page, Field **fields, char *err);
        !          41684: 
        !          41685: typedef struct
        !          41686: {
        !          41687:        char *name;
        !          41688:        int page;
        !          41689:        Field fields[10];
        !          41690: } Page;
        !          41691: 0707070035050553121006660011710000040000010325470470271202300001500000003011wren/mpage.c#include      <stdio.h>
        !          41692: #include       "../scsi.h"
        !          41693: #include       "../scsish.h"
        !          41694: #include       "../tcl.h"
        !          41695: #include       "fns.h"
        !          41696: #include       "wren.h"
        !          41697: 
        !          41698: int
        !          41699: wr_mpage(int pcf, int page, Field **fields, char *err)
        !          41700: {
        !          41701:        struct scsi_cmd cmd;
        !          41702:        struct scsi_return ret;
        !          41703:        int ndata;
        !          41704:        int m, msk;
        !          41705:        Field *f, **fp;
        !          41706:        static int mask[8] = { 0x0, 0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F };
        !          41707: 
        !          41708:        set6(cmd, 0x1A, 0, (pcf<<6)|page, 0, 60, 0);
        !          41709:        if(s_io(0, &cmd, 0, &ret, -72, err))
        !          41710:                return(-1);
        !          41711:        ndata = ret.nread;
        !          41712:        if(((ret.data[12]&0x3F) != page) || (ret.data[13]+14!= ndata))
        !          41713:                printf("pg=#%x(#%x) data=#%x(#%x)\n", ret.data[12], page, ret.data[13], ndata);
        !          41714: 
        !          41715:        printf("setting");
        !          41716:        for(fp = fields; f = *fp; fp++)
        !          41717:                printf(" %s '%s'=%d", ((*fp)->len==1)? "bit":"count", (*fp)->name, (*fp)->nval);
        !          41718:        printf("; kill me if that's wrong\n");
        !          41719:        fflush(stdout);
        !          41720:        sleep(5);
        !          41721:        for(fp = fields; f = *fp; fp++)
        !          41722:                switch(f->len)
        !          41723:                {
        !          41724:                case 8:
        !          41725:                        ret.data[f->byteoff+12] = f->nval;
        !          41726:                        break;
        !          41727:                case 16:
        !          41728:                        ret.data[f->byteoff+11] = f->nval>>8;
        !          41729:                        ret.data[f->byteoff+12] = f->nval;
        !          41730:                        break;
        !          41731:                case 1: case 2: case 3: case 4: case 5: case 6: case 7:
        !          41732:                        msk = mask[f->len]<<f->bitoff;
        !          41733:                        m = ret.data[f->byteoff+12]&~msk;
        !          41734:                        ret.data[f->byteoff+12] = m|((f->nval<<f->bitoff) & msk);
        !          41735:                        break;
        !          41736:                default:
        !          41737:                        printf("unknown size %d for field %s\n", f->len, f->name);
        !          41738:                        return(-1);
        !          41739:                }
        !          41740:        memcpy(cmd.data, ret.data, ndata);
        !          41741:        cmd.data[0] = cmd.data[2] = 0;
        !          41742:        cmd.data[12] &= 0x3F;   /* clear out top two bits */
        !          41743:        set6(cmd, 0x15, 0x11, 0, 0, ndata, 0);
        !          41744:        if(s_io(0, &cmd, ndata, &ret, 0, err))
        !          41745:                return(-1);
        !          41746:        return(TCL_OK);
        !          41747: }
        !          41748: 0707070035050553121006660011710000040000010325470470271202300001300000000000TRAILER!!!                default:
        !          41749:                        printf("unknown size %d for field %s\n", f->len, f->name);
        !          41750:                        return(-1);
        !          41751:                }
        !          41752:        memcpy(

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.