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