ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Adjust $trng table */ { *sptr++=*eptr++; } while (eptr!=dptr); dptr-=d; for (j=i+1;j' && d=='>')) && e=='=') b+=2; else if (c=='.' && d=='.' && e=='.') b+=2; else if (d=='=' && findchar("-+<>=!*/%&^|",c)) /* All ops ending = */ ++b; else if (c=='-' && (d=='>' || d=='-')) ++b; else if ((c=='+' && d=='+') || (c=='<' && d=='<') || (c=='>' && d=='>')) ++b; else if ((c=='&' && d=='&') || (c=='|' && d=='|') || (c=='#' && d=='#')) ++b; else if(!findchar("()[].!~+-*&/%<>^|?:=,{};#",c)) return ERROR; /* fprintf(stderr,"TOKOPR: (final) b=%d\n",b); */ return b; } toknum(ln,lnptr) char *ln,*lnptr; { if (*lnptr=='.') /* screen out . as a struct operator */ if (lnptr>ln && (IDNT_TYPE((*(lnptr-1))))) return (++lnptr-ln); for (;;) { do { ++lnptr; } while (isalnum(*lnptr) || *lnptr=='.'); if ((*lnptr!='+' && *lnptr!='-') || (*(lnptr-1)!='E' && *(lnptr-1)!='e')) return (lnptr-ln); } } initstdefs() { defnam[0]="__LINE__ "; defnam[1]="__FILE__ "; defnam[2]="__DATE__ "; defnam[3]="__TIME__ "; defnam[4]="__LINE__ "; /* blank out STDC slot unless ANSI selected */ defarg[0]=NULL; defarg[1]=NULL; defarg[2]=NULL; defarg[3]=NULL; defarg[4]=NULL; deftok[0]=NULL; deftok[1]=NULL; deftok[2]=_date_; deftok[3]=_time_; deftok[4]="1"; /* Indicates ANSI compatible */ } cncatstr(ln) char *ln; { int b; while (b=findstr(1,ln,"\" \"")) strcpy(&ln[b-1],&ln[b+2]); } L44AF cmpa #$23 bne L44A6 lbsr L4581 bra ]$+È ,#include "cp.h" gettoken(ln,b) /* b=pos (0-...) to search ln; assumes b points to 1st */ char *ln; /* char of token (no error chking except EOL) */ int b; /* ln=search $tring */ { /* Returns last char. pos of token (offset from ln) */ int i; /* or ERROR (-1) if b is out of range */ register char *lnptr; lnptr=&ln[b]; if (b>=strlen(ln)) /* prevent starting at end of line */ return ERROR; /* b is outside ln range */ if (i=findchar(lnptr,' ')) /* token terminated w/space */ return i-2+b; return (strlen(ln)-1); /* token terminated by NULL */ } toksrch(ln,tk,pv,kv,bv,b,tcnt) /* Searches for specified token under */ char *ln,*tk; /* specified conditions. */ int pv,kv,bv,b,*tcnt; /* ln = search $tring tk = token to search for */ { /* pv,kv,bv = (),[],{} cntrs (++/-- for open/close */ int c,d,mflag; /* b = start pos of srch (0-...) must be 1st char */ int pcnt,kcnt,bcnt; /* of token (no error chking) */ register char *lnptr; /* pv,kv,bv must match pcnt,kcnt,bcnt for exit */ /* also tk must match current token for exit */ *tcnt=0; /* If pv,kv or bv = 99 then that flag can have any */ pcnt=kcnt=bcnt=0; /* value upon exit (i.e. wildcard) */ do /* Returns pos of first char in token or -1 (fails) */ { mflag=0; /* no match */ /* fprintf(stderr,"TOKSRCH: b4 gettoken\n"); */ if ((c=gettoken(ln,b))==ERROR) return ERROR; /* no match */ ++*tcnt; /* inc token counter */ lnptr=&ln[b]; if (!strncmp(lnptr,tk,max(c-b+1,strlen(tk)))) ++mflag; /* token match found */ if (c==b) /* token only 1 char */ { if (*lnptr=='(') ++pcnt; else if (*lnptr==')') --pcnt; else if (*lnptr=='[') ++kcnt; else if (*lnptr==']') --kcnt; else if (*lnptr=='{') ++bcnt; else if (*lnptr=='}') --bcnt; } d=b; /* save first char of token */ b=c+2; /* point to next token */ if (pv==99) /* if any of these are 99 they automatically match */ pcnt=99; if (kv==99) kcnt=99; if (bv==99) bcnt=99; } while (!mflag || pcnt!=pv || kcnt!=kv || bcnt!=bv); return d; /* return pos of first letter in token */ } tstargs(i) /* count # of args for defargs[i] */ int i; { char *ptr; int b; b=0; ptr=defarg[i]; while (*ptr) { if (*(ptr++)==' ') ++b; /* # of spaces = # of args */ } /* fprintf(stderr,"TSTARGS aft: defarg=|%s|\n",defarg[i]); fprintf(stderr,"TSTARGS aft: b=%d\n",b); */ return b; } addqmac(mac) /* Adds " to macro when # is found */ char *mac; { char buf[MAX_LENGTH],*bptr; register char *mptr; bptr=buf; mptr=mac; *(bptr++)='"'; while (*mptr) { if (*mptr=='\"' || *mptr=='\\') *(bptr++)='\\'; if (*mptr!=' ') *(bptr++)=*(mptr++); else { *(bptr++)=VTAB; /* convert spaces to VTAB */ ++mptr; } } *(bptr++)='\"'; *bptr=0; strcpy(mac,buf); } char *getoknum(tok,buf,num) /* Counts tokens in tok[] for token # num */ char *tok,*buf; /* and stores it in buf[]. Returns NULL */ int num; /* on failure to locate token # or will */ { /* return ptr to buf[] */ int b,c,i; /* num must be 1-... */ c=-2; i=0; if (num<=0) return NULL; /* token # out of range */ while (i++30) /* If identifier length is >31 ... */ d=b+30; /* set identifier lenght = 31 */ for (i=b;i<=d;++i) /* Put def name in $trng table */ { if (dptr<&dstrtbl[STRNG_TBL_MAX-2]) /* test $trng table */ *dptr++=line[i]; else doerr(5,i); /* $trng table full -- FATAL ERROR */ } *dptr++=' '; /* add ending space */ *dptr++=0; /* NULL terminate $trng */ } dodefine(a,b) /* Given B: pos. of char. after 1st space */ int a,b; /* This rtn places define parms into proper tables */ { /* for reading during macro expansion */ int c,d; /* Returns NULL if no errors */ if ((d=c=getident(line,b))==ERROR) /* Get identifier */ return (doerr(1,b)); /* Return if invalid identifier */ defnam[defcntr]=dptr; /* Put identifier addr in def name tbl */ putiddtbl(b,d); /* Put def name in $trng table */ /* fprintf(stderr,"DODEFINE: line[c+1]=|%c|\n",line[c+1]); fprintf(stderr,"DODEFINE: line=%s\n",line); */ if (line[c+1]=='(') /* if def is macro... */ { d=b=skpbl(line,c+2); /* Allign to 1st non-space char in macro */ if (line[b]!=')') /* if more than 0 arguments in macro */ { --b; defarg[defcntr]=dptr; do /* Scan argument format */ { /* fprintf(stderr,"DODEF (): b=|%d|\n",b); */ ++b; b=skpbl(line,b); /* fprintf(stderr,"DODEF (2): b=|%d|\n",b); */ if ((c=getident(line,b))==ERROR) /* Get identifier (args) */ return (doerr(2,b)); /* return if any args missing */ putdtbl(b,c); /* put args in $trng table */ /* fprintf(stderr,"DODEF (): dfarg=|%s|\n",defarg[defcntr]);*/ *(dptr-1)=' '; b=skpbl(line,c+1); /* Should now point at , or ) */ /* fprintf(stderr,"DODEF (3): b=|%d|\n",b); */ if (line[b]!=',' && line[b]!=')') /* If not ) or , error */ return (doerr(3,b)); /* so return */ } while (line[b]!=')'); *dptr++=0; /* fprintf(stderr,"DODEF: dfarg=|%s|\n",defarg[defcntr]); */ } else { if (dptr+5>=&dstrtbl[STRNG_TBL_MAX-1]) /* table overflow */ doerr(5,b); strcpy(--dptr,"( ) "); dptr+=5; defarg[defcntr]=NULL; /* 0 args in macro */ } } else /* define is not a macro */ { b=c; defarg[defcntr]=NULL; } if (line[b+1]=='\n') /* If EOL then define = 1 */ { line[b+1]=' '; line[b+2]='1'; /* This does not test LINE to see if it is full */ line[b+3]='\n'; } b+=2; /* locate 1st char of token-sequence */ c=rskpbl(line,a-1); /* locate last char of token-sequence */ deftok[defcntr++]=dptr; /* Put token addr in tok table */ putdtbl(b,c); /* Copy token into $trng table */ return NULL; /* No errors */ } prep() /* Check for preprocessor commands */ { int b,c; char *ln; ln=line; while(*(++ln)=='#' || *ln==' ') /* locate first directive character */ ; if (!*ln) /* NULL directive */ return (killine()); if (strcmp2(ln,"if ") || strcmp2(ln,"ifdef ") || strcmp2(ln,"ifndef ")) { doif(ln); return (killine()); } if (strcmp2(ln,"else")) { doelse(); return (killine()); } if (strcmp2(ln,"endif")) { doendif(); return (killine()); } if (strcmp2(ln,"elif ")) { doelif(ln); return (killine()); } if (procsw) { if (strcmp2(ln,"define ")) { c=getident(ln,7)+2; /* get end of identifier */ splittok(ln,c); /* tokenize rest of line */ dodefine(strlen(line),&ln[7]-line); /* store #define info */ /* fprintf(stderr,"PREP (after dodef): line=|%s|\n",line); */ tstdupdef(); /* Check for def duplication and fix */ return (killine()); /* Discard #define line */ } if (strcmp2(ln,"include ")) { doinclude(&ln[8]); /* open include file */ return (killine()); /* Discard #include line */ } if (strcmp2(ln,"undef ")) { doundef(&ln[6]); /* remove undef identifier from def table */ return (killine()); /* Discard #undef line */ } if (strcmp2(ln,"error ")) { fprintf(stderr,"User error - %s\n",&ln[6]); /* print error */ return (killine()); /* Discard #error line */ } if (strcmp2(ln,"asm")) { for (;;) /* send all following lines through for assembler */ { getln(0); if (eflag) break; if (findstr(1,line,"#endasm")!=NULL) break; if (cflag) puts("#2"); else printf("#pragma asm "); printf("%s\n",line); } if (eflag && cflag) /* error only in Microware mode (no #endasm)*/ doerr(18,1); return (killine()); } if (strcmp2(ln,"pragma ")) { dopragma(ln+7); return (killine()); } if (strcmp2(ln,"line ")) { doline(ln+5); return (killine()); } doerr(17,1); /* Illegal preprocessor directive */ return (killine()); } } dopragma(ln) char *ln; { if (strcmp2(ln,"asm ")) { if (cflag) puts("#2"); else printf("#pragma asm "); if (*(ln+4)=='*') /* removes label field null character */ *(ln+4)=' '; printf("%s\n",ln+4); return (killine()); } if (!cflag) printf("#pragma %s\n",ln); return (killine()); } doline(ln) char *ln; { char *lnptr, *fnptr; lnptr=ln-1; fnptr=ifnbuf[fptr]; splittok(lnptr,1); /* tokenize #line args */ expand(lnptr,NULL,NULL); /* expand any macro tokens */ _line_=atoi(++lnptr); /* set line number (no error checking) */ while (*(++lnptr)!=' ') /* get next argument */ ; if (*(++lnptr)=='"') /* if " then filename is loaded into ifnbuf */ while (*(++lnptr)!='"') *(fnptr++)=lnptr; printf("#line %s\n",ln); /* #line command is sent to compiler */ } clr >$098C lda >$32D3 in] %� @&#include "cp.h" doif(ln) char *ln; { if (iflvl==MAX_NEST_IF) { doerr(15,ln-line); /* Too many nested #ifs */ return; } if (procsw) ifstat[++iflvl]=procsw=gettorf(ln); /* evaluate IF & return T or F */ else ifstat[++iflvl]=DEAD; /* unused #if */ ifnest[iflvl]=2; } doelse() { if (iflvl<0 || ifnest[iflvl]==1) { doerr(16,3); /* improper nesting */ return; } --ifnest[iflvl]; if (ifstat[iflvl]!=DEAD) procsw=ifstat[iflvl]=1-ifstat[iflvl]; /* flip T or F status */ } doendif() { if (iflvl<0) { doerr(16,3); /* nesting error */ return; } if (ifstat[--iflvl]!=DEAD) procsw=ifstat[iflvl]; } doelif(ln) char *ln; { if (iflvl<0 || ifnest[iflvl]==1) { doerr(16,ln-line); /* improper nesting */ return; } if (ifstat[iflvl]==TRUE) { ifstat[iflvl]=DEAD; procsw=FALSE; } if (ifstat[iflvl]==FALSE) procsw=ifstat[iflvl]=gettorf(ln); /* evaluate IF & return T or F */ ifnest[iflvl]=2; } gettorf(ln) register char *ln; { switch(ln[2]) { case 'd': /* ifdef */ splittok(ln,6); return dodef(ln,6); break; case 'n': /* ifndef */ splittok(ln,7); return (1-dodef(ln,7)); break; case 'i': /* elif */ return ifcalc(&ln[5]); /* process elif expression */ break; case ' ': /* if */ return ifcalc(&ln[3]); /* process if expression */ break; } } dodef(ln,b) char *ln; int b; { int i,tcnt; for (i=0;i ",ifnbuf[fptr],_line_-1); switch(code) { case 1: fprintf(stderr,"#define error - missing identifier"); break; case 2: fprintf(stderr,"#define error - missing arguments"); break; case 3: fprintf(stderr,"#define error - missing , or )"); break; case 4: fprintf(stderr,"#define error - missing space after args"); break; case 5: fprintf(stderr,"Compiler error - define $tring table full"); xflag=TRUE; break; case 6: fprintf(stderr,"#include error - bad file name"); break; case 7: fprintf(stderr,"Compiler error - include too deeply nested"); break; /* UNUSED ERRORS case 8: fprintf(stderr,"Compiler error - line too long"); xflag=TRUE; break; */ case 9: fprintf(stderr,"Syntax error - Missing >"); break; case 10: fprintf(stderr,"Warning - No end */"); break; case 11: fprintf(stderr,"Warning - Improper redefinition"); break; /* UNUSED case 12: exit(fprintf(stderr,"Syntax error - unmatched () or []")); break; */ case 13: fprintf(stderr,"Syntax error - macro syntax error"); break; case 14: fprintf(stderr,"Syntax error - wrong # of args"); break; case 15: fprintf(stderr,"Compiler error - too many nested #ifs"); break; case 16: fprintf(stderr,"Syntax error - #if nesting error"); break; case 17: fprintf(stderr,"Syntax error - Illegal # directive"); break; case 18: fprintf(stderr,"Syntax error - No #endasm"); xflag=TRUE; break; case 19: fprintf(stderr,"Syntax error - No end \" or \'"); break; case 20: fprintf(stderr,"Syntax error - Illegal escape sequence"); break; } fprintf(stderr," ***\n%s\n",line); /* for (i=0;i$32CD lda >$32CE ldu #$32C5 sta b,u puls b lda #$FF ldu #$31E5 sta b,u clra tfr d,x lbra L35A6 ] 5þ Š6#define MAIN 1 #include "cp.h" #define ishex(x) ((x)>='0' && (x)<='9') || ((x)>='a' && (x)<='f') || ((x)>='A' && (x)<='F') #define isoctal(x) (x)>='0' && (x)<='7' char *qa1(); main(argc,argv) int argc; char *argv[]; { int a,b,i,namptr,triflag; char edition[5]; clock=time((long *)0); timdat=ctime(&clock); /* produce time/date string */ strncpy(_date_,&timdat[4],7); strncpy(&_date_[7],&timdat[20],4); _date_[11]=0; /* copy date string into _date_ */ strncpy(_time_,&timdat[11],8); _time_[8]=0; /* copy time string into _time_ */ initstdefs(); /* Initialize standard definitions */ edition[0]='0'; edition[1]=0; dptr=dstrtbl; /* Init $trng tbl ptr */ namptr=NULL; /* Init filename ptr to none */ triflag=FALSE; /* DEFAULT: no trigraph expansion */ for (i=1;i[=] */ strcpy(line,argv[i]+2); /* put def in line[] */ if (a=findchar(line,'=')) line[a-1]=' '; /* change = to space */ else strcat(line," 1"); /* if no tok-seq then set to 1 */ dodefine(strlen(line),0); /* Install def in tbl */ break; case 'c': /* Compiler select */ case 'C': cflag=TRUE; /* select Microware C compatible */ break; case 'e': /* Edition # */ case 'E': /* Format: -e[=] */ if (*(argv[i]+2)=='=') { strncpy(edition,argv[i]+3,4); edition[4]=0; } else { edition[0]='0'; edition[1]=0; } break; case 'l': /* Copy source to ASM output (Microware only) */ case 'L': lflag=TRUE; /* select Microware C compatible */ break; default: /* Illegal switch */ usage(); break; } } else if (!namptr) namptr=i; else usage(); /* Already have filename and not a switch */ } if (!namptr) { fpath[fptr]=0; /* if no filename given use stdin */ strcpy(ifnbuf[fptr],"stdin.c"); /* set default name */ } else if ((fpath[fptr]=open(argv[namptr],1))!=ERROR) strcpy(ifnbuf[fptr],argv[namptr]); /* store root file name */ else exit(_errmsg(errno,"Cannot open source file: %s\n",argv[namptr])); lnprint(3,edition); /* print root file #line info */ for (;;) /* Loop to process each file in IFNBUF[] */ { eflag=FALSE; /* set exit flag to no exit */ for (;;) /* Loop to process each line in current file */ { if (eflag) /* break if EOF */ break; if(!(a=getln(0))) /* Fill LINE[] up to CR or EOF */ { lnflag[1]=-1; /* cancel #line after current line */ lnflag[0]=_line_; /* print #line before next line */ continue; /* empty line */ } if (lflag) /* generate Microware codes to copy source lines */ { if (cflag) puts("#6"); /* for ASM output */ else printf("#pragma src"); printf("%s\n",line); } do { if (triflag) /* include trigraph expansion */ b=a=trigraph(a); else b=a; /* exclude trigraph expansion */ a=xtndln(a); } while (b!=a); wspace(); if (*line=='#' || line[1]=='#') a=prep(); /* Parse preprocessor commands */ if (a && procsw && tstline(a)) { splittok(line,0); /* Split non # line into tokens */ expand(line,NULL,0); cncatstr(line); /* Concatenate adjacent strings */ convert(VTAB,SPACE); lnprint(0,&lnflag[0]); printf("%s\n",line+1); lnprint(0,&lnflag[1]); } else { lnflag[1]=-1; /* cancel #line after current line */ lnflag[0]=_line_; /* print #line before next line */ } } if (!fptr) /* if root file end cprep */ break; close(fpath[fptr--]); /* close include file */ lnprint(2,NULL); /* print #line code to reallign to old file */ } } /* Get next line from input path up to CR or EOF. If EOF then eflag is TRUE. 'a' is the position in line[] to start reading in new input. Upon exit 'a' = position of null terminator in line[]. All lines end with a NULL, even if EOF occurs line is NULL terminated. CRs are stripped. The only exception is when an EOF occurs when a=0 then since no chars are waiting to be processed getln() exits. This is only rtn that sets eflag. If line exceeds line buffer length then fatal error occurs. */ getln(a) /* gets next line from input path, strips CR, and NULL */ int a; /* terminates */ { register char *lnptr; lnptr=&line[a]; /* fprintf(stderr,"fpath=%d errno=%d\n",fpath[fptr],errno);*/ if ((a=lnread(fpath[fptr],lnptr,LINEMAX-a))==ERROR) { eflag=TRUE; /* exit at next opportunity */ return NULL; /* EOF on blank line */ } ++_line_; /* fprintf(stderr,"a=%d line=|%s|\n",a,line); */ return a; /* returns number of bytes read */ } trigraph(a) int a; { int c,d; register int b; c=1; while (b=findstr(c,line,"??")) { if(d=gettri(line+b+1)) /* Get replacement char or zero if invalid */ { line[b-1]=d; /* Insert substitute char */ strcpy(&line[b],&line[b+2]); /* Append end of line */ a-=2; /* Adjust end of line ptr */ } c=b+1; /* set new search pos */ } return a; } gettri(b) /* Given b=addr of char after ?? in trigraph */ char *b; /* Returns substitution char or 0 if invalid */ { register int i; i=0; switch(*b) { case '=': i='#'; break; case '/': i='\\'; break; case '\'': i='^'; break; case '(': i='['; break; case ')': i=']'; break; case '!': i='|'; break; case '<': i='{'; break; case '>': i='}'; break; case '-': i='~'; break; } return i; } xtndln(a) /* concatenate lines ending in \ */ register int a; { if (line[a-1]=='\\') { if (eflag) /* if EOF */ line[--a]=0; /* Drop \ */ else { a=getln(--a); /* Drop \ and append next line */ lnflag[1]=_line_; /* set to print #line after line */ } } return a; } wspace() /* Shrink whitespace chars to single space */ { register char *b; b=line-1; while (*++b) { if (*b==LINEFEED || *b==FORMFEED || *b==VTAB || *b==HTAB) *b=' '; } cmnt(); /* strip comments */ } convert(x,y) /* convert all occurrences of x to y */ char x,y; /* Routine will fail to operate properly if x=y */ { register char *b; b=line-1; while(*++b) { if (*b==x) *b=y; } } cmnt() /* strip comments from line */ { char *b; b=line-1; /* point to start of line */ while (*++b) /* read until NULL terminator */ { fprintf(stderr,"CMNT: ln=|%s|\nb=|%s|\n",line,b); if (*b=='/') comm(b); /* Process comments */ else if (*b=='"') b=qa1('"',b); /* Process quotes */ else if (*b=='\'') b=qa1('\'',b); /* Process apostrophes */ else if (*b==' ') space(b); /* Reduce multiple spaces to one */ } } comm(b) char *b; { int a,c,d; if (*(b+1)=='*') /* found start of comment */ { *b=' '; /* Found comment line(s) replace with space */ if (c=findstr(3,b,"*/")) /* Cmnt ends on same line */ { fprintf(stderr,"COMM: ln=|%s|\n",line); strcpy(*(b+1),b+c+1); return b; } if (eflag) /* File ends with no end comment operator */ { *b--=0; _errmsg(0,"Warning ... No end comment '*/' terminator\n"); return b; } do /* comment ends on another line */ { if (eflag) /* EOF occurred */ break; a=getln(b-line+1); /* get nxt line */ } while ((c=findstr(1,line,"*/"))==NULL); lnflag[1]=-1; /* cancel #line after current line */ lnflag[0]=_line_; /* print #line before next line */ if (c) strcpy(*b+1,&line[c+1]); else b=line; do { d=a=trigraph(strlen(line)); a=xtndln(a); } while (d!=a); b-=2; /* Backup to catch double space situations */ } return b; } qa(ln,x,b) /* Searches ln for end " or ' depending on x */ char *ln,x; /* b = first " or ' */ int b; { register char *lnptr; lnptr=&ln[b]; while (*(++lnptr)!='\\' && *lnptr!=x && *lnptr) ; b=lnptr-ln; if (*lnptr=='\\') { lnptr=escseq(lnptr); b=qa(ln,x,lnptr-ln); /* skip to char after \ */ } else if (*lnptr!=x) { doerr(19,b); /* No end " or ' */ return b-1; } return b; } char *qa1(x,b) /* Searches ln for end " or ' depending on x */ char x,*b; /* b = first " or ' */ { register char *lnptr; while (*++b!='\\' && *b!=x && *b) ; if (*b=='\\') { b=escseq(b); b=qa1(x,b); /* skip to char after \ */ } else if (*b!=x) { doerr(19,b-line); /* No end " or ' */ return b-1; } return b; } qa2(ln,x,b) /* Searches ln for end " or ' depending on x */ char *ln,x; /* b = first " or ' Swaps VTAB for spaces */ int b; { register char *lnptr; lnptr=&ln[b]; while (*(++lnptr)!='\\' && *lnptr!=x && *lnptr) if (*lnptr==' ') *lnptr=VTAB; b=lnptr-ln; if (*lnptr=='\\') { lnptr=escseq(lnptr); /* bypass any escape sequences */ b=qa(ln,x,lnptr-ln); /* skip to char after \ */ } else if (*lnptr!=x) { doerr(19,b); return b-1; } return b; } space(b) /* shrink spaces to one */ char *b; { register char *cptr; cptr=b; while (*++cptr==' ') ; if (b!=cptr-1) { strcpy(b+1,cptr); } } tstline(a) int a; { return (skpbl(line,0)!=a); } usage() { fputs("Usage: cprep [-opt] \n\n",stderr); fputs("Options: -t Turn on trigraph expansion\n",stderr); fputs(" -d[=] defines name\n",stderr); fputs(" -c Emulates Microware c.prep line codes\n",stderr); fputs(" -h Prints this help message\n",stderr); fputs(" -e[=] edition #\n",stderr); fputs(" -l Copies source lines for ASM output\n",stderr); exit(0); } getident(ln,b) /* Given B: pos. of first char. in identifier */ char *ln; int b; /* Returns C: ERROR = invalid identifier or ## = pos of end */ { /* character in identifier */ register int c; c=b; if ((IDNT_INIT(ln[c]))==NULL) return ERROR; do { ++c; } while (IDNT_TYPE(ln[c])); return --c; } /* skpbl(ln,b) Given B: start pos. of blank search char *ln; int b; Returns B: pos. of first non-blank char. after spaces */ #asm skpbl: ldd 2,s (ln) addd 4,s (b) tfr d,x (ln[b]) SKPL0 ldb ,x+ cmpb #32 lbeq SKPL0 tfr x,d subd 2,s subd #1 puls pc #endasm rskpbl(ln,a) /* Given A: end pos. to start search */ char *ln; register int a; /* Returns A: pos. of first non-blank char. after spaces */ { while (ln[a]==' ') --a; return a; } char *escseq(ln) /* returns char * to last char in escape sequence */ char *ln; /* ln must point to first \ in escape sequence */ { switch(*++ln) { case '\"': case '\'': case '\?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': return ln; break; case 'x': /* Hexadecimal escape sequence */ do { ++ln; } while (ishex(*ln)); return --ln; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': ++ln; if (isoctal(*ln)) { ++ln; if (isoctal(*ln)) return ln; } return --ln; break; } } A5] q ÁbÍ#‡] :findstr_cfindstr4`ìfãhƒîjmÄ'%¦ '!¡Ä&ø0¤3AmÄ'¦ '¡À'ôîj1„ÿá£h5àO_5à fcb $94,$9A,$81,$A5,$96,$7C,$A0,$12 ...%.| . fcb $A0,$12,$7C,$7C,$7C,$7C,$7C,$7C .|||||| fcb $7C,$7C,$7C,$]ƒ Ãcc3 cp.c -r cc3 cp1.c -r cc3 cp2.c -r cc3 cp3.c -r cc3 cp4.c -r cc3 cp.r cp1.r cp2.r cp3.r cp4.r solve.r findstr.r -m=19k -f=cprep fcb $99,$99,$E7,$E7,$99,$99,$FF,$FF ..gg.... fcb $80,$BE,$D5,$EB,$C1,$80,$FF,$FF .>UkA... fcb ] *· ÅbÍ#‡] * çsolve_ccalc1ýcalc2\pshunopŸgetnumgetop1Ægetopr>popunopÍpushstkætstnxtoppushopEpopstk*opvalwsolvepopop|4@Ìüfÿø2éü¶O_çé8íé>íéDíéFíéHìéNÃÿÿíä0ä¯éwìé40d4„2díéBƒ&0éD40é40f4>2fFìé40é>4Œ2díéBƒ&0éH40é@4ìé@ 80éH40é@40éH40é 42d40éN40éF4f2d422d42fìéD&»£ìé40é:402dí~' 0éF40é40é<4>2fO_çé8n0éH40é@40é<40éN40éF4÷2d40éP40éH4ä2d42f4’2fO_çé8ìéF'0éF40é4 2d40é:4þ‚2dæé8&ÿUìé40d4©2díéB'0b40é:4þV2d®äæ&þ�ìéHƒ&ìé> ìéH40�ÿ4O_4þ)2f4þ"2b2éJ5À4@Ìÿ¶þîh2~ìă,ìÄÃíăXI®h0‹ìf턱0�Ø4O_4ýâ2d4ýÛ2b˜4@ÌÿÀýÎîfìÄÃÿÿíÄXI®d0‹ì„5À4@Ìÿ¸ý³îhìă ,ìd4ìÄÃíăXIXIãh4ý�2dO0�Šr4@Ìÿ¸ý|îfìÄ/ìÄÃÿÿíÄXIXIãd5À0�{ O4@Ìÿ¸ýYîhìă ,ìÄÃíă®f0‹æøç„ý0�[ !4@Ìÿ¸ý+îfìÄ/ìÄÃÿÿíÄ®d0‹æ„5À0�N4O_4ý 2d4ýÁ4@Ìþ°ü÷2éþú®ù 0¯ù æ„Á 'ð®é æ”Á(&vÌíéO_íéìéÃíéƒ0ä0‹4®ù0¯ùæ„çñ®é æ”Á(& ìéà ®é æ”Á)& ìéÃÿÿíéìé&°ìéÃÿÿ0ä0‹O_ç„0ä4üdo®é æ”0©0‹æ„OÄ'd®é æ”çäO_íéìéÃíé0ä0‹4®ù0¯ùæ„çñ0©0‹æ„OÄ&Óìé0ä0‹O_ç„ìù Ãÿÿíù 0ä4ûò2bíù Ì ®é æ”40�-4O_4ûÑ2f4ûÊ2b2é5À4@Ìÿ´ûº2~®ø0¯øæ„Á 'òÌíä®hæ”O_X®hæ”çø®øæ4®j攣á&±ìäÃíäƒãf4®jæ”çñ�®hæ”çøO_®fç’®øæÁ=& ®hæ”çøÌ=®fçO_®fçìøÃíøi®øæ40�…k®hæ”çø®øæÁ=&ìäÃíäƒãfÌ= "®øæ4æø£á&ìäÃíäƒãfæøç„ìøÃíø®fìä0‹O_ç„Ì|®hæ”40�44O_4ú¦2f4úŸ2b ]¯~'þúŒ|'þøŒ&'þñŒ^'ÿŒ+'ÿŒ-'ÿŒ*'ÿ Œ/'ÿŒ%'þûŒ='ÿŒ!'þýŒ<'ÿ.Œ>'ÿ'ÿ„2b5À4@ÌÿÀú2®ø0¯øæ„Á 'ò®fæ” ®fæ”çøO_®dçÌ5ÀŒ!'éŒ~'ÿâŒ+'ÿÛŒ-'ÿÔ®ø0¯øù4@Ìþ¬ùÜ2éþôìùíé0é¯é ìé 40h4ýù2dídƒ& ìé4� 2bíb0f4�2bíä£b/Ì O_2é 5À4@Ìÿµù�2®eæçäæøøæäÁ|&Ì-æä'ìe40�ú4O_4ùO2f4ùH2bÌ æäÁ&&Ìýæä'ìe40�ß4O_4ù2f4ù2bÌÙæä'ìe40�Ð4O_4øû2f4øô2b̵æäÁ=& ®eæ&Ì£ìe40�³ 8æäÁ=&®eæ'æä&̃æä4æø£á& ®eæ&Ìiìe40�Ž4O_4ø�2f4øˆ2b bÌ GÌ A¯~' Œ|'þûŒ&'ÿ$Œ^'ÿMŒ='ÿjŒ!'ÿcŒ<'ÿxŒ>'ÿqŒ+'¸Œ-'ÿ±Œ*'²Œ/'ÿ«Œ%'ÿ¤æø40�#4O_4ø2f4ø2bÌ4@Ìÿ¶÷ûæg ìd&Ì O_5ÀìdCS5Àìd5Àìd@P‚5ÀŒ!'ÜŒ~'äŒ+'åŒ-'äæg40�Þ4O_4÷¯2f4÷¨2b5À4@Ìÿµ÷œ2®iæçäæø ðæäÁ|&ìe&¡ 3æä'ìi40�®4O_4÷h2f4÷a2bìeªgêhæäÁ&&ìe'xìg'rcæä'ìi40�‡4O_4÷,2f4÷%2bìe¤gähãæä'ìi40�u4O_4÷2f4öþ2bìe¨gèh¼æäÁ=&®iæ&ìe£g& Ì¡ìi40�L #æäÁ=&®iæ&ìe£g'çÌ|ìi40�<4O_4ö¢2f4ö›2bEæäÁ=&®iæ& ìe£g"¯ Gæä4æø £á&®iæ& ìe4ìiöb(æä'ìi40�ù4O_4öJ2f4öC2bìe£g$fÌûæäÁ=&®iæ& ìe£g%M Eæä4æø £á&®iæ& ìe4ìiöÆæä'ìi40�¬4O_4õè2f4õá2bìe£g#Ì›O_–ìeãg�ìe£gˆìe4ìiõ¶|ìe4ìiõªpìe4ìiõždŒ|'þ Œ&'þ7Œ^'þlŒ='þŒŒ!'þªŒ<'þÛŒ>'ÿ8Œ+'˜Œ-'šŒ*'œŒ/'£Œ%'ªìi40�4O_4õ@2f4õ92b2a5ÀStack val=%d. equation error. PUSHSTK: Stack full! PUSHOP: Stack full! Stack empty! PSHUNOP: Stack full! POPUNOP: Stack empty! %d Illegal number. %d Illegal binary operator. %d Illegal binary operator. %s Illegal operator %s Illegal operator %s Illegal operator %s Illegal operator %s Illegal operator %d Unrecognized operator! %d Illegal operator. %s Illegal operator %s Illegal operator %s Illegal operator %s Illegal operator %s Illegal operator %s Illegal operator %s Illegal operator %d Illegal operator. ccasl  œccmult  Hcclsr  þstrcpy | ¨ natoi  _errmsg Õ  õ - X ¯ ß  o ï O – Ò ù  \  ´    ¾_stkcheck  ì 0 K ‚ ¥ Ó  D Ì " }  b_chcodes ¨ åexit Ü # ü 4 _ ¶ æ   v ö V � Ù    c  »    Åccumod  `ccudiv  T $1E,$0F,$00,$05,$0F,$40,$05,$0F .....@.. fcb $5F,$23,$00,$¿v vÕ .® ®Ôcc.èõcc252.ãþmodule.è\,$0E,$96,$0A,$0E,$BD,$0A,$0E .....=.. fcb $BD,$0A,$0E,$96,$0A,$0E,$81,$0A =....... fcb $0E,$BD,$0A,$0E,$96,$0A,$0E,$81 .=...... fcb $0A,$0E,$96,$0A,$0E,$BD,$0A,$0E .....=.. fcb $96,$0A,$0E,$81,$0A,$0E,$52,$0A ......R. fcb $0E,$96,$0A,$0E,$81,$0A,$0E,$52 .......R fcb $0A,$0E,$81,$0A,$0E,$96,$0A,$0E ........ fcb $96,$0A,$0E,$81,$0A,$0E,$52,$0A ......R. fcb $0E,$96,$0A,$0E,$81,$0A,$0E,$52 .......R fcb $0A,$0E,$81,$0A,$0E,$96,$0A,$0E ........ fcb $E1,$0A,$0E,$BD,$0A,$0E,$96,$0A a..=.... fcb $0E,$E1,$0A,$0E,$BD,$0A,$0E,$96 .a..=... fcb $0A,$0E,$BD,$0A,$0E,$E1,$0A,$0E ..=..a.. fcb $E1,$0A,$0E,$E1,$0A,$0E,$F1,$0A a..a..q. fcb $0E,$E1,$0A,$0E,$BD,$0A,$0E,$96 .a..=... fcb $0A,$0E,$52,$0A,$0E,$81,$0A,$00 ..R..... fcb $02,$0E,$F1,$01,$00,$01,$0D,$2C ..q...., fcb $02,$00,$01,$00,$13,$03,$00,$14 ........ fcb $03,$00,$15,$03,$00,$14,$03,$00 ........ fcb $13,$03,$00,$01,$0F,$46,$02,$0F .....F.. fcb $40,$02,$0F,$5F,$02,$0F,$29,$02 @.._..). fcb $0F,$40,$02,$0F,$70,$02,$0F,$46 .@..p..F fcb $02,$00,$01,$0D,$2C,$02,$00,$01 ....,... fcb $0D,$55,$02,$00,$01 emod eom equ * end v8ÝLevel equ 2 use /dd/defs/os9defs use /dd/defs/scfdefs ?v`u ß.®.®Þinja.asíç v¸wè¹ nam Ninja ttl program module * Disassembled 1904/05/05 01:16:50 by Disasm v1.5 (C) 1988 by RML ifp1 use /dd/defs/os9defs endc tylg set Prgrm+Objct atrv set ReEnt+rev rev set $01 mod eom,name,tylg,atrv,start,size u0000 rmb 1 u0001 rmb 1 u0002 rmb 1 u0003 rmb 1 u0004 rmb 1 u0005 rmb 1 u0006 rmb 1 u0007 rmb 1 u0008 rmb 2 u000A rmb 1 u000B rmb 1 u000C rmb 1 u000D rmb 1 u000E rmb 1 u000F rmb 1 u0010 rmb 1 u0011 rmb 1 u0012 rmb 1 u0013 rmb 1 u0014 rmb 1 u0015 rmb 1 u0016 rmb 1 u0017 rmb 2 u0019 rmb 1 u001A rmb 2 u001C rmb 1 u001D rmb 1 u001E rmb 1 u001F rmb 1 u0020 rmb 1 u0021 rmb 1 u0022 rmb 2 u0024 rmb 1 u0025 rmb 1 u0026 rmb 1 u0027 rmb 1 u0028 rmb 1 u0029 rmb 1 u002A rmb 1 u002B rmb 1 u002C rmb 1 u002D rmb 1 u002E rmb 1 u002F rmb 1 u0030 rmb 1 u0031 rmb 1 u0032 rmb 1 u0033 rmb 1 u0034 rmb 1 u0035 rmb 2 u0037 rmb 2 u0039 rmb 3 u003C rmb 8 u0044 rmb 2 u0046 rmb 1 u0047 rmb 1 u0048 rmb 1 u0049 rmb 1 u004A rmb 1 u004B rmb 2 u004D rmb 1 u004E rmb 2 u0050 rmb 1 u0051 rmb 8 u0059 rmb 1 u005A rmb 7 u0061 rmb 3 u0064 rmb 4 u0068 rmb 2 u006A rmb 1 u006B rmb 6 u0071 rmb 15 u0080 rmb 1 u0081 rmb 6 u0087 rmb 5 u008C rmb 2 u008E rmb 5 u0093 rmb 9 u009C rmb 1 u009D rmb 3 u00A0 rmb 6 u00A6 rmb 1 u00A7 rmb 1 u00A8 rmb 14 u00B6 rmb 17 u00C7 rmb 39 u00EE rmb 2 u00F0 rmb 5 u00F5 rmb 1 u00F6 rmb 1 u00F7 rmb 5 u00FC rmb 3 u00FF rmb 120 u0177 rmb 3463 u0EFE rmb 32 u0F1E rmb 512 u111E rmb 64 u115E rmb 704 size equ . name equ * fcs /Ninja/ fcb $01 L0013 fcb $00 L0014 fcb $02 L0015 fcb $1B fcb $31 1 fcb $02 fcb $00 fcb $1B fcb $31 1 fcb $0D fcb $00 fcb $0C fcb $1B fcb $31 1 fcb $0C fcb $24 $ L0022 fcb $0A fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $20 fcb $4B K fcb $79 y fcb $75 u fcb $6D m fcb $2D - fcb $47 G fcb $61 a fcb $69 i fcb   Õ ö#include #define VERSION 2 #define MAJREV 5 #define MINREV 2 #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif /* #define TWOPASS TRUE */ /* undefine for one pass compiler */ #define ASSEMBLER "rma" /* change to "c.asm" if NOT Developer's Pak */ #define NASSEMBLER "r63" /* alternate assembler for native .a source */ #define LINKER "rlink" /* change to "c.link" if NOT Developer's pak */ direct int aflag = FALSE, Aflag = FALSE, bflag = FALSE, cflag = FALSE, fflag = FALSE, gtflg = FALSE, lgflg = FALSE, llflg = FALSE, lsflg = FALSE, mflag = FALSE, Nflag = FALSE, oflag = TRUE, o2flg = FALSE, pflag = FALSE, p2flg = FALSE, qflag = FALSE, rflag = FALSE, sflag = FALSE, s2flg = FALSE, tgfex = FALSE, tflag = FALSE, xflag = FALSE, zflag = FALSE, tmpdir = TRUE, childid = 0, childstat = 0, filcnt = 0, hello = FALSE, libcnt = 0, maccnt = 0, newopath = 0, nullflag = FALSE, rsufflg = FALSE, loopcnt; direct char *thisfilp = 0, *lasfilp = 0; direct int frkprmsiz = 0; direct char *frkprmp = 0; char *tmproot[] = {"/R", "/R0", "/DD/TEMP", "/DD/TMP"} ; char tmptail[] = "ctmp.XXXXXX"; char tmpname[64] = ""; char rlib[60] = ""; char mainline[20] = "cstart.r"; char *libarray[4], *namarray[100], suffarray[100], *macarray[100], ofn[60], *xtramem, *modname, *edition, destfile[60], srcfile[60], objname[60], parmbuf[4096], devnam1[20]; fcb $72 r fcb $74 t Z\à ÿ]/* ** driver for the C compiler */ /* ** 01-23-85 Added -b and -t options. Enabled /nl. ** ??-??-?? Added -O option to stop compilation after optimization. ** Prevent optimization of ".a" files. ** 02-15-85 Fix naming conventions if -O is used. ** ??-??-?? ll option for lex lib ** 07-30-86 P option for special debug and z for debug ** 03-24-87 don't optimize ".o" files, but accept as ".a" ** 03-12-88 Added two pass (CoCo) compiler support. Bill Dickhaus ** 09-23-90 Increased command-line buffer (parmbuf) to 4k, Eddie Kuns ** 10-29-91 Added -g to use /dd/lib/getopt.r instead of library version ** Added -V to show version number. Bob Billson ** 02-19-92 Added lg and ls options for cgfx and sys libraries, ** respectively. Boisy G. Pitre ** 07-10-93 Added -A option to use ansifront. Vaughn Cato. ** 11-22-93 Added -E opt, triggers c_prep18's trigraph expands. G. Heskett ** 03-21-94 Added -N opt, use r63 as assembler instead of rma. G. Heskett */ #include "cc.h" #include /* screw ansifront's 8 char hashing */ #define intercept intercep /* some proto info for ansifront or c.pass1 */ char * chkccdev(); static int newipath = -1; cleanup() { if (childid) kill(childid, 2); if (newopath) { close(1); dup(newopath); close(newopath); } if (newipath > -1) { close(0); dup(newipath); close(newipath); } if (thisfilp) unlink(thisfilp); if (lasfilp) unlink(lasfilp); } trap(code) int code; { cleanup(); exit(code); } /*page*/ main(argc, argv) int argc; char **argv; { char **emp; int suffix, j, m, deltmpflg; char *p; j = 0; while ((--argc > 0) && (++j < 100)) { if (*(p = *++argv) == '-') { while (*++p) { switch (*p) { case 'a' : /* stop at asm (no .r) (D) */ aflag = TRUE; break; case 'A' : /* Use ansifront */ Aflag = TRUE; break; case 'b' : /* use different "cstart" */ bflag = TRUE; if (*(p + 1) != '=') break; strcpy(mainline, (p + 2)); goto saver; case 'c' : /* include comments (C) */ cflag = TRUE; break; case 'd' : /* make identifier (define) (C) */ if (*(p + 1) == '\0') goto saver; *--p = '-'; *(p + 1) = 'D'; macarray[maccnt++] = p; goto saver; case 'e' : /* set edition number */ emp = &edition; goto emcommon; case 'E' : tgfex = 1; break; case 'f' : /* set outfile path (L) */ if (*++p != '=') goto saver; strcpy(objname, (p + 1)); if (objname[0] == '\0') goto saver; ++fflag; suffix = findsuff(objname); if (suffix == 'c' || suffix == 'r') error("Suffix '.%c' not allowed for output", suffix); goto saver; /*page*/ case 'g': /* use /dd/lib/getopt.r */ gtflg++; break; case 'l' : /* specify a library (L) */ if (*(p + 1) == 'l') { llflg++; goto saver; } else if (*(p + 1) == 's') { lsflg++; goto saver; } else if (*(p+1) == 'g') { lgflg++; goto saver; } else if (*(p + 1) != '=') goto saver; if (libcnt == 4) error("Too many libraries"); *--p = '-'; libarray[libcnt++] = p; goto saver; case 'm' : /* set memory size */ emp = &xtramem; *p &= 0x5f; emcommon: if ((*(p + 1))) { *--p = '-'; *emp = p; } goto saver; case 'M' : /* ask linker for link map (L) */ mflag = TRUE; break; case 'N' : /* use r63 for assembler */ Nflag = TRUE; break; case 'n' : /* give module a name (L) */ *--p = '-'; modname = p; goto saver; case 'o' : /* no optimizer (O) */ oflag = FALSE; break; case 'O' : /* stop after optimization */ o2flg = TRUE; break; case 'P' : p2flg = TRUE; /* fall to set pflag too */ case 'p' : /* add profiler (C) */ pflag = TRUE; break; case 'q' : /* use quiet mode */ qflag = TRUE; freopen("c.errors", "w", stderr); break; case 'r' : /* stop at .r (no link) */ rflag = TRUE; if (*++p != '=') goto saver; strcpy(rlib, (p + 1)); if (rlib[0] == '\0') goto saver; strcat(rlib, "/"); goto saver; /*page*/ case 's' : /* no stack checking (C) */ sflag = TRUE; break; case 'S' : /* ask linker for symbol table (L) */ s2flg = TRUE; break; case 't' : /* use transendental library */ tflag = TRUE; break; case 'T' : /* use alternate (or NO) tmpdir*/ if (*(p + 1) != '=') { tmpdir = FALSE; break; } else { strcpy(tmpname, (p + 2)); strcat(tmpname,"/"); } goto saver; case 'V': logo(); exit (0); case 'w' : /* waste the compile for error check */ nullflag = TRUE; break; case 'x' : /* use the work dir for main library */ xflag = TRUE; break; case 'z' : zflag = TRUE; break; case '?': /* print list of options */ usage(); ` ½¡±nŸ nŸÿþ†;·>rÎ?ŠŽ#)�(†0&üJ&ùŽ$e�Î>`�3�i½ ¸½ 뎀0&ü½!> 榄�/&� �;' �&'½"†0 ç�9~#Ž>×½ �& Œ>×'ô0 ð�&�ä å� & §† §„·>Ö Ó§€Œ?.&ÒŽ# �« �Ž>Ö¦„�''0Œ?/&ó9¦§„0Œ?/&õ âŽ>Ö¦„¡‰Z'�9� & Ž%Q½ C~ )0Œ?/&áŽ>Ö¦„§‰Z0Œ?/&ó9Ž>Ö¿>dŽ%p¿>f�}>h&9Ž%y½ C†0&üJ&ù~ >h¾>d¾>f¦„�#'æ Á '04¡à&é ê|>h¿>d0¿>f9Ž>Ö¿>dŽ&¿>f�Å}>h&"¾>f0¦„�#&ø000¿>f¦„�ÿ&ߎ)k¿>f �K>r¾>f®„¿>f¶>iL„?·>i_¾>fñ>i'¦„0�;&ø¦„�*&0\¦„�ÿ'á â½ C0¦„�*&Ž>r½ C½ _9¾>dŽ>s¦ §€� &ø† ·>r0Ƨ€Z&û†;§„Ž>r¿>jŽ%´¿>l¾>j¾>l>hæ Á;&9¦€�#' 4¡à'í|>h è}>h'0¿>l¦„�ÿ&ξ>j0¿>j ¾®„¿>n¾>j� �¾>n�� ©_0\¦€� &ù9¾>j:¾>j¦€§ �;&ø9�¾>n¾>j¦ �#'§€ ö0¿>j9Ž>Í:Ž>ͦ¢§‚¼>j&ö9� &$ƒ?Š'4Ž?Ц€4½ 5£~&ò5Î?І ½ 9§Àƒ?ª'9¦Âƒ?Š'� ' òÎ?ª4Ž?Š4@¦€½ ¬ä&÷† ½ 5@ƒ?ª&Î?Š593Aƒ?ª'òŽ?ЦÀ§€ƒ?ª&ö59† ½"†9/PLEASE BE A LITTLE BRIEFER!/&////******************************/* */* S H R I N K */* */* COPYRIGHT 1981 BY TOM QUAY */* STAR-KITS */* P. O. BOX 209 */* MT. KISCO, NY 10549 */* */******************************//&////HI! I'M ELIZA. I CAN HELP YOU SOLVE ALL SORTS OF PROBLEMS, BUT YOU MUST TALK TO ME IN COMPLETE SENTENCES SO THAT I CAN PROPERLY UNDERSTAND YOU. /JUST TELL ME TO 'SHUT UP' IF THIS GETS TOO DEEP FOR YOU.//NOW, WHAT'S YOUR PROBLEM?&/PLEASE DON'T REPEAT YOURSELF!& SHUT UP#//SORRY THAT YOU CAN'T TAKE THE STRESS!/GOODBYE FOR NOW.//& ARE #%¼ AM #%´ WERE #%Ì WAS #%à YOU #%â I #%Ô ME #%Ô YOUR #%ò MY #%é IVE #& YOUVE #%ù IM #& YOURE #& ÿ CAN YOU #-ˆCANT YOU #-ˆ YOU CANT #-ˆ YOU DONT #-ˆ DO YOU #-ˆ WHY DONT YOU #/T DONT YOU #-ˆ ARE YOU #/Ý YOU ARE #.) YOURE #.) SICK #= HEALTH #= JOB #<Æ SAD #=ÚUNHAPPY #=ÚDEPRESSED #=Ú CAN I #-ð WHY CANT I #/§CANT I #-ð I FEEL #/ I HATE #9²I DONT LIKE #9²I CANT #0PI CAN NOT #0P I AM #0š IM #0š I DONT #.ª I WANT #1�I NEED #1� ID LIKE #1�I WOULD LIKE #1� I CAN #;h NOBODY#* NAME #3I FRIEND#7Ï LOVE#;Þ RICH #< POOR #< MONEY #< SEX#9ú DRINK #:i BEER #:i BOOZE #:i WHISKEY#:i LIQUOR#:i SORRY #4 DREAM#4• SHIT #:Ì FUCK#:Ì COCK#:Ì CUNT #:Ì DAM #:Ì DAMN #:Ì CRAP#:Ì THINK #6¨ ALIKE #6ï SAME #6ï COMPUTER#8Ÿ MACHINE#8Ÿ WHAT #2 HOW #2 WHO #2 WHERE #2 WHEN #2 WHY #2 MY #=—CAUSE #3Ž HELLO #5 HI #5 MAYBE #5B PERHAPS #5B I GUESS #5B YOUR #6 ALWAYS #6R YOU #1 YES #7’ OF COURSE #7’ NO #5µÿSAY, TELL ME MORE ABOUT YOUR PROBLEMS.;WITH A LITTLE HELP, YOU COULD BE A COMPLETE IMBECILE.;WHAT DOES THAT SUGGEST TO YOU?;HAVE YOU EVER CONSIDERED A BRAIN TRANSPLANT?;PLEASE, TELL ME MORE...;I'VE SEEN DUMMIES BEFORE, BUT YOU TAKE THE CAKE!;TELL ME, WHY ARE YOU SO BORING?;WHY ARE YOU SO STUPID?;I'M NOT SURE I UNDERSTAND YOU FULLY.;DID SOMEONE SHUT OFF THE POWER TO YOUR BRAIN?;COME COME, ELUCIDATE YOUR THOUGHTS.;IS THERE A SHORT CIRCUIT BETWEEN YOUR EARS?;THIS IS GETTING GOOD! PLEASE CONTINUE.;CAN YOU ELABORATE ON THAT?;WHAT TROUBLES YOU THE MOST?;THAT IS QUITE INTERESTING.;HAVE YOU ALWAYS BEEN THIS DULL?;KEEP TRYING, DUMMY... EVENTUALLY YOU'LL GET IT.;COME ON PINHEAD, TELL ME SOMETHING IMPORTANT.;I DON'T OFTEN GET TO MEET DUM-DUMS LIKE YOU.;HOW'S YOUR HEALTH?;OH MY, YOU'RE IN TROUBLE.;DOESN'T ANYBODY LIKE YOU?;I SEE!;TELL ME ABOUT YOUR JOB.;THAT DOESN'T SOUND TOO GOOD.;HOW'S YOUR SEX LIFE?;MY GOODNESS;WHAT ARE YOU REALLY THINKING ABOUT?;WHAT DO YOU OFTEN DREAM ABOUT?;HOW DID YOU GET TO BE SO UGLY?;QUICK -- WHAT COMES TO YOUR MIND NOW?;ÿWHY, DON'T YOU BELIEVE THAT I CAN ;*PERHAPS YOU WOULD LIKE TO BE ABLE TO ;*YOU WANT ME TO BE ABLE TO ;*ÿPERHAPS YOU DON'T WANT TO ;*DO YOU WANT TO BE ABLE TO ;*ÿWHAT MAKES YOU THINK I AM ;*DOES IT PLEASE YOU TO BELIEVE I'M ;*PERHAPS YOU WOULD LIKE TO BE ;*DO YOU SOMETIMES WISH YOU WERE ;*ÿWHY DON'T YOU REALLY ;*WHY DON'T YOU ;*DO YOU WISH TO BE ABLE TO ;*HOW DOES THAT TROUBLE YOU? ;ÿTELL ME MORE ABOUT SUCH FEELINGS. ;DO YOU OFTEN FEEL ;*WHY DO YOU FEEL ;*ÿDO YOU REALLY BELIEVE I DON'T ;*PERHAPS IN GOOD TIME I WILL ;*DO YOU WANT ME TO ;*ÿDO YOU THINK YOU SHOULD BE ABLE TO ;*WHY CAN'T YOU ;*ÿWHY ARE YOU INTERESTED IN WHETHER OR NOT I AM ;*WOULD YOU PREFER IF I WERE NOT ;*PERHAPS IN YOUR FANTASIES I AM ;*ÿHOW DO YOU KNOW YOU CAN'T ;*HAVE YOU TRIED? HOW? ;PERHAPS YOU CAN NOW ;*ÿDID YOU COME TO ME BECAUSE YOU ARE ;*HOW LONG HAVE YOU BEEN ;*DO YOU BELIEVE IT IS NORMAL TO BE ;*HOW DO YOU ENJOY BEING ;*ÿWE WERE DISCUSSING YOU-- NOT ME ;OH I ;*YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU;WHY, ARE YOU ASKING OR TELLING ME;ÿWHAT WOULD IT MEAN TO YOU IF YOU GOT ;*WHY DO YOU WANT ;*SUPPOSE YOU SOON GOT ;*WHAT IF YOU NEVER GOT ;*I SOMEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!"#ÄÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿSHRINK BIN jÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿTIMES ALSO WANT ;*ÿWHY DO YOU ASK, DUMMY? ;DOES THAT QUESTION INTEREST YOU? ;WHAT ANSWER WOULD PLEASE YOU THE MOST?;WHAT DO YOU THINK, STUPID?;ARE SUCH QUESTIONS ON YOUR MIND OFTEN?;WHAT IS IT THAT YOU REALLY WANT TO KNOW?;HAVE YOU ASKED ANYONE ELSE? ;HAVE YOU ASKED SUCH QUESTIONS BEFORE?;WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?;ÿNAMES DON'T INTEREST ME. ;I DON'T CARE ABOUT NAMES -- PLEASE GO ON.;ÿIS THAT THE REAL REASON? ;DON'T ANY OTHER REASONS COME TO MIND?;DOES THAT REASON EXPLAIN ANYTHING ELSE?;WHAT OTHER REASONS MIGHT THERE BE?;ÿPLEASE DON'T APOLOGIZE!;APOLOGIES ARE NOT NECESSARY.;WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?;DON'T BE SO DEFENSIVE!;ÿWHAT DOES THAT DREAM SUGGEST TO YOU?;DO YOU DREAM OFTEN?;WHAT PERSONS APPEAR IN YOUR DREAMS?;ARE YOU DISTURBED BY YOUR DREAMS?;ÿHOW DO YOU DO... PLEASE STATE YOUR PROBLEM.;ÿYOU DON'T SEEM QUITE CERTAIN.;WHY THE UNCERTAIN TONE?;CAN'T YOU BE MORE CERTAIN?;YOU AREN'T SURE?;DON'T YOU KNOW?;ÿARE YOU SAYING NO JUST TO BE NEGATIVE?;YOU ARE BEING A BIT NEGATIVE.;WHY NOT?;ARE YOU SURE?;WHY NO?;ÿWHY ARE YOU CONCERNED ABOUT MY ;*WHAT ABOUT YOUR OWN ;*ÿCAN YOU THINK OF A SPECIFIC EXAMPLE?;WHEN?;WHAT ARE YOU THINKING OF?;REALLY, ALWAYS?;ÿDO YOU REALLY THINK SO?;BUT YOU ARE NOT SURE YOU ;*DO YOU DOUBT YOU ;*ÿIN WHAT WAY?;WHAT RESEMBLANCE DO YOU SEE?;WHAT DOES THE SIMILARITY SUGGEST TO YOU?;WHAT OTHER CONNECTIONS DO YOU SEE?;COULD THERE REALLY BE SOME CONNECTION?;HOW?;ÿYOU SEEM QUITE POSITIVE.;ARE YOU SURE?;I SEE.;I UNDERSTAND.;ÿWHY DO YOU BRING UP THE TOPIC OF FRIENDS?;DO YOUR FRIENDS WORRY YOU?;DO YOUR FRIENDS PICK ON YOU?;ARE YOU SURE YOU HAVE ANY FRIENDS?;DO YOU IMPOSE ON YOUR FRIENDS?;PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU.;ÿDO MACHINES WORRY YOU?;I HOPE YOU AREN'T TALKING ABOUT ME...;ARE YOU FRIGHTENED BY MACHINES?;SO WHAT ARE YOU GOING TO DO ABOUT IT?;WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?;DON'T YOU THINK MACHINES CAN HELP PEOPLE?;WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?;ÿWHY DON'T YOU LIKE ;*IS THERE ANY OTHER REASON?;WHAT ELSE BOTHERS YOU?;ÿIS SEX OR LACK OF IT BOTHERING YOU?;DO YOU PREFER BOYS TO GIRLS?;SEX IS MY FAVORITE SUBJECT ... TELL ME MORE!;ÿHOW SERIOUS IS YOUR DRINKING PROBLEM?;MAYBE YOU ARE BORED?;SOMETIMES I CAN USE A STIFF DRINK TOO.;ÿPLEASE DON'T USE SUCH LANGUAGE WITH ME.;WHY DO YOU FIND IT NECESSARY TO CURSE?;SAME TO YOU, BUDDY!;HOW DOES USING FOUL LANGUAGE HELP YOU EXPRESS YOURSELF?;ÿWELL GOOD FOR YOU! TELL ME MORE.;IF THAT MAKES YOU HAPPY, TELL ME MORE.;WHAT IF I SAID I CAN ALSO ;*CAN YOU REALLY ;*ÿHOW IS LOVE IMPORTANT TO YOU?;WHAT DO YOU LOVE MOST?;ÿIF YOU WERE RICH, WHAT WOULD YOU DO?;HOW IS MONEY IMPORTANT TO YOU?;ÿWHY DO YOU THINK THAT NOBODY ;*WHO, FOR EXAMPLE?;ÿEVERYONE? WHO FOR EXAMPLE AND WHY?;SURELY NOT EVERYBODY?;ÿSOMETIMES I DON'T LIKE MY JOB EITHER.;WHAT IF YOU DIDN'T HAVE A JOB?;ÿI'D SUGGEST YOU TAKE 2 ASPIRINS, GO TO BED (ALONE) AND DRINK PLENTY OF LIQUIDS (JUICE, NOT BEER).;WHEN WAS THE LAST TIME YOU TOOK A BATH?;ÿWHAT ABOUT YOUR ;*OH MY, THIS SOUNDS SERIOUS.;WHAT IF I SAID MY ;*ÿWHY ARE YOU SO UNHAPPY?;HOW CAN I CHEER YOU UP?;SOMETIMES I GET DEPRESSED TOO.;ÿREALLY? YOU WERE ;MY GOODNESS.. HOW SERIOUS WERE YOU;ÿÿ T BEER).;WHEN WAS THE LAST TIME YOU TOOK A BATH?;ÿWHAT ABOUT YOUR ;*OH MY, THIS SOUNDS SERIOUS.;WHAT IF I SAID MY ;*ÿWHY ARE YOU SO UNHAPPY?;HOW CAN I error(format, arg) char *format, *arg; { logo(); /* print logo if not done yet */ fprintf(stderr, format, arg); putc('\n', stderr); trap(0); } chgsuff(s, c) char *s, c; { register char *p = s; while(*p++) ; if (*(p - 3) != '.') return; if (c == '\0') *(p - 3) = 0; else *(p - 2) = c; } findsuff(p) register char *p; { int j; char c; j = 0; while (c = *p++) if (c == '/') j = 0; else j++; if (j <= 29 && j > 2 && *(p - 3) == '.') return (*(p - 2) | 0x40); else return (0); } splcat(s) char *s; { register char *p = s; *frkprmp++ = 0x20; while (*frkprmp++ = *p++) ; --frkprmp; } trmcat() { *frkprmp++ = '\n'; *frkprmp = '\0'; frkprmsiz = frkprmp - parmbuf; } dummy() { } logo() { if (hello == 0) fprintf(stderr, "\n cc version %d.%d.%d\n", VERSION, MAJREV, MINREV); } usage() { register char **p; static char *help[] = { "cc: C compiler executive", "Usage: cc ", "OPTIONS", " -a = stop at the assembly", " -A = run ansifront for ANSI-C processing", " -b= = use a different \"cstart\"", " -c = include comments", " -d = create an identifier", " -e# = set edition number of module", " -f= = set outfile path", " -g = use /dd/lib/getopt.r", " -l= = specify a library", " -lg = cgfx.l (graphics library)", " -ls = sys.l (system library)", " -ll = lexlib.l (lexical library)", " -P = dbg.l (special debugger library)", " -m = set memory size", " -M = ask linker for link map", " -n= = give module a name", " -N = use r63 assembler for native source .a code", " -o = no optimizer", " -O = stop after optimization", " -p = add profiler", " -q = quiet mode (don't echo lines)", " -r = stop at .r (no link)", " -s = no stack checking", " -S = ask linker for symbol table", " -t = use transendental library (clibt.l)", " -T= = use alternate (or NO) temp. dir.", " -V = show version number", " -w = waste the compile for error checking only", " -x = use the work dir. for the main library", " -z = debug mode", NULL }; for (p = help; *p != NULL; ++p) fprintf (stderr, "%s\n", *p); exit (0); } ldb #$03 stb >$020C L0AC2 ldx >$0196 ^7 c ] /* OS-9 module header definitions */ /* Executable memory module */ /* typedef */ struct mod_exec { unsigned m_sync, /* sync bytes ($87cd) */ m_size, /* module size */ m_name; /* offset to module name */ char m_tylan, /* type & language */ m_attrev, /* attributes & revision */ m_parity; /* header parity */ unsigned m_exec, /* offset to execution start */ m_store; /* initial storage size */ } /* mod_exec */ ; /* Device descriptor module */ /* typedef */ struct mod_dev { unsigned m_sync, /* sync bytes ($87cd) */ m_size, /* module size */ m_name; /* offset to module name */ char m_tylan, /* type & language */ m_attrev, /* attributes & revision */ m_parity; /* header parity */ unsigned m_fmname, /* offset to file manager name */ m_ddname; /* offset to device driver name */ char m_mode; /* mode byte */ char m_control[3]; /* device controller address (24 bit)*/ char m_tabsize; /* option table size */ } /* mod_dev */ ; /* Configuration module */ /* typedef */ struct mod_config { unsigned m_sync, /* sync bytes ($87cd) */ m_size, /* module size */ m_name; /* offset to module name */ char m_tylan, /* type & language */ m_attrev, /* attributes & revision */ m_parity; /* header parity */ char m_ramtop[3]; /* top limit of free ram */ char m_irqno, /* IRQ polling entries */ m_devno; /* device entries */ unsigned m_startup, /* offset to startup mod. name */ m_sysdrive, /* offset to default drive name */ m_boot; /* offset to bootstrap module name */ } /* mod_config */ ; /* C data module */ /* typedef */ struct mod_data { unsigned m_sync, /* sync bytes ($87cd) */ m_size, /* module size */ m_name; /* offset to module name */ char m_tylan, /* type & language */ m_attrev, /* attributes & revision */ m_parity; /* header parity */ unsigned m_data, /* offset to data */ m_dsize; /* size of data */ } /* mod_data */ ; E rts L0C47 ldx >$018A ldy >$018E clr >$018C lda >$01A4 lbsr L2C3E cmpx #$7FFF ¿v@vj .® ®iaddsub32.áŠmult32.á‘makefilå™main.è›testdiv32.á�test.á testadd32.á·main.ã»du #$0DD9 L0C9E lda $01,x cmpa #$FF beq L0C7B leay a,y leax $02,x ldb ,x+ beq L0CC5 leax b,x stb >$018D clra L0CB2 ldb ,-x beq L0CC1 ldb d,u stb ,y+ L0CBA dec >$018D bne L0CB2 bra L0CC5 L0CC1 leay $01,y bra L0CBA L0CC5 ldb ,-x leax b,x leax $01,x inc >$018C ldy >$018E lda >$018C ldb #$A0 mul leay d,y cmpy #$AC38 bhi L0C7B bra L0C9E L0CE2 neg $894D ora #$F7 cmpx #$818E negb suba $01AA deca beq L0DA5 lda >$020F beq L0D84 cmpa #$C0 lbeq L0E07 lda >$0211 beq L0D64 L0D3F lda >$01AC beq L0D4A lda #$14 sta >$01A9 rts L0D4A lda >$01AB beq L0D5E deca beq L0D58 lda #$0F sta >$01A9 rts L0D58 lda #$0E sta >$01A9 rts L0D5E lda #$0D sta >$01A9 rts L0D64 lda >$0212 beq L0D72 lda >$0210 beq L0D78 cmpa #$C0 beq L0D7E L0D72 lda #$10 sta >$01A9 rts L0D78 lda #$11 sta >$01A9 rts L0D7E lda #$12 sta >$01A9 rts L0D84 lda >$0211 beq L0D94 lda >$0212 beq L0D3F lda #$09 sta >$01A9 rts L0D94 lda >$0212 beq L0D9F lda #$08 sta >$01A9 rts L0D9F lda #$07 sta >$01A9 rts L0DA5 lda >$020F beq L0D72 cmpa #$C0 beq L0DD8 lda >$0211 beq L0DF9 L0DB3 lda >$01AC beq L0DBE lda #$13 sta >$01A9 rts L0DBE lda >$01AB beq L0DD2 deca beq L0DCC lda #$0C sta >$01A9 rts L0DCC lda #$0B sta >$01A9 rts L0DD2 lda #$0A sta >$01A9 rts L0DD8 lda >$0211 beq L0DE8 lda >$0212 beq L0DB3 lda #$06 sta >$01A9 rts L0DE8 lda >$0212 beq L0DF3 lda #$05 sta >$01A9 rts L0DF3 lda #$04 sta >$01A9 rts L0DF9 lda >$0212 beq L0E07 lda >$0210 beq L0E13 cmpa #$C0 beq L0E0D L0E07 lda #$01 sta >$01A9 rts L0E0D lda #$03 sta >$01A9 rts L0E13 lda #$02 sta >$01A9 rts L0E19 oim #$11,$01F9 oim #$C4,L0E19,pcr ldd b,x jmp d,x neg $E680 stb >$01A8 ldb ,x+ stb >$01A5 ldb ,x+ stb >$01A7 ldb ,x+ stb >$01AA rts L0F43 neg L0F43,pcr bra L0F2E lda >$01A5 bne L0F5C ldd #$0102 sta >$01A5 stb >$01A7 rts L0F5C ldd #$0001 sta >$01A5 stb >$01A7 rts lda >$01A5 bne L0F75 ldd #$010D sta >$01A5 stb >$01A7 rts L0F75 ldd #$000C sta >$01A5 stb >$01A7 rts lda >$01A9 suba #$0A ldb #$14 mul leax >L0E41,pcr leax d,x lda >$01A8 ldb #$05 mul leax d,x lda ,x+ sta >$01A8 lda ,x+ sta >$01AB lda ,x+ sta >$01A5 lda ,x+ sta >$01A7 lda ,x+ sta >$01A6 rts lda >$01A9 cmpa #$08 bcs L0FB7 deca L0FB7 suba #$05 ldb #$12 mul leax >L0ED1,pcr leax d,x lda >$01A8 ldb #$03 mul leax d,x lda ,x+ sta >$01A8 clr >$01A5 lda ,x+ uou‹ nam test ttl program module * Disassembled 2017/02/23 09:26:21 by Disasm v1.5 (C) 1988 by RML ifp1 use /dd/defs/os9defs endc tylg set Prgrm+Objct atrv set ReEnt+rev rev set $01 mod eom,name,tylg,atrv,start,size u0000 rmb 1 size equ . name equ * fcs /test/ start equ * * 32bit Add * * Entry: Stack holds 2 16bit words of the 2 numbers * Exit: X = pointer to 32bit result L01BD ldd $04,s get LSW # A addd $02,x add to LSW # B std >$0045,y store result ldd $02,s get MSW # A adcb $01,x add with carry to MSW low byte adca ,x add with carry to MSW high byte std >$0043,y store result lbra L01FD fix stack and return * 32bit Subtract ldd $04,s subd $02,x std >$0045,y ldd $02,s sbcb $01,x sbca ,x std >$0043,y L01FD tfr cc,a preserve carry puls x get return address stx $02,s set new return position on stack leas $02,s purge stack leax >$0043,y point x to result? tfr a,cc restore cc rts return emod eom equ * end ldx #$A2A8 L109A stx >$0199 sty >$019B lbsr L124F ldx >$0199 ldy >$019B leay u &Íu’ nam test ttl program module * Disassembled 2017/02/25 14:32:14 by Disasm v1.5 (C) 1988 by RML ifp1 use /dd/defs/os9defs endc tylg set Prgrm+Objct atrv set ReEnt+rev rev set $01 mod eom,name,tylg,atrv,start,size u0000 rmb 1 size equ . name equ * fcs /test/ fcb $16 start equ * * mult 32 L01BD ldd $02,x pshs b,a ldd ,x pshs b,a leax >$0043,y clr ,x clr $01,x lda $09,s ldb $03,s mul std $02,x lda $09,s ldb $02,s mul addd $01,x std $01,x bcc L01E1 inc ,x L01E1 lda $08,s ldb $03,s mul addd $01,x std $01,x bcc L01EE inc ,x L01EE lda $09,s ldb $01,s mul addd ,x std ,x lda $08,s ldb $02,s mul addd ,x std ,x lda $07,s ldb $03,s mul addd ,x std ,x lda $09,s ldb ,s mul addb ,x stb ,x lda $08,s ldb $01,s mul addb ,x stb ,x lda $07,s ldb $02,s mul addb ,x stb ,x lda $06,s ldb $03,s mul addb ,x stb ,x leas $04,s L0248 tfr cc,a puls x stx $02,s leas $02,s leax >$0043,y tfr a,cc rts emod eom equ * end #$EF L11AF rts L11B0 lda [>$019B] u Ðuš* Makefile to compile test RDIR=/dd/c/sled/RELS ODIR=/dd/cmds RFILES=main.r LIBFILES= sled: $(RFILES) cc $(RDIR)/main.r \ -f=$(ODIR)/test -e=22 main.r: main.c main.h cc main.c -r=$(RDIR) * end y,x pshs y leas >$00A2,s u uœ pshs y leas >$00A2,s pulu y,x pshs y leas >$00A2,s pulu y,x pshs y leas >$00A2,s pulu y,x pshs y leas >$00A2,s pulu y,x pshs u 6buž psect main_c,0,0,0,0,0 nam main_c ttl main main: pshs u ldd #_1 lbsr _stkcheck leas -16,s leax 12,s pshs x bsr _2 fdb 0,1 _2 puls x lbsr _lmove leax 8,s pshs x bsr _3 fdb 0,2 _3 puls x lbsr _lmove leax 4,s pshs x leax 14,s ldd 2,x pshs d ldd 0,x pshs d leax 14,s lbsr _ldiv lbsr _lmove leas 16,s puls u,pc _1 equ -86 endsect pulu y,x pshs x leas >$00A2,s pulu y,x pshs x leas >$00A2,s pulu y,x pshs x u *‰u¡ nam test ttl program module * Disassembled 2017/02/26 14:32:37 by Disasm v1.5 (C) 1988 by RML ifp1 use /dd/defs/os9defs endc tylg set Prgrm+Objct atrv set ReEnt+rev rev set $01 mod eom,name,tylg,atrv,start,size u0000 rmb 1 u0001 rmb 1 u0002 rmb 1 u0003 rmb 58 u003D rmb 1 u003E rmb 3 u0041 rmb 51 u0074 rmb 861 size equ . name equ * fcs /test/ fcb $16 L0012 fcb $A6 & fcb $A0 fcb $A7 ' fcb $C0 @ fcb $30 0 fcb $1F fcb $26 & fcb $F8 x fcb $39 9 start equ * pshs y pshs u clra clrb L0021 sta ,u+ decb bne L0021 ldx ,s leau ,x leax >$0051,x pshs x leay >L0227,pcr ldx ,y++ beq L003C bsr L0012 ldu $02,s L003C leau >u0001,u ldx ,y++ beq L0047 bsr L0012 clra L0047 cmpu ,s beq L0050 sta ,u+ bra L0047 L0050 ldu $02,s ldd ,y++ beq L005D leax >L0000,pcr lbsr L0160 L005D ldd ,y++ beq L0066 leax ,u lbsr L0160 L0066 leas $04,s puls x stx >u0041,u sty >u0001,u ldd #$0001 std >u003D,u leay >u0003,u leax ,s lda ,x+ L0082 ldb >u003E,u cmpb #$1D beq L00DE L008A cmpa #$0D beq L00DE cmpa #$20 beq L0096 cmpa #$2C bne L009A L0096 lda ,x+ bra L008A L009A cmpa #$22 beq L00A2 cmpa #$27 bne L00C0 L00A2 stx ,y++ inc >u003E,u pshs a L00AA lda ,x+ cmpa #$0D beq L00B4 cmpa ,s bne L00AA L00B4 puls b clr -$01,x cmpa #$0D beq L00DE lda ,x+ bra L0082 L00C0 leax -$01,x stx ,y++ leax $01,x inc >u003E,u L00CA cmpa #$0D beq L00DA cmpa #$20 beq L00DA cmpa #$2C beq L00DA lda ,x+ bra L00CA L00DA clr -$01,x bra L0082 L00DE leax >u0001,u pshs x ldd >u003D,u pshs b,a leay ,u bsr L00F8 lbsr L017A clr ,-s clr ,-s lbsr L021A L00F8 leax >$0051,y stx >$004B,y sts >$003F,y sts >$004D,y ldd #$FF82 L010D leax d,s cmpx >$004D,y bcc L011F cmpx >$004B,y bcs L0139 stx >$004D,y L011F rts L0120 bpl L014C bpl L014E bra L0179 lsrb fcb $41 A coma fcb $4B K bra L017B rorb fcb $45 E fcb $52 R rora inca clra asrb bra L015F bpl L0161 bpl L0146 L0139 leax $003F,y subd >$004D,y rts ldd >$004D,y subd >$004B,y L015F rts L0160 pshs x leax d,y leax d,x pshs x L0168 ldd ,y++ leax d,u ldd ,x addd $02,s std ,x cmpy ,s bne L0168 leas $04,s L0179 rts L017A pshs u ldd #$FFAE lbsr L010D leas -$0C,s leax $08,s pshs x bsr L018E neg $0045,y ldd $02,s adcb $01,x adca ,x std >$0043,y lbra L01FC ldd $04,s subd $02,x std >$0045,y ldd $02,s sbcb $01,x sbca ,x std >$0043,y lbra L01FC * _lmove L01E6 pshs y ldy $04,s ldd ,x std ,y ldd $02,x std $02,y puls x exg y,x puls b,a std ,s rts L01FC tfr cc,a puls x stx $02,s leas $02,s leax >$0043,y tfr a,cc rts ldd ,x std >$0043,y ldd $02,x leax >$0043,y std $02,x rts L021A lbsr L0225 lbsr L0226 L0220 ldd $02,s os9 F$Exit L0225 rts L0226 rts L0227 neg L12F0,pcr decb lslb lslb uªu¸ psect main_c,0,0,0,0,0 nam main_c ttl main main: pshs u ldd #_1 lbsr _stkcheck leas -12,s leax 8,s pshs x bsr _2 fdb 0,1 _2 puls x lbsr _lmove leax 4,s pshs x bsr _3 fdb 0,2 _3 puls x lbsr _lmove leax 0,s pshs x leax 10,s ldd 2,x pshs d ldd 0,x pshs d leax 10,s lbsr _ladd lbsr _lmove leas 12,s puls u,pc _1 equ -82 endsect stu ,y lda $04,x sta $02,y lda $03,x u u¼/* */ /* * main.c * */ #include "main.h" main(argc, argv) int argc; char *argv[]; { long a; long b; long c; a=1; b=2; c=a+b; } addd #$0001 leax d,x tfr x,d cmpa #$00 lbne L169B ‡ÍÄ ƒï¶üSysGï(C) 2014 The NitrOS-9 Project Sun Apr 13 21:40:53 2014 http://www.nitros9.org /DD /DD/CMDS Shell AutoEx startup -p i=/1 r (5Iniô4ÌÿÿÃm€&ù5�4 0ŒƒŽ?Œ5 0�? ? Æ€? 0ŒÎO4@?%"ŸìÈ0Ë�Á†?Š�ÆìÈ0Ë�±†?Š�¶5@0�ÿŽR†?Š0�ÿ‹?0�ÿa†?†0�ÿP†?†% 0�ÿI†?†4`? %‹0Ä?%‚1ÄŽÆ?O%v†U§ÈqìÈJ3Ë3È 1¨ Ʀ¥§ÅZ*ù†Æ'?�%…&.0�ÿ3�ÿÌŽ ?%?0�þô3�ÿÌŽ?%?5`0�þî1ÄÆ¦€§ Z&ù0�þƆŽ?Æ ÆÿHk;©t=cmds_sìkbs.cmds_syóm.®®Rcc3gïRecyclone_sdãRŽdw´R‘YÍßotä>odem.seô@otäBew_user_foríEew_user_messagåGackalìJunbbóLunbbs_ne÷Nbs.useróP1B9 cmpa #$04 bne L168B ldx >$01AD leax >-$0820,x stx >$01AD L168B tst >$01AF beq L169A ldx >$01AD leax >-$1E00,x stx >$01AD L169A rts L169B ldd #$0000 std >$01AD stb >$01B7 rts L16A5 aim #$19,$01B4 cmpa #$05 beq L16C5 cmpa #$06 beq L16D0 bra L16D9 L16C5 ldd >$01AD subd #$06E1 std >$01AD bra L16D9 L16D0 ldd >$01AD subd #$06E0 std >$01AD L16D9 lda >$01B9 deca leay >L16AD,pcr leay a,y lsla leax >L16A5,pcr ldd a,x leax d,x lda >$01B4 deca lsla leax a,x lda >$01B5 beq L16FC ldb ,y leax b,x L16FC ldx ,x stx >$01BA rts L1702 ldx >$01BA ldy >$01AD clr >$018C lda >$01B9 cmpa #$02 bhi L1718 lda $8AB6 oim #$B8,L171E,pcr ldd a,x jmp d,x lbsr L1702 cmpx #$7FFF bhi L1771 leax >$2000,x L173F lda ,x++ cmpa #$FF beq L171D leay a,y ldb ,x+ beq L175A L174B lda ,x+ beq L1756 sta ,y+ L1751 decb bne L174B bra L175A L1756 leay $01,y bra L1751 L175A inc >$018C ldy >$01AD lda >$018C ldb #$A0 mul leay d,y cmpy #$AC38 bhi L171D bra L173F L1771 leax >-$8000,x leax >$2000,x ldu #$0DD9 L177C lda $01,x cmpa #$FF lbeq L171D leay a,y leax $02,x ldb ,x+ beq L17A5 leax b,x stb >$018D clra L1792 ldb ,-x beq L17A1 ldb d,u stb ,y+ L179A dec >$018D bne L1792 bra L17A5 L17A1 leay $01,y bra L179A L17A5 ldb ,-x leax b,x leax $01,x inc >$018C ldy >$01AD lda >$018C ldb #$A0 mul leay d,y cmpy #$AC38 lbhi L171D bra L177C lbsr L1702 leax >$2000,x clra ldb #$0C subb >$01B7 lslb std >$01BC tfr d,u L17D7 lda ,x++ cmpa #$FF lbeq L171D L17DF leau -u0001,u cmpu #$0000 beq L17EC deca beq L1802 bra L17DF L17EC deca leay a,y ldb ,x+ beq L1815 L17F3 lda ,x+ beq L17FE sta ,y+ L17F9 decb bne L17F3 bra L1815 L17FE leay $01,y bra L17F9 L1802 ldb ,x+ beq L1815 L1806 leax $01,x decb beq L1815 leau -u0001,u cmpu #$0000 bne L1806 bra L17F3 L1815 inc >$018C ldy >$01AD lda >$018C ldb #$A0 mul leay d,y cmpy #$AC38 lbhi L171D ldu >$01BC bra L17D7 lbsr L1702 clra ldb >$01B7 lslb std >$01BC leax >-$8000,x leax >$2000,x tfr d,u L1846 lda $01,x cmpa #$FF lbeq L171D leay a,y leax $02,x nega leau a,u cmpu #$0000 lble L18BA ldb ,x+ beq L1898 leax b,x clra stb >$01C0 stu >$01BE cmpd >$01BE bcs L1873 ldd >$01BE L1873 stb >$018D subb >$01C0 stb >$01C0 clra ldu #$0DD9 L1880 ldb ,-x beq L1894 ldb d,u stb ,y+ L1888 dec >$018D bne L1880 ldb >$01C0 leax b,x bra L1898 L1894 leay $01,y bra L1888 L1898 ldb ,-x leax b,x leax $01,x inc >$018C ldy >$01AD lda >$018C ldb #$A0 mul leay d,y ldu >$01BC cmpy #$AC38 lbhi L171D bra L1846 L18BA leax $01,x bra L1898 neg $0A48 inc $8661 eora #$22 nop oim #$15,>$2718 bhi L192C eim #$92,$0196 beq L1940 leay $06,y bra L192E L1940 lbsr L1968 beq L1958 ldx $02,y lda $04,y ldb $05,y stx >$01F8 sta >$01F7 stb >$01FA clr >$0200 rts L1958 ldd #$0000 std >$01F8 sta >$01F7 sta >$01FA sta >$0200 rts L1968 ldx #$01C1 lda $04,y cmpa #$04 beq L199F L1971 lda $08,x cmpa $05,y bne L1993 ldd ,x beq L1993 ldu $02,y cmpd $02,y bcs L1986 tfr d,u ldd $02,y L1986 coma comb addd #$0001 leau d,u cmpu #$0006 bcs L199D L1993 leax $0A,x cmpx #$01EA bcs L1971 lda #$01 rts L199D clra rts L199F ldavÀrÞr:7r;/r1*r22 r::r"5érr rr<êr'r-; bne L19C8 L19D6 ldx >$04D1 L19D9 ldy ,x b¿v&@và .®R®ßcricmain.yíhidden.yí150mph.yí9bestp.yíRprehisto.yíctrantor.yípdemo3mix.yí{alienall.yí„elmibub.yí�mops.yí•zeta2.yí�demo1.yí¥undemo.yí¬elmar1.yí³demo4.yíºmodell.yíÁbparty.yíÈmusican.yíÎdemo2.yíÔdemo3.yíÚdynablas.yíßzaptbal3.yíådesert.yíêo_nebulu.yíïBS.replùµBS.scaî¿BS.searcèÅBS.uploaäÊonf.daôÐLD.adäÓLD.lisôÜLD.reaäßLD.searcèâLD.unvalidatåæLD.validatåéloadáõloadøøloadùýloadxãogiîenõonitoòew_useòrompô6uikterí81moî]loadøaloadùeloadxãkBS.validatåpuseòtnsicodå†nsiFilôˆBS.staô�BS.whï“BS.pagå–iewBBÓœBS.converôžBS.forí BS.archivå£loadá« addd #$0001 leay d,y cmpy #$0032 bcs L1AE9 lbra L1AFD L1AE9 inc >$01FB rts L1AED ldd >$0196 coma comb addd #$0001 leay d,y cmpy #$0064 bcs L1AE9 L1AFD ldd #$0000 std ,x std $02,x std $04,x std $06,x std $08,x rts L1B0B clr >$01FB ldb #$05 stb >$01FE ldx #$01C1 stx >$01FC L1B19 ldy ,x bne L1B32 L1B1E ldx >$01FC leax $0A,x stx >$01FC dec >$01FE bne L1B19 ldd #$0000 std >$0201 rts L1B32 ldb $02,x stb >$01B9 decb leay >L1922,pcr lda b,y sta >$0203 leay >L1926,pcr lda b,y sta >$0204 lslb leay >L191A,pcr ldd b,y jmp d,y tst $06,x beq L1B60 dec $06,x lda #$04 sta $04,x lbra L1CA8 L1B60 tst $09,x lbeq L1C9F dec $09,x beq L1BAE lda $09,x cmpa >$01F6 bne L1B74 lbsr L2AC8 L1B74 ldy ,x lda $07,x cmpa #$00 bge L1B98 nega cmpy #$0000 beq L1BAE L1B84 leay -$01,y beq L1BAE pshs y,x,a tfr y,u lda $08,x lbsr L1542 puls y,x,a deca bne L1B84 bra L1BA8 L1B98 leay $01,y pshs y,x,a tfr y,u lda $08,x lbsr L1542 puls y,x,a deca bne L1B98 L1BA8 sty ,x lbra L1CA8 L1BAE inc >$01F3 clr $07,x lda >$01F3 cmpa #$04 lbcs L1C9F lbsr L1AFD lbra L29EB tst $06,x beq L1BCF dec $06,x lda #$04 sta $04,x lbra L1CA8 L1BCF tst $09,x beq L1C21 dec $09,x beq L1C1B lda $09,x cmpa >$01F6 bne L1BE1 lbsr L2AC8 L1BE1 ldy ,x lda $07,x cmpa #$00 bge L1C05 nega cmpy #$0000 beq L1C1B L1BF1 leay -$01,y beq L1C1B pshs y,x,a tfr y,u lda $08,x lbsr L1542 puls y,x,a deca bne L1BF1 bra L1C15 L1C05 leay $01,y pshs y,x,a tfr y,u lda $08,x lbsr L1542 puls y,x,a deca bne L1C05 L1C15 sty ,x lbra L1CA8 L1C1B lbsr L1AFD lbra L1B1E L1C21 lda >$0184 beq L1C9F cmpa >$01FE bne L1C9F lda $02,x cmpa #$03 lbeq L1C98 lda >$01A8 cmpa #$02 bhi L1C42 lda #$02 sta $04,x clr $05,x bra L1CA8 L1C42 cmpa #$03 bhi L1C5B tst >$0206 beq L1C55 lda #$02 sta $04,x clr >$0184 lbra L1CA8 L1C55 lda #$05 sta $04,x bra L1CA8 L1C5B lda #$06 sta $04,x lda #$0C sta $09,x suba #$02 sta >$01F6 clr $06,x clr >$0184 tst >$01AA beq L1C81 lda #$04 sta $07,x ldy ,x leay $04,y sty ,x lbra L1BCF L1C81 lda #$FC sta $07,x ldy ,x beq L1C1B nega L1C8B leay -$01,y beq L1C1B deca bne L1C8B sty ,x lbra L1BCF L1C98 lda #$06 sta $04,x lbra L1CA8 L1C9F ldb $03,x cmpb >$0203 bge L1CCC inc $03,x L1CA8 ldy ,x sty >$01B2 lda $08,x sta >$01AF lbsr L15C8 ldd >$01AD lbeq L1B1E ldx >$01FC ldb $04,x stb >$01B4 lbsr L1724 lbra L1B1E L1CCC clr $03,x ldy ,x sty >$01B2 lda $08,x sta >$01AF lbsr L15C8 ldx >$01FC lda $08,x cmpa >$0191 bne L1CF9 tst >$01B5 beq L1CEF dec >$0204 L1CEF ldb >$01B6 cmpb >$0204 lble L1D1F L1CF9 lbsr L1D3C lbeq L1D2D ldy ,x sty >$01B2 lbsr L15C8 ldx >$01AD lbeq L1B1E lda #$03 sta >$01FF lbsr L1E04 lbsr L1724 lbra L1B1E L1D1F lda #$02 sta >$01FF lbsr L1E04 lbsr L1724 lbra L1B1E L1D2D lda $04,x cmpa #$03 lbne L1CA8 lda #$01 sta $04,x lbra L1CA8 L1D3C lbsr L081F lbsr L1DE0 ldx >$01FC lda $08,x ldb #$03 mul leay d,y tst >$01B5 beq L1D80 leay -$08,y tfr y,x lbsr L084B ldx >$01FC deca beq L1D7E ldy ,x cmpy #$0006 bcs L1D6D leay -$05,y bsr L1DA2 beq L1D7E L1D6D ldy ,x cmpy #$0002 bcs L1D7E leay -$01,y sty ,x lda #$01 rts L1D7E clra rts L1D80 leay $08,y tfr y,x lbsr L084B ldx >$01FC suba #$02 beq L1D7E ldy ,x leay $05,y bsr L1DA2 beq L1D7E ldy ,x leay $01,y sty ,x lda #$01 rts L1DA2 ldu #$01C1 lda $08,x cmpa u0008,u bne L1DB0 cmpy ,u beq L1Da Hu "-lh5-#²±ü¹4# CRICMAIN.BINñ†‚ƒÃ÷¬m§ßï6ù¶ãoœ‰è„ÓÍTì°„rW\z A¦2[¥ŠYevFM+yÖ8ë¬íׯ9ùùùúúúñ׿rë×§ 8Æ:ã¬uØåƒÏJÔ´nG¢¤ÕEmQUFRÍdƒÂŠ+­y•Bghãw¿ýïÿ9ÞôvwYkt¶²Ÿ‹v%ZPA¨ †ÛZ60Ã"(ςՖÙ! ,–Yh„²É ¹,…•ß•Éo‹l‘iðWR ¶K!d [,€YâË-õïîcXۑɸ>î·|žg�WãÖﻹD<A>»04ˆ²Ft#탇= (Ë’±t5ÖÎ�EIQ˜rñ8å¬é+´ý‹¡¯è¬u�Z+—Éãã°ØH3ÒŸVyÂÃBáã#2r¦1kž«çu\þ¿¦qÓ¸t5½9¦®¬¨£o@ÂnVS}ŒÄb1˜G’6ƒ  ˆÃHDd·Ù |Á‹Ð5¦§¨Ñgõ~{Ueeo­é-zGÖ¶öö–ºî‡Y®ô66ZŽf§–©ÏÔÒP2hbùi‰lÆW1%’Æã£0ø˜ŒF‡ˆ‡…Âá|D4$N.**"3�ŒÆä²R9‰9l¼Ä¼Ú£NdÕ»Z6m©¨sÚ Ín‹–ÐÖWU×hì4zjímn�–®å¬9Ší-e>z—=IQKKNÙ³6&ÄãNZ²na\ÜÚ©•rê¤ædò²òS²s™‰y999YiYIiYi9i…J—/(’–¬µË˜k#X°hÍ“v´ 5jÍ«J j:f´T ¨�nÍ“f'” S˜01�fkgq‹Ê^°µ‹ÌXRõ«–-^¹qkW¯Z°•Œ–Ík%唏կœagq+Î,ÖÚv09ƒ&l™°`qfqÍ´bÁ�G â˜Ðã‰ÖL0›,³Jb+DQKÕ’´’Š0£ 0’�°fœI+Õ´±&‰¬YD–X©œi¦˜`�MLfaE®SŽ`ÄÃL�(³L,EDÇ8ûðaÂf˜`®ÃS(Õæ”oø%)² ¡$ØÙ†5 é×iš4²ÊÒä ›ÊLPIl¦}¦‚¦#™Ðà†#Ÿœs¯Ðšíf$…úÝt©mµŽd…1mö-+¤±Y•VÍ��²8¸X¹Fõ6<ö•¢ùÌ6K0M—œ´Ös”‹%ò1“ èhêôUÔ ÙÌÊärÙu¥PSi«k«i)XÊËId²9y‰³hj)ié(š²5RÙ¹‚¥Ê`ɵbÎ[0²^jmy*×M6gAFÖ‚•“V”k�1dÞRfejñA¤~�›s�Œ%ÆQ'1`ÄÒÅ ˜Ùzâ…ñ™lš سdI%”±TÒÄ ™«&,X–`£5‰¬‹)i+XÑ«¥²bÉq«M4åóL‰8Á@sF&À„ :Q*Ø|Y #…\³˜3`ÌQ(/0Ö,„˜Y,21¡l�>Ì9“D¡ðÜ}šb)7,Pú &¢[QPQSRÑ´bRµsR²“SBÒ­ VÍX O…ª ‹‰1Š–®$Ò¦Öˆ™bÓe«v�¬‰Æ˜¹ZÑHik–®b͉ÂÔ5� Ñ‰‹‹5bÓ…ÌYKE¬,âÕ‹Me‚ˆ¥ìE"- NÉ¡D¯ X˜a"�‚ÕUpàpÂÙY"Ö¦„šµ�m×–©¼Ûo©oMŒ¬£W FD¶GïˆÛ\ÅóÄa¿¬Ž/E�kи!ayºzÄ7äeiÒTc[‘/‰‡Ã1�©¢•TAÔ/$cM“ÑI1Ïóô]hí}Çâp¤­_;0Û\Œl_L E«—ŠTØ/š1I¹ŒÚÉ“cWŸÁ@¦+ `JâEÁ(¥åS&��ÌÛS# $ZÞ-$\W.9‚õæŸÂ \L8S\h¸�¯ÝJÌ^H¯ë3˜.ØDámnq"´… dÓK\¼“í¡f±8HbòY¬Å´p’J?i²Ö3úºã‹HâêÙÕYjÚXWSA2»?⬂PÔW2# ª¦.ަ‚Ú¶´Ö|õg7ްT¾Œ¥DGba"È~Â<ÈÈä‹¡¥æSè´âÖϤ°¢9lnמü\‚£«5 ‹Á¬®d«GZ ±r¦Óóý3Ž´Zó4«·Ü3ç\ÄÄe ¤Ñóö}sÇIøœ¾†‰¢ÙL¦7 …QÖ2 aa¢#äsë kõ`wñ�bÅ›6�[ÐÑÒÔ8q® ‹0rÒwú­,0–K¡h1Q äÆ67F%ÔLX—E"2Ê ãàˆyÊi­Q2Ó*¾Ë§¢’Å¿Fâ2k˜ÃJS_œé9Žf�ê¹\œž>S»ACñv¶=>«–¦ç9›1Bµ2ØÈˆxüF`¨lŒz¼{uëØs¾ÂßU]¦ÓÖªY$®�¤®OD„²õt̨™Uéìì­íêôÔ´™|¬l6&G !/QËX¸qÐó¹ê[ Í 76nú+}”’Óê §×imµÕ9åí—Ê6 W7.jÖrÙEMKÏçù}-¬Ü„ËZÝ +z¯@ÝšØø©,”Ô̼¤Ù‹üµg˜mISOQWÈqÔ+~÷#“Y9?;Æùe¾NR`µ¹®:�‘Ïè<Õg+泓žRGß7Ì̺¹¾4ŵ]g�ÔØùý>‹�jL§ßy‡ñÛ÷�–á¼£Bšƒðj³µ^gËÖ×rœ�oÁøØüv3㲓¼u''Êrœ–v‚¢¯ÌÿùŸ›Íš¿…“á³S¼_šáeVq|}g˜Ñç|Ãe~Z‚ŽŽ«ð Êd²cˆ:’›�â³\Dãn3‹ÎPñôÜol÷“Ÿâ›™9? ä3|#¡Ï«/äe§3œdôäÇÃeòù¯ Ë;æÿ•å¿Î;8©¨}ño 伞fv€á8epüe^hŒ—䦳*áò<2Å™•Pøž„˜à8B|Yç­~ejìÌÄ<¼ì>O3ëáÌbȆ���ŒŠŠŒ�Ž�Ž ¹ùùùùÜÔOÁð~C‚ø7ûÖüjy€ŽÇc££ä*�´ÎÃ$!a!!a·kDÈ�ltƶ5_ ¾ž%Ï 'sY©Ùþ+ÊñGÐMzvs5å8�‘MªtݳCþ.?å�/�7úM"ƒßú††´´Ðèt=ÿ¨øûKM&“Ißú¸¸±±Îçs½ÿ¨Û¡u&ž–‚“l€µ×ëímº}Z Ôêz _ §£nÌâ§®Dìääìôÿ?ÖPNµRC’äyJ«“Õí@Ýóx]6'°¼}Õ û ž²Ýu)ú{öç�Ä™ë ~;!�1÷@ý Ú©OC+:–ýW'æ¹?}Cct=GÑú=‹Ô×s@#ÿþ£üqŸit?ÎÌÿ–žŠÆèyÞw�?å�žÒmF޾¿;t)xþ>—;MÈS{ê ?ÖY'æ5`…éŽÅlÿi¿¹é¯8öþ¿ …8sÐøéþu䇯ÈßDé'­�ÎüÕ o'·Ñ.‚Ú4Ñ[C¨þçç}� tû²4æá±ôž“cpáÞÐw 2lÞ«Œ[Á-:õõâÜŠ¾är¼§(.öÂ�‘÷¿¯º:îä'fÝÛñî{qt·âVô‹è;*íY!ÝÛ÷{þèô–…`�ù¼à~<+yMÅ è EfÞ\ €« do)ŠŒãe&EÍ€¹á{++*/÷~††„TöTäKÃó?#†=•m’ÉH^FÄ‘6wýÿÿÿÿ1!>Ysæq&ñ!C÷([]÷ŒyéûêÐàx�à²ÞC-ßPê#¸ù |‡sAÞ“£Ð£¸¡��÷ñÿ°ºzÝmžÂÝE¿sBÿïíÿo±¡úµò÷CKaa¥åôÜÆ›¹¡ú=àkÿ�@9ÿ‡?ðçþþþÿ ðó´r/¼ƒ|ÿÐßD�l@^¡ømûðÿðñýéóô¦ýAïý#½ÿ¬ €>&®¿<ý`ñÿ!GRÞÞûšÿ÷ÿݬÿÂ�õ ùxy<ÝéŽÅlÿi¿¹éƒ‚=ÃP…2ªæš%Ò;t†xL¾ ÒÝþ¾€ûûg~ãqw¤”ò)šý Ì}Í¿õ‚úßßo§y�&’ï»×y!Ò±±îï¯å4?Â?Â?Àn‡Wûz]¶Çoâ‡úá§¹Š^«f…â…þ`[ÿ "¾/èò>^Ø¡Ïü9ÿ‡oð�ð�ÿø�ûªª®K‘Óæóy¾;�ÒOOONÎNNÏOñ3ã¡·" ðo÷­ú¤ò5:qèìv::>@hy´ÎÃ$!a!!a·kDÈ�ltðñ‘QQ‘±ÒÑ¢ 6údgй¬Ôìÿåx£è&†3£":v¨ˆ?ö ü²xo}�ø ii¤ÒW¡rëÐźôq]"èyLŠ4Ñȳé¢E”ÐïÛõüÑâ¿V1™ÌˆèÈæOa{$=ËW«>:ëÆ…}™xCô—tÑ"ƒ27íôZhM ÅÅ�Žw;^„¾Œº$R;³C@º,Û[UU\­§Opßÿÿÿÿÿÿ�X±d´ŠË++--2~]—ŸØìv=Az‡–©©©¡ckgggªæÆž ðoƒ|û¦þ*BFB* úô�þë�ý�އBÕª;tŽîØŒ$])‘Fš 㦉SC¿oסø¨×Û"bn..rÔeÑ"‘ÝšÑ` Gƒàí­®VÓ§¸o„„„ŸÍ¿=žE'‚{uuÞ¶YN,ÁH¸ÈãššåƒJâß7Ó¸¡áÿ:?ñ�áá¯ÿÀ�÷•ãÂ~]—ìH½>^Ï;~ß‹CÌbcIv]27ˆxÄñh7âû¦øcþëÁ¿ö[ñ޼¨».™×bñ<8î¸Å%ǽ(Šu¸:dSÜÜ„“ñŽ�ï›é—ºÁý¦ûéæ8óf†ëâÞ\‘4æþ1Çü9Ÿ„„üüø7Á¾ ðoƒ|àßý6øsÿáÏü#ü#ü#ü�$ôôôìääìôÿ?cUUUÉr:|Þo7Çq©— ¹oíHÁÙ,Yed/–ZZhhØØØ¬HéÂÙFc?±Øôpk#V,–Õ’Ò(—=_JšxÈ�>~~5÷÷Íñ¤îý�¿4lªKi·ÄûØô}*ÃÄh˜qC·ð±ç€ÇðÇðÇðÔÿãAþõœÎo[оoX?E™æ¹®kÎWŽœ.ôx=ûxß·ïœæ³™Î0_sœdâ%ÏWÁ¦ž2#CÍïÆñ÷?qzß1ª¦¶›|O½ûÆx¨\áâšÎÄÂæÏs•õó“‚ù9Âý妯W«ÔùáÓ…œ< ŒT$TT<~®¾¿”ÚþS“D¹êü*iã"48HHL#õó|i(·ú]ŽÇ¥éEó¥óü¨òDtázSÂ9F…ïrŽSQ.z¿ŸM½½ì–à.VÆž2(¡½/[÷4Þö‹i7Ï}žý<#èXT`ýõééõô_EiGÞ�²(Ù[•·Ý’Ú>Oª44o½o¢’6þ BŒ_Íô)�‘o{¼ßA]4ñ‘êúÖú„•z¥³È�~¾§áÿn?Æ“³o§©ú6UëioÓÈ´ä¥ øû¿„„ü}ð %Óòú–•ø;¿/®ˆÞ§ß7È}ú#ü ~?ïÛ÷€‹Ï!ÀÿuÀýñèH¡��øé¤D|«úž[è+ìÓЫÔ!ûÆú)ãCsƒð `üi�ð£ú–ûÚJ¾ÃÂ?Â?Â?Þ…‚77Õ�4ˆ¢ª‡óòЍÂxb�”°dàßø7Á¾ ðoƒç7ßøsÿáááà†@ì‡Lø…½½áw&GEÚJdFŸz‡Ü7î‹üûxñ  ÿÌðõ?èºm§‘ÝÑÓ´·Ú$ôÉOí!ß7Ó.íãrÓs“®Õz.™ÛË}Ú»oÛÛ¹#}ƒ÷ù¿oÛcý¿_‹nð7pß´u©øGøGÿ{û\[vßseÓÊ=¬Ž˜GøGøkÿáñ¿·såÖžö÷¨iù·tFý¿oáþ÷øÿ´ÃÝ«~íÔcÿЃþê'ÿ÷ï{ÞyÿO�ÿy�áØü#ü#ü#üàßø7Á¾ ðoƒ|áÏü9ÿ‡?ð�ð�ÿçþ�à`T©��€€Á`ŸŸŸ__6äGM? ßô­ø›´�å"1.ˆÞ¡ß·âRoï0M×·¸Ä$GytFõ gnP? GŤF!ÑÔ1ÓœT %/00ø'çÔËâ’óÙ¡©»#·oâ·-÷vüiï�jž^^%"8¤ˆ¢ß»´é¤â[ øxþŸŸ Sô/¬ ¯1.©Äûd>Όo÷vþ'Á·þ?â z±êšdSÑý:nôC‰ì[ékž¥ÑtôÇÚX˜þ®ß¦^æœOkxû;Ú7Óóíñÿ¨C€êqþó%Ó˽³¹Áø[AÄüÜÿûqÿŠþÿÜcü‚7—^o ö¨{ÏtßÀ.¼�¢ÄMÙÞÍ ~aÝy€»/Ú¡Ã÷Y¿»¼òðè�¯CíÖÁ¿Øv/ý6³þŸ€ÝÎÕ©ë&§Óï¿ë¶;‰uÁK­üo8=ÄÞ[÷hn·Ü[üWÉ·ÿ™Àþé§{øÏ§MÚJdqˆÜ­À@í~Dº§¶COÈGøGøGü9X‡uNÛ!ƒjÍõ}_öœ®â܃éà°^/˜~Ä¿9©úô21ˆKÊcĽ¹%/7!@€[þÂßà7ÃÁ¾ ð›þÂoðê:°yw¤Fð—”ÆåÈÃ%æäuݵOí{ùû¿‡?ðçþÿÂ?Â?Â?à_ßÅûæ¿§äýÎÜpý¸6äA¿ö[ø,ôSòåéënEùø|rùrŽòó·"† ?ÞyÖmÐüû�+ˆ#µ#—:¯ƒÿ¿îñÿGõ(nZþëÊž¼‹ºw‰÷íþìŽá¿}ƒêw8þ§ó¯Måïìpfù¾þþþþþÿ‡ òCÈyÿo$n@p?ÿNýæ?‡3ð�ð�ð�ðoƒ|àßø7Á¾ ðo‡?ðçþÿÂ?Â?ûÈÿ~~Á`ŸŸŸ__ÞÇM?#.¡CÓÓËÎ܈7ö¤TA)·nÿÏ'µ*pw?´òp*Ÿå41—M>íÜ7Æ’‘Tß‚õ-þîߤGö-úŸÖoúÜS¶oúø?SÚ[õ?¥�ê}Ôí°}7¿³‰ÿioÈö�~;CþúŸ‘Úh>Gi7þÅ¿ë`ÿ²•ø"=ä©ösÚ·ý•¿S¶oºIõZÏö9¾§ºÇôfÿež?+wø-´÷œà¿S�ùÓo÷¾îoÝ­»Ó}9Ñv†ž�ãI÷ÜoÔöÚÿ©þ<ý®Oée�7ÿË£úŸ_¯ùò;á,ËËÂEž rG¥;D7„¼½?íÜ­àú¥½«}O¬oŒ�„.ñm;ßy”{< €»Çø!ã ~?¹IìÛã#ÖfûÿµÍýœÁuíô6�ôØ?xßGÔû\¼Áõ?ÿ·÷vòsm+þÂð~¦ßàúíC‡{Ýùþ7ä|½¯ýocûþgÿ£Æÿæãþëñÿü¾7ê›±úŸ‘ú©þHÿúœÏÔüÐ×ÿ«Ø¼}7F)#ªIL�γýrXß‚råõÍþû÷?#ös¹·ê{´ýþ¿ýö?üœþÝ7Ãýwé?ô0¾oûn‹ê~D¯©ø;/ÝàÿYÀÿÔpŸý^ÿ›ûoú¼‚ÿÖÿ´‰ÿ™ÏýO÷ãÿ±ÿ—ëÿÊü¯ý¿ú~§û?ëõ?3ű«ñd@ö ?´8x!ÿ¶óÛ­ƒé·ÿ~,vèn>¶€ºèê •v“Ú¡÷ ò¾•¿(1ü1ü1ü5?? ¿   ý»~PcøGøcøq¿ôÜoÊí¡¼®ÛÏ»o†?î±üàßõ3_‡ðÇðÇðÇðÇÿòÇðoƒ|àßø7Á¾ ðo‡'ðÇðÇðÇðÇÿuýýÚ¹�Ü0©%0‹æè#焎Ì4&z2b�Œÿ¯'õ{Œÿñ'öµŒÿì'÷ÅŒÿë'øˆŒ 'ùKŒ 'ù\Œ'ùmŒ 'ù~Œÿó'ù�Œÿá'ú-Œÿã'úÊŒÿî'úÚŒÿç'úðŒÿò'úïŒÿå'ü@Œÿð'üCŒÿø'üÃŒÿú'üËÿ0ó&2è$5À4@Ìÿªì2~ì©&Kì© a Óu  ø-lh5-°D§V°4# HIDDEN.BINäÃ,ƒ¾ýÝm÷ûëmŒc8tQ=/R4IÈΑ†aŒaŒcë ãì n”>`Û®qÇ>9ðÎçÇN' á¶ØÐ1¶:ÆØ˜,$ëLÈìÍTnH\)e•€[ `P3ù÷çÿ6ûàþƒ�©úGJ¡|«)ËÃr²‹dŒ•²ä¬ðm< x.U+·‚ÛvJë±.Kxvð_ [ÀxvYd²[x·ƒyv›Å€ø¼U__ü†•Æå³Ca?3©ƒŠ„O�SÔœw°“8ãœs:æÁq×£š4«ì§gwÕÅ**.ΕêNºÝu•ÜcßÎα½uG|q(Æbk]¾ßW|swU£––Ç]Nå5ö]EG�]ò ººUø<Û�«9ÛÜ\””Æ�]àø?ä4~'ĨΧ‚‚º¹ù�Thï‚dÒ3´µ^' ’ÎßïüJ®ç¹¤g##‡€½^’<;»·‹]zd—ûü:I“)ÝuÝSÔx¿ß7moüo¿ïéé³SÙ?¿¾#tòšN.=5Öý~‚ÅEÅ«•š¢¢Ôwµuu¾Të»ð< ­~«UÜNæ§ÅA_/—WvóÓ£ÇUÕ_ Rã±Ê×}€�í…K B… æ(\»J•-qË—aß㣖L-dÉ+WX<:Å”•ud•7´4* o÷÷Ç‚Æï/,÷5óvûQ¨eêëc*=¨QWc�´ôë/¼iÚú·‹‡TìB£mƒÎp°³uhc×jÊ‘‰¯igçêìúا”J•æÏ Q¿¦Lº’ª«g™[�c&Qx7«;Ë››äBÉùývöÎó[®×M¦}}s³ïqòR¦ZjŸÅC©þ÷{WQ¬Ói™®P£—ƒ¾ß^Ò$yH‘#ÓÝöûƒK ‰ˆÄ”ˆÄÄDDbpøœJTÑqi“G*TµbåÒŒææç);£úòªªÚø~çsW³ÚíjêªjiõÄkRNMÍÌ3ZµTrh87÷×§¤n¼IM'‡»Ü *eJ˜MÍÍéiê¶»ZÝï Ÿ{µÙÔTk'2ŽU ÿ{HŽÉ‘_Ü-Å%ö ,råÌètº]eF×s¹ÜÖïw»î ùÿI7okkw;ŸkUT|??1(±dZXëé''„AÒ»š'‡„hÞ’$½ß_ßðp¤žã”*T¹“6ssš].›º×SÓë)ê**ªj* ÅOO¨Ô-% äÜÀ ‰×z¥J&& ÁÁÀÀ¿àðpd¥ˆ‹ŽŽŽTµjÖ %%2”””`AjÅ #‰Š‰“DE’À¡BÖÉ96yF åÉÌÇÑÑ¥\¥LvO+•c%–��“‡ÈdåY2œœ£££ í²™NÎ6*+”ò!ƒ ê6… <¶[³‡Kb&ÊâЗÊåcÙ‘’z ;"^O#‘Å¥ãÙ¾^r�±ž#Á*dÑý¬çÝG9/.¾>"#�rK‹ÅÇH.\ÊoC¡ãÝèç§¥²Ë'Æò/)a¢•«Êö³34‹Í‚g/—�ÇÃCqïÖ*+"·-–•ÎOÑQ6»èh''&¥¥X0]”Tª=›_1˜ø]Ü ™¼™B¼_8|=–Ù«K·ý?#È–áû¯uq¢HèèðÒÐòr”hã~åűpÚÑÊRRhÙ\®]ì/vqÛlUGÕËŸoôߊtuuP”ã§xt„µù5ÕÞEw‘äpvŠ**;š åóÝœ¥I,ÏÏÏ·‡—•]•ë‰ÚN*UU·÷>ç»ï§|?¹�MLßÁR§QÝDwÄr(+ýòùq|””q”ˆˆ–˜Ün뾓äøò=÷}U£NŸ]ï{˜ØÖp7»Ü;ÒT·þªãq¾Á@@Cª€€–×ëw� àû´Óéê;Ý¢tñ¹‡÷þêR§ý-,¿±ØÊltºYö†L¦=Ã?¨M=‰_�¥Ò­ÒûßzÆF…rìíùZ¶8XXYˆ;Ôìê‰õ*Uv]ÇqÝ.ïW¯¡[ãxÚ6«ÖÒƒ; ö÷�GÓôë“ÏÌä´¬¬’˜xyHºJDÓøìu )&RÚÉinæ[G£‡Q##Ž’Âãq½Äi<áå%L,Öët´�Ä­g¾÷ÔZ8Š ,Ö,ÄÌ)S‡¥�Tª œ�ùÕ PÙý'óuÓ~c¨fÍ‚ÙIE,¼JråjæØ¯^³¿X‘%AÕÕÇx$û]ñ:bºù|:‚º¹1ÈüO»0N�1»�Ív· Gª§—uqqI)SSà÷ýÏr®ôër¹_b³ªðjjt²©ow»«Ýâñ+ªÕUn|jº½4²dפ—»Ýú›=›Uª×Rçs«“ö^ËÙ^à0¸X…ó“”Zj}~¿Q@͚Ȅ°è(x|j¦ 3´TTT2„öĶ..#™2Âgö XÊJ-V­\lljr ÂÒòh½˜›ŸŸ�βbÆD‰bñXœLZblo^ÂVW;5+*ÎU�þ'¤dT¨X²IRÉ)&,¯b¼ž÷–.&Á…'©ZµrõÒ²²Ì™2–ÌJJ/]$©Ru8ìv9I4|©TÅŽ`˜^½q  ˆÀ"Õ«”)R¾FFEi/XMkHÅ^µ:yÊÔ(^G’²)Ì0dOMÒ$€V+V¶D”.’^¾FHö$’Å‹¤¤dT¹K䤘.$„OGÒ‹¬XÄž`äYÂ¥‚Õ²ÊÖ­Ž–'d¿g£ü&16±éLWg±ë%™ê1;Ö2'Û¾aàà1‰Ó=v0xG¬bdÑIÞ°Ñ*b‰WRtB&,œ8Å "£žžÁ‰ìNÁd«ŠR¨ŒLnMê+ Ÿ¥5àï_»ÿ’°¦¬¦ßm¶ÛÖxZšjmN¯¼Í”Ífs9¬Ü¸XâŠDã1‘1XðBüRÿ~¿_ߟÑàÙÝVÖî·{Îc~�¥4}Òh� )M>›M§¥¦¨( Á×è7Æ?ÿÿ#û[� åð!%ƒdÑù§PŒÁ ­îή®È�Û°CŒËbš˜Ü^&²ÃBá ºè †&@?ý>!°æB’BVf-îÖç[k¥±ÍÉÅÀêïÕáüo'âù;þÆòwÁ’û ~¿aQï³ÎBhœÝóР߯[ùý¾“FyIE;ŸÏÎÏOè'ç¾mfW’É+�XoN!ÐØtö†áÊa»à ‡ìA 1D¸ŒBXhtÅ¡ätÞ¹¬AìœÏzhh“ž( ƒÌ'�)êh36‰=™MM–Çc²Ùí(Éûùè´†‹BÆh´ʔ̲e™•Íf ãJFö•�öüÆøyá‚ö~Î ¯ƒ0…0¸L&$°N°oúØÿëGæÜh<Û@P± ´&½¡€(7Í©µú Õ§v{{»>^Ó>…�  Áúø>8ÿö±ü6¹…!-` q†Ôc-áðø|Ö�•½‹|[ý&ù»ÑæÌ„=™z›µ±‡x@ëÿ)¾ìïÿC�G"ˆqóCñüÆúS›[Æ?üc÷¨7xóX>¤Oó¡¾~úgAËõd^[÷�ú}yòÛÿF3;û�¿~ÒëÌÛQÈAì�âßÿø·ý H~’Ño‹ð7ù›ÚÛø¯æ3E¾-ÿëo‰÷·¬ÖVVmöÛ`¤?±3!ù`8Ãû72ßií=¤&kHp¨^ž-þ“vP�mÖïyXSVP– ½g„æÊf³9œÖn\,qEǂâ„h_ߟÑáÆÝ¿©¦¦ÔêûÄô…(訨é4@„ßê�A@Oÿqùr2¢yŒ†Ã? Y&Õ “‡ñct.¡Æ ÷t²²­1™­Ðñ—ŒÍôŒ~1ÿ£Ò—¸y©ÐÓ9(böCj„ÉÃŒ"Ô.¡Æ éXÆÃiØšÝ9xÌßAhÇãú1øøücói¿6˜0Ò:YBÆ‚Ô5…� Ø-CO©¬h-A¾6íñ�þÔ³)²Øìv[=£ÉK’4w'›žˆ¥‡CG¢Ò�  ÁBö M€(XÐZƒ|,f½�Gþ¬wöŸÍ9íûËj}&øÇÿŠ?}.i¾µl¹¼ùÓ­…¦óÉ´·oþ[gY¡P,/µñ9™¿ïØ|qÈñ¼´(-ocø·ÿÁ¾ûhͰï°Èln¼†=æ½¾ûç·ß[7ìØ÷›/¿:?nßè`ý‡’Ûƒ�ý,³í}öÓµ÷ß™Úø·íÿ)˜ß6‰1oü–ÿâi}pm¥õ¾±WÖÌËn¡Å¾-ño‹”ß:Ëm­ç�Á6Ý>*×ÞBÞk|ØJƒ}Ãè7Æ?þÄ·‰Ñ ’(qóÁo‰Ò/)+7dû·ÛHþA6(‘"vu2R ÂÇ<_ù5½×žß|+"#Ä�ÿd}&øÇÿŠ?y*p¤XûØ-*–«^KÁY^´œ…¶½ñ«4[öMô)°È¢ªÚÝÖïy·Ûm¶õžABÎÛ �x0ÿŒtúm6ž–˜Ï�Ïççg§Ãþ[áÿ<«Éd•È,æ7ðå0݇a†Ãö †¢\F!,4:b€œ~ƒ|cñ�ü¨ý&p󃾭Çúý‡|NÖ\)|Îg/yÌá�¤,*[N'Vx^<Ð^ÂÞi)� ÇtHúxŒŸ^ÞŠ…í4hÞ./�¯¤·‡XÂ�±…¼´·êõd·… ýêúî»®À~o6?i µ½š?-:CGåãxT)üÈRjÏ`þ¤´íÂ9iã~š˜ù/«êÏ’Çú8þò}ÓS©¦¦ÔêûÃR)þ²cÕuÂøÒÜwš³Ñ…¤ï7gøó%ñù½ð«ñþÞÆC�¥"ßø·ú ýGoE=1¡ÐÑè´�¾# ×õð�8b€‡i³Ùlv; BN žÓßi4TdTÞÆC�¥=øæÿE¾×ݮްôÁIþëõz³!IÁ(]éžq½ï×±Úûýxòô×éi þÇDhh{ìM{ xq–™6–;-}Œ18tžà)?C51�¤ë�hŸ÷†u…½£O|x^9æ³®O*Ná/œ ïƒÁ2”G†Ô&kØ[ÃŒ1 ¥Œqÿ£�ùÁ:!·‘†ú¢�¾œ)š)31135œ oAí0íåÁ ·Ù†ö°NmÛñ8ÌdLV=þ£÷[Ö¿`Á¤‚�ëÊZ?#(Œ@¤?ã!/ê�ZeýSL·‡ÃáðxZCñBö-þK}#¸iæþÕmPÚ§l·žßw5?Q¾1ÿÿGàœßòÚ÷{%¶ô[¹xëþqY¢ßlßâüú¿ÿ·Å¿Òo»ÛÜ­–çwñ….åùÄCm<-¥ÑÝÈð¼m/aoiÆæPôîAÆãb…ÍÁÄð‰Éo°ã ÖêÒÞZXÜœ�qWÒxèyÍ�ÚCmof�Â4~ѾÖKÿˆ†Ç̓áKƒHä+VŸŠÖ–èwþm�Åóí"ßÿÝoÖ—°Z²ñÔ5¤;A [k­Kd(qíZÚPoÖµî>¯Í±™§Í�êZ¡©´”jþ¦ð­$±Çÿ»�þWe!éiÎÌœ×TûûDâßå7íPòî¡ÆH·ùMþ +>зž-ñoþ³~ÇÝM®÷sZMÇWæ-æ·êü×�ÎoŒ~1ý�" ž©Âz;ø¯¤ÇzlÓ|·ž"-6÷gks­´)2M¬v¨Lžî_êšàÕiÛ�B“!¸6± „æ¤Þ.Žå¤–ò" L…ݵŽÕ “óÛàÇ5>“ú£ûÃfø!»ÚXÍ ØXîâßùMû HŸ¬+7Ñvâ‡q-ìw9ƒkO@³{üŸˆ0[¶yž1ý?Æßýðž�O-ÄôèfBdíìv¨nö�wÂü⡳ã°ô¾ù_ž—vÞ�Ð˳[ßÚMc|ku }…(¸®¿>?³”_-ö}ÝËðÝvÝÛq˜»µq>5øßÉ=Ý›!6ñn ßDÛymû»fû| ¯òcý¦•ò'ë,´�¾5±¡u {å}¤œ}c³·±u¶¾Ü| SýÄüä/­©ø·úMô/½þ²Óß[E¥ùË´òÛè!3~ßôãŒeivvFŸÇOï~3öû}�"ßòÛï\g`Ò4úô<[ËúZú”ÚÿrÞ—÷˜-û4%ý¸†‘¤iFŸÇI=ð[­Öá§îR=@ú´¡¶©¿o�·ø[âßø·Å¾-ñoòcûˆ�ýPdÕZmή¶×K`Rd(XíPÚÚE¿dŸ�úˆ“õwǃlçí!ÿ–†àáq9åÑÓÔÛÀFú+m·�²¡ÆçtDuÐø¶Ûmp¸Ý+Únÿm¾Þž{}Äë¡Ä�ÊÍ3Oýcÿ`I¦?ÙGïí¶ÇóŽ8ž�‚“齨î¡Ê½m€ Mo„·’Øä[]}EÓ§8ï]týÆùÞÃŽßsµoÝ=ýÓéÇᄦãêP[âß'¬´n®¶û…ÀÿùÊàz�¥§c­P“ËÛÅ}¤—TUüaH[ì£ki'0Lå3|�’X“XÁâkxRf™ žd_ Ø¡4ecùm÷–³«Ç#Úxßi%�a%þ¾?£ú8ÿt xýŒGü8ÿÌo£å`ÿî'ÒuÐö ;É,)ÿÊœÇ9qš‘o‹|[âßÿI¾~ð»u¹»¹9.çþÓAHm£2ô×ÚMu Zh¶–žS|ç›&™˜æoñ,6?±ãù1ú;6ùföíÿâ�ý<ó#÷>tc›ü¨ÿÊ´þÌi�ãü€z£­´££¥±ÍÈ8Ì„ÉÛØíP‹”…�Rž7ñ�û´úÑû‚árë�üòæ_‡ðqKÿ⪰½ñK›T‚ßä7ÄAÿeépAAA?£Sø‚�æí£æ¡ô™¿…¾à ‚88 ‚ ‚ ‚ ‚ ‚ ŸÒW •ÕÎÎÍ)iÁÈ[cÌׂÆäíÇiØ$ÿ!¾ ‚ �ý ‚ ‚'ØÔþ-þ‹|OóÛ#ÏB-û4#ý@ ‚ ‚ ‚ ‚ ‚ ‚}âýð�©ücÿ£Ây¶öó­…¦[ÿ)¿Åø ‚BrSÂrm0že¾ÏoÚ÷Æw#»ÿŸ·oô0~Ì’Çþþ?ŠçOÎC çuª-ño‹|[âßü ÿ±£ÿûtOŒÿ±ø‚'Þüÿü�7R™ìd&Ìíbìf40è4ìf4æn4H2fx®è0¯èìa#‚u:X-lh5-c]ÀSœ±" 150MPHg‘š{¡ðíoýðw\p÷ÝÀË¥‡ƒF+¤e²ŽT8Àˆãk ^Úñ\òÚ`h*±§w6liÒ"âlÖZ�ÝÀ÷F7¸8rŠfÐ;„ø¯)ÂqlTçk.‘‡¸¦Š”{ÿÿ÷ÿï¿wïþø;ð!ñÅï—kÍËØ’ôe9vݤ ®„š ×Rm[¼;ÂɶÞ-áÍf·Á¥šÉfð> /�ð_“o‡ˆšLm¼wÁ¤Óx·ŽÍæ³o5V/÷>écq½$u׌á"ï~Øãù¿Ãá:¸X�:tŸþ &êÔé�Åq|O¶æ£Ý]¸ÿaÁó7Î�¹úçW>g˜‘½óx Ýëƒå½Ç{æy‹Ï7zu%–@’À¤Ie¤�/=rBíÙ±QÉ/¼Æå¸ž'‰íªÇ‰¼ w‰øé„úGLQQQ8�Z¯d^¤mz}Jµ'Õ‹\/°Çí©{ì~ÞuÙ`úÜ0ÕˆßÆþ7ú†>¿ŒÚÔû˜þ:bÑh´T'Ø·g(·zæo[I¬cüDn[‹ÅéãROœM–ÓÇLiÐ#¦”Y±�ËjµZ­>©6ÏKÓc®/Åñ ±ðÓìy©>Ú5’øéŠ{ï¿~‘}Ê_P¥¾ÇL'Ò:b::9›ܶS)”Q>lS®/aJ«Sì[²Ÿnö¡>¤Ëx'dŸY{jr*¥HCŸ[6,@J¢5’ö,T‡¨/nÇÂO«Ï^ŸJM†͉ä‘þGùä‘þGùä‘ÿéÇøßÆþ7ñ¿�üoæ�óGùä‘þGùØþvÿ�üoãøßÆþ7ñ¿�üoãøßÆþ7ñ¿�üoãøßÆþ7ñ¿�þód„H²XÒ,�–Df|éíÙ±©·¬/†„„………í[ªÆ¼O£ùÇc±X¬N V«ª/a^ŸgÍ„ûÜ[­/°Çí©{ì~ÞuÙ`ý¦?jÆ*×k¶[-–ÛRE¶×m@ŠWš?�-V®+Šâ™±µ¤(ŽÚÝ�Q{Úôû>l'í‘Hâö)ðÓôê^û·�vX?i�Ú±ÿÕoêO×1÷øýò}ýë[ÙïØý¾×kâø¾.ÜÆU6õyÚ­Vä0M½íê0MºØ›ksv:âþ.Þ€«ÚO§ÍIöѬ—£ù«¥)O¯ ¶_n«Oë‹ÞÓNR«®õiõ¯_)v=²8¦àæÜõÚ¦—b¢–"6)¹;R® ½» >¯=z})7¨ÖŠHÿ#ü�ò?Èÿ#ü�ò?Èÿ#ü�ÿ>?Ðw ¬ÇŒ£e²Û­ÖXDú üoãøßÍæ�óGùä‘ÿ÷#ýËéC#¹Å0¢ŽáÔÂê;‡S¨î/OËz;�ÓhïL:£¹&î¿JÞÆ“Ù,‰‹Ôw/§" ù‚˜hDá["’p‰"ŠJ12^ŽçÔȺ;£Ù^§"£»¥8)«m­5#(£ºµ2šƒÊ:;¯Ø^°“ŠGxúe}„�­$L¯S/©Äè—vr‹)4­”R¬¢ÊöÆ™­BM?KêÊ,¡�£½ý2ÖÂõ0ЩfÈ)N'Gzz~£Ô½N.d¥9*YEïéìm|ÓÚÊ0Év°¯ZzHªšz’vÕbv²�SOaæÂB'ã}yEO5ÆžÃÍS£SyVQL(ÃCkš{ 8«\$,*~7Ø‚约ž¤š›Í;%iæÔ´öj¢}¸uîÚ~¶'Ù„¶"~=½µ =¬¢w¿ý^÷ñ¿ÿ+Dߣáýâ̯�ü�ò?ÆþGÿ¤ßöºoÛÕ#ßi¿®Ø¿Þé¿V¾ë�ð¶/ÓêåªÖƸÕl_VÃV vZÃê6/«`[Òßáµ�=¬¢ÎÅõí1Ù4öö/·”jš}·öö/³°-�‹öÄ|–EkšzµÆø[éÙ-VÚöj¢}¸uîÚ}NÅõB[?¯Û^ÖQ7›¿ÍßçÛù£üoãøßÆþ7ñ¿ÅIK¼yK/¾§Ÿœ¡¡w9¾§ò––Òó}NþÈÿ#ü�ò?ÈÿùtïÛùä‘þGùä‘þGùä‘þGùä‘þGùä‘þGùä‘þGùä�¿ä‘þGùä‘þ7ñ¿�þ•ÒAIO¡L•*-CÀ±wÏ»@Õþ^­ùzÈ÷IúÔošŸ‚ÇÆþ7ñ¿�üoãþÑ�œ?çù»þKƒÿ�Âý@GùHÿ)&ü�ò’?Èÿ)#ü�ò’?Èÿ)#ü�ò’?Èÿ)#ü�ò’?Èÿ)#ü�ò�þR?ÊH?øßÿÐ~¤‚’Ÿ>—¿<"C×X¹z»}Ú~½õðXøßÆþ7ñ¿�üoãÚ1óqùO¡ÀþèôÅ-H¸°(›V¼ß—ájDûúÍkSê·Ü`ÿ®ÇÆÿ´cï(^43Y¼ç]œÍæ·5Pü*†{? ø: ý.®�™ªõv::M&—II£«©FªÇ3�dãBo'”ý ¦MÌ¢¼©Bïï�´/Ïnj´Üm-Yëx~#‡õ«^Ùaâ,ÑëÄ/Ù[�UB q€Ö8µb¹‹lµ5^ÿ&÷Nóå¯WÈûåë ‘§‰>‡ †Äa°™ÎEV.òÛš«£þ¹§Üâзñ¼wÇq¶ýµP#þokR�òý$º¼ütúê­›÷ó£ѲŸy¼O°¡S1P”–ÆôxÙiF*—–—èñý'çä1ù �MXÆa³”íåÌšÌ{ä ·S”Éäò~3ˆC>ßÍã’ç)i$d´”²24ºEyËãn»ÔFÏ1[w¯íתEiœ‡IÒôÝ/I�þº—®­XýM…~qØä Æ^j—'Ê{>S“ä¶µ/`êÚÞãíýþŽu蟻£{¿]øW+�ÃŒñ>ù¼Š²9š.æÑªHÿ#ü�õmT(«%¹À½†*#Qzöݯ͘Ÿb›‡àÅq–ËR¶ìúÏ›S˜åÈ fHاŽ•÷x–`o¡n¥åwèw q^뢖™érS�?QÕåúÙþƒ±øßûöþ½�kÞ"½ÀnX¹½ehuy³ôâßÓ½‘›U©@î;Î/£P)QQQQU »ßÝŒµ7àche»\ü¾ƒ —ÏÊø¶/1Ou¸—˜¿‹y‰ëq¼VsÝg1Y¼GرœÅ=ý’ÄÎbú|\æ'%ˆÉⲞë)ŠÉâ<[¿ý¶ÿÆ ƒc/$÷ô¬Œ¿9Žç%äed%¤±¾ã%- X–%‰cô,i]©*°…ÿú^ÌÇËømó]ØÍ‹ýGÓ{ÿ[€øý>ÇÂóGúmWþåŒ Ýo¯ó§ÿ]cýÉð¿Ì/#ü�ÿH¾&&Ìéöh˜—Iÿt¯û7ûl×ùÛÆÿånùùäœ&ç'ùÉþr“Ž"Ì€TUèÕcÖƒ_‡Ì jÖ? —Ár»1‚?ÿþ?ÆáÜ~å½~Û_'oᨨ¨¨¨¨�±L5M%¿Ò·†}zî¬íÂûû½âËÇíy¢˜»’EѺcï œžNM 5b€²˜¶Ëï÷‹Ä{Þð@Á°_^Ÿ‹«OàÛ5­O¨íþ?p¿w�Õæ¥ˆßÿ½¿´�º=C­&â}Âø½��Óc{tªÀ{<án?€Ÿ[1þ6?t{JâÅt­×ýfÿÞ¬Çë�ø÷,dö¾âµ?רÇëä ßê°ÞÏ.ÇÕcþïáÇ�û§Ç‚ÄŸÿÐßî�ëñ¾—ï¾—Ö¥¿ÕýwÖ}ïù?oö'àèÿÿîDü~½�¾•ûÅá,–åtL.§Í«’~^éüõ—­ÅÔX¹1;ü{iøú´ûâ:Ï�ýn?|Ÿ““¹\º ;•Ñ,5>wJœ\Ÿ¿Õ§Ð·�|ÀWžüÿ®Oë+Ã~ Ø1õ‘×cþõï­c·cõ øô±õ§Èÿ#ÿÒ�ùü¾]Ö_.ó.šžeÝ#ÎÒ}/òlýѧé~NŸé}­•»=s÷ý��F¿ú”þ ¿8ÿß‘ø[_ê‹ö;GöíþžÇzßî�´+�ü�ò?þ{ýîû•á1Ûò7œç'ùÉþrœŸÿýÉÿ>Ÿ¶ÇPÙtÔÇÛÊ>ßÓTû“è»Oܺjp¥Û/D’”ZO°Rñ²—m¤ÔRñ„œû“û™÷©5¯P|ï_‰ÚI¼mzí‹Gue:ÅëÇÙE¬O¬Ê-g·�’sï—®eš{Yï»Ê/Ú| öãOqѼ«iúÇšæQy¯y³õ-åûOŸ×º=›Oµ‘>î®'ÚÏhÊ*Ôƒ©¥|«íX¸G³/~jÿë½Í[ë;Vª÷>‹ÿ§ÀO¯][ôû^x??ßäþ7Ú� ÿÆOÇïð1ú%­ê¤�ò?Èÿ×|ÉùØÿdÇÛàÇ\—ÔAmã¿â_iÞmߨÄoìGþý¿¿íŸsy}v¿ý†?þ ¯ûÝ7û}‹ï7›çêö/µªîÃØ¿ W±}å^ÃZÍ‹î÷›Þo6/ÏÕÄûMæÉówù»ÿínÿÝñ_Øq�Åý.7ýÞ?Ûò�üoãøßÆþ7ÿßoú]F£S©Ô¢” e%¿™o¥©½p¥v:_ŽGZŸWží?åãý-ZÄoãþÝ>µ+….^¹—`±úÄþ”oÿößô¾ùä�ü�ò?ÆþGùã#ü�ñ¿�üoãøßÆþhÿ#üoä‘þv?�¿ãøßÿñ¿èðÐ ü�ò?ÆþGøßÆþ7ñ¿�üoãøßÆþ7ñ¿�üoãú¿®¼�Ö223ׯFk)ÿ;~i�7Ôÿ½¿#ÍFrX½™Jì\/°O«Ï¿Oì¿#Á}SÁ]‹…ýë÷øÉõy¿O«Íí?güˆÿÿ?W›ÚHÿÞÇüûå-Ö1ô[®õÈÏùLø þÂ'àÇüûå-Ö1öW]둟äÊÿõ7ý{…#ü�ò?Èÿ#ü�ò?Èÿ#ü�ò?Èÿ#ÿûùä‘þGùæ�ò?Èÿ#ü�ÿ³çoùÛþvÿ‘þGùä‘ÿÿ1þ7ñ¿ú-ÿ¯‰ˆ³ÙìþþÏgÖS×ÄÄ»³Ùúè‡mØÄT‘ÄlËßšÖ'Õç»Oùxý^oiÿ–ßÕ2¿›„@U*’ÿsÈô= ù×^�»r�>^3š@]‹…ë#¯O¨Õú}hÝÖ?Û§àcÿmÈóô‘ÓêøßÆþ7ñ¿�üoþc8ÎÿC�ýÜDDC¸wnáøÊÏ�}‹ÿ=êt±ÿq>GøŸä‰ñ>GøŸä‰ñ>GøŸä‰ñ>GøŸä‰ñ>GøŸä‰ñ>GøŸä‰ñ>GøŸâ|Oÿ’}Ðé‡|$ÊRRRRRRRSèRpÿ›�Äù´t‰ v줧Ц&#ç‡ë±t½tþÊÇl_å1úÜü�u›à7úÜ7Æå@ÞÝ¿ù.¿oŒë[ýzOÇO×Íý|ÀƒýÂtßü˜ó¨egØ O§KÂø ,4:(W�eˆ^…áx_ö‹ö\Bñ=þ±Zý5¶ ÿæÔV7ñ¿�üoñ?Ûº¯éðÿœŸç'ùÉþrœŸÿõÉþù>—ë~Àl<þ¦¤úêwMŸÇcõš]ÿÄC§ŸæT‘þGùõÎ^³€—w¬æ¿]½fòµÿØ-Æþkÿ|ÀíÜ?ÎSðFý��ücæ?Öø@¸ pL 3ð¬Š{u{ðLŠâûšŸz^«¾O°apØ V«~_fýÔýÁ¡ÀìKì1ý›äãõç^m�ÙJ\îlX�üoã§oüÕ�ðºäúìTª^u�›ë˜ür«lpïDbBìSï÷«*õi±p¿ÕTXק㪤½9€Ñ Àõ,RÒ£�H]Š}ÔGÃp܃AÂöŒX±§P½;Ø'ÞÞ¬§`Ÿ|^’>°Ò‡î»ûð+*áScêjKßX×§îmÈÕ m‰ä‘þGùä‘þGùä‘ÿèÇøßÆþ7ñ¿�üoæ�óGùä‘þGùØþvÿ�üoãøßÆþ7ñ¿�üoãøßÆþ7ñ¿�üoãøßÆþ7ñ¿úMýÐSSSDÓôC Óu"u�wli˜ ó~_¦© ìë5­Oªßqƒþ»þÑ�ÏPO43¹¬Þjw1¹ª‚Š�¡×çsÙüöv�QNÌÕz»ÛE£¤Ñè»jº”j¬s7ÕÍ´:i¬”æJiÌ¢¼©C352Ðp¿¯ÜÕ•�Ê´:ާªêú®¥kÙ‰œ~C2¼Bý•¸ÕT 0× c‹V!Q«˜¶b¦®ÓEÚS†üû.ÏCE¡ìôÑ´ñ'Û÷}FŸ¸�äãPbáe¹ªº?ëš|îvu¡˜ÌÏf§³9�µP#ÿ¦ÚÔ¤<¦>Q^~:}uVÍûùÑ€èÙOÏoì(TÌT=Þ2V^WîØªS)/Ñ¢?º9Œ†F±Œ2ÃféÛ˘?1Öe�2½>JjjkÆqaÇÛù£üoò4z,†Ž�€£Ñ«ÎRVw3Œ”ž�Æc'g•ç7’í;9©½i55Úh\óžÍi»‰Ùí:2þ›N¯5 `§ãïÔÛì~z‚û} Ï+ÍÅŽ ž™™çpXùžw�™Ç¸Ÿ ÏFÆçh.ѹÜìmÙ^k#‚ŸÃâ2½NÕepØl¯T¯8 }ÆG£»ûMÞï¢Ñ!þ±æ²8)õçµyÀXÖ=õ³)ò?Èÿ#þjk8éùÉ©§Iÿt¯üã¥l•gdMOšöJ×ëá°O¨�V0v�Á›ýëVÝõXÖnÿ°«nßÜ/\©‘þGÿ�þ%S=6›ŽÇS|]N¡·ø”š4Ûáþ•drœŸç'ùÉþrœŸùÄw}Ú¯ÜÍù¡}¾_/~×–¼Þ/�wöˆåÛUwö©åeWÖŠƒŸ]ê#g˜­»×öëÕ"´ÌlmÚívú5/]Z±ú› üäp2(^j22H§kRö­­î>ßßèç^‰ÿƒ ¡ÏçgÞu³Ó¹Ÿ{â}óy:lþGùêÚþ¨QVKs€{ TF¢õí»_›1>Å9œÇ¾÷½gè«nÏQójs¹,É©¦Õêµ ÀßnÝKÊïÐîê{Ÿ‹Ý{·²ö\—%øÜœw)Êò¼¯³®øß·õì ^ñîrÅÍë+C«ÍŸ§þ�ñÈ×s¦íÐ>'yÂEàTj***** ”{û°ÆPJö2´ÎâÎÊg¥³Ò™Þ‹Å±žÃ½ý™ÃOb:ÜDö3…�Ãæ±9¬<îìXÍáÞþ÷˜i¼FO7†÷˜Y¬>K’ÃÍa|[¿ý¶ÿÆ ƒc) ÷÷E€”‘–‘”Àt^ß!+%+!Œöå‰bX–?BÆŽBQî%7Ôà¦ÑÀU7¾§=GG•žßS¿ƒò?Èÿ#ü�ò?þ];öþGùä‘þGùä‘þGùä‘þGùä‘þGùä‘þGùä‘þGùçoùä‘þGùä�üoãšt�RSçÓG!F�w£»¤1L œÊ£òµËÖGºOÖ£|Ôü>7ñ¿�üoãøßöŒ|áÿ8Íßò‰Ì^¸@ Œ# è0�ÿoŽÈ†?Œ0�ÿ›Ž?Š0COŽ?‰0�ÿ‡Ž†?Œ¦C„ß�A'L�D'�E'�C'�L'{ ³ìGƒíG ’0�ÿEŽÈ†?Œ0�ÿEŽ?ŠO0ÈŽa 7¯u S¹-lh5-� jð®y# BESTP.BINbû 1{�{ÖhÓïnîîû}¾ÝÝ-ª <«�9P—ËŸ>æÛÇÃ@$I”ªIRc©IŸwPM‹Ž­1�p蹸&ti4ðÚdÉ·—KR‘Ô¤ê"4Æ’Ô�äÑ�òìJZ¬“ÿÛ»çÌo´a[ÖuçßQTßQPn¥Rª¥; HaŒ )ƒ€ð!çÏè”P˜‚WbLCfâ_ÀK‡0¥‰WCû–ÒØä‘Þ¯©Íóš^«MÑÛôÜá�îîŒc8fMú÷ZÃYša=Ò¢ Hj4Ê^i´¥æÐ—Qn8ÚjØÙÐë°ÂôC $��ŠEy×m¶X7úŒ—håné‚£óH¢*¸ú” î•Â8Óm•¼²o4cñÛl”:éÎW”„>U)0�Î"’ªÃR_Š®! Å�U󸫇iT6Z3ç…‹uVyk+Ķ}ô•‚që,•NL'>ûïITUTvN5%Q,`1þÔÞH’eþO¤,�æå»âþì·‰ W�wO&�å e¶P©¿î„ÉUa²X’W×›¦”Ë ûžÉ �ü·y-ß’¨‰VîL70Ö '+rRå‹–•:]7Y-6ytá4Ùt¡có…G‘º• öä•,ôУ{vˆX vjùT>öðßÐ *ºœ" ¢ƒsÅÀ±®bñ[þâSÚ*7G ê~͹»àÉ>ú÷g­ReÑÿ�>ÞEsÝŽaSÿ,uu1ʸ¿ÜÖ_¸c§£%aGÂÉÿÖÆÍôÖ »°~D�æãò®Tq(71~–c¼�O/þ&‰~E\Á׿HªÑßÖ’ï�wŸt¶i&¶ž„¹ã9ÛC“°¨Ú7lÙ<ùŸÂ�´É£wûYßSY´§€Ð²r‰®ý§Ø£K44jì<‚mÞun¥¹¥S3,É¥fŠj|ÚºÑÄ„a³é8Μ6f߀œn‡}º©¥+ë­G]xG]•K}|¾ºë}",,)RŸëĺÑꑪS>+èë¯ø*ye3⾎ºèzì>ŠO�OÆÆÆÆÆÆÅÿ‹ÿRO¹íû}~ºë´Ök.uZ�EÅž›K×u‹À¿Ÿ ¥¦ƒAhGEižÎôÿAÏæ³6vVvY{êVNå@ð¡«Cפ£7uú¿©ÍGÍG_CèuÆÚm£}O§ô¾ŸÒþ¿êð¿§Š“]ã®Ô¹ëÜõ§y5»»ZÝ\w}οµ-È»K�^«S©Ô[õúm.—®ô/÷“çúöw=�ÎfóYœÖg1c—°á_í*IL0¥>L5*``T©ãÃþXKÿHmié>'Ãø_á~æ�«Ñuz/Ûø?ßüÕ~ÏS¡êt>ûÞõ?QÓñRsÖ5Ô¹úõp¾º°‹Üöúþ×µ×všÂÐCU¨¸·ëúý7]Özû‚·Ïô9þ‡ ç󙼿nÎË1c˜±á_í*^]þ¥5p£ös÷ãC>cøý{ Í�*—»%ãå\tª^lW³¿ÐÿèÛÿ?ó}¡ô~‚ÛÿƆ}1êÃWIF?ÿ$?§Èÿ,ßÿ½?¡ùu¶o+ÿ¶64x ñüáÿúÏÿÑ¸Í @ñeô7ÿU¹õÞ|ðϲž6ï5\�žßý>¼í‡ÏrþŸ]t>†EèeO�~ô9OUÝùÚ7__ä]÷¿m¯íµÿ]­ºÖÝ~þ³³¹ìî{-Wc©ìu?½qØ[öó­èbNŒÑ/Ÿk}xwؽÑh§IÕ[Îï¼ý|lÐÉVé燸úoï»í±0Þ^^ÞÞ^}¸WF×BW@ö›M™ØhCÏOèygÑÿuo__ç÷¿?½þ[ï�ó~wÍþM¯Ìù3åÿñ|«ß•{ü?ÁéØÎà�ÁÞÃCæxÚ Ñ¢<é:¹¡à«®úå3¸Cãx>í©ü_‰ì·wÁðnù†ÿÃá¿ðßü¾ »ÍŠüCþ§¶¶1ŒÆÌÅü^¸Ÿû3öwãSIý©ýõó·1VOÆŸþ;? Æ“ÿÔügügügÿóçþË_g‹¹üóû>þÏ?õ—ôd?3‹ƒùçö|9ÿ°¿þ/ÿAú½û.þËÌOþeýžúõ¿ò¿Ö_æ ¾×ö«úê8¿ð¿þþu`Œ¿Å1e7=ž+�ü^ý^qÿ–¿†ÿ;?öx¯ßæ±_¿¡_V~¹?åkþψùý—�¯ýeÿ­§þ6Ïã_ð¿Æ¿ú·ÇÃÿ�üo û<=Çÿ%¿Îë=¿Ñß7™ß£��ýã¯ëWÿ°¿Ç×ÿþß­—þŠ-áWž~¸oü7þÿ ÿ«@5ø†ùä]׺»e²îÙl»¾ïôpív½ï{µÚÞú8`ŒÆc=žÌf=^n·²#[­î»¯W‡ôãÝ|#?ã?ã?ã?öÖÔéüŸ¾S§’¿»#%°Ød/Åÿ‹ÿØl2kþk3ge�¿Ûíïïò÷÷û}¿3ù¬Îk3�¿Ðh--2ö–™+úÚ?ç3u³ÿ“—úÚ?år¹L¦Bþø€Ëÿ1—útí­¹ŒÖÝÿ)”öóÿHŒ•ý…†BþÂÃ&¿ÖÑþÒÓA æ4þ1ÿY×úÍ?ÖËýååíîBÿi´Ùìòûb2û‚2éL0ò™îuý¯¶Ûøoü7þÿöØÿÀÀ©R•KÍŠ¿Ø`*;Ý—©ÇPÀ1œ÷½Á¾YZ¿Œ€gügücý‚2 ð¿ ð¿ ð¿ ð¿ úËöHþá~3þ-ü/Âü/Âü/Ç´ á~á¿ñoüÅüD*€zßâ€á< x^öÇÞö@4qE 0À’† Kå R—Ñ�×ñ?ñ?ñ?ÿjc‹'Ëñ'ö9þ\/Âü/Âü/Âü/Âü/Âü/Âü/Âü/Âü/Âü/Âü/Âü/Âü/Âü/ýuüXQ®N¸Êß}(B9BóÏÒ„ç;®.ºë�´ËãbâÄĈ?ˆ'ƒÊr0ˆÄb1ŒF#ˆÄb?þŽ~Ñ/>:?_é×þ=§ÁÄ·x>åþ/ü_ü8¶ïÇ�~7µø½×Î/þ^çñÇÏãÍŸÇö¿! üˆëò6¯É&¿%Ës L30ÄÂðÿˆÄp}}Eàó5ÿóÑümyÄ~}¿ýŒÁé0où«üs þÅôY?öqÿÈhÿÚ×ÿ‘mþÃ{æú cüF#Í ¶9}qÃ&ÈÏ¡qÁ&ÈÈy2i<ñß“I㺉4žuǤÒyÆÚe�óÑýÃÆS°’xã¿ôþµ ñ⿊þõƒþk cšà†Åçc.á~á~á~á~á~å [ø_…ø_…ø_…ø_…ø_…ÿÿ¯ß}ñoá~áÊ_�^Ïèþúã(R”¾…ÆP–•(x¡BñÊžxî”'9Ýp¡u×\m¦X7”k)£÷ ÿ¸ ÿþ/ü_ø¿ñý/,ÎòÁ�ñâÿÀ5ÿÿÿÏø¿ñã_ñ�ñâÿÀ5ÿÿÿå PÀ�}@JEâñŋ߃ß«Ï_…ø_…ø_…ø_…ø_…ø_…ø_…ø_…ø_…ø_…ø_…ø_…ø_…ø_ÿÂÿ”ÄsÞwžáÏùà¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿ ð¿õ×ÿ€÷šj|à?ƒ%"§A0BÌí„íí¦ÄŽ@?Š%?�%_?Yì >$0196 leax $04,x a  xud x-lh5-U 9Ôepë" YM_001.BIN)ÕŸs‚÷»Všÿ{ÖÛ@ x6–b›RAf€š!6Ø\»9v¶Ú˜ �´Í J –ÐÁCHÊ”( P `´IP8@¦x6 [˜D<�0¢éØf§ƒï{ÿßzýþRßà úg6f�Õv>ŒSpj�ŒˆÞ+ÍÅx480àfáÙbºŠrn ˆàaÀÈÈmFh¹ôYÞòîÇ‘ŒÜ܆µ¶ì·\~I`ø0}t7½ˆ÷ö +ýC ©õã©÷Œ-Jm`ÔÛanƒ†ƒˆ�‰ƒ‚{»E½õqpPq—w»t$îý ÷ y{�{‰Šƒ�½(ÅïŸ:¦ 99‰�®Ôiþ–Ÿl¶Z�,™3gm¶Ôi©ãøÁøÒ1þ1þ0~8þ3~0~4�5:ccdäååê4ÅEz\Wððò’•aa} 5Uúñú¬®8¯ê°~¸+ñÑüWî+ýºÇŒ°”:…‚C׬fڛŊxù!ú‹+ñ�úšþBBZY“/í¥€ö1cìéFÆ?Æ‘�ñÇñÇñ¤¶:¬9,Q¡sXvj1X§�¥±_Œ?ƒŠE,I¬%<{Q+H–X4ó š“æ×†"‰¡´S_žÙW(BU !:üÐ�6„"¿ýUü{c†ÃÇâ18ˆõ4v˜œF ­ ¿_â°x¥4`bðûôMúÿ�Á`bç¶a[—˜HX&ÅÞíw‚4çVýÉä²ryL®RMMl®S'’J|sbG#Ž65rŸ�î3²ÙìþzYM þ{;Ü+“}6—M1§™ÓÌ)¢jgO¦Ò÷z]4Ì×y53K²É±ªÔê™jõš¶JhÖë5z­OÎÔ굚ߟ­ÖRì¸ãù·ãä±øå4d$±ò8ß��‘’È|Œ„•.ÊjxÖÄf26; ¦Œ.:3ž'Ÿï]•êM²½B^\Wï’ro“¿bšt”ß}C}CJ>¯ë1Øî±_¦žã--qWêhþ]~u<ÄÄ¿aY2…Wì{»¼z¿l­‹%ŽÉe³YìÖU4Z,ök%ŽÅc²Yí›Ež{e^³{MžÓk¶Ûí¶ªhÜmöÛMšzc§ù–O+–Ëå²´»œC¯éÞÊ|Gª'mÅ~¹->¥£·Ì¯ËÕÄö˧yíÆ¬Kµ„ÓÈ5´¶ÍŒÝJ‰$2�D!8š ª¯î‹B‚`›Ð„Ó”­+KlØÍÔ¬RB]mЄâhBƒ™_˜õÖÇg;Ú·Qx’î·l>_PÎÄý†Ðl«½?]êoy†Ëžú/?¿ny4೚ç{eã%Ýn¬/½žé`›†öqû†%é¹À�µBQ›Ä–�H¦'åì^:hdI|Øÿ­_Ê÷ÕΖó#5¹÷OñÙߟ•n3³ÀÈh|u.TÄä~lßGrÅK¿7 ì›ú+t_o©u÷pŒÛœûT'ÁøÓCàóÖäI|Øÿ­_À6ߟà-÷ |š:û…½ýù\¼ß/wÈx‹ìD:š"o±ËÚ½-î}�Îéu�ºÝÑv�ºÜûú›§ÈÞA±‹Åbä1�®2AMµÆbñI›œ,p×»åö&ý}çl«Ò5™ÍJJæåeÑò³r¹¬ÎÁ±¯×kö–Ç`¦�e±×ë•í_£Ñhåô�Î’]M3¹ÒhôIóO—º¹¯tçªÿC_zSGEÐ×ëÝfæÞ®/ß_TÁ«ûóL@?¾¾uÏ�­p‡ÎÙOƒz|Ï÷94&Þ~´(PƒI¡?óBâ¿Oƒz|áV ·Ÿ€­ àÒhOÁ¼Ð¸¯Î�%¨BiË©u>~¡ zM’ÊšŸ´ÊÏþ=xbÅ¿Ö<3øY^Í~Õè”8ûLîMG2Û$�ͨèé¿òlro¥Êq˜×Î=œ},m£íaGA·sž’ñ#þ½~n‹Wì7ö,ã/í†ú`|÷D~v¿UÓêÉx‘þu~ý濺ûø Ñ*hÚ ÷tWˆþß»vêËI±ØU=ËA¾í„ÛÍŽiS¼h7Ýš6ócŒT���4æÞþ©+úšþ䩨4îÜ�¼Ø×o:>65¾ìa·›ãÿõãøÁøèþ1þ1þ0~8þ3ȯÉ!Yŕ°�3z%ŒÉÐý ÷`…§™» Á7¡m¥RÕjµZV ½ wjŒÙ³Ý¬yVfö+ñ_Ò×þ,øle¤ò§kT¶[-„“¶jKxVëuº^>}ɼ•yJé#õUÿm>§è���ÜZ‹IÖ~2¤ÜÜÙ$.¥FÒÞ˜Ìf�¢›%DÞRºHÿ¿_ñÿªÁÿý¯Ü`ýÅ+ßW:[ÌŽÿ¤»xû×[œïjÏØmʻӒ{ZÁ=›ymǬ|‚BMöØ|¾¡�ˆ“”• -–µoGE~+úZÿfØð¾Ÿ…³V»ñ7>'ŠIP…_Q)�<ÌÑ!WÂÁùõùÿ2Ôܶ<=LJ¹§�’ˆÿ£_ŒÔ×ý% °hmË3P¶ÉŒ�›©¡¢ [i�Î!åíHç@1Prr-.|!-îT·ÑÔx¯ÿ%çÇøíã�þ¯ÆÇGñƒñ�ñƒñÇñ›þCy”y�sò„·ºPtòƒ�›Ø¯ÅK_§#¼LÇÑåõ1ôô[¦�ókùÆö-´Ï§l!¿ðÇè[ùµúÿ�ýVÅþ°ë×éÅ©ÇÓ�S{;Bw¶¿Õú$©�¥ŒWâ¿ûµûªÂÑ!>6»5 <}(}Šücþ¦¿ßø8£¶Ðw­Vkwgf< 7†ðÞÃxo á¼7†ðßü›× ?ü[èžÅ~+þ5~¾c×£Ä|Gÿ,Ü:UÜ«n\ó­eáÙηϺ;y ¯Å~+÷¦°„ÇÉjXÍ:kô=’�д¯ø¯üÈø*A�ñ�þ)k¨<Ð!y3ÒoßmþúJ_Šÿ�_ÓþôÞÇô?…6¿¨÷¿òkùÜÁ¼5‹;ÖÙé$ó¿–¿Ùc8�  e-+ÇÅ~+þéyÓy«ùþN|�‘ÇþWÓûWùÉÓä&}ýé<éªq_Šþ—Æÿ÷_ìê ò´»ÄN~)ç—ócä·žß.�ø¯Å~+ñ_ŠüWâ¿ø¯ÿ½~~¾¨Ò†2yJßÚÞ{b¿ÿ¿Fš<¯ÑðLGÄóÇÖüßš ?6¦¿›Êñ_ŠÿÛ¯Ëý…àÇçÚ”Q3‰ü~Êh{kþãï£þCOÜ�ŠüWþ\~ƒþ-ºd"?õ�Œò«þ7ûËMÿ4ù‘1þ^€öÐ ?ãÀ~³ª†‚°?Œ%®ìÉìƒÿÿ'u0�ýW®�ýv†?Š0ÉðŽÈ†?Œ%ƒ0�ýA®�ýW†?ŠìÉ*ƒÿÿ'`0�ý͆?„%^§D0É,ŽÈ¦D?‹%-0É,¦€�,&ú† §?£É*&Ù0É,Ža ¾uq !—-lh5-š �`z0 TRANTOR.BIN�qs½x{DÚÿu©u¡Àu ŽœqÇpÇqm/q»€»w•îœ0ãHÃm�+dïºMɉ WI¹èGTtºuêmZÝduÝœÑ(â´¦»gf܆ÚÛ-­¹¹¦)I«píeþê}n–W}5ŠéÞm;Æé|‚·IÖ1¬¹–N�©òïác7‡3Hø´�èȱðf…ŒÞÈù_à|/�_à?_ áþåï8óŽnËýÎR,ñèxˆr ùøÄ„BT©¤“ÄDDÅD‘P¢ŽDDIÉÊJÊ—F�$ŠB!:u ‚ÙáéòÙ«V²qaIH•�áê•*¦U V®ž\Dfs9¬Þhˆpô¸}ú5äC%2(ˆ-žŸ1 ,œjÅ:†E%J•2v%L(xÍ‹R%MJÁ ÓÈ’Ò0’Lñ˜§âŸŠ~)ø§âŸºgYY7–ÏTKKç*Q£_F’Z¢§+.ñ�ED¾V¦‰J5èNæ#QÑ/‘Hñ˜§î™´bæt‹+J¤VÕ“m ¥Xñ›EØ3Z¡“©Ê¥\�‹ åŠ~éž}�>b¹�4ï_UM—®«§Ëç꺉׌ÙÓPLÕSOª«§ŸSUÔP)gOB©ã1OÝ3ÎOÌÇ0T�!:’ƒ+ õ»‹z½¹~¼Ùüï#e®Óî­õ ‡k¢øz/…�»²nÊòɱW¶m˜ÞZ7cwg^SÆv £±hÅ~¥«+Ò¨¬²^ñ˜§üÊlÞöݵݽ}å³kÍ{g5݃[Û—v5·– /5-}œÂŸºÍµ°®Îmì3õ;‹ýFßS]Qµ±ëê^3ÒVTÐék*(4Ùê‰ý/Á©ŸÒg³”Š~éŸè}醀üœ/ùØî8(à ñ@8éúzšº�€�Þ„hÒH¤"-­­õöäC—©Û)¯RÙ;y¶îáý·m«¶Õ‘y/o™ð*ø ïª�U;‡Š~)ø§âŸðžøž%ö:øˆwæîý¶ÛzkzD;‡Š~êxòI„„D||‚9"ÊÊÎÒ̈r÷E¢°ù¶C¸{6}[N¬ˆ3ȹz^ùwýÔƒAØé» Ï"åé{åÜÛØˆˆ˜¨’! QȈ‰99IYB!ÃÒáèѤ‘HD'N¢aA[<=>[5jÖN,"))R°"=R¥TÊ¢!jÕÓˈŒÎg5›Í—¢¢_F¼ˆbĦE³ÃÓüd�ΕÔõU�WSé`›RžVU:™µ