/* Generated By:JavaCC: Do not edit this line. AOTParseTokenManager.java */
//package AOT;

import java.util.*;

public class AOTParseTokenManager implements AOTParseConstants
{
  protected static final String jjadd_escapes(String str) {
    String retval = "";
    char ch;
    for (int i = 0; i < str.length(); i++) {
      if ((ch = str.charAt(i)) == 0) continue;
      if (ch == '\b') {
        retval += "\\b";
      } else if (ch == '\t') {
        retval += "\\t";
      } else if (ch == '\n') {
        retval += "\\n";
      } else if (ch == '\f') {
        retval += "\\f";
      } else if (ch == '\r') {
        retval += "\\r";
      } else if (ch == '\"') {
        retval += "\\\"";
      } else if (ch == '\'') {
        retval += "\\\'";
      } else if (ch == '\\') {
        retval += "\\\\";
      } else if (ch < 0x20 || ch > 0x7e) {
        String s = "0000" + Integer.toString(ch, 16);
        retval += "\\u" + s.substring(s.length() - 4, s.length());
      } else {
        retval += ch;
      }
    }
    return retval;
  }

static final long[] jjbitVec0 = { 0x1L, 0x0L,
              0xffffffffffffffffL, 0xffffffffffffffffL };
private final void jjMoveNfa_0(int[] oldStates, int[] newStates)
{
   int j, k;
   MainLoop :
   for (;;)
   {
      if (curChar < 64)
      {
         int i = jjnewStateCnt;
         jjnewStateCnt = 0;
         jjround++;
         long l = 1L << curChar;
         do
         {
            switch(oldStates[--i])
            {
               case 36:
                  if ((0x800000000000L & l) != 0L)
                  {
                     jjnextStates = jjstates25;
                     break;
                  }
                  else continue;
               case 37:
                  if ((0xffffffffffffdbffL & l) != 0L)
                  {
                     jjnextStates = jjstates25;
                     break;
                  }
                  else continue;
               case 38:
                  if ((0x2400L & l) != 0L)
                  {
                     if (jjcurKind > 5)
                        jjcurKind = 5;
                     continue;
                  }
                  else continue;
               case 39:
                  if ((0x40000000000L & l) != 0L)
                  {
                     jjnextStates = jjstates28;
                     break;
                  }
                  else continue;
               case 40:
                  if ((0xfffffbffffffffffL & l) != 0L)
                  {
                     jjnextStates = jjstates28;
                     break;
                  }
                  else continue;
               case 41:
                  if ((0x40000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 42;
                     newStates[jjnewStateCnt + 1] = 44;
                     jjnewStateCnt += 2;
                     continue;
                  }
                  else continue;
               case 42:
                  if ((0xffff7fffffffffffL & l) != 0L)
                  {
                     jjnextStates = jjstates26;
                     break;
                  }
                  else continue;
               case 43:
                  if ((0xfffffbffffffffffL & l) != 0L)
                  {
                     jjnextStates = jjstates26;
                     break;
                  }
                  else continue;
               case 44:
                  if ((0x800000000000L & l) != 0L)
                  {
                     if (jjcurKind > 6)
                        jjcurKind = 6;
                     continue;
                  }
                  else continue;
               case 0:
                  if ((0x400000000L & l) != 0L)
                  {
                     jjnextStates = jjstates0;
                     break;
                  }
                  else continue;
               case 1:
                  if ((0xfffffffbffffffffL & l) != 0L)
                  {
                     jjnextStates = jjstates0;
                     break;
                  }
                  else continue;
               case 3:
                  if ((0x400000000L & l) != 0L)
                  {
                     jjnextStates = jjstates0;
                     break;
                  }
                  else continue;
               case 4:
                  if ((0x400000000L & l) != 0L)
                  {
                     if (jjcurKind > 7)
                        jjcurKind = 7;
                     continue;
                  }
                  else continue;
               case 5:
                  if ((0x3ff000000000000L & l) != 0L)
                  {
                     if (jjcurKind > 8)
                        jjcurKind = 8;
                     newStates[jjnewStateCnt + 0] = 5;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 34:
                  if ((0x3ff000000000000L & l) != 0L)
                  {
                     if (jjcurKind > 27)
                        jjcurKind = 27;
                     newStates[jjnewStateCnt + 0] = 34;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 35:
                  if ((0x800000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 36;
                     newStates[jjnewStateCnt + 1] = 39;
                     jjnewStateCnt += 2;
                     continue;
                  }
                  else continue;
               default : continue;
            }
            j = jjnextStates.length;
            do
            {
               if (jjrounds[k = jjnextStates[--j]] != jjround)
               {
                  jjrounds[k] = jjround;
                  newStates[jjnewStateCnt++] = k;
               }
            } while (j != 0);
         } while(i != 0);
      }
      else if (curChar < 128)
      {
         int i = jjnewStateCnt;
         jjnewStateCnt = 0;
         jjround++;
         long l = 1L << (curChar & 077);
         do
         {
            switch(oldStates[--i])
            {
               case 37:
                     newStates[jjnewStateCnt + 0] = 37;
                     newStates[jjnewStateCnt + 1] = 38;
                     jjnewStateCnt += 2;
                     continue;
               case 40:
                     jjnextStates = jjstates28;
                     break;
               case 42:
                     jjnextStates = jjstates26;
                     break;
               case 43:
                     jjnextStates = jjstates26;
                     break;
               case 1:
                  if ((0xffffffffefffffffL & l) != 0L)
                  {
                     jjnextStates = jjstates0;
                     break;
                  }
                  else continue;
               case 2:
                  if ((0x10000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 3;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 3:
                  if ((0x14400010000000L & l) != 0L)
                  {
                     jjnextStates = jjstates0;
                     break;
                  }
                  else continue;
               case 8:
                  if ((0x200000000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 7;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 7:
                  if ((0x2000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 6;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 6:
                  if ((0x8000000000000L & l) != 0L)
                  {
                     if (jjcurKind > 12)
                        jjcurKind = 12;
                     continue;
                  }
                  else continue;
               case 10:
                  if ((0x400000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 9;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 9:
                  if ((0x800000000000L & l) != 0L)
                  {
                     if (jjcurKind > 12)
                        jjcurKind = 12;
                     continue;
                  }
                  else continue;
               case 14:
                  if ((0x10000000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 13;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 13:
                  if ((0x4000000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 12;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 12:
                  if ((0x20000000000000L & l) != 0L)
                  {
                     jjnextStates = jjstates6;
                     break;
                  }
                  else continue;
               case 11:
                  if ((0x2000000000L & l) != 0L)
                  {
                     if (jjcurKind > 12)
                        jjcurKind = 12;
                     continue;
                  }
                  else continue;
               case 18:
                  if ((0x4000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 17;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 17:
                  if ((0x200000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 16;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 16:
                  if ((0x100000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 15;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 15:
                  if ((0x8000000000000L & l) != 0L)
                  {
                     jjnextStates = jjstates6;
                     break;
                  }
                  else continue;
               case 22:
                  if ((0x10000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 21;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 21:
                  if ((0x2000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 20;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 20:
                  if ((0x100000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 19;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 19:
                  if ((0x1000000000000L & l) != 0L)
                  {
                     if (jjcurKind > 20)
                        jjcurKind = 20;
                     continue;
                  }
                  else continue;
               case 32:
                  if ((0x800000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 31;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 31:
                  if ((0x800000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 30;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 30:
                  if ((0x200000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 29;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 29:
                  if ((0x200000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 28;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 28:
                  if ((0x2000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 27;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 27:
                  if ((0x400000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 26;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 26:
                  if ((0x10000000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 25;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 25:
                  if ((0x200000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 24;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 24:
                  if ((0x4000000000000L & l) != 0L)
                  {
                     newStates[jjnewStateCnt + 0] = 23;
                     jjnewStateCnt += 1;
                     continue;
                  }
                  else continue;
               case 23:
                  if ((0x200000000000000L & l) != 0L)
                  {
                     if (jjcurKind > 20)
                        jjcurKind = 20;
                     continue;
                  }
                  else continue;
               case 33:
                  if ((0x7fffffe00000000L & l) != 0L)
                  {
                     if (jjcurKind > 27)
                        jjcurKind = 27;
                     jjnextStates = jjstates24;
                     break;
                  }
                  else continue;
               case 34:
                  if ((0x7fffffe87fffffeL & l) != 0L)
                  {
                     if (jjcurKind > 27)
                        jjcurKind = 27;
                     jjnextStates = jjstates24;
                     break;
                  }
                  else continue;
               default : continue;
            }
            j = jjnextStates.length;
            do
            {
               if (jjrounds[k = jjnextStates[--j]] != jjround)
               {
                  jjrounds[k] = jjround;
                  newStates[jjnewStateCnt++] = k;
               }
            } while (j != 0);
         } while(i != 0);
      }
      else
      {
         int i = jjnewStateCnt;
         jjnewStateCnt = 0;
         jjround++;
         int i2 = (curChar & 0xff) >> 6;
         int i1 = ((curChar >> 8) & 0xff) >> 6;
         long l2 = 1L << (curChar & 077);
         long l1 = 1L << ((curChar >> 8) & 077);
         Outer:
         do
         {
            switch(oldStates[--i])
            {
               case 37:
                  MatchLoop:
                  for(;;)
                  {
                     switch((curChar >> 8))
                     {
                        case 0:
                           if ((jjbitVec0[i2] & l2) == 0L)
                              continue Outer;
                           break MatchLoop;
                        default : break;
                     }
                     continue Outer;
                  }
                     newStates[jjnewStateCnt + 0] = 37;
                     newStates[jjnewStateCnt + 1] = 38;
                     jjnewStateCnt += 2;
                     continue;
               case 40:
                  MatchLoop:
                  for(;;)
                  {
                     switch((curChar >> 8))
                     {
                        case 0:
                           if ((jjbitVec0[i2] & l2) == 0L)
                              continue Outer;
                           break MatchLoop;
                        default : break;
                     }
                     continue Outer;
                  }
                     jjnextStates = jjstates28;
                     break;
               case 42:
                  MatchLoop:
                  for(;;)
                  {
                     switch((curChar >> 8))
                     {
                        case 0:
                           if ((jjbitVec0[i2] & l2) == 0L)
                              continue Outer;
                           break MatchLoop;
                        default : break;
                     }
                     continue Outer;
                  }
                     jjnextStates = jjstates26;
                     break;
               case 43:
                  MatchLoop:
                  for(;;)
                  {
                     switch((curChar >> 8))
                     {
                        case 0:
                           if ((jjbitVec0[i2] & l2) == 0L)
                              continue Outer;
                           break MatchLoop;
                        default : break;
                     }
                     continue Outer;
                  }
                     jjnextStates = jjstates26;
                     break;
               case 1:
                  MatchLoop:
                  for(;;)
                  {
                     switch((curChar >> 8))
                     {
                        case 0:
                           if ((jjbitVec0[i2] & l2) == 0L)
                              continue Outer;
                           break MatchLoop;
                        default : break;
                     }
                     continue Outer;
                  }
                     newStates[jjnewStateCnt + 0] = 1;
                     newStates[jjnewStateCnt + 1] = 2;
                     newStates[jjnewStateCnt + 2] = 4;
                     jjnewStateCnt += 3;
                     continue;
               default : continue;
            }
            j = jjnextStates.length;
            do
            {
               if (jjrounds[k = jjnextStates[--j]] != jjround)
               {
                  jjrounds[k] = jjround;
                  newStates[jjnewStateCnt++] = k;
               }
            } while (j != 0);
         } while(i != 0);
      }
      return;
   }
}
int[] StopStringLiteralDfa_0(int pos, long active0)
{
   switch (pos)
   {
      case 0:
         if ((active0 & 0x1c80000L) != 0L)
         {
            matchedToken.kind = 27;
            return jjstates40;
         }
         if ((active0 & 0x10000L) != 0L)
         {
            matchedToken.kind = 27;
            return jjstates39;
         }
         if ((active0 & 0x626e000L) != 0L)
         {
            matchedToken.kind = 27;
            return jjstates24;
         }
         return null;
      case 1:
         if ((active0 & 0x4000L) != 0L)
            return jjstates24;
         if ((active0 & 0x6a7a000L) != 0L)
         {
            if (jjmatchedPos != 1)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 1;
            }
            return jjstates24;
         }
         if ((active0 & 0x1480000L) != 0L)
         {
            if (jjmatchedPos != 1)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 1;
            }
            return jjstates41;
         }
         return null;
      case 2:
         if ((active0 & 0xa000L) != 0L)
            return jjstates24;
         if ((active0 & 0x7ef0000L) != 0L)
         {
            if (jjmatchedPos != 2)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 2;
            }
            return jjstates24;
         }
         return null;
      case 3:
         if ((active0 & 0x50000L) != 0L)
            return jjstates24;
         if ((active0 & 0x7ea0000L) != 0L)
         {
            if (jjmatchedPos != 3)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 3;
            }
            return jjstates24;
         }
         return null;
      case 4:
         if ((active0 & 0x200000L) != 0L)
            return jjstates24;
         if ((active0 & 0x7ca0000L) != 0L)
         {
            if (jjmatchedPos != 4)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 4;
            }
            return jjstates24;
         }
         return null;
      case 5:
         if ((active0 & 0x7ca0000L) != 0L)
         {
            if (jjmatchedPos != 5)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 5;
            }
            return jjstates24;
         }
         return null;
      case 6:
         if ((active0 & 0x7c00000L) != 0L)
         {
            if (jjmatchedPos != 6)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 6;
            }
            return jjstates24;
         }
         if ((active0 & 0xa0000L) != 0L)
            return jjstates24;
         return null;
      case 7:
         if ((active0 & 0x7c00000L) != 0L)
         {
            if (jjmatchedPos != 7)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 7;
            }
            return jjstates24;
         }
         return null;
      case 8:
         if ((active0 & 0x6400000L) != 0L)
            return jjstates24;
         if ((active0 & 0x1800000L) != 0L)
         {
            if (jjmatchedPos != 8)
            {
               matchedToken.kind = 27;
               jjmatchedPos = 8;
            }
            return jjstates24;
         }
         return null;
      case 9:
         if ((active0 & 0x1800000L) != 0L)
            return jjstates24;
         return null;
      default : 
         return null;
   }
}
void jjStartNfa_0(int pos, long active0)
{
   if ((jjstartStateSet = StopStringLiteralDfa_0(pos, active0)) != null)
   {
      jjnewStateCnt = jjstartStateSet.length;
      jjMoveNfa_0(jjstartStateSet, jjstateSet2);
      if (jjcurKind != 2147483647)
      {
         matchedToken.kind = jjcurKind;
         jjmatchedPos = pos + 1;
         jjcurKind = 2147483647;
      }
   }
   return;
}
long jjnewActive_00 = 0L, jjoldActive_00 = 0L;
private final void jjMoveStringLiteralDfa0_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
         switch(curChar)
         {
            case 99: 
               jjoldActive_00 = 0x1c80000L;
               break;
            case 97: 
               jjoldActive_00 = 0x2000L;
               break;
            case 95: 
               matchedToken.kind = 36;
               break ReturnLoop;
            case 93: 
               matchedToken.kind = 32;
               break ReturnLoop;
            case 91: 
               matchedToken.kind = 31;
               break ReturnLoop;
            case 61: 
               matchedToken.kind = 34;
               break ReturnLoop;
            case 58: 
               matchedToken.kind = 35;
               break ReturnLoop;
            case 46: 
               matchedToken.kind = 30;
               break ReturnLoop;
            case 44: 
               matchedToken.kind = 33;
               break ReturnLoop;
            case 41: 
               matchedToken.kind = 29;
               break ReturnLoop;
            case 40: 
               matchedToken.kind = 28;
               break ReturnLoop;
            case 32: 
               matchedToken.kind = 1;
               break ReturnLoop;
            case 116: 
               jjoldActive_00 = 0x10000L;
               break;
            case 115: 
               jjoldActive_00 = 0x6000000L;
               break;
            case 114: 
               jjoldActive_00 = 0x40000L;
               break;
            case 13: 
               matchedToken.kind = 3;
               break ReturnLoop;
            case 111: 
               jjoldActive_00 = 0x4000L;
               break;
            case 10: 
               matchedToken.kind = 4;
               break ReturnLoop;
            case 9: 
               matchedToken.kind = 2;
               break ReturnLoop;
            case 108: 
               jjoldActive_00 = 0x200000L;
               break;
            case 105: 
               jjoldActive_00 = 0x28000L;
               break;
            default : 
               curPos =  1;
               if (curChar < 128)
                  if ((jjstartStateSet = jjinitStates_0[curChar]) == null)
                     return;
               else 
                  jjstartStateSet = jjallInitStates_0;
               jjnewStateCnt = jjstartStateSet.length;
               jjMoveNfa_0(jjstartStateSet, jjstateSet2);
               if (jjcurKind != 2147483647)
               {
                  matchedToken.kind = jjcurKind;
                  jjcurKind = 2147483647;
               }
               return;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(0, jjoldActive_00); 
            curPos = 1;
            throw e;
         }
         jjMoveStringLiteralDfa1_0();
         return;
    }
   }
   curPos = 1;
   return;
}
private final void jjMoveStringLiteralDfa1_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 97: 
               if (((jjnewActive_00 = jjoldActive_00 & 0xa00000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 117: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x2000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 114: 
               if ((jjoldActive_00 & 0x4000L) != 0L)
               {
                  matchedToken.kind = 14;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 111: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x14c8000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 110: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x22000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 101: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x4010000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(1, jjnewActive_00); 
            curPos = 2;
            throw e;
         }
         jjMoveStringLiteralDfa2_0();
         return;
      }
      jjStartNfa_0(0, jjoldActive_00); 
      curPos = 2;
      return;
    }
    jjmatchedPos = 1;
    curPos = 2;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 2;
       jjcurKind = 2147483647;
    }
    curPos = 3;
    return;
   }
}
private final void jjMoveStringLiteralDfa2_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 100: 
               if ((jjnewActive_00 & 0x2000L) != 0L)
               {
                  matchedToken.kind = 13;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 99: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x20000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 98: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x200000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 120: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x10000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 119: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x40000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 116: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x800000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 115: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x2000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 114: 
               if ((jjnewActive_00 & 0x8000L) != 0L)
               {
                  matchedToken.kind = 15;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 110: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x1000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 108: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x4480000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(2, jjoldActive_00); 
            curPos = 3;
            throw e;
         }
         jjMoveStringLiteralDfa3_0();
         return;
      }
      jjStartNfa_0(1, jjnewActive_00); 
      curPos = 3;
      return;
    }
    jjmatchedPos = 2;
    curPos = 3;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 3;
       jjcurKind = 2147483647;
    }
    curPos = 4;
    return;
   }
}
private final void jjMoveStringLiteralDfa3_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 117: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x80000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 116: 
               if ((jjoldActive_00 & 0x10000L) != 0L)
               {
                  matchedToken.kind = 16;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 115: 
               if ((jjoldActive_00 & 0x40000L) != 0L)
               {
                  matchedToken.kind = 18;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               if (((jjnewActive_00 = jjoldActive_00 & 0x1000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 112: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x2000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 108: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x420000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 101: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x4a00000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(3, jjnewActive_00); 
            curPos = 4;
            throw e;
         }
         jjMoveStringLiteralDfa4_0();
         return;
      }
      jjStartNfa_0(2, jjoldActive_00); 
      curPos = 4;
      return;
    }
    jjmatchedPos = 3;
    curPos = 4;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 4;
       jjcurKind = 2147483647;
    }
    curPos = 5;
    return;
   }
}
private final void jjMoveStringLiteralDfa4_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 99: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x4000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 97: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x400000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 117: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x20000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 116: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x1000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 109: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x80000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 108: 
               if ((jjnewActive_00 & 0x200000L) != 0L)
               {
                  matchedToken.kind = 21;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 103: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x800000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 101: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x2000000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(4, jjoldActive_00); 
            curPos = 5;
            throw e;
         }
         jjMoveStringLiteralDfa5_0();
         return;
      }
      jjStartNfa_0(3, jjnewActive_00); 
      curPos = 5;
      return;
    }
    jjmatchedPos = 4;
    curPos = 5;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 5;
       jjcurKind = 2147483647;
    }
    curPos = 6;
    return;
   }
}
private final void jjMoveStringLiteralDfa5_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 100: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x20000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 116: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x4000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 114: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x1000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 112: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x400000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 111: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x800000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 110: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x2080000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(5, jjnewActive_00); 
            curPos = 6;
            throw e;
         }
         jjMoveStringLiteralDfa6_0();
         return;
      }
      jjStartNfa_0(4, jjoldActive_00); 
      curPos = 6;
      return;
    }
   }
}
private final void jjMoveStringLiteralDfa6_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 100: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x2000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 97: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x1000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 115: 
               if ((jjnewActive_00 & 0x80000L) != 0L)
               {
                  matchedToken.kind = 19;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               if (((jjoldActive_00 = jjnewActive_00 & 0x400000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 114: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x800000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 105: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x4000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 101: 
               if ((jjnewActive_00 & 0x20000L) != 0L)
               {
                  matchedToken.kind = 17;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(6, jjoldActive_00); 
            curPos = 7;
            throw e;
         }
         jjMoveStringLiteralDfa7_0();
         return;
      }
      jjStartNfa_0(5, jjnewActive_00); 
      curPos = 7;
      return;
    }
    jjmatchedPos = 6;
    curPos = 7;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 7;
       jjcurKind = 2147483647;
    }
    curPos = 8;
    return;
   }
}
private final void jjMoveStringLiteralDfa7_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 111: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x4000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 105: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x1800000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 101: 
               if (((jjnewActive_00 = jjoldActive_00 & 0x2400000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(7, jjnewActive_00); 
            curPos = 8;
            throw e;
         }
         jjMoveStringLiteralDfa8_0();
         return;
      }
      jjStartNfa_0(6, jjoldActive_00); 
      curPos = 8;
      return;
    }
   }
}
private final void jjMoveStringLiteralDfa8_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 100: 
               if ((jjnewActive_00 & 0x400000L) != 0L)
               {
                  matchedToken.kind = 22;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               else if ((jjnewActive_00 & 0x2000000L) != 0L)
               {
                  matchedToken.kind = 25;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 110: 
               if ((jjnewActive_00 & 0x4000000L) != 0L)
               {
                  matchedToken.kind = 26;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               if (((jjoldActive_00 = jjnewActive_00 & 0x1000000L)) == 0L)
                  break StartNfaLoop;
               break;
            case 101: 
               if (((jjoldActive_00 = jjnewActive_00 & 0x800000L)) == 0L)
                  break StartNfaLoop;
               break;
            default : 
               break StartNfaLoop;
         }
         try { curChar = input_stream.readChar(); }
         catch(java.io.IOException e) {
            StopStringLiteralDfa_0(8, jjoldActive_00); 
            curPos = 9;
            throw e;
         }
         jjMoveStringLiteralDfa9_0();
         return;
      }
      jjStartNfa_0(7, jjnewActive_00); 
      curPos = 9;
      return;
    }
    jjmatchedPos = 8;
    curPos = 9;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 9;
       jjcurKind = 2147483647;
    }
    curPos = 10;
    return;
   }
}
private final void jjMoveStringLiteralDfa9_0() throws java.io.IOException
{
   ReturnLoop:
   for (;;)
   {
    MainLoop:
    for (;;)
    {
      StartNfaLoop:
      for (;;)
      { 
         switch(curChar)
         {
            case 116: 
               if ((jjoldActive_00 & 0x1000000L) != 0L)
               {
                  matchedToken.kind = 24;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            case 115: 
               if ((jjoldActive_00 & 0x800000L) != 0L)
               {
                  matchedToken.kind = 23;
                  jjstartStateSet = jjstates24;
                  break MainLoop;
               }
               break StartNfaLoop;
            default : 
               break StartNfaLoop;
         }
      }
      jjStartNfa_0(8, jjoldActive_00); 
      curPos = 10;
      return;
    }
    jjmatchedPos = 9;
    curPos = 10;
    curChar = input_stream.readChar();
    jjnewStateCnt = jjstartStateSet.length;
    jjMoveNfa_0(jjstartStateSet, jjstateSet2);
    if (jjcurKind != 2147483647)
    {
       matchedToken.kind = jjcurKind;
       jjmatchedPos = 10;
       jjcurKind = 2147483647;
    }
    curPos = 11;
    return;
   }
}
static final int[] jjstates0 = { 1, 2, 4, };
static final int[] jjstates1 = { 3, };
static final int[] jjstates2 = { 5, };
static final int[] jjstates3 = { 6, };
static final int[] jjstates4 = { 7, };
static final int[] jjstates5 = { 9, };
static final int[] jjstates6 = { 11, };
static final int[] jjstates7 = { 12, };
static final int[] jjstates8 = { 13, };
static final int[] jjstates9 = { 15, };
static final int[] jjstates10 = { 16, };
static final int[] jjstates11 = { 17, };
static final int[] jjstates12 = { 19, };
static final int[] jjstates13 = { 20, };
static final int[] jjstates14 = { 21, };
static final int[] jjstates15 = { 23, };
static final int[] jjstates16 = { 24, };
static final int[] jjstates17 = { 25, };
static final int[] jjstates18 = { 26, };
static final int[] jjstates19 = { 27, };
static final int[] jjstates20 = { 28, };
static final int[] jjstates21 = { 29, };
static final int[] jjstates22 = { 30, };
static final int[] jjstates23 = { 31, };
static final int[] jjstates24 = { 34, };
static final int[] jjstates25 = { 37, 38, };
static final int[] jjstates26 = { 43, 41, };
static final int[] jjstates27 = { 42, 44, };
static final int[] jjstates28 = { 40, 41, };
static final int[] jjstates29 = { 36, 39, };
static final int[] jjallInitStates_0 = { 0, 5, 8, 10, 14, 18, 22, 32, 33, 35, };
static final int[] jjstates30 = { 0, };
static final int[] jjstates31 = { 35, };
static final int[] jjstates32 = { 33, };
static final int[] jjstates33 = { 32, 33, };
static final int[] jjstates34 = { 18, 33, };
static final int[] jjstates35 = { 22, 33, };
static final int[] jjstates36 = { 10, 33, };
static final int[] jjstates37 = { 14, 33, };
static final int[] jjstates38 = { 8, 33, };
static final int[] jjstates39 = { 13, 34, };
static final int[] jjstates40 = { 31, 34, };
static final int[] jjstates41 = { 30, 34, };
static final int[][] jjinitStates_0 = {
jjallInitStates_0, null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, jjstates30, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, jjstates31, jjstates2, jjstates2, jjstates2, 
jjstates2, jjstates2, jjstates2, jjstates2, jjstates2, 
jjstates2, jjstates2, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, null, null, null, null, 
null, jjstates32, jjstates32, jjstates33, jjstates32, 
jjstates32, jjstates34, jjstates32, jjstates35, jjstates32, 
jjstates32, jjstates32, jjstates32, jjstates32, jjstates36, 
jjstates32, jjstates32, jjstates32, jjstates32, jjstates32, 
jjstates37, jjstates32, jjstates32, jjstates32, jjstates32, 
jjstates38, jjstates32, null, null, null, 
null, null, };

public static final String[] jjstrLiteralImages = {
null, null, null, null, null, null, null, null, null, null, null, null, null, 
"\141\156\144", "\157\162", "\151\157\162", "\164\145\170\164", 
"\151\156\143\154\165\144\145", "\162\157\167\163", "\143\157\154\165\155\156\163", null, 
"\154\141\142\145\154", "\143\157\154\154\141\160\163\145\144", 
"\143\141\164\145\147\157\162\151\145\163", "\143\157\156\163\164\162\141\151\156\164", 
"\163\165\163\160\145\156\144\145\144", "\163\145\154\145\143\164\151\157\156", null, "\50", "\51", "\56", "\133", 
"\135", "\54", "\75", "\72", "\137", };
public static final String[] lexStateNames = {
   "DEFAULT", 
};
static final long[] jjtoToken = 
{
0x1ffffff180L,
};
static final long[] jjtoSkip = 
{
0x7eL,
};
ASCII_CharStream input_stream;
private int[] jjrounds = new int[45];
private int[] jjstateSet1 = new int[45];
private int[] jjstateSet2 = new int[45];
private int[] jjnextStates;
int curPos;
protected char curChar;
int jjcurKind = 2147483647;
AOTParseTokenManager jjme;
public AOTParseTokenManager(ASCII_CharStream stream)
{
input_stream = stream;
jjme = this;
}
public AOTParseTokenManager(ASCII_CharStream stream, int lexState)
{
input_stream = stream;
jjme = this;
   if (lexState >= 1 || lexState < 0)
   {
      System.out.println("Error: Ignoring invalid lexical state : " + lexState + ". Starting lexer in DEFAULT state.");
      curLexState = defaultLexState;
   }
   else
      curLexState = lexState;
}
public void ReInit(ASCII_CharStream stream)
{
int i;
jjcurKind = 2147483647;
curPos = jjmatchedPos = jjnewStateCnt = jjround = 0;
jjstartStateSet = null;
curChar = (char)0;
jjEOFSeen = false;
curLexState = defaultLexState;
input_stream = stream;
for (i = 45; i-- > 0;)
   jjrounds[i] = 0;
}
public void ReInit(ASCII_CharStream stream, int lexState)
{
int i;
jjcurKind = 2147483647;
curPos = jjmatchedPos = jjnewStateCnt = jjround = 0;
jjstartStateSet = null;
curChar = (char)0;
jjEOFSeen = false;
   if (lexState >= 1 || lexState < 0)
   {
      System.out.println("Error: Ignoring invalid lexical state : " + lexState + ". Reinitialzing lexer in DEFAULT state.");
      curLexState = defaultLexState;
   }
   else
      curLexState = lexState;
input_stream = stream;
for (i = 45; i-- > 0;)
   jjrounds[i] = 0;
}
public void SwitchTo(int lexState)
{
   if (lexState >= 1 || lexState < 0)
      System.out.println("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.");
   else
      curLexState = lexState;
}


int curLexState = 0;
int defaultLexState = 0;
int jjnewStateCnt;
int jjround;
private boolean jjEOFSeen = false;
int[] jjtmpStates = jjstateSet1;
int jjmatchedPos;
Token matchedToken;
Token jjspecialToken;
private int[] jjstartStateSet;

public Token getNextToken() throws ParseError
{
  matchedToken = new Token();

  EOFLoop : for (;;)
  {   
   try   
   {     
      curChar = input_stream.BeginToken();
   }     
   catch(java.io.IOException e)
   {        
      matchedToken.endLine = matchedToken.beginLine = input_stream.getBeginLine();
      matchedToken.endColumn = matchedToken.beginColumn = input_stream.getBeginColumn();
      matchedToken.kind = 0;
      matchedToken.image = "";
      return matchedToken;
   }

   try
   {
    for (;;)
    {
      matchedToken.kind = 2147483647;
      jjmatchedPos = 0;
      jjMoveStringLiteralDfa0_0();
      while (jjnewStateCnt != 0)
      {
         curChar = input_stream.readChar();
         jjMoveNfa_0(jjstateSet1 = jjstateSet2, jjstateSet2 = jjtmpStates);
         jjtmpStates = jjstateSet1;
         if (jjcurKind != 2147483647)
         {
            matchedToken.kind = jjcurKind;
            jjcurKind = 2147483647;
            jjmatchedPos = curPos++;
         }
         else
            curPos++;
      }

      if (matchedToken.kind != 2147483647)
      {
         if (jjmatchedPos + 1 < curPos)
            input_stream.backup(curPos - jjmatchedPos - 1);

         if ((jjtoToken[matchedToken.kind >> 6] &
             (1L << (matchedToken.kind & 077))) != 0L)
         {
            if ((matchedToken.image = jjstrLiteralImages[matchedToken.kind]) == null)
               matchedToken.image = input_stream.GetImage();
            matchedToken.beginLine = input_stream.getBeginLine();
            matchedToken.beginColumn = input_stream.getBeginColumn();
            matchedToken.endLine = input_stream.getEndLine();
            matchedToken.endColumn = input_stream.getEndColumn();
            return matchedToken;
         }
         else
         {
            continue EOFLoop;
         }
      }
      else
      {
         jjme.error_line = input_stream.getEndLine();
         jjme.error_column = input_stream.getEndColumn();
         input_stream.backup(1);
         jjme.error_after = curPos <= 1 ? "" : jjadd_escapes(input_stream.GetImage());
         jjme.LexicalError();

         throw new ParseError();
      }
    }
   }
   catch (java.io.IOException e)
   {
      switch(curLexState)
      {
         default : break;
      }
      if (matchedToken.kind != 2147483647 && matchedToken.kind != 0)
      {
         if (jjmatchedPos + 1 < curPos)
            input_stream.backup(curPos - jjmatchedPos - 1);

         if ((jjtoToken[matchedToken.kind >> 6] &
             (1L << (matchedToken.kind & 077))) != 0L)
         {
            if ((matchedToken.image = jjstrLiteralImages[matchedToken.kind]) == null)
               matchedToken.image = input_stream.GetImage();
            matchedToken.beginLine = input_stream.getBeginLine();
            matchedToken.beginColumn = input_stream.getBeginColumn();
            matchedToken.endLine = input_stream.getEndLine();
            matchedToken.endColumn = input_stream.getEndColumn();
            return matchedToken;
         }
         else
         {
            continue EOFLoop;
         }
      }

      jjme.error_line = input_stream.getEndLine();
      jjme.error_column = input_stream.getEndColumn();
      input_stream.backup(1);
      jjEOFSeen = true;
      jjme.error_after = curPos <= 1 ? "" : jjadd_escapes(input_stream.GetImage());
      jjme.LexicalError();

      throw new ParseError();
   }
  }
}

protected int error_line, error_column;
protected String error_after;
protected void LexicalError()
{
   System.err.println("Lexical error at line " +
        error_line + ", column " +
        error_column + ".  Encountered: " +
        (jjEOFSeen ? "<EOF>" : ("\"" + jjadd_escapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
        "after : \"" + jjme.error_after + "\"");
}
}
