2 static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
7 #define yyclearin (yychar=(-1))
8 #define yyerrok (yyerrflag=0)
9 #define YYRECOVERING (yyerrflag!=0)
20 ARG *arg4; /* rarely used arguments to make_op() */
29 struct compcmd compval;
106 #define YYERRCODE 256
107 short yylhs[] = { -1,
108 26, 0, 25, 25, 12, 12, 12, 5, 3, 6,
109 6, 7, 7, 7, 7, 7, 10, 10, 10, 10,
110 10, 10, 9, 9, 9, 9, 8, 8, 8, 8,
111 8, 8, 8, 8, 11, 11, 21, 21, 24, 24,
112 1, 1, 1, 2, 2, 27, 28, 15, 13, 13,
113 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
114 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
115 14, 14, 14, 14, 14, 14, 14, 17, 17, 17,
116 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
117 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
118 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
119 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
120 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
121 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
122 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
123 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
124 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
125 17, 22, 22, 22, 22, 22, 22, 18, 18, 19,
126 19, 20, 20, 4, 4, 23,
129 0, 2, 3, 2, 0, 2, 5, 4, 0, 0,
130 2, 1, 2, 1, 2, 3, 1, 1, 3, 3,
131 3, 3, 5, 5, 3, 3, 6, 6, 4, 4,
132 7, 6, 10, 2, 0, 1, 0, 1, 0, 1,
133 1, 1, 1, 4, 3, 3, 3, 2, 3, 1,
134 2, 3, 4, 4, 4, 4, 4, 4, 4, 4,
135 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
136 3, 3, 3, 5, 3, 3, 1, 2, 2, 2,
137 2, 2, 2, 2, 2, 2, 2, 1, 4, 3,
138 2, 2, 2, 1, 1, 4, 1, 1, 5, 6,
139 5, 4, 5, 6, 8, 1, 1, 1, 1, 1,
140 5, 5, 4, 4, 2, 5, 5, 4, 4, 2,
141 1, 2, 1, 2, 2, 1, 2, 4, 7, 2,
142 4, 5, 4, 2, 2, 3, 1, 5, 6, 6,
143 7, 9, 6, 2, 4, 2, 4, 1, 1, 6,
144 5, 4, 5, 4, 2, 1, 1, 3, 3, 4,
145 5, 5, 6, 6, 7, 8, 4, 2, 6, 1,
146 1, 1, 2, 2, 3, 3, 3, 1, 1, 1,
149 short yydefred[] = { 1,
150 0, 10, 0, 40, 0, 0, 0, 12, 41, 11,
151 14, 0, 42, 43, 0, 0, 0, 0, 17, 9,
152 186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 106, 0, 97,
156 95, 109, 108, 107, 110, 0, 0, 0, 0, 0,
157 0, 0, 15, 0, 0, 0, 13, 0, 0, 0,
158 0, 171, 170, 34, 0, 45, 46, 47, 10, 130,
159 0, 127, 0, 122, 0, 0, 93, 0, 180, 181,
160 0, 146, 0, 0, 144, 155, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0, 134, 135,
162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 182, 183, 0, 168, 0, 0, 86,
164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 124, 0, 0, 0, 84, 85,
166 0, 0, 0, 0, 0, 0, 0, 4, 16, 0,
167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169 0, 82, 83, 44, 0, 0, 0, 0, 0, 0,
170 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
171 30, 0, 25, 0, 26, 0, 0, 0, 36, 0,
172 0, 136, 0, 0, 0, 0, 0, 0, 158, 159,
173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
175 0, 0, 185, 0, 0, 6, 0, 3, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 0, 8, 131,
179 0, 0, 0, 0, 128, 113, 0, 118, 0, 147,
180 0, 145, 0, 0, 0, 0, 152, 0, 154, 0,
181 0, 0, 133, 0, 0, 0, 0, 0, 160, 0,
182 0, 0, 0, 0, 167, 0, 0, 89, 0, 0,
183 114, 0, 119, 0, 0, 96, 0, 102, 0, 184,
184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 132, 0, 0, 111, 116, 0, 27, 28,
186 23, 24, 151, 0, 0, 0, 32, 138, 0, 0,
187 0, 0, 161, 162, 0, 0, 0, 0, 0, 153,
188 0, 0, 112, 117, 99, 103, 101, 0, 0, 0,
189 0, 143, 150, 31, 0, 139, 0, 140, 0, 163,
190 164, 0, 0, 169, 104, 0, 100, 7, 129, 0,
191 141, 0, 165, 0, 0, 0, 0, 166, 105, 33,
194 short yydgoto[] = { 1,
195 8, 9, 89, 255, 76, 3, 10, 11, 77, 219,
196 220, 168, 79, 80, 292, 294, 81, 198, 102, 137,
197 208, 82, 83, 12, 84, 2, 13, 14,
199 short yysindex[] = { 0,
200 0, 0, -193, 0, -54, -229, -212, 0, 0, 0,
201 0, 383, 0, 0, 22, -232, -31, 40, 0, 0,
202 0, -37, -36, -132, 562, -7, 107, -2, 2819, -29,
203 -23, -22, -21, 109, 111, -3, -4, 113, 123, 143,
204 170, 172, 173, 174, 175, 186, 187, 188, 189, -34,
205 191, 200, 2896, 202, 11, -228, -60, 0, -32, 0,
206 0, 0, 0, 0, 0, 741, 848, 2819, 2819, 2819,
207 2819, 912, 0, 2819, 2819, -98, 0, 98, -35, 1707,
208 -197, 0, 0, 0, -64, 0, 0, 0, 0, 0,
209 3011, 0, 3105, 0, 204, -30, 0, -122, 0, 0,
210 -231, 0, -231, -231, 0, 0, 2819, -31, 2819, -31,
211 2819, -31, 2819, -31, 2819, 2819, 205, 1027, 0, 0,
212 1144, 3105, 3105, 3105, 3105, 3105, 206, 1208, 2819, 2819,
213 2819, 2819, 2819, 0, 0, -237, 0, -237, 2819, 0,
214 -122, 2819, 131, -62, 216, 220, 2819, 2819, 2819, 2819,
215 2819, 5754, 2819, 221, 0, -122, -197, -197, 0, 0,
216 229, 32, -197, -197, -31, 224, -31, 0, 0, 2819,
217 2819, 2819, 2819, 2819, 2819, 2819, 2819, 1319, 1494, 2819,
218 2819, 2819, 2819, 1605, 1669, 1780, 1955, 2066, 2819, 2819,
219 2130, 0, 0, 0, -113, 281, 1707, 279, 0, 5647,
220 283, 2244, 2362, 284, 289, 293, 221, 294, 0, 65,
221 0, 67, 0, 126, 0, 5528, 32, 2819, 0, 286,
222 -39, 0, 305, 279, 303, 303, 328, 329, 0, 0,
223 130, 5658, 5647, 5647, 5647, 5647, 333, 303, 5658, 32,
224 2819, 252, 2436, 2533, 74, -12, 84, -9, 221, 221,
225 221, 2819, 0, 2725, 297, 0, 2819, 0, 221, 221,
226 221, 221, 1707, 474, -122, -187, 2819, -257, 2819, -138,
227 1707, 954, 117, 512, 2819, 238, 2819, 238, 2819, 486,
228 2819, -162, 2819, -162, 51, 51, 2819, 51, 0, 0,
229 2819, 348, 2819, 303, 0, 0, 32, 0, 32, 0,
230 2819, 0, -31, -31, -31, -31, 0, 146, 0, 32,
231 2819, -31, 0, 352, 279, 303, 3105, 3105, 0, 353,
232 153, 279, 303, 303, 0, 279, 355, 0, 100, 2819,
233 0, 32, 0, 32, 276, 0, 277, 0, 3, 0,
234 2819, 154, 1707, 1707, 2819, 1707, 1707, 1707, 1707, 1707,
235 1707, 221, 0, 1707, 303, 0, 0, 32, 0, 0,
236 0, 0, 0, 362, -31, 345, 0, 0, 364, 279,
237 365, 303, 0, 0, 367, 369, 279, 303, 370, 0,
238 287, 114, 0, 0, 0, 0, 0, 14, -31, 1989,
239 372, 0, 0, 0, 1027, 0, 373, 0, 303, 0,
240 0, 374, 279, 0, 0, 292, 0, 0, 0, 381,
241 0, 279, 0, 384, 386, -31, 393, 0, 0, 0,
244 short yyrindex[] = { 0,
245 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247 0, 0, 3189, 3385, 0, 3460, 0, 0, 5031, 0,
248 0, 0, 0, 3497, 0, 0, 3539, 0, 0, 0,
249 0, 0, 3576, 0, 0, 0, 0, 0, 0, 0,
250 0, 0, 5098, 0, 0, 0, 3661, 0, 3793, 0,
251 0, 0, 0, 0, 0, 5195, 5207, 0, 0, 0,
252 0, 0, 0, 0, 0, 1, 0, 0, -11, 2796,
253 5280, 0, 0, 0, 0, 0, 0, 0, 0, 0,
254 0, 0, 0, 0, 3867, 3661, 0, 4782, 0, 0,
255 0, 0, 0, 0, 0, 0, 396, 0, 0, 0,
256 0, 0, 0, 0, 0, 0, 0, 385, 0, 0,
257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259 4825, 0, 0, 0, 3909, 3952, 0, 0, 0, 0,
260 5347, 3661, 0, 4158, 0, 4849, 5444, 5501, 0, 0,
261 3994, 0, 5570, 5596, 0, 0, 0, 0, 0, 0,
262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
264 0, 0, 0, 0, 452, 2647, 164, 0, 128, 404,
265 0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
267 389, 0, 0, 0, 0, 0, 0, 0, 0, 0,
268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
269 0, 0, 0, 0, 0, 0, 0, 0, 4200, 4243,
270 4285, 0, 0, 0, 4084, 0, 0, 0, 30, 64,
271 79, 81, 3733, 1030, 4916, 3409, 0, 4534, 0, 4576,
272 3830, 0, 1883, 1422, 0, 5843, 0, 5894, 0, 4957,
273 0, 4666, 0, 4740, 4375, 4449, 0, 4491, 0, 0,
274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
276 394, 0, 0, 0, 0, 0, 0, 0, 0, 0,
277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279 0, 0, 3878, 4698, 0, 4858, 4989, 5104, 5370, 5668,
280 5820, 417, 0, 165, 0, 0, 0, 0, 0, 0,
281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, 0, 0, 0, 0, 0, 1582,
284 0, 0, 0, 0, 418, 0, 0, 0, 0, 0,
285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
289 short yygindex[] = { 0,
290 0, 0, 0, -178, -17, 335, 0, 0, 0, 448,
291 66, 0, 6067, 342, 168, -148, 430, -69, -6, -96,
292 151, 0, 0, 0, -87, 0, 0, 0,
294 #define YYTABLESIZE 6408
295 short yytable[] = { 87,
296 5, 253, 91, 93, 254, 136, 16, 97, 174, 203,
297 107, 289, 108, 110, 112, 114, 109, 111, 113, 134,
298 209, 105, 211, 201, 213, 99, 215, 17, 145, 18,
299 148, 174, 101, 5, 174, 121, 118, 104, 309, 237,
300 5, 238, 312, 5, 18, 5, 174, 18, 153, 155,
301 144, 223, 224, 225, 226, 227, 228, 174, 150, 5,
302 148, 328, 147, 38, 4, 189, 190, 308, 191, 2,
303 21, 5, 253, 135, 86, 254, 315, 316, 100, 146,
304 336, 38, 85, 338, 321, 322, 323, 324, 21, 326,
305 149, 20, 147, 20, 204, 387, 205, 206, 88, 20,
306 20, 20, 39, 6, 22, 304, 407, 305, 174, 39,
307 174, 7, 39, 176, 39, 178, 179, 174, 356, 19,
308 357, 20, 22, 5, 94, 5, 5, 174, 39, 192,
309 193, 365, 335, 187, 188, 189, 190, 19, 191, 20,
310 178, 179, 337, 174, 4, 355, 103, 256, 115, 258,
311 116, 5, 122, 383, 186, 384, 169, 174, 381, 364,
312 189, 190, 123, 191, 178, 186, 306, 370, 178, 174,
313 319, 178, 406, 174, 377, 378, 165, 166, 167, 392,
314 178, 179, 124, 6, 189, 190, 363, 191, 186, 293,
315 186, 7, 39, 374, 389, 39, 291, 174, 187, 188,
316 189, 190, 15, 191, 179, 51, 391, 179, 51, 125,
317 185, 126, 127, 128, 129, 359, 360, 361, 362, 90,
318 92, 186, 134, 399, 367, 130, 131, 132, 133, 403,
319 138, 170, 171, 172, 173, 170, 171, 172, 173, 139,
320 184, 142, 194, 202, 218, 242, 229, 371, 372, 99,
321 412, 186, 119, 241, 99, 243, 5, 5, 5, 244,
322 5, 5, 5, 257, 174, 5, 5, 5, 5, 5,
323 5, 5, 5, 5, 5, 186, 135, 394, 5, 5,
324 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
325 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
326 5, 408, 100, 120, 117, 5, 5, 100, 5, 5,
327 5, 5, 5, 5, 5, 5, 5, 5, 143, 252,
328 5, 290, 291, 295, 300, 39, 39, 5, 5, 39,
329 39, 39, 301, 302, 303, 39, 39, 39, 39, 39,
330 39, 39, 39, 39, 311, 313, 293, 39, 39, 39,
331 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
332 39, 39, 39, 39, 39, 39, 98, 39, 39, 39,
333 106, 317, 318, 325, 330, 39, 191, 39, 39, 39,
334 39, 39, 39, 39, 39, 39, 39, 341, 353, 39,
335 186, 314, 368, 373, 141, 380, 39, 39, 420, 320,
336 385, 386, 393, 395, 396, 398, 327, 400, 156, 401,
337 404, 405, 409, 411, 413, 68, 415, 176, 177, 178,
338 179, 416, 72, 195, 418, 75, 419, 74, 186, 186,
339 186, 186, 197, 421, 200, 183, 37, 187, 188, 189,
340 190, 73, 191, 35, 179, 186, 186, 18, 186, 186,
341 186, 186, 37, 186, 186, 186, 216, 48, 35, 78,
342 410, 366, 197, 197, 197, 197, 197, 197, 0, 0,
343 232, 233, 234, 235, 236, 0, 0, 0, 0, 0,
344 239, 0, 369, 0, 39, 0, 0, 0, 375, 376,
345 0, 39, 0, 379, 39, 0, 39, 157, 158, 159,
346 160, 0, 0, 163, 164, 20, 0, 0, 69, 0,
347 39, 186, 0, 0, 0, 263, 264, 265, 266, 268,
348 270, 271, 272, 273, 274, 276, 278, 280, 282, 284,
349 285, 286, 288, 0, 0, 0, 0, 397, 176, 177,
350 178, 179, 0, 0, 402, 0, 0, 0, 0, 186,
351 0, 0, 0, 0, 0, 0, 0, 0, 187, 188,
352 189, 190, 0, 191, 0, 0, 0, 185, 0, 0,
353 414, 0, 0, 0, 39, 0, 0, 39, 0, 417,
354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 0, 0, 68, 263, 0, 184, 0, 0,
356 0, 72, 0, 0, 75, 185, 74, 0, 343, 0,
357 344, 0, 0, 0, 0, 0, 346, 0, 347, 0,
358 348, 0, 349, 0, 350, 0, 0, 0, 351, 0,
359 0, 0, 0, 0, 354, 184, 0, 0, 19, 21,
360 0, 0, 22, 23, 24, 0, 0, 0, 25, 26,
361 27, 28, 29, 30, 31, 32, 33, 0, 197, 197,
362 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
363 44, 45, 46, 47, 48, 49, 50, 51, 52, 0,
364 53, 54, 55, 0, 20, 0, 390, 69, 56, 0,
365 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
366 0, 0, 67, 0, 0, 0, 0, 39, 39, 70,
367 71, 39, 39, 39, 0, 0, 0, 39, 39, 39,
368 39, 39, 39, 39, 39, 39, 0, 0, 0, 39,
369 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
370 39, 39, 39, 39, 39, 39, 39, 39, 0, 39,
371 39, 39, 0, 0, 0, 0, 0, 39, 0, 39,
372 39, 39, 39, 39, 39, 39, 39, 39, 39, 0,
373 0, 39, 0, 68, 176, 177, 178, 179, 39, 39,
374 72, 0, 0, 75, 0, 74, 176, 177, 178, 179,
375 0, 182, 183, 0, 187, 188, 189, 190, 0, 191,
376 0, 0, 0, 0, 0, 0, 187, 188, 189, 190,
377 0, 191, 176, 177, 178, 179, 0, 0, 95, 0,
378 0, 22, 23, 24, 0, 0, 0, 25, 26, 27,
379 28, 29, 187, 188, 189, 190, 0, 191, 0, 34,
380 35, 0, 37, 38, 39, 40, 41, 42, 43, 44,
381 45, 46, 47, 48, 49, 50, 51, 52, 0, 53,
382 54, 55, 0, 20, 0, 0, 69, 56, 0, 96,
383 58, 59, 60, 61, 62, 63, 64, 65, 66, 0,
384 68, 67, 0, 0, 0, 0, 0, 72, 70, 71,
385 75, 0, 74, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 68, 0, 0, 0, 0, 0,
391 0, 72, 161, 0, 75, 0, 74, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 20, 0, 0, 69, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 186, 0, 0, 0, 0, 0, 151, 0, 0,
396 22, 23, 24, 0, 0, 0, 25, 26, 27, 28,
397 29, 345, 0, 0, 180, 0, 181, 0, 34, 35,
398 0, 37, 38, 39, 40, 41, 42, 43, 44, 45,
399 46, 47, 48, 49, 50, 51, 52, 69, 53, 54,
400 55, 0, 0, 0, 0, 0, 56, 185, 152, 58,
401 59, 60, 61, 62, 63, 64, 65, 66, 0, 68,
402 67, 0, 0, 0, 0, 0, 72, 70, 71, 75,
403 71, 74, 0, 71, 0, 0, 0, 184, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 71, 71, 0,
405 71, 0, 71, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 21, 0, 0, 22, 23, 24,
407 0, 0, 0, 25, 26, 27, 28, 29, 0, 0,
408 0, 0, 71, 0, 0, 34, 35, 0, 37, 38,
409 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
410 49, 50, 51, 52, 0, 53, 54, 55, 0, 0,
411 0, 0, 69, 56, 0, 57, 58, 59, 60, 61,
412 62, 63, 64, 65, 66, 0, 0, 67, 21, 0,
413 0, 22, 23, 24, 70, 71, 68, 25, 26, 27,
414 28, 29, 0, 72, 222, 0, 75, 0, 74, 34,
415 35, 0, 37, 38, 39, 40, 41, 42, 43, 44,
416 45, 46, 47, 48, 49, 50, 51, 52, 0, 53,
417 54, 55, 0, 0, 0, 0, 175, 56, 0, 57,
418 58, 59, 60, 61, 62, 63, 64, 65, 66, 0,
419 0, 67, 0, 0, 0, 0, 0, 0, 70, 71,
420 68, 0, 0, 0, 0, 0, 0, 72, 230, 0,
421 75, 0, 74, 0, 176, 177, 178, 179, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
423 0, 182, 183, 0, 187, 188, 189, 190, 0, 191,
424 0, 0, 19, 21, 0, 0, 22, 23, 24, 0,
425 0, 0, 25, 26, 27, 28, 29, 0, 0, 0,
426 71, 71, 71, 71, 34, 35, 0, 37, 38, 39,
427 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
428 50, 51, 52, 0, 53, 54, 55, 0, 0, 0,
429 0, 0, 56, 69, 57, 58, 59, 60, 61, 62,
430 63, 64, 65, 66, 0, 0, 67, 0, 0, 0,
431 0, 68, 0, 70, 71, 0, 71, 71, 72, 0,
432 0, 75, 0, 74, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 267,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 199, 0, 0, 22, 23, 24, 0, 0, 0, 25,
437 26, 27, 28, 29, 0, 0, 0, 0, 0, 0,
438 0, 34, 35, 0, 37, 38, 39, 40, 41, 42,
439 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
440 0, 53, 54, 55, 69, 0, 0, 0, 0, 56,
441 0, 57, 58, 59, 60, 61, 62, 63, 64, 65,
442 66, 0, 72, 67, 21, 72, 0, 22, 23, 24,
443 70, 71, 0, 25, 26, 27, 28, 29, 0, 72,
444 72, 0, 72, 0, 72, 34, 35, 0, 37, 38,
445 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
446 49, 50, 51, 52, 0, 53, 54, 55, 0, 0,
447 0, 0, 0, 56, 72, 57, 58, 59, 60, 61,
448 62, 63, 64, 65, 66, 0, 68, 67, 0, 0,
449 0, 0, 0, 72, 70, 71, 75, 0, 74, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 269, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 21, 0, 0, 22, 23,
454 24, 0, 0, 0, 25, 26, 27, 28, 29, 0,
455 0, 0, 0, 0, 0, 0, 34, 35, 0, 37,
456 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
457 48, 49, 50, 51, 52, 0, 53, 54, 55, 69,
458 0, 0, 74, 0, 56, 74, 57, 58, 59, 60,
459 61, 62, 63, 64, 65, 66, 0, 68, 67, 74,
460 74, 0, 74, 0, 72, 70, 71, 75, 0, 74,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
463 0, 0, 0, 0, 74, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
465 0, 0, 72, 72, 72, 72, 0, 0, 0, 0,
466 0, 68, 0, 0, 0, 0, 0, 0, 72, 0,
467 0, 75, 0, 74, 0, 0, 0, 0, 0, 0,
468 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
469 69, 0, 0, 0, 0, 0, 0, 0, 0, 72,
470 72, 0, 0, 0, 186, 0, 0, 0, 72, 72,
471 21, 0, 0, 22, 23, 24, 0, 0, 0, 25,
472 26, 27, 28, 29, 0, 0, 0, 180, 0, 181,
473 0, 34, 35, 0, 37, 38, 39, 40, 41, 42,
474 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
475 0, 53, 54, 55, 69, 0, 0, 0, 0, 56,
476 185, 57, 58, 59, 60, 61, 62, 63, 64, 65,
477 66, 0, 68, 67, 0, 0, 0, 0, 0, 72,
478 70, 71, 75, 0, 74, 0, 0, 0, 0, 0,
479 184, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 279, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 74, 74, 74, 74, 0, 0, 0, 0,
482 0, 21, 0, 0, 22, 23, 24, 0, 0, 0,
483 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
484 0, 0, 34, 35, 0, 37, 38, 39, 40, 41,
485 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
486 52, 0, 53, 54, 55, 69, 0, 0, 74, 74,
487 56, 0, 57, 58, 59, 60, 61, 62, 63, 64,
488 65, 66, 0, 73, 67, 21, 73, 0, 22, 23,
489 24, 70, 71, 0, 25, 26, 27, 28, 29, 0,
490 73, 73, 0, 73, 0, 73, 34, 35, 0, 37,
491 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
492 48, 49, 50, 51, 52, 0, 53, 54, 55, 175,
493 0, 0, 0, 0, 56, 73, 57, 58, 59, 60,
494 61, 62, 63, 64, 65, 66, 0, 68, 67, 0,
495 0, 0, 0, 0, 72, 70, 71, 75, 0, 74,
496 0, 0, 0, 0, 0, 0, 0, 176, 177, 178,
497 179, 0, 0, 0, 0, 281, 0, 0, 0, 0,
498 0, 0, 0, 0, 182, 183, 186, 187, 188, 189,
499 190, 0, 191, 0, 0, 0, 21, 0, 0, 22,
500 23, 24, 0, 0, 0, 25, 26, 27, 28, 29,
501 0, 181, 0, 0, 0, 0, 0, 34, 35, 0,
502 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
503 47, 48, 49, 50, 51, 52, 0, 53, 54, 55,
504 69, 0, 185, 0, 0, 56, 0, 57, 58, 59,
505 60, 61, 62, 63, 64, 65, 66, 0, 68, 67,
506 0, 0, 0, 0, 0, 72, 70, 71, 75, 0,
507 74, 0, 184, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 283, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
511 0, 0, 0, 73, 73, 73, 73, 0, 0, 0,
512 0, 0, 68, 0, 0, 0, 0, 0, 0, 72,
513 0, 0, 75, 0, 74, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
515 287, 69, 0, 0, 0, 0, 0, 0, 0, 0,
516 73, 0, 0, 0, 0, 0, 0, 0, 0, 73,
517 73, 21, 0, 0, 22, 23, 24, 0, 0, 0,
518 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
519 0, 0, 34, 35, 0, 37, 38, 39, 40, 41,
520 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
521 52, 175, 53, 54, 55, 69, 0, 0, 0, 0,
522 56, 0, 57, 58, 59, 60, 61, 62, 63, 64,
523 65, 66, 0, 0, 67, 0, 68, 0, 0, 0,
524 0, 70, 71, 72, 296, 0, 75, 0, 74, 176,
525 177, 178, 179, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 0, 0, 182, 183, 0, 187,
527 188, 189, 190, 0, 191, 0, 0, 0, 0, 0,
528 0, 0, 21, 0, 0, 22, 23, 24, 0, 0,
529 0, 25, 26, 27, 28, 29, 0, 0, 0, 0,
530 0, 0, 0, 34, 35, 0, 37, 38, 39, 40,
531 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
532 51, 52, 0, 53, 54, 55, 0, 0, 0, 69,
533 0, 56, 0, 57, 58, 59, 60, 61, 62, 63,
534 64, 65, 66, 0, 0, 67, 21, 0, 0, 22,
535 23, 24, 70, 71, 68, 25, 26, 27, 28, 29,
536 0, 72, 298, 0, 75, 0, 74, 34, 35, 0,
537 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
538 47, 48, 49, 50, 51, 52, 0, 53, 54, 55,
539 0, 0, 0, 0, 0, 56, 0, 57, 58, 59,
540 60, 61, 62, 63, 64, 65, 66, 0, 0, 67,
541 0, 0, 0, 0, 0, 0, 70, 71, 0, 0,
542 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
543 0, 0, 0, 0, 0, 72, 331, 0, 75, 0,
544 74, 0, 0, 0, 0, 0, 0, 69, 0, 0,
545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
546 21, 0, 0, 22, 23, 24, 0, 0, 0, 25,
547 26, 27, 28, 29, 0, 0, 0, 0, 0, 0,
548 0, 34, 35, 0, 37, 38, 39, 40, 41, 42,
549 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
550 0, 53, 54, 55, 0, 0, 0, 0, 0, 56,
551 0, 57, 58, 59, 60, 61, 62, 63, 64, 65,
552 66, 69, 0, 67, 0, 68, 0, 0, 0, 0,
553 70, 71, 72, 333, 0, 75, 0, 74, 0, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
558 0, 22, 23, 24, 0, 0, 0, 25, 26, 27,
559 28, 29, 0, 0, 0, 0, 0, 0, 0, 34,
560 35, 0, 37, 38, 39, 40, 41, 42, 43, 44,
561 45, 46, 47, 48, 49, 50, 51, 52, 69, 53,
562 54, 55, 0, 0, 0, 0, 0, 56, 0, 57,
563 58, 59, 60, 61, 62, 63, 64, 65, 66, 0,
564 0, 67, 0, 0, 186, 0, 0, 0, 70, 71,
565 178, 0, 21, 0, 0, 22, 23, 24, 0, 0,
566 0, 25, 26, 27, 28, 29, 0, 186, 0, 186,
567 0, 0, 0, 34, 35, 0, 37, 38, 39, 40,
568 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
569 51, 52, 0, 53, 54, 55, 0, 0, 0, 0,
570 186, 56, 0, 57, 58, 59, 60, 61, 62, 63,
571 64, 65, 66, 0, 0, 67, 0, 68, 0, 0,
572 0, 0, 70, 71, 72, 340, 0, 75, 0, 74,
573 186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
575 0, 0, 22, 23, 24, 0, 0, 0, 25, 26,
576 27, 28, 29, 0, 0, 0, 0, 0, 0, 0,
577 34, 35, 0, 37, 38, 39, 40, 41, 42, 43,
578 44, 45, 46, 47, 48, 49, 50, 51, 52, 0,
579 53, 54, 55, 0, 0, 0, 50, 0, 56, 50,
580 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
581 69, 68, 67, 50, 50, 0, 0, 0, 72, 70,
582 71, 75, 0, 74, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 186,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
589 0, 0, 0, 0, 0, 72, 0, 0, 75, 0,
590 74, 0, 0, 0, 69, 0, 0, 186, 186, 186,
591 186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 186, 186, 0, 186, 186, 186,
593 186, 0, 186, 186, 186, 0, 0, 0, 0, 0,
594 0, 21, 0, 0, 22, 23, 24, 0, 0, 0,
595 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
596 0, 0, 34, 35, 0, 37, 38, 39, 40, 41,
597 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
598 52, 69, 53, 54, 55, 0, 0, 0, 0, 0,
599 56, 0, 57, 58, 59, 60, 61, 62, 63, 64,
600 65, 66, 0, 68, 67, 0, 0, 0, 0, 0,
601 72, 70, 71, 75, 0, 74, 0, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 50, 50, 50, 50,
603 0, 0, 0, 0, 0, 21, 0, 0, 22, 23,
604 24, 0, 0, 0, 25, 26, 27, 28, 29, 0,
605 0, 0, 0, 0, 0, 0, 34, 35, 0, 37,
606 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
607 48, 49, 50, 51, 52, 0, 53, 54, 55, 0,
608 0, 0, 50, 50, 56, 0, 57, 58, 59, 60,
609 61, 62, 63, 64, 65, 66, 69, 68, 67, 0,
610 0, 0, 0, 0, 72, 70, 71, 75, 0, 74,
611 0, 0, 140, 0, 0, 22, 23, 24, 0, 0,
612 0, 25, 26, 27, 28, 29, 0, 0, 0, 0,
613 0, 0, 0, 34, 35, 0, 37, 38, 39, 40,
614 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
615 51, 52, 0, 53, 54, 55, 0, 0, 0, 0,
616 0, 56, 0, 57, 58, 59, 60, 61, 62, 63,
617 64, 65, 66, 0, 0, 67, 0, 0, 0, 0,
618 0, 0, 70, 71, 0, 0, 126, 0, 0, 126,
619 69, 0, 126, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 126, 126, 0, 126,
621 0, 126, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 196, 0, 0,
623 22, 23, 24, 0, 0, 0, 25, 26, 27, 28,
624 29, 126, 126, 0, 0, 0, 0, 0, 34, 35,
625 0, 37, 38, 39, 40, 41, 42, 43, 44, 45,
626 46, 47, 48, 49, 50, 51, 52, 0, 53, 54,
627 55, 0, 126, 0, 0, 0, 56, 0, 57, 58,
628 59, 60, 61, 62, 63, 64, 65, 66, 0, 0,
629 67, 0, 0, 0, 0, 0, 0, 70, 71, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 199, 0, 0, 22, 23, 24, 0, 0, 0,
633 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
634 0, 0, 34, 35, 0, 37, 38, 39, 40, 41,
635 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
636 52, 0, 53, 54, 55, 0, 0, 0, 0, 0,
637 56, 0, 57, 58, 59, 60, 61, 62, 63, 64,
638 65, 66, 121, 0, 67, 121, 0, 0, 121, 0,
639 0, 70, 71, 0, 0, 0, 0, 0, 0, 0,
640 0, 0, 121, 121, 0, 121, 67, 121, 0, 67,
641 0, 126, 67, 0, 0, 0, 0, 0, 0, 126,
642 126, 126, 126, 0, 0, 0, 67, 67, 0, 67,
643 0, 67, 0, 0, 0, 0, 0, 121, 121, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
645 126, 126, 126, 0, 0, 0, 0, 148, 0, 0,
646 148, 67, 67, 148, 0, 0, 126, 126, 121, 126,
647 126, 126, 126, 0, 126, 126, 126, 148, 148, 0,
648 148, 0, 148, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 67, 0, 149, 0, 0, 149, 0, 0,
650 149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 148, 148, 149, 149, 0, 149, 0, 149,
652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 137, 0, 0, 137,
654 0, 0, 137, 148, 0, 0, 0, 0, 0, 149,
655 149, 0, 0, 0, 0, 0, 137, 137, 0, 137,
656 0, 137, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 157, 0, 0, 157, 0, 0, 157,
658 149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 137, 137, 157, 157, 0, 157, 0, 157, 0,
660 0, 0, 0, 0, 0, 0, 0, 121, 0, 0,
661 0, 0, 0, 0, 0, 121, 121, 121, 121, 0,
662 0, 0, 137, 0, 0, 0, 0, 0, 157, 157,
663 0, 67, 0, 0, 0, 0, 0, 0, 0, 67,
664 67, 67, 67, 0, 0, 121, 121, 121, 121, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 94, 157,
666 0, 94, 121, 121, 94, 121, 121, 121, 121, 0,
667 121, 121, 121, 0, 0, 0, 0, 0, 94, 94,
668 0, 94, 148, 94, 0, 0, 67, 67, 0, 0,
669 148, 148, 148, 148, 0, 67, 67, 0, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 94, 94, 0, 0, 0, 0, 149,
672 148, 148, 148, 148, 0, 0, 0, 149, 149, 149,
673 149, 0, 0, 49, 0, 0, 49, 148, 148, 0,
674 148, 148, 148, 148, 94, 148, 148, 148, 0, 0,
675 49, 49, 0, 0, 0, 0, 0, 149, 149, 149,
676 149, 137, 0, 0, 0, 0, 0, 0, 0, 137,
677 137, 137, 137, 0, 149, 149, 0, 149, 149, 149,
678 149, 0, 149, 149, 149, 49, 0, 0, 0, 0,
679 98, 0, 0, 98, 0, 0, 98, 0, 157, 137,
680 137, 137, 137, 0, 0, 0, 157, 157, 157, 157,
681 98, 98, 0, 98, 0, 98, 137, 137, 0, 137,
682 137, 137, 137, 0, 137, 137, 137, 0, 0, 0,
683 52, 0, 0, 52, 0, 0, 157, 157, 157, 157,
684 0, 0, 0, 0, 0, 98, 98, 52, 52, 0,
685 0, 0, 0, 157, 157, 0, 157, 157, 157, 157,
686 0, 157, 157, 157, 186, 0, 0, 186, 0, 0,
687 186, 0, 0, 0, 0, 0, 98, 0, 54, 0,
688 0, 54, 52, 94, 186, 186, 0, 186, 0, 186,
689 0, 94, 94, 94, 94, 54, 54, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 115, 0, 0, 115,
691 0, 0, 115, 0, 0, 0, 0, 0, 0, 186,
692 186, 94, 94, 94, 94, 0, 115, 115, 0, 115,
693 54, 115, 0, 0, 0, 0, 0, 0, 94, 94,
694 0, 94, 94, 94, 94, 0, 94, 94, 94, 120,
695 186, 0, 120, 0, 0, 120, 0, 0, 0, 0,
696 0, 115, 115, 49, 49, 49, 49, 0, 0, 120,
697 120, 0, 120, 0, 120, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
699 0, 91, 115, 0, 91, 0, 0, 91, 0, 0,
700 0, 0, 0, 0, 120, 120, 0, 0, 0, 0,
701 0, 91, 91, 0, 91, 98, 91, 0, 0, 49,
702 49, 0, 0, 98, 98, 98, 98, 0, 0, 0,
703 0, 0, 0, 0, 0, 120, 0, 0, 0, 0,
704 0, 0, 0, 0, 0, 0, 91, 91, 0, 0,
705 0, 0, 0, 98, 98, 98, 98, 0, 0, 0,
706 52, 52, 52, 52, 0, 0, 0, 0, 0, 0,
707 98, 98, 0, 98, 98, 98, 98, 91, 98, 98,
708 98, 90, 0, 0, 90, 0, 0, 90, 0, 186,
709 0, 0, 0, 0, 0, 0, 0, 186, 186, 186,
710 186, 90, 90, 0, 90, 0, 90, 0, 54, 54,
711 54, 54, 0, 0, 0, 0, 52, 52, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 186, 186, 186,
713 186, 115, 0, 0, 0, 0, 90, 90, 0, 115,
714 115, 115, 115, 0, 186, 186, 0, 186, 186, 186,
715 186, 0, 186, 186, 186, 173, 0, 0, 173, 0,
716 0, 0, 0, 0, 54, 54, 0, 90, 0, 115,
717 115, 115, 115, 0, 120, 173, 173, 0, 173, 0,
718 173, 0, 120, 120, 120, 120, 115, 115, 0, 115,
719 115, 115, 115, 0, 115, 115, 115, 175, 0, 0,
720 175, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 173, 173, 120, 120, 120, 120, 91, 175, 175, 0,
722 175, 0, 175, 0, 91, 91, 91, 91, 0, 120,
723 120, 0, 120, 120, 120, 120, 0, 120, 120, 120,
724 176, 173, 0, 176, 0, 0, 0, 0, 0, 0,
725 0, 0, 175, 175, 91, 91, 91, 91, 0, 0,
726 176, 176, 0, 176, 0, 176, 0, 0, 0, 0,
727 0, 91, 91, 0, 91, 91, 91, 91, 0, 91,
728 91, 91, 177, 175, 0, 177, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 176, 176, 0, 0, 0,
730 0, 0, 177, 177, 0, 177, 90, 177, 0, 0,
731 0, 0, 0, 0, 90, 90, 90, 90, 0, 0,
732 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 177, 177, 0,
734 0, 0, 0, 0, 90, 90, 90, 90, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 90, 90, 0, 90, 90, 90, 90, 177, 90,
737 90, 90, 75, 0, 0, 75, 0, 0, 75, 0,
738 173, 0, 0, 0, 0, 0, 0, 0, 173, 173,
739 173, 173, 75, 75, 0, 75, 0, 75, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 173, 173,
742 173, 173, 175, 0, 0, 0, 0, 75, 75, 0,
743 175, 175, 175, 175, 0, 173, 173, 0, 173, 173,
744 173, 173, 0, 173, 173, 173, 76, 0, 0, 76,
745 0, 0, 76, 0, 0, 0, 0, 0, 75, 0,
746 175, 175, 175, 175, 0, 176, 76, 76, 0, 76,
747 0, 76, 0, 176, 176, 176, 176, 175, 175, 0,
748 175, 175, 175, 175, 0, 175, 175, 175, 61, 0,
749 0, 61, 0, 0, 61, 0, 0, 0, 0, 0,
750 0, 76, 76, 176, 176, 176, 176, 177, 61, 61,
751 0, 61, 0, 61, 0, 177, 177, 177, 177, 0,
752 176, 176, 0, 176, 176, 176, 176, 0, 176, 176,
753 176, 62, 76, 0, 62, 0, 0, 62, 0, 0,
754 0, 0, 0, 61, 61, 177, 177, 177, 177, 0,
755 0, 62, 62, 0, 62, 0, 62, 0, 0, 0,
756 0, 0, 177, 177, 0, 177, 177, 177, 177, 0,
757 177, 177, 177, 63, 61, 0, 63, 0, 0, 63,
758 0, 0, 0, 0, 0, 0, 62, 62, 0, 0,
759 0, 0, 0, 63, 63, 0, 63, 75, 63, 0,
760 0, 0, 0, 0, 0, 75, 75, 75, 75, 0,
761 0, 0, 0, 0, 0, 0, 0, 62, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 63, 63,
763 0, 0, 0, 0, 0, 75, 75, 75, 75, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 75, 75, 0, 75, 75, 75, 75, 63,
766 0, 75, 75, 64, 0, 0, 64, 0, 0, 64,
767 0, 76, 0, 0, 0, 0, 0, 0, 0, 76,
768 76, 76, 76, 64, 64, 0, 64, 0, 64, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 55, 0,
770 0, 55, 0, 0, 0, 0, 0, 0, 0, 76,
771 76, 76, 76, 61, 0, 55, 55, 0, 64, 64,
772 0, 61, 61, 61, 61, 0, 76, 76, 0, 76,
773 76, 76, 76, 0, 0, 76, 76, 65, 0, 0,
774 65, 0, 0, 65, 0, 0, 0, 0, 0, 64,
775 55, 61, 61, 61, 61, 0, 62, 65, 65, 0,
776 65, 0, 65, 0, 62, 62, 62, 62, 61, 61,
777 0, 61, 61, 61, 61, 0, 0, 61, 61, 92,
778 0, 0, 92, 0, 0, 92, 0, 0, 0, 0,
779 0, 0, 65, 65, 62, 62, 62, 62, 63, 92,
780 92, 0, 92, 0, 92, 0, 63, 63, 63, 63,
781 0, 62, 62, 0, 62, 62, 0, 0, 0, 0,
782 62, 62, 87, 65, 0, 87, 0, 0, 87, 0,
783 0, 0, 0, 0, 92, 92, 63, 63, 0, 63,
784 0, 0, 87, 87, 0, 87, 125, 87, 0, 125,
785 0, 0, 125, 63, 63, 0, 63, 63, 60, 0,
786 0, 60, 63, 63, 0, 92, 125, 125, 0, 125,
787 0, 125, 0, 0, 0, 60, 60, 87, 87, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,
789 0, 0, 0, 0, 0, 0, 64, 64, 64, 64,
790 0, 125, 125, 0, 0, 0, 0, 0, 87, 0,
791 60, 0, 0, 66, 0, 0, 66, 0, 0, 66,
792 0, 0, 0, 0, 0, 0, 64, 64, 55, 55,
793 55, 55, 125, 66, 66, 0, 66, 0, 66, 0,
794 0, 0, 0, 64, 64, 0, 64, 64, 0, 0,
795 0, 0, 64, 64, 68, 0, 0, 68, 0, 0,
796 68, 0, 65, 0, 0, 0, 0, 0, 66, 66,
797 65, 65, 65, 65, 68, 68, 0, 68, 0, 68,
798 0, 0, 0, 0, 55, 55, 0, 0, 0, 59,
799 0, 0, 59, 0, 0, 0, 0, 0, 0, 66,
800 65, 65, 0, 0, 92, 0, 59, 59, 0, 68,
801 68, 0, 92, 92, 92, 92, 0, 65, 65, 0,
802 65, 65, 0, 0, 0, 0, 65, 65, 156, 0,
803 0, 156, 0, 0, 156, 0, 0, 0, 0, 0,
804 68, 59, 92, 92, 0, 0, 0, 87, 156, 156,
805 0, 156, 0, 156, 0, 87, 87, 87, 87, 92,
806 92, 0, 0, 0, 0, 0, 0, 0, 92, 92,
807 0, 125, 0, 0, 0, 0, 0, 0, 0, 125,
808 125, 125, 125, 156, 156, 87, 87, 0, 60, 60,
809 60, 60, 0, 0, 0, 88, 0, 0, 88, 0,
810 0, 88, 87, 87, 58, 0, 0, 58, 0, 125,
811 125, 87, 87, 0, 156, 88, 88, 0, 88, 0,
812 88, 58, 58, 0, 0, 0, 125, 125, 0, 0,
813 0, 0, 0, 0, 0, 125, 125, 0, 66, 0,
814 0, 0, 0, 0, 60, 60, 66, 66, 66, 66,
815 88, 88, 0, 0, 0, 0, 58, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 66, 0, 68,
818 0, 88, 0, 0, 0, 0, 0, 68, 68, 68,
819 68, 0, 172, 66, 66, 172, 0, 0, 172, 0,
820 0, 0, 66, 66, 123, 0, 0, 123, 0, 0,
821 123, 0, 172, 172, 0, 172, 0, 172, 0, 59,
822 59, 59, 59, 0, 123, 123, 0, 123, 0, 123,
823 0, 0, 0, 0, 68, 68, 0, 0, 0, 0,
824 0, 0, 0, 68, 68, 0, 0, 172, 172, 0,
825 0, 0, 0, 156, 0, 0, 0, 0, 0, 123,
826 123, 156, 156, 156, 156, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 59, 59, 77, 172, 0,
828 77, 0, 0, 77, 0, 0, 0, 0, 0, 0,
829 123, 156, 156, 156, 156, 0, 0, 77, 77, 0,
830 77, 0, 77, 0, 0, 0, 0, 0, 156, 156,
831 0, 156, 156, 156, 156, 0, 156, 0, 0, 0,
832 88, 0, 0, 0, 0, 0, 0, 0, 88, 88,
833 88, 88, 77, 77, 58, 58, 58, 58, 0, 0,
834 0, 0, 0, 0, 174, 0, 0, 174, 0, 0,
835 174, 0, 0, 0, 0, 0, 0, 0, 88, 88,
836 88, 88, 0, 77, 174, 174, 0, 174, 0, 174,
837 56, 0, 0, 56, 0, 88, 88, 0, 88, 88,
838 88, 88, 0, 88, 0, 0, 0, 56, 56, 0,
839 58, 58, 0, 0, 0, 0, 0, 0, 0, 174,
840 174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 172, 0, 0,
842 0, 0, 56, 0, 0, 172, 172, 172, 172, 123,
843 174, 0, 0, 0, 0, 0, 0, 123, 123, 123,
844 123, 80, 0, 0, 80, 0, 0, 80, 0, 0,
845 0, 0, 0, 0, 0, 172, 172, 172, 172, 0,
846 0, 80, 80, 0, 80, 0, 80, 123, 123, 123,
847 123, 0, 172, 172, 0, 172, 172, 172, 172, 0,
848 172, 0, 0, 0, 123, 123, 0, 123, 123, 123,
849 123, 0, 123, 0, 0, 0, 80, 80, 81, 0,
850 0, 81, 77, 0, 81, 0, 0, 0, 0, 0,
851 77, 77, 77, 77, 0, 0, 0, 0, 81, 81,
852 0, 81, 0, 81, 0, 186, 0, 80, 307, 0,
853 0, 293, 0, 0, 0, 0, 0, 0, 0, 0,
854 77, 77, 77, 77, 0, 0, 0, 0, 180, 0,
855 181, 0, 0, 81, 81, 0, 0, 77, 77, 0,
856 77, 77, 77, 77, 0, 77, 0, 78, 0, 174,
857 78, 0, 0, 78, 0, 0, 0, 174, 174, 174,
858 174, 185, 0, 0, 81, 0, 0, 78, 78, 0,
859 78, 0, 78, 79, 0, 0, 79, 0, 0, 79,
860 56, 56, 56, 56, 0, 0, 0, 174, 174, 174,
861 174, 184, 0, 79, 79, 0, 79, 0, 79, 0,
862 0, 0, 78, 78, 174, 174, 0, 174, 174, 174,
863 174, 0, 174, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 186, 0, 0, 0, 79, 79,
865 293, 0, 0, 78, 0, 186, 56, 56, 0, 0,
866 0, 291, 0, 0, 0, 0, 80, 180, 57, 181,
867 0, 57, 0, 0, 80, 80, 80, 80, 180, 79,
868 181, 0, 0, 0, 0, 57, 57, 0, 0, 0,
869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870 185, 0, 0, 0, 80, 80, 80, 80, 0, 0,
871 0, 185, 0, 0, 0, 0, 0, 0, 0, 0,
872 57, 80, 80, 81, 80, 80, 80, 80, 0, 80,
873 184, 81, 81, 81, 81, 0, 0, 0, 0, 0,
874 0, 184, 0, 0, 0, 0, 68, 0, 0, 0,
875 175, 0, 0, 72, 0, 0, 75, 0, 74, 0,
876 0, 81, 81, 81, 81, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 81, 81,
878 0, 81, 81, 81, 81, 0, 81, 0, 176, 177,
879 178, 179, 78, 0, 0, 0, 0, 0, 0, 0,
880 78, 78, 78, 78, 148, 182, 183, 0, 187, 188,
881 189, 190, 0, 191, 0, 0, 0, 0, 79, 0,
882 53, 0, 0, 53, 0, 0, 79, 79, 79, 79,
883 78, 78, 78, 78, 0, 0, 147, 53, 53, 69,
884 0, 0, 0, 70, 0, 0, 70, 78, 78, 0,
885 78, 78, 78, 78, 0, 78, 79, 79, 79, 79,
886 70, 70, 0, 70, 0, 70, 0, 0, 0, 175,
887 0, 0, 53, 79, 79, 0, 79, 79, 79, 79,
888 175, 79, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 69, 70, 70, 69, 57, 57,
890 57, 57, 0, 0, 0, 0, 0, 176, 177, 178,
891 179, 69, 69, 0, 69, 0, 69, 0, 176, 177,
892 178, 179, 0, 0, 182, 183, 70, 187, 188, 189,
893 190, 0, 191, 0, 0, 182, 183, 0, 187, 188,
894 189, 190, 0, 191, 0, 0, 69, 69, 0, 0,
895 0, 0, 0, 0, 57, 57, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
897 21, 0, 0, 22, 23, 24, 0, 69, 0, 25,
898 26, 27, 28, 29, 0, 0, 0, 0, 0, 0,
899 0, 34, 35, 0, 37, 38, 39, 40, 41, 42,
900 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
901 0, 53, 54, 55, 0, 0, 0, 0, 0, 56,
902 0, 57, 58, 59, 60, 61, 62, 63, 64, 65,
903 66, 0, 0, 67, 0, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 53, 53, 53, 53, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,
907 0, 0, 0, 70, 70, 70, 70, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 154, 0, 0, 0, 0, 0, 162, 0,
910 0, 0, 0, 0, 0, 0, 53, 53, 0, 0,
911 0, 0, 0, 0, 0, 0, 69, 0, 0, 0,
912 70, 70, 0, 0, 69, 69, 69, 69, 0, 70,
913 70, 0, 0, 207, 0, 210, 0, 212, 0, 214,
914 0, 0, 217, 0, 221, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 231, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 240, 0,
917 0, 69, 69, 245, 246, 247, 248, 249, 250, 251,
918 69, 69, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 259, 260, 261, 262,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, 0, 0, 0, 0, 297, 299,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 329, 0, 332,
927 334, 0, 0, 0, 0, 0, 0, 0, 339, 0,
928 0, 0, 0, 342, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 352, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 358, 0, 0,
933 0, 0, 0, 0, 0, 0, 0, 207, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 382, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 388,
938 short yycheck[] = { 17,
939 0, 41, 40, 40, 44, 40, 61, 25, 44, 40,
940 40, 125, 30, 31, 32, 33, 40, 40, 40, 257,
941 108, 28, 110, 93, 112, 257, 114, 257, 257, 41,
942 91, 44, 40, 33, 44, 40, 40, 40, 217, 136,
943 40, 138, 221, 43, 257, 45, 44, 59, 66, 67,
944 40, 121, 122, 123, 124, 125, 126, 44, 91, 59,
945 91, 240, 123, 41, 258, 323, 324, 216, 326, 0,
946 41, 265, 41, 311, 307, 44, 225, 226, 310, 308,
947 93, 59, 61, 93, 233, 234, 235, 236, 59, 238,
948 123, 123, 123, 123, 101, 93, 103, 104, 59, 123,
949 123, 123, 33, 297, 41, 41, 93, 41, 44, 40,
950 44, 305, 43, 301, 45, 303, 304, 44, 297, 41,
951 299, 41, 59, 123, 257, 125, 126, 44, 59, 327,
952 328, 310, 59, 321, 322, 323, 324, 59, 326, 59,
953 303, 304, 59, 44, 258, 294, 40, 165, 40, 167,
954 40, 265, 40, 332, 38, 334, 59, 44, 59, 308,
955 323, 324, 40, 326, 303, 38, 41, 316, 41, 44,
956 41, 44, 59, 44, 323, 324, 275, 276, 277, 358,
957 303, 304, 40, 297, 323, 324, 41, 326, 61, 44,
958 63, 305, 123, 41, 41, 126, 44, 44, 321, 322,
959 323, 324, 257, 326, 41, 41, 355, 44, 44, 40,
960 94, 40, 40, 40, 40, 303, 304, 305, 306, 257,
961 257, 94, 257, 372, 312, 40, 40, 40, 40, 378,
962 40, 271, 272, 273, 274, 271, 272, 273, 274, 40,
963 124, 40, 307, 40, 40, 308, 41, 317, 318, 257,
964 399, 124, 257, 123, 257, 40, 256, 257, 258, 40,
965 260, 261, 262, 40, 44, 265, 266, 267, 268, 269,
966 270, 271, 272, 273, 274, 38, 311, 365, 278, 279,
967 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
968 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
969 300, 389, 310, 308, 308, 305, 306, 310, 308, 309,
970 310, 311, 312, 313, 314, 315, 316, 317, 308, 91,
971 320, 41, 44, 41, 41, 256, 257, 327, 328, 260,
972 261, 262, 44, 41, 41, 266, 267, 268, 269, 270,
973 271, 272, 273, 274, 59, 41, 44, 278, 279, 280,
974 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
975 291, 292, 293, 294, 295, 296, 25, 298, 299, 300,
976 29, 44, 44, 41, 123, 306, 326, 308, 309, 310,
977 311, 312, 313, 314, 315, 316, 317, 91, 41, 320,
978 263, 224, 41, 41, 53, 41, 327, 328, 416, 232,
979 125, 125, 41, 59, 41, 41, 239, 41, 67, 41,
980 41, 125, 41, 41, 41, 33, 125, 301, 302, 303,
981 304, 41, 40, 89, 41, 43, 41, 45, 301, 302,
982 303, 304, 91, 41, 93, 319, 41, 321, 322, 323,
983 324, 59, 326, 59, 41, 318, 319, 59, 321, 322,
984 323, 324, 59, 326, 327, 328, 115, 41, 41, 12,
985 395, 311, 121, 122, 123, 124, 125, 126, -1, -1,
986 129, 130, 131, 132, 133, -1, -1, -1, -1, -1,
987 139, -1, 315, -1, 33, -1, -1, -1, 321, 322,
988 -1, 40, -1, 326, 43, -1, 45, 68, 69, 70,
989 71, -1, -1, 74, 75, 123, -1, -1, 126, -1,
990 59, 38, -1, -1, -1, 174, 175, 176, 177, 178,
991 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
992 189, 190, 191, -1, -1, -1, -1, 370, 301, 302,
993 303, 304, -1, -1, 377, -1, -1, -1, -1, 38,
994 -1, -1, -1, -1, -1, -1, -1, -1, 321, 322,
995 323, 324, -1, 326, -1, -1, -1, 94, -1, -1,
996 403, -1, -1, -1, 123, -1, -1, 126, -1, 412,
997 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
998 -1, -1, -1, -1, 33, 254, -1, 124, -1, -1,
999 -1, 40, -1, -1, 43, 94, 45, -1, 267, -1,
1000 269, -1, -1, -1, -1, -1, 275, -1, 277, -1,
1001 279, -1, 281, -1, 283, -1, -1, -1, 287, -1,
1002 -1, -1, -1, -1, 293, 124, -1, -1, 256, 257,
1003 -1, -1, 260, 261, 262, -1, -1, -1, 266, 267,
1004 268, 269, 270, 271, 272, 273, 274, -1, 317, 318,
1005 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1006 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
1007 298, 299, 300, -1, 123, -1, 345, 126, 306, -1,
1008 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1009 -1, -1, 320, -1, -1, -1, -1, 256, 257, 327,
1010 328, 260, 261, 262, -1, -1, -1, 266, 267, 268,
1011 269, 270, 271, 272, 273, 274, -1, -1, -1, 278,
1012 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1013 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1014 299, 300, -1, -1, -1, -1, -1, 306, -1, 308,
1015 309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
1016 -1, 320, -1, 33, 301, 302, 303, 304, 327, 328,
1017 40, -1, -1, 43, -1, 45, 301, 302, 303, 304,
1018 -1, 318, 319, -1, 321, 322, 323, 324, -1, 326,
1019 -1, -1, -1, -1, -1, -1, 321, 322, 323, 324,
1020 -1, 326, 301, 302, 303, 304, -1, -1, 257, -1,
1021 -1, 260, 261, 262, -1, -1, -1, 266, 267, 268,
1022 269, 270, 321, 322, 323, 324, -1, 326, -1, 278,
1023 279, -1, 281, 282, 283, 284, 285, 286, 287, 288,
1024 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1025 299, 300, -1, 123, -1, -1, 126, 306, -1, 308,
1026 309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
1027 33, 320, -1, -1, -1, -1, -1, 40, 327, 328,
1028 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
1034 -1, 40, 41, -1, 43, -1, 45, -1, -1, -1,
1035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1036 123, -1, -1, 126, -1, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1038 -1, 38, -1, -1, -1, -1, -1, 257, -1, -1,
1039 260, 261, 262, -1, -1, -1, 266, 267, 268, 269,
1040 270, 58, -1, -1, 61, -1, 63, -1, 278, 279,
1041 -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1042 290, 291, 292, 293, 294, 295, 296, 126, 298, 299,
1043 300, -1, -1, -1, -1, -1, 306, 94, 308, 309,
1044 310, 311, 312, 313, 314, 315, 316, 317, -1, 33,
1045 320, -1, -1, -1, -1, -1, 40, 327, 328, 43,
1046 41, 45, -1, 44, -1, -1, -1, 124, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1048 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1049 -1, -1, -1, -1, 257, -1, -1, 260, 261, 262,
1050 -1, -1, -1, 266, 267, 268, 269, 270, -1, -1,
1051 -1, -1, 93, -1, -1, 278, 279, -1, 281, 282,
1052 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1053 293, 294, 295, 296, -1, 298, 299, 300, -1, -1,
1054 -1, -1, 126, 306, -1, 308, 309, 310, 311, 312,
1055 313, 314, 315, 316, 317, -1, -1, 320, 257, -1,
1056 -1, 260, 261, 262, 327, 328, 33, 266, 267, 268,
1057 269, 270, -1, 40, 41, -1, 43, -1, 45, 278,
1058 279, -1, 281, 282, 283, 284, 285, 286, 287, 288,
1059 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1060 299, 300, -1, -1, -1, -1, 263, 306, -1, 308,
1061 309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
1062 -1, 320, -1, -1, -1, -1, -1, -1, 327, 328,
1063 33, -1, -1, -1, -1, -1, -1, 40, 41, -1,
1064 43, -1, 45, -1, 301, 302, 303, 304, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 126,
1066 -1, 318, 319, -1, 321, 322, 323, 324, -1, 326,
1067 -1, -1, 256, 257, -1, -1, 260, 261, 262, -1,
1068 -1, -1, 266, 267, 268, 269, 270, -1, -1, -1,
1069 271, 272, 273, 274, 278, 279, -1, 281, 282, 283,
1070 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1071 294, 295, 296, -1, 298, 299, 300, -1, -1, -1,
1072 -1, -1, 306, 126, 308, 309, 310, 311, 312, 313,
1073 314, 315, 316, 317, -1, -1, 320, -1, -1, -1,
1074 -1, 33, -1, 327, 328, -1, 327, 328, 40, -1,
1075 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
1077 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1078 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1079 257, -1, -1, 260, 261, 262, -1, -1, -1, 266,
1080 267, 268, 269, 270, -1, -1, -1, -1, -1, -1,
1081 -1, 278, 279, -1, 281, 282, 283, 284, 285, 286,
1082 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1083 -1, 298, 299, 300, 126, -1, -1, -1, -1, 306,
1084 -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1085 317, -1, 41, 320, 257, 44, -1, 260, 261, 262,
1086 327, 328, -1, 266, 267, 268, 269, 270, -1, 58,
1087 59, -1, 61, -1, 63, 278, 279, -1, 281, 282,
1088 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1089 293, 294, 295, 296, -1, 298, 299, 300, -1, -1,
1090 -1, -1, -1, 306, 93, 308, 309, 310, 311, 312,
1091 313, 314, 315, 316, 317, -1, 33, 320, -1, -1,
1092 -1, -1, -1, 40, 327, 328, 43, -1, 45, -1,
1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, -1, 61, -1, -1, -1, -1, -1,
1095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, 257, -1, -1, 260, 261,
1097 262, -1, -1, -1, 266, 267, 268, 269, 270, -1,
1098 -1, -1, -1, -1, -1, -1, 278, 279, -1, 281,
1099 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1100 292, 293, 294, 295, 296, -1, 298, 299, 300, 126,
1101 -1, -1, 41, -1, 306, 44, 308, 309, 310, 311,
1102 312, 313, 314, 315, 316, 317, -1, 33, 320, 58,
1103 59, -1, 61, -1, 40, 327, 328, 43, -1, 45,
1104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, 61, -1, -1, -1, -1,
1106 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1107 -1, -1, -1, -1, 263, -1, -1, -1, -1, -1,
1108 -1, -1, 271, 272, 273, 274, -1, -1, -1, -1,
1109 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
1110 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1111 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
1112 126, -1, -1, -1, -1, -1, -1, -1, -1, 318,
1113 319, -1, -1, -1, 38, -1, -1, -1, 327, 328,
1114 257, -1, -1, 260, 261, 262, -1, -1, -1, 266,
1115 267, 268, 269, 270, -1, -1, -1, 61, -1, 63,
1116 -1, 278, 279, -1, 281, 282, 283, 284, 285, 286,
1117 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1118 -1, 298, 299, 300, 126, -1, -1, -1, -1, 306,
1119 94, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1120 317, -1, 33, 320, -1, -1, -1, -1, -1, 40,
1121 327, 328, 43, -1, 45, -1, -1, -1, -1, -1,
1122 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1123 61, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1124 -1, -1, 271, 272, 273, 274, -1, -1, -1, -1,
1125 -1, 257, -1, -1, 260, 261, 262, -1, -1, -1,
1126 266, 267, 268, 269, 270, -1, -1, -1, -1, -1,
1127 -1, -1, 278, 279, -1, 281, 282, 283, 284, 285,
1128 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1129 296, -1, 298, 299, 300, 126, -1, -1, 327, 328,
1130 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
1131 316, 317, -1, 41, 320, 257, 44, -1, 260, 261,
1132 262, 327, 328, -1, 266, 267, 268, 269, 270, -1,
1133 58, 59, -1, 61, -1, 63, 278, 279, -1, 281,
1134 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1135 292, 293, 294, 295, 296, -1, 298, 299, 300, 263,
1136 -1, -1, -1, -1, 306, 93, 308, 309, 310, 311,
1137 312, 313, 314, 315, 316, 317, -1, 33, 320, -1,
1138 -1, -1, -1, -1, 40, 327, 328, 43, -1, 45,
1139 -1, -1, -1, -1, -1, -1, -1, 301, 302, 303,
1140 304, -1, -1, -1, -1, 61, -1, -1, -1, -1,
1141 -1, -1, -1, -1, 318, 319, 38, 321, 322, 323,
1142 324, -1, 326, -1, -1, -1, 257, -1, -1, 260,
1143 261, 262, -1, -1, -1, 266, 267, 268, 269, 270,
1144 -1, 63, -1, -1, -1, -1, -1, 278, 279, -1,
1145 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1146 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
1147 126, -1, 94, -1, -1, 306, -1, 308, 309, 310,
1148 311, 312, 313, 314, 315, 316, 317, -1, 33, 320,
1149 -1, -1, -1, -1, -1, 40, 327, 328, 43, -1,
1150 45, -1, 124, -1, -1, -1, -1, -1, -1, -1,
1151 -1, -1, -1, -1, -1, -1, 61, -1, -1, -1,
1152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1153 -1, -1, -1, -1, -1, 263, -1, -1, -1, -1,
1154 -1, -1, -1, 271, 272, 273, 274, -1, -1, -1,
1155 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
1156 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1158 61, 126, -1, -1, -1, -1, -1, -1, -1, -1,
1159 318, -1, -1, -1, -1, -1, -1, -1, -1, 327,
1160 328, 257, -1, -1, 260, 261, 262, -1, -1, -1,
1161 266, 267, 268, 269, 270, -1, -1, -1, -1, -1,
1162 -1, -1, 278, 279, -1, 281, 282, 283, 284, 285,
1163 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1164 296, 263, 298, 299, 300, 126, -1, -1, -1, -1,
1165 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
1166 316, 317, -1, -1, 320, -1, 33, -1, -1, -1,
1167 -1, 327, 328, 40, 41, -1, 43, -1, 45, 301,
1168 302, 303, 304, -1, -1, -1, -1, -1, -1, -1,
1169 -1, -1, -1, -1, -1, -1, 318, 319, -1, 321,
1170 322, 323, 324, -1, 326, -1, -1, -1, -1, -1,
1171 -1, -1, 257, -1, -1, 260, 261, 262, -1, -1,
1172 -1, 266, 267, 268, 269, 270, -1, -1, -1, -1,
1173 -1, -1, -1, 278, 279, -1, 281, 282, 283, 284,
1174 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1175 295, 296, -1, 298, 299, 300, -1, -1, -1, 126,
1176 -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
1177 315, 316, 317, -1, -1, 320, 257, -1, -1, 260,
1178 261, 262, 327, 328, 33, 266, 267, 268, 269, 270,
1179 -1, 40, 41, -1, 43, -1, 45, 278, 279, -1,
1180 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1181 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
1182 -1, -1, -1, -1, -1, 306, -1, 308, 309, 310,
1183 311, 312, 313, 314, 315, 316, 317, -1, -1, 320,
1184 -1, -1, -1, -1, -1, -1, 327, 328, -1, -1,
1185 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
1186 -1, -1, -1, -1, -1, 40, 41, -1, 43, -1,
1187 45, -1, -1, -1, -1, -1, -1, 126, -1, -1,
1188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1189 257, -1, -1, 260, 261, 262, -1, -1, -1, 266,
1190 267, 268, 269, 270, -1, -1, -1, -1, -1, -1,
1191 -1, 278, 279, -1, 281, 282, 283, 284, 285, 286,
1192 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1193 -1, 298, 299, 300, -1, -1, -1, -1, -1, 306,
1194 -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1195 317, 126, -1, 320, -1, 33, -1, -1, -1, -1,
1196 327, 328, 40, 41, -1, 43, -1, 45, -1, -1,
1197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1200 -1, -1, -1, -1, -1, -1, -1, -1, 257, -1,
1201 -1, 260, 261, 262, -1, -1, -1, 266, 267, 268,
1202 269, 270, -1, -1, -1, -1, -1, -1, -1, 278,
1203 279, -1, 281, 282, 283, 284, 285, 286, 287, 288,
1204 289, 290, 291, 292, 293, 294, 295, 296, 126, 298,
1205 299, 300, -1, -1, -1, -1, -1, 306, -1, 308,
1206 309, 310, 311, 312, 313, 314, 315, 316, 317, -1,
1207 -1, 320, -1, -1, 38, -1, -1, -1, 327, 328,
1208 44, -1, 257, -1, -1, 260, 261, 262, -1, -1,
1209 -1, 266, 267, 268, 269, 270, -1, 61, -1, 63,
1210 -1, -1, -1, 278, 279, -1, 281, 282, 283, 284,
1211 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1212 295, 296, -1, 298, 299, 300, -1, -1, -1, -1,
1213 94, 306, -1, 308, 309, 310, 311, 312, 313, 314,
1214 315, 316, 317, -1, -1, 320, -1, 33, -1, -1,
1215 -1, -1, 327, 328, 40, 41, -1, 43, -1, 45,
1216 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1217 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
1218 -1, -1, 260, 261, 262, -1, -1, -1, 266, 267,
1219 268, 269, 270, -1, -1, -1, -1, -1, -1, -1,
1220 278, 279, -1, 281, 282, 283, 284, 285, 286, 287,
1221 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
1222 298, 299, 300, -1, -1, -1, 41, -1, 306, 44,
1223 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1224 126, 33, 320, 58, 59, -1, -1, -1, 40, 327,
1225 328, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1227 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1228 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1229 -1, -1, -1, -1, -1, -1, -1, -1, -1, 263,
1230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1231 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
1232 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1233 45, -1, -1, -1, 126, -1, -1, 301, 302, 303,
1234 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1235 -1, -1, -1, -1, 318, 319, -1, 321, 322, 323,
1236 324, -1, 326, 327, 328, -1, -1, -1, -1, -1,
1237 -1, 257, -1, -1, 260, 261, 262, -1, -1, -1,
1238 266, 267, 268, 269, 270, -1, -1, -1, -1, -1,
1239 -1, -1, 278, 279, -1, 281, 282, 283, 284, 285,
1240 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1241 296, 126, 298, 299, 300, -1, -1, -1, -1, -1,
1242 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
1243 316, 317, -1, 33, 320, -1, -1, -1, -1, -1,
1244 40, 327, 328, 43, -1, 45, -1, -1, -1, -1,
1245 -1, -1, -1, -1, -1, -1, 271, 272, 273, 274,
1246 -1, -1, -1, -1, -1, 257, -1, -1, 260, 261,
1247 262, -1, -1, -1, 266, 267, 268, 269, 270, -1,
1248 -1, -1, -1, -1, -1, -1, 278, 279, -1, 281,
1249 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1250 292, 293, 294, 295, 296, -1, 298, 299, 300, -1,
1251 -1, -1, 327, 328, 306, -1, 308, 309, 310, 311,
1252 312, 313, 314, 315, 316, 317, 126, 33, 320, -1,
1253 -1, -1, -1, -1, 40, 327, 328, 43, -1, 45,
1254 -1, -1, 257, -1, -1, 260, 261, 262, -1, -1,
1255 -1, 266, 267, 268, 269, 270, -1, -1, -1, -1,
1256 -1, -1, -1, 278, 279, -1, 281, 282, 283, 284,
1257 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1258 295, 296, -1, 298, 299, 300, -1, -1, -1, -1,
1259 -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
1260 315, 316, 317, -1, -1, 320, -1, -1, -1, -1,
1261 -1, -1, 327, 328, -1, -1, 38, -1, -1, 41,
1262 126, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1263 -1, -1, -1, -1, -1, -1, 58, 59, -1, 61,
1264 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1265 -1, -1, -1, -1, -1, -1, -1, 257, -1, -1,
1266 260, 261, 262, -1, -1, -1, 266, 267, 268, 269,
1267 270, 93, 94, -1, -1, -1, -1, -1, 278, 279,
1268 -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1269 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
1270 300, -1, 124, -1, -1, -1, 306, -1, 308, 309,
1271 310, 311, 312, 313, 314, 315, 316, 317, -1, -1,
1272 320, -1, -1, -1, -1, -1, -1, 327, 328, -1,
1273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1275 -1, 257, -1, -1, 260, 261, 262, -1, -1, -1,
1276 266, 267, 268, 269, 270, -1, -1, -1, -1, -1,
1277 -1, -1, 278, 279, -1, 281, 282, 283, 284, 285,
1278 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1279 296, -1, 298, 299, 300, -1, -1, -1, -1, -1,
1280 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
1281 316, 317, 38, -1, 320, 41, -1, -1, 44, -1,
1282 -1, 327, 328, -1, -1, -1, -1, -1, -1, -1,
1283 -1, -1, 58, 59, -1, 61, 38, 63, -1, 41,
1284 -1, 263, 44, -1, -1, -1, -1, -1, -1, 271,
1285 272, 273, 274, -1, -1, -1, 58, 59, -1, 61,
1286 -1, 63, -1, -1, -1, -1, -1, 93, 94, -1,
1287 -1, -1, -1, -1, -1, -1, -1, -1, -1, 301,
1288 302, 303, 304, -1, -1, -1, -1, 38, -1, -1,
1289 41, 93, 94, 44, -1, -1, 318, 319, 124, 321,
1290 322, 323, 324, -1, 326, 327, 328, 58, 59, -1,
1291 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1292 -1, -1, 124, -1, 38, -1, -1, 41, -1, -1,
1293 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1294 -1, -1, 93, 94, 58, 59, -1, 61, -1, 63,
1295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1296 -1, -1, -1, -1, -1, -1, 38, -1, -1, 41,
1297 -1, -1, 44, 124, -1, -1, -1, -1, -1, 93,
1298 94, -1, -1, -1, -1, -1, 58, 59, -1, 61,
1299 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1300 -1, -1, -1, 38, -1, -1, 41, -1, -1, 44,
1301 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1302 -1, 93, 94, 58, 59, -1, 61, -1, 63, -1,
1303 -1, -1, -1, -1, -1, -1, -1, 263, -1, -1,
1304 -1, -1, -1, -1, -1, 271, 272, 273, 274, -1,
1305 -1, -1, 124, -1, -1, -1, -1, -1, 93, 94,
1306 -1, 263, -1, -1, -1, -1, -1, -1, -1, 271,
1307 272, 273, 274, -1, -1, 301, 302, 303, 304, -1,
1308 -1, -1, -1, -1, -1, -1, -1, -1, 38, 124,
1309 -1, 41, 318, 319, 44, 321, 322, 323, 324, -1,
1310 326, 327, 328, -1, -1, -1, -1, -1, 58, 59,
1311 -1, 61, 263, 63, -1, -1, 318, 319, -1, -1,
1312 271, 272, 273, 274, -1, 327, 328, -1, -1, -1,
1313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1314 -1, -1, -1, 93, 94, -1, -1, -1, -1, 263,
1315 301, 302, 303, 304, -1, -1, -1, 271, 272, 273,
1316 274, -1, -1, 41, -1, -1, 44, 318, 319, -1,
1317 321, 322, 323, 324, 124, 326, 327, 328, -1, -1,
1318 58, 59, -1, -1, -1, -1, -1, 301, 302, 303,
1319 304, 263, -1, -1, -1, -1, -1, -1, -1, 271,
1320 272, 273, 274, -1, 318, 319, -1, 321, 322, 323,
1321 324, -1, 326, 327, 328, 93, -1, -1, -1, -1,
1322 38, -1, -1, 41, -1, -1, 44, -1, 263, 301,
1323 302, 303, 304, -1, -1, -1, 271, 272, 273, 274,
1324 58, 59, -1, 61, -1, 63, 318, 319, -1, 321,
1325 322, 323, 324, -1, 326, 327, 328, -1, -1, -1,
1326 41, -1, -1, 44, -1, -1, 301, 302, 303, 304,
1327 -1, -1, -1, -1, -1, 93, 94, 58, 59, -1,
1328 -1, -1, -1, 318, 319, -1, 321, 322, 323, 324,
1329 -1, 326, 327, 328, 38, -1, -1, 41, -1, -1,
1330 44, -1, -1, -1, -1, -1, 124, -1, 41, -1,
1331 -1, 44, 93, 263, 58, 59, -1, 61, -1, 63,
1332 -1, 271, 272, 273, 274, 58, 59, -1, -1, -1,
1333 -1, -1, -1, -1, -1, -1, 38, -1, -1, 41,
1334 -1, -1, 44, -1, -1, -1, -1, -1, -1, 93,
1335 94, 301, 302, 303, 304, -1, 58, 59, -1, 61,
1336 93, 63, -1, -1, -1, -1, -1, -1, 318, 319,
1337 -1, 321, 322, 323, 324, -1, 326, 327, 328, 38,
1338 124, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1339 -1, 93, 94, 271, 272, 273, 274, -1, -1, 58,
1340 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
1341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1342 -1, 38, 124, -1, 41, -1, -1, 44, -1, -1,
1343 -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
1344 -1, 58, 59, -1, 61, 263, 63, -1, -1, 327,
1345 328, -1, -1, 271, 272, 273, 274, -1, -1, -1,
1346 -1, -1, -1, -1, -1, 124, -1, -1, -1, -1,
1347 -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
1348 -1, -1, -1, 301, 302, 303, 304, -1, -1, -1,
1349 271, 272, 273, 274, -1, -1, -1, -1, -1, -1,
1350 318, 319, -1, 321, 322, 323, 324, 124, 326, 327,
1351 328, 38, -1, -1, 41, -1, -1, 44, -1, 263,
1352 -1, -1, -1, -1, -1, -1, -1, 271, 272, 273,
1353 274, 58, 59, -1, 61, -1, 63, -1, 271, 272,
1354 273, 274, -1, -1, -1, -1, 327, 328, -1, -1,
1355 -1, -1, -1, -1, -1, -1, -1, 301, 302, 303,
1356 304, 263, -1, -1, -1, -1, 93, 94, -1, 271,
1357 272, 273, 274, -1, 318, 319, -1, 321, 322, 323,
1358 324, -1, 326, 327, 328, 38, -1, -1, 41, -1,
1359 -1, -1, -1, -1, 327, 328, -1, 124, -1, 301,
1360 302, 303, 304, -1, 263, 58, 59, -1, 61, -1,
1361 63, -1, 271, 272, 273, 274, 318, 319, -1, 321,
1362 322, 323, 324, -1, 326, 327, 328, 38, -1, -1,
1363 41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1364 93, 94, 301, 302, 303, 304, 263, 58, 59, -1,
1365 61, -1, 63, -1, 271, 272, 273, 274, -1, 318,
1366 319, -1, 321, 322, 323, 324, -1, 326, 327, 328,
1367 38, 124, -1, 41, -1, -1, -1, -1, -1, -1,
1368 -1, -1, 93, 94, 301, 302, 303, 304, -1, -1,
1369 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1370 -1, 318, 319, -1, 321, 322, 323, 324, -1, 326,
1371 327, 328, 38, 124, -1, 41, -1, -1, -1, -1,
1372 -1, -1, -1, -1, -1, 93, 94, -1, -1, -1,
1373 -1, -1, 58, 59, -1, 61, 263, 63, -1, -1,
1374 -1, -1, -1, -1, 271, 272, 273, 274, -1, -1,
1375 -1, -1, -1, -1, -1, -1, 124, -1, -1, -1,
1376 -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
1377 -1, -1, -1, -1, 301, 302, 303, 304, -1, -1,
1378 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1379 -1, 318, 319, -1, 321, 322, 323, 324, 124, 326,
1380 327, 328, 38, -1, -1, 41, -1, -1, 44, -1,
1381 263, -1, -1, -1, -1, -1, -1, -1, 271, 272,
1382 273, 274, 58, 59, -1, 61, -1, 63, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384 -1, -1, -1, -1, -1, -1, -1, -1, 301, 302,
1385 303, 304, 263, -1, -1, -1, -1, 93, 94, -1,
1386 271, 272, 273, 274, -1, 318, 319, -1, 321, 322,
1387 323, 324, -1, 326, 327, 328, 38, -1, -1, 41,
1388 -1, -1, 44, -1, -1, -1, -1, -1, 124, -1,
1389 301, 302, 303, 304, -1, 263, 58, 59, -1, 61,
1390 -1, 63, -1, 271, 272, 273, 274, 318, 319, -1,
1391 321, 322, 323, 324, -1, 326, 327, 328, 38, -1,
1392 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1393 -1, 93, 94, 301, 302, 303, 304, 263, 58, 59,
1394 -1, 61, -1, 63, -1, 271, 272, 273, 274, -1,
1395 318, 319, -1, 321, 322, 323, 324, -1, 326, 327,
1396 328, 38, 124, -1, 41, -1, -1, 44, -1, -1,
1397 -1, -1, -1, 93, 94, 301, 302, 303, 304, -1,
1398 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1399 -1, -1, 318, 319, -1, 321, 322, 323, 324, -1,
1400 326, 327, 328, 38, 124, -1, 41, -1, -1, 44,
1401 -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
1402 -1, -1, -1, 58, 59, -1, 61, 263, 63, -1,
1403 -1, -1, -1, -1, -1, 271, 272, 273, 274, -1,
1404 -1, -1, -1, -1, -1, -1, -1, 124, -1, -1,
1405 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
1406 -1, -1, -1, -1, -1, 301, 302, 303, 304, -1,
1407 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1408 -1, -1, 318, 319, -1, 321, 322, 323, 324, 124,
1409 -1, 327, 328, 38, -1, -1, 41, -1, -1, 44,
1410 -1, 263, -1, -1, -1, -1, -1, -1, -1, 271,
1411 272, 273, 274, 58, 59, -1, 61, -1, 63, -1,
1412 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1413 -1, 44, -1, -1, -1, -1, -1, -1, -1, 301,
1414 302, 303, 304, 263, -1, 58, 59, -1, 93, 94,
1415 -1, 271, 272, 273, 274, -1, 318, 319, -1, 321,
1416 322, 323, 324, -1, -1, 327, 328, 38, -1, -1,
1417 41, -1, -1, 44, -1, -1, -1, -1, -1, 124,
1418 93, 301, 302, 303, 304, -1, 263, 58, 59, -1,
1419 61, -1, 63, -1, 271, 272, 273, 274, 318, 319,
1420 -1, 321, 322, 323, 324, -1, -1, 327, 328, 38,
1421 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1422 -1, -1, 93, 94, 301, 302, 303, 304, 263, 58,
1423 59, -1, 61, -1, 63, -1, 271, 272, 273, 274,
1424 -1, 318, 319, -1, 321, 322, -1, -1, -1, -1,
1425 327, 328, 38, 124, -1, 41, -1, -1, 44, -1,
1426 -1, -1, -1, -1, 93, 94, 301, 302, -1, 304,
1427 -1, -1, 58, 59, -1, 61, 38, 63, -1, 41,
1428 -1, -1, 44, 318, 319, -1, 321, 322, 41, -1,
1429 -1, 44, 327, 328, -1, 124, 58, 59, -1, 61,
1430 -1, 63, -1, -1, -1, 58, 59, 93, 94, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1, 263, -1,
1432 -1, -1, -1, -1, -1, -1, 271, 272, 273, 274,
1433 -1, 93, 94, -1, -1, -1, -1, -1, 124, -1,
1434 93, -1, -1, 38, -1, -1, 41, -1, -1, 44,
1435 -1, -1, -1, -1, -1, -1, 301, 302, 271, 272,
1436 273, 274, 124, 58, 59, -1, 61, -1, 63, -1,
1437 -1, -1, -1, 318, 319, -1, 321, 322, -1, -1,
1438 -1, -1, 327, 328, 38, -1, -1, 41, -1, -1,
1439 44, -1, 263, -1, -1, -1, -1, -1, 93, 94,
1440 271, 272, 273, 274, 58, 59, -1, 61, -1, 63,
1441 -1, -1, -1, -1, 327, 328, -1, -1, -1, 41,
1442 -1, -1, 44, -1, -1, -1, -1, -1, -1, 124,
1443 301, 302, -1, -1, 263, -1, 58, 59, -1, 93,
1444 94, -1, 271, 272, 273, 274, -1, 318, 319, -1,
1445 321, 322, -1, -1, -1, -1, 327, 328, 38, -1,
1446 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1447 124, 93, 301, 302, -1, -1, -1, 263, 58, 59,
1448 -1, 61, -1, 63, -1, 271, 272, 273, 274, 318,
1449 319, -1, -1, -1, -1, -1, -1, -1, 327, 328,
1450 -1, 263, -1, -1, -1, -1, -1, -1, -1, 271,
1451 272, 273, 274, 93, 94, 301, 302, -1, 271, 272,
1452 273, 274, -1, -1, -1, 38, -1, -1, 41, -1,
1453 -1, 44, 318, 319, 41, -1, -1, 44, -1, 301,
1454 302, 327, 328, -1, 124, 58, 59, -1, 61, -1,
1455 63, 58, 59, -1, -1, -1, 318, 319, -1, -1,
1456 -1, -1, -1, -1, -1, 327, 328, -1, 263, -1,
1457 -1, -1, -1, -1, 327, 328, 271, 272, 273, 274,
1458 93, 94, -1, -1, -1, -1, 93, -1, -1, -1,
1459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1460 -1, -1, -1, -1, -1, -1, -1, 302, -1, 263,
1461 -1, 124, -1, -1, -1, -1, -1, 271, 272, 273,
1462 274, -1, 38, 318, 319, 41, -1, -1, 44, -1,
1463 -1, -1, 327, 328, 38, -1, -1, 41, -1, -1,
1464 44, -1, 58, 59, -1, 61, -1, 63, -1, 271,
1465 272, 273, 274, -1, 58, 59, -1, 61, -1, 63,
1466 -1, -1, -1, -1, 318, 319, -1, -1, -1, -1,
1467 -1, -1, -1, 327, 328, -1, -1, 93, 94, -1,
1468 -1, -1, -1, 263, -1, -1, -1, -1, -1, 93,
1469 94, 271, 272, 273, 274, -1, -1, -1, -1, -1,
1470 -1, -1, -1, -1, -1, 327, 328, 38, 124, -1,
1471 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1472 124, 301, 302, 303, 304, -1, -1, 58, 59, -1,
1473 61, -1, 63, -1, -1, -1, -1, -1, 318, 319,
1474 -1, 321, 322, 323, 324, -1, 326, -1, -1, -1,
1475 263, -1, -1, -1, -1, -1, -1, -1, 271, 272,
1476 273, 274, 93, 94, 271, 272, 273, 274, -1, -1,
1477 -1, -1, -1, -1, 38, -1, -1, 41, -1, -1,
1478 44, -1, -1, -1, -1, -1, -1, -1, 301, 302,
1479 303, 304, -1, 124, 58, 59, -1, 61, -1, 63,
1480 41, -1, -1, 44, -1, 318, 319, -1, 321, 322,
1481 323, 324, -1, 326, -1, -1, -1, 58, 59, -1,
1482 327, 328, -1, -1, -1, -1, -1, -1, -1, 93,
1483 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1484 -1, -1, -1, -1, -1, -1, -1, 263, -1, -1,
1485 -1, -1, 93, -1, -1, 271, 272, 273, 274, 263,
1486 124, -1, -1, -1, -1, -1, -1, 271, 272, 273,
1487 274, 38, -1, -1, 41, -1, -1, 44, -1, -1,
1488 -1, -1, -1, -1, -1, 301, 302, 303, 304, -1,
1489 -1, 58, 59, -1, 61, -1, 63, 301, 302, 303,
1490 304, -1, 318, 319, -1, 321, 322, 323, 324, -1,
1491 326, -1, -1, -1, 318, 319, -1, 321, 322, 323,
1492 324, -1, 326, -1, -1, -1, 93, 94, 38, -1,
1493 -1, 41, 263, -1, 44, -1, -1, -1, -1, -1,
1494 271, 272, 273, 274, -1, -1, -1, -1, 58, 59,
1495 -1, 61, -1, 63, -1, 38, -1, 124, 41, -1,
1496 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
1497 301, 302, 303, 304, -1, -1, -1, -1, 61, -1,
1498 63, -1, -1, 93, 94, -1, -1, 318, 319, -1,
1499 321, 322, 323, 324, -1, 326, -1, 38, -1, 263,
1500 41, -1, -1, 44, -1, -1, -1, 271, 272, 273,
1501 274, 94, -1, -1, 124, -1, -1, 58, 59, -1,
1502 61, -1, 63, 38, -1, -1, 41, -1, -1, 44,
1503 271, 272, 273, 274, -1, -1, -1, 301, 302, 303,
1504 304, 124, -1, 58, 59, -1, 61, -1, 63, -1,
1505 -1, -1, 93, 94, 318, 319, -1, 321, 322, 323,
1506 324, -1, 326, -1, -1, -1, -1, -1, -1, -1,
1507 -1, -1, -1, -1, 38, -1, -1, -1, 93, 94,
1508 44, -1, -1, 124, -1, 38, 327, 328, -1, -1,
1509 -1, 44, -1, -1, -1, -1, 263, 61, 41, 63,
1510 -1, 44, -1, -1, 271, 272, 273, 274, 61, 124,
1511 63, -1, -1, -1, -1, 58, 59, -1, -1, -1,
1512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1513 94, -1, -1, -1, 301, 302, 303, 304, -1, -1,
1514 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
1515 93, 318, 319, 263, 321, 322, 323, 324, -1, 326,
1516 124, 271, 272, 273, 274, -1, -1, -1, -1, -1,
1517 -1, 124, -1, -1, -1, -1, 33, -1, -1, -1,
1518 263, -1, -1, 40, -1, -1, 43, -1, 45, -1,
1519 -1, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1520 -1, -1, -1, -1, -1, -1, -1, -1, 318, 319,
1521 -1, 321, 322, 323, 324, -1, 326, -1, 301, 302,
1522 303, 304, 263, -1, -1, -1, -1, -1, -1, -1,
1523 271, 272, 273, 274, 91, 318, 319, -1, 321, 322,
1524 323, 324, -1, 326, -1, -1, -1, -1, 263, -1,
1525 41, -1, -1, 44, -1, -1, 271, 272, 273, 274,
1526 301, 302, 303, 304, -1, -1, 123, 58, 59, 126,
1527 -1, -1, -1, 41, -1, -1, 44, 318, 319, -1,
1528 321, 322, 323, 324, -1, 326, 301, 302, 303, 304,
1529 58, 59, -1, 61, -1, 63, -1, -1, -1, 263,
1530 -1, -1, 93, 318, 319, -1, 321, 322, 323, 324,
1531 263, 326, -1, -1, -1, -1, -1, -1, -1, -1,
1532 -1, -1, -1, -1, 41, 93, 94, 44, 271, 272,
1533 273, 274, -1, -1, -1, -1, -1, 301, 302, 303,
1534 304, 58, 59, -1, 61, -1, 63, -1, 301, 302,
1535 303, 304, -1, -1, 318, 319, 124, 321, 322, 323,
1536 324, -1, 326, -1, -1, 318, 319, -1, 321, 322,
1537 323, 324, -1, 326, -1, -1, 93, 94, -1, -1,
1538 -1, -1, -1, -1, 327, 328, -1, -1, -1, -1,
1539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1540 257, -1, -1, 260, 261, 262, -1, 124, -1, 266,
1541 267, 268, 269, 270, -1, -1, -1, -1, -1, -1,
1542 -1, 278, 279, -1, 281, 282, 283, 284, 285, 286,
1543 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1544 -1, 298, 299, 300, -1, -1, -1, -1, -1, 306,
1545 -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1546 317, -1, -1, 320, -1, -1, -1, -1, -1, -1,
1547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1548 271, 272, 273, 274, -1, -1, -1, -1, -1, -1,
1549 -1, -1, -1, -1, -1, 263, -1, -1, -1, -1,
1550 -1, -1, -1, 271, 272, 273, 274, -1, -1, -1,
1551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1552 -1, -1, 66, -1, -1, -1, -1, -1, 72, -1,
1553 -1, -1, -1, -1, -1, -1, 327, 328, -1, -1,
1554 -1, -1, -1, -1, -1, -1, 263, -1, -1, -1,
1555 318, 319, -1, -1, 271, 272, 273, 274, -1, 327,
1556 328, -1, -1, 107, -1, 109, -1, 111, -1, 113,
1557 -1, -1, 116, -1, 118, -1, -1, -1, -1, -1,
1558 -1, -1, -1, -1, 128, -1, -1, -1, -1, -1,
1559 -1, -1, -1, -1, -1, -1, -1, -1, 142, -1,
1560 -1, 318, 319, 147, 148, 149, 150, 151, 152, 153,
1561 327, 328, -1, -1, -1, -1, -1, -1, -1, -1,
1562 -1, -1, -1, -1, -1, -1, 170, 171, 172, 173,
1563 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1565 -1, -1, -1, -1, -1, -1, -1, -1, 202, 203,
1566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1567 -1, -1, -1, -1, 218, -1, -1, -1, -1, -1,
1568 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1569 -1, -1, -1, -1, -1, -1, -1, 241, -1, 243,
1570 244, -1, -1, -1, -1, -1, -1, -1, 252, -1,
1571 -1, -1, -1, 257, -1, -1, -1, -1, -1, -1,
1572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1573 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1574 -1, -1, -1, -1, -1, -1, -1, 291, -1, -1,
1575 -1, -1, -1, -1, -1, -1, -1, 301, -1, -1,
1576 -1, -1, -1, -1, -1, -1, -1, 311, -1, -1,
1577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1578 -1, -1, -1, -1, -1, -1, 330, -1, -1, -1,
1579 -1, -1, -1, -1, -1, -1, -1, 341,
1585 #define YYMAXTOKEN 328
1588 "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,
1589 "'!'",0,0,0,0,"'&'",0,"'('","')'",0,"'+'","','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,
1590 "':'","';'",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,
1591 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,
1592 "'{'","'|'","'}'","'~'",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,
1593 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1594 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1595 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","LABEL","APPEND","OPEN",
1596 "SSELECT","LOOPEX","DOTDOT","USING","FORMAT","DO","SHIFT","PUSH","POP",
1597 "LVALFUN","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF","CONTINUE","SPLIT",
1598 "FLIST","FOR","FILOP","FILOP2","FILOP3","FILOP4","FILOP22","FILOP25","FUNC0",
1599 "FUNC1","FUNC2","FUNC2x","FUNC3","FUNC4","FUNC5","HSHFUN","HSHFUN3","FLIST2",
1600 "SUB","FILETEST","LOCAL","DELETE","RELOP","EQOP","MULOP","ADDOP","PACKAGE",
1601 "AMPER","FORMLIST","REG","ARYLEN","ARY","HSH","STAR","SUBST","PATTERN",
1602 "RSTRING","TRANS","LISTOP","OROR","ANDAND","UNIOP","LS","RS","MATCH","NMATCH",
1603 "UMINUS","POW","INC","DEC",
1608 "prog : $$1 lineseq",
1609 "compblock : block CONTINUE block",
1610 "compblock : block else",
1612 "else : ELSE block",
1613 "else : ELSIF '(' expr ')' compblock",
1614 "block : '{' remember lineseq '}'",
1617 "lineseq : lineseq line",
1619 "line : label cond",
1622 "line : label sideff ';'",
1625 "sideff : expr IF expr",
1626 "sideff : expr UNLESS expr",
1627 "sideff : expr WHILE expr",
1628 "sideff : expr UNTIL expr",
1629 "cond : IF '(' expr ')' compblock",
1630 "cond : UNLESS '(' expr ')' compblock",
1631 "cond : IF block compblock",
1632 "cond : UNLESS block compblock",
1633 "loop : label WHILE '(' texpr ')' compblock",
1634 "loop : label UNTIL '(' expr ')' compblock",
1635 "loop : label WHILE block compblock",
1636 "loop : label UNTIL block compblock",
1637 "loop : label FOR REG '(' expr crp compblock",
1638 "loop : label FOR '(' expr crp compblock",
1639 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1640 "loop : label compblock",
1650 "format : FORMAT WORD '=' FORMLIST",
1651 "format : FORMAT '=' FORMLIST",
1652 "subrout : SUB WORD block",
1653 "package : PACKAGE WORD ';'",
1655 "expr : expr ',' sexpr",
1657 "csexpr : ',' sexpr",
1658 "sexpr : sexpr '=' sexpr",
1659 "sexpr : sexpr POW '=' sexpr",
1660 "sexpr : sexpr MULOP '=' sexpr",
1661 "sexpr : sexpr ADDOP '=' sexpr",
1662 "sexpr : sexpr LS '=' sexpr",
1663 "sexpr : sexpr RS '=' sexpr",
1664 "sexpr : sexpr '&' '=' sexpr",
1665 "sexpr : sexpr '^' '=' sexpr",
1666 "sexpr : sexpr '|' '=' sexpr",
1667 "sexpr : sexpr POW sexpr",
1668 "sexpr : sexpr MULOP sexpr",
1669 "sexpr : sexpr ADDOP sexpr",
1670 "sexpr : sexpr LS sexpr",
1671 "sexpr : sexpr RS sexpr",
1672 "sexpr : sexpr RELOP sexpr",
1673 "sexpr : sexpr EQOP sexpr",
1674 "sexpr : sexpr '&' sexpr",
1675 "sexpr : sexpr '^' sexpr",
1676 "sexpr : sexpr '|' sexpr",
1677 "sexpr : sexpr DOTDOT sexpr",
1678 "sexpr : sexpr ANDAND sexpr",
1679 "sexpr : sexpr OROR sexpr",
1680 "sexpr : sexpr '?' sexpr ':' sexpr",
1681 "sexpr : sexpr MATCH sexpr",
1682 "sexpr : sexpr NMATCH sexpr",
1692 "term : FILETEST WORD",
1693 "term : FILETEST sexpr",
1695 "term : LOCAL '(' expr crp",
1696 "term : '(' expr crp",
1702 "term : REG '[' expr ']'",
1705 "term : REG '{' expr ';' '}'",
1706 "term : '(' expr crp '[' expr ']'",
1707 "term : '(' ')' '[' expr ']'",
1708 "term : ARY '[' expr ']'",
1709 "term : ARY '{' expr ';' '}'",
1710 "term : DELETE REG '{' expr ';' '}'",
1711 "term : DELETE '(' REG '{' expr ';' '}' ')'",
1717 "term : DO WORD '(' expr crp",
1718 "term : AMPER WORD '(' expr crp",
1719 "term : DO WORD '(' ')'",
1720 "term : AMPER WORD '(' ')'",
1721 "term : AMPER WORD",
1722 "term : DO REG '(' expr crp",
1723 "term : AMPER REG '(' expr crp",
1724 "term : DO REG '(' ')'",
1725 "term : AMPER REG '(' ')'",
1728 "term : LOOPEX WORD",
1730 "term : UNIOP block",
1731 "term : UNIOP sexpr",
1733 "term : SSELECT WORD",
1734 "term : SSELECT '(' handle ')'",
1735 "term : SSELECT '(' sexpr csexpr csexpr csexpr ')'",
1737 "term : OPEN '(' WORD ')'",
1738 "term : OPEN '(' handle cexpr ')'",
1739 "term : FILOP '(' handle ')'",
1740 "term : FILOP WORD",
1742 "term : FILOP '(' ')'",
1744 "term : FILOP2 '(' handle cexpr ')'",
1745 "term : FILOP3 '(' handle csexpr cexpr ')'",
1746 "term : FILOP22 '(' handle ',' handle ')'",
1747 "term : FILOP4 '(' handle csexpr csexpr cexpr ')'",
1748 "term : FILOP25 '(' handle ',' handle csexpr csexpr cexpr ')'",
1749 "term : PUSH '(' aryword ',' expr crp",
1750 "term : POP aryword",
1751 "term : POP '(' aryword ')'",
1752 "term : SHIFT aryword",
1753 "term : SHIFT '(' aryword ')'",
1756 "term : SPLIT '(' sexpr csexpr csexpr ')'",
1757 "term : SPLIT '(' sexpr csexpr ')'",
1758 "term : SPLIT '(' sexpr ')'",
1759 "term : FLIST2 '(' sexpr cexpr ')'",
1760 "term : FLIST '(' expr crp",
1761 "term : LVALFUN sexpr",
1764 "term : FUNC0 '(' ')'",
1765 "term : FUNC1 '(' ')'",
1766 "term : FUNC1 '(' expr ')'",
1767 "term : FUNC2 '(' sexpr cexpr ')'",
1768 "term : FUNC2x '(' sexpr csexpr ')'",
1769 "term : FUNC2x '(' sexpr csexpr cexpr ')'",
1770 "term : FUNC3 '(' sexpr csexpr cexpr ')'",
1771 "term : FUNC4 '(' sexpr csexpr csexpr cexpr ')'",
1772 "term : FUNC5 '(' sexpr csexpr csexpr csexpr cexpr ')'",
1773 "term : HSHFUN '(' hshword ')'",
1774 "term : HSHFUN hshword",
1775 "term : HSHFUN3 '(' hshword csexpr cexpr ')'",
1779 "listop : LISTOP expr",
1780 "listop : LISTOP WORD",
1781 "listop : LISTOP WORD expr",
1782 "listop : LISTOP REG expr",
1783 "listop : LISTOP block expr",
1797 #define YYMAXDEPTH YYSTACKSIZE
1800 #define YYSTACKSIZE YYMAXDEPTH
1802 #define YYSTACKSIZE 500
1803 #define YYMAXDEPTH 500
1814 short yyss[YYSTACKSIZE];
1815 YYSTYPE yyvs[YYSTACKSIZE];
1816 #define yystacksize YYSTACKSIZE
1819 #line 1820 "y.tab.c"
1820 #define YYABORT goto yyabort
1821 #define YYREJECT goto yyabort
1822 #define YYACCEPT goto yyaccept
1823 #define YYERROR goto yyerrlab
1827 register int yym, yyn, yystate;
1830 extern char *getenv();
1832 if (yys = getenv("YYDEBUG"))
1835 if (yyn >= '0' && yyn <= '9')
1836 yydebug = yyn - '0';
1846 *yyssp = yystate = 0;
1849 if (yyn = yydefred[yystate]) goto yyreduce;
1852 if ((yychar = yylex()) < 0) yychar = 0;
1857 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1858 if (!yys) yys = "illegal-symbol";
1859 printf("%sdebug: state %d, reading %d (%s)\n",
1860 YYPREFIX, yystate, yychar, yys);
1864 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1865 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1869 printf("%sdebug: state %d, shifting to state %d\n",
1870 YYPREFIX, yystate, yytable[yyn]);
1872 if (yyssp >= yyss + yystacksize - 1)
1876 *++yyssp = yystate = yytable[yyn];
1879 if (yyerrflag > 0) --yyerrflag;
1882 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1883 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1888 if (yyerrflag) goto yyinrecovery;
1893 yyerror("syntax error");
1905 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1906 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1910 printf("%sdebug: state %d, error recovery shifting\
1911 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
1913 if (yyssp >= yyss + yystacksize - 1)
1917 *++yyssp = yystate = yytable[yyn];
1925 printf("%sdebug: error recovery discarding state %d\n",
1928 if (yyssp <= yyss) goto yyabort;
1936 if (yychar == 0) goto yyabort;
1941 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1942 if (!yys) yys = "illegal-symbol";
1943 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
1944 YYPREFIX, yystate, yychar, yys);
1953 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
1954 YYPREFIX, yystate, yyn, yyrule[yyn]);
1957 yyval = yyvsp[1-yym];
1963 #if defined(YYDEBUG) && defined(DEBUGGING)
1964 yydebug = (debug & 1);
1972 eval_root = block_head(yyvsp[0].cmdval);
1974 main_root = block_head(yyvsp[0].cmdval); }
1978 { yyval.compval.comp_true = yyvsp[-2].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
1982 { yyval.compval.comp_true = yyvsp[-1].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
1986 { yyval.cmdval = Nullcmd; }
1990 { yyval.cmdval = yyvsp[0].cmdval; }
1994 { cmdline = yyvsp[-4].ival;
1995 yyval.cmdval = make_ccmd(C_ELSIF,1,yyvsp[-2].arg,yyvsp[0].compval); }
1999 { yyval.cmdval = block_head(yyvsp[-1].cmdval);
2000 if (cmdline > (line_t)yyvsp[-3].ival)
2001 cmdline = yyvsp[-3].ival;
2002 if (savestack->ary_fill > yyvsp[-2].ival)
2003 restorelist(yyvsp[-2].ival);
2008 { yyval.ival = savestack->ary_fill; }
2012 { yyval.cmdval = Nullcmd; }
2016 { yyval.cmdval = append_line(yyvsp[-1].cmdval,yyvsp[0].cmdval); }
2020 { yyval.cmdval = Nullcmd; }
2024 { yyval.cmdval = add_label(yyvsp[-1].cval,yyvsp[0].cmdval); }
2028 { if (yyvsp[-1].cval != Nullch) {
2029 yyval.cmdval = add_label(yyvsp[-1].cval, make_acmd(C_EXPR, Nullstab,
2030 Nullarg, Nullarg) );
2033 yyval.cmdval = Nullcmd;
2040 { yyval.cmdval = add_label(yyvsp[-2].cval,yyvsp[-1].cmdval);
2045 { yyval.cmdval = Nullcmd; }
2049 { yyval.cmdval = make_acmd(C_EXPR, Nullstab, yyvsp[0].arg, Nullarg); }
2053 { yyval.cmdval = addcond(
2054 make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
2058 { yyval.cmdval = addcond(invert(
2059 make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
2063 { yyval.cmdval = addloop(
2064 make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
2068 { yyval.cmdval = addloop(invert(
2069 make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
2073 { cmdline = yyvsp[-4].ival;
2074 yyval.cmdval = make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval); }
2078 { cmdline = yyvsp[-4].ival;
2079 yyval.cmdval = invert(make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval)); }
2083 { cmdline = yyvsp[-2].ival;
2084 yyval.cmdval = make_icmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval); }
2088 { cmdline = yyvsp[-2].ival;
2089 yyval.cmdval = invert(make_icmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)); }
2093 { cmdline = yyvsp[-4].ival;
2094 yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
2095 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )); }
2099 { cmdline = yyvsp[-4].ival;
2100 yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
2101 invert(make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval)) )); }
2105 { cmdline = yyvsp[-2].ival;
2106 yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
2107 make_ccmd(C_WHILE, 1, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval) )); }
2111 { cmdline = yyvsp[-2].ival;
2112 yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
2113 invert(make_ccmd(C_WHILE,1,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)) )); }
2117 { cmdline = yyvsp[-5].ival;
2119 * The following gobbledygook catches EXPRs that
2120 * aren't explicit array refs and translates
2121 * foreach VAR (EXPR) {
2124 * foreach VAR (@ary) {
2125 * where @ary is a hidden array made by genstab().
2126 * (Note that @ary may become a local array if
2127 * it is determined that it might be called
2128 * recursively. See cmd_tosave().)
2130 if (yyvsp[-2].arg->arg_type != O_ARRAY) {
2131 scrstab = aadd(genstab());
2132 yyval.cmdval = append_line(
2133 make_acmd(C_EXPR, Nullstab,
2134 l(make_op(O_ASSIGN,2,
2135 listish(make_op(O_ARRAY, 1,
2136 stab2arg(A_STAB,scrstab),
2138 listish(make_list(yyvsp[-2].arg)),
2141 wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
2142 make_ccmd(C_WHILE, 0,
2144 stab2arg(A_STAB,scrstab),
2146 yyvsp[0].compval)))));
2147 yyval.cmdval->c_line = yyvsp[-5].ival;
2148 yyval.cmdval->c_head->c_line = yyvsp[-5].ival;
2151 yyval.cmdval = wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
2152 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )));
2158 { cmdline = yyvsp[-4].ival;
2159 if (yyvsp[-2].arg->arg_type != O_ARRAY) {
2160 scrstab = aadd(genstab());
2161 yyval.cmdval = append_line(
2162 make_acmd(C_EXPR, Nullstab,
2163 l(make_op(O_ASSIGN,2,
2164 listish(make_op(O_ARRAY, 1,
2165 stab2arg(A_STAB,scrstab),
2167 listish(make_list(yyvsp[-2].arg)),
2170 wopt(over(defstab,add_label(yyvsp[-5].cval,
2171 make_ccmd(C_WHILE, 0,
2173 stab2arg(A_STAB,scrstab),
2175 yyvsp[0].compval)))));
2176 yyval.cmdval->c_line = yyvsp[-4].ival;
2177 yyval.cmdval->c_head->c_line = yyvsp[-4].ival;
2179 else { /* lisp, anyone? */
2180 yyval.cmdval = wopt(over(defstab,add_label(yyvsp[-5].cval,
2181 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )));
2187 { yyval.compval.comp_true = yyvsp[0].cmdval;
2188 yyval.compval.comp_alt = yyvsp[-2].cmdval;
2189 cmdline = yyvsp[-8].ival;
2190 yyval.cmdval = append_line(yyvsp[-6].cmdval,wopt(add_label(yyvsp[-9].cval,
2191 make_ccmd(C_WHILE,1,yyvsp[-4].arg,yyval.compval) ))); }
2195 { yyval.cmdval = add_label(yyvsp[-1].cval,make_ccmd(C_BLOCK,1,Nullarg,yyvsp[0].compval)); }
2199 { yyval.cmdval = Nullcmd; }
2203 { (void)scanstr("1",SCAN_DEF); yyval.arg = yylval.arg; }
2207 { yyval.cval = Nullch; }
2223 { if (strEQ(yyvsp[-2].cval,"stdout"))
2224 make_form(stabent("STDOUT",TRUE),yyvsp[0].formval);
2225 else if (strEQ(yyvsp[-2].cval,"stderr"))
2226 make_form(stabent("STDERR",TRUE),yyvsp[0].formval);
2228 make_form(stabent(yyvsp[-2].cval,TRUE),yyvsp[0].formval);
2229 Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch; }
2233 { make_form(stabent("STDOUT",TRUE),yyvsp[0].formval); }
2237 { make_sub(yyvsp[-1].cval,yyvsp[0].cmdval);
2239 if (savestack->ary_fill > yyvsp[-2].ival)
2240 restorelist(yyvsp[-2].ival); }
2247 savehptr(&curstash);
2248 saveitem(curstname);
2249 str_set(curstname,yyvsp[-1].cval);
2250 sprintf(tmpbuf,"'_%s",yyvsp[-1].cval);
2251 tmpstab = stabent(tmpbuf,TRUE);
2252 if (!stab_xhash(tmpstab))
2253 stab_xhash(tmpstab) = hnew(0);
2254 curstash = stab_xhash(tmpstab);
2255 if (!curstash->tbl_name)
2256 curstash->tbl_name = savestr(yyvsp[-1].cval);
2257 curstash->tbl_coeffsize = 0;
2258 Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
2265 { yyval.arg = yyvsp[0].arg; }
2269 { yyval.arg = make_op(O_COMMA, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2273 { yyval.arg = yyvsp[0].arg; }
2277 { yyvsp[-2].arg = listish(yyvsp[-2].arg);
2278 if (yyvsp[-2].arg->arg_type == O_ASSIGN && yyvsp[-2].arg->arg_len == 1)
2279 yyvsp[-2].arg->arg_type = O_ITEM; /* a local() */
2280 if (yyvsp[-2].arg->arg_type == O_LIST)
2281 yyvsp[0].arg = listish(yyvsp[0].arg);
2282 yyval.arg = l(make_op(O_ASSIGN, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg)); }
2286 { yyval.arg = l(make_op(O_POW, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2290 { yyval.arg = l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2294 { yyval.arg = rcatmaybe(l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)));}
2298 { yyval.arg = l(make_op(O_LEFT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2302 { yyval.arg = l(make_op(O_RIGHT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2306 { yyval.arg = l(make_op(O_BIT_AND, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2310 { yyval.arg = l(make_op(O_XOR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2314 { yyval.arg = l(make_op(O_BIT_OR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2318 { yyval.arg = make_op(O_POW, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2322 { if (yyvsp[-1].ival == O_REPEAT)
2323 yyvsp[-2].arg = listish(yyvsp[-2].arg);
2324 yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
2325 if (yyvsp[-1].ival == O_REPEAT) {
2326 if (yyval.arg[1].arg_type != A_EXPR ||
2327 yyval.arg[1].arg_ptr.arg_arg->arg_type != O_LIST)
2328 yyval.arg[1].arg_flags &= ~AF_ARYOK;
2333 { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2337 { yyval.arg = make_op(O_LEFT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2341 { yyval.arg = make_op(O_RIGHT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2345 { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2349 { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2353 { yyval.arg = make_op(O_BIT_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2357 { yyval.arg = make_op(O_XOR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2361 { yyval.arg = make_op(O_BIT_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2366 yyval.arg = make_op(O_F_OR_R, 4, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
2367 yyval.arg[0].arg_flags |= yyvsp[-1].ival; }
2371 { yyval.arg = make_op(O_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2375 { yyval.arg = make_op(O_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2379 { yyval.arg = make_op(O_COND_EXPR, 3, yyvsp[-4].arg, yyvsp[-2].arg, yyvsp[0].arg); }
2383 { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg, yyvsp[0].arg); }
2387 { yyval.arg = mod_match(O_NMATCH, yyvsp[-2].arg, yyvsp[0].arg); }
2391 { yyval.arg = yyvsp[0].arg; }
2395 { yyval.arg = make_op(O_NEGATE, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2399 { yyval.arg = yyvsp[0].arg; }
2403 { yyval.arg = make_op(O_NOT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2407 { yyval.arg = make_op(O_COMPLEMENT, 1, yyvsp[0].arg, Nullarg, Nullarg);}
2411 { yyval.arg = addflags(1, AF_POST|AF_UP,
2412 l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
2416 { yyval.arg = addflags(1, AF_POST,
2417 l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
2421 { yyval.arg = addflags(1, AF_PRE|AF_UP,
2422 l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
2426 { yyval.arg = addflags(1, AF_PRE,
2427 l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
2431 { opargs[yyvsp[-1].ival] = 0; /* force it special */
2432 yyval.arg = make_op(yyvsp[-1].ival, 1,
2433 stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
2435 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2440 { opargs[yyvsp[-1].ival] = 1;
2441 yyval.arg = make_op(yyvsp[-1].ival, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2445 { opargs[yyvsp[0].ival] = (yyvsp[0].ival != O_FTTTY);
2446 yyval.arg = make_op(yyvsp[0].ival, 1,
2448 yyvsp[0].ival == O_FTTTY?stabent("STDIN",TRUE):defstab),
2449 Nullarg, Nullarg); }
2453 { yyval.arg = l(localize(make_op(O_ASSIGN, 1,
2454 localize(listish(make_list(yyvsp[-1].arg))),
2455 Nullarg,Nullarg))); }
2459 { yyval.arg = make_list(yyvsp[-1].arg); }
2463 { yyval.arg = make_list(Nullarg); }
2467 { yyval.arg = make_op(O_DOFILE,2,yyvsp[0].arg,Nullarg,Nullarg);
2472 { yyval.arg = cmd_to_arg(yyvsp[0].cmdval); }
2476 { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
2480 { yyval.arg = stab2arg(A_STAR,yyvsp[0].stabval); }
2484 { yyval.arg = make_op(O_AELEM, 2,
2485 stab2arg(A_STAB,aadd(yyvsp[-3].stabval)), yyvsp[-1].arg, Nullarg); }
2489 { yyval.arg = make_op(O_HASH, 1,
2490 stab2arg(A_STAB,yyvsp[0].stabval),
2491 Nullarg, Nullarg); }
2495 { yyval.arg = make_op(O_ARRAY, 1,
2496 stab2arg(A_STAB,yyvsp[0].stabval),
2497 Nullarg, Nullarg); }
2501 { yyval.arg = make_op(O_HELEM, 2,
2502 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
2503 jmaybe(yyvsp[-2].arg),
2505 expectterm = FALSE; }
2509 { yyval.arg = make_op(O_LSLICE, 3,
2511 listish(make_list(yyvsp[-1].arg)),
2512 listish(make_list(yyvsp[-4].arg))); }
2516 { yyval.arg = make_op(O_LSLICE, 3,
2518 listish(make_list(yyvsp[-1].arg)),
2523 { yyval.arg = make_op(O_ASLICE, 2,
2524 stab2arg(A_STAB,aadd(yyvsp[-3].stabval)),
2525 listish(make_list(yyvsp[-1].arg)),
2530 { yyval.arg = make_op(O_HSLICE, 2,
2531 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
2532 listish(make_list(yyvsp[-2].arg)),
2534 expectterm = FALSE; }
2538 { yyval.arg = make_op(O_DELETE, 2,
2539 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
2540 jmaybe(yyvsp[-2].arg),
2542 expectterm = FALSE; }
2546 { yyval.arg = make_op(O_DELETE, 2,
2547 stab2arg(A_STAB,hadd(yyvsp[-5].stabval)),
2548 jmaybe(yyvsp[-3].arg),
2550 expectterm = FALSE; }
2554 { yyval.arg = stab2arg(A_ARYLEN,yyvsp[0].stabval); }
2558 { yyval.arg = yyvsp[0].arg; }
2562 { yyval.arg = yyvsp[0].arg; }
2566 { yyval.arg = yyvsp[0].arg; }
2570 { yyval.arg = yyvsp[0].arg; }
2574 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2575 stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
2576 make_list(yyvsp[-1].arg),
2577 Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch;
2578 yyval.arg->arg_flags |= AF_DEPR; }
2582 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2583 stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
2584 make_list(yyvsp[-1].arg),
2585 Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch; }
2589 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2590 stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
2593 Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch;
2594 yyval.arg->arg_flags |= AF_DEPR; }
2598 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2599 stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
2602 Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch;
2607 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2608 stab2arg(A_WORD,stabent(yyvsp[0].cval,MULTI)),
2611 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2616 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2617 stab2arg(A_STAB,yyvsp[-3].stabval),
2618 make_list(yyvsp[-1].arg),
2620 yyval.arg->arg_flags |= AF_DEPR; }
2624 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2625 stab2arg(A_STAB,yyvsp[-3].stabval),
2626 make_list(yyvsp[-1].arg),
2631 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2632 stab2arg(A_STAB,yyvsp[-2].stabval),
2635 yyval.arg->arg_flags |= AF_DEPR; }
2639 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2640 stab2arg(A_STAB,yyvsp[-2].stabval),
2646 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2647 stab2arg(A_STAB,yyvsp[0].stabval),
2653 { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
2657 { yyval.arg = make_op(yyvsp[-1].ival,1,cval_to_arg(yyvsp[0].cval),
2662 { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
2666 { yyval.arg = make_op(yyvsp[-1].ival,1,cmd_to_arg(yyvsp[0].cmdval),Nullarg,Nullarg); }
2670 { yyval.arg = make_op(yyvsp[-1].ival,1,yyvsp[0].arg,Nullarg,Nullarg); }
2674 { yyval.arg = make_op(O_SELECT, 0, Nullarg, Nullarg, Nullarg);}
2678 { yyval.arg = make_op(O_SELECT, 1,
2679 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2682 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2686 { yyval.arg = make_op(O_SELECT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2690 { arg4 = yyvsp[-1].arg;
2691 yyval.arg = make_op(O_SSELECT, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
2695 { yyval.arg = make_op(O_OPEN, 2,
2696 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2697 stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
2699 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2704 { yyval.arg = make_op(O_OPEN, 2,
2705 stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
2706 stab2arg(A_STAB,stabent(yyvsp[-1].cval,TRUE)),
2708 Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
2713 { yyval.arg = make_op(O_OPEN, 2,
2715 yyvsp[-1].arg, Nullarg); }
2719 { yyval.arg = make_op(yyvsp[-3].ival, 1,
2721 Nullarg, Nullarg); }
2725 { yyval.arg = make_op(yyvsp[-1].ival, 1,
2726 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2728 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2732 { yyval.arg = make_op(yyvsp[-1].ival, 1,
2733 stab2arg(A_STAB,yyvsp[0].stabval),
2734 Nullarg, Nullarg); }
2738 { yyval.arg = make_op(yyvsp[-2].ival, 1,
2739 stab2arg(A_WORD,Nullstab),
2740 Nullarg, Nullarg); }
2744 { yyval.arg = make_op(yyvsp[0].ival, 0,
2745 Nullarg, Nullarg, Nullarg); }
2749 { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg); }
2753 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, make_list(yyvsp[-1].arg)); }
2757 { yyval.arg = make_op(yyvsp[-5].ival, 2, yyvsp[-3].arg, yyvsp[-1].arg, Nullarg); }
2761 { arg4 = yyvsp[-1].arg; yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
2765 { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
2766 yyval.arg = make_op(yyvsp[-8].ival, 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
2770 { yyval.arg = make_op(yyvsp[-5].ival, 2,
2772 make_list(yyvsp[-1].arg),
2777 { yyval.arg = make_op(O_POP, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2781 { yyval.arg = make_op(O_POP, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2785 { yyval.arg = make_op(O_SHIFT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2789 { yyval.arg = make_op(O_SHIFT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2793 { yyval.arg = make_op(O_SHIFT, 1,
2795 aadd(stabent(subline ? "_" : "ARGV", TRUE))),
2796 Nullarg, Nullarg); }
2800 { static char p[]="/\\s+/";
2801 char *oldend = bufend;
2802 ARG *oldarg = yylval.arg;
2807 yyval.arg = make_split(defstab,yylval.arg,Nullarg);
2808 yylval.arg = oldarg; }
2812 { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg,
2813 make_split(defstab,yyvsp[-3].arg,yyvsp[-1].arg));}
2817 { yyval.arg = mod_match(O_MATCH, yyvsp[-1].arg,
2818 make_split(defstab,yyvsp[-2].arg,Nullarg) ); }
2822 { yyval.arg = mod_match(O_MATCH,
2823 stab2arg(A_STAB,defstab),
2824 make_split(defstab,yyvsp[-1].arg,Nullarg) ); }
2828 { yyval.arg = make_op(yyvsp[-4].ival, 2,
2830 listish(make_list(yyvsp[-1].arg)),
2835 { yyval.arg = make_op(yyvsp[-3].ival, 1,
2836 make_list(yyvsp[-1].arg),
2842 { yyval.arg = l(make_op(yyvsp[-1].ival, 1, fixl(yyvsp[-1].ival,yyvsp[0].arg),
2843 Nullarg, Nullarg)); }
2847 { yyval.arg = l(make_op(yyvsp[0].ival, 1,
2848 stab2arg(A_STAB,defstab),
2849 Nullarg, Nullarg)); }
2853 { yyval.arg = make_op(yyvsp[0].ival, 0, Nullarg, Nullarg, Nullarg); }
2857 { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
2861 { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
2865 { yyval.arg = make_op(yyvsp[-3].ival, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2869 { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
2870 if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
2871 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
2875 { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
2876 if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
2877 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
2881 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg);
2882 if (yyvsp[-5].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
2883 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
2887 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
2891 { arg4 = yyvsp[-1].arg;
2892 yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
2896 { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
2897 yyval.arg = make_op(yyvsp[-7].ival, 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
2901 { yyval.arg = make_op(yyvsp[-3].ival, 1,
2908 { yyval.arg = make_op(yyvsp[-1].ival, 1,
2915 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
2919 { yyval.arg = make_op(yyvsp[0].ival,2,
2920 stab2arg(A_WORD,Nullstab),
2921 stab2arg(A_STAB,defstab),
2926 { yyval.arg = make_op(yyvsp[-1].ival,2,
2927 stab2arg(A_WORD,Nullstab),
2928 maybelistish(yyvsp[-1].ival,make_list(yyvsp[0].arg)),
2933 { yyval.arg = make_op(yyvsp[-1].ival,2,
2934 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2935 stab2arg(A_STAB,defstab),
2937 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2942 { yyval.arg = make_op(yyvsp[-2].ival,2,
2943 stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
2944 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
2945 Nullarg); Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch; }
2949 { yyval.arg = make_op(yyvsp[-2].ival,2,
2950 stab2arg(A_STAB,yyvsp[-1].stabval),
2951 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
2956 { yyval.arg = make_op(yyvsp[-2].ival,2,
2957 cmd_to_arg(yyvsp[-1].cmdval),
2958 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
2963 { yyval.arg = stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE));
2964 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;}
2968 { yyval.arg = stab2arg(A_WORD,aadd(stabent(yyvsp[0].cval,TRUE)));
2969 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2973 { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
2977 { yyval.arg = stab2arg(A_WORD,hadd(stabent(yyvsp[0].cval,TRUE)));
2978 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2982 { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
2995 yyval.arg = op_new(1);
2996 yyval.arg->arg_type = O_ITEM;
2997 yyval.arg[1].arg_type = A_SINGLE;
2998 yyval.arg[1].arg_ptr.arg_str = str_make(yyvsp[0].cval,0);
2999 for (s = yyvsp[0].cval; *s && isLOWER(*s); s++) ;
3002 "\"%s\" may clash with future reserved word",
3004 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
3007 #line 3008 "y.tab.c"
3013 if (yystate == 0 && yym == 0)
3017 printf("%sdebug: after reduction, shifting from state 0 to\
3018 state %d\n", YYPREFIX, YYFINAL);
3025 if ((yychar = yylex()) < 0) yychar = 0;
3030 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3031 if (!yys) yys = "illegal-symbol";
3032 printf("%sdebug: state %d, reading %d (%s)\n",
3033 YYPREFIX, YYFINAL, yychar, yys);
3037 if (yychar == 0) goto yyaccept;
3040 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
3041 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
3042 yystate = yytable[yyn];
3044 yystate = yydgoto[yym];
3047 printf("%sdebug: after reduction, shifting from state %d \
3048 to state %d\n", YYPREFIX, *yyssp, yystate);
3050 if (yyssp >= yyss + yystacksize - 1)
3058 yyerror("yacc stack overflow");