Annotation of researchv10no/cmd/worm/scsi/scsi.cpio, revision 1.1.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.