1 #ifndef EUC
2 #define EUC
3 #endif
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <inttypes.h>
7 #include <widec.h>
8 #define YYTEXT yytext
9 #define YYLENG yyleng
10 #ifndef __cplusplus
11 #define YYINPUT input
12 #define YYOUTPUT output
13 #else
14 #define YYINPUT lex_input
15 #define YYOUTPUT lex_output
16 #endif
17 #define YYUNPUT unput
18 # define U(x) x
19 # define NLSTATE yyprevious=YYNEWLINE
20 # define BEGIN yybgin = yysvec + 1 +
21 # define INITIAL 0
22 # define YYLERR yysvec
23 # define YYSTATE (yyestate-yysvec-1)
24 # define YYOPTIM 1
25 # ifndef YYLMAX
26 # define YYLMAX BUFSIZ
27 # endif
28 #ifndef __cplusplus
29 # define output(c) (void)putwc(c,yyout)
30 #else
31 # define lex_output(c) (void)putwc(c,yyout)
32 #endif
33 
34 #if defined(__cplusplus) || defined(__STDC__)
35 
36 #if defined(__cplusplus) && defined(__EXTERN_C__)
37 extern "C" {
38 #endif
39 	int yyback(int *, int);
40 	int yyinput(void);
41 	int yylook(void);
42 	void yyoutput(int);
43 	int yyracc(int);
44 	int yyreject(void);
45 	void yyunput(int);
46 	int yylex(void);
47 #ifdef YYLEX_E
48 	void yywoutput(wchar_t);
49 	wchar_t yywinput(void);
50 	void yywunput(wchar_t);
51 #endif
52 #ifndef yyless
53 	int yyless(int);
54 #endif
55 #ifndef yywrap
56 	int yywrap(void);
57 #endif
58 #ifdef LEXDEBUG
59 	void allprint(char);
60 	void sprint(char *);
61 #endif
62 #if defined(__cplusplus) && defined(__EXTERN_C__)
63 }
64 #endif
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69 	void exit(int);
70 #ifdef __cplusplus
71 }
72 #endif
73 
74 #endif
75 # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
76 # define yymore() (yymorfg=1)
77 #ifndef __cplusplus
78 # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getwc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
79 #else
80 # define lex_input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getwc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
81 #endif
82 # define ECHO (void)fprintf(yyout, "%ws",yytext)
83 # define REJECT { nstr = yyreject_w(); goto yyfussy;}
84 #define yyless yyless_w
85 int yyleng;
86 #define YYISARRAY
87 wchar_t yytext[YYLMAX];
88 int yymorfg;
89 extern wchar_t *yysptr, yysbuf[];
90 int yytchar;
91 FILE *yyin = {stdin}, *yyout = {stdout};
92 extern int yylineno;
93 struct yysvf {
94 	struct yywork *yystoff;
95 	struct yysvf *yyother;
96 	int *yystops;};
97 struct yysvf *yyestate;
98 extern struct yysvf yysvec[], *yybgin;
99 
100 # line 3 "awk.lx.l"
101 /*
102  * CDDL HEADER START
103  *
104  * The contents of this file are subject to the terms of the
105  * Common Development and Distribution License, Version 1.0 only
106  * (the "License").  You may not use this file except in compliance
107  * with the License.
108  *
109  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
110  * or http://www.opensolaris.org/os/licensing.
111  * See the License for the specific language governing permissions
112  * and limitations under the License.
113  *
114  * When distributing Covered Code, include this CDDL HEADER in each
115  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
116  * If applicable, add the following below this CDDL HEADER, with the
117  * fields enclosed by brackets "[]" replaced with your own identifying
118  * information: Portions Copyright [yyyy] [name of copyright owner]
119  *
120  * CDDL HEADER END
121  */
122 
123 # line 24 "awk.lx.l"
124 /*
125  * Copyright 1996 Sun Microsystems, Inc.  All rights reserved.
126  * Use is subject to license terms.
127  */
128 
129 # line 30 "awk.lx.l"
130 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
131 
132 # line 33 "awk.lx.l"
133 /*	  All Rights Reserved  	*/
134 #pragma ident	"%Z%%M%	%I%	%E% SMI"
135 # define A 2
136 # define str 4
137 # define chc 6
138 # define sc 8
139 # define reg 10
140 # define comment 12
141 #include	"awk.h"
142 #include	"awk.def"
143 #undef	input	/* defeat lex */
144 extern int	yylval;
145 extern int	mustfld;
146 
147 long long	lineno	= 1;
148 #ifdef	DEBUG
149 #	define	RETURN(x)	{if (dbg) ptoken(x); return (x); }
150 #else
151 #	define	RETURN(x)	return (x)
152 #endif
153 #define	CADD	{ cbuf[clen++]=yytext[0]; if (clen>=CBUFLEN-1) { yyerror(\
154 		"string too long", cbuf); BEGIN A; } }
155 #define	CBUFLEN	150
156 wchar_t cbuf[CBUFLEN];
157 int	clen, cflag;
158 # define YYNEWLINE 10
159 int yylex(){
160 int nstr; extern int yyprevious;
161 
162 # line 69 "awk.lx.l"
163 switch (yybgin-yysvec-1) {	/* witchcraft */
164 	case 0:
165 		BEGIN A;
166 		break;
167 	case sc:
168 		BEGIN A;
169 		RETURN('}');
170 	}
171 #ifdef __cplusplus
172 /* to avoid CC and lint complaining yyfussy not being used ...*/
173 static int __lex_hack = 0;
174 if (__lex_hack) goto yyfussy;
175 #endif
176 while((nstr = yylook()) >= 0)
177 yyfussy: switch(nstr){
178 case 0:
179 if(yywrap()) return(0); break;
180 case 1:
181 
182 # line 78 "awk.lx.l"
183 	lineno++;
184 break;
185 case 2:
186 
187 # line 79 "awk.lx.l"
188 lineno++;
189 break;
190 case 3:
191 
192 # line 80 "awk.lx.l"
193 	/* dummy for cstyle */;
194 break;
195 case 4:
196 
197 # line 81 "awk.lx.l"
198 lineno++;
199 break;
200 case 5:
201 
202 # line 82 "awk.lx.l"
203 lineno++;
204 break;
205 case 6:
206 
207 # line 83 "awk.lx.l"
208 	RETURN(BOR);
209 break;
210 case 7:
211 
212 # line 84 "awk.lx.l"
213 RETURN(XBEGIN);
214 break;
215 case 8:
216 
217 # line 85 "awk.lx.l"
218 	RETURN(XEND);
219 break;
220 case 9:
221 
222 # line 86 "awk.lx.l"
223 RETURN(EOF);
224 break;
225 case 10:
226 
227 # line 87 "awk.lx.l"
228 	RETURN(AND);
229 break;
230 case 11:
231 
232 # line 88 "awk.lx.l"
233 	RETURN(NOT);
234 break;
235 case 12:
236 
237 # line 89 "awk.lx.l"
238 	{ yylval = NE; RETURN(RELOP); }
239 break;
240 case 13:
241 
242 # line 90 "awk.lx.l"
243 	{ yylval = MATCH; RETURN(MATCHOP); }
244 break;
245 case 14:
246 
247 # line 91 "awk.lx.l"
248 	{ yylval = NOTMATCH; RETURN(MATCHOP); }
249 break;
250 case 15:
251 
252 # line 92 "awk.lx.l"
253 	{ yylval = LT; RETURN(RELOP); }
254 break;
255 case 16:
256 
257 # line 93 "awk.lx.l"
258 	{ yylval = LE; RETURN(RELOP); }
259 break;
260 case 17:
261 
262 # line 94 "awk.lx.l"
263 	{ yylval = EQ; RETURN(RELOP); }
264 break;
265 case 18:
266 
267 # line 95 "awk.lx.l"
268 	{ yylval = GE; RETURN(RELOP); }
269 break;
270 case 19:
271 
272 # line 96 "awk.lx.l"
273 	{ yylval = GT; RETURN(RELOP); }
274 break;
275 case 20:
276 
277 # line 97 "awk.lx.l"
278 	{ yylval = APPEND; RETURN(RELOP); }
279 break;
280 case 21:
281 
282 # line 98 "awk.lx.l"
283 	{ yylval = INCR; RETURN(INCR); }
284 break;
285 case 22:
286 
287 # line 99 "awk.lx.l"
288 	{ yylval = DECR; RETURN(DECR); }
289 break;
290 case 23:
291 
292 # line 100 "awk.lx.l"
293 	{ yylval = ADDEQ; RETURN(ASGNOP); }
294 break;
295 case 24:
296 
297 # line 101 "awk.lx.l"
298 	{ yylval = SUBEQ; RETURN(ASGNOP); }
299 break;
300 case 25:
301 
302 # line 102 "awk.lx.l"
303 	{ yylval = MULTEQ; RETURN(ASGNOP); }
304 break;
305 case 26:
306 
307 # line 103 "awk.lx.l"
308 	{ yylval = DIVEQ; RETURN(ASGNOP); }
309 break;
310 case 27:
311 
312 # line 104 "awk.lx.l"
313 	{ yylval = MODEQ; RETURN(ASGNOP); }
314 break;
315 case 28:
316 
317 # line 105 "awk.lx.l"
318 	{ yylval = ASSIGN; RETURN(ASGNOP); }
319 break;
320 case 29:
321 
322 # line 107 "awk.lx.l"
323 {
324 		static wchar_t L_record[] = L"$record";
325 		if (watoi(yytext+1)==0) {
326 				yylval = (int)lookup(L_record, symtab, 0);
327 				RETURN(STRING);
328 			} else {
329 				yylval = fieldadr(watoi(yytext+1));
330 				RETURN(FIELD);
331 			}
332 		}
333 break;
334 case 30:
335 
336 # line 117 "awk.lx.l"
337 { RETURN(INDIRECT); }
338 break;
339 case 31:
340 
341 # line 118 "awk.lx.l"
342 	{ mustfld=1;
343 		yylval = (int)setsymtab(yytext, NULL, 0.0, NUM, symtab);
344 		RETURN(VAR); }
345 break;
346 case 32:
347 
348 # line 121 "awk.lx.l"
349 {
350 		yylval = (int)setsymtab(yytext, NULL, watof(yytext),
351 			CON|NUM, symtab); RETURN(NUMBER); }
352 break;
353 case 33:
354 
355 # line 124 "awk.lx.l"
356 { BEGIN sc; lineno++; RETURN(';'); }
357 break;
358 case 34:
359 
360 # line 125 "awk.lx.l"
361 	{ BEGIN sc; RETURN(';'); }
362 break;
363 case 35:
364 
365 # line 126 "awk.lx.l"
366 	{ lineno++; RETURN(';'); }
367 break;
368 case 36:
369 
370 # line 127 "awk.lx.l"
371 	{ lineno++; RETURN(NL); }
372 break;
373 case 37:
374 
375 # line 128 "awk.lx.l"
376 RETURN(WHILE);
377 break;
378 case 38:
379 
380 # line 129 "awk.lx.l"
381 	RETURN(FOR);
382 break;
383 case 39:
384 
385 # line 130 "awk.lx.l"
386 	RETURN(IF);
387 break;
388 case 40:
389 
390 # line 131 "awk.lx.l"
391 	RETURN(ELSE);
392 break;
393 case 41:
394 
395 # line 132 "awk.lx.l"
396 	RETURN(NEXT);
397 break;
398 case 42:
399 
400 # line 133 "awk.lx.l"
401 	RETURN(EXIT);
402 break;
403 case 43:
404 
405 # line 134 "awk.lx.l"
406 RETURN(BREAK);
407 break;
408 case 44:
409 
410 # line 135 "awk.lx.l"
411 RETURN(CONTINUE);
412 break;
413 case 45:
414 
415 # line 136 "awk.lx.l"
416 { yylval = PRINT; RETURN(PRINT); }
417 break;
418 case 46:
419 
420 # line 137 "awk.lx.l"
421 { yylval = PRINTF; RETURN(PRINTF); }
422 break;
423 case 47:
424 
425 # line 138 "awk.lx.l"
426 { yylval = SPRINTF; RETURN(SPRINTF); }
427 break;
428 case 48:
429 
430 # line 139 "awk.lx.l"
431 { yylval = SPLIT; RETURN(SPLIT); }
432 break;
433 case 49:
434 
435 # line 140 "awk.lx.l"
436 RETURN(SUBSTR);
437 break;
438 case 50:
439 
440 # line 141 "awk.lx.l"
441 RETURN(INDEX);
442 break;
443 case 51:
444 
445 # line 142 "awk.lx.l"
446 	RETURN(IN);
447 break;
448 case 52:
449 
450 # line 143 "awk.lx.l"
451 RETURN(GETLINE);
452 break;
453 case 53:
454 
455 # line 144 "awk.lx.l"
456 { yylval = FLENGTH; RETURN(FNCN); }
457 break;
458 case 54:
459 
460 # line 145 "awk.lx.l"
461 	{ yylval = FLOG; RETURN(FNCN); }
462 break;
463 case 55:
464 
465 # line 146 "awk.lx.l"
466 	{ yylval = FINT; RETURN(FNCN); }
467 break;
468 case 56:
469 
470 # line 147 "awk.lx.l"
471 	{ yylval = FEXP; RETURN(FNCN); }
472 break;
473 case 57:
474 
475 # line 148 "awk.lx.l"
476 	{ yylval = FSQRT; RETURN(FNCN); }
477 break;
478 case 58:
479 
480 # line 149 "awk.lx.l"
481 {
482 		static wchar_t L_0[] = { 0 };
483 		yylval = (int)setsymtab(yytext, tostring(L_0), 0.0, STR|NUM,
484 			symtab);
485 		RETURN(VAR);
486 		}
487 break;
488 case 59:
489 
490 # line 155 "awk.lx.l"
491 	{ BEGIN str; clen=0; }
492 break;
493 case 60:
494 
495 # line 157 "awk.lx.l"
496 	{ BEGIN comment; }
497 break;
498 case 61:
499 
500 # line 158 "awk.lx.l"
501 { BEGIN A; lineno++; RETURN(NL); }
502 break;
503 case 62:
504 
505 # line 159 "awk.lx.l"
506 /* dummy */;
507 break;
508 case 63:
509 
510 # line 161 "awk.lx.l"
511 	{ yylval = yytext[0]; RETURN(yytext[0]); }
512 break;
513 case 64:
514 
515 # line 163 "awk.lx.l"
516 { BEGIN chc; clen=0; cflag=0; }
517 break;
518 case 65:
519 
520 # line 164 "awk.lx.l"
521 { BEGIN chc; clen=0; cflag=1; }
522 break;
523 case 66:
524 
525 # line 166 "awk.lx.l"
526 RETURN(QUEST);
527 break;
528 case 67:
529 
530 # line 167 "awk.lx.l"
531 RETURN(PLUS);
532 break;
533 case 68:
534 
535 # line 168 "awk.lx.l"
536 RETURN(STAR);
537 break;
538 case 69:
539 
540 # line 169 "awk.lx.l"
541 RETURN(OR);
542 break;
543 case 70:
544 
545 # line 170 "awk.lx.l"
546 RETURN(DOT);
547 break;
548 case 71:
549 
550 # line 171 "awk.lx.l"
551 RETURN('(');
552 break;
553 case 72:
554 
555 # line 172 "awk.lx.l"
556 RETURN(')');
557 break;
558 case 73:
559 
560 # line 173 "awk.lx.l"
561 RETURN('^');
562 break;
563 case 74:
564 
565 # line 174 "awk.lx.l"
566 RETURN('$');
567 break;
568 case 75:
569 
570 # line 175 "awk.lx.l"
571 { wsscanf(yytext+1, "%o", &yylval); RETURN(CHAR); }
572 break;
573 case 76:
574 
575 # line 176 "awk.lx.l"
576 {	if (yytext[1]=='n') yylval = '\n';
577 			else if (yytext[1] == 't') yylval = '\t';
578 			else if (yytext[1] == 'b') yylval = '\b';
579 			else if (yytext[1] == 'r') yylval = '\r';
580 			else if (yytext[1] == 'f') yylval = '\f';
581 			else yylval = yytext[1];
582 			RETURN(CHAR);
583 		}
584 break;
585 case 77:
586 
587 # line 184 "awk.lx.l"
588 { BEGIN A; unput('/'); }
589 break;
590 case 78:
591 
592 # line 185 "awk.lx.l"
593 	{ yyerror("newline in regular expression"); lineno++; BEGIN A; }
594 break;
595 case 79:
596 
597 # line 186 "awk.lx.l"
598 	{ yylval = yytext[0]; RETURN(CHAR); }
599 break;
600 case 80:
601 
602 # line 188 "awk.lx.l"
603 	{ wchar_t *s; BEGIN A; cbuf[clen]=0; s = tostring(cbuf);
604 		cbuf[clen] = ' '; cbuf[++clen] = 0;
605 		yylval = (int)setsymtab(cbuf, s, 0.0, CON|STR, symtab);
606 		RETURN(STRING); }
607 break;
608 case 81:
609 
610 # line 192 "awk.lx.l"
611 	{ yyerror("newline in string"); lineno++; BEGIN A; }
612 break;
613 case 82:
614 
615 # line 193 "awk.lx.l"
616 { cbuf[clen++]='"'; }
617 break;
618 case 83:
619 
620 # line 194 "awk.lx.l"
621 { cbuf[clen++]='\n'; }
622 break;
623 case 84:
624 
625 # line 195 "awk.lx.l"
626 { cbuf[clen++]='\n'; }
627 break;
628 case 85:
629 
630 # line 196 "awk.lx.l"
631 { cbuf[clen++]='\t'; }
632 break;
633 case 86:
634 
635 # line 197 "awk.lx.l"
636 { cbuf[clen++]='\t'; }
637 break;
638 case 87:
639 
640 # line 198 "awk.lx.l"
641 { cbuf[clen++]='\b'; }
642 break;
643 case 88:
644 
645 # line 199 "awk.lx.l"
646 { cbuf[clen++]='\b'; }
647 break;
648 case 89:
649 
650 # line 200 "awk.lx.l"
651 { cbuf[clen++]='\r'; }
652 break;
653 case 90:
654 
655 # line 201 "awk.lx.l"
656 { cbuf[clen++]='\r'; }
657 break;
658 case 91:
659 
660 # line 202 "awk.lx.l"
661 	{ cbuf[clen++]='\f'; }
662 break;
663 case 92:
664 
665 # line 203 "awk.lx.l"
666 	{ cbuf[clen++]='\f'; }
667 break;
668 case 93:
669 
670 # line 204 "awk.lx.l"
671 { cbuf[clen++]='\\'; }
672 break;
673 case 94:
674 
675 # line 205 "awk.lx.l"
676 { cbuf[clen++]='\\'; }
677 break;
678 case 95:
679 
680 # line 206 "awk.lx.l"
681 	{ CADD; }
682 break;
683 case 96:
684 
685 # line 208 "awk.lx.l"
686 { cbuf[clen++]=']'; }
687 break;
688 case 97:
689 
690 # line 209 "awk.lx.l"
691 { BEGIN reg; cbuf[clen]=0; yylval = (int)tostring(cbuf);
692 		if (cflag==0) { RETURN(CCL); }
693 		else { RETURN(NCCL); } }
694 break;
695 case 98:
696 
697 # line 212 "awk.lx.l"
698 	{ yyerror("newline in character class"); lineno++; BEGIN A; }
699 break;
700 case 99:
701 
702 # line 213 "awk.lx.l"
703 	{ CADD; }
704 break;
705 case -1:
706 break;
707 default:
708 (void)fprintf(yyout,"bad switch yylook %d",nstr);
709 } return(0); }
710 /* end of yylex */
711 
712 # line 216 "awk.lx.l"
713 
714 int
715 input()
716 {
717 	int c;
718 	extern wchar_t *lexprog;
719 
720 	if (yysptr > yysbuf)
721 		c = U(*--yysptr);
722 	else if (yyin == NULL)
723 		c = *lexprog++;
724 	else
725 		c = getwc(yyin);
726 	if (c == '\n')
727 		yylineno++;
728 	else if (c == EOF)
729 		c = 0;
730 	return (c);
731 }
732 
733 void
734 startreg()
735 {
736 	BEGIN reg;
737 }
738 int yyvstop[] = {
739 0,
740 
741 63,
742 0,
743 
744 3,
745 63,
746 0,
747 
748 36,
749 0,
750 
751 11,
752 63,
753 0,
754 
755 59,
756 63,
757 0,
758 
759 60,
760 63,
761 0,
762 
763 30,
764 63,
765 0,
766 
767 63,
768 0,
769 
770 63,
771 0,
772 
773 63,
774 0,
775 
776 63,
777 0,
778 
779 63,
780 0,
781 
782 63,
783 0,
784 
785 63,
786 0,
787 
788 32,
789 63,
790 0,
791 
792 63,
793 0,
794 
795 15,
796 63,
797 0,
798 
799 28,
800 63,
801 0,
802 
803 19,
804 63,
805 0,
806 
807 58,
808 63,
809 0,
810 
811 58,
812 63,
813 0,
814 
815 58,
816 63,
817 0,
818 
819 58,
820 63,
821 0,
822 
823 58,
824 63,
825 0,
826 
827 63,
828 0,
829 
830 58,
831 63,
832 0,
833 
834 58,
835 63,
836 0,
837 
838 58,
839 63,
840 0,
841 
842 58,
843 63,
844 0,
845 
846 58,
847 63,
848 0,
849 
850 58,
851 63,
852 0,
853 
854 58,
855 63,
856 0,
857 
858 58,
859 63,
860 0,
861 
862 58,
863 63,
864 0,
865 
866 58,
867 63,
868 0,
869 
870 58,
871 63,
872 0,
873 
874 63,
875 0,
876 
877 34,
878 63,
879 0,
880 
881 13,
882 63,
883 0,
884 
885 3,
886 63,
887 0,
888 
889 1,
890 36,
891 0,
892 
893 60,
894 63,
895 0,
896 
897 95,
898 0,
899 
900 81,
901 0,
902 
903 80,
904 95,
905 0,
906 
907 95,
908 0,
909 
910 99,
911 0,
912 
913 98,
914 0,
915 
916 99,
917 0,
918 
919 97,
920 99,
921 0,
922 
923 79,
924 0,
925 
926 78,
927 0,
928 
929 74,
930 79,
931 0,
932 
933 71,
934 79,
935 0,
936 
937 72,
938 79,
939 0,
940 
941 68,
942 79,
943 0,
944 
945 67,
946 79,
947 0,
948 
949 70,
950 79,
951 0,
952 
953 77,
954 79,
955 0,
956 
957 66,
958 79,
959 0,
960 
961 64,
962 79,
963 0,
964 
965 79,
966 0,
967 
968 73,
969 79,
970 0,
971 
972 69,
973 79,
974 0,
975 
976 62,
977 0,
978 
979 61,
980 0,
981 
982 12,
983 0,
984 
985 14,
986 0,
987 
988 30,
989 0,
990 
991 29,
992 0,
993 
994 27,
995 0,
996 
997 10,
998 0,
999 
1000 25,
1001 0,
1002 
1003 21,
1004 0,
1005 
1006 23,
1007 0,
1008 
1009 22,
1010 0,
1011 
1012 24,
1013 0,
1014 
1015 32,
1016 0,
1017 
1018 26,
1019 0,
1020 
1021 32,
1022 0,
1023 
1024 32,
1025 0,
1026 
1027 35,
1028 0,
1029 
1030 16,
1031 0,
1032 
1033 17,
1034 0,
1035 
1036 18,
1037 0,
1038 
1039 20,
1040 0,
1041 
1042 58,
1043 0,
1044 
1045 58,
1046 0,
1047 
1048 58,
1049 0,
1050 
1051 31,
1052 58,
1053 0,
1054 
1055 58,
1056 0,
1057 
1058 4,
1059 0,
1060 
1061 58,
1062 0,
1063 
1064 58,
1065 0,
1066 
1067 58,
1068 0,
1069 
1070 58,
1071 0,
1072 
1073 58,
1074 0,
1075 
1076 58,
1077 0,
1078 
1079 39,
1080 58,
1081 0,
1082 
1083 51,
1084 58,
1085 0,
1086 
1087 58,
1088 0,
1089 
1090 58,
1091 0,
1092 
1093 58,
1094 0,
1095 
1096 58,
1097 0,
1098 
1099 58,
1100 0,
1101 
1102 58,
1103 0,
1104 
1105 58,
1106 0,
1107 
1108 58,
1109 0,
1110 
1111 6,
1112 0,
1113 
1114 33,
1115 0,
1116 
1117 2,
1118 0,
1119 
1120 82,
1121 0,
1122 
1123 93,
1124 0,
1125 
1126 87,
1127 0,
1128 
1129 91,
1130 0,
1131 
1132 83,
1133 0,
1134 
1135 89,
1136 0,
1137 
1138 85,
1139 0,
1140 
1141 94,
1142 0,
1143 
1144 96,
1145 0,
1146 
1147 88,
1148 0,
1149 
1150 92,
1151 0,
1152 
1153 84,
1154 0,
1155 
1156 90,
1157 0,
1158 
1159 86,
1160 0,
1161 
1162 65,
1163 0,
1164 
1165 76,
1166 0,
1167 
1168 5,
1169 0,
1170 
1171 76,
1172 0,
1173 
1174 32,
1175 0,
1176 
1177 58,
1178 0,
1179 
1180 8,
1181 58,
1182 0,
1183 
1184 58,
1185 0,
1186 
1187 58,
1188 0,
1189 
1190 58,
1191 0,
1192 
1193 58,
1194 0,
1195 
1196 58,
1197 0,
1198 
1199 56,
1200 58,
1201 0,
1202 
1203 38,
1204 58,
1205 0,
1206 
1207 58,
1208 0,
1209 
1210 58,
1211 0,
1212 
1213 55,
1214 58,
1215 0,
1216 
1217 58,
1218 0,
1219 
1220 54,
1221 58,
1222 0,
1223 
1224 58,
1225 0,
1226 
1227 58,
1228 0,
1229 
1230 58,
1231 0,
1232 
1233 58,
1234 0,
1235 
1236 58,
1237 0,
1238 
1239 58,
1240 0,
1241 
1242 58,
1243 0,
1244 
1245 58,
1246 0,
1247 
1248 58,
1249 0,
1250 
1251 58,
1252 0,
1253 
1254 58,
1255 0,
1256 
1257 40,
1258 58,
1259 0,
1260 
1261 42,
1262 58,
1263 0,
1264 
1265 58,
1266 0,
1267 
1268 58,
1269 0,
1270 
1271 58,
1272 0,
1273 
1274 41,
1275 58,
1276 0,
1277 
1278 58,
1279 0,
1280 
1281 58,
1282 0,
1283 
1284 58,
1285 0,
1286 
1287 57,
1288 58,
1289 0,
1290 
1291 58,
1292 0,
1293 
1294 58,
1295 0,
1296 
1297 75,
1298 0,
1299 
1300 7,
1301 58,
1302 0,
1303 
1304 58,
1305 0,
1306 
1307 43,
1308 58,
1309 0,
1310 
1311 58,
1312 0,
1313 
1314 58,
1315 0,
1316 
1317 50,
1318 58,
1319 0,
1320 
1321 58,
1322 0,
1323 
1324 45,
1325 58,
1326 0,
1327 
1328 48,
1329 58,
1330 0,
1331 
1332 58,
1333 0,
1334 
1335 58,
1336 0,
1337 
1338 37,
1339 58,
1340 0,
1341 
1342 58,
1343 0,
1344 
1345 58,
1346 0,
1347 
1348 58,
1349 0,
1350 
1351 53,
1352 58,
1353 0,
1354 
1355 46,
1356 58,
1357 0,
1358 
1359 58,
1360 0,
1361 
1362 49,
1363 58,
1364 0,
1365 
1366 9,
1367 58,
1368 0,
1369 
1370 58,
1371 0,
1372 
1373 52,
1374 58,
1375 0,
1376 
1377 47,
1378 58,
1379 0,
1380 
1381 44,
1382 58,
1383 0,
1384 0};
1385 # define YYTYPE unsigned char
1386 struct yywork { YYTYPE verify, advance; } yycrank[] = {
1387 0,0,	0,0,	3,15,	3,16,
1388 4,54,	3,17,	4,55,	30,97,
1389 39,107,	3,18,	4,18,	3,19,
1390 4,19,	3,20,	4,56,	3,21,
1391 4,21,	3,22,	4,22,	3,23,
1392 4,23,	23,86,	0,0,	0,0,
1393 0,0,	3,24,	4,24,	3,25,
1394 4,25,	3,26,	4,26,	3,27,
1395 4,27,	3,28,	4,28,	3,29,
1396 0,0,	6,59,	0,0,	3,30,
1397 4,30,	3,31,	4,31,	3,32,
1398 4,32,	3,33,	4,33,	22,85,
1399 18,81,	3,34,	21,83,	3,35,
1400 4,35,	24,87,	21,83,	3,36,
1401 4,36,	25,88,	26,90,	27,92,
1402 27,92,	27,92,	28,93,	3,37,
1403 4,37,	29,94,	31,98,	3,38,
1404 4,38,	29,95,	29,95,	29,95,
1405 26,91,	25,89,	32,99,	3,39,
1406 4,39,	8,63,	33,100,	8,64,
1407 33,101,	41,102,	21,84,	21,84,
1408 21,84,	3,40,	4,40,	3,41,
1409 4,41,	29,96,	36,102,	3,42,
1410 4,42,	3,43,	4,43,	3,44,
1411 4,44,	43,102,	36,104,	3,45,
1412 4,45,	6,60,	40,102,	3,46,
1413 4,46,	3,47,	4,47,	44,102,
1414 48,102,	3,48,	4,48,	5,57,
1415 5,57,	75,144,	5,58,	3,49,
1416 4,49,	37,102,	173,190,	37,105,
1417 5,59,	3,50,	4,50,	7,61,
1418 7,61,	29,96,	7,62,	3,51,
1419 4,51,	3,52,	4,52,	3,53,
1420 4,53,	41,109,	11,65,	11,65,
1421 18,82,	11,66,	38,102,	13,79,
1422 13,79,	51,124,	13,80,	44,113,
1423 5,57,	0,0,	42,102,	11,67,
1424 49,102,	43,112,	45,102,	60,130,
1425 38,106,	11,68,	46,102,	11,69,
1426 7,61,	11,70,	5,57,	11,71,
1427 40,108,	47,102,	104,151,	11,72,
1428 104,102,	11,73,	48,119,	11,65,
1429 50,102,	52,125,	7,61,	52,126,
1430 13,79,	52,125,	109,102,	56,128,
1431 56,128,	12,67,	56,129,	11,74,
1432 112,102,	11,65,	106,102,	12,68,
1433 5,60,	12,69,	13,79,	12,70,
1434 45,114,	12,71,	46,116,	110,102,
1435 106,152,	12,72,	42,110,	12,73,
1436 7,63,	47,118,	7,64,	83,83,
1437 45,115,	113,102,	49,120,	83,83,
1438 49,121,	11,75,	46,117,	11,76,
1439 56,128,	12,74,	50,123,	11,77,
1440 49,122,	54,127,	42,111,	60,131,
1441 63,137,	54,127,	63,138,	84,84,
1442 84,84,	84,84,	56,128,	54,128,
1443 109,154,	60,132,	63,139,	76,145,
1444 76,145,	92,96,	76,146,	108,102,
1445 103,102,	60,133,	63,140,	12,75,
1446 103,150,	12,76,	112,158,	117,102,
1447 96,148,	12,77,	96,148,	119,102,
1448 0,0,	60,134,	63,141,	122,102,
1449 96,149,	96,149,	96,149,	110,155,
1450 152,102,	60,135,	63,142,	150,102,
1451 152,173,	60,136,	63,143,	11,78,
1452 76,147,	150,172,	201,208,	113,159,
1453 201,102,	92,96,	0,0,	108,153,
1454 94,94,	94,94,	94,94,	0,0,
1455 118,102,	0,0,	76,145,	0,0,
1456 0,0,	122,169,	0,0,	117,163,
1457 147,171,	147,171,	147,171,	121,102,
1458 148,149,	148,149,	148,149,	119,165,
1459 94,96,	12,78,	34,0,	34,0,
1460 34,0,	34,0,	34,0,	34,0,
1461 34,0,	34,0,	34,0,	34,0,
1462 34,0,	34,0,	34,0,	34,0,
1463 34,0,	34,0,	34,0,	34,0,
1464 34,0,	34,0,	34,0,	34,0,
1465 34,0,	34,0,	34,0,	34,0,
1466 34,0,	34,0,	34,0,	34,0,
1467 34,0,	34,0,	34,0,	34,102,
1468 94,96,	111,102,	34,0,	34,0,
1469 34,0,	34,0,	34,0,	34,0,
1470 34,0,	34,0,	34,0,	34,0,
1471 34,0,	34,102,	115,102,	116,102,
1472 118,164,	121,168,	123,102,	120,102,
1473 154,102,	153,102,	155,102,	156,102,
1474 159,102,	160,102,	162,102,	164,102,
1475 165,102,	166,102,	167,102,	170,102,
1476 171,188,	171,188,	171,188,	174,102,
1477 34,0,	34,0,	34,0,	34,0,
1478 34,0,	34,0,	34,0,	34,0,
1479 34,0,	111,156,	34,0,	168,102,
1480 115,160,	153,174,	169,102,	172,102,
1481 180,102,	182,102,	183,102,	111,157,
1482 184,102,	0,0,	155,176,	172,189,
1483 190,102,	160,179,	123,170,	175,102,
1484 178,102,	116,162,	162,180,	120,166,
1485 190,201,	0,0,	195,102,	0,0,
1486 159,178,	166,183,	167,184,	179,102,
1487 115,161,	120,167,	165,182,	170,187,
1488 186,102,	174,191,	154,175,	198,102,
1489 202,102,	156,177,	199,102,	0,0,
1490 0,0,	164,181,	34,0,	34,0,
1491 34,0,	34,0,	34,0,	34,0,
1492 34,0,	34,0,	34,0,	34,0,
1493 34,0,	34,0,	34,0,	35,102,
1494 35,102,	35,102,	184,198,	175,192,
1495 178,193,	168,185,	169,186,	187,102,
1496 195,204,	0,0,	180,195,	182,196,
1497 183,197,	35,102,	35,102,	35,102,
1498 35,102,	35,102,	35,102,	35,103,
1499 35,102,	35,102,	35,102,	35,102,
1500 35,102,	35,102,	35,102,	35,102,
1501 35,102,	35,102,	35,102,	35,102,
1502 35,102,	35,102,	35,102,	35,102,
1503 0,0,	0,0,	186,199,	179,194,
1504 199,207,	198,206,	0,0,	187,200,
1505 202,209,	35,102,	0,0,	35,102,
1506 35,102,	35,102,	35,102,	35,102,
1507 35,102,	35,102,	35,102,	35,102,
1508 35,102,	35,102,	35,102,	35,102,
1509 35,102,	35,102,	35,102,	35,102,
1510 35,102,	35,102,	35,102,	35,102,
1511 35,102,	35,102,	35,102,	35,102,
1512 35,102,	35,102,	35,102,	35,102,
1513 35,102,	35,102,	35,102,	35,102,
1514 35,102,	35,102,	35,102,	35,102,
1515 35,102,	35,102,	35,102,	35,102,
1516 35,102,	35,102,	102,0,	102,0,
1517 102,0,	102,0,	102,0,	102,0,
1518 102,0,	102,0,	102,0,	102,0,
1519 102,0,	102,0,	102,0,	102,0,
1520 102,0,	102,0,	102,0,	102,0,
1521 102,0,	102,0,	102,0,	102,0,
1522 102,0,	102,0,	102,0,	102,0,
1523 102,0,	102,0,	102,0,	102,0,
1524 102,0,	102,0,	102,0,	192,102,
1525 193,102,	0,0,	102,0,	102,0,
1526 102,0,	102,0,	102,0,	102,0,
1527 102,0,	102,0,	102,0,	102,0,
1528 102,0,	196,102,	0,0,	206,102,
1529 203,102,	0,0,	209,102,	0,0,
1530 0,0,	0,0,	0,0,	0,0,
1531 0,0,	0,0,	0,0,	0,0,
1532 0,0,	0,0,	0,0,	0,0,
1533 0,0,	0,0,	0,0,	0,0,
1534 102,0,	102,0,	102,0,	102,0,
1535 102,0,	102,0,	102,0,	102,0,
1536 102,0,	0,0,	102,0,	0,0,
1537 0,0,	192,202,	193,203,	196,205,
1538 203,210,	206,211,	209,212,	0,0,
1539 0,0,	0,0,	0,0,	0,0,
1540 0,0,	0,0,	0,0,	0,0,
1541 0,0,	0,0,	0,0,	0,0,
1542 0,0,	0,0,	0,0,	0,0,
1543 0,0,	0,0,	0,0,	0,0,
1544 0,0,	0,0,	0,0,	0,0,
1545 0,0,	0,0,	0,0,	0,0,
1546 0,0,	0,0,	0,0,	0,0,
1547 0,0,	0,0,	102,0,	102,0,
1548 102,0,	102,0,	102,0,	102,0,
1549 102,0,	102,0,	102,0,	102,0,
1550 102,0,	102,0,	102,0,	105,0,
1551 105,0,	105,0,	105,0,	105,0,
1552 105,0,	105,0,	105,0,	105,0,
1553 105,0,	105,0,	105,0,	105,0,
1554 105,0,	105,0,	105,0,	105,0,
1555 105,0,	105,0,	105,0,	105,0,
1556 105,0,	105,0,	105,0,	105,0,
1557 105,0,	105,0,	105,0,	105,0,
1558 105,0,	105,0,	105,0,	105,0,
1559 0,0,	0,0,	0,0,	105,0,
1560 105,0,	105,0,	105,0,	105,0,
1561 105,0,	105,0,	105,0,	105,0,
1562 105,0,	105,0,	0,0,	0,0,
1563 0,0,	0,0,	0,0,	0,0,
1564 0,0,	0,0,	0,0,	0,0,
1565 0,0,	0,0,	0,0,	0,0,
1566 0,0,	0,0,	0,0,	0,0,
1567 0,0,	0,0,	0,0,	0,0,
1568 0,0,	105,0,	105,0,	105,0,
1569 105,0,	105,0,	105,0,	105,0,
1570 105,0,	105,0,	0,0,	105,0,
1571 0,0,	0,0,	0,0,	0,0,
1572 0,0,	0,0,	0,0,	0,0,
1573 0,0,	0,0,	0,0,	0,0,
1574 0,0,	0,0,	0,0,	0,0,
1575 0,0,	0,0,	0,0,	0,0,
1576 0,0,	0,0,	0,0,	0,0,
1577 0,0,	0,0,	0,0,	0,0,
1578 0,0,	0,0,	0,0,	0,0,
1579 0,0,	0,0,	0,0,	0,0,
1580 0,0,	0,0,	0,0,	0,0,
1581 0,0,	0,0,	0,0,	105,0,
1582 105,0,	105,0,	105,0,	105,0,
1583 105,0,	105,0,	105,0,	105,0,
1584 105,0,	105,0,	105,0,	105,0,
1585 114,0,	114,0,	114,0,	114,0,
1586 114,0,	114,0,	114,0,	114,0,
1587 114,0,	114,0,	114,0,	114,0,
1588 114,0,	114,0,	114,0,	114,0,
1589 114,0,	114,0,	114,0,	114,0,
1590 114,0,	114,0,	114,0,	114,0,
1591 114,0,	114,0,	114,0,	114,0,
1592 114,0,	114,0,	114,0,	114,0,
1593 114,0,	0,0,	0,0,	0,0,
1594 114,0,	114,0,	114,0,	114,0,
1595 114,0,	114,0,	114,0,	114,0,
1596 114,0,	114,0,	114,0,	0,0,
1597 0,0,	0,0,	0,0,	0,0,
1598 0,0,	0,0,	0,0,	0,0,
1599 0,0,	0,0,	0,0,	0,0,
1600 0,0,	0,0,	0,0,	0,0,
1601 0,0,	0,0,	0,0,	0,0,
1602 0,0,	0,0,	114,0,	114,0,
1603 114,0,	114,0,	114,0,	114,0,
1604 114,0,	114,0,	114,0,	0,0,
1605 114,0,	0,0,	0,0,	0,0,
1606 0,0,	0,0,	0,0,	0,0,
1607 0,0,	0,0,	0,0,	0,0,
1608 0,0,	0,0,	0,0,	0,0,
1609 0,0,	0,0,	0,0,	0,0,
1610 0,0,	0,0,	0,0,	0,0,
1611 0,0,	0,0,	0,0,	0,0,
1612 0,0,	0,0,	0,0,	0,0,
1613 0,0,	0,0,	0,0,	0,0,
1614 0,0,	0,0,	0,0,	0,0,
1615 0,0,	0,0,	0,0,	0,0,
1616 114,0,	114,0,	114,0,	114,0,
1617 114,0,	114,0,	114,0,	114,0,
1618 114,0,	114,0,	114,0,	114,0,
1619 114,0,	151,0,	151,0,	151,0,
1620 151,0,	151,0,	151,0,	151,0,
1621 151,0,	151,0,	151,0,	151,0,
1622 151,0,	151,0,	151,0,	151,0,
1623 151,0,	151,0,	151,0,	151,0,
1624 151,0,	151,0,	151,0,	151,0,
1625 151,0,	151,0,	151,0,	151,0,
1626 151,0,	151,0,	151,0,	151,0,
1627 151,0,	151,0,	0,0,	0,0,
1628 0,0,	151,0,	151,0,	151,0,
1629 151,0,	151,0,	151,0,	151,0,
1630 151,0,	151,0,	151,0,	151,0,
1631 0,0,	0,0,	0,0,	0,0,
1632 0,0,	0,0,	0,0,	0,0,
1633 0,0,	0,0,	0,0,	0,0,
1634 0,0,	0,0,	0,0,	0,0,
1635 0,0,	0,0,	0,0,	0,0,
1636 0,0,	0,0,	0,0,	151,0,
1637 151,0,	151,0,	151,0,	151,0,
1638 151,0,	151,0,	151,0,	151,0,
1639 0,0,	151,0,	0,0,	0,0,
1640 0,0,	0,0,	0,0,	0,0,
1641 0,0,	0,0,	0,0,	0,0,
1642 0,0,	0,0,	0,0,	0,0,
1643 0,0,	0,0,	0,0,	0,0,
1644 0,0,	0,0,	0,0,	0,0,
1645 0,0,	0,0,	0,0,	0,0,
1646 0,0,	0,0,	0,0,	0,0,
1647 0,0,	0,0,	0,0,	0,0,
1648 0,0,	0,0,	0,0,	0,0,
1649 0,0,	0,0,	0,0,	0,0,
1650 0,0,	151,0,	151,0,	151,0,
1651 151,0,	151,0,	151,0,	151,0,
1652 151,0,	151,0,	151,0,	151,0,
1653 151,0,	151,0,	157,0,	157,0,
1654 157,0,	157,0,	157,0,	157,0,
1655 157,0,	157,0,	157,0,	157,0,
1656 157,0,	157,0,	157,0,	157,0,
1657 157,0,	157,0,	157,0,	157,0,
1658 157,0,	157,0,	157,0,	157,0,
1659 157,0,	157,0,	157,0,	157,0,
1660 157,0,	157,0,	157,0,	157,0,
1661 157,0,	157,0,	157,0,	0,0,
1662 0,0,	0,0,	157,0,	157,0,
1663 157,0,	157,0,	157,0,	157,0,
1664 157,0,	157,0,	157,0,	157,0,
1665 157,0,	0,0,	0,0,	0,0,
1666 0,0,	0,0,	0,0,	0,0,
1667 0,0,	0,0,	0,0,	0,0,
1668 0,0,	0,0,	0,0,	0,0,
1669 0,0,	0,0,	0,0,	0,0,
1670 0,0,	0,0,	0,0,	0,0,
1671 157,0,	157,0,	157,0,	157,0,
1672 157,0,	157,0,	157,0,	157,0,
1673 157,0,	0,0,	157,0,	0,0,
1674 0,0,	0,0,	0,0,	0,0,
1675 0,0,	0,0,	0,0,	0,0,
1676 0,0,	0,0,	0,0,	0,0,
1677 0,0,	0,0,	0,0,	0,0,
1678 0,0,	0,0,	0,0,	0,0,
1679 0,0,	0,0,	0,0,	0,0,
1680 0,0,	0,0,	0,0,	0,0,
1681 0,0,	0,0,	0,0,	0,0,
1682 0,0,	0,0,	0,0,	0,0,
1683 0,0,	0,0,	0,0,	0,0,
1684 0,0,	0,0,	157,0,	157,0,
1685 157,0,	157,0,	157,0,	157,0,
1686 157,0,	157,0,	157,0,	157,0,
1687 157,0,	157,0,	157,0,	158,0,
1688 158,0,	158,0,	158,0,	158,0,
1689 158,0,	158,0,	158,0,	158,0,
1690 158,0,	158,0,	158,0,	158,0,
1691 158,0,	158,0,	158,0,	158,0,
1692 158,0,	158,0,	158,0,	158,0,
1693 158,0,	158,0,	158,0,	158,0,
1694 158,0,	158,0,	158,0,	158,0,
1695 158,0,	158,0,	158,0,	158,0,
1696 0,0,	0,0,	0,0,	158,0,
1697 158,0,	158,0,	158,0,	158,0,
1698 158,0,	158,0,	158,0,	158,0,
1699 158,0,	158,0,	0,0,	0,0,
1700 0,0,	0,0,	0,0,	0,0,
1701 0,0,	0,0,	0,0,	0,0,
1702 0,0,	0,0,	0,0,	0,0,
1703 0,0,	0,0,	0,0,	0,0,
1704 0,0,	0,0,	0,0,	0,0,
1705 0,0,	158,0,	158,0,	158,0,
1706 158,0,	158,0,	158,0,	158,0,
1707 158,0,	158,0,	0,0,	158,0,
1708 0,0,	0,0,	0,0,	0,0,
1709 0,0,	0,0,	0,0,	0,0,
1710 0,0,	0,0,	0,0,	0,0,
1711 0,0,	0,0,	0,0,	0,0,
1712 0,0,	0,0,	0,0,	0,0,
1713 0,0,	0,0,	0,0,	0,0,
1714 0,0,	0,0,	0,0,	0,0,
1715 0,0,	0,0,	0,0,	0,0,
1716 0,0,	0,0,	0,0,	0,0,
1717 0,0,	0,0,	0,0,	0,0,
1718 0,0,	0,0,	0,0,	158,0,
1719 158,0,	158,0,	158,0,	158,0,
1720 158,0,	158,0,	158,0,	158,0,
1721 158,0,	158,0,	158,0,	158,0,
1722 161,0,	161,0,	161,0,	161,0,
1723 161,0,	161,0,	161,0,	161,0,
1724 161,0,	161,0,	161,0,	161,0,
1725 161,0,	161,0,	161,0,	161,0,
1726 161,0,	161,0,	161,0,	161,0,
1727 161,0,	161,0,	161,0,	161,0,
1728 161,0,	161,0,	161,0,	161,0,
1729 161,0,	161,0,	161,0,	161,0,
1730 161,0,	0,0,	0,0,	0,0,
1731 161,0,	161,0,	161,0,	161,0,
1732 161,0,	161,0,	161,0,	161,0,
1733 161,0,	161,0,	161,0,	0,0,
1734 0,0,	0,0,	0,0,	0,0,
1735 0,0,	0,0,	0,0,	0,0,
1736 0,0,	0,0,	0,0,	0,0,
1737 0,0,	0,0,	0,0,	0,0,
1738 0,0,	0,0,	0,0,	0,0,
1739 0,0,	0,0,	161,0,	161,0,
1740 161,0,	161,0,	161,0,	161,0,
1741 161,0,	161,0,	161,0,	0,0,
1742 161,0,	0,0,	0,0,	0,0,
1743 0,0,	0,0,	0,0,	0,0,
1744 0,0,	0,0,	0,0,	0,0,
1745 0,0,	0,0,	0,0,	0,0,
1746 0,0,	0,0,	0,0,	0,0,
1747 0,0,	0,0,	0,0,	0,0,
1748 0,0,	0,0,	0,0,	0,0,
1749 0,0,	0,0,	0,0,	0,0,
1750 0,0,	0,0,	0,0,	0,0,
1751 0,0,	0,0,	0,0,	0,0,
1752 0,0,	0,0,	0,0,	0,0,
1753 161,0,	161,0,	161,0,	161,0,
1754 161,0,	161,0,	161,0,	161,0,
1755 161,0,	161,0,	161,0,	161,0,
1756 161,0,	163,0,	163,0,	163,0,
1757 163,0,	163,0,	163,0,	163,0,
1758 163,0,	163,0,	163,0,	163,0,
1759 163,0,	163,0,	163,0,	163,0,
1760 163,0,	163,0,	163,0,	163,0,
1761 163,0,	163,0,	163,0,	163,0,
1762 163,0,	163,0,	163,0,	163,0,
1763 163,0,	163,0,	163,0,	163,0,
1764 163,0,	163,0,	0,0,	0,0,
1765 0,0,	163,0,	163,0,	163,0,
1766 163,0,	163,0,	163,0,	163,0,
1767 163,0,	163,0,	163,0,	163,0,
1768 0,0,	0,0,	0,0,	0,0,
1769 0,0,	0,0,	0,0,	0,0,
1770 0,0,	0,0,	0,0,	0,0,
1771 0,0,	0,0,	0,0,	0,0,
1772 0,0,	0,0,	0,0,	0,0,
1773 0,0,	0,0,	0,0,	163,0,
1774 163,0,	163,0,	163,0,	163,0,
1775 163,0,	163,0,	163,0,	163,0,
1776 0,0,	163,0,	0,0,	0,0,
1777 0,0,	0,0,	0,0,	0,0,
1778 0,0,	0,0,	0,0,	0,0,
1779 0,0,	0,0,	0,0,	0,0,
1780 0,0,	0,0,	0,0,	0,0,
1781 0,0,	0,0,	0,0,	0,0,
1782 0,0,	0,0,	0,0,	0,0,
1783 0,0,	0,0,	0,0,	0,0,
1784 0,0,	0,0,	0,0,	0,0,
1785 0,0,	0,0,	0,0,	0,0,
1786 0,0,	0,0,	0,0,	0,0,
1787 0,0,	163,0,	163,0,	163,0,
1788 163,0,	163,0,	163,0,	163,0,
1789 163,0,	163,0,	163,0,	163,0,
1790 163,0,	163,0,	176,0,	176,0,
1791 176,0,	176,0,	176,0,	176,0,
1792 176,0,	176,0,	176,0,	176,0,
1793 176,0,	176,0,	176,0,	176,0,
1794 176,0,	176,0,	176,0,	176,0,
1795 176,0,	176,0,	176,0,	176,0,
1796 176,0,	176,0,	176,0,	176,0,
1797 176,0,	176,0,	176,0,	176,0,
1798 176,0,	176,0,	176,0,	0,0,
1799 0,0,	0,0,	176,0,	176,0,
1800 176,0,	176,0,	176,0,	176,0,
1801 176,0,	176,0,	176,0,	176,0,
1802 176,0,	0,0,	0,0,	0,0,
1803 0,0,	0,0,	0,0,	0,0,
1804 0,0,	0,0,	0,0,	0,0,
1805 0,0,	0,0,	0,0,	0,0,
1806 0,0,	0,0,	0,0,	0,0,
1807 0,0,	0,0,	0,0,	0,0,
1808 176,0,	176,0,	176,0,	176,0,
1809 176,0,	176,0,	176,0,	176,0,
1810 176,0,	0,0,	176,0,	0,0,
1811 0,0,	0,0,	0,0,	0,0,
1812 0,0,	0,0,	0,0,	0,0,
1813 0,0,	0,0,	0,0,	0,0,
1814 0,0,	0,0,	0,0,	0,0,
1815 0,0,	0,0,	0,0,	0,0,
1816 0,0,	0,0,	0,0,	0,0,
1817 0,0,	0,0,	0,0,	0,0,
1818 0,0,	0,0,	0,0,	0,0,
1819 0,0,	0,0,	0,0,	0,0,
1820 0,0,	0,0,	0,0,	0,0,
1821 0,0,	0,0,	176,0,	176,0,
1822 176,0,	176,0,	176,0,	176,0,
1823 176,0,	176,0,	176,0,	176,0,
1824 176,0,	176,0,	176,0,	177,0,
1825 177,0,	177,0,	177,0,	177,0,
1826 177,0,	177,0,	177,0,	177,0,
1827 177,0,	177,0,	177,0,	177,0,
1828 177,0,	177,0,	177,0,	177,0,
1829 177,0,	177,0,	177,0,	177,0,
1830 177,0,	177,0,	177,0,	177,0,
1831 177,0,	177,0,	177,0,	177,0,
1832 177,0,	177,0,	177,0,	177,0,
1833 0,0,	0,0,	0,0,	177,0,
1834 177,0,	177,0,	177,0,	177,0,
1835 177,0,	177,0,	177,0,	177,0,
1836 177,0,	177,0,	0,0,	0,0,
1837 0,0,	0,0,	0,0,	0,0,
1838 0,0,	0,0,	0,0,	0,0,
1839 0,0,	0,0,	0,0,	0,0,
1840 0,0,	0,0,	0,0,	0,0,
1841 0,0,	0,0,	0,0,	0,0,
1842 0,0,	177,0,	177,0,	177,0,
1843 177,0,	177,0,	177,0,	177,0,
1844 177,0,	177,0,	0,0,	177,0,
1845 0,0,	0,0,	0,0,	0,0,
1846 0,0,	0,0,	0,0,	0,0,
1847 0,0,	0,0,	0,0,	0,0,
1848 0,0,	0,0,	0,0,	0,0,
1849 0,0,	0,0,	0,0,	0,0,
1850 0,0,	0,0,	0,0,	0,0,
1851 0,0,	0,0,	0,0,	0,0,
1852 0,0,	0,0,	0,0,	0,0,
1853 0,0,	0,0,	0,0,	0,0,
1854 0,0,	0,0,	0,0,	0,0,
1855 0,0,	0,0,	0,0,	177,0,
1856 177,0,	177,0,	177,0,	177,0,
1857 177,0,	177,0,	177,0,	177,0,
1858 177,0,	177,0,	177,0,	177,0,
1859 181,0,	181,0,	181,0,	181,0,
1860 181,0,	181,0,	181,0,	181,0,
1861 181,0,	181,0,	181,0,	181,0,
1862 181,0,	181,0,	181,0,	181,0,
1863 181,0,	181,0,	181,0,	181,0,
1864 181,0,	181,0,	181,0,	181,0,
1865 181,0,	181,0,	181,0,	181,0,
1866 181,0,	181,0,	181,0,	181,0,
1867 181,0,	0,0,	0,0,	0,0,
1868 181,0,	181,0,	181,0,	181,0,
1869 181,0,	181,0,	181,0,	181,0,
1870 181,0,	181,0,	181,0,	0,0,
1871 0,0,	0,0,	0,0,	0,0,
1872 0,0,	0,0,	0,0,	0,0,
1873 0,0,	0,0,	0,0,	0,0,
1874 0,0,	0,0,	0,0,	0,0,
1875 0,0,	0,0,	0,0,	0,0,
1876 0,0,	0,0,	181,0,	181,0,
1877 181,0,	181,0,	181,0,	181,0,
1878 181,0,	181,0,	181,0,	0,0,
1879 181,0,	0,0,	0,0,	0,0,
1880 0,0,	0,0,	0,0,	0,0,
1881 0,0,	0,0,	0,0,	0,0,
1882 0,0,	0,0,	0,0,	0,0,
1883 0,0,	0,0,	0,0,	0,0,
1884 0,0,	0,0,	0,0,	0,0,
1885 0,0,	0,0,	0,0,	0,0,
1886 0,0,	0,0,	0,0,	0,0,
1887 0,0,	0,0,	0,0,	0,0,
1888 0,0,	0,0,	0,0,	0,0,
1889 0,0,	0,0,	0,0,	0,0,
1890 181,0,	181,0,	181,0,	181,0,
1891 181,0,	181,0,	181,0,	181,0,
1892 181,0,	181,0,	181,0,	181,0,
1893 181,0,	185,0,	185,0,	185,0,
1894 185,0,	185,0,	185,0,	185,0,
1895 185,0,	185,0,	185,0,	185,0,
1896 185,0,	185,0,	185,0,	185,0,
1897 185,0,	185,0,	185,0,	185,0,
1898 185,0,	185,0,	185,0,	185,0,
1899 185,0,	185,0,	185,0,	185,0,
1900 185,0,	185,0,	185,0,	185,0,
1901 185,0,	185,0,	0,0,	0,0,
1902 0,0,	185,0,	185,0,	185,0,
1903 185,0,	185,0,	185,0,	185,0,
1904 185,0,	185,0,	185,0,	185,0,
1905 0,0,	0,0,	0,0,	0,0,
1906 0,0,	0,0,	0,0,	0,0,
1907 0,0,	0,0,	0,0,	0,0,
1908 0,0,	0,0,	0,0,	0,0,
1909 0,0,	0,0,	0,0,	0,0,
1910 0,0,	0,0,	0,0,	185,0,
1911 185,0,	185,0,	185,0,	185,0,
1912 185,0,	185,0,	185,0,	185,0,
1913 0,0,	185,0,	0,0,	0,0,
1914 0,0,	0,0,	0,0,	0,0,
1915 0,0,	0,0,	0,0,	0,0,
1916 0,0,	0,0,	0,0,	0,0,
1917 0,0,	0,0,	0,0,	0,0,
1918 0,0,	0,0,	0,0,	0,0,
1919 0,0,	0,0,	0,0,	0,0,
1920 0,0,	0,0,	0,0,	0,0,
1921 0,0,	0,0,	0,0,	0,0,
1922 0,0,	0,0,	0,0,	0,0,
1923 0,0,	0,0,	0,0,	0,0,
1924 0,0,	185,0,	185,0,	185,0,
1925 185,0,	185,0,	185,0,	185,0,
1926 185,0,	185,0,	185,0,	185,0,
1927 185,0,	185,0,	189,0,	189,0,
1928 189,0,	189,0,	189,0,	189,0,
1929 189,0,	189,0,	189,0,	189,0,
1930 189,0,	189,0,	189,0,	189,0,
1931 189,0,	189,0,	189,0,	189,0,
1932 189,0,	189,0,	189,0,	189,0,
1933 189,0,	189,0,	189,0,	189,0,
1934 189,0,	189,0,	189,0,	189,0,
1935 189,0,	189,0,	189,0,	0,0,
1936 0,0,	0,0,	189,0,	189,0,
1937 189,0,	189,0,	189,0,	189,0,
1938 189,0,	189,0,	189,0,	189,0,
1939 189,0,	0,0,	0,0,	0,0,
1940 0,0,	0,0,	0,0,	0,0,
1941 0,0,	0,0,	0,0,	0,0,
1942 0,0,	0,0,	0,0,	0,0,
1943 0,0,	0,0,	0,0,	0,0,
1944 0,0,	0,0,	0,0,	0,0,
1945 189,0,	189,0,	189,0,	189,0,
1946 189,0,	189,0,	189,0,	189,0,
1947 189,0,	0,0,	189,0,	0,0,
1948 0,0,	0,0,	0,0,	0,0,
1949 0,0,	0,0,	0,0,	0,0,
1950 0,0,	0,0,	0,0,	0,0,
1951 0,0,	0,0,	0,0,	0,0,
1952 0,0,	0,0,	0,0,	0,0,
1953 0,0,	0,0,	0,0,	0,0,
1954 0,0,	0,0,	0,0,	0,0,
1955 0,0,	0,0,	0,0,	0,0,
1956 0,0,	0,0,	0,0,	0,0,
1957 0,0,	0,0,	0,0,	0,0,
1958 0,0,	0,0,	189,0,	189,0,
1959 189,0,	189,0,	189,0,	189,0,
1960 189,0,	189,0,	189,0,	189,0,
1961 189,0,	189,0,	189,0,	191,0,
1962 191,0,	191,0,	191,0,	191,0,
1963 191,0,	191,0,	191,0,	191,0,
1964 191,0,	191,0,	191,0,	191,0,
1965 191,0,	191,0,	191,0,	191,0,
1966 191,0,	191,0,	191,0,	191,0,
1967 191,0,	191,0,	191,0,	191,0,
1968 191,0,	191,0,	191,0,	191,0,
1969 191,0,	191,0,	191,0,	191,0,
1970 0,0,	0,0,	0,0,	191,0,
1971 191,0,	191,0,	191,0,	191,0,
1972 191,0,	191,0,	191,0,	191,0,
1973 191,0,	191,0,	0,0,	0,0,
1974 0,0,	0,0,	0,0,	0,0,
1975 0,0,	0,0,	0,0,	0,0,
1976 0,0,	0,0,	0,0,	0,0,
1977 0,0,	0,0,	0,0,	0,0,
1978 0,0,	0,0,	0,0,	0,0,
1979 0,0,	191,0,	191,0,	191,0,
1980 191,0,	191,0,	191,0,	191,0,
1981 191,0,	191,0,	0,0,	191,0,
1982 0,0,	0,0,	0,0,	0,0,
1983 0,0,	0,0,	0,0,	0,0,
1984 0,0,	0,0,	0,0,	0,0,
1985 0,0,	0,0,	0,0,	0,0,
1986 0,0,	0,0,	0,0,	0,0,
1987 0,0,	0,0,	0,0,	0,0,
1988 0,0,	0,0,	0,0,	0,0,
1989 0,0,	0,0,	0,0,	0,0,
1990 0,0,	0,0,	0,0,	0,0,
1991 0,0,	0,0,	0,0,	0,0,
1992 0,0,	0,0,	0,0,	191,0,
1993 191,0,	191,0,	191,0,	191,0,
1994 191,0,	191,0,	191,0,	191,0,
1995 191,0,	191,0,	191,0,	191,0,
1996 194,0,	194,0,	194,0,	194,0,
1997 194,0,	194,0,	194,0,	194,0,
1998 194,0,	194,0,	194,0,	194,0,
1999 194,0,	194,0,	194,0,	194,0,
2000 194,0,	194,0,	194,0,	194,0,
2001 194,0,	194,0,	194,0,	194,0,
2002 194,0,	194,0,	194,0,	194,0,
2003 194,0,	194,0,	194,0,	194,0,
2004 194,0,	0,0,	0,0,	0,0,
2005 194,0,	194,0,	194,0,	194,0,
2006 194,0,	194,0,	194,0,	194,0,
2007 194,0,	194,0,	194,0,	0,0,
2008 0,0,	0,0,	0,0,	0,0,
2009 0,0,	0,0,	0,0,	0,0,
2010 0,0,	0,0,	0,0,	0,0,
2011 0,0,	0,0,	0,0,	0,0,
2012 0,0,	0,0,	0,0,	0,0,
2013 0,0,	0,0,	194,0,	194,0,
2014 194,0,	194,0,	194,0,	194,0,
2015 194,0,	194,0,	194,0,	0,0,
2016 194,0,	0,0,	0,0,	0,0,
2017 0,0,	0,0,	0,0,	0,0,
2018 0,0,	0,0,	0,0,	0,0,
2019 0,0,	0,0,	0,0,	0,0,
2020 0,0,	0,0,	0,0,	0,0,
2021 0,0,	0,0,	0,0,	0,0,
2022 0,0,	0,0,	0,0,	0,0,
2023 0,0,	0,0,	0,0,	0,0,
2024 0,0,	0,0,	0,0,	0,0,
2025 0,0,	0,0,	0,0,	0,0,
2026 0,0,	0,0,	0,0,	0,0,
2027 194,0,	194,0,	194,0,	194,0,
2028 194,0,	194,0,	194,0,	194,0,
2029 194,0,	194,0,	194,0,	194,0,
2030 194,0,	197,0,	197,0,	197,0,
2031 197,0,	197,0,	197,0,	197,0,
2032 197,0,	197,0,	197,0,	197,0,
2033 197,0,	197,0,	197,0,	197,0,
2034 197,0,	197,0,	197,0,	197,0,
2035 197,0,	197,0,	197,0,	197,0,
2036 197,0,	197,0,	197,0,	197,0,
2037 197,0,	197,0,	197,0,	197,0,
2038 197,0,	197,0,	0,0,	0,0,
2039 0,0,	197,0,	197,0,	197,0,
2040 197,0,	197,0,	197,0,	197,0,
2041 197,0,	197,0,	197,0,	197,0,
2042 0,0,	0,0,	0,0,	0,0,
2043 0,0,	0,0,	0,0,	0,0,
2044 0,0,	0,0,	0,0,	0,0,
2045 0,0,	0,0,	0,0,	0,0,
2046 0,0,	0,0,	0,0,	0,0,
2047 0,0,	0,0,	0,0,	197,0,
2048 197,0,	197,0,	197,0,	197,0,
2049 197,0,	197,0,	197,0,	197,0,
2050 0,0,	197,0,	0,0,	0,0,
2051 0,0,	0,0,	0,0,	0,0,
2052 0,0,	0,0,	0,0,	0,0,
2053 0,0,	0,0,	0,0,	0,0,
2054 0,0,	0,0,	0,0,	0,0,
2055 0,0,	0,0,	0,0,	0,0,
2056 0,0,	0,0,	0,0,	0,0,
2057 0,0,	0,0,	0,0,	0,0,
2058 0,0,	0,0,	0,0,	0,0,
2059 0,0,	0,0,	0,0,	0,0,
2060 0,0,	0,0,	0,0,	0,0,
2061 0,0,	197,0,	197,0,	197,0,
2062 197,0,	197,0,	197,0,	197,0,
2063 197,0,	197,0,	197,0,	197,0,
2064 197,0,	197,0,	200,0,	200,0,
2065 200,0,	200,0,	200,0,	200,0,
2066 200,0,	200,0,	200,0,	200,0,
2067 200,0,	200,0,	200,0,	200,0,
2068 200,0,	200,0,	200,0,	200,0,
2069 200,0,	200,0,	200,0,	200,0,
2070 200,0,	200,0,	200,0,	200,0,
2071 200,0,	200,0,	200,0,	200,0,
2072 200,0,	200,0,	200,0,	0,0,
2073 0,0,	0,0,	200,0,	200,0,
2074 200,0,	200,0,	200,0,	200,0,
2075 200,0,	200,0,	200,0,	200,0,
2076 200,0,	0,0,	0,0,	0,0,
2077 0,0,	0,0,	0,0,	0,0,
2078 0,0,	0,0,	0,0,	0,0,
2079 0,0,	0,0,	0,0,	0,0,
2080 0,0,	0,0,	0,0,	0,0,
2081 0,0,	0,0,	0,0,	0,0,
2082 200,0,	200,0,	200,0,	200,0,
2083 200,0,	200,0,	200,0,	200,0,
2084 200,0,	0,0,	200,0,	0,0,
2085 0,0,	0,0,	0,0,	0,0,
2086 0,0,	0,0,	0,0,	0,0,
2087 0,0,	0,0,	0,0,	0,0,
2088 0,0,	0,0,	0,0,	0,0,
2089 0,0,	0,0,	0,0,	0,0,
2090 0,0,	0,0,	0,0,	0,0,
2091 0,0,	0,0,	0,0,	0,0,
2092 0,0,	0,0,	0,0,	0,0,
2093 0,0,	0,0,	0,0,	0,0,
2094 0,0,	0,0,	0,0,	0,0,
2095 0,0,	0,0,	200,0,	200,0,
2096 200,0,	200,0,	200,0,	200,0,
2097 200,0,	200,0,	200,0,	200,0,
2098 200,0,	200,0,	200,0,	204,0,
2099 204,0,	204,0,	204,0,	204,0,
2100 204,0,	204,0,	204,0,	204,0,
2101 204,0,	204,0,	204,0,	204,0,
2102 204,0,	204,0,	204,0,	204,0,
2103 204,0,	204,0,	204,0,	204,0,
2104 204,0,	204,0,	204,0,	204,0,
2105 204,0,	204,0,	204,0,	204,0,
2106 204,0,	204,0,	204,0,	204,0,
2107 0,0,	0,0,	0,0,	204,0,
2108 204,0,	204,0,	204,0,	204,0,
2109 204,0,	204,0,	204,0,	204,0,
2110 204,0,	204,0,	0,0,	0,0,
2111 0,0,	0,0,	0,0,	0,0,
2112 0,0,	0,0,	0,0,	0,0,
2113 0,0,	0,0,	0,0,	0,0,
2114 0,0,	0,0,	0,0,	0,0,
2115 0,0,	0,0,	0,0,	0,0,
2116 0,0,	204,0,	204,0,	204,0,
2117 204,0,	204,0,	204,0,	204,0,
2118 204,0,	204,0,	0,0,	204,0,
2119 0,0,	0,0,	0,0,	0,0,
2120 0,0,	0,0,	0,0,	0,0,
2121 0,0,	0,0,	0,0,	0,0,
2122 0,0,	0,0,	0,0,	0,0,
2123 0,0,	0,0,	0,0,	0,0,
2124 0,0,	0,0,	0,0,	0,0,
2125 0,0,	0,0,	0,0,	0,0,
2126 0,0,	0,0,	0,0,	0,0,
2127 0,0,	0,0,	0,0,	0,0,
2128 0,0,	0,0,	0,0,	0,0,
2129 0,0,	0,0,	0,0,	204,0,
2130 204,0,	204,0,	204,0,	204,0,
2131 204,0,	204,0,	204,0,	204,0,
2132 204,0,	204,0,	204,0,	204,0,
2133 205,0,	205,0,	205,0,	205,0,
2134 205,0,	205,0,	205,0,	205,0,
2135 205,0,	205,0,	205,0,	205,0,
2136 205,0,	205,0,	205,0,	205,0,
2137 205,0,	205,0,	205,0,	205,0,
2138 205,0,	205,0,	205,0,	205,0,
2139 205,0,	205,0,	205,0,	205,0,
2140 205,0,	205,0,	205,0,	205,0,
2141 205,0,	0,0,	0,0,	0,0,
2142 205,0,	205,0,	205,0,	205,0,
2143 205,0,	205,0,	205,0,	205,0,
2144 205,0,	205,0,	205,0,	0,0,
2145 0,0,	0,0,	0,0,	0,0,
2146 0,0,	0,0,	0,0,	0,0,
2147 0,0,	0,0,	0,0,	0,0,
2148 0,0,	0,0,	0,0,	0,0,
2149 0,0,	0,0,	0,0,	0,0,
2150 0,0,	0,0,	205,0,	205,0,
2151 205,0,	205,0,	205,0,	205,0,
2152 205,0,	205,0,	205,0,	0,0,
2153 205,0,	0,0,	0,0,	0,0,
2154 0,0,	0,0,	0,0,	0,0,
2155 0,0,	0,0,	0,0,	0,0,
2156 0,0,	0,0,	0,0,	0,0,
2157 0,0,	0,0,	0,0,	0,0,
2158 0,0,	0,0,	0,0,	0,0,
2159 0,0,	0,0,	0,0,	0,0,
2160 0,0,	0,0,	0,0,	0,0,
2161 0,0,	0,0,	0,0,	0,0,
2162 0,0,	0,0,	0,0,	0,0,
2163 0,0,	0,0,	0,0,	0,0,
2164 205,0,	205,0,	205,0,	205,0,
2165 205,0,	205,0,	205,0,	205,0,
2166 205,0,	205,0,	205,0,	205,0,
2167 205,0,	207,0,	207,0,	207,0,
2168 207,0,	207,0,	207,0,	207,0,
2169 207,0,	207,0,	207,0,	207,0,
2170 207,0,	207,0,	207,0,	207,0,
2171 207,0,	207,0,	207,0,	207,0,
2172 207,0,	207,0,	207,0,	207,0,
2173 207,0,	207,0,	207,0,	207,0,
2174 207,0,	207,0,	207,0,	207,0,
2175 207,0,	207,0,	0,0,	0,0,
2176 0,0,	207,0,	207,0,	207,0,
2177 207,0,	207,0,	207,0,	207,0,
2178 207,0,	207,0,	207,0,	207,0,
2179 0,0,	0,0,	0,0,	0,0,
2180 0,0,	0,0,	0,0,	0,0,
2181 0,0,	0,0,	0,0,	0,0,
2182 0,0,	0,0,	0,0,	0,0,
2183 0,0,	0,0,	0,0,	0,0,
2184 0,0,	0,0,	0,0,	207,0,
2185 207,0,	207,0,	207,0,	207,0,
2186 207,0,	207,0,	207,0,	207,0,
2187 0,0,	207,0,	0,0,	0,0,
2188 0,0,	0,0,	0,0,	0,0,
2189 0,0,	0,0,	0,0,	0,0,
2190 0,0,	0,0,	0,0,	0,0,
2191 0,0,	0,0,	0,0,	0,0,
2192 0,0,	0,0,	0,0,	0,0,
2193 0,0,	0,0,	0,0,	0,0,
2194 0,0,	0,0,	0,0,	0,0,
2195 0,0,	0,0,	0,0,	0,0,
2196 0,0,	0,0,	0,0,	0,0,
2197 0,0,	0,0,	0,0,	0,0,
2198 0,0,	207,0,	207,0,	207,0,
2199 207,0,	207,0,	207,0,	207,0,
2200 207,0,	207,0,	207,0,	207,0,
2201 207,0,	207,0,	208,0,	208,0,
2202 208,0,	208,0,	208,0,	208,0,
2203 208,0,	208,0,	208,0,	208,0,
2204 208,0,	208,0,	208,0,	208,0,
2205 208,0,	208,0,	208,0,	208,0,
2206 208,0,	208,0,	208,0,	208,0,
2207 208,0,	208,0,	208,0,	208,0,
2208 208,0,	208,0,	208,0,	208,0,
2209 208,0,	208,0,	208,0,	0,0,
2210 0,0,	0,0,	208,0,	208,0,
2211 208,0,	208,0,	208,0,	208,0,
2212 208,0,	208,0,	208,0,	208,0,
2213 208,0,	0,0,	0,0,	0,0,
2214 0,0,	0,0,	0,0,	0,0,
2215 0,0,	0,0,	0,0,	0,0,
2216 0,0,	0,0,	0,0,	0,0,
2217 0,0,	0,0,	0,0,	0,0,
2218 0,0,	0,0,	0,0,	0,0,
2219 208,0,	208,0,	208,0,	208,0,
2220 208,0,	208,0,	208,0,	208,0,
2221 208,0,	0,0,	208,0,	0,0,
2222 0,0,	0,0,	0,0,	0,0,
2223 0,0,	0,0,	0,0,	0,0,
2224 0,0,	0,0,	0,0,	0,0,
2225 0,0,	0,0,	0,0,	0,0,
2226 0,0,	0,0,	0,0,	0,0,
2227 0,0,	0,0,	0,0,	0,0,
2228 0,0,	0,0,	0,0,	0,0,
2229 0,0,	0,0,	0,0,	0,0,
2230 0,0,	0,0,	0,0,	0,0,
2231 0,0,	0,0,	0,0,	0,0,
2232 0,0,	0,0,	208,0,	208,0,
2233 208,0,	208,0,	208,0,	208,0,
2234 208,0,	208,0,	208,0,	208,0,
2235 208,0,	208,0,	208,0,	210,0,
2236 210,0,	210,0,	210,0,	210,0,
2237 210,0,	210,0,	210,0,	210,0,
2238 210,0,	210,0,	210,0,	210,0,
2239 210,0,	210,0,	210,0,	210,0,
2240 210,0,	210,0,	210,0,	210,0,
2241 210,0,	210,0,	210,0,	210,0,
2242 210,0,	210,0,	210,0,	210,0,
2243 210,0,	210,0,	210,0,	210,0,
2244 0,0,	0,0,	0,0,	210,0,
2245 210,0,	210,0,	210,0,	210,0,
2246 210,0,	210,0,	210,0,	210,0,
2247 210,0,	210,0,	0,0,	0,0,
2248 0,0,	0,0,	0,0,	0,0,
2249 0,0,	0,0,	0,0,	0,0,
2250 0,0,	0,0,	0,0,	0,0,
2251 0,0,	0,0,	0,0,	0,0,
2252 0,0,	0,0,	0,0,	0,0,
2253 0,0,	210,0,	210,0,	210,0,
2254 210,0,	210,0,	210,0,	210,0,
2255 210,0,	210,0,	0,0,	210,0,
2256 0,0,	0,0,	0,0,	0,0,
2257 0,0,	0,0,	0,0,	0,0,
2258 0,0,	0,0,	0,0,	0,0,
2259 0,0,	0,0,	0,0,	0,0,
2260 0,0,	0,0,	0,0,	0,0,
2261 0,0,	0,0,	0,0,	0,0,
2262 0,0,	0,0,	0,0,	0,0,
2263 0,0,	0,0,	0,0,	0,0,
2264 0,0,	0,0,	0,0,	0,0,
2265 0,0,	0,0,	0,0,	0,0,
2266 0,0,	0,0,	0,0,	210,0,
2267 210,0,	210,0,	210,0,	210,0,
2268 210,0,	210,0,	210,0,	210,0,
2269 210,0,	210,0,	210,0,	210,0,
2270 211,0,	211,0,	211,0,	211,0,
2271 211,0,	211,0,	211,0,	211,0,
2272 211,0,	211,0,	211,0,	211,0,
2273 211,0,	211,0,	211,0,	211,0,
2274 211,0,	211,0,	211,0,	211,0,
2275 211,0,	211,0,	211,0,	211,0,
2276 211,0,	211,0,	211,0,	211,0,
2277 211,0,	211,0,	211,0,	211,0,
2278 211,0,	0,0,	0,0,	0,0,
2279 211,0,	211,0,	211,0,	211,0,
2280 211,0,	211,0,	211,0,	211,0,
2281 211,0,	211,0,	211,0,	0,0,
2282 0,0,	0,0,	0,0,	0,0,
2283 0,0,	0,0,	0,0,	0,0,
2284 0,0,	0,0,	0,0,	0,0,
2285 0,0,	0,0,	0,0,	0,0,
2286 0,0,	0,0,	0,0,	0,0,
2287 0,0,	0,0,	211,0,	211,0,
2288 211,0,	211,0,	211,0,	211,0,
2289 211,0,	211,0,	211,0,	0,0,
2290 211,0,	0,0,	0,0,	0,0,
2291 0,0,	0,0,	0,0,	0,0,
2292 0,0,	0,0,	0,0,	0,0,
2293 0,0,	0,0,	0,0,	0,0,
2294 0,0,	0,0,	0,0,	0,0,
2295 0,0,	0,0,	0,0,	0,0,
2296 0,0,	0,0,	0,0,	0,0,
2297 0,0,	0,0,	0,0,	0,0,
2298 0,0,	0,0,	0,0,	0,0,
2299 0,0,	0,0,	0,0,	0,0,
2300 0,0,	0,0,	0,0,	0,0,
2301 211,0,	211,0,	211,0,	211,0,
2302 211,0,	211,0,	211,0,	211,0,
2303 211,0,	211,0,	211,0,	211,0,
2304 211,0,	212,0,	212,0,	212,0,
2305 212,0,	212,0,	212,0,	212,0,
2306 212,0,	212,0,	212,0,	212,0,
2307 212,0,	212,0,	212,0,	212,0,
2308 212,0,	212,0,	212,0,	212,0,
2309 212,0,	212,0,	212,0,	212,0,
2310 212,0,	212,0,	212,0,	212,0,
2311 212,0,	212,0,	212,0,	212,0,
2312 212,0,	212,0,	0,0,	0,0,
2313 0,0,	212,0,	212,0,	212,0,
2314 212,0,	212,0,	212,0,	212,0,
2315 212,0,	212,0,	212,0,	212,0,
2316 0,0,	0,0,	0,0,	0,0,
2317 0,0,	0,0,	0,0,	0,0,
2318 0,0,	0,0,	0,0,	0,0,
2319 0,0,	0,0,	0,0,	0,0,
2320 0,0,	0,0,	0,0,	0,0,
2321 0,0,	0,0,	0,0,	212,0,
2322 212,0,	212,0,	212,0,	212,0,
2323 212,0,	212,0,	212,0,	212,0,
2324 0,0,	212,0,	0,0,	0,0,
2325 0,0,	0,0,	0,0,	0,0,
2326 0,0,	0,0,	0,0,	0,0,
2327 0,0,	0,0,	0,0,	0,0,
2328 0,0,	0,0,	0,0,	0,0,
2329 0,0,	0,0,	0,0,	0,0,
2330 0,0,	0,0,	0,0,	0,0,
2331 0,0,	0,0,	0,0,	0,0,
2332 0,0,	0,0,	0,0,	0,0,
2333 0,0,	0,0,	0,0,	0,0,
2334 0,0,	0,0,	0,0,	0,0,
2335 0,0,	212,0,	212,0,	212,0,
2336 212,0,	212,0,	212,0,	212,0,
2337 212,0,	212,0,	212,0,	212,0,
2338 212,0,	212,0,	0,0,	0,0,
2339 0,0};
2340 struct yysvf yysvec[] = {
2341 0,	0,	0,
2342 yycrank+0,	0,		0,
2343 yycrank+0,	0,		0,
2344 yycrank+-1,	0,		0,
2345 yycrank+-2,	yysvec+3,	0,
2346 yycrank+-110,	0,		0,
2347 yycrank+-27,	yysvec+5,	0,
2348 yycrank+-122,	0,		0,
2349 yycrank+-3,	yysvec+7,	0,
2350 yycrank+0,	0,		0,
2351 yycrank+0,	0,		0,
2352 yycrank+-133,	0,		0,
2353 yycrank+-163,	yysvec+11,	0,
2354 yycrank+-138,	0,		0,
2355 yycrank+0,	yysvec+13,	0,
2356 yycrank+0,	0,		yyvstop+1,
2357 yycrank+0,	0,		yyvstop+3,
2358 yycrank+0,	0,		yyvstop+6,
2359 yycrank+6,	0,		yyvstop+8,
2360 yycrank+0,	0,		yyvstop+11,
2361 yycrank+0,	0,		yyvstop+14,
2362 yycrank+48,	0,		yyvstop+17,
2363 yycrank+5,	0,		yyvstop+20,
2364 yycrank+3,	0,		yyvstop+22,
2365 yycrank+11,	0,		yyvstop+24,
2366 yycrank+31,	0,		yyvstop+26,
2367 yycrank+30,	0,		yyvstop+28,
2368 yycrank+25,	0,		yyvstop+30,
2369 yycrank+20,	0,		yyvstop+32,
2370 yycrank+35,	0,		yyvstop+34,
2371 yycrank+3,	0,		yyvstop+37,
2372 yycrank+24,	0,		yyvstop+39,
2373 yycrank+32,	0,		yyvstop+42,
2374 yycrank+36,	0,		yyvstop+45,
2375 yycrank+-289,	0,		yyvstop+48,
2376 yycrank+393,	0,		yyvstop+51,
2377 yycrank+36,	yysvec+35,	yyvstop+54,
2378 yycrank+63,	yysvec+35,	yyvstop+57,
2379 yycrank+84,	yysvec+35,	yyvstop+60,
2380 yycrank+4,	0,		yyvstop+63,
2381 yycrank+48,	yysvec+35,	yyvstop+65,
2382 yycrank+27,	yysvec+35,	yyvstop+68,
2383 yycrank+92,	yysvec+35,	yyvstop+71,
2384 yycrank+43,	yysvec+35,	yyvstop+74,
2385 yycrank+53,	yysvec+35,	yyvstop+77,
2386 yycrank+96,	yysvec+35,	yyvstop+80,
2387 yycrank+100,	yysvec+35,	yyvstop+83,
2388 yycrank+107,	yysvec+35,	yyvstop+86,
2389 yycrank+54,	yysvec+35,	yyvstop+89,
2390 yycrank+94,	yysvec+35,	yyvstop+92,
2391 yycrank+114,	yysvec+35,	yyvstop+95,
2392 yycrank+15,	0,		yyvstop+98,
2393 yycrank+167,	0,		yyvstop+100,
2394 yycrank+0,	0,		yyvstop+103,
2395 yycrank+211,	0,		yyvstop+106,
2396 yycrank+0,	0,		yyvstop+109,
2397 yycrank+-174,	0,		yyvstop+112,
2398 yycrank+0,	0,		yyvstop+115,
2399 yycrank+0,	0,		yyvstop+117,
2400 yycrank+0,	0,		yyvstop+119,
2401 yycrank+141,	0,		yyvstop+122,
2402 yycrank+0,	0,		yyvstop+124,
2403 yycrank+0,	0,		yyvstop+126,
2404 yycrank+142,	0,		yyvstop+128,
2405 yycrank+0,	0,		yyvstop+130,
2406 yycrank+0,	0,		yyvstop+133,
2407 yycrank+0,	0,		yyvstop+135,
2408 yycrank+0,	0,		yyvstop+137,
2409 yycrank+0,	0,		yyvstop+140,
2410 yycrank+0,	0,		yyvstop+143,
2411 yycrank+0,	0,		yyvstop+146,
2412 yycrank+0,	0,		yyvstop+149,
2413 yycrank+0,	0,		yyvstop+152,
2414 yycrank+0,	0,		yyvstop+155,
2415 yycrank+0,	0,		yyvstop+158,
2416 yycrank+35,	0,		yyvstop+161,
2417 yycrank+-226,	0,		yyvstop+164,
2418 yycrank+0,	0,		yyvstop+166,
2419 yycrank+0,	0,		yyvstop+169,
2420 yycrank+0,	0,		yyvstop+172,
2421 yycrank+0,	0,		yyvstop+174,
2422 yycrank+0,	0,		yyvstop+176,
2423 yycrank+0,	0,		yyvstop+178,
2424 yycrank+197,	0,		yyvstop+180,
2425 yycrank+185,	0,		yyvstop+182,
2426 yycrank+0,	0,		yyvstop+184,
2427 yycrank+0,	0,		yyvstop+186,
2428 yycrank+0,	0,		yyvstop+188,
2429 yycrank+0,	0,		yyvstop+190,
2430 yycrank+0,	0,		yyvstop+192,
2431 yycrank+0,	0,		yyvstop+194,
2432 yycrank+0,	0,		yyvstop+196,
2433 yycrank+175,	yysvec+27,	yyvstop+198,
2434 yycrank+0,	0,		yyvstop+200,
2435 yycrank+234,	0,		yyvstop+202,
2436 yycrank+0,	yysvec+29,	yyvstop+204,
2437 yycrank+214,	0,		0,
2438 yycrank+0,	0,		yyvstop+206,
2439 yycrank+0,	0,		yyvstop+208,
2440 yycrank+0,	0,		yyvstop+210,
2441 yycrank+0,	0,		yyvstop+212,
2442 yycrank+0,	0,		yyvstop+214,
2443 yycrank+-517,	yysvec+34,	yyvstop+216,
2444 yycrank+178,	yysvec+35,	yyvstop+218,
2445 yycrank+110,	yysvec+35,	yyvstop+220,
2446 yycrank+-654,	yysvec+34,	yyvstop+222,
2447 yycrank+128,	yysvec+35,	yyvstop+225,
2448 yycrank+0,	0,		yyvstop+227,
2449 yycrank+177,	yysvec+35,	yyvstop+229,
2450 yycrank+120,	yysvec+35,	yyvstop+231,
2451 yycrank+137,	yysvec+35,	yyvstop+233,
2452 yycrank+271,	yysvec+35,	yyvstop+235,
2453 yycrank+126,	yysvec+35,	yyvstop+237,
2454 yycrank+147,	yysvec+35,	yyvstop+239,
2455 yycrank+-791,	yysvec+34,	yyvstop+241,
2456 yycrank+284,	yysvec+35,	yyvstop+244,
2457 yycrank+285,	yysvec+35,	yyvstop+247,
2458 yycrank+185,	yysvec+35,	yyvstop+249,
2459 yycrank+218,	yysvec+35,	yyvstop+251,
2460 yycrank+189,	yysvec+35,	yyvstop+253,
2461 yycrank+289,	yysvec+35,	yyvstop+255,
2462 yycrank+229,	yysvec+35,	yyvstop+257,
2463 yycrank+193,	yysvec+35,	yyvstop+259,
2464 yycrank+288,	yysvec+35,	yyvstop+261,
2465 yycrank+0,	0,		yyvstop+263,
2466 yycrank+0,	yysvec+52,	0,
2467 yycrank+0,	0,		yyvstop+265,
2468 yycrank+0,	yysvec+54,	0,
2469 yycrank+0,	yysvec+56,	0,
2470 yycrank+0,	0,		yyvstop+267,
2471 yycrank+0,	0,		yyvstop+269,
2472 yycrank+0,	0,		yyvstop+271,
2473 yycrank+0,	0,		yyvstop+273,
2474 yycrank+0,	0,		yyvstop+275,
2475 yycrank+0,	0,		yyvstop+277,
2476 yycrank+0,	0,		yyvstop+279,
2477 yycrank+0,	0,		yyvstop+281,
2478 yycrank+0,	0,		yyvstop+283,
2479 yycrank+0,	0,		yyvstop+285,
2480 yycrank+0,	0,		yyvstop+287,
2481 yycrank+0,	0,		yyvstop+289,
2482 yycrank+0,	0,		yyvstop+291,
2483 yycrank+0,	0,		yyvstop+293,
2484 yycrank+0,	0,		yyvstop+295,
2485 yycrank+0,	0,		yyvstop+297,
2486 yycrank+0,	0,		yyvstop+299,
2487 yycrank+0,	0,		yyvstop+301,
2488 yycrank+246,	0,		yyvstop+303,
2489 yycrank+250,	0,		0,
2490 yycrank+0,	yysvec+148,	yyvstop+305,
2491 yycrank+201,	yysvec+35,	yyvstop+307,
2492 yycrank+-928,	yysvec+34,	yyvstop+309,
2493 yycrank+198,	yysvec+35,	yyvstop+312,
2494 yycrank+291,	yysvec+35,	yyvstop+314,
2495 yycrank+290,	yysvec+35,	yyvstop+316,
2496 yycrank+292,	yysvec+35,	yyvstop+318,
2497 yycrank+293,	yysvec+35,	yyvstop+320,
2498 yycrank+-1065,	yysvec+34,	yyvstop+322,
2499 yycrank+-1202,	yysvec+34,	yyvstop+325,
2500 yycrank+294,	yysvec+35,	yyvstop+328,
2501 yycrank+295,	yysvec+35,	yyvstop+330,
2502 yycrank+-1339,	yysvec+34,	yyvstop+332,
2503 yycrank+296,	yysvec+35,	yyvstop+335,
2504 yycrank+-1476,	yysvec+34,	yyvstop+337,
2505 yycrank+297,	yysvec+35,	yyvstop+340,
2506 yycrank+298,	yysvec+35,	yyvstop+342,
2507 yycrank+299,	yysvec+35,	yyvstop+344,
2508 yycrank+300,	yysvec+35,	yyvstop+346,
2509 yycrank+317,	yysvec+35,	yyvstop+348,
2510 yycrank+320,	yysvec+35,	yyvstop+350,
2511 yycrank+301,	yysvec+35,	yyvstop+352,
2512 yycrank+322,	0,		0,
2513 yycrank+321,	yysvec+35,	yyvstop+354,
2514 yycrank+64,	yysvec+35,	yyvstop+356,
2515 yycrank+305,	yysvec+35,	yyvstop+358,
2516 yycrank+333,	yysvec+35,	yyvstop+360,
2517 yycrank+-1613,	yysvec+34,	yyvstop+362,
2518 yycrank+-1750,	yysvec+34,	yyvstop+365,
2519 yycrank+334,	yysvec+35,	yyvstop+368,
2520 yycrank+345,	yysvec+35,	yyvstop+370,
2521 yycrank+322,	yysvec+35,	yyvstop+372,
2522 yycrank+-1887,	yysvec+34,	yyvstop+374,
2523 yycrank+323,	yysvec+35,	yyvstop+377,
2524 yycrank+324,	yysvec+35,	yyvstop+379,
2525 yycrank+326,	yysvec+35,	yyvstop+381,
2526 yycrank+-2024,	yysvec+34,	yyvstop+383,
2527 yycrank+350,	yysvec+35,	yyvstop+386,
2528 yycrank+381,	yysvec+35,	yyvstop+388,
2529 yycrank+0,	0,		yyvstop+390,
2530 yycrank+-2161,	yysvec+34,	yyvstop+392,
2531 yycrank+330,	yysvec+35,	yyvstop+395,
2532 yycrank+-2298,	yysvec+34,	yyvstop+397,
2533 yycrank+497,	yysvec+35,	yyvstop+400,
2534 yycrank+498,	yysvec+35,	yyvstop+402,
2535 yycrank+-2435,	yysvec+34,	yyvstop+404,
2536 yycrank+340,	yysvec+35,	yyvstop+407,
2537 yycrank+511,	yysvec+35,	yyvstop+409,
2538 yycrank+-2572,	yysvec+34,	yyvstop+412,
2539 yycrank+353,	yysvec+35,	yyvstop+415,
2540 yycrank+356,	yysvec+35,	yyvstop+417,
2541 yycrank+-2709,	yysvec+34,	yyvstop+419,
2542 yycrank+210,	yysvec+35,	yyvstop+422,
2543 yycrank+354,	yysvec+35,	yyvstop+424,
2544 yycrank+514,	yysvec+35,	yyvstop+426,
2545 yycrank+-2846,	yysvec+34,	yyvstop+428,
2546 yycrank+-2983,	yysvec+34,	yyvstop+431,
2547 yycrank+513,	yysvec+35,	yyvstop+434,
2548 yycrank+-3120,	yysvec+34,	yyvstop+436,
2549 yycrank+-3257,	yysvec+34,	yyvstop+439,
2550 yycrank+516,	yysvec+35,	yyvstop+442,
2551 yycrank+-3394,	yysvec+34,	yyvstop+444,
2552 yycrank+-3531,	yysvec+34,	yyvstop+447,
2553 yycrank+-3668,	yysvec+34,	yyvstop+450,
2554 0,	0,	0};
2555 struct yywork *yytop = yycrank+3805;
2556 struct yysvf *yybgin = yysvec+1;
2557 int yymatch[] = {
2558   0,   1,   2,   1,   4,   1,   2,   1,
2559   1,   1,   1,   1,   1,   1,   1,   1,
2560   1,   1,   1,   1,   1,   1,   1,   1,
2561   1,   1,   1,   1,   1,   1,   1,   1,
2562   1,   1,  34,  34,  34,   1,   1,   1,
2563   1,   1,   1,   1,   1,   1,   1,   1,
2564  48,  48,  48,  48,  48,  48,  48,  48,
2565  48,  48,  48,  48,  48,  48,  48,  48,
2566  48,  48,  48,  48,  48,  48,  48,   1,
2567   1,   1,   1,   1,   1,   1,   1,   1,
2568  48,   1,  48,  48,  48,  48,  48,  48,
2569  48,  48,  48,  48,  48,  48,  48,  48,
2570  48,  48,  48,  48,  48,  48,  48,  48,
2571  48,  48,  48,  48,  48,  48,  48,  48,
2572  48,  48,  48,  48,  48,  48,  48,  48,
2573  48,  48,  48,  48,  48,   1,   1,   1,
2574   1,   1,   1,   1,   1,   1,   1,   1,
2575   1,   1,   0,   0,   0,   0,   0,   0,
2576 0};
2577 char yyextra[] = {
2578 0,0,0,0,0,0,0,0,
2579 0,0,0,0,0,0,0,0,
2580 0,0,0,0,0,0,0,0,
2581 0,0,0,0,0,0,0,0,
2582 0,0,0,0,0,0,0,0,
2583 0,0,0,0,0,0,0,0,
2584 0,0,0,0,0,0,0,0,
2585 0,0,0,0,0,0,0,0,
2586 0,0,0,0,0,0,0,0,
2587 0,0,0,0,0,0,0,0,
2588 0,0,0,0,0,0,0,0,
2589 0,0,0,0,0,0,0,0,
2590 0,0,0,0,0,0,0,0,
2591 0};
2592 #define YYNCGIDTBL 69
2593 	unsigned long yycgidtbl[]={
2594 		0x00000000, 0x00000009, 0x0000000a, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
2595 		0x00000025, 0x00000026, 0x00000028, 0x00000029, 0x0000002a, 0x0000002b, 0x0000002d, 0x0000002e,
2596 		0x0000002f, 0x00000030, 0x00000039, 0x0000003b, 0x0000003c, 0x0000003d, 0x0000003e, 0x0000003f,
2597 		0x00000041, 0x00000042, 0x00000044, 0x00000045, 0x00000046, 0x00000047, 0x00000049, 0x0000004e,
2598 		0x0000004f, 0x00000050, 0x00000052, 0x0000005a, 0x0000005b, 0x0000005c, 0x0000005d, 0x0000005e,
2599 		0x0000005f, 0x00000061, 0x00000062, 0x00000063, 0x00000064, 0x00000065, 0x00000066, 0x00000067,
2600 		0x00000068, 0x00000069, 0x0000006b, 0x0000006c, 0x0000006e, 0x0000006f, 0x00000070, 0x00000071,
2601 		0x00000072, 0x00000073, 0x00000074, 0x00000075, 0x00000077, 0x00000078, 0x0000007a, 0x0000007c,
2602 		0x0000007d, 0x0000007e, 0x000000ff, 0x20ffffff, 0x40ffffff,
2603 	0};
2604 /*
2605  * CDDL HEADER START
2606  *
2607  * The contents of this file are subject to the terms of the
2608  * Common Development and Distribution License, Version 1.0 only
2609  * (the "License").  You may not use this file except in compliance
2610  * with the License.
2611  *
2612  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2613  * or http://www.opensolaris.org/os/licensing.
2614  * See the License for the specific language governing permissions
2615  * and limitations under the License.
2616  *
2617  * When distributing Covered Code, include this CDDL HEADER in each
2618  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2619  * If applicable, add the following below this CDDL HEADER, with the
2620  * fields enclosed by brackets "[]" replaced with your own identifying
2621  * information: Portions Copyright [yyyy] [name of copyright owner]
2622  *
2623  * CDDL HEADER END
2624  */
2625 /*
2626  * Copyright 2005 Sun Microsystems, Inc.
2627  * All rights reserved.
2628  * Use is subject to license terms.
2629  */
2630 
2631 /*	Copyright (c) 1989 AT&T	*/
2632 /*	  All Rights Reserved  	*/
2633 
2634 
2635 #pragma ident	"%Z%%M%	%I%	%E% SMI"
2636 
2637 int yylineno =1;
2638 int yygid;
2639 #define LONG_WCHAR_T 1
2640 # define YYU(x) x
2641 # define NLSTATE yyprevious=YYNEWLINE
2642 wchar_t yysbuf[YYLMAX];
2643 wchar_t *yysptr = yysbuf;
2644 struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
2645 int *yyfnd;
2646 extern struct yysvf *yyestate;
2647 int yyprevious = YYNEWLINE;
2648 #if defined(__cplusplus) || defined(__STDC__)
2649 int yylook(void)
2650 #else
2651 yylook()
2652 #endif
2653 {
2654 	struct yysvf *yystate, **lsp;
2655 	struct yywork *yyt;
2656 	struct yysvf *yyz;
2657 	int yych, yyfirst;
2658 	struct yywork *yyr;
2659 # ifdef LEXDEBUG
2660 	int debug;
2661 # endif
2662 	wchar_t *yylastch;
2663 	/* start off machines */
2664 # ifdef LEXDEBUG
2665 	debug = 0;
2666 # endif
2667 	yyfirst=1;
2668 	if (!yymorfg)
2669 		yylastch = YYTEXT;
2670 	else {
2671 		yymorfg=0;
2672 		yylastch = YYTEXT+YYLENG;
2673 		}
2674 	for(;;){
2675 		lsp = yylstate;
2676 		yyestate = yystate = yybgin;
2677 		if (yyprevious==YYNEWLINE) yystate++;
2678 		for (;;){
2679 # ifdef LEXDEBUG
2680 			if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
2681 # endif
2682 			yyt = yystate->yystoff;
2683 			if(yyt == yycrank && !yyfirst){  /* may not be any transitions */
2684 				yyz = yystate->yyother;
2685 				if(yyz == 0)break;
2686 				if(yyz->yystoff == yycrank)break;
2687 				}
2688 			*yylastch++ = yych = YYINPUT();
2689 #ifdef YYISARRAY
2690 			if(yylastch > &YYTEXT[YYLMAX]) {
2691 				fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
2692 				exit(1);
2693 			}
2694 #else
2695 			if (yylastch >= &YYTEXT[ yytextsz ]) {
2696 				int	x = yylastch - YYTEXT;
2697 
2698 				yytextsz += YYTEXTSZINC;
2699 #ifdef YYLEX_E /* -e */
2700 				if (YYTEXT == yy_twbuf) {
2701 					YYTEXT = (wchar_t *)
2702 						malloc(yytextsz *
2703 							sizeof (wchar_t));
2704 					memcpy(YYTEXT, yy_twbuf,
2705 						sizeof (yy_twbuf));
2706 					yytext = (wchar_t *)
2707 						malloc(yytextsz *
2708 							sizeof (wchar_t));
2709 					memcpy(yytext, yy_tbuf,
2710 						sizeof (yy_tbuf));
2711 #else
2712 				if (YYTEXT == yy_tbuf) {
2713 					YYTEXT = (wchar_t *)
2714 						malloc(yytextsz *
2715 							sizeof (wchar_t));
2716 					memcpy(YYTEXT, yy_tbuf,
2717 						sizeof (yy_tbuf));
2718 #endif
2719 				}
2720 				else {
2721 					YYTEXT = (wchar_t *)
2722 						realloc(YYTEXT, yytextsz);
2723 #ifdef YYLEX_E /* -e */
2724 					yytext = (wchar_t *)
2725 						realloc(yytext,
2726 						yytextsz * sizeof (wchar_t));
2727 #endif
2728 				}
2729 				if (!YYTEXT) {
2730 					fprintf(yyout,
2731 					"Cannot realloc YYTEXT\n");
2732 					exit(1);
2733 				}
2734 				yylastch = YYTEXT + x;
2735 			}
2736 #endif
2737 			yygid = yycgid(yych);
2738 			yyfirst=0;
2739 		tryagain:
2740 # ifdef LEXDEBUG
2741 			if(debug){
2742 				fprintf(yyout,"wchar_t ");
2743 				allprint(yych);
2744 				fprintf(yyout," gid %d\n", yygid);
2745 				}
2746 # endif
2747 			yyr = yyt;
2748 			if ( (uintptr_t)yyt > (uintptr_t)yycrank){
2749 				yyt = yyr + yygid;
2750 				if (yyt <= yytop && yyt->verify+yysvec == yystate){
2751 					if(yyt->advance+yysvec == YYLERR)	/* error transitions */
2752 						{YYUNPUT(*--yylastch);break;}
2753 					*lsp++ = yystate = yyt->advance+yysvec;
2754 					if(lsp > &yylstate[YYLMAX]) {
2755 						fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
2756 						exit(1);
2757 					}
2758 					goto contin;
2759 					}
2760 				}
2761 # ifdef YYOPTIM
2762 			else if((uintptr_t)yyt < (uintptr_t)yycrank) {	/* r < yycrank */
2763 				yyt = yyr = yycrank+(yycrank-yyt);
2764 # ifdef LEXDEBUG
2765 				if(debug)fprintf(yyout,"compressed state\n");
2766 # endif
2767 				yyt = yyt + yygid;
2768 				if(yyt <= yytop && yyt->verify+yysvec == yystate){
2769 					if(yyt->advance+yysvec == YYLERR)	/* error transitions */
2770 						{YYUNPUT(*--yylastch);break;}
2771 					*lsp++ = yystate = yyt->advance+yysvec;
2772 					if(lsp > &yylstate[YYLMAX]) {
2773 						fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
2774 						exit(1);
2775 					}
2776 					goto contin;
2777 					}
2778 				yyt = yyr + YYU(yymatch[yygid]);
2779 # ifdef LEXDEBUG
2780 				if(debug){
2781 					fprintf(yyout,"try fall back character ");
2782 					allprint_w(YYU(yymatch[yygid]));
2783 					fprintf(yyout," gid %d\n", yygid);
2784 					}
2785 # endif
2786 				if(yyt <= yytop && yyt->verify+yysvec == yystate){
2787 					if(yyt->advance+yysvec == YYLERR)	/* error transition */
2788 						{YYUNPUT(*--yylastch);break;}
2789 					*lsp++ = yystate = yyt->advance+yysvec;
2790 					if(lsp > &yylstate[YYLMAX]) {
2791 						fprintf(yyout,"Input string too long, limit %d\n",YYLMAX);
2792 						exit(1);
2793 					}
2794 					goto contin;
2795 					}
2796 				}
2797 			if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
2798 # ifdef LEXDEBUG
2799 				if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
2800 # endif
2801 				goto tryagain;
2802 				}
2803 # endif
2804 			else
2805 				{YYUNPUT(*--yylastch);break;}
2806 		contin:
2807 # ifdef LEXDEBUG
2808 			if(debug){
2809 				fprintf(yyout,"state %d wchar_t ",yystate-yysvec-1);
2810 				allprint_w(yych);
2811 				fprintf(yyout," gid %d\n", yygid);
2812 				}
2813 # endif
2814 			;
2815 			}
2816 # ifdef LEXDEBUG
2817 		if(debug){
2818 			fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
2819 			allprint_w(yych);
2820 			fprintf(yyout," gid %d\n", yygid);
2821 			}
2822 # endif
2823 		while (lsp-- > yylstate){
2824 			*yylastch-- = 0;
2825 			if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
2826 				yyolsp = lsp;
2827 				if(yyextra[*yyfnd]){		/* must backup */
2828 					while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
2829 						lsp--;
2830 						YYUNPUT(*yylastch--);
2831 						}
2832 					}
2833 				yyprevious = YYU(*yylastch);
2834 				yylsp = lsp;
2835 				YYLENG = yylastch-YYTEXT+1;
2836 				YYTEXT[YYLENG] = 0;
2837 # ifdef LEXDEBUG
2838 				if(debug){
2839 					fprintf(yyout,"\nmatch ");
2840 					sprint_w(YYTEXT);
2841 					fprintf(yyout," action %d\n",*yyfnd);
2842 					}
2843 # endif
2844 #ifdef YYLEX_E /* -e */
2845 				yyleng=wcstombs((char *)yytext, YYTEXT, sizeof(yytext)-1);
2846 #ifdef LEXDEBUG
2847 				if(yyleng>=sizeof(yytext)-1)
2848 					fprintf(yyout, "yytext[] too short\n");
2849 #endif
2850 #endif
2851 				return(*yyfnd++);
2852 				}
2853 			YYUNPUT(*yylastch);
2854 			}
2855 		if (YYTEXT[0] == 0  /* && feof(yyin) */)
2856 			{
2857 			yysptr=yysbuf;
2858 			return(0);
2859 			}
2860 		yyprevious = YYTEXT[0] = YYINPUT();
2861 		if (yyprevious>0)
2862 			YYOUTPUT(yyprevious);
2863 		yylastch=YYTEXT;
2864 # ifdef LEXDEBUG
2865 		if(debug)putchar('\n');
2866 # endif
2867 		}
2868 	}
2869 int
2870 #if defined(__cplusplus) || defined(__STDC__)
2871 yyback(int *p, int m)
2872 #else
2873 yyback(p, m)
2874 	int *p;
2875 	int m;
2876 #endif
2877 {
2878 	if (p==0) return(0);
2879 	while (*p) {
2880 		if (*p++ == m)
2881 			return(1);
2882 	}
2883 	return(0);
2884 }
2885 
2886 #ifdef YYLEX_E /* -e */
2887 wchar_t
2888 #if defined(__cplusplus) || defined(__STDC__)
2889 yywinput(void){
2890 #else
2891 yywinput(){
2892 #endif
2893 	unsigned char eucbuf[MB_LEN_MAX];
2894 	wchar_t wc;
2895 	unsigned char *p=eucbuf;
2896 	int n;
2897 
2898 #ifndef __cplusplus
2899 	*p++=input();
2900 	n=euclen(eucbuf);
2901 	while(--n>0) *p++=input();
2902 #else
2903 	*p++=lex_input();
2904 	n=euclen(eucbuf);
2905 	while(--n>0) *p++=lex_input();
2906 #endif
2907 	*p=0;
2908 
2909 	mbtowc( &wc, (char *)eucbuf, MB_LEN_MAX );
2910 	return wc;
2911 }
2912 
2913 #if defined(__cplusplus) || defined(__STDC__)
2914 void
2915 yywoutput(wchar_t wc)
2916 #else
2917 yywoutput(wc)
2918 	wchar_t wc;
2919 #endif
2920 {
2921 	unsigned char eucbuf[MB_LEN_MAX];
2922 	int n;
2923 	unsigned char *p=eucbuf;
2924 
2925 	n=wctomb( (char *)eucbuf, wc );
2926 #ifndef __cplusplus
2927 	while(n-->0) output(*p++);
2928 #else
2929 	while(n-->0) lex_output(*p++);
2930 #endif
2931 }
2932 
2933 #if defined(__cplusplus) || defined(__STDC__)
2934 void
2935 yywunput(wchar_t wc)
2936 #else
2937 yywunput(wc)
2938 	wchar_t wc;
2939 #endif
2940 {
2941 	unsigned char eucbuf[MB_LEN_MAX];
2942 	int n;
2943 	unsigned char *p;
2944 
2945 	n=wctomb( (char *)eucbuf, wc );
2946 	p=eucbuf+n;
2947 	while(n-->0) unput(*--p);
2948 }
2949 #endif
2950 
2951 #ifdef LONG_WCHAR_T
2952 #define yylinearize(lc) lc
2953 #else/*!LONG_WCHAR_T*/
2954 unsigned long
2955 yylinearize(wc)
2956      wchar_t    wc;
2957 {
2958 	unsigned long   prefix;
2959 	switch(wc&0x8080){
2960 	      case 0x0000:      prefix=0x00000000; break;
2961 	      case 0x0080:      prefix=0x20000000; break;
2962 	      case 0x8000:      prefix=0x40000000; break;
2963 	      case 0x8080:      prefix=0x60000000; break;
2964 	}
2965 	return prefix|wc;
2966 }
2967 #endif/*!LONG_WCHAR_T*/
2968 int
2969 yycgid(c)
2970      wchar_t	c;
2971 {
2972 	int first = 0;
2973 	int last = YYNCGIDTBL - 1;
2974 	unsigned long lc=yylinearize(c);
2975 
2976 	if( yycgidtbl[YYNCGIDTBL-1] < lc ) return YYNCGIDTBL*2-1;
2977 
2978 	while (last >= 0) {
2979 		int i = (first+last)/2;
2980 		if (lc == yycgidtbl[i])
2981 		    return (2*i);
2982 		else if ( yycgidtbl[i]<lc) {
2983 			if (lc<yycgidtbl[i+1])
2984 			    return (2*i+1);
2985 			else
2986 			    first = i + 1;
2987 		}else
2988 		    last = i - 1;
2989 	}
2990 	return 0; /*Error*/
2991 }
2992 
2993 
2994 
2995 
2996 
2997 	/* the following are only used in the lex library */
2998 int
2999 #if defined(__cplusplus) || defined(__STDC__)
3000 yyinput(void)
3001 #else
3002 yyinput()
3003 #endif
3004 {
3005 #ifndef __cplusplus
3006 	return(input());
3007 #else
3008 	return(lex_input());
3009 #endif
3010 	}
3011 #if defined(__cplusplus) || defined(__STDC__)
3012 void
3013 yyoutput(int c)
3014 #else
3015 yyoutput(c)
3016   int c;
3017 #endif
3018 {
3019 #ifndef __cplusplus
3020 	output(c);
3021 #else
3022 	lex_output(c);
3023 #endif
3024 	}
3025 #if defined(__cplusplus) || defined(__STDC__)
3026 void
3027 yyunput(int c)
3028 #else
3029 yyunput(c)
3030    int c;
3031 #endif
3032 {
3033 	unput(c);
3034 	}
3035