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