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