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