diff options
Diffstat (limited to 'xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java')
-rw-r--r-- | xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java | 3679 |
1 files changed, 3679 insertions, 0 deletions
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java new file mode 100644 index 00000000000..cc2edc52e7c --- /dev/null +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java @@ -0,0 +1,3679 @@ +/******************************************************************************* +* Copyright (c) 2006, 2009 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ + +// This file was generated by LPG + +package org.eclipse.cdt.internal.core.lrparser.xlc.cpp; + +public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPParsersym { + + public interface IsKeyword { + public final static byte isKeyword[] = {0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0 + }; + }; + public final static byte isKeyword[] = IsKeyword.isKeyword; + public final boolean isKeyword(int index) { return isKeyword[index] != 0; } + + public interface BaseCheck { + public final static short baseCheck[] = {0, + 0,0,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,3,1,1,1,1,1,1, + 1,1,2,2,1,1,0,1,0,4, + 2,3,2,3,2,2,1,0,1,1, + 4,4,4,8,8,3,3,4,4,3, + 3,2,2,7,7,7,7,4,4,5, + 6,3,2,2,1,1,1,2,2,2, + 2,2,2,2,2,2,4,7,9,3, + 0,1,2,2,1,2,3,4,1,0, + 3,1,0,3,5,1,4,1,3,3, + 1,3,3,3,1,3,3,1,3,3, + 1,3,3,3,3,1,3,3,1,3, + 1,3,1,3,1,3,1,3,1,5, + 1,2,1,1,3,3,3,3,3,3, + 3,3,3,3,3,1,2,1,3,1, + 0,1,0,1,1,0,1,1,1,1, + 1,1,1,1,1,3,4,3,2,1, + 4,2,1,2,5,7,5,1,4,1, + 0,5,7,8,1,1,2,2,3,2, + 3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,1,0, + 4,4,2,2,2,2,2,1,0,1, + 1,1,1,1,1,2,1,2,2,2, + 1,1,2,2,1,2,2,1,2,2, + 1,2,2,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,3,4,4,5,2,5, + 6,5,0,6,7,0,1,3,1,0, + 1,3,1,7,6,0,7,6,1,0, + 6,6,4,1,3,1,0,1,1,2, + 1,1,3,1,3,1,1,1,1,3, + 9,2,2,3,2,5,3,7,0,1, + 2,2,1,0,1,1,1,3,1,2, + 1,1,2,3,1,1,1,3,2,1, + 2,2,9,8,2,1,3,1,3,1, + 0,1,0,2,1,1,3,1,3,2, + 1,5,8,1,2,3,1,1,7,6, + 3,0,0,1,3,1,1,5,6,6, + 7,7,0,0,1,0,1,1,1,2, + 4,2,2,1,5,1,1,1,1,1, + 1,1,2,1,0,1,3,1,1,2, + 3,2,1,2,2,1,0,1,3,3, + 5,5,4,1,1,1,1,0,1,5, + 2,2,1,2,2,1,0,1,3,4, + 3,1,1,5,2,1,1,3,3,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,2,7,1,0, + 1,3,1,1,2,4,2,4,7,9, + 5,1,3,1,0,1,1,2,4,4, + 1,2,5,5,3,3,1,4,3,1, + 0,1,3,1,1,1,1,2,6,3, + 1,3,1,4,0,1,1,1,3,1, + 0,4,3,1,2,1,3,4,4,4, + 6,1,0,1,3,1,3,0,1,4, + 5,2,4,2,4,3,3,5,3,4, + 3,1,2,2,2,4,2,1,1,2, + 2,3,2,2,3,1,1,1,1,4, + 1,1,1,1,1,3,3,3,4,1, + 2,4,5,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2,1,0,1, + 0,1,1,1,1,-180,0,0,0,-69, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-397,0,0,0,0,0,0,0,0, + 0,-171,0,0,0,-76,0,0,0,0, + -106,-568,0,0,-188,0,0,0,-4,0, + 0,0,0,0,0,0,0,0,0,-194, + 0,0,-259,0,0,-2,0,0,-8,0, + 0,0,-189,0,0,0,0,0,0,0, + 0,0,0,0,0,-370,0,-638,0,0, + 0,0,0,0,0,0,0,0,0,0, + -58,0,0,0,0,0,0,0,-32,0, + 0,0,0,0,-143,0,0,0,0,0, + 0,0,-294,0,0,0,-59,0,0,0, + 0,0,0,0,0,-283,0,0,0,-9, + 0,0,-548,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-10,0, + 0,0,-53,0,0,0,0,0,-96,0, + 0,0,0,0,0,0,0,0,-5,0, + 0,-296,0,0,0,-12,0,0,0,0, + 0,0,0,0,0,0,-155,0,-18,0, + -396,0,0,0,0,0,0,0,0,0, + -116,0,0,0,0,-70,0,0,0,0, + 0,0,0,0,0,0,-192,-19,0,-21, + 0,0,0,0,0,0,0,-61,-243,0, + 0,0,0,0,0,0,0,0,0,0, + -44,0,0,0,0,0,0,0,0,-7, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-22,-135,-149,0,-234,0,0,-162, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-154,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-237, + 0,0,0,-39,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-198,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-422, + 0,0,0,0,0,0,0,-113,0,0, + 0,0,0,-177,0,0,0,0,-573,0, + 0,-498,0,0,0,0,0,0,0,0, + 0,0,0,0,-249,0,0,0,0,-40, + 0,0,0,0,0,0,0,0,0,0, + 0,-144,0,0,0,0,-23,0,0,0, + 0,0,0,0,0,0,0,-199,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-125, + -67,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-172,0, + 0,-260,0,0,0,0,0,0,0,-204, + 0,0,0,0,-367,0,0,0,0,0, + 0,-400,0,0,0,-374,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-33,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-55,-273,0,0,-31, + -358,-196,0,0,0,-465,0,0,0,-57, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-25, + 0,0,0,0,0,0,-119,0,0,-593, + 0,0,-41,0,-440,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-42,0,0, + 0,0,0,0,-37,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-163,0, + 0,0,0,0,0,-45,0,-574,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-164, + 0,0,0,-72,0,0,0,0,0,0, + 0,-193,0,0,0,0,0,-165,0,0, + 0,0,0,0,0,0,-16,-140,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-68, + 0,-47,0,-79,0,0,0,0,0,0, + 0,0,0,-118,0,0,0,0,0,0, + 0,0,-54,0,0,0,0,-136,0,0, + 0,-510,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -263,0,0,0,0,0,0,-600,0,0, + 0,0,0,0,0,0,0,-105,0,0, + 0,0,0,-191,0,0,0,0,-272,0, + 0,-48,0,0,-360,0,0,0,-51,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-56,0,0, + -565,0,0,0,0,0,0,0,0,0, + -71,0,0,0,0,0,0,0,0,0, + -62,0,0,-212,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-257,0,0,0,0, + 0,0,0,-383,0,0,0,0,0,-17, + 0,0,0,0,0,0,0,-82,-603,0, + 0,0,-427,0,0,0,-107,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-314,0,0,-74,0,0, + 0,0,0,0,0,0,-480,0,-114,0, + 0,0,0,0,0,0,-421,0,0,0, + 0,0,0,-515,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-145,-315,0,0, + 0,0,0,-115,0,0,0,0,0,-83, + 0,0,0,0,0,0,0,-376,-97,0, + 0,0,-516,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-319,0,0,-126,0, + 0,0,0,0,0,0,-401,0,0,0, + 0,0,-187,-613,0,0,0,0,-127,0, + 0,-363,0,0,-525,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-536,0,0,0,0,0, + -98,0,0,0,0,0,0,0,0,-99, + 0,0,0,0,0,-478,0,-225,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-77,0,0,0,0,0,0,0, + 0,-100,0,-130,0,0,0,0,0,0, + 0,-408,0,0,0,0,-343,0,0,0, + -132,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-369,0, + 0,0,-131,0,0,0,0,0,0,0, + -101,0,-102,0,0,0,-190,0,0,0, + 0,0,0,0,0,-368,-133,-344,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-416, + 0,0,0,0,0,0,0,-425,0,0, + 0,0,0,0,0,0,0,-160,-419,0, + 0,0,0,-277,0,0,-345,0,0,0, + -152,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-415,0, + 0,0,-103,0,0,0,-513,0,0,0, + 0,0,-423,0,0,0,0,0,0,0, + 0,-554,0,0,0,-346,0,0,0,-104, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-209,0,-108, + 0,0,0,0,0,-316,0,0,0,-159, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-347,0,0,0,-174,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-499,0,0,0, + 0,0,0,0,-514,0,0,0,0,0, + -213,0,0,0,0,-112,0,0,0,0, + 0,0,0,-348,0,0,0,-539,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-508,0,0,0,0, + 0,0,0,-570,0,0,0,-120,0,-121, + 0,0,0,0,-473,0,0,0,-122,-278, + 0,0,-349,0,0,0,-608,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-509,0,0,0,0,0, + 0,0,-594,0,0,0,-214,0,-254,0, + 0,0,0,-474,0,0,0,0,0,0, + 0,-350,0,0,0,-175,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-557,0,0,0,0,0,0, + 0,-617,0,0,0,0,0,-563,0,0, + 0,0,0,0,0,0,0,0,0,0, + -351,0,0,0,-469,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-123,0,-202,0,0,0, + 0,0,0,0,0,0,-564,0,0,0, + 0,-146,0,0,0,0,0,0,0,-352, + 0,0,0,-147,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-582,0,-601,0,0,0,0, + 0,0,0,0,0,-256,0,0,0,0, + -176,0,0,0,0,0,0,0,-353,0, + 0,0,-151,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-157,-173,-258,0,0,0,0,0, + 0,0,-203,0,-292,0,0,0,-215,-535, + 0,0,0,-211,0,0,0,-387,0,0, + 0,-240,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-418, + 0,0,0,0,0,0,0,-229,0,0, + 0,0,0,-579,0,0,0,-150,0,0, + 0,-406,0,0,0,-232,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-216,0,0,0,0,0, + 0,-270,0,0,0,0,0,0,0,0, + 0,-354,0,0,0,0,-233,0,0,0, + 0,0,-523,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-304,0,-217,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-242,0,0,-622,0,0,0, + 0,-524,0,0,0,-218,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-219,0,-235,0,0, + 0,-245,0,0,0,-630,0,-220,0,0, + 0,-298,-321,0,0,-266,0,-317,0,0, + -475,-611,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-267,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-320,-221,0,0,-222,-268,0,0,0, + -467,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-81,0,0,0,0,0,0,0, + 0,0,0,0,-389,0,0,0,0,0, + -269,0,0,0,-477,0,0,0,-286,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-599,0,-371, + 0,0,0,0,-628,0,0,0,0,0, + 0,0,0,0,-501,0,0,0,0,-287, + -398,-124,0,0,0,-528,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-365,0,0, + 0,0,0,0,0,-585,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-529, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-75,0,0,-610,-366,0,0,0,0, + 0,0,0,-223,0,-636,0,0,0,-224, + -399,0,0,0,0,0,0,0,-226,-230, + -544,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-581,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -293,0,0,0,-584,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-78,0,-297,0, + 0,0,0,0,-382,0,0,0,0,0, + -377,0,0,0,-308,-357,0,0,0,0, + 0,0,-181,-489,-236,-241,0,0,0,0, + -38,0,0,0,0,0,0,0,0,0, + 0,0,0,-246,0,0,-276,-299,0,0, + 0,0,0,0,0,0,0,-359,0,0, + -439,-6,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-153,0,-405,-248,0, + 0,0,-631,0,0,0,0,0,0,0, + -80,0,0,0,0,0,0,-378,0,0, + 0,0,0,0,0,0,0,0,0,0, + -250,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-420,-426, + 0,-261,0,0,0,0,0,0,0,0, + -13,0,0,0,0,-262,-264,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-138,-361,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-279,-280,0,0,0,0,0,0,0, + 0,0,-362,0,0,0,-384,0,-281,0, + -355,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -435,0,0,0,0,0,-558,0,0,0, + -364,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-375,-403,-94,0, + 0,0,0,0,0,0,-282,0,-20,-438, + -463,-464,-466,-117,0,0,0,0,0,-495, + 0,0,0,0,0,0,0,0,0,-580, + 0,0,0,0,0,0,0,0,0,-583, + 0,0,0,0,0,0,0,-476,0,0, + 0,0,0,0,-522,-479,-496,0,0,0, + -605,0,0,0,-43,-166,-167,-288,0,0, + 0,0,-307,0,0,0,0,0,0,-289, + 0,-290,0,0,0,0,0,0,0,0, + 0,0,0,-291,0,0,0,0,-300,0, + 0,0,0,0,0,-302,0,0,-492,0, + 0,0,0,0,0,0,-500,0,0,0, + 0,0,0,0,0,0,-303,0,0,0, + 0,-305,0,0,-306,0,0,0,0,0, + 0,0,-309,-512,0,0,0,0,0,-265, + 0,0,0,-511,0,-311,0,0,0,-342, + 0,0,0,-312,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-538,-313,0,-356,0,0,0,0,0, + 0,0,0,0,0,-372,0,0,-340,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -493,-73,0,0,0,0,0,0,-64,0, + 0,0,-27,0,-546,0,-518,0,0,0, + -526,0,0,0,0,0,0,0,0,-549, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-373,-551,0,0,0,0,0,-386, + -388,-555,0,-553,0,0,0,-589,0,0, + 0,-168,0,-556,-390,0,0,-590,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-502,0,-571,0,0,-559, + 0,-595,0,0,-616,0,0,0,0,0, + 0,-620,-271,-391,-392,0,0,0,0,0, + 0,-393,-395,0,-623,0,0,0,0,0, + 0,0,0,0,-141,0,0,0,0,0, + 0,-15,0,0,0,0,0,0,0,0, + 0,0,0,0,-29,-409,0,0,0,0, + -560,0,-195,0,0,0,0,-274,0,-561, + -562,0,-411,-412,0,-413,0,0,0,0, + -414,0,0,-428,0,0,0,0,-629,-614, + 0,-429,0,0,0,0,0,0,-597,0, + 0,0,0,0,-436,0,0,0,0,-24, + 0,0,0,0,0,-598,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-247,0,0, + -437,-197,-433,-609,0,0,0,-441,0,-442, + 0,0,0,0,0,0,0,-443,-444,0, + 0,0,0,0,0,0,0,-445,0,0, + 0,0,0,0,-577,-446,-447,0,-448,0, + -615,0,-618,0,0,0,-341,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-449,0,0,0,0,-633,0,0,0, + 0,0,-385,-450,0,-451,0,-452,-453,-134, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-627,-454,-432,0,0,0,0, + 0,0,0,0,0,-503,0,0,0,0, + -619,-455,-456,0,0,0,0,0,0,0, + -457,0,0,0,0,-458,0,0,0,0, + 0,0,0,0,0,0,-459,-460,-461,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-462,0,0,-468,0,0,0,0,0, + 0,0,-337,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-394,-470,-482,-484,0,0, + 0,0,-156,0,0,0,-485,-626,-637,-142, + 0,-624,0,0,0,0,-490,0,0,0, + 0,-494,-505,-506,0,0,0,0,0,-507, + 0,0,0,0,0,0,-60,0,0,0, + 0,0,0,-533,0,0,0,-534,0,0, + 0,0,0,0,0,0,0,-540,0,0, + 0,0,-472,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-483,-552, + -566,-567,0,-569,0,-572,-587,-596,-602,-604, + -612,-621,0,-634,0,0,0,0,0,-46, + 0,0,0,0,0,-182,0,0,0,0, + 0,-504,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-541,-486,0,0,0,0,0,0,0, + 0,0,0,-205,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-228,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -527,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-532,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-139,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-543,0, + 0,0,0,0,0,0,0,-547,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -231,0,-178,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-545,0,0,0, + 0,0,0,0,-591,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -586,0,0,0,0,0,0,-404,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-497, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-588,0,0,0,0,0, + 0,-252,0,0,0,0,-206,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-592,0, + 0,0,0,0,0,0,-200,0,0,0, + 0,0,0,-255,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-625,0,0,0,0,0,0,0, + -275,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-635,0,0,0, + 0,0,0,-253,0,0,0,0,0,0, + 0,-530,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-310, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-338,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-179,0,0,0,0,0,0,0, + -519,0,0,0,0,0,0,0,0,-430, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -339,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-186,0,0,0,-576,0,0,0, + 0,0,0,0,0,0,-471,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -329,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-330,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-331,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-332,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-333,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -334,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-632,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-244,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -1,0,0,0,0,-35,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-26,-251,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-109,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-28,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-137,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-531,0,0,0,0,0, + 0,0,0,0,0,-424,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-335,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-336,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-379,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-36,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-65, + 0,0,0,0,0,0,0,0,0,0, + -63,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-575,0,0,0,-407,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -110,0,0,0,0,0,0,0,0,0, + 0,0,0,-201,0,0,0,-30,0,0, + 0,0,0,0,0,0,0,-431,0,-183, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-207,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -66,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-208,0, + 0,0,0,0,0,0,0,-417,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-184,0,0,0,0,0,-402, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-169, + -318,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-324,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-325,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-326,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-327,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-328, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-11,0,0,0,0,0,0,0,0, + 0,0,0,0,-34,-185,0,0,0,0, + 0,0,-238,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-481,0,0,0,0,0,0, + -14,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-49, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-487, + 0,0,0,0,0,0,0,0,-50,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-52,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-381,0,0,0,0,-520,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -87,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-88,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-89,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-90,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-91,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -92,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-93,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-95,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-128,0,0,0, + 0,-84,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-521,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-129,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-227,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-170,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-322,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-323, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-380,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-434,0,0,0,0,-85,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-488, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-86,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-285,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-517,0, + 0,0,0,0,-148,0,0,0,-239,-639, + -410,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-111,0,0,0,0,0,0,-542,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-158,0,0,0,0,-161, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-210,0, + 0,0,0,0,0,-284,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-295,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-301,0,0,0,0,-550,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-537,0,0,0,0,0,0,0,0, + 0,0,0,0,-578,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-491, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-606,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-607,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0 + }; + }; + public final static short baseCheck[] = BaseCheck.baseCheck; + public final int baseCheck(int index) { return baseCheck[index]; } + public final static short rhs[] = baseCheck; + public final int rhs(int index) { return rhs[index]; }; + + public interface BaseAction { + public final static char baseAction[] = { + 194,4,144,95,95,30,30,94,94,46, + 46,41,41,194,1,1,15,15,15,15, + 15,15,15,16,16,16,14,11,11,6, + 6,6,6,6,6,2,82,82,5,5, + 12,12,61,61,161,161,162,71,71,53, + 17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17, + 163,163,163,145,145,18,18,18,18,18, + 18,18,18,18,18,18,18,18,19,19, + 195,195,196,196,197,166,166,167,167,164, + 164,168,165,165,20,20,21,21,27,27, + 27,28,28,28,28,29,29,29,31,31, + 31,32,32,32,32,32,33,33,33,35, + 35,37,37,38,38,39,39,42,42,43, + 43,48,48,47,47,47,47,47,47,47, + 47,47,47,47,47,47,45,36,146,146, + 106,106,198,198,99,228,228,83,83,83, + 83,83,83,83,83,83,84,84,84,81, + 81,62,62,199,199,85,85,85,120,120, + 200,200,86,86,86,201,201,87,87,87, + 87,87,88,88,90,90,90,90,90,90, + 90,90,54,54,54,54,54,121,121,119, + 119,55,202,26,26,26,26,26,52,52, + 74,74,74,74,74,107,107,122,122,122, + 122,122,123,123,123,124,124,124,125,125, + 125,126,126,126,75,75,75,75,75,76, + 76,76,13,13,13,13,13,13,13,13, + 13,13,13,96,111,111,111,111,111,111, + 109,109,109,170,110,110,203,172,172,171, + 171,147,147,127,79,79,148,57,51,173, + 173,58,92,92,149,149,169,169,128,129, + 129,130,73,73,174,174,69,69,69,65, + 65,64,70,70,93,93,72,72,72,68, + 100,100,114,113,113,63,63,66,66,67, + 67,49,115,115,115,101,101,101,102,102, + 103,103,103,104,104,131,131,131,133,133, + 132,132,229,229,105,105,205,205,205,205, + 205,151,50,50,176,204,204,152,152,97, + 97,97,98,178,206,206,44,44,108,116, + 116,116,116,208,135,134,134,112,112,112, + 179,180,180,180,180,180,180,180,180,180, + 180,180,210,210,207,207,209,209,137,138, + 138,138,138,139,211,140,136,136,212,212, + 181,181,181,181,118,118,118,213,213,8, + 8,9,214,214,215,182,175,175,183,183, + 184,185,185,7,7,10,216,216,216,216, + 216,216,216,216,216,216,216,216,216,216, + 216,216,216,216,216,216,216,216,216,216, + 216,216,216,216,216,216,216,216,216,216, + 216,216,216,216,216,216,216,216,77,80, + 80,186,186,154,154,155,155,155,155,155, + 155,3,156,156,153,153,141,141,91,78, + 89,177,177,142,142,217,217,217,157,157, + 150,150,218,218,22,22,22,40,40,23, + 23,219,219,187,187,187,188,188,220,220, + 189,189,24,24,221,221,190,190,190,190, + 25,59,222,222,223,223,191,191,191,158, + 158,158,18,18,18,18,32,32,43,16, + 84,224,143,143,143,117,117,26,56,74, + 130,130,130,137,137,137,203,208,135,68, + 73,170,148,13,13,63,91,91,91,17, + 67,67,60,34,159,160,160,160,160,160, + 160,160,160,160,193,193,226,226,225,225, + 192,192,54,1,1,230,1607,35,3117,3049, + 3730,6746,27,30,31,1268,1243,26,28,3033, + 25,23,50,1960,106,76,77,108,589,534, + 535,536,4588,2339,2467,2415,1504,2516,2496,2583, + 540,2528,1222,2764,2586,2770,2238,1990,2779,143, + 273,1867,3723,158,144,3443,35,1296,32,3386, + 6777,27,30,31,1268,1243,57,28,156,232, + 1407,35,452,2219,3306,6793,1370,3331,200,1505, + 235,230,231,3757,35,1296,32,1898,6777,27, + 30,31,1268,1243,56,28,2219,3306,2508,35, + 1296,32,274,5488,27,30,31,1268,1243,26, + 28,3690,510,5233,242,245,248,251,3343,1407, + 35,279,1230,582,2941,1496,35,293,3119,3540, + 4992,5038,5368,2485,35,1296,32,1412,5488,27, + 30,31,1268,1243,59,28,1407,35,279,5785, + 2194,5279,3032,1681,35,3117,3049,612,6746,27, + 30,31,1268,1243,26,28,3033,25,23,50, + 1960,106,76,77,108,589,534,535,536,2196, + 2339,2467,2415,3938,2516,2496,2583,6286,2528,4001, + 2764,2586,2770,636,522,2779,143,273,878,50, + 158,144,2485,35,1296,32,4549,5488,27,30, + 31,1268,1243,58,28,341,232,4069,61,460, + 287,1496,3219,4103,1794,156,1332,235,230,231, + 1034,1833,1540,446,2291,4327,2768,3443,4573,537, + 534,535,536,287,2660,3373,60,1867,75,274, + 652,2156,2396,445,3209,3216,2009,4334,1618,2420, + 5364,242,245,248,251,3343,553,3158,3373,1230, + 582,1496,2225,2099,34,3119,3540,4992,5038,5368, + 2939,35,1296,32,2881,3880,27,30,31,1268, + 1243,337,28,750,76,1429,5785,1929,1504,3032, + 3149,35,1296,32,2912,3109,27,30,31,1268, + 1243,26,28,1933,25,23,50,1960,106,76, + 77,108,1496,35,4454,4262,341,2339,2467,2415, + 2344,2516,2496,2583,4103,2528,76,2764,2586,2770, + 3472,310,2779,143,314,1372,319,516,144,4573, + 2477,322,2139,388,3030,35,1296,32,3807,3880, + 27,30,31,1268,1243,337,28,517,3149,35, + 1296,32,2912,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 1496,35,1200,387,341,2339,2467,2415,3301,2516, + 2496,2583,4103,2528,2034,2764,2586,2770,3498,91, + 2779,143,5071,35,277,516,144,4573,317,1501, + 319,849,2898,312,888,2224,554,1028,320,446, + 1915,35,1296,32,451,517,41,30,31,1268, + 1243,512,3121,35,1296,32,442,838,2437,30, + 31,1268,1243,2982,1275,2254,2996,2388,3149,35, + 1296,32,2912,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 1675,1929,541,2876,341,2339,2467,2415,565,2516, + 2496,2583,4103,2528,2174,2764,2586,2770,182,2430, + 2779,143,1496,35,282,516,144,4573,567,512, + 3121,35,1296,32,2352,2948,40,30,31,1268, + 1243,3242,1496,3792,2996,517,3538,35,1296,32, + 2912,3109,27,30,31,1268,1243,26,28,1933, + 25,23,50,1960,106,76,77,108,1365,35, + 1200,387,341,2339,2467,2415,1880,2516,2496,2583, + 4103,2528,1140,2764,2586,2770,2298,4009,2779,143, + 1389,1429,4131,516,144,4573,3121,35,1296,32, + 2844,1140,3351,30,31,1268,1243,380,537,534, + 535,536,49,517,537,534,535,536,1540,512, + 3129,1640,538,534,535,536,1210,3301,2041,1548, + 3762,3245,3017,1520,2996,3618,35,1296,32,2613, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,496,2047,2254, + 327,1324,2339,2467,2415,763,2516,2496,2583,681, + 2528,389,2764,2586,2770,426,2041,2779,143,3369, + 35,277,377,144,609,2137,2519,513,3230,35, + 1296,32,564,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 1496,35,2099,276,76,2339,2467,2415,2926,2516, + 2496,2583,3129,2528,1627,2764,2586,2770,3577,2041, + 2779,143,378,2137,1811,377,144,462,3692,35, + 1296,32,5250,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 1416,1421,934,1034,76,2339,2467,2415,930,2516, + 2496,2583,522,2528,1817,2764,2586,2770,542,2876, + 2780,164,1549,3129,374,378,2137,384,3304,35, + 1296,32,2484,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 3260,1496,35,2099,278,2339,2467,2415,1861,2516, + 2496,2583,3124,2528,1833,2764,2586,2770,76,2041, + 2779,143,877,325,76,377,144,2378,1504,76, + 385,3165,2605,1504,341,3458,35,1296,32,955, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,3442,948,497, + 156,177,2339,2467,2415,3047,2516,2496,2583,2532, + 2528,2296,2764,2586,2770,378,2137,2779,143,42, + 2997,2033,550,144,3906,35,1296,32,372,3109, + 27,30,31,1268,1243,26,28,1933,25,23, + 50,1960,106,76,77,108,3369,35,280,6625, + 614,2339,2467,2415,4895,2516,2496,2583,5814,2528, + 462,2764,2586,2770,521,5451,2779,143,2248,91, + 375,158,144,3906,35,1296,32,1318,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,108,1931,35,395,462,682, + 2339,2467,2415,6715,2516,2496,2583,3237,2528,76, + 2764,2586,2770,998,323,2779,143,2760,35,452, + 371,144,6793,221,3906,35,1296,32,1829,3109, + 27,30,31,1268,1243,26,28,1933,25,23, + 50,1960,106,76,77,108,70,1363,1931,35, + 395,2339,2467,2415,76,2516,2496,2583,1088,2528, + 1038,2764,2586,2770,548,3691,2779,143,4327,940, + 3032,371,144,3906,35,1296,32,2518,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,108,3122,1496,35,293,76, + 2339,2467,2415,3934,2516,2496,2583,3129,2528,2041, + 2764,2586,2770,3416,3839,2779,143,1504,1504,76, + 371,144,2430,4267,370,3458,35,1296,32,3535, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,379,1034,160, + 156,93,2339,2467,2415,3043,2516,2496,2583,162, + 2528,2684,2764,2586,2770,609,2137,2779,143,3130, + 2685,2058,550,144,3828,369,1496,3306,3378,35, + 1296,32,3571,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 449,3209,3216,462,1206,2339,2467,2415,6720,2516, + 2496,2583,3048,2528,76,2764,2586,2770,5407,2821, + 2779,143,4456,2911,367,142,144,3906,35,1296, + 32,3129,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,108,1496, + 35,2099,281,76,2339,2467,2415,5479,2516,2496, + 2583,3063,2528,462,2764,2586,2770,3416,4643,2779, + 143,1504,1978,437,155,144,2948,462,3906,35, + 1296,32,6739,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 1496,35,3794,160,1140,2339,2467,2415,1825,2516, + 2496,2583,3778,2528,549,2764,2586,2770,76,2065, + 2779,143,703,288,2338,154,144,3906,35,1296, + 32,3301,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,108,1496, + 35,2099,3793,1036,2339,2467,2415,1825,2516,2496, + 2583,560,2528,3416,2764,2586,2770,1504,3140,2779, + 143,1937,2484,2849,153,144,3906,35,1296,32, + 5010,3109,27,30,31,1268,1243,26,28,1933, + 25,23,50,1960,106,76,77,108,76,160, + 550,1140,5551,2339,2467,2415,2420,2516,2496,2583, + 3129,2528,390,2764,2586,2770,426,351,2779,143, + 1937,326,333,152,144,3906,35,1296,32,3301, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,2386,35,2099, + 276,2325,2339,2467,2415,2031,2516,2496,2583,1197, + 2528,76,2764,2586,2770,2582,358,2779,143,3264, + 332,333,151,144,3906,35,1296,32,4461,3109, + 27,30,31,1268,1243,26,28,1933,25,23, + 50,1960,106,76,77,108,1496,3861,2099,74, + 302,2339,2467,2415,1825,2516,2496,2583,1656,2528, + 1977,2764,2586,2770,521,2948,2779,143,1937,3659, + 2406,150,144,3906,35,1296,32,4538,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,108,2386,35,2099,3862,1240, + 2339,2467,2415,2031,2516,2496,2583,3129,2528,76, + 2764,2586,2770,1145,2948,2779,143,1937,3427,333, + 149,144,3906,35,1296,32,3301,3109,27,30, + 31,1268,1243,26,28,1933,25,23,50,1960, + 106,76,77,108,1496,35,2099,3868,2533,2339, + 2467,2415,2031,2516,2496,2583,579,2528,3416,2764, + 2586,2770,1504,352,2779,143,1937,328,333,148, + 144,3906,35,1296,32,3465,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,88,160,1345,102,1817,2339,2467, + 2415,392,2516,2496,2583,426,2528,3416,2764,2586, + 2770,1504,1126,2779,143,1937,3435,333,147,144, + 3906,35,1296,32,646,3109,27,30,31,1268, + 1243,26,28,1933,25,23,50,1960,106,76, + 77,108,89,160,3587,102,4266,2339,2467,2415, + 391,2516,2496,2583,426,2528,76,2764,2586,2770, + 1856,3301,2779,143,3529,3519,333,146,144,3906, + 35,1296,32,1132,3109,27,30,31,1268,1243, + 26,28,1933,25,23,50,1960,106,76,77, + 108,24,459,461,1476,76,2339,2467,2415,726, + 2516,2496,2583,1817,2528,3606,2764,2586,2770,1324, + 3884,2779,143,3546,3301,6825,145,144,4296,35, + 1296,32,2586,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 2311,35,1200,387,376,2339,2467,2415,1817,2516, + 2496,2583,2908,2528,462,2764,2586,2770,2768,6858, + 2780,164,3906,35,1296,32,1318,3109,27,30, + 31,1268,1243,26,28,1933,25,23,50,1960, + 106,76,77,108,273,1493,420,1929,552,2339, + 2467,2415,1817,2516,2496,2583,321,2528,458,2764, + 2586,2770,2855,530,2779,143,1504,1318,2107,159, + 144,3828,301,3906,35,1296,32,3777,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,108,76,3800,70,156,1888, + 2339,2467,2415,324,2516,2496,2583,3719,2528,1880, + 2764,2586,2770,298,3656,2779,143,1931,35,395, + 578,144,3906,35,1296,32,3768,3109,27,30, + 31,1268,1243,26,28,1933,25,23,50,1960, + 106,76,77,108,557,72,77,6462,1318,2339, + 2467,2415,2660,2516,2496,2583,3129,2528,742,2764, + 2586,2770,1817,76,2779,143,3301,1245,2420,140, + 144,5064,3971,35,1296,32,6812,3109,27,30, + 31,1268,1243,26,28,1933,25,23,50,1960, + 106,76,77,108,561,3301,1648,1034,403,2339, + 2467,2415,3768,2516,2496,2583,3718,2528,555,2764, + 2586,2770,2420,2506,2779,143,2752,3301,524,189, + 144,4296,35,1296,32,2861,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,1496,35,1200,387,2948,2339,2467, + 2415,3874,2516,2496,2583,1318,2528,51,2764,2586, + 2770,3301,295,2780,164,4296,35,1296,32,3301, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,273,177,2340, + 2420,5208,2339,2467,2415,4266,2516,2496,2583,69, + 2528,179,2764,2586,2770,76,381,2780,164,1504, + 3301,1318,1496,35,1200,387,4296,35,1296,32, + 422,3109,27,30,31,1268,1243,26,28,1933, + 25,23,50,1960,106,76,77,108,76,275, + 68,156,2095,2339,2467,2415,1817,2516,2496,2583, + 3430,2528,428,2764,2586,2770,273,198,2780,164, + 4296,35,1296,32,292,3109,27,30,31,1268, + 1243,26,28,1933,25,23,50,1960,106,76, + 77,108,3526,3818,284,1817,76,2339,2467,2415, + 2144,2516,2496,2583,1819,2528,4266,2764,2586,2770, + 270,1318,2780,164,538,534,535,536,338,4554, + 454,4296,35,1296,32,421,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,71,1496,35,1200,387,2339,2467, + 2415,97,2516,2496,2583,354,2528,197,2764,2586, + 2770,3301,530,2780,164,4426,35,1296,32,424, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,1949,430,3301, + 98,53,2339,2467,2415,76,2516,2496,2583,1587, + 2528,4393,2764,2586,2770,3301,3301,2780,164,538, + 534,535,536,76,4588,1830,1228,636,783,52, + 581,4612,35,1296,32,3807,6682,27,30,31, + 1268,1243,337,28,1983,2980,570,3936,3129,341, + 3374,4198,2041,537,534,535,536,4103,3301,156, + 156,1318,4491,35,1200,387,353,1178,2680,2625, + 180,5351,4573,530,2755,237,1755,349,76,3873, + 3124,4917,4230,3129,589,534,535,536,539,1034, + 2639,1496,35,1200,387,317,1501,319,4464,2046, + 312,888,228,330,3339,195,273,297,609,2137, + 374,3409,35,1296,32,3091,3880,27,30,31, + 1268,1243,337,28,1034,232,2522,406,2961,76, + 76,5024,1243,1402,2035,49,235,230,231,2041, + 350,1540,1478,293,1640,523,2492,1134,342,2100, + 1904,347,1289,407,408,409,709,402,274,304, + 308,767,3108,537,534,535,536,3490,3301,5233, + 242,245,248,251,3343,314,1372,319,1230,582, + 1980,1210,2493,1565,3119,3540,4992,5038,5368,538, + 534,535,536,3301,2894,609,2137,3301,559,4927, + 1557,4296,35,1296,32,5785,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,558,2979,6798,196,90,2339,2467, + 2415,76,2516,2496,2583,4581,2528,4851,2764,2586, + 3732,1962,35,3766,32,3807,6682,27,30,31, + 1268,1243,337,28,878,410,412,3683,3301,1862, + 35,1200,387,537,534,535,536,4836,1196,2064, + 2420,3301,2859,4261,4715,35,1200,387,2041,1178, + 76,3833,239,889,1952,1275,4993,237,348,1393, + 462,589,534,535,536,6879,589,534,535,536, + 3416,571,544,49,1504,317,1501,319,2420,2046, + 312,888,1640,330,2205,3417,3301,3301,273,401, + 1129,1496,35,1200,387,4587,4001,4001,2244,3124, + 636,636,232,4813,609,2137,160,232,4045,3260, + 2765,5024,2856,240,230,231,3292,3382,235,230, + 231,341,341,341,2946,537,534,535,536,2494, + 4103,4103,156,156,294,433,1824,1034,1034,1318, + 274,2291,2291,3017,861,4573,4573,3301,4657,418, + 3735,5364,242,245,248,251,3343,1947,2156,2156, + 1230,582,2947,2536,2565,3118,3119,3540,4992,5038, + 5368,2046,285,753,76,331,3574,3087,2084,1039, + 1496,35,1200,387,3301,201,2517,5785,44,2997, + 4296,35,1296,32,2032,3109,27,30,31,1268, + 1243,26,28,1933,25,23,50,1960,106,76, + 77,108,76,3913,450,2207,2274,2339,2467,2415, + 3123,2516,2496,2583,49,2528,2217,2764,3717,4296, + 35,1296,32,46,3109,27,30,31,1268,1243, + 26,28,1933,25,23,50,1960,106,76,77, + 108,1318,1931,35,2323,3773,2339,2467,2415,3139, + 2516,2496,2583,3338,2528,3301,3701,3052,35,1296, + 32,1318,6682,27,30,31,1268,1243,337,28, + 3301,537,534,535,536,537,534,535,536,537, + 534,535,536,2857,76,4191,49,199,3398,3780, + 3037,3039,76,2752,3301,1640,2133,6347,1318,441, + 4255,455,4001,952,3301,97,636,405,3180,35, + 1296,32,3807,3880,27,30,31,1268,1243,337, + 28,317,1501,319,4319,2046,313,888,341,331, + 537,534,535,536,3432,76,4103,76,156,1504, + 3301,2276,76,1034,1694,76,2182,2291,5261,2665, + 350,4573,4465,1326,2183,3297,4903,3124,344,2100, + 1904,347,3489,3724,2156,1496,35,1200,387,2587, + 67,156,317,1501,319,3605,847,312,888,341, + 3491,3339,1806,35,1296,32,3807,3880,27,30, + 31,1268,1243,337,28,1560,4942,537,534,535, + 536,3301,1534,3800,537,534,535,536,289,432, + 3301,3301,636,4002,4067,4101,4132,537,534,535, + 536,4197,5261,1578,2606,537,534,535,536,76, + 1318,66,3143,2766,228,2847,304,308,767,3301, + 65,64,966,3017,156,3271,317,1501,319,1034, + 1364,312,888,2625,180,3339,3301,1980,203,215, + 910,3332,202,212,213,214,216,588,632,55, + 169,3237,589,534,535,536,222,3520,1540,35, + 293,3385,4131,3524,3301,1140,54,3124,166,168, + 262,183,167,170,171,172,173,174,1491,2767, + 537,534,535,536,537,534,535,536,2858,4510, + 304,308,767,232,101,5064,269,459,1210,557, + 6812,3301,3017,3301,244,230,231,4296,35,1296, + 32,741,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,108,2855, + 2465,3674,563,2526,2339,2467,2415,4595,2516,2496, + 2583,2912,3706,1,651,1783,749,636,3523,3765, + 1806,35,1296,32,3807,3880,27,30,31,1268, + 1243,337,28,341,1318,2670,1362,529,504,228, + 3124,4103,537,534,535,536,76,966,676,156, + 1504,3301,4999,5012,1034,1196,4573,3653,2625,180, + 5261,2074,4510,203,215,910,1325,202,212,213, + 214,216,588,632,532,169,1393,2842,3067,3068, + 193,2933,156,2340,317,1501,319,502,503,312, + 888,3500,558,3339,168,3221,184,167,170,171, + 172,173,174,4296,35,1296,32,181,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,108,385,2972,193,3389,636, + 2339,2467,2415,2669,2516,2496,3675,2404,3301,4198, + 4066,359,1496,35,1200,387,429,2770,305,308, + 767,228,3545,4263,4331,537,534,535,536,966, + 1230,156,538,534,535,536,1034,2192,4447,528, + 2625,180,4045,4334,5031,203,215,910,3299,202, + 212,213,214,216,588,632,431,169,3280,537, + 534,535,536,2961,35,3766,32,3807,3880,27, + 30,31,1268,1243,337,28,168,3017,3787,167, + 170,171,172,173,174,3814,534,535,536,481, + 4462,4043,3128,636,4496,3779,2113,3939,4537,1555, + 4003,1360,4591,4018,4068,2046,8018,8018,8018,330, + 1365,35,1200,387,8018,228,76,8018,8018,8018, + 2912,8018,76,966,8018,156,1504,317,1501,319, + 1034,8018,312,888,2625,180,2205,5075,2286,203, + 215,910,341,202,212,213,214,216,588,632, + 4103,169,76,577,49,8018,1504,636,156,8018, + 8018,8018,8018,1640,2496,4573,8018,3501,3124,8018, + 168,1110,178,167,170,171,172,173,174,228, + 8018,2682,8018,3178,8018,8018,8018,966,156,156, + 4510,8018,8018,8018,1034,4134,8018,2716,2625,180, + 5095,418,3735,203,215,910,8018,202,212,213, + 214,216,588,632,8018,169,8018,537,534,535, + 536,2170,35,3766,32,3807,3880,27,30,31, + 1268,1243,337,28,168,3017,176,167,170,171, + 172,173,174,537,534,535,536,8018,3260,35, + 3766,32,3807,3880,27,30,31,1268,1243,337, + 28,4018,8018,3237,8018,8018,8018,8018,8018,358, + 3814,534,535,536,8018,1496,35,1200,387,8018, + 8018,8018,8018,8018,8018,317,1501,319,4018,673, + 312,888,8018,636,2205,2865,3253,3266,3214,35, + 1296,32,3807,3880,27,30,31,1268,1243,337, + 28,8018,317,1501,319,228,8018,312,888,49, + 8018,2205,8018,966,8018,156,8018,8018,1640,8018, + 1034,4196,8018,3496,2625,180,3965,4391,8018,203, + 215,910,8018,202,212,213,214,216,588,632, + 8018,169,8018,538,534,535,536,769,5275,418, + 3735,636,317,1501,319,76,8018,312,888,1504, + 168,3867,580,167,170,171,172,173,174,8018, + 8018,8018,8018,228,8018,5095,418,3735,8018,8018, + 8018,966,8018,156,8018,8018,8018,8018,1034,8018, + 8018,156,2625,180,8018,8018,8018,203,215,910, + 3611,202,212,213,214,216,588,632,8018,169, + 8018,865,8018,8018,8018,636,350,8018,2415,8018, + 8018,8018,3124,4045,342,2100,1904,347,168,8018, + 177,167,170,171,172,173,174,228,611,8018, + 537,534,535,536,4510,966,8018,156,8018,8018, + 2496,8018,1034,8018,3124,8018,2625,180,3017,8018, + 8018,203,215,910,8018,202,212,213,214,216, + 588,632,8018,169,8018,961,4510,8018,8018,636, + 8018,8018,4069,8018,8018,8018,2046,3524,8018,8018, + 330,3124,168,8018,187,167,170,171,172,173, + 174,228,8018,8018,537,534,535,536,8018,966, + 8018,156,8018,4510,8018,8018,1034,8018,5520,8018, + 2625,180,4334,358,8018,203,215,910,8018,202, + 212,213,214,216,588,632,8018,169,8018,1057, + 8018,8018,8018,636,8018,8018,8018,2192,8018,3167, + 3253,3266,4045,8018,4199,358,168,8018,3871,167, + 170,171,172,173,174,228,8018,8018,8018,537, + 534,535,536,966,8018,156,538,534,535,536, + 1034,3394,3253,3266,2625,180,8018,3017,8018,203, + 215,910,504,202,212,213,214,216,588,632, + 8018,169,8018,1153,8018,8018,8018,636,8018,8018, + 8018,2192,8018,8018,8018,2046,4045,2708,8018,330, + 168,8018,192,167,170,171,172,173,174,228, + 8018,8018,8018,537,534,535,536,966,8018,156, + 8018,501,503,8018,1034,8018,8018,3183,2625,180, + 8018,3017,8018,203,215,910,8018,202,212,213, + 214,216,588,632,8018,169,8018,1249,8018,8018, + 8018,636,8018,3274,3874,8018,8018,8018,8018,2046, + 8018,8018,4326,330,168,8018,186,167,170,171, + 172,173,174,228,8018,8018,537,534,535,536, + 8018,966,8018,156,538,534,535,536,1034,8018, + 8018,5520,2625,180,4334,8018,8018,203,215,910, + 8018,202,212,213,214,216,588,632,8018,169, + 1848,35,1296,32,5378,3880,27,30,31,1268, + 1243,337,28,8018,8018,8018,8018,8018,168,8018, + 194,167,170,171,172,173,174,4296,35,1296, + 32,8018,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,108,8018, + 8018,8018,8018,8018,2339,2467,2415,8018,2516,3692, + 8018,8018,8018,4987,317,1501,319,4391,8018,312, + 888,3956,8018,3522,8018,3124,8018,8018,8018,2756, + 2598,35,1296,32,6619,3880,27,30,31,1268, + 1243,337,28,350,8018,8018,8018,4510,8018,8018, + 8018,342,2100,1904,347,8018,8018,8018,8018,8018, + 349,4296,35,1296,32,3514,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,1496,35,1200,387,3937,2339,2467, + 2415,8018,2516,3693,317,1501,319,4262,8018,312, + 888,8018,8018,1028,8018,8018,350,8018,8018,538, + 534,535,536,8018,342,2100,1904,347,8018,537, + 534,535,536,350,8018,8018,504,49,340,8018, + 8018,342,2100,1904,347,8018,1640,4462,8018,8018, + 8018,8018,8018,8018,2335,3108,8018,8018,8018,8018, + 8018,4296,35,1296,32,364,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,8018,8018,501,503,8018,2339,2467, + 2415,8018,3606,4296,35,1296,32,8018,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,108,8018,8018,3866,8018,8018, + 2339,2467,2415,8018,3607,4296,35,1296,32,8018, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,8018,8018,8018, + 8018,8018,2339,2467,2415,8018,3609,4296,35,1296, + 32,8018,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,108,8018, + 8018,8018,8018,8018,2339,2467,2415,8018,3642,4296, + 35,1296,32,8018,3109,27,30,31,1268,1243, + 26,28,1933,25,23,50,1960,106,76,77, + 108,8018,8018,8018,8018,8018,2339,2467,2415,8018, + 3654,4296,35,1296,32,8018,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,108,8018,8018,8018,8018,8018,2339,2467, + 2415,8018,3656,3648,35,1296,32,5378,3880,27, + 30,31,1268,1243,337,28,8018,1496,35,1200, + 387,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,2119,8018,8018,8018,2912,4036,35,1296,32, + 8018,3109,27,30,31,1268,1243,26,28,1933, + 25,23,50,1960,585,76,77,228,8018,8018, + 8018,49,8018,8018,8018,966,8018,317,1501,319, + 1640,8018,312,888,8018,8018,525,8018,1702,8018, + 8018,205,215,910,8018,204,212,213,214,216, + 588,632,1495,1871,8018,8018,350,3124,4917,8018, + 8018,8018,8018,8018,342,2100,1904,347,206,208, + 210,709,8018,8018,589,534,535,536,526,228, + 8018,217,207,209,2393,35,1296,32,8018,6682, + 27,30,31,1268,1243,337,28,8018,2295,8018, + 8018,8018,8018,2522,406,2961,537,534,535,536, + 13,8018,5821,8018,8018,232,8018,8018,8018,8018, + 589,534,535,536,3017,8018,247,230,231,8018, + 407,408,409,709,8018,2393,35,1296,32,8018, + 6682,27,30,31,1268,1243,337,28,317,1501, + 319,8018,2046,315,888,4391,331,537,534,535, + 536,232,8018,8018,8018,8018,4131,8018,8018,8018, + 8018,2894,250,230,231,6347,8018,537,534,535, + 536,8018,8018,8018,8018,706,8018,8018,537,534, + 535,536,8018,8018,8018,4647,8018,8018,8018,317, + 1501,319,8018,2046,313,888,3017,331,4296,35, + 1296,32,8018,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 8018,8018,410,413,3254,2339,2467,3658,4296,35, + 1296,32,8018,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,108, + 8018,8018,8018,8018,8018,2339,2467,3659,3770,35, + 1296,32,8018,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,107, + 8018,8018,8018,4544,35,1200,387,8018,1178,8018, + 8018,8018,8018,8018,8018,8018,238,8018,8018,2041, + 1749,35,1200,387,8018,589,534,535,536,8018, + 8018,1806,35,1296,32,3807,3880,27,30,31, + 1268,1243,337,28,8018,4394,8018,273,8018,1496, + 35,1200,387,538,534,535,536,8018,8018,8018, + 8018,8018,8018,8018,49,8018,232,537,534,535, + 536,8018,8018,1640,8018,609,2137,236,230,231, + 8018,47,8018,8018,8018,4462,8018,8018,8018,8018, + 8018,755,8018,49,8018,317,1501,319,8018,274, + 312,888,1640,8018,3465,8018,8018,8018,8018,8018, + 1042,243,246,249,252,3343,8018,8018,8018,1230, + 583,4639,35,1296,32,3807,3880,27,30,31, + 1268,1243,337,28,4768,35,1200,387,2659,1178, + 8018,8018,8018,538,534,535,536,238,2192,8018, + 76,8018,8018,4045,2912,8018,589,534,535,536, + 589,534,535,536,8018,8018,8018,8018,8018,8018, + 537,534,535,536,8018,8018,341,2342,273,8018, + 8018,2912,8018,8018,4103,317,1501,319,3017,8018, + 312,888,8018,8018,3465,8018,8018,232,8018,4573, + 8018,232,8018,228,8018,8018,8018,8018,236,230, + 231,966,253,230,231,8018,2046,3190,8018,8018, + 330,1799,35,1200,387,8018,8018,205,215,910, + 274,204,212,213,214,216,588,632,8018,8018, + 8018,8018,243,246,249,252,3343,8018,3347,2433, + 1230,583,8018,2912,206,208,210,709,1496,35, + 1200,387,8018,8018,8018,49,8018,217,207,209, + 8018,8018,8018,8018,1640,228,8018,8018,8018,8018, + 8018,8018,47,966,76,8018,8018,8018,2912,8018, + 2035,8018,1072,8018,8018,4045,1986,8018,5821,205, + 215,910,49,204,212,213,214,216,588,632, + 341,1640,537,534,535,536,8018,8018,4103,1129, + 4001,2524,8018,8018,636,2912,206,208,210,709, + 3017,8018,8018,4573,8018,8018,8018,8018,8018,217, + 207,209,8018,8018,8018,8018,341,228,8018,8018, + 8018,3192,8018,8018,4103,966,156,8018,2046,8018, + 8018,1034,331,8018,8018,2291,8018,8018,2538,4573, + 5821,205,215,910,8018,204,212,213,214,216, + 588,632,2156,350,8018,8018,8018,2631,8018,8018, + 8018,344,2100,1904,347,8018,8018,8018,206,208, + 210,709,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,217,207,209,8018,8018,4296,35,1296,32, + 8018,3109,27,30,31,1268,1243,26,28,1933, + 25,23,50,1960,106,76,77,108,8018,8018, + 3120,8018,5821,2339,3578,4296,35,1296,32,8018, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,108,8018,8018,8018, + 8018,8018,2339,3580,4296,35,1296,32,8018,3109, + 27,30,31,1268,1243,26,28,1933,25,23, + 50,1960,106,76,77,108,8018,4296,35,1296, + 32,3588,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,108,8018, + 4296,35,1296,32,3589,3109,27,30,31,1268, + 1243,26,28,1933,25,23,50,1960,106,76, + 77,108,2251,8018,8018,8018,2912,3598,8018,8018, + 8018,8018,8018,8018,8018,2750,76,8018,8018,8018, + 2912,8018,8018,2841,8018,8018,8018,8018,228,8018, + 8018,8018,8018,8018,8018,8018,966,589,534,535, + 536,8018,341,8018,2192,589,534,535,536,4045, + 4103,1987,205,215,910,2912,204,212,213,214, + 216,588,632,8018,8018,4573,537,534,535,536, + 8018,8018,8018,8018,8018,8018,8018,228,232,206, + 208,210,709,3204,3017,966,232,8018,8018,584, + 230,231,518,207,209,8018,8018,236,230,231, + 2615,205,215,910,2912,204,212,213,214,216, + 588,632,2046,8018,8018,8018,6689,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,228,8018,206,208, + 210,709,8018,8018,966,8018,8018,8018,8018,8018, + 76,218,207,209,783,8018,8018,8018,8018,2706, + 205,215,910,2912,204,212,213,214,216,588, + 632,8018,8018,8018,8018,8018,341,8018,8018,8018, + 8018,8018,8018,8018,8018,228,156,206,208,210, + 709,8018,8018,966,8018,188,8018,8018,8018,4068, + 608,207,209,8018,8018,8018,8018,8018,2797,205, + 215,910,2912,204,212,213,214,216,588,632, + 94,8018,76,8018,8018,8018,2912,76,8018,8018, + 8018,2912,8018,8018,228,8018,206,208,210,709, + 8018,8018,966,8018,8018,8018,8018,8018,341,607, + 207,209,8018,341,8018,8018,4103,8018,205,215, + 910,4103,204,212,213,214,216,588,632,8018, + 3345,4573,8018,8018,8018,8018,4573,8018,8018,8018, + 8018,8018,8018,8018,8018,206,208,210,709,3166, + 8018,8018,8018,8018,508,8018,8018,8018,606,207, + 209,4296,35,1296,32,8018,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,85,4296,35,1296,32,8018,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,83,4296,35,1296,32,8018, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,82,4296,35,1296, + 32,8018,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,106,76,77,81,4296, + 35,1296,32,8018,3109,27,30,31,1268,1243, + 26,28,1933,25,23,50,1960,106,76,77, + 80,4296,35,1296,32,8018,3109,27,30,31, + 1268,1243,26,28,1933,25,23,50,1960,106, + 76,77,79,4296,35,1296,32,8018,3109,27, + 30,31,1268,1243,26,28,1933,25,23,50, + 1960,106,76,77,78,4296,2225,1296,2324,8018, + 3109,27,30,31,1268,1243,26,28,1933,25, + 23,50,1960,106,76,77,84,2888,8018,8018, + 8018,2912,4101,35,1296,32,8018,3109,27,30, + 31,1268,1243,26,28,1933,25,23,50,1960, + 574,76,77,228,8018,8018,8018,8018,8018,8018, + 8018,966,76,8018,8018,8018,2912,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,2979,205,215,910, + 2912,204,212,213,214,216,588,632,341,8018, + 8018,8018,8018,8018,8018,8018,4103,8018,8018,8018, + 8018,8018,228,8018,206,208,210,709,8018,8018, + 966,4573,8018,8018,8018,8018,8018,519,207,209, + 8018,8018,8018,8018,8018,8018,205,215,910,506, + 204,212,213,214,216,588,632,2575,35,1296, + 32,8018,3880,27,30,31,1268,1243,337,28, + 8018,8018,8018,206,208,210,709,8018,8018,538, + 534,535,536,8018,8018,8018,303,207,209,3841, + 35,1296,32,8018,3109,27,30,31,1268,1243, + 26,28,1933,25,23,50,1960,106,76,77, + 104,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,317,1501,319,8018,8018,600,888,4296,35, + 1296,32,8018,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,106,76,77,110, + 4296,35,1296,32,8018,3109,27,30,31,1268, + 1243,26,28,1933,25,23,50,1960,106,76, + 77,109,4296,35,1296,32,8018,3109,27,30, + 31,1268,1243,26,28,1933,25,23,50,1960, + 106,76,77,105,3070,8018,8018,8018,2912,4166, + 35,1296,32,8018,3109,27,30,31,1268,1243, + 26,28,1933,25,23,50,1960,572,76,77, + 228,8018,8018,8018,8018,8018,8018,8018,966,8018, + 76,8018,8018,8018,783,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,205,215,910,8018,204,212, + 213,214,216,588,632,8018,341,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,156,8018,8018,8018, + 8018,206,208,210,709,188,8018,8018,8018,4068, + 8018,8018,8018,8018,498,207,209,4231,35,1296, + 32,8018,3109,27,30,31,1268,1243,26,28, + 1933,25,23,50,1960,86,76,77,4361,35, + 1296,32,8018,3109,27,30,31,1268,1243,26, + 28,1933,25,23,50,1960,3486,76,77,2415, + 8018,8018,8018,3124,4045,2195,8018,8018,8018,4988, + 76,4001,8018,8018,2912,636,8018,8018,8018,8018, + 3360,537,534,535,536,4510,8018,589,534,535, + 536,589,534,535,536,8018,341,341,8018,3017, + 8018,8018,8018,8018,4103,4103,8018,156,8018,8018, + 8018,8018,1034,8018,8018,8018,2291,8018,8018,4573, + 4573,8018,1365,35,1200,387,8018,2046,232,5046, + 8018,330,232,2156,4045,8018,8018,533,3227,235, + 230,231,8018,235,230,231,8018,8018,8018,8018, + 8018,537,534,535,536,1799,35,1200,387,3347, + 1365,35,1200,387,358,8018,49,8018,8018,3017, + 8018,8018,5793,8018,8018,1640,5793,8018,8018,2163, + 35,1200,387,3493,8018,8018,1978,35,1200,387, + 3167,3253,3266,2682,8018,8018,8018,2046,8018,49, + 8018,6689,8018,8018,49,8018,8018,8018,1640,8018, + 8018,8018,8018,1640,8018,8018,47,1799,35,1200, + 387,47,8018,49,624,614,1526,8018,624,614, + 49,1132,1640,1365,35,1200,387,8018,4657,1640, + 47,8018,783,8018,8018,8018,8018,1802,8018,8018, + 1676,8018,1365,35,1200,387,8018,2613,626,8018, + 8018,49,627,8018,341,1365,35,1200,387,8018, + 1640,8018,8018,8018,156,8018,8018,49,1899,8018, + 76,8018,8018,188,783,8018,1640,4068,2370,8018, + 613,6629,8018,8018,47,96,49,8018,1365,35, + 1200,387,8018,8018,1020,1640,341,8018,8018,49, + 8018,8018,8018,47,8018,8018,156,8018,1640,1365, + 35,1200,387,2804,8018,188,47,8018,8018,4068, + 8018,8018,8018,8018,8018,8018,3171,8018,8018,8018, + 8018,8018,49,8018,8018,8018,8018,8018,8018,8018, + 8018,1640,8018,8018,8018,8018,8018,8018,190,47, + 8018,8018,8018,49,8018,8018,8018,8018,8018,3455, + 8018,8018,1640,8018,8018,8018,8018,8018,8018,8018, + 47,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 3782,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 3384,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8018,8018,3388,8018, + 0,1,229,829,0,500,5772,0,1,229, + 0,39,8652,0,39,8651,631,0,39,8033, + 0,39,8032,0,1,984,0,1060,1,0, + 39,1,8652,0,39,1,8651,0,39,1, + 8033,0,39,1,8032,0,1,3175,0,1, + 901,0,229,219,0,1,880,0,1,923, + 0,1,1077,0,8252,223,0,8251,223,0, + 880,223,0,923,223,0,1077,223,0,8623, + 223,0,8354,223,0,8353,223,0,8279,223, + 0,8278,223,0,8277,223,0,8276,223,0, + 8275,223,0,8274,223,0,8273,223,0,8272, + 223,0,8252,224,0,8251,224,0,880,224, + 0,923,224,0,1077,224,0,8623,224,0, + 8354,224,0,8353,224,0,8279,224,0,8278, + 224,0,8277,224,0,8276,224,0,8275,224, + 0,8274,224,0,8273,224,0,8272,224,0, + 8252,225,0,8251,225,0,880,225,0,923, + 225,0,1077,225,0,8623,225,0,8354,225, + 0,8353,225,0,8279,225,0,8278,225,0, + 8277,225,0,8276,225,0,8275,225,0,8274, + 225,0,8273,225,0,8272,225,0,1077,393, + 0,923,393,0,880,393,0,283,393,0, + 8252,226,0,8251,226,0,880,226,0,923, + 226,0,1077,226,0,8623,226,0,8354,226, + 0,8353,226,0,8279,226,0,8278,226,0, + 8277,226,0,8276,226,0,8275,226,0,8274, + 226,0,8273,226,0,8272,226,0,283,286, + 0,8252,227,0,8251,227,0,880,227,0, + 923,227,0,1077,227,0,8623,227,0,8354, + 227,0,8353,227,0,8279,227,0,8278,227, + 0,8277,227,0,8276,227,0,8275,227,0, + 8274,227,0,8273,227,0,8272,227,0,1374, + 386,0,39,8651,0,8652,48,0,8651,48, + 0,8033,48,0,8032,48,0,8252,587,0, + 8251,587,0,880,587,0,923,587,0,1077, + 587,0,8623,587,0,8354,587,0,8353,587, + 0,8279,587,0,8278,587,0,8277,587,0, + 8276,587,0,8275,587,0,8274,587,0,8273, + 587,0,8272,587,0,8252,241,0,8251,241, + 0,880,241,0,923,241,0,1077,241,0, + 8623,241,0,8354,241,0,8353,241,0,8279, + 241,0,8278,241,0,8277,241,0,8276,241, + 0,8275,241,0,8274,241,0,8273,241,0, + 8272,241,0,8622,241,0,8621,241,0,8290, + 241,0,8289,241,0,8288,241,0,8287,241, + 0,8286,241,0,8285,241,0,8284,241,0, + 8283,241,0,8282,241,0,8281,241,0,8280, + 241,0,39,241,8652,0,39,241,8651,630, + 0,39,241,8033,0,39,241,8032,0,8056, + 241,0,1,329,0,38,901,0,38,8652, + 0,38,8651,0,38,8033,0,38,8032,0, + 453,1589,0,439,1634,0,1374,29,0,8030, + 1,0,1679,316,0,1077,597,0,923,597, + 0,880,597,0,601,597,0,601,596,0, + 8081,75,0,8080,75,0,685,75,0,713, + 75,0,1847,75,0,1444,75,0,1,599, + 0,1,443,0,457,2227,0,456,2333,0, + 35,33,0,47,37,0,8030,382,0,8029, + 382,0,1077,599,0,923,599,0,880,599, + 0,880,629,0,923,629,0,1077,629,0, + 8633,629,0,500,2929,0,8056,1,229,0, + 39,1,229,0,229,415,0,1,1843,0, + 1,8622,0,1,8621,0,1,8290,0,1, + 8289,0,1,8288,0,1,8287,0,1,8286, + 0,1,8285,0,1,8284,0,1,8283,0, + 1,8282,0,1,8281,0,1,8280,0,1, + 6242,0,8652,37,0,8651,37,0,8033,37, + 0,8032,37,0,43,8054,0,43,37,0, + 1449,91,0,32,34,0,8026,1,0,39, + 901,0,1077,329,0,923,329,0,880,329, + 0,39,241,8651,0,1,1575,0,1,1628, + 0,229,220,0,4839,126,0,8252,625,0, + 8251,625,0,880,625,0,923,625,0,1077, + 625,0,8623,625,0,8354,625,0,8353,625, + 0,8279,625,0,8278,625,0,8277,625,0, + 8276,625,0,8275,625,0,8274,625,0,8273, + 625,0,8272,625,0,880,628,0,923,628, + 0,1077,628,0,8633,628,0,8028,404,0, + 8027,404,0,229,414,0,8030,586,382,0, + 8029,586,382,0,1,229,3381,0,8027,229, + 0,3395,229,0,8024,1,0,8023,1,0, + 237,1693,0,387,32,0,386,29,0,1077, + 444,0,923,444,0,880,444,0,8056,444, + 0,39,444,0,329,444,0,8054,45,0, + 37,45,0,8030,575,382,0,8029,575,382, + 0,8030,573,382,0,8029,573,382,0,8030, + 87,382,0,8029,87,382,0,1,92,0, + 3767,229,0,10,12,0,8056,1,0,39, + 1,0,585,574,0,8623,334,0,8354,334, + 0,8353,334,0,4839,128,0,4839,127,0, + 3922,100,0,8,10,12,0,8652,2,37, + 0,8651,2,37,0,8033,2,37,0,8032, + 2,37,0,8652,36,0,8651,36,0,8033, + 36,0,8032,36,0,1077,594,0,923,594, + 0,880,594,0,1077,593,0,923,593,0, + 880,593,0,537,538,0,3150,103,0,2825, + 99,0,1077,95,0,923,95,0,880,95, + 0,8056,95,0,39,95,0,329,95,0, + 8030,586,575,382,0,586,575,0,35,73, + 0,3870,382,0,1077,594,595,0,923,594, + 595,0,880,594,595,0,594,595,0,278, + 2188,0,8,12,0,185,4383,0 + }; + }; + public final static char baseAction[] = BaseAction.baseAction; + public final int baseAction(int index) { return baseAction[index]; } + public final static char lhs[] = baseAction; + public final int lhs(int index) { return lhs[index]; }; + + public interface TermCheck { + public final static char termCheck[] = {0, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,0, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,65,66,67,68,0, + 70,71,72,73,0,0,0,3,78,79, + 31,81,13,83,84,85,86,87,88,89, + 0,91,92,93,94,95,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,0,50,51,52,53, + 54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,0,70,71,72,73, + 101,102,96,97,78,79,0,81,13,83, + 84,85,86,87,88,89,10,91,92,93, + 94,95,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,0,50,51,52,53,54,55,56,57, + 58,59,60,61,62,63,64,65,66,67, + 68,0,70,71,72,73,101,102,0,0, + 78,79,0,81,13,83,84,85,86,87, + 88,89,0,91,92,93,94,95,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,0,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,63,64,65,66,67,68,0,70,71, + 72,73,101,102,96,97,78,79,0,81, + 13,14,84,85,86,87,88,89,109,91, + 92,93,94,95,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,0,50,51,52,53,54,55, + 56,57,58,59,60,61,62,63,64,65, + 66,67,68,0,70,71,72,73,0,0, + 0,0,78,79,5,81,6,6,84,85, + 86,87,88,89,0,91,92,93,94,95, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,69, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,65,66,67,68,0, + 70,71,72,73,96,97,0,0,78,79, + 0,81,0,110,84,85,86,87,88,89, + 117,91,92,93,94,95,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,76,50,51,52,53, + 54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,0,70,71,72,73, + 0,0,96,97,78,79,5,81,96,97, + 84,85,86,87,88,89,109,91,92,93, + 94,95,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,76,50,51,52,53,54,55,56,57, + 58,59,60,61,62,63,64,65,66,67, + 68,0,70,71,72,73,96,97,0,0, + 78,79,0,81,5,14,84,85,86,87, + 88,89,0,91,92,93,94,95,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,0,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,63,64,65,66,67,68,0,70,71, + 72,73,5,81,96,97,78,79,0,81, + 98,0,84,85,86,87,88,89,0,91, + 92,93,94,95,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,0,50,51,52,53,54,55, + 56,57,58,59,60,61,62,63,64,65, + 66,67,68,0,70,71,72,73,5,0, + 0,0,78,79,5,81,6,0,84,85, + 86,87,88,89,0,91,92,93,94,95, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,69, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,65,66,67,68,82, + 70,71,72,73,80,0,0,0,78,79, + 5,81,6,6,84,85,86,87,88,89, + 0,91,92,93,94,95,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,69,50,51,52,53, + 54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,68,0,70,71,72,73, + 5,0,0,0,78,79,5,81,6,6, + 84,85,86,87,88,89,0,91,92,93, + 94,95,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,69,50,51,52,53,54,55,56,57, + 58,59,60,61,62,63,64,65,66,67, + 68,0,70,71,72,73,5,0,0,0, + 78,79,5,81,6,6,84,85,86,87, + 88,89,0,91,92,93,94,95,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,69,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,63,64,65,66,67,68,0,70,71, + 72,73,80,0,0,0,78,79,11,81, + 5,0,84,85,86,87,88,89,14,91, + 92,93,94,95,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,0, + 43,0,0,0,0,1,2,3,4,0, + 7,8,9,11,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,45, + 46,47,48,30,31,32,33,34,35,36, + 37,38,39,40,41,42,0,1,2,3, + 4,0,6,69,70,0,5,2,74,75, + 76,77,99,100,80,81,82,83,0,1, + 15,16,17,18,19,20,21,75,23,77, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,112,69,30,98, + 116,117,118,119,120,121,122,123,124,125, + 126,127,128,0,130,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 0,132,0,82,0,0,1,2,3,4, + 131,7,8,9,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,0, + 45,46,47,48,30,31,32,33,34,35, + 36,37,38,39,40,41,42,45,46,0, + 1,2,3,4,69,70,7,8,9,74, + 75,76,77,49,0,80,81,82,83,0, + 1,2,3,4,0,6,7,8,9,5, + 0,96,97,98,99,100,101,102,103,104, + 105,106,107,108,109,110,111,112,69,99, + 100,116,117,118,119,120,121,122,123,124, + 125,126,127,128,50,130,0,1,2,3, + 4,5,6,7,8,9,10,0,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,0, + 44,45,46,47,48,0,50,51,52,53, + 54,55,56,57,58,59,60,61,62,63, + 64,65,66,67,0,1,2,3,4,73, + 0,1,2,3,4,5,6,7,8,9, + 10,74,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,49,44,45,46,47,48,74, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,65,66,67,0,1, + 2,3,4,73,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,1, + 2,3,4,49,50,0,1,2,3,4, + 5,6,7,8,9,10,0,12,0,65, + 66,67,68,0,0,71,72,11,5,0, + 1,77,0,1,2,3,4,83,6,7, + 8,9,13,0,90,13,14,0,1,2, + 3,4,5,6,30,31,32,10,11,12, + 0,0,1,2,3,4,0,113,114,115, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,0,1,2,3,4,49, + 50,74,75,76,10,107,12,80,0,82, + 0,1,2,3,4,65,66,67,68,78, + 79,71,72,77,128,98,0,77,0,1, + 2,3,4,83,6,7,8,9,98,13, + 90,0,1,2,3,4,5,6,7,8, + 9,10,44,12,13,14,0,0,1,2, + 3,4,0,113,114,115,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 0,0,0,0,0,49,50,5,77,5, + 6,7,8,9,11,11,0,13,14,0, + 74,65,66,67,68,78,79,71,72,77, + 30,31,32,0,0,1,2,3,4,83, + 7,8,9,0,10,0,90,0,15,16, + 17,18,19,20,21,0,23,24,25,26, + 27,28,0,30,31,32,33,34,35,36, + 37,38,39,40,41,42,74,76,74,75, + 76,80,0,49,80,69,83,131,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,0,1,2,3,4,49,50,0, + 1,2,3,4,5,6,7,8,9,10, + 107,12,0,65,66,67,68,5,76,71, + 72,0,80,0,0,0,2,6,7,8, + 9,7,8,9,13,14,0,1,90,15, + 16,17,18,19,20,21,0,23,0,1, + 2,3,4,0,30,31,32,33,34,35, + 36,37,38,39,40,41,42,0,1,2, + 3,4,49,0,49,22,77,0,11,131, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,0,0,49,0,82,49, + 50,7,8,9,7,8,9,70,0,0, + 0,1,2,3,4,65,66,67,68,69, + 10,71,72,80,30,31,32,33,34,35, + 36,37,38,39,40,41,42,0,0,44, + 90,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,0,1,2,3,4, + 49,50,0,1,2,3,4,5,6,7, + 8,9,10,0,12,0,65,66,67,68, + 5,74,71,72,0,1,2,3,4,0, + 6,7,8,9,83,11,0,13,14,0, + 11,90,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,0,0,49,74, + 77,49,50,0,0,1,2,3,4,75, + 6,0,0,0,10,0,12,65,66,67, + 68,98,83,71,72,0,11,0,1,2, + 3,4,98,6,0,83,0,10,0,12, + 44,0,90,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,76,76,76, + 75,0,49,50,0,1,2,3,4,5, + 6,7,8,9,10,0,12,69,65,66, + 67,68,76,98,71,72,11,0,1,2, + 3,4,5,6,0,0,83,10,11,12, + 105,106,129,90,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,0, + 75,76,0,49,50,7,8,9,0,0, + 11,74,75,69,6,7,8,9,0,65, + 66,67,68,0,0,71,72,82,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,0,43,0,90,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,0, + 49,0,69,69,49,50,7,8,9,0, + 1,2,3,4,0,6,0,0,1,0, + 65,66,67,68,105,106,71,72,11,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,0,0,0,90,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 0,0,75,0,80,49,50,7,8,9, + 7,8,9,84,0,0,0,0,0,108, + 0,65,66,67,68,99,100,71,72,11, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,0,0,0,90,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,77,76,75,76,80,49,50,0,1, + 2,3,4,5,6,0,0,0,10,108, + 12,0,65,66,67,68,99,100,71,72, + 0,1,2,3,4,5,6,7,8,9, + 10,0,12,13,14,0,0,90,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,0,0,77,80,80,49,50,0, + 1,2,3,4,5,6,0,77,0,10, + 69,12,0,65,66,67,68,0,77,71, + 72,0,1,2,3,4,5,6,7,8, + 9,10,0,12,13,14,0,0,90,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,77,0,77,69,0,49,50, + 0,1,2,3,4,74,0,0,0,0, + 10,69,12,6,65,66,67,68,0,11, + 71,72,0,77,77,7,8,9,0,1, + 2,3,4,5,6,113,114,115,10,90, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,49,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,44,45,46,47,48,80,70,51, + 52,53,54,55,56,57,58,59,60,61, + 62,63,64,0,1,2,3,4,5,6, + 0,73,43,10,82,12,78,79,80,0, + 1,2,3,4,5,6,0,0,0,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,0, + 1,2,3,4,5,6,7,8,9,10, + 0,12,0,44,45,46,47,48,0,0, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,0,0,0,77,0,70, + 0,5,73,0,1,2,3,4,5,6, + 74,11,83,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,0,0,0,77,0,1,2, + 3,4,0,6,7,8,9,44,45,46, + 47,48,82,74,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,0,1, + 2,3,4,70,76,75,73,0,1,2, + 3,4,5,6,0,0,49,10,0,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,22,0,1, + 2,3,4,5,6,0,0,49,10,11, + 12,44,45,46,47,48,11,11,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,0,1,2,3,4,0,6,0, + 73,43,10,68,12,78,79,0,1,2, + 3,4,5,6,0,77,82,10,0,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,0,0,0, + 75,49,76,5,0,0,7,8,9,83, + 5,44,45,46,47,48,11,0,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,0,0,0,0,1,2,3,4, + 73,6,7,8,9,78,79,0,1,2, + 3,4,5,6,0,22,82,10,0,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,45,46,74, + 75,76,49,50,49,80,0,1,2,3, + 4,44,45,46,47,48,0,0,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,0,0,0,0,1,2,3,4, + 73,7,8,9,0,78,79,0,1,2, + 3,4,5,6,0,49,82,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,0,1,2, + 3,4,5,6,49,0,1,10,0,12, + 74,44,45,46,47,48,11,0,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,0,1,2,3,4,70,0,0, + 73,0,1,2,3,4,5,6,0,44, + 11,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,74,0,0,0,0,0,69,5,0, + 75,49,43,0,5,44,45,46,47,48, + 11,0,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,0,1,2,3, + 4,0,6,0,0,76,10,0,12,0, + 1,2,3,4,5,6,0,0,0,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,0, + 1,2,3,4,75,49,7,8,9,45, + 46,0,13,44,45,46,47,48,0,128, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,0,0,69,0,0,70, + 0,1,2,3,4,5,6,80,49,11, + 10,129,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 103,104,0,0,0,0,0,0,111,112, + 7,8,9,0,44,45,46,47,48,6, + 129,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,0,1,2,3,4, + 5,6,0,75,74,10,33,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,0,0,0,0,0, + 5,69,69,7,8,9,11,11,11,44, + 45,46,47,48,0,0,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,4,5,6,22,73,43, + 10,69,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 0,0,0,0,49,50,5,70,0,74, + 75,11,76,11,44,45,46,47,48,11, + 82,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,0,1,2,3,4, + 5,6,0,73,0,10,0,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,0,0,0,0,0, + 70,5,7,8,9,7,8,9,70,44, + 45,46,47,48,0,83,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,4,5,6,0,0,0, + 10,69,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 0,0,0,0,0,0,5,7,8,9, + 7,8,9,0,44,45,46,47,48,82, + 0,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,0,1,2,3,4, + 5,6,0,0,0,10,69,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,0,0,0,0,0, + 0,5,7,8,9,7,8,9,11,44, + 45,46,47,48,0,0,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,4,5,6,0,0,0, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 0,0,0,0,0,0,0,5,7,8, + 9,11,75,76,44,45,46,47,48,0, + 0,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,0,1,2,3,4, + 5,6,0,43,0,10,0,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,0,0,0,0,0, + 0,0,7,8,9,5,76,11,73,44, + 45,46,47,48,0,0,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,4,5,6,0,0,0, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 0,0,0,0,0,0,70,7,8,9, + 7,8,9,11,44,45,46,47,48,0, + 0,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,0,1,2,3,4, + 5,6,0,0,0,10,0,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,0,1,2,3,4, + 0,0,70,0,0,5,5,0,0,44, + 45,46,47,48,11,11,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,4,0,6,7,8,9, + 5,0,0,0,49,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,70,0,0,0,0,0,75, + 50,5,5,0,1,2,3,4,0,6, + 7,8,9,0,0,65,66,67,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,42,0,0,0,0, + 0,5,44,50,0,5,10,49,11,13, + 14,0,0,0,0,11,0,0,65,66, + 67,0,1,2,3,4,5,6,7,8, + 9,10,0,12,13,14,0,0,0,0, + 43,45,46,47,48,82,0,51,0,1, + 2,3,4,5,6,7,8,9,10,0, + 12,13,14,0,0,69,0,0,0,0, + 74,0,76,110,78,79,80,11,82,75, + 117,118,119,120,121,122,123,124,125,126, + 127,0,96,97,0,99,0,101,102,103, + 104,105,106,107,108,109,110,0,44,43, + 0,0,116,49,118,119,120,121,122,123, + 124,125,126,127,0,1,2,3,4,0, + 6,7,8,9,0,0,0,0,0,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,0,0,0, + 0,0,0,0,50,0,0,0,1,2, + 3,4,0,6,7,8,9,0,0,65, + 66,67,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 0,0,0,1,2,3,4,50,6,7, + 8,9,0,0,0,13,14,0,0,0, + 0,0,65,66,67,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,0, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,0,1,2,3,4,0, + 6,7,8,9,69,0,0,13,14,74, + 75,0,0,0,0,0,0,0,0,0, + 70,0,0,0,74,75,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 0,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,0,0,0,0,2, + 0,5,0,0,7,8,9,11,0,0, + 74,75,15,16,17,18,19,20,21,0, + 23,0,0,0,5,74,75,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 0,1,2,3,4,5,6,7,8,9, + 10,0,12,13,14,0,1,2,3,4, + 0,6,7,8,9,0,47,48,13,14, + 74,75,76,0,0,0,80,69,0,6, + 0,1,2,3,4,0,0,0,80,0, + 69,0,0,74,0,0,0,0,0,0, + 0,80,0,0,0,0,33,0,0,0, + 0,103,104,0,0,0,0,77,0,111, + 112,0,0,0,103,104,0,0,0,49, + 0,0,111,112,0,116,0,0,0,0, + 0,0,0,0,0,0,0,0,0,130, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,113,114,115,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0 + }; + }; + public final static char termCheck[] = TermCheck.termCheck; + public final int termCheck(int index) { return termCheck[index]; } + + public interface TermAction { + public final static char termAction[] = {0, + 8018,7794,7008,7008,7008,7008,7008,7001,7008,7008, + 7008,7870,7008,7008,7008,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,7798,1,1,1,1,1,563, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1152,115, + 8029,689,8193,1,8018,1,121,1370,1,1, + 8580,1687,5750,8025,3453,2771,2348,2681,3380,3765, + 383,3452,851,3445,662,3444,10,7873,7873,7873, + 7873,7873,7873,7873,7873,7873,7873,7873,7873,7873, + 7873,7873,7873,7873,7873,7873,7873,7873,7873,7873, + 7873,7873,7873,7873,7873,7873,7873,7873,7873,7873, + 7873,7873,7873,7873,7873,7873,7873,7873,7873,7873, + 7873,7873,7873,7873,7873,8018,7873,7873,7873,7873, + 7873,7873,7873,7873,7873,7873,7873,7873,7873,7873, + 7873,7873,7873,7873,7873,117,7873,7873,7873,7873, + 5727,5704,5148,5178,7873,7873,8018,7873,5750,7873, + 7873,7873,7873,7873,7873,7873,2076,7873,7873,7873, + 7873,7873,8,7903,7903,7903,7903,7903,7903,7903, + 7903,7903,7903,7903,7903,7903,7903,7903,7903,7903, + 7903,7903,7903,7903,7903,7903,7903,7903,7903,7903, + 7903,7903,7903,7903,7903,7903,7903,7903,7903,7903, + 7903,7903,7903,7903,7903,7903,7903,7903,7903,7903, + 7903,8018,7903,7903,7903,7903,7903,7903,7903,7903, + 7903,7903,7903,7903,7903,7903,7903,7903,7903,7903, + 7903,116,7903,7903,7903,7903,5727,5704,577,137, + 7903,7903,8018,7903,5750,7903,7903,7903,7903,7903, + 7903,7903,8018,7903,7903,7903,7903,7903,8018,7794, + 7008,7008,7008,7008,7008,7001,7008,7008,7008,7801, + 7008,7008,7008,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,7798,1,1,1,1,1,8018,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1152,8018,8029,689, + 8193,1,5727,5704,5148,5178,1,1,8018,1687, + 3572,1202,3453,2771,2348,2681,3380,3765,3270,3452, + 851,3445,662,3444,8018,7794,7008,7008,7008,7008, + 7008,7001,7008,7008,7008,7801,7008,7008,7008,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7798,1,1, + 1,1,1,8018,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1152,139,8029,689,8193,1,576,8018, + 395,39,1,1,1111,1687,386,8056,3453,2771, + 2348,2681,3380,3765,8018,3452,851,3445,662,3444, + 8018,7794,7008,7008,7008,7008,7008,7001,7008,7008, + 7008,7801,7008,7008,7008,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,7798,1,1,1,1,1,1374, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1152,306, + 8029,689,8193,1,5148,5178,125,138,1,1, + 8018,1687,124,3051,3453,2771,2348,2681,3380,3765, + 2432,3452,851,3445,662,3444,8018,7794,7008,7008, + 7008,7008,7008,7001,7008,7008,7008,7801,7008,7008, + 7008,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7798, + 1,1,1,1,1,3660,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1152,566,8029,689,8193,1, + 123,8018,5148,5178,1,1,640,1687,5148,5178, + 3453,2771,2348,2681,3380,3765,3270,3452,851,3445, + 662,3444,8018,7794,7008,7008,7008,7008,7008,7001, + 7008,7008,7008,7801,7008,7008,7008,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7798,1,1,1,1, + 1,980,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1152,131,8029,689,8193,1,5148,5178,122,8018, + 1,1,356,1687,866,3743,3453,2771,2348,2681, + 3380,3765,1,3452,851,3445,662,3444,8018,7794, + 7008,7008,7008,7008,7008,7001,7008,7008,7008,7801, + 7008,7008,7008,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,7798,1,1,1,1,1,8018,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1152,8018,8029,689, + 8193,1,1491,1438,5148,5178,1,1,8018,1687, + 8373,8018,3453,2771,2348,2681,3380,3765,8018,3452, + 851,3445,662,3444,8018,7794,7008,7008,7008,7008, + 7008,7001,7008,7008,7008,7801,7008,7008,7008,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7798,1,1, + 1,1,1,8018,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1152,8018,8029,689,8193,1,1679,8018, + 48,8018,1,1,2873,1687,8652,35,3453,2771, + 2348,2681,3380,3765,8018,3452,851,3445,662,3444, + 8018,7794,7008,7008,7008,7008,7008,7001,7008,7008, + 7008,7801,7008,7008,7008,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,7798,1,1,1,1,1,8652, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1152,1857, + 8029,689,8193,1,6237,8018,48,8018,1,1, + 1693,1687,8651,1338,3453,2771,2348,2681,3380,3765, + 8018,3452,851,3445,662,3444,8018,7794,7008,7008, + 7008,7008,7008,7001,7008,7008,7008,7801,7008,7008, + 7008,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7798, + 1,1,1,1,1,8651,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1152,569,8029,689,8193,1, + 2875,556,48,8018,1,1,2484,1687,8033,3107, + 3453,2771,2348,2681,3380,3765,8018,3452,851,3445, + 662,3444,8018,7794,7008,7008,7008,7008,7008,7001, + 7008,7008,7008,7801,7008,7008,7008,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7798,1,1,1,1, + 1,8033,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1152,91,8029,689,8193,1,7680,543,48,8018, + 1,1,1455,1687,8032,1481,3453,2771,2348,2681, + 3380,3765,8018,3452,851,3445,662,3444,8018,7794, + 7008,7008,7008,7008,7008,7001,7008,7008,7008,7801, + 7008,7008,7008,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,7798,1,1,1,1,1,8032,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1152,8018,8029,689, + 8193,1,8529,111,132,1,1,1,8028,1687, + 5982,8018,3453,2771,2348,2681,3380,3765,3743,3452, + 851,3445,662,3444,8018,7570,7570,7570,7570,7570, + 7570,7570,7570,7570,7570,7570,7570,7570,7570,185, + 8027,1,8018,224,8018,7334,7325,7328,7331,8018, + 7124,7118,7121,8024,7570,7570,7570,7570,7570,7570, + 7570,7570,7570,7570,7570,7570,7570,7570,386,7570, + 7570,7570,7570,7133,7130,7127,7139,7157,7136,7148, + 7115,7142,7145,7154,7151,7112,8018,7021,7011,7322, + 7018,309,8056,7570,7570,8018,924,8633,7570,7570, + 7570,7570,6418,6440,7570,7570,7570,7570,545,8564, + 8635,8638,8634,8640,8641,8639,8636,8023,8637,927, + 7570,7570,7570,7570,7570,7570,7570,7570,7570,7570, + 7570,7570,7570,7570,7570,7570,7570,7319,8565,8375, + 7570,7570,7570,7570,7570,7570,7570,7570,7570,7570, + 7570,7570,7570,8018,7570,8018,7683,7683,7683,7683, + 7683,7683,7683,7683,7683,7683,7683,7683,7683,7683, + 114,8015,118,1398,225,8018,8032,8652,8651,8033, + 7000,7172,7166,7169,8018,7683,7683,7683,7683,7683, + 7683,7683,7683,7683,7683,7683,7683,7683,7683,453, + 7683,7683,7683,7683,7181,7178,7175,7187,7205,7184, + 7196,7163,7190,7193,7202,7199,7160,5675,5646,296, + 8032,8652,8651,8033,7683,7683,1077,880,923,7683, + 7683,7683,7683,1452,8018,7683,7683,7683,7683,286, + 7268,7268,7268,7268,237,283,1077,880,923,7810, + 8018,7683,7683,7683,7683,7683,7683,7683,7683,7683, + 7683,7683,7683,7683,7683,7683,7683,7683,7510,6418, + 6440,7683,7683,7683,7683,7683,7683,7683,7683,7683, + 7683,7683,7683,7683,2487,7683,39,7021,7011,7014, + 7018,5550,1060,1077,880,923,6215,318,3175,6127, + 6149,8282,8280,8288,8284,8285,8283,8286,776,8287, + 8621,8622,8289,8290,8281,6598,8353,8354,8623,8278, + 8272,8279,8275,8251,8277,8276,8273,8274,8252,8018, + 8037,6105,6083,6193,6171,457,8415,6061,1741,1841, + 8039,1750,6577,1792,8040,8038,1649,8034,8035,8036, + 6489,3485,8416,8417,37,7573,7573,7573,7573,1758, + 39,7021,7011,7322,7018,5550,1060,1077,880,923, + 6215,1348,3175,6127,6149,8282,8280,8288,8284,8285, + 8283,8286,776,8287,8621,8622,8289,8290,8281,6598, + 8353,8354,8623,8278,8272,8279,8275,8251,8277,8276, + 8273,8274,8252,8054,8037,6105,6083,6193,6171,7564, + 8415,6061,1741,1841,8039,1750,6577,1792,8040,8038, + 1649,8034,8035,8036,6489,3485,8416,8417,8018,9882, + 9594,9690,9786,1758,8018,7610,7610,7610,7610,229, + 7606,7008,7008,7008,229,7614,229,229,229,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,229,48,7334, + 7325,7328,7331,7603,1,1,7042,7030,7034,7038, + 984,7027,7061,7055,7058,901,8018,3175,133,1, + 1,1,3568,8018,334,1055,8429,8022,1943,8018, + 2866,229,443,7561,7561,7561,7561,415,7561,7561, + 7561,7561,3295,8018,8517,7561,7561,1,7042,7030, + 7034,7038,4590,7027,7891,7888,7885,901,365,3175, + 1,8018,8032,8652,8651,8033,447,8452,8453,8454, + 8018,7610,7610,7610,7610,229,7606,7008,7008,7008, + 229,7783,229,229,229,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,229,38,7507,7498,7501,7504,7603, + 1,1348,365,365,7495,3617,3175,365,568,1553, + 396,8032,8652,8651,8033,1,1,1,3568,6379, + 672,1055,8429,700,8021,365,8018,229,596,7537, + 7537,7537,7537,414,601,1077,880,923,3613,5106, + 8517,8018,7042,7030,7034,7038,984,7027,7061,7055, + 7058,901,2242,3175,7492,7492,456,8018,7334,7325, + 7328,7331,8018,8452,8453,8454,8018,7008,7008,7008, + 7008,229,7008,7001,7008,7008,229,7052,229,229, + 229,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,13308,1,11355,1,1,11783,1,229, + 334,8018,316,1,39,7005,1,7522,2591,2897, + 8056,1077,880,923,7686,343,439,329,329,8018, + 7567,1,1,1,2991,6379,672,689,8229,8418, + 8353,8354,8623,223,37,7573,7573,7573,7573,219, + 7076,7070,7073,134,7573,8018,8517,8018,8282,8280, + 8288,8284,8285,8283,8286,8018,8287,8621,8622,8289, + 8290,8281,8018,7085,7082,7079,7091,7109,7088,7100, + 7067,7094,7097,7106,7103,7064,1348,3573,1348,343, + 343,6484,8018,2125,343,7513,8025,219,8018,7008, + 7008,7008,7008,229,7008,7001,7008,7008,229,229, + 229,229,229,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,13308,1,11355,1,1,11783, + 1,229,8018,9882,9594,9690,9786,7005,1,1, + 7042,7030,7034,7038,984,7027,7061,7055,7058,901, + 3617,3175,8018,1,1,1,2991,5910,3573,689, + 8229,39,3869,8018,629,8018,7600,8056,1077,880, + 923,7597,7591,7594,329,329,8018,3121,8517,8635, + 8638,8634,8640,8641,8639,8636,291,8637,290,8032, + 8652,8651,8033,300,8353,8354,8623,8278,8272,8279, + 8275,8251,8277,8276,8273,8274,8252,8018,8032,8652, + 8651,8033,5870,8018,5919,8317,2591,47,8030,220, + 8018,7008,7008,7008,7008,229,7008,7001,7008,7008, + 229,229,229,229,229,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,13308,1,11355,1, + 1,11783,1,229,226,8018,1320,296,2635,7005, + 1,7232,7226,7229,1077,880,923,8029,8018,8018, + 8018,8032,8652,8651,8033,1,1,1,2991,1459, + 2076,689,8229,3503,7241,7238,7235,7247,7265,7244, + 7256,7223,7250,7253,7262,7259,7220,346,8018,1911, + 8517,8018,7008,7008,7008,7008,229,7008,7001,7008, + 7008,229,7711,229,229,229,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,13308,1,11355, + 1,1,11783,1,229,36,7932,7923,7926,7929, + 7005,1,329,7021,7011,7322,7018,984,1060,1077, + 880,923,901,8018,3175,345,1,1,1,2991, + 2928,1348,689,8229,1,7879,7879,7879,7879,8018, + 7876,7061,7055,7058,220,361,8018,329,329,37, + 8026,8517,8018,7008,7008,7008,7008,229,7008,7001, + 7008,7008,229,7711,229,229,229,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,13308,1, + 11355,1,1,11783,1,229,8018,8018,8054,1348, + 4127,7005,1,8018,8018,7021,7011,7322,7018,361, + 1060,514,157,448,901,1,3175,1,1,1, + 2991,2781,8025,689,8229,129,361,8018,7021,7011, + 7322,7018,361,1060,8018,220,360,901,29,3175, + 2242,8018,8517,8018,7008,7008,7008,7008,229,7008, + 7001,7008,7008,229,7711,229,229,229,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,13308, + 1,11355,1,1,11783,1,229,1156,2392,1597, + 361,8018,7005,1,599,7021,7011,7322,7018,984, + 1060,1077,880,923,901,8018,3175,7516,1,1, + 1,2991,3676,361,689,8229,8024,1,7042,7030, + 7034,7038,4590,7027,8018,368,220,901,7804,3175, + 4621,4537,3864,8517,8018,7008,7008,7008,7008,229, + 7008,7001,7008,7008,229,229,229,229,229,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 13308,1,11355,1,1,11783,1,229,227,404, + 8023,1201,8018,7005,1,7283,7277,7280,394,130, + 7777,1348,7807,1699,387,1077,880,923,8018,1, + 1,1,2991,8018,8018,689,8229,1604,7292,7289, + 7286,7298,7316,7295,7307,7274,7301,7304,7313,7310, + 7271,1,7780,8018,8517,8018,7008,7008,7008,7008, + 229,7008,7001,7008,7008,229,229,229,229,229, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,13308,1,11355,1,1,11783,1,229,587, + 780,135,3886,5380,7005,1,7349,7343,7346,8018, + 7021,7011,7322,7018,8018,8056,113,8018,2303,8018, + 1,1,1,2991,4621,4537,689,8229,8024,7358, + 7355,7352,7364,7382,7361,7373,7340,7367,7370,7379, + 7376,7337,8018,8018,8018,8517,8018,7008,7008,7008, + 7008,229,7008,7001,7008,7008,229,229,229,229, + 229,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,13308,1,11355,1,1,11783,1,229, + 625,136,8023,602,3504,7005,1,7729,7723,7726, + 1077,880,923,3860,1,8018,289,112,8018,3309, + 8018,1,1,1,2991,6418,6440,689,8229,8024, + 7738,7735,7732,7744,7762,7741,7753,7720,7747,7750, + 7759,7756,7717,8018,8018,8018,8517,8018,7008,7008, + 7008,7008,229,7008,7001,7008,7008,229,229,229, + 229,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,13308,1,11355,1,1,11783,1, + 229,2,1756,8023,1705,3506,7005,1,1,7042, + 7030,7034,7038,7024,7027,8018,8018,427,7049,3309, + 7046,8018,1,1,1,2991,6418,6440,689,8229, + 8018,7042,7030,7034,7038,984,7027,7061,7055,7058, + 901,29,3175,7558,7558,8018,8018,8517,8018,7008, + 7008,7008,7008,229,7008,7001,7008,7008,229,229, + 229,229,229,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,13308,1,11355,1,1,11783, + 1,229,8018,8018,2541,3511,8472,7005,1,1, + 7042,7030,7034,7038,984,7027,8018,2591,8018,901, + 1374,3175,438,1,1,1,2991,8018,423,689, + 8229,343,7021,7011,7322,7018,4590,1060,1077,880, + 923,901,8018,3175,329,329,8018,8018,8517,8018, + 7008,7008,7008,7008,229,7008,7001,7008,7008,229, + 229,229,229,229,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,13308,1,11355,1,1, + 11783,1,229,3859,8018,3923,5514,8018,7005,1, + 8018,8032,8652,8651,8033,1348,8018,8018,8018,1, + 901,5786,3175,2658,1,1,1,2991,311,8030, + 689,8229,366,2443,2492,1077,880,923,1,7042, + 7030,7034,7038,5550,7027,8452,8453,8454,6215,8517, + 3175,6127,6149,7650,7656,7632,7644,7641,7647,7638, + 7617,7635,7623,7620,7629,7626,7653,7659,809,1, + 7042,7030,7034,7038,984,7027,7061,7055,7058,901, + 307,3175,8037,6105,6083,6193,6171,8458,8029,6061, + 1741,1841,8039,1750,6577,1792,8040,8038,1649,8034, + 8035,8036,6489,1,7042,7030,7034,7038,984,7027, + 8018,1758,307,901,1653,3175,39,39,515,39, + 7021,7011,7322,7018,5550,1060,100,8018,8018,6215, + 7991,3175,6127,6149,8282,8280,8288,8284,8285,8283, + 8286,1843,8287,8621,8622,8289,8290,8281,6242,1, + 7042,7030,7034,7038,984,7027,7061,7055,7058,901, + 507,3175,8018,8037,6105,6083,6193,6171,8018,99, + 6061,1741,1841,8039,1750,6577,1792,8040,8038,1649, + 8034,8035,8036,6489,8018,8018,8018,2686,425,7579, + 8018,6520,1758,39,7021,7011,7322,7018,5550,1060, + 7900,8024,8025,6215,7576,3175,6127,6149,8282,8280, + 8288,8284,8285,8283,8286,1843,8287,8621,8622,8289, + 8290,8281,6242,8018,8018,8018,2591,393,7217,7217, + 7217,7217,8018,283,7208,7214,7211,8037,6105,6083, + 6193,6171,5987,7959,6061,1741,1841,8039,1750,6577, + 1792,8040,8038,1649,8034,8035,8036,6489,8018,7671, + 7662,7665,7668,7579,3605,8023,1758,141,7021,7011, + 7322,7018,5550,1060,505,300,283,6215,8018,3175, + 6127,6149,8282,8280,8288,8284,8285,8283,8286,1843, + 8287,8621,8622,8289,8290,8281,6242,8317,1,7042, + 7030,7034,7038,7024,7027,1,8018,8054,7049,8028, + 7046,8037,6105,6083,6193,6171,161,8026,6061,1741, + 1841,8039,1750,6577,1792,8040,8038,1649,8034,8035, + 8036,6489,8018,7021,7011,7322,7018,8018,1060,8018, + 1758,8027,7689,1347,3175,39,39,551,7021,7011, + 7322,7018,5550,1060,419,4059,6272,6215,8018,3175, + 6127,6149,8282,8280,8288,8284,8285,8283,8286,1843, + 8287,8621,8622,8289,8290,8281,6242,8018,8018,599, + 161,763,1298,2874,8018,1,7582,7588,7585,8025, + 2897,8037,6105,6083,6193,6171,610,8018,6061,1741, + 1841,8039,1750,6577,1792,8040,8038,1649,8034,8035, + 8036,6489,120,1,8018,597,7534,7534,7534,7534, + 1758,601,7525,7531,7528,39,39,1,7042,7030, + 7034,7038,5550,7027,8018,7705,2730,6215,8018,3175, + 6127,6149,7650,7656,7632,7644,7641,7647,7638,7617, + 7635,7623,7620,7629,7626,7653,7659,5675,5646,1348, + 610,610,3293,7708,601,610,43,7677,7677,7677, + 7677,8037,6105,6083,6193,6171,100,8018,6061,1741, + 1841,8039,1750,6577,1792,8040,8038,1649,8034,8035, + 8036,6489,8018,8018,590,8018,12761,12761,12761,12761, + 1758,1077,880,923,8018,39,39,39,7021,7011, + 7322,7018,5550,1060,8018,7674,1857,6215,7576,3175, + 6127,6149,8282,8280,8288,8284,8285,8283,8286,1843, + 8287,8621,8622,8289,8290,8281,6242,1,7042,7030, + 7034,7038,4590,7027,8054,8018,3043,901,8018,3175, + 7900,8037,6105,6083,6193,6171,8024,8018,6061,1741, + 1841,8039,1750,6577,1792,8040,8038,1649,8034,8035, + 8036,6489,45,7840,7840,7840,7840,7579,8018,8018, + 1758,39,7021,7011,7322,7018,5550,1060,8018,3018, + 8028,6215,8022,3175,6127,6149,8282,8280,8288,8284, + 8285,8283,8286,1843,8287,8621,8622,8289,8290,8281, + 6242,1348,373,8018,8018,8018,8018,1374,6840,8018, + 8023,7837,8027,8018,925,8037,6105,6083,6193,6171, + 8024,8018,6061,1741,1841,8039,1750,6577,1792,8040, + 8038,1649,8034,8035,8036,6489,8018,7021,7011,7322, + 7018,520,1060,8018,119,3660,7689,126,3175,39, + 7021,7011,7322,7018,5550,1060,8018,8018,8018,6215, + 7576,3175,6127,6149,8282,8280,8288,8284,8285,8283, + 8286,1843,8287,8621,8622,8289,8290,8281,6242,37, + 7573,7573,7573,7573,8023,832,1077,880,923,5675, + 5646,8018,329,8037,6105,6083,6193,6171,8018,8021, + 6061,1741,1841,8039,1750,6577,1792,8040,8038,1649, + 8034,8035,8036,6489,8018,8018,4871,8018,1,7579, + 39,7021,7011,7322,7018,5550,1060,7714,8054,163, + 6215,3864,3175,6127,6149,8282,8280,8288,8284,8285, + 8283,8286,1843,8287,8621,8622,8289,8290,8281,6242, + 4807,4775,8018,394,8018,8018,8018,8018,4743,4711, + 1077,880,923,39,8037,6105,6083,6193,6171,8056, + 3864,6061,1741,1841,8039,1750,6577,1792,8040,8038, + 1649,8034,8035,8036,6489,39,7021,7011,7322,7018, + 5550,1060,8018,163,2422,6215,2384,3175,6127,6149, + 8282,8280,8288,8284,8285,8283,8286,1843,8287,8621, + 8622,8289,8290,8281,6242,1,8018,1,8018,8018, + 2897,1459,1374,7994,8002,7998,7804,8006,7519,8037, + 6105,6083,6193,6171,8018,1,6061,1741,1841,8039, + 1750,6577,1792,8040,8038,1649,8034,8035,8036,6489, + 39,7021,7011,7322,7018,5550,1060,7705,1758,8006, + 6215,3081,3175,6127,6149,8282,8280,8288,8284,8285, + 8283,8286,1843,8287,8621,8622,8289,8290,8281,6242, + 1,8018,8,8018,3293,7708,2675,8029,586,1348, + 7807,8030,8006,8012,8037,6105,6083,6193,6171,7786, + 2542,6061,1741,1841,8039,1750,6577,1792,8040,8038, + 1649,8034,8035,8036,6489,39,7021,7011,7322,7018, + 819,1060,73,1758,8018,6215,8018,3175,6127,6149, + 8282,8280,8288,8284,8285,8283,8286,1843,8287,8621, + 8622,8289,8290,8281,6242,591,8018,509,394,8018, + 8029,3425,1077,880,923,1077,880,923,7790,8037, + 6105,6083,6193,6171,8018,8012,6061,1741,1841,8039, + 1750,6577,1792,8040,8038,1649,8034,8035,8036,6489, + 39,7021,7011,7322,7018,3176,1060,2,8018,8018, + 6215,7988,3175,6127,6149,8282,8280,8288,8284,8285, + 8283,8286,1843,8287,8621,8622,8289,8290,8281,6242, + 329,8018,8018,329,8018,8018,3686,7692,7698,7695, + 1077,880,923,8018,8037,6105,6083,6193,6171,728, + 8018,6061,1741,1841,8039,1750,6577,1792,8040,8038, + 1649,8034,8035,8036,6489,39,7021,7011,7322,7018, + 3177,1060,8018,8018,8018,6215,37,3175,6127,6149, + 8282,8280,8288,8284,8285,8283,8286,1843,8287,8621, + 8622,8289,8290,8281,6242,592,8018,8018,598,8018, + 8018,3892,1077,880,923,1077,880,923,8024,8037, + 6105,6083,6193,6171,8018,8018,6061,1741,1841,8039, + 1750,6577,1792,8040,8038,1649,8034,8035,8036,6489, + 39,7021,7011,7322,7018,3392,1060,8018,8018,8018, + 6215,8018,3175,6127,6149,8282,8280,8288,8284,8285, + 8283,8286,1843,8287,8621,8622,8289,8290,8281,6242, + 8018,416,8018,8018,8018,531,8018,2188,1077,880, + 923,8028,8023,6630,8037,6105,6083,6193,6171,8018, + 8018,6061,1741,1841,8039,1750,6577,1792,8040,8038, + 1649,8034,8035,8036,6489,39,7021,7011,7322,7018, + 5550,1060,8018,8027,8018,6215,8018,3175,6127,6149, + 8282,8280,8288,8284,8285,8283,8286,1843,8287,8621, + 8622,8289,8290,8281,6242,594,575,8018,8018,8018, + 8018,8018,7935,7941,7938,2237,3991,7843,3872,8037, + 6105,6083,6193,6171,8018,8018,6061,1741,1841,8039, + 1750,6577,1792,8040,8038,1649,8034,8035,8036,6489, + 39,7021,7011,7322,7018,6631,1060,8018,8018,8018, + 6215,8018,3175,6127,6149,8282,8280,8288,8284,8285, + 8283,8286,1843,8287,8621,8622,8289,8290,8281,6242, + 593,8018,573,417,8018,8018,7847,7944,7950,7947, + 1077,880,923,7851,8037,6105,6083,6193,6171,8018, + 8018,6061,1741,1841,8039,1750,6577,1792,8040,8038, + 1649,8034,8035,8036,6489,39,7021,7011,7322,7018, + 5550,1060,8018,8018,8018,6215,8018,3175,6127,6149, + 8282,8280,8288,8284,8285,8283,8286,1843,8287,8621, + 8622,8289,8290,8281,6242,37,7573,7573,7573,7573, + 103,8018,7855,87,1,7956,4135,8018,8018,8037, + 6105,6083,6193,6171,7859,527,6061,1741,1841,8039, + 1750,6577,1792,8040,8038,1649,8034,8035,8036,6489, + 8018,7021,7011,7014,7018,8018,8056,1077,880,923, + 1428,8018,8018,8018,2027,8282,8280,8288,8284,8285, + 8283,8286,749,8287,8621,8622,8289,8290,8281,4936, + 8353,8354,8623,8278,8272,8279,8275,8251,8277,8276, + 8273,8274,8252,7863,8018,8018,278,103,8018,527, + 8415,8009,7956,241,7485,7472,7476,7481,8018,7489, + 7397,7391,7394,139,8018,3485,8416,8417,7463,7469, + 7445,7457,7454,7460,7451,749,7448,7436,7433,7442, + 7439,7466,4936,7406,7403,7400,7412,7430,7409,7421, + 7388,7415,7418,7427,7424,7385,1,1,8018,8018, + 8018,1237,813,8415,1,3647,8486,5968,8028,8480, + 8484,8018,8018,8018,8018,8024,8018,8018,3485,8416, + 8417,307,7042,7030,7034,7038,984,7027,7061,7055, + 7058,901,8018,3175,7492,7492,8018,8018,8018,8018, + 8027,8478,8479,8509,8510,2299,8018,8487,8018,7042, + 7030,7034,7038,984,7027,7061,7055,7058,901,8018, + 3175,7558,7558,8018,1,8489,1,8018,8018,8018, + 1384,8018,8511,3051,2088,2090,8490,191,8488,8023, + 2432,2250,2201,2152,2103,2054,2005,1956,1907,1858, + 1807,8018,8500,8499,8018,8512,8018,8481,8482,8505, + 8506,8503,8504,8483,8485,8507,8508,8018,836,191, + 8018,8018,8513,836,8493,8494,8495,8491,8492,8501, + 8502,8497,8496,8498,8018,7021,7011,7322,7018,8018, + 8056,1077,880,923,8018,8018,8018,8018,8018,8282, + 8280,8288,8284,8285,8283,8286,749,8287,8621,8622, + 8289,8290,8281,4936,8353,8354,8623,8278,8272,8279, + 8275,8251,8277,8276,8273,8274,8252,8018,8018,8018, + 8018,8018,8018,8018,8415,8018,8018,241,7485,7472, + 7701,7481,8018,7489,7397,7391,7394,8018,8018,3485, + 8416,8417,7463,7469,7445,7457,7454,7460,7451,749, + 7448,7436,7433,7442,7439,7466,4936,7406,7403,7400, + 7412,7430,7409,7421,7388,7415,7418,7427,7424,7385, + 8018,8018,444,7831,7831,7831,7831,8415,7828,7819, + 7825,7822,8018,8018,8018,7834,7834,8018,8018,8018, + 8018,8018,3485,8416,8417,29,386,386,386,386, + 7816,386,386,386,386,386,7816,386,7816,7816, + 575,586,586,586,586,586,586,586,586,586, + 586,7980,586,7985,7985,386,386,386,386,386, + 386,386,386,386,386,386,386,386,7816,8018, + 586,586,586,586,586,586,586,586,586,586, + 586,586,586,7985,92,7867,7867,7867,7867,8018, + 7867,7867,7867,7867,7516,8018,8018,7867,7867,7816, + 7816,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 7579,8018,8018,8018,586,7985,32,387,387,387, + 387,7813,387,387,387,387,387,7813,387,7813, + 7813,574,585,585,585,585,585,585,585,585, + 585,585,7882,585,7882,7882,387,387,387,387, + 387,387,387,387,387,387,387,387,387,7813, + 8018,585,585,585,585,585,585,585,585,585, + 585,585,585,585,7882,8018,1,628,8018,7774, + 8018,2897,8018,8018,7771,7765,7768,339,128,8018, + 7813,7813,8635,8638,8634,8640,8641,8639,8636,75, + 8637,127,8018,8018,7552,585,7882,8353,8354,8623, + 8278,8272,8279,8275,8251,8277,8276,8273,8274,8252, + 8018,7953,7953,7953,7953,7953,7953,7953,7953,7953, + 7953,8018,7953,7953,7953,95,7974,7974,7974,7974, + 8018,7971,7962,7968,7965,8018,7543,7540,7977,7977, + 1348,339,339,39,8018,8018,339,4871,8018,8056, + 8018,7919,7907,7911,7915,8018,8018,8018,7894,8018, + 4871,8018,8018,7555,8018,8018,8018,8018,8018,8018, + 8018,7897,8018,8018,8018,8018,1735,8018,8018,8018, + 8018,4807,4775,8018,8018,8018,8018,7953,8018,4743, + 4711,8018,8018,8018,4807,4775,8018,8018,8018,8054, + 8018,8018,4743,4711,8018,7546,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8018,8018,8018,7549, + 8018,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8018,8018,8018,8018, + 8018,8018,8018,8018,8018,8018,8452,8453,8454 + }; + }; + public final static char termAction[] = TermAction.termAction; + public final int termAction(int index) { return termAction[index]; } + + public interface Asb { + public final static char asb[] = {0, + 1322,60,1253,1311,186,802,1360,325,325,325, + 1267,189,855,1321,1253,1261,178,1172,443,1180, + 1172,1172,1172,1193,205,1193,852,1193,876,1193, + 1193,1261,1262,1193,991,1122,213,1360,1253,436, + 1193,1193,762,1262,1193,1262,1172,445,274,274, + 874,274,62,205,202,447,202,654,935,1256, + 192,192,1253,746,1262,179,208,1028,1170,518, + 1422,269,854,320,852,858,1261,876,376,1262, + 1262,321,841,991,991,991,991,991,991,991, + 991,991,991,438,991,116,1172,445,445,445, + 445,1261,1172,1193,608,608,655,654,1253,1253, + 1262,704,594,376,376,1193,802,373,594,1193, + 1193,445,1193,1262,108,1078,285,274,274,273, + 273,205,1261,1253,990,136,1253,1193,1262,327, + 746,746,1262,179,758,597,757,1424,1458,518, + 1169,594,269,1262,201,1038,603,321,205,262, + 1262,376,321,1262,104,116,116,116,116,1376, + 801,108,1193,594,594,594,951,580,580,970, + 970,802,802,802,802,1262,472,51,51,472, + 990,608,205,1261,104,1193,1193,376,376,1256, + 1174,373,373,179,1078,285,273,273,273,1262, + 594,990,266,205,612,617,614,621,619,628, + 626,630,629,631,462,632,1253,1371,373,645, + 746,655,655,208,655,48,1422,1424,1424,593, + 592,517,266,1262,269,732,855,445,177,717, + 269,201,604,608,201,608,321,262,262,1262, + 874,873,1262,841,1262,594,594,594,594,373, + 801,990,1193,952,1256,1074,1064,1063,755,1130, + 1199,1199,1261,438,991,594,594,874,874,874, + 874,321,594,178,180,178,594,373,205,843, + 1262,1172,1374,1193,874,874,1193,594,1068,1051, + 1067,873,445,454,454,266,266,273,1262,266, + 136,991,991,991,991,991,991,991,991,991, + 991,991,991,991,991,991,991,991,991,991, + 991,991,990,990,990,990,990,990,990,990, + 990,990,990,658,991,1265,594,1458,594,471, + 594,594,108,719,608,608,608,608,1262,262, + 266,847,848,970,104,1193,1193,1193,137,991, + 802,1193,1193,594,951,732,991,732,655,950, + 1172,1172,1172,952,1172,1262,1,655,655,1262, + 205,580,594,1076,1078,990,1262,108,1203,116, + 1172,1172,1172,1172,1262,1262,1262,180,108,734, + 1261,1262,472,1193,1193,736,990,1065,1065,1072, + 1256,887,285,274,285,872,872,266,655,136, + 614,614,612,612,612,619,619,619,619,619, + 619,617,617,626,621,621,629,628,630,732, + 732,631,594,593,179,654,991,732,747,929, + 651,719,608,608,707,266,991,1262,594,1193, + 1256,941,952,732,1046,952,970,970,968,1049, + 970,655,655,753,734,594,1078,321,179,594, + 990,990,990,990,1172,1172,841,1262,179,734, + 594,1193,522,736,990,990,1076,1051,285,802, + 802,848,990,990,471,655,719,991,991,651, + 651,719,719,843,836,708,1262,1193,1193,1193, + 990,1193,952,991,952,594,1253,970,594,968, + 1360,1172,594,734,865,594,1262,532,594,594, + 594,594,472,472,184,1193,841,942,1172,1193, + 739,873,1193,218,651,651,707,1262,1261,1261, + 1262,1193,472,991,373,952,753,952,655,1360, + 990,952,949,865,865,1236,594,594,184,887, + 739,1120,1193,1193,1262,1262,1262,1193,594,373, + 990,950,472,655,594,868,865,594,594,1250, + 1172,454,1262,1262,952,594,655,868,868,205, + 205,1252,1079,872,952,868,593,178,802 + }; + }; + public final static char asb[] = Asb.asb; + public final int asb(int index) { return asb[index]; } + + public interface Asr { + public final static char asr[] = {0, + 24,25,15,16,52,78,26,53,54,17, + 18,19,79,12,55,20,21,56,57,58, + 73,59,60,22,23,27,28,61,62,63, + 44,4,5,47,48,14,45,46,10,51, + 6,29,64,3,2,43,11,1,13,0, + 12,6,49,10,1,4,3,2,0,131, + 0,24,25,32,34,15,16,50,30,26, + 65,35,90,36,17,37,38,18,19,39, + 68,40,20,21,41,66,42,22,67,23, + 71,33,27,31,28,5,14,6,43,29, + 72,70,11,13,8,9,7,12,10,49, + 1,4,3,2,0,32,7,34,50,30, + 65,35,36,37,38,39,40,41,66,42, + 67,33,31,8,9,73,78,79,47,48, + 14,13,45,46,51,56,64,29,5,61, + 62,63,44,59,54,58,16,28,15,20, + 18,19,21,23,17,26,27,24,25,53, + 57,55,52,60,70,11,22,6,12,1, + 4,3,2,10,0,5,31,0,44,49, + 0,81,5,80,98,82,76,75,43,74, + 77,8,9,7,70,11,0,11,77,75, + 44,0,11,77,70,81,0,78,79,73, + 47,48,14,13,45,46,10,51,56,64, + 29,5,6,12,61,62,63,44,59,54, + 58,16,28,15,20,18,19,21,23,17, + 26,27,24,25,22,53,57,55,52,60, + 70,1,4,3,2,11,83,0,113,114, + 115,77,83,12,11,5,14,13,10,43, + 72,68,90,71,24,25,32,7,34,15, + 16,50,30,26,65,35,36,17,37,38, + 18,19,39,40,20,21,41,66,42,22, + 67,23,33,27,31,28,29,8,9,6, + 1,4,3,2,49,0,78,79,5,22, + 53,57,55,52,60,16,28,15,20,18, + 19,21,23,17,26,27,24,25,61,62, + 63,44,59,54,58,10,12,6,47,48, + 14,13,45,46,51,56,64,29,1,4, + 3,2,128,11,0,24,25,32,7,34, + 15,16,50,30,52,26,53,65,35,36, + 54,17,37,38,18,19,39,40,55,20, + 21,56,41,57,66,58,73,59,42,60, + 22,67,23,33,27,31,28,61,62,63, + 44,5,47,48,14,13,45,46,51,80, + 6,29,64,8,9,12,10,1,4,2, + 79,78,3,0,69,0,7,11,70,8, + 9,82,0,80,82,76,1,4,3,2, + 0,7,80,77,98,128,83,43,8,9, + 76,24,25,15,16,52,78,26,53,54, + 17,18,19,79,12,55,20,21,56,57, + 58,73,59,60,22,23,27,28,61,62, + 63,4,5,47,48,14,13,45,46,10, + 51,6,29,64,3,2,44,75,11,1, + 0,73,81,130,116,47,48,77,98,128, + 83,35,36,37,38,39,12,40,41,42, + 33,31,30,34,10,32,100,99,45,46, + 101,102,96,97,69,103,104,105,106,107, + 108,109,110,117,82,118,119,120,121,122, + 123,124,125,126,127,111,112,43,70,80, + 7,1,4,14,13,6,8,9,3,2, + 74,5,76,75,11,0,11,77,76,75, + 5,0,6,8,9,7,69,11,77,70, + 0,100,99,13,101,102,45,46,97,96, + 69,103,104,111,112,105,106,14,107,108, + 109,80,75,82,118,119,120,121,122,123, + 124,125,126,127,77,98,128,83,110,117, + 8,9,7,76,43,11,0,24,25,15, + 16,52,78,26,53,54,17,18,19,79, + 12,55,20,21,56,57,58,73,59,60, + 22,23,27,28,61,62,63,44,1,4, + 5,47,48,45,46,10,51,6,29,64, + 3,2,77,13,14,0,33,1,4,6, + 3,2,113,114,115,0,43,11,5,12, + 10,14,13,6,1,4,3,2,8,9, + 7,77,0,129,0,32,30,31,73,81, + 80,77,98,75,70,5,7,11,76,43, + 8,9,82,0,128,43,76,75,11,77, + 0,79,78,45,46,13,101,102,107,14, + 108,10,51,82,69,80,121,122,118,119, + 120,126,125,127,97,96,123,124,105,106, + 103,104,109,110,47,48,76,99,116,74, + 5,29,22,65,50,66,67,16,28,15, + 20,18,19,21,23,17,26,27,24,25, + 34,40,41,36,39,38,35,30,31,32, + 7,9,8,37,42,1,4,3,2,33, + 6,0,11,70,76,0,82,11,83,76, + 0,6,49,77,8,9,7,1,4,3, + 2,70,11,0,32,30,31,73,11,98, + 75,82,76,80,0,6,11,70,8,9, + 7,1,4,3,2,0,24,25,32,7, + 34,15,16,50,30,26,65,35,36,17, + 37,38,18,19,39,40,20,21,41,66, + 42,22,67,23,33,27,31,28,1,4, + 6,29,8,9,3,2,98,0,77,7, + 74,8,9,69,11,76,43,82,5,0, + 75,90,113,114,115,49,77,131,129,132, + 83,72,81,71,68,85,87,94,92,84, + 89,91,93,95,70,86,88,43,11,65, + 50,66,67,34,40,41,36,39,38,33, + 35,30,31,32,7,9,8,37,42,73, + 78,79,22,53,57,55,52,60,5,28, + 26,27,24,25,61,62,63,44,59,54, + 58,10,12,6,47,48,14,13,45,46, + 51,56,64,29,1,4,3,2,17,15, + 21,23,16,20,18,19,0,6,11,77, + 70,8,9,7,0,77,98,0,84,0, + 7,14,13,8,9,12,10,6,1,4, + 3,2,5,74,80,82,76,11,75,98, + 0,10,12,5,74,13,14,98,24,25, + 32,7,34,15,16,30,26,65,35,36, + 17,37,38,18,19,39,40,20,21,41, + 66,42,22,67,23,33,27,31,28,1, + 4,6,29,8,9,3,2,75,11,50, + 0,80,76,29,22,65,50,66,67,24, + 25,32,7,34,15,16,30,26,35,36, + 17,37,38,18,19,39,12,40,20,21, + 41,42,23,33,27,31,28,4,74,14, + 13,10,6,43,8,9,3,2,1,75, + 11,5,0,29,22,65,50,66,67,16, + 28,15,20,18,19,21,23,17,26,27, + 24,25,81,77,98,128,83,70,130,116, + 47,48,100,99,45,46,101,102,96,97, + 69,80,103,104,105,106,107,108,109,110, + 117,82,118,119,120,121,122,123,124,125, + 126,127,76,111,112,32,34,30,35,36, + 37,38,39,40,41,42,33,31,43,11, + 75,74,12,5,10,14,13,8,9,7, + 6,4,3,2,1,0,30,26,65,35, + 17,37,18,19,39,40,20,21,66,42, + 67,23,33,27,31,28,50,16,15,29, + 34,32,25,24,11,5,14,13,43,71, + 90,36,41,38,72,69,8,9,7,49, + 12,1,4,10,6,3,2,22,68,0, + 83,24,25,32,34,15,16,50,30,26, + 65,35,17,37,18,19,39,40,20,21, + 66,42,22,67,23,33,27,31,28,29, + 131,72,68,36,41,38,90,71,49,11, + 14,43,10,12,1,4,3,2,6,5, + 8,9,7,13,0,78,79,47,48,14, + 13,45,46,10,51,56,64,29,5,6, + 12,61,62,63,59,54,58,16,28,15, + 20,18,19,21,23,17,26,27,24,25, + 22,53,57,55,52,60,74,1,4,3, + 2,44,0,12,4,74,5,14,13,10, + 80,6,3,17,15,21,23,16,20,18, + 19,34,40,41,36,39,38,33,35,31, + 32,37,42,2,7,9,8,11,76,75, + 1,30,0 + }; + }; + public final static char asr[] = Asr.asr; + public final int asr(int index) { return asr[index]; } + + public interface Nasb { + public final static char nasb[] = {0, + 266,13,70,33,48,5,192,13,13,13, + 308,13,199,308,171,264,264,13,13,288, + 13,13,13,289,279,289,177,289,177,289, + 13,11,85,289,94,281,70,170,259,216, + 13,13,202,322,13,85,13,13,308,308, + 13,308,227,279,177,13,300,16,39,252, + 56,56,294,177,291,291,81,114,240,53, + 13,70,206,264,300,20,264,300,70,85, + 12,13,13,94,94,94,94,94,94,94, + 94,94,94,85,318,41,13,13,13,13, + 13,264,13,13,70,23,16,13,212,294, + 85,13,240,70,70,50,5,112,240,13, + 13,13,13,12,79,70,70,308,308,70, + 70,279,264,171,58,92,212,300,85,107, + 177,300,231,216,240,13,13,325,61,154, + 13,240,184,207,177,177,13,291,279,70, + 291,63,88,207,103,41,41,41,41,94, + 18,79,13,240,240,240,72,180,180,1, + 43,68,68,68,68,85,128,27,27,128, + 247,23,100,35,220,177,177,63,63,252, + 281,112,112,216,167,167,266,266,70,291, + 240,94,70,279,13,13,13,13,13,13, + 13,13,13,13,94,13,295,177,112,13, + 300,16,16,81,16,13,81,289,325,240, + 13,240,73,85,16,13,230,13,33,191, + 184,177,177,70,300,70,88,70,323,12, + 13,13,207,13,12,240,240,240,240,112, + 69,58,277,223,252,179,56,56,13,13, + 13,13,11,85,94,240,240,13,13,13, + 13,78,240,215,85,215,240,112,100,13, + 291,13,13,70,13,13,304,240,13,257, + 13,13,13,121,121,73,73,266,231,73, + 70,94,94,94,94,94,94,94,94,94, + 94,94,94,94,94,94,94,94,94,94, + 94,94,94,94,94,94,94,94,94,94, + 94,94,94,157,94,13,240,61,240,94, + 240,240,79,170,70,70,83,83,207,323, + 73,13,13,63,103,277,277,277,272,94, + 68,70,118,240,242,13,144,13,16,13, + 13,13,13,243,13,323,14,16,16,323, + 125,302,240,250,70,94,85,79,13,41, + 13,13,13,13,207,12,85,151,79,70, + 35,12,128,177,136,70,94,13,13,256, + 252,167,167,308,70,13,13,73,16,92, + 13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13, + 13,13,240,240,216,16,94,13,140,13, + 177,294,83,83,161,73,94,323,240,123, + 304,13,243,13,13,243,314,314,165,13, + 314,16,16,13,70,240,167,77,207,240, + 247,247,247,247,13,13,13,322,207,116, + 240,70,136,136,94,94,250,210,167,68, + 68,73,94,94,94,16,171,94,94,300, + 177,294,13,13,264,134,291,70,138,13, + 247,304,243,94,243,240,259,1,240,327, + 70,13,240,116,70,240,207,277,240,240, + 240,240,128,128,152,13,13,25,13,136, + 70,13,75,91,177,300,233,291,264,264, + 12,123,128,94,112,243,13,243,16,171, + 247,243,25,136,70,13,240,240,152,69, + 142,13,75,13,12,291,291,138,240,112, + 94,13,131,16,240,70,136,240,240,70, + 13,121,12,12,243,240,16,142,70,125, + 125,257,237,13,243,142,240,215,68 + }; + }; + public final static char nasb[] = Nasb.nasb; + public final int nasb(int index) { return nasb[index]; } + + public interface Nasr { + public final static char nasr[] = {0, + 3,13,10,9,107,143,125,112,124,123, + 5,2,0,4,45,46,0,195,0,41, + 1,0,175,0,142,0,5,2,9,10, + 163,0,173,0,185,5,184,0,204,0, + 41,62,4,49,34,45,0,222,0,4, + 215,0,221,30,0,93,0,4,36,0, + 188,0,5,10,9,2,13,34,49,4, + 0,4,94,0,178,0,2,144,82,0, + 158,0,136,0,2,61,0,2,82,0, + 94,98,41,13,2,9,10,5,0,41, + 176,0,82,162,161,0,13,2,9,10, + 5,95,0,159,0,177,0,4,197,0, + 134,0,167,0,41,62,0,4,106,0, + 4,198,0,213,0,63,0,165,0,211, + 0,150,0,13,2,9,10,5,224,0, + 2,145,0,30,190,0,4,45,144,0, + 5,118,212,0,45,201,26,4,0,100, + 70,5,2,9,10,4,40,0,30,102, + 103,4,0,4,52,80,118,50,5,0, + 46,5,2,9,10,4,174,0,40,1, + 0,4,49,216,0,61,2,3,0,103, + 102,40,70,72,5,10,9,2,0,40, + 82,0,34,52,45,199,41,4,0,40, + 127,0,5,118,181,0,49,34,4,30, + 0,94,41,52,34,83,4,45,0,26, + 4,5,40,100,0,30,103,102,70,2, + 9,10,4,5,0,121,80,52,4,34, + 0,5,10,9,2,13,98,97,41,0, + 2,5,112,108,109,110,117,13,74,0, + 2,71,0,4,5,10,9,2,70,22, + 0,103,102,40,5,72,0,4,34,52, + 80,90,0,4,49,120,0,5,10,9, + 13,3,1,0,107,0,49,4,200,0 + }; + }; + public final static char nasr[] = Nasr.nasr; + public final int nasr(int index) { return nasr[index]; } + + public interface TerminalIndex { + public final static char terminalIndex[] = {0, + 118,132,131,119,2,31,51,129,130,13, + 120,84,10,9,53,57,73,79,80,91, + 92,105,107,48,49,65,110,112,127,59, + 111,50,109,52,69,71,75,78,81,88, + 94,103,125,117,11,12,7,8,98,58, + 14,60,66,72,89,93,95,99,102,104, + 114,115,116,128,68,96,106,82,19,126, + 108,133,100,1,123,44,30,63,83,20, + 101,33,124,113,54,55,61,62,64,70, + 74,76,77,90,97,17,18,32,6,4, + 15,16,21,22,23,24,25,26,27,28, + 45,46,85,86,87,5,29,34,35,36, + 37,38,39,40,41,42,43,122,56,3, + 134,67,121 + }; + }; + public final static char terminalIndex[] = TerminalIndex.terminalIndex; + public final int terminalIndex(int index) { return terminalIndex[index]; } + + public interface NonterminalIndex { + public final static char nonterminalIndex[] = {0, + 140,145,146,0,0,144,0,0,240,246, + 143,0,153,142,0,0,152,158,0,0, + 159,255,0,0,0,190,168,169,170,136, + 171,172,173,264,174,161,175,176,177,256, + 139,178,0,151,141,138,179,0,162,187, + 0,0,148,0,0,0,0,0,0,0, + 147,182,197,0,214,0,155,0,211,215, + 0,165,185,196,0,0,0,0,0,0, + 0,0,181,0,0,0,0,0,0,188, + 0,0,216,137,135,156,228,0,167,212, + 218,219,220,0,222,0,198,199,200,201, + 202,203,0,0,217,230,263,231,0,184, + 189,191,192,193,194,195,206,208,0,209, + 0,0,221,0,0,0,235,0,237,0, + 251,252,262,0,157,180,205,0,207,0, + 224,227,0,249,0,250,0,260,265,0, + 149,150,154,0,0,164,166,0,0,0, + 0,204,0,213,0,225,226,0,0,232, + 239,0,243,244,245,248,0,257,0,259, + 0,0,266,0,0,160,163,0,183,0, + 186,0,0,210,223,229,0,0,233,234, + 236,238,0,241,242,247,253,254,0,0, + 258,0,0,261,0,267,0,0,0,0 + }; + }; + public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; + public final int nonterminalIndex(int index) { return nonterminalIndex[index]; } + + public interface ScopePrefix { + public final static char scopePrefix[] = { + 267,723,742,420,431,674,690,701,712,512, + 375,389,406,447,465,137,400,532,570,275, + 731,617,115,146,166,175,180,185,238,303, + 458,473,478,90,252,381,395,645,122,252, + 522,478,750,122,325,356,8,26,58,58, + 82,86,98,109,156,171,199,483,501,505, + 588,610,639,666,670,760,764,768,190,102, + 190,550,566,579,597,658,209,209,337,427, + 579,681,697,708,719,315,628,38,50,79, + 151,151,264,330,32,151,351,372,32,32, + 151,509,607,614,264,151,783,14,20,32, + 73,203,487,554,594,20,1,151,218,412, + 438,487,218,218,438,541,285,43,43,64, + 197,64,64,64,64,592,772,779,43,43, + 68,346,772,779,160,560,245,197,346,197, + 361 + }; + }; + public final static char scopePrefix[] = ScopePrefix.scopePrefix; + public final int scopePrefix(int index) { return scopePrefix[index]; } + + public interface ScopeSuffix { + public final static char scopeSuffix[] = { + 113,62,62,243,243,62,62,62,62,519, + 243,12,243,243,471,143,386,538,576,281, + 162,623,120,120,120,154,154,12,243,308, + 463,463,471,95,257,386,194,650,133,260, + 527,737,755,127,319,319,12,30,62,62, + 62,62,62,113,62,154,12,463,12,12, + 243,354,62,62,62,62,62,354,781,106, + 194,519,519,519,601,650,213,227,341,415, + 583,685,685,685,685,319,632,41,41,62, + 154,154,62,62,333,335,354,62,30,30, + 335,12,62,354,62,643,62,17,23,35, + 76,206,490,557,76,604,4,662,213,415, + 453,653,221,232,441,544,288,48,56,66, + 12,493,495,497,499,12,774,774,45,53, + 70,348,776,776,162,562,247,310,341,295, + 363 + }; + }; + public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; + public final int scopeSuffix(int index) { return scopeSuffix[index]; } + + public interface ScopeLhs { + public final static char scopeLhs[] = { + 50,17,17,79,110,17,17,17,17,86, + 92,51,79,110,109,77,57,86,85,50, + 17,19,3,7,8,181,181,180,108,50, + 109,109,111,23,97,58,51,163,155,97, + 86,17,17,155,104,64,60,73,117,18, + 18,187,157,89,184,181,180,111,202,55, + 62,167,18,17,17,17,17,17,12,142, + 180,86,85,85,43,163,116,116,72,79, + 85,17,17,17,17,104,19,137,130,16, + 185,181,204,102,115,66,93,65,174,73, + 111,87,168,167,195,163,16,60,17,73, + 84,180,111,120,84,21,34,163,116,79, + 110,163,116,116,110,86,50,137,130,143, + 180,126,125,124,123,81,161,61,137,130, + 224,72,161,61,184,120,108,50,72,50, + 64 + }; + }; + public final static char scopeLhs[] = ScopeLhs.scopeLhs; + public final int scopeLhs(int index) { return scopeLhs[index]; } + + public interface ScopeLa { + public final static char scopeLa[] = { + 129,75,75,83,83,75,75,75,75,75, + 83,43,83,83,1,80,1,75,132,70, + 5,75,80,80,80,1,1,43,83,70, + 1,1,1,75,83,1,1,6,80,76, + 43,1,1,80,75,75,43,1,75,75, + 75,75,75,129,75,1,43,1,43,43, + 83,128,75,75,75,75,75,128,1,75, + 1,75,75,75,77,6,1,1,13,70, + 75,80,80,80,80,75,5,8,8,75, + 1,1,75,75,5,1,128,75,1,1, + 1,43,75,128,75,10,75,1,75,8, + 77,1,49,82,77,75,3,1,1,70, + 70,49,1,1,1,84,81,1,1,29, + 43,1,65,50,50,43,6,6,1,1, + 98,14,6,6,5,1,70,1,13,1, + 5 + }; + }; + public final static char scopeLa[] = ScopeLa.scopeLa; + public final int scopeLa(int index) { return scopeLa[index]; } + + public interface ScopeStateSet { + public final static char scopeStateSet[] = { + 388,242,242,400,159,242,242,242,242,82, + 447,388,400,159,159,400,435,82,82,388, + 242,242,166,212,212,21,21,412,159,388, + 159,159,159,320,61,435,388,50,43,61, + 82,242,242,43,99,134,435,140,159,242, + 242,58,1,82,47,21,412,159,41,435, + 71,18,242,242,242,242,242,242,216,8, + 412,82,82,82,280,50,159,159,372,400, + 82,242,242,242,242,99,242,24,151,242, + 47,21,108,99,101,134,95,134,156,140, + 159,82,5,18,53,50,242,435,242,140, + 82,412,159,13,82,247,415,50,159,400, + 159,50,159,159,159,82,388,24,151,161, + 412,161,161,161,161,29,55,110,24,151, + 318,372,55,110,47,13,159,388,372,388, + 134 + }; + }; + public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; + public final int scopeStateSet(int index) { return scopeStateSet[index]; } + + public interface ScopeRhs { + public final static char scopeRhs[] = {0, + 325,137,0,131,265,0,0,282,137,167, + 0,138,0,137,167,0,207,138,0,200, + 5,0,136,228,0,173,233,137,0,211, + 0,233,137,0,256,211,0,270,173,0, + 256,0,173,0,235,256,0,235,0,206, + 173,0,185,256,0,185,0,200,5,29, + 0,136,0,240,0,263,0,232,0,32, + 167,0,357,86,0,30,181,0,195,5, + 0,200,5,64,0,353,5,321,0,352, + 5,5,8,0,136,136,0,351,5,73, + 0,350,5,129,0,136,182,0,137,195, + 81,0,226,0,286,137,69,135,0,20, + 0,319,137,69,49,0,20,58,0,33, + 142,0,20,58,0,0,319,137,69,49, + 213,0,20,188,0,286,137,69,143,0, + 204,138,0,151,0,239,5,318,0,318, + 0,2,0,136,0,286,137,69,142,0, + 204,138,251,0,204,138,33,251,0,204, + 138,346,33,0,139,215,194,138,0,215, + 194,138,0,144,138,0,185,0,342,137, + 185,0,137,185,0,233,138,0,194,341, + 245,0,146,0,0,0,0,341,245,0, + 147,146,0,0,0,0,145,0,0,0, + 0,147,145,0,0,0,0,340,137,174, + 249,0,137,0,249,0,139,0,0,137, + 0,339,137,174,231,0,137,0,0,44, + 137,0,0,169,5,0,137,309,308,137, + 81,307,185,0,308,137,81,307,185,0, + 225,0,226,0,307,185,0,101,0,0, + 225,0,226,0,213,101,0,0,225,0, + 226,0,308,137,307,185,0,225,0,213, + 0,0,225,0,264,137,5,0,136,0, + 0,0,0,0,264,137,5,235,0,248, + 5,0,218,0,156,0,201,194,138,0, + 10,0,0,0,0,201,0,9,0,0, + 232,74,0,135,0,264,137,5,198,0, + 198,0,2,0,0,136,0,0,0,0, + 0,206,5,0,252,137,174,44,36,0, + 204,138,68,71,0,206,138,0,139,204, + 138,306,71,0,204,138,306,71,0,204, + 138,82,134,68,0,252,137,174,281,68, + 0,281,68,0,139,0,0,137,0,252, + 137,174,281,260,68,0,281,260,68,0, + 304,137,174,134,336,65,0,336,65,0, + 140,139,0,0,137,0,304,137,174,336, + 65,0,139,0,0,137,0,204,138,303, + 65,0,145,0,215,204,138,303,245,0, + 146,0,204,138,303,245,0,215,194,138, + 22,0,194,138,22,0,194,138,0,98, + 146,0,202,0,201,0,200,0,199,0, + 302,137,159,0,302,137,185,0,178,94, + 0,331,179,333,334,5,91,0,136,181, + 0,333,334,5,91,0,138,0,136,181, + 0,178,5,84,216,89,0,136,138,0, + 216,89,0,113,2,141,136,138,0,253, + 5,84,0,206,182,0,33,179,0,182, + 0,185,33,179,0,253,5,95,0,216, + 163,253,5,93,0,67,181,0,253,5, + 93,0,136,181,67,181,0,332,137,174, + 0,178,0,232,86,0,178,117,175,0, + 30,179,0,136,159,0,239,5,0,232, + 74,300,0,178,74,0,200,5,328,79, + 138,0,136,0,0,0,0,328,79,138, + 0,2,155,136,0,0,0,0,200,5, + 56,0,157,0,136,49,194,138,0,31, + 157,0,98,146,31,157,0,229,204,138, + 0,156,31,157,0,200,5,60,0,178, + 5,60,0,178,5,80,200,69,52,0, + 200,69,52,0,20,2,141,136,0,178, + 5,80,200,69,55,0,200,69,55,0, + 178,5,80,200,69,57,0,200,69,57, + 0,178,5,80,200,69,53,0,200,69, + 53,0,239,5,136,215,194,138,22,0, + 136,215,194,138,22,0,146,2,0,136, + 0,239,5,135,277,194,138,22,0,277, + 194,138,22,0,145,2,0,136,0,239, + 5,146,0,239,5,150,0,178,74,150, + 0,295,0,31,0,31,149,0,186,0, + 144,0,178,5,0 + }; + }; + public final static char scopeRhs[] = ScopeRhs.scopeRhs; + public final int scopeRhs(int index) { return scopeRhs[index]; } + + public interface ScopeState { + public final static char scopeState[] = {0, + 2766,2665,2276,0,2107,2058,0,1240,682,1952, + 1402,0,6798,6840,6520,5910,0,2274,1587,0, + 3605,2541,0,4018,3991,3833,3091,0,4447,4383, + 4319,4255,4191,4127,4059,3923,3859,3765,3653,3498, + 2874,0,4581,3573,4267,0,1597,700,0,713, + 685,0,672,0,3107,1338,0,1201,925,0, + 1298,3087,1245,5208,2948,2861,1648,1197,1398,0, + 2933,2526,6631,1687,2898,1332,5550,3392,3177,3176, + 819,4447,4383,4319,4255,4191,4127,4059,3923,3859, + 3765,3653,3498,0,2100,1904,1501,888,3347,5520, + 4903,4590,4510,2897,4573,4103,0,767,0,6879, + 6858,6825,6812,5488,5279,6793,6777,6746,4917,6739, + 4643,6720,6715,4045,6682,3109,2941,3332,5451,5250, + 3880,1178,0,3347,2961,6347,5075,5024,910,4903, + 4068,4018,3991,3833,4590,3091,4510,5351,5261,984, + 3398,3660,2881,3472,0,2961,910,0,5364,5233, + 783,636,3124,2912,0,3782,3455,6879,6858,3171, + 2804,6825,2174,6812,2125,2076,2027,1020,2370,5488, + 1929,5279,1829,6793,6777,6746,3260,1421,4917,6739, + 5364,4643,1320,6720,6715,952,4045,2682,3124,6682, + 3109,2613,2941,3332,5451,5250,3880,901,5233,1178, + 2912,1206,1140,1072,1060,728,4903,3398,4068,4018, + 3991,3347,3833,4590,3091,4510,832,763,2961,6347, + 713,685,5075,3660,5351,5024,5261,984,2881,3472, + 910,6598,6577,6489,6242,4936,6462,5208,3051,3270, + 3617,3309,4621,4537,3743,5178,5148,4871,4839,4807, + 4775,4743,4711,5750,5727,5704,5675,5646,6440,6418, + 6379,6215,6193,6171,6149,6127,6105,6083,6061,2542, + 2825,1298,783,2781,2730,2686,1705,2492,2443,1653, + 1604,2635,2591,1245,1553,2392,1156,1455,2299,2250, + 2201,2152,2103,2054,2005,1956,1907,1858,1807,1758, + 1504,1088,998,636,930,1348,1398,2348,0,3398, + 4647,5275,783,4018,5095,4462,3991,3833,4657,5106, + 4334,4454,4262,3568,6629,5793,4101,3965,6347,5364, + 3572,1202,3493,636,3773,847,6625,3780,3465,3017, + 3660,3124,5351,2847,2752,3339,5261,1210,1196,5233, + 5785,5368,3485,5038,3343,4992,3540,3119,3472,2991, + 2912,6689,3347,6619,5814,5378,4198,5520,3091,3183, + 4391,4327,5075,5024,3807,2881,0,4447,4383,4319, + 4255,4191,4127,4059,3923,3859,3765,3653,3498,6484, + 5551,5479,5407,6286,6237,5968,5919,5870,5821,5772, + 4931,4993,2926,0,6630,3647,6272,5987,6631,5982, + 1156,1088,998,5786,5514,5380,3886,2873,5550,3392, + 3177,3176,930,819,4447,4383,4319,4255,4191,4127, + 4059,3923,3859,3765,3653,3498,6484,5551,5479,5407, + 6286,6237,5968,5919,5870,5821,5772,4931,0 + }; + }; + public final static char scopeState[] = ScopeState.scopeState; + public final int scopeState(int index) { return scopeState[index]; } + + public interface InSymb { + public final static char inSymb[] = {0, + 0,327,167,71,7,137,185,213,38,41, + 49,36,68,254,137,68,306,355,325,255, + 8,9,7,256,249,257,245,258,65,259, + 135,22,138,276,29,240,307,137,5,6, + 143,142,12,10,135,138,198,49,49,49, + 69,49,44,281,260,134,173,282,263,137, + 203,198,173,206,138,138,5,3,5,5, + 5,174,341,303,173,336,303,173,69,138, + 204,194,186,29,64,56,51,46,45,13, + 14,48,47,138,10,5,60,52,55,57, + 53,22,146,150,81,137,302,282,233,173, + 138,201,206,69,69,182,137,74,5,78, + 79,135,134,204,194,5,69,80,137,174, + 174,281,82,76,5,82,233,173,138,74, + 206,173,204,204,356,44,291,292,5,354, + 1,44,137,194,267,136,135,138,134,174, + 138,137,194,49,6,5,5,5,5,78, + 79,194,136,200,195,178,174,167,182,137, + 5,69,69,69,69,138,5,116,130,5, + 74,137,308,77,194,14,13,137,137,137, + 240,74,74,215,137,137,137,137,174,138, + 169,137,174,231,160,162,161,165,164,168, + 166,171,170,172,73,175,173,194,232,175, + 173,260,139,77,163,5,76,240,359,352, + 321,5,340,138,183,251,68,49,71,185, + 343,136,135,268,173,268,204,174,137,204, + 286,289,215,295,215,200,200,200,200,74, + 328,5,163,137,137,5,236,235,279,146, + 136,135,22,138,29,200,178,200,200,200, + 200,194,239,49,138,49,239,178,308,317, + 138,318,201,201,286,286,233,264,265,159, + 266,319,49,22,50,252,252,137,204,137, + 174,99,100,46,45,102,101,13,112,111, + 104,103,80,69,96,97,14,106,105,108, + 107,109,127,126,125,124,123,122,121,120, + 119,118,82,117,110,13,1,76,163,5, + 44,1,194,137,268,268,137,137,215,137, + 304,134,305,76,6,163,163,163,163,228, + 5,329,182,169,332,88,86,1,178,11, + 95,93,91,89,84,92,94,87,85,68, + 81,233,248,137,5,76,138,194,151,5, + 80,80,80,80,215,277,138,204,194,309, + 76,204,5,13,137,163,82,248,206,5, + 137,76,76,80,69,267,267,252,260,137, + 161,161,160,160,160,164,164,164,164,164, + 164,162,162,166,165,165,170,168,171,277, + 178,172,1,353,215,342,77,272,206,135, + 270,173,137,137,77,304,82,76,200,137, + 137,11,77,357,232,77,5,5,5,216, + 5,134,178,134,195,264,137,194,49,200, + 5,5,5,5,136,135,229,10,49,137, + 239,201,196,137,82,82,137,233,137,82, + 82,339,77,77,76,139,76,77,82,173, + 270,173,155,345,251,33,138,163,297,300, + 74,205,77,98,77,253,182,137,253,334, + 159,84,253,137,163,264,215,163,178,178, + 178,178,5,5,6,134,136,310,129,137, + 246,319,227,76,270,173,76,138,33,346, + 204,137,5,74,178,163,206,163,333,137, + 5,163,310,137,163,136,239,239,6,5, + 137,80,227,11,204,138,138,297,239,232, + 82,216,179,302,178,246,137,98,350,182, + 73,50,204,204,132,331,163,137,246,163, + 163,137,5,267,163,137,351,82,76 + }; + }; + public final static char inSymb[] = InSymb.inSymb; + public final int inSymb(int index) { return inSymb[index]; } + + public interface Name { + public final static String name[] = { + "", + "[", + "(", + ".", + ".*", + "->", + "->*", + "++", + "--", + "&", + "*", + "+", + "-", + "~", + "!", + "/", + "%", + ">>", + "<<", + "<", + ">", + "<=", + ">=", + "==", + "!=", + "^", + "|", + "&&", + "||", + "?", + ":", + "::", + "...", + "=", + "*=", + "/=", + "%=", + "+=", + "-=", + ">>=", + "<<=", + "&=", + "^=", + "|=", + ",", + ">?", + "<?", + "$empty", + "_Complex", + "_Imaginary", + "restrict", + "asm", + "auto", + "bool", + "break", + "case", + "catch", + "char", + "class", + "const", + "const_cast", + "continue", + "default", + "delete", + "do", + "double", + "dynamic_cast", + "else", + "enum", + "explicit", + "export", + "extern", + "false", + "float", + "for", + "friend", + "goto", + "if", + "inline", + "int", + "long", + "mutable", + "namespace", + "new", + "operator", + "private", + "protected", + "public", + "register", + "reinterpret_cast", + "return", + "short", + "signed", + "sizeof", + "static", + "static_cast", + "struct", + "switch", + "template", + "this", + "throw", + "try", + "true", + "typedef", + "typeid", + "typename", + "union", + "unsigned", + "using", + "virtual", + "void", + "volatile", + "wchar_t", + "while", + "integer", + "floating", + "charconst", + "stringlit", + "identifier", + "Completion", + "EndOfCompletion", + "Invalid", + "RightBracket", + "RightParen", + "RightBrace", + "SemiColon", + "LeftBrace", + "typeof", + "__alignof__", + "__attribute__", + "__declspec", + "vector", + "pixel", + "ERROR_TOKEN", + "EOF_TOKEN", + "]", + ")", + "}", + ";", + "{", + "identifier_token", + "expression", + "id_expression", + "qualified_or_unqualified_name", + "unqualified_id_name", + "identifier_name", + "template_id_name", + "nested_name_specifier", + "class_or_namespace_name", + "nested_name_specifier_with_tem" + + "plate", + "class_or_namespace_name_with_t" + + "emplate", + "class_name", + "postfix_expression", + "simple_type_specifier", + "pseudo_destructor_name", + "type_id", + "type_name", + "destructor_type_name", + "unary_expression", + "cast_expression", + "new_type_id", + "expression_list", + "type_specifier_seq", + "new_declarator", + "new_pointer_operators", + "ptr_operator", + "new_array_expressions", + "constant_expression", + "pm_expression", + "multiplicative_expression", + "additive_expression", + "shift_expression", + "relational_expression", + "equality_expression", + "and_expression", + "exclusive_or_expression", + "inclusive_or_expression", + "logical_and_expression", + "logical_or_expression", + "assignment_expression", + "expression_list_actual", + "statement", + "compound_statement", + "statement_seq", + "condition", + "declarator", + "for_init_statement", + "function_definition", + "declaration", + "declaration_seq", + "declaration_specifiers", + "simple_declaration_specifiers", + "class_declaration_specifiers", + "elaborated_declaration_specifi" + + "ers", + "enum_declaration_specifiers", + "type_name_declaration_specifie" + + "rs", + "no_type_declaration_specifier", + "cv_qualifier", + "no_type_declaration_specifiers", + "class_specifier", + "elaborated_type_specifier", + "enum_specifier", + "type_name_specifier", + "class_keyword", + "enumerator_list", + "enumerator_definition", + "namespace_name", + "init_declarator_list", + "init_declarator_complete", + "complete_declarator", + "initializer", + "direct_declarator", + "ptr_operator_seq", + "function_declarator", + "basic_direct_declarator", + "array_direct_declarator", + "array_modifier", + "abstract_declarator", + "direct_abstract_declarator", + "basic_direct_abstract_declarat" + + "or", + "array_direct_abstract_declarat" + + "or", + "parameter_declaration_list", + "parameter_declaration", + "parameter_init_declarator", + "parameter_initializer", + "function_body", + "handler_seq", + "initializer_clause", + "initializer_list", + "initializer_seq", + "class_head", + "access_specifier_keyword", + "member_declaration", + "member_declarator_list", + "member_declaration_list", + "member_declarator_complete", + "constant_initializer", + "bit_field_declarator", + "base_specifier_list", + "base_specifier", + "conversion_function_id", + "conversion_type_id", + "conversion_declarator", + "mem_initializer_list", + "mem_initializer", + "mem_initializer_name", + "operator_id_name", + "overloadable_operator", + "template_parameter_list", + "template_parameter", + "template_argument_list", + "template_argument", + "handler", + "exception_declaration", + "type_id_list", + "attribute_or_decl_specifier", + "attribute_or_decl_specifier_se" + + "q", + "word", + "extended_decl_modifier_seq", + "extended_decl_modifier", + "extended_asm_param", + "case_range_expression", + "typeof_declaration_specifiers", + "typeof_type_specifier", + "vector_type", + "vector_type_specifier", + "all_specifier_qualifiers", + "all_specifier_qualifier_list" + }; + }; + public final static String name[] = Name.name; + public final String name(int index) { return name[index]; } + + public final static int + ERROR_SYMBOL = 72, + SCOPE_UBOUND = 150, + SCOPE_SIZE = 151, + MAX_NAME_LENGTH = 37; + + public final int getErrorSymbol() { return ERROR_SYMBOL; } + public final int getScopeUbound() { return SCOPE_UBOUND; } + public final int getScopeSize() { return SCOPE_SIZE; } + public final int getMaxNameLength() { return MAX_NAME_LENGTH; } + + public final static int + NUM_STATES = 639, + NT_OFFSET = 133, + LA_STATE_OFFSET = 8653, + MAX_LA = 2147483647, + NUM_RULES = 635, + NUM_NONTERMINALS = 230, + NUM_SYMBOLS = 363, + SEGMENT_SIZE = 8192, + START_STATE = 4931, + IDENTIFIER_SYMBOL = 0, + EOFT_SYMBOL = 131, + EOLT_SYMBOL = 131, + ACCEPT_ACTION = 7000, + ERROR_ACTION = 8018; + + public final static boolean BACKTRACK = true; + + public final int getNumStates() { return NUM_STATES; } + public final int getNtOffset() { return NT_OFFSET; } + public final int getLaStateOffset() { return LA_STATE_OFFSET; } + public final int getMaxLa() { return MAX_LA; } + public final int getNumRules() { return NUM_RULES; } + public final int getNumNonterminals() { return NUM_NONTERMINALS; } + public final int getNumSymbols() { return NUM_SYMBOLS; } + public final int getSegmentSize() { return SEGMENT_SIZE; } + public final int getStartState() { return START_STATE; } + public final int getStartSymbol() { return lhs[0]; } + public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; } + public final int getEoftSymbol() { return EOFT_SYMBOL; } + public final int getEoltSymbol() { return EOLT_SYMBOL; } + public final int getAcceptAction() { return ACCEPT_ACTION; } + public final int getErrorAction() { return ERROR_ACTION; } + public final boolean isValidForParser() { return isValidForParser; } + public final boolean getBacktrack() { return BACKTRACK; } + + public final int originalState(int state) { + return -baseCheck[state]; + } + public final int asi(int state) { + return asb[originalState(state)]; + } + public final int nasi(int state) { + return nasb[originalState(state)]; + } + public final int inSymbol(int state) { + return inSymb[originalState(state)]; + } + + public final int ntAction(int state, int sym) { + return baseAction[state + sym]; + } + + public final int tAction(int state, int sym) { + int i = baseAction[state], + k = i + sym; + return termAction[termCheck[k] == sym ? k : i]; + } + public final int lookAhead(int la_state, int sym) { + int k = la_state + sym; + return termAction[termCheck[k] == sym ? k : la_state]; + } +} |