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