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