]> andersk Git - splint.git/blob - src/cgrammar.c.der
Fixed problem with unnamed unions within struct definitions.
[splint.git] / src / cgrammar.c.der
1 /*
2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER:  Change bison.reset too.
4 */
5
6 /*@-allmacros@*/
7 /*@+boolint@*/
8 /*@+charint@*/
9 /*@-macroparams@*/
10 /*@-macroundef@*/
11 /*@-unreachable@*/
12 /*@-macrospec@*/
13 /*@-varuse@*/
14 /*@+ignorequals@*/
15 /*@-macrostmt@*/
16 /*@-noeffect@*/
17 /*@-shadow@*/
18 /*@-exitarg@*/
19 /*@-macroredef@*/
20 /*@-uniondef@*/
21 /*@-compdef@*/
22 /*@-matchfields@*/
23 /*@-exportlocal@*/
24 /*@-evalorderuncon@*/
25 /*@-exportheader@*/
26 /*@-typeuse@*/
27 /*@-redecl@*/
28 /*@-redef@*/
29 /*@-noparams@*/
30 /*@-ansireserved@*/
31 /*@-fielduse@*/
32 /*@-ifblock@*/
33 /*@-elseifcomplete@*/
34 /*@-whileblock@*/
35 /*@-forblock@*/
36 /*@-branchstate@*/
37 /*@-readonlytrans@*/
38 /*@-namechecks@*/
39 /*@-usedef@*/
40 /*@-systemunrecog@*/
41 /*@-dependenttrans@*/
42 /*@-unqualifiedtrans@*/
43 /*@-nullassign@*/
44 /*@-nullpass@*/
45 /*@-nullptrarith*/
46 /*@-usereleased@*/
47 /*@-declundef@*/
48
49 /*drl added 11/27/2001*/
50 /*@-bounds@*/
51 /* < end of bison.head > */
52
53
54 /*  A Bison parser, made from cgrammar.y
55     by GNU Bison version 1.28  */
56
57 #define YYBISON 1  /* Identify Bison output.  */
58
59 #define BADTOK  257
60 #define SKIPTOK 258
61 #define CTOK_ELIPSIS    259
62 #define CASE    260
63 #define DEFAULT 261
64 #define CIF     262
65 #define CELSE   263
66 #define SWITCH  264
67 #define WHILE   265
68 #define DO      266
69 #define CFOR    267
70 #define GOTO    268
71 #define CONTINUE        269
72 #define BREAK   270
73 #define RETURN  271
74 #define TSEMI   272
75 #define TLBRACE 273
76 #define TRBRACE 274
77 #define TCOMMA  275
78 #define TCOLON  276
79 #define TASSIGN 277
80 #define TLPAREN 278
81 #define TRPAREN 279
82 #define TLSQBR  280
83 #define TRSQBR  281
84 #define TDOT    282
85 #define TAMPERSAND      283
86 #define TEXCL   284
87 #define TTILDE  285
88 #define TMINUS  286
89 #define TPLUS   287
90 #define TMULT   288
91 #define TDIV    289
92 #define TPERCENT        290
93 #define TLT     291
94 #define TGT     292
95 #define TCIRC   293
96 #define TBAR    294
97 #define TQUEST  295
98 #define CSIZEOF 296
99 #define CALIGNOF        297
100 #define CTYPEOF 298
101 #define ARROW_OP        299
102 #define CTYPEDEF        300
103 #define COFFSETOF       301
104 #define INC_OP  302
105 #define DEC_OP  303
106 #define LEFT_OP 304
107 #define RIGHT_OP        305
108 #define LE_OP   306
109 #define GE_OP   307
110 #define EQ_OP   308
111 #define NE_OP   309
112 #define AND_OP  310
113 #define OR_OP   311
114 #define MUL_ASSIGN      312
115 #define DIV_ASSIGN      313
116 #define MOD_ASSIGN      314
117 #define ADD_ASSIGN      315
118 #define SUB_ASSIGN      316
119 #define LEFT_ASSIGN     317
120 #define RIGHT_ASSIGN    318
121 #define AND_ASSIGN      319
122 #define XOR_ASSIGN      320
123 #define OR_ASSIGN       321
124 #define CSTRUCT 322
125 #define CUNION  323
126 #define CENUM   324
127 #define VA_ARG  325
128 #define VA_DCL  326
129 #define QWARN   327
130 #define QGLOBALS        328
131 #define QMODIFIES       329
132 #define QNOMODS 330
133 #define QCONSTANT       331
134 #define QFUNCTION       332
135 #define QITER   333
136 #define QDEFINES        334
137 #define QUSES   335
138 #define QALLOCATES      336
139 #define QSETS   337
140 #define QRELEASES       338
141 #define QPRECLAUSE      339
142 #define QPOSTCLAUSE     340
143 #define QINVARIANT      341
144 #define QALT    342
145 #define QUNDEF  343
146 #define QKILLED 344
147 #define QENDMACRO       345
148 #define LLMACRO 346
149 #define LLMACROITER     347
150 #define LLMACROEND      348
151 #define TENDMACRO       349
152 #define QSWITCHBREAK    350
153 #define QLOOPBREAK      351
154 #define QINNERBREAK     352
155 #define QSAFEBREAK      353
156 #define QINNERCONTINUE  354
157 #define QFALLTHROUGH    355
158 #define QLINTNOTREACHED 356
159 #define QLINTFALLTHROUGH        357
160 #define QLINTFALLTHRU   358
161 #define QARGSUSED       359
162 #define QPRINTFLIKE     360
163 #define QLINTPRINTFLIKE 361
164 #define QSCANFLIKE      362
165 #define QMESSAGELIKE    363
166 #define QNOTREACHED     364
167 #define QCONST  365
168 #define QVOLATILE       366
169 #define QINLINE 367
170 #define QEXTENSION      368
171 #define QEXTERN 369
172 #define QSTATIC 370
173 #define QAUTO   371
174 #define QREGISTER       372
175 #define QOUT    373
176 #define QIN     374
177 #define QYIELD  375
178 #define QONLY   376
179 #define QTEMP   377
180 #define QSHARED 378
181 #define QREF    379
182 #define QUNIQUE 380
183 #define QCHECKED        381
184 #define QUNCHECKED      382
185 #define QCHECKEDSTRICT  383
186 #define QCHECKMOD       384
187 #define QKEEP   385
188 #define QKEPT   386
189 #define QPARTIAL        387
190 #define QSPECIAL        388
191 #define QOWNED  389
192 #define QDEPENDENT      390
193 #define QRETURNED       391
194 #define QEXPOSED        392
195 #define QNULL   393
196 #define QOBSERVER       394
197 #define QISNULL 395
198 #define QEXITS  396
199 #define QMAYEXIT        397
200 #define QNEVEREXIT      398
201 #define QTRUEEXIT       399
202 #define QFALSEEXIT      400
203 #define QLONG   401
204 #define QSIGNED 402
205 #define QUNSIGNED       403
206 #define QSHORT  404
207 #define QUNUSED 405
208 #define QSEF    406
209 #define QNOTNULL        407
210 #define QRELNULL        408
211 #define QABSTRACT       409
212 #define QCONCRETE       410
213 #define QMUTABLE        411
214 #define QIMMUTABLE      412
215 #define QTRUENULL       413
216 #define QFALSENULL      414
217 #define QEXTERNAL       415
218 #define QREFCOUNTED     416
219 #define QREFS   417
220 #define QNEWREF 418
221 #define QTEMPREF        419
222 #define QKILLREF        420
223 #define QRELDEF 421
224 #define CGCHAR  422
225 #define CBOOL   423
226 #define CINT    424
227 #define CGFLOAT 425
228 #define CDOUBLE 426
229 #define CVOID   427
230 #define QANYTYPE        428
231 #define QINTEGRALTYPE   429
232 #define QUNSIGNEDINTEGRALTYPE   430
233 #define QSIGNEDINTEGRALTYPE     431
234 #define QNULLTERMINATED 432
235 #define QSETBUFFERSIZE  433
236 #define QSETSTRINGLENGTH        434
237 #define QMAXSET 435
238 #define QMAXREAD        436
239 #define QTESTINRANGE    437
240 #define TCAND   438
241 #define IDENTIFIER      439
242 #define NEW_IDENTIFIER  440
243 #define TYPE_NAME_OR_ID 441
244 #define CANNOTATION     442
245 #define CCONSTANT       443
246 #define ITER_NAME       444
247 #define ITER_ENDNAME    445
248 #define TYPE_NAME       446
249 #define METASTATE_NAME  447
250
251
252 /*
253 **
254 ** cgrammar.y
255 **
256 ** Yacc/Bison grammar for extended ANSI C used by Splint.
257 **
258 ** original grammar by Nate Osgood ---
259 **    hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
260 **
261 ** changes for Splint --- handle typedef names correctly
262 ** fix struct/union parsing bug (empty struct is accepted)
263 ** add productions to handle macros --- require
264 ** error correction --- main source of conflicts in grammar.
265 ** need to process initializations sequentially, L->R
266 **
267 ** production names are cryptic, so more productions fit on one line
268 **
269 ** conflicts:  87 shift/reduce, 18 reduce/reduce
270 ** most of these are due to handling macros
271 ** a few are due to handling type expressions
272 */
273
274 /*@=allmacros@*/
275
276 extern int yylex ();
277 extern void swallowMacro (void);
278 extern void yyerror (char *);
279
280 # include "splintMacros.nf"
281 # include "basic.h"
282 # include "cscanner.h"
283 # include "cgrammar.h"
284 # include "exprChecks.h"
285
286 /*@-allmacros@*/
287 /*@-matchfields@*/
288
289 # define SHOWCSYM FALSE
290
291 /*
292 ** This is necessary, or else when the bison-generated code #include's malloc.h,
293 ** there will be a parse error.
294 **
295 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
296 ** in bison-generated files under Win32.
297 */
298
299 # ifdef WIN32
300 # undef malloc
301 # undef calloc
302 # undef realloc
303 # endif
304
305
306 typedef union
307 {
308   lltok tok;
309   int count;
310   qual typequal;
311   qualList tquallist;
312   ctype ctyp;
313   /*@dependent@*/ sRef sr;
314   /*@only@*/ sRef osr;
315
316   /*@only@*/ functionClauseList funcclauselist;
317   /*@only@*/ functionClause funcclause;  
318   /*@only@*/ flagSpec flagspec;
319   /*@only@*/ globalsClause globsclause;
320   /*@only@*/ modifiesClause modsclause;
321   /*@only@*/ warnClause warnclause;
322   /*@only@*/ stateClause stateclause;
323
324   /*@only@*/ functionConstraint fcnconstraint; 
325
326   /*@only@*/ metaStateConstraint msconstraint;
327   /*@only@*/ metaStateSpecifier msspec;
328   /*@only@*/ metaStateExpression msexpr;
329   /*@observer@*/ metaStateInfo msinfo;
330
331   /*@only@*/ sRefList srlist;
332   /*@only@*/ globSet globset;
333   /*@only@*/ qtype qtyp;
334   /*@only@*/ cstring cname;
335   /*@observer@*/ annotationInfo annotation;
336   /*@only@*/ idDecl ntyp;
337   /*@only@*/ idDeclList ntyplist;
338   /*@only@*/ uentryList flist;
339   /*@owned@*/ uentryList entrylist;
340   /*@observer@*/ /*@dependent@*/ uentry entry;
341   /*@only@*/ uentry oentry;
342   /*@only@*/ exprNode expr;
343   /*@only@*/ enumNameList enumnamelist;
344   /*@only@*/ exprNodeList exprlist;
345   /*@only@*/ sRefSet srset; 
346   /*@only@*/ cstringList cstringlist;
347
348   /*drl
349     added 1/19/2001
350   */
351   constraint con;
352   constraintList conL;
353   constraintExpr conE;
354   /* drl */  
355 } YYSTYPE;
356 #ifndef YYDEBUG
357 #define YYDEBUG 1
358 #endif
359
360 #include <stdio.h>
361
362 #ifndef __cplusplus
363 #ifndef __STDC__
364 #define const
365 #endif
366 #endif
367
368
369
370 #define YYFINAL         1233
371 #define YYFLAG          -32768
372 #define YYNTBASE        194
373
374 #define YYTRANSLATE(x) ((unsigned)(x) <= 447 ? yytranslate[x] : 459)
375
376 static const short yytranslate[] = {     0,
377      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
379      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
380      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
381      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
382      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
383      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
384      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
385      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
386      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
387      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
388      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
389      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
390      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
391      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
392      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
393      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
394      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
395      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
396      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
397      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
398      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
399      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
400      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
401      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
402      2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
403      7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
404     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
405     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
406     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
407     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
408     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
409     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
410     77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
411     87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
412     97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
413    107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
414    117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
415    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
416    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
417    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
418    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
419    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
420    177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
421    187,   188,   189,   190,   191,   192,   193
422 };
423
424 #if YYDEBUG != 0
425 static const short yyprhs[] = {     0,
426      0,     1,     3,     5,     8,    11,    13,    15,    17,    19,
427     21,    23,    25,    34,    46,    47,    53,    55,    59,    61,
428     64,    66,    73,    77,    84,    85,    92,    93,   101,   103,
429    110,   114,   121,   122,   129,   130,   138,   139,   140,   151,
430    155,   159,   163,   166,   168,   172,   173,   178,   179,   184,
431    186,   190,   192,   194,   196,   200,   202,   206,   208,   210,
432    212,   214,   216,   218,   223,   229,   231,   233,   235,   237,
433    241,   246,   249,   253,   257,   261,   263,   265,   267,   268,
434    271,   272,   275,   277,   279,   281,   283,   285,   287,   289,
435    291,   293,   295,   297,   299,   302,   303,   308,   310,   313,
436    314,   318,   320,   324,   326,   328,   329,   332,   336,   339,
437    341,   345,   348,   349,   352,   354,   356,   358,   360,   362,
438    364,   366,   368,   370,   372,   374,   376,   378,   380,   382,
439    384,   388,   389,   393,   394,   395,   400,   403,   406,   408,
440    410,   412,   416,   421,   424,   428,   432,   436,   438,   440,
441    442,   446,   448,   450,   454,   459,   462,   466,   470,   474,
442    475,   477,   479,   483,   485,   487,   489,   493,   495,   497,
443    498,   503,   505,   510,   514,   519,   526,   532,   538,   541,
444    544,   552,   554,   558,   560,   563,   566,   569,   572,   575,
445    578,   581,   584,   586,   588,   592,   594,   604,   605,   609,
446    614,   617,   622,   625,   627,   632,   634,   638,   642,   646,
447    648,   652,   656,   658,   662,   666,   668,   672,   676,   680,
448    684,   686,   690,   694,   696,   700,   702,   706,   708,   712,
449    714,   715,   720,   722,   723,   728,   730,   731,   732,   740,
450    742,   746,   750,   754,   758,   762,   766,   770,   774,   778,
451    782,   786,   788,   792,   793,   795,   797,   799,   801,   803,
452    807,   808,   818,   819,   831,   834,   835,   842,   843,   852,
453    857,   862,   863,   864,   867,   869,   874,   875,   880,   882,
454    886,   891,   894,   897,   900,   902,   905,   909,   912,   914,
455    918,   920,   922,   924,   926,   928,   931,   932,   939,   942,
456    945,   946,   953,   954,   960,   962,   964,   966,   968,   970,
457    972,   974,   976,   978,   980,   982,   984,   986,   988,   990,
458    992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,
459   1012,  1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1030,
460   1032,  1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,  1050,
461   1052,  1054,  1056,  1058,  1060,  1062,  1064,  1067,  1070,  1073,
462   1076,  1079,  1082,  1085,  1088,  1091,  1094,  1097,  1100,  1103,
463   1106,  1109,  1112,  1115,  1118,  1121,  1124,  1127,  1130,  1133,
464   1136,  1139,  1143,  1145,  1150,  1152,  1156,  1159,  1162,  1165,
465   1166,  1168,  1169,  1170,  1171,  1184,  1185,  1186,  1198,  1205,
466   1212,  1213,  1214,  1225,  1226,  1227,  1238,  1244,  1250,  1255,
467   1260,  1261,  1263,  1265,  1268,  1274,  1278,  1281,  1286,  1288,
468   1292,  1297,  1304,  1305,  1314,  1319,  1321,  1325,  1328,  1330,
469   1335,  1337,  1339,  1342,  1345,  1347,  1350,  1352,  1355,  1357,
470   1359,  1361,  1364,  1366,  1369,  1372,  1376,  1378,  1382,  1384,
471   1388,  1390,  1392,  1396,  1397,  1400,  1401,  1406,  1411,  1413,
472   1415,  1418,  1420,  1422,  1425,  1426,  1428,  1434,  1437,  1441,
473   1445,  1450,  1454,  1459,  1464,  1470,  1472,  1474,  1476,  1478,
474   1480,  1482,  1484,  1486,  1488,  1490,  1492,  1494,  1497,  1500,
475   1508,  1515,  1518,  1519,  1520,  1531,  1532,  1539,  1541,  1543,
476   1545,  1547,  1550,  1552,  1554,  1556,  1558,  1560,  1562,  1564,
477   1568,  1570,  1571,  1575,  1578,  1581,  1583,  1585,  1587,  1589,
478   1591,  1593,  1595,  1597,  1599,  1601,  1605,  1607,  1609,  1612,
479   1615,  1616,  1619,  1620,  1625,  1626,  1633,  1634,  1638,  1639,
480   1645,  1649,  1652,  1656,  1657,  1658,  1659,  1660,  1661,  1663,
481   1666,  1669,  1673,  1676,  1680,  1684,  1689,  1692,  1695,  1699,
482   1703,  1708,  1710,  1713,  1715,  1718,  1720,  1724,  1726,  1731,
483   1733,  1736,  1738,  1741,  1743,  1746,  1748,  1753,  1756,  1757,
484   1763,  1764,  1771,  1776,  1781,  1782,  1783,  1794,  1796,  1797,
485   1802,  1804,  1806,  1808,  1810,  1812,  1815,  1817,  1821,  1823,
486   1828,  1832,  1837,  1844,  1850,  1856,  1859,  1862,  1864,  1867,
487   1870,  1873,  1876,  1879,  1882,  1885,  1888,  1890,  1892,  1897,
488   1899,  1903,  1907,  1911,  1913,  1917,  1921,  1923,  1927,  1931,
489   1933,  1937,  1941,  1945,  1949,  1951,  1955,  1959,  1961,  1965,
490   1967,  1971,  1973,  1977,  1979,  1983,  1985,  1989,  1991,  1992,
491   1993,  2001,  2003,  2007,  2011,  2015,  2019,  2023,  2027,  2031,
492   2035,  2039,  2043,  2047,  2049,  2050,  2052,  2055,  2063,  2066,
493   2069,  2077,  2084,  2087,  2091,  2094,  2098,  2101,  2105,  2109,
494   2113,  2117,  2120,  2124,  2125,  2127,  2128,  2130,  2132,  2134,
495   2136,  2138,  2140,  2142,  2144,  2146,  2151
496 };
497
498 static const short yyrhs[] = {    -1,
499    195,     0,   196,     0,   195,   196,     0,   257,   454,     0,
500    197,     0,   198,     0,   208,     0,   211,     0,   295,     0,
501     18,     0,     1,     0,    77,   336,   350,   360,   350,   454,
502    303,    91,     0,    77,   336,   350,   360,   350,    23,   303,
503    308,   307,   454,    91,     0,     0,    78,   199,   200,   454,
504     91,     0,   201,     0,   336,   350,   201,     0,   205,     0,
505    364,   205,     0,   457,     0,   303,    24,   350,   360,   303,
506     25,     0,   202,    26,    27,     0,   202,    26,   303,   294,
507     27,   350,     0,     0,   202,   304,    24,    25,   203,   229,
508      0,     0,   202,   304,    24,   361,    25,   204,   229,     0,
509    457,     0,   303,    24,   350,   201,   303,    25,     0,   205,
510     26,    27,     0,   205,    26,   303,   294,    27,   350,     0,
511      0,   205,   304,    24,    25,   206,   230,     0,     0,   205,
512    304,    24,   361,    25,   207,   230,     0,     0,     0,    79,
513    457,    24,   361,    25,   209,   230,   210,   454,    91,     0,
514     92,   391,    95,     0,    93,   377,    95,     0,    94,   378,
515     95,     0,    92,    95,     0,   252,     0,   214,    23,   217,
516      0,     0,   226,   215,    22,   218,     0,     0,     5,   216,
517     22,   218,     0,   214,     0,   214,    40,   217,     0,   193,
518      0,   184,     0,    56,     0,   221,   219,   220,     0,   221,
519      0,   224,   223,   224,     0,   181,     0,   182,     0,    53,
520      0,    52,     0,    54,     0,   225,     0,   227,    24,   224,
521     25,     0,    24,   224,   228,   224,    25,     0,   226,     0,
522    189,     0,   456,     0,   186,     0,   226,    26,    27,     0,
523    226,    26,   189,    27,     0,    34,   226,     0,    24,   226,
524     25,     0,   226,    28,   457,     0,   226,    45,   457,     0,
525    222,     0,    33,     0,    32,     0,     0,   231,   229,     0,
526      0,   232,   230,     0,   233,     0,   237,     0,   236,     0,
527    314,     0,   317,     0,   243,     0,   234,     0,   238,     0,
528    236,     0,   315,     0,   319,     0,   244,     0,   234,    91,
529      0,     0,    74,   235,   245,   454,     0,    76,     0,   238,
530     91,     0,     0,    75,   239,   258,     0,   241,     0,   241,
531     40,   240,     0,   186,     0,   243,     0,     0,   244,    91,
532      0,    73,   240,   430,     0,    73,   240,     0,   246,     0,
533    245,    21,   246,     0,   247,   248,     0,     0,   249,   247,
534      0,   456,     0,   186,     0,   295,     0,    89,     0,    90,
535      0,   119,     0,   120,     0,   133,     0,    80,     0,    81,
536      0,    82,     0,    83,     0,    84,     0,    85,     0,    86,
537      0,   360,     0,   336,   350,   360,     0,     0,    19,   254,
538    408,     0,     0,     0,   255,   412,   256,   401,     0,   212,
539    253,     0,   261,   454,     0,   454,     0,   456,     0,   186,
540      0,   259,    26,    27,     0,   259,    26,   260,    27,     0,
541     34,   259,     0,    24,   259,    25,     0,   259,    28,   457,
542      0,   259,    45,   457,     0,   259,     0,   430,     0,   259,
543      0,   261,    21,   259,     0,   456,     0,   186,     0,   262,
544     26,    27,     0,   262,    26,   260,    27,     0,    34,   262,
545      0,    24,   262,    25,     0,   262,    28,   457,     0,   262,
546     45,   457,     0,     0,   264,     0,   262,     0,   264,    21,
547    262,     0,   456,     0,   186,     0,   430,     0,    24,   292,
548     25,     0,   187,     0,   114,     0,     0,    24,   266,   401,
549     25,     0,   265,     0,   267,    26,   292,    27,     0,   267,
550     24,    25,     0,   267,    24,   268,    25,     0,    71,    24,
551    291,    21,   372,    25,     0,   267,   350,    28,   457,   303,
552      0,   267,   350,    45,   457,   303,     0,   267,    48,     0,
553    267,    49,     0,    24,   372,    25,    19,   413,   455,    20,
554      0,   291,     0,   268,    21,   291,     0,   267,     0,    48,
555    269,     0,    49,   269,     0,    29,   275,     0,    34,   275,
556      0,    33,   275,     0,    32,   275,     0,    31,   275,     0,
557     30,   275,     0,   272,     0,   271,     0,   270,    28,   457,
558      0,   457,     0,    47,   303,    24,   372,   350,    21,   270,
559     25,   303,     0,     0,   303,   273,   274,     0,    42,    24,
560    372,    25,     0,    42,   269,     0,    43,    24,   372,    25,
561      0,    43,   269,     0,   269,     0,    24,   372,    25,   275,
562      0,   275,     0,   276,    34,   275,     0,   276,    35,   275,
563      0,   276,    36,   275,     0,   276,     0,   277,    33,   276,
564      0,   277,    32,   276,     0,   277,     0,   278,    50,   277,
565      0,   278,    51,   277,     0,   278,     0,   279,    37,   278,
566      0,   279,    38,   278,     0,   279,    52,   278,     0,   279,
567     53,   278,     0,   279,     0,   280,    54,   279,     0,   280,
568     55,   279,     0,   280,     0,   281,    29,   280,     0,   281,
569      0,   282,    39,   281,     0,   282,     0,   283,    40,   282,
570      0,   283,     0,     0,   284,    56,   285,   283,     0,   284,
571      0,     0,   286,    57,   287,   284,     0,   286,     0,     0,
572      0,   286,    41,   289,   292,    22,   290,   288,     0,   288,
573      0,   269,    23,   291,     0,   269,    58,   291,     0,   269,
574     59,   291,     0,   269,    60,   291,     0,   269,    61,   291,
575      0,   269,    62,   291,     0,   269,    63,   291,     0,   269,
576     64,   291,     0,   269,    65,   291,     0,   269,    66,   291,
577      0,   269,    67,   291,     0,   291,     0,   292,    21,   291,
578      0,     0,   292,     0,   288,     0,   296,     0,    72,     0,
579    301,     0,   336,   303,    18,     0,     0,   336,   350,   360,
580    350,   297,   303,   307,    18,   303,     0,     0,   336,   350,
581    360,   350,    23,   298,   303,   308,   307,    18,   303,     0,
582    360,   350,     0,     0,   360,   350,    23,   300,   303,   308,
583      0,     0,    46,   336,   302,   350,   305,   303,   242,    18,
584      0,    46,   336,   303,    18,     0,    46,   305,   303,    18,
585      0,     0,     0,   306,   303,     0,   299,     0,   305,    21,
586    350,   299,     0,     0,   307,    21,   350,   299,     0,   291,
587      0,    19,   312,    20,     0,    19,   312,    21,    20,     0,
588    309,   308,     0,   310,    23,     0,   457,    22,     0,   311,
589      0,   310,   311,     0,    26,   294,    27,     0,    28,   457,
590      0,   308,     0,   312,    21,   308,     0,   115,     0,   113,
591      0,   116,     0,   117,     0,   118,     0,   315,    91,     0,
592      0,   250,   350,   316,   264,   454,   303,     0,   319,    91,
593      0,   251,   350,     0,     0,   318,   325,   320,   263,   454,
594    303,     0,     0,   318,   321,   322,   454,   303,     0,   220,
595      0,   213,     0,   142,     0,   143,     0,   145,     0,   146,
596      0,   144,     0,   127,     0,   130,     0,   128,     0,   129,
597      0,   135,     0,   136,     0,   121,     0,   123,     0,   122,
598      0,   131,     0,   132,     0,   124,     0,   126,     0,   139,
599      0,   141,     0,   154,     0,   153,     0,   138,     0,   140,
600      0,   178,     0,   188,     0,   137,     0,   152,     0,   151,
601      0,   161,     0,   159,     0,   160,     0,   155,     0,   156,
602      0,   157,     0,   158,     0,   162,     0,   163,     0,   166,
603      0,   167,     0,   164,     0,   165,     0,   150,     0,   147,
604      0,   148,     0,   149,     0,   119,     0,   120,     0,   133,
605      0,   134,     0,   111,   303,     0,   112,   303,     0,   332,
606    303,     0,   325,   303,     0,   323,   303,     0,   326,   303,
607      0,   324,   303,     0,   328,   303,     0,   327,   303,     0,
608    329,   303,     0,   330,   303,     0,   168,   350,     0,   170,
609    350,     0,   169,   350,     0,   171,   350,     0,   172,   350,
610      0,   173,   350,     0,   174,   350,     0,   175,   350,     0,
611    176,   350,     0,   177,   350,     0,   458,   350,     0,   341,
612    350,     0,   355,   350,     0,   331,   350,     0,   303,   336,
613    303,     0,   338,     0,   338,    88,   337,    91,     0,   372,
614      0,   372,    21,   337,     0,   313,   339,     0,   333,   339,
615      0,   334,   339,     0,     0,   336,     0,     0,     0,     0,
616    350,    68,   457,   303,    19,   342,   405,   351,   406,   343,
617     20,   340,     0,     0,     0,   350,    69,   457,   303,    19,
618    344,   405,   351,   406,   345,    20,     0,   350,    68,   457,
619    303,    19,    20,     0,   350,    69,   457,   303,    19,    20,
620      0,     0,     0,   350,    68,   303,    19,   346,   405,   351,
621    406,   347,    20,     0,     0,     0,   350,    69,   303,    19,
622    348,   405,   351,   406,   349,    20,     0,   350,    68,   303,
623     19,    20,     0,   350,    69,   303,    19,    20,     0,   350,
624     68,   457,   350,     0,   350,    69,   457,   350,     0,     0,
625    352,     0,   211,     0,   351,   352,     0,   336,   350,   353,
626    303,    18,     0,   336,   303,    18,     0,   354,   350,     0,
627    353,    21,   354,   350,     0,   360,     0,    22,   303,   294,
628      0,   360,    22,   303,   294,     0,   350,    70,    19,   357,
629     20,   303,     0,     0,   350,    70,   457,    19,   356,   357,
630     20,   303,     0,   350,    70,   457,   303,     0,   358,     0,
631    357,    21,   358,     0,   357,    21,     0,   457,     0,   457,
632     23,   303,   294,     0,   202,     0,   374,     0,   364,   192,
633      0,   364,   359,     0,   202,     0,   364,   202,     0,   367,
634      0,   350,   365,     0,   111,     0,   112,     0,   362,     0,
635    363,   362,     0,    34,     0,    34,   363,     0,    34,   364,
636      0,    34,   363,   364,     0,   366,     0,   366,    21,     5,
637      0,   457,     0,   366,    21,   457,     0,     5,     0,   368,
638      0,   368,    21,     5,     0,     0,   369,   371,     0,     0,
639    368,    21,   370,   371,     0,   303,   336,   359,   303,     0,
640    457,     0,   335,     0,   335,   373,     0,   364,     0,   375,
641      0,   364,   375,     0,     0,   375,     0,   303,    24,   350,
642    373,    25,     0,    26,    27,     0,    26,   294,    27,     0,
643    375,    26,    27,     0,   375,    26,   294,    27,     0,   303,
644     24,    25,     0,   303,    24,   367,    25,     0,   375,   303,
645     24,    25,     0,   375,   303,    24,   367,    25,     0,   393,
646      0,   395,     0,   398,     0,   401,     0,   416,     0,   419,
647      0,   451,     0,   424,     0,   453,     0,   379,     0,   377,
648      0,   386,     0,   379,   386,     0,   423,   379,     0,   450,
649    392,    11,    24,   292,    25,    18,     0,   450,   392,    11,
650     24,   292,    25,     0,   381,   386,     0,     0,     0,    13,
651     24,   293,    18,   293,    18,   382,   293,   383,    25,     0,
652      0,   190,   403,    24,   385,   427,    25,     0,   191,     0,
653    393,     0,   395,     0,   398,     0,   389,   412,     0,   389,
654      0,   390,     0,   416,     0,   387,     0,   380,     0,   384,
655      0,   453,     0,    24,   386,    25,     0,     1,     0,     0,
656    418,   388,   386,     0,   403,    19,     0,   407,    20,     0,
657    392,     0,   411,     0,   393,     0,   395,     0,   398,     0,
658    402,     0,   417,     0,   419,     0,   424,     0,   452,     0,
659     24,   392,    25,     0,   453,     0,     1,     0,   457,    22,
660      0,   110,   376,     0,     0,   101,   394,     0,     0,     6,
661    294,   396,    22,     0,     0,   101,   394,     6,   294,   397,
662     22,     0,     0,     7,   399,    22,     0,     0,   101,   394,
663      7,   400,    22,     0,    24,   401,    25,     0,   403,   409,
664      0,   403,   410,   404,     0,     0,     0,     0,     0,     0,
665     20,     0,   110,    20,     0,   415,    20,     0,   415,   110,
666     20,     0,   412,    20,     0,   412,   110,    20,     0,   412,
667    415,    20,     0,   412,   415,   110,    20,     0,    19,   408,
668      0,    19,    20,     0,    19,   411,    20,     0,    19,   412,
669     20,     0,    19,   412,   415,    20,     0,   392,     0,   411,
670    392,     0,   295,     0,   412,   295,     0,   414,     0,   413,
671     21,   414,     0,   291,     0,    19,   413,   455,    20,     0,
672    376,     0,   415,   376,     0,    18,     0,   292,    18,     0,
673     18,     0,   292,    18,     0,   292,     0,     8,    24,   292,
674     25,     0,   418,   376,     0,     0,   418,   376,     9,   420,
675    376,     0,     0,    10,    24,   292,   421,    25,   376,     0,
676     11,    24,   292,    25,     0,    11,    24,   292,    25,     0,
677      0,     0,   190,   425,   403,    24,   426,   427,    25,   401,
678    449,   404,     0,   429,     0,     0,   427,   428,    21,   429,
679      0,   448,     0,   456,     0,   187,     0,   186,     0,   189,
680      0,   430,   189,     0,   430,     0,    24,   292,    25,     0,
681    431,     0,   267,    26,   292,    27,     0,   267,    24,    25,
682      0,   267,    24,   268,    25,     0,    71,    24,   291,    21,
683    372,    25,     0,   267,   350,    28,   457,   303,     0,   267,
684    350,    45,   457,   303,     0,   267,    48,     0,   267,    49,
685      0,   432,     0,    48,   269,     0,    49,   269,     0,    29,
686    275,     0,    34,   275,     0,    33,   275,     0,    32,   275,
687      0,    31,   275,     0,    30,   275,     0,   272,     0,   433,
688      0,    24,   372,    25,   275,     0,   434,     0,   276,    34,
689    275,     0,   276,    35,   275,     0,   276,    36,   275,     0,
690    435,     0,   277,    33,   276,     0,   277,    32,   276,     0,
691    436,     0,   278,    50,   277,     0,   278,    51,   277,     0,
692    437,     0,   279,    37,   278,     0,   279,    38,   278,     0,
693    279,    52,   278,     0,   279,    53,   278,     0,   438,     0,
694    280,    54,   279,     0,   280,    55,   279,     0,   439,     0,
695    281,    29,   280,     0,   440,     0,   282,    39,   281,     0,
696    441,     0,   283,    40,   282,     0,   442,     0,   284,    56,
697    283,     0,   443,     0,   286,    57,   284,     0,   444,     0,
698      0,     0,   286,    41,   446,   292,    22,   447,   288,     0,
699    445,     0,   269,    23,   291,     0,   269,    58,   291,     0,
700    269,    59,   291,     0,   269,    60,   291,     0,   269,    61,
701    291,     0,   269,    62,   291,     0,   269,    63,   291,     0,
702    269,    64,   291,     0,   269,    65,   291,     0,   269,    66,
703    291,     0,   269,    67,   291,     0,   191,     0,     0,    12,
704      0,   422,   376,     0,   450,   376,    11,    24,   292,    25,
705     18,     0,   381,   376,     0,   422,   392,     0,   450,   392,
706     11,    24,   292,    25,    18,     0,   450,   392,    11,    24,
707    292,    25,     0,   381,   392,     0,    14,   457,    18,     0,
708     15,    18,     0,   100,    15,    18,     0,    16,    18,     0,
709     96,    16,    18,     0,    97,    16,    18,     0,    98,    16,
710     18,     0,    99,    16,    18,     0,    17,    18,     0,    17,
711    292,    18,     0,     0,    18,     0,     0,    21,     0,   185,
712      0,   186,     0,   190,     0,   191,     0,   456,     0,   187,
713      0,   192,     0,   187,     0,    44,    24,   292,    25,     0,
714     44,    24,   372,    25,     0
715 };
716
717 #endif
718
719 #if YYDEBUG != 0
720 static const short yyrline[] = { 0,
721    325,   326,   329,   330,   333,   334,   335,   336,   337,   338,
722    339,   340,   343,   345,   349,   349,   356,   362,   366,   367,
723    371,   372,   374,   376,   391,   394,   404,   407,   415,   416,
724    418,   420,   436,   439,   447,   450,   458,   460,   460,   464,
725    465,   466,   467,   470,   473,   477,   477,   480,   480,   485,
726    486,   489,   494,   495,   498,   499,   502,   507,   508,   511,
727    512,   513,   516,   517,   518,   523,   524,   527,   529,   531,
728    533,   542,   544,   546,   548,   564,   568,   569,   576,   577,
729    585,   587,   591,   592,   593,   594,   595,   596,   599,   600,
730    601,   602,   603,   604,   607,   610,   611,   618,   621,   624,
731    630,   638,   640,   644,   647,   648,   651,   654,   660,   664,
732    665,   668,   671,   672,   675,   676,   677,   680,   681,   682,
733    683,   684,   687,   688,   689,   690,   691,   694,   695,   698,
734    704,   708,   710,   714,   715,   717,   724,   734,   735,   738,
735    739,   740,   741,   742,   743,   744,   745,   749,   750,   754,
736    755,   758,   760,   762,   763,   764,   765,   766,   768,   772,
737    773,   776,   780,   792,   793,   794,   795,   796,   797,   798,
738    799,   803,   804,   805,   806,   807,   808,   809,   810,   811,
739    812,   816,   817,   820,   821,   822,   823,   824,   825,   826,
740    827,   828,   829,   830,   833,   834,   837,   841,   842,   845,
741    846,   847,   848,   851,   852,   856,   857,   858,   859,   862,
742    863,   864,   867,   868,   869,   872,   873,   874,   875,   876,
743    879,   880,   881,   884,   885,   888,   889,   893,   894,   897,
744    898,   903,   909,   910,   916,   922,   923,   923,   925,   928,
745    929,   930,   931,   932,   933,   934,   935,   936,   937,   938,
746    939,   942,   943,   946,   947,   950,   955,   956,   957,   960,
747    974,   979,   985,   987,   993,   998,   998,  1002,  1003,  1005,
748   1006,  1009,  1012,  1015,  1018,  1019,  1022,  1023,  1026,  1027,
749   1028,  1029,  1036,  1037,  1041,  1042,  1045,  1046,  1049,  1051,
750   1060,  1061,  1062,  1063,  1064,  1067,  1070,  1076,  1085,  1088,
751   1091,  1098,  1105,  1111,  1136,  1137,  1140,  1141,  1142,  1143,
752   1144,  1147,  1148,  1149,  1150,  1153,  1154,  1155,  1156,  1157,
753   1158,  1159,  1160,  1161,  1162,  1163,  1164,  1165,  1166,  1167,
754   1168,  1169,  1173,  1174,  1177,  1178,  1181,  1182,  1185,  1186,
755   1187,  1188,  1191,  1192,  1193,  1194,  1195,  1196,  1199,  1200,
756   1201,  1202,  1205,  1206,  1207,  1208,  1211,  1212,  1213,  1214,
757   1215,  1216,  1217,  1218,  1219,  1220,  1221,  1228,  1229,  1230,
758   1231,  1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,  1240,
759   1241,  1244,  1248,  1249,  1253,  1254,  1258,  1259,  1260,  1263,
760   1264,  1268,  1275,  1277,  1279,  1281,  1283,  1285,  1286,  1288,
761   1290,  1292,  1294,  1295,  1296,  1299,  1300,  1302,  1304,  1305,
762   1308,  1311,  1312,  1313,  1316,  1318,  1322,  1324,  1328,  1329,
763   1330,  1334,  1336,  1336,  1338,  1341,  1343,  1345,  1348,  1353,
764   1360,  1361,  1362,  1369,  1373,  1374,  1378,  1379,  1382,  1383,
765   1386,  1387,  1390,  1391,  1392,  1393,  1396,  1397,  1400,  1401,
766   1404,  1405,  1406,  1409,  1409,  1410,  1411,  1414,  1426,  1442,
767   1443,  1446,  1447,  1448,  1451,  1452,  1455,  1457,  1458,  1460,
768   1461,  1463,  1465,  1467,  1469,  1475,  1476,  1477,  1478,  1479,
769   1480,  1481,  1482,  1483,  1487,  1490,  1493,  1494,  1498,  1500,
770   1502,  1504,  1508,  1509,  1511,  1515,  1517,  1519,  1522,  1523,
771   1524,  1525,  1526,  1527,  1528,  1529,  1530,  1531,  1532,  1533,
772   1534,  1537,  1538,  1543,  1546,  1549,  1550,  1553,  1554,  1555,
773   1556,  1557,  1558,  1559,  1560,  1561,  1562,  1563,  1566,  1567,
774   1574,  1575,  1581,  1582,  1583,  1584,  1587,  1588,  1589,  1590,
775   1593,  1594,  1598,  1601,  1604,  1607,  1610,  1613,  1616,  1617,
776   1618,  1619,  1621,  1622,  1624,  1626,  1632,  1636,  1638,  1640,
777   1642,  1646,  1647,  1650,  1651,  1654,  1655,  1658,  1659,  1662,
778   1663,  1666,  1667,  1670,  1671,  1672,  1675,  1688,  1693,  1694,
779   1698,  1699,  1702,  1707,  1710,  1711,  1712,  1720,  1721,  1721,
780   1725,  1726,  1727,  1738,  1745,  1746,  1749,  1750,  1753,  1754,
781   1755,  1756,  1757,  1759,  1760,  1761,  1762,  1765,  1766,  1767,
782   1768,  1769,  1770,  1771,  1772,  1773,  1774,  1777,  1778,  1781,
783   1782,  1783,  1784,  1787,  1788,  1789,  1792,  1793,  1794,  1797,
784   1798,  1799,  1800,  1801,  1804,  1805,  1806,  1809,  1810,  1813,
785   1814,  1818,  1819,  1822,  1823,  1826,  1827,  1830,  1831,  1832,
786   1833,  1836,  1837,  1838,  1839,  1840,  1841,  1842,  1843,  1844,
787   1845,  1846,  1847,  1850,  1851,  1854,  1857,  1859,  1861,  1865,
788   1866,  1868,  1870,  1873,  1874,  1875,  1877,  1878,  1879,  1880,
789   1881,  1882,  1883,  1886,  1887,  1890,  1891,  1894,  1897,  1898,
790   1899,  1900,  1901,  1904,  1905,  1906,  1907
791 };
792 #endif
793
794
795 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
796
797 static const char * const yytname[] = {   "$","error","$undefined.","BADTOK",
798 "SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
799 "CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
800 "TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
801 "TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
802 "TBAR","TQUEST","CSIZEOF","CALIGNOF","CTYPEOF","ARROW_OP","CTYPEDEF","COFFSETOF",
803 "INC_OP","DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP",
804 "OR_OP","MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
805 "RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
806 "VA_ARG","VA_DCL","QWARN","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION",
807 "QITER","QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
808 "QINVARIANT","QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND",
809 "TENDMACRO","QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE",
810 "QFALLTHROUGH","QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED",
811 "QPRINTFLIKE","QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST",
812 "QVOLATILE","QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT",
813 "QIN","QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
814 "QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
815 "QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
816 "QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
817 "QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
818 "QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
819 "QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
820 "QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","QNULLTERMINATED",
821 "QSETBUFFERSIZE","QSETSTRINGLENGTH","QMAXSET","QMAXREAD","QTESTINRANGE","TCAND",
822 "IDENTIFIER","NEW_IDENTIFIER","TYPE_NAME_OR_ID","CANNOTATION","CCONSTANT","ITER_NAME",
823 "ITER_ENDNAME","TYPE_NAME","METASTATE_NAME","file","externalDefs","externalDef",
824 "constantDecl","fcnDecl","@1","plainFcn","plainNamedDecl","namedDeclBase","@2",
825 "@3","plainNamedDeclBase","@4","@5","iterDecl","@6","@7","macroDef","fcnDefHdr",
826 "metaStateConstraint","metaStateSpecifier","@8","@9","metaStateExpression","metaStateName",
827 "constraintSeperator","BufConstraintList","BufConstraint","bufferModifier","relationalOp",
828 "BufConstraintExpr","BufConstraintTerm","BufConstraintSrefExpr","BufUnaryOp",
829 "BufBinaryOp","functionClauses","functionClausesPlain","functionClause","functionClausePlain",
830 "globalsClause","globalsClausePlain","@10","nomodsClause","modifiesClause","modifiesClausePlain",
831 "@11","flagSpec","flagId","optWarnClause","warnClause","warnClausePlain","globIdList",
832 "globIdListExpr","optGlobQuals","globId","globQual","stateTag","conditionTag",
833 "fcnDefHdrAux","fcnBody","@12","@13","@14","fcnDef","locModifies","modListExpr",
834 "mExpr","modList","specClauseListExpr","optSpecClauseList","specClauseList",
835 "primaryExpr","@15","postfixExpr","argumentExprList","unaryExpr","fieldDesignator",
836 "offsetofExpr","sizeofExpr","@16","sizeofExprAux","castExpr","timesExpr","plusExpr",
837 "shiftExpr","relationalExpr","equalityExpr","bitandExpr","xorExpr","bitorExpr",
838 "andExpr","@17","orExpr","@18","conditionalExpr","@19","@20","assignExpr","expr",
839 "optExpr","constantExpr","initializer","instanceDecl","@21","@22","namedInitializer",
840 "@23","typeDecl","@24","IsType","PushType","namedInitializerList","namedInitializerListAux",
841 "optDeclarators","init","designation","designatorList","designator","initList",
842 "storageSpecifier","stateClause","stateClausePlain","@25","conditionClause",
843 "startConditionClause","conditionClausePlain","@26","@27","functionConstraint",
844 "exitsQualifier","checkQualifier","stateQualifier","paramQualifier","visibilityQualifier",
845 "returnQualifier","typedefQualifier","refcountQualifier","typeModifier","definedQualifier",
846 "typeQualifier","typeSpecifier","completeType","completeTypeSpecifier","altType",
847 "completeTypeSpecifierAux","optCompleteType","optStructInvariant","suSpc","@28",
848 "@29","@30","@31","@32","@33","@34","@35","NotType","structDeclList","structDecl",
849 "structNamedDeclList","structNamedDecl","enumSpc","@36","enumeratorList","enumerator",
850 "optNamedDecl","namedDecl","genericParamList","innerMods","innerModsList","pointers",
851 "paramIdList","idList","paramTypeList","paramList","@37","@38","paramDecl","typeExpression",
852 "abstractDecl","optAbstractDeclBase","abstractDeclBase","stmt","iterBody","endBody",
853 "iterDefStmtList","iterDefIterationStmt","forPred","@39","@40","partialIterStmt",
854 "@41","iterDefStmt","iterSelectionStmt","@42","openScope","closeScope","macroBody",
855 "stmtErr","labeledStmt","optExtraFallThroughs","caseStmt","@43","@44","defaultStmt",
856 "@45","@46","compoundStmt","compoundStmtErr","CreateInnerScope","DeleteInnerScope",
857 "CreateStructInnerScope","DeleteStructInnerScope","DeleteInnerScopeSafe","compoundStmtRest",
858 "compoundStmtAux","compoundStmtAuxErr","stmtListErr","initializerList","typeInitializerList",
859 "typeInitializer","stmtList","expressionStmt","expressionStmtErr","ifPred","selectionStmt",
860 "@47","@48","whilePred","iterWhilePred","iterStmt","@49","@50","iterArgList",
861 "@51","iterArgExpr","cconstantExpr","primaryIterExpr","postfixIterExpr","unaryIterExpr",
862 "castIterExpr","timesIterExpr","plusIterExpr","shiftIterExpr","relationalIterExpr",
863 "equalityIterExpr","bitandIterExpr","xorIterExpr","bitorIterExpr","andIterExpr",
864 "orIterExpr","conditionalIterExpr","@52","@53","assignIterExpr","endIter","doHeader",
865 "iterationStmt","iterationStmtErr","jumpStmt","optSemi","optComma","id","newId",
866 "typeName", NULL
867 };
868 #endif
869
870 static const short yyr1[] = {     0,
871    194,   194,   195,   195,   196,   196,   196,   196,   196,   196,
872    196,   196,   197,   197,   199,   198,   200,   200,   201,   201,
873    202,   202,   202,   202,   203,   202,   204,   202,   205,   205,
874    205,   205,   206,   205,   207,   205,   209,   210,   208,   211,
875    211,   211,   211,   212,   213,   215,   214,   216,   214,   217,
876    217,   218,   219,   219,   220,   220,   221,   222,   222,   223,
877    223,   223,   224,   224,   224,   225,   225,   226,   226,   226,
878    226,   226,   226,   226,   226,   227,   228,   228,   229,   229,
879    230,   230,   231,   231,   231,   231,   231,   231,   232,   232,
880    232,   232,   232,   232,   233,   235,   234,   236,   237,   239,
881    238,   240,   240,   241,   242,   242,   243,   244,   244,   245,
882    245,   246,   247,   247,   248,   248,   248,   249,   249,   249,
883    249,   249,   250,   250,   250,   250,   250,   251,   251,   252,
884    252,   254,   253,   255,   256,   253,   257,   258,   258,   259,
885    259,   259,   259,   259,   259,   259,   259,   260,   260,   261,
886    261,   262,   262,   262,   262,   262,   262,   262,   262,   263,
887    263,   264,   264,   265,   265,   265,   265,   265,   265,   266,
888    265,   267,   267,   267,   267,   267,   267,   267,   267,   267,
889    267,   268,   268,   269,   269,   269,   269,   269,   269,   269,
890    269,   269,   269,   269,   270,   270,   271,   273,   272,   274,
891    274,   274,   274,   275,   275,   276,   276,   276,   276,   277,
892    277,   277,   278,   278,   278,   279,   279,   279,   279,   279,
893    280,   280,   280,   281,   281,   282,   282,   283,   283,   284,
894    285,   284,   286,   287,   286,   288,   289,   290,   288,   291,
895    291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
896    291,   292,   292,   293,   293,   294,   295,   295,   295,   296,
897    297,   296,   298,   296,   299,   300,   299,   302,   301,   301,
898    301,   303,   304,   305,   306,   306,   307,   307,   308,   308,
899    308,   308,   309,   309,   310,   310,   311,   311,   312,   312,
900    313,   313,   313,   313,   313,   314,   316,   315,   317,   318,
901    320,   319,   321,   319,   322,   322,   323,   323,   323,   323,
902    323,   324,   324,   324,   324,   325,   325,   325,   325,   325,
903    325,   325,   325,   325,   325,   325,   325,   325,   325,   325,
904    325,   325,   326,   326,   327,   327,   328,   328,   329,   329,
905    329,   329,   330,   330,   330,   330,   330,   330,   331,   331,
906    331,   331,   332,   332,   332,   332,   333,   333,   333,   333,
907    333,   333,   333,   333,   333,   333,   333,   334,   334,   334,
908    334,   334,   334,   334,   334,   334,   334,   334,   334,   334,
909    334,   335,   336,   336,   337,   337,   338,   338,   338,   339,
910    339,   340,   342,   343,   341,   344,   345,   341,   341,   341,
911    346,   347,   341,   348,   349,   341,   341,   341,   341,   341,
912    350,   351,   351,   351,   352,   352,   353,   353,   354,   354,
913    354,   355,   356,   355,   355,   357,   357,   357,   358,   358,
914    359,   359,   359,   359,   360,   360,   361,   361,   362,   362,
915    363,   363,   364,   364,   364,   364,   365,   365,   366,   366,
916    367,   367,   367,   369,   368,   370,   368,   371,   371,   372,
917    372,   373,   373,   373,   374,   374,   375,   375,   375,   375,
918    375,   375,   375,   375,   375,   376,   376,   376,   376,   376,
919    376,   376,   376,   376,   377,   378,   379,   379,   380,   380,
920    380,   380,   382,   383,   381,   385,   384,   384,   386,   386,
921    386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
922    386,   388,   387,   389,   390,   391,   391,   392,   392,   392,
923    392,   392,   392,   392,   392,   392,   392,   392,   393,   393,
924    394,   394,   396,   395,   397,   395,   399,   398,   400,   398,
925    401,   401,   402,   403,   404,   405,   406,   407,   408,   408,
926    408,   408,   408,   408,   408,   408,   409,   410,   410,   410,
927    410,   411,   411,   412,   412,   413,   413,   414,   414,   415,
928    415,   416,   416,   417,   417,   417,   418,   419,   420,   419,
929    421,   419,   422,   423,   425,   426,   424,   427,   428,   427,
930    429,   429,   429,   429,   430,   430,   431,   431,   432,   432,
931    432,   432,   432,   432,   432,   432,   432,   433,   433,   433,
932    433,   433,   433,   433,   433,   433,   433,   434,   434,   435,
933    435,   435,   435,   436,   436,   436,   437,   437,   437,   438,
934    438,   438,   438,   438,   439,   439,   439,   440,   440,   441,
935    441,   442,   442,   443,   443,   444,   444,   445,   446,   447,
936    445,   448,   448,   448,   448,   448,   448,   448,   448,   448,
937    448,   448,   448,   449,   449,   450,   451,   451,   451,   452,
938    452,   452,   452,   453,   453,   453,   453,   453,   453,   453,
939    453,   453,   453,   454,   454,   455,   455,   456,   457,   457,
940    457,   457,   457,   458,   458,   458,   458
941 };
942
943 static const short yyr2[] = {     0,
944      0,     1,     1,     2,     2,     1,     1,     1,     1,     1,
945      1,     1,     8,    11,     0,     5,     1,     3,     1,     2,
946      1,     6,     3,     6,     0,     6,     0,     7,     1,     6,
947      3,     6,     0,     6,     0,     7,     0,     0,    10,     3,
948      3,     3,     2,     1,     3,     0,     4,     0,     4,     1,
949      3,     1,     1,     1,     3,     1,     3,     1,     1,     1,
950      1,     1,     1,     4,     5,     1,     1,     1,     1,     3,
951      4,     2,     3,     3,     3,     1,     1,     1,     0,     2,
952      0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
953      1,     1,     1,     1,     2,     0,     4,     1,     2,     0,
954      3,     1,     3,     1,     1,     0,     2,     3,     2,     1,
955      3,     2,     0,     2,     1,     1,     1,     1,     1,     1,
956      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
957      3,     0,     3,     0,     0,     4,     2,     2,     1,     1,
958      1,     3,     4,     2,     3,     3,     3,     1,     1,     1,
959      3,     1,     1,     3,     4,     2,     3,     3,     3,     0,
960      1,     1,     3,     1,     1,     1,     3,     1,     1,     0,
961      4,     1,     4,     3,     4,     6,     5,     5,     2,     2,
962      7,     1,     3,     1,     2,     2,     2,     2,     2,     2,
963      2,     2,     1,     1,     3,     1,     9,     0,     3,     4,
964      2,     4,     2,     1,     4,     1,     3,     3,     3,     1,
965      3,     3,     1,     3,     3,     1,     3,     3,     3,     3,
966      1,     3,     3,     1,     3,     1,     3,     1,     3,     1,
967      0,     4,     1,     0,     4,     1,     0,     0,     7,     1,
968      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
969      3,     1,     3,     0,     1,     1,     1,     1,     1,     3,
970      0,     9,     0,    11,     2,     0,     6,     0,     8,     4,
971      4,     0,     0,     2,     1,     4,     0,     4,     1,     3,
972      4,     2,     2,     2,     1,     2,     3,     2,     1,     3,
973      1,     1,     1,     1,     1,     2,     0,     6,     2,     2,
974      0,     6,     0,     5,     1,     1,     1,     1,     1,     1,
975      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
976      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
977      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
978      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
979      1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
980      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
981      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982      2,     3,     1,     4,     1,     3,     2,     2,     2,     0,
983      1,     0,     0,     0,    12,     0,     0,    11,     6,     6,
984      0,     0,    10,     0,     0,    10,     5,     5,     4,     4,
985      0,     1,     1,     2,     5,     3,     2,     4,     1,     3,
986      4,     6,     0,     8,     4,     1,     3,     2,     1,     4,
987      1,     1,     2,     2,     1,     2,     1,     2,     1,     1,
988      1,     2,     1,     2,     2,     3,     1,     3,     1,     3,
989      1,     1,     3,     0,     2,     0,     4,     4,     1,     1,
990      2,     1,     1,     2,     0,     1,     5,     2,     3,     3,
991      4,     3,     4,     4,     5,     1,     1,     1,     1,     1,
992      1,     1,     1,     1,     1,     1,     1,     2,     2,     7,
993      6,     2,     0,     0,    10,     0,     6,     1,     1,     1,
994      1,     2,     1,     1,     1,     1,     1,     1,     1,     3,
995      1,     0,     3,     2,     2,     1,     1,     1,     1,     1,
996      1,     1,     1,     1,     1,     3,     1,     1,     2,     2,
997      0,     2,     0,     4,     0,     6,     0,     3,     0,     5,
998      3,     2,     3,     0,     0,     0,     0,     0,     1,     2,
999      2,     3,     2,     3,     3,     4,     2,     2,     3,     3,
1000      4,     1,     2,     1,     2,     1,     3,     1,     4,     1,
1001      2,     1,     2,     1,     2,     1,     4,     2,     0,     5,
1002      0,     6,     4,     4,     0,     0,    10,     1,     0,     4,
1003      1,     1,     1,     1,     1,     2,     1,     3,     1,     4,
1004      3,     4,     6,     5,     5,     2,     2,     1,     2,     2,
1005      2,     2,     2,     2,     2,     2,     1,     1,     4,     1,
1006      3,     3,     3,     1,     3,     3,     1,     3,     3,     1,
1007      3,     3,     3,     3,     1,     3,     3,     1,     3,     1,
1008      3,     1,     3,     1,     3,     1,     3,     1,     0,     0,
1009      7,     1,     3,     3,     3,     3,     3,     3,     3,     3,
1010      3,     3,     3,     1,     0,     1,     2,     7,     2,     2,
1011      7,     6,     2,     3,     2,     3,     2,     3,     3,     3,
1012      3,     2,     3,     0,     1,     0,     1,     1,     1,     1,
1013      1,     1,     1,     1,     1,     4,     4
1014 };
1015
1016 static const short yydefact[] = {     0,
1017     12,    11,   443,     0,   411,   258,   411,    15,     0,     0,
1018      0,     0,   272,   272,   292,   291,   293,   294,   295,   353,
1019    354,   318,   320,   319,   323,   324,   312,   314,   315,   313,
1020    321,   322,   355,   356,   316,   317,   333,   329,   325,   330,
1021    326,   307,   308,   311,   309,   310,   350,   351,   352,   349,
1022    335,   334,   328,   327,   339,   340,   341,   342,   337,   338,
1023    336,   343,   344,   347,   348,   345,   346,   411,   411,   411,
1024    411,   411,   411,   411,   411,   411,   411,   331,   688,   689,
1025    693,   332,   690,   691,   694,     0,     3,     6,     7,   435,
1026      8,     9,   134,    44,   684,    10,   257,   259,     0,   390,
1027    272,   272,   272,   272,   272,   272,   272,   272,   411,   272,
1028    390,   390,   411,   383,   411,     0,   411,   130,   272,   692,
1029     21,   411,   439,   440,   441,   444,   445,   272,   275,   272,
1030    272,   268,   411,   695,   411,   411,   693,     0,   528,   272,
1031    537,     0,     0,     0,   666,     0,     0,     0,     0,   272,
1032    574,     0,   272,   272,   272,   272,   272,   272,   272,   272,
1033    272,     0,    43,     0,     0,     0,     0,     0,   531,   272,
1034    169,   165,   168,   595,   585,   172,   184,   204,   194,   193,
1035    206,   210,   213,   216,   221,   224,   226,   228,   230,   233,
1036    236,   240,   252,   576,   198,     0,     0,   562,   518,   519,
1037    520,   521,     0,     0,   522,   272,   523,     0,   524,   166,
1038      0,   525,   527,   164,     0,   511,     0,   572,     0,   544,
1039    498,     0,     0,     0,   507,     0,   508,   487,   506,   503,
1040    504,   499,   500,   501,     0,     0,   505,   512,     0,     0,
1041    509,   486,     0,   357,   358,   368,   370,   369,   371,   372,
1042    373,   374,   375,   376,   377,     4,   272,     0,   132,   137,
1043    411,   685,     5,   411,   391,   387,   361,   363,   360,   362,
1044    365,   364,   366,   367,   381,   359,   388,   389,     0,   272,
1045    272,   379,   272,   272,     0,   380,   436,   378,   442,   446,
1046    272,   165,   168,     0,   411,   460,     0,   164,   411,     0,
1047    274,   411,     0,   265,   272,   684,    17,    19,     0,   411,
1048    272,    29,   454,   204,   256,   533,     0,   272,   272,   272,
1049    272,     0,   675,   677,   682,     0,   544,     0,     0,     0,
1050    187,   192,   191,   190,   189,   188,     0,   272,   185,   186,
1051    272,     0,     0,     0,     0,     0,   531,     0,   272,   530,
1052    272,   476,   477,   478,   479,     0,   480,   481,   272,   483,
1053    272,   482,   484,   544,   272,   272,   179,   180,     0,   272,
1054    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1055    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1056    272,   272,   272,   272,   272,   272,   231,   237,   234,   575,
1057    272,     0,   673,    40,     0,   545,   563,   578,   670,   596,
1058      0,   529,   272,     0,     0,     0,   573,    41,   488,   492,
1059    564,   411,   502,   514,   515,     0,     0,     0,    42,    23,
1060    272,   454,   411,   411,   272,   260,   131,   411,     0,   385,
1061      0,   411,     0,   411,     0,   272,     0,   696,   272,   272,
1062      0,   462,   461,   463,   697,   272,   271,   272,   270,   266,
1063    411,     0,   272,     0,   411,   272,    20,   451,     0,     0,
1064    437,   452,   272,     0,   538,     0,   581,     0,   255,     0,
1065    674,   683,   544,     0,   167,   272,   526,   272,     0,     0,
1066    678,   679,   680,   681,   676,   532,   272,   539,     0,   669,
1067    411,   542,   667,     0,     0,   174,     0,   182,     0,     0,
1068      0,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1069    250,   251,   207,   208,   209,   212,   211,   214,   215,   217,
1070    218,   219,   220,   222,   223,   225,   227,   229,   272,   272,
1071    272,   253,   272,   272,   199,   558,   695,   562,     0,   411,
1072    543,   579,     0,     0,   510,   496,   272,   565,   513,     0,
1073      0,    25,     0,   549,   272,   570,   133,   411,   272,   544,
1074    272,   261,   384,   272,   401,     0,   409,   404,     0,   410,
1075      0,   426,   429,   423,   425,   382,   468,     0,   454,   464,
1076    272,     0,   276,   272,   272,   684,    16,    31,   272,   454,
1077    272,    18,   438,   447,   449,    37,   456,   411,   455,   459,
1078    534,   577,     0,   583,   272,   171,   272,   205,   411,     0,
1079    272,   535,     0,   541,   557,     0,   586,   272,   175,   173,
1080    272,   272,   232,     0,   235,   272,   201,   272,   203,   559,
1081    560,   272,   272,   272,   584,   272,   411,   272,   411,    79,
1082     27,   550,   553,   272,   272,   551,   272,   571,   136,     0,
1083    263,   272,   386,   407,   546,   393,   408,   546,   396,   272,
1084    428,   272,     0,   469,   472,   272,     0,   470,     0,   454,
1085    106,   272,   272,   272,     0,    33,     0,   272,     0,    81,
1086    453,   272,   465,   272,     0,   272,   568,   686,   566,     0,
1087      0,     0,   540,   272,   272,   183,   177,   178,   238,     0,
1088      0,   561,   580,     0,   272,   272,   272,   272,   272,   272,
1089    272,   272,   272,     0,   165,   168,   184,   204,   193,   210,
1090    213,   216,   221,   224,   226,   228,   230,   233,     0,   589,
1091    588,   166,   599,   608,   618,   620,   624,   627,   630,   635,
1092    638,   640,   642,   644,   646,   648,   652,   591,   164,     0,
1093     24,     0,    96,   100,    98,   123,   124,   125,   126,   127,
1094    128,   129,    26,    79,    83,     0,    85,    84,     0,    88,
1095      0,   411,   411,    86,     0,    87,   303,     0,    79,   554,
1096    555,   272,   552,    22,   272,   277,   411,   399,   546,   411,
1097    400,   546,   422,   427,   272,     0,     0,   473,   471,   474,
1098      0,     0,   105,   272,   272,     0,   279,   267,   272,     0,
1099    285,     0,   272,     0,   411,    81,    35,     0,   448,   450,
1100     38,    81,    89,    91,    90,    94,    92,    93,   457,   431,
1101      0,   272,   465,   432,   466,   582,   493,   686,   272,     0,
1102      0,   176,   536,     0,   589,   272,   200,   202,   672,     0,
1103      0,   187,   192,   191,   190,   189,   188,   185,   186,   272,
1104    272,   272,   179,   180,     0,   272,   272,   272,   272,   272,
1105    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1106    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1107    272,   272,   231,   649,   234,   497,     0,   491,   104,   109,
1108    102,   113,   684,    80,    95,    99,   107,   297,   300,   296,
1109      0,   301,   299,    28,   556,   272,     0,   413,   411,   411,
1110    412,   411,   411,   411,   430,   272,   467,   475,   269,   289,
1111      0,     0,   288,   282,   283,   286,   284,   277,    13,    32,
1112     34,    81,    30,   684,    82,   454,   458,   433,   434,   272,
1113      0,   567,   181,     0,   196,     0,   544,   239,   671,   167,
1114    272,     0,   174,     0,     0,     0,     0,   653,   654,   655,
1115    656,   657,   658,   659,   660,   661,   662,   663,   207,   208,
1116    209,   212,   211,   214,   215,   217,   218,   219,   220,   222,
1117    223,   225,   227,   229,   645,   272,   647,   272,   490,   108,
1118      0,   118,   119,   120,   121,   122,   684,   110,   411,   113,
1119      0,     0,   141,   101,   150,   684,   139,   140,     0,    48,
1120      0,     0,    58,    59,    69,    67,   306,     0,   305,    56,
1121     76,     0,    63,    66,     0,   684,    68,   160,   277,   272,
1122    411,     0,   272,   414,   402,   411,   405,   411,   424,   280,
1123    272,   287,   684,    36,     0,   272,   494,   569,   272,     0,
1124    668,   665,   205,   272,   175,   173,   272,   272,     0,   590,
1125    103,   113,    97,   116,   112,   117,   115,   114,     0,   144,
1126      0,     0,     0,     0,   138,     0,     0,   153,   162,   684,
1127    152,     0,     0,    66,     0,    72,     0,    54,    53,     0,
1128     61,    60,    62,     0,     0,     0,     0,     0,     0,   272,
1129    684,   161,     0,   262,   272,   416,   272,   272,   411,   419,
1130      0,   394,     0,   397,   281,   290,     0,    39,   272,     0,
1131    197,   195,   664,   545,     0,   177,   178,   650,   111,   145,
1132    142,   148,     0,   149,   146,   147,   151,     0,   156,     0,
1133      0,     0,     0,   272,     0,    78,    77,     0,    73,     0,
1134     50,    45,    46,    55,    66,    57,    70,     0,    74,    75,
1135      0,     0,   304,   272,   272,   278,   272,   272,     0,   417,
1136    272,   403,     0,   406,     0,    14,   495,   587,   176,   272,
1137    143,   157,   154,     0,   158,   159,   163,   298,    52,    49,
1138      0,     0,    71,    47,    64,   302,   264,   420,   411,   415,
1139    272,   392,   398,   651,   155,    65,    51,   418,   421,   395,
1140      0,     0,     0
1141 };
1142
1143 static const short yydefgoto[] = {  1231,
1144     86,    87,    88,    89,   136,   306,   307,    90,   650,   789,
1145    308,   826,   952,    91,   690,   954,   928,    93,  1037,  1171,
1146   1118,  1102,  1172,  1210,  1110,  1039,  1040,  1041,  1114,  1042,
1147   1043,  1175,  1045,  1168,   773,   831,   774,   832,   775,   833,
1148    912,   834,   778,   835,   913,   910,   911,   812,   780,   781,
1149   1017,  1018,  1019,  1085,  1020,   782,   783,    94,   260,   433,
1150    261,   570,    95,  1024,  1152,  1153,  1026,  1099,  1121,  1100,
1151    176,   327,   177,   507,   178,   964,   179,   180,   402,   545,
1152    181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1153    539,   191,   541,   192,   540,   856,   193,   222,   480,   316,
1154    421,    97,   662,   795,   129,   595,    98,   302,   195,   258,
1155    130,   131,   927,   818,   819,   820,   821,   941,   100,   784,
1156    837,  1029,   786,   787,   838,  1048,   921,  1046,   101,   102,
1157    103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1158    296,   422,   439,   114,   266,  1230,   115,   799,  1193,   802,
1159   1195,   665,  1131,   668,  1133,   116,   930,   931,  1128,  1129,
1160    117,   673,   581,   582,   842,   133,   470,   125,   126,   119,
1161    603,   604,   471,   472,   473,   692,   609,   329,   807,   844,
1162    454,   350,   223,   243,   224,   225,   351,   960,  1140,   227,
1163    646,   228,   229,   426,   230,   231,   197,   407,   352,   348,
1164    353,   474,   702,   354,   317,   623,   355,   202,   356,   551,
1165    797,  1055,   236,   567,   502,   406,   204,   568,   698,   699,
1166    569,   357,   205,   206,   358,   643,   613,   359,   239,   360,
1167    364,   705,   740,   907,   741,   210,   743,   744,   745,   746,
1168    747,   748,   749,   750,   751,   752,   753,   754,   755,   756,
1169    757,  1006,  1200,   758,  1144,   361,   362,   212,   363,   263,
1170    850,   298,   215,   122
1171 };
1172
1173 static const short yypact[] = {  2126,
1174 -32768,-32768,    46,    55,  5187,-32768,  6479,-32768,   810,  3178,
1175   3478,  3478,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1177 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1178 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1179 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1180 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1181 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1182    694,-32768,-32768,-32768,-32768,  2309,-32768,-32768,-32768,   272,
1183 -32768,-32768,   109,-32768,   126,-32768,-32768,-32768,   141,  6074,
1184 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1185   6074,  6074,   161,   102,-32768,   187,-32768,-32768,   810,-32768,
1186 -32768,-32768,-32768,-32768,-32768,    46,-32768,  5488,-32768,   182,
1187 -32768,   161,-32768,-32768,-32768,  5187,-32768,   253,-32768,  5488,
1188 -32768,   265,   285,   301,-32768,   322,   810,   335,   347,   754,
1189 -32768,  2689,  5488,  5488,  5488,  5488,  5488,  5488,-32768,  5534,
1190   5534,   351,-32768,   375,   385,   394,   402,   409,   329,  4680,
1191 -32768,   441,   449,-32768,   478,-32768,   555,  1166,-32768,-32768,
1192 -32768,   770,   183,   563,    69,   570,   476,   486,   472,   500,
1193     72,-32768,-32768,   464,-32768,  3523,   497,   507,-32768,-32768,
1194 -32768,-32768,   557,  3223,-32768,  4680,-32768,  3523,-32768,   444,
1195   3523,-32768,-32768,   587,   647,-32768,   650,-32768,  2881,   478,
1196    685,   481,   592,  3328,-32768,  3478,-32768,-32768,-32768,  5804,
1197 -32768,-32768,-32768,-32768,   696,   701,-32768,-32768,  3478,  3523,
1198 -32768,-32768,   646,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1199 -32768,-32768,-32768,-32768,-32768,-32768,   752,   744,-32768,-32768,
1200   6344,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1201 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   763,   454,
1202 -32768,-32768,   810,   810,   420,-32768,   272,-32768,-32768,-32768,
1203   1167,-32768,-32768,   266,  5669,   294,   764,-32768,-32768,   777,
1204 -32768,-32768,   809,   806,   454,   126,-32768,   307,   814,-32768,
1205    810,-32768,    78,-32768,-32768,-32768,   833,  5488,  5488,  5488,
1206   3429,   855,-32768,-32768,-32768,   506,   840,   443,   858,   867,
1207 -32768,-32768,-32768,-32768,-32768,-32768,   870,  1167,-32768,-32768,
1208   5488,   889,   891,   916,   924,   926,   329,   644,  4586,-32768,
1209   4680,-32768,-32768,-32768,-32768,   947,-32768,-32768,  4680,-32768,
1210   4680,-32768,-32768,-32768,  5356,  5488,-32768,-32768,    50,  5488,
1211   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1212   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1213   5488,  5488,  5488,  5488,  5488,  5488,-32768,-32768,-32768,-32768,
1214   5488,   658,-32768,-32768,  2497,-32768,-32768,  1029,-32768,-32768,
1215    987,-32768,  5488,   733,  1005,   969,-32768,-32768,-32768,-32768,
1216 -32768,   161,  5804,-32768,-32768,  3478,  2037,  1036,-32768,-32768,
1217   5488,   157,  3628,  4763,   454,-32768,   434,  6479,   945,  1028,
1218   1035,  1043,  1050,  1043,   810,  1055,   342,-32768,-32768,  5367,
1219   1051,   417,-32768,   688,-32768,   454,-32768,   454,-32768,-32768,
1220 -32768,   994,  1053,  1063,-32768,   454,   307,-32768,   810,  1064,
1221 -32768,  1067,   810,  1068,-32768,   355,  1074,   404,  1074,  1083,
1222 -32768,-32768,   840,  1077,-32768,  5087,-32768,-32768,  1078,  1085,
1223 -32768,-32768,-32768,-32768,-32768,-32768,  5488,-32768,  1079,-32768,
1224   3628,-32768,-32768,  1097,  1099,-32768,   471,-32768,    89,   810,
1225    810,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1226 -32768,-32768,-32768,-32768,-32768,   770,   770,   183,   183,   563,
1227    563,   563,   563,    69,    69,   570,   476,   486,  5488,  5488,
1228   5488,-32768,  5546,  5579,-32768,-32768,  3073,-32768,  3373,  3815,
1229 -32768,-32768,  1102,   473,-32768,-32768,   454,-32768,-32768,  1103,
1230   1082,-32768,  1105,-32768,  4189,-32768,-32768,  4002,  4233,   840,
1231 -32768,  1089,-32768,-32768,  1108,  1117,-32768,  1118,  1121,-32768,
1232    741,-32768,  1114,-32768,-32768,-32768,-32768,  1125,   363,   688,
1233   5401,  1124,-32768,   182,-32768,    52,-32768,-32768,  5488,   559,
1234    454,-32768,-32768,  1120,-32768,-32768,  1151,  6479,-32768,-32768,
1235 -32768,-32768,  1140,-32768,  3429,-32768,  5108,-32768,-32768,  1147,
1236 -32768,-32768,  1145,-32768,-32768,  1146,-32768,  5488,-32768,-32768,
1237 -32768,-32768,   472,   791,   500,  1167,-32768,  1167,-32768,-32768,
1238 -32768,  4338,  4680,  5488,-32768,  5590,-32768,  5488,-32768,  1350,
1239 -32768,-32768,-32768,  4382,  4487,-32768,  4531,-32768,-32768,  1144,
1240 -32768,-32768,-32768,-32768,-32768,  1152,-32768,-32768,  1154,-32768,
1241    810,-32768,   810,-32768,-32768,   108,  1155,-32768,  1149,    62,
1242   1104,  1789,-32768,-32768,  1157,-32768,  1168,-32768,   290,  1350,
1243 -32768,   810,   968,  4680,  1161,  5108,-32768,  1173,-32768,  1182,
1244   1179,  1160,-32768,  5488,  5590,-32768,-32768,-32768,-32768,  1180,
1245   1181,-32768,-32768,   545,  1167,  5488,  5488,  5488,  5488,  5488,
1246   5488,  5534,  5534,  1183,   609,   635,   923,  1486,   665,   970,
1247    984,   905,   756,   935,  1184,  1169,  1170,  1153,    74,  1186,
1248 -32768,    41,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1249 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   699,   714,
1250 -32768,  1032,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1251 -32768,-32768,-32768,  1350,-32768,  1128,-32768,-32768,  1129,-32768,
1252   1130,-32768,-32768,-32768,  1131,-32768,  1975,  1143,  1350,-32768,
1253 -32768,  4636,-32768,-32768,-32768,-32768,  6209,-32768,-32768,  6209,
1254 -32768,-32768,-32768,-32768,  5488,  1021,  1210,-32768,-32768,-32768,
1255   1211,  1219,-32768,  1789,  5488,   810,-32768,-32768,  1789,   653,
1256 -32768,  1217,  1789,  1150,-32768,  1350,-32768,  1218,-32768,-32768,
1257 -32768,  1350,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   272,
1258   1221,-32768,   773,-32768,   688,-32768,-32768,  1173,  1710,  1222,
1259    810,-32768,-32768,   727,  1223,  5488,  1147,  1147,  1231,   735,
1260   1225,   799,   801,   820,   831,   841,   846,   851,   868,  5488,
1261   5412,  5488,   878,   897,   221,  5488,  5488,  5488,  5488,  5488,
1262   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1263   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1264   5488,  5488,  5488,-32768,  5488,-32768,  1230,  1234,-32768,  1065,
1265   1213,   529,   359,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1266    218,-32768,-32768,-32768,-32768,  1789,   537,-32768,   161,  4922,
1267 -32768,  6209,  4922,  6209,-32768,-32768,-32768,-32768,-32768,-32768,
1268   1025,  1232,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1269 -32768,  1350,-32768,   126,-32768,   512,-32768,-32768,-32768,  5460,
1270   1237,-32768,-32768,   505,-32768,  1242,   840,-32768,-32768,   903,
1271   5087,  1241,   908,   910,   156,   810,   810,-32768,-32768,-32768,
1272 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   948,   966,
1273    982,   861,   902,   929,   949,   428,   602,   659,   819,   738,
1274    853,   105,   411,   315,   472,  5488,   500,  5590,-32768,   444,
1275   1032,-32768,-32768,-32768,-32768,-32768,   556,-32768,  5939,   529,
1276    321,   321,-32768,-32768,   515,   640,-32768,-32768,   362,-32768,
1277    588,   450,-32768,-32768,-32768,-32768,-32768,  1240,-32768,   -17,
1278 -32768,  1004,-32768,    63,  1244,   126,-32768,   362,-32768,-32768,
1279 -32768,  1246,   400,-32768,-32768,  4922,-32768,  4922,-32768,-32768,
1280   1315,-32768,   883,-32768,  1175,   886,-32768,-32768,-32768,   810,
1281 -32768,  1080,   990,-32768,   993,  1002,-32768,-32768,  1030,-32768,
1282 -32768,   529,-32768,-32768,-32768,-32768,-32768,-32768,   386,   515,
1283    661,   810,   810,   321,-32768,   362,   362,-32768,   678,   898,
1284 -32768,  1247,  1027,   490,   450,   712,   193,-32768,-32768,   588,
1285 -32768,-32768,-32768,   588,    24,   810,   810,  1248,   588,-32768,
1286    126,  1251,   957,-32768,   454,-32768,-32768,  1252,-32768,  1254,
1287   1257,-32768,  1258,-32768,-32768,-32768,  1189,-32768,   546,  1249,
1288 -32768,-32768,-32768,-32768,  1262,  1003,  1012,-32768,-32768,-32768,
1289 -32768,   515,  1256,   444,-32768,-32768,   515,   638,   678,   794,
1290    810,   810,   362,-32768,  1095,-32768,-32768,   588,-32768,   490,
1291   1261,-32768,   712,-32768,   712,-32768,-32768,  1264,-32768,-32768,
1292   1095,  1269,-32768,-32768,-32768,-32768,  5488,   400,  1271,-32768,
1293 -32768,-32768,  1278,-32768,  1282,-32768,-32768,-32768,  1014,  5488,
1294 -32768,-32768,-32768,  1277,-32768,-32768,   678,-32768,-32768,-32768,
1295   1280,   193,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1296   5488,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1297   1306,  1308,-32768
1298 };
1299
1300 static const short yypgoto[] = {-32768,
1301 -32768,  1227,-32768,-32768,-32768,-32768,  -414,  -113,-32768,-32768,
1302    998,-32768,-32768,-32768,-32768,-32768,    65,-32768,-32768,   395,
1303 -32768,-32768,   103,   136,-32768,   208,-32768,-32768,-32768,  -987,
1304 -32768,  -893,-32768,-32768,  -634,  -750,-32768,-32768,-32768,  -538,
1305 -32768,  -536,-32768,  -477,-32768,   309,-32768,-32768,   641,  -648,
1306 -32768,   239,   305,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1307 -32768,-32768,-32768,-32768,  -873,   166,-32768,  -943,-32768,   281,
1308 -32768,-32768,  -624,   460,   989,-32768,-32768,  -588,-32768,-32768,
1309   -122,  -371,  -370,  -343,  -336,  -379,  -388,  -376,  -513,  -511,
1310 -32768,  -585,-32768,  -137,-32768,-32768,  1087,  1379,  -586,  -423,
1311     25,-32768,-32768,-32768,  -455,-32768,-32768,-32768,   729,  -270,
1312    874,-32768,  -885,  -746,-32768,-32768,   513,-32768,-32768,-32768,
1313   -418,-32768,-32768,-32768,  -417,-32768,-32768,-32768,-32768,-32768,
1314    549,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1315 -32768,   188,   766,-32768,   953,-32768,-32768,-32768,-32768,-32768,
1316 -32768,-32768,-32768,-32768,-32768,    28,  -763,  -524,-32768,   149,
1317 -32768,-32768,   669,   667,   508,     2,  -382,  1229,-32768,    20,
1318 -32768,-32768,  -571,-32768,-32768,-32768,   666,  -107,  1061,-32768,
1319   -448,  -152,  1347,-32768,  1127,-32768,   706,-32768,-32768,-32768,
1320 -32768,  -155,-32768,-32768,-32768,-32768,-32768,    14,  1071,  1022,
1321   1088,-32768,-32768,  1437,-32768,-32768,  -308,-32768,    82,   243,
1322   -613,  -810,-32768,   887,-32768,-32768,   985,  -177,   697,   543,
1323   -478,   113,-32768,   189,    33,-32768,-32768,    39,-32768,   162,
1324 -32768,-32768,   689,-32768,   387,  -587,-32768,-32768,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1326 -32768,-32768,-32768,-32768,-32768,  1443,-32768,-32768,  1527,  -246,
1327    548,     0,   442,-32768
1328 };
1329
1330
1331 #define YYLAST          6671
1332
1333
1334 static const short yytable[] = {   120,
1335    593,   118,   315,   590,   120,   287,   537,   561,   120,   214,
1336    214,   214,   526,   527,   536,   528,   529,   677,   484,   538,
1337    297,   727,   127,   198,    96,   633,   588,  1044,   695,   635,
1338    331,   332,   333,   334,   335,   336,   933,   464,  1108,  1025,
1339    499,   836,   207,  1103,   530,   531,   532,   533,   208,   563,
1340   1177,   602,   423,   408,   800,   534,   535,   729,   742,   462,
1341    739,  -597,  1063,   415,    92,  -597,   468,   940,   419,   262,
1342    420,   642,   944,   622,   683,   951,   948,   510,   128,     3,
1343    727,   955,   468,   434,   -46,   120,   810,   118,  1115,   655,
1344   1116,   203,   235,   235,   511,   246,   247,   248,   249,   250,
1345    251,   252,   253,   254,   255,   388,   389,  1117,   811,   401,
1346     96,   776,   398,   777,   904,   630,   729,   742,   120,   739,
1347    390,   391,  1057,   237,   237,  -639,  1176,   259,   399,  -639,
1348    905,  1182,   737,   450,   738,   120,   275,  1104,  1106,   914,
1349    280,     3,   282,   262,   286,   290,   120,  1089,  1090,   288,
1350     92,   214,  1158,  1159,   924,   311,   123,   124,   392,   393,
1351    304,   468,   305,  1123,   264,   330,  1109,   679,  1056,   214,
1352   1058,   209,   779,   440,   499,   685,   401,   836,  -272,  1049,
1353   1211,   562,  1076,   836,   207,   932,   688,   113,   934,   281,
1354    208,   737,   132,   738,   135,   214,   464,  1030,   500,   238,
1355    238,  1064,   299,   214,   369,   214,   503,   214,   504,   403,
1356    214,  1170,  1178,  1173,   384,   385,  1105,   687,   214,  1207,
1357   1157,   409,  1030,   214,   411,   214,  1032,   550,   207,   410,
1358    489,   785,   788,   203,   208,   776,   207,   777,   214,   214,
1359    207,  1031,   208,   207,   845,  1132,   208,  1134,   976,   208,
1360    776,  1032,   777,   428,   283,   284,   285,   735,   523,   524,
1361    525,   659,  -411,  -411,  -411,   977,   734,  -411,  -411,   736,
1362    559,   419,   207,   113,   730,   731,   313,   203,   208,   120,
1363    566,   437,   120,   120,   120,   203,   401,   265,   318,   203,
1364    448,   435,   203,   315,   829,  -273,   779,   257,   265,   265,
1365    235,   416,   732,   836,   120,   235,   461,   235,   319,   733,
1366    120,   779,   315,   209,  1136,   452,   735,  -272,  1173,   450,
1367    235,   203,  1010,   310,   320,   734,   456,     3,   736,   458,
1368   -273,   237,   463,   730,   731,  -643,   237,   466,   237,  -643,
1369    469,  -411,  -411,  -411,  1021,   321,  -411,  -411,   566,   684,
1370    214,   237,   323,   395,  1022,   785,   788,   209,   214,   315,
1371    214,   732,   401,   618,   324,   209,   485,   468,   733,   209,
1372    785,   788,   209,  1067,   341,   401,   262,    79,  1035,   612,
1373    619,   935,  1021,   727,   677,  1096,  -411,   675,  -411,  1005,
1374    342,   942,  1022,  1007,   845,  1097,  -411,   566,  1033,  1034,
1375    343,   209,    79,  1035,   214,  1054,  1036,   238,  1054,   344,
1376   1150,  1091,   238,  1092,   238,   566,   658,   345,   548,   729,
1377    742,  1127,   739,   346,   401,   214,   214,   238,   614,   347,
1378   1093,  -641,   214,     3,   120,  -641,   571,   207,   445,   394,
1379   -272,   121,   450,   208,   120,   505,   121,   558,  -631,   557,
1380    138,  -411,  -631,   315,  -411,   120,  -411,   120,   558,   469,
1381    400,   315,  -689,   401,   572,   120,   440,   485,   120,   577,
1382   -693,   580,   120,  1105,    79,    80,   137,   386,   387,    83,
1383     84,   400,   449,  1032,   401,   311,   203,     3,   596,   658,
1384    713,   628,   601,   401,   737,   629,   738,   645,   417,  -690,
1385    214,   401,   658,  1154,   394,    79,  1023,   235,   235,   120,
1386    120,   396,  1003,   701,  1169,  1115,   468,  1116,   992,   993,
1387   1002,   994,   995,   482,   395,  1004,   401,   121,   710,  1069,
1388    711,  1054,  1070,  1054,  1117,  -411,   675,  -411,   237,   237,
1389   1091,   846,  1092,    79,  1023,  -411,    79,  1098,   214,   214,
1390    996,   997,   998,   999,  1050,   397,   120,  1051,   647,  1093,
1391    121,  1000,  1001,   468,   214,   401,   209,   214,   214,   859,
1392   -462,   450,  1154,   262,   558,   405,  1082,   312,   365,   840,
1393    366,   207,  -411,   686,    79,    80,   137,   208,   322,    83,
1394     84,   404,   558,   862,   863,   864,   865,   866,   867,  -411,
1395    120,  -516,   367,   368,    79,    80,   137,   861,  -692,    83,
1396     84,  1031,   386,   387,   238,   238,   676,  1012,  1013,   735,
1397    311,  1032,  -632,   392,   393,   449,  -632,   469,   734,  -594,
1398    203,   736,   410,  -594,    79,  1035,   730,   731,    79,    80,
1399    137,   214,   214,    83,    84,   759,   700,  1014,  1015,   497,
1400    498,   386,   387,   214,   214,  -593,   214,   262,  1072,  -593,
1401   1094,  1016,  1202,  1160,   732,  1161,  1027,   315,   412,  1186,
1402    120,   733,   120,   413,   572,   945,   761,   315,   815,  -633,
1403    816,   214,  1162,  -633,  1021,  -617,   418,  1151,   120,  -617,
1404    590,   120,   120,   214,  1022,   452,  -411,  -411,  -411,   543,
1405    544,  -411,  -411,  1160,   759,  1161,  -691,  1065,   386,   387,
1406    209,  -272,   843,   591,   424,   196,   226,   226,   968,  -592,
1407    425,   121,  1162,  -592,   442,   444,   446,  -695,    99,   840,
1408     79,    80,   137,    99,   401,    83,    84,  1115,   908,  1116,
1409    429,   244,   245,  -411,  -411,  -411,   121,   401,  -411,  -411,
1410    417,   966,   312,   401,   875,   401,  1117,   485,  -636,   970,
1411    670,   671,  -636,  1218,   989,   990,   991,   432,  1033,  1034,
1412   1083,   325,    79,  1035,   388,   389,  1036,   291,   430,  1095,
1413    436,  -695,   153,   154,   155,   156,   157,   158,   455,   390,
1414    391,   214,   894,   895,   457,   693,  -272,  1229,   450,  1120,
1415    159,   160,   161,   381,   382,   383,     3,   896,   897,   918,
1416    919,   401,   709,   214,    99,   120,  1137,  1021,   214,  -611,
1417   1203,  -616,   214,  -611,   162,  -616,   459,  1022,   460,   267,
1418    268,   269,   270,   271,   272,   273,   274,   465,   276,  -634,
1419   -615,   279,   120,  -634,  -615,    79,  1023,    99,  1073,   174,
1420    120,  -614,   950,  1164,   475,  -614,   295,   196,   300,   301,
1421    303,  -613,   843,   483,   309,  -613,  -612,   171,   386,   387,
1422   -612,  -609,   481,  -637,  1184,  -609,   121,  -637,  -695,  -695,
1423    295,  -626,   486,  -695,  -695,  -626,   583,   337,  -610,   388,
1424    389,   487,  -610,   488,   381,   382,   383,   121,  -606,   121,
1425    262,   196,  -606,  1051,   390,   391,   491,   312,   492,   196,
1426    605,   450,  1028,   196,   610,   262,   196,  -607,  1163,     3,
1427   1047,  -607,  -625,  -598,   226,   214,  -625,  -598,  -601,   226,
1428    628,   226,  -601,   493,  1075,   381,   382,   383,    79,   292,
1429    293,   494,   174,   495,   226,   196,   871,   295,   872,  -628,
1430   -411,   631,   632,  -628,   892,   893,  1053,    79,    80,   137,
1431    384,   385,    83,    84,   958,   501,  1145,  -411,  -621,  -629,
1432    873,   874,  -621,  -629,  1185,   120,   120,  1051,    79,  1023,
1433    384,   385,   174,  1066,   929,   431,  -622,   929,   898,   899,
1434   -622,  -272,   556,   450,    79,    80,   137,   553,   121,    83,
1435     84,     3,  -623,   887,   888,   889,  -623,   759,    99,   438,
1436   -619,   441,   443,  -602,  -619,   890,   891,  -602,  1087,   295,
1437   1028,  1028,  -600,  -604,   451,   287,  -600,  -604,  1101,   555,
1438   1047,  1047,  -605,    99,  -603,   573,  -605,   552,  -603,   309,
1439    936,   671,   312,  1086,  1060,  1061,   560,  1101,   574,   315,
1440    401,  1148,   120,   575,  1130,  1111,  1112,  1113,  1166,  1167,
1441    214,  -272,  1224,   277,   278,   120,   295,   571,   578,   120,
1442     79,    80,   137,   584,   589,    83,    84,   295,  1125,   598,
1443    199,   232,   232,   315,   597,  1139,   600,   607,   606,   611,
1444   1028,   120,   120,  1028,   401,  1101,  1101,   200,   233,   233,
1445    615,   616,   620,   624,  1047,   621,  1047,   626,   649,  1047,
1446    196,   661,   583,  1047,   583,   120,   120,   929,  1047,   929,
1447    929,   929,   627,   822,   120,   644,   648,   664,   314,   651,
1448    830,   226,   226,   610,   121,   666,   672,   667,   120,   669,
1449    689,   314,   314,   314,   314,   314,   314,   680,   339,   340,
1450    279,   674,    79,    80,   137,   691,  1190,    83,    84,  1028,
1451    120,   120,  1101,    99,   694,   617,   703,  1047,   794,   704,
1452    576,   798,   579,   801,   585,   809,   762,   586,   847,   808,
1453    451,   853,   592,   825,    99,  -170,    99,   120,   370,  1130,
1454    291,   599,   827,   849,   309,   153,   154,   155,   156,   157,
1455    158,   608,   851,   852,   857,   858,   870,   901,   903,   902,
1456    906,  1047,   900,   159,   160,   161,   438,   909,   915,   916,
1457    917,   920,   199,   371,   372,   373,   374,   375,   376,   377,
1458    378,   379,   380,   923,   937,   938,   939,   162,   947,   200,
1459    949,   963,   953,   929,   956,   929,  1228,   967,   969,   971,
1460   1008,  1009,  1011,   174,   196,   822,  1068,   943,  1062,  1071,
1461    822,  1074,  1107,  1126,   822,  1138,   199,  1119,  1165,  1181,
1462   1143,  1163,  1188,  1197,   199,  1191,  1192,  1194,   199,  1196,
1463    171,   199,  1201,   200,   121,    99,  1199,  1209,  1220,   232,
1464   1213,   200,   965,  1215,   232,   200,   232,  1222,   200,   660,
1465   1212,  1223,   438,  1225,  1226,  1232,   233,  1233,   467,   232,
1466    199,   233,   256,   233,  1227,  1038,  1214,  1174,   592,  1081,
1467   1149,   813,   681,   682,  1088,  1204,   233,   200,  1122,   309,
1468    974,   594,   946,   814,  1135,   922,  1219,   804,   291,   663,
1469    815,   806,   816,   153,   154,   155,   156,   157,   158,   438,
1470    959,    79,   292,   293,   289,   174,   453,   839,   242,   707,
1471    708,   159,   160,   161,   295,   427,   295,   822,   496,   314,
1472    314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1473    314,   314,   314,   314,   314,   162,  1198,   625,   194,   549,
1474    796,   962,   848,   855,  1080,   961,     0,     0,   803,     0,
1475    805,     0,     0,     0,   451,     0,     0,     0,     0,     0,
1476      0,   823,   824,     0,     0,     0,   828,  1077,  1078,   314,
1477    608,   841,   762,   763,   764,   765,     0,   490,   171,   766,
1478    767,   768,   769,   770,   771,   772,     0,     0,   314,     0,
1479      0,     0,     0,   295,     0,     0,   201,   234,   234,     0,
1480      0,   508,   211,   240,   240,     0,   512,   513,   514,   515,
1481    516,   517,   518,   519,   520,   521,   522,     0,     0,     0,
1482      0,     0,     0,     0,   314,   199,     0,     0,     0,     0,
1483      0,     0,     0,     0,     0,   314,     0,   542,     0,     0,
1484      0,     0,   200,     0,   121,     0,   232,   232,     0,    79,
1485    172,   173,   822,   174,    83,    84,   294,   121,   876,     0,
1486      0,  1142,     0,   233,   233,     0,     0,     0,     0,     0,
1487      0,     0,     0,   926,     0,     0,     0,   314,   326,   314,
1488    328,   637,   639,  1155,  1156,     0,   213,   241,   241,     0,
1489      0,     0,     0,   877,   878,   879,   880,   881,   882,   883,
1490    884,   885,   886,     0,     0,     0,     0,  1179,  1180,     0,
1491      0,     0,     0,     0,     0,     0,   121,     0,     0,     0,
1492    957,   841,     0,   592,   194,     0,     0,     0,     0,   314,
1493    121,     0,   194,     0,     0,     0,   194,   314,   201,   194,
1494      0,     0,     0,     0,   211,     0,     0,   414,     0,     0,
1495      0,     0,  1205,  1206,     0,     0,     0,     0,     0,     0,
1496      0,     0,     0,     0,     0,     0,     0,     0,   194,   199,
1497      0,     0,     0,     0,     0,     0,     0,     0,     0,   121,
1498      0,     0,   201,     0,   728,     0,   200,     0,   211,     0,
1499    201,     0,     0,     0,   201,     0,   211,   201,     0,     0,
1500    211,     0,     0,   211,     0,   234,     0,  1052,     0,     0,
1501    234,   240,   234,     0,  1059,     0,   240,     0,   240,   447,
1502      0,     0,     0,     0,     0,   234,   201,     0,   213,     0,
1503      0,   240,   211,     0,     0,     0,     0,     0,     0,     0,
1504      0,     0,     0,   728,     0,     0,   476,   477,   478,   479,
1505      0,     0,     0,   697,   314,   314,   314,   314,   314,   314,
1506    868,   869,     0,     0,   706,     0,   447,     0,     0,     0,
1507      0,     0,   213,     0,     0,     0,     0,   447,   696,  -687,
1508    213,     0,     0,   291,   213,     0,     0,   213,   153,   154,
1509    155,   156,   157,   158,   509,   241,     0,     0,     0,     0,
1510    241,     0,   241,     0,     0,     0,   159,   160,   161,     0,
1511      0,     0,     0,     0,     0,   241,   213,     0,   817,     0,
1512      0,     0,     0,     0,     0,     0,     0,     0,  1124,     0,
1513    162,    99,   697,   194,     0,     0,     0,     0,     0,     0,
1514      0,   554,     0,   314,   841,     0,     0,  1141,     0,     0,
1515      0,     0,   438,   314,     0,  1146,  1147,   814,     0,     0,
1516      0,     0,   291,     0,   815,     0,   816,   153,   154,   155,
1517    156,   157,   158,   171,     0,     0,     0,     0,     0,     0,
1518      0,     0,     0,     0,     0,   159,   160,   161,     0,     0,
1519      0,   201,     0,     0,   314,     0,     0,   211,  1183,     0,
1520      0,     0,     0,    99,     0,  1187,  1189,     0,     0,   162,
1521      0,     0,   234,   234,     0,     0,     0,   841,   240,   240,
1522      0,     0,     0,     0,     0,   314,   314,   314,   314,   314,
1523    314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1524    314,   314,  1208,   314,    79,   292,   293,     0,   174,     0,
1525    817,     0,   171,     0,     0,   817,     0,     0,     0,   817,
1526      0,     0,  1216,  1217,     0,     0,    99,     0,   634,  1221,
1527      0,     0,     0,     0,     0,     0,     0,   194,     0,     0,
1528      0,   213,     0,     0,     0,   697,     0,     0,     0,     0,
1529      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1530      0,     0,   241,   241,     0,     0,   972,   508,     0,   314,
1531      0,     0,   978,   979,   980,   981,   982,   983,   984,   985,
1532    986,   987,   988,    79,   172,   173,     0,   174,    83,    84,
1533      0,     0,     0,     0,     0,   201,     0,     0,     0,     0,
1534      0,   211,     0,   479,     0,     0,   728,     0,     0,     0,
1535      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1536      0,     0,   817,     0,   447,     0,   447,     0,     0,     0,
1537      0,     0,   714,     0,     0,     0,   760,     0,     0,     0,
1538      0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
1539      0,     0,   140,   141,   142,     0,     0,   217,   145,   146,
1540    147,   148,   149,   150,   218,  -489,  -489,     0,     0,     0,
1541    219,  -489,     0,     0,     0,   153,   154,   155,   156,   157,
1542    158,     0,     0,     0,     0,   213,     0,     0,  -272,  -272,
1543      0,     0,   854,   159,   160,   161,     0,     0,     0,     0,
1544      0,     0,     0,   860,     0,    22,    23,    24,    25,     0,
1545     26,     0,     0,     0,     0,    31,    32,   162,     0,    35,
1546     36,     0,    38,    39,    40,    41,     0,     0,     0,     0,
1547      0,     0,     0,     0,     0,    -1,     1,    53,    54,     0,
1548      0,  -489,   164,   165,   166,   167,   168,   169,     0,     0,
1549      0,     0,     0,     2,     0,     0,   170,   817,     0,  -272,
1550    171,     0,    78,     0,     0,     0,     0,     0,     0,     3,
1551      0,     0,    82,     0,     0,     0,     0,     0,     0,     4,
1552      0,     5,     0,     0,     0,   314,     0,     0,     0,     0,
1553      0,     0,     0,     0,     0,     0,     0,     0,   314,     0,
1554      0,     0,     0,  -411,  -411,  -411,     0,     6,     0,     0,
1555      0,     0,     7,     8,     9,     0,     0,     0,     0,   314,
1556      0,     0,     0,     0,     0,     0,     0,    10,    11,    12,
1557      0,    79,   172,   173,     0,   174,   220,   221,     0,     0,
1558      0,     0,     0,     0,     0,     0,    13,    14,    15,     0,
1559     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1560    975,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1561     35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1562     45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1563     55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1564     65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1565     75,    76,    77,    78,     0,     0,     0,     0,    -2,     1,
1566     79,    80,    81,    82,     0,    83,    84,    85,     0,     0,
1567      0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
1568      0,     0,  -272,     0,     0,     0,     0,     0,   479,     0,
1569      0,     0,     3,     0,     0,     0,     0,     0,     0,     0,
1570      0,     0,     4,     0,     5,     0,     0,     0,     0,     0,
1571      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1572      0,     0,     0,     0,     0,     0,  -411,  -411,  -411,     0,
1573      6,     0,     0,     0,  1079,     7,     8,     9,     0,     0,
1574      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575     10,    11,    12,     0,     0,     0,     0,     0,     0,     0,
1576      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1577     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1578     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1579     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1580     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1581     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1582     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1583     72,    73,    74,    75,    76,    77,    78,     0,     0,     0,
1584      0,     0,     0,    79,    80,    81,    82,   139,    83,    84,
1585     85,     0,   140,   141,   142,     0,   143,   144,   145,   146,
1586    147,   148,   149,   150,   151,  -544,   546,     0,     0,     0,
1587    152,     0,     0,     0,     0,   153,   154,   155,   156,   157,
1588    158,     0,     0,     0,     0,     0,     0,     0,  -272,  -272,
1589      4,     0,     5,   159,   160,   161,     0,     0,     0,     0,
1590      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1591      0,     0,     0,     0,  -411,  -411,  -411,   162,     6,     0,
1592      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1593      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1594      0,     0,   164,   165,   166,   167,   168,   169,     0,     0,
1595      0,     0,     0,     0,     0,     0,   170,    13,    14,    15,
1596    171,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1597     25,     0,    26,    27,    28,    29,    30,    31,    32,    33,
1598     34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1599     44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1600     54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1601     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1602     74,    75,    76,    77,    78,     0,     0,     0,     0,     0,
1603      0,    79,   172,   547,    82,   174,   175,    84,    85,   139,
1604      0,     0,     0,     0,   140,   141,   142,     0,   143,   144,
1605    145,   146,   147,   148,   149,   150,   151,  -170,     0,     0,
1606      0,     0,   152,     0,     0,     0,     0,   153,   154,   155,
1607    156,   157,   158,     0,     0,     0,     0,     0,     0,     0,
1608   -272,  -272,  -272,     0,     0,   159,   160,   161,     0,     0,
1609      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1610      0,     0,     0,     0,     0,     0,  -272,  -272,  -272,   162,
1611      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1612      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1613      0,     0,     0,     0,   164,   165,   166,   167,   168,   169,
1614      0,     0,     0,     0,     0,     0,     0,     0,   170,  -272,
1615   -272,  -272,   171,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1616   -272,  -272,  -272,     0,  -272,  -272,  -272,  -272,  -272,  -272,
1617   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1618   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1619   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1620   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1621   -272,  -272,  -272,  -272,  -272,  -272,  -272,     0,     0,     0,
1622      0,     0,     0,    79,   172,   173,  -272,   174,   175,    84,
1623   -272,   216,     0,     0,     0,     0,   140,   141,   142,     0,
1624      0,   217,   145,   146,   147,   148,   149,   150,   218,  -170,
1625   -548,     0,     0,     0,   219,     0,     0,     0,     0,   153,
1626    154,   155,   156,   157,   158,     0,     0,     0,     0,     0,
1627      0,     0,  -272,  -272,  -272,     0,     0,   159,   160,   161,
1628      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629      0,     0,     0,     0,     0,     0,     0,     0,  -272,  -272,
1630   -272,   162,     0,     0,     0,     0,     0,     0,     0,     0,
1631      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632      0,     0,     0,     0,     0,     0,   164,   165,   166,   167,
1633    168,   169,     0,     0,     0,     0,     0,     0,     0,     0,
1634    170,  -272,  -272,  -272,   171,  -272,  -272,  -272,  -272,  -272,
1635   -272,  -272,  -272,  -272,  -272,     0,  -272,  -272,  -272,  -272,
1636   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1637   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1638   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1639   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1640   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,     0,
1641      0,     0,     0,     0,     0,    79,   172,   173,  -272,   174,
1642    220,   221,  -272,  -168,     0,     0,     0,     0,  -168,  -168,
1643   -168,     0,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1644   -168,  -168,  -168,  -168,  -693,  -168,  -168,     0,  -168,     0,
1645   -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1646   -168,  -168,  -168,  -168,  -168,  -168,     0,  -168,     0,  -168,
1647   -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1648   -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1649      0,     0,     0,  -168,     0,     0,     0,     0,     0,     0,
1650      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1651      0,     0,     0,     0,     0,     0,     0,     0,  -168,  -168,
1652   -168,  -168,  -168,  -168,     0,     0,     0,     0,   139,     0,
1653      0,     0,  -168,   140,   141,   142,  -168,   143,   144,   145,
1654    146,   147,   148,   149,   150,   151,  -544,     0,     0,     0,
1655      0,   152,     0,     0,     0,     0,   153,   154,   155,   156,
1656    157,   158,     0,     0,     0,     0,     0,     0,     0,  -272,
1657   -272,     0,     0,   139,   159,   160,   161,     0,   140,   141,
1658    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1659    151,  -544,     0,     0,     0,     0,   152,     0,   162,     0,
1660      0,   153,   154,   155,   156,   157,   158,  -168,  -168,  -168,
1661      0,  -168,  -168,  -168,  -272,  -272,     0,     0,     0,   159,
1662    160,   161,   163,   164,   165,   166,   167,   168,   169,     0,
1663      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1664      0,   171,     0,   162,     0,     0,     0,     0,     0,     0,
1665      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1666      0,     0,     0,     0,     0,     0,     0,  -517,   164,   165,
1667    166,   167,   168,   169,     0,     0,     0,     0,   216,     0,
1668      0,     0,   170,   140,   141,   142,   171,     0,   217,   145,
1669    146,   147,   148,   149,   150,   218,  -544,  -548,     0,     0,
1670      0,   219,     0,     0,     0,     0,   153,   154,   155,   156,
1671    157,   158,    79,   172,   173,     0,   174,   175,    84,  -272,
1672   -272,     0,     0,   139,   159,   160,   161,     0,   140,   141,
1673    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1674    151,  -544,   640,     0,     0,     0,   152,     0,   162,     0,
1675      0,   153,   154,   155,   156,   157,   158,    79,   172,   173,
1676      0,   174,   175,    84,  -272,  -272,     0,     0,     0,   159,
1677    160,   161,  -485,   164,   165,   166,   167,   168,   169,     0,
1678      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1679      0,   171,     0,   162,     0,     0,  -254,     0,     0,     0,
1680      0,     0,   291,     0,     0,     0,     0,   153,   154,   155,
1681    156,   157,   158,     0,     0,     0,     0,     0,   164,   165,
1682    166,   167,   168,   169,     0,   159,   160,   161,   216,     0,
1683      0,     0,   170,   140,   141,   142,   171,     0,   217,   145,
1684    146,   147,   148,   149,   150,   218,  -544,  -548,     0,   162,
1685      0,   219,     0,     0,     0,     0,   153,   154,   155,   156,
1686    157,   158,    79,   172,   173,     0,   174,   220,   221,  -272,
1687   -272,     0,     0,   139,   159,   160,   161,     0,   140,   141,
1688    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1689    151,  -544,   171,     0,     0,     0,   152,     0,   162,     0,
1690      0,   153,   154,   155,   156,   157,   158,    79,   172,   173,
1691      0,   174,   175,    84,  -272,  -272,     0,     0,     0,   159,
1692    160,   161,     0,   164,   165,   166,   167,   168,   169,     0,
1693      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1694      0,   171,     0,   162,     0,     0,     0,     0,     0,     0,
1695      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696      0,     0,     0,    79,   292,   293,     0,   174,   164,   165,
1697    166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
1698      0,     0,   170,   140,   141,   142,   171,   143,   144,   145,
1699    146,   147,   148,   149,   150,   218,  -544,   564,     0,     0,
1700      0,   349,     0,     0,     0,     0,   153,   154,   155,   156,
1701    157,   158,    79,   172,   173,     0,   174,   220,   221,  -272,
1702   -272,     4,     0,     5,   159,   160,   161,     0,     0,     0,
1703      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1704      0,     0,     0,     0,     0,     0,     0,     0,   162,     6,
1705      0,     0,     0,     0,     0,     0,     0,    79,   172,   173,
1706      0,   174,   175,    84,     0,     0,     0,     0,     0,     0,
1707      0,     0,     0,   164,   165,   166,   167,   168,   169,     0,
1708      0,     0,     0,     0,     0,     0,     0,   565,    13,    14,
1709     15,   171,    16,    17,    18,    19,    20,    21,    22,    23,
1710     24,    25,     0,    26,    27,    28,    29,    30,    31,    32,
1711     33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1712     43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1713     53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1714     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1715     73,    74,    75,    76,    77,    78,     0,     0,     0,     0,
1716      0,     0,    79,   172,   547,    82,   174,   175,    84,    85,
1717    140,   141,   142,     0,   143,   144,   145,   146,   147,   148,
1718    149,   150,   218,  -544,   641,     0,     0,     0,   349,     0,
1719      0,     0,     0,   153,   154,   155,   156,   157,   158,     0,
1720      0,     0,     0,     0,     0,     0,  -272,  -272,     4,     0,
1721      5,   159,   160,   161,     0,     0,     0,     0,     0,     0,
1722      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723      0,     0,     0,     0,     0,   162,     6,     0,     0,     0,
1724      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1725      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1726    164,   165,   166,   167,   168,   169,     0,     0,     0,     0,
1727      0,     0,     0,     0,   170,    13,    14,    15,   171,    16,
1728     17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
1729     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1730     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1731     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1732     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1733     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1734     76,    77,    78,     0,     0,     0,     0,     0,     0,    79,
1735    172,   547,    82,   174,   175,    84,    85,   140,   141,   142,
1736      0,   143,   144,   145,   146,   147,   148,   149,   150,   218,
1737   -544,   653,     0,     0,     0,   349,     0,     0,     0,     0,
1738    153,   154,   155,   156,   157,   158,     0,     0,     0,     0,
1739      0,     0,     0,  -272,  -272,     4,     0,     5,   159,   160,
1740    161,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1741      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742      0,     0,   162,     6,     0,     0,     0,     0,     0,     0,
1743      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1744      0,     0,     0,     0,     0,     0,     0,   164,   165,   166,
1745    167,   168,   169,     0,     0,     0,     0,     0,     0,     0,
1746      0,   654,    13,    14,    15,   171,    16,    17,    18,    19,
1747     20,    21,    22,    23,    24,    25,     0,    26,    27,    28,
1748     29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1749     39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1750     49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1751     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1752     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1753      0,     0,     0,     0,     0,     0,    79,   172,   547,    82,
1754    174,   175,    84,    85,   140,   141,   142,     0,   143,   144,
1755    145,   146,   147,   148,   149,   150,   218,  -544,   652,     0,
1756      0,     0,   349,     0,     0,     0,     0,   153,   154,   155,
1757    156,   157,   158,     0,     0,     0,     0,     0,     0,     0,
1758      0,     0,     0,     0,     0,   159,   160,   161,   140,   141,
1759    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1760    218,  -544,   656,     0,     0,     0,   349,     0,     0,   162,
1761      0,   153,   154,   155,   156,   157,   158,     0,     0,     0,
1762      0,     0,     0,     0,     0,     0,     0,     0,     0,   159,
1763    160,   161,     0,     0,   164,   165,   166,   167,   168,   169,
1764      0,     0,     0,     0,     0,     0,     0,     0,   170,     0,
1765      0,     0,   171,   162,     0,     0,     0,     0,     0,     0,
1766      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767      0,     0,     0,     0,     0,     0,     0,     0,   164,   165,
1768    166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
1769      0,     0,   657,   140,   141,   142,   171,   143,   144,   145,
1770    146,   147,   148,   149,   150,   218,  -544,   712,     0,     0,
1771      0,   349,     0,     0,     0,     0,   153,   154,   155,   156,
1772    157,   158,     0,    79,   172,   173,     0,   174,   175,    84,
1773      0,     0,     0,     0,   159,   160,   161,   140,   141,   142,
1774      0,   143,   144,   145,   146,   147,   148,   149,   150,   218,
1775   -544,   790,     0,     0,     0,   349,     0,     0,   162,     0,
1776    153,   154,   155,   156,   157,   158,     0,    79,   172,   173,
1777      0,   174,   175,    84,     0,     0,     0,     0,   159,   160,
1778    161,     0,     0,   164,   165,   166,   167,   168,   169,     0,
1779      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1780      0,   171,   162,     0,     0,     0,     0,     0,     0,     0,
1781      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782      0,     0,     0,     0,     0,     0,     0,   164,   165,   166,
1783    167,   168,   169,     0,     0,     0,     0,     0,     0,     0,
1784      0,   170,   140,   141,   142,   171,   143,   144,   145,   146,
1785    147,   148,   149,   150,   218,  -544,   791,     0,     0,     0,
1786    349,     0,     0,     0,     0,   153,   154,   155,   156,   157,
1787    158,     0,    79,   172,   173,     0,   174,   175,    84,     0,
1788      0,     0,     0,   159,   160,   161,   140,   141,   142,     0,
1789    143,   144,   145,   146,   147,   148,   149,   150,   218,  -544,
1790    793,     0,     0,     0,   349,     0,     0,   162,     0,   153,
1791    154,   155,   156,   157,   158,     0,    79,   172,   173,     0,
1792    174,   175,    84,     0,     0,     0,     0,   159,   160,   161,
1793      0,     0,   164,   165,   166,   167,   168,   169,     0,     0,
1794      0,     0,     0,     0,     0,     0,   792,     0,     0,     0,
1795    171,   162,     0,     0,  -170,     0,     0,     0,     0,   349,
1796      0,     0,     0,     0,   153,   154,   155,   156,   157,   158,
1797      0,     0,     0,     0,     0,     0,   164,   165,   166,   167,
1798    168,   169,   159,   160,   161,     0,     0,     0,     0,     0,
1799    170,   140,   141,   142,   171,   143,   144,   145,   146,   147,
1800    148,   149,   150,   218,  -544,   925,   162,     0,     0,   349,
1801      0,     0,     0,     0,   153,   154,   155,   156,   157,   158,
1802      0,    79,   172,   173,     0,   174,   175,    84,     0,     0,
1803      0,     0,   159,   160,   161,   140,   141,   142,     0,   143,
1804    144,   145,   146,   147,   148,   149,   150,   218,  -544,   171,
1805      0,     0,     0,   349,     0,     0,   162,     0,   153,   154,
1806    155,   156,   157,   158,     0,    79,   172,   173,     0,   174,
1807    175,    84,     0,     0,     0,     0,   159,   160,   161,     0,
1808      0,   164,   165,   166,   167,   168,   169,     0,     0,     0,
1809      0,     0,     0,     0,     0,   170,     0,     0,     0,   171,
1810    162,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1811      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1812     79,   292,   293,     0,   174,   164,   165,   166,   167,   168,
1813    169,  -135,     0,     0,     0,     0,  -135,     0,     0,   170,
1814      0,     0,     0,   171,     0,     0,     0,     0,     0,     0,
1815      0,     0,     0,     0,     0,     0,     4,     0,     5,     0,
1816      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1817     79,   172,   173,     0,   174,   175,    84,     0,     0,     0,
1818      0,     0,     0,     0,     6,     0,     0,     0,     0,     0,
1819      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1820      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1821      0,     0,     0,     0,    79,   172,   173,     0,   174,   175,
1822     84,     0,     0,    13,    14,    15,     0,    16,    17,    18,
1823     19,    20,    21,    22,    23,    24,    25,     0,    26,    27,
1824     28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1825     38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1826     48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1827     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1828     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1829     78,  -547,     0,     0,     0,     0,     0,     0,     0,   134,
1830     82,     0,     0,     0,    85,     0,     0,     0,     0,     0,
1831      0,     0,     0,     0,     0,     4,     0,     0,     0,     0,
1832      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1833      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1835      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1836      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1837      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1838      0,     0,    13,    14,    15,     0,    16,    17,    18,    19,
1839     20,    21,    22,    23,    24,    25,     0,    26,    27,    28,
1840     29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1841     39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1842     49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1843     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1844     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1845      0,     0,     0,     0,     0,   617,     0,     0,   134,    82,
1846    291,     0,     0,    85,     0,   153,   154,   155,   156,   157,
1847    158,     0,     0,     0,     0,     0,   696,     0,     0,     0,
1848      0,   291,     0,   159,   160,   161,   153,   154,   155,   156,
1849    157,   158,     0,     0,     0,     0,     0,     0,     0,     0,
1850      0,     0,     0,     0,   159,   160,   161,   162,     0,     0,
1851      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1852      0,     0,     0,     0,     0,     0,     0,     0,   162,     0,
1853      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1854      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1855    171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1856   -272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1857      3,   171,     0,     0,     0,     0,     0,     0,     0,     0,
1858      4,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1859      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1860      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1861      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1862      0,    79,   292,   293,     0,   174,     0,     0,     0,     0,
1863      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1864      0,     0,    79,   292,   293,     0,   174,    13,    14,    15,
1865      0,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1866     25,     0,    26,    27,    28,    29,    30,    31,    32,    33,
1867     34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1868     44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1869     54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1870     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1871     74,    75,    76,    77,    78,     0,     0,     0,     0,     0,
1872      0,    79,    80,    81,    82,     0,    83,    84,    85,   291,
1873    506,     0,     0,     0,   153,   154,   155,   156,   157,   158,
1874    291,     0,     0,   587,     0,   153,   154,   155,   156,   157,
1875    158,     0,   159,   160,   161,     0,     0,     0,     0,     0,
1876      0,     0,     0,   159,   160,   161,     0,     0,     0,     0,
1877      0,     0,     0,     0,   291,     0,   162,   678,     0,   153,
1878    154,   155,   156,   157,   158,   291,   973,   162,     0,     0,
1879    153,   154,   155,   156,   157,   158,     0,   159,   160,   161,
1880      0,     0,     0,     0,     0,     0,     0,     0,   159,   160,
1881    161,     0,     0,     0,     0,     0,     0,     0,     0,   171,
1882      0,   162,     0,     0,     0,     0,     0,     0,     0,     0,
1883    171,     0,   162,   291,  -254,     0,     0,     0,   153,   154,
1884    155,   156,   157,   158,     0,     0,     0,     0,     0,     0,
1885      0,     0,     0,     0,     0,     0,   159,   160,   161,     0,
1886      0,   291,     0,     0,   171,     0,   153,   154,   155,   156,
1887    157,   158,     0,     0,     0,   171,     0,     0,     0,     0,
1888    162,     0,     0,     0,   159,   160,   161,     0,     0,     0,
1889     79,   292,   293,     0,   174,     0,     0,     0,     0,     0,
1890      0,    79,   292,   293,     0,   174,     0,   338,   162,     0,
1891      0,     0,   153,   154,   155,   156,   157,   158,     0,   636,
1892      0,     0,     0,   171,   153,   154,   155,   156,   157,   158,
1893    159,   160,   161,     0,     0,    79,   292,   293,     0,   174,
1894      0,     0,   159,   160,   161,     0,    79,   292,   293,     0,
1895    174,   171,   638,     0,   162,     0,     0,   153,   154,   155,
1896    156,   157,   158,   715,     0,     0,   162,     0,   716,   717,
1897    718,   719,   720,   721,     0,   159,   160,   161,     0,     0,
1898      0,     0,     0,     0,     0,     0,   159,   722,   723,     0,
1899      0,     0,     0,     0,    79,   292,   293,   171,   174,   162,
1900      0,     0,     0,     0,     0,     0,     0,     0,     0,   171,
1901    724,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1902      0,     0,    79,   292,   293,     0,   174,     0,     0,     0,
1903      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1904      0,     0,   171,     0,     0,     0,     0,     0,     0,     0,
1905      0,     0,     0,   171,     0,     0,     0,     0,     0,     0,
1906   -198,  -198,     4,     0,     0,     0,     0,     0,    79,   292,
1907    293,     0,   174,     0,     0,     0,     0,     0,     0,     0,
1908     79,   292,   293,     0,   174,     0,     0,     0,     0,     0,
1909      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1911      0,     0,     0,    79,   292,   293,     0,   174,     0,     0,
1912      0,     0,     0,     0,    79,   725,   726,     0,   174,    13,
1913     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1914     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1915     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1916     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1917     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1918     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1919     72,    73,    74,    75,    76,    77,    78,     4,     0,     5,
1920      0,     0,     0,     0,     0,   134,    82,     0,     0,     0,
1921     85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1922      0,  -411,  -411,  -411,     0,     6,     0,     0,     0,     0,
1923      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1924      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1925      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1926      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
1927     18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
1928     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1929     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1930     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1931     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1932     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1933     77,    78,     4,     0,     5,     0,     0,     0,     0,     0,
1934    134,    82,     0,     0,     0,    85,     0,     0,     0,     0,
1935      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1936      6,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1937      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1938      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1939      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1940     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1941     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1942     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1943     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1944     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1945     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1946     72,    73,    74,    75,    76,    77,    78,     4,     0,     0,
1947      0,     0,     0,    79,  1084,   134,    82,     0,     0,     0,
1948     85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1949      0,  -411,  -411,  -411,     0,     0,     0,     0,     0,     0,
1950      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1951      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1952      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1953      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
1954     18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
1955     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1956     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1957     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1958     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1959     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1960     77,    78,     4,     0,     0,     0,     0,     0,     0,     0,
1961    134,    82,     0,     0,     0,    85,     0,     0,     0,     0,
1962      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1963      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1964      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1965     10,    11,    12,     0,     0,     0,     0,     0,     0,     0,
1966      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1967     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1968     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1969     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1970     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1971     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1972     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1973     72,    73,    74,    75,    76,    77,    78,     4,     0,     5,
1974      0,     0,     0,     0,     0,   134,    82,     0,     0,     0,
1975     85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1976      0,     0,     0,     0,     0,     6,     0,     0,     0,     0,
1977      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1978      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1979      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1980      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
1981     18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
1982     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1983     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1984     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1985     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1986     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1987     77,    78,     4,     0,     0,     0,     0,     0,     0,     0,
1988    134,    82,     0,     0,     0,    85,     0,     0,     0,     0,
1989      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1990      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1991      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1992      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1993      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1994     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1995     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1996     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1997     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1998     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1999     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2000     72,    73,    74,    75,    76,    77,    78,     0,     0,     0,
2001      0,     0,     0,     0,     0,   134,    82,     0,     0,     0,
2002     85
2003 };
2004
2005 static const short yycheck[] = {     0,
2006    456,     0,   140,   452,     5,   119,   395,   431,     9,    10,
2007     11,    12,   384,   385,   394,   386,   387,   589,   327,   396,
2008    128,   646,     3,    10,     0,   539,   450,   921,   615,   541,
2009    153,   154,   155,   156,   157,   158,   800,   308,    56,   913,
2010    349,   690,    10,  1031,   388,   389,   390,   391,    10,   432,
2011     27,   466,   230,   206,   668,   392,   393,   646,   646,   306,
2012    646,    21,   948,   219,     0,    25,     5,   814,   224,    18,
2013    226,   550,   819,   497,    23,   826,   823,    28,    24,    34,
2014    705,   832,     5,   261,    22,    86,    25,    86,    26,   568,
2015     28,    10,    11,    12,    45,    68,    69,    70,    71,    72,
2016     73,    74,    75,    76,    77,    37,    38,    45,   680,    21,
2017     86,   650,    41,   650,    41,    27,   705,   705,   119,   705,
2018     52,    53,   933,    11,    12,    21,  1114,    19,    57,    25,
2019     57,  1119,   646,    26,   646,   136,   109,  1031,  1032,   774,
2020    113,    34,   115,    18,   117,   126,   147,  1021,  1022,   122,
2021     86,   152,  1096,  1097,   789,   136,   111,   112,    54,    55,
2022    133,     5,   135,  1049,    24,   152,   184,   591,   932,   170,
2023    934,    10,   650,   281,   483,   599,    21,   826,    18,   926,
2024   1168,    25,    27,   832,   152,   799,   601,     0,   802,    88,
2025    152,   705,     5,   705,     7,   196,   467,     5,   351,    11,
2026     12,   952,    21,   204,   177,   206,   359,   208,   361,   196,
2027    211,  1105,   189,  1107,    32,    33,    24,   600,   219,  1163,
2028   1094,   208,     5,   224,   211,   226,    34,   405,   196,   189,
2029    338,   650,   650,   152,   196,   774,   204,   774,   239,   240,
2030    208,    24,   204,   211,   693,  1056,   208,  1058,    28,   211,
2031    789,    34,   789,   240,    68,    69,    70,   646,   381,   382,
2032    383,   570,   185,   186,   187,    45,   646,   190,   191,   646,
2033    426,   427,   240,    86,   646,   646,    24,   196,   240,   280,
2034    433,   280,   283,   284,   285,   204,    21,   100,    24,   208,
2035     25,   264,   211,   431,     5,    24,   774,    26,   111,   112,
2036    219,   220,   646,   952,   305,   224,   305,   226,    24,   646,
2037    311,   789,   450,   152,  1061,   296,   705,    24,  1212,    26,
2038    239,   240,   910,   136,    24,   705,   299,    34,   705,   302,
2039     24,   219,    26,   705,   705,    21,   224,   310,   226,    25,
2040    313,   185,   186,   187,    24,    24,   190,   191,   501,   596,
2041    351,   239,    18,    39,    34,   774,   774,   196,   359,   497,
2042    361,   705,    21,   486,    18,   204,    25,     5,   705,   208,
2043    789,   789,   211,   960,    24,    21,    18,   185,   186,    25,
2044    488,   805,    24,  1008,   956,    24,    24,    25,    26,   903,
2045     16,   815,    34,   905,   843,    34,    34,   550,   181,   182,
2046     16,   240,   185,   186,   405,   930,   189,   219,   933,    16,
2047     25,    26,   224,    28,   226,   568,   569,    16,   405,  1008,
2048   1008,    22,  1008,    15,    21,   426,   427,   239,    25,   101,
2049     45,    21,   433,    34,   435,    25,   435,   405,    19,    29,
2050     24,     0,    26,   405,   445,   364,     5,   423,    21,   422,
2051      9,    18,    25,   591,    21,   456,    23,   458,   434,   432,
2052     18,   599,    22,    21,   437,   466,   574,    25,   469,   442,
2053     22,   444,   473,    24,   185,   186,   187,    50,    51,   190,
2054    191,    18,   295,    34,    21,   466,   405,    34,   461,   642,
2055    643,    21,   465,    21,  1008,    25,  1008,    25,    18,    22,
2056    501,    21,   655,  1091,    29,   185,   186,   426,   427,   510,
2057    511,    40,   901,   621,    25,    26,     5,    28,   890,   891,
2058    900,   892,   893,    18,    39,   902,    21,    86,   636,    25,
2059    638,  1056,    28,  1058,    45,    24,    25,    26,   426,   427,
2060     26,   694,    28,   185,   186,    34,   185,   186,   549,   550,
2061    894,   895,   896,   897,    18,    56,   557,    21,   557,    45,
2062    119,   898,   899,     5,   565,    21,   405,   568,   569,    25,
2063     25,    26,  1160,    18,   550,    19,    21,   136,    24,   693,
2064     26,   549,    28,    25,   185,   186,   187,   549,   147,   190,
2065    191,    95,   568,   716,   717,   718,   719,   720,   721,    45,
2066    601,    95,    48,    49,   185,   186,   187,   715,    22,   190,
2067    191,    24,    50,    51,   426,   427,   589,    89,    90,  1008,
2068    601,    34,    21,    54,    55,   438,    25,   600,  1008,    21,
2069    549,  1008,   189,    25,   185,   186,  1008,  1008,   185,   186,
2070    187,   642,   643,   190,   191,   646,   619,   119,   120,     6,
2071      7,    50,    51,   654,   655,    21,   657,    18,   967,    25,
2072     21,   133,    25,    26,  1008,    28,   913,   805,    22,  1125,
2073    671,  1008,   673,    24,   647,    23,   649,   815,    26,    21,
2074     28,   682,    45,    25,    24,    21,    95,    27,   689,    25,
2075   1139,   692,   693,   694,    34,   676,   185,   186,   187,    42,
2076     43,   190,   191,    26,   705,    28,    22,   954,    50,    51,
2077    549,    24,   693,    26,    19,    10,    11,    12,   856,    21,
2078     20,   280,    45,    25,   283,   284,   285,    34,     0,   843,
2079    185,   186,   187,     5,    21,   190,   191,    26,    25,    28,
2080     95,    13,    14,   185,   186,   187,   305,    21,   190,   191,
2081     18,    25,   311,    21,   727,    21,    45,    25,    21,    25,
2082     20,    21,    25,  1187,   887,   888,   889,    24,   181,   182,
2083   1017,    18,   185,   186,    37,    38,   189,    24,    27,  1026,
2084     18,    88,    29,    30,    31,    32,    33,    34,    25,    52,
2085     53,   792,    37,    38,    18,   608,    24,  1221,    26,  1046,
2086     47,    48,    49,    34,    35,    36,    34,    52,    53,   782,
2087    783,    21,    22,   814,    86,   816,  1063,    24,   819,    21,
2088     27,    21,   823,    25,    71,    25,    18,    34,    23,   101,
2089    102,   103,   104,   105,   106,   107,   108,    24,   110,    21,
2090     21,   113,   843,    25,    25,   185,   186,   119,   971,   189,
2091    851,    21,   825,  1100,    22,    25,   128,   152,   130,   131,
2092    132,    21,   843,    24,   136,    25,    21,   114,    50,    51,
2093     25,    21,    18,    21,  1121,    25,   435,    25,   185,   186,
2094    152,    21,    25,   190,   191,    25,   445,   159,    21,    37,
2095     38,    25,    25,    24,    34,    35,    36,   456,    21,   458,
2096     18,   196,    25,    21,    52,    53,    18,   466,    18,   204,
2097    469,    26,   913,   208,   473,    18,   211,    21,    21,    34,
2098    921,    25,    21,    21,   219,   926,    25,    25,    21,   224,
2099     21,   226,    25,    18,    25,    34,    35,    36,   185,   186,
2100    187,    18,   189,    18,   239,   240,    24,   219,    26,    21,
2101     28,   510,   511,    25,    50,    51,   929,   185,   186,   187,
2102     32,    33,   190,   191,   192,    19,  1074,    45,    21,    21,
2103     48,    49,    25,    25,    18,   976,   977,    21,   185,   186,
2104     32,    33,   189,   956,   797,   257,    21,   800,    54,    55,
2105     25,    24,    24,    26,   185,   186,   187,    11,   557,   190,
2106    191,    34,    21,    34,    35,    36,    25,  1008,   280,   281,
2107     21,   283,   284,    21,    25,    32,    33,    25,  1019,   291,
2108   1021,  1022,    21,    21,   296,  1139,    25,    25,  1029,    25,
2109   1031,  1032,    21,   305,    21,    91,    25,     9,    25,   311,
2110     20,    21,   601,  1019,    20,    21,    11,  1048,    21,  1187,
2111     21,    22,  1053,    19,  1053,    52,    53,    54,    32,    33,
2112   1061,    19,  1200,   111,   112,  1066,   338,  1066,    19,  1070,
2113    185,   186,   187,    19,    24,   190,   191,   349,  1051,    27,
2114     10,    11,    12,  1221,    91,  1066,    24,    21,    25,    22,
2115   1091,  1092,  1093,  1094,    21,  1096,  1097,    10,    11,    12,
2116     18,    25,    25,    25,  1105,    21,  1107,    11,    27,  1110,
2117    405,    23,   671,  1114,   673,  1116,  1117,   930,  1119,   932,
2118    933,   934,    24,   682,  1125,    24,    24,    20,   140,    25,
2119    689,   426,   427,   692,   693,    19,    23,    20,  1139,    19,
2120     21,   153,   154,   155,   156,   157,   158,    24,   160,   161,
2121    422,    27,   185,   186,   187,     5,  1129,   190,   191,  1160,
2122   1161,  1162,  1163,   435,    25,    19,    22,  1168,    25,    24,
2123    442,    20,   444,    20,   446,    27,    73,   449,    18,    25,
2124    452,    22,   454,    27,   456,    19,   458,  1188,    23,  1188,
2125     24,   463,    25,    21,   466,    29,    30,    31,    32,    33,
2126     34,   473,    21,    25,    25,    25,    24,    39,    56,    40,
2127     25,  1212,    29,    47,    48,    49,   488,   186,    91,    91,
2128     91,    91,   152,    58,    59,    60,    61,    62,    63,    64,
2129     65,    66,    67,    91,    25,    25,    18,    71,    22,   152,
2130     91,    20,    25,  1056,    24,  1058,  1219,    25,    18,    25,
2131     21,    18,    40,   189,   549,   814,    20,   816,    27,    18,
2132    819,    21,    23,    18,   823,    91,   196,    24,    22,    22,
2133    191,    21,    21,    25,   204,    22,    20,    20,   208,    91,
2134    114,   211,    27,   196,   843,   557,    25,   193,    18,   219,
2135     27,   204,   851,    25,   224,   208,   226,    20,   211,   571,
2136     40,    20,   574,    27,    25,     0,   219,     0,   311,   239,
2137    240,   224,    86,   226,  1212,   921,  1181,  1110,   590,  1011,
2138   1082,   681,   594,   595,  1020,  1160,   239,   240,  1048,   601,
2139    871,   458,   820,    19,    20,   787,  1188,   671,    24,   574,
2140     26,   673,    28,    29,    30,    31,    32,    33,    34,   621,
2141    843,   185,   186,   187,   126,   189,   296,   692,    12,   631,
2142    632,    47,    48,    49,   636,   239,   638,   926,   347,   381,
2143    382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
2144    392,   393,   394,   395,   396,    71,  1144,   501,    10,   405,
2145    662,   849,   696,   705,  1008,   848,    -1,    -1,   670,    -1,
2146    672,    -1,    -1,    -1,   676,    -1,    -1,    -1,    -1,    -1,
2147     -1,   683,   684,    -1,    -1,    -1,   688,   976,   977,   431,
2148    692,   693,    73,    74,    75,    76,    -1,   341,   114,    80,
2149     81,    82,    83,    84,    85,    86,    -1,    -1,   450,    -1,
2150     -1,    -1,    -1,   715,    -1,    -1,    10,    11,    12,    -1,
2151     -1,   365,    10,    11,    12,    -1,   370,   371,   372,   373,
2152    374,   375,   376,   377,   378,   379,   380,    -1,    -1,    -1,
2153     -1,    -1,    -1,    -1,   486,   405,    -1,    -1,    -1,    -1,
2154     -1,    -1,    -1,    -1,    -1,   497,    -1,   401,    -1,    -1,
2155     -1,    -1,   405,    -1,  1053,    -1,   426,   427,    -1,   185,
2156    186,   187,  1061,   189,   190,   191,   128,  1066,    23,    -1,
2157     -1,  1070,    -1,   426,   427,    -1,    -1,    -1,    -1,    -1,
2158     -1,    -1,    -1,   795,    -1,    -1,    -1,   539,   150,   541,
2159    152,   543,   544,  1092,  1093,    -1,    10,    11,    12,    -1,
2160     -1,    -1,    -1,    58,    59,    60,    61,    62,    63,    64,
2161     65,    66,    67,    -1,    -1,    -1,    -1,  1116,  1117,    -1,
2162     -1,    -1,    -1,    -1,    -1,    -1,  1125,    -1,    -1,    -1,
2163    842,   843,    -1,   845,   196,    -1,    -1,    -1,    -1,   591,
2164   1139,    -1,   204,    -1,    -1,    -1,   208,   599,   152,   211,
2165     -1,    -1,    -1,    -1,   152,    -1,    -1,   219,    -1,    -1,
2166     -1,    -1,  1161,  1162,    -1,    -1,    -1,    -1,    -1,    -1,
2167     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,   549,
2168     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1188,
2169     -1,    -1,   196,    -1,   646,    -1,   549,    -1,   196,    -1,
2170    204,    -1,    -1,    -1,   208,    -1,   204,   211,    -1,    -1,
2171    208,    -1,    -1,   211,    -1,   219,    -1,   929,    -1,    -1,
2172    224,   219,   226,    -1,   936,    -1,   224,    -1,   226,   291,
2173     -1,    -1,    -1,    -1,    -1,   239,   240,    -1,   152,    -1,
2174     -1,   239,   240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2175     -1,    -1,    -1,   705,    -1,    -1,   318,   319,   320,   321,
2176     -1,    -1,    -1,   617,   716,   717,   718,   719,   720,   721,
2177    722,   723,    -1,    -1,   628,    -1,   338,    -1,    -1,    -1,
2178     -1,    -1,   196,    -1,    -1,    -1,    -1,   349,    19,    20,
2179    204,    -1,    -1,    24,   208,    -1,    -1,   211,    29,    30,
2180     31,    32,    33,    34,   366,   219,    -1,    -1,    -1,    -1,
2181    224,    -1,   226,    -1,    -1,    -1,    47,    48,    49,    -1,
2182     -1,    -1,    -1,    -1,    -1,   239,   240,    -1,   682,    -1,
2183     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1050,    -1,
2184     71,  1053,   696,   405,    -1,    -1,    -1,    -1,    -1,    -1,
2185     -1,   413,    -1,   805,  1066,    -1,    -1,  1069,    -1,    -1,
2186     -1,    -1,  1074,   815,    -1,  1077,  1078,    19,    -1,    -1,
2187     -1,    -1,    24,    -1,    26,    -1,    28,    29,    30,    31,
2188     32,    33,    34,   114,    -1,    -1,    -1,    -1,    -1,    -1,
2189     -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,
2190     -1,   405,    -1,    -1,   856,    -1,    -1,   405,  1120,    -1,
2191     -1,    -1,    -1,  1125,    -1,  1127,  1128,    -1,    -1,    71,
2192     -1,    -1,   426,   427,    -1,    -1,    -1,  1139,   426,   427,
2193     -1,    -1,    -1,    -1,    -1,   887,   888,   889,   890,   891,
2194    892,   893,   894,   895,   896,   897,   898,   899,   900,   901,
2195    902,   903,  1164,   905,   185,   186,   187,    -1,   189,    -1,
2196    814,    -1,   114,    -1,    -1,   819,    -1,    -1,    -1,   823,
2197     -1,    -1,  1184,  1185,    -1,    -1,  1188,    -1,   540,  1191,
2198     -1,    -1,    -1,    -1,    -1,    -1,    -1,   549,    -1,    -1,
2199     -1,   405,    -1,    -1,    -1,   849,    -1,    -1,    -1,    -1,
2200     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201     -1,    -1,   426,   427,    -1,    -1,   870,   871,    -1,   971,
2202     -1,    -1,   876,   877,   878,   879,   880,   881,   882,   883,
2203    884,   885,   886,   185,   186,   187,    -1,   189,   190,   191,
2204     -1,    -1,    -1,    -1,    -1,   549,    -1,    -1,    -1,    -1,
2205     -1,   549,    -1,   615,    -1,    -1,  1008,    -1,    -1,    -1,
2206     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2207     -1,    -1,   926,    -1,   636,    -1,   638,    -1,    -1,    -1,
2208     -1,    -1,   644,    -1,    -1,    -1,   648,    -1,    -1,    -1,
2209     -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
2210     -1,    -1,     6,     7,     8,    -1,    -1,    11,    12,    13,
2211     14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2212     24,    25,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2213     34,    -1,    -1,    -1,    -1,   549,    -1,    -1,    42,    43,
2214     -1,    -1,   704,    47,    48,    49,    -1,    -1,    -1,    -1,
2215     -1,    -1,    -1,   715,    -1,   121,   122,   123,   124,    -1,
2216    126,    -1,    -1,    -1,    -1,   131,   132,    71,    -1,   135,
2217    136,    -1,   138,   139,   140,   141,    -1,    -1,    -1,    -1,
2218     -1,    -1,    -1,    -1,    -1,     0,     1,   153,   154,    -1,
2219     -1,    95,    96,    97,    98,    99,   100,   101,    -1,    -1,
2220     -1,    -1,    -1,    18,    -1,    -1,   110,  1061,    -1,    24,
2221    114,    -1,   178,    -1,    -1,    -1,    -1,    -1,    -1,    34,
2222     -1,    -1,   188,    -1,    -1,    -1,    -1,    -1,    -1,    44,
2223     -1,    46,    -1,    -1,    -1,  1187,    -1,    -1,    -1,    -1,
2224     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1200,    -1,
2225     -1,    -1,    -1,    68,    69,    70,    -1,    72,    -1,    -1,
2226     -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,  1221,
2227     -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,    93,    94,
2228     -1,   185,   186,   187,    -1,   189,   190,   191,    -1,    -1,
2229     -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,    -1,
2230    115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2231    872,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2232    135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2233    145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2234    155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2235    165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2236    175,   176,   177,   178,    -1,    -1,    -1,    -1,     0,     1,
2237    185,   186,   187,   188,    -1,   190,   191,   192,    -1,    -1,
2238     -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,
2239     -1,    -1,    24,    -1,    -1,    -1,    -1,    -1,   960,    -1,
2240     -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2241     -1,    -1,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,
2242     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2243     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
2244     72,    -1,    -1,    -1,  1006,    77,    78,    79,    -1,    -1,
2245     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2246     92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2247     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2248    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2249    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2250    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2251    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2252    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2253    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2254    172,   173,   174,   175,   176,   177,   178,    -1,    -1,    -1,
2255     -1,    -1,    -1,   185,   186,   187,   188,     1,   190,   191,
2256    192,    -1,     6,     7,     8,    -1,    10,    11,    12,    13,
2257     14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2258     24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2259     34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
2260     44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,    -1,
2261     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2262     -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    -1,
2263     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2264     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2265     -1,    -1,    96,    97,    98,    99,   100,   101,    -1,    -1,
2266     -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
2267    114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2268    124,    -1,   126,   127,   128,   129,   130,   131,   132,   133,
2269    134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2270    144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2271    154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2272    164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2273    174,   175,   176,   177,   178,    -1,    -1,    -1,    -1,    -1,
2274     -1,   185,   186,   187,   188,   189,   190,   191,   192,     1,
2275     -1,    -1,    -1,    -1,     6,     7,     8,    -1,    10,    11,
2276     12,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
2277     -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2278     32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2279     42,    43,    44,    -1,    -1,    47,    48,    49,    -1,    -1,
2280     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2281     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
2282     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2283     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2284     -1,    -1,    -1,    -1,    96,    97,    98,    99,   100,   101,
2285     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
2286    112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2287    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2288    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2289    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2290    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2291    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2292    172,   173,   174,   175,   176,   177,   178,    -1,    -1,    -1,
2293     -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
2294    192,     1,    -1,    -1,    -1,    -1,     6,     7,     8,    -1,
2295     -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2296     20,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    29,
2297     30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
2298     -1,    -1,    42,    43,    44,    -1,    -1,    47,    48,    49,
2299     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2300     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
2301     70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2302     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2303     -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
2304    100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2305    110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2306    120,   121,   122,   123,   124,    -1,   126,   127,   128,   129,
2307    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2308    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2309    150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2310    160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2311    170,   171,   172,   173,   174,   175,   176,   177,   178,    -1,
2312     -1,    -1,    -1,    -1,    -1,   185,   186,   187,   188,   189,
2313    190,   191,   192,     1,    -1,    -1,    -1,    -1,     6,     7,
2314      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2315     18,    19,    20,    21,    22,    23,    24,    -1,    26,    -1,
2316     28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2317     38,    39,    40,    41,    42,    43,    -1,    45,    -1,    47,
2318     48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2319     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2320     -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2321     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2322     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
2323     98,    99,   100,   101,    -1,    -1,    -1,    -1,     1,    -1,
2324     -1,    -1,   110,     6,     7,     8,   114,    10,    11,    12,
2325     13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
2326     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2327     33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
2328     43,    -1,    -1,     1,    47,    48,    49,    -1,     6,     7,
2329      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2330     18,    19,    -1,    -1,    -1,    -1,    24,    -1,    71,    -1,
2331     -1,    29,    30,    31,    32,    33,    34,   185,   186,   187,
2332     -1,   189,   190,   191,    42,    43,    -1,    -1,    -1,    47,
2333     48,    49,    95,    96,    97,    98,    99,   100,   101,    -1,
2334     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2335     -1,   114,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2336     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2337     -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    97,
2338     98,    99,   100,   101,    -1,    -1,    -1,    -1,     1,    -1,
2339     -1,    -1,   110,     6,     7,     8,   114,    -1,    11,    12,
2340     13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2341     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2342     33,    34,   185,   186,   187,    -1,   189,   190,   191,    42,
2343     43,    -1,    -1,     1,    47,    48,    49,    -1,     6,     7,
2344      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2345     18,    19,    20,    -1,    -1,    -1,    24,    -1,    71,    -1,
2346     -1,    29,    30,    31,    32,    33,    34,   185,   186,   187,
2347     -1,   189,   190,   191,    42,    43,    -1,    -1,    -1,    47,
2348     48,    49,    95,    96,    97,    98,    99,   100,   101,    -1,
2349     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2350     -1,   114,    -1,    71,    -1,    -1,    18,    -1,    -1,    -1,
2351     -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2352     32,    33,    34,    -1,    -1,    -1,    -1,    -1,    96,    97,
2353     98,    99,   100,   101,    -1,    47,    48,    49,     1,    -1,
2354     -1,    -1,   110,     6,     7,     8,   114,    -1,    11,    12,
2355     13,    14,    15,    16,    17,    18,    19,    20,    -1,    71,
2356     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2357     33,    34,   185,   186,   187,    -1,   189,   190,   191,    42,
2358     43,    -1,    -1,     1,    47,    48,    49,    -1,     6,     7,
2359      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2360     18,    19,   114,    -1,    -1,    -1,    24,    -1,    71,    -1,
2361     -1,    29,    30,    31,    32,    33,    34,   185,   186,   187,
2362     -1,   189,   190,   191,    42,    43,    -1,    -1,    -1,    47,
2363     48,    49,    -1,    96,    97,    98,    99,   100,   101,    -1,
2364     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2365     -1,   114,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2366     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2367     -1,    -1,    -1,   185,   186,   187,    -1,   189,    96,    97,
2368     98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
2369     -1,    -1,   110,     6,     7,     8,   114,    10,    11,    12,
2370     13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2371     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2372     33,    34,   185,   186,   187,    -1,   189,   190,   191,    42,
2373     43,    44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,
2374     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2375     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,
2376     -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,   186,   187,
2377     -1,   189,   190,   191,    -1,    -1,    -1,    -1,    -1,    -1,
2378     -1,    -1,    -1,    96,    97,    98,    99,   100,   101,    -1,
2379     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
2380    113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2381    123,   124,    -1,   126,   127,   128,   129,   130,   131,   132,
2382    133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2383    143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2384    153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2385    163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2386    173,   174,   175,   176,   177,   178,    -1,    -1,    -1,    -1,
2387     -1,    -1,   185,   186,   187,   188,   189,   190,   191,   192,
2388      6,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
2389     16,    17,    18,    19,    20,    -1,    -1,    -1,    24,    -1,
2390     -1,    -1,    -1,    29,    30,    31,    32,    33,    34,    -1,
2391     -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    44,    -1,
2392     46,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
2393     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2394     -1,    -1,    -1,    -1,    -1,    71,    72,    -1,    -1,    -1,
2395     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2396     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2397     96,    97,    98,    99,   100,   101,    -1,    -1,    -1,    -1,
2398     -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
2399    116,   117,   118,   119,   120,   121,   122,   123,   124,    -1,
2400    126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2401    136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2402    146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2403    156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2404    166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2405    176,   177,   178,    -1,    -1,    -1,    -1,    -1,    -1,   185,
2406    186,   187,   188,   189,   190,   191,   192,     6,     7,     8,
2407     -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2408     19,    20,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,
2409     29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
2410     -1,    -1,    -1,    42,    43,    44,    -1,    46,    47,    48,
2411     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2412     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2413     -1,    -1,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,
2414     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2415     -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,
2416     99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2417     -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2418    119,   120,   121,   122,   123,   124,    -1,   126,   127,   128,
2419    129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2420    139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2421    149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2422    159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2423    169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2424     -1,    -1,    -1,    -1,    -1,    -1,   185,   186,   187,   188,
2425    189,   190,   191,   192,     6,     7,     8,    -1,    10,    11,
2426     12,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
2427     -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2428     32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2429     -1,    -1,    -1,    -1,    -1,    47,    48,    49,     6,     7,
2430      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2431     18,    19,    20,    -1,    -1,    -1,    24,    -1,    -1,    71,
2432     -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
2433     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,
2434     48,    49,    -1,    -1,    96,    97,    98,    99,   100,   101,
2435     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,
2436     -1,    -1,   114,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2437     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2438     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
2439     98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
2440     -1,    -1,   110,     6,     7,     8,   114,    10,    11,    12,
2441     13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2442     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2443     33,    34,    -1,   185,   186,   187,    -1,   189,   190,   191,
2444     -1,    -1,    -1,    -1,    47,    48,    49,     6,     7,     8,
2445     -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2446     19,    20,    -1,    -1,    -1,    24,    -1,    -1,    71,    -1,
2447     29,    30,    31,    32,    33,    34,    -1,   185,   186,   187,
2448     -1,   189,   190,   191,    -1,    -1,    -1,    -1,    47,    48,
2449     49,    -1,    -1,    96,    97,    98,    99,   100,   101,    -1,
2450     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2451     -1,   114,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2452     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2453     -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,
2454     99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2455     -1,   110,     6,     7,     8,   114,    10,    11,    12,    13,
2456     14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2457     24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2458     34,    -1,   185,   186,   187,    -1,   189,   190,   191,    -1,
2459     -1,    -1,    -1,    47,    48,    49,     6,     7,     8,    -1,
2460     10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2461     20,    -1,    -1,    -1,    24,    -1,    -1,    71,    -1,    29,
2462     30,    31,    32,    33,    34,    -1,   185,   186,   187,    -1,
2463    189,   190,   191,    -1,    -1,    -1,    -1,    47,    48,    49,
2464     -1,    -1,    96,    97,    98,    99,   100,   101,    -1,    -1,
2465     -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,    -1,
2466    114,    71,    -1,    -1,    19,    -1,    -1,    -1,    -1,    24,
2467     -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2468     -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
2469    100,   101,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,
2470    110,     6,     7,     8,   114,    10,    11,    12,    13,    14,
2471     15,    16,    17,    18,    19,    20,    71,    -1,    -1,    24,
2472     -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2473     -1,   185,   186,   187,    -1,   189,   190,   191,    -1,    -1,
2474     -1,    -1,    47,    48,    49,     6,     7,     8,    -1,    10,
2475     11,    12,    13,    14,    15,    16,    17,    18,    19,   114,
2476     -1,    -1,    -1,    24,    -1,    -1,    71,    -1,    29,    30,
2477     31,    32,    33,    34,    -1,   185,   186,   187,    -1,   189,
2478    190,   191,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
2479     -1,    96,    97,    98,    99,   100,   101,    -1,    -1,    -1,
2480     -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,    -1,   114,
2481     71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2482     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2483    185,   186,   187,    -1,   189,    96,    97,    98,    99,   100,
2484    101,    19,    -1,    -1,    -1,    -1,    24,    -1,    -1,   110,
2485     -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
2486     -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    46,    -1,
2487     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2488    185,   186,   187,    -1,   189,   190,   191,    -1,    -1,    -1,
2489     -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,
2490     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2491     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2492     -1,    -1,    -1,    -1,   185,   186,   187,    -1,   189,   190,
2493    191,    -1,    -1,   111,   112,   113,    -1,   115,   116,   117,
2494    118,   119,   120,   121,   122,   123,   124,    -1,   126,   127,
2495    128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2496    138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2497    148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2498    158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2499    168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2500    178,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   187,
2501    188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,    -1,
2502     -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
2503     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2504     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2505     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2506     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2507     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2508     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2509     -1,    -1,   111,   112,   113,    -1,   115,   116,   117,   118,
2510    119,   120,   121,   122,   123,   124,    -1,   126,   127,   128,
2511    129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2512    139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2513    149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2514    159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2515    169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2516     -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,   187,   188,
2517     24,    -1,    -1,   192,    -1,    29,    30,    31,    32,    33,
2518     34,    -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,
2519     -1,    24,    -1,    47,    48,    49,    29,    30,    31,    32,
2520     33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2521     -1,    -1,    -1,    -1,    47,    48,    49,    71,    -1,    -1,
2522     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2523     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,
2524     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2525     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2526    114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2527     24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2528     34,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2529     44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2530     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2531     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2532     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2533     -1,   185,   186,   187,    -1,   189,    -1,    -1,    -1,    -1,
2534     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2535     -1,    -1,   185,   186,   187,    -1,   189,   111,   112,   113,
2536     -1,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2537    124,    -1,   126,   127,   128,   129,   130,   131,   132,   133,
2538    134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2539    144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2540    154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2541    164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2542    174,   175,   176,   177,   178,    -1,    -1,    -1,    -1,    -1,
2543     -1,   185,   186,   187,   188,    -1,   190,   191,   192,    24,
2544     25,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2545     24,    -1,    -1,    27,    -1,    29,    30,    31,    32,    33,
2546     34,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,
2547     -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,
2548     -1,    -1,    -1,    -1,    24,    -1,    71,    27,    -1,    29,
2549     30,    31,    32,    33,    34,    24,    25,    71,    -1,    -1,
2550     29,    30,    31,    32,    33,    34,    -1,    47,    48,    49,
2551     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,    48,
2552     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
2553     -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2554    114,    -1,    71,    24,    25,    -1,    -1,    -1,    29,    30,
2555     31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
2556     -1,    -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
2557     -1,    24,    -1,    -1,   114,    -1,    29,    30,    31,    32,
2558     33,    34,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,
2559     71,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,
2560    185,   186,   187,    -1,   189,    -1,    -1,    -1,    -1,    -1,
2561     -1,   185,   186,   187,    -1,   189,    -1,    24,    71,    -1,
2562     -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    24,
2563     -1,    -1,    -1,   114,    29,    30,    31,    32,    33,    34,
2564     47,    48,    49,    -1,    -1,   185,   186,   187,    -1,   189,
2565     -1,    -1,    47,    48,    49,    -1,   185,   186,   187,    -1,
2566    189,   114,    24,    -1,    71,    -1,    -1,    29,    30,    31,
2567     32,    33,    34,    24,    -1,    -1,    71,    -1,    29,    30,
2568     31,    32,    33,    34,    -1,    47,    48,    49,    -1,    -1,
2569     -1,    -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
2570     -1,    -1,    -1,    -1,   185,   186,   187,   114,   189,    71,
2571     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
2572     71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2573     -1,    -1,   185,   186,   187,    -1,   189,    -1,    -1,    -1,
2574     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2575     -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2576     -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
2577     42,    43,    44,    -1,    -1,    -1,    -1,    -1,   185,   186,
2578    187,    -1,   189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2579    185,   186,   187,    -1,   189,    -1,    -1,    -1,    -1,    -1,
2580     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2581     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2582     -1,    -1,    -1,   185,   186,   187,    -1,   189,    -1,    -1,
2583     -1,    -1,    -1,    -1,   185,   186,   187,    -1,   189,   111,
2584    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2585    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2586    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2587    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2588    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2589    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2590    172,   173,   174,   175,   176,   177,   178,    44,    -1,    46,
2591     -1,    -1,    -1,    -1,    -1,   187,   188,    -1,    -1,    -1,
2592    192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2593     -1,    68,    69,    70,    -1,    72,    -1,    -1,    -1,    -1,
2594     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2595     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2596     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2597     -1,    -1,    -1,    -1,   111,   112,   113,    -1,   115,   116,
2598    117,   118,   119,   120,   121,   122,   123,   124,    -1,   126,
2599    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2600    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2601    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2602    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2603    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2604    177,   178,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,
2605    187,   188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
2606     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2607     72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2608     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2609     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2610     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2611    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2612    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2613    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2614    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2615    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2616    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2617    172,   173,   174,   175,   176,   177,   178,    44,    -1,    -1,
2618     -1,    -1,    -1,   185,   186,   187,   188,    -1,    -1,    -1,
2619    192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2620     -1,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,
2621     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2622     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2623     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2624     -1,    -1,    -1,    -1,   111,   112,   113,    -1,   115,   116,
2625    117,   118,   119,   120,   121,   122,   123,   124,    -1,   126,
2626    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2627    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2628    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2629    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2630    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2631    177,   178,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2632    187,   188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
2633     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2634     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2635     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2636     92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2637     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2638    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2639    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2640    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2641    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2642    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2643    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2644    172,   173,   174,   175,   176,   177,   178,    44,    -1,    46,
2645     -1,    -1,    -1,    -1,    -1,   187,   188,    -1,    -1,    -1,
2646    192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2647     -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
2648     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2649     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2650     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2651     -1,    -1,    -1,    -1,   111,   112,   113,    -1,   115,   116,
2652    117,   118,   119,   120,   121,   122,   123,   124,    -1,   126,
2653    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2654    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2655    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2656    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2657    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2658    177,   178,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2659    187,   188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
2660     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2661     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2662     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2663     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2664     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2665    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2666    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2667    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2668    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2669    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2670    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2671    172,   173,   174,   175,   176,   177,   178,    -1,    -1,    -1,
2672     -1,    -1,    -1,    -1,    -1,   187,   188,    -1,    -1,    -1,
2673    192
2674 };
2675 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
2676
2677 /* This file comes from bison-1.28.  */
2678
2679 /* Skeleton output parser for bison,
2680    Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2681
2682    This program is free software; you can redistribute it and/or modify
2683    it under the terms of the GNU General Public License as published by
2684    the Free Software Foundation; either version 2, or (at your option)
2685    any later version.
2686
2687    This program is distributed in the hope that it will be useful,
2688    but WITHOUT ANY WARRANTY; without even the implied warranty of
2689    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2690    GNU General Public License for more details.
2691
2692    You should have received a copy of the GNU General Public License
2693    along with this program; if not, write to the Free Software
2694    Foundation, Inc., 59 Temple Place - Suite 330,
2695    Boston, MA 02111-1307, USA.  */
2696
2697 /* As a special exception, when this file is copied by Bison into a
2698    Bison output file, you may use that output file without restriction.
2699    This special exception was added by the Free Software Foundation
2700    in version 1.24 of Bison.  */
2701
2702 /* This is the parser code that is written into each bison parser
2703   when the %semantic_parser declaration is not specified in the grammar.
2704   It was written by Richard Stallman by simplifying the hairy parser
2705   used when %semantic_parser is specified.  */
2706
2707 #ifndef YYSTACK_USE_ALLOCA
2708 #ifdef alloca
2709 #define YYSTACK_USE_ALLOCA
2710 #else /* alloca not defined */
2711 #ifdef __GNUC__
2712 #define YYSTACK_USE_ALLOCA
2713 #define alloca __builtin_alloca
2714 #else /* not GNU C.  */
2715 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
2716 #define YYSTACK_USE_ALLOCA
2717 #include <alloca.h>
2718 #else /* not sparc */
2719 /* We think this test detects Watcom and Microsoft C.  */
2720 /* This used to test MSDOS, but that is a bad idea
2721    since that symbol is in the user namespace.  */
2722 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
2723 #if 0 /* No need for malloc.h, which pollutes the namespace;
2724          instead, just don't use alloca.  */
2725 #include <malloc.h>
2726 #endif
2727 #else /* not MSDOS, or __TURBOC__ */
2728 #if defined(_AIX)
2729 /* I don't know what this was needed for, but it pollutes the namespace.
2730    So I turned it off.   rms, 2 May 1997.  */
2731 /* #include <malloc.h>  */
2732  #pragma alloca
2733 #define YYSTACK_USE_ALLOCA
2734 #else /* not MSDOS, or __TURBOC__, or _AIX */
2735 #if 0
2736 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
2737                  and on HPUX 10.  Eventually we can turn this on.  */
2738 #define YYSTACK_USE_ALLOCA
2739 #define alloca __builtin_alloca
2740 #endif /* __hpux */
2741 #endif
2742 #endif /* not _AIX */
2743 #endif /* not MSDOS, or __TURBOC__ */
2744 #endif /* not sparc */
2745 #endif /* not GNU C */
2746 #endif /* alloca not defined */
2747 #endif /* YYSTACK_USE_ALLOCA not defined */
2748
2749 #ifdef YYSTACK_USE_ALLOCA
2750 #define YYSTACK_ALLOC alloca
2751 #else
2752 #define YYSTACK_ALLOC malloc
2753 #endif
2754
2755 /* Note: there must be only one dollar sign in this file.
2756    It is replaced by the list of actions, each action
2757    as one case of the switch.  */
2758
2759 #define yyerrok         (yyerrstatus = 0)
2760 #define yyclearin       (yychar = YYEMPTY)
2761 #define YYEMPTY         -2
2762 #define YYEOF           0
2763 #define YYACCEPT        goto yyacceptlab
2764 #define YYABORT         goto yyabortlab
2765 #define YYERROR         goto yyerrlab1
2766 /* Like YYERROR except do call yyerror.
2767    This remains here temporarily to ease the
2768    transition to the new meaning of YYERROR, for GCC.
2769    Once GCC version 2 has supplanted version 1, this can go.  */
2770 #define YYFAIL          goto yyerrlab
2771 #define YYRECOVERING()  (!!yyerrstatus)
2772 #define YYBACKUP(token, value) \
2773 do                                                              \
2774   if (yychar == YYEMPTY && yylen == 1)                          \
2775     { yychar = (token), yylval = (value);                       \
2776       yychar1 = YYTRANSLATE (yychar);                           \
2777       YYPOPSTACK;                                               \
2778       goto yybackup;                                            \
2779     }                                                           \
2780   else                                                          \
2781     { yyerror ("syntax error: cannot back up"); YYERROR; }      \
2782 while (0)
2783
2784 #define YYTERROR        1
2785 #define YYERRCODE       256
2786
2787 #ifndef YYPURE
2788 #define YYLEX           yylex()
2789 #endif
2790
2791 #ifdef YYPURE
2792 #ifdef YYLSP_NEEDED
2793 #ifdef YYLEX_PARAM
2794 #define YYLEX           yylex(&yylval, &yylloc, YYLEX_PARAM)
2795 #else
2796 #define YYLEX           yylex(&yylval, &yylloc)
2797 #endif
2798 #else /* not YYLSP_NEEDED */
2799 #ifdef YYLEX_PARAM
2800 #define YYLEX           yylex(&yylval, YYLEX_PARAM)
2801 #else
2802 #define YYLEX           yylex(&yylval)
2803 #endif
2804 #endif /* not YYLSP_NEEDED */
2805 #endif
2806
2807 /* If nonreentrant, generate the variables here */
2808
2809 #ifndef YYPURE
2810
2811 int     yychar;                 /*  the lookahead symbol                */
2812 YYSTYPE yylval;                 /*  the semantic value of the           */
2813                                 /*  lookahead symbol                    */
2814
2815 #ifdef YYLSP_NEEDED
2816 YYLTYPE yylloc;                 /*  location data for the lookahead     */
2817                                 /*  symbol                              */
2818 #endif
2819
2820 int yynerrs;                    /*  number of parse errors so far       */
2821 #endif  /* not YYPURE */
2822
2823 #if YYDEBUG != 0
2824 int yydebug;                    /*  nonzero means print parse trace     */
2825 /* Since this is uninitialized, it does not stop multiple parsers
2826    from coexisting.  */
2827 #endif
2828
2829 /*  YYINITDEPTH indicates the initial size of the parser's stacks       */
2830
2831 #ifndef YYINITDEPTH
2832 #define YYINITDEPTH 200
2833 #endif
2834
2835 /*  YYMAXDEPTH is the maximum size the stacks can grow to
2836     (effective only if the built-in stack extension method is used).  */
2837
2838 #if YYMAXDEPTH == 0
2839 #undef YYMAXDEPTH
2840 #endif
2841
2842 #ifndef YYMAXDEPTH
2843 #define YYMAXDEPTH 10000
2844 #endif
2845 \f
2846 /* Define __yy_memcpy.  Note that the size argument
2847    should be passed with type unsigned int, because that is what the non-GCC
2848    definitions require.  With GCC, __builtin_memcpy takes an arg
2849    of type size_t, but it can handle unsigned int.  */
2850
2851 #if __GNUC__ > 1                /* GNU C and GNU C++ define this.  */
2852 #define __yy_memcpy(TO,FROM,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
2853 #else                           /* not GNU C or C++ */
2854 #ifndef __cplusplus
2855
2856 /* This is the most reliable way to avoid incompatibilities
2857    in available built-in functions on various systems.  */
2858 static void
2859 __yy_memcpy (to, from, count)
2860      char *to;
2861      char *from;
2862      unsigned int count;
2863 {
2864   register char *f = from;
2865   register char *t = to;
2866   register int i = count;
2867
2868   while (i-- > 0)
2869     *t++ = *f++;
2870 }
2871
2872 #else /* __cplusplus */
2873
2874 /* This is the most reliable way to avoid incompatibilities
2875    in available built-in functions on various systems.  */
2876 static void
2877 __yy_memcpy (char *to, char *from, unsigned int count)
2878 {
2879   register char *t = to;
2880   register char *f = from;
2881   register int i = count;
2882
2883   while (i-- > 0)
2884     *t++ = *f++;
2885 }
2886
2887 #endif
2888 #endif
2889 \f
2890
2891
2892 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
2893    into yyparse.  The argument should have type void *.
2894    It should actually point to an object.
2895    Grammar actions can access the variable by casting it
2896    to the proper pointer type.  */
2897
2898 #ifdef YYPARSE_PARAM
2899 #ifdef __cplusplus
2900 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
2901 #define YYPARSE_PARAM_DECL
2902 #else /* not __cplusplus */
2903 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
2904 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
2905 #endif /* not __cplusplus */
2906 #else /* not YYPARSE_PARAM */
2907 #define YYPARSE_PARAM_ARG
2908 #define YYPARSE_PARAM_DECL
2909 #endif /* not YYPARSE_PARAM */
2910
2911 /* Prevent warning if -Wstrict-prototypes.  */
2912 #ifdef __GNUC__
2913 #ifdef YYPARSE_PARAM
2914 int yyparse (void *);
2915 #else
2916 int yyparse (void);
2917 #endif
2918 #endif
2919
2920 int
2921 yyparse(YYPARSE_PARAM_ARG)
2922      YYPARSE_PARAM_DECL
2923 {
2924   register int yystate;
2925   register int yyn;
2926   register short *yyssp;
2927   register YYSTYPE *yyvsp;
2928   int yyerrstatus;      /*  number of tokens to shift before error messages enabled */
2929   int yychar1 = 0;              /*  lookahead token as an internal (translated) token number */
2930
2931   short yyssa[YYINITDEPTH];     /*  the state stack                     */
2932   YYSTYPE yyvsa[YYINITDEPTH];   /*  the semantic value stack            */
2933
2934   short *yyss = yyssa;          /*  refer to the stacks thru separate pointers */
2935   YYSTYPE *yyvs = yyvsa;        /*  to allow yyoverflow to reallocate them elsewhere */
2936
2937 #ifdef YYLSP_NEEDED
2938   YYLTYPE yylsa[YYINITDEPTH];   /*  the location stack                  */
2939   YYLTYPE *yyls = yylsa;
2940   YYLTYPE *yylsp;
2941
2942 #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
2943 #else
2944 #define YYPOPSTACK   (yyvsp--, yyssp--)
2945 #endif
2946
2947   int yystacksize = YYINITDEPTH;
2948   int yyfree_stacks = 0;
2949
2950 #ifdef YYPURE
2951   int yychar;
2952   YYSTYPE yylval;
2953   int yynerrs;
2954 #ifdef YYLSP_NEEDED
2955   YYLTYPE yylloc;
2956 #endif
2957 #endif
2958
2959   YYSTYPE yyval;                /*  the variable used to return         */
2960                                 /*  semantic values from the action     */
2961                                 /*  routines                            */
2962
2963   int yylen;
2964
2965 #if YYDEBUG != 0
2966   if (yydebug)
2967     fprintf(stderr, "Starting parse\n");
2968 #endif
2969
2970   yystate = 0;
2971   yyerrstatus = 0;
2972   yynerrs = 0;
2973   yychar = YYEMPTY;             /* Cause a token to be read.  */
2974
2975   /* Initialize stack pointers.
2976      Waste one element of value and location stack
2977      so that they stay on the same level as the state stack.
2978      The wasted elements are never initialized.  */
2979
2980   yyssp = yyss - 1;
2981   yyvsp = yyvs;
2982 #ifdef YYLSP_NEEDED
2983   yylsp = yyls;
2984 #endif
2985
2986 /* Push a new state, which is found in  yystate  .  */
2987 /* In all cases, when you get here, the value and location stacks
2988    have just been pushed. so pushing a state here evens the stacks.  */
2989 yynewstate:
2990
2991   *++yyssp = yystate;
2992
2993   if (yyssp >= yyss + yystacksize - 1)
2994     {
2995       /* Give user a chance to reallocate the stack */
2996       /* Use copies of these so that the &'s don't force the real ones into memory. */
2997       YYSTYPE *yyvs1 = yyvs;
2998       short *yyss1 = yyss;
2999 #ifdef YYLSP_NEEDED
3000       YYLTYPE *yyls1 = yyls;
3001 #endif
3002
3003       /* Get the current used size of the three stacks, in elements.  */
3004       int size = yyssp - yyss + 1;
3005
3006 #ifdef yyoverflow
3007       /* Each stack pointer address is followed by the size of
3008          the data in use in that stack, in bytes.  */
3009 #ifdef YYLSP_NEEDED
3010       /* This used to be a conditional around just the two extra args,
3011          but that might be undefined if yyoverflow is a macro.  */
3012       yyoverflow("parser stack overflow",
3013                  &yyss1, size * sizeof (*yyssp),
3014                  &yyvs1, size * sizeof (*yyvsp),
3015                  &yyls1, size * sizeof (*yylsp),
3016                  &yystacksize);
3017 #else
3018       yyoverflow("parser stack overflow",
3019                  &yyss1, size * sizeof (*yyssp),
3020                  &yyvs1, size * sizeof (*yyvsp),
3021                  &yystacksize);
3022 #endif
3023
3024       yyss = yyss1; yyvs = yyvs1;
3025 #ifdef YYLSP_NEEDED
3026       yyls = yyls1;
3027 #endif
3028 #else /* no yyoverflow */
3029       /* Extend the stack our own way.  */
3030       if (yystacksize >= YYMAXDEPTH)
3031         {
3032           yyerror("parser stack overflow");
3033           if (yyfree_stacks)
3034             {
3035               free (yyss);
3036               free (yyvs);
3037 #ifdef YYLSP_NEEDED
3038               free (yyls);
3039 #endif
3040             }
3041           return 2;
3042         }
3043       yystacksize *= 2;
3044       if (yystacksize > YYMAXDEPTH)
3045         yystacksize = YYMAXDEPTH;
3046 #ifndef YYSTACK_USE_ALLOCA
3047       yyfree_stacks = 1;
3048 #endif
3049       yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
3050       __yy_memcpy ((char *)yyss, (char *)yyss1,
3051                    size * (unsigned int) sizeof (*yyssp));
3052       yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
3053       __yy_memcpy ((char *)yyvs, (char *)yyvs1,
3054                    size * (unsigned int) sizeof (*yyvsp));
3055 #ifdef YYLSP_NEEDED
3056       yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
3057       __yy_memcpy ((char *)yyls, (char *)yyls1,
3058                    size * (unsigned int) sizeof (*yylsp));
3059 #endif
3060 #endif /* no yyoverflow */
3061
3062       yyssp = yyss + size - 1;
3063       yyvsp = yyvs + size - 1;
3064 #ifdef YYLSP_NEEDED
3065       yylsp = yyls + size - 1;
3066 #endif
3067
3068 #if YYDEBUG != 0
3069       if (yydebug)
3070         fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3071 #endif
3072
3073       if (yyssp >= yyss + yystacksize - 1)
3074         YYABORT;
3075     }
3076
3077 #if YYDEBUG != 0
3078   if (yydebug)
3079     fprintf(stderr, "Entering state %d\n", yystate);
3080 #endif
3081
3082   goto yybackup;
3083  yybackup:
3084
3085 /* Do appropriate processing given the current state.  */
3086 /* Read a lookahead token if we need one and don't already have one.  */
3087 /* yyresume: */
3088
3089   /* First try to decide what to do without reference to lookahead token.  */
3090
3091   yyn = yypact[yystate];
3092   if (yyn == YYFLAG)
3093     goto yydefault;
3094
3095   /* Not known => get a lookahead token if don't already have one.  */
3096
3097   /* yychar is either YYEMPTY or YYEOF
3098      or a valid token in external form.  */
3099
3100   if (yychar == YYEMPTY)
3101     {
3102 #if YYDEBUG != 0
3103       if (yydebug)
3104         fprintf(stderr, "Reading a token: ");
3105 #endif
3106       yychar = YYLEX;
3107     }
3108
3109   /* Convert token to internal form (in yychar1) for indexing tables with */
3110
3111   if (yychar <= 0)              /* This means end of input. */
3112     {
3113       yychar1 = 0;
3114       yychar = YYEOF;           /* Don't call YYLEX any more */
3115
3116 #if YYDEBUG != 0
3117       if (yydebug)
3118         fprintf(stderr, "Now at end of input.\n");
3119 #endif
3120     }
3121   else
3122     {
3123       yychar1 = YYTRANSLATE(yychar);
3124
3125 #if YYDEBUG != 0
3126       if (yydebug)
3127         {
3128           fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3129           /* Give the individual parser a way to print the precise meaning
3130              of a token, for further debugging info.  */
3131 #ifdef YYPRINT
3132           YYPRINT (stderr, yychar, yylval);
3133 #endif
3134           fprintf (stderr, ")\n");
3135         }
3136 #endif
3137     }
3138
3139   yyn += yychar1;
3140   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3141     goto yydefault;
3142
3143   yyn = yytable[yyn];
3144
3145   /* yyn is what to do for this token type in this state.
3146      Negative => reduce, -yyn is rule number.
3147      Positive => shift, yyn is new state.
3148        New state is final state => don't bother to shift,
3149        just return success.
3150      0, or most negative number => error.  */
3151
3152   if (yyn < 0)
3153     {
3154       if (yyn == YYFLAG)
3155         goto yyerrlab;
3156       yyn = -yyn;
3157       goto yyreduce;
3158     }
3159   else if (yyn == 0)
3160     goto yyerrlab;
3161
3162   if (yyn == YYFINAL)
3163     YYACCEPT;
3164
3165   /* Shift the lookahead token.  */
3166
3167 #if YYDEBUG != 0
3168   if (yydebug)
3169     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3170 #endif
3171
3172   /* Discard the token being shifted unless it is eof.  */
3173   if (yychar != YYEOF)
3174     yychar = YYEMPTY;
3175
3176   *++yyvsp = yylval;
3177 #ifdef YYLSP_NEEDED
3178   *++yylsp = yylloc;
3179 #endif
3180
3181   /* count tokens shifted since error; after three, turn off error status.  */
3182   if (yyerrstatus) yyerrstatus--;
3183
3184   yystate = yyn;
3185   goto yynewstate;
3186
3187 /* Do the default action for the current state.  */
3188 yydefault:
3189
3190   yyn = yydefact[yystate];
3191   if (yyn == 0)
3192     goto yyerrlab;
3193
3194 /* Do a reduction.  yyn is the number of a rule to reduce with.  */
3195 yyreduce:
3196   yylen = yyr2[yyn];
3197   if (yylen > 0)
3198     yyval = yyvsp[1-yylen]; /* implement default value of the action */
3199
3200 #if YYDEBUG != 0
3201   if (yydebug)
3202     {
3203       int i;
3204
3205       fprintf (stderr, "Reducing via rule %d (line %d), ",
3206                yyn, yyrline[yyn]);
3207
3208       /* Print the symbols being reduced, and their result.  */
3209       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3210         fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3211       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3212     }
3213 #endif
3214
3215
3216   switch (yyn) {
3217
3218 case 3:
3219 { context_checkGlobalScope (); ;
3220     break;}
3221 case 4:
3222 { context_checkGlobalScope (); ;
3223     break;}
3224 case 5:
3225 { uentry_clearDecl (); ;
3226     break;}
3227 case 6:
3228 { uentry_clearDecl (); ;
3229     break;}
3230 case 7:
3231 { uentry_clearDecl (); ;
3232     break;}
3233 case 8:
3234 { uentry_clearDecl (); ;
3235     break;}
3236 case 9:
3237 { uentry_clearDecl (); ;
3238     break;}
3239 case 10:
3240 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3241     break;}
3242 case 11:
3243 { uentry_clearDecl (); /* evans 2002-02-08: okay to have a null statement */ ;
3244     break;}
3245 case 12:
3246 { uentry_clearDecl (); ;
3247     break;}
3248 case 13:
3249 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
3250     break;}
3251 case 14:
3252 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
3253     break;}
3254 case 15:
3255 { context_enterFunctionHeader (); ;
3256     break;}
3257 case 16:
3258
3259      declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction (); 
3260      context_exitFunctionHeader (); 
3261    ;
3262     break;}
3263 case 17:
3264
3265      qtype qint = qtype_create (ctype_int);
3266      yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3267      qtype_free (qint);
3268    ;
3269     break;}
3270 case 18:
3271 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3272     break;}
3273 case 20:
3274 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3275     break;}
3276 case 21:
3277 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3278     break;}
3279 case 22:
3280 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3281     break;}
3282 case 23:
3283 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3284     break;}
3285 case 24:
3286 {
3287      exprNode_findValue (yyvsp[-2].expr);
3288      idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3289
3290      if (exprNode_hasValue (yyvsp[-2].expr)) 
3291        {
3292          yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), 
3293                                                                   exprNode_getLongValue (yyvsp[-2].expr)));
3294        } 
3295      else
3296        {
3297          yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp))); 
3298        }
3299    ;
3300     break;}
3301 case 25:
3302 { setCurrentParams (uentryList_missingParams); ;
3303     break;}
3304 case 26:
3305 { /* need to support globals and modifies here! */
3306      ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), 
3307                                     uentryList_makeMissingParams ());
3308      
3309      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3310      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3311      context_popLoc ();
3312      /*drl 7/25/01 added*/
3313      setImplictfcnConstraints();
3314    ;
3315     break;}
3316 case 27:
3317 { setCurrentParams (yyvsp[-1].entrylist); ;
3318     break;}
3319 case 28:
3320 { setImplictfcnConstraints ();
3321      clearCurrentParams ();
3322      yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3323      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3324      context_popLoc (); 
3325    ;
3326     break;}
3327 case 29:
3328 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3329     break;}
3330 case 30:
3331 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3332     break;}
3333 case 31:
3334 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3335     break;}
3336 case 32:
3337
3338      int value;
3339
3340      if (exprNode_hasValue (yyvsp[-2].expr) 
3341          && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3342        {
3343          value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3344        }
3345      else
3346        {
3347          value = 0;
3348        }
3349
3350      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3351    ;
3352     break;}
3353 case 33:
3354 { setCurrentParams (uentryList_missingParams); ;
3355     break;}
3356 case 34:
3357 {
3358      ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), 
3359                                     uentryList_makeMissingParams ());
3360      
3361      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3362      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3363      context_popLoc (); 
3364    ;
3365     break;}
3366 case 35:
3367 { setCurrentParams (yyvsp[-1].entrylist); ;
3368     break;}
3369 case 36:
3370
3371      clearCurrentParams ();
3372      yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3373      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3374      context_popLoc (); 
3375    ;
3376     break;}
3377 case 37:
3378 { setCurrentParams (yyvsp[-1].entrylist); ;
3379     break;}
3380 case 38:
3381 { clearCurrentParams (); ;
3382     break;}
3383 case 39:
3384 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3385     break;}
3386 case 40:
3387 { exprNode_checkMacroBody (yyvsp[-1].expr); ;
3388     break;}
3389 case 41:
3390 { exprNode_checkIterBody (yyvsp[-1].expr); ;
3391     break;}
3392 case 42:
3393 { exprNode_checkIterEnd (yyvsp[-1].expr); ;
3394     break;}
3395 case 43:
3396 { exprChecks_checkEmptyMacroBody (); ;
3397     break;}
3398 case 44:
3399 { clabstract_declareFunction (yyvsp[0].ntyp); ;
3400     break;}
3401 case 45:
3402 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
3403     break;}
3404 case 46:
3405 { cscanner_expectingMetaStateName (); ;
3406     break;}
3407 case 47:
3408 { cscanner_clearExpectingMetaStateName ();
3409       yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); ;
3410     break;}
3411 case 48:
3412 { cscanner_expectingMetaStateName (); ;
3413     break;}
3414 case 49:
3415 { cscanner_clearExpectingMetaStateName ();
3416       yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); ;
3417     break;}
3418 case 50:
3419 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
3420     break;}
3421 case 51:
3422 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
3423     break;}
3424 case 55:
3425 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
3426     break;}
3427 case 56:
3428 { yyval.conL = constraintList_single (yyvsp[0].con); ;
3429     break;}
3430 case 57:
3431 {
3432  yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3433  DPRINTF(("Done BufConstraint1\n")); ;
3434     break;}
3435 case 64:
3436 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE);  DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3437     break;}
3438 case 65:
3439 {
3440    DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3441    yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3442     break;}
3443 case 66:
3444 { yyval.conE =  constraintExpr_makeTermsRef (yyvsp[0].sr);;
3445     break;}
3446 case 67:
3447 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
3448     break;}
3449 case 68:
3450 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
3451     break;}
3452 case 69:
3453 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3454     break;}
3455 case 70:
3456 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3457     break;}
3458 case 71:
3459 {
3460     /*
3461     char *t; int c; 
3462     t =  cstring_toCharsSafe (exprNode_unparse($3)); 
3463     c = atoi( t );
3464     */
3465     yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3466   ;
3467     break;}
3468 case 72:
3469 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3470     break;}
3471 case 73:
3472 { yyval.sr = yyvsp[-1].sr; ;
3473     break;}
3474 case 74:
3475 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3476     break;}
3477 case 75:
3478 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3479     break;}
3480 case 79:
3481 { yyval.funcclauselist = functionClauseList_new (); ;
3482     break;}
3483 case 80:
3484 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3485     break;}
3486 case 81:
3487 { yyval.funcclauselist = functionClauseList_new (); ;
3488     break;}
3489 case 82:
3490 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3491     break;}
3492 case 83:
3493 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3494     break;}
3495 case 84:
3496 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3497     break;}
3498 case 85:
3499 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3500     break;}
3501 case 86:
3502 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3503     break;}
3504 case 87:
3505 { yyval.funcclause = yyvsp[0].funcclause; ;
3506     break;}
3507 case 88:
3508 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3509     break;}
3510 case 89:
3511 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3512     break;}
3513 case 90:
3514 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3515     break;}
3516 case 91:
3517 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3518     break;}
3519 case 92:
3520 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3521     break;}
3522 case 93:
3523 { yyval.funcclause = yyvsp[0].funcclause; ;
3524     break;}
3525 case 94:
3526 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3527     break;}
3528 case 95:
3529 { yyval.globsclause = yyvsp[-1].globsclause; ;
3530     break;}
3531 case 96:
3532 { setProcessingGlobalsList (); ;
3533     break;}
3534 case 97:
3535
3536      unsetProcessingGlobals (); 
3537      yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset); 
3538    ;
3539     break;}
3540 case 98:
3541 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
3542     break;}
3543 case 99:
3544 { yyval.modsclause = yyvsp[-1].modsclause; ;
3545     break;}
3546 case 100:
3547 {
3548      context_setProtectVars (); enterParamsTemp (); 
3549      sRef_setGlobalScopeSafe (); 
3550    ;
3551     break;}
3552 case 101:
3553
3554      exitParamsTemp ();
3555      sRef_clearGlobalScopeSafe (); 
3556      context_releaseVars ();
3557      yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3558    ;
3559     break;}
3560 case 102:
3561 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
3562     break;}
3563 case 103:
3564 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
3565     break;}
3566 case 106:
3567 { yyval.warnclause = warnClause_undefined; ;
3568     break;}
3569 case 107:
3570 { yyval.warnclause = yyvsp[-1].warnclause; ;
3571     break;}
3572 case 108:
3573 {      
3574      llassert (exprNode_knownStringValue (yyvsp[0].expr));
3575      yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr)))); 
3576      exprNode_free (yyvsp[0].expr);
3577    ;
3578     break;}
3579 case 109:
3580 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
3581     break;}
3582 case 110:
3583 { yyval.globset = globSet_single (yyvsp[0].sr); ;
3584     break;}
3585 case 111:
3586 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3587     break;}
3588 case 112:
3589 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3590     break;}
3591 case 113:
3592 { yyval.tquallist = qualList_undefined; ;
3593     break;}
3594 case 114:
3595 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3596     break;}
3597 case 115:
3598 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3599     break;}
3600 case 116:
3601 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3602     break;}
3603 case 117:
3604 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3605     break;}
3606 case 118:
3607 { yyval.typequal = qual_createUndef (); ;
3608     break;}
3609 case 119:
3610 { yyval.typequal = qual_createKilled (); ;
3611     break;}
3612 case 120:
3613 { yyval.typequal = qual_createOut (); ;
3614     break;}
3615 case 121:
3616 { yyval.typequal = qual_createIn (); ;
3617     break;}
3618 case 122:
3619 { yyval.typequal = qual_createPartial (); ;
3620     break;}
3621 case 130:
3622
3623      qtype qint = qtype_create (ctype_int);
3624      yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3625      qtype_free (qint);
3626    ;
3627     break;}
3628 case 131:
3629 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3630     break;}
3631 case 132:
3632 { checkDoneParams (); context_enterInnerContext (); ;
3633     break;}
3634 case 133:
3635 {  
3636      exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr; 
3637      context_exitInner (yyvsp[0].expr); 
3638    ;
3639     break;}
3640 case 134:
3641 { context_enterOldStyleScope (); ;
3642     break;}
3643 case 135:
3644 { oldStyleDoneParams (); context_enterInnerContext (); ;
3645     break;}
3646 case 136:
3647 {
3648      exprNode_checkFunctionBody (yyvsp[0].expr); 
3649      yyval.expr = yyvsp[0].expr; /* oldstyle */ 
3650      context_exitInner (yyvsp[0].expr);
3651    ;
3652     break;}
3653 case 137:
3654
3655      context_setFunctionDefined (exprNode_loc (yyvsp[0].expr)); 
3656      exprNode_checkFunction (context_getHeader (),  yyvsp[0].expr); 
3657      /* DRL 8 8 2000 */
3658      
3659      context_exitFunction ();
3660    ;
3661     break;}
3662 case 138:
3663 { yyval.srset = yyvsp[-1].srset; ;
3664     break;}
3665 case 139:
3666 { yyval.srset = sRefSet_new (); ;
3667     break;}
3668 case 140:
3669 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3670     break;}
3671 case 141:
3672 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3673     break;}
3674 case 142:
3675 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3676     break;}
3677 case 143:
3678 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3679     break;}
3680 case 144:
3681 { yyval.sr = modListPointer (yyvsp[0].sr); ;
3682     break;}
3683 case 145:
3684 { yyval.sr = yyvsp[-1].sr; ;
3685     break;}
3686 case 146:
3687 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3688     break;}
3689 case 147:
3690 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3691     break;}
3692 case 148:
3693 { yyval.sr = yyvsp[0].sr; ;
3694     break;}
3695 case 149:
3696 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3697     break;}
3698 case 150:
3699 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3700     break;}
3701 case 151:
3702 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3703     break;}
3704 case 152:
3705 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
3706     break;}
3707 case 153:
3708 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3709     break;}
3710 case 154:
3711 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3712     break;}
3713 case 155:
3714 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3715     break;}
3716 case 156:
3717 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3718     break;}
3719 case 157:
3720 { yyval.sr = yyvsp[-1].sr; ;
3721     break;}
3722 case 158:
3723 { cstring_markOwned (yyvsp[0].cname);
3724                                             yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3725     break;}
3726 case 159:
3727 { cstring_markOwned (yyvsp[0].cname);
3728                                             yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3729     break;}
3730 case 160:
3731 { yyval.srset = sRefSet_undefined ;
3732     break;}
3733 case 162:
3734 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); } 
3735       else { yyval.srset = sRefSet_undefined; } 
3736     ;
3737     break;}
3738 case 163:
3739 { if (sRef_isValid (yyvsp[0].sr))
3740         {
3741           yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); 
3742         }
3743       else
3744         {
3745           yyval.srset = yyvsp[-2].srset;
3746         }
3747     ;
3748     break;}
3749 case 164:
3750 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3751     break;}
3752 case 165:
3753 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3754     break;}
3755 case 167:
3756 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3757     break;}
3758 case 168:
3759 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
3760     break;}
3761 case 169:
3762 { yyval.expr = exprNode_makeError (); ;
3763     break;}
3764 case 170:
3765 { exprChecks_inCompoundStatementExpression (); ;
3766     break;}
3767 case 171:
3768 { exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;
3769     break;}
3770 case 173:
3771 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3772     break;}
3773 case 174:
3774 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3775     break;}
3776 case 175:
3777 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
3778     break;}
3779 case 176:
3780 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3781     break;}
3782 case 177:
3783 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
3784     break;}
3785 case 178:
3786 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
3787     break;}
3788 case 179:
3789 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3790     break;}
3791 case 180:
3792 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3793     break;}
3794 case 181:
3795 { /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;
3796     break;}
3797 case 182:
3798 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
3799     break;}
3800 case 183:
3801 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
3802     break;}
3803 case 185:
3804 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3805     break;}
3806 case 186:
3807 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3808     break;}
3809 case 187:
3810 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3811     break;}
3812 case 188:
3813 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3814     break;}
3815 case 189:
3816 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3817     break;}
3818 case 190:
3819 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3820     break;}
3821 case 191:
3822 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3823     break;}
3824 case 192:
3825 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3826     break;}
3827 case 193:
3828 { yyval.expr = yyvsp[0].expr; ;
3829     break;}
3830 case 194:
3831 { yyval.expr = yyvsp[0].expr; ;
3832     break;}
3833 case 195:
3834 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
3835     break;}
3836 case 196:
3837 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
3838     break;}
3839 case 197:
3840 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
3841     break;}
3842 case 198:
3843 { context_setProtectVars (); ;
3844     break;}
3845 case 199:
3846 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3847     break;}
3848 case 200:
3849 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3850     break;}
3851 case 201:
3852 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3853     break;}
3854 case 202:
3855 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3856     break;}
3857 case 203:
3858 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
3859     break;}
3860 case 205:
3861 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3862     break;}
3863 case 207:
3864 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3865     break;}
3866 case 208:
3867 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3868     break;}
3869 case 209:
3870 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3871     break;}
3872 case 211:
3873 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3874     break;}
3875 case 212:
3876 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3877     break;}
3878 case 214:
3879 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3880     break;}
3881 case 215:
3882 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3883     break;}
3884 case 217:
3885 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3886     break;}
3887 case 218:
3888 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3889     break;}
3890 case 219:
3891 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3892     break;}
3893 case 220:
3894 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3895     break;}
3896 case 222:
3897 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3898     break;}
3899 case 223:
3900 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3901     break;}
3902 case 225:
3903 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3904     break;}
3905 case 227:
3906 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3907     break;}
3908 case 229:
3909 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3910     break;}
3911 case 231:
3912 { exprNode_produceGuards (yyvsp[-1].expr); 
3913      context_enterAndClause (yyvsp[-1].expr); 
3914    ;
3915     break;}
3916 case 232:
3917
3918      yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); 
3919      context_exitAndClause (yyval.expr, yyvsp[0].expr);
3920    ;
3921     break;}
3922 case 234:
3923
3924      exprNode_produceGuards (yyvsp[-1].expr);
3925      context_enterOrClause (yyvsp[-1].expr); 
3926    ;
3927     break;}
3928 case 235:
3929
3930      yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); 
3931      context_exitOrClause (yyval.expr, yyvsp[0].expr);
3932    ;
3933     break;}
3934 case 237:
3935 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3936     break;}
3937 case 238:
3938 { context_enterFalseClause (yyvsp[-4].expr); ;
3939     break;}
3940 case 239:
3941 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
3942     break;}
3943 case 241:
3944 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3945     break;}
3946 case 242:
3947 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3948     break;}
3949 case 243:
3950 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3951     break;}
3952 case 244:
3953 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3954     break;}
3955 case 245:
3956 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3957     break;}
3958 case 246:
3959 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3960     break;}
3961 case 247:
3962 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3963     break;}
3964 case 248:
3965 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3966     break;}
3967 case 249:
3968 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3969     break;}
3970 case 250:
3971 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3972     break;}
3973 case 251:
3974 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3975     break;}
3976 case 253:
3977 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
3978     break;}
3979 case 254:
3980 { yyval.expr = exprNode_undefined; ;
3981     break;}
3982 case 257:
3983 { yyval.expr = yyvsp[0].expr; ;
3984     break;}
3985 case 258:
3986 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
3987     break;}
3988 case 259:
3989 { yyval.expr = exprNode_makeError (); ;
3990     break;}
3991 case 260:
3992 { yyval.expr = exprNode_makeError (); ;
3993     break;}
3994 case 261:
3995 {
3996      setProcessingVars (yyvsp[-3].qtyp); 
3997      processNamedDecl (yyvsp[-1].ntyp); 
3998    ;
3999     break;}
4000 case 262:
4001
4002      unsetProcessingVars (); 
4003      yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp); 
4004      DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4005    ;
4006     break;}
4007 case 263:
4008 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
4009     break;}
4010 case 264:
4011 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr)); 
4012      unsetProcessingVars ();
4013    ;
4014     break;}
4015 case 265:
4016
4017      processNamedDecl (yyvsp[-1].ntyp); 
4018      yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4019    ;
4020     break;}
4021 case 266:
4022 { processNamedDecl (yyvsp[-2].ntyp); ;
4023     break;}
4024 case 267:
4025 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4026     break;}
4027 case 268:
4028 { setProcessingTypedef (yyvsp[0].qtyp); ;
4029     break;}
4030 case 269:
4031 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4032     break;}
4033 case 270:
4034 { /* in the ANSI grammar, semantics unclear */ ;
4035     break;}
4036 case 271:
4037 { /* in the ANSI grammar, semantics unclear */ ;
4038     break;}
4039 case 272:
4040 { g_expectingTypeName = TRUE; ;
4041     break;}
4042 case 273:
4043 { g_expectingTypeName = TRUE; context_pushLoc (); ;
4044     break;}
4045 case 274:
4046 { yyval.exprlist = yyvsp[-1].exprlist; ;
4047     break;}
4048 case 275:
4049 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4050     break;}
4051 case 276:
4052 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4053     break;}
4054 case 277:
4055 { yyval.expr = exprNode_makeError (); ;
4056     break;}
4057 case 278:
4058 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4059     break;}
4060 case 280:
4061 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); ;
4062     break;}
4063 case 281:
4064 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); ;
4065     break;}
4066 case 282:
4067 { yyval.expr = exprNode_undefined; ;
4068     break;}
4069 case 283:
4070 { yyval.expr = yyvsp[-1].expr; ;
4071     break;}
4072 case 284:
4073 { yyval.expr = exprNode_undefined; 
4074                                      /* gcc extension, obsolete since 2.5 */ ;
4075     break;}
4076 case 285:
4077 { yyval.expr = exprNode_undefined; ;
4078     break;}
4079 case 286:
4080 { yyval.expr = exprNode_undefined; ;
4081     break;}
4082 case 287:
4083 { yyval.expr = exprNode_undefined; ;
4084     break;}
4085 case 288:
4086 { yyval.expr = exprNode_undefined; ;
4087     break;}
4088 case 289:
4089 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4090     break;}
4091 case 290:
4092 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4093     break;}
4094 case 291:
4095 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4096     break;}
4097 case 292:
4098 { yyval.typequal = qual_createInline (); ;
4099     break;}
4100 case 293:
4101 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4102     break;}
4103 case 294:
4104 { yyval.typequal = qual_createAuto (); ;
4105     break;}
4106 case 295:
4107 { yyval.typequal = qual_createRegister (); ;
4108     break;}
4109 case 296:
4110 { yyval.stateclause = yyvsp[-1].stateclause; ;
4111     break;}
4112 case 297:
4113 {
4114      context_setProtectVars (); 
4115      enterParamsTemp (); 
4116      sRef_setGlobalScopeSafe (); 
4117    ;
4118     break;}
4119 case 298:
4120
4121      exitParamsTemp ();
4122      sRef_clearGlobalScopeSafe (); 
4123      context_releaseVars ();
4124      yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4125    ;
4126     break;}
4127 case 299:
4128 { yyval.funcclause = yyvsp[-1].funcclause; ;
4129     break;}
4130 case 300:
4131 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
4132     break;}
4133 case 301:
4134 {
4135      context_exitFunctionHeader ();
4136      context_setProtectVars (); 
4137      enterParamsTemp (); 
4138      sRef_setGlobalScopeSafe (); 
4139    ;
4140     break;}
4141 case 302:
4142
4143      exitParamsTemp ();
4144      sRef_clearGlobalScopeSafe (); 
4145      context_releaseVars ();
4146      yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4147    ;
4148     break;}
4149 case 303:
4150 {
4151      context_setProtectVars (); 
4152      enterParamsTemp (); 
4153      sRef_setGlobalScopeSafe (); 
4154    ;
4155     break;}
4156 case 304:
4157 {
4158      context_exitFunctionHeader ();
4159      exitParamsTemp ();
4160      sRef_clearGlobalScopeSafe (); 
4161      context_releaseVars ();
4162      DPRINTF (("done optGlobBufConstraintsAux\n"));
4163
4164      if (lltok_isEnsures (yyvsp[-4].tok)) 
4165        {
4166          yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4167        }
4168      else if (lltok_isRequires (yyvsp[-4].tok))
4169        {
4170          yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4171        }
4172      else
4173        {
4174          BADBRANCH;
4175        }
4176
4177      DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4178    ;
4179     break;}
4180 case 305:
4181 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
4182     break;}
4183 case 306:
4184 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
4185     break;}
4186 case 307:
4187 { yyval.typequal = qual_createExits (); ;
4188     break;}
4189 case 308:
4190 { yyval.typequal = qual_createMayExit (); ;
4191     break;}
4192 case 309:
4193 { yyval.typequal = qual_createTrueExit (); ;
4194     break;}
4195 case 310:
4196 { yyval.typequal = qual_createFalseExit (); ;
4197     break;}
4198 case 311:
4199 { yyval.typequal = qual_createNeverExit (); ;
4200     break;}
4201 case 312:
4202 { yyval.typequal = qual_createChecked (); ;
4203     break;}
4204 case 313:
4205 { yyval.typequal = qual_createCheckMod (); ;
4206     break;}
4207 case 314:
4208 { yyval.typequal = qual_createUnchecked (); ;
4209     break;}
4210 case 315:
4211 { yyval.typequal = qual_createCheckedStrict (); ;
4212     break;}
4213 case 316:
4214 { yyval.typequal = qual_createOwned (); ;
4215     break;}
4216 case 317:
4217 { yyval.typequal = qual_createDependent (); ;
4218     break;}
4219 case 318:
4220 { yyval.typequal = qual_createYield (); ;
4221     break;}
4222 case 319:
4223 { yyval.typequal = qual_createTemp (); ;
4224     break;}
4225 case 320:
4226 { yyval.typequal = qual_createOnly (); ;
4227     break;}
4228 case 321:
4229 { yyval.typequal = qual_createKeep (); ;
4230     break;}
4231 case 322:
4232 { yyval.typequal = qual_createKept (); ;
4233     break;}
4234 case 323:
4235 { yyval.typequal = qual_createShared (); ;
4236     break;}
4237 case 324:
4238 { yyval.typequal = qual_createUnique (); ;
4239     break;}
4240 case 325:
4241 { yyval.typequal = qual_createNull (); ;
4242     break;}
4243 case 326:
4244 { yyval.typequal = qual_createIsNull (); ;
4245     break;}
4246 case 327:
4247 { yyval.typequal = qual_createRelNull (); ;
4248     break;}
4249 case 328:
4250 { yyval.typequal = qual_createNotNull (); ;
4251     break;}
4252 case 329:
4253 { yyval.typequal = qual_createExposed (); ;
4254     break;}
4255 case 330:
4256 { yyval.typequal = qual_createObserver (); ;
4257     break;}
4258 case 331:
4259 { yyval.typequal = qual_createNullTerminated (); ;
4260     break;}
4261 case 332:
4262 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
4263     break;}
4264 case 333:
4265 { yyval.typequal = qual_createReturned (); ;
4266     break;}
4267 case 334:
4268 { yyval.typequal = qual_createSef (); ;
4269     break;}
4270 case 335:
4271 { yyval.typequal = qual_createUnused (); ;
4272     break;}
4273 case 336:
4274 { yyval.typequal = qual_createExternal (); ;
4275     break;}
4276 case 337:
4277 { yyval.typequal = qual_createTrueNull (); ;
4278     break;}
4279 case 338:
4280 { yyval.typequal = qual_createFalseNull (); ;
4281     break;}
4282 case 339:
4283 { yyval.typequal = qual_createAbstract (); ;
4284     break;}
4285 case 340:
4286 { yyval.typequal = qual_createConcrete (); ;
4287     break;}
4288 case 341:
4289 { yyval.typequal = qual_createMutable (); ;
4290     break;}
4291 case 342:
4292 { yyval.typequal = qual_createImmutable (); ;
4293     break;}
4294 case 343:
4295 { yyval.typequal = qual_createRefCounted (); ;
4296     break;}
4297 case 344:
4298 { yyval.typequal = qual_createRefs (); ;
4299     break;}
4300 case 345:
4301 { yyval.typequal = qual_createKillRef (); ;
4302     break;}
4303 case 346:
4304 { yyval.typequal = qual_createRelDef (); ;
4305     break;}
4306 case 347:
4307 { yyval.typequal = qual_createNewRef (); ;
4308     break;}
4309 case 348:
4310 { yyval.typequal = qual_createTempRef (); ;
4311     break;}
4312 case 349:
4313 { yyval.typequal = qual_createShort (); ;
4314     break;}
4315 case 350:
4316 { yyval.typequal = qual_createLong (); ;
4317     break;}
4318 case 351:
4319 { yyval.typequal = qual_createSigned (); ;
4320     break;}
4321 case 352:
4322 { yyval.typequal = qual_createUnsigned (); ;
4323     break;}
4324 case 353:
4325 { yyval.typequal = qual_createOut (); ;
4326     break;}
4327 case 354:
4328 { yyval.typequal = qual_createIn (); ;
4329     break;}
4330 case 355:
4331 { yyval.typequal = qual_createPartial (); ;
4332     break;}
4333 case 356:
4334 { yyval.typequal = qual_createSpecial (); ;
4335     break;}
4336 case 357:
4337 { yyval.typequal = qual_createConst (); ;
4338     break;}
4339 case 358:
4340 { yyval.typequal = qual_createVolatile (); ;
4341     break;}
4342 case 359:
4343 { yyval.typequal = yyvsp[-1].typequal; ;
4344     break;}
4345 case 360:
4346 { yyval.typequal = yyvsp[-1].typequal; ;
4347     break;}
4348 case 361:
4349 { yyval.typequal = yyvsp[-1].typequal; ;
4350     break;}
4351 case 362:
4352 { yyval.typequal = yyvsp[-1].typequal; ;
4353     break;}
4354 case 363:
4355 { yyval.typequal = yyvsp[-1].typequal; ;
4356     break;}
4357 case 364:
4358 { yyval.typequal = yyvsp[-1].typequal; ;
4359     break;}
4360 case 365:
4361 { yyval.typequal = yyvsp[-1].typequal; ;
4362     break;}
4363 case 366:
4364 { yyval.typequal = yyvsp[-1].typequal; ;
4365     break;}
4366 case 367:
4367 { yyval.typequal = yyvsp[-1].typequal; ;
4368     break;}
4369 case 374:
4370 { yyval.ctyp = ctype_anytype; ;
4371     break;}
4372 case 375:
4373 { yyval.ctyp = ctype_anyintegral; ;
4374     break;}
4375 case 376:
4376 { yyval.ctyp = ctype_unsignedintegral; ;
4377     break;}
4378 case 377:
4379 { yyval.ctyp = ctype_signedintegral; ;
4380     break;}
4381 case 381:
4382 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4383     break;}
4384 case 382:
4385 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4386     break;}
4387 case 383:
4388 { yyval.qtyp = yyvsp[0].qtyp; ;
4389     break;}
4390 case 384:
4391 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4392     break;}
4393 case 386:
4394 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4395     break;}
4396 case 387:
4397 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4398     break;}
4399 case 388:
4400 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4401     break;}
4402 case 389:
4403 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4404     break;}
4405 case 390:
4406 { yyval.qtyp = qtype_unknown (); ;
4407     break;}
4408 case 391:
4409 { yyval.qtyp = yyvsp[0].qtyp; ;
4410     break;}
4411 case 392:
4412 { yyval.conL = constraintList_undefined; ;
4413     break;}
4414 case 393:
4415 { sRef_setGlobalScopeSafe (); ;
4416     break;}
4417 case 394:
4418 { sRef_clearGlobalScopeSafe (); ;
4419     break;}
4420 case 395:
4421 { ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); /* setGlobalStructInfo(ct, $12);*/ yyval.ctyp = ct; ;
4422     break;}
4423 case 396:
4424 { sRef_setGlobalScopeSafe (); ;
4425     break;}
4426 case 397:
4427 { sRef_clearGlobalScopeSafe (); ;
4428     break;}
4429 case 398:
4430 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4431     break;}
4432 case 399:
4433 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4434     break;}
4435 case 400:
4436 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4437     break;}
4438 case 401:
4439 { sRef_setGlobalScopeSafe (); ;
4440     break;}
4441 case 402:
4442 { sRef_clearGlobalScopeSafe (); ;
4443     break;}
4444 case 403:
4445 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4446     break;}
4447 case 404:
4448 { sRef_setGlobalScopeSafe (); ;
4449     break;}
4450 case 405:
4451 { sRef_clearGlobalScopeSafe (); ;
4452     break;}
4453 case 406:
4454 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4455     break;}
4456 case 407:
4457 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4458     break;}
4459 case 408:
4460 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4461     break;}
4462 case 409:
4463 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4464     break;}
4465 case 410:
4466 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4467     break;}
4468 case 411:
4469 { g_expectingTypeName = FALSE; ;
4470     break;}
4471 case 413:
4472 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4473     break;}
4474 case 414:
4475 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4476     break;}
4477 case 415:
4478 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4479     break;}
4480 case 416:
4481 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4482     break;}
4483 case 417:
4484 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4485     break;}
4486 case 418:
4487 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4488     break;}
4489 case 419:
4490 { yyval.ntyp = yyvsp[0].ntyp; ;
4491     break;}
4492 case 420:
4493 { yyval.ntyp = idDecl_undefined; ;
4494     break;}
4495 case 421:
4496 { yyval.ntyp = yyvsp[-3].ntyp; ;
4497     break;}
4498 case 422:
4499 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4500     break;}
4501 case 423:
4502 { context_pushLoc (); ;
4503     break;}
4504 case 424:
4505 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4506     break;}
4507 case 425:
4508 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4509     break;}
4510 case 426:
4511 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4512     break;}
4513 case 427:
4514 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4515     break;}
4516 case 429:
4517 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4518      usymtab_supGlobalEntry (ue);
4519      yyval.cname = yyvsp[0].cname;
4520    ;
4521     break;}
4522 case 430:
4523 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4524      usymtab_supGlobalEntry (ue);
4525      yyval.cname = yyvsp[-3].cname; 
4526    ;
4527     break;}
4528 case 432:
4529 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4530     break;}
4531 case 433:
4532
4533      qtype qt = qtype_unknown ();
4534
4535      qtype_adjustPointers (yyvsp[-1].count, qt);
4536      yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4537    ;
4538     break;}
4539 case 434:
4540 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4541     break;}
4542 case 436:
4543 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4544     break;}
4545 case 437:
4546 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4547     break;}
4548 case 438:
4549 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4550     break;}
4551 case 439:
4552 { /* ignored for now */; ;
4553     break;}
4554 case 440:
4555 { ; ;
4556     break;}
4557 case 441:
4558 { ; ;
4559     break;}
4560 case 442:
4561 { ; ;
4562     break;}
4563 case 443:
4564 { yyval.count = 1; ;
4565     break;}
4566 case 444:
4567 { yyval.count = 1; ;
4568     break;}
4569 case 445:
4570 { yyval.count = 1 + yyvsp[0].count; ;
4571     break;}
4572 case 446:
4573 { yyval.count = 1 + yyvsp[0].count; ;
4574     break;}
4575 case 448:
4576 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4577     break;}
4578 case 449:
4579 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4580     break;}
4581 case 450:
4582 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4583     break;}
4584 case 451:
4585 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4586     break;}
4587 case 453:
4588 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4589     break;}
4590 case 454:
4591 { storeLoc (); ;
4592     break;}
4593 case 455:
4594 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4595     break;}
4596 case 456:
4597 { storeLoc (); ;
4598     break;}
4599 case 457:
4600 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4601     break;}
4602 case 458:
4603
4604      if (isFlipOldStyle ()) 
4605        { 
4606          llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)")); 
4607        }
4608      else 
4609        { 
4610          setNewStyle (); 
4611        }
4612      yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp)); 
4613    ;
4614     break;}
4615 case 459:
4616
4617      idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4618
4619      if (isNewStyle ()) 
4620        {
4621          llparseerror (message ("Inconsistent function parameter syntax: %q",
4622                                 idDecl_unparse (tparam))); 
4623        }
4624
4625      setFlipOldStyle ();
4626      yyval.oentry = makeCurrentParam (tparam);
4627      idDecl_free (tparam);
4628    ;
4629     break;}
4630 case 461:
4631 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4632     break;}
4633 case 462:
4634 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4635     break;}
4636 case 464:
4637 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4638     break;}
4639 case 465:
4640 { yyval.ctyp = ctype_unknown; ;
4641     break;}
4642 case 467:
4643 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4644     break;}
4645 case 468:
4646 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4647     break;}
4648 case 469:
4649 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
4650     break;}
4651 case 470:
4652 { yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;
4653     break;}
4654 case 471:
4655 { yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
4656     break;}
4657 case 472:
4658 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4659     break;}
4660 case 473:
4661 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4662     break;}
4663 case 474:
4664 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4665     break;}
4666 case 475:
4667 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4668     break;}
4669 case 485:
4670 { yyval.expr = yyvsp[0].expr; ;
4671     break;}
4672 case 488:
4673 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4674     break;}
4675 case 489:
4676 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4677     break;}
4678 case 490:
4679 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4680     break;}
4681 case 491:
4682 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4683     break;}
4684 case 492:
4685 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4686     break;}
4687 case 493:
4688 { context_setProtectVars (); ;
4689     break;}
4690 case 494:
4691 { context_sizeofReleaseVars (); ;
4692     break;}
4693 case 495:
4694 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr); 
4695      context_enterForClause (yyvsp[-5].expr); ;
4696     break;}
4697 case 496:
4698 { setProcessingIterVars (yyvsp[-2].entry); ;
4699     break;}
4700 case 497:
4701 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
4702     break;}
4703 case 498:
4704 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4705     break;}
4706 case 502:
4707 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
4708     break;}
4709 case 510:
4710 { yyval.expr = yyvsp[-1].expr; ;
4711     break;}
4712 case 511:
4713 { yyval.expr = exprNode_makeError (); ;
4714     break;}
4715 case 512:
4716 { exprNode_checkIfPred (yyvsp[0].expr); ;
4717     break;}
4718 case 513:
4719 { /* don't: context_exitTrueClause ($1, $2); */
4720      yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr); 
4721    ;
4722     break;}
4723 case 514:
4724 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4725     break;}
4726 case 515:
4727 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4728     break;}
4729 case 526:
4730 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4731     break;}
4732 case 528:
4733 { yyval.expr = exprNode_makeError (); ;
4734     break;}
4735 case 529:
4736 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
4737     break;}
4738 case 530:
4739 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
4740     break;}
4741 case 531:
4742 { ; ;
4743     break;}
4744 case 532:
4745 { ; ;
4746     break;}
4747 case 533:
4748 { context_enterCaseClause (yyvsp[0].expr); ;
4749     break;}
4750 case 534:
4751 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
4752     break;}
4753 case 535:
4754 { context_enterCaseClause (yyvsp[0].expr); ;
4755     break;}
4756 case 536:
4757 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
4758     break;}
4759 case 537:
4760 { context_enterCaseClause (exprNode_undefined); ;
4761     break;}
4762 case 538:
4763 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
4764     break;}
4765 case 539:
4766 { context_enterCaseClause (exprNode_undefined); ;
4767     break;}
4768 case 540:
4769 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
4770     break;}
4771 case 541:
4772 { yyval.expr = yyvsp[-1].expr; ;
4773     break;}
4774 case 542:
4775 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
4776     break;}
4777 case 543:
4778 { yyval.expr = yyvsp[-1].expr; ;
4779     break;}
4780 case 544:
4781 { context_enterInnerContext (); ;
4782     break;}
4783 case 545:
4784 { context_exitInnerPlain (); ;
4785     break;}
4786 case 546:
4787 { context_enterStructInnerContext (); ;
4788     break;}
4789 case 547:
4790 { context_exitStructInnerContext (); ;
4791     break;}
4792 case 548:
4793 { context_exitInnerSafe (); ;
4794     break;}
4795 case 549:
4796 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4797     break;}
4798 case 550:
4799 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
4800     break;}
4801 case 551:
4802 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4803     break;}
4804 case 552:
4805 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4806     break;}
4807 case 553:
4808 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4809     break;}
4810 case 554:
4811 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4812     break;}
4813 case 555:
4814 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4815     break;}
4816 case 556:
4817 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr), 
4818                                                         lltok_getLoc (yyvsp[-1].tok))); 
4819    ;
4820     break;}
4821 case 557:
4822 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
4823     break;}
4824 case 558:
4825 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4826     break;}
4827 case 559:
4828 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4829     break;}
4830 case 560:
4831 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4832     break;}
4833 case 561:
4834 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4835     break;}
4836 case 563:
4837 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4838     break;}
4839 case 564:
4840 { yyval.expr = yyvsp[0].expr; ;
4841     break;}
4842 case 565:
4843 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4844     break;}
4845 case 566:
4846 { yyval.expr = yyvsp[0].expr; ;
4847     break;}
4848 case 567:
4849 { yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;
4850     break;}
4851 case 568:
4852 { yyval.expr = yyvsp[0].expr; ;
4853     break;}
4854 case 569:
4855 { yyval.expr = yyvsp[-2].expr; ;
4856     break;}
4857 case 570:
4858 { yyval.expr = yyvsp[0].expr; ;
4859     break;}
4860 case 571:
4861 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4862     break;}
4863 case 572:
4864 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4865     break;}
4866 case 573:
4867 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4868     break;}
4869 case 574:
4870 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4871     break;}
4872 case 575:
4873 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4874     break;}
4875 case 576:
4876 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
4877     break;}
4878 case 577:
4879
4880      exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); 
4881      exprNode_checkIfPred (yyvsp[-1].expr);
4882      yyval.expr = yyvsp[-1].expr;
4883    ;
4884     break;}
4885 case 578:
4886
4887      context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
4888      yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr); 
4889    ;
4890     break;}
4891 case 579:
4892 { context_enterFalseClause (yyvsp[-2].expr); ;
4893     break;}
4894 case 580:
4895 {
4896      context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4897      yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr); 
4898    ;
4899     break;}
4900 case 581:
4901 { context_enterSwitch (yyvsp[0].expr); ;
4902     break;}
4903 case 582:
4904 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
4905     break;}
4906 case 583:
4907 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
4908     break;}
4909 case 584:
4910 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
4911     break;}
4912 case 585:
4913 { context_enterIterClause (); ;
4914     break;}
4915 case 586:
4916 { setProcessingIterVars (yyvsp[-3].entry); ;
4917     break;}
4918 case 587:
4919
4920      yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry); 
4921
4922    ;
4923     break;}
4924 case 588:
4925 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4926     break;}
4927 case 589:
4928 { nextIterParam (); ;
4929     break;}
4930 case 590:
4931 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4932     break;}
4933 case 591:
4934 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
4935     break;}
4936 case 592:
4937 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
4938     break;}
4939 case 593:
4940 { uentry ue = coerceIterId (yyvsp[0].cname);
4941
4942                       if (uentry_isValid (ue)) 
4943                         {
4944                           yyval.expr = exprNode_iterId (ue);
4945                         }
4946                       else
4947                         {
4948                           yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
4949                         }
4950                     ;
4951     break;}
4952 case 594:
4953 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
4954     break;}
4955 case 596:
4956 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
4957     break;}
4958 case 598:
4959 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4960     break;}
4961 case 600:
4962 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4963     break;}
4964 case 601:
4965 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4966     break;}
4967 case 602:
4968 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
4969     break;}
4970 case 603:
4971 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4972     break;}
4973 case 604:
4974 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4975     break;}
4976 case 605:
4977 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4978     break;}
4979 case 606:
4980 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4981     break;}
4982 case 607:
4983 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4984     break;}
4985 case 609:
4986 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4987     break;}
4988 case 610:
4989 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4990     break;}
4991 case 611:
4992 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4993     break;}
4994 case 612:
4995 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4996     break;}
4997 case 613:
4998 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4999     break;}
5000 case 614:
5001 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5002     break;}
5003 case 615:
5004 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5005     break;}
5006 case 616:
5007 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5008     break;}
5009 case 617:
5010 { yyval.expr = yyvsp[0].expr; ;
5011     break;}
5012 case 619:
5013 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5014     break;}
5015 case 621:
5016 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5017     break;}
5018 case 622:
5019 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5020     break;}
5021 case 623:
5022 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5023     break;}
5024 case 625:
5025 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5026     break;}
5027 case 626:
5028 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5029     break;}
5030 case 628:
5031 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5032     break;}
5033 case 629:
5034 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5035     break;}
5036 case 631:
5037 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5038     break;}
5039 case 632:
5040 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5041     break;}
5042 case 633:
5043 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5044     break;}
5045 case 634:
5046 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5047     break;}
5048 case 636:
5049 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5050     break;}
5051 case 637:
5052 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5053     break;}
5054 case 639:
5055 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5056     break;}
5057 case 641:
5058 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5059     break;}
5060 case 643:
5061 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5062     break;}
5063 case 645:
5064 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5065     break;}
5066 case 647:
5067 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5068     break;}
5069 case 649:
5070 { context_enterTrueClause (yyvsp[-1].expr); ;
5071     break;}
5072 case 650:
5073 { context_enterFalseClause (yyvsp[-4].expr); ;
5074     break;}
5075 case 651:
5076 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5077     break;}
5078 case 653:
5079 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5080     break;}
5081 case 654:
5082 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5083     break;}
5084 case 655:
5085 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5086     break;}
5087 case 656:
5088 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5089     break;}
5090 case 657:
5091 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5092     break;}
5093 case 658:
5094 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5095     break;}
5096 case 659:
5097 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5098     break;}
5099 case 660:
5100 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5101     break;}
5102 case 661:
5103 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5104     break;}
5105 case 662:
5106 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5107     break;}
5108 case 663:
5109 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5110     break;}
5111 case 664:
5112 { yyval.entry = yyvsp[0].entry; ;
5113     break;}
5114 case 665:
5115 { yyval.entry = uentry_undefined; ;
5116     break;}
5117 case 666:
5118 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5119     break;}
5120 case 667:
5121 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5122     break;}
5123 case 668:
5124 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5125     break;}
5126 case 669:
5127 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5128     break;}
5129 case 670:
5130 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5131     break;}
5132 case 671:
5133 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5134     break;}
5135 case 672:
5136 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5137     break;}
5138 case 673:
5139 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5140     break;}
5141 case 674:
5142 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5143     break;}
5144 case 675:
5145 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5146     break;}
5147 case 676:
5148 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5149     break;}
5150 case 677:
5151 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5152     break;}
5153 case 678:
5154 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5155     break;}
5156 case 679:
5157 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5158     break;}
5159 case 680:
5160 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5161     break;}
5162 case 681:
5163 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5164     break;}
5165 case 682:
5166 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5167     break;}
5168 case 683:
5169 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5170     break;}
5171 case 685:
5172 { ; ;
5173     break;}
5174 case 687:
5175 { ; ;
5176     break;}
5177 case 690:
5178 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5179     break;}
5180 case 691:
5181 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5182     break;}
5183 case 692:
5184 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5185     break;}
5186 case 693:
5187 { yyval.cname = yyvsp[0].cname; ;
5188     break;}
5189 case 695:
5190 { yyval.ctyp = ctype_unknown; ;
5191     break;}
5192 case 696:
5193 { yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;
5194     break;}
5195 case 697:
5196 { yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;
5197     break;}
5198 }
5199    /* the action file gets copied in in place of this dollarsign */
5200
5201 \f
5202   yyvsp -= yylen;
5203   yyssp -= yylen;
5204 #ifdef YYLSP_NEEDED
5205   yylsp -= yylen;
5206 #endif
5207
5208 #if YYDEBUG != 0
5209   if (yydebug)
5210     {
5211       short *ssp1 = yyss - 1;
5212       fprintf (stderr, "state stack now");
5213       while (ssp1 != yyssp)
5214         fprintf (stderr, " %d", *++ssp1);
5215       fprintf (stderr, "\n");
5216     }
5217 #endif
5218
5219   *++yyvsp = yyval;
5220
5221 #ifdef YYLSP_NEEDED
5222   yylsp++;
5223   if (yylen == 0)
5224     {
5225       yylsp->first_line = yylloc.first_line;
5226       yylsp->first_column = yylloc.first_column;
5227       yylsp->last_line = (yylsp-1)->last_line;
5228       yylsp->last_column = (yylsp-1)->last_column;
5229       yylsp->text = 0;
5230     }
5231   else
5232     {
5233       yylsp->last_line = (yylsp+yylen-1)->last_line;
5234       yylsp->last_column = (yylsp+yylen-1)->last_column;
5235     }
5236 #endif
5237
5238   /* Now "shift" the result of the reduction.
5239      Determine what state that goes to,
5240      based on the state we popped back to
5241      and the rule number reduced by.  */
5242
5243   yyn = yyr1[yyn];
5244
5245   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5246   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5247     yystate = yytable[yystate];
5248   else
5249     yystate = yydefgoto[yyn - YYNTBASE];
5250
5251   goto yynewstate;
5252
5253 yyerrlab:   /* here on detecting error */
5254
5255   if (! yyerrstatus)
5256     /* If not already recovering from an error, report this error.  */
5257     {
5258       ++yynerrs;
5259
5260 #ifdef YYERROR_VERBOSE
5261       yyn = yypact[yystate];
5262
5263       if (yyn > YYFLAG && yyn < YYLAST)
5264         {
5265           int size = 0;
5266           char *msg;
5267           int x, count;
5268
5269           count = 0;
5270           /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
5271           for (x = (yyn < 0 ? -yyn : 0);
5272                x < (sizeof(yytname) / sizeof(char *)); x++)
5273             if (yycheck[x + yyn] == x)
5274               size += strlen(yytname[x]) + 15, count++;
5275           msg = (char *) malloc(size + 15);
5276           if (msg != 0)
5277             {
5278               strcpy(msg, "parse error");
5279
5280               if (count < 5)
5281                 {
5282                   count = 0;
5283                   for (x = (yyn < 0 ? -yyn : 0);
5284                        x < (sizeof(yytname) / sizeof(char *)); x++)
5285                     if (yycheck[x + yyn] == x)
5286                       {
5287                         strcat(msg, count == 0 ? ", expecting `" : " or `");
5288                         strcat(msg, yytname[x]);
5289                         strcat(msg, "'");
5290                         count++;
5291                       }
5292                 }
5293               yyerror(msg);
5294               free(msg);
5295             }
5296           else
5297             yyerror ("parse error; also virtual memory exceeded");
5298         }
5299       else
5300 #endif /* YYERROR_VERBOSE */
5301         yyerror("parse error");
5302     }
5303
5304   goto yyerrlab1;
5305 yyerrlab1:   /* here on error raised explicitly by an action */
5306
5307   if (yyerrstatus == 3)
5308     {
5309       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
5310
5311       /* return failure if at end of input */
5312       if (yychar == YYEOF)
5313         YYABORT;
5314
5315 #if YYDEBUG != 0
5316       if (yydebug)
5317         fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5318 #endif
5319
5320       yychar = YYEMPTY;
5321     }
5322
5323   /* Else will try to reuse lookahead token
5324      after shifting the error token.  */
5325
5326   yyerrstatus = 3;              /* Each real token shifted decrements this */
5327
5328   goto yyerrhandle;
5329
5330 yyerrdefault:  /* current state does not do anything special for the error token. */
5331
5332 #if 0
5333   /* This is wrong; only states that explicitly want error tokens
5334      should shift them.  */
5335   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
5336   if (yyn) goto yydefault;
5337 #endif
5338
5339 yyerrpop:   /* pop the current state because it cannot handle the error token */
5340
5341   if (yyssp == yyss) YYABORT;
5342   yyvsp--;
5343   yystate = *--yyssp;
5344 #ifdef YYLSP_NEEDED
5345   yylsp--;
5346 #endif
5347
5348 #if YYDEBUG != 0
5349   if (yydebug)
5350     {
5351       short *ssp1 = yyss - 1;
5352       fprintf (stderr, "Error: state stack now");
5353       while (ssp1 != yyssp)
5354         fprintf (stderr, " %d", *++ssp1);
5355       fprintf (stderr, "\n");
5356     }
5357 #endif
5358
5359 yyerrhandle:
5360
5361   yyn = yypact[yystate];
5362   if (yyn == YYFLAG)
5363     goto yyerrdefault;
5364
5365   yyn += YYTERROR;
5366   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5367     goto yyerrdefault;
5368
5369   yyn = yytable[yyn];
5370   if (yyn < 0)
5371     {
5372       if (yyn == YYFLAG)
5373         goto yyerrpop;
5374       yyn = -yyn;
5375       goto yyreduce;
5376     }
5377   else if (yyn == 0)
5378     goto yyerrpop;
5379
5380   if (yyn == YYFINAL)
5381     YYACCEPT;
5382
5383 #if YYDEBUG != 0
5384   if (yydebug)
5385     fprintf(stderr, "Shifting error token, ");
5386 #endif
5387
5388   *++yyvsp = yylval;
5389 #ifdef YYLSP_NEEDED
5390   *++yylsp = yylloc;
5391 #endif
5392
5393   yystate = yyn;
5394   goto yynewstate;
5395
5396  yyacceptlab:
5397   /* YYACCEPT comes here.  */
5398   if (yyfree_stacks)
5399     {
5400       free (yyss);
5401       free (yyvs);
5402 #ifdef YYLSP_NEEDED
5403       free (yyls);
5404 #endif
5405     }
5406   return 0;
5407
5408  yyabortlab:
5409   /* YYABORT comes here.  */
5410   if (yyfree_stacks)
5411     {
5412       free (yyss);
5413       free (yyvs);
5414 #ifdef YYLSP_NEEDED
5415       free (yyls);
5416 #endif
5417     }
5418   return 1;
5419 }
5420
5421
5422 /*@-redecl@*/ /*@-namechecks@*/
5423 extern char *yytext;
5424 /*@=redecl@*/ /*@=namechecks@*/
5425
5426 # include "bison.reset"
5427
5428 void yyerror (/*@unused@*/ char *s) 
5429 {
5430   static bool givehint = FALSE;
5431
5432   if (context_inIterDef ())
5433     {
5434       llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s", 
5435                                     context_inFunctionName ()));
5436     }
5437   else if (context_inIterEnd ())
5438     {
5439       llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s", 
5440                                     context_inFunctionName ()));
5441     }
5442   else if (context_inMacro ())
5443     {
5444       llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s", 
5445                                     context_inFunctionName ()));
5446       
5447       if (context_inUnknownMacro ())
5448         {
5449           if (!givehint)
5450             {
5451               llhint (cstring_makeLiteral 
5452                      ("Precede macro definition with /*@notfunction@*/ "
5453                       "to suppress checking and force expansion"));
5454               givehint = TRUE;
5455             }
5456         }
5457
5458       swallowMacro ();
5459       context_exitAllClausesQuiet ();
5460     }
5461   else
5462     {
5463       llparseerror (cstring_undefined);
5464     }
5465 }
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478 /*
5479 ** Resets all flags in bison.head
5480 */
5481
5482
5483 /*@=allmacros@*/
5484 /*@=boolint@*/
5485 /*@=charint@*/
5486 /*@=macroparams@*/
5487 /*@=macroundef@*/
5488 /*@=unreachable@*/
5489 /*@=macrospec@*/
5490 /*@=varuse@*/
5491 /*@=ignorequals@*/
5492 /*@=macrostmt@*/
5493 /*@=noeffect@*/
5494 /*@=shadow@*/
5495 /*@=exitarg@*/
5496 /*@=macroredef@*/
5497 /*@=uniondef@*/
5498 /*@=compdef@*/
5499 /*@=matchfields@*/
5500 /*@=exportlocal@*/
5501 /*@=evalorderuncon@*/
5502 /*@=exportheader@*/
5503 /*@=typeuse@*/
5504 /*@=redecl@*/
5505 /*@=redef@*/
5506 /*@=noparams@*/
5507 /*@=ansireserved@*/
5508 /*@=fielduse@*/
5509 /*@=ifblock@*/
5510 /*@=elseifcomplete@*/
5511 /*@=whileblock@*/
5512 /*@=forblock@*/
5513 /*@=branchstate@*/
5514 /*@=readonlytrans@*/
5515 /*@=namechecks@*/
5516 /*@=usedef@*/
5517 /*@=systemunrecog@*/
5518 /*@=dependenttrans@*/
5519 /*@=unqualifiedtrans@*/
5520 /*@=declundef@*/
5521
5522
5523 /*drl added 11/27/2001*/
5524 /*@=bounds@*/
This page took 0.607635 seconds and 5 git commands to generate.