You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ap...@apache.org on 2022/08/31 06:04:25 UTC

[sling-org-apache-sling-resource-filter] branch SLING-11562 created (now 04c7417)

This is an automated email from the ASF dual-hosted git repository.

apelluru pushed a change to branch SLING-11562
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git


      at 04c7417  SLING-11562: upgrade to sling 49

This branch includes the following new commits:

     new 04c7417  SLING-11562: upgrade to sling 49

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[sling-org-apache-sling-resource-filter] 01/01: SLING-11562: upgrade to sling 49

Posted by ap...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

apelluru pushed a commit to branch SLING-11562
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git

commit 04c7417cfc9bad73ca231c871878a12495bb473c
Author: Ashok Pelluru <ap...@apache.org>
AuthorDate: Tue Aug 30 09:29:37 2022 +0200

    SLING-11562: upgrade to sling 49
---
 pom.xml                                            |   48 +-
 .../resource/filter/impl/script/FilterParser.java  |  986 +++---
 .../filter/impl/script/FilterParserConstants.java  |  306 +-
 .../impl/script/FilterParserTokenManager.java      | 3402 ++++++++++----------
 4 files changed, 2375 insertions(+), 2367 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1dd6c5c..2113399 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,35 +10,33 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.sling</groupId>
-        <artifactId>sling</artifactId>
-        <version>32</version>
+        <artifactId>sling-bundle-parent</artifactId>
+        <version>49</version>
     </parent>
 
     <artifactId>org.apache.sling.resource.filter</artifactId>
     <version>1.0.1-SNAPSHOT</version>
-    <packaging>bundle</packaging>
 
     <name>Apache Sling Resource Filter</name>
+    <description>provides a set of utilities to create and handle streams</description>
 
     <properties>
         <sling.java.version>8</sling.java.version>
     </properties>
 
+    <scm>
+        <url>https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-resource-filter.git</url>
+        <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git</connection>
+        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git</developerConnection>
+        <tag>HEAD</tag>
+    </scm>
+
     <build>
         <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.sling</groupId>
-                <artifactId>maven-sling-plugin</artifactId>
-            </plugin>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>javacc-maven-plugin</artifactId>
-                <version>2.6</version>
+                <version>3.0.0</version>
                 <executions>
                     <execution>
                         <id>javacc</id>
@@ -74,12 +72,22 @@
             <version>2.16.4</version>
             <scope>provided</scope>
         </dependency>
+        
+        <!-- OSGi dependencies -->
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.annotation.versioning</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.metatype.annotations</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
-    <description>provides a set of utilities to create and handle streams</description>
-    <scm>
-        <url>https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-resource-filter.git</url>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git</connection>
-        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-filter.git</developerConnection>
-        <tag>HEAD</tag>
-    </scm>
 </project>
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParser.java b/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParser.java
index 4ccd22a..872531b 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParser.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParser.java
@@ -1,493 +1,493 @@
-/* Generated By:JavaCC: Do not edit this line. FilterParser.java */
-package org.apache.sling.resource.filter.impl.script;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.sling.resource.filter.impl.node.*;
-
-public final class FilterParser implements FilterParserConstants {
-
-  final public Node parse() throws ParseException {
-  final Node node;
-    node = or();
-    jj_consume_token(0);
-    {if (true) return node;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node or() throws ParseException {
-  final List < Node > nodes = new ArrayList < Node > (3);
-  Node node;
-    node = and();
-    nodes.add(node);
-    label_1:
-    while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case OR:
-        ;
-        break;
-      default:
-        jj_la1[0] = jj_gen;
-        break label_1;
-      }
-      jj_consume_token(OR);
-      node = and();
-      nodes.add(node);
-    }
-    {if (true) return nodes.size() != 1 ? new Node(FilterParserConstants.OR, nodes) : nodes.get(0);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node and() throws ParseException {
-  final List < Node > nodes = new ArrayList < Node > (3);
-  Node node;
-    node = constraint();
-    nodes.add(node);
-    label_2:
-    while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case AND:
-        ;
-        break;
-      default:
-        jj_la1[1] = jj_gen;
-        break label_2;
-      }
-      jj_consume_token(AND);
-      node = constraint();
-      nodes.add(node);
-    }
-    {if (true) return nodes.size() != 1 ? new Node(FilterParserConstants.AND, nodes) : nodes.get(0);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node constraint() throws ParseException {
-  final Node node;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case LPAREN:
-      node = group();
-      break;
-    case OFFSETDATETIME:
-    case DATETIME:
-    case DATE:
-    case NUMBER:
-    case STRING:
-    case NULL:
-    case BOOLEAN:
-    case DYNAMIC_ARG:
-    case FUNCTION_NAME:
-    case PROPERTY:
-      node = comparison();
-      break;
-    default:
-      jj_la1[2] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
-    }
-    {if (true) return node;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node group() throws ParseException {
-  final Node node;
-    jj_consume_token(LPAREN);
-    node = or();
-    jj_consume_token(RPAREN);
-    {if (true) return node;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node comparison() throws ParseException {
-  Node leftValue;
-  Token op;
-  Node rightValue;
-    leftValue = argument();
-    op = comparisonValue();
-    rightValue = argument();
-    {if (true) return new Node(op.kind, op.image, leftValue, rightValue);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Token comparisonValue() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case EQUAL:
-      jj_consume_token(EQUAL);
-      break;
-    case NOT_EQUAL:
-      jj_consume_token(NOT_EQUAL);
-      break;
-    case GREATER_THAN:
-      jj_consume_token(GREATER_THAN);
-      break;
-    case GREATER_THAN_OR_EQUAL:
-      jj_consume_token(GREATER_THAN_OR_EQUAL);
-      break;
-    case LESS_THAN:
-      jj_consume_token(LESS_THAN);
-      break;
-    case LESS_THAN_OR_EQUAL:
-      jj_consume_token(LESS_THAN_OR_EQUAL);
-      break;
-    case LIKE:
-      jj_consume_token(LIKE);
-      break;
-    case LIKE_NOT:
-      jj_consume_token(LIKE_NOT);
-      break;
-    case CONTAINS:
-      jj_consume_token(CONTAINS);
-      break;
-    case CONTAINS_NOT:
-      jj_consume_token(CONTAINS_NOT);
-      break;
-    case CONTAINS_ANY:
-      jj_consume_token(CONTAINS_ANY);
-      break;
-    case CONTAINS_NOT_ANY:
-      jj_consume_token(CONTAINS_NOT_ANY);
-      break;
-    case IN:
-      jj_consume_token(IN);
-      break;
-    case NOT_IN:
-      jj_consume_token(NOT_IN);
-      break;
-    default:
-      jj_la1[3] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
-    }
-    {if (true) return token;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public List < Node > Arguments() throws ParseException {
-  Object value = new ArrayList();
-    jj_consume_token(LPAREN);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case OFFSETDATETIME:
-    case DATETIME:
-    case DATE:
-    case NUMBER:
-    case STRING:
-    case NULL:
-    case BOOLEAN:
-    case DYNAMIC_ARG:
-    case FUNCTION_NAME:
-    case PROPERTY:
-      value = commaSepArguments();
-      break;
-    default:
-      jj_la1[4] = jj_gen;
-      ;
-    }
-    jj_consume_token(RPAREN);
-    {if (true) return (List) value;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public List < Node > commaSepArguments() throws ParseException {
-  final List < Node > list = new ArrayList < Node > (3);
-  Node arg;
-    arg = argument();
-    list.add(arg);
-    label_3:
-    while (true) {
-      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-      case COMMA:
-        ;
-        break;
-      default:
-        jj_la1[5] = jj_gen;
-        break label_3;
-      }
-      jj_consume_token(COMMA);
-      arg = argument();
-      list.add(arg);
-    }
-    {if (true) return list;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node argument() throws ParseException {
-  Node selector = null;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case OFFSETDATETIME:
-    case DATETIME:
-    case DATE:
-    case NUMBER:
-    case STRING:
-    case NULL:
-    case BOOLEAN:
-      selector = literal();
-      break;
-    case PROPERTY:
-      selector = property();
-      break;
-    case DYNAMIC_ARG:
-      selector = dynamicArg();
-      break;
-    case FUNCTION_NAME:
-      selector = function();
-      break;
-    default:
-      jj_la1[6] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
-    }
-    {if (true) return selector;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node function() throws ParseException {
-  String functionName = null;
-  List < Node > children = null;
-    jj_consume_token(FUNCTION_NAME);
-    functionName = token.image;
-    jj_consume_token(LPAREN);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case OFFSETDATETIME:
-    case DATETIME:
-    case DATE:
-    case NUMBER:
-    case STRING:
-    case NULL:
-    case BOOLEAN:
-    case DYNAMIC_ARG:
-    case FUNCTION_NAME:
-    case PROPERTY:
-      children = commaSepArguments();
-      break;
-    default:
-      jj_la1[7] = jj_gen;
-      ;
-    }
-    jj_consume_token(RPAREN);
-    {if (true) return new Node(FilterParserConstants.FUNCTION_NAME, functionName, children);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node dynamicArg() throws ParseException {
-  String functionName = null;
-    jj_consume_token(DYNAMIC_ARG);
-    jj_consume_token(FUNCTION_NAME);
-    functionName = token.image;
-    {if (true) return new Node(FilterParserConstants.DYNAMIC_ARG, functionName);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node literal() throws ParseException {
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case STRING:
-      jj_consume_token(STRING);
-      break;
-    case NUMBER:
-      jj_consume_token(NUMBER);
-      break;
-    case NULL:
-      jj_consume_token(NULL);
-      break;
-    case BOOLEAN:
-      jj_consume_token(BOOLEAN);
-      break;
-    case DATE:
-      jj_consume_token(DATE);
-      break;
-    case DATETIME:
-      jj_consume_token(DATETIME);
-      break;
-    case OFFSETDATETIME:
-      jj_consume_token(OFFSETDATETIME);
-      break;
-    default:
-      jj_la1[8] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
-    }
-    {if (true) return new Node(token.kind, token.image);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Node property() throws ParseException {
-    jj_consume_token(PROPERTY);
-    {if (true) return new Node(token.kind, token.image);}
-    throw new Error("Missing return statement in function");
-  }
-
-  /** Generated Token Manager. */
-  public FilterParserTokenManager token_source;
-  SimpleCharStream jj_input_stream;
-  /** Current token. */
-  public Token token;
-  /** Next token. */
-  public Token jj_nt;
-  private int jj_ntk;
-  private int jj_gen;
-  final private int[] jj_la1 = new int[9];
-  static private int[] jj_la1_0;
-  static private int[] jj_la1_1;
-  static {
-      jj_la1_init_0();
-      jj_la1_init_1();
-   }
-   private static void jj_la1_init_0() {
-      jj_la1_0 = new int[] {0x400000,0x200000,0x9843c00,0xf0000000,0x8843c00,0x4000000,0x8843c00,0x8843c00,0x8843c00,};
-   }
-   private static void jj_la1_init_1() {
-      jj_la1_1 = new int[] {0x0,0x0,0x1c00,0x3ff,0x1c00,0x0,0x1c00,0x1c00,0x0,};
-   }
-
-  /** Constructor with InputStream. */
-  public FilterParser(java.io.InputStream stream) {
-     this(stream, null);
-  }
-  /** Constructor with InputStream and supplied encoding */
-  public FilterParser(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source = new FilterParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
-  }
-
-  /** Reinitialise. */
-  public void ReInit(java.io.InputStream stream) {
-     ReInit(stream, null);
-  }
-  /** Reinitialise. */
-  public void ReInit(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
-  }
-
-  /** Constructor. */
-  public FilterParser(java.io.Reader stream) {
-    jj_input_stream = new SimpleCharStream(stream, 1, 1);
-    token_source = new FilterParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
-  }
-
-  /** Reinitialise. */
-  public void ReInit(java.io.Reader stream) {
-    jj_input_stream.ReInit(stream, 1, 1);
-    token_source.ReInit(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
-  }
-
-  /** Constructor with generated Token Manager. */
-  public FilterParser(FilterParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
-  }
-
-  /** Reinitialise. */
-  public void ReInit(FilterParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
-  }
-
-  private Token jj_consume_token(int kind) throws ParseException {
-    Token oldToken;
-    if ((oldToken = token).next != null) token = token.next;
-    else token = token.next = token_source.getNextToken();
-    jj_ntk = -1;
-    if (token.kind == kind) {
-      jj_gen++;
-      return token;
-    }
-    token = oldToken;
-    jj_kind = kind;
-    throw generateParseException();
-  }
-
-
-/** Get the next Token. */
-  final public Token getNextToken() {
-    if (token.next != null) token = token.next;
-    else token = token.next = token_source.getNextToken();
-    jj_ntk = -1;
-    jj_gen++;
-    return token;
-  }
-
-/** Get the specific Token. */
-  final public Token getToken(int index) {
-    Token t = token;
-    for (int i = 0; i < index; i++) {
-      if (t.next != null) t = t.next;
-      else t = t.next = token_source.getNextToken();
-    }
-    return t;
-  }
-
-  private int jj_ntk() {
-    if ((jj_nt=token.next) == null)
-      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
-    else
-      return (jj_ntk = jj_nt.kind);
-  }
-
-  private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
-  private int[] jj_expentry;
-  private int jj_kind = -1;
-
-  /** Generate ParseException. */
-  public ParseException generateParseException() {
-    jj_expentries.clear();
-    boolean[] la1tokens = new boolean[46];
-    if (jj_kind >= 0) {
-      la1tokens[jj_kind] = true;
-      jj_kind = -1;
-    }
-    for (int i = 0; i < 9; i++) {
-      if (jj_la1[i] == jj_gen) {
-        for (int j = 0; j < 32; j++) {
-          if ((jj_la1_0[i] & (1<<j)) != 0) {
-            la1tokens[j] = true;
-          }
-          if ((jj_la1_1[i] & (1<<j)) != 0) {
-            la1tokens[32+j] = true;
-          }
-        }
-      }
-    }
-    for (int i = 0; i < 46; i++) {
-      if (la1tokens[i]) {
-        jj_expentry = new int[1];
-        jj_expentry[0] = i;
-        jj_expentries.add(jj_expentry);
-      }
-    }
-    int[][] exptokseq = new int[jj_expentries.size()][];
-    for (int i = 0; i < jj_expentries.size(); i++) {
-      exptokseq[i] = jj_expentries.get(i);
-    }
-    return new ParseException(token, exptokseq, tokenImage);
-  }
-
-  /** Enable tracing. */
-  final public void enable_tracing() {
-  }
-
-  /** Disable tracing. */
-  final public void disable_tracing() {
-  }
-
-}
+/* Generated By:JavaCC: Do not edit this line. FilterParser.java */
+package org.apache.sling.resource.filter.impl.script;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.sling.resource.filter.impl.node.*;
+
+public final class FilterParser implements FilterParserConstants {
+
+  final public Node parse() throws ParseException {
+  final Node node;
+    node = or();
+    jj_consume_token(0);
+    {if (true) return node;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node or() throws ParseException {
+  final List < Node > nodes = new ArrayList < Node > (3);
+  Node node;
+    node = and();
+    nodes.add(node);
+    label_1:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case OR:
+        ;
+        break;
+      default:
+        jj_la1[0] = jj_gen;
+        break label_1;
+      }
+      jj_consume_token(OR);
+      node = and();
+      nodes.add(node);
+    }
+    {if (true) return nodes.size() != 1 ? new Node(FilterParserConstants.OR, nodes) : nodes.get(0);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node and() throws ParseException {
+  final List < Node > nodes = new ArrayList < Node > (3);
+  Node node;
+    node = constraint();
+    nodes.add(node);
+    label_2:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case AND:
+        ;
+        break;
+      default:
+        jj_la1[1] = jj_gen;
+        break label_2;
+      }
+      jj_consume_token(AND);
+      node = constraint();
+      nodes.add(node);
+    }
+    {if (true) return nodes.size() != 1 ? new Node(FilterParserConstants.AND, nodes) : nodes.get(0);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node constraint() throws ParseException {
+  final Node node;
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case LPAREN:
+      node = group();
+      break;
+    case OFFSETDATETIME:
+    case DATETIME:
+    case DATE:
+    case NUMBER:
+    case STRING:
+    case NULL:
+    case BOOLEAN:
+    case DYNAMIC_ARG:
+    case FUNCTION_NAME:
+    case PROPERTY:
+      node = comparison();
+      break;
+    default:
+      jj_la1[2] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    {if (true) return node;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node group() throws ParseException {
+  final Node node;
+    jj_consume_token(LPAREN);
+    node = or();
+    jj_consume_token(RPAREN);
+    {if (true) return node;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node comparison() throws ParseException {
+  Node leftValue;
+  Token op;
+  Node rightValue;
+    leftValue = argument();
+    op = comparisonValue();
+    rightValue = argument();
+    {if (true) return new Node(op.kind, op.image, leftValue, rightValue);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Token comparisonValue() throws ParseException {
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case EQUAL:
+      jj_consume_token(EQUAL);
+      break;
+    case NOT_EQUAL:
+      jj_consume_token(NOT_EQUAL);
+      break;
+    case GREATER_THAN:
+      jj_consume_token(GREATER_THAN);
+      break;
+    case GREATER_THAN_OR_EQUAL:
+      jj_consume_token(GREATER_THAN_OR_EQUAL);
+      break;
+    case LESS_THAN:
+      jj_consume_token(LESS_THAN);
+      break;
+    case LESS_THAN_OR_EQUAL:
+      jj_consume_token(LESS_THAN_OR_EQUAL);
+      break;
+    case LIKE:
+      jj_consume_token(LIKE);
+      break;
+    case LIKE_NOT:
+      jj_consume_token(LIKE_NOT);
+      break;
+    case CONTAINS:
+      jj_consume_token(CONTAINS);
+      break;
+    case CONTAINS_NOT:
+      jj_consume_token(CONTAINS_NOT);
+      break;
+    case CONTAINS_ANY:
+      jj_consume_token(CONTAINS_ANY);
+      break;
+    case CONTAINS_NOT_ANY:
+      jj_consume_token(CONTAINS_NOT_ANY);
+      break;
+    case IN:
+      jj_consume_token(IN);
+      break;
+    case NOT_IN:
+      jj_consume_token(NOT_IN);
+      break;
+    default:
+      jj_la1[3] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    {if (true) return token;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public List < Node > Arguments() throws ParseException {
+  Object value = new ArrayList();
+    jj_consume_token(LPAREN);
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case OFFSETDATETIME:
+    case DATETIME:
+    case DATE:
+    case NUMBER:
+    case STRING:
+    case NULL:
+    case BOOLEAN:
+    case DYNAMIC_ARG:
+    case FUNCTION_NAME:
+    case PROPERTY:
+      value = commaSepArguments();
+      break;
+    default:
+      jj_la1[4] = jj_gen;
+      ;
+    }
+    jj_consume_token(RPAREN);
+    {if (true) return (List) value;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public List < Node > commaSepArguments() throws ParseException {
+  final List < Node > list = new ArrayList < Node > (3);
+  Node arg;
+    arg = argument();
+    list.add(arg);
+    label_3:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case COMMA:
+        ;
+        break;
+      default:
+        jj_la1[5] = jj_gen;
+        break label_3;
+      }
+      jj_consume_token(COMMA);
+      arg = argument();
+      list.add(arg);
+    }
+    {if (true) return list;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node argument() throws ParseException {
+  Node selector = null;
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case OFFSETDATETIME:
+    case DATETIME:
+    case DATE:
+    case NUMBER:
+    case STRING:
+    case NULL:
+    case BOOLEAN:
+      selector = literal();
+      break;
+    case PROPERTY:
+      selector = property();
+      break;
+    case DYNAMIC_ARG:
+      selector = dynamicArg();
+      break;
+    case FUNCTION_NAME:
+      selector = function();
+      break;
+    default:
+      jj_la1[6] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    {if (true) return selector;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node function() throws ParseException {
+  String functionName = null;
+  List < Node > children = null;
+    jj_consume_token(FUNCTION_NAME);
+    functionName = token.image;
+    jj_consume_token(LPAREN);
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case OFFSETDATETIME:
+    case DATETIME:
+    case DATE:
+    case NUMBER:
+    case STRING:
+    case NULL:
+    case BOOLEAN:
+    case DYNAMIC_ARG:
+    case FUNCTION_NAME:
+    case PROPERTY:
+      children = commaSepArguments();
+      break;
+    default:
+      jj_la1[7] = jj_gen;
+      ;
+    }
+    jj_consume_token(RPAREN);
+    {if (true) return new Node(FilterParserConstants.FUNCTION_NAME, functionName, children);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node dynamicArg() throws ParseException {
+  String functionName = null;
+    jj_consume_token(DYNAMIC_ARG);
+    jj_consume_token(FUNCTION_NAME);
+    functionName = token.image;
+    {if (true) return new Node(FilterParserConstants.DYNAMIC_ARG, functionName);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node literal() throws ParseException {
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case STRING:
+      jj_consume_token(STRING);
+      break;
+    case NUMBER:
+      jj_consume_token(NUMBER);
+      break;
+    case NULL:
+      jj_consume_token(NULL);
+      break;
+    case BOOLEAN:
+      jj_consume_token(BOOLEAN);
+      break;
+    case DATE:
+      jj_consume_token(DATE);
+      break;
+    case DATETIME:
+      jj_consume_token(DATETIME);
+      break;
+    case OFFSETDATETIME:
+      jj_consume_token(OFFSETDATETIME);
+      break;
+    default:
+      jj_la1[8] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    {if (true) return new Node(token.kind, token.image);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Node property() throws ParseException {
+    jj_consume_token(PROPERTY);
+    {if (true) return new Node(token.kind, token.image);}
+    throw new Error("Missing return statement in function");
+  }
+
+  /** Generated Token Manager. */
+  public FilterParserTokenManager token_source;
+  SimpleCharStream jj_input_stream;
+  /** Current token. */
+  public Token token;
+  /** Next token. */
+  public Token jj_nt;
+  private int jj_ntk;
+  private int jj_gen;
+  final private int[] jj_la1 = new int[9];
+  static private int[] jj_la1_0;
+  static private int[] jj_la1_1;
+  static {
+      jj_la1_init_0();
+      jj_la1_init_1();
+   }
+   private static void jj_la1_init_0() {
+      jj_la1_0 = new int[] {0x400000,0x200000,0x9843c00,0xf0000000,0x8843c00,0x4000000,0x8843c00,0x8843c00,0x8843c00,};
+   }
+   private static void jj_la1_init_1() {
+      jj_la1_1 = new int[] {0x0,0x0,0x1c00,0x3ff,0x1c00,0x0,0x1c00,0x1c00,0x0,};
+   }
+
+  /** Constructor with InputStream. */
+  public FilterParser(java.io.InputStream stream) {
+     this(stream, null);
+  }
+  /** Constructor with InputStream and supplied encoding */
+  public FilterParser(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source = new FilterParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
+  }
+
+  /** Reinitialise. */
+  public void ReInit(java.io.InputStream stream) {
+     ReInit(stream, null);
+  }
+  /** Reinitialise. */
+  public void ReInit(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
+  }
+
+  /** Constructor. */
+  public FilterParser(java.io.Reader stream) {
+    jj_input_stream = new SimpleCharStream(stream, 1, 1);
+    token_source = new FilterParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
+  }
+
+  /** Reinitialise. */
+  public void ReInit(java.io.Reader stream) {
+    jj_input_stream.ReInit(stream, 1, 1);
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
+  }
+
+  /** Constructor with generated Token Manager. */
+  public FilterParser(FilterParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
+  }
+
+  /** Reinitialise. */
+  public void ReInit(FilterParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 9; i++) jj_la1[i] = -1;
+  }
+
+  private Token jj_consume_token(int kind) throws ParseException {
+    Token oldToken;
+    if ((oldToken = token).next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    if (token.kind == kind) {
+      jj_gen++;
+      return token;
+    }
+    token = oldToken;
+    jj_kind = kind;
+    throw generateParseException();
+  }
+
+
+/** Get the next Token. */
+  final public Token getNextToken() {
+    if (token.next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    jj_gen++;
+    return token;
+  }
+
+/** Get the specific Token. */
+  final public Token getToken(int index) {
+    Token t = token;
+    for (int i = 0; i < index; i++) {
+      if (t.next != null) t = t.next;
+      else t = t.next = token_source.getNextToken();
+    }
+    return t;
+  }
+
+  private int jj_ntk() {
+    if ((jj_nt=token.next) == null)
+      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+    else
+      return (jj_ntk = jj_nt.kind);
+  }
+
+  private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
+  private int[] jj_expentry;
+  private int jj_kind = -1;
+
+  /** Generate ParseException. */
+  public ParseException generateParseException() {
+    jj_expentries.clear();
+    boolean[] la1tokens = new boolean[46];
+    if (jj_kind >= 0) {
+      la1tokens[jj_kind] = true;
+      jj_kind = -1;
+    }
+    for (int i = 0; i < 9; i++) {
+      if (jj_la1[i] == jj_gen) {
+        for (int j = 0; j < 32; j++) {
+          if ((jj_la1_0[i] & (1<<j)) != 0) {
+            la1tokens[j] = true;
+          }
+          if ((jj_la1_1[i] & (1<<j)) != 0) {
+            la1tokens[32+j] = true;
+          }
+        }
+      }
+    }
+    for (int i = 0; i < 46; i++) {
+      if (la1tokens[i]) {
+        jj_expentry = new int[1];
+        jj_expentry[0] = i;
+        jj_expentries.add(jj_expentry);
+      }
+    }
+    int[][] exptokseq = new int[jj_expentries.size()][];
+    for (int i = 0; i < jj_expentries.size(); i++) {
+      exptokseq[i] = jj_expentries.get(i);
+    }
+    return new ParseException(token, exptokseq, tokenImage);
+  }
+
+  /** Enable tracing. */
+  final public void enable_tracing() {
+  }
+
+  /** Disable tracing. */
+  final public void disable_tracing() {
+  }
+
+}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserConstants.java b/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserConstants.java
index 4d34acf..d8e2b7d 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserConstants.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserConstants.java
@@ -1,153 +1,153 @@
-/* Generated By:JavaCC: Do not edit this line. FilterParserConstants.java */
-package org.apache.sling.resource.filter.impl.script;
-
-
-/**
- * Token literal values and constants.
- * Generated by org.javacc.parser.OtherFilesGen#start()
- */
-public interface FilterParserConstants {
-
-  /** End of File. */
-  int EOF = 0;
-  /** RegularExpression Id. */
-  int PLUS = 3;
-  /** RegularExpression Id. */
-  int MINUS = 4;
-  /** RegularExpression Id. */
-  int DIGIT = 5;
-  /** RegularExpression Id. */
-  int EXP = 6;
-  /** RegularExpression Id. */
-  int OFFSET = 7;
-  /** RegularExpression Id. */
-  int YYYYMMDD = 8;
-  /** RegularExpression Id. */
-  int TIME = 9;
-  /** RegularExpression Id. */
-  int OFFSETDATETIME = 10;
-  /** RegularExpression Id. */
-  int DATETIME = 11;
-  /** RegularExpression Id. */
-  int DATE = 12;
-  /** RegularExpression Id. */
-  int NUMBER = 13;
-  /** RegularExpression Id. */
-  int INTEGER = 14;
-  /** RegularExpression Id. */
-  int FRACTIONAL_DIGITS = 15;
-  /** RegularExpression Id. */
-  int EXPONENT = 16;
-  /** RegularExpression Id. */
-  int DIGITS = 17;
-  /** RegularExpression Id. */
-  int STRING = 18;
-  /** RegularExpression Id. */
-  int SQUOTE = 19;
-  /** RegularExpression Id. */
-  int DQUOTE = 20;
-  /** RegularExpression Id. */
-  int AND = 21;
-  /** RegularExpression Id. */
-  int OR = 22;
-  /** RegularExpression Id. */
-  int NULL = 23;
-  /** RegularExpression Id. */
-  int LPAREN = 24;
-  /** RegularExpression Id. */
-  int RPAREN = 25;
-  /** RegularExpression Id. */
-  int COMMA = 26;
-  /** RegularExpression Id. */
-  int BOOLEAN = 27;
-  /** RegularExpression Id. */
-  int EQUAL = 28;
-  /** RegularExpression Id. */
-  int NOT_EQUAL = 29;
-  /** RegularExpression Id. */
-  int GREATER_THAN = 30;
-  /** RegularExpression Id. */
-  int GREATER_THAN_OR_EQUAL = 31;
-  /** RegularExpression Id. */
-  int LESS_THAN = 32;
-  /** RegularExpression Id. */
-  int LESS_THAN_OR_EQUAL = 33;
-  /** RegularExpression Id. */
-  int LIKE = 34;
-  /** RegularExpression Id. */
-  int LIKE_NOT = 35;
-  /** RegularExpression Id. */
-  int CONTAINS = 36;
-  /** RegularExpression Id. */
-  int CONTAINS_NOT = 37;
-  /** RegularExpression Id. */
-  int CONTAINS_ANY = 38;
-  /** RegularExpression Id. */
-  int CONTAINS_NOT_ANY = 39;
-  /** RegularExpression Id. */
-  int IN = 40;
-  /** RegularExpression Id. */
-  int NOT_IN = 41;
-  /** RegularExpression Id. */
-  int DYNAMIC_ARG = 42;
-  /** RegularExpression Id. */
-  int FUNCTION_NAME = 43;
-  /** RegularExpression Id. */
-  int PROPERTY = 44;
-  /** RegularExpression Id. */
-  int UNKNOWN = 45;
-
-  /** Lexical state. */
-  int DEFAULT = 0;
-
-  /** Literal token values. */
-  String[] tokenImage = {
-    "<EOF>",
-    "\" \"",
-    "\"\\t\"",
-    "\"+\"",
-    "\"-\"",
-    "<DIGIT>",
-    "<EXP>",
-    "<OFFSET>",
-    "<YYYYMMDD>",
-    "<TIME>",
-    "<OFFSETDATETIME>",
-    "<DATETIME>",
-    "<DATE>",
-    "<NUMBER>",
-    "<INTEGER>",
-    "<FRACTIONAL_DIGITS>",
-    "<EXPONENT>",
-    "<DIGITS>",
-    "<STRING>",
-    "<SQUOTE>",
-    "<DQUOTE>",
-    "<AND>",
-    "<OR>",
-    "\"null\"",
-    "\"(\"",
-    "\")\"",
-    "\",\"",
-    "<BOOLEAN>",
-    "<EQUAL>",
-    "<NOT_EQUAL>",
-    "<GREATER_THAN>",
-    "\">=\"",
-    "<LESS_THAN>",
-    "\"<=\"",
-    "<LIKE>",
-    "\"not like\"",
-    "\"contains\"",
-    "\"contains not\"",
-    "\"contains any\"",
-    "\"contains not any\"",
-    "<IN>",
-    "\"not in\"",
-    "\"$\"",
-    "<FUNCTION_NAME>",
-    "<PROPERTY>",
-    "<UNKNOWN>",
-  };
-
-}
+/* Generated By:JavaCC: Do not edit this line. FilterParserConstants.java */
+package org.apache.sling.resource.filter.impl.script;
+
+
+/**
+ * Token literal values and constants.
+ * Generated by org.javacc.parser.OtherFilesGen#start()
+ */
+public interface FilterParserConstants {
+
+  /** End of File. */
+  int EOF = 0;
+  /** RegularExpression Id. */
+  int PLUS = 3;
+  /** RegularExpression Id. */
+  int MINUS = 4;
+  /** RegularExpression Id. */
+  int DIGIT = 5;
+  /** RegularExpression Id. */
+  int EXP = 6;
+  /** RegularExpression Id. */
+  int OFFSET = 7;
+  /** RegularExpression Id. */
+  int YYYYMMDD = 8;
+  /** RegularExpression Id. */
+  int TIME = 9;
+  /** RegularExpression Id. */
+  int OFFSETDATETIME = 10;
+  /** RegularExpression Id. */
+  int DATETIME = 11;
+  /** RegularExpression Id. */
+  int DATE = 12;
+  /** RegularExpression Id. */
+  int NUMBER = 13;
+  /** RegularExpression Id. */
+  int INTEGER = 14;
+  /** RegularExpression Id. */
+  int FRACTIONAL_DIGITS = 15;
+  /** RegularExpression Id. */
+  int EXPONENT = 16;
+  /** RegularExpression Id. */
+  int DIGITS = 17;
+  /** RegularExpression Id. */
+  int STRING = 18;
+  /** RegularExpression Id. */
+  int SQUOTE = 19;
+  /** RegularExpression Id. */
+  int DQUOTE = 20;
+  /** RegularExpression Id. */
+  int AND = 21;
+  /** RegularExpression Id. */
+  int OR = 22;
+  /** RegularExpression Id. */
+  int NULL = 23;
+  /** RegularExpression Id. */
+  int LPAREN = 24;
+  /** RegularExpression Id. */
+  int RPAREN = 25;
+  /** RegularExpression Id. */
+  int COMMA = 26;
+  /** RegularExpression Id. */
+  int BOOLEAN = 27;
+  /** RegularExpression Id. */
+  int EQUAL = 28;
+  /** RegularExpression Id. */
+  int NOT_EQUAL = 29;
+  /** RegularExpression Id. */
+  int GREATER_THAN = 30;
+  /** RegularExpression Id. */
+  int GREATER_THAN_OR_EQUAL = 31;
+  /** RegularExpression Id. */
+  int LESS_THAN = 32;
+  /** RegularExpression Id. */
+  int LESS_THAN_OR_EQUAL = 33;
+  /** RegularExpression Id. */
+  int LIKE = 34;
+  /** RegularExpression Id. */
+  int LIKE_NOT = 35;
+  /** RegularExpression Id. */
+  int CONTAINS = 36;
+  /** RegularExpression Id. */
+  int CONTAINS_NOT = 37;
+  /** RegularExpression Id. */
+  int CONTAINS_ANY = 38;
+  /** RegularExpression Id. */
+  int CONTAINS_NOT_ANY = 39;
+  /** RegularExpression Id. */
+  int IN = 40;
+  /** RegularExpression Id. */
+  int NOT_IN = 41;
+  /** RegularExpression Id. */
+  int DYNAMIC_ARG = 42;
+  /** RegularExpression Id. */
+  int FUNCTION_NAME = 43;
+  /** RegularExpression Id. */
+  int PROPERTY = 44;
+  /** RegularExpression Id. */
+  int UNKNOWN = 45;
+
+  /** Lexical state. */
+  int DEFAULT = 0;
+
+  /** Literal token values. */
+  String[] tokenImage = {
+    "<EOF>",
+    "\" \"",
+    "\"\\t\"",
+    "\"+\"",
+    "\"-\"",
+    "<DIGIT>",
+    "<EXP>",
+    "<OFFSET>",
+    "<YYYYMMDD>",
+    "<TIME>",
+    "<OFFSETDATETIME>",
+    "<DATETIME>",
+    "<DATE>",
+    "<NUMBER>",
+    "<INTEGER>",
+    "<FRACTIONAL_DIGITS>",
+    "<EXPONENT>",
+    "<DIGITS>",
+    "<STRING>",
+    "<SQUOTE>",
+    "<DQUOTE>",
+    "<AND>",
+    "<OR>",
+    "\"null\"",
+    "\"(\"",
+    "\")\"",
+    "\",\"",
+    "<BOOLEAN>",
+    "<EQUAL>",
+    "<NOT_EQUAL>",
+    "<GREATER_THAN>",
+    "\">=\"",
+    "<LESS_THAN>",
+    "\"<=\"",
+    "<LIKE>",
+    "\"not like\"",
+    "\"contains\"",
+    "\"contains not\"",
+    "\"contains any\"",
+    "\"contains not any\"",
+    "<IN>",
+    "\"not in\"",
+    "\"$\"",
+    "<FUNCTION_NAME>",
+    "<PROPERTY>",
+    "<UNKNOWN>",
+  };
+
+}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserTokenManager.java b/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserTokenManager.java
index 6f18c5b..e1899cd 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserTokenManager.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/script/FilterParserTokenManager.java
@@ -1,1482 +1,1482 @@
-/* Generated By:JavaCC: Do not edit this line. FilterParserTokenManager.java */
-package org.apache.sling.resource.filter.impl.script;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.sling.resource.filter.impl.node.*;
-
-/** Token Manager. */
-public class FilterParserTokenManager implements FilterParserConstants
-{
-
-  /** Debug output. */
-  public  java.io.PrintStream debugStream = System.out;
-  /** Set debug output. */
-  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+/* Generated By:JavaCC: Do not edit this line. FilterParserTokenManager.java */
+package org.apache.sling.resource.filter.impl.script;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.sling.resource.filter.impl.node.*;
+
+/** Token Manager. */
+public class FilterParserTokenManager implements FilterParserConstants
+{
+
+  /** Debug output. */
+  public  java.io.PrintStream debugStream = System.out;
+  /** Set debug output. */
+  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
 private final int jjStopStringLiteralDfa_0(int pos, long active0)
-{
+{
    switch (pos)
-   {
-      case 0:
-         if ((active0 & 0x200000000L) != 0L)
-         {
-            jjmatchedKind = 32;
-            return -1;
-         }
-         if ((active0 & 0x80000000L) != 0L)
-         {
-            jjmatchedKind = 30;
-            return -1;
-         }
-         if ((active0 & 0x2f800800000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            return 52;
-         }
-         if ((active0 & 0x4L) != 0L)
-            return 52;
-         return -1;
-      case 1:
-         if ((active0 & 0x2f800800000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            jjmatchedPos = 1;
-            return 52;
-         }
-         if ((active0 & 0x200000000L) != 0L)
-         {
-            if (jjmatchedPos == 0)
-            {
-               jjmatchedKind = 32;
-               jjmatchedPos = 0;
-            }
-            return -1;
-         }
-         if ((active0 & 0x80000000L) != 0L)
-         {
-            if (jjmatchedPos == 0)
-            {
-               jjmatchedKind = 30;
-               jjmatchedPos = 0;
-            }
-            return -1;
-         }
-         return -1;
-      case 2:
-         if ((active0 & 0x2f800800000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            jjmatchedPos = 2;
-            return 52;
-         }
-         return -1;
-      case 3:
-         if ((active0 & 0xf000000000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            jjmatchedPos = 3;
-            return 52;
-         }
-         if ((active0 & 0x800000L) != 0L)
-            return 52;
-         if ((active0 & 0x20800000000L) != 0L)
-         {
-            if (jjmatchedPos < 2)
-            {
-               jjmatchedKind = 43;
-               jjmatchedPos = 2;
-            }
-            return -1;
-         }
-         return -1;
-      case 4:
-         if ((active0 & 0xf000000000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            jjmatchedPos = 4;
-            return 52;
-         }
-         if ((active0 & 0x20800000000L) != 0L)
-         {
-            if (jjmatchedPos < 2)
-            {
-               jjmatchedKind = 43;
-               jjmatchedPos = 2;
-            }
-            return -1;
-         }
-         return -1;
-      case 5:
-         if ((active0 & 0xf000000000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            jjmatchedPos = 5;
-            return 52;
-         }
-         if ((active0 & 0x20800000000L) != 0L)
-         {
-            if (jjmatchedPos < 2)
-            {
-               jjmatchedKind = 43;
-               jjmatchedPos = 2;
-            }
-            return -1;
-         }
-         return -1;
-      case 6:
-         if ((active0 & 0xf000000000L) != 0L)
-         {
-            jjmatchedKind = 43;
-            jjmatchedPos = 6;
-            return 52;
-         }
-         if ((active0 & 0x800000000L) != 0L)
-         {
-            if (jjmatchedPos < 2)
-            {
-               jjmatchedKind = 43;
-               jjmatchedPos = 2;
-            }
-            return -1;
-         }
-         return -1;
-      case 7:
-         if ((active0 & 0xf000000000L) != 0L)
-            return 52;
-         if ((active0 & 0x800000000L) != 0L)
-         {
-            if (jjmatchedPos < 2)
-            {
-               jjmatchedKind = 43;
-               jjmatchedPos = 2;
-            }
-            return -1;
-         }
-         return -1;
-      default :
-         return -1;
-   }
-}
+   {
+      case 0:
+         if ((active0 & 0x200000000L) != 0L)
+         {
+            jjmatchedKind = 32;
+            return -1;
+         }
+         if ((active0 & 0x80000000L) != 0L)
+         {
+            jjmatchedKind = 30;
+            return -1;
+         }
+         if ((active0 & 0x2f800800000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            return 52;
+         }
+         if ((active0 & 0x4L) != 0L)
+            return 52;
+         return -1;
+      case 1:
+         if ((active0 & 0x2f800800000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            jjmatchedPos = 1;
+            return 52;
+         }
+         if ((active0 & 0x200000000L) != 0L)
+         {
+            if (jjmatchedPos == 0)
+            {
+               jjmatchedKind = 32;
+               jjmatchedPos = 0;
+            }
+            return -1;
+         }
+         if ((active0 & 0x80000000L) != 0L)
+         {
+            if (jjmatchedPos == 0)
+            {
+               jjmatchedKind = 30;
+               jjmatchedPos = 0;
+            }
+            return -1;
+         }
+         return -1;
+      case 2:
+         if ((active0 & 0x2f800800000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            jjmatchedPos = 2;
+            return 52;
+         }
+         return -1;
+      case 3:
+         if ((active0 & 0xf000000000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            jjmatchedPos = 3;
+            return 52;
+         }
+         if ((active0 & 0x800000L) != 0L)
+            return 52;
+         if ((active0 & 0x20800000000L) != 0L)
+         {
+            if (jjmatchedPos < 2)
+            {
+               jjmatchedKind = 43;
+               jjmatchedPos = 2;
+            }
+            return -1;
+         }
+         return -1;
+      case 4:
+         if ((active0 & 0xf000000000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            jjmatchedPos = 4;
+            return 52;
+         }
+         if ((active0 & 0x20800000000L) != 0L)
+         {
+            if (jjmatchedPos < 2)
+            {
+               jjmatchedKind = 43;
+               jjmatchedPos = 2;
+            }
+            return -1;
+         }
+         return -1;
+      case 5:
+         if ((active0 & 0xf000000000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            jjmatchedPos = 5;
+            return 52;
+         }
+         if ((active0 & 0x20800000000L) != 0L)
+         {
+            if (jjmatchedPos < 2)
+            {
+               jjmatchedKind = 43;
+               jjmatchedPos = 2;
+            }
+            return -1;
+         }
+         return -1;
+      case 6:
+         if ((active0 & 0xf000000000L) != 0L)
+         {
+            jjmatchedKind = 43;
+            jjmatchedPos = 6;
+            return 52;
+         }
+         if ((active0 & 0x800000000L) != 0L)
+         {
+            if (jjmatchedPos < 2)
+            {
+               jjmatchedKind = 43;
+               jjmatchedPos = 2;
+            }
+            return -1;
+         }
+         return -1;
+      case 7:
+         if ((active0 & 0xf000000000L) != 0L)
+            return 52;
+         if ((active0 & 0x800000000L) != 0L)
+         {
+            if (jjmatchedPos < 2)
+            {
+               jjmatchedKind = 43;
+               jjmatchedPos = 2;
+            }
+            return -1;
+         }
+         return -1;
+      default :
+         return -1;
+   }
+}
 private final int jjStartNfa_0(int pos, long active0)
-{
-   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
-}
-private int jjStopAtPos(int pos, int kind)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   return pos + 1;
-}
-private int jjMoveStringLiteralDfa0_0()
-{
-   switch(curChar)
-   {
-      case 9:
-         return jjStartNfaWithStates_0(0, 2, 52);
-      case 36:
-         return jjStopAtPos(0, 42);
-      case 40:
-         return jjStopAtPos(0, 24);
-      case 41:
-         return jjStopAtPos(0, 25);
-      case 44:
-         return jjStopAtPos(0, 26);
-      case 60:
-         return jjMoveStringLiteralDfa1_0(0x200000000L);
-      case 62:
-         return jjMoveStringLiteralDfa1_0(0x80000000L);
-      case 99:
-         return jjMoveStringLiteralDfa1_0(0xf000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa1_0(0x20800800000L);
-      default :
-         return jjMoveNfa_0(0, 0);
-   }
-}
-private int jjMoveStringLiteralDfa1_0(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(0, active0);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 61:
-         if ((active0 & 0x80000000L) != 0L)
-            return jjStopAtPos(1, 31);
-         else if ((active0 & 0x200000000L) != 0L)
-            return jjStopAtPos(1, 33);
-         break;
-      case 111:
-         return jjMoveStringLiteralDfa2_0(active0, 0x2f800000000L);
-      case 117:
-         return jjMoveStringLiteralDfa2_0(active0, 0x800000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(0, active0);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(0, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(1, active0);
-      return 2;
-   }
-   switch(curChar)
-   {
-      case 108:
-         return jjMoveStringLiteralDfa3_0(active0, 0x800000L);
-      case 110:
-         return jjMoveStringLiteralDfa3_0(active0, 0xf000000000L);
-      case 116:
-         return jjMoveStringLiteralDfa3_0(active0, 0x20800000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(1, active0);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(1, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(2, active0);
-      return 3;
-   }
-   switch(curChar)
-   {
-      case 32:
-         return jjMoveStringLiteralDfa4_0(active0, 0x20800000000L);
-      case 108:
-         if ((active0 & 0x800000L) != 0L)
-            return jjStartNfaWithStates_0(3, 23, 52);
-         break;
-      case 116:
-         return jjMoveStringLiteralDfa4_0(active0, 0xf000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(2, active0);
-}
-private int jjMoveStringLiteralDfa4_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(2, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(3, active0);
-      return 4;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa5_0(active0, 0xf000000000L);
-      case 105:
-         return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L);
-      case 108:
-         return jjMoveStringLiteralDfa5_0(active0, 0x800000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(3, active0);
-}
-private int jjMoveStringLiteralDfa5_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(3, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(4, active0);
-      return 5;
-   }
-   switch(curChar)
-   {
-      case 105:
-         return jjMoveStringLiteralDfa6_0(active0, 0xf800000000L);
-      case 110:
-         if ((active0 & 0x20000000000L) != 0L)
-            return jjStopAtPos(5, 41);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(4, active0);
-}
-private int jjMoveStringLiteralDfa6_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(4, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(5, active0);
-      return 6;
-   }
-   switch(curChar)
-   {
-      case 107:
-         return jjMoveStringLiteralDfa7_0(active0, 0x800000000L);
-      case 110:
-         return jjMoveStringLiteralDfa7_0(active0, 0xf000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(5, active0);
-}
-private int jjMoveStringLiteralDfa7_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(5, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(6, active0);
-      return 7;
-   }
-   switch(curChar)
-   {
-      case 101:
-         if ((active0 & 0x800000000L) != 0L)
-            return jjStopAtPos(7, 35);
-         break;
-      case 115:
-         if ((active0 & 0x1000000000L) != 0L)
-         {
-            jjmatchedKind = 36;
-            jjmatchedPos = 7;
-         }
-         return jjMoveStringLiteralDfa8_0(active0, 0xe000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(6, active0);
-}
-private int jjMoveStringLiteralDfa8_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(6, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(7, active0);
-      return 8;
-   }
-   switch(curChar)
-   {
-      case 32:
-         return jjMoveStringLiteralDfa9_0(active0, 0xe000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(7, active0);
-}
-private int jjMoveStringLiteralDfa9_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(7, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(8, active0);
-      return 9;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa10_0(active0, 0x4000000000L);
-      case 110:
-         return jjMoveStringLiteralDfa10_0(active0, 0xa000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(8, active0);
-}
-private int jjMoveStringLiteralDfa10_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(8, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(9, active0);
-      return 10;
-   }
-   switch(curChar)
-   {
-      case 110:
-         return jjMoveStringLiteralDfa11_0(active0, 0x4000000000L);
-      case 111:
-         return jjMoveStringLiteralDfa11_0(active0, 0xa000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(9, active0);
-}
-private int jjMoveStringLiteralDfa11_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(9, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(10, active0);
-      return 11;
-   }
-   switch(curChar)
-   {
-      case 116:
-         if ((active0 & 0x2000000000L) != 0L)
-         {
-            jjmatchedKind = 37;
-            jjmatchedPos = 11;
-         }
-         return jjMoveStringLiteralDfa12_0(active0, 0x8000000000L);
-      case 121:
-         if ((active0 & 0x4000000000L) != 0L)
-            return jjStopAtPos(11, 38);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(10, active0);
-}
-private int jjMoveStringLiteralDfa12_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(10, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(11, active0);
-      return 12;
-   }
-   switch(curChar)
-   {
-      case 32:
-         return jjMoveStringLiteralDfa13_0(active0, 0x8000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(11, active0);
-}
-private int jjMoveStringLiteralDfa13_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(11, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(12, active0);
-      return 13;
-   }
-   switch(curChar)
-   {
-      case 97:
-         return jjMoveStringLiteralDfa14_0(active0, 0x8000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(12, active0);
-}
-private int jjMoveStringLiteralDfa14_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(12, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(13, active0);
-      return 14;
-   }
-   switch(curChar)
-   {
-      case 110:
-         return jjMoveStringLiteralDfa15_0(active0, 0x8000000000L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(13, active0);
-}
-private int jjMoveStringLiteralDfa15_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(13, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(14, active0);
-      return 15;
-   }
-   switch(curChar)
-   {
-      case 121:
-         if ((active0 & 0x8000000000L) != 0L)
-            return jjStopAtPos(15, 39);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(14, active0);
-}
-private int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_0(state, pos + 1);
-}
+{
+   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+}
+private int jjStopAtPos(int pos, int kind)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   return pos + 1;
+}
+private int jjMoveStringLiteralDfa0_0()
+{
+   switch(curChar)
+   {
+      case 9:
+         return jjStartNfaWithStates_0(0, 2, 52);
+      case 36:
+         return jjStopAtPos(0, 42);
+      case 40:
+         return jjStopAtPos(0, 24);
+      case 41:
+         return jjStopAtPos(0, 25);
+      case 44:
+         return jjStopAtPos(0, 26);
+      case 60:
+         return jjMoveStringLiteralDfa1_0(0x200000000L);
+      case 62:
+         return jjMoveStringLiteralDfa1_0(0x80000000L);
+      case 99:
+         return jjMoveStringLiteralDfa1_0(0xf000000000L);
+      case 110:
+         return jjMoveStringLiteralDfa1_0(0x20800800000L);
+      default :
+         return jjMoveNfa_0(0, 0);
+   }
+}
+private int jjMoveStringLiteralDfa1_0(long active0)
+{
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(0, active0);
+      return 1;
+   }
+   switch(curChar)
+   {
+      case 61:
+         if ((active0 & 0x80000000L) != 0L)
+            return jjStopAtPos(1, 31);
+         else if ((active0 & 0x200000000L) != 0L)
+            return jjStopAtPos(1, 33);
+         break;
+      case 111:
+         return jjMoveStringLiteralDfa2_0(active0, 0x2f800000000L);
+      case 117:
+         return jjMoveStringLiteralDfa2_0(active0, 0x800000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(0, active0);
+}
+private int jjMoveStringLiteralDfa2_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(0, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(1, active0);
+      return 2;
+   }
+   switch(curChar)
+   {
+      case 108:
+         return jjMoveStringLiteralDfa3_0(active0, 0x800000L);
+      case 110:
+         return jjMoveStringLiteralDfa3_0(active0, 0xf000000000L);
+      case 116:
+         return jjMoveStringLiteralDfa3_0(active0, 0x20800000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(1, active0);
+}
+private int jjMoveStringLiteralDfa3_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(1, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(2, active0);
+      return 3;
+   }
+   switch(curChar)
+   {
+      case 32:
+         return jjMoveStringLiteralDfa4_0(active0, 0x20800000000L);
+      case 108:
+         if ((active0 & 0x800000L) != 0L)
+            return jjStartNfaWithStates_0(3, 23, 52);
+         break;
+      case 116:
+         return jjMoveStringLiteralDfa4_0(active0, 0xf000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(2, active0);
+}
+private int jjMoveStringLiteralDfa4_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(2, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(3, active0);
+      return 4;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa5_0(active0, 0xf000000000L);
+      case 105:
+         return jjMoveStringLiteralDfa5_0(active0, 0x20000000000L);
+      case 108:
+         return jjMoveStringLiteralDfa5_0(active0, 0x800000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(3, active0);
+}
+private int jjMoveStringLiteralDfa5_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(3, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(4, active0);
+      return 5;
+   }
+   switch(curChar)
+   {
+      case 105:
+         return jjMoveStringLiteralDfa6_0(active0, 0xf800000000L);
+      case 110:
+         if ((active0 & 0x20000000000L) != 0L)
+            return jjStopAtPos(5, 41);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_0(4, active0);
+}
+private int jjMoveStringLiteralDfa6_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(4, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(5, active0);
+      return 6;
+   }
+   switch(curChar)
+   {
+      case 107:
+         return jjMoveStringLiteralDfa7_0(active0, 0x800000000L);
+      case 110:
+         return jjMoveStringLiteralDfa7_0(active0, 0xf000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(5, active0);
+}
+private int jjMoveStringLiteralDfa7_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(5, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(6, active0);
+      return 7;
+   }
+   switch(curChar)
+   {
+      case 101:
+         if ((active0 & 0x800000000L) != 0L)
+            return jjStopAtPos(7, 35);
+         break;
+      case 115:
+         if ((active0 & 0x1000000000L) != 0L)
+         {
+            jjmatchedKind = 36;
+            jjmatchedPos = 7;
+         }
+         return jjMoveStringLiteralDfa8_0(active0, 0xe000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(6, active0);
+}
+private int jjMoveStringLiteralDfa8_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(6, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(7, active0);
+      return 8;
+   }
+   switch(curChar)
+   {
+      case 32:
+         return jjMoveStringLiteralDfa9_0(active0, 0xe000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(7, active0);
+}
+private int jjMoveStringLiteralDfa9_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(7, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(8, active0);
+      return 9;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa10_0(active0, 0x4000000000L);
+      case 110:
+         return jjMoveStringLiteralDfa10_0(active0, 0xa000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(8, active0);
+}
+private int jjMoveStringLiteralDfa10_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(8, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(9, active0);
+      return 10;
+   }
+   switch(curChar)
+   {
+      case 110:
+         return jjMoveStringLiteralDfa11_0(active0, 0x4000000000L);
+      case 111:
+         return jjMoveStringLiteralDfa11_0(active0, 0xa000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(9, active0);
+}
+private int jjMoveStringLiteralDfa11_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(9, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(10, active0);
+      return 11;
+   }
+   switch(curChar)
+   {
+      case 116:
+         if ((active0 & 0x2000000000L) != 0L)
+         {
+            jjmatchedKind = 37;
+            jjmatchedPos = 11;
+         }
+         return jjMoveStringLiteralDfa12_0(active0, 0x8000000000L);
+      case 121:
+         if ((active0 & 0x4000000000L) != 0L)
+            return jjStopAtPos(11, 38);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_0(10, active0);
+}
+private int jjMoveStringLiteralDfa12_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(10, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(11, active0);
+      return 12;
+   }
+   switch(curChar)
+   {
+      case 32:
+         return jjMoveStringLiteralDfa13_0(active0, 0x8000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(11, active0);
+}
+private int jjMoveStringLiteralDfa13_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(11, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(12, active0);
+      return 13;
+   }
+   switch(curChar)
+   {
+      case 97:
+         return jjMoveStringLiteralDfa14_0(active0, 0x8000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(12, active0);
+}
+private int jjMoveStringLiteralDfa14_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(12, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(13, active0);
+      return 14;
+   }
+   switch(curChar)
+   {
+      case 110:
+         return jjMoveStringLiteralDfa15_0(active0, 0x8000000000L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(13, active0);
+}
+private int jjMoveStringLiteralDfa15_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(13, old0);
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(14, active0);
+      return 15;
+   }
+   switch(curChar)
+   {
+      case 121:
+         if ((active0 & 0x8000000000L) != 0L)
+            return jjStopAtPos(15, 39);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_0(14, active0);
+}
+private int jjStartNfaWithStates_0(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_0(state, pos + 1);
+}
 static final long[] jjbitVec0 = {
    0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
+};
 static final long[] jjbitVec2 = {
    0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-private int jjMoveNfa_0(int startState, int curPos)
-{
-   int startsAt = 0;
-   jjnewStateCnt = 187;
-   int i = 1;
-   jjstateSet[0] = startState;
-   int kind = 0x7fffffff;
-   for (;;)
-   {
-      if (++jjround == 0x7fffffff)
-         ReInitRounds();
-      if (curChar < 64)
-      {
-         long l = 1L << curChar;
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-                  if ((0x8c00846affffffffL & l) != 0L)
-                  {
-                     if (kind > 43)
-                        kind = 43;
-                     jjCheckNAdd(52);
-                  }
-                  else if ((0x3ff000000000000L & l) != 0L)
-                  {
-                     if (kind > 13)
-                        kind = 13;
-                     jjCheckNAddStates(0, 14);
-                  }
-                  else if (curChar == 45)
-                     jjCheckNAddStates(15, 22);
-                  else if (curChar == 60)
-                  {
-                     if (kind > 32)
-                        kind = 32;
-                  }
-                  else if (curChar == 62)
-                  {
-                     if (kind > 30)
-                        kind = 30;
-                  }
-                  else if (curChar == 61)
-                     jjstateSet[jjnewStateCnt++] = 32;
-                  else if (curChar == 34)
-                     jjCheckNAddStates(23, 25);
-                  else if (curChar == 39)
-                     jjCheckNAddStates(26, 28);
-                  else if (curChar == 46)
-                     jjCheckNAdd(1);
-                  if (curChar == 33)
-                     jjstateSet[jjnewStateCnt++] = 34;
-                  else if (curChar == 38)
-                     jjstateSet[jjnewStateCnt++] = 15;
-                  break;
-               case 1:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 15)
-                     kind = 15;
-                  jjCheckNAdd(1);
-                  break;
-               case 3:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(4);
-                  break;
-               case 4:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 16)
-                     kind = 16;
-                  jjCheckNAdd(4);
-                  break;
-               case 5:
-                  if (curChar == 39)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 7:
-                  jjCheckNAddStates(26, 28);
-                  break;
-               case 8:
-                  if ((0xffffff7fffffffffL & l) != 0L)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 9:
-                  if (curChar == 39 && kind > 18)
-                     kind = 18;
-                  break;
-               case 10:
-                  if (curChar == 34)
-                     jjCheckNAddStates(23, 25);
-                  break;
-               case 12:
-                  jjCheckNAddStates(23, 25);
-                  break;
-               case 13:
-                  if ((0xfffffffbffffffffL & l) != 0L)
-                     jjCheckNAddStates(23, 25);
-                  break;
-               case 14:
-                  if (curChar == 34 && kind > 18)
-                     kind = 18;
-                  break;
-               case 15:
-                  if (curChar == 38 && kind > 21)
-                     kind = 21;
-                  break;
-               case 16:
-                  if (curChar == 38)
-                     jjstateSet[jjnewStateCnt++] = 15;
-                  break;
-               case 32:
-                  if (curChar == 61 && kind > 28)
-                     kind = 28;
-                  break;
-               case 33:
-                  if (curChar == 61)
-                     jjstateSet[jjnewStateCnt++] = 32;
-                  break;
-               case 34:
-                  if (curChar == 61 && kind > 29)
-                     kind = 29;
-                  break;
-               case 35:
-                  if (curChar == 33)
-                     jjstateSet[jjnewStateCnt++] = 34;
-                  break;
-               case 36:
-                  if (curChar == 62 && kind > 30)
-                     kind = 30;
-                  break;
-               case 41:
-                  if (curChar == 32)
-                     jjstateSet[jjnewStateCnt++] = 40;
-                  break;
-               case 49:
-                  if (curChar == 60 && kind > 32)
-                     kind = 32;
-                  break;
-               case 50:
-                  if (curChar == 61 && kind > 34)
-                     kind = 34;
-                  break;
-               case 52:
-                  if ((0x8c00846affffffffL & l) == 0L)
-                     break;
-                  if (kind > 43)
-                     kind = 43;
-                  jjCheckNAdd(52);
-                  break;
-               case 55:
-               case 56:
-                  jjCheckNAddStates(29, 31);
-                  break;
-               case 58:
-                  if (curChar == 45)
-                     jjCheckNAddStates(15, 22);
-                  break;
-               case 59:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(60, 94);
-                  break;
-               case 60:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 61;
-                  break;
-               case 61:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(62, 93);
-                  break;
-               case 62:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 63;
-                  break;
-               case 63:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(64, 92);
-                  break;
-               case 64:
-                  if (curChar == 45)
-                     jjCheckNAdd(65);
-                  break;
-               case 65:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(65, 66);
-                  break;
-               case 66:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 67;
-                  break;
-               case 67:
-                  if ((0x3000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(68, 69);
-                  break;
-               case 68:
-                  if (curChar == 45)
-                     jjCheckNAdd(69);
-                  break;
-               case 69:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(69, 70);
-                  break;
-               case 70:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 71;
-                  break;
-               case 71:
-                  if ((0xf000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 72;
-                  break;
-               case 72:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 73;
-                  break;
-               case 74:
-                  if ((0x7000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 75;
-                  break;
-               case 75:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 76;
-                  break;
-               case 76:
-                  if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 77;
-                  break;
-               case 77:
-                  if ((0x3f000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 78;
-                  break;
-               case 78:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(79, 86);
-                  break;
-               case 79:
-                  if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 80;
-                  break;
-               case 80:
-                  if ((0x3f000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 81;
-                  break;
-               case 81:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(82, 86);
-                  break;
-               case 82:
-                  if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 83;
-                  break;
-               case 83:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 84;
-                  break;
-               case 84:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 85;
-                  break;
-               case 85:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAdd(86);
-                  break;
-               case 86:
-                  if ((0x280000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 87;
-                  break;
-               case 87:
-                  if ((0x7000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 88;
-                  break;
-               case 88:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 89;
-                  break;
-               case 89:
-                  if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 90;
-                  break;
-               case 90:
-                  if ((0x3f000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 91;
-                  break;
-               case 91:
-                  if ((0x3ff000000000000L & l) != 0L && kind > 10)
-                     kind = 10;
-                  break;
-               case 92:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(32, 35);
-                  break;
-               case 93:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(36, 39);
-                  break;
-               case 94:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(40, 43);
-                  break;
-               case 95:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(96, 124);
-                  break;
-               case 96:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 97;
-                  break;
-               case 97:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(98, 123);
-                  break;
-               case 98:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 99;
-                  break;
-               case 99:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(100, 122);
-                  break;
-               case 100:
-                  if (curChar == 45)
-                     jjCheckNAdd(101);
-                  break;
-               case 101:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(101, 102);
-                  break;
-               case 102:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 103;
-                  break;
-               case 103:
-                  if ((0x3000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(104, 105);
-                  break;
-               case 104:
-                  if (curChar == 45)
-                     jjCheckNAdd(105);
-                  break;
-               case 105:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(105, 106);
-                  break;
-               case 106:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 107;
-                  break;
-               case 107:
-                  if ((0xf000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 108;
-                  break;
-               case 108:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 109;
-                  break;
-               case 110:
-                  if ((0x7000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 111;
-                  break;
-               case 111:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 112;
-                  break;
-               case 112:
-                  if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 113;
-                  break;
-               case 113:
-                  if ((0x3f000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 114;
-                  break;
-               case 114:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 11)
-                     kind = 11;
-                  jjstateSet[jjnewStateCnt++] = 115;
-                  break;
-               case 115:
-                  if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 116;
-                  break;
-               case 116:
-                  if ((0x3f000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 117;
-                  break;
-               case 117:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 11)
-                     kind = 11;
-                  jjstateSet[jjnewStateCnt++] = 118;
-                  break;
-               case 118:
-                  if (curChar == 46)
-                     jjstateSet[jjnewStateCnt++] = 119;
-                  break;
-               case 119:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 120;
-                  break;
-               case 120:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 121;
-                  break;
-               case 121:
-                  if ((0x3ff000000000000L & l) != 0L && kind > 11)
-                     kind = 11;
-                  break;
-               case 122:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(44, 47);
-                  break;
-               case 123:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(48, 51);
-                  break;
-               case 124:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(52, 55);
-                  break;
-               case 125:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(126, 141);
-                  break;
-               case 126:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 127;
-                  break;
-               case 127:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(128, 140);
-                  break;
-               case 128:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 129;
-                  break;
-               case 129:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(130, 139);
-                  break;
-               case 130:
-                  if (curChar == 45)
-                     jjCheckNAdd(131);
-                  break;
-               case 131:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(131, 132);
-                  break;
-               case 132:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 133;
-                  break;
-               case 133:
-                  if ((0x3000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(134, 135);
-                  break;
-               case 134:
-                  if (curChar == 45)
-                     jjCheckNAdd(135);
-                  break;
-               case 135:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(135, 136);
-                  break;
-               case 136:
-                  if (curChar == 45)
-                     jjstateSet[jjnewStateCnt++] = 137;
-                  break;
-               case 137:
-                  if ((0xf000000000000L & l) != 0L)
-                     jjstateSet[jjnewStateCnt++] = 138;
-                  break;
-               case 138:
-                  if ((0x3ff000000000000L & l) != 0L && kind > 12)
-                     kind = 12;
-                  break;
-               case 139:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(56, 59);
-                  break;
-               case 140:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(60, 63);
-                  break;
-               case 141:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddStates(64, 67);
-                  break;
-               case 142:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAdd(142);
-                  break;
-               case 143:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(143, 144);
-                  break;
-               case 144:
-                  if (curChar == 46)
-                     jjCheckNAdd(145);
-                  break;
-               case 145:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAdd(145);
-                  break;
-               case 146:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(146, 147);
-                  break;
-               case 148:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(149);
-                  break;
-               case 149:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAdd(149);
-                  break;
-               case 150:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(150, 151);
-                  break;
-               case 151:
-                  if (curChar == 46)
-                     jjCheckNAdd(152);
-                  break;
-               case 152:
-                  if ((0x3ff000000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(152, 153);
-                  break;
-               case 154:
-                  if ((0x280000000000L & l) != 0L)
-                     jjCheckNAdd(155);
-                  break;
-               case 155:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAdd(155);
-                  break;
-               case 156:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 14)
-                     kind = 14;
-                  jjCheckNAdd(156);
-                  break;
-               case 157:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAddStates(0, 14);
-                  break;
-               case 158:
-                  if ((0x3ff000000000000L & l) == 0L)
-                     break;
-                  if (kind > 17)
-                     kind = 17;
-                  jjCheckNAdd(158);
-                  break;
-               case 164:
-                  if (curChar == 32)
-                     jjstateSet[jjnewStateCnt++] = 163;
-                  break;
-               case 170:
-                  if (curChar == 32)
-                     jjstateSet[jjnewStateCnt++] = 169;
-                  break;
-               case 174:
-                  if (curChar == 32)
-                     jjstateSet[jjnewStateCnt++] = 173;
-                  break;
-               case 181:
-                  if (curChar == 32)
-                     jjstateSet[jjnewStateCnt++] = 180;
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else if (curChar < 128)
-      {
-         long l = 1L << (curChar & 077);
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-                  if ((0xffffffffd7ffffffL & l) != 0L)
-                  {
-                     if (kind > 43)
-                        kind = 43;
-                     jjCheckNAdd(52);
-                  }
-                  else if (curChar == 91)
-                     jjCheckNAddStates(29, 31);
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(68, 69);
-                  else if (curChar == 108)
-                     jjAddStates(70, 71);
-                  else if (curChar == 105)
-                     jjCheckNAddStates(72, 76);
-                  else if (curChar == 126)
-                     jjstateSet[jjnewStateCnt++] = 50;
-                  else if (curChar == 103)
-                     jjstateSet[jjnewStateCnt++] = 47;
-                  else if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 30;
-                  else if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  else if (curChar == 111)
-                     jjstateSet[jjnewStateCnt++] = 22;
-                  else if (curChar == 124)
-                     jjstateSet[jjnewStateCnt++] = 20;
-                  else if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 18;
-                  break;
-               case 2:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(68, 69);
-                  break;
-               case 6:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 7;
-                  break;
-               case 7:
-                  jjCheckNAddStates(26, 28);
-                  break;
-               case 8:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 11:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 12;
-                  break;
-               case 12:
-                  jjCheckNAddStates(23, 25);
-                  break;
-               case 13:
-                  if ((0xffffffffefffffffL & l) != 0L)
-                     jjCheckNAddStates(23, 25);
-                  break;
-               case 17:
-                  if (curChar == 100 && kind > 21)
-                     kind = 21;
-                  break;
-               case 18:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 17;
-                  break;
-               case 19:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 18;
-                  break;
-               case 20:
-                  if (curChar == 124 && kind > 22)
-                     kind = 22;
-                  break;
-               case 21:
-                  if (curChar == 124)
-                     jjstateSet[jjnewStateCnt++] = 20;
-                  break;
-               case 22:
-                  if (curChar == 114 && kind > 22)
-                     kind = 22;
-                  break;
-               case 23:
-                  if (curChar == 111)
-                     jjstateSet[jjnewStateCnt++] = 22;
-                  break;
-               case 24:
-                  if (curChar == 101 && kind > 27)
-                     kind = 27;
-                  break;
-               case 25:
-                  if (curChar == 117)
-                     jjCheckNAdd(24);
-                  break;
-               case 26:
-                  if (curChar == 114)
-                     jjstateSet[jjnewStateCnt++] = 25;
-                  break;
-               case 27:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 26;
-                  break;
-               case 28:
-                  if (curChar == 115)
-                     jjCheckNAdd(24);
-                  break;
-               case 29:
-                  if (curChar == 108)
-                     jjstateSet[jjnewStateCnt++] = 28;
-                  break;
-               case 30:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 29;
-                  break;
-               case 31:
-                  if (curChar == 102)
-                     jjstateSet[jjnewStateCnt++] = 30;
-                  break;
-               case 37:
-                  if (curChar == 110 && kind > 30)
-                     kind = 30;
-                  break;
-               case 38:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 37;
-                  break;
-               case 39:
-                  if (curChar == 104)
-                     jjstateSet[jjnewStateCnt++] = 38;
-                  break;
-               case 40:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 39;
-                  break;
-               case 42:
-                  if (curChar == 114)
-                     jjstateSet[jjnewStateCnt++] = 41;
-                  break;
-               case 43:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 42;
-                  break;
-               case 44:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 43;
-                  break;
-               case 45:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 44;
-                  break;
-               case 46:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 45;
-                  break;
-               case 47:
-                  if (curChar == 114)
-                     jjstateSet[jjnewStateCnt++] = 46;
-                  break;
-               case 48:
-                  if (curChar == 103)
-                     jjstateSet[jjnewStateCnt++] = 47;
-                  break;
-               case 51:
-                  if (curChar == 126)
-                     jjstateSet[jjnewStateCnt++] = 50;
-                  break;
-               case 52:
-                  if ((0xffffffffd7ffffffL & l) == 0L)
-                     break;
-                  if (kind > 43)
-                     kind = 43;
-                  jjCheckNAdd(52);
-                  break;
-               case 53:
-                  if (curChar == 91)
-                     jjCheckNAddStates(29, 31);
-                  break;
-               case 54:
-                  if (curChar == 92)
-                     jjstateSet[jjnewStateCnt++] = 55;
-                  break;
-               case 55:
-                  jjCheckNAddStates(29, 31);
-                  break;
-               case 56:
-                  if ((0xffffffffcfffffffL & l) != 0L)
-                     jjCheckNAddStates(29, 31);
-                  break;
-               case 57:
-                  if (curChar == 93 && kind > 44)
-                     kind = 44;
-                  break;
-               case 73:
-                  if (curChar == 84)
-                     jjstateSet[jjnewStateCnt++] = 74;
-                  break;
-               case 109:
-                  if (curChar == 84)
-                     jjstateSet[jjnewStateCnt++] = 110;
-                  break;
-               case 147:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(77, 78);
-                  break;
-               case 153:
-                  if ((0x2000000020L & l) != 0L)
-                     jjAddStates(79, 80);
-                  break;
-               case 159:
-                  if (curChar == 105)
-                     jjCheckNAddStates(72, 76);
-                  break;
-               case 160:
-                  if (curChar == 115 && kind > 28)
-                     kind = 28;
-                  break;
-               case 161:
-                  if (curChar == 116 && kind > 29)
-                     kind = 29;
-                  break;
-               case 162:
-                  if (curChar == 111)
-                     jjstateSet[jjnewStateCnt++] = 161;
-                  break;
-               case 163:
-                  if (curChar == 110)
-                     jjstateSet[jjnewStateCnt++] = 162;
-                  break;
-               case 165:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 164;
-                  break;
-               case 166:
-                  if (curChar == 101 && kind > 34)
-                     kind = 34;
-                  break;
-               case 167:
-               case 185:
-                  if (curChar == 107)
-                     jjCheckNAdd(166);
-                  break;
-               case 168:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 167;
-                  break;
-               case 169:
-                  if (curChar == 108)
-                     jjstateSet[jjnewStateCnt++] = 168;
-                  break;
-               case 171:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 170;
-                  break;
-               case 172:
-                  if (curChar == 110 && kind > 40)
-                     kind = 40;
-                  break;
-               case 173:
-                  if (curChar == 105)
-                     jjCheckNAdd(172);
-                  break;
-               case 175:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 174;
-                  break;
-               case 176:
-                  if (curChar == 108)
-                     jjAddStates(70, 71);
-                  break;
-               case 177:
-                  if (curChar == 110 && kind > 32)
-                     kind = 32;
-                  break;
-               case 178:
-                  if (curChar == 97)
-                     jjstateSet[jjnewStateCnt++] = 177;
-                  break;
-               case 179:
-                  if (curChar == 104)
-                     jjstateSet[jjnewStateCnt++] = 178;
-                  break;
-               case 180:
-                  if (curChar == 116)
-                     jjstateSet[jjnewStateCnt++] = 179;
-                  break;
-               case 182:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 181;
-                  break;
-               case 183:
-                  if (curChar == 115)
-                     jjstateSet[jjnewStateCnt++] = 182;
-                  break;
-               case 184:
-                  if (curChar == 101)
-                     jjstateSet[jjnewStateCnt++] = 183;
-                  break;
-               case 186:
-                  if (curChar == 105)
-                     jjstateSet[jjnewStateCnt++] = 185;
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int hiByte = (int)(curChar >> 8);
-         int i1 = hiByte >> 6;
-         long l1 = 1L << (hiByte & 077);
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 0:
-               case 52:
-                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     break;
-                  if (kind > 43)
-                     kind = 43;
-                  jjCheckNAdd(52);
-                  break;
-               case 7:
-               case 8:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjCheckNAddStates(26, 28);
-                  break;
-               case 12:
-               case 13:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjCheckNAddStates(23, 25);
-                  break;
-               case 55:
-               case 56:
-                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
-                     jjCheckNAddStates(29, 31);
-                  break;
-               default : break;
-            }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 187 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
+};
+private int jjMoveNfa_0(int startState, int curPos)
+{
+   int startsAt = 0;
+   jjnewStateCnt = 187;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0x8c00846affffffffL & l) != 0L)
+                  {
+                     if (kind > 43)
+                        kind = 43;
+                     jjCheckNAdd(52);
+                  }
+                  else if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 13)
+                        kind = 13;
+                     jjCheckNAddStates(0, 14);
+                  }
+                  else if (curChar == 45)
+                     jjCheckNAddStates(15, 22);
+                  else if (curChar == 60)
+                  {
+                     if (kind > 32)
+                        kind = 32;
+                  }
+                  else if (curChar == 62)
+                  {
+                     if (kind > 30)
+                        kind = 30;
+                  }
+                  else if (curChar == 61)
+                     jjstateSet[jjnewStateCnt++] = 32;
+                  else if (curChar == 34)
+                     jjCheckNAddStates(23, 25);
+                  else if (curChar == 39)
+                     jjCheckNAddStates(26, 28);
+                  else if (curChar == 46)
+                     jjCheckNAdd(1);
+                  if (curChar == 33)
+                     jjstateSet[jjnewStateCnt++] = 34;
+                  else if (curChar == 38)
+                     jjstateSet[jjnewStateCnt++] = 15;
+                  break;
+               case 1:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 15)
+                     kind = 15;
+                  jjCheckNAdd(1);
+                  break;
+               case 3:
+                  if ((0x280000000000L & l) != 0L)
+                     jjCheckNAdd(4);
+                  break;
+               case 4:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 16)
+                     kind = 16;
+                  jjCheckNAdd(4);
+                  break;
+               case 5:
+                  if (curChar == 39)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 7:
+                  jjCheckNAddStates(26, 28);
+                  break;
+               case 8:
+                  if ((0xffffff7fffffffffL & l) != 0L)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 9:
+                  if (curChar == 39 && kind > 18)
+                     kind = 18;
+                  break;
+               case 10:
+                  if (curChar == 34)
+                     jjCheckNAddStates(23, 25);
+                  break;
+               case 12:
+                  jjCheckNAddStates(23, 25);
+                  break;
+               case 13:
+                  if ((0xfffffffbffffffffL & l) != 0L)
+                     jjCheckNAddStates(23, 25);
+                  break;
+               case 14:
+                  if (curChar == 34 && kind > 18)
+                     kind = 18;
+                  break;
+               case 15:
+                  if (curChar == 38 && kind > 21)
+                     kind = 21;
+                  break;
+               case 16:
+                  if (curChar == 38)
+                     jjstateSet[jjnewStateCnt++] = 15;
+                  break;
+               case 32:
+                  if (curChar == 61 && kind > 28)
+                     kind = 28;
+                  break;
+               case 33:
+                  if (curChar == 61)
+                     jjstateSet[jjnewStateCnt++] = 32;
+                  break;
+               case 34:
+                  if (curChar == 61 && kind > 29)
+                     kind = 29;
+                  break;
+               case 35:
+                  if (curChar == 33)
+                     jjstateSet[jjnewStateCnt++] = 34;
+                  break;
+               case 36:
+                  if (curChar == 62 && kind > 30)
+                     kind = 30;
+                  break;
+               case 41:
+                  if (curChar == 32)
+                     jjstateSet[jjnewStateCnt++] = 40;
+                  break;
+               case 49:
+                  if (curChar == 60 && kind > 32)
+                     kind = 32;
+                  break;
+               case 50:
+                  if (curChar == 61 && kind > 34)
+                     kind = 34;
+                  break;
+               case 52:
+                  if ((0x8c00846affffffffL & l) == 0L)
+                     break;
+                  if (kind > 43)
+                     kind = 43;
+                  jjCheckNAdd(52);
+                  break;
+               case 55:
+               case 56:
+                  jjCheckNAddStates(29, 31);
+                  break;
+               case 58:
+                  if (curChar == 45)
+                     jjCheckNAddStates(15, 22);
+                  break;
+               case 59:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(60, 94);
+                  break;
+               case 60:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 61;
+                  break;
+               case 61:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(62, 93);
+                  break;
+               case 62:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 63;
+                  break;
+               case 63:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(64, 92);
+                  break;
+               case 64:
+                  if (curChar == 45)
+                     jjCheckNAdd(65);
+                  break;
+               case 65:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(65, 66);
+                  break;
+               case 66:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 67;
+                  break;
+               case 67:
+                  if ((0x3000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(68, 69);
+                  break;
+               case 68:
+                  if (curChar == 45)
+                     jjCheckNAdd(69);
+                  break;
+               case 69:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(69, 70);
+                  break;
+               case 70:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 71;
+                  break;
+               case 71:
+                  if ((0xf000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 72;
+                  break;
+               case 72:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 73;
+                  break;
+               case 74:
+                  if ((0x7000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 75;
+                  break;
+               case 75:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 76;
+                  break;
+               case 76:
+                  if (curChar == 58)
+                     jjstateSet[jjnewStateCnt++] = 77;
+                  break;
+               case 77:
+                  if ((0x3f000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 78;
+                  break;
+               case 78:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(79, 86);
+                  break;
+               case 79:
+                  if (curChar == 58)
+                     jjstateSet[jjnewStateCnt++] = 80;
+                  break;
+               case 80:
+                  if ((0x3f000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 81;
+                  break;
+               case 81:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(82, 86);
+                  break;
+               case 82:
+                  if (curChar == 46)
+                     jjstateSet[jjnewStateCnt++] = 83;
+                  break;
+               case 83:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 84;
+                  break;
+               case 84:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 85;
+                  break;
+               case 85:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAdd(86);
+                  break;
+               case 86:
+                  if ((0x280000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 87;
+                  break;
+               case 87:
+                  if ((0x7000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 88;
+                  break;
+               case 88:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 89;
+                  break;
+               case 89:
+                  if (curChar == 58)
+                     jjstateSet[jjnewStateCnt++] = 90;
+                  break;
+               case 90:
+                  if ((0x3f000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 91;
+                  break;
+               case 91:
+                  if ((0x3ff000000000000L & l) != 0L && kind > 10)
+                     kind = 10;
+                  break;
+               case 92:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(32, 35);
+                  break;
+               case 93:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(36, 39);
+                  break;
+               case 94:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(40, 43);
+                  break;
+               case 95:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(96, 124);
+                  break;
+               case 96:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 97;
+                  break;
+               case 97:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(98, 123);
+                  break;
+               case 98:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 99;
+                  break;
+               case 99:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(100, 122);
+                  break;
+               case 100:
+                  if (curChar == 45)
+                     jjCheckNAdd(101);
+                  break;
+               case 101:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(101, 102);
+                  break;
+               case 102:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 103;
+                  break;
+               case 103:
+                  if ((0x3000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(104, 105);
+                  break;
+               case 104:
+                  if (curChar == 45)
+                     jjCheckNAdd(105);
+                  break;
+               case 105:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(105, 106);
+                  break;
+               case 106:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 107;
+                  break;
+               case 107:
+                  if ((0xf000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 108;
+                  break;
+               case 108:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 109;
+                  break;
+               case 110:
+                  if ((0x7000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 111;
+                  break;
+               case 111:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 112;
+                  break;
+               case 112:
+                  if (curChar == 58)
+                     jjstateSet[jjnewStateCnt++] = 113;
+                  break;
+               case 113:
+                  if ((0x3f000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 114;
+                  break;
+               case 114:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 11)
+                     kind = 11;
+                  jjstateSet[jjnewStateCnt++] = 115;
+                  break;
+               case 115:
+                  if (curChar == 58)
+                     jjstateSet[jjnewStateCnt++] = 116;
+                  break;
+               case 116:
+                  if ((0x3f000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 117;
+                  break;
+               case 117:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 11)
+                     kind = 11;
+                  jjstateSet[jjnewStateCnt++] = 118;
+                  break;
+               case 118:
+                  if (curChar == 46)
+                     jjstateSet[jjnewStateCnt++] = 119;
+                  break;
+               case 119:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 120;
+                  break;
+               case 120:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 121;
+                  break;
+               case 121:
+                  if ((0x3ff000000000000L & l) != 0L && kind > 11)
+                     kind = 11;
+                  break;
+               case 122:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(44, 47);
+                  break;
+               case 123:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(48, 51);
+                  break;
+               case 124:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(52, 55);
+                  break;
+               case 125:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(126, 141);
+                  break;
+               case 126:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 127;
+                  break;
+               case 127:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(128, 140);
+                  break;
+               case 128:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 129;
+                  break;
+               case 129:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(130, 139);
+                  break;
+               case 130:
+                  if (curChar == 45)
+                     jjCheckNAdd(131);
+                  break;
+               case 131:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(131, 132);
+                  break;
+               case 132:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 133;
+                  break;
+               case 133:
+                  if ((0x3000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(134, 135);
+                  break;
+               case 134:
+                  if (curChar == 45)
+                     jjCheckNAdd(135);
+                  break;
+               case 135:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(135, 136);
+                  break;
+               case 136:
+                  if (curChar == 45)
+                     jjstateSet[jjnewStateCnt++] = 137;
+                  break;
+               case 137:
+                  if ((0xf000000000000L & l) != 0L)
+                     jjstateSet[jjnewStateCnt++] = 138;
+                  break;
+               case 138:
+                  if ((0x3ff000000000000L & l) != 0L && kind > 12)
+                     kind = 12;
+                  break;
+               case 139:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(56, 59);
+                  break;
+               case 140:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(60, 63);
+                  break;
+               case 141:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(64, 67);
+                  break;
+               case 142:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 13)
+                     kind = 13;
+                  jjCheckNAdd(142);
+                  break;
+               case 143:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(143, 144);
+                  break;
+               case 144:
+                  if (curChar == 46)
+                     jjCheckNAdd(145);
+                  break;
+               case 145:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 13)
+                     kind = 13;
+                  jjCheckNAdd(145);
+                  break;
+               case 146:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(146, 147);
+                  break;
+               case 148:
+                  if ((0x280000000000L & l) != 0L)
+                     jjCheckNAdd(149);
+                  break;
+               case 149:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 13)
+                     kind = 13;
+                  jjCheckNAdd(149);
+                  break;
+               case 150:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(150, 151);
+                  break;
+               case 151:
+                  if (curChar == 46)
+                     jjCheckNAdd(152);
+                  break;
+               case 152:
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddTwoStates(152, 153);
+                  break;
+               case 154:
+                  if ((0x280000000000L & l) != 0L)
+                     jjCheckNAdd(155);
+                  break;
+               case 155:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 13)
+                     kind = 13;
+                  jjCheckNAdd(155);
+                  break;
+               case 156:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 14)
+                     kind = 14;
+                  jjCheckNAdd(156);
+                  break;
+               case 157:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 13)
+                     kind = 13;
+                  jjCheckNAddStates(0, 14);
+                  break;
+               case 158:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 17)
+                     kind = 17;
+                  jjCheckNAdd(158);
+                  break;
+               case 164:
+                  if (curChar == 32)
+                     jjstateSet[jjnewStateCnt++] = 163;
+                  break;
+               case 170:
+                  if (curChar == 32)
+                     jjstateSet[jjnewStateCnt++] = 169;
+                  break;
+               case 174:
+                  if (curChar == 32)
+                     jjstateSet[jjnewStateCnt++] = 173;
+                  break;
+               case 181:
+                  if (curChar == 32)
+                     jjstateSet[jjnewStateCnt++] = 180;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0xffffffffd7ffffffL & l) != 0L)
+                  {
+                     if (kind > 43)
+                        kind = 43;
+                     jjCheckNAdd(52);
+                  }
+                  else if (curChar == 91)
+                     jjCheckNAddStates(29, 31);
+                  if ((0x2000000020L & l) != 0L)
+                     jjAddStates(68, 69);
+                  else if (curChar == 108)
+                     jjAddStates(70, 71);
+                  else if (curChar == 105)
+                     jjCheckNAddStates(72, 76);
+                  else if (curChar == 126)
+                     jjstateSet[jjnewStateCnt++] = 50;
+                  else if (curChar == 103)
+                     jjstateSet[jjnewStateCnt++] = 47;
+                  else if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 30;
+                  else if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 26;
+                  else if (curChar == 111)
+                     jjstateSet[jjnewStateCnt++] = 22;
+                  else if (curChar == 124)
+                     jjstateSet[jjnewStateCnt++] = 20;
+                  else if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 18;
+                  break;
+               case 2:
+                  if ((0x2000000020L & l) != 0L)
+                     jjAddStates(68, 69);
+                  break;
+               case 6:
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 7;
+                  break;
+               case 7:
+                  jjCheckNAddStates(26, 28);
+                  break;
+               case 8:
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 11:
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 12;
+                  break;
+               case 12:
+                  jjCheckNAddStates(23, 25);
+                  break;
+               case 13:
+                  if ((0xffffffffefffffffL & l) != 0L)
+                     jjCheckNAddStates(23, 25);
+                  break;
+               case 17:
+                  if (curChar == 100 && kind > 21)
+                     kind = 21;
+                  break;
+               case 18:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 17;
+                  break;
+               case 19:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 18;
+                  break;
+               case 20:
+                  if (curChar == 124 && kind > 22)
+                     kind = 22;
+                  break;
+               case 21:
+                  if (curChar == 124)
+                     jjstateSet[jjnewStateCnt++] = 20;
+                  break;
+               case 22:
+                  if (curChar == 114 && kind > 22)
+                     kind = 22;
+                  break;
+               case 23:
+                  if (curChar == 111)
+                     jjstateSet[jjnewStateCnt++] = 22;
+                  break;
+               case 24:
+                  if (curChar == 101 && kind > 27)
+                     kind = 27;
+                  break;
+               case 25:
+                  if (curChar == 117)
+                     jjCheckNAdd(24);
+                  break;
+               case 26:
+                  if (curChar == 114)
+                     jjstateSet[jjnewStateCnt++] = 25;
+                  break;
+               case 27:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 26;
+                  break;
+               case 28:
+                  if (curChar == 115)
+                     jjCheckNAdd(24);
+                  break;
+               case 29:
+                  if (curChar == 108)
+                     jjstateSet[jjnewStateCnt++] = 28;
+                  break;
+               case 30:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 29;
+                  break;
+               case 31:
+                  if (curChar == 102)
+                     jjstateSet[jjnewStateCnt++] = 30;
+                  break;
+               case 37:
+                  if (curChar == 110 && kind > 30)
+                     kind = 30;
+                  break;
+               case 38:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 37;
+                  break;
+               case 39:
+                  if (curChar == 104)
+                     jjstateSet[jjnewStateCnt++] = 38;
+                  break;
+               case 40:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 39;
+                  break;
+               case 42:
+                  if (curChar == 114)
+                     jjstateSet[jjnewStateCnt++] = 41;
+                  break;
+               case 43:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 42;
+                  break;
+               case 44:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 43;
+                  break;
+               case 45:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 44;
+                  break;
+               case 46:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 45;
+                  break;
+               case 47:
+                  if (curChar == 114)
+                     jjstateSet[jjnewStateCnt++] = 46;
+                  break;
+               case 48:
+                  if (curChar == 103)
+                     jjstateSet[jjnewStateCnt++] = 47;
+                  break;
+               case 51:
+                  if (curChar == 126)
+                     jjstateSet[jjnewStateCnt++] = 50;
+                  break;
+               case 52:
+                  if ((0xffffffffd7ffffffL & l) == 0L)
+                     break;
+                  if (kind > 43)
+                     kind = 43;
+                  jjCheckNAdd(52);
+                  break;
+               case 53:
+                  if (curChar == 91)
+                     jjCheckNAddStates(29, 31);
+                  break;
+               case 54:
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 55;
+                  break;
+               case 55:
+                  jjCheckNAddStates(29, 31);
+                  break;
+               case 56:
+                  if ((0xffffffffcfffffffL & l) != 0L)
+                     jjCheckNAddStates(29, 31);
+                  break;
+               case 57:
+                  if (curChar == 93 && kind > 44)
+                     kind = 44;
+                  break;
+               case 73:
+                  if (curChar == 84)
+                     jjstateSet[jjnewStateCnt++] = 74;
+                  break;
+               case 109:
+                  if (curChar == 84)
+                     jjstateSet[jjnewStateCnt++] = 110;
+                  break;
+               case 147:
+                  if ((0x2000000020L & l) != 0L)
+                     jjAddStates(77, 78);
+                  break;
+               case 153:
+                  if ((0x2000000020L & l) != 0L)
+                     jjAddStates(79, 80);
+                  break;
+               case 159:
+                  if (curChar == 105)
+                     jjCheckNAddStates(72, 76);
+                  break;
+               case 160:
+                  if (curChar == 115 && kind > 28)
+                     kind = 28;
+                  break;
+               case 161:
+                  if (curChar == 116 && kind > 29)
+                     kind = 29;
+                  break;
+               case 162:
+                  if (curChar == 111)
+                     jjstateSet[jjnewStateCnt++] = 161;
+                  break;
+               case 163:
+                  if (curChar == 110)
+                     jjstateSet[jjnewStateCnt++] = 162;
+                  break;
+               case 165:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 164;
+                  break;
+               case 166:
+                  if (curChar == 101 && kind > 34)
+                     kind = 34;
+                  break;
+               case 167:
+               case 185:
+                  if (curChar == 107)
+                     jjCheckNAdd(166);
+                  break;
+               case 168:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 167;
+                  break;
+               case 169:
+                  if (curChar == 108)
+                     jjstateSet[jjnewStateCnt++] = 168;
+                  break;
+               case 171:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 170;
+                  break;
+               case 172:
+                  if (curChar == 110 && kind > 40)
+                     kind = 40;
+                  break;
+               case 173:
+                  if (curChar == 105)
+                     jjCheckNAdd(172);
+                  break;
+               case 175:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 174;
+                  break;
+               case 176:
+                  if (curChar == 108)
+                     jjAddStates(70, 71);
+                  break;
+               case 177:
+                  if (curChar == 110 && kind > 32)
+                     kind = 32;
+                  break;
+               case 178:
+                  if (curChar == 97)
+                     jjstateSet[jjnewStateCnt++] = 177;
+                  break;
+               case 179:
+                  if (curChar == 104)
+                     jjstateSet[jjnewStateCnt++] = 178;
+                  break;
+               case 180:
+                  if (curChar == 116)
+                     jjstateSet[jjnewStateCnt++] = 179;
+                  break;
+               case 182:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 181;
+                  break;
+               case 183:
+                  if (curChar == 115)
+                     jjstateSet[jjnewStateCnt++] = 182;
+                  break;
+               case 184:
+                  if (curChar == 101)
+                     jjstateSet[jjnewStateCnt++] = 183;
+                  break;
+               case 186:
+                  if (curChar == 105)
+                     jjstateSet[jjnewStateCnt++] = 185;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int hiByte = (int)(curChar >> 8);
+         int i1 = hiByte >> 6;
+         long l1 = 1L << (hiByte & 077);
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+               case 52:
+                  if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     break;
+                  if (kind > 43)
+                     kind = 43;
+                  jjCheckNAdd(52);
+                  break;
+               case 7:
+               case 8:
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     jjCheckNAddStates(26, 28);
+                  break;
+               case 12:
+               case 13:
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     jjCheckNAddStates(23, 25);
+                  break;
+               case 55:
+               case 56:
+                  if (jjCanMove_0(hiByte, i1, i2, l1, l2))
+                     jjCheckNAddStates(29, 31);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 187 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
 static final int[] jjnextStates = {
    60, 96, 126, 142, 143, 144, 146, 147, 150, 151, 156, 158, 141, 124, 94, 59, 
    95, 125, 142, 143, 146, 150, 156, 11, 13, 14, 6, 8, 9, 54, 56, 57, 
@@ -1484,237 +1484,237 @@ static final int[] jjnextStates = {
    98, 100, 122, 123, 96, 98, 123, 124, 130, 131, 132, 139, 128, 130, 139, 140, 
    126, 128, 140, 141, 3, 4, 184, 186, 160, 165, 171, 175, 172, 148, 149, 154, 
    155, 
-};
-private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
-{
-   switch(hiByte)
-   {
-      case 0:
-         return ((jjbitVec2[i2] & l2) != 0L);
-      default :
-         if ((jjbitVec0[i1] & l1) != 0L)
-            return true;
-         return false;
-   }
-}
-
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, null, null, null, null, null, null, null, 
-null, null, null, null, null, null, null, null, null, null, "\156\165\154\154", 
-"\50", "\51", "\54", null, null, null, null, "\76\75", null, "\74\75", null, 
-"\156\157\164\40\154\151\153\145", "\143\157\156\164\141\151\156\163", 
-"\143\157\156\164\141\151\156\163\40\156\157\164", "\143\157\156\164\141\151\156\163\40\141\156\171", 
-"\143\157\156\164\141\151\156\163\40\156\157\164\40\141\156\171", null, "\156\157\164\40\151\156", "\44", null, null, null, };
-
-/** Lexer state names. */
-public static final String[] lexStateNames = {
-   "DEFAULT",
-};
+};
+private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
+{
+   switch(hiByte)
+   {
+      case 0:
+         return ((jjbitVec2[i2] & l2) != 0L);
+      default :
+         if ((jjbitVec0[i1] & l1) != 0L)
+            return true;
+         return false;
+   }
+}
+
+/** Token literal values. */
+public static final String[] jjstrLiteralImages = {
+"", null, null, null, null, null, null, null, null, null, null, null, null, 
+null, null, null, null, null, null, null, null, null, null, "\156\165\154\154", 
+"\50", "\51", "\54", null, null, null, null, "\76\75", null, "\74\75", null, 
+"\156\157\164\40\154\151\153\145", "\143\157\156\164\141\151\156\163", 
+"\143\157\156\164\141\151\156\163\40\156\157\164", "\143\157\156\164\141\151\156\163\40\141\156\171", 
+"\143\157\156\164\141\151\156\163\40\156\157\164\40\141\156\171", null, "\156\157\164\40\151\156", "\44", null, null, null, };
+
+/** Lexer state names. */
+public static final String[] lexStateNames = {
+   "DEFAULT",
+};
 static final long[] jjtoToken = {
    0x3fffffe7fc01L, 
-};
+};
 static final long[] jjtoSkip = {
    0x6L, 
-};
-protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[187];
-private final int[] jjstateSet = new int[374];
-private final StringBuilder jjimage = new StringBuilder();
-private StringBuilder image = jjimage;
-private int jjimageLen;
-private int lengthOfMatch;
-protected char curChar;
-/** Constructor. */
-public FilterParserTokenManager(SimpleCharStream stream){
-   if (SimpleCharStream.staticFlag)
-      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-   input_stream = stream;
-}
-
-/** Constructor. */
-public FilterParserTokenManager(SimpleCharStream stream, int lexState){
-   this(stream);
-   SwitchTo(lexState);
-}
-
-/** Reinitialise parser. */
-public void ReInit(SimpleCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 187; i-- > 0;)
-      jjrounds[i] = 0x80000000;
-}
-
-/** Reinitialise parser. */
-public void ReInit(SimpleCharStream stream, int lexState)
-{
-   ReInit(stream);
-   SwitchTo(lexState);
-}
-
-/** Switch to specified lex state. */
-public void SwitchTo(int lexState)
-{
-   if (lexState >= 1 || lexState < 0)
-      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
-   else
-      curLexState = lexState;
-}
-
-protected Token jjFillToken()
-{
-   final Token t;
-   final String curTokenImage;
-   final int beginLine;
-   final int endLine;
-   final int beginColumn;
-   final int endColumn;
-   String im = jjstrLiteralImages[jjmatchedKind];
-   curTokenImage = (im == null) ? input_stream.GetImage() : im;
-   beginLine = input_stream.getBeginLine();
-   beginColumn = input_stream.getBeginColumn();
-   endLine = input_stream.getEndLine();
-   endColumn = input_stream.getEndColumn();
-   t = Token.newToken(jjmatchedKind, curTokenImage);
-
-   t.beginLine = beginLine;
-   t.endLine = endLine;
-   t.beginColumn = beginColumn;
-   t.endColumn = endColumn;
-
-   return t;
-}
-
-int curLexState = 0;
-int defaultLexState = 0;
-int jjnewStateCnt;
-int jjround;
-int jjmatchedPos;
-int jjmatchedKind;
-
-/** Get the next Token. */
-public Token getNextToken() 
-{
-  Token matchedToken;
-  int curPos = 0;
-
+};
+protected SimpleCharStream input_stream;
+private final int[] jjrounds = new int[187];
+private final int[] jjstateSet = new int[374];
+private final StringBuilder jjimage = new StringBuilder();
+private StringBuilder image = jjimage;
+private int jjimageLen;
+private int lengthOfMatch;
+protected char curChar;
+/** Constructor. */
+public FilterParserTokenManager(SimpleCharStream stream){
+   if (SimpleCharStream.staticFlag)
+      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+   input_stream = stream;
+}
+
+/** Constructor. */
+public FilterParserTokenManager(SimpleCharStream stream, int lexState){
+   this(stream);
+   SwitchTo(lexState);
+}
+
+/** Reinitialise parser. */
+public void ReInit(SimpleCharStream stream)
+{
+   jjmatchedPos = jjnewStateCnt = 0;
+   curLexState = defaultLexState;
+   input_stream = stream;
+   ReInitRounds();
+}
+private void ReInitRounds()
+{
+   int i;
+   jjround = 0x80000001;
+   for (i = 187; i-- > 0;)
+      jjrounds[i] = 0x80000000;
+}
+
+/** Reinitialise parser. */
+public void ReInit(SimpleCharStream stream, int lexState)
+{
+   ReInit(stream);
+   SwitchTo(lexState);
+}
+
+/** Switch to specified lex state. */
+public void SwitchTo(int lexState)
+{
+   if (lexState >= 1 || lexState < 0)
+      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+   else
+      curLexState = lexState;
+}
+
+protected Token jjFillToken()
+{
+   final Token t;
+   final String curTokenImage;
+   final int beginLine;
+   final int endLine;
+   final int beginColumn;
+   final int endColumn;
+   String im = jjstrLiteralImages[jjmatchedKind];
+   curTokenImage = (im == null) ? input_stream.GetImage() : im;
+   beginLine = input_stream.getBeginLine();
+   beginColumn = input_stream.getBeginColumn();
+   endLine = input_stream.getEndLine();
+   endColumn = input_stream.getEndColumn();
+   t = Token.newToken(jjmatchedKind, curTokenImage);
+
+   t.beginLine = beginLine;
+   t.endLine = endLine;
+   t.beginColumn = beginColumn;
+   t.endColumn = endColumn;
+
+   return t;
+}
+
+int curLexState = 0;
+int defaultLexState = 0;
+int jjnewStateCnt;
+int jjround;
+int jjmatchedPos;
+int jjmatchedKind;
+
+/** Get the next Token. */
+public Token getNextToken() 
+{
+  Token matchedToken;
+  int curPos = 0;
+
   EOFLoop :
-  for (;;)
-  {
-   try
-   {
-      curChar = input_stream.BeginToken();
-   }
-   catch(java.io.IOException e)
-   {
-      jjmatchedKind = 0;
-      matchedToken = jjFillToken();
-      return matchedToken;
-   }
-   image = jjimage;
-   image.setLength(0);
-   jjimageLen = 0;
-
-   try { input_stream.backup(0);
-      while (curChar <= 32 && (0x100000000L & (1L << curChar)) != 0L)
-         curChar = input_stream.BeginToken();
-   }
-   catch (java.io.IOException e1) { continue EOFLoop; }
-   jjmatchedKind = 0x7fffffff;
-   jjmatchedPos = 0;
-   curPos = jjMoveStringLiteralDfa0_0();
-   if (jjmatchedPos == 0 && jjmatchedKind > 45)
-   {
-      jjmatchedKind = 45;
-   }
-   if (jjmatchedKind != 0x7fffffff)
-   {
-      if (jjmatchedPos + 1 < curPos)
-         input_stream.backup(curPos - jjmatchedPos - 1);
-      if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
-      {
-         matchedToken = jjFillToken();
-         TokenLexicalActions(matchedToken);
-         return matchedToken;
-      }
-      else
-      {
-         continue EOFLoop;
-      }
-   }
-   int error_line = input_stream.getEndLine();
-   int error_column = input_stream.getEndColumn();
-   String error_after = null;
-   boolean EOFSeen = false;
-   try { input_stream.readChar(); input_stream.backup(1); }
-   catch (java.io.IOException e1) {
-      EOFSeen = true;
-      error_after = curPos <= 1 ? "" : input_stream.GetImage();
-      if (curChar == '\n' || curChar == '\r') {
-         error_line++;
-         error_column = 0;
-      }
-      else
-         error_column++;
-   }
-   if (!EOFSeen) {
-      input_stream.backup(1);
-      error_after = curPos <= 1 ? "" : input_stream.GetImage();
-   }
-   throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
-  }
-}
-
-void TokenLexicalActions(Token matchedToken)
-{
-   switch(jjmatchedKind)
-   {
-      case 18 :
-        image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
-                                       matchedToken.image = image.substring(1, lengthOfMatch - 1);
-         break;
-      case 44 :
-        image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
-                                                        matchedToken.image = image.substring(1, lengthOfMatch - 1);
-         break;
-      default :
-         break;
-   }
-}
-private void jjCheckNAdd(int state)
-{
-   if (jjrounds[state] != jjround)
-   {
-      jjstateSet[jjnewStateCnt++] = state;
-      jjrounds[state] = jjround;
-   }
-}
-private void jjAddStates(int start, int end)
-{
-   do {
-      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
-   } while (start++ != end);
-}
-private void jjCheckNAddTwoStates(int state1, int state2)
-{
-   jjCheckNAdd(state1);
-   jjCheckNAdd(state2);
-}
-
-private void jjCheckNAddStates(int start, int end)
-{
-   do {
-      jjCheckNAdd(jjnextStates[start]);
-   } while (start++ != end);
-}
-
-}
+  for (;;)
+  {
+   try
+   {
+      curChar = input_stream.BeginToken();
+   }
+   catch(java.io.IOException e)
+   {
+      jjmatchedKind = 0;
+      matchedToken = jjFillToken();
+      return matchedToken;
+   }
+   image = jjimage;
+   image.setLength(0);
+   jjimageLen = 0;
+
+   try { input_stream.backup(0);
+      while (curChar <= 32 && (0x100000000L & (1L << curChar)) != 0L)
+         curChar = input_stream.BeginToken();
+   }
+   catch (java.io.IOException e1) { continue EOFLoop; }
+   jjmatchedKind = 0x7fffffff;
+   jjmatchedPos = 0;
+   curPos = jjMoveStringLiteralDfa0_0();
+   if (jjmatchedPos == 0 && jjmatchedKind > 45)
+   {
+      jjmatchedKind = 45;
+   }
+   if (jjmatchedKind != 0x7fffffff)
+   {
+      if (jjmatchedPos + 1 < curPos)
+         input_stream.backup(curPos - jjmatchedPos - 1);
+      if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+      {
+         matchedToken = jjFillToken();
+         TokenLexicalActions(matchedToken);
+         return matchedToken;
+      }
+      else
+      {
+         continue EOFLoop;
+      }
+   }
+   int error_line = input_stream.getEndLine();
+   int error_column = input_stream.getEndColumn();
+   String error_after = null;
+   boolean EOFSeen = false;
+   try { input_stream.readChar(); input_stream.backup(1); }
+   catch (java.io.IOException e1) {
+      EOFSeen = true;
+      error_after = curPos <= 1 ? "" : input_stream.GetImage();
+      if (curChar == '\n' || curChar == '\r') {
+         error_line++;
+         error_column = 0;
+      }
+      else
+         error_column++;
+   }
+   if (!EOFSeen) {
+      input_stream.backup(1);
+      error_after = curPos <= 1 ? "" : input_stream.GetImage();
+   }
+   throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+  }
+}
+
+void TokenLexicalActions(Token matchedToken)
+{
+   switch(jjmatchedKind)
+   {
+      case 18 :
+        image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+                                       matchedToken.image = image.substring(1, lengthOfMatch - 1);
+         break;
+      case 44 :
+        image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+                                                        matchedToken.image = image.substring(1, lengthOfMatch - 1);
+         break;
+      default :
+         break;
+   }
+}
+private void jjCheckNAdd(int state)
+{
+   if (jjrounds[state] != jjround)
+   {
+      jjstateSet[jjnewStateCnt++] = state;
+      jjrounds[state] = jjround;
+   }
+}
+private void jjAddStates(int start, int end)
+{
+   do {
+      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+   } while (start++ != end);
+}
+private void jjCheckNAddTwoStates(int state1, int state2)
+{
+   jjCheckNAdd(state1);
+   jjCheckNAdd(state2);
+}
+
+private void jjCheckNAddStates(int start, int end)
+{
+   do {
+      jjCheckNAdd(jjnextStates[start]);
+   } while (start++ != end);
+}
+
+}