/* This file was generated by SableCC (http://www.sablecc.org/). */ package soot.jimple.parser.lexer; import java.io.*; import java.util.*; import soot.jimple.parser.node.*; public class Lexer { protected Token token; protected State state = State.INITIAL; private PushbackReader in; private int line; private int pos; private boolean cr; private boolean eof; private final StringBuffer text = new StringBuffer(); protected void filter() throws LexerException, IOException { } public Lexer(PushbackReader in) { this.in = in; if(gotoTable == null) { try { DataInputStream s = new DataInputStream( new BufferedInputStream( Lexer.class.getResourceAsStream("lexer.dat"))); // read gotoTable int length = s.readInt(); gotoTable = new int[length][][][]; for(int i = 0; i < gotoTable.length; i++) { length = s.readInt(); gotoTable[i] = new int[length][][]; for(int j = 0; j < gotoTable[i].length; j++) { length = s.readInt(); gotoTable[i][j] = new int[length][3]; for(int k = 0; k < gotoTable[i][j].length; k++) { for(int l = 0; l < 3; l++) { gotoTable[i][j][k][l] = s.readInt(); } } } } // read accept length = s.readInt(); accept = new int[length][]; for(int i = 0; i < accept.length; i++) { length = s.readInt(); accept[i] = new int[length]; for(int j = 0; j < accept[i].length; j++) { accept[i][j] = s.readInt(); } } s.close(); } catch(Exception e) { throw new RuntimeException("The file \"lexer.dat\" is either missing or corrupted."); } } } public Token peek() throws LexerException, IOException { while(token == null) { token = getToken(); filter(); } return token; } public Token next() throws LexerException, IOException { while(token == null) { token = getToken(); filter(); } Token result = token; token = null; return result; } protected Token getToken() throws IOException, LexerException { int dfa_state = 0; int start_pos = pos; int start_line = line; int accept_state = -1; int accept_token = -1; int accept_length = -1; int accept_pos = -1; int accept_line = -1; int[][][] gotoTable = this.gotoTable[state.id()]; int[] accept = this.accept[state.id()]; text.setLength(0); while(true) { int c = getChar(); if(c != -1) { switch(c) { case 10: if(cr) { cr = false; } else { line++; pos = 0; } break; case 13: line++; pos = 0; cr = true; break; default: pos++; cr = false; break; }; text.append((char) c); do { int oldState = (dfa_state < -1) ? (-2 -dfa_state) : dfa_state; dfa_state = -1; int[][] tmp1 = gotoTable[oldState]; int low = 0; int high = tmp1.length - 1; while(low <= high) { int middle = (low + high) / 2; int[] tmp2 = tmp1[middle]; if(c < tmp2[0]) { high = middle - 1; } else if(c > tmp2[1]) { low = middle + 1; } else { dfa_state = tmp2[2]; break; } } }while(dfa_state < -1); } else { dfa_state = -1; } if(dfa_state >= 0) { if(accept[dfa_state] != -1) { accept_state = dfa_state; accept_token = accept[dfa_state]; accept_length = text.length(); accept_pos = pos; accept_line = line; } } else { if(accept_state != -1) { switch(accept_token) { case 0: { Token token = new0( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 1: { Token token = new1( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 2: { Token token = new2( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 3: { Token token = new3( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 4: { Token token = new4( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 5: { Token token = new5( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 6: { Token token = new6( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 7: { Token token = new7( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 8: { Token token = new8( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 9: { Token token = new9( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 10: { Token token = new10( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 11: { Token token = new11( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 12: { Token token = new12( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 13: { Token token = new13( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 14: { Token token = new14( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 15: { Token token = new15( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 16: { Token token = new16( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 17: { Token token = new17( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 18: { Token token = new18( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 19: { Token token = new19( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 20: { Token token = new20( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 21: { Token token = new21( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 22: { Token token = new22( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 23: { Token token = new23( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 24: { Token token = new24( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 25: { Token token = new25( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 26: { Token token = new26( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 27: { Token token = new27( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 28: { Token token = new28( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 29: { Token token = new29( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 30: { Token token = new30( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 31: { Token token = new31( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 32: { Token token = new32( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 33: { Token token = new33( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 34: { Token token = new34( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 35: { Token token = new35( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 36: { Token token = new36( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 37: { Token token = new37( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 38: { Token token = new38( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 39: { Token token = new39( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 40: { Token token = new40( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 41: { Token token = new41( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 42: { Token token = new42( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 43: { Token token = new43( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 44: { Token token = new44( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 45: { Token token = new45( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 46: { Token token = new46( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 47: { Token token = new47( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 48: { Token token = new48( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 49: { Token token = new49( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 50: { Token token = new50( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 51: { Token token = new51( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 52: { Token token = new52( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 53: { Token token = new53( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 54: { Token token = new54( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 55: { Token token = new55( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 56: { Token token = new56( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 57: { Token token = new57( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 58: { Token token = new58( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 59: { Token token = new59( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 60: { Token token = new60( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 61: { Token token = new61( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 62: { Token token = new62( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 63: { Token token = new63( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 64: { Token token = new64( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 65: { Token token = new65( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 66: { Token token = new66( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 67: { Token token = new67( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 68: { Token token = new68( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 69: { Token token = new69( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 70: { Token token = new70( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 71: { Token token = new71( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 72: { Token token = new72( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 73: { Token token = new73( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 74: { Token token = new74( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 75: { Token token = new75( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 76: { Token token = new76( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 77: { Token token = new77( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 78: { Token token = new78( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 79: { Token token = new79( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 80: { Token token = new80( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 81: { Token token = new81( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 82: { Token token = new82( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 83: { Token token = new83( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 84: { Token token = new84( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 85: { Token token = new85( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 86: { Token token = new86( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 87: { Token token = new87( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 88: { Token token = new88( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 89: { Token token = new89( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 90: { Token token = new90( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 91: { Token token = new91( start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 92: { Token token = new92( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 93: { Token token = new93( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 94: { Token token = new94( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 95: { Token token = new95( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 96: { Token token = new96( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 97: { Token token = new97( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 98: { Token token = new98( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } case 99: { Token token = new99( getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); pos = accept_pos; line = accept_line; return token; } } } else { if(text.length() > 0) { throw new LexerException( "[" + (start_line + 1) + "," + (start_pos + 1) + "]" + " Unknown token: " + text); } else { EOF token = new EOF( start_line + 1, start_pos + 1); return token; } } } } } Token new0(String text, int line, int pos) { return new TIgnored(text, line, pos); } Token new1(int line, int pos) { return new TAbstract(line, pos); } Token new2(int line, int pos) { return new TFinal(line, pos); } Token new3(int line, int pos) { return new TNative(line, pos); } Token new4(int line, int pos) { return new TPublic(line, pos); } Token new5(int line, int pos) { return new TProtected(line, pos); } Token new6(int line, int pos) { return new TPrivate(line, pos); } Token new7(int line, int pos) { return new TStatic(line, pos); } Token new8(int line, int pos) { return new TSynchronized(line, pos); } Token new9(int line, int pos) { return new TTransient(line, pos); } Token new10(int line, int pos) { return new TVolatile(line, pos); } Token new11(int line, int pos) { return new TStrictfp(line, pos); } Token new12(int line, int pos) { return new TEnum(line, pos); } Token new13(int line, int pos) { return new TAnnotation(line, pos); } Token new14(int line, int pos) { return new TClass(line, pos); } Token new15(int line, int pos) { return new TInterface(line, pos); } Token new16(int line, int pos) { return new TVoid(line, pos); } Token new17(int line, int pos) { return new TBoolean(line, pos); } Token new18(int line, int pos) { return new TByte(line, pos); } Token new19(int line, int pos) { return new TShort(line, pos); } Token new20(int line, int pos) { return new TChar(line, pos); } Token new21(int line, int pos) { return new TInt(line, pos); } Token new22(int line, int pos) { return new TLong(line, pos); } Token new23(int line, int pos) { return new TFloat(line, pos); } Token new24(int line, int pos) { return new TDouble(line, pos); } Token new25(int line, int pos) { return new TNullType(line, pos); } Token new26(int line, int pos) { return new TUnknown(line, pos); } Token new27(int line, int pos) { return new TExtends(line, pos); } Token new28(int line, int pos) { return new TImplements(line, pos); } Token new29(int line, int pos) { return new TBreakpoint(line, pos); } Token new30(int line, int pos) { return new TCase(line, pos); } Token new31(int line, int pos) { return new TCatch(line, pos); } Token new32(int line, int pos) { return new TCmp(line, pos); } Token new33(int line, int pos) { return new TCmpg(line, pos); } Token new34(int line, int pos) { return new TCmpl(line, pos); } Token new35(int line, int pos) { return new TDefault(line, pos); } Token new36(int line, int pos) { return new TEntermonitor(line, pos); } Token new37(int line, int pos) { return new TExitmonitor(line, pos); } Token new38(int line, int pos) { return new TGoto(line, pos); } Token new39(int line, int pos) { return new TIf(line, pos); } Token new40(int line, int pos) { return new TInstanceof(line, pos); } Token new41(int line, int pos) { return new TInterfaceinvoke(line, pos); } Token new42(int line, int pos) { return new TLengthof(line, pos); } Token new43(int line, int pos) { return new TLookupswitch(line, pos); } Token new44(int line, int pos) { return new TNeg(line, pos); } Token new45(int line, int pos) { return new TNew(line, pos); } Token new46(int line, int pos) { return new TNewarray(line, pos); } Token new47(int line, int pos) { return new TNewmultiarray(line, pos); } Token new48(int line, int pos) { return new TNop(line, pos); } Token new49(int line, int pos) { return new TRet(line, pos); } Token new50(int line, int pos) { return new TReturn(line, pos); } Token new51(int line, int pos) { return new TSpecialinvoke(line, pos); } Token new52(int line, int pos) { return new TStaticinvoke(line, pos); } Token new53(int line, int pos) { return new TTableswitch(line, pos); } Token new54(int line, int pos) { return new TThrow(line, pos); } Token new55(int line, int pos) { return new TThrows(line, pos); } Token new56(int line, int pos) { return new TVirtualinvoke(line, pos); } Token new57(int line, int pos) { return new TNull(line, pos); } Token new58(int line, int pos) { return new TFrom(line, pos); } Token new59(int line, int pos) { return new TTo(line, pos); } Token new60(int line, int pos) { return new TWith(line, pos); } Token new61(int line, int pos) { return new TCls(line, pos); } Token new62(int line, int pos) { return new TComma(line, pos); } Token new63(int line, int pos) { return new TLBrace(line, pos); } Token new64(int line, int pos) { return new TRBrace(line, pos); } Token new65(int line, int pos) { return new TSemicolon(line, pos); } Token new66(int line, int pos) { return new TLBracket(line, pos); } Token new67(int line, int pos) { return new TRBracket(line, pos); } Token new68(int line, int pos) { return new TLParen(line, pos); } Token new69(int line, int pos) { return new TRParen(line, pos); } Token new70(int line, int pos) { return new TColon(line, pos); } Token new71(int line, int pos) { return new TDot(line, pos); } Token new72(int line, int pos) { return new TQuote(line, pos); } Token new73(int line, int pos) { return new TColonEquals(line, pos); } Token new74(int line, int pos) { return new TEquals(line, pos); } Token new75(int line, int pos) { return new TAnd(line, pos); } Token new76(int line, int pos) { return new TOr(line, pos); } Token new77(int line, int pos) { return new TXor(line, pos); } Token new78(int line, int pos) { return new TMod(line, pos); } Token new79(int line, int pos) { return new TCmpeq(line, pos); } Token new80(int line, int pos) { return new TCmpne(line, pos); } Token new81(int line, int pos) { return new TCmpgt(line, pos); } Token new82(int line, int pos) { return new TCmpge(line, pos); } Token new83(int line, int pos) { return new TCmplt(line, pos); } Token new84(int line, int pos) { return new TCmple(line, pos); } Token new85(int line, int pos) { return new TShl(line, pos); } Token new86(int line, int pos) { return new TShr(line, pos); } Token new87(int line, int pos) { return new TUshr(line, pos); } Token new88(int line, int pos) { return new TPlus(line, pos); } Token new89(int line, int pos) { return new TMinus(line, pos); } Token new90(int line, int pos) { return new TMult(line, pos); } Token new91(int line, int pos) { return new TDiv(line, pos); } Token new92(String text, int line, int pos) { return new TFullIdentifier(text, line, pos); } Token new93(String text, int line, int pos) { return new TQuotedName(text, line, pos); } Token new94(String text, int line, int pos) { return new TIdentifier(text, line, pos); } Token new95(String text, int line, int pos) { return new TAtIdentifier(text, line, pos); } Token new96(String text, int line, int pos) { return new TBoolConstant(text, line, pos); } Token new97(String text, int line, int pos) { return new TIntegerConstant(text, line, pos); } Token new98(String text, int line, int pos) { return new TFloatConstant(text, line, pos); } Token new99(String text, int line, int pos) { return new TStringConstant(text, line, pos); } private int getChar() throws IOException { if(eof) { return -1; } int result = in.read(); if(result == -1) { eof = true; } return result; } private void pushBack(int acceptLength) throws IOException { int length = text.length(); for(int i = length - 1; i >= acceptLength; i--) { eof = false; in.unread(text.charAt(i)); } } protected void unread(Token token) throws IOException { String text = token.getText(); int length = text.length(); for(int i = length - 1; i >= 0; i--) { eof = false; in.unread(text.charAt(i)); } pos = token.getPos() - 1; line = token.getLine() - 1; } private String getText(int acceptLength) { StringBuffer s = new StringBuffer(acceptLength); for(int i = 0; i < acceptLength; i++) { s.append(text.charAt(i)); } return s.toString(); } private static int[][][][] gotoTable; /* { { // INITIAL {{9, 9, 1}, {10, 10, 2}, {13, 13, 3}, {32, 32, 4}, {33, 33, 5}, {34, 34, 6}, {35, 35, 7}, {36, 36, 8}, {37, 37, 9}, {38, 38, 10}, {39, 39, 11}, {40, 40, 12}, {41, 41, 13}, {42, 42, 14}, {43, 43, 15}, {44, 44, 16}, {45, 45, 17}, {46, 46, 18}, {47, 47, 19}, {48, 48, 20}, {49, 57, 21}, {58, 58, 22}, {59, 59, 23}, {60, 60, 24}, {61, 61, 25}, {62, 62, 26}, {64, 64, 27}, {65, 90, 28}, {91, 91, 29}, {92, 92, 30}, {93, 93, 31}, {94, 94, 32}, {95, 95, 33}, {97, 97, 34}, {98, 98, 35}, {99, 99, 36}, {100, 100, 37}, {101, 101, 38}, {102, 102, 39}, {103, 103, 40}, {104, 104, 41}, {105, 105, 42}, {106, 107, 41}, {108, 108, 43}, {109, 109, 41}, {110, 110, 44}, {111, 111, 41}, {112, 112, 45}, {113, 113, 41}, {114, 114, 46}, {115, 115, 47}, {116, 116, 48}, {117, 117, 49}, {118, 118, 50}, {119, 119, 51}, {120, 122, 41}, {123, 123, 52}, {124, 124, 53}, {125, 125, 54}, }, {{9, 32, -2}, {47, 47, 55}, }, {{9, 47, -3}, }, {{9, 47, -3}, }, {{9, 47, -3}, }, {{61, 61, 56}, }, {{0, 33, 57}, {34, 34, 58}, {35, 91, 59}, {92, 92, 60}, {93, 127, 61}, }, {{45, 45, 62}, {73, 73, 63}, {78, 78, 64}, }, {{36, 36, 65}, {46, 46, 66}, {48, 57, 67}, {65, 90, 68}, {92, 92, 69}, {95, 95, 70}, {97, 122, 71}, }, {}, {}, {{0, 9, 72}, {11, 12, 72}, {14, 38, 72}, {40, 65535, 72}, }, {}, {}, {}, {}, {}, {}, {}, {{42, 42, 73}, {47, 47, 74}, }, {{46, 46, 75}, {48, 55, 76}, {56, 57, 21}, {76, 76, 77}, {88, 88, 78}, {120, 120, 79}, }, {{46, 46, 75}, {48, 57, 21}, {76, 76, 77}, }, {{61, 61, 80}, }, {}, {{60, 60, 81}, {61, 61, 82}, {99, 99, 83}, {105, 105, 84}, }, {{61, 61, 85}, }, {{61, 61, 86}, {62, 62, 87}, }, {{99, 99, 88}, {112, 112, 89}, {116, 116, 90}, }, {{36, 122, -10}, }, {}, {{32, 32, 91}, {34, 34, 92}, {35, 35, 93}, {39, 39, 94}, {46, 46, 95}, {92, 92, 96}, {98, 98, 97}, {102, 102, 98}, {110, 110, 99}, {114, 114, 100}, {116, 116, 101}, {117, 117, 102}, }, {}, {}, {{36, 122, -10}, }, {{36, 95, -10}, {97, 97, 71}, {98, 98, 103}, {99, 109, 71}, {110, 110, 104}, {111, 122, 71}, }, {{36, 95, -10}, {97, 110, 71}, {111, 111, 105}, {112, 113, 71}, {114, 114, 106}, {115, 120, 71}, {121, 121, 107}, {122, 122, 71}, }, {{36, 95, -10}, {97, 97, 108}, {98, 103, 71}, {104, 104, 109}, {105, 107, 71}, {108, 108, 110}, {109, 109, 111}, {110, 122, 71}, }, {{36, 95, -10}, {97, 100, 71}, {101, 101, 112}, {102, 110, 71}, {111, 111, 113}, {112, 122, 71}, }, {{36, 95, -10}, {97, 109, 71}, {110, 110, 114}, {111, 119, 71}, {120, 120, 115}, {121, 122, 71}, }, {{36, 95, -10}, {97, 97, 116}, {98, 104, 71}, {105, 105, 117}, {106, 107, 71}, {108, 108, 118}, {109, 113, 71}, {114, 114, 119}, {115, 122, 71}, }, {{36, 110, -37}, {111, 111, 120}, {112, 122, 71}, }, {{36, 122, -10}, }, {{36, 95, -10}, {97, 101, 71}, {102, 102, 121}, {103, 108, 71}, {109, 109, 122}, {110, 110, 123}, {111, 122, 71}, }, {{36, 100, -39}, {101, 101, 124}, {102, 110, 71}, {111, 111, 125}, {112, 122, 71}, }, {{36, 95, -10}, {97, 97, 126}, {98, 100, 71}, {101, 101, 127}, {102, 110, 71}, {111, 111, 128}, {112, 116, 71}, {117, 117, 129}, {118, 122, 71}, }, {{36, 95, -10}, {97, 113, 71}, {114, 114, 130}, {115, 116, 71}, {117, 117, 131}, {118, 122, 71}, }, {{36, 100, -39}, {101, 101, 132}, {102, 122, 71}, }, {{36, 95, -10}, {97, 103, 71}, {104, 104, 133}, {105, 111, 71}, {112, 112, 134}, {113, 115, 71}, {116, 116, 135}, {117, 120, 71}, {121, 121, 136}, {122, 122, 71}, }, {{36, 95, -10}, {97, 97, 137}, {98, 103, 71}, {104, 104, 138}, {105, 110, 71}, {111, 111, 139}, {112, 113, 71}, {114, 114, 140}, {115, 122, 71}, }, {{36, 109, -40}, {110, 110, 141}, {111, 122, 71}, }, {{36, 95, -10}, {97, 104, 71}, {105, 105, 142}, {106, 110, 71}, {111, 111, 143}, {112, 122, 71}, }, {{36, 104, -52}, {105, 105, 144}, {106, 122, 71}, }, {}, {}, {}, {{42, 47, -21}, }, {}, {{0, 127, -8}, }, {}, {{0, 127, -8}, }, {{32, 32, 145}, {34, 34, 146}, {35, 35, 147}, {39, 39, 148}, {46, 46, 149}, {92, 92, 150}, {98, 98, 151}, {102, 102, 152}, {110, 110, 153}, {114, 114, 154}, {116, 116, 155}, {117, 117, 156}, }, {{0, 127, -8}, }, {{73, 73, 63}, }, {{110, 110, 157}, }, {{97, 97, 158}, }, {{36, 122, -10}, }, {{36, 36, 159}, {65, 90, 160}, {92, 92, 161}, {95, 95, 162}, {97, 122, 163}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{32, 32, 164}, {34, 34, 165}, {35, 35, 166}, {39, 39, 167}, {46, 46, 168}, {92, 92, 169}, {98, 98, 170}, {102, 102, 171}, {110, 110, 172}, {114, 114, 173}, {116, 116, 174}, {117, 117, 175}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{0, 38, -13}, {39, 39, 176}, {40, 65535, 72}, }, {{0, 41, 177}, {42, 42, 178}, {43, 65535, 177}, }, {{0, 8, 179}, {9, 9, 180}, {10, 10, 2}, {11, 12, 179}, {13, 13, 3}, {14, 31, 179}, {32, 32, 181}, {33, 46, 179}, {47, 47, 182}, {48, 65535, 179}, }, {{48, 57, 183}, }, {{46, 76, -22}, }, {}, {{48, 57, 184}, {65, 70, 185}, {97, 102, 186}, }, {{48, 102, -80}, }, {}, {}, {}, {{108, 108, 187}, }, {{110, 110, 188}, }, {}, {}, {{62, 62, 189}, }, {{97, 97, 190}, }, {{97, 97, 191}, }, {{104, 104, 192}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{48, 57, 193}, {65, 70, 194}, {97, 102, 195}, }, {{36, 95, -10}, {97, 114, 71}, {115, 115, 196}, {116, 122, 71}, }, {{36, 109, -40}, {110, 110, 197}, {111, 122, 71}, }, {{36, 110, -37}, {111, 111, 198}, {112, 122, 71}, }, {{36, 100, -39}, {101, 101, 199}, {102, 122, 71}, }, {{36, 95, -10}, {97, 115, 71}, {116, 116, 200}, {117, 122, 71}, }, {{36, 114, -105}, {115, 115, 201}, {116, 116, 202}, {117, 122, 71}, }, {{36, 95, -10}, {97, 97, 203}, {98, 122, 71}, }, {{36, 95, -10}, {97, 97, 204}, {98, 114, 71}, {115, 115, 205}, {116, 122, 71}, }, {{36, 95, -10}, {97, 111, 71}, {112, 112, 206}, {113, 122, 71}, }, {{36, 101, -44}, {102, 102, 207}, {103, 122, 71}, }, {{36, 95, -10}, {97, 116, 71}, {117, 117, 208}, {118, 122, 71}, }, {{36, 115, -109}, {116, 116, 209}, {117, 117, 210}, {118, 122, 71}, }, {{36, 104, -52}, {105, 105, 211}, {106, 115, 71}, {116, 116, 212}, {117, 122, 71}, }, {{36, 95, -10}, {97, 107, 71}, {108, 108, 213}, {109, 122, 71}, }, {{36, 109, -40}, {110, 110, 214}, {111, 122, 71}, }, {{36, 110, -37}, {111, 111, 215}, {112, 122, 71}, }, {{36, 110, -37}, {111, 111, 216}, {112, 122, 71}, }, {{36, 115, -109}, {116, 116, 217}, {117, 122, 71}, }, {{36, 122, -10}, }, {{36, 111, -113}, {112, 112, 218}, {113, 122, 71}, }, {{36, 114, -105}, {115, 115, 219}, {116, 116, 220}, {117, 122, 71}, }, {{36, 109, -40}, {110, 110, 221}, {111, 122, 71}, }, {{36, 109, -40}, {110, 110, 222}, {111, 111, 223}, {112, 122, 71}, }, {{36, 115, -109}, {116, 116, 224}, {117, 122, 71}, }, {{36, 95, -10}, {97, 102, 71}, {103, 103, 225}, {104, 118, 71}, {119, 119, 226}, {120, 122, 71}, }, {{36, 111, -113}, {112, 112, 227}, {113, 122, 71}, }, {{36, 107, -118}, {108, 108, 228}, {109, 122, 71}, }, {{36, 104, -52}, {105, 105, 229}, {106, 110, 71}, {111, 111, 230}, {112, 122, 71}, }, {{36, 97, -36}, {98, 98, 231}, {99, 122, 71}, }, {{36, 115, -109}, {116, 116, 232}, {117, 122, 71}, }, {{36, 110, -37}, {111, 111, 233}, {112, 122, 71}, }, {{36, 100, -39}, {101, 101, 234}, {102, 122, 71}, }, {{36, 95, -10}, {97, 97, 235}, {98, 113, 71}, {114, 114, 236}, {115, 122, 71}, }, {{36, 109, -40}, {110, 110, 237}, {111, 122, 71}, }, {{36, 97, -36}, {98, 98, 238}, {99, 122, 71}, }, {{36, 113, -47}, {114, 114, 239}, {115, 122, 71}, }, {{36, 122, -10}, }, {{36, 95, -10}, {97, 97, 240}, {98, 116, 71}, {117, 117, 241}, {118, 122, 71}, }, {{36, 95, -10}, {97, 106, 71}, {107, 107, 242}, {108, 122, 71}, }, {{36, 113, -47}, {114, 114, 243}, {115, 122, 71}, }, {{36, 104, -52}, {105, 105, 244}, {106, 107, 71}, {108, 108, 245}, {109, 122, 71}, }, {{36, 115, -109}, {116, 116, 246}, {117, 122, 71}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{48, 57, 247}, {65, 70, 248}, {97, 102, 249}, }, {{102, 102, 250}, }, {{78, 78, 251}, }, {{36, 36, 252}, {46, 46, 66}, {48, 57, 253}, {65, 90, 254}, {92, 92, 255}, {95, 95, 256}, {97, 122, 257}, }, {{36, 122, -161}, }, {{32, 32, 258}, {34, 34, 259}, {35, 35, 260}, {39, 39, 261}, {46, 46, 262}, {92, 92, 263}, {98, 98, 264}, {102, 102, 265}, {110, 110, 266}, {114, 114, 267}, {116, 116, 268}, {117, 117, 269}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{48, 57, 270}, {65, 70, 271}, {97, 102, 272}, }, {}, {{0, 65535, -75}, }, {{0, 41, 273}, {42, 42, 178}, {43, 46, 273}, {47, 47, 274}, {48, 65535, 273}, }, {{0, 65535, -76}, }, {{0, 65535, -76}, }, {{0, 65535, -76}, }, {{0, 32, -76}, {33, 41, 179}, {42, 42, 275}, {43, 46, 179}, {47, 47, 276}, {48, 65535, 179}, }, {{48, 57, 183}, {69, 69, 277}, {70, 70, 278}, {101, 101, 279}, {102, 102, 280}, }, {{48, 70, -80}, {76, 76, 77}, {97, 102, 186}, }, {{48, 102, -186}, }, {{48, 102, -186}, }, {{105, 105, 281}, }, {{105, 105, 282}, }, {}, {{117, 117, 283}, }, {{114, 114, 284}, }, {{105, 105, 285}, }, {{48, 57, 286}, {65, 70, 287}, {97, 102, 288}, }, {{48, 102, -195}, }, {{48, 102, -195}, }, {{36, 115, -109}, {116, 116, 289}, {117, 122, 71}, }, {{36, 110, -37}, {111, 111, 290}, {112, 122, 71}, }, {{36, 107, -118}, {108, 108, 291}, {109, 122, 71}, }, {{36, 95, -10}, {97, 97, 292}, {98, 122, 71}, }, {{36, 100, -39}, {101, 101, 293}, {102, 122, 71}, }, {{36, 100, -39}, {101, 101, 294}, {102, 122, 71}, }, {{36, 95, -10}, {97, 98, 71}, {99, 99, 295}, {100, 122, 71}, }, {{36, 113, -47}, {114, 114, 296}, {115, 122, 71}, }, {{36, 114, -105}, {115, 115, 297}, {116, 122, 71}, }, {{36, 122, -10}, }, {{36, 102, -129}, {103, 103, 298}, {104, 107, 71}, {108, 108, 299}, {109, 122, 71}, }, {{36, 95, -10}, {97, 97, 300}, {98, 122, 71}, }, {{36, 97, -36}, {98, 98, 301}, {99, 122, 71}, }, {{36, 100, -39}, {101, 101, 302}, {102, 122, 71}, }, {{36, 95, -10}, {97, 108, 71}, {109, 109, 303}, {110, 122, 71}, }, {{36, 115, -109}, {116, 116, 304}, {117, 122, 71}, }, {{36, 100, -39}, {101, 101, 305}, {102, 122, 71}, }, {{36, 114, -105}, {115, 115, 306}, {116, 122, 71}, }, {{36, 95, -10}, {97, 97, 307}, {98, 122, 71}, }, {{36, 95, -10}, {97, 97, 308}, {98, 122, 71}, }, {{36, 108, -212}, {109, 109, 309}, {110, 122, 71}, }, {{36, 110, -37}, {111, 111, 310}, {112, 122, 71}, }, {{36, 107, -118}, {108, 108, 311}, {109, 122, 71}, }, {{36, 115, -109}, {116, 116, 312}, {117, 122, 71}, }, {{36, 100, -39}, {101, 101, 313}, {102, 122, 71}, }, {{36, 102, -129}, {103, 103, 314}, {104, 122, 71}, }, {{36, 102, -129}, {103, 103, 315}, {104, 122, 71}, }, {{36, 106, -143}, {107, 107, 316}, {108, 122, 71}, }, {{36, 104, -52}, {105, 105, 317}, {106, 122, 71}, }, {{36, 122, -10}, }, {{36, 95, -10}, {97, 97, 318}, {98, 108, 71}, {109, 109, 319}, {110, 122, 71}, }, {{36, 122, -10}, }, {{36, 107, -118}, {108, 108, 320}, {109, 122, 71}, }, {{36, 95, -10}, {97, 117, 71}, {118, 118, 321}, {119, 122, 71}, }, {{36, 115, -109}, {116, 116, 322}, {117, 122, 71}, }, {{36, 107, -118}, {108, 108, 323}, {109, 122, 71}, }, {{36, 116, -115}, {117, 117, 324}, {118, 122, 71}, }, {{36, 113, -47}, {114, 114, 325}, {115, 122, 71}, }, {{36, 98, -204}, {99, 99, 326}, {100, 122, 71}, }, {{36, 115, -109}, {116, 116, 327}, {117, 122, 71}, }, {{36, 104, -52}, {105, 105, 328}, {106, 122, 71}, }, {{36, 98, -204}, {99, 99, 329}, {100, 122, 71}, }, {{36, 107, -118}, {108, 108, 330}, {109, 122, 71}, }, {{36, 110, -37}, {111, 111, 331}, {112, 122, 71}, }, {{36, 109, -40}, {110, 110, 332}, {111, 122, 71}, }, {{36, 100, -39}, {101, 101, 333}, {102, 122, 71}, }, {{36, 109, -40}, {110, 110, 334}, {111, 122, 71}, }, {{36, 115, -109}, {116, 116, 335}, {117, 122, 71}, }, {{36, 95, -10}, {97, 99, 71}, {100, 100, 336}, {101, 122, 71}, }, {{36, 95, -10}, {97, 97, 337}, {98, 122, 71}, }, {{36, 103, -49}, {104, 104, 338}, {105, 122, 71}, }, {{48, 57, 339}, {65, 70, 340}, {97, 102, 341}, }, {{48, 102, -249}, }, {{48, 102, -249}, }, {{105, 105, 342}, }, {{70, 70, 343}, {102, 102, 344}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{32, 32, 345}, {34, 34, 346}, {35, 35, 347}, {39, 39, 348}, {46, 46, 349}, {92, 92, 350}, {98, 98, 351}, {102, 102, 352}, {110, 110, 353}, {114, 114, 354}, {116, 116, 355}, {117, 117, 356}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{48, 57, 357}, {65, 70, 358}, {97, 102, 359}, }, {{48, 57, 360}, {65, 70, 361}, {97, 102, 362}, }, {{48, 102, -272}, }, {{48, 102, -272}, }, {{0, 41, 363}, {42, 42, 364}, {43, 65535, 363}, }, {{9, 47, -3}, }, {{0, 8, 365}, {9, 9, 366}, {10, 10, 367}, {11, 12, 365}, {13, 13, 368}, {14, 31, 365}, {32, 32, 369}, {33, 41, 365}, {42, 42, 370}, {43, 46, 365}, {47, 47, 371}, {48, 65535, 365}, }, {{0, 65535, -184}, }, {{43, 43, 372}, {45, 45, 373}, {48, 57, 374}, }, {}, {{43, 57, -279}, }, {}, {{110, 110, 375}, }, {{116, 116, 376}, }, {{103, 103, 377}, }, {{97, 97, 378}, }, {{115, 115, 379}, }, {{48, 57, 380}, {65, 70, 381}, {97, 102, 382}, }, {{48, 102, -288}, }, {{48, 102, -288}, }, {{36, 113, -47}, {114, 114, 383}, {115, 122, 71}, }, {{36, 115, -109}, {116, 116, 384}, {117, 122, 71}, }, {{36, 100, -39}, {101, 101, 385}, {102, 122, 71}, }, {{36, 106, -143}, {107, 107, 386}, {108, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 103, -49}, {104, 104, 387}, {105, 122, 71}, }, {{36, 122, -10}, }, {{36, 114, -105}, {115, 115, 388}, {116, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 116, -115}, {117, 117, 389}, {118, 122, 71}, }, {{36, 107, -118}, {108, 108, 390}, {109, 122, 71}, }, {{36, 113, -47}, {114, 114, 391}, {115, 122, 71}, }, {{36, 122, -10}, }, {{36, 108, -212}, {109, 109, 392}, {110, 122, 71}, }, {{36, 109, -40}, {110, 110, 393}, {111, 122, 71}, }, {{36, 100, -39}, {101, 101, 394}, {102, 122, 71}, }, {{36, 107, -118}, {108, 108, 395}, {109, 122, 71}, }, {{36, 115, -109}, {116, 116, 396}, {117, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 100, -39}, {101, 101, 397}, {102, 122, 71}, }, {{36, 95, -10}, {97, 97, 398}, {98, 122, 71}, }, {{36, 113, -47}, {114, 114, 399}, {115, 122, 71}, }, {{36, 115, -109}, {116, 116, 400}, {117, 122, 71}, }, {{36, 122, -10}, }, {{36, 116, -115}, {117, 117, 401}, {118, 122, 71}, }, {{36, 117, -231}, {118, 118, 402}, {119, 122, 71}, }, {{36, 113, -47}, {114, 114, 403}, {115, 122, 71}, }, {{36, 116, -115}, {117, 117, 404}, {118, 122, 71}, }, {{36, 92, -10}, {95, 95, 405}, {97, 122, 71}, }, {{36, 95, -10}, {97, 97, 406}, {98, 122, 71}, }, {{36, 100, -39}, {101, 101, 407}, {102, 122, 71}, }, {{36, 104, -52}, {105, 105, 408}, {106, 122, 71}, }, {{36, 113, -47}, {114, 114, 409}, {115, 122, 71}, }, {{36, 115, -109}, {116, 116, 410}, {117, 122, 71}, }, {{36, 104, -52}, {105, 105, 411}, {106, 122, 71}, }, {{36, 104, -52}, {105, 105, 412}, {106, 122, 71}, }, {{36, 98, -204}, {99, 99, 413}, {100, 122, 71}, }, {{36, 103, -49}, {104, 104, 414}, {105, 122, 71}, }, {{36, 100, -39}, {101, 101, 415}, {102, 122, 71}, }, {{36, 95, -10}, {97, 118, 71}, {119, 119, 416}, {120, 122, 71}, }, {{36, 114, -105}, {115, 115, 417}, {116, 122, 71}, }, {{36, 122, -10}, }, {{36, 110, -37}, {111, 111, 418}, {112, 122, 71}, }, {{36, 116, -115}, {117, 117, 419}, {118, 122, 71}, }, {{36, 122, -10}, }, {{36, 115, -109}, {116, 116, 420}, {117, 122, 71}, }, {{36, 122, -10}, }, {{48, 57, 421}, {65, 70, 422}, {97, 102, 423}, }, {{48, 102, -341}, }, {{48, 102, -341}, }, {{110, 110, 424}, }, {}, {}, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{48, 57, 425}, {65, 70, 426}, {97, 102, 427}, }, {{48, 57, 428}, {65, 70, 429}, {97, 102, 430}, }, {{48, 102, -359}, }, {{48, 102, -359}, }, {{48, 57, 431}, {65, 70, 432}, {97, 102, 433}, }, {{48, 102, -362}, }, {{48, 102, -362}, }, {{0, 65535, -275}, }, {{0, 41, 273}, {42, 42, 364}, {43, 65535, -180}, }, {{0, 65535, -277}, }, {{0, 65535, -277}, }, {{0, 8, 177}, {9, 9, 434}, {10, 10, 367}, {11, 12, 177}, {13, 13, 368}, {14, 31, 177}, {32, 32, 435}, {33, 41, 177}, {42, 42, 178}, {43, 46, 177}, {47, 47, 436}, {48, 65535, 177}, }, {{0, 65535, -369}, }, {{0, 65535, -277}, }, {{0, 8, 437}, {9, 9, 438}, {10, 10, 439}, {11, 12, 437}, {13, 13, 440}, {14, 31, 437}, {32, 32, 441}, {33, 41, 437}, {42, 42, 370}, {43, 46, 437}, {47, 47, 442}, {48, 65535, 437}, }, {{0, 41, -277}, {42, 42, 443}, {43, 46, 365}, {47, 47, 444}, {48, 65535, 365}, }, {{48, 57, 374}, }, {{48, 57, 374}, }, {{48, 57, 374}, {70, 70, 278}, {102, 102, 280}, }, {{105, 105, 445}, }, {{62, 62, 446}, }, {{104, 104, 447}, }, {{109, 109, 448}, }, {{58, 58, 449}, }, {{48, 57, 450}, {65, 70, 451}, {97, 102, 452}, }, {{48, 102, -382}, }, {{48, 102, -382}, }, {{36, 95, -10}, {97, 97, 453}, {98, 122, 71}, }, {{36, 95, -10}, {97, 97, 454}, {98, 122, 71}, }, {{36, 95, -10}, {97, 97, 455}, {98, 122, 71}, }, {{36, 111, -113}, {112, 112, 456}, {113, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 107, -118}, {108, 108, 457}, {109, 122, 71}, }, {{36, 100, -39}, {101, 101, 458}, {102, 122, 71}, }, {{36, 108, -212}, {109, 109, 459}, {110, 122, 71}, }, {{36, 110, -37}, {111, 111, 460}, {112, 122, 71}, }, {{36, 99, -246}, {100, 100, 461}, {101, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 108, -212}, {109, 109, 462}, {110, 122, 71}, }, {{36, 109, -40}, {110, 110, 463}, {111, 122, 71}, }, {{36, 101, -44}, {102, 102, 464}, {103, 122, 71}, }, {{36, 103, -49}, {104, 104, 465}, {105, 122, 71}, }, {{36, 111, -113}, {112, 112, 466}, {113, 122, 71}, }, {{36, 100, -39}, {101, 101, 467}, {102, 122, 71}, }, {{36, 113, -47}, {114, 114, 468}, {115, 122, 71}, }, {{36, 107, -118}, {108, 108, 469}, {109, 122, 71}, }, {{36, 115, -109}, {116, 116, 470}, {117, 122, 71}, }, {{36, 115, -109}, {116, 116, 471}, {117, 122, 71}, }, {{36, 98, -204}, {99, 99, 472}, {100, 122, 71}, }, {{36, 98, -204}, {99, 99, 473}, {100, 122, 71}, }, {{36, 109, -40}, {110, 110, 474}, {111, 122, 71}, }, {{36, 122, -10}, }, {{36, 95, -10}, {97, 97, 475}, {98, 122, 71}, }, {{36, 98, -204}, {99, 99, 476}, {100, 122, 71}, }, {{36, 115, -109}, {116, 116, 477}, {117, 122, 71}, }, {{36, 113, -47}, {114, 114, 478}, {115, 122, 71}, }, {{36, 114, -105}, {115, 115, 479}, {116, 122, 71}, }, {{36, 114, -105}, {115, 115, 480}, {116, 122, 71}, }, {{36, 104, -52}, {105, 105, 481}, {106, 122, 71}, }, {{36, 118, -333}, {119, 119, 482}, {120, 122, 71}, }, {{36, 95, -10}, {97, 97, 483}, {98, 122, 71}, }, {{36, 104, -52}, {105, 105, 484}, {106, 122, 71}, }, {{48, 57, 485}, {65, 70, 486}, {97, 102, 487}, }, {{48, 102, -423}, }, {{48, 102, -423}, }, {{105, 105, 488}, }, {{48, 57, 489}, {65, 70, 490}, {97, 102, 491}, }, {{48, 102, -427}, }, {{48, 102, -427}, }, {{48, 57, 492}, {65, 70, 493}, {97, 102, 494}, }, {{48, 102, -430}, }, {{48, 102, -430}, }, {{48, 57, 495}, {65, 70, 496}, {97, 102, 497}, }, {{48, 102, -433}, }, {{48, 102, -433}, }, {{0, 65535, -369}, }, {{0, 65535, -369}, }, {{0, 41, 177}, {42, 42, 498}, {43, 46, 177}, {47, 47, 499}, {48, 65535, 177}, }, {{0, 8, 500}, {9, 9, 501}, {10, 10, 502}, {11, 12, 500}, {13, 13, 503}, {14, 31, 500}, {32, 32, 504}, {33, 41, 500}, {42, 42, 505}, {43, 46, 500}, {47, 47, 506}, {48, 65535, 500}, }, {{0, 65535, -439}, }, {{0, 8, 363}, {9, 9, 507}, {10, 10, 502}, {11, 12, 363}, {13, 13, 503}, {14, 31, 363}, {32, 32, 508}, {33, 41, 363}, {42, 42, 364}, {43, 46, 363}, {47, 47, 509}, {48, 65535, 363}, }, {{0, 65535, -441}, }, {{0, 65535, -439}, }, {{0, 65535, -184}, }, {{0, 8, 510}, {9, 9, 511}, {10, 10, 512}, {11, 12, 510}, {13, 13, 513}, {14, 31, 510}, {32, 32, 514}, {33, 41, 510}, {42, 42, 370}, {43, 46, 510}, {47, 47, 515}, {48, 65535, 510}, }, {{0, 65535, -373}, }, {{116, 116, 516}, }, {}, {{116, 116, 517}, }, {{101, 101, 518}, }, {}, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 98, -204}, {99, 99, 519}, {100, 122, 71}, }, {{36, 115, -109}, {116, 116, 520}, {117, 122, 71}, }, {{36, 109, -40}, {110, 110, 521}, {111, 122, 71}, }, {{36, 110, -37}, {111, 111, 522}, {112, 122, 71}, }, {{36, 115, -109}, {116, 116, 523}, {117, 122, 71}, }, {{36, 122, -10}, }, {{36, 110, -37}, {111, 111, 524}, {112, 122, 71}, }, {{36, 109, -40}, {110, 110, 525}, {111, 122, 71}, }, {{36, 114, -105}, {115, 115, 526}, {116, 122, 71}, }, {{36, 100, -39}, {101, 101, 527}, {102, 122, 71}, }, {{36, 98, -204}, {99, 99, 528}, {100, 122, 71}, }, {{36, 95, -10}, {97, 97, 529}, {98, 122, 71}, }, {{36, 110, -37}, {111, 111, 530}, {112, 122, 71}, }, {{36, 114, -105}, {115, 115, 531}, {116, 122, 71}, }, {{36, 122, -10}, }, {{36, 95, -10}, {97, 97, 532}, {98, 122, 71}, }, {{36, 115, -109}, {116, 116, 533}, {117, 122, 71}, }, {{36, 95, -10}, {97, 120, 71}, {121, 121, 534}, {122, 122, 71}, }, {{36, 100, -39}, {101, 101, 535}, {102, 122, 71}, }, {{36, 115, -109}, {116, 116, 536}, {117, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 107, -118}, {108, 108, 537}, {109, 122, 71}, }, {{36, 104, -52}, {105, 105, 538}, {106, 122, 71}, }, {{36, 101, -44}, {102, 102, 539}, {103, 122, 71}, }, {{36, 110, -37}, {111, 111, 540}, {112, 122, 71}, }, {{36, 118, -333}, {119, 119, 541}, {120, 122, 71}, }, {{36, 122, -10}, }, {{36, 100, -39}, {101, 101, 542}, {102, 122, 71}, }, {{36, 109, -40}, {110, 110, 543}, {111, 122, 71}, }, {{36, 107, -118}, {108, 108, 544}, {109, 122, 71}, }, {{36, 107, -118}, {108, 108, 545}, {109, 122, 71}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{0, 127, -8}, }, {{116, 116, 546}, }, {{48, 57, 547}, {65, 70, 548}, {97, 102, 549}, }, {{48, 102, -491}, }, {{48, 102, -491}, }, {{48, 57, 550}, {65, 70, 551}, {97, 102, 552}, }, {{48, 102, -494}, }, {{48, 102, -494}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{0, 41, 553}, {42, 42, 178}, {43, 46, 553}, {47, 47, 554}, {48, 65535, 553}, }, {{0, 65535, -277}, }, {{0, 65535, -439}, }, {{0, 65535, -439}, }, {{0, 65535, -441}, }, {{0, 65535, -441}, }, {{0, 65535, -439}, }, {{0, 41, -372}, {42, 42, 505}, {43, 65535, -372}, }, {{0, 41, -439}, {42, 42, 555}, {43, 46, 500}, {47, 47, 556}, {48, 65535, 500}, }, {{0, 65535, -441}, }, {{0, 65535, -441}, }, {{0, 41, 363}, {42, 42, 557}, {43, 46, 363}, {47, 47, 558}, {48, 65535, 363}, }, {{0, 8, 559}, {9, 9, 560}, {10, 10, 561}, {11, 12, 559}, {13, 13, 562}, {14, 31, 559}, {32, 32, 563}, {33, 41, 559}, {42, 42, 564}, {43, 46, 559}, {47, 47, 565}, {48, 65535, 559}, }, {{0, 65535, -512}, }, {{0, 8, 566}, {9, 9, 567}, {10, 10, 561}, {11, 12, 566}, {13, 13, 562}, {14, 31, 566}, {32, 32, 568}, {33, 41, 566}, {42, 42, 569}, {43, 46, 566}, {47, 47, 570}, {48, 65535, 566}, }, {{0, 65535, -514}, }, {{0, 65535, -512}, }, {{0, 65535, -373}, }, {{62, 62, 571}, }, {{101, 101, 572}, }, {{116, 116, 573}, }, {{36, 115, -109}, {116, 116, 574}, {117, 122, 71}, }, {{36, 104, -52}, {105, 105, 575}, {106, 122, 71}, }, {{36, 122, -10}, }, {{36, 104, -52}, {105, 105, 576}, {106, 122, 71}, }, {{36, 122, -10}, }, {{36, 109, -40}, {110, 110, 577}, {111, 122, 71}, }, {{36, 104, -52}, {105, 105, 578}, {106, 122, 71}, }, {{36, 122, -10}, }, {{36, 109, -40}, {110, 110, 579}, {111, 122, 71}, }, {{36, 100, -39}, {101, 101, 580}, {102, 122, 71}, }, {{36, 98, -204}, {99, 99, 581}, {100, 122, 71}, }, {{36, 101, -44}, {102, 102, 582}, {103, 122, 71}, }, {{36, 118, -333}, {119, 119, 583}, {120, 122, 71}, }, {{36, 120, -472}, {121, 121, 584}, {122, 122, 71}, }, {{36, 104, -52}, {105, 105, 585}, {106, 122, 71}, }, {{36, 111, -113}, {112, 112, 586}, {113, 122, 71}, }, {{36, 122, -10}, }, {{36, 100, -39}, {101, 101, 587}, {102, 122, 71}, }, {{36, 104, -52}, {105, 105, 588}, {106, 122, 71}, }, {{36, 109, -40}, {110, 110, 589}, {111, 122, 71}, }, {{36, 111, -113}, {112, 112, 590}, {113, 122, 71}, }, {{36, 109, -40}, {110, 110, 591}, {111, 122, 71}, }, {{36, 104, -52}, {105, 105, 592}, {106, 122, 71}, }, {{36, 109, -40}, {110, 110, 593}, {111, 122, 71}, }, {{36, 122, -10}, }, {{36, 104, -52}, {105, 105, 594}, {106, 122, 71}, }, {{36, 100, -39}, {101, 101, 595}, {102, 122, 71}, }, {{121, 121, 596}, }, {{48, 57, 597}, {65, 70, 598}, {97, 102, 599}, }, {{48, 102, -549}, }, {{48, 102, -549}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{0, 41, 566}, {42, 42, 569}, {43, 65535, 566}, }, {{0, 65535, -369}, }, {{0, 41, -445}, {42, 42, 564}, {43, 65535, -445}, }, {{0, 65535, -508}, }, {{0, 41, 553}, {42, 42, 569}, {43, 65535, -500}, }, {{0, 65535, -439}, }, {{0, 65535, -512}, }, {{0, 65535, -512}, }, {{0, 65535, -514}, }, {{0, 65535, -514}, }, {{0, 65535, -512}, }, {{0, 41, -372}, {42, 42, 564}, {43, 65535, -372}, }, {{0, 41, -512}, {42, 42, 600}, {43, 46, 559}, {47, 47, 601}, {48, 65535, 559}, }, {{0, 65535, -555}, }, {{0, 65535, -514}, }, {{0, 65535, -514}, }, {{0, 41, 273}, {42, 42, 569}, {43, 65535, -180}, }, {{0, 41, 566}, {42, 42, 602}, {43, 46, 566}, {47, 47, 603}, {48, 65535, 566}, }, {}, {{120, 120, 604}, }, {{101, 101, 605}, }, {{36, 122, -10}, }, {{36, 110, -37}, {111, 111, 606}, {112, 122, 71}, }, {{36, 109, -40}, {110, 110, 607}, {111, 122, 71}, }, {{36, 104, -52}, {105, 105, 608}, {106, 122, 71}, }, {{36, 115, -109}, {116, 116, 609}, {117, 122, 71}, }, {{36, 115, -109}, {116, 116, 610}, {117, 122, 71}, }, {{36, 110, -37}, {111, 111, 611}, {112, 122, 71}, }, {{36, 100, -39}, {101, 101, 612}, {102, 122, 71}, }, {{36, 122, -10}, }, {{36, 104, -52}, {105, 105, 613}, {106, 122, 71}, }, {{36, 122, -10}, }, {{36, 95, -10}, {97, 97, 614}, {98, 122, 71}, }, {{36, 100, -39}, {101, 101, 615}, {102, 122, 71}, }, {{36, 99, -246}, {100, 100, 616}, {101, 122, 71}, }, {{36, 109, -40}, {110, 110, 617}, {111, 122, 71}, }, {{36, 117, -231}, {118, 118, 618}, {119, 122, 71}, }, {{36, 122, -10}, }, {{36, 104, -52}, {105, 105, 619}, {106, 122, 71}, }, {{36, 115, -109}, {116, 116, 620}, {117, 122, 71}, }, {{36, 115, -109}, {116, 116, 621}, {117, 122, 71}, }, {{36, 109, -40}, {110, 110, 622}, {111, 122, 71}, }, {{36, 122, -10}, }, {{70, 102, -253}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{36, 122, -161}, }, {{0, 65535, -557}, }, {{0, 65535, -567}, }, {{0, 65535, -559}, }, {{0, 65535, -512}, }, {{99, 99, 623}, }, {{114, 114, 624}, }, {{36, 109, -40}, {110, 110, 625}, {111, 122, 71}, }, {{36, 115, -109}, {116, 116, 626}, {117, 122, 71}, }, {{36, 115, -109}, {116, 116, 627}, {117, 122, 71}, }, {{36, 110, -37}, {111, 111, 628}, {112, 122, 71}, }, {{36, 114, -105}, {115, 115, 629}, {116, 122, 71}, }, {{36, 101, -44}, {102, 102, 630}, {103, 122, 71}, }, {{36, 104, -52}, {105, 105, 631}, {106, 122, 71}, }, {{36, 115, -109}, {116, 116, 632}, {117, 122, 71}, }, {{36, 113, -47}, {114, 114, 633}, {115, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 117, -231}, {118, 118, 634}, {119, 122, 71}, }, {{36, 110, -37}, {111, 111, 635}, {112, 122, 71}, }, {{36, 95, -10}, {97, 121, 71}, {122, 122, 636}, }, {{36, 98, -204}, {99, 99, 637}, {100, 122, 71}, }, {{36, 122, -10}, }, {{36, 117, -231}, {118, 118, 638}, {119, 122, 71}, }, {{101, 101, 639}, }, {{48, 57, 640}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 110, -37}, {111, 111, 641}, {112, 122, 71}, }, {{36, 113, -47}, {114, 114, 642}, {115, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 109, -40}, {110, 110, 643}, {111, 122, 71}, }, {{36, 98, -204}, {99, 99, 644}, {100, 122, 71}, }, {{36, 113, -47}, {114, 114, 645}, {115, 122, 71}, }, {{36, 110, -37}, {111, 111, 646}, {112, 122, 71}, }, {{36, 106, -143}, {107, 107, 647}, {108, 122, 71}, }, {{36, 100, -39}, {101, 101, 648}, {102, 122, 71}, }, {{36, 103, -49}, {104, 104, 649}, {105, 122, 71}, }, {{36, 110, -37}, {111, 111, 650}, {112, 122, 71}, }, {{112, 112, 651}, }, {{48, 57, 640}, {58, 58, 652}, }, {{36, 113, -47}, {114, 114, 653}, {115, 122, 71}, }, {{36, 122, -10}, }, {{36, 117, -231}, {118, 118, 654}, {119, 122, 71}, }, {{36, 103, -49}, {104, 104, 655}, {105, 122, 71}, }, {{36, 95, -10}, {97, 97, 656}, {98, 122, 71}, }, {{36, 106, -143}, {107, 107, 657}, {108, 122, 71}, }, {{36, 100, -39}, {101, 101, 658}, {102, 122, 71}, }, {{36, 99, -246}, {100, 100, 659}, {101, 122, 71}, }, {{36, 122, -10}, }, {{36, 106, -143}, {107, 107, 660}, {108, 122, 71}, }, {{116, 116, 661}, }, {}, {{36, 122, -10}, }, {{36, 110, -37}, {111, 111, 662}, {112, 122, 71}, }, {{36, 122, -10}, }, {{36, 120, -472}, {121, 121, 663}, {122, 122, 71}, }, {{36, 100, -39}, {101, 101, 664}, {102, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 100, -39}, {101, 101, 665}, {102, 122, 71}, }, {{105, 105, 666}, }, {{36, 106, -143}, {107, 107, 667}, {108, 122, 71}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{36, 122, -10}, }, {{111, 111, 668}, }, {{36, 100, -39}, {101, 101, 669}, {102, 122, 71}, }, {{110, 110, 670}, }, {{36, 122, -10}, }, {}, } };*/ private static int[][] accept; /* { // INITIAL {-1, 0, 0, 0, 0, -1, -1, -1, 94, 78, 75, 72, 68, 69, 90, 88, 62, 89, 71, 91, 97, 97, 70, 65, 83, 74, 81, -1, 94, 66, -1, 67, 77, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 63, 76, 64, -1, 80, -1, 99, -1, -1, -1, -1, -1, -1, 94, -1, 94, 94, -1, 94, 94, -1, -1, 0, -1, 97, 97, -1, -1, 73, 85, 84, -1, -1, 79, 82, 86, -1, -1, -1, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, -1, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 59, 94, 94, 94, 94, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 92, -1, 92, 92, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, -1, 93, -1, -1, 0, 0, 0, 0, 98, 97, 97, 97, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 94, 94, 94, 94, 94, 94, 94, 94, 61, 32, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 21, 94, 94, 94, 94, 44, 45, 48, 94, 94, 94, 94, 49, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, -1, -1, -1, -1, 98, 92, 92, 92, -1, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, -1, -1, -1, -1, -1, 0, 0, 0, -1, 98, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, 94, 94, 94, 94, 18, 30, 94, 20, 94, 33, 34, 94, 94, 94, 12, 94, 94, 94, 94, 94, 58, 38, 94, 94, 94, 94, 22, 94, 94, 94, 94, 57, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 16, 94, 60, -1, -1, -1, -1, 98, 98, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, 94, 94, 94, 94, 31, 14, 94, 94, 94, 94, 94, 94, 2, 23, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 19, 94, 94, 94, 94, 94, 54, 94, 94, 94, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 94, -1, -1, 95, 94, 94, 94, 94, 94, 94, 94, 94, 24, 94, 94, 94, 94, 94, 94, 94, 94, 3, 94, 94, 94, 94, 94, 4, 50, 94, 7, 94, 94, 94, 55, 94, 94, 94, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 94, 94, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, 94, 94, 17, 94, 35, 94, 94, 27, 94, 94, 94, 94, 94, 94, 94, 94, 6, 94, 94, 94, 94, 94, 94, 94, 26, 94, 94, -1, -1, -1, -1, 92, 92, 92, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 94, -1, -1, 1, 94, 94, 94, 94, 94, 94, 94, 42, 94, 46, 94, 94, 94, 94, 94, 11, 94, 94, 94, 94, 10, 98, 92, 92, 92, 0, 0, -1, 0, -1, -1, 94, 94, 94, 94, 94, 94, 15, 94, 94, 25, 5, 94, 94, 94, 94, 9, 94, -1, -1, 13, 29, 94, 94, 28, 40, 94, 94, 94, 94, 94, 94, 94, 94, -1, -1, 94, 37, 94, 94, 94, 94, 94, 94, 53, 94, -1, 95, 36, 94, 43, 94, 94, 52, 8, 94, -1, 94, 47, 51, 56, -1, 94, -1, 41, 95, }, };*/ public static class State { public final static State INITIAL = new State(0); private int id; private State(int id) { this.id = id; } public int id() { return id; } } }