DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T c

⟦c92900224⟧ TextFile

    Length: 48560 (0xbdb0)
    Types: TextFile
    Names: »create_makefile.c«

Derivation

└─⟦8ee07855d⟧ Bits:30000545 8mm tape, Rational 1000, DTIA 2_1_6
    └─ ⟦0c25cb74a⟧ »DATA« 
        └─⟦038380b96⟧ 
└─⟦d0624311f⟧ Bits:30000529 8mm tape, Rational 1000, DTIA 2_1_7
    └─ ⟦f494b5154⟧ »DATA« 
        └─⟦038380b96⟧ 
            └─ ⟦this⟧ »create_makefile.c« 

TextFile

# include "stdio.h"
# define U(x) ((x)&0377)
# 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 200
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin ={stdin}, *yyout ={stdout};
extern int yylineno;
struct yysvf { 
	struct yywork *yystoff;
	struct yysvf *yyother;
	int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
void	start_inetd(),usage(),cflags(),libs();

#define	TRUE	(0==0)
#define	FALSE	(!TRUE)
static	int	remove = FALSE;

#define	NIL	0
#define	SUN	1
#define	HP	2
#define	AIX	3
#define	APOLLO	4
#define ULTRIX  5
static	int	porting = NIL;
# define YYNEWLINE 10
yylex(){
int nstr; extern int yyprevious;
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap()) return(0); break;
case 1:
		start_inetd(yytext);
break;
case 2:
	exit(0);
break;
case 3:
;
break;
case 4:
		;
break;
case 5:
			;
break;
case 6:
	;
break;
case 7:
		;
break;
case 8:
if (!remove)	(void) cflags(yytext);
break;
case 9:
if (!remove)	(void) libs(yytext);
break;
case 10:
remove = TRUE;
break;
case 11:
remove = TRUE;
break;
case 12:
remove=TRUE;
break;
case 13:
remove = FALSE;
break;
case 14:
	if (!remove)	printf("%c",*yytext);
break;
case 15:
	if (!remove)	printf("\n");
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
static	void	usage(cmd)
char	*cmd; {
	fprintf(stderr,"Usage: %s {SUN | HP | AIX | ULTRIX}\n",cmd);
	exit(1);
}
static	void	start_inetd(s) 
char	*s; {
	char	*p;
	switch	(porting) {
		case	SUN:
		case	APOLLO:
		case 	ULTRIX:
			printf("%s",s);
			break;
		case	HP:
			printf("\t/etc/inetd -c\n");
			break;
		case	AIX:
			for (p=s;*p;p++) {
				if (*p=='-') {
					p++;
					if (*p=='a') {
						*p++ = 'e';
						*p = 'd';
					}
				}
			}
			printf("%s",s);
			break;
	}
}
static	void	cflags(s)
char	*s; {
	switch	(porting) {
		case SUN:
			printf("CFLAGS=\t\t-DSUN\n");
			break;
		case	HP:
			printf("CFLAGS=\t\t-DHP\n");
			break;
		case	AIX:
			printf("CFLAGS=\t\t-DAIX\n");
			break;
		case APOLLO:
			printf("CFLAGS=\t\t-DAPOLLO\n");
			break;
		case ULTRIX:
			printf("CFLAGS=\t\t-DSUN\n");
			break;
	}
}
static	void	libs(s)
char	*s; {
	switch	(porting) {
		case SUN:
			printf("%s",yytext);
			break;
		case	HP:
			printf("LIBS=\t\t-lrpcsvc -lBSD\n");
			break;
		case	AIX:
			printf("LIBS=\t\t-lrpcsvc\n");
			break;
		case APOLLO:
			printf("%s",yytext);
			break;
		case ULTRIX:
			printf("%s",yytext);
			break;
	}
}
main(argc,argv)
int	argc;
char	**argv; {
	if (argc != 2)	usage(argv[0]);
	if (strcmp(argv[1],"SUN") == 0)			porting = SUN;
	else	if (strcmp(argv[1],"HP") == 0)		porting = HP;
	else	if (strcmp(argv[1],"AIX") == 0)		porting = AIX;
	else	if (strcmp(argv[1],"APOLLO") == 0)	porting = APOLLO;
	else	if (strcmp(argv[1],"ULTRIX") == 0)	porting = ULTRIX;
	else						porting = NIL;
	if (porting == NIL)	usage();
	yylex();
	exit(0);
}
int yyvstop[] ={
0,

14,
0,

15,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

14,
0,

5,
0,

9,
0,

10,
0,

5,
0,

9,
0,

9,
0,

4,
0,

1,
0,

11,
0,

8,
0,

9,
0,

9,
0,

8,
0,

8,
0,

9,
0,

9,
0,

8,
0,

8,
0,

9,
0,

9,
0,

1,
10,
0,

7,
0,

7,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

9,
0,

1,
4,
0,

1,
11,
0,

6,
0,

6,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

9,
0,

9,
0,

3,
0,

8,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

8,
0,

8,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

3,
10,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

9,
0,

9,
0,

3,
4,
0,

1,
3,
0,

3,
11,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

9,
0,

8,
0,

8,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

9,
0,

12,
0,

2,
0,

8,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

1,
3,
10,
0,

8,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

1,
3,
4,
0,

1,
3,
11,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

8,
0,

8,
0,

8,
0,

9,
0,

9,
0,

9,
0,

1,
12,
0,

8,
0,

8,
0,

8,
0,

9,
0,

8,
0,

8,
0,

8,
0,

8,
0,

3,
12,
0,

1,
3,
12,
0,

13,
0,
0};
# define YYTYPE int
struct yywork { YYTYPE verify, advance; } yycrank[] ={
0,0,	0,0,	1,3,	0,0,	
2,7,	0,0,	7,19,	0,0,	
0,0,	0,0,	0,0,	1,4,	
0,0,	2,4,	0,0,	7,0,	
9,0,	10,0,	8,0,	11,0,	
0,0,	0,0,	0,0,	0,0,	
0,0,	0,0,	0,0,	0,0,	
12,0,	0,0,	0,0,	13,0,	
14,0,	0,0,	122,146,	147,182,	
0,0,	1,5,	2,8,	2,9,	
8,22,	5,17,	15,0,	16,0,	
19,0,	32,45,	9,23,	20,0,	
123,147,	1,3,	0,0,	2,7,	
0,0,	7,19,	21,0,	0,0,	
29,0,	0,0,	0,0,	0,0,	
27,0,	0,0,	0,0,	26,0,	
0,0,	0,0,	28,0,	0,0,	
0,0,	0,0,	2,10,	0,0,	
23,0,	33,0,	31,44,	30,0,	
0,0,	10,24,	17,31,	2,11,	
44,61,	0,0,	11,25,	0,0,	
24,0,	34,0,	40,0,	61,83,	
22,19,	83,103,	41,0,	0,0,	
0,0,	0,0,	0,0,	42,0,	
0,0,	22,0,	6,18,	25,19,	
0,0,	38,0,	2,12,	0,0,	
35,0,	0,0,	39,0,	36,0,	
25,0,	0,0,	2,13,	2,14,	
7,20,	9,20,	10,20,	8,20,	
11,20,	1,6,	2,15,	2,16,	
7,21,	9,21,	10,21,	8,21,	
11,21,	12,20,	13,27,	14,28,	
13,20,	14,20,	16,30,	15,29,	
12,26,	12,21,	18,32,	22,19,	
13,21,	14,21,	23,35,	15,20,	
16,20,	19,20,	20,27,	21,29,	
20,20,	29,42,	25,19,	15,21,	
16,21,	19,21,	24,36,	21,20,	
20,21,	29,20,	26,39,	22,33,	
22,34,	27,20,	27,40,	21,21,	
26,20,	29,21,	36,49,	28,20,	
25,37,	27,21,	28,41,	35,48,	
26,21,	23,20,	33,20,	28,21,	
30,20,	37,0,	33,46,	38,51,	
25,38,	23,21,	33,21,	30,43,	
30,21,	24,20,	34,20,	40,20,	
40,53,	34,47,	46,0,	41,20,	
43,56,	24,21,	34,21,	40,21,	
42,20,	39,52,	22,20,	41,21,	
41,54,	43,57,	38,20,	47,0,	
42,55,	35,20,	22,21,	39,20,	
36,20,	25,20,	38,21,	50,50,	
46,62,	35,21,	49,0,	39,21,	
36,21,	25,21,	48,0,	58,59,	
50,0,	51,51,	0,0,	52,0,	
0,0,	53,53,	54,54,	58,60,	
0,0,	60,82,	51,68,	56,56,	
55,78,	43,58,	53,72,	54,75,	
59,81,	60,59,	59,59,	43,56,	
56,57,	55,0,	0,0,	102,59,	
62,0,	60,60,	59,60,	70,91,	
81,59,	81,101,	37,50,	102,121,	
0,0,	65,0,	63,0,	70,69,	
81,60,	66,0,	50,50,	64,0,	
69,90,	0,0,	69,69,	70,70,	
67,0,	0,0,	71,0,	73,93,	
51,51,	73,73,	69,70,	78,0,	
53,53,	54,54,	37,20,	49,65,	
63,85,	73,74,	56,56,	55,78,	
74,94,	76,95,	37,21,	76,76,	
79,0,	0,0,	48,64,	46,20,	
74,73,	77,96,	80,0,	76,77,	
0,0,	47,63,	82,102,	46,21,	
74,74,	77,76,	43,59,	84,0,	
47,20,	85,0,	82,59,	0,0,	
86,0,	77,77,	43,60,	0,0,	
47,21,	0,0,	82,60,	49,20,	
0,0,	88,0,	112,69,	48,20,	
89,0,	50,66,	92,0,	49,21,	
52,20,	0,0,	112,133,	48,21,	
0,0,	50,67,	65,87,	51,69,	
52,21,	52,71,	55,79,	53,73,	
54,76,	64,86,	0,0,	51,70,	
97,0,	56,59,	55,80,	53,74,	
54,77,	62,20,	98,0,	0,0,	
62,84,	56,60,	55,55,	90,69,	
90,111,	62,21,	65,20,	63,20,	
66,88,	67,89,	66,66,	90,70,	
64,20,	71,92,	65,21,	63,21,	
78,97,	67,66,	66,67,	71,20,	
64,21,	87,87,	0,0,	91,112,	
78,80,	67,67,	94,115,	71,21,	
96,117,	79,98,	87,0,	91,69,	
78,55,	86,106,	94,73,	80,97,	
96,76,	79,80,	79,99,	91,70,	
99,0,	80,100,	94,74,	80,80,	
96,77,	79,55,	104,0,	93,73,	
93,114,	100,0,	0,0,	80,55,	
84,20,	107,0,	85,20,	93,74,	
84,104,	86,20,	85,105,	92,113,	
84,21,	89,110,	85,21,	105,0,	
108,0,	86,21,	88,66,	88,109,	
87,87,	89,66,	0,0,	92,20,	
95,76,	95,116,	88,67,	101,59,	
101,120,	89,67,	109,0,	92,21,	
95,77,	97,97,	110,0,	101,60,	
118,0,	106,19,	0,0,	98,97,	
119,0,	97,80,	97,99,	111,69,	
111,132,	113,0,	106,0,	98,80,	
98,99,	97,55,	103,122,	111,70,	
124,0,	0,0,	130,130,	98,55,	
128,0,	103,123,	103,123,	103,123,	
103,123,	103,123,	103,123,	103,123,	
103,123,	103,123,	103,123,	114,73,	
115,73,	125,0,	116,76,	116,136,	
117,76,	129,0,	124,148,	114,74,	
115,135,	106,126,	116,77,	87,107,	
117,137,	99,97,	134,0,	99,118,	
106,127,	120,120,	0,0,	87,108,	
127,0,	99,80,	100,97,	125,149,	
126,0,	0,0,	120,140,	104,20,	
0,0,	99,55,	100,80,	100,119,	
107,128,	130,130,	107,107,	104,21,	
104,124,	108,129,	100,55,	105,125,	
121,143,	131,156,	107,108,	0,0,	
105,20,	108,107,	126,150,	0,0,	
0,0,	121,57,	131,0,	127,151,	
105,21,	108,108,	0,0,	118,138,	
141,176,	118,97,	141,141,	109,66,	
109,130,	119,97,	138,0,	110,66,	
120,120,	118,80,	141,142,	109,67,	
0,0,	119,80,	119,139,	110,131,	
148,0,	118,55,	113,20,	106,20,	
113,134,	119,55,	150,0,	0,0,	
0,0,	124,20,	113,21,	106,21,	
152,0,	128,107,	128,152,	121,143,	
131,156,	124,21,	132,132,	0,0,	
130,154,	128,108,	129,153,	133,162,	
135,139,	0,0,	125,20,	132,159,	
130,155,	134,165,	129,107,	149,0,	
133,68,	135,72,	125,21,	0,0,	
139,175,	136,136,	129,108,	134,20,	
142,177,	137,171,	0,0,	153,0,	
139,167,	127,20,	136,168,	134,21,	
142,141,	126,20,	137,75,	120,141,	
139,135,	127,21,	0,0,	151,0,	
142,142,	126,21,	0,0,	120,142,	
143,178,	156,0,	165,0,	0,0,	
144,179,	132,132,	121,144,	131,157,	
143,145,	154,130,	133,162,	135,139,	
144,145,	144,180,	121,145,	131,158,	
143,121,	151,185,	154,72,	138,97,	
144,121,	157,0,	121,121,	131,131,	
136,136,	145,178,	155,130,	138,80,	
137,171,	0,0,	138,174,	145,181,	
158,0,	145,145,	214,141,	138,55,	
0,0,	148,20,	149,184,	176,141,	
176,214,	145,121,	214,142,	150,20,	
148,183,	148,21,	215,141,	176,142,	
0,0,	152,107,	152,186,	150,21,	
229,160,	160,194,	215,243,	160,160,	
154,130,	152,108,	161,195,	162,196,	
229,161,	133,163,	135,166,	160,161,	
132,160,	0,0,	161,160,	162,164,	
149,20,	133,164,	135,167,	0,0,	
132,161,	155,130,	161,161,	162,133,	
149,21,	133,133,	135,135,	137,172,	
153,107,	170,205,	183,0,	136,169,	
184,0,	163,197,	185,0,	137,173,	
153,187,	170,169,	156,190,	136,170,	
151,20,	163,164,	163,198,	137,137,	
164,196,	170,170,	156,158,	165,200,	
151,21,	163,133,	164,199,	190,0,	
164,164,	174,174,	156,131,	165,21,	
0,0,	171,206,	157,191,	0,0,	
164,133,	154,188,	174,210,	154,154,	
186,186,	171,173,	157,158,	157,192,	
191,0,	158,190,	166,201,	154,155,	
155,189,	171,137,	157,131,	158,193,	
167,175,	158,158,	166,167,	166,202,	
155,154,	169,204,	167,203,	169,169,	
167,167,	158,131,	166,135,	172,207,	
155,155,	175,175,	193,0,	169,170,	
167,135,	173,206,	177,215,	172,173,	
172,208,	175,167,	175,202,	173,209,	
174,174,	173,173,	177,141,	172,137,	
178,178,	175,135,	179,178,	189,130,	
0,0,	173,137,	177,142,	186,186,	
178,145,	178,180,	179,145,	179,180,	
180,178,	181,178,	180,216,	184,219,	
178,121,	183,218,	179,121,	192,0,	
180,145,	181,145,	181,217,	183,20,	
0,0,	184,20,	195,230,	185,20,	
180,121,	181,121,	187,222,	183,21,	
188,130,	184,21,	195,160,	185,21,	
190,190,	0,0,	198,196,	187,0,	
198,231,	188,72,	195,161,	0,0,	
190,158,	190,192,	198,164,	174,211,	
194,160,	194,229,	189,130,	196,196,	
190,131,	191,190,	198,133,	174,212,	
194,161,	204,169,	204,236,	196,164,	
196,198,	191,158,	191,192,	174,213,	
197,196,	204,170,	186,220,	196,133,	
0,0,	191,131,	219,0,	0,0,	
197,164,	197,198,	186,221,	193,190,	
200,19,	187,222,	199,196,	188,130,	
197,133,	201,175,	218,0,	193,158,	
193,228,	200,0,	199,164,	199,232,	
220,186,	201,167,	201,202,	193,131,	
0,0,	0,0,	199,133,	205,237,	
202,175,	201,135,	202,234,	213,242,	
222,0,	189,226,	221,186,	205,169,	
202,167,	203,175,	223,0,	213,212,	
192,190,	189,154,	192,227,	205,170,	
202,135,	203,167,	203,235,	213,213,	
192,158,	189,155,	206,206,	0,0,	
224,0,	203,135,	0,0,	200,19,	
192,131,	225,130,	206,173,	206,208,	
187,223,	208,206,	226,130,	208,238,	
207,206,	227,0,	206,137,	220,186,	
187,224,	208,173,	188,154,	188,225,	
207,173,	207,208,	209,206,	228,0,	
187,187,	208,137,	188,155,	211,211,	
207,137,	221,186,	209,173,	209,239,	
216,244,	212,211,	216,178,	211,212,	
211,240,	217,178,	209,137,	212,241,	
230,160,	212,212,	216,145,	211,213,	
233,0,	217,145,	217,245,	219,247,	
230,257,	212,213,	216,121,	0,0,	
225,130,	217,121,	0,0,	219,21,	
200,233,	226,130,	236,169,	218,20,	
200,27,	218,246,	200,20,	231,258,	
246,0,	231,196,	236,170,	218,21,	
237,169,	222,250,	200,21,	0,0,	
220,248,	231,164,	220,220,	223,251,	
237,262,	222,224,	232,196,	247,0,	
221,249,	231,133,	220,221,	223,224,	
223,252,	222,187,	232,164,	232,259,	
221,220,	224,250,	235,175,	223,187,	
250,0,	0,0,	232,133,	224,253,	
221,221,	224,224,	235,167,	234,261,	
227,255,	234,175,	227,190,	251,0,	
0,0,	224,187,	235,135,	248,186,	
0,0,	234,167,	227,158,	225,154,	
228,190,	238,263,	252,0,	238,206,	
226,154,	234,135,	227,131,	225,155,	
228,158,	228,256,	0,0,	238,173,	
226,254,	249,186,	239,206,	253,0,	
228,131,	244,178,	240,211,	238,137,	
240,265,	255,0,	239,173,	239,264,	
233,260,	244,145,	240,212,	241,211,	
244,270,	233,20,	239,137,	242,267,	
243,245,	244,121,	240,213,	241,212,	
241,266,	233,21,	245,271,	242,212,	
242,240,	243,140,	248,186,	241,213,	
260,0,	254,256,	245,269,	242,213,	
0,0,	246,20,	256,256,	259,285,	
0,0,	246,272,	245,243,	258,196,	
257,259,	246,21,	247,273,	259,283,	
249,186,	0,0,	247,27,	258,164,	
247,20,	257,159,	258,284,	259,257,	
264,291,	250,250,	272,0,	258,133,	
247,21,	381,403,	425,381,	381,381,	
264,289,	250,224,	250,252,	243,245,	
251,250,	262,264,	425,443,	381,382,	
264,262,	250,187,	270,270,	274,186,	
251,224,	251,252,	262,168,	252,250,	
254,256,	252,276,	273,0,	270,296,	
251,187,	256,256,	265,292,	252,224,	
265,211,	248,220,	248,274,	257,259,	
253,250,	0,0,	261,175,	252,187,	
265,212,	248,221,	255,190,	249,275,	
253,224,	253,277,	261,167,	276,0,	
265,213,	261,287,	255,158,	249,220,	
253,187,	255,280,	261,135,	487,461,	
263,206,	277,0,	255,131,	249,221,	
262,264,	488,461,	243,268,	487,462,	
263,173,	270,270,	274,186,	263,290,	
266,211,	488,493,	243,269,	260,286,	
263,137,	260,20,	275,186,	254,278,	
266,212,	266,287,	243,243,	269,271,	
256,281,	260,21,	0,0,	254,279,	
266,213,	269,295,	257,282,	269,269,	
256,279,	267,211,	0,0,	254,254,	
268,293,	280,280,	257,283,	269,243,	
256,254,	267,212,	267,240,	272,20,	
268,269,	268,294,	257,257,	286,0,	
271,271,	267,213,	278,256,	272,21,	
268,243,	393,0,	272,300,	262,288,	
271,269,	271,294,	0,0,	278,72,	
270,297,	279,256,	273,301,	262,289,	
271,243,	275,186,	0,0,	273,20,	
270,298,	274,220,	279,72,	262,262,	
0,0,	281,281,	284,284,	273,21,	
270,299,	274,221,	276,303,	0,0,	
276,250,	281,279,	281,306,	284,314,	
280,280,	282,311,	287,287,	0,0,	
276,224,	281,254,	277,250,	0,0,	
0,0,	282,283,	282,312,	287,319,	
276,187,	278,256,	277,224,	277,304,	
300,0,	282,257,	292,211,	283,285,	
285,285,	336,0,	277,187,	288,323,	
279,256,	283,313,	292,212,	283,283,	
285,283,	285,312,	301,0,	288,289,	
288,324,	303,0,	292,213,	283,257,	
285,257,	284,284,	289,291,	288,262,	
275,220,	0,0,	299,334,	290,290,	
289,325,	523,0,	289,289,	291,291,	
275,302,	287,287,	299,298,	280,308,	
290,326,	0,0,	289,262,	291,289,	
291,324,	318,0,	299,299,	280,309,	
286,20,	286,318,	293,271,	291,262,	
278,305,	302,304,	393,20,	280,310,	
286,21,	0,0,	293,269,	293,294,	
278,279,	278,306,	393,21,	279,281,	
298,297,	294,271,	293,243,	294,330,	
278,254,	279,307,	298,333,	279,279,	
298,298,	294,269,	295,271,	304,304,	
284,315,	297,297,	290,290,	279,254,	
298,299,	294,243,	295,269,	295,331,	
284,316,	297,298,	297,332,	0,0,	
287,320,	305,281,	295,243,	0,0,	
284,317,	297,299,	306,256,	300,335,	
287,321,	305,279,	305,306,	310,280,	
302,304,	300,20,	0,0,	306,72,	
287,322,	305,254,	336,20,	336,365,	
307,281,	300,21,	303,250,	308,280,	
0,0,	301,336,	336,21,	301,20,	
307,279,	307,342,	303,224,	311,285,	
308,210,	303,339,	304,304,	301,21,	
307,254,	309,280,	303,187,	311,283,	
311,312,	290,327,	523,20,	312,285,	
0,0,	312,346,	309,210,	311,257,	
318,351,	290,328,	523,528,	312,283,	
313,285,	306,256,	318,20,	0,0,	
315,315,	290,329,	310,280,	312,257,	
313,283,	313,347,	318,21,	302,337,	
315,316,	315,348,	317,350,	316,315,	
313,257,	0,0,	308,280,	302,338,	
315,317,	316,349,	317,316,	316,316,	
335,0,	0,0,	320,320,	302,302,	
322,354,	337,304,	317,317,	316,317,	
309,280,	304,340,	320,321,	320,352,	
322,321,	321,320,	0,0,	323,291,	
0,0,	304,338,	320,322,	321,353,	
322,322,	321,321,	335,364,	323,289,	
323,324,	304,302,	0,0,	329,359,	
306,281,	321,322,	306,341,	323,262,	
324,291,	310,345,	324,355,	329,328,	
306,279,	0,0,	0,0,	338,304,	
324,289,	310,309,	325,291,	329,329,	
306,254,	308,308,	0,0,	327,327,	
324,262,	310,310,	325,289,	325,356,	
337,304,	308,309,	308,343,	327,328,	
327,357,	339,339,	325,262,	309,308,	
328,327,	308,310,	330,360,	327,329,	
330,271,	309,344,	328,358,	309,309,	
328,328,	331,271,	340,304,	332,297,	
330,269,	332,361,	333,297,	309,310,	
328,329,	331,269,	0,0,	332,298,	
330,243,	0,0,	333,298,	333,362,	
334,363,	331,243,	338,304,	332,299,	
342,256,	341,256,	333,299,	0,0,	
334,298,	334,332,	347,285,	0,0,	
0,0,	335,20,	341,72,	343,280,	
334,299,	0,0,	347,283,	337,366,	
339,339,	335,21,	344,308,	0,0,	
343,210,	0,0,	347,257,	337,338,	
337,367,	0,0,	344,309,	344,374,	
345,375,	340,304,	348,315,	337,302,	
348,377,	346,376,	344,310,	346,285,	
345,309,	345,343,	348,316,	0,0,	
0,0,	0,0,	364,0,	346,283,	
345,310,	349,315,	348,317,	342,256,	
341,256,	338,340,	0,0,	346,257,	
0,0,	349,316,	349,378,	338,368,	
366,304,	338,338,	343,280,	365,0,	
350,379,	349,317,	352,320,	351,351,	
352,383,	338,302,	356,291,	339,369,	
350,316,	350,348,	352,321,	357,327,	
351,380,	357,387,	356,289,	339,370,	
350,317,	353,320,	352,322,	357,328,	
340,340,	0,0,	356,262,	339,371,	
367,304,	353,321,	353,384,	357,329,	
340,338,	340,367,	368,304,	0,0,	
354,385,	353,322,	0,0,	0,0,	
340,302,	341,372,	342,281,	341,281,	
354,321,	354,352,	355,386,	366,304,	
355,291,	0,0,	342,279,	341,279,	
354,322,	343,308,	351,351,	343,373,	
355,289,	358,327,	342,254,	341,254,	
0,0,	343,309,	359,389,	369,339,	
355,262,	358,328,	358,388,	0,0,	
360,271,	343,310,	359,328,	359,357,	
361,391,	358,329,	361,297,	367,304,	
360,269,	362,297,	359,329,	360,390,	
363,297,	368,304,	361,298,	364,20,	
360,243,	362,298,	362,390,	364,392,	
363,298,	363,332,	361,299,	364,21,	
370,339,	362,299,	365,393,	0,0,	
363,299,	371,339,	366,340,	0,0,	
365,20,	0,0,	0,0,	372,256,	
0,0,	0,0,	366,338,	366,367,	
365,21,	373,280,	369,339,	374,308,	
372,72,	351,381,	366,302,	375,308,	
0,0,	0,0,	373,210,	374,309,	
374,399,	351,382,	376,285,	375,309,	
375,343,	0,0,	367,340,	374,310,	
367,394,	0,0,	376,283,	375,310,	
368,340,	376,401,	367,338,	377,402,	
392,0,	377,315,	376,257,	370,339,	
368,338,	368,395,	367,302,	378,315,	
371,339,	377,316,	379,315,	0,0,	
368,302,	382,404,	372,256,	378,316,	
378,401,	377,317,	379,316,	379,348,	
373,280,	382,381,	383,405,	378,317,	
383,320,	369,369,	379,317,	384,320,	
385,320,	382,382,	0,0,	386,291,	
383,321,	369,370,	369,396,	384,321,	
385,321,	385,352,	0,0,	386,289,	
383,322,	369,371,	386,406,	384,322,	
385,322,	391,297,	387,407,	386,262,	
387,327,	390,390,	0,0,	395,304,	
394,304,	391,298,	370,369,	397,339,	
387,328,	0,0,	390,408,	371,398,	
370,397,	391,299,	370,370,	0,0,	
387,329,	372,281,	0,0,	371,370,	
0,0,	373,400,	370,371,	373,308,	
396,339,	372,279,	388,327,	371,371,	
372,399,	389,327,	398,339,	373,309,	
0,0,	372,254,	388,328,	388,406,	
399,399,	389,328,	389,357,	373,310,	
0,0,	400,280,	388,329,	401,401,	
0,0,	389,329,	0,0,	402,315,	
390,390,	392,20,	395,304,	394,304,	
401,420,	404,425,	397,339,	402,316,	
392,412,	392,21,	403,381,	403,424,	
405,320,	404,381,	407,327,	402,317,	
406,406,	413,304,	403,382,	450,0,	
405,321,	404,382,	407,328,	396,339,	
412,0,	406,426,	424,381,	424,442,	
405,322,	398,339,	407,329,	0,0,	
0,0,	411,432,	424,382,	399,399,	
414,339,	415,339,	0,0,	409,409,	
400,280,	411,410,	401,401,	0,0,	
0,0,	0,0,	412,433,	409,410,	
409,430,	411,411,	416,339,	390,409,	
394,413,	395,340,	394,340,	409,411,	
0,0,	397,369,	461,476,	390,410,	
461,461,	395,338,	394,338,	406,406,	
413,304,	397,370,	397,415,	390,411,	
461,462,	395,302,	394,302,	410,409,	
417,399,	397,371,	396,369,	0,0,	
396,414,	410,431,	419,399,	410,410,	
398,416,	417,319,	396,370,	414,339,	
415,339,	0,0,	399,417,	410,411,	
398,370,	398,396,	396,371,	400,308,	
0,0,	401,421,	399,418,	421,421,	
398,371,	416,339,	433,0,	400,309,	
0,0,	401,422,	399,419,	421,422,	
421,439,	0,0,	0,0,	400,310,	
418,399,	401,423,	0,0,	421,423,	
422,421,	450,470,	406,427,	413,340,	
450,20,	418,319,	422,440,	417,399,	
422,422,	412,20,	406,428,	413,338,	
450,21,	419,399,	413,434,	0,0,	
422,423,	412,21,	406,429,	413,302,	
414,435,	423,441,	414,369,	415,369,	
434,434,	427,427,	435,339,	476,461,	
476,487,	423,422,	414,370,	415,370,	
415,434,	427,428,	427,444,	476,462,	
416,369,	423,423,	414,371,	415,371,	
428,427,	427,429,	0,0,	418,399,	
416,370,	416,396,	428,445,	429,446,	
428,428,	430,409,	436,399,	430,447,	
416,371,	431,409,	0,0,	429,428,	
428,429,	430,410,	417,417,	436,319,	
0,0,	431,410,	431,448,	429,429,	
419,438,	430,411,	417,418,	417,436,	
432,449,	431,411,	437,417,	434,434,	
419,418,	435,339,	417,419,	433,450,	
432,410,	432,430,	437,418,	437,455,	
419,419,	0,0,	0,0,	433,20,	
432,411,	448,409,	437,419,	438,456,	
0,0,	0,0,	439,421,	433,21,	
439,457,	448,410,	418,417,	438,418,	
438,436,	436,399,	439,422,	440,421,	
418,437,	448,411,	418,418,	438,419,	
441,459,	442,442,	439,423,	440,422,	
440,458,	0,0,	418,419,	451,434,	
441,422,	441,439,	442,460,	440,423,	
443,463,	0,0,	453,434,	444,427,	
441,423,	444,466,	434,451,	452,434,	
435,369,	443,380,	0,0,	444,428,	
445,427,	447,469,	434,452,	447,409,	
435,370,	446,468,	0,0,	444,429,	
445,428,	445,467,	434,453,	447,410,	
435,371,	446,428,	446,444,	455,399,	
445,429,	449,409,	454,399,	447,411,	
436,417,	446,429,	436,454,	456,417,	
442,442,	449,410,	449,430,	454,319,	
436,418,	0,0,	451,434,	456,418,	
456,436,	449,411,	0,0,	443,463,	
436,419,	453,434,	457,475,	456,419,	
457,421,	458,421,	452,434,	459,421,	
470,0,	462,477,	0,0,	463,478,	
457,422,	458,422,	0,0,	459,422,	
459,439,	462,461,	483,0,	463,465,	
457,423,	458,423,	464,479,	459,423,	
467,427,	462,462,	455,399,	463,443,	
465,478,	454,399,	464,465,	464,480,	
467,428,	466,482,	465,481,	466,427,	
465,465,	471,434,	464,443,	0,0,	
467,429,	0,0,	472,434,	466,428,	
465,443,	451,451,	0,0,	442,461,	
469,409,	0,0,	443,464,	466,429,	
453,473,	451,452,	451,471,	442,462,	
469,410,	452,451,	443,465,	473,434,	
453,452,	451,453,	474,399,	452,472,	
469,411,	452,452,	443,443,	468,427,	
453,453,	0,0,	491,0,	475,421,	
0,0,	452,453,	477,488,	468,428,	
468,444,	455,417,	454,474,	475,422,	
454,417,	0,0,	477,461,	468,429,	
471,434,	455,418,	484,434,	475,423,	
454,418,	472,434,	477,462,	478,478,	
485,434,	455,419,	479,478,	470,483,	
454,419,	486,434,	0,0,	478,465,	
478,480,	0,0,	479,465,	479,480,	
0,0,	470,20,	473,434,	478,443,	
481,478,	474,399,	479,443,	482,427,	
480,478,	470,21,	480,489,	483,20,	
481,465,	481,490,	483,491,	482,428,	
480,465,	496,0,	490,478,	483,21,	
481,443,	492,434,	0,0,	482,429,	
480,443,	0,0,	490,465,	490,495,	
489,494,	484,434,	489,478,	471,451,	
493,495,	471,484,	490,443,	485,434,	
472,451,	0,0,	489,465,	471,452,	
486,434,	493,460,	495,500,	509,0,	
472,452,	472,485,	489,443,	471,453,	
501,0,	494,478,	495,498,	0,0,	
472,453,	473,486,	0,0,	0,0,	
474,417,	494,465,	495,493,	491,496,	
494,499,	473,452,	473,471,	491,20,	
474,418,	494,443,	497,502,	515,0,	
492,434,	473,453,	501,509,	491,21,	
474,419,	0,0,	497,498,	497,503,	
508,514,	498,500,	484,492,	493,495,	
484,451,	499,499,	497,493,	498,504,	
508,507,	498,498,	485,451,	520,0,	
484,452,	500,500,	499,505,	486,451,	
508,508,	498,493,	485,452,	502,500,	
484,453,	500,498,	500,503,	486,452,	
486,471,	511,500,	485,453,	502,498,	
502,503,	500,493,	0,0,	486,453,	
496,501,	511,498,	503,500,	502,493,	
503,510,	522,506,	496,20,	504,500,	
0,0,	511,493,	503,498,	492,451,	
0,0,	522,507,	496,21,	504,498,	
504,511,	506,506,	503,493,	492,452,	
499,499,	522,508,	493,497,	504,493,	
0,0,	506,507,	506,512,	492,453,	
507,506,	510,516,	493,498,	510,500,	
509,20,	506,508,	507,513,	532,0,	
507,507,	501,20,	493,493,	510,498,	
509,21,	509,515,	513,506,	0,0,	
507,508,	501,21,	512,506,	510,493,	
512,517,	536,0,	513,507,	513,518,	
514,519,	515,520,	512,507,	517,522,	
515,20,	517,506,	513,508,	516,500,	
514,507,	514,512,	512,508,	538,0,	
515,21,	517,507,	0,0,	516,498,	
514,508,	518,506,	516,521,	499,506,	
519,506,	517,508,	520,523,	516,493,	
520,20,	518,507,	518,521,	499,507,	
519,507,	519,512,	521,521,	528,19,	
520,21,	518,508,	525,525,	499,508,	
519,508,	527,531,	526,525,	521,524,	
528,0,	539,0,	525,526,	525,529,	
526,530,	527,526,	526,526,	529,525,	
530,525,	529,533,	525,527,	531,535,	
542,0,	527,527,	526,527,	529,526,	
530,526,	530,534,	543,0,	531,526,	
531,529,	540,0,	528,532,	529,527,	
530,527,	0,0,	533,537,	531,527,	
533,525,	0,0,	546,0,	534,525,	
545,0,	541,0,	535,525,	0,0,	
533,526,	521,521,	528,19,	534,526,	
532,20,	532,536,	535,526,	535,529,	
533,527,	537,525,	549,0,	534,527,	
532,21,	547,0,	535,527,	548,0,	
536,538,	537,526,	536,20,	541,542,	
544,19,	540,541,	550,0,	0,0,	
0,0,	537,527,	536,21,	0,0,	
551,0,	544,0,	0,0,	0,0,	
538,20,	0,0,	0,0,	538,539,	
0,0,	548,549,	552,0,	553,0,	
538,21,	554,0,	0,0,	542,543,	
555,0,	558,0,	0,0,	0,0,	
0,0,	0,0,	0,0,	557,0,	
521,525,	528,29,	559,0,	0,0,	
539,540,	563,564,	556,0,	0,0,	
521,526,	528,20,	539,20,	560,0,	
561,0,	0,0,	0,0,	544,19,	
521,527,	528,21,	539,21,	0,0,	
0,0,	542,20,	0,0,	562,0,	
559,560,	0,0,	0,0,	543,544,	
556,557,	542,21,	540,20,	545,546,	
0,0,	0,0,	0,0,	543,21,	
0,0,	0,0,	540,21,	546,547,	
0,0,	545,20,	541,20,	0,0,	
0,0,	0,0,	0,0,	546,21,	
549,550,	545,21,	541,21,	0,0,	
547,548,	0,0,	0,0,	549,20,	
547,27,	0,0,	547,20,	562,563,	
548,20,	550,551,	0,0,	549,21,	
0,0,	0,0,	547,21,	550,20,	
548,21,	0,0,	0,0,	0,0,	
544,27,	551,20,	544,20,	550,21,	
544,545,	552,553,	551,552,	554,555,	
0,0,	551,21,	544,21,	552,20,	
553,20,	0,0,	554,20,	553,554,	
0,0,	555,20,	558,20,	552,21,	
553,21,	558,559,	554,21,	556,29,	
557,20,	555,556,	558,21,	559,20,	
557,558,	0,0,	563,20,	556,20,	
557,21,	0,0,	560,561,	559,21,	
560,20,	561,20,	563,21,	556,21,	
0,0,	0,0,	0,0,	0,0,	
560,21,	561,21,	561,562,	0,0,	
562,20,	0,0,	0,0,	0,0,	
0,0,	0,0,	0,0,	0,0,	
562,21,	0,0,	0,0,	0,0,	
0,0};
struct yysvf yysvec[] ={
0,	0,	0,
yycrank+-1,	0,		0,	
yycrank+-3,	0,		0,	
yycrank+0,	0,		yyvstop+1,
yycrank+0,	0,		yyvstop+3,
yycrank+1,	0,		yyvstop+5,
yycrank+1,	0,		yyvstop+7,
yycrank+-5,	0,		yyvstop+9,
yycrank+-8,	yysvec+7,	yyvstop+11,
yycrank+-6,	yysvec+7,	yyvstop+13,
yycrank+-7,	yysvec+7,	yyvstop+15,
yycrank+-9,	yysvec+7,	yyvstop+17,
yycrank+-18,	yysvec+7,	yyvstop+19,
yycrank+-21,	yysvec+7,	yyvstop+21,
yycrank+-22,	yysvec+7,	yyvstop+23,
yycrank+-32,	yysvec+7,	yyvstop+25,
yycrank+-33,	yysvec+7,	yyvstop+27,
yycrank+2,	0,		0,	
yycrank+20,	0,		0,	
yycrank+-34,	yysvec+7,	0,	
yycrank+-37,	yysvec+7,	0,	
yycrank+-44,	yysvec+7,	0,	
yycrank+-87,	0,		0,	
yycrank+-62,	yysvec+7,	0,	
yycrank+-74,	yysvec+7,	0,	
yycrank+-98,	0,		0,	
yycrank+-53,	yysvec+7,	0,	
yycrank+-50,	yysvec+7,	0,	
yycrank+-56,	yysvec+7,	0,	
yycrank+-46,	yysvec+7,	0,	
yycrank+-65,	yysvec+7,	0,	
yycrank+1,	0,		0,	
yycrank+3,	0,		0,	
yycrank+-63,	yysvec+7,	0,	
yycrank+-75,	yysvec+7,	0,	
yycrank+-94,	yysvec+7,	0,	
yycrank+-97,	yysvec+7,	0,	
yycrank+-163,	yysvec+7,	0,	
yycrank+-91,	yysvec+7,	0,	
yycrank+-96,	yysvec+7,	0,	
yycrank+-76,	yysvec+7,	0,	
yycrank+-80,	yysvec+7,	0,	
yycrank+-85,	yysvec+7,	0,	
yycrank+-187,	0,		0,	
yycrank+2,	0,		0,	
yycrank+0,	0,		yyvstop+29,
yycrank+-176,	yysvec+7,	0,	
yycrank+-189,	yysvec+7,	0,	
yycrank+-204,	yysvec+7,	0,	
yycrank+-200,	yysvec+7,	0,	
yycrank+-206,	0,		yyvstop+31,
yycrank+-216,	0,		0,	
yycrank+-209,	yysvec+7,	0,	
yycrank+-220,	0,		0,	
yycrank+-221,	0,		0,	
yycrank+-227,	0,		0,	
yycrank+-226,	0,		0,	
yycrank+0,	0,		yyvstop+33,
yycrank+-108,	yysvec+56,	yyvstop+35,
yycrank+-127,	yysvec+56,	0,	
yycrank+-126,	yysvec+56,	0,	
yycrank+3,	0,		0,	
yycrank+-230,	yysvec+7,	0,	
yycrank+-240,	yysvec+7,	0,	
yycrank+-245,	yysvec+7,	0,	
yycrank+-239,	yysvec+7,	0,	
yycrank+-243,	yysvec+50,	yyvstop+37,
yycrank+-250,	yysvec+50,	yyvstop+39,
yycrank+0,	0,		yyvstop+41,
yycrank+-151,	yysvec+51,	0,	
yycrank+-144,	yysvec+51,	0,	
yycrank+-252,	yysvec+7,	0,	
yycrank+0,	0,		yyvstop+43,
yycrank+-158,	yysvec+53,	0,	
yycrank+-177,	yysvec+53,	0,	
yycrank+0,	0,		yyvstop+45,
yycrank+-172,	yysvec+54,	0,	
yycrank+-186,	yysvec+54,	0,	
yycrank+-257,	yysvec+55,	0,	
yycrank+-270,	yysvec+55,	0,	
yycrank+-276,	yysvec+55,	0,	
yycrank+-137,	yysvec+56,	0,	
yycrank+-191,	yysvec+56,	0,	
yycrank+6,	0,		0,	
yycrank+-285,	yysvec+7,	0,	
yycrank+-287,	yysvec+7,	0,	
yycrank+-290,	yysvec+7,	0,	
yycrank+-360,	0,		yyvstop+47,
yycrank+-299,	yysvec+50,	yyvstop+49,
yycrank+-302,	yysvec+50,	yyvstop+51,
yycrank+-236,	yysvec+51,	0,	
yycrank+-264,	yysvec+51,	0,	
yycrank+-304,	yysvec+7,	0,	
yycrank+-280,	yysvec+53,	0,	
yycrank+-267,	yysvec+53,	0,	
yycrank+-305,	yysvec+54,	0,	
yycrank+-269,	yysvec+54,	0,	
yycrank+-322,	yysvec+55,	0,	
yycrank+-328,	yysvec+55,	0,	
yycrank+-370,	yysvec+55,	0,	
yycrank+-379,	yysvec+55,	0,	
yycrank+-308,	yysvec+56,	0,	
yycrank+-132,	yysvec+56,	0,	
yycrank+397,	0,		0,	
yycrank+-376,	yysvec+7,	0,	
yycrank+-393,	yysvec+7,	0,	
yycrank+-424,	0,		0,	
yycrank+-383,	yysvec+87,	yyvstop+53,
yycrank+-394,	yysvec+87,	yyvstop+55,
yycrank+-408,	yysvec+50,	yyvstop+57,
yycrank+-412,	yysvec+50,	yyvstop+59,
yycrank+-324,	yysvec+51,	0,	
yycrank+-203,	yysvec+51,	0,	
yycrank+-423,	yysvec+7,	0,	
yycrank+-348,	yysvec+53,	0,	
yycrank+-349,	yysvec+53,	0,	
yycrank+-351,	yysvec+54,	0,	
yycrank+-353,	yysvec+54,	0,	
yycrank+-414,	yysvec+55,	0,	
yycrank+-418,	yysvec+55,	0,	
yycrank+-472,	0,		0,	
yycrank+-495,	0,		0,	
yycrank+2,	0,		0,	
yycrank+7,	0,		0,	
yycrank+-430,	yysvec+7,	0,	
yycrank+-447,	yysvec+7,	0,	
yycrank+-470,	yysvec+7,	0,	
yycrank+-466,	yysvec+7,	0,	
yycrank+-434,	yysvec+87,	yyvstop+61,
yycrank+-451,	yysvec+87,	yyvstop+63,
yycrank+-441,	yysvec+53,	yyvstop+65,
yycrank+-496,	0,		yyvstop+67,
yycrank+-545,	0,		0,	
yycrank+-550,	0,		0,	
yycrank+-460,	yysvec+7,	0,	
yycrank+-551,	0,		0,	
yycrank+-564,	0,		0,	
yycrank+-568,	0,		0,	
yycrank+-508,	yysvec+55,	0,	
yycrank+-465,	yysvec+135,	0,	
yycrank+0,	0,		yyvstop+69,
yycrank+-407,	yysvec+120,	0,	
yycrank+-469,	yysvec+120,	0,	
yycrank+-489,	yysvec+121,	0,	
yycrank+-493,	yysvec+121,	0,	
yycrank+-514,	yysvec+121,	0,	
yycrank+0,	0,		yyvstop+72,
yycrank+3,	0,		0,	
yycrank+-518,	yysvec+7,	0,	
yycrank+-549,	yysvec+7,	0,	
yycrank+-524,	yysvec+7,	yyvstop+74,
yycrank+-573,	yysvec+7,	0,	
yycrank+-530,	yysvec+87,	yyvstop+76,
yycrank+-561,	yysvec+87,	yyvstop+78,
yycrank+-596,	0,		yyvstop+80,
yycrank+-613,	yysvec+135,	yyvstop+82,
yycrank+-579,	yysvec+131,	yyvstop+84,
yycrank+-599,	yysvec+131,	yyvstop+86,
yycrank+-610,	yysvec+131,	yyvstop+88,
yycrank+0,	0,		yyvstop+90,
yycrank+-536,	yysvec+132,	0,	
yycrank+-547,	yysvec+132,	0,	
yycrank+-548,	yysvec+133,	0,	
yycrank+-574,	yysvec+133,	0,	
yycrank+-585,	yysvec+133,	0,	
yycrank+-580,	yysvec+7,	0,	
yycrank+-611,	yysvec+135,	0,	
yycrank+-617,	yysvec+135,	0,	
yycrank+0,	0,		yyvstop+93,
yycrank+-616,	yysvec+136,	0,	
yycrank+-570,	yysvec+136,	0,	
yycrank+-598,	yysvec+137,	0,	
yycrank+-628,	yysvec+137,	0,	
yycrank+-634,	yysvec+137,	0,	
yycrank+-692,	0,		0,	
yycrank+-630,	yysvec+135,	0,	
yycrank+-520,	yysvec+120,	0,	
yycrank+-635,	yysvec+120,	0,	
yycrank+-645,	yysvec+121,	0,	
yycrank+-647,	yysvec+121,	0,	
yycrank+-657,	yysvec+121,	0,	
yycrank+-658,	yysvec+121,	0,	
yycrank+0,	0,		yyvstop+96,
yycrank+-660,	yysvec+7,	0,	
yycrank+-662,	yysvec+7,	0,	
yycrank+-664,	yysvec+7,	yyvstop+98,
yycrank+-703,	yysvec+53,	yyvstop+100,
yycrank+-773,	0,		yyvstop+102,
yycrank+-775,	0,		yyvstop+104,
yycrank+-746,	yysvec+135,	yyvstop+106,
yycrank+-681,	yysvec+131,	yyvstop+108,
yycrank+-698,	yysvec+131,	yyvstop+110,
yycrank+-753,	yysvec+131,	yyvstop+112,
yycrank+-720,	yysvec+131,	yyvstop+114,
yycrank+-685,	yysvec+132,	0,	
yycrank+-671,	yysvec+132,	0,	
yycrank+-696,	yysvec+133,	0,	
yycrank+-709,	yysvec+133,	0,	
yycrank+-683,	yysvec+133,	0,	
yycrank+-723,	yysvec+133,	0,	
yycrank+-819,	0,		0,	
yycrank+-726,	yysvec+135,	0,	
yycrank+-741,	yysvec+135,	0,	
yycrank+-750,	yysvec+135,	0,	
yycrank+-694,	yysvec+136,	0,	
yycrank+-740,	yysvec+136,	0,	
yycrank+-763,	yysvec+137,	0,	
yycrank+-777,	yysvec+137,	0,	
yycrank+-774,	yysvec+137,	0,	
yycrank+-787,	yysvec+137,	0,	
yycrank+0,	0,		yyvstop+116,
yycrank+-792,	yysvec+174,	0,	
yycrank+-798,	yysvec+174,	0,	
yycrank+-744,	yysvec+174,	0,	
yycrank+-515,	yysvec+120,	0,	
yycrank+-527,	yysvec+120,	0,	
yycrank+-799,	yysvec+121,	0,	
yycrank+-802,	yysvec+121,	0,	
yycrank+-816,	yysvec+7,	0,	
yycrank+-804,	yysvec+7,	0,	
yycrank+-831,	yysvec+154,	yyvstop+118,
yycrank+-845,	yysvec+135,	yyvstop+120,
yycrank+-834,	yysvec+187,	yyvstop+122,
yycrank+-840,	yysvec+187,	yyvstop+124,
yycrank+-854,	yysvec+187,	yyvstop+126,
yycrank+-868,	yysvec+53,	yyvstop+128,
yycrank+-873,	yysvec+53,	yyvstop+130,
yycrank+-867,	yysvec+131,	yyvstop+132,
yycrank+-877,	yysvec+131,	yyvstop+134,
yycrank+-533,	yysvec+132,	0,	
yycrank+-797,	yysvec+132,	0,	
yycrank+-830,	yysvec+133,	0,	
yycrank+-843,	yysvec+133,	0,	
yycrank+-898,	yysvec+7,	0,	
yycrank+-866,	yysvec+135,	0,	
yycrank+-855,	yysvec+135,	0,	
yycrank+-815,	yysvec+136,	0,	
yycrank+-825,	yysvec+136,	0,	
yycrank+-880,	yysvec+137,	0,	
yycrank+-891,	yysvec+137,	0,	
yycrank+-895,	yysvec+174,	0,	
yycrank+-904,	yysvec+174,	0,	
yycrank+-908,	yysvec+174,	0,	
yycrank+-1007,	0,		0,	
yycrank+-894,	yysvec+121,	0,	
yycrank+-915,	yysvec+243,	0,	
yycrank+-918,	yysvec+7,	0,	
yycrank+-933,	yysvec+200,	0,	
yycrank+-970,	yysvec+188,	yyvstop+136,
yycrank+-988,	yysvec+135,	yyvstop+138,
yycrank+-946,	yysvec+187,	yyvstop+140,
yycrank+-957,	yysvec+187,	yyvstop+142,
yycrank+-968,	yysvec+187,	yyvstop+144,
yycrank+-981,	yysvec+187,	yyvstop+146,
yycrank+-1020,	yysvec+135,	yyvstop+148,
yycrank+-987,	yysvec+131,	yyvstop+150,
yycrank+-1025,	yysvec+135,	yyvstop+152,
yycrank+-1031,	0,		0,	
yycrank+-932,	yysvec+133,	0,	
yycrank+-928,	yysvec+257,	0,	
yycrank+-1010,	yysvec+7,	0,	
yycrank+-983,	yysvec+135,	0,	
yycrank+-1056,	0,		0,	
yycrank+-1001,	yysvec+137,	0,	
yycrank+-945,	yysvec+262,	0,	
yycrank+-977,	yysvec+174,	0,	
yycrank+-1013,	yysvec+174,	0,	
yycrank+-1034,	yysvec+174,	0,	
yycrank+-1037,	yysvec+243,	0,	
yycrank+-1024,	yysvec+243,	0,	
yycrank+-1061,	0,		0,	
yycrank+-1049,	yysvec+243,	0,	
yycrank+-1036,	yysvec+7,	0,	
yycrank+-1060,	yysvec+7,	0,	
yycrank+-1062,	yysvec+53,	yyvstop+154,
yycrank+-1117,	yysvec+53,	yyvstop+156,
yycrank+-1081,	yysvec+187,	yyvstop+158,
yycrank+-1091,	yysvec+187,	yyvstop+160,
yycrank+-1149,	0,		yyvstop+162,
yycrank+-1160,	0,		yyvstop+164,
yycrank+-1136,	yysvec+174,	yyvstop+166,
yycrank+-1074,	yysvec+278,	yyvstop+168,
yycrank+-1086,	yysvec+257,	0,	
yycrank+-1104,	yysvec+257,	0,	
yycrank+-1173,	0,		0,	
yycrank+-1105,	yysvec+257,	0,	
yycrank+-1137,	yysvec+7,	0,	
yycrank+-1185,	0,		0,	
yycrank+-1108,	yysvec+262,	0,	
yycrank+-1123,	yysvec+262,	0,	
yycrank+-1226,	0,		0,	
yycrank+-1132,	yysvec+262,	0,	
yycrank+-1103,	yysvec+174,	0,	
yycrank+-1147,	yysvec+243,	0,	
yycrank+-1162,	yysvec+243,	0,	
yycrank+-1171,	yysvec+243,	0,	
yycrank+0,	0,		yyvstop+170,
yycrank+-1174,	yysvec+270,	0,	
yycrank+-1161,	yysvec+270,	0,	
yycrank+-1127,	yysvec+270,	0,	
yycrank+-1190,	yysvec+7,	0,	
yycrank+-1204,	yysvec+7,	0,	
yycrank+-1248,	yysvec+135,	yyvstop+173,
yycrank+-1207,	yysvec+187,	yyvstop+175,
yycrank+-1270,	yysvec+135,	yyvstop+177,
yycrank+-1186,	yysvec+278,	yyvstop+179,
yycrank+-1289,	0,		yyvstop+181,
yycrank+-1205,	yysvec+278,	yyvstop+183,
yycrank+-1306,	0,		yyvstop+185,
yycrank+-1320,	0,		yyvstop+187,
yycrank+-1294,	yysvec+174,	yyvstop+189,
yycrank+-1216,	yysvec+257,	0,	
yycrank+-1228,	yysvec+257,	0,	
yycrank+-1237,	yysvec+257,	0,	
yycrank+0,	0,		yyvstop+191,
yycrank+-1241,	yysvec+284,	0,	
yycrank+-1252,	yysvec+284,	0,	
yycrank+-1251,	yysvec+284,	0,	
yycrank+-1231,	yysvec+7,	0,	
yycrank+0,	0,		yyvstop+194,
yycrank+-1263,	yysvec+287,	0,	
yycrank+-1274,	yysvec+287,	0,	
yycrank+-1265,	yysvec+287,	0,	
yycrank+-1276,	yysvec+262,	0,	
yycrank+-1293,	yysvec+262,	0,	
yycrank+-1303,	yysvec+262,	0,	
yycrank+0,	0,		yyvstop+197,
yycrank+-1308,	yysvec+290,	0,	
yycrank+-1321,	yysvec+290,	0,	
yycrank+-1288,	yysvec+290,	0,	
yycrank+-1325,	yysvec+243,	0,	
yycrank+-1330,	yysvec+243,	0,	
yycrank+-1332,	yysvec+270,	0,	
yycrank+-1335,	yysvec+270,	0,	
yycrank+-1345,	yysvec+270,	0,	
yycrank+-1350,	yysvec+7,	0,	
yycrank+-1195,	yysvec+7,	0,	
yycrank+-1364,	yysvec+278,	yyvstop+200,
yycrank+-1398,	yysvec+279,	yyvstop+202,
yycrank+-1416,	yysvec+174,	yyvstop+204,
yycrank+-1429,	yysvec+278,	yyvstop+206,
yycrank+-1448,	0,		yyvstop+208,
yycrank+-1447,	yysvec+135,	yyvstop+210,
yycrank+-1458,	0,		yyvstop+212,
yycrank+-1367,	yysvec+308,	yyvstop+214,
yycrank+-1377,	yysvec+308,	yyvstop+216,
yycrank+-1384,	yysvec+257,	0,	
yycrank+-1355,	yysvec+257,	0,	
yycrank+-1379,	yysvec+284,	0,	
yycrank+-1394,	yysvec+284,	0,	
yycrank+-1409,	yysvec+284,	0,	
yycrank+-1510,	0,		0,	
yycrank+-1411,	yysvec+287,	0,	
yycrank+-1426,	yysvec+287,	0,	
yycrank+-1441,	yysvec+287,	0,	
yycrank+-1453,	yysvec+262,	0,	
yycrank+-1415,	yysvec+262,	0,	
yycrank+-1420,	yysvec+290,	0,	
yycrank+-1462,	yysvec+290,	0,	
yycrank+-1467,	yysvec+290,	0,	
yycrank+-1473,	yysvec+243,	0,	
yycrank+-1479,	yysvec+270,	0,	
yycrank+-1482,	yysvec+270,	0,	
yycrank+-1485,	yysvec+270,	0,	
yycrank+-1480,	yysvec+7,	0,	
yycrank+-1497,	yysvec+7,	0,	
yycrank+-1503,	yysvec+278,	yyvstop+218,
yycrank+-1531,	yysvec+306,	yyvstop+220,
yycrank+-1537,	yysvec+278,	yyvstop+222,
yycrank+-1566,	yysvec+308,	yyvstop+224,
yycrank+-1595,	yysvec+309,	yyvstop+226,
yycrank+-1600,	yysvec+174,	yyvstop+228,
yycrank+-1606,	0,		yyvstop+230,
yycrank+-1612,	0,		yyvstop+232,
yycrank+-1516,	yysvec+308,	yyvstop+234,
yycrank+-1520,	yysvec+308,	yyvstop+236,
yycrank+-1527,	yysvec+257,	0,	
yycrank+-1542,	yysvec+284,	0,	
yycrank+-1548,	yysvec+284,	0,	
yycrank+-1551,	yysvec+284,	0,	
yycrank+0,	0,		yyvstop+238,
yycrank+-944,	yysvec+351,	0,	
yycrank+-1554,	yysvec+351,	0,	
yycrank+-1565,	yysvec+287,	0,	
yycrank+-1568,	yysvec+287,	0,	
yycrank+-1569,	yysvec+287,	0,	
yycrank+-1572,	yysvec+262,	0,	
yycrank+-1589,	yysvec+290,	0,	
yycrank+-1615,	yysvec+290,	0,	
yycrank+-1618,	yysvec+290,	0,	
yycrank+-1688,	0,		0,	
yycrank+-1586,	yysvec+270,	0,	
yycrank+-1630,	yysvec+7,	0,	
yycrank+-1143,	yysvec+7,	yyvstop+240,
yycrank+-1691,	yysvec+341,	yyvstop+242,
yycrank+-1690,	yysvec+135,	yyvstop+244,
yycrank+-1711,	yysvec+343,	yyvstop+246,
yycrank+-1694,	yysvec+308,	yyvstop+248,
yycrank+-1717,	yysvec+308,	yyvstop+250,
yycrank+-1723,	yysvec+287,	yyvstop+252,
yycrank+-1728,	yysvec+174,	yyvstop+254,
yycrank+-1730,	0,		0,	
yycrank+-1636,	yysvec+284,	0,	
yycrank+-1639,	yysvec+351,	0,	
yycrank+-1642,	yysvec+351,	0,	
yycrank+-1649,	yysvec+287,	0,	
yycrank+-1751,	0,		0,	
yycrank+-1651,	yysvec+290,	0,	
yycrank+0,	0,		yyvstop+256,
yycrank+-1676,	yysvec+390,	0,	
yycrank+-1708,	yysvec+390,	0,	
yycrank+-1670,	yysvec+390,	0,	
yycrank+-1750,	yysvec+7,	0,	
yycrank+-1752,	yysvec+372,	yyvstop+260,
yycrank+-1771,	yysvec+373,	yyvstop+262,
yycrank+-1772,	yysvec+308,	yyvstop+264,
yycrank+-1785,	yysvec+308,	yyvstop+266,
yycrank+-1807,	0,		yyvstop+268,
yycrank+-1843,	0,		yyvstop+270,
yycrank+-1813,	yysvec+287,	yyvstop+272,
yycrank+0,	0,		yyvstop+274,
yycrank+-1732,	yysvec+401,	0,	
yycrank+-1749,	yysvec+401,	0,	
yycrank+-1770,	yysvec+401,	0,	
yycrank+-1655,	yysvec+351,	0,	
yycrank+-943,	yysvec+351,	0,	
yycrank+0,	0,		yyvstop+278,
yycrank+-1774,	yysvec+406,	0,	
yycrank+-1789,	yysvec+406,	0,	
yycrank+-1796,	yysvec+406,	0,	
yycrank+-1798,	yysvec+390,	0,	
yycrank+-1802,	yysvec+390,	0,	
yycrank+-1817,	yysvec+390,	0,	
yycrank+-1824,	yysvec+7,	0,	
yycrank+-1871,	yysvec+287,	yyvstop+282,
yycrank+-1873,	yysvec+174,	yyvstop+284,
yycrank+-1897,	0,		yyvstop+286,
yycrank+-1819,	yysvec+417,	yyvstop+288,
yycrank+-1836,	yysvec+417,	yyvstop+290,
yycrank+-1839,	yysvec+401,	0,	
yycrank+-1848,	yysvec+401,	0,	
yycrank+-1853,	yysvec+401,	0,	
yycrank+-1952,	0,		0,	
yycrank+-1963,	0,		0,	
yycrank+-1868,	yysvec+406,	0,	
yycrank+-1877,	yysvec+406,	0,	
yycrank+-1882,	yysvec+406,	0,	
yycrank+-1880,	yysvec+390,	0,	
yycrank+-1834,	yysvec+390,	0,	
yycrank+-1894,	yysvec+390,	0,	
yycrank+-1745,	yysvec+7,	0,	
yycrank+-1958,	yysvec+417,	yyvstop+292,
yycrank+-1970,	yysvec+418,	yyvstop+294,
yycrank+-1965,	yysvec+287,	yyvstop+296,
yycrank+-1993,	0,		yyvstop+298,
yycrank+-1990,	yysvec+287,	yyvstop+300,
yycrank+-1900,	yysvec+417,	yyvstop+302,
yycrank+-1917,	yysvec+401,	0,	
yycrank+-1918,	yysvec+401,	0,	
yycrank+-1920,	yysvec+401,	0,	
yycrank+0,	0,		yyvstop+304,
yycrank+-1689,	yysvec+442,	0,	
yycrank+-1922,	yysvec+442,	0,	
yycrank+-1924,	yysvec+443,	0,	
yycrank+-1935,	yysvec+443,	0,	
yycrank+-1941,	yysvec+443,	0,	
yycrank+-1948,	yysvec+406,	0,	
yycrank+-1937,	yysvec+406,	0,	
yycrank+-1980,	yysvec+406,	0,	
yycrank+-1961,	yysvec+390,	0,	
yycrank+-2010,	yysvec+7,	0,	
yycrank+-2048,	yysvec+436,	yyvstop+307,
yycrank+-2053,	yysvec+417,	yyvstop+309,
yycrank+-2070,	yysvec+417,	yyvstop+311,
yycrank+-2073,	yysvec+287,	yyvstop+313,
yycrank+-1984,	yysvec+401,	0,	
yycrank+-1768,	yysvec+442,	0,	
yycrank+-1987,	yysvec+442,	0,	
yycrank+-2004,	yysvec+443,	0,	
yycrank+-2007,	yysvec+443,	0,	
yycrank+-2025,	yysvec+443,	0,	
yycrank+-2021,	yysvec+443,	0,	
yycrank+-2024,	yysvec+406,	0,	
yycrank+-2020,	yysvec+7,	0,	
yycrank+-2097,	yysvec+454,	yyvstop+315,
yycrank+-2103,	yysvec+287,	yyvstop+317,
yycrank+-2108,	yysvec+417,	yyvstop+319,
yycrank+-992,	yysvec+442,	0,	
yycrank+-998,	yysvec+442,	0,	
yycrank+-2047,	yysvec+443,	0,	
yycrank+-2035,	yysvec+443,	0,	
yycrank+-2072,	yysvec+7,	0,	
yycrank+-2136,	yysvec+287,	yyvstop+321,
yycrank+-2147,	0,		0,	
yycrank+-2066,	yysvec+443,	0,	
yycrank+-2059,	yysvec+493,	0,	
yycrank+-2123,	yysvec+7,	0,	
yycrank+-2083,	yysvec+493,	0,	
yycrank+-2094,	yysvec+493,	0,	
yycrank+-2196,	0,		0,	
yycrank+-2106,	yysvec+493,	0,	
yycrank+-2154,	yysvec+7,	0,	
yycrank+-2112,	yysvec+493,	0,	
yycrank+-2127,	yysvec+493,	0,	
yycrank+-2132,	yysvec+493,	0,	
yycrank+0,	0,		yyvstop+323,
yycrank+-2142,	yysvec+499,	0,	
yycrank+-2153,	yysvec+499,	0,	
yycrank+-2093,	yysvec+499,	0,	
yycrank+-2149,	yysvec+7,	0,	
yycrank+-2156,	yysvec+493,	0,	
yycrank+-2118,	yysvec+493,	0,	
yycrank+-2171,	yysvec+499,	0,	
yycrank+-2167,	yysvec+499,	0,	
yycrank+-2177,	yysvec+499,	0,	
yycrank+-2173,	yysvec+7,	0,	
yycrank+-2184,	yysvec+493,	0,	
yycrank+-2182,	yysvec+499,	0,	
yycrank+-2194,	yysvec+499,	0,	
yycrank+-2197,	yysvec+499,	0,	
yycrank+-2193,	yysvec+7,	0,	
yycrank+-2305,	0,		0,	
yycrank+-2130,	yysvec+499,	0,	
yycrank+-1219,	yysvec+7,	0,	
yycrank+0,	0,		yyvstop+326,
yycrank+-2211,	yysvec+521,	0,	
yycrank+-2215,	yysvec+521,	0,	
yycrank+-2214,	yysvec+521,	0,	
yycrank+-2306,	0,		0,	
yycrank+-2224,	yysvec+521,	0,	
yycrank+-2225,	yysvec+521,	0,	
yycrank+-2228,	yysvec+521,	0,	
yycrank+-2249,	yysvec+7,	0,	
yycrank+-2245,	yysvec+521,	0,	
yycrank+-2248,	yysvec+521,	0,	
yycrank+-2251,	yysvec+521,	0,	
yycrank+-2263,	yysvec+7,	0,	
yycrank+-2262,	yysvec+521,	0,	
yycrank+-2277,	yysvec+7,	0,	
yycrank+-2307,	yysvec+7,	0,	
yycrank+-2327,	yysvec+7,	0,	
yycrank+-2339,	yysvec+7,	0,	
yycrank+-2318,	yysvec+7,	0,	
yycrank+-2324,	yysvec+7,	0,	
yycrank+-2371,	0,		0,	
yycrank+-2338,	yysvec+7,	0,	
yycrank+-2336,	yysvec+7,	0,	
yycrank+-2355,	yysvec+200,	0,	
yycrank+-2357,	yysvec+7,	0,	
yycrank+-2352,	yysvec+7,	0,	
yycrank+-2364,	yysvec+7,	0,	
yycrank+-2370,	yysvec+7,	0,	
yycrank+-2380,	yysvec+7,	0,	
yycrank+-2381,	yysvec+7,	0,	
yycrank+-2383,	yysvec+7,	0,	
yycrank+-2386,	yysvec+7,	0,	
yycrank+-2400,	yysvec+528,	0,	
yycrank+-2393,	yysvec+7,	0,	
yycrank+-2387,	yysvec+7,	0,	
yycrank+-2396,	yysvec+7,	0,	
yycrank+-2405,	yysvec+7,	0,	
yycrank+-2406,	yysvec+7,	0,	
yycrank+-2417,	yysvec+7,	0,	
yycrank+-2399,	yysvec+7,	0,	
yycrank+0,	0,		yyvstop+330,
0,	0,	0};
struct yywork *yytop = yycrank+2532;
struct yysvf *yybgin = yysvec+1;
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  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,
'0' ,'0' ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
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};
char yyextra[] ={
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0};
/*	ncform	4.1	83/08/11	*/

int yylineno =1;
# define YYU(x) x
# define NLSTATE yyprevious=YYNEWLINE
char yytext[YYLMAX];
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
char yysbuf[YYLMAX];
char *yysptr = yysbuf;
int *yyfnd;
extern struct yysvf *yyestate;
int yyprevious = YYNEWLINE;
yylook(){
	register struct yysvf *yystate, **lsp;
	register struct yywork *yyt;
	struct yysvf *yyz;
	int yych;
	struct yywork *yyr;
# ifdef LEXDEBUG
	int debug;
# endif
	char *yylastch;
	/* start off machines */
# ifdef LEXDEBUG
	debug = 0;
# endif
	if (!yymorfg)
		yylastch = yytext;
	else {
		yymorfg=0;
		yylastch = yytext+yyleng;
		}
	for(;;){
		lsp = yylstate;
		yyestate = yystate = yybgin;
		if (yyprevious==YYNEWLINE) yystate++;
		for (;;){
# ifdef LEXDEBUG
			if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
# endif
			yyt = yystate->yystoff;
			if(yyt == yycrank){		/* may not be any transitions */
				yyz = yystate->yyother;
				if(yyz == 0)break;
				if(yyz->yystoff == yycrank)break;
				}
			*yylastch++ = yych = input();
		tryagain:
# ifdef LEXDEBUG
			if(debug){
				fprintf(yyout,"unsigned char ");
				allprint(yych);
				putchar('\n');
				}
# endif
			yyr = yyt;
			if ( (int)yyt > (int)yycrank){
				yyt = yyr + yych;
				if (yyt <= yytop && yyt->verify+yysvec == yystate){
					if(yyt->advance+yysvec == YYLERR)	/* error transitions */
						{unput(*--yylastch);break;}
					*lsp++ = yystate = yyt->advance+yysvec;
					goto contin;
					}
				}
# ifdef YYOPTIM
			else if((int)yyt < (int)yycrank) {		/* r < yycrank */
				yyt = yyr = yycrank+(yycrank-yyt);
# ifdef LEXDEBUG
				if(debug)fprintf(yyout,"compressed state\n");
# endif
				yyt = yyt + yych;
				if(yyt <= yytop && yyt->verify+yysvec == yystate){
					if(yyt->advance+yysvec == YYLERR)	/* error transitions */
						{unput(*--yylastch);break;}
					*lsp++ = yystate = yyt->advance+yysvec;
					goto contin;
					}
				yyt = yyr + YYU(yymatch[yych]);
# ifdef LEXDEBUG
				if(debug){
					fprintf(yyout,"try fall back character ");
					allprint(YYU(yymatch[yych]));
					putchar('\n');
					}
# endif
				if(yyt <= yytop && yyt->verify+yysvec == yystate){
					if(yyt->advance+yysvec == YYLERR)	/* error transition */
						{unput(*--yylastch);break;}
					*lsp++ = yystate = yyt->advance+yysvec;
					goto contin;
					}
				}
			if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
# ifdef LEXDEBUG
				if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
# endif
				goto tryagain;
				}
# endif
			else
				{unput(*--yylastch);break;}
		contin:
# ifdef LEXDEBUG
			if(debug){
				fprintf(yyout,"state %d char ",yystate-yysvec-1);
				allprint(yych);
				putchar('\n');
				}
# endif
			;
			}
# ifdef LEXDEBUG
		if(debug){
			fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
			allprint(yych);
			putchar('\n');
			}
# endif
		while (lsp-- > yylstate){
			*yylastch-- = 0;
			if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
				yyolsp = lsp;
				if(yyextra[*yyfnd]){		/* must backup */
					while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
						lsp--;
						unput(*yylastch--);
						}
					}
				yyprevious = YYU(*yylastch);
				yylsp = lsp;
				yyleng = yylastch-yytext+1;
				yytext[yyleng] = 0;
# ifdef LEXDEBUG
				if(debug){
					fprintf(yyout,"\nmatch ");
					sprint(yytext);
					fprintf(yyout," action %d\n",*yyfnd);
					}
# endif
				return(*yyfnd++);
				}
			unput(*yylastch);
			}
		if (yytext[0] == 0  /* && feof(yyin) */)
			{
			yysptr=yysbuf;
			return(0);
			}
		yyprevious = yytext[0] = input();
		if (yyprevious>0)
			output(yyprevious);
		yylastch=yytext;
# ifdef LEXDEBUG
		if(debug)putchar('\n');
# endif
		}
	}
yyback(p, m)
	int *p;
{
if (p==0) return(0);
while (*p)
	{
	if (*p++ == m)
		return(1);
	}
return(0);
}
	/* the following are only used in the lex library */
yyinput(){
	return(input());
	}
yyoutput(c)
  int c; {
	output(c);
	}
yyunput(c)
   int c; {
	unput(c);
	}