This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #34101] not() || 1 produces segmentation fault
[perl5.git] / perly.tab
1 #define YYFINAL  3
2 /* YYLAST -- Last index in YYTABLE.  */
3 #define YYLAST   1948
4
5 /* YYNTOKENS -- Number of terminals. */
6 #define YYNTOKENS  85
7 /* YYNNTS -- Number of nonterminals. */
8 #define YYNNTS  62
9 /* YYNRULES -- Number of rules. */
10 #define YYNRULES  199
11 /* YYNRULES -- Number of states. */
12 #define YYNSTATES  397
13
14 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
15 #define YYUNDEFTOK  2
16 #define YYMAXUTOK   320
17
18 #define YYTRANSLATE(YYX)                                                \
19   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
20
21 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
22 static const unsigned char yytranslate[] =
23 {
24        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
25        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
26        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
27        2,     2,     2,    63,     2,     2,    81,    83,    46,     2,
28       74,    73,    84,    80,    52,    79,     2,     2,     2,     2,
29        2,     2,     2,     2,     2,     2,     2,     2,    55,    77,
30        2,     2,     2,    54,    82,     2,     2,     2,     2,     2,
31        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
32        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,    75,     2,    78,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,     3,     2,    76,    64,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     1,     2,     4,     5,
50        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
51       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
52       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
53       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
54       47,    48,    49,    50,    51,    53,    56,    57,    58,    59,
55       60,    61,    62,    65,    66,    67,    68,    69,    70,    71,
56       72
57 };
58
59 #if YYDEBUG
60 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
61    YYRHS.  */
62 static const unsigned short int yyprhs[] =
63 {
64        0,     0,     3,     6,    11,    12,    13,    18,    19,    20,
65       21,    24,    28,    31,    33,    36,    40,    42,    44,    48,
66       52,    56,    60,    64,    65,    68,    75,    83,    91,    92,
67       95,   104,   113,   124,   134,   143,   155,   159,   160,   162,
68      163,   165,   167,   169,   171,   173,   175,   176,   178,   180,
69      182,   184,   186,   188,   193,   195,   196,   203,   210,   211,
70      212,   213,   215,   216,   218,   219,   222,   224,   227,   229,
71      231,   233,   237,   238,   246,   250,   254,   258,   260,   263,
72      267,   269,   273,   279,   286,   290,   294,   300,   303,   308,
73      309,   315,   317,   319,   325,   330,   336,   341,   347,   354,
74      360,   365,   371,   376,   380,   384,   388,   392,   396,   400,
75      404,   408,   412,   416,   420,   424,   428,   432,   436,   439,
76      442,   445,   448,   451,   454,   457,   460,   464,   467,   472,
77      476,   482,   485,   488,   493,   499,   504,   510,   512,   514,
78      516,   518,   524,   527,   529,   532,   536,   539,   541,   543,
79      545,   547,   549,   551,   558,   564,   569,   575,   577,   579,
80      583,   588,   592,   594,   597,   600,   602,   605,   608,   611,
81      613,   617,   619,   623,   628,   633,   635,   637,   641,   644,
82      648,   651,   653,   655,   657,   658,   660,   661,   663,   666,
83      668,   671,   674,   677,   680,   683,   686,   688,   690,   692
84 };
85
86 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
87 static const short int yyrhs[] =
88 {
89       86,     0,    -1,    89,    93,    -1,     3,    88,    93,    76,
90       -1,    -1,    -1,     3,    91,    93,    76,    -1,    -1,    -1,
91       -1,    93,   108,    -1,    93,    92,    94,    -1,   107,    97,
92       -1,    99,    -1,   107,    77,    -1,   107,    95,    77,    -1,
93        1,    -1,   124,    -1,   124,    21,   124,    -1,   124,    22,
94      124,    -1,   124,    19,   124,    -1,   124,    20,   102,    -1,
95      124,    26,   124,    -1,    -1,    23,    90,    -1,    24,    74,
96      103,    73,    90,    96,    -1,    21,    74,    88,   103,    73,
97       90,    96,    -1,    22,    74,    88,   106,    73,    90,    96,
98       -1,    -1,    25,    87,    -1,   107,    19,    74,    88,   105,
99       73,    90,    98,    -1,   107,    20,    74,    88,   106,    73,
100       90,    98,    -1,   107,    26,    43,    88,   139,    74,   103,
101       73,    90,    98,    -1,   107,    26,   141,    74,    88,   103,
102       73,    90,    98,    -1,   107,    26,    74,    88,   103,    73,
103       90,    98,    -1,   107,    26,    74,    88,   104,    77,   105,
104       77,   104,    73,    90,    -1,   107,    87,    98,    -1,    -1,
105       95,    -1,    -1,   124,    -1,   124,    -1,   124,    -1,   100,
106       -1,   101,    -1,   102,    -1,    -1,    13,    -1,   109,    -1,
107      112,    -1,   111,    -1,   121,    -1,   122,    -1,    14,   115,
108      110,    87,    -1,     4,    -1,    -1,    44,   113,   116,   117,
109      118,   120,    -1,    15,   113,   116,   117,   118,   120,    -1,
110       -1,    -1,    -1,     4,    -1,    -1,     7,    -1,    -1,    45,
111        7,    -1,    45,    -1,    45,     7,    -1,    45,    -1,    87,
112       -1,    77,    -1,    17,     4,    77,    -1,    -1,    18,   113,
113      123,     4,     4,   137,    77,    -1,   124,    50,   124,    -1,
114      124,    49,   124,    -1,   124,    48,   124,    -1,   125,    -1,
115      125,    52,    -1,   125,    52,   134,    -1,   134,    -1,    33,
116      146,   125,    -1,    31,    74,   146,   124,    73,    -1,   134,
117       72,   128,    74,   138,    73,    -1,   134,    72,   128,    -1,
118        5,   146,   137,    -1,     6,   146,    74,   138,    73,    -1,
119       33,   137,    -1,    31,    74,   138,    73,    -1,    -1,    12,
120      114,    87,   127,   137,    -1,     5,    -1,   141,    -1,   145,
121        3,   124,    77,    76,    -1,   141,    75,   124,    78,    -1,
122      134,    72,    75,   124,    78,    -1,   129,    75,   124,    78,
123       -1,   141,     3,   124,    77,    76,    -1,   134,    72,     3,
124      124,    77,    76,    -1,   129,     3,   124,    77,    76,    -1,
125      134,    72,    74,    73,    -1,   134,    72,    74,   124,    73,
126       -1,   129,    74,   124,    73,    -1,   129,    74,    73,    -1,
127      134,    53,   134,    -1,   134,    67,   134,    -1,   134,    36,
128      134,    -1,   134,    37,   134,    -1,   134,    61,   134,    -1,
129      134,    34,   134,    -1,   134,    35,   134,    -1,   134,    60,
130      134,    -1,   134,    59,   134,    -1,   134,    28,   134,    -1,
131      134,    58,   134,    -1,   134,    57,   134,    -1,   134,    56,
132      134,    -1,   134,    62,   134,    -1,    79,   134,    -1,    80,
133      134,    -1,    63,   134,    -1,    64,   134,    -1,   134,    69,
134       -1,   134,    68,    -1,    71,   134,    -1,    70,   134,    -1,
135       75,   124,    78,    -1,    75,    78,    -1,    40,   124,    77,
136       76,    -1,    40,    77,    76,    -1,    16,   114,   117,   118,
137       87,    -1,    39,   134,    -1,    39,    87,    -1,    39,     4,
138       74,    73,    -1,    39,     4,    74,   124,    73,    -1,    39,
139      141,    74,    73,    -1,    39,   141,    74,   124,    73,    -1,
140      130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    54,
141      134,    55,   134,    -1,    65,   134,    -1,   135,    -1,    42,
142      134,    -1,    74,   124,    73,    -1,    74,    73,    -1,   141,
143       -1,   145,    -1,   143,    -1,   142,    -1,   144,    -1,   129,
144       -1,    74,   124,    73,    75,   124,    78,    -1,    74,    73,
145       75,   124,    78,    -1,   142,    75,   124,    78,    -1,   142,
146        3,   124,    77,    76,    -1,     7,    -1,   140,    -1,   140,
147       74,    73,    -1,   140,    74,   124,    73,    -1,    41,     4,
148      137,    -1,    27,    -1,    27,   134,    -1,    51,   125,    -1,
149       32,    -1,    32,    87,    -1,    32,   134,    -1,    11,   134,
150       -1,    29,    -1,    29,    74,    73,    -1,    10,    -1,    30,
151       74,    73,    -1,    30,    74,   124,    73,    -1,     8,    74,
152      125,    73,    -1,     4,    -1,   126,    -1,    43,   136,   119,
153       -1,    43,   136,    -1,    74,   124,    73,    -1,    74,    73,
154       -1,   141,    -1,   143,    -1,   142,    -1,    -1,   125,    -1,
155       -1,   124,    -1,   124,    52,    -1,   141,    -1,    46,   146,
156       -1,    81,   146,    -1,    82,   146,    -1,    83,   146,    -1,
157       38,   146,    -1,    84,   146,    -1,     4,    -1,   141,    -1,
158       87,    -1,     9,    -1
159 };
160
161 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
162 static const unsigned short int yyrline[] =
163 {
164        0,    95,    95,   101,   108,   112,   118,   125,   129,   133,
165      134,   136,   145,   147,   148,   157,   163,   165,   167,   169,
166      171,   173,   175,   182,   183,   185,   192,   196,   204,   205,
167      210,   216,   222,   225,   229,   232,   248,   256,   257,   262,
168      263,   267,   272,   276,   280,   284,   290,   291,   295,   297,
169      299,   301,   303,   307,   311,   312,   316,   321,   326,   330,
170      334,   338,   347,   348,   353,   354,   356,   361,   363,   368,
171      369,   372,   377,   376,   383,   385,   387,   389,   393,   395,
172      397,   401,   404,   407,   412,   416,   421,   426,   428,   431,
173      430,   439,   440,   444,   449,   451,   455,   459,   462,   467,
174      472,   475,   480,   484,   490,   492,   494,   498,   500,   502,
175      504,   506,   508,   510,   512,   514,   516,   518,   523,   525,
176      527,   529,   531,   534,   537,   540,   547,   549,   551,   553,
177      555,   561,   563,   565,   573,   582,   586,   594,   595,   596,
178      597,   598,   600,   602,   604,   606,   608,   610,   612,   614,
179      616,   618,   620,   622,   624,   626,   632,   639,   641,   643,
180      645,   648,   651,   654,   656,   658,   660,   662,   664,   667,
181      669,   671,   674,   677,   679,   681,   682,   686,   688,   693,
182      695,   697,   699,   701,   706,   708,   713,   714,   716,   722,
183      726,   730,   734,   738,   742,   746,   751,   753,   755,   758
184 };
185 #endif
186
187 #if YYDEBUG || YYERROR_VERBOSE
188 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
189    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
190 static const char *const yytname[] =
191 {
192   "$end", "error", "$undefined", "'{'", "WORD", "METHOD", "FUNCMETH",
193   "THING", "PMFUNC", "PRIVATEREF", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB",
194   "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
195   "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "LOOPEX", "DOTDOT",
196   "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP",
197   "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB",
198   "COLONATTR", "'&'", "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP", "','",
199   "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND", "BITOROP",
200   "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS",
201   "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('",
202   "'['", "'}'", "';'", "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'",
203   "$accept", "prog", "block", "remember", "progstart", "mblock",
204   "mremember", "savescope", "lineseq", "line", "sideff", "else", "cond",
205   "cont", "loop", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "mtexpr",
206   "miexpr", "label", "decl", "format", "formname", "mysubrout", "subrout",
207   "startsub", "startanonsub", "startformsub", "subname", "proto",
208   "subattrlist", "myattrlist", "subbody", "package", "use", "@1", "expr",
209   "argexpr", "listop", "@2", "method", "subscripted", "termbinop",
210   "termunop", "anonymous", "termdo", "term", "myattrterm", "myterm",
211   "listexpr", "listexprcom", "my_scalar", "amper", "scalar", "ary", "hsh",
212   "arylen", "star", "indirob", 0
213 };
214 #endif
215
216 # ifdef YYPRINT
217 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
218    token YYLEX-NUM.  */
219 static const unsigned short int yytoknum[] =
220 {
221        0,   256,   257,   123,   258,   259,   260,   261,   262,   263,
222      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
223      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
224      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
225      294,   295,   296,   297,   298,   299,    38,   300,   301,   302,
226      303,   304,    44,   305,    63,    58,   306,   307,   308,   309,
227      310,   311,   312,    33,   126,   313,   314,   315,   316,   317,
228      318,   319,   320,    41,    40,    91,   125,    59,    93,    45,
229       43,    36,    64,    37,    42
230 };
231 # endif
232
233 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
234 static const unsigned char yyr1[] =
235 {
236        0,    85,    86,    87,    88,    89,    90,    91,    92,    93,
237       93,    93,    94,    94,    94,    94,    95,    95,    95,    95,
238       95,    95,    95,    96,    96,    96,    97,    97,    98,    98,
239       99,    99,    99,    99,    99,    99,    99,   100,   100,   101,
240      101,   102,   103,   104,   105,   106,   107,   107,   108,   108,
241      108,   108,   108,   109,   110,   110,   111,   112,   113,   114,
242      115,   116,   117,   117,   118,   118,   118,   119,   119,   120,
243      120,   121,   123,   122,   124,   124,   124,   124,   125,   125,
244      125,   126,   126,   126,   126,   126,   126,   126,   126,   127,
245      126,   128,   128,   129,   129,   129,   129,   129,   129,   129,
246      129,   129,   129,   129,   130,   130,   130,   130,   130,   130,
247      130,   130,   130,   130,   130,   130,   130,   130,   131,   131,
248      131,   131,   131,   131,   131,   131,   132,   132,   132,   132,
249      132,   133,   133,   133,   133,   133,   133,   134,   134,   134,
250      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
251      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
252      134,   134,   134,   134,   134,   134,   134,   134,   134,   134,
253      134,   134,   134,   134,   134,   134,   134,   135,   135,   136,
254      136,   136,   136,   136,   137,   137,   138,   138,   138,   139,
255      140,   141,   142,   143,   144,   145,   146,   146,   146,   146
256 };
257
258 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
259 static const unsigned char yyr2[] =
260 {
261        0,     2,     2,     4,     0,     0,     4,     0,     0,     0,
262        2,     3,     2,     1,     2,     3,     1,     1,     3,     3,
263        3,     3,     3,     0,     2,     6,     7,     7,     0,     2,
264        8,     8,    10,     9,     8,    11,     3,     0,     1,     0,
265        1,     1,     1,     1,     1,     1,     0,     1,     1,     1,
266        1,     1,     1,     4,     1,     0,     6,     6,     0,     0,
267        0,     1,     0,     1,     0,     2,     1,     2,     1,     1,
268        1,     3,     0,     7,     3,     3,     3,     1,     2,     3,
269        1,     3,     5,     6,     3,     3,     5,     2,     4,     0,
270        5,     1,     1,     5,     4,     5,     4,     5,     6,     5,
271        4,     5,     4,     3,     3,     3,     3,     3,     3,     3,
272        3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
273        2,     2,     2,     2,     2,     2,     3,     2,     4,     3,
274        5,     2,     2,     4,     5,     4,     5,     1,     1,     1,
275        1,     5,     2,     1,     2,     3,     2,     1,     1,     1,
276        1,     1,     1,     6,     5,     4,     5,     1,     1,     3,
277        4,     3,     1,     2,     2,     1,     2,     2,     2,     1,
278        3,     1,     3,     4,     4,     1,     1,     3,     2,     3,
279        2,     1,     1,     1,     0,     1,     0,     1,     2,     1,
280        2,     2,     2,     2,     2,     2,     1,     1,     1,     1
281 };
282
283 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
284    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
285    means the default is an error.  */
286 static const unsigned char yydefact[] =
287 {
288        5,     0,     9,     1,     8,    60,    58,     0,    58,    58,
289       46,    10,    48,    50,    49,    51,    52,    55,     0,     0,
290       72,     0,    47,    11,    13,     0,    54,     0,    61,    62,
291       71,     0,    62,    16,     4,   175,     0,     0,   157,     0,
292      171,     0,    59,    59,     0,     0,     0,     0,     0,   162,
293      169,     0,     0,   165,   184,     0,     0,     0,     0,     0,
294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
295       14,     0,     0,     0,     0,     0,     0,    28,     0,    12,
296       17,    77,   176,   152,   137,   138,   139,   140,    80,   143,
297      158,   147,   150,   149,   151,   148,    53,    63,    64,     0,
298       64,     9,   196,   199,   198,   197,   184,     0,     0,   168,
299        0,    62,     4,     4,     4,     4,     4,     4,     0,   163,
300        0,     0,   186,   166,   167,   196,   185,    87,   197,     0,
301      194,   175,   132,   131,   147,     0,     0,   184,   144,     0,
302      178,   181,   183,   182,   190,   164,   120,   121,   142,   125,
303      124,   146,     0,   127,     0,   118,   119,   191,   192,   193,
304      195,     0,    36,    15,     0,     0,     0,     0,     0,     0,
305        0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
307        0,   123,   122,     0,     0,     0,     0,     0,     0,     0,
308       66,     0,   184,     0,     8,    85,   186,     0,    89,    64,
309       39,     0,     0,     0,     0,     0,     4,   170,   172,     0,
310      187,     0,     0,    81,     0,     0,   129,     0,   161,   180,
311        0,    68,   177,     0,   145,   126,    29,    20,    21,    41,
312       18,    19,    22,    76,    75,    74,    79,     0,   103,     0,
313        0,   113,   109,   110,   106,   107,   104,     0,   116,   115,
314      114,   112,   111,   108,   117,   105,     0,    91,     0,     0,
315       84,    92,   159,     0,     0,     0,     0,     0,     0,    65,
316       70,    69,    57,     0,    56,     3,     0,   174,   184,     0,
317       44,     0,    40,    45,     0,     0,    42,     0,     0,   189,
318       38,    43,     0,     0,    17,     0,   173,   188,    88,     0,
319      133,     0,   135,     0,   128,   179,    67,     0,     0,     0,
320      102,    96,     0,     0,   100,     0,     0,   186,   160,     0,
321       94,     0,   155,     0,    73,    86,    90,   130,     0,     0,
322        0,     0,     0,     0,    39,     0,    82,   134,   136,   154,
323        0,    99,   141,     0,   101,    95,     0,    97,   156,    93,
324        7,    28,    28,    23,    23,     0,    28,     0,     0,   153,
325       98,    83,     9,    30,    31,     0,     0,    26,    27,     0,
326       34,     0,    28,     8,    24,     0,    28,     0,    33,     6,
327        0,    32,     0,     0,    35,    23,    25
328 };
329
330 /* YYDEFGOTO[NTERM-NUM]. */
331 static const short int yydefgoto[] =
332 {
333       -1,     1,   104,   101,     2,   361,   372,    10,     4,    23,
334      300,   377,    79,   162,    24,   301,   290,   293,   295,   303,
335      291,   294,    25,    11,    12,    27,    13,    14,    18,   110,
336       17,    29,    98,   201,   232,   282,    15,    16,    31,   296,
337       81,    82,   288,   270,    83,    84,    85,    86,    87,    88,
338       89,   140,   127,   221,   298,    90,    91,    92,    93,    94,
339       95,   106
340 };
341
342 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
343    STATE-NUM.  */
344 #define YYPACT_NINF -343
345 static const short int yypact[] =
346 {
347     -343,     9,  -343,  -343,   147,  -343,  -343,     8,  -343,  -343,
348        7,  -343,  -343,  -343,  -343,  -343,  -343,    19,    52,    -8,
349     -343,    52,  -343,  -343,  -343,   257,  -343,    51,  -343,    63,
350     -343,    86,    63,  -343,  -343,  -343,    31,    31,  -343,    30,
351     -343,  1563,  -343,  -343,    36,    37,    42,    45,    -6,  1563,
352       80,    82,    83,   590,   508,    31,   672,   753,   154,  1563,
353       41,    31,  1563,  1563,  1563,  1563,  1563,  1563,   834,   915,
354     -343,  1563,  1563,    31,    31,    31,    31,    57,    99,  -343,
355      555,   125,  -343,    18,  -343,  -343,  -343,  -343,  1777,  -343,
356       89,    10,    33,  -343,  -343,   176,  -343,  -343,   137,   179,
357      137,  -343,  -343,  -343,  -343,  -343,  1563,   119,  1563,   245,
358       51,    63,  -343,  -343,  -343,  -343,  -343,  -343,   120,  1777,
359      122,   996,   508,  -343,   245,  1689,   125,  -343,  1629,  1563,
360     -343,   124,  -343,   245,    46,   128,   608,  1563,   245,  1077,
361      161,  -343,  -343,  -343,  -343,   125,     5,     5,     5,   -43,
362      -43,   134,   186,  -343,   118,     5,     5,  -343,  -343,  -343,
363     -343,    51,  -343,  -343,  1563,  1563,  1563,  1563,  1563,  1563,
364     1563,  1563,  1563,  1563,  1158,  1563,  1563,  1563,  1563,  1563,
365     1563,  1563,  1563,  1563,  1563,  1563,  1563,  1563,  1563,  1563,
366     1563,  -343,  -343,    78,  1239,  1563,  1563,  1563,  1563,  1563,
367      203,    28,  1563,    28,   111,  -343,  1563,    -2,  -343,   137,
368     1563,  1563,  1563,  1563,   149,   342,  -343,  -343,  -343,   329,
369      190,   159,  1563,   125,  1320,  1401,  -343,   172,  -343,  -343,
370      397,   244,  -343,  1563,   177,  -343,  -343,    87,  -343,    87,
371       87,    87,    87,   221,   221,  -343,  1777,   690,  -343,   412,
372      153,  1861,   739,   576,   901,   819,  1777,  1735,  1876,  1876,
373      414,   495,   658,   785,     5,     5,  1563,  -343,  1482,  1563,
374      211,  -343,  -343,   430,   700,   197,   852,   318,   862,  -343,
375     -343,  -343,  -343,   214,  -343,  -343,   180,  -343,  1563,    51,
376     -343,   219,    87,  -343,   228,   231,    87,   232,   220,  -343,
377     -343,  -343,   236,   233,   207,  1563,  -343,  -343,  -343,   536,
378     -343,   566,  -343,   577,  -343,  -343,  -343,   350,  1563,   235,
379     -343,  -343,  1563,   885,  -343,   618,   361,  1563,  -343,   239,
380     -343,   240,  -343,   242,  -343,  -343,  -343,  -343,   320,   320,
381      320,   320,  1563,   320,  1563,   251,  -343,  -343,  -343,  -343,
382      444,  -343,  1819,   249,  -343,  -343,   253,  -343,  -343,  -343,
383     -343,    57,    57,    56,    56,   256,    57,   258,   320,  -343,
384     -343,  -343,  -343,  -343,  -343,   320,   259,  -343,  -343,   320,
385     -343,   426,    57,   116,  -343,  1563,    57,   269,  -343,  -343,
386      271,  -343,   320,   320,  -343,    56,  -343
387 };
388
389 /* YYPGOTO[NTERM-NUM].  */
390 static const short int yypgoto[] =
391 {
392     -343,  -343,   -23,   -98,  -343,    22,  -343,  -343,  -100,  -343,
393      305,  -342,  -343,  -112,  -343,  -343,  -343,   194,  -210,   -36,
394       11,   138,  -343,  -343,  -343,  -343,  -343,  -343,    50,   317,
395     -343,   343,   -22,   -92,  -343,   167,  -343,  -343,  -343,   -25,
396      -51,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,    35,
397     -343,  -343,   -99,  -200,  -343,  -343,    -9,   316,   326,  -343,
398     -343,   -13
399 };
400
401 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
402    positive, shift that token.  If negative, reduce the rule which
403    number is the opposite.  If zero, do what YYDEFACT says.
404    If YYTABLE_NINF, syntax error.  */
405 #define YYTABLE_NINF -176
406 static const short int yytable[] =
407 {
408       80,   204,    77,   126,    96,   302,   286,   205,   203,     3,
409      100,   145,    19,   195,   210,   211,   212,   213,   214,   215,
410       22,   173,   378,    26,   107,  -176,  -176,   105,   105,   193,
411      123,    34,   136,   132,    34,   102,   197,   116,   228,   118,
412      103,   129,   130,   152,   154,   128,   105,   134,   144,   195,
413      172,   141,   105,   396,    34,   126,    28,   207,    20,    21,
414      157,   158,   159,   160,   105,   105,   105,   105,   117,    30,
415       97,   287,   190,   191,   192,    73,   109,   193,   223,   375,
416      376,   266,   161,   267,   119,   196,   126,   208,   124,   209,
417       99,   133,   174,   175,   138,   345,   219,   220,   146,   147,
418      148,   149,   150,   283,   108,   280,   155,   156,   198,   222,
419      112,   113,    73,   128,   230,   139,   114,   289,   305,   115,
420      225,   196,    73,    74,    75,     5,     6,   356,     7,     8,
421        5,     6,   365,     7,     8,   169,   170,   171,   236,   237,
422      239,   240,   241,   242,   243,   244,   245,    -2,   247,   249,
423      250,   126,   268,   269,   120,     9,   121,   122,   137,    73,
424        9,     5,     6,   194,     7,     8,   169,   170,   171,   273,
425      274,   275,   276,   277,   278,   390,   163,   172,   281,   199,
426      281,   220,   200,   202,   271,   292,   239,   285,   239,   336,
427      304,     9,   389,   206,   216,   217,   235,   309,   224,   311,
428      313,   169,   170,   171,   226,   299,   231,   246,   317,   233,
429      279,   251,   252,   253,   254,   255,   256,   257,   258,   259,
430      260,   261,   262,   263,   264,   265,   164,   165,   166,   167,
431       73,   321,   308,   168,   169,   170,   171,   126,   169,   170,
432      171,   323,   307,   325,   326,   169,   170,   171,   314,   373,
433      374,   316,   318,   335,   380,   169,   170,   171,    33,   234,
434       34,    35,    36,    37,    38,    39,   337,    40,    41,    42,
435      388,   171,   383,    43,   391,   330,    44,    45,    46,    47,
436      -42,   179,   180,    48,    49,   327,    50,    51,    52,    53,
437       54,   334,   338,   350,   342,    55,    56,    57,    58,    59,
438       60,   339,   220,    61,   340,   341,   188,   189,    62,   343,
439      344,   351,   190,   191,   192,   357,   358,   193,   359,   292,
440       63,    64,    65,   360,   368,   370,   371,    66,    67,   379,
441       78,    68,    69,   385,    70,   381,    71,    72,    73,    74,
442       75,    76,   392,    33,   393,   387,    35,    36,    37,    38,
443       39,   297,    40,    41,    42,   367,    80,   352,    43,   238,
444      111,   362,   363,   364,    32,   366,   169,   170,   171,    49,
445      284,    50,    51,    52,    53,    54,   142,   169,   170,   171,
446       55,    56,    57,    58,    59,    60,   143,     0,    61,     0,
447      382,     0,     0,    62,     0,     0,   332,   384,   169,   170,
448      171,   386,   306,     0,     0,    63,    64,    65,     0,   169,
449      170,   171,    66,    67,   394,   395,    68,    69,     0,   -37,
450        0,    71,    72,    73,    74,    75,    76,    33,   349,     0,
451       35,    36,    37,    38,    39,     0,    40,    41,    42,   355,
452        0,     0,    43,     0,     0,   169,   170,   171,   177,   178,
453      179,   180,     0,    49,     0,    50,    51,    52,    53,    54,
454      169,   170,   171,     0,    55,    56,    57,    58,    59,    60,
455      315,     0,    61,   186,   187,   188,   189,    62,   169,   170,
456      171,   190,   191,   192,     0,   320,   193,     0,     0,    63,
457       64,    65,   169,   170,   171,     0,    66,    67,     0,   -37,
458       68,    69,     0,   328,     0,    71,    72,    73,    74,    75,
459       76,    34,   125,    36,    37,    38,    39,   103,    40,    41,
460       42,     0,   369,     0,    43,     0,     0,     0,     0,   177,
461      178,   179,   180,     0,     0,    49,     0,    50,    51,    52,
462       53,    54,     0,     0,     0,     0,    55,    56,    57,    58,
463       59,    60,     0,     0,    61,   187,   188,   189,     0,    62,
464        0,     0,   190,   191,   192,     0,     0,   193,     0,     0,
465        0,    63,    64,    65,   164,   165,   166,   167,    66,    67,
466        0,   168,    68,    69,   169,   170,   171,    71,    72,    73,
467       74,    75,    76,    34,    35,    36,    37,    38,    39,     0,
468       40,    41,    42,   169,   170,   171,    43,     0,     0,   346,
469      177,  -176,   179,   180,   169,   170,   171,    49,     0,    50,
470       51,    52,    53,    54,     0,   169,   170,   171,    55,    56,
471       57,    58,    59,    60,     0,     0,    61,   188,   189,   347,
472        0,    62,     0,   190,   191,   192,     0,     0,   193,     0,
473      348,     0,     0,    63,    64,    65,   169,   170,   171,     0,
474       66,    67,     0,     0,    68,    69,   169,   170,   171,    71,
475       72,    73,    74,    75,    76,    34,   131,    36,    37,    38,
476       39,     0,    40,    41,    42,   227,     0,     0,    43,     0,
477        0,   354,   177,   178,   179,   180,     0,     0,     0,    49,
478        0,    50,    51,    52,    53,    54,     0,     0,     0,     0,
479       55,    56,    57,    58,    59,    60,     0,     0,    61,   188,
480      189,     0,     0,    62,     0,   190,   191,   192,     0,     0,
481      193,     0,     0,     0,     0,    63,    64,    65,   169,   170,
482      171,     0,    66,    67,     0,     0,    68,    69,   169,   170,
483      171,    71,    72,    73,    74,    75,    76,    35,    36,    37,
484       38,    39,     0,    40,    41,    42,     0,   319,     0,    43,
485        0,     0,     0,  -176,     0,   179,   180,   329,     0,     0,
486       49,     0,    50,    51,    52,    53,    54,     0,     0,     0,
487        0,    55,    56,    57,    58,    59,    60,     0,     0,    61,
488      188,   189,     0,     0,    62,     0,   190,   191,   192,     0,
489        0,   193,     0,     0,     0,     0,    63,    64,    65,     0,
490        0,   179,   180,    66,    67,     0,     0,    68,    69,     0,
491      135,     0,    71,    72,    73,    74,    75,    76,    35,    36,
492       37,    38,    39,     0,    40,    41,    42,   189,     0,     0,
493       43,     0,   190,   191,   192,   179,     0,   193,     0,     0,
494        0,    49,     0,    50,    51,    52,    53,    54,     0,     0,
495        0,     0,    55,    56,    57,    58,    59,    60,     0,     0,
496       61,   189,     0,     0,     0,    62,   190,   191,   192,     0,
497        0,   193,     0,     0,     0,     0,     0,    63,    64,    65,
498      169,   170,   171,     0,    66,    67,     0,   151,    68,    69,
499      169,   170,   171,    71,    72,    73,    74,    75,    76,    35,
500       36,    37,    38,    39,     0,    40,    41,    42,     0,   331,
501        0,    43,     0,   169,   170,   171,     0,     0,     0,   333,
502        0,     0,    49,     0,    50,    51,    52,    53,    54,     0,
503        0,     0,     0,    55,    56,    57,    58,    59,    60,     0,
504        0,    61,   353,   189,     0,     0,    62,     0,   190,   191,
505      192,     0,     0,   193,     0,     0,     0,     0,    63,    64,
506       65,     0,     0,     0,     0,    66,    67,     0,     0,    68,
507       69,     0,     0,   153,    71,    72,    73,    74,    75,    76,
508       35,    36,    37,    38,    39,     0,    40,    41,    42,     0,
509        0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
510        0,     0,     0,    49,     0,    50,    51,    52,    53,    54,
511        0,     0,     0,     0,    55,    56,    57,    58,    59,    60,
512        0,     0,    61,     0,     0,     0,     0,    62,     0,     0,
513        0,     0,     0,     0,     0,     0,     0,     0,     0,    63,
514       64,    65,     0,     0,     0,     0,    66,    67,     0,   218,
515       68,    69,     0,     0,     0,    71,    72,    73,    74,    75,
516       76,    35,    36,    37,    38,    39,     0,    40,    41,    42,
517        0,     0,     0,    43,     0,     0,     0,     0,     0,     0,
518        0,     0,     0,     0,    49,     0,    50,    51,    52,    53,
519       54,     0,     0,     0,     0,    55,    56,    57,    58,    59,
520       60,     0,     0,    61,     0,     0,     0,     0,    62,     0,
521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
522       63,    64,    65,     0,     0,     0,     0,    66,    67,     0,
523      229,    68,    69,     0,     0,     0,    71,    72,    73,    74,
524       75,    76,    35,    36,    37,    38,    39,     0,    40,    41,
525       42,     0,     0,     0,    43,     0,     0,     0,     0,     0,
526        0,     0,     0,     0,     0,    49,     0,    50,    51,    52,
527       53,    54,     0,     0,     0,     0,    55,    56,    57,    58,
528       59,    60,     0,     0,    61,     0,     0,     0,     0,    62,
529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
530        0,    63,    64,    65,     0,     0,     0,     0,    66,    67,
531        0,   248,    68,    69,     0,     0,     0,    71,    72,    73,
532       74,    75,    76,    35,    36,    37,    38,    39,     0,    40,
533       41,    42,     0,     0,     0,    43,     0,     0,     0,     0,
534        0,     0,     0,     0,     0,     0,    49,     0,    50,    51,
535       52,    53,    54,     0,     0,     0,     0,    55,    56,    57,
536       58,    59,    60,     0,     0,    61,     0,     0,     0,     0,
537       62,     0,     0,     0,     0,     0,     0,     0,     0,     0,
538        0,     0,    63,    64,    65,     0,     0,     0,     0,    66,
539       67,     0,   272,    68,    69,     0,     0,     0,    71,    72,
540       73,    74,    75,    76,    35,    36,    37,    38,    39,     0,
541       40,    41,    42,     0,     0,     0,    43,     0,     0,     0,
542        0,     0,     0,     0,     0,     0,     0,    49,     0,    50,
543       51,    52,    53,    54,     0,     0,     0,     0,    55,    56,
544       57,    58,    59,    60,     0,     0,    61,     0,     0,     0,
545        0,    62,     0,     0,     0,     0,     0,     0,     0,     0,
546        0,     0,     0,    63,    64,    65,     0,     0,     0,     0,
547       66,    67,     0,   310,    68,    69,     0,     0,     0,    71,
548       72,    73,    74,    75,    76,    35,    36,    37,    38,    39,
549        0,    40,    41,    42,     0,     0,     0,    43,     0,     0,
550        0,     0,     0,     0,     0,     0,     0,     0,    49,     0,
551       50,    51,    52,    53,    54,     0,     0,     0,     0,    55,
552       56,    57,    58,    59,    60,     0,     0,    61,     0,     0,
553        0,     0,    62,     0,     0,     0,     0,     0,     0,     0,
554        0,     0,     0,     0,    63,    64,    65,     0,     0,     0,
555        0,    66,    67,     0,   312,    68,    69,     0,     0,     0,
556       71,    72,    73,    74,    75,    76,    35,    36,    37,    38,
557       39,     0,    40,    41,    42,     0,     0,     0,    43,     0,
558        0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
559        0,    50,    51,    52,    53,    54,     0,     0,     0,     0,
560       55,    56,    57,    58,    59,    60,     0,     0,    61,     0,
561        0,     0,     0,    62,     0,     0,     0,     0,     0,     0,
562        0,     0,     0,     0,     0,    63,    64,    65,     0,     0,
563        0,     0,    66,    67,     0,   324,    68,    69,     0,     0,
564        0,    71,    72,    73,    74,    75,    76,    35,    36,    37,
565       38,    39,     0,    40,    41,    42,     0,     0,     0,    43,
566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
567       49,     0,    50,    51,    52,    53,    54,     0,     0,     0,
568        0,    55,    56,    57,    58,    59,    60,     0,     0,    61,
569        0,     0,     0,     0,    62,     0,     0,     0,     0,     0,
570        0,     0,     0,     0,     0,     0,    63,    64,    65,     0,
571        0,     0,   195,    66,    67,     0,     0,    68,    69,     0,
572        0,     0,    71,    72,    73,    74,    75,    76,  -147,  -147,
573     -147,  -147,     0,     0,     0,  -147,     0,  -147,     0,     0,
574        0,     0,     0,  -147,  -147,  -147,  -147,     0,     0,     0,
575        0,     0,     0,     0,     0,     0,     0,  -147,  -147,  -147,
576        0,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,
577     -147,  -147,     0,     0,     0,     0,  -147,  -147,  -147,     0,
578        0,  -147,  -147,     0,   196,     0,  -147,  -147,  -175,  -175,
579     -175,  -175,     0,     0,     0,  -175,     0,  -175,     0,     0,
580        0,     0,     0,  -175,  -175,  -175,  -175,     0,     0,     0,
581        0,     0,     0,     0,     0,     0,     0,  -175,  -175,  -175,
582        0,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,  -175,
583     -175,  -175,     0,     0,     0,     0,  -175,  -175,  -175,     0,
584        0,  -175,  -175,   176,     0,     0,  -175,  -175,     0,   177,
585      178,   179,   180,     0,     0,     0,     0,     0,     0,     0,
586        0,     0,     0,     0,     0,     0,     0,     0,   181,   182,
587      322,   183,   184,   185,   186,   187,   188,   189,     0,     0,
588        0,     0,   190,   191,   192,   176,     0,   193,     0,     0,
589        0,   177,   178,   179,   180,     0,     0,     0,     0,     0,
590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
591      181,   182,     0,   183,   184,   185,   186,   187,   188,   189,
592        0,     0,     0,     0,   190,   191,   192,   176,     0,   193,
593        0,     0,     0,   177,   178,   179,   180,     0,     0,     0,
594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
595        0,     0,     0,   182,     0,   183,   184,   185,   186,   187,
596      188,   189,     0,     0,     0,     0,   190,   191,   192,  -176,
597        0,   193,     0,     0,     0,   177,   178,   179,   180,     0,
598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
599      177,   178,   179,   180,     0,     0,     0,   183,   184,   185,
600      186,   187,   188,   189,     0,     0,     0,     0,   190,   191,
601      192,     0,     0,   193,   185,   186,   187,   188,   189,     0,
602        0,     0,     0,   190,   191,   192,     0,     0,   193
603 };
604
605 static const short int yycheck[] =
606 {
607       25,   101,    25,    54,    27,   215,   206,   106,   100,     0,
608       32,    62,     4,     3,   112,   113,   114,   115,   116,   117,
609       13,     3,   364,     4,    37,    68,    69,    36,    37,    72,
610       53,     3,    57,    56,     3,     4,     3,    43,   137,    48,
611        9,    54,    55,    68,    69,    54,    55,    56,    61,     3,
612       52,    60,    61,   395,     3,   106,     4,   108,     8,     9,
613       73,    74,    75,    76,    73,    74,    75,    76,    74,    77,
614        7,    73,    67,    68,    69,    81,    41,    72,   129,    23,
615       24,     3,    25,     5,    49,    75,   137,   110,    53,   111,
616        4,    56,    74,    75,    59,   305,   121,   122,    63,    64,
617       65,    66,    67,   202,    74,    77,    71,    72,    75,   122,
618       74,    74,    81,   122,   139,    74,    74,   209,   216,    74,
619       74,    75,    81,    82,    83,    14,    15,   327,    17,    18,
620       14,    15,   342,    17,    18,    48,    49,    50,   161,   164,
621      165,   166,   167,   168,   169,   170,   171,     0,   173,   174,
622      175,   202,    74,    75,    74,    44,    74,    74,     4,    81,
623       44,    14,    15,    74,    17,    18,    48,    49,    50,   194,
624      195,   196,   197,   198,   199,   385,    77,    52,   201,     3,
625      203,   206,    45,     4,   193,   210,   211,    76,   213,   288,
626      215,    44,    76,    74,    74,    73,    78,   222,    74,   224,
627      225,    48,    49,    50,    76,   214,    45,   172,   233,    75,
628        7,   176,   177,   178,   179,   180,   181,   182,   183,   184,
629      185,   186,   187,   188,   189,   190,    19,    20,    21,    22,
630       81,    78,    73,    26,    48,    49,    50,   288,    48,    49,
631       50,   266,    52,   268,   269,    48,    49,    50,    76,   361,
632      362,     7,    75,    73,   366,    48,    49,    50,     1,    73,
633        3,     4,     5,     6,     7,     8,   289,    10,    11,    12,
634      382,    50,   372,    16,   386,    78,    19,    20,    21,    22,
635       73,    36,    37,    26,    27,    74,    29,    30,    31,    32,
636       33,    77,    73,   318,    74,    38,    39,    40,    41,    42,
637       43,    73,   327,    46,    73,    73,    61,    62,    51,    73,
638       77,    76,    67,    68,    69,    76,    76,    72,    76,   344,
639       63,    64,    65,     3,    73,    76,    73,    70,    71,    73,
640       25,    74,    75,    74,    77,    77,    79,    80,    81,    82,
641       83,    84,    73,     1,    73,   381,     4,     5,     6,     7,
642        8,   213,    10,    11,    12,   344,   381,   322,    16,   165,
643       43,   339,   340,   341,    21,   343,    48,    49,    50,    27,
644      203,    29,    30,    31,    32,    33,    60,    48,    49,    50,
645       38,    39,    40,    41,    42,    43,    60,    -1,    46,    -1,
646      368,    -1,    -1,    51,    -1,    -1,    78,   375,    48,    49,
647       50,   379,    73,    -1,    -1,    63,    64,    65,    -1,    48,
648       49,    50,    70,    71,   392,   393,    74,    75,    -1,    77,
649       -1,    79,    80,    81,    82,    83,    84,     1,    78,    -1,
650        4,     5,     6,     7,     8,    -1,    10,    11,    12,    78,
651       -1,    -1,    16,    -1,    -1,    48,    49,    50,    34,    35,
652       36,    37,    -1,    27,    -1,    29,    30,    31,    32,    33,
653       48,    49,    50,    -1,    38,    39,    40,    41,    42,    43,
654       73,    -1,    46,    59,    60,    61,    62,    51,    48,    49,
655       50,    67,    68,    69,    -1,    73,    72,    -1,    -1,    63,
656       64,    65,    48,    49,    50,    -1,    70,    71,    -1,    73,
657       74,    75,    -1,    73,    -1,    79,    80,    81,    82,    83,
658       84,     3,     4,     5,     6,     7,     8,     9,    10,    11,
659       12,    -1,    78,    -1,    16,    -1,    -1,    -1,    -1,    34,
660       35,    36,    37,    -1,    -1,    27,    -1,    29,    30,    31,
661       32,    33,    -1,    -1,    -1,    -1,    38,    39,    40,    41,
662       42,    43,    -1,    -1,    46,    60,    61,    62,    -1,    51,
663       -1,    -1,    67,    68,    69,    -1,    -1,    72,    -1,    -1,
664       -1,    63,    64,    65,    19,    20,    21,    22,    70,    71,
665       -1,    26,    74,    75,    48,    49,    50,    79,    80,    81,
666       82,    83,    84,     3,     4,     5,     6,     7,     8,    -1,
667       10,    11,    12,    48,    49,    50,    16,    -1,    -1,    73,
668       34,    35,    36,    37,    48,    49,    50,    27,    -1,    29,
669       30,    31,    32,    33,    -1,    48,    49,    50,    38,    39,
670       40,    41,    42,    43,    -1,    -1,    46,    61,    62,    73,
671       -1,    51,    -1,    67,    68,    69,    -1,    -1,    72,    -1,
672       73,    -1,    -1,    63,    64,    65,    48,    49,    50,    -1,
673       70,    71,    -1,    -1,    74,    75,    48,    49,    50,    79,
674       80,    81,    82,    83,    84,     3,     4,     5,     6,     7,
675        8,    -1,    10,    11,    12,    77,    -1,    -1,    16,    -1,
676       -1,    73,    34,    35,    36,    37,    -1,    -1,    -1,    27,
677       -1,    29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,
678       38,    39,    40,    41,    42,    43,    -1,    -1,    46,    61,
679       62,    -1,    -1,    51,    -1,    67,    68,    69,    -1,    -1,
680       72,    -1,    -1,    -1,    -1,    63,    64,    65,    48,    49,
681       50,    -1,    70,    71,    -1,    -1,    74,    75,    48,    49,
682       50,    79,    80,    81,    82,    83,    84,     4,     5,     6,
683        7,     8,    -1,    10,    11,    12,    -1,    77,    -1,    16,
684       -1,    -1,    -1,    34,    -1,    36,    37,    77,    -1,    -1,
685       27,    -1,    29,    30,    31,    32,    33,    -1,    -1,    -1,
686       -1,    38,    39,    40,    41,    42,    43,    -1,    -1,    46,
687       61,    62,    -1,    -1,    51,    -1,    67,    68,    69,    -1,
688       -1,    72,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,
689       -1,    36,    37,    70,    71,    -1,    -1,    74,    75,    -1,
690       77,    -1,    79,    80,    81,    82,    83,    84,     4,     5,
691        6,     7,     8,    -1,    10,    11,    12,    62,    -1,    -1,
692       16,    -1,    67,    68,    69,    36,    -1,    72,    -1,    -1,
693       -1,    27,    -1,    29,    30,    31,    32,    33,    -1,    -1,
694       -1,    -1,    38,    39,    40,    41,    42,    43,    -1,    -1,
695       46,    62,    -1,    -1,    -1,    51,    67,    68,    69,    -1,
696       -1,    72,    -1,    -1,    -1,    -1,    -1,    63,    64,    65,
697       48,    49,    50,    -1,    70,    71,    -1,    73,    74,    75,
698       48,    49,    50,    79,    80,    81,    82,    83,    84,     4,
699        5,     6,     7,     8,    -1,    10,    11,    12,    -1,    77,
700       -1,    16,    -1,    48,    49,    50,    -1,    -1,    -1,    77,
701       -1,    -1,    27,    -1,    29,    30,    31,    32,    33,    -1,
702       -1,    -1,    -1,    38,    39,    40,    41,    42,    43,    -1,
703       -1,    46,    77,    62,    -1,    -1,    51,    -1,    67,    68,
704       69,    -1,    -1,    72,    -1,    -1,    -1,    -1,    63,    64,
705       65,    -1,    -1,    -1,    -1,    70,    71,    -1,    -1,    74,
706       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
707        4,     5,     6,     7,     8,    -1,    10,    11,    12,    -1,
708       -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
709       -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,    33,
710       -1,    -1,    -1,    -1,    38,    39,    40,    41,    42,    43,
711       -1,    -1,    46,    -1,    -1,    -1,    -1,    51,    -1,    -1,
712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
713       64,    65,    -1,    -1,    -1,    -1,    70,    71,    -1,    73,
714       74,    75,    -1,    -1,    -1,    79,    80,    81,    82,    83,
715       84,     4,     5,     6,     7,     8,    -1,    10,    11,    12,
716       -1,    -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,    -1,
717       -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
718       33,    -1,    -1,    -1,    -1,    38,    39,    40,    41,    42,
719       43,    -1,    -1,    46,    -1,    -1,    -1,    -1,    51,    -1,
720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
721       63,    64,    65,    -1,    -1,    -1,    -1,    70,    71,    -1,
722       73,    74,    75,    -1,    -1,    -1,    79,    80,    81,    82,
723       83,    84,     4,     5,     6,     7,     8,    -1,    10,    11,
724       12,    -1,    -1,    -1,    16,    -1,    -1,    -1,    -1,    -1,
725       -1,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,    31,
726       32,    33,    -1,    -1,    -1,    -1,    38,    39,    40,    41,
727       42,    43,    -1,    -1,    46,    -1,    -1,    -1,    -1,    51,
728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
729       -1,    63,    64,    65,    -1,    -1,    -1,    -1,    70,    71,
730       -1,    73,    74,    75,    -1,    -1,    -1,    79,    80,    81,
731       82,    83,    84,     4,     5,     6,     7,     8,    -1,    10,
732       11,    12,    -1,    -1,    -1,    16,    -1,    -1,    -1,    -1,
733       -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,
734       31,    32,    33,    -1,    -1,    -1,    -1,    38,    39,    40,
735       41,    42,    43,    -1,    -1,    46,    -1,    -1,    -1,    -1,
736       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
737       -1,    -1,    63,    64,    65,    -1,    -1,    -1,    -1,    70,
738       71,    -1,    73,    74,    75,    -1,    -1,    -1,    79,    80,
739       81,    82,    83,    84,     4,     5,     6,     7,     8,    -1,
740       10,    11,    12,    -1,    -1,    -1,    16,    -1,    -1,    -1,
741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,    29,
742       30,    31,    32,    33,    -1,    -1,    -1,    -1,    38,    39,
743       40,    41,    42,    43,    -1,    -1,    46,    -1,    -1,    -1,
744       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
745       -1,    -1,    -1,    63,    64,    65,    -1,    -1,    -1,    -1,
746       70,    71,    -1,    73,    74,    75,    -1,    -1,    -1,    79,
747       80,    81,    82,    83,    84,     4,     5,     6,     7,     8,
748       -1,    10,    11,    12,    -1,    -1,    -1,    16,    -1,    -1,
749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,
750       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    38,
751       39,    40,    41,    42,    43,    -1,    -1,    46,    -1,    -1,
752       -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
753       -1,    -1,    -1,    -1,    63,    64,    65,    -1,    -1,    -1,
754       -1,    70,    71,    -1,    73,    74,    75,    -1,    -1,    -1,
755       79,    80,    81,    82,    83,    84,     4,     5,     6,     7,
756        8,    -1,    10,    11,    12,    -1,    -1,    -1,    16,    -1,
757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
758       -1,    29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,
759       38,    39,    40,    41,    42,    43,    -1,    -1,    46,    -1,
760       -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,
761       -1,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,    -1,
762       -1,    -1,    70,    71,    -1,    73,    74,    75,    -1,    -1,
763       -1,    79,    80,    81,    82,    83,    84,     4,     5,     6,
764        7,     8,    -1,    10,    11,    12,    -1,    -1,    -1,    16,
765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
766       27,    -1,    29,    30,    31,    32,    33,    -1,    -1,    -1,
767       -1,    38,    39,    40,    41,    42,    43,    -1,    -1,    46,
768       -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,
769       -1,    -1,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,
770       -1,    -1,     3,    70,    71,    -1,    -1,    74,    75,    -1,
771       -1,    -1,    79,    80,    81,    82,    83,    84,    19,    20,
772       21,    22,    -1,    -1,    -1,    26,    -1,    28,    -1,    -1,
773       -1,    -1,    -1,    34,    35,    36,    37,    -1,    -1,    -1,
774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,    49,    50,
775       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
776       61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,    -1,
777       -1,    72,    73,    -1,    75,    -1,    77,    78,    19,    20,
778       21,    22,    -1,    -1,    -1,    26,    -1,    28,    -1,    -1,
779       -1,    -1,    -1,    34,    35,    36,    37,    -1,    -1,    -1,
780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,    49,    50,
781       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
782       61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,    -1,
783       -1,    72,    73,    28,    -1,    -1,    77,    78,    -1,    34,
784       35,    36,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    54,
786       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
787       -1,    -1,    67,    68,    69,    28,    -1,    72,    -1,    -1,
788       -1,    34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,
789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
790       53,    54,    -1,    56,    57,    58,    59,    60,    61,    62,
791       -1,    -1,    -1,    -1,    67,    68,    69,    28,    -1,    72,
792       -1,    -1,    -1,    34,    35,    36,    37,    -1,    -1,    -1,
793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
794       -1,    -1,    -1,    54,    -1,    56,    57,    58,    59,    60,
795       61,    62,    -1,    -1,    -1,    -1,    67,    68,    69,    28,
796       -1,    72,    -1,    -1,    -1,    34,    35,    36,    37,    -1,
797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
798       34,    35,    36,    37,    -1,    -1,    -1,    56,    57,    58,
799       59,    60,    61,    62,    -1,    -1,    -1,    -1,    67,    68,
800       69,    -1,    -1,    72,    58,    59,    60,    61,    62,    -1,
801       -1,    -1,    -1,    67,    68,    69,    -1,    -1,    72
802 };
803
804 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
805    symbol of state STATE-NUM.  */
806 static const unsigned char yystos[] =
807 {
808        0,    86,    89,     0,    93,    14,    15,    17,    18,    44,
809       92,   108,   109,   111,   112,   121,   122,   115,   113,     4,
810      113,   113,    13,    94,    99,   107,     4,   110,     4,   116,
811       77,   123,   116,     1,     3,     4,     5,     6,     7,     8,
812       10,    11,    12,    16,    19,    20,    21,    22,    26,    27,
813       29,    30,    31,    32,    33,    38,    39,    40,    41,    42,
814       43,    46,    51,    63,    64,    65,    70,    71,    74,    75,
815       77,    79,    80,    81,    82,    83,    84,    87,    95,    97,
816      124,   125,   126,   129,   130,   131,   132,   133,   134,   135,
817      140,   141,   142,   143,   144,   145,    87,     7,   117,     4,
818      117,    88,     4,     9,    87,   141,   146,   146,    74,   134,
819      114,   114,    74,    74,    74,    74,    43,    74,   141,   134,
820       74,    74,    74,    87,   134,     4,   125,   137,   141,   146,
821      146,     4,    87,   134,   141,    77,   124,     4,   134,    74,
822      136,   141,   142,   143,   146,   125,   134,   134,   134,   134,
823      134,    73,   124,    78,   124,   134,   134,   146,   146,   146,
824      146,    25,    98,    77,    19,    20,    21,    22,    26,    48,
825       49,    50,    52,     3,    74,    75,    28,    34,    35,    36,
826       37,    53,    54,    56,    57,    58,    59,    60,    61,    62,
827       67,    68,    69,    72,    74,     3,    75,     3,    75,     3,
828       45,   118,     4,   118,    93,   137,    74,   125,    87,   117,
829       88,    88,    88,    88,    88,    88,    74,    73,    73,   124,
830      124,   138,   146,   125,    74,    74,    76,    77,   137,    73,
831      124,    45,   119,    75,    73,    78,    87,   124,   102,   124,
832      124,   124,   124,   124,   124,   124,   134,   124,    73,   124,
833      124,   134,   134,   134,   134,   134,   134,   134,   134,   134,
834      134,   134,   134,   134,   134,   134,     3,     5,    74,    75,
835      128,   141,    73,   124,   124,   124,   124,   124,   124,     7,
836       77,    87,   120,   137,   120,    76,   138,    73,   127,   118,
837      101,   105,   124,   102,   106,   103,   124,   106,   139,   141,
838       95,   100,   103,   104,   124,    88,    73,    52,    73,   124,
839       73,   124,    73,   124,    76,    73,     7,   124,    75,    77,
840       73,    78,    55,   124,    73,   124,   124,    74,    73,    77,
841       78,    77,    78,    77,    77,    73,   137,    87,    73,    73,
842       73,    73,    74,    73,    77,   103,    73,    73,    73,    78,
843      124,    76,   134,    77,    73,    78,   138,    76,    76,    76,
844        3,    90,    90,    90,    90,   103,    90,   105,    73,    78,
845       76,    73,    91,    98,    98,    23,    24,    96,    96,    73,
846       98,    77,    90,    93,    90,    74,    90,   104,    98,    76,
847      103,    98,    73,    73,    90,    90,    96
848 };