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