Further ANSI changes now builds and passes (most) tests
[p5sagit/p5-mst-13.2.git] / x2p / a2p.c
CommitLineData
9c8d0b29 1#ifndef lint
748a9306 2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
9c8d0b29 3#endif
4#define YYBYACC 1
9c8d0b29 5#line 2 "a2p.y"
6/* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
7 *
9607fc9c 8 * Copyright (c) 1991-1997, Larry Wall
9c8d0b29 9 *
10 * You may distribute under the terms of either the GNU General Public
11 * License or the Artistic License, as specified in the README file.
12 *
13 * $Log: a2p.y,v $
14 */
15
16#include "INTERN.h"
17#include "a2p.h"
18
19int root;
20int begins = Nullop;
21int ends = Nullop;
22
748a9306 23#line 24 "y.tab.c"
9c8d0b29 24#define BEGIN 257
25#define END 258
26#define REGEX 259
27#define SEMINEW 260
28#define NEWLINE 261
29#define COMMENT 262
30#define FUN1 263
31#define FUNN 264
32#define GRGR 265
33#define PRINT 266
34#define PRINTF 267
35#define SPRINTF 268
36#define SPLIT 269
37#define IF 270
38#define ELSE 271
39#define WHILE 272
40#define FOR 273
41#define IN 274
42#define EXIT 275
43#define NEXT 276
44#define BREAK 277
45#define CONTINUE 278
46#define RET 279
47#define GETLINE 280
48#define DO 281
49#define SUB 282
50#define GSUB 283
51#define MATCH 284
52#define FUNCTION 285
53#define USERFUN 286
54#define DELETE 287
55#define ASGNOP 288
56#define OROR 289
57#define ANDAND 290
58#define NUMBER 291
59#define VAR 292
60#define SUBSTR 293
61#define INDEX 294
62#define MATCHOP 295
63#define RELOP 296
64#define OR 297
65#define STRING 298
66#define UMINUS 299
67#define NOT 300
68#define INCR 301
69#define DECR 302
70#define FIELD 303
71#define VFIELD 304
72#define YYERRCODE 256
73short yylhs[] = { -1,
74 0, 3, 6, 6, 2, 2, 7, 7, 7, 7,
75 7, 7, 9, 8, 8, 11, 11, 11, 11, 11,
76 15, 15, 15, 15, 14, 14, 14, 14, 13, 13,
c822f08a 77 13, 13, 12, 12, 12, 12, 16, 16, 16, 16,
9c8d0b29 78 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
79 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
80 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
81 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
82 16, 17, 17, 17, 17, 10, 10, 10, 18, 18,
83 18, 1, 1, 19, 19, 19, 19, 4, 4, 20,
84 20, 21, 21, 21, 21, 5, 5, 22, 22, 22,
85 22, 25, 25, 23, 23, 23, 23, 23, 23, 23,
86 23, 23, 23, 23, 23, 23, 26, 26, 26, 24,
87 24, 24, 24, 24, 24, 24, 24,
88};
89short yylen[] = { 2,
90 2, 6, 5, 2, 3, 0, 1, 5, 10, 4,
91 1, 1, 1, 1, 3, 1, 1, 1, 1, 5,
92 3, 4, 4, 2, 3, 3, 3, 3, 3, 3,
c822f08a 93 1, 3, 1, 2, 5, 3, 1, 1, 1, 3,
94 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
9c8d0b29 95 2, 2, 3, 1, 2, 3, 4, 3, 4, 1,
96 3, 4, 4, 4, 2, 8, 6, 8, 8, 6,
97 6, 6, 6, 6, 6, 6, 6, 8, 8, 8,
98 8, 1, 4, 1, 2, 1, 1, 0, 4, 4,
99 3, 2, 0, 1, 1, 1, 1, 2, 0, 1,
100 1, 2, 2, 2, 2, 2, 0, 3, 2, 2,
101 1, 1, 0, 1, 4, 2, 4, 2, 1, 1,
102 1, 2, 1, 1, 2, 5, 1, 1, 1, 6,
103 9, 6, 7, 10, 9, 6, 5,
104};
105short yydefred[] = { 93,
106 0, 0, 95, 96, 97, 94, 0, 92, 0, 0,
107 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 108 0, 38, 0, 0, 0, 39, 0, 0, 0, 0,
9c8d0b29 109 0, 84, 0, 99, 0, 11, 0, 93, 0, 0,
110 0, 17, 18, 19, 0, 0, 99, 99, 0, 0,
111 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 112 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
113 49, 50, 0, 0, 0, 0, 0, 0, 4, 0,
114 99, 0, 99, 99, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116 47, 48, 0, 0, 61, 0, 0, 0, 0, 0,
117 99, 99, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 100, 101, 0, 98, 53,
119 32, 28, 21, 0, 0, 0, 0, 0, 0, 30,
120 0, 0, 0, 0, 46, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 62, 63, 91, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0, 13, 64,
123 83, 0, 0, 99, 0, 0, 0, 0, 0, 0,
124 120, 119, 123, 0, 99, 0, 99, 10, 99, 0,
125 106, 0, 111, 0, 0, 0, 22, 0, 59, 93,
126 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 99, 99, 99, 99, 99,
129 8, 0, 0, 0, 70, 0, 75, 0, 74, 0,
130 77, 0, 76, 0, 72, 73, 0, 67, 0, 71,
131 128, 127, 129, 0, 0, 0, 0, 0, 112, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 0, 0, 0, 0, 99, 0, 0, 0, 99, 99,
134 99, 0, 0, 0, 99, 69, 68, 79, 78, 81,
135 80, 0, 66, 0, 0, 0, 0, 0, 0, 126,
136 0, 0, 0, 132, 136, 0, 0, 0, 9, 99,
137 99, 0, 133, 0, 0, 99, 131, 135, 0, 134,
9c8d0b29 138};
139short yydgoto[] = { 1,
c822f08a 140 2, 7, 36, 74, 128, 37, 38, 39, 168, 52,
141 75, 190, 42, 43, 44, 45, 46, 54, 8, 129,
142 230, 191, 192, 193, 260, 254,
9c8d0b29 143};
144short yysindex[] = { 0,
c822f08a 145 0, -50, 0, 0, 0, 0, 4775, 0, -91, -38,
146 0, 34, 41, 7201, 42, 6, 46, 48, 50, -184,
147 70, 0, 16, 77, 80, 0, 7255, 7255, 5051, -220,
148 -220, 0, 7255, 0, 5051, 0, -140, 0, 5, -13,
149 5693, 0, 0, 0, -32, -233, 0, 0, 4619, 7201,
150 5962, 0, 6006, 79, 7255, 7255, 71, 6890, 6936, 7255,
151 87, 7201, 7201, 7255, 7255, 5051, -42, -244, -42, 0,
152 0, 0, 20, -183, -41, 89, 92, 93, 0, -50,
153 0, 7255, 0, 0, 5051, 7255, 6990, 7255, 7255, 7255,
154 -32, -157, 7255, 7255, 7255, 7255, 7255, 7255, -144, 5051,
155 0, 0, -183, -183, 0, 3590, 96, 5962, 5577, 10,
156 0, 0, 6049, 1522, 7255, 94, 6107, 95, 6153, 6195,
157 7201, 99, 51, 6238, 6281, 0, 0, 4886, 0, 0,
158 0, 0, 0, -183, 6323, 1605, 1605, -60, 6380, 0,
159 1522, 1522, 1522, 1522, 0, -7, -7, -42, -42, -42,
160 -42, -220, -60, 4931, 4977, 0, 0, 0, 6425, 6425,
161 -151, 1522, 7255, 7255, 7255, 7255, 7052, 102, 0, 0,
162 0, 7255, 7255, 0, 7201, 7201, 115, 119, 121, 7255,
163 0, 0, 0, 7255, 0, -130, 0, 0, 0, 7112,
164 0, 18, 0, 5242, 7255, -126, 0, 7255, 0, 0,
165 0, 7112, 7112, 32, 2427, 2474, 5735, 5779, 126, 6470,
166 0, 5842, 6513, -183, -33, -33, 5051, 5051, 5428, 7112,
167 7112, 4046, 81, -183, -183, 0, 0, 0, 0, 0,
168 0, 7112, 7112, -50, 0, 7158, 0, 7255, 0, 7255,
169 0, 7255, 0, 7255, 0, 0, -96, 0, 7255, 0,
170 0, 0, 0, 7255, 7255, -39, -37, 6555, 0, 116,
171 -95, 7201, 5287, -183, -183, -183, -183, -183, 135, 6612,
172 6657, 6702, 6745, 6787, 0, 6844, 7112, 7112, 0, 0,
173 0, 5908, 144, 97, 0, 0, 0, 0, 0, 0,
174 0, -183, 0, 4046, 4046, 4046, 5428, -51, 5051, 0,
175 -183, 5332, -85, 0, 0, 146, 5428, -35, 0, 0,
176 0, 147, 0, 4046, 4046, 0, 0, 0, 4046, 0,
9c8d0b29 177};
178short yyrindex[] = { 0,
c822f08a 179 0, 2000, 0, 0, 0, 0, 189, 0, 0, 0,
180 0, 56, 0, 3312, 0, 2591, 0, 0, 0, 0,
9c8d0b29 181 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
c822f08a 182 0, 0, 0, 0, 0, 0, 2138, 0, 1930, 1209,
183 3755, 0, 0, 0, 1818, 1394, 0, 0, 0, 151,
184 0, 0, 3707, 111, 0, 0, 381, 0, 0, 0,
185 0, 151, 100, 0, 0, 0, 564, 834, 889, 0,
186 0, 0, 436, 5378, 0, -49, -46, -43, 0, 2195,
187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188 2084, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 5378, 5378, 0, 0, 0, 0, -22, 0,
190 0, 0, 0, 2639, 0, 0, 0, 0, 0, 0,
191 151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
192 0, 0, 0, 5378, 0, 0, 0, 1872, 0, 0,
193 2878, 2923, 2968, 3037, 0, 1719, 1770, 943, 1016, 1286,
194 1340, 2536, 1664, 0, 0, 0, 0, 0, 0, 0,
195 0, 3245, 0, 0, 0, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 67, 67, 0, 0, 0, -34,
197 0, 0, 0, 12, 0, 0, 0, 0, 0, 101,
198 0, 0, 0, 0, 0, 491, 0, 0, 0, 0,
199 0, 3360, 3432, 0, 0, 0, 0, 0, 0, 0,
200 0, 0, 0, 4091, 104, 172, 0, 0, 136, 241,
201 247, 0, 0, 5378, 4146, 0, 0, 0, 0, 0,
202 0, 3520, 3640, 2266, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 0, 0, 0, 0, 137, 0, 0,
205 0, 100, 0, 4220, 4411, 4485, 4530, 4576, 0, 0,
206 0, 0, 0, 0, 0, 0, 296, 357, 0, 0,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 5378, 0, 0, 0, 0, 153, 0, 0, 0,
209 4841, 0, 5643, 0, 0, 0, 153, 0, 0, 0,
210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 211};
212short yygindex[] = { 0,
c822f08a 213 -15, 0, 0, 3236, -67, 0, 0, 0, 0, -29,
214 171, 4012, -19, 4, 14, 7669, 7480, -4, 0, 0,
215 0, -113, -201, 0, -232, -18,
9c8d0b29 216};
c822f08a 217#define YYTABLESIZE 7947
218short yytable[] = { 130,
219 82, 279, 82, 280, 97, 313, 121, 307, 6, 95,
220 93, 82, 94, 17, 96, 76, 18, 259, 16, 19,
221 107, 82, 80, 82, 121, 82, 275, 82, 252, 97,
222 85, 47, 122, 123, 95, 154, 155, 82, 77, 96,
223 82, 82, 82, 82, 82, 82, 110, 82, 78, 82,
224 158, 98, 124, 112, 100, 60, 101, 102, 82, 82,
225 82, 98, 82, 82, 306, 56, 194, 101, 102, 99,
226 124, 23, 235, 49, 312, 236, 229, 126, 127, 99,
227 50, 55, 32, 33, 48, 58, 98, 59, 76, 60,
228 253, 169, 60, 82, 82, 259, 60, 60, 60, 60,
229 60, 61, 60, 110, 99, 259, 63, 88, 261, 62,
230 87, 77, 82, 60, 60, 60, 64, 60, 60, 65,
231 79, 78, 112, 82, 82, 88, 121, 81, 88, 131,
232 115, 99, 132, 133, 145, 152, 157, 163, 165, 170,
233 204, 114, 211, 171, 116, 215, 216, 87, 60, 60,
234 87, 87, 87, 87, 217, 87, 263, 87, 218, 114,
235 219, 223, 116, 84, 126, 127, 245, 60, 87, 87,
236 87, 262, 87, 87, 282, 286, 283, 40, 60, 60,
237 303, 304, 305, 299, 234, 310, 311, 316, 1, 300,
238 88, 88, 88, 113, 113, 114, 0, 255, 0, 70,
239 317, 318, 0, 87, 87, 320, 0, 0, 0, 3,
240 4, 5, 118, 0, 0, 0, 0, 0, 0, 0,
241 0, 0, 87, 0, 302, 121, 121, 121, 83, 84,
242 118, 251, 284, 87, 87, 0, 0, 83, 84, 17,
243 17, 92, 18, 18, 0, 19, 19, 83, 84, 83,
244 84, 83, 84, 83, 84, 138, 0, 82, 82, 82,
245 82, 82, 82, 82, 82, 82, 16, 16, 82, 82,
246 153, 124, 124, 124, 82, 83, 84, 226, 227, 228,
247 82, 122, 82, 82, 82, 82, 82, 125, 82, 82,
248 82, 82, 82, 82, 82, 82, 82, 23, 82, 122,
249 82, 82, 82, 82, 82, 125, 196, 197, 32, 33,
250 0, 0, 60, 60, 60, 60, 60, 60, 60, 60,
251 60, 0, 0, 60, 60, 0, 88, 88, 88, 60,
252 0, 88, 0, 0, 0, 60, 115, 60, 60, 60,
9c8d0b29 253 60, 60, 0, 60, 60, 60, 60, 60, 60, 60,
c822f08a 254 60, 60, 0, 60, 115, 60, 60, 60, 60, 60,
255 114, 114, 114, 116, 116, 116, 0, 87, 87, 87,
9c8d0b29 256 87, 87, 87, 87, 87, 87, 0, 0, 87, 87,
c822f08a 257 55, 0, 0, 0, 87, 0, 0, 256, 257, 0,
258 87, 0, 87, 87, 87, 87, 87, 117, 87, 87,
9c8d0b29 259 87, 87, 87, 87, 87, 87, 87, 0, 87, 0,
c822f08a 260 87, 87, 87, 87, 87, 117, 0, 55, 0, 0,
261 55, 55, 55, 55, 55, 55, 0, 55, 0, 0,
262 0, 118, 118, 118, 0, 85, 0, 0, 55, 55,
263 0, 0, 55, 55, 0, 0, 0, 0, 0, 0,
264 0, 0, 298, 0, 0, 0, 0, 0, 0, 0,
265 0, 0, 0, 0, 0, 0, 0, 0, 0, 308,
266 0, 0, 85, 55, 55, 85, 85, 85, 85, 85,
267 85, 0, 85, 0, 0, 0, 0, 0, 0, 0,
268 23, 0, 55, 85, 85, 85, 0, 85, 85, 0,
269 122, 122, 122, 55, 55, 0, 125, 125, 125, 0,
270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
271 0, 0, 0, 0, 0, 0, 0, 23, 85, 85,
272 23, 23, 23, 23, 23, 23, 0, 23, 0, 0,
273 0, 0, 0, 0, 0, 0, 0, 0, 23, 23,
274 23, 0, 23, 23, 0, 115, 115, 115, 85, 85,
275 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 277 0, 0, 0, 23, 23, 0, 0, 0, 0, 0,
c822f08a 278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279 52, 0, 23, 52, 52, 52, 52, 52, 52, 0,
280 52, 0, 0, 23, 23, 0, 117, 117, 117, 0,
281 0, 52, 52, 52, 0, 52, 52, 0, 0, 0,
9c8d0b29 282 0, 0, 0, 0, 0, 0, 0, 55, 55, 55,
283 55, 55, 55, 55, 55, 55, 0, 0, 55, 55,
284 0, 0, 0, 0, 55, 0, 52, 0, 0, 0,
c822f08a 285 55, 0, 55, 55, 55, 55, 55, 0, 55, 55,
9c8d0b29 286 55, 55, 55, 55, 55, 55, 55, 0, 55, 0,
287 55, 55, 55, 55, 55, 0, 52, 52, 0, 0,
c822f08a 288 0, 0, 85, 85, 85, 85, 85, 85, 85, 85,
289 85, 0, 0, 85, 85, 0, 0, 0, 0, 85,
290 0, 0, 0, 0, 0, 85, 0, 85, 85, 85,
291 85, 85, 0, 85, 85, 85, 85, 85, 85, 85,
292 85, 85, 0, 85, 0, 85, 85, 85, 85, 85,
9c8d0b29 293 0, 0, 0, 0, 0, 0, 0, 23, 23, 23,
294 23, 23, 23, 23, 23, 23, 0, 0, 23, 23,
c822f08a 295 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
9c8d0b29 296 23, 0, 23, 23, 23, 23, 23, 0, 23, 23,
297 0, 23, 23, 23, 23, 23, 23, 0, 23, 0,
c822f08a 298 23, 23, 23, 23, 23, 0, 0, 0, 0, 0,
299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
302 0, 52, 52, 37, 0, 0, 0, 52, 0, 0,
303 0, 0, 0, 52, 0, 52, 52, 52, 52, 52,
304 0, 52, 52, 52, 52, 52, 52, 52, 52, 52,
305 0, 52, 0, 52, 52, 52, 52, 52, 0, 0,
306 37, 0, 0, 37, 37, 37, 37, 37, 37, 0,
307 37, 0, 0, 0, 0, 0, 0, 0, 51, 0,
308 0, 37, 37, 37, 0, 37, 37, 0, 0, 0,
309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
311 0, 0, 0, 0, 0, 51, 37, 37, 51, 51,
312 51, 51, 51, 51, 0, 51, 0, 0, 0, 0,
313 0, 0, 42, 0, 0, 37, 51, 51, 51, 0,
314 51, 51, 0, 0, 0, 0, 37, 37, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 316 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
c822f08a 317 0, 51, 42, 42, 42, 42, 42, 42, 0, 42,
318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
319 42, 42, 42, 0, 42, 42, 0, 0, 0, 0,
320 0, 51, 51, 0, 0, 43, 0, 0, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 43, 0, 0, 43, 43, 43, 43, 43,
325 43, 0, 43, 0, 0, 42, 42, 0, 0, 0,
326 0, 0, 0, 43, 43, 43, 0, 43, 43, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
329 0, 37, 37, 0, 0, 0, 0, 37, 43, 0,
330 0, 0, 0, 37, 0, 37, 37, 37, 37, 37,
331 0, 37, 37, 37, 37, 37, 37, 37, 37, 37,
332 0, 37, 0, 37, 0, 0, 37, 37, 43, 43,
333 0, 0, 0, 0, 0, 51, 51, 51, 51, 51,
334 51, 51, 51, 51, 0, 0, 51, 51, 0, 0,
335 0, 0, 51, 0, 0, 0, 0, 0, 51, 0,
336 51, 51, 51, 51, 51, 0, 51, 51, 51, 51,
337 51, 51, 51, 51, 51, 0, 51, 0, 51, 51,
338 51, 51, 51, 0, 0, 0, 0, 0, 0, 42,
339 42, 42, 42, 42, 42, 42, 42, 42, 14, 0,
340 42, 42, 0, 0, 0, 0, 42, 0, 0, 0,
341 0, 0, 42, 0, 42, 42, 42, 42, 42, 0,
342 42, 42, 42, 42, 42, 42, 42, 42, 42, 0,
343 42, 0, 42, 42, 42, 42, 42, 0, 14, 0,
344 0, 14, 0, 14, 0, 0, 0, 0, 0, 0,
345 0, 0, 0, 0, 0, 0, 0, 14, 0, 0,
346 0, 0, 43, 43, 43, 43, 43, 43, 43, 43,
347 43, 0, 0, 43, 43, 44, 0, 0, 0, 43,
348 0, 0, 0, 0, 0, 43, 0, 43, 43, 43,
349 43, 43, 0, 43, 43, 43, 43, 43, 43, 43,
350 43, 43, 0, 43, 0, 43, 43, 43, 43, 43,
351 0, 0, 44, 0, 0, 44, 44, 44, 44, 44,
352 44, 14, 44, 0, 0, 0, 0, 0, 0, 45,
353 0, 0, 0, 44, 44, 44, 0, 44, 44, 0,
354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
356 0, 0, 0, 0, 0, 0, 45, 0, 44, 45,
357 45, 45, 45, 45, 45, 0, 45, 0, 0, 0,
358 0, 0, 0, 37, 0, 0, 0, 45, 45, 45,
359 0, 45, 45, 0, 0, 0, 0, 0, 44, 44,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362 37, 0, 45, 37, 37, 37, 37, 37, 37, 0,
363 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364 0, 37, 37, 37, 0, 37, 37, 0, 0, 0,
365 0, 0, 45, 45, 0, 14, 14, 14, 14, 14,
366 14, 14, 14, 0, 0, 0, 14, 14, 0, 0,
367 0, 0, 0, 0, 0, 0, 37, 37, 14, 0,
368 14, 14, 14, 14, 14, 0, 0, 0, 0, 14,
369 14, 14, 14, 0, 0, 37, 14, 0, 14, 14,
370 14, 14, 14, 0, 0, 0, 37, 37, 0, 0,
371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 44, 44, 44, 44, 44, 44, 44, 44,
374 44, 0, 0, 44, 44, 0, 0, 0, 0, 44,
375 0, 66, 0, 0, 27, 44, 28, 44, 44, 44,
376 44, 44, 0, 44, 44, 44, 44, 44, 44, 44,
377 44, 44, 0, 44, 0, 44, 44, 44, 44, 44,
378 0, 0, 0, 0, 0, 0, 45, 45, 45, 45,
379 45, 45, 45, 45, 45, 0, 0, 45, 45, 0,
380 0, 0, 0, 45, 0, 0, 0, 0, 0, 45,
381 0, 45, 45, 45, 45, 45, 0, 45, 45, 45,
382 45, 45, 45, 45, 45, 45, 0, 45, 0, 45,
383 45, 45, 45, 45, 35, 0, 0, 27, 0, 28,
384 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
385 0, 37, 37, 36, 0, 0, 0, 37, 0, 0,
386 0, 0, 0, 37, 0, 37, 37, 37, 37, 37,
387 0, 0, 37, 37, 37, 37, 37, 37, 37, 37,
388 0, 37, 0, 37, 0, 0, 37, 37, 0, 0,
389 36, 0, 0, 36, 36, 36, 36, 36, 36, 0,
390 36, 0, 0, 0, 0, 0, 0, 0, 40, 0,
391 0, 36, 36, 36, 0, 36, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 36, 36, 40, 40,
395 0, 40, 40, 40, 0, 0, 0, 0, 0, 41,
396 0, 0, 0, 0, 0, 36, 40, 40, 40, 0,
397 40, 40, 0, 0, 12, 13, 36, 36, 0, 14,
9c8d0b29 398 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 399 0, 16, 0, 17, 18, 19, 0, 21, 0, 41,
400 41, 40, 41, 41, 41, 0, 0, 33, 0, 26,
401 0, 0, 30, 31, 32, 33, 0, 41, 41, 41,
402 0, 41, 41, 0, 0, 0, 0, 0, 0, 0,
403 0, 40, 40, 0, 0, 0, 0, 0, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 33, 33, 0,
405 0, 33, 41, 11, 0, 126, 127, 12, 13, 0,
406 0, 15, 14, 15, 0, 33, 33, 33, 0, 33,
407 33, 0, 0, 0, 16, 0, 17, 18, 19, 0,
408 21, 0, 41, 41, 0, 22, 23, 24, 25, 0,
409 0, 0, 26, 0, 29, 30, 31, 32, 33, 0,
410 33, 15, 0, 0, 15, 0, 15, 0, 0, 0,
411 36, 36, 36, 36, 36, 36, 36, 36, 36, 7,
412 15, 36, 36, 0, 0, 0, 0, 36, 0, 0,
413 33, 33, 0, 36, 0, 36, 36, 36, 36, 36,
414 0, 36, 0, 0, 36, 36, 36, 36, 36, 36,
415 0, 36, 0, 36, 36, 36, 36, 36, 0, 7,
416 0, 0, 7, 0, 7, 40, 40, 40, 40, 40,
417 40, 40, 40, 40, 0, 0, 40, 40, 7, 0,
418 0, 0, 40, 0, 15, 0, 0, 0, 40, 6,
419 40, 40, 40, 40, 40, 0, 40, 40, 40, 40,
420 40, 40, 40, 40, 40, 0, 40, 0, 40, 40,
421 40, 40, 40, 0, 0, 0, 41, 41, 41, 41,
422 41, 41, 41, 41, 41, 0, 0, 41, 41, 6,
423 0, 0, 6, 41, 6, 0, 0, 0, 0, 41,
424 0, 41, 41, 41, 41, 41, 0, 41, 41, 41,
425 41, 41, 41, 41, 41, 41, 0, 41, 0, 41,
426 41, 41, 41, 41, 33, 33, 33, 33, 33, 33,
427 33, 33, 33, 34, 0, 33, 33, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 33, 0, 33,
429 33, 33, 33, 33, 0, 33, 33, 33, 33, 33,
430 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
431 33, 33, 6, 34, 34, 0, 0, 34, 15, 15,
432 15, 15, 15, 15, 15, 15, 0, 12, 0, 15,
433 15, 34, 34, 34, 0, 34, 34, 0, 0, 0,
9c8d0b29 434 0, 15, 0, 15, 15, 15, 15, 15, 0, 0,
435 0, 0, 15, 15, 15, 15, 0, 0, 0, 15,
c822f08a 436 0, 15, 15, 15, 15, 15, 34, 12, 0, 0,
437 12, 0, 12, 0, 0, 0, 7, 7, 7, 7,
438 7, 7, 7, 7, 5, 0, 12, 7, 7, 0,
439 0, 0, 0, 0, 0, 0, 34, 34, 0, 7,
440 0, 7, 7, 7, 7, 7, 0, 0, 0, 0,
441 7, 7, 7, 7, 0, 0, 0, 7, 0, 7,
442 7, 7, 7, 7, 5, 0, 0, 5, 0, 5,
443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 0, 0, 6, 6, 6, 0,
445 12, 0, 6, 6, 0, 2, 0, 6, 6, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
447 0, 6, 6, 6, 6, 6, 0, 0, 0, 0,
448 6, 6, 6, 6, 0, 0, 0, 6, 0, 6,
449 6, 6, 6, 6, 0, 2, 0, 0, 2, 0,
450 2, 0, 0, 0, 0, 0, 0, 5, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 34, 34, 34, 34, 34, 34, 34, 34, 34, 0,
454 0, 34, 34, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 34, 0, 34, 34, 34, 34, 34,
456 0, 34, 34, 34, 34, 34, 34, 34, 34, 34,
457 0, 34, 0, 34, 34, 34, 34, 34, 2, 0,
458 0, 0, 0, 0, 12, 12, 12, 12, 0, 12,
459 12, 12, 0, 0, 0, 12, 12, 0, 0, 0,
460 0, 0, 0, 0, 0, 0, 0, 12, 0, 12,
461 12, 12, 12, 12, 0, 0, 0, 0, 12, 12,
462 12, 12, 0, 0, 0, 12, 0, 12, 12, 12,
463 12, 12, 0, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 464 0, 5, 5, 5, 0, 0, 0, 5, 5, 0,
c822f08a 465 0, 0, 5, 5, 0, 0, 66, 237, 0, 27,
466 238, 28, 0, 0, 5, 0, 5, 5, 5, 5,
467 5, 0, 0, 0, 0, 5, 5, 5, 5, 86,
9c8d0b29 468 0, 0, 5, 0, 5, 5, 5, 5, 5, 0,
c822f08a 469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 66, 239, 0, 27, 240, 28, 0,
471 0, 0, 2, 2, 2, 0, 0, 0, 2, 2,
472 0, 0, 0, 2, 2, 58, 86, 0, 0, 0,
473 0, 0, 0, 0, 0, 2, 0, 2, 2, 2,
474 2, 2, 0, 0, 0, 0, 2, 2, 2, 2,
9c8d0b29 475 0, 0, 0, 2, 0, 2, 2, 2, 2, 2,
c822f08a 476 0, 0, 58, 0, 0, 58, 58, 58, 58, 58,
477 58, 0, 58, 0, 0, 0, 0, 0, 0, 0,
478 54, 0, 0, 58, 58, 58, 0, 58, 58, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 54, 58, 58,
482 54, 54, 54, 54, 54, 54, 0, 54, 56, 0,
483 0, 0, 0, 0, 0, 0, 0, 58, 54, 54,
484 0, 0, 54, 54, 0, 0, 0, 0, 58, 58,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 56, 0, 0, 0, 56,
487 56, 0, 56, 54, 54, 56, 0, 0, 0, 12,
488 13, 0, 0, 0, 14, 15, 56, 56, 56, 0,
489 56, 56, 54, 0, 0, 0, 16, 0, 17, 18,
490 19, 0, 21, 54, 54, 0, 0, 22, 23, 24,
491 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
492 33, 56, 56, 0, 0, 0, 12, 13, 0, 0,
493 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
494 56, 0, 0, 16, 0, 17, 18, 19, 0, 21,
495 0, 56, 56, 0, 22, 23, 24, 25, 0, 0,
496 0, 26, 0, 0, 30, 31, 32, 33, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 58, 58, 58, 58, 58, 58, 58, 58,
499 58, 0, 0, 58, 58, 0, 0, 0, 0, 58,
500 0, 0, 0, 0, 0, 58, 0, 58, 58, 58,
501 58, 58, 0, 58, 58, 58, 58, 0, 58, 58,
502 58, 58, 0, 58, 0, 58, 58, 58, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,
504 54, 54, 54, 54, 54, 54, 0, 0, 54, 54,
505 0, 0, 0, 0, 54, 0, 0, 0, 0, 0,
506 54, 0, 54, 54, 54, 54, 54, 29, 54, 54,
507 54, 54, 0, 54, 54, 54, 54, 0, 54, 0,
508 54, 54, 54, 0, 0, 56, 56, 56, 56, 56,
509 56, 0, 0, 56, 0, 0, 0, 0, 0, 0,
510 0, 0, 56, 0, 29, 0, 0, 0, 29, 29,
511 0, 29, 25, 56, 29, 0, 56, 56, 56, 56,
512 56, 56, 56, 56, 56, 29, 29, 29, 56, 29,
513 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
515 0, 0, 0, 25, 25, 0, 25, 27, 0, 25,
516 29, 29, 0, 0, 0, 0, 0, 0, 0, 0,
517 25, 25, 25, 0, 25, 25, 0, 0, 0, 29,
518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
519 29, 29, 0, 0, 27, 0, 0, 0, 27, 27,
520 0, 27, 0, 0, 27, 25, 25, 0, 0, 0,
521 0, 0, 0, 0, 0, 27, 27, 27, 0, 27,
522 27, 0, 0, 0, 25, 0, 26, 0, 0, 0,
523 0, 0, 0, 0, 0, 25, 25, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 27, 27, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 26, 0, 0, 0, 26, 26, 27,
527 26, 0, 0, 26, 0, 0, 0, 0, 0, 0,
528 27, 27, 0, 0, 26, 26, 26, 0, 26, 26,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
532 26, 0, 0, 0, 29, 29, 29, 29, 29, 29,
533 0, 0, 29, 0, 0, 0, 0, 0, 26, 0,
534 0, 29, 0, 0, 0, 0, 0, 0, 0, 26,
535 26, 0, 29, 0, 0, 29, 29, 29, 29, 29,
536 29, 29, 29, 29, 0, 0, 0, 29, 0, 25,
537 25, 25, 25, 25, 25, 0, 0, 25, 0, 0,
538 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
539 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
540 25, 25, 25, 25, 25, 25, 25, 25, 25, 0,
541 0, 0, 25, 0, 27, 27, 27, 27, 27, 27,
542 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
543 0, 27, 0, 0, 57, 0, 0, 0, 0, 0,
544 0, 0, 27, 0, 0, 27, 27, 27, 27, 27,
545 27, 27, 27, 27, 0, 0, 0, 27, 0, 0,
546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547 0, 57, 103, 104, 0, 57, 57, 0, 57, 0,
548 0, 57, 0, 26, 26, 26, 26, 26, 26, 0,
549 0, 26, 57, 57, 57, 0, 57, 57, 0, 0,
550 26, 88, 0, 0, 0, 0, 134, 0, 136, 137,
551 0, 26, 0, 0, 26, 26, 26, 26, 26, 26,
552 26, 26, 26, 0, 0, 0, 26, 57, 57, 0,
553 0, 0, 0, 0, 0, 0, 159, 160, 88, 0,
554 0, 0, 88, 88, 0, 88, 57, 0, 88, 89,
555 0, 0, 0, 0, 0, 0, 0, 57, 57, 88,
556 88, 88, 0, 88, 88, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
559 89, 89, 0, 89, 88, 88, 89, 0, 0, 214,
560 0, 0, 0, 0, 0, 0, 0, 89, 89, 89,
561 222, 89, 224, 88, 225, 0, 0, 0, 0, 0,
562 0, 90, 0, 0, 88, 88, 0, 0, 0, 0,
563 0, 0, 0, 0, 0, 0, 247, 0, 0, 0,
564 0, 0, 89, 89, 0, 0, 0, 0, 0, 0,
565 0, 264, 265, 266, 267, 268, 0, 0, 90, 0,
566 0, 89, 90, 90, 0, 90, 0, 0, 90, 0,
567 0, 0, 89, 89, 0, 0, 0, 0, 0, 90,
568 90, 90, 0, 90, 0, 0, 0, 0, 0, 0,
569 0, 57, 57, 57, 57, 57, 57, 0, 0, 57,
570 292, 0, 0, 0, 294, 295, 296, 0, 57, 20,
571 301, 0, 0, 0, 90, 90, 0, 0, 0, 57,
572 0, 0, 57, 57, 57, 57, 57, 57, 57, 57,
573 57, 0, 0, 90, 57, 314, 315, 0, 0, 0,
574 0, 319, 0, 0, 90, 90, 20, 0, 0, 0,
575 20, 20, 0, 20, 0, 0, 20, 0, 88, 88,
576 88, 88, 88, 88, 0, 0, 88, 20, 20, 20,
577 0, 20, 0, 0, 0, 88, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 88, 0, 0, 88,
579 88, 88, 0, 0, 0, 0, 88, 88, 0, 0,
580 0, 88, 20, 20, 0, 0, 89, 89, 89, 89,
581 89, 89, 0, 0, 89, 0, 0, 0, 0, 66,
582 156, 20, 27, 89, 28, 0, 0, 0, 0, 35,
583 0, 0, 20, 20, 89, 0, 0, 89, 89, 89,
584 0, 0, 86, 0, 89, 89, 0, 0, 0, 89,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
587 35, 35, 0, 35, 0, 0, 35, 0, 90, 90,
588 90, 90, 90, 90, 0, 0, 90, 35, 35, 35,
589 0, 35, 0, 0, 0, 90, 86, 0, 0, 0,
590 0, 0, 0, 0, 0, 0, 90, 0, 0, 90,
591 90, 90, 0, 0, 0, 0, 90, 90, 0, 0,
592 0, 90, 35, 35, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 86, 0, 0, 0, 86, 86, 0,
594 0, 35, 0, 86, 16, 0, 0, 0, 0, 0,
595 0, 0, 35, 35, 86, 86, 86, 0, 86, 0,
596 0, 0, 0, 0, 0, 0, 20, 20, 20, 20,
597 20, 20, 0, 0, 20, 0, 0, 0, 0, 0,
598 0, 16, 0, 20, 0, 16, 16, 0, 16, 86,
599 86, 16, 0, 0, 20, 0, 0, 20, 20, 20,
600 0, 0, 16, 16, 20, 20, 0, 0, 86, 20,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
602 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 16, 16, 0,
9c8d0b29 604 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
c822f08a 605 0, 0, 0, 0, 0, 0, 16, 0, 0, 16,
606 0, 17, 18, 19, 0, 21, 0, 16, 16, 0,
607 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
608 30, 31, 32, 33, 0, 0, 35, 35, 35, 35,
609 35, 35, 0, 0, 35, 0, 0, 0, 0, 0,
610 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
611 0, 0, 0, 0, 35, 0, 0, 35, 35, 35,
612 0, 0, 0, 0, 35, 35, 0, 0, 0, 35,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 86, 86, 86, 86, 86, 86, 0,
616 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 617 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 618 0, 86, 0, 0, 86, 86, 86, 0, 0, 0,
619 0, 86, 86, 0, 0, 0, 86, 0, 0, 0,
620 0, 16, 16, 16, 16, 16, 16, 0, 41, 16,
621 0, 0, 0, 0, 0, 53, 0, 0, 16, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
623 41, 0, 16, 16, 16, 0, 41, 0, 0, 0,
624 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
625 106, 53, 109, 0, 0, 0, 113, 114, 0, 117,
626 119, 120, 0, 53, 53, 124, 125, 41, 0, 0,
627 0, 0, 0, 0, 0, 66, 0, 0, 27, 0,
628 28, 0, 0, 135, 0, 0, 41, 139, 141, 142,
629 143, 144, 0, 0, 189, 0, 0, 0, 0, 0,
630 0, 41, 0, 0, 0, 0, 0, 0, 0, 109,
631 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
632 110, 0, 53, 110, 0, 110, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 41, 41, 110,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
636 202, 203, 0, 0, 205, 206, 207, 208, 210, 0,
637 0, 0, 0, 212, 213, 109, 53, 53, 109, 0,
638 109, 220, 0, 0, 0, 221, 0, 0, 0, 0,
639 0, 0, 0, 0, 109, 0, 232, 0, 0, 233,
640 0, 0, 0, 110, 0, 110, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 41, 41,
642 258, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 270, 0, 271,
644 0, 272, 0, 273, 0, 274, 0, 0, 0, 103,
645 276, 0, 103, 0, 103, 277, 278, 0, 109, 0,
646 109, 0, 0, 53, 0, 0, 0, 0, 103, 0,
647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 174, 126, 127, 12, 13,
650 41, 175, 176, 14, 15, 177, 0, 178, 179, 0,
651 180, 181, 182, 183, 184, 16, 185, 17, 18, 19,
652 0, 21, 186, 0, 0, 0, 22, 23, 24, 25,
653 0, 0, 103, 26, 103, 0, 30, 31, 32, 33,
654 110, 0, 0, 110, 110, 0, 110, 110, 110, 110,
655 110, 110, 110, 110, 0, 110, 110, 110, 110, 110,
656 110, 110, 110, 110, 110, 0, 110, 110, 0, 0,
657 0, 110, 110, 110, 110, 0, 0, 0, 110, 0,
658 0, 110, 110, 110, 110, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 109, 0, 0, 109, 109,
660 0, 109, 109, 109, 109, 109, 109, 109, 109, 0,
661 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
662 0, 109, 109, 0, 0, 0, 109, 109, 109, 109,
663 0, 0, 0, 109, 0, 0, 109, 109, 109, 109,
664 104, 0, 0, 104, 0, 104, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
666 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
667 0, 0, 103, 103, 0, 103, 103, 103, 103, 103,
668 103, 103, 103, 0, 103, 103, 103, 103, 103, 103,
669 103, 103, 103, 103, 0, 103, 103, 0, 0, 0,
670 103, 103, 103, 103, 0, 0, 0, 103, 0, 0,
671 103, 103, 103, 103, 105, 0, 0, 105, 0, 105,
672 0, 0, 0, 104, 0, 104, 0, 0, 0, 0,
673 0, 0, 0, 105, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
676 0, 0, 102, 0, 102, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 105, 0, 105,
680 0, 0, 0, 0, 0, 108, 0, 0, 108, 0,
681 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 108, 0, 0, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 102, 0, 102, 0, 0, 0, 66, 105,
685 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
686 104, 0, 0, 104, 104, 0, 104, 104, 104, 104,
687 104, 104, 104, 104, 0, 104, 104, 104, 104, 104,
688 104, 104, 104, 104, 104, 0, 104, 104, 108, 0,
689 108, 104, 104, 104, 104, 0, 0, 0, 104, 0,
690 0, 104, 104, 104, 104, 0, 0, 0, 0, 0,
691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 0, 105, 0, 0, 105, 105, 0,
9c8d0b29 694 105, 105, 105, 105, 105, 105, 105, 105, 0, 105,
695 105, 105, 105, 105, 105, 105, 105, 105, 105, 0,
c822f08a 696 105, 105, 0, 0, 0, 105, 105, 105, 105, 0,
697 0, 0, 105, 0, 0, 105, 105, 105, 105, 102,
698 0, 0, 102, 102, 0, 102, 102, 102, 102, 102,
699 102, 102, 102, 0, 102, 102, 102, 102, 102, 102,
700 102, 102, 102, 102, 35, 102, 102, 27, 0, 28,
701 102, 102, 102, 102, 0, 0, 0, 102, 0, 0,
702 102, 102, 102, 102, 0, 108, 0, 0, 108, 108,
703 0, 108, 108, 108, 108, 108, 108, 108, 108, 0,
704 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
705 0, 108, 108, 0, 0, 0, 108, 108, 108, 108,
706 0, 0, 0, 108, 0, 0, 108, 108, 108, 108,
707 137, 12, 13, 137, 0, 137, 14, 15, 0, 0,
708 0, 0, 0, 0, 0, 0, 0, 34, 16, 137,
709 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
710 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
711 31, 32, 33, 0, 0, 66, 0, 0, 27, 0,
712 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
713 0, 0, 0, 0, 189, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
715 0, 0, 0, 137, 0, 137, 0, 0, 0, 0,
716 66, 0, 0, 27, 0, 28, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
720 188, 0, 0, 0, 0, 0, 66, 0, 0, 27,
721 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 9, 10, 11, 0, 189, 0, 12, 13, 0,
723 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 187, 16, 200, 17, 18, 19, 20,
725 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
726 0, 0, 26, 0, 29, 30, 31, 32, 33, 0,
727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
728 35, 0, 0, 27, 0, 28, 0, 0, 0, 187,
729 137, 201, 0, 137, 137, 0, 137, 137, 137, 137,
730 137, 137, 137, 137, 0, 137, 137, 137, 137, 137,
731 137, 137, 137, 137, 137, 0, 137, 137, 0, 0,
732 0, 137, 137, 137, 137, 0, 0, 0, 137, 0,
733 0, 137, 137, 137, 137, 174, 0, 0, 12, 13,
734 0, 175, 176, 14, 15, 177, 0, 178, 179, 0,
735 180, 181, 182, 183, 184, 16, 185, 17, 18, 19,
736 0, 21, 186, 0, 0, 0, 22, 23, 24, 25,
737 0, 0, 0, 26, 0, 0, 30, 31, 32, 33,
738 174, 0, 0, 12, 13, 0, 175, 176, 14, 15,
739 177, 0, 178, 179, 0, 180, 181, 182, 183, 184,
740 16, 185, 17, 18, 19, 0, 21, 186, 0, 0,
9c8d0b29 741 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
c822f08a 742 0, 30, 31, 32, 33, 0, 174, 0, 0, 12,
743 13, 0, 175, 176, 14, 15, 177, 0, 178, 179,
744 0, 180, 181, 182, 183, 184, 16, 185, 17, 18,
745 19, 0, 21, 186, 0, 0, 0, 22, 23, 24,
746 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
747 33, 66, 0, 0, 27, 0, 28, 0, 0, 0,
748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
749 189, 0, 0, 0, 0, 0, 0, 0, 0, 11,
750 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
751 0, 0, 0, 0, 0, 0, 66, 0, 0, 27,
752 16, 28, 17, 18, 19, 0, 21, 0, 0, 0,
753 0, 22, 23, 24, 25, 189, 0, 0, 26, 0,
754 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
755 0, 0, 0, 0, 187, 0, 231, 0, 0, 0,
756 0, 66, 0, 0, 27, 0, 28, 0, 0, 0,
9c8d0b29 757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 758 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
759 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
760 0, 285, 0, 0, 0, 0, 0, 107, 0, 0,
761 107, 0, 107, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 107, 0, 0, 0,
9c8d0b29 763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 764 0, 0, 0, 0, 187, 0, 309, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
766 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9c8d0b29 768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 769 107, 174, 107, 0, 12, 13, 0, 175, 176, 14,
770 15, 177, 0, 178, 179, 0, 180, 181, 182, 183,
771 184, 16, 185, 17, 18, 19, 0, 21, 186, 0,
772 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
773 0, 0, 30, 31, 32, 33, 174, 0, 0, 12,
774 13, 0, 175, 176, 14, 15, 177, 0, 178, 179,
775 0, 180, 181, 182, 183, 184, 16, 185, 17, 18,
776 19, 0, 21, 186, 0, 0, 0, 22, 23, 24,
777 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
778 33, 174, 0, 0, 12, 13, 0, 175, 176, 14,
779 15, 177, 0, 178, 179, 0, 180, 181, 182, 183,
780 184, 16, 185, 17, 18, 19, 66, 21, 186, 27,
781 111, 28, 22, 23, 24, 25, 0, 0, 0, 26,
782 0, 0, 30, 31, 32, 33, 89, 107, 90, 86,
783 107, 107, 0, 107, 107, 107, 107, 107, 0, 107,
784 107, 0, 107, 107, 107, 107, 107, 107, 107, 107,
785 107, 107, 0, 107, 107, 0, 0, 0, 107, 107,
786 107, 107, 0, 0, 0, 107, 0, 0, 107, 107,
787 107, 107, 130, 0, 0, 130, 0, 130, 0, 0,
788 12, 13, 0, 175, 176, 14, 15, 0, 0, 0,
789 0, 130, 180, 181, 182, 183, 184, 16, 0, 17,
790 18, 19, 0, 21, 186, 0, 0, 0, 22, 23,
791 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
792 32, 33, 66, 0, 0, 27, 0, 28, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 89, 0, 90, 86, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 130, 0, 130, 0, 0,
796 0, 0, 0, 0, 66, 241, 0, 27, 242, 28,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 86, 0, 0,
799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 66, 243,
801 0, 27, 244, 28, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
803 13, 86, 0, 0, 14, 15, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
805 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
806 25, 87, 88, 0, 26, 0, 0, 30, 31, 32,
807 33, 66, 248, 0, 27, 249, 28, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 130, 0, 86, 130, 130, 0, 130, 130,
810 130, 130, 130, 0, 130, 130, 0, 130, 130, 130,
811 130, 130, 130, 130, 130, 130, 130, 0, 130, 130,
812 0, 0, 0, 130, 130, 130, 130, 0, 0, 0,
813 130, 0, 0, 130, 130, 130, 130, 35, 0, 0,
814 27, 0, 28, 0, 0, 12, 13, 0, 0, 0,
815 14, 15, 0, 0, 0, 0, 297, 0, 0, 0,
816 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
817 0, 0, 0, 22, 23, 24, 25, 87, 88, 0,
818 26, 0, 0, 30, 31, 32, 33, 12, 13, 0,
819 0, 108, 14, 15, 27, 0, 28, 0, 0, 0,
9c8d0b29 820 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
c822f08a 821 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
822 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
823 0, 12, 13, 0, 0, 66, 14, 15, 27, 111,
824 28, 0, 0, 0, 0, 0, 0, 0, 16, 0,
825 17, 18, 19, 0, 21, 0, 0, 0, 86, 22,
826 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
827 31, 32, 33, 0, 0, 0, 0, 0, 66, 0,
828 0, 27, 161, 28, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 12, 13, 0, 0, 0, 14,
830 15, 86, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
832 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
833 0, 0, 30, 31, 32, 33, 66, 0, 0, 27,
834 164, 28, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 11, 0, 0, 86,
9c8d0b29 836 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
c822f08a 838 18, 19, 66, 21, 0, 27, 166, 28, 22, 23,
839 24, 25, 0, 0, 0, 26, 0, 29, 30, 31,
840 32, 33, 0, 0, 0, 86, 0, 0, 0, 0,
9c8d0b29 841 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
c822f08a 842 15, 0, 0, 0, 66, 0, 0, 27, 167, 28,
9c8d0b29 843 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
c822f08a 844 0, 0, 22, 23, 24, 25, 0, 86, 0, 26,
845 0, 29, 30, 31, 32, 33, 0, 0, 12, 13,
846 0, 0, 0, 14, 15, 0, 0, 66, 0, 0,
847 27, 172, 28, 0, 0, 16, 0, 17, 18, 19,
848 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
849 86, 0, 0, 26, 0, 0, 30, 31, 32, 33,
850 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
851 66, 0, 0, 27, 173, 28, 0, 0, 16, 0,
852 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
853 23, 24, 25, 86, 0, 0, 26, 0, 0, 30,
854 31, 32, 33, 0, 0, 0, 0, 0, 0, 0,
855 0, 0, 66, 0, 0, 27, 0, 28, 0, 12,
856 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
857 195, 0, 0, 0, 0, 86, 16, 0, 17, 18,
858 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
859 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
860 33, 0, 0, 0, 0, 12, 13, 0, 0, 66,
861 14, 15, 27, 0, 28, 0, 0, 0, 0, 0,
862 0, 0, 16, 0, 17, 18, 19, 198, 21, 0,
863 0, 0, 86, 22, 23, 24, 25, 0, 0, 0,
864 26, 0, 0, 30, 31, 32, 33, 12, 13, 0,
865 0, 0, 14, 15, 66, 0, 0, 27, 0, 28,
866 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
867 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
868 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
869 12, 13, 0, 0, 0, 14, 15, 0, 0, 66,
870 246, 0, 27, 0, 28, 0, 0, 16, 0, 17,
9c8d0b29 871 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
c822f08a 872 24, 25, 86, 0, 0, 26, 0, 0, 30, 31,
873 32, 33, 0, 12, 13, 0, 0, 0, 14, 15,
874 0, 0, 66, 250, 0, 27, 0, 28, 0, 0,
875 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
876 0, 22, 23, 24, 25, 86, 0, 0, 26, 0,
877 0, 30, 31, 32, 33, 12, 13, 0, 0, 0,
878 14, 15, 0, 0, 66, 281, 0, 27, 0, 28,
9c8d0b29 879 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
c822f08a 880 0, 0, 0, 22, 23, 24, 25, 86, 0, 0,
881 26, 0, 0, 30, 31, 32, 33, 0, 0, 0,
9c8d0b29 882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
c822f08a 883 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
884 0, 66, 287, 0, 27, 0, 28, 0, 0, 16,
885 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
886 22, 23, 24, 25, 86, 0, 0, 26, 0, 0,
887 30, 31, 32, 33, 0, 126, 127, 12, 13, 0,
888 0, 0, 14, 15, 0, 0, 66, 288, 0, 27,
889 0, 28, 0, 0, 16, 0, 17, 18, 19, 0,
890 21, 0, 0, 0, 0, 22, 23, 24, 25, 86,
891 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
892 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
893 0, 66, 289, 0, 27, 0, 28, 0, 0, 16,
894 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
895 22, 23, 24, 25, 86, 0, 0, 26, 0, 0,
896 30, 31, 32, 33, 0, 12, 13, 0, 0, 0,
897 14, 15, 0, 0, 66, 290, 0, 27, 0, 28,
9c8d0b29 898 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
c822f08a 899 0, 0, 0, 22, 23, 24, 25, 86, 0, 0,
900 26, 0, 0, 30, 31, 32, 33, 12, 13, 0,
901 0, 0, 14, 15, 0, 0, 66, 291, 0, 27,
902 0, 28, 0, 0, 16, 0, 17, 18, 19, 0,
903 21, 0, 0, 0, 0, 22, 23, 24, 25, 86,
904 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 12, 13, 0, 0, 0, 14,
907 15, 0, 0, 66, 293, 0, 27, 0, 28, 0,
908 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
909 0, 0, 22, 23, 24, 25, 86, 0, 0, 26,
910 0, 0, 30, 31, 32, 33, 0, 0, 0, 12,
911 13, 0, 0, 0, 14, 15, 0, 0, 0, 66,
912 0, 0, 27, 0, 28, 0, 16, 0, 17, 18,
913 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
914 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
915 33, 0, 0, 0, 12, 13, 0, 0, 0, 14,
916 15, 0, 0, 0, 0, 66, 0, 0, 27, 0,
917 28, 16, 0, 17, 18, 19, 0, 21, 0, 0,
918 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
919 0, 0, 30, 31, 32, 33, 0, 12, 13, 0,
9c8d0b29 920 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
c822f08a 921 0, 0, 0, 0, 16, 0, 17, 18, 19, 66,
922 21, 0, 27, 0, 28, 22, 23, 24, 25, 0,
923 0, 0, 26, 0, 0, 30, 31, 32, 33, 12,
924 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
926 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
927 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
928 33, 66, 0, 0, 27, 0, 28, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
9c8d0b29 930 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
c822f08a 932 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
933 0, 26, 0, 0, 30, 31, 32, 33, 116, 0,
934 0, 66, 12, 13, 27, 0, 28, 14, 15, 0,
9c8d0b29 935 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
c822f08a 936 0, 17, 18, 19, 86, 21, 0, 0, 0, 0,
937 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
938 30, 31, 32, 33, 118, 0, 0, 66, 12, 13,
939 27, 0, 28, 14, 15, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
941 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
942 0, 0, 0, 26, 0, 0, 30, 31, 32, 33,
943 51, 0, 0, 27, 0, 28, 0, 0, 140, 0,
9c8d0b29 944 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
946 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
c822f08a 947 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
948 30, 31, 32, 33, 66, 0, 0, 27, 0, 28,
949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
950 209, 0, 0, 0, 12, 13, 0, 0, 0, 14,
951 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
953 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
954 0, 0, 30, 31, 32, 33, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 12, 13, 0, 0, 0, 14,
957 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
959 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
960 0, 0, 30, 31, 32, 33, 269, 0, 0, 0,
961 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
962 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
963 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
964 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
965 32, 33, 0, 12, 13, 0, 0, 0, 14, 15,
966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
968 0, 22, 23, 24, 25, 57, 0, 0, 26, 0,
969 0, 30, 31, 32, 33, 0, 68, 68, 0, 71,
970 72, 0, 68, 0, 0, 0, 0, 12, 13, 0,
971 68, 0, 14, 15, 0, 0, 0, 0, 0, 0,
972 0, 0, 68, 0, 16, 0, 17, 18, 19, 0,
973 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
974 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, 68, 68, 68, 68, 68, 68, 0, 0,
977 0, 0, 0, 0, 0, 68, 0, 0, 68, 0,
978 0, 0, 68, 68, 0, 0, 68, 0, 68, 68,
979 0, 0, 0, 68, 68, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 68, 0, 0, 0, 68, 0,
981 68, 68, 68, 68, 0, 0, 0, 0, 0, 0,
982 0, 199, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 68, 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 68, 68, 0, 68, 68, 68, 68, 0, 68,
988 0, 68, 68, 0, 0, 67, 69, 0, 0, 68,
989 68, 73, 0, 0, 0, 0, 0, 0, 0, 91,
990 0, 68, 68, 0, 0, 0, 0, 0, 0, 0,
991 0, 91, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
993 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
994 68, 68, 68, 68, 0, 68, 68, 68, 0, 0,
995 0, 146, 147, 148, 149, 150, 151, 0, 0, 0,
996 0, 0, 0, 0, 91, 0, 0, 91, 0, 0,
997 0, 91, 91, 0, 0, 91, 0, 91, 91, 0,
998 0, 0, 91, 91, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 91, 0, 0, 0, 91, 0, 91,
1000 91, 91, 91, 0, 0, 0, 0, 0, 0, 0,
1001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 91, 91, 0, 91, 91, 91, 91, 0, 91, 0,
1007 91, 91, 0, 0, 0, 0, 0, 0, 91, 91,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 91, 91, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 91, 0, 0, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
1013 91, 91, 91, 0, 91, 91, 91,
9c8d0b29 1014};
1015short yycheck[] = { 41,
c822f08a 1016 0, 41, 63, 41, 37, 41, 41, 59, 59, 42,
1017 43, 63, 45, 63, 47, 35, 63, 219, 41, 63,
1018 50, 63, 38, 63, 59, 63, 123, 63, 62, 37,
1019 44, 123, 62, 63, 42, 103, 104, 37, 35, 47,
1020 40, 41, 42, 43, 44, 45, 51, 47, 35, 63,
1021 41, 94, 41, 44, 288, 0, 301, 302, 58, 59,
1022 60, 94, 62, 63, 297, 60, 134, 301, 302, 112,
1023 59, 292, 41, 40, 307, 44, 59, 261, 262, 112,
1024 40, 40, 303, 304, 123, 40, 94, 40, 108, 40,
1025 124, 121, 37, 93, 94, 297, 41, 42, 43, 44,
1026 45, 286, 47, 108, 112, 307, 91, 41, 222, 40,
1027 0, 108, 112, 58, 59, 60, 40, 62, 63, 40,
1028 261, 108, 44, 123, 124, 59, 40, 123, 62, 41,
1029 60, 112, 41, 41, 292, 280, 41, 44, 44, 41,
1030 292, 41, 41, 93, 41, 175, 176, 37, 93, 94,
1031 40, 41, 42, 43, 40, 45, 224, 47, 40, 59,
1032 40, 292, 59, 290, 261, 262, 41, 112, 58, 59,
1033 60, 91, 62, 63, 59, 41, 272, 7, 123, 124,
1034 294, 295, 296, 40, 200, 271, 41, 41, 0, 93,
1035 124, 41, 93, 41, 59, 59, -1, 216, -1, 29,
1036 314, 315, -1, 93, 94, 319, -1, -1, -1, 260,
1037 261, 262, 41, -1, -1, -1, -1, -1, -1, -1,
1038 -1, -1, 112, -1, 292, 260, 261, 262, 289, 290,
1039 59, 265, 262, 123, 124, -1, -1, 289, 290, 289,
1040 290, 274, 289, 290, -1, 289, 290, 289, 290, 289,
1041 290, 289, 290, 289, 290, 85, -1, 257, 258, 259,
1042 260, 261, 262, 263, 264, 265, 289, 290, 268, 269,
1043 100, 260, 261, 262, 274, 289, 290, 260, 261, 262,
1044 280, 41, 282, 283, 284, 285, 286, 41, 288, 289,
1045 290, 291, 292, 293, 294, 295, 296, 292, 298, 59,
1046 300, 301, 302, 303, 304, 59, 136, 137, 303, 304,
1047 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1048 265, -1, -1, 268, 269, -1, 260, 261, 262, 274,
1049 -1, 265, -1, -1, -1, 280, 41, 282, 283, 284,
9c8d0b29 1050 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1051 295, 296, -1, 298, 59, 300, 301, 302, 303, 304,
c822f08a 1052 260, 261, 262, 260, 261, 262, -1, 257, 258, 259,
9c8d0b29 1053 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
c822f08a 1054 0, -1, -1, -1, 274, -1, -1, 217, 218, -1,
9c8d0b29 1055 280, -1, 282, 283, 284, 285, 286, 41, 288, 289,
1056 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1057 300, 301, 302, 303, 304, 59, -1, 37, -1, -1,
c822f08a 1058 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
1059 -1, 260, 261, 262, -1, 0, -1, -1, 58, 59,
1060 -1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
1061 -1, -1, 282, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, 299,
1063 -1, -1, 37, 93, 94, 40, 41, 42, 43, 44,
1064 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1065 0, -1, 112, 58, 59, 60, -1, 62, 63, -1,
c822f08a 1066 260, 261, 262, 123, 124, -1, 260, 261, 262, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, -1, -1, -1, 37, 93, 94,
1069 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
1070 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
9c8d0b29 1071 60, -1, 62, 63, -1, 260, 261, 262, 123, 124,
c822f08a 1072 -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
1073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1074 -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
c822f08a 1075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1076 37, -1, 112, 40, 41, 42, 43, 44, 45, -1,
c822f08a 1077 47, -1, -1, 123, 124, -1, 260, 261, 262, -1,
9c8d0b29 1078 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1079 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1080 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1081 -1, -1, -1, -1, 274, -1, 93, -1, -1, -1,
c822f08a 1082 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
9c8d0b29 1083 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1084 300, 301, 302, 303, 304, -1, 123, 124, -1, -1,
1085 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1086 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
1087 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1088 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1089 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1090 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1091 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
c822f08a 1092 -1, -1, -1, -1, 274, -1, -1, -1, -1, -1,
9c8d0b29 1093 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
1094 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
c822f08a 1095 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1098 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1099 -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
c822f08a 1100 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
9c8d0b29 1101 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1102 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1103 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
c822f08a 1104 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
9c8d0b29 1105 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1108 -1, -1, -1, -1, -1, 37, 93, 94, 40, 41,
1109 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
1110 -1, -1, 0, -1, -1, 112, 58, 59, 60, -1,
1111 62, 63, -1, -1, -1, -1, 123, 124, -1, -1,
1112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1113 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
1114 -1, 93, 40, 41, 42, 43, 44, 45, -1, 47,
9c8d0b29 1115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1116 58, 59, 60, -1, 62, 63, -1, -1, -1, -1,
1117 -1, 123, 124, -1, -1, 0, -1, -1, -1, -1,
9c8d0b29 1118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1119 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
9c8d0b29 1120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1121 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
c822f08a 1122 45, -1, 47, -1, -1, 123, 124, -1, -1, -1,
9c8d0b29 1123 -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1125 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1126 -1, 268, 269, -1, -1, -1, -1, 274, 93, -1,
1127 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1128 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
c822f08a 1129 -1, 298, -1, 300, -1, -1, 303, 304, 123, 124,
1130 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1131 262, 263, 264, 265, -1, -1, 268, 269, -1, -1,
1132 -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
1133 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
1134 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1135 302, 303, 304, -1, -1, -1, -1, -1, -1, 257,
1136 258, 259, 260, 261, 262, 263, 264, 265, 0, -1,
1137 268, 269, -1, -1, -1, -1, 274, -1, -1, -1,
1138 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
1139 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
1140 298, -1, 300, 301, 302, 303, 304, -1, 40, -1,
1141 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1142 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
9c8d0b29 1143 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1144 265, -1, -1, 268, 269, 0, -1, -1, -1, 274,
1145 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1146 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1147 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1148 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
c822f08a 1149 45, 123, 47, -1, -1, -1, -1, -1, -1, 0,
9c8d0b29 1150 -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1153 -1, -1, -1, -1, -1, -1, 37, -1, 93, 40,
1154 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
c822f08a 1155 -1, -1, -1, 0, -1, -1, -1, 58, 59, 60,
9c8d0b29 1156 -1, 62, 63, -1, -1, -1, -1, -1, 123, 124,
1157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1159 37, -1, 93, 40, 41, 42, 43, 44, 45, -1,
1160 47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1161 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1162 -1, -1, 123, 124, -1, 257, 258, 259, 260, 261,
1163 262, 263, 264, -1, -1, -1, 268, 269, -1, -1,
1164 -1, -1, -1, -1, -1, -1, 93, 94, 280, -1,
1165 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
1166 292, 293, 294, -1, -1, 112, 298, -1, 300, 301,
1167 302, 303, 304, -1, -1, -1, 123, 124, -1, -1,
9c8d0b29 1168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1170 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1171 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
c822f08a 1172 -1, 40, -1, -1, 43, 280, 45, 282, 283, 284,
9c8d0b29 1173 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1174 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
c822f08a 1175 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
9c8d0b29 1176 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
1177 -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
c822f08a 1178 -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
9c8d0b29 1179 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
c822f08a 1180 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1181 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1182 -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
1183 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1184 -1, -1, 289, 290, 291, 292, 293, 294, 295, 296,
1185 -1, 298, -1, 300, -1, -1, 303, 304, -1, -1,
1186 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1187 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
1188 -1, 58, 59, 60, -1, 62, -1, -1, -1, -1,
9c8d0b29 1189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1191 -1, -1, -1, -1, -1, -1, 93, 94, 40, 41,
1192 -1, 43, 44, 45, -1, -1, -1, -1, -1, 0,
1193 -1, -1, -1, -1, -1, 112, 58, 59, 60, -1,
1194 62, 63, -1, -1, 263, 264, 123, 124, -1, 268,
1195 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1196 -1, 280, -1, 282, 283, 284, -1, 286, -1, 40,
1197 41, 93, 43, 44, 45, -1, -1, 0, -1, 298,
1198 -1, -1, 301, 302, 303, 304, -1, 58, 59, 60,
9c8d0b29 1199 -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1200 -1, 123, 124, -1, -1, -1, -1, -1, -1, -1,
1201 -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
1202 -1, 44, 93, 259, -1, 261, 262, 263, 264, -1,
1203 -1, 0, 268, 269, -1, 58, 59, 60, -1, 62,
1204 63, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1205 286, -1, 123, 124, -1, 291, 292, 293, 294, -1,
1206 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1207 93, 40, -1, -1, 43, -1, 45, -1, -1, -1,
1208 257, 258, 259, 260, 261, 262, 263, 264, 265, 0,
1209 59, 268, 269, -1, -1, -1, -1, 274, -1, -1,
1210 123, 124, -1, 280, -1, 282, 283, 284, 285, 286,
1211 -1, 288, -1, -1, 291, 292, 293, 294, 295, 296,
1212 -1, 298, -1, 300, 301, 302, 303, 304, -1, 40,
1213 -1, -1, 43, -1, 45, 257, 258, 259, 260, 261,
1214 262, 263, 264, 265, -1, -1, 268, 269, 59, -1,
1215 -1, -1, 274, -1, 123, -1, -1, -1, 280, 0,
1216 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
1217 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1218 302, 303, 304, -1, -1, -1, 257, 258, 259, 260,
1219 261, 262, 263, 264, 265, -1, -1, 268, 269, 40,
1220 -1, -1, 43, 274, 45, -1, -1, -1, -1, 280,
9c8d0b29 1221 -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
1222 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
c822f08a 1223 301, 302, 303, 304, 257, 258, 259, 260, 261, 262,
1224 263, 264, 265, 0, -1, 268, 269, -1, -1, -1,
1225 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1226 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
1227 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1228 303, 304, 123, 40, 41, -1, -1, 44, 257, 258,
1229 259, 260, 261, 262, 263, 264, -1, 0, -1, 268,
1230 269, 58, 59, 60, -1, 62, 63, -1, -1, -1,
9c8d0b29 1231 -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
1232 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
c822f08a 1233 -1, 300, 301, 302, 303, 304, 93, 40, -1, -1,
1234 43, -1, 45, -1, -1, -1, 257, 258, 259, 260,
1235 261, 262, 263, 264, 0, -1, 59, 268, 269, -1,
1236 -1, -1, -1, -1, -1, -1, 123, 124, -1, 280,
1237 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
1238 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1239 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
9c8d0b29 1240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1241 -1, -1, -1, -1, -1, -1, 257, 258, 259, -1,
1242 123, -1, 263, 264, -1, 0, -1, 268, 269, -1,
1243 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1244 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
1245 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1246 301, 302, 303, 304, -1, 40, -1, -1, 43, -1,
1247 45, -1, -1, -1, -1, -1, -1, 123, -1, -1,
9c8d0b29 1248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1250 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1251 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1252 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1253 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1254 -1, 298, -1, 300, 301, 302, 303, 304, 123, -1,
1255 -1, -1, -1, -1, 257, 258, 259, 260, -1, 262,
1256 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1257 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1258 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
1259 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
1260 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1261 -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
c822f08a 1262 -1, -1, 268, 269, -1, -1, 40, 41, -1, 43,
1263 44, 45, -1, -1, 280, -1, 282, 283, 284, 285,
1264 286, -1, -1, -1, -1, 291, 292, 293, 294, 63,
9c8d0b29 1265 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
9c8d0b29 1266 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1267 -1, -1, -1, 40, 41, -1, 43, 44, 45, -1,
1268 -1, -1, 257, 258, 259, -1, -1, -1, 263, 264,
1269 -1, -1, -1, 268, 269, 0, 63, -1, -1, -1,
1270 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1271 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1272 -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
1273 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1274 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
1275 0, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1278 -1, -1, -1, -1, -1, -1, -1, 37, 93, 94,
1279 40, 41, 42, 43, 44, 45, -1, 47, 0, -1,
1280 -1, -1, -1, -1, -1, -1, -1, 112, 58, 59,
1281 -1, -1, 62, 63, -1, -1, -1, -1, 123, 124,
1282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1283 -1, -1, -1, -1, -1, 37, -1, -1, -1, 41,
1284 42, -1, 44, 93, 94, 47, -1, -1, -1, 263,
1285 264, -1, -1, -1, 268, 269, 58, 59, 60, -1,
1286 62, 63, 112, -1, -1, -1, 280, -1, 282, 283,
1287 284, -1, 286, 123, 124, -1, -1, 291, 292, 293,
1288 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
1289 304, 93, 94, -1, -1, -1, 263, 264, -1, -1,
1290 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1291 112, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1292 -1, 123, 124, -1, 291, 292, 293, 294, -1, -1,
1293 -1, 298, -1, -1, 301, 302, 303, 304, -1, -1,
9c8d0b29 1294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1295 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1296 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
1297 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1298 285, 286, -1, 288, 289, 290, 291, -1, 293, 294,
1299 295, 296, -1, 298, -1, 300, 301, 302, -1, -1,
1300 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1301 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1302 -1, -1, -1, -1, 274, -1, -1, -1, -1, -1,
1303 280, -1, 282, 283, 284, 285, 286, 0, 288, 289,
1304 290, 291, -1, 293, 294, 295, 296, -1, 298, -1,
1305 300, 301, 302, -1, -1, 257, 258, 259, 260, 261,
1306 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
1307 -1, -1, 274, -1, 37, -1, -1, -1, 41, 42,
1308 -1, 44, 0, 285, 47, -1, 288, 289, 290, 291,
1309 292, 293, 294, 295, 296, 58, 59, 60, 300, 62,
9c8d0b29 1310 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1311 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
1312 -1, -1, -1, 41, 42, -1, 44, 0, -1, 47,
1313 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
1314 58, 59, 60, -1, 62, 63, -1, -1, -1, 112,
9c8d0b29 1315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1316 123, 124, -1, -1, 37, -1, -1, -1, 41, 42,
1317 -1, 44, -1, -1, 47, 93, 94, -1, -1, -1,
1318 -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
1319 63, -1, -1, -1, 112, -1, 0, -1, -1, -1,
1320 -1, -1, -1, -1, -1, 123, 124, -1, -1, -1,
9c8d0b29 1321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1322 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1323 -1, -1, -1, 37, -1, -1, -1, 41, 42, 112,
1324 44, -1, -1, 47, -1, -1, -1, -1, -1, -1,
1325 123, 124, -1, -1, 58, 59, 60, -1, 62, 63,
1326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1327 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1328 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
1329 94, -1, -1, -1, 257, 258, 259, 260, 261, 262,
1330 -1, -1, 265, -1, -1, -1, -1, -1, 112, -1,
1331 -1, 274, -1, -1, -1, -1, -1, -1, -1, 123,
1332 124, -1, 285, -1, -1, 288, 289, 290, 291, 292,
1333 293, 294, 295, 296, -1, -1, -1, 300, -1, 257,
1334 258, 259, 260, 261, 262, -1, -1, 265, -1, -1,
1335 -1, -1, -1, -1, -1, -1, 274, -1, -1, -1,
1336 -1, -1, -1, -1, -1, -1, -1, 285, -1, -1,
1337 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
1338 -1, -1, 300, -1, 257, 258, 259, 260, 261, 262,
1339 -1, -1, 265, -1, -1, -1, -1, -1, -1, -1,
1340 -1, 274, -1, -1, 0, -1, -1, -1, -1, -1,
9c8d0b29 1341 -1, -1, 285, -1, -1, 288, 289, 290, 291, 292,
c822f08a 1342 293, 294, 295, 296, -1, -1, -1, 300, -1, -1,
1343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1344 -1, 37, 47, 48, -1, 41, 42, -1, 44, -1,
1345 -1, 47, -1, 257, 258, 259, 260, 261, 262, -1,
1346 -1, 265, 58, 59, 60, -1, 62, 63, -1, -1,
1347 274, 0, -1, -1, -1, -1, 81, -1, 83, 84,
9c8d0b29 1348 -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
c822f08a 1349 294, 295, 296, -1, -1, -1, 300, 93, 94, -1,
1350 -1, -1, -1, -1, -1, -1, 111, 112, 37, -1,
1351 -1, -1, 41, 42, -1, 44, 112, -1, 47, 0,
1352 -1, -1, -1, -1, -1, -1, -1, 123, 124, 58,
1353 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
1354 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1355 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
1356 41, 42, -1, 44, 93, 94, 47, -1, -1, 174,
1357 -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
1358 185, 62, 187, 112, 189, -1, -1, -1, -1, -1,
1359 -1, 0, -1, -1, 123, 124, -1, -1, -1, -1,
1360 -1, -1, -1, -1, -1, -1, 211, -1, -1, -1,
1361 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
1362 -1, 226, 227, 228, 229, 230, -1, -1, 37, -1,
1363 -1, 112, 41, 42, -1, 44, -1, -1, 47, -1,
1364 -1, -1, 123, 124, -1, -1, -1, -1, -1, 58,
1365 59, 60, -1, 62, -1, -1, -1, -1, -1, -1,
1366 -1, 257, 258, 259, 260, 261, 262, -1, -1, 265,
1367 275, -1, -1, -1, 279, 280, 281, -1, 274, 0,
1368 285, -1, -1, -1, 93, 94, -1, -1, -1, 285,
9c8d0b29 1369 -1, -1, 288, 289, 290, 291, 292, 293, 294, 295,
c822f08a 1370 296, -1, -1, 112, 300, 310, 311, -1, -1, -1,
1371 -1, 316, -1, -1, 123, 124, 37, -1, -1, -1,
1372 41, 42, -1, 44, -1, -1, 47, -1, 257, 258,
1373 259, 260, 261, 262, -1, -1, 265, 58, 59, 60,
1374 -1, 62, -1, -1, -1, 274, -1, -1, -1, -1,
1375 -1, -1, -1, -1, -1, -1, 285, -1, -1, 288,
1376 289, 290, -1, -1, -1, -1, 295, 296, -1, -1,
1377 -1, 300, 93, 94, -1, -1, 257, 258, 259, 260,
1378 261, 262, -1, -1, 265, -1, -1, -1, -1, 40,
1379 41, 112, 43, 274, 45, -1, -1, -1, -1, 0,
1380 -1, -1, 123, 124, 285, -1, -1, 288, 289, 290,
1381 -1, -1, 63, -1, 295, 296, -1, -1, -1, 300,
1382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
1384 41, 42, -1, 44, -1, -1, 47, -1, 257, 258,
1385 259, 260, 261, 262, -1, -1, 265, 58, 59, 60,
1386 -1, 62, -1, -1, -1, 274, 0, -1, -1, -1,
1387 -1, -1, -1, -1, -1, -1, 285, -1, -1, 288,
1388 289, 290, -1, -1, -1, -1, 295, 296, -1, -1,
1389 -1, 300, 93, 94, -1, -1, -1, -1, -1, -1,
1390 -1, -1, -1, 37, -1, -1, -1, 41, 42, -1,
1391 -1, 112, -1, 47, 0, -1, -1, -1, -1, -1,
1392 -1, -1, 123, 124, 58, 59, 60, -1, 62, -1,
1393 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
1394 261, 262, -1, -1, 265, -1, -1, -1, -1, -1,
1395 -1, 37, -1, 274, -1, 41, 42, -1, 44, 93,
1396 94, 47, -1, -1, 285, -1, -1, 288, 289, 290,
1397 -1, -1, 58, 59, 295, 296, -1, -1, 112, 300,
1398 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
1399 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1400 -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
9c8d0b29 1401 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
c822f08a 1402 -1, -1, -1, -1, -1, -1, 112, -1, -1, 280,
1403 -1, 282, 283, 284, -1, 286, -1, 123, 124, -1,
1404 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
1405 301, 302, 303, 304, -1, -1, 257, 258, 259, 260,
1406 261, 262, -1, -1, 265, -1, -1, -1, -1, -1,
1407 -1, -1, -1, 274, -1, -1, -1, -1, -1, -1,
1408 -1, -1, -1, -1, 285, -1, -1, 288, 289, 290,
1409 -1, -1, -1, -1, 295, 296, -1, -1, -1, 300,
9c8d0b29 1410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1412 -1, -1, -1, 257, 258, 259, 260, 261, 262, -1,
1413 -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
1414 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1415 -1, 285, -1, -1, 288, 289, 290, -1, -1, -1,
1416 -1, 295, 296, -1, -1, -1, 300, -1, -1, -1,
1417 -1, 257, 258, 259, 260, 261, 262, -1, 7, 265,
1418 -1, -1, -1, -1, -1, 14, -1, -1, 274, -1,
1419 -1, -1, -1, -1, -1, -1, -1, -1, -1, 285,
1420 29, -1, 288, 289, 290, -1, 35, -1, -1, -1,
1421 -1, -1, -1, -1, 300, -1, -1, -1, -1, -1,
1422 49, 50, 51, -1, -1, -1, 55, 56, -1, 58,
1423 59, 60, -1, 62, 63, 64, 65, 66, -1, -1,
1424 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1425 45, -1, -1, 82, -1, -1, 85, 86, 87, 88,
1426 89, 90, -1, -1, 59, -1, -1, -1, -1, -1,
1427 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
1428 -1, -1, -1, -1, -1, -1, 115, -1, -1, -1,
1429 40, -1, 121, 43, -1, 45, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, 136, 137, 59,
1431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1433 159, 160, -1, -1, 163, 164, 165, 166, 167, -1,
1434 -1, -1, -1, 172, 173, 40, 175, 176, 43, -1,
1435 45, 180, -1, -1, -1, 184, -1, -1, -1, -1,
1436 -1, -1, -1, -1, 59, -1, 195, -1, -1, 198,
1437 -1, -1, -1, 123, -1, 125, -1, -1, -1, -1,
1438 -1, -1, -1, -1, -1, -1, -1, -1, 217, 218,
1439 219, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1440 -1, -1, -1, -1, -1, -1, -1, 236, -1, 238,
1441 -1, 240, -1, 242, -1, 244, -1, -1, -1, 40,
1442 249, -1, 43, -1, 45, 254, 255, -1, 123, -1,
1443 125, -1, -1, 262, -1, -1, -1, -1, 59, -1,
1444 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1445 -1, -1, -1, 282, -1, -1, -1, -1, -1, -1,
1446 -1, -1, -1, -1, -1, 260, 261, 262, 263, 264,
1447 299, 266, 267, 268, 269, 270, -1, 272, 273, -1,
1448 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1449 -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
1450 -1, -1, 123, 298, 125, -1, 301, 302, 303, 304,
1451 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
1452 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
1453 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
1454 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1455 -1, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1456 -1, -1, -1, -1, -1, 260, -1, -1, 263, 264,
9c8d0b29 1457 -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
1458 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1459 -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
c822f08a 1460 -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
1461 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
1462 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
1463 -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
9c8d0b29 1464 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1465 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
c822f08a 1466 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
1467 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
9c8d0b29 1468 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
c822f08a 1469 -1, -1, -1, 123, -1, 125, -1, -1, -1, -1,
1470 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
9c8d0b29 1471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1472 -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
9c8d0b29 1473 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1474 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
9c8d0b29 1475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1476 -1, -1, -1, -1, -1, -1, -1, 123, -1, 125,
1477 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1478 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1479 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
9c8d0b29 1480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1481 -1, -1, 123, -1, 125, -1, -1, -1, 40, 41,
1482 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1483 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
1484 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
1485 280, 281, 282, 283, 284, -1, 286, 287, 123, -1,
1486 125, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1487 -1, 301, 302, 303, 304, -1, -1, -1, -1, -1,
9c8d0b29 1488 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1489 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1490 -1, -1, -1, -1, 260, -1, -1, 263, 264, -1,
1491 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
9c8d0b29 1492 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
c822f08a 1493 286, 287, -1, -1, -1, 291, 292, 293, 294, -1,
1494 -1, -1, 298, -1, -1, 301, 302, 303, 304, 260,
1495 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1496 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1497 281, 282, 283, 284, 40, 286, 287, 43, -1, 45,
1498 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
1499 301, 302, 303, 304, -1, 260, -1, -1, 263, 264,
1500 -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
1501 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1502 -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
1503 -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
1504 40, 263, 264, 43, -1, 45, 268, 269, -1, -1,
1505 -1, -1, -1, -1, -1, -1, -1, 123, 280, 59,
1506 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
1507 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
1508 302, 303, 304, -1, -1, 40, -1, -1, 43, -1,
1509 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1510 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
1511 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1512 -1, -1, -1, 123, -1, 125, -1, -1, -1, -1,
1513 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
1514 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
1515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1516 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1517 125, -1, -1, -1, -1, -1, 40, -1, -1, 43,
1518 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
1519 -1, 257, 258, 259, -1, 59, -1, 263, 264, -1,
1520 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1521 -1, -1, -1, 123, 280, 125, 282, 283, 284, 285,
1522 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1523 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1525 40, -1, -1, 43, -1, 45, -1, -1, -1, 123,
1526 260, 125, -1, 263, 264, -1, 266, 267, 268, 269,
1527 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
1528 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
1529 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1530 -1, 301, 302, 303, 304, 260, -1, -1, 263, 264,
1531 -1, 266, 267, 268, 269, 270, -1, 272, 273, -1,
1532 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1533 -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
1534 -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
1535 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
1536 270, -1, 272, 273, -1, 275, 276, 277, 278, 279,
1537 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
1538 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1539 -1, 301, 302, 303, 304, -1, 260, -1, -1, 263,
9c8d0b29 1540 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
1541 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1542 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
c822f08a 1543 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
9c8d0b29 1544 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
9c8d0b29 1545 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1546 59, -1, -1, -1, -1, -1, -1, -1, -1, 259,
1547 -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
1548 -1, -1, -1, -1, -1, -1, 40, -1, -1, 43,
1549 280, 45, 282, 283, 284, -1, 286, -1, -1, -1,
1550 -1, 291, 292, 293, 294, 59, -1, -1, 298, -1,
1551 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1552 -1, -1, -1, -1, 123, -1, 125, -1, -1, -1,
1553 -1, 40, -1, -1, 43, -1, 45, -1, -1, -1,
9c8d0b29 1554 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1555 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1556 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
1557 -1, 125, -1, -1, -1, -1, -1, 40, -1, -1,
1558 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1559 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
9c8d0b29 1560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1561 -1, -1, -1, -1, 123, -1, 125, -1, -1, -1,
1562 -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
1563 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
9c8d0b29 1565 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1566 123, 260, 125, -1, 263, 264, -1, 266, 267, 268,
9c8d0b29 1567 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
1568 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
1569 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
c822f08a 1570 -1, -1, 301, 302, 303, 304, 260, -1, -1, 263,
1571 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
1572 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1573 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
1574 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
1575 304, 260, -1, -1, 263, 264, -1, 266, 267, 268,
1576 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
1577 279, 280, 281, 282, 283, 284, 40, 286, 287, 43,
1578 44, 45, 291, 292, 293, 294, -1, -1, -1, 298,
1579 -1, -1, 301, 302, 303, 304, 60, 260, 62, 63,
1580 263, 264, -1, 266, 267, 268, 269, 270, -1, 272,
1581 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
1582 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
1583 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
1584 303, 304, 40, -1, -1, 43, -1, 45, -1, -1,
1585 263, 264, -1, 266, 267, 268, 269, -1, -1, -1,
1586 -1, 59, 275, 276, 277, 278, 279, 280, -1, 282,
1587 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
1588 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
1589 303, 304, 40, -1, -1, 43, -1, 45, -1, -1,
9c8d0b29 1590 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1591 -1, -1, 60, -1, 62, 63, -1, -1, -1, -1,
1592 -1, -1, -1, -1, -1, 123, -1, 125, -1, -1,
1593 -1, -1, -1, -1, 40, 41, -1, 43, 44, 45,
9c8d0b29 1594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1595 -1, -1, -1, -1, -1, -1, -1, 63, -1, -1,
9c8d0b29 1596 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1597 -1, -1, -1, -1, -1, -1, -1, -1, 40, 41,
1598 -1, 43, 44, 45, -1, -1, -1, -1, -1, -1,
1599 -1, -1, -1, -1, -1, -1, -1, -1, -1, 263,
1600 264, 63, -1, -1, 268, 269, -1, -1, -1, -1,
1601 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
1602 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
1603 294, 295, 296, -1, 298, -1, -1, 301, 302, 303,
1604 304, 40, 41, -1, 43, 44, 45, -1, -1, -1,
9c8d0b29 1605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1606 -1, -1, 260, -1, 63, 263, 264, -1, 266, 267,
1607 268, 269, 270, -1, 272, 273, -1, 275, 276, 277,
1608 278, 279, 280, 281, 282, 283, 284, -1, 286, 287,
1609 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1610 298, -1, -1, 301, 302, 303, 304, 40, -1, -1,
1611 43, -1, 45, -1, -1, 263, 264, -1, -1, -1,
1612 268, 269, -1, -1, -1, -1, 59, -1, -1, -1,
1613 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1614 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1615 298, -1, -1, 301, 302, 303, 304, 263, 264, -1,
9c8d0b29 1616 -1, 40, 268, 269, 43, -1, 45, -1, -1, -1,
9c8d0b29 1617 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
c822f08a 1618 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1619 -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
1620 -1, 263, 264, -1, -1, 40, 268, 269, 43, 44,
1621 45, -1, -1, -1, -1, -1, -1, -1, 280, -1,
1622 282, 283, 284, -1, 286, -1, -1, -1, 63, 291,
1623 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
1624 302, 303, 304, -1, -1, -1, -1, -1, 40, -1,
1625 -1, 43, 44, 45, -1, -1, -1, -1, -1, -1,
1626 -1, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1627 269, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1628 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1629 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1630 -1, -1, 301, 302, 303, 304, 40, -1, -1, 43,
1631 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
1632 -1, -1, -1, -1, -1, -1, 259, -1, -1, 63,
9c8d0b29 1633 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1634 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
c822f08a 1635 283, 284, 40, 286, -1, 43, 44, 45, 291, 292,
1636 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
1637 303, 304, -1, -1, -1, 63, -1, -1, -1, -1,
9c8d0b29 1638 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
c822f08a 1639 269, -1, -1, -1, 40, -1, -1, 43, 44, 45,
9c8d0b29 1640 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
c822f08a 1641 -1, -1, 291, 292, 293, 294, -1, 63, -1, 298,
1642 -1, 300, 301, 302, 303, 304, -1, -1, 263, 264,
1643 -1, -1, -1, 268, 269, -1, -1, 40, -1, -1,
1644 43, 44, 45, -1, -1, 280, -1, 282, 283, 284,
1645 -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1646 63, -1, -1, 298, -1, -1, 301, 302, 303, 304,
1647 -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
1648 40, -1, -1, 43, 44, 45, -1, -1, 280, -1,
1649 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
1650 292, 293, 294, 63, -1, -1, 298, -1, -1, 301,
1651 302, 303, 304, -1, -1, -1, -1, -1, -1, -1,
1652 -1, -1, 40, -1, -1, 43, -1, 45, -1, 263,
1653 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
1654 58, -1, -1, -1, -1, 63, 280, -1, 282, 283,
1655 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
1656 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
1657 304, -1, -1, -1, -1, 263, 264, -1, -1, 40,
1658 268, 269, 43, -1, 45, -1, -1, -1, -1, -1,
1659 -1, -1, 280, -1, 282, 283, 284, 58, 286, -1,
1660 -1, -1, 63, 291, 292, 293, 294, -1, -1, -1,
1661 298, -1, -1, 301, 302, 303, 304, 263, 264, -1,
1662 -1, -1, 268, 269, 40, -1, -1, 43, -1, 45,
1663 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1664 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1665 -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
1666 263, 264, -1, -1, -1, 268, 269, -1, -1, 40,
1667 41, -1, 43, -1, 45, -1, -1, 280, -1, 282,
9c8d0b29 1668 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
c822f08a 1669 293, 294, 63, -1, -1, 298, -1, -1, 301, 302,
1670 303, 304, -1, 263, 264, -1, -1, -1, 268, 269,
1671 -1, -1, 40, 41, -1, 43, -1, 45, -1, -1,
1672 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
1673 -1, 291, 292, 293, 294, 63, -1, -1, 298, -1,
1674 -1, 301, 302, 303, 304, 263, 264, -1, -1, -1,
1675 268, 269, -1, -1, 40, 41, -1, 43, -1, 45,
9c8d0b29 1676 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
c822f08a 1677 -1, -1, -1, 291, 292, 293, 294, 63, -1, -1,
1678 298, -1, -1, 301, 302, 303, 304, -1, -1, -1,
9c8d0b29 1679 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
c822f08a 1680 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1681 -1, 40, 41, -1, 43, -1, 45, -1, -1, 280,
1682 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
1683 291, 292, 293, 294, 63, -1, -1, 298, -1, -1,
1684 301, 302, 303, 304, -1, 261, 262, 263, 264, -1,
1685 -1, -1, 268, 269, -1, -1, 40, 41, -1, 43,
1686 -1, 45, -1, -1, 280, -1, 282, 283, 284, -1,
1687 286, -1, -1, -1, -1, 291, 292, 293, 294, 63,
1688 -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
1689 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1690 -1, 40, 41, -1, 43, -1, 45, -1, -1, 280,
1691 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
1692 291, 292, 293, 294, 63, -1, -1, 298, -1, -1,
1693 301, 302, 303, 304, -1, 263, 264, -1, -1, -1,
1694 268, 269, -1, -1, 40, 41, -1, 43, -1, 45,
9c8d0b29 1695 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
c822f08a 1696 -1, -1, -1, 291, 292, 293, 294, 63, -1, -1,
1697 298, -1, -1, 301, 302, 303, 304, 263, 264, -1,
1698 -1, -1, 268, 269, -1, -1, 40, 41, -1, 43,
1699 -1, 45, -1, -1, 280, -1, 282, 283, 284, -1,
1700 286, -1, -1, -1, -1, 291, 292, 293, 294, 63,
1701 -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
1702 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1703 -1, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1704 269, -1, -1, 40, 41, -1, 43, -1, 45, -1,
1705 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1706 -1, -1, 291, 292, 293, 294, 63, -1, -1, 298,
1707 -1, -1, 301, 302, 303, 304, -1, -1, -1, 263,
1708 264, -1, -1, -1, 268, 269, -1, -1, -1, 40,
1709 -1, -1, 43, -1, 45, -1, 280, -1, 282, 283,
1710 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
1711 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
1712 304, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1713 269, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1714 45, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1715 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1716 -1, -1, 301, 302, 303, 304, -1, 263, 264, -1,
9c8d0b29 1717 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
c822f08a 1718 -1, -1, -1, -1, 280, -1, 282, 283, 284, 40,
1719 286, -1, 43, -1, 45, 291, 292, 293, 294, -1,
1720 -1, -1, 298, -1, -1, 301, 302, 303, 304, 263,
1721 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
1722 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
1723 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
1724 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
1725 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
1726 -1, -1, -1, -1, -1, -1, 263, 264, -1, -1,
9c8d0b29 1727 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1728 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
c822f08a 1729 -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
1730 -1, 298, -1, -1, 301, 302, 303, 304, 259, -1,
1731 -1, 40, 263, 264, 43, -1, 45, 268, 269, -1,
9c8d0b29 1732 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
c822f08a 1733 -1, 282, 283, 284, 63, 286, -1, -1, -1, -1,
1734 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
1735 301, 302, 303, 304, 259, -1, -1, 40, 263, 264,
1736 43, -1, 45, 268, 269, -1, -1, -1, -1, -1,
1737 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1738 -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1739 -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
1740 40, -1, -1, 43, -1, 45, -1, -1, 259, -1,
9c8d0b29 1741 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1742 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1743 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
c822f08a 1744 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
1745 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1747 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1748 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1749 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1750 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1751 -1, -1, 301, 302, 303, 304, -1, -1, -1, -1,
1752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1753 -1, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1754 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1755 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1756 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1757 -1, -1, 301, 302, 303, 304, 259, -1, -1, -1,
1758 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1759 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1760 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1761 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
1762 303, 304, -1, 263, 264, -1, -1, -1, 268, 269,
1763 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1764 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
1765 -1, 291, 292, 293, 294, 16, -1, -1, 298, -1,
1766 -1, 301, 302, 303, 304, -1, 27, 28, -1, 30,
1767 31, -1, 33, -1, -1, -1, -1, 263, 264, -1,
1768 41, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1769 -1, -1, 53, -1, 280, -1, 282, 283, 284, -1,
1770 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1771 -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
1772 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1773 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
1774 -1, -1, -1, -1, -1, 106, -1, -1, 109, -1,
1775 -1, -1, 113, 114, -1, -1, 117, -1, 119, 120,
1776 -1, -1, -1, 124, 125, -1, -1, -1, -1, -1,
1777 -1, -1, -1, -1, 135, -1, -1, -1, 139, -1,
1778 141, 142, 143, 144, -1, -1, -1, -1, -1, -1,
1779 -1, 152, -1, -1, -1, -1, -1, -1, -1, -1,
1780 -1, 162, -1, -1, -1, -1, -1, -1, -1, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, -1, -1, -1, -1, -1, -1, -1, 190,
1783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1784 -1, 202, 203, -1, 205, 206, 207, 208, -1, 210,
1785 -1, 212, 213, -1, -1, 27, 28, -1, -1, 220,
1786 221, 33, -1, -1, -1, -1, -1, -1, -1, 41,
1787 -1, 232, 233, -1, -1, -1, -1, -1, -1, -1,
1788 -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
1789 -1, -1, -1, -1, -1, -1, -1, 258, -1, -1,
1790 -1, -1, -1, -1, -1, -1, -1, -1, -1, 270,
1791 271, 272, 273, 274, -1, 276, 277, 278, -1, -1,
1792 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
1793 -1, -1, -1, -1, 106, -1, -1, 109, -1, -1,
1794 -1, 113, 114, -1, -1, 117, -1, 119, 120, -1,
1795 -1, -1, 124, 125, -1, -1, -1, -1, -1, -1,
1796 -1, -1, -1, 135, -1, -1, -1, 139, -1, 141,
1797 142, 143, 144, -1, -1, -1, -1, -1, -1, -1,
1798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1799 162, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1800 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, -1, -1, 190, -1,
1802 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1803 202, 203, -1, 205, 206, 207, 208, -1, 210, -1,
1804 212, 213, -1, -1, -1, -1, -1, -1, 220, 221,
1805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1806 232, 233, -1, -1, -1, -1, -1, -1, -1, -1,
1807 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1808 -1, -1, -1, -1, -1, -1, 258, -1, -1, -1,
1809 -1, -1, -1, -1, -1, -1, -1, -1, 270, 271,
1810 272, 273, 274, -1, 276, 277, 278,
9c8d0b29 1811};
1812#define YYFINAL 1
1813#ifndef YYDEBUG
1814#define YYDEBUG 0
1815#endif
1816#define YYMAXTOKEN 304
1817#if YYDEBUG
1818char *yyname[] = {
1819"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
18200,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
1821"':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
18220,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0,
18230,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
18240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
18250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
18260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
1827"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT",
1828"IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE",
1829"DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR",
1830"ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING",
1831"UMINUS","NOT","INCR","DECR","FIELD","VFIELD",
1832};
1833char *yyrule[] = {
1834"$accept : program",
1835"program : junk hunks",
1836"begin : BEGIN '{' maybe states '}' junk",
1837"end : END '{' maybe states '}'",
1838"end : end NEWLINE",
1839"hunks : hunks hunk junk",
1840"hunks :",
1841"hunk : patpat",
1842"hunk : patpat '{' maybe states '}'",
1843"hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
1844"hunk : '{' maybe states '}'",
1845"hunk : begin",
1846"hunk : end",
1847"arg_list : expr_list",
1848"patpat : cond",
1849"patpat : cond ',' cond",
1850"cond : expr",
1851"cond : match",
1852"cond : rel",
1853"cond : compound_cond",
1854"cond : cond '?' expr ':' expr",
1855"compound_cond : '(' compound_cond ')'",
1856"compound_cond : cond ANDAND maybe cond",
1857"compound_cond : cond OROR maybe cond",
1858"compound_cond : NOT cond",
1859"rel : expr RELOP expr",
1860"rel : expr '>' expr",
1861"rel : expr '<' expr",
1862"rel : '(' rel ')'",
1863"match : expr MATCHOP expr",
1864"match : expr MATCHOP REGEX",
1865"match : REGEX",
1866"match : '(' match ')'",
1867"expr : term",
1868"expr : expr term",
c822f08a 1869"expr : expr '?' expr ':' expr",
9c8d0b29 1870"expr : variable ASGNOP cond",
1871"term : variable",
1872"term : NUMBER",
1873"term : STRING",
1874"term : term '+' term",
1875"term : term '-' term",
1876"term : term '*' term",
1877"term : term '/' term",
1878"term : term '%' term",
1879"term : term '^' term",
1880"term : term IN VAR",
9c8d0b29 1881"term : variable INCR",
1882"term : variable DECR",
1883"term : INCR variable",
1884"term : DECR variable",
1885"term : '-' term",
1886"term : '+' term",
1887"term : '(' cond ')'",
1888"term : GETLINE",
1889"term : GETLINE variable",
1890"term : GETLINE '<' expr",
1891"term : GETLINE variable '<' expr",
1892"term : term 'p' GETLINE",
1893"term : term 'p' GETLINE variable",
1894"term : FUN1",
1895"term : FUN1 '(' ')'",
1896"term : FUN1 '(' expr ')'",
1897"term : FUNN '(' expr_list ')'",
1898"term : USERFUN '(' expr_list ')'",
1899"term : SPRINTF expr_list",
1900"term : SUBSTR '(' expr ',' expr ',' expr ')'",
1901"term : SUBSTR '(' expr ',' expr ')'",
1902"term : SPLIT '(' expr ',' VAR ',' expr ')'",
1903"term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
1904"term : SPLIT '(' expr ',' VAR ')'",
1905"term : INDEX '(' expr ',' expr ')'",
1906"term : MATCH '(' expr ',' REGEX ')'",
1907"term : MATCH '(' expr ',' expr ')'",
1908"term : SUB '(' expr ',' expr ')'",
1909"term : SUB '(' REGEX ',' expr ')'",
1910"term : GSUB '(' expr ',' expr ')'",
1911"term : GSUB '(' REGEX ',' expr ')'",
1912"term : SUB '(' expr ',' expr ',' expr ')'",
1913"term : SUB '(' REGEX ',' expr ',' expr ')'",
1914"term : GSUB '(' expr ',' expr ',' expr ')'",
1915"term : GSUB '(' REGEX ',' expr ',' expr ')'",
1916"variable : VAR",
1917"variable : VAR '[' expr_list ']'",
1918"variable : FIELD",
1919"variable : VFIELD term",
1920"expr_list : expr",
1921"expr_list : clist",
1922"expr_list :",
1923"clist : expr ',' maybe expr",
1924"clist : clist ',' maybe expr",
1925"clist : '(' clist ')'",
1926"junk : junk hunksep",
1927"junk :",
1928"hunksep : ';'",
1929"hunksep : SEMINEW",
1930"hunksep : NEWLINE",
1931"hunksep : COMMENT",
1932"maybe : maybe nlstuff",
1933"maybe :",
1934"nlstuff : NEWLINE",
1935"nlstuff : COMMENT",
1936"separator : ';' maybe",
1937"separator : SEMINEW maybe",
1938"separator : NEWLINE maybe",
1939"separator : COMMENT maybe",
1940"states : states statement",
1941"states :",
1942"statement : simple separator maybe",
1943"statement : ';' maybe",
1944"statement : SEMINEW maybe",
1945"statement : compound",
1946"simpnull : simple",
1947"simpnull :",
1948"simple : expr",
1949"simple : PRINT expr_list redir expr",
1950"simple : PRINT expr_list",
1951"simple : PRINTF expr_list redir expr",
1952"simple : PRINTF expr_list",
1953"simple : BREAK",
1954"simple : NEXT",
1955"simple : EXIT",
1956"simple : EXIT expr",
1957"simple : CONTINUE",
1958"simple : RET",
1959"simple : RET expr",
1960"simple : DELETE VAR '[' expr_list ']'",
1961"redir : '>'",
1962"redir : GRGR",
1963"redir : '|'",
1964"compound : IF '(' cond ')' maybe statement",
1965"compound : IF '(' cond ')' maybe statement ELSE maybe statement",
1966"compound : WHILE '(' cond ')' maybe statement",
1967"compound : DO maybe statement WHILE '(' cond ')'",
1968"compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
1969"compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
1970"compound : FOR '(' expr ')' maybe statement",
1971"compound : '{' maybe states '}' maybe",
1972};
1973#endif
1974#ifndef YYSTYPE
1975typedef int YYSTYPE;
1976#endif
748a9306 1977#define yyclearin (yychar=(-1))
1978#define yyerrok (yyerrflag=0)
9c8d0b29 1979#ifdef YYSTACKSIZE
748a9306 1980#ifndef YYMAXDEPTH
9c8d0b29 1981#define YYMAXDEPTH YYSTACKSIZE
748a9306 1982#endif
9c8d0b29 1983#else
1984#ifdef YYMAXDEPTH
1985#define YYSTACKSIZE YYMAXDEPTH
1986#else
1987#define YYSTACKSIZE 500
1988#define YYMAXDEPTH 500
1989#endif
1990#endif
1991int yydebug;
1992int yynerrs;
1993int yyerrflag;
1994int yychar;
1995short *yyssp;
1996YYSTYPE *yyvsp;
1997YYSTYPE yyval;
1998YYSTYPE yylval;
1999short yyss[YYSTACKSIZE];
2000YYSTYPE yyvs[YYSTACKSIZE];
2001#define yystacksize YYSTACKSIZE
2002#line 396 "a2p.y"
ff0cee69 2003
2004int yyparse _((void));
2005
9c8d0b29 2006#include "a2py.c"
ff0cee69 2007#line 2008 "y.tab.c"
9c8d0b29 2008#define YYABORT goto yyabort
9c8d0b29 2009#define YYACCEPT goto yyaccept
2010#define YYERROR goto yyerrlab
2011int
2012yyparse()
2013{
2014 register int yym, yyn, yystate;
2015#if YYDEBUG
2016 register char *yys;
f0f333f4 2017#ifndef __cplusplus
9c8d0b29 2018 extern char *getenv();
f0f333f4 2019#endif
9c8d0b29 2020
2021 if (yys = getenv("YYDEBUG"))
2022 {
2023 yyn = *yys;
2024 if (yyn >= '0' && yyn <= '9')
2025 yydebug = yyn - '0';
2026 }
2027#endif
2028
2029 yynerrs = 0;
2030 yyerrflag = 0;
2031 yychar = (-1);
2032
2033 yyssp = yyss;
2034 yyvsp = yyvs;
2035 *yyssp = yystate = 0;
2036
2037yyloop:
2038 if (yyn = yydefred[yystate]) goto yyreduce;
2039 if (yychar < 0)
2040 {
2041 if ((yychar = yylex()) < 0) yychar = 0;
2042#if YYDEBUG
2043 if (yydebug)
2044 {
2045 yys = 0;
2046 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2047 if (!yys) yys = "illegal-symbol";
748a9306 2048 printf("yydebug: state %d, reading %d (%s)\n", yystate,
2049 yychar, yys);
9c8d0b29 2050 }
2051#endif
2052 }
2053 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
2054 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2055 {
2056#if YYDEBUG
2057 if (yydebug)
748a9306 2058 printf("yydebug: state %d, shifting to state %d\n",
2059 yystate, yytable[yyn]);
9c8d0b29 2060#endif
2061 if (yyssp >= yyss + yystacksize - 1)
2062 {
2063 goto yyoverflow;
2064 }
2065 *++yyssp = yystate = yytable[yyn];
2066 *++yyvsp = yylval;
2067 yychar = (-1);
2068 if (yyerrflag > 0) --yyerrflag;
2069 goto yyloop;
2070 }
2071 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
2072 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2073 {
2074 yyn = yytable[yyn];
2075 goto yyreduce;
2076 }
2077 if (yyerrflag) goto yyinrecovery;
2078#ifdef lint
2079 goto yynewerror;
2080#endif
2081yynewerror:
2082 yyerror("syntax error");
2083#ifdef lint
2084 goto yyerrlab;
2085#endif
2086yyerrlab:
2087 ++yynerrs;
2088yyinrecovery:
2089 if (yyerrflag < 3)
2090 {
2091 yyerrflag = 3;
2092 for (;;)
2093 {
2094 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
2095 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
2096 {
2097#if YYDEBUG
2098 if (yydebug)
748a9306 2099 printf("yydebug: state %d, error recovery shifting\
2100 to state %d\n", *yyssp, yytable[yyn]);
9c8d0b29 2101#endif
2102 if (yyssp >= yyss + yystacksize - 1)
2103 {
2104 goto yyoverflow;
2105 }
2106 *++yyssp = yystate = yytable[yyn];
2107 *++yyvsp = yylval;
2108 goto yyloop;
2109 }
2110 else
2111 {
2112#if YYDEBUG
2113 if (yydebug)
748a9306 2114 printf("yydebug: error recovery discarding state %d\n",
2115 *yyssp);
9c8d0b29 2116#endif
2117 if (yyssp <= yyss) goto yyabort;
2118 --yyssp;
2119 --yyvsp;
2120 }
2121 }
2122 }
2123 else
2124 {
2125 if (yychar == 0) goto yyabort;
2126#if YYDEBUG
2127 if (yydebug)
2128 {
2129 yys = 0;
2130 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2131 if (!yys) yys = "illegal-symbol";
748a9306 2132 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
2133 yystate, yychar, yys);
9c8d0b29 2134 }
2135#endif
2136 yychar = (-1);
2137 goto yyloop;
2138 }
2139yyreduce:
2140#if YYDEBUG
2141 if (yydebug)
748a9306 2142 printf("yydebug: state %d, reducing by rule %d (%s)\n",
2143 yystate, yyn, yyrule[yyn]);
9c8d0b29 2144#endif
2145 yym = yylen[yyn];
2146 yyval = yyvsp[1-yym];
2147 switch (yyn)
2148 {
2149case 1:
2150#line 51 "a2p.y"
2151{ root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
2152break;
2153case 2:
2154#line 55 "a2p.y"
2155{ begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
2156 yyval = Nullop; }
2157break;
2158case 3:
2159#line 60 "a2p.y"
2160{ ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
2161break;
2162case 4:
2163#line 62 "a2p.y"
2164{ yyval = yyvsp[-1]; }
2165break;
2166case 5:
2167#line 66 "a2p.y"
2168{ yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
2169break;
2170case 6:
2171#line 68 "a2p.y"
2172{ yyval = Nullop; }
2173break;
2174case 7:
2175#line 72 "a2p.y"
2176{ yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
2177break;
2178case 8:
2179#line 74 "a2p.y"
2180{ yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2181break;
2182case 9:
2183#line 76 "a2p.y"
2184{ fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
2185break;
2186case 10:
2187#line 78 "a2p.y"
2188{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2189break;
2190case 13:
2191#line 84 "a2p.y"
2192{ yyval = rememberargs(yyval); }
2193break;
2194case 14:
2195#line 88 "a2p.y"
2196{ yyval = oper1(OPAT,yyvsp[0]); }
2197break;
2198case 15:
2199#line 90 "a2p.y"
2200{ yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
2201break;
2202case 20:
2203#line 98 "a2p.y"
2204{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2205break;
2206case 21:
2207#line 103 "a2p.y"
2208{ yyval = oper1(OCPAREN,yyvsp[-1]); }
2209break;
2210case 22:
2211#line 105 "a2p.y"
2212{ yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2213break;
2214case 23:
2215#line 107 "a2p.y"
2216{ yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2217break;
2218case 24:
2219#line 109 "a2p.y"
2220{ yyval = oper1(OCNOT,yyvsp[0]); }
2221break;
2222case 25:
2223#line 113 "a2p.y"
2224{ yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2225break;
2226case 26:
2227#line 115 "a2p.y"
2228{ yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
2229break;
2230case 27:
2231#line 117 "a2p.y"
2232{ yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
2233break;
2234case 28:
2235#line 119 "a2p.y"
2236{ yyval = oper1(ORPAREN,yyvsp[-1]); }
2237break;
2238case 29:
2239#line 123 "a2p.y"
2240{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2241break;
2242case 30:
2243#line 125 "a2p.y"
2244{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
2245break;
2246case 31:
2247#line 127 "a2p.y"
2248{ yyval = oper1(OREGEX,yyvsp[0]); }
2249break;
2250case 32:
2251#line 129 "a2p.y"
2252{ yyval = oper1(OMPAREN,yyvsp[-1]); }
2253break;
2254case 33:
2255#line 133 "a2p.y"
2256{ yyval = yyvsp[0]; }
2257break;
2258case 34:
2259#line 135 "a2p.y"
2260{ yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
2261break;
2262case 35:
2263#line 137 "a2p.y"
c822f08a 2264{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2265break;
2266case 36:
2267#line 139 "a2p.y"
9c8d0b29 2268{ yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
2269 if ((ops[yyvsp[-2]].ival & 255) == OFLD)
2270 lval_field = TRUE;
2271 if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
2272 lval_field = TRUE;
2273 }
2274break;
9c8d0b29 2275case 37:
2276#line 148 "a2p.y"
c822f08a 2277{ yyval = yyvsp[0]; }
9c8d0b29 2278break;
2279case 38:
2280#line 150 "a2p.y"
c822f08a 2281{ yyval = oper1(ONUM,yyvsp[0]); }
9c8d0b29 2282break;
2283case 39:
2284#line 152 "a2p.y"
c822f08a 2285{ yyval = oper1(OSTR,yyvsp[0]); }
9c8d0b29 2286break;
2287case 40:
2288#line 154 "a2p.y"
c822f08a 2289{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
9c8d0b29 2290break;
2291case 41:
2292#line 156 "a2p.y"
c822f08a 2293{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
9c8d0b29 2294break;
2295case 42:
2296#line 158 "a2p.y"
c822f08a 2297{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
9c8d0b29 2298break;
2299case 43:
2300#line 160 "a2p.y"
c822f08a 2301{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
9c8d0b29 2302break;
2303case 44:
2304#line 162 "a2p.y"
c822f08a 2305{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
9c8d0b29 2306break;
2307case 45:
2308#line 164 "a2p.y"
c822f08a 2309{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
9c8d0b29 2310break;
2311case 46:
2312#line 166 "a2p.y"
c822f08a 2313{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
9c8d0b29 2314break;
2315case 47:
2316#line 168 "a2p.y"
2317{ yyval = oper1(OPOSTINCR,yyvsp[-1]); }
2318break;
2319case 48:
2320#line 170 "a2p.y"
2321{ yyval = oper1(OPOSTDECR,yyvsp[-1]); }
2322break;
2323case 49:
2324#line 172 "a2p.y"
2325{ yyval = oper1(OPREINCR,yyvsp[0]); }
2326break;
2327case 50:
2328#line 174 "a2p.y"
2329{ yyval = oper1(OPREDECR,yyvsp[0]); }
2330break;
2331case 51:
2332#line 176 "a2p.y"
2333{ yyval = oper1(OUMINUS,yyvsp[0]); }
2334break;
2335case 52:
2336#line 178 "a2p.y"
2337{ yyval = oper1(OUPLUS,yyvsp[0]); }
2338break;
2339case 53:
2340#line 180 "a2p.y"
2341{ yyval = oper1(OPAREN,yyvsp[-1]); }
2342break;
2343case 54:
2344#line 182 "a2p.y"
2345{ yyval = oper0(OGETLINE); }
2346break;
2347case 55:
2348#line 184 "a2p.y"
2349{ yyval = oper1(OGETLINE,yyvsp[0]); }
2350break;
2351case 56:
2352#line 186 "a2p.y"
2353{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
2354 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2355break;
2356case 57:
2357#line 189 "a2p.y"
2358{ yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
2359 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2360break;
2361case 58:
2362#line 192 "a2p.y"
2363{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
2364 if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2365break;
2366case 59:
2367#line 195 "a2p.y"
2368{ yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
2369 if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2370break;
2371case 60:
2372#line 198 "a2p.y"
2373{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
2374break;
2375case 61:
2376#line 200 "a2p.y"
2377{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
2378break;
2379case 62:
2380#line 202 "a2p.y"
2381{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2382break;
2383case 63:
2384#line 204 "a2p.y"
2385{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2386break;
2387case 64:
2388#line 206 "a2p.y"
2389{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
2390break;
2391case 65:
2392#line 208 "a2p.y"
2393{ yyval = oper1(OSPRINTF,yyvsp[0]); }
2394break;
2395case 66:
2396#line 210 "a2p.y"
2397{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2398break;
2399case 67:
2400#line 212 "a2p.y"
2401{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
2402break;
2403case 68:
2404#line 214 "a2p.y"
2405{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
2406break;
2407case 69:
2408#line 216 "a2p.y"
2409{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
2410break;
2411case 70:
2412#line 218 "a2p.y"
2413{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
2414break;
2415case 71:
2416#line 220 "a2p.y"
2417{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
2418break;
2419case 72:
2420#line 222 "a2p.y"
2421{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
2422break;
2423case 73:
2424#line 224 "a2p.y"
2425{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
2426break;
2427case 74:
2428#line 226 "a2p.y"
2429{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
2430break;
2431case 75:
2432#line 228 "a2p.y"
2433{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2434break;
2435case 76:
2436#line 230 "a2p.y"
2437{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
2438break;
2439case 77:
2440#line 232 "a2p.y"
2441{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2442break;
2443case 78:
2444#line 234 "a2p.y"
2445{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2446break;
2447case 79:
2448#line 236 "a2p.y"
2449{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2450break;
2451case 80:
2452#line 238 "a2p.y"
2453{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2454break;
2455case 81:
2456#line 240 "a2p.y"
2457{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2458break;
2459case 82:
2460#line 244 "a2p.y"
2461{ yyval = oper1(OVAR,yyvsp[0]); }
2462break;
2463case 83:
2464#line 246 "a2p.y"
2465{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2466break;
2467case 84:
2468#line 248 "a2p.y"
2469{ yyval = oper1(OFLD,yyvsp[0]); }
2470break;
2471case 85:
2472#line 250 "a2p.y"
2473{ yyval = oper1(OVFLD,yyvsp[0]); }
2474break;
2475case 88:
2476#line 257 "a2p.y"
2477{ yyval = Nullop; }
2478break;
2479case 89:
2480#line 261 "a2p.y"
2481{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2482break;
2483case 90:
2484#line 263 "a2p.y"
2485{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2486break;
2487case 91:
2488#line 265 "a2p.y"
2489{ yyval = yyvsp[-1]; }
2490break;
2491case 92:
2492#line 269 "a2p.y"
2493{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2494break;
2495case 93:
2496#line 271 "a2p.y"
2497{ yyval = Nullop; }
2498break;
2499case 94:
2500#line 275 "a2p.y"
2501{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2502break;
2503case 95:
2504#line 277 "a2p.y"
2505{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2506break;
2507case 96:
2508#line 279 "a2p.y"
2509{ yyval = oper0(ONEWLINE); }
2510break;
2511case 97:
2512#line 281 "a2p.y"
2513{ yyval = oper1(OCOMMENT,yyvsp[0]); }
2514break;
2515case 98:
2516#line 285 "a2p.y"
2517{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2518break;
2519case 99:
2520#line 287 "a2p.y"
2521{ yyval = Nullop; }
2522break;
2523case 100:
2524#line 291 "a2p.y"
2525{ yyval = oper0(ONEWLINE); }
2526break;
2527case 101:
2528#line 293 "a2p.y"
2529{ yyval = oper1(OCOMMENT,yyvsp[0]); }
2530break;
2531case 102:
2532#line 298 "a2p.y"
2533{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
2534break;
2535case 103:
2536#line 300 "a2p.y"
2537{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2538break;
2539case 104:
2540#line 302 "a2p.y"
2541{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2542break;
2543case 105:
2544#line 304 "a2p.y"
2545{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
2546break;
2547case 106:
2548#line 308 "a2p.y"
2549{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
2550break;
2551case 107:
2552#line 310 "a2p.y"
2553{ yyval = Nullop; }
2554break;
2555case 108:
2556#line 315 "a2p.y"
2557{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
2558break;
2559case 109:
2560#line 317 "a2p.y"
2561{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
2562break;
2563case 110:
2564#line 319 "a2p.y"
2565{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
2566break;
2567case 113:
2568#line 325 "a2p.y"
2569{ yyval = Nullop; }
2570break;
2571case 115:
2572#line 331 "a2p.y"
2573{ yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2574 do_opens = TRUE;
2575 saw_ORS = saw_OFS = TRUE;
2576 if (!yyvsp[-2]) need_entire = TRUE;
2577 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2578break;
2579case 116:
2580#line 337 "a2p.y"
2581{ yyval = oper1(OPRINT,yyvsp[0]);
2582 if (!yyvsp[0]) need_entire = TRUE;
2583 saw_ORS = saw_OFS = TRUE;
2584 }
2585break;
2586case 117:
2587#line 342 "a2p.y"
2588{ yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2589 do_opens = TRUE;
2590 if (!yyvsp[-2]) need_entire = TRUE;
2591 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2592break;
2593case 118:
2594#line 347 "a2p.y"
2595{ yyval = oper1(OPRINTF,yyvsp[0]);
2596 if (!yyvsp[0]) need_entire = TRUE;
2597 }
2598break;
2599case 119:
2600#line 351 "a2p.y"
2601{ yyval = oper0(OBREAK); }
2602break;
2603case 120:
2604#line 353 "a2p.y"
2605{ yyval = oper0(ONEXT); }
2606break;
2607case 121:
2608#line 355 "a2p.y"
2609{ yyval = oper0(OEXIT); }
2610break;
2611case 122:
2612#line 357 "a2p.y"
2613{ yyval = oper1(OEXIT,yyvsp[0]); }
2614break;
2615case 123:
2616#line 359 "a2p.y"
2617{ yyval = oper0(OCONTINUE); }
2618break;
2619case 124:
2620#line 361 "a2p.y"
2621{ yyval = oper0(ORETURN); }
2622break;
2623case 125:
2624#line 363 "a2p.y"
2625{ yyval = oper1(ORETURN,yyvsp[0]); }
2626break;
2627case 126:
2628#line 365 "a2p.y"
2629{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2630break;
2631case 127:
2632#line 369 "a2p.y"
2633{ yyval = oper1(OREDIR,string(">",1)); }
2634break;
2635case 128:
2636#line 371 "a2p.y"
2637{ yyval = oper1(OREDIR,string(">>",2)); }
2638break;
2639case 129:
2640#line 373 "a2p.y"
2641{ yyval = oper1(OREDIR,string("|",1)); }
2642break;
2643case 130:
2644#line 378 "a2p.y"
2645{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2646break;
2647case 131:
2648#line 380 "a2p.y"
2649{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
2650break;
2651case 132:
2652#line 382 "a2p.y"
2653{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2654break;
2655case 133:
2656#line 384 "a2p.y"
2657{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
2658break;
2659case 134:
2660#line 386 "a2p.y"
2661{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2662break;
2663case 135:
2664#line 388 "a2p.y"
2665{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2666break;
2667case 136:
2668#line 390 "a2p.y"
2669{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2670break;
2671case 137:
2672#line 392 "a2p.y"
2673{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
2674break;
ff0cee69 2675#line 2674 "y.tab.c"
9c8d0b29 2676 }
2677 yyssp -= yym;
2678 yystate = *yyssp;
2679 yyvsp -= yym;
2680 yym = yylhs[yyn];
2681 if (yystate == 0 && yym == 0)
2682 {
2683#if YYDEBUG
2684 if (yydebug)
748a9306 2685 printf("yydebug: after reduction, shifting from state 0 to\
2686 state %d\n", YYFINAL);
9c8d0b29 2687#endif
2688 yystate = YYFINAL;
2689 *++yyssp = YYFINAL;
2690 *++yyvsp = yyval;
2691 if (yychar < 0)
2692 {
2693 if ((yychar = yylex()) < 0) yychar = 0;
2694#if YYDEBUG
2695 if (yydebug)
2696 {
2697 yys = 0;
2698 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2699 if (!yys) yys = "illegal-symbol";
748a9306 2700 printf("yydebug: state %d, reading %d (%s)\n",
2701 YYFINAL, yychar, yys);
9c8d0b29 2702 }
2703#endif
2704 }
2705 if (yychar == 0) goto yyaccept;
2706 goto yyloop;
2707 }
2708 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2709 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2710 yystate = yytable[yyn];
2711 else
2712 yystate = yydgoto[yym];
2713#if YYDEBUG
2714 if (yydebug)
748a9306 2715 printf("yydebug: after reduction, shifting from state %d \
2716to state %d\n", *yyssp, yystate);
9c8d0b29 2717#endif
2718 if (yyssp >= yyss + yystacksize - 1)
2719 {
2720 goto yyoverflow;
2721 }
2722 *++yyssp = yystate;
2723 *++yyvsp = yyval;
2724 goto yyloop;
2725yyoverflow:
2726 yyerror("yacc stack overflow");
2727yyabort:
2728 return (1);
2729yyaccept:
2730 return (0);
2731}