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