This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
rename convert to op_convert_list and APIfy
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  14
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   2784
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  104
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  77
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  250
17 /* YYNRULES -- Number of states.  */
18 #define YYNSTATES  498
19
20 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
21 #define YYUNDEFTOK  2
22 #define YYMAXUTOK   337
23
24 #define YYTRANSLATE(YYX)                                                \
25   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
26
27 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
28 static const yytype_uint8 yytranslate[] =
29 {
30        0,     2,     2,     2,     2,     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,     2,     2,    91,     2,     2,    15,    17,    19,     2,
34      103,   102,    18,    14,    80,    13,    22,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,    83,    20,
36        2,    21,     2,    82,    16,     2,     2,     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,    11,     2,    12,     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,     9,     2,    10,    92,     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,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
56        5,     6,     7,     8,    23,    24,    25,    26,    27,    28,
57       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
58       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
59       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
60       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
61       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
62       79,    81,    84,    85,    86,    87,    88,    89,    90,    93,
63       94,    95,    96,    97,    98,    99,   100,   101
64 };
65
66 #if YYDEBUG
67 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
68    YYRHS.  */
69 static const yytype_uint16 yyprhs[] =
70 {
71        0,     0,     3,     4,     9,    10,    14,    15,    19,    20,
72       24,    25,    29,    30,    34,    39,    47,    48,    53,    54,
73       55,    58,    59,    62,    64,    66,    69,    72,    74,    79,
74       80,    88,    93,    94,   102,   110,   118,   125,   132,   135,
75      144,   153,   154,   155,   169,   179,   188,   189,   201,   211,
76      219,   222,   223,   232,   235,   237,   240,   241,   245,   247,
77      249,   253,   257,   261,   265,   269,   273,   274,   277,   284,
78      285,   288,   289,   290,   292,   293,   295,   297,   299,   301,
79      303,   305,   306,   307,   308,   309,   311,   313,   314,   316,
80      317,   320,   322,   325,   327,   328,   329,   333,   339,   341,
81      343,   347,   351,   355,   357,   360,   364,   366,   370,   376,
82      383,   387,   391,   397,   400,   405,   406,   412,   414,   416,
83      422,   427,   433,   438,   444,   451,   457,   462,   468,   473,
84      477,   484,   489,   495,   499,   503,   507,   511,   515,   519,
85      523,   527,   531,   535,   539,   543,   547,   551,   554,   557,
86      560,   563,   566,   569,   572,   575,   578,   582,   585,   590,
87      594,   600,   603,   606,   608,   610,   612,   614,   620,   623,
88      625,   628,   632,   634,   637,   639,   641,   643,   645,   647,
89      649,   654,   659,   665,   671,   673,   675,   679,   684,   688,
90      693,   698,   703,   708,   713,   715,   718,   721,   723,   726,
91      729,   731,   734,   736,   739,   741,   745,   747,   751,   753,
92      757,   762,   763,   769,   771,   773,   775,   777,   781,   784,
93      788,   791,   793,   795,   797,   798,   800,   801,   803,   805,
94      807,   809,   811,   813,   815,   818,   821,   824,   827,   830,
95      835,   838,   840,   844,   846,   850,   852,   856,   858,   860,
96      862
97 };
98
99 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
100 static const yytype_int16 yyrhs[] =
101 {
102      105,     0,    -1,    -1,     3,   106,   114,   117,    -1,    -1,
103        4,   107,   167,    -1,    -1,     5,   108,   112,    -1,    -1,
104        6,   109,   121,    -1,    -1,     7,   110,   119,    -1,    -1,
105        8,   111,   117,    -1,     9,   114,   117,    10,    -1,    21,
106      114,    20,    74,   118,    20,    22,    -1,    -1,     9,   116,
107      117,    10,    -1,    -1,    -1,   117,   119,    -1,    -1,   118,
108      128,    -1,   121,    -1,   120,    -1,    36,   121,    -1,    36,
109      120,    -1,    35,    -1,    37,   143,   140,   113,    -1,    -1,
110       38,   144,   141,   122,   145,   146,   151,    -1,    40,    23,
111       23,    20,    -1,    -1,    41,   141,   123,    23,    23,   166,
112       20,    -1,    44,   103,   114,   137,   102,   115,   131,    -1,
113       45,   103,   114,   139,   102,   115,   131,    -1,    50,   103,
114      114,   137,   102,   115,    -1,    51,   103,   114,   137,   102,
115      115,    -1,    52,   112,    -1,    42,   103,   114,   135,   102,
116      133,   115,   132,    -1,    43,   103,   114,   136,   102,   133,
117      115,   132,    -1,    -1,    -1,    49,   103,   114,   138,    20,
118      124,   135,    20,   125,   133,   138,   102,   115,    -1,    49,
119       70,   114,   168,   103,   137,   102,   115,   132,    -1,    49,
120      172,   103,   114,   137,   102,   115,   132,    -1,    -1,    49,
121       93,    70,   114,   169,   126,   103,   137,   102,   115,   132,
122       -1,    49,    93,   170,   103,   114,   137,   102,   115,   132,
123       -1,    49,   103,   114,   137,   102,   115,   132,    -1,   112,
124      132,    -1,    -1,    40,    23,    23,     9,   114,   127,   117,
125       10,    -1,   130,    20,    -1,    20,    -1,    26,   129,    -1,
126       -1,    73,   117,    74,    -1,     1,    -1,   152,    -1,   152,
127       44,   152,    -1,   152,    45,   152,    -1,   152,    42,   152,
128       -1,   152,    43,   136,    -1,   152,    49,   152,    -1,   152,
129       51,   152,    -1,    -1,    46,   115,    -1,    47,   103,   137,
130      102,   115,   131,    -1,    -1,    48,   112,    -1,    -1,    -1,
131      130,    -1,    -1,   152,    -1,   152,    -1,   152,    -1,   134,
132       -1,   136,    -1,    23,    -1,    -1,    -1,    -1,    -1,    23,
133       -1,    28,    -1,    -1,    26,    -1,    -1,    72,    26,    -1,
134       72,    -1,    72,    26,    -1,    72,    -1,    -1,    -1,   103,
135      149,   102,    -1,   114,   148,     9,   117,    10,    -1,   150,
136       -1,    20,    -1,   152,    78,   152,    -1,   152,    77,   152,
137       -1,   152,    76,   152,    -1,   153,    -1,   153,    80,    -1,
138      153,    80,   162,    -1,   162,    -1,    60,   180,   153,    -1,
139       58,   103,   180,   152,   102,    -1,   162,   101,   156,   103,
140      167,   102,    -1,   162,   101,   156,    -1,    24,   180,   166,
141       -1,    25,   180,   103,   167,   102,    -1,    60,   166,    -1,
142       58,   103,   167,   102,    -1,    -1,    33,   142,   112,   155,
143      166,    -1,    24,    -1,   172,    -1,   179,     9,   152,    20,
144       10,    -1,   172,    11,   152,    12,    -1,   162,   101,    11,
145      152,    12,    -1,   157,    11,   152,    12,    -1,   172,     9,
146      152,    20,    10,    -1,   162,   101,     9,   152,    20,    10,
147       -1,   157,     9,   152,    20,    10,    -1,   162,   101,   103,
148      102,    -1,   162,   101,   103,   152,   102,    -1,   157,   103,
149      152,   102,    -1,   157,   103,   102,    -1,   103,   152,   102,
150       11,   152,    12,    -1,    29,    11,   152,    12,    -1,   103,
151      102,    11,   152,    12,    -1,   162,    81,   162,    -1,   162,
152       95,   162,    -1,   162,    63,   162,    -1,   162,    64,   162,
153       -1,   162,    89,   162,    -1,   162,    61,   162,    -1,   162,
154       62,   162,    -1,   162,    88,   162,    -1,   162,    87,   162,
155       -1,   162,    54,   162,    -1,   162,    86,   162,    -1,   162,
156       85,   162,    -1,   162,    84,   162,    -1,   162,    90,   162,
157       -1,    13,   162,    -1,    14,   162,    -1,    91,   162,    -1,
158       92,   162,    -1,   162,    98,    -1,   162,    97,    -1,   162,
159       96,    -1,   100,   162,    -1,    99,   162,    -1,    11,   152,
160       12,    -1,    11,    12,    -1,    67,   152,    20,    10,    -1,
161       67,    20,    10,    -1,    39,   142,   145,   146,   150,    -1,
162       66,   162,    -1,    66,   112,    -1,   158,    -1,   159,    -1,
163      160,    -1,   161,    -1,   162,    82,   162,    83,   162,    -1,
164       93,   162,    -1,   164,    -1,    69,   162,    -1,   103,   152,
165      102,    -1,    29,    -1,   103,   102,    -1,   172,    -1,   176,
166       -1,   174,    -1,   173,    -1,   175,    -1,   157,    -1,   177,
167       11,   152,    12,    -1,   178,    11,   152,    12,    -1,   177,
168        9,   152,    20,    10,    -1,   178,     9,   152,    20,    10,
169       -1,    26,    -1,   171,    -1,   171,   103,   102,    -1,   171,
170      103,   152,   102,    -1,    68,   144,   166,    -1,   162,   101,
171       15,    18,    -1,   162,   101,    16,    18,    -1,   162,   101,
172       17,    18,    -1,   162,   101,    19,    18,    -1,   162,   101,
173       18,    18,    -1,    53,    -1,    53,   162,    -1,    79,   153,
174       -1,    59,    -1,    59,   112,    -1,    59,   162,    -1,    71,
175       -1,    71,   162,    -1,    32,    -1,    32,   162,    -1,    56,
176       -1,    56,   103,   102,    -1,    30,    -1,    30,   103,   102,
177       -1,    31,    -1,    57,   103,   102,    -1,    57,   103,   152,
178      102,    -1,    -1,    27,   163,   103,   153,   102,    -1,    23,
179       -1,   154,    -1,    55,    -1,    34,    -1,    70,   165,   147,
180       -1,    70,   165,    -1,   103,   152,   102,    -1,   103,   102,
181       -1,   172,    -1,   174,    -1,   173,    -1,    -1,   153,    -1,
182       -1,   152,    -1,   172,    -1,   172,    -1,   173,    -1,   174,
183       -1,   169,    -1,   171,    -1,    19,   180,    -1,    15,   180,
184       -1,    16,   180,    -1,    17,   180,    -1,    65,   180,    -1,
185      162,   101,    65,    18,    -1,    18,   180,    -1,   173,    -1,
186      162,   101,    16,    -1,   174,    -1,   162,   101,    17,    -1,
187      176,    -1,   162,   101,    18,    -1,    23,    -1,   172,    -1,
188      112,    -1,    28,    -1
189 };
190
191 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
192 static const yytype_uint16 yyrline[] =
193 {
194        0,   115,   115,   114,   124,   123,   133,   132,   145,   144,
195      157,   156,   169,   168,   180,   188,   196,   199,   207,   212,
196      213,   223,   224,   233,   237,   241,   245,   252,   254,   265,
197      264,   296,   304,   303,   311,   317,   323,   334,   336,   338,
198      345,   353,   355,   352,   371,   376,   383,   382,   397,   405,
199      411,   418,   417,   432,   436,   444,   462,   463,   468,   470,
200      472,   474,   476,   478,   480,   483,   489,   490,   495,   506,
201      507,   513,   519,   520,   525,   528,   532,   537,   541,   545,
202      549,   550,   554,   560,   565,   570,   571,   576,   577,   582,
203      583,   585,   590,   592,   597,   599,   598,   617,   627,   628,
204      632,   634,   636,   638,   642,   644,   649,   653,   657,   661,
205      667,   672,   678,   684,   686,   689,   688,   699,   700,   704,
206      708,   711,   716,   721,   724,   728,   732,   735,   740,   744,
207      747,   749,   751,   756,   758,   760,   765,   767,   769,   771,
208      773,   775,   777,   779,   781,   783,   785,   790,   792,   795,
209      797,   799,   802,   805,   816,   819,   826,   828,   830,   832,
210      834,   841,   843,   847,   848,   849,   850,   851,   853,   855,
211      857,   859,   861,   863,   865,   867,   869,   871,   873,   875,
212      877,   887,   897,   907,   917,   919,   921,   924,   929,   933,
213      935,   937,   939,   942,   944,   947,   949,   951,   953,   955,
214      957,   959,   961,   963,   966,   968,   970,   972,   974,   976,
215      980,   983,   982,   995,   996,   997,  1002,  1006,  1008,  1013,
216     1015,  1018,  1020,  1022,  1027,  1029,  1034,  1035,  1041,  1045,
217     1046,  1047,  1050,  1051,  1054,  1058,  1062,  1068,  1074,  1076,
218     1080,  1084,  1085,  1089,  1090,  1094,  1095,  1100,  1102,  1104,
219     1107
220 };
221 #endif
222
223 #if YYDEBUG || YYERROR_VERBOSE || 0
224 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
225    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
226 static const char *const yytname[] =
227 {
228   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
229   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "'{'", "'}'", "'['",
230   "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", "'&'", "';'", "'='",
231   "'.'", "WORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF",
232   "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR",
233   "PLUGSTMT", "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE",
234   "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR",
235   "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
236   "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP",
237   "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE",
238   "COLONATTR", "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "DOROP", "OROP",
239   "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR",
240   "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'",
241   "REFGEN", "UMINUS", "POWOP", "POSTJOIN", "POSTDEC", "POSTINC", "PREDEC",
242   "PREINC", "ARROW", "')'", "'('", "$accept", "grammar", "$@1", "$@2",
243   "$@3", "$@4", "$@5", "$@6", "block", "formblock", "remember", "mblock",
244   "mremember", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt",
245   "barestmt", "$@7", "$@8", "$@9", "$@10", "@11", "$@12", "formline",
246   "formarg", "sideff", "else", "cont", "mintro", "nexpr", "texpr", "iexpr",
247   "mexpr", "mnexpr", "miexpr", "formname", "startsub", "startanonsub",
248   "startformsub", "subname", "proto", "subattrlist", "myattrlist",
249   "subsignature", "@13", "realsubbody", "optsubbody", "expr", "listexpr",
250   "listop", "@14", "method", "subscripted", "termbinop", "termunop",
251   "anonymous", "termdo", "term", "@15", "myattrterm", "myterm",
252   "optlistexpr", "optexpr", "my_scalar", "my_var", "refgen_topic", "amper",
253   "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem",
254   "indirob", YY_NULL
255 };
256 #endif
257
258 # ifdef YYPRINT
259 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
260    token YYLEX-NUM.  */
261 static const yytype_uint16 yytoknum[] =
262 {
263        0,   256,   257,   258,   259,   260,   261,   262,   263,   123,
264      125,    91,    93,    45,    43,    36,    64,    37,    42,    38,
265       59,    61,    46,   264,   265,   266,   267,   268,   269,   270,
266      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
267      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
268      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
269      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
270      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
271       44,   321,    63,    58,   322,   323,   324,   325,   326,   327,
272      328,    33,   126,   329,   330,   331,   332,   333,   334,   335,
273      336,   337,    41,    40
274 };
275 # endif
276
277 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
278 static const yytype_uint8 yyr1[] =
279 {
280        0,   104,   106,   105,   107,   105,   108,   105,   109,   105,
281      110,   105,   111,   105,   112,   113,   114,   115,   116,   117,
282      117,   118,   118,   119,   119,   120,   120,   121,   121,   122,
283      121,   121,   123,   121,   121,   121,   121,   121,   121,   121,
284      121,   124,   125,   121,   121,   121,   126,   121,   121,   121,
285      121,   127,   121,   121,   121,   128,   129,   129,   130,   130,
286      130,   130,   130,   130,   130,   130,   131,   131,   131,   132,
287      132,   133,   134,   134,   135,   135,   136,   137,   138,   139,
288      140,   140,   141,   142,   143,   144,   144,   145,   145,   146,
289      146,   146,   147,   147,   148,   149,   148,   150,   151,   151,
290      152,   152,   152,   152,   153,   153,   153,   154,   154,   154,
291      154,   154,   154,   154,   154,   155,   154,   156,   156,   157,
292      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
293      157,   157,   157,   158,   158,   158,   158,   158,   158,   158,
294      158,   158,   158,   158,   158,   158,   158,   159,   159,   159,
295      159,   159,   159,   159,   159,   159,   160,   160,   160,   160,
296      160,   161,   161,   162,   162,   162,   162,   162,   162,   162,
297      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
298      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
299      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
300      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
301      162,   163,   162,   162,   162,   162,   162,   164,   164,   165,
302      165,   165,   165,   165,   166,   166,   167,   167,   168,   169,
303      169,   169,   170,   170,   171,   172,   173,   174,   175,   175,
304      176,   177,   177,   178,   178,   179,   179,   180,   180,   180,
305      180
306 };
307
308 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
309 static const yytype_uint8 yyr2[] =
310 {
311        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
312        0,     3,     0,     3,     4,     7,     0,     4,     0,     0,
313        2,     0,     2,     1,     1,     2,     2,     1,     4,     0,
314        7,     4,     0,     7,     7,     7,     6,     6,     2,     8,
315        8,     0,     0,    13,     9,     8,     0,    11,     9,     7,
316        2,     0,     8,     2,     1,     2,     0,     3,     1,     1,
317        3,     3,     3,     3,     3,     3,     0,     2,     6,     0,
318        2,     0,     0,     1,     0,     1,     1,     1,     1,     1,
319        1,     0,     0,     0,     0,     1,     1,     0,     1,     0,
320        2,     1,     2,     1,     0,     0,     3,     5,     1,     1,
321        3,     3,     3,     1,     2,     3,     1,     3,     5,     6,
322        3,     3,     5,     2,     4,     0,     5,     1,     1,     5,
323        4,     5,     4,     5,     6,     5,     4,     5,     4,     3,
324        6,     4,     5,     3,     3,     3,     3,     3,     3,     3,
325        3,     3,     3,     3,     3,     3,     3,     2,     2,     2,
326        2,     2,     2,     2,     2,     2,     3,     2,     4,     3,
327        5,     2,     2,     1,     1,     1,     1,     5,     2,     1,
328        2,     3,     1,     2,     1,     1,     1,     1,     1,     1,
329        4,     4,     5,     5,     1,     1,     3,     4,     3,     4,
330        4,     4,     4,     4,     1,     2,     2,     1,     2,     2,
331        1,     2,     1,     2,     1,     3,     1,     3,     1,     3,
332        4,     0,     5,     1,     1,     1,     1,     3,     2,     3,
333        2,     1,     1,     1,     0,     1,     0,     1,     1,     1,
334        1,     1,     1,     1,     2,     2,     2,     2,     2,     4,
335        2,     1,     3,     1,     3,     1,     3,     1,     1,     1,
336        1
337 };
338
339 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
340    Performed when YYTABLE doesn't specify something else to do.  Zero
341    means the default is an error.  */
342 static const yytype_uint8 yydefact[] =
343 {
344        0,     2,     4,     6,     8,    10,    12,     0,    16,   226,
345        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
346        0,     0,     0,     0,   213,     0,     0,   184,   211,   172,
347      206,   208,   202,    83,   216,    83,   194,   215,   204,     0,
348        0,   197,   224,     0,     0,     0,     0,     0,     0,   200,
349        0,     0,     0,     0,     0,     0,     0,   227,   103,   214,
350      179,   163,   164,   165,   166,   106,   169,     5,   185,   174,
351      177,   176,   178,   175,     0,     0,     0,    16,     7,    58,
352       54,    27,    84,     0,     0,    82,     0,     0,     0,     0,
353        0,     0,     0,     0,    69,     9,     0,    59,     0,    11,
354       24,    23,     0,     0,   157,     0,   147,   148,   247,   250,
355      249,   248,   235,   236,   237,   240,   234,   224,     0,     0,
356        0,     0,   203,     0,    87,   195,     0,     0,   226,   198,
357      199,   247,   225,   113,   248,     0,   238,   162,   161,     0,
358        0,    85,    86,   224,   170,     0,   218,   221,   223,   222,
359      201,   196,   149,   150,   168,   155,   154,   173,     0,     0,
360        0,     0,   104,     0,     0,     0,     0,     0,     0,     0,
361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
362        0,   153,   152,   151,     0,     0,     0,     0,     0,     0,
363        0,     0,     0,    19,    81,    82,     0,    32,    16,    16,
364       16,    16,    16,     0,    16,     0,    16,    16,    38,     0,
365       50,    53,     0,     0,     0,     0,     0,     0,    26,    25,
366       20,   156,   111,   226,     0,     0,   207,   115,    88,    89,
367      205,   209,     0,     0,     0,   107,   159,     0,   188,   220,
368        0,    93,   217,     0,   171,   102,   101,   100,   105,     0,
369        0,   129,     0,   142,   138,   139,   135,   136,   133,     0,
370      145,   144,   143,   141,   140,   137,   146,   134,     0,     0,
371        0,   242,   244,   246,     0,   117,     0,     0,   110,   118,
372      186,     0,     0,     0,     0,     0,     0,     0,     0,     0,
373       80,     0,    29,     0,     0,    74,     0,     0,     0,     0,
374       16,   232,     0,   233,   229,   230,   231,     0,    16,     0,
375        0,    70,    62,    63,    76,    60,    61,    64,    65,     0,
376        0,   131,   224,    91,    16,   210,   114,     0,   158,   219,
377       92,     0,     0,     0,   122,   128,     0,     0,     0,   189,
378      190,   191,   193,   192,   239,   126,     0,   226,   187,     0,
379      120,     0,   180,     0,   181,     0,    14,    16,    28,    87,
380       16,    31,     0,     0,    75,     0,     0,    77,    79,     0,
381        0,   228,     0,    16,    73,    78,     0,     0,    59,     0,
382        0,     0,   112,   212,   116,    90,    94,   160,   108,   132,
383        0,   125,   167,     0,   121,   127,     0,   123,   182,   183,
384      119,     0,    89,    51,   224,    71,    71,     0,     0,     0,
385       46,     0,     0,    41,     0,     0,     0,    95,     0,   130,
386      124,   109,     0,    16,    19,     0,     0,     0,    18,    66,
387       66,     0,     0,     0,    69,    74,     0,    36,    37,     0,
388       19,    21,    99,    98,    30,     0,    33,    69,    69,    19,
389        0,     0,    34,    35,     0,     0,     0,    49,     0,    69,
390       96,     0,     0,    52,    39,    40,     0,    67,     0,    69,
391        0,    69,    42,    45,    97,     0,    56,    22,    17,     0,
392       44,     0,    48,    71,    15,    19,    55,     0,    69,     0,
393        0,    66,    47,     0,    57,    68,     0,    43
394 };
395
396 /* YYDEFGOTO[NTERM-NUM].  */
397 static const yytype_int16 yydefgoto[] =
398 {
399       -1,     7,     8,     9,    10,    11,    12,    13,   110,   358,
400      386,   429,   449,   102,   462,   220,   100,   101,   359,   294,
401      435,   483,   432,   424,   477,   486,    96,   452,   210,   426,
402      375,   363,   313,   366,   377,   369,   291,   197,   123,   194,
403      143,   229,   324,   242,   418,   439,   387,   444,    97,    58,
404       59,   322,   278,    60,    61,    62,    63,    64,    65,   119,
405       66,   146,   133,    67,   370,   301,   302,    68,    69,    70,
406       71,    72,    73,    74,    75,    76,   112
407 };
408
409 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
410    STATE-NUM.  */
411 #define YYPACT_NINF -416
412 static const yytype_int16 yypact[] =
413 {
414      546,  -416,  -416,  -416,  -416,  -416,  -416,    24,  -416,  2570,
415       68,  1222,  1129,  -416,  -416,  -416,  1830,  2570,  2570,   303,
416      303,   303,   303,   303,  -416,   303,   303,  -416,  -416,    60,
417      -25,  -416,  2570,  -416,  -416,  -416,  2570,  -416,    -2,    12,
418       29,  1737,  1644,   303,  1737,  1921,     7,  2570,     4,  2570,
419     2570,  2570,  2570,  2570,  2570,  2570,  2012,   272,    42,  -416,
420        3,  -416,  -416,  -416,  -416,  2638,  -416,  -416,    51,    32,
421       45,   138,  -416,   132,   156,   258,   146,  -416,  -416,  -416,
422     -416,  -416,  -416,     7,   104,  -416,    61,    76,    77,    87,
423       -8,    94,    95,    68,   123,  -416,   183,  2010,  1129,  -416,
424     -416,  -416,   468,   563,  -416,    20,   447,   447,  -416,  -416,
425     -416,  -416,  -416,  -416,  -416,  -416,  -416,  2570,   101,   129,
426     2570,   131,  1906,    68,   213,  2638,   144,  2105,  1644,  -416,
427     1906,  1550,    42,  -416,  1471,  2570,  -416,  -416,  1906,   237,
428      130,  -416,  -416,  2570,  1906,  2198,   192,  -416,  -416,  -416,
429     1906,    42,   447,   447,   447,   539,   539,   259,   -50,  2570,
430     2570,  2570,  2570,  2570,  2570,  2291,  2570,  2570,  2570,  2570,
431     2570,  2570,  2570,  2570,  2570,  2570,  2570,  2570,  2570,  2570,
432     2570,  -416,  -416,  -416,   219,  2384,  2570,  2570,  2570,  2570,
433     2570,  2570,  2570,  -416,   250,  -416,   255,  -416,  -416,  -416,
434     -416,  -416,  -416,    21,  -416,   185,  -416,  -416,  -416,    68,
435     -416,  -416,  2570,  2570,  2570,  2570,  2570,  2570,  -416,  -416,
436     -416,  -416,  -416,  2570,  2570,    43,  -416,  -416,  -416,   239,
437     -416,  -416,   -27,   189,  2570,    42,  -416,   305,  -416,  -416,
438      124,   287,  -416,  2570,   312,   246,   246,  -416,  2638,   205,
439       62,  -416,   318,  1303,  1815,  1629,   365,   329,  2638,  2593,
440      352,   352,  1441,  1520,  1722,   288,   447,   447,  2570,  2570,
441      262,   309,   320,   321,   325,  -416,   328,  2477,   227,  -416,
442     -416,   327,   222,    67,   225,    75,   243,    92,   277,   658,
443     -416,   336,  -416,     9,   337,  2570,  2570,  2570,  2570,   357,
444     -416,  -416,   270,  -416,  -416,  -416,  -416,  1315,  -416,  2570,
445     2570,  -416,   272,  -416,   272,   272,   272,   272,   272,   273,
446      -57,  -416,  2570,   353,  -416,  -416,  -416,   368,  -416,  -416,
447     -416,    96,  2570,   371,  -416,  -416,  2570,   285,   100,  -416,
448     -416,  -416,  -416,  -416,  -416,  -416,   438,  2570,  -416,   377,
449     -416,   378,  -416,   381,  -416,   387,  -416,  -416,  -416,   213,
450     -416,  -416,   375,   298,   272,   299,   300,   272,  -416,   307,
451      304,  -416,   349,  -416,  -416,  -416,   315,   391,   291,  2570,
452      319,   331,  -416,  -416,  -416,  -416,   333,  -416,  -416,  -416,
453      118,  -416,  2683,   412,  -416,  -416,   332,  -416,  -416,  -416,
454     -416,   403,   239,  -416,  2570,  -416,  -416,   422,   422,  2570,
455     -416,  2570,   422,  -416,   341,   422,   422,  -416,   445,  -416,
456     -416,  -416,   383,   439,  -416,   444,   422,   422,  -416,    19,
457       19,   356,   364,   369,   123,  2570,   422,  -416,  -416,   370,
458     -416,  -416,  -416,  -416,  -416,   753,  -416,   123,   123,  -416,
459      422,   372,  -416,  -416,   422,  2570,   422,  -416,   454,   123,
460     -416,   848,    13,  -416,  -416,  -416,   943,  -416,  2570,   123,
461      374,   123,  -416,  -416,  -416,   456,   416,  -416,  -416,   388,
462     -416,   422,  -416,  -416,  -416,  -416,  -416,   422,   123,  1408,
463     1036,    19,  -416,   394,  -416,  -416,   422,  -416
464 };
465
466 /* YYPGOTO[NTERM-NUM].  */
467 static const yytype_int16 yypgoto[] =
468 {
469     -416,  -416,  -416,  -416,  -416,  -416,  -416,  -416,   -10,  -416,
470       17,  -140,  -416,   -12,  -416,   510,   431,     5,  -416,  -416,
471     -416,  -416,  -416,  -416,  -416,  -416,  -296,  -415,   -89,  -401,
472     -416,    97,  -187,  -263,    41,  -416,  -416,   346,   496,  -416,
473      463,   196,   154,  -416,  -416,  -416,   134,  -416,    -3,   -33,
474     -416,  -416,  -416,  -416,  -416,  -416,  -416,  -416,    82,  -416,
475     -416,  -416,   -95,  -118,  -416,   186,  -416,   359,    38,   -44,
476      -40,  -416,  -416,  -416,  -416,  -416,    47
477 };
478
479 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
480    positive, shift that token.  If negative, reduce the rule which
481    number is the opposite.  If YYTABLE_NINF, syntax error.  */
482 #define YYTABLE_NINF -246
483 static const yytype_int16 yytable[] =
484 {
485       78,    94,    94,   103,   148,   427,    57,    19,   149,   132,
486      233,   374,   163,   105,   164,   453,    95,   151,   360,    19,
487       20,    21,   222,   162,    14,    15,   159,   160,   161,   361,
488      141,   129,   221,   475,   137,   142,    19,    20,    21,   476,
489       23,   186,   140,   187,   376,   383,   380,   381,   238,   159,
490      160,   161,   244,   158,  -241,   321,  -241,   111,   111,   111,
491      111,   111,   202,   111,   111,   450,   451,   113,   114,   115,
492      116,   120,   117,   118,   334,   325,   495,    77,   121,   350,
493      134,   111,   489,   208,   132,   203,   147,   352,    94,   135,
494      136,   300,    94,    94,   193,   204,   159,   160,   161,   106,
495      107,   126,   235,   219,   354,   319,   165,   145,   389,   365,
496      132,   368,   394,   227,   122,   127,   414,   225,   125,   159,
497      160,   161,   162,   130,   232,    57,   138,   196,   205,   144,
498      419,   150,   128,   152,   153,   154,   155,   156,   159,   160,
499      161,  -245,   240,   159,   160,   161,   431,  -243,   433,  -243,
500      237,   159,   160,   161,   185,   192,   245,   246,   247,   305,
501      249,   250,   252,   306,   198,   188,   134,   189,   159,   160,
502      161,   209,   159,   160,   161,   234,   159,   160,   161,   199,
503      200,   289,   281,   282,   283,   284,   285,   286,   287,   288,
504      201,   320,   470,   374,   159,   160,   161,   206,   207,   311,
505      159,   160,   161,   211,   223,   479,   159,   160,   161,   312,
506      314,   315,   316,   317,   318,   295,   296,   297,   298,   299,
507       57,   307,   279,   309,   310,   333,   329,   384,   268,   396,
508      269,   327,   224,   226,   270,   271,   272,   273,   274,   228,
509      331,   304,   349,   275,   248,   351,   230,   236,   253,   254,
510      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
511      265,   266,   267,   353,   241,   337,   338,   190,   430,   191,
512      243,    77,   434,   290,   346,   437,   438,    19,   293,    94,
513      339,   159,   160,   161,   276,   108,   447,   448,   308,   132,
514      109,   326,   364,   314,   367,   314,   459,   355,   159,   160,
515      161,   159,   160,   161,   378,   393,   367,   367,   111,   425,
516      467,   323,    77,   330,   469,   328,   471,   372,    19,   159,
517      160,   161,   277,   332,   161,   379,   108,   340,   305,   390,
518      347,   109,   306,   212,   213,   214,   215,   371,   341,   342,
519      216,   488,   217,   343,    57,   457,   344,   491,   159,   160,
520      161,   169,   170,   159,   160,   161,   497,   357,   464,   465,
521      362,   159,   160,   161,    19,    20,    21,   159,   160,   161,
522      473,   132,    19,   373,   401,   382,   367,   403,   179,   385,
523      480,   391,   482,   180,   181,   182,   183,   397,   398,   184,
524      411,   399,   169,   -77,   159,   160,   161,   400,   404,   492,
525      405,   406,   407,   159,   160,   161,   367,   409,   367,   408,
526      304,   413,   445,   167,   168,   169,   170,   412,   392,   179,
527      335,   415,   420,   422,   180,   181,   182,   183,   461,   348,
528      184,   428,   364,   416,   421,    94,   417,   466,   175,   176,
529      177,   178,   179,   436,   159,   160,   161,   180,   181,   182,
530      183,    94,   367,   184,   440,   179,    94,   441,   454,   442,
531      180,   181,   182,   183,   446,   367,   184,   455,   -13,    79,
532      388,   456,   460,   490,   472,   468,   481,    77,   484,    16,
533       94,    17,    18,    19,    20,    21,    22,    23,    80,   485,
534      487,    24,    25,    26,    27,    28,   496,    29,    30,    31,
535       32,    33,    34,    81,    98,    82,    83,    35,    84,    85,
536       86,    87,    88,    89,   159,   160,   161,    90,    91,    92,
537       93,    36,    99,    37,    38,    39,    40,    41,    42,   218,
538      493,   124,   458,    43,    44,    45,    46,    47,    48,    49,
539      395,   292,   180,   181,   182,   183,   195,    50,   184,     1,
540        2,     3,     4,     5,     6,   402,   423,   443,   410,    51,
541       52,    53,   303,    -3,    79,     0,     0,    54,    55,     0,
542        0,    56,    77,     0,    16,     0,    17,    18,    19,    20,
543       21,    22,    23,    80,     0,     0,    24,    25,    26,    27,
544       28,     0,    29,    30,    31,    32,    33,    34,    81,    98,
545       82,    83,    35,    84,    85,    86,    87,    88,    89,     0,
546        0,     0,    90,    91,    92,    93,    36,     0,    37,    38,
547       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
548       45,    46,    47,    48,    49,  -246,  -246,  -246,     0,     0,
549      184,     0,    50,     0,     0,     0,     0,     0,     0,     0,
550        0,     0,     0,     0,    51,    52,    53,     0,     0,    79,
551        0,     0,    54,    55,     0,     0,    56,    77,   356,    16,
552        0,    17,    18,    19,    20,    21,    22,    23,    80,     0,
553        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
554       32,    33,    34,    81,    98,    82,    83,    35,    84,    85,
555       86,    87,    88,    89,     0,     0,     0,    90,    91,    92,
556       93,    36,     0,    37,    38,    39,    40,    41,    42,     0,
557        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
558        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
559        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
560       52,    53,     0,     0,    79,     0,     0,    54,    55,     0,
561        0,    56,    77,   463,    16,     0,    17,    18,    19,    20,
562       21,    22,    23,    80,     0,     0,    24,    25,    26,    27,
563       28,     0,    29,    30,    31,    32,    33,    34,    81,    98,
564       82,    83,    35,    84,    85,    86,    87,    88,    89,     0,
565        0,     0,    90,    91,    92,    93,    36,     0,    37,    38,
566       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
567       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
568        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
569        0,     0,     0,     0,    51,    52,    53,     0,     0,    79,
570        0,     0,    54,    55,     0,     0,    56,    77,   474,    16,
571        0,    17,    18,    19,    20,    21,    22,    23,    80,     0,
572        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
573       32,    33,    34,    81,    98,    82,    83,    35,    84,    85,
574       86,    87,    88,    89,     0,     0,     0,    90,    91,    92,
575       93,    36,     0,    37,    38,    39,    40,    41,    42,     0,
576        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
577        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
578        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
579       52,    53,     0,     0,    79,     0,     0,    54,    55,     0,
580        0,    56,    77,   478,    16,     0,    17,    18,    19,    20,
581       21,    22,    23,    80,     0,     0,    24,    25,    26,    27,
582       28,     0,    29,    30,    31,    32,    33,    34,    81,    98,
583       82,    83,    35,    84,    85,    86,    87,    88,    89,     0,
584        0,     0,    90,    91,    92,    93,    36,     0,    37,    38,
585       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
586       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
587        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
588        0,     0,     0,     0,    51,    52,    53,    79,     0,     0,
589        0,     0,    54,    55,     0,    77,    56,    16,     0,    17,
590       18,    19,    20,    21,    22,    23,    80,     0,     0,    24,
591       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
592       34,    81,    98,    82,    83,    35,    84,    85,    86,    87,
593       88,    89,     0,     0,     0,    90,    91,    92,    93,    36,
594        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
595        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
596      494,     0,     0,     0,     0,    50,     0,     0,     0,     0,
597        0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
598       79,     0,     0,     0,     0,    54,    55,     0,    77,    56,
599       16,     0,    17,    18,    19,    20,    21,    22,    23,    80,
600        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
601       31,    32,    33,    34,    81,    98,    82,    83,    35,    84,
602       85,    86,    87,    88,    89,     0,     0,     0,    90,    91,
603       92,    93,    36,     0,    37,    38,    39,    40,    41,    42,
604        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
605       49,     0,     0,     0,     0,     0,     0,     0,    50,     0,
606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
607       51,    52,    53,    79,     0,     0,     0,     0,    54,    55,
608        0,    77,    56,    16,     0,    17,    18,    19,    20,    21,
609       22,    23,    80,     0,     0,    24,    25,    26,    27,    28,
610        0,    29,    30,    31,    32,    33,    34,    81,     0,    82,
611       83,    35,    84,    85,    86,    87,    88,    89,     0,     0,
612        0,    90,    91,    92,    93,    36,     0,    37,    38,    39,
613       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
614       46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
615        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
616        0,     0,     0,    51,    52,    53,    79,     0,     0,     0,
617        0,    54,    55,     0,     0,    56,    16,     0,    17,    18,
618       19,    20,    21,    22,    23,   -72,     0,     0,    24,    25,
619       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
620        0,     0,     0,     0,    35,     0,     0,  -246,     0,     0,
621        0,     0,     0,     0,   167,   168,   169,   170,    36,     0,
622       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
623       43,    44,    45,    46,    47,    48,    49,   173,   174,   175,
624      176,   177,   178,   179,    50,     0,     0,     0,   180,   181,
625      182,   183,     0,     0,   184,     0,    51,    52,    53,    79,
626        0,     0,     0,     0,    54,    55,     0,     0,    56,    16,
627        0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
628        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
629       32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
631        0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
632        0,  -174,     0,    43,    44,    45,    46,    47,    48,    49,
633      186,     0,   187,  -174,     0,     0,     0,    50,     0,     0,
634        0,  -174,     0,     0,     0,     0,     0,     0,     0,    51,
635       52,    53,   167,   168,   169,   170,     0,    54,    55,     0,
636      -72,    56,     0,  -174,  -174,  -174,  -174,     0,     0,     0,
637     -174,     0,  -174,     0,     0,  -174,     0,     0,   176,   177,
638      178,   179,  -174,  -174,  -174,  -174,   180,   181,   182,   183,
639        0,     0,   184,     0,     0,     0,     0,  -174,  -174,  -174,
640     -213,  -174,  -174,  -174,  -174,  -174,  -174,  -174,  -174,  -174,
641     -174,  -174,  -213,     0,     0,     0,  -174,  -174,  -174,  -174,
642     -213,     0,  -174,  -174,     0,     0,     0,     0,     0,     0,
643        0,   167,   168,   169,   170,     0,     0,     0,     0,     0,
644        0,     0,  -213,  -213,  -213,  -213,     0,     0,     0,  -213,
645        0,  -213,     0,     0,  -213,     0,     0,     0,   177,   178,
646      179,  -213,  -213,  -213,  -213,   180,   181,   182,   183,     0,
647        0,   184,     0,     0,     0,     0,  -213,  -213,  -213,     0,
648     -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
649     -213,     0,     0,     0,     0,  -213,  -213,  -213,  -213,     0,
650        0,  -213,  -213,    77,     0,    16,     0,    17,    18,    19,
651       20,    21,    22,    23,     0,     0,     0,   131,    25,    26,
652       27,    28,   109,    29,    30,    31,    32,    33,    34,     0,
653        0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
654      167,  -246,   169,   170,     0,     0,     0,    36,     0,    37,
655       38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
656       44,    45,    46,    47,    48,    49,     0,     0,   178,   179,
657        0,     0,     0,    50,   180,   181,   182,   183,     0,     0,
658      184,     0,     0,     0,     0,    51,    52,    53,     0,     0,
659        0,     0,     0,    54,    55,     0,    77,    56,    16,     0,
660       17,    18,    19,    20,    21,    22,    23,     0,     0,     0,
661       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
662       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
663        0,     0,     0,   167,   168,   169,   170,     0,     0,     0,
664       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
665        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
666        0,   178,   179,     0,     0,     0,    50,   180,   181,   182,
667      183,     0,     0,   184,     0,     0,     0,     0,    51,    52,
668       53,     0,     0,     0,     0,     0,    54,    55,     0,     0,
669       56,    16,   104,    17,    18,    19,    20,    21,    22,    23,
670        0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
671       30,    31,    32,    33,    34,     0,     0,     0,     0,    35,
672        0,     0,     0,     0,     0,     0,  -246,     0,   169,   170,
673        0,     0,     0,    36,     0,    37,    38,    39,    40,    41,
674       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
675       48,    49,     0,     0,   178,   179,     0,     0,     0,    50,
676      180,   181,   182,   183,     0,     0,   184,     0,     0,     0,
677        0,    51,    52,    53,     0,     0,     0,     0,     0,    54,
678       55,     0,    16,    56,    17,    18,    19,    20,    21,    22,
679       23,   139,     0,     0,    24,    25,    26,    27,    28,     0,
680       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
681       35,     0,     0,     0,     0,     0,     0,     0,     0,   169,
682      170,     0,     0,     0,    36,     0,    37,    38,    39,    40,
683       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
684       47,    48,    49,     0,     0,   178,   179,     0,     0,     0,
685       50,   180,   181,   182,   183,     0,     0,   184,     0,     0,
686        0,     0,    51,    52,    53,     0,     0,     0,     0,     0,
687       54,    55,     0,    16,    56,    17,    18,    19,    20,    21,
688       22,    23,     0,     0,     0,    24,    25,    26,    27,    28,
689        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
690        0,    35,   212,   213,   214,   215,     0,     0,     0,   216,
691        0,   217,     0,     0,     0,    36,     0,    37,    38,    39,
692       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
693       46,    47,    48,    49,     0,     0,   159,   160,   161,     0,
694        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
695        0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
696        0,    54,    55,     0,   157,    56,    16,     0,    17,    18,
697       19,    20,    21,    22,    23,     0,     0,     0,    24,    25,
698       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
699        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
700        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
701       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
702       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
703        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
704        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
705        0,     0,     0,     0,    54,    55,     0,   231,    56,    16,
706        0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
707        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
708       32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
710        0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
711        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
712        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
713        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
714       52,    53,     0,     0,     0,     0,     0,    54,    55,     0,
715      239,    56,    16,     0,    17,    18,    19,    20,    21,    22,
716       23,     0,     0,     0,    24,    25,    26,    27,    28,     0,
717       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
718       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
719        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
720       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
721       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
722       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
723        0,     0,    51,    52,    53,     0,     0,     0,     0,     0,
724       54,    55,     0,   251,    56,    16,     0,    17,    18,    19,
725       20,    21,    22,    23,     0,     0,     0,    24,    25,    26,
726       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
727        0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
728        0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
729       38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
730       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
731        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
732        0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
733        0,     0,     0,    54,    55,     0,   280,    56,    16,     0,
734       17,    18,    19,    20,    21,    22,    23,     0,     0,     0,
735       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
736       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
738       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
739        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
740        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
741        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
742       53,     0,     0,     0,     0,     0,    54,    55,     0,   345,
743       56,    16,     0,    17,    18,    19,    20,    21,    22,    23,
744        0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
745       30,    31,    32,    33,    34,     0,     0,     0,     0,    35,
746        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
747        0,     0,     0,    36,     0,    37,    38,    39,    40,    41,
748       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
749       48,    49,     0,     0,     0,     0,     0,   166,     0,    50,
750        0,     0,     0,     0,   167,   168,   169,   170,     0,     0,
751        0,    51,    52,    53,     0,     0,     0,     0,     0,    54,
752       55,     0,     0,    56,   171,   172,   336,   173,   174,   175,
753      176,   177,   178,   179,     0,     0,     0,     0,   180,   181,
754      182,   183,   166,     0,   184,     0,     0,     0,     0,   167,
755      168,   169,   170,     0,     0,     0,     0,     0,     0,     0,
756        0,     0,     0,     0,     0,     0,     0,     0,     0,   171,
757      172,     0,   173,   174,   175,   176,   177,   178,   179,     0,
758        0,     0,     0,   180,   181,   182,   183,   166,     0,   184,
759        0,     0,     0,     0,   167,   168,   169,   170,     0,     0,
760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
761        0,     0,     0,     0,     0,   172,     0,   173,   174,   175,
762      176,   177,   178,   179,     0,     0,     0,     0,   180,   181,
763      182,   183,     0,     0,   184
764 };
765
766 #define yypact_value_is_default(Yystate) \
767   (!!((Yystate) == (-416)))
768
769 #define yytable_value_is_error(Yytable_value) \
770   (!!((Yytable_value) == (-246)))
771
772 static const yytype_int16 yycheck[] =
773 {
774       10,    11,    12,    15,    48,   406,     9,    15,    48,    42,
775      128,   307,     9,    16,    11,   430,    11,    50,     9,    15,
776       16,    17,   117,    80,     0,     8,    76,    77,    78,    20,
777       23,    41,    12,    20,    44,    28,    15,    16,    17,    26,
778       19,     9,    45,    11,   307,   102,   309,   310,   143,    76,
779       77,    78,   102,    56,     9,    12,    11,    19,    20,    21,
780       22,    23,    70,    25,    26,    46,    47,    20,    21,    22,
781       23,    11,    25,    26,    12,   102,   491,     9,   103,    12,
782       42,    43,   483,    93,   117,    93,    48,    12,    98,    42,
783       43,    70,   102,   103,    77,   103,    76,    77,    78,    17,
784       18,   103,   135,    98,    12,   223,   103,   103,    12,   296,
785      143,   298,    12,   123,    32,   103,   379,   120,    36,    76,
786       77,    78,    80,    41,   127,   128,    44,    23,    90,    47,
787       12,    49,   103,    51,    52,    53,    54,    55,    76,    77,
788       78,     9,   145,    76,    77,    78,   409,     9,   411,    11,
789       20,    76,    77,    78,   103,     9,   159,   160,   161,   203,
790      163,   164,   165,   203,   103,     9,   128,    11,    76,    77,
791       78,    48,    76,    77,    78,   128,    76,    77,    78,   103,
792      103,   193,   185,   186,   187,   188,   189,   190,   191,   192,
793      103,   224,   455,   489,    76,    77,    78,   103,   103,   209,
794       76,    77,    78,    20,   103,   468,    76,    77,    78,   212,
795      213,   214,   215,   216,   217,   198,   199,   200,   201,   202,
796      223,   204,   184,   206,   207,    20,   102,   322,     9,   347,
797       11,   234,   103,   102,    15,    16,    17,    18,    19,    26,
798      243,   203,    20,    24,   162,    20,   102,    10,   166,   167,
799      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
800      178,   179,   180,    20,    72,   268,   269,     9,   408,    11,
801       11,     9,   412,    23,   277,   415,   416,    15,    23,   289,
802       18,    76,    77,    78,    65,    23,   426,   427,   103,   322,
803       28,   102,   295,   296,   297,   298,   436,    20,    76,    77,
804       78,    76,    77,    78,   307,    20,   309,   310,   270,   404,
805      450,    72,     9,    26,   454,    10,   456,   300,    15,    76,
806       77,    78,   103,    11,    78,   308,    23,    18,   372,   332,
807      103,    28,   372,    42,    43,    44,    45,   299,    18,    18,
808       49,   481,    51,    18,   347,   434,    18,   487,    76,    77,
809       78,    63,    64,    76,    77,    78,   496,    21,   447,   448,
810       23,    76,    77,    78,    15,    16,    17,    76,    77,    78,
811      459,   404,    15,   103,   357,   102,   379,   360,    90,    26,
812      469,    10,   471,    95,    96,    97,    98,    10,    10,   101,
813      373,    10,    63,   102,    76,    77,    78,    10,    23,   488,
814      102,   102,   102,    76,    77,    78,   409,   103,   411,   102,
815      372,    20,   424,    61,    62,    63,    64,   102,   336,    90,
816      102,   102,    10,    20,    95,    96,    97,    98,   440,   102,
817      101,     9,   435,   102,   102,   445,   103,   449,    86,    87,
818       88,    89,    90,   102,    76,    77,    78,    95,    96,    97,
819       98,   461,   455,   101,     9,    90,   466,    74,   102,    20,
820       95,    96,    97,    98,    20,   468,   101,   103,     0,     1,
821      102,   102,   102,   485,    20,   103,   102,     9,    22,    11,
822      490,    13,    14,    15,    16,    17,    18,    19,    20,    73,
823      102,    23,    24,    25,    26,    27,   102,    29,    30,    31,
824       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
825       42,    43,    44,    45,    76,    77,    78,    49,    50,    51,
826       52,    53,    12,    55,    56,    57,    58,    59,    60,    98,
827      489,    35,   435,    65,    66,    67,    68,    69,    70,    71,
828      102,   195,    95,    96,    97,    98,    83,    79,   101,     3,
829        4,     5,     6,     7,     8,   359,   402,   423,   372,    91,
830       92,    93,   203,     0,     1,    -1,    -1,    99,   100,    -1,
831       -1,   103,     9,    -1,    11,    -1,    13,    14,    15,    16,
832       17,    18,    19,    20,    -1,    -1,    23,    24,    25,    26,
833       27,    -1,    29,    30,    31,    32,    33,    34,    35,    36,
834       37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
835       -1,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
836       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
837       67,    68,    69,    70,    71,    96,    97,    98,    -1,    -1,
838      101,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
839       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,     1,
840       -1,    -1,    99,   100,    -1,    -1,   103,     9,    10,    11,
841       -1,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
842       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
843       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
844       42,    43,    44,    45,    -1,    -1,    -1,    49,    50,    51,
845       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
846       -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
849       92,    93,    -1,    -1,     1,    -1,    -1,    99,   100,    -1,
850       -1,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
851       17,    18,    19,    20,    -1,    -1,    23,    24,    25,    26,
852       27,    -1,    29,    30,    31,    32,    33,    34,    35,    36,
853       37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
854       -1,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
855       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
856       67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,
857       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
858       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,     1,
859       -1,    -1,    99,   100,    -1,    -1,   103,     9,    10,    11,
860       -1,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
861       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
862       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
863       42,    43,    44,    45,    -1,    -1,    -1,    49,    50,    51,
864       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
865       -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
868       92,    93,    -1,    -1,     1,    -1,    -1,    99,   100,    -1,
869       -1,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
870       17,    18,    19,    20,    -1,    -1,    23,    24,    25,    26,
871       27,    -1,    29,    30,    31,    32,    33,    34,    35,    36,
872       37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
873       -1,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
874       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
875       67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,
876       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
877       -1,    -1,    -1,    -1,    91,    92,    93,     1,    -1,    -1,
878       -1,    -1,    99,   100,    -1,     9,   103,    11,    -1,    13,
879       14,    15,    16,    17,    18,    19,    20,    -1,    -1,    23,
880       24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
881       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
882       44,    45,    -1,    -1,    -1,    49,    50,    51,    52,    53,
883       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
884       -1,    65,    66,    67,    68,    69,    70,    71,    -1,    -1,
885       74,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
887        1,    -1,    -1,    -1,    -1,    99,   100,    -1,     9,   103,
888       11,    -1,    13,    14,    15,    16,    17,    18,    19,    20,
889       -1,    -1,    23,    24,    25,    26,    27,    -1,    29,    30,
890       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
891       41,    42,    43,    44,    45,    -1,    -1,    -1,    49,    50,
892       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
893       -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,    70,
894       71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,
895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
896       91,    92,    93,     1,    -1,    -1,    -1,    -1,    99,   100,
897       -1,     9,   103,    11,    -1,    13,    14,    15,    16,    17,
898       18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
899       -1,    29,    30,    31,    32,    33,    34,    35,    -1,    37,
900       38,    39,    40,    41,    42,    43,    44,    45,    -1,    -1,
901       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
902       58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
903       68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
904       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
905       -1,    -1,    -1,    91,    92,    93,     1,    -1,    -1,    -1,
906       -1,    99,   100,    -1,    -1,   103,    11,    -1,    13,    14,
907       15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
908       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
909       -1,    -1,    -1,    -1,    39,    -1,    -1,    54,    -1,    -1,
910       -1,    -1,    -1,    -1,    61,    62,    63,    64,    53,    -1,
911       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
912       65,    66,    67,    68,    69,    70,    71,    84,    85,    86,
913       87,    88,    89,    90,    79,    -1,    -1,    -1,    95,    96,
914       97,    98,    -1,    -1,   101,    -1,    91,    92,    93,     1,
915       -1,    -1,    -1,    -1,    99,   100,    -1,    -1,   103,    11,
916       -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
917       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
918       32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
920       -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
921       -1,     0,    -1,    65,    66,    67,    68,    69,    70,    71,
922        9,    -1,    11,    12,    -1,    -1,    -1,    79,    -1,    -1,
923       -1,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
924       92,    93,    61,    62,    63,    64,    -1,    99,   100,    -1,
925      102,   103,    -1,    42,    43,    44,    45,    -1,    -1,    -1,
926       49,    -1,    51,    -1,    -1,    54,    -1,    -1,    87,    88,
927       89,    90,    61,    62,    63,    64,    95,    96,    97,    98,
928       -1,    -1,   101,    -1,    -1,    -1,    -1,    76,    77,    78,
929        0,    80,    81,    82,    83,    84,    85,    86,    87,    88,
930       89,    90,    12,    -1,    -1,    -1,    95,    96,    97,    98,
931       20,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,    -1,
932       -1,    61,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,
933       -1,    -1,    42,    43,    44,    45,    -1,    -1,    -1,    49,
934       -1,    51,    -1,    -1,    54,    -1,    -1,    -1,    88,    89,
935       90,    61,    62,    63,    64,    95,    96,    97,    98,    -1,
936       -1,   101,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,
937       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
938       90,    -1,    -1,    -1,    -1,    95,    96,    97,    98,    -1,
939       -1,   101,   102,     9,    -1,    11,    -1,    13,    14,    15,
940       16,    17,    18,    19,    -1,    -1,    -1,    23,    24,    25,
941       26,    27,    28,    29,    30,    31,    32,    33,    34,    -1,
942       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
943       61,    62,    63,    64,    -1,    -1,    -1,    53,    -1,    55,
944       56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,
945       66,    67,    68,    69,    70,    71,    -1,    -1,    89,    90,
946       -1,    -1,    -1,    79,    95,    96,    97,    98,    -1,    -1,
947      101,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
948       -1,    -1,    -1,    99,   100,    -1,     9,   103,    11,    -1,
949       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
950       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
951       33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
952       -1,    -1,    -1,    61,    62,    63,    64,    -1,    -1,    -1,
953       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
954       -1,    -1,    65,    66,    67,    68,    69,    70,    71,    -1,
955       -1,    89,    90,    -1,    -1,    -1,    79,    95,    96,    97,
956       98,    -1,    -1,   101,    -1,    -1,    -1,    -1,    91,    92,
957       93,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,    -1,
958      103,    11,    12,    13,    14,    15,    16,    17,    18,    19,
959       -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
960       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,
961       -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    63,    64,
962       -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,    59,
963       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
964       70,    71,    -1,    -1,    89,    90,    -1,    -1,    -1,    79,
965       95,    96,    97,    98,    -1,    -1,   101,    -1,    -1,    -1,
966       -1,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,
967      100,    -1,    11,   103,    13,    14,    15,    16,    17,    18,
968       19,    20,    -1,    -1,    23,    24,    25,    26,    27,    -1,
969       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
970       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
971       64,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
972       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
973       69,    70,    71,    -1,    -1,    89,    90,    -1,    -1,    -1,
974       79,    95,    96,    97,    98,    -1,    -1,   101,    -1,    -1,
975       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,
976       99,   100,    -1,    11,   103,    13,    14,    15,    16,    17,
977       18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
978       -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
979       -1,    39,    42,    43,    44,    45,    -1,    -1,    -1,    49,
980       -1,    51,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
981       58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
982       68,    69,    70,    71,    -1,    -1,    76,    77,    78,    -1,
983       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
984       -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
985       -1,    99,   100,    -1,   102,   103,    11,    -1,    13,    14,
986       15,    16,    17,    18,    19,    -1,    -1,    -1,    23,    24,
987       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
988       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
990       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
991       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
992       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
993       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
994       -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,
995       -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
996       -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
997       32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
999       -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
1000       -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
1001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
1002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
1003       92,    93,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,
1004      102,   103,    11,    -1,    13,    14,    15,    16,    17,    18,
1005       19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
1006       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
1007       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1008       -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
1009       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
1010       69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1011       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1012       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,
1013       99,   100,    -1,   102,   103,    11,    -1,    13,    14,    15,
1014       16,    17,    18,    19,    -1,    -1,    -1,    23,    24,    25,
1015       26,    27,    -1,    29,    30,    31,    32,    33,    34,    -1,
1016       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
1017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    55,
1018       56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,
1019       66,    67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,
1020       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
1021       -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
1022       -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,    -1,
1023       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
1024       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
1025       33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
1026       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1027       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
1028       -1,    -1,    65,    66,    67,    68,    69,    70,    71,    -1,
1029       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
1030       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
1031       93,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,
1032      103,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
1033       -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
1034       30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,
1035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1036       -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,    59,
1037       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
1038       70,    71,    -1,    -1,    -1,    -1,    -1,    54,    -1,    79,
1039       -1,    -1,    -1,    -1,    61,    62,    63,    64,    -1,    -1,
1040       -1,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,
1041      100,    -1,    -1,   103,    81,    82,    83,    84,    85,    86,
1042       87,    88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,
1043       97,    98,    54,    -1,   101,    -1,    -1,    -1,    -1,    61,
1044       62,    63,    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,
1046       82,    -1,    84,    85,    86,    87,    88,    89,    90,    -1,
1047       -1,    -1,    -1,    95,    96,    97,    98,    54,    -1,   101,
1048       -1,    -1,    -1,    -1,    61,    62,    63,    64,    -1,    -1,
1049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1050       -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    85,    86,
1051       87,    88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,
1052       97,    98,    -1,    -1,   101
1053 };
1054
1055 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1056    symbol of state STATE-NUM.  */
1057 static const yytype_uint8 yystos[] =
1058 {
1059        0,     3,     4,     5,     6,     7,     8,   105,   106,   107,
1060      108,   109,   110,   111,     0,   114,    11,    13,    14,    15,
1061       16,    17,    18,    19,    23,    24,    25,    26,    27,    29,
1062       30,    31,    32,    33,    34,    39,    53,    55,    56,    57,
1063       58,    59,    60,    65,    66,    67,    68,    69,    70,    71,
1064       79,    91,    92,    93,    99,   100,   103,   152,   153,   154,
1065      157,   158,   159,   160,   161,   162,   164,   167,   171,   172,
1066      173,   174,   175,   176,   177,   178,   179,     9,   112,     1,
1067       20,    35,    37,    38,    40,    41,    42,    43,    44,    45,
1068       49,    50,    51,    52,   112,   121,   130,   152,    36,   119,
1069      120,   121,   117,   117,    12,   152,   162,   162,    23,    28,
1070      112,   172,   180,   180,   180,   180,   180,   180,   180,   163,
1071       11,   103,   162,   142,   142,   162,   103,   103,   103,   112,
1072      162,    23,   153,   166,   172,   180,   180,   112,   162,    20,
1073      152,    23,    28,   144,   162,   103,   165,   172,   173,   174,
1074      162,   153,   162,   162,   162,   162,   162,   102,   152,    76,
1075       77,    78,    80,     9,    11,   103,    54,    61,    62,    63,
1076       64,    81,    82,    84,    85,    86,    87,    88,    89,    90,
1077       95,    96,    97,    98,   101,   103,     9,    11,     9,    11,
1078        9,    11,     9,   114,   143,   144,    23,   141,   103,   103,
1079      103,   103,    70,    93,   103,   172,   103,   103,   112,    48,
1080      132,    20,    42,    43,    44,    45,    49,    51,   120,   121,
1081      119,    12,   166,   103,   103,   152,   102,   112,    26,   145,
1082      102,   102,   152,   167,   180,   153,    10,    20,   166,   102,
1083      152,    72,   147,    11,   102,   152,   152,   152,   162,   152,
1084      152,   102,   152,   162,   162,   162,   162,   162,   162,   162,
1085      162,   162,   162,   162,   162,   162,   162,   162,     9,    11,
1086       15,    16,    17,    18,    19,    24,    65,   103,   156,   172,
1087      102,   152,   152,   152,   152,   152,   152,   152,   152,   117,
1088       23,   140,   141,    23,   123,   114,   114,   114,   114,   114,
1089       70,   169,   170,   171,   172,   173,   174,   114,   103,   114,
1090      114,   112,   152,   136,   152,   152,   152,   152,   152,   167,
1091      153,    12,   155,    72,   146,   102,   102,   152,    10,   102,
1092       26,   152,    11,    20,    12,   102,    83,   152,   152,    18,
1093       18,    18,    18,    18,    18,   102,   152,   103,   102,    20,
1094       12,    20,    12,    20,    12,    20,    10,    21,   113,   122,
1095        9,    20,    23,   135,   152,   136,   137,   152,   136,   139,
1096      168,   172,   114,   103,   130,   134,   137,   138,   152,   114,
1097      137,   137,   102,   102,   166,    26,   114,   150,   102,    12,
1098      152,    10,   162,    20,    12,   102,   167,    10,    10,    10,
1099       10,   114,   145,   114,    23,   102,   102,   102,   102,   103,
1100      169,   114,   102,    20,   137,   102,   102,   103,   148,    12,
1101       10,   102,    20,   146,   127,   166,   133,   133,     9,   115,
1102      115,   137,   126,   137,   115,   124,   102,   115,   115,   149,
1103        9,    74,    20,   150,   151,   117,    20,   115,   115,   116,
1104       46,    47,   131,   131,   102,   103,   102,   132,   135,   115,
1105      102,   117,   118,    10,   132,   132,   117,   115,   103,   115,
1106      137,   115,    20,   132,    10,    20,    26,   128,    10,   137,
1107      132,   102,   132,   125,    22,    73,   129,   102,   115,   133,
1108      117,   115,   132,   138,    74,   131,   102,   115
1109 };
1110
1111 typedef enum {
1112         toketype_ival, toketype_opval, toketype_pval
1113 } toketypes;
1114
1115 /* type of each token/terminal */
1116 static const toketypes yy_type_tab[] =
1117 {
1118   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1119   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1120   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1121   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1122   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1123   toketype_opval, toketype_pval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1124   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1125   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1126   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1127   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1128   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1129   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1130   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1131   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1132   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1133   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1134   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1135   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1136   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1137   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival,
1138   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1139   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1140   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1141   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1142   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1143   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1144   toketype_opval
1145 };
1146
1147 /* Generated from:
1148  * acfba7616277d65c961140e70755bfce7328b5238b69030cd63c78d363a9736c perly.y
1149  * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
1150  * ex: set ro: */