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