From 5b3c0d1ce92c7f99c81194e331d9546c0cc36369 Mon Sep 17 00:00:00 2001
From: Sophie Coudert <sophie.coudert@telecom-paris.fr>
Date: Wed, 22 May 2024 14:32:02 +0200
Subject: [PATCH] Stx2Avatar : OutMessage Completion added

---
 .../tosysmlv2/Avatar2SysML.java               |   22 +
 .../tosysmlv2/AvatarFromSysML.java            |   40 +-
 .../tosysmlv2/AvatarFromSysMLLexer.java       |    4 +-
 .../tosysmlv2/AvatarFromSysMLParser.java      | 2118 +++++++++--------
 .../tosysmlv2/AvatarFromSysMLSymbols.java     |  194 +-
 .../tosysmlv2/AvatarFromSysMLSyntax.java      |   68 +-
 .../tosysmlv2/javacup/AvatarFromSysML.jcup    |   53 +-
 7 files changed, 1356 insertions(+), 1143 deletions(-)

diff --git a/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java b/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
index fe9331d684..d29dceb42e 100644
--- a/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
+++ b/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
@@ -513,6 +513,28 @@ public class Avatar2SysML {
                 }
             }
         }
+        // constants --------------------
+        if (block.getConstants() != null && block.getConstants().size() != 0) {
+            avsysml.append("\n" + indent + "// Constants ---------------------\n");
+            int j = 0;
+            int nbConstants = block.getConstants().size();
+            while(j < nbConstants)  {
+                AvatarAttribute cs = block.getConstants().get(j);
+                AvatarDataType dataType = cs.getDataType();
+                if (dataType == null) {
+                    avsysml.append(indent + "readonly attribute " + attributeSysMLname(cs.getName()) + " : ");
+                    if (cs.isInt()) avsysml.append("Integer");
+                    else avsysml.append("Boolean");
+                    if (cs.hasInitialValue()) avsysml.append(" := " + cs.getInitialValue().trim());
+                    avsysml.append(";\n");
+                    j++;
+                } else {
+                    avsysml.append(indent + "readonly attribute " + attributeSysMLname(removeFieldName(cs)) +
+                            " : " + dataTypeSysMLname(dataType.getName()) + ";\n");
+                    j += dataType.getFullSize();
+                }
+            }
+        }
         // methods --------------------
         if (block.getMethods() != null && block.getMethods().size() != 0) {
             avsysml.append("\n" + indent + "// Methods ---------------------\n");
diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java
index 6719791b26..beb874cffd 100644
--- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java
+++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java
@@ -38,20 +38,50 @@
 package avatartranslator.tosysmlv2;
 
 import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.List;
+import java.util.function.BiConsumer;
+
+import avatartranslator.AvatarDataType;
 import avatartranslator.AvatarSpecification;
 import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*;
 import java_cup.runtime.ComplexSymbolFactory;
-import java_cup.runtime.ComplexSymbolFactory.Location;
 
 public class AvatarFromSysML {
-    private AvatarSpecification spec;
+    private AvatarSpecification avSpec;
     private StxModel stxSpec;
-    public void sysMLtoStxSpec(String _txt) {
+    public void sysMLtoSpec(String _txt) {
         AvatarFromSysMLParser parser =
                 new AvatarFromSysMLParser(new Avatar2SysMLLexer(new StringReader(_txt)),
                                           new ComplexSymbolFactory());
         stxSpec = parser.parseModel();
+        buildDataTypes();
+    }
+    // BUILDING DATATYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    private class BuildDataType implements BiConsumer<String, StxDataType> {
+        List<AvatarDataType> dataTypeList;
+        public BuildDataType(List<AvatarDataType> _dataTypeList){ dataTypeList = _dataTypeList; }
+        public void accept(String n, StxDataType d) {
+            AvatarDataType dataType = new AvatarDataType(d.getName());
+            AvatarDataType.dataTypeMap.put(d.getName(), dataType);
+            dataTypeList.add(dataType);
+            int nbFields = d.getSize();
+            for (int i = 0; i < nbFields; i++) {
+                String type =  d.getFieldType(i);
+                if(type.equals("Integer"))
+                    dataType.addField(d.getFieldName(i), AvatarDataType.INTEGER, null);
+                else if(type.equals("Boolean"))
+                    dataType.addField(d.getFieldName(i), AvatarDataType.BOOLEAN, null);
+                else
+                    dataType.addField(d.getFieldName(i), AvatarDataType.DATATYPE, type);
+            }
+        }
+    }
+    private void buildDataTypes(){
+        List<AvatarDataType> dtList = avSpec.getDataTypes();
+        AvatarDataType.dataTypeMap.clear();
+        stxSpec.getDataTypeMap().forEach(new BuildDataType(dtList));
+        int size = dtList.size();
+        for(int i = 0; i < size; i++)
+            AvatarDataType.finalize(dtList.get(i));
     }
 }
diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java
index 38794942d7..88e77b9b39 100644
--- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java
+++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 21/05/2024 16:03 */
+/* The following code was generated by JFlex 1.4.3 on 22/05/2024 14:29 */
 
 package avatartranslator.tosysmlv2;
 import java_cup.runtime.*;
@@ -9,7 +9,7 @@ import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*;
 /**
  * This class is a scanner generated by 
  * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 21/05/2024 16:03 from the specification file
+ * on 22/05/2024 14:29 from the specification file
  * <tt>__AvatarFromSysMLLexer__.jflex</tt>
  */
 public class AvatarFromSysMLLexer implements java_cup.runtime.Scanner {
diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java
index 80148297a6..b18da4f38c 100644
--- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java
+++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java
@@ -9,6 +9,7 @@ import java_cup.runtime.*;
 import java.util.ArrayList;
 import java.util.HashMap;
 import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*;
+import java.util.function.BiConsumer;
 import java_cup.runtime.ComplexSymbolFactory.Location;
 import java_cup.runtime.XMLElement;
 
@@ -36,7 +37,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
   /** Production table. */
   protected static final short _production_table[][] = 
     unpackFromStrings(new String[] {
-    "\000\u010a\000\002\003\007\000\002\002\004\000\002\003" +
+    "\000\u010e\000\002\003\007\000\002\002\004\000\002\003" +
     "\006\000\002\004\003\000\002\004\004\000\002\005\003" +
     "\000\002\005\003\000\002\005\003\000\002\005\003\000" +
     "\002\005\003\000\002\005\003\000\002\005\003\000\002" +
@@ -63,62 +64,63 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\052\007\000\002\055\004\000\002\055\004\000\002\056" +
     "\007\000\002\057\004\000\002\057\004\000\002\060\003" +
     "\000\002\060\003\000\002\060\003\000\002\060\003\000" +
-    "\002\060\003\000\002\060\003\000\002\061\004\000\002" +
-    "\061\006\000\002\062\006\000\002\063\003\000\002\063" +
-    "\003\000\002\064\005\000\002\064\006\000\002\075\006" +
-    "\000\002\065\005\000\002\065\006\000\002\076\006\000" +
-    "\002\066\003\000\002\066\004\000\002\067\003\000\002" +
-    "\067\006\000\002\070\007\000\002\070\007\000\002\071" +
-    "\013\000\002\071\007\000\002\072\007\000\002\072\005" +
-    "\000\002\072\004\000\002\165\007\000\002\073\003\000" +
-    "\002\073\004\000\002\074\003\000\002\074\003\000\002" +
-    "\077\003\000\002\077\003\000\002\077\003\000\002\077" +
-    "\003\000\002\077\003\000\002\077\003\000\002\077\003" +
-    "\000\002\077\003\000\002\077\003\000\002\077\003\000" +
-    "\002\077\003\000\002\077\003\000\002\100\004\000\002" +
-    "\100\010\000\002\100\011\000\002\151\007\000\002\101" +
-    "\004\000\002\101\010\000\002\101\011\000\002\152\006" +
-    "\000\002\102\004\000\002\102\010\000\002\153\007\000" +
-    "\002\103\004\000\002\103\010\000\002\103\011\000\002" +
-    "\154\006\000\002\104\004\000\002\104\010\000\002\104" +
-    "\011\000\002\155\006\000\002\105\012\000\002\105\012" +
-    "\000\002\105\011\000\002\156\006\000\002\106\011\000" +
-    "\002\106\012\000\002\106\012\000\002\157\006\000\002" +
-    "\107\011\000\002\160\006\000\002\110\011\000\002\161" +
-    "\006\000\002\111\011\000\002\111\010\000\002\111\004" +
-    "\000\002\162\006\000\002\112\011\000\002\112\010\000" +
-    "\002\112\004\000\002\163\006\000\002\113\011\000\002" +
-    "\113\010\000\002\113\004\000\002\164\006\000\002\114" +
-    "\005\000\002\115\005\000\002\116\003\000\002\116\005" +
-    "\000\002\117\012\000\002\117\003\000\002\120\003\000" +
-    "\002\120\003\000\002\120\003\000\002\120\003\000\002" +
-    "\120\003\000\002\120\003\000\002\121\003\000\002\121" +
-    "\005\000\002\143\004\000\002\124\005\000\002\144\004" +
-    "\000\002\125\005\000\002\145\004\000\002\126\005\000" +
+    "\002\060\003\000\002\060\003\000\002\060\003\000\002" +
+    "\061\004\000\002\061\006\000\002\063\006\000\002\062" +
+    "\004\000\002\062\006\000\002\100\007\000\002\064\003" +
+    "\000\002\064\003\000\002\065\005\000\002\065\006\000" +
+    "\002\076\006\000\002\066\005\000\002\066\006\000\002" +
+    "\077\006\000\002\067\003\000\002\067\004\000\002\070" +
+    "\003\000\002\070\006\000\002\071\007\000\002\071\007" +
+    "\000\002\072\013\000\002\072\007\000\002\073\007\000" +
+    "\002\073\005\000\002\073\004\000\002\167\007\000\002" +
+    "\074\003\000\002\074\004\000\002\075\003\000\002\075" +
+    "\003\000\002\101\003\000\002\101\003\000\002\101\003" +
+    "\000\002\101\003\000\002\101\003\000\002\101\003\000" +
+    "\002\101\003\000\002\101\003\000\002\101\003\000\002" +
+    "\101\003\000\002\101\003\000\002\101\003\000\002\102" +
+    "\004\000\002\102\010\000\002\102\011\000\002\153\007" +
+    "\000\002\103\004\000\002\103\010\000\002\103\011\000" +
+    "\002\154\006\000\002\104\004\000\002\104\010\000\002" +
+    "\155\007\000\002\105\004\000\002\105\010\000\002\105" +
+    "\011\000\002\156\006\000\002\106\004\000\002\106\010" +
+    "\000\002\106\011\000\002\157\006\000\002\107\012\000" +
+    "\002\107\012\000\002\107\011\000\002\160\006\000\002" +
+    "\110\011\000\002\110\012\000\002\110\012\000\002\161" +
+    "\006\000\002\111\011\000\002\162\006\000\002\112\011" +
+    "\000\002\163\006\000\002\113\011\000\002\113\010\000" +
+    "\002\113\004\000\002\164\006\000\002\114\011\000\002" +
+    "\114\010\000\002\114\004\000\002\165\006\000\002\115" +
+    "\011\000\002\115\010\000\002\115\004\000\002\166\006" +
+    "\000\002\116\005\000\002\117\005\000\002\120\003\000" +
+    "\002\120\005\000\002\121\012\000\002\121\003\000\002" +
+    "\122\003\000\002\122\003\000\002\122\003\000\002\122" +
+    "\003\000\002\122\003\000\002\122\003\000\002\123\003" +
+    "\000\002\123\005\000\002\145\004\000\002\126\005\000" +
     "\002\146\004\000\002\127\005\000\002\147\004\000\002" +
-    "\130\005\000\002\150\004\000\002\122\003\000\002\122" +
-    "\004\000\002\123\003\000\002\123\003\000\002\123\003" +
-    "\000\002\123\003\000\002\123\003\000\002\123\003\000" +
-    "\002\123\003\000\002\131\005\000\002\132\005\000\002" +
-    "\133\003\000\002\133\003\000\002\135\010\000\002\136" +
-    "\007\000\002\136\006\000\002\136\004\000\002\166\004" +
-    "\000\002\137\005\000\002\140\007\000\002\141\007\000" +
-    "\002\142\007\000\002\200\003\000\002\200\005\000\002" +
-    "\167\012\000\002\167\012\000\002\170\005\000\002\206" +
-    "\003\000\002\207\003\000\002\207\005\000\002\171\005" +
-    "\000\002\134\010\000\002\172\012\000\002\172\012\000" +
-    "\002\173\011\000\002\174\006\000\002\174\007\000\002" +
-    "\174\007\000\002\174\010\000\002\201\007\000\002\201" +
-    "\013\000\002\175\005\000\002\175\006\000\002\175\005" +
-    "\000\002\175\006\000\002\210\006\000\002\211\006\000" +
-    "\002\203\010\000\002\203\006\000\002\176\010\000\002" +
-    "\176\006\000\002\177\007\000\002\177\005\000\002\205" +
-    "\003\000\002\204\004\000\002\204\004\000\002\212\013" +
-    "\000\002\213\010\000\002\213\006\000\002\214\006\000" +
-    "\002\214\004\000\002\215\012\000\002\202\003\000\002" +
-    "\202\004\000\002\216\003\000\002\216\003\000\002\216" +
-    "\003\000\002\217\010\000\002\220\010\000\002\221\010" +
-    "" });
+    "\130\005\000\002\150\004\000\002\131\005\000\002\151" +
+    "\004\000\002\132\005\000\002\152\004\000\002\124\003" +
+    "\000\002\124\004\000\002\125\003\000\002\125\003\000" +
+    "\002\125\003\000\002\125\003\000\002\125\003\000\002" +
+    "\125\003\000\002\125\003\000\002\133\005\000\002\134" +
+    "\005\000\002\135\003\000\002\135\003\000\002\137\010" +
+    "\000\002\140\007\000\002\140\006\000\002\140\004\000" +
+    "\002\170\004\000\002\141\005\000\002\142\007\000\002" +
+    "\143\007\000\002\144\007\000\002\202\003\000\002\202" +
+    "\005\000\002\171\012\000\002\171\012\000\002\172\005" +
+    "\000\002\210\003\000\002\211\003\000\002\211\005\000" +
+    "\002\173\005\000\002\136\010\000\002\174\012\000\002" +
+    "\174\012\000\002\175\011\000\002\176\006\000\002\176" +
+    "\007\000\002\176\007\000\002\176\010\000\002\203\007" +
+    "\000\002\203\013\000\002\177\005\000\002\177\006\000" +
+    "\002\177\005\000\002\177\006\000\002\212\006\000\002" +
+    "\213\006\000\002\205\010\000\002\205\006\000\002\200" +
+    "\010\000\002\200\006\000\002\201\007\000\002\201\005" +
+    "\000\002\207\003\000\002\206\004\000\002\206\004\000" +
+    "\002\214\013\000\002\215\010\000\002\215\006\000\002" +
+    "\216\006\000\002\216\004\000\002\217\012\000\002\204" +
+    "\003\000\002\204\004\000\002\220\003\000\002\220\003" +
+    "\000\002\220\003\000\002\221\010\000\002\222\010\000" +
+    "\002\223\010" });
 
   /** Access to production table. */
   @Override
@@ -127,7 +129,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
   /** Parse-action table. */
   protected static final short[][] _action_table = 
     unpackFromStrings(new String[] {
-    "\000\u02bb\000\004\260\005\001\002\000\004\002\u02bd\001" +
+    "\000\u02c6\000\004\260\005\001\002\000\004\002\u02c8\001" +
     "\002\000\004\141\006\001\002\000\004\015\007\001\002" +
     "\000\012\016\027\164\017\166\037\262\045\001\002\000" +
     "\012\016\ufff9\164\ufff9\166\ufff9\262\ufff9\001\002\000\012" +
@@ -135,9 +137,9 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\uffe3\164\uffe3\166\uffe3\262\uffe3\001\002\000\012\016\uffe4" +
     "\164\uffe4\166\uffe4\262\uffe4\001\002\000\012\016\uffc4\164" +
     "\uffc4\166\uffc4\262\uffc4\001\002\000\012\016\uffca\164\uffca" +
-    "\166\uffca\262\uffca\001\002\000\014\025\u02a0\026\u02a2\027" +
-    "\u029a\031\u02a1\032\u0299\001\002\000\004\201\u02b6\001\002" +
-    "\000\014\025\u02a0\026\u02a2\027\u029a\031\u02a1\032\u0299\001" +
+    "\166\uffca\262\uffca\001\002\000\014\025\u02ab\026\u02ad\027" +
+    "\u02a5\031\u02ac\032\u02a4\001\002\000\004\201\u02c1\001\002" +
+    "\000\014\025\u02ab\026\u02ad\027\u02a5\031\u02ac\032\u02a4\001" +
     "\002\000\012\016\ufffe\164\017\166\037\262\045\001\002" +
     "\000\012\016\uffcf\164\uffcf\166\uffcf\262\uffcf\001\002\000" +
     "\012\016\uffd0\164\uffd0\166\uffd0\262\uffd0\001\002\000\012" +
@@ -146,441 +148,454 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\164\uffce\166\uffce\262\uffce\001\002\000\004\002\uffff\001" +
     "\002\000\012\016\uffc3\164\uffc3\166\uffc3\262\uffc3\001\002" +
     "\000\012\016\ufff8\164\ufff8\166\ufff8\262\ufff8\001\002\000" +
-    "\014\025\u02a0\026\u02a2\027\u029a\031\u02a1\032\u0299\001\002" +
-    "\000\006\015\u028d\020\u028c\001\002\000\006\164\215\265" +
-    "\u027c\001\002\000\012\016\ufffc\164\ufffc\166\ufffc\262\ufffc" +
-    "\001\002\000\004\015\u0275\001\002\000\004\021\u025a\001" +
-    "\002\000\016\016\160\145\166\164\154\171\157\215\152" +
-    "\262\174\001\002\000\004\016\150\001\002\000\012\016" +
-    "\ufff7\164\ufff7\166\ufff7\262\ufff7\001\002\000\012\016\uffe5" +
-    "\164\uffe5\166\uffe5\262\uffe5\001\002\000\012\016\ufffa\164" +
-    "\ufffa\166\ufffa\262\ufffa\001\002\000\006\141\047\201\046" +
-    "\001\002\000\004\141\134\001\002\000\004\021\050\001" +
-    "\002\000\020\050\056\051\057\052\054\057\053\060\055" +
-    "\061\051\101\052\001\002\000\004\023\124\001\002\000" +
-    "\010\015\112\311\113\333\114\001\002\000\004\023\101" +
-    "\001\002\000\004\023\076\001\002\000\004\023\066\001" +
-    "\002\000\004\023\063\001\002\000\004\023\060\001\002" +
-    "\000\004\051\061\001\002\000\004\013\062\001\002\000" +
-    "\014\025\uffdd\026\uffdd\027\uffdd\031\uffdd\032\uffdd\001\002" +
-    "\000\004\050\064\001\002\000\004\013\065\001\002\000" +
-    "\014\025\uffe1\026\uffe1\027\uffe1\031\uffe1\032\uffe1\001\002" +
-    "\000\004\060\067\001\002\000\004\013\070\001\002\000" +
-    "\004\030\071\001\002\000\004\023\072\001\002\000\004" +
-    "\141\073\001\002\000\004\014\074\001\002\000\004\020" +
-    "\075\001\002\000\012\016\uffcc\164\uffcc\166\uffcc\262\uffcc" +
-    "\001\002\000\004\052\077\001\002\000\004\013\100\001" +
-    "\002\000\014\025\uffdf\026\uffdf\027\uffdf\031\uffdf\032\uffdf" +
-    "\001\002\000\004\057\102\001\002\000\004\013\103\001" +
-    "\002\000\004\030\104\001\002\000\004\023\105\001\002" +
-    "\000\004\141\106\001\002\000\004\014\107\001\002\000" +
-    "\004\020\110\001\002\000\012\016\uffcb\164\uffcb\166\uffcb" +
-    "\262\uffcb\001\002\000\004\141\116\001\002\000\016\016" +
-    "\uffb1\145\uffb1\164\uffb1\171\uffb1\215\uffb1\262\uffb1\001\002" +
-    "\000\004\141\ufff3\001\002\000\004\141\ufff2\001\002\000" +
-    "\004\023\121\001\002\000\010\020\ufff0\022\117\023\ufff0" +
-    "\001\002\000\004\141\116\001\002\000\006\020\uffef\023" +
-    "\uffef\001\002\000\004\141\116\001\002\000\004\020\123" +
-    "\001\002\000\012\016\ufff1\164\ufff1\166\ufff1\262\ufff1\001" +
-    "\002\000\004\061\125\001\002\000\004\013\126\001\002" +
-    "\000\004\030\127\001\002\000\004\023\130\001\002\000" +
-    "\004\141\131\001\002\000\004\014\132\001\002\000\004" +
-    "\020\133\001\002\000\012\016\uffcd\164\uffcd\166\uffcd\262" +
-    "\uffcd\001\002\000\006\305\135\333\137\001\002\000\012" +
-    "\053\ufff5\054\ufff5\100\ufff5\141\ufff5\001\002\000\010\053" +
-    "\140\054\142\141\141\001\002\000\012\053\ufff4\054\ufff4" +
-    "\100\ufff4\141\ufff4\001\002\000\004\015\147\001\002\000" +
-    "\004\017\145\001\002\000\004\017\143\001\002\000\004" +
-    "\141\144\001\002\000\006\015\uffb8\020\uffb8\001\002\000" +
-    "\004\054\146\001\002\000\006\015\uffb7\020\uffb7\001\002" +
-    "\000\006\164\uffc1\265\uffc1\001\002\000\004\002\001\001" +
-    "\002\000\016\016\uffa4\145\uffa4\164\uffa4\171\uffa4\215\uffa4" +
-    "\262\uffa4\001\002\000\004\307\u0256\001\002\000\016\016" +
-    "\uffaa\145\uffaa\164\uffaa\171\uffaa\215\uffaa\262\uffaa\001\002" +
-    "\000\004\141\u0253\001\002\000\016\016\uffab\145\uffab\164" +
-    "\uffab\171\uffab\215\uffab\262\uffab\001\002\000\006\020\u024f" +
-    "\024\u0250\001\002\000\004\141\u024c\001\002\000\020\016" +
-    "\uffb3\145\uffb3\164\uffb3\166\uffb3\171\uffb3\215\uffb3\262\uffb3" +
-    "\001\002\000\004\015\u0241\001\002\000\016\016\uffad\145" +
-    "\uffad\164\uffad\171\uffad\215\uffad\262\uffad\001\002\000\016" +
-    "\016\u023f\145\166\164\154\171\157\215\152\262\174\001" +
-    "\002\000\020\016\uffb2\145\uffb2\164\uffb2\166\uffb2\171\uffb2" +
-    "\215\uffb2\262\uffb2\001\002\000\016\016\uffa5\145\uffa5\164" +
-    "\uffa5\171\uffa5\215\uffa5\262\uffa5\001\002\000\004\141\u023c" +
-    "\001\002\000\016\016\uffac\145\uffac\164\uffac\171\uffac\215" +
-    "\uffac\262\uffac\001\002\000\010\015\233\020\232\215\152" +
-    "\001\002\000\004\015\213\001\002\000\016\016\uffae\145" +
-    "\uffae\164\uffae\171\uffae\215\uffae\262\uffae\001\002\000\016" +
-    "\016\uffa9\145\uffa9\164\uffa9\171\uffa9\215\uffa9\262\uffa9\001" +
-    "\002\000\004\141\175\001\002\000\004\021\176\001\002" +
-    "\000\012\055\201\056\177\101\200\133\202\001\002\000" +
-    "\004\020\212\001\002\000\004\015\112\001\002\000\004" +
-    "\020\211\001\002\000\006\020\203\023\204\001\002\000" +
-    "\016\016\uff96\145\uff96\164\uff96\171\uff96\215\uff96\262\uff96" +
-    "\001\002\000\004\133\205\001\002\000\004\013\206\001" +
-    "\002\000\004\014\207\001\002\000\004\020\210\001\002" +
-    "\000\016\016\uff97\145\uff97\164\uff97\171\uff97\215\uff97\262" +
-    "\uff97\001\002\000\016\016\uff98\145\uff98\164\uff98\171\uff98" +
-    "\215\uff98\262\uff98\001\002\000\016\016\uff99\145\uff99\164" +
-    "\uff99\171\uff99\215\uff99\262\uff99\001\002\000\006\016\216" +
-    "\164\215\001\002\000\004\016\230\001\002\000\004\141" +
-    "\221\001\002\000\016\016\uffa3\145\uffa3\164\uffa3\171\uffa3" +
-    "\215\uffa3\262\uffa3\001\002\000\010\016\uffeb\164\215\265" +
-    "\uffeb\001\002\000\006\016\uffea\265\uffea\001\002\000\004" +
-    "\021\222\001\002\000\010\074\226\075\225\141\224\001" +
-    "\002\000\004\020\227\001\002\000\004\020\uffe6\001\002" +
-    "\000\004\020\uffe8\001\002\000\004\020\uffe7\001\002\000" +
-    "\012\016\uffe9\164\uffe9\265\uffe9\301\uffe9\001\002\000\016" +
-    "\016\uffa2\145\uffa2\164\uffa2\171\uffa2\215\uffa2\262\uffa2\001" +
-    "\002\000\004\015\235\001\002\000\016\016\uff93\145\uff93" +
-    "\164\uff93\171\uff93\215\uff93\262\uff93\001\002\000\004\016" +
-    "\234\001\002\000\016\016\uff94\145\uff94\164\uff94\171\uff94" +
-    "\215\uff94\262\uff94\001\002\000\012\212\264\216\236\307" +
-    "\267\316\276\001\002\000\004\145\u0238\001\002\000\004" +
-    "\023\u0218\001\002\000\014\016\uff88\212\uff88\216\uff88\307" +
-    "\uff88\316\uff88\001\002\000\014\016\uff83\212\uff83\216\uff83" +
-    "\307\uff83\316\uff83\001\002\000\006\020\u020f\023\u0210\001" +
-    "\002\000\014\016\uff8b\212\uff8b\216\uff8b\307\uff8b\316\uff8b" +
-    "\001\002\000\004\023\u01e9\001\002\000\006\020\u01e0\023" +
-    "\u01e1\001\002\000\006\206\u0178\313\u017a\001\002\000\014" +
-    "\016\uff8f\212\uff8f\216\uff8f\307\uff8f\316\uff8f\001\002\000" +
-    "\014\016\uff84\212\uff84\216\uff84\307\uff84\316\uff84\001\002" +
-    "\000\014\016\uff8c\212\uff8c\216\uff8c\307\uff8c\316\uff8c\001" +
-    "\002\000\014\016\uff8d\212\uff8d\216\uff8d\307\uff8d\316\uff8d" +
-    "\001\002\000\014\016\uff85\212\uff85\216\uff85\307\uff85\316" +
-    "\uff85\001\002\000\006\020\u0169\023\u016a\001\002\000\004" +
-    "\016\u0168\001\002\000\006\020\u015f\023\u0160\001\002\000" +
+    "\014\025\u02ab\026\u02ad\027\u02a5\031\u02ac\032\u02a4\001\002" +
+    "\000\006\015\u0298\020\u0297\001\002\000\006\164\u0237\265" +
+    "\u0287\001\002\000\012\016\ufffc\164\ufffc\166\ufffc\262\ufffc" +
+    "\001\002\000\004\015\u0280\001\002\000\004\021\u0265\001" +
+    "\002\000\020\016\162\145\171\164\155\171\161\215\152" +
+    "\262\177\270\153\001\002\000\004\016\150\001\002\000" +
+    "\012\016\ufff7\164\ufff7\166\ufff7\262\ufff7\001\002\000\012" +
+    "\016\uffe5\164\uffe5\166\uffe5\262\uffe5\001\002\000\012\016" +
+    "\ufffa\164\ufffa\166\ufffa\262\ufffa\001\002\000\006\141\047" +
+    "\201\046\001\002\000\004\141\134\001\002\000\004\021" +
+    "\050\001\002\000\020\050\056\051\057\052\054\057\053" +
+    "\060\055\061\051\101\052\001\002\000\004\023\124\001" +
+    "\002\000\010\015\112\311\113\333\114\001\002\000\004" +
+    "\023\101\001\002\000\004\023\076\001\002\000\004\023" +
+    "\066\001\002\000\004\023\063\001\002\000\004\023\060" +
+    "\001\002\000\004\051\061\001\002\000\004\013\062\001" +
+    "\002\000\014\025\uffdd\026\uffdd\027\uffdd\031\uffdd\032\uffdd" +
+    "\001\002\000\004\050\064\001\002\000\004\013\065\001" +
+    "\002\000\014\025\uffe1\026\uffe1\027\uffe1\031\uffe1\032\uffe1" +
+    "\001\002\000\004\060\067\001\002\000\004\013\070\001" +
+    "\002\000\004\030\071\001\002\000\004\023\072\001\002" +
+    "\000\004\141\073\001\002\000\004\014\074\001\002\000" +
+    "\004\020\075\001\002\000\012\016\uffcc\164\uffcc\166\uffcc" +
+    "\262\uffcc\001\002\000\004\052\077\001\002\000\004\013" +
+    "\100\001\002\000\014\025\uffdf\026\uffdf\027\uffdf\031\uffdf" +
+    "\032\uffdf\001\002\000\004\057\102\001\002\000\004\013" +
+    "\103\001\002\000\004\030\104\001\002\000\004\023\105" +
+    "\001\002\000\004\141\106\001\002\000\004\014\107\001" +
+    "\002\000\004\020\110\001\002\000\012\016\uffcb\164\uffcb" +
+    "\166\uffcb\262\uffcb\001\002\000\004\141\116\001\002\000" +
+    "\020\016\uffb1\145\uffb1\164\uffb1\171\uffb1\215\uffb1\262\uffb1" +
+    "\270\uffb1\001\002\000\004\141\ufff3\001\002\000\004\141" +
+    "\ufff2\001\002\000\004\023\121\001\002\000\010\020\ufff0" +
+    "\022\117\023\ufff0\001\002\000\004\141\116\001\002\000" +
+    "\006\020\uffef\023\uffef\001\002\000\004\141\116\001\002" +
+    "\000\004\020\123\001\002\000\012\016\ufff1\164\ufff1\166" +
+    "\ufff1\262\ufff1\001\002\000\004\061\125\001\002\000\004" +
+    "\013\126\001\002\000\004\030\127\001\002\000\004\023" +
+    "\130\001\002\000\004\141\131\001\002\000\004\014\132" +
+    "\001\002\000\004\020\133\001\002\000\012\016\uffcd\164" +
+    "\uffcd\166\uffcd\262\uffcd\001\002\000\006\305\135\333\137" +
+    "\001\002\000\012\053\ufff5\054\ufff5\100\ufff5\141\ufff5\001" +
+    "\002\000\010\053\140\054\142\141\141\001\002\000\012" +
+    "\053\ufff4\054\ufff4\100\ufff4\141\ufff4\001\002\000\004\015" +
+    "\147\001\002\000\004\017\145\001\002\000\004\017\143" +
+    "\001\002\000\004\141\144\001\002\000\006\015\uffb8\020" +
+    "\uffb8\001\002\000\004\054\146\001\002\000\006\015\uffb7" +
+    "\020\uffb7\001\002\000\006\164\uffc1\265\uffc1\001\002\000" +
+    "\004\002\001\001\002\000\020\016\uffa0\145\uffa0\164\uffa0" +
+    "\171\uffa0\215\uffa0\262\uffa0\270\uffa0\001\002\000\004\307" +
+    "\u0261\001\002\000\004\164\u025d\001\002\000\020\016\uffa9" +
+    "\145\uffa9\164\uffa9\171\uffa9\215\uffa9\262\uffa9\270\uffa9\001" +
+    "\002\000\004\141\u025a\001\002\000\020\016\uffaa\145\uffaa" +
+    "\164\uffaa\171\uffaa\215\uffaa\262\uffaa\270\uffaa\001\002\000" +
+    "\006\020\u0257\024\u0256\001\002\000\020\016\uffad\145\uffad" +
+    "\164\uffad\171\uffad\215\uffad\262\uffad\270\uffad\001\002\000" +
+    "\004\141\u0253\001\002\000\022\016\uffb3\145\uffb3\164\uffb3" +
+    "\166\uffb3\171\uffb3\215\uffb3\262\uffb3\270\uffb3\001\002\000" +
+    "\004\015\u0248\001\002\000\020\016\uffac\145\uffac\164\uffac" +
+    "\171\uffac\215\uffac\262\uffac\270\uffac\001\002\000\020\016" +
+    "\u0246\145\171\164\155\171\161\215\152\262\177\270\153" +
+    "\001\002\000\022\016\uffb2\145\uffb2\164\uffb2\166\uffb2\171" +
+    "\uffb2\215\uffb2\262\uffb2\270\uffb2\001\002\000\020\016\uffa1" +
+    "\145\uffa1\164\uffa1\171\uffa1\215\uffa1\262\uffa1\270\uffa1\001" +
+    "\002\000\020\016\uffab\145\uffab\164\uffab\171\uffab\215\uffab" +
+    "\262\uffab\270\uffab\001\002\000\004\141\u0243\001\002\000" +
+    "\004\015\u0235\001\002\000\010\015\224\020\223\215\152" +
+    "\001\002\000\020\016\uffae\145\uffae\164\uffae\171\uffae\215" +
+    "\uffae\262\uffae\270\uffae\001\002\000\006\020\217\024\216" +
+    "\001\002\000\020\016\uffa8\145\uffa8\164\uffa8\171\uffa8\215" +
+    "\uffa8\262\uffa8\270\uffa8\001\002\000\004\141\200\001\002" +
+    "\000\004\021\201\001\002\000\012\055\204\056\202\101" +
+    "\203\133\205\001\002\000\004\020\215\001\002\000\004" +
+    "\015\112\001\002\000\004\020\214\001\002\000\006\020" +
+    "\206\023\207\001\002\000\020\016\uff92\145\uff92\164\uff92" +
+    "\171\uff92\215\uff92\262\uff92\270\uff92\001\002\000\004\133" +
+    "\210\001\002\000\004\013\211\001\002\000\004\014\212" +
+    "\001\002\000\004\020\213\001\002\000\020\016\uff93\145" +
+    "\uff93\164\uff93\171\uff93\215\uff93\262\uff93\270\uff93\001\002" +
+    "\000\020\016\uff94\145\uff94\164\uff94\171\uff94\215\uff94\262" +
+    "\uff94\270\uff94\001\002\000\020\016\uff95\145\uff95\164\uff95" +
+    "\171\uff95\215\uff95\262\uff95\270\uff95\001\002\000\004\006" +
+    "\220\001\002\000\020\016\uffa4\145\uffa4\164\uffa4\171\uffa4" +
+    "\215\uffa4\262\uffa4\270\uffa4\001\002\000\004\020\221\001" +
+    "\002\000\020\016\uffa3\145\uffa3\164\uffa3\171\uffa3\215\uffa3" +
+    "\262\uffa3\270\uffa3\001\002\000\004\015\226\001\002\000" +
+    "\020\016\uff8f\145\uff8f\164\uff8f\171\uff8f\215\uff8f\262\uff8f" +
+    "\270\uff8f\001\002\000\004\016\225\001\002\000\020\016" +
+    "\uff90\145\uff90\164\uff90\171\uff90\215\uff90\262\uff90\270\uff90" +
+    "\001\002\000\012\212\255\216\227\307\260\316\267\001" +
+    "\002\000\004\145\u0231\001\002\000\004\023\u0211\001\002" +
+    "\000\014\016\uff84\212\uff84\216\uff84\307\uff84\316\uff84\001" +
+    "\002\000\014\016\uff7f\212\uff7f\216\uff7f\307\uff7f\316\uff7f" +
+    "\001\002\000\006\020\u0208\023\u0209\001\002\000\014\016" +
+    "\uff87\212\uff87\216\uff87\307\uff87\316\uff87\001\002\000\004" +
+    "\023\u01e2\001\002\000\006\020\u01d9\023\u01da\001\002\000" +
+    "\006\206\u0171\313\u0173\001\002\000\014\016\uff8b\212\uff8b" +
+    "\216\uff8b\307\uff8b\316\uff8b\001\002\000\014\016\uff80\212" +
+    "\uff80\216\uff80\307\uff80\316\uff80\001\002\000\014\016\uff88" +
+    "\212\uff88\216\uff88\307\uff88\316\uff88\001\002\000\014\016" +
+    "\uff89\212\uff89\216\uff89\307\uff89\316\uff89\001\002\000\014" +
+    "\016\uff81\212\uff81\216\uff81\307\uff81\316\uff81\001\002\000" +
+    "\006\020\u0162\023\u0163\001\002\000\014\016\uff7e\212\uff7e" +
+    "\216\uff7e\307\uff7e\316\uff7e\001\002\000\004\016\u0161\001" +
+    "\002\000\006\020\u0158\023\u0159\001\002\000\006\020\u014f" +
+    "\023\u0150\001\002\000\004\023\u0149\001\002\000\006\020" +
+    "\u0143\023\u0144\001\002\000\014\016\uff8d\212\255\216\227" +
+    "\307\260\316\267\001\002\000\004\145\u013e\001\002\000" +
     "\014\016\uff82\212\uff82\216\uff82\307\uff82\316\uff82\001\002" +
-    "\000\006\020\u0156\023\u0157\001\002\000\004\023\u0150\001" +
-    "\002\000\006\020\u014a\023\u014b\001\002\000\014\016\uff91" +
-    "\212\264\216\236\307\267\316\276\001\002\000\004\145" +
-    "\u0145\001\002\000\014\016\uff86\212\uff86\216\uff86\307\uff86" +
-    "\316\uff86\001\002\000\014\016\uff89\212\uff89\216\uff89\307" +
-    "\uff89\316\uff89\001\002\000\004\141\u0139\001\002\000\014" +
-    "\016\uff8e\212\uff8e\216\uff8e\307\uff8e\316\uff8e\001\002\000" +
-    "\014\016\uff8a\212\uff8a\216\uff8a\307\uff8a\316\uff8a\001\002" +
-    "\000\006\020\u0130\023\u0131\001\002\000\004\023\u012a\001" +
-    "\002\000\006\020\307\023\310\001\002\000\014\016\uff87" +
-    "\212\uff87\216\uff87\307\uff87\316\uff87\001\002\000\004\021" +
-    "\277\001\002\000\004\115\300\001\002\000\004\221\301" +
-    "\001\002\000\004\141\302\001\002\000\010\206\uff16\230" +
-    "\303\313\uff16\001\002\000\004\036\304\001\002\000\004" +
-    "\012\305\001\002\000\004\004\306\001\002\000\006\206" +
-    "\uff15\313\uff15\001\002\000\014\016\uff58\212\uff58\216\uff58" +
-    "\307\uff58\316\uff58\001\002\000\004\124\311\001\002\000" +
-    "\004\013\312\001\002\000\006\014\315\034\313\001\002" +
-    "\000\004\023\321\001\002\000\004\014\317\001\002\000" +
-    "\004\020\316\001\002\000\014\016\uff59\212\uff59\216\uff59" +
-    "\307\uff59\316\uff59\001\002\000\004\020\320\001\002\000" +
+    "\000\014\016\uff85\212\uff85\216\uff85\307\uff85\316\uff85\001" +
+    "\002\000\004\141\u0132\001\002\000\014\016\uff86\212\uff86" +
+    "\216\uff86\307\uff86\316\uff86\001\002\000\014\016\uff8a\212" +
+    "\uff8a\216\uff8a\307\uff8a\316\uff8a\001\002\000\006\020\u0129" +
+    "\023\u012a\001\002\000\004\023\u0123\001\002\000\006\020" +
+    "\300\023\301\001\002\000\014\016\uff83\212\uff83\216\uff83" +
+    "\307\uff83\316\uff83\001\002\000\004\021\270\001\002\000" +
+    "\004\115\271\001\002\000\004\221\272\001\002\000\004" +
+    "\141\273\001\002\000\010\206\uff12\230\274\313\uff12\001" +
+    "\002\000\004\036\275\001\002\000\004\012\276\001\002" +
+    "\000\004\004\277\001\002\000\006\206\uff11\313\uff11\001" +
+    "\002\000\014\016\uff54\212\uff54\216\uff54\307\uff54\316\uff54" +
+    "\001\002\000\004\124\302\001\002\000\004\013\303\001" +
+    "\002\000\006\014\306\034\304\001\002\000\004\023\312" +
+    "\001\002\000\004\014\310\001\002\000\004\020\307\001" +
+    "\002\000\014\016\uff55\212\uff55\216\uff55\307\uff55\316\uff55" +
+    "\001\002\000\004\020\311\001\002\000\014\016\uff56\212" +
+    "\uff56\216\uff56\307\uff56\316\uff56\001\002\000\022\065\335" +
+    "\066\321\067\320\070\324\125\333\126\332\127\315\230" +
+    "\322\001\002\000\012\014\uff4a\017\uff4a\035\uff4a\210\uff4a" +
+    "\001\002\000\012\036\351\037\354\040\343\041\352\001" +
+    "\002\000\004\013\u0120\001\002\000\012\036\351\037\354" +
+    "\040\343\041\352\001\002\000\006\014\uff51\035\uff51\001" +
+    "\002\000\004\013\u011d\001\002\000\012\014\uff46\017\uff46" +
+    "\035\uff46\210\uff46\001\002\000\004\006\u0116\001\002\000" +
+    "\012\036\351\037\354\040\343\041\352\001\002\000\004" +
+    "\013\u0113\001\002\000\012\014\uff49\017\uff49\035\uff49\210" +
+    "\uff49\001\002\000\012\036\351\037\354\040\343\041\352" +
+    "\001\002\000\012\036\351\037\354\040\343\041\352\001" +
+    "\002\000\012\014\uff48\017\uff48\035\uff48\210\uff48\001\002" +
+    "\000\010\014\uff4d\017\uff4d\035\uff4d\001\002\000\004\013" +
+    "\u010e\001\002\000\004\013\u010d\001\002\000\012\014\uff4c" +
+    "\017\uff4c\035\uff4c\210\uff4c\001\002\000\004\013\u010c\001" +
+    "\002\000\012\014\uff47\017\uff47\035\uff47\210\uff47\001\002" +
+    "\000\012\014\uff4b\017\uff4b\035\uff4b\210\uff4b\001\002\000" +
+    "\012\036\351\037\354\040\343\041\352\001\002\000\014" +
+    "\014\uff36\036\uff36\037\uff36\040\uff36\041\uff36\001\002\000" +
+    "\014\014\uff33\036\uff33\037\uff33\040\uff33\041\uff33\001\002" +
+    "\000\004\023\u010b\001\002\000\014\014\uff37\036\uff37\037" +
+    "\uff37\040\uff37\041\uff37\001\002\000\004\014\u010a\001\002" +
+    "\000\014\014\uff39\036\351\037\354\040\343\041\352\001" +
+    "\002\000\004\141\u0101\001\002\000\014\014\uff34\036\uff34" +
+    "\037\uff34\040\uff34\041\uff34\001\002\000\004\023\377\001" +
+    "\002\000\004\023\371\001\002\000\014\014\uff31\036\uff31" +
+    "\037\uff31\040\uff31\041\uff31\001\002\000\004\023\357\001" +
+    "\002\000\014\014\uff32\036\uff32\037\uff32\040\uff32\041\uff32" +
+    "\001\002\000\014\014\uff35\036\uff35\037\uff35\040\uff35\041" +
+    "\uff35\001\002\000\006\006\363\073\361\001\002\000\014" +
+    "\014\uff2d\036\uff2d\037\uff2d\040\uff2d\041\uff2d\001\002\000" +
+    "\004\013\364\001\002\000\014\014\uff2f\036\uff2f\037\uff2f" +
+    "\040\uff2f\041\uff2f\001\002\000\014\014\uff2e\036\uff2e\037" +
+    "\uff2e\040\uff2e\041\uff2e\001\002\000\004\006\365\001\002" +
+    "\000\004\017\366\001\002\000\004\006\367\001\002\000" +
+    "\004\014\370\001\002\000\014\014\uff2c\036\uff2c\037\uff2c" +
+    "\040\uff2c\041\uff2c\001\002\000\004\141\372\001\002\000" +
+    "\016\014\uff27\022\373\036\uff27\037\uff27\040\uff27\041\uff27" +
+    "\001\002\000\010\134\374\135\376\136\375\001\002\000" +
+    "\014\014\uff26\036\uff26\037\uff26\040\uff26\041\uff26\001\002" +
+    "\000\014\014\uff24\036\uff24\037\uff24\040\uff24\041\uff24\001" +
+    "\002\000\014\014\uff25\036\uff25\037\uff25\040\uff25\041\uff25" +
+    "\001\002\000\004\004\u0100\001\002\000\014\014\uff30\036" +
+    "\uff30\037\uff30\040\uff30\041\uff30\001\002\000\016\013\u0102" +
+    "\014\uff29\036\uff29\037\uff29\040\uff29\041\uff29\001\002\000" +
+    "\006\006\u0105\014\u0104\001\002\000\004\014\u0108\001\002" +
+    "\000\014\014\uff2a\036\uff2a\037\uff2a\040\uff2a\041\uff2a\001" +
+    "\002\000\006\014\uff23\017\u0106\001\002\000\004\006\u0105" +
+    "\001\002\000\004\014\uff22\001\002\000\014\014\uff2b\036" +
+    "\uff2b\037\uff2b\040\uff2b\041\uff2b\001\002\000\004\014\uff38" +
+    "\001\002\000\012\014\uff3d\017\uff3d\035\uff3d\210\uff3d\001" +
+    "\002\000\004\141\uff28\001\002\000\012\036\uff44\037\uff44" +
+    "\040\uff44\041\uff44\001\002\000\012\036\uff3e\037\uff3e\040" +
+    "\uff3e\041\uff3e\001\002\000\012\036\uff3c\037\uff3c\040\uff3c" +
+    "\041\uff3c\001\002\000\004\014\u0110\001\002\000\012\014" +
+    "\uff3b\017\uff3b\035\uff3b\210\uff3b\001\002\000\004\014\u0112" +
+    "\001\002\000\012\014\uff41\017\uff41\035\uff41\210\uff41\001" +
+    "\002\000\012\036\uff40\037\uff40\040\uff40\041\uff40\001\002" +
+    "\000\004\014\u0115\001\002\000\012\014\uff45\017\uff45\035" +
+    "\uff45\210\uff45\001\002\000\020\065\335\066\321\067\320" +
+    "\070\324\125\333\126\332\127\315\001\002\000\004\210" +
+    "\u0118\001\002\000\004\064\u0119\001\002\000\004\013\u011a" +
+    "\001\002\000\004\004\u011b\001\002\000\004\014\u011c\001" +
+    "\002\000\010\014\uff4e\017\uff4e\035\uff4e\001\002\000\012" +
+    "\036\uff42\037\uff42\040\uff42\041\uff42\001\002\000\004\014" +
+    "\u011f\001\002\000\012\014\uff43\017\uff43\035\uff43\210\uff43" +
+    "\001\002\000\012\036\uff3a\037\uff3a\040\uff3a\041\uff3a\001" +
+    "\002\000\004\014\u0122\001\002\000\012\014\uff3f\017\uff3f" +
+    "\035\uff3f\210\uff3f\001\002\000\004\113\u0124\001\002\000" +
+    "\004\013\u0125\001\002\000\004\034\304\001\002\000\004" +
+    "\014\u0127\001\002\000\004\020\u0128\001\002\000\014\016" +
+    "\uff62\212\uff62\216\uff62\307\uff62\316\uff62\001\002\000\014" +
+    "\016\uff58\212\uff58\216\uff58\307\uff58\316\uff58\001\002\000" +
+    "\004\123\u012b\001\002\000\004\013\u012c\001\002\000\006" +
+    "\014\u012e\034\304\001\002\000\004\014\u0130\001\002\000" +
+    "\004\020\u012f\001\002\000\014\016\uff59\212\uff59\216\uff59" +
+    "\307\uff59\316\uff59\001\002\000\004\020\u0131\001\002\000" +
     "\014\016\uff5a\212\uff5a\216\uff5a\307\uff5a\316\uff5a\001\002" +
-    "\000\022\065\344\066\330\067\327\070\333\125\343\126" +
-    "\341\127\324\230\331\001\002\000\012\036\357\037\363" +
-    "\040\352\041\361\001\002\000\012\014\uff4e\017\uff4e\035" +
-    "\uff4e\210\uff4e\001\002\000\004\013\u0127\001\002\000\012" +
-    "\036\357\037\363\040\352\041\361\001\002\000\006\014" +
-    "\uff55\035\uff55\001\002\000\004\013\u0124\001\002\000\012" +
-    "\014\uff4a\017\uff4a\035\uff4a\210\uff4a\001\002\000\004\006" +
-    "\u011d\001\002\000\012\036\357\037\363\040\352\041\361" +
-    "\001\002\000\004\013\u011a\001\002\000\012\014\uff4d\017" +
-    "\uff4d\035\uff4d\210\uff4d\001\002\000\012\036\357\037\363" +
-    "\040\352\041\361\001\002\000\012\036\357\037\363\040" +
-    "\352\041\361\001\002\000\010\014\uff51\017\uff51\035\uff51" +
-    "\001\002\000\012\014\uff4c\017\uff4c\035\uff4c\210\uff4c\001" +
-    "\002\000\004\013\u0115\001\002\000\012\014\uff50\017\uff50" +
-    "\035\uff50\210\uff50\001\002\000\004\013\u0114\001\002\000" +
-    "\004\013\u0113\001\002\000\012\014\uff4b\017\uff4b\035\uff4b" +
-    "\210\uff4b\001\002\000\012\014\uff4f\017\uff4f\035\uff4f\210" +
-    "\uff4f\001\002\000\012\036\357\037\363\040\352\041\361" +
-    "\001\002\000\014\014\uff3a\036\uff3a\037\uff3a\040\uff3a\041" +
-    "\uff3a\001\002\000\014\014\uff37\036\uff37\037\uff37\040\uff37" +
-    "\041\uff37\001\002\000\004\023\u0112\001\002\000\014\014" +
-    "\uff3b\036\uff3b\037\uff3b\040\uff3b\041\uff3b\001\002\000\004" +
-    "\014\u0111\001\002\000\014\014\uff3d\036\357\037\363\040" +
-    "\352\041\361\001\002\000\004\141\u0108\001\002\000\004" +
-    "\023\u0106\001\002\000\014\014\uff38\036\uff38\037\uff38\040" +
-    "\uff38\041\uff38\001\002\000\004\023\u0100\001\002\000\014" +
-    "\014\uff35\036\uff35\037\uff35\040\uff35\041\uff35\001\002\000" +
-    "\004\023\366\001\002\000\014\014\uff36\036\uff36\037\uff36" +
-    "\040\uff36\041\uff36\001\002\000\014\014\uff39\036\uff39\037" +
-    "\uff39\040\uff39\041\uff39\001\002\000\006\006\372\073\370" +
-    "\001\002\000\014\014\uff31\036\uff31\037\uff31\040\uff31\041" +
-    "\uff31\001\002\000\004\013\373\001\002\000\014\014\uff33" +
-    "\036\uff33\037\uff33\040\uff33\041\uff33\001\002\000\014\014" +
-    "\uff32\036\uff32\037\uff32\040\uff32\041\uff32\001\002\000\004" +
-    "\006\374\001\002\000\004\017\375\001\002\000\004\006" +
-    "\376\001\002\000\004\014\377\001\002\000\014\014\uff30" +
-    "\036\uff30\037\uff30\040\uff30\041\uff30\001\002\000\004\141" +
-    "\u0101\001\002\000\016\014\uff2b\022\u0102\036\uff2b\037\uff2b" +
-    "\040\uff2b\041\uff2b\001\002\000\010\134\u0103\135\u0105\136" +
-    "\u0104\001\002\000\014\014\uff2a\036\uff2a\037\uff2a\040\uff2a" +
-    "\041\uff2a\001\002\000\014\014\uff28\036\uff28\037\uff28\040" +
-    "\uff28\041\uff28\001\002\000\014\014\uff29\036\uff29\037\uff29" +
-    "\040\uff29\041\uff29\001\002\000\004\004\u0107\001\002\000" +
-    "\014\014\uff34\036\uff34\037\uff34\040\uff34\041\uff34\001\002" +
-    "\000\016\013\u0109\014\uff2d\036\uff2d\037\uff2d\040\uff2d\041" +
-    "\uff2d\001\002\000\006\006\u010c\014\u010b\001\002\000\004" +
-    "\014\u010f\001\002\000\014\014\uff2e\036\uff2e\037\uff2e\040" +
-    "\uff2e\041\uff2e\001\002\000\006\014\uff27\017\u010d\001\002" +
-    "\000\004\006\u010c\001\002\000\004\014\uff26\001\002\000" +
-    "\014\014\uff2f\036\uff2f\037\uff2f\040\uff2f\041\uff2f\001\002" +
-    "\000\004\014\uff3c\001\002\000\012\014\uff41\017\uff41\035" +
-    "\uff41\210\uff41\001\002\000\004\141\uff2c\001\002\000\012" +
-    "\036\uff48\037\uff48\040\uff48\041\uff48\001\002\000\012\036" +
-    "\uff42\037\uff42\040\uff42\041\uff42\001\002\000\012\036\uff40" +
-    "\037\uff40\040\uff40\041\uff40\001\002\000\004\014\u0117\001" +
-    "\002\000\012\014\uff3f\017\uff3f\035\uff3f\210\uff3f\001\002" +
-    "\000\004\014\u0119\001\002\000\012\014\uff45\017\uff45\035" +
-    "\uff45\210\uff45\001\002\000\012\036\uff44\037\uff44\040\uff44" +
-    "\041\uff44\001\002\000\004\014\u011c\001\002\000\012\014" +
-    "\uff49\017\uff49\035\uff49\210\uff49\001\002\000\020\065\344" +
-    "\066\330\067\327\070\333\125\343\126\341\127\324\001" +
-    "\002\000\004\210\u011f\001\002\000\004\064\u0120\001\002" +
-    "\000\004\013\u0121\001\002\000\004\004\u0122\001\002\000" +
-    "\004\014\u0123\001\002\000\010\014\uff52\017\uff52\035\uff52" +
-    "\001\002\000\012\036\uff46\037\uff46\040\uff46\041\uff46\001" +
-    "\002\000\004\014\u0126\001\002\000\012\014\uff47\017\uff47" +
-    "\035\uff47\210\uff47\001\002\000\012\036\uff3e\037\uff3e\040" +
-    "\uff3e\041\uff3e\001\002\000\004\014\u0129\001\002\000\012" +
-    "\014\uff43\017\uff43\035\uff43\210\uff43\001\002\000\004\113" +
-    "\u012b\001\002\000\004\013\u012c\001\002\000\004\034\313" +
-    "\001\002\000\004\014\u012e\001\002\000\004\020\u012f\001" +
-    "\002\000\014\016\uff66\212\uff66\216\uff66\307\uff66\316\uff66" +
-    "\001\002\000\014\016\uff5c\212\uff5c\216\uff5c\307\uff5c\316" +
-    "\uff5c\001\002\000\004\123\u0132\001\002\000\004\013\u0133" +
-    "\001\002\000\006\014\u0135\034\313\001\002\000\004\014" +
-    "\u0137\001\002\000\004\020\u0136\001\002\000\014\016\uff5d" +
-    "\212\uff5d\216\uff5d\307\uff5d\316\uff5d\001\002\000\004\020" +
-    "\u0138\001\002\000\014\016\uff5e\212\uff5e\216\uff5e\307\uff5e" +
-    "\316\uff5e\001\002\000\004\021\u013a\001\002\000\026\104" +
-    "\u013d\107\u013f\110\u013c\111\u0140\112\u0142\113\u0144\114\u013e" +
-    "\122\u0141\123\u013b\124\u0143\001\002\000\006\020\uff5b\023" +
-    "\uff5b\001\002\000\006\020\uff6f\023\uff6f\001\002\000\006" +
-    "\020\uff7a\023\uff7a\001\002\000\004\023\uff63\001\002\000" +
-    "\006\020\uff73\023\uff73\001\002\000\004\023\uff6b\001\002" +
-    "\000\006\020\uff5f\023\uff5f\001\002\000\004\023\uff67\001" +
-    "\002\000\006\020\uff57\023\uff57\001\002\000\004\023\uff65" +
-    "\001\002\000\004\141\u0146\001\002\000\004\021\u0147\001" +
-    "\002\000\004\106\u0148\001\002\000\006\020\uff7e\023\uff7e" +
-    "\001\002\000\004\016\uff90\001\002\000\014\016\uff79\212" +
-    "\uff79\216\uff79\307\uff79\316\uff79\001\002\000\004\105\u014c" +
-    "\001\002\000\004\013\u014d\001\002\000\004\014\u014e\001" +
-    "\002\000\004\020\u014f\001\002\000\014\016\uff78\212\uff78" +
-    "\216\uff78\307\uff78\316\uff78\001\002\000\004\114\u0151\001" +
-    "\002\000\004\013\u0152\001\002\000\004\034\313\001\002" +
-    "\000\004\014\u0154\001\002\000\004\020\u0155\001\002\000" +
-    "\014\016\uff64\212\uff64\216\uff64\307\uff64\316\uff64\001\002" +
-    "\000\014\016\uff76\212\uff76\216\uff76\307\uff76\316\uff76\001" +
-    "\002\000\004\107\u0158\001\002\000\004\013\u0159\001\002" +
-    "\000\006\014\u015b\034\313\001\002\000\004\014\u015d\001" +
-    "\002\000\004\020\u015c\001\002\000\014\016\uff75\212\uff75" +
-    "\216\uff75\307\uff75\316\uff75\001\002\000\004\020\u015e\001" +
-    "\002\000\014\016\uff74\212\uff74\216\uff74\307\uff74\316\uff74" +
-    "\001\002\000\014\016\uff60\212\uff60\216\uff60\307\uff60\316" +
-    "\uff60\001\002\000\004\122\u0161\001\002\000\004\013\u0162" +
-    "\001\002\000\006\014\u0164\034\313\001\002\000\004\014" +
-    "\u0166\001\002\000\004\020\u0165\001\002\000\014\016\uff61" +
-    "\212\uff61\216\uff61\307\uff61\316\uff61\001\002\000\004\020" +
-    "\u0167\001\002\000\014\016\uff62\212\uff62\216\uff62\307\uff62" +
-    "\316\uff62\001\002\000\016\016\uff95\145\uff95\164\uff95\171" +
-    "\uff95\215\uff95\262\uff95\001\002\000\014\016\uff7d\212\uff7d" +
-    "\216\uff7d\307\uff7d\316\uff7d\001\002\000\004\104\u016b\001" +
-    "\002\000\004\013\u016c\001\002\000\006\014\u016f\033\u016e" +
-    "\001\002\000\004\014\u0176\001\002\000\004\023\u0171\001" +
-    "\002\000\004\020\u0170\001\002\000\014\016\uff7c\212\uff7c" +
-    "\216\uff7c\307\uff7c\316\uff7c\001\002\000\022\065\344\066" +
-    "\330\067\327\070\333\125\343\126\341\127\324\230\331" +
-    "\001\002\000\006\014\uff54\017\u0174\001\002\000\004\014" +
-    "\uff56\001\002\000\022\065\344\066\330\067\327\070\333" +
-    "\125\343\126\341\127\324\230\331\001\002\000\004\014" +
-    "\uff53\001\002\000\004\020\u0177\001\002\000\014\016\uff7b" +
-    "\212\uff7b\216\uff7b\307\uff7b\316\uff7b\001\002\000\004\145" +
-    "\u01dc\001\002\000\004\015\u01b8\001\002\000\004\141\u01b4" +
-    "\001\002\000\004\015\u0197\001\002\000\004\313\u017d\001" +
-    "\002\000\004\141\u017e\001\002\000\006\020\u0181\164\u0180" +
-    "\001\002\000\006\016\ufeff\164\u0180\001\002\000\010\010" +
-    "\u0189\137\u0187\140\u0188\001\002\000\014\016\uff19\212\uff19" +
-    "\216\uff19\307\uff19\316\uff19\001\002\000\004\016\u0186\001" +
-    "\002\000\006\016\ufefb\164\ufefb\001\002\000\006\016\ufefc" +
-    "\164\ufefc\001\002\000\006\016\ufefd\164\ufefd\001\002\000" +
-    "\014\016\uff17\212\uff17\216\uff17\307\uff17\316\uff17\001\002" +
-    "\000\004\021\u0192\001\002\000\004\021\u018e\001\002\000" +
-    "\004\021\u018a\001\002\000\004\076\u018b\001\002\000\004" +
-    "\023\u018c\001\002\000\004\007\u018d\001\002\000\006\016" +
-    "\ufef8\164\ufef8\001\002\000\004\076\u018f\001\002\000\004" +
-    "\023\u0190\001\002\000\004\011\u0191\001\002\000\006\016" +
-    "\ufef9\164\ufef9\001\002\000\004\076\u0193\001\002\000\004" +
-    "\023\u0194\001\002\000\004\007\u0195\001\002\000\006\016" +
-    "\ufefa\164\ufefa\001\002\000\004\016\ufefe\001\002\000\006" +
-    "\016\u0199\221\u019a\001\002\000\004\016\u01b3\001\002\000" +
-    "\004\313\uff14\001\002\000\004\045\u019b\001\002\000\004" +
-    "\020\u019c\001\002\000\004\313\u019d\001\002\000\010\046" +
-    "\u019f\145\u01a2\160\u01a3\001\002\000\004\016\uff0d\001\002" +
-    "\000\004\020\u01b2\001\002\000\004\020\u01ad\001\002\000" +
-    "\004\141\u01a7\001\002\000\004\006\u01a4\001\002\000\004" +
-    "\141\uff08\001\002\000\004\020\u01a5\001\002\000\004\020" +
-    "\uff09\001\002\000\004\024\u01aa\001\002\000\012\014\uff21" +
-    "\017\uff21\022\u01a8\024\uff21\001\002\000\004\141\u01a7\001" +
-    "\002\000\010\014\uff20\017\uff20\024\uff20\001\002\000\004" +
-    "\006\u01ab\001\002\000\004\020\u01ac\001\002\000\004\020" +
-    "\uff0a\001\002\000\004\313\u01ae\001\002\000\010\046\u01b0" +
-    "\145\u01a2\160\u01a3\001\002\000\006\016\uff0b\241\uff0b\001" +
-    "\002\000\004\020\u01b1\001\002\000\006\016\uff0c\241\uff0c" +
-    "\001\002\000\004\016\uff0e\001\002\000\004\313\uff13\001" +
-    "\002\000\006\020\u01b5\164\u0180\001\002\000\014\016\uff1a" +
-    "\212\uff1a\216\uff1a\307\uff1a\316\uff1a\001\002\000\004\016" +
-    "\u01b7\001\002\000\014\016\uff18\212\uff18\216\uff18\307\uff18" +
-    "\316\uff18\001\002\000\010\016\u01bc\221\u01bd\241\u01b9\001" +
-    "\002\000\004\071\u01d4\001\002\000\004\221\u01bd\001\002" +
-    "\000\004\241\u01b9\001\002\000\004\313\uff12\001\002\000" +
-    "\004\045\u01c0\001\002\000\004\016\u01bf\001\002\000\004" +
-    "\313\uff11\001\002\000\004\020\u01c1\001\002\000\004\313" +
-    "\u01c2\001\002\000\006\046\u01c9\160\u01a3\001\002\000\004" +
-    "\313\u01c5\001\002\000\006\016\uff03\241\uff03\001\002\000" +
-    "\010\046\u01c7\145\u01a2\160\u01a3\001\002\000\006\016\uff01" +
-    "\241\uff01\001\002\000\004\020\u01c8\001\002\000\006\016" +
-    "\uff02\241\uff02\001\002\000\004\020\u01d1\001\002\000\004" +
-    "\141\u01a7\001\002\000\004\024\u01cc\001\002\000\004\071" +
-    "\u01cd\001\002\000\004\022\u01ce\001\002\000\004\141\u01cf" +
-    "\001\002\000\004\020\u01d0\001\002\000\004\313\uff00\001" +
-    "\002\000\006\016\uff04\241\uff04\001\002\000\004\016\uff06" +
-    "\001\002\000\004\016\uff07\001\002\000\004\021\u01d5\001" +
-    "\002\000\004\141\u01d6\001\002\000\004\023\u01d7\001\002" +
-    "\000\004\040\u01d8\001\002\000\004\156\u01d9\001\002\000" +
-    "\004\141\u01da\001\002\000\004\020\u01db\001\002\000\006" +
-    "\016\uff05\221\uff05\001\002\000\004\021\u01dd\001\002\000" +
-    "\006\117\u01de\120\u01df\001\002\000\004\015\uff0f\001\002" +
-    "\000\004\015\uff10\001\002\000\014\016\uff72\212\uff72\216" +
-    "\uff72\307\uff72\316\uff72\001\002\000\004\110\u01e2\001\002" +
-    "\000\004\013\u01e3\001\002\000\006\014\u01e5\034\313\001" +
-    "\002\000\004\014\u01e7\001\002\000\004\020\u01e6\001\002" +
-    "\000\014\016\uff71\212\uff71\216\uff71\307\uff71\316\uff71\001" +
-    "\002\000\004\020\u01e8\001\002\000\014\016\uff70\212\uff70" +
-    "\216\uff70\307\uff70\316\uff70\001\002\000\004\111\u01ea\001" +
-    "\002\000\004\013\u01eb\001\002\000\006\034\313\035\u01ec" +
-    "\001\002\000\004\023\u01f7\001\002\000\004\035\u01ec\001" +
-    "\002\000\006\014\u01f0\034\313\001\002\000\004\014\u01f2" +
-    "\001\002\000\004\020\u01f1\001\002\000\014\016\uff6c\212" +
-    "\uff6c\216\uff6c\307\uff6c\316\uff6c\001\002\000\004\020\u01f3" +
-    "\001\002\000\014\016\uff6e\212\uff6e\216\uff6e\307\uff6e\316" +
-    "\uff6e\001\002\000\004\014\u01f5\001\002\000\004\020\u01f6" +
-    "\001\002\000\014\016\uff6d\212\uff6d\216\uff6d\307\uff6d\316" +
-    "\uff6d\001\002\000\004\072\u01f8\001\002\000\004\013\u01f9" +
-    "\001\002\000\006\042\u01fa\043\u01fc\001\002\000\004\023" +
-    "\u0207\001\002\000\004\017\u0204\001\002\000\004\023\uff22" +
-    "\001\002\000\004\017\u0201\001\002\000\004\023\u01ff\001" +
-    "\002\000\004\141\u01a7\001\002\000\006\014\uff23\017\uff23" +
-    "\001\002\000\004\042\u01fa\001\002\000\004\014\u0203\001" +
-    "\002\000\006\014\uff25\034\uff25\001\002\000\004\043\u01fc" +
-    "\001\002\000\004\014\u0206\001\002\000\006\014\uff24\034" +
-    "\uff24\001\002\000\004\073\u0208\001\002\000\004\013\u020a" +
-    "\001\002\000\006\014\uff1f\017\uff1f\001\002\000\004\006" +
-    "\u020b\001\002\000\004\017\u020c\001\002\000\004\006\u020d" +
-    "\001\002\000\004\014\u020e\001\002\000\006\014\uff1e\017" +
-    "\uff1e\001\002\000\014\016\uff81\212\uff81\216\uff81\307\uff81" +
-    "\316\uff81\001\002\000\004\106\u0211\001\002\000\004\013" +
-    "\u0212\001\002\000\006\014\u0214\034\313\001\002\000\004" +
-    "\014\u0216\001\002\000\004\020\u0215\001\002\000\014\016" +
-    "\uff80\212\uff80\216\uff80\307\uff80\316\uff80\001\002\000\004" +
-    "\020\u0217\001\002\000\014\016\uff7f\212\uff7f\216\uff7f\307" +
-    "\uff7f\316\uff7f\001\002\000\004\112\u0219\001\002\000\004" +
-    "\013\u021a\001\002\000\006\034\313\035\u021b\001\002\000" +
-    "\004\023\u0226\001\002\000\006\014\u0222\034\313\001\002" +
-    "\000\004\035\u021b\001\002\000\004\014\u021f\001\002\000" +
-    "\004\020\u0220\001\002\000\014\016\uff69\212\uff69\216\uff69" +
-    "\307\uff69\316\uff69\001\002\000\004\014\u0224\001\002\000" +
-    "\004\020\u0223\001\002\000\014\016\uff6a\212\uff6a\216\uff6a" +
-    "\307\uff6a\316\uff6a\001\002\000\004\020\u0225\001\002\000" +
-    "\014\016\uff68\212\uff68\216\uff68\307\uff68\316\uff68\001\002" +
-    "\000\004\072\u0227\001\002\000\004\013\u0228\001\002\000" +
-    "\006\042\u0229\043\u01fc\001\002\000\004\023\u0232\001\002" +
-    "\000\004\017\u022f\001\002\000\004\017\u022c\001\002\000" +
-    "\004\043\u01fc\001\002\000\004\014\u022e\001\002\000\006" +
-    "\014\uff1c\034\uff1c\001\002\000\004\042\u0229\001\002\000" +
-    "\004\014\u0231\001\002\000\006\014\uff1d\034\uff1d\001\002" +
-    "\000\004\141\u0233\001\002\000\004\022\u0234\001\002\000" +
-    "\004\044\u0235\001\002\000\004\013\u0236\001\002\000\004" +
-    "\014\u0237\001\002\000\006\014\uff1b\017\uff1b\001\002\000" +
-    "\004\141\u0239\001\002\000\004\021\u023a\001\002\000\004" +
-    "\105\u023b\001\002\000\006\020\uff77\023\uff77\001\002\000" +
-    "\004\021\u023d\001\002\000\004\102\u023e\001\002\000\004" +
-    "\015\uffa1\001\002\000\020\016\uffb0\145\uffb0\164\uffb0\166" +
-    "\uffb0\171\uffb0\215\uffb0\262\uffb0\001\002\000\020\016\uffaf" +
-    "\145\uffaf\164\uffaf\166\uffaf\171\uffaf\215\uffaf\262\uffaf\001" +
-    "\002\000\010\016\u0244\164\215\301\u0243\001\002\000\004" +
-    "\016\u024b\001\002\000\004\021\u0248\001\002\000\016\016" +
-    "\uffa0\145\uffa0\164\uffa0\171\uffa0\215\uffa0\262\uffa0\001\002" +
-    "\000\010\016\uff9d\164\215\301\u0243\001\002\000\010\016" +
-    "\uff9b\164\uff9b\301\uff9b\001\002\000\004\016\uff9c\001\002" +
-    "\000\002\001\002\000\004\020\u024a\001\002\000\010\016" +
-    "\uff9a\164\uff9a\301\uff9a\001\002\000\016\016\uff9f\145\uff9f" +
-    "\164\uff9f\171\uff9f\215\uff9f\262\uff9f\001\002\000\004\021" +
-    "\u024d\001\002\000\004\103\u024e\001\002\000\004\015\uff9e" +
-    "\001\002\000\016\016\uffa8\145\uffa8\164\uffa8\171\uffa8\215" +
-    "\uffa8\262\uffa8\001\002\000\004\006\u0251\001\002\000\004" +
-    "\020\u0252\001\002\000\016\016\uffa7\145\uffa7\164\uffa7\171" +
-    "\uffa7\215\uffa7\262\uffa7\001\002\000\004\021\u0254\001\002" +
-    "\000\002\001\002\000\006\020\uffa6\024\uffa6\001\002\000" +
-    "\004\121\u0257\001\002\000\004\021\u0258\001\002\000\004" +
-    "\116\u0259\001\002\000\010\015\uff92\020\uff92\215\uff92\001" +
-    "\002\000\006\062\u025c\063\u025b\001\002\000\004\165\u0269" +
-    "\001\002\000\004\165\u025d\001\002\000\004\141\u025e\001" +
-    "\002\000\006\022\u025f\023\u0260\001\002\000\004\141\u0265" +
-    "\001\002\000\004\141\u0261\001\002\000\004\022\u0262\001" +
-    "\002\000\004\141\u0263\001\002\000\004\020\u0264\001\002" +
-    "\000\012\016\uffc7\164\uffc7\166\uffc7\262\uffc7\001\002\000" +
-    "\004\023\u0266\001\002\000\004\141\u0267\001\002\000\004" +
-    "\020\u0268\001\002\000\012\016\uffc8\164\uffc8\166\uffc8\262" +
-    "\uffc8\001\002\000\004\141\u026a\001\002\000\006\022\u026b" +
-    "\023\u026c\001\002\000\004\141\u0271\001\002\000\004\141" +
-    "\u026d\001\002\000\004\022\u026e\001\002\000\004\141\u026f" +
-    "\001\002\000\004\020\u0270\001\002\000\012\016\uffc5\164" +
-    "\uffc5\166\uffc5\262\uffc5\001\002\000\004\023\u0272\001\002" +
-    "\000\004\141\u0273\001\002\000\004\020\u0274\001\002\000" +
-    "\012\016\uffc6\164\uffc6\166\uffc6\262\uffc6\001\002\000\006" +
-    "\016\u0277\164\215\001\002\000\004\016\u0278\001\002\000" +
-    "\012\016\uffed\164\uffed\166\uffed\262\uffed\001\002\000\012" +
-    "\016\uffee\164\uffee\166\uffee\262\uffee\001\002\000\004\265" +
-    "\u027c\001\002\000\012\016\uffc2\164\uffc2\166\uffc2\262\uffc2" +
-    "\001\002\000\006\016\u0288\164\215\001\002\000\004\262" +
-    "\u027d\001\002\000\004\041\u027e\001\002\000\006\021\u0280" +
-    "\023\u027f\001\002\000\004\141\u0285\001\002\000\004\055" +
-    "\u0281\001\002\000\004\023\u0282\001\002\000\004\141\u0283" +
-    "\001\002\000\004\020\u0284\001\002\000\006\016\uffbd\164" +
-    "\uffbd\001\002\000\004\020\u0286\001\002\000\006\016\uffbc" +
-    "\164\uffbc\001\002\000\004\016\u0289\001\002\000\012\016" +
-    "\uffc0\164\uffc0\166\uffc0\262\uffc0\001\002\000\012\016\uffbf" +
-    "\164\uffbf\166\uffbf\262\uffbf\001\002\000\004\016\u028b\001" +
-    "\002\000\012\016\uffbe\164\uffbe\166\uffbe\262\uffbe\001\002" +
-    "\000\012\016\uffbb\164\uffbb\166\uffbb\262\uffbb\001\002\000" +
-    "\006\016\u0290\164\u028e\001\002\000\004\141\u0294\001\002" +
-    "\000\012\016\uffb9\164\uffb9\166\uffb9\262\uffb9\001\002\000" +
-    "\012\016\uffba\164\uffba\166\uffba\262\uffba\001\002\000\006" +
-    "\016\u0293\164\u028e\001\002\000\012\016\uffb5\164\uffb5\166" +
-    "\uffb5\262\uffb5\001\002\000\012\016\uffb6\164\uffb6\166\uffb6" +
-    "\262\uffb6\001\002\000\004\271\u0295\001\002\000\004\141" +
-    "\u0296\001\002\000\004\020\u0297\001\002\000\006\016\uffb4" +
-    "\164\uffb4\001\002\000\006\014\uffd8\017\uffd8\001\002\000" +
-    "\004\023\u02b0\001\002\000\004\023\u02ae\001\002\000\004" +
-    "\014\u02ac\001\002\000\006\014\uffd9\017\uffd9\001\002\000" +
-    "\006\014\uffd6\017\uffd6\001\002\000\006\014\uffdc\017\u02aa" +
-    "\001\002\000\006\014\uffd7\017\uffd7\001\002\000\004\023" +
-    "\u02a8\001\002\000\004\023\u02a6\001\002\000\004\023\u02a4" +
-    "\001\002\000\006\014\uffda\017\uffda\001\002\000\004\004" +
-    "\u02a5\001\002\000\006\014\uffd2\017\uffd2\001\002\000\004" +
-    "\141\u02a7\001\002\000\006\014\uffd5\017\uffd5\001\002\000" +
-    "\004\005\u02a9\001\002\000\006\014\uffd1\017\uffd1\001\002" +
-    "\000\014\025\u02a0\026\u02a2\027\u029a\031\u02a1\032\u0299\001" +
-    "\002\000\004\014\uffdb\001\002\000\004\020\u02ad\001\002" +
-    "\000\012\016\uffe2\164\uffe2\166\uffe2\262\uffe2\001\002\000" +
-    "\004\005\u02af\001\002\000\006\014\uffd3\017\uffd3\001\002" +
-    "\000\004\141\u02b1\001\002\000\006\014\uffd4\017\uffd4\001" +
-    "\002\000\004\016\ufffd\001\002\000\004\014\u02b4\001\002" +
-    "\000\004\020\u02b5\001\002\000\012\016\uffde\164\uffde\166" +
-    "\uffde\262\uffde\001\002\000\004\141\u02b7\001\002\000\006" +
-    "\305\135\333\137\001\002\000\004\100\u02b9\001\002\000" +
-    "\004\015\uffec\001\002\000\004\014\u02bb\001\002\000\004" +
-    "\020\u02bc\001\002\000\012\016\uffe0\164\uffe0\166\uffe0\262" +
-    "\uffe0\001\002\000\004\002\000\001\002" });
+    "\000\004\021\u0133\001\002\000\026\104\u0136\107\u0137\110" +
+    "\u0135\111\u0138\112\u013b\113\u013d\114\u0139\122\u013a\123\u0134" +
+    "\124\u013c\001\002\000\006\020\uff57\023\uff57\001\002\000" +
+    "\006\020\uff6b\023\uff6b\001\002\000\006\020\uff76\023\uff76" +
+    "\001\002\000\006\020\uff6f\023\uff6f\001\002\000\004\023" +
+    "\uff67\001\002\000\004\023\uff5f\001\002\000\006\020\uff5b" +
+    "\023\uff5b\001\002\000\004\023\uff63\001\002\000\006\020" +
+    "\uff53\023\uff53\001\002\000\004\023\uff61\001\002\000\004" +
+    "\141\u013f\001\002\000\004\021\u0140\001\002\000\004\106" +
+    "\u0141\001\002\000\006\020\uff7a\023\uff7a\001\002\000\004" +
+    "\016\uff8c\001\002\000\014\016\uff75\212\uff75\216\uff75\307" +
+    "\uff75\316\uff75\001\002\000\004\105\u0145\001\002\000\004" +
+    "\013\u0146\001\002\000\004\014\u0147\001\002\000\004\020" +
+    "\u0148\001\002\000\014\016\uff74\212\uff74\216\uff74\307\uff74" +
+    "\316\uff74\001\002\000\004\114\u014a\001\002\000\004\013" +
+    "\u014b\001\002\000\004\034\304\001\002\000\004\014\u014d" +
+    "\001\002\000\004\020\u014e\001\002\000\014\016\uff60\212" +
+    "\uff60\216\uff60\307\uff60\316\uff60\001\002\000\014\016\uff72" +
+    "\212\uff72\216\uff72\307\uff72\316\uff72\001\002\000\004\107" +
+    "\u0151\001\002\000\004\013\u0152\001\002\000\006\014\u0154" +
+    "\034\304\001\002\000\004\014\u0156\001\002\000\004\020" +
+    "\u0155\001\002\000\014\016\uff71\212\uff71\216\uff71\307\uff71" +
+    "\316\uff71\001\002\000\004\020\u0157\001\002\000\014\016" +
+    "\uff70\212\uff70\216\uff70\307\uff70\316\uff70\001\002\000\014" +
+    "\016\uff5c\212\uff5c\216\uff5c\307\uff5c\316\uff5c\001\002\000" +
+    "\004\122\u015a\001\002\000\004\013\u015b\001\002\000\006" +
+    "\014\u015d\034\304\001\002\000\004\014\u015f\001\002\000" +
+    "\004\020\u015e\001\002\000\014\016\uff5d\212\uff5d\216\uff5d" +
+    "\307\uff5d\316\uff5d\001\002\000\004\020\u0160\001\002\000" +
+    "\014\016\uff5e\212\uff5e\216\uff5e\307\uff5e\316\uff5e\001\002" +
+    "\000\020\016\uff91\145\uff91\164\uff91\171\uff91\215\uff91\262" +
+    "\uff91\270\uff91\001\002\000\014\016\uff79\212\uff79\216\uff79" +
+    "\307\uff79\316\uff79\001\002\000\004\104\u0164\001\002\000" +
+    "\004\013\u0165\001\002\000\006\014\u0168\033\u0167\001\002" +
+    "\000\004\014\u016f\001\002\000\004\023\u016a\001\002\000" +
+    "\004\020\u0169\001\002\000\014\016\uff78\212\uff78\216\uff78" +
+    "\307\uff78\316\uff78\001\002\000\022\065\335\066\321\067" +
+    "\320\070\324\125\333\126\332\127\315\230\322\001\002" +
+    "\000\006\014\uff50\017\u016d\001\002\000\004\014\uff52\001" +
+    "\002\000\022\065\335\066\321\067\320\070\324\125\333" +
+    "\126\332\127\315\230\322\001\002\000\004\014\uff4f\001" +
+    "\002\000\004\020\u0170\001\002\000\014\016\uff77\212\uff77" +
+    "\216\uff77\307\uff77\316\uff77\001\002\000\004\145\u01d5\001" +
+    "\002\000\004\015\u01b1\001\002\000\004\141\u01ad\001\002" +
+    "\000\004\015\u0190\001\002\000\004\313\u0176\001\002\000" +
+    "\004\141\u0177\001\002\000\006\020\u0179\164\u017a\001\002" +
+    "\000\006\016\ufefb\164\u017a\001\002\000\014\016\uff15\212" +
+    "\uff15\216\uff15\307\uff15\316\uff15\001\002\000\010\010\u0182" +
+    "\137\u0180\140\u0181\001\002\000\004\016\u017f\001\002\000" +
+    "\006\016\ufef8\164\ufef8\001\002\000\006\016\ufef7\164\ufef7" +
+    "\001\002\000\006\016\ufef9\164\ufef9\001\002\000\014\016" +
+    "\uff13\212\uff13\216\uff13\307\uff13\316\uff13\001\002\000\004" +
+    "\021\u018b\001\002\000\004\021\u0187\001\002\000\004\021" +
+    "\u0183\001\002\000\004\076\u0184\001\002\000\004\023\u0185" +
+    "\001\002\000\004\007\u0186\001\002\000\006\016\ufef4\164" +
+    "\ufef4\001\002\000\004\076\u0188\001\002\000\004\023\u0189" +
+    "\001\002\000\004\011\u018a\001\002\000\006\016\ufef5\164" +
+    "\ufef5\001\002\000\004\076\u018c\001\002\000\004\023\u018d" +
+    "\001\002\000\004\007\u018e\001\002\000\006\016\ufef6\164" +
+    "\ufef6\001\002\000\004\016\ufefa\001\002\000\006\016\u0192" +
+    "\221\u0193\001\002\000\004\016\u01ac\001\002\000\004\313" +
+    "\uff10\001\002\000\004\045\u0194\001\002\000\004\020\u0195" +
+    "\001\002\000\004\313\u0196\001\002\000\010\046\u0198\145" +
+    "\u019b\160\u019c\001\002\000\004\016\uff09\001\002\000\004" +
+    "\020\u01ab\001\002\000\004\020\u01a6\001\002\000\004\141" +
+    "\u01a0\001\002\000\004\006\u019d\001\002\000\004\141\uff04" +
+    "\001\002\000\004\020\u019e\001\002\000\004\020\uff05\001" +
+    "\002\000\004\024\u01a3\001\002\000\012\014\uff1d\017\uff1d" +
+    "\022\u01a1\024\uff1d\001\002\000\004\141\u01a0\001\002\000" +
+    "\010\014\uff1c\017\uff1c\024\uff1c\001\002\000\004\006\u01a4" +
+    "\001\002\000\004\020\u01a5\001\002\000\004\020\uff06\001" +
+    "\002\000\004\313\u01a7\001\002\000\010\046\u01a9\145\u019b" +
+    "\160\u019c\001\002\000\006\016\uff07\241\uff07\001\002\000" +
+    "\004\020\u01aa\001\002\000\006\016\uff08\241\uff08\001\002" +
+    "\000\004\016\uff0a\001\002\000\004\313\uff0f\001\002\000" +
+    "\006\020\u01ae\164\u017a\001\002\000\014\016\uff16\212\uff16" +
+    "\216\uff16\307\uff16\316\uff16\001\002\000\004\016\u01b0\001" +
+    "\002\000\014\016\uff14\212\uff14\216\uff14\307\uff14\316\uff14" +
+    "\001\002\000\010\016\u01b5\221\u01b6\241\u01b2\001\002\000" +
+    "\004\071\u01cd\001\002\000\004\221\u01b6\001\002\000\004" +
+    "\241\u01b2\001\002\000\004\313\uff0e\001\002\000\004\045" +
+    "\u01b9\001\002\000\004\016\u01b8\001\002\000\004\313\uff0d" +
+    "\001\002\000\004\020\u01ba\001\002\000\004\313\u01bb\001" +
+    "\002\000\006\046\u01c2\160\u019c\001\002\000\004\313\u01be" +
+    "\001\002\000\006\016\ufeff\241\ufeff\001\002\000\010\046" +
+    "\u01c0\145\u019b\160\u019c\001\002\000\006\016\ufefd\241\ufefd" +
+    "\001\002\000\004\020\u01c1\001\002\000\006\016\ufefe\241" +
+    "\ufefe\001\002\000\004\020\u01ca\001\002\000\004\141\u01a0" +
+    "\001\002\000\004\024\u01c5\001\002\000\004\071\u01c6\001" +
+    "\002\000\004\022\u01c7\001\002\000\004\141\u01c8\001\002" +
+    "\000\004\020\u01c9\001\002\000\004\313\ufefc\001\002\000" +
+    "\006\016\uff00\241\uff00\001\002\000\004\016\uff02\001\002" +
+    "\000\004\016\uff03\001\002\000\004\021\u01ce\001\002\000" +
+    "\004\141\u01cf\001\002\000\004\023\u01d0\001\002\000\004" +
+    "\040\u01d1\001\002\000\004\156\u01d2\001\002\000\004\141" +
+    "\u01d3\001\002\000\004\020\u01d4\001\002\000\006\016\uff01" +
+    "\221\uff01\001\002\000\004\021\u01d6\001\002\000\006\117" +
+    "\u01d7\120\u01d8\001\002\000\004\015\uff0b\001\002\000\004" +
+    "\015\uff0c\001\002\000\014\016\uff6e\212\uff6e\216\uff6e\307" +
+    "\uff6e\316\uff6e\001\002\000\004\110\u01db\001\002\000\004" +
+    "\013\u01dc\001\002\000\006\014\u01de\034\304\001\002\000" +
+    "\004\014\u01e0\001\002\000\004\020\u01df\001\002\000\014" +
+    "\016\uff6d\212\uff6d\216\uff6d\307\uff6d\316\uff6d\001\002\000" +
+    "\004\020\u01e1\001\002\000\014\016\uff6c\212\uff6c\216\uff6c" +
+    "\307\uff6c\316\uff6c\001\002\000\004\111\u01e3\001\002\000" +
+    "\004\013\u01e4\001\002\000\006\034\304\035\u01e5\001\002" +
+    "\000\004\023\u01f0\001\002\000\004\035\u01e5\001\002\000" +
+    "\006\014\u01e9\034\304\001\002\000\004\014\u01eb\001\002" +
+    "\000\004\020\u01ea\001\002\000\014\016\uff68\212\uff68\216" +
+    "\uff68\307\uff68\316\uff68\001\002\000\004\020\u01ec\001\002" +
+    "\000\014\016\uff6a\212\uff6a\216\uff6a\307\uff6a\316\uff6a\001" +
+    "\002\000\004\014\u01ee\001\002\000\004\020\u01ef\001\002" +
+    "\000\014\016\uff69\212\uff69\216\uff69\307\uff69\316\uff69\001" +
+    "\002\000\004\072\u01f1\001\002\000\004\013\u01f2\001\002" +
+    "\000\006\042\u01f3\043\u01f6\001\002\000\004\023\u0200\001" +
+    "\002\000\004\017\u01fd\001\002\000\004\023\u01fb\001\002" +
+    "\000\004\023\uff1e\001\002\000\004\017\u01f8\001\002\000" +
+    "\004\042\u01f3\001\002\000\004\014\u01fa\001\002\000\006" +
+    "\014\uff21\034\uff21\001\002\000\004\141\u01a0\001\002\000" +
+    "\006\014\uff1f\017\uff1f\001\002\000\004\043\u01f6\001\002" +
+    "\000\004\014\u01ff\001\002\000\006\014\uff20\034\uff20\001" +
+    "\002\000\004\073\u0201\001\002\000\004\013\u0203\001\002" +
+    "\000\006\014\uff1b\017\uff1b\001\002\000\004\006\u0204\001" +
+    "\002\000\004\017\u0205\001\002\000\004\006\u0206\001\002" +
+    "\000\004\014\u0207\001\002\000\006\014\uff1a\017\uff1a\001" +
+    "\002\000\014\016\uff7d\212\uff7d\216\uff7d\307\uff7d\316\uff7d" +
+    "\001\002\000\004\106\u020a\001\002\000\004\013\u020b\001" +
+    "\002\000\006\014\u020d\034\304\001\002\000\004\014\u020f" +
+    "\001\002\000\004\020\u020e\001\002\000\014\016\uff7c\212" +
+    "\uff7c\216\uff7c\307\uff7c\316\uff7c\001\002\000\004\020\u0210" +
+    "\001\002\000\014\016\uff7b\212\uff7b\216\uff7b\307\uff7b\316" +
+    "\uff7b\001\002\000\004\112\u0212\001\002\000\004\013\u0213" +
+    "\001\002\000\006\034\304\035\u0214\001\002\000\004\023" +
+    "\u021f\001\002\000\006\014\u021b\034\304\001\002\000\004" +
+    "\035\u0214\001\002\000\004\014\u0218\001\002\000\004\020" +
+    "\u0219\001\002\000\014\016\uff65\212\uff65\216\uff65\307\uff65" +
+    "\316\uff65\001\002\000\004\014\u021d\001\002\000\004\020" +
+    "\u021c\001\002\000\014\016\uff66\212\uff66\216\uff66\307\uff66" +
+    "\316\uff66\001\002\000\004\020\u021e\001\002\000\014\016" +
+    "\uff64\212\uff64\216\uff64\307\uff64\316\uff64\001\002\000\004" +
+    "\072\u0220\001\002\000\004\013\u0221\001\002\000\006\042" +
+    "\u0222\043\u01f6\001\002\000\004\023\u022b\001\002\000\004" +
+    "\017\u0228\001\002\000\004\017\u0225\001\002\000\004\042" +
+    "\u0222\001\002\000\004\014\u0227\001\002\000\006\014\uff19" +
+    "\034\uff19\001\002\000\004\043\u01f6\001\002\000\004\014" +
+    "\u022a\001\002\000\006\014\uff18\034\uff18\001\002\000\004" +
+    "\141\u022c\001\002\000\004\022\u022d\001\002\000\004\044" +
+    "\u022e\001\002\000\004\013\u022f\001\002\000\004\014\u0230" +
+    "\001\002\000\006\014\uff17\017\uff17\001\002\000\004\141" +
+    "\u0232\001\002\000\004\021\u0233\001\002\000\004\105\u0234" +
+    "\001\002\000\006\020\uff73\023\uff73\001\002\000\006\016" +
+    "\u0238\164\u0237\001\002\000\004\016\u0242\001\002\000\004" +
+    "\141\u023b\001\002\000\020\016\uff9f\145\uff9f\164\uff9f\171" +
+    "\uff9f\215\uff9f\262\uff9f\270\uff9f\001\002\000\010\016\uffeb" +
+    "\164\u0237\265\uffeb\001\002\000\006\016\uffea\265\uffea\001" +
+    "\002\000\004\021\u023c\001\002\000\010\074\u0240\075\u023f" +
+    "\141\u023e\001\002\000\004\020\u0241\001\002\000\004\020" +
+    "\uffe6\001\002\000\004\020\uffe8\001\002\000\004\020\uffe7" +
+    "\001\002\000\012\016\uffe9\164\uffe9\265\uffe9\301\uffe9\001" +
+    "\002\000\020\016\uff9e\145\uff9e\164\uff9e\171\uff9e\215\uff9e" +
+    "\262\uff9e\270\uff9e\001\002\000\004\021\u0244\001\002\000" +
+    "\004\102\u0245\001\002\000\004\015\uff9d\001\002\000\022" +
+    "\016\uffb0\145\uffb0\164\uffb0\166\uffb0\171\uffb0\215\uffb0\262" +
+    "\uffb0\270\uffb0\001\002\000\022\016\uffaf\145\uffaf\164\uffaf" +
+    "\166\uffaf\171\uffaf\215\uffaf\262\uffaf\270\uffaf\001\002\000" +
+    "\010\016\u024c\164\u0237\301\u024a\001\002\000\004\016\u0252" +
+    "\001\002\000\004\021\u024f\001\002\000\010\016\uff99\164" +
+    "\u0237\301\u024a\001\002\000\020\016\uff9c\145\uff9c\164\uff9c" +
+    "\171\uff9c\215\uff9c\262\uff9c\270\uff9c\001\002\000\010\016" +
+    "\uff97\164\uff97\301\uff97\001\002\000\004\016\uff98\001\002" +
+    "\000\002\001\002\000\004\020\u0251\001\002\000\010\016" +
+    "\uff96\164\uff96\301\uff96\001\002\000\020\016\uff9b\145\uff9b" +
+    "\164\uff9b\171\uff9b\215\uff9b\262\uff9b\270\uff9b\001\002\000" +
+    "\004\021\u0254\001\002\000\004\103\u0255\001\002\000\004" +
+    "\015\uff9a\001\002\000\004\006\u0258\001\002\000\020\016" +
+    "\uffa7\145\uffa7\164\uffa7\171\uffa7\215\uffa7\262\uffa7\270\uffa7" +
+    "\001\002\000\004\020\u0259\001\002\000\020\016\uffa6\145" +
+    "\uffa6\164\uffa6\171\uffa6\215\uffa6\262\uffa6\270\uffa6\001\002" +
+    "\000\004\021\u025b\001\002\000\002\001\002\000\006\020" +
+    "\uffa5\024\uffa5\001\002\000\004\141\u025e\001\002\000\004" +
+    "\021\u025f\001\002\000\002\001\002\000\006\020\uffa2\024" +
+    "\uffa2\001\002\000\004\121\u0262\001\002\000\004\021\u0263" +
+    "\001\002\000\004\116\u0264\001\002\000\010\015\uff8e\020" +
+    "\uff8e\215\uff8e\001\002\000\006\062\u0267\063\u0266\001\002" +
+    "\000\004\165\u0274\001\002\000\004\165\u0268\001\002\000" +
+    "\004\141\u0269\001\002\000\006\022\u026a\023\u026b\001\002" +
+    "\000\004\141\u0270\001\002\000\004\141\u026c\001\002\000" +
+    "\004\022\u026d\001\002\000\004\141\u026e\001\002\000\004" +
+    "\020\u026f\001\002\000\012\016\uffc7\164\uffc7\166\uffc7\262" +
+    "\uffc7\001\002\000\004\023\u0271\001\002\000\004\141\u0272" +
+    "\001\002\000\004\020\u0273\001\002\000\012\016\uffc8\164" +
+    "\uffc8\166\uffc8\262\uffc8\001\002\000\004\141\u0275\001\002" +
+    "\000\006\022\u0276\023\u0277\001\002\000\004\141\u027c\001" +
+    "\002\000\004\141\u0278\001\002\000\004\022\u0279\001\002" +
+    "\000\004\141\u027a\001\002\000\004\020\u027b\001\002\000" +
+    "\012\016\uffc5\164\uffc5\166\uffc5\262\uffc5\001\002\000\004" +
+    "\023\u027d\001\002\000\004\141\u027e\001\002\000\004\020" +
+    "\u027f\001\002\000\012\016\uffc6\164\uffc6\166\uffc6\262\uffc6" +
+    "\001\002\000\006\016\u0282\164\u0237\001\002\000\004\016" +
+    "\u0283\001\002\000\012\016\uffed\164\uffed\166\uffed\262\uffed" +
+    "\001\002\000\012\016\uffee\164\uffee\166\uffee\262\uffee\001" +
+    "\002\000\004\265\u0287\001\002\000\012\016\uffc2\164\uffc2" +
+    "\166\uffc2\262\uffc2\001\002\000\006\016\u0293\164\u0237\001" +
+    "\002\000\004\262\u0288\001\002\000\004\041\u0289\001\002" +
+    "\000\006\021\u028b\023\u028a\001\002\000\004\141\u0290\001" +
+    "\002\000\004\055\u028c\001\002\000\004\023\u028d\001\002" +
+    "\000\004\141\u028e\001\002\000\004\020\u028f\001\002\000" +
+    "\006\016\uffbd\164\uffbd\001\002\000\004\020\u0291\001\002" +
+    "\000\006\016\uffbc\164\uffbc\001\002\000\004\016\u0294\001" +
+    "\002\000\012\016\uffc0\164\uffc0\166\uffc0\262\uffc0\001\002" +
+    "\000\012\016\uffbf\164\uffbf\166\uffbf\262\uffbf\001\002\000" +
+    "\004\016\u0296\001\002\000\012\016\uffbe\164\uffbe\166\uffbe" +
+    "\262\uffbe\001\002\000\012\016\uffbb\164\uffbb\166\uffbb\262" +
+    "\uffbb\001\002\000\006\016\u029b\164\u0299\001\002\000\004" +
+    "\141\u029f\001\002\000\012\016\uffb9\164\uffb9\166\uffb9\262" +
+    "\uffb9\001\002\000\012\016\uffba\164\uffba\166\uffba\262\uffba" +
+    "\001\002\000\006\016\u029e\164\u0299\001\002\000\012\016" +
+    "\uffb5\164\uffb5\166\uffb5\262\uffb5\001\002\000\012\016\uffb6" +
+    "\164\uffb6\166\uffb6\262\uffb6\001\002\000\004\271\u02a0\001" +
+    "\002\000\004\141\u02a1\001\002\000\004\020\u02a2\001\002" +
+    "\000\006\016\uffb4\164\uffb4\001\002\000\006\014\uffd8\017" +
+    "\uffd8\001\002\000\004\023\u02bb\001\002\000\004\023\u02b9" +
+    "\001\002\000\004\014\u02b7\001\002\000\006\014\uffd9\017" +
+    "\uffd9\001\002\000\006\014\uffd6\017\uffd6\001\002\000\006" +
+    "\014\uffdc\017\u02b5\001\002\000\006\014\uffd7\017\uffd7\001" +
+    "\002\000\004\023\u02b3\001\002\000\004\023\u02b1\001\002" +
+    "\000\004\023\u02af\001\002\000\006\014\uffda\017\uffda\001" +
+    "\002\000\004\004\u02b0\001\002\000\006\014\uffd2\017\uffd2" +
+    "\001\002\000\004\141\u02b2\001\002\000\006\014\uffd5\017" +
+    "\uffd5\001\002\000\004\005\u02b4\001\002\000\006\014\uffd1" +
+    "\017\uffd1\001\002\000\014\025\u02ab\026\u02ad\027\u02a5\031" +
+    "\u02ac\032\u02a4\001\002\000\004\014\uffdb\001\002\000\004" +
+    "\020\u02b8\001\002\000\012\016\uffe2\164\uffe2\166\uffe2\262" +
+    "\uffe2\001\002\000\004\005\u02ba\001\002\000\006\014\uffd3" +
+    "\017\uffd3\001\002\000\004\141\u02bc\001\002\000\006\014" +
+    "\uffd4\017\uffd4\001\002\000\004\016\ufffd\001\002\000\004" +
+    "\014\u02bf\001\002\000\004\020\u02c0\001\002\000\012\016" +
+    "\uffde\164\uffde\166\uffde\262\uffde\001\002\000\004\141\u02c2" +
+    "\001\002\000\006\305\135\333\137\001\002\000\004\100" +
+    "\u02c4\001\002\000\004\015\uffec\001\002\000\004\014\u02c6" +
+    "\001\002\000\004\020\u02c7\001\002\000\012\016\uffe0\164" +
+    "\uffe0\166\uffe0\262\uffe0\001\002\000\004\002\000\001\002" +
+    "" });
 
   /** Access to parse-action table. */
   @Override
@@ -589,34 +604,34 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
   /** <code>reduce_goto</code> table. */
   protected static final short[][] _reduce_table = 
     unpackFromStrings(new String[] {
-    "\000\u02bb\000\004\003\003\001\001\000\002\001\001\000" +
+    "\000\u02c6\000\004\003\003\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\066\004\040\005\020" +
     "\010\010\012\034\013\035\016\023\017\042\020\012\021" +
     "\011\032\031\033\015\034\017\035\043\036\022\037\021" +
     "\040\025\041\007\042\014\043\024\044\030\045\013\046" +
     "\027\053\033\054\032\055\041\056\037\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\020\022\u02b9" +
-    "\023\u029d\024\u02a2\025\u029b\026\u0297\027\u029e\030\u029c\001" +
-    "\001\000\002\001\001\000\020\022\u02b2\023\u029d\024\u02a2" +
-    "\025\u029b\026\u0297\027\u029e\030\u029c\001\001\000\066\004" +
-    "\u02b1\005\020\010\010\012\034\013\035\016\023\017\042" +
+    "\001\000\002\001\001\000\002\001\001\000\020\022\u02c4" +
+    "\023\u02a8\024\u02ad\025\u02a6\026\u02a2\027\u02a9\030\u02a7\001" +
+    "\001\000\002\001\001\000\020\022\u02bd\023\u02a8\024\u02ad" +
+    "\025\u02a6\026\u02a2\027\u02a9\030\u02a7\001\001\000\066\004" +
+    "\u02bc\005\020\010\010\012\034\013\035\016\023\017\042" +
     "\020\012\021\011\032\031\033\015\034\017\035\043\036" +
     "\022\037\021\040\025\041\007\042\014\043\024\044\030" +
     "\045\013\046\027\053\033\054\032\055\041\056\037\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\020\022\u029a\023\u029d" +
-    "\024\u02a2\025\u029b\026\u0297\027\u029e\030\u029c\001\001\000" +
-    "\002\001\001\000\012\014\u0278\015\216\047\u0279\050\u027a" +
+    "\002\001\001\000\002\001\001\000\020\022\u02a5\023\u02a8" +
+    "\024\u02ad\025\u02a6\026\u02a2\027\u02a9\030\u02a7\001\001\000" +
+    "\002\001\001\000\012\014\u0283\015\u0238\047\u0284\050\u0285" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\040\055\172\056\037\057\163\060\162\061\171" +
-    "\062\155\063\161\064\164\065\150\070\166\071\154\072" +
-    "\152\075\170\076\160\165\167\001\001\000\002\001\001" +
+    "\001\000\044\055\175\056\037\057\165\060\164\061\173" +
+    "\062\157\063\156\064\163\065\166\066\150\071\167\072" +
+    "\155\073\153\076\171\077\162\100\174\167\172\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\004\007\110\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\004\007" +
+    "\110\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
@@ -625,108 +640,106 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\004\011\114\001\001\000\002\001\001\000" +
+    "\001\001\000\002\001\001\000\004\011\114\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\004\011\117\001\001\000\002\001\001\000" +
-    "\004\011\121\001\001\000\002\001\001\000\002\001\001" +
+    "\001\001\000\002\001\001\000\004\011\117\001\001\000" +
+    "\002\001\001\000\004\011\121\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\004\006\135\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
+    "\135\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\040\055\172" +
-    "\056\037\057\u023f\060\162\061\171\062\155\063\161\064" +
-    "\164\065\150\070\166\071\154\072\152\075\170\076\160" +
-    "\165\167\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\004\165\230\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\002\001\001\000\044\055\175\056" +
+    "\037\057\u0246\060\164\061\173\062\157\063\156\064\163" +
+    "\065\166\066\150\071\167\072\155\073\153\076\171\077" +
+    "\162\100\174\167\172\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\004\167\221\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\006\014\213\015\216" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\006\014\217\015\216\001\001\000\002\001\001" +
-    "\000\002\001\001\000\004\002\222\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\074" +
-    "\073\254\074\262\077\246\100\242\101\251\102\250\103" +
-    "\270\104\265\105\237\106\274\107\264\110\252\111\247" +
-    "\112\240\113\256\151\241\152\253\153\261\154\257\155" +
-    "\244\156\243\157\236\160\272\161\260\162\255\163\271" +
-    "\164\273\174\267\201\245\001\001\000\002\001\001\000" +
+    "\002\001\001\000\002\001\001\000\074\074\246\075\253" +
+    "\101\237\102\233\103\242\104\241\105\260\106\256\107" +
+    "\230\110\265\111\255\112\243\113\240\114\231\115\245" +
+    "\153\232\154\244\155\252\156\250\157\235\160\234\161" +
+    "\227\162\263\163\251\164\247\165\262\166\264\176\261" +
+    "\203\236\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\010\175\u017b\210\u017a\211\u0178\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\010\177" +
+    "\u0174\212\u0173\213\u0171\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\074\073\u0148\074\262" +
-    "\077\246\100\242\101\251\102\250\103\270\104\265\105" +
-    "\237\106\274\107\264\110\252\111\247\112\240\113\256" +
-    "\151\241\152\253\153\261\154\257\155\244\156\243\157" +
-    "\236\160\272\161\260\162\255\163\271\164\273\174\267" +
-    "\201\245\001\001\000\002\001\001\000\002\001\001\000" +
+    "\002\001\001\000\074\074\u0141\075\253\101\237\102\233" +
+    "\103\242\104\241\105\260\106\256\107\230\110\265\111" +
+    "\255\112\243\113\240\114\231\115\245\153\232\154\244" +
+    "\155\252\156\250\157\235\160\234\161\227\162\263\163" +
+    "\251\164\247\165\262\166\264\176\261\203\236\001\001" +
+    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\004\117" +
+    "\304\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\004\115\313\001\001\000\002\001\001\000\002" +
+    "\001\000\036\121\316\122\330\123\333\126\336\127\312" +
+    "\130\324\131\327\132\335\145\322\146\315\147\325\150" +
+    "\313\151\337\152\326\001\001\000\002\001\001\000\026" +
+    "\124\u0120\125\345\133\343\134\340\140\347\141\355\142" +
+    "\341\143\354\144\352\170\346\001\001\000\002\001\001" +
+    "\000\026\124\u011d\125\345\133\343\134\340\140\347\141" +
+    "\355\142\341\143\354\144\352\170\346\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\036\117\325\120\336\121\341" +
-    "\124\345\125\322\126\333\127\337\130\344\143\331\144" +
-    "\324\145\334\146\321\147\346\150\335\001\001\000\026" +
-    "\122\u0127\123\354\131\352\132\347\136\357\137\364\140" +
-    "\350\141\363\142\361\166\355\001\001\000\002\001\001" +
-    "\000\002\001\001\000\026\122\u0124\123\354\131\352\132" +
-    "\347\136\357\137\364\140\350\141\363\142\361\166\355" +
+    "\001\000\026\124\u0113\125\345\133\343\134\340\140\347" +
+    "\141\355\142\341\143\354\144\352\170\346\001\001\000" +
+    "\002\001\001\000\002\001\001\000\026\124\u0110\125\345" +
+    "\133\343\134\340\140\347\141\355\142\341\143\354\144" +
+    "\352\170\346\001\001\000\026\124\u010e\125\345\133\343" +
+    "\134\340\140\347\141\355\142\341\143\354\144\352\170" +
+    "\346\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\026\122\u011a\123\354\131\352" +
-    "\132\347\136\357\137\364\140\350\141\363\142\361\166" +
-    "\355\001\001\000\002\001\001\000\002\001\001\000\026" +
-    "\122\u0117\123\354\131\352\132\347\136\357\137\364\140" +
-    "\350\141\363\142\361\166\355\001\001\000\026\122\u0115" +
-    "\123\354\131\352\132\347\136\357\137\364\140\350\141" +
-    "\363\142\361\166\355\001\001\000\002\001\001\000\002" +
+    "\001\000\002\001\001\000\002\001\001\000\026\124\344" +
+    "\125\345\133\343\134\340\140\347\141\355\142\341\143" +
+    "\354\144\352\170\346\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\026\122\353\123\354\131\352\132\347\136\357\137" +
-    "\364\140\350\141\363\142\361\166\355\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\026\122\u010f\123\354\131\352" +
-    "\132\347\136\357\137\364\140\350\141\363\142\361\166" +
-    "\355\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\000\026\124\u0108\125\345\133\343\134\340\140\347" +
+    "\141\355\142\341\143\354\144\352\170\346\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\006\133\370" +
-    "\135\366\001\001\000\002\001\001\000\002\001\001\000" +
+    "\001\000\002\001\001\000\006\135\361\137\357\001\001" +
+    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
-    "\200\u0109\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\004\200\u010d\001\001\000\002\001\001" +
+    "\002\001\001\000\002\001\001\000\004\202\u0102\001\001" +
+    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
+    "\004\202\u0106\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\034\120\u011d\121\341\124\345\125" +
-    "\322\126\333\127\337\130\344\143\331\144\324\145\334" +
-    "\146\321\147\346\150\335\001\001\000\002\001\001\000" +
+    "\000\034\122\u0116\123\333\126\336\127\312\130\324\131" +
+    "\327\132\335\145\322\146\315\147\325\150\313\151\337" +
+    "\152\326\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\002\001\001\000\004\117\u0125\001" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\004\115\u012c\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\004\115\u0133\001\001\000\002\001\001" +
+    "\004\117\u012c\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
@@ -735,55 +748,55 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\002\001\001\000\004\117\u014b\001" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\004\115\u0152\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\004\115\u0159\001\001\000\002\001\001" +
+    "\004\117\u0152\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\004\115\u0162\001\001\000\002\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
+    "\117\u015b\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\004\114\u016c\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\040\116\u0172\117\u0171\120\336\121\341\124\345" +
-    "\125\322\126\333\127\337\130\344\143\331\144\324\145" +
-    "\334\146\321\147\346\150\335\001\001\000\002\001\001" +
-    "\000\002\001\001\000\040\116\u0174\117\u0171\120\336\121" +
-    "\341\124\345\125\322\126\333\127\337\130\344\143\331" +
-    "\144\324\145\334\146\321\147\346\150\335\001\001\000" +
+    "\001\000\004\116\u0165\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\040\120" +
+    "\u016b\121\u016a\122\330\123\333\126\336\127\312\130\324" +
+    "\131\327\132\335\145\322\146\315\147\325\150\313\151" +
+    "\337\152\326\001\001\000\002\001\001\000\002\001\001" +
+    "\000\040\120\u016d\121\u016a\122\330\123\333\126\336\127" +
+    "\312\130\324\131\327\132\335\145\322\146\315\147\325" +
+    "\150\313\151\337\152\326\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\014\202\u0181" +
-    "\216\u017e\217\u0184\220\u0183\221\u0182\001\001\000\014\202" +
-    "\u0195\216\u017e\217\u0184\220\u0183\221\u0182\001\001\000\002" +
+    "\001\000\002\001\001\000\014\204\u017a\220\u0177\221\u017d" +
+    "\222\u017b\223\u017c\001\001\000\014\204\u018e\220\u0177\221" +
+    "\u017d\222\u017b\223\u017c\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\004\203\u0197\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\004\176\u019d\001" +
-    "\001\000\006\177\u019f\205\u01a0\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\004\207\u01a5\001" +
+    "\000\002\001\001\000\002\001\001\000\004\205\u0190\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\004\200\u0196\001\001\000\006\201" +
+    "\u0198\207\u0199\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\004\211\u019e\001\001\000\002\001" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\002\001\001\000\004\211\u01a1\001" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\004\200\u01a7\001\001\000\006\201" +
+    "\u0198\207\u0199\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\004\207\u01a8\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\004\176\u01ae\001" +
-    "\001\000\006\177\u019f\205\u01a0\001\001\000\002\001\001" +
+    "\014\204\u01ae\220\u0177\221\u017d\222\u017b\223\u017c\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\014\202\u01b5\216\u017e\217\u0184\220\u0183" +
-    "\221\u0182\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\010\204\u01bd\212\u01b9\213\u01ba\001\001" +
-    "\000\002\001\001\000\004\213\u01d2\001\001\000\004\212" +
-    "\u01d1\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\006\214" +
-    "\u01c3\215\u01c2\001\001\000\004\205\u01c9\001\001\000\004" +
-    "\176\u01c5\001\001\000\002\001\001\000\006\177\u019f\205" +
-    "\u01a0\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\004\207\u01ca\001\001\000" +
+    "\010\206\u01b6\214\u01b2\215\u01b3\001\001\000\002\001\001" +
+    "\000\004\215\u01cb\001\001\000\004\214\u01ca\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\006\216\u01bc\217\u01bb\001" +
+    "\001\000\004\207\u01c2\001\001\000\004\200\u01be\001\001" +
+    "\000\002\001\001\000\006\201\u0198\207\u0199\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\004\211\u01c3\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
@@ -791,47 +804,55 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\004\115\u01e3\001\001\000\002\001" +
+    "\000\004\117\u01dc\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\006\115\u01ec\167\u01ed\001\001\000\002\001\001\000\004" +
-    "\167\u01f3\001\001\000\004\115\u01ee\001\001\000\002\001" +
+    "\000\002\001\001\000\002\001\001\000\006\117\u01e5\171" +
+    "\u01e6\001\001\000\002\001\001\000\004\171\u01ec\001\001" +
+    "\000\004\117\u01e7\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\010" +
-    "\170\u01fc\171\u01fa\206\u01fd\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\004\207\u01ff\001\001\000\002\001\001\000" +
-    "\004\171\u0201\001\001\000\002\001\001\000\002\001\001" +
-    "\000\006\170\u0204\206\u01fd\001\001\000\002\001\001\000" +
-    "\002\001\001\000\004\134\u0208\001\001\000\002\001\001" +
+    "\002\001\001\000\002\001\001\000\010\172\u01f6\173\u01f3" +
+    "\210\u01f4\001\001\000\002\001\001\000\002\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
+    "\173\u01f8\001\001\000\002\001\001\000\002\001\001\000" +
+    "\004\211\u01fb\001\001\000\002\001\001\000\006\172\u01fd" +
+    "\210\u01f4\001\001\000\002\001\001\000\002\001\001\000" +
+    "\004\136\u0201\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\002\001\001\000\002\001\001\000\004\115" +
-    "\u0212\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\004\117\u020b\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\006\115\u021c\172\u021b\001\001" +
-    "\000\002\001\001\000\004\115\u0220\001\001\000\004\172" +
-    "\u021d\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\000\006\117\u0215\174\u0214\001\001\000\002\001\001" +
+    "\000\004\117\u0219\001\001\000\004\174\u0216\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\010\170\u0229\173\u022a\206\u01fd\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\006\170\u022c\206\u01fd\001\001\000\002\001\001\000" +
-    "\002\001\001\000\004\173\u022f\001\001\000\002\001\001" +
+    "\000\010\172\u0223\175\u0222\210\u01f4\001\001\000\002\001" +
+    "\001\000\002\001\001\000\002\001\001\000\004\175\u0225" +
+    "\001\001\000\002\001\001\000\002\001\001\000\006\172" +
+    "\u0228\210\u01f4\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\006\014\u0235\015\u0238\001\001\000\002\001\001" +
+    "\000\002\001\001\000\002\001\001\000\006\014\u0239\015" +
+    "\u0238\001\001\000\002\001\001\000\002\001\001\000\004" +
+    "\002\u023c\001\001\000\002\001\001\000\002\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\002\001\001\000\002\001\001\000\010\015\u024c" +
+    "\067\u0248\070\u024a\001\001\000\002\001\001\000\002\001" +
+    "\001\000\010\015\u024c\067\u024d\070\u024a\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\004\031" +
+    "\u024f\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\010\015\u0245\066\u0241\067\u0244\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\010\015\u0245\066" +
-    "\u0246\067\u0244\001\001\000\002\001\001\000\002\001\001" +
-    "\000\004\031\u0248\001\001\000\002\001\001\000\002\001" +
+    "\000\002\001\001\000\002\001\001\000\004\031\u025b\001" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\004\031\u025f\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
-    "\031\u0254\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
@@ -839,34 +860,32 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\002\001\001\000\006\014\u0280\015\u0238\001\001\000" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
+    "\050\u0294\001\001\000\002\001\001\000\006\014\u0291\015" +
+    "\u0238\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
-    "\001\001\000\006\014\u0275\015\216\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\004\050\u0289" +
-    "\001\001\000\002\001\001\000\006\014\u0286\015\216\001" +
+    "\001\001\000\002\001\001\000\006\051\u0299\052\u029b\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
+    "\000\006\051\u029c\052\u029b\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\006\051\u028e\052\u0290\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
-    "\051\u0291\052\u0290\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+    "\000\020\022\u02b5\023\u02a8\024\u02ad\025\u02a6\026\u02a2\027" +
+    "\u02a9\030\u02a7\001\001\000\002\001\001\000\002\001\001" +
     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001\000\002\001\001\000\002\001\001\000\020" +
-    "\022\u02aa\023\u029d\024\u02a2\025\u029b\026\u0297\027\u029e\030" +
-    "\u029c\001\001\000\002\001\001\000\002\001\001\000\002" +
+    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
-    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\004\006\u02b7\001\001\000\002\001\001\000\002\001\001" +
-    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
-    "\002\001\001" });
+    "\001\000\004\006\u02c2\001\001\000\002\001\001\000\002" +
+    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+    "\001\000\002\001\001" });
 
   /** Access to <code>reduce_goto</code> table. */
   @Override
@@ -912,11 +931,21 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
 
 
 
+    AvatarFromSysMLLexer lexer = (AvatarFromSysMLLexer) getScanner();
+
     public StxModel parseModel() {
-        try { return (StxModel) parse().value; }
+        try {
+            StxModel model = (StxModel) parse().value;
+            outMessageMap.forEach(new Complete());
+            return model;
+        }
         catch (java.lang.Exception e) { return null; }
     }
-    AvatarFromSysMLLexer lexer = (AvatarFromSysMLLexer) getScanner();
+    private class Complete implements BiConsumer<String, StxOutMessage> {
+        public Complete(){};
+        public void accept(String s, StxOutMessage o) { o.complete(); }
+    }
+
     private StringBuffer stringAcc = new StringBuffer();
     private ArrayList<String> errors;
     private void addError(String _err) { errors.add(_err); }
@@ -975,7 +1004,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     private void getInMessage(String _name) {
         theStructure = inMessageMap.get(_name);
         if (theStructure == null) {
-            theStructure = new StxInMessage(_name);
+            theStructure = new StxInMessage();
             inMessageMap.put(_name, (StxInMessage)theStructure);
         }
     }
@@ -998,6 +1027,9 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {
     private void getAttribute(String _name, String _type) {
         theAttribute = new StxAttribute(_name, _type);
     }
+    private void getConstant(String _name, String _type) {
+        theAttribute = new StxAttribute(_name, _type);
+    }
     private void getMethod(String _name) {
         theStructure = new StxMethod(_name);
     }
@@ -1051,7 +1083,7 @@ class CUP$AvatarFromSysMLParser$actions {
               StxModel RESULT =null;
 		
         RESULT =
-        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap,inMessageMap,outMessageMap);
+        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap);
       
               CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("model",1, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
@@ -1077,7 +1109,7 @@ class CUP$AvatarFromSysMLParser$actions {
               StxModel RESULT =null;
 		
         RESULT =
-        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap,inMessageMap,outMessageMap);
+        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap);
       
               CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("model",1, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
@@ -1951,6 +1983,7 @@ class CUP$AvatarFromSysMLParser$actions {
 		Ident ch = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
 		
         getChannel(ch.getAvatarName());
+        theChannel.setInProfile((StxInMessage)theStructure);
         ((StxInMessage)theStructure).setChannel(theChannel);
       
               CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageChannel",38, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
@@ -1966,6 +1999,7 @@ class CUP$AvatarFromSysMLParser$actions {
 		Ident ch = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
 		
         getChannel(ch.getAvatarName());
+        theChannel.setInProfile((StxInMessage)theStructure);
         ((StxInMessage)theStructure).setChannel(theChannel);
       
               CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageChannel",38, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
@@ -2087,7 +2121,7 @@ class CUP$AvatarFromSysMLParser$actions {
 		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
 		Ident i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
 		
-        theOutMessage.addField(o.getAvatarName(), i.getAvatarName());
+        theOutMessage.addFieldLink(o.getAvatarName(), i.getAvatarName());
 
               CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("redefineField",40, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
@@ -2165,7 +2199,16 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 84: // blockItem ::= methodDecl 
+          case 84: // blockItem ::= constantDecl 
+            {
+              Object RESULT =null;
+
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+            }
+          return CUP$AvatarFromSysMLParser$result;
+
+          /*. . . . . . . . . . . . . . . . . . . .*/
+          case 85: // blockItem ::= methodDecl 
             {
               Object RESULT =null;
 
@@ -2174,7 +2217,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 85: // blockItem ::= signalDecl 
+          case 86: // blockItem ::= signalDecl 
             {
               Object RESULT =null;
 
@@ -2183,7 +2226,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 86: // blockItem ::= timerDecl 
+          case 87: // blockItem ::= timerDecl 
             {
               Object RESULT =null;
 
@@ -2192,7 +2235,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 87: // blockItem ::= stateMachine 
+          case 88: // blockItem ::= stateMachine 
             {
               Object RESULT =null;
 
@@ -2201,7 +2244,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 88: // blockItem ::= blockDecl 
+          case 89: // blockItem ::= blockDecl 
             {
               Object RESULT =null;
 
@@ -2210,7 +2253,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 89: // attributeDecl ::= attributeDeclHEADER SEMICOLON 
+          case 90: // attributeDecl ::= attributeDeclHEADER SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2225,7 +2268,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 90: // attributeDecl ::= attributeDeclHEADER GETS STRINGEXPR SEMICOLON 
+          case 91: // attributeDecl ::= attributeDeclHEADER GETS STRINGEXPR SEMICOLON 
             {
               Object RESULT =null;
 		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
@@ -2244,7 +2287,7 @@ class CUP$AvatarFromSysMLParser$actions {
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 91: // attributeDeclHEADER ::= ATTRIBUTE IDENT COLON typIdent 
+          case 92: // attributeDeclHEADER ::= ATTRIBUTE IDENT COLON typIdent 
             {
               Object RESULT =null;
 		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -2262,30 +2305,87 @@ class CUP$AvatarFromSysMLParser$actions {
         theAttribute.setLeft(axleft);
         lexer.setGetStringValue(true);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("attributeDeclHEADER",48, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("attributeDeclHEADER",49, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+            }
+          return CUP$AvatarFromSysMLParser$result;
+
+          /*. . . . . . . . . . . . . . . . . . . .*/
+          case 93: // constantDecl ::= constantDeclHEADER SEMICOLON 
+            {
+              Object RESULT =null;
+		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
+		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
+		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
+		
+        lexer.setGetStringValue(false);
+        theAttribute.setRight(qxright);
+      
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("constantDecl",48, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+            }
+          return CUP$AvatarFromSysMLParser$result;
+
+          /*. . . . . . . . . . . . . . . . . . . .*/
+          case 94: // constantDecl ::= constantDeclHEADER GETS STRINGEXPR SEMICOLON 
+            {
+              Object RESULT =null;
+		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
+		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
+		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
+		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
+		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
+		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
+		
+        lexer.setGetStringValue(false);
+        theAttribute.setInit(e);
+        theAttribute.setRight(qxright);
+    
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("constantDecl",48, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+            }
+          return CUP$AvatarFromSysMLParser$result;
+
+          /*. . . . . . . . . . . . . . . . . . . .*/
+          case 95: // constantDeclHEADER ::= READONLY ATTRIBUTE IDENT COLON typIdent 
+            {
+              Object RESULT =null;
+		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
+		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
+		Object r = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
+		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
+		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
+		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
+		Location tpxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
+		Location tpxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
+		Object tp = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
+		
+        getConstant(id.getAvatarName(), (String) tp);
+        theBlock.addConstant(theAttribute);
+        theAttribute.setLeft(rxleft);
+        lexer.setGetStringValue(true);
+
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("constantDeclHEADER",62, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 92: // methodDecl ::= voidMethodDecl 
+          case 96: // methodDecl ::= voidMethodDecl 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("methodDecl",49, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("methodDecl",50, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 93: // methodDecl ::= calcMethodDecl 
+          case 97: // methodDecl ::= calcMethodDecl 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("methodDecl",49, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("methodDecl",50, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 94: // voidMethodDecl ::= voidMethodDeclBegin LBRAC RBRAC 
+          case 98: // voidMethodDecl ::= voidMethodDeclBegin LBRAC RBRAC 
             {
               Object RESULT =null;
 		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2294,12 +2394,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theStructure.setRight(bxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDecl",50, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDecl",51, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 95: // voidMethodDecl ::= voidMethodDeclBegin LBRAC fieldDecls RBRAC 
+          case 99: // voidMethodDecl ::= voidMethodDeclBegin LBRAC fieldDecls RBRAC 
             {
               Object RESULT =null;
 		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2308,12 +2408,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theStructure.setRight(bxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDecl",50, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDecl",51, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 96: // voidMethodDeclBegin ::= ACTION IDENT COLON AVVOIDMETHOD_T 
+          case 100: // voidMethodDeclBegin ::= ACTION IDENT COLON AVVOIDMETHOD_T 
             {
               Object RESULT =null;
 		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -2327,12 +2427,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theBlock.addMethod((StxMethod)theStructure);
     theStructure.setLeft(axleft);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDeclBegin",59, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDeclBegin",60, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 97: // calcMethodDecl ::= calcMethodDeclBegin LBRAC RBRAC 
+          case 101: // calcMethodDecl ::= calcMethodDeclBegin LBRAC RBRAC 
             {
               Object RESULT =null;
 		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2341,12 +2441,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theStructure.setRight(bxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDecl",51, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDecl",52, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 98: // calcMethodDecl ::= calcMethodDeclBegin LBRAC calcMethodItems RBRAC 
+          case 102: // calcMethodDecl ::= calcMethodDeclBegin LBRAC calcMethodItems RBRAC 
             {
               Object RESULT =null;
 		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2355,12 +2455,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theStructure.setRight(bxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDecl",51, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDecl",52, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 99: // calcMethodDeclBegin ::= CALC IDENT COLON AVCALCMETHOD_T 
+          case 103: // calcMethodDeclBegin ::= CALC IDENT COLON AVCALCMETHOD_T 
             {
               Object RESULT =null;
 		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -2374,39 +2474,39 @@ class CUP$AvatarFromSysMLParser$actions {
     theBlock.addMethod((StxMethod)theStructure);
     theStructure.setLeft(cxleft);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDeclBegin",60, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDeclBegin",61, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 100: // calcMethodItems ::= calcMethodItem 
+          case 104: // calcMethodItems ::= calcMethodItem 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItems",52, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItems",53, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 101: // calcMethodItems ::= calcMethodItem calcMethodItems 
+          case 105: // calcMethodItems ::= calcMethodItem calcMethodItems 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItems",52, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItems",53, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 102: // calcMethodItem ::= fieldDecl 
+          case 106: // calcMethodItem ::= fieldDecl 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItem",53, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItem",54, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 103: // calcMethodItem ::= RETURN COLON typIdent SEMICOLON 
+          case 107: // calcMethodItem ::= RETURN COLON typIdent SEMICOLON 
             {
               Object RESULT =null;
 		Location tpxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
@@ -2415,12 +2515,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         ((StxMethod)theStructure).setReturnType((String)tp);
     
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItem",53, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItem",54, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 104: // signalDecl ::= PART IDENT COLON FIFO_T SEMICOLON 
+          case 108: // signalDecl ::= PART IDENT COLON FIFO_T SEMICOLON 
             {
               Object RESULT =null;
 		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -2438,12 +2538,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theSignal.setLeft(pxleft);
         theSignal.setRight(qxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalDecl",54, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalDecl",55, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 105: // signalDecl ::= PART IDENT COLON CHANNEL_T SEMICOLON 
+          case 109: // signalDecl ::= PART IDENT COLON CHANNEL_T SEMICOLON 
             {
               Object RESULT =null;
 		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -2461,12 +2561,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theSignal.setLeft(pxleft);
         theSignal.setRight(qxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalDecl",54, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalDecl",55, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 106: // timerDecl ::= PART IDENT COLON AVTIMER_T EQUAL AVTIMER_T LPAR RPAR SEMICOLON 
+          case 110: // timerDecl ::= PART IDENT COLON AVTIMER_T EQUAL AVTIMER_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xleft;
@@ -2481,12 +2581,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theBlock.addTimer(new StxTimer(pxleft, qxright, id.getAvatarName()));
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("timerDecl",55, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("timerDecl",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 107: // timerDecl ::= PART IDENT COLON AVTIMER_T SEMICOLON 
+          case 111: // timerDecl ::= PART IDENT COLON AVTIMER_T SEMICOLON 
             {
               Object RESULT =null;
 		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -2501,203 +2601,203 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theBlock.addTimer(new StxTimer(pxleft, qxright, id.getAvatarName()));
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("timerDecl",55, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("timerDecl",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 108: // stateMachine ::= stateMachineBegin stateMachineBegin LBRAC stateMachineItems RBRAC 
+          case 112: // stateMachine ::= stateMachineBegin stateMachineBegin LBRAC stateMachineItems RBRAC 
             {
               Object RESULT =null;
 		
         theBlock.setStates(stateMap);
         stateMap = null;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 109: // stateMachine ::= stateMachineBegin LBRAC RBRAC 
+          case 113: // stateMachine ::= stateMachineBegin LBRAC RBRAC 
             {
               Object RESULT =null;
 		
         theBlock.setStates(stateMap);
         stateMap = null;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 110: // stateMachine ::= stateMachineBegin SEMICOLON 
+          case 114: // stateMachine ::= stateMachineBegin SEMICOLON 
             {
               Object RESULT =null;
 		
         theBlock.setStates(stateMap);
         stateMap = null;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 111: // stateMachineBegin ::= EXHIBIT STATE STATEMACHINE COLON AVSTATEMACHINE_T 
+          case 115: // stateMachineBegin ::= EXHIBIT STATE STATEMACHINE COLON AVSTATEMACHINE_T 
             {
               Object RESULT =null;
 		
     stateMap = new HashMap<String, StxState>();
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineBegin",115, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineBegin",117, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 112: // stateMachineItems ::= stateMachineItem 
+          case 116: // stateMachineItems ::= stateMachineItem 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItems",57, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItems",58, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 113: // stateMachineItems ::= stateMachineItem stateMachineItems 
+          case 117: // stateMachineItems ::= stateMachineItem stateMachineItems 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItems",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItems",58, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 114: // stateMachineItem ::= state 
+          case 118: // stateMachineItem ::= state 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItem",58, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItem",59, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 115: // stateMachineItem ::= transition 
+          case 119: // stateMachineItem ::= transition 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItem",58, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItem",59, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 116: // state ::= standardState 
+          case 120: // state ::= standardState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 117: // state ::= stopState 
+          case 121: // state ::= stopState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 118: // state ::= startState 
+          case 122: // state ::= startState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 119: // state ::= sendState 
+          case 123: // state ::= sendState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 120: // state ::= receiveState 
+          case 124: // state ::= receiveState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 121: // state ::= randomState 
+          case 125: // state ::= randomState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 122: // state ::= countState 
+          case 126: // state ::= countState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 123: // state ::= presendState 
+          case 127: // state ::= presendState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 124: // state ::= prereceiveState 
+          case 128: // state ::= prereceiveState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 125: // state ::= setTimerState 
+          case 129: // state ::= setTimerState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 126: // state ::= resetTimerState 
+          case 130: // state ::= resetTimerState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 127: // state ::= expireTimerState 
+          case 131: // state ::= expireTimerState 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",61, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",63, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 128: // startState ::= startStateBegin SEMICOLON 
+          case 132: // startState ::= startStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2706,12 +2806,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",62, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 129: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR RPAR SEMICOLON 
+          case 133: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2720,12 +2820,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",62, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 130: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 134: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2734,12 +2834,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",62, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 131: // startStateBegin ::= ENTRY ACTION IDENT COLON AVSTARTSTATE_T 
+          case 135: // startStateBegin ::= ENTRY ACTION IDENT COLON AVSTARTSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -2754,12 +2854,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startStateBegin",103, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startStateBegin",105, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 132: // standardState ::= standardStateBegin SEMICOLON 
+          case 136: // standardState ::= standardStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2768,12 +2868,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",63, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 133: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR RPAR SEMICOLON 
+          case 137: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2782,12 +2882,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",63, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 134: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR poolParam RPAR SEMICOLON 
+          case 138: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR poolParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2796,12 +2896,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",63, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 135: // standardStateBegin ::= STATE IDENT COLON AVSTANDARDSTATE_T 
+          case 139: // standardStateBegin ::= STATE IDENT COLON AVSTANDARDSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -2817,12 +2917,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardStateBegin",104, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardStateBegin",106, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 136: // stopState ::= stopStateBegin SEMICOLON 
+          case 140: // stopState ::= stopStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2831,12 +2931,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 137: // stopState ::= stopStateBegin EQUAL AVSTOPSTATE_T LPAR RPAR SEMICOLON 
+          case 141: // stopState ::= stopStateBegin EQUAL AVSTOPSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2845,12 +2945,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 138: // stopStateBegin ::= EXIT ACTION IDENT COLON AVSTOPSTATE_T 
+          case 142: // stopStateBegin ::= EXIT ACTION IDENT COLON AVSTOPSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -2864,12 +2964,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setType(AvatarFromSysMLSyntax.STXSTOPSTATE);
     theState.setLeft(zxright);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopStateBegin",105, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopStateBegin",107, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 139: // sendState ::= sendStateBegin SEMICOLON 
+          case 143: // sendState ::= sendStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2878,12 +2978,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 140: // sendState ::= sendStateBegin EQUAL AVSENDSTATE_T LPAR RPAR SEMICOLON 
+          case 144: // sendState ::= sendStateBegin EQUAL AVSENDSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2892,12 +2992,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 141: // sendState ::= sendStateBegin EQUAL AVSENDSTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 145: // sendState ::= sendStateBegin EQUAL AVSENDSTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2906,12 +3006,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 142: // sendStateBegin ::= STATE IDENT COLON AVSENDSTATE_T 
+          case 146: // sendStateBegin ::= STATE IDENT COLON AVSENDSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -2926,12 +3026,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendStateBegin",106, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendStateBegin",108, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 143: // receiveState ::= receiveStateBegin SEMICOLON 
+          case 147: // receiveState ::= receiveStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2940,12 +3040,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 144: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR RPAR SEMICOLON 
+          case 148: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2954,12 +3054,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 145: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 149: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -2968,12 +3068,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 146: // receiveStateBegin ::= STATE IDENT COLON AVRECEIVESTATE_T 
+          case 150: // receiveStateBegin ::= STATE IDENT COLON AVRECEIVESTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -2988,12 +3088,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveStateBegin",107, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveStateBegin",109, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 147: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction requestParam RPAR SEMICOLON 
+          case 151: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3002,12 +3102,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 148: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR requestParam randomAction RPAR SEMICOLON 
+          case 152: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR requestParam randomAction RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3016,12 +3116,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 149: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction RPAR SEMICOLON 
+          case 153: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3030,12 +3130,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 150: // randomStateBegin ::= STATE IDENT COLON AVRANDOMSTATE_T 
+          case 154: // randomStateBegin ::= STATE IDENT COLON AVRANDOMSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3050,12 +3150,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomStateBegin",108, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomStateBegin",110, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 151: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction RPAR SEMICOLON 
+          case 155: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3064,12 +3164,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 152: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR requestParam countAction RPAR SEMICOLON 
+          case 156: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR requestParam countAction RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3078,12 +3178,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 153: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction requestParam RPAR SEMICOLON 
+          case 157: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3092,12 +3192,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 154: // countStateBegin ::= STATE IDENT COLON AVCOUNTSTATE_T 
+          case 158: // countStateBegin ::= STATE IDENT COLON AVCOUNTSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3112,12 +3212,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countStateBegin",109, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countStateBegin",111, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 155: // presendState ::= presendStateBegin EQUAL AVPRESENDSTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 159: // presendState ::= presendStateBegin EQUAL AVPRESENDSTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3126,12 +3226,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("presendState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("presendState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 156: // presendStateBegin ::= STATE IDENT COLON AVPRESENDSTATE_T 
+          case 160: // presendStateBegin ::= STATE IDENT COLON AVPRESENDSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3146,12 +3246,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("presendStateBegin",110, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("presendStateBegin",112, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 157: // prereceiveState ::= prereceiveStateBegin EQUAL AVPRERECEIVESTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 161: // prereceiveState ::= prereceiveStateBegin EQUAL AVPRERECEIVESTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3160,12 +3260,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("prereceiveState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("prereceiveState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 158: // prereceiveStateBegin ::= STATE IDENT COLON AVPRERECEIVESTATE_T 
+          case 162: // prereceiveStateBegin ::= STATE IDENT COLON AVPRERECEIVESTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3180,12 +3280,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("prereceiveStateBegin",111, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("prereceiveStateBegin",113, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 159: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 163: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3194,12 +3294,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 160: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR RPAR SEMICOLON 
+          case 164: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3208,12 +3308,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 161: // setTimerState ::= setTimerStateBegin SEMICOLON 
+          case 165: // setTimerState ::= setTimerStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3222,12 +3322,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 162: // setTimerStateBegin ::= STATE IDENT COLON AVSETTIMERSTATE_T 
+          case 166: // setTimerStateBegin ::= STATE IDENT COLON AVSETTIMERSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3242,12 +3342,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerStateBegin",112, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerStateBegin",114, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 163: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 167: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3256,12 +3356,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 164: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR RPAR SEMICOLON 
+          case 168: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3270,12 +3370,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 165: // resetTimerState ::= resetTimerStateBegin SEMICOLON 
+          case 169: // resetTimerState ::= resetTimerStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3284,12 +3384,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 166: // resetTimerStateBegin ::= STATE IDENT COLON AVRESETTIMERSTATE_T 
+          case 170: // resetTimerStateBegin ::= STATE IDENT COLON AVRESETTIMERSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3304,12 +3404,12 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerStateBegin",113, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerStateBegin",115, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 167: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
+          case 171: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3318,12 +3418,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 168: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR RPAR SEMICOLON 
+          case 172: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR RPAR SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3332,12 +3432,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 169: // expireTimerState ::= expireTimerStateBegin SEMICOLON 
+          case 173: // expireTimerState ::= expireTimerStateBegin SEMICOLON 
             {
               Object RESULT =null;
 		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3346,12 +3446,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         theState.setRight(qxright);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 170: // expireTimerStateBegin ::= STATE IDENT COLON AVEXPIRETIMERSTATE_T 
+          case 174: // expireTimerStateBegin ::= STATE IDENT COLON AVEXPIRETIMERSTATE_T 
             {
               Object RESULT =null;
 		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3366,48 +3466,48 @@ class CUP$AvatarFromSysMLParser$actions {
     theState.setLeft(zxright);
     requestIndex = 1;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerStateBegin",114, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerStateBegin",116, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 171: // poolParam ::= POOL_F EQUAL requestList 
+          case 175: // poolParam ::= POOL_F EQUAL requestList 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("poolParam",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("poolParam",76, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 172: // requestParam ::= REQUEST_F EQUAL request 
+          case 176: // requestParam ::= REQUEST_F EQUAL request 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestParam",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestParam",77, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 173: // requestList ::= request 
+          case 177: // requestList ::= request 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",76, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 174: // requestList ::= request COMMA requestList 
+          case 178: // requestList ::= request COMMA requestList 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",76, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",78, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 175: // request ::= IF STRINGEXPR simpleRequest ELSE NOKREQUEST_U LPAR INT RPAR 
+          case 179: // request ::= IF STRINGEXPR simpleRequest ELSE NOKREQUEST_U LPAR INT RPAR 
             {
               Object RESULT =null;
 		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xleft;
@@ -3425,12 +3525,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setRright(qxright);
         requestIndex++;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",77, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",79, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 176: // request ::= simpleRequest 
+          case 180: // request ::= simpleRequest 
             {
               Object RESULT =null;
 		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3441,324 +3541,324 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setRleft(ixleft);
         theTransition.setRright(ixright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",77, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",79, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 177: // simpleRequest ::= trivialRequest 
+          case 181: // simpleRequest ::= trivialRequest 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 178: // simpleRequest ::= sendRequest 
+          case 182: // simpleRequest ::= sendRequest 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 179: // simpleRequest ::= receiveRequest 
+          case 183: // simpleRequest ::= receiveRequest 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 180: // simpleRequest ::= setTimerRequest 
+          case 184: // simpleRequest ::= setTimerRequest 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 181: // simpleRequest ::= resetTimerRequest 
+          case 185: // simpleRequest ::= resetTimerRequest 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 182: // simpleRequest ::= expireTimerRequest 
+          case 186: // simpleRequest ::= expireTimerRequest 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 183: // trivialRequest ::= IMMEDIATEREQUEST_U 
+          case 187: // trivialRequest ::= IMMEDIATEREQUEST_U 
             {
               Object RESULT =null;
 		
         getTransition(requestIndex);
         theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",79, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 184: // trivialRequest ::= trivialRequestBegin requestArgs RPAR 
+          case 188: // trivialRequest ::= trivialRequestBegin requestArgs RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",79, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",81, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 185: // trivialRequestBegin ::= TRIVIALREQUEST_T LPAR 
+          case 189: // trivialRequestBegin ::= TRIVIALREQUEST_T LPAR 
             {
               Object RESULT =null;
 		
     getTransition(requestIndex);
     theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequestBegin",97, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequestBegin",99, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 186: // sendRequest ::= sendRequestBegin requestArgs RPAR 
+          case 190: // sendRequest ::= sendRequestBegin requestArgs RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequest",82, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequest",84, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 187: // sendRequestBegin ::= SENDREQUEST_T LPAR 
+          case 191: // sendRequestBegin ::= SENDREQUEST_T LPAR 
             {
               Object RESULT =null;
 		
     getTransition(requestIndex);
     theTransition.setType(AvatarFromSysMLSyntax.STXSENDTRANSITION);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequestBegin",98, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequestBegin",100, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 188: // receiveRequest ::= receiveRequestBegin requestArgs RPAR 
+          case 192: // receiveRequest ::= receiveRequestBegin requestArgs RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequest",83, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequest",85, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 189: // receiveRequestBegin ::= RECEIVEREQUEST_T LPAR 
+          case 193: // receiveRequestBegin ::= RECEIVEREQUEST_T LPAR 
             {
               Object RESULT =null;
 		
     getTransition(requestIndex);
     theTransition.setType(AvatarFromSysMLSyntax.STXRECEIVETRANSITION);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequestBegin",99, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequestBegin",101, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 190: // setTimerRequest ::= setTimerRequestBegin requestArgs RPAR 
+          case 194: // setTimerRequest ::= setTimerRequestBegin requestArgs RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequest",84, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequest",86, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 191: // setTimerRequestBegin ::= SETTIMERREQUEST_T LPAR 
+          case 195: // setTimerRequestBegin ::= SETTIMERREQUEST_T LPAR 
             {
               Object RESULT =null;
 		
     getTransition(requestIndex);
     theTransition.setType(AvatarFromSysMLSyntax.STXSETTIMERTRANSITION);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequestBegin",100, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequestBegin",102, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 192: // resetTimerRequest ::= resetTimerRequestBegin requestArgs RPAR 
+          case 196: // resetTimerRequest ::= resetTimerRequestBegin requestArgs RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequest",85, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequest",87, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 193: // resetTimerRequestBegin ::= RESETTIMERREQUEST_T LPAR 
+          case 197: // resetTimerRequestBegin ::= RESETTIMERREQUEST_T LPAR 
             {
               Object RESULT =null;
 		
     getTransition(requestIndex);
     theTransition.setType(AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequestBegin",101, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequestBegin",103, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 194: // expireTimerRequest ::= expireTimerRequestBegin requestArgs RPAR 
+          case 198: // expireTimerRequest ::= expireTimerRequestBegin requestArgs RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequest",86, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequest",88, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 195: // expireTimerRequestBegin ::= EXPIRETIMERREQUEST_T LPAR 
+          case 199: // expireTimerRequestBegin ::= EXPIRETIMERREQUEST_T LPAR 
             {
               Object RESULT =null;
 		
     getTransition(requestIndex);
     theTransition.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequestBegin",102, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequestBegin",104, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 196: // requestArgs ::= requestArg 
+          case 200: // requestArgs ::= requestArg 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArgs",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArgs",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 197: // requestArgs ::= requestArg requestArgs 
+          case 201: // requestArgs ::= requestArg requestArgs 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArgs",80, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArgs",82, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 198: // requestArg ::= indexParam 
+          case 202: // requestArg ::= indexParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 199: // requestArg ::= delayParam 
+          case 203: // requestArg ::= delayParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 200: // requestArg ::= channelParam 
+          case 204: // requestArg ::= channelParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 201: // requestArg ::= payloadParam 
+          case 205: // requestArg ::= payloadParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 202: // requestArg ::= settimerParam 
+          case 206: // requestArg ::= settimerParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 203: // requestArg ::= resettimerParam 
+          case 207: // requestArg ::= resettimerParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 204: // requestArg ::= expiretimerParam 
+          case 208: // requestArg ::= expiretimerParam 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 205: // indexParam ::= INDEX_F EQUAL INT 
+          case 209: // indexParam ::= INDEX_F EQUAL INT 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("indexParam",87, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("indexParam",89, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 206: // delayParam ::= DELAY_F EQUAL delayExpr 
+          case 210: // delayParam ::= DELAY_F EQUAL delayExpr 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayParam",88, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayParam",90, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 207: // delayExpr ::= STRINGEXPR 
+          case 211: // delayExpr ::= STRINGEXPR 
             {
               Object RESULT =null;
 		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
 		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
 		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
 		 theTransition.setMinDelay(e); 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",89, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",91, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 208: // delayExpr ::= delayRandomExpr 
+          case 212: // delayExpr ::= delayRandomExpr 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",89, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",91, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 209: // delayRandomExpr ::= BOUNDRANDOM_U LPAR STRINGEXPR COMMA STRINGEXPR RPAR 
+          case 213: // delayRandomExpr ::= BOUNDRANDOM_U LPAR STRINGEXPR COMMA STRINGEXPR RPAR 
             {
               Object RESULT =null;
 		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3771,12 +3871,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setMinDelay(i);
         theTransition.setMaxDelay(a);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayRandomExpr",91, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayRandomExpr",93, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 210: // payloadParam ::= payloadParamBegin IDENT LPAR stringExprList RPAR 
+          case 214: // payloadParam ::= payloadParamBegin IDENT LPAR stringExprList RPAR 
             {
               Object RESULT =null;
 		
@@ -3784,39 +3884,39 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setSendPayload(argList);
         argList = null;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",92, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",94, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 211: // payloadParam ::= payloadParamBegin IDENT LPAR RPAR 
+          case 215: // payloadParam ::= payloadParamBegin IDENT LPAR RPAR 
             {
               Object RESULT =null;
 		 lexer.setPayloadParam(false); 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",92, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",94, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 212: // payloadParam ::= payloadParamBegin IDENT 
+          case 216: // payloadParam ::= payloadParamBegin IDENT 
             {
               Object RESULT =null;
 		 lexer.setPayloadParam(false); 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",92, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",94, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 213: // payloadParamBegin ::= PAYLOAD_F EQUAL 
+          case 217: // payloadParamBegin ::= PAYLOAD_F EQUAL 
             {
               Object RESULT =null;
 		 lexer.setPayloadParam(true); argList= new ArrayList<String>(); 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParamBegin",116, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParamBegin",118, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 214: // channelParam ::= CHANNEL_F EQUAL IDENT 
+          case 218: // channelParam ::= CHANNEL_F EQUAL IDENT 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3826,12 +3926,12 @@ class CUP$AvatarFromSysMLParser$actions {
     getSignal(theBlock.name,id.getAvatarName());
     theTransition.setSignal(theSignal);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("channelParam",93, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("channelParam",95, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 215: // settimerParam ::= CHANNEL_F EQUAL IDENT POINT SET_TM 
+          case 219: // settimerParam ::= CHANNEL_F EQUAL IDENT POINT SET_TM 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
@@ -3840,12 +3940,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
     theTransition.setTimer(id.getAvatarName());
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("settimerParam",94, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("settimerParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 216: // resettimerParam ::= CHANNEL_F EQUAL IDENT POINT RESET_TM 
+          case 220: // resettimerParam ::= CHANNEL_F EQUAL IDENT POINT RESET_TM 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
@@ -3854,12 +3954,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
     theTransition.setTimer(id.getAvatarName());
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resettimerParam",95, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resettimerParam",97, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 217: // expiretimerParam ::= CHANNEL_F EQUAL IDENT POINT EXPIRE_TM 
+          case 221: // expiretimerParam ::= CHANNEL_F EQUAL IDENT POINT EXPIRE_TM 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
@@ -3868,76 +3968,76 @@ class CUP$AvatarFromSysMLParser$actions {
 		
     theTransition.setTimer(id.getAvatarName());
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expiretimerParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expiretimerParam",98, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 218: // stringExprList ::= STRINGEXPR 
+          case 222: // stringExprList ::= STRINGEXPR 
             {
               Object RESULT =null;
 		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
 		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
 		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
 		 argList.add(e); 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stringExprList",126, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stringExprList",128, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 219: // stringExprList ::= STRINGEXPR COMMA stringExprList 
+          case 223: // stringExprList ::= STRINGEXPR COMMA stringExprList 
             {
               Object RESULT =null;
 		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
 		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
 		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
 		 argList.add(e); 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stringExprList",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stringExprList",128, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 220: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA randomParam RPAR 
+          case 224: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA randomParam RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomAction",117, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomAction",119, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 221: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR randomParam COMMA targetParam RPAR 
+          case 225: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR randomParam COMMA targetParam RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomAction",117, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomAction",119, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 222: // targetParam ::= target EQUAL fullIdent 
+          case 226: // targetParam ::= target EQUAL fullIdent 
             {
               Object RESULT =null;
 		
     theState.setVariable(stringAcc.toString());
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("targetParam",118, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("targetParam",120, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 223: // target ::= TARGET_F 
+          case 227: // target ::= TARGET_F 
             {
               Object RESULT =null;
 		
     stringAcc = new StringBuffer();
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("target",132, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("target",134, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 224: // fullIdent ::= IDENT 
+          case 228: // fullIdent ::= IDENT 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -3946,12 +4046,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         stringAcc.append(id.getAvatarName());
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fullIdent",133, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fullIdent",135, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 225: // fullIdent ::= IDENT POINT fullIdent 
+          case 229: // fullIdent ::= IDENT POINT fullIdent 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
@@ -3960,21 +4060,21 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         stringAcc.append(id.getAvatarName() + "__");
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fullIdent",133, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fullIdent",135, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 226: // randomParam ::= VALUE_F EQUAL actionRandomExpr 
+          case 230: // randomParam ::= VALUE_F EQUAL actionRandomExpr 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomParam",119, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomParam",121, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 227: // actionRandomExpr ::= BOUNDRANDOM_U LPAR STRINGEXPR COMMA STRINGEXPR RPAR 
+          case 231: // actionRandomExpr ::= BOUNDRANDOM_U LPAR STRINGEXPR COMMA STRINGEXPR RPAR 
             {
               Object RESULT =null;
 		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -3987,30 +4087,30 @@ class CUP$AvatarFromSysMLParser$actions {
         theState.setMinValue(i);
         theState.setMaxValue(a);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionRandomExpr",90, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionRandomExpr",92, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 228: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA countParam RPAR 
+          case 232: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA countParam RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countAction",120, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countAction",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 229: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR countParam COMMA targetParam RPAR 
+          case 233: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR countParam COMMA targetParam RPAR 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countAction",120, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countAction",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 230: // countParam ::= VALUE_F EQUAL IDENT POINT AMOUNT_U LPAR RPAR 
+          case 234: // countParam ::= VALUE_F EQUAL IDENT POINT AMOUNT_U LPAR RPAR 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -4020,12 +4120,12 @@ class CUP$AvatarFromSysMLParser$actions {
     getSignal(theBlock.getName(),id.getAvatarName());
     theState.setSignal(theSignal);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countParam",121, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countParam",123, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 231: // transition ::= transitionBegin THEN IDENT SEMICOLON 
+          case 235: // transition ::= transitionBegin THEN IDENT SEMICOLON 
             {
               Object RESULT =null;
 		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
@@ -4043,12 +4143,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setLeft(txleft);
         theTransition.setRight(qxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 232: // transition ::= transitionBegin doActions THEN IDENT SEMICOLON 
+          case 236: // transition ::= transitionBegin doActions THEN IDENT SEMICOLON 
             {
               Object RESULT =null;
 		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -4066,12 +4166,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setLeft(txleft);
         theTransition.setRight(qxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 233: // transition ::= transitionBegin THEN IDENT transitionLabels RBRAC 
+          case 237: // transition ::= transitionBegin THEN IDENT transitionLabels RBRAC 
             {
               Object RESULT =null;
 		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -4091,12 +4191,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setLeft(txleft);
         theTransition.setRight(qxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 234: // transition ::= transitionBegin doActions THEN IDENT transitionLabels RBRAC 
+          case 238: // transition ::= transitionBegin doActions THEN IDENT transitionLabels RBRAC 
             {
               Object RESULT =null;
 		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
@@ -4116,12 +4216,12 @@ class CUP$AvatarFromSysMLParser$actions {
         theTransition.setLeft(txleft);
         theTransition.setRight(qxright);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 235: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT 
+          case 239: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT 
             {
               Object RESULT =null;
 		Location stxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -4131,12 +4231,12 @@ class CUP$AvatarFromSysMLParser$actions {
         getState(st.getAvatarName());
         getTransition(1);
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionBegin",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionBegin",129, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 236: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT IF INDEX_F EQ INT 
+          case 240: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT IF INDEX_F EQ INT 
             {
               Object RESULT =null;
 		Location stxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -4149,112 +4249,112 @@ class CUP$AvatarFromSysMLParser$actions {
        getState(st.getAvatarName());
        getTransition(i);
      
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionBegin",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionBegin",129, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 237: // doActions ::= transitionActionBegin LBRAC RBRAC 
+          case 241: // doActions ::= transitionActionBegin LBRAC RBRAC 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",123, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 238: // doActions ::= transitionActionBegin LBRAC transitionAction RBRAC 
+          case 242: // doActions ::= transitionActionBegin LBRAC transitionAction RBRAC 
             {
               Object RESULT =null;
 		
             theTransition.setActions(actionList);
             actionList = null;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",123, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 239: // doActions ::= receiveActionBegin LBRAC RBRAC 
+          case 243: // doActions ::= receiveActionBegin LBRAC RBRAC 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",123, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 240: // doActions ::= receiveActionBegin LBRAC receiveAction RBRAC 
+          case 244: // doActions ::= receiveActionBegin LBRAC receiveAction RBRAC 
             {
               Object RESULT =null;
 		
             theTransition.setReceivePayload(receiveMap);
             receiveMap = null;
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",123, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 241: // transitionActionBegin ::= DO ACTION COLON TRANSITIONACTION_T 
+          case 245: // transitionActionBegin ::= DO ACTION COLON TRANSITIONACTION_T 
             {
               Object RESULT =null;
 		
      actionList = new ArrayList<StxAction>();
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionActionBegin",134, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionActionBegin",136, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 242: // receiveActionBegin ::= DO ACTION COLON RECEIVEACTION_T 
+          case 246: // receiveActionBegin ::= DO ACTION COLON RECEIVEACTION_T 
             {
               Object RESULT =null;
 		
      receiveMap = new HashMap<String,String>();
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveActionBegin",135, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveActionBegin",137, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 243: // transitionAction ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON 
+          case 247: // transitionAction ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionAction",129, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionAction",131, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 244: // transitionAction ::= FIRST START_U SEMICOLON actionSeq 
+          case 248: // transitionAction ::= FIRST START_U SEMICOLON actionSeq 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionAction",129, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionAction",131, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 245: // actionSeq ::= THEN act SEMICOLON THEN DONE_U SEMICOLON 
+          case 249: // actionSeq ::= THEN act SEMICOLON THEN DONE_U SEMICOLON 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionSeq",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionSeq",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 246: // actionSeq ::= THEN act SEMICOLON actionSeq 
+          case 250: // actionSeq ::= THEN act SEMICOLON actionSeq 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionSeq",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionSeq",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 247: // act ::= assign fullIdent GETS STRINGEXPR SEMICOLON 
+          case 251: // act ::= assign fullIdent GETS STRINGEXPR SEMICOLON 
             {
               Object RESULT =null;
 		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -4269,12 +4369,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         actionList.add(new StxAction(axleft, qxright, stringAcc.toString(),e));
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("act",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("act",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 248: // act ::= ACTION STRINGEXPR SEMICOLON 
+          case 252: // act ::= ACTION STRINGEXPR SEMICOLON 
             {
               Object RESULT =null;
 		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
@@ -4289,87 +4389,87 @@ class CUP$AvatarFromSysMLParser$actions {
 		
         actionList.add(new StxAction(axleft, qxright, e));
       
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("act",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("act",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 249: // assign ::= ASSIGN 
+          case 253: // assign ::= ASSIGN 
             {
               Object RESULT =null;
 		
     lexer.setGetStringValue(true);
     stringAcc = new StringBuffer();
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("assign",131, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("assign",133, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 250: // receiveAction ::= messageLine receiveAssigns 
+          case 254: // receiveAction ::= messageLine receiveAssigns 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAction",130, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAction",132, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 251: // receiveAction ::= receiveAssigns messageLine 
+          case 255: // receiveAction ::= receiveAssigns messageLine 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAction",130, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAction",132, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 252: // messageLine ::= ITEM MSG_U COLON IDENT EQUAL PAYLOAD_F AS IDENT SEMICOLON 
+          case 256: // messageLine ::= ITEM MSG_U COLON IDENT EQUAL PAYLOAD_F AS IDENT SEMICOLON 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageLine",136, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageLine",138, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 253: // receiveAssigns ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON 
+          case 257: // receiveAssigns ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssigns",137, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssigns",139, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 254: // receiveAssigns ::= FIRST START_U SEMICOLON receiveAssignSeq 
+          case 258: // receiveAssigns ::= FIRST START_U SEMICOLON receiveAssignSeq 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssigns",137, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssigns",139, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 255: // receiveAssignSeq ::= receiveAssign THEN DONE_U SEMICOLON 
+          case 259: // receiveAssignSeq ::= receiveAssign THEN DONE_U SEMICOLON 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssignSeq",138, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssignSeq",140, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 256: // receiveAssignSeq ::= receiveAssign actionSeq 
+          case 260: // receiveAssignSeq ::= receiveAssign actionSeq 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssignSeq",138, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssignSeq",140, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 257: // receiveAssign ::= THEN assign fullIdent GETS MSG_U POINT IDENT SEMICOLON 
+          case 261: // receiveAssign ::= THEN assign fullIdent GETS MSG_U POINT IDENT SEMICOLON 
             {
               Object RESULT =null;
 		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
@@ -4378,57 +4478,57 @@ class CUP$AvatarFromSysMLParser$actions {
 		
     receiveMap.put(id.getAvatarName(),stringAcc.toString());
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssign",139, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssign",141, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 258: // transitionLabels ::= transitionLabel 
+          case 262: // transitionLabels ::= transitionLabel 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabels",128, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabels",130, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 259: // transitionLabels ::= transitionLabel transitionLabels 
+          case 263: // transitionLabels ::= transitionLabel transitionLabels 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabels",128, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabels",130, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 260: // transitionLabel ::= distributionLabel 
+          case 264: // transitionLabel ::= distributionLabel 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",140, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",142, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 261: // transitionLabel ::= weightLabel 
+          case 265: // transitionLabel ::= weightLabel 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",140, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",142, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 262: // transitionLabel ::= extraLabel 
+          case 266: // transitionLabel ::= extraLabel 
             {
               Object RESULT =null;
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",140, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",142, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 263: // distributionLabel ::= ATTRIBUTE DISTRIBUTION_A COLON STRING_T EQUAL STRING 
+          case 267: // distributionLabel ::= ATTRIBUTE DISTRIBUTION_A COLON STRING_T EQUAL STRING 
             {
               Object RESULT =null;
 		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -4437,12 +4537,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
     theTransition.setDelayDistributionLaw(s);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("distributionLabel",141, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("distributionLabel",143, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 264: // weightLabel ::= ATTRIBUTE WEIGHT_A COLON STRING_T EQUAL REAL 
+          case 268: // weightLabel ::= ATTRIBUTE WEIGHT_A COLON STRING_T EQUAL REAL 
             {
               Object RESULT =null;
 		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
@@ -4451,12 +4551,12 @@ class CUP$AvatarFromSysMLParser$actions {
 		
     theTransition.setProbability(r);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("weightLabel",142, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("weightLabel",144, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
           /*. . . . . . . . . . . . . . . . . . . .*/
-          case 265: // extraLabel ::= ATTRIBUTE ANYNAME COLON STRING_T EQUAL STRING 
+          case 269: // extraLabel ::= ATTRIBUTE ANYNAME COLON STRING_T EQUAL STRING 
             {
               Object RESULT =null;
 		Location nxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
@@ -4470,7 +4570,7 @@ class CUP$AvatarFromSysMLParser$actions {
         delayExtraMap = new HashMap<String,String>();
     delayExtraMap.put(n,s);
 
-              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("extraLabel",143, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
+              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("extraLabel",145, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
             }
           return CUP$AvatarFromSysMLParser$result;
 
diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java
index 660bee1ba9..523766fa8b 100644
--- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java
+++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java
@@ -448,149 +448,151 @@ public class AvatarFromSysMLSymbols {
   };
 
   /* non terminals */
-  static final int receiveRequestBegin = 99;
+  static final int receiveRequestBegin = 101;
   static final int privateParam = 20;
-  static final int startStateBegin = 103;
-  static final int receiveAssign = 139;
+  static final int startStateBegin = 105;
+  static final int receiveAssign = 141;
   static final int specializes = 4;
-  static final int calcMethodDeclBegin = 60;
-  static final int receiveStateBegin = 107;
+  static final int calcMethodDeclBegin = 61;
+  static final int receiveStateBegin = 109;
   static final int messageChannel = 38;
-  static final int transitionActionBegin = 134;
+  static final int transitionActionBegin = 136;
   static final int block2Param = 19;
-  static final int standardState = 63;
+  static final int standardState = 65;
   static final int featureList = 2;
-  static final int presendState = 69;
+  static final int presendState = 71;
   static final int inSignalBinding = 32;
   static final int blockAlias = 6;
   static final int blockChain = 7;
-  static final int receiveAction = 130;
+  static final int receiveAction = 132;
   static final int typeIdent = 0;
-  static final int actionRandomExpr = 90;
-  static final int prereceiveStateBegin = 111;
+  static final int actionRandomExpr = 92;
+  static final int prereceiveStateBegin = 113;
   static final int relParam = 17;
-  static final int calcMethodDecl = 51;
+  static final int calcMethodDecl = 52;
   static final int bfChDecl = 30;
-  static final int stopStateBegin = 105;
+  static final int stopStateBegin = 107;
   static final int signalBinding = 31;
-  static final int receiveAssignSeq = 138;
+  static final int receiveAssignSeq = 140;
   static final int fieldDecl = 11;
-  static final int setTimerState = 71;
-  static final int stateMachineItem = 58;
-  static final int trivialRequestBegin = 97;
-  static final int weightLabel = 142;
-  static final int messageLine = 136;
-  static final int randomParam = 119;
-  static final int indexParam = 87;
-  static final int fullIdent = 133;
+  static final int setTimerState = 73;
+  static final int stateMachineItem = 59;
+  static final int trivialRequestBegin = 99;
+  static final int weightLabel = 144;
+  static final int messageLine = 138;
+  static final int randomParam = 121;
+  static final int indexParam = 89;
+  static final int fullIdent = 135;
   static final int blockDecl = 43;
   static final int outSignalBinding = 33;
   static final int nbfRelDecl = 14;
   static final int syncRelDecl = 13;
-  static final int presendStateBegin = 110;
-  static final int countState = 68;
+  static final int presendStateBegin = 112;
+  static final int countState = 70;
   static final int outMessageDecl = 36;
-  static final int act = 125;
-  static final int sendStateBegin = 106;
+  static final int act = 127;
+  static final int sendStateBegin = 108;
   static final int attributeDecl = 47;
   static final int fieldDecls = 10;
   static final int maxsizeParam = 21;
-  static final int doActions = 123;
-  static final int voidMethodDeclBegin = 59;
-  static final int randomStateBegin = 108;
+  static final int doActions = 125;
+  static final int voidMethodDeclBegin = 60;
+  static final int randomStateBegin = 110;
   static final int lossyParam = 22;
-  static final int target = 132;
-  static final int sendRequestBegin = 98;
+  static final int target = 134;
+  static final int sendRequestBegin = 100;
   static final int bfRelDecl = 15;
-  static final int requestParam = 75;
-  static final int payloadParam = 92;
-  static final int startState = 62;
-  static final int assign = 131;
-  static final int simpleRequest = 78;
+  static final int requestParam = 77;
+  static final int payloadParam = 94;
+  static final int startState = 64;
+  static final int assign = 133;
+  static final int simpleRequest = 80;
   static final int messageDecl = 34;
   static final int datatypeDeclHEADER = 9;
-  static final int stopState = 64;
-  static final int randomAction = 117;
-  static final int calcMethodItem = 53;
-  static final int voidMethodDecl = 50;
-  static final int receiveState = 66;
+  static final int stopState = 66;
+  static final int randomAction = 119;
+  static final int calcMethodItem = 54;
+  static final int voidMethodDecl = 51;
+  static final int receiveState = 68;
   static final int feature = 3;
   static final int bfRelDeclBegin = 26;
-  static final int poolParam = 74;
+  static final int poolParam = 76;
   static final int inMessageDeclBegin = 41;
-  static final int sendRequest = 82;
+  static final int sendRequest = 84;
   static final int nbfRelDeclBegin = 25;
-  static final int expireTimerRequestBegin = 102;
-  static final int calcMethodItems = 52;
+  static final int expireTimerRequestBegin = 104;
+  static final int calcMethodItems = 53;
   static final int typIdent = 23;
-  static final int setTimerRequest = 84;
+  static final int setTimerRequest = 86;
   static final int redefineField = 40;
   static final int blockDeclBegin = 44;
+  static final int constantDeclHEADER = 62;
   static final int blockDeclBODY = 45;
-  static final int trivialRequest = 79;
-  static final int countAction = 120;
-  static final int expireTimerStateBegin = 114;
+  static final int trivialRequest = 81;
+  static final int countAction = 122;
+  static final int expireTimerStateBegin = 116;
   static final int relationDecl = 12;
   static final int inMessageDecl = 35;
   static final int blockItem = 46;
   static final int outMessageDeclBegin = 42;
-  static final int transitionLabels = 128;
-  static final int delayParam = 88;
+  static final int transitionLabels = 130;
+  static final int delayParam = 90;
   static final int relParams = 16;
-  static final int targetParam = 118;
-  static final int actionSeq = 124;
-  static final int resetTimerRequest = 85;
+  static final int targetParam = 120;
+  static final int actionSeq = 126;
+  static final int resetTimerRequest = 87;
   static final int syncRelDeclBegin = 24;
-  static final int expireTimerRequest = 86;
-  static final int receiveActionBegin = 135;
-  static final int randomState = 67;
-  static final int expiretimerParam = 96;
-  static final int extraLabel = 143;
-  static final int state = 61;
-  static final int distributionLabel = 141;
-  static final int stateMachine = 56;
-  static final int resetTimerStateBegin = 113;
-  static final int requestArg = 81;
+  static final int expireTimerRequest = 88;
+  static final int receiveActionBegin = 137;
+  static final int randomState = 69;
+  static final int expiretimerParam = 98;
+  static final int constantDecl = 48;
+  static final int extraLabel = 145;
+  static final int distributionLabel = 143;
+  static final int state = 63;
+  static final int stateMachine = 57;
+  static final int resetTimerStateBegin = 115;
+  static final int requestArg = 83;
   static final int syncChDecl = 28;
-  static final int signalDecl = 54;
+  static final int signalDecl = 55;
   static final int inMessageDeclBODY = 37;
   static final int subsets = 5;
-  static final int standardStateBegin = 104;
-  static final int delayRandomExpr = 91;
-  static final int methodDecl = 49;
-  static final int resettimerParam = 95;
+  static final int standardStateBegin = 106;
+  static final int delayRandomExpr = 93;
+  static final int methodDecl = 50;
+  static final int resettimerParam = 97;
   static final int outMessageDeclBODY = 39;
-  static final int payloadParamBegin = 116;
-  static final int receiveRequest = 83;
+  static final int payloadParamBegin = 118;
+  static final int receiveRequest = 85;
   static final int channelDecl = 27;
-  static final int transition = 122;
-  static final int stringExprList = 126;
-  static final int resetTimerRequestBegin = 101;
-  static final int channelParam = 93;
-  static final int transitionBegin = 127;
-  static final int timerDecl = 55;
-  static final int transitionAction = 129;
-  static final int sendState = 65;
+  static final int transition = 124;
+  static final int stringExprList = 128;
+  static final int resetTimerRequestBegin = 103;
+  static final int channelParam = 95;
+  static final int transitionBegin = 129;
+  static final int timerDecl = 56;
+  static final int transitionAction = 131;
+  static final int sendState = 67;
   static final int block1Param = 18;
   static final int datatypeDecl = 8;
-  static final int countParam = 121;
-  static final int expireTimerState = 73;
-  static final int prereceiveState = 70;
-  static final int requestList = 76;
-  static final int settimerParam = 94;
-  static final int setTimerRequestBegin = 100;
-  static final int requestArgs = 80;
-  static final int stateMachineItems = 57;
-  static final int request = 77;
-  static final int setTimerStateBegin = 112;
-  static final int delayExpr = 89;
-  static final int attributeDeclHEADER = 48;
-  static final int resetTimerState = 72;
+  static final int countParam = 123;
+  static final int expireTimerState = 75;
+  static final int prereceiveState = 72;
+  static final int requestList = 78;
+  static final int settimerParam = 96;
+  static final int setTimerRequestBegin = 102;
+  static final int requestArgs = 82;
+  static final int stateMachineItems = 58;
+  static final int request = 79;
+  static final int setTimerStateBegin = 114;
+  static final int delayExpr = 91;
+  static final int attributeDeclHEADER = 49;
+  static final int resetTimerState = 74;
   static final int model = 1;
   static final int nbfChDecl = 29;
-  static final int receiveAssigns = 137;
-  static final int stateMachineBegin = 115;
-  static final int transitionLabel = 140;
-  static final int countStateBegin = 109;
+  static final int receiveAssigns = 139;
+  static final int stateMachineBegin = 117;
+  static final int transitionLabel = 142;
+  static final int countStateBegin = 111;
 }
 
diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java
index 338e7649de..95145e6108 100644
--- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java
+++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java
@@ -2,6 +2,9 @@ package avatartranslator.tosysmlv2;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
+import java.util.function.BiConsumer;
+
 import java_cup.runtime.ComplexSymbolFactory.Location;
 
 public class AvatarFromSysMLSyntax {
@@ -149,19 +152,19 @@ public class AvatarFromSysMLSyntax {
     }
     public static class StxStructure extends StxElement {
         private String name;
-        private ArrayList<String> fieldNames;
-        private ArrayList<String> fieldTypes;
+        protected MyArray<String> fieldNames;
+        protected MyArray<String> fieldTypes;
         public StxStructure(Location _left, Location _right, String _name) {
             super(_left, _right);
             name = _name;
-            fieldNames = new ArrayList<String>();
-            fieldTypes = new ArrayList<String>();
+            fieldNames = new MyArray<String>();
+            fieldTypes = new MyArray<String>();
         }
         public StxStructure(String _name) {
             super();
             name = _name;
-            fieldNames = new ArrayList<String>();
-            fieldTypes = new ArrayList<String>();
+            fieldNames = new MyArray<String>();
+            fieldTypes = new MyArray<String>();
         }
         public boolean addField(String fieldName, String fieldType){
             boolean result = true;
@@ -271,6 +274,7 @@ public class AvatarFromSysMLSyntax {
         String name;
         StxBlock father = null;
         ArrayList<StxAttribute> attributes;
+        ArrayList<StxAttribute> constants;
         ArrayList<StxMethod> methods;
         ArrayList<StxSignal> signals;
         ArrayList<StxTimer> timers;
@@ -302,6 +306,12 @@ public class AvatarFromSysMLSyntax {
             if (result) attributes.add(a);
             return result;
         }
+        public boolean addConstant(StxAttribute a){
+            boolean result = true;
+            for (StxAttribute att : constants) result &= (! att.getName().equals(a.getName()));
+            if (result) constants.add(a);
+            return result;
+        }
         public boolean addMethod(StxMethod m){
             boolean result = true;
             for (StxMethod mth : methods) result &= (! mth.getName().equals(m.getName()));
@@ -323,10 +333,12 @@ public class AvatarFromSysMLSyntax {
         public String getName() { return name; }
         public StxBlock getFather() { return father; }
         public int getNbAttributes() { return attributes.size(); }
+        public int getNbConstants() { return constants.size(); }
         public int getNbMethods() { return methods.size(); }
         public int getNbSignals() { return signals.size(); }
         public int getNbTimerss() { return timers.size(); }
         public StxAttribute getAttribute(int i) { return attributes.get(i); }
+        public StxAttribute getConstant(int i) { return constants.get(i); }
         public StxMethod getMethod(int i) { return methods.get(i); }
         public StxSignal getSignal(int i) { return signals.get(i); }
         public StxTimer getTimers(int i) { return timers.get(i); }
@@ -397,14 +409,14 @@ public class AvatarFromSysMLSyntax {
         public String getName() { return name; }
     }
     public static class StxInMessage extends StxStructure {
-        private StxChannel channel;
-        public StxInMessage(Location _left, Location _right, String _name) { super(_left, _right, _name ); }
-        public StxInMessage(String _name) { super(_name); }
-        public void setChannel(StxChannel _c) { channel = _c; }
-        public StxChannel getChannel() { return channel; }
+        protected StxChannel channel;
+        public StxInMessage(Location _left, Location _right) { super(_left, _right, null ); }
+        public StxInMessage() { super(null); }
+        public void setChannel(StxChannel c) {channel = c; }
+        public int indexOf(String s) { return fieldNames.indexOf(s); }
     }
-    public static class StxOutMessage extends StxElement {
-        private StxInMessage inMessage;
+    public static class StxOutMessage extends StxInMessage {
+        public StxInMessage inMessage;
         private HashMap<String,String> fieldMap;
         public StxOutMessage(Location _left, Location _right, StxInMessage _inMessage) {
             super(_left, _right);
@@ -416,7 +428,7 @@ public class AvatarFromSysMLSyntax {
             inMessage = _inMessage;
             fieldMap = new HashMap<String,String>();
         }
-        public boolean addField(String fieldName, String inFieldName){
+        public boolean addFieldLink(String fieldName, String inFieldName){
             String test = fieldMap.get(inFieldName);
             if (test == null) {
                 fieldMap.put(fieldName, inFieldName);
@@ -424,8 +436,18 @@ public class AvatarFromSysMLSyntax {
             }
             return false;
         }
-        public StxInMessage getInMessage() { return inMessage; }
-        public HashMap<String,String> getFieldMap() { return fieldMap; }
+        private class Complete implements BiConsumer<String, String> {
+            public Complete(){};
+            public void accept(String o, String i) {
+                int index = inMessage.fieldNames.indexOf(i);
+                fieldNames.set(index,o);
+                fieldTypes.set(index, inMessage.fieldTypes.get(index));
+            }
+        }
+        public void complete() {
+            fieldMap.forEach(new Complete());
+            inMessage.channel.setOutProfile(this);
+        }
     }
     public static class StxState extends StxElement {
         private byte type;
@@ -570,25 +592,25 @@ public class AvatarFromSysMLSyntax {
         private HashMap<String,StxChannel> channelMap;
         private HashMap<String,StxBlock> blockMap;
         private HashMap<String,StxSignal> signalMap;
-        private HashMap<String,StxInMessage> inMessageMap;
-        private HashMap<String,StxOutMessage> outMessageMap;
         public StxModel(
                 ArrayList<String> _errors,
                 HashMap<String,StxDataType> _dataTypeMap,
                 HashMap<String,StxRelation> _relationMap,
                 HashMap<String,StxChannel> _channelMap,
                 HashMap<String,StxBlock> _blockMap,
-                HashMap<String,StxSignal> _signalMap,
-                HashMap<String,StxInMessage> _inMessageMap,
-                HashMap<String,StxOutMessage> _outMessageMap) {
+                HashMap<String,StxSignal> _signalMap) {
             errors = _errors;
             dataTypeMap = _dataTypeMap;
             relationMap = _relationMap;
             channelMap = _channelMap;
             blockMap = _blockMap;
             signalMap = _signalMap;
-            inMessageMap = _inMessageMap;
-            outMessageMap = _outMessageMap;
         }
+        public ArrayList<String> getErrors() { return errors; }
+        public HashMap<String,StxDataType> getDataTypeMap() { return dataTypeMap; }
+        public HashMap<String,StxRelation> getRelationMap() { return relationMap; }
+        public HashMap<String,StxChannel> getChannelMap() { return channelMap; }
+        public HashMap<String,StxBlock> getBlockMap() { return blockMap; }
+        public HashMap<String,StxSignal> getSignalMap() { return signalMap; }
     }
 }
diff --git a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup
index 2c098f2014..8b936a05bf 100644
--- a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup
+++ b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup
@@ -4,14 +4,25 @@ import java_cup.runtime.*;
 import java.util.ArrayList;
 import java.util.HashMap;
 import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*;
+import java.util.function.BiConsumer;
 
 
 parser code {:
+    LexerClassName lexer = (LexerClassName) getScanner();
+
     public StxModel parseModel() {
-        try { return (StxModel) parse().value; }
+        try {
+            StxModel model = (StxModel) parse().value;
+            outMessageMap.forEach(new Complete());
+            return model;
+        }
         catch (java.lang.Exception e) { return null; }
     }
-    LexerClassName lexer = (LexerClassName) getScanner();
+    private class Complete implements BiConsumer<String, StxOutMessage> {
+        public Complete(){};
+        public void accept(String s, StxOutMessage o) { o.complete(); }
+    }
+
     private StringBuffer stringAcc = new StringBuffer();
     private ArrayList<String> errors;
     private void addError(String _err) { errors.add(_err); }
@@ -70,7 +81,7 @@ parser code {:
     private void getInMessage(String _name) {
         theStructure = inMessageMap.get(_name);
         if (theStructure == null) {
-            theStructure = new StxInMessage(_name);
+            theStructure = new StxInMessage();
             inMessageMap.put(_name, (StxInMessage)theStructure);
         }
     }
@@ -93,6 +104,9 @@ parser code {:
     private void getAttribute(String _name, String _type) {
         theAttribute = new StxAttribute(_name, _type);
     }
+    private void getConstant(String _name, String _type) {
+        theAttribute = new StxAttribute(_name, _type);
+    }
     private void getMethod(String _name) {
         theStructure = new StxMethod(_name);
     }
@@ -178,9 +192,9 @@ non terminal channelDecl, syncChDecl , nbfChDecl, bfChDecl, signalBinding, inSig
     messageDecl, inMessageDecl, outMessageDecl, inMessageDeclBODY, messageChannel, outMessageDeclBODY,
     redefineField, inMessageDeclBegin, outMessageDeclBegin;
 
-non terminal blockDecl, blockDeclBegin, blockDeclBODY, blockItem, attributeDecl, attributeDeclHEADER, methodDecl, voidMethodDecl,
+non terminal blockDecl, blockDeclBegin, blockDeclBODY, blockItem, attributeDecl, constantDecl, attributeDeclHEADER, methodDecl, voidMethodDecl,
     calcMethodDecl, calcMethodItems, calcMethodItem, signalDecl, timerDecl, stateMachine, stateMachineItems, stateMachineItem,
-    voidMethodDeclBegin, calcMethodDeclBegin;
+    voidMethodDeclBegin, calcMethodDeclBegin, constantDeclHEADER;
 
 non terminal state, startState, standardState, stopState, sendState, receiveState, randomState, countState, presendState,
     prereceiveState, setTimerState, resetTimerState, expireTimerState, poolParam, requestParam, requestList, request,
@@ -203,11 +217,11 @@ non terminal randomAction, targetParam, randomParam, countAction, countParam, tr
 model ::=
       PACKAGE IDENT LBRAC featureList RBRAC {:
         RESULT =
-        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap,inMessageMap,outMessageMap);
+        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap);
       :}
     | PACKAGE IDENT LBRAC  RBRAC {:
         RESULT =
-        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap,inMessageMap,outMessageMap);
+        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap);
       :}
 ;
 
@@ -434,10 +448,12 @@ inMessageDeclBODY ::=
 messageChannel ::=
       PRIVATE PART CHANNEL_F COLON CHANNEL_T EQUAL IDENT:ch SEMICOLON {:
         getChannel(ch.getAvatarName());
+        theChannel.setInProfile((StxInMessage)theStructure);
         ((StxInMessage)theStructure).setChannel(theChannel);
       :}
     | PRIVATE PART CHANNEL_F EQUAL IDENT:ch SEMICOLON {:
         getChannel(ch.getAvatarName());
+        theChannel.setInProfile((StxInMessage)theStructure);
         ((StxInMessage)theStructure).setChannel(theChannel);
       :}
 ;
@@ -470,7 +486,7 @@ outMessageDeclBODY ::=
 ;
 redefineField ::=
       ATTRIBUTE IDENT:o REDEFINES IDENT:i SEMICOLON {:
-        theOutMessage.addField(o.getAvatarName(), i.getAvatarName());
+        theOutMessage.addFieldLink(o.getAvatarName(), i.getAvatarName());
 :};
 
 // BLOCK DECLARATION $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
@@ -494,6 +510,7 @@ blockDeclBODY ::=
 ;
 blockItem ::=
       attributeDecl
+    | constantDecl
     | methodDecl
     | signalDecl
     | timerDecl
@@ -521,6 +538,26 @@ attributeDeclHEADER ::=
         lexer.setGetStringValue(true);
 :};
 
+// CONSTANT DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+constantDecl ::=
+      constantDeclHEADER SEMICOLON:q {:
+        lexer.setGetStringValue(false);
+        theAttribute.setRight(qxright);
+      :}
+    | constantDeclHEADER GETS STRINGEXPR:e SEMICOLON:q {:
+        lexer.setGetStringValue(false);
+        theAttribute.setInit(e);
+        theAttribute.setRight(qxright);
+    :}
+;
+constantDeclHEADER ::=
+    READONLY:r ATTRIBUTE IDENT:id COLON typIdent:tp {:
+        getConstant(id.getAvatarName(), (String) tp);
+        theBlock.addConstant(theAttribute);
+        theAttribute.setLeft(rxleft);
+        lexer.setGetStringValue(true);
+:};
+
 // METHOD DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 methodDecl ::= voidMethodDecl | calcMethodDecl;
 voidMethodDecl ::=
-- 
GitLab