diff --git a/libsrc/ffdec_lib/lexers/actionscript_script.flex b/libsrc/ffdec_lib/lexers/actionscript_script.flex
index 329bcaa30..7c5d3942b 100644
--- a/libsrc/ffdec_lib/lexers/actionscript_script.flex
+++ b/libsrc/ffdec_lib/lexers/actionscript_script.flex
@@ -167,8 +167,6 @@ Preprocessor = \u00A7\u00A7 {Identifier}
"while" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext()); }
"with" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext()); }
"dynamic" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext()); }
- "internal" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext()); }
- "override" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.OVERRIDE, yytext()); }
"private" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext()); }
"protected" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext()); }
"public" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext()); }
@@ -185,7 +183,6 @@ Preprocessor = \u00A7\u00A7 {Identifier}
"set" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext()); }
"var" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext()); }
"import" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext()); }
- "use" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext()); }
"false" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext()); }
"null" { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext()); }
"this" { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext()); }
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java
index fbf1eff99..b55984a81 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java
@@ -1168,8 +1168,6 @@ public class AVM2SourceGenerator implements SourceGenerator {
}
ParsedSymbol s = null;
- instanceInfo.name_index = traitName(namespace, name);
-
Trait[] it = generateTraitsPhase1(name, superName, false, localData, traitItems, instanceInfo.instance_traits, class_index);
Trait[] st = generateTraitsPhase1(name, superName, true, localData, traitItems, classInfo.static_traits, class_index);
generateTraitsPhase2(importedClasses, pkg, traitItems, it, openedNamespaces, localData);
@@ -2008,6 +2006,7 @@ public class AVM2SourceGenerator implements SourceGenerator {
abc.addClass(ci, ii, classIndex.getVal());
classIndex.setVal(classIndex.getVal() + 1);
ii.flags |= InstanceInfo.CLASS_INTERFACE;
+ ii.name_index = traitName(((InterfaceAVM2Item) item).namespace, ((InterfaceAVM2Item) item).name);
//tc.class_info = abc.instance_info.size() - 1;
tc.kindType = Trait.TRAIT_CLASS;
//tc.name_index = traitName(((InterfaceAVM2Item) item).namespace, ((InterfaceAVM2Item) item).name);
@@ -2021,6 +2020,7 @@ public class AVM2SourceGenerator implements SourceGenerator {
TraitClass tc = new TraitClass();
ClassInfo ci = new ClassInfo();
InstanceInfo ii = new InstanceInfo();
+ ii.name_index = traitName(((ClassAVM2Item) item).namespace, ((ClassAVM2Item) item).className);
/*abc.class_info.add(ci);
abc.instance_info.add(instanceInfo);*/
tc.class_info = classIndex.getVal();
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java
index e4db5f1d2..51c9ac4a1 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java
@@ -17,1257 +17,1193 @@
* License along with this library.
*/
package com.jpexs.decompiler.flash.action.parser.script;
-
import com.jpexs.decompiler.flash.action.parser.ActionParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
+
/**
- * This class is a scanner generated by
+ * This class is a scanner generated by
* JFlex 1.6.0
- * from the specification file
- * C:/FFDec/jpexs-decompiler/libsrc/ffdec_lib/lexers/actionscript_script.flex
+ * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript_script.flex
*/
public final class ActionScriptLexer {
- /**
- * This character denotes the end of file
- */
- public static final int YYEOF = -1;
+ /** This character denotes the end of file */
+ public static final int YYEOF = -1;
- /**
- * initial size of the lookahead buffer
- */
- private static final int ZZ_BUFFERSIZE = 16384;
+ /** initial size of the lookahead buffer */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /**
- * lexical states
- */
- public static final int YYINITIAL = 0;
+ /** lexical states */
+ public static final int YYINITIAL = 0;
+ public static final int STRING = 2;
+ public static final int CHARLITERAL = 4;
+ public static final int XMLSTARTTAG = 6;
+ public static final int XML = 8;
+ public static final int OIDENTIFIER = 10;
- public static final int STRING = 2;
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
+ * at the beginning of a line
+ * l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
+ };
- public static final int CHARLITERAL = 4;
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED =
+ "\11\7\1\3\1\2\1\121\1\122\1\1\16\7\4\0\1\14\1\110"+
+ "\1\16\1\0\1\6\1\117\1\113\1\30\1\100\1\101\1\5\1\115"+
+ "\1\107\1\26\1\11\1\4\1\17\3\23\4\24\2\20\1\10\1\106"+
+ "\1\12\1\15\1\13\1\112\1\120\1\62\1\22\1\72\1\73\1\25"+
+ "\1\64\1\6\1\66\1\77\2\6\1\70\1\71\1\76\1\6\1\75"+
+ "\1\67\1\6\1\63\1\65\1\61\1\74\1\6\1\21\2\6\1\104"+
+ "\1\27\1\105\1\116\1\6\1\0\1\35\1\32\1\37\1\46\1\34"+
+ "\1\47\1\60\1\52\1\44\1\6\1\36\1\50\1\55\1\42\1\41"+
+ "\1\53\1\6\1\33\1\40\1\43\1\45\1\56\1\51\1\57\1\54"+
+ "\1\6\1\102\1\114\1\103\1\111\6\7\1\123\32\7\2\0\4\6"+
+ "\1\0\1\31\2\0\1\6\2\0\1\7\7\0\1\6\4\0\1\6"+
+ "\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6"+
+ "\7\0\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0"+
+ "\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6\1\0"+
+ "\123\6\1\0\213\6\1\0\5\7\2\0\236\6\11\0\46\6\2\0"+
+ "\1\6\7\0\47\6\7\0\1\6\1\0\55\7\1\0\1\7\1\0"+
+ "\2\7\1\0\2\7\1\0\1\7\10\0\33\6\5\0\3\6\15\0"+
+ "\5\7\6\0\1\6\4\0\13\7\5\0\53\6\37\7\4\0\2\6"+
+ "\1\7\143\6\1\0\1\6\10\7\1\0\6\7\2\6\2\7\1\0"+
+ "\4\7\2\6\12\7\3\6\2\0\1\6\17\0\1\7\1\6\1\7"+
+ "\36\6\33\7\2\0\131\6\13\7\1\6\16\0\12\7\41\6\11\7"+
+ "\2\6\4\0\1\6\5\0\26\6\4\7\1\6\11\7\1\6\3\7"+
+ "\1\6\5\7\22\0\31\6\3\7\104\0\1\6\1\0\13\6\67\0"+
+ "\33\7\1\0\4\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"+
+ "\2\7\2\0\12\7\1\0\7\6\1\0\7\6\1\0\3\7\1\0"+
+ "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0"+
+ "\4\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\1\6"+
+ "\10\0\1\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\4\6"+
+ "\7\0\1\6\5\0\3\7\1\0\6\6\4\0\2\6\2\0\26\6"+
+ "\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6\2\0\1\7"+
+ "\1\0\5\7\4\0\2\7\2\0\3\7\3\0\1\7\7\0\4\6"+
+ "\1\0\1\6\7\0\14\7\3\6\1\7\13\0\3\7\1\0\11\6"+
+ "\1\0\3\6\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6"+
+ "\2\0\1\7\1\6\10\7\1\0\3\7\1\0\3\7\2\0\1\6"+
+ "\17\0\2\6\2\7\2\0\12\7\1\0\1\6\17\0\3\7\1\0"+
+ "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0"+
+ "\5\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\10\0"+
+ "\2\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\1\0\1\6"+
+ "\20\0\1\7\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0"+
+ "\2\6\1\0\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0"+
+ "\14\6\4\0\5\7\3\0\3\7\1\0\4\7\2\0\1\6\6\0"+
+ "\1\7\16\0\12\7\11\0\1\6\7\0\3\7\1\0\10\6\1\0"+
+ "\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0\1\6\7\7"+
+ "\1\0\3\7\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6"+
+ "\2\7\2\0\12\7\22\0\2\7\1\0\10\6\1\0\3\6\1\0"+
+ "\27\6\1\0\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0"+
+ "\3\7\1\0\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7"+
+ "\2\0\12\7\1\0\2\6\17\0\2\7\1\0\10\6\1\0\3\6"+
+ "\1\0\51\6\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6"+
+ "\10\0\1\7\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0"+
+ "\2\7\1\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0"+
+ "\7\6\3\0\1\7\4\0\6\7\1\0\1\7\1\0\10\7\22\0"+
+ "\2\7\15\0\60\6\1\7\2\6\7\7\4\0\10\6\10\7\1\0"+
+ "\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0"+
+ "\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0"+
+ "\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7\1\0\2\7"+
+ "\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0\12\7\2\0"+
+ "\4\6\40\0\1\6\27\0\2\7\6\0\12\7\13\0\1\7\1\0"+
+ "\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6\4\0\24\7"+
+ "\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7\71\0\53\6"+
+ "\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7\1\6\3\7"+
+ "\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7\2\0\46\6"+
+ "\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0\4\6"+
+ "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6"+
+ "\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6"+
+ "\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0\3\7"+
+ "\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6"+
+ "\5\0\113\6\3\0\3\6\17\0\15\6\1\0\4\6\3\7\13\0"+
+ "\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0\3\6\1\0"+
+ "\2\7\14\0\64\6\40\7\3\0\1\6\3\0\2\6\1\7\2\0"+
+ "\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0\51\6\1\7"+
+ "\1\6\5\0\106\6\12\0\35\6\3\0\14\7\4\0\14\7\12\0"+
+ "\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7\7\6\2\7"+
+ "\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7\1\0\35\7"+
+ "\2\0\13\7\6\0\12\7\15\0\1\6\130\0\5\7\57\6\21\7"+
+ "\7\6\4\0\12\7\21\0\11\7\14\0\3\7\36\6\15\7\2\6"+
+ "\12\7\54\6\16\7\14\0\44\6\24\7\10\0\12\7\3\0\3\6"+
+ "\12\7\44\6\122\0\3\7\1\0\25\7\4\6\1\7\4\6\3\7"+
+ "\2\6\11\0\300\6\47\7\25\0\4\7\u0116\6\2\0\6\6\2\0"+
+ "\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6\1\0"+
+ "\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6\3\0"+
+ "\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6\5\0"+
+ "\3\6\1\0\7\6\16\0\5\7\30\0\1\121\1\121\5\7\20\0"+
+ "\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6\15\0"+
+ "\1\6\20\0\15\6\3\0\33\6\25\0\15\7\4\0\1\7\3\0"+
+ "\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0"+
+ "\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0"+
+ "\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6\u0a77\0"+
+ "\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\2\6\14\0"+
+ "\46\6\1\0\1\6\5\0\1\6\2\0\70\6\7\0\1\6\17\0"+
+ "\1\7\27\6\11\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"+
+ "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\40\7"+
+ "\57\0\1\6\u01d5\0\3\6\31\0\11\6\6\7\1\0\5\6\2\0"+
+ "\5\6\4\0\126\6\2\0\2\7\2\0\3\6\1\0\132\6\1\0"+
+ "\4\6\5\0\51\6\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0"+
+ "\u19b6\6\112\0\u51cd\6\63\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0"+
+ "\20\6\12\7\2\6\24\0\57\6\1\7\4\0\12\7\1\0\31\6"+
+ "\7\0\1\7\120\6\2\7\45\0\11\6\2\0\147\6\2\0\4\6"+
+ "\1\0\4\6\14\0\13\6\115\0\12\6\1\7\3\6\1\7\4\6"+
+ "\1\7\27\6\5\7\20\0\1\6\7\0\64\6\14\0\2\7\62\6"+
+ "\21\7\13\0\12\7\6\0\22\7\6\6\3\0\1\6\4\0\12\7"+
+ "\34\6\10\7\2\0\27\6\15\7\14\0\35\6\3\0\4\7\57\6"+
+ "\16\7\16\0\1\6\12\7\46\0\51\6\16\7\11\0\3\6\1\7"+
+ "\10\6\2\7\2\0\12\7\6\0\27\6\3\0\1\6\1\7\4\0"+
+ "\60\6\1\7\1\6\3\7\2\6\2\7\5\6\2\7\1\6\1\7"+
+ "\1\6\30\0\3\6\2\0\13\6\5\7\2\0\3\6\2\7\12\0"+
+ "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\221\0"+
+ "\43\6\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0\27\6"+
+ "\4\0\61\6\u2104\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6"+
+ "\5\0\1\6\1\7\12\6\1\0\15\6\1\0\5\6\1\0\1\6"+
+ "\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6"+
+ "\2\0\66\6\50\0\15\6\3\0\20\7\20\0\7\7\14\0\2\6"+
+ "\30\0\3\6\31\0\1\6\6\0\5\6\1\0\207\6\2\0\1\7"+
+ "\4\0\1\6\13\0\12\7\7\0\32\6\4\0\1\6\1\0\32\6"+
+ "\13\0\131\6\3\0\6\6\2\0\6\6\2\0\6\6\2\0\3\6"+
+ "\3\0\2\6\3\0\2\6\22\0\3\7\4\0\14\6\1\0\32\6"+
+ "\1\0\23\6\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6"+
+ "\105\0\65\6\210\0\1\7\202\0\35\6\3\0\61\6\57\0\37\6"+
+ "\21\0\33\6\65\0\36\6\2\0\44\6\4\0\10\6\1\0\5\6"+
+ "\52\0\236\6\2\0\12\7\u0356\0\6\6\2\0\1\6\1\0\54\6"+
+ "\1\0\2\6\3\0\1\6\2\0\27\6\252\0\26\6\12\0\32\6"+
+ "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"+
+ "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"+
+ "\40\0\35\6\203\0\66\6\12\0\26\6\12\0\23\6\215\0\111\6"+
+ "\u03b7\0\3\7\65\6\17\7\37\0\12\7\20\0\3\7\55\6\13\7"+
+ "\2\0\1\7\22\0\31\6\7\0\12\7\6\0\3\7\44\6\16\7"+
+ "\1\0\12\7\100\0\3\7\60\6\16\7\4\6\13\0\12\7\u04a6\0"+
+ "\53\6\15\7\10\0\12\7\u0936\0\u036f\6\221\0\143\6\u0b9d\0\u042f\6"+
+ "\u33d1\0\u0239\6\u04c7\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"+
+ "\u4060\0\2\6\u2163\0\5\7\3\0\26\7\2\0\7\7\36\0\4\7"+
+ "\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6\2\0\1\6"+
+ "\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6\1\0\7\6"+
+ "\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6\1\0\34\6"+
+ "\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6\1\0\u0154\6"+
+ "\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"+
+ "\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6"+
+ "\1\0\10\6\2\0\62\7\u1600\0\4\6\1\0\33\6\1\0\2\6"+
+ "\1\0\1\6\2\0\1\6\1\0\12\6\1\0\4\6\1\0\1\6"+
+ "\1\0\1\6\6\0\1\6\4\0\1\6\1\0\1\6\1\0\1\6"+
+ "\1\0\3\6\1\0\2\6\1\0\1\6\2\0\1\6\1\0\1\6"+
+ "\1\0\1\6\1\0\1\6\1\0\1\6\1\0\2\6\1\0\1\6"+
+ "\2\0\4\6\1\0\7\6\1\0\4\6\1\0\4\6\1\0\1\6"+
+ "\1\0\12\6\1\0\21\6\5\0\3\6\1\0\5\6\1\0\21\6"+
+ "\u1144\0\ua6d7\6\51\0\u1035\6\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"+
+ "\1\7\36\0\140\7\200\0\360\7\uffff\0\uffff\0\ufe12\0";
- public static final int XMLSTARTTAG = 6;
+ /**
+ * Translates characters to character classes
+ */
+ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- public static final int XML = 8;
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int [] ZZ_ACTION = zzUnpackAction();
- public static final int OIDENTIFIER = 10;
+ private static final String ZZ_ACTION_PACKED_0 =
+ "\6\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"+
+ "\1\10\1\11\1\12\1\13\1\14\2\15\1\16\1\17"+
+ "\1\20\26\6\1\21\1\22\1\23\1\24\1\25\1\26"+
+ "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36"+
+ "\1\37\1\40\1\41\1\42\2\43\1\44\1\1\1\42"+
+ "\1\1\2\45\1\42\1\1\1\46\2\42\2\47\2\42"+
+ "\1\1\1\50\1\3\1\0\1\51\1\52\1\53\2\0"+
+ "\1\54\1\0\1\55\1\56\1\57\1\60\1\61\1\62"+
+ "\1\63\1\54\1\0\2\63\1\0\1\64\1\65\1\0"+
+ "\7\6\1\66\11\6\1\67\11\6\1\70\1\71\1\72"+
+ "\3\6\1\73\30\6\1\56\1\74\1\75\1\76\1\77"+
+ "\1\100\1\101\1\102\1\103\1\104\1\105\1\104\1\106"+
+ "\1\107\1\110\1\111\1\112\1\113\1\104\1\114\1\104"+
+ "\6\0\1\115\1\116\2\115\2\3\2\0\1\117\3\0"+
+ "\1\120\1\0\1\121\1\122\1\123\1\124\2\125\1\63"+
+ "\1\54\1\0\1\126\10\6\1\127\5\6\1\130\1\131"+
+ "\5\6\1\132\1\133\5\6\1\134\7\6\1\135\12\6"+
+ "\1\136\20\6\1\137\1\6\1\140\2\6\1\141\2\6"+
+ "\1\142\12\0\1\143\5\0\1\144\1\125\1\63\4\6"+
+ "\1\145\1\146\1\147\1\6\1\150\1\6\1\151\5\6"+
+ "\1\152\6\6\1\153\1\6\1\154\4\6\1\155\22\6"+
+ "\1\156\7\6\1\157\4\6\1\160\7\6\1\161\1\0"+
+ "\1\162\1\42\1\0\1\163\12\0\1\125\1\63\1\164"+
+ "\4\6\1\165\1\166\1\6\1\167\5\6\1\170\4\6"+
+ "\1\171\3\6\1\172\14\6\1\173\6\6\1\174\2\6"+
+ "\1\175\3\6\1\176\1\6\1\177\10\6\10\0\1\125"+
+ "\1\63\1\200\1\6\1\201\3\6\1\202\2\6\1\203"+
+ "\1\204\6\6\1\205\3\6\1\206\4\6\1\207\5\6"+
+ "\1\210\10\6\1\211\2\6\1\212\3\6\1\213\1\214"+
+ "\1\6\2\0\1\120\1\125\1\63\1\6\1\215\4\6"+
+ "\1\216\13\6\1\217\1\6\1\220\1\6\1\221\7\6"+
+ "\1\222\1\223\6\6\1\42\1\125\1\63\1\6\1\224"+
+ "\2\6\1\225\15\6\1\226\5\6\1\227\1\6\1\230"+
+ "\1\231\3\6\1\232\1\125\1\63\1\6\1\233\1\6"+
+ "\1\234\1\235\4\6\1\236\2\6\1\237\2\6\1\240"+
+ "\1\241\1\6\1\242\1\243\5\6\1\125\1\63\2\6"+
+ "\1\244\1\245\1\6\1\246\1\6\1\247\6\6\1\250"+
+ "\2\6\1\63\4\6\1\251\4\6\1\252\1\253\1\254"+
+ "\1\63\6\6\1\255\2\6\1\63\1\6\1\256\1\6"+
+ "\1\257\2\6\1\260\1\261\1\63\2\6\1\262\3\6"+
+ "\1\63\1\263\4\6\1\63\2\6\1\264\1\265\1\266"+
+ "\1\6\1\267";
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
- };
+ private static int [] zzUnpackAction() {
+ int [] result = new int[695];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
+ }
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED
- = "\11\7\1\3\1\2\1\121\1\122\1\1\16\7\4\0\1\14\1\110"
- + "\1\16\1\0\1\6\1\117\1\113\1\30\1\100\1\101\1\5\1\115"
- + "\1\107\1\26\1\11\1\4\1\17\3\23\4\24\2\20\1\10\1\106"
- + "\1\12\1\15\1\13\1\112\1\120\1\62\1\22\1\72\1\73\1\25"
- + "\1\64\1\6\1\66\1\77\2\6\1\70\1\71\1\76\1\6\1\75"
- + "\1\67\1\6\1\63\1\65\1\61\1\74\1\6\1\21\2\6\1\104"
- + "\1\27\1\105\1\116\1\6\1\0\1\35\1\32\1\37\1\46\1\34"
- + "\1\47\1\60\1\52\1\44\1\6\1\36\1\50\1\55\1\42\1\41"
- + "\1\53\1\6\1\33\1\40\1\43\1\45\1\56\1\51\1\57\1\54"
- + "\1\6\1\102\1\114\1\103\1\111\6\7\1\123\32\7\2\0\4\6"
- + "\1\0\1\31\2\0\1\6\2\0\1\7\7\0\1\6\4\0\1\6"
- + "\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6"
- + "\7\0\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0"
- + "\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6\1\0"
- + "\123\6\1\0\213\6\1\0\5\7\2\0\236\6\11\0\46\6\2\0"
- + "\1\6\7\0\47\6\7\0\1\6\1\0\55\7\1\0\1\7\1\0"
- + "\2\7\1\0\2\7\1\0\1\7\10\0\33\6\5\0\3\6\15\0"
- + "\5\7\6\0\1\6\4\0\13\7\5\0\53\6\37\7\4\0\2\6"
- + "\1\7\143\6\1\0\1\6\10\7\1\0\6\7\2\6\2\7\1\0"
- + "\4\7\2\6\12\7\3\6\2\0\1\6\17\0\1\7\1\6\1\7"
- + "\36\6\33\7\2\0\131\6\13\7\1\6\16\0\12\7\41\6\11\7"
- + "\2\6\4\0\1\6\5\0\26\6\4\7\1\6\11\7\1\6\3\7"
- + "\1\6\5\7\22\0\31\6\3\7\104\0\1\6\1\0\13\6\67\0"
- + "\33\7\1\0\4\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"
- + "\2\7\2\0\12\7\1\0\7\6\1\0\7\6\1\0\3\7\1\0"
- + "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0"
- + "\4\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\1\6"
- + "\10\0\1\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\4\6"
- + "\7\0\1\6\5\0\3\7\1\0\6\6\4\0\2\6\2\0\26\6"
- + "\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6\2\0\1\7"
- + "\1\0\5\7\4\0\2\7\2\0\3\7\3\0\1\7\7\0\4\6"
- + "\1\0\1\6\7\0\14\7\3\6\1\7\13\0\3\7\1\0\11\6"
- + "\1\0\3\6\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6"
- + "\2\0\1\7\1\6\10\7\1\0\3\7\1\0\3\7\2\0\1\6"
- + "\17\0\2\6\2\7\2\0\12\7\1\0\1\6\17\0\3\7\1\0"
- + "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0"
- + "\5\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\10\0"
- + "\2\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\1\0\1\6"
- + "\20\0\1\7\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0"
- + "\2\6\1\0\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0"
- + "\14\6\4\0\5\7\3\0\3\7\1\0\4\7\2\0\1\6\6\0"
- + "\1\7\16\0\12\7\11\0\1\6\7\0\3\7\1\0\10\6\1\0"
- + "\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0\1\6\7\7"
- + "\1\0\3\7\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6"
- + "\2\7\2\0\12\7\22\0\2\7\1\0\10\6\1\0\3\6\1\0"
- + "\27\6\1\0\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0"
- + "\3\7\1\0\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7"
- + "\2\0\12\7\1\0\2\6\17\0\2\7\1\0\10\6\1\0\3\6"
- + "\1\0\51\6\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6"
- + "\10\0\1\7\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0"
- + "\2\7\1\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0"
- + "\7\6\3\0\1\7\4\0\6\7\1\0\1\7\1\0\10\7\22\0"
- + "\2\7\15\0\60\6\1\7\2\6\7\7\4\0\10\6\10\7\1\0"
- + "\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0"
- + "\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0"
- + "\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7\1\0\2\7"
- + "\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0\12\7\2\0"
- + "\4\6\40\0\1\6\27\0\2\7\6\0\12\7\13\0\1\7\1\0"
- + "\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6\4\0\24\7"
- + "\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7\71\0\53\6"
- + "\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7\1\6\3\7"
- + "\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7\2\0\46\6"
- + "\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0\4\6"
- + "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6"
- + "\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6"
- + "\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0\3\7"
- + "\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6"
- + "\5\0\113\6\3\0\3\6\17\0\15\6\1\0\4\6\3\7\13\0"
- + "\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0\3\6\1\0"
- + "\2\7\14\0\64\6\40\7\3\0\1\6\3\0\2\6\1\7\2\0"
- + "\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0\51\6\1\7"
- + "\1\6\5\0\106\6\12\0\35\6\3\0\14\7\4\0\14\7\12\0"
- + "\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7\7\6\2\7"
- + "\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7\1\0\35\7"
- + "\2\0\13\7\6\0\12\7\15\0\1\6\130\0\5\7\57\6\21\7"
- + "\7\6\4\0\12\7\21\0\11\7\14\0\3\7\36\6\15\7\2\6"
- + "\12\7\54\6\16\7\14\0\44\6\24\7\10\0\12\7\3\0\3\6"
- + "\12\7\44\6\122\0\3\7\1\0\25\7\4\6\1\7\4\6\3\7"
- + "\2\6\11\0\300\6\47\7\25\0\4\7\u0116\6\2\0\6\6\2\0"
- + "\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6\1\0"
- + "\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6\3\0"
- + "\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6\5\0"
- + "\3\6\1\0\7\6\16\0\5\7\30\0\1\121\1\121\5\7\20\0"
- + "\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6\15\0"
- + "\1\6\20\0\15\6\3\0\33\6\25\0\15\7\4\0\1\7\3\0"
- + "\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0"
- + "\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0"
- + "\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6\u0a77\0"
- + "\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\2\6\14\0"
- + "\46\6\1\0\1\6\5\0\1\6\2\0\70\6\7\0\1\6\17\0"
- + "\1\7\27\6\11\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"
- + "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\40\7"
- + "\57\0\1\6\u01d5\0\3\6\31\0\11\6\6\7\1\0\5\6\2\0"
- + "\5\6\4\0\126\6\2\0\2\7\2\0\3\6\1\0\132\6\1\0"
- + "\4\6\5\0\51\6\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0"
- + "\u19b6\6\112\0\u51cd\6\63\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0"
- + "\20\6\12\7\2\6\24\0\57\6\1\7\4\0\12\7\1\0\31\6"
- + "\7\0\1\7\120\6\2\7\45\0\11\6\2\0\147\6\2\0\4\6"
- + "\1\0\4\6\14\0\13\6\115\0\12\6\1\7\3\6\1\7\4\6"
- + "\1\7\27\6\5\7\20\0\1\6\7\0\64\6\14\0\2\7\62\6"
- + "\21\7\13\0\12\7\6\0\22\7\6\6\3\0\1\6\4\0\12\7"
- + "\34\6\10\7\2\0\27\6\15\7\14\0\35\6\3\0\4\7\57\6"
- + "\16\7\16\0\1\6\12\7\46\0\51\6\16\7\11\0\3\6\1\7"
- + "\10\6\2\7\2\0\12\7\6\0\27\6\3\0\1\6\1\7\4\0"
- + "\60\6\1\7\1\6\3\7\2\6\2\7\5\6\2\7\1\6\1\7"
- + "\1\6\30\0\3\6\2\0\13\6\5\7\2\0\3\6\2\7\12\0"
- + "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\221\0"
- + "\43\6\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0\27\6"
- + "\4\0\61\6\u2104\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6"
- + "\5\0\1\6\1\7\12\6\1\0\15\6\1\0\5\6\1\0\1\6"
- + "\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6"
- + "\2\0\66\6\50\0\15\6\3\0\20\7\20\0\7\7\14\0\2\6"
- + "\30\0\3\6\31\0\1\6\6\0\5\6\1\0\207\6\2\0\1\7"
- + "\4\0\1\6\13\0\12\7\7\0\32\6\4\0\1\6\1\0\32\6"
- + "\13\0\131\6\3\0\6\6\2\0\6\6\2\0\6\6\2\0\3\6"
- + "\3\0\2\6\3\0\2\6\22\0\3\7\4\0\14\6\1\0\32\6"
- + "\1\0\23\6\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6"
- + "\105\0\65\6\210\0\1\7\202\0\35\6\3\0\61\6\57\0\37\6"
- + "\21\0\33\6\65\0\36\6\2\0\44\6\4\0\10\6\1\0\5\6"
- + "\52\0\236\6\2\0\12\7\u0356\0\6\6\2\0\1\6\1\0\54\6"
- + "\1\0\2\6\3\0\1\6\2\0\27\6\252\0\26\6\12\0\32\6"
- + "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"
- + "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"
- + "\40\0\35\6\203\0\66\6\12\0\26\6\12\0\23\6\215\0\111\6"
- + "\u03b7\0\3\7\65\6\17\7\37\0\12\7\20\0\3\7\55\6\13\7"
- + "\2\0\1\7\22\0\31\6\7\0\12\7\6\0\3\7\44\6\16\7"
- + "\1\0\12\7\100\0\3\7\60\6\16\7\4\6\13\0\12\7\u04a6\0"
- + "\53\6\15\7\10\0\12\7\u0936\0\u036f\6\221\0\143\6\u0b9d\0\u042f\6"
- + "\u33d1\0\u0239\6\u04c7\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"
- + "\u4060\0\2\6\u2163\0\5\7\3\0\26\7\2\0\7\7\36\0\4\7"
- + "\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6\2\0\1\6"
- + "\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6\1\0\7\6"
- + "\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6\1\0\34\6"
- + "\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6\1\0\u0154\6"
- + "\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"
- + "\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6"
- + "\1\0\10\6\2\0\62\7\u1600\0\4\6\1\0\33\6\1\0\2\6"
- + "\1\0\1\6\2\0\1\6\1\0\12\6\1\0\4\6\1\0\1\6"
- + "\1\0\1\6\6\0\1\6\4\0\1\6\1\0\1\6\1\0\1\6"
- + "\1\0\3\6\1\0\2\6\1\0\1\6\2\0\1\6\1\0\1\6"
- + "\1\0\1\6\1\0\1\6\1\0\1\6\1\0\2\6\1\0\1\6"
- + "\2\0\4\6\1\0\7\6\1\0\4\6\1\0\4\6\1\0\1\6"
- + "\1\0\12\6\1\0\21\6\5\0\3\6\1\0\5\6\1\0\21\6"
- + "\u1144\0\ua6d7\6\51\0\u1035\6\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"
- + "\1\7\36\0\140\7\200\0\360\7\uffff\0\uffff\0\ufe12\0";
-
- /**
- * Translates characters to character classes
- */
- private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int[] ZZ_ACTION = zzUnpackAction();
-
- private static final String ZZ_ACTION_PACKED_0
- = "\6\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"
- + "\1\10\1\11\1\12\1\13\1\14\2\15\1\16\1\17"
- + "\1\20\26\6\1\21\1\22\1\23\1\24\1\25\1\26"
- + "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36"
- + "\1\37\1\40\1\41\1\42\2\43\1\44\1\1\1\42"
- + "\1\1\2\45\1\42\1\1\1\46\2\42\2\47\2\42"
- + "\1\1\1\50\1\3\1\0\1\51\1\52\1\53\2\0"
- + "\1\54\1\0\1\55\1\56\1\57\1\60\1\61\1\62"
- + "\1\63\1\54\1\0\2\63\1\0\1\64\1\65\1\0"
- + "\7\6\1\66\11\6\1\67\12\6\1\70\1\71\1\72"
- + "\4\6\1\73\30\6\1\56\1\74\1\75\1\76\1\77"
- + "\1\100\1\101\1\102\1\103\1\104\1\105\1\104\1\106"
- + "\1\107\1\110\1\111\1\112\1\113\1\104\1\114\1\104"
- + "\6\0\1\115\1\116\2\115\2\3\2\0\1\117\3\0"
- + "\1\120\1\0\1\121\1\122\1\123\1\124\2\125\1\63"
- + "\1\54\1\0\1\126\10\6\1\127\5\6\1\130\1\131"
- + "\5\6\1\132\1\6\1\133\5\6\1\134\7\6\1\135"
- + "\2\6\1\136\10\6\1\137\20\6\1\140\1\6\1\141"
- + "\2\6\1\142\2\6\1\143\12\0\1\144\5\0\1\145"
- + "\1\125\1\63\4\6\1\146\1\147\1\150\1\6\1\151"
- + "\1\6\1\152\5\6\1\153\7\6\1\154\1\6\1\155"
- + "\4\6\1\156\22\6\1\157\7\6\1\160\4\6\1\161"
- + "\7\6\1\162\1\0\1\163\1\42\1\0\1\164\12\0"
- + "\1\125\1\63\1\165\4\6\1\166\1\167\1\6\1\170"
- + "\5\6\1\171\5\6\1\172\3\6\1\173\14\6\1\174"
- + "\6\6\1\175\2\6\1\176\3\6\1\177\1\6\1\200"
- + "\10\6\10\0\1\125\1\63\1\201\1\6\1\202\3\6"
- + "\1\203\2\6\1\204\1\205\7\6\1\206\4\6\1\207"
- + "\4\6\1\210\5\6\1\211\10\6\1\212\2\6\1\213"
- + "\3\6\1\214\1\215\1\6\2\0\1\120\1\125\1\63"
- + "\1\6\1\216\5\6\1\217\14\6\1\220\1\6\1\221"
- + "\1\6\1\222\7\6\1\223\1\224\6\6\1\42\1\125"
- + "\1\63\1\6\1\225\2\6\1\226\1\227\6\6\1\230"
- + "\7\6\1\231\5\6\1\232\1\6\1\233\1\234\3\6"
- + "\1\235\1\125\1\63\1\6\1\236\1\6\1\237\1\240"
- + "\4\6\1\241\2\6\1\242\2\6\1\243\1\244\1\6"
- + "\1\245\1\246\5\6\1\125\1\63\2\6\1\247\1\250"
- + "\1\6\1\251\1\6\1\252\6\6\1\253\2\6\1\63"
- + "\4\6\1\254\4\6\1\255\1\256\1\257\1\63\6\6"
- + "\1\260\2\6\1\63\1\6\1\261\1\6\1\262\2\6"
- + "\1\263\1\264\1\63\2\6\1\265\3\6\1\63\1\266"
- + "\4\6\1\63\2\6\1\267\1\270\1\271\1\6\1\272";
-
- private static int[] zzUnpackAction() {
- int[] result = new int[707];
- int offset = 0;
- offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
- return result;
+ private static int zzUnpackAction(String packed, int offset, int [] result) {
+ int i = 0; /* index in packed string */
+ int j = offset; /* index in unpacked array */
+ int l = packed.length();
+ while (i < l) {
+ int count = packed.charAt(i++);
+ int value = packed.charAt(i++);
+ do result[j++] = value; while (--count > 0);
}
+ return j;
+ }
- private static int zzUnpackAction(String packed, int offset, int[] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do {
- result[j++] = value;
- } while (--count > 0);
- }
- return j;
+ private static final String ZZ_ROWMAP_PACKED_0 =
+ "\0\0\0\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c"+
+ "\0\u01f8\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498"+
+ "\0\u04ec\0\u0540\0\u01f8\0\u0594\0\u05e8\0\u063c\0\u01f8\0\u0690"+
+ "\0\u06e4\0\u0738\0\u078c\0\u07e0\0\u0834\0\u0888\0\u08dc\0\u0930"+
+ "\0\u0984\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28\0\u0b7c\0\u0bd0"+
+ "\0\u0c24\0\u0c78\0\u0ccc\0\u0d20\0\u0d74\0\u0dc8\0\u01f8\0\u01f8"+
+ "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u0e1c\0\u01f8"+
+ "\0\u01f8\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c\0\u0fc0\0\u01f8\0\u1014"+
+ "\0\u1068\0\u01f8\0\u01f8\0\u10bc\0\u1110\0\u1164\0\u11b8\0\u01f8"+
+ "\0\u120c\0\u1260\0\u01f8\0\u12b4\0\u01f8\0\u1308\0\u01f8\0\u135c"+
+ "\0\u13b0\0\u1404\0\u01f8\0\u1458\0\u14ac\0\u01f8\0\u01f8\0\u01f8"+
+ "\0\u1500\0\u1554\0\u15a8\0\u15fc\0\u1650\0\u01f8\0\u01f8\0\u16a4"+
+ "\0\u01f8\0\u16f8\0\u174c\0\u17a0\0\u17f4\0\u1848\0\u189c\0\u18f0"+
+ "\0\u01f8\0\u01f8\0\u1944\0\u1998\0\u19ec\0\u1a40\0\u1a94\0\u1ae8"+
+ "\0\u1b3c\0\u1b90\0\u039c\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0\0\u1d34"+
+ "\0\u1d88\0\u1ddc\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1f80\0\u1fd4"+
+ "\0\u2028\0\u207c\0\u20d0\0\u2124\0\u2178\0\u21cc\0\u039c\0\u2220"+
+ "\0\u2274\0\u22c8\0\u231c\0\u2370\0\u039c\0\u23c4\0\u2418\0\u246c"+
+ "\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610\0\u2664\0\u26b8\0\u270c"+
+ "\0\u2760\0\u27b4\0\u2808\0\u285c\0\u28b0\0\u2904\0\u2958\0\u29ac"+
+ "\0\u2a00\0\u2a54\0\u2aa8\0\u2afc\0\u2b50\0\u2ba4\0\u01f8\0\u01f8"+
+ "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"+
+ "\0\u2bf8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u2c4c"+
+ "\0\u01f8\0\u2ca0\0\u1260\0\u2cf4\0\u2d48\0\u2d9c\0\u2df0\0\u2e44"+
+ "\0\u01f8\0\u01f8\0\u2c4c\0\u2ca0\0\u2e98\0\u01f8\0\u2eec\0\u2f40"+
+ "\0\u01f8\0\u2f94\0\u2fe8\0\u303c\0\u01f8\0\u3090\0\u01f8\0\u30e4"+
+ "\0\u01f8\0\u01f8\0\u17f4\0\u3138\0\u318c\0\u31e0\0\u31e0\0\u3234"+
+ "\0\u3288\0\u32dc\0\u3330\0\u3384\0\u33d8\0\u342c\0\u3480\0\u34d4"+
+ "\0\u039c\0\u3528\0\u357c\0\u35d0\0\u3624\0\u3678\0\u039c\0\u039c"+
+ "\0\u36cc\0\u3720\0\u3774\0\u37c8\0\u381c\0\u039c\0\u3870\0\u38c4"+
+ "\0\u3918\0\u396c\0\u39c0\0\u3a14\0\u039c\0\u3a68\0\u3abc\0\u3b10"+
+ "\0\u3b64\0\u3bb8\0\u3c0c\0\u3c60\0\u3cb4\0\u3d08\0\u3d5c\0\u3db0"+
+ "\0\u3e04\0\u3e58\0\u3eac\0\u3f00\0\u3f54\0\u3fa8\0\u3ffc\0\u039c"+
+ "\0\u4050\0\u40a4\0\u40f8\0\u414c\0\u41a0\0\u41f4\0\u4248\0\u429c"+
+ "\0\u42f0\0\u4344\0\u4398\0\u43ec\0\u4440\0\u4494\0\u44e8\0\u453c"+
+ "\0\u039c\0\u4590\0\u45e4\0\u4638\0\u468c\0\u039c\0\u46e0\0\u4734"+
+ "\0\u01f8\0\u4788\0\u47dc\0\u4830\0\u4884\0\u48d8\0\u492c\0\u4980"+
+ "\0\u49d4\0\u4a28\0\u4a7c\0\u01f8\0\u4ad0\0\u4b24\0\u4b78\0\u4bcc"+
+ "\0\u4c20\0\u01f8\0\u4c74\0\u4cc8\0\u4d1c\0\u4d70\0\u4dc4\0\u4e18"+
+ "\0\u039c\0\u039c\0\u039c\0\u4e6c\0\u039c\0\u4ec0\0\u039c\0\u4f14"+
+ "\0\u4f68\0\u4fbc\0\u5010\0\u5064\0\u50b8\0\u510c\0\u5160\0\u51b4"+
+ "\0\u5208\0\u525c\0\u52b0\0\u039c\0\u5304\0\u039c\0\u5358\0\u53ac"+
+ "\0\u5400\0\u5454\0\u039c\0\u54a8\0\u54fc\0\u5550\0\u55a4\0\u55f8"+
+ "\0\u564c\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0\0\u5844\0\u5898"+
+ "\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u039c\0\u5a90\0\u5ae4"+
+ "\0\u5b38\0\u5b8c\0\u5be0\0\u5c34\0\u5c88\0\u039c\0\u5cdc\0\u5d30"+
+ "\0\u5d84\0\u5dd8\0\u039c\0\u5e2c\0\u5e80\0\u5ed4\0\u5f28\0\u5f7c"+
+ "\0\u5fd0\0\u6024\0\u01f8\0\u2ca0\0\u01f8\0\u6078\0\u60cc\0\u01f8"+
+ "\0\u6120\0\u6174\0\u61c8\0\u621c\0\u6270\0\u62c4\0\u6318\0\u636c"+
+ "\0\u63c0\0\u6414\0\u6468\0\u64bc\0\u039c\0\u6510\0\u6564\0\u65b8"+
+ "\0\u660c\0\u039c\0\u039c\0\u6660\0\u039c\0\u66b4\0\u6708\0\u675c"+
+ "\0\u67b0\0\u6804\0\u039c\0\u6858\0\u68ac\0\u6900\0\u6954\0\u039c"+
+ "\0\u69a8\0\u69fc\0\u6a50\0\u039c\0\u6aa4\0\u6af8\0\u6b4c\0\u6ba0"+
+ "\0\u6bf4\0\u6c48\0\u6c9c\0\u6cf0\0\u6d44\0\u6d98\0\u6dec\0\u6e40"+
+ "\0\u039c\0\u6e94\0\u6ee8\0\u6f3c\0\u6f90\0\u6fe4\0\u7038\0\u039c"+
+ "\0\u708c\0\u70e0\0\u7134\0\u7188\0\u71dc\0\u7230\0\u039c\0\u7284"+
+ "\0\u039c\0\u72d8\0\u732c\0\u7380\0\u73d4\0\u7428\0\u747c\0\u74d0"+
+ "\0\u7524\0\u7578\0\u75cc\0\u7620\0\u7674\0\u76c8\0\u771c\0\u7770"+
+ "\0\u77c4\0\u7818\0\u786c\0\u039c\0\u78c0\0\u039c\0\u7914\0\u7968"+
+ "\0\u79bc\0\u039c\0\u7a10\0\u7a64\0\u039c\0\u039c\0\u7ab8\0\u7b0c"+
+ "\0\u7b60\0\u7bb4\0\u7c08\0\u7c5c\0\u039c\0\u7cb0\0\u7d04\0\u7d58"+
+ "\0\u039c\0\u7dac\0\u7e00\0\u7e54\0\u7ea8\0\u039c\0\u7efc\0\u7f50"+
+ "\0\u7fa4\0\u7ff8\0\u804c\0\u039c\0\u80a0\0\u80f4\0\u8148\0\u819c"+
+ "\0\u81f0\0\u8244\0\u8298\0\u82ec\0\u039c\0\u8340\0\u8394\0\u039c"+
+ "\0\u83e8\0\u843c\0\u8490\0\u039c\0\u039c\0\u84e4\0\u8538\0\u858c"+
+ "\0\u6318\0\u85e0\0\u8634\0\u8688\0\u039c\0\u86dc\0\u8730\0\u8784"+
+ "\0\u87d8\0\u039c\0\u882c\0\u8880\0\u88d4\0\u8928\0\u897c\0\u89d0"+
+ "\0\u8a24\0\u8a78\0\u8acc\0\u8b20\0\u8b74\0\u039c\0\u8bc8\0\u039c"+
+ "\0\u8c1c\0\u039c\0\u8c70\0\u8cc4\0\u8d18\0\u8d6c\0\u8dc0\0\u8e14"+
+ "\0\u8e68\0\u039c\0\u039c\0\u8ebc\0\u8f10\0\u8f64\0\u8fb8\0\u900c"+
+ "\0\u9060\0\u7620\0\u90b4\0\u9108\0\u915c\0\u039c\0\u91b0\0\u9204"+
+ "\0\u039c\0\u9258\0\u92ac\0\u9300\0\u9354\0\u93a8\0\u93fc\0\u9450"+
+ "\0\u94a4\0\u94f8\0\u954c\0\u95a0\0\u95f4\0\u9648\0\u039c\0\u969c"+
+ "\0\u96f0\0\u9744\0\u9798\0\u97ec\0\u039c\0\u9840\0\u039c\0\u039c"+
+ "\0\u9894\0\u98e8\0\u993c\0\u039c\0\u9990\0\u99e4\0\u9a38\0\u039c"+
+ "\0\u9a8c\0\u039c\0\u039c\0\u9ae0\0\u9b34\0\u9b88\0\u9bdc\0\u039c"+
+ "\0\u9c30\0\u9c84\0\u039c\0\u9cd8\0\u9d2c\0\u039c\0\u9d80\0\u9dd4"+
+ "\0\u039c\0\u039c\0\u9e28\0\u9e7c\0\u9ed0\0\u9f24\0\u9f78\0\u01f8"+
+ "\0\u9fcc\0\ua020\0\ua074\0\u039c\0\u039c\0\ua0c8\0\u039c\0\ua11c"+
+ "\0\u039c\0\ua170\0\ua1c4\0\ua218\0\ua26c\0\ua2c0\0\ua314\0\u039c"+
+ "\0\ua368\0\ua3bc\0\ua410\0\ua464\0\ua4b8\0\ua50c\0\ua560\0\ua5b4"+
+ "\0\ua608\0\ua65c\0\ua6b0\0\ua704\0\u039c\0\u039c\0\u039c\0\ua758"+
+ "\0\ua7ac\0\ua800\0\ua854\0\ua8a8\0\ua8fc\0\ua950\0\u039c\0\ua9a4"+
+ "\0\ua9f8\0\uaa4c\0\uaaa0\0\u039c\0\uaaf4\0\u039c\0\uab48\0\uab9c"+
+ "\0\uabf0\0\uac44\0\uac98\0\uacec\0\uad40\0\u039c\0\uad94\0\uade8"+
+ "\0\uae3c\0\uae90\0\u039c\0\uaee4\0\uaf38\0\uaf8c\0\uafe0\0\u17a0"+
+ "\0\ub034\0\ub088\0\u039c\0\u039c\0\u039c\0\ub0dc\0\u039c";
+
+ private static int [] zzUnpackRowMap() {
+ int [] result = new int[695];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
+ }
+
+ private static int zzUnpackRowMap(String packed, int offset, int [] result) {
+ int i = 0; /* index in packed string */
+ int j = offset; /* index in unpacked array */
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
}
+ return j;
+ }
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
+ /**
+ * The transition table of the DFA
+ */
+ private static final int [] ZZ_TRANS = zzUnpackTrans();
- private static final String ZZ_ROWMAP_PACKED_0
- = "\0\0\0\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c"
- + "\0\u01f8\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498"
- + "\0\u04ec\0\u0540\0\u01f8\0\u0594\0\u05e8\0\u063c\0\u01f8\0\u0690"
- + "\0\u06e4\0\u0738\0\u078c\0\u07e0\0\u0834\0\u0888\0\u08dc\0\u0930"
- + "\0\u0984\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28\0\u0b7c\0\u0bd0"
- + "\0\u0c24\0\u0c78\0\u0ccc\0\u0d20\0\u0d74\0\u0dc8\0\u01f8\0\u01f8"
- + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u0e1c\0\u01f8"
- + "\0\u01f8\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c\0\u0fc0\0\u01f8\0\u1014"
- + "\0\u1068\0\u01f8\0\u01f8\0\u10bc\0\u1110\0\u1164\0\u11b8\0\u01f8"
- + "\0\u120c\0\u1260\0\u01f8\0\u12b4\0\u01f8\0\u1308\0\u01f8\0\u135c"
- + "\0\u13b0\0\u1404\0\u01f8\0\u1458\0\u14ac\0\u01f8\0\u01f8\0\u01f8"
- + "\0\u1500\0\u1554\0\u15a8\0\u15fc\0\u1650\0\u01f8\0\u01f8\0\u16a4"
- + "\0\u01f8\0\u16f8\0\u174c\0\u17a0\0\u17f4\0\u1848\0\u189c\0\u18f0"
- + "\0\u01f8\0\u01f8\0\u1944\0\u1998\0\u19ec\0\u1a40\0\u1a94\0\u1ae8"
- + "\0\u1b3c\0\u1b90\0\u039c\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0\0\u1d34"
- + "\0\u1d88\0\u1ddc\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1f80\0\u1fd4"
- + "\0\u2028\0\u207c\0\u20d0\0\u2124\0\u2178\0\u21cc\0\u2220\0\u039c"
- + "\0\u2274\0\u22c8\0\u231c\0\u2370\0\u23c4\0\u2418\0\u039c\0\u246c"
- + "\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610\0\u2664\0\u26b8\0\u270c"
- + "\0\u2760\0\u27b4\0\u2808\0\u285c\0\u28b0\0\u2904\0\u2958\0\u29ac"
- + "\0\u2a00\0\u2a54\0\u2aa8\0\u2afc\0\u2b50\0\u2ba4\0\u2bf8\0\u2c4c"
- + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"
- + "\0\u01f8\0\u01f8\0\u2ca0\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"
- + "\0\u01f8\0\u2cf4\0\u01f8\0\u2d48\0\u1260\0\u2d9c\0\u2df0\0\u2e44"
- + "\0\u2e98\0\u2eec\0\u01f8\0\u01f8\0\u2cf4\0\u2d48\0\u2f40\0\u01f8"
- + "\0\u2f94\0\u2fe8\0\u01f8\0\u303c\0\u3090\0\u30e4\0\u01f8\0\u3138"
- + "\0\u01f8\0\u318c\0\u01f8\0\u01f8\0\u17f4\0\u31e0\0\u3234\0\u3288"
- + "\0\u3288\0\u32dc\0\u3330\0\u3384\0\u33d8\0\u342c\0\u3480\0\u34d4"
- + "\0\u3528\0\u357c\0\u039c\0\u35d0\0\u3624\0\u3678\0\u36cc\0\u3720"
- + "\0\u039c\0\u039c\0\u3774\0\u37c8\0\u381c\0\u3870\0\u38c4\0\u039c"
- + "\0\u3918\0\u396c\0\u39c0\0\u3a14\0\u3a68\0\u3abc\0\u3b10\0\u039c"
- + "\0\u3b64\0\u3bb8\0\u3c0c\0\u3c60\0\u3cb4\0\u3d08\0\u3d5c\0\u3db0"
- + "\0\u3e04\0\u3e58\0\u039c\0\u3eac\0\u3f00\0\u3f54\0\u3fa8\0\u3ffc"
- + "\0\u4050\0\u40a4\0\u40f8\0\u039c\0\u414c\0\u41a0\0\u41f4\0\u4248"
- + "\0\u429c\0\u42f0\0\u4344\0\u4398\0\u43ec\0\u4440\0\u4494\0\u44e8"
- + "\0\u453c\0\u4590\0\u45e4\0\u4638\0\u039c\0\u468c\0\u46e0\0\u4734"
- + "\0\u4788\0\u039c\0\u47dc\0\u4830\0\u01f8\0\u4884\0\u48d8\0\u492c"
- + "\0\u4980\0\u49d4\0\u4a28\0\u4a7c\0\u4ad0\0\u4b24\0\u4b78\0\u01f8"
- + "\0\u4bcc\0\u4c20\0\u4c74\0\u4cc8\0\u4d1c\0\u01f8\0\u4d70\0\u4dc4"
- + "\0\u4e18\0\u4e6c\0\u4ec0\0\u4f14\0\u039c\0\u039c\0\u039c\0\u4f68"
- + "\0\u039c\0\u4fbc\0\u039c\0\u5010\0\u5064\0\u50b8\0\u510c\0\u5160"
- + "\0\u51b4\0\u5208\0\u525c\0\u52b0\0\u5304\0\u5358\0\u53ac\0\u5400"
- + "\0\u039c\0\u5454\0\u039c\0\u54a8\0\u54fc\0\u5550\0\u55a4\0\u039c"
- + "\0\u55f8\0\u564c\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0\0\u5844"
- + "\0\u5898\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u5a90\0\u5ae4"
- + "\0\u5b38\0\u5b8c\0\u039c\0\u5be0\0\u5c34\0\u5c88\0\u5cdc\0\u5d30"
- + "\0\u5d84\0\u5dd8\0\u039c\0\u5e2c\0\u5e80\0\u5ed4\0\u5f28\0\u039c"
- + "\0\u5f7c\0\u5fd0\0\u6024\0\u6078\0\u60cc\0\u6120\0\u6174\0\u01f8"
- + "\0\u2d48\0\u01f8\0\u61c8\0\u621c\0\u01f8\0\u6270\0\u62c4\0\u6318"
- + "\0\u636c\0\u63c0\0\u6414\0\u6468\0\u64bc\0\u6510\0\u6564\0\u65b8"
- + "\0\u660c\0\u039c\0\u6660\0\u66b4\0\u6708\0\u675c\0\u039c\0\u039c"
- + "\0\u67b0\0\u039c\0\u6804\0\u6858\0\u68ac\0\u6900\0\u6954\0\u039c"
- + "\0\u69a8\0\u69fc\0\u6a50\0\u6aa4\0\u6af8\0\u039c\0\u6b4c\0\u6ba0"
- + "\0\u6bf4\0\u039c\0\u6c48\0\u6c9c\0\u6cf0\0\u6d44\0\u6d98\0\u6dec"
- + "\0\u6e40\0\u6e94\0\u6ee8\0\u6f3c\0\u6f90\0\u6fe4\0\u039c\0\u7038"
- + "\0\u708c\0\u70e0\0\u7134\0\u7188\0\u71dc\0\u039c\0\u7230\0\u7284"
- + "\0\u72d8\0\u732c\0\u7380\0\u73d4\0\u039c\0\u7428\0\u039c\0\u747c"
- + "\0\u74d0\0\u7524\0\u7578\0\u75cc\0\u7620\0\u7674\0\u76c8\0\u771c"
- + "\0\u7770\0\u77c4\0\u7818\0\u786c\0\u78c0\0\u7914\0\u7968\0\u79bc"
- + "\0\u7a10\0\u039c\0\u7a64\0\u039c\0\u7ab8\0\u7b0c\0\u7b60\0\u039c"
- + "\0\u7bb4\0\u7c08\0\u039c\0\u039c\0\u7c5c\0\u7cb0\0\u7d04\0\u7d58"
- + "\0\u7dac\0\u7e00\0\u7e54\0\u039c\0\u7ea8\0\u7efc\0\u7f50\0\u7fa4"
- + "\0\u039c\0\u7ff8\0\u804c\0\u80a0\0\u80f4\0\u039c\0\u8148\0\u819c"
- + "\0\u81f0\0\u8244\0\u8298\0\u039c\0\u82ec\0\u8340\0\u8394\0\u83e8"
- + "\0\u843c\0\u8490\0\u84e4\0\u8538\0\u039c\0\u858c\0\u85e0\0\u039c"
- + "\0\u8634\0\u8688\0\u86dc\0\u039c\0\u039c\0\u8730\0\u8784\0\u87d8"
- + "\0\u6468\0\u882c\0\u8880\0\u88d4\0\u039c\0\u8928\0\u897c\0\u89d0"
- + "\0\u8a24\0\u8a78\0\u039c\0\u8acc\0\u8b20\0\u8b74\0\u8bc8\0\u8c1c"
- + "\0\u8c70\0\u8cc4\0\u8d18\0\u8d6c\0\u8dc0\0\u8e14\0\u8e68\0\u039c"
- + "\0\u8ebc\0\u039c\0\u8f10\0\u039c\0\u8f64\0\u8fb8\0\u900c\0\u9060"
- + "\0\u90b4\0\u9108\0\u915c\0\u039c\0\u039c\0\u91b0\0\u9204\0\u9258"
- + "\0\u92ac\0\u9300\0\u9354\0\u77c4\0\u93a8\0\u93fc\0\u9450\0\u039c"
- + "\0\u94a4\0\u94f8\0\u039c\0\u039c\0\u954c\0\u95a0\0\u95f4\0\u9648"
- + "\0\u969c\0\u96f0\0\u039c\0\u9744\0\u9798\0\u97ec\0\u9840\0\u9894"
- + "\0\u98e8\0\u993c\0\u039c\0\u9990\0\u99e4\0\u9a38\0\u9a8c\0\u9ae0"
- + "\0\u039c\0\u9b34\0\u039c\0\u039c\0\u9b88\0\u9bdc\0\u9c30\0\u039c"
- + "\0\u9c84\0\u9cd8\0\u9d2c\0\u039c\0\u9d80\0\u039c\0\u039c\0\u9dd4"
- + "\0\u9e28\0\u9e7c\0\u9ed0\0\u039c\0\u9f24\0\u9f78\0\u039c\0\u9fcc"
- + "\0\ua020\0\u039c\0\ua074\0\ua0c8\0\u039c\0\u039c\0\ua11c\0\ua170"
- + "\0\ua1c4\0\ua218\0\ua26c\0\u01f8\0\ua2c0\0\ua314\0\ua368\0\u039c"
- + "\0\u039c\0\ua3bc\0\u039c\0\ua410\0\u039c\0\ua464\0\ua4b8\0\ua50c"
- + "\0\ua560\0\ua5b4\0\ua608\0\u039c\0\ua65c\0\ua6b0\0\ua704\0\ua758"
- + "\0\ua7ac\0\ua800\0\ua854\0\ua8a8\0\ua8fc\0\ua950\0\ua9a4\0\ua9f8"
- + "\0\u039c\0\u039c\0\u039c\0\uaa4c\0\uaaa0\0\uaaf4\0\uab48\0\uab9c"
- + "\0\uabf0\0\uac44\0\u039c\0\uac98\0\uacec\0\uad40\0\uad94\0\u039c"
- + "\0\uade8\0\u039c\0\uae3c\0\uae90\0\uaee4\0\uaf38\0\uaf8c\0\uafe0"
- + "\0\ub034\0\u039c\0\ub088\0\ub0dc\0\ub130\0\ub184\0\u039c\0\ub1d8"
- + "\0\ub22c\0\ub280\0\ub2d4\0\u17a0\0\ub328\0\ub37c\0\u039c\0\u039c"
- + "\0\u039c\0\ub3d0\0\u039c";
+ private static final String ZZ_TRANS_PACKED_0 =
+ "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\7"+
+ "\1\16\1\17\1\20\1\21\1\12\1\22\1\23\1\24"+
+ "\1\25\2\15\2\25\1\15\1\26\1\7\1\27\1\30"+
+ "\1\31\1\32\1\33\1\34\1\15\1\35\1\36\1\37"+
+ "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47"+
+ "\1\15\1\50\1\15\1\51\1\52\1\15\1\53\2\15"+
+ "\1\54\12\15\1\55\1\56\1\57\1\60\1\61\1\62"+
+ "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72"+
+ "\1\73\1\74\1\75\1\76\1\77\1\7\1\12\1\7"+
+ "\1\100\1\101\1\102\13\100\1\103\10\100\1\104\74\100"+
+ "\1\105\1\101\1\102\24\105\1\106\1\103\73\105\1\7"+
+ "\1\107\1\110\1\111\2\7\1\112\4\7\1\113\1\114"+
+ "\4\7\2\112\2\7\1\112\4\7\46\112\22\7\1\111"+
+ "\1\7\1\115\1\116\1\117\7\115\1\120\111\115\1\121"+
+ "\1\101\1\102\24\121\1\122\1\121\1\123\72\121\126\0"+
+ "\1\11\124\0\1\12\10\0\1\12\105\0\1\12\5\0"+
+ "\1\124\1\125\7\0\1\126\123\0\1\127\114\0\2\15"+
+ "\7\0\7\15\4\0\46\15\23\0\1\15\10\0\1\130"+
+ "\124\0\1\131\1\132\4\0\2\133\2\0\2\133\105\0"+
+ "\1\134\3\0\1\135\1\136\1\0\1\137\3\0\2\134"+
+ "\2\0\1\134\4\0\46\134\37\0\1\140\1\0\1\141"+
+ "\123\0\1\142\117\0\1\133\5\0\1\143\1\144\1\145"+
+ "\1\0\1\146\1\147\1\150\6\0\1\150\22\0\1\145"+
+ "\55\0\1\133\5\0\2\25\2\0\2\25\1\150\6\0"+
+ "\1\150\104\0\1\151\10\0\1\152\126\0\1\153\100\0"+
+ "\2\15\7\0\7\15\4\0\1\15\1\154\44\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\155"+
+ "\1\156\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\3\15\1\157\12\15\1\160\5\15\1\161\1\162"+
+ "\20\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\6\15\1\163\1\15\1\164\35\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\165\3\15\1\166"+
+ "\6\15\1\167\1\15\1\170\25\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\171\6\15\1\172"+
+ "\1\15\1\173\3\15\1\174\26\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\1\15\1\175\44\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\176"+
+ "\1\177\7\15\1\200\32\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\1\15\1\201\1\202\1\203\3\15"+
+ "\1\204\10\15\1\205\1\15\1\206\23\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\6\15\1\207\1\15"+
+ "\1\210\4\15\1\211\5\15\1\212\22\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\10\15\1\213\35\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
+ "\1\214\4\15\1\215\3\15\1\216\6\15\1\217\23\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+
+ "\1\220\2\15\1\221\1\222\2\15\1\223\1\224\32\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
+ "\1\225\4\15\1\226\36\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\12\15\1\227\5\15\1\230\25\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
+ "\1\231\1\15\1\232\7\15\1\233\2\15\1\234\27\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\235"+
+ "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\236\3\15\1\237\36\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\240\4\15\1\241"+
+ "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\242\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\3\15\1\243\7\15\1\244\32\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\245"+
+ "\35\15\23\0\1\15\15\0\1\246\123\0\1\247\75\0"+
+ "\1\250\25\0\1\251\76\0\1\252\24\0\1\253\77\0"+
+ "\1\254\23\0\1\255\123\0\1\256\106\0\1\100\2\0"+
+ "\13\100\1\0\10\100\1\0\74\100\2\0\1\102\121\0"+
+ "\1\257\2\0\13\257\1\260\1\261\3\257\2\261\2\257"+
+ "\1\262\1\263\1\257\1\264\1\265\6\257\1\266\1\267"+
+ "\1\257\1\270\1\257\1\271\7\257\1\272\41\257\3\0"+
+ "\1\105\2\0\24\105\2\0\73\105\1\257\2\0\13\257"+
+ "\1\260\10\257\1\262\1\263\1\257\1\264\1\265\6\257"+
+ "\1\266\1\267\1\257\1\270\1\257\1\271\7\257\1\272"+
+ "\41\257\5\0\1\110\124\0\1\111\10\0\1\111\105\0"+
+ "\1\111\7\0\2\273\1\274\3\0\1\275\1\276\1\0"+
+ "\7\273\4\0\46\273\23\0\1\273\3\0\1\111\2\0"+
+ "\1\273\5\0\1\114\4\0\2\273\2\0\1\273\4\0"+
+ "\46\273\22\0\1\111\3\0\1\117\125\0\1\277\1\0"+
+ "\1\300\12\0\2\300\2\0\1\300\4\0\46\300\24\0"+
+ "\1\121\2\0\24\121\1\0\1\121\1\0\72\121\1\301"+
+ "\2\0\24\301\1\262\1\301\1\302\1\264\1\265\6\301"+
+ "\1\266\1\267\1\301\1\303\1\301\1\271\7\301\1\304"+
+ "\41\301\3\0\1\124\1\305\1\306\121\124\5\307\1\310"+
+ "\116\307\11\0\1\311\120\0\1\312\12\0\2\312\2\0"+
+ "\1\312\4\0\46\312\43\0\2\133\2\0\2\133\1\150"+
+ "\6\0\1\150\75\0\1\313\1\134\1\314\2\0\1\315"+
+ "\1\316\2\0\2\134\2\313\2\134\1\313\4\0\46\313"+
+ "\23\0\1\134\15\0\1\317\121\0\1\320\1\0\1\321"+
+ "\123\0\1\322\117\0\1\133\5\0\1\143\1\144\2\0"+
+ "\1\146\1\147\1\150\6\0\1\150\100\0\1\133\5\0"+
+ "\2\144\2\0\2\144\1\150\6\0\1\150\106\0\1\323"+
+ "\1\324\1\0\4\324\4\0\1\324\1\0\2\324\1\0"+
+ "\1\324\6\0\2\324\12\0\1\324\1\0\1\324\5\0"+
+ "\2\324\41\0\1\133\5\0\1\147\1\144\2\0\2\147"+
+ "\1\150\6\0\1\150\100\0\1\133\5\0\1\325\1\144"+
+ "\2\0\2\325\1\150\6\0\1\150\106\0\2\326\2\0"+
+ "\2\326\1\0\1\327\66\0\1\327\14\0\1\330\12\0"+
+ "\2\330\2\0\1\330\4\0\46\330\32\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\331\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\332\11\15\1\333"+
+ "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\10\15\1\334\35\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\5\15\1\335\40\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\6\15\1\336\37\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\337"+
+ "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\340\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\14\15\1\341\31\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\6\15\1\342\2\15\1\343"+
+ "\4\15\1\344\27\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\10\15\1\345\35\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\346\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\347"+
+ "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\350\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\3\15\1\351\3\15\1\352\36\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\353\20\15"+
+ "\1\354\24\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\12\15\1\355\33\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\14\15\1\356\31\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\17\15\1\357\5\15"+
+ "\1\360\20\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\23\15\1\361\22\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\16\15\1\362\27\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\3\15\1\363\7\15"+
+ "\1\364\6\15\1\365\23\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\16\15\1\366\27\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\15\1\367\44\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"+
+ "\1\370\17\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\1\15\1\371\10\15\1\372\33\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\21\15\1\373\24\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+
+ "\1\374\2\15\1\375\34\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\32\15\1\376\13\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\21\15\1\377\24\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"+
+ "\1\u0100\1\15\1\u0101\27\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\15\15\1\u0102\1\u0103\27\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u0104"+
+ "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\10\15\1\u0105\35\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\16\15\1\u0106\27\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\5\15\1\u0107\40\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0108"+
+ "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\10\15\1\u0109\35\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\10\15\1\u010a\35\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\10\15\1\u010b\35\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u010c"+
+ "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\u010d\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\12\15\1\u010e\33\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u010f\4\15\1\u0110"+
+ "\2\15\1\u0111\33\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\5\15\1\u0112\40\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\1\u0113\45\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0114\42\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"+
+ "\1\u0115\1\u0116\1\u0117\6\15\1\u0118\27\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\15\1\u0119\44\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+
+ "\1\u011a\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\11\15\1\u011b\34\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\11\15\1\u011c\34\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\15\1\u011d\44\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\44\15"+
+ "\1\u011e\1\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\23\15\1\u011f\22\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\15\15\1\u0120\30\15\23\0\1\15"+
+ "\15\0\1\u0121\125\0\1\u0122\3\0\2\u0122\116\0\2\u0123"+
+ "\1\0\4\u0123\4\0\1\u0123\1\0\2\u0123\1\0\1\u0123"+
+ "\6\0\2\u0123\12\0\1\u0123\1\0\1\u0123\5\0\2\u0123"+
+ "\47\0\2\u0124\1\0\4\u0124\4\0\1\u0124\1\0\2\u0124"+
+ "\1\0\1\u0124\6\0\2\u0124\12\0\1\u0124\1\0\1\u0124"+
+ "\5\0\2\u0124\36\0\1\u0125\12\0\2\u0125\2\0\1\u0125"+
+ "\4\0\46\u0125\40\0\1\275\1\276\122\0\1\276\1\0"+
+ "\1\u0126\113\0\1\u0127\12\0\2\u0127\2\0\1\u0127\4\0"+
+ "\46\u0127\32\0\1\u0128\1\300\1\u0129\2\0\1\115\1\u012a"+
+ "\2\0\2\300\2\u0128\2\300\1\u0128\4\0\46\u0128\23\0"+
+ "\1\300\2\0\1\306\121\0\5\307\1\u012b\116\307\4\0"+
+ "\1\306\1\310\124\0\2\312\3\0\1\u012c\3\0\7\312"+
+ "\4\0\46\312\23\0\1\312\6\0\2\313\1\u012d\2\0"+
+ "\1\315\1\u012e\1\u012f\1\0\7\313\4\0\46\313\23\0"+
+ "\1\313\6\0\1\u0130\12\0\2\u0130\2\0\1\u0130\4\0"+
+ "\46\u0130\32\0\1\u0131\5\0\1\316\4\0\2\u0131\2\0"+
+ "\1\u0131\4\0\46\u0131\41\0\1\u0132\125\0\2\u0133\1\0"+
+ "\4\u0133\4\0\1\u0133\1\0\2\u0133\1\0\1\u0133\6\0"+
+ "\2\u0133\12\0\1\u0133\1\0\1\u0133\5\0\2\u0133\41\0"+
+ "\1\133\5\0\1\u0134\1\144\2\0\2\u0134\1\150\6\0"+
+ "\1\150\106\0\2\326\2\0\2\326\105\0\2\330\7\0"+
+ "\7\330\4\0\46\330\23\0\1\330\6\0\2\15\7\0"+
+ "\7\15\4\0\3\15\1\u0135\42\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\13\15\1\u0136\32\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u0137"+
+ "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\14\15\1\u0138\31\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\20\15\1\u0139\25\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u013a\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u013b"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u013c\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u013d\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\5\15\1\u013e\40\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u013f"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\6\15\1\u0140\2\15\1\u0141\34\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\6\15\1\u0142\37\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0143"+
+ "\7\15\1\u0144\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\21\15\1\u0145\24\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\6\15\1\u0146\37\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0147"+
+ "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\u0148\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\16\15\1\u0149\27\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u014a\34\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u014b"+
+ "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\16\15\1\u014c\27\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\5\15\1\u014d\40\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u014e\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u014f"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\26\15\1\u0150\17\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\26\15\1\u0151\17\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\7\15\1\u0152\36\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u0153"+
+ "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u0154\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\11\15\1\u0155\34\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u0156\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0157"+
+ "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\7\15\1\u0158\6\15\1\u0159\27\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u015a\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u015b"+
+ "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\u015c\42\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u015d\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\16\15\1\u015e\27\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u015f"+
+ "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\6\15\1\u0160\37\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\7\15\1\u0161\36\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u0162\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u0163"+
+ "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\26\15\1\u0164\17\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\14\15\1\u0165\31\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\20\15\1\u0166\25\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0167"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\24\15\1\u0168\21\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\11\15\1\u0169\34\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\10\15\1\u016a\13\15\1\u016b"+
+ "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\4\15\1\u016c\41\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\16\15\1\u016d\27\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\22\15\1\u016e\23\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\20\15\1\u016f"+
+ "\25\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\13\15\1\u0170\32\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\1\15\1\u0171\44\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u0172\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u0173"+
+ "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\27\15\1\u0174\3\15\1\u0175\6\15\1\u0176\3\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u0177"+
+ "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\12\15\1\u0178\33\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\1\u0179\45\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\12\15\1\u017a\33\15\23\0\1\15"+
+ "\17\0\1\u017b\3\0\2\u017b\116\0\2\u017c\1\0\4\u017c"+
+ "\4\0\1\u017c\1\0\2\u017c\1\0\1\u017c\6\0\2\u017c"+
+ "\12\0\1\u017c\1\0\1\u017c\5\0\2\u017c\47\0\2\u017d"+
+ "\1\0\4\u017d\4\0\1\u017d\1\0\2\u017d\1\0\1\u017d"+
+ "\6\0\2\u017d\12\0\1\u017d\1\0\1\u017d\5\0\2\u017d"+
+ "\36\0\2\u0125\4\0\1\275\1\276\1\0\7\u0125\4\0"+
+ "\46\u0125\23\0\1\u0125\1\u0126\2\0\13\u0126\1\u017e\105\u0126"+
+ "\6\0\2\u0127\1\u017f\2\0\1\u0180\3\0\7\u0127\4\0"+
+ "\46\u0127\23\0\1\u0127\6\0\2\u0128\1\u0181\2\0\1\115"+
+ "\1\u0182\1\u0183\1\0\7\u0128\4\0\46\u0128\23\0\1\u0128"+
+ "\6\0\1\u0184\12\0\2\u0184\2\0\1\u0184\4\0\46\u0184"+
+ "\32\0\1\u0185\5\0\1\u012a\4\0\2\u0185\2\0\1\u0185"+
+ "\4\0\46\u0185\24\0\4\307\1\306\1\u012b\116\307\6\0"+
+ "\1\u0186\12\0\2\u0186\2\0\1\u0186\4\0\46\u0186\32\0"+
+ "\1\u0131\5\0\1\u012e\1\u012f\3\0\2\u0131\2\0\1\u0131"+
+ "\4\0\46\u0131\40\0\1\u012f\1\0\1\u0187\113\0\1\u0188"+
+ "\1\u0130\3\0\1\315\1\316\2\0\2\u0130\2\u0188\2\u0130"+
+ "\1\u0188\4\0\46\u0188\23\0\1\u0130\6\0\2\u0131\1\u0189"+
+ "\3\0\1\u018a\1\u012f\1\0\7\u0131\4\0\46\u0131\23\0"+
+ "\1\u0131\17\0\2\u018b\1\0\4\u018b\4\0\1\u018b\1\0"+
+ "\2\u018b\1\0\1\u018b\6\0\2\u018b\12\0\1\u018b\1\0"+
+ "\1\u018b\5\0\2\u018b\41\0\1\133\5\0\1\u018c\1\144"+
+ "\2\0\2\u018c\1\150\6\0\1\150\75\0\2\15\7\0"+
+ "\7\15\4\0\4\15\1\u018d\41\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\1\15\1\u018e\44\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u018f"+
+ "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\7\15\1\u0190\36\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\10\15\1\u0191\35\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\20\15\1\u0192\25\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0193"+
+ "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\12\15\1\u0194\33\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\6\15\1\u0195\37\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u0196\34\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u0197"+
+ "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\30\15\1\u0198\10\15\1\u0199\4\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u019a\34\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u019b"+
+ "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\5\15\1\u019c\40\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\12\15\1\u019d\33\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\32\15\1\u019e\13\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u019f"+
+ "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u01a0\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\33\15\1\u01a1\12\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u01a2\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u01a3"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\17\15\1\u01a4\26\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\7\15\1\u01a5\36\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u01a6\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01a7"+
+ "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\u01a8\42\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\1\15\1\u01a9\44\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u01aa\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\15\15\1\u01ab"+
+ "\30\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\u01ac\42\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\13\15\1\u01ad\32\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u01ae\34\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01af"+
+ "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\23\15\1\u01b0\22\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u01b1\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\23\15\1\u01b2\22\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u01b3"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\u01b4\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\11\15\1\u01b5\34\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\37\15\1\u01b6\2\15\1\u01b7"+
+ "\3\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u01b8\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\32\15\1\u01b9\13\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\2\15\1\u01ba\43\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u01bb"+
+ "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\u01bc\42\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\3\15\1\u01bd\42\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\12\15\1\u01be\33\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01bf"+
+ "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\1\u01c0\45\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\14\15\1\u01c1\31\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\10\15\1\u01c2\35\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\15\1\u01c3\44\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+
+ "\1\u01c4\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u01c5\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\30\15\1\u01c6\15\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01c7\35\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
+ "\1\u01c8\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\10\15\1\u01c9\35\15\23\0\1\15\1\u0126\2\0"+
+ "\11\u0126\1\u017e\1\u0126\1\u017e\105\u0126\6\0\1\u01ca\12\0"+
+ "\2\u01ca\2\0\1\u01ca\4\0\46\u01ca\32\0\1\u01cb\12\0"+
+ "\2\u01cb\2\0\1\u01cb\4\0\46\u01cb\32\0\1\u0185\5\0"+
+ "\1\u0182\1\u0183\3\0\2\u0185\2\0\1\u0185\4\0\46\u0185"+
+ "\40\0\1\u0183\1\0\1\u01cc\113\0\1\u01cd\1\u0184\3\0"+
+ "\1\115\1\u012a\2\0\2\u0184\2\u01cd\2\u0184\1\u01cd\4\0"+
+ "\46\u01cd\23\0\1\u0184\6\0\2\u0185\1\u01ce\3\0\1\u01cf"+
+ "\1\u0183\1\0\7\u0185\4\0\46\u0185\23\0\1\u0185\6\0"+
+ "\1\u0188\1\u0186\3\0\1\315\1\u012e\1\u012f\1\0\2\u0186"+
+ "\2\u0188\2\u0186\1\u0188\4\0\46\u0188\23\0\1\u0186\1\u0187"+
+ "\2\0\13\u0187\1\u01d0\105\u0187\6\0\2\u0188\1\u0189\2\0"+
+ "\1\315\1\u012e\1\u012f\1\0\7\u0188\4\0\46\u0188\23\0"+
+ "\1\u0188\6\0\1\u01d1\12\0\2\u01d1\2\0\1\u01d1\4\0"+
+ "\46\u01d1\40\0\1\u018a\1\u012f\125\0\2\u01d2\1\0\4\u01d2"+
+ "\4\0\1\u01d2\1\0\2\u01d2\1\0\1\u01d2\6\0\2\u01d2"+
+ "\12\0\1\u01d2\1\0\1\u01d2\5\0\2\u01d2\41\0\1\133"+
+ "\5\0\1\u01d3\1\144\2\0\2\u01d3\1\150\6\0\1\150"+
+ "\75\0\2\15\7\0\7\15\4\0\10\15\1\u01d4\35\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
+ "\1\u01d5\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\23\15\1\u01d6\22\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\14\15\1\u01d7\31\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01d8\35\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\41\15"+
+ "\1\u01d9\4\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\5\15\1\u01da\40\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\16\15\1\u01db\27\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\15\1\u01dc\44\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
+ "\1\u01dd\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\20\15\1\u01de\25\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\10\15\1\u01df\35\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\15\1\u01e0\44\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\21\15"+
+ "\1\u01e1\24\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\3\15\1\u01e2\42\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\11\15\1\u01e3\34\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\2\15\1\u01e4\43\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\15\15"+
+ "\1\u01e5\30\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\10\15\1\u01e6\35\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\15\15\1\u01e7\30\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\23\15\1\u01e8\22\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+
+ "\1\u01e9\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\23\15\1\u01ea\22\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\12\15\1\u01eb\33\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\14\15\1\u01ec\31\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+
+ "\1\u01ed\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u01ee\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\5\15\1\u01ef\40\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\12\15\1\u01f0\33\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+
+ "\1\u01f1\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\16\15\1\u01f2\27\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\12\15\1\u01f3\33\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\20\15\1\u01f4\25\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"+
+ "\1\u01f5\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\3\15\1\u01f6\42\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\1\15\1\u01f7\44\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\5\15\1\u01f8\40\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\30\15"+
+ "\1\u01f9\13\15\1\u01fa\1\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\11\15\1\u01fb\34\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\26\15\1\u01fc\17\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"+
+ "\1\u01fd\40\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\6\15\1\u01fe\37\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\26\15\1\u01ff\17\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\16\15\1\u0200\27\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+
+ "\1\u0201\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\1\15\1\u0202\44\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\10\15\1\u0203\35\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\26\15\1\u0204\17\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
+ "\1\u0205\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\12\15\1\u0206\33\15\23\0\1\15\6\0\2\u01ca"+
+ "\3\0\1\u0180\3\0\7\u01ca\4\0\46\u01ca\23\0\1\u01ca"+
+ "\6\0\1\u01cd\1\u01cb\3\0\1\115\1\u0182\1\u0183\1\0"+
+ "\2\u01cb\2\u01cd\2\u01cb\1\u01cd\4\0\46\u01cd\23\0\1\u01cb"+
+ "\1\u01cc\2\0\13\u01cc\1\u0207\105\u01cc\6\0\2\u01cd\1\u01ce"+
+ "\2\0\1\115\1\u0182\1\u0183\1\0\7\u01cd\4\0\46\u01cd"+
+ "\23\0\1\u01cd\6\0\1\u0208\12\0\2\u0208\2\0\1\u0208"+
+ "\4\0\46\u0208\40\0\1\u01cf\1\u0183\106\0\1\u0187\2\0"+
+ "\10\u0187\1\u0209\1\u01d0\1\u0187\1\u01d0\105\u0187\6\0\2\u01d1"+
+ "\4\0\1\u018a\1\u012f\1\0\7\u01d1\4\0\46\u01d1\23\0"+
+ "\1\u01d1\17\0\2\u020a\1\0\4\u020a\4\0\1\u020a\1\0"+
+ "\2\u020a\1\0\1\u020a\6\0\2\u020a\12\0\1\u020a\1\0"+
+ "\1\u020a\5\0\2\u020a\41\0\1\133\5\0\1\u020b\1\144"+
+ "\2\0\2\u020b\1\150\6\0\1\150\75\0\2\15\7\0"+
+ "\7\15\4\0\37\15\1\u020c\6\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\6\15\1\u020d\37\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u020e"+
+ "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\1\15\1\u020f\44\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\16\15\1\u0210\27\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u0211\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0212"+
+ "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\u0213\42\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\3\15\1\u0214\42\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\1\15\1\u0215\44\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\43\15\1\u0216"+
+ "\2\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\34\15\1\u0217\11\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\5\15\1\u0218\40\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u0219\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u021a"+
+ "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u021b\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\10\15\1\u021c\35\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\37\15\1\u021d\6\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u021e"+
+ "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\3\15\1\u021f\42\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\5\15\1\u0220\40\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u0221\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\22\15\1\u0222"+
+ "\23\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\7\15\1\u0223\36\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\24\15\1\u0224\21\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\1\15\1\u0225\44\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0226"+
+ "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\11\15\1\u0227\34\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\6\15\1\u0228\37\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\13\15\1\u0229\32\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u022a"+
+ "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u022b\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\11\15\1\u022c\34\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u022d\34\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u022e"+
+ "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\6\15\1\u022f\37\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\14\15\1\u0230\31\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u0231\34\15\23\0"+
+ "\1\15\1\u01cc\2\0\10\u01cc\1\u0232\1\u0207\1\u01cc\1\u0207"+
+ "\105\u01cc\6\0\2\u0208\4\0\1\u01cf\1\u0183\1\0\7\u0208"+
+ "\4\0\46\u0208\23\0\1\u0208\17\0\2\u0233\1\0\4\u0233"+
+ "\4\0\1\u0233\1\0\2\u0233\1\0\1\u0233\6\0\2\u0233"+
+ "\12\0\1\u0233\1\0\1\u0233\5\0\2\u0233\41\0\1\133"+
+ "\5\0\1\u0234\1\144\2\0\2\u0234\1\150\6\0\1\150"+
+ "\75\0\2\15\7\0\7\15\4\0\7\15\1\u0235\36\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
+ "\1\u0236\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\3\15\1\u0237\42\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\31\15\1\u0238\14\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\26\15\1\u0239\17\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+
+ "\1\u023a\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\5\15\1\u023b\40\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\26\15\1\u023c\17\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\3\15\1\u023d\42\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+
+ "\1\u023e\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u023f\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\5\15\1\u0240\40\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\36\15\1\u0241\7\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
+ "\1\u0242\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u0243\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\7\15\1\u0244\36\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\11\15\1\u0245\34\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
+ "\1\u0246\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\10\15\1\u0247\35\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\12\15\1\u0248\33\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0249\33\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+
+ "\1\u024a\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u024b\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\3\15\1\u024c\3\15\4\0\46\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\23\15\1\u024d\22\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
+ "\1\u024e\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\20\15\1\u024f\25\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\1\15\1\u0250\44\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0251\33\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\31\15"+
+ "\1\u0252\11\15\1\u0253\2\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\22\15\1\u0254\23\15\23\0\1\15"+
+ "\17\0\2\u0255\1\0\4\u0255\4\0\1\u0255\1\0\2\u0255"+
+ "\1\0\1\u0255\6\0\2\u0255\12\0\1\u0255\1\0\1\u0255"+
+ "\5\0\2\u0255\41\0\1\133\5\0\1\u0256\1\144\2\0"+
+ "\2\u0256\1\150\6\0\1\150\75\0\2\15\7\0\7\15"+
+ "\4\0\24\15\1\u0257\21\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\26\15\1\u0258\17\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0259\36\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
+ "\1\u025a\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u025b\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\2\15\1\u025c\43\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\11\15\1\u025d\34\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"+
+ "\1\u025e\17\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\7\15\1\u025f\36\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\2\15\1\u0260\43\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0261\36\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+
+ "\1\u0262\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\14\15\1\u0263\31\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\24\15\1\u0264\21\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0265\43\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"+
+ "\1\u0266\31\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\2\15\1\u0267\43\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\3\15\1\u0268\42\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0269\43\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"+
+ "\1\u026a\31\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\12\15\1\u026b\33\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\12\15\1\u026c\33\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\7\15\1\u026d\36\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+
+ "\1\u026e\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\16\15\1\u026f\27\15\23\0\1\15\17\0\2\u0270"+
+ "\1\0\4\u0270\4\0\1\u0270\1\0\2\u0270\1\0\1\u0270"+
+ "\6\0\2\u0270\12\0\1\u0270\1\0\1\u0270\5\0\2\u0270"+
+ "\41\0\1\133\5\0\1\u0271\1\144\2\0\2\u0271\1\150"+
+ "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\12\15"+
+ "\1\u0272\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\13\15\1\u0273\32\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\11\15\1\u0274\34\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\20\15\1\u0275\25\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\20\15"+
+ "\1\u0276\25\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\15\15\1\u0277\30\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\3\15\1\u0278\42\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\6\15\1\u0279\37\15"+
+ "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+
+ "\1\u027a\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
+ "\4\0\37\15\1\u027b\6\15\23\0\1\15\6\0\2\15"+
+ "\7\0\7\15\4\0\44\15\1\u027c\1\15\23\0\1\15"+
+ "\6\0\2\15\7\0\7\15\4\0\1\u027d\45\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u027e"+
+ "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\10\15\1\u027f\35\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\10\15\1\u0280\35\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\7\15\1\u0281\36\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0282"+
+ "\42\15\23\0\1\15\11\0\1\133\5\0\1\u0283\1\144"+
+ "\2\0\2\u0283\1\150\6\0\1\150\75\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u0284\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\10\15\1\u0285\35\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\35\15\1\u0286"+
+ "\10\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\14\15\1\u0287\31\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u0288\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\7\15\1\u0289\36\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u028a"+
+ "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\16\15\1\u028b\27\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\23\15\1\u028c\22\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\26\15\1\u028d\17\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u028e"+
+ "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\22\15\1\u028f\23\15\23\0\1\15\11\0\1\133\5\0"+
+ "\1\u0290\1\144\2\0\2\u0290\1\150\6\0\1\150\75\0"+
+ "\2\15\7\0\7\15\4\0\40\15\1\u0291\5\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u0292"+
+ "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\13\15\1\u0293\32\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u0294\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\44\15\1\u0295\1\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u0296"+
+ "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\23\15\1\u0297\22\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\2\15\1\u0298\43\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u0299\42\15\23\0"+
+ "\1\15\11\0\1\133\5\0\1\u029a\1\144\2\0\2\u029a"+
+ "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"+
+ "\16\15\1\u029b\27\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\6\15\1\u029c\37\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\3\15\1\u029d\42\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u029e"+
+ "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\13\15\1\u029f\32\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\12\15\1\u02a0\33\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\6\15\1\u02a1\37\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u02a2"+
+ "\24\15\23\0\1\15\11\0\1\133\5\0\1\u02a3\1\144"+
+ "\2\0\2\u02a3\1\150\6\0\1\150\75\0\2\15\7\0"+
+ "\7\15\4\0\12\15\1\u02a4\33\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\16\15\1\u02a5\27\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u02a6"+
+ "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\2\15\1\u02a7\43\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\44\15\1\u02a8\1\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\44\15\1\u02a9\1\15\23\0"+
+ "\1\15\11\0\1\133\5\0\1\u02aa\1\144\2\0\2\u02aa"+
+ "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"+
+ "\21\15\1\u02ab\24\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\12\15\1\u02ac\33\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\40\15\1\u02ad\5\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u02ae"+
+ "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\13\15\1\u02af\32\15\23\0\1\15\11\0\1\133\5\0"+
+ "\1\u02b0\1\144\2\0\2\u02b0\1\150\6\0\1\150\75\0"+
+ "\2\15\7\0\7\15\4\0\11\15\1\u02b1\34\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u02b2"+
+ "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\23\15\1\u02b3\22\15\23\0\1\15\6\0\2\15\7\0"+
+ "\7\15\4\0\23\15\1\u02b4\22\15\23\0\1\15\6\0"+
+ "\2\15\7\0\7\15\4\0\22\15\1\u02b5\23\15\23\0"+
+ "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u02b6"+
+ "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
+ "\21\15\1\u02b7\24\15\23\0\1\15";
- private static int[] zzUnpackRowMap() {
- int[] result = new int[707];
- int offset = 0;
- offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
- return result;
+ private static int [] zzUnpackTrans() {
+ int [] result = new int[45360];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
+
+ private static int zzUnpackTrans(String packed, int offset, int [] result) {
+ int i = 0; /* index in packed string */
+ int j = offset; /* index in unpacked array */
+ int l = packed.length();
+ while (i < l) {
+ int count = packed.charAt(i++);
+ int value = packed.charAt(i++);
+ value--;
+ do result[j++] = value; while (--count > 0);
}
+ return j;
+ }
- private static int zzUnpackRowMap(String packed, int offset, int[] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
+ /* error codes */
+ private static final int ZZ_UNKNOWN_ERROR = 0;
+ private static final int ZZ_NO_MATCH = 1;
+ private static final int ZZ_PUSHBACK_2BIG = 2;
- int l = packed.length();
- while (i < l) {
- int high = packed.charAt(i++) << 16;
- result[j++] = high | packed.charAt(i++);
- }
- return j;
+ /* error messages for the codes above */
+ private static final String ZZ_ERROR_MSG[] = {
+ "Unkown internal scanner error",
+ "Error: could not match input",
+ "Error: pushback value was too large"
+ };
+
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
+
+ private static final String ZZ_ATTRIBUTE_PACKED_0 =
+ "\6\0\1\11\1\1\1\11\11\1\1\11\3\1\1\11"+
+ "\27\1\10\11\1\1\2\11\5\1\1\11\2\1\2\11"+
+ "\4\1\1\11\2\1\1\11\1\1\1\11\1\1\1\11"+
+ "\3\1\1\11\1\1\1\0\3\11\2\0\1\1\1\0"+
+ "\1\1\2\11\1\1\1\11\3\1\1\0\2\1\1\0"+
+ "\2\11\1\0\73\1\12\11\1\1\6\11\1\1\1\11"+
+ "\1\1\6\0\2\11\3\1\1\11\2\0\1\11\3\0"+
+ "\1\11\1\0\1\11\1\1\2\11\4\1\1\0\111\1"+
+ "\1\11\12\0\1\11\5\0\1\11\110\1\1\11\1\0"+
+ "\1\11\1\1\1\0\1\11\12\0\77\1\10\0\65\1"+
+ "\2\0\147\1\1\11\107\1";
+
+ private static int [] zzUnpackAttribute() {
+ int [] result = new int[695];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
+
+ private static int zzUnpackAttribute(String packed, int offset, int [] result) {
+ int i = 0; /* index in packed string */
+ int j = offset; /* index in unpacked array */
+ int l = packed.length();
+ while (i < l) {
+ int count = packed.charAt(i++);
+ int value = packed.charAt(i++);
+ do result[j++] = value; while (--count > 0);
}
+ return j;
+ }
- /**
- * The transition table of the DFA
- */
- private static final int[] ZZ_TRANS = zzUnpackTrans();
+ /** the input device */
+ private java.io.Reader zzReader;
- private static final String ZZ_TRANS_PACKED_0
- = "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\7"
- + "\1\16\1\17\1\20\1\21\1\12\1\22\1\23\1\24"
- + "\1\25\2\15\2\25\1\15\1\26\1\7\1\27\1\30"
- + "\1\31\1\32\1\33\1\34\1\15\1\35\1\36\1\37"
- + "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47"
- + "\1\15\1\50\1\15\1\51\1\52\1\15\1\53\2\15"
- + "\1\54\12\15\1\55\1\56\1\57\1\60\1\61\1\62"
- + "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72"
- + "\1\73\1\74\1\75\1\76\1\77\1\7\1\12\1\7"
- + "\1\100\1\101\1\102\13\100\1\103\10\100\1\104\74\100"
- + "\1\105\1\101\1\102\24\105\1\106\1\103\73\105\1\7"
- + "\1\107\1\110\1\111\2\7\1\112\4\7\1\113\1\114"
- + "\4\7\2\112\2\7\1\112\4\7\46\112\22\7\1\111"
- + "\1\7\1\115\1\116\1\117\7\115\1\120\111\115\1\121"
- + "\1\101\1\102\24\121\1\122\1\121\1\123\72\121\126\0"
- + "\1\11\124\0\1\12\10\0\1\12\105\0\1\12\5\0"
- + "\1\124\1\125\7\0\1\126\123\0\1\127\114\0\2\15"
- + "\7\0\7\15\4\0\46\15\23\0\1\15\10\0\1\130"
- + "\124\0\1\131\1\132\4\0\2\133\2\0\2\133\105\0"
- + "\1\134\3\0\1\135\1\136\1\0\1\137\3\0\2\134"
- + "\2\0\1\134\4\0\46\134\37\0\1\140\1\0\1\141"
- + "\123\0\1\142\117\0\1\133\5\0\1\143\1\144\1\145"
- + "\1\0\1\146\1\147\1\150\6\0\1\150\22\0\1\145"
- + "\55\0\1\133\5\0\2\25\2\0\2\25\1\150\6\0"
- + "\1\150\104\0\1\151\10\0\1\152\126\0\1\153\100\0"
- + "\2\15\7\0\7\15\4\0\1\15\1\154\44\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\155"
- + "\1\156\42\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\3\15\1\157\12\15\1\160\5\15\1\161\1\162"
- + "\20\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\6\15\1\163\1\15\1\164\35\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\165\3\15\1\166"
- + "\6\15\1\167\1\15\1\170\25\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\171\6\15\1\172"
- + "\1\15\1\173\3\15\1\174\26\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\1\15\1\175\22\15\1\176"
- + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\177\1\200\7\15\1\201\32\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\1\15\1\202\1\203"
- + "\1\204\3\15\1\205\10\15\1\206\1\15\1\207\23\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"
- + "\1\210\1\15\1\211\4\15\1\212\5\15\1\213\22\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"
- + "\1\214\1\15\1\215\35\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\216\4\15\1\217\3\15"
- + "\1\220\6\15\1\221\23\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\3\15\1\222\2\15\1\223\1\224"
- + "\2\15\1\225\1\226\32\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\227\4\15\1\230\36\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"
- + "\1\231\5\15\1\232\25\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\15\1\233\1\15\1\234\7\15"
- + "\1\235\2\15\1\236\27\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\237\45\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\240\3\15\1\241"
- + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\242\4\15\1\243\36\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\244\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\245"
- + "\7\15\1\246\32\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\10\15\1\247\35\15\23\0\1\15\15\0"
- + "\1\250\123\0\1\251\75\0\1\252\25\0\1\253\76\0"
- + "\1\254\24\0\1\255\77\0\1\256\23\0\1\257\123\0"
- + "\1\260\106\0\1\100\2\0\13\100\1\0\10\100\1\0"
- + "\74\100\2\0\1\102\121\0\1\261\2\0\13\261\1\262"
- + "\1\263\3\261\2\263\2\261\1\264\1\265\1\261\1\266"
- + "\1\267\6\261\1\270\1\271\1\261\1\272\1\261\1\273"
- + "\7\261\1\274\41\261\3\0\1\105\2\0\24\105\2\0"
- + "\73\105\1\261\2\0\13\261\1\262\10\261\1\264\1\265"
- + "\1\261\1\266\1\267\6\261\1\270\1\271\1\261\1\272"
- + "\1\261\1\273\7\261\1\274\41\261\5\0\1\110\124\0"
- + "\1\111\10\0\1\111\105\0\1\111\7\0\2\275\1\276"
- + "\3\0\1\277\1\300\1\0\7\275\4\0\46\275\23\0"
- + "\1\275\3\0\1\111\2\0\1\275\5\0\1\114\4\0"
- + "\2\275\2\0\1\275\4\0\46\275\22\0\1\111\3\0"
- + "\1\117\125\0\1\301\1\0\1\302\12\0\2\302\2\0"
- + "\1\302\4\0\46\302\24\0\1\121\2\0\24\121\1\0"
- + "\1\121\1\0\72\121\1\303\2\0\24\303\1\264\1\303"
- + "\1\304\1\266\1\267\6\303\1\270\1\271\1\303\1\305"
- + "\1\303\1\273\7\303\1\306\41\303\3\0\1\124\1\307"
- + "\1\310\121\124\5\311\1\312\116\311\11\0\1\313\120\0"
- + "\1\314\12\0\2\314\2\0\1\314\4\0\46\314\43\0"
- + "\2\133\2\0\2\133\1\150\6\0\1\150\75\0\1\315"
- + "\1\134\1\316\2\0\1\317\1\320\2\0\2\134\2\315"
- + "\2\134\1\315\4\0\46\315\23\0\1\134\15\0\1\321"
- + "\121\0\1\322\1\0\1\323\123\0\1\324\117\0\1\133"
- + "\5\0\1\143\1\144\2\0\1\146\1\147\1\150\6\0"
- + "\1\150\100\0\1\133\5\0\2\144\2\0\2\144\1\150"
- + "\6\0\1\150\106\0\1\325\1\326\1\0\4\326\4\0"
- + "\1\326\1\0\2\326\1\0\1\326\6\0\2\326\12\0"
- + "\1\326\1\0\1\326\5\0\2\326\41\0\1\133\5\0"
- + "\1\147\1\144\2\0\2\147\1\150\6\0\1\150\100\0"
- + "\1\133\5\0\1\327\1\144\2\0\2\327\1\150\6\0"
- + "\1\150\106\0\2\330\2\0\2\330\1\0\1\331\66\0"
- + "\1\331\14\0\1\332\12\0\2\332\2\0\1\332\4\0"
- + "\46\332\32\0\2\15\7\0\7\15\4\0\2\15\1\333"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\334\11\15\1\335\22\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\10\15\1\336\35\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\337"
- + "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\6\15\1\340\37\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\3\15\1\341\42\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\342\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\343"
- + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\6\15\1\344\2\15\1\345\4\15\1\346\27\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\347"
- + "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\3\15\1\350\42\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\1\15\1\351\44\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\352\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\353"
- + "\3\15\1\354\36\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\1\355\20\15\1\356\24\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\12\15\1\357\33\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"
- + "\1\360\31\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\2\15\1\361\43\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\17\15\1\362\5\15\1\363\20\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"
- + "\1\364\22\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\16\15\1\365\27\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\3\15\1\366\7\15\1\367\6\15"
- + "\1\370\23\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\16\15\1\371\27\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\15\1\372\44\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\26\15\1\373\17\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"
- + "\1\374\10\15\1\375\33\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\21\15\1\376\24\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\6\15\1\377\2\15"
- + "\1\u0100\34\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\32\15\1\u0101\13\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\21\15\1\u0102\24\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0103\43\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"
- + "\1\u0104\1\15\1\u0105\27\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\15\15\1\u0106\1\u0107\27\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u0108"
- + "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\10\15\1\u0109\35\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\16\15\1\u010a\27\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\5\15\1\u010b\40\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u010c"
- + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\10\15\1\u010d\35\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\10\15\1\u010e\35\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\10\15\1\u010f\35\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0110"
- + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\u0111\34\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u0112\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u0113\4\15\1\u0114"
- + "\2\15\1\u0115\33\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\5\15\1\u0116\40\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\1\u0117\45\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0118\42\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"
- + "\1\u0119\1\u011a\1\u011b\6\15\1\u011c\27\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u011d\44\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"
- + "\1\u011e\33\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\11\15\1\u011f\34\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\11\15\1\u0120\34\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u0121\44\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\44\15"
- + "\1\u0122\1\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\23\15\1\u0123\22\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\15\15\1\u0124\30\15\23\0\1\15"
- + "\15\0\1\u0125\125\0\1\u0126\3\0\2\u0126\116\0\2\u0127"
- + "\1\0\4\u0127\4\0\1\u0127\1\0\2\u0127\1\0\1\u0127"
- + "\6\0\2\u0127\12\0\1\u0127\1\0\1\u0127\5\0\2\u0127"
- + "\47\0\2\u0128\1\0\4\u0128\4\0\1\u0128\1\0\2\u0128"
- + "\1\0\1\u0128\6\0\2\u0128\12\0\1\u0128\1\0\1\u0128"
- + "\5\0\2\u0128\36\0\1\u0129\12\0\2\u0129\2\0\1\u0129"
- + "\4\0\46\u0129\40\0\1\277\1\300\122\0\1\300\1\0"
- + "\1\u012a\113\0\1\u012b\12\0\2\u012b\2\0\1\u012b\4\0"
- + "\46\u012b\32\0\1\u012c\1\302\1\u012d\2\0\1\115\1\u012e"
- + "\2\0\2\302\2\u012c\2\302\1\u012c\4\0\46\u012c\23\0"
- + "\1\302\2\0\1\310\121\0\5\311\1\u012f\116\311\4\0"
- + "\1\310\1\312\124\0\2\314\3\0\1\u0130\3\0\7\314"
- + "\4\0\46\314\23\0\1\314\6\0\2\315\1\u0131\2\0"
- + "\1\317\1\u0132\1\u0133\1\0\7\315\4\0\46\315\23\0"
- + "\1\315\6\0\1\u0134\12\0\2\u0134\2\0\1\u0134\4\0"
- + "\46\u0134\32\0\1\u0135\5\0\1\320\4\0\2\u0135\2\0"
- + "\1\u0135\4\0\46\u0135\41\0\1\u0136\125\0\2\u0137\1\0"
- + "\4\u0137\4\0\1\u0137\1\0\2\u0137\1\0\1\u0137\6\0"
- + "\2\u0137\12\0\1\u0137\1\0\1\u0137\5\0\2\u0137\41\0"
- + "\1\133\5\0\1\u0138\1\144\2\0\2\u0138\1\150\6\0"
- + "\1\150\106\0\2\330\2\0\2\330\105\0\2\332\7\0"
- + "\7\332\4\0\46\332\23\0\1\332\6\0\2\15\7\0"
- + "\7\15\4\0\3\15\1\u0139\42\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\13\15\1\u013a\32\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u013b"
- + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\14\15\1\u013c\31\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\20\15\1\u013d\25\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u013e\43\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u013f"
- + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u0140\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0141\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\5\15\1\u0142\40\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0143"
- + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\6\15\1\u0144\2\15\1\u0145\34\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\6\15\1\u0146\37\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0147"
- + "\7\15\1\u0148\34\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\21\15\1\u0149\24\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\6\15\1\u014a\37\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u014b"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\u014c\34\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\1\15\1\u014d\44\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\16\15\1\u014e\27\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u014f"
- + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u0150\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\16\15\1\u0151\27\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\5\15\1\u0152\40\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0153"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\16\15\1\u0154\27\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\26\15\1\u0155\17\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\26\15\1\u0156\17\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u0157"
- + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\6\15\1\u0158\37\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0159\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\u015a\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u015b"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\1\15\1\u015c\44\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\7\15\1\u015d\6\15\1\u015e\27\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u015f"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\7\15\1\u0160\36\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\3\15\1\u0161\42\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u0162\43\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0163"
- + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\3\15\1\u0164\42\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\6\15\1\u0165\37\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\7\15\1\u0166\36\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0167"
- + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\5\15\1\u0168\40\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\26\15\1\u0169\17\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\14\15\1\u016a\31\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\20\15\1\u016b"
- + "\25\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\16\15\1\u016c\27\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\24\15\1\u016d\21\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\u016e\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u016f"
- + "\13\15\1\u0170\21\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\4\15\1\u0171\41\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\16\15\1\u0172\27\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\22\15\1\u0173"
- + "\23\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\20\15\1\u0174\25\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\13\15\1\u0175\32\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\1\15\1\u0176\44\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0177"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\14\15\1\u0178\31\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\27\15\1\u0179\3\15\1\u017a\6\15\1\u017b"
- + "\3\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\7\15\1\u017c\36\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u017d\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\1\u017e\45\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u017f\33\15"
- + "\23\0\1\15\17\0\1\u0180\3\0\2\u0180\116\0\2\u0181"
- + "\1\0\4\u0181\4\0\1\u0181\1\0\2\u0181\1\0\1\u0181"
- + "\6\0\2\u0181\12\0\1\u0181\1\0\1\u0181\5\0\2\u0181"
- + "\47\0\2\u0182\1\0\4\u0182\4\0\1\u0182\1\0\2\u0182"
- + "\1\0\1\u0182\6\0\2\u0182\12\0\1\u0182\1\0\1\u0182"
- + "\5\0\2\u0182\36\0\2\u0129\4\0\1\277\1\300\1\0"
- + "\7\u0129\4\0\46\u0129\23\0\1\u0129\1\u012a\2\0\13\u012a"
- + "\1\u0183\105\u012a\6\0\2\u012b\1\u0184\2\0\1\u0185\3\0"
- + "\7\u012b\4\0\46\u012b\23\0\1\u012b\6\0\2\u012c\1\u0186"
- + "\2\0\1\115\1\u0187\1\u0188\1\0\7\u012c\4\0\46\u012c"
- + "\23\0\1\u012c\6\0\1\u0189\12\0\2\u0189\2\0\1\u0189"
- + "\4\0\46\u0189\32\0\1\u018a\5\0\1\u012e\4\0\2\u018a"
- + "\2\0\1\u018a\4\0\46\u018a\24\0\4\311\1\310\1\u012f"
- + "\116\311\6\0\1\u018b\12\0\2\u018b\2\0\1\u018b\4\0"
- + "\46\u018b\32\0\1\u0135\5\0\1\u0132\1\u0133\3\0\2\u0135"
- + "\2\0\1\u0135\4\0\46\u0135\40\0\1\u0133\1\0\1\u018c"
- + "\113\0\1\u018d\1\u0134\3\0\1\317\1\320\2\0\2\u0134"
- + "\2\u018d\2\u0134\1\u018d\4\0\46\u018d\23\0\1\u0134\6\0"
- + "\2\u0135\1\u018e\3\0\1\u018f\1\u0133\1\0\7\u0135\4\0"
- + "\46\u0135\23\0\1\u0135\17\0\2\u0190\1\0\4\u0190\4\0"
- + "\1\u0190\1\0\2\u0190\1\0\1\u0190\6\0\2\u0190\12\0"
- + "\1\u0190\1\0\1\u0190\5\0\2\u0190\41\0\1\133\5\0"
- + "\1\u0191\1\144\2\0\2\u0191\1\150\6\0\1\150\75\0"
- + "\2\15\7\0\7\15\4\0\4\15\1\u0192\41\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0193"
- + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\24\15\1\u0194\21\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\7\15\1\u0195\36\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\10\15\1\u0196\35\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\20\15\1\u0197"
- + "\25\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\u0198\34\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u0199\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\6\15\1\u019a\37\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u019b"
- + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\12\15\1\u019c\33\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\30\15\1\u019d\10\15\1\u019e\4\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u019f"
- + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\1\15\1\u01a0\44\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\5\15\1\u01a1\40\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\1\15\1\u01a2\44\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01a3"
- + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\32\15\1\u01a4\13\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\6\15\1\u01a5\37\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u01a6\43\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\33\15\1\u01a7"
- + "\12\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u01a8\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\16\15\1\u01a9\27\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\17\15\1\u01aa\26\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u01ab"
- + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\3\15\1\u01ac\42\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\1\15\1\u01ad\44\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u01ae\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01af"
- + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u01b0\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\15\15\1\u01b1\30\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u01b2\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u01b3"
- + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\u01b4\34\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u01b5\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\23\15\1\u01b6\22\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01b7"
- + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\23\15\1\u01b8\22\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\16\15\1\u01b9\27\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\u01ba\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u01bb"
- + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\37\15\1\u01bc\2\15\1\u01bd\3\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u01be\43\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\32\15\1\u01bf"
- + "\13\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u01c0\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\11\15\1\u01c1\34\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u01c2\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u01c3"
- + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\12\15\1\u01c4\33\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\1\15\1\u01c5\44\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\1\u01c6\45\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\14\15\1\u01c7\31\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
- + "\1\u01c8\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\1\15\1\u01c9\44\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\12\15\1\u01ca\33\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u01cb\43\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\30\15"
- + "\1\u01cc\15\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\10\15\1\u01cd\35\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u01ce\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01cf\35\15"
- + "\23\0\1\15\1\u012a\2\0\11\u012a\1\u0183\1\u012a\1\u0183"
- + "\105\u012a\6\0\1\u01d0\12\0\2\u01d0\2\0\1\u01d0\4\0"
- + "\46\u01d0\32\0\1\u01d1\12\0\2\u01d1\2\0\1\u01d1\4\0"
- + "\46\u01d1\32\0\1\u018a\5\0\1\u0187\1\u0188\3\0\2\u018a"
- + "\2\0\1\u018a\4\0\46\u018a\40\0\1\u0188\1\0\1\u01d2"
- + "\113\0\1\u01d3\1\u0189\3\0\1\115\1\u012e\2\0\2\u0189"
- + "\2\u01d3\2\u0189\1\u01d3\4\0\46\u01d3\23\0\1\u0189\6\0"
- + "\2\u018a\1\u01d4\3\0\1\u01d5\1\u0188\1\0\7\u018a\4\0"
- + "\46\u018a\23\0\1\u018a\6\0\1\u018d\1\u018b\3\0\1\317"
- + "\1\u0132\1\u0133\1\0\2\u018b\2\u018d\2\u018b\1\u018d\4\0"
- + "\46\u018d\23\0\1\u018b\1\u018c\2\0\13\u018c\1\u01d6\105\u018c"
- + "\6\0\2\u018d\1\u018e\2\0\1\317\1\u0132\1\u0133\1\0"
- + "\7\u018d\4\0\46\u018d\23\0\1\u018d\6\0\1\u01d7\12\0"
- + "\2\u01d7\2\0\1\u01d7\4\0\46\u01d7\40\0\1\u018f\1\u0133"
- + "\125\0\2\u01d8\1\0\4\u01d8\4\0\1\u01d8\1\0\2\u01d8"
- + "\1\0\1\u01d8\6\0\2\u01d8\12\0\1\u01d8\1\0\1\u01d8"
- + "\5\0\2\u01d8\41\0\1\133\5\0\1\u01d9\1\144\2\0"
- + "\2\u01d9\1\150\6\0\1\150\75\0\2\15\7\0\7\15"
- + "\4\0\10\15\1\u01da\35\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u01db\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u01dc\22\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"
- + "\1\u01dd\31\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\10\15\1\u01de\35\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\41\15\1\u01df\4\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u01e0\40\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
- + "\1\u01e1\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\1\15\1\u01e2\44\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\15\1\u01e3\44\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\20\15\1\u01e4\25\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"
- + "\1\u01e5\33\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\10\15\1\u01e6\35\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\15\1\u01e7\44\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\21\15\1\u01e8\24\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"
- + "\1\u01e9\42\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\11\15\1\u01ea\34\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u01eb\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\15\15\1\u01ec\30\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
- + "\1\u01ed\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\10\15\1\u01ee\4\15\1\u01ef\30\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u01f0\22\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"
- + "\1\u01f1\34\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\23\15\1\u01f2\22\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\12\15\1\u01f3\33\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\14\15\1\u01f4\31\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
- + "\1\u01f5\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\2\15\1\u01f6\43\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\5\15\1\u01f7\40\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u01f8\33\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"
- + "\1\u01f9\22\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\16\15\1\u01fa\27\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\12\15\1\u01fb\33\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\20\15\1\u01fc\25\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"
- + "\1\u01fd\36\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\3\15\1\u01fe\42\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\15\1\u01ff\44\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0200\40\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\30\15"
- + "\1\u0201\13\15\1\u0202\1\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\11\15\1\u0203\34\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\26\15\1\u0204\17\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"
- + "\1\u0205\40\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\6\15\1\u0206\37\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\26\15\1\u0207\17\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u0208\27\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"
- + "\1\u0209\22\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\1\15\1\u020a\44\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\10\15\1\u020b\35\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\26\15\1\u020c\17\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"
- + "\1\u020d\44\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\12\15\1\u020e\33\15\23\0\1\15\6\0\2\u01d0"
- + "\3\0\1\u0185\3\0\7\u01d0\4\0\46\u01d0\23\0\1\u01d0"
- + "\6\0\1\u01d3\1\u01d1\3\0\1\115\1\u0187\1\u0188\1\0"
- + "\2\u01d1\2\u01d3\2\u01d1\1\u01d3\4\0\46\u01d3\23\0\1\u01d1"
- + "\1\u01d2\2\0\13\u01d2\1\u020f\105\u01d2\6\0\2\u01d3\1\u01d4"
- + "\2\0\1\115\1\u0187\1\u0188\1\0\7\u01d3\4\0\46\u01d3"
- + "\23\0\1\u01d3\6\0\1\u0210\12\0\2\u0210\2\0\1\u0210"
- + "\4\0\46\u0210\40\0\1\u01d5\1\u0188\106\0\1\u018c\2\0"
- + "\10\u018c\1\u0211\1\u01d6\1\u018c\1\u01d6\105\u018c\6\0\2\u01d7"
- + "\4\0\1\u018f\1\u0133\1\0\7\u01d7\4\0\46\u01d7\23\0"
- + "\1\u01d7\17\0\2\u0212\1\0\4\u0212\4\0\1\u0212\1\0"
- + "\2\u0212\1\0\1\u0212\6\0\2\u0212\12\0\1\u0212\1\0"
- + "\1\u0212\5\0\2\u0212\41\0\1\133\5\0\1\u0213\1\144"
- + "\2\0\2\u0213\1\150\6\0\1\150\75\0\2\15\7\0"
- + "\7\15\4\0\37\15\1\u0214\6\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\6\15\1\u0215\37\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u0216"
- + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\1\15\1\u0217\44\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\16\15\1\u0218\27\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u0219\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u021a"
- + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u021b\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\3\15\1\u021c\42\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u021d\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u021e"
- + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\43\15\1\u021f\2\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\34\15\1\u0220\11\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\5\15\1\u0221\40\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0222"
- + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\3\15\1\u0223\42\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0224\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u0225\43\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u0226"
- + "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\37\15\1\u0227\6\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\11\15\1\u0228\34\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u0229\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u022a"
- + "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\3\15\1\u022b\42\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\22\15\1\u022c\23\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\7\15\1\u022d\36\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u022e"
- + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\1\15\1\u022f\44\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\3\15\1\u0230\42\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\u0231\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u0232"
- + "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\13\15\1\u0233\32\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0234\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\2\15\1\u0235\43\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0236"
- + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\u0237\34\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0238\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\6\15\1\u0239\37\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u023a"
- + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\11\15\1\u023b\34\15\23\0\1\15\1\u01d2\2\0\10\u01d2"
- + "\1\u023c\1\u020f\1\u01d2\1\u020f\105\u01d2\6\0\2\u0210\4\0"
- + "\1\u01d5\1\u0188\1\0\7\u0210\4\0\46\u0210\23\0\1\u0210"
- + "\17\0\2\u023d\1\0\4\u023d\4\0\1\u023d\1\0\2\u023d"
- + "\1\0\1\u023d\6\0\2\u023d\12\0\1\u023d\1\0\1\u023d"
- + "\5\0\2\u023d\41\0\1\133\5\0\1\u023e\1\144\2\0"
- + "\2\u023e\1\150\6\0\1\150\75\0\2\15\7\0\7\15"
- + "\4\0\7\15\1\u023f\36\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u0240\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0241\42\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\31\15"
- + "\1\u0242\14\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\26\15\1\u0243\17\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u0244\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u0245\22\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"
- + "\1\u0246\40\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\26\15\1\u0247\17\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\3\15\1\u0248\42\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0249\33\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
- + "\1\u024a\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\16\15\1\u024b\27\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\5\15\1\u024c\40\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\36\15\1\u024d\7\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
- + "\1\u024e\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\2\15\1\u024f\43\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\7\15\1\u0250\36\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u0251\34\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
- + "\1\u0252\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\10\15\1\u0253\35\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\12\15\1\u0254\33\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0255\33\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"
- + "\1\u0256\22\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\2\15\1\u0257\43\15\23\0\1\15\6\0\2\15"
- + "\7\0\3\15\1\u0258\3\15\4\0\46\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u0259\22\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"
- + "\1\u025a\44\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\20\15\1\u025b\25\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\1\15\1\u025c\44\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u025d\33\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\31\15"
- + "\1\u025e\11\15\1\u025f\2\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\22\15\1\u0260\23\15\23\0\1\15"
- + "\17\0\2\u0261\1\0\4\u0261\4\0\1\u0261\1\0\2\u0261"
- + "\1\0\1\u0261\6\0\2\u0261\12\0\1\u0261\1\0\1\u0261"
- + "\5\0\2\u0261\41\0\1\133\5\0\1\u0262\1\144\2\0"
- + "\2\u0262\1\150\6\0\1\150\75\0\2\15\7\0\7\15"
- + "\4\0\24\15\1\u0263\21\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\26\15\1\u0264\17\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0265\36\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
- + "\1\u0266\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\2\15\1\u0267\43\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u0268\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u0269\34\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"
- + "\1\u026a\17\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\7\15\1\u026b\36\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\2\15\1\u026c\43\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\7\15\1\u026d\36\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"
- + "\1\u026e\34\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\14\15\1\u026f\31\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\24\15\1\u0270\21\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0271\43\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"
- + "\1\u0272\31\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\2\15\1\u0273\43\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\3\15\1\u0274\42\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0275\43\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"
- + "\1\u0276\31\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\12\15\1\u0277\33\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\12\15\1\u0278\33\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0279\36\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"
- + "\1\u027a\34\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\16\15\1\u027b\27\15\23\0\1\15\17\0\2\u027c"
- + "\1\0\4\u027c\4\0\1\u027c\1\0\2\u027c\1\0\1\u027c"
- + "\6\0\2\u027c\12\0\1\u027c\1\0\1\u027c\5\0\2\u027c"
- + "\41\0\1\133\5\0\1\u027d\1\144\2\0\2\u027d\1\150"
- + "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\12\15"
- + "\1\u027e\33\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\13\15\1\u027f\32\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\11\15\1\u0280\34\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\20\15\1\u0281\25\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\20\15"
- + "\1\u0282\25\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\15\15\1\u0283\30\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\3\15\1\u0284\42\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\6\15\1\u0285\37\15"
- + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"
- + "\1\u0286\33\15\23\0\1\15\6\0\2\15\7\0\7\15"
- + "\4\0\37\15\1\u0287\6\15\23\0\1\15\6\0\2\15"
- + "\7\0\7\15\4\0\44\15\1\u0288\1\15\23\0\1\15"
- + "\6\0\2\15\7\0\7\15\4\0\1\u0289\45\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u028a"
- + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\10\15\1\u028b\35\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\10\15\1\u028c\35\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\7\15\1\u028d\36\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u028e"
- + "\42\15\23\0\1\15\11\0\1\133\5\0\1\u028f\1\144"
- + "\2\0\2\u028f\1\150\6\0\1\150\75\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0290\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\10\15\1\u0291\35\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\35\15\1\u0292"
- + "\10\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\14\15\1\u0293\31\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u0294\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\7\15\1\u0295\36\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u0296"
- + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\16\15\1\u0297\27\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\23\15\1\u0298\22\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\26\15\1\u0299\17\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u029a"
- + "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\22\15\1\u029b\23\15\23\0\1\15\11\0\1\133\5\0"
- + "\1\u029c\1\144\2\0\2\u029c\1\150\6\0\1\150\75\0"
- + "\2\15\7\0\7\15\4\0\40\15\1\u029d\5\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u029e"
- + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\13\15\1\u029f\32\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u02a0\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\44\15\1\u02a1\1\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u02a2"
- + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\23\15\1\u02a3\22\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\2\15\1\u02a4\43\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u02a5\42\15\23\0"
- + "\1\15\11\0\1\133\5\0\1\u02a6\1\144\2\0\2\u02a6"
- + "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"
- + "\16\15\1\u02a7\27\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\6\15\1\u02a8\37\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\3\15\1\u02a9\42\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u02aa"
- + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\13\15\1\u02ab\32\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u02ac\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\6\15\1\u02ad\37\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u02ae"
- + "\24\15\23\0\1\15\11\0\1\133\5\0\1\u02af\1\144"
- + "\2\0\2\u02af\1\150\6\0\1\150\75\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u02b0\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\16\15\1\u02b1\27\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u02b2"
- + "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\2\15\1\u02b3\43\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\44\15\1\u02b4\1\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\44\15\1\u02b5\1\15\23\0"
- + "\1\15\11\0\1\133\5\0\1\u02b6\1\144\2\0\2\u02b6"
- + "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"
- + "\21\15\1\u02b7\24\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\12\15\1\u02b8\33\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\40\15\1\u02b9\5\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u02ba"
- + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\13\15\1\u02bb\32\15\23\0\1\15\11\0\1\133\5\0"
- + "\1\u02bc\1\144\2\0\2\u02bc\1\150\6\0\1\150\75\0"
- + "\2\15\7\0\7\15\4\0\11\15\1\u02bd\34\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u02be"
- + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\23\15\1\u02bf\22\15\23\0\1\15\6\0\2\15\7\0"
- + "\7\15\4\0\23\15\1\u02c0\22\15\23\0\1\15\6\0"
- + "\2\15\7\0\7\15\4\0\22\15\1\u02c1\23\15\23\0"
- + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u02c2"
- + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
- + "\21\15\1\u02c3\24\15\23\0\1\15";
+ /** the current state of the DFA */
+ private int zzState;
- private static int[] zzUnpackTrans() {
- int[] result = new int[46116];
- int offset = 0;
- offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
- return result;
- }
+ /** the current lexical state */
+ private int zzLexicalState = YYINITIAL;
- private static int zzUnpackTrans(String packed, int offset, int[] result) {
- int i = 0; /* index in packed string */
+ /** this buffer contains the current text to be matched and is
+ the source of the yytext() string */
+ private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
- int j = offset; /* index in unpacked array */
+ /** the textposition at the last accepting state */
+ private int zzMarkedPos;
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- value--;
- do {
- result[j++] = value;
- } while (--count > 0);
- }
- return j;
- }
+ /** the current text position in the buffer */
+ private int zzCurrentPos;
+ /** startRead marks the beginning of the yytext() string in the buffer */
+ private int zzStartRead;
- /* error codes */
- private static final int ZZ_UNKNOWN_ERROR = 0;
+ /** endRead marks the last character in the buffer, that has been read
+ from input */
+ private int zzEndRead;
- private static final int ZZ_NO_MATCH = 1;
+ /** number of newlines encountered up to the start of the matched text */
+ private int yyline;
- private static final int ZZ_PUSHBACK_2BIG = 2;
+ /** the number of characters up to the start of the matched text */
+ private int yychar;
- /* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
- "Error: could not match input",
- "Error: pushback value was too large"
- };
+ /**
+ * the number of characters from the last newline up to the start of the
+ * matched text
+ */
+ private int yycolumn;
- /**
- * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
- */
- private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
+ /**
+ * zzAtBOL == true <=> the scanner is currently at the beginning of a line
+ */
+ private boolean zzAtBOL = true;
- private static final String ZZ_ATTRIBUTE_PACKED_0
- = "\6\0\1\11\1\1\1\11\11\1\1\11\3\1\1\11"
- + "\27\1\10\11\1\1\2\11\5\1\1\11\2\1\2\11"
- + "\4\1\1\11\2\1\1\11\1\1\1\11\1\1\1\11"
- + "\3\1\1\11\1\1\1\0\3\11\2\0\1\1\1\0"
- + "\1\1\2\11\1\1\1\11\3\1\1\0\2\1\1\0"
- + "\2\11\1\0\75\1\12\11\1\1\6\11\1\1\1\11"
- + "\1\1\6\0\2\11\3\1\1\11\2\0\1\11\3\0"
- + "\1\11\1\0\1\11\1\1\2\11\4\1\1\0\113\1"
- + "\1\11\12\0\1\11\5\0\1\11\111\1\1\11\1\0"
- + "\1\11\1\1\1\0\1\11\12\0\100\1\10\0\67\1"
- + "\2\0\153\1\1\11\107\1";
+ /** zzAtEOF == true <=> the scanner is at the EOF */
+ private boolean zzAtEOF;
- private static int[] zzUnpackAttribute() {
- int[] result = new int[707];
- int offset = 0;
- offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
- return result;
- }
+ /** denotes if the user-EOF-code has already been executed */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead.
+ * When a lead/high surrogate has been read from the input stream
+ * into the final zzBuffer position, this will have a value of 1;
+ * otherwise, it will have a value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
- private static int zzUnpackAttribute(String packed, int offset, int[] result) {
- int i = 0; /* index in packed string */
+ /* user code: */
- int j = offset; /* index in unpacked array */
-
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do {
- result[j++] = value;
- } while (--count > 0);
- }
- return j;
- }
-
- /**
- * the input device
- */
- private java.io.Reader zzReader;
-
- /**
- * the current state of the DFA
- */
- private int zzState;
-
- /**
- * the current lexical state
- */
- private int zzLexicalState = YYINITIAL;
-
- /**
- * this buffer contains the current text to be matched and is
- * the source of the yytext() string
- */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
- /**
- * the textposition at the last accepting state
- */
- private int zzMarkedPos;
-
- /**
- * the current text position in the buffer
- */
- private int zzCurrentPos;
-
- /**
- * startRead marks the beginning of the yytext() string in the buffer
- */
- private int zzStartRead;
-
- /**
- * endRead marks the last character in the buffer, that has been read
- * from input
- */
- private int zzEndRead;
-
- /**
- * number of newlines encountered up to the start of the matched text
- */
- private int yyline;
-
- /**
- * the number of characters up to the start of the matched text
- */
- private int yychar;
-
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
-
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
-
- /**
- * zzAtEOF == true <=> the scanner is at the EOF
- */
- private boolean zzAtEOF;
-
- /**
- * denotes if the user-EOF-code has already been executed
- */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
-
- /* user code: */
StringBuilder string = new StringBuilder();
private static String xmlTagName = "";
@@ -1284,22 +1220,22 @@ public final class ActionScriptLexer {
private final List listeners = new ArrayList<>();
- public void addListener(LexListener listener) {
+ public void addListener(LexListener listener){
listeners.add(listener);
}
- public void removeListener(LexListener listener) {
+ public void removeListener(LexListener listener){
listeners.remove(listener);
}
- public void informListenersLex(ParsedSymbol s) {
- for (LexListener l : listeners) {
+ public void informListenersLex(ParsedSymbol s){
+ for(LexListener l:listeners){
l.onLex(s);
}
}
- public void informListenersPushBack(ParsedSymbol s) {
- for (LexListener l : listeners) {
+ public void informListenersPushBack(ParsedSymbol s){
+ for(LexListener l:listeners){
l.onPushBack(s);
}
}
@@ -1311,10 +1247,9 @@ public final class ActionScriptLexer {
}
ParsedSymbol last;
-
- public ParsedSymbol lex() throws java.io.IOException, ActionParseException {
+ public ParsedSymbol lex() throws java.io.IOException, ActionParseException{
ParsedSymbol ret = null;
- if (!pushedBack.isEmpty()) {
+ if (!pushedBack.isEmpty()){
ret = last = pushedBack.pop();
} else {
ret = last = yylex();
@@ -1323,1282 +1258,1086 @@ public final class ActionScriptLexer {
return ret;
}
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public ActionScriptLexer(java.io.Reader in) {
- this.zzReader = in;
+
+
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public ActionScriptLexer(java.io.Reader in) {
+ this.zzReader = in;
+ }
+
+
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char [] zzUnpackCMap(String packed) {
+ char [] map = new char[0x110000];
+ int i = 0; /* index in packed string */
+ int j = 0; /* index in unpacked array */
+ while (i < 2916) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do map[j++] = value; while (--count > 0);
+ }
+ return map;
+ }
+
+
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
+
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead-zzStartRead);
+
+ /* translate stored positions */
+ zzEndRead-= zzStartRead;
+ zzCurrentPos-= zzStartRead;
+ zzMarkedPos-= zzStartRead;
+ zzStartRead = 0;
}
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char[] zzUnpackCMap(String packed) {
- char[] map = new char[0x110000];
- int i = 0; /* index in packed string */
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length*2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ }
- int j = 0; /* index in unpacked array */
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
- while (i < 2916) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do {
- map[j++] = value;
- } while (--count > 0);
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
}
- return map;
+ }
+ return false;
}
- /**
- * Refills the input buffer.
- *
- * @return false, iff there was new input.
- *
- * @exception java.io.IOException if any I/O-Error occurs
- */
- private boolean zzRefill() throws java.io.IOException {
+ // totalRead = 0: End of stream
+ return true;
+ }
- /* first: make room (if you can) */
- if (zzStartRead > 0) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead - zzStartRead);
+
+ /**
+ * Closes the input stream.
+ */
+ public final void yyclose() throws java.io.IOException {
+ zzAtEOF = true; /* indicate end of file */
+ zzEndRead = zzStartRead; /* invalidate buffer */
- /* translate stored positions */
- zzEndRead -= zzStartRead;
- zzCurrentPos -= zzStartRead;
- zzMarkedPos -= zzStartRead;
- zzStartRead = 0;
- }
+ if (zzReader != null)
+ zzReader.close();
+ }
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length * 2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ /**
+ * Resets the scanner to read from a new input stream.
+ * Does not close the old reader.
+ *
+ * All internal variables are reset, the old input stream
+ * cannot be reused (internal buffer is discarded and lost).
+ * Lexical state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE)
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
- }
- }
- return false;
- }
+ /**
+ * Returns the current lexical state.
+ */
+ public final int yystate() {
+ return zzLexicalState;
+ }
- // totalRead = 0: End of stream
- return true;
+
+ /**
+ * Enters a new lexical state
+ *
+ * @param newState the new lexical state
+ */
+ public final void yybegin(int newState) {
+ zzLexicalState = newState;
+ }
+
+
+ /**
+ * Returns the text matched by the current regular expression.
+ */
+ public final String yytext() {
+ return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
+ }
+
+
+ /**
+ * Returns the character at position pos from the
+ * matched text.
+ *
+ * It is equivalent to yytext().charAt(pos), but faster
+ *
+ * @param pos the position of the character to fetch.
+ * A value from 0 to yylength()-1.
+ *
+ * @return the character at position pos
+ */
+ public final char yycharat(int pos) {
+ return zzBuffer[zzStartRead+pos];
+ }
+
+
+ /**
+ * Returns the length of the matched text region.
+ */
+ public final int yylength() {
+ return zzMarkedPos-zzStartRead;
+ }
+
+
+ /**
+ * Reports an error that occured while scanning.
+ *
+ * In a wellformed scanner (no or only correct usage of
+ * yypushback(int) and a match-all fallback rule) this method
+ * will only be called with things that "Can't Possibly Happen".
+ * If this method is called, something is seriously wrong
+ * (e.g. a JFlex bug producing a faulty scanner etc.).
+ *
+ * Usual syntax/scanner level error handling should be done
+ * in error fallback rules.
+ *
+ * @param errorCode the code of the errormessage to display
+ */
+ private void zzScanError(int errorCode) {
+ String message;
+ try {
+ message = ZZ_ERROR_MSG[errorCode];
+ }
+ catch (ArrayIndexOutOfBoundsException e) {
+ message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
}
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
+ throw new Error(message);
+ }
- zzEndRead = zzStartRead; /* invalidate buffer */
- if (zzReader != null) {
- zzReader.close();
- }
- }
+ /**
+ * Pushes the specified amount of characters back into the input stream.
+ *
+ * They will be read again by then next call of the scanning method
+ *
+ * @param number the number of characters to be read again.
+ * This number must not be greater than yylength()!
+ */
+ public void yypushback(int number) {
+ if ( number > yylength() )
+ zzScanError(ZZ_PUSHBACK_2BIG);
- /**
- * Resets the scanner to read from a new input stream.
- * Does not close the old reader.
- *
- * All internal variables are reset, the old input stream
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has
- * grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE) {
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
- }
+ zzMarkedPos -= number;
+ }
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
- /**
- * Enters a new lexical state
- *
- * @param newState the new lexical state
- */
- public final void yybegin(int newState) {
- zzLexicalState = newState;
- }
+ /**
+ * Resumes scanning until the next regular expression is matched,
+ * the end of input is encountered or an I/O-Error occurs.
+ *
+ * @return the next token
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ public ParsedSymbol yylex() throws java.io.IOException, ActionParseException {
+ int zzInput;
+ int zzAction;
- /**
- * Returns the text matched by the current regular expression.
- */
- public final String yytext() {
- return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
- }
+ // cached fields:
+ int zzCurrentPosL;
+ int zzMarkedPosL;
+ int zzEndReadL = zzEndRead;
+ char [] zzBufferL = zzBuffer;
+ char [] zzCMapL = ZZ_CMAP;
- /**
- * Returns the character at position pos from the
- * matched text.
- *
- * It is equivalent to yytext().charAt(pos), but faster
- *
- * @param pos the position of the character to fetch.
- * A value from 0 to yylength()-1.
- *
- * @return the character at position pos
- */
- public final char yycharat(int pos) {
- return zzBuffer[zzStartRead + pos];
- }
+ int [] zzTransL = ZZ_TRANS;
+ int [] zzRowMapL = ZZ_ROWMAP;
+ int [] zzAttrL = ZZ_ATTRIBUTE;
- /**
- * Returns the length of the matched text region.
- */
- public final int yylength() {
- return zzMarkedPos - zzStartRead;
- }
+ while (true) {
+ zzMarkedPosL = zzMarkedPos;
- /**
- * Reports an error that occured while scanning.
- *
- * In a wellformed scanner (no or only correct usage of
- * yypushback(int) and a match-all fallback rule) this method
- * will only be called with things that "Can't Possibly Happen".
- * If this method is called, something is seriously wrong
- * (e.g. a JFlex bug producing a faulty scanner etc.).
- *
- * Usual syntax/scanner level error handling should be done
- * in error fallback rules.
- *
- * @param errorCode the code of the errormessage to display
- */
- private void zzScanError(int errorCode) {
- String message;
- try {
- message = ZZ_ERROR_MSG[errorCode];
- } catch (ArrayIndexOutOfBoundsException e) {
- message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
- }
+ yychar+= zzMarkedPosL-zzStartRead;
- throw new Error(message);
- }
+ zzAction = -1;
- /**
- * Pushes the specified amount of characters back into the input stream.
- *
- * They will be read again by then next call of the scanning method
- *
- * @param number the number of characters to be read again.
- * This number must not be greater than yylength()!
- */
- public void yypushback(int number) {
- if (number > yylength()) {
- zzScanError(ZZ_PUSHBACK_2BIG);
- }
+ zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
+
+ zzState = ZZ_LEXSTATE[zzLexicalState];
- zzMarkedPos -= number;
- }
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ( (zzAttributes & 1) == 1 ) {
+ zzAction = zzState;
+ }
- /**
- * Resumes scanning until the next regular expression is matched,
- * the end of input is encountered or an I/O-Error occurs.
- *
- * @return the next token
- * @exception java.io.IOException if any I/O-Error occurs
- */
- public ParsedSymbol yylex() throws java.io.IOException, ActionParseException {
- int zzInput;
- int zzAction;
-
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- char[] zzBufferL = zzBuffer;
- char[] zzCMapL = ZZ_CMAP;
-
- int[] zzTransL = ZZ_TRANS;
- int[] zzRowMapL = ZZ_ROWMAP;
- int[] zzAttrL = ZZ_ATTRIBUTE;
+ zzForAction: {
while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- yychar += zzMarkedPosL - zzStartRead;
-
- zzAction = -1;
-
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
-
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ((zzAttributes & 1) == 1) {
- zzAction = zzState;
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ }
+ else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
}
-
- zzForAction:
- {
- while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- } else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- } else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- } else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
- if (zzNext == -1) {
- break zzForAction;
- }
- zzState = zzNext;
-
- zzAttributes = zzAttrL[zzState];
- if ((zzAttributes & 1) == 1) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ((zzAttributes & 8) == 8) {
- break zzForAction;
- }
- }
-
- }
+ else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
}
+ }
+ int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
+ if (zzNext == -1) break zzForAction;
+ zzState = zzNext;
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
+ zzAttributes = zzAttrL[zzState];
+ if ( (zzAttributes & 1) == 1 ) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ( (zzAttributes & 8) == 8 ) break zzForAction;
+ }
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1: {
- }
- case 187:
- break;
- case 2: {
- yyline++;
- }
- case 188:
- break;
- case 3: { /*ignore*/
-
- }
- case 189:
- break;
- case 4: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
- }
- case 190:
- break;
- case 5: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
- }
- case 191:
- break;
- case 6: {
- return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
- }
- case 192:
- break;
- case 7: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
- }
- case 193:
- break;
- case 8: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
- }
- case 194:
- break;
- case 9: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
- }
- case 195:
- break;
- case 10: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
- }
- case 196:
- break;
- case 11: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
- }
- case 197:
- break;
- case 12: {
- string.setLength(0);
- yybegin(STRING);
- }
- case 198:
- break;
- case 13: {
- return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
- }
- case 199:
- break;
- case 14: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
- }
- case 200:
- break;
- case 15: {
- string.setLength(0);
- yybegin(CHARLITERAL);
- }
- case 201:
- break;
- case 16: {
- string.setLength(0);
- yybegin(OIDENTIFIER);
- }
- case 202:
- break;
- case 17: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
- }
- case 203:
- break;
- case 18: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
- }
- case 204:
- break;
- case 19: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
- }
- case 205:
- break;
- case 20: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
- }
- case 206:
- break;
- case 21: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
- }
- case 207:
- break;
- case 22: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
- }
- case 208:
- break;
- case 23: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
- }
- case 209:
- break;
- case 24: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
- }
- case 210:
- break;
- case 25: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
- }
- case 211:
- break;
- case 26: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
- }
- case 212:
- break;
- case 27: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
- }
- case 213:
- break;
- case 28: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
- }
- case 214:
- break;
- case 29: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
- }
- case 215:
- break;
- case 30: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
- }
- case 216:
- break;
- case 31: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
- }
- case 217:
- break;
- case 32: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
- }
- case 218:
- break;
- case 33: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
- }
- case 219:
- break;
- case 34: {
- string.append(yytext());
- }
- case 220:
- break;
- case 35: {
- yybegin(YYINITIAL);
- yyline++;
- }
- case 221:
- break;
- case 36: {
- yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
- }
- case 222:
- break;
- case 37: {
- string.append(yytext());
- yyline++;
- }
- case 223:
- break;
- case 38: {
- yybegin(XML);
- string.append(yytext());
- }
- case 224:
- break;
- case 39: {
- string.append(yytext());
- yyline++;
- }
- case 225:
- break;
- case 40: {
- yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
- }
- case 226:
- break;
- case 41: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
- }
- case 227:
- break;
- case 42: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
- }
- case 228:
- break;
- case 43: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
- }
- case 229:
- break;
- case 44: {
- return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
- }
- case 230:
- break;
- case 45: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
- }
- case 231:
- break;
- case 46: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
- }
- case 232:
- break;
- case 47: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
- }
- case 233:
- break;
- case 48: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
- }
- case 234:
- break;
- case 49: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
- }
- case 235:
- break;
- case 50: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
- }
- case 236:
- break;
- case 51: {
- return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
- }
- case 237:
- break;
- case 52: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
- }
- case 238:
- break;
- case 53: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
- }
- case 239:
- break;
- case 54: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
- }
- case 240:
- break;
- case 55: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLOR, yytext());
- }
- case 241:
- break;
- case 56: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
- }
- case 242:
- break;
- case 57: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
- }
- case 243:
- break;
- case 58: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
- }
- case 244:
- break;
- case 59: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
- }
- case 245:
- break;
- case 60: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
- }
- case 246:
- break;
- case 61: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
- }
- case 247:
- break;
- case 62: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
- }
- case 248:
- break;
- case 63: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
- }
- case 249:
- break;
- case 64: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
- }
- case 250:
- break;
- case 65: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
- }
- case 251:
- break;
- case 66: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
- }
- case 252:
- break;
- case 67: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
- }
- case 253:
- break;
- case 68: {
- string.append('\\'); /*illegal escape sequence*/
-
- }
- case 254:
- break;
- case 69: {
- string.append('\"');
- }
- case 255:
- break;
- case 70: {
- string.append('\\');
- }
- case 256:
- break;
- case 71: {
- string.append('\'');
- }
- case 257:
- break;
- case 72: {
- string.append('\b');
- }
- case 258:
- break;
- case 73: {
- string.append('\r');
- }
- case 259:
- break;
- case 74: {
- string.append('\n');
- }
- case 260:
- break;
- case 75: {
- string.append('\t');
- }
- case 261:
- break;
- case 76: {
- string.append('\f');
- }
- case 262:
- break;
- case 77: {
- throw new ActionParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 263:
- break;
- case 78: {
- string.append('\u00A7');
- }
- case 264:
- break;
- case 79: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
- }
- case 265:
- break;
- case 80: {
- string.setLength(0);
- yybegin(XML);
- String s = yytext();
- s = s.substring(1, s.length() - 1);
- if (s.contains(" ")) {
- s = s.substring(0, s.indexOf(' '));
- }
- xmlTagName = s;
- string.append(yytext());
- }
- case 266:
- break;
- case 81: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
- }
- case 267:
- break;
- case 82: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
- }
- case 268:
- break;
- case 83: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
- }
- case 269:
- break;
- case 84: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
- }
- case 270:
- break;
- case 85: {
- return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
- }
- case 271:
- break;
- case 86: {
- return new ParsedSymbol(SymbolGroup.PREPROCESSOR, SymbolType.PREPROCESSOR, yytext().substring(2));
- }
- case 272:
- break;
- case 87: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLAND, yytext());
- }
- case 273:
- break;
- case 88: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CHR, yytext());
- }
- case 274:
- break;
- case 89: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext());
- }
- case 275:
- break;
- case 90: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.ORD, yytext());
- }
- case 276:
- break;
- case 91: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
- }
- case 277:
- break;
- case 92: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
- }
- case 278:
- break;
- case 93: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.INT, yytext());
- }
- case 279:
- break;
- case 94: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
- }
- case 280:
- break;
- case 95: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
- }
- case 281:
- break;
- case 96: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
- }
- case 282:
- break;
- case 97: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.GET, yytext());
- }
- case 283:
- break;
- case 98: {
- return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
- }
- case 284:
- break;
- case 99: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
- }
- case 285:
- break;
- case 100: {
- String t = yytext();
- return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, t.substring(2, t.length() - 1));
- }
- case 286:
- break;
- case 101: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
- }
- case 287:
- break;
- case 102: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EACH, yytext());
- }
- case 288:
- break;
- case 103: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
- }
- case 289:
- break;
- case 104: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.EVAL, yytext());
- }
- case 290:
- break;
- case 105: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
- }
- case 291:
- break;
- case 106: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CALL, yytext());
- }
- case 292:
- break;
- case 107: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOP, yytext());
- }
- case 293:
- break;
- case 108: {
- return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
- }
- case 294:
- break;
- case 109: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
- }
- case 295:
- break;
- case 110: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
- }
- case 296:
- break;
- case 111: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
- }
- case 297:
- break;
- case 112: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PLAY, yytext());
- }
- case 298:
- break;
- case 113: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
- }
- case 299:
- break;
- case 114: {
- char val = (char) Integer.parseInt(yytext().substring(1), 8);
- string.append(val);
- }
- case 300:
- break;
- case 115: {
- char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 301:
- break;
- case 116: {
- string.append(yytext());
- String endtagname = yytext();
- endtagname = endtagname.substring(2, endtagname.length() - 1);
- if (endtagname.equals(xmlTagName)) {
- yybegin(YYINITIAL);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML, string.toString());
- }
- }
- case 302:
- break;
- case 117: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
- }
- case 303:
- break;
- case 118: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
- }
- case 304:
- break;
- case 119: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
- }
- case 305:
- break;
- case 120: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
- }
- case 306:
- break;
- case 121: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
- }
- case 307:
- break;
- case 122: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TRACE, yytext());
- }
- case 308:
- break;
- case 123: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
- }
- case 309:
- break;
- case 124: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
- }
- case 310:
- break;
- case 125: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
- }
- case 311:
- break;
- case 126: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINT, yytext());
- }
- case 312:
- break;
- case 127: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBCHR, yytext());
- }
- case 313:
- break;
- case 128: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBORD, yytext());
- }
- case 314:
- break;
- case 129: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
- }
- case 315:
- break;
- case 130: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.RANDOM, yytext());
- }
- case 316:
- break;
- case 131: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.STATIC, yytext());
- }
- case 317:
- break;
- case 132: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.SUBSTR, yytext());
- }
- case 318:
- break;
- case 133: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
- }
- case 319:
- break;
- case 134: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
- }
- case 320:
- break;
- case 135: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
- }
- case 321:
- break;
- case 136: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
- }
- case 322:
- break;
- case 137: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LENGTH, yytext());
- }
- case 323:
- break;
- case 138: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
- }
- case 324:
- break;
- case 139: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETURL, yytext());
- }
- case 325:
- break;
- case 140: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STRING_OP, yytext());
- }
- case 326:
- break;
- case 141: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NUMBER_OP, yytext());
- }
- case 327:
- break;
- case 142: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
- }
- case 328:
- break;
- case 143: {
- return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NEWLINE, yytext());
- }
- case 329:
- break;
- case 144: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
- }
- case 330:
- break;
- case 145: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext());
- }
- case 331:
- break;
- case 146: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
- }
- case 332:
- break;
- case 147: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
- }
- case 333:
- break;
- case 148: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
- }
- case 334:
- break;
- case 149: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
- }
- case 335:
- break;
- case 150: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPDRAG, yytext());
- }
- case 336:
- break;
- case 151: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.OVERRIDE, yytext());
- }
- case 337:
- break;
- case 152: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
- }
- case 338:
- break;
- case 153: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
- }
- case 339:
- break;
- case 154: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTNUM, yytext());
- }
- case 340:
- break;
- case 155: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBLENGTH, yytext());
- }
- case 341:
- break;
- case 156: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETTIMER, yytext());
- }
- case 342:
- break;
- case 157: {
- return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
- }
- case 343:
- break;
- case 158: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STARTDRAG, yytext());
- }
- case 344:
- break;
- case 159: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NEXTFRAME, yytext());
- }
- case 345:
- break;
- case 160: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.NAMESPACE, yytext());
- }
- case 346:
- break;
- case 161: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
- }
- case 347:
- break;
- case 162: {
- return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
- }
- case 348:
- break;
- case 163: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.FSCOMMAND, yytext());
- }
- case 349:
- break;
- case 164: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIE, yytext());
- }
- case 350:
- break;
- case 165: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PREVFRAME, yytext());
- }
- case 351:
- break;
- case 166: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
- }
- case 352:
- break;
- case 167: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TELLTARGET, yytext());
- }
- case 353:
- break;
- case 168: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TARGETPATH, yytext());
- }
- case 354:
- break;
- case 169: {
- return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
- }
- case 355:
- break;
- case 170: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
- }
- case 356:
- break;
- case 171: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETVERSION, yytext());
- }
- case 357:
- break;
- case 172: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIE, yytext());
- }
- case 358:
- break;
- case 173: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBSUBSTRING, yytext());
- }
- case 359:
- break;
- case 174: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDSTOP, yytext());
- }
- case 360:
- break;
- case 175: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDPLAY, yytext());
- }
- case 361:
- break;
- case 176: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIENUM, yytext());
- }
- case 362:
- break;
- case 177: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPALLSOUNDS, yytext());
- }
- case 363:
- break;
- case 178: {
- return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IFFRAMELOADED, yytext());
- }
- case 364:
- break;
- case 179: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLES, yytext());
- }
- case 365:
- break;
- case 180: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAP, yytext());
- }
- case 366:
- break;
- case 181: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIENUM, yytext());
- }
- case 367:
- break;
- case 182: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.REMOVEMOVIECLIP, yytext());
- }
- case 368:
- break;
- case 183: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLESNUM, yytext());
- }
- case 369:
- break;
- case 184: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAPNUM, yytext());
- }
- case 370:
- break;
- case 185: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TOGGLEHIGHQUALITY, yytext());
- }
- case 371:
- break;
- case 186: {
- return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.DUPLICATEMOVIECLIP, yytext());
- }
- case 372:
- break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- {
- return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
- }
- } else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ {
+ }
+ case 184: break;
+ case 2:
+ { yyline++;
+ }
+ case 185: break;
+ case 3:
+ { /*ignore*/
+ }
+ case 186: break;
+ case 4:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
+ }
+ case 187: break;
+ case 5:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
+ }
+ case 188: break;
+ case 6:
+ { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
+ }
+ case 189: break;
+ case 7:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
+ }
+ case 190: break;
+ case 8:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
+ }
+ case 191: break;
+ case 9:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
+ }
+ case 192: break;
+ case 10:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
+ }
+ case 193: break;
+ case 11:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
+ }
+ case 194: break;
+ case 12:
+ { string.setLength(0);
+ yybegin(STRING);
+ }
+ case 195: break;
+ case 13:
+ { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
+ }
+ case 196: break;
+ case 14:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
+ }
+ case 197: break;
+ case 15:
+ { string.setLength(0);
+ yybegin(CHARLITERAL);
+ }
+ case 198: break;
+ case 16:
+ { string.setLength(0);
+ yybegin(OIDENTIFIER);
+ }
+ case 199: break;
+ case 17:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
+ }
+ case 200: break;
+ case 18:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
+ }
+ case 201: break;
+ case 19:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
+ }
+ case 202: break;
+ case 20:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
+ }
+ case 203: break;
+ case 21:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
+ }
+ case 204: break;
+ case 22:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
+ }
+ case 205: break;
+ case 23:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
+ }
+ case 206: break;
+ case 24:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
+ }
+ case 207: break;
+ case 25:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
+ }
+ case 208: break;
+ case 26:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
+ }
+ case 209: break;
+ case 27:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
+ }
+ case 210: break;
+ case 28:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
+ }
+ case 211: break;
+ case 29:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
+ }
+ case 212: break;
+ case 30:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
+ }
+ case 213: break;
+ case 31:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
+ }
+ case 214: break;
+ case 32:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
+ }
+ case 215: break;
+ case 33:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
+ }
+ case 216: break;
+ case 34:
+ { string.append(yytext());
+ }
+ case 217: break;
+ case 35:
+ { yybegin(YYINITIAL); yyline++;
+ }
+ case 218: break;
+ case 36:
+ { yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
+ }
+ case 219: break;
+ case 37:
+ { string.append(yytext()); yyline++;
+ }
+ case 220: break;
+ case 38:
+ { yybegin(XML); string.append(yytext());
+ }
+ case 221: break;
+ case 39:
+ { string.append(yytext()); yyline++;
+ }
+ case 222: break;
+ case 40:
+ { yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
+ }
+ case 223: break;
+ case 41:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
+ }
+ case 224: break;
+ case 42:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
+ }
+ case 225: break;
+ case 43:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
+ }
+ case 226: break;
+ case 44:
+ { return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
+ }
+ case 227: break;
+ case 45:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
+ }
+ case 228: break;
+ case 46:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
+ }
+ case 229: break;
+ case 47:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
+ }
+ case 230: break;
+ case 48:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
+ }
+ case 231: break;
+ case 49:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
+ }
+ case 232: break;
+ case 50:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
+ }
+ case 233: break;
+ case 51:
+ { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
+ }
+ case 234: break;
+ case 52:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
+ }
+ case 235: break;
+ case 53:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
+ }
+ case 236: break;
+ case 54:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
+ }
+ case 237: break;
+ case 55:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLOR, yytext());
+ }
+ case 238: break;
+ case 56:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
+ }
+ case 239: break;
+ case 57:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
+ }
+ case 240: break;
+ case 58:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
+ }
+ case 241: break;
+ case 59:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
+ }
+ case 242: break;
+ case 60:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
+ }
+ case 243: break;
+ case 61:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
+ }
+ case 244: break;
+ case 62:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
+ }
+ case 245: break;
+ case 63:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
+ }
+ case 246: break;
+ case 64:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
+ }
+ case 247: break;
+ case 65:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
+ }
+ case 248: break;
+ case 66:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
+ }
+ case 249: break;
+ case 67:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
+ }
+ case 250: break;
+ case 68:
+ { string.append('\\'); /*illegal escape sequence*/
+ }
+ case 251: break;
+ case 69:
+ { string.append('\"');
+ }
+ case 252: break;
+ case 70:
+ { string.append('\\');
+ }
+ case 253: break;
+ case 71:
+ { string.append('\'');
+ }
+ case 254: break;
+ case 72:
+ { string.append('\b');
+ }
+ case 255: break;
+ case 73:
+ { string.append('\r');
+ }
+ case 256: break;
+ case 74:
+ { string.append('\n');
+ }
+ case 257: break;
+ case 75:
+ { string.append('\t');
+ }
+ case 258: break;
+ case 76:
+ { string.append('\f');
+ }
+ case 259: break;
+ case 77:
+ { throw new ActionParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 260: break;
+ case 78:
+ { string.append('\u00A7');
+ }
+ case 261: break;
+ case 79:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
+ }
+ case 262: break;
+ case 80:
+ { string.setLength(0);
+ yybegin(XML);
+ String s = yytext();
+ s = s.substring(1, s.length() - 1);
+ if (s.contains(" ")){
+ s = s.substring(0, s.indexOf(' '));
+ }
+ xmlTagName = s;
+ string.append(yytext());
+ }
+ case 263: break;
+ case 81:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
+ }
+ case 264: break;
+ case 82:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
+ }
+ case 265: break;
+ case 83:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
+ }
+ case 266: break;
+ case 84:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
+ }
+ case 267: break;
+ case 85:
+ { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
+ }
+ case 268: break;
+ case 86:
+ { return new ParsedSymbol(SymbolGroup.PREPROCESSOR, SymbolType.PREPROCESSOR, yytext().substring(2));
+ }
+ case 269: break;
+ case 87:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLAND, yytext());
+ }
+ case 270: break;
+ case 88:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CHR, yytext());
+ }
+ case 271: break;
+ case 89:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext());
+ }
+ case 272: break;
+ case 90:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.ORD, yytext());
+ }
+ case 273: break;
+ case 91:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
+ }
+ case 274: break;
+ case 92:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
+ }
+ case 275: break;
+ case 93:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.INT, yytext());
+ }
+ case 276: break;
+ case 94:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
+ }
+ case 277: break;
+ case 95:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
+ }
+ case 278: break;
+ case 96:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.GET, yytext());
+ }
+ case 279: break;
+ case 97:
+ { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
+ }
+ case 280: break;
+ case 98:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
+ }
+ case 281: break;
+ case 99:
+ { String t = yytext(); return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, t.substring(2, t.length() - 1));
+ }
+ case 282: break;
+ case 100:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
+ }
+ case 283: break;
+ case 101:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EACH, yytext());
+ }
+ case 284: break;
+ case 102:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
+ }
+ case 285: break;
+ case 103:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.EVAL, yytext());
+ }
+ case 286: break;
+ case 104:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
+ }
+ case 287: break;
+ case 105:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CALL, yytext());
+ }
+ case 288: break;
+ case 106:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOP, yytext());
+ }
+ case 289: break;
+ case 107:
+ { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
+ }
+ case 290: break;
+ case 108:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
+ }
+ case 291: break;
+ case 109:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
+ }
+ case 292: break;
+ case 110:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
+ }
+ case 293: break;
+ case 111:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PLAY, yytext());
+ }
+ case 294: break;
+ case 112:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
+ }
+ case 295: break;
+ case 113:
+ { char val = (char) Integer.parseInt(yytext().substring(1), 8);
+ string.append(val);
+ }
+ case 296: break;
+ case 114:
+ { char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 297: break;
+ case 115:
+ { string.append(yytext());
+ String endtagname = yytext();
+ endtagname = endtagname.substring(2, endtagname.length() - 1);
+ if (endtagname.equals(xmlTagName)){
+ yybegin(YYINITIAL);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML, string.toString());
+ }
+ }
+ case 298: break;
+ case 116:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
+ }
+ case 299: break;
+ case 117:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
+ }
+ case 300: break;
+ case 118:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
+ }
+ case 301: break;
+ case 119:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
+ }
+ case 302: break;
+ case 120:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
+ }
+ case 303: break;
+ case 121:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TRACE, yytext());
+ }
+ case 304: break;
+ case 122:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
+ }
+ case 305: break;
+ case 123:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
+ }
+ case 306: break;
+ case 124:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
+ }
+ case 307: break;
+ case 125:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINT, yytext());
+ }
+ case 308: break;
+ case 126:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBCHR, yytext());
+ }
+ case 309: break;
+ case 127:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBORD, yytext());
+ }
+ case 310: break;
+ case 128:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
+ }
+ case 311: break;
+ case 129:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.RANDOM, yytext());
+ }
+ case 312: break;
+ case 130:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.STATIC, yytext());
+ }
+ case 313: break;
+ case 131:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.SUBSTR, yytext());
+ }
+ case 314: break;
+ case 132:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
+ }
+ case 315: break;
+ case 133:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
+ }
+ case 316: break;
+ case 134:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
+ }
+ case 317: break;
+ case 135:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
+ }
+ case 318: break;
+ case 136:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LENGTH, yytext());
+ }
+ case 319: break;
+ case 137:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
+ }
+ case 320: break;
+ case 138:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETURL, yytext());
+ }
+ case 321: break;
+ case 139:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STRING_OP, yytext());
+ }
+ case 322: break;
+ case 140:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NUMBER_OP, yytext());
+ }
+ case 323: break;
+ case 141:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
+ }
+ case 324: break;
+ case 142:
+ { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NEWLINE, yytext());
+ }
+ case 325: break;
+ case 143:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
+ }
+ case 326: break;
+ case 144:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext());
+ }
+ case 327: break;
+ case 145:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
+ }
+ case 328: break;
+ case 146:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
+ }
+ case 329: break;
+ case 147:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
+ }
+ case 330: break;
+ case 148:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
+ }
+ case 331: break;
+ case 149:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPDRAG, yytext());
+ }
+ case 332: break;
+ case 150:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
+ }
+ case 333: break;
+ case 151:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTNUM, yytext());
+ }
+ case 334: break;
+ case 152:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBLENGTH, yytext());
+ }
+ case 335: break;
+ case 153:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETTIMER, yytext());
+ }
+ case 336: break;
+ case 154:
+ { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
+ }
+ case 337: break;
+ case 155:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STARTDRAG, yytext());
+ }
+ case 338: break;
+ case 156:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NEXTFRAME, yytext());
+ }
+ case 339: break;
+ case 157:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.NAMESPACE, yytext());
+ }
+ case 340: break;
+ case 158:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
+ }
+ case 341: break;
+ case 159:
+ { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
+ }
+ case 342: break;
+ case 160:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.FSCOMMAND, yytext());
+ }
+ case 343: break;
+ case 161:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIE, yytext());
+ }
+ case 344: break;
+ case 162:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PREVFRAME, yytext());
+ }
+ case 345: break;
+ case 163:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
+ }
+ case 346: break;
+ case 164:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TELLTARGET, yytext());
+ }
+ case 347: break;
+ case 165:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TARGETPATH, yytext());
+ }
+ case 348: break;
+ case 166:
+ { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
+ }
+ case 349: break;
+ case 167:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
+ }
+ case 350: break;
+ case 168:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETVERSION, yytext());
+ }
+ case 351: break;
+ case 169:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIE, yytext());
+ }
+ case 352: break;
+ case 170:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBSUBSTRING, yytext());
+ }
+ case 353: break;
+ case 171:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDSTOP, yytext());
+ }
+ case 354: break;
+ case 172:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDPLAY, yytext());
+ }
+ case 355: break;
+ case 173:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIENUM, yytext());
+ }
+ case 356: break;
+ case 174:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPALLSOUNDS, yytext());
+ }
+ case 357: break;
+ case 175:
+ { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IFFRAMELOADED, yytext());
+ }
+ case 358: break;
+ case 176:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLES, yytext());
+ }
+ case 359: break;
+ case 177:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAP, yytext());
+ }
+ case 360: break;
+ case 178:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIENUM, yytext());
+ }
+ case 361: break;
+ case 179:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.REMOVEMOVIECLIP, yytext());
+ }
+ case 362: break;
+ case 180:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLESNUM, yytext());
+ }
+ case 363: break;
+ case 181:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAPNUM, yytext());
+ }
+ case 364: break;
+ case 182:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TOGGLEHIGHQUALITY, yytext());
+ }
+ case 365: break;
+ case 183:
+ { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.DUPLICATEMOVIECLIP, yytext());
+ }
+ case 366: break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
+ }
+ }
+ else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
+ }
+
+
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/SymbolType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/SymbolType.java
index 4493f9c3d..8fb0f8a97 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/SymbolType.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/SymbolType.java
@@ -45,8 +45,6 @@ public enum SymbolType {
FINALLY,
WITH,
DYNAMIC,
- INTERNAL,
- OVERRIDE,
PRIVATE,
PROTECTED,
PUBLIC,