# include #include "input.h" # include # include # include # define U(x) ((x)&0377) # define NCH 4096 # define NLSTATE yyprevious=YYNEWLINE # define BEGIN yybgin = yysvec + 1 + # define INITIAL 0 # define YYLERR yysvec # define YYSTATE (yyestate-yysvec-1) # define YYOPTIM 1 # define YYLMAX 2000 #ifdef __cplusplus int yylook(void); extern "C" int yywrap(void), yyless(int), yyreject(void); #endif /* __cplusplus */ #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) # include # define output(c) (*yyout) << ((unsigned char) c) # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):yyin->get())==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) # define ECHO (*yyout) << yytext istream *yyin = &cin; ostream *yyout = &cout; #else # define output(c) putc(c,yyout) # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):my_getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) # define ECHO fprintf(yyout, "%S",yywtext) FILE *yyin = NULL, *yyout = NULL; #endif /* defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} # define yymore() (yymorfg=1) # define REJECT { yynstr = yyreject(); goto yyfussy;} # define yysetlocale() setlocale(LC_ALL,"") # define wreturn(r) return(yywreturn(r)) # define winput() yywinput() # define wunput(c) yywunput(c) # define woutput(c) yywoutput(c) int yyleng; extern char yytext[]; int yywleng; extern wchar_t yywtext[]; int yymorfg; int yymbcurmax = -1; int __once_my_yylex = 1; extern unsigned char *yysptr, yysbuf[]; int yytchar; extern int yylineno; struct yywork; struct yysvf { struct yywork *yystoff; struct yysvf *yyother; int *yystops;}; struct yysvf *yyestate; extern struct yysvf yysvec[], *yybgin; #include #include "lex.h" static short have_command = 0; char yytext[YYLMAX]; int yyback(int *yyp, int yym); # if YYHSIZE int yyhlook(int yyc, int yyv); int yymlook(int yyc); # endif /*YYHSIZE*/ # if YYXSIZE int yyxlook (int yyc, int yyv); #endif /*YYXSIZE*/ int yywinput(); void yywoutput(int yyc); void yywunput(int yyc); int yywreturn(int yyr); int yyinput(); void yyoutput(int yyc); void yyunput(int yyc); #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ int yymbinput(); void yymboutput(int yyc); void yymbunput(int yyc); int yymbreturn(int yyx); #ifdef __cplusplus } #endif /* __cplusplus */ # define YYNEWLINE 10 #ifdef __cplusplus extern "C" #endif /*__cplusplus */ int my_yylex(){ int yynstr; extern int yyprevious; if (__once_my_yylex) { yysetlocale(); #if !(__cplusplus && _CPP_IOSTREAMS) if (yyin == NULL) yyin = stdin; if (yyout == NULL) yyout = stdout; #endif /* !(__cplusplus && _CPP_IOSTREAMS) */ __once_my_yylex = 0; } if(yymbcurmax<=0) yymbcurmax=MB_CUR_MAX; while((yynstr = yylook()) >= 0) yyfussy: switch(yynstr){ case 0: if(yywrap()) return(0); break; case 1: ; /*NOTREACHED*/ break; case 2: { if (! have_command) { yyleng = nuke_whitespace(yytext); return(FRAME_TYPE); } else REJECT; } /*NOTREACHED*/ break; case 3: { if (! have_command) { yyleng = nuke_whitespace(yytext); return(FRAME_LIST_TYPE); } else REJECT; } /*NOTREACHED*/ break; case 4: { if (!have_command) { have_command = 1; return(COMMAND_TYPE); } else REJECT; } /*NOTREACHED*/ break; case 5: { if (!have_command) { REJECT; } else { yyleng = nuke_lead_whitespace(yytext); return(DATA_TYPE); } } /*NOTREACHED*/ break; case 6: { have_command = 0; return(END_LINE); } /*NOTREACHED*/ break; case 7: { have_command = 0; (void) skip_line(); return(ERROR_TYPE); } /*NOTREACHED*/ break; case -1: break; default: #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "bad switch yylook " << yynstr; #else fprintf(yyout,"bad switch yylook %d",yynstr); #endif /* defined(__cplusplus) && defined(_CPP_IOSTREAMS)*/ } return(0); } /* end of my_yylex */ nuke_whitespace(s1) char *s1; { char *s2 = s1; int len = 0; while (*s1) { if (!isspace(*s1)) { *s2++ = *s1++; len++; } else s1++; } *s2 = '\0'; return (len); } nuke_lead_whitespace(s1) char *s1; { char *s2 = s1; int len = 0; while (isspace(*s1)) s1++; while (*s1) { *s2++ = *s1++; len++; } *s2 = '\0'; return (len); } #ifdef DEAD nuke_quotes(s1, len) char *s1; int len; { len -= 2; memmove(s1, s1 + 1, len); s1[len] = '\0'; return (len); } #endif skip_line() { int c; while (((c = input()) != EOF) && c != '\n') ; if (c == EOF) unput(c); return(1); } int yyvstop[] = { 0, 1, 0, 1, 0, 7, 0, 6, 0, 1, 5, 7, 0, 4, 5, 7, 0, 5, 7, 0, 2, 5, 7, 0, 7, 0, 5, 7, 0, 2, 5, 7, 0, 4, 5, 7, 0, 1, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 2, 0, 2, 5, 0, 2, 5, 0, 4, 5, 0, 3, 5, 0, 5, 0, 3, 5, 0, 5, 0, 5, 0, 3, 0, 3, 5, 0, 3, 0, 3, 0, 0}; # define YYTYPE unsigned char struct yywork { YYTYPE verify, advance; } yycrank[] = { 0,0, 0,0, 1,3, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 1,4, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 1,5, 1,6, 0,0, 1,7, 1,8, 1,7, 1,7, 1,7, 1,7, 1,7, 1,7, 1,9, 1,7, 1,10, 1,8, 1,7, 1,11, 0,0, 0,0, 0,0, 0,0, 0,0, 8,17, 17,17, 19,27, 27,27, 1,7, 1,7, 1,7, 1,7, 1,7, 1,7, 1,7, 1,12, 8,18, 17,18, 19,28, 27,28, 0,0, 0,0, 0,0, 2,7, 2,8, 2,7, 2,7, 2,7, 2,7, 2,7, 2,7, 2,9, 2,7, 2,10, 2,8, 2,7, 0,0, 9,15, 0,0, 0,0, 0,0, 0,0, 1,7, 0,0, 1,7, 1,7, 2,7, 2,7, 2,7, 2,7, 2,7, 2,7, 2,7, 9,19, 9,19, 9,19, 9,19, 9,19, 9,19, 9,19, 9,19, 9,19, 9,19, 0,0, 23,30, 0,0, 0,0, 29,29, 10,16, 0,0, 0,0, 0,0, 0,0, 0,0, 1,7, 23,24, 1,7, 23,25, 16,16, 29,18, 2,7, 0,0, 2,7, 2,7, 10,20, 10,20, 10,20, 10,20, 10,20, 10,20, 10,20, 10,20, 10,20, 10,20, 16,20, 16,20, 16,20, 16,20, 16,20, 16,20, 16,20, 16,20, 16,20, 16,20, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 2,7, 0,0, 2,7, 5,13, 5,14, 0,0, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,15, 5,14, 5,16, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 0,0, 5,14, 0,0, 5,14, 5,14, 0,0, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 5,14, 0,0, 5,14, 0,0, 5,14, 6,14, 6,14, 0,0, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 0,0, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 0,0, 6,14, 0,0, 6,14, 6,14, 0,0, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 6,14, 11,17, 6,14, 30,30, 6,14, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 11,18, 30,24, 0,0, 30,25, 11,21, 11,21, 11,21, 11,21, 11,21, 11,21, 11,21, 11,21, 11,21, 11,21, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 12,22, 18,18, 0,0, 0,0, 0,0, 18,23, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 18,24, 0,0, 18,25, 18,23, 20,29, 18,26, 18,26, 18,26, 18,26, 18,26, 18,26, 18,26, 18,26, 18,26, 18,26, 0,0, 20,18, 0,0, 21,17, 0,0, 20,20, 20,20, 20,20, 20,20, 20,20, 20,20, 20,20, 20,20, 20,20, 20,20, 21,18, 0,0, 0,0, 0,0, 21,21, 21,21, 21,21, 21,21, 21,21, 21,21, 21,21, 21,21, 21,21, 21,21, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 22,22, 24,24, 33,35, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 25,25, 0,0, 33,24, 0,0, 33,24, 0,0, 24,31, 24,31, 24,31, 24,31, 24,31, 24,31, 24,31, 24,31, 24,31, 24,31, 25,32, 25,32, 25,32, 25,32, 25,32, 25,32, 25,32, 25,32, 25,32, 25,32, 26,30, 31,31, 31,31, 31,31, 31,31, 31,31, 31,31, 31,31, 31,31, 31,31, 31,31, 26,24, 0,0, 26,25, 0,0, 0,0, 26,26, 26,26, 26,26, 26,26, 26,26, 26,26, 26,26, 26,26, 26,26, 26,26, 28,28, 0,0, 0,0, 0,0, 28,33, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 28,24, 0,0, 28,24, 28,33, 0,0, 28,34, 28,34, 28,34, 28,34, 28,34, 28,34, 28,34, 28,34, 28,34, 28,34, 32,32, 32,32, 32,32, 32,32, 32,32, 32,32, 32,32, 32,32, 32,32, 32,32, 34,35, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 34,24, 0,0, 34,24, 0,0, 0,0, 34,34, 34,34, 34,34, 34,34, 34,34, 34,34, 34,34, 34,34, 34,34, 34,34, 0,0}; # define YYHSIZE 0 struct yywwork { wchar_t wch; unsigned int wnext; YYTYPE wverify, wadvance;} yywcrank[] = { 0,0,0,0}; struct yysvf yysvec[] = { 0, 0, 0, yycrank+-1, 0, yyvstop+1, yycrank+-39, yysvec+1, yyvstop+3, yycrank+0, 0, yyvstop+5, yycrank+0, 0, yyvstop+7, yycrank+134, 0, yyvstop+9, yycrank+229, 0, yyvstop+13, yycrank+0, yysvec+6, yyvstop+17, yycrank+23, yysvec+5, yyvstop+20, yycrank+56, 0, yyvstop+24, yycrank+87, yysvec+6, yyvstop+26, yycrank+320, yysvec+5, yyvstop+29, yycrank+313, yysvec+6, yyvstop+33, yycrank+0, yysvec+5, yyvstop+37, yycrank+0, yysvec+6, yyvstop+40, yycrank+0, yysvec+9, 0, yycrank+97, yysvec+6, yyvstop+42, yycrank+24, yysvec+5, yyvstop+44, yycrank+404, yysvec+5, yyvstop+46, yycrank+25, yysvec+9, yyvstop+48, yycrank+419, yysvec+6, yyvstop+50, yycrank+433, yysvec+5, yyvstop+53, yycrank+426, yysvec+6, yyvstop+56, yycrank+83, yysvec+5, yyvstop+59, yycrank+517, 0, 0, yycrank+527, yysvec+6, yyvstop+62, yycrank+553, yysvec+5, yyvstop+64, yycrank+26, 0, 0, yycrank+579, 0, 0, yycrank+86, yysvec+6, yyvstop+67, yycrank+322, yysvec+5, yyvstop+69, yycrank+538, 0, yyvstop+71, yycrank+589, yysvec+6, yyvstop+73, yycrank+518, 0, yyvstop+76, yycrank+615, 0, yyvstop+78, yycrank+0, yysvec+33, 0, 0, 0, 0}; struct yywork *yytop = yycrank+672; struct yysvf *yybgin = yysvec+1; unsigned char yymatch[] = { 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,012 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ' ' ,'!' ,01 ,'!' ,'!' ,'!' ,'!' ,'!' , '!' ,'!' ,'!' ,01 ,'!' ,'!' ,'!' ,'!' , '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' , '0' ,'0' ,'!' ,'!' ,'!' ,'!' ,'!' ,'!' , '!' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , 'A' ,'A' ,'A' ,01 ,'!' ,01 ,'!' ,'!' , 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , 'A' ,'A' ,'A' ,01 ,'!' ,01 ,'!' ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 0}; unsigned char yyextra[] = { 0,0,0,0,0,0,0,0, 0}; /* @(#)44 1.9.2.8 src/bos/usr/ccs/lib/libl/ncform, libl, bos530 6/30/03 00:44:01";*/ /* * COMPONENT_NAME: (LIBL) Lex Libraries * * FUNCTIONS: yylook, yyhlook, yyback, yyinput, yyoutput, yyunput, * yymbinput, yymboutput, yymbunput, yymbreturn * yywinput, yywoutput, yywunput, yywreturn * * ORIGINS: 3 * */ int yylineno =1; # define YYU(x) x # define NLSTATE yyprevious=YYNEWLINE # define YYCCLDOT 0x0001 wchar_t yywtext[YYLMAX]; wchar_t yywbuf[YYLMAX]; unsigned char yytbuf[YYLMAX]; unsigned char *yytbp; int yytbi; wchar_t yytwc; struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; unsigned char yysbuf[YYLMAX]; unsigned char *yysptr = yysbuf; int *yyfnd; extern struct yysvf *yyestate; int yyprevious = YYNEWLINE; # ifdef LEXDEBUG int debug; #ifdef __cplusplus #ifdef _CPP_IOSTREAMS void allprint(wchar_t); void sprint (wchar_t *); #else extern "C" void allprint(wchar_t); extern "C" void sprint (wchar_t *); #endif #endif # endif /* yylook function return type declared as int */ int yylook() { register struct yysvf *yystate, **yytlsp; register struct yywork *yyt; struct yysvf *yyz; int yywch, yyfirst, yyw; struct yywork *yyr; wchar_t *yywlastch; /* * start off machines */ # ifdef LEXDEBUG debug = 1; # endif yyfirst=1; if (!yymorfg) yywlastch = yywtext; else { yymorfg=0; yywlastch = &(yywtext[yywleng]); } for(;;) { yytlsp = yylstate; yyestate = yystate = yybgin; if (yyprevious==YYNEWLINE) yystate++; for (;;) { # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) (*yyout) << "state " << yystate-yysvec-1 << endl; #else if(debug) fprintf(yyout,"state %d\n",yystate-yysvec-1); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif yyt = yystate->yystoff; if(yyt == yycrank && !yyfirst) /* may not be any transitions */ { yyz = yystate->yyother; if(yyz == 0) break; if(yyz->yystoff == yycrank) break; } yywch = winput(); if( (yywlastch - yywtext) < YYLMAX -1) *yywlastch++ = yywch; else { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "LEX Error: input string too long to fit in yywtext[]." << endl; (*yyout) << "Increase the array size by defining YYLMAX to be a higher value" << endl; #else fprintf(yyout,"LEX Error: input string too long to fit in yywtext[].\n\ Increase the array size by defining YYLMAX to be a higher value\n"); #endif exit(1); } yyfirst=0; tryagain: # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "char "; allprint (yywch); (*yyout) << endl; #else fprintf(yyout,"char "); allprint(yywch); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif yyr = yyt; if ( (long)yyt > (long)yycrank) { if (yywch < NCH) /* 8-bit */ { yyt = yyr + yywch; if (yyt <= yytop && yyt->verify+yysvec == yystate) { if(yyt->advance+yysvec == YYLERR) /* error transitions */ { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyt->advance+yysvec; goto contin; } } # if YYHSIZE else /* wide */ { if (yyw = yyhlook(yywch,yystate-yysvec)) { if (yywcrank[yyw].wadvance+yysvec==YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yywcrank[yyw].wadvance+yysvec; goto contin; } } # endif /*YYHSIZE*/ } # ifdef YYOPTIM else if ((long)yyt < (long)yycrank) /* r < yycrank */ { yyt = yyr = yycrank+(yycrank-yyt); # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) (*yyout) << "compressed state" << endl; #else if(debug) fprintf(yyout,"compressed state\n"); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif if (yywch < NCH) /* 8-bit */ { yyt = yyt + yywch; if(yyt <= yytop && yyt->verify+yysvec == yystate) { if(yyt->advance+yysvec == YYLERR) /* error transitions */ { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyt->advance+yysvec; goto contin; } yyt = yyr + YYU(yymatch[yywch]); # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "try fall back character "; allprint(YYU(yymatch[yywch])); (*yyout) << endl; #else fprintf(yyout,"try fall back character "); allprint(YYU(yymatch[yywch])); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif if(yyt <= yytop && yyt->verify+yysvec == yystate) { if(yyt->advance+yysvec == YYLERR) /* error transition */ { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyt->advance+yysvec; goto contin; } } # if YYHSIZE else /* wide */ { if (yyw = yyhlook(yywch,yystate-yysvec)) { if (yywcrank[yyw].wadvance+yysvec==YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yywcrank[yyw].wadvance+yysvec; goto contin; } if (yyw = yymlook(yywch)) /* find the target char */ { if (yyw = yyhlook(yyw,yystate-yysvec)) { if (yywcrank[yyw].wadvance+yysvec == YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yywcrank[yyw].wadvance+yysvec; goto contin; } } } # endif /*YYHSIZE*/ # if YYXSIZE # ifdef MFDEBUG if (debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "try extended ccl on char "; allprint(YYU(yywch)); (*yyout) << '\n'; #else fprintf (yyout, "try extended ccl on char "); allprint(YYU(yywch)); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif yyw = yyxlook(yywch,yystate-yysvec); if (yyw != -1) { if (yyxccl[yyw].advance+yysvec == YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyxccl[yyw].advance+yysvec; goto contin; } # endif /*YYXSIZE*/ } /* r < yycrank */ if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank) { # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) (*yyout) << "fall back to state " << yystate-yysvec-1 << endl; #else if(debug) fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif goto tryagain; } # endif /*YYOPTIM*/ else { wunput(*--yywlastch); break; } contin: # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "state " << yystate-yysvec-1 << " char "; allprint(yywch); (*yyout) << endl; #else fprintf(yyout,"state %d char ",yystate-yysvec-1); allprint(yywch); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif ; /* contin: */ } /* for(;;) */ # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "stopped at " << (int) (*(yytlsp-1)-yysvec-1) << " with "; allprint(yywch); (*yyout) << endl; #else fprintf(yyout,"stopped at %d with ",*(yytlsp-1)-yysvec-1); allprint(yywch); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif while (yytlsp-- > yylstate) { *yywlastch-- = 0; if (*yytlsp != 0 && (yyfnd= (*yytlsp)->yystops) && *yyfnd > 0) { yyolsp = yytlsp; if(yyextra[*yyfnd]) /* must backup */ { while(yyback((*yytlsp)->yystops,-*yyfnd) != 1 && yytlsp > yylstate) { yytlsp--; wunput(*yywlastch--); } } yyprevious = YYU(*yywlastch); yylsp = yytlsp; yywleng = yywlastch-yywtext+1; yywtext[yywleng] = 0; # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "\nmatch "; sprint(yywtext); (*yyout) << " action " << *yyfnd << endl; #else fprintf(yyout,"\nmatch "); sprint(yywtext); fprintf(yyout," action %d\n",*yyfnd); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif wreturn(*yyfnd++); } wunput(*yywlastch); } if (yywtext[0] == 0 /* && feof(yyin) */) { yysptr=yysbuf; wreturn(0); } yyprevious = yywtext[0] = winput(); if (yyprevious>0) woutput(yyprevious); yywlastch=yywtext; # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) cout << endl; #else if(debug) putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif } /* for (;;) */ wreturn(0); } int yyback(int *yyp, int yym) { if (yyp==0) return(0); while (*yyp) { if (*yyp++ == yym) return(1); } return(0); } # if YYHSIZE /* * wide chars are hashed in yywcrank, return the index of the found element, or * zero */ int yyhlook(int yyc, int yyv) { int yyn; yyn = (yyc % (YYHSIZE - 1)) + 1; for (;;) { if ((yywcrank[yyn].wch==yyc)&&(yywcrank[yyn].wverify==yyv)) return(yyn); yyn = yywcrank[yyn].wnext; if (yyn==0) return(0); } } # endif /*YYHSIZE*/ # if YYHSIZE /* * wide CCL chars are hashed in yywmatch, return the character to map to or * zero if there are none; each char occurs only once in the match table. */ int yymlook(int yyc) { # if YYMSIZE int yyn; yyn = (yyc % (YYMSIZE - 1)) + 1; while (yyn!=0) { if (yywmatch[yyn].wch == yyc) return(yywmatch[yyn].wmatch); yyn = yywmatch[yyn].wnext; } # endif /*YYMSIZE*/ return(0); } # endif /*YYHSIZE*/ # if YYXSIZE /* * general CCLs are described in yyxccl; return the index of the first * acceptable CCL that matches verification, -1 if none found. */ int yyxlook (int yyc, int yyv) { register int yyi; if (!yyc) /* c==0 => EOF */ return (-1); for (yyi = 0; (yyi < YYXSIZE) && (yyxccl[yyi].verify < yyv); yyi++) ; /*Empty*/ for ( ; (yyi < YYXSIZE) && (yyxccl[yyi].verify == yyv); yyi++) { switch (yyxccl[yyi].type) { case YYCCLDOT: return((yyc=='\n')?-1:yyi); } } return (-1); } #endif /* * The following are the multi-byte renditions of input, unput, and * output. They are referenced through the winput, wunput, and woutput macros * resepectively. * * A (-1) is returned if the character input is invalid. */ #ifdef __cplusplus #include #endif /* __cplusplus */ int yywinput() { yytbi=0; do { yytbuf[yytbi++]=input(); yytbuf[yytbi]=0; } while(mbsinvalid((const char *) yytbuf)&&(yytbi0;yytbi--) output(*yytbp++); } void yywunput(int yyc) { for(yytbi=wctomb((char *)yytbuf,(wchar_t)yyc)-1;yytbi>=0;yytbi--) unput(yytbuf[yytbi]); } /* * Convert yywtext to yytext prior to returning from yylook. It is referenced * through the wreturn macro. */ int yywreturn(int yyr) { yyleng=wcstombs((char *)yytext,yywtext,YYLMAX); if(yyleng<0) { yyleng=0; yytext[0]=0; } return(yyr); } /* * the following are only used in the lex library */ int yyinput() { return(input()); } void yyoutput(int yyc) { output(yyc); } void yyunput(int yyc) { unput(yyc); } int yymbinput() { return(winput()); } void yymboutput(int yyc) { woutput(yyc); } void yymbunput(int yyc) { wunput(yyc); } int yymbreturn(int yyx) { wreturn (yyx); }